From 51d25a430432266df1e42c0e8e05b7847789223e Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 31 Jul 2018 10:22:50 +0800 Subject: [PATCH 01/38] Add NUCLEO_F767ZI to boards.txt --- boards.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/boards.txt b/boards.txt index 192890bdbb..aee3a2e297 100644 --- a/boards.txt +++ b/boards.txt @@ -73,6 +73,18 @@ Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.product_line=STM32L496xx Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.variant=NUCLEO_L496ZG Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.cmsis_lib_gcc=arm_cortexM4l_math +# NUCLEO_F767ZI board +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P=Nucleo F767ZI +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.node=NODE_F767ZI +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.upload.maximum_size=2097152 +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.upload.maximum_data_size=524288 +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.mcu=cortex-m7 -mfpu=fpv4-sp-d16 -mfloat-abi=hard +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.board=NUCLEO_F767ZI +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.series=STM32F7xx +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.product_line=STM32F767xx +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.variant=NUCLEO_F767ZI +Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.cmsis_lib_gcc=arm_cortexM7l_math + # Upload menu Nucleo_144.menu.upload_method.MassStorage=Mass Storage Nucleo_144.menu.upload_method.MassStorage.upload.protocol= From 37540fc9248da1c0d9b1d622310b02fcde510f94 Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 31 Jul 2018 10:26:43 +0800 Subject: [PATCH 02/38] Copy DISCO_F746NG to NUCLEO_F767ZI --- variants/NUCLEO_F767ZI/PeripheralPins.c | 454 +++++++++++++++++++ variants/NUCLEO_F767ZI/PinNamesVar.h | 25 ++ variants/NUCLEO_F767ZI/ffconf.h | 247 +++++++++++ variants/NUCLEO_F767ZI/ldscript.ld | 184 ++++++++ variants/NUCLEO_F767ZI/sd_conf.h | 51 +++ variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h | 462 ++++++++++++++++++++ variants/NUCLEO_F767ZI/variant.cpp | 157 +++++++ variants/NUCLEO_F767ZI/variant.h | 119 +++++ 8 files changed, 1699 insertions(+) create mode 100644 variants/NUCLEO_F767ZI/PeripheralPins.c create mode 100644 variants/NUCLEO_F767ZI/PinNamesVar.h create mode 100644 variants/NUCLEO_F767ZI/ffconf.h create mode 100644 variants/NUCLEO_F767ZI/ldscript.ld create mode 100644 variants/NUCLEO_F767ZI/sd_conf.h create mode 100644 variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h create mode 100644 variants/NUCLEO_F767ZI/variant.cpp create mode 100644 variants/NUCLEO_F767ZI/variant.h diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c new file mode 100644 index 0000000000..35a4e3c8ae --- /dev/null +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -0,0 +1,454 @@ +/* + ******************************************************************************* + * Copyright (c) 2016, STMicroelectronics + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************* + */ +#include "Arduino.h" +#include "PeripheralPins.h" + +// ===== +// Note: Commented lines are alternative possibilities which are not used per default. +// If you change them, you will have to know what you do +// ===== + + +//*** ADC *** + +#ifdef HAL_ADC_MODULE_ENABLED +const PinMap PinMap_ADC[] = { +// {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 +// {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 + {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 - A0 +// {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 +// {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG,z GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 +// {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 +// {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 +// {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 +// {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 +// {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 +// {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 +// {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 +// {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 +// {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 +// {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 +// {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 +// {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 +// {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 +// {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 +// {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 +// {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 +// {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 +// {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 +// {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 +// {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 +// {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 +// {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 +// {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 +// {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 +// {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 +// {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 +// {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 +// {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 +// {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 +// {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 +// {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 +// {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 +// {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 +// {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 +// {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 +// {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9 +// {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14 +// {PF_5, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC3_IN15 + {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 - A5 + {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 - A4 + {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 - A3 + {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 - A2 + {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 - A1 + {NC, NP, 0} +}; +#endif + +//*** DAC *** + +#ifdef HAL_DAC_MODULE_ENABLED +const PinMap PinMap_DAC[] = { + {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 + {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 + {NC, NP, 0} +}; +#endif + +//*** I2C *** + +#ifdef HAL_I2C_MODULE_ENABLED +const PinMap PinMap_I2C_SDA[] = { +// {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D14 +// {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, +// {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, +// {PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, +// {PF_15, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PH_5, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, +// {PH_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, +// {PH_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_I2C_MODULE_ENABLED +const PinMap PinMap_I2C_SCL[] = { +// {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, +// {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D15 +// {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, +// {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, +// {PF_14, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PH_4, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, +// {PH_7, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, +// {PH_11, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {NC, NP, 0} +}; +#endif + +//*** PWM *** + +#ifdef HAL_TIM_MODULE_ENABLED +const PinMap PinMap_PWM[] = { + {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - A0 +// {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 - A0 +// {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 +// {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 +// {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 +// {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 +// {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 +// {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 +// {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 +// {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 +// {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 +// {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N +// {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 +// {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 +// {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 +// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N +// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 +// {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N + {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - D5 +// {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 +// {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 +// {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D9 +// {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N +// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 +// {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N +// {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N +// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 +// {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N +// {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D3 +// {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 +// {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 +// {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 +// {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - D15 + {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - D15 +// {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D14 + {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - D14 +// {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 +// {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 +// {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 - D12 +// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D12 +// {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - D12 + {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 - D11 +// {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D11 +// {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - D11 +// {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D1 + {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 - D1 +// {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D0 + {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - D0 +// {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 +// {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 +// {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 +// {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 +// {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 +// {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 +// {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 +// {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 +// {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 +// {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 +// {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N +// {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 +// {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N +// {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 +// {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N +// {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 +// {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - A5 + {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - A4 + {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - A3 + {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - A2 + {PH_6, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 - D6 +// {PH_9, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 +// {PH_10, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 +// {PH_11, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 +// {PH_12, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 +// {PH_13, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N +// {PH_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N +// {PH_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N +// {PI_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 + {PI_2, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 - D8 +// {PI_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 +// {PI_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 +// {PI_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 + {NC, NP, 0} +}; +#endif + +//*** SERIAL *** + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_TX[] = { + {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // A0 +// {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // STLink Tx +// {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D1 +// {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, +// {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PE_1, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, +// {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, + {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A4 +// {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_RX[] = { +// {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // STLink Rx +// {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D0 +// {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, +// {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, +// {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, + {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A5 +// {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_RTS[] = { +// {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D9 +// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D12 +// {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, +// {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, +// {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, + {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A3 +// {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_CTS[] = { +// {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // A0 +// {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, +// {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, +// {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, + {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A2 +// {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + {NC, NP, 0} +}; +#endif + +//*** SPI *** + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_MOSI[] = { +// {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PB_2, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, +// {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D11 +// {PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +// {PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, +// {PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, +// {PE_14, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_9, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A2 +// {PF_11, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, +// {PG_14, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, + {PI_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D7 + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_MISO[] = { +// {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D12 +// {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +// {PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, +// {PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A3 +// {PG_12, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, +// {PH_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PI_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D8 + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_SCLK[] = { +// {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PA_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +// {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +// {PD_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PE_2, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, +// {PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A4 +// {PG_13, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, + {PH_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // D6 + {PI_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D13 + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_SSEL[] = { +// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +// {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, // D3 + {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D14 +// {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, +// {PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A5 +// {PG_8, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, +// {PH_5, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PI_0, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D10 + {NC, NP, 0} +}; +#endif + +//*** CAN *** + +#ifdef HAL_CAN_MODULE_ENABLED +const PinMap PinMap_CAN_RD[] = { +// {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +// {PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, + {PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D15 +// {PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, +// {PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +// {PI_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_CAN_MODULE_ENABLED +const PinMap PinMap_CAN_TD[] = { +// {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +// {PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, + {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D14 +// {PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, +// {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +// {PH_13, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + {NC, NP, 0} +}; +#endif + +//*** ETHERNET *** + +/* Configured for RMII mapping */ + +#ifdef HAL_ETH_MODULE_ENABLED +const PinMap PinMap_Ethernet[] = { +// {PA_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS + {PA_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_REF_CLK|ETH_RX_CLK + {PA_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDIO +// {PA_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL + {PA_7, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS_DV|ETH_RX_DV +// {PB_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 +// {PB_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD3 +// {PB_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT +// {PB_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 +// {PB_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER +// {PB_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN +// {PB_12, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 +// {PB_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + {PC_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDC +// {PC_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD2 +// {PC_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_CLK + {PC_4, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD0 + {PC_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD1 +// {PE_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 +// {PG_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT + {PG_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN + {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 + {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 +// {PH_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS +// {PH_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL +// {PH_6, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 +// {PH_7, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD3 +// {PI_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER + {NC, NP, 0} +}; +#endif diff --git a/variants/NUCLEO_F767ZI/PinNamesVar.h b/variants/NUCLEO_F767ZI/PinNamesVar.h new file mode 100644 index 0000000000..8ec2fab4aa --- /dev/null +++ b/variants/NUCLEO_F767ZI/PinNamesVar.h @@ -0,0 +1,25 @@ + /* SYS_WKUP */ +#ifdef PWR_WAKEUP_PIN1 + SYS_WKUP1 = PA_0, +#endif +#ifdef PWR_WAKEUP_PIN2 + SYS_WKUP2 = PA_2, +#endif +#ifdef PWR_WAKEUP_PIN3 + SYS_WKUP3 = PC_1, +#endif +#ifdef PWR_WAKEUP_PIN4 + SYS_WKUP4 = PC_13, +#endif +#ifdef PWR_WAKEUP_PIN5 + SYS_WKUP5 = PI_8, +#endif +#ifdef PWR_WAKEUP_PIN6 + SYS_WKUP6 = PI_11, +#endif +#ifdef PWR_WAKEUP_PIN7 + SYS_WKUP7 = NC, +#endif +#ifdef PWR_WAKEUP_PIN8 + SYS_WKUP8 = NC, +#endif diff --git a/variants/NUCLEO_F767ZI/ffconf.h b/variants/NUCLEO_F767ZI/ffconf.h new file mode 100644 index 0000000000..6227bcf50f --- /dev/null +++ b/variants/NUCLEO_F767ZI/ffconf.h @@ -0,0 +1,247 @@ +/*---------------------------------------------------------------------------/ +/ FatFs - FAT file system module configuration file R0.11 (C)ChaN, 2015 +/----------------------------------------------------------------------------/ +/ +/ CAUTION! Do not forget to make clean the project after any changes to +/ the configuration options. +/ +/----------------------------------------------------------------------------*/ +#ifndef _FFCONF +#define _FFCONF 32020 /* Revision ID */ + +/*-----------------------------------------------------------------------------/ +/ Additional user header to be used +/-----------------------------------------------------------------------------*/ +#include "stm32_def.h" +#include "bsp_sd.h" +/*-----------------------------------------------------------------------------/ +/ Functions and Buffer Configurations +/-----------------------------------------------------------------------------*/ + +#define _FS_TINY 0 /* 0:Normal or 1:Tiny */ +/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system +/ object instead of the sector buffer in the individual file object for file +/ data transfer. This reduces memory consumption 512 bytes each file object. */ + + +#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */ +/* Setting _FS_READONLY to 1 defines read only configuration. This removes +/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename, +/ f_truncate and useless f_getfree. */ + + +#define _FS_MINIMIZE 0 /* 0 to 3 */ +/* The _FS_MINIMIZE option defines minimization level to remove some functions. +/ +/ 0: Full function. +/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate, f_utime +/ and f_rename are removed. +/ 2: f_opendir and f_readdir are removed in addition to 1. +/ 3: f_lseek is removed in addition to 2. */ + + +#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */ +/* To enable string functions, set _USE_STRFUNC to 1 or 2. */ + + +#define _USE_MKFS 1 /* 0:Disable or 1:Enable */ +/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */ + + +#define _USE_FASTSEEK 1 /* 0:Disable or 1:Enable */ +/* To enable fast seek feature, set _USE_FASTSEEK to 1. */ + + +#define _USE_LABEL 0 /* 0:Disable or 1:Enable */ +/* To enable volume label functions, set _USE_LAVEL to 1 */ + + +#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */ +/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */ + +#define _USE_FIND 0 +/* This option switches filtered directory read feature and related functions, +/� f_findfirst() and f_findnext(). (0:Disable or 1:Enable) */ + + +/* This option is available only for usbh diskio interface and allow to disable +/ the management of the unaligned buffer. +/ When STM32 USB OTG HS or FS IP is used with internal DMA enabled, this define +/ must be set to 0 to align data into 32bits through an internal scratch buffer +/ before being processed by the DMA . Otherwise (DMA not used), this define must +/ be set to 1 to avoid Data alignment and improve the performance. +/ Please note that if _USE_BUFF_WO_ALIGNMENT is set to 1 and an unaligned 32bits +/ buffer is forwarded to the FatFs Write/Read functions, an error will be returned. +/ (0: default value or 1: unaligned buffer return an error). */ + + +/*-----------------------------------------------------------------------------/ +/ Local and Namespace Configurations +/-----------------------------------------------------------------------------*/ + +#define _CODE_PAGE 1252 +/* The _CODE_PAGE specifies the OEM code page to be used on the target system. +/ Incorrect setting of the code page can cause a file open failure. +/ +/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows) +/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows) +/ 949 - Korean (DBCS, OEM, Windows) +/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows) +/ 1250 - Central Europe (Windows) +/ 1251 - Cyrillic (Windows) +/ 1252 - Latin 1 (Windows) +/ 1253 - Greek (Windows) +/ 1254 - Turkish (Windows) +/ 1255 - Hebrew (Windows) +/ 1256 - Arabic (Windows) +/ 1257 - Baltic (Windows) +/ 1258 - Vietnam (OEM, Windows) +/ 437 - U.S. (OEM) +/ 720 - Arabic (OEM) +/ 737 - Greek (OEM) +/ 775 - Baltic (OEM) +/ 850 - Multilingual Latin 1 (OEM) +/ 858 - Multilingual Latin 1 + Euro (OEM) +/ 852 - Latin 2 (OEM) +/ 855 - Cyrillic (OEM) +/ 866 - Russian (OEM) +/ 857 - Turkish (OEM) +/ 862 - Hebrew (OEM) +/ 874 - Thai (OEM, Windows) +/ 1 - ASCII only (Valid for non LFN cfg.) +*/ + + +#define _USE_LFN 1 /* 0 to 3 */ +#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */ +/* The _USE_LFN option switches the LFN feature. +/ +/ 0: Disable LFN feature. _MAX_LFN has no effect. +/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant. +/ 2: Enable LFN with dynamic working buffer on the STACK. +/ 3: Enable LFN with dynamic working buffer on the HEAP. +/ +/ To enable LFN feature, Unicode handling functions ff_convert() and ff_wtoupper() +/ function must be added to the project. +/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. When use stack for the +/ working buffer, take care on stack overflow. When use heap memory for the working +/ buffer, memory management functions, ff_memalloc() and ff_memfree(), must be added +/ to the project. */ + + +#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */ +/* To switch the character encoding on the FatFs API to Unicode, enable LFN feature +/ and set _LFN_UNICODE to 1. */ + + +#define _STRF_ENCODE 3 /* 0:ANSI/OEM, 1:UTF-16LE, 2:UTF-16BE, 3:UTF-8 */ +/* When Unicode API is enabled, character encoding on the all FatFs API is switched +/ to Unicode. This option selects the character encoding on the file to be read/written +/ via string functions, f_gets(), f_putc(), f_puts and f_printf(). +/ This option has no effect when _LFN_UNICODE is 0. */ + + +#define _FS_RPATH 0/* 0 to 2 */ +/* The _FS_RPATH option configures relative path feature. +/ +/ 0: Disable relative path feature and remove related functions. +/ 1: Enable relative path. f_chdrive() and f_chdir() function are available. +/ 2: f_getcwd() function is available in addition to 1. +/ +/ Note that output of the f_readdir() fnction is affected by this option. */ + + +/*---------------------------------------------------------------------------/ +/ Drive/Volume Configurations +/----------------------------------------------------------------------------*/ + +#define _VOLUMES 1 +/* Number of volumes (logical drives) to be used. */ + + +#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */ +/* When set to 0, each volume is bound to the same physical drive number and +/ it can mount only first primaly partition. When it is set to 1, each volume +/ is tied to the partitions listed in VolToPart[]. */ + + +#define _MIN_SS 512 +#define _MAX_SS 512 +/* These options configure the range of sector size to be supported. (512, 1024, 2048 or +/ 4096) Always set both 512 for most systems, all memory card and harddisk. But a larger +/ value may be required for on-board flash memory and some type of optical media. +/ When _MAX_SS is larger than _MIN_SS, FatFs is configured to variable sector size and +/ GET_SECTOR_SIZE command must be implemented to the disk_ioctl() function. */ + + +#define _USE_TRIM 0 /* 0:Disable or 1:Enable */ +/* To enable sector erase feature, set _USE_TRIM to 1. Also CTRL_ERASE_SECTOR command +/ should be added to the disk_ioctl() function. */ + + +#define _FS_NOFSINFO 0 /* 0 or 1 */ +/* If you need to know the correct free space on the FAT32 volume, set this +/ option to 1 and f_getfree() function at first time after volume mount will +/ force a full FAT scan. +/ +/ 0: Load all informations in the FSINFO if available. +/ 1: Do not trust free cluster count in the FSINFO. +*/ + + +/*---------------------------------------------------------------------------/ +/ System Configurations +/----------------------------------------------------------------------------*/ + +#define _WORD_ACCESS 0 /* 0 or 1 */ +/* The _WORD_ACCESS option is an only platform dependent option. It defines +/ which access method is used to the word data on the FAT volume. +/ +/ 0: Byte-by-byte access. Always compatible with all platforms. +/ 1: Word access. Do not choose this unless under both the following conditions. +/ +/ * Byte order on the memory is little-endian. +/ * Address miss-aligned word access is always allowed for all instructions. +/ +/ If it is the case, _WORD_ACCESS can also be set to 1 to improve performance +/ and reduce code size. +*/ + + +/* A header file that defines sync object types on the O/S, such as +/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */ + +#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */ +#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */ +#define _SYNC_t 0 /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */ + +/* The _FS_REENTRANT option switches the re-entrancy (thread safe) of the FatFs module. +/ +/ 0: Disable re-entrancy. _SYNC_t and _FS_TIMEOUT have no effect. +/ 1: Enable re-entrancy. Also user provided synchronization handlers, +/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj() +/ function must be added to the project. */ + + +#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */ +/* To enable file lock control feature, set _FS_LOCK to 1 or greater. + The value defines how many files can be opened simultaneously. */ + +#define _FS_NORTC 0 +#define _NORTC_MON 2 +#define _NORTC_MDAY 1 +#define _NORTC_YEAR 2015 +/* The _FS_NORTC option switches timestamp feature. If the system does not have +/� an RTC function or valid timestamp is not needed, set _FS_NORTC to 1 to disable +/� the timestamp feature. All objects modified by FatFs will have a fixed timestamp +/� defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR. +/� When timestamp feature is enabled (_FS_NORTC == 0), get_fattime() function need +/� to be added to the project to read current time form RTC. _NORTC_MON, +/� _NORTC_MDAY and _NORTC_YEAR have no effect. +/� These options have no effect at read-only configuration (_FS_READONLY == 1). */ + +#if _NORTC_YEAR < 1980 || _NORTC_YEAR > 2107 || _NORTC_MON < 1 || _NORTC_MON > 12 || _NORTC_MDAY < 1 || _NORTC_MDAY > 31 + #error Invalid _FS_NORTC settings +#endif + +#endif /* _FFCONFIG */ diff --git a/variants/NUCLEO_F767ZI/ldscript.ld b/variants/NUCLEO_F767ZI/ldscript.ld new file mode 100644 index 0000000000..fc7b304b72 --- /dev/null +++ b/variants/NUCLEO_F767ZI/ldscript.ld @@ -0,0 +1,184 @@ +/* +***************************************************************************** +** + +** File : LinkerScript.ld +** +** Abstract : Linker script for STM32F746NGHx Device with +** 1024KByte FLASH, 320KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** +** Distribution: The file is distributed as is, without any warranty +** of any kind. +** +***************************************************************************** +** @attention +** +**

© COPYRIGHT(c) 2014 Ac6

+** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** 1. Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** 2. Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** 3. Neither the name of Ac6 nor the names of its contributors +** may be used to endorse or promote products derived from this software +** without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20050000; /* end of RAM */ +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ +RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K +FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text ALIGN(4): + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data goes into FLASH */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >RAM + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/variants/NUCLEO_F767ZI/sd_conf.h b/variants/NUCLEO_F767ZI/sd_conf.h new file mode 100644 index 0000000000..2e4d487fd1 --- /dev/null +++ b/variants/NUCLEO_F767ZI/sd_conf.h @@ -0,0 +1,51 @@ +/** + ****************************************************************************** + * @file sd_conf.h + * @author fpiSTM + * @date 2017 + * @brief This file contains hw config for SD + ******************************************************************************* + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __SD_CONF_H +#define __SD_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32_def.h" + +#define SD_DATATIMEOUT ((uint32_t)100000000) + +/*SD-detect signal */ +#define SD_DETECT_PIN GPIO_PIN_13 +#define SD_DETECT_GPIO_PORT GPIOC +#define SD_DETECT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define SD_DETECT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() +#define SD_DETECT_EXTI_IRQn EXTI15_10_IRQn + +/* Definition for BSP SD */ +#define SD_INSTANCE SDMMC1 + +#define SD_CLK_ENABLE __HAL_RCC_SDMMC1_CLK_ENABLE +#define SD_CLK_DISABLE __HAL_RCC_SDMMC1_CLK_DISABLE +#define SD_CLK_EDGE SDMMC_CLOCK_EDGE_RISING +#define SD_CLK_BYPASS SDMMC_CLOCK_BYPASS_DISABLE +#define SD_CLK_PWR_SAVE SDMMC_CLOCK_POWER_SAVE_DISABLE +#define SD_BUS_WIDE_1B SDMMC_BUS_WIDE_1B +#define SD_BUS_WIDE_4B SDMMC_BUS_WIDE_4B +#define SD_HW_FLOW_CTRL SDMMC_HARDWARE_FLOW_CONTROL_DISABLE +#define SD_CLK_DIV SDMMC_TRANSFER_CLK_DIV + +/* Definition for MSP SD */ +#define SD_AF GPIO_AF12_SDMMC1 + + +#ifdef __cplusplus +} +#endif + +#endif /* __SD_CONF_H */ diff --git a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h new file mode 100644 index 0000000000..4240194e4e --- /dev/null +++ b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h @@ -0,0 +1,462 @@ +/** + ****************************************************************************** + * @file stm32f7xx_hal_conf_template.h + * @author MCD Application Team + * @brief HAL configuration template file. + * This file should be copied to the application folder and renamed + * to stm32f7xx_hal_conf.h. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F7xx_HAL_CONF_H +#define __STM32F7xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +#define HAL_ADC_MODULE_ENABLED +#define HAL_CAN_MODULE_ENABLED +/* #define HAL_CAN_LEGACY_MODULE_ENABLED */ +/* #define HAL_CEC_MODULE_ENABLED */ +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +#define HAL_DAC_MODULE_ENABLED +/* #define HAL_DCMI_MODULE_ENABLED */ +#define HAL_DMA_MODULE_ENABLED +/* #define HAL_DMA2D_MODULE_ENABLED */ +#define HAL_ETH_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +/* #define HAL_NAND_MODULE_ENABLED */ +/* #define HAL_NOR_MODULE_ENABLED */ +/* #define HAL_SRAM_MODULE_ENABLED */ +/* #define HAL_SDRAM_MODULE_ENABLED */ +/* #define HAL_HASH_MODULE_ENABLED */ +#define HAL_GPIO_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +/* #define HAL_I2S_MODULE_ENABLED */ +/* #define HAL_IWDG_MODULE_ENABLED */ +/* #define HAL_LPTIM_MODULE_ENABLED */ +/* #define HAL_LTDC_MODULE_ENABLED */ +#define HAL_PWR_MODULE_ENABLED +/* #define HAL_QSPI_MODULE_ENABLED */ +#define HAL_RCC_MODULE_ENABLED +/* #define HAL_RNG_MODULE_ENABLED */ +#define HAL_RTC_MODULE_ENABLED +/* #define HAL_SAI_MODULE_ENABLED */ +#define HAL_SD_MODULE_ENABLED +/* #define HAL_SPDIFRX_MODULE_ENABLED */ +#define HAL_SPI_MODULE_ENABLED +#define HAL_TIM_MODULE_ENABLED +/* #define HAL_UART_MODULE_ENABLED */ +/* #define HAL_USART_MODULE_ENABLED */ +/* #define HAL_IRDA_MODULE_ENABLED */ +/* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_PCD_MODULE_ENABLED +#define HAL_HCD_MODULE_ENABLED +/* #define HAL_DFSDM_MODULE_ENABLED */ +/* #define HAL_DSI_MODULE_ENABLED */ +/* #define HAL_JPEG_MODULE_ENABLED */ +/* #define HAL_MDIOS_MODULE_ENABLED */ +/* #define HAL_SMBUS_MODULE_ENABLED */ +/* #define HAL_MMC_MODULE_ENABLED */ + + +/* ########################## HSE/HSI Values adaptation ##################### */ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) + #define HSE_VALUE 25000000U /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) + #define LSI_VALUE 32000U /*!< LSI Typical Value in Hz*/ +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ +/** + * @brief External Low Speed oscillator (LSE) value. + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE 32768U /*!< Value of the External Low Speed oscillator in Hz */ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/** + * @brief External clock source for I2S peripheral + * This value is used by the I2S HAL module to compute the I2S clock source + * frequency, this source is inserted directly through I2S_CKIN pad. + */ +#if !defined (EXTERNAL_CLOCK_VALUE) + #define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the Internal oscillator in Hz*/ +#endif /* EXTERNAL_CLOCK_VALUE */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE 3300U /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY 0x0FU /*!< tick interrupt priority */ +#define USE_RTOS 0U +#define PREFETCH_ENABLE 1U /* To enable prefetch */ +#define ART_ACCLERATOR_ENABLE 1U /* To enable ART Accelerator */ + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1 */ + +/* ################## Ethernet peripheral configuration ##################### */ + +/* Section 1 : Ethernet peripheral configuration */ + +/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ +#define MAC_ADDR0 2U +#define MAC_ADDR1 0U +#define MAC_ADDR2 0U +#define MAC_ADDR3 0U +#define MAC_ADDR4 0U +#define MAC_ADDR5 0U + +/* Definition of the Ethernet driver buffers size and count */ +#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ +#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ +#define ETH_RXBUFNB 4U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ +#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ + +/* Section 2: PHY configuration section */ +/* LAN8742A PHY Address*/ +#define LAN8742A_PHY_ADDRESS 0x00U +/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ +#define PHY_RESET_DELAY 0x00000FFFU +/* PHY Configuration delay */ +#define PHY_CONFIG_DELAY 0x00000FFFU + +#define PHY_READ_TO 0x0000FFFFU +#define PHY_WRITE_TO 0x0000FFFFU + +/* Section 3: Common PHY Registers */ + +#define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */ +#define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */ + +#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */ +#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */ +#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */ +#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */ +#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */ +#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */ +#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */ +#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */ +#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */ +#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */ + +#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */ +#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */ +#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */ + +/* Section 4: Extended PHY Registers */ + +#define PHY_SR ((uint16_t)0x1FU) /*!< PHY special control/ status register Offset */ + +#define PHY_SPEED_STATUS ((uint16_t)0x0004U) /*!< PHY Speed mask */ +#define PHY_DUPLEX_STATUS ((uint16_t)0x0010U) /*!< PHY Duplex mask */ + + +#define PHY_ISFR ((uint16_t)0x01DU) /*!< PHY Interrupt Source Flag register Offset */ +#define PHY_IMR ((uint16_t)0x001E) /*!< PHY Interrupt Mask register Offset */ +#define PHY_ISFR_INT4 ((uint16_t)0x0010U) /*!< PHY Link down inturrupt */ + +/* ################## SPI peripheral configuration ########################## */ + +/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver +* Activated: CRC code is present inside driver +* Deactivated: CRC code cleaned from driver +*/ + +#define USE_SPI_CRC 1U + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32f7xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32f7xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32f7xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32f7xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32f7xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CAN_MODULE_ENABLED + #include "stm32f7xx_hal_can.h" +#endif /* HAL_CAN_MODULE_ENABLED */ + +#ifdef HAL_CAN_LEGACY_MODULE_ENABLED + #include "stm32f7xx_hal_can_legacy.h" +#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED + #include "stm32f7xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32f7xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED + #include "stm32f7xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DMA2D_MODULE_ENABLED + #include "stm32f7xx_hal_dma2d.h" +#endif /* HAL_DMA2D_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32f7xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_DCMI_MODULE_ENABLED + #include "stm32f7xx_hal_dcmi.h" +#endif /* HAL_DCMI_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED + #include "stm32f7xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "stm32f7xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED + #include "stm32f7xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED + #include "stm32f7xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED + #include "stm32f7xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_SDRAM_MODULE_ENABLED + #include "stm32f7xx_hal_sdram.h" +#endif /* HAL_SDRAM_MODULE_ENABLED */ + +#ifdef HAL_HASH_MODULE_ENABLED + #include "stm32f7xx_hal_hash.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32f7xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32f7xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32f7xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED + #include "stm32f7xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_LTDC_MODULE_ENABLED + #include "stm32f7xx_hal_ltdc.h" +#endif /* HAL_LTDC_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32f7xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_QSPI_MODULE_ENABLED + #include "stm32f7xx_hal_qspi.h" +#endif /* HAL_QSPI_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED + #include "stm32f7xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32f7xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SAI_MODULE_ENABLED + #include "stm32f7xx_hal_sai.h" +#endif /* HAL_SAI_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED + #include "stm32f7xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_SPDIFRX_MODULE_ENABLED + #include "stm32f7xx_hal_spdifrx.h" +#endif /* HAL_SPDIFRX_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32f7xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32f7xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32f7xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32f7xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED + #include "stm32f7xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32f7xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32f7xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32f7xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED + #include "stm32f7xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +#ifdef HAL_DFSDM_MODULE_ENABLED + #include "stm32f7xx_hal_dfsdm.h" +#endif /* HAL_DFSDM_MODULE_ENABLED */ + +#ifdef HAL_DSI_MODULE_ENABLED + #include "stm32f7xx_hal_dsi.h" +#endif /* HAL_DSI_MODULE_ENABLED */ + +#ifdef HAL_JPEG_MODULE_ENABLED + #include "stm32f7xx_hal_jpeg.h" +#endif /* HAL_JPEG_MODULE_ENABLED */ + +#ifdef HAL_MDIOS_MODULE_ENABLED + #include "stm32f7xx_hal_mdios.h" +#endif /* HAL_MDIOS_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + #include "stm32f7xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_MMC_MODULE_ENABLED + #include "stm32f7xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32F7xx_HAL_CONF_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/variants/NUCLEO_F767ZI/variant.cpp b/variants/NUCLEO_F767ZI/variant.cpp new file mode 100644 index 0000000000..5f98190d2a --- /dev/null +++ b/variants/NUCLEO_F767ZI/variant.cpp @@ -0,0 +1,157 @@ +/* + Copyright (c) 2011 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "variant.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Pin number +const PinName digitalPin[] = { + PC_7, //D0 + PC_6, //D1 + PG_6, //D2 + PB_4, //D3 + PG_7, //D4 + PI_0, //D5 + PH_6, //D6 + PI_3, //D7 + PI_2, //D8 + PA_15, //D9 + PA_8, //D10 + PB_15, //D11 + PB_14, //D12 + PI_1, //D13 + PB_9, //D14 + PB_8, //D15 + PA_0, //D16/A0 + PF_10, //D17/A1 + PF_9, //D18/A2 + PF_8, //D19/A3 + PF_7, //D20/A4 + PF_6, //D21/A5 + PI_11, //D22 User btn + PB_7, //D23 ST-Link Rx + PA_9 //D24 ST-Link Tx +}; + +#ifdef __cplusplus +} +#endif + +// ---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief System Clock Configuration + * The system Clock is configured as follow : + * System Clock source = PLL (HSE) + * SYSCLK(Hz) = 216000000 + * HCLK(Hz) = 216000000 + * AHB Prescaler = 1 + * APB1 Prescaler = 4 + * APB2 Prescaler = 2 + * HSE Frequency(Hz) = 25000000 + * PLL_M = 25 + * PLL_N = 432 + * PLL_P = 2 + * PLL_Q = 9 + * PLLSAI_N = 192 + * PLLSAI_P = 4 + * VDD(V) = 3.3 + * Main regulator output voltage = Scale1 mode + * Flash Latency(WS) = 7 + * @param None + * @retval None + */ +WEAK void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct; + RCC_ClkInitTypeDef RCC_ClkInitStruct; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct; + + /* Configure the main internal regulator output voltage */ + __HAL_RCC_PWR_CLK_ENABLE(); + + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSEState = RCC_HSE_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLM = 25; + RCC_OscInitStruct.PLL.PLLN = 432; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 9; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + /* Activate the Over-Drive mode */ + if (HAL_PWREx_EnableOverDrive() != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_USART1 + |RCC_PERIPHCLK_CLK48; + PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; + PeriphClkInitStruct.PLLSAI.PLLSAIR = 5; + PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2; + PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4; + PeriphClkInitStruct.PLLSAIDivQ = 1; + PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_4; + PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; + PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLLSAIP; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + /* Configure the Systick interrupt time */ + HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); + + /* Configure the Systick */ + HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); + + /* SysTick_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); +} + +#ifdef __cplusplus +} +#endif diff --git a/variants/NUCLEO_F767ZI/variant.h b/variants/NUCLEO_F767ZI/variant.h new file mode 100644 index 0000000000..b4a27b20c2 --- /dev/null +++ b/variants/NUCLEO_F767ZI/variant.h @@ -0,0 +1,119 @@ +/* + Copyright (c) 2011 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _VARIANT_ARDUINO_STM32_ +#define _VARIANT_ARDUINO_STM32_ + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ +#include "PeripheralPins.h" + +#ifdef __cplusplus +extern "C"{ +#endif // __cplusplus + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ +extern const PinName digitalPin[]; + +enum { + PC7, //D0 + PC6, //D1 + PG6, //D2 + PB4, //D3 + PG7, //D4 + PI0, //D5 + PH6, //D6 + PI3, //D7 + PI2, //D8 + PA15, //D9 + PA8, //D10 + PB15, //D11 + PB14, //D12 + PI1, //D13 + PB9, //D14 + PB8, //D15 + PA0, //D16/A0 + PF10, //D17/A1 + PF9, //D18/A2 + PF8, //D19/A3 + PF7, //D20/A4 + PF6, //D21/A5 + PI11, //D22 User btn + PB7, //D23 ST-Link Rx + PA9, //D24 ST-Link Tx + PEND +}; + +// This must be a literal with the same value as PEND +#define NUM_DIGITAL_PINS 25 +// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS +#define NUM_ANALOG_INPUTS 6 +#define NUM_ANALOG_FIRST 16 + +// On-board LED pin number +#define LED_BUILTIN 13 +#define LED_GREEN LED_BUILTIN + +// On-board user button +#define USER_BTN PI11 + +// Timer Definitions +// Do not use timer used by PWM pins when possible. See PinMap_PWM. +#define TIMER_TONE TIM6 + +// Do not use basic timer: OC is required +#define TIMER_SERVO TIM2 //TODO: advanced-control timers don't work + +// UART Definitions +#define SERIAL_UART_INSTANCE 1 //Connected to ST-Link +// Default pin used for 'Serial' instance (ex: ST-Link) +// Mandatory for Firmata +#define PIN_SERIAL_RX PB7 +#define PIN_SERIAL_TX PA9 + +#ifdef __cplusplus +} // extern "C" +#endif +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_HARDWARE Serial +#endif + +#endif /* _VARIANT_ARDUINO_STM32_ */ From a65af260672670de7253f35a84967c0777f253c7 Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 31 Jul 2018 10:33:19 +0800 Subject: [PATCH 03/38] Remove SDcard (NUCLEO-F767ZI don't have this) --- variants/NUCLEO_F767ZI/sd_conf.h | 51 -------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 variants/NUCLEO_F767ZI/sd_conf.h diff --git a/variants/NUCLEO_F767ZI/sd_conf.h b/variants/NUCLEO_F767ZI/sd_conf.h deleted file mode 100644 index 2e4d487fd1..0000000000 --- a/variants/NUCLEO_F767ZI/sd_conf.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - ****************************************************************************** - * @file sd_conf.h - * @author fpiSTM - * @date 2017 - * @brief This file contains hw config for SD - ******************************************************************************* - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __SD_CONF_H -#define __SD_CONF_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_def.h" - -#define SD_DATATIMEOUT ((uint32_t)100000000) - -/*SD-detect signal */ -#define SD_DETECT_PIN GPIO_PIN_13 -#define SD_DETECT_GPIO_PORT GPIOC -#define SD_DETECT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() -#define SD_DETECT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() -#define SD_DETECT_EXTI_IRQn EXTI15_10_IRQn - -/* Definition for BSP SD */ -#define SD_INSTANCE SDMMC1 - -#define SD_CLK_ENABLE __HAL_RCC_SDMMC1_CLK_ENABLE -#define SD_CLK_DISABLE __HAL_RCC_SDMMC1_CLK_DISABLE -#define SD_CLK_EDGE SDMMC_CLOCK_EDGE_RISING -#define SD_CLK_BYPASS SDMMC_CLOCK_BYPASS_DISABLE -#define SD_CLK_PWR_SAVE SDMMC_CLOCK_POWER_SAVE_DISABLE -#define SD_BUS_WIDE_1B SDMMC_BUS_WIDE_1B -#define SD_BUS_WIDE_4B SDMMC_BUS_WIDE_4B -#define SD_HW_FLOW_CTRL SDMMC_HARDWARE_FLOW_CONTROL_DISABLE -#define SD_CLK_DIV SDMMC_TRANSFER_CLK_DIV - -/* Definition for MSP SD */ -#define SD_AF GPIO_AF12_SDMMC1 - - -#ifdef __cplusplus -} -#endif - -#endif /* __SD_CONF_H */ From ff1c4e11c018ec6168dd1433a14da10227f5ee90 Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 31 Jul 2018 10:51:29 +0800 Subject: [PATCH 04/38] Copy variant.h from NUCLEO-F429ZI to NUCLEO-F767ZI --- variants/NUCLEO_F767ZI/variant.h | 141 +++++++++++++++++++++++-------- 1 file changed, 108 insertions(+), 33 deletions(-) diff --git a/variants/NUCLEO_F767ZI/variant.h b/variants/NUCLEO_F767ZI/variant.h index b4a27b20c2..14686e6031 100644 --- a/variants/NUCLEO_F767ZI/variant.h +++ b/variants/NUCLEO_F767ZI/variant.h @@ -34,46 +34,120 @@ extern "C"{ extern const PinName digitalPin[]; enum { - PC7, //D0 - PC6, //D1 - PG6, //D2 - PB4, //D3 - PG7, //D4 - PI0, //D5 - PH6, //D6 - PI3, //D7 - PI2, //D8 - PA15, //D9 - PA8, //D10 - PB15, //D11 - PB14, //D12 - PI1, //D13 + PG9, //D0 + PG14, //D1 + PF15, //D2 + PE13, //D3 + PF14, //D4 + PE11, //D5 + PE9, //D6 + PF13, //D7 + PF12, //D8 + PD15, //D9 + PD14, //D10 + PA7, //D11 + PA6, //D12 + PA5, //D13 PB9, //D14 PB8, //D15 - PA0, //D16/A0 - PF10, //D17/A1 - PF9, //D18/A2 - PF8, //D19/A3 - PF7, //D20/A4 - PF6, //D21/A5 - PI11, //D22 User btn - PB7, //D23 ST-Link Rx - PA9, //D24 ST-Link Tx + PC6, //D16 + PB15, //D17 + PB13, //D18 + PB12, //D19 + PA15, //D20 + PC7, //D21 + PB5, //D22 + PB3, //D23 + PA4, //D24 + PB4, //D25 + PB6, //D26 + PB2, //D27 + PD13, //D28 + PD12, //D29 + PD11, //D30 + PE2, //D31 + PA0, //D32 + PB0, //D33 - LEDGREEN + PE0, //D34 + PB11, //D35 + PB10, //D36 + PE15, //D37 + PE14, //D38 + PE12, //D39 + PE10, //D40 + PE7, //D41 + PE8, //D42 + PC8, //D43 + PC9, //D44 + PC10, //D45 + PC11, //D46 + PC12, //D47 + PD2, //D48 + PG2, //D49 + PG3, //D50 + PD7, //D51 + PD6, //D52 + PD5, //D53 + PD4, //D54 + PD3, //D55 + PE2_2,//D56 + PE4, //D57 + PE5, //D58 + PE6, //D59 + PE3, //D60 + PF8, //D61 + PF7, //D62 + PF9, //D63 + PG1, //D64 + PG0, //D65 + PD1, //D66 + PD0, //D67 + PF0, //D68 + PF1, //D69 + PF2, //D70 + PA7_2,//D71 + NC_1, //D72 + PB7, //D73 - LEDBLUE + PB14, //D74 - LEDRED + PC13, //D75 - USERBTN + PD9, //D76 - Serial Rx + PD8, //D77 - Serial Tx + PA3, //D78/A0 + PC0, //D79/A1 + PC3, //D80/A2 + PF3, //D81/A3 + PF5, //D82/A4 + PF10, //D83/A5 + PB1, //D84/A6 + PC2, //D85/A7 + PF4, //D86/A8 + PF6, //D87/A9 + // Duplicated pins in order to be aligned with PinMapADC + PA7_3, //D88/A10 = D11 + PA6_2, //D89/A11 = D12 + PA5_2, //D90/A12 = D13 + PA4_2, //D91/A13 = D24 + PA0_2, //D92/A14 = D32 + PF8_2, //D93/A15 = D61 + PF7_2, //D94/A16 = D62 + PF9_2, //D95/A17 = D63 PEND }; // This must be a literal with the same value as PEND -#define NUM_DIGITAL_PINS 25 +#define NUM_DIGITAL_PINS 96 // This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS -#define NUM_ANALOG_INPUTS 6 -#define NUM_ANALOG_FIRST 16 +#define NUM_ANALOG_INPUTS 18 +#define NUM_ANALOG_FIRST 78 // On-board LED pin number -#define LED_BUILTIN 13 +#define LED_BUILTIN PB0 #define LED_GREEN LED_BUILTIN +#define LED_BLUE PB7 +#define LED_RED PB14 // On-board user button -#define USER_BTN PI11 +#define USER_BTN PC13 // Timer Definitions // Do not use timer used by PWM pins when possible. See PinMap_PWM. @@ -83,11 +157,12 @@ enum { #define TIMER_SERVO TIM2 //TODO: advanced-control timers don't work // UART Definitions -#define SERIAL_UART_INSTANCE 1 //Connected to ST-Link -// Default pin used for 'Serial' instance (ex: ST-Link) -// Mandatory for Firmata -#define PIN_SERIAL_RX PB7 -#define PIN_SERIAL_TX PA9 +#define SERIAL_UART_INSTANCE 3 //Connected to ST-Link + +// Serial pin used for console (ex: stlink) +// Rerquired by Firmata +#define PIN_SERIAL_RX PD9 +#define PIN_SERIAL_TX PD8 #ifdef __cplusplus } // extern "C" From 6c0595bb5acd39424899c74747c1db2a49f63b49 Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 31 Jul 2018 10:55:13 +0800 Subject: [PATCH 05/38] [Add NUCLEO-F767ZI] Merge PinName from NUCLEO-F429ZI --- variants/NUCLEO_F767ZI/variant.cpp | 118 +++++++++++++++++++++++------ 1 file changed, 95 insertions(+), 23 deletions(-) diff --git a/variants/NUCLEO_F767ZI/variant.cpp b/variants/NUCLEO_F767ZI/variant.cpp index 5f98190d2a..4d45699be9 100644 --- a/variants/NUCLEO_F767ZI/variant.cpp +++ b/variants/NUCLEO_F767ZI/variant.cpp @@ -24,31 +24,103 @@ extern "C" { // Pin number const PinName digitalPin[] = { - PC_7, //D0 - PC_6, //D1 - PG_6, //D2 - PB_4, //D3 - PG_7, //D4 - PI_0, //D5 - PH_6, //D6 - PI_3, //D7 - PI_2, //D8 - PA_15, //D9 - PA_8, //D10 - PB_15, //D11 - PB_14, //D12 - PI_1, //D13 + PG_9, //D0 + PG_14, //D1 + PF_15, //D2 + PE_13, //D3 + PF_14, //D4 + PE_11, //D5 + PE_9, //D6 + PF_13, //D7 + PF_12, //D8 + PD_15, //D9 + PD_14, //D10 + PA_7, //D11 + PA_6, //D12 + PA_5, //D13 PB_9, //D14 PB_8, //D15 - PA_0, //D16/A0 - PF_10, //D17/A1 - PF_9, //D18/A2 - PF_8, //D19/A3 - PF_7, //D20/A4 - PF_6, //D21/A5 - PI_11, //D22 User btn - PB_7, //D23 ST-Link Rx - PA_9 //D24 ST-Link Tx + PC_6, //D16 + PB_15, //D17 + PB_13, //D18 + PB_12, //D19 + PA_15, //D20 + PC_7, //D21 + PB_5, //D22 + PB_3, //D23 + PA_4, //D24 + PB_4, //D25 + PB_6, //D26 + PB_2, //D27 + PD_13, //D28 + PD_12, //D29 + PD_11, //D30 + PE_2, //D31 + PA_0, //D32 + PB_0, //D33 - LED_GREEN + PE_0, //D34 + PB_11, //D35 + PB_10, //D36 + PE_15, //D37 + PE_14, //D38 + PE_12, //D39 + PE_10, //D40 + PE_7, //D41 + PE_8, //D42 + PC_8, //D43 + PC_9, //D44 + PC_10, //D45 + PC_11, //D46 + PC_12, //D47 + PD_2, //D48 + PG_2, //D49 + PG_3, //D50 + PD_7, //D51 + PD_6, //D52 + PD_5, //D53 + PD_4, //D54 + PD_3, //D55 + PE_2, //D56 + PE_4, //D57 + PE_5, //D58 + PE_6, //D59 + PE_3, //D60 + PF_8, //D61 + PF_7, //D62 + PF_9, //D63 + PG_1, //D64 + PG_0, //D65 + PD_1, //D66 + PD_0, //D67 + PF_0, //D68 + PF_1, //D69 + PF_2, //D70 + PA_7, //D71 + NC, //D72 + PB_7, //D73 - LED_BLUE + PB_14, //D74 - LED_RED + PC_13, //D75 - USER_BTN + PD_9, //D76 - Serial Rx + PD_8, //D77 - Serial Tx + PA_3, //D78/A0 + PC_0, //D79/A1 + PC_3, //D80/A2 + PF_3, //D81/A3 + PF_5, //D82/A4 + PF_10, //D83/A5 + PB_1, //D84/A6 + PC_2, //D85/A7 + PF_4, //D86/A8 + PF_6, //D87/A9 + // Duplicated pins in order to be aligned with PinMap_ADC + PA_7, //D88/A10 = D11 + PA_6, //D89/A11 = D12 + PA_5, //D90/A12 = D13 + PA_4, //D91/A13 = D24 + PA_0, //D92/A14 = D32 + PF_8, //D93/A15 = D61 + PF_7, //D94/A16 = D62 + PF_9 //D95/A17 = D63 }; #ifdef __cplusplus From 74fb0cedc39b2d927efa07c003f486a36087bae2 Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 31 Jul 2018 17:55:52 +0800 Subject: [PATCH 06/38] [ADD NUCLEO-F767ZI] Update ADC PinMap --- variants/NUCLEO_F767ZI/PeripheralPins.c | 56 ++++++++++++------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index 35a4e3c8ae..e9fb55aaf2 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -40,54 +40,54 @@ #ifdef HAL_ADC_MODULE_ENABLED const PinMap PinMap_ADC[] = { -// {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 + {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 - D32 // {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 - {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 - A0 +// {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 // {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 // {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG,z GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 // {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 // {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 // {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 // {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 -// {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 -// {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 -// {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 -// {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 + {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 - A0 +// {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 - A0 +// {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 - A0 + {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 - D24 // {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 -// {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 + {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 - D13 // {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 -// {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 + {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 - D12 // {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 -// {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 + {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 - D71 // {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 // {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 // {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 -// {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 -// {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 -// {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 -// {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 -// {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 + {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 - A6 +// {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 - A6 + {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 - A1 +// {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 - A1 +// {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 - A1 // {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 // {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 // {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 -// {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 -// {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 -// {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 -// {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 -// {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 -// {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 + {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 - A7 +// {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 - A7 +// {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 - A7 + {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 - A2 +// {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 - A2 +// {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 - A2 // {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 // {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 // {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 // {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 -// {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9 -// {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14 -// {PF_5, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC3_IN15 - {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 - A5 - {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 - A4 - {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 - A3 - {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 - A2 - {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 - A1 + {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9 - A3 + {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14 - A8 + {PF_5, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC3_IN15 - A4 +// {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 + {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 - D62 + {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 - D61 + {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 - D63 + {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 - A5 {NC, NP, 0} }; #endif From c7d093f683982ba85ab782571ae739d9a4343a6c Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 31 Jul 2018 18:36:27 +0800 Subject: [PATCH 07/38] [ADD NUCLEO-F767ZI] Update I2C Pinmap --- variants/NUCLEO_F767ZI/PeripheralPins.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index e9fb55aaf2..55b242af75 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -106,13 +106,15 @@ const PinMap PinMap_DAC[] = { #ifdef HAL_I2C_MODULE_ENABLED const PinMap PinMap_I2C_SDA[] = { -// {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, +// {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, //LED1 +// {PB_7, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D14 -// {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, -// {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, -// {PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, -// {PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, -// {PF_15, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D35 + {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // D44 + {PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D28 + {PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D68 + {PF_15, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D2 // {PH_5, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // {PH_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // {PH_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, @@ -124,11 +126,13 @@ const PinMap PinMap_I2C_SDA[] = { const PinMap PinMap_I2C_SCL[] = { // {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + {PB_6, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D26 +// {PB_8, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D15 -// {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, -// {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, -// {PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, -// {PF_14, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D36 + {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D29 + {PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D69 + {PF_14, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D4 // {PH_4, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // {PH_7, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // {PH_11, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, From 0d5c6307085ad7dce848d14b91b7afcc3c22f48d Mon Sep 17 00:00:00 2001 From: davidanger Date: Wed, 1 Aug 2018 18:05:02 +0800 Subject: [PATCH 08/38] [ADD NUCLEO-F767ZI] Update PWM(TIM) Pinmap --- variants/NUCLEO_F767ZI/PeripheralPins.c | 130 ++++++++++++------------ 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index 55b242af75..6e5608bc66 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -144,79 +144,79 @@ const PinMap PinMap_I2C_SCL[] = { #ifdef HAL_TIM_MODULE_ENABLED const PinMap PinMap_PWM[] = { - {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - A0 -// {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 - A0 + {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D32 +// {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 - D32 // {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 // {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 // {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 // {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 // {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 -// {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 -// {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 -// {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 -// {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 -// {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N -// {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 -// {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 -// {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 -// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N -// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 -// {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - D5 + {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - A0 +// {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 - A0 +// {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - A0 + {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D13 +// {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - D13 + {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - D12 +// {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D12 + {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - D11 +// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D11 +// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D11 +// {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - D11 +// {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 // {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 // {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 // {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D9 -// {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N -// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 -// {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N -// {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N -// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 -// {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N -// {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D3 -// {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 -// {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D20 + {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D33 +// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - D33 +// {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - D33 + {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - A6 +// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - A6 +// {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - A6 + {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - D23 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D25 + {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D22 + {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - D26 // {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 -// {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - D15 - {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - D15 -// {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D14 - {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - D14 -// {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 -// {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 -// {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 - D12 -// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D12 -// {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - D12 - {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 - D11 -// {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D11 -// {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - D11 -// {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D1 - {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 - D1 -// {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D0 - {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - D0 -// {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 -// {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 -// {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 -// {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 -// {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 -// {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 -// {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 -// {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 -// {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 -// {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 -// {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N -// {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 -// {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N -// {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 -// {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N -// {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 -// {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - A5 - {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - A4 - {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - A3 - {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - A2 - {PH_6, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 - D6 + {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - D15 +// {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - D15 + {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D14 +// {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - D14 + {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - D36 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - D35 + {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D18 +// {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 +// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N +// {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N + {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 - D17 +// {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D17 +// {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - D17 + {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D16 +// {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 - D16 + {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D21 +// {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - D21 + {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - D43 +// {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 - D43 + {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - D44 +// {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 - D44 + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - D29 + {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 - D28 + {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - D10 + {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - D9 + {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 - D58 + {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - D59 + {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D42 + {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - D6 + {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D40 + {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - D5 + {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D39 + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - D3 + {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - D38 +// {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 + {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D62 + {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - D61 + {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - D63 +// {PH_6, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 // {PH_9, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 // {PH_10, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 // {PH_11, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 @@ -225,7 +225,7 @@ const PinMap PinMap_PWM[] = { // {PH_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N // {PH_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N // {PI_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 - {PI_2, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 - D8 +// {PI_2, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 // {PI_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 // {PI_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 // {PI_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 From f464e1026c4972e1299d59bd17127150c1c126b5 Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 2 Aug 2018 14:24:24 +0800 Subject: [PATCH 09/38] [NUECLE-F767ZI]Fix I2C AF, Add Serial Def --- variants/NUCLEO_F767ZI/PeripheralPins.c | 57 +++++++++++++++++-------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index 6e5608bc66..703d81cd18 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -107,8 +107,8 @@ const PinMap PinMap_DAC[] = { #ifdef HAL_I2C_MODULE_ENABLED const PinMap PinMap_I2C_SDA[] = { // {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, //LED1 -// {PB_7, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, -// {PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PB_7, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF11_I2C4)}, +// {PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C4)}, {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D14 {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D35 {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // D44 @@ -126,8 +126,8 @@ const PinMap PinMap_I2C_SDA[] = { const PinMap PinMap_I2C_SCL[] = { // {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, - {PB_6, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D26 -// {PB_8, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {PB_6, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF11_I2C4)}, // D26 +// {PB_8, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C4)}, {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D15 {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D36 {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D29 @@ -237,21 +237,30 @@ const PinMap PinMap_PWM[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_TX[] = { - {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // A0 +// {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, - {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // STLink Tx +// {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PA_12, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PA_15, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, +// {PB_4, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, +// {PB_6, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PB_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D1 +// {PB_13, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, +// {PB_14, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, +// {PD_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - STLINK TX // {PE_1, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, - {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A4 +// {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PH_13, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, {NC, NP, 0} }; #endif @@ -260,19 +269,29 @@ const PinMap PinMap_UART_TX[] = { const PinMap PinMap_UART_RX[] = { // {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // STLink Rx +// {PA_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PB_3, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, +// {PB_5, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, +// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PB_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D0 +// {PB_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, +// {PB_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PD_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - STLINK RX // {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, - {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A5 +// {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PH_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PI_9, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, {NC, NP, 0} }; #endif @@ -281,14 +300,15 @@ const PinMap PinMap_UART_RX[] = { const PinMap PinMap_UART_RTS[] = { // {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D9 -// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D12 +// {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PB_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, - {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A3 +// {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} @@ -297,16 +317,17 @@ const PinMap PinMap_UART_RTS[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_CTS[] = { -// {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // A0 +// {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PB_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, - {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A2 +// {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} From 751262573012f1b551432cc6e88220e6c52ccdfc Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 2 Aug 2018 15:37:05 +0800 Subject: [PATCH 10/38] [NUCLEO-F767ZI]Update UART PinMap --- variants/NUCLEO_F767ZI/PeripheralPins.c | 116 ++++++++++++------------ 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index 703d81cd18..097fadd9df 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -237,29 +237,29 @@ const PinMap PinMap_PWM[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_TX[] = { -// {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D32 // {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PA_12, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PA_15, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PB_4, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PB_6, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PB_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PB_13, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PB_14, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, -// {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PD_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_12, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + {PA_15, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // - D20 + {PB_4, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // - D25 +// {PB_6, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_UART5)}, // - D26 + {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - D26 + {PB_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D14 + {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D36 + {PB_13, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D18 +// {PB_14, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // - D74 + {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D16 + {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D45 +// {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D45 + {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D47 + {PD_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D66 + {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D53 {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - STLINK TX // {PE_1, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, -// {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D42 +// {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D94 + {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D1 // {PH_13, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, {NC, NP, 0} }; @@ -268,28 +268,28 @@ const PinMap PinMap_UART_TX[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_RX[] = { // {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PA_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, +// {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D78 +// {PA_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PA_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PB_3, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PB_5, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PB_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PB_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PB_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, -// {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PD_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, -// {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + {PB_3, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // - D23 + {PB_5, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_UART5)}, // - D22 +// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - D73 + {PB_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D15 + {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D35 + {PB_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D19 + {PB_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // - D17 + {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D21 + {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D46 +// {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D46 + {PD_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D67 + {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D48 + {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D52 {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - STLINK RX -// {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, -// {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // - D34 + {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D41 +// {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D87 A9 + {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D0 // {PH_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // {PI_9, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, {NC, NP, 0} @@ -300,15 +300,15 @@ const PinMap PinMap_UART_RX[] = { const PinMap PinMap_UART_RTS[] = { // {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PB_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, -// {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, -// {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, + {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D20 +// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D74 +// {PB_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D74 + {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // - D43 + {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D54 + {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D29 + {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // - D9 + {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D6 + {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D61 // {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} @@ -317,17 +317,17 @@ const PinMap PinMap_UART_RTS[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_CTS[] = { -// {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D32 // {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PB_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, -// {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, -// {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, -// {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, + {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D33 + {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D18 + {PB_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D17 + {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // - D44 + {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D55 + {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D30 + {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // - D10 + {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D40 + {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D63 // {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} From 6328bd6f8d64914f31c81d470861be7db0b897c8 Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 13:54:21 +0800 Subject: [PATCH 11/38] [NUCLEO-F767ZI] Update SPI Pinmap --- variants/NUCLEO_F767ZI/PeripheralPins.c | 105 +++++++++++++----------- 1 file changed, 59 insertions(+), 46 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index 097fadd9df..9c9ff7eb35 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -338,78 +338,91 @@ const PinMap PinMap_UART_CTS[] = { #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_MOSI[] = { -// {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PB_2, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, -// {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, - {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D11 + {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D11 SPI_A_MOSI +// {PA_7, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D11 + {PB_2, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, // - D27 +// {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D22 + {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D22 SPI_B_MOSI +// {PB_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D22 + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D17 // {PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -// {PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, -// {PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, -// {PE_14, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, - {PF_9, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A2 + {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - A2 + {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D47 + {PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, // - D52 + {PD_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D51 + {PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D59 + {PE_14, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D38 + {PF_9, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // - D63 // {PF_11, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, -// {PG_14, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, - {PI_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D7 + {PG_14, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, // - D1 +// {PI_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {NC, NP, 0} }; #endif #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_MISO[] = { -// {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, - {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D12 -// {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -// {PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, -// {PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, - {PF_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A3 + {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D12 SPI_A_MISO +// {PA_6, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D12 +// {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D25 + {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D25 SPI_B_MISO +// {PB_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D25 +// {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - A7 + {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D46 + {PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D58 + {PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D3 + {PF_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // - D61 + {PG_9, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D0 // {PG_12, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, // {PH_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, - {PI_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D8 +// {PI_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {NC, NP, 0} }; #endif #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_SCLK[] = { -// {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D13 SPI_A_SCK +// {PA_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D13 // {PA_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -// {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -// {PD_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PE_2, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, -// {PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, - {PF_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A4 +// {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D23 + {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D23 SPI_B_SCK +// {PB_3, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D23 + {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D36 + {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D18 + {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D45 + {PD_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D55 + {PE_2, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D31 D56 + {PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D39 + {PF_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // - D62 +// {PG_11, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // {PG_13, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, - {PH_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // D6 - {PI_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D13 +// {PH_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, +// {PI_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {NC, NP, 0} }; #endif #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_SSEL[] = { -// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -// {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, - {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, // D3 - {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D14 -// {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, -// {PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, - {PF_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // A5 +// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D24 + {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D24 SPI_B_NSS +// {PA_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D24 +// {PA_11, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D20 +// {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D20 + {PA_15, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI6)}, // - D20 + {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, // - D25 + {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D14 + {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D19 + {PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D57 + {PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D5 +// {PF_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // {PG_8, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, +// {PG_10, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // {PH_5, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, - {PI_0, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D10 +// {PI_0, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {NC, NP, 0} }; #endif From abf00b456f0d326715e54d24f093ffffecfa82fd Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 14:04:32 +0800 Subject: [PATCH 12/38] [NUCLEO-F767ZI] Update CAN pinmap --- variants/NUCLEO_F767ZI/PeripheralPins.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index 9c9ff7eb35..2cf7f8cbde 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -431,11 +431,14 @@ const PinMap PinMap_SPI_SSEL[] = { #ifdef HAL_CAN_MODULE_ENABLED const PinMap PinMap_CAN_RD[] = { +// {PA_8, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -// {PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, - {PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D15 -// {PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, -// {PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + {PB_3, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // D23 + {PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D22 + {PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // A5 + {PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D19 + {PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D67 CAN_RX +// {PH_14, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // {PI_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {NC, NP, 0} }; @@ -444,10 +447,12 @@ const PinMap PinMap_CAN_RD[] = { #ifdef HAL_CAN_MODULE_ENABLED const PinMap PinMap_CAN_TD[] = { // {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -// {PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, - {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D14 -// {PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, -// {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +// {PA_15, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, + {PB_4, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // D25 + {PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D26 + {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // A4 + {PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D18 + {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D66 CAN_TX // {PH_13, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {NC, NP, 0} }; From 67fd3b49a6bc0407643f77ca293426139d8824ab Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 14:58:26 +0800 Subject: [PATCH 13/38] [NUCLEO-F767ZI]Update ETH --- variants/NUCLEO_F767ZI/PeripheralPins.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index 2cf7f8cbde..db46ef3de1 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -476,7 +476,7 @@ const PinMap PinMap_Ethernet[] = { // {PB_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER // {PB_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN // {PB_12, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 -// {PB_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + {PB_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 {PC_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDC // {PC_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD2 // {PC_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_CLK @@ -486,7 +486,7 @@ const PinMap PinMap_Ethernet[] = { // {PG_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT {PG_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 - {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 +// {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 // {PH_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS // {PH_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL // {PH_6, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 @@ -495,3 +495,11 @@ const PinMap PinMap_Ethernet[] = { {NC, NP, 0} }; #endif + +//*** USB *** +//PA_9 USB_VBUS +//PA_11 USB_DM +//PA_12 USB_DP +//PA_10 USB_ID +//PG_6 USB_GPIO_OUT +//PG_7 USB_GPIO_IN From 632da50d8e6dc3e2fa0a70ed9a52650ff9627bcb Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 15:06:47 +0800 Subject: [PATCH 14/38] [NUCLEO-F767ZI]Del ffconf.h --- variants/NUCLEO_F767ZI/ffconf.h | 247 -------------------------------- 1 file changed, 247 deletions(-) delete mode 100644 variants/NUCLEO_F767ZI/ffconf.h diff --git a/variants/NUCLEO_F767ZI/ffconf.h b/variants/NUCLEO_F767ZI/ffconf.h deleted file mode 100644 index 6227bcf50f..0000000000 --- a/variants/NUCLEO_F767ZI/ffconf.h +++ /dev/null @@ -1,247 +0,0 @@ -/*---------------------------------------------------------------------------/ -/ FatFs - FAT file system module configuration file R0.11 (C)ChaN, 2015 -/----------------------------------------------------------------------------/ -/ -/ CAUTION! Do not forget to make clean the project after any changes to -/ the configuration options. -/ -/----------------------------------------------------------------------------*/ -#ifndef _FFCONF -#define _FFCONF 32020 /* Revision ID */ - -/*-----------------------------------------------------------------------------/ -/ Additional user header to be used -/-----------------------------------------------------------------------------*/ -#include "stm32_def.h" -#include "bsp_sd.h" -/*-----------------------------------------------------------------------------/ -/ Functions and Buffer Configurations -/-----------------------------------------------------------------------------*/ - -#define _FS_TINY 0 /* 0:Normal or 1:Tiny */ -/* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system -/ object instead of the sector buffer in the individual file object for file -/ data transfer. This reduces memory consumption 512 bytes each file object. */ - - -#define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */ -/* Setting _FS_READONLY to 1 defines read only configuration. This removes -/ writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename, -/ f_truncate and useless f_getfree. */ - - -#define _FS_MINIMIZE 0 /* 0 to 3 */ -/* The _FS_MINIMIZE option defines minimization level to remove some functions. -/ -/ 0: Full function. -/ 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate, f_utime -/ and f_rename are removed. -/ 2: f_opendir and f_readdir are removed in addition to 1. -/ 3: f_lseek is removed in addition to 2. */ - - -#define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */ -/* To enable string functions, set _USE_STRFUNC to 1 or 2. */ - - -#define _USE_MKFS 1 /* 0:Disable or 1:Enable */ -/* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */ - - -#define _USE_FASTSEEK 1 /* 0:Disable or 1:Enable */ -/* To enable fast seek feature, set _USE_FASTSEEK to 1. */ - - -#define _USE_LABEL 0 /* 0:Disable or 1:Enable */ -/* To enable volume label functions, set _USE_LAVEL to 1 */ - - -#define _USE_FORWARD 0 /* 0:Disable or 1:Enable */ -/* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */ - -#define _USE_FIND 0 -/* This option switches filtered directory read feature and related functions, -/� f_findfirst() and f_findnext(). (0:Disable or 1:Enable) */ - - -/* This option is available only for usbh diskio interface and allow to disable -/ the management of the unaligned buffer. -/ When STM32 USB OTG HS or FS IP is used with internal DMA enabled, this define -/ must be set to 0 to align data into 32bits through an internal scratch buffer -/ before being processed by the DMA . Otherwise (DMA not used), this define must -/ be set to 1 to avoid Data alignment and improve the performance. -/ Please note that if _USE_BUFF_WO_ALIGNMENT is set to 1 and an unaligned 32bits -/ buffer is forwarded to the FatFs Write/Read functions, an error will be returned. -/ (0: default value or 1: unaligned buffer return an error). */ - - -/*-----------------------------------------------------------------------------/ -/ Local and Namespace Configurations -/-----------------------------------------------------------------------------*/ - -#define _CODE_PAGE 1252 -/* The _CODE_PAGE specifies the OEM code page to be used on the target system. -/ Incorrect setting of the code page can cause a file open failure. -/ -/ 932 - Japanese Shift-JIS (DBCS, OEM, Windows) -/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows) -/ 949 - Korean (DBCS, OEM, Windows) -/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows) -/ 1250 - Central Europe (Windows) -/ 1251 - Cyrillic (Windows) -/ 1252 - Latin 1 (Windows) -/ 1253 - Greek (Windows) -/ 1254 - Turkish (Windows) -/ 1255 - Hebrew (Windows) -/ 1256 - Arabic (Windows) -/ 1257 - Baltic (Windows) -/ 1258 - Vietnam (OEM, Windows) -/ 437 - U.S. (OEM) -/ 720 - Arabic (OEM) -/ 737 - Greek (OEM) -/ 775 - Baltic (OEM) -/ 850 - Multilingual Latin 1 (OEM) -/ 858 - Multilingual Latin 1 + Euro (OEM) -/ 852 - Latin 2 (OEM) -/ 855 - Cyrillic (OEM) -/ 866 - Russian (OEM) -/ 857 - Turkish (OEM) -/ 862 - Hebrew (OEM) -/ 874 - Thai (OEM, Windows) -/ 1 - ASCII only (Valid for non LFN cfg.) -*/ - - -#define _USE_LFN 1 /* 0 to 3 */ -#define _MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */ -/* The _USE_LFN option switches the LFN feature. -/ -/ 0: Disable LFN feature. _MAX_LFN has no effect. -/ 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant. -/ 2: Enable LFN with dynamic working buffer on the STACK. -/ 3: Enable LFN with dynamic working buffer on the HEAP. -/ -/ To enable LFN feature, Unicode handling functions ff_convert() and ff_wtoupper() -/ function must be added to the project. -/ The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. When use stack for the -/ working buffer, take care on stack overflow. When use heap memory for the working -/ buffer, memory management functions, ff_memalloc() and ff_memfree(), must be added -/ to the project. */ - - -#define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */ -/* To switch the character encoding on the FatFs API to Unicode, enable LFN feature -/ and set _LFN_UNICODE to 1. */ - - -#define _STRF_ENCODE 3 /* 0:ANSI/OEM, 1:UTF-16LE, 2:UTF-16BE, 3:UTF-8 */ -/* When Unicode API is enabled, character encoding on the all FatFs API is switched -/ to Unicode. This option selects the character encoding on the file to be read/written -/ via string functions, f_gets(), f_putc(), f_puts and f_printf(). -/ This option has no effect when _LFN_UNICODE is 0. */ - - -#define _FS_RPATH 0/* 0 to 2 */ -/* The _FS_RPATH option configures relative path feature. -/ -/ 0: Disable relative path feature and remove related functions. -/ 1: Enable relative path. f_chdrive() and f_chdir() function are available. -/ 2: f_getcwd() function is available in addition to 1. -/ -/ Note that output of the f_readdir() fnction is affected by this option. */ - - -/*---------------------------------------------------------------------------/ -/ Drive/Volume Configurations -/----------------------------------------------------------------------------*/ - -#define _VOLUMES 1 -/* Number of volumes (logical drives) to be used. */ - - -#define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */ -/* When set to 0, each volume is bound to the same physical drive number and -/ it can mount only first primaly partition. When it is set to 1, each volume -/ is tied to the partitions listed in VolToPart[]. */ - - -#define _MIN_SS 512 -#define _MAX_SS 512 -/* These options configure the range of sector size to be supported. (512, 1024, 2048 or -/ 4096) Always set both 512 for most systems, all memory card and harddisk. But a larger -/ value may be required for on-board flash memory and some type of optical media. -/ When _MAX_SS is larger than _MIN_SS, FatFs is configured to variable sector size and -/ GET_SECTOR_SIZE command must be implemented to the disk_ioctl() function. */ - - -#define _USE_TRIM 0 /* 0:Disable or 1:Enable */ -/* To enable sector erase feature, set _USE_TRIM to 1. Also CTRL_ERASE_SECTOR command -/ should be added to the disk_ioctl() function. */ - - -#define _FS_NOFSINFO 0 /* 0 or 1 */ -/* If you need to know the correct free space on the FAT32 volume, set this -/ option to 1 and f_getfree() function at first time after volume mount will -/ force a full FAT scan. -/ -/ 0: Load all informations in the FSINFO if available. -/ 1: Do not trust free cluster count in the FSINFO. -*/ - - -/*---------------------------------------------------------------------------/ -/ System Configurations -/----------------------------------------------------------------------------*/ - -#define _WORD_ACCESS 0 /* 0 or 1 */ -/* The _WORD_ACCESS option is an only platform dependent option. It defines -/ which access method is used to the word data on the FAT volume. -/ -/ 0: Byte-by-byte access. Always compatible with all platforms. -/ 1: Word access. Do not choose this unless under both the following conditions. -/ -/ * Byte order on the memory is little-endian. -/ * Address miss-aligned word access is always allowed for all instructions. -/ -/ If it is the case, _WORD_ACCESS can also be set to 1 to improve performance -/ and reduce code size. -*/ - - -/* A header file that defines sync object types on the O/S, such as -/ windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */ - -#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */ -#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */ -#define _SYNC_t 0 /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */ - -/* The _FS_REENTRANT option switches the re-entrancy (thread safe) of the FatFs module. -/ -/ 0: Disable re-entrancy. _SYNC_t and _FS_TIMEOUT have no effect. -/ 1: Enable re-entrancy. Also user provided synchronization handlers, -/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj() -/ function must be added to the project. */ - - -#define _FS_LOCK 0 /* 0:Disable or >=1:Enable */ -/* To enable file lock control feature, set _FS_LOCK to 1 or greater. - The value defines how many files can be opened simultaneously. */ - -#define _FS_NORTC 0 -#define _NORTC_MON 2 -#define _NORTC_MDAY 1 -#define _NORTC_YEAR 2015 -/* The _FS_NORTC option switches timestamp feature. If the system does not have -/� an RTC function or valid timestamp is not needed, set _FS_NORTC to 1 to disable -/� the timestamp feature. All objects modified by FatFs will have a fixed timestamp -/� defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR. -/� When timestamp feature is enabled (_FS_NORTC == 0), get_fattime() function need -/� to be added to the project to read current time form RTC. _NORTC_MON, -/� _NORTC_MDAY and _NORTC_YEAR have no effect. -/� These options have no effect at read-only configuration (_FS_READONLY == 1). */ - -#if _NORTC_YEAR < 1980 || _NORTC_YEAR > 2107 || _NORTC_MON < 1 || _NORTC_MON > 12 || _NORTC_MDAY < 1 || _NORTC_MDAY > 31 - #error Invalid _FS_NORTC settings -#endif - -#endif /* _FFCONFIG */ From 1086a1db1fbc93de70d6316cfee76003d201e544 Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 16:21:04 +0800 Subject: [PATCH 15/38] [NUCLEO-F767ZI]Update SystemClock_Config --- variants/NUCLEO_F767ZI/variant.cpp | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/variants/NUCLEO_F767ZI/variant.cpp b/variants/NUCLEO_F767ZI/variant.cpp index 4d45699be9..cbf63e9de3 100644 --- a/variants/NUCLEO_F767ZI/variant.cpp +++ b/variants/NUCLEO_F767ZI/variant.cpp @@ -164,17 +164,17 @@ WEAK void SystemClock_Config(void) /* Configure the main internal regulator output voltage */ __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); /* Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; + RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 25; - RCC_OscInitStruct.PLL.PLLN = 432; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 96; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 9; + RCC_OscInitStruct.PLL.PLLQ = 4; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); @@ -191,24 +191,17 @@ WEAK void SystemClock_Config(void) |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK) + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } - PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_USART1 - |RCC_PERIPHCLK_CLK48; - PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; - PeriphClkInitStruct.PLLSAI.PLLSAIR = 5; - PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2; - PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4; - PeriphClkInitStruct.PLLSAIDivQ = 1; - PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_4; - PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; - PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLLSAIP; + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3|RCC_PERIPHCLK_CLK48; + PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1; + PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLL; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); From 5681c0c480c14b8bcc2be799ce38e64821845d3b Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 16:23:35 +0800 Subject: [PATCH 16/38] [NUCLEO-F767ZI]Update ldscript.ls --- variants/NUCLEO_F767ZI/ldscript.ld | 45 +++++++++--------------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/variants/NUCLEO_F767ZI/ldscript.ld b/variants/NUCLEO_F767ZI/ldscript.ld index fc7b304b72..c1aff0e5d6 100644 --- a/variants/NUCLEO_F767ZI/ldscript.ld +++ b/variants/NUCLEO_F767ZI/ldscript.ld @@ -4,8 +4,8 @@ ** File : LinkerScript.ld ** -** Abstract : Linker script for STM32F746NGHx Device with -** 1024KByte FLASH, 320KByte RAM +** Abstract : Linker script for STM32F767ZITx Device with +** 2048KByte FLASH, 512KByte RAM ** ** Set heap size, stack size and stack location according ** to application requirements. @@ -18,32 +18,13 @@ ** Distribution: The file is distributed as is, without any warranty ** of any kind. ** -***************************************************************************** -** @attention -** -**

© COPYRIGHT(c) 2014 Ac6

-** -** Redistribution and use in source and binary forms, with or without modification, -** are permitted provided that the following conditions are met: -** 1. Redistributions of source code must retain the above copyright notice, -** this list of conditions and the following disclaimer. -** 2. Redistributions in binary form must reproduce the above copyright notice, -** this list of conditions and the following disclaimer in the documentation -** and/or other materials provided with the distribution. -** 3. Neither the name of Ac6 nor the names of its contributors -** may be used to endorse or promote products derived from this software -** without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** (c)Copyright Ac6. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Ac6 permit registered System Workbench for MCU users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the System Workbench for MCU toolchain. ** ***************************************************************************** */ @@ -52,7 +33,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ -_estack = 0x20050000; /* end of RAM */ +_estack = 0x20080000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x200; /* required amount of heap */ _Min_Stack_Size = 0x400; /* required amount of stack */ @@ -60,8 +41,8 @@ _Min_Stack_Size = 0x400; /* required amount of stack */ /* Specify the memory areas */ MEMORY { -RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K -FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K +RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 512K +FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K } /* Define output sections */ @@ -76,7 +57,7 @@ SECTIONS } >FLASH /* The program code and other data goes into FLASH */ - .text ALIGN(4): + .text : { . = ALIGN(4); *(.text) /* .text sections (code) */ From 00c7757dbff690309d3b4b5d53b6e898f1a52e4d Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 16:30:13 +0800 Subject: [PATCH 17/38] [NUCLEO-F767ZI]Copy stm32f7xx_hal_conf.h from Cube FW F7 1.12.0 --- variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h | 176 ++++++++++---------- 1 file changed, 86 insertions(+), 90 deletions(-) diff --git a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h index 4240194e4e..20844ddcba 100644 --- a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h +++ b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h @@ -1,14 +1,11 @@ /** ****************************************************************************** - * @file stm32f7xx_hal_conf_template.h - * @author MCD Application Team - * @brief HAL configuration template file. - * This file should be copied to the application folder and renamed - * to stm32f7xx_hal_conf.h. + * @file stm32f7xx_hal_conf.h + * @brief HAL configuration file. ****************************************************************************** * @attention * - *

© COPYRIGHT(c) 2017 STMicroelectronics

+ *

© COPYRIGHT(c) 2018 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: @@ -51,54 +48,56 @@ * @brief This is the list of modules to be used in the HAL driver */ #define HAL_MODULE_ENABLED -#define HAL_ADC_MODULE_ENABLED -#define HAL_CAN_MODULE_ENABLED -/* #define HAL_CAN_LEGACY_MODULE_ENABLED */ -/* #define HAL_CEC_MODULE_ENABLED */ -/* #define HAL_CRC_MODULE_ENABLED */ -/* #define HAL_CRYP_MODULE_ENABLED */ -#define HAL_DAC_MODULE_ENABLED -/* #define HAL_DCMI_MODULE_ENABLED */ -#define HAL_DMA_MODULE_ENABLED -/* #define HAL_DMA2D_MODULE_ENABLED */ + +/* #define HAL_ADC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +/* #define HAL_CAN_MODULE_ENABLED */ +/* #define HAL_CEC_MODULE_ENABLED */ +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +/* #define HAL_DAC_MODULE_ENABLED */ +/* #define HAL_DCMI_MODULE_ENABLED */ +/* #define HAL_DMA2D_MODULE_ENABLED */ #define HAL_ETH_MODULE_ENABLED -#define HAL_FLASH_MODULE_ENABLED -/* #define HAL_NAND_MODULE_ENABLED */ -/* #define HAL_NOR_MODULE_ENABLED */ -/* #define HAL_SRAM_MODULE_ENABLED */ -/* #define HAL_SDRAM_MODULE_ENABLED */ -/* #define HAL_HASH_MODULE_ENABLED */ +/* #define HAL_NAND_MODULE_ENABLED */ +/* #define HAL_NOR_MODULE_ENABLED */ +/* #define HAL_SRAM_MODULE_ENABLED */ +/* #define HAL_SDRAM_MODULE_ENABLED */ +/* #define HAL_HASH_MODULE_ENABLED */ +/* #define HAL_I2S_MODULE_ENABLED */ +/* #define HAL_IWDG_MODULE_ENABLED */ +/* #define HAL_LPTIM_MODULE_ENABLED */ +/* #define HAL_LTDC_MODULE_ENABLED */ +/* #define HAL_QSPI_MODULE_ENABLED */ +/* #define HAL_RNG_MODULE_ENABLED */ +/* #define HAL_RTC_MODULE_ENABLED */ +/* #define HAL_SAI_MODULE_ENABLED */ +/* #define HAL_SD_MODULE_ENABLED */ +/* #define HAL_MMC_MODULE_ENABLED */ +/* #define HAL_SPDIFRX_MODULE_ENABLED */ +/* #define HAL_SPI_MODULE_ENABLED */ +/* #define HAL_TIM_MODULE_ENABLED */ +#define HAL_UART_MODULE_ENABLED +/* #define HAL_USART_MODULE_ENABLED */ +/* #define HAL_IRDA_MODULE_ENABLED */ +/* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_PCD_MODULE_ENABLED +/* #define HAL_HCD_MODULE_ENABLED */ +/* #define HAL_DFSDM_MODULE_ENABLED */ +/* #define HAL_DSI_MODULE_ENABLED */ +/* #define HAL_JPEG_MODULE_ENABLED */ +/* #define HAL_MDIOS_MODULE_ENABLED */ +/* #define HAL_SMBUS_MODULE_ENABLED */ +/* #define HAL_MMC_MODULE_ENABLED */ +/* #define HAL_EXTI_MODULE_ENABLED */ #define HAL_GPIO_MODULE_ENABLED -#define HAL_I2C_MODULE_ENABLED -/* #define HAL_I2S_MODULE_ENABLED */ -/* #define HAL_IWDG_MODULE_ENABLED */ -/* #define HAL_LPTIM_MODULE_ENABLED */ -/* #define HAL_LTDC_MODULE_ENABLED */ -#define HAL_PWR_MODULE_ENABLED -/* #define HAL_QSPI_MODULE_ENABLED */ +#define HAL_DMA_MODULE_ENABLED #define HAL_RCC_MODULE_ENABLED -/* #define HAL_RNG_MODULE_ENABLED */ -#define HAL_RTC_MODULE_ENABLED -/* #define HAL_SAI_MODULE_ENABLED */ -#define HAL_SD_MODULE_ENABLED -/* #define HAL_SPDIFRX_MODULE_ENABLED */ -#define HAL_SPI_MODULE_ENABLED -#define HAL_TIM_MODULE_ENABLED -/* #define HAL_UART_MODULE_ENABLED */ -/* #define HAL_USART_MODULE_ENABLED */ -/* #define HAL_IRDA_MODULE_ENABLED */ -/* #define HAL_SMARTCARD_MODULE_ENABLED */ -/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_FLASH_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED #define HAL_CORTEX_MODULE_ENABLED -#define HAL_PCD_MODULE_ENABLED -#define HAL_HCD_MODULE_ENABLED -/* #define HAL_DFSDM_MODULE_ENABLED */ -/* #define HAL_DSI_MODULE_ENABLED */ -/* #define HAL_JPEG_MODULE_ENABLED */ -/* #define HAL_MDIOS_MODULE_ENABLED */ -/* #define HAL_SMBUS_MODULE_ENABLED */ -/* #define HAL_MMC_MODULE_ENABLED */ - /* ########################## HSE/HSI Values adaptation ##################### */ /** @@ -107,11 +106,11 @@ * (when HSE is used as system clock source, directly or through the PLL). */ #if !defined (HSE_VALUE) - #define HSE_VALUE 25000000U /*!< Value of the External oscillator in Hz */ + #define HSE_VALUE ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */ #endif /* HSE_VALUE */ #if !defined (HSE_STARTUP_TIMEOUT) - #define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */ + #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ #endif /* HSE_STARTUP_TIMEOUT */ /** @@ -120,14 +119,14 @@ * (when HSI is used as system clock source, directly or through the PLL). */ #if !defined (HSI_VALUE) - #define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/ + #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/ #endif /* HSI_VALUE */ /** * @brief Internal Low Speed oscillator (LSI) value. */ #if !defined (LSI_VALUE) - #define LSI_VALUE 32000U /*!< LSI Typical Value in Hz*/ + #define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/ #endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz The real value may vary depending on the variations in voltage and temperature. */ @@ -135,11 +134,11 @@ * @brief External Low Speed oscillator (LSE) value. */ #if !defined (LSE_VALUE) - #define LSE_VALUE 32768U /*!< Value of the External Low Speed oscillator in Hz */ + #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External Low Speed oscillator in Hz */ #endif /* LSE_VALUE */ #if !defined (LSE_STARTUP_TIMEOUT) - #define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */ + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ #endif /* LSE_STARTUP_TIMEOUT */ /** @@ -148,7 +147,7 @@ * frequency, this source is inserted directly through I2S_CKIN pad. */ #if !defined (EXTERNAL_CLOCK_VALUE) - #define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the Internal oscillator in Hz*/ + #define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000U) /*!< Value of the Internal oscillator in Hz*/ #endif /* EXTERNAL_CLOCK_VALUE */ /* Tip: To avoid modifying this file each time you need to use different HSE, @@ -158,18 +157,18 @@ /** * @brief This is the HAL system configuration section */ -#define VDD_VALUE 3300U /*!< Value of VDD in mv */ -#define TICK_INT_PRIORITY 0x0FU /*!< tick interrupt priority */ +#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */ #define USE_RTOS 0U -#define PREFETCH_ENABLE 1U /* To enable prefetch */ -#define ART_ACCLERATOR_ENABLE 1U /* To enable ART Accelerator */ +#define PREFETCH_ENABLE 0U +#define ART_ACCLERATOR_ENABLE 0U /* To enable instruction cache and prefetch */ /* ########################## Assert Selection ############################## */ /** * @brief Uncomment the line below to expanse the "assert_param" macro in the * HAL drivers code */ -/* #define USE_FULL_ASSERT 1 */ +/* #define USE_FULL_ASSERT 1U */ /* ################## Ethernet peripheral configuration ##################### */ @@ -186,19 +185,20 @@ /* Definition of the Ethernet driver buffers size and count */ #define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ #define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ -#define ETH_RXBUFNB 4U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ -#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ +#define ETH_RXBUFNB ((uint32_t)4U) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ +#define ETH_TXBUFNB ((uint32_t)4U) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ /* Section 2: PHY configuration section */ -/* LAN8742A PHY Address*/ -#define LAN8742A_PHY_ADDRESS 0x00U + +/* LAN8742A_PHY_ADDRESS Address*/ +#define LAN8742A_PHY_ADDRESS 0 /* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ -#define PHY_RESET_DELAY 0x00000FFFU +#define PHY_RESET_DELAY ((uint32_t)0x000000FFU) /* PHY Configuration delay */ -#define PHY_CONFIG_DELAY 0x00000FFFU +#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFFU) -#define PHY_READ_TO 0x0000FFFFU -#define PHY_WRITE_TO 0x0000FFFFU +#define PHY_READ_TO ((uint32_t)0x0000FFFFU) +#define PHY_WRITE_TO ((uint32_t)0x0000FFFFU) /* Section 3: Common PHY Registers */ @@ -221,16 +221,13 @@ #define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */ /* Section 4: Extended PHY Registers */ +#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */ -#define PHY_SR ((uint16_t)0x1FU) /*!< PHY special control/ status register Offset */ - -#define PHY_SPEED_STATUS ((uint16_t)0x0004U) /*!< PHY Speed mask */ -#define PHY_DUPLEX_STATUS ((uint16_t)0x0010U) /*!< PHY Duplex mask */ +#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */ +#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */ - -#define PHY_ISFR ((uint16_t)0x01DU) /*!< PHY Interrupt Source Flag register Offset */ -#define PHY_IMR ((uint16_t)0x001E) /*!< PHY Interrupt Mask register Offset */ -#define PHY_ISFR_INT4 ((uint16_t)0x0010U) /*!< PHY Link down inturrupt */ +#define PHY_ISFR ((uint16_t)0x000BU) /*!< PHY Interrupt Source Flag register Offset */ +#define PHY_ISFR_INT4 ((uint16_t)0x000BU) /*!< PHY Link down inturrupt */ /* ################## SPI peripheral configuration ########################## */ @@ -239,7 +236,7 @@ * Deactivated: CRC code cleaned from driver */ -#define USE_SPI_CRC 1U +#define USE_SPI_CRC 0U /* Includes ------------------------------------------------------------------*/ /** @@ -250,6 +247,10 @@ #include "stm32f7xx_hal_rcc.h" #endif /* HAL_RCC_MODULE_ENABLED */ +#ifdef HAL_EXTI_MODULE_ENABLED + #include "stm32f7xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + #ifdef HAL_GPIO_MODULE_ENABLED #include "stm32f7xx_hal_gpio.h" #endif /* HAL_GPIO_MODULE_ENABLED */ @@ -270,10 +271,6 @@ #include "stm32f7xx_hal_can.h" #endif /* HAL_CAN_MODULE_ENABLED */ -#ifdef HAL_CAN_LEGACY_MODULE_ENABLED - #include "stm32f7xx_hal_can_legacy.h" -#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ - #ifdef HAL_CEC_MODULE_ENABLED #include "stm32f7xx_hal_cec.h" #endif /* HAL_CEC_MODULE_ENABLED */ @@ -370,6 +367,10 @@ #include "stm32f7xx_hal_sd.h" #endif /* HAL_SD_MODULE_ENABLED */ +#ifdef HAL_MMC_MODULE_ENABLED + #include "stm32f7xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + #ifdef HAL_SPDIFRX_MODULE_ENABLED #include "stm32f7xx_hal_spdifrx.h" #endif /* HAL_SPDIFRX_MODULE_ENABLED */ @@ -430,28 +431,23 @@ #include "stm32f7xx_hal_smbus.h" #endif /* HAL_SMBUS_MODULE_ENABLED */ -#ifdef HAL_MMC_MODULE_ENABLED - #include "stm32f7xx_hal_mmc.h" -#endif /* HAL_MMC_MODULE_ENABLED */ - /* Exported macro ------------------------------------------------------------*/ #ifdef USE_FULL_ASSERT /** * @brief The assert_param macro is used for function's parameters check. - * @param expr If expr is false, it calls assert_failed function + * @param expr: If expr is false, it calls assert_failed function * which reports the name of the source file and the source * line number of the call that failed. * If expr is true, it returns no value. * @retval None */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) + #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) /* Exported functions ------------------------------------------------------- */ void assert_failed(uint8_t* file, uint32_t line); #else #define assert_param(expr) ((void)0U) #endif /* USE_FULL_ASSERT */ - #ifdef __cplusplus } #endif From 848b97550474383890db8c041bbea3e10e043067 Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 10 Aug 2018 16:51:35 +0800 Subject: [PATCH 18/38] [NUCLEO-F767ZI]Update stm32f7xx_hal_conf.h --- variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h index 20844ddcba..132a54dc5b 100644 --- a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h +++ b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h @@ -48,14 +48,13 @@ * @brief This is the list of modules to be used in the HAL driver */ #define HAL_MODULE_ENABLED - -/* #define HAL_ADC_MODULE_ENABLED */ +#define HAL_ADC_MODULE_ENABLED /* #define HAL_CRYP_MODULE_ENABLED */ -/* #define HAL_CAN_MODULE_ENABLED */ +#define HAL_CAN_MODULE_ENABLED /* #define HAL_CEC_MODULE_ENABLED */ /* #define HAL_CRC_MODULE_ENABLED */ /* #define HAL_CRYP_MODULE_ENABLED */ -/* #define HAL_DAC_MODULE_ENABLED */ +#define HAL_DAC_MODULE_ENABLED /* #define HAL_DCMI_MODULE_ENABLED */ /* #define HAL_DMA2D_MODULE_ENABLED */ #define HAL_ETH_MODULE_ENABLED @@ -70,20 +69,20 @@ /* #define HAL_LTDC_MODULE_ENABLED */ /* #define HAL_QSPI_MODULE_ENABLED */ /* #define HAL_RNG_MODULE_ENABLED */ -/* #define HAL_RTC_MODULE_ENABLED */ +#define HAL_RTC_MODULE_ENABLED /* #define HAL_SAI_MODULE_ENABLED */ /* #define HAL_SD_MODULE_ENABLED */ /* #define HAL_MMC_MODULE_ENABLED */ /* #define HAL_SPDIFRX_MODULE_ENABLED */ -/* #define HAL_SPI_MODULE_ENABLED */ -/* #define HAL_TIM_MODULE_ENABLED */ +#define HAL_SPI_MODULE_ENABLED +#define HAL_TIM_MODULE_ENABLED #define HAL_UART_MODULE_ENABLED -/* #define HAL_USART_MODULE_ENABLED */ +#define HAL_USART_MODULE_ENABLED /* #define HAL_IRDA_MODULE_ENABLED */ /* #define HAL_SMARTCARD_MODULE_ENABLED */ /* #define HAL_WWDG_MODULE_ENABLED */ #define HAL_PCD_MODULE_ENABLED -/* #define HAL_HCD_MODULE_ENABLED */ +#define HAL_HCD_MODULE_ENABLED /* #define HAL_DFSDM_MODULE_ENABLED */ /* #define HAL_DSI_MODULE_ENABLED */ /* #define HAL_JPEG_MODULE_ENABLED */ @@ -448,6 +447,7 @@ #define assert_param(expr) ((void)0U) #endif /* USE_FULL_ASSERT */ + #ifdef __cplusplus } #endif From f427e23be5c12ee0070b61a522cf8d6ee118882f Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 16 Aug 2018 18:40:34 +0800 Subject: [PATCH 19/38] [NUCLEO-F767ZI]Upade PeripheralPins.c from templet --- variants/NUCLEO_F767ZI/PeripheralPins.c | 709 ++++++++++++------------ 1 file changed, 347 insertions(+), 362 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PeripheralPins.c b/variants/NUCLEO_F767ZI/PeripheralPins.c index db46ef3de1..d784b28eee 100644 --- a/variants/NUCLEO_F767ZI/PeripheralPins.c +++ b/variants/NUCLEO_F767ZI/PeripheralPins.c @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (c) 2016, STMicroelectronics + * Copyright (c) 2018, STMicroelectronics * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,69 +26,70 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ******************************************************************************* + * Automatically generated from STM32F767ZITx.xml */ #include "Arduino.h" #include "PeripheralPins.h" -// ===== -// Note: Commented lines are alternative possibilities which are not used per default. -// If you change them, you will have to know what you do -// ===== - +/* ===== + * Note: Commented lines are alternative possibilities which are not used per default. + * If you change them, you will have to know what you do + * ===== + */ //*** ADC *** #ifdef HAL_ADC_MODULE_ENABLED const PinMap PinMap_ADC[] = { - {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 - D32 -// {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 -// {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 -// {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 -// {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG,z GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 -// {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 -// {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 -// {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 -// {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 - {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 - A0 -// {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 - A0 -// {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 - A0 - {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 - D24 -// {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 - {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 - D13 -// {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 - {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 - D12 -// {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 - {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 - D71 -// {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 -// {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 -// {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 - {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 - A6 -// {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 - A6 - {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 - A1 -// {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 - A1 -// {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 - A1 -// {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 -// {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 -// {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 - {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 - A7 -// {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 - A7 -// {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 - A7 - {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 - A2 -// {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 - A2 -// {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 - A2 -// {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 -// {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 -// {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 -// {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 - {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9 - A3 - {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14 - A8 - {PF_5, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC3_IN15 - A4 -// {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 - {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 - D62 - {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 - D61 - {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 - D63 - {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 - A5 - {NC, NP, 0} +// {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 - D32 + {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 - D32 +// {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 - D32 +// {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 +// {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 +// {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 +// {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 +// {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 +// {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 + {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 - A0 +// {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 - A0 +// {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 - A0 + {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 - D24 +// {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 - D24 +// {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 - D13 + {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 - D13 + {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 - D12 +// {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 - D12 +// {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 - D11(D71) + {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 - D11(D71) + {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 - D33 +// {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 - D33 +// {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 - A6 + {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 - A6 +// {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 - A1 + {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 - A1 +// {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 - A1 +// {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 +// {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 +// {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 + {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 - A7 +// {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 - A7 +// {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 - A7 + {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 - A2 +// {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 - A2 +// {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 - A2 +// {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 +// {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 +// {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 +// {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 + {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9 - A3 + {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14 - A8 + {PF_5, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC3_IN15 - A4 +// {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 + {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 - D62 + {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 - D61 + {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 - D63 + {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 - A5 + {NC, NP, 0} }; #endif @@ -96,8 +97,8 @@ const PinMap PinMap_ADC[] = { #ifdef HAL_DAC_MODULE_ENABLED const PinMap PinMap_DAC[] = { - {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 - {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 + {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 + {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 {NC, NP, 0} }; #endif @@ -106,36 +107,30 @@ const PinMap PinMap_DAC[] = { #ifdef HAL_I2C_MODULE_ENABLED const PinMap PinMap_I2C_SDA[] = { -// {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, //LED1 -// {PB_7, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF11_I2C4)}, -// {PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C4)}, - {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D14 - {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D35 - {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // D44 - {PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D28 - {PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D68 - {PF_15, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D2 -// {PH_5, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, -// {PH_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, -// {PH_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, +// {PB_7, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF11_I2C4)}, + {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D14 I2CA +// {PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C4)}, // D14 + {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D35 + {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // D44 + {PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D28 + {PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D68 I2CB + {PF_15, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D2 {NC, NP, 0} }; #endif #ifdef HAL_I2C_MODULE_ENABLED const PinMap PinMap_I2C_SCL[] = { -// {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, -// {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, - {PB_6, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF11_I2C4)}, // D26 -// {PB_8, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C4)}, - {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D15 - {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D36 - {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D29 - {PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D69 - {PF_14, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D4 -// {PH_4, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, -// {PH_7, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, -// {PH_11, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, +// {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D26 +// {PB_6, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF11_I2C4)}, // D26 + {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // D15 I2CA +// {PB_8, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C4)}, // D15 + {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D36 + {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D29 + {PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // D69 I2CB + {PF_14, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, // D4 {NC, NP, 0} }; #endif @@ -144,91 +139,78 @@ const PinMap PinMap_I2C_SCL[] = { #ifdef HAL_TIM_MODULE_ENABLED const PinMap PinMap_PWM[] = { - {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D32 -// {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 - D32 -// {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 -// {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 -// {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 -// {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 -// {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 - {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - A0 -// {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 - A0 -// {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - A0 - {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D13 -// {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - D13 - {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - D12 -// {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D12 - {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - D11 -// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D11 -// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D11 -// {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - D11 -// {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 -// {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 -// {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 -// {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D20 - {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D33 -// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - D33 -// {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - D33 - {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - A6 -// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - A6 -// {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - A6 - {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - D23 - {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D25 - {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D22 - {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - D26 -// {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 - {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - D15 -// {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - D15 - {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D14 -// {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - D14 - {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - D36 - {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - D35 - {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D18 -// {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 -// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N -// {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 - D17 -// {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D17 -// {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - D17 - {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D16 -// {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 - D16 - {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D21 -// {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - D21 - {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - D43 -// {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 - D43 - {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - D44 -// {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 - D44 - {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - D29 - {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 - D28 - {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - D10 - {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - D9 - {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 - D58 - {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - D59 - {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D42 - {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - D6 - {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D40 - {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - D5 - {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D39 - {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - D3 - {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - D38 -// {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D62 - {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - D61 - {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - D63 -// {PH_6, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 -// {PH_9, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 -// {PH_10, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 -// {PH_11, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 -// {PH_12, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 -// {PH_13, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N -// {PH_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N -// {PH_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N -// {PI_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 -// {PI_2, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 -// {PI_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 -// {PI_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 -// {PI_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 +// {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D32 + {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 - D32 +// {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 +// {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 +// {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 +// {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 +// {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 +// {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - A0 +// {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 - A0 + {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - A0 +// {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D13 + {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - D13 +// {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D12 + {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - D12 +// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D11(D71) +// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D11(D71) +// {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - D11(D71) + {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - D11(D71) +// {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 +// {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 +// {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 +// {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - D20 + {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D33 +// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - D33 +// {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - D33 + {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - A6 +// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - A6 +// {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - A6 + {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - D23 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D25 + {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D22 + {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - D26 +// {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 +// {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - D15(A5) + {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - D15(A5) +// {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - D14(A4) + {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D14(A4) + {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - D36 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - D35 + {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D18 +// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N +// {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N +// {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 +// {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D17 +// {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - D17 + {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 - D17 + {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - D16 +// {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 - D16 +// {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - D21 + {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - D21 + {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - D43 +// {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 - D43 +// {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - D44 + {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 - D44 + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - D47 +// {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 +// {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 +// {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 - D58 + {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - D59 + {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D42 + {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - D6 + {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D40 + {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - D5 + {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D39 + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - D3 + {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - D38 +// {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 + {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - D62 + {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - D61 + {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - D63 {NC, NP, 0} }; #endif @@ -237,99 +219,96 @@ const PinMap PinMap_PWM[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_TX[] = { - {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D32 -// {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PA_12, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, - {PA_15, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // - D20 - {PB_4, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // - D25 -// {PB_6, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_UART5)}, // - D26 - {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - D26 - {PB_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D14 - {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D36 - {PB_13, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D18 -// {PB_14, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // - D74 - {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D16 - {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D45 -// {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D45 - {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D47 - {PD_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D66 - {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D53 - {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - STLINK TX -// {PE_1, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, - {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D42 -// {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D94 - {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D1 -// {PH_13, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D32 +// {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PA_12, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + {PA_15, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // D20 + {PB_4, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // D25 +// {PB_6, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_UART5)}, // D26 + {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // D26 + {PB_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // D14(A4) +// {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D36 + {PB_13, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // D18 +// {PB_14, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, + {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D16 + {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D45 +// {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D45 + {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // D47 + {PD_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D66 + {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // D53 USARTB_TX + {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // STLINK +// {PE_1, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // D42 + {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // D62 + {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D1 USARTA_TX {NC, NP, 0} }; #endif #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_RX[] = { -// {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D78 -// {PA_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, -// {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PA_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, - {PB_3, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // - D23 - {PB_5, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_UART5)}, // - D22 -// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - D73 - {PB_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D15 - {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D35 - {PB_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D19 - {PB_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // - D17 - {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D21 - {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D46 -// {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D46 - {PD_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D67 - {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // - D48 - {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D52 - {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - STLINK RX - {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // - D34 - {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D41 -// {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D87 A9 - {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // - D0 -// {PH_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, -// {PI_9, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // A0 +// {PA_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, +// {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PA_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + {PB_3, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_UART7)}, // D23 + {PB_5, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_UART5)}, // D22(D11) +// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PB_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // D15(A5) +// {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D35 + {PB_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // D19 + {PB_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // D17 + {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D21 + {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D46 +// {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D46 + {PD_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D67 + {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, // D48 + {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // D52 USARTB_RX + {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // STLINK + {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // D34 + {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // D41 +// {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, + {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, // D0 USARTA_RX {NC, NP, 0} }; #endif #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_RTS[] = { -// {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D20 -// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D74 -// {PB_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D74 - {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // - D43 - {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D54 - {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D29 - {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // - D9 - {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D6 - {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D61 -// {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, -// {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D20 +// {PB_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, +// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // D43 + {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // D54 USARTB_RTS +// {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D29 + {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // D9 + {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // D63 + {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // D61 +// {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; #endif #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_CTS[] = { - {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D32 -// {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D33 - {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D18 - {PB_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // - D17 - {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // - D44 - {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - D55 - {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D30 - {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // - D10 - {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D40 - {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // - D63 -// {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, -// {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // D32 +// {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D33 +// {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D18 + {PB_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // D17 + {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)}, // D44 + {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // D55 USARTB_CTS +// {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // D30 + {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, // D10 + {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // A5 + {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART7)}, // D63 +// {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; #endif @@ -338,91 +317,85 @@ const PinMap PinMap_UART_CTS[] = { #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_MOSI[] = { - {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D11 SPI_A_MOSI -// {PA_7, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D11 - {PB_2, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, // - D27 -// {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D22 - {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D22 SPI_B_MOSI -// {PB_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D22 - {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D17 -// {PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - A2 - {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D47 - {PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, // - D52 - {PD_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D51 - {PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D59 - {PE_14, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D38 - {PF_9, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // - D63 -// {PF_11, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, - {PG_14, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, // - D1 -// {PI_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D11(D71) SPI_A_MOSI +// {PA_7, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // D11(D71) SPI_A_MOSI + {PB_2, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, // D27 +// {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D22(D11) +// {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D22(D11) + {PB_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // D22(D11) + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D17 +// {PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // A2 + {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D47 + {PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, // D52 + {PD_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D51 + {PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D59 + {PE_14, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D38 + {PF_9, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // D63 +// {PF_11, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PG_14, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, // D1 {NC, NP, 0} }; #endif #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_MISO[] = { - {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D12 SPI_A_MISO -// {PA_6, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D12 -// {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D25 - {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D25 SPI_B_MISO -// {PB_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D25 -// {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - A7 - {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D46 - {PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D58 - {PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D3 - {PF_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // - D61 - {PG_9, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D0 -// {PG_12, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, -// {PH_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, -// {PI_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D12 SPI_A_MISO +// {PA_6, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // D12 SPI_A_MISO +// {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D25 SPI_B_MISO +// {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D25 SPI_B_MISO + {PB_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // D25 SPI_B_MISO +// {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // A7 + {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D46 + {PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D58 + {PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D3 + {PF_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // D61 + {PG_9, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D0 +// {PG_12, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, {NC, NP, 0} }; #endif #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_SCLK[] = { - {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D13 SPI_A_SCK -// {PA_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D13 -// {PA_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D23 - {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D23 SPI_B_SCK -// {PB_3, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D23 - {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D36 - {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D18 - {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D45 - {PD_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D55 - {PE_2, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D31 D56 - {PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D39 - {PF_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // - D62 -// {PG_11, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PG_13, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, -// {PH_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, -// {PI_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D13 SPI_A_SCK +// {PA_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // D13 SPI_A_SCK +// {PA_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PA_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +// {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D23 SPI_B_SCK +// {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D23 SPI_B_SCK + {PB_3, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // D23 SPI_B_SCK + {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D36 + {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D18 + {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D45 + {PD_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D55 + {PE_2, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D31 & D56 + {PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D39 + {PF_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, // D62 +// {PG_11, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +// {PG_13, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, {NC, NP, 0} }; #endif #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_SSEL[] = { -// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D24 - {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D24 SPI_B_NSS -// {PA_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // - D24 -// {PA_11, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -// {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D20 -// {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D20 - {PA_15, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI6)}, // - D20 - {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, // - D25 - {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D14 - {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D19 - {PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D57 - {PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // - D5 -// {PF_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, -// {PG_8, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, -// {PG_10, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -// {PH_5, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, -// {PI_0, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D24 SPI_A_NSS +// {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D24 SPI_A_NSS +// {PA_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, // D24 SPI_A_NSS +// {PA_11, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // D20 + {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // D20 + {PA_15, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI6)}, // D20 + {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, // D25 + {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D14(A4) + {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // D19 + {PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D57 + {PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, // D5 +// {PF_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, +// {PG_8, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, +// {PG_10, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, {NC, NP, 0} }; #endif @@ -431,75 +404,87 @@ const PinMap PinMap_SPI_SSEL[] = { #ifdef HAL_CAN_MODULE_ENABLED const PinMap PinMap_CAN_RD[] = { -// {PA_8, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, -// {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, - {PB_3, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // D23 - {PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D22 - {PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // A5 - {PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D19 - {PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D67 CAN_RX -// {PH_14, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -// {PI_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +// {PA_8, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, +// {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + {PB_3, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // D23 + {PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D22 (D11) + {PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D15 (A5) + {PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D19 + {PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D67 CAN_RX {NC, NP, 0} }; #endif #ifdef HAL_CAN_MODULE_ENABLED const PinMap PinMap_CAN_TD[] = { -// {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -// {PA_15, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, - {PB_4, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // D25 - {PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D26 - {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // A4 - {PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D18 - {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D66 CAN_TX -// {PH_13, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +// {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + {PA_15, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // D20 + {PB_4, CAN3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_CAN3)}, // D25 + {PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D26 + {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D14 (A4) + {PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, // D18 + {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // D66 CAN_TX {NC, NP, 0} }; #endif //*** ETHERNET *** -/* Configured for RMII mapping */ - #ifdef HAL_ETH_MODULE_ENABLED const PinMap PinMap_Ethernet[] = { -// {PA_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS - {PA_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_REF_CLK|ETH_RX_CLK - {PA_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDIO -// {PA_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL - {PA_7, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS_DV|ETH_RX_DV -// {PB_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 -// {PB_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD3 -// {PB_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT -// {PB_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 -// {PB_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER -// {PB_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN -// {PB_12, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 - {PB_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 - {PC_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDC -// {PC_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD2 -// {PC_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_CLK - {PC_4, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD0 - {PC_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD1 -// {PE_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 -// {PG_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT - {PG_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN - {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 -// {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 -// {PH_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS -// {PH_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL -// {PH_6, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 -// {PH_7, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD3 -// {PI_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER +// {PA_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS + {PA_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_REF_CLK|ETH_RX_CLK + {PA_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDIO +// {PA_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL + {PA_7, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS_DV|ETH_RX_DV +// {PB_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 +// {PB_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD3 +// {PB_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT +// {PB_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 +// {PB_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER +// {PB_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN +// {PB_12, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 + {PB_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + {PC_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDC +// {PC_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD2 +// {PC_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_CLK + {PC_4, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD0 + {PC_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD1 +// {PE_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 +// {PG_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT + {PG_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN + {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 +// {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 {NC, NP, 0} }; #endif -//*** USB *** -//PA_9 USB_VBUS -//PA_11 USB_DM -//PA_12 USB_DP -//PA_10 USB_ID -//PG_6 USB_GPIO_OUT -//PG_7 USB_GPIO_IN +//*** QUADSPI *** + +#ifdef HAL_QSPI_MODULE_ENABLED +const PinMap PinMap_QUADSPI[] = { +// {PA_1, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 + {PB_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_CLK - D27 QSPI_CLK + {PB_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS - D26 QSPI_CS + {PB_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_NCS - D36 + {PC_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO0 - D44 + {PC_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO1 - D45 + {PC_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK2_NCS - D46 + {PD_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO0 - D30 QSPI_BK1_IO0 + {PD_12, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO1 - D29 QSPI_BK1_IO1 + {PD_13, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 - D28 QSPI_BK1_IO3 + {PE_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO2 - D32 QSPI_BK1_IO2 & D56 + {PE_7, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO0 - D41 + {PE_8, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO1 - D42 + {PE_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO2 - D6 + {PE_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO3 - D40 +// {PF_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 + {PF_7, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO2 - D62 + {PF_8, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO0 - D61 + {PF_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO1 - D63 + {PF_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_CLK - A5 + {PG_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK2_IO2 - D0 + {PG_14, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK2_IO3 - D1 + {NC, NP, 0} +}; +#endif \ No newline at end of file From e1a417f287d60adb72f8e32095054f0db89c1977 Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 17 Aug 2018 14:58:02 +0800 Subject: [PATCH 20/38] [NUCLEO-F767ZI]Fixed System Clock change from 96M to 216M --- variants/NUCLEO_F767ZI/variant.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/variants/NUCLEO_F767ZI/variant.cpp b/variants/NUCLEO_F767ZI/variant.cpp index cbf63e9de3..6043c77df0 100644 --- a/variants/NUCLEO_F767ZI/variant.cpp +++ b/variants/NUCLEO_F767ZI/variant.cpp @@ -142,13 +142,13 @@ extern "C" { * AHB Prescaler = 1 * APB1 Prescaler = 4 * APB2 Prescaler = 2 - * HSE Frequency(Hz) = 25000000 - * PLL_M = 25 - * PLL_N = 432 + * HSE Frequency(Hz) = 8000000 + * PLL_M = 4 + * PLL_N = 216 * PLL_P = 2 * PLL_Q = 9 - * PLLSAI_N = 192 - * PLLSAI_P = 4 + * PLLSAI1_N = 192 + * PLLSAI1_P = 2 * VDD(V) = 3.3 * Main regulator output voltage = Scale1 mode * Flash Latency(WS) = 7 @@ -164,7 +164,7 @@ WEAK void SystemClock_Config(void) /* Configure the main internal regulator output voltage */ __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); /* Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; @@ -172,9 +172,9 @@ WEAK void SystemClock_Config(void) RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 96; + RCC_OscInitStruct.PLL.PLLN = 216; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 4; + RCC_OscInitStruct.PLL.PLLQ = 9; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); @@ -191,10 +191,10 @@ WEAK void SystemClock_Config(void) |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK) + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } From da8aa3bd8d1ceb1d24a9370f733def45e3b7e8ca Mon Sep 17 00:00:00 2001 From: davidanger Date: Fri, 17 Aug 2018 17:54:28 +0800 Subject: [PATCH 21/38] [BLUEBOX-F051C8] Creat Add in --- variants/BLUEBOX_F051C8/PeripheralPins.c | 222 +++++++++++++ variants/BLUEBOX_F051C8/PinNamesVar.h | 25 ++ variants/BLUEBOX_F051C8/ldscript.ld | 167 ++++++++++ variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h | 324 +++++++++++++++++++ variants/BLUEBOX_F051C8/variant.cpp | 151 +++++++++ variants/BLUEBOX_F051C8/variant.h | 151 +++++++++ 6 files changed, 1040 insertions(+) create mode 100644 variants/BLUEBOX_F051C8/PeripheralPins.c create mode 100644 variants/BLUEBOX_F051C8/PinNamesVar.h create mode 100644 variants/BLUEBOX_F051C8/ldscript.ld create mode 100644 variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h create mode 100644 variants/BLUEBOX_F051C8/variant.cpp create mode 100644 variants/BLUEBOX_F051C8/variant.h diff --git a/variants/BLUEBOX_F051C8/PeripheralPins.c b/variants/BLUEBOX_F051C8/PeripheralPins.c new file mode 100644 index 0000000000..b9e6d7fc1f --- /dev/null +++ b/variants/BLUEBOX_F051C8/PeripheralPins.c @@ -0,0 +1,222 @@ +/* + ******************************************************************************* + * Copyright (c) 2018, STMicroelectronics + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************* + * Automatically generated from STM32F051C8Tx.xml + */ +#include "Arduino.h" +#include "PeripheralPins.h" + +/* ===== + * Note: Commented lines are alternative possibilities which are not used per default. + * If you change them, you will have to know what you do + * ===== + */ + +//*** ADC *** + +#ifdef HAL_ADC_MODULE_ENABLED +const PinMap PinMap_ADC[] = { + {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC_IN0 + {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC_IN1 + {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC_IN2 + {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC_IN3 + {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC_IN4 + {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC_IN5 + {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC_IN6 + {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC_IN7 + {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC_IN8 + {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC_IN9 + {NC, NP, 0} +}; +#endif + +//*** DAC *** + +#ifdef HAL_DAC_MODULE_ENABLED +const PinMap PinMap_DAC[] = { + {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC1_OUT1 + {NC, NP, 0} +}; +#endif + +//*** I2C *** + +#ifdef HAL_I2C_MODULE_ENABLED +const PinMap PinMap_I2C_SDA[] = { + {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, +// {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, + {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C2)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_I2C_MODULE_ENABLED +const PinMap PinMap_I2C_SCL[] = { + {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, +// {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, + {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C2)}, + {NC, NP, 0} +}; +#endif + +//*** PWM *** + +#ifdef HAL_TIM_MODULE_ENABLED +const PinMap PinMap_PWM[] = { + {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1 + {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2 + {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3 +// {PA_2, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM15, 1, 0)}, // TIM15_CH1 + {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4 +// {PA_3, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM15, 2, 0)}, // TIM15_CH2 + {PA_4, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1 + {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1 +// {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1 + {PA_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM16, 1, 0)}, // TIM16_CH1 +// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N +// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2 +// {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1 + {PA_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM17, 1, 0)}, // TIM17_CH1 + {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 0)}, // TIM1_CH1 + {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 0)}, // TIM1_CH2 - USART1_TX + {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 0)}, // TIM1_CH3 - USART1_RX + {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 4, 0)}, // TIM1_CH4 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1 +// {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N + {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 3, 0)}, // TIM3_CH3 +// {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N +// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 4, 0)}, // TIM3_CH4 + {PB_1, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM14, 1, 0)}, // TIM14_CH1 + {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1 + {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2 + {PB_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 1)}, // TIM16_CH1N + {PB_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 1)}, // TIM17_CH1N + {PB_8, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 0)}, // TIM16_CH1 + {PB_9, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 0)}, // TIM17_CH1 + {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4 + {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N +// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N + {PB_14, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM15, 1, 0)}, // TIM15_CH1 + {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N +// {PB_15, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM15, 1, 1)}, // TIM15_CH1N +// {PB_15, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM15, 2, 0)}, // TIM15_CH2 + {NC, NP, 0} +}; +#endif + +//*** SERIAL *** + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_TX[] = { + {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, + {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, // USART1_TX +// {PA_14, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, +// {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_RX[] = { + {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, + {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, // USART1_RX +// {PA_15, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, +// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_RTS[] = { + {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, + {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_CTS[] = { + {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, + {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, + {NC, NP, 0} +}; +#endif + +//*** SPI *** + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_MOSI[] = { +// {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_MISO[] = { +// {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_SCLK[] = { +// {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_SSEL[] = { +// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, + {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, + {NC, NP, 0} +}; +#endif + +//*** CAN *** + +//*** No CAN_RD *** + +//*** No CAN_TD *** + +//*** ETHERNET *** + +//*** No Ethernet *** + +//*** QUADSPI *** + +//*** No QUADSPI *** \ No newline at end of file diff --git a/variants/BLUEBOX_F051C8/PinNamesVar.h b/variants/BLUEBOX_F051C8/PinNamesVar.h new file mode 100644 index 0000000000..6ef3f755ec --- /dev/null +++ b/variants/BLUEBOX_F051C8/PinNamesVar.h @@ -0,0 +1,25 @@ + /* SYS_WKUP */ +#ifdef PWR_WAKEUP_PIN1 + SYS_WKUP1 = PA_0, +#endif +#ifdef PWR_WAKEUP_PIN2 + SYS_WKUP2 = PC_13, +#endif +#ifdef PWR_WAKEUP_PIN3 + SYS_WKUP3 = NC, +#endif +#ifdef PWR_WAKEUP_PIN4 + SYS_WKUP4 = NC, +#endif +#ifdef PWR_WAKEUP_PIN5 + SYS_WKUP5 = NC, +#endif +#ifdef PWR_WAKEUP_PIN6 + SYS_WKUP6 = NC, +#endif +#ifdef PWR_WAKEUP_PIN7 + SYS_WKUP7 = NC, +#endif +#ifdef PWR_WAKEUP_PIN8 + SYS_WKUP8 = NC, +#endif \ No newline at end of file diff --git a/variants/BLUEBOX_F051C8/ldscript.ld b/variants/BLUEBOX_F051C8/ldscript.ld new file mode 100644 index 0000000000..3a3f64e3ca --- /dev/null +++ b/variants/BLUEBOX_F051C8/ldscript.ld @@ -0,0 +1,167 @@ +/* +***************************************************************************** +** + +** File : LinkerScript.ld +** +** Abstract : Linker script for STM32F051C8Tx Device with +** 64KByte FLASH, 8KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** +** Distribution: The file is distributed as is, without any warranty +** of any kind. +** +** (c)Copyright Ac6. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Ac6 permit registered System Workbench for MCU users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the System Workbench for MCU toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20002000; /* end of RAM */ +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ +RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K +FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 64K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data goes into FLASH */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >RAM + + + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h b/variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h new file mode 100644 index 0000000000..2a4d2a325e --- /dev/null +++ b/variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h @@ -0,0 +1,324 @@ +/** + ****************************************************************************** + * @file stm32f0xx_hal_conf.h + * @brief HAL configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2018 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F0xx_HAL_CONF_H +#define __STM32F0xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +#include "main.h" +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +/*#define HAL_ADC_MODULE_ENABLED */ +/*#define HAL_CRYP_MODULE_ENABLED */ +/*#define HAL_CAN_MODULE_ENABLED */ +/*#define HAL_CEC_MODULE_ENABLED */ +/*#define HAL_COMP_MODULE_ENABLED */ +/*#define HAL_CRC_MODULE_ENABLED */ +/*#define HAL_CRYP_MODULE_ENABLED */ +/*#define HAL_TSC_MODULE_ENABLED */ +/*#define HAL_DAC_MODULE_ENABLED */ +/*#define HAL_I2S_MODULE_ENABLED */ +/*#define HAL_IWDG_MODULE_ENABLED */ +/*#define HAL_LCD_MODULE_ENABLED */ +/*#define HAL_LPTIM_MODULE_ENABLED */ +/*#define HAL_RNG_MODULE_ENABLED */ +/*#define HAL_RTC_MODULE_ENABLED */ +/*#define HAL_SPI_MODULE_ENABLED */ +/*#define HAL_TIM_MODULE_ENABLED */ +/*#define HAL_UART_MODULE_ENABLED */ +/*#define HAL_USART_MODULE_ENABLED */ +/*#define HAL_IRDA_MODULE_ENABLED */ +/*#define HAL_SMARTCARD_MODULE_ENABLED */ +/*#define HAL_SMBUS_MODULE_ENABLED */ +/*#define HAL_WWDG_MODULE_ENABLED */ +/*#define HAL_PCD_MODULE_ENABLED */ +/*#define HAL_EXTI_MODULE_ENABLED */ +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +#define HAL_GPIO_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED + +/* ########################## HSE/HSI Values adaptation ##################### */ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) + #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +/** + * @brief In the following line adjust the External High Speed oscillator (HSE) Startup + * Timeout value + */ +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT ((uint32_t)100) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)8000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief In the following line adjust the Internal High Speed oscillator (HSI) Startup + * Timeout value + */ +#if !defined (HSI_STARTUP_TIMEOUT) + #define HSI_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for HSI start up */ +#endif /* HSI_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator for ADC (HSI14) value. + */ +#if !defined (HSI14_VALUE) +#define HSI14_VALUE ((uint32_t)14000000) /*!< Value of the Internal High Speed oscillator for ADC in Hz. + The real value may vary depending on the variations + in voltage and temperature. */ +#endif /* HSI14_VALUE */ + +/** + * @brief Internal High Speed oscillator for USB (HSI48) value. + */ +#if !defined (HSI48_VALUE) +#define HSI48_VALUE ((uint32_t)48000000) /*!< Value of the Internal High Speed oscillator for USB in Hz. + The real value may vary depending on the variations + in voltage and temperature. */ +#endif /* HSI48_VALUE */ + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) + #define LSI_VALUE ((uint32_t)40000) +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ +/** + * @brief External Low Speed oscillator (LSI) value. + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY ((uint32_t)0) /*!< tick interrupt priority (lowest by default) */ + /* Warning: Must be set to higher priority for HAL_Delay() */ + /* and HAL_GetTick() usage under interrupt context */ +#define USE_RTOS 0 +#define PREFETCH_ENABLE 1 +#define INSTRUCTION_CACHE_ENABLE 0 +#define DATA_CACHE_ENABLE 0 +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* ################## SPI peripheral configuration ########################## */ + +/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver +* Activated: CRC code is present inside driver +* Deactivated: CRC code cleaned from driver +*/ + +#define USE_SPI_CRC 0U + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32f0xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED + #include "stm32f0xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32f0xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32f0xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32f0xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32f0xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CAN_MODULE_ENABLED + #include "stm32f0xx_hal_can.h" +#endif /* HAL_CAN_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED + #include "stm32f0xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_COMP_MODULE_ENABLED + #include "stm32f0xx_hal_comp.h" +#endif /* HAL_COMP_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32f0xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32f0xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "stm32f0xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32f0xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32f0xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED + #include "stm32f0xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32f0xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32f0xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32f0xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32f0xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32f0xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + #include "stm32f0xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32f0xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32f0xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_TSC_MODULE_ENABLED + #include "stm32f0xx_hal_tsc.h" +#endif /* HAL_TSC_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32f0xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32f0xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32f0xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32F0xx_HAL_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/variants/BLUEBOX_F051C8/variant.cpp b/variants/BLUEBOX_F051C8/variant.cpp new file mode 100644 index 0000000000..7589d1f860 --- /dev/null +++ b/variants/BLUEBOX_F051C8/variant.cpp @@ -0,0 +1,151 @@ +/* + ******************************************************************************* + * Copyright (c) 2018, STMicroelectronics + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************* + */ +#include "variant.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Pin number +const PinName digitalPin[] = { +/* USB connector on the top, MCU side */ + PB_9, //D0 + PB_7, //D1 + PB_6, //D2 + PB_4, //D3 + PA_15, //D4 + PF_7, //D5 + PA_11, //D6 + PB_15, //D7 + PB_13, //D8 + PB_8, //D9 + PB_5, //D10 + PB_3, //D11 + PF_6, //D12 + PC_13, //D13 - LED + PA_12, //D14 + PA_8, //D15 + PB_14, //D16 + PB_12, //D17 + PB_2, //D18 + PB_11, //D19 + PB_10, //D20 + PA_0, //D21/A0 + PA_2, //D22/A1 + PA_4, //D23/A2 + PA_6, //D24/A3 + PB_0, //D25/A4 + PA_1, //D26/A5 + PA_3, //D27/A6 + PA_5, //D28/A7 + PA_7, //D29/A8 + PB_1, //D30/A9 + PA_9, //D31 - TX + PA_10, //D32 - RX + PA_13, //D33 - DAT + PA_14, //D34 - CLK + PC_15, //D35 - OSC32OUT + PC_14, //D36 - OSC32IN + PF_1, //D37 - OSCOUT + PF_0, //D38 - OSCIN +}; + +#ifdef __cplusplus +} +#endif + +// ---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief System Clock Configuration + * The system Clock is configured as follow : + * System Clock source = PLL (HSE) + * SYSCLK(Hz) = 48000000 + * HCLK(Hz) = 48000000 + * AHB Prescaler = 1 + * APB1 Prescaler = 1 + * PLL_Source = HSE + * PLL_Mul = 12 + * Flash Latency(WS) = 1 + * @param None + * @retval None + */ +WEAK void SystemClock_Config(void) +{ + + RCC_OscInitTypeDef RCC_OscInitStruct; + RCC_ClkInitTypeDef RCC_ClkInitStruct; + + /**Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = 16; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12; + RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + /**Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + /**Configure the Systick interrupt time + */ + HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); + + /**Configure the Systick + */ + HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); + + /* SysTick_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); +} + +#ifdef __cplusplus +} +#endif diff --git a/variants/BLUEBOX_F051C8/variant.h b/variants/BLUEBOX_F051C8/variant.h new file mode 100644 index 0000000000..d1596e143f --- /dev/null +++ b/variants/BLUEBOX_F051C8/variant.h @@ -0,0 +1,151 @@ +/* + ******************************************************************************* + * Copyright (c) 2018, STMicroelectronics + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************* + */ +#ifndef _VARIANT_ARDUINO_STM32_ +#define _VARIANT_ARDUINO_STM32_ + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ +#include "PeripheralPins.h" + +#ifdef __cplusplus +extern "C"{ +#endif // __cplusplus + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ +extern const PinName digitalPin[]; + +enum { +// USB connector on the top, MCU side +// Left Side + PB9, //D0 + PB8, //D1 + PB7, //D2 + PB6, //D3 + PB5, //D4 + PB4, //D5 + PB3, //D6 + PA15, //D7 + PA12, //D8 - USB DP + PA11, //D9 - USB DM + PA10, //D10 + PA9, //D11 + PA8, //D12 + PB15, //D13 + PB14, //D14 + PB13, //D15 + PB12, //D16 +// Right side + PC13, //D17 - LED + PC14, //D18 + PC15, //D19 + PA0, //D20/A0 + PA1, //D21/A1 + PA2, //D22/A2 + PA3, //D23/A3 + PA4, //D24/A4 + PA5, //D25/A5 + PA6, //D26/A6 + PA7, //D27/A7 + PB0, //D28/A8 + PB1, //D29/A9 + PB10, //D30 + PB11, //D31 +// Other + PB2, //D32 - BOOT1 + PA13, //D33 - SWDI0 + PA14, //D34 - SWCLK + PEND +}; + +// This must be a literal with the same value as PEND +#define NUM_DIGITAL_PINS 39 +// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS +#define NUM_ANALOG_INPUTS 10 +#define NUM_ANALOG_FIRST 21 + +// On-board LED pin number +#define LED_BUILTIN PC13 +#define LED_GREEN LED_BUILTIN + +// SPI Definitions +#define PIN_SPI_SS PA4 +#define PIN_SPI_MOSI PA7 +#define PIN_SPI_MISO PA6 +#define PIN_SPI_SCK PA5 + +// I2C Definitions +#define PIN_WIRE_SDA PB7 +#define PIN_WIRE_SCL PB6 + +// Timer Definitions +// Do not use timer used by PWM pins when possible. See PinMap_PWM. +#define TIMER_TONE TIM4 + +// Do not use basic timer: OC is required +#define TIMER_SERVO TIM2 //TODO: advanced-control timers don't work + +// UART Definitions +#define SERIAL_UART_INSTANCE 1 +// Default pin used for 'Serial' instance +// Mandatory for Firmata +#define PIN_SERIAL_RX PA10 +#define PIN_SERIAL_TX PA9 + +#ifdef __cplusplus +} // extern "C" +#endif +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_HARDWARE Serial1 +#endif + +#endif /* _VARIANT_ARDUINO_STM32_ */ From 3f69a4ebe8ed4ee6f8af5ee4599192f5a832d250 Mon Sep 17 00:00:00 2001 From: davidanger Date: Mon, 20 Aug 2018 09:13:47 +0800 Subject: [PATCH 22/38] Revert "[NUCLEO-F767ZI]Fixed System Clock change from 96M to 216M" This reverts commit e1a417f287d60adb72f8e32095054f0db89c1977. --- variants/NUCLEO_F767ZI/variant.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/variants/NUCLEO_F767ZI/variant.cpp b/variants/NUCLEO_F767ZI/variant.cpp index 6043c77df0..cbf63e9de3 100644 --- a/variants/NUCLEO_F767ZI/variant.cpp +++ b/variants/NUCLEO_F767ZI/variant.cpp @@ -142,13 +142,13 @@ extern "C" { * AHB Prescaler = 1 * APB1 Prescaler = 4 * APB2 Prescaler = 2 - * HSE Frequency(Hz) = 8000000 - * PLL_M = 4 - * PLL_N = 216 + * HSE Frequency(Hz) = 25000000 + * PLL_M = 25 + * PLL_N = 432 * PLL_P = 2 * PLL_Q = 9 - * PLLSAI1_N = 192 - * PLLSAI1_P = 2 + * PLLSAI_N = 192 + * PLLSAI_P = 4 * VDD(V) = 3.3 * Main regulator output voltage = Scale1 mode * Flash Latency(WS) = 7 @@ -164,7 +164,7 @@ WEAK void SystemClock_Config(void) /* Configure the main internal regulator output voltage */ __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); /* Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; @@ -172,9 +172,9 @@ WEAK void SystemClock_Config(void) RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 216; + RCC_OscInitStruct.PLL.PLLN = 96; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 9; + RCC_OscInitStruct.PLL.PLLQ = 4; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); @@ -191,10 +191,10 @@ WEAK void SystemClock_Config(void) |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK) + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } From c2e727caf782ca26e8abcdb6099be1bbecbb8f1d Mon Sep 17 00:00:00 2001 From: davidanger Date: Mon, 20 Aug 2018 09:13:52 +0800 Subject: [PATCH 23/38] Revert "[BLUEBOX-F051C8] Creat Add in" This reverts commit da8aa3bd8d1ceb1d24a9370f733def45e3b7e8ca. --- variants/BLUEBOX_F051C8/PeripheralPins.c | 222 ------------- variants/BLUEBOX_F051C8/PinNamesVar.h | 25 -- variants/BLUEBOX_F051C8/ldscript.ld | 167 ---------- variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h | 324 ------------------- variants/BLUEBOX_F051C8/variant.cpp | 151 --------- variants/BLUEBOX_F051C8/variant.h | 151 --------- 6 files changed, 1040 deletions(-) delete mode 100644 variants/BLUEBOX_F051C8/PeripheralPins.c delete mode 100644 variants/BLUEBOX_F051C8/PinNamesVar.h delete mode 100644 variants/BLUEBOX_F051C8/ldscript.ld delete mode 100644 variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h delete mode 100644 variants/BLUEBOX_F051C8/variant.cpp delete mode 100644 variants/BLUEBOX_F051C8/variant.h diff --git a/variants/BLUEBOX_F051C8/PeripheralPins.c b/variants/BLUEBOX_F051C8/PeripheralPins.c deleted file mode 100644 index b9e6d7fc1f..0000000000 --- a/variants/BLUEBOX_F051C8/PeripheralPins.c +++ /dev/null @@ -1,222 +0,0 @@ -/* - ******************************************************************************* - * Copyright (c) 2018, STMicroelectronics - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ******************************************************************************* - * Automatically generated from STM32F051C8Tx.xml - */ -#include "Arduino.h" -#include "PeripheralPins.h" - -/* ===== - * Note: Commented lines are alternative possibilities which are not used per default. - * If you change them, you will have to know what you do - * ===== - */ - -//*** ADC *** - -#ifdef HAL_ADC_MODULE_ENABLED -const PinMap PinMap_ADC[] = { - {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC_IN0 - {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC_IN1 - {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC_IN2 - {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC_IN3 - {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC_IN4 - {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC_IN5 - {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC_IN6 - {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC_IN7 - {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC_IN8 - {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC_IN9 - {NC, NP, 0} -}; -#endif - -//*** DAC *** - -#ifdef HAL_DAC_MODULE_ENABLED -const PinMap PinMap_DAC[] = { - {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC1_OUT1 - {NC, NP, 0} -}; -#endif - -//*** I2C *** - -#ifdef HAL_I2C_MODULE_ENABLED -const PinMap PinMap_I2C_SDA[] = { - {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, -// {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, - {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C2)}, - {NC, NP, 0} -}; -#endif - -#ifdef HAL_I2C_MODULE_ENABLED -const PinMap PinMap_I2C_SCL[] = { - {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, -// {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)}, - {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C2)}, - {NC, NP, 0} -}; -#endif - -//*** PWM *** - -#ifdef HAL_TIM_MODULE_ENABLED -const PinMap PinMap_PWM[] = { - {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1 - {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2 - {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3 -// {PA_2, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM15, 1, 0)}, // TIM15_CH1 - {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4 -// {PA_3, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM15, 2, 0)}, // TIM15_CH2 - {PA_4, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1 - {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1 -// {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1 - {PA_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM16, 1, 0)}, // TIM16_CH1 -// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N -// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2 -// {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1 - {PA_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM17, 1, 0)}, // TIM17_CH1 - {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 0)}, // TIM1_CH1 - {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 0)}, // TIM1_CH2 - USART1_TX - {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 0)}, // TIM1_CH3 - USART1_RX - {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 4, 0)}, // TIM1_CH4 - {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1 -// {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N - {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 3, 0)}, // TIM3_CH3 -// {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N -// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 4, 0)}, // TIM3_CH4 - {PB_1, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM14, 1, 0)}, // TIM14_CH1 - {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2 - {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1 - {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2 - {PB_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 1)}, // TIM16_CH1N - {PB_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 1)}, // TIM17_CH1N - {PB_8, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 0)}, // TIM16_CH1 - {PB_9, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 0)}, // TIM17_CH1 - {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3 - {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4 - {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N -// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N - {PB_14, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM15, 1, 0)}, // TIM15_CH1 - {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N -// {PB_15, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM15, 1, 1)}, // TIM15_CH1N -// {PB_15, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM15, 2, 0)}, // TIM15_CH2 - {NC, NP, 0} -}; -#endif - -//*** SERIAL *** - -#ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_TX[] = { - {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, - {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, // USART1_TX -// {PA_14, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, -// {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, - {NC, NP, 0} -}; -#endif - -#ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_RX[] = { - {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, - {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, // USART1_RX -// {PA_15, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, -// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, - {NC, NP, 0} -}; -#endif - -#ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_RTS[] = { - {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, - {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, - {NC, NP, 0} -}; -#endif - -#ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_CTS[] = { - {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, - {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, - {NC, NP, 0} -}; -#endif - -//*** SPI *** - -#ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_MOSI[] = { -// {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, - {NC, NP, 0} -}; -#endif - -#ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_MISO[] = { -// {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, - {NC, NP, 0} -}; -#endif - -#ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_SCLK[] = { -// {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, - {NC, NP, 0} -}; -#endif - -#ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_SSEL[] = { -// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)}, - {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)}, - {NC, NP, 0} -}; -#endif - -//*** CAN *** - -//*** No CAN_RD *** - -//*** No CAN_TD *** - -//*** ETHERNET *** - -//*** No Ethernet *** - -//*** QUADSPI *** - -//*** No QUADSPI *** \ No newline at end of file diff --git a/variants/BLUEBOX_F051C8/PinNamesVar.h b/variants/BLUEBOX_F051C8/PinNamesVar.h deleted file mode 100644 index 6ef3f755ec..0000000000 --- a/variants/BLUEBOX_F051C8/PinNamesVar.h +++ /dev/null @@ -1,25 +0,0 @@ - /* SYS_WKUP */ -#ifdef PWR_WAKEUP_PIN1 - SYS_WKUP1 = PA_0, -#endif -#ifdef PWR_WAKEUP_PIN2 - SYS_WKUP2 = PC_13, -#endif -#ifdef PWR_WAKEUP_PIN3 - SYS_WKUP3 = NC, -#endif -#ifdef PWR_WAKEUP_PIN4 - SYS_WKUP4 = NC, -#endif -#ifdef PWR_WAKEUP_PIN5 - SYS_WKUP5 = NC, -#endif -#ifdef PWR_WAKEUP_PIN6 - SYS_WKUP6 = NC, -#endif -#ifdef PWR_WAKEUP_PIN7 - SYS_WKUP7 = NC, -#endif -#ifdef PWR_WAKEUP_PIN8 - SYS_WKUP8 = NC, -#endif \ No newline at end of file diff --git a/variants/BLUEBOX_F051C8/ldscript.ld b/variants/BLUEBOX_F051C8/ldscript.ld deleted file mode 100644 index 3a3f64e3ca..0000000000 --- a/variants/BLUEBOX_F051C8/ldscript.ld +++ /dev/null @@ -1,167 +0,0 @@ -/* -***************************************************************************** -** - -** File : LinkerScript.ld -** -** Abstract : Linker script for STM32F051C8Tx Device with -** 64KByte FLASH, 8KByte RAM -** -** Set heap size, stack size and stack location according -** to application requirements. -** -** Set memory bank area and size if external memory is used. -** -** Target : STMicroelectronics STM32 -** -** -** Distribution: The file is distributed as is, without any warranty -** of any kind. -** -** (c)Copyright Ac6. -** You may use this file as-is or modify it according to the needs of your -** project. Distribution of this file (unmodified or modified) is not -** permitted. Ac6 permit registered System Workbench for MCU users the -** rights to distribute the assembled, compiled & linked contents of this -** file as part of an application binary file, provided that it is built -** using the System Workbench for MCU toolchain. -** -***************************************************************************** -*/ - -/* Entry Point */ -ENTRY(Reset_Handler) - -/* Highest address of the user mode stack */ -_estack = 0x20002000; /* end of RAM */ -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x200; /* required amount of heap */ -_Min_Stack_Size = 0x400; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ -RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K -FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 64K -} - -/* Define output sections */ -SECTIONS -{ - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - /* Constant data goes into FLASH */ - .rodata : - { - . = ALIGN(4); - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - . = ALIGN(4); - } >FLASH - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT(.fini_array.*))) - KEEP (*(.fini_array*)) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = LOADADDR(.data); - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM AT> FLASH - - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(8); - PROVIDE ( end = . ); - PROVIDE ( _end = . ); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(8); - } >RAM - - - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} diff --git a/variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h b/variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h deleted file mode 100644 index 2a4d2a325e..0000000000 --- a/variants/BLUEBOX_F051C8/stm32f0xx_hal_conf.h +++ /dev/null @@ -1,324 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f0xx_hal_conf.h - * @brief HAL configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT(c) 2018 STMicroelectronics

- * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F0xx_HAL_CONF_H -#define __STM32F0xx_HAL_CONF_H - -#ifdef __cplusplus - extern "C" { -#endif - -#include "main.h" -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* ########################## Module Selection ############################## */ -/** - * @brief This is the list of modules to be used in the HAL driver - */ -#define HAL_MODULE_ENABLED -/*#define HAL_ADC_MODULE_ENABLED */ -/*#define HAL_CRYP_MODULE_ENABLED */ -/*#define HAL_CAN_MODULE_ENABLED */ -/*#define HAL_CEC_MODULE_ENABLED */ -/*#define HAL_COMP_MODULE_ENABLED */ -/*#define HAL_CRC_MODULE_ENABLED */ -/*#define HAL_CRYP_MODULE_ENABLED */ -/*#define HAL_TSC_MODULE_ENABLED */ -/*#define HAL_DAC_MODULE_ENABLED */ -/*#define HAL_I2S_MODULE_ENABLED */ -/*#define HAL_IWDG_MODULE_ENABLED */ -/*#define HAL_LCD_MODULE_ENABLED */ -/*#define HAL_LPTIM_MODULE_ENABLED */ -/*#define HAL_RNG_MODULE_ENABLED */ -/*#define HAL_RTC_MODULE_ENABLED */ -/*#define HAL_SPI_MODULE_ENABLED */ -/*#define HAL_TIM_MODULE_ENABLED */ -/*#define HAL_UART_MODULE_ENABLED */ -/*#define HAL_USART_MODULE_ENABLED */ -/*#define HAL_IRDA_MODULE_ENABLED */ -/*#define HAL_SMARTCARD_MODULE_ENABLED */ -/*#define HAL_SMBUS_MODULE_ENABLED */ -/*#define HAL_WWDG_MODULE_ENABLED */ -/*#define HAL_PCD_MODULE_ENABLED */ -/*#define HAL_EXTI_MODULE_ENABLED */ -#define HAL_CORTEX_MODULE_ENABLED -#define HAL_DMA_MODULE_ENABLED -#define HAL_FLASH_MODULE_ENABLED -#define HAL_GPIO_MODULE_ENABLED -#define HAL_PWR_MODULE_ENABLED -#define HAL_RCC_MODULE_ENABLED -#define HAL_I2C_MODULE_ENABLED - -/* ########################## HSE/HSI Values adaptation ##################### */ -/** - * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSE is used as system clock source, directly or through the PLL). - */ -#if !defined (HSE_VALUE) - #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ -#endif /* HSE_VALUE */ - -/** - * @brief In the following line adjust the External High Speed oscillator (HSE) Startup - * Timeout value - */ -#if !defined (HSE_STARTUP_TIMEOUT) - #define HSE_STARTUP_TIMEOUT ((uint32_t)100) /*!< Time out for HSE start up, in ms */ -#endif /* HSE_STARTUP_TIMEOUT */ - -/** - * @brief Internal High Speed oscillator (HSI) value. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSI is used as system clock source, directly or through the PLL). - */ -#if !defined (HSI_VALUE) - #define HSI_VALUE ((uint32_t)8000000) /*!< Value of the Internal oscillator in Hz*/ -#endif /* HSI_VALUE */ - -/** - * @brief In the following line adjust the Internal High Speed oscillator (HSI) Startup - * Timeout value - */ -#if !defined (HSI_STARTUP_TIMEOUT) - #define HSI_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for HSI start up */ -#endif /* HSI_STARTUP_TIMEOUT */ - -/** - * @brief Internal High Speed oscillator for ADC (HSI14) value. - */ -#if !defined (HSI14_VALUE) -#define HSI14_VALUE ((uint32_t)14000000) /*!< Value of the Internal High Speed oscillator for ADC in Hz. - The real value may vary depending on the variations - in voltage and temperature. */ -#endif /* HSI14_VALUE */ - -/** - * @brief Internal High Speed oscillator for USB (HSI48) value. - */ -#if !defined (HSI48_VALUE) -#define HSI48_VALUE ((uint32_t)48000000) /*!< Value of the Internal High Speed oscillator for USB in Hz. - The real value may vary depending on the variations - in voltage and temperature. */ -#endif /* HSI48_VALUE */ - -/** - * @brief Internal Low Speed oscillator (LSI) value. - */ -#if !defined (LSI_VALUE) - #define LSI_VALUE ((uint32_t)40000) -#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz - The real value may vary depending on the variations - in voltage and temperature. */ -/** - * @brief External Low Speed oscillator (LSI) value. - */ -#if !defined (LSE_VALUE) - #define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */ -#endif /* LSE_VALUE */ - -#if !defined (LSE_STARTUP_TIMEOUT) - #define LSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for LSE start up, in ms */ -#endif /* LSE_STARTUP_TIMEOUT */ - -/* Tip: To avoid modifying this file each time you need to use different HSE, - === you can define the HSE value in your toolchain compiler preprocessor. */ - -/* ########################### System Configuration ######################### */ -/** - * @brief This is the HAL system configuration section - */ -#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ -#define TICK_INT_PRIORITY ((uint32_t)0) /*!< tick interrupt priority (lowest by default) */ - /* Warning: Must be set to higher priority for HAL_Delay() */ - /* and HAL_GetTick() usage under interrupt context */ -#define USE_RTOS 0 -#define PREFETCH_ENABLE 1 -#define INSTRUCTION_CACHE_ENABLE 0 -#define DATA_CACHE_ENABLE 0 -/* ########################## Assert Selection ############################## */ -/** - * @brief Uncomment the line below to expanse the "assert_param" macro in the - * HAL drivers code - */ -/* #define USE_FULL_ASSERT 1U */ - -/* ################## SPI peripheral configuration ########################## */ - -/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver -* Activated: CRC code is present inside driver -* Deactivated: CRC code cleaned from driver -*/ - -#define USE_SPI_CRC 0U - -/* Includes ------------------------------------------------------------------*/ -/** - * @brief Include module's header file - */ - -#ifdef HAL_RCC_MODULE_ENABLED - #include "stm32f0xx_hal_rcc.h" -#endif /* HAL_RCC_MODULE_ENABLED */ - -#ifdef HAL_EXTI_MODULE_ENABLED - #include "stm32f0xx_hal_exti.h" -#endif /* HAL_EXTI_MODULE_ENABLED */ - -#ifdef HAL_GPIO_MODULE_ENABLED - #include "stm32f0xx_hal_gpio.h" -#endif /* HAL_GPIO_MODULE_ENABLED */ - -#ifdef HAL_DMA_MODULE_ENABLED - #include "stm32f0xx_hal_dma.h" -#endif /* HAL_DMA_MODULE_ENABLED */ - -#ifdef HAL_CORTEX_MODULE_ENABLED - #include "stm32f0xx_hal_cortex.h" -#endif /* HAL_CORTEX_MODULE_ENABLED */ - -#ifdef HAL_ADC_MODULE_ENABLED - #include "stm32f0xx_hal_adc.h" -#endif /* HAL_ADC_MODULE_ENABLED */ - -#ifdef HAL_CAN_MODULE_ENABLED - #include "stm32f0xx_hal_can.h" -#endif /* HAL_CAN_MODULE_ENABLED */ - -#ifdef HAL_CEC_MODULE_ENABLED - #include "stm32f0xx_hal_cec.h" -#endif /* HAL_CEC_MODULE_ENABLED */ - -#ifdef HAL_COMP_MODULE_ENABLED - #include "stm32f0xx_hal_comp.h" -#endif /* HAL_COMP_MODULE_ENABLED */ - -#ifdef HAL_CRC_MODULE_ENABLED - #include "stm32f0xx_hal_crc.h" -#endif /* HAL_CRC_MODULE_ENABLED */ - -#ifdef HAL_DAC_MODULE_ENABLED - #include "stm32f0xx_hal_dac.h" -#endif /* HAL_DAC_MODULE_ENABLED */ - -#ifdef HAL_FLASH_MODULE_ENABLED - #include "stm32f0xx_hal_flash.h" -#endif /* HAL_FLASH_MODULE_ENABLED */ - -#ifdef HAL_I2C_MODULE_ENABLED - #include "stm32f0xx_hal_i2c.h" -#endif /* HAL_I2C_MODULE_ENABLED */ - -#ifdef HAL_I2S_MODULE_ENABLED - #include "stm32f0xx_hal_i2s.h" -#endif /* HAL_I2S_MODULE_ENABLED */ - -#ifdef HAL_IRDA_MODULE_ENABLED - #include "stm32f0xx_hal_irda.h" -#endif /* HAL_IRDA_MODULE_ENABLED */ - -#ifdef HAL_IWDG_MODULE_ENABLED - #include "stm32f0xx_hal_iwdg.h" -#endif /* HAL_IWDG_MODULE_ENABLED */ - -#ifdef HAL_PCD_MODULE_ENABLED - #include "stm32f0xx_hal_pcd.h" -#endif /* HAL_PCD_MODULE_ENABLED */ - -#ifdef HAL_PWR_MODULE_ENABLED - #include "stm32f0xx_hal_pwr.h" -#endif /* HAL_PWR_MODULE_ENABLED */ - -#ifdef HAL_RTC_MODULE_ENABLED - #include "stm32f0xx_hal_rtc.h" -#endif /* HAL_RTC_MODULE_ENABLED */ - -#ifdef HAL_SMARTCARD_MODULE_ENABLED - #include "stm32f0xx_hal_smartcard.h" -#endif /* HAL_SMARTCARD_MODULE_ENABLED */ - -#ifdef HAL_SMBUS_MODULE_ENABLED - #include "stm32f0xx_hal_smbus.h" -#endif /* HAL_SMBUS_MODULE_ENABLED */ - -#ifdef HAL_SPI_MODULE_ENABLED - #include "stm32f0xx_hal_spi.h" -#endif /* HAL_SPI_MODULE_ENABLED */ - -#ifdef HAL_TIM_MODULE_ENABLED - #include "stm32f0xx_hal_tim.h" -#endif /* HAL_TIM_MODULE_ENABLED */ - -#ifdef HAL_TSC_MODULE_ENABLED - #include "stm32f0xx_hal_tsc.h" -#endif /* HAL_TSC_MODULE_ENABLED */ - -#ifdef HAL_UART_MODULE_ENABLED - #include "stm32f0xx_hal_uart.h" -#endif /* HAL_UART_MODULE_ENABLED */ - -#ifdef HAL_USART_MODULE_ENABLED - #include "stm32f0xx_hal_usart.h" -#endif /* HAL_USART_MODULE_ENABLED */ - -#ifdef HAL_WWDG_MODULE_ENABLED - #include "stm32f0xx_hal_wwdg.h" -#endif /* HAL_WWDG_MODULE_ENABLED */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0U) -#endif /* USE_FULL_ASSERT */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F0xx_HAL_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/variants/BLUEBOX_F051C8/variant.cpp b/variants/BLUEBOX_F051C8/variant.cpp deleted file mode 100644 index 7589d1f860..0000000000 --- a/variants/BLUEBOX_F051C8/variant.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/* - ******************************************************************************* - * Copyright (c) 2018, STMicroelectronics - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ******************************************************************************* - */ -#include "variant.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Pin number -const PinName digitalPin[] = { -/* USB connector on the top, MCU side */ - PB_9, //D0 - PB_7, //D1 - PB_6, //D2 - PB_4, //D3 - PA_15, //D4 - PF_7, //D5 - PA_11, //D6 - PB_15, //D7 - PB_13, //D8 - PB_8, //D9 - PB_5, //D10 - PB_3, //D11 - PF_6, //D12 - PC_13, //D13 - LED - PA_12, //D14 - PA_8, //D15 - PB_14, //D16 - PB_12, //D17 - PB_2, //D18 - PB_11, //D19 - PB_10, //D20 - PA_0, //D21/A0 - PA_2, //D22/A1 - PA_4, //D23/A2 - PA_6, //D24/A3 - PB_0, //D25/A4 - PA_1, //D26/A5 - PA_3, //D27/A6 - PA_5, //D28/A7 - PA_7, //D29/A8 - PB_1, //D30/A9 - PA_9, //D31 - TX - PA_10, //D32 - RX - PA_13, //D33 - DAT - PA_14, //D34 - CLK - PC_15, //D35 - OSC32OUT - PC_14, //D36 - OSC32IN - PF_1, //D37 - OSCOUT - PF_0, //D38 - OSCIN -}; - -#ifdef __cplusplus -} -#endif - -// ---------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief System Clock Configuration - * The system Clock is configured as follow : - * System Clock source = PLL (HSE) - * SYSCLK(Hz) = 48000000 - * HCLK(Hz) = 48000000 - * AHB Prescaler = 1 - * APB1 Prescaler = 1 - * PLL_Source = HSE - * PLL_Mul = 12 - * Flash Latency(WS) = 1 - * @param None - * @retval None - */ -WEAK void SystemClock_Config(void) -{ - - RCC_OscInitTypeDef RCC_OscInitStruct; - RCC_ClkInitTypeDef RCC_ClkInitStruct; - - /**Initializes the CPU, AHB and APB busses clocks - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; - RCC_OscInitStruct.HSIState = RCC_HSI_ON; - RCC_OscInitStruct.HSICalibrationValue = 16; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; - RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12; - RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - _Error_Handler(__FILE__, __LINE__); - } - - /**Initializes the CPU, AHB and APB busses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) - { - _Error_Handler(__FILE__, __LINE__); - } - - /**Configure the Systick interrupt time - */ - HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); - - /**Configure the Systick - */ - HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); - - /* SysTick_IRQn interrupt configuration */ - HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); -} - -#ifdef __cplusplus -} -#endif diff --git a/variants/BLUEBOX_F051C8/variant.h b/variants/BLUEBOX_F051C8/variant.h deleted file mode 100644 index d1596e143f..0000000000 --- a/variants/BLUEBOX_F051C8/variant.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - ******************************************************************************* - * Copyright (c) 2018, STMicroelectronics - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ******************************************************************************* - */ -#ifndef _VARIANT_ARDUINO_STM32_ -#define _VARIANT_ARDUINO_STM32_ - -/*---------------------------------------------------------------------------- - * Headers - *----------------------------------------------------------------------------*/ -#include "PeripheralPins.h" - -#ifdef __cplusplus -extern "C"{ -#endif // __cplusplus - -/*---------------------------------------------------------------------------- - * Pins - *----------------------------------------------------------------------------*/ -extern const PinName digitalPin[]; - -enum { -// USB connector on the top, MCU side -// Left Side - PB9, //D0 - PB8, //D1 - PB7, //D2 - PB6, //D3 - PB5, //D4 - PB4, //D5 - PB3, //D6 - PA15, //D7 - PA12, //D8 - USB DP - PA11, //D9 - USB DM - PA10, //D10 - PA9, //D11 - PA8, //D12 - PB15, //D13 - PB14, //D14 - PB13, //D15 - PB12, //D16 -// Right side - PC13, //D17 - LED - PC14, //D18 - PC15, //D19 - PA0, //D20/A0 - PA1, //D21/A1 - PA2, //D22/A2 - PA3, //D23/A3 - PA4, //D24/A4 - PA5, //D25/A5 - PA6, //D26/A6 - PA7, //D27/A7 - PB0, //D28/A8 - PB1, //D29/A9 - PB10, //D30 - PB11, //D31 -// Other - PB2, //D32 - BOOT1 - PA13, //D33 - SWDI0 - PA14, //D34 - SWCLK - PEND -}; - -// This must be a literal with the same value as PEND -#define NUM_DIGITAL_PINS 39 -// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS -#define NUM_ANALOG_INPUTS 10 -#define NUM_ANALOG_FIRST 21 - -// On-board LED pin number -#define LED_BUILTIN PC13 -#define LED_GREEN LED_BUILTIN - -// SPI Definitions -#define PIN_SPI_SS PA4 -#define PIN_SPI_MOSI PA7 -#define PIN_SPI_MISO PA6 -#define PIN_SPI_SCK PA5 - -// I2C Definitions -#define PIN_WIRE_SDA PB7 -#define PIN_WIRE_SCL PB6 - -// Timer Definitions -// Do not use timer used by PWM pins when possible. See PinMap_PWM. -#define TIMER_TONE TIM4 - -// Do not use basic timer: OC is required -#define TIMER_SERVO TIM2 //TODO: advanced-control timers don't work - -// UART Definitions -#define SERIAL_UART_INSTANCE 1 -// Default pin used for 'Serial' instance -// Mandatory for Firmata -#define PIN_SERIAL_RX PA10 -#define PIN_SERIAL_TX PA9 - -#ifdef __cplusplus -} // extern "C" -#endif -/*---------------------------------------------------------------------------- - * Arduino objects - C++ only - *----------------------------------------------------------------------------*/ - -#ifdef __cplusplus -// These serial port names are intended to allow libraries and architecture-neutral -// sketches to automatically default to the correct port name for a particular type -// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, -// the first hardware serial port whose RX/TX pins are not dedicated to another use. -// -// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor -// -// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial -// -// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library -// -// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. -// -// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX -// pins are NOT connected to anything by default. -#define SERIAL_PORT_MONITOR Serial -#define SERIAL_PORT_HARDWARE Serial1 -#endif - -#endif /* _VARIANT_ARDUINO_STM32_ */ From 43ad9c964515a6e734a9da935ddad967b336d5d7 Mon Sep 17 00:00:00 2001 From: davidanger Date: Mon, 20 Aug 2018 09:25:36 +0800 Subject: [PATCH 24/38] [NUCLEO-F767ZI]Fix PinNamesVar.h --- variants/NUCLEO_F767ZI/PinNamesVar.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PinNamesVar.h b/variants/NUCLEO_F767ZI/PinNamesVar.h index 8ec2fab4aa..165f87e583 100644 --- a/variants/NUCLEO_F767ZI/PinNamesVar.h +++ b/variants/NUCLEO_F767ZI/PinNamesVar.h @@ -12,10 +12,10 @@ SYS_WKUP4 = PC_13, #endif #ifdef PWR_WAKEUP_PIN5 - SYS_WKUP5 = PI_8, + SYS_WKUP5 = NC, #endif #ifdef PWR_WAKEUP_PIN6 - SYS_WKUP6 = PI_11, + SYS_WKUP6 = NC, #endif #ifdef PWR_WAKEUP_PIN7 SYS_WKUP7 = NC, From bc0292bb37d00f8aebe863622c9f83fbac574845 Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 21 Aug 2018 09:02:47 +0800 Subject: [PATCH 25/38] [NUCLEO-F767ZI]Revert PWR_WAKEUP --- variants/NUCLEO_F767ZI/PinNamesVar.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/variants/NUCLEO_F767ZI/PinNamesVar.h b/variants/NUCLEO_F767ZI/PinNamesVar.h index 165f87e583..8ec2fab4aa 100644 --- a/variants/NUCLEO_F767ZI/PinNamesVar.h +++ b/variants/NUCLEO_F767ZI/PinNamesVar.h @@ -12,10 +12,10 @@ SYS_WKUP4 = PC_13, #endif #ifdef PWR_WAKEUP_PIN5 - SYS_WKUP5 = NC, + SYS_WKUP5 = PI_8, #endif #ifdef PWR_WAKEUP_PIN6 - SYS_WKUP6 = NC, + SYS_WKUP6 = PI_11, #endif #ifdef PWR_WAKEUP_PIN7 SYS_WKUP7 = NC, From 2d02e602a3d380d9386e3e3aab94a16e43cb2279 Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 21 Aug 2018 09:05:58 +0800 Subject: [PATCH 26/38] [NUCLEO-F767ZI] Fix UART redefine --- variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h index 132a54dc5b..cac276836c 100644 --- a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h +++ b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h @@ -76,7 +76,7 @@ /* #define HAL_SPDIFRX_MODULE_ENABLED */ #define HAL_SPI_MODULE_ENABLED #define HAL_TIM_MODULE_ENABLED -#define HAL_UART_MODULE_ENABLED +/* #define HAL_UART_MODULE_ENABLED */ #define HAL_USART_MODULE_ENABLED /* #define HAL_IRDA_MODULE_ENABLED */ /* #define HAL_SMARTCARD_MODULE_ENABLED */ From 15d30273496585caf8f2882fb5d4861f3059d01c Mon Sep 17 00:00:00 2001 From: davidanger Date: Tue, 21 Aug 2018 09:27:15 +0800 Subject: [PATCH 27/38] [NUCLEO-F767ZI] Remove Define USART --- variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h index cac276836c..82cd669e1b 100644 --- a/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h +++ b/variants/NUCLEO_F767ZI/stm32f7xx_hal_conf.h @@ -77,7 +77,7 @@ #define HAL_SPI_MODULE_ENABLED #define HAL_TIM_MODULE_ENABLED /* #define HAL_UART_MODULE_ENABLED */ -#define HAL_USART_MODULE_ENABLED +/* #define HAL_USART_MODULE_ENABLED */ /* #define HAL_IRDA_MODULE_ENABLED */ /* #define HAL_SMARTCARD_MODULE_ENABLED */ /* #define HAL_WWDG_MODULE_ENABLED */ From 8b07deb1737f95a4e65fe13b32fd86f675d4bd2d Mon Sep 17 00:00:00 2001 From: davidanger Date: Wed, 22 Aug 2018 15:11:37 +0800 Subject: [PATCH 28/38] [NUCLEO-F767ZI]Fix menu bugs --- boards.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/boards.txt b/boards.txt index b04a3e4da5..b35eb34b8d 100644 --- a/boards.txt +++ b/boards.txt @@ -74,16 +74,16 @@ Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.variant=NUCLEO_L496ZG Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.cmsis_lib_gcc=arm_cortexM4l_math # NUCLEO_F767ZI board -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P=Nucleo F767ZI -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.node=NODE_F767ZI -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.upload.maximum_size=2097152 -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.upload.maximum_data_size=524288 -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.mcu=cortex-m7 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.board=NUCLEO_F767ZI -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.series=STM32F7xx -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.product_line=STM32F767xx -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.variant=NUCLEO_F767ZI -Nucleo_144.menu.pnum.NUCLEO_L496ZG-P.build.cmsis_lib_gcc=arm_cortexM7l_math +Nucleo_144.menu.pnum.NUCLEO_F767ZI=Nucleo F767ZI +Nucleo_144.menu.pnum.NUCLEO_F767ZI.node=NODE_F767ZI +Nucleo_144.menu.pnum.NUCLEO_F767ZI.upload.maximum_size=2097152 +Nucleo_144.menu.pnum.NUCLEO_F767ZI.upload.maximum_data_size=524288 +Nucleo_144.menu.pnum.NUCLEO_F767ZI.build.mcu=cortex-m7 -mfpu=fpv4-sp-d16 -mfloat-abi=hard +Nucleo_144.menu.pnum.NUCLEO_F767ZI.build.board=NUCLEO_F767ZI +Nucleo_144.menu.pnum.NUCLEO_F767ZI.build.series=STM32F7xx +Nucleo_144.menu.pnum.NUCLEO_F767ZI.build.product_line=STM32F767xx +Nucleo_144.menu.pnum.NUCLEO_F767ZI.build.variant=NUCLEO_F767ZI +Nucleo_144.menu.pnum.NUCLEO_F767ZI.build.cmsis_lib_gcc=arm_cortexM7l_math # NUCLEO_L4R5ZI board Nucleo_144.menu.pnum.NUCLEO_L4R5ZI=Nucleo L4R5ZI From 60a417ea9e2383c81fccd3e8eb4d66af50bc5f6a Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 10:01:01 +0800 Subject: [PATCH 29/38] ADD STM32H7 Driver (from STM32Cube_FW_H7_V1.3.0) --- .../Device/ST/STM32H7xx/Include/stm32h743xx.h | 25547 +++++++++++++++ .../Device/ST/STM32H7xx/Include/stm32h750xx.h | 25810 +++++++++++++++ .../Device/ST/STM32H7xx/Include/stm32h753xx.h | 25811 ++++++++++++++++ .../Device/ST/STM32H7xx/Include/stm32h7xx.h | 201 + .../ST/STM32H7xx/Include/system_stm32h7xx.h | 121 + .../Device/ST/STM32H7xx/Release_Notes.html | 238 + .../Templates/gcc/startup_stm32h743xx.s | 761 + .../Templates/gcc/startup_stm32h750xx.s | 764 + .../Templates/gcc/startup_stm32h753xx.s | 764 + .../Source/Templates/system_stm32h7xx.c | 576 + .../Inc/Legacy/stm32_hal_legacy.h | 3292 ++ .../STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h | 595 + .../Inc/stm32h7xx_hal_adc.h | 993 + .../Inc/stm32h7xx_hal_adc_ex.h | 1457 + .../Inc/stm32h7xx_hal_cec.h | 744 + .../Inc/stm32h7xx_hal_comp.h | 805 + .../Inc/stm32h7xx_hal_conf_template.h | 432 + .../Inc/stm32h7xx_hal_cortex.h | 461 + .../Inc/stm32h7xx_hal_crc.h | 421 + .../Inc/stm32h7xx_hal_crc_ex.h | 166 + .../Inc/stm32h7xx_hal_cryp.h | 464 + .../Inc/stm32h7xx_hal_cryp_ex.h | 139 + .../Inc/stm32h7xx_hal_dac.h | 478 + .../Inc/stm32h7xx_hal_dac_ex.h | 246 + .../Inc/stm32h7xx_hal_dcmi.h | 622 + .../Inc/stm32h7xx_hal_def.h | 206 + .../Inc/stm32h7xx_hal_dfsdm.h | 714 + .../Inc/stm32h7xx_hal_dma.h | 1118 + .../Inc/stm32h7xx_hal_dma2d.h | 627 + .../Inc/stm32h7xx_hal_dma_ex.h | 322 + .../Inc/stm32h7xx_hal_eth.h | 1600 + .../Inc/stm32h7xx_hal_eth_ex.h | 369 + .../Inc/stm32h7xx_hal_fdcan.h | 2284 ++ .../Inc/stm32h7xx_hal_flash.h | 665 + .../Inc/stm32h7xx_hal_flash_ex.h | 624 + .../Inc/stm32h7xx_hal_gpio.h | 326 + .../Inc/stm32h7xx_hal_gpio_ex.h | 363 + .../Inc/stm32h7xx_hal_hash.h | 577 + .../Inc/stm32h7xx_hal_hash_ex.h | 177 + .../Inc/stm32h7xx_hal_hcd.h | 279 + .../Inc/stm32h7xx_hal_hrtim.h | 3640 +++ .../Inc/stm32h7xx_hal_hsem.h | 247 + .../Inc/stm32h7xx_hal_i2c.h | 673 + .../Inc/stm32h7xx_hal_i2c_ex.h | 196 + .../Inc/stm32h7xx_hal_i2s.h | 615 + .../Inc/stm32h7xx_hal_i2s_ex.h | 105 + .../Inc/stm32h7xx_hal_irda.h | 848 + .../Inc/stm32h7xx_hal_irda_ex.h | 287 + .../Inc/stm32h7xx_hal_iwdg.h | 255 + .../Inc/stm32h7xx_hal_jpeg.h | 570 + .../Inc/stm32h7xx_hal_lptim.h | 710 + .../Inc/stm32h7xx_hal_ltdc.h | 674 + .../Inc/stm32h7xx_hal_mdios.h | 520 + .../Inc/stm32h7xx_hal_mdma.h | 850 + .../Inc/stm32h7xx_hal_mmc.h | 771 + .../Inc/stm32h7xx_hal_mmc_ex.h | 129 + .../Inc/stm32h7xx_hal_nand.h | 333 + .../Inc/stm32h7xx_hal_nor.h | 297 + .../Inc/stm32h7xx_hal_opamp.h | 437 + .../Inc/stm32h7xx_hal_opamp_ex.h | 99 + .../Inc/stm32h7xx_hal_pcd.h | 341 + .../Inc/stm32h7xx_hal_pcd_ex.h | 116 + .../Inc/stm32h7xx_hal_pwr.h | 469 + .../Inc/stm32h7xx_hal_pwr_ex.h | 612 + .../Inc/stm32h7xx_hal_qspi.h | 692 + .../Inc/stm32h7xx_hal_rcc.h | 3051 ++ .../Inc/stm32h7xx_hal_rcc_ex.h | 3194 ++ .../Inc/stm32h7xx_hal_rng.h | 381 + .../Inc/stm32h7xx_hal_rtc.h | 860 + .../Inc/stm32h7xx_hal_rtc_ex.h | 1104 + .../Inc/stm32h7xx_hal_sai.h | 902 + .../Inc/stm32h7xx_hal_sai_ex.h | 128 + .../Inc/stm32h7xx_hal_sd.h | 746 + .../Inc/stm32h7xx_hal_sd_ex.h | 129 + .../Inc/stm32h7xx_hal_sdram.h | 197 + .../Inc/stm32h7xx_hal_smartcard.h | 1088 + .../Inc/stm32h7xx_hal_smartcard_ex.h | 359 + .../Inc/stm32h7xx_hal_smbus.h | 694 + .../Inc/stm32h7xx_hal_spdifrx.h | 568 + .../Inc/stm32h7xx_hal_spi.h | 983 + .../Inc/stm32h7xx_hal_spi_ex.h | 93 + .../Inc/stm32h7xx_hal_sram.h | 194 + .../Inc/stm32h7xx_hal_swpmi.h | 465 + .../Inc/stm32h7xx_hal_tim.h | 1917 ++ .../Inc/stm32h7xx_hal_tim_ex.h | 685 + .../Inc/stm32h7xx_hal_uart.h | 1631 + .../Inc/stm32h7xx_hal_uart_ex.h | 460 + .../Inc/stm32h7xx_hal_usart.h | 1069 + .../Inc/stm32h7xx_hal_usart_ex.h | 157 + .../Inc/stm32h7xx_hal_wwdg.h | 292 + .../Inc/stm32h7xx_ll_delayblock.h | 112 + .../Inc/stm32h7xx_ll_fmc.h | 1350 + .../Inc/stm32h7xx_ll_sdmmc.h | 1089 + .../Inc/stm32h7xx_ll_usb.h | 463 + .../STM32H7xx_HAL_Driver/Release_Notes.html | 839 + .../STM32H753xx_User_Manual.chm | Bin 0 -> 16852208 bytes .../STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c | 993 + .../Src/stm32h7xx_hal_adc.c | 3258 ++ .../Src/stm32h7xx_hal_adc_ex.c | 2537 ++ .../Src/stm32h7xx_hal_cec.c | 663 + .../Src/stm32h7xx_hal_comp.c | 848 + .../Src/stm32h7xx_hal_cortex.c | 529 + .../Src/stm32h7xx_hal_crc.c | 523 + .../Src/stm32h7xx_hal_crc_ex.c | 239 + .../Src/stm32h7xx_hal_cryp.c | 3707 +++ .../Src/stm32h7xx_hal_cryp_ex.c | 427 + .../Src/stm32h7xx_hal_dac.c | 1176 + .../Src/stm32h7xx_hal_dac_ex.c | 630 + .../Src/stm32h7xx_hal_dcmi.c | 901 + .../Src/stm32h7xx_hal_dfsdm.c | 3014 ++ .../Src/stm32h7xx_hal_dma.c | 1937 ++ .../Src/stm32h7xx_hal_dma2d.c | 1750 ++ .../Src/stm32h7xx_hal_dma_ex.c | 636 + .../Src/stm32h7xx_hal_eth.c | 2601 ++ .../Src/stm32h7xx_hal_eth_ex.c | 569 + .../Src/stm32h7xx_hal_fdcan.c | 4773 +++ .../Src/stm32h7xx_hal_flash.c | 946 + .../Src/stm32h7xx_hal_flash_ex.c | 1372 + .../Src/stm32h7xx_hal_gpio.c | 549 + .../Src/stm32h7xx_hal_hash.c | 2661 ++ .../Src/stm32h7xx_hal_hash_ex.c | 930 + .../Src/stm32h7xx_hal_hcd.c | 1232 + .../Src/stm32h7xx_hal_hrtim.c | 7836 +++++ .../Src/stm32h7xx_hal_hsem.c | 372 + .../Src/stm32h7xx_hal_i2c.c | 4837 +++ .../Src/stm32h7xx_hal_i2c_ex.c | 333 + .../Src/stm32h7xx_hal_i2s.c | 1841 ++ .../Src/stm32h7xx_hal_i2s_ex.c | 927 + .../Src/stm32h7xx_hal_irda.c | 2283 ++ .../Src/stm32h7xx_hal_iwdg.c | 280 + .../Src/stm32h7xx_hal_jpeg.c | 3459 +++ .../Src/stm32h7xx_hal_lptim.c | 1673 + .../Src/stm32h7xx_hal_ltdc.c | 1893 ++ .../Src/stm32h7xx_hal_mdios.c | 623 + .../Src/stm32h7xx_hal_mdma.c | 1906 ++ .../Src/stm32h7xx_hal_mmc.c | 2753 ++ .../Src/stm32h7xx_hal_mmc_ex.c | 316 + .../Src/stm32h7xx_hal_nand.c | 1860 ++ .../Src/stm32h7xx_hal_nor.c | 1045 + .../Src/stm32h7xx_hal_opamp.c | 990 + .../Src/stm32h7xx_hal_opamp_ex.c | 448 + .../Src/stm32h7xx_hal_pcd.c | 1348 + .../Src/stm32h7xx_hal_pcd_ex.c | 322 + .../Src/stm32h7xx_hal_pwr.c | 608 + .../Src/stm32h7xx_hal_pwr_ex.c | 1291 + .../Src/stm32h7xx_hal_qspi.c | 2205 ++ .../Src/stm32h7xx_hal_rcc.c | 1356 + .../Src/stm32h7xx_hal_rcc_ex.c | 2652 ++ .../Src/stm32h7xx_hal_rng.c | 473 + .../Src/stm32h7xx_hal_rtc.c | 1529 + .../Src/stm32h7xx_hal_rtc_ex.c | 1828 ++ .../Src/stm32h7xx_hal_sai.c | 2330 ++ .../Src/stm32h7xx_hal_sai_ex.c | 138 + .../Src/stm32h7xx_hal_sd.c | 3081 ++ .../Src/stm32h7xx_hal_sd_ex.c | 318 + .../Src/stm32h7xx_hal_sdram.c | 860 + .../Src/stm32h7xx_hal_smartcard.c | 2341 ++ .../Src/stm32h7xx_hal_smartcard_ex.c | 206 + .../Src/stm32h7xx_hal_smbus.c | 2037 ++ .../Src/stm32h7xx_hal_spdifrx.c | 1264 + .../Src/stm32h7xx_hal_spi.c | 3137 ++ .../Src/stm32h7xx_hal_spi_ex.c | 243 + .../Src/stm32h7xx_hal_sram.c | 691 + .../Src/stm32h7xx_hal_swpmi.c | 1532 + .../Src/stm32h7xx_hal_tim.c | 5704 ++++ .../Src/stm32h7xx_hal_tim_ex.c | 2088 ++ .../Src/stm32h7xx_hal_uart.c | 2914 ++ .../Src/stm32h7xx_hal_uart_ex.c | 504 + .../Src/stm32h7xx_hal_usart.c | 2430 ++ .../Src/stm32h7xx_hal_wwdg.c | 320 + .../Src/stm32h7xx_ll_delayblock.c | 188 + .../Src/stm32h7xx_ll_fmc.c | 1097 + .../Src/stm32h7xx_ll_sdmmc.c | 1586 + .../Src/stm32h7xx_ll_usb.c | 1697 + 174 files changed, 267239 insertions(+) create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h743xx.h create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h750xx.h create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h753xx.h create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Release_Notes.html create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h753xx.s create mode 100644 system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cec.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_comp.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_conf_template.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dcmi.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dfsdm.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma2d.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_fdcan.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hcd.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hrtim.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_iwdg.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_jpeg.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_lptim.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdios.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_qspi.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rng.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smbus.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spdifrx.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_swpmi.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart_ex.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_wwdg.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Release_Notes.html create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/STM32H753xx_User_Manual.chm create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hcd.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hrtim.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_irda.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdios.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smbus.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spdifrx.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_swpmi.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c create mode 100644 system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h743xx.h b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h743xx.h new file mode 100644 index 0000000000..2d8fee4c1b --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h743xx.h @@ -0,0 +1,25547 @@ +/** + ****************************************************************************** + * @file stm32h743xx.h + * @brief CMSIS STM32H743xx Device Peripheral Access Layer Header File. + * + * This file contains: + * - Data structures and the address mapping for all peripherals + * - Peripheral's registers declarations and bits definition + * - Macros to access peripheral's registers hardware + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS_Device + * @{ + */ + +/** @addtogroup stm32h743xx + * @{ + */ + +#ifndef STM32H743xx_H +#define STM32H743xx_H + +#ifdef __cplusplus + extern "C" { +#endif /* __cplusplus */ + +/** @addtogroup Peripheral_interrupt_number_definition + * @{ + */ + +/** + * @brief STM32H7XX Interrupt Number Definition, according to the selected device + * in @ref Library_configuration_section + */ +typedef enum +{ +/****** Cortex-M Processor Exceptions Numbers *****************************************************************/ + NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13, /*!< 4 Cortex-M Memory Management Interrupt */ + MemoryManagement_IRQn = -12, /*!< 4 Cortex-M Memory Management Interrupt */ + BusFault_IRQn = -11, /*!< 5 Cortex-M Bus Fault Interrupt */ + UsageFault_IRQn = -10, /*!< 6 Cortex-M Usage Fault Interrupt */ + SVCall_IRQn = -5, /*!< 11 Cortex-M SV Call Interrupt */ + DebugMonitor_IRQn = -4, /*!< 12 Cortex-M Debug Monitor Interrupt */ + PendSV_IRQn = -2, /*!< 14 Cortex-M Pend SV Interrupt */ + SysTick_IRQn = -1, /*!< 15 Cortex-M System Tick Interrupt */ +/****** STM32 specific Interrupt Numbers **********************************************************************/ + WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */ + PVD_AVD_IRQn = 1, /*!< PVD/AVD through EXTI Line detection Interrupt */ + TAMP_STAMP_IRQn = 2, /*!< Tamper and TimeStamp interrupts through the EXTI line */ + RTC_WKUP_IRQn = 3, /*!< RTC Wakeup interrupt through the EXTI line */ + FLASH_IRQn = 4, /*!< FLASH global Interrupt */ + RCC_IRQn = 5, /*!< RCC global Interrupt */ + EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */ + EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */ + EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */ + EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */ + EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt */ + DMA1_Stream0_IRQn = 11, /*!< DMA1 Stream 0 global Interrupt */ + DMA1_Stream1_IRQn = 12, /*!< DMA1 Stream 1 global Interrupt */ + DMA1_Stream2_IRQn = 13, /*!< DMA1 Stream 2 global Interrupt */ + DMA1_Stream3_IRQn = 14, /*!< DMA1 Stream 3 global Interrupt */ + DMA1_Stream4_IRQn = 15, /*!< DMA1 Stream 4 global Interrupt */ + DMA1_Stream5_IRQn = 16, /*!< DMA1 Stream 5 global Interrupt */ + DMA1_Stream6_IRQn = 17, /*!< DMA1 Stream 6 global Interrupt */ + ADC_IRQn = 18, /*!< ADC1 and ADC2 global Interrupts */ + FDCAN1_IT0_IRQn = 19, /*!< FDCAN1 Interrupt line 0 */ + FDCAN2_IT0_IRQn = 20, /*!< FDCAN2 Interrupt line 0 */ + FDCAN1_IT1_IRQn = 21, /*!< FDCAN1 Interrupt line 1 */ + FDCAN2_IT1_IRQn = 22, /*!< FDCAN2 Interrupt line 1 */ + EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */ + TIM1_BRK_IRQn = 24, /*!< TIM1 Break Interrupt */ + TIM1_UP_IRQn = 25, /*!< TIM1 Update Interrupt */ + TIM1_TRG_COM_IRQn = 26, /*!< TIM1 Trigger and Commutation Interrupt */ + TIM1_CC_IRQn = 27, /*!< TIM1 Capture Compare Interrupt */ + TIM2_IRQn = 28, /*!< TIM2 global Interrupt */ + TIM3_IRQn = 29, /*!< TIM3 global Interrupt */ + TIM4_IRQn = 30, /*!< TIM4 global Interrupt */ + I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */ + I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */ + I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */ + I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */ + SPI1_IRQn = 35, /*!< SPI1 global Interrupt */ + SPI2_IRQn = 36, /*!< SPI2 global Interrupt */ + USART1_IRQn = 37, /*!< USART1 global Interrupt */ + USART2_IRQn = 38, /*!< USART2 global Interrupt */ + USART3_IRQn = 39, /*!< USART3 global Interrupt */ + EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */ + RTC_Alarm_IRQn = 41, /*!< RTC Alarm (A and B) through EXTI Line Interrupt */ + TIM8_BRK_TIM12_IRQn = 43, /*!< TIM8 Break Interrupt and TIM12 global interrupt */ + TIM8_UP_TIM13_IRQn = 44, /*!< TIM8 Update Interrupt and TIM13 global interrupt */ + TIM8_TRG_COM_TIM14_IRQn = 45, /*!< TIM8 Trigger and Commutation Interrupt and TIM14 global interrupt */ + TIM8_CC_IRQn = 46, /*!< TIM8 Capture Compare Interrupt */ + DMA1_Stream7_IRQn = 47, /*!< DMA1 Stream7 Interrupt */ + FMC_IRQn = 48, /*!< FMC global Interrupt */ + SDMMC1_IRQn = 49, /*!< SDMMC1 global Interrupt */ + TIM5_IRQn = 50, /*!< TIM5 global Interrupt */ + SPI3_IRQn = 51, /*!< SPI3 global Interrupt */ + UART4_IRQn = 52, /*!< UART4 global Interrupt */ + UART5_IRQn = 53, /*!< UART5 global Interrupt */ + TIM6_DAC_IRQn = 54, /*!< TIM6 global and DAC1&2 underrun error interrupts */ + TIM7_IRQn = 55, /*!< TIM7 global interrupt */ + DMA2_Stream0_IRQn = 56, /*!< DMA2 Stream 0 global Interrupt */ + DMA2_Stream1_IRQn = 57, /*!< DMA2 Stream 1 global Interrupt */ + DMA2_Stream2_IRQn = 58, /*!< DMA2 Stream 2 global Interrupt */ + DMA2_Stream3_IRQn = 59, /*!< DMA2 Stream 3 global Interrupt */ + DMA2_Stream4_IRQn = 60, /*!< DMA2 Stream 4 global Interrupt */ + ETH_IRQn = 61, /*!< Ethernet global Interrupt */ + ETH_WKUP_IRQn = 62, /*!< Ethernet Wakeup through EXTI line Interrupt */ + FDCAN_CAL_IRQn = 63, /*!< FDCAN Calibration unit Interrupt */ + DMA2_Stream5_IRQn = 68, /*!< DMA2 Stream 5 global interrupt */ + DMA2_Stream6_IRQn = 69, /*!< DMA2 Stream 6 global interrupt */ + DMA2_Stream7_IRQn = 70, /*!< DMA2 Stream 7 global interrupt */ + USART6_IRQn = 71, /*!< USART6 global interrupt */ + I2C3_EV_IRQn = 72, /*!< I2C3 event interrupt */ + I2C3_ER_IRQn = 73, /*!< I2C3 error interrupt */ + OTG_HS_EP1_OUT_IRQn = 74, /*!< USB OTG HS End Point 1 Out global interrupt */ + OTG_HS_EP1_IN_IRQn = 75, /*!< USB OTG HS End Point 1 In global interrupt */ + OTG_HS_WKUP_IRQn = 76, /*!< USB OTG HS Wakeup through EXTI interrupt */ + OTG_HS_IRQn = 77, /*!< USB OTG HS global interrupt */ + DCMI_IRQn = 78, /*!< DCMI global interrupt */ + RNG_IRQn = 80, /*!< RNG global interrupt */ + FPU_IRQn = 81, /*!< FPU global interrupt */ + UART7_IRQn = 82, /*!< UART7 global interrupt */ + UART8_IRQn = 83, /*!< UART8 global interrupt */ + SPI4_IRQn = 84, /*!< SPI4 global Interrupt */ + SPI5_IRQn = 85, /*!< SPI5 global Interrupt */ + SPI6_IRQn = 86, /*!< SPI6 global Interrupt */ + SAI1_IRQn = 87, /*!< SAI1 global Interrupt */ + LTDC_IRQn = 88, /*!< LTDC global Interrupt */ + LTDC_ER_IRQn = 89, /*!< LTDC Error global Interrupt */ + DMA2D_IRQn = 90, /*!< DMA2D global Interrupt */ + SAI2_IRQn = 91, /*!< SAI2 global Interrupt */ + QUADSPI_IRQn = 92, /*!< Quad SPI global interrupt */ + LPTIM1_IRQn = 93, /*!< LP TIM1 interrupt */ + CEC_IRQn = 94, /*!< HDMI-CEC global Interrupt */ + I2C4_EV_IRQn = 95, /*!< I2C4 Event Interrupt */ + I2C4_ER_IRQn = 96, /*!< I2C4 Error Interrupt */ + SPDIF_RX_IRQn = 97, /*!< SPDIF-RX global Interrupt */ + OTG_FS_EP1_OUT_IRQn = 98, /*!< USB OTG HS2 global interrupt */ + OTG_FS_EP1_IN_IRQn = 99, /*!< USB OTG HS2 End Point 1 Out global interrupt */ + OTG_FS_WKUP_IRQn = 100, /*!< USB OTG HS2 End Point 1 In global interrupt */ + OTG_FS_IRQn = 101, /*!< USB OTG HS2 Wakeup through EXTI interrupt */ + DMAMUX1_OVR_IRQn = 102, /*! + +/** @addtogroup Peripheral_registers_structures + * @{ + */ + +/** + * @brief Analog to Digital Converter + */ + +typedef struct +{ + __IO uint32_t ISR; /*!< ADC Interrupt and Status Register, Address offset: 0x00 */ + __IO uint32_t IER; /*!< ADC Interrupt Enable Register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< ADC control register, Address offset: 0x08 */ + __IO uint32_t CFGR; /*!< ADC Configuration register, Address offset: 0x0C */ + __IO uint32_t CFGR2; /*!< ADC Configuration register 2, Address offset: 0x10 */ + __IO uint32_t SMPR1; /*!< ADC sample time register 1, Address offset: 0x14 */ + __IO uint32_t SMPR2; /*!< ADC sample time register 2, Address offset: 0x18 */ + __IO uint32_t PCSEL; /*!< ADC pre-channel selection, Address offset: 0x1C */ + __IO uint32_t LTR1; /*!< ADC watchdog Lower threshold register 1, Address offset: 0x20 */ + __IO uint32_t HTR1; /*!< ADC watchdog higher threshold register 1, Address offset: 0x24 */ + uint32_t RESERVED1; /*!< Reserved, 0x028 */ + uint32_t RESERVED2; /*!< Reserved, 0x02C */ + __IO uint32_t SQR1; /*!< ADC regular sequence register 1, Address offset: 0x30 */ + __IO uint32_t SQR2; /*!< ADC regular sequence register 2, Address offset: 0x34 */ + __IO uint32_t SQR3; /*!< ADC regular sequence register 3, Address offset: 0x38 */ + __IO uint32_t SQR4; /*!< ADC regular sequence register 4, Address offset: 0x3C */ + __IO uint32_t DR; /*!< ADC regular data register, Address offset: 0x40 */ + uint32_t RESERVED3; /*!< Reserved, 0x044 */ + uint32_t RESERVED4; /*!< Reserved, 0x048 */ + __IO uint32_t JSQR; /*!< ADC injected sequence register, Address offset: 0x4C */ + uint32_t RESERVED5[4]; /*!< Reserved, 0x050 - 0x05C */ + __IO uint32_t OFR1; /*!< ADC offset register 1, Address offset: 0x60 */ + __IO uint32_t OFR2; /*!< ADC offset register 2, Address offset: 0x64 */ + __IO uint32_t OFR3; /*!< ADC offset register 3, Address offset: 0x68 */ + __IO uint32_t OFR4; /*!< ADC offset register 4, Address offset: 0x6C */ + uint32_t RESERVED6[4]; /*!< Reserved, 0x070 - 0x07C */ + __IO uint32_t JDR1; /*!< ADC injected data register 1, Address offset: 0x80 */ + __IO uint32_t JDR2; /*!< ADC injected data register 2, Address offset: 0x84 */ + __IO uint32_t JDR3; /*!< ADC injected data register 3, Address offset: 0x88 */ + __IO uint32_t JDR4; /*!< ADC injected data register 4, Address offset: 0x8C */ + uint32_t RESERVED7[4]; /*!< Reserved, 0x090 - 0x09C */ + __IO uint32_t AWD2CR; /*!< ADC Analog Watchdog 2 Configuration Register, Address offset: 0xA0 */ + __IO uint32_t AWD3CR; /*!< ADC Analog Watchdog 3 Configuration Register, Address offset: 0xA4 */ + uint32_t RESERVED8; /*!< Reserved, 0x0A8 */ + uint32_t RESERVED9; /*!< Reserved, 0x0AC */ + __IO uint32_t LTR2; /*!< ADC watchdog Lower threshold register 2, Address offset: 0xB0 */ + __IO uint32_t HTR2; /*!< ADC watchdog Higher threshold register 2, Address offset: 0xB4 */ + __IO uint32_t LTR3; /*!< ADC watchdog Lower threshold register 3, Address offset: 0xB8 */ + __IO uint32_t HTR3; /*!< ADC watchdog Higher threshold register 3, Address offset: 0xBC */ + __IO uint32_t DIFSEL; /*!< ADC Differential Mode Selection Register, Address offset: 0xC0 */ + __IO uint32_t CALFACT; /*!< ADC Calibration Factors, Address offset: 0xC4 */ + __IO uint32_t CALFACT2; /*!< ADC Linearity Calibration Factors, Address offset: 0xC8 */ +} ADC_TypeDef; + + +typedef struct +{ +__IO uint32_t CSR; /*!< ADC Common status register, Address offset: ADC1/3 base address + 0x300 */ +uint32_t RESERVED; /*!< Reserved, ADC1/3 base address + 0x304 */ +__IO uint32_t CCR; /*!< ADC common control register, Address offset: ADC1/3 base address + 0x308 */ +__IO uint32_t CDR; /*!< ADC common regular data register for dual Address offset: ADC1/3 base address + 0x30C */ +__IO uint32_t CDR2; /*!< ADC common regular data register for 32-bit dual mode Address offset: ADC1/3 base address + 0x310 */ + +} ADC_Common_TypeDef; + +/** + * @brief VREFBUF + */ + +typedef struct +{ + __IO uint32_t CSR; /*!< VREFBUF control and status register, Address offset: 0x00 */ + __IO uint32_t CCR; /*!< VREFBUF calibration and control register, Address offset: 0x04 */ +} VREFBUF_TypeDef; + + +/** + * @brief FD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t CREL; /*!< FDCAN Core Release register, Address offset: 0x000 */ + __IO uint32_t ENDN; /*!< FDCAN Endian register, Address offset: 0x004 */ + __IO uint32_t RESERVED1; /*!< Reserved, 0x008 */ + __IO uint32_t DBTP; /*!< FDCAN Data Bit Timing & Prescaler register, Address offset: 0x00C */ + __IO uint32_t TEST; /*!< FDCAN Test register, Address offset: 0x010 */ + __IO uint32_t RWD; /*!< FDCAN RAM Watchdog register, Address offset: 0x014 */ + __IO uint32_t CCCR; /*!< FDCAN CC Control register, Address offset: 0x018 */ + __IO uint32_t NBTP; /*!< FDCAN Nominal Bit Timing & Prescaler register, Address offset: 0x01C */ + __IO uint32_t TSCC; /*!< FDCAN Timestamp Counter Configuration register, Address offset: 0x020 */ + __IO uint32_t TSCV; /*!< FDCAN Timestamp Counter Value register, Address offset: 0x024 */ + __IO uint32_t TOCC; /*!< FDCAN Timeout Counter Configuration register, Address offset: 0x028 */ + __IO uint32_t TOCV; /*!< FDCAN Timeout Counter Value register, Address offset: 0x02C */ + __IO uint32_t RESERVED2[4]; /*!< Reserved, 0x030 - 0x03C */ + __IO uint32_t ECR; /*!< FDCAN Error Counter register, Address offset: 0x040 */ + __IO uint32_t PSR; /*!< FDCAN Protocol Status register, Address offset: 0x044 */ + __IO uint32_t TDCR; /*!< FDCAN Transmitter Delay Compensation register, Address offset: 0x048 */ + __IO uint32_t RESERVED3; /*!< Reserved, 0x04C */ + __IO uint32_t IR; /*!< FDCAN Interrupt register, Address offset: 0x050 */ + __IO uint32_t IE; /*!< FDCAN Interrupt Enable register, Address offset: 0x054 */ + __IO uint32_t ILS; /*!< FDCAN Interrupt Line Select register, Address offset: 0x058 */ + __IO uint32_t ILE; /*!< FDCAN Interrupt Line Enable register, Address offset: 0x05C */ + __IO uint32_t RESERVED4[8]; /*!< Reserved, 0x060 - 0x07C */ + __IO uint32_t GFC; /*!< FDCAN Global Filter Configuration register, Address offset: 0x080 */ + __IO uint32_t SIDFC; /*!< FDCAN Standard ID Filter Configuration register, Address offset: 0x084 */ + __IO uint32_t XIDFC; /*!< FDCAN Extended ID Filter Configuration register, Address offset: 0x088 */ + __IO uint32_t RESERVED5; /*!< Reserved, 0x08C */ + __IO uint32_t XIDAM; /*!< FDCAN Extended ID AND Mask register, Address offset: 0x090 */ + __IO uint32_t HPMS; /*!< FDCAN High Priority Message Status register, Address offset: 0x094 */ + __IO uint32_t NDAT1; /*!< FDCAN New Data 1 register, Address offset: 0x098 */ + __IO uint32_t NDAT2; /*!< FDCAN New Data 2 register, Address offset: 0x09C */ + __IO uint32_t RXF0C; /*!< FDCAN Rx FIFO 0 Configuration register, Address offset: 0x0A0 */ + __IO uint32_t RXF0S; /*!< FDCAN Rx FIFO 0 Status register, Address offset: 0x0A4 */ + __IO uint32_t RXF0A; /*!< FDCAN Rx FIFO 0 Acknowledge register, Address offset: 0x0A8 */ + __IO uint32_t RXBC; /*!< FDCAN Rx Buffer Configuration register, Address offset: 0x0AC */ + __IO uint32_t RXF1C; /*!< FDCAN Rx FIFO 1 Configuration register, Address offset: 0x0B0 */ + __IO uint32_t RXF1S; /*!< FDCAN Rx FIFO 1 Status register, Address offset: 0x0B4 */ + __IO uint32_t RXF1A; /*!< FDCAN Rx FIFO 1 Acknowledge register, Address offset: 0x0B8 */ + __IO uint32_t RXESC; /*!< FDCAN Rx Buffer/FIFO Element Size Configuration register, Address offset: 0x0BC */ + __IO uint32_t TXBC; /*!< FDCAN Tx Buffer Configuration register, Address offset: 0x0C0 */ + __IO uint32_t TXFQS; /*!< FDCAN Tx FIFO/Queue Status register, Address offset: 0x0C4 */ + __IO uint32_t TXESC; /*!< FDCAN Tx Buffer Element Size Configuration register, Address offset: 0x0C8 */ + __IO uint32_t TXBRP; /*!< FDCAN Tx Buffer Request Pending register, Address offset: 0x0CC */ + __IO uint32_t TXBAR; /*!< FDCAN Tx Buffer Add Request register, Address offset: 0x0D0 */ + __IO uint32_t TXBCR; /*!< FDCAN Tx Buffer Cancellation Request register, Address offset: 0x0D4 */ + __IO uint32_t TXBTO; /*!< FDCAN Tx Buffer Transmission Occurred register, Address offset: 0x0D8 */ + __IO uint32_t TXBCF; /*!< FDCAN Tx Buffer Cancellation Finished register, Address offset: 0x0DC */ + __IO uint32_t TXBTIE; /*!< FDCAN Tx Buffer Transmission Interrupt Enable register, Address offset: 0x0E0 */ + __IO uint32_t TXBCIE; /*!< FDCAN Tx Buffer Cancellation Finished Interrupt Enable register, Address offset: 0x0E4 */ + __IO uint32_t RESERVED6[2]; /*!< Reserved, 0x0E8 - 0x0EC */ + __IO uint32_t TXEFC; /*!< FDCAN Tx Event FIFO Configuration register, Address offset: 0x0F0 */ + __IO uint32_t TXEFS; /*!< FDCAN Tx Event FIFO Status register, Address offset: 0x0F4 */ + __IO uint32_t TXEFA; /*!< FDCAN Tx Event FIFO Acknowledge register, Address offset: 0x0F8 */ + __IO uint32_t RESERVED7; /*!< Reserved, 0x0FC */ +} FDCAN_GlobalTypeDef; + +/** + * @brief TTFD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t TTTMC; /*!< TT Trigger Memory Configuration register, Address offset: 0x100 */ + __IO uint32_t TTRMC; /*!< TT Reference Message Configuration register, Address offset: 0x104 */ + __IO uint32_t TTOCF; /*!< TT Operation Configuration register, Address offset: 0x108 */ + __IO uint32_t TTMLM; /*!< TT Matrix Limits register, Address offset: 0x10C */ + __IO uint32_t TURCF; /*!< TUR Configuration register, Address offset: 0x110 */ + __IO uint32_t TTOCN; /*!< TT Operation Control register, Address offset: 0x114 */ + __IO uint32_t TTGTP; /*!< TT Global Time Preset register, Address offset: 0x118 */ + __IO uint32_t TTTMK; /*!< TT Time Mark register, Address offset: 0x11C */ + __IO uint32_t TTIR; /*!< TT Interrupt register, Address offset: 0x120 */ + __IO uint32_t TTIE; /*!< TT Interrupt Enable register, Address offset: 0x124 */ + __IO uint32_t TTILS; /*!< TT Interrupt Line Select register, Address offset: 0x128 */ + __IO uint32_t TTOST; /*!< TT Operation Status register, Address offset: 0x12C */ + __IO uint32_t TURNA; /*!< TT TUR Numerator Actual register, Address offset: 0x130 */ + __IO uint32_t TTLGT; /*!< TT Local and Global Time register, Address offset: 0x134 */ + __IO uint32_t TTCTC; /*!< TT Cycle Time and Count register, Address offset: 0x138 */ + __IO uint32_t TTCPT; /*!< TT Capture Time register, Address offset: 0x13C */ + __IO uint32_t TTCSM; /*!< TT Cycle Sync Mark register, Address offset: 0x140 */ + __IO uint32_t RESERVED1[111]; /*!< Reserved, 0x144 - 0x2FC */ + __IO uint32_t TTTS; /*!< TT Trigger Select register, Address offset: 0x300 */ +} TTCAN_TypeDef; + +/** + * @brief FD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t CREL; /*!< Clock Calibration Unit Core Release register, Address offset: 0x00 */ + __IO uint32_t CCFG; /*!< Calibration Configuration register, Address offset: 0x04 */ + __IO uint32_t CSTAT; /*!< Calibration Status register, Address offset: 0x08 */ + __IO uint32_t CWD; /*!< Calibration Watchdog register, Address offset: 0x0C */ + __IO uint32_t IR; /*!< CCU Interrupt register, Address offset: 0x10 */ + __IO uint32_t IE; /*!< CCU Interrupt Enable register, Address offset: 0x14 */ +} FDCAN_ClockCalibrationUnit_TypeDef; + + +/** + * @brief Consumer Electronics Control + */ + +typedef struct +{ + __IO uint32_t CR; /*!< CEC control register, Address offset:0x00 */ + __IO uint32_t CFGR; /*!< CEC configuration register, Address offset:0x04 */ + __IO uint32_t TXDR; /*!< CEC Tx data register , Address offset:0x08 */ + __IO uint32_t RXDR; /*!< CEC Rx Data Register, Address offset:0x0C */ + __IO uint32_t ISR; /*!< CEC Interrupt and Status Register, Address offset:0x10 */ + __IO uint32_t IER; /*!< CEC interrupt enable register, Address offset:0x14 */ +}CEC_TypeDef; + +/** + * @brief CRC calculation unit + */ + +typedef struct +{ + __IO uint32_t DR; /*!< CRC Data register, Address offset: 0x00 */ + __IO uint32_t IDR; /*!< CRC Independent data register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< CRC Control register, Address offset: 0x08 */ + uint32_t RESERVED2; /*!< Reserved, 0x0C */ + __IO uint32_t INIT; /*!< Initial CRC value register, Address offset: 0x10 */ + __IO uint32_t POL; /*!< CRC polynomial register, Address offset: 0x14 */ +} CRC_TypeDef; + + +/** + * @brief Clock Recovery System + */ +typedef struct +{ +__IO uint32_t CR; /*!< CRS ccontrol register, Address offset: 0x00 */ +__IO uint32_t CFGR; /*!< CRS configuration register, Address offset: 0x04 */ +__IO uint32_t ISR; /*!< CRS interrupt and status register, Address offset: 0x08 */ +__IO uint32_t ICR; /*!< CRS interrupt flag clear register, Address offset: 0x0C */ +} CRS_TypeDef; + + +/** + * @brief Digital to Analog Converter + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DAC control register, Address offset: 0x00 */ + __IO uint32_t SWTRIGR; /*!< DAC software trigger register, Address offset: 0x04 */ + __IO uint32_t DHR12R1; /*!< DAC channel1 12-bit right-aligned data holding register, Address offset: 0x08 */ + __IO uint32_t DHR12L1; /*!< DAC channel1 12-bit left aligned data holding register, Address offset: 0x0C */ + __IO uint32_t DHR8R1; /*!< DAC channel1 8-bit right aligned data holding register, Address offset: 0x10 */ + __IO uint32_t DHR12R2; /*!< DAC channel2 12-bit right aligned data holding register, Address offset: 0x14 */ + __IO uint32_t DHR12L2; /*!< DAC channel2 12-bit left aligned data holding register, Address offset: 0x18 */ + __IO uint32_t DHR8R2; /*!< DAC channel2 8-bit right-aligned data holding register, Address offset: 0x1C */ + __IO uint32_t DHR12RD; /*!< Dual DAC 12-bit right-aligned data holding register, Address offset: 0x20 */ + __IO uint32_t DHR12LD; /*!< DUAL DAC 12-bit left aligned data holding register, Address offset: 0x24 */ + __IO uint32_t DHR8RD; /*!< DUAL DAC 8-bit right aligned data holding register, Address offset: 0x28 */ + __IO uint32_t DOR1; /*!< DAC channel1 data output register, Address offset: 0x2C */ + __IO uint32_t DOR2; /*!< DAC channel2 data output register, Address offset: 0x30 */ + __IO uint32_t SR; /*!< DAC status register, Address offset: 0x34 */ + __IO uint32_t CCR; /*!< DAC calibration control register, Address offset: 0x38 */ + __IO uint32_t MCR; /*!< DAC mode control register, Address offset: 0x3C */ + __IO uint32_t SHSR1; /*!< DAC Sample and Hold sample time register 1, Address offset: 0x40 */ + __IO uint32_t SHSR2; /*!< DAC Sample and Hold sample time register 2, Address offset: 0x44 */ + __IO uint32_t SHHR; /*!< DAC Sample and Hold hold time register, Address offset: 0x48 */ + __IO uint32_t SHRR; /*!< DAC Sample and Hold refresh time register, Address offset: 0x4C */ +} DAC_TypeDef; + +/** + * @brief DFSDM module registers + */ +typedef struct +{ + __IO uint32_t FLTCR1; /*!< DFSDM control register1, Address offset: 0x100 */ + __IO uint32_t FLTCR2; /*!< DFSDM control register2, Address offset: 0x104 */ + __IO uint32_t FLTISR; /*!< DFSDM interrupt and status register, Address offset: 0x108 */ + __IO uint32_t FLTICR; /*!< DFSDM interrupt flag clear register, Address offset: 0x10C */ + __IO uint32_t FLTJCHGR; /*!< DFSDM injected channel group selection register, Address offset: 0x110 */ + __IO uint32_t FLTFCR; /*!< DFSDM filter control register, Address offset: 0x114 */ + __IO uint32_t FLTJDATAR; /*!< DFSDM data register for injected group, Address offset: 0x118 */ + __IO uint32_t FLTRDATAR; /*!< DFSDM data register for regular group, Address offset: 0x11C */ + __IO uint32_t FLTAWHTR; /*!< DFSDM analog watchdog high threshold register, Address offset: 0x120 */ + __IO uint32_t FLTAWLTR; /*!< DFSDM analog watchdog low threshold register, Address offset: 0x124 */ + __IO uint32_t FLTAWSR; /*!< DFSDM analog watchdog status register Address offset: 0x128 */ + __IO uint32_t FLTAWCFR; /*!< DFSDM analog watchdog clear flag register Address offset: 0x12C */ + __IO uint32_t FLTEXMAX; /*!< DFSDM extreme detector maximum register, Address offset: 0x130 */ + __IO uint32_t FLTEXMIN; /*!< DFSDM extreme detector minimum register Address offset: 0x134 */ + __IO uint32_t FLTCNVTIMR; /*!< DFSDM conversion timer, Address offset: 0x138 */ +} DFSDM_Filter_TypeDef; + +/** + * @brief DFSDM channel configuration registers + */ +typedef struct +{ + __IO uint32_t CHCFGR1; /*!< DFSDM channel configuration register1, Address offset: 0x00 */ + __IO uint32_t CHCFGR2; /*!< DFSDM channel configuration register2, Address offset: 0x04 */ + __IO uint32_t CHAWSCDR; /*!< DFSDM channel analog watchdog and + short circuit detector register, Address offset: 0x08 */ + __IO uint32_t CHWDATAR; /*!< DFSDM channel watchdog filter data register, Address offset: 0x0C */ + __IO uint32_t CHDATINR; /*!< DFSDM channel data input register, Address offset: 0x10 */ +} DFSDM_Channel_TypeDef; + +/** + * @brief Debug MCU + */ +typedef struct +{ + __IO uint32_t IDCODE; /*!< MCU device ID code, Address offset: 0x00 */ + __IO uint32_t CR; /*!< Debug MCU configuration register, Address offset: 0x04 */ + uint32_t RESERVED4[11]; /*!< Reserved, Address offset: 0x08 */ + __IO uint32_t APB3FZ1; /*!< Debug MCU APB3FZ1 freeze register, Address offset: 0x34 */ + uint32_t RESERVED5; /*!< Reserved, Address offset: 0x38 */ + __IO uint32_t APB1LFZ1; /*!< Debug MCU APB1LFZ1 freeze register, Address offset: 0x3C */ + uint32_t RESERVED6; /*!< Reserved, Address offset: 0x40 */ + __IO uint32_t APB1HFZ1; /*!< Debug MCU APB1LFZ1 freeze register, Address offset: 0x44 */ + uint32_t RESERVED7; /*!< Reserved, Address offset: 0x48 */ + __IO uint32_t APB2FZ1; /*!< Debug MCU APB2FZ1 freeze register, Address offset: 0x4C */ + uint32_t RESERVED8; /*!< Reserved, Address offset: 0x50 */ + __IO uint32_t APB4FZ1; /*!< Debug MCU APB4FZ1 freeze register, Address offset: 0x54 */ +}DBGMCU_TypeDef; +/** + * @brief DCMI + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DCMI control register 1, Address offset: 0x00 */ + __IO uint32_t SR; /*!< DCMI status register, Address offset: 0x04 */ + __IO uint32_t RISR; /*!< DCMI raw interrupt status register, Address offset: 0x08 */ + __IO uint32_t IER; /*!< DCMI interrupt enable register, Address offset: 0x0C */ + __IO uint32_t MISR; /*!< DCMI masked interrupt status register, Address offset: 0x10 */ + __IO uint32_t ICR; /*!< DCMI interrupt clear register, Address offset: 0x14 */ + __IO uint32_t ESCR; /*!< DCMI embedded synchronization code register, Address offset: 0x18 */ + __IO uint32_t ESUR; /*!< DCMI embedded synchronization unmask register, Address offset: 0x1C */ + __IO uint32_t CWSTRTR; /*!< DCMI crop window start, Address offset: 0x20 */ + __IO uint32_t CWSIZER; /*!< DCMI crop window size, Address offset: 0x24 */ + __IO uint32_t DR; /*!< DCMI data register, Address offset: 0x28 */ +} DCMI_TypeDef; + +/** + * @brief DMA Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DMA stream x configuration register */ + __IO uint32_t NDTR; /*!< DMA stream x number of data register */ + __IO uint32_t PAR; /*!< DMA stream x peripheral address register */ + __IO uint32_t M0AR; /*!< DMA stream x memory 0 address register */ + __IO uint32_t M1AR; /*!< DMA stream x memory 1 address register */ + __IO uint32_t FCR; /*!< DMA stream x FIFO control register */ +} DMA_Stream_TypeDef; + +typedef struct +{ + __IO uint32_t LISR; /*!< DMA low interrupt status register, Address offset: 0x00 */ + __IO uint32_t HISR; /*!< DMA high interrupt status register, Address offset: 0x04 */ + __IO uint32_t LIFCR; /*!< DMA low interrupt flag clear register, Address offset: 0x08 */ + __IO uint32_t HIFCR; /*!< DMA high interrupt flag clear register, Address offset: 0x0C */ +} DMA_TypeDef; + +typedef struct +{ + __IO uint32_t CCR; /*!< DMA channel x configuration register */ + __IO uint32_t CNDTR; /*!< DMA channel x number of data register */ + __IO uint32_t CPAR; /*!< DMA channel x peripheral address register */ + __IO uint32_t CMAR; /*!< DMA channel x memory address register */ +} BDMA_Channel_TypeDef; + +typedef struct +{ + __IO uint32_t ISR; /*!< DMA interrupt status register, Address offset: 0x00 */ + __IO uint32_t IFCR; /*!< DMA interrupt flag clear register, Address offset: 0x04 */ +} BDMA_TypeDef; + +typedef struct +{ + __IO uint32_t CCR; /*!< DMA Multiplexer Channel x Control Register */ +}DMAMUX_Channel_TypeDef; + +typedef struct +{ + __IO uint32_t CSR; /*!< DMA Channel Status Register */ + __IO uint32_t CFR; /*!< DMA Channel Clear Flag Register */ +}DMAMUX_ChannelStatus_TypeDef; + +typedef struct +{ + __IO uint32_t RGCR; /*!< DMA Request Generator x Control Register */ +}DMAMUX_RequestGen_TypeDef; + +typedef struct +{ + __IO uint32_t RGSR; /*!< DMA Request Generator Status Register */ + __IO uint32_t RGCFR; /*!< DMA Request Generator Clear Flag Register */ +}DMAMUX_RequestGenStatus_TypeDef; + +/** + * @brief MDMA Controller + */ +typedef struct +{ + __IO uint32_t GISR0; /*!< MDMA Global Interrupt/Status Register 0, Address offset: 0x00 */ +}MDMA_TypeDef; + +typedef struct +{ + __IO uint32_t CISR; /*!< MDMA channel x interrupt/status register, Address offset: 0x40 */ + __IO uint32_t CIFCR; /*!< MDMA channel x interrupt flag clear register, Address offset: 0x44 */ + __IO uint32_t CESR; /*!< MDMA Channel x error status register, Address offset: 0x48 */ + __IO uint32_t CCR; /*!< MDMA channel x control register, Address offset: 0x4C */ + __IO uint32_t CTCR; /*!< MDMA channel x Transfer Configuration register, Address offset: 0x50 */ + __IO uint32_t CBNDTR; /*!< MDMA Channel x block number of data register, Address offset: 0x54 */ + __IO uint32_t CSAR; /*!< MDMA channel x source address register, Address offset: 0x58 */ + __IO uint32_t CDAR; /*!< MDMA channel x destination address register, Address offset: 0x5C */ + __IO uint32_t CBRUR; /*!< MDMA channel x Block Repeat address Update register, Address offset: 0x60 */ + __IO uint32_t CLAR; /*!< MDMA channel x Link Address register, Address offset: 0x64 */ + __IO uint32_t CTBR; /*!< MDMA channel x Trigger and Bus selection Register, Address offset: 0x68 */ + uint32_t RESERVED0; /*!< Reserved, 0x68 */ + __IO uint32_t CMAR; /*!< MDMA channel x Mask address register, Address offset: 0x70 */ + __IO uint32_t CMDR; /*!< MDMA channel x Mask Data register, Address offset: 0x74 */ +}MDMA_Channel_TypeDef; +/** + * @brief DMA2D Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DMA2D Control Register, Address offset: 0x00 */ + __IO uint32_t ISR; /*!< DMA2D Interrupt Status Register, Address offset: 0x04 */ + __IO uint32_t IFCR; /*!< DMA2D Interrupt Flag Clear Register, Address offset: 0x08 */ + __IO uint32_t FGMAR; /*!< DMA2D Foreground Memory Address Register, Address offset: 0x0C */ + __IO uint32_t FGOR; /*!< DMA2D Foreground Offset Register, Address offset: 0x10 */ + __IO uint32_t BGMAR; /*!< DMA2D Background Memory Address Register, Address offset: 0x14 */ + __IO uint32_t BGOR; /*!< DMA2D Background Offset Register, Address offset: 0x18 */ + __IO uint32_t FGPFCCR; /*!< DMA2D Foreground PFC Control Register, Address offset: 0x1C */ + __IO uint32_t FGCOLR; /*!< DMA2D Foreground Color Register, Address offset: 0x20 */ + __IO uint32_t BGPFCCR; /*!< DMA2D Background PFC Control Register, Address offset: 0x24 */ + __IO uint32_t BGCOLR; /*!< DMA2D Background Color Register, Address offset: 0x28 */ + __IO uint32_t FGCMAR; /*!< DMA2D Foreground CLUT Memory Address Register, Address offset: 0x2C */ + __IO uint32_t BGCMAR; /*!< DMA2D Background CLUT Memory Address Register, Address offset: 0x30 */ + __IO uint32_t OPFCCR; /*!< DMA2D Output PFC Control Register, Address offset: 0x34 */ + __IO uint32_t OCOLR; /*!< DMA2D Output Color Register, Address offset: 0x38 */ + __IO uint32_t OMAR; /*!< DMA2D Output Memory Address Register, Address offset: 0x3C */ + __IO uint32_t OOR; /*!< DMA2D Output Offset Register, Address offset: 0x40 */ + __IO uint32_t NLR; /*!< DMA2D Number of Line Register, Address offset: 0x44 */ + __IO uint32_t LWR; /*!< DMA2D Line Watermark Register, Address offset: 0x48 */ + __IO uint32_t AMTCR; /*!< DMA2D AHB Master Timer Configuration Register, Address offset: 0x4C */ + uint32_t RESERVED[236]; /*!< Reserved, 0x50-0x3FF */ + __IO uint32_t FGCLUT[256]; /*!< DMA2D Foreground CLUT, Address offset:400-7FF */ + __IO uint32_t BGCLUT[256]; /*!< DMA2D Background CLUT, Address offset:800-BFF */ +} DMA2D_TypeDef; + +/** + * @brief Ethernet MAC + */ +typedef struct +{ + __IO uint32_t MACCR; + __IO uint32_t MACECR; + __IO uint32_t MACPFR; + __IO uint32_t MACWTR; + __IO uint32_t MACHT0R; + __IO uint32_t MACHT1R; + uint32_t RESERVED1[14]; + __IO uint32_t MACVTR; + uint32_t RESERVED2; + __IO uint32_t MACVHTR; + uint32_t RESERVED3; + __IO uint32_t MACVIR; + __IO uint32_t MACIVIR; + uint32_t RESERVED4[2]; + __IO uint32_t MACTFCR; + uint32_t RESERVED5[7]; + __IO uint32_t MACRFCR; + uint32_t RESERVED6[7]; + __IO uint32_t MACISR; + __IO uint32_t MACIER; + __IO uint32_t MACRXTXSR; + uint32_t RESERVED7; + __IO uint32_t MACPCSR; + __IO uint32_t MACRWKPFR; + uint32_t RESERVED8[2]; + __IO uint32_t MACLCSR; + __IO uint32_t MACLTCR; + __IO uint32_t MACLETR; + __IO uint32_t MAC1USTCR; + uint32_t RESERVED9[12]; + __IO uint32_t MACVR; + __IO uint32_t MACDR; + uint32_t RESERVED10; + __IO uint32_t MACHWF0R; + __IO uint32_t MACHWF1R; + __IO uint32_t MACHWF2R; + uint32_t RESERVED11[54]; + __IO uint32_t MACMDIOAR; + __IO uint32_t MACMDIODR; + uint32_t RESERVED12[2]; + __IO uint32_t MACARPAR; + uint32_t RESERVED13[59]; + __IO uint32_t MACA0HR; + __IO uint32_t MACA0LR; + __IO uint32_t MACA1HR; + __IO uint32_t MACA1LR; + __IO uint32_t MACA2HR; + __IO uint32_t MACA2LR; + __IO uint32_t MACA3HR; + __IO uint32_t MACA3LR; + uint32_t RESERVED14[248]; + __IO uint32_t MMCCR; + __IO uint32_t MMCRIR; + __IO uint32_t MMCTIR; + __IO uint32_t MMCRIMR; + __IO uint32_t MMCTIMR; + uint32_t RESERVED15[14]; + __IO uint32_t MMCTSCGPR; + __IO uint32_t MMCTMCGPR; + int32_t RESERVED16[5]; + __IO uint32_t MMCTPCGR; + uint32_t RESERVED17[10]; + __IO uint32_t MMCRCRCEPR; + __IO uint32_t MMCRAEPR; + uint32_t RESERVED18[10]; + __IO uint32_t MMCRUPGR; + uint32_t RESERVED19[9]; + __IO uint32_t MMCTLPIMSTR; + __IO uint32_t MMCTLPITCR; + __IO uint32_t MMCRLPIMSTR; + __IO uint32_t MMCRLPITCR; + uint32_t RESERVED20[65]; + __IO uint32_t MACL3L4C0R; + __IO uint32_t MACL4A0R; + uint32_t RESERVED21[2]; + __IO uint32_t MACL3A0R0R; + __IO uint32_t MACL3A1R0R; + __IO uint32_t MACL3A2R0R; + __IO uint32_t MACL3A3R0R; + uint32_t RESERVED22[4]; + __IO uint32_t MACL3L4C1R; + __IO uint32_t MACL4A1R; + uint32_t RESERVED23[2]; + __IO uint32_t MACL3A0R1R; + __IO uint32_t MACL3A1R1R; + __IO uint32_t MACL3A2R1R; + __IO uint32_t MACL3A3R1R; + uint32_t RESERVED24[108]; + __IO uint32_t MACTSCR; + __IO uint32_t MACSSIR; + __IO uint32_t MACSTSR; + __IO uint32_t MACSTNR; + __IO uint32_t MACSTSUR; + __IO uint32_t MACSTNUR; + __IO uint32_t MACTSAR; + uint32_t RESERVED25; + __IO uint32_t MACTSSR; + uint32_t RESERVED26[3]; + __IO uint32_t MACTTSSNR; + __IO uint32_t MACTTSSSR; + uint32_t RESERVED27[2]; + __IO uint32_t MACACR; + uint32_t RESERVED28; + __IO uint32_t MACATSNR; + __IO uint32_t MACATSSR; + __IO uint32_t MACTSIACR; + __IO uint32_t MACTSEACR; + __IO uint32_t MACTSICNR; + __IO uint32_t MACTSECNR; + uint32_t RESERVED29[4]; + __IO uint32_t MACPPSCR; + uint32_t RESERVED30[3]; + __IO uint32_t MACPPSTTSR; + __IO uint32_t MACPPSTTNR; + __IO uint32_t MACPPSIR; + __IO uint32_t MACPPSWR; + uint32_t RESERVED31[12]; + __IO uint32_t MACPOCR; + __IO uint32_t MACSPI0R; + __IO uint32_t MACSPI1R; + __IO uint32_t MACSPI2R; + __IO uint32_t MACLMIR; + uint32_t RESERVED32[11]; + __IO uint32_t MTLOMR; + uint32_t RESERVED33[7]; + __IO uint32_t MTLISR; + uint32_t RESERVED34[55]; + __IO uint32_t MTLTQOMR; + __IO uint32_t MTLTQUR; + __IO uint32_t MTLTQDR; + uint32_t RESERVED35[8]; + __IO uint32_t MTLQICSR; + __IO uint32_t MTLRQOMR; + __IO uint32_t MTLRQMPOCR; + __IO uint32_t MTLRQDR; + uint32_t RESERVED36[177]; + __IO uint32_t DMAMR; + __IO uint32_t DMASBMR; + __IO uint32_t DMAISR; + __IO uint32_t DMADSR; + uint32_t RESERVED37[60]; + __IO uint32_t DMACCR; + __IO uint32_t DMACTCR; + __IO uint32_t DMACRCR; + uint32_t RESERVED38[2]; + __IO uint32_t DMACTDLAR; + uint32_t RESERVED39; + __IO uint32_t DMACRDLAR; + __IO uint32_t DMACTDTPR; + uint32_t RESERVED40; + __IO uint32_t DMACRDTPR; + __IO uint32_t DMACTDRLR; + __IO uint32_t DMACRDRLR; + __IO uint32_t DMACIER; + __IO uint32_t DMACRIWTR; +__IO uint32_t DMACSFCSR; + uint32_t RESERVED41; + __IO uint32_t DMACCATDR; + uint32_t RESERVED42; + __IO uint32_t DMACCARDR; + uint32_t RESERVED43; + __IO uint32_t DMACCATBR; + uint32_t RESERVED44; + __IO uint32_t DMACCARBR; + __IO uint32_t DMACSR; +uint32_t RESERVED45[2]; +__IO uint32_t DMACMFCR; +}ETH_TypeDef; + +/** + * @brief External Interrupt/Event Controller + */ + +typedef struct +{ +__IO uint32_t RTSR1; /*!< EXTI Rising trigger selection register, Address offset: 0x00 */ +__IO uint32_t FTSR1; /*!< EXTI Falling trigger selection register, Address offset: 0x04 */ +__IO uint32_t SWIER1; /*!< EXTI Software interrupt event register, Address offset: 0x08 */ +__IO uint32_t D3PMR1; /*!< EXTI D3 Pending mask register, Address offset: 0x0C */ +__IO uint32_t D3PCR1L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x10 */ +__IO uint32_t D3PCR1H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x14 */ +uint32_t RESERVED1; /*!< Reserved, 0x18 */ +uint32_t RESERVED2; /*!< Reserved, 0x1C */ +__IO uint32_t RTSR2; /*!< EXTI Rising trigger selection register, Address offset: 0x20 */ +__IO uint32_t FTSR2; /*!< EXTI Falling trigger selection register, Address offset: 0x24 */ +__IO uint32_t SWIER2; /*!< EXTI Software interrupt event register, Address offset: 0x28 */ +__IO uint32_t D3PMR2; /*!< EXTI D3 Pending mask register, Address offset: 0x2C */ +__IO uint32_t D3PCR2L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x30 */ +__IO uint32_t D3PCR2H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x34 */ +uint32_t RESERVED3; /*!< Reserved, 0x38 */ +uint32_t RESERVED4; /*!< Reserved, 0x3C */ +__IO uint32_t RTSR3; /*!< EXTI Rising trigger selection register, Address offset: 0x40 */ +__IO uint32_t FTSR3; /*!< EXTI Falling trigger selection register, Address offset: 0x44 */ +__IO uint32_t SWIER3; /*!< EXTI Software interrupt event register, Address offset: 0x48 */ +__IO uint32_t D3PMR3; /*!< EXTI D3 Pending mask register, Address offset: 0x4C */ +__IO uint32_t D3PCR3L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x50 */ +__IO uint32_t D3PCR3H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x54 */ +}EXTI_TypeDef; + +typedef struct +{ +__IO uint32_t IMR1; /*!< EXTI Interrupt mask register, Address offset: 0x00 */ +__IO uint32_t EMR1; /*!< EXTI Event mask register, Address offset: 0x04 */ +__IO uint32_t PR1; /*!< EXTI Pending register, Address offset: 0x08 */ +uint32_t RESERVED1; /*!< Reserved, 0x0C */ +__IO uint32_t IMR2; /*!< EXTI Interrupt mask register, Address offset: 0x10 */ +__IO uint32_t EMR2; /*!< EXTI Event mask register, Address offset: 0x14 */ +__IO uint32_t PR2; /*!< EXTI Pending register, Address offset: 0x18 */ +uint32_t RESERVED2; /*!< Reserved, 0x1C */ +__IO uint32_t IMR3; /*!< EXTI Interrupt mask register, Address offset: 0x20 */ +__IO uint32_t EMR3; /*!< EXTI Event mask register, Address offset: 0x24 */ +__IO uint32_t PR3; /*!< EXTI Pending register, Address offset: 0x28 */ +}EXTI_Core_TypeDef; + + +/** + * @brief FLASH Registers + */ + +typedef struct +{ + __IO uint32_t ACR; /*!< FLASH access control register, Address offset: 0x00 */ + __IO uint32_t KEYR1; /*!< Flash Key Register for bank1, Address offset: 0x04 */ + __IO uint32_t OPTKEYR; /*!< Flash Option Key Register, Address offset: 0x08 */ + __IO uint32_t CR1; /*!< Flash Control Register for bank1, Address offset: 0x0C */ + __IO uint32_t SR1; /*!< Flash Status Register for bank1, Address offset: 0x10 */ + __IO uint32_t CCR1; /*!< Flash Control Register for bank1, Address offset: 0x14 */ + __IO uint32_t OPTCR; /*!< Flash Option Control Register, Address offset: 0x18 */ + __IO uint32_t OPTSR_CUR; /*!< Flash Option Status Current Register, Address offset: 0x1C */ + __IO uint32_t OPTSR_PRG; /*!< Flash Option Status Current Register, Address offset: 0x20 */ + __IO uint32_t OPTCCR; /*!< Flash Option Clear Control Register, Address offset: 0x24 */ + __IO uint32_t PRAR_CUR1; /*!< Flash Current Protection Address Register for bank1, Address offset: 0x28 */ + __IO uint32_t PRAR_PRG1; /*!< Flash Protection Address to Program Register for bank1, Address offset: 0x2C */ + __IO uint32_t SCAR_CUR1; /*!< Flash Current Secure Address Register for bank1, Address offset: 0x30 */ + __IO uint32_t SCAR_PRG1; /*!< Flash Secure Address Register for bank1, Address offset: 0x34 */ + __IO uint32_t WPSN_CUR1; /*!< Flash Current Write Protection Register on bank1, Address offset: 0x38 */ + __IO uint32_t WPSN_PRG1; /*!< Flash Write Protection to Program Register on bank1, Address offset: 0x3C */ + __IO uint32_t BOOT_CUR; /*!< Flash Current Boot Address for Pelican Core Register, Address offset: 0x40 */ + __IO uint32_t BOOT_PRG; /*!< Flash Boot Address to Program for Pelican Core Register, Address offset: 0x44 */ + uint32_t RESERVED0[2]; /*!< Reserved, 0x48 to 0x4C */ + __IO uint32_t CRCCR1; /*!< Flash CRC Control register For Bank1 Register , Address offset: 0x50 */ + __IO uint32_t CRCSADD1; /*!< Flash CRC Start Address Register for Bank1 , Address offset: 0x54 */ + __IO uint32_t CRCEADD1; /*!< Flash CRC End Address Register for Bank1 , Address offset: 0x58 */ + __IO uint32_t CRCDATA; /*!< Flash CRC Data Register for Bank1 , Address offset: 0x5C */ + __IO uint32_t ECC_FA1; /*!< Flash ECC Fail Address For Bank1 Register , Address offset: 0x60 */ + uint32_t RESERVED1[40]; /*!< Reserved, 0x64 to 0x100 */ + __IO uint32_t KEYR2; /*!< Flash Key Register for bank2, Address offset: 0x104 */ + uint32_t RESERVED2; /*!< Reserved, 0x108 */ + __IO uint32_t CR2; /*!< Flash Control Register for bank2, Address offset: 0x10C */ + __IO uint32_t SR2; /*!< Flash Status Register for bank2, Address offset: 0x110 */ + __IO uint32_t CCR2; /*!< Flash Status Register for bank2, Address offset: 0x114 */ + uint32_t RESERVED3[4]; /*!< Reserved, 0x118 to 0x124 */ + __IO uint32_t PRAR_CUR2; /*!< Flash Current Protection Address Register for bank2, Address offset: 0x128 */ + __IO uint32_t PRAR_PRG2; /*!< Flash Protection Address to Program Register for bank2, Address offset: 0x12C */ + __IO uint32_t SCAR_CUR2; /*!< Flash Current Secure Address Register for bank2, Address offset: 0x130 */ + __IO uint32_t SCAR_PRG2; /*!< Flash Secure Address Register for bank2, Address offset: 0x134 */ + __IO uint32_t WPSN_CUR2; /*!< Flash Current Write Protection Register on bank2, Address offset: 0x138 */ + __IO uint32_t WPSN_PRG2; /*!< Flash Write Protection to Program Register on bank2, Address offset: 0x13C */ + uint32_t RESERVED4[4]; /*!< Reserved, 0x140 to 0x14C */ + __IO uint32_t CRCCR2; /*!< Flash CRC Control register For Bank2 Register , Address offset: 0x150 */ + __IO uint32_t CRCSADD2; /*!< Flash CRC Start Address Register for Bank2 , Address offset: 0x154 */ + __IO uint32_t CRCEADD2; /*!< Flash CRC End Address Register for Bank2 , Address offset: 0x158 */ + __IO uint32_t CRCDATA2; /*!< Flash CRC Data Register for Bank2 , Address offset: 0x15C */ + __IO uint32_t ECC_FA2; /*!< Flash ECC Fail Address For Bank2 Register , Address offset: 0x160 */ +} FLASH_TypeDef; + +/** + * @brief Flexible Memory Controller + */ + +typedef struct +{ + __IO uint32_t BTCR[8]; /*!< NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR), Address offset: 0x00-1C */ +} FMC_Bank1_TypeDef; + +/** + * @brief Flexible Memory Controller Bank1E + */ + +typedef struct +{ + __IO uint32_t BWTR[7]; /*!< NOR/PSRAM write timing registers, Address offset: 0x104-0x11C */ +} FMC_Bank1E_TypeDef; + +/** + * @brief Flexible Memory Controller Bank2 + */ + +typedef struct +{ + __IO uint32_t PCR2; /*!< NAND Flash control register 2, Address offset: 0x60 */ + __IO uint32_t SR2; /*!< NAND Flash FIFO status and interrupt register 2, Address offset: 0x64 */ + __IO uint32_t PMEM2; /*!< NAND Flash Common memory space timing register 2, Address offset: 0x68 */ + __IO uint32_t PATT2; /*!< NAND Flash Attribute memory space timing register 2, Address offset: 0x6C */ + uint32_t RESERVED0; /*!< Reserved, 0x70 */ + __IO uint32_t ECCR2; /*!< NAND Flash ECC result registers 2, Address offset: 0x74 */ +} FMC_Bank2_TypeDef; + +/** + * @brief Flexible Memory Controller Bank3 + */ + +typedef struct +{ + __IO uint32_t PCR; /*!< NAND Flash control register 3, Address offset: 0x80 */ + __IO uint32_t SR; /*!< NAND Flash FIFO status and interrupt register 3, Address offset: 0x84 */ + __IO uint32_t PMEM; /*!< NAND Flash Common memory space timing register 3, Address offset: 0x88 */ + __IO uint32_t PATT; /*!< NAND Flash Attribute memory space timing register 3, Address offset: 0x8C */ + uint32_t RESERVED; /*!< Reserved, 0x90 */ + __IO uint32_t ECCR; /*!< NAND Flash ECC result registers 3, Address offset: 0x94 */ +} FMC_Bank3_TypeDef; + +/** + * @brief Flexible Memory Controller Bank5 and 6 + */ + + +typedef struct +{ + __IO uint32_t SDCR[2]; /*!< SDRAM Control registers , Address offset: 0x140-0x144 */ + __IO uint32_t SDTR[2]; /*!< SDRAM Timing registers , Address offset: 0x148-0x14C */ + __IO uint32_t SDCMR; /*!< SDRAM Command Mode register, Address offset: 0x150 */ + __IO uint32_t SDRTR; /*!< SDRAM Refresh Timer register, Address offset: 0x154 */ + __IO uint32_t SDSR; /*!< SDRAM Status register, Address offset: 0x158 */ +} FMC_Bank5_6_TypeDef; + +/** + * @brief General Purpose I/O + */ + +typedef struct +{ + __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ + __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ + __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */ + __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */ + __IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ + __IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ + __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low register, Address offset: 0x18 */ + __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, Address offset: 0x1A */ + __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ + __IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */ +} GPIO_TypeDef; + +/** + * @brief Operational Amplifier (OPAMP) + */ + +typedef struct +{ + __IO uint32_t CSR; /*!< OPAMP control/status register, Address offset: 0x00 */ + __IO uint32_t OTR; /*!< OPAMP offset trimming register for normal mode, Address offset: 0x04 */ + __IO uint32_t HSOTR; /*!< OPAMP offset trimming register for high speed mode, Address offset: 0x08 */ +} OPAMP_TypeDef; + +/** + * @brief System configuration controller + */ + +typedef struct +{ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x00 */ + __IO uint32_t PMCR; /*!< SYSCFG peripheral mode configuration register, Address offset: 0x04 */ + __IO uint32_t EXTICR[4]; /*!< SYSCFG external interrupt configuration registers, Address offset: 0x08-0x14 */ + uint32_t RESERVED2[2]; /*!< Reserved, Address offset: 0x18-0x1C */ + __IO uint32_t CCCSR; /*!< SYSCFG compensation cell control/status register, Address offset: 0x20 */ + __IO uint32_t CCVR; /*!< SYSCFG compensation cell value register, Address offset: 0x24 */ + __IO uint32_t CCCR; /*!< SYSCFG compensation cell code register, Address offset: 0x28 */ + uint32_t RESERVED3[62]; /*!< Reserved, 0x2C-0x120 */ + __IO uint32_t PKGR; /*!< SYSCFG package register, Address offset: 0x124 */ + uint32_t RESERVED4[118]; /*!< Reserved, 0x128-0x2FC */ + __IO uint32_t UR0; /*!< SYSCFG user register 0, Address offset: 0x300 */ + __IO uint32_t UR1; /*!< SYSCFG user register 1, Address offset: 0x304 */ + __IO uint32_t UR2; /*!< SYSCFG user register 2, Address offset: 0x308 */ + __IO uint32_t UR3; /*!< SYSCFG user register 3, Address offset: 0x30C */ + __IO uint32_t UR4; /*!< SYSCFG user register 4, Address offset: 0x310 */ + __IO uint32_t UR5; /*!< SYSCFG user register 5, Address offset: 0x314 */ + __IO uint32_t UR6; /*!< SYSCFG user register 6, Address offset: 0x318 */ + __IO uint32_t UR7; /*!< SYSCFG user register 7, Address offset: 0x31C */ + __IO uint32_t UR8; /*!< SYSCFG user register 8, Address offset: 0x320 */ + __IO uint32_t UR9; /*!< SYSCFG user register 9, Address offset: 0x324 */ + __IO uint32_t UR10; /*!< SYSCFG user register 10, Address offset: 0x328 */ + __IO uint32_t UR11; /*!< SYSCFG user register 11, Address offset: 0x32C */ + __IO uint32_t UR12; /*!< SYSCFG user register 12, Address offset: 0x330 */ + __IO uint32_t UR13; /*!< SYSCFG user register 13, Address offset: 0x334 */ + __IO uint32_t UR14; /*!< SYSCFG user register 14, Address offset: 0x338 */ + __IO uint32_t UR15; /*!< SYSCFG user register 15, Address offset: 0x33C */ + __IO uint32_t UR16; /*!< SYSCFG user register 16, Address offset: 0x340 */ + __IO uint32_t UR17; /*!< SYSCFG user register 17, Address offset: 0x344 */ + +} SYSCFG_TypeDef; + +/** + * @brief Inter-integrated Circuit Interface + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< I2C Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< I2C Control register 2, Address offset: 0x04 */ + __IO uint32_t OAR1; /*!< I2C Own address 1 register, Address offset: 0x08 */ + __IO uint32_t OAR2; /*!< I2C Own address 2 register, Address offset: 0x0C */ + __IO uint32_t TIMINGR; /*!< I2C Timing register, Address offset: 0x10 */ + __IO uint32_t TIMEOUTR; /*!< I2C Timeout register, Address offset: 0x14 */ + __IO uint32_t ISR; /*!< I2C Interrupt and status register, Address offset: 0x18 */ + __IO uint32_t ICR; /*!< I2C Interrupt clear register, Address offset: 0x1C */ + __IO uint32_t PECR; /*!< I2C PEC register, Address offset: 0x20 */ + __IO uint32_t RXDR; /*!< I2C Receive data register, Address offset: 0x24 */ + __IO uint32_t TXDR; /*!< I2C Transmit data register, Address offset: 0x28 */ +} I2C_TypeDef; + +/** + * @brief Independent WATCHDOG + */ + +typedef struct +{ + __IO uint32_t KR; /*!< IWDG Key register, Address offset: 0x00 */ + __IO uint32_t PR; /*!< IWDG Prescaler register, Address offset: 0x04 */ + __IO uint32_t RLR; /*!< IWDG Reload register, Address offset: 0x08 */ + __IO uint32_t SR; /*!< IWDG Status register, Address offset: 0x0C */ + __IO uint32_t WINR; /*!< IWDG Window register, Address offset: 0x10 */ +} IWDG_TypeDef; + + +/** + * @brief JPEG Codec + */ +typedef struct +{ + __IO uint32_t CONFR0; /*!< JPEG Codec Control Register (JPEG_CONFR0), Address offset: 00h */ + __IO uint32_t CONFR1; /*!< JPEG Codec Control Register (JPEG_CONFR1), Address offset: 04h */ + __IO uint32_t CONFR2; /*!< JPEG Codec Control Register (JPEG_CONFR2), Address offset: 08h */ + __IO uint32_t CONFR3; /*!< JPEG Codec Control Register (JPEG_CONFR3), Address offset: 0Ch */ + __IO uint32_t CONFR4; /*!< JPEG Codec Control Register (JPEG_CONFR4), Address offset: 10h */ + __IO uint32_t CONFR5; /*!< JPEG Codec Control Register (JPEG_CONFR5), Address offset: 14h */ + __IO uint32_t CONFR6; /*!< JPEG Codec Control Register (JPEG_CONFR6), Address offset: 18h */ + __IO uint32_t CONFR7; /*!< JPEG Codec Control Register (JPEG_CONFR7), Address offset: 1Ch */ + uint32_t Reserved20[4]; /* Reserved Address offset: 20h-2Ch */ + __IO uint32_t CR; /*!< JPEG Control Register (JPEG_CR), Address offset: 30h */ + __IO uint32_t SR; /*!< JPEG Status Register (JPEG_SR), Address offset: 34h */ + __IO uint32_t CFR; /*!< JPEG Clear Flag Register (JPEG_CFR), Address offset: 38h */ + uint32_t Reserved3c; /* Reserved Address offset: 3Ch */ + __IO uint32_t DIR; /*!< JPEG Data Input Register (JPEG_DIR), Address offset: 40h */ + __IO uint32_t DOR; /*!< JPEG Data Output Register (JPEG_DOR), Address offset: 44h */ + uint32_t Reserved48[2]; /* Reserved Address offset: 48h-4Ch */ + __IO uint32_t QMEM0[16]; /*!< JPEG quantization tables 0, Address offset: 50h-8Ch */ + __IO uint32_t QMEM1[16]; /*!< JPEG quantization tables 1, Address offset: 90h-CCh */ + __IO uint32_t QMEM2[16]; /*!< JPEG quantization tables 2, Address offset: D0h-10Ch */ + __IO uint32_t QMEM3[16]; /*!< JPEG quantization tables 3, Address offset: 110h-14Ch */ + __IO uint32_t HUFFMIN[16]; /*!< JPEG HuffMin tables, Address offset: 150h-18Ch */ + __IO uint32_t HUFFBASE[32]; /*!< JPEG HuffSymb tables, Address offset: 190h-20Ch */ + __IO uint32_t HUFFSYMB[84]; /*!< JPEG HUFFSYMB tables, Address offset: 210h-35Ch */ + __IO uint32_t DHTMEM[103]; /*!< JPEG DHTMem tables, Address offset: 360h-4F8h */ + uint32_t Reserved4FC; /* Reserved Address offset: 4FCh */ + __IO uint32_t HUFFENC_AC0[88]; /*!< JPEG encodor, AC Huffman table 0, Address offset: 500h-65Ch */ + __IO uint32_t HUFFENC_AC1[88]; /*!< JPEG encodor, AC Huffman table 1, Address offset: 660h-7BCh */ + __IO uint32_t HUFFENC_DC0[8]; /*!< JPEG encodor, DC Huffman table 0, Address offset: 7C0h-7DCh */ + __IO uint32_t HUFFENC_DC1[8]; /*!< JPEG encodor, DC Huffman table 1, Address offset: 7E0h-7FCh */ + +} JPEG_TypeDef; + + +/** + * @brief LCD-TFT Display Controller + */ + +typedef struct +{ + uint32_t RESERVED0[2]; /*!< Reserved, 0x00-0x04 */ + __IO uint32_t SSCR; /*!< LTDC Synchronization Size Configuration Register, Address offset: 0x08 */ + __IO uint32_t BPCR; /*!< LTDC Back Porch Configuration Register, Address offset: 0x0C */ + __IO uint32_t AWCR; /*!< LTDC Active Width Configuration Register, Address offset: 0x10 */ + __IO uint32_t TWCR; /*!< LTDC Total Width Configuration Register, Address offset: 0x14 */ + __IO uint32_t GCR; /*!< LTDC Global Control Register, Address offset: 0x18 */ + uint32_t RESERVED1[2]; /*!< Reserved, 0x1C-0x20 */ + __IO uint32_t SRCR; /*!< LTDC Shadow Reload Configuration Register, Address offset: 0x24 */ + uint32_t RESERVED2[1]; /*!< Reserved, 0x28 */ + __IO uint32_t BCCR; /*!< LTDC Background Color Configuration Register, Address offset: 0x2C */ + uint32_t RESERVED3[1]; /*!< Reserved, 0x30 */ + __IO uint32_t IER; /*!< LTDC Interrupt Enable Register, Address offset: 0x34 */ + __IO uint32_t ISR; /*!< LTDC Interrupt Status Register, Address offset: 0x38 */ + __IO uint32_t ICR; /*!< LTDC Interrupt Clear Register, Address offset: 0x3C */ + __IO uint32_t LIPCR; /*!< LTDC Line Interrupt Position Configuration Register, Address offset: 0x40 */ + __IO uint32_t CPSR; /*!< LTDC Current Position Status Register, Address offset: 0x44 */ + __IO uint32_t CDSR; /*!< LTDC Current Display Status Register, Address offset: 0x48 */ +} LTDC_TypeDef; + +/** + * @brief LCD-TFT Display layer x Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< LTDC Layerx Control Register Address offset: 0x84 */ + __IO uint32_t WHPCR; /*!< LTDC Layerx Window Horizontal Position Configuration Register Address offset: 0x88 */ + __IO uint32_t WVPCR; /*!< LTDC Layerx Window Vertical Position Configuration Register Address offset: 0x8C */ + __IO uint32_t CKCR; /*!< LTDC Layerx Color Keying Configuration Register Address offset: 0x90 */ + __IO uint32_t PFCR; /*!< LTDC Layerx Pixel Format Configuration Register Address offset: 0x94 */ + __IO uint32_t CACR; /*!< LTDC Layerx Constant Alpha Configuration Register Address offset: 0x98 */ + __IO uint32_t DCCR; /*!< LTDC Layerx Default Color Configuration Register Address offset: 0x9C */ + __IO uint32_t BFCR; /*!< LTDC Layerx Blending Factors Configuration Register Address offset: 0xA0 */ + uint32_t RESERVED0[2]; /*!< Reserved */ + __IO uint32_t CFBAR; /*!< LTDC Layerx Color Frame Buffer Address Register Address offset: 0xAC */ + __IO uint32_t CFBLR; /*!< LTDC Layerx Color Frame Buffer Length Register Address offset: 0xB0 */ + __IO uint32_t CFBLNR; /*!< LTDC Layerx ColorFrame Buffer Line Number Register Address offset: 0xB4 */ + uint32_t RESERVED1[3]; /*!< Reserved */ + __IO uint32_t CLUTWR; /*!< LTDC Layerx CLUT Write Register Address offset: 0x144 */ + +} LTDC_Layer_TypeDef; + + +/** + * @brief Power Control + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< PWR power control register 1, Address offset: 0x00 */ + __IO uint32_t CSR1; /*!< PWR power control status register 1, Address offset: 0x04 */ + __IO uint32_t CR2; /*!< PWR power control register 2, Address offset: 0x08 */ + __IO uint32_t CR3; /*!< PWR power control register 3, Address offset: 0x0C */ + __IO uint32_t CPUCR; /*!< PWR CPU control register, Address offset: 0x10 */ + uint32_t RESERVED0; /*!< Reserved, Address offset: 0x14 */ + __IO uint32_t D3CR; /*!< PWR D3 domain control register, Address offset: 0x18 */ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x1C */ + __IO uint32_t WKUPCR; /*!< PWR wakeup clear register, Address offset: 0x20 */ + __IO uint32_t WKUPFR; /*!< PWR wakeup flag register, Address offset: 0x24 */ + __IO uint32_t WKUPEPR; /*!< PWR wakeup enable and polarity register, Address offset: 0x28 */ +} PWR_TypeDef; + +/** + * @brief Reset and Clock Control + */ + +typedef struct +{ + __IO uint32_t CR; /*!< RCC clock control register, Address offset: 0x00 */ + __IO uint32_t ICSCR; /*!< RCC Internal Clock Sources Calibration Register, Address offset: 0x04 */ + __IO uint32_t CRRCR; /*!< Clock Recovery RC Register, Address offset: 0x08 */ + uint32_t RESERVED0; /*!< Reserved, Address offset: 0x0C */ + __IO uint32_t CFGR; /*!< RCC clock configuration register, Address offset: 0x10 */ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x14 */ + __IO uint32_t D1CFGR; /*!< RCC Domain 1 configuration register, Address offset: 0x18 */ + __IO uint32_t D2CFGR; /*!< RCC Domain 2 configuration register, Address offset: 0x1C */ + __IO uint32_t D3CFGR; /*!< RCC Domain 3 configuration register, Address offset: 0x20 */ + uint32_t RESERVED2; /*!< Reserved, Address offset: 0x24 */ + __IO uint32_t PLLCKSELR; /*!< RCC PLLs Clock Source Selection Register, Address offset: 0x28 */ + __IO uint32_t PLLCFGR; /*!< RCC PLLs Configuration Register, Address offset: 0x2C */ + __IO uint32_t PLL1DIVR; /*!< RCC PLL1 Dividers Configuration Register, Address offset: 0x30 */ + __IO uint32_t PLL1FRACR; /*!< RCC PLL1 Fractional Divider Configuration Register, Address offset: 0x34 */ + __IO uint32_t PLL2DIVR; /*!< RCC PLL2 Dividers Configuration Register, Address offset: 0x38 */ + __IO uint32_t PLL2FRACR; /*!< RCC PLL2 Fractional Divider Configuration Register, Address offset: 0x3C */ + __IO uint32_t PLL3DIVR; /*!< RCC PLL3 Dividers Configuration Register, Address offset: 0x40 */ + __IO uint32_t PLL3FRACR; /*!< RCC PLL3 Fractional Divider Configuration Register, Address offset: 0x44 */ + uint32_t RESERVED3; /*!< Reserved, Address offset: 0x48 */ + __IO uint32_t D1CCIPR; /*!< RCC Domain 1 Kernel Clock Configuration Register Address offset: 0x4C */ + __IO uint32_t D2CCIP1R; /*!< RCC Domain 2 Kernel Clock Configuration Register Address offset: 0x50 */ + __IO uint32_t D2CCIP2R; /*!< RCC Domain 2 Kernel Clock Configuration Register Address offset: 0x54 */ + __IO uint32_t D3CCIPR; /*!< RCC Domain 3 Kernel Clock Configuration Register Address offset: 0x58 */ + uint32_t RESERVED4; /*!< Reserved, Address offset: 0x5C */ + __IO uint32_t CIER; /*!< RCC Clock Source Interrupt Enable Register Address offset: 0x60 */ + __IO uint32_t CIFR; /*!< RCC Clock Source Interrupt Flag Register Address offset: 0x64 */ + __IO uint32_t CICR; /*!< RCC Clock Source Interrupt Clear Register Address offset: 0x68 */ + uint32_t RESERVED5; /*!< Reserved, Address offset: 0x6C */ + __IO uint32_t BDCR; /*!< RCC Vswitch Backup Domain Control Register, Address offset: 0x70 */ + __IO uint32_t CSR; /*!< RCC clock control & status register, Address offset: 0x74 */ + uint32_t RESERVED6; /*!< Reserved, Address offset: 0x78 */ + __IO uint32_t AHB3RSTR; /*!< RCC AHB3 peripheral reset register, Address offset: 0x7C */ + __IO uint32_t AHB1RSTR; /*!< RCC AHB1 peripheral reset register, Address offset: 0x80 */ + __IO uint32_t AHB2RSTR; /*!< RCC AHB2 peripheral reset register, Address offset: 0x84 */ + __IO uint32_t AHB4RSTR; /*!< RCC AHB4 peripheral reset register, Address offset: 0x88 */ + __IO uint32_t APB3RSTR; /*!< RCC APB3 peripheral reset register, Address offset: 0x8C */ + __IO uint32_t APB1LRSTR; /*!< RCC APB1 peripheral reset Low Word register, Address offset: 0x90 */ + __IO uint32_t APB1HRSTR; /*!< RCC APB1 peripheral reset High Word register, Address offset: 0x94 */ + __IO uint32_t APB2RSTR; /*!< RCC APB2 peripheral reset register, Address offset: 0x98 */ + __IO uint32_t APB4RSTR; /*!< RCC APB4 peripheral reset register, Address offset: 0x9C */ + __IO uint32_t GCR; /*!< RCC RCC Global Control Register, Address offset: 0xA0 */ + uint32_t RESERVED7; /*!< Reserved, Address offset: 0xA4 */ + __IO uint32_t D3AMR; /*!< RCC Domain 3 Autonomous Mode Register, Address offset: 0xA8 */ + uint32_t RESERVED8[9]; /*!< Reserved, 0xAC-0xCC Address offset: 0xAC */ + __IO uint32_t RSR; /*!< RCC Reset status register, Address offset: 0xD0 */ + __IO uint32_t AHB3ENR; /*!< RCC AHB3 peripheral clock register, Address offset: 0xD4 */ + __IO uint32_t AHB1ENR; /*!< RCC AHB1 peripheral clock register, Address offset: 0xD8 */ + __IO uint32_t AHB2ENR; /*!< RCC AHB2 peripheral clock register, Address offset: 0xDC */ + __IO uint32_t AHB4ENR; /*!< RCC AHB4 peripheral clock register, Address offset: 0xE0 */ + __IO uint32_t APB3ENR; /*!< RCC APB3 peripheral clock register, Address offset: 0xE4 */ + __IO uint32_t APB1LENR; /*!< RCC APB1 peripheral clock Low Word register, Address offset: 0xE8 */ + __IO uint32_t APB1HENR; /*!< RCC APB1 peripheral clock High Word register, Address offset: 0xEC */ + __IO uint32_t APB2ENR; /*!< RCC APB2 peripheral clock register, Address offset: 0xF0 */ + __IO uint32_t APB4ENR; /*!< RCC APB4 peripheral clock register, Address offset: 0xF4 */ + uint32_t RESERVED9; /*!< Reserved, Address offset: 0xF8 */ + __IO uint32_t AHB3LPENR; /*!< RCC AHB3 peripheral sleep clock register, Address offset: 0xFC */ + __IO uint32_t AHB1LPENR; /*!< RCC AHB1 peripheral sleep clock register, Address offset: 0x100 */ + __IO uint32_t AHB2LPENR; /*!< RCC AHB2 peripheral sleep clock register, Address offset: 0x104 */ + __IO uint32_t AHB4LPENR; /*!< RCC AHB4 peripheral sleep clock register, Address offset: 0x108 */ + __IO uint32_t APB3LPENR; /*!< RCC APB3 peripheral sleep clock register, Address offset: 0x10C */ + __IO uint32_t APB1LLPENR; /*!< RCC APB1 peripheral sleep clock Low Word register, Address offset: 0x110 */ + __IO uint32_t APB1HLPENR; /*!< RCC APB1 peripheral sleep clock High Word register, Address offset: 0x114 */ + __IO uint32_t APB2LPENR; /*!< RCC APB2 peripheral sleep clock register, Address offset: 0x118 */ + __IO uint32_t APB4LPENR; /*!< RCC APB4 peripheral sleep clock register, Address offset: 0x11C */ + uint32_t RESERVED10[4]; /*!< Reserved, 0x120-0x12C Address offset: 0x120 */ + +} RCC_TypeDef; + + +/** + * @brief Real-Time Clock + */ + +typedef struct +{ + __IO uint32_t TR; /*!< RTC time register, Address offset: 0x00 */ + __IO uint32_t DR; /*!< RTC date register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< RTC control register, Address offset: 0x08 */ + __IO uint32_t ISR; /*!< RTC initialization and status register, Address offset: 0x0C */ + __IO uint32_t PRER; /*!< RTC prescaler register, Address offset: 0x10 */ + __IO uint32_t WUTR; /*!< RTC wakeup timer register, Address offset: 0x14 */ + uint32_t reserved; /*!< Reserved */ + __IO uint32_t ALRMAR; /*!< RTC alarm A register, Address offset: 0x1C */ + __IO uint32_t ALRMBR; /*!< RTC alarm B register, Address offset: 0x20 */ + __IO uint32_t WPR; /*!< RTC write protection register, Address offset: 0x24 */ + __IO uint32_t SSR; /*!< RTC sub second register, Address offset: 0x28 */ + __IO uint32_t SHIFTR; /*!< RTC shift control register, Address offset: 0x2C */ + __IO uint32_t TSTR; /*!< RTC time stamp time register, Address offset: 0x30 */ + __IO uint32_t TSDR; /*!< RTC time stamp date register, Address offset: 0x34 */ + __IO uint32_t TSSSR; /*!< RTC time-stamp sub second register, Address offset: 0x38 */ + __IO uint32_t CALR; /*!< RTC calibration register, Address offset: 0x3C */ + __IO uint32_t TAMPCR; /*!< RTC tamper and alternate function configuration register, Address offset: 0x40 */ + __IO uint32_t ALRMASSR; /*!< RTC alarm A sub second register, Address offset: 0x44 */ + __IO uint32_t ALRMBSSR; /*!< RTC alarm B sub second register, Address offset: 0x48 */ + __IO uint32_t OR; /*!< RTC option register, Address offset: 0x4C */ + __IO uint32_t BKP0R; /*!< RTC backup register 0, Address offset: 0x50 */ + __IO uint32_t BKP1R; /*!< RTC backup register 1, Address offset: 0x54 */ + __IO uint32_t BKP2R; /*!< RTC backup register 2, Address offset: 0x58 */ + __IO uint32_t BKP3R; /*!< RTC backup register 3, Address offset: 0x5C */ + __IO uint32_t BKP4R; /*!< RTC backup register 4, Address offset: 0x60 */ + __IO uint32_t BKP5R; /*!< RTC backup register 5, Address offset: 0x64 */ + __IO uint32_t BKP6R; /*!< RTC backup register 6, Address offset: 0x68 */ + __IO uint32_t BKP7R; /*!< RTC backup register 7, Address offset: 0x6C */ + __IO uint32_t BKP8R; /*!< RTC backup register 8, Address offset: 0x70 */ + __IO uint32_t BKP9R; /*!< RTC backup register 9, Address offset: 0x74 */ + __IO uint32_t BKP10R; /*!< RTC backup register 10, Address offset: 0x78 */ + __IO uint32_t BKP11R; /*!< RTC backup register 11, Address offset: 0x7C */ + __IO uint32_t BKP12R; /*!< RTC backup register 12, Address offset: 0x80 */ + __IO uint32_t BKP13R; /*!< RTC backup register 13, Address offset: 0x84 */ + __IO uint32_t BKP14R; /*!< RTC backup register 14, Address offset: 0x88 */ + __IO uint32_t BKP15R; /*!< RTC backup register 15, Address offset: 0x8C */ + __IO uint32_t BKP16R; /*!< RTC backup register 16, Address offset: 0x90 */ + __IO uint32_t BKP17R; /*!< RTC backup register 17, Address offset: 0x94 */ + __IO uint32_t BKP18R; /*!< RTC backup register 18, Address offset: 0x98 */ + __IO uint32_t BKP19R; /*!< RTC backup register 19, Address offset: 0x9C */ + __IO uint32_t BKP20R; /*!< RTC backup register 20, Address offset: 0xA0 */ + __IO uint32_t BKP21R; /*!< RTC backup register 21, Address offset: 0xA4 */ + __IO uint32_t BKP22R; /*!< RTC backup register 22, Address offset: 0xA8 */ + __IO uint32_t BKP23R; /*!< RTC backup register 23, Address offset: 0xAC */ + __IO uint32_t BKP24R; /*!< RTC backup register 24, Address offset: 0xB0 */ + __IO uint32_t BKP25R; /*!< RTC backup register 25, Address offset: 0xB4 */ + __IO uint32_t BKP26R; /*!< RTC backup register 26, Address offset: 0xB8 */ + __IO uint32_t BKP27R; /*!< RTC backup register 27, Address offset: 0xBC */ + __IO uint32_t BKP28R; /*!< RTC backup register 28, Address offset: 0xC0 */ + __IO uint32_t BKP29R; /*!< RTC backup register 29, Address offset: 0xC4 */ + __IO uint32_t BKP30R; /*!< RTC backup register 30, Address offset: 0xC8 */ + __IO uint32_t BKP31R; /*!< RTC backup register 31, Address offset: 0xCC */ +} RTC_TypeDef; + + +/** + * @brief Serial Audio Interface + */ + +typedef struct +{ + __IO uint32_t GCR; /*!< SAI global configuration register, Address offset: 0x00 */ + uint32_t RESERVED0[16]; /*!< Reserved, 0x04 - 0x43 */ + __IO uint32_t PDMCR; /*!< SAI PDM control register, Address offset: 0x44 */ + __IO uint32_t PDMDLY; /*!< SAI PDM delay register, Address offset: 0x48 */ +} SAI_TypeDef; + +typedef struct +{ + __IO uint32_t CR1; /*!< SAI block x configuration register 1, Address offset: 0x04 */ + __IO uint32_t CR2; /*!< SAI block x configuration register 2, Address offset: 0x08 */ + __IO uint32_t FRCR; /*!< SAI block x frame configuration register, Address offset: 0x0C */ + __IO uint32_t SLOTR; /*!< SAI block x slot register, Address offset: 0x10 */ + __IO uint32_t IMR; /*!< SAI block x interrupt mask register, Address offset: 0x14 */ + __IO uint32_t SR; /*!< SAI block x status register, Address offset: 0x18 */ + __IO uint32_t CLRFR; /*!< SAI block x clear flag register, Address offset: 0x1C */ + __IO uint32_t DR; /*!< SAI block x data register, Address offset: 0x20 */ +} SAI_Block_TypeDef; + +/** + * @brief SPDIF-RX Interface + */ + +typedef struct +{ + __IO uint32_t CR; /*!< Control register, Address offset: 0x00 */ + __IO uint32_t IMR; /*!< Interrupt mask register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< Status register, Address offset: 0x08 */ + __IO uint32_t IFCR; /*!< Interrupt Flag Clear register, Address offset: 0x0C */ + __IO uint32_t DR; /*!< Data input register, Address offset: 0x10 */ + __IO uint32_t CSR; /*!< Channel Status register, Address offset: 0x14 */ + __IO uint32_t DIR; /*!< Debug Information register, Address offset: 0x18 */ + uint32_t RESERVED2; /*!< Reserved, 0x1A */ +} SPDIFRX_TypeDef; + + +/** + * @brief Secure digital input/output Interface + */ + +typedef struct +{ + __IO uint32_t POWER; /*!< SDMMC power control register, Address offset: 0x00 */ + __IO uint32_t CLKCR; /*!< SDMMC clock control register, Address offset: 0x04 */ + __IO uint32_t ARG; /*!< SDMMC argument register, Address offset: 0x08 */ + __IO uint32_t CMD; /*!< SDMMC command register, Address offset: 0x0C */ + __I uint32_t RESPCMD; /*!< SDMMC command response register, Address offset: 0x10 */ + __I uint32_t RESP1; /*!< SDMMC response 1 register, Address offset: 0x14 */ + __I uint32_t RESP2; /*!< SDMMC response 2 register, Address offset: 0x18 */ + __I uint32_t RESP3; /*!< SDMMC response 3 register, Address offset: 0x1C */ + __I uint32_t RESP4; /*!< SDMMC response 4 register, Address offset: 0x20 */ + __IO uint32_t DTIMER; /*!< SDMMC data timer register, Address offset: 0x24 */ + __IO uint32_t DLEN; /*!< SDMMC data length register, Address offset: 0x28 */ + __IO uint32_t DCTRL; /*!< SDMMC data control register, Address offset: 0x2C */ + __I uint32_t DCOUNT; /*!< SDMMC data counter register, Address offset: 0x30 */ + __I uint32_t STA; /*!< SDMMC status register, Address offset: 0x34 */ + __IO uint32_t ICR; /*!< SDMMC interrupt clear register, Address offset: 0x38 */ + __IO uint32_t MASK; /*!< SDMMC mask register, Address offset: 0x3C */ + __IO uint32_t ACKTIME; /*!< SDMMC Acknowledgement timer register, Address offset: 0x40 */ + uint32_t RESERVED0[3]; /*!< Reserved, 0x44 - 0x4C - 0x4C */ + __IO uint32_t IDMACTRL; /*!< SDMMC DMA control register, Address offset: 0x50 */ + __IO uint32_t IDMABSIZE; /*!< SDMMC DMA buffer size register, Address offset: 0x54 */ + __IO uint32_t IDMABASE0; /*!< SDMMC DMA buffer 0 base address register, Address offset: 0x58 */ + __IO uint32_t IDMABASE1; /*!< SDMMC DMA buffer 1 base address register, Address offset: 0x5C */ + uint32_t RESERVED1[8]; /*!< Reserved, 0x60-0x7C */ + __IO uint32_t FIFO; /*!< SDMMC data FIFO register, Address offset: 0x80 */ + uint32_t RESERVED2[222]; /*!< Reserved, 0x84-0x3F8 */ + __IO uint32_t IPVR; /*!< SDMMC data FIFO register, Address offset: 0x3FC */ +} SDMMC_TypeDef; + + +/** + * @brief Delay Block DLYB + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DELAY BLOCK control register, Address offset: 0x00 */ + __IO uint32_t CFGR; /*!< DELAY BLOCK configuration register, Address offset: 0x04 */ +} DLYB_TypeDef; + +/** + * @brief HW Semaphore HSEM + */ + +typedef struct +{ + __IO uint32_t R[32]; /*!< 2-step write lock and read back registers, Address offset: 00h-7Ch */ + __IO uint32_t RLR[32]; /*!< 1-step read lock registers, Address offset: 80h-FCh */ + __IO uint32_t IER; /*!< HSEM Interrupt enable register , Address offset: 100h */ + __IO uint32_t ICR; /*!< HSEM Interrupt clear register , Address offset: 104h */ + __IO uint32_t ISR; /*!< HSEM Interrupt Status register , Address offset: 108h */ + __IO uint32_t MISR; /*!< HSEM Interrupt Masked Status register , Address offset: 10Ch */ + uint32_t Reserved[12]; /* Reserved Address offset: 110h-13Ch */ + __IO uint32_t CR; /*!< HSEM Semaphore clear register , Address offset: 140h */ + __IO uint32_t KEYR; /*!< HSEM Semaphore clear key register , Address offset: 144h */ + +} HSEM_TypeDef; + +/** + * @brief Serial Peripheral Interface + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< SPI Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< SPI Control register 2, Address offset: 0x04 */ + __IO uint32_t CFG1; /*!< SPI Status register, Address offset: 0x08 */ + __IO uint32_t CFG2; /*!< SPI Status register, Address offset: 0x0C */ + __IO uint32_t IER; /*!< SPI data register, Address offset: 0x10 */ + __IO uint32_t SR; /*!< SPI data register, Address offset: 0x14 */ + __IO uint32_t IFCR; /*!< SPI data register, Address offset: 0x18 */ + uint32_t RESERVED0; /*!< SPI data register, Address offset: 0x1C */ + __IO uint32_t TXDR; /*!< SPI data register, Address offset: 0x20 */ + uint32_t RESERVED1[3]; /*!< Reserved, 0x24-0x2C */ + __IO uint32_t RXDR; /*!< SPI data register, Address offset: 0x30 */ + uint32_t RESERVED2[3]; /*!< Reserved, 0x34-0x3C */ + __IO uint32_t CRCPOLY; /*!< SPI data register, Address offset: 0x40 */ + __IO uint32_t TXCRC; /*!< SPI data register, Address offset: 0x44 */ + __IO uint32_t RXCRC; /*!< SPI data register, Address offset: 0x48 */ + __IO uint32_t UDRDR; /*!< SPI data register, Address offset: 0x4C */ + __IO uint32_t I2SCFGR; /*!< SPI data register, Address offset: 0x50 */ + +} SPI_TypeDef; + +/** + * @brief QUAD Serial Peripheral Interface + */ + +typedef struct +{ + __IO uint32_t CR; /*!< QUADSPI Control register, Address offset: 0x00 */ + __IO uint32_t DCR; /*!< QUADSPI Device Configuration register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< QUADSPI Status register, Address offset: 0x08 */ + __IO uint32_t FCR; /*!< QUADSPI Flag Clear register, Address offset: 0x0C */ + __IO uint32_t DLR; /*!< QUADSPI Data Length register, Address offset: 0x10 */ + __IO uint32_t CCR; /*!< QUADSPI Communication Configuration register, Address offset: 0x14 */ + __IO uint32_t AR; /*!< QUADSPI Address register, Address offset: 0x18 */ + __IO uint32_t ABR; /*!< QUADSPI Alternate Bytes register, Address offset: 0x1C */ + __IO uint32_t DR; /*!< QUADSPI Data register, Address offset: 0x20 */ + __IO uint32_t PSMKR; /*!< QUADSPI Polling Status Mask register, Address offset: 0x24 */ + __IO uint32_t PSMAR; /*!< QUADSPI Polling Status Match register, Address offset: 0x28 */ + __IO uint32_t PIR; /*!< QUADSPI Polling Interval register, Address offset: 0x2C */ + __IO uint32_t LPTR; /*!< QUADSPI Low Power Timeout register, Address offset: 0x30 */ +} QUADSPI_TypeDef; + + +/** + * @brief TIM + */ + +typedef struct +{ + __IO uint16_t CR1; /*!< TIM control register 1, Address offset: 0x00 */ + uint16_t RESERVED0; /*!< Reserved, 0x02 */ + __IO uint32_t CR2; /*!< TIM control register 2, Address offset: 0x04 */ + __IO uint32_t SMCR; /*!< TIM slave mode control register, Address offset: 0x08 */ + __IO uint32_t DIER; /*!< TIM DMA/interrupt enable register, Address offset: 0x0C */ + __IO uint32_t SR; /*!< TIM status register, Address offset: 0x10 */ + __IO uint32_t EGR; /*!< TIM event generation register, Address offset: 0x14 */ + __IO uint32_t CCMR1; /*!< TIM capture/compare mode register 1, Address offset: 0x18 */ + __IO uint32_t CCMR2; /*!< TIM capture/compare mode register 2, Address offset: 0x1C */ + __IO uint32_t CCER; /*!< TIM capture/compare enable register, Address offset: 0x20 */ + __IO uint32_t CNT; /*!< TIM counter register, Address offset: 0x24 */ + __IO uint16_t PSC; /*!< TIM prescaler, Address offset: 0x28 */ + uint16_t RESERVED9; /*!< Reserved, 0x2A */ + __IO uint32_t ARR; /*!< TIM auto-reload register, Address offset: 0x2C */ + __IO uint16_t RCR; /*!< TIM repetition counter register, Address offset: 0x30 */ + uint16_t RESERVED10; /*!< Reserved, 0x32 */ + __IO uint32_t CCR1; /*!< TIM capture/compare register 1, Address offset: 0x34 */ + __IO uint32_t CCR2; /*!< TIM capture/compare register 2, Address offset: 0x38 */ + __IO uint32_t CCR3; /*!< TIM capture/compare register 3, Address offset: 0x3C */ + __IO uint32_t CCR4; /*!< TIM capture/compare register 4, Address offset: 0x40 */ + __IO uint32_t BDTR; /*!< TIM break and dead-time register, Address offset: 0x44 */ + __IO uint16_t DCR; /*!< TIM DMA control register, Address offset: 0x48 */ + uint16_t RESERVED12; /*!< Reserved, 0x4A */ + __IO uint16_t DMAR; /*!< TIM DMA address for full transfer, Address offset: 0x4C */ + uint16_t RESERVED13; /*!< Reserved, 0x4E */ + uint16_t RESERVED14; /*!< Reserved, 0x50 */ + __IO uint32_t CCMR3; /*!< TIM capture/compare mode register 3, Address offset: 0x54 */ + __IO uint32_t CCR5; /*!< TIM capture/compare register5, Address offset: 0x58 */ + __IO uint32_t CCR6; /*!< TIM capture/compare register6, Address offset: 0x5C */ + __IO uint32_t AF1; /*!< TIM alternate function option register 1, Address offset: 0x60 */ + __IO uint32_t AF2; /*!< TIM alternate function option register 2, Address offset: 0x64 */ + __IO uint32_t TISEL; /*!< TIM Input Selection register, Address offset: 0x68 */ +} TIM_TypeDef; + +/** + * @brief LPTIMIMER + */ +typedef struct +{ + __IO uint32_t ISR; /*!< LPTIM Interrupt and Status register, Address offset: 0x00 */ + __IO uint32_t ICR; /*!< LPTIM Interrupt Clear register, Address offset: 0x04 */ + __IO uint32_t IER; /*!< LPTIM Interrupt Enable register, Address offset: 0x08 */ + __IO uint32_t CFGR; /*!< LPTIM Configuration register, Address offset: 0x0C */ + __IO uint32_t CR; /*!< LPTIM Control register, Address offset: 0x10 */ + __IO uint32_t CMP; /*!< LPTIM Compare register, Address offset: 0x14 */ + __IO uint32_t ARR; /*!< LPTIM Autoreload register, Address offset: 0x18 */ + __IO uint32_t CNT; /*!< LPTIM Counter register, Address offset: 0x1C */ + uint16_t RESERVED1; /*!< Reserved, 0x20 */ + __IO uint32_t CFGR2; /*!< LPTIM Option register, Address offset: 0x24 */ +} LPTIM_TypeDef; + +/** + * @brief Comparator + */ +typedef struct +{ + __IO uint32_t SR; /*!< Comparator status register, Address offset: 0x00 */ + __IO uint32_t ICFR; /*!< Comparator interrupt clear flag register, Address offset: 0x04 */ + __IO uint32_t OR; /*!< Comparator option register, Address offset: 0x08 */ +} COMPOPT_TypeDef; + +typedef struct +{ + __IO uint32_t CFGR; /*!< Comparator configuration register , Address offset: 0x00 */ +} COMP_TypeDef; + +typedef struct +{ + __IO uint32_t CFGR; /*!< COMP control and status register, used for bits common to several COMP instances, Address offset: 0x00 */ +} COMP_Common_TypeDef; +/** + * @brief Universal Synchronous Asynchronous Receiver Transmitter + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< USART Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< USART Control register 2, Address offset: 0x04 */ + __IO uint32_t CR3; /*!< USART Control register 3, Address offset: 0x08 */ + __IO uint32_t BRR; /*!< USART Baud rate register, Address offset: 0x0C */ + __IO uint16_t GTPR; /*!< USART Guard time and prescaler register, Address offset: 0x10 */ + uint16_t RESERVED2; /*!< Reserved, 0x12 */ + __IO uint32_t RTOR; /*!< USART Receiver Time Out register, Address offset: 0x14 */ + __IO uint16_t RQR; /*!< USART Request register, Address offset: 0x18 */ + uint16_t RESERVED3; /*!< Reserved, 0x1A */ + __IO uint32_t ISR; /*!< USART Interrupt and status register, Address offset: 0x1C */ + __IO uint32_t ICR; /*!< USART Interrupt flag Clear register, Address offset: 0x20 */ + __IO uint16_t RDR; /*!< USART Receive Data register, Address offset: 0x24 */ + uint16_t RESERVED4; /*!< Reserved, 0x26 */ + __IO uint16_t TDR; /*!< USART Transmit Data register, Address offset: 0x28 */ + uint16_t RESERVED5; /*!< Reserved, 0x2A */ + __IO uint32_t PRESC; /*!< USART clock Prescaler register, Address offset: 0x2C */ +} USART_TypeDef; + +/** + * @brief Single Wire Protocol Master Interface SPWMI + */ +typedef struct +{ + __IO uint32_t CR; /*!< SWPMI Configuration/Control register, Address offset: 0x00 */ + __IO uint32_t BRR; /*!< SWPMI bitrate register, Address offset: 0x04 */ + uint32_t RESERVED1; /*!< Reserved, 0x08 */ + __IO uint32_t ISR; /*!< SWPMI Interrupt and Status register, Address offset: 0x0C */ + __IO uint32_t ICR; /*!< SWPMI Interrupt Flag Clear register, Address offset: 0x10 */ + __IO uint32_t IER; /*!< SWPMI Interrupt Enable register, Address offset: 0x14 */ + __IO uint32_t RFL; /*!< SWPMI Receive Frame Length register, Address offset: 0x18 */ + __IO uint32_t TDR; /*!< SWPMI Transmit data register, Address offset: 0x1C */ + __IO uint32_t RDR; /*!< SWPMI Receive data register, Address offset: 0x20 */ + __IO uint32_t OR; /*!< SWPMI Option register, Address offset: 0x24 */ +} SWPMI_TypeDef; + +/** + * @brief Window WATCHDOG + */ + +typedef struct +{ + __IO uint32_t CR; /*!< WWDG Control register, Address offset: 0x00 */ + __IO uint32_t CFR; /*!< WWDG Configuration register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< WWDG Status register, Address offset: 0x08 */ +} WWDG_TypeDef; + +/** + * @brief High resolution Timer (HRTIM) + */ +/* HRTIM master registers definition */ +typedef struct +{ + __IO uint32_t MCR; /*!< HRTIM Master Timer control register, Address offset: 0x00 */ + __IO uint32_t MISR; /*!< HRTIM Master Timer interrupt status register, Address offset: 0x04 */ + __IO uint32_t MICR; /*!< HRTIM Master Timer interupt clear register, Address offset: 0x08 */ + __IO uint32_t MDIER; /*!< HRTIM Master Timer DMA/interrupt enable register Address offset: 0x0C */ + __IO uint32_t MCNTR; /*!< HRTIM Master Timer counter register, Address offset: 0x10 */ + __IO uint32_t MPER; /*!< HRTIM Master Timer period register, Address offset: 0x14 */ + __IO uint32_t MREP; /*!< HRTIM Master Timer repetition register, Address offset: 0x18 */ + __IO uint32_t MCMP1R; /*!< HRTIM Master Timer compare 1 register, Address offset: 0x1C */ + uint32_t RESERVED0; /*!< Reserved, 0x20 */ + __IO uint32_t MCMP2R; /*!< HRTIM Master Timer compare 2 register, Address offset: 0x24 */ + __IO uint32_t MCMP3R; /*!< HRTIM Master Timer compare 3 register, Address offset: 0x28 */ + __IO uint32_t MCMP4R; /*!< HRTIM Master Timer compare 4 register, Address offset: 0x2C */ + uint32_t RESERVED1[20]; /*!< Reserved, 0x30..0x7C */ +}HRTIM_Master_TypeDef; + +/* HRTIM Timer A to E registers definition */ +typedef struct +{ + __IO uint32_t TIMxCR; /*!< HRTIM Timerx control register, Address offset: 0x00 */ + __IO uint32_t TIMxISR; /*!< HRTIM Timerx interrupt status register, Address offset: 0x04 */ + __IO uint32_t TIMxICR; /*!< HRTIM Timerx interrupt clear register, Address offset: 0x08 */ + __IO uint32_t TIMxDIER; /*!< HRTIM Timerx DMA/interrupt enable register, Address offset: 0x0C */ + __IO uint32_t CNTxR; /*!< HRTIM Timerx counter register, Address offset: 0x10 */ + __IO uint32_t PERxR; /*!< HRTIM Timerx period register, Address offset: 0x14 */ + __IO uint32_t REPxR; /*!< HRTIM Timerx repetition register, Address offset: 0x18 */ + __IO uint32_t CMP1xR; /*!< HRTIM Timerx compare 1 register, Address offset: 0x1C */ + __IO uint32_t CMP1CxR; /*!< HRTIM Timerx compare 1 compound register, Address offset: 0x20 */ + __IO uint32_t CMP2xR; /*!< HRTIM Timerx compare 2 register, Address offset: 0x24 */ + __IO uint32_t CMP3xR; /*!< HRTIM Timerx compare 3 register, Address offset: 0x28 */ + __IO uint32_t CMP4xR; /*!< HRTIM Timerx compare 4 register, Address offset: 0x2C */ + __IO uint32_t CPT1xR; /*!< HRTIM Timerx capture 1 register, Address offset: 0x30 */ + __IO uint32_t CPT2xR; /*!< HRTIM Timerx capture 2 register, Address offset: 0x34 */ + __IO uint32_t DTxR; /*!< HRTIM Timerx dead time register, Address offset: 0x38 */ + __IO uint32_t SETx1R; /*!< HRTIM Timerx output 1 set register, Address offset: 0x3C */ + __IO uint32_t RSTx1R; /*!< HRTIM Timerx output 1 reset register, Address offset: 0x40 */ + __IO uint32_t SETx2R; /*!< HRTIM Timerx output 2 set register, Address offset: 0x44 */ + __IO uint32_t RSTx2R; /*!< HRTIM Timerx output 2 reset register, Address offset: 0x48 */ + __IO uint32_t EEFxR1; /*!< HRTIM Timerx external event filtering 1 register, Address offset: 0x4C */ + __IO uint32_t EEFxR2; /*!< HRTIM Timerx external event filtering 2 register, Address offset: 0x50 */ + __IO uint32_t RSTxR; /*!< HRTIM Timerx Reset register, Address offset: 0x54 */ + __IO uint32_t CHPxR; /*!< HRTIM Timerx Chopper register, Address offset: 0x58 */ + __IO uint32_t CPT1xCR; /*!< HRTIM Timerx Capture 1 register, Address offset: 0x5C */ + __IO uint32_t CPT2xCR; /*!< HRTIM Timerx Capture 2 register, Address offset: 0x60 */ + __IO uint32_t OUTxR; /*!< HRTIM Timerx Output register, Address offset: 0x64 */ + __IO uint32_t FLTxR; /*!< HRTIM Timerx Fault register, Address offset: 0x68 */ + uint32_t RESERVED0[5]; /*!< Reserved, 0x6C..0x7C */ +}HRTIM_Timerx_TypeDef; + +/* HRTIM common register definition */ +typedef struct +{ + __IO uint32_t CR1; /*!< HRTIM control register1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< HRTIM control register2, Address offset: 0x04 */ + __IO uint32_t ISR; /*!< HRTIM interrupt status register, Address offset: 0x08 */ + __IO uint32_t ICR; /*!< HRTIM interrupt clear register, Address offset: 0x0C */ + __IO uint32_t IER; /*!< HRTIM interrupt enable register, Address offset: 0x10 */ + __IO uint32_t OENR; /*!< HRTIM Output enable register, Address offset: 0x14 */ + __IO uint32_t ODISR; /*!< HRTIM Output disable register, Address offset: 0x18 */ + __IO uint32_t ODSR; /*!< HRTIM Output disable status register, Address offset: 0x1C */ + __IO uint32_t BMCR; /*!< HRTIM Burst mode control register, Address offset: 0x20 */ + __IO uint32_t BMTRGR; /*!< HRTIM Busrt mode trigger register, Address offset: 0x24 */ + __IO uint32_t BMCMPR; /*!< HRTIM Burst mode compare register, Address offset: 0x28 */ + __IO uint32_t BMPER; /*!< HRTIM Burst mode period register, Address offset: 0x2C */ + __IO uint32_t EECR1; /*!< HRTIM Timer external event control register1, Address offset: 0x30 */ + __IO uint32_t EECR2; /*!< HRTIM Timer external event control register2, Address offset: 0x34 */ + __IO uint32_t EECR3; /*!< HRTIM Timer external event control register3, Address offset: 0x38 */ + __IO uint32_t ADC1R; /*!< HRTIM ADC Trigger 1 register, Address offset: 0x3C */ + __IO uint32_t ADC2R; /*!< HRTIM ADC Trigger 2 register, Address offset: 0x40 */ + __IO uint32_t ADC3R; /*!< HRTIM ADC Trigger 3 register, Address offset: 0x44 */ + __IO uint32_t ADC4R; /*!< HRTIM ADC Trigger 4 register, Address offset: 0x48 */ + __IO uint32_t DLLCR; /*!< HRTIM DLL control register, Address offset: 0x4C */ + __IO uint32_t FLTINR1; /*!< HRTIM Fault input register1, Address offset: 0x50 */ + __IO uint32_t FLTINR2; /*!< HRTIM Fault input register2, Address offset: 0x54 */ + __IO uint32_t BDMUPR; /*!< HRTIM Burst DMA Master Timer update register, Address offset: 0x58 */ + __IO uint32_t BDTAUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x5C */ + __IO uint32_t BDTBUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x60 */ + __IO uint32_t BDTCUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x64 */ + __IO uint32_t BDTDUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x68 */ + __IO uint32_t BDTEUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x6C */ + __IO uint32_t BDMADR; /*!< HRTIM Burst DMA Master Data register, Address offset: 0x70 */ +}HRTIM_Common_TypeDef; + +/* HRTIM register definition */ +typedef struct { + HRTIM_Master_TypeDef sMasterRegs; + HRTIM_Timerx_TypeDef sTimerxRegs[5]; + uint32_t RESERVED0[32]; + HRTIM_Common_TypeDef sCommonRegs; +}HRTIM_TypeDef; + +/** + * @brief RNG + */ + +typedef struct +{ + __IO uint32_t CR; /*!< RNG control register, Address offset: 0x00 */ + __IO uint32_t SR; /*!< RNG status register, Address offset: 0x04 */ + __IO uint32_t DR; /*!< RNG data register, Address offset: 0x08 */ +} RNG_TypeDef; + +/** + * @brief MDIOS + */ + +typedef struct +{ + __IO uint32_t CR; + __IO uint32_t WRFR; + __IO uint32_t CWRFR; + __IO uint32_t RDFR; + __IO uint32_t CRDFR; + __IO uint32_t SR; + __IO uint32_t CLRFR; + uint32_t RESERVED[57]; + __IO uint32_t DINR0; + __IO uint32_t DINR1; + __IO uint32_t DINR2; + __IO uint32_t DINR3; + __IO uint32_t DINR4; + __IO uint32_t DINR5; + __IO uint32_t DINR6; + __IO uint32_t DINR7; + __IO uint32_t DINR8; + __IO uint32_t DINR9; + __IO uint32_t DINR10; + __IO uint32_t DINR11; + __IO uint32_t DINR12; + __IO uint32_t DINR13; + __IO uint32_t DINR14; + __IO uint32_t DINR15; + __IO uint32_t DINR16; + __IO uint32_t DINR17; + __IO uint32_t DINR18; + __IO uint32_t DINR19; + __IO uint32_t DINR20; + __IO uint32_t DINR21; + __IO uint32_t DINR22; + __IO uint32_t DINR23; + __IO uint32_t DINR24; + __IO uint32_t DINR25; + __IO uint32_t DINR26; + __IO uint32_t DINR27; + __IO uint32_t DINR28; + __IO uint32_t DINR29; + __IO uint32_t DINR30; + __IO uint32_t DINR31; + __IO uint32_t DOUTR0; + __IO uint32_t DOUTR1; + __IO uint32_t DOUTR2; + __IO uint32_t DOUTR3; + __IO uint32_t DOUTR4; + __IO uint32_t DOUTR5; + __IO uint32_t DOUTR6; + __IO uint32_t DOUTR7; + __IO uint32_t DOUTR8; + __IO uint32_t DOUTR9; + __IO uint32_t DOUTR10; + __IO uint32_t DOUTR11; + __IO uint32_t DOUTR12; + __IO uint32_t DOUTR13; + __IO uint32_t DOUTR14; + __IO uint32_t DOUTR15; + __IO uint32_t DOUTR16; + __IO uint32_t DOUTR17; + __IO uint32_t DOUTR18; + __IO uint32_t DOUTR19; + __IO uint32_t DOUTR20; + __IO uint32_t DOUTR21; + __IO uint32_t DOUTR22; + __IO uint32_t DOUTR23; + __IO uint32_t DOUTR24; + __IO uint32_t DOUTR25; + __IO uint32_t DOUTR26; + __IO uint32_t DOUTR27; + __IO uint32_t DOUTR28; + __IO uint32_t DOUTR29; + __IO uint32_t DOUTR30; + __IO uint32_t DOUTR31; +} MDIOS_TypeDef; + + +/** + * @brief USB_OTG_Core_Registers + */ +typedef struct +{ + __IO uint32_t GOTGCTL; /*!< USB_OTG Control and Status Register 000h */ + __IO uint32_t GOTGINT; /*!< USB_OTG Interrupt Register 004h */ + __IO uint32_t GAHBCFG; /*!< Core AHB Configuration Register 008h */ + __IO uint32_t GUSBCFG; /*!< Core USB Configuration Register 00Ch */ + __IO uint32_t GRSTCTL; /*!< Core Reset Register 010h */ + __IO uint32_t GINTSTS; /*!< Core Interrupt Register 014h */ + __IO uint32_t GINTMSK; /*!< Core Interrupt Mask Register 018h */ + __IO uint32_t GRXSTSR; /*!< Receive Sts Q Read Register 01Ch */ + __IO uint32_t GRXSTSP; /*!< Receive Sts Q Read & POP Register 020h */ + __IO uint32_t GRXFSIZ; /*!< Receive FIFO Size Register 024h */ + __IO uint32_t DIEPTXF0_HNPTXFSIZ; /*!< EP0 / Non Periodic Tx FIFO Size Register 028h */ + __IO uint32_t HNPTXSTS; /*!< Non Periodic Tx FIFO/Queue Sts reg 02Ch */ + uint32_t Reserved30[2]; /*!< Reserved 030h */ + __IO uint32_t GCCFG; /*!< General Purpose IO Register 038h */ + __IO uint32_t CID; /*!< User ID Register 03Ch */ + __IO uint32_t GSNPSID; /* USB_OTG core ID 040h*/ + __IO uint32_t GHWCFG1; /* User HW config1 044h*/ + __IO uint32_t GHWCFG2; /* User HW config2 048h*/ + __IO uint32_t GHWCFG3; /*!< User HW config3 04Ch */ + uint32_t Reserved6; /*!< Reserved 050h */ + __IO uint32_t GLPMCFG; /*!< LPM Register 054h */ + __IO uint32_t GPWRDN; /*!< Power Down Register 058h */ + __IO uint32_t GDFIFOCFG; /*!< DFIFO Software Config Register 05Ch */ + __IO uint32_t GADPCTL; /*!< ADP Timer, Control and Status Register 60Ch */ + uint32_t Reserved43[39]; /*!< Reserved 058h-0FFh */ + __IO uint32_t HPTXFSIZ; /*!< Host Periodic Tx FIFO Size Reg 100h */ + __IO uint32_t DIEPTXF[0x0F]; /*!< dev Periodic Transmit FIFO */ +} USB_OTG_GlobalTypeDef; + + +/** + * @brief USB_OTG_device_Registers + */ +typedef struct +{ + __IO uint32_t DCFG; /*!< dev Configuration Register 800h */ + __IO uint32_t DCTL; /*!< dev Control Register 804h */ + __IO uint32_t DSTS; /*!< dev Status Register (RO) 808h */ + uint32_t Reserved0C; /*!< Reserved 80Ch */ + __IO uint32_t DIEPMSK; /*!< dev IN Endpoint Mask 810h */ + __IO uint32_t DOEPMSK; /*!< dev OUT Endpoint Mask 814h */ + __IO uint32_t DAINT; /*!< dev All Endpoints Itr Reg 818h */ + __IO uint32_t DAINTMSK; /*!< dev All Endpoints Itr Mask 81Ch */ + uint32_t Reserved20; /*!< Reserved 820h */ + uint32_t Reserved9; /*!< Reserved 824h */ + __IO uint32_t DVBUSDIS; /*!< dev VBUS discharge Register 828h */ + __IO uint32_t DVBUSPULSE; /*!< dev VBUS Pulse Register 82Ch */ + __IO uint32_t DTHRCTL; /*!< dev threshold 830h */ + __IO uint32_t DIEPEMPMSK; /*!< dev empty msk 834h */ + __IO uint32_t DEACHINT; /*!< dedicated EP interrupt 838h */ + __IO uint32_t DEACHMSK; /*!< dedicated EP msk 83Ch */ + uint32_t Reserved40; /*!< dedicated EP mask 840h */ + __IO uint32_t DINEP1MSK; /*!< dedicated EP mask 844h */ + uint32_t Reserved44[15]; /*!< Reserved 844-87Ch */ + __IO uint32_t DOUTEP1MSK; /*!< dedicated EP msk 884h */ +} USB_OTG_DeviceTypeDef; + + +/** + * @brief USB_OTG_IN_Endpoint-Specific_Register + */ +typedef struct +{ + __IO uint32_t DIEPCTL; /*!< dev IN Endpoint Control Reg 900h + (ep_num * 20h) + 00h */ + uint32_t Reserved04; /*!< Reserved 900h + (ep_num * 20h) + 04h */ + __IO uint32_t DIEPINT; /*!< dev IN Endpoint Itr Reg 900h + (ep_num * 20h) + 08h */ + uint32_t Reserved0C; /*!< Reserved 900h + (ep_num * 20h) + 0Ch */ + __IO uint32_t DIEPTSIZ; /*!< IN Endpoint Txfer Size 900h + (ep_num * 20h) + 10h */ + __IO uint32_t DIEPDMA; /*!< IN Endpoint DMA Address Reg 900h + (ep_num * 20h) + 14h */ + __IO uint32_t DTXFSTS; /*!< IN Endpoint Tx FIFO Status Reg 900h + (ep_num * 20h) + 18h */ + uint32_t Reserved18; /*!< Reserved 900h+(ep_num*20h)+1Ch-900h+ (ep_num * 20h) + 1Ch */ +} USB_OTG_INEndpointTypeDef; + + +/** + * @brief USB_OTG_OUT_Endpoint-Specific_Registers + */ +typedef struct +{ + __IO uint32_t DOEPCTL; /*!< dev OUT Endpoint Control Reg B00h + (ep_num * 20h) + 00h */ + uint32_t Reserved04; /*!< Reserved B00h + (ep_num * 20h) + 04h */ + __IO uint32_t DOEPINT; /*!< dev OUT Endpoint Itr Reg B00h + (ep_num * 20h) + 08h */ + uint32_t Reserved0C; /*!< Reserved B00h + (ep_num * 20h) + 0Ch */ + __IO uint32_t DOEPTSIZ; /*!< dev OUT Endpoint Txfer Size B00h + (ep_num * 20h) + 10h */ + __IO uint32_t DOEPDMA; /*!< dev OUT Endpoint DMA Address B00h + (ep_num * 20h) + 14h */ + uint32_t Reserved18[2]; /*!< Reserved B00h + (ep_num * 20h) + 18h - B00h + (ep_num * 20h) + 1Ch */ +} USB_OTG_OUTEndpointTypeDef; + + +/** + * @brief USB_OTG_Host_Mode_Register_Structures + */ +typedef struct +{ + __IO uint32_t HCFG; /*!< Host Configuration Register 400h */ + __IO uint32_t HFIR; /*!< Host Frame Interval Register 404h */ + __IO uint32_t HFNUM; /*!< Host Frame Nbr/Frame Remaining 408h */ + uint32_t Reserved40C; /*!< Reserved 40Ch */ + __IO uint32_t HPTXSTS; /*!< Host Periodic Tx FIFO/ Queue Status 410h */ + __IO uint32_t HAINT; /*!< Host All Channels Interrupt Register 414h */ + __IO uint32_t HAINTMSK; /*!< Host All Channels Interrupt Mask 418h */ +} USB_OTG_HostTypeDef; + +/** + * @brief USB_OTG_Host_Channel_Specific_Registers + */ +typedef struct +{ + __IO uint32_t HCCHAR; /*!< Host Channel Characteristics Register 500h */ + __IO uint32_t HCSPLT; /*!< Host Channel Split Control Register 504h */ + __IO uint32_t HCINT; /*!< Host Channel Interrupt Register 508h */ + __IO uint32_t HCINTMSK; /*!< Host Channel Interrupt Mask Register 50Ch */ + __IO uint32_t HCTSIZ; /*!< Host Channel Transfer Size Register 510h */ + __IO uint32_t HCDMA; /*!< Host Channel DMA Address Register 514h */ + uint32_t Reserved[2]; /*!< Reserved */ +} USB_OTG_HostChannelTypeDef; +/** + * @} + */ + +/** @addtogroup Peripheral_memory_map + * @{ + */ +#define D1_ITCMRAM_BASE ((uint32_t)0x00000000) /*!< Base address of : 64KB RAM reserved for CPU execution/instruction accessible over ITCM */ +#define D1_ITCMICP_BASE ((uint32_t)0x00100000) /*!< Base address of : (up to 128KB) embedded Test FLASH memory accessible over ITCM */ +#define D1_DTCMRAM_BASE ((uint32_t)0x20000000) /*!< Base address of : 128KB system data RAM accessible over DTCM */ +#define D1_AXIFLASH_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 2 MB) embedded FLASH memory accessible over AXI */ +#define D1_AXIICP_BASE ((uint32_t)0x1FF00000) /*!< Base address of : (up to 128KB) embedded Test FLASH memory accessible over AXI */ +#define D1_AXISRAM_BASE ((uint32_t)0x24000000) /*!< Base address of : (up to 512KB) system data RAM accessible over over AXI */ + +#define D2_AXISRAM_BASE ((uint32_t)0x10000000) /*!< Base address of : (up to 288KB) system data RAM accessible over over AXI */ +#define D2_AHBSRAM_BASE ((uint32_t)0x30000000) /*!< Base address of : (up to 288KB) system data RAM accessible over over AXI->AHB Bridge */ + +#define D3_BKPSRAM_BASE ((uint32_t)0x38800000) /*!< Base address of : Backup SRAM(4 KB) over AXI->AHB Bridge */ +#define D3_SRAM_BASE ((uint32_t)0x38000000) /*!< Base address of : Backup SRAM(64 KB) over AXI->AHB Bridge */ + +#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Base address of : AHB/ABP Peripherals */ +#define QSPI_BASE ((uint32_t)0x90000000) /*!< Base address of : QSPI memories accessible over AXI */ + +#define FLASH_BANK1_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 1 MB) Flash Bank1 accessible over AXI */ +#define FLASH_BANK2_BASE ((uint32_t)0x08100000) /*!< Base address of : (up to 1 MB) Flash Bank2 accessible over AXI */ +#define FLASH_END ((uint32_t)0x081FFFFF) /*!< FLASH end address */ + +#define FLASH_OTP_BANK1_BASE ((uint32_t)0x1FF00000) /*!< Base address of : (up to 128KB) embedded FLASH Bank1 OTP Area */ +#define FLASH_OTP_BANK1_END ((uint32_t)0x1FF1FFFF) /*!< End address of : (up to 128KB) embedded FLASH Bank1 OTP Area */ +#define FLASH_OTP_BANK2_BASE ((uint32_t)0x1FF40000) /*!< Base address of : (up to 128KB) embedded FLASH Bank2 OTP Area */ +#define FLASH_OTP_BANK2_END ((uint32_t)0x1FF5FFFF) /*!< End address of : (up to 128KB) embedded FLASH Bank2 OTP Area */ + +/* Legacy define */ +#define FLASH_BASE FLASH_BANK1_BASE + + +/*!< Peripheral memory map */ +#define D2_APB1PERIPH_BASE PERIPH_BASE +#define D2_APB2PERIPH_BASE (PERIPH_BASE + 0x00010000) +#define D2_AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000) +#define D2_AHB2PERIPH_BASE (PERIPH_BASE + 0x08020000) + +#define D1_APB1PERIPH_BASE (PERIPH_BASE + 0x10000000) +#define D1_AHB1PERIPH_BASE (PERIPH_BASE + 0x12000000) + +#define D3_APB1PERIPH_BASE (PERIPH_BASE + 0x18000000) +#define D3_AHB1PERIPH_BASE (PERIPH_BASE + 0x18020000) + +/*!< Legacy Peripheral memory map */ +#define APB1PERIPH_BASE PERIPH_BASE +#define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000) +#define AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000) +#define AHB2PERIPH_BASE (PERIPH_BASE + 0x08000000) + +/*!< D1_AHB1PERIPH peripherals */ + +#define MDMA_BASE (D1_AHB1PERIPH_BASE + 0x0000) +#define DMA2D_BASE (D1_AHB1PERIPH_BASE + 0x1000) +#define JPGDEC_BASE (D1_AHB1PERIPH_BASE + 0x3000) +#define FLASH_R_BASE (D1_AHB1PERIPH_BASE + 0x2000) +#define FMC_R_BASE (D1_AHB1PERIPH_BASE + 0x4000) +#define QSPI_R_BASE (D1_AHB1PERIPH_BASE + 0x5000) +#define DLYB_QSPI_BASE (D1_AHB1PERIPH_BASE + 0x6000) +#define SDMMC1_BASE (D1_AHB1PERIPH_BASE + 0x7000) +#define DLYB_SDMMC1_BASE (D1_AHB1PERIPH_BASE + 0x8000) + +/*!< D2_AHB1PERIPH peripherals */ + +#define DMA1_BASE (D2_AHB1PERIPH_BASE + 0x0000) +#define DMA2_BASE (D2_AHB1PERIPH_BASE + 0x0400) +#define DMAMUX1_BASE (D2_AHB1PERIPH_BASE + 0x0800) +#define ADC1_BASE (D2_AHB1PERIPH_BASE + 0x2000) +#define ADC2_BASE (D2_AHB1PERIPH_BASE + 0x2100) +#define ADC12_COMMON_BASE (D2_AHB1PERIPH_BASE + 0x2300) +#define ART_BASE (D2_AHB1PERIPH_BASE + 0x4400) +#define ETH_BASE (D2_AHB1PERIPH_BASE + 0x8000) +#define ETH_MAC_BASE (ETH_BASE) + +/*!< USB registers base address */ +#define USB1_OTG_HS_PERIPH_BASE ((uint32_t )0x40040000) +#define USB2_OTG_FS_PERIPH_BASE ((uint32_t )0x40080000) +#define USB_OTG_GLOBAL_BASE ((uint32_t )0x000) +#define USB_OTG_DEVICE_BASE ((uint32_t )0x800) +#define USB_OTG_IN_ENDPOINT_BASE ((uint32_t )0x900) +#define USB_OTG_OUT_ENDPOINT_BASE ((uint32_t )0xB00) +#define USB_OTG_EP_REG_SIZE ((uint32_t )0x20) +#define USB_OTG_HOST_BASE ((uint32_t )0x400) +#define USB_OTG_HOST_PORT_BASE ((uint32_t )0x440) +#define USB_OTG_HOST_CHANNEL_BASE ((uint32_t )0x500) +#define USB_OTG_HOST_CHANNEL_SIZE ((uint32_t )0x20) +#define USB_OTG_PCGCCTL_BASE ((uint32_t )0xE00) +#define USB_OTG_FIFO_BASE ((uint32_t )0x1000) +#define USB_OTG_FIFO_SIZE ((uint32_t )0x1000) + +/*!< D2_AHB2PERIPH peripherals */ + +#define DCMI_BASE (D2_AHB2PERIPH_BASE + 0x0000) +#define RNG_BASE (D2_AHB2PERIPH_BASE + 0x1800) +#define SDMMC2_BASE (D2_AHB2PERIPH_BASE + 0x2400) +#define DLYB_SDMMC2_BASE (D2_AHB2PERIPH_BASE + 0x2800) + + +/*!< D3_AHB1PERIPH peripherals */ +#define GPIOA_BASE (D3_AHB1PERIPH_BASE + 0x0000) +#define GPIOB_BASE (D3_AHB1PERIPH_BASE + 0x0400) +#define GPIOC_BASE (D3_AHB1PERIPH_BASE + 0x0800) +#define GPIOD_BASE (D3_AHB1PERIPH_BASE + 0x0C00) +#define GPIOE_BASE (D3_AHB1PERIPH_BASE + 0x1000) +#define GPIOF_BASE (D3_AHB1PERIPH_BASE + 0x1400) +#define GPIOG_BASE (D3_AHB1PERIPH_BASE + 0x1800) +#define GPIOH_BASE (D3_AHB1PERIPH_BASE + 0x1C00) +#define GPIOI_BASE (D3_AHB1PERIPH_BASE + 0x2000) +#define GPIOJ_BASE (D3_AHB1PERIPH_BASE + 0x2400) +#define GPIOK_BASE (D3_AHB1PERIPH_BASE + 0x2800) +#define RCC_BASE (D3_AHB1PERIPH_BASE + 0x4400) +#define RCC_C1_BASE (RCC_BASE + 0x130) +#define PWR_BASE (D3_AHB1PERIPH_BASE + 0x4800) +#define CRC_BASE (D3_AHB1PERIPH_BASE + 0x4C00) +#define BDMA_BASE (D3_AHB1PERIPH_BASE + 0x5400) +#define DMAMUX2_BASE (D3_AHB1PERIPH_BASE + 0x5800) +#define ADC3_BASE (D3_AHB1PERIPH_BASE + 0x6000) +#define ADC3_COMMON_BASE (D3_AHB1PERIPH_BASE + 0x6300) +#define HSEM_BASE (D3_AHB1PERIPH_BASE + 0x6400) + +/*!< D1_APB1PERIPH peripherals */ +#define LTDC_BASE (D1_APB1PERIPH_BASE + 0x1000) +#define LTDC_Layer1_BASE (LTDC_BASE + 0x84) +#define LTDC_Layer2_BASE (LTDC_BASE + 0x104) +#define WWDG1_BASE (D1_APB1PERIPH_BASE + 0x3000) + +/*!< D2_APB1PERIPH peripherals */ +#define TIM2_BASE (D2_APB1PERIPH_BASE + 0x0000) +#define TIM3_BASE (D2_APB1PERIPH_BASE + 0x0400) +#define TIM4_BASE (D2_APB1PERIPH_BASE + 0x0800) +#define TIM5_BASE (D2_APB1PERIPH_BASE + 0x0C00) +#define TIM6_BASE (D2_APB1PERIPH_BASE + 0x1000) +#define TIM7_BASE (D2_APB1PERIPH_BASE + 0x1400) +#define TIM12_BASE (D2_APB1PERIPH_BASE + 0x1800) +#define TIM13_BASE (D2_APB1PERIPH_BASE + 0x1C00) +#define TIM14_BASE (D2_APB1PERIPH_BASE + 0x2000) +#define LPTIM1_BASE (D2_APB1PERIPH_BASE + 0x2400) + + +#define SPI2_BASE (D2_APB1PERIPH_BASE + 0x3800) +#define SPI3_BASE (D2_APB1PERIPH_BASE + 0x3C00) +#define SPDIFRX_BASE (D2_APB1PERIPH_BASE + 0x4000) +#define USART2_BASE (D2_APB1PERIPH_BASE + 0x4400) +#define USART3_BASE (D2_APB1PERIPH_BASE + 0x4800) +#define UART4_BASE (D2_APB1PERIPH_BASE + 0x4C00) +#define UART5_BASE (D2_APB1PERIPH_BASE + 0x5000) +#define I2C1_BASE (D2_APB1PERIPH_BASE + 0x5400) +#define I2C2_BASE (D2_APB1PERIPH_BASE + 0x5800) +#define I2C3_BASE (D2_APB1PERIPH_BASE + 0x5C00) +#define CEC_BASE (D2_APB1PERIPH_BASE + 0x6C00) +#define DAC1_BASE (D2_APB1PERIPH_BASE + 0x7400) +#define UART7_BASE (D2_APB1PERIPH_BASE + 0x7800) +#define UART8_BASE (D2_APB1PERIPH_BASE + 0x7C00) +#define CRS_BASE (D2_APB1PERIPH_BASE + 0x8400) +#define SWPMI1_BASE (D2_APB1PERIPH_BASE + 0x8800) +#define OPAMP_BASE (D2_APB1PERIPH_BASE + 0x9000) +#define OPAMP1_BASE (D2_APB1PERIPH_BASE + 0x9000) +#define OPAMP2_BASE (D2_APB1PERIPH_BASE + 0x9010) +#define MDIOS_BASE (D2_APB1PERIPH_BASE + 0x9400) +#define FDCAN1_BASE (D2_APB1PERIPH_BASE + 0xA000) +#define FDCAN2_BASE (D2_APB1PERIPH_BASE + 0xA400) +#define FDCAN_CCU_BASE (D2_APB1PERIPH_BASE + 0xA800) +#define SRAMCAN_BASE (D2_APB1PERIPH_BASE + 0xAC00) + +/*!< D2_APB2PERIPH peripherals */ + +#define TIM1_BASE (D2_APB2PERIPH_BASE + 0x0000) +#define TIM8_BASE (D2_APB2PERIPH_BASE + 0x0400) +#define USART1_BASE (D2_APB2PERIPH_BASE + 0x1000) +#define USART6_BASE (D2_APB2PERIPH_BASE + 0x1400) +#define SPI1_BASE (D2_APB2PERIPH_BASE + 0x3000) +#define SPI4_BASE (D2_APB2PERIPH_BASE + 0x3400) +#define TIM15_BASE (D2_APB2PERIPH_BASE + 0x4000) +#define TIM16_BASE (D2_APB2PERIPH_BASE + 0x4400) +#define TIM17_BASE (D2_APB2PERIPH_BASE + 0x4800) +#define SPI5_BASE (D2_APB2PERIPH_BASE + 0x5000) +#define SAI1_BASE (D2_APB2PERIPH_BASE + 0x5800) +#define SAI1_Block_A_BASE (SAI1_BASE + 0x004) +#define SAI1_Block_B_BASE (SAI1_BASE + 0x024) +#define SAI2_BASE (D2_APB2PERIPH_BASE + 0x5C00) +#define SAI2_Block_A_BASE (SAI2_BASE + 0x004) +#define SAI2_Block_B_BASE (SAI2_BASE + 0x024) +#define SAI3_BASE (D2_APB2PERIPH_BASE + 0x6000) +#define SAI3_Block_A_BASE (SAI3_BASE + 0x004) +#define SAI3_Block_B_BASE (SAI3_BASE + 0x024) +#define DFSDM1_BASE (D2_APB2PERIPH_BASE + 0x7000) +#define DFSDM1_Channel0_BASE (DFSDM1_BASE + 0x00) +#define DFSDM1_Channel1_BASE (DFSDM1_BASE + 0x20) +#define DFSDM1_Channel2_BASE (DFSDM1_BASE + 0x40) +#define DFSDM1_Channel3_BASE (DFSDM1_BASE + 0x60) +#define DFSDM1_Channel4_BASE (DFSDM1_BASE + 0x80) +#define DFSDM1_Channel5_BASE (DFSDM1_BASE + 0xA0) +#define DFSDM1_Channel6_BASE (DFSDM1_BASE + 0xC0) +#define DFSDM1_Channel7_BASE (DFSDM1_BASE + 0xE0) +#define DFSDM1_Filter0_BASE (DFSDM1_BASE + 0x100) +#define DFSDM1_Filter1_BASE (DFSDM1_BASE + 0x180) +#define DFSDM1_Filter2_BASE (DFSDM1_BASE + 0x200) +#define DFSDM1_Filter3_BASE (DFSDM1_BASE + 0x280) +#define HRTIM1_BASE (D2_APB2PERIPH_BASE + 0x7400) +#define HRTIM1_TIMA_BASE (HRTIM1_BASE + 0x00000080) +#define HRTIM1_TIMB_BASE (HRTIM1_BASE + 0x00000100) +#define HRTIM1_TIMC_BASE (HRTIM1_BASE + 0x00000180) +#define HRTIM1_TIMD_BASE (HRTIM1_BASE + 0x00000200) +#define HRTIM1_TIME_BASE (HRTIM1_BASE + 0x00000280) +#define HRTIM1_COMMON_BASE (HRTIM1_BASE + 0x00000380) + + +/*!< D3_APB1PERIPH peripherals */ +#define EXTI_BASE (D3_APB1PERIPH_BASE + 0x0000) +#define EXTI_D1_BASE (EXTI_BASE + 0x0080) +#define EXTI_D2_BASE (EXTI_BASE + 0x00C0) +#define SYSCFG_BASE (D3_APB1PERIPH_BASE + 0x0400) +#define LPUART1_BASE (D3_APB1PERIPH_BASE + 0x0C00) +#define SPI6_BASE (D3_APB1PERIPH_BASE + 0x1400) +#define I2C4_BASE (D3_APB1PERIPH_BASE + 0x1C00) +#define LPTIM2_BASE (D3_APB1PERIPH_BASE + 0x2400) +#define LPTIM3_BASE (D3_APB1PERIPH_BASE + 0x2800) +#define LPTIM4_BASE (D3_APB1PERIPH_BASE + 0x2C00) +#define LPTIM5_BASE (D3_APB1PERIPH_BASE + 0x3000) +#define COMP12_BASE (D3_APB1PERIPH_BASE + 0x3800) +#define COMP1_BASE (COMP12_BASE + 0x0C) +#define COMP2_BASE (COMP12_BASE + 0x10) +#define VREFBUF_BASE (D3_APB1PERIPH_BASE + 0x3C00) +#define RTC_BASE (D3_APB1PERIPH_BASE + 0x4000) +#define IWDG1_BASE (D3_APB1PERIPH_BASE + 0x4800) + + +#define SAI4_BASE (D3_APB1PERIPH_BASE + 0x5400) +#define SAI4_Block_A_BASE (SAI4_BASE + 0x004) +#define SAI4_Block_B_BASE (SAI4_BASE + 0x024) + + +#define BDMA_Channel0_BASE (BDMA_BASE + 0x0008) +#define BDMA_Channel1_BASE (BDMA_BASE + 0x001C) +#define BDMA_Channel2_BASE (BDMA_BASE + 0x0030) +#define BDMA_Channel3_BASE (BDMA_BASE + 0x0044) +#define BDMA_Channel4_BASE (BDMA_BASE + 0x0058) +#define BDMA_Channel5_BASE (BDMA_BASE + 0x006C) +#define BDMA_Channel6_BASE (BDMA_BASE + 0x0080) +#define BDMA_Channel7_BASE (BDMA_BASE + 0x0094) + +#define DMAMUX2_Channel0_BASE (DMAMUX2_BASE) +#define DMAMUX2_Channel1_BASE (DMAMUX2_BASE + 0x0004) +#define DMAMUX2_Channel2_BASE (DMAMUX2_BASE + 0x0008) +#define DMAMUX2_Channel3_BASE (DMAMUX2_BASE + 0x000C) +#define DMAMUX2_Channel4_BASE (DMAMUX2_BASE + 0x0010) +#define DMAMUX2_Channel5_BASE (DMAMUX2_BASE + 0x0014) +#define DMAMUX2_Channel6_BASE (DMAMUX2_BASE + 0x0018) +#define DMAMUX2_Channel7_BASE (DMAMUX2_BASE + 0x001C) + +#define DMAMUX2_RequestGenerator0_BASE (DMAMUX2_BASE + 0x0100) +#define DMAMUX2_RequestGenerator1_BASE (DMAMUX2_BASE + 0x0104) +#define DMAMUX2_RequestGenerator2_BASE (DMAMUX2_BASE + 0x0108) +#define DMAMUX2_RequestGenerator3_BASE (DMAMUX2_BASE + 0x010C) +#define DMAMUX2_RequestGenerator4_BASE (DMAMUX2_BASE + 0x0110) +#define DMAMUX2_RequestGenerator5_BASE (DMAMUX2_BASE + 0x0114) +#define DMAMUX2_RequestGenerator6_BASE (DMAMUX2_BASE + 0x0118) +#define DMAMUX2_RequestGenerator7_BASE (DMAMUX2_BASE + 0x011C) + +#define DMAMUX2_ChannelStatus_BASE (DMAMUX2_BASE + 0x0080) +#define DMAMUX2_RequestGenStatus_BASE (DMAMUX2_BASE + 0x0140) + +#define DMA1_Stream0_BASE (DMA1_BASE + 0x010) +#define DMA1_Stream1_BASE (DMA1_BASE + 0x028) +#define DMA1_Stream2_BASE (DMA1_BASE + 0x040) +#define DMA1_Stream3_BASE (DMA1_BASE + 0x058) +#define DMA1_Stream4_BASE (DMA1_BASE + 0x070) +#define DMA1_Stream5_BASE (DMA1_BASE + 0x088) +#define DMA1_Stream6_BASE (DMA1_BASE + 0x0A0) +#define DMA1_Stream7_BASE (DMA1_BASE + 0x0B8) + +#define DMA2_Stream0_BASE (DMA2_BASE + 0x010) +#define DMA2_Stream1_BASE (DMA2_BASE + 0x028) +#define DMA2_Stream2_BASE (DMA2_BASE + 0x040) +#define DMA2_Stream3_BASE (DMA2_BASE + 0x058) +#define DMA2_Stream4_BASE (DMA2_BASE + 0x070) +#define DMA2_Stream5_BASE (DMA2_BASE + 0x088) +#define DMA2_Stream6_BASE (DMA2_BASE + 0x0A0) +#define DMA2_Stream7_BASE (DMA2_BASE + 0x0B8) + +#define DMAMUX1_Channel0_BASE (DMAMUX1_BASE) +#define DMAMUX1_Channel1_BASE (DMAMUX1_BASE + 0x0004) +#define DMAMUX1_Channel2_BASE (DMAMUX1_BASE + 0x0008) +#define DMAMUX1_Channel3_BASE (DMAMUX1_BASE + 0x000C) +#define DMAMUX1_Channel4_BASE (DMAMUX1_BASE + 0x0010) +#define DMAMUX1_Channel5_BASE (DMAMUX1_BASE + 0x0014) +#define DMAMUX1_Channel6_BASE (DMAMUX1_BASE + 0x0018) +#define DMAMUX1_Channel7_BASE (DMAMUX1_BASE + 0x001C) +#define DMAMUX1_Channel8_BASE (DMAMUX1_BASE + 0x0020) +#define DMAMUX1_Channel9_BASE (DMAMUX1_BASE + 0x0024) +#define DMAMUX1_Channel10_BASE (DMAMUX1_BASE + 0x0028) +#define DMAMUX1_Channel11_BASE (DMAMUX1_BASE + 0x002C) +#define DMAMUX1_Channel12_BASE (DMAMUX1_BASE + 0x0030) +#define DMAMUX1_Channel13_BASE (DMAMUX1_BASE + 0x0034) +#define DMAMUX1_Channel14_BASE (DMAMUX1_BASE + 0x0038) +#define DMAMUX1_Channel15_BASE (DMAMUX1_BASE + 0x003C) + +#define DMAMUX1_RequestGenerator0_BASE (DMAMUX1_BASE + 0x0100) +#define DMAMUX1_RequestGenerator1_BASE (DMAMUX1_BASE + 0x0104) +#define DMAMUX1_RequestGenerator2_BASE (DMAMUX1_BASE + 0x0108) +#define DMAMUX1_RequestGenerator3_BASE (DMAMUX1_BASE + 0x010C) +#define DMAMUX1_RequestGenerator4_BASE (DMAMUX1_BASE + 0x0110) +#define DMAMUX1_RequestGenerator5_BASE (DMAMUX1_BASE + 0x0114) +#define DMAMUX1_RequestGenerator6_BASE (DMAMUX1_BASE + 0x0118) +#define DMAMUX1_RequestGenerator7_BASE (DMAMUX1_BASE + 0x011C) + +#define DMAMUX1_ChannelStatus_BASE (DMAMUX1_BASE + 0x0080) +#define DMAMUX1_RequestGenStatus_BASE (DMAMUX1_BASE + 0x0140) + + + +/*!< FMC Banks registers base address */ +#define FMC_Bank1_R_BASE (FMC_R_BASE + 0x0000) +#define FMC_Bank1E_R_BASE (FMC_R_BASE + 0x0104) +#define FMC_Bank2_R_BASE (FMC_R_BASE + 0x0060) +#define FMC_Bank3_R_BASE (FMC_R_BASE + 0x0080) +#define FMC_Bank5_6_R_BASE (FMC_R_BASE + 0x0140) + +/* Debug MCU registers base address */ +#define DBGMCU_BASE ((uint32_t )0x5C001000) + +#define MDMA_Channel0_BASE (MDMA_BASE + 0x00000040) +#define MDMA_Channel1_BASE (MDMA_BASE + 0x00000080) +#define MDMA_Channel2_BASE (MDMA_BASE + 0x000000C0) +#define MDMA_Channel3_BASE (MDMA_BASE + 0x00000100) +#define MDMA_Channel4_BASE (MDMA_BASE + 0x00000140) +#define MDMA_Channel5_BASE (MDMA_BASE + 0x00000180) +#define MDMA_Channel6_BASE (MDMA_BASE + 0x000001C0) +#define MDMA_Channel7_BASE (MDMA_BASE + 0x00000200) +#define MDMA_Channel8_BASE (MDMA_BASE + 0x00000240) +#define MDMA_Channel9_BASE (MDMA_BASE + 0x00000280) +#define MDMA_Channel10_BASE (MDMA_BASE + 0x000002C0) +#define MDMA_Channel11_BASE (MDMA_BASE + 0x00000300) +#define MDMA_Channel12_BASE (MDMA_BASE + 0x00000340) +#define MDMA_Channel13_BASE (MDMA_BASE + 0x00000380) +#define MDMA_Channel14_BASE (MDMA_BASE + 0x000003C0) +#define MDMA_Channel15_BASE (MDMA_BASE + 0x00000400) + + +/** + * @} + */ + +/** @addtogroup Peripheral_declaration + * @{ + */ +#define TIM2 ((TIM_TypeDef *) TIM2_BASE) +#define TIM3 ((TIM_TypeDef *) TIM3_BASE) +#define TIM4 ((TIM_TypeDef *) TIM4_BASE) +#define TIM5 ((TIM_TypeDef *) TIM5_BASE) +#define TIM6 ((TIM_TypeDef *) TIM6_BASE) +#define TIM7 ((TIM_TypeDef *) TIM7_BASE) +#define TIM13 ((TIM_TypeDef *) TIM13_BASE) +#define TIM14 ((TIM_TypeDef *) TIM14_BASE) +#define VREFBUF ((VREFBUF_TypeDef *) VREFBUF_BASE) +#define RTC ((RTC_TypeDef *) RTC_BASE) +#define WWDG1 ((WWDG_TypeDef *) WWDG1_BASE) + + +#define IWDG1 ((IWDG_TypeDef *) IWDG1_BASE) +#define SPI2 ((SPI_TypeDef *) SPI2_BASE) +#define SPI3 ((SPI_TypeDef *) SPI3_BASE) +#define SPI4 ((SPI_TypeDef *) SPI4_BASE) +#define SPI5 ((SPI_TypeDef *) SPI5_BASE) +#define SPI6 ((SPI_TypeDef *) SPI6_BASE) +#define USART2 ((USART_TypeDef *) USART2_BASE) +#define USART3 ((USART_TypeDef *) USART3_BASE) +#define USART6 ((USART_TypeDef *) USART6_BASE) +#define UART7 ((USART_TypeDef *) UART7_BASE) +#define UART8 ((USART_TypeDef *) UART8_BASE) +#define CRS ((CRS_TypeDef *) CRS_BASE) +#define UART4 ((USART_TypeDef *) UART4_BASE) +#define UART5 ((USART_TypeDef *) UART5_BASE) +#define I2C1 ((I2C_TypeDef *) I2C1_BASE) +#define I2C2 ((I2C_TypeDef *) I2C2_BASE) +#define I2C3 ((I2C_TypeDef *) I2C3_BASE) +#define I2C4 ((I2C_TypeDef *) I2C4_BASE) +#define FDCAN1 ((FDCAN_GlobalTypeDef *) FDCAN1_BASE) +#define FDCAN2 ((FDCAN_GlobalTypeDef *) FDCAN2_BASE) +#define FDCAN_CCU ((FDCAN_ClockCalibrationUnit_TypeDef *) FDCAN_CCU_BASE) +#define CEC ((CEC_TypeDef *) CEC_BASE) +#define LPTIM1 ((LPTIM_TypeDef *) LPTIM1_BASE) +#define PWR ((PWR_TypeDef *) PWR_BASE) +#define DAC1 ((DAC_TypeDef *) DAC1_BASE) +#define LPUART1 ((USART_TypeDef *) LPUART1_BASE) +#define SWPMI1 ((SWPMI_TypeDef *) SWPMI1_BASE) +#define LPTIM2 ((LPTIM_TypeDef *) LPTIM2_BASE) +#define LPTIM3 ((LPTIM_TypeDef *) LPTIM3_BASE) +#define LPTIM4 ((LPTIM_TypeDef *) LPTIM4_BASE) +#define LPTIM5 ((LPTIM_TypeDef *) LPTIM5_BASE) +#define SYSCFG ((SYSCFG_TypeDef *) SYSCFG_BASE) +#define COMP12 ((COMPOPT_TypeDef *) COMP12_BASE) +#define COMP1 ((COMP_TypeDef *) COMP1_BASE) +#define COMP2 ((COMP_TypeDef *) COMP2_BASE) +#define COMP12_COMMON ((COMP_Common_TypeDef *) COMP2_BASE) +#define OPAMP ((OPAMP_TypeDef *) OPAMP_BASE) +#define OPAMP1 ((OPAMP_TypeDef *) OPAMP1_BASE) +#define OPAMP2 ((OPAMP_TypeDef *) OPAMP2_BASE) + + +#define EXTI ((EXTI_TypeDef *) EXTI_BASE) +#define EXTI_D1 ((EXTI_Core_TypeDef *) EXTI_D1_BASE) +#define EXTI_D2 ((EXTI_Core_TypeDef *) EXTI_D2_BASE) +#define SDMMC ((SDMMC_TypeDef *) SDMMC_BASE) +#define TIM1 ((TIM_TypeDef *) TIM1_BASE) +#define SPI1 ((SPI_TypeDef *) SPI1_BASE) +#define TIM8 ((TIM_TypeDef *) TIM8_BASE) +#define USART1 ((USART_TypeDef *) USART1_BASE) +#define TIM12 ((TIM_TypeDef *) TIM12_BASE) +#define TIM15 ((TIM_TypeDef *) TIM15_BASE) +#define TIM16 ((TIM_TypeDef *) TIM16_BASE) +#define TIM17 ((TIM_TypeDef *) TIM17_BASE) +#define HRTIM1 ((HRTIM_TypeDef *) HRTIM1_BASE) +#define HRTIM1_TIMA ((HRTIM_TIM_TypeDef *) HRTIM1_TIMA_BASE) +#define HRTIM1_TIMB ((HRTIM_TIM_TypeDef *) HRTIM1_TIMB_BASE) +#define HRTIM1_TIMC ((HRTIM_TIM_TypeDef *) HRTIM1_TIMC_BASE) +#define HRTIM1_TIMD ((HRTIM_TIM_TypeDef *) HRTIM1_TIMD_BASE) +#define HRTIM1_TIME ((HRTIM_TIM_TypeDef *) HRTIM1_TIME_BASE) +#define HRTIM1_COMMON ((HRTIM_Common_TypeDef *) HRTIM1_COMMON_BASE) +#define SAI1 ((SAI_TypeDef *) SAI1_BASE) +#define SAI1_Block_A ((SAI_Block_TypeDef *)SAI1_Block_A_BASE) +#define SAI1_Block_B ((SAI_Block_TypeDef *)SAI1_Block_B_BASE) +#define SAI2 ((SAI_TypeDef *) SAI2_BASE) +#define SAI2_Block_A ((SAI_Block_TypeDef *)SAI2_Block_A_BASE) +#define SAI2_Block_B ((SAI_Block_TypeDef *)SAI2_Block_B_BASE) +#define SAI3 ((SAI_TypeDef *) SAI3_BASE) +#define SAI3_Block_A ((SAI_Block_TypeDef *)SAI3_Block_A_BASE) +#define SAI3_Block_B ((SAI_Block_TypeDef *)SAI3_Block_B_BASE) +#define SAI4 ((SAI_TypeDef *) SAI4_BASE) +#define SAI4_Block_A ((SAI_Block_TypeDef *)SAI4_Block_A_BASE) +#define SAI4_Block_B ((SAI_Block_TypeDef *)SAI4_Block_B_BASE) + + +#define SPDIFRX ((SPDIFRX_TypeDef *) SPDIFRX_BASE) +#define DFSDM1_Channel0 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel0_BASE) +#define DFSDM1_Channel1 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel1_BASE) +#define DFSDM1_Channel2 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel2_BASE) +#define DFSDM1_Channel3 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel3_BASE) +#define DFSDM1_Channel4 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel4_BASE) +#define DFSDM1_Channel5 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel5_BASE) +#define DFSDM1_Channel6 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel6_BASE) +#define DFSDM1_Channel7 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel7_BASE) +#define DFSDM1_Filter0 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter0_BASE) +#define DFSDM1_Filter1 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter1_BASE) +#define DFSDM1_Filter2 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter2_BASE) +#define DFSDM1_Filter3 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter3_BASE) +#define DMA2D ((DMA2D_TypeDef *) DMA2D_BASE) +#define DCMI ((DCMI_TypeDef *) DCMI_BASE) +#define RCC ((RCC_TypeDef *) RCC_BASE) +#define RCC_C1 ((RCC_Core_TypeDef *) RCC_C1_BASE) +#define FLASH ((FLASH_TypeDef *) FLASH_R_BASE) +#define CRC ((CRC_TypeDef *) CRC_BASE) + +#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) +#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) +#define GPIOC ((GPIO_TypeDef *) GPIOC_BASE) +#define GPIOD ((GPIO_TypeDef *) GPIOD_BASE) +#define GPIOE ((GPIO_TypeDef *) GPIOE_BASE) +#define GPIOF ((GPIO_TypeDef *) GPIOF_BASE) +#define GPIOG ((GPIO_TypeDef *) GPIOG_BASE) +#define GPIOH ((GPIO_TypeDef *) GPIOH_BASE) +#define GPIOI ((GPIO_TypeDef *) GPIOI_BASE) +#define GPIOJ ((GPIO_TypeDef *) GPIOJ_BASE) +#define GPIOK ((GPIO_TypeDef *) GPIOK_BASE) + +#define ADC1 ((ADC_TypeDef *) ADC1_BASE) +#define ADC2 ((ADC_TypeDef *) ADC2_BASE) +#define ADC3 ((ADC_TypeDef *) ADC3_BASE) +#define ADC12_COMMON ((ADC_Common_TypeDef *) ADC12_COMMON_BASE) +#define ADC3_COMMON ((ADC_Common_TypeDef *) ADC3_COMMON_BASE) +#define RNG ((RNG_TypeDef *) RNG_BASE) +#define SDMMC2 ((SDMMC_TypeDef *) SDMMC2_BASE) +#define DLYB_SDMMC2 ((DLYB_TypeDef *) DLYB_SDMMC2_BASE) + +#define BDMA ((BDMA_TypeDef *) BDMA_BASE) +#define BDMA_Channel0 ((BDMA_Channel_TypeDef *) BDMA_Channel0_BASE) +#define BDMA_Channel1 ((BDMA_Channel_TypeDef *) BDMA_Channel1_BASE) +#define BDMA_Channel2 ((BDMA_Channel_TypeDef *) BDMA_Channel2_BASE) +#define BDMA_Channel3 ((BDMA_Channel_TypeDef *) BDMA_Channel3_BASE) +#define BDMA_Channel4 ((BDMA_Channel_TypeDef *) BDMA_Channel4_BASE) +#define BDMA_Channel5 ((BDMA_Channel_TypeDef *) BDMA_Channel5_BASE) +#define BDMA_Channel6 ((BDMA_Channel_TypeDef *) BDMA_Channel6_BASE) +#define BDMA_Channel7 ((BDMA_Channel_TypeDef *) BDMA_Channel7_BASE) + +#define DMAMUX2_Channel0 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel0_BASE) +#define DMAMUX2_Channel1 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel1_BASE) +#define DMAMUX2_Channel2 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel2_BASE) +#define DMAMUX2_Channel3 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel3_BASE) +#define DMAMUX2_Channel4 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel4_BASE) +#define DMAMUX2_Channel5 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel5_BASE) +#define DMAMUX2_Channel6 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel6_BASE) +#define DMAMUX2_Channel7 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel7_BASE) + + +#define DMAMUX2_RequestGenerator0 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator0_BASE) +#define DMAMUX2_RequestGenerator1 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator1_BASE) +#define DMAMUX2_RequestGenerator2 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator2_BASE) +#define DMAMUX2_RequestGenerator3 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator3_BASE) +#define DMAMUX2_RequestGenerator4 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator4_BASE) +#define DMAMUX2_RequestGenerator5 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator5_BASE) +#define DMAMUX2_RequestGenerator6 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator6_BASE) +#define DMAMUX2_RequestGenerator7 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator7_BASE) + +#define DMAMUX2_ChannelStatus ((DMAMUX_ChannelStatus_TypeDef *) DMAMUX2_ChannelStatus_BASE) +#define DMAMUX2_RequestGenStatus ((DMAMUX_RequestGenStatus_TypeDef *) DMAMUX2_RequestGenStatus_BASE) + +#define DMA2 ((DMA_TypeDef *) DMA2_BASE) +#define DMA2_Stream0 ((DMA_Stream_TypeDef *) DMA2_Stream0_BASE) +#define DMA2_Stream1 ((DMA_Stream_TypeDef *) DMA2_Stream1_BASE) +#define DMA2_Stream2 ((DMA_Stream_TypeDef *) DMA2_Stream2_BASE) +#define DMA2_Stream3 ((DMA_Stream_TypeDef *) DMA2_Stream3_BASE) +#define DMA2_Stream4 ((DMA_Stream_TypeDef *) DMA2_Stream4_BASE) +#define DMA2_Stream5 ((DMA_Stream_TypeDef *) DMA2_Stream5_BASE) +#define DMA2_Stream6 ((DMA_Stream_TypeDef *) DMA2_Stream6_BASE) +#define DMA2_Stream7 ((DMA_Stream_TypeDef *) DMA2_Stream7_BASE) + +#define DMA1 ((DMA_TypeDef *) DMA1_BASE) +#define DMA1_Stream0 ((DMA_Stream_TypeDef *) DMA1_Stream0_BASE) +#define DMA1_Stream1 ((DMA_Stream_TypeDef *) DMA1_Stream1_BASE) +#define DMA1_Stream2 ((DMA_Stream_TypeDef *) DMA1_Stream2_BASE) +#define DMA1_Stream3 ((DMA_Stream_TypeDef *) DMA1_Stream3_BASE) +#define DMA1_Stream4 ((DMA_Stream_TypeDef *) DMA1_Stream4_BASE) +#define DMA1_Stream5 ((DMA_Stream_TypeDef *) DMA1_Stream5_BASE) +#define DMA1_Stream6 ((DMA_Stream_TypeDef *) DMA1_Stream6_BASE) +#define DMA1_Stream7 ((DMA_Stream_TypeDef *) DMA1_Stream7_BASE) + + +#define DMAMUX1_Channel0 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel0_BASE) +#define DMAMUX1_Channel1 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel1_BASE) +#define DMAMUX1_Channel2 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel2_BASE) +#define DMAMUX1_Channel3 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel3_BASE) +#define DMAMUX1_Channel4 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel4_BASE) +#define DMAMUX1_Channel5 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel5_BASE) +#define DMAMUX1_Channel6 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel6_BASE) +#define DMAMUX1_Channel7 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel7_BASE) +#define DMAMUX1_Channel8 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel8_BASE) +#define DMAMUX1_Channel9 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel9_BASE) +#define DMAMUX1_Channel10 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel10_BASE) +#define DMAMUX1_Channel11 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel11_BASE) +#define DMAMUX1_Channel12 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel12_BASE) +#define DMAMUX1_Channel13 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel13_BASE) +#define DMAMUX1_Channel14 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel14_BASE) +#define DMAMUX1_Channel15 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel15_BASE) + +#define DMAMUX1_RequestGenerator0 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator0_BASE) +#define DMAMUX1_RequestGenerator1 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator1_BASE) +#define DMAMUX1_RequestGenerator2 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator2_BASE) +#define DMAMUX1_RequestGenerator3 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator3_BASE) +#define DMAMUX1_RequestGenerator4 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator4_BASE) +#define DMAMUX1_RequestGenerator5 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator5_BASE) +#define DMAMUX1_RequestGenerator6 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator6_BASE) +#define DMAMUX1_RequestGenerator7 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator7_BASE) + +#define DMAMUX1_ChannelStatus ((DMAMUX_ChannelStatus_TypeDef *) DMAMUX1_ChannelStatus_BASE) +#define DMAMUX1_RequestGenStatus ((DMAMUX_RequestGenStatus_TypeDef *) DMAMUX1_RequestGenStatus_BASE) + + +#define FMC_Bank1 ((FMC_Bank1_TypeDef *) FMC_Bank1_R_BASE) +#define FMC_Bank1E ((FMC_Bank1E_TypeDef *) FMC_Bank1E_R_BASE) +#define FMC_Bank2 ((FMC_Bank2_TypeDef *) FMC_Bank2_R_BASE) +#define FMC_Bank3 ((FMC_Bank3_TypeDef *) FMC_Bank3_R_BASE) +#define FMC_Bank5_6 ((FMC_Bank5_6_TypeDef *) FMC_Bank5_6_R_BASE) + +#define QUADSPI ((QUADSPI_TypeDef *) QSPI_R_BASE) +#define DLYB_QUADSPI ((DLYB_TypeDef *) DLYB_QSPI_BASE) + +#define SDMMC1 ((SDMMC_TypeDef *) SDMMC1_BASE) +#define DLYB_SDMMC1 ((DLYB_TypeDef *) DLYB_SDMMC1_BASE) + +#define DBGMCU ((DBGMCU_TypeDef *) DBGMCU_BASE) + +#define JPEG ((JPEG_TypeDef *) JPGDEC_BASE) +#define HSEM ((HSEM_TypeDef *) HSEM_BASE) + +#define LTDC ((LTDC_TypeDef *)LTDC_BASE) +#define LTDC_Layer1 ((LTDC_Layer_TypeDef *)LTDC_Layer1_BASE) +#define LTDC_Layer2 ((LTDC_Layer_TypeDef *)LTDC_Layer2_BASE) + +#define MDIOS ((MDIOS_TypeDef *) MDIOS_BASE) + +#define ETH ((ETH_TypeDef *)ETH_BASE) +#define MDMA ((MDMA_TypeDef *)MDMA_BASE) +#define MDMA_Channel0 ((MDMA_Channel_TypeDef *)MDMA_Channel0_BASE) +#define MDMA_Channel1 ((MDMA_Channel_TypeDef *)MDMA_Channel1_BASE) +#define MDMA_Channel2 ((MDMA_Channel_TypeDef *)MDMA_Channel2_BASE) +#define MDMA_Channel3 ((MDMA_Channel_TypeDef *)MDMA_Channel3_BASE) +#define MDMA_Channel4 ((MDMA_Channel_TypeDef *)MDMA_Channel4_BASE) +#define MDMA_Channel5 ((MDMA_Channel_TypeDef *)MDMA_Channel5_BASE) +#define MDMA_Channel6 ((MDMA_Channel_TypeDef *)MDMA_Channel6_BASE) +#define MDMA_Channel7 ((MDMA_Channel_TypeDef *)MDMA_Channel7_BASE) +#define MDMA_Channel8 ((MDMA_Channel_TypeDef *)MDMA_Channel8_BASE) +#define MDMA_Channel9 ((MDMA_Channel_TypeDef *)MDMA_Channel9_BASE) +#define MDMA_Channel10 ((MDMA_Channel_TypeDef *)MDMA_Channel10_BASE) +#define MDMA_Channel11 ((MDMA_Channel_TypeDef *)MDMA_Channel11_BASE) +#define MDMA_Channel12 ((MDMA_Channel_TypeDef *)MDMA_Channel12_BASE) +#define MDMA_Channel13 ((MDMA_Channel_TypeDef *)MDMA_Channel13_BASE) +#define MDMA_Channel14 ((MDMA_Channel_TypeDef *)MDMA_Channel14_BASE) +#define MDMA_Channel15 ((MDMA_Channel_TypeDef *)MDMA_Channel15_BASE) + + +#define USB1_OTG_HS ((USB_OTG_GlobalTypeDef *) USB1_OTG_HS_PERIPH_BASE) +#define USB2_OTG_FS ((USB_OTG_GlobalTypeDef *) USB2_OTG_FS_PERIPH_BASE) + + +/* Legacy defines */ +#define USB_OTG_HS USB1_OTG_HS +#define USB_OTG_FS USB2_OTG_FS +#define USB_OTG_HS_PERIPH_BASE USB1_OTG_HS_PERIPH_BASE +#define USB_OTG_FS_PERIPH_BASE USB2_OTG_FS_PERIPH_BASE + +/** + * @} + */ + +/** @addtogroup Exported_constants + * @{ + */ + + /** @addtogroup Peripheral_Registers_Bits_Definition + * @{ + */ + +/******************************************************************************/ +/* Peripheral Registers_Bits_Definition */ +/******************************************************************************/ + +/******************************************************************************/ +/* */ +/* Analog to Digital Converter */ +/* */ +/******************************************************************************/ +/******************** Bit definition for ADC_ISR register ********************/ +#define ADC_ISR_ADRD_Pos (0U) +#define ADC_ISR_ADRD_Msk (0x1U << ADC_ISR_ADRD_Pos) /*!< 0x00000001 */ +#define ADC_ISR_ADRD ADC_ISR_ADRD_Msk /*!< ADC Ready (ADRDY) flag */ +#define ADC_ISR_EOSMP_Pos (1U) +#define ADC_ISR_EOSMP_Msk (0x1U << ADC_ISR_EOSMP_Pos) /*!< 0x00000002 */ +#define ADC_ISR_EOSMP ADC_ISR_EOSMP_Msk /*!< ADC End of Sampling flag */ +#define ADC_ISR_EOC_Pos (2U) +#define ADC_ISR_EOC_Msk (0x1U << ADC_ISR_EOC_Pos) /*!< 0x00000004 */ +#define ADC_ISR_EOC ADC_ISR_EOC_Msk /*!< ADC End of Regular Conversion flag */ +#define ADC_ISR_EOS_Pos (3U) +#define ADC_ISR_EOS_Msk (0x1U << ADC_ISR_EOS_Pos) /*!< 0x00000008 */ +#define ADC_ISR_EOS ADC_ISR_EOS_Msk /*!< ADC End of Regular sequence of Conversions flag */ +#define ADC_ISR_OVR_Pos (4U) +#define ADC_ISR_OVR_Msk (0x1U << ADC_ISR_OVR_Pos) /*!< 0x00000010 */ +#define ADC_ISR_OVR ADC_ISR_OVR_Msk /*!< ADC overrun flag */ +#define ADC_ISR_JEOC_Pos (5U) +#define ADC_ISR_JEOC_Msk (0x1U << ADC_ISR_JEOC_Pos) /*!< 0x00000020 */ +#define ADC_ISR_JEOC ADC_ISR_JEOC_Msk /*!< ADC End of Injected Conversion flag */ +#define ADC_ISR_JEOS_Pos (6U) +#define ADC_ISR_JEOS_Msk (0x1U << ADC_ISR_JEOS_Pos) /*!< 0x00000040 */ +#define ADC_ISR_JEOS ADC_ISR_JEOS_Msk /*!< ADC End of Injected sequence of Conversions flag */ +#define ADC_ISR_AWD1_Pos (7U) +#define ADC_ISR_AWD1_Msk (0x1U << ADC_ISR_AWD1_Pos) /*!< 0x00000080 */ +#define ADC_ISR_AWD1 ADC_ISR_AWD1_Msk /*!< ADC Analog watchdog 1 flag */ +#define ADC_ISR_AWD2_Pos (8U) +#define ADC_ISR_AWD2_Msk (0x1U << ADC_ISR_AWD2_Pos) /*!< 0x00000100 */ +#define ADC_ISR_AWD2 ADC_ISR_AWD2_Msk /*!< ADC Analog watchdog 2 flag */ +#define ADC_ISR_AWD3_Pos (9U) +#define ADC_ISR_AWD3_Msk (0x1U << ADC_ISR_AWD3_Pos) /*!< 0x00000200 */ +#define ADC_ISR_AWD3 ADC_ISR_AWD3_Msk /*!< ADC Analog watchdog 3 flag */ +#define ADC_ISR_JQOVF_Pos (10U) +#define ADC_ISR_JQOVF_Msk (0x1U << ADC_ISR_JQOVF_Pos) /*!< 0x00000400 */ +#define ADC_ISR_JQOVF ADC_ISR_JQOVF_Msk /*!< ADC Injected Context Queue Overflow flag */ + +/******************** Bit definition for ADC_IER register ********************/ +#define ADC_IER_RDY_Pos (0U) +#define ADC_IER_RDY_Msk (0x1U << ADC_IER_RDY_Pos) /*!< 0x00000001 */ +#define ADC_IER_RDY ADC_IER_RDY_Msk /*!< ADC Ready (ADRDY) interrupt source */ +#define ADC_IER_EOSMP_Pos (1U) +#define ADC_IER_EOSMP_Msk (0x1U << ADC_IER_EOSMP_Pos) /*!< 0x00000002 */ +#define ADC_IER_EOSMP ADC_IER_EOSMP_Msk /*!< ADC End of Sampling interrupt source */ +#define ADC_IER_EOC_Pos (2U) +#define ADC_IER_EOC_Msk (0x1U << ADC_IER_EOC_Pos) /*!< 0x00000004 */ +#define ADC_IER_EOC ADC_IER_EOC_Msk /*!< ADC End of Regular Conversion interrupt source */ +#define ADC_IER_EOS_Pos (3U) +#define ADC_IER_EOS_Msk (0x1U << ADC_IER_EOS_Pos) /*!< 0x00000008 */ +#define ADC_IER_EOS ADC_IER_EOS_Msk /*!< ADC End of Regular sequence of Conversions interrupt source */ +#define ADC_IER_OVR_Pos (4U) +#define ADC_IER_OVR_Msk (0x1U << ADC_IER_OVR_Pos) /*!< 0x00000010 */ +#define ADC_IER_OVR ADC_IER_OVR_Msk /*!< ADC overrun interrupt source */ +#define ADC_IER_JEOC_Pos (5U) +#define ADC_IER_JEOC_Msk (0x1U << ADC_IER_JEOC_Pos) /*!< 0x00000020 */ +#define ADC_IER_JEOC ADC_IER_JEOC_Msk /*!< ADC End of Injected Conversion interrupt source */ +#define ADC_IER_JEOS_Pos (6U) +#define ADC_IER_JEOS_Msk (0x1U << ADC_IER_JEOS_Pos) /*!< 0x00000040 */ +#define ADC_IER_JEOS ADC_IER_JEOS_Msk /*!< ADC End of Injected sequence of Conversions interrupt source */ +#define ADC_IER_AWD1_Pos (7U) +#define ADC_IER_AWD1_Msk (0x1U << ADC_IER_AWD1_Pos) /*!< 0x00000080 */ +#define ADC_IER_AWD1 ADC_IER_AWD1_Msk /*!< ADC Analog watchdog 1 interrupt source */ +#define ADC_IER_AWD2_Pos (8U) +#define ADC_IER_AWD2_Msk (0x1U << ADC_IER_AWD2_Pos) /*!< 0x00000100 */ +#define ADC_IER_AWD2 ADC_IER_AWD2_Msk /*!< ADC Analog watchdog 2 interrupt source */ +#define ADC_IER_AWD3_Pos (9U) +#define ADC_IER_AWD3_Msk (0x1U << ADC_IER_AWD3_Pos) /*!< 0x00000200 */ +#define ADC_IER_AWD3 ADC_IER_AWD3_Msk /*!< ADC Analog watchdog 3 interrupt source */ +#define ADC_IER_JQOVF_Pos (10U) +#define ADC_IER_JQOVF_Msk (0x1U << ADC_IER_JQOVF_Pos) /*!< 0x00000400 */ +#define ADC_IER_JQOVF ADC_IER_JQOVF_Msk /*!< ADC Injected Context Queue Overflow interrupt source */ + +/******************** Bit definition for ADC_CR register ********************/ +#define ADC_CR_ADEN_Pos (0U) +#define ADC_CR_ADEN_Msk (0x1U << ADC_CR_ADEN_Pos) /*!< 0x00000001 */ +#define ADC_CR_ADEN ADC_CR_ADEN_Msk /*!< ADC Enable control */ +#define ADC_CR_ADDIS_Pos (1U) +#define ADC_CR_ADDIS_Msk (0x1U << ADC_CR_ADDIS_Pos) /*!< 0x00000002 */ +#define ADC_CR_ADDIS ADC_CR_ADDIS_Msk /*!< ADC Disable command */ +#define ADC_CR_ADSTART_Pos (2U) +#define ADC_CR_ADSTART_Msk (0x1U << ADC_CR_ADSTART_Pos) /*!< 0x00000004 */ +#define ADC_CR_ADSTART ADC_CR_ADSTART_Msk /*!< ADC Start of Regular conversion */ +#define ADC_CR_JADSTART_Pos (3U) +#define ADC_CR_JADSTART_Msk (0x1U << ADC_CR_JADSTART_Pos) /*!< 0x00000008 */ +#define ADC_CR_JADSTART ADC_CR_JADSTART_Msk /*!< ADC Start of injected conversion */ +#define ADC_CR_ADSTP_Pos (4U) +#define ADC_CR_ADSTP_Msk (0x1U << ADC_CR_ADSTP_Pos) /*!< 0x00000010 */ +#define ADC_CR_ADSTP ADC_CR_ADSTP_Msk /*!< ADC Stop of Regular conversion */ +#define ADC_CR_JADSTP_Pos (5U) +#define ADC_CR_JADSTP_Msk (0x1U << ADC_CR_JADSTP_Pos) /*!< 0x00000020 */ +#define ADC_CR_JADSTP ADC_CR_JADSTP_Msk /*!< ADC Boost Mode */ +#define ADC_CR_BOOST_Pos (8U) +#define ADC_CR_BOOST_Msk (0x1U << ADC_CR_BOOST_Pos) /*!< 0x00000100 */ +#define ADC_CR_BOOST ADC_CR_BOOST_Msk /*!< ADC Stop of injected conversion */ +#define ADC_CR_ADCALLIN_Pos (16U) +#define ADC_CR_ADCALLIN_Msk (0x1U << ADC_CR_ADCALLIN_Pos) /*!< 0x00010000 */ +#define ADC_CR_ADCALLIN ADC_CR_ADCALLIN_Msk /*!< ADC Linearity calibration */ +#define ADC_CR_LINCALRDYW1_Pos (22U) +#define ADC_CR_LINCALRDYW1_Msk (0x1U << ADC_CR_LINCALRDYW1_Pos) /*!< 0x00400000 */ +#define ADC_CR_LINCALRDYW1 ADC_CR_LINCALRDYW1_Msk /*!< ADC Linearity calibration ready Word 1 */ +#define ADC_CR_LINCALRDYW2_Pos (23U) +#define ADC_CR_LINCALRDYW2_Msk (0x1U << ADC_CR_LINCALRDYW2_Pos) /*!< 0x00800000 */ +#define ADC_CR_LINCALRDYW2 ADC_CR_LINCALRDYW2_Msk /*!< ADC Linearity calibration ready Word 2 */ +#define ADC_CR_LINCALRDYW3_Pos (24U) +#define ADC_CR_LINCALRDYW3_Msk (0x1U << ADC_CR_LINCALRDYW3_Pos) /*!< 0x01000000 */ +#define ADC_CR_LINCALRDYW3 ADC_CR_LINCALRDYW3_Msk /*!< ADC Linearity calibration ready Word 3 */ +#define ADC_CR_LINCALRDYW4_Pos (25U) +#define ADC_CR_LINCALRDYW4_Msk (0x1U << ADC_CR_LINCALRDYW4_Pos) /*!< 0x02000000 */ +#define ADC_CR_LINCALRDYW4 ADC_CR_LINCALRDYW4_Msk /*!< ADC Linearity calibration ready Word 4 */ +#define ADC_CR_LINCALRDYW5_Pos (26U) +#define ADC_CR_LINCALRDYW5_Msk (0x1U << ADC_CR_LINCALRDYW5_Pos) /*!< 0x04000000 */ +#define ADC_CR_LINCALRDYW5 ADC_CR_LINCALRDYW5_Msk /*!< ADC Linearity calibration ready Word 5 */ +#define ADC_CR_LINCALRDYW6_Pos (27U) +#define ADC_CR_LINCALRDYW6_Msk (0x1U << ADC_CR_LINCALRDYW6_Pos) /*!< 0x08000000 */ +#define ADC_CR_LINCALRDYW6 ADC_CR_LINCALRDYW6_Msk /*!< ADC Linearity calibration ready Word 6 */ +#define ADC_CR_ADVREGEN_Pos (28U) +#define ADC_CR_ADVREGEN_Msk (0x1U << ADC_CR_ADVREGEN_Pos) /*!< 0x10000000 */ +#define ADC_CR_ADVREGEN ADC_CR_ADVREGEN_Msk /*!< ADC Voltage regulator Enable */ +#define ADC_CR_DEEPPWD_Pos (29U) +#define ADC_CR_DEEPPWD_Msk (0x1U << ADC_CR_DEEPPWD_Pos) /*!< 0x20000000 */ +#define ADC_CR_DEEPPWD ADC_CR_DEEPPWD_Msk /*!< ADC Deep power down Enable */ +#define ADC_CR_ADCALDIF_Pos (30U) +#define ADC_CR_ADCALDIF_Msk (0x1U << ADC_CR_ADCALDIF_Pos) /*!< 0x40000000 */ +#define ADC_CR_ADCALDIF ADC_CR_ADCALDIF_Msk /*!< ADC Differential Mode for calibration */ +#define ADC_CR_ADCAL_Pos (31U) +#define ADC_CR_ADCAL_Msk (0x1U << ADC_CR_ADCAL_Pos) /*!< 0x80000000 */ +#define ADC_CR_ADCAL ADC_CR_ADCAL_Msk /*!< ADC Calibration */ + +/******************** Bit definition for ADC_CFGR register ********************/ +#define ADC_CFGR_DMNGT_Pos (0U) +#define ADC_CFGR_DMNGT_Msk (0x3U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000003 */ +#define ADC_CFGR_DMNGT ADC_CFGR_DMNGT_Msk /*!< ADC Data Management configuration */ +#define ADC_CFGR_DMNGT_0 (0x1U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000001 */ +#define ADC_CFGR_DMNGT_1 (0x2U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000002 */ + +#define ADC_CFGR_RES_Pos (2U) +#define ADC_CFGR_RES_Msk (0x7U << ADC_CFGR_RES_Pos) /*!< 0x0000001C */ +#define ADC_CFGR_RES ADC_CFGR_RES_Msk /*!< ADC Data resolution */ +#define ADC_CFGR_RES_0 (0x1U << ADC_CFGR_RES_Pos) /*!< 0x00000004 */ +#define ADC_CFGR_RES_1 (0x2U << ADC_CFGR_RES_Pos) /*!< 0x00000008 */ +#define ADC_CFGR_RES_2 (0x4U << ADC_CFGR_RES_Pos) /*!< 0x00000010 */ + +#define ADC_CFGR_EXTSEL_Pos (5U) +#define ADC_CFGR_EXTSEL_Msk (0x1FU << ADC_CFGR_EXTSEL_Pos) /*!< 0x000003E0 */ +#define ADC_CFGR_EXTSEL ADC_CFGR_EXTSEL_Msk /*!< ADC External trigger selection for regular group */ +#define ADC_CFGR_EXTSEL_0 (0x01U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000020 */ +#define ADC_CFGR_EXTSEL_1 (0x02U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000040 */ +#define ADC_CFGR_EXTSEL_2 (0x04U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000080 */ +#define ADC_CFGR_EXTSEL_3 (0x08U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000100 */ +#define ADC_CFGR_EXTSEL_4 (0x10U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000200 */ + +#define ADC_CFGR_EXTEN_Pos (10U) +#define ADC_CFGR_EXTEN_Msk (0x3U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000C00 */ +#define ADC_CFGR_EXTEN ADC_CFGR_EXTEN_Msk /*!< ADC External trigger enable and polarity selection for regular channels */ +#define ADC_CFGR_EXTEN_0 (0x1U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000400 */ +#define ADC_CFGR_EXTEN_1 (0x2U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000800 */ + +#define ADC_CFGR_OVRMOD_Pos (12U) +#define ADC_CFGR_OVRMOD_Msk (0x1U << ADC_CFGR_OVRMOD_Pos) /*!< 0x00001000 */ +#define ADC_CFGR_OVRMOD ADC_CFGR_OVRMOD_Msk /*!< ADC overrun mode */ +#define ADC_CFGR_CONT_Pos (13U) +#define ADC_CFGR_CONT_Msk (0x1U << ADC_CFGR_CONT_Pos) /*!< 0x00002000 */ +#define ADC_CFGR_CONT ADC_CFGR_CONT_Msk /*!< ADC Single/continuous conversion mode for regular conversion */ +#define ADC_CFGR_AUTDLY_Pos (14U) +#define ADC_CFGR_AUTDLY_Msk (0x1U << ADC_CFGR_AUTDLY_Pos) /*!< 0x00004000 */ +#define ADC_CFGR_AUTDLY ADC_CFGR_AUTDLY_Msk /*!< ADC Delayed conversion mode */ + +#define ADC_CFGR_DISCEN_Pos (16U) +#define ADC_CFGR_DISCEN_Msk (0x1U << ADC_CFGR_DISCEN_Pos) /*!< 0x00010000 */ +#define ADC_CFGR_DISCEN ADC_CFGR_DISCEN_Msk /*!< ADC Discontinuous mode for regular channels */ + +#define ADC_CFGR_DISCNUM_Pos (17U) +#define ADC_CFGR_DISCNUM_Msk (0x7U << ADC_CFGR_DISCNUM_Pos) /*!< 0x000E0000 */ +#define ADC_CFGR_DISCNUM ADC_CFGR_DISCNUM_Msk /*!< ADC Discontinuous mode channel count */ +#define ADC_CFGR_DISCNUM_0 (0x1U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00020000 */ +#define ADC_CFGR_DISCNUM_1 (0x2U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00040000 */ +#define ADC_CFGR_DISCNUM_2 (0x4U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00080000 */ + +#define ADC_CFGR_JDISCEN_Pos (20U) +#define ADC_CFGR_JDISCEN_Msk (0x1U << ADC_CFGR_JDISCEN_Pos) /*!< 0x00100000 */ +#define ADC_CFGR_JDISCEN ADC_CFGR_JDISCEN_Msk /*!< ADC Discontinuous mode on injected channels */ +#define ADC_CFGR_JQM_Pos (21U) +#define ADC_CFGR_JQM_Msk (0x1U << ADC_CFGR_JQM_Pos) /*!< 0x00200000 */ +#define ADC_CFGR_JQM ADC_CFGR_JQM_Msk /*!< ADC JSQR Queue mode */ +#define ADC_CFGR_AWD1SGL_Pos (22U) +#define ADC_CFGR_AWD1SGL_Msk (0x1U << ADC_CFGR_AWD1SGL_Pos) /*!< 0x00400000 */ +#define ADC_CFGR_AWD1SGL ADC_CFGR_AWD1SGL_Msk /*!< Enable the watchdog 1 on a single channel or on all channels */ +#define ADC_CFGR_AWD1EN_Pos (23U) +#define ADC_CFGR_AWD1EN_Msk (0x1U << ADC_CFGR_AWD1EN_Pos) /*!< 0x00800000 */ +#define ADC_CFGR_AWD1EN ADC_CFGR_AWD1EN_Msk /*!< ADC Analog watchdog 1 enable on regular Channels */ +#define ADC_CFGR_JAWD1EN_Pos (24U) +#define ADC_CFGR_JAWD1EN_Msk (0x1U << ADC_CFGR_JAWD1EN_Pos) /*!< 0x01000000 */ +#define ADC_CFGR_JAWD1EN ADC_CFGR_JAWD1EN_Msk /*!< ADC Analog watchdog 1 enable on injected Channels */ +#define ADC_CFGR_JAUTO_Pos (25U) +#define ADC_CFGR_JAUTO_Msk (0x1U << ADC_CFGR_JAUTO_Pos) /*!< 0x02000000 */ +#define ADC_CFGR_JAUTO ADC_CFGR_JAUTO_Msk /*!< ADC Automatic injected group conversion */ + +#define ADC_CFGR_AWD1CH_Pos (26U) +#define ADC_CFGR_AWD1CH_Msk (0x1FU << ADC_CFGR_AWD1CH_Pos) /*!< 0x7C000000 */ +#define ADC_CFGR_AWD1CH ADC_CFGR_AWD1CH_Msk /*!< ADC Analog watchdog 1 Channel selection */ +#define ADC_CFGR_AWD1CH_0 (0x01U << ADC_CFGR_AWD1CH_Pos) /*!< 0x04000000 */ +#define ADC_CFGR_AWD1CH_1 (0x02U << ADC_CFGR_AWD1CH_Pos) /*!< 0x08000000 */ +#define ADC_CFGR_AWD1CH_2 (0x04U << ADC_CFGR_AWD1CH_Pos) /*!< 0x10000000 */ +#define ADC_CFGR_AWD1CH_3 (0x08U << ADC_CFGR_AWD1CH_Pos) /*!< 0x20000000 */ +#define ADC_CFGR_AWD1CH_4 (0x10U << ADC_CFGR_AWD1CH_Pos) /*!< 0x40000000 */ + +#define ADC_CFGR_JQDIS_Pos (31U) +#define ADC_CFGR_JQDIS_Msk (0x1U << ADC_CFGR_JQDIS_Pos) /*!< 0x80000000 */ +#define ADC_CFGR_JQDIS ADC_CFGR_JQDIS_Msk /*!< ADC Injected queue disable */ + +/******************** Bit definition for ADC_CFGR2 register ********************/ +#define ADC_CFGR2_ROVSE_Pos (0U) +#define ADC_CFGR2_ROVSE_Msk (0x1U << ADC_CFGR2_ROVSE_Pos) /*!< 0x00000001 */ +#define ADC_CFGR2_ROVSE ADC_CFGR2_ROVSE_Msk /*!< ADC Regular group oversampler enable */ +#define ADC_CFGR2_JOVSE_Pos (1U) +#define ADC_CFGR2_JOVSE_Msk (0x1U << ADC_CFGR2_JOVSE_Pos) /*!< 0x00000002 */ +#define ADC_CFGR2_JOVSE ADC_CFGR2_JOVSE_Msk /*!< ADC Injected group oversampler enable */ + +#define ADC_CFGR2_OVSS_Pos (5U) +#define ADC_CFGR2_OVSS_Msk (0xFU << ADC_CFGR2_OVSS_Pos) /*!< 0x000001E0 */ +#define ADC_CFGR2_OVSS ADC_CFGR2_OVSS_Msk /*!< ADC Regular Oversampling shift */ +#define ADC_CFGR2_OVSS_0 (0x1U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000020 */ +#define ADC_CFGR2_OVSS_1 (0x2U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000040 */ +#define ADC_CFGR2_OVSS_2 (0x4U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000080 */ +#define ADC_CFGR2_OVSS_3 (0x8U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000100 */ + +#define ADC_CFGR2_TROVS_Pos (9U) +#define ADC_CFGR2_TROVS_Msk (0x1U << ADC_CFGR2_TROVS_Pos) /*!< 0x00000200 */ +#define ADC_CFGR2_TROVS ADC_CFGR2_TROVS_Msk /*!< ADC Triggered regular Oversampling */ +#define ADC_CFGR2_ROVSM_Pos (10U) +#define ADC_CFGR2_ROVSM_Msk (0x1U << ADC_CFGR2_ROVSM_Pos) /*!< 0x00000400 */ +#define ADC_CFGR2_ROVSM ADC_CFGR2_ROVSM_Msk /*!< ADC Regular oversampling mode */ + +#define ADC_CFGR2_RSHIFT1_Pos (11U) +#define ADC_CFGR2_RSHIFT1_Msk (0x1U << ADC_CFGR2_RSHIFT1_Pos) /*!< 0x00000800 */ +#define ADC_CFGR2_RSHIFT1 ADC_CFGR2_RSHIFT1_Msk /*!< ADC Right-shift data after Offset 1 correction */ +#define ADC_CFGR2_RSHIFT2_Pos (12U) +#define ADC_CFGR2_RSHIFT2_Msk (0x1U << ADC_CFGR2_RSHIFT2_Pos) /*!< 0x00001000 */ +#define ADC_CFGR2_RSHIFT2 ADC_CFGR2_RSHIFT2_Msk /*!< ADC Right-shift data after Offset 2 correction */ +#define ADC_CFGR2_RSHIFT3_Pos (13U) +#define ADC_CFGR2_RSHIFT3_Msk (0x1U << ADC_CFGR2_RSHIFT3_Pos) /*!< 0x00002000 */ +#define ADC_CFGR2_RSHIFT3 ADC_CFGR2_RSHIFT3_Msk /*!< ADC Right-shift data after Offset 3 correction */ +#define ADC_CFGR2_RSHIFT4_Pos (14U) +#define ADC_CFGR2_RSHIFT4_Msk (0x1U << ADC_CFGR2_RSHIFT4_Pos) /*!< 0x00004000 */ +#define ADC_CFGR2_RSHIFT4 ADC_CFGR2_RSHIFT4_Msk /*!< ADC Right-shift data after Offset 4 correction */ + +#define ADC_CFGR2_OSR_Pos (16U) +#define ADC_CFGR2_OSR_Msk (0x3FFU << ADC_CFGR2_OSR_Pos) /*!< 0x03FF0000 */ +#define ADC_CFGR2_OSR ADC_CFGR2_OSR_Msk /*!< ADC oversampling Ratio */ +#define ADC_CFGR2_OSR_0 (0x001U << ADC_CFGR2_OSR_Pos) /*!< 0x00010000 */ +#define ADC_CFGR2_OSR_1 (0x002U << ADC_CFGR2_OSR_Pos) /*!< 0x00020000 */ +#define ADC_CFGR2_OSR_2 (0x004U << ADC_CFGR2_OSR_Pos) /*!< 0x00040000 */ +#define ADC_CFGR2_OSR_3 (0x008U << ADC_CFGR2_OSR_Pos) /*!< 0x00080000 */ +#define ADC_CFGR2_OSR_4 (0x010U << ADC_CFGR2_OSR_Pos) /*!< 0x00100000 */ +#define ADC_CFGR2_OSR_5 (0x020U << ADC_CFGR2_OSR_Pos) /*!< 0x00200000 */ +#define ADC_CFGR2_OSR_6 (0x040U << ADC_CFGR2_OSR_Pos) /*!< 0x00400000 */ +#define ADC_CFGR2_OSR_7 (0x080U << ADC_CFGR2_OSR_Pos) /*!< 0x00800000 */ +#define ADC_CFGR2_OSR_8 (0x100U << ADC_CFGR2_OSR_Pos) /*!< 0x01000000 */ +#define ADC_CFGR2_OSR_9 (0x200U << ADC_CFGR2_OSR_Pos) /*!< 0x02000000 */ + +#define ADC_CFGR2_LSHIFT_Pos (28U) +#define ADC_CFGR2_LSHIFT_Msk (0xFU << ADC_CFGR2_LSHIFT_Pos) /*!< 0xF0000000 */ +#define ADC_CFGR2_LSHIFT ADC_CFGR2_LSHIFT_Msk /*!< ADC Left shift factor */ +#define ADC_CFGR2_LSHIFT_0 (0x1U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x10000000 */ +#define ADC_CFGR2_LSHIFT_1 (0x2U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x20000000 */ +#define ADC_CFGR2_LSHIFT_2 (0x4U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x40000000 */ +#define ADC_CFGR2_LSHIFT_3 (0x8U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_SMPR1 register ********************/ +#define ADC_SMPR1_SMP0_Pos (0U) +#define ADC_SMPR1_SMP0_Msk (0x7U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000007 */ +#define ADC_SMPR1_SMP0 ADC_SMPR1_SMP0_Msk /*!< ADC Channel 0 Sampling time selection */ +#define ADC_SMPR1_SMP0_0 (0x1U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000001 */ +#define ADC_SMPR1_SMP0_1 (0x2U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000002 */ +#define ADC_SMPR1_SMP0_2 (0x4U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000004 */ + +#define ADC_SMPR1_SMP1_Pos (3U) +#define ADC_SMPR1_SMP1_Msk (0x7U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000038 */ +#define ADC_SMPR1_SMP1 ADC_SMPR1_SMP1_Msk /*!< ADC Channel 1 Sampling time selection */ +#define ADC_SMPR1_SMP1_0 (0x1U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000008 */ +#define ADC_SMPR1_SMP1_1 (0x2U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000010 */ +#define ADC_SMPR1_SMP1_2 (0x4U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000020 */ + +#define ADC_SMPR1_SMP2_Pos (6U) +#define ADC_SMPR1_SMP2_Msk (0x7U << ADC_SMPR1_SMP2_Pos) /*!< 0x000001C0 */ +#define ADC_SMPR1_SMP2 ADC_SMPR1_SMP2_Msk /*!< ADC Channel 2 Sampling time selection */ +#define ADC_SMPR1_SMP2_0 (0x1U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000040 */ +#define ADC_SMPR1_SMP2_1 (0x2U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000080 */ +#define ADC_SMPR1_SMP2_2 (0x4U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000100 */ + +#define ADC_SMPR1_SMP3_Pos (9U) +#define ADC_SMPR1_SMP3_Msk (0x7U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000E00 */ +#define ADC_SMPR1_SMP3 ADC_SMPR1_SMP3_Msk /*!< ADC Channel 3 Sampling time selection */ +#define ADC_SMPR1_SMP3_0 (0x1U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000200 */ +#define ADC_SMPR1_SMP3_1 (0x2U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000400 */ +#define ADC_SMPR1_SMP3_2 (0x4U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000800 */ + +#define ADC_SMPR1_SMP4_Pos (12U) +#define ADC_SMPR1_SMP4_Msk (0x7U << ADC_SMPR1_SMP4_Pos) /*!< 0x00007000 */ +#define ADC_SMPR1_SMP4 ADC_SMPR1_SMP4_Msk /*!< ADC Channel 4 Sampling time selection */ +#define ADC_SMPR1_SMP4_0 (0x1U << ADC_SMPR1_SMP4_Pos) /*!< 0x00001000 */ +#define ADC_SMPR1_SMP4_1 (0x2U << ADC_SMPR1_SMP4_Pos) /*!< 0x00002000 */ +#define ADC_SMPR1_SMP4_2 (0x4U << ADC_SMPR1_SMP4_Pos) /*!< 0x00004000 */ + +#define ADC_SMPR1_SMP5_Pos (15U) +#define ADC_SMPR1_SMP5_Msk (0x7U << ADC_SMPR1_SMP5_Pos) /*!< 0x00038000 */ +#define ADC_SMPR1_SMP5 ADC_SMPR1_SMP5_Msk /*!< ADC Channel 5 Sampling time selection */ +#define ADC_SMPR1_SMP5_0 (0x1U << ADC_SMPR1_SMP5_Pos) /*!< 0x00008000 */ +#define ADC_SMPR1_SMP5_1 (0x2U << ADC_SMPR1_SMP5_Pos) /*!< 0x00010000 */ +#define ADC_SMPR1_SMP5_2 (0x4U << ADC_SMPR1_SMP5_Pos) /*!< 0x00020000 */ + +#define ADC_SMPR1_SMP6_Pos (18U) +#define ADC_SMPR1_SMP6_Msk (0x7U << ADC_SMPR1_SMP6_Pos) /*!< 0x001C0000 */ +#define ADC_SMPR1_SMP6 ADC_SMPR1_SMP6_Msk /*!< ADC Channel 6 Sampling time selection */ +#define ADC_SMPR1_SMP6_0 (0x1U << ADC_SMPR1_SMP6_Pos) /*!< 0x00040000 */ +#define ADC_SMPR1_SMP6_1 (0x2U << ADC_SMPR1_SMP6_Pos) /*!< 0x00080000 */ +#define ADC_SMPR1_SMP6_2 (0x4U << ADC_SMPR1_SMP6_Pos) /*!< 0x00100000 */ + +#define ADC_SMPR1_SMP7_Pos (21U) +#define ADC_SMPR1_SMP7_Msk (0x7U << ADC_SMPR1_SMP7_Pos) /*!< 0x00E00000 */ +#define ADC_SMPR1_SMP7 ADC_SMPR1_SMP7_Msk /*!< ADC Channel 7 Sampling time selection */ +#define ADC_SMPR1_SMP7_0 (0x1U << ADC_SMPR1_SMP7_Pos) /*!< 0x00200000 */ +#define ADC_SMPR1_SMP7_1 (0x2U << ADC_SMPR1_SMP7_Pos) /*!< 0x00400000 */ +#define ADC_SMPR1_SMP7_2 (0x4U << ADC_SMPR1_SMP7_Pos) /*!< 0x00800000 */ + +#define ADC_SMPR1_SMP8_Pos (24U) +#define ADC_SMPR1_SMP8_Msk (0x7U << ADC_SMPR1_SMP8_Pos) /*!< 0x07000000 */ +#define ADC_SMPR1_SMP8 ADC_SMPR1_SMP8_Msk /*!< ADC Channel 8 Sampling time selection */ +#define ADC_SMPR1_SMP8_0 (0x1U << ADC_SMPR1_SMP8_Pos) /*!< 0x01000000 */ +#define ADC_SMPR1_SMP8_1 (0x2U << ADC_SMPR1_SMP8_Pos) /*!< 0x02000000 */ +#define ADC_SMPR1_SMP8_2 (0x4U << ADC_SMPR1_SMP8_Pos) /*!< 0x04000000 */ + +#define ADC_SMPR1_SMP9_Pos (27U) +#define ADC_SMPR1_SMP9_Msk (0x7U << ADC_SMPR1_SMP9_Pos) /*!< 0x38000000 */ +#define ADC_SMPR1_SMP9 ADC_SMPR1_SMP9_Msk /*!< ADC Channel 9 Sampling time selection */ +#define ADC_SMPR1_SMP9_0 (0x1U << ADC_SMPR1_SMP9_Pos) /*!< 0x08000000 */ +#define ADC_SMPR1_SMP9_1 (0x2U << ADC_SMPR1_SMP9_Pos) /*!< 0x10000000 */ +#define ADC_SMPR1_SMP9_2 (0x4U << ADC_SMPR1_SMP9_Pos) /*!< 0x20000000 */ + +/******************** Bit definition for ADC_SMPR2 register ********************/ +#define ADC_SMPR2_SMP10_Pos (0U) +#define ADC_SMPR2_SMP10_Msk (0x7U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000007 */ +#define ADC_SMPR2_SMP10 ADC_SMPR2_SMP10_Msk /*!< ADC Channel 10 Sampling time selection */ +#define ADC_SMPR2_SMP10_0 (0x1U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000001 */ +#define ADC_SMPR2_SMP10_1 (0x2U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000002 */ +#define ADC_SMPR2_SMP10_2 (0x4U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000004 */ + +#define ADC_SMPR2_SMP11_Pos (3U) +#define ADC_SMPR2_SMP11_Msk (0x7U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000038 */ +#define ADC_SMPR2_SMP11 ADC_SMPR2_SMP11_Msk /*!< ADC Channel 11 Sampling time selection */ +#define ADC_SMPR2_SMP11_0 (0x1U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000008 */ +#define ADC_SMPR2_SMP11_1 (0x2U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000010 */ +#define ADC_SMPR2_SMP11_2 (0x4U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000020 */ + +#define ADC_SMPR2_SMP12_Pos (6U) +#define ADC_SMPR2_SMP12_Msk (0x7U << ADC_SMPR2_SMP12_Pos) /*!< 0x000001C0 */ +#define ADC_SMPR2_SMP12 ADC_SMPR2_SMP12_Msk /*!< ADC Channel 12 Sampling time selection */ +#define ADC_SMPR2_SMP12_0 (0x1U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000040 */ +#define ADC_SMPR2_SMP12_1 (0x2U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000080 */ +#define ADC_SMPR2_SMP12_2 (0x4U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000100 */ + +#define ADC_SMPR2_SMP13_Pos (9U) +#define ADC_SMPR2_SMP13_Msk (0x7U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000E00 */ +#define ADC_SMPR2_SMP13 ADC_SMPR2_SMP13_Msk /*!< ADC Channel 13 Sampling time selection */ +#define ADC_SMPR2_SMP13_0 (0x1U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000200 */ +#define ADC_SMPR2_SMP13_1 (0x2U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000400 */ +#define ADC_SMPR2_SMP13_2 (0x4U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000800 */ + +#define ADC_SMPR2_SMP14_Pos (12U) +#define ADC_SMPR2_SMP14_Msk (0x7U << ADC_SMPR2_SMP14_Pos) /*!< 0x00007000 */ +#define ADC_SMPR2_SMP14 ADC_SMPR2_SMP14_Msk /*!< ADC Channel 14 Sampling time selection */ +#define ADC_SMPR2_SMP14_0 (0x1U << ADC_SMPR2_SMP14_Pos) /*!< 0x00001000 */ +#define ADC_SMPR2_SMP14_1 (0x2U << ADC_SMPR2_SMP14_Pos) /*!< 0x00002000 */ +#define ADC_SMPR2_SMP14_2 (0x4U << ADC_SMPR2_SMP14_Pos) /*!< 0x00004000 */ + +#define ADC_SMPR2_SMP15_Pos (15U) +#define ADC_SMPR2_SMP15_Msk (0x7U << ADC_SMPR2_SMP15_Pos) /*!< 0x00038000 */ +#define ADC_SMPR2_SMP15 ADC_SMPR2_SMP15_Msk /*!< ADC Channel 15 Sampling time selection */ +#define ADC_SMPR2_SMP15_0 (0x1U << ADC_SMPR2_SMP15_Pos) /*!< 0x00008000 */ +#define ADC_SMPR2_SMP15_1 (0x2U << ADC_SMPR2_SMP15_Pos) /*!< 0x00010000 */ +#define ADC_SMPR2_SMP15_2 (0x4U << ADC_SMPR2_SMP15_Pos) /*!< 0x00020000 */ + +#define ADC_SMPR2_SMP16_Pos (18U) +#define ADC_SMPR2_SMP16_Msk (0x7U << ADC_SMPR2_SMP16_Pos) /*!< 0x001C0000 */ +#define ADC_SMPR2_SMP16 ADC_SMPR2_SMP16_Msk /*!< ADC Channel 16 Sampling time selection */ +#define ADC_SMPR2_SMP16_0 (0x1U << ADC_SMPR2_SMP16_Pos) /*!< 0x00040000 */ +#define ADC_SMPR2_SMP16_1 (0x2U << ADC_SMPR2_SMP16_Pos) /*!< 0x00080000 */ +#define ADC_SMPR2_SMP16_2 (0x4U << ADC_SMPR2_SMP16_Pos) /*!< 0x00100000 */ + +#define ADC_SMPR2_SMP17_Pos (21U) +#define ADC_SMPR2_SMP17_Msk (0x7U << ADC_SMPR2_SMP17_Pos) /*!< 0x00E00000 */ +#define ADC_SMPR2_SMP17 ADC_SMPR2_SMP17_Msk /*!< ADC Channel 17 Sampling time selection */ +#define ADC_SMPR2_SMP17_0 (0x1U << ADC_SMPR2_SMP17_Pos) /*!< 0x00200000 */ +#define ADC_SMPR2_SMP17_1 (0x2U << ADC_SMPR2_SMP17_Pos) /*!< 0x00400000 */ +#define ADC_SMPR2_SMP17_2 (0x4U << ADC_SMPR2_SMP17_Pos) /*!< 0x00800000 */ + +#define ADC_SMPR2_SMP18_Pos (24U) +#define ADC_SMPR2_SMP18_Msk (0x7U << ADC_SMPR2_SMP18_Pos) /*!< 0x07000000 */ +#define ADC_SMPR2_SMP18 ADC_SMPR2_SMP18_Msk /*!< ADC Channel 18 Sampling time selection */ +#define ADC_SMPR2_SMP18_0 (0x1U << ADC_SMPR2_SMP18_Pos) /*!< 0x01000000 */ +#define ADC_SMPR2_SMP18_1 (0x2U << ADC_SMPR2_SMP18_Pos) /*!< 0x02000000 */ +#define ADC_SMPR2_SMP18_2 (0x4U << ADC_SMPR2_SMP18_Pos) /*!< 0x04000000 */ + +#define ADC_SMPR2_SMP19_Pos (27U) +#define ADC_SMPR2_SMP19_Msk (0x7U << ADC_SMPR2_SMP19_Pos) /*!< 0x38000000 */ +#define ADC_SMPR2_SMP19 ADC_SMPR2_SMP19_Msk /*!< ADC Channel 19 Sampling time selection */ +#define ADC_SMPR2_SMP19_0 (0x1U << ADC_SMPR2_SMP19_Pos) /*!< 0x08000000 */ +#define ADC_SMPR2_SMP19_1 (0x2U << ADC_SMPR2_SMP19_Pos) /*!< 0x10000000 */ +#define ADC_SMPR2_SMP19_2 (0x4U << ADC_SMPR2_SMP19_Pos) /*!< 0x20000000 */ + +/******************** Bit definition for ADC_PCSEL register ********************/ +#define ADC_PCSEL_PCSEL_Pos (0U) +#define ADC_PCSEL_PCSEL_Msk (0xFFFFFU << ADC_PCSEL_PCSEL_Pos) /*!< 0x000FFFFF */ +#define ADC_PCSEL_PCSEL ADC_PCSEL_PCSEL_Msk /*!< ADC pre channel selection */ +#define ADC_PCSEL_PCSEL_0 (0x00001U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000001 */ +#define ADC_PCSEL_PCSEL_1 (0x00002U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000002 */ +#define ADC_PCSEL_PCSEL_2 (0x00004U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000004 */ +#define ADC_PCSEL_PCSEL_3 (0x00008U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000008 */ +#define ADC_PCSEL_PCSEL_4 (0x00010U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000010 */ +#define ADC_PCSEL_PCSEL_5 (0x00020U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000020 */ +#define ADC_PCSEL_PCSEL_6 (0x00040U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000040 */ +#define ADC_PCSEL_PCSEL_7 (0x00080U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000080 */ +#define ADC_PCSEL_PCSEL_8 (0x00100U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000100 */ +#define ADC_PCSEL_PCSEL_9 (0x00200U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000200 */ +#define ADC_PCSEL_PCSEL_10 (0x00400U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000400 */ +#define ADC_PCSEL_PCSEL_11 (0x00800U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000800 */ +#define ADC_PCSEL_PCSEL_12 (0x01000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00001000 */ +#define ADC_PCSEL_PCSEL_13 (0x02000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00002000 */ +#define ADC_PCSEL_PCSEL_14 (0x04000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00004000 */ +#define ADC_PCSEL_PCSEL_15 (0x08000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00008000 */ +#define ADC_PCSEL_PCSEL_16 (0x10000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00010000 */ +#define ADC_PCSEL_PCSEL_17 (0x20000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00020000 */ +#define ADC_PCSEL_PCSEL_18 (0x40000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00040000 */ +#define ADC_PCSEL_PCSEL_19 (0x80000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_LTR1 register ********************/ +#define ADC_LTR1_LT1_Pos (0U) +#define ADC_LTR1_LT1_Msk (0x3FFFFFFU << ADC_LTR1_LT1_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR1_LT1 ADC_LTR1_LT1_Msk /*!< ADC Analog watchdog 1 lower threshold */ +#define ADC_LTR1_LT1_0 (0x0000001U << ADC_LTR1_LT1_Pos) /*!< 0x00000001 */ +#define ADC_LTR1_LT1_1 (0x0000002U << ADC_LTR1_LT1_Pos) /*!< 0x00000002 */ +#define ADC_LTR1_LT1_2 (0x0000004U << ADC_LTR1_LT1_Pos) /*!< 0x00000004 */ +#define ADC_LTR1_LT1_3 (0x0000008U << ADC_LTR1_LT1_Pos) /*!< 0x00000008 */ +#define ADC_LTR1_LT1_4 (0x0000010U << ADC_LTR1_LT1_Pos) /*!< 0x00000010 */ +#define ADC_LTR1_LT1_5 (0x0000020U << ADC_LTR1_LT1_Pos) /*!< 0x00000020 */ +#define ADC_LTR1_LT1_6 (0x0000040U << ADC_LTR1_LT1_Pos) /*!< 0x00000040 */ +#define ADC_LTR1_LT1_7 (0x0000080U << ADC_LTR1_LT1_Pos) /*!< 0x00000080 */ +#define ADC_LTR1_LT1_8 (0x0000100U << ADC_LTR1_LT1_Pos) /*!< 0x00000100 */ +#define ADC_LTR1_LT1_9 (0x0000200U << ADC_LTR1_LT1_Pos) /*!< 0x00000200 */ +#define ADC_LTR1_LT1_10 (0x0000400U << ADC_LTR1_LT1_Pos) /*!< 0x00000400 */ +#define ADC_LTR1_LT1_11 (0x0000800U << ADC_LTR1_LT1_Pos) /*!< 0x00000800 */ +#define ADC_LTR1_LT1_12 (0x0001000U << ADC_LTR1_LT1_Pos) /*!< 0x00001000 */ +#define ADC_LTR1_LT1_13 (0x0002000U << ADC_LTR1_LT1_Pos) /*!< 0x00002000 */ +#define ADC_LTR1_LT1_14 (0x0004000U << ADC_LTR1_LT1_Pos) /*!< 0x00004000 */ +#define ADC_LTR1_LT1_15 (0x0008000U << ADC_LTR1_LT1_Pos) /*!< 0x00008000 */ +#define ADC_LTR1_LT1_16 (0x0010000U << ADC_LTR1_LT1_Pos) /*!< 0x00010000 */ +#define ADC_LTR1_LT1_17 (0x0020000U << ADC_LTR1_LT1_Pos) /*!< 0x00020000 */ +#define ADC_LTR1_LT1_18 (0x0040000U << ADC_LTR1_LT1_Pos) /*!< 0x00040000 */ +#define ADC_LTR1_LT1_19 (0x0080000U << ADC_LTR1_LT1_Pos) /*!< 0x00080000 */ +#define ADC_LTR1_LT1_20 (0x0100000U << ADC_LTR1_LT1_Pos) /*!< 0x00100000 */ +#define ADC_LTR1_LT1_21 (0x0200000U << ADC_LTR1_LT1_Pos) /*!< 0x00200000 */ +#define ADC_LTR1_LT1_22 (0x0400000U << ADC_LTR1_LT1_Pos) /*!< 0x00400000 */ +#define ADC_LTR1_LT1_23 (0x0800000U << ADC_LTR1_LT1_Pos) /*!< 0x00800000 */ +#define ADC_LTR1_LT1_24 (0x1000000U << ADC_LTR1_LT1_Pos) /*!< 0x01000000 */ +#define ADC_LTR1_LT1_25 (0x2000000U << ADC_LTR1_LT1_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR1 register ********************/ +#define ADC_HTR1_HT1_Pos (0U) +#define ADC_HTR1_HT1_Msk (0x3FFFFFFU << ADC_HTR1_HT1_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR1_HT1 ADC_HTR1_HT1_Msk /*!< ADC Analog watchdog 1 higher threshold */ +#define ADC_HTR1_HT1_0 (0x0000001U << ADC_HTR1_HT1_Pos) /*!< 0x00000001 */ +#define ADC_HTR1_HT1_1 (0x0000002U << ADC_HTR1_HT1_Pos) /*!< 0x00000002 */ +#define ADC_HTR1_HT1_2 (0x0000004U << ADC_HTR1_HT1_Pos) /*!< 0x00000004 */ +#define ADC_HTR1_HT1_3 (0x0000008U << ADC_HTR1_HT1_Pos) /*!< 0x00000008 */ +#define ADC_HTR1_HT1_4 (0x0000010U << ADC_HTR1_HT1_Pos) /*!< 0x00000010 */ +#define ADC_HTR1_HT1_5 (0x0000020U << ADC_HTR1_HT1_Pos) /*!< 0x00000020 */ +#define ADC_HTR1_HT1_6 (0x0000040U << ADC_HTR1_HT1_Pos) /*!< 0x00000040 */ +#define ADC_HTR1_HT1_7 (0x0000080U << ADC_HTR1_HT1_Pos) /*!< 0x00000080 */ +#define ADC_HTR1_HT1_8 (0x0000100U << ADC_HTR1_HT1_Pos) /*!< 0x00000100 */ +#define ADC_HTR1_HT1_9 (0x0000200U << ADC_HTR1_HT1_Pos) /*!< 0x00000200 */ +#define ADC_HTR1_HT1_10 (0x0000400U << ADC_HTR1_HT1_Pos) /*!< 0x00000400 */ +#define ADC_HTR1_HT1_11 (0x0000800U << ADC_HTR1_HT1_Pos) /*!< 0x00000800 */ +#define ADC_HTR1_HT1_12 (0x0001000U << ADC_HTR1_HT1_Pos) /*!< 0x00001000 */ +#define ADC_HTR1_HT1_13 (0x0002000U << ADC_HTR1_HT1_Pos) /*!< 0x00002000 */ +#define ADC_HTR1_HT1_14 (0x0004000U << ADC_HTR1_HT1_Pos) /*!< 0x00004000 */ +#define ADC_HTR1_HT1_15 (0x0008000U << ADC_HTR1_HT1_Pos) /*!< 0x00008000 */ +#define ADC_HTR1_HT1_16 (0x0010000U << ADC_HTR1_HT1_Pos) /*!< 0x00010000 */ +#define ADC_HTR1_HT1_17 (0x0020000U << ADC_HTR1_HT1_Pos) /*!< 0x00020000 */ +#define ADC_HTR1_HT1_18 (0x0040000U << ADC_HTR1_HT1_Pos) /*!< 0x00040000 */ +#define ADC_HTR1_HT1_19 (0x0080000U << ADC_HTR1_HT1_Pos) /*!< 0x00080000 */ +#define ADC_HTR1_HT1_20 (0x0100000U << ADC_HTR1_HT1_Pos) /*!< 0x00100000 */ +#define ADC_HTR1_HT1_21 (0x0200000U << ADC_HTR1_HT1_Pos) /*!< 0x00200000 */ +#define ADC_HTR1_HT1_22 (0x0400000U << ADC_HTR1_HT1_Pos) /*!< 0x00400000 */ +#define ADC_HTR1_HT1_23 (0x0800000U << ADC_HTR1_HT1_Pos) /*!< 0x00800000 */ +#define ADC_HTR1_HT1_24 (0x1000000U << ADC_HTR1_HT1_Pos) /*!< 0x01000000 */ +#define ADC_HTR1_HT1_25 (0x2000000U << ADC_HTR1_HT1_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_LTR2 register ********************/ +#define ADC_LTR2_LT2_Pos (0U) +#define ADC_LTR2_LT2_Msk (0x3FFFFFFU << ADC_LTR2_LT2_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR2_LT2 ADC_LTR2_LT2_Msk /*!< ADC Analog watchdog 2 lower threshold */ +#define ADC_LTR2_LT2_0 (0x0000001U << ADC_LTR2_LT2_Pos) /*!< 0x00000001 */ +#define ADC_LTR2_LT2_1 (0x0000002U << ADC_LTR2_LT2_Pos) /*!< 0x00000002 */ +#define ADC_LTR2_LT2_2 (0x0000004U << ADC_LTR2_LT2_Pos) /*!< 0x00000004 */ +#define ADC_LTR2_LT2_3 (0x0000008U << ADC_LTR2_LT2_Pos) /*!< 0x00000008 */ +#define ADC_LTR2_LT2_4 (0x0000010U << ADC_LTR2_LT2_Pos) /*!< 0x00000010 */ +#define ADC_LTR2_LT2_5 (0x0000020U << ADC_LTR2_LT2_Pos) /*!< 0x00000020 */ +#define ADC_LTR2_LT2_6 (0x0000040U << ADC_LTR2_LT2_Pos) /*!< 0x00000040 */ +#define ADC_LTR2_LT2_7 (0x0000080U << ADC_LTR2_LT2_Pos) /*!< 0x00000080 */ +#define ADC_LTR2_LT2_8 (0x0000100U << ADC_LTR2_LT2_Pos) /*!< 0x00000100 */ +#define ADC_LTR2_LT2_9 (0x0000200U << ADC_LTR2_LT2_Pos) /*!< 0x00000200 */ +#define ADC_LTR2_LT2_10 (0x0000400U << ADC_LTR2_LT2_Pos) /*!< 0x00000400 */ +#define ADC_LTR2_LT2_11 (0x0000800U << ADC_LTR2_LT2_Pos) /*!< 0x00000800 */ +#define ADC_LTR2_LT2_12 (0x0001000U << ADC_LTR2_LT2_Pos) /*!< 0x00001000 */ +#define ADC_LTR2_LT2_13 (0x0002000U << ADC_LTR2_LT2_Pos) /*!< 0x00002000 */ +#define ADC_LTR2_LT2_14 (0x0004000U << ADC_LTR2_LT2_Pos) /*!< 0x00004000 */ +#define ADC_LTR2_LT2_15 (0x0008000U << ADC_LTR2_LT2_Pos) /*!< 0x00008000 */ +#define ADC_LTR2_LT2_16 (0x0010000U << ADC_LTR2_LT2_Pos) /*!< 0x00010000 */ +#define ADC_LTR2_LT2_17 (0x0020000U << ADC_LTR2_LT2_Pos) /*!< 0x00020000 */ +#define ADC_LTR2_LT2_18 (0x0040000U << ADC_LTR2_LT2_Pos) /*!< 0x00040000 */ +#define ADC_LTR2_LT2_19 (0x0080000U << ADC_LTR2_LT2_Pos) /*!< 0x00080000 */ +#define ADC_LTR2_LT2_20 (0x0100000U << ADC_LTR2_LT2_Pos) /*!< 0x00100000 */ +#define ADC_LTR2_LT2_21 (0x0200000U << ADC_LTR2_LT2_Pos) /*!< 0x00200000 */ +#define ADC_LTR2_LT2_22 (0x0400000U << ADC_LTR2_LT2_Pos) /*!< 0x00400000 */ +#define ADC_LTR2_LT2_23 (0x0800000U << ADC_LTR2_LT2_Pos) /*!< 0x00800000 */ +#define ADC_LTR2_LT2_24 (0x1000000U << ADC_LTR2_LT2_Pos) /*!< 0x01000000 */ +#define ADC_LTR2_LT2_25 (0x2000000U << ADC_LTR2_LT2_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR2 register ********************/ +#define ADC_HTR2_HT2_Pos (0U) +#define ADC_HTR2_HT2_Msk (0x3FFFFFFU << ADC_HTR2_HT2_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR2_HT2 ADC_HTR2_HT2_Msk /*!< ADC Analog watchdog 2 higher threshold */ +#define ADC_HTR2_HT2_0 (0x0000001U << ADC_HTR2_HT2_Pos) /*!< 0x00000001 */ +#define ADC_HTR2_HT2_1 (0x0000002U << ADC_HTR2_HT2_Pos) /*!< 0x00000002 */ +#define ADC_HTR2_HT2_2 (0x0000004U << ADC_HTR2_HT2_Pos) /*!< 0x00000004 */ +#define ADC_HTR2_HT2_3 (0x0000008U << ADC_HTR2_HT2_Pos) /*!< 0x00000008 */ +#define ADC_HTR2_HT2_4 (0x0000010U << ADC_HTR2_HT2_Pos) /*!< 0x00000010 */ +#define ADC_HTR2_HT2_5 (0x0000020U << ADC_HTR2_HT2_Pos) /*!< 0x00000020 */ +#define ADC_HTR2_HT2_6 (0x0000040U << ADC_HTR2_HT2_Pos) /*!< 0x00000040 */ +#define ADC_HTR2_HT2_7 (0x0000080U << ADC_HTR2_HT2_Pos) /*!< 0x00000080 */ +#define ADC_HTR2_HT2_8 (0x0000100U << ADC_HTR2_HT2_Pos) /*!< 0x00000100 */ +#define ADC_HTR2_HT2_9 (0x0000200U << ADC_HTR2_HT2_Pos) /*!< 0x00000200 */ +#define ADC_HTR2_HT2_10 (0x0000400U << ADC_HTR2_HT2_Pos) /*!< 0x00000400 */ +#define ADC_HTR2_HT2_11 (0x0000800U << ADC_HTR2_HT2_Pos) /*!< 0x00000800 */ +#define ADC_HTR2_HT2_12 (0x0001000U << ADC_HTR2_HT2_Pos) /*!< 0x00001000 */ +#define ADC_HTR2_HT2_13 (0x0002000U << ADC_HTR2_HT2_Pos) /*!< 0x00002000 */ +#define ADC_HTR2_HT2_14 (0x0004000U << ADC_HTR2_HT2_Pos) /*!< 0x00004000 */ +#define ADC_HTR2_HT2_15 (0x0008000U << ADC_HTR2_HT2_Pos) /*!< 0x00008000 */ +#define ADC_HTR2_HT2_16 (0x0010000U << ADC_HTR2_HT2_Pos) /*!< 0x00010000 */ +#define ADC_HTR2_HT2_17 (0x0020000U << ADC_HTR2_HT2_Pos) /*!< 0x00020000 */ +#define ADC_HTR2_HT2_18 (0x0040000U << ADC_HTR2_HT2_Pos) /*!< 0x00040000 */ +#define ADC_HTR2_HT2_19 (0x0080000U << ADC_HTR2_HT2_Pos) /*!< 0x00080000 */ +#define ADC_HTR2_HT2_20 (0x0100000U << ADC_HTR2_HT2_Pos) /*!< 0x00100000 */ +#define ADC_HTR2_HT2_21 (0x0200000U << ADC_HTR2_HT2_Pos) /*!< 0x00200000 */ +#define ADC_HTR2_HT2_22 (0x0400000U << ADC_HTR2_HT2_Pos) /*!< 0x00400000 */ +#define ADC_HTR2_HT2_23 (0x0800000U << ADC_HTR2_HT2_Pos) /*!< 0x00800000 */ +#define ADC_HTR2_HT2_24 (0x1000000U << ADC_HTR2_HT2_Pos) /*!< 0x01000000 */ +#define ADC_HTR2_HT2_25 (0x2000000U << ADC_HTR2_HT2_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_LTR3 register ********************/ +#define ADC_LTR3_LT3_Pos (0U) +#define ADC_LTR3_LT3_Msk (0x3FFFFFFU << ADC_LTR3_LT3_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR3_LT3 ADC_LTR3_LT3_Msk /*!< ADC Analog watchdog 3 lower threshold */ +#define ADC_LTR3_LT3_0 (0x0000001U << ADC_LTR3_LT3_Pos) /*!< 0x00000001 */ +#define ADC_LTR3_LT3_1 (0x0000002U << ADC_LTR3_LT3_Pos) /*!< 0x00000002 */ +#define ADC_LTR3_LT3_2 (0x0000004U << ADC_LTR3_LT3_Pos) /*!< 0x00000004 */ +#define ADC_LTR3_LT3_3 (0x0000008U << ADC_LTR3_LT3_Pos) /*!< 0x00000008 */ +#define ADC_LTR3_LT3_4 (0x0000010U << ADC_LTR3_LT3_Pos) /*!< 0x00000010 */ +#define ADC_LTR3_LT3_5 (0x0000020U << ADC_LTR3_LT3_Pos) /*!< 0x00000020 */ +#define ADC_LTR3_LT3_6 (0x0000040U << ADC_LTR3_LT3_Pos) /*!< 0x00000040 */ +#define ADC_LTR3_LT3_7 (0x0000080U << ADC_LTR3_LT3_Pos) /*!< 0x00000080 */ +#define ADC_LTR3_LT3_8 (0x0000100U << ADC_LTR3_LT3_Pos) /*!< 0x00000100 */ +#define ADC_LTR3_LT3_9 (0x0000200U << ADC_LTR3_LT3_Pos) /*!< 0x00000200 */ +#define ADC_LTR3_LT3_10 (0x0000400U << ADC_LTR3_LT3_Pos) /*!< 0x00000400 */ +#define ADC_LTR3_LT3_11 (0x0000800U << ADC_LTR3_LT3_Pos) /*!< 0x00000800 */ +#define ADC_LTR3_LT3_12 (0x0001000U << ADC_LTR3_LT3_Pos) /*!< 0x00001000 */ +#define ADC_LTR3_LT3_13 (0x0002000U << ADC_LTR3_LT3_Pos) /*!< 0x00002000 */ +#define ADC_LTR3_LT3_14 (0x0004000U << ADC_LTR3_LT3_Pos) /*!< 0x00004000 */ +#define ADC_LTR3_LT3_15 (0x0008000U << ADC_LTR3_LT3_Pos) /*!< 0x00008000 */ +#define ADC_LTR3_LT3_16 (0x0010000U << ADC_LTR3_LT3_Pos) /*!< 0x00010000 */ +#define ADC_LTR3_LT3_17 (0x0020000U << ADC_LTR3_LT3_Pos) /*!< 0x00020000 */ +#define ADC_LTR3_LT3_18 (0x0040000U << ADC_LTR3_LT3_Pos) /*!< 0x00040000 */ +#define ADC_LTR3_LT3_19 (0x0080000U << ADC_LTR3_LT3_Pos) /*!< 0x00080000 */ +#define ADC_LTR3_LT3_20 (0x0100000U << ADC_LTR3_LT3_Pos) /*!< 0x00100000 */ +#define ADC_LTR3_LT3_21 (0x0200000U << ADC_LTR3_LT3_Pos) /*!< 0x00200000 */ +#define ADC_LTR3_LT3_22 (0x0400000U << ADC_LTR3_LT3_Pos) /*!< 0x00400000 */ +#define ADC_LTR3_LT3_23 (0x0800000U << ADC_LTR3_LT3_Pos) /*!< 0x00800000 */ +#define ADC_LTR3_LT3_24 (0x1000000U << ADC_LTR3_LT3_Pos) /*!< 0x01000000 */ +#define ADC_LTR3_LT3_25 (0x2000000U << ADC_LTR3_LT3_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR3 register ********************/ +#define ADC_HTR3_HT3_Pos (0U) +#define ADC_HTR3_HT3_Msk (0x3FFFFFFU << ADC_HTR3_HT3_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR3_HT3 ADC_HTR3_HT3_Msk /*!< ADC Analog watchdog 3 higher threshold */ +#define ADC_HTR3_HT3_0 (0x0000001U << ADC_HTR3_HT3_Pos) /*!< 0x00000001 */ +#define ADC_HTR3_HT3_1 (0x0000002U << ADC_HTR3_HT3_Pos) /*!< 0x00000002 */ +#define ADC_HTR3_HT3_2 (0x0000004U << ADC_HTR3_HT3_Pos) /*!< 0x00000004 */ +#define ADC_HTR3_HT3_3 (0x0000008U << ADC_HTR3_HT3_Pos) /*!< 0x00000008 */ +#define ADC_HTR3_HT3_4 (0x0000010U << ADC_HTR3_HT3_Pos) /*!< 0x00000010 */ +#define ADC_HTR3_HT3_5 (0x0000020U << ADC_HTR3_HT3_Pos) /*!< 0x00000020 */ +#define ADC_HTR3_HT3_6 (0x0000040U << ADC_HTR3_HT3_Pos) /*!< 0x00000040 */ +#define ADC_HTR3_HT3_7 (0x0000080U << ADC_HTR3_HT3_Pos) /*!< 0x00000080 */ +#define ADC_HTR3_HT3_8 (0x0000100U << ADC_HTR3_HT3_Pos) /*!< 0x00000100 */ +#define ADC_HTR3_HT3_9 (0x0000200U << ADC_HTR3_HT3_Pos) /*!< 0x00000200 */ +#define ADC_HTR3_HT3_10 (0x0000400U << ADC_HTR3_HT3_Pos) /*!< 0x00000400 */ +#define ADC_HTR3_HT3_11 (0x0000800U << ADC_HTR3_HT3_Pos) /*!< 0x00000800 */ +#define ADC_HTR3_HT3_12 (0x0001000U << ADC_HTR3_HT3_Pos) /*!< 0x00001000 */ +#define ADC_HTR3_HT3_13 (0x0002000U << ADC_HTR3_HT3_Pos) /*!< 0x00002000 */ +#define ADC_HTR3_HT3_14 (0x0004000U << ADC_HTR3_HT3_Pos) /*!< 0x00004000 */ +#define ADC_HTR3_HT3_15 (0x0008000U << ADC_HTR3_HT3_Pos) /*!< 0x00008000 */ +#define ADC_HTR3_HT3_16 (0x0010000U << ADC_HTR3_HT3_Pos) /*!< 0x00010000 */ +#define ADC_HTR3_HT3_17 (0x0020000U << ADC_HTR3_HT3_Pos) /*!< 0x00020000 */ +#define ADC_HTR3_HT3_18 (0x0040000U << ADC_HTR3_HT3_Pos) /*!< 0x00040000 */ +#define ADC_HTR3_HT3_19 (0x0080000U << ADC_HTR3_HT3_Pos) /*!< 0x00080000 */ +#define ADC_HTR3_HT3_20 (0x0100000U << ADC_HTR3_HT3_Pos) /*!< 0x00100000 */ +#define ADC_HTR3_HT3_21 (0x0200000U << ADC_HTR3_HT3_Pos) /*!< 0x00200000 */ +#define ADC_HTR3_HT3_22 (0x0400000U << ADC_HTR3_HT3_Pos) /*!< 0x00400000 */ +#define ADC_HTR3_HT3_23 (0x0800000U << ADC_HTR3_HT3_Pos) /*!< 0x00800000 */ +#define ADC_HTR3_HT3_24 (0x1000000U << ADC_HTR3_HT3_Pos) /*!< 0x01000000 */ +#define ADC_HTR3_HT3_25 (0x2000000U << ADC_HTR3_HT3_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_SQR1 register ********************/ +#define ADC_SQR1_L_Pos (0U) +#define ADC_SQR1_L_Msk (0xFU << ADC_SQR1_L_Pos) /*!< 0x0000000F */ +#define ADC_SQR1_L ADC_SQR1_L_Msk /*!< ADC regular channel sequence lenght */ +#define ADC_SQR1_L_0 (0x1U << ADC_SQR1_L_Pos) /*!< 0x00000001 */ +#define ADC_SQR1_L_1 (0x2U << ADC_SQR1_L_Pos) /*!< 0x00000002 */ +#define ADC_SQR1_L_2 (0x4U << ADC_SQR1_L_Pos) /*!< 0x00000004 */ +#define ADC_SQR1_L_3 (0x8U << ADC_SQR1_L_Pos) /*!< 0x00000008 */ + +#define ADC_SQR1_SQ1_Pos (6U) +#define ADC_SQR1_SQ1_Msk (0x1FU << ADC_SQR1_SQ1_Pos) /*!< 0x000007C0 */ +#define ADC_SQR1_SQ1 ADC_SQR1_SQ1_Msk /*!< ADC 1st conversion in regular sequence */ +#define ADC_SQR1_SQ1_0 (0x01U << ADC_SQR1_SQ1_Pos) /*!< 0x00000040 */ +#define ADC_SQR1_SQ1_1 (0x02U << ADC_SQR1_SQ1_Pos) /*!< 0x00000080 */ +#define ADC_SQR1_SQ1_2 (0x04U << ADC_SQR1_SQ1_Pos) /*!< 0x00000100 */ +#define ADC_SQR1_SQ1_3 (0x08U << ADC_SQR1_SQ1_Pos) /*!< 0x00000200 */ +#define ADC_SQR1_SQ1_4 (0x10U << ADC_SQR1_SQ1_Pos) /*!< 0x00000400 */ + +#define ADC_SQR1_SQ2_Pos (12U) +#define ADC_SQR1_SQ2_Msk (0x1FU << ADC_SQR1_SQ2_Pos) /*!< 0x0001F000 */ +#define ADC_SQR1_SQ2 ADC_SQR1_SQ2_Msk /*!< ADC 2nd conversion in regular sequence */ +#define ADC_SQR1_SQ2_0 (0x01U << ADC_SQR1_SQ2_Pos) /*!< 0x00001000 */ +#define ADC_SQR1_SQ2_1 (0x02U << ADC_SQR1_SQ2_Pos) /*!< 0x00002000 */ +#define ADC_SQR1_SQ2_2 (0x04U << ADC_SQR1_SQ2_Pos) /*!< 0x00004000 */ +#define ADC_SQR1_SQ2_3 (0x08U << ADC_SQR1_SQ2_Pos) /*!< 0x00008000 */ +#define ADC_SQR1_SQ2_4 (0x10U << ADC_SQR1_SQ2_Pos) /*!< 0x00010000 */ + +#define ADC_SQR1_SQ3_Pos (18U) +#define ADC_SQR1_SQ3_Msk (0x1FU << ADC_SQR1_SQ3_Pos) /*!< 0x007C0000 */ +#define ADC_SQR1_SQ3 ADC_SQR1_SQ3_Msk /*!< ADC 3rd conversion in regular sequence */ +#define ADC_SQR1_SQ3_0 (0x01U << ADC_SQR1_SQ3_Pos) /*!< 0x00040000 */ +#define ADC_SQR1_SQ3_1 (0x02U << ADC_SQR1_SQ3_Pos) /*!< 0x00080000 */ +#define ADC_SQR1_SQ3_2 (0x04U << ADC_SQR1_SQ3_Pos) /*!< 0x00100000 */ +#define ADC_SQR1_SQ3_3 (0x08U << ADC_SQR1_SQ3_Pos) /*!< 0x00200000 */ +#define ADC_SQR1_SQ3_4 (0x10U << ADC_SQR1_SQ3_Pos) /*!< 0x00400000 */ + +#define ADC_SQR1_SQ4_Pos (24U) +#define ADC_SQR1_SQ4_Msk (0x1FU << ADC_SQR1_SQ4_Pos) /*!< 0x1F000000 */ +#define ADC_SQR1_SQ4 ADC_SQR1_SQ4_Msk /*!< ADC 4th conversion in regular sequence */ +#define ADC_SQR1_SQ4_0 (0x01U << ADC_SQR1_SQ4_Pos) /*!< 0x01000000 */ +#define ADC_SQR1_SQ4_1 (0x02U << ADC_SQR1_SQ4_Pos) /*!< 0x02000000 */ +#define ADC_SQR1_SQ4_2 (0x04U << ADC_SQR1_SQ4_Pos) /*!< 0x04000000 */ +#define ADC_SQR1_SQ4_3 (0x08U << ADC_SQR1_SQ4_Pos) /*!< 0x08000000 */ +#define ADC_SQR1_SQ4_4 (0x10U << ADC_SQR1_SQ4_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR2 register ********************/ +#define ADC_SQR2_SQ5_Pos (0U) +#define ADC_SQR2_SQ5_Msk (0x1FU << ADC_SQR2_SQ5_Pos) /*!< 0x0000001F */ +#define ADC_SQR2_SQ5 ADC_SQR2_SQ5_Msk /*!< ADC 5th conversion in regular sequence */ +#define ADC_SQR2_SQ5_0 (0x01U << ADC_SQR2_SQ5_Pos) /*!< 0x00000001 */ +#define ADC_SQR2_SQ5_1 (0x02U << ADC_SQR2_SQ5_Pos) /*!< 0x00000002 */ +#define ADC_SQR2_SQ5_2 (0x04U << ADC_SQR2_SQ5_Pos) /*!< 0x00000004 */ +#define ADC_SQR2_SQ5_3 (0x08U << ADC_SQR2_SQ5_Pos) /*!< 0x00000008 */ +#define ADC_SQR2_SQ5_4 (0x10U << ADC_SQR2_SQ5_Pos) /*!< 0x00000010 */ + +#define ADC_SQR2_SQ6_Pos (6U) +#define ADC_SQR2_SQ6_Msk (0x1FU << ADC_SQR2_SQ6_Pos) /*!< 0x000007C0 */ +#define ADC_SQR2_SQ6 ADC_SQR2_SQ6_Msk /*!< ADC 6th conversion in regular sequence */ +#define ADC_SQR2_SQ6_0 (0x01U << ADC_SQR2_SQ6_Pos) /*!< 0x00000040 */ +#define ADC_SQR2_SQ6_1 (0x02U << ADC_SQR2_SQ6_Pos) /*!< 0x00000080 */ +#define ADC_SQR2_SQ6_2 (0x04U << ADC_SQR2_SQ6_Pos) /*!< 0x00000100 */ +#define ADC_SQR2_SQ6_3 (0x08U << ADC_SQR2_SQ6_Pos) /*!< 0x00000200 */ +#define ADC_SQR2_SQ6_4 (0x10U << ADC_SQR2_SQ6_Pos) /*!< 0x00000400 */ + +#define ADC_SQR2_SQ7_Pos (12U) +#define ADC_SQR2_SQ7_Msk (0x1FU << ADC_SQR2_SQ7_Pos) /*!< 0x0001F000 */ +#define ADC_SQR2_SQ7 ADC_SQR2_SQ7_Msk /*!< ADC 7th conversion in regular sequence */ +#define ADC_SQR2_SQ7_0 (0x01U << ADC_SQR2_SQ7_Pos) /*!< 0x00001000 */ +#define ADC_SQR2_SQ7_1 (0x02U << ADC_SQR2_SQ7_Pos) /*!< 0x00002000 */ +#define ADC_SQR2_SQ7_2 (0x04U << ADC_SQR2_SQ7_Pos) /*!< 0x00004000 */ +#define ADC_SQR2_SQ7_3 (0x08U << ADC_SQR2_SQ7_Pos) /*!< 0x00008000 */ +#define ADC_SQR2_SQ7_4 (0x10U << ADC_SQR2_SQ7_Pos) /*!< 0x00010000 */ + +#define ADC_SQR2_SQ8_Pos (18U) +#define ADC_SQR2_SQ8_Msk (0x1FU << ADC_SQR2_SQ8_Pos) /*!< 0x007C0000 */ +#define ADC_SQR2_SQ8 ADC_SQR2_SQ8_Msk /*!< ADC 8th conversion in regular sequence */ +#define ADC_SQR2_SQ8_0 (0x01U << ADC_SQR2_SQ8_Pos) /*!< 0x00040000 */ +#define ADC_SQR2_SQ8_1 (0x02U << ADC_SQR2_SQ8_Pos) /*!< 0x00080000 */ +#define ADC_SQR2_SQ8_2 (0x04U << ADC_SQR2_SQ8_Pos) /*!< 0x00100000 */ +#define ADC_SQR2_SQ8_3 (0x08U << ADC_SQR2_SQ8_Pos) /*!< 0x00200000 */ +#define ADC_SQR2_SQ8_4 (0x10U << ADC_SQR2_SQ8_Pos) /*!< 0x00400000 */ + +#define ADC_SQR2_SQ9_Pos (24U) +#define ADC_SQR2_SQ9_Msk (0x1FU << ADC_SQR2_SQ9_Pos) /*!< 0x1F000000 */ +#define ADC_SQR2_SQ9 ADC_SQR2_SQ9_Msk /*!< ADC 9th conversion in regular sequence */ +#define ADC_SQR2_SQ9_0 (0x01U << ADC_SQR2_SQ9_Pos) /*!< 0x01000000 */ +#define ADC_SQR2_SQ9_1 (0x02U << ADC_SQR2_SQ9_Pos) /*!< 0x02000000 */ +#define ADC_SQR2_SQ9_2 (0x04U << ADC_SQR2_SQ9_Pos) /*!< 0x04000000 */ +#define ADC_SQR2_SQ9_3 (0x08U << ADC_SQR2_SQ9_Pos) /*!< 0x08000000 */ +#define ADC_SQR2_SQ9_4 (0x10U << ADC_SQR2_SQ9_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR3 register ********************/ +#define ADC_SQR3_SQ10_Pos (0U) +#define ADC_SQR3_SQ10_Msk (0x1FU << ADC_SQR3_SQ10_Pos) /*!< 0x0000001F */ +#define ADC_SQR3_SQ10 ADC_SQR3_SQ10_Msk /*!< ADC 10th conversion in regular sequence */ +#define ADC_SQR3_SQ10_0 (0x01U << ADC_SQR3_SQ10_Pos) /*!< 0x00000001 */ +#define ADC_SQR3_SQ10_1 (0x02U << ADC_SQR3_SQ10_Pos) /*!< 0x00000002 */ +#define ADC_SQR3_SQ10_2 (0x04U << ADC_SQR3_SQ10_Pos) /*!< 0x00000004 */ +#define ADC_SQR3_SQ10_3 (0x08U << ADC_SQR3_SQ10_Pos) /*!< 0x00000008 */ +#define ADC_SQR3_SQ10_4 (0x10U << ADC_SQR3_SQ10_Pos) /*!< 0x00000010 */ + +#define ADC_SQR3_SQ11_Pos (6U) +#define ADC_SQR3_SQ11_Msk (0x1FU << ADC_SQR3_SQ11_Pos) /*!< 0x000007C0 */ +#define ADC_SQR3_SQ11 ADC_SQR3_SQ11_Msk /*!< ADC 11th conversion in regular sequence */ +#define ADC_SQR3_SQ11_0 (0x01U << ADC_SQR3_SQ11_Pos) /*!< 0x00000040 */ +#define ADC_SQR3_SQ11_1 (0x02U << ADC_SQR3_SQ11_Pos) /*!< 0x00000080 */ +#define ADC_SQR3_SQ11_2 (0x04U << ADC_SQR3_SQ11_Pos) /*!< 0x00000100 */ +#define ADC_SQR3_SQ11_3 (0x08U << ADC_SQR3_SQ11_Pos) /*!< 0x00000200 */ +#define ADC_SQR3_SQ11_4 (0x10U << ADC_SQR3_SQ11_Pos) /*!< 0x00000400 */ + +#define ADC_SQR3_SQ12_Pos (12U) +#define ADC_SQR3_SQ12_Msk (0x1FU << ADC_SQR3_SQ12_Pos) /*!< 0x0001F000 */ +#define ADC_SQR3_SQ12 ADC_SQR3_SQ12_Msk /*!< ADC 12th conversion in regular sequence */ +#define ADC_SQR3_SQ12_0 (0x01U << ADC_SQR3_SQ12_Pos) /*!< 0x00001000 */ +#define ADC_SQR3_SQ12_1 (0x02U << ADC_SQR3_SQ12_Pos) /*!< 0x00002000 */ +#define ADC_SQR3_SQ12_2 (0x04U << ADC_SQR3_SQ12_Pos) /*!< 0x00004000 */ +#define ADC_SQR3_SQ12_3 (0x08U << ADC_SQR3_SQ12_Pos) /*!< 0x00008000 */ +#define ADC_SQR3_SQ12_4 (0x10U << ADC_SQR3_SQ12_Pos) /*!< 0x00010000 */ + +#define ADC_SQR3_SQ13_Pos (18U) +#define ADC_SQR3_SQ13_Msk (0x1FU << ADC_SQR3_SQ13_Pos) /*!< 0x007C0000 */ +#define ADC_SQR3_SQ13 ADC_SQR3_SQ13_Msk /*!< ADC 13th conversion in regular sequence */ +#define ADC_SQR3_SQ13_0 (0x01U << ADC_SQR3_SQ13_Pos) /*!< 0x00040000 */ +#define ADC_SQR3_SQ13_1 (0x02U << ADC_SQR3_SQ13_Pos) /*!< 0x00080000 */ +#define ADC_SQR3_SQ13_2 (0x04U << ADC_SQR3_SQ13_Pos) /*!< 0x00100000 */ +#define ADC_SQR3_SQ13_3 (0x08U << ADC_SQR3_SQ13_Pos) /*!< 0x00200000 */ +#define ADC_SQR3_SQ13_4 (0x10U << ADC_SQR3_SQ13_Pos) /*!< 0x00400000 */ + +#define ADC_SQR3_SQ14_Pos (24U) +#define ADC_SQR3_SQ14_Msk (0x1FU << ADC_SQR3_SQ14_Pos) /*!< 0x1F000000 */ +#define ADC_SQR3_SQ14 ADC_SQR3_SQ14_Msk /*!< ADC 14th conversion in regular sequence */ +#define ADC_SQR3_SQ14_0 (0x01U << ADC_SQR3_SQ14_Pos) /*!< 0x01000000 */ +#define ADC_SQR3_SQ14_1 (0x02U << ADC_SQR3_SQ14_Pos) /*!< 0x02000000 */ +#define ADC_SQR3_SQ14_2 (0x04U << ADC_SQR3_SQ14_Pos) /*!< 0x04000000 */ +#define ADC_SQR3_SQ14_3 (0x08U << ADC_SQR3_SQ14_Pos) /*!< 0x08000000 */ +#define ADC_SQR3_SQ14_4 (0x10U << ADC_SQR3_SQ14_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR4 register ********************/ +#define ADC_SQR4_SQ15_Pos (0U) +#define ADC_SQR4_SQ15_Msk (0x1FU << ADC_SQR4_SQ15_Pos) /*!< 0x0000001F */ +#define ADC_SQR4_SQ15 ADC_SQR4_SQ15_Msk /*!< ADC 15th conversion in regular sequence */ +#define ADC_SQR4_SQ15_0 (0x01U << ADC_SQR4_SQ15_Pos) /*!< 0x00000001 */ +#define ADC_SQR4_SQ15_1 (0x02U << ADC_SQR4_SQ15_Pos) /*!< 0x00000002 */ +#define ADC_SQR4_SQ15_2 (0x04U << ADC_SQR4_SQ15_Pos) /*!< 0x00000004 */ +#define ADC_SQR4_SQ15_3 (0x08U << ADC_SQR4_SQ15_Pos) /*!< 0x00000008 */ +#define ADC_SQR4_SQ15_4 (0x10U << ADC_SQR4_SQ15_Pos) /*!< 0x00000010 */ + +#define ADC_SQR4_SQ16_Pos (6U) +#define ADC_SQR4_SQ16_Msk (0x1FU << ADC_SQR4_SQ16_Pos) /*!< 0x000007C0 */ +#define ADC_SQR4_SQ16 ADC_SQR4_SQ16_Msk /*!< ADC 16th conversion in regular sequence */ +#define ADC_SQR4_SQ16_0 (0x01U << ADC_SQR4_SQ16_Pos) /*!< 0x00000040 */ +#define ADC_SQR4_SQ16_1 (0x02U << ADC_SQR4_SQ16_Pos) /*!< 0x00000080 */ +#define ADC_SQR4_SQ16_2 (0x04U << ADC_SQR4_SQ16_Pos) /*!< 0x00000100 */ +#define ADC_SQR4_SQ16_3 (0x08U << ADC_SQR4_SQ16_Pos) /*!< 0x00000200 */ +#define ADC_SQR4_SQ16_4 (0x10U << ADC_SQR4_SQ16_Pos) /*!< 0x00000400 */ +/******************** Bit definition for ADC_DR register ********************/ +#define ADC_DR_RDATA_Pos (0U) +#define ADC_DR_RDATA_Msk (0xFFFFFFFFU << ADC_DR_RDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_DR_RDATA ADC_DR_RDATA_Msk /*!< ADC regular Data converted */ +#define ADC_DR_RDATA_0 (0x00000001U << ADC_DR_RDATA_Pos) /*!< 0x00000001 */ +#define ADC_DR_RDATA_1 (0x00000002U << ADC_DR_RDATA_Pos) /*!< 0x00000002 */ +#define ADC_DR_RDATA_2 (0x00000004U << ADC_DR_RDATA_Pos) /*!< 0x00000004 */ +#define ADC_DR_RDATA_3 (0x00000008U << ADC_DR_RDATA_Pos) /*!< 0x00000008 */ +#define ADC_DR_RDATA_4 (0x00000010U << ADC_DR_RDATA_Pos) /*!< 0x00000010 */ +#define ADC_DR_RDATA_5 (0x00000020U << ADC_DR_RDATA_Pos) /*!< 0x00000020 */ +#define ADC_DR_RDATA_6 (0x00000040U << ADC_DR_RDATA_Pos) /*!< 0x00000040 */ +#define ADC_DR_RDATA_7 (0x00000080U << ADC_DR_RDATA_Pos) /*!< 0x00000080 */ +#define ADC_DR_RDATA_8 (0x00000100U << ADC_DR_RDATA_Pos) /*!< 0x00000100 */ +#define ADC_DR_RDATA_9 (0x00000200U << ADC_DR_RDATA_Pos) /*!< 0x00000200 */ +#define ADC_DR_RDATA_10 (0x00000400U << ADC_DR_RDATA_Pos) /*!< 0x00000400 */ +#define ADC_DR_RDATA_11 (0x00000800U << ADC_DR_RDATA_Pos) /*!< 0x00000800 */ +#define ADC_DR_RDATA_12 (0x00001000U << ADC_DR_RDATA_Pos) /*!< 0x00001000 */ +#define ADC_DR_RDATA_13 (0x00002000U << ADC_DR_RDATA_Pos) /*!< 0x00002000 */ +#define ADC_DR_RDATA_14 (0x00004000U << ADC_DR_RDATA_Pos) /*!< 0x00004000 */ +#define ADC_DR_RDATA_15 (0x00008000U << ADC_DR_RDATA_Pos) /*!< 0x00008000 */ +#define ADC_DR_RDATA_16 (0x00010000U << ADC_DR_RDATA_Pos) /*!< 0x00010000 */ +#define ADC_DR_RDATA_17 (0x00020000U << ADC_DR_RDATA_Pos) /*!< 0x00020000 */ +#define ADC_DR_RDATA_18 (0x00040000U << ADC_DR_RDATA_Pos) /*!< 0x00040000 */ +#define ADC_DR_RDATA_19 (0x00080000U << ADC_DR_RDATA_Pos) /*!< 0x00080000 */ +#define ADC_DR_RDATA_20 (0x00100000U << ADC_DR_RDATA_Pos) /*!< 0x00100000 */ +#define ADC_DR_RDATA_21 (0x00200000U << ADC_DR_RDATA_Pos) /*!< 0x00200000 */ +#define ADC_DR_RDATA_22 (0x00400000U << ADC_DR_RDATA_Pos) /*!< 0x00400000 */ +#define ADC_DR_RDATA_23 (0x00800000U << ADC_DR_RDATA_Pos) /*!< 0x00800000 */ +#define ADC_DR_RDATA_24 (0x01000000U << ADC_DR_RDATA_Pos) /*!< 0x01000000 */ +#define ADC_DR_RDATA_25 (0x02000000U << ADC_DR_RDATA_Pos) /*!< 0x02000000 */ +#define ADC_DR_RDATA_26 (0x04000000U << ADC_DR_RDATA_Pos) /*!< 0x04000000 */ +#define ADC_DR_RDATA_27 (0x08000000U << ADC_DR_RDATA_Pos) /*!< 0x08000000 */ +#define ADC_DR_RDATA_28 (0x10000000U << ADC_DR_RDATA_Pos) /*!< 0x10000000 */ +#define ADC_DR_RDATA_29 (0x20000000U << ADC_DR_RDATA_Pos) /*!< 0x20000000 */ +#define ADC_DR_RDATA_30 (0x40000000U << ADC_DR_RDATA_Pos) /*!< 0x40000000 */ +#define ADC_DR_RDATA_31 (0x80000000U << ADC_DR_RDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JSQR register ********************/ +#define ADC_JSQR_JL_Pos (0U) +#define ADC_JSQR_JL_Msk (0x3U << ADC_JSQR_JL_Pos) /*!< 0x00000003 */ +#define ADC_JSQR_JL ADC_JSQR_JL_Msk /*!< ADC injected channel sequence length */ +#define ADC_JSQR_JL_0 (0x1U << ADC_JSQR_JL_Pos) /*!< 0x00000001 */ +#define ADC_JSQR_JL_1 (0x2U << ADC_JSQR_JL_Pos) /*!< 0x00000002 */ + +#define ADC_JSQR_JEXTSEL_Pos (2U) +#define ADC_JSQR_JEXTSEL_Msk (0x1FU << ADC_JSQR_JEXTSEL_Pos) /*!< 0x0000007C */ +#define ADC_JSQR_JEXTSEL ADC_JSQR_JEXTSEL_Msk /*!< ADC external trigger selection for injected group */ +#define ADC_JSQR_JEXTSEL_0 (0x01U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000004 */ +#define ADC_JSQR_JEXTSEL_1 (0x02U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000008 */ +#define ADC_JSQR_JEXTSEL_2 (0x04U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000010 */ +#define ADC_JSQR_JEXTSEL_3 (0x08U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000020 */ +#define ADC_JSQR_JEXTSEL_4 (0x10U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000040 */ + +#define ADC_JSQR_JEXTEN_Pos (7U) +#define ADC_JSQR_JEXTEN_Msk (0x3U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000180 */ +#define ADC_JSQR_JEXTEN ADC_JSQR_JEXTEN_Msk /*!< ADC external trigger enable and polarity selection for injected channels */ +#define ADC_JSQR_JEXTEN_0 (0x1U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000080 */ +#define ADC_JSQR_JEXTEN_1 (0x2U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000100 */ + +#define ADC_JSQR_JSQ1_Pos (9U) +#define ADC_JSQR_JSQ1_Msk (0x1FU << ADC_JSQR_JSQ1_Pos) /*!< 0x00003E00 */ +#define ADC_JSQR_JSQ1 ADC_JSQR_JSQ1_Msk /*!< ADC 1st conversion in injected sequence */ +#define ADC_JSQR_JSQ1_0 (0x01U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000200 */ +#define ADC_JSQR_JSQ1_1 (0x02U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000400 */ +#define ADC_JSQR_JSQ1_2 (0x04U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000800 */ +#define ADC_JSQR_JSQ1_3 (0x08U << ADC_JSQR_JSQ1_Pos) /*!< 0x00001000 */ +#define ADC_JSQR_JSQ1_4 (0x10U << ADC_JSQR_JSQ1_Pos) /*!< 0x00002000 */ + +#define ADC_JSQR_JSQ2_Pos (15U) +#define ADC_JSQR_JSQ2_Msk (0x1FU << ADC_JSQR_JSQ2_Pos) /*!< 0x000F8000 */ +#define ADC_JSQR_JSQ2 ADC_JSQR_JSQ2_Msk /*!< ADC 2nd conversion in injected sequence */ +#define ADC_JSQR_JSQ2_0 (0x01U << ADC_JSQR_JSQ2_Pos) /*!< 0x00008000 */ +#define ADC_JSQR_JSQ2_1 (0x02U << ADC_JSQR_JSQ2_Pos) /*!< 0x00010000 */ +#define ADC_JSQR_JSQ2_2 (0x04U << ADC_JSQR_JSQ2_Pos) /*!< 0x00020000 */ +#define ADC_JSQR_JSQ2_3 (0x08U << ADC_JSQR_JSQ2_Pos) /*!< 0x00040000 */ +#define ADC_JSQR_JSQ2_4 (0x10U << ADC_JSQR_JSQ2_Pos) /*!< 0x00080000 */ + +#define ADC_JSQR_JSQ3_Pos (21U) +#define ADC_JSQR_JSQ3_Msk (0x1FU << ADC_JSQR_JSQ3_Pos) /*!< 0x03E00000 */ +#define ADC_JSQR_JSQ3 ADC_JSQR_JSQ3_Msk /*!< ADC 3rd conversion in injected sequence */ +#define ADC_JSQR_JSQ3_0 (0x01U << ADC_JSQR_JSQ3_Pos) /*!< 0x00200000 */ +#define ADC_JSQR_JSQ3_1 (0x02U << ADC_JSQR_JSQ3_Pos) /*!< 0x00400000 */ +#define ADC_JSQR_JSQ3_2 (0x04U << ADC_JSQR_JSQ3_Pos) /*!< 0x00800000 */ +#define ADC_JSQR_JSQ3_3 (0x08U << ADC_JSQR_JSQ3_Pos) /*!< 0x01000000 */ +#define ADC_JSQR_JSQ3_4 (0x10U << ADC_JSQR_JSQ3_Pos) /*!< 0x02000000 */ + +#define ADC_JSQR_JSQ4_Pos (27U) +#define ADC_JSQR_JSQ4_Msk (0x1FU << ADC_JSQR_JSQ4_Pos) /*!< 0xF8000000 */ +#define ADC_JSQR_JSQ4 ADC_JSQR_JSQ4_Msk /*!< ADC 4th conversion in injected sequence */ +#define ADC_JSQR_JSQ4_0 (0x01U << ADC_JSQR_JSQ4_Pos) /*!< 0x08000000 */ +#define ADC_JSQR_JSQ4_1 (0x02U << ADC_JSQR_JSQ4_Pos) /*!< 0x10000000 */ +#define ADC_JSQR_JSQ4_2 (0x04U << ADC_JSQR_JSQ4_Pos) /*!< 0x20000000 */ +#define ADC_JSQR_JSQ4_3 (0x08U << ADC_JSQR_JSQ4_Pos) /*!< 0x40000000 */ +#define ADC_JSQR_JSQ4_4 (0x10U << ADC_JSQR_JSQ4_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_OFR1 register ********************/ +#define ADC_OFR1_OFFSET1_Pos (0U) +#define ADC_OFR1_OFFSET1_Msk (0x3FFFFFFU << ADC_OFR1_OFFSET1_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR1_OFFSET1 ADC_OFR1_OFFSET1_Msk /*!< ADC data offset 1 for channel programmed into bits OFFSET1_CH[4:0] */ +#define ADC_OFR1_OFFSET1_0 (0x0000001U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000001 */ +#define ADC_OFR1_OFFSET1_1 (0x0000002U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000002 */ +#define ADC_OFR1_OFFSET1_2 (0x0000004U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000004 */ +#define ADC_OFR1_OFFSET1_3 (0x0000008U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000008 */ +#define ADC_OFR1_OFFSET1_4 (0x0000010U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000010 */ +#define ADC_OFR1_OFFSET1_5 (0x0000020U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000020 */ +#define ADC_OFR1_OFFSET1_6 (0x0000040U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000040 */ +#define ADC_OFR1_OFFSET1_7 (0x0000080U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000080 */ +#define ADC_OFR1_OFFSET1_8 (0x0000100U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000100 */ +#define ADC_OFR1_OFFSET1_9 (0x0000200U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000200 */ +#define ADC_OFR1_OFFSET1_10 (0x0000400U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000400 */ +#define ADC_OFR1_OFFSET1_11 (0x0000800U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000800 */ +#define ADC_OFR1_OFFSET1_12 (0x0001000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00001000 */ +#define ADC_OFR1_OFFSET1_13 (0x0002000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00002000 */ +#define ADC_OFR1_OFFSET1_14 (0x0004000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00004000 */ +#define ADC_OFR1_OFFSET1_15 (0x0008000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00008000 */ +#define ADC_OFR1_OFFSET1_16 (0x0010000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00010000 */ +#define ADC_OFR1_OFFSET1_17 (0x0020000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00020000 */ +#define ADC_OFR1_OFFSET1_18 (0x0040000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00040000 */ +#define ADC_OFR1_OFFSET1_19 (0x0080000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00080000 */ +#define ADC_OFR1_OFFSET1_20 (0x0100000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00100000 */ +#define ADC_OFR1_OFFSET1_21 (0x0200000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00200000 */ +#define ADC_OFR1_OFFSET1_22 (0x0400000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00400000 */ +#define ADC_OFR1_OFFSET1_23 (0x0800000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00800000 */ +#define ADC_OFR1_OFFSET1_24 (0x1000000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x01000000 */ +#define ADC_OFR1_OFFSET1_25 (0x2000000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x02000000 */ + +#define ADC_OFR1_OFFSET1_CH_Pos (26U) +#define ADC_OFR1_OFFSET1_CH_Msk (0x1FU << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR1_OFFSET1_CH ADC_OFR1_OFFSET1_CH_Msk /*!< ADC Channel selection for the data offset 1 */ +#define ADC_OFR1_OFFSET1_CH_0 (0x01U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR1_OFFSET1_CH_1 (0x02U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR1_OFFSET1_CH_2 (0x04U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR1_OFFSET1_CH_3 (0x08U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR1_OFFSET1_CH_4 (0x10U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR1_SSATE_Pos (31U) +#define ADC_OFR1_SSATE_Msk (0x1U << ADC_OFR1_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR1_SSATE ADC_OFR1_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR2 register ********************/ +#define ADC_OFR2_OFFSET2_Pos (0U) +#define ADC_OFR2_OFFSET2_Msk (0x3FFFFFFU << ADC_OFR2_OFFSET2_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR2_OFFSET2 ADC_OFR2_OFFSET2_Msk /*!< ADC data offset 2 for channel programmed into bits OFFSET2_CH[4:0] */ +#define ADC_OFR2_OFFSET2_0 (0x0000001U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000001 */ +#define ADC_OFR2_OFFSET2_1 (0x0000002U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000002 */ +#define ADC_OFR2_OFFSET2_2 (0x0000004U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000004 */ +#define ADC_OFR2_OFFSET2_3 (0x0000008U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000008 */ +#define ADC_OFR2_OFFSET2_4 (0x0000010U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000010 */ +#define ADC_OFR2_OFFSET2_5 (0x0000020U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000020 */ +#define ADC_OFR2_OFFSET2_6 (0x0000040U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000040 */ +#define ADC_OFR2_OFFSET2_7 (0x0000080U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000080 */ +#define ADC_OFR2_OFFSET2_8 (0x0000100U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000100 */ +#define ADC_OFR2_OFFSET2_9 (0x0000200U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000200 */ +#define ADC_OFR2_OFFSET2_10 (0x0000400U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000400 */ +#define ADC_OFR2_OFFSET2_11 (0x0000800U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000800 */ +#define ADC_OFR2_OFFSET2_12 (0x0001000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00001000 */ +#define ADC_OFR2_OFFSET2_13 (0x0002000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00002000 */ +#define ADC_OFR2_OFFSET2_14 (0x0004000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00004000 */ +#define ADC_OFR2_OFFSET2_15 (0x0008000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00008000 */ +#define ADC_OFR2_OFFSET2_16 (0x0010000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00010000 */ +#define ADC_OFR2_OFFSET2_17 (0x0020000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00020000 */ +#define ADC_OFR2_OFFSET2_18 (0x0040000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00040000 */ +#define ADC_OFR2_OFFSET2_19 (0x0080000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00080000 */ +#define ADC_OFR2_OFFSET2_20 (0x0100000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00100000 */ +#define ADC_OFR2_OFFSET2_21 (0x0200000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00200000 */ +#define ADC_OFR2_OFFSET2_22 (0x0400000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00400000 */ +#define ADC_OFR2_OFFSET2_23 (0x0800000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00800000 */ +#define ADC_OFR2_OFFSET2_24 (0x1000000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x01000000 */ +#define ADC_OFR2_OFFSET2_25 (0x2000000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x02000000 */ + +#define ADC_OFR2_OFFSET2_CH_Pos (26U) +#define ADC_OFR2_OFFSET2_CH_Msk (0x1FU << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR2_OFFSET2_CH ADC_OFR2_OFFSET2_CH_Msk /*!< ADC Channel selection for the data offset 2 */ +#define ADC_OFR2_OFFSET2_CH_0 (0x01U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR2_OFFSET2_CH_1 (0x02U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR2_OFFSET2_CH_2 (0x04U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR2_OFFSET2_CH_3 (0x08U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR2_OFFSET2_CH_4 (0x10U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR2_SSATE_Pos (31U) +#define ADC_OFR2_SSATE_Msk (0x1U << ADC_OFR2_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR2_SSATE ADC_OFR2_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR3 register ********************/ +#define ADC_OFR3_OFFSET3_Pos (0U) +#define ADC_OFR3_OFFSET3_Msk (0x3FFFFFFU << ADC_OFR3_OFFSET3_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR3_OFFSET3 ADC_OFR3_OFFSET3_Msk /*!< ADC data offset 3 for channel programmed into bits OFFSET3_CH[4:0] */ +#define ADC_OFR3_OFFSET3_0 (0x0000001U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000001 */ +#define ADC_OFR3_OFFSET3_1 (0x0000002U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000002 */ +#define ADC_OFR3_OFFSET3_2 (0x0000004U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000004 */ +#define ADC_OFR3_OFFSET3_3 (0x0000008U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000008 */ +#define ADC_OFR3_OFFSET3_4 (0x0000010U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000010 */ +#define ADC_OFR3_OFFSET3_5 (0x0000020U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000020 */ +#define ADC_OFR3_OFFSET3_6 (0x0000040U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000040 */ +#define ADC_OFR3_OFFSET3_7 (0x0000080U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000080 */ +#define ADC_OFR3_OFFSET3_8 (0x0000100U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000100 */ +#define ADC_OFR3_OFFSET3_9 (0x0000200U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000200 */ +#define ADC_OFR3_OFFSET3_10 (0x0000400U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000400 */ +#define ADC_OFR3_OFFSET3_11 (0x0000800U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000800 */ +#define ADC_OFR3_OFFSET3_12 (0x0001000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00001000 */ +#define ADC_OFR3_OFFSET3_13 (0x0002000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00002000 */ +#define ADC_OFR3_OFFSET3_14 (0x0004000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00004000 */ +#define ADC_OFR3_OFFSET3_15 (0x0008000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00008000 */ +#define ADC_OFR3_OFFSET3_16 (0x0010000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00010000 */ +#define ADC_OFR3_OFFSET3_17 (0x0020000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00020000 */ +#define ADC_OFR3_OFFSET3_18 (0x0040000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00040000 */ +#define ADC_OFR3_OFFSET3_19 (0x0080000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00080000 */ +#define ADC_OFR3_OFFSET3_20 (0x0100000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00100000 */ +#define ADC_OFR3_OFFSET3_21 (0x0200000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00200000 */ +#define ADC_OFR3_OFFSET3_22 (0x0400000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00400000 */ +#define ADC_OFR3_OFFSET3_23 (0x0800000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00800000 */ +#define ADC_OFR3_OFFSET3_24 (0x1000000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x01000000 */ +#define ADC_OFR3_OFFSET3_25 (0x2000000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x02000000 */ + +#define ADC_OFR3_OFFSET3_CH_Pos (26U) +#define ADC_OFR3_OFFSET3_CH_Msk (0x1FU << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR3_OFFSET3_CH ADC_OFR3_OFFSET3_CH_Msk /*!< ADC Channel selection for the data offset 3 */ +#define ADC_OFR3_OFFSET3_CH_0 (0x01U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR3_OFFSET3_CH_1 (0x02U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR3_OFFSET3_CH_2 (0x04U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR3_OFFSET3_CH_3 (0x08U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR3_OFFSET3_CH_4 (0x10U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR3_SSATE_Pos (31U) +#define ADC_OFR3_SSATE_Msk (0x1U << ADC_OFR3_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR3_SSATE ADC_OFR3_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR4 register ********************/ +#define ADC_OFR4_OFFSET4_Pos (0U) +#define ADC_OFR4_OFFSET4_Msk (0x3FFFFFFU << ADC_OFR4_OFFSET4_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR4_OFFSET4 ADC_OFR4_OFFSET4_Msk /*!< ADC data offset 4 for channel programmed into bits OFFSET4_CH[4:0] */ +#define ADC_OFR4_OFFSET4_0 (0x0000001U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000001 */ +#define ADC_OFR4_OFFSET4_1 (0x0000002U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000002 */ +#define ADC_OFR4_OFFSET4_2 (0x0000004U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000004 */ +#define ADC_OFR4_OFFSET4_3 (0x0000008U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000008 */ +#define ADC_OFR4_OFFSET4_4 (0x0000010U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000010 */ +#define ADC_OFR4_OFFSET4_5 (0x0000020U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000020 */ +#define ADC_OFR4_OFFSET4_6 (0x0000040U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000040 */ +#define ADC_OFR4_OFFSET4_7 (0x0000080U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000080 */ +#define ADC_OFR4_OFFSET4_8 (0x0000100U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000100 */ +#define ADC_OFR4_OFFSET4_9 (0x0000200U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000200 */ +#define ADC_OFR4_OFFSET4_10 (0x0000400U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000400 */ +#define ADC_OFR4_OFFSET4_11 (0x0000800U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000800 */ +#define ADC_OFR4_OFFSET4_12 (0x0001000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00001000 */ +#define ADC_OFR4_OFFSET4_13 (0x0002000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00002000 */ +#define ADC_OFR4_OFFSET4_14 (0x0004000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00004000 */ +#define ADC_OFR4_OFFSET4_15 (0x0008000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00008000 */ +#define ADC_OFR4_OFFSET4_16 (0x0010000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00010000 */ +#define ADC_OFR4_OFFSET4_17 (0x0020000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00020000 */ +#define ADC_OFR4_OFFSET4_18 (0x0040000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00040000 */ +#define ADC_OFR4_OFFSET4_19 (0x0080000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00080000 */ +#define ADC_OFR4_OFFSET4_20 (0x0100000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00100000 */ +#define ADC_OFR4_OFFSET4_21 (0x0200000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00200000 */ +#define ADC_OFR4_OFFSET4_22 (0x0400000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00400000 */ +#define ADC_OFR4_OFFSET4_23 (0x0800000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00800000 */ +#define ADC_OFR4_OFFSET4_24 (0x1000000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x01000000 */ +#define ADC_OFR4_OFFSET4_25 (0x2000000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x02000000 */ + +#define ADC_OFR4_OFFSET4_CH_Pos (26U) +#define ADC_OFR4_OFFSET4_CH_Msk (0x1FU << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR4_OFFSET4_CH ADC_OFR4_OFFSET4_CH_Msk /*!< ADC Channel selection for the data offset 4 */ +#define ADC_OFR4_OFFSET4_CH_0 (0x01U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR4_OFFSET4_CH_1 (0x02U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR4_OFFSET4_CH_2 (0x04U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR4_OFFSET4_CH_3 (0x08U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR4_OFFSET4_CH_4 (0x10U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR4_SSATE_Pos (31U) +#define ADC_OFR4_SSATE_Msk (0x1U << ADC_OFR4_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR4_SSATE ADC_OFR4_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_JDR1 register ********************/ +#define ADC_JDR1_JDATA_Pos (0U) +#define ADC_JDR1_JDATA_Msk (0xFFFFFFFFU << ADC_JDR1_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR1_JDATA ADC_JDR1_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR1_JDATA_0 (0x00000001U << ADC_JDR1_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR1_JDATA_1 (0x00000002U << ADC_JDR1_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR1_JDATA_2 (0x00000004U << ADC_JDR1_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR1_JDATA_3 (0x00000008U << ADC_JDR1_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR1_JDATA_4 (0x00000010U << ADC_JDR1_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR1_JDATA_5 (0x00000020U << ADC_JDR1_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR1_JDATA_6 (0x00000040U << ADC_JDR1_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR1_JDATA_7 (0x00000080U << ADC_JDR1_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR1_JDATA_8 (0x00000100U << ADC_JDR1_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR1_JDATA_9 (0x00000200U << ADC_JDR1_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR1_JDATA_10 (0x00000400U << ADC_JDR1_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR1_JDATA_11 (0x00000800U << ADC_JDR1_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR1_JDATA_12 (0x00001000U << ADC_JDR1_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR1_JDATA_13 (0x00002000U << ADC_JDR1_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR1_JDATA_14 (0x00004000U << ADC_JDR1_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR1_JDATA_15 (0x00008000U << ADC_JDR1_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR1_JDATA_16 (0x00010000U << ADC_JDR1_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR1_JDATA_17 (0x00020000U << ADC_JDR1_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR1_JDATA_18 (0x00040000U << ADC_JDR1_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR1_JDATA_19 (0x00080000U << ADC_JDR1_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR1_JDATA_20 (0x00100000U << ADC_JDR1_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR1_JDATA_21 (0x00200000U << ADC_JDR1_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR1_JDATA_22 (0x00400000U << ADC_JDR1_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR1_JDATA_23 (0x00800000U << ADC_JDR1_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR1_JDATA_24 (0x01000000U << ADC_JDR1_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR1_JDATA_25 (0x02000000U << ADC_JDR1_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR1_JDATA_26 (0x04000000U << ADC_JDR1_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR1_JDATA_27 (0x08000000U << ADC_JDR1_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR1_JDATA_28 (0x10000000U << ADC_JDR1_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR1_JDATA_29 (0x20000000U << ADC_JDR1_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR1_JDATA_30 (0x40000000U << ADC_JDR1_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR1_JDATA_31 (0x80000000U << ADC_JDR1_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR2 register ********************/ +#define ADC_JDR2_JDATA_Pos (0U) +#define ADC_JDR2_JDATA_Msk (0xFFFFFFFFU << ADC_JDR2_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR2_JDATA ADC_JDR2_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR2_JDATA_0 (0x00000001U << ADC_JDR2_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR2_JDATA_1 (0x00000002U << ADC_JDR2_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR2_JDATA_2 (0x00000004U << ADC_JDR2_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR2_JDATA_3 (0x00000008U << ADC_JDR2_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR2_JDATA_4 (0x00000010U << ADC_JDR2_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR2_JDATA_5 (0x00000020U << ADC_JDR2_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR2_JDATA_6 (0x00000040U << ADC_JDR2_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR2_JDATA_7 (0x00000080U << ADC_JDR2_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR2_JDATA_8 (0x00000100U << ADC_JDR2_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR2_JDATA_9 (0x00000200U << ADC_JDR2_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR2_JDATA_10 (0x00000400U << ADC_JDR2_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR2_JDATA_11 (0x00000800U << ADC_JDR2_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR2_JDATA_12 (0x00001000U << ADC_JDR2_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR2_JDATA_13 (0x00002000U << ADC_JDR2_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR2_JDATA_14 (0x00004000U << ADC_JDR2_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR2_JDATA_15 (0x00008000U << ADC_JDR2_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR2_JDATA_16 (0x00010000U << ADC_JDR2_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR2_JDATA_17 (0x00020000U << ADC_JDR2_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR2_JDATA_18 (0x00040000U << ADC_JDR2_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR2_JDATA_19 (0x00080000U << ADC_JDR2_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR2_JDATA_20 (0x00100000U << ADC_JDR2_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR2_JDATA_21 (0x00200000U << ADC_JDR2_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR2_JDATA_22 (0x00400000U << ADC_JDR2_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR2_JDATA_23 (0x00800000U << ADC_JDR2_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR2_JDATA_24 (0x01000000U << ADC_JDR2_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR2_JDATA_25 (0x02000000U << ADC_JDR2_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR2_JDATA_26 (0x04000000U << ADC_JDR2_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR2_JDATA_27 (0x08000000U << ADC_JDR2_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR2_JDATA_28 (0x10000000U << ADC_JDR2_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR2_JDATA_29 (0x20000000U << ADC_JDR2_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR2_JDATA_30 (0x40000000U << ADC_JDR2_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR2_JDATA_31 (0x80000000U << ADC_JDR2_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR3 register ********************/ +#define ADC_JDR3_JDATA_Pos (0U) +#define ADC_JDR3_JDATA_Msk (0xFFFFFFFFU << ADC_JDR3_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR3_JDATA ADC_JDR3_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR3_JDATA_0 (0x00000001U << ADC_JDR3_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR3_JDATA_1 (0x00000002U << ADC_JDR3_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR3_JDATA_2 (0x00000004U << ADC_JDR3_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR3_JDATA_3 (0x00000008U << ADC_JDR3_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR3_JDATA_4 (0x00000010U << ADC_JDR3_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR3_JDATA_5 (0x00000020U << ADC_JDR3_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR3_JDATA_6 (0x00000040U << ADC_JDR3_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR3_JDATA_7 (0x00000080U << ADC_JDR3_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR3_JDATA_8 (0x00000100U << ADC_JDR3_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR3_JDATA_9 (0x00000200U << ADC_JDR3_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR3_JDATA_10 (0x00000400U << ADC_JDR3_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR3_JDATA_11 (0x00000800U << ADC_JDR3_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR3_JDATA_12 (0x00001000U << ADC_JDR3_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR3_JDATA_13 (0x00002000U << ADC_JDR3_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR3_JDATA_14 (0x00004000U << ADC_JDR3_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR3_JDATA_15 (0x00008000U << ADC_JDR3_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR3_JDATA_16 (0x00010000U << ADC_JDR3_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR3_JDATA_17 (0x00020000U << ADC_JDR3_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR3_JDATA_18 (0x00040000U << ADC_JDR3_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR3_JDATA_19 (0x00080000U << ADC_JDR3_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR3_JDATA_20 (0x00100000U << ADC_JDR3_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR3_JDATA_21 (0x00200000U << ADC_JDR3_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR3_JDATA_22 (0x00400000U << ADC_JDR3_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR3_JDATA_23 (0x00800000U << ADC_JDR3_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR3_JDATA_24 (0x01000000U << ADC_JDR3_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR3_JDATA_25 (0x02000000U << ADC_JDR3_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR3_JDATA_26 (0x04000000U << ADC_JDR3_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR3_JDATA_27 (0x08000000U << ADC_JDR3_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR3_JDATA_28 (0x10000000U << ADC_JDR3_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR3_JDATA_29 (0x20000000U << ADC_JDR3_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR3_JDATA_30 (0x40000000U << ADC_JDR3_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR3_JDATA_31 (0x80000000U << ADC_JDR3_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR4 register ********************/ +#define ADC_JDR4_JDATA_Pos (0U) +#define ADC_JDR4_JDATA_Msk (0xFFFFFFFFU << ADC_JDR4_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR4_JDATA ADC_JDR4_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR4_JDATA_0 (0x00000001U << ADC_JDR4_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR4_JDATA_1 (0x00000002U << ADC_JDR4_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR4_JDATA_2 (0x00000004U << ADC_JDR4_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR4_JDATA_3 (0x00000008U << ADC_JDR4_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR4_JDATA_4 (0x00000010U << ADC_JDR4_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR4_JDATA_5 (0x00000020U << ADC_JDR4_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR4_JDATA_6 (0x00000040U << ADC_JDR4_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR4_JDATA_7 (0x00000080U << ADC_JDR4_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR4_JDATA_8 (0x00000100U << ADC_JDR4_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR4_JDATA_9 (0x00000200U << ADC_JDR4_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR4_JDATA_10 (0x00000400U << ADC_JDR4_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR4_JDATA_11 (0x00000800U << ADC_JDR4_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR4_JDATA_12 (0x00001000U << ADC_JDR4_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR4_JDATA_13 (0x00002000U << ADC_JDR4_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR4_JDATA_14 (0x00004000U << ADC_JDR4_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR4_JDATA_15 (0x00008000U << ADC_JDR4_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR4_JDATA_16 (0x00010000U << ADC_JDR4_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR4_JDATA_17 (0x00020000U << ADC_JDR4_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR4_JDATA_18 (0x00040000U << ADC_JDR4_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR4_JDATA_19 (0x00080000U << ADC_JDR4_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR4_JDATA_20 (0x00100000U << ADC_JDR4_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR4_JDATA_21 (0x00200000U << ADC_JDR4_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR4_JDATA_22 (0x00400000U << ADC_JDR4_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR4_JDATA_23 (0x00800000U << ADC_JDR4_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR4_JDATA_24 (0x01000000U << ADC_JDR4_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR4_JDATA_25 (0x02000000U << ADC_JDR4_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR4_JDATA_26 (0x04000000U << ADC_JDR4_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR4_JDATA_27 (0x08000000U << ADC_JDR4_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR4_JDATA_28 (0x10000000U << ADC_JDR4_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR4_JDATA_29 (0x20000000U << ADC_JDR4_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR4_JDATA_30 (0x40000000U << ADC_JDR4_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR4_JDATA_31 (0x80000000U << ADC_JDR4_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_AWD2CR register ********************/ +#define ADC_AWD2CR_AWD2CH_Pos (0U) +#define ADC_AWD2CR_AWD2CH_Msk (0xFFFFFU << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x000FFFFF */ +#define ADC_AWD2CR_AWD2CH ADC_AWD2CR_AWD2CH_Msk /*!< ADC Analog watchdog 2 channel selection */ +#define ADC_AWD2CR_AWD2CH_0 (0x00001U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000001 */ +#define ADC_AWD2CR_AWD2CH_1 (0x00002U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000002 */ +#define ADC_AWD2CR_AWD2CH_2 (0x00004U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000004 */ +#define ADC_AWD2CR_AWD2CH_3 (0x00008U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000008 */ +#define ADC_AWD2CR_AWD2CH_4 (0x00010U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000010 */ +#define ADC_AWD2CR_AWD2CH_5 (0x00020U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000020 */ +#define ADC_AWD2CR_AWD2CH_6 (0x00040U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000040 */ +#define ADC_AWD2CR_AWD2CH_7 (0x00080U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000080 */ +#define ADC_AWD2CR_AWD2CH_8 (0x00100U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000100 */ +#define ADC_AWD2CR_AWD2CH_9 (0x00200U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000200 */ +#define ADC_AWD2CR_AWD2CH_10 (0x00400U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000400 */ +#define ADC_AWD2CR_AWD2CH_11 (0x00800U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000800 */ +#define ADC_AWD2CR_AWD2CH_12 (0x01000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00001000 */ +#define ADC_AWD2CR_AWD2CH_13 (0x02000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00002000 */ +#define ADC_AWD2CR_AWD2CH_14 (0x04000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00004000 */ +#define ADC_AWD2CR_AWD2CH_15 (0x08000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00008000 */ +#define ADC_AWD2CR_AWD2CH_16 (0x10000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00010000 */ +#define ADC_AWD2CR_AWD2CH_17 (0x20000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00020000 */ +#define ADC_AWD2CR_AWD2CH_18 (0x40000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00040000 */ +#define ADC_AWD2CR_AWD2CH_19 (0x80000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_AWD3CR register ********************/ +#define ADC_AWD3CR_AWD3CH_Pos (0U) +#define ADC_AWD3CR_AWD3CH_Msk (0xFFFFFU << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x000FFFFF */ +#define ADC_AWD3CR_AWD3CH ADC_AWD3CR_AWD3CH_Msk /*!< ADC Analog watchdog 2 channel selection */ +#define ADC_AWD3CR_AWD3CH_0 (0x00001U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000001 */ +#define ADC_AWD3CR_AWD3CH_1 (0x00002U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000002 */ +#define ADC_AWD3CR_AWD3CH_2 (0x00004U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000004 */ +#define ADC_AWD3CR_AWD3CH_3 (0x00008U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000008 */ +#define ADC_AWD3CR_AWD3CH_4 (0x00010U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000010 */ +#define ADC_AWD3CR_AWD3CH_5 (0x00020U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000020 */ +#define ADC_AWD3CR_AWD3CH_6 (0x00040U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000040 */ +#define ADC_AWD3CR_AWD3CH_7 (0x00080U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000080 */ +#define ADC_AWD3CR_AWD3CH_8 (0x00100U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000100 */ +#define ADC_AWD3CR_AWD3CH_9 (0x00200U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000200 */ +#define ADC_AWD3CR_AWD3CH_10 (0x00400U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000400 */ +#define ADC_AWD3CR_AWD3CH_11 (0x00800U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000800 */ +#define ADC_AWD3CR_AWD3CH_12 (0x01000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00001000 */ +#define ADC_AWD3CR_AWD3CH_13 (0x02000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00002000 */ +#define ADC_AWD3CR_AWD3CH_14 (0x04000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00004000 */ +#define ADC_AWD3CR_AWD3CH_15 (0x08000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00008000 */ +#define ADC_AWD3CR_AWD3CH_16 (0x10000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00010000 */ +#define ADC_AWD3CR_AWD3CH_17 (0x20000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00020000 */ +#define ADC_AWD3CR_AWD3CH_18 (0x40000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00040000 */ +#define ADC_AWD3CR_AWD3CH_19 (0x80000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_DIFSEL register ********************/ +#define ADC_DIFSEL_DIFSEL_Pos (0U) +#define ADC_DIFSEL_DIFSEL_Msk (0xFFFFFU << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x000FFFFF */ +#define ADC_DIFSEL_DIFSEL ADC_DIFSEL_DIFSEL_Msk /*!< ADC differential modes for channels 1 to 18 */ +#define ADC_DIFSEL_DIFSEL_0 (0x00001U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000001 */ +#define ADC_DIFSEL_DIFSEL_1 (0x00002U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000002 */ +#define ADC_DIFSEL_DIFSEL_2 (0x00004U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000004 */ +#define ADC_DIFSEL_DIFSEL_3 (0x00008U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000008 */ +#define ADC_DIFSEL_DIFSEL_4 (0x00010U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000010 */ +#define ADC_DIFSEL_DIFSEL_5 (0x00020U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000020 */ +#define ADC_DIFSEL_DIFSEL_6 (0x00040U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000040 */ +#define ADC_DIFSEL_DIFSEL_7 (0x00080U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000080 */ +#define ADC_DIFSEL_DIFSEL_8 (0x00100U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000100 */ +#define ADC_DIFSEL_DIFSEL_9 (0x00200U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000200 */ +#define ADC_DIFSEL_DIFSEL_10 (0x00400U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000400 */ +#define ADC_DIFSEL_DIFSEL_11 (0x00800U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000800 */ +#define ADC_DIFSEL_DIFSEL_12 (0x01000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00001000 */ +#define ADC_DIFSEL_DIFSEL_13 (0x02000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00002000 */ +#define ADC_DIFSEL_DIFSEL_14 (0x04000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00004000 */ +#define ADC_DIFSEL_DIFSEL_15 (0x08000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00008000 */ +#define ADC_DIFSEL_DIFSEL_16 (0x10000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00010000 */ +#define ADC_DIFSEL_DIFSEL_17 (0x20000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00020000 */ +#define ADC_DIFSEL_DIFSEL_18 (0x40000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00040000 */ +#define ADC_DIFSEL_DIFSEL_19 (0x80000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_CALFACT register ********************/ +#define ADC_CALFACT_CALFACT_S_Pos (0U) +#define ADC_CALFACT_CALFACT_S_Msk (0x7FFU << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x000007FF */ +#define ADC_CALFACT_CALFACT_S ADC_CALFACT_CALFACT_S_Msk /*!< ADC calibration factors in single-ended mode */ +#define ADC_CALFACT_CALFACT_S_0 (0x001U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000001 */ +#define ADC_CALFACT_CALFACT_S_1 (0x002U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000002 */ +#define ADC_CALFACT_CALFACT_S_2 (0x004U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000004 */ +#define ADC_CALFACT_CALFACT_S_3 (0x008U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000008 */ +#define ADC_CALFACT_CALFACT_S_4 (0x010U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000010 */ +#define ADC_CALFACT_CALFACT_S_5 (0x020U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000020 */ +#define ADC_CALFACT_CALFACT_S_6 (0x040U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000040 */ +#define ADC_CALFACT_CALFACT_S_7 (0x080U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000080 */ +#define ADC_CALFACT_CALFACT_S_8 (0x100U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000100 */ +#define ADC_CALFACT_CALFACT_S_9 (0x200U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000200 */ +#define ADC_CALFACT_CALFACT_S_10 (0x400U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000400 */ +#define ADC_CALFACT_CALFACT_D_Pos (16U) +#define ADC_CALFACT_CALFACT_D_Msk (0x7FFU << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x07FF0000 */ +#define ADC_CALFACT_CALFACT_D ADC_CALFACT_CALFACT_D_Msk /*!< ADC calibration factors in differential mode */ +#define ADC_CALFACT_CALFACT_D_0 (0x001U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00010000 */ +#define ADC_CALFACT_CALFACT_D_1 (0x002U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00020000 */ +#define ADC_CALFACT_CALFACT_D_2 (0x004U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00040000 */ +#define ADC_CALFACT_CALFACT_D_3 (0x008U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00080000 */ +#define ADC_CALFACT_CALFACT_D_4 (0x010U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00100000 */ +#define ADC_CALFACT_CALFACT_D_5 (0x020U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00200000 */ +#define ADC_CALFACT_CALFACT_D_6 (0x040U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00400000 */ +#define ADC_CALFACT_CALFACT_D_7 (0x080U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00800000 */ +#define ADC_CALFACT_CALFACT_D_8 (0x100U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x01000000 */ +#define ADC_CALFACT_CALFACT_D_9 (0x200U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x02000000 */ +#define ADC_CALFACT_CALFACT_D_10 (0x400U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x04000000 */ + +/******************** Bit definition for ADC_CALFACT2 register ********************/ +#define ADC_CALFACT2_LINCALFACT_Pos (0U) +#define ADC_CALFACT2_LINCALFACT_Msk (0x3FFFFFFFU << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x3FFFFFFF */ +#define ADC_CALFACT2_LINCALFACT ADC_CALFACT2_LINCALFACT_Msk /*!< ADC Linearity calibration factors */ +#define ADC_CALFACT2_LINCALFACT_0 (0x00000001U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000001 */ +#define ADC_CALFACT2_LINCALFACT_1 (0x00000002U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000002 */ +#define ADC_CALFACT2_LINCALFACT_2 (0x00000004U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000004 */ +#define ADC_CALFACT2_LINCALFACT_3 (0x00000008U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000008 */ +#define ADC_CALFACT2_LINCALFACT_4 (0x00000010U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000010 */ +#define ADC_CALFACT2_LINCALFACT_5 (0x00000020U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000020 */ +#define ADC_CALFACT2_LINCALFACT_6 (0x00000040U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000040 */ +#define ADC_CALFACT2_LINCALFACT_7 (0x00000080U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000080 */ +#define ADC_CALFACT2_LINCALFACT_8 (0x00000100U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000100 */ +#define ADC_CALFACT2_LINCALFACT_9 (0x00000200U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000200 */ +#define ADC_CALFACT2_LINCALFACT_10 (0x00000400U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000400 */ +#define ADC_CALFACT2_LINCALFACT_11 (0x00000800U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000800 */ +#define ADC_CALFACT2_LINCALFACT_12 (0x00001000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00001000 */ +#define ADC_CALFACT2_LINCALFACT_13 (0x00002000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00002000 */ +#define ADC_CALFACT2_LINCALFACT_14 (0x00004000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00004000 */ +#define ADC_CALFACT2_LINCALFACT_15 (0x00008000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00008000 */ +#define ADC_CALFACT2_LINCALFACT_16 (0x00010000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00010000 */ +#define ADC_CALFACT2_LINCALFACT_17 (0x00020000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00020000 */ +#define ADC_CALFACT2_LINCALFACT_18 (0x00040000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00040000 */ +#define ADC_CALFACT2_LINCALFACT_19 (0x00080000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00080000 */ +#define ADC_CALFACT2_LINCALFACT_20 (0x00100000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00100000 */ +#define ADC_CALFACT2_LINCALFACT_21 (0x00200000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00200000 */ +#define ADC_CALFACT2_LINCALFACT_22 (0x00400000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00400000 */ +#define ADC_CALFACT2_LINCALFACT_23 (0x00800000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00800000 */ +#define ADC_CALFACT2_LINCALFACT_24 (0x01000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x01000000 */ +#define ADC_CALFACT2_LINCALFACT_25 (0x02000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x02000000 */ +#define ADC_CALFACT2_LINCALFACT_26 (0x04000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x04000000 */ +#define ADC_CALFACT2_LINCALFACT_27 (0x08000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x08000000 */ +#define ADC_CALFACT2_LINCALFACT_28 (0x10000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x10000000 */ +#define ADC_CALFACT2_LINCALFACT_29 (0x20000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x20000000 */ + +/************************* ADC Common registers *****************************/ +/******************** Bit definition for ADC_CSR register ********************/ +#define ADC123_CSR_ADRDY_MST_Pos (0U) +#define ADC123_CSR_ADRDY_MST_Msk (0x1U << ADC123_CSR_ADRDY_MST_Pos) /*!< 0x00000001 */ +#define ADC123_CSR_ADRDY_MST ADC123_CSR_ADRDY_MST_Msk /*!< Master ADC ready */ +#define ADC123_CSR_EOSMP_MST_Pos (1U) +#define ADC123_CSR_EOSMP_MST_Msk (0x1U << ADC123_CSR_EOSMP_MST_Pos) /*!< 0x00000002 */ +#define ADC123_CSR_EOSMP_MST ADC123_CSR_EOSMP_MST_Msk /*!< End of sampling phase flag of the master ADC */ +#define ADC123_CSR_EOC_MST_Pos (2U) +#define ADC123_CSR_EOC_MST_Msk (0x1U << ADC123_CSR_EOC_MST_Pos) /*!< 0x00000004 */ +#define ADC123_CSR_EOC_MST ADC123_CSR_EOC_MST_Msk /*!< End of regular conversion of the master ADC */ +#define ADC123_CSR_EOS_MST_Pos (3U) +#define ADC123_CSR_EOS_MST_Msk (0x1U << ADC123_CSR_EOS_MST_Pos) /*!< 0x00000008 */ +#define ADC123_CSR_EOS_MST ADC123_CSR_EOS_MST_Msk /*!< End of regular sequence flag of the master ADC */ +#define ADC123_CSR_OVR_MST_Pos (4U) +#define ADC123_CSR_OVR_MST_Msk (0x1U << ADC123_CSR_OVR_MST_Pos) /*!< 0x00000010 */ +#define ADC123_CSR_OVR_MST ADC123_CSR_OVR_MST_Msk /*!< Overrun flag of the master ADC */ +#define ADC123_CSR_JEOC_MST_Pos (5U) +#define ADC123_CSR_JEOC_MST_Msk (0x1U << ADC123_CSR_JEOC_MST_Pos) /*!< 0x00000020 */ +#define ADC123_CSR_JEOC_MST ADC123_CSR_JEOC_MST_Msk /*!< End of injected conversion of the master ADC */ +#define ADC123_CSR_JEOS_MST_Pos (6U) +#define ADC123_CSR_JEOS_MST_Msk (0x1U << ADC123_CSR_JEOS_MST_Pos) /*!< 0x00000040 */ +#define ADC123_CSR_JEOS_MST ADC123_CSR_JEOS_MST_Msk /*!< End of injected sequence flag of the master ADC */ +#define ADC123_CSR_AWD1_MST_Pos (7U) +#define ADC123_CSR_AWD1_MST_Msk (0x1U << ADC123_CSR_AWD1_MST_Pos) /*!< 0x00000080 */ +#define ADC123_CSR_AWD1_MST ADC123_CSR_AWD1_MST_Msk /*!< Analog watchdog 1 flag of the master ADC */ +#define ADC123_CSR_AWD2_MST_Pos (8U) +#define ADC123_CSR_AWD2_MST_Msk (0x1U << ADC123_CSR_AWD2_MST_Pos) /*!< 0x00000100 */ +#define ADC123_CSR_AWD2_MST ADC123_CSR_AWD2_MST_Msk /*!< Analog watchdog 2 flag of the master ADC */ +#define ADC123_CSR_AWD3_MST_Pos (9U) +#define ADC123_CSR_AWD3_MST_Msk (0x1U << ADC123_CSR_AWD3_MST_Pos) /*!< 0x00000200 */ +#define ADC123_CSR_AWD3_MST ADC123_CSR_AWD3_MST_Msk /*!< Analog watchdog 3 flag of the master ADC */ +#define ADC123_CSR_JQOVF_MST_Pos (10U) +#define ADC123_CSR_JQOVF_MST_Msk (0x1U << ADC123_CSR_JQOVF_MST_Pos) /*!< 0x00000400 */ +#define ADC123_CSR_JQOVF_MST ADC123_CSR_JQOVF_MST_Msk /*!< Injected context queue overflow flag of the master ADC */ +#define ADC123_CSR_ADRDY_SLV_Pos (16U) +#define ADC123_CSR_ADRDY_SLV_Msk (0x1U << ADC123_CSR_ADRDY_SLV_Pos) /*!< 0x00010000 */ +#define ADC123_CSR_ADRDY_SLV ADC123_CSR_ADRDY_SLV_Msk /*!< Slave ADC ready */ +#define ADC123_CSR_EOSMP_SLV_Pos (17U) +#define ADC123_CSR_EOSMP_SLV_Msk (0x1U << ADC123_CSR_EOSMP_SLV_Pos) /*!< 0x00020000 */ +#define ADC123_CSR_EOSMP_SLV ADC123_CSR_EOSMP_SLV_Msk /*!< End of sampling phase flag of the slave ADC */ +#define ADC123_CSR_EOC_SLV_Pos (18U) +#define ADC123_CSR_EOC_SLV_Msk (0x1U << ADC123_CSR_EOC_SLV_Pos) /*!< 0x00040000 */ +#define ADC123_CSR_EOC_SLV ADC123_CSR_EOC_SLV_Msk /*!< End of regular conversion of the slave ADC */ +#define ADC123_CSR_EOS_SLV_Pos (19U) +#define ADC123_CSR_EOS_SLV_Msk (0x1U << ADC123_CSR_EOS_SLV_Pos) /*!< 0x00080000 */ +#define ADC123_CSR_EOS_SLV ADC123_CSR_EOS_SLV_Msk /*!< End of regular sequence flag of the slave ADC */ +#define ADC123_CSR_OVR_SLV_Pos (20U) +#define ADC123_CSR_OVR_SLV_Msk (0x1U << ADC123_CSR_OVR_SLV_Pos) /*!< 0x00100000 */ +#define ADC123_CSR_OVR_SLV ADC123_CSR_OVR_SLV_Msk /*!< Overrun flag of the slave ADC */ +#define ADC123_CSR_JEOC_SLV_Pos (21U) +#define ADC123_CSR_JEOC_SLV_Msk (0x1U << ADC123_CSR_JEOC_SLV_Pos) /*!< 0x00200000 */ +#define ADC123_CSR_JEOC_SLV ADC123_CSR_JEOC_SLV_Msk /*!< End of injected conversion of the slave ADC */ +#define ADC123_CSR_JEOS_SLV_Pos (22U) +#define ADC123_CSR_JEOS_SLV_Msk (0x1U << ADC123_CSR_JEOS_SLV_Pos) /*!< 0x00400000 */ +#define ADC123_CSR_JEOS_SLV ADC123_CSR_JEOS_SLV_Msk /*!< End of injected sequence flag of the slave ADC */ +#define ADC123_CSR_AWD1_SLV_Pos (23U) +#define ADC123_CSR_AWD1_SLV_Msk (0x1U << ADC123_CSR_AWD1_SLV_Pos) /*!< 0x00800000 */ +#define ADC123_CSR_AWD1_SLV ADC123_CSR_AWD1_SLV_Msk /*!< Analog watchdog 1 flag of the slave ADC */ +#define ADC123_CSR_AWD2_SLV_Pos (24U) +#define ADC123_CSR_AWD2_SLV_Msk (0x1U << ADC123_CSR_AWD2_SLV_Pos) /*!< 0x01000000 */ +#define ADC123_CSR_AWD2_SLV ADC123_CSR_AWD2_SLV_Msk /*!< Analog watchdog 2 flag of the slave ADC */ +#define ADC123_CSR_AWD3_SLV_Pos (25U) +#define ADC123_CSR_AWD3_SLV_Msk (0x1U << ADC123_CSR_AWD3_SLV_Pos) /*!< 0x02000000 */ +#define ADC123_CSR_AWD3_SLV ADC123_CSR_AWD3_SLV_Msk /*!< Analog watchdog 3 flag of the slave ADC */ +#define ADC123_CSR_JQOVF_SLV_Pos (26U) +#define ADC123_CSR_JQOVF_SLV_Msk (0x1U << ADC123_CSR_JQOVF_SLV_Pos) /*!< 0x04000000 */ +#define ADC123_CSR_JQOVF_SLV ADC123_CSR_JQOVF_SLV_Msk /*!< Injected context queue overflow flag of the slave ADC */ + +/******************** Bit definition for ADC_CCR register ********************/ +#define ADC_CCR_DUAL_Pos (0U) +#define ADC_CCR_DUAL_Msk (0x1FU << ADC_CCR_DUAL_Pos) /*!< 0x0000001F */ +#define ADC_CCR_DUAL ADC_CCR_DUAL_Msk /*!< Dual ADC mode selection */ +#define ADC_CCR_DUAL_0 (0x01U << ADC_CCR_DUAL_Pos) /*!< 0x00000001 */ +#define ADC_CCR_DUAL_1 (0x02U << ADC_CCR_DUAL_Pos) /*!< 0x00000002 */ +#define ADC_CCR_DUAL_2 (0x04U << ADC_CCR_DUAL_Pos) /*!< 0x00000004 */ +#define ADC_CCR_DUAL_3 (0x08U << ADC_CCR_DUAL_Pos) /*!< 0x00000008 */ +#define ADC_CCR_DUAL_4 (0x10U << ADC_CCR_DUAL_Pos) /*!< 0x00000010 */ + +#define ADC_CCR_DELAY_Pos (8U) +#define ADC_CCR_DELAY_Msk (0xFU << ADC_CCR_DELAY_Pos) /*!< 0x00000F00 */ +#define ADC_CCR_DELAY ADC_CCR_DELAY_Msk /*!< Delay between 2 sampling phases */ +#define ADC_CCR_DELAY_0 (0x1U << ADC_CCR_DELAY_Pos) /*!< 0x00000100 */ +#define ADC_CCR_DELAY_1 (0x2U << ADC_CCR_DELAY_Pos) /*!< 0x00000200 */ +#define ADC_CCR_DELAY_2 (0x4U << ADC_CCR_DELAY_Pos) /*!< 0x00000400 */ +#define ADC_CCR_DELAY_3 (0x8U << ADC_CCR_DELAY_Pos) /*!< 0x00000800 */ + + +#define ADC_CCR_DAMDF_Pos (14U) +#define ADC_CCR_DAMDF_Msk (0x3U << ADC_CCR_DAMDF_Pos) /*!< 0x0000C000 */ +#define ADC_CCR_DAMDF ADC_CCR_DAMDF_Msk /*!< Dual ADC mode Data format */ +#define ADC_CCR_DAMDF_0 (0x1U << ADC_CCR_DAMDF_Pos) /*!< 0x00004000 */ +#define ADC_CCR_DAMDF_1 (0x2U << ADC_CCR_DAMDF_Pos) /*!< 0x00008000 */ + +#define ADC_CCR_CKMODE_Pos (16U) +#define ADC_CCR_CKMODE_Msk (0x3U << ADC_CCR_CKMODE_Pos) /*!< 0x00030000 */ +#define ADC_CCR_CKMODE ADC_CCR_CKMODE_Msk /*!< ADC clock mode */ +#define ADC_CCR_CKMODE_0 (0x1U << ADC_CCR_CKMODE_Pos) /*!< 0x00010000 */ +#define ADC_CCR_CKMODE_1 (0x2U << ADC_CCR_CKMODE_Pos) /*!< 0x00020000 */ + +#define ADC_CCR_PRESC_Pos (18U) +#define ADC_CCR_PRESC_Msk (0xFU << ADC_CCR_PRESC_Pos) /*!< 0x003C0000 */ +#define ADC_CCR_PRESC ADC_CCR_PRESC_Msk /*!< ADC prescaler */ +#define ADC_CCR_PRESC_0 (0x1U << ADC_CCR_PRESC_Pos) /*!< 0x00040000 */ +#define ADC_CCR_PRESC_1 (0x2U << ADC_CCR_PRESC_Pos) /*!< 0x00080000 */ +#define ADC_CCR_PRESC_2 (0x4U << ADC_CCR_PRESC_Pos) /*!< 0x00100000 */ +#define ADC_CCR_PRESC_3 (0x8U << ADC_CCR_PRESC_Pos) /*!< 0x00200000 */ + +#define ADC_CCR_VREFEN_Pos (22U) +#define ADC_CCR_VREFEN_Msk (0x1U << ADC_CCR_VREFEN_Pos) /*!< 0x00400000 */ +#define ADC_CCR_VREFEN ADC_CCR_VREFEN_Msk /*!< VREFINT enable */ +#define ADC_CCR_TSEN_Pos (23U) +#define ADC_CCR_TSEN_Msk (0x1U << ADC_CCR_TSEN_Pos) /*!< 0x00800000 */ +#define ADC_CCR_TSEN ADC_CCR_TSEN_Msk /*!< Temperature sensor enable */ +#define ADC_CCR_VBATEN_Pos (24U) +#define ADC_CCR_VBATEN_Msk (0x1U << ADC_CCR_VBATEN_Pos) /*!< 0x01000000 */ +#define ADC_CCR_VBATEN ADC_CCR_VBATEN_Msk /*!< VBAT enable */ + +/******************** Bit definition for ADC_CDR register ********************/ +#define ADC123_CDR_RDATA_MST_Pos (0U) +#define ADC123_CDR_RDATA_MST_Msk (0xFFFFU << ADC123_CDR_RDATA_MST_Pos) /*!< 0x0000FFFF */ +#define ADC123_CDR_RDATA_MST ADC123_CDR_RDATA_MST_Msk /*!< Regular Data of the master ADC */ +#define ADC123_CDR_RDATA_MST_0 (0x0001U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000001 */ +#define ADC123_CDR_RDATA_MST_1 (0x0002U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000002 */ +#define ADC123_CDR_RDATA_MST_2 (0x0004U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000004 */ +#define ADC123_CDR_RDATA_MST_3 (0x0008U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000008 */ +#define ADC123_CDR_RDATA_MST_4 (0x0010U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000010 */ +#define ADC123_CDR_RDATA_MST_5 (0x0020U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000020 */ +#define ADC123_CDR_RDATA_MST_6 (0x0040U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000040 */ +#define ADC123_CDR_RDATA_MST_7 (0x0080U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000080 */ +#define ADC123_CDR_RDATA_MST_8 (0x0100U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000100 */ +#define ADC123_CDR_RDATA_MST_9 (0x0200U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000200 */ +#define ADC123_CDR_RDATA_MST_10 (0x0400U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000400 */ +#define ADC123_CDR_RDATA_MST_11 (0x0800U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000800 */ +#define ADC123_CDR_RDATA_MST_12 (0x1000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00001000 */ +#define ADC123_CDR_RDATA_MST_13 (0x2000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00002000 */ +#define ADC123_CDR_RDATA_MST_14 (0x4000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00004000 */ +#define ADC123_CDR_RDATA_MST_15 (0x8000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00008000 */ + +#define ADC123_CDR_RDATA_SLV_Pos (16U) +#define ADC123_CDR_RDATA_SLV_Msk (0xFFFFU << ADC123_CDR_RDATA_SLV_Pos) /*!< 0xFFFF0000 */ +#define ADC123_CDR_RDATA_SLV ADC123_CDR_RDATA_SLV_Msk /*!< Regular Data of the master ADC */ +#define ADC123_CDR_RDATA_SLV_0 (0x0001U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00010000 */ +#define ADC123_CDR_RDATA_SLV_1 (0x0002U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00020000 */ +#define ADC123_CDR_RDATA_SLV_2 (0x0004U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00040000 */ +#define ADC123_CDR_RDATA_SLV_3 (0x0008U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00080000 */ +#define ADC123_CDR_RDATA_SLV_4 (0x0010U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00100000 */ +#define ADC123_CDR_RDATA_SLV_5 (0x0020U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00200000 */ +#define ADC123_CDR_RDATA_SLV_6 (0x0040U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00400000 */ +#define ADC123_CDR_RDATA_SLV_7 (0x0080U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00800000 */ +#define ADC123_CDR_RDATA_SLV_8 (0x0100U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x01000000 */ +#define ADC123_CDR_RDATA_SLV_9 (0x0200U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x02000000 */ +#define ADC123_CDR_RDATA_SLV_10 (0x0400U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x04000000 */ +#define ADC123_CDR_RDATA_SLV_11 (0x0800U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x08000000 */ +#define ADC123_CDR_RDATA_SLV_12 (0x1000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x10000000 */ +#define ADC123_CDR_RDATA_SLV_13 (0x2000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x20000000 */ +#define ADC123_CDR_RDATA_SLV_14 (0x4000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x40000000 */ +#define ADC123_CDR_RDATA_SLV_15 (0x8000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_CDR2 register ********************/ +#define ADC123_CDR2_RDATA_ALT_Pos (0U) +#define ADC123_CDR2_RDATA_ALT_Msk (0xFFFFFFFFU << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0xFFFFFFFF */ +#define ADC123_CDR2_RDATA_ALT ADC123_CDR2_RDATA_ALT_Msk /*!< Regular Data for dual Mode */ +#define ADC123_CDR2_RDATA_ALT_0 (0x00000001U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000001 */ +#define ADC123_CDR2_RDATA_ALT_1 (0x00000002U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000002 */ +#define ADC123_CDR2_RDATA_ALT_2 (0x00000004U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000004 */ +#define ADC123_CDR2_RDATA_ALT_3 (0x00000008U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000008 */ +#define ADC123_CDR2_RDATA_ALT_4 (0x00000010U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000010 */ +#define ADC123_CDR2_RDATA_ALT_5 (0x00000020U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000020 */ +#define ADC123_CDR2_RDATA_ALT_6 (0x00000040U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000040 */ +#define ADC123_CDR2_RDATA_ALT_7 (0x00000080U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000080 */ +#define ADC123_CDR2_RDATA_ALT_8 (0x00000100U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000100 */ +#define ADC123_CDR2_RDATA_ALT_9 (0x00000200U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000200 */ +#define ADC123_CDR2_RDATA_ALT_10 (0x00000400U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000400 */ +#define ADC123_CDR2_RDATA_ALT_11 (0x00000800U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000800 */ +#define ADC123_CDR2_RDATA_ALT_12 (0x00001000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00001000 */ +#define ADC123_CDR2_RDATA_ALT_13 (0x00002000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00002000 */ +#define ADC123_CDR2_RDATA_ALT_14 (0x00004000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00004000 */ +#define ADC123_CDR2_RDATA_ALT_15 (0x00008000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00008000 */ +#define ADC123_CDR2_RDATA_ALT_16 (0x00010000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00010000 */ +#define ADC123_CDR2_RDATA_ALT_17 (0x00020000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00020000 */ +#define ADC123_CDR2_RDATA_ALT_18 (0x00040000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00040000 */ +#define ADC123_CDR2_RDATA_ALT_19 (0x00080000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00080000 */ +#define ADC123_CDR2_RDATA_ALT_20 (0x00100000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00100000 */ +#define ADC123_CDR2_RDATA_ALT_21 (0x00200000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00200000 */ +#define ADC123_CDR2_RDATA_ALT_22 (0x00400000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00400000 */ +#define ADC123_CDR2_RDATA_ALT_23 (0x00800000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00800000 */ +#define ADC123_CDR2_RDATA_ALT_24 (0x01000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x01000000 */ +#define ADC123_CDR2_RDATA_ALT_25 (0x02000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x02000000 */ +#define ADC123_CDR2_RDATA_ALT_26 (0x04000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x04000000 */ +#define ADC123_CDR2_RDATA_ALT_27 (0x08000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x08000000 */ +#define ADC123_CDR2_RDATA_ALT_28 (0x10000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x10000000 */ +#define ADC123_CDR2_RDATA_ALT_29 (0x20000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x20000000 */ +#define ADC123_CDR2_RDATA_ALT_30 (0x40000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x40000000 */ +#define ADC123_CDR2_RDATA_ALT_31 (0x80000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x80000000 */ + +/******************************************************************************/ +/* */ +/* VREFBUF */ +/* */ +/******************************************************************************/ +/******************* Bit definition for VREFBUF_CSR register ****************/ +#define VREFBUF_CSR_ENVR_Pos (0U) +#define VREFBUF_CSR_ENVR_Msk (0x1U << VREFBUF_CSR_ENVR_Pos) /*!< 0x00000001 */ +#define VREFBUF_CSR_ENVR VREFBUF_CSR_ENVR_Msk /*!*/ +#define DAC_CR_CEN1_Pos (14U) +#define DAC_CR_CEN1_Msk (0x1U << DAC_CR_CEN1_Pos) /*!< 0x00004000 */ +#define DAC_CR_CEN1 DAC_CR_CEN1_Msk /*!*/ + +#define DAC_CR_EN2_Pos (16U) +#define DAC_CR_EN2_Msk (0x1U << DAC_CR_EN2_Pos) /*!< 0x00010000 */ +#define DAC_CR_EN2 DAC_CR_EN2_Msk /*!*/ +#define DAC_CR_CEN2_Pos (30U) +#define DAC_CR_CEN2_Msk (0x1U << DAC_CR_CEN2_Pos) /*!< 0x40000000 */ +#define DAC_CR_CEN2 DAC_CR_CEN2_Msk /*!*/ + +/***************** Bit definition for DAC_SWTRIGR register ******************/ +#define DAC_SWTRIGR_SWTRIG1_Pos (0U) +#define DAC_SWTRIGR_SWTRIG1_Msk (0x1U << DAC_SWTRIGR_SWTRIG1_Pos) /*!< 0x00000001 */ +#define DAC_SWTRIGR_SWTRIG1 DAC_SWTRIGR_SWTRIG1_Msk /*!> 1) /* 1MB */ + +#define FLASH_SECTOR_SIZE 0x00020000 /* 128 KB */ + + + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* STM32H743xx_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h750xx.h b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h750xx.h new file mode 100644 index 0000000000..2f9e15fbc8 --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h750xx.h @@ -0,0 +1,25810 @@ +/** + ****************************************************************************** + * @file stm32h750xx.h + * @author MCD Application Team + * @brief CMSIS STM32H750xx Device Peripheral Access Layer Header File. + * + * This file contains: + * - Data structures and the address mapping for all peripherals + * - Peripheral's registers declarations and bits definition + * - Macros to access peripheral�s registers hardware + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS_Device + * @{ + */ + +/** @addtogroup stm32h750xx + * @{ + */ + +#ifndef __STM32H750xx_H +#define __STM32H750xx_H + +#ifdef __cplusplus + extern "C" { +#endif /* __cplusplus */ + +/** @addtogroup Peripheral_interrupt_number_definition + * @{ + */ + +/** + * @brief STM32H7XX Interrupt Number Definition, according to the selected device + * in @ref Library_configuration_section + */ +typedef enum +{ +/****** Cortex-M Processor Exceptions Numbers *****************************************************************/ + NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13, /*!< 4 Cortex-M Memory Management Interrupt */ + MemoryManagement_IRQn = -12, /*!< 4 Cortex-M Memory Management Interrupt */ + BusFault_IRQn = -11, /*!< 5 Cortex-M Bus Fault Interrupt */ + UsageFault_IRQn = -10, /*!< 6 Cortex-M Usage Fault Interrupt */ + SVCall_IRQn = -5, /*!< 11 Cortex-M SV Call Interrupt */ + DebugMonitor_IRQn = -4, /*!< 12 Cortex-M Debug Monitor Interrupt */ + PendSV_IRQn = -2, /*!< 14 Cortex-M Pend SV Interrupt */ + SysTick_IRQn = -1, /*!< 15 Cortex-M System Tick Interrupt */ +/****** STM32 specific Interrupt Numbers **********************************************************************/ + WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */ + PVD_AVD_IRQn = 1, /*!< PVD/AVD through EXTI Line detection Interrupt */ + TAMP_STAMP_IRQn = 2, /*!< Tamper and TimeStamp interrupts through the EXTI line */ + RTC_WKUP_IRQn = 3, /*!< RTC Wakeup interrupt through the EXTI line */ + FLASH_IRQn = 4, /*!< FLASH global Interrupt */ + RCC_IRQn = 5, /*!< RCC global Interrupt */ + EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */ + EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */ + EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */ + EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */ + EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt */ + DMA1_Stream0_IRQn = 11, /*!< DMA1 Stream 0 global Interrupt */ + DMA1_Stream1_IRQn = 12, /*!< DMA1 Stream 1 global Interrupt */ + DMA1_Stream2_IRQn = 13, /*!< DMA1 Stream 2 global Interrupt */ + DMA1_Stream3_IRQn = 14, /*!< DMA1 Stream 3 global Interrupt */ + DMA1_Stream4_IRQn = 15, /*!< DMA1 Stream 4 global Interrupt */ + DMA1_Stream5_IRQn = 16, /*!< DMA1 Stream 5 global Interrupt */ + DMA1_Stream6_IRQn = 17, /*!< DMA1 Stream 6 global Interrupt */ + ADC_IRQn = 18, /*!< ADC1 and ADC2 global Interrupts */ + FDCAN1_IT0_IRQn = 19, /*!< FDCAN1 Interrupt line 0 */ + FDCAN2_IT0_IRQn = 20, /*!< FDCAN2 Interrupt line 0 */ + FDCAN1_IT1_IRQn = 21, /*!< FDCAN1 Interrupt line 1 */ + FDCAN2_IT1_IRQn = 22, /*!< FDCAN2 Interrupt line 1 */ + EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */ + TIM1_BRK_IRQn = 24, /*!< TIM1 Break Interrupt */ + TIM1_UP_IRQn = 25, /*!< TIM1 Update Interrupt */ + TIM1_TRG_COM_IRQn = 26, /*!< TIM1 Trigger and Commutation Interrupt */ + TIM1_CC_IRQn = 27, /*!< TIM1 Capture Compare Interrupt */ + TIM2_IRQn = 28, /*!< TIM2 global Interrupt */ + TIM3_IRQn = 29, /*!< TIM3 global Interrupt */ + TIM4_IRQn = 30, /*!< TIM4 global Interrupt */ + I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */ + I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */ + I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */ + I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */ + SPI1_IRQn = 35, /*!< SPI1 global Interrupt */ + SPI2_IRQn = 36, /*!< SPI2 global Interrupt */ + USART1_IRQn = 37, /*!< USART1 global Interrupt */ + USART2_IRQn = 38, /*!< USART2 global Interrupt */ + USART3_IRQn = 39, /*!< USART3 global Interrupt */ + EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */ + RTC_Alarm_IRQn = 41, /*!< RTC Alarm (A and B) through EXTI Line Interrupt */ + TIM8_BRK_TIM12_IRQn = 43, /*!< TIM8 Break Interrupt and TIM12 global interrupt */ + TIM8_UP_TIM13_IRQn = 44, /*!< TIM8 Update Interrupt and TIM13 global interrupt */ + TIM8_TRG_COM_TIM14_IRQn = 45, /*!< TIM8 Trigger and Commutation Interrupt and TIM14 global interrupt */ + TIM8_CC_IRQn = 46, /*!< TIM8 Capture Compare Interrupt */ + DMA1_Stream7_IRQn = 47, /*!< DMA1 Stream7 Interrupt */ + FMC_IRQn = 48, /*!< FMC global Interrupt */ + SDMMC1_IRQn = 49, /*!< SDMMC1 global Interrupt */ + TIM5_IRQn = 50, /*!< TIM5 global Interrupt */ + SPI3_IRQn = 51, /*!< SPI3 global Interrupt */ + UART4_IRQn = 52, /*!< UART4 global Interrupt */ + UART5_IRQn = 53, /*!< UART5 global Interrupt */ + TIM6_DAC_IRQn = 54, /*!< TIM6 global and DAC1&2 underrun error interrupts */ + TIM7_IRQn = 55, /*!< TIM7 global interrupt */ + DMA2_Stream0_IRQn = 56, /*!< DMA2 Stream 0 global Interrupt */ + DMA2_Stream1_IRQn = 57, /*!< DMA2 Stream 1 global Interrupt */ + DMA2_Stream2_IRQn = 58, /*!< DMA2 Stream 2 global Interrupt */ + DMA2_Stream3_IRQn = 59, /*!< DMA2 Stream 3 global Interrupt */ + DMA2_Stream4_IRQn = 60, /*!< DMA2 Stream 4 global Interrupt */ + ETH_IRQn = 61, /*!< Ethernet global Interrupt */ + ETH_WKUP_IRQn = 62, /*!< Ethernet Wakeup through EXTI line Interrupt */ + FDCAN_CAL_IRQn = 63, /*!< FDCAN Calibration unit Interrupt */ + DMA2_Stream5_IRQn = 68, /*!< DMA2 Stream 5 global interrupt */ + DMA2_Stream6_IRQn = 69, /*!< DMA2 Stream 6 global interrupt */ + DMA2_Stream7_IRQn = 70, /*!< DMA2 Stream 7 global interrupt */ + USART6_IRQn = 71, /*!< USART6 global interrupt */ + I2C3_EV_IRQn = 72, /*!< I2C3 event interrupt */ + I2C3_ER_IRQn = 73, /*!< I2C3 error interrupt */ + OTG_HS_EP1_OUT_IRQn = 74, /*!< USB OTG HS End Point 1 Out global interrupt */ + OTG_HS_EP1_IN_IRQn = 75, /*!< USB OTG HS End Point 1 In global interrupt */ + OTG_HS_WKUP_IRQn = 76, /*!< USB OTG HS Wakeup through EXTI interrupt */ + OTG_HS_IRQn = 77, /*!< USB OTG HS global interrupt */ + DCMI_IRQn = 78, /*!< DCMI global interrupt */ + CRYP_IRQn = 79, /*!< CRYP crypto global interrupt */ + HASH_RNG_IRQn = 80, /*!< Hash and Rng global interrupt */ + FPU_IRQn = 81, /*!< FPU global interrupt */ + UART7_IRQn = 82, /*!< UART7 global interrupt */ + UART8_IRQn = 83, /*!< UART8 global interrupt */ + SPI4_IRQn = 84, /*!< SPI4 global Interrupt */ + SPI5_IRQn = 85, /*!< SPI5 global Interrupt */ + SPI6_IRQn = 86, /*!< SPI6 global Interrupt */ + SAI1_IRQn = 87, /*!< SAI1 global Interrupt */ + LTDC_IRQn = 88, /*!< LTDC global Interrupt */ + LTDC_ER_IRQn = 89, /*!< LTDC Error global Interrupt */ + DMA2D_IRQn = 90, /*!< DMA2D global Interrupt */ + SAI2_IRQn = 91, /*!< SAI2 global Interrupt */ + QUADSPI_IRQn = 92, /*!< Quad SPI global interrupt */ + LPTIM1_IRQn = 93, /*!< LP TIM1 interrupt */ + CEC_IRQn = 94, /*!< HDMI-CEC global Interrupt */ + I2C4_EV_IRQn = 95, /*!< I2C4 Event Interrupt */ + I2C4_ER_IRQn = 96, /*!< I2C4 Error Interrupt */ + SPDIF_RX_IRQn = 97, /*!< SPDIF-RX global Interrupt */ + OTG_FS_EP1_OUT_IRQn = 98, /*!< USB OTG HS2 global interrupt */ + OTG_FS_EP1_IN_IRQn = 99, /*!< USB OTG HS2 End Point 1 Out global interrupt */ + OTG_FS_WKUP_IRQn = 100, /*!< USB OTG HS2 End Point 1 In global interrupt */ + OTG_FS_IRQn = 101, /*!< USB OTG HS2 Wakeup through EXTI interrupt */ + DMAMUX1_OVR_IRQn = 102, /*! + +/** @addtogroup Peripheral_registers_structures + * @{ + */ + +/** + * @brief Analog to Digital Converter + */ + +typedef struct +{ + __IO uint32_t ISR; /*!< ADC Interrupt and Status Register, Address offset: 0x00 */ + __IO uint32_t IER; /*!< ADC Interrupt Enable Register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< ADC control register, Address offset: 0x08 */ + __IO uint32_t CFGR; /*!< ADC Configuration register, Address offset: 0x0C */ + __IO uint32_t CFGR2; /*!< ADC Configuration register 2, Address offset: 0x10 */ + __IO uint32_t SMPR1; /*!< ADC sample time register 1, Address offset: 0x14 */ + __IO uint32_t SMPR2; /*!< ADC sample time register 2, Address offset: 0x18 */ + __IO uint32_t PCSEL; /*!< ADC pre-channel selection, Address offset: 0x1C */ + __IO uint32_t LTR1; /*!< ADC watchdog Lower threshold register 1, Address offset: 0x20 */ + __IO uint32_t HTR1; /*!< ADC watchdog higher threshold register 1, Address offset: 0x24 */ + uint32_t RESERVED1; /*!< Reserved, 0x028 */ + uint32_t RESERVED2; /*!< Reserved, 0x02C */ + __IO uint32_t SQR1; /*!< ADC regular sequence register 1, Address offset: 0x30 */ + __IO uint32_t SQR2; /*!< ADC regular sequence register 2, Address offset: 0x34 */ + __IO uint32_t SQR3; /*!< ADC regular sequence register 3, Address offset: 0x38 */ + __IO uint32_t SQR4; /*!< ADC regular sequence register 4, Address offset: 0x3C */ + __IO uint32_t DR; /*!< ADC regular data register, Address offset: 0x40 */ + uint32_t RESERVED3; /*!< Reserved, 0x044 */ + uint32_t RESERVED4; /*!< Reserved, 0x048 */ + __IO uint32_t JSQR; /*!< ADC injected sequence register, Address offset: 0x4C */ + uint32_t RESERVED5[4]; /*!< Reserved, 0x050 - 0x05C */ + __IO uint32_t OFR1; /*!< ADC offset register 1, Address offset: 0x60 */ + __IO uint32_t OFR2; /*!< ADC offset register 2, Address offset: 0x64 */ + __IO uint32_t OFR3; /*!< ADC offset register 3, Address offset: 0x68 */ + __IO uint32_t OFR4; /*!< ADC offset register 4, Address offset: 0x6C */ + uint32_t RESERVED6[4]; /*!< Reserved, 0x070 - 0x07C */ + __IO uint32_t JDR1; /*!< ADC injected data register 1, Address offset: 0x80 */ + __IO uint32_t JDR2; /*!< ADC injected data register 2, Address offset: 0x84 */ + __IO uint32_t JDR3; /*!< ADC injected data register 3, Address offset: 0x88 */ + __IO uint32_t JDR4; /*!< ADC injected data register 4, Address offset: 0x8C */ + uint32_t RESERVED7[4]; /*!< Reserved, 0x090 - 0x09C */ + __IO uint32_t AWD2CR; /*!< ADC Analog Watchdog 2 Configuration Register, Address offset: 0xA0 */ + __IO uint32_t AWD3CR; /*!< ADC Analog Watchdog 3 Configuration Register, Address offset: 0xA4 */ + uint32_t RESERVED8; /*!< Reserved, 0x0A8 */ + uint32_t RESERVED9; /*!< Reserved, 0x0AC */ + __IO uint32_t LTR2; /*!< ADC watchdog Lower threshold register 2, Address offset: 0xB0 */ + __IO uint32_t HTR2; /*!< ADC watchdog Higher threshold register 2, Address offset: 0xB4 */ + __IO uint32_t LTR3; /*!< ADC watchdog Lower threshold register 3, Address offset: 0xB8 */ + __IO uint32_t HTR3; /*!< ADC watchdog Higher threshold register 3, Address offset: 0xBC */ + __IO uint32_t DIFSEL; /*!< ADC Differential Mode Selection Register, Address offset: 0xC0 */ + __IO uint32_t CALFACT; /*!< ADC Calibration Factors, Address offset: 0xC4 */ + __IO uint32_t CALFACT2; /*!< ADC Linearity Calibration Factors, Address offset: 0xC8 */ +} ADC_TypeDef; + + +typedef struct +{ +__IO uint32_t CSR; /*!< ADC Common status register, Address offset: ADC1/3 base address + 0x300 */ +uint32_t RESERVED; /*!< Reserved, ADC1/3 base address + 0x304 */ +__IO uint32_t CCR; /*!< ADC common control register, Address offset: ADC1/3 base address + 0x308 */ +__IO uint32_t CDR; /*!< ADC common regular data register for dual Address offset: ADC1/3 base address + 0x30C */ +__IO uint32_t CDR2; /*!< ADC common regular data register for 32-bit dual mode Address offset: ADC1/3 base address + 0x310 */ + +} ADC_Common_TypeDef; + +/** + * @brief VREFBUF + */ + +typedef struct +{ + __IO uint32_t CSR; /*!< VREFBUF control and status register, Address offset: 0x00 */ + __IO uint32_t CCR; /*!< VREFBUF calibration and control register, Address offset: 0x04 */ +} VREFBUF_TypeDef; + + +/** + * @brief FD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t CREL; /*!< FDCAN Core Release register, Address offset: 0x000 */ + __IO uint32_t ENDN; /*!< FDCAN Endian register, Address offset: 0x004 */ + __IO uint32_t RESERVED1; /*!< Reserved, 0x008 */ + __IO uint32_t DBTP; /*!< FDCAN Data Bit Timing & Prescaler register, Address offset: 0x00C */ + __IO uint32_t TEST; /*!< FDCAN Test register, Address offset: 0x010 */ + __IO uint32_t RWD; /*!< FDCAN RAM Watchdog register, Address offset: 0x014 */ + __IO uint32_t CCCR; /*!< FDCAN CC Control register, Address offset: 0x018 */ + __IO uint32_t NBTP; /*!< FDCAN Nominal Bit Timing & Prescaler register, Address offset: 0x01C */ + __IO uint32_t TSCC; /*!< FDCAN Timestamp Counter Configuration register, Address offset: 0x020 */ + __IO uint32_t TSCV; /*!< FDCAN Timestamp Counter Value register, Address offset: 0x024 */ + __IO uint32_t TOCC; /*!< FDCAN Timeout Counter Configuration register, Address offset: 0x028 */ + __IO uint32_t TOCV; /*!< FDCAN Timeout Counter Value register, Address offset: 0x02C */ + __IO uint32_t RESERVED2[4]; /*!< Reserved, 0x030 - 0x03C */ + __IO uint32_t ECR; /*!< FDCAN Error Counter register, Address offset: 0x040 */ + __IO uint32_t PSR; /*!< FDCAN Protocol Status register, Address offset: 0x044 */ + __IO uint32_t TDCR; /*!< FDCAN Transmitter Delay Compensation register, Address offset: 0x048 */ + __IO uint32_t RESERVED3; /*!< Reserved, 0x04C */ + __IO uint32_t IR; /*!< FDCAN Interrupt register, Address offset: 0x050 */ + __IO uint32_t IE; /*!< FDCAN Interrupt Enable register, Address offset: 0x054 */ + __IO uint32_t ILS; /*!< FDCAN Interrupt Line Select register, Address offset: 0x058 */ + __IO uint32_t ILE; /*!< FDCAN Interrupt Line Enable register, Address offset: 0x05C */ + __IO uint32_t RESERVED4[8]; /*!< Reserved, 0x060 - 0x07C */ + __IO uint32_t GFC; /*!< FDCAN Global Filter Configuration register, Address offset: 0x080 */ + __IO uint32_t SIDFC; /*!< FDCAN Standard ID Filter Configuration register, Address offset: 0x084 */ + __IO uint32_t XIDFC; /*!< FDCAN Extended ID Filter Configuration register, Address offset: 0x088 */ + __IO uint32_t RESERVED5; /*!< Reserved, 0x08C */ + __IO uint32_t XIDAM; /*!< FDCAN Extended ID AND Mask register, Address offset: 0x090 */ + __IO uint32_t HPMS; /*!< FDCAN High Priority Message Status register, Address offset: 0x094 */ + __IO uint32_t NDAT1; /*!< FDCAN New Data 1 register, Address offset: 0x098 */ + __IO uint32_t NDAT2; /*!< FDCAN New Data 2 register, Address offset: 0x09C */ + __IO uint32_t RXF0C; /*!< FDCAN Rx FIFO 0 Configuration register, Address offset: 0x0A0 */ + __IO uint32_t RXF0S; /*!< FDCAN Rx FIFO 0 Status register, Address offset: 0x0A4 */ + __IO uint32_t RXF0A; /*!< FDCAN Rx FIFO 0 Acknowledge register, Address offset: 0x0A8 */ + __IO uint32_t RXBC; /*!< FDCAN Rx Buffer Configuration register, Address offset: 0x0AC */ + __IO uint32_t RXF1C; /*!< FDCAN Rx FIFO 1 Configuration register, Address offset: 0x0B0 */ + __IO uint32_t RXF1S; /*!< FDCAN Rx FIFO 1 Status register, Address offset: 0x0B4 */ + __IO uint32_t RXF1A; /*!< FDCAN Rx FIFO 1 Acknowledge register, Address offset: 0x0B8 */ + __IO uint32_t RXESC; /*!< FDCAN Rx Buffer/FIFO Element Size Configuration register, Address offset: 0x0BC */ + __IO uint32_t TXBC; /*!< FDCAN Tx Buffer Configuration register, Address offset: 0x0C0 */ + __IO uint32_t TXFQS; /*!< FDCAN Tx FIFO/Queue Status register, Address offset: 0x0C4 */ + __IO uint32_t TXESC; /*!< FDCAN Tx Buffer Element Size Configuration register, Address offset: 0x0C8 */ + __IO uint32_t TXBRP; /*!< FDCAN Tx Buffer Request Pending register, Address offset: 0x0CC */ + __IO uint32_t TXBAR; /*!< FDCAN Tx Buffer Add Request register, Address offset: 0x0D0 */ + __IO uint32_t TXBCR; /*!< FDCAN Tx Buffer Cancellation Request register, Address offset: 0x0D4 */ + __IO uint32_t TXBTO; /*!< FDCAN Tx Buffer Transmission Occurred register, Address offset: 0x0D8 */ + __IO uint32_t TXBCF; /*!< FDCAN Tx Buffer Cancellation Finished register, Address offset: 0x0DC */ + __IO uint32_t TXBTIE; /*!< FDCAN Tx Buffer Transmission Interrupt Enable register, Address offset: 0x0E0 */ + __IO uint32_t TXBCIE; /*!< FDCAN Tx Buffer Cancellation Finished Interrupt Enable register, Address offset: 0x0E4 */ + __IO uint32_t RESERVED6[2]; /*!< Reserved, 0x0E8 - 0x0EC */ + __IO uint32_t TXEFC; /*!< FDCAN Tx Event FIFO Configuration register, Address offset: 0x0F0 */ + __IO uint32_t TXEFS; /*!< FDCAN Tx Event FIFO Status register, Address offset: 0x0F4 */ + __IO uint32_t TXEFA; /*!< FDCAN Tx Event FIFO Acknowledge register, Address offset: 0x0F8 */ + __IO uint32_t RESERVED7; /*!< Reserved, 0x0FC */ +} FDCAN_GlobalTypeDef; + +/** + * @brief TTFD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t TTTMC; /*!< TT Trigger Memory Configuration register, Address offset: 0x100 */ + __IO uint32_t TTRMC; /*!< TT Reference Message Configuration register, Address offset: 0x104 */ + __IO uint32_t TTOCF; /*!< TT Operation Configuration register, Address offset: 0x108 */ + __IO uint32_t TTMLM; /*!< TT Matrix Limits register, Address offset: 0x10C */ + __IO uint32_t TURCF; /*!< TUR Configuration register, Address offset: 0x110 */ + __IO uint32_t TTOCN; /*!< TT Operation Control register, Address offset: 0x114 */ + __IO uint32_t TTGTP; /*!< TT Global Time Preset register, Address offset: 0x118 */ + __IO uint32_t TTTMK; /*!< TT Time Mark register, Address offset: 0x11C */ + __IO uint32_t TTIR; /*!< TT Interrupt register, Address offset: 0x120 */ + __IO uint32_t TTIE; /*!< TT Interrupt Enable register, Address offset: 0x124 */ + __IO uint32_t TTILS; /*!< TT Interrupt Line Select register, Address offset: 0x128 */ + __IO uint32_t TTOST; /*!< TT Operation Status register, Address offset: 0x12C */ + __IO uint32_t TURNA; /*!< TT TUR Numerator Actual register, Address offset: 0x130 */ + __IO uint32_t TTLGT; /*!< TT Local and Global Time register, Address offset: 0x134 */ + __IO uint32_t TTCTC; /*!< TT Cycle Time and Count register, Address offset: 0x138 */ + __IO uint32_t TTCPT; /*!< TT Capture Time register, Address offset: 0x13C */ + __IO uint32_t TTCSM; /*!< TT Cycle Sync Mark register, Address offset: 0x140 */ + __IO uint32_t RESERVED1[111]; /*!< Reserved, 0x144 - 0x2FC */ + __IO uint32_t TTTS; /*!< TT Trigger Select register, Address offset: 0x300 */ +} TTCAN_TypeDef; + +/** + * @brief FD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t CREL; /*!< Clock Calibration Unit Core Release register, Address offset: 0x00 */ + __IO uint32_t CCFG; /*!< Calibration Configuration register, Address offset: 0x04 */ + __IO uint32_t CSTAT; /*!< Calibration Status register, Address offset: 0x08 */ + __IO uint32_t CWD; /*!< Calibration Watchdog register, Address offset: 0x0C */ + __IO uint32_t IR; /*!< CCU Interrupt register, Address offset: 0x10 */ + __IO uint32_t IE; /*!< CCU Interrupt Enable register, Address offset: 0x14 */ +} FDCAN_ClockCalibrationUnit_TypeDef; + + +/** + * @brief Consumer Electronics Control + */ + +typedef struct +{ + __IO uint32_t CR; /*!< CEC control register, Address offset:0x00 */ + __IO uint32_t CFGR; /*!< CEC configuration register, Address offset:0x04 */ + __IO uint32_t TXDR; /*!< CEC Tx data register , Address offset:0x08 */ + __IO uint32_t RXDR; /*!< CEC Rx Data Register, Address offset:0x0C */ + __IO uint32_t ISR; /*!< CEC Interrupt and Status Register, Address offset:0x10 */ + __IO uint32_t IER; /*!< CEC interrupt enable register, Address offset:0x14 */ +}CEC_TypeDef; + +/** + * @brief CRC calculation unit + */ + +typedef struct +{ + __IO uint32_t DR; /*!< CRC Data register, Address offset: 0x00 */ + __IO uint32_t IDR; /*!< CRC Independent data register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< CRC Control register, Address offset: 0x08 */ + uint32_t RESERVED2; /*!< Reserved, 0x0C */ + __IO uint32_t INIT; /*!< Initial CRC value register, Address offset: 0x10 */ + __IO uint32_t POL; /*!< CRC polynomial register, Address offset: 0x14 */ +} CRC_TypeDef; + + +/** + * @brief Clock Recovery System + */ +typedef struct +{ +__IO uint32_t CR; /*!< CRS ccontrol register, Address offset: 0x00 */ +__IO uint32_t CFGR; /*!< CRS configuration register, Address offset: 0x04 */ +__IO uint32_t ISR; /*!< CRS interrupt and status register, Address offset: 0x08 */ +__IO uint32_t ICR; /*!< CRS interrupt flag clear register, Address offset: 0x0C */ +} CRS_TypeDef; + + +/** + * @brief Digital to Analog Converter + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DAC control register, Address offset: 0x00 */ + __IO uint32_t SWTRIGR; /*!< DAC software trigger register, Address offset: 0x04 */ + __IO uint32_t DHR12R1; /*!< DAC channel1 12-bit right-aligned data holding register, Address offset: 0x08 */ + __IO uint32_t DHR12L1; /*!< DAC channel1 12-bit left aligned data holding register, Address offset: 0x0C */ + __IO uint32_t DHR8R1; /*!< DAC channel1 8-bit right aligned data holding register, Address offset: 0x10 */ + __IO uint32_t DHR12R2; /*!< DAC channel2 12-bit right aligned data holding register, Address offset: 0x14 */ + __IO uint32_t DHR12L2; /*!< DAC channel2 12-bit left aligned data holding register, Address offset: 0x18 */ + __IO uint32_t DHR8R2; /*!< DAC channel2 8-bit right-aligned data holding register, Address offset: 0x1C */ + __IO uint32_t DHR12RD; /*!< Dual DAC 12-bit right-aligned data holding register, Address offset: 0x20 */ + __IO uint32_t DHR12LD; /*!< DUAL DAC 12-bit left aligned data holding register, Address offset: 0x24 */ + __IO uint32_t DHR8RD; /*!< DUAL DAC 8-bit right aligned data holding register, Address offset: 0x28 */ + __IO uint32_t DOR1; /*!< DAC channel1 data output register, Address offset: 0x2C */ + __IO uint32_t DOR2; /*!< DAC channel2 data output register, Address offset: 0x30 */ + __IO uint32_t SR; /*!< DAC status register, Address offset: 0x34 */ + __IO uint32_t CCR; /*!< DAC calibration control register, Address offset: 0x38 */ + __IO uint32_t MCR; /*!< DAC mode control register, Address offset: 0x3C */ + __IO uint32_t SHSR1; /*!< DAC Sample and Hold sample time register 1, Address offset: 0x40 */ + __IO uint32_t SHSR2; /*!< DAC Sample and Hold sample time register 2, Address offset: 0x44 */ + __IO uint32_t SHHR; /*!< DAC Sample and Hold hold time register, Address offset: 0x48 */ + __IO uint32_t SHRR; /*!< DAC Sample and Hold refresh time register, Address offset: 0x4C */ +} DAC_TypeDef; + +/** + * @brief DFSDM module registers + */ +typedef struct +{ + __IO uint32_t FLTCR1; /*!< DFSDM control register1, Address offset: 0x100 */ + __IO uint32_t FLTCR2; /*!< DFSDM control register2, Address offset: 0x104 */ + __IO uint32_t FLTISR; /*!< DFSDM interrupt and status register, Address offset: 0x108 */ + __IO uint32_t FLTICR; /*!< DFSDM interrupt flag clear register, Address offset: 0x10C */ + __IO uint32_t FLTJCHGR; /*!< DFSDM injected channel group selection register, Address offset: 0x110 */ + __IO uint32_t FLTFCR; /*!< DFSDM filter control register, Address offset: 0x114 */ + __IO uint32_t FLTJDATAR; /*!< DFSDM data register for injected group, Address offset: 0x118 */ + __IO uint32_t FLTRDATAR; /*!< DFSDM data register for regular group, Address offset: 0x11C */ + __IO uint32_t FLTAWHTR; /*!< DFSDM analog watchdog high threshold register, Address offset: 0x120 */ + __IO uint32_t FLTAWLTR; /*!< DFSDM analog watchdog low threshold register, Address offset: 0x124 */ + __IO uint32_t FLTAWSR; /*!< DFSDM analog watchdog status register Address offset: 0x128 */ + __IO uint32_t FLTAWCFR; /*!< DFSDM analog watchdog clear flag register Address offset: 0x12C */ + __IO uint32_t FLTEXMAX; /*!< DFSDM extreme detector maximum register, Address offset: 0x130 */ + __IO uint32_t FLTEXMIN; /*!< DFSDM extreme detector minimum register Address offset: 0x134 */ + __IO uint32_t FLTCNVTIMR; /*!< DFSDM conversion timer, Address offset: 0x138 */ +} DFSDM_Filter_TypeDef; + +/** + * @brief DFSDM channel configuration registers + */ +typedef struct +{ + __IO uint32_t CHCFGR1; /*!< DFSDM channel configuration register1, Address offset: 0x00 */ + __IO uint32_t CHCFGR2; /*!< DFSDM channel configuration register2, Address offset: 0x04 */ + __IO uint32_t CHAWSCDR; /*!< DFSDM channel analog watchdog and + short circuit detector register, Address offset: 0x08 */ + __IO uint32_t CHWDATAR; /*!< DFSDM channel watchdog filter data register, Address offset: 0x0C */ + __IO uint32_t CHDATINR; /*!< DFSDM channel data input register, Address offset: 0x10 */ +} DFSDM_Channel_TypeDef; + +/** + * @brief Debug MCU + */ + +typedef struct +{ + __IO uint32_t IDCODE; /*!< MCU device ID code, Address offset: 0x00 */ + __IO uint32_t CR; /*!< Debug MCU configuration register, Address offset: 0x04 */ + uint32_t RESERVED4[11]; /*!< Reserved, Address offset: 0x08 */ + __IO uint32_t APB3FZ1; /*!< Debug MCU APB3FZ1 freeze register, Address offset: 0x34 */ + uint32_t RESERVED5; /*!< Reserved, Address offset: 0x38 */ + __IO uint32_t APB1LFZ1; /*!< Debug MCU APB1LFZ1 freeze register, Address offset: 0x3C */ + uint32_t RESERVED6; /*!< Reserved, Address offset: 0x40 */ + __IO uint32_t APB1HFZ1; /*!< Debug MCU APB1LFZ1 freeze register, Address offset: 0x44 */ + uint32_t RESERVED7; /*!< Reserved, Address offset: 0x48 */ + __IO uint32_t APB2FZ1; /*!< Debug MCU APB2FZ1 freeze register, Address offset: 0x4C */ + uint32_t RESERVED8; /*!< Reserved, Address offset: 0x50 */ + __IO uint32_t APB4FZ1; /*!< Debug MCU APB4FZ1 freeze register, Address offset: 0x54 */ +}DBGMCU_TypeDef; + +/** + * @brief DCMI + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DCMI control register 1, Address offset: 0x00 */ + __IO uint32_t SR; /*!< DCMI status register, Address offset: 0x04 */ + __IO uint32_t RISR; /*!< DCMI raw interrupt status register, Address offset: 0x08 */ + __IO uint32_t IER; /*!< DCMI interrupt enable register, Address offset: 0x0C */ + __IO uint32_t MISR; /*!< DCMI masked interrupt status register, Address offset: 0x10 */ + __IO uint32_t ICR; /*!< DCMI interrupt clear register, Address offset: 0x14 */ + __IO uint32_t ESCR; /*!< DCMI embedded synchronization code register, Address offset: 0x18 */ + __IO uint32_t ESUR; /*!< DCMI embedded synchronization unmask register, Address offset: 0x1C */ + __IO uint32_t CWSTRTR; /*!< DCMI crop window start, Address offset: 0x20 */ + __IO uint32_t CWSIZER; /*!< DCMI crop window size, Address offset: 0x24 */ + __IO uint32_t DR; /*!< DCMI data register, Address offset: 0x28 */ +} DCMI_TypeDef; + +/** + * @brief DMA Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DMA stream x configuration register */ + __IO uint32_t NDTR; /*!< DMA stream x number of data register */ + __IO uint32_t PAR; /*!< DMA stream x peripheral address register */ + __IO uint32_t M0AR; /*!< DMA stream x memory 0 address register */ + __IO uint32_t M1AR; /*!< DMA stream x memory 1 address register */ + __IO uint32_t FCR; /*!< DMA stream x FIFO control register */ +} DMA_Stream_TypeDef; + +typedef struct +{ + __IO uint32_t LISR; /*!< DMA low interrupt status register, Address offset: 0x00 */ + __IO uint32_t HISR; /*!< DMA high interrupt status register, Address offset: 0x04 */ + __IO uint32_t LIFCR; /*!< DMA low interrupt flag clear register, Address offset: 0x08 */ + __IO uint32_t HIFCR; /*!< DMA high interrupt flag clear register, Address offset: 0x0C */ +} DMA_TypeDef; + +typedef struct +{ + __IO uint32_t CCR; /*!< DMA channel x configuration register */ + __IO uint32_t CNDTR; /*!< DMA channel x number of data register */ + __IO uint32_t CPAR; /*!< DMA channel x peripheral address register */ + __IO uint32_t CMAR; /*!< DMA channel x memory address register */ +} BDMA_Channel_TypeDef; + +typedef struct +{ + __IO uint32_t ISR; /*!< DMA interrupt status register, Address offset: 0x00 */ + __IO uint32_t IFCR; /*!< DMA interrupt flag clear register, Address offset: 0x04 */ +} BDMA_TypeDef; + +typedef struct +{ + __IO uint32_t CCR; /*!< DMA Multiplexer Channel x Control Register */ +}DMAMUX_Channel_TypeDef; + +typedef struct +{ + __IO uint32_t CSR; /*!< DMA Channel Status Register */ + __IO uint32_t CFR; /*!< DMA Channel Clear Flag Register */ +}DMAMUX_ChannelStatus_TypeDef; + +typedef struct +{ + __IO uint32_t RGCR; /*!< DMA Request Generator x Control Register */ +}DMAMUX_RequestGen_TypeDef; + +typedef struct +{ + __IO uint32_t RGSR; /*!< DMA Request Generator Status Register */ + __IO uint32_t RGCFR; /*!< DMA Request Generator Clear Flag Register */ +}DMAMUX_RequestGenStatus_TypeDef; + +/** + * @brief MDMA Controller + */ +typedef struct +{ + __IO uint32_t GISR0; /*!< MDMA Global Interrupt/Status Register 0, Address offset: 0x00 */ +}MDMA_TypeDef; + +typedef struct +{ + __IO uint32_t CISR; /*!< MDMA channel x interrupt/status register, Address offset: 0x40 */ + __IO uint32_t CIFCR; /*!< MDMA channel x interrupt flag clear register, Address offset: 0x44 */ + __IO uint32_t CESR; /*!< MDMA Channel x error status register, Address offset: 0x48 */ + __IO uint32_t CCR; /*!< MDMA channel x control register, Address offset: 0x4C */ + __IO uint32_t CTCR; /*!< MDMA channel x Transfer Configuration register, Address offset: 0x50 */ + __IO uint32_t CBNDTR; /*!< MDMA Channel x block number of data register, Address offset: 0x54 */ + __IO uint32_t CSAR; /*!< MDMA channel x source address register, Address offset: 0x58 */ + __IO uint32_t CDAR; /*!< MDMA channel x destination address register, Address offset: 0x5C */ + __IO uint32_t CBRUR; /*!< MDMA channel x Block Repeat address Update register, Address offset: 0x60 */ + __IO uint32_t CLAR; /*!< MDMA channel x Link Address register, Address offset: 0x64 */ + __IO uint32_t CTBR; /*!< MDMA channel x Trigger and Bus selection Register, Address offset: 0x68 */ + uint32_t RESERVED0; /*!< Reserved, 0x68 */ + __IO uint32_t CMAR; /*!< MDMA channel x Mask address register, Address offset: 0x70 */ + __IO uint32_t CMDR; /*!< MDMA channel x Mask Data register, Address offset: 0x74 */ +}MDMA_Channel_TypeDef; +/** + * @brief DMA2D Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DMA2D Control Register, Address offset: 0x00 */ + __IO uint32_t ISR; /*!< DMA2D Interrupt Status Register, Address offset: 0x04 */ + __IO uint32_t IFCR; /*!< DMA2D Interrupt Flag Clear Register, Address offset: 0x08 */ + __IO uint32_t FGMAR; /*!< DMA2D Foreground Memory Address Register, Address offset: 0x0C */ + __IO uint32_t FGOR; /*!< DMA2D Foreground Offset Register, Address offset: 0x10 */ + __IO uint32_t BGMAR; /*!< DMA2D Background Memory Address Register, Address offset: 0x14 */ + __IO uint32_t BGOR; /*!< DMA2D Background Offset Register, Address offset: 0x18 */ + __IO uint32_t FGPFCCR; /*!< DMA2D Foreground PFC Control Register, Address offset: 0x1C */ + __IO uint32_t FGCOLR; /*!< DMA2D Foreground Color Register, Address offset: 0x20 */ + __IO uint32_t BGPFCCR; /*!< DMA2D Background PFC Control Register, Address offset: 0x24 */ + __IO uint32_t BGCOLR; /*!< DMA2D Background Color Register, Address offset: 0x28 */ + __IO uint32_t FGCMAR; /*!< DMA2D Foreground CLUT Memory Address Register, Address offset: 0x2C */ + __IO uint32_t BGCMAR; /*!< DMA2D Background CLUT Memory Address Register, Address offset: 0x30 */ + __IO uint32_t OPFCCR; /*!< DMA2D Output PFC Control Register, Address offset: 0x34 */ + __IO uint32_t OCOLR; /*!< DMA2D Output Color Register, Address offset: 0x38 */ + __IO uint32_t OMAR; /*!< DMA2D Output Memory Address Register, Address offset: 0x3C */ + __IO uint32_t OOR; /*!< DMA2D Output Offset Register, Address offset: 0x40 */ + __IO uint32_t NLR; /*!< DMA2D Number of Line Register, Address offset: 0x44 */ + __IO uint32_t LWR; /*!< DMA2D Line Watermark Register, Address offset: 0x48 */ + __IO uint32_t AMTCR; /*!< DMA2D AHB Master Timer Configuration Register, Address offset: 0x4C */ + uint32_t RESERVED[236]; /*!< Reserved, 0x50-0x3FF */ + __IO uint32_t FGCLUT[256]; /*!< DMA2D Foreground CLUT, Address offset:400-7FF */ + __IO uint32_t BGCLUT[256]; /*!< DMA2D Background CLUT, Address offset:800-BFF */ +} DMA2D_TypeDef; + +/** + * @brief Ethernet MAC + */ +typedef struct +{ + __IO uint32_t MACCR; + __IO uint32_t MACECR; + __IO uint32_t MACPFR; + __IO uint32_t MACWTR; + __IO uint32_t MACHT0R; + __IO uint32_t MACHT1R; + uint32_t RESERVED1[14]; + __IO uint32_t MACVTR; + uint32_t RESERVED2; + __IO uint32_t MACVHTR; + uint32_t RESERVED3; + __IO uint32_t MACVIR; + __IO uint32_t MACIVIR; + uint32_t RESERVED4[2]; + __IO uint32_t MACTFCR; + uint32_t RESERVED5[7]; + __IO uint32_t MACRFCR; + uint32_t RESERVED6[7]; + __IO uint32_t MACISR; + __IO uint32_t MACIER; + __IO uint32_t MACRXTXSR; + uint32_t RESERVED7; + __IO uint32_t MACPCSR; + __IO uint32_t MACRWKPFR; + uint32_t RESERVED8[2]; + __IO uint32_t MACLCSR; + __IO uint32_t MACLTCR; + __IO uint32_t MACLETR; + __IO uint32_t MAC1USTCR; + uint32_t RESERVED9[12]; + __IO uint32_t MACVR; + __IO uint32_t MACDR; + uint32_t RESERVED10; + __IO uint32_t MACHWF0R; + __IO uint32_t MACHWF1R; + __IO uint32_t MACHWF2R; + uint32_t RESERVED11[54]; + __IO uint32_t MACMDIOAR; + __IO uint32_t MACMDIODR; + uint32_t RESERVED12[2]; + __IO uint32_t MACARPAR; + uint32_t RESERVED13[59]; + __IO uint32_t MACA0HR; + __IO uint32_t MACA0LR; + __IO uint32_t MACA1HR; + __IO uint32_t MACA1LR; + __IO uint32_t MACA2HR; + __IO uint32_t MACA2LR; + __IO uint32_t MACA3HR; + __IO uint32_t MACA3LR; + uint32_t RESERVED14[248]; + __IO uint32_t MMCCR; + __IO uint32_t MMCRIR; + __IO uint32_t MMCTIR; + __IO uint32_t MMCRIMR; + __IO uint32_t MMCTIMR; + uint32_t RESERVED15[14]; + __IO uint32_t MMCTSCGPR; + __IO uint32_t MMCTMCGPR; + int32_t RESERVED16[5]; + __IO uint32_t MMCTPCGR; + uint32_t RESERVED17[10]; + __IO uint32_t MMCRCRCEPR; + __IO uint32_t MMCRAEPR; + uint32_t RESERVED18[10]; + __IO uint32_t MMCRUPGR; + uint32_t RESERVED19[9]; + __IO uint32_t MMCTLPIMSTR; + __IO uint32_t MMCTLPITCR; + __IO uint32_t MMCRLPIMSTR; + __IO uint32_t MMCRLPITCR; + uint32_t RESERVED20[65]; + __IO uint32_t MACL3L4C0R; + __IO uint32_t MACL4A0R; + uint32_t RESERVED21[2]; + __IO uint32_t MACL3A0R0R; + __IO uint32_t MACL3A1R0R; + __IO uint32_t MACL3A2R0R; + __IO uint32_t MACL3A3R0R; + uint32_t RESERVED22[4]; + __IO uint32_t MACL3L4C1R; + __IO uint32_t MACL4A1R; + uint32_t RESERVED23[2]; + __IO uint32_t MACL3A0R1R; + __IO uint32_t MACL3A1R1R; + __IO uint32_t MACL3A2R1R; + __IO uint32_t MACL3A3R1R; + uint32_t RESERVED24[108]; + __IO uint32_t MACTSCR; + __IO uint32_t MACSSIR; + __IO uint32_t MACSTSR; + __IO uint32_t MACSTNR; + __IO uint32_t MACSTSUR; + __IO uint32_t MACSTNUR; + __IO uint32_t MACTSAR; + uint32_t RESERVED25; + __IO uint32_t MACTSSR; + uint32_t RESERVED26[3]; + __IO uint32_t MACTTSSNR; + __IO uint32_t MACTTSSSR; + uint32_t RESERVED27[2]; + __IO uint32_t MACACR; + uint32_t RESERVED28; + __IO uint32_t MACATSNR; + __IO uint32_t MACATSSR; + __IO uint32_t MACTSIACR; + __IO uint32_t MACTSEACR; + __IO uint32_t MACTSICNR; + __IO uint32_t MACTSECNR; + uint32_t RESERVED29[4]; + __IO uint32_t MACPPSCR; + uint32_t RESERVED30[3]; + __IO uint32_t MACPPSTTSR; + __IO uint32_t MACPPSTTNR; + __IO uint32_t MACPPSIR; + __IO uint32_t MACPPSWR; + uint32_t RESERVED31[12]; + __IO uint32_t MACPOCR; + __IO uint32_t MACSPI0R; + __IO uint32_t MACSPI1R; + __IO uint32_t MACSPI2R; + __IO uint32_t MACLMIR; + uint32_t RESERVED32[11]; + __IO uint32_t MTLOMR; + uint32_t RESERVED33[7]; + __IO uint32_t MTLISR; + uint32_t RESERVED34[55]; + __IO uint32_t MTLTQOMR; + __IO uint32_t MTLTQUR; + __IO uint32_t MTLTQDR; + uint32_t RESERVED35[8]; + __IO uint32_t MTLQICSR; + __IO uint32_t MTLRQOMR; + __IO uint32_t MTLRQMPOCR; + __IO uint32_t MTLRQDR; + uint32_t RESERVED36[177]; + __IO uint32_t DMAMR; + __IO uint32_t DMASBMR; + __IO uint32_t DMAISR; + __IO uint32_t DMADSR; + uint32_t RESERVED37[60]; + __IO uint32_t DMACCR; + __IO uint32_t DMACTCR; + __IO uint32_t DMACRCR; + uint32_t RESERVED38[2]; + __IO uint32_t DMACTDLAR; + uint32_t RESERVED39; + __IO uint32_t DMACRDLAR; + __IO uint32_t DMACTDTPR; + uint32_t RESERVED40; + __IO uint32_t DMACRDTPR; + __IO uint32_t DMACTDRLR; + __IO uint32_t DMACRDRLR; + __IO uint32_t DMACIER; + __IO uint32_t DMACRIWTR; +__IO uint32_t DMACSFCSR; + uint32_t RESERVED41; + __IO uint32_t DMACCATDR; + uint32_t RESERVED42; + __IO uint32_t DMACCARDR; + uint32_t RESERVED43; + __IO uint32_t DMACCATBR; + uint32_t RESERVED44; + __IO uint32_t DMACCARBR; + __IO uint32_t DMACSR; +uint32_t RESERVED45[2]; +__IO uint32_t DMACMFCR; +}ETH_TypeDef; + +/** + * @brief External Interrupt/Event Controller + */ + +typedef struct +{ +__IO uint32_t RTSR1; /*!< EXTI Rising trigger selection register, Address offset: 0x00 */ +__IO uint32_t FTSR1; /*!< EXTI Falling trigger selection register, Address offset: 0x04 */ +__IO uint32_t SWIER1; /*!< EXTI Software interrupt event register, Address offset: 0x08 */ +__IO uint32_t D3PMR1; /*!< EXTI D3 Pending mask register, Address offset: 0x0C */ +__IO uint32_t D3PCR1L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x10 */ +__IO uint32_t D3PCR1H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x14 */ +uint32_t RESERVED1; /*!< Reserved, 0x18 */ +uint32_t RESERVED2; /*!< Reserved, 0x1C */ +__IO uint32_t RTSR2; /*!< EXTI Rising trigger selection register, Address offset: 0x20 */ +__IO uint32_t FTSR2; /*!< EXTI Falling trigger selection register, Address offset: 0x24 */ +__IO uint32_t SWIER2; /*!< EXTI Software interrupt event register, Address offset: 0x28 */ +__IO uint32_t D3PMR2; /*!< EXTI D3 Pending mask register, Address offset: 0x2C */ +__IO uint32_t D3PCR2L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x30 */ +__IO uint32_t D3PCR2H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x34 */ +uint32_t RESERVED3; /*!< Reserved, 0x38 */ +uint32_t RESERVED4; /*!< Reserved, 0x3C */ +__IO uint32_t RTSR3; /*!< EXTI Rising trigger selection register, Address offset: 0x40 */ +__IO uint32_t FTSR3; /*!< EXTI Falling trigger selection register, Address offset: 0x44 */ +__IO uint32_t SWIER3; /*!< EXTI Software interrupt event register, Address offset: 0x48 */ +__IO uint32_t D3PMR3; /*!< EXTI D3 Pending mask register, Address offset: 0x4C */ +__IO uint32_t D3PCR3L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x50 */ +__IO uint32_t D3PCR3H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x54 */ +}EXTI_TypeDef; + +typedef struct +{ +__IO uint32_t IMR1; /*!< EXTI Interrupt mask register, Address offset: 0x00 */ +__IO uint32_t EMR1; /*!< EXTI Event mask register, Address offset: 0x04 */ +__IO uint32_t PR1; /*!< EXTI Pending register, Address offset: 0x08 */ +uint32_t RESERVED1; /*!< Reserved, 0x0C */ +__IO uint32_t IMR2; /*!< EXTI Interrupt mask register, Address offset: 0x10 */ +__IO uint32_t EMR2; /*!< EXTI Event mask register, Address offset: 0x14 */ +__IO uint32_t PR2; /*!< EXTI Pending register, Address offset: 0x18 */ +uint32_t RESERVED2; /*!< Reserved, 0x1C */ +__IO uint32_t IMR3; /*!< EXTI Interrupt mask register, Address offset: 0x20 */ +__IO uint32_t EMR3; /*!< EXTI Event mask register, Address offset: 0x24 */ +__IO uint32_t PR3; /*!< EXTI Pending register, Address offset: 0x28 */ +}EXTI_Core_TypeDef; + + +/** + * @brief FLASH Registers + */ + +typedef struct +{ + __IO uint32_t ACR; /*!< FLASH access control register, Address offset: 0x00 */ + __IO uint32_t KEYR1; /*!< Flash Key Register for bank1, Address offset: 0x04 */ + __IO uint32_t OPTKEYR; /*!< Flash Option Key Register, Address offset: 0x08 */ + __IO uint32_t CR1; /*!< Flash Control Register for bank1, Address offset: 0x0C */ + __IO uint32_t SR1; /*!< Flash Status Register for bank1, Address offset: 0x10 */ + __IO uint32_t CCR1; /*!< Flash Control Register for bank1, Address offset: 0x14 */ + __IO uint32_t OPTCR; /*!< Flash Option Control Register, Address offset: 0x18 */ + __IO uint32_t OPTSR_CUR; /*!< Flash Option Status Current Register, Address offset: 0x1C */ + __IO uint32_t OPTSR_PRG; /*!< Flash Option Status Current Register, Address offset: 0x20 */ + __IO uint32_t OPTCCR; /*!< Flash Option Clear Control Register, Address offset: 0x24 */ + __IO uint32_t PRAR_CUR1; /*!< Flash Current Protection Address Register for bank1, Address offset: 0x28 */ + __IO uint32_t PRAR_PRG1; /*!< Flash Protection Address to Program Register for bank1, Address offset: 0x2C */ + __IO uint32_t SCAR_CUR1; /*!< Flash Current Secure Address Register for bank1, Address offset: 0x30 */ + __IO uint32_t SCAR_PRG1; /*!< Flash Secure Address Register for bank1, Address offset: 0x34 */ + __IO uint32_t WPSN_CUR1; /*!< Flash Current Write Protection Register on bank1, Address offset: 0x38 */ + __IO uint32_t WPSN_PRG1; /*!< Flash Write Protection to Program Register on bank1, Address offset: 0x3C */ + __IO uint32_t BOOT_CUR; /*!< Flash Current Boot Address for Pelican Core Register, Address offset: 0x40 */ + __IO uint32_t BOOT_PRG; /*!< Flash Boot Address to Program for Pelican Core Register, Address offset: 0x44 */ + uint32_t RESERVED0[2]; /*!< Reserved, 0x48 to 0x4C */ + __IO uint32_t CRCCR1; /*!< Flash CRC Control register For Bank1 Register , Address offset: 0x50 */ + __IO uint32_t CRCSADD1; /*!< Flash CRC Start Address Register for Bank1 , Address offset: 0x54 */ + __IO uint32_t CRCEADD1; /*!< Flash CRC End Address Register for Bank1 , Address offset: 0x58 */ + __IO uint32_t CRCDATA; /*!< Flash CRC Data Register for Bank1 , Address offset: 0x5C */ + __IO uint32_t ECC_FA1; /*!< Flash ECC Fail Address For Bank1 Register , Address offset: 0x60 */ + uint32_t RESERVED1[40]; /*!< Reserved, 0x64 to 0x100 */ + __IO uint32_t KEYR2; /*!< Flash Key Register for bank2, Address offset: 0x104 */ + uint32_t RESERVED2; /*!< Reserved, 0x108 */ + __IO uint32_t CR2; /*!< Flash Control Register for bank2, Address offset: 0x10C */ + __IO uint32_t SR2; /*!< Flash Status Register for bank2, Address offset: 0x110 */ + __IO uint32_t CCR2; /*!< Flash Status Register for bank2, Address offset: 0x114 */ + uint32_t RESERVED3[4]; /*!< Reserved, 0x118 to 0x124 */ + __IO uint32_t PRAR_CUR2; /*!< Flash Current Protection Address Register for bank2, Address offset: 0x128 */ + __IO uint32_t PRAR_PRG2; /*!< Flash Protection Address to Program Register for bank2, Address offset: 0x12C */ + __IO uint32_t SCAR_CUR2; /*!< Flash Current Secure Address Register for bank2, Address offset: 0x130 */ + __IO uint32_t SCAR_PRG2; /*!< Flash Secure Address Register for bank2, Address offset: 0x134 */ + __IO uint32_t WPSN_CUR2; /*!< Flash Current Write Protection Register on bank2, Address offset: 0x138 */ + __IO uint32_t WPSN_PRG2; /*!< Flash Write Protection to Program Register on bank2, Address offset: 0x13C */ + uint32_t RESERVED4[4]; /*!< Reserved, 0x140 to 0x14C */ + __IO uint32_t CRCCR2; /*!< Flash CRC Control register For Bank2 Register , Address offset: 0x150 */ + __IO uint32_t CRCSADD2; /*!< Flash CRC Start Address Register for Bank2 , Address offset: 0x154 */ + __IO uint32_t CRCEADD2; /*!< Flash CRC End Address Register for Bank2 , Address offset: 0x158 */ + __IO uint32_t CRCDATA2; /*!< Flash CRC Data Register for Bank2 , Address offset: 0x15C */ + __IO uint32_t ECC_FA2; /*!< Flash ECC Fail Address For Bank2 Register , Address offset: 0x160 */ +} FLASH_TypeDef; + +/** + * @brief Flexible Memory Controller + */ + +typedef struct +{ + __IO uint32_t BTCR[8]; /*!< NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR), Address offset: 0x00-1C */ +} FMC_Bank1_TypeDef; + +/** + * @brief Flexible Memory Controller Bank1E + */ + +typedef struct +{ + __IO uint32_t BWTR[7]; /*!< NOR/PSRAM write timing registers, Address offset: 0x104-0x11C */ +} FMC_Bank1E_TypeDef; + +/** + * @brief Flexible Memory Controller Bank2 + */ + +typedef struct +{ + __IO uint32_t PCR2; /*!< NAND Flash control register 2, Address offset: 0x60 */ + __IO uint32_t SR2; /*!< NAND Flash FIFO status and interrupt register 2, Address offset: 0x64 */ + __IO uint32_t PMEM2; /*!< NAND Flash Common memory space timing register 2, Address offset: 0x68 */ + __IO uint32_t PATT2; /*!< NAND Flash Attribute memory space timing register 2, Address offset: 0x6C */ + uint32_t RESERVED0; /*!< Reserved, 0x70 */ + __IO uint32_t ECCR2; /*!< NAND Flash ECC result registers 2, Address offset: 0x74 */ +} FMC_Bank2_TypeDef; + +/** + * @brief Flexible Memory Controller Bank3 + */ + +typedef struct +{ + __IO uint32_t PCR; /*!< NAND Flash control register 3, Address offset: 0x80 */ + __IO uint32_t SR; /*!< NAND Flash FIFO status and interrupt register 3, Address offset: 0x84 */ + __IO uint32_t PMEM; /*!< NAND Flash Common memory space timing register 3, Address offset: 0x88 */ + __IO uint32_t PATT; /*!< NAND Flash Attribute memory space timing register 3, Address offset: 0x8C */ + uint32_t RESERVED; /*!< Reserved, 0x90 */ + __IO uint32_t ECCR; /*!< NAND Flash ECC result registers 3, Address offset: 0x94 */ +} FMC_Bank3_TypeDef; + +/** + * @brief Flexible Memory Controller Bank5 and 6 + */ + + +typedef struct +{ + __IO uint32_t SDCR[2]; /*!< SDRAM Control registers , Address offset: 0x140-0x144 */ + __IO uint32_t SDTR[2]; /*!< SDRAM Timing registers , Address offset: 0x148-0x14C */ + __IO uint32_t SDCMR; /*!< SDRAM Command Mode register, Address offset: 0x150 */ + __IO uint32_t SDRTR; /*!< SDRAM Refresh Timer register, Address offset: 0x154 */ + __IO uint32_t SDSR; /*!< SDRAM Status register, Address offset: 0x158 */ +} FMC_Bank5_6_TypeDef; + +/** + * @brief General Purpose I/O + */ + +typedef struct +{ + __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ + __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ + __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */ + __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */ + __IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ + __IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ + __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low register, Address offset: 0x18 */ + __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, Address offset: 0x1A */ + __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ + __IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */ +} GPIO_TypeDef; + +/** + * @brief Operational Amplifier (OPAMP) + */ + +typedef struct +{ + __IO uint32_t CSR; /*!< OPAMP control/status register, Address offset: 0x00 */ + __IO uint32_t OTR; /*!< OPAMP offset trimming register for normal mode, Address offset: 0x04 */ + __IO uint32_t HSOTR; /*!< OPAMP offset trimming register for high speed mode, Address offset: 0x08 */ +} OPAMP_TypeDef; + +/** + * @brief System configuration controller + */ + +typedef struct +{ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x00 */ + __IO uint32_t PMCR; /*!< SYSCFG peripheral mode configuration register, Address offset: 0x04 */ + __IO uint32_t EXTICR[4]; /*!< SYSCFG external interrupt configuration registers, Address offset: 0x08-0x14 */ + uint32_t RESERVED2[2]; /*!< Reserved, Address offset: 0x18-0x1C */ + __IO uint32_t CCCSR; /*!< SYSCFG compensation cell control/status register, Address offset: 0x20 */ + __IO uint32_t CCVR; /*!< SYSCFG compensation cell value register, Address offset: 0x24 */ + __IO uint32_t CCCR; /*!< SYSCFG compensation cell code register, Address offset: 0x28 */ + uint32_t RESERVED3[62]; /*!< Reserved, 0x2C-0x120 */ + __IO uint32_t PKGR; /*!< SYSCFG package register, Address offset: 0x124 */ + uint32_t RESERVED4[118]; /*!< Reserved, 0x128-0x2FC */ + __IO uint32_t UR0; /*!< SYSCFG user register 0, Address offset: 0x300 */ + __IO uint32_t UR1; /*!< SYSCFG user register 1, Address offset: 0x304 */ + __IO uint32_t UR2; /*!< SYSCFG user register 2, Address offset: 0x308 */ + __IO uint32_t UR3; /*!< SYSCFG user register 3, Address offset: 0x30C */ + __IO uint32_t UR4; /*!< SYSCFG user register 4, Address offset: 0x310 */ + __IO uint32_t UR5; /*!< SYSCFG user register 5, Address offset: 0x314 */ + __IO uint32_t UR6; /*!< SYSCFG user register 6, Address offset: 0x318 */ + __IO uint32_t UR7; /*!< SYSCFG user register 7, Address offset: 0x31C */ + __IO uint32_t UR8; /*!< SYSCFG user register 8, Address offset: 0x320 */ + __IO uint32_t UR9; /*!< SYSCFG user register 9, Address offset: 0x324 */ + __IO uint32_t UR10; /*!< SYSCFG user register 10, Address offset: 0x328 */ + __IO uint32_t UR11; /*!< SYSCFG user register 11, Address offset: 0x32C */ + __IO uint32_t UR12; /*!< SYSCFG user register 12, Address offset: 0x330 */ + __IO uint32_t UR13; /*!< SYSCFG user register 13, Address offset: 0x334 */ + __IO uint32_t UR14; /*!< SYSCFG user register 14, Address offset: 0x338 */ + __IO uint32_t UR15; /*!< SYSCFG user register 15, Address offset: 0x33C */ + __IO uint32_t UR16; /*!< SYSCFG user register 16, Address offset: 0x340 */ + __IO uint32_t UR17; /*!< SYSCFG user register 17, Address offset: 0x344 */ + +} SYSCFG_TypeDef; + +/** + * @brief Inter-integrated Circuit Interface + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< I2C Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< I2C Control register 2, Address offset: 0x04 */ + __IO uint32_t OAR1; /*!< I2C Own address 1 register, Address offset: 0x08 */ + __IO uint32_t OAR2; /*!< I2C Own address 2 register, Address offset: 0x0C */ + __IO uint32_t TIMINGR; /*!< I2C Timing register, Address offset: 0x10 */ + __IO uint32_t TIMEOUTR; /*!< I2C Timeout register, Address offset: 0x14 */ + __IO uint32_t ISR; /*!< I2C Interrupt and status register, Address offset: 0x18 */ + __IO uint32_t ICR; /*!< I2C Interrupt clear register, Address offset: 0x1C */ + __IO uint32_t PECR; /*!< I2C PEC register, Address offset: 0x20 */ + __IO uint32_t RXDR; /*!< I2C Receive data register, Address offset: 0x24 */ + __IO uint32_t TXDR; /*!< I2C Transmit data register, Address offset: 0x28 */ +} I2C_TypeDef; + +/** + * @brief Independent WATCHDOG + */ + +typedef struct +{ + __IO uint32_t KR; /*!< IWDG Key register, Address offset: 0x00 */ + __IO uint32_t PR; /*!< IWDG Prescaler register, Address offset: 0x04 */ + __IO uint32_t RLR; /*!< IWDG Reload register, Address offset: 0x08 */ + __IO uint32_t SR; /*!< IWDG Status register, Address offset: 0x0C */ + __IO uint32_t WINR; /*!< IWDG Window register, Address offset: 0x10 */ +} IWDG_TypeDef; + + +/** + * @brief JPEG Codec + */ +typedef struct +{ + __IO uint32_t CONFR0; /*!< JPEG Codec Control Register (JPEG_CONFR0), Address offset: 00h */ + __IO uint32_t CONFR1; /*!< JPEG Codec Control Register (JPEG_CONFR1), Address offset: 04h */ + __IO uint32_t CONFR2; /*!< JPEG Codec Control Register (JPEG_CONFR2), Address offset: 08h */ + __IO uint32_t CONFR3; /*!< JPEG Codec Control Register (JPEG_CONFR3), Address offset: 0Ch */ + __IO uint32_t CONFR4; /*!< JPEG Codec Control Register (JPEG_CONFR4), Address offset: 10h */ + __IO uint32_t CONFR5; /*!< JPEG Codec Control Register (JPEG_CONFR5), Address offset: 14h */ + __IO uint32_t CONFR6; /*!< JPEG Codec Control Register (JPEG_CONFR6), Address offset: 18h */ + __IO uint32_t CONFR7; /*!< JPEG Codec Control Register (JPEG_CONFR7), Address offset: 1Ch */ + uint32_t Reserved20[4]; /* Reserved Address offset: 20h-2Ch */ + __IO uint32_t CR; /*!< JPEG Control Register (JPEG_CR), Address offset: 30h */ + __IO uint32_t SR; /*!< JPEG Status Register (JPEG_SR), Address offset: 34h */ + __IO uint32_t CFR; /*!< JPEG Clear Flag Register (JPEG_CFR), Address offset: 38h */ + uint32_t Reserved3c; /* Reserved Address offset: 3Ch */ + __IO uint32_t DIR; /*!< JPEG Data Input Register (JPEG_DIR), Address offset: 40h */ + __IO uint32_t DOR; /*!< JPEG Data Output Register (JPEG_DOR), Address offset: 44h */ + uint32_t Reserved48[2]; /* Reserved Address offset: 48h-4Ch */ + __IO uint32_t QMEM0[16]; /*!< JPEG quantization tables 0, Address offset: 50h-8Ch */ + __IO uint32_t QMEM1[16]; /*!< JPEG quantization tables 1, Address offset: 90h-CCh */ + __IO uint32_t QMEM2[16]; /*!< JPEG quantization tables 2, Address offset: D0h-10Ch */ + __IO uint32_t QMEM3[16]; /*!< JPEG quantization tables 3, Address offset: 110h-14Ch */ + __IO uint32_t HUFFMIN[16]; /*!< JPEG HuffMin tables, Address offset: 150h-18Ch */ + __IO uint32_t HUFFBASE[32]; /*!< JPEG HuffSymb tables, Address offset: 190h-20Ch */ + __IO uint32_t HUFFSYMB[84]; /*!< JPEG HUFFSYMB tables, Address offset: 210h-35Ch */ + __IO uint32_t DHTMEM[103]; /*!< JPEG DHTMem tables, Address offset: 360h-4F8h */ + uint32_t Reserved4FC; /* Reserved Address offset: 4FCh */ + __IO uint32_t HUFFENC_AC0[88]; /*!< JPEG encodor, AC Huffman table 0, Address offset: 500h-65Ch */ + __IO uint32_t HUFFENC_AC1[88]; /*!< JPEG encodor, AC Huffman table 1, Address offset: 660h-7BCh */ + __IO uint32_t HUFFENC_DC0[8]; /*!< JPEG encodor, DC Huffman table 0, Address offset: 7C0h-7DCh */ + __IO uint32_t HUFFENC_DC1[8]; /*!< JPEG encodor, DC Huffman table 1, Address offset: 7E0h-7FCh */ + +} JPEG_TypeDef; + + +/** + * @brief LCD-TFT Display Controller + */ + +typedef struct +{ + uint32_t RESERVED0[2]; /*!< Reserved, 0x00-0x04 */ + __IO uint32_t SSCR; /*!< LTDC Synchronization Size Configuration Register, Address offset: 0x08 */ + __IO uint32_t BPCR; /*!< LTDC Back Porch Configuration Register, Address offset: 0x0C */ + __IO uint32_t AWCR; /*!< LTDC Active Width Configuration Register, Address offset: 0x10 */ + __IO uint32_t TWCR; /*!< LTDC Total Width Configuration Register, Address offset: 0x14 */ + __IO uint32_t GCR; /*!< LTDC Global Control Register, Address offset: 0x18 */ + uint32_t RESERVED1[2]; /*!< Reserved, 0x1C-0x20 */ + __IO uint32_t SRCR; /*!< LTDC Shadow Reload Configuration Register, Address offset: 0x24 */ + uint32_t RESERVED2[1]; /*!< Reserved, 0x28 */ + __IO uint32_t BCCR; /*!< LTDC Background Color Configuration Register, Address offset: 0x2C */ + uint32_t RESERVED3[1]; /*!< Reserved, 0x30 */ + __IO uint32_t IER; /*!< LTDC Interrupt Enable Register, Address offset: 0x34 */ + __IO uint32_t ISR; /*!< LTDC Interrupt Status Register, Address offset: 0x38 */ + __IO uint32_t ICR; /*!< LTDC Interrupt Clear Register, Address offset: 0x3C */ + __IO uint32_t LIPCR; /*!< LTDC Line Interrupt Position Configuration Register, Address offset: 0x40 */ + __IO uint32_t CPSR; /*!< LTDC Current Position Status Register, Address offset: 0x44 */ + __IO uint32_t CDSR; /*!< LTDC Current Display Status Register, Address offset: 0x48 */ +} LTDC_TypeDef; + +/** + * @brief LCD-TFT Display layer x Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< LTDC Layerx Control Register Address offset: 0x84 */ + __IO uint32_t WHPCR; /*!< LTDC Layerx Window Horizontal Position Configuration Register Address offset: 0x88 */ + __IO uint32_t WVPCR; /*!< LTDC Layerx Window Vertical Position Configuration Register Address offset: 0x8C */ + __IO uint32_t CKCR; /*!< LTDC Layerx Color Keying Configuration Register Address offset: 0x90 */ + __IO uint32_t PFCR; /*!< LTDC Layerx Pixel Format Configuration Register Address offset: 0x94 */ + __IO uint32_t CACR; /*!< LTDC Layerx Constant Alpha Configuration Register Address offset: 0x98 */ + __IO uint32_t DCCR; /*!< LTDC Layerx Default Color Configuration Register Address offset: 0x9C */ + __IO uint32_t BFCR; /*!< LTDC Layerx Blending Factors Configuration Register Address offset: 0xA0 */ + uint32_t RESERVED0[2]; /*!< Reserved */ + __IO uint32_t CFBAR; /*!< LTDC Layerx Color Frame Buffer Address Register Address offset: 0xAC */ + __IO uint32_t CFBLR; /*!< LTDC Layerx Color Frame Buffer Length Register Address offset: 0xB0 */ + __IO uint32_t CFBLNR; /*!< LTDC Layerx ColorFrame Buffer Line Number Register Address offset: 0xB4 */ + uint32_t RESERVED1[3]; /*!< Reserved */ + __IO uint32_t CLUTWR; /*!< LTDC Layerx CLUT Write Register Address offset: 0x144 */ + +} LTDC_Layer_TypeDef; + + +/** + * @brief Power Control + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< PWR power control register 1, Address offset: 0x00 */ + __IO uint32_t CSR1; /*!< PWR power control status register 1, Address offset: 0x04 */ + __IO uint32_t CR2; /*!< PWR power control register 2, Address offset: 0x08 */ + __IO uint32_t CR3; /*!< PWR power control register 3, Address offset: 0x0C */ + __IO uint32_t CPUCR; /*!< PWR CPU control register, Address offset: 0x10 */ + uint32_t RESERVED0; /*!< Reserved, Address offset: 0x14 */ + __IO uint32_t D3CR; /*!< PWR D3 domain control register, Address offset: 0x18 */ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x1C */ + __IO uint32_t WKUPCR; /*!< PWR wakeup clear register, Address offset: 0x20 */ + __IO uint32_t WKUPFR; /*!< PWR wakeup flag register, Address offset: 0x24 */ + __IO uint32_t WKUPEPR; /*!< PWR wakeup enable and polarity register, Address offset: 0x28 */ +} PWR_TypeDef; + +/** + * @brief Reset and Clock Control + */ + +typedef struct +{ + __IO uint32_t CR; /*!< RCC clock control register, Address offset: 0x00 */ + __IO uint32_t ICSCR; /*!< RCC Internal Clock Sources Calibration Register, Address offset: 0x04 */ + __IO uint32_t CRRCR; /*!< Clock Recovery RC Register, Address offset: 0x08 */ + uint32_t RESERVED0; /*!< Reserved, Address offset: 0x0C */ + __IO uint32_t CFGR; /*!< RCC clock configuration register, Address offset: 0x10 */ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x14 */ + __IO uint32_t D1CFGR; /*!< RCC Domain 1 configuration register, Address offset: 0x18 */ + __IO uint32_t D2CFGR; /*!< RCC Domain 2 configuration register, Address offset: 0x1C */ + __IO uint32_t D3CFGR; /*!< RCC Domain 3 configuration register, Address offset: 0x20 */ + uint32_t RESERVED2; /*!< Reserved, Address offset: 0x24 */ + __IO uint32_t PLLCKSELR; /*!< RCC PLLs Clock Source Selection Register, Address offset: 0x28 */ + __IO uint32_t PLLCFGR; /*!< RCC PLLs Configuration Register, Address offset: 0x2C */ + __IO uint32_t PLL1DIVR; /*!< RCC PLL1 Dividers Configuration Register, Address offset: 0x30 */ + __IO uint32_t PLL1FRACR; /*!< RCC PLL1 Fractional Divider Configuration Register, Address offset: 0x34 */ + __IO uint32_t PLL2DIVR; /*!< RCC PLL2 Dividers Configuration Register, Address offset: 0x38 */ + __IO uint32_t PLL2FRACR; /*!< RCC PLL2 Fractional Divider Configuration Register, Address offset: 0x3C */ + __IO uint32_t PLL3DIVR; /*!< RCC PLL3 Dividers Configuration Register, Address offset: 0x40 */ + __IO uint32_t PLL3FRACR; /*!< RCC PLL3 Fractional Divider Configuration Register, Address offset: 0x44 */ + uint32_t RESERVED3; /*!< Reserved, Address offset: 0x48 */ + __IO uint32_t D1CCIPR; /*!< RCC Domain 1 Kernel Clock Configuration Register Address offset: 0x4C */ + __IO uint32_t D2CCIP1R; /*!< RCC Domain 2 Kernel Clock Configuration Register Address offset: 0x50 */ + __IO uint32_t D2CCIP2R; /*!< RCC Domain 2 Kernel Clock Configuration Register Address offset: 0x54 */ + __IO uint32_t D3CCIPR; /*!< RCC Domain 3 Kernel Clock Configuration Register Address offset: 0x58 */ + uint32_t RESERVED4; /*!< Reserved, Address offset: 0x5C */ + __IO uint32_t CIER; /*!< RCC Clock Source Interrupt Enable Register Address offset: 0x60 */ + __IO uint32_t CIFR; /*!< RCC Clock Source Interrupt Flag Register Address offset: 0x64 */ + __IO uint32_t CICR; /*!< RCC Clock Source Interrupt Clear Register Address offset: 0x68 */ + uint32_t RESERVED5; /*!< Reserved, Address offset: 0x6C */ + __IO uint32_t BDCR; /*!< RCC Vswitch Backup Domain Control Register, Address offset: 0x70 */ + __IO uint32_t CSR; /*!< RCC clock control & status register, Address offset: 0x74 */ + uint32_t RESERVED6; /*!< Reserved, Address offset: 0x78 */ + __IO uint32_t AHB3RSTR; /*!< RCC AHB3 peripheral reset register, Address offset: 0x7C */ + __IO uint32_t AHB1RSTR; /*!< RCC AHB1 peripheral reset register, Address offset: 0x80 */ + __IO uint32_t AHB2RSTR; /*!< RCC AHB2 peripheral reset register, Address offset: 0x84 */ + __IO uint32_t AHB4RSTR; /*!< RCC AHB4 peripheral reset register, Address offset: 0x88 */ + __IO uint32_t APB3RSTR; /*!< RCC APB3 peripheral reset register, Address offset: 0x8C */ + __IO uint32_t APB1LRSTR; /*!< RCC APB1 peripheral reset Low Word register, Address offset: 0x90 */ + __IO uint32_t APB1HRSTR; /*!< RCC APB1 peripheral reset High Word register, Address offset: 0x94 */ + __IO uint32_t APB2RSTR; /*!< RCC APB2 peripheral reset register, Address offset: 0x98 */ + __IO uint32_t APB4RSTR; /*!< RCC APB4 peripheral reset register, Address offset: 0x9C */ + __IO uint32_t GCR; /*!< RCC RCC Global Control Register, Address offset: 0xA0 */ + uint32_t RESERVED7; /*!< Reserved, Address offset: 0xA4 */ + __IO uint32_t D3AMR; /*!< RCC Domain 3 Autonomous Mode Register, Address offset: 0xA8 */ + uint32_t RESERVED8[9]; /*!< Reserved, 0xAC-0xCC Address offset: 0xAC */ + __IO uint32_t RSR; /*!< RCC Reset status register, Address offset: 0xD0 */ + __IO uint32_t AHB3ENR; /*!< RCC AHB3 peripheral clock register, Address offset: 0xD4 */ + __IO uint32_t AHB1ENR; /*!< RCC AHB1 peripheral clock register, Address offset: 0xD8 */ + __IO uint32_t AHB2ENR; /*!< RCC AHB2 peripheral clock register, Address offset: 0xDC */ + __IO uint32_t AHB4ENR; /*!< RCC AHB4 peripheral clock register, Address offset: 0xE0 */ + __IO uint32_t APB3ENR; /*!< RCC APB3 peripheral clock register, Address offset: 0xE4 */ + __IO uint32_t APB1LENR; /*!< RCC APB1 peripheral clock Low Word register, Address offset: 0xE8 */ + __IO uint32_t APB1HENR; /*!< RCC APB1 peripheral clock High Word register, Address offset: 0xEC */ + __IO uint32_t APB2ENR; /*!< RCC APB2 peripheral clock register, Address offset: 0xF0 */ + __IO uint32_t APB4ENR; /*!< RCC APB4 peripheral clock register, Address offset: 0xF4 */ + uint32_t RESERVED9; /*!< Reserved, Address offset: 0xF8 */ + __IO uint32_t AHB3LPENR; /*!< RCC AHB3 peripheral sleep clock register, Address offset: 0xFC */ + __IO uint32_t AHB1LPENR; /*!< RCC AHB1 peripheral sleep clock register, Address offset: 0x100 */ + __IO uint32_t AHB2LPENR; /*!< RCC AHB2 peripheral sleep clock register, Address offset: 0x104 */ + __IO uint32_t AHB4LPENR; /*!< RCC AHB4 peripheral sleep clock register, Address offset: 0x108 */ + __IO uint32_t APB3LPENR; /*!< RCC APB3 peripheral sleep clock register, Address offset: 0x10C */ + __IO uint32_t APB1LLPENR; /*!< RCC APB1 peripheral sleep clock Low Word register, Address offset: 0x110 */ + __IO uint32_t APB1HLPENR; /*!< RCC APB1 peripheral sleep clock High Word register, Address offset: 0x114 */ + __IO uint32_t APB2LPENR; /*!< RCC APB2 peripheral sleep clock register, Address offset: 0x118 */ + __IO uint32_t APB4LPENR; /*!< RCC APB4 peripheral sleep clock register, Address offset: 0x11C */ + uint32_t RESERVED10[4]; /*!< Reserved, 0x120-0x12C Address offset: 0x120 */ + +} RCC_TypeDef; + + +/** + * @brief Real-Time Clock + */ + +typedef struct +{ + __IO uint32_t TR; /*!< RTC time register, Address offset: 0x00 */ + __IO uint32_t DR; /*!< RTC date register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< RTC control register, Address offset: 0x08 */ + __IO uint32_t ISR; /*!< RTC initialization and status register, Address offset: 0x0C */ + __IO uint32_t PRER; /*!< RTC prescaler register, Address offset: 0x10 */ + __IO uint32_t WUTR; /*!< RTC wakeup timer register, Address offset: 0x14 */ + uint32_t reserved; /*!< Reserved */ + __IO uint32_t ALRMAR; /*!< RTC alarm A register, Address offset: 0x1C */ + __IO uint32_t ALRMBR; /*!< RTC alarm B register, Address offset: 0x20 */ + __IO uint32_t WPR; /*!< RTC write protection register, Address offset: 0x24 */ + __IO uint32_t SSR; /*!< RTC sub second register, Address offset: 0x28 */ + __IO uint32_t SHIFTR; /*!< RTC shift control register, Address offset: 0x2C */ + __IO uint32_t TSTR; /*!< RTC time stamp time register, Address offset: 0x30 */ + __IO uint32_t TSDR; /*!< RTC time stamp date register, Address offset: 0x34 */ + __IO uint32_t TSSSR; /*!< RTC time-stamp sub second register, Address offset: 0x38 */ + __IO uint32_t CALR; /*!< RTC calibration register, Address offset: 0x3C */ + __IO uint32_t TAMPCR; /*!< RTC tamper and alternate function configuration register, Address offset: 0x40 */ + __IO uint32_t ALRMASSR; /*!< RTC alarm A sub second register, Address offset: 0x44 */ + __IO uint32_t ALRMBSSR; /*!< RTC alarm B sub second register, Address offset: 0x48 */ + __IO uint32_t OR; /*!< RTC option register, Address offset: 0x4C */ + __IO uint32_t BKP0R; /*!< RTC backup register 0, Address offset: 0x50 */ + __IO uint32_t BKP1R; /*!< RTC backup register 1, Address offset: 0x54 */ + __IO uint32_t BKP2R; /*!< RTC backup register 2, Address offset: 0x58 */ + __IO uint32_t BKP3R; /*!< RTC backup register 3, Address offset: 0x5C */ + __IO uint32_t BKP4R; /*!< RTC backup register 4, Address offset: 0x60 */ + __IO uint32_t BKP5R; /*!< RTC backup register 5, Address offset: 0x64 */ + __IO uint32_t BKP6R; /*!< RTC backup register 6, Address offset: 0x68 */ + __IO uint32_t BKP7R; /*!< RTC backup register 7, Address offset: 0x6C */ + __IO uint32_t BKP8R; /*!< RTC backup register 8, Address offset: 0x70 */ + __IO uint32_t BKP9R; /*!< RTC backup register 9, Address offset: 0x74 */ + __IO uint32_t BKP10R; /*!< RTC backup register 10, Address offset: 0x78 */ + __IO uint32_t BKP11R; /*!< RTC backup register 11, Address offset: 0x7C */ + __IO uint32_t BKP12R; /*!< RTC backup register 12, Address offset: 0x80 */ + __IO uint32_t BKP13R; /*!< RTC backup register 13, Address offset: 0x84 */ + __IO uint32_t BKP14R; /*!< RTC backup register 14, Address offset: 0x88 */ + __IO uint32_t BKP15R; /*!< RTC backup register 15, Address offset: 0x8C */ + __IO uint32_t BKP16R; /*!< RTC backup register 16, Address offset: 0x90 */ + __IO uint32_t BKP17R; /*!< RTC backup register 17, Address offset: 0x94 */ + __IO uint32_t BKP18R; /*!< RTC backup register 18, Address offset: 0x98 */ + __IO uint32_t BKP19R; /*!< RTC backup register 19, Address offset: 0x9C */ + __IO uint32_t BKP20R; /*!< RTC backup register 20, Address offset: 0xA0 */ + __IO uint32_t BKP21R; /*!< RTC backup register 21, Address offset: 0xA4 */ + __IO uint32_t BKP22R; /*!< RTC backup register 22, Address offset: 0xA8 */ + __IO uint32_t BKP23R; /*!< RTC backup register 23, Address offset: 0xAC */ + __IO uint32_t BKP24R; /*!< RTC backup register 24, Address offset: 0xB0 */ + __IO uint32_t BKP25R; /*!< RTC backup register 25, Address offset: 0xB4 */ + __IO uint32_t BKP26R; /*!< RTC backup register 26, Address offset: 0xB8 */ + __IO uint32_t BKP27R; /*!< RTC backup register 27, Address offset: 0xBC */ + __IO uint32_t BKP28R; /*!< RTC backup register 28, Address offset: 0xC0 */ + __IO uint32_t BKP29R; /*!< RTC backup register 29, Address offset: 0xC4 */ + __IO uint32_t BKP30R; /*!< RTC backup register 30, Address offset: 0xC8 */ + __IO uint32_t BKP31R; /*!< RTC backup register 31, Address offset: 0xCC */ +} RTC_TypeDef; + + +/** + * @brief Serial Audio Interface + */ + +typedef struct +{ + __IO uint32_t GCR; /*!< SAI global configuration register, Address offset: 0x00 */ + uint32_t RESERVED0[16]; /*!< Reserved, 0x04 - 0x43 */ + __IO uint32_t PDMCR; /*!< SAI PDM control register, Address offset: 0x44 */ + __IO uint32_t PDMDLY; /*!< SAI PDM delay register, Address offset: 0x48 */ +} SAI_TypeDef; + +typedef struct +{ + __IO uint32_t CR1; /*!< SAI block x configuration register 1, Address offset: 0x04 */ + __IO uint32_t CR2; /*!< SAI block x configuration register 2, Address offset: 0x08 */ + __IO uint32_t FRCR; /*!< SAI block x frame configuration register, Address offset: 0x0C */ + __IO uint32_t SLOTR; /*!< SAI block x slot register, Address offset: 0x10 */ + __IO uint32_t IMR; /*!< SAI block x interrupt mask register, Address offset: 0x14 */ + __IO uint32_t SR; /*!< SAI block x status register, Address offset: 0x18 */ + __IO uint32_t CLRFR; /*!< SAI block x clear flag register, Address offset: 0x1C */ + __IO uint32_t DR; /*!< SAI block x data register, Address offset: 0x20 */ +} SAI_Block_TypeDef; + +/** + * @brief SPDIF-RX Interface + */ + +typedef struct +{ + __IO uint32_t CR; /*!< Control register, Address offset: 0x00 */ + __IO uint32_t IMR; /*!< Interrupt mask register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< Status register, Address offset: 0x08 */ + __IO uint32_t IFCR; /*!< Interrupt Flag Clear register, Address offset: 0x0C */ + __IO uint32_t DR; /*!< Data input register, Address offset: 0x10 */ + __IO uint32_t CSR; /*!< Channel Status register, Address offset: 0x14 */ + __IO uint32_t DIR; /*!< Debug Information register, Address offset: 0x18 */ + uint32_t RESERVED2; /*!< Reserved, 0x1A */ +} SPDIFRX_TypeDef; + + +/** + * @brief Secure digital input/output Interface + */ + +typedef struct +{ + __IO uint32_t POWER; /*!< SDMMC power control register, Address offset: 0x00 */ + __IO uint32_t CLKCR; /*!< SDMMC clock control register, Address offset: 0x04 */ + __IO uint32_t ARG; /*!< SDMMC argument register, Address offset: 0x08 */ + __IO uint32_t CMD; /*!< SDMMC command register, Address offset: 0x0C */ + __I uint32_t RESPCMD; /*!< SDMMC command response register, Address offset: 0x10 */ + __I uint32_t RESP1; /*!< SDMMC response 1 register, Address offset: 0x14 */ + __I uint32_t RESP2; /*!< SDMMC response 2 register, Address offset: 0x18 */ + __I uint32_t RESP3; /*!< SDMMC response 3 register, Address offset: 0x1C */ + __I uint32_t RESP4; /*!< SDMMC response 4 register, Address offset: 0x20 */ + __IO uint32_t DTIMER; /*!< SDMMC data timer register, Address offset: 0x24 */ + __IO uint32_t DLEN; /*!< SDMMC data length register, Address offset: 0x28 */ + __IO uint32_t DCTRL; /*!< SDMMC data control register, Address offset: 0x2C */ + __I uint32_t DCOUNT; /*!< SDMMC data counter register, Address offset: 0x30 */ + __I uint32_t STA; /*!< SDMMC status register, Address offset: 0x34 */ + __IO uint32_t ICR; /*!< SDMMC interrupt clear register, Address offset: 0x38 */ + __IO uint32_t MASK; /*!< SDMMC mask register, Address offset: 0x3C */ + __IO uint32_t ACKTIME; /*!< SDMMC Acknowledgement timer register, Address offset: 0x40 */ + uint32_t RESERVED0[3]; /*!< Reserved, 0x44 - 0x4C - 0x4C */ + __IO uint32_t IDMACTRL; /*!< SDMMC DMA control register, Address offset: 0x50 */ + __IO uint32_t IDMABSIZE; /*!< SDMMC DMA buffer size register, Address offset: 0x54 */ + __IO uint32_t IDMABASE0; /*!< SDMMC DMA buffer 0 base address register, Address offset: 0x58 */ + __IO uint32_t IDMABASE1; /*!< SDMMC DMA buffer 1 base address register, Address offset: 0x5C */ + uint32_t RESERVED1[8]; /*!< Reserved, 0x60-0x7C */ + __IO uint32_t FIFO; /*!< SDMMC data FIFO register, Address offset: 0x80 */ + uint32_t RESERVED2[222]; /*!< Reserved, 0x84-0x3F8 */ + __IO uint32_t IPVR; /*!< SDMMC data FIFO register, Address offset: 0x3FC */ +} SDMMC_TypeDef; + + +/** + * @brief Delay Block DLYB + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DELAY BLOCK control register, Address offset: 0x00 */ + __IO uint32_t CFGR; /*!< DELAY BLOCK configuration register, Address offset: 0x04 */ +} DLYB_TypeDef; + +/** + * @brief HW Semaphore HSEM + */ + +typedef struct +{ + __IO uint32_t R[32]; /*!< 2-step write lock and read back registers, Address offset: 00h-7Ch */ + __IO uint32_t RLR[32]; /*!< 1-step read lock registers, Address offset: 80h-FCh */ + __IO uint32_t IER; /*!< HSEM Interrupt enable register , Address offset: 100h */ + __IO uint32_t ICR; /*!< HSEM Interrupt clear register , Address offset: 104h */ + __IO uint32_t ISR; /*!< HSEM Interrupt Status register , Address offset: 108h */ + __IO uint32_t MISR; /*!< HSEM Interrupt Masked Status register , Address offset: 10Ch */ + uint32_t Reserved[12]; /* Reserved Address offset: 110h-13Ch*/ + __IO uint32_t CR; /*!< HSEM Semaphore clear register , Address offset: 140h */ + __IO uint32_t KEYR; /*!< HSEM Semaphore clear key register , Address offset: 144h */ + +} HSEM_TypeDef; + +/** + * @brief Serial Peripheral Interface + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< SPI Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< SPI Control register 2, Address offset: 0x04 */ + __IO uint32_t CFG1; /*!< SPI Status register, Address offset: 0x08 */ + __IO uint32_t CFG2; /*!< SPI Status register, Address offset: 0x0C */ + __IO uint32_t IER; /*!< SPI data register, Address offset: 0x10 */ + __IO uint32_t SR; /*!< SPI data register, Address offset: 0x14 */ + __IO uint32_t IFCR; /*!< SPI data register, Address offset: 0x18 */ + uint32_t RESERVED0; /*!< SPI data register, Address offset: 0x1C */ + __IO uint32_t TXDR; /*!< SPI data register, Address offset: 0x20 */ + uint32_t RESERVED1[3]; /*!< Reserved, 0x24-0x2C */ + __IO uint32_t RXDR; /*!< SPI data register, Address offset: 0x30 */ + uint32_t RESERVED2[3]; /*!< Reserved, 0x34-0x3C */ + __IO uint32_t CRCPOLY; /*!< SPI data register, Address offset: 0x40 */ + __IO uint32_t TXCRC; /*!< SPI data register, Address offset: 0x44 */ + __IO uint32_t RXCRC; /*!< SPI data register, Address offset: 0x48 */ + __IO uint32_t UDRDR; /*!< SPI data register, Address offset: 0x4C */ + __IO uint32_t I2SCFGR; /*!< SPI data register, Address offset: 0x50 */ + +} SPI_TypeDef; + +/** + * @brief QUAD Serial Peripheral Interface + */ + +typedef struct +{ + __IO uint32_t CR; /*!< QUADSPI Control register, Address offset: 0x00 */ + __IO uint32_t DCR; /*!< QUADSPI Device Configuration register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< QUADSPI Status register, Address offset: 0x08 */ + __IO uint32_t FCR; /*!< QUADSPI Flag Clear register, Address offset: 0x0C */ + __IO uint32_t DLR; /*!< QUADSPI Data Length register, Address offset: 0x10 */ + __IO uint32_t CCR; /*!< QUADSPI Communication Configuration register, Address offset: 0x14 */ + __IO uint32_t AR; /*!< QUADSPI Address register, Address offset: 0x18 */ + __IO uint32_t ABR; /*!< QUADSPI Alternate Bytes register, Address offset: 0x1C */ + __IO uint32_t DR; /*!< QUADSPI Data register, Address offset: 0x20 */ + __IO uint32_t PSMKR; /*!< QUADSPI Polling Status Mask register, Address offset: 0x24 */ + __IO uint32_t PSMAR; /*!< QUADSPI Polling Status Match register, Address offset: 0x28 */ + __IO uint32_t PIR; /*!< QUADSPI Polling Interval register, Address offset: 0x2C */ + __IO uint32_t LPTR; /*!< QUADSPI Low Power Timeout register, Address offset: 0x30 */ +} QUADSPI_TypeDef; + + +/** + * @brief TIM + */ + +typedef struct +{ + __IO uint16_t CR1; /*!< TIM control register 1, Address offset: 0x00 */ + uint16_t RESERVED0; /*!< Reserved, 0x02 */ + __IO uint32_t CR2; /*!< TIM control register 2, Address offset: 0x04 */ + __IO uint32_t SMCR; /*!< TIM slave mode control register, Address offset: 0x08 */ + __IO uint32_t DIER; /*!< TIM DMA/interrupt enable register, Address offset: 0x0C */ + __IO uint32_t SR; /*!< TIM status register, Address offset: 0x10 */ + __IO uint32_t EGR; /*!< TIM event generation register, Address offset: 0x14 */ + __IO uint32_t CCMR1; /*!< TIM capture/compare mode register 1, Address offset: 0x18 */ + __IO uint32_t CCMR2; /*!< TIM capture/compare mode register 2, Address offset: 0x1C */ + __IO uint32_t CCER; /*!< TIM capture/compare enable register, Address offset: 0x20 */ + __IO uint32_t CNT; /*!< TIM counter register, Address offset: 0x24 */ + __IO uint16_t PSC; /*!< TIM prescaler, Address offset: 0x28 */ + uint16_t RESERVED9; /*!< Reserved, 0x2A */ + __IO uint32_t ARR; /*!< TIM auto-reload register, Address offset: 0x2C */ + __IO uint16_t RCR; /*!< TIM repetition counter register, Address offset: 0x30 */ + uint16_t RESERVED10; /*!< Reserved, 0x32 */ + __IO uint32_t CCR1; /*!< TIM capture/compare register 1, Address offset: 0x34 */ + __IO uint32_t CCR2; /*!< TIM capture/compare register 2, Address offset: 0x38 */ + __IO uint32_t CCR3; /*!< TIM capture/compare register 3, Address offset: 0x3C */ + __IO uint32_t CCR4; /*!< TIM capture/compare register 4, Address offset: 0x40 */ + __IO uint32_t BDTR; /*!< TIM break and dead-time register, Address offset: 0x44 */ + __IO uint16_t DCR; /*!< TIM DMA control register, Address offset: 0x48 */ + uint16_t RESERVED12; /*!< Reserved, 0x4A */ + __IO uint16_t DMAR; /*!< TIM DMA address for full transfer, Address offset: 0x4C */ + uint16_t RESERVED13; /*!< Reserved, 0x4E */ + uint16_t RESERVED14; /*!< Reserved, 0x50 */ + __IO uint32_t CCMR3; /*!< TIM capture/compare mode register 3, Address offset: 0x54 */ + __IO uint32_t CCR5; /*!< TIM capture/compare register5, Address offset: 0x58 */ + __IO uint32_t CCR6; /*!< TIM capture/compare register6, Address offset: 0x5C */ + __IO uint32_t AF1; /*!< TIM alternate function option register 1, Address offset: 0x60 */ + __IO uint32_t AF2; /*!< TIM alternate function option register 2, Address offset: 0x64 */ + __IO uint32_t TISEL; /*!< TIM Input Selection register, Address offset: 0x68 */ +} TIM_TypeDef; + +/** + * @brief LPTIMIMER + */ +typedef struct +{ + __IO uint32_t ISR; /*!< LPTIM Interrupt and Status register, Address offset: 0x00 */ + __IO uint32_t ICR; /*!< LPTIM Interrupt Clear register, Address offset: 0x04 */ + __IO uint32_t IER; /*!< LPTIM Interrupt Enable register, Address offset: 0x08 */ + __IO uint32_t CFGR; /*!< LPTIM Configuration register, Address offset: 0x0C */ + __IO uint32_t CR; /*!< LPTIM Control register, Address offset: 0x10 */ + __IO uint32_t CMP; /*!< LPTIM Compare register, Address offset: 0x14 */ + __IO uint32_t ARR; /*!< LPTIM Autoreload register, Address offset: 0x18 */ + __IO uint32_t CNT; /*!< LPTIM Counter register, Address offset: 0x1C */ + uint16_t RESERVED1; /*!< Reserved, 0x20 */ + __IO uint32_t CFGR2; /*!< LPTIM Option register, Address offset: 0x24 */ +} LPTIM_TypeDef; + +/** + * @brief Comparator + */ +typedef struct +{ + __IO uint32_t SR; /*!< Comparator status register, Address offset: 0x00 */ + __IO uint32_t ICFR; /*!< Comparator interrupt clear flag register, Address offset: 0x04 */ + __IO uint32_t OR; /*!< Comparator option register, Address offset: 0x08 */ +} COMPOPT_TypeDef; + +typedef struct +{ + __IO uint32_t CFGR; /*!< Comparator configuration register , Address offset: 0x00 */ +} COMP_TypeDef; + +typedef struct +{ + __IO uint32_t CFGR; /*!< COMP control and status register, used for bits common to several COMP instances, Address offset: 0x00 */ +} COMP_Common_TypeDef; +/** + * @brief Universal Synchronous Asynchronous Receiver Transmitter + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< USART Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< USART Control register 2, Address offset: 0x04 */ + __IO uint32_t CR3; /*!< USART Control register 3, Address offset: 0x08 */ + __IO uint32_t BRR; /*!< USART Baud rate register, Address offset: 0x0C */ + __IO uint16_t GTPR; /*!< USART Guard time and prescaler register, Address offset: 0x10 */ + uint16_t RESERVED2; /*!< Reserved, 0x12 */ + __IO uint32_t RTOR; /*!< USART Receiver Time Out register, Address offset: 0x14 */ + __IO uint16_t RQR; /*!< USART Request register, Address offset: 0x18 */ + uint16_t RESERVED3; /*!< Reserved, 0x1A */ + __IO uint32_t ISR; /*!< USART Interrupt and status register, Address offset: 0x1C */ + __IO uint32_t ICR; /*!< USART Interrupt flag Clear register, Address offset: 0x20 */ + __IO uint16_t RDR; /*!< USART Receive Data register, Address offset: 0x24 */ + uint16_t RESERVED4; /*!< Reserved, 0x26 */ + __IO uint16_t TDR; /*!< USART Transmit Data register, Address offset: 0x28 */ + uint16_t RESERVED5; /*!< Reserved, 0x2A */ + __IO uint32_t PRESC; /*!< USART clock Prescaler register, Address offset: 0x2C */ +} USART_TypeDef; + +/** + * @brief Single Wire Protocol Master Interface SPWMI + */ +typedef struct +{ + __IO uint32_t CR; /*!< SWPMI Configuration/Control register, Address offset: 0x00 */ + __IO uint32_t BRR; /*!< SWPMI bitrate register, Address offset: 0x04 */ + uint32_t RESERVED1; /*!< Reserved, 0x08 */ + __IO uint32_t ISR; /*!< SWPMI Interrupt and Status register, Address offset: 0x0C */ + __IO uint32_t ICR; /*!< SWPMI Interrupt Flag Clear register, Address offset: 0x10 */ + __IO uint32_t IER; /*!< SWPMI Interrupt Enable register, Address offset: 0x14 */ + __IO uint32_t RFL; /*!< SWPMI Receive Frame Length register, Address offset: 0x18 */ + __IO uint32_t TDR; /*!< SWPMI Transmit data register, Address offset: 0x1C */ + __IO uint32_t RDR; /*!< SWPMI Receive data register, Address offset: 0x20 */ + __IO uint32_t OR; /*!< SWPMI Option register, Address offset: 0x24 */ +} SWPMI_TypeDef; + +/** + * @brief Window WATCHDOG + */ + +typedef struct +{ + __IO uint32_t CR; /*!< WWDG Control register, Address offset: 0x00 */ + __IO uint32_t CFR; /*!< WWDG Configuration register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< WWDG Status register, Address offset: 0x08 */ +} WWDG_TypeDef; + +/** + * @brief Crypto Processor + */ + +typedef struct +{ + __IO uint32_t CR; /*!< CRYP control register, Address offset: 0x00 */ + __IO uint32_t SR; /*!< CRYP status register, Address offset: 0x04 */ + __IO uint32_t DIN; /*!< CRYP data input register, Address offset: 0x08 */ + __IO uint32_t DOUT; /*!< CRYP data output register, Address offset: 0x0C */ + __IO uint32_t DMACR; /*!< CRYP DMA control register, Address offset: 0x10 */ + __IO uint32_t IMSCR; /*!< CRYP interrupt mask set/clear register, Address offset: 0x14 */ + __IO uint32_t RISR; /*!< CRYP raw interrupt status register, Address offset: 0x18 */ + __IO uint32_t MISR; /*!< CRYP masked interrupt status register, Address offset: 0x1C */ + __IO uint32_t K0LR; /*!< CRYP key left register 0, Address offset: 0x20 */ + __IO uint32_t K0RR; /*!< CRYP key right register 0, Address offset: 0x24 */ + __IO uint32_t K1LR; /*!< CRYP key left register 1, Address offset: 0x28 */ + __IO uint32_t K1RR; /*!< CRYP key right register 1, Address offset: 0x2C */ + __IO uint32_t K2LR; /*!< CRYP key left register 2, Address offset: 0x30 */ + __IO uint32_t K2RR; /*!< CRYP key right register 2, Address offset: 0x34 */ + __IO uint32_t K3LR; /*!< CRYP key left register 3, Address offset: 0x38 */ + __IO uint32_t K3RR; /*!< CRYP key right register 3, Address offset: 0x3C */ + __IO uint32_t IV0LR; /*!< CRYP initialization vector left-word register 0, Address offset: 0x40 */ + __IO uint32_t IV0RR; /*!< CRYP initialization vector right-word register 0, Address offset: 0x44 */ + __IO uint32_t IV1LR; /*!< CRYP initialization vector left-word register 1, Address offset: 0x48 */ + __IO uint32_t IV1RR; /*!< CRYP initialization vector right-word register 1, Address offset: 0x4C */ + __IO uint32_t CSGCMCCM0R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 0, Address offset: 0x50 */ + __IO uint32_t CSGCMCCM1R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 1, Address offset: 0x54 */ + __IO uint32_t CSGCMCCM2R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 2, Address offset: 0x58 */ + __IO uint32_t CSGCMCCM3R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 3, Address offset: 0x5C */ + __IO uint32_t CSGCMCCM4R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 4, Address offset: 0x60 */ + __IO uint32_t CSGCMCCM5R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 5, Address offset: 0x64 */ + __IO uint32_t CSGCMCCM6R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 6, Address offset: 0x68 */ + __IO uint32_t CSGCMCCM7R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 7, Address offset: 0x6C */ + __IO uint32_t CSGCM0R; /*!< CRYP GCM/GMAC context swap register 0, Address offset: 0x70 */ + __IO uint32_t CSGCM1R; /*!< CRYP GCM/GMAC context swap register 1, Address offset: 0x74 */ + __IO uint32_t CSGCM2R; /*!< CRYP GCM/GMAC context swap register 2, Address offset: 0x78 */ + __IO uint32_t CSGCM3R; /*!< CRYP GCM/GMAC context swap register 3, Address offset: 0x7C */ + __IO uint32_t CSGCM4R; /*!< CRYP GCM/GMAC context swap register 4, Address offset: 0x80 */ + __IO uint32_t CSGCM5R; /*!< CRYP GCM/GMAC context swap register 5, Address offset: 0x84 */ + __IO uint32_t CSGCM6R; /*!< CRYP GCM/GMAC context swap register 6, Address offset: 0x88 */ + __IO uint32_t CSGCM7R; /*!< CRYP GCM/GMAC context swap register 7, Address offset: 0x8C */ +} CRYP_TypeDef; + +/** + * @brief HASH + */ + +typedef struct +{ + __IO uint32_t CR; /*!< HASH control register, Address offset: 0x00 */ + __IO uint32_t DIN; /*!< HASH data input register, Address offset: 0x04 */ + __IO uint32_t STR; /*!< HASH start register, Address offset: 0x08 */ + __IO uint32_t HR[5]; /*!< HASH digest registers, Address offset: 0x0C-0x1C */ + __IO uint32_t IMR; /*!< HASH interrupt enable register, Address offset: 0x20 */ + __IO uint32_t SR; /*!< HASH status register, Address offset: 0x24 */ + uint32_t RESERVED[52]; /*!< Reserved, 0x28-0xF4 */ + __IO uint32_t CSR[54]; /*!< HASH context swap registers, Address offset: 0x0F8-0x1CC */ +} HASH_TypeDef; + +/** + * @brief HASH_DIGEST + */ + +typedef struct +{ + __IO uint32_t HR[8]; /*!< HASH digest registers, Address offset: 0x310-0x32C */ +} HASH_DIGEST_TypeDef; + +/** + * @brief High resolution Timer (HRTIM) + */ +/* HRTIM master registers definition */ +typedef struct +{ + __IO uint32_t MCR; /*!< HRTIM Master Timer control register, Address offset: 0x00 */ + __IO uint32_t MISR; /*!< HRTIM Master Timer interrupt status register, Address offset: 0x04 */ + __IO uint32_t MICR; /*!< HRTIM Master Timer interupt clear register, Address offset: 0x08 */ + __IO uint32_t MDIER; /*!< HRTIM Master Timer DMA/interrupt enable register Address offset: 0x0C */ + __IO uint32_t MCNTR; /*!< HRTIM Master Timer counter register, Address offset: 0x10 */ + __IO uint32_t MPER; /*!< HRTIM Master Timer period register, Address offset: 0x14 */ + __IO uint32_t MREP; /*!< HRTIM Master Timer repetition register, Address offset: 0x18 */ + __IO uint32_t MCMP1R; /*!< HRTIM Master Timer compare 1 register, Address offset: 0x1C */ + uint32_t RESERVED0; /*!< Reserved, 0x20 */ + __IO uint32_t MCMP2R; /*!< HRTIM Master Timer compare 2 register, Address offset: 0x24 */ + __IO uint32_t MCMP3R; /*!< HRTIM Master Timer compare 3 register, Address offset: 0x28 */ + __IO uint32_t MCMP4R; /*!< HRTIM Master Timer compare 4 register, Address offset: 0x2C */ + uint32_t RESERVED1[20]; /*!< Reserved, 0x30..0x7C */ +}HRTIM_Master_TypeDef; + +/* HRTIM Timer A to E registers definition */ +typedef struct +{ + __IO uint32_t TIMxCR; /*!< HRTIM Timerx control register, Address offset: 0x00 */ + __IO uint32_t TIMxISR; /*!< HRTIM Timerx interrupt status register, Address offset: 0x04 */ + __IO uint32_t TIMxICR; /*!< HRTIM Timerx interrupt clear register, Address offset: 0x08 */ + __IO uint32_t TIMxDIER; /*!< HRTIM Timerx DMA/interrupt enable register, Address offset: 0x0C */ + __IO uint32_t CNTxR; /*!< HRTIM Timerx counter register, Address offset: 0x10 */ + __IO uint32_t PERxR; /*!< HRTIM Timerx period register, Address offset: 0x14 */ + __IO uint32_t REPxR; /*!< HRTIM Timerx repetition register, Address offset: 0x18 */ + __IO uint32_t CMP1xR; /*!< HRTIM Timerx compare 1 register, Address offset: 0x1C */ + __IO uint32_t CMP1CxR; /*!< HRTIM Timerx compare 1 compound register, Address offset: 0x20 */ + __IO uint32_t CMP2xR; /*!< HRTIM Timerx compare 2 register, Address offset: 0x24 */ + __IO uint32_t CMP3xR; /*!< HRTIM Timerx compare 3 register, Address offset: 0x28 */ + __IO uint32_t CMP4xR; /*!< HRTIM Timerx compare 4 register, Address offset: 0x2C */ + __IO uint32_t CPT1xR; /*!< HRTIM Timerx capture 1 register, Address offset: 0x30 */ + __IO uint32_t CPT2xR; /*!< HRTIM Timerx capture 2 register, Address offset: 0x34 */ + __IO uint32_t DTxR; /*!< HRTIM Timerx dead time register, Address offset: 0x38 */ + __IO uint32_t SETx1R; /*!< HRTIM Timerx output 1 set register, Address offset: 0x3C */ + __IO uint32_t RSTx1R; /*!< HRTIM Timerx output 1 reset register, Address offset: 0x40 */ + __IO uint32_t SETx2R; /*!< HRTIM Timerx output 2 set register, Address offset: 0x44 */ + __IO uint32_t RSTx2R; /*!< HRTIM Timerx output 2 reset register, Address offset: 0x48 */ + __IO uint32_t EEFxR1; /*!< HRTIM Timerx external event filtering 1 register, Address offset: 0x4C */ + __IO uint32_t EEFxR2; /*!< HRTIM Timerx external event filtering 2 register, Address offset: 0x50 */ + __IO uint32_t RSTxR; /*!< HRTIM Timerx Reset register, Address offset: 0x54 */ + __IO uint32_t CHPxR; /*!< HRTIM Timerx Chopper register, Address offset: 0x58 */ + __IO uint32_t CPT1xCR; /*!< HRTIM Timerx Capture 1 register, Address offset: 0x5C */ + __IO uint32_t CPT2xCR; /*!< HRTIM Timerx Capture 2 register, Address offset: 0x60 */ + __IO uint32_t OUTxR; /*!< HRTIM Timerx Output register, Address offset: 0x64 */ + __IO uint32_t FLTxR; /*!< HRTIM Timerx Fault register, Address offset: 0x68 */ + uint32_t RESERVED0[5]; /*!< Reserved, 0x6C..0x7C */ +}HRTIM_Timerx_TypeDef; + +/* HRTIM common register definition */ +typedef struct +{ + __IO uint32_t CR1; /*!< HRTIM control register1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< HRTIM control register2, Address offset: 0x04 */ + __IO uint32_t ISR; /*!< HRTIM interrupt status register, Address offset: 0x08 */ + __IO uint32_t ICR; /*!< HRTIM interrupt clear register, Address offset: 0x0C */ + __IO uint32_t IER; /*!< HRTIM interrupt enable register, Address offset: 0x10 */ + __IO uint32_t OENR; /*!< HRTIM Output enable register, Address offset: 0x14 */ + __IO uint32_t ODISR; /*!< HRTIM Output disable register, Address offset: 0x18 */ + __IO uint32_t ODSR; /*!< HRTIM Output disable status register, Address offset: 0x1C */ + __IO uint32_t BMCR; /*!< HRTIM Burst mode control register, Address offset: 0x20 */ + __IO uint32_t BMTRGR; /*!< HRTIM Busrt mode trigger register, Address offset: 0x24 */ + __IO uint32_t BMCMPR; /*!< HRTIM Burst mode compare register, Address offset: 0x28 */ + __IO uint32_t BMPER; /*!< HRTIM Burst mode period register, Address offset: 0x2C */ + __IO uint32_t EECR1; /*!< HRTIM Timer external event control register1, Address offset: 0x30 */ + __IO uint32_t EECR2; /*!< HRTIM Timer external event control register2, Address offset: 0x34 */ + __IO uint32_t EECR3; /*!< HRTIM Timer external event control register3, Address offset: 0x38 */ + __IO uint32_t ADC1R; /*!< HRTIM ADC Trigger 1 register, Address offset: 0x3C */ + __IO uint32_t ADC2R; /*!< HRTIM ADC Trigger 2 register, Address offset: 0x40 */ + __IO uint32_t ADC3R; /*!< HRTIM ADC Trigger 3 register, Address offset: 0x44 */ + __IO uint32_t ADC4R; /*!< HRTIM ADC Trigger 4 register, Address offset: 0x48 */ + __IO uint32_t DLLCR; /*!< HRTIM DLL control register, Address offset: 0x4C */ + __IO uint32_t FLTINR1; /*!< HRTIM Fault input register1, Address offset: 0x50 */ + __IO uint32_t FLTINR2; /*!< HRTIM Fault input register2, Address offset: 0x54 */ + __IO uint32_t BDMUPR; /*!< HRTIM Burst DMA Master Timer update register, Address offset: 0x58 */ + __IO uint32_t BDTAUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x5C */ + __IO uint32_t BDTBUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x60 */ + __IO uint32_t BDTCUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x64 */ + __IO uint32_t BDTDUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x68 */ + __IO uint32_t BDTEUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x6C */ + __IO uint32_t BDMADR; /*!< HRTIM Burst DMA Master Data register, Address offset: 0x70 */ +}HRTIM_Common_TypeDef; + +/* HRTIM register definition */ +typedef struct { + HRTIM_Master_TypeDef sMasterRegs; + HRTIM_Timerx_TypeDef sTimerxRegs[5]; + uint32_t RESERVED0[32]; + HRTIM_Common_TypeDef sCommonRegs; +}HRTIM_TypeDef; + +/** + * @brief RNG + */ + +typedef struct +{ + __IO uint32_t CR; /*!< RNG control register, Address offset: 0x00 */ + __IO uint32_t SR; /*!< RNG status register, Address offset: 0x04 */ + __IO uint32_t DR; /*!< RNG data register, Address offset: 0x08 */ +} RNG_TypeDef; + +/** + * @brief MDIOS + */ + +typedef struct +{ + __IO uint32_t CR; + __IO uint32_t WRFR; + __IO uint32_t CWRFR; + __IO uint32_t RDFR; + __IO uint32_t CRDFR; + __IO uint32_t SR; + __IO uint32_t CLRFR; + uint32_t RESERVED[57]; + __IO uint32_t DINR0; + __IO uint32_t DINR1; + __IO uint32_t DINR2; + __IO uint32_t DINR3; + __IO uint32_t DINR4; + __IO uint32_t DINR5; + __IO uint32_t DINR6; + __IO uint32_t DINR7; + __IO uint32_t DINR8; + __IO uint32_t DINR9; + __IO uint32_t DINR10; + __IO uint32_t DINR11; + __IO uint32_t DINR12; + __IO uint32_t DINR13; + __IO uint32_t DINR14; + __IO uint32_t DINR15; + __IO uint32_t DINR16; + __IO uint32_t DINR17; + __IO uint32_t DINR18; + __IO uint32_t DINR19; + __IO uint32_t DINR20; + __IO uint32_t DINR21; + __IO uint32_t DINR22; + __IO uint32_t DINR23; + __IO uint32_t DINR24; + __IO uint32_t DINR25; + __IO uint32_t DINR26; + __IO uint32_t DINR27; + __IO uint32_t DINR28; + __IO uint32_t DINR29; + __IO uint32_t DINR30; + __IO uint32_t DINR31; + __IO uint32_t DOUTR0; + __IO uint32_t DOUTR1; + __IO uint32_t DOUTR2; + __IO uint32_t DOUTR3; + __IO uint32_t DOUTR4; + __IO uint32_t DOUTR5; + __IO uint32_t DOUTR6; + __IO uint32_t DOUTR7; + __IO uint32_t DOUTR8; + __IO uint32_t DOUTR9; + __IO uint32_t DOUTR10; + __IO uint32_t DOUTR11; + __IO uint32_t DOUTR12; + __IO uint32_t DOUTR13; + __IO uint32_t DOUTR14; + __IO uint32_t DOUTR15; + __IO uint32_t DOUTR16; + __IO uint32_t DOUTR17; + __IO uint32_t DOUTR18; + __IO uint32_t DOUTR19; + __IO uint32_t DOUTR20; + __IO uint32_t DOUTR21; + __IO uint32_t DOUTR22; + __IO uint32_t DOUTR23; + __IO uint32_t DOUTR24; + __IO uint32_t DOUTR25; + __IO uint32_t DOUTR26; + __IO uint32_t DOUTR27; + __IO uint32_t DOUTR28; + __IO uint32_t DOUTR29; + __IO uint32_t DOUTR30; + __IO uint32_t DOUTR31; +} MDIOS_TypeDef; + + +/** + * @brief USB_OTG_Core_Registers + */ +typedef struct +{ + __IO uint32_t GOTGCTL; /*!< USB_OTG Control and Status Register 000h */ + __IO uint32_t GOTGINT; /*!< USB_OTG Interrupt Register 004h */ + __IO uint32_t GAHBCFG; /*!< Core AHB Configuration Register 008h */ + __IO uint32_t GUSBCFG; /*!< Core USB Configuration Register 00Ch */ + __IO uint32_t GRSTCTL; /*!< Core Reset Register 010h */ + __IO uint32_t GINTSTS; /*!< Core Interrupt Register 014h */ + __IO uint32_t GINTMSK; /*!< Core Interrupt Mask Register 018h */ + __IO uint32_t GRXSTSR; /*!< Receive Sts Q Read Register 01Ch */ + __IO uint32_t GRXSTSP; /*!< Receive Sts Q Read & POP Register 020h */ + __IO uint32_t GRXFSIZ; /*!< Receive FIFO Size Register 024h */ + __IO uint32_t DIEPTXF0_HNPTXFSIZ; /*!< EP0 / Non Periodic Tx FIFO Size Register 028h */ + __IO uint32_t HNPTXSTS; /*!< Non Periodic Tx FIFO/Queue Sts reg 02Ch */ + uint32_t Reserved30[2]; /*!< Reserved 030h */ + __IO uint32_t GCCFG; /*!< General Purpose IO Register 038h */ + __IO uint32_t CID; /*!< User ID Register 03Ch */ + __IO uint32_t GSNPSID; /* USB_OTG core ID 040h*/ + __IO uint32_t GHWCFG1; /* User HW config1 044h*/ + __IO uint32_t GHWCFG2; /* User HW config2 048h*/ + __IO uint32_t GHWCFG3; /*!< User HW config3 04Ch */ + uint32_t Reserved6; /*!< Reserved 050h */ + __IO uint32_t GLPMCFG; /*!< LPM Register 054h */ + __IO uint32_t GPWRDN; /*!< Power Down Register 058h */ + __IO uint32_t GDFIFOCFG; /*!< DFIFO Software Config Register 05Ch */ + __IO uint32_t GADPCTL; /*!< ADP Timer, Control and Status Register 60Ch */ + uint32_t Reserved43[39]; /*!< Reserved 058h-0FFh */ + __IO uint32_t HPTXFSIZ; /*!< Host Periodic Tx FIFO Size Reg 100h */ + __IO uint32_t DIEPTXF[0x0F]; /*!< dev Periodic Transmit FIFO */ +} USB_OTG_GlobalTypeDef; + + +/** + * @brief USB_OTG_device_Registers + */ +typedef struct +{ + __IO uint32_t DCFG; /*!< dev Configuration Register 800h */ + __IO uint32_t DCTL; /*!< dev Control Register 804h */ + __IO uint32_t DSTS; /*!< dev Status Register (RO) 808h */ + uint32_t Reserved0C; /*!< Reserved 80Ch */ + __IO uint32_t DIEPMSK; /*!< dev IN Endpoint Mask 810h */ + __IO uint32_t DOEPMSK; /*!< dev OUT Endpoint Mask 814h */ + __IO uint32_t DAINT; /*!< dev All Endpoints Itr Reg 818h */ + __IO uint32_t DAINTMSK; /*!< dev All Endpoints Itr Mask 81Ch */ + uint32_t Reserved20; /*!< Reserved 820h */ + uint32_t Reserved9; /*!< Reserved 824h */ + __IO uint32_t DVBUSDIS; /*!< dev VBUS discharge Register 828h */ + __IO uint32_t DVBUSPULSE; /*!< dev VBUS Pulse Register 82Ch */ + __IO uint32_t DTHRCTL; /*!< dev threshold 830h */ + __IO uint32_t DIEPEMPMSK; /*!< dev empty msk 834h */ + __IO uint32_t DEACHINT; /*!< dedicated EP interrupt 838h */ + __IO uint32_t DEACHMSK; /*!< dedicated EP msk 83Ch */ + uint32_t Reserved40; /*!< dedicated EP mask 840h */ + __IO uint32_t DINEP1MSK; /*!< dedicated EP mask 844h */ + uint32_t Reserved44[15]; /*!< Reserved 844-87Ch */ + __IO uint32_t DOUTEP1MSK; /*!< dedicated EP msk 884h */ +} USB_OTG_DeviceTypeDef; + + +/** + * @brief USB_OTG_IN_Endpoint-Specific_Register + */ +typedef struct +{ + __IO uint32_t DIEPCTL; /*!< dev IN Endpoint Control Reg 900h + (ep_num * 20h) + 00h */ + uint32_t Reserved04; /*!< Reserved 900h + (ep_num * 20h) + 04h */ + __IO uint32_t DIEPINT; /*!< dev IN Endpoint Itr Reg 900h + (ep_num * 20h) + 08h */ + uint32_t Reserved0C; /*!< Reserved 900h + (ep_num * 20h) + 0Ch */ + __IO uint32_t DIEPTSIZ; /*!< IN Endpoint Txfer Size 900h + (ep_num * 20h) + 10h */ + __IO uint32_t DIEPDMA; /*!< IN Endpoint DMA Address Reg 900h + (ep_num * 20h) + 14h */ + __IO uint32_t DTXFSTS; /*!< IN Endpoint Tx FIFO Status Reg 900h + (ep_num * 20h) + 18h */ + uint32_t Reserved18; /*!< Reserved 900h+(ep_num*20h)+1Ch-900h+ (ep_num * 20h) + 1Ch */ +} USB_OTG_INEndpointTypeDef; + + +/** + * @brief USB_OTG_OUT_Endpoint-Specific_Registers + */ +typedef struct +{ + __IO uint32_t DOEPCTL; /*!< dev OUT Endpoint Control Reg B00h + (ep_num * 20h) + 00h */ + uint32_t Reserved04; /*!< Reserved B00h + (ep_num * 20h) + 04h */ + __IO uint32_t DOEPINT; /*!< dev OUT Endpoint Itr Reg B00h + (ep_num * 20h) + 08h */ + uint32_t Reserved0C; /*!< Reserved B00h + (ep_num * 20h) + 0Ch */ + __IO uint32_t DOEPTSIZ; /*!< dev OUT Endpoint Txfer Size B00h + (ep_num * 20h) + 10h */ + __IO uint32_t DOEPDMA; /*!< dev OUT Endpoint DMA Address B00h + (ep_num * 20h) + 14h */ + uint32_t Reserved18[2]; /*!< Reserved B00h + (ep_num * 20h) + 18h - B00h + (ep_num * 20h) + 1Ch */ +} USB_OTG_OUTEndpointTypeDef; + + +/** + * @brief USB_OTG_Host_Mode_Register_Structures + */ +typedef struct +{ + __IO uint32_t HCFG; /*!< Host Configuration Register 400h */ + __IO uint32_t HFIR; /*!< Host Frame Interval Register 404h */ + __IO uint32_t HFNUM; /*!< Host Frame Nbr/Frame Remaining 408h */ + uint32_t Reserved40C; /*!< Reserved 40Ch */ + __IO uint32_t HPTXSTS; /*!< Host Periodic Tx FIFO/ Queue Status 410h */ + __IO uint32_t HAINT; /*!< Host All Channels Interrupt Register 414h */ + __IO uint32_t HAINTMSK; /*!< Host All Channels Interrupt Mask 418h */ +} USB_OTG_HostTypeDef; + +/** + * @brief USB_OTG_Host_Channel_Specific_Registers + */ +typedef struct +{ + __IO uint32_t HCCHAR; /*!< Host Channel Characteristics Register 500h */ + __IO uint32_t HCSPLT; /*!< Host Channel Split Control Register 504h */ + __IO uint32_t HCINT; /*!< Host Channel Interrupt Register 508h */ + __IO uint32_t HCINTMSK; /*!< Host Channel Interrupt Mask Register 50Ch */ + __IO uint32_t HCTSIZ; /*!< Host Channel Transfer Size Register 510h */ + __IO uint32_t HCDMA; /*!< Host Channel DMA Address Register 514h */ + uint32_t Reserved[2]; /*!< Reserved */ +} USB_OTG_HostChannelTypeDef; +/** + * @} + */ + +/** @addtogroup Peripheral_memory_map + * @{ + */ +#define D1_ITCMRAM_BASE ((uint32_t)0x00000000) /*!< Base address of : 64KB RAM reserved for CPU execution/instruction accessible over ITCM */ +#define D1_ITCMICP_BASE ((uint32_t)0x00100000) /*!< Base address of : (up to 128KB) embedded Test FLASH memory accessible over ITCM */ +#define D1_DTCMRAM_BASE ((uint32_t)0x20000000) /*!< Base address of : 128KB system data RAM accessible over DTCM */ +#define D1_AXIFLASH_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 128 KB) embedded FLASH memory accessible over AXI */ +#define D1_AXIICP_BASE ((uint32_t)0x1FF00000) /*!< Base address of : (up to 128KB) embedded Test FLASH memory accessible over AXI */ +#define D1_AXISRAM_BASE ((uint32_t)0x24000000) /*!< Base address of : (up to 512KB) system data RAM accessible over over AXI */ + +#define D2_AXISRAM_BASE ((uint32_t)0x10000000) /*!< Base address of : (up to 288KB) system data RAM accessible over over AXI */ +#define D2_AHBSRAM_BASE ((uint32_t)0x30000000) /*!< Base address of : (up to 288KB) system data RAM accessible over over AXI->AHB Bridge */ + +#define D3_BKPSRAM_BASE ((uint32_t)0x38800000) /*!< Base address of : Backup SRAM(4 KB) over AXI->AHB Bridge */ +#define D3_SRAM_BASE ((uint32_t)0x38000000) /*!< Base address of : Backup SRAM(64 KB) over AXI->AHB Bridge */ + +#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Base address of : AHB/ABP Peripherals */ +#define QSPI_BASE ((uint32_t)0x90000000) /*!< Base address of : QSPI memories accessible over AXI */ + +#define FLASH_BANK1_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 128 KB) Flash Bank1 accessible over AXI */ +#define FLASH_END ((uint32_t)0x0801FFFF) /*!< FLASH end address */ + +#define FLASH_OTP_BANK1_BASE ((uint32_t)0x1FF00000) /*!< Base address of : (up to 128KB) embedded FLASH Bank1 OTP Area */ +#define FLASH_OTP_BANK1_END ((uint32_t)0x1FF1FFFF) /*!< End address of : (up to 128KB) embedded FLASH Bank1 OTP Area */ + +/* Legacy define */ +#define FLASH_BASE FLASH_BANK1_BASE + +#define FLASH_BANK2_BASE ((uint32_t)0x08100000) /*!< For legacy only , Flash bank 2 not available on STM32H750xx value line */ +#define FLASH_OTP_BANK2_BASE ((uint32_t)0x1FF40000) /*!< For legacy only , Flash bank 2 not available on STM32H750xx value line */ +#define FLASH_OTP_BANK2_END ((uint32_t)0x1FF5FFFF) /*!< For legacy only , Flash bank 2 not available on STM32H750xx value line */ + +/*!< Peripheral memory map */ +#define D2_APB1PERIPH_BASE PERIPH_BASE +#define D2_APB2PERIPH_BASE (PERIPH_BASE + 0x00010000) +#define D2_AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000) +#define D2_AHB2PERIPH_BASE (PERIPH_BASE + 0x08020000) + +#define D1_APB1PERIPH_BASE (PERIPH_BASE + 0x10000000) +#define D1_AHB1PERIPH_BASE (PERIPH_BASE + 0x12000000) + +#define D3_APB1PERIPH_BASE (PERIPH_BASE + 0x18000000) +#define D3_AHB1PERIPH_BASE (PERIPH_BASE + 0x18020000) + +/*!< Legacy Peripheral memory map */ +#define APB1PERIPH_BASE PERIPH_BASE +#define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000) +#define AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000) +#define AHB2PERIPH_BASE (PERIPH_BASE + 0x08000000) + +/*!< D1_AHB1PERIPH peripherals */ + +#define MDMA_BASE (D1_AHB1PERIPH_BASE + 0x0000) +#define DMA2D_BASE (D1_AHB1PERIPH_BASE + 0x1000) +#define JPGDEC_BASE (D1_AHB1PERIPH_BASE + 0x3000) +#define FLASH_R_BASE (D1_AHB1PERIPH_BASE + 0x2000) +#define FMC_R_BASE (D1_AHB1PERIPH_BASE + 0x4000) +#define QSPI_R_BASE (D1_AHB1PERIPH_BASE + 0x5000) +#define DLYB_QSPI_BASE (D1_AHB1PERIPH_BASE + 0x6000) +#define SDMMC1_BASE (D1_AHB1PERIPH_BASE + 0x7000) +#define DLYB_SDMMC1_BASE (D1_AHB1PERIPH_BASE + 0x8000) + +/*!< D2_AHB1PERIPH peripherals */ + +#define DMA1_BASE (D2_AHB1PERIPH_BASE + 0x0000) +#define DMA2_BASE (D2_AHB1PERIPH_BASE + 0x0400) +#define DMAMUX1_BASE (D2_AHB1PERIPH_BASE + 0x0800) +#define ADC1_BASE (D2_AHB1PERIPH_BASE + 0x2000) +#define ADC2_BASE (D2_AHB1PERIPH_BASE + 0x2100) +#define ADC12_COMMON_BASE (D2_AHB1PERIPH_BASE + 0x2300) +#define ART_BASE (D2_AHB1PERIPH_BASE + 0x4400) +#define ETH_BASE (D2_AHB1PERIPH_BASE + 0x8000) +#define ETH_MAC_BASE (ETH_BASE) + +/*!< USB registers base address */ +#define USB1_OTG_HS_PERIPH_BASE ((uint32_t )0x40040000) +#define USB2_OTG_FS_PERIPH_BASE ((uint32_t )0x40080000) +#define USB_OTG_GLOBAL_BASE ((uint32_t )0x000) +#define USB_OTG_DEVICE_BASE ((uint32_t )0x800) +#define USB_OTG_IN_ENDPOINT_BASE ((uint32_t )0x900) +#define USB_OTG_OUT_ENDPOINT_BASE ((uint32_t )0xB00) +#define USB_OTG_EP_REG_SIZE ((uint32_t )0x20) +#define USB_OTG_HOST_BASE ((uint32_t )0x400) +#define USB_OTG_HOST_PORT_BASE ((uint32_t )0x440) +#define USB_OTG_HOST_CHANNEL_BASE ((uint32_t )0x500) +#define USB_OTG_HOST_CHANNEL_SIZE ((uint32_t )0x20) +#define USB_OTG_PCGCCTL_BASE ((uint32_t )0xE00) +#define USB_OTG_FIFO_BASE ((uint32_t )0x1000) +#define USB_OTG_FIFO_SIZE ((uint32_t )0x1000) + +/*!< D2_AHB2PERIPH peripherals */ + +#define DCMI_BASE (D2_AHB2PERIPH_BASE + 0x0000) +#define CRYP_BASE (D2_AHB2PERIPH_BASE + 0x1000) +#define HASH_BASE (D2_AHB2PERIPH_BASE + 0x1400) +#define HASH_DIGEST_BASE (D2_AHB2PERIPH_BASE + 0x1710) +#define RNG_BASE (D2_AHB2PERIPH_BASE + 0x1800) +#define SDMMC2_BASE (D2_AHB2PERIPH_BASE + 0x2400) +#define DLYB_SDMMC2_BASE (D2_AHB2PERIPH_BASE + 0x2800) + + +/*!< D3_AHB1PERIPH peripherals */ +#define GPIOA_BASE (D3_AHB1PERIPH_BASE + 0x0000) +#define GPIOB_BASE (D3_AHB1PERIPH_BASE + 0x0400) +#define GPIOC_BASE (D3_AHB1PERIPH_BASE + 0x0800) +#define GPIOD_BASE (D3_AHB1PERIPH_BASE + 0x0C00) +#define GPIOE_BASE (D3_AHB1PERIPH_BASE + 0x1000) +#define GPIOF_BASE (D3_AHB1PERIPH_BASE + 0x1400) +#define GPIOG_BASE (D3_AHB1PERIPH_BASE + 0x1800) +#define GPIOH_BASE (D3_AHB1PERIPH_BASE + 0x1C00) +#define GPIOI_BASE (D3_AHB1PERIPH_BASE + 0x2000) +#define GPIOJ_BASE (D3_AHB1PERIPH_BASE + 0x2400) +#define GPIOK_BASE (D3_AHB1PERIPH_BASE + 0x2800) +#define RCC_BASE (D3_AHB1PERIPH_BASE + 0x4400) +#define RCC_C1_BASE (RCC_BASE + 0x130) +#define PWR_BASE (D3_AHB1PERIPH_BASE + 0x4800) +#define CRC_BASE (D3_AHB1PERIPH_BASE + 0x4C00) +#define BDMA_BASE (D3_AHB1PERIPH_BASE + 0x5400) +#define DMAMUX2_BASE (D3_AHB1PERIPH_BASE + 0x5800) +#define ADC3_BASE (D3_AHB1PERIPH_BASE + 0x6000) +#define ADC3_COMMON_BASE (D3_AHB1PERIPH_BASE + 0x6300) +#define HSEM_BASE (D3_AHB1PERIPH_BASE + 0x6400) + +/*!< D1_APB1PERIPH peripherals */ +#define LTDC_BASE (D1_APB1PERIPH_BASE + 0x1000) +#define LTDC_Layer1_BASE (LTDC_BASE + 0x84) +#define LTDC_Layer2_BASE (LTDC_BASE + 0x104) +#define WWDG1_BASE (D1_APB1PERIPH_BASE + 0x3000) + +/*!< D2_APB1PERIPH peripherals */ +#define TIM2_BASE (D2_APB1PERIPH_BASE + 0x0000) +#define TIM3_BASE (D2_APB1PERIPH_BASE + 0x0400) +#define TIM4_BASE (D2_APB1PERIPH_BASE + 0x0800) +#define TIM5_BASE (D2_APB1PERIPH_BASE + 0x0C00) +#define TIM6_BASE (D2_APB1PERIPH_BASE + 0x1000) +#define TIM7_BASE (D2_APB1PERIPH_BASE + 0x1400) +#define TIM12_BASE (D2_APB1PERIPH_BASE + 0x1800) +#define TIM13_BASE (D2_APB1PERIPH_BASE + 0x1C00) +#define TIM14_BASE (D2_APB1PERIPH_BASE + 0x2000) +#define LPTIM1_BASE (D2_APB1PERIPH_BASE + 0x2400) + + +#define SPI2_BASE (D2_APB1PERIPH_BASE + 0x3800) +#define SPI3_BASE (D2_APB1PERIPH_BASE + 0x3C00) +#define SPDIFRX_BASE (D2_APB1PERIPH_BASE + 0x4000) +#define USART2_BASE (D2_APB1PERIPH_BASE + 0x4400) +#define USART3_BASE (D2_APB1PERIPH_BASE + 0x4800) +#define UART4_BASE (D2_APB1PERIPH_BASE + 0x4C00) +#define UART5_BASE (D2_APB1PERIPH_BASE + 0x5000) +#define I2C1_BASE (D2_APB1PERIPH_BASE + 0x5400) +#define I2C2_BASE (D2_APB1PERIPH_BASE + 0x5800) +#define I2C3_BASE (D2_APB1PERIPH_BASE + 0x5C00) +#define CEC_BASE (D2_APB1PERIPH_BASE + 0x6C00) +#define DAC1_BASE (D2_APB1PERIPH_BASE + 0x7400) +#define UART7_BASE (D2_APB1PERIPH_BASE + 0x7800) +#define UART8_BASE (D2_APB1PERIPH_BASE + 0x7C00) +#define CRS_BASE (D2_APB1PERIPH_BASE + 0x8400) +#define SWPMI1_BASE (D2_APB1PERIPH_BASE + 0x8800) +#define OPAMP_BASE (D2_APB1PERIPH_BASE + 0x9000) +#define OPAMP1_BASE (D2_APB1PERIPH_BASE + 0x9000) +#define OPAMP2_BASE (D2_APB1PERIPH_BASE + 0x9010) +#define MDIOS_BASE (D2_APB1PERIPH_BASE + 0x9400) +#define FDCAN1_BASE (D2_APB1PERIPH_BASE + 0xA000) +#define FDCAN2_BASE (D2_APB1PERIPH_BASE + 0xA400) +#define FDCAN_CCU_BASE (D2_APB1PERIPH_BASE + 0xA800) +#define SRAMCAN_BASE (D2_APB1PERIPH_BASE + 0xAC00) + +/*!< D2_APB2PERIPH peripherals */ + +#define TIM1_BASE (D2_APB2PERIPH_BASE + 0x0000) +#define TIM8_BASE (D2_APB2PERIPH_BASE + 0x0400) +#define USART1_BASE (D2_APB2PERIPH_BASE + 0x1000) +#define USART6_BASE (D2_APB2PERIPH_BASE + 0x1400) +#define SPI1_BASE (D2_APB2PERIPH_BASE + 0x3000) +#define SPI4_BASE (D2_APB2PERIPH_BASE + 0x3400) +#define TIM15_BASE (D2_APB2PERIPH_BASE + 0x4000) +#define TIM16_BASE (D2_APB2PERIPH_BASE + 0x4400) +#define TIM17_BASE (D2_APB2PERIPH_BASE + 0x4800) +#define SPI5_BASE (D2_APB2PERIPH_BASE + 0x5000) +#define SAI1_BASE (D2_APB2PERIPH_BASE + 0x5800) +#define SAI1_Block_A_BASE (SAI1_BASE + 0x004) +#define SAI1_Block_B_BASE (SAI1_BASE + 0x024) +#define SAI2_BASE (D2_APB2PERIPH_BASE + 0x5C00) +#define SAI2_Block_A_BASE (SAI2_BASE + 0x004) +#define SAI2_Block_B_BASE (SAI2_BASE + 0x024) +#define SAI3_BASE (D2_APB2PERIPH_BASE + 0x6000) +#define SAI3_Block_A_BASE (SAI3_BASE + 0x004) +#define SAI3_Block_B_BASE (SAI3_BASE + 0x024) +#define DFSDM1_BASE (D2_APB2PERIPH_BASE + 0x7000) +#define DFSDM1_Channel0_BASE (DFSDM1_BASE + 0x00) +#define DFSDM1_Channel1_BASE (DFSDM1_BASE + 0x20) +#define DFSDM1_Channel2_BASE (DFSDM1_BASE + 0x40) +#define DFSDM1_Channel3_BASE (DFSDM1_BASE + 0x60) +#define DFSDM1_Channel4_BASE (DFSDM1_BASE + 0x80) +#define DFSDM1_Channel5_BASE (DFSDM1_BASE + 0xA0) +#define DFSDM1_Channel6_BASE (DFSDM1_BASE + 0xC0) +#define DFSDM1_Channel7_BASE (DFSDM1_BASE + 0xE0) +#define DFSDM1_Filter0_BASE (DFSDM1_BASE + 0x100) +#define DFSDM1_Filter1_BASE (DFSDM1_BASE + 0x180) +#define DFSDM1_Filter2_BASE (DFSDM1_BASE + 0x200) +#define DFSDM1_Filter3_BASE (DFSDM1_BASE + 0x280) +#define HRTIM1_BASE (D2_APB2PERIPH_BASE + 0x7400) +#define HRTIM1_TIMA_BASE (HRTIM1_BASE + 0x00000080) +#define HRTIM1_TIMB_BASE (HRTIM1_BASE + 0x00000100) +#define HRTIM1_TIMC_BASE (HRTIM1_BASE + 0x00000180) +#define HRTIM1_TIMD_BASE (HRTIM1_BASE + 0x00000200) +#define HRTIM1_TIME_BASE (HRTIM1_BASE + 0x00000280) +#define HRTIM1_COMMON_BASE (HRTIM1_BASE + 0x00000380) + + +/*!< D3_APB1PERIPH peripherals */ +#define EXTI_BASE (D3_APB1PERIPH_BASE + 0x0000) +#define EXTI_D1_BASE (EXTI_BASE + 0x0080) +#define EXTI_D2_BASE (EXTI_BASE + 0x00C0) +#define SYSCFG_BASE (D3_APB1PERIPH_BASE + 0x0400) +#define LPUART1_BASE (D3_APB1PERIPH_BASE + 0x0C00) +#define SPI6_BASE (D3_APB1PERIPH_BASE + 0x1400) +#define I2C4_BASE (D3_APB1PERIPH_BASE + 0x1C00) +#define LPTIM2_BASE (D3_APB1PERIPH_BASE + 0x2400) +#define LPTIM3_BASE (D3_APB1PERIPH_BASE + 0x2800) +#define LPTIM4_BASE (D3_APB1PERIPH_BASE + 0x2C00) +#define LPTIM5_BASE (D3_APB1PERIPH_BASE + 0x3000) +#define COMP12_BASE (D3_APB1PERIPH_BASE + 0x3800) +#define COMP1_BASE (COMP12_BASE + 0x0C) +#define COMP2_BASE (COMP12_BASE + 0x10) +#define VREFBUF_BASE (D3_APB1PERIPH_BASE + 0x3C00) +#define RTC_BASE (D3_APB1PERIPH_BASE + 0x4000) +#define IWDG1_BASE (D3_APB1PERIPH_BASE + 0x4800) + + +#define SAI4_BASE (D3_APB1PERIPH_BASE + 0x5400) +#define SAI4_Block_A_BASE (SAI4_BASE + 0x004) +#define SAI4_Block_B_BASE (SAI4_BASE + 0x024) + + +#define BDMA_Channel0_BASE (BDMA_BASE + 0x0008) +#define BDMA_Channel1_BASE (BDMA_BASE + 0x001C) +#define BDMA_Channel2_BASE (BDMA_BASE + 0x0030) +#define BDMA_Channel3_BASE (BDMA_BASE + 0x0044) +#define BDMA_Channel4_BASE (BDMA_BASE + 0x0058) +#define BDMA_Channel5_BASE (BDMA_BASE + 0x006C) +#define BDMA_Channel6_BASE (BDMA_BASE + 0x0080) +#define BDMA_Channel7_BASE (BDMA_BASE + 0x0094) + +#define DMAMUX2_Channel0_BASE (DMAMUX2_BASE) +#define DMAMUX2_Channel1_BASE (DMAMUX2_BASE + 0x0004) +#define DMAMUX2_Channel2_BASE (DMAMUX2_BASE + 0x0008) +#define DMAMUX2_Channel3_BASE (DMAMUX2_BASE + 0x000C) +#define DMAMUX2_Channel4_BASE (DMAMUX2_BASE + 0x0010) +#define DMAMUX2_Channel5_BASE (DMAMUX2_BASE + 0x0014) +#define DMAMUX2_Channel6_BASE (DMAMUX2_BASE + 0x0018) +#define DMAMUX2_Channel7_BASE (DMAMUX2_BASE + 0x001C) + +#define DMAMUX2_RequestGenerator0_BASE (DMAMUX2_BASE + 0x0100) +#define DMAMUX2_RequestGenerator1_BASE (DMAMUX2_BASE + 0x0104) +#define DMAMUX2_RequestGenerator2_BASE (DMAMUX2_BASE + 0x0108) +#define DMAMUX2_RequestGenerator3_BASE (DMAMUX2_BASE + 0x010C) +#define DMAMUX2_RequestGenerator4_BASE (DMAMUX2_BASE + 0x0110) +#define DMAMUX2_RequestGenerator5_BASE (DMAMUX2_BASE + 0x0114) +#define DMAMUX2_RequestGenerator6_BASE (DMAMUX2_BASE + 0x0118) +#define DMAMUX2_RequestGenerator7_BASE (DMAMUX2_BASE + 0x011C) + +#define DMAMUX2_ChannelStatus_BASE (DMAMUX2_BASE + 0x0080) +#define DMAMUX2_RequestGenStatus_BASE (DMAMUX2_BASE + 0x0140) + +#define DMA1_Stream0_BASE (DMA1_BASE + 0x010) +#define DMA1_Stream1_BASE (DMA1_BASE + 0x028) +#define DMA1_Stream2_BASE (DMA1_BASE + 0x040) +#define DMA1_Stream3_BASE (DMA1_BASE + 0x058) +#define DMA1_Stream4_BASE (DMA1_BASE + 0x070) +#define DMA1_Stream5_BASE (DMA1_BASE + 0x088) +#define DMA1_Stream6_BASE (DMA1_BASE + 0x0A0) +#define DMA1_Stream7_BASE (DMA1_BASE + 0x0B8) + +#define DMA2_Stream0_BASE (DMA2_BASE + 0x010) +#define DMA2_Stream1_BASE (DMA2_BASE + 0x028) +#define DMA2_Stream2_BASE (DMA2_BASE + 0x040) +#define DMA2_Stream3_BASE (DMA2_BASE + 0x058) +#define DMA2_Stream4_BASE (DMA2_BASE + 0x070) +#define DMA2_Stream5_BASE (DMA2_BASE + 0x088) +#define DMA2_Stream6_BASE (DMA2_BASE + 0x0A0) +#define DMA2_Stream7_BASE (DMA2_BASE + 0x0B8) + +#define DMAMUX1_Channel0_BASE (DMAMUX1_BASE) +#define DMAMUX1_Channel1_BASE (DMAMUX1_BASE + 0x0004) +#define DMAMUX1_Channel2_BASE (DMAMUX1_BASE + 0x0008) +#define DMAMUX1_Channel3_BASE (DMAMUX1_BASE + 0x000C) +#define DMAMUX1_Channel4_BASE (DMAMUX1_BASE + 0x0010) +#define DMAMUX1_Channel5_BASE (DMAMUX1_BASE + 0x0014) +#define DMAMUX1_Channel6_BASE (DMAMUX1_BASE + 0x0018) +#define DMAMUX1_Channel7_BASE (DMAMUX1_BASE + 0x001C) +#define DMAMUX1_Channel8_BASE (DMAMUX1_BASE + 0x0020) +#define DMAMUX1_Channel9_BASE (DMAMUX1_BASE + 0x0024) +#define DMAMUX1_Channel10_BASE (DMAMUX1_BASE + 0x0028) +#define DMAMUX1_Channel11_BASE (DMAMUX1_BASE + 0x002C) +#define DMAMUX1_Channel12_BASE (DMAMUX1_BASE + 0x0030) +#define DMAMUX1_Channel13_BASE (DMAMUX1_BASE + 0x0034) +#define DMAMUX1_Channel14_BASE (DMAMUX1_BASE + 0x0038) +#define DMAMUX1_Channel15_BASE (DMAMUX1_BASE + 0x003C) + +#define DMAMUX1_RequestGenerator0_BASE (DMAMUX1_BASE + 0x0100) +#define DMAMUX1_RequestGenerator1_BASE (DMAMUX1_BASE + 0x0104) +#define DMAMUX1_RequestGenerator2_BASE (DMAMUX1_BASE + 0x0108) +#define DMAMUX1_RequestGenerator3_BASE (DMAMUX1_BASE + 0x010C) +#define DMAMUX1_RequestGenerator4_BASE (DMAMUX1_BASE + 0x0110) +#define DMAMUX1_RequestGenerator5_BASE (DMAMUX1_BASE + 0x0114) +#define DMAMUX1_RequestGenerator6_BASE (DMAMUX1_BASE + 0x0118) +#define DMAMUX1_RequestGenerator7_BASE (DMAMUX1_BASE + 0x011C) + +#define DMAMUX1_ChannelStatus_BASE (DMAMUX1_BASE + 0x0080) +#define DMAMUX1_RequestGenStatus_BASE (DMAMUX1_BASE + 0x0140) + + + +/*!< FMC Banks registers base address */ +#define FMC_Bank1_R_BASE (FMC_R_BASE + 0x0000) +#define FMC_Bank1E_R_BASE (FMC_R_BASE + 0x0104) +#define FMC_Bank2_R_BASE (FMC_R_BASE + 0x0060) +#define FMC_Bank3_R_BASE (FMC_R_BASE + 0x0080) +#define FMC_Bank5_6_R_BASE (FMC_R_BASE + 0x0140) + +/* Debug MCU registers base address */ +#define DBGMCU_BASE ((uint32_t )0x5C001000) + +#define MDMA_Channel0_BASE (MDMA_BASE + 0x00000040) +#define MDMA_Channel1_BASE (MDMA_BASE + 0x00000080) +#define MDMA_Channel2_BASE (MDMA_BASE + 0x000000C0) +#define MDMA_Channel3_BASE (MDMA_BASE + 0x00000100) +#define MDMA_Channel4_BASE (MDMA_BASE + 0x00000140) +#define MDMA_Channel5_BASE (MDMA_BASE + 0x00000180) +#define MDMA_Channel6_BASE (MDMA_BASE + 0x000001C0) +#define MDMA_Channel7_BASE (MDMA_BASE + 0x00000200) +#define MDMA_Channel8_BASE (MDMA_BASE + 0x00000240) +#define MDMA_Channel9_BASE (MDMA_BASE + 0x00000280) +#define MDMA_Channel10_BASE (MDMA_BASE + 0x000002C0) +#define MDMA_Channel11_BASE (MDMA_BASE + 0x00000300) +#define MDMA_Channel12_BASE (MDMA_BASE + 0x00000340) +#define MDMA_Channel13_BASE (MDMA_BASE + 0x00000380) +#define MDMA_Channel14_BASE (MDMA_BASE + 0x000003C0) +#define MDMA_Channel15_BASE (MDMA_BASE + 0x00000400) + + +/** + * @} + */ + +/** @addtogroup Peripheral_declaration + * @{ + */ +#define TIM2 ((TIM_TypeDef *) TIM2_BASE) +#define TIM3 ((TIM_TypeDef *) TIM3_BASE) +#define TIM4 ((TIM_TypeDef *) TIM4_BASE) +#define TIM5 ((TIM_TypeDef *) TIM5_BASE) +#define TIM6 ((TIM_TypeDef *) TIM6_BASE) +#define TIM7 ((TIM_TypeDef *) TIM7_BASE) +#define TIM13 ((TIM_TypeDef *) TIM13_BASE) +#define TIM14 ((TIM_TypeDef *) TIM14_BASE) +#define VREFBUF ((VREFBUF_TypeDef *) VREFBUF_BASE) +#define RTC ((RTC_TypeDef *) RTC_BASE) +#define WWDG1 ((WWDG_TypeDef *) WWDG1_BASE) +#define IWDG1 ((IWDG_TypeDef *) IWDG1_BASE) +#define SPI2 ((SPI_TypeDef *) SPI2_BASE) +#define SPI3 ((SPI_TypeDef *) SPI3_BASE) +#define SPI4 ((SPI_TypeDef *) SPI4_BASE) +#define SPI5 ((SPI_TypeDef *) SPI5_BASE) +#define SPI6 ((SPI_TypeDef *) SPI6_BASE) +#define USART2 ((USART_TypeDef *) USART2_BASE) +#define USART3 ((USART_TypeDef *) USART3_BASE) +#define USART6 ((USART_TypeDef *) USART6_BASE) +#define UART7 ((USART_TypeDef *) UART7_BASE) +#define UART8 ((USART_TypeDef *) UART8_BASE) +#define CRS ((CRS_TypeDef *) CRS_BASE) +#define UART4 ((USART_TypeDef *) UART4_BASE) +#define UART5 ((USART_TypeDef *) UART5_BASE) +#define I2C1 ((I2C_TypeDef *) I2C1_BASE) +#define I2C2 ((I2C_TypeDef *) I2C2_BASE) +#define I2C3 ((I2C_TypeDef *) I2C3_BASE) +#define I2C4 ((I2C_TypeDef *) I2C4_BASE) +#define FDCAN1 ((FDCAN_GlobalTypeDef *) FDCAN1_BASE) +#define FDCAN2 ((FDCAN_GlobalTypeDef *) FDCAN2_BASE) +#define FDCAN_CCU ((FDCAN_ClockCalibrationUnit_TypeDef *) FDCAN_CCU_BASE) +#define CEC ((CEC_TypeDef *) CEC_BASE) +#define LPTIM1 ((LPTIM_TypeDef *) LPTIM1_BASE) +#define PWR ((PWR_TypeDef *) PWR_BASE) +#define DAC1 ((DAC_TypeDef *) DAC1_BASE) +#define LPUART1 ((USART_TypeDef *) LPUART1_BASE) +#define SWPMI1 ((SWPMI_TypeDef *) SWPMI1_BASE) +#define LPTIM2 ((LPTIM_TypeDef *) LPTIM2_BASE) +#define LPTIM3 ((LPTIM_TypeDef *) LPTIM3_BASE) +#define LPTIM4 ((LPTIM_TypeDef *) LPTIM4_BASE) +#define LPTIM5 ((LPTIM_TypeDef *) LPTIM5_BASE) +#define SYSCFG ((SYSCFG_TypeDef *) SYSCFG_BASE) +#define COMP12 ((COMPOPT_TypeDef *) COMP12_BASE) +#define COMP1 ((COMP_TypeDef *) COMP1_BASE) +#define COMP2 ((COMP_TypeDef *) COMP2_BASE) +#define COMP12_COMMON ((COMP_Common_TypeDef *) COMP2_BASE) +#define OPAMP ((OPAMP_TypeDef *) OPAMP_BASE) +#define OPAMP1 ((OPAMP_TypeDef *) OPAMP1_BASE) +#define OPAMP2 ((OPAMP_TypeDef *) OPAMP2_BASE) + + +#define EXTI ((EXTI_TypeDef *) EXTI_BASE) +#define EXTI_D1 ((EXTI_Core_TypeDef *) EXTI_D1_BASE) +#define EXTI_D2 ((EXTI_Core_TypeDef *) EXTI_D2_BASE) +#define SDMMC ((SDMMC_TypeDef *) SDMMC_BASE) +#define TIM1 ((TIM_TypeDef *) TIM1_BASE) +#define SPI1 ((SPI_TypeDef *) SPI1_BASE) +#define TIM8 ((TIM_TypeDef *) TIM8_BASE) +#define USART1 ((USART_TypeDef *) USART1_BASE) +#define TIM12 ((TIM_TypeDef *) TIM12_BASE) +#define TIM15 ((TIM_TypeDef *) TIM15_BASE) +#define TIM16 ((TIM_TypeDef *) TIM16_BASE) +#define TIM17 ((TIM_TypeDef *) TIM17_BASE) +#define HRTIM1 ((HRTIM_TypeDef *) HRTIM1_BASE) +#define HRTIM1_TIMA ((HRTIM_TIM_TypeDef *) HRTIM1_TIMA_BASE) +#define HRTIM1_TIMB ((HRTIM_TIM_TypeDef *) HRTIM1_TIMB_BASE) +#define HRTIM1_TIMC ((HRTIM_TIM_TypeDef *) HRTIM1_TIMC_BASE) +#define HRTIM1_TIMD ((HRTIM_TIM_TypeDef *) HRTIM1_TIMD_BASE) +#define HRTIM1_TIME ((HRTIM_TIM_TypeDef *) HRTIM1_TIME_BASE) +#define HRTIM1_COMMON ((HRTIM_Common_TypeDef *) HRTIM1_COMMON_BASE) +#define SAI1 ((SAI_TypeDef *) SAI1_BASE) +#define SAI1_Block_A ((SAI_Block_TypeDef *)SAI1_Block_A_BASE) +#define SAI1_Block_B ((SAI_Block_TypeDef *)SAI1_Block_B_BASE) +#define SAI2 ((SAI_TypeDef *) SAI2_BASE) +#define SAI2_Block_A ((SAI_Block_TypeDef *)SAI2_Block_A_BASE) +#define SAI2_Block_B ((SAI_Block_TypeDef *)SAI2_Block_B_BASE) +#define SAI3 ((SAI_TypeDef *) SAI3_BASE) +#define SAI3_Block_A ((SAI_Block_TypeDef *)SAI3_Block_A_BASE) +#define SAI3_Block_B ((SAI_Block_TypeDef *)SAI3_Block_B_BASE) +#define SAI4 ((SAI_TypeDef *) SAI4_BASE) +#define SAI4_Block_A ((SAI_Block_TypeDef *)SAI4_Block_A_BASE) +#define SAI4_Block_B ((SAI_Block_TypeDef *)SAI4_Block_B_BASE) + + +#define SPDIFRX ((SPDIFRX_TypeDef *) SPDIFRX_BASE) +#define DFSDM1_Channel0 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel0_BASE) +#define DFSDM1_Channel1 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel1_BASE) +#define DFSDM1_Channel2 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel2_BASE) +#define DFSDM1_Channel3 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel3_BASE) +#define DFSDM1_Channel4 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel4_BASE) +#define DFSDM1_Channel5 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel5_BASE) +#define DFSDM1_Channel6 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel6_BASE) +#define DFSDM1_Channel7 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel7_BASE) +#define DFSDM1_Filter0 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter0_BASE) +#define DFSDM1_Filter1 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter1_BASE) +#define DFSDM1_Filter2 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter2_BASE) +#define DFSDM1_Filter3 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter3_BASE) +#define DMA2D ((DMA2D_TypeDef *) DMA2D_BASE) +#define DCMI ((DCMI_TypeDef *) DCMI_BASE) +#define RCC ((RCC_TypeDef *) RCC_BASE) +#define RCC_C1 ((RCC_Core_TypeDef *) RCC_C1_BASE) +#define FLASH ((FLASH_TypeDef *) FLASH_R_BASE) +#define CRC ((CRC_TypeDef *) CRC_BASE) + +#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) +#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) +#define GPIOC ((GPIO_TypeDef *) GPIOC_BASE) +#define GPIOD ((GPIO_TypeDef *) GPIOD_BASE) +#define GPIOE ((GPIO_TypeDef *) GPIOE_BASE) +#define GPIOF ((GPIO_TypeDef *) GPIOF_BASE) +#define GPIOG ((GPIO_TypeDef *) GPIOG_BASE) +#define GPIOH ((GPIO_TypeDef *) GPIOH_BASE) +#define GPIOI ((GPIO_TypeDef *) GPIOI_BASE) +#define GPIOJ ((GPIO_TypeDef *) GPIOJ_BASE) +#define GPIOK ((GPIO_TypeDef *) GPIOK_BASE) + +#define ADC1 ((ADC_TypeDef *) ADC1_BASE) +#define ADC2 ((ADC_TypeDef *) ADC2_BASE) +#define ADC3 ((ADC_TypeDef *) ADC3_BASE) +#define ADC12_COMMON ((ADC_Common_TypeDef *) ADC12_COMMON_BASE) +#define ADC3_COMMON ((ADC_Common_TypeDef *) ADC3_COMMON_BASE) +#define CRYP ((CRYP_TypeDef *) CRYP_BASE) +#define HASH ((HASH_TypeDef *) HASH_BASE) +#define HASH_DIGEST ((HASH_DIGEST_TypeDef *) HASH_DIGEST_BASE) +#define RNG ((RNG_TypeDef *) RNG_BASE) +#define SDMMC2 ((SDMMC_TypeDef *) SDMMC2_BASE) +#define DLYB_SDMMC2 ((DLYB_TypeDef *) DLYB_SDMMC2_BASE) + +#define BDMA ((BDMA_TypeDef *) BDMA_BASE) +#define BDMA_Channel0 ((BDMA_Channel_TypeDef *) BDMA_Channel0_BASE) +#define BDMA_Channel1 ((BDMA_Channel_TypeDef *) BDMA_Channel1_BASE) +#define BDMA_Channel2 ((BDMA_Channel_TypeDef *) BDMA_Channel2_BASE) +#define BDMA_Channel3 ((BDMA_Channel_TypeDef *) BDMA_Channel3_BASE) +#define BDMA_Channel4 ((BDMA_Channel_TypeDef *) BDMA_Channel4_BASE) +#define BDMA_Channel5 ((BDMA_Channel_TypeDef *) BDMA_Channel5_BASE) +#define BDMA_Channel6 ((BDMA_Channel_TypeDef *) BDMA_Channel6_BASE) +#define BDMA_Channel7 ((BDMA_Channel_TypeDef *) BDMA_Channel7_BASE) + +#define DMAMUX2_Channel0 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel0_BASE) +#define DMAMUX2_Channel1 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel1_BASE) +#define DMAMUX2_Channel2 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel2_BASE) +#define DMAMUX2_Channel3 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel3_BASE) +#define DMAMUX2_Channel4 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel4_BASE) +#define DMAMUX2_Channel5 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel5_BASE) +#define DMAMUX2_Channel6 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel6_BASE) +#define DMAMUX2_Channel7 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel7_BASE) + + +#define DMAMUX2_RequestGenerator0 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator0_BASE) +#define DMAMUX2_RequestGenerator1 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator1_BASE) +#define DMAMUX2_RequestGenerator2 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator2_BASE) +#define DMAMUX2_RequestGenerator3 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator3_BASE) +#define DMAMUX2_RequestGenerator4 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator4_BASE) +#define DMAMUX2_RequestGenerator5 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator5_BASE) +#define DMAMUX2_RequestGenerator6 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator6_BASE) +#define DMAMUX2_RequestGenerator7 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator7_BASE) + +#define DMAMUX2_ChannelStatus ((DMAMUX_ChannelStatus_TypeDef *) DMAMUX2_ChannelStatus_BASE) +#define DMAMUX2_RequestGenStatus ((DMAMUX_RequestGenStatus_TypeDef *) DMAMUX2_RequestGenStatus_BASE) + +#define DMA2 ((DMA_TypeDef *) DMA2_BASE) +#define DMA2_Stream0 ((DMA_Stream_TypeDef *) DMA2_Stream0_BASE) +#define DMA2_Stream1 ((DMA_Stream_TypeDef *) DMA2_Stream1_BASE) +#define DMA2_Stream2 ((DMA_Stream_TypeDef *) DMA2_Stream2_BASE) +#define DMA2_Stream3 ((DMA_Stream_TypeDef *) DMA2_Stream3_BASE) +#define DMA2_Stream4 ((DMA_Stream_TypeDef *) DMA2_Stream4_BASE) +#define DMA2_Stream5 ((DMA_Stream_TypeDef *) DMA2_Stream5_BASE) +#define DMA2_Stream6 ((DMA_Stream_TypeDef *) DMA2_Stream6_BASE) +#define DMA2_Stream7 ((DMA_Stream_TypeDef *) DMA2_Stream7_BASE) + +#define DMA1 ((DMA_TypeDef *) DMA1_BASE) +#define DMA1_Stream0 ((DMA_Stream_TypeDef *) DMA1_Stream0_BASE) +#define DMA1_Stream1 ((DMA_Stream_TypeDef *) DMA1_Stream1_BASE) +#define DMA1_Stream2 ((DMA_Stream_TypeDef *) DMA1_Stream2_BASE) +#define DMA1_Stream3 ((DMA_Stream_TypeDef *) DMA1_Stream3_BASE) +#define DMA1_Stream4 ((DMA_Stream_TypeDef *) DMA1_Stream4_BASE) +#define DMA1_Stream5 ((DMA_Stream_TypeDef *) DMA1_Stream5_BASE) +#define DMA1_Stream6 ((DMA_Stream_TypeDef *) DMA1_Stream6_BASE) +#define DMA1_Stream7 ((DMA_Stream_TypeDef *) DMA1_Stream7_BASE) + + +#define DMAMUX1_Channel0 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel0_BASE) +#define DMAMUX1_Channel1 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel1_BASE) +#define DMAMUX1_Channel2 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel2_BASE) +#define DMAMUX1_Channel3 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel3_BASE) +#define DMAMUX1_Channel4 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel4_BASE) +#define DMAMUX1_Channel5 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel5_BASE) +#define DMAMUX1_Channel6 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel6_BASE) +#define DMAMUX1_Channel7 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel7_BASE) +#define DMAMUX1_Channel8 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel8_BASE) +#define DMAMUX1_Channel9 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel9_BASE) +#define DMAMUX1_Channel10 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel10_BASE) +#define DMAMUX1_Channel11 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel11_BASE) +#define DMAMUX1_Channel12 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel12_BASE) +#define DMAMUX1_Channel13 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel13_BASE) +#define DMAMUX1_Channel14 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel14_BASE) +#define DMAMUX1_Channel15 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel15_BASE) + +#define DMAMUX1_RequestGenerator0 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator0_BASE) +#define DMAMUX1_RequestGenerator1 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator1_BASE) +#define DMAMUX1_RequestGenerator2 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator2_BASE) +#define DMAMUX1_RequestGenerator3 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator3_BASE) +#define DMAMUX1_RequestGenerator4 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator4_BASE) +#define DMAMUX1_RequestGenerator5 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator5_BASE) +#define DMAMUX1_RequestGenerator6 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator6_BASE) +#define DMAMUX1_RequestGenerator7 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator7_BASE) + +#define DMAMUX1_ChannelStatus ((DMAMUX_ChannelStatus_TypeDef *) DMAMUX1_ChannelStatus_BASE) +#define DMAMUX1_RequestGenStatus ((DMAMUX_RequestGenStatus_TypeDef *) DMAMUX1_RequestGenStatus_BASE) + + +#define FMC_Bank1 ((FMC_Bank1_TypeDef *) FMC_Bank1_R_BASE) +#define FMC_Bank1E ((FMC_Bank1E_TypeDef *) FMC_Bank1E_R_BASE) +#define FMC_Bank2 ((FMC_Bank2_TypeDef *) FMC_Bank2_R_BASE) +#define FMC_Bank3 ((FMC_Bank3_TypeDef *) FMC_Bank3_R_BASE) +#define FMC_Bank5_6 ((FMC_Bank5_6_TypeDef *) FMC_Bank5_6_R_BASE) + +#define QUADSPI ((QUADSPI_TypeDef *) QSPI_R_BASE) +#define DLYB_QUADSPI ((DLYB_TypeDef *) DLYB_QSPI_BASE) + +#define SDMMC1 ((SDMMC_TypeDef *) SDMMC1_BASE) +#define DLYB_SDMMC1 ((DLYB_TypeDef *) DLYB_SDMMC1_BASE) + +#define DBGMCU ((DBGMCU_TypeDef *) DBGMCU_BASE) + +#define JPEG ((JPEG_TypeDef *) JPGDEC_BASE) +#define HSEM ((HSEM_TypeDef *) HSEM_BASE) + +#define LTDC ((LTDC_TypeDef *)LTDC_BASE) +#define LTDC_Layer1 ((LTDC_Layer_TypeDef *)LTDC_Layer1_BASE) +#define LTDC_Layer2 ((LTDC_Layer_TypeDef *)LTDC_Layer2_BASE) +#define MDIOS ((MDIOS_TypeDef *) MDIOS_BASE) + +#define ETH ((ETH_TypeDef *)ETH_BASE) +#define MDMA ((MDMA_TypeDef *)MDMA_BASE) +#define MDMA_Channel0 ((MDMA_Channel_TypeDef *)MDMA_Channel0_BASE) +#define MDMA_Channel1 ((MDMA_Channel_TypeDef *)MDMA_Channel1_BASE) +#define MDMA_Channel2 ((MDMA_Channel_TypeDef *)MDMA_Channel2_BASE) +#define MDMA_Channel3 ((MDMA_Channel_TypeDef *)MDMA_Channel3_BASE) +#define MDMA_Channel4 ((MDMA_Channel_TypeDef *)MDMA_Channel4_BASE) +#define MDMA_Channel5 ((MDMA_Channel_TypeDef *)MDMA_Channel5_BASE) +#define MDMA_Channel6 ((MDMA_Channel_TypeDef *)MDMA_Channel6_BASE) +#define MDMA_Channel7 ((MDMA_Channel_TypeDef *)MDMA_Channel7_BASE) +#define MDMA_Channel8 ((MDMA_Channel_TypeDef *)MDMA_Channel8_BASE) +#define MDMA_Channel9 ((MDMA_Channel_TypeDef *)MDMA_Channel9_BASE) +#define MDMA_Channel10 ((MDMA_Channel_TypeDef *)MDMA_Channel10_BASE) +#define MDMA_Channel11 ((MDMA_Channel_TypeDef *)MDMA_Channel11_BASE) +#define MDMA_Channel12 ((MDMA_Channel_TypeDef *)MDMA_Channel12_BASE) +#define MDMA_Channel13 ((MDMA_Channel_TypeDef *)MDMA_Channel13_BASE) +#define MDMA_Channel14 ((MDMA_Channel_TypeDef *)MDMA_Channel14_BASE) +#define MDMA_Channel15 ((MDMA_Channel_TypeDef *)MDMA_Channel15_BASE) + + +#define USB1_OTG_HS ((USB_OTG_GlobalTypeDef *) USB1_OTG_HS_PERIPH_BASE) +#define USB2_OTG_FS ((USB_OTG_GlobalTypeDef *) USB2_OTG_FS_PERIPH_BASE) + + +/* Legacy defines */ +#define USB_OTG_HS USB1_OTG_HS +#define USB_OTG_FS USB2_OTG_FS +#define USB_OTG_HS_PERIPH_BASE USB1_OTG_HS_PERIPH_BASE +#define USB_OTG_FS_PERIPH_BASE USB2_OTG_FS_PERIPH_BASE + + +/** + * @} + */ + +/** @addtogroup Exported_constants + * @{ + */ + + /** @addtogroup Peripheral_Registers_Bits_Definition + * @{ + */ + +/******************************************************************************/ +/* Peripheral Registers_Bits_Definition */ +/******************************************************************************/ + +/******************************************************************************/ +/* */ +/* Analog to Digital Converter */ +/* */ +/******************************************************************************/ +/******************** Bit definition for ADC_ISR register ********************/ +#define ADC_ISR_ADRD_Pos (0U) +#define ADC_ISR_ADRD_Msk (0x1U << ADC_ISR_ADRD_Pos) /*!< 0x00000001 */ +#define ADC_ISR_ADRD ADC_ISR_ADRD_Msk /*!< ADC Ready (ADRDY) flag */ +#define ADC_ISR_EOSMP_Pos (1U) +#define ADC_ISR_EOSMP_Msk (0x1U << ADC_ISR_EOSMP_Pos) /*!< 0x00000002 */ +#define ADC_ISR_EOSMP ADC_ISR_EOSMP_Msk /*!< ADC End of Sampling flag */ +#define ADC_ISR_EOC_Pos (2U) +#define ADC_ISR_EOC_Msk (0x1U << ADC_ISR_EOC_Pos) /*!< 0x00000004 */ +#define ADC_ISR_EOC ADC_ISR_EOC_Msk /*!< ADC End of Regular Conversion flag */ +#define ADC_ISR_EOS_Pos (3U) +#define ADC_ISR_EOS_Msk (0x1U << ADC_ISR_EOS_Pos) /*!< 0x00000008 */ +#define ADC_ISR_EOS ADC_ISR_EOS_Msk /*!< ADC End of Regular sequence of Conversions flag */ +#define ADC_ISR_OVR_Pos (4U) +#define ADC_ISR_OVR_Msk (0x1U << ADC_ISR_OVR_Pos) /*!< 0x00000010 */ +#define ADC_ISR_OVR ADC_ISR_OVR_Msk /*!< ADC overrun flag */ +#define ADC_ISR_JEOC_Pos (5U) +#define ADC_ISR_JEOC_Msk (0x1U << ADC_ISR_JEOC_Pos) /*!< 0x00000020 */ +#define ADC_ISR_JEOC ADC_ISR_JEOC_Msk /*!< ADC End of Injected Conversion flag */ +#define ADC_ISR_JEOS_Pos (6U) +#define ADC_ISR_JEOS_Msk (0x1U << ADC_ISR_JEOS_Pos) /*!< 0x00000040 */ +#define ADC_ISR_JEOS ADC_ISR_JEOS_Msk /*!< ADC End of Injected sequence of Conversions flag */ +#define ADC_ISR_AWD1_Pos (7U) +#define ADC_ISR_AWD1_Msk (0x1U << ADC_ISR_AWD1_Pos) /*!< 0x00000080 */ +#define ADC_ISR_AWD1 ADC_ISR_AWD1_Msk /*!< ADC Analog watchdog 1 flag */ +#define ADC_ISR_AWD2_Pos (8U) +#define ADC_ISR_AWD2_Msk (0x1U << ADC_ISR_AWD2_Pos) /*!< 0x00000100 */ +#define ADC_ISR_AWD2 ADC_ISR_AWD2_Msk /*!< ADC Analog watchdog 2 flag */ +#define ADC_ISR_AWD3_Pos (9U) +#define ADC_ISR_AWD3_Msk (0x1U << ADC_ISR_AWD3_Pos) /*!< 0x00000200 */ +#define ADC_ISR_AWD3 ADC_ISR_AWD3_Msk /*!< ADC Analog watchdog 3 flag */ +#define ADC_ISR_JQOVF_Pos (10U) +#define ADC_ISR_JQOVF_Msk (0x1U << ADC_ISR_JQOVF_Pos) /*!< 0x00000400 */ +#define ADC_ISR_JQOVF ADC_ISR_JQOVF_Msk /*!< ADC Injected Context Queue Overflow flag */ + +/******************** Bit definition for ADC_IER register ********************/ +#define ADC_IER_RDY_Pos (0U) +#define ADC_IER_RDY_Msk (0x1U << ADC_IER_RDY_Pos) /*!< 0x00000001 */ +#define ADC_IER_RDY ADC_IER_RDY_Msk /*!< ADC Ready (ADRDY) interrupt source */ +#define ADC_IER_EOSMP_Pos (1U) +#define ADC_IER_EOSMP_Msk (0x1U << ADC_IER_EOSMP_Pos) /*!< 0x00000002 */ +#define ADC_IER_EOSMP ADC_IER_EOSMP_Msk /*!< ADC End of Sampling interrupt source */ +#define ADC_IER_EOC_Pos (2U) +#define ADC_IER_EOC_Msk (0x1U << ADC_IER_EOC_Pos) /*!< 0x00000004 */ +#define ADC_IER_EOC ADC_IER_EOC_Msk /*!< ADC End of Regular Conversion interrupt source */ +#define ADC_IER_EOS_Pos (3U) +#define ADC_IER_EOS_Msk (0x1U << ADC_IER_EOS_Pos) /*!< 0x00000008 */ +#define ADC_IER_EOS ADC_IER_EOS_Msk /*!< ADC End of Regular sequence of Conversions interrupt source */ +#define ADC_IER_OVR_Pos (4U) +#define ADC_IER_OVR_Msk (0x1U << ADC_IER_OVR_Pos) /*!< 0x00000010 */ +#define ADC_IER_OVR ADC_IER_OVR_Msk /*!< ADC overrun interrupt source */ +#define ADC_IER_JEOC_Pos (5U) +#define ADC_IER_JEOC_Msk (0x1U << ADC_IER_JEOC_Pos) /*!< 0x00000020 */ +#define ADC_IER_JEOC ADC_IER_JEOC_Msk /*!< ADC End of Injected Conversion interrupt source */ +#define ADC_IER_JEOS_Pos (6U) +#define ADC_IER_JEOS_Msk (0x1U << ADC_IER_JEOS_Pos) /*!< 0x00000040 */ +#define ADC_IER_JEOS ADC_IER_JEOS_Msk /*!< ADC End of Injected sequence of Conversions interrupt source */ +#define ADC_IER_AWD1_Pos (7U) +#define ADC_IER_AWD1_Msk (0x1U << ADC_IER_AWD1_Pos) /*!< 0x00000080 */ +#define ADC_IER_AWD1 ADC_IER_AWD1_Msk /*!< ADC Analog watchdog 1 interrupt source */ +#define ADC_IER_AWD2_Pos (8U) +#define ADC_IER_AWD2_Msk (0x1U << ADC_IER_AWD2_Pos) /*!< 0x00000100 */ +#define ADC_IER_AWD2 ADC_IER_AWD2_Msk /*!< ADC Analog watchdog 2 interrupt source */ +#define ADC_IER_AWD3_Pos (9U) +#define ADC_IER_AWD3_Msk (0x1U << ADC_IER_AWD3_Pos) /*!< 0x00000200 */ +#define ADC_IER_AWD3 ADC_IER_AWD3_Msk /*!< ADC Analog watchdog 3 interrupt source */ +#define ADC_IER_JQOVF_Pos (10U) +#define ADC_IER_JQOVF_Msk (0x1U << ADC_IER_JQOVF_Pos) /*!< 0x00000400 */ +#define ADC_IER_JQOVF ADC_IER_JQOVF_Msk /*!< ADC Injected Context Queue Overflow interrupt source */ + +/******************** Bit definition for ADC_CR register ********************/ +#define ADC_CR_ADEN_Pos (0U) +#define ADC_CR_ADEN_Msk (0x1U << ADC_CR_ADEN_Pos) /*!< 0x00000001 */ +#define ADC_CR_ADEN ADC_CR_ADEN_Msk /*!< ADC Enable control */ +#define ADC_CR_ADDIS_Pos (1U) +#define ADC_CR_ADDIS_Msk (0x1U << ADC_CR_ADDIS_Pos) /*!< 0x00000002 */ +#define ADC_CR_ADDIS ADC_CR_ADDIS_Msk /*!< ADC Disable command */ +#define ADC_CR_ADSTART_Pos (2U) +#define ADC_CR_ADSTART_Msk (0x1U << ADC_CR_ADSTART_Pos) /*!< 0x00000004 */ +#define ADC_CR_ADSTART ADC_CR_ADSTART_Msk /*!< ADC Start of Regular conversion */ +#define ADC_CR_JADSTART_Pos (3U) +#define ADC_CR_JADSTART_Msk (0x1U << ADC_CR_JADSTART_Pos) /*!< 0x00000008 */ +#define ADC_CR_JADSTART ADC_CR_JADSTART_Msk /*!< ADC Start of injected conversion */ +#define ADC_CR_ADSTP_Pos (4U) +#define ADC_CR_ADSTP_Msk (0x1U << ADC_CR_ADSTP_Pos) /*!< 0x00000010 */ +#define ADC_CR_ADSTP ADC_CR_ADSTP_Msk /*!< ADC Stop of Regular conversion */ +#define ADC_CR_JADSTP_Pos (5U) +#define ADC_CR_JADSTP_Msk (0x1U << ADC_CR_JADSTP_Pos) /*!< 0x00000020 */ +#define ADC_CR_JADSTP ADC_CR_JADSTP_Msk /*!< ADC Boost Mode */ +#define ADC_CR_BOOST_Pos (8U) +#define ADC_CR_BOOST_Msk (0x1U << ADC_CR_BOOST_Pos) /*!< 0x00000100 */ +#define ADC_CR_BOOST ADC_CR_BOOST_Msk /*!< ADC Stop of injected conversion */ +#define ADC_CR_ADCALLIN_Pos (16U) +#define ADC_CR_ADCALLIN_Msk (0x1U << ADC_CR_ADCALLIN_Pos) /*!< 0x00010000 */ +#define ADC_CR_ADCALLIN ADC_CR_ADCALLIN_Msk /*!< ADC Linearity calibration */ +#define ADC_CR_LINCALRDYW1_Pos (22U) +#define ADC_CR_LINCALRDYW1_Msk (0x1U << ADC_CR_LINCALRDYW1_Pos) /*!< 0x00400000 */ +#define ADC_CR_LINCALRDYW1 ADC_CR_LINCALRDYW1_Msk /*!< ADC Linearity calibration ready Word 1 */ +#define ADC_CR_LINCALRDYW2_Pos (23U) +#define ADC_CR_LINCALRDYW2_Msk (0x1U << ADC_CR_LINCALRDYW2_Pos) /*!< 0x00800000 */ +#define ADC_CR_LINCALRDYW2 ADC_CR_LINCALRDYW2_Msk /*!< ADC Linearity calibration ready Word 2 */ +#define ADC_CR_LINCALRDYW3_Pos (24U) +#define ADC_CR_LINCALRDYW3_Msk (0x1U << ADC_CR_LINCALRDYW3_Pos) /*!< 0x01000000 */ +#define ADC_CR_LINCALRDYW3 ADC_CR_LINCALRDYW3_Msk /*!< ADC Linearity calibration ready Word 3 */ +#define ADC_CR_LINCALRDYW4_Pos (25U) +#define ADC_CR_LINCALRDYW4_Msk (0x1U << ADC_CR_LINCALRDYW4_Pos) /*!< 0x02000000 */ +#define ADC_CR_LINCALRDYW4 ADC_CR_LINCALRDYW4_Msk /*!< ADC Linearity calibration ready Word 4 */ +#define ADC_CR_LINCALRDYW5_Pos (26U) +#define ADC_CR_LINCALRDYW5_Msk (0x1U << ADC_CR_LINCALRDYW5_Pos) /*!< 0x04000000 */ +#define ADC_CR_LINCALRDYW5 ADC_CR_LINCALRDYW5_Msk /*!< ADC Linearity calibration ready Word 5 */ +#define ADC_CR_LINCALRDYW6_Pos (27U) +#define ADC_CR_LINCALRDYW6_Msk (0x1U << ADC_CR_LINCALRDYW6_Pos) /*!< 0x08000000 */ +#define ADC_CR_LINCALRDYW6 ADC_CR_LINCALRDYW6_Msk /*!< ADC Linearity calibration ready Word 6 */ +#define ADC_CR_ADVREGEN_Pos (28U) +#define ADC_CR_ADVREGEN_Msk (0x1U << ADC_CR_ADVREGEN_Pos) /*!< 0x10000000 */ +#define ADC_CR_ADVREGEN ADC_CR_ADVREGEN_Msk /*!< ADC Voltage regulator Enable */ +#define ADC_CR_DEEPPWD_Pos (29U) +#define ADC_CR_DEEPPWD_Msk (0x1U << ADC_CR_DEEPPWD_Pos) /*!< 0x20000000 */ +#define ADC_CR_DEEPPWD ADC_CR_DEEPPWD_Msk /*!< ADC Deep power down Enable */ +#define ADC_CR_ADCALDIF_Pos (30U) +#define ADC_CR_ADCALDIF_Msk (0x1U << ADC_CR_ADCALDIF_Pos) /*!< 0x40000000 */ +#define ADC_CR_ADCALDIF ADC_CR_ADCALDIF_Msk /*!< ADC Differential Mode for calibration */ +#define ADC_CR_ADCAL_Pos (31U) +#define ADC_CR_ADCAL_Msk (0x1U << ADC_CR_ADCAL_Pos) /*!< 0x80000000 */ +#define ADC_CR_ADCAL ADC_CR_ADCAL_Msk /*!< ADC Calibration */ + +/******************** Bit definition for ADC_CFGR register ********************/ +#define ADC_CFGR_DMNGT_Pos (0U) +#define ADC_CFGR_DMNGT_Msk (0x3U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000003 */ +#define ADC_CFGR_DMNGT ADC_CFGR_DMNGT_Msk /*!< ADC Data Management configuration */ +#define ADC_CFGR_DMNGT_0 (0x1U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000001 */ +#define ADC_CFGR_DMNGT_1 (0x2U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000002 */ + +#define ADC_CFGR_RES_Pos (2U) +#define ADC_CFGR_RES_Msk (0x7U << ADC_CFGR_RES_Pos) /*!< 0x0000001C */ +#define ADC_CFGR_RES ADC_CFGR_RES_Msk /*!< ADC Data resolution */ +#define ADC_CFGR_RES_0 (0x1U << ADC_CFGR_RES_Pos) /*!< 0x00000004 */ +#define ADC_CFGR_RES_1 (0x2U << ADC_CFGR_RES_Pos) /*!< 0x00000008 */ +#define ADC_CFGR_RES_2 (0x4U << ADC_CFGR_RES_Pos) /*!< 0x00000010 */ + +#define ADC_CFGR_EXTSEL_Pos (5U) +#define ADC_CFGR_EXTSEL_Msk (0x1FU << ADC_CFGR_EXTSEL_Pos) /*!< 0x000003E0 */ +#define ADC_CFGR_EXTSEL ADC_CFGR_EXTSEL_Msk /*!< ADC External trigger selection for regular group */ +#define ADC_CFGR_EXTSEL_0 (0x01U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000020 */ +#define ADC_CFGR_EXTSEL_1 (0x02U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000040 */ +#define ADC_CFGR_EXTSEL_2 (0x04U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000080 */ +#define ADC_CFGR_EXTSEL_3 (0x08U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000100 */ +#define ADC_CFGR_EXTSEL_4 (0x10U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000200 */ + +#define ADC_CFGR_EXTEN_Pos (10U) +#define ADC_CFGR_EXTEN_Msk (0x3U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000C00 */ +#define ADC_CFGR_EXTEN ADC_CFGR_EXTEN_Msk /*!< ADC External trigger enable and polarity selection for regular channels */ +#define ADC_CFGR_EXTEN_0 (0x1U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000400 */ +#define ADC_CFGR_EXTEN_1 (0x2U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000800 */ + +#define ADC_CFGR_OVRMOD_Pos (12U) +#define ADC_CFGR_OVRMOD_Msk (0x1U << ADC_CFGR_OVRMOD_Pos) /*!< 0x00001000 */ +#define ADC_CFGR_OVRMOD ADC_CFGR_OVRMOD_Msk /*!< ADC overrun mode */ +#define ADC_CFGR_CONT_Pos (13U) +#define ADC_CFGR_CONT_Msk (0x1U << ADC_CFGR_CONT_Pos) /*!< 0x00002000 */ +#define ADC_CFGR_CONT ADC_CFGR_CONT_Msk /*!< ADC Single/continuous conversion mode for regular conversion */ +#define ADC_CFGR_AUTDLY_Pos (14U) +#define ADC_CFGR_AUTDLY_Msk (0x1U << ADC_CFGR_AUTDLY_Pos) /*!< 0x00004000 */ +#define ADC_CFGR_AUTDLY ADC_CFGR_AUTDLY_Msk /*!< ADC Delayed conversion mode */ + +#define ADC_CFGR_DISCEN_Pos (16U) +#define ADC_CFGR_DISCEN_Msk (0x1U << ADC_CFGR_DISCEN_Pos) /*!< 0x00010000 */ +#define ADC_CFGR_DISCEN ADC_CFGR_DISCEN_Msk /*!< ADC Discontinuous mode for regular channels */ + +#define ADC_CFGR_DISCNUM_Pos (17U) +#define ADC_CFGR_DISCNUM_Msk (0x7U << ADC_CFGR_DISCNUM_Pos) /*!< 0x000E0000 */ +#define ADC_CFGR_DISCNUM ADC_CFGR_DISCNUM_Msk /*!< ADC Discontinuous mode channel count */ +#define ADC_CFGR_DISCNUM_0 (0x1U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00020000 */ +#define ADC_CFGR_DISCNUM_1 (0x2U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00040000 */ +#define ADC_CFGR_DISCNUM_2 (0x4U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00080000 */ + +#define ADC_CFGR_JDISCEN_Pos (20U) +#define ADC_CFGR_JDISCEN_Msk (0x1U << ADC_CFGR_JDISCEN_Pos) /*!< 0x00100000 */ +#define ADC_CFGR_JDISCEN ADC_CFGR_JDISCEN_Msk /*!< ADC Discontinuous mode on injected channels */ +#define ADC_CFGR_JQM_Pos (21U) +#define ADC_CFGR_JQM_Msk (0x1U << ADC_CFGR_JQM_Pos) /*!< 0x00200000 */ +#define ADC_CFGR_JQM ADC_CFGR_JQM_Msk /*!< ADC JSQR Queue mode */ +#define ADC_CFGR_AWD1SGL_Pos (22U) +#define ADC_CFGR_AWD1SGL_Msk (0x1U << ADC_CFGR_AWD1SGL_Pos) /*!< 0x00400000 */ +#define ADC_CFGR_AWD1SGL ADC_CFGR_AWD1SGL_Msk /*!< Enable the watchdog 1 on a single channel or on all channels */ +#define ADC_CFGR_AWD1EN_Pos (23U) +#define ADC_CFGR_AWD1EN_Msk (0x1U << ADC_CFGR_AWD1EN_Pos) /*!< 0x00800000 */ +#define ADC_CFGR_AWD1EN ADC_CFGR_AWD1EN_Msk /*!< ADC Analog watchdog 1 enable on regular Channels */ +#define ADC_CFGR_JAWD1EN_Pos (24U) +#define ADC_CFGR_JAWD1EN_Msk (0x1U << ADC_CFGR_JAWD1EN_Pos) /*!< 0x01000000 */ +#define ADC_CFGR_JAWD1EN ADC_CFGR_JAWD1EN_Msk /*!< ADC Analog watchdog 1 enable on injected Channels */ +#define ADC_CFGR_JAUTO_Pos (25U) +#define ADC_CFGR_JAUTO_Msk (0x1U << ADC_CFGR_JAUTO_Pos) /*!< 0x02000000 */ +#define ADC_CFGR_JAUTO ADC_CFGR_JAUTO_Msk /*!< ADC Automatic injected group conversion */ + +#define ADC_CFGR_AWD1CH_Pos (26U) +#define ADC_CFGR_AWD1CH_Msk (0x1FU << ADC_CFGR_AWD1CH_Pos) /*!< 0x7C000000 */ +#define ADC_CFGR_AWD1CH ADC_CFGR_AWD1CH_Msk /*!< ADC Analog watchdog 1 Channel selection */ +#define ADC_CFGR_AWD1CH_0 (0x01U << ADC_CFGR_AWD1CH_Pos) /*!< 0x04000000 */ +#define ADC_CFGR_AWD1CH_1 (0x02U << ADC_CFGR_AWD1CH_Pos) /*!< 0x08000000 */ +#define ADC_CFGR_AWD1CH_2 (0x04U << ADC_CFGR_AWD1CH_Pos) /*!< 0x10000000 */ +#define ADC_CFGR_AWD1CH_3 (0x08U << ADC_CFGR_AWD1CH_Pos) /*!< 0x20000000 */ +#define ADC_CFGR_AWD1CH_4 (0x10U << ADC_CFGR_AWD1CH_Pos) /*!< 0x40000000 */ + +#define ADC_CFGR_JQDIS_Pos (31U) +#define ADC_CFGR_JQDIS_Msk (0x1U << ADC_CFGR_JQDIS_Pos) /*!< 0x80000000 */ +#define ADC_CFGR_JQDIS ADC_CFGR_JQDIS_Msk /*!< ADC Injected queue disable */ + +/******************** Bit definition for ADC_CFGR2 register ********************/ +#define ADC_CFGR2_ROVSE_Pos (0U) +#define ADC_CFGR2_ROVSE_Msk (0x1U << ADC_CFGR2_ROVSE_Pos) /*!< 0x00000001 */ +#define ADC_CFGR2_ROVSE ADC_CFGR2_ROVSE_Msk /*!< ADC Regular group oversampler enable */ +#define ADC_CFGR2_JOVSE_Pos (1U) +#define ADC_CFGR2_JOVSE_Msk (0x1U << ADC_CFGR2_JOVSE_Pos) /*!< 0x00000002 */ +#define ADC_CFGR2_JOVSE ADC_CFGR2_JOVSE_Msk /*!< ADC Injected group oversampler enable */ + +#define ADC_CFGR2_OVSS_Pos (5U) +#define ADC_CFGR2_OVSS_Msk (0xFU << ADC_CFGR2_OVSS_Pos) /*!< 0x000001E0 */ +#define ADC_CFGR2_OVSS ADC_CFGR2_OVSS_Msk /*!< ADC Regular Oversampling shift */ +#define ADC_CFGR2_OVSS_0 (0x1U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000020 */ +#define ADC_CFGR2_OVSS_1 (0x2U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000040 */ +#define ADC_CFGR2_OVSS_2 (0x4U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000080 */ +#define ADC_CFGR2_OVSS_3 (0x8U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000100 */ + +#define ADC_CFGR2_TROVS_Pos (9U) +#define ADC_CFGR2_TROVS_Msk (0x1U << ADC_CFGR2_TROVS_Pos) /*!< 0x00000200 */ +#define ADC_CFGR2_TROVS ADC_CFGR2_TROVS_Msk /*!< ADC Triggered regular Oversampling */ +#define ADC_CFGR2_ROVSM_Pos (10U) +#define ADC_CFGR2_ROVSM_Msk (0x1U << ADC_CFGR2_ROVSM_Pos) /*!< 0x00000400 */ +#define ADC_CFGR2_ROVSM ADC_CFGR2_ROVSM_Msk /*!< ADC Regular oversampling mode */ + +#define ADC_CFGR2_RSHIFT1_Pos (11U) +#define ADC_CFGR2_RSHIFT1_Msk (0x1U << ADC_CFGR2_RSHIFT1_Pos) /*!< 0x00000800 */ +#define ADC_CFGR2_RSHIFT1 ADC_CFGR2_RSHIFT1_Msk /*!< ADC Right-shift data after Offset 1 correction */ +#define ADC_CFGR2_RSHIFT2_Pos (12U) +#define ADC_CFGR2_RSHIFT2_Msk (0x1U << ADC_CFGR2_RSHIFT2_Pos) /*!< 0x00001000 */ +#define ADC_CFGR2_RSHIFT2 ADC_CFGR2_RSHIFT2_Msk /*!< ADC Right-shift data after Offset 2 correction */ +#define ADC_CFGR2_RSHIFT3_Pos (13U) +#define ADC_CFGR2_RSHIFT3_Msk (0x1U << ADC_CFGR2_RSHIFT3_Pos) /*!< 0x00002000 */ +#define ADC_CFGR2_RSHIFT3 ADC_CFGR2_RSHIFT3_Msk /*!< ADC Right-shift data after Offset 3 correction */ +#define ADC_CFGR2_RSHIFT4_Pos (14U) +#define ADC_CFGR2_RSHIFT4_Msk (0x1U << ADC_CFGR2_RSHIFT4_Pos) /*!< 0x00004000 */ +#define ADC_CFGR2_RSHIFT4 ADC_CFGR2_RSHIFT4_Msk /*!< ADC Right-shift data after Offset 4 correction */ + +#define ADC_CFGR2_OSR_Pos (16U) +#define ADC_CFGR2_OSR_Msk (0x3FFU << ADC_CFGR2_OSR_Pos) /*!< 0x03FF0000 */ +#define ADC_CFGR2_OSR ADC_CFGR2_OSR_Msk /*!< ADC oversampling Ratio */ +#define ADC_CFGR2_OSR_0 (0x001U << ADC_CFGR2_OSR_Pos) /*!< 0x00010000 */ +#define ADC_CFGR2_OSR_1 (0x002U << ADC_CFGR2_OSR_Pos) /*!< 0x00020000 */ +#define ADC_CFGR2_OSR_2 (0x004U << ADC_CFGR2_OSR_Pos) /*!< 0x00040000 */ +#define ADC_CFGR2_OSR_3 (0x008U << ADC_CFGR2_OSR_Pos) /*!< 0x00080000 */ +#define ADC_CFGR2_OSR_4 (0x010U << ADC_CFGR2_OSR_Pos) /*!< 0x00100000 */ +#define ADC_CFGR2_OSR_5 (0x020U << ADC_CFGR2_OSR_Pos) /*!< 0x00200000 */ +#define ADC_CFGR2_OSR_6 (0x040U << ADC_CFGR2_OSR_Pos) /*!< 0x00400000 */ +#define ADC_CFGR2_OSR_7 (0x080U << ADC_CFGR2_OSR_Pos) /*!< 0x00800000 */ +#define ADC_CFGR2_OSR_8 (0x100U << ADC_CFGR2_OSR_Pos) /*!< 0x01000000 */ +#define ADC_CFGR2_OSR_9 (0x200U << ADC_CFGR2_OSR_Pos) /*!< 0x02000000 */ + +#define ADC_CFGR2_LSHIFT_Pos (28U) +#define ADC_CFGR2_LSHIFT_Msk (0xFU << ADC_CFGR2_LSHIFT_Pos) /*!< 0xF0000000 */ +#define ADC_CFGR2_LSHIFT ADC_CFGR2_LSHIFT_Msk /*!< ADC Left shift factor */ +#define ADC_CFGR2_LSHIFT_0 (0x1U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x10000000 */ +#define ADC_CFGR2_LSHIFT_1 (0x2U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x20000000 */ +#define ADC_CFGR2_LSHIFT_2 (0x4U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x40000000 */ +#define ADC_CFGR2_LSHIFT_3 (0x8U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_SMPR1 register ********************/ +#define ADC_SMPR1_SMP0_Pos (0U) +#define ADC_SMPR1_SMP0_Msk (0x7U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000007 */ +#define ADC_SMPR1_SMP0 ADC_SMPR1_SMP0_Msk /*!< ADC Channel 0 Sampling time selection */ +#define ADC_SMPR1_SMP0_0 (0x1U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000001 */ +#define ADC_SMPR1_SMP0_1 (0x2U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000002 */ +#define ADC_SMPR1_SMP0_2 (0x4U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000004 */ + +#define ADC_SMPR1_SMP1_Pos (3U) +#define ADC_SMPR1_SMP1_Msk (0x7U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000038 */ +#define ADC_SMPR1_SMP1 ADC_SMPR1_SMP1_Msk /*!< ADC Channel 1 Sampling time selection */ +#define ADC_SMPR1_SMP1_0 (0x1U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000008 */ +#define ADC_SMPR1_SMP1_1 (0x2U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000010 */ +#define ADC_SMPR1_SMP1_2 (0x4U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000020 */ + +#define ADC_SMPR1_SMP2_Pos (6U) +#define ADC_SMPR1_SMP2_Msk (0x7U << ADC_SMPR1_SMP2_Pos) /*!< 0x000001C0 */ +#define ADC_SMPR1_SMP2 ADC_SMPR1_SMP2_Msk /*!< ADC Channel 2 Sampling time selection */ +#define ADC_SMPR1_SMP2_0 (0x1U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000040 */ +#define ADC_SMPR1_SMP2_1 (0x2U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000080 */ +#define ADC_SMPR1_SMP2_2 (0x4U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000100 */ + +#define ADC_SMPR1_SMP3_Pos (9U) +#define ADC_SMPR1_SMP3_Msk (0x7U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000E00 */ +#define ADC_SMPR1_SMP3 ADC_SMPR1_SMP3_Msk /*!< ADC Channel 3 Sampling time selection */ +#define ADC_SMPR1_SMP3_0 (0x1U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000200 */ +#define ADC_SMPR1_SMP3_1 (0x2U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000400 */ +#define ADC_SMPR1_SMP3_2 (0x4U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000800 */ + +#define ADC_SMPR1_SMP4_Pos (12U) +#define ADC_SMPR1_SMP4_Msk (0x7U << ADC_SMPR1_SMP4_Pos) /*!< 0x00007000 */ +#define ADC_SMPR1_SMP4 ADC_SMPR1_SMP4_Msk /*!< ADC Channel 4 Sampling time selection */ +#define ADC_SMPR1_SMP4_0 (0x1U << ADC_SMPR1_SMP4_Pos) /*!< 0x00001000 */ +#define ADC_SMPR1_SMP4_1 (0x2U << ADC_SMPR1_SMP4_Pos) /*!< 0x00002000 */ +#define ADC_SMPR1_SMP4_2 (0x4U << ADC_SMPR1_SMP4_Pos) /*!< 0x00004000 */ + +#define ADC_SMPR1_SMP5_Pos (15U) +#define ADC_SMPR1_SMP5_Msk (0x7U << ADC_SMPR1_SMP5_Pos) /*!< 0x00038000 */ +#define ADC_SMPR1_SMP5 ADC_SMPR1_SMP5_Msk /*!< ADC Channel 5 Sampling time selection */ +#define ADC_SMPR1_SMP5_0 (0x1U << ADC_SMPR1_SMP5_Pos) /*!< 0x00008000 */ +#define ADC_SMPR1_SMP5_1 (0x2U << ADC_SMPR1_SMP5_Pos) /*!< 0x00010000 */ +#define ADC_SMPR1_SMP5_2 (0x4U << ADC_SMPR1_SMP5_Pos) /*!< 0x00020000 */ + +#define ADC_SMPR1_SMP6_Pos (18U) +#define ADC_SMPR1_SMP6_Msk (0x7U << ADC_SMPR1_SMP6_Pos) /*!< 0x001C0000 */ +#define ADC_SMPR1_SMP6 ADC_SMPR1_SMP6_Msk /*!< ADC Channel 6 Sampling time selection */ +#define ADC_SMPR1_SMP6_0 (0x1U << ADC_SMPR1_SMP6_Pos) /*!< 0x00040000 */ +#define ADC_SMPR1_SMP6_1 (0x2U << ADC_SMPR1_SMP6_Pos) /*!< 0x00080000 */ +#define ADC_SMPR1_SMP6_2 (0x4U << ADC_SMPR1_SMP6_Pos) /*!< 0x00100000 */ + +#define ADC_SMPR1_SMP7_Pos (21U) +#define ADC_SMPR1_SMP7_Msk (0x7U << ADC_SMPR1_SMP7_Pos) /*!< 0x00E00000 */ +#define ADC_SMPR1_SMP7 ADC_SMPR1_SMP7_Msk /*!< ADC Channel 7 Sampling time selection */ +#define ADC_SMPR1_SMP7_0 (0x1U << ADC_SMPR1_SMP7_Pos) /*!< 0x00200000 */ +#define ADC_SMPR1_SMP7_1 (0x2U << ADC_SMPR1_SMP7_Pos) /*!< 0x00400000 */ +#define ADC_SMPR1_SMP7_2 (0x4U << ADC_SMPR1_SMP7_Pos) /*!< 0x00800000 */ + +#define ADC_SMPR1_SMP8_Pos (24U) +#define ADC_SMPR1_SMP8_Msk (0x7U << ADC_SMPR1_SMP8_Pos) /*!< 0x07000000 */ +#define ADC_SMPR1_SMP8 ADC_SMPR1_SMP8_Msk /*!< ADC Channel 8 Sampling time selection */ +#define ADC_SMPR1_SMP8_0 (0x1U << ADC_SMPR1_SMP8_Pos) /*!< 0x01000000 */ +#define ADC_SMPR1_SMP8_1 (0x2U << ADC_SMPR1_SMP8_Pos) /*!< 0x02000000 */ +#define ADC_SMPR1_SMP8_2 (0x4U << ADC_SMPR1_SMP8_Pos) /*!< 0x04000000 */ + +#define ADC_SMPR1_SMP9_Pos (27U) +#define ADC_SMPR1_SMP9_Msk (0x7U << ADC_SMPR1_SMP9_Pos) /*!< 0x38000000 */ +#define ADC_SMPR1_SMP9 ADC_SMPR1_SMP9_Msk /*!< ADC Channel 9 Sampling time selection */ +#define ADC_SMPR1_SMP9_0 (0x1U << ADC_SMPR1_SMP9_Pos) /*!< 0x08000000 */ +#define ADC_SMPR1_SMP9_1 (0x2U << ADC_SMPR1_SMP9_Pos) /*!< 0x10000000 */ +#define ADC_SMPR1_SMP9_2 (0x4U << ADC_SMPR1_SMP9_Pos) /*!< 0x20000000 */ + +/******************** Bit definition for ADC_SMPR2 register ********************/ +#define ADC_SMPR2_SMP10_Pos (0U) +#define ADC_SMPR2_SMP10_Msk (0x7U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000007 */ +#define ADC_SMPR2_SMP10 ADC_SMPR2_SMP10_Msk /*!< ADC Channel 10 Sampling time selection */ +#define ADC_SMPR2_SMP10_0 (0x1U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000001 */ +#define ADC_SMPR2_SMP10_1 (0x2U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000002 */ +#define ADC_SMPR2_SMP10_2 (0x4U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000004 */ + +#define ADC_SMPR2_SMP11_Pos (3U) +#define ADC_SMPR2_SMP11_Msk (0x7U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000038 */ +#define ADC_SMPR2_SMP11 ADC_SMPR2_SMP11_Msk /*!< ADC Channel 11 Sampling time selection */ +#define ADC_SMPR2_SMP11_0 (0x1U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000008 */ +#define ADC_SMPR2_SMP11_1 (0x2U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000010 */ +#define ADC_SMPR2_SMP11_2 (0x4U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000020 */ + +#define ADC_SMPR2_SMP12_Pos (6U) +#define ADC_SMPR2_SMP12_Msk (0x7U << ADC_SMPR2_SMP12_Pos) /*!< 0x000001C0 */ +#define ADC_SMPR2_SMP12 ADC_SMPR2_SMP12_Msk /*!< ADC Channel 12 Sampling time selection */ +#define ADC_SMPR2_SMP12_0 (0x1U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000040 */ +#define ADC_SMPR2_SMP12_1 (0x2U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000080 */ +#define ADC_SMPR2_SMP12_2 (0x4U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000100 */ + +#define ADC_SMPR2_SMP13_Pos (9U) +#define ADC_SMPR2_SMP13_Msk (0x7U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000E00 */ +#define ADC_SMPR2_SMP13 ADC_SMPR2_SMP13_Msk /*!< ADC Channel 13 Sampling time selection */ +#define ADC_SMPR2_SMP13_0 (0x1U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000200 */ +#define ADC_SMPR2_SMP13_1 (0x2U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000400 */ +#define ADC_SMPR2_SMP13_2 (0x4U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000800 */ + +#define ADC_SMPR2_SMP14_Pos (12U) +#define ADC_SMPR2_SMP14_Msk (0x7U << ADC_SMPR2_SMP14_Pos) /*!< 0x00007000 */ +#define ADC_SMPR2_SMP14 ADC_SMPR2_SMP14_Msk /*!< ADC Channel 14 Sampling time selection */ +#define ADC_SMPR2_SMP14_0 (0x1U << ADC_SMPR2_SMP14_Pos) /*!< 0x00001000 */ +#define ADC_SMPR2_SMP14_1 (0x2U << ADC_SMPR2_SMP14_Pos) /*!< 0x00002000 */ +#define ADC_SMPR2_SMP14_2 (0x4U << ADC_SMPR2_SMP14_Pos) /*!< 0x00004000 */ + +#define ADC_SMPR2_SMP15_Pos (15U) +#define ADC_SMPR2_SMP15_Msk (0x7U << ADC_SMPR2_SMP15_Pos) /*!< 0x00038000 */ +#define ADC_SMPR2_SMP15 ADC_SMPR2_SMP15_Msk /*!< ADC Channel 15 Sampling time selection */ +#define ADC_SMPR2_SMP15_0 (0x1U << ADC_SMPR2_SMP15_Pos) /*!< 0x00008000 */ +#define ADC_SMPR2_SMP15_1 (0x2U << ADC_SMPR2_SMP15_Pos) /*!< 0x00010000 */ +#define ADC_SMPR2_SMP15_2 (0x4U << ADC_SMPR2_SMP15_Pos) /*!< 0x00020000 */ + +#define ADC_SMPR2_SMP16_Pos (18U) +#define ADC_SMPR2_SMP16_Msk (0x7U << ADC_SMPR2_SMP16_Pos) /*!< 0x001C0000 */ +#define ADC_SMPR2_SMP16 ADC_SMPR2_SMP16_Msk /*!< ADC Channel 16 Sampling time selection */ +#define ADC_SMPR2_SMP16_0 (0x1U << ADC_SMPR2_SMP16_Pos) /*!< 0x00040000 */ +#define ADC_SMPR2_SMP16_1 (0x2U << ADC_SMPR2_SMP16_Pos) /*!< 0x00080000 */ +#define ADC_SMPR2_SMP16_2 (0x4U << ADC_SMPR2_SMP16_Pos) /*!< 0x00100000 */ + +#define ADC_SMPR2_SMP17_Pos (21U) +#define ADC_SMPR2_SMP17_Msk (0x7U << ADC_SMPR2_SMP17_Pos) /*!< 0x00E00000 */ +#define ADC_SMPR2_SMP17 ADC_SMPR2_SMP17_Msk /*!< ADC Channel 17 Sampling time selection */ +#define ADC_SMPR2_SMP17_0 (0x1U << ADC_SMPR2_SMP17_Pos) /*!< 0x00200000 */ +#define ADC_SMPR2_SMP17_1 (0x2U << ADC_SMPR2_SMP17_Pos) /*!< 0x00400000 */ +#define ADC_SMPR2_SMP17_2 (0x4U << ADC_SMPR2_SMP17_Pos) /*!< 0x00800000 */ + +#define ADC_SMPR2_SMP18_Pos (24U) +#define ADC_SMPR2_SMP18_Msk (0x7U << ADC_SMPR2_SMP18_Pos) /*!< 0x07000000 */ +#define ADC_SMPR2_SMP18 ADC_SMPR2_SMP18_Msk /*!< ADC Channel 18 Sampling time selection */ +#define ADC_SMPR2_SMP18_0 (0x1U << ADC_SMPR2_SMP18_Pos) /*!< 0x01000000 */ +#define ADC_SMPR2_SMP18_1 (0x2U << ADC_SMPR2_SMP18_Pos) /*!< 0x02000000 */ +#define ADC_SMPR2_SMP18_2 (0x4U << ADC_SMPR2_SMP18_Pos) /*!< 0x04000000 */ + +#define ADC_SMPR2_SMP19_Pos (27U) +#define ADC_SMPR2_SMP19_Msk (0x7U << ADC_SMPR2_SMP19_Pos) /*!< 0x38000000 */ +#define ADC_SMPR2_SMP19 ADC_SMPR2_SMP19_Msk /*!< ADC Channel 19 Sampling time selection */ +#define ADC_SMPR2_SMP19_0 (0x1U << ADC_SMPR2_SMP19_Pos) /*!< 0x08000000 */ +#define ADC_SMPR2_SMP19_1 (0x2U << ADC_SMPR2_SMP19_Pos) /*!< 0x10000000 */ +#define ADC_SMPR2_SMP19_2 (0x4U << ADC_SMPR2_SMP19_Pos) /*!< 0x20000000 */ + +/******************** Bit definition for ADC_PCSEL register ********************/ +#define ADC_PCSEL_PCSEL_Pos (0U) +#define ADC_PCSEL_PCSEL_Msk (0xFFFFFU << ADC_PCSEL_PCSEL_Pos) /*!< 0x000FFFFF */ +#define ADC_PCSEL_PCSEL ADC_PCSEL_PCSEL_Msk /*!< ADC pre channel selection */ +#define ADC_PCSEL_PCSEL_0 (0x00001U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000001 */ +#define ADC_PCSEL_PCSEL_1 (0x00002U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000002 */ +#define ADC_PCSEL_PCSEL_2 (0x00004U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000004 */ +#define ADC_PCSEL_PCSEL_3 (0x00008U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000008 */ +#define ADC_PCSEL_PCSEL_4 (0x00010U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000010 */ +#define ADC_PCSEL_PCSEL_5 (0x00020U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000020 */ +#define ADC_PCSEL_PCSEL_6 (0x00040U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000040 */ +#define ADC_PCSEL_PCSEL_7 (0x00080U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000080 */ +#define ADC_PCSEL_PCSEL_8 (0x00100U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000100 */ +#define ADC_PCSEL_PCSEL_9 (0x00200U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000200 */ +#define ADC_PCSEL_PCSEL_10 (0x00400U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000400 */ +#define ADC_PCSEL_PCSEL_11 (0x00800U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000800 */ +#define ADC_PCSEL_PCSEL_12 (0x01000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00001000 */ +#define ADC_PCSEL_PCSEL_13 (0x02000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00002000 */ +#define ADC_PCSEL_PCSEL_14 (0x04000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00004000 */ +#define ADC_PCSEL_PCSEL_15 (0x08000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00008000 */ +#define ADC_PCSEL_PCSEL_16 (0x10000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00010000 */ +#define ADC_PCSEL_PCSEL_17 (0x20000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00020000 */ +#define ADC_PCSEL_PCSEL_18 (0x40000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00040000 */ +#define ADC_PCSEL_PCSEL_19 (0x80000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_LTR1 register ********************/ +#define ADC_LTR1_LT1_Pos (0U) +#define ADC_LTR1_LT1_Msk (0x3FFFFFFU << ADC_LTR1_LT1_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR1_LT1 ADC_LTR1_LT1_Msk /*!< ADC Analog watchdog 1 lower threshold */ +#define ADC_LTR1_LT1_0 (0x0000001U << ADC_LTR1_LT1_Pos) /*!< 0x00000001 */ +#define ADC_LTR1_LT1_1 (0x0000002U << ADC_LTR1_LT1_Pos) /*!< 0x00000002 */ +#define ADC_LTR1_LT1_2 (0x0000004U << ADC_LTR1_LT1_Pos) /*!< 0x00000004 */ +#define ADC_LTR1_LT1_3 (0x0000008U << ADC_LTR1_LT1_Pos) /*!< 0x00000008 */ +#define ADC_LTR1_LT1_4 (0x0000010U << ADC_LTR1_LT1_Pos) /*!< 0x00000010 */ +#define ADC_LTR1_LT1_5 (0x0000020U << ADC_LTR1_LT1_Pos) /*!< 0x00000020 */ +#define ADC_LTR1_LT1_6 (0x0000040U << ADC_LTR1_LT1_Pos) /*!< 0x00000040 */ +#define ADC_LTR1_LT1_7 (0x0000080U << ADC_LTR1_LT1_Pos) /*!< 0x00000080 */ +#define ADC_LTR1_LT1_8 (0x0000100U << ADC_LTR1_LT1_Pos) /*!< 0x00000100 */ +#define ADC_LTR1_LT1_9 (0x0000200U << ADC_LTR1_LT1_Pos) /*!< 0x00000200 */ +#define ADC_LTR1_LT1_10 (0x0000400U << ADC_LTR1_LT1_Pos) /*!< 0x00000400 */ +#define ADC_LTR1_LT1_11 (0x0000800U << ADC_LTR1_LT1_Pos) /*!< 0x00000800 */ +#define ADC_LTR1_LT1_12 (0x0001000U << ADC_LTR1_LT1_Pos) /*!< 0x00001000 */ +#define ADC_LTR1_LT1_13 (0x0002000U << ADC_LTR1_LT1_Pos) /*!< 0x00002000 */ +#define ADC_LTR1_LT1_14 (0x0004000U << ADC_LTR1_LT1_Pos) /*!< 0x00004000 */ +#define ADC_LTR1_LT1_15 (0x0008000U << ADC_LTR1_LT1_Pos) /*!< 0x00008000 */ +#define ADC_LTR1_LT1_16 (0x0010000U << ADC_LTR1_LT1_Pos) /*!< 0x00010000 */ +#define ADC_LTR1_LT1_17 (0x0020000U << ADC_LTR1_LT1_Pos) /*!< 0x00020000 */ +#define ADC_LTR1_LT1_18 (0x0040000U << ADC_LTR1_LT1_Pos) /*!< 0x00040000 */ +#define ADC_LTR1_LT1_19 (0x0080000U << ADC_LTR1_LT1_Pos) /*!< 0x00080000 */ +#define ADC_LTR1_LT1_20 (0x0100000U << ADC_LTR1_LT1_Pos) /*!< 0x00100000 */ +#define ADC_LTR1_LT1_21 (0x0200000U << ADC_LTR1_LT1_Pos) /*!< 0x00200000 */ +#define ADC_LTR1_LT1_22 (0x0400000U << ADC_LTR1_LT1_Pos) /*!< 0x00400000 */ +#define ADC_LTR1_LT1_23 (0x0800000U << ADC_LTR1_LT1_Pos) /*!< 0x00800000 */ +#define ADC_LTR1_LT1_24 (0x1000000U << ADC_LTR1_LT1_Pos) /*!< 0x01000000 */ +#define ADC_LTR1_LT1_25 (0x2000000U << ADC_LTR1_LT1_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR1 register ********************/ +#define ADC_HTR1_HT1_Pos (0U) +#define ADC_HTR1_HT1_Msk (0x3FFFFFFU << ADC_HTR1_HT1_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR1_HT1 ADC_HTR1_HT1_Msk /*!< ADC Analog watchdog 1 higher threshold */ +#define ADC_HTR1_HT1_0 (0x0000001U << ADC_HTR1_HT1_Pos) /*!< 0x00000001 */ +#define ADC_HTR1_HT1_1 (0x0000002U << ADC_HTR1_HT1_Pos) /*!< 0x00000002 */ +#define ADC_HTR1_HT1_2 (0x0000004U << ADC_HTR1_HT1_Pos) /*!< 0x00000004 */ +#define ADC_HTR1_HT1_3 (0x0000008U << ADC_HTR1_HT1_Pos) /*!< 0x00000008 */ +#define ADC_HTR1_HT1_4 (0x0000010U << ADC_HTR1_HT1_Pos) /*!< 0x00000010 */ +#define ADC_HTR1_HT1_5 (0x0000020U << ADC_HTR1_HT1_Pos) /*!< 0x00000020 */ +#define ADC_HTR1_HT1_6 (0x0000040U << ADC_HTR1_HT1_Pos) /*!< 0x00000040 */ +#define ADC_HTR1_HT1_7 (0x0000080U << ADC_HTR1_HT1_Pos) /*!< 0x00000080 */ +#define ADC_HTR1_HT1_8 (0x0000100U << ADC_HTR1_HT1_Pos) /*!< 0x00000100 */ +#define ADC_HTR1_HT1_9 (0x0000200U << ADC_HTR1_HT1_Pos) /*!< 0x00000200 */ +#define ADC_HTR1_HT1_10 (0x0000400U << ADC_HTR1_HT1_Pos) /*!< 0x00000400 */ +#define ADC_HTR1_HT1_11 (0x0000800U << ADC_HTR1_HT1_Pos) /*!< 0x00000800 */ +#define ADC_HTR1_HT1_12 (0x0001000U << ADC_HTR1_HT1_Pos) /*!< 0x00001000 */ +#define ADC_HTR1_HT1_13 (0x0002000U << ADC_HTR1_HT1_Pos) /*!< 0x00002000 */ +#define ADC_HTR1_HT1_14 (0x0004000U << ADC_HTR1_HT1_Pos) /*!< 0x00004000 */ +#define ADC_HTR1_HT1_15 (0x0008000U << ADC_HTR1_HT1_Pos) /*!< 0x00008000 */ +#define ADC_HTR1_HT1_16 (0x0010000U << ADC_HTR1_HT1_Pos) /*!< 0x00010000 */ +#define ADC_HTR1_HT1_17 (0x0020000U << ADC_HTR1_HT1_Pos) /*!< 0x00020000 */ +#define ADC_HTR1_HT1_18 (0x0040000U << ADC_HTR1_HT1_Pos) /*!< 0x00040000 */ +#define ADC_HTR1_HT1_19 (0x0080000U << ADC_HTR1_HT1_Pos) /*!< 0x00080000 */ +#define ADC_HTR1_HT1_20 (0x0100000U << ADC_HTR1_HT1_Pos) /*!< 0x00100000 */ +#define ADC_HTR1_HT1_21 (0x0200000U << ADC_HTR1_HT1_Pos) /*!< 0x00200000 */ +#define ADC_HTR1_HT1_22 (0x0400000U << ADC_HTR1_HT1_Pos) /*!< 0x00400000 */ +#define ADC_HTR1_HT1_23 (0x0800000U << ADC_HTR1_HT1_Pos) /*!< 0x00800000 */ +#define ADC_HTR1_HT1_24 (0x1000000U << ADC_HTR1_HT1_Pos) /*!< 0x01000000 */ +#define ADC_HTR1_HT1_25 (0x2000000U << ADC_HTR1_HT1_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_LTR2 register ********************/ +#define ADC_LTR2_LT2_Pos (0U) +#define ADC_LTR2_LT2_Msk (0x3FFFFFFU << ADC_LTR2_LT2_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR2_LT2 ADC_LTR2_LT2_Msk /*!< ADC Analog watchdog 2 lower threshold */ +#define ADC_LTR2_LT2_0 (0x0000001U << ADC_LTR2_LT2_Pos) /*!< 0x00000001 */ +#define ADC_LTR2_LT2_1 (0x0000002U << ADC_LTR2_LT2_Pos) /*!< 0x00000002 */ +#define ADC_LTR2_LT2_2 (0x0000004U << ADC_LTR2_LT2_Pos) /*!< 0x00000004 */ +#define ADC_LTR2_LT2_3 (0x0000008U << ADC_LTR2_LT2_Pos) /*!< 0x00000008 */ +#define ADC_LTR2_LT2_4 (0x0000010U << ADC_LTR2_LT2_Pos) /*!< 0x00000010 */ +#define ADC_LTR2_LT2_5 (0x0000020U << ADC_LTR2_LT2_Pos) /*!< 0x00000020 */ +#define ADC_LTR2_LT2_6 (0x0000040U << ADC_LTR2_LT2_Pos) /*!< 0x00000040 */ +#define ADC_LTR2_LT2_7 (0x0000080U << ADC_LTR2_LT2_Pos) /*!< 0x00000080 */ +#define ADC_LTR2_LT2_8 (0x0000100U << ADC_LTR2_LT2_Pos) /*!< 0x00000100 */ +#define ADC_LTR2_LT2_9 (0x0000200U << ADC_LTR2_LT2_Pos) /*!< 0x00000200 */ +#define ADC_LTR2_LT2_10 (0x0000400U << ADC_LTR2_LT2_Pos) /*!< 0x00000400 */ +#define ADC_LTR2_LT2_11 (0x0000800U << ADC_LTR2_LT2_Pos) /*!< 0x00000800 */ +#define ADC_LTR2_LT2_12 (0x0001000U << ADC_LTR2_LT2_Pos) /*!< 0x00001000 */ +#define ADC_LTR2_LT2_13 (0x0002000U << ADC_LTR2_LT2_Pos) /*!< 0x00002000 */ +#define ADC_LTR2_LT2_14 (0x0004000U << ADC_LTR2_LT2_Pos) /*!< 0x00004000 */ +#define ADC_LTR2_LT2_15 (0x0008000U << ADC_LTR2_LT2_Pos) /*!< 0x00008000 */ +#define ADC_LTR2_LT2_16 (0x0010000U << ADC_LTR2_LT2_Pos) /*!< 0x00010000 */ +#define ADC_LTR2_LT2_17 (0x0020000U << ADC_LTR2_LT2_Pos) /*!< 0x00020000 */ +#define ADC_LTR2_LT2_18 (0x0040000U << ADC_LTR2_LT2_Pos) /*!< 0x00040000 */ +#define ADC_LTR2_LT2_19 (0x0080000U << ADC_LTR2_LT2_Pos) /*!< 0x00080000 */ +#define ADC_LTR2_LT2_20 (0x0100000U << ADC_LTR2_LT2_Pos) /*!< 0x00100000 */ +#define ADC_LTR2_LT2_21 (0x0200000U << ADC_LTR2_LT2_Pos) /*!< 0x00200000 */ +#define ADC_LTR2_LT2_22 (0x0400000U << ADC_LTR2_LT2_Pos) /*!< 0x00400000 */ +#define ADC_LTR2_LT2_23 (0x0800000U << ADC_LTR2_LT2_Pos) /*!< 0x00800000 */ +#define ADC_LTR2_LT2_24 (0x1000000U << ADC_LTR2_LT2_Pos) /*!< 0x01000000 */ +#define ADC_LTR2_LT2_25 (0x2000000U << ADC_LTR2_LT2_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR2 register ********************/ +#define ADC_HTR2_HT2_Pos (0U) +#define ADC_HTR2_HT2_Msk (0x3FFFFFFU << ADC_HTR2_HT2_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR2_HT2 ADC_HTR2_HT2_Msk /*!< ADC Analog watchdog 2 higher threshold */ +#define ADC_HTR2_HT2_0 (0x0000001U << ADC_HTR2_HT2_Pos) /*!< 0x00000001 */ +#define ADC_HTR2_HT2_1 (0x0000002U << ADC_HTR2_HT2_Pos) /*!< 0x00000002 */ +#define ADC_HTR2_HT2_2 (0x0000004U << ADC_HTR2_HT2_Pos) /*!< 0x00000004 */ +#define ADC_HTR2_HT2_3 (0x0000008U << ADC_HTR2_HT2_Pos) /*!< 0x00000008 */ +#define ADC_HTR2_HT2_4 (0x0000010U << ADC_HTR2_HT2_Pos) /*!< 0x00000010 */ +#define ADC_HTR2_HT2_5 (0x0000020U << ADC_HTR2_HT2_Pos) /*!< 0x00000020 */ +#define ADC_HTR2_HT2_6 (0x0000040U << ADC_HTR2_HT2_Pos) /*!< 0x00000040 */ +#define ADC_HTR2_HT2_7 (0x0000080U << ADC_HTR2_HT2_Pos) /*!< 0x00000080 */ +#define ADC_HTR2_HT2_8 (0x0000100U << ADC_HTR2_HT2_Pos) /*!< 0x00000100 */ +#define ADC_HTR2_HT2_9 (0x0000200U << ADC_HTR2_HT2_Pos) /*!< 0x00000200 */ +#define ADC_HTR2_HT2_10 (0x0000400U << ADC_HTR2_HT2_Pos) /*!< 0x00000400 */ +#define ADC_HTR2_HT2_11 (0x0000800U << ADC_HTR2_HT2_Pos) /*!< 0x00000800 */ +#define ADC_HTR2_HT2_12 (0x0001000U << ADC_HTR2_HT2_Pos) /*!< 0x00001000 */ +#define ADC_HTR2_HT2_13 (0x0002000U << ADC_HTR2_HT2_Pos) /*!< 0x00002000 */ +#define ADC_HTR2_HT2_14 (0x0004000U << ADC_HTR2_HT2_Pos) /*!< 0x00004000 */ +#define ADC_HTR2_HT2_15 (0x0008000U << ADC_HTR2_HT2_Pos) /*!< 0x00008000 */ +#define ADC_HTR2_HT2_16 (0x0010000U << ADC_HTR2_HT2_Pos) /*!< 0x00010000 */ +#define ADC_HTR2_HT2_17 (0x0020000U << ADC_HTR2_HT2_Pos) /*!< 0x00020000 */ +#define ADC_HTR2_HT2_18 (0x0040000U << ADC_HTR2_HT2_Pos) /*!< 0x00040000 */ +#define ADC_HTR2_HT2_19 (0x0080000U << ADC_HTR2_HT2_Pos) /*!< 0x00080000 */ +#define ADC_HTR2_HT2_20 (0x0100000U << ADC_HTR2_HT2_Pos) /*!< 0x00100000 */ +#define ADC_HTR2_HT2_21 (0x0200000U << ADC_HTR2_HT2_Pos) /*!< 0x00200000 */ +#define ADC_HTR2_HT2_22 (0x0400000U << ADC_HTR2_HT2_Pos) /*!< 0x00400000 */ +#define ADC_HTR2_HT2_23 (0x0800000U << ADC_HTR2_HT2_Pos) /*!< 0x00800000 */ +#define ADC_HTR2_HT2_24 (0x1000000U << ADC_HTR2_HT2_Pos) /*!< 0x01000000 */ +#define ADC_HTR2_HT2_25 (0x2000000U << ADC_HTR2_HT2_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_LTR3 register ********************/ +#define ADC_LTR3_LT3_Pos (0U) +#define ADC_LTR3_LT3_Msk (0x3FFFFFFU << ADC_LTR3_LT3_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR3_LT3 ADC_LTR3_LT3_Msk /*!< ADC Analog watchdog 3 lower threshold */ +#define ADC_LTR3_LT3_0 (0x0000001U << ADC_LTR3_LT3_Pos) /*!< 0x00000001 */ +#define ADC_LTR3_LT3_1 (0x0000002U << ADC_LTR3_LT3_Pos) /*!< 0x00000002 */ +#define ADC_LTR3_LT3_2 (0x0000004U << ADC_LTR3_LT3_Pos) /*!< 0x00000004 */ +#define ADC_LTR3_LT3_3 (0x0000008U << ADC_LTR3_LT3_Pos) /*!< 0x00000008 */ +#define ADC_LTR3_LT3_4 (0x0000010U << ADC_LTR3_LT3_Pos) /*!< 0x00000010 */ +#define ADC_LTR3_LT3_5 (0x0000020U << ADC_LTR3_LT3_Pos) /*!< 0x00000020 */ +#define ADC_LTR3_LT3_6 (0x0000040U << ADC_LTR3_LT3_Pos) /*!< 0x00000040 */ +#define ADC_LTR3_LT3_7 (0x0000080U << ADC_LTR3_LT3_Pos) /*!< 0x00000080 */ +#define ADC_LTR3_LT3_8 (0x0000100U << ADC_LTR3_LT3_Pos) /*!< 0x00000100 */ +#define ADC_LTR3_LT3_9 (0x0000200U << ADC_LTR3_LT3_Pos) /*!< 0x00000200 */ +#define ADC_LTR3_LT3_10 (0x0000400U << ADC_LTR3_LT3_Pos) /*!< 0x00000400 */ +#define ADC_LTR3_LT3_11 (0x0000800U << ADC_LTR3_LT3_Pos) /*!< 0x00000800 */ +#define ADC_LTR3_LT3_12 (0x0001000U << ADC_LTR3_LT3_Pos) /*!< 0x00001000 */ +#define ADC_LTR3_LT3_13 (0x0002000U << ADC_LTR3_LT3_Pos) /*!< 0x00002000 */ +#define ADC_LTR3_LT3_14 (0x0004000U << ADC_LTR3_LT3_Pos) /*!< 0x00004000 */ +#define ADC_LTR3_LT3_15 (0x0008000U << ADC_LTR3_LT3_Pos) /*!< 0x00008000 */ +#define ADC_LTR3_LT3_16 (0x0010000U << ADC_LTR3_LT3_Pos) /*!< 0x00010000 */ +#define ADC_LTR3_LT3_17 (0x0020000U << ADC_LTR3_LT3_Pos) /*!< 0x00020000 */ +#define ADC_LTR3_LT3_18 (0x0040000U << ADC_LTR3_LT3_Pos) /*!< 0x00040000 */ +#define ADC_LTR3_LT3_19 (0x0080000U << ADC_LTR3_LT3_Pos) /*!< 0x00080000 */ +#define ADC_LTR3_LT3_20 (0x0100000U << ADC_LTR3_LT3_Pos) /*!< 0x00100000 */ +#define ADC_LTR3_LT3_21 (0x0200000U << ADC_LTR3_LT3_Pos) /*!< 0x00200000 */ +#define ADC_LTR3_LT3_22 (0x0400000U << ADC_LTR3_LT3_Pos) /*!< 0x00400000 */ +#define ADC_LTR3_LT3_23 (0x0800000U << ADC_LTR3_LT3_Pos) /*!< 0x00800000 */ +#define ADC_LTR3_LT3_24 (0x1000000U << ADC_LTR3_LT3_Pos) /*!< 0x01000000 */ +#define ADC_LTR3_LT3_25 (0x2000000U << ADC_LTR3_LT3_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR3 register ********************/ +#define ADC_HTR3_HT3_Pos (0U) +#define ADC_HTR3_HT3_Msk (0x3FFFFFFU << ADC_HTR3_HT3_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR3_HT3 ADC_HTR3_HT3_Msk /*!< ADC Analog watchdog 3 higher threshold */ +#define ADC_HTR3_HT3_0 (0x0000001U << ADC_HTR3_HT3_Pos) /*!< 0x00000001 */ +#define ADC_HTR3_HT3_1 (0x0000002U << ADC_HTR3_HT3_Pos) /*!< 0x00000002 */ +#define ADC_HTR3_HT3_2 (0x0000004U << ADC_HTR3_HT3_Pos) /*!< 0x00000004 */ +#define ADC_HTR3_HT3_3 (0x0000008U << ADC_HTR3_HT3_Pos) /*!< 0x00000008 */ +#define ADC_HTR3_HT3_4 (0x0000010U << ADC_HTR3_HT3_Pos) /*!< 0x00000010 */ +#define ADC_HTR3_HT3_5 (0x0000020U << ADC_HTR3_HT3_Pos) /*!< 0x00000020 */ +#define ADC_HTR3_HT3_6 (0x0000040U << ADC_HTR3_HT3_Pos) /*!< 0x00000040 */ +#define ADC_HTR3_HT3_7 (0x0000080U << ADC_HTR3_HT3_Pos) /*!< 0x00000080 */ +#define ADC_HTR3_HT3_8 (0x0000100U << ADC_HTR3_HT3_Pos) /*!< 0x00000100 */ +#define ADC_HTR3_HT3_9 (0x0000200U << ADC_HTR3_HT3_Pos) /*!< 0x00000200 */ +#define ADC_HTR3_HT3_10 (0x0000400U << ADC_HTR3_HT3_Pos) /*!< 0x00000400 */ +#define ADC_HTR3_HT3_11 (0x0000800U << ADC_HTR3_HT3_Pos) /*!< 0x00000800 */ +#define ADC_HTR3_HT3_12 (0x0001000U << ADC_HTR3_HT3_Pos) /*!< 0x00001000 */ +#define ADC_HTR3_HT3_13 (0x0002000U << ADC_HTR3_HT3_Pos) /*!< 0x00002000 */ +#define ADC_HTR3_HT3_14 (0x0004000U << ADC_HTR3_HT3_Pos) /*!< 0x00004000 */ +#define ADC_HTR3_HT3_15 (0x0008000U << ADC_HTR3_HT3_Pos) /*!< 0x00008000 */ +#define ADC_HTR3_HT3_16 (0x0010000U << ADC_HTR3_HT3_Pos) /*!< 0x00010000 */ +#define ADC_HTR3_HT3_17 (0x0020000U << ADC_HTR3_HT3_Pos) /*!< 0x00020000 */ +#define ADC_HTR3_HT3_18 (0x0040000U << ADC_HTR3_HT3_Pos) /*!< 0x00040000 */ +#define ADC_HTR3_HT3_19 (0x0080000U << ADC_HTR3_HT3_Pos) /*!< 0x00080000 */ +#define ADC_HTR3_HT3_20 (0x0100000U << ADC_HTR3_HT3_Pos) /*!< 0x00100000 */ +#define ADC_HTR3_HT3_21 (0x0200000U << ADC_HTR3_HT3_Pos) /*!< 0x00200000 */ +#define ADC_HTR3_HT3_22 (0x0400000U << ADC_HTR3_HT3_Pos) /*!< 0x00400000 */ +#define ADC_HTR3_HT3_23 (0x0800000U << ADC_HTR3_HT3_Pos) /*!< 0x00800000 */ +#define ADC_HTR3_HT3_24 (0x1000000U << ADC_HTR3_HT3_Pos) /*!< 0x01000000 */ +#define ADC_HTR3_HT3_25 (0x2000000U << ADC_HTR3_HT3_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_SQR1 register ********************/ +#define ADC_SQR1_L_Pos (0U) +#define ADC_SQR1_L_Msk (0xFU << ADC_SQR1_L_Pos) /*!< 0x0000000F */ +#define ADC_SQR1_L ADC_SQR1_L_Msk /*!< ADC regular channel sequence lenght */ +#define ADC_SQR1_L_0 (0x1U << ADC_SQR1_L_Pos) /*!< 0x00000001 */ +#define ADC_SQR1_L_1 (0x2U << ADC_SQR1_L_Pos) /*!< 0x00000002 */ +#define ADC_SQR1_L_2 (0x4U << ADC_SQR1_L_Pos) /*!< 0x00000004 */ +#define ADC_SQR1_L_3 (0x8U << ADC_SQR1_L_Pos) /*!< 0x00000008 */ + +#define ADC_SQR1_SQ1_Pos (6U) +#define ADC_SQR1_SQ1_Msk (0x1FU << ADC_SQR1_SQ1_Pos) /*!< 0x000007C0 */ +#define ADC_SQR1_SQ1 ADC_SQR1_SQ1_Msk /*!< ADC 1st conversion in regular sequence */ +#define ADC_SQR1_SQ1_0 (0x01U << ADC_SQR1_SQ1_Pos) /*!< 0x00000040 */ +#define ADC_SQR1_SQ1_1 (0x02U << ADC_SQR1_SQ1_Pos) /*!< 0x00000080 */ +#define ADC_SQR1_SQ1_2 (0x04U << ADC_SQR1_SQ1_Pos) /*!< 0x00000100 */ +#define ADC_SQR1_SQ1_3 (0x08U << ADC_SQR1_SQ1_Pos) /*!< 0x00000200 */ +#define ADC_SQR1_SQ1_4 (0x10U << ADC_SQR1_SQ1_Pos) /*!< 0x00000400 */ + +#define ADC_SQR1_SQ2_Pos (12U) +#define ADC_SQR1_SQ2_Msk (0x1FU << ADC_SQR1_SQ2_Pos) /*!< 0x0001F000 */ +#define ADC_SQR1_SQ2 ADC_SQR1_SQ2_Msk /*!< ADC 2nd conversion in regular sequence */ +#define ADC_SQR1_SQ2_0 (0x01U << ADC_SQR1_SQ2_Pos) /*!< 0x00001000 */ +#define ADC_SQR1_SQ2_1 (0x02U << ADC_SQR1_SQ2_Pos) /*!< 0x00002000 */ +#define ADC_SQR1_SQ2_2 (0x04U << ADC_SQR1_SQ2_Pos) /*!< 0x00004000 */ +#define ADC_SQR1_SQ2_3 (0x08U << ADC_SQR1_SQ2_Pos) /*!< 0x00008000 */ +#define ADC_SQR1_SQ2_4 (0x10U << ADC_SQR1_SQ2_Pos) /*!< 0x00010000 */ + +#define ADC_SQR1_SQ3_Pos (18U) +#define ADC_SQR1_SQ3_Msk (0x1FU << ADC_SQR1_SQ3_Pos) /*!< 0x007C0000 */ +#define ADC_SQR1_SQ3 ADC_SQR1_SQ3_Msk /*!< ADC 3rd conversion in regular sequence */ +#define ADC_SQR1_SQ3_0 (0x01U << ADC_SQR1_SQ3_Pos) /*!< 0x00040000 */ +#define ADC_SQR1_SQ3_1 (0x02U << ADC_SQR1_SQ3_Pos) /*!< 0x00080000 */ +#define ADC_SQR1_SQ3_2 (0x04U << ADC_SQR1_SQ3_Pos) /*!< 0x00100000 */ +#define ADC_SQR1_SQ3_3 (0x08U << ADC_SQR1_SQ3_Pos) /*!< 0x00200000 */ +#define ADC_SQR1_SQ3_4 (0x10U << ADC_SQR1_SQ3_Pos) /*!< 0x00400000 */ + +#define ADC_SQR1_SQ4_Pos (24U) +#define ADC_SQR1_SQ4_Msk (0x1FU << ADC_SQR1_SQ4_Pos) /*!< 0x1F000000 */ +#define ADC_SQR1_SQ4 ADC_SQR1_SQ4_Msk /*!< ADC 4th conversion in regular sequence */ +#define ADC_SQR1_SQ4_0 (0x01U << ADC_SQR1_SQ4_Pos) /*!< 0x01000000 */ +#define ADC_SQR1_SQ4_1 (0x02U << ADC_SQR1_SQ4_Pos) /*!< 0x02000000 */ +#define ADC_SQR1_SQ4_2 (0x04U << ADC_SQR1_SQ4_Pos) /*!< 0x04000000 */ +#define ADC_SQR1_SQ4_3 (0x08U << ADC_SQR1_SQ4_Pos) /*!< 0x08000000 */ +#define ADC_SQR1_SQ4_4 (0x10U << ADC_SQR1_SQ4_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR2 register ********************/ +#define ADC_SQR2_SQ5_Pos (0U) +#define ADC_SQR2_SQ5_Msk (0x1FU << ADC_SQR2_SQ5_Pos) /*!< 0x0000001F */ +#define ADC_SQR2_SQ5 ADC_SQR2_SQ5_Msk /*!< ADC 5th conversion in regular sequence */ +#define ADC_SQR2_SQ5_0 (0x01U << ADC_SQR2_SQ5_Pos) /*!< 0x00000001 */ +#define ADC_SQR2_SQ5_1 (0x02U << ADC_SQR2_SQ5_Pos) /*!< 0x00000002 */ +#define ADC_SQR2_SQ5_2 (0x04U << ADC_SQR2_SQ5_Pos) /*!< 0x00000004 */ +#define ADC_SQR2_SQ5_3 (0x08U << ADC_SQR2_SQ5_Pos) /*!< 0x00000008 */ +#define ADC_SQR2_SQ5_4 (0x10U << ADC_SQR2_SQ5_Pos) /*!< 0x00000010 */ + +#define ADC_SQR2_SQ6_Pos (6U) +#define ADC_SQR2_SQ6_Msk (0x1FU << ADC_SQR2_SQ6_Pos) /*!< 0x000007C0 */ +#define ADC_SQR2_SQ6 ADC_SQR2_SQ6_Msk /*!< ADC 6th conversion in regular sequence */ +#define ADC_SQR2_SQ6_0 (0x01U << ADC_SQR2_SQ6_Pos) /*!< 0x00000040 */ +#define ADC_SQR2_SQ6_1 (0x02U << ADC_SQR2_SQ6_Pos) /*!< 0x00000080 */ +#define ADC_SQR2_SQ6_2 (0x04U << ADC_SQR2_SQ6_Pos) /*!< 0x00000100 */ +#define ADC_SQR2_SQ6_3 (0x08U << ADC_SQR2_SQ6_Pos) /*!< 0x00000200 */ +#define ADC_SQR2_SQ6_4 (0x10U << ADC_SQR2_SQ6_Pos) /*!< 0x00000400 */ + +#define ADC_SQR2_SQ7_Pos (12U) +#define ADC_SQR2_SQ7_Msk (0x1FU << ADC_SQR2_SQ7_Pos) /*!< 0x0001F000 */ +#define ADC_SQR2_SQ7 ADC_SQR2_SQ7_Msk /*!< ADC 7th conversion in regular sequence */ +#define ADC_SQR2_SQ7_0 (0x01U << ADC_SQR2_SQ7_Pos) /*!< 0x00001000 */ +#define ADC_SQR2_SQ7_1 (0x02U << ADC_SQR2_SQ7_Pos) /*!< 0x00002000 */ +#define ADC_SQR2_SQ7_2 (0x04U << ADC_SQR2_SQ7_Pos) /*!< 0x00004000 */ +#define ADC_SQR2_SQ7_3 (0x08U << ADC_SQR2_SQ7_Pos) /*!< 0x00008000 */ +#define ADC_SQR2_SQ7_4 (0x10U << ADC_SQR2_SQ7_Pos) /*!< 0x00010000 */ + +#define ADC_SQR2_SQ8_Pos (18U) +#define ADC_SQR2_SQ8_Msk (0x1FU << ADC_SQR2_SQ8_Pos) /*!< 0x007C0000 */ +#define ADC_SQR2_SQ8 ADC_SQR2_SQ8_Msk /*!< ADC 8th conversion in regular sequence */ +#define ADC_SQR2_SQ8_0 (0x01U << ADC_SQR2_SQ8_Pos) /*!< 0x00040000 */ +#define ADC_SQR2_SQ8_1 (0x02U << ADC_SQR2_SQ8_Pos) /*!< 0x00080000 */ +#define ADC_SQR2_SQ8_2 (0x04U << ADC_SQR2_SQ8_Pos) /*!< 0x00100000 */ +#define ADC_SQR2_SQ8_3 (0x08U << ADC_SQR2_SQ8_Pos) /*!< 0x00200000 */ +#define ADC_SQR2_SQ8_4 (0x10U << ADC_SQR2_SQ8_Pos) /*!< 0x00400000 */ + +#define ADC_SQR2_SQ9_Pos (24U) +#define ADC_SQR2_SQ9_Msk (0x1FU << ADC_SQR2_SQ9_Pos) /*!< 0x1F000000 */ +#define ADC_SQR2_SQ9 ADC_SQR2_SQ9_Msk /*!< ADC 9th conversion in regular sequence */ +#define ADC_SQR2_SQ9_0 (0x01U << ADC_SQR2_SQ9_Pos) /*!< 0x01000000 */ +#define ADC_SQR2_SQ9_1 (0x02U << ADC_SQR2_SQ9_Pos) /*!< 0x02000000 */ +#define ADC_SQR2_SQ9_2 (0x04U << ADC_SQR2_SQ9_Pos) /*!< 0x04000000 */ +#define ADC_SQR2_SQ9_3 (0x08U << ADC_SQR2_SQ9_Pos) /*!< 0x08000000 */ +#define ADC_SQR2_SQ9_4 (0x10U << ADC_SQR2_SQ9_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR3 register ********************/ +#define ADC_SQR3_SQ10_Pos (0U) +#define ADC_SQR3_SQ10_Msk (0x1FU << ADC_SQR3_SQ10_Pos) /*!< 0x0000001F */ +#define ADC_SQR3_SQ10 ADC_SQR3_SQ10_Msk /*!< ADC 10th conversion in regular sequence */ +#define ADC_SQR3_SQ10_0 (0x01U << ADC_SQR3_SQ10_Pos) /*!< 0x00000001 */ +#define ADC_SQR3_SQ10_1 (0x02U << ADC_SQR3_SQ10_Pos) /*!< 0x00000002 */ +#define ADC_SQR3_SQ10_2 (0x04U << ADC_SQR3_SQ10_Pos) /*!< 0x00000004 */ +#define ADC_SQR3_SQ10_3 (0x08U << ADC_SQR3_SQ10_Pos) /*!< 0x00000008 */ +#define ADC_SQR3_SQ10_4 (0x10U << ADC_SQR3_SQ10_Pos) /*!< 0x00000010 */ + +#define ADC_SQR3_SQ11_Pos (6U) +#define ADC_SQR3_SQ11_Msk (0x1FU << ADC_SQR3_SQ11_Pos) /*!< 0x000007C0 */ +#define ADC_SQR3_SQ11 ADC_SQR3_SQ11_Msk /*!< ADC 11th conversion in regular sequence */ +#define ADC_SQR3_SQ11_0 (0x01U << ADC_SQR3_SQ11_Pos) /*!< 0x00000040 */ +#define ADC_SQR3_SQ11_1 (0x02U << ADC_SQR3_SQ11_Pos) /*!< 0x00000080 */ +#define ADC_SQR3_SQ11_2 (0x04U << ADC_SQR3_SQ11_Pos) /*!< 0x00000100 */ +#define ADC_SQR3_SQ11_3 (0x08U << ADC_SQR3_SQ11_Pos) /*!< 0x00000200 */ +#define ADC_SQR3_SQ11_4 (0x10U << ADC_SQR3_SQ11_Pos) /*!< 0x00000400 */ + +#define ADC_SQR3_SQ12_Pos (12U) +#define ADC_SQR3_SQ12_Msk (0x1FU << ADC_SQR3_SQ12_Pos) /*!< 0x0001F000 */ +#define ADC_SQR3_SQ12 ADC_SQR3_SQ12_Msk /*!< ADC 12th conversion in regular sequence */ +#define ADC_SQR3_SQ12_0 (0x01U << ADC_SQR3_SQ12_Pos) /*!< 0x00001000 */ +#define ADC_SQR3_SQ12_1 (0x02U << ADC_SQR3_SQ12_Pos) /*!< 0x00002000 */ +#define ADC_SQR3_SQ12_2 (0x04U << ADC_SQR3_SQ12_Pos) /*!< 0x00004000 */ +#define ADC_SQR3_SQ12_3 (0x08U << ADC_SQR3_SQ12_Pos) /*!< 0x00008000 */ +#define ADC_SQR3_SQ12_4 (0x10U << ADC_SQR3_SQ12_Pos) /*!< 0x00010000 */ + +#define ADC_SQR3_SQ13_Pos (18U) +#define ADC_SQR3_SQ13_Msk (0x1FU << ADC_SQR3_SQ13_Pos) /*!< 0x007C0000 */ +#define ADC_SQR3_SQ13 ADC_SQR3_SQ13_Msk /*!< ADC 13th conversion in regular sequence */ +#define ADC_SQR3_SQ13_0 (0x01U << ADC_SQR3_SQ13_Pos) /*!< 0x00040000 */ +#define ADC_SQR3_SQ13_1 (0x02U << ADC_SQR3_SQ13_Pos) /*!< 0x00080000 */ +#define ADC_SQR3_SQ13_2 (0x04U << ADC_SQR3_SQ13_Pos) /*!< 0x00100000 */ +#define ADC_SQR3_SQ13_3 (0x08U << ADC_SQR3_SQ13_Pos) /*!< 0x00200000 */ +#define ADC_SQR3_SQ13_4 (0x10U << ADC_SQR3_SQ13_Pos) /*!< 0x00400000 */ + +#define ADC_SQR3_SQ14_Pos (24U) +#define ADC_SQR3_SQ14_Msk (0x1FU << ADC_SQR3_SQ14_Pos) /*!< 0x1F000000 */ +#define ADC_SQR3_SQ14 ADC_SQR3_SQ14_Msk /*!< ADC 14th conversion in regular sequence */ +#define ADC_SQR3_SQ14_0 (0x01U << ADC_SQR3_SQ14_Pos) /*!< 0x01000000 */ +#define ADC_SQR3_SQ14_1 (0x02U << ADC_SQR3_SQ14_Pos) /*!< 0x02000000 */ +#define ADC_SQR3_SQ14_2 (0x04U << ADC_SQR3_SQ14_Pos) /*!< 0x04000000 */ +#define ADC_SQR3_SQ14_3 (0x08U << ADC_SQR3_SQ14_Pos) /*!< 0x08000000 */ +#define ADC_SQR3_SQ14_4 (0x10U << ADC_SQR3_SQ14_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR4 register ********************/ +#define ADC_SQR4_SQ15_Pos (0U) +#define ADC_SQR4_SQ15_Msk (0x1FU << ADC_SQR4_SQ15_Pos) /*!< 0x0000001F */ +#define ADC_SQR4_SQ15 ADC_SQR4_SQ15_Msk /*!< ADC 15th conversion in regular sequence */ +#define ADC_SQR4_SQ15_0 (0x01U << ADC_SQR4_SQ15_Pos) /*!< 0x00000001 */ +#define ADC_SQR4_SQ15_1 (0x02U << ADC_SQR4_SQ15_Pos) /*!< 0x00000002 */ +#define ADC_SQR4_SQ15_2 (0x04U << ADC_SQR4_SQ15_Pos) /*!< 0x00000004 */ +#define ADC_SQR4_SQ15_3 (0x08U << ADC_SQR4_SQ15_Pos) /*!< 0x00000008 */ +#define ADC_SQR4_SQ15_4 (0x10U << ADC_SQR4_SQ15_Pos) /*!< 0x00000010 */ + +#define ADC_SQR4_SQ16_Pos (6U) +#define ADC_SQR4_SQ16_Msk (0x1FU << ADC_SQR4_SQ16_Pos) /*!< 0x000007C0 */ +#define ADC_SQR4_SQ16 ADC_SQR4_SQ16_Msk /*!< ADC 16th conversion in regular sequence */ +#define ADC_SQR4_SQ16_0 (0x01U << ADC_SQR4_SQ16_Pos) /*!< 0x00000040 */ +#define ADC_SQR4_SQ16_1 (0x02U << ADC_SQR4_SQ16_Pos) /*!< 0x00000080 */ +#define ADC_SQR4_SQ16_2 (0x04U << ADC_SQR4_SQ16_Pos) /*!< 0x00000100 */ +#define ADC_SQR4_SQ16_3 (0x08U << ADC_SQR4_SQ16_Pos) /*!< 0x00000200 */ +#define ADC_SQR4_SQ16_4 (0x10U << ADC_SQR4_SQ16_Pos) /*!< 0x00000400 */ +/******************** Bit definition for ADC_DR register ********************/ +#define ADC_DR_RDATA_Pos (0U) +#define ADC_DR_RDATA_Msk (0xFFFFFFFFU << ADC_DR_RDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_DR_RDATA ADC_DR_RDATA_Msk /*!< ADC regular Data converted */ +#define ADC_DR_RDATA_0 (0x00000001U << ADC_DR_RDATA_Pos) /*!< 0x00000001 */ +#define ADC_DR_RDATA_1 (0x00000002U << ADC_DR_RDATA_Pos) /*!< 0x00000002 */ +#define ADC_DR_RDATA_2 (0x00000004U << ADC_DR_RDATA_Pos) /*!< 0x00000004 */ +#define ADC_DR_RDATA_3 (0x00000008U << ADC_DR_RDATA_Pos) /*!< 0x00000008 */ +#define ADC_DR_RDATA_4 (0x00000010U << ADC_DR_RDATA_Pos) /*!< 0x00000010 */ +#define ADC_DR_RDATA_5 (0x00000020U << ADC_DR_RDATA_Pos) /*!< 0x00000020 */ +#define ADC_DR_RDATA_6 (0x00000040U << ADC_DR_RDATA_Pos) /*!< 0x00000040 */ +#define ADC_DR_RDATA_7 (0x00000080U << ADC_DR_RDATA_Pos) /*!< 0x00000080 */ +#define ADC_DR_RDATA_8 (0x00000100U << ADC_DR_RDATA_Pos) /*!< 0x00000100 */ +#define ADC_DR_RDATA_9 (0x00000200U << ADC_DR_RDATA_Pos) /*!< 0x00000200 */ +#define ADC_DR_RDATA_10 (0x00000400U << ADC_DR_RDATA_Pos) /*!< 0x00000400 */ +#define ADC_DR_RDATA_11 (0x00000800U << ADC_DR_RDATA_Pos) /*!< 0x00000800 */ +#define ADC_DR_RDATA_12 (0x00001000U << ADC_DR_RDATA_Pos) /*!< 0x00001000 */ +#define ADC_DR_RDATA_13 (0x00002000U << ADC_DR_RDATA_Pos) /*!< 0x00002000 */ +#define ADC_DR_RDATA_14 (0x00004000U << ADC_DR_RDATA_Pos) /*!< 0x00004000 */ +#define ADC_DR_RDATA_15 (0x00008000U << ADC_DR_RDATA_Pos) /*!< 0x00008000 */ +#define ADC_DR_RDATA_16 (0x00010000U << ADC_DR_RDATA_Pos) /*!< 0x00010000 */ +#define ADC_DR_RDATA_17 (0x00020000U << ADC_DR_RDATA_Pos) /*!< 0x00020000 */ +#define ADC_DR_RDATA_18 (0x00040000U << ADC_DR_RDATA_Pos) /*!< 0x00040000 */ +#define ADC_DR_RDATA_19 (0x00080000U << ADC_DR_RDATA_Pos) /*!< 0x00080000 */ +#define ADC_DR_RDATA_20 (0x00100000U << ADC_DR_RDATA_Pos) /*!< 0x00100000 */ +#define ADC_DR_RDATA_21 (0x00200000U << ADC_DR_RDATA_Pos) /*!< 0x00200000 */ +#define ADC_DR_RDATA_22 (0x00400000U << ADC_DR_RDATA_Pos) /*!< 0x00400000 */ +#define ADC_DR_RDATA_23 (0x00800000U << ADC_DR_RDATA_Pos) /*!< 0x00800000 */ +#define ADC_DR_RDATA_24 (0x01000000U << ADC_DR_RDATA_Pos) /*!< 0x01000000 */ +#define ADC_DR_RDATA_25 (0x02000000U << ADC_DR_RDATA_Pos) /*!< 0x02000000 */ +#define ADC_DR_RDATA_26 (0x04000000U << ADC_DR_RDATA_Pos) /*!< 0x04000000 */ +#define ADC_DR_RDATA_27 (0x08000000U << ADC_DR_RDATA_Pos) /*!< 0x08000000 */ +#define ADC_DR_RDATA_28 (0x10000000U << ADC_DR_RDATA_Pos) /*!< 0x10000000 */ +#define ADC_DR_RDATA_29 (0x20000000U << ADC_DR_RDATA_Pos) /*!< 0x20000000 */ +#define ADC_DR_RDATA_30 (0x40000000U << ADC_DR_RDATA_Pos) /*!< 0x40000000 */ +#define ADC_DR_RDATA_31 (0x80000000U << ADC_DR_RDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JSQR register ********************/ +#define ADC_JSQR_JL_Pos (0U) +#define ADC_JSQR_JL_Msk (0x3U << ADC_JSQR_JL_Pos) /*!< 0x00000003 */ +#define ADC_JSQR_JL ADC_JSQR_JL_Msk /*!< ADC injected channel sequence length */ +#define ADC_JSQR_JL_0 (0x1U << ADC_JSQR_JL_Pos) /*!< 0x00000001 */ +#define ADC_JSQR_JL_1 (0x2U << ADC_JSQR_JL_Pos) /*!< 0x00000002 */ + +#define ADC_JSQR_JEXTSEL_Pos (2U) +#define ADC_JSQR_JEXTSEL_Msk (0x1FU << ADC_JSQR_JEXTSEL_Pos) /*!< 0x0000007C */ +#define ADC_JSQR_JEXTSEL ADC_JSQR_JEXTSEL_Msk /*!< ADC external trigger selection for injected group */ +#define ADC_JSQR_JEXTSEL_0 (0x01U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000004 */ +#define ADC_JSQR_JEXTSEL_1 (0x02U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000008 */ +#define ADC_JSQR_JEXTSEL_2 (0x04U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000010 */ +#define ADC_JSQR_JEXTSEL_3 (0x08U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000020 */ +#define ADC_JSQR_JEXTSEL_4 (0x10U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000040 */ + +#define ADC_JSQR_JEXTEN_Pos (7U) +#define ADC_JSQR_JEXTEN_Msk (0x3U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000180 */ +#define ADC_JSQR_JEXTEN ADC_JSQR_JEXTEN_Msk /*!< ADC external trigger enable and polarity selection for injected channels */ +#define ADC_JSQR_JEXTEN_0 (0x1U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000080 */ +#define ADC_JSQR_JEXTEN_1 (0x2U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000100 */ + +#define ADC_JSQR_JSQ1_Pos (9U) +#define ADC_JSQR_JSQ1_Msk (0x1FU << ADC_JSQR_JSQ1_Pos) /*!< 0x00003E00 */ +#define ADC_JSQR_JSQ1 ADC_JSQR_JSQ1_Msk /*!< ADC 1st conversion in injected sequence */ +#define ADC_JSQR_JSQ1_0 (0x01U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000200 */ +#define ADC_JSQR_JSQ1_1 (0x02U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000400 */ +#define ADC_JSQR_JSQ1_2 (0x04U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000800 */ +#define ADC_JSQR_JSQ1_3 (0x08U << ADC_JSQR_JSQ1_Pos) /*!< 0x00001000 */ +#define ADC_JSQR_JSQ1_4 (0x10U << ADC_JSQR_JSQ1_Pos) /*!< 0x00002000 */ + +#define ADC_JSQR_JSQ2_Pos (15U) +#define ADC_JSQR_JSQ2_Msk (0x1FU << ADC_JSQR_JSQ2_Pos) /*!< 0x000F8000 */ +#define ADC_JSQR_JSQ2 ADC_JSQR_JSQ2_Msk /*!< ADC 2nd conversion in injected sequence */ +#define ADC_JSQR_JSQ2_0 (0x01U << ADC_JSQR_JSQ2_Pos) /*!< 0x00008000 */ +#define ADC_JSQR_JSQ2_1 (0x02U << ADC_JSQR_JSQ2_Pos) /*!< 0x00010000 */ +#define ADC_JSQR_JSQ2_2 (0x04U << ADC_JSQR_JSQ2_Pos) /*!< 0x00020000 */ +#define ADC_JSQR_JSQ2_3 (0x08U << ADC_JSQR_JSQ2_Pos) /*!< 0x00040000 */ +#define ADC_JSQR_JSQ2_4 (0x10U << ADC_JSQR_JSQ2_Pos) /*!< 0x00080000 */ + +#define ADC_JSQR_JSQ3_Pos (21U) +#define ADC_JSQR_JSQ3_Msk (0x1FU << ADC_JSQR_JSQ3_Pos) /*!< 0x03E00000 */ +#define ADC_JSQR_JSQ3 ADC_JSQR_JSQ3_Msk /*!< ADC 3rd conversion in injected sequence */ +#define ADC_JSQR_JSQ3_0 (0x01U << ADC_JSQR_JSQ3_Pos) /*!< 0x00200000 */ +#define ADC_JSQR_JSQ3_1 (0x02U << ADC_JSQR_JSQ3_Pos) /*!< 0x00400000 */ +#define ADC_JSQR_JSQ3_2 (0x04U << ADC_JSQR_JSQ3_Pos) /*!< 0x00800000 */ +#define ADC_JSQR_JSQ3_3 (0x08U << ADC_JSQR_JSQ3_Pos) /*!< 0x01000000 */ +#define ADC_JSQR_JSQ3_4 (0x10U << ADC_JSQR_JSQ3_Pos) /*!< 0x02000000 */ + +#define ADC_JSQR_JSQ4_Pos (27U) +#define ADC_JSQR_JSQ4_Msk (0x1FU << ADC_JSQR_JSQ4_Pos) /*!< 0xF8000000 */ +#define ADC_JSQR_JSQ4 ADC_JSQR_JSQ4_Msk /*!< ADC 4th conversion in injected sequence */ +#define ADC_JSQR_JSQ4_0 (0x01U << ADC_JSQR_JSQ4_Pos) /*!< 0x08000000 */ +#define ADC_JSQR_JSQ4_1 (0x02U << ADC_JSQR_JSQ4_Pos) /*!< 0x10000000 */ +#define ADC_JSQR_JSQ4_2 (0x04U << ADC_JSQR_JSQ4_Pos) /*!< 0x20000000 */ +#define ADC_JSQR_JSQ4_3 (0x08U << ADC_JSQR_JSQ4_Pos) /*!< 0x40000000 */ +#define ADC_JSQR_JSQ4_4 (0x10U << ADC_JSQR_JSQ4_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_OFR1 register ********************/ +#define ADC_OFR1_OFFSET1_Pos (0U) +#define ADC_OFR1_OFFSET1_Msk (0x3FFFFFFU << ADC_OFR1_OFFSET1_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR1_OFFSET1 ADC_OFR1_OFFSET1_Msk /*!< ADC data offset 1 for channel programmed into bits OFFSET1_CH[4:0] */ +#define ADC_OFR1_OFFSET1_0 (0x0000001U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000001 */ +#define ADC_OFR1_OFFSET1_1 (0x0000002U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000002 */ +#define ADC_OFR1_OFFSET1_2 (0x0000004U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000004 */ +#define ADC_OFR1_OFFSET1_3 (0x0000008U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000008 */ +#define ADC_OFR1_OFFSET1_4 (0x0000010U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000010 */ +#define ADC_OFR1_OFFSET1_5 (0x0000020U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000020 */ +#define ADC_OFR1_OFFSET1_6 (0x0000040U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000040 */ +#define ADC_OFR1_OFFSET1_7 (0x0000080U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000080 */ +#define ADC_OFR1_OFFSET1_8 (0x0000100U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000100 */ +#define ADC_OFR1_OFFSET1_9 (0x0000200U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000200 */ +#define ADC_OFR1_OFFSET1_10 (0x0000400U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000400 */ +#define ADC_OFR1_OFFSET1_11 (0x0000800U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000800 */ +#define ADC_OFR1_OFFSET1_12 (0x0001000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00001000 */ +#define ADC_OFR1_OFFSET1_13 (0x0002000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00002000 */ +#define ADC_OFR1_OFFSET1_14 (0x0004000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00004000 */ +#define ADC_OFR1_OFFSET1_15 (0x0008000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00008000 */ +#define ADC_OFR1_OFFSET1_16 (0x0010000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00010000 */ +#define ADC_OFR1_OFFSET1_17 (0x0020000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00020000 */ +#define ADC_OFR1_OFFSET1_18 (0x0040000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00040000 */ +#define ADC_OFR1_OFFSET1_19 (0x0080000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00080000 */ +#define ADC_OFR1_OFFSET1_20 (0x0100000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00100000 */ +#define ADC_OFR1_OFFSET1_21 (0x0200000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00200000 */ +#define ADC_OFR1_OFFSET1_22 (0x0400000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00400000 */ +#define ADC_OFR1_OFFSET1_23 (0x0800000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00800000 */ +#define ADC_OFR1_OFFSET1_24 (0x1000000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x01000000 */ +#define ADC_OFR1_OFFSET1_25 (0x2000000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x02000000 */ + +#define ADC_OFR1_OFFSET1_CH_Pos (26U) +#define ADC_OFR1_OFFSET1_CH_Msk (0x1FU << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR1_OFFSET1_CH ADC_OFR1_OFFSET1_CH_Msk /*!< ADC Channel selection for the data offset 1 */ +#define ADC_OFR1_OFFSET1_CH_0 (0x01U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR1_OFFSET1_CH_1 (0x02U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR1_OFFSET1_CH_2 (0x04U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR1_OFFSET1_CH_3 (0x08U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR1_OFFSET1_CH_4 (0x10U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR1_SSATE_Pos (31U) +#define ADC_OFR1_SSATE_Msk (0x1U << ADC_OFR1_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR1_SSATE ADC_OFR1_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR2 register ********************/ +#define ADC_OFR2_OFFSET2_Pos (0U) +#define ADC_OFR2_OFFSET2_Msk (0x3FFFFFFU << ADC_OFR2_OFFSET2_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR2_OFFSET2 ADC_OFR2_OFFSET2_Msk /*!< ADC data offset 2 for channel programmed into bits OFFSET2_CH[4:0] */ +#define ADC_OFR2_OFFSET2_0 (0x0000001U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000001 */ +#define ADC_OFR2_OFFSET2_1 (0x0000002U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000002 */ +#define ADC_OFR2_OFFSET2_2 (0x0000004U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000004 */ +#define ADC_OFR2_OFFSET2_3 (0x0000008U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000008 */ +#define ADC_OFR2_OFFSET2_4 (0x0000010U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000010 */ +#define ADC_OFR2_OFFSET2_5 (0x0000020U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000020 */ +#define ADC_OFR2_OFFSET2_6 (0x0000040U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000040 */ +#define ADC_OFR2_OFFSET2_7 (0x0000080U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000080 */ +#define ADC_OFR2_OFFSET2_8 (0x0000100U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000100 */ +#define ADC_OFR2_OFFSET2_9 (0x0000200U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000200 */ +#define ADC_OFR2_OFFSET2_10 (0x0000400U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000400 */ +#define ADC_OFR2_OFFSET2_11 (0x0000800U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000800 */ +#define ADC_OFR2_OFFSET2_12 (0x0001000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00001000 */ +#define ADC_OFR2_OFFSET2_13 (0x0002000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00002000 */ +#define ADC_OFR2_OFFSET2_14 (0x0004000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00004000 */ +#define ADC_OFR2_OFFSET2_15 (0x0008000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00008000 */ +#define ADC_OFR2_OFFSET2_16 (0x0010000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00010000 */ +#define ADC_OFR2_OFFSET2_17 (0x0020000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00020000 */ +#define ADC_OFR2_OFFSET2_18 (0x0040000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00040000 */ +#define ADC_OFR2_OFFSET2_19 (0x0080000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00080000 */ +#define ADC_OFR2_OFFSET2_20 (0x0100000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00100000 */ +#define ADC_OFR2_OFFSET2_21 (0x0200000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00200000 */ +#define ADC_OFR2_OFFSET2_22 (0x0400000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00400000 */ +#define ADC_OFR2_OFFSET2_23 (0x0800000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00800000 */ +#define ADC_OFR2_OFFSET2_24 (0x1000000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x01000000 */ +#define ADC_OFR2_OFFSET2_25 (0x2000000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x02000000 */ + +#define ADC_OFR2_OFFSET2_CH_Pos (26U) +#define ADC_OFR2_OFFSET2_CH_Msk (0x1FU << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR2_OFFSET2_CH ADC_OFR2_OFFSET2_CH_Msk /*!< ADC Channel selection for the data offset 2 */ +#define ADC_OFR2_OFFSET2_CH_0 (0x01U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR2_OFFSET2_CH_1 (0x02U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR2_OFFSET2_CH_2 (0x04U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR2_OFFSET2_CH_3 (0x08U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR2_OFFSET2_CH_4 (0x10U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR2_SSATE_Pos (31U) +#define ADC_OFR2_SSATE_Msk (0x1U << ADC_OFR2_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR2_SSATE ADC_OFR2_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR3 register ********************/ +#define ADC_OFR3_OFFSET3_Pos (0U) +#define ADC_OFR3_OFFSET3_Msk (0x3FFFFFFU << ADC_OFR3_OFFSET3_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR3_OFFSET3 ADC_OFR3_OFFSET3_Msk /*!< ADC data offset 3 for channel programmed into bits OFFSET3_CH[4:0] */ +#define ADC_OFR3_OFFSET3_0 (0x0000001U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000001 */ +#define ADC_OFR3_OFFSET3_1 (0x0000002U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000002 */ +#define ADC_OFR3_OFFSET3_2 (0x0000004U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000004 */ +#define ADC_OFR3_OFFSET3_3 (0x0000008U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000008 */ +#define ADC_OFR3_OFFSET3_4 (0x0000010U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000010 */ +#define ADC_OFR3_OFFSET3_5 (0x0000020U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000020 */ +#define ADC_OFR3_OFFSET3_6 (0x0000040U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000040 */ +#define ADC_OFR3_OFFSET3_7 (0x0000080U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000080 */ +#define ADC_OFR3_OFFSET3_8 (0x0000100U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000100 */ +#define ADC_OFR3_OFFSET3_9 (0x0000200U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000200 */ +#define ADC_OFR3_OFFSET3_10 (0x0000400U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000400 */ +#define ADC_OFR3_OFFSET3_11 (0x0000800U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000800 */ +#define ADC_OFR3_OFFSET3_12 (0x0001000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00001000 */ +#define ADC_OFR3_OFFSET3_13 (0x0002000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00002000 */ +#define ADC_OFR3_OFFSET3_14 (0x0004000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00004000 */ +#define ADC_OFR3_OFFSET3_15 (0x0008000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00008000 */ +#define ADC_OFR3_OFFSET3_16 (0x0010000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00010000 */ +#define ADC_OFR3_OFFSET3_17 (0x0020000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00020000 */ +#define ADC_OFR3_OFFSET3_18 (0x0040000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00040000 */ +#define ADC_OFR3_OFFSET3_19 (0x0080000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00080000 */ +#define ADC_OFR3_OFFSET3_20 (0x0100000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00100000 */ +#define ADC_OFR3_OFFSET3_21 (0x0200000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00200000 */ +#define ADC_OFR3_OFFSET3_22 (0x0400000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00400000 */ +#define ADC_OFR3_OFFSET3_23 (0x0800000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00800000 */ +#define ADC_OFR3_OFFSET3_24 (0x1000000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x01000000 */ +#define ADC_OFR3_OFFSET3_25 (0x2000000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x02000000 */ + +#define ADC_OFR3_OFFSET3_CH_Pos (26U) +#define ADC_OFR3_OFFSET3_CH_Msk (0x1FU << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR3_OFFSET3_CH ADC_OFR3_OFFSET3_CH_Msk /*!< ADC Channel selection for the data offset 3 */ +#define ADC_OFR3_OFFSET3_CH_0 (0x01U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR3_OFFSET3_CH_1 (0x02U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR3_OFFSET3_CH_2 (0x04U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR3_OFFSET3_CH_3 (0x08U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR3_OFFSET3_CH_4 (0x10U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR3_SSATE_Pos (31U) +#define ADC_OFR3_SSATE_Msk (0x1U << ADC_OFR3_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR3_SSATE ADC_OFR3_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR4 register ********************/ +#define ADC_OFR4_OFFSET4_Pos (0U) +#define ADC_OFR4_OFFSET4_Msk (0x3FFFFFFU << ADC_OFR4_OFFSET4_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR4_OFFSET4 ADC_OFR4_OFFSET4_Msk /*!< ADC data offset 4 for channel programmed into bits OFFSET4_CH[4:0] */ +#define ADC_OFR4_OFFSET4_0 (0x0000001U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000001 */ +#define ADC_OFR4_OFFSET4_1 (0x0000002U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000002 */ +#define ADC_OFR4_OFFSET4_2 (0x0000004U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000004 */ +#define ADC_OFR4_OFFSET4_3 (0x0000008U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000008 */ +#define ADC_OFR4_OFFSET4_4 (0x0000010U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000010 */ +#define ADC_OFR4_OFFSET4_5 (0x0000020U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000020 */ +#define ADC_OFR4_OFFSET4_6 (0x0000040U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000040 */ +#define ADC_OFR4_OFFSET4_7 (0x0000080U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000080 */ +#define ADC_OFR4_OFFSET4_8 (0x0000100U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000100 */ +#define ADC_OFR4_OFFSET4_9 (0x0000200U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000200 */ +#define ADC_OFR4_OFFSET4_10 (0x0000400U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000400 */ +#define ADC_OFR4_OFFSET4_11 (0x0000800U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000800 */ +#define ADC_OFR4_OFFSET4_12 (0x0001000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00001000 */ +#define ADC_OFR4_OFFSET4_13 (0x0002000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00002000 */ +#define ADC_OFR4_OFFSET4_14 (0x0004000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00004000 */ +#define ADC_OFR4_OFFSET4_15 (0x0008000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00008000 */ +#define ADC_OFR4_OFFSET4_16 (0x0010000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00010000 */ +#define ADC_OFR4_OFFSET4_17 (0x0020000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00020000 */ +#define ADC_OFR4_OFFSET4_18 (0x0040000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00040000 */ +#define ADC_OFR4_OFFSET4_19 (0x0080000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00080000 */ +#define ADC_OFR4_OFFSET4_20 (0x0100000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00100000 */ +#define ADC_OFR4_OFFSET4_21 (0x0200000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00200000 */ +#define ADC_OFR4_OFFSET4_22 (0x0400000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00400000 */ +#define ADC_OFR4_OFFSET4_23 (0x0800000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00800000 */ +#define ADC_OFR4_OFFSET4_24 (0x1000000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x01000000 */ +#define ADC_OFR4_OFFSET4_25 (0x2000000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x02000000 */ + +#define ADC_OFR4_OFFSET4_CH_Pos (26U) +#define ADC_OFR4_OFFSET4_CH_Msk (0x1FU << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR4_OFFSET4_CH ADC_OFR4_OFFSET4_CH_Msk /*!< ADC Channel selection for the data offset 4 */ +#define ADC_OFR4_OFFSET4_CH_0 (0x01U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR4_OFFSET4_CH_1 (0x02U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR4_OFFSET4_CH_2 (0x04U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR4_OFFSET4_CH_3 (0x08U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR4_OFFSET4_CH_4 (0x10U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR4_SSATE_Pos (31U) +#define ADC_OFR4_SSATE_Msk (0x1U << ADC_OFR4_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR4_SSATE ADC_OFR4_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_JDR1 register ********************/ +#define ADC_JDR1_JDATA_Pos (0U) +#define ADC_JDR1_JDATA_Msk (0xFFFFFFFFU << ADC_JDR1_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR1_JDATA ADC_JDR1_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR1_JDATA_0 (0x00000001U << ADC_JDR1_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR1_JDATA_1 (0x00000002U << ADC_JDR1_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR1_JDATA_2 (0x00000004U << ADC_JDR1_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR1_JDATA_3 (0x00000008U << ADC_JDR1_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR1_JDATA_4 (0x00000010U << ADC_JDR1_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR1_JDATA_5 (0x00000020U << ADC_JDR1_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR1_JDATA_6 (0x00000040U << ADC_JDR1_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR1_JDATA_7 (0x00000080U << ADC_JDR1_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR1_JDATA_8 (0x00000100U << ADC_JDR1_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR1_JDATA_9 (0x00000200U << ADC_JDR1_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR1_JDATA_10 (0x00000400U << ADC_JDR1_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR1_JDATA_11 (0x00000800U << ADC_JDR1_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR1_JDATA_12 (0x00001000U << ADC_JDR1_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR1_JDATA_13 (0x00002000U << ADC_JDR1_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR1_JDATA_14 (0x00004000U << ADC_JDR1_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR1_JDATA_15 (0x00008000U << ADC_JDR1_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR1_JDATA_16 (0x00010000U << ADC_JDR1_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR1_JDATA_17 (0x00020000U << ADC_JDR1_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR1_JDATA_18 (0x00040000U << ADC_JDR1_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR1_JDATA_19 (0x00080000U << ADC_JDR1_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR1_JDATA_20 (0x00100000U << ADC_JDR1_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR1_JDATA_21 (0x00200000U << ADC_JDR1_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR1_JDATA_22 (0x00400000U << ADC_JDR1_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR1_JDATA_23 (0x00800000U << ADC_JDR1_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR1_JDATA_24 (0x01000000U << ADC_JDR1_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR1_JDATA_25 (0x02000000U << ADC_JDR1_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR1_JDATA_26 (0x04000000U << ADC_JDR1_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR1_JDATA_27 (0x08000000U << ADC_JDR1_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR1_JDATA_28 (0x10000000U << ADC_JDR1_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR1_JDATA_29 (0x20000000U << ADC_JDR1_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR1_JDATA_30 (0x40000000U << ADC_JDR1_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR1_JDATA_31 (0x80000000U << ADC_JDR1_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR2 register ********************/ +#define ADC_JDR2_JDATA_Pos (0U) +#define ADC_JDR2_JDATA_Msk (0xFFFFFFFFU << ADC_JDR2_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR2_JDATA ADC_JDR2_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR2_JDATA_0 (0x00000001U << ADC_JDR2_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR2_JDATA_1 (0x00000002U << ADC_JDR2_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR2_JDATA_2 (0x00000004U << ADC_JDR2_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR2_JDATA_3 (0x00000008U << ADC_JDR2_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR2_JDATA_4 (0x00000010U << ADC_JDR2_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR2_JDATA_5 (0x00000020U << ADC_JDR2_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR2_JDATA_6 (0x00000040U << ADC_JDR2_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR2_JDATA_7 (0x00000080U << ADC_JDR2_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR2_JDATA_8 (0x00000100U << ADC_JDR2_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR2_JDATA_9 (0x00000200U << ADC_JDR2_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR2_JDATA_10 (0x00000400U << ADC_JDR2_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR2_JDATA_11 (0x00000800U << ADC_JDR2_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR2_JDATA_12 (0x00001000U << ADC_JDR2_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR2_JDATA_13 (0x00002000U << ADC_JDR2_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR2_JDATA_14 (0x00004000U << ADC_JDR2_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR2_JDATA_15 (0x00008000U << ADC_JDR2_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR2_JDATA_16 (0x00010000U << ADC_JDR2_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR2_JDATA_17 (0x00020000U << ADC_JDR2_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR2_JDATA_18 (0x00040000U << ADC_JDR2_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR2_JDATA_19 (0x00080000U << ADC_JDR2_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR2_JDATA_20 (0x00100000U << ADC_JDR2_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR2_JDATA_21 (0x00200000U << ADC_JDR2_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR2_JDATA_22 (0x00400000U << ADC_JDR2_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR2_JDATA_23 (0x00800000U << ADC_JDR2_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR2_JDATA_24 (0x01000000U << ADC_JDR2_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR2_JDATA_25 (0x02000000U << ADC_JDR2_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR2_JDATA_26 (0x04000000U << ADC_JDR2_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR2_JDATA_27 (0x08000000U << ADC_JDR2_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR2_JDATA_28 (0x10000000U << ADC_JDR2_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR2_JDATA_29 (0x20000000U << ADC_JDR2_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR2_JDATA_30 (0x40000000U << ADC_JDR2_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR2_JDATA_31 (0x80000000U << ADC_JDR2_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR3 register ********************/ +#define ADC_JDR3_JDATA_Pos (0U) +#define ADC_JDR3_JDATA_Msk (0xFFFFFFFFU << ADC_JDR3_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR3_JDATA ADC_JDR3_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR3_JDATA_0 (0x00000001U << ADC_JDR3_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR3_JDATA_1 (0x00000002U << ADC_JDR3_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR3_JDATA_2 (0x00000004U << ADC_JDR3_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR3_JDATA_3 (0x00000008U << ADC_JDR3_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR3_JDATA_4 (0x00000010U << ADC_JDR3_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR3_JDATA_5 (0x00000020U << ADC_JDR3_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR3_JDATA_6 (0x00000040U << ADC_JDR3_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR3_JDATA_7 (0x00000080U << ADC_JDR3_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR3_JDATA_8 (0x00000100U << ADC_JDR3_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR3_JDATA_9 (0x00000200U << ADC_JDR3_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR3_JDATA_10 (0x00000400U << ADC_JDR3_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR3_JDATA_11 (0x00000800U << ADC_JDR3_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR3_JDATA_12 (0x00001000U << ADC_JDR3_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR3_JDATA_13 (0x00002000U << ADC_JDR3_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR3_JDATA_14 (0x00004000U << ADC_JDR3_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR3_JDATA_15 (0x00008000U << ADC_JDR3_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR3_JDATA_16 (0x00010000U << ADC_JDR3_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR3_JDATA_17 (0x00020000U << ADC_JDR3_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR3_JDATA_18 (0x00040000U << ADC_JDR3_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR3_JDATA_19 (0x00080000U << ADC_JDR3_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR3_JDATA_20 (0x00100000U << ADC_JDR3_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR3_JDATA_21 (0x00200000U << ADC_JDR3_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR3_JDATA_22 (0x00400000U << ADC_JDR3_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR3_JDATA_23 (0x00800000U << ADC_JDR3_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR3_JDATA_24 (0x01000000U << ADC_JDR3_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR3_JDATA_25 (0x02000000U << ADC_JDR3_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR3_JDATA_26 (0x04000000U << ADC_JDR3_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR3_JDATA_27 (0x08000000U << ADC_JDR3_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR3_JDATA_28 (0x10000000U << ADC_JDR3_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR3_JDATA_29 (0x20000000U << ADC_JDR3_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR3_JDATA_30 (0x40000000U << ADC_JDR3_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR3_JDATA_31 (0x80000000U << ADC_JDR3_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR4 register ********************/ +#define ADC_JDR4_JDATA_Pos (0U) +#define ADC_JDR4_JDATA_Msk (0xFFFFFFFFU << ADC_JDR4_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR4_JDATA ADC_JDR4_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR4_JDATA_0 (0x00000001U << ADC_JDR4_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR4_JDATA_1 (0x00000002U << ADC_JDR4_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR4_JDATA_2 (0x00000004U << ADC_JDR4_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR4_JDATA_3 (0x00000008U << ADC_JDR4_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR4_JDATA_4 (0x00000010U << ADC_JDR4_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR4_JDATA_5 (0x00000020U << ADC_JDR4_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR4_JDATA_6 (0x00000040U << ADC_JDR4_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR4_JDATA_7 (0x00000080U << ADC_JDR4_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR4_JDATA_8 (0x00000100U << ADC_JDR4_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR4_JDATA_9 (0x00000200U << ADC_JDR4_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR4_JDATA_10 (0x00000400U << ADC_JDR4_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR4_JDATA_11 (0x00000800U << ADC_JDR4_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR4_JDATA_12 (0x00001000U << ADC_JDR4_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR4_JDATA_13 (0x00002000U << ADC_JDR4_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR4_JDATA_14 (0x00004000U << ADC_JDR4_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR4_JDATA_15 (0x00008000U << ADC_JDR4_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR4_JDATA_16 (0x00010000U << ADC_JDR4_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR4_JDATA_17 (0x00020000U << ADC_JDR4_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR4_JDATA_18 (0x00040000U << ADC_JDR4_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR4_JDATA_19 (0x00080000U << ADC_JDR4_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR4_JDATA_20 (0x00100000U << ADC_JDR4_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR4_JDATA_21 (0x00200000U << ADC_JDR4_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR4_JDATA_22 (0x00400000U << ADC_JDR4_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR4_JDATA_23 (0x00800000U << ADC_JDR4_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR4_JDATA_24 (0x01000000U << ADC_JDR4_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR4_JDATA_25 (0x02000000U << ADC_JDR4_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR4_JDATA_26 (0x04000000U << ADC_JDR4_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR4_JDATA_27 (0x08000000U << ADC_JDR4_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR4_JDATA_28 (0x10000000U << ADC_JDR4_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR4_JDATA_29 (0x20000000U << ADC_JDR4_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR4_JDATA_30 (0x40000000U << ADC_JDR4_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR4_JDATA_31 (0x80000000U << ADC_JDR4_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_AWD2CR register ********************/ +#define ADC_AWD2CR_AWD2CH_Pos (0U) +#define ADC_AWD2CR_AWD2CH_Msk (0xFFFFFU << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x000FFFFF */ +#define ADC_AWD2CR_AWD2CH ADC_AWD2CR_AWD2CH_Msk /*!< ADC Analog watchdog 2 channel selection */ +#define ADC_AWD2CR_AWD2CH_0 (0x00001U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000001 */ +#define ADC_AWD2CR_AWD2CH_1 (0x00002U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000002 */ +#define ADC_AWD2CR_AWD2CH_2 (0x00004U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000004 */ +#define ADC_AWD2CR_AWD2CH_3 (0x00008U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000008 */ +#define ADC_AWD2CR_AWD2CH_4 (0x00010U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000010 */ +#define ADC_AWD2CR_AWD2CH_5 (0x00020U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000020 */ +#define ADC_AWD2CR_AWD2CH_6 (0x00040U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000040 */ +#define ADC_AWD2CR_AWD2CH_7 (0x00080U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000080 */ +#define ADC_AWD2CR_AWD2CH_8 (0x00100U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000100 */ +#define ADC_AWD2CR_AWD2CH_9 (0x00200U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000200 */ +#define ADC_AWD2CR_AWD2CH_10 (0x00400U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000400 */ +#define ADC_AWD2CR_AWD2CH_11 (0x00800U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000800 */ +#define ADC_AWD2CR_AWD2CH_12 (0x01000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00001000 */ +#define ADC_AWD2CR_AWD2CH_13 (0x02000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00002000 */ +#define ADC_AWD2CR_AWD2CH_14 (0x04000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00004000 */ +#define ADC_AWD2CR_AWD2CH_15 (0x08000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00008000 */ +#define ADC_AWD2CR_AWD2CH_16 (0x10000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00010000 */ +#define ADC_AWD2CR_AWD2CH_17 (0x20000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00020000 */ +#define ADC_AWD2CR_AWD2CH_18 (0x40000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00040000 */ +#define ADC_AWD2CR_AWD2CH_19 (0x80000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_AWD3CR register ********************/ +#define ADC_AWD3CR_AWD3CH_Pos (0U) +#define ADC_AWD3CR_AWD3CH_Msk (0xFFFFFU << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x000FFFFF */ +#define ADC_AWD3CR_AWD3CH ADC_AWD3CR_AWD3CH_Msk /*!< ADC Analog watchdog 2 channel selection */ +#define ADC_AWD3CR_AWD3CH_0 (0x00001U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000001 */ +#define ADC_AWD3CR_AWD3CH_1 (0x00002U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000002 */ +#define ADC_AWD3CR_AWD3CH_2 (0x00004U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000004 */ +#define ADC_AWD3CR_AWD3CH_3 (0x00008U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000008 */ +#define ADC_AWD3CR_AWD3CH_4 (0x00010U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000010 */ +#define ADC_AWD3CR_AWD3CH_5 (0x00020U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000020 */ +#define ADC_AWD3CR_AWD3CH_6 (0x00040U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000040 */ +#define ADC_AWD3CR_AWD3CH_7 (0x00080U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000080 */ +#define ADC_AWD3CR_AWD3CH_8 (0x00100U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000100 */ +#define ADC_AWD3CR_AWD3CH_9 (0x00200U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000200 */ +#define ADC_AWD3CR_AWD3CH_10 (0x00400U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000400 */ +#define ADC_AWD3CR_AWD3CH_11 (0x00800U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000800 */ +#define ADC_AWD3CR_AWD3CH_12 (0x01000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00001000 */ +#define ADC_AWD3CR_AWD3CH_13 (0x02000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00002000 */ +#define ADC_AWD3CR_AWD3CH_14 (0x04000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00004000 */ +#define ADC_AWD3CR_AWD3CH_15 (0x08000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00008000 */ +#define ADC_AWD3CR_AWD3CH_16 (0x10000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00010000 */ +#define ADC_AWD3CR_AWD3CH_17 (0x20000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00020000 */ +#define ADC_AWD3CR_AWD3CH_18 (0x40000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00040000 */ +#define ADC_AWD3CR_AWD3CH_19 (0x80000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_DIFSEL register ********************/ +#define ADC_DIFSEL_DIFSEL_Pos (0U) +#define ADC_DIFSEL_DIFSEL_Msk (0xFFFFFU << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x000FFFFF */ +#define ADC_DIFSEL_DIFSEL ADC_DIFSEL_DIFSEL_Msk /*!< ADC differential modes for channels 1 to 18 */ +#define ADC_DIFSEL_DIFSEL_0 (0x00001U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000001 */ +#define ADC_DIFSEL_DIFSEL_1 (0x00002U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000002 */ +#define ADC_DIFSEL_DIFSEL_2 (0x00004U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000004 */ +#define ADC_DIFSEL_DIFSEL_3 (0x00008U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000008 */ +#define ADC_DIFSEL_DIFSEL_4 (0x00010U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000010 */ +#define ADC_DIFSEL_DIFSEL_5 (0x00020U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000020 */ +#define ADC_DIFSEL_DIFSEL_6 (0x00040U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000040 */ +#define ADC_DIFSEL_DIFSEL_7 (0x00080U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000080 */ +#define ADC_DIFSEL_DIFSEL_8 (0x00100U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000100 */ +#define ADC_DIFSEL_DIFSEL_9 (0x00200U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000200 */ +#define ADC_DIFSEL_DIFSEL_10 (0x00400U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000400 */ +#define ADC_DIFSEL_DIFSEL_11 (0x00800U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000800 */ +#define ADC_DIFSEL_DIFSEL_12 (0x01000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00001000 */ +#define ADC_DIFSEL_DIFSEL_13 (0x02000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00002000 */ +#define ADC_DIFSEL_DIFSEL_14 (0x04000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00004000 */ +#define ADC_DIFSEL_DIFSEL_15 (0x08000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00008000 */ +#define ADC_DIFSEL_DIFSEL_16 (0x10000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00010000 */ +#define ADC_DIFSEL_DIFSEL_17 (0x20000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00020000 */ +#define ADC_DIFSEL_DIFSEL_18 (0x40000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00040000 */ +#define ADC_DIFSEL_DIFSEL_19 (0x80000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_CALFACT register ********************/ +#define ADC_CALFACT_CALFACT_S_Pos (0U) +#define ADC_CALFACT_CALFACT_S_Msk (0x7FFU << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x000007FF */ +#define ADC_CALFACT_CALFACT_S ADC_CALFACT_CALFACT_S_Msk /*!< ADC calibration factors in single-ended mode */ +#define ADC_CALFACT_CALFACT_S_0 (0x001U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000001 */ +#define ADC_CALFACT_CALFACT_S_1 (0x002U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000002 */ +#define ADC_CALFACT_CALFACT_S_2 (0x004U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000004 */ +#define ADC_CALFACT_CALFACT_S_3 (0x008U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000008 */ +#define ADC_CALFACT_CALFACT_S_4 (0x010U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000010 */ +#define ADC_CALFACT_CALFACT_S_5 (0x020U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000020 */ +#define ADC_CALFACT_CALFACT_S_6 (0x040U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000040 */ +#define ADC_CALFACT_CALFACT_S_7 (0x080U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000080 */ +#define ADC_CALFACT_CALFACT_S_8 (0x100U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000100 */ +#define ADC_CALFACT_CALFACT_S_9 (0x200U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000200 */ +#define ADC_CALFACT_CALFACT_S_10 (0x400U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000400 */ +#define ADC_CALFACT_CALFACT_D_Pos (16U) +#define ADC_CALFACT_CALFACT_D_Msk (0x7FFU << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x07FF0000 */ +#define ADC_CALFACT_CALFACT_D ADC_CALFACT_CALFACT_D_Msk /*!< ADC calibration factors in differential mode */ +#define ADC_CALFACT_CALFACT_D_0 (0x001U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00010000 */ +#define ADC_CALFACT_CALFACT_D_1 (0x002U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00020000 */ +#define ADC_CALFACT_CALFACT_D_2 (0x004U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00040000 */ +#define ADC_CALFACT_CALFACT_D_3 (0x008U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00080000 */ +#define ADC_CALFACT_CALFACT_D_4 (0x010U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00100000 */ +#define ADC_CALFACT_CALFACT_D_5 (0x020U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00200000 */ +#define ADC_CALFACT_CALFACT_D_6 (0x040U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00400000 */ +#define ADC_CALFACT_CALFACT_D_7 (0x080U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00800000 */ +#define ADC_CALFACT_CALFACT_D_8 (0x100U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x01000000 */ +#define ADC_CALFACT_CALFACT_D_9 (0x200U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x02000000 */ +#define ADC_CALFACT_CALFACT_D_10 (0x400U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x04000000 */ + +/******************** Bit definition for ADC_CALFACT2 register ********************/ +#define ADC_CALFACT2_LINCALFACT_Pos (0U) +#define ADC_CALFACT2_LINCALFACT_Msk (0x3FFFFFFFU << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x3FFFFFFF */ +#define ADC_CALFACT2_LINCALFACT ADC_CALFACT2_LINCALFACT_Msk /*!< ADC Linearity calibration factors */ +#define ADC_CALFACT2_LINCALFACT_0 (0x00000001U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000001 */ +#define ADC_CALFACT2_LINCALFACT_1 (0x00000002U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000002 */ +#define ADC_CALFACT2_LINCALFACT_2 (0x00000004U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000004 */ +#define ADC_CALFACT2_LINCALFACT_3 (0x00000008U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000008 */ +#define ADC_CALFACT2_LINCALFACT_4 (0x00000010U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000010 */ +#define ADC_CALFACT2_LINCALFACT_5 (0x00000020U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000020 */ +#define ADC_CALFACT2_LINCALFACT_6 (0x00000040U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000040 */ +#define ADC_CALFACT2_LINCALFACT_7 (0x00000080U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000080 */ +#define ADC_CALFACT2_LINCALFACT_8 (0x00000100U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000100 */ +#define ADC_CALFACT2_LINCALFACT_9 (0x00000200U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000200 */ +#define ADC_CALFACT2_LINCALFACT_10 (0x00000400U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000400 */ +#define ADC_CALFACT2_LINCALFACT_11 (0x00000800U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000800 */ +#define ADC_CALFACT2_LINCALFACT_12 (0x00001000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00001000 */ +#define ADC_CALFACT2_LINCALFACT_13 (0x00002000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00002000 */ +#define ADC_CALFACT2_LINCALFACT_14 (0x00004000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00004000 */ +#define ADC_CALFACT2_LINCALFACT_15 (0x00008000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00008000 */ +#define ADC_CALFACT2_LINCALFACT_16 (0x00010000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00010000 */ +#define ADC_CALFACT2_LINCALFACT_17 (0x00020000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00020000 */ +#define ADC_CALFACT2_LINCALFACT_18 (0x00040000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00040000 */ +#define ADC_CALFACT2_LINCALFACT_19 (0x00080000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00080000 */ +#define ADC_CALFACT2_LINCALFACT_20 (0x00100000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00100000 */ +#define ADC_CALFACT2_LINCALFACT_21 (0x00200000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00200000 */ +#define ADC_CALFACT2_LINCALFACT_22 (0x00400000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00400000 */ +#define ADC_CALFACT2_LINCALFACT_23 (0x00800000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00800000 */ +#define ADC_CALFACT2_LINCALFACT_24 (0x01000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x01000000 */ +#define ADC_CALFACT2_LINCALFACT_25 (0x02000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x02000000 */ +#define ADC_CALFACT2_LINCALFACT_26 (0x04000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x04000000 */ +#define ADC_CALFACT2_LINCALFACT_27 (0x08000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x08000000 */ +#define ADC_CALFACT2_LINCALFACT_28 (0x10000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x10000000 */ +#define ADC_CALFACT2_LINCALFACT_29 (0x20000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x20000000 */ + +/************************* ADC Common registers *****************************/ +/******************** Bit definition for ADC_CSR register ********************/ +#define ADC123_CSR_ADRDY_MST_Pos (0U) +#define ADC123_CSR_ADRDY_MST_Msk (0x1U << ADC123_CSR_ADRDY_MST_Pos) /*!< 0x00000001 */ +#define ADC123_CSR_ADRDY_MST ADC123_CSR_ADRDY_MST_Msk /*!< Master ADC ready */ +#define ADC123_CSR_EOSMP_MST_Pos (1U) +#define ADC123_CSR_EOSMP_MST_Msk (0x1U << ADC123_CSR_EOSMP_MST_Pos) /*!< 0x00000002 */ +#define ADC123_CSR_EOSMP_MST ADC123_CSR_EOSMP_MST_Msk /*!< End of sampling phase flag of the master ADC */ +#define ADC123_CSR_EOC_MST_Pos (2U) +#define ADC123_CSR_EOC_MST_Msk (0x1U << ADC123_CSR_EOC_MST_Pos) /*!< 0x00000004 */ +#define ADC123_CSR_EOC_MST ADC123_CSR_EOC_MST_Msk /*!< End of regular conversion of the master ADC */ +#define ADC123_CSR_EOS_MST_Pos (3U) +#define ADC123_CSR_EOS_MST_Msk (0x1U << ADC123_CSR_EOS_MST_Pos) /*!< 0x00000008 */ +#define ADC123_CSR_EOS_MST ADC123_CSR_EOS_MST_Msk /*!< End of regular sequence flag of the master ADC */ +#define ADC123_CSR_OVR_MST_Pos (4U) +#define ADC123_CSR_OVR_MST_Msk (0x1U << ADC123_CSR_OVR_MST_Pos) /*!< 0x00000010 */ +#define ADC123_CSR_OVR_MST ADC123_CSR_OVR_MST_Msk /*!< Overrun flag of the master ADC */ +#define ADC123_CSR_JEOC_MST_Pos (5U) +#define ADC123_CSR_JEOC_MST_Msk (0x1U << ADC123_CSR_JEOC_MST_Pos) /*!< 0x00000020 */ +#define ADC123_CSR_JEOC_MST ADC123_CSR_JEOC_MST_Msk /*!< End of injected conversion of the master ADC */ +#define ADC123_CSR_JEOS_MST_Pos (6U) +#define ADC123_CSR_JEOS_MST_Msk (0x1U << ADC123_CSR_JEOS_MST_Pos) /*!< 0x00000040 */ +#define ADC123_CSR_JEOS_MST ADC123_CSR_JEOS_MST_Msk /*!< End of injected sequence flag of the master ADC */ +#define ADC123_CSR_AWD1_MST_Pos (7U) +#define ADC123_CSR_AWD1_MST_Msk (0x1U << ADC123_CSR_AWD1_MST_Pos) /*!< 0x00000080 */ +#define ADC123_CSR_AWD1_MST ADC123_CSR_AWD1_MST_Msk /*!< Analog watchdog 1 flag of the master ADC */ +#define ADC123_CSR_AWD2_MST_Pos (8U) +#define ADC123_CSR_AWD2_MST_Msk (0x1U << ADC123_CSR_AWD2_MST_Pos) /*!< 0x00000100 */ +#define ADC123_CSR_AWD2_MST ADC123_CSR_AWD2_MST_Msk /*!< Analog watchdog 2 flag of the master ADC */ +#define ADC123_CSR_AWD3_MST_Pos (9U) +#define ADC123_CSR_AWD3_MST_Msk (0x1U << ADC123_CSR_AWD3_MST_Pos) /*!< 0x00000200 */ +#define ADC123_CSR_AWD3_MST ADC123_CSR_AWD3_MST_Msk /*!< Analog watchdog 3 flag of the master ADC */ +#define ADC123_CSR_JQOVF_MST_Pos (10U) +#define ADC123_CSR_JQOVF_MST_Msk (0x1U << ADC123_CSR_JQOVF_MST_Pos) /*!< 0x00000400 */ +#define ADC123_CSR_JQOVF_MST ADC123_CSR_JQOVF_MST_Msk /*!< Injected context queue overflow flag of the master ADC */ +#define ADC123_CSR_ADRDY_SLV_Pos (16U) +#define ADC123_CSR_ADRDY_SLV_Msk (0x1U << ADC123_CSR_ADRDY_SLV_Pos) /*!< 0x00010000 */ +#define ADC123_CSR_ADRDY_SLV ADC123_CSR_ADRDY_SLV_Msk /*!< Slave ADC ready */ +#define ADC123_CSR_EOSMP_SLV_Pos (17U) +#define ADC123_CSR_EOSMP_SLV_Msk (0x1U << ADC123_CSR_EOSMP_SLV_Pos) /*!< 0x00020000 */ +#define ADC123_CSR_EOSMP_SLV ADC123_CSR_EOSMP_SLV_Msk /*!< End of sampling phase flag of the slave ADC */ +#define ADC123_CSR_EOC_SLV_Pos (18U) +#define ADC123_CSR_EOC_SLV_Msk (0x1U << ADC123_CSR_EOC_SLV_Pos) /*!< 0x00040000 */ +#define ADC123_CSR_EOC_SLV ADC123_CSR_EOC_SLV_Msk /*!< End of regular conversion of the slave ADC */ +#define ADC123_CSR_EOS_SLV_Pos (19U) +#define ADC123_CSR_EOS_SLV_Msk (0x1U << ADC123_CSR_EOS_SLV_Pos) /*!< 0x00080000 */ +#define ADC123_CSR_EOS_SLV ADC123_CSR_EOS_SLV_Msk /*!< End of regular sequence flag of the slave ADC */ +#define ADC123_CSR_OVR_SLV_Pos (20U) +#define ADC123_CSR_OVR_SLV_Msk (0x1U << ADC123_CSR_OVR_SLV_Pos) /*!< 0x00100000 */ +#define ADC123_CSR_OVR_SLV ADC123_CSR_OVR_SLV_Msk /*!< Overrun flag of the slave ADC */ +#define ADC123_CSR_JEOC_SLV_Pos (21U) +#define ADC123_CSR_JEOC_SLV_Msk (0x1U << ADC123_CSR_JEOC_SLV_Pos) /*!< 0x00200000 */ +#define ADC123_CSR_JEOC_SLV ADC123_CSR_JEOC_SLV_Msk /*!< End of injected conversion of the slave ADC */ +#define ADC123_CSR_JEOS_SLV_Pos (22U) +#define ADC123_CSR_JEOS_SLV_Msk (0x1U << ADC123_CSR_JEOS_SLV_Pos) /*!< 0x00400000 */ +#define ADC123_CSR_JEOS_SLV ADC123_CSR_JEOS_SLV_Msk /*!< End of injected sequence flag of the slave ADC */ +#define ADC123_CSR_AWD1_SLV_Pos (23U) +#define ADC123_CSR_AWD1_SLV_Msk (0x1U << ADC123_CSR_AWD1_SLV_Pos) /*!< 0x00800000 */ +#define ADC123_CSR_AWD1_SLV ADC123_CSR_AWD1_SLV_Msk /*!< Analog watchdog 1 flag of the slave ADC */ +#define ADC123_CSR_AWD2_SLV_Pos (24U) +#define ADC123_CSR_AWD2_SLV_Msk (0x1U << ADC123_CSR_AWD2_SLV_Pos) /*!< 0x01000000 */ +#define ADC123_CSR_AWD2_SLV ADC123_CSR_AWD2_SLV_Msk /*!< Analog watchdog 2 flag of the slave ADC */ +#define ADC123_CSR_AWD3_SLV_Pos (25U) +#define ADC123_CSR_AWD3_SLV_Msk (0x1U << ADC123_CSR_AWD3_SLV_Pos) /*!< 0x02000000 */ +#define ADC123_CSR_AWD3_SLV ADC123_CSR_AWD3_SLV_Msk /*!< Analog watchdog 3 flag of the slave ADC */ +#define ADC123_CSR_JQOVF_SLV_Pos (26U) +#define ADC123_CSR_JQOVF_SLV_Msk (0x1U << ADC123_CSR_JQOVF_SLV_Pos) /*!< 0x04000000 */ +#define ADC123_CSR_JQOVF_SLV ADC123_CSR_JQOVF_SLV_Msk /*!< Injected context queue overflow flag of the slave ADC */ + +/******************** Bit definition for ADC_CCR register ********************/ +#define ADC_CCR_DUAL_Pos (0U) +#define ADC_CCR_DUAL_Msk (0x1FU << ADC_CCR_DUAL_Pos) /*!< 0x0000001F */ +#define ADC_CCR_DUAL ADC_CCR_DUAL_Msk /*!< Dual ADC mode selection */ +#define ADC_CCR_DUAL_0 (0x01U << ADC_CCR_DUAL_Pos) /*!< 0x00000001 */ +#define ADC_CCR_DUAL_1 (0x02U << ADC_CCR_DUAL_Pos) /*!< 0x00000002 */ +#define ADC_CCR_DUAL_2 (0x04U << ADC_CCR_DUAL_Pos) /*!< 0x00000004 */ +#define ADC_CCR_DUAL_3 (0x08U << ADC_CCR_DUAL_Pos) /*!< 0x00000008 */ +#define ADC_CCR_DUAL_4 (0x10U << ADC_CCR_DUAL_Pos) /*!< 0x00000010 */ + +#define ADC_CCR_DELAY_Pos (8U) +#define ADC_CCR_DELAY_Msk (0xFU << ADC_CCR_DELAY_Pos) /*!< 0x00000F00 */ +#define ADC_CCR_DELAY ADC_CCR_DELAY_Msk /*!< Delay between 2 sampling phases */ +#define ADC_CCR_DELAY_0 (0x1U << ADC_CCR_DELAY_Pos) /*!< 0x00000100 */ +#define ADC_CCR_DELAY_1 (0x2U << ADC_CCR_DELAY_Pos) /*!< 0x00000200 */ +#define ADC_CCR_DELAY_2 (0x4U << ADC_CCR_DELAY_Pos) /*!< 0x00000400 */ +#define ADC_CCR_DELAY_3 (0x8U << ADC_CCR_DELAY_Pos) /*!< 0x00000800 */ + + +#define ADC_CCR_DAMDF_Pos (14U) +#define ADC_CCR_DAMDF_Msk (0x3U << ADC_CCR_DAMDF_Pos) /*!< 0x0000C000 */ +#define ADC_CCR_DAMDF ADC_CCR_DAMDF_Msk /*!< Dual ADC mode Data format */ +#define ADC_CCR_DAMDF_0 (0x1U << ADC_CCR_DAMDF_Pos) /*!< 0x00004000 */ +#define ADC_CCR_DAMDF_1 (0x2U << ADC_CCR_DAMDF_Pos) /*!< 0x00008000 */ + +#define ADC_CCR_CKMODE_Pos (16U) +#define ADC_CCR_CKMODE_Msk (0x3U << ADC_CCR_CKMODE_Pos) /*!< 0x00030000 */ +#define ADC_CCR_CKMODE ADC_CCR_CKMODE_Msk /*!< ADC clock mode */ +#define ADC_CCR_CKMODE_0 (0x1U << ADC_CCR_CKMODE_Pos) /*!< 0x00010000 */ +#define ADC_CCR_CKMODE_1 (0x2U << ADC_CCR_CKMODE_Pos) /*!< 0x00020000 */ + +#define ADC_CCR_PRESC_Pos (18U) +#define ADC_CCR_PRESC_Msk (0xFU << ADC_CCR_PRESC_Pos) /*!< 0x003C0000 */ +#define ADC_CCR_PRESC ADC_CCR_PRESC_Msk /*!< ADC prescaler */ +#define ADC_CCR_PRESC_0 (0x1U << ADC_CCR_PRESC_Pos) /*!< 0x00040000 */ +#define ADC_CCR_PRESC_1 (0x2U << ADC_CCR_PRESC_Pos) /*!< 0x00080000 */ +#define ADC_CCR_PRESC_2 (0x4U << ADC_CCR_PRESC_Pos) /*!< 0x00100000 */ +#define ADC_CCR_PRESC_3 (0x8U << ADC_CCR_PRESC_Pos) /*!< 0x00200000 */ + +#define ADC_CCR_VREFEN_Pos (22U) +#define ADC_CCR_VREFEN_Msk (0x1U << ADC_CCR_VREFEN_Pos) /*!< 0x00400000 */ +#define ADC_CCR_VREFEN ADC_CCR_VREFEN_Msk /*!< VREFINT enable */ +#define ADC_CCR_TSEN_Pos (23U) +#define ADC_CCR_TSEN_Msk (0x1U << ADC_CCR_TSEN_Pos) /*!< 0x00800000 */ +#define ADC_CCR_TSEN ADC_CCR_TSEN_Msk /*!< Temperature sensor enable */ +#define ADC_CCR_VBATEN_Pos (24U) +#define ADC_CCR_VBATEN_Msk (0x1U << ADC_CCR_VBATEN_Pos) /*!< 0x01000000 */ +#define ADC_CCR_VBATEN ADC_CCR_VBATEN_Msk /*!< VBAT enable */ + +/******************** Bit definition for ADC_CDR register ********************/ +#define ADC123_CDR_RDATA_MST_Pos (0U) +#define ADC123_CDR_RDATA_MST_Msk (0xFFFFU << ADC123_CDR_RDATA_MST_Pos) /*!< 0x0000FFFF */ +#define ADC123_CDR_RDATA_MST ADC123_CDR_RDATA_MST_Msk /*!< Regular Data of the master ADC */ +#define ADC123_CDR_RDATA_MST_0 (0x0001U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000001 */ +#define ADC123_CDR_RDATA_MST_1 (0x0002U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000002 */ +#define ADC123_CDR_RDATA_MST_2 (0x0004U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000004 */ +#define ADC123_CDR_RDATA_MST_3 (0x0008U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000008 */ +#define ADC123_CDR_RDATA_MST_4 (0x0010U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000010 */ +#define ADC123_CDR_RDATA_MST_5 (0x0020U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000020 */ +#define ADC123_CDR_RDATA_MST_6 (0x0040U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000040 */ +#define ADC123_CDR_RDATA_MST_7 (0x0080U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000080 */ +#define ADC123_CDR_RDATA_MST_8 (0x0100U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000100 */ +#define ADC123_CDR_RDATA_MST_9 (0x0200U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000200 */ +#define ADC123_CDR_RDATA_MST_10 (0x0400U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000400 */ +#define ADC123_CDR_RDATA_MST_11 (0x0800U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000800 */ +#define ADC123_CDR_RDATA_MST_12 (0x1000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00001000 */ +#define ADC123_CDR_RDATA_MST_13 (0x2000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00002000 */ +#define ADC123_CDR_RDATA_MST_14 (0x4000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00004000 */ +#define ADC123_CDR_RDATA_MST_15 (0x8000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00008000 */ + +#define ADC123_CDR_RDATA_SLV_Pos (16U) +#define ADC123_CDR_RDATA_SLV_Msk (0xFFFFU << ADC123_CDR_RDATA_SLV_Pos) /*!< 0xFFFF0000 */ +#define ADC123_CDR_RDATA_SLV ADC123_CDR_RDATA_SLV_Msk /*!< Regular Data of the master ADC */ +#define ADC123_CDR_RDATA_SLV_0 (0x0001U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00010000 */ +#define ADC123_CDR_RDATA_SLV_1 (0x0002U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00020000 */ +#define ADC123_CDR_RDATA_SLV_2 (0x0004U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00040000 */ +#define ADC123_CDR_RDATA_SLV_3 (0x0008U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00080000 */ +#define ADC123_CDR_RDATA_SLV_4 (0x0010U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00100000 */ +#define ADC123_CDR_RDATA_SLV_5 (0x0020U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00200000 */ +#define ADC123_CDR_RDATA_SLV_6 (0x0040U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00400000 */ +#define ADC123_CDR_RDATA_SLV_7 (0x0080U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00800000 */ +#define ADC123_CDR_RDATA_SLV_8 (0x0100U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x01000000 */ +#define ADC123_CDR_RDATA_SLV_9 (0x0200U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x02000000 */ +#define ADC123_CDR_RDATA_SLV_10 (0x0400U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x04000000 */ +#define ADC123_CDR_RDATA_SLV_11 (0x0800U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x08000000 */ +#define ADC123_CDR_RDATA_SLV_12 (0x1000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x10000000 */ +#define ADC123_CDR_RDATA_SLV_13 (0x2000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x20000000 */ +#define ADC123_CDR_RDATA_SLV_14 (0x4000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x40000000 */ +#define ADC123_CDR_RDATA_SLV_15 (0x8000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_CDR2 register ********************/ +#define ADC123_CDR2_RDATA_ALT_Pos (0U) +#define ADC123_CDR2_RDATA_ALT_Msk (0xFFFFFFFFU << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0xFFFFFFFF */ +#define ADC123_CDR2_RDATA_ALT ADC123_CDR2_RDATA_ALT_Msk /*!< Regular Data for dual Mode */ +#define ADC123_CDR2_RDATA_ALT_0 (0x00000001U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000001 */ +#define ADC123_CDR2_RDATA_ALT_1 (0x00000002U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000002 */ +#define ADC123_CDR2_RDATA_ALT_2 (0x00000004U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000004 */ +#define ADC123_CDR2_RDATA_ALT_3 (0x00000008U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000008 */ +#define ADC123_CDR2_RDATA_ALT_4 (0x00000010U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000010 */ +#define ADC123_CDR2_RDATA_ALT_5 (0x00000020U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000020 */ +#define ADC123_CDR2_RDATA_ALT_6 (0x00000040U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000040 */ +#define ADC123_CDR2_RDATA_ALT_7 (0x00000080U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000080 */ +#define ADC123_CDR2_RDATA_ALT_8 (0x00000100U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000100 */ +#define ADC123_CDR2_RDATA_ALT_9 (0x00000200U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000200 */ +#define ADC123_CDR2_RDATA_ALT_10 (0x00000400U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000400 */ +#define ADC123_CDR2_RDATA_ALT_11 (0x00000800U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000800 */ +#define ADC123_CDR2_RDATA_ALT_12 (0x00001000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00001000 */ +#define ADC123_CDR2_RDATA_ALT_13 (0x00002000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00002000 */ +#define ADC123_CDR2_RDATA_ALT_14 (0x00004000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00004000 */ +#define ADC123_CDR2_RDATA_ALT_15 (0x00008000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00008000 */ +#define ADC123_CDR2_RDATA_ALT_16 (0x00010000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00010000 */ +#define ADC123_CDR2_RDATA_ALT_17 (0x00020000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00020000 */ +#define ADC123_CDR2_RDATA_ALT_18 (0x00040000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00040000 */ +#define ADC123_CDR2_RDATA_ALT_19 (0x00080000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00080000 */ +#define ADC123_CDR2_RDATA_ALT_20 (0x00100000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00100000 */ +#define ADC123_CDR2_RDATA_ALT_21 (0x00200000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00200000 */ +#define ADC123_CDR2_RDATA_ALT_22 (0x00400000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00400000 */ +#define ADC123_CDR2_RDATA_ALT_23 (0x00800000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00800000 */ +#define ADC123_CDR2_RDATA_ALT_24 (0x01000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x01000000 */ +#define ADC123_CDR2_RDATA_ALT_25 (0x02000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x02000000 */ +#define ADC123_CDR2_RDATA_ALT_26 (0x04000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x04000000 */ +#define ADC123_CDR2_RDATA_ALT_27 (0x08000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x08000000 */ +#define ADC123_CDR2_RDATA_ALT_28 (0x10000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x10000000 */ +#define ADC123_CDR2_RDATA_ALT_29 (0x20000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x20000000 */ +#define ADC123_CDR2_RDATA_ALT_30 (0x40000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x40000000 */ +#define ADC123_CDR2_RDATA_ALT_31 (0x80000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x80000000 */ + +/******************************************************************************/ +/* */ +/* VREFBUF */ +/* */ +/******************************************************************************/ +/******************* Bit definition for VREFBUF_CSR register ****************/ +#define VREFBUF_CSR_ENVR_Pos (0U) +#define VREFBUF_CSR_ENVR_Msk (0x1U << VREFBUF_CSR_ENVR_Pos) /*!< 0x00000001 */ +#define VREFBUF_CSR_ENVR VREFBUF_CSR_ENVR_Msk /*!*/ +#define DAC_CR_CEN1_Pos (14U) +#define DAC_CR_CEN1_Msk (0x1U << DAC_CR_CEN1_Pos) /*!< 0x00004000 */ +#define DAC_CR_CEN1 DAC_CR_CEN1_Msk /*!*/ + +#define DAC_CR_EN2_Pos (16U) +#define DAC_CR_EN2_Msk (0x1U << DAC_CR_EN2_Pos) /*!< 0x00010000 */ +#define DAC_CR_EN2 DAC_CR_EN2_Msk /*!*/ +#define DAC_CR_CEN2_Pos (30U) +#define DAC_CR_CEN2_Msk (0x1U << DAC_CR_CEN2_Pos) /*!< 0x40000000 */ +#define DAC_CR_CEN2 DAC_CR_CEN2_Msk /*!*/ + +/***************** Bit definition for DAC_SWTRIGR register ******************/ +#define DAC_SWTRIGR_SWTRIG1_Pos (0U) +#define DAC_SWTRIGR_SWTRIG1_Msk (0x1U << DAC_SWTRIGR_SWTRIG1_Pos) /*!< 0x00000001 */ +#define DAC_SWTRIGR_SWTRIG1 DAC_SWTRIGR_SWTRIG1_Msk /*!
© COPYRIGHT(c) 2017 STMicroelectronics
+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS_Device + * @{ + */ + +/** @addtogroup stm32h753xx + * @{ + */ + +#ifndef __STM32H753xx_H +#define __STM32H753xx_H + +#ifdef __cplusplus + extern "C" { +#endif /* __cplusplus */ + +/** @addtogroup Peripheral_interrupt_number_definition + * @{ + */ + +/** + * @brief STM32H7XX Interrupt Number Definition, according to the selected device + * in @ref Library_configuration_section + */ +typedef enum +{ +/****** Cortex-M Processor Exceptions Numbers *****************************************************************/ + NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13, /*!< 4 Cortex-M Memory Management Interrupt */ + MemoryManagement_IRQn = -12, /*!< 4 Cortex-M Memory Management Interrupt */ + BusFault_IRQn = -11, /*!< 5 Cortex-M Bus Fault Interrupt */ + UsageFault_IRQn = -10, /*!< 6 Cortex-M Usage Fault Interrupt */ + SVCall_IRQn = -5, /*!< 11 Cortex-M SV Call Interrupt */ + DebugMonitor_IRQn = -4, /*!< 12 Cortex-M Debug Monitor Interrupt */ + PendSV_IRQn = -2, /*!< 14 Cortex-M Pend SV Interrupt */ + SysTick_IRQn = -1, /*!< 15 Cortex-M System Tick Interrupt */ +/****** STM32 specific Interrupt Numbers **********************************************************************/ + WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */ + PVD_AVD_IRQn = 1, /*!< PVD/AVD through EXTI Line detection Interrupt */ + TAMP_STAMP_IRQn = 2, /*!< Tamper and TimeStamp interrupts through the EXTI line */ + RTC_WKUP_IRQn = 3, /*!< RTC Wakeup interrupt through the EXTI line */ + FLASH_IRQn = 4, /*!< FLASH global Interrupt */ + RCC_IRQn = 5, /*!< RCC global Interrupt */ + EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */ + EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */ + EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */ + EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */ + EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt */ + DMA1_Stream0_IRQn = 11, /*!< DMA1 Stream 0 global Interrupt */ + DMA1_Stream1_IRQn = 12, /*!< DMA1 Stream 1 global Interrupt */ + DMA1_Stream2_IRQn = 13, /*!< DMA1 Stream 2 global Interrupt */ + DMA1_Stream3_IRQn = 14, /*!< DMA1 Stream 3 global Interrupt */ + DMA1_Stream4_IRQn = 15, /*!< DMA1 Stream 4 global Interrupt */ + DMA1_Stream5_IRQn = 16, /*!< DMA1 Stream 5 global Interrupt */ + DMA1_Stream6_IRQn = 17, /*!< DMA1 Stream 6 global Interrupt */ + ADC_IRQn = 18, /*!< ADC1 and ADC2 global Interrupts */ + FDCAN1_IT0_IRQn = 19, /*!< FDCAN1 Interrupt line 0 */ + FDCAN2_IT0_IRQn = 20, /*!< FDCAN2 Interrupt line 0 */ + FDCAN1_IT1_IRQn = 21, /*!< FDCAN1 Interrupt line 1 */ + FDCAN2_IT1_IRQn = 22, /*!< FDCAN2 Interrupt line 1 */ + EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */ + TIM1_BRK_IRQn = 24, /*!< TIM1 Break Interrupt */ + TIM1_UP_IRQn = 25, /*!< TIM1 Update Interrupt */ + TIM1_TRG_COM_IRQn = 26, /*!< TIM1 Trigger and Commutation Interrupt */ + TIM1_CC_IRQn = 27, /*!< TIM1 Capture Compare Interrupt */ + TIM2_IRQn = 28, /*!< TIM2 global Interrupt */ + TIM3_IRQn = 29, /*!< TIM3 global Interrupt */ + TIM4_IRQn = 30, /*!< TIM4 global Interrupt */ + I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */ + I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */ + I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */ + I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */ + SPI1_IRQn = 35, /*!< SPI1 global Interrupt */ + SPI2_IRQn = 36, /*!< SPI2 global Interrupt */ + USART1_IRQn = 37, /*!< USART1 global Interrupt */ + USART2_IRQn = 38, /*!< USART2 global Interrupt */ + USART3_IRQn = 39, /*!< USART3 global Interrupt */ + EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */ + RTC_Alarm_IRQn = 41, /*!< RTC Alarm (A and B) through EXTI Line Interrupt */ + TIM8_BRK_TIM12_IRQn = 43, /*!< TIM8 Break Interrupt and TIM12 global interrupt */ + TIM8_UP_TIM13_IRQn = 44, /*!< TIM8 Update Interrupt and TIM13 global interrupt */ + TIM8_TRG_COM_TIM14_IRQn = 45, /*!< TIM8 Trigger and Commutation Interrupt and TIM14 global interrupt */ + TIM8_CC_IRQn = 46, /*!< TIM8 Capture Compare Interrupt */ + DMA1_Stream7_IRQn = 47, /*!< DMA1 Stream7 Interrupt */ + FMC_IRQn = 48, /*!< FMC global Interrupt */ + SDMMC1_IRQn = 49, /*!< SDMMC1 global Interrupt */ + TIM5_IRQn = 50, /*!< TIM5 global Interrupt */ + SPI3_IRQn = 51, /*!< SPI3 global Interrupt */ + UART4_IRQn = 52, /*!< UART4 global Interrupt */ + UART5_IRQn = 53, /*!< UART5 global Interrupt */ + TIM6_DAC_IRQn = 54, /*!< TIM6 global and DAC1&2 underrun error interrupts */ + TIM7_IRQn = 55, /*!< TIM7 global interrupt */ + DMA2_Stream0_IRQn = 56, /*!< DMA2 Stream 0 global Interrupt */ + DMA2_Stream1_IRQn = 57, /*!< DMA2 Stream 1 global Interrupt */ + DMA2_Stream2_IRQn = 58, /*!< DMA2 Stream 2 global Interrupt */ + DMA2_Stream3_IRQn = 59, /*!< DMA2 Stream 3 global Interrupt */ + DMA2_Stream4_IRQn = 60, /*!< DMA2 Stream 4 global Interrupt */ + ETH_IRQn = 61, /*!< Ethernet global Interrupt */ + ETH_WKUP_IRQn = 62, /*!< Ethernet Wakeup through EXTI line Interrupt */ + FDCAN_CAL_IRQn = 63, /*!< FDCAN Calibration unit Interrupt */ + DMA2_Stream5_IRQn = 68, /*!< DMA2 Stream 5 global interrupt */ + DMA2_Stream6_IRQn = 69, /*!< DMA2 Stream 6 global interrupt */ + DMA2_Stream7_IRQn = 70, /*!< DMA2 Stream 7 global interrupt */ + USART6_IRQn = 71, /*!< USART6 global interrupt */ + I2C3_EV_IRQn = 72, /*!< I2C3 event interrupt */ + I2C3_ER_IRQn = 73, /*!< I2C3 error interrupt */ + OTG_HS_EP1_OUT_IRQn = 74, /*!< USB OTG HS End Point 1 Out global interrupt */ + OTG_HS_EP1_IN_IRQn = 75, /*!< USB OTG HS End Point 1 In global interrupt */ + OTG_HS_WKUP_IRQn = 76, /*!< USB OTG HS Wakeup through EXTI interrupt */ + OTG_HS_IRQn = 77, /*!< USB OTG HS global interrupt */ + DCMI_IRQn = 78, /*!< DCMI global interrupt */ + CRYP_IRQn = 79, /*!< CRYP crypto global interrupt */ + HASH_RNG_IRQn = 80, /*!< Hash and Rng global interrupt */ + FPU_IRQn = 81, /*!< FPU global interrupt */ + UART7_IRQn = 82, /*!< UART7 global interrupt */ + UART8_IRQn = 83, /*!< UART8 global interrupt */ + SPI4_IRQn = 84, /*!< SPI4 global Interrupt */ + SPI5_IRQn = 85, /*!< SPI5 global Interrupt */ + SPI6_IRQn = 86, /*!< SPI6 global Interrupt */ + SAI1_IRQn = 87, /*!< SAI1 global Interrupt */ + LTDC_IRQn = 88, /*!< LTDC global Interrupt */ + LTDC_ER_IRQn = 89, /*!< LTDC Error global Interrupt */ + DMA2D_IRQn = 90, /*!< DMA2D global Interrupt */ + SAI2_IRQn = 91, /*!< SAI2 global Interrupt */ + QUADSPI_IRQn = 92, /*!< Quad SPI global interrupt */ + LPTIM1_IRQn = 93, /*!< LP TIM1 interrupt */ + CEC_IRQn = 94, /*!< HDMI-CEC global Interrupt */ + I2C4_EV_IRQn = 95, /*!< I2C4 Event Interrupt */ + I2C4_ER_IRQn = 96, /*!< I2C4 Error Interrupt */ + SPDIF_RX_IRQn = 97, /*!< SPDIF-RX global Interrupt */ + OTG_FS_EP1_OUT_IRQn = 98, /*!< USB OTG HS2 global interrupt */ + OTG_FS_EP1_IN_IRQn = 99, /*!< USB OTG HS2 End Point 1 Out global interrupt */ + OTG_FS_WKUP_IRQn = 100, /*!< USB OTG HS2 End Point 1 In global interrupt */ + OTG_FS_IRQn = 101, /*!< USB OTG HS2 Wakeup through EXTI interrupt */ + DMAMUX1_OVR_IRQn = 102, /*! + +/** @addtogroup Peripheral_registers_structures + * @{ + */ + +/** + * @brief Analog to Digital Converter + */ + +typedef struct +{ + __IO uint32_t ISR; /*!< ADC Interrupt and Status Register, Address offset: 0x00 */ + __IO uint32_t IER; /*!< ADC Interrupt Enable Register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< ADC control register, Address offset: 0x08 */ + __IO uint32_t CFGR; /*!< ADC Configuration register, Address offset: 0x0C */ + __IO uint32_t CFGR2; /*!< ADC Configuration register 2, Address offset: 0x10 */ + __IO uint32_t SMPR1; /*!< ADC sample time register 1, Address offset: 0x14 */ + __IO uint32_t SMPR2; /*!< ADC sample time register 2, Address offset: 0x18 */ + __IO uint32_t PCSEL; /*!< ADC pre-channel selection, Address offset: 0x1C */ + __IO uint32_t LTR1; /*!< ADC watchdog Lower threshold register 1, Address offset: 0x20 */ + __IO uint32_t HTR1; /*!< ADC watchdog higher threshold register 1, Address offset: 0x24 */ + uint32_t RESERVED1; /*!< Reserved, 0x028 */ + uint32_t RESERVED2; /*!< Reserved, 0x02C */ + __IO uint32_t SQR1; /*!< ADC regular sequence register 1, Address offset: 0x30 */ + __IO uint32_t SQR2; /*!< ADC regular sequence register 2, Address offset: 0x34 */ + __IO uint32_t SQR3; /*!< ADC regular sequence register 3, Address offset: 0x38 */ + __IO uint32_t SQR4; /*!< ADC regular sequence register 4, Address offset: 0x3C */ + __IO uint32_t DR; /*!< ADC regular data register, Address offset: 0x40 */ + uint32_t RESERVED3; /*!< Reserved, 0x044 */ + uint32_t RESERVED4; /*!< Reserved, 0x048 */ + __IO uint32_t JSQR; /*!< ADC injected sequence register, Address offset: 0x4C */ + uint32_t RESERVED5[4]; /*!< Reserved, 0x050 - 0x05C */ + __IO uint32_t OFR1; /*!< ADC offset register 1, Address offset: 0x60 */ + __IO uint32_t OFR2; /*!< ADC offset register 2, Address offset: 0x64 */ + __IO uint32_t OFR3; /*!< ADC offset register 3, Address offset: 0x68 */ + __IO uint32_t OFR4; /*!< ADC offset register 4, Address offset: 0x6C */ + uint32_t RESERVED6[4]; /*!< Reserved, 0x070 - 0x07C */ + __IO uint32_t JDR1; /*!< ADC injected data register 1, Address offset: 0x80 */ + __IO uint32_t JDR2; /*!< ADC injected data register 2, Address offset: 0x84 */ + __IO uint32_t JDR3; /*!< ADC injected data register 3, Address offset: 0x88 */ + __IO uint32_t JDR4; /*!< ADC injected data register 4, Address offset: 0x8C */ + uint32_t RESERVED7[4]; /*!< Reserved, 0x090 - 0x09C */ + __IO uint32_t AWD2CR; /*!< ADC Analog Watchdog 2 Configuration Register, Address offset: 0xA0 */ + __IO uint32_t AWD3CR; /*!< ADC Analog Watchdog 3 Configuration Register, Address offset: 0xA4 */ + uint32_t RESERVED8; /*!< Reserved, 0x0A8 */ + uint32_t RESERVED9; /*!< Reserved, 0x0AC */ + __IO uint32_t LTR2; /*!< ADC watchdog Lower threshold register 2, Address offset: 0xB0 */ + __IO uint32_t HTR2; /*!< ADC watchdog Higher threshold register 2, Address offset: 0xB4 */ + __IO uint32_t LTR3; /*!< ADC watchdog Lower threshold register 3, Address offset: 0xB8 */ + __IO uint32_t HTR3; /*!< ADC watchdog Higher threshold register 3, Address offset: 0xBC */ + __IO uint32_t DIFSEL; /*!< ADC Differential Mode Selection Register, Address offset: 0xC0 */ + __IO uint32_t CALFACT; /*!< ADC Calibration Factors, Address offset: 0xC4 */ + __IO uint32_t CALFACT2; /*!< ADC Linearity Calibration Factors, Address offset: 0xC8 */ +} ADC_TypeDef; + + +typedef struct +{ +__IO uint32_t CSR; /*!< ADC Common status register, Address offset: ADC1/3 base address + 0x300 */ +uint32_t RESERVED; /*!< Reserved, ADC1/3 base address + 0x304 */ +__IO uint32_t CCR; /*!< ADC common control register, Address offset: ADC1/3 base address + 0x308 */ +__IO uint32_t CDR; /*!< ADC common regular data register for dual Address offset: ADC1/3 base address + 0x30C */ +__IO uint32_t CDR2; /*!< ADC common regular data register for 32-bit dual mode Address offset: ADC1/3 base address + 0x310 */ + +} ADC_Common_TypeDef; + +/** + * @brief VREFBUF + */ + +typedef struct +{ + __IO uint32_t CSR; /*!< VREFBUF control and status register, Address offset: 0x00 */ + __IO uint32_t CCR; /*!< VREFBUF calibration and control register, Address offset: 0x04 */ +} VREFBUF_TypeDef; + + +/** + * @brief FD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t CREL; /*!< FDCAN Core Release register, Address offset: 0x000 */ + __IO uint32_t ENDN; /*!< FDCAN Endian register, Address offset: 0x004 */ + __IO uint32_t RESERVED1; /*!< Reserved, 0x008 */ + __IO uint32_t DBTP; /*!< FDCAN Data Bit Timing & Prescaler register, Address offset: 0x00C */ + __IO uint32_t TEST; /*!< FDCAN Test register, Address offset: 0x010 */ + __IO uint32_t RWD; /*!< FDCAN RAM Watchdog register, Address offset: 0x014 */ + __IO uint32_t CCCR; /*!< FDCAN CC Control register, Address offset: 0x018 */ + __IO uint32_t NBTP; /*!< FDCAN Nominal Bit Timing & Prescaler register, Address offset: 0x01C */ + __IO uint32_t TSCC; /*!< FDCAN Timestamp Counter Configuration register, Address offset: 0x020 */ + __IO uint32_t TSCV; /*!< FDCAN Timestamp Counter Value register, Address offset: 0x024 */ + __IO uint32_t TOCC; /*!< FDCAN Timeout Counter Configuration register, Address offset: 0x028 */ + __IO uint32_t TOCV; /*!< FDCAN Timeout Counter Value register, Address offset: 0x02C */ + __IO uint32_t RESERVED2[4]; /*!< Reserved, 0x030 - 0x03C */ + __IO uint32_t ECR; /*!< FDCAN Error Counter register, Address offset: 0x040 */ + __IO uint32_t PSR; /*!< FDCAN Protocol Status register, Address offset: 0x044 */ + __IO uint32_t TDCR; /*!< FDCAN Transmitter Delay Compensation register, Address offset: 0x048 */ + __IO uint32_t RESERVED3; /*!< Reserved, 0x04C */ + __IO uint32_t IR; /*!< FDCAN Interrupt register, Address offset: 0x050 */ + __IO uint32_t IE; /*!< FDCAN Interrupt Enable register, Address offset: 0x054 */ + __IO uint32_t ILS; /*!< FDCAN Interrupt Line Select register, Address offset: 0x058 */ + __IO uint32_t ILE; /*!< FDCAN Interrupt Line Enable register, Address offset: 0x05C */ + __IO uint32_t RESERVED4[8]; /*!< Reserved, 0x060 - 0x07C */ + __IO uint32_t GFC; /*!< FDCAN Global Filter Configuration register, Address offset: 0x080 */ + __IO uint32_t SIDFC; /*!< FDCAN Standard ID Filter Configuration register, Address offset: 0x084 */ + __IO uint32_t XIDFC; /*!< FDCAN Extended ID Filter Configuration register, Address offset: 0x088 */ + __IO uint32_t RESERVED5; /*!< Reserved, 0x08C */ + __IO uint32_t XIDAM; /*!< FDCAN Extended ID AND Mask register, Address offset: 0x090 */ + __IO uint32_t HPMS; /*!< FDCAN High Priority Message Status register, Address offset: 0x094 */ + __IO uint32_t NDAT1; /*!< FDCAN New Data 1 register, Address offset: 0x098 */ + __IO uint32_t NDAT2; /*!< FDCAN New Data 2 register, Address offset: 0x09C */ + __IO uint32_t RXF0C; /*!< FDCAN Rx FIFO 0 Configuration register, Address offset: 0x0A0 */ + __IO uint32_t RXF0S; /*!< FDCAN Rx FIFO 0 Status register, Address offset: 0x0A4 */ + __IO uint32_t RXF0A; /*!< FDCAN Rx FIFO 0 Acknowledge register, Address offset: 0x0A8 */ + __IO uint32_t RXBC; /*!< FDCAN Rx Buffer Configuration register, Address offset: 0x0AC */ + __IO uint32_t RXF1C; /*!< FDCAN Rx FIFO 1 Configuration register, Address offset: 0x0B0 */ + __IO uint32_t RXF1S; /*!< FDCAN Rx FIFO 1 Status register, Address offset: 0x0B4 */ + __IO uint32_t RXF1A; /*!< FDCAN Rx FIFO 1 Acknowledge register, Address offset: 0x0B8 */ + __IO uint32_t RXESC; /*!< FDCAN Rx Buffer/FIFO Element Size Configuration register, Address offset: 0x0BC */ + __IO uint32_t TXBC; /*!< FDCAN Tx Buffer Configuration register, Address offset: 0x0C0 */ + __IO uint32_t TXFQS; /*!< FDCAN Tx FIFO/Queue Status register, Address offset: 0x0C4 */ + __IO uint32_t TXESC; /*!< FDCAN Tx Buffer Element Size Configuration register, Address offset: 0x0C8 */ + __IO uint32_t TXBRP; /*!< FDCAN Tx Buffer Request Pending register, Address offset: 0x0CC */ + __IO uint32_t TXBAR; /*!< FDCAN Tx Buffer Add Request register, Address offset: 0x0D0 */ + __IO uint32_t TXBCR; /*!< FDCAN Tx Buffer Cancellation Request register, Address offset: 0x0D4 */ + __IO uint32_t TXBTO; /*!< FDCAN Tx Buffer Transmission Occurred register, Address offset: 0x0D8 */ + __IO uint32_t TXBCF; /*!< FDCAN Tx Buffer Cancellation Finished register, Address offset: 0x0DC */ + __IO uint32_t TXBTIE; /*!< FDCAN Tx Buffer Transmission Interrupt Enable register, Address offset: 0x0E0 */ + __IO uint32_t TXBCIE; /*!< FDCAN Tx Buffer Cancellation Finished Interrupt Enable register, Address offset: 0x0E4 */ + __IO uint32_t RESERVED6[2]; /*!< Reserved, 0x0E8 - 0x0EC */ + __IO uint32_t TXEFC; /*!< FDCAN Tx Event FIFO Configuration register, Address offset: 0x0F0 */ + __IO uint32_t TXEFS; /*!< FDCAN Tx Event FIFO Status register, Address offset: 0x0F4 */ + __IO uint32_t TXEFA; /*!< FDCAN Tx Event FIFO Acknowledge register, Address offset: 0x0F8 */ + __IO uint32_t RESERVED7; /*!< Reserved, 0x0FC */ +} FDCAN_GlobalTypeDef; + +/** + * @brief TTFD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t TTTMC; /*!< TT Trigger Memory Configuration register, Address offset: 0x100 */ + __IO uint32_t TTRMC; /*!< TT Reference Message Configuration register, Address offset: 0x104 */ + __IO uint32_t TTOCF; /*!< TT Operation Configuration register, Address offset: 0x108 */ + __IO uint32_t TTMLM; /*!< TT Matrix Limits register, Address offset: 0x10C */ + __IO uint32_t TURCF; /*!< TUR Configuration register, Address offset: 0x110 */ + __IO uint32_t TTOCN; /*!< TT Operation Control register, Address offset: 0x114 */ + __IO uint32_t TTGTP; /*!< TT Global Time Preset register, Address offset: 0x118 */ + __IO uint32_t TTTMK; /*!< TT Time Mark register, Address offset: 0x11C */ + __IO uint32_t TTIR; /*!< TT Interrupt register, Address offset: 0x120 */ + __IO uint32_t TTIE; /*!< TT Interrupt Enable register, Address offset: 0x124 */ + __IO uint32_t TTILS; /*!< TT Interrupt Line Select register, Address offset: 0x128 */ + __IO uint32_t TTOST; /*!< TT Operation Status register, Address offset: 0x12C */ + __IO uint32_t TURNA; /*!< TT TUR Numerator Actual register, Address offset: 0x130 */ + __IO uint32_t TTLGT; /*!< TT Local and Global Time register, Address offset: 0x134 */ + __IO uint32_t TTCTC; /*!< TT Cycle Time and Count register, Address offset: 0x138 */ + __IO uint32_t TTCPT; /*!< TT Capture Time register, Address offset: 0x13C */ + __IO uint32_t TTCSM; /*!< TT Cycle Sync Mark register, Address offset: 0x140 */ + __IO uint32_t RESERVED1[111]; /*!< Reserved, 0x144 - 0x2FC */ + __IO uint32_t TTTS; /*!< TT Trigger Select register, Address offset: 0x300 */ +} TTCAN_TypeDef; + +/** + * @brief FD Controller Area Network + */ + +typedef struct +{ + __IO uint32_t CREL; /*!< Clock Calibration Unit Core Release register, Address offset: 0x00 */ + __IO uint32_t CCFG; /*!< Calibration Configuration register, Address offset: 0x04 */ + __IO uint32_t CSTAT; /*!< Calibration Status register, Address offset: 0x08 */ + __IO uint32_t CWD; /*!< Calibration Watchdog register, Address offset: 0x0C */ + __IO uint32_t IR; /*!< CCU Interrupt register, Address offset: 0x10 */ + __IO uint32_t IE; /*!< CCU Interrupt Enable register, Address offset: 0x14 */ +} FDCAN_ClockCalibrationUnit_TypeDef; + + +/** + * @brief Consumer Electronics Control + */ + +typedef struct +{ + __IO uint32_t CR; /*!< CEC control register, Address offset:0x00 */ + __IO uint32_t CFGR; /*!< CEC configuration register, Address offset:0x04 */ + __IO uint32_t TXDR; /*!< CEC Tx data register , Address offset:0x08 */ + __IO uint32_t RXDR; /*!< CEC Rx Data Register, Address offset:0x0C */ + __IO uint32_t ISR; /*!< CEC Interrupt and Status Register, Address offset:0x10 */ + __IO uint32_t IER; /*!< CEC interrupt enable register, Address offset:0x14 */ +}CEC_TypeDef; + +/** + * @brief CRC calculation unit + */ + +typedef struct +{ + __IO uint32_t DR; /*!< CRC Data register, Address offset: 0x00 */ + __IO uint32_t IDR; /*!< CRC Independent data register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< CRC Control register, Address offset: 0x08 */ + uint32_t RESERVED2; /*!< Reserved, 0x0C */ + __IO uint32_t INIT; /*!< Initial CRC value register, Address offset: 0x10 */ + __IO uint32_t POL; /*!< CRC polynomial register, Address offset: 0x14 */ +} CRC_TypeDef; + + +/** + * @brief Clock Recovery System + */ +typedef struct +{ +__IO uint32_t CR; /*!< CRS ccontrol register, Address offset: 0x00 */ +__IO uint32_t CFGR; /*!< CRS configuration register, Address offset: 0x04 */ +__IO uint32_t ISR; /*!< CRS interrupt and status register, Address offset: 0x08 */ +__IO uint32_t ICR; /*!< CRS interrupt flag clear register, Address offset: 0x0C */ +} CRS_TypeDef; + + +/** + * @brief Digital to Analog Converter + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DAC control register, Address offset: 0x00 */ + __IO uint32_t SWTRIGR; /*!< DAC software trigger register, Address offset: 0x04 */ + __IO uint32_t DHR12R1; /*!< DAC channel1 12-bit right-aligned data holding register, Address offset: 0x08 */ + __IO uint32_t DHR12L1; /*!< DAC channel1 12-bit left aligned data holding register, Address offset: 0x0C */ + __IO uint32_t DHR8R1; /*!< DAC channel1 8-bit right aligned data holding register, Address offset: 0x10 */ + __IO uint32_t DHR12R2; /*!< DAC channel2 12-bit right aligned data holding register, Address offset: 0x14 */ + __IO uint32_t DHR12L2; /*!< DAC channel2 12-bit left aligned data holding register, Address offset: 0x18 */ + __IO uint32_t DHR8R2; /*!< DAC channel2 8-bit right-aligned data holding register, Address offset: 0x1C */ + __IO uint32_t DHR12RD; /*!< Dual DAC 12-bit right-aligned data holding register, Address offset: 0x20 */ + __IO uint32_t DHR12LD; /*!< DUAL DAC 12-bit left aligned data holding register, Address offset: 0x24 */ + __IO uint32_t DHR8RD; /*!< DUAL DAC 8-bit right aligned data holding register, Address offset: 0x28 */ + __IO uint32_t DOR1; /*!< DAC channel1 data output register, Address offset: 0x2C */ + __IO uint32_t DOR2; /*!< DAC channel2 data output register, Address offset: 0x30 */ + __IO uint32_t SR; /*!< DAC status register, Address offset: 0x34 */ + __IO uint32_t CCR; /*!< DAC calibration control register, Address offset: 0x38 */ + __IO uint32_t MCR; /*!< DAC mode control register, Address offset: 0x3C */ + __IO uint32_t SHSR1; /*!< DAC Sample and Hold sample time register 1, Address offset: 0x40 */ + __IO uint32_t SHSR2; /*!< DAC Sample and Hold sample time register 2, Address offset: 0x44 */ + __IO uint32_t SHHR; /*!< DAC Sample and Hold hold time register, Address offset: 0x48 */ + __IO uint32_t SHRR; /*!< DAC Sample and Hold refresh time register, Address offset: 0x4C */ +} DAC_TypeDef; + +/** + * @brief DFSDM module registers + */ +typedef struct +{ + __IO uint32_t FLTCR1; /*!< DFSDM control register1, Address offset: 0x100 */ + __IO uint32_t FLTCR2; /*!< DFSDM control register2, Address offset: 0x104 */ + __IO uint32_t FLTISR; /*!< DFSDM interrupt and status register, Address offset: 0x108 */ + __IO uint32_t FLTICR; /*!< DFSDM interrupt flag clear register, Address offset: 0x10C */ + __IO uint32_t FLTJCHGR; /*!< DFSDM injected channel group selection register, Address offset: 0x110 */ + __IO uint32_t FLTFCR; /*!< DFSDM filter control register, Address offset: 0x114 */ + __IO uint32_t FLTJDATAR; /*!< DFSDM data register for injected group, Address offset: 0x118 */ + __IO uint32_t FLTRDATAR; /*!< DFSDM data register for regular group, Address offset: 0x11C */ + __IO uint32_t FLTAWHTR; /*!< DFSDM analog watchdog high threshold register, Address offset: 0x120 */ + __IO uint32_t FLTAWLTR; /*!< DFSDM analog watchdog low threshold register, Address offset: 0x124 */ + __IO uint32_t FLTAWSR; /*!< DFSDM analog watchdog status register Address offset: 0x128 */ + __IO uint32_t FLTAWCFR; /*!< DFSDM analog watchdog clear flag register Address offset: 0x12C */ + __IO uint32_t FLTEXMAX; /*!< DFSDM extreme detector maximum register, Address offset: 0x130 */ + __IO uint32_t FLTEXMIN; /*!< DFSDM extreme detector minimum register Address offset: 0x134 */ + __IO uint32_t FLTCNVTIMR; /*!< DFSDM conversion timer, Address offset: 0x138 */ +} DFSDM_Filter_TypeDef; + +/** + * @brief DFSDM channel configuration registers + */ +typedef struct +{ + __IO uint32_t CHCFGR1; /*!< DFSDM channel configuration register1, Address offset: 0x00 */ + __IO uint32_t CHCFGR2; /*!< DFSDM channel configuration register2, Address offset: 0x04 */ + __IO uint32_t CHAWSCDR; /*!< DFSDM channel analog watchdog and + short circuit detector register, Address offset: 0x08 */ + __IO uint32_t CHWDATAR; /*!< DFSDM channel watchdog filter data register, Address offset: 0x0C */ + __IO uint32_t CHDATINR; /*!< DFSDM channel data input register, Address offset: 0x10 */ +} DFSDM_Channel_TypeDef; + +/** + * @brief Debug MCU + */ + +typedef struct +{ + __IO uint32_t IDCODE; /*!< MCU device ID code, Address offset: 0x00 */ + __IO uint32_t CR; /*!< Debug MCU configuration register, Address offset: 0x04 */ + uint32_t RESERVED4[11]; /*!< Reserved, Address offset: 0x08 */ + __IO uint32_t APB3FZ1; /*!< Debug MCU APB3FZ1 freeze register, Address offset: 0x34 */ + uint32_t RESERVED5; /*!< Reserved, Address offset: 0x38 */ + __IO uint32_t APB1LFZ1; /*!< Debug MCU APB1LFZ1 freeze register, Address offset: 0x3C */ + uint32_t RESERVED6; /*!< Reserved, Address offset: 0x40 */ + __IO uint32_t APB1HFZ1; /*!< Debug MCU APB1LFZ1 freeze register, Address offset: 0x44 */ + uint32_t RESERVED7; /*!< Reserved, Address offset: 0x48 */ + __IO uint32_t APB2FZ1; /*!< Debug MCU APB2FZ1 freeze register, Address offset: 0x4C */ + uint32_t RESERVED8; /*!< Reserved, Address offset: 0x50 */ + __IO uint32_t APB4FZ1; /*!< Debug MCU APB4FZ1 freeze register, Address offset: 0x54 */ +}DBGMCU_TypeDef; + +/** + * @brief DCMI + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DCMI control register 1, Address offset: 0x00 */ + __IO uint32_t SR; /*!< DCMI status register, Address offset: 0x04 */ + __IO uint32_t RISR; /*!< DCMI raw interrupt status register, Address offset: 0x08 */ + __IO uint32_t IER; /*!< DCMI interrupt enable register, Address offset: 0x0C */ + __IO uint32_t MISR; /*!< DCMI masked interrupt status register, Address offset: 0x10 */ + __IO uint32_t ICR; /*!< DCMI interrupt clear register, Address offset: 0x14 */ + __IO uint32_t ESCR; /*!< DCMI embedded synchronization code register, Address offset: 0x18 */ + __IO uint32_t ESUR; /*!< DCMI embedded synchronization unmask register, Address offset: 0x1C */ + __IO uint32_t CWSTRTR; /*!< DCMI crop window start, Address offset: 0x20 */ + __IO uint32_t CWSIZER; /*!< DCMI crop window size, Address offset: 0x24 */ + __IO uint32_t DR; /*!< DCMI data register, Address offset: 0x28 */ +} DCMI_TypeDef; + +/** + * @brief DMA Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DMA stream x configuration register */ + __IO uint32_t NDTR; /*!< DMA stream x number of data register */ + __IO uint32_t PAR; /*!< DMA stream x peripheral address register */ + __IO uint32_t M0AR; /*!< DMA stream x memory 0 address register */ + __IO uint32_t M1AR; /*!< DMA stream x memory 1 address register */ + __IO uint32_t FCR; /*!< DMA stream x FIFO control register */ +} DMA_Stream_TypeDef; + +typedef struct +{ + __IO uint32_t LISR; /*!< DMA low interrupt status register, Address offset: 0x00 */ + __IO uint32_t HISR; /*!< DMA high interrupt status register, Address offset: 0x04 */ + __IO uint32_t LIFCR; /*!< DMA low interrupt flag clear register, Address offset: 0x08 */ + __IO uint32_t HIFCR; /*!< DMA high interrupt flag clear register, Address offset: 0x0C */ +} DMA_TypeDef; + +typedef struct +{ + __IO uint32_t CCR; /*!< DMA channel x configuration register */ + __IO uint32_t CNDTR; /*!< DMA channel x number of data register */ + __IO uint32_t CPAR; /*!< DMA channel x peripheral address register */ + __IO uint32_t CMAR; /*!< DMA channel x memory address register */ +} BDMA_Channel_TypeDef; + +typedef struct +{ + __IO uint32_t ISR; /*!< DMA interrupt status register, Address offset: 0x00 */ + __IO uint32_t IFCR; /*!< DMA interrupt flag clear register, Address offset: 0x04 */ +} BDMA_TypeDef; + +typedef struct +{ + __IO uint32_t CCR; /*!< DMA Multiplexer Channel x Control Register */ +}DMAMUX_Channel_TypeDef; + +typedef struct +{ + __IO uint32_t CSR; /*!< DMA Channel Status Register */ + __IO uint32_t CFR; /*!< DMA Channel Clear Flag Register */ +}DMAMUX_ChannelStatus_TypeDef; + +typedef struct +{ + __IO uint32_t RGCR; /*!< DMA Request Generator x Control Register */ +}DMAMUX_RequestGen_TypeDef; + +typedef struct +{ + __IO uint32_t RGSR; /*!< DMA Request Generator Status Register */ + __IO uint32_t RGCFR; /*!< DMA Request Generator Clear Flag Register */ +}DMAMUX_RequestGenStatus_TypeDef; + +/** + * @brief MDMA Controller + */ +typedef struct +{ + __IO uint32_t GISR0; /*!< MDMA Global Interrupt/Status Register 0, Address offset: 0x00 */ +}MDMA_TypeDef; + +typedef struct +{ + __IO uint32_t CISR; /*!< MDMA channel x interrupt/status register, Address offset: 0x40 */ + __IO uint32_t CIFCR; /*!< MDMA channel x interrupt flag clear register, Address offset: 0x44 */ + __IO uint32_t CESR; /*!< MDMA Channel x error status register, Address offset: 0x48 */ + __IO uint32_t CCR; /*!< MDMA channel x control register, Address offset: 0x4C */ + __IO uint32_t CTCR; /*!< MDMA channel x Transfer Configuration register, Address offset: 0x50 */ + __IO uint32_t CBNDTR; /*!< MDMA Channel x block number of data register, Address offset: 0x54 */ + __IO uint32_t CSAR; /*!< MDMA channel x source address register, Address offset: 0x58 */ + __IO uint32_t CDAR; /*!< MDMA channel x destination address register, Address offset: 0x5C */ + __IO uint32_t CBRUR; /*!< MDMA channel x Block Repeat address Update register, Address offset: 0x60 */ + __IO uint32_t CLAR; /*!< MDMA channel x Link Address register, Address offset: 0x64 */ + __IO uint32_t CTBR; /*!< MDMA channel x Trigger and Bus selection Register, Address offset: 0x68 */ + uint32_t RESERVED0; /*!< Reserved, 0x68 */ + __IO uint32_t CMAR; /*!< MDMA channel x Mask address register, Address offset: 0x70 */ + __IO uint32_t CMDR; /*!< MDMA channel x Mask Data register, Address offset: 0x74 */ +}MDMA_Channel_TypeDef; +/** + * @brief DMA2D Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DMA2D Control Register, Address offset: 0x00 */ + __IO uint32_t ISR; /*!< DMA2D Interrupt Status Register, Address offset: 0x04 */ + __IO uint32_t IFCR; /*!< DMA2D Interrupt Flag Clear Register, Address offset: 0x08 */ + __IO uint32_t FGMAR; /*!< DMA2D Foreground Memory Address Register, Address offset: 0x0C */ + __IO uint32_t FGOR; /*!< DMA2D Foreground Offset Register, Address offset: 0x10 */ + __IO uint32_t BGMAR; /*!< DMA2D Background Memory Address Register, Address offset: 0x14 */ + __IO uint32_t BGOR; /*!< DMA2D Background Offset Register, Address offset: 0x18 */ + __IO uint32_t FGPFCCR; /*!< DMA2D Foreground PFC Control Register, Address offset: 0x1C */ + __IO uint32_t FGCOLR; /*!< DMA2D Foreground Color Register, Address offset: 0x20 */ + __IO uint32_t BGPFCCR; /*!< DMA2D Background PFC Control Register, Address offset: 0x24 */ + __IO uint32_t BGCOLR; /*!< DMA2D Background Color Register, Address offset: 0x28 */ + __IO uint32_t FGCMAR; /*!< DMA2D Foreground CLUT Memory Address Register, Address offset: 0x2C */ + __IO uint32_t BGCMAR; /*!< DMA2D Background CLUT Memory Address Register, Address offset: 0x30 */ + __IO uint32_t OPFCCR; /*!< DMA2D Output PFC Control Register, Address offset: 0x34 */ + __IO uint32_t OCOLR; /*!< DMA2D Output Color Register, Address offset: 0x38 */ + __IO uint32_t OMAR; /*!< DMA2D Output Memory Address Register, Address offset: 0x3C */ + __IO uint32_t OOR; /*!< DMA2D Output Offset Register, Address offset: 0x40 */ + __IO uint32_t NLR; /*!< DMA2D Number of Line Register, Address offset: 0x44 */ + __IO uint32_t LWR; /*!< DMA2D Line Watermark Register, Address offset: 0x48 */ + __IO uint32_t AMTCR; /*!< DMA2D AHB Master Timer Configuration Register, Address offset: 0x4C */ + uint32_t RESERVED[236]; /*!< Reserved, 0x50-0x3FF */ + __IO uint32_t FGCLUT[256]; /*!< DMA2D Foreground CLUT, Address offset:400-7FF */ + __IO uint32_t BGCLUT[256]; /*!< DMA2D Background CLUT, Address offset:800-BFF */ +} DMA2D_TypeDef; + +/** + * @brief Ethernet MAC + */ +typedef struct +{ + __IO uint32_t MACCR; + __IO uint32_t MACECR; + __IO uint32_t MACPFR; + __IO uint32_t MACWTR; + __IO uint32_t MACHT0R; + __IO uint32_t MACHT1R; + uint32_t RESERVED1[14]; + __IO uint32_t MACVTR; + uint32_t RESERVED2; + __IO uint32_t MACVHTR; + uint32_t RESERVED3; + __IO uint32_t MACVIR; + __IO uint32_t MACIVIR; + uint32_t RESERVED4[2]; + __IO uint32_t MACTFCR; + uint32_t RESERVED5[7]; + __IO uint32_t MACRFCR; + uint32_t RESERVED6[7]; + __IO uint32_t MACISR; + __IO uint32_t MACIER; + __IO uint32_t MACRXTXSR; + uint32_t RESERVED7; + __IO uint32_t MACPCSR; + __IO uint32_t MACRWKPFR; + uint32_t RESERVED8[2]; + __IO uint32_t MACLCSR; + __IO uint32_t MACLTCR; + __IO uint32_t MACLETR; + __IO uint32_t MAC1USTCR; + uint32_t RESERVED9[12]; + __IO uint32_t MACVR; + __IO uint32_t MACDR; + uint32_t RESERVED10; + __IO uint32_t MACHWF0R; + __IO uint32_t MACHWF1R; + __IO uint32_t MACHWF2R; + uint32_t RESERVED11[54]; + __IO uint32_t MACMDIOAR; + __IO uint32_t MACMDIODR; + uint32_t RESERVED12[2]; + __IO uint32_t MACARPAR; + uint32_t RESERVED13[59]; + __IO uint32_t MACA0HR; + __IO uint32_t MACA0LR; + __IO uint32_t MACA1HR; + __IO uint32_t MACA1LR; + __IO uint32_t MACA2HR; + __IO uint32_t MACA2LR; + __IO uint32_t MACA3HR; + __IO uint32_t MACA3LR; + uint32_t RESERVED14[248]; + __IO uint32_t MMCCR; + __IO uint32_t MMCRIR; + __IO uint32_t MMCTIR; + __IO uint32_t MMCRIMR; + __IO uint32_t MMCTIMR; + uint32_t RESERVED15[14]; + __IO uint32_t MMCTSCGPR; + __IO uint32_t MMCTMCGPR; + int32_t RESERVED16[5]; + __IO uint32_t MMCTPCGR; + uint32_t RESERVED17[10]; + __IO uint32_t MMCRCRCEPR; + __IO uint32_t MMCRAEPR; + uint32_t RESERVED18[10]; + __IO uint32_t MMCRUPGR; + uint32_t RESERVED19[9]; + __IO uint32_t MMCTLPIMSTR; + __IO uint32_t MMCTLPITCR; + __IO uint32_t MMCRLPIMSTR; + __IO uint32_t MMCRLPITCR; + uint32_t RESERVED20[65]; + __IO uint32_t MACL3L4C0R; + __IO uint32_t MACL4A0R; + uint32_t RESERVED21[2]; + __IO uint32_t MACL3A0R0R; + __IO uint32_t MACL3A1R0R; + __IO uint32_t MACL3A2R0R; + __IO uint32_t MACL3A3R0R; + uint32_t RESERVED22[4]; + __IO uint32_t MACL3L4C1R; + __IO uint32_t MACL4A1R; + uint32_t RESERVED23[2]; + __IO uint32_t MACL3A0R1R; + __IO uint32_t MACL3A1R1R; + __IO uint32_t MACL3A2R1R; + __IO uint32_t MACL3A3R1R; + uint32_t RESERVED24[108]; + __IO uint32_t MACTSCR; + __IO uint32_t MACSSIR; + __IO uint32_t MACSTSR; + __IO uint32_t MACSTNR; + __IO uint32_t MACSTSUR; + __IO uint32_t MACSTNUR; + __IO uint32_t MACTSAR; + uint32_t RESERVED25; + __IO uint32_t MACTSSR; + uint32_t RESERVED26[3]; + __IO uint32_t MACTTSSNR; + __IO uint32_t MACTTSSSR; + uint32_t RESERVED27[2]; + __IO uint32_t MACACR; + uint32_t RESERVED28; + __IO uint32_t MACATSNR; + __IO uint32_t MACATSSR; + __IO uint32_t MACTSIACR; + __IO uint32_t MACTSEACR; + __IO uint32_t MACTSICNR; + __IO uint32_t MACTSECNR; + uint32_t RESERVED29[4]; + __IO uint32_t MACPPSCR; + uint32_t RESERVED30[3]; + __IO uint32_t MACPPSTTSR; + __IO uint32_t MACPPSTTNR; + __IO uint32_t MACPPSIR; + __IO uint32_t MACPPSWR; + uint32_t RESERVED31[12]; + __IO uint32_t MACPOCR; + __IO uint32_t MACSPI0R; + __IO uint32_t MACSPI1R; + __IO uint32_t MACSPI2R; + __IO uint32_t MACLMIR; + uint32_t RESERVED32[11]; + __IO uint32_t MTLOMR; + uint32_t RESERVED33[7]; + __IO uint32_t MTLISR; + uint32_t RESERVED34[55]; + __IO uint32_t MTLTQOMR; + __IO uint32_t MTLTQUR; + __IO uint32_t MTLTQDR; + uint32_t RESERVED35[8]; + __IO uint32_t MTLQICSR; + __IO uint32_t MTLRQOMR; + __IO uint32_t MTLRQMPOCR; + __IO uint32_t MTLRQDR; + uint32_t RESERVED36[177]; + __IO uint32_t DMAMR; + __IO uint32_t DMASBMR; + __IO uint32_t DMAISR; + __IO uint32_t DMADSR; + uint32_t RESERVED37[60]; + __IO uint32_t DMACCR; + __IO uint32_t DMACTCR; + __IO uint32_t DMACRCR; + uint32_t RESERVED38[2]; + __IO uint32_t DMACTDLAR; + uint32_t RESERVED39; + __IO uint32_t DMACRDLAR; + __IO uint32_t DMACTDTPR; + uint32_t RESERVED40; + __IO uint32_t DMACRDTPR; + __IO uint32_t DMACTDRLR; + __IO uint32_t DMACRDRLR; + __IO uint32_t DMACIER; + __IO uint32_t DMACRIWTR; +__IO uint32_t DMACSFCSR; + uint32_t RESERVED41; + __IO uint32_t DMACCATDR; + uint32_t RESERVED42; + __IO uint32_t DMACCARDR; + uint32_t RESERVED43; + __IO uint32_t DMACCATBR; + uint32_t RESERVED44; + __IO uint32_t DMACCARBR; + __IO uint32_t DMACSR; +uint32_t RESERVED45[2]; +__IO uint32_t DMACMFCR; +}ETH_TypeDef; + +/** + * @brief External Interrupt/Event Controller + */ + +typedef struct +{ +__IO uint32_t RTSR1; /*!< EXTI Rising trigger selection register, Address offset: 0x00 */ +__IO uint32_t FTSR1; /*!< EXTI Falling trigger selection register, Address offset: 0x04 */ +__IO uint32_t SWIER1; /*!< EXTI Software interrupt event register, Address offset: 0x08 */ +__IO uint32_t D3PMR1; /*!< EXTI D3 Pending mask register, Address offset: 0x0C */ +__IO uint32_t D3PCR1L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x10 */ +__IO uint32_t D3PCR1H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x14 */ +uint32_t RESERVED1; /*!< Reserved, 0x18 */ +uint32_t RESERVED2; /*!< Reserved, 0x1C */ +__IO uint32_t RTSR2; /*!< EXTI Rising trigger selection register, Address offset: 0x20 */ +__IO uint32_t FTSR2; /*!< EXTI Falling trigger selection register, Address offset: 0x24 */ +__IO uint32_t SWIER2; /*!< EXTI Software interrupt event register, Address offset: 0x28 */ +__IO uint32_t D3PMR2; /*!< EXTI D3 Pending mask register, Address offset: 0x2C */ +__IO uint32_t D3PCR2L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x30 */ +__IO uint32_t D3PCR2H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x34 */ +uint32_t RESERVED3; /*!< Reserved, 0x38 */ +uint32_t RESERVED4; /*!< Reserved, 0x3C */ +__IO uint32_t RTSR3; /*!< EXTI Rising trigger selection register, Address offset: 0x40 */ +__IO uint32_t FTSR3; /*!< EXTI Falling trigger selection register, Address offset: 0x44 */ +__IO uint32_t SWIER3; /*!< EXTI Software interrupt event register, Address offset: 0x48 */ +__IO uint32_t D3PMR3; /*!< EXTI D3 Pending mask register, Address offset: 0x4C */ +__IO uint32_t D3PCR3L; /*!< EXTI D3 Pending clear selection register low, Address offset: 0x50 */ +__IO uint32_t D3PCR3H; /*!< EXTI D3 Pending clear selection register High,Address offset: 0x54 */ +}EXTI_TypeDef; + +typedef struct +{ +__IO uint32_t IMR1; /*!< EXTI Interrupt mask register, Address offset: 0x00 */ +__IO uint32_t EMR1; /*!< EXTI Event mask register, Address offset: 0x04 */ +__IO uint32_t PR1; /*!< EXTI Pending register, Address offset: 0x08 */ +uint32_t RESERVED1; /*!< Reserved, 0x0C */ +__IO uint32_t IMR2; /*!< EXTI Interrupt mask register, Address offset: 0x10 */ +__IO uint32_t EMR2; /*!< EXTI Event mask register, Address offset: 0x14 */ +__IO uint32_t PR2; /*!< EXTI Pending register, Address offset: 0x18 */ +uint32_t RESERVED2; /*!< Reserved, 0x1C */ +__IO uint32_t IMR3; /*!< EXTI Interrupt mask register, Address offset: 0x20 */ +__IO uint32_t EMR3; /*!< EXTI Event mask register, Address offset: 0x24 */ +__IO uint32_t PR3; /*!< EXTI Pending register, Address offset: 0x28 */ +}EXTI_Core_TypeDef; + + +/** + * @brief FLASH Registers + */ + +typedef struct +{ + __IO uint32_t ACR; /*!< FLASH access control register, Address offset: 0x00 */ + __IO uint32_t KEYR1; /*!< Flash Key Register for bank1, Address offset: 0x04 */ + __IO uint32_t OPTKEYR; /*!< Flash Option Key Register, Address offset: 0x08 */ + __IO uint32_t CR1; /*!< Flash Control Register for bank1, Address offset: 0x0C */ + __IO uint32_t SR1; /*!< Flash Status Register for bank1, Address offset: 0x10 */ + __IO uint32_t CCR1; /*!< Flash Control Register for bank1, Address offset: 0x14 */ + __IO uint32_t OPTCR; /*!< Flash Option Control Register, Address offset: 0x18 */ + __IO uint32_t OPTSR_CUR; /*!< Flash Option Status Current Register, Address offset: 0x1C */ + __IO uint32_t OPTSR_PRG; /*!< Flash Option Status Current Register, Address offset: 0x20 */ + __IO uint32_t OPTCCR; /*!< Flash Option Clear Control Register, Address offset: 0x24 */ + __IO uint32_t PRAR_CUR1; /*!< Flash Current Protection Address Register for bank1, Address offset: 0x28 */ + __IO uint32_t PRAR_PRG1; /*!< Flash Protection Address to Program Register for bank1, Address offset: 0x2C */ + __IO uint32_t SCAR_CUR1; /*!< Flash Current Secure Address Register for bank1, Address offset: 0x30 */ + __IO uint32_t SCAR_PRG1; /*!< Flash Secure Address Register for bank1, Address offset: 0x34 */ + __IO uint32_t WPSN_CUR1; /*!< Flash Current Write Protection Register on bank1, Address offset: 0x38 */ + __IO uint32_t WPSN_PRG1; /*!< Flash Write Protection to Program Register on bank1, Address offset: 0x3C */ + __IO uint32_t BOOT_CUR; /*!< Flash Current Boot Address for Pelican Core Register, Address offset: 0x40 */ + __IO uint32_t BOOT_PRG; /*!< Flash Boot Address to Program for Pelican Core Register, Address offset: 0x44 */ + uint32_t RESERVED0[2]; /*!< Reserved, 0x48 to 0x4C */ + __IO uint32_t CRCCR1; /*!< Flash CRC Control register For Bank1 Register , Address offset: 0x50 */ + __IO uint32_t CRCSADD1; /*!< Flash CRC Start Address Register for Bank1 , Address offset: 0x54 */ + __IO uint32_t CRCEADD1; /*!< Flash CRC End Address Register for Bank1 , Address offset: 0x58 */ + __IO uint32_t CRCDATA; /*!< Flash CRC Data Register for Bank1 , Address offset: 0x5C */ + __IO uint32_t ECC_FA1; /*!< Flash ECC Fail Address For Bank1 Register , Address offset: 0x60 */ + uint32_t RESERVED1[40]; /*!< Reserved, 0x64 to 0x100 */ + __IO uint32_t KEYR2; /*!< Flash Key Register for bank2, Address offset: 0x104 */ + uint32_t RESERVED2; /*!< Reserved, 0x108 */ + __IO uint32_t CR2; /*!< Flash Control Register for bank2, Address offset: 0x10C */ + __IO uint32_t SR2; /*!< Flash Status Register for bank2, Address offset: 0x110 */ + __IO uint32_t CCR2; /*!< Flash Status Register for bank2, Address offset: 0x114 */ + uint32_t RESERVED3[4]; /*!< Reserved, 0x118 to 0x124 */ + __IO uint32_t PRAR_CUR2; /*!< Flash Current Protection Address Register for bank2, Address offset: 0x128 */ + __IO uint32_t PRAR_PRG2; /*!< Flash Protection Address to Program Register for bank2, Address offset: 0x12C */ + __IO uint32_t SCAR_CUR2; /*!< Flash Current Secure Address Register for bank2, Address offset: 0x130 */ + __IO uint32_t SCAR_PRG2; /*!< Flash Secure Address Register for bank2, Address offset: 0x134 */ + __IO uint32_t WPSN_CUR2; /*!< Flash Current Write Protection Register on bank2, Address offset: 0x138 */ + __IO uint32_t WPSN_PRG2; /*!< Flash Write Protection to Program Register on bank2, Address offset: 0x13C */ + uint32_t RESERVED4[4]; /*!< Reserved, 0x140 to 0x14C */ + __IO uint32_t CRCCR2; /*!< Flash CRC Control register For Bank2 Register , Address offset: 0x150 */ + __IO uint32_t CRCSADD2; /*!< Flash CRC Start Address Register for Bank2 , Address offset: 0x154 */ + __IO uint32_t CRCEADD2; /*!< Flash CRC End Address Register for Bank2 , Address offset: 0x158 */ + __IO uint32_t CRCDATA2; /*!< Flash CRC Data Register for Bank2 , Address offset: 0x15C */ + __IO uint32_t ECC_FA2; /*!< Flash ECC Fail Address For Bank2 Register , Address offset: 0x160 */ +} FLASH_TypeDef; + +/** + * @brief Flexible Memory Controller + */ + +typedef struct +{ + __IO uint32_t BTCR[8]; /*!< NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR), Address offset: 0x00-1C */ +} FMC_Bank1_TypeDef; + +/** + * @brief Flexible Memory Controller Bank1E + */ + +typedef struct +{ + __IO uint32_t BWTR[7]; /*!< NOR/PSRAM write timing registers, Address offset: 0x104-0x11C */ +} FMC_Bank1E_TypeDef; + +/** + * @brief Flexible Memory Controller Bank2 + */ + +typedef struct +{ + __IO uint32_t PCR2; /*!< NAND Flash control register 2, Address offset: 0x60 */ + __IO uint32_t SR2; /*!< NAND Flash FIFO status and interrupt register 2, Address offset: 0x64 */ + __IO uint32_t PMEM2; /*!< NAND Flash Common memory space timing register 2, Address offset: 0x68 */ + __IO uint32_t PATT2; /*!< NAND Flash Attribute memory space timing register 2, Address offset: 0x6C */ + uint32_t RESERVED0; /*!< Reserved, 0x70 */ + __IO uint32_t ECCR2; /*!< NAND Flash ECC result registers 2, Address offset: 0x74 */ +} FMC_Bank2_TypeDef; + +/** + * @brief Flexible Memory Controller Bank3 + */ + +typedef struct +{ + __IO uint32_t PCR; /*!< NAND Flash control register 3, Address offset: 0x80 */ + __IO uint32_t SR; /*!< NAND Flash FIFO status and interrupt register 3, Address offset: 0x84 */ + __IO uint32_t PMEM; /*!< NAND Flash Common memory space timing register 3, Address offset: 0x88 */ + __IO uint32_t PATT; /*!< NAND Flash Attribute memory space timing register 3, Address offset: 0x8C */ + uint32_t RESERVED; /*!< Reserved, 0x90 */ + __IO uint32_t ECCR; /*!< NAND Flash ECC result registers 3, Address offset: 0x94 */ +} FMC_Bank3_TypeDef; + +/** + * @brief Flexible Memory Controller Bank5 and 6 + */ + + +typedef struct +{ + __IO uint32_t SDCR[2]; /*!< SDRAM Control registers , Address offset: 0x140-0x144 */ + __IO uint32_t SDTR[2]; /*!< SDRAM Timing registers , Address offset: 0x148-0x14C */ + __IO uint32_t SDCMR; /*!< SDRAM Command Mode register, Address offset: 0x150 */ + __IO uint32_t SDRTR; /*!< SDRAM Refresh Timer register, Address offset: 0x154 */ + __IO uint32_t SDSR; /*!< SDRAM Status register, Address offset: 0x158 */ +} FMC_Bank5_6_TypeDef; + +/** + * @brief General Purpose I/O + */ + +typedef struct +{ + __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ + __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ + __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */ + __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */ + __IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ + __IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ + __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low register, Address offset: 0x18 */ + __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, Address offset: 0x1A */ + __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ + __IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */ +} GPIO_TypeDef; + +/** + * @brief Operational Amplifier (OPAMP) + */ + +typedef struct +{ + __IO uint32_t CSR; /*!< OPAMP control/status register, Address offset: 0x00 */ + __IO uint32_t OTR; /*!< OPAMP offset trimming register for normal mode, Address offset: 0x04 */ + __IO uint32_t HSOTR; /*!< OPAMP offset trimming register for high speed mode, Address offset: 0x08 */ +} OPAMP_TypeDef; + +/** + * @brief System configuration controller + */ + +typedef struct +{ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x00 */ + __IO uint32_t PMCR; /*!< SYSCFG peripheral mode configuration register, Address offset: 0x04 */ + __IO uint32_t EXTICR[4]; /*!< SYSCFG external interrupt configuration registers, Address offset: 0x08-0x14 */ + uint32_t RESERVED2[2]; /*!< Reserved, Address offset: 0x18-0x1C */ + __IO uint32_t CCCSR; /*!< SYSCFG compensation cell control/status register, Address offset: 0x20 */ + __IO uint32_t CCVR; /*!< SYSCFG compensation cell value register, Address offset: 0x24 */ + __IO uint32_t CCCR; /*!< SYSCFG compensation cell code register, Address offset: 0x28 */ + uint32_t RESERVED3[62]; /*!< Reserved, 0x2C-0x120 */ + __IO uint32_t PKGR; /*!< SYSCFG package register, Address offset: 0x124 */ + uint32_t RESERVED4[118]; /*!< Reserved, 0x128-0x2FC */ + __IO uint32_t UR0; /*!< SYSCFG user register 0, Address offset: 0x300 */ + __IO uint32_t UR1; /*!< SYSCFG user register 1, Address offset: 0x304 */ + __IO uint32_t UR2; /*!< SYSCFG user register 2, Address offset: 0x308 */ + __IO uint32_t UR3; /*!< SYSCFG user register 3, Address offset: 0x30C */ + __IO uint32_t UR4; /*!< SYSCFG user register 4, Address offset: 0x310 */ + __IO uint32_t UR5; /*!< SYSCFG user register 5, Address offset: 0x314 */ + __IO uint32_t UR6; /*!< SYSCFG user register 6, Address offset: 0x318 */ + __IO uint32_t UR7; /*!< SYSCFG user register 7, Address offset: 0x31C */ + __IO uint32_t UR8; /*!< SYSCFG user register 8, Address offset: 0x320 */ + __IO uint32_t UR9; /*!< SYSCFG user register 9, Address offset: 0x324 */ + __IO uint32_t UR10; /*!< SYSCFG user register 10, Address offset: 0x328 */ + __IO uint32_t UR11; /*!< SYSCFG user register 11, Address offset: 0x32C */ + __IO uint32_t UR12; /*!< SYSCFG user register 12, Address offset: 0x330 */ + __IO uint32_t UR13; /*!< SYSCFG user register 13, Address offset: 0x334 */ + __IO uint32_t UR14; /*!< SYSCFG user register 14, Address offset: 0x338 */ + __IO uint32_t UR15; /*!< SYSCFG user register 15, Address offset: 0x33C */ + __IO uint32_t UR16; /*!< SYSCFG user register 16, Address offset: 0x340 */ + __IO uint32_t UR17; /*!< SYSCFG user register 17, Address offset: 0x344 */ + +} SYSCFG_TypeDef; + +/** + * @brief Inter-integrated Circuit Interface + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< I2C Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< I2C Control register 2, Address offset: 0x04 */ + __IO uint32_t OAR1; /*!< I2C Own address 1 register, Address offset: 0x08 */ + __IO uint32_t OAR2; /*!< I2C Own address 2 register, Address offset: 0x0C */ + __IO uint32_t TIMINGR; /*!< I2C Timing register, Address offset: 0x10 */ + __IO uint32_t TIMEOUTR; /*!< I2C Timeout register, Address offset: 0x14 */ + __IO uint32_t ISR; /*!< I2C Interrupt and status register, Address offset: 0x18 */ + __IO uint32_t ICR; /*!< I2C Interrupt clear register, Address offset: 0x1C */ + __IO uint32_t PECR; /*!< I2C PEC register, Address offset: 0x20 */ + __IO uint32_t RXDR; /*!< I2C Receive data register, Address offset: 0x24 */ + __IO uint32_t TXDR; /*!< I2C Transmit data register, Address offset: 0x28 */ +} I2C_TypeDef; + +/** + * @brief Independent WATCHDOG + */ + +typedef struct +{ + __IO uint32_t KR; /*!< IWDG Key register, Address offset: 0x00 */ + __IO uint32_t PR; /*!< IWDG Prescaler register, Address offset: 0x04 */ + __IO uint32_t RLR; /*!< IWDG Reload register, Address offset: 0x08 */ + __IO uint32_t SR; /*!< IWDG Status register, Address offset: 0x0C */ + __IO uint32_t WINR; /*!< IWDG Window register, Address offset: 0x10 */ +} IWDG_TypeDef; + + +/** + * @brief JPEG Codec + */ +typedef struct +{ + __IO uint32_t CONFR0; /*!< JPEG Codec Control Register (JPEG_CONFR0), Address offset: 00h */ + __IO uint32_t CONFR1; /*!< JPEG Codec Control Register (JPEG_CONFR1), Address offset: 04h */ + __IO uint32_t CONFR2; /*!< JPEG Codec Control Register (JPEG_CONFR2), Address offset: 08h */ + __IO uint32_t CONFR3; /*!< JPEG Codec Control Register (JPEG_CONFR3), Address offset: 0Ch */ + __IO uint32_t CONFR4; /*!< JPEG Codec Control Register (JPEG_CONFR4), Address offset: 10h */ + __IO uint32_t CONFR5; /*!< JPEG Codec Control Register (JPEG_CONFR5), Address offset: 14h */ + __IO uint32_t CONFR6; /*!< JPEG Codec Control Register (JPEG_CONFR6), Address offset: 18h */ + __IO uint32_t CONFR7; /*!< JPEG Codec Control Register (JPEG_CONFR7), Address offset: 1Ch */ + uint32_t Reserved20[4]; /* Reserved Address offset: 20h-2Ch */ + __IO uint32_t CR; /*!< JPEG Control Register (JPEG_CR), Address offset: 30h */ + __IO uint32_t SR; /*!< JPEG Status Register (JPEG_SR), Address offset: 34h */ + __IO uint32_t CFR; /*!< JPEG Clear Flag Register (JPEG_CFR), Address offset: 38h */ + uint32_t Reserved3c; /* Reserved Address offset: 3Ch */ + __IO uint32_t DIR; /*!< JPEG Data Input Register (JPEG_DIR), Address offset: 40h */ + __IO uint32_t DOR; /*!< JPEG Data Output Register (JPEG_DOR), Address offset: 44h */ + uint32_t Reserved48[2]; /* Reserved Address offset: 48h-4Ch */ + __IO uint32_t QMEM0[16]; /*!< JPEG quantization tables 0, Address offset: 50h-8Ch */ + __IO uint32_t QMEM1[16]; /*!< JPEG quantization tables 1, Address offset: 90h-CCh */ + __IO uint32_t QMEM2[16]; /*!< JPEG quantization tables 2, Address offset: D0h-10Ch */ + __IO uint32_t QMEM3[16]; /*!< JPEG quantization tables 3, Address offset: 110h-14Ch */ + __IO uint32_t HUFFMIN[16]; /*!< JPEG HuffMin tables, Address offset: 150h-18Ch */ + __IO uint32_t HUFFBASE[32]; /*!< JPEG HuffSymb tables, Address offset: 190h-20Ch */ + __IO uint32_t HUFFSYMB[84]; /*!< JPEG HUFFSYMB tables, Address offset: 210h-35Ch */ + __IO uint32_t DHTMEM[103]; /*!< JPEG DHTMem tables, Address offset: 360h-4F8h */ + uint32_t Reserved4FC; /* Reserved Address offset: 4FCh */ + __IO uint32_t HUFFENC_AC0[88]; /*!< JPEG encodor, AC Huffman table 0, Address offset: 500h-65Ch */ + __IO uint32_t HUFFENC_AC1[88]; /*!< JPEG encodor, AC Huffman table 1, Address offset: 660h-7BCh */ + __IO uint32_t HUFFENC_DC0[8]; /*!< JPEG encodor, DC Huffman table 0, Address offset: 7C0h-7DCh */ + __IO uint32_t HUFFENC_DC1[8]; /*!< JPEG encodor, DC Huffman table 1, Address offset: 7E0h-7FCh */ + +} JPEG_TypeDef; + + +/** + * @brief LCD-TFT Display Controller + */ + +typedef struct +{ + uint32_t RESERVED0[2]; /*!< Reserved, 0x00-0x04 */ + __IO uint32_t SSCR; /*!< LTDC Synchronization Size Configuration Register, Address offset: 0x08 */ + __IO uint32_t BPCR; /*!< LTDC Back Porch Configuration Register, Address offset: 0x0C */ + __IO uint32_t AWCR; /*!< LTDC Active Width Configuration Register, Address offset: 0x10 */ + __IO uint32_t TWCR; /*!< LTDC Total Width Configuration Register, Address offset: 0x14 */ + __IO uint32_t GCR; /*!< LTDC Global Control Register, Address offset: 0x18 */ + uint32_t RESERVED1[2]; /*!< Reserved, 0x1C-0x20 */ + __IO uint32_t SRCR; /*!< LTDC Shadow Reload Configuration Register, Address offset: 0x24 */ + uint32_t RESERVED2[1]; /*!< Reserved, 0x28 */ + __IO uint32_t BCCR; /*!< LTDC Background Color Configuration Register, Address offset: 0x2C */ + uint32_t RESERVED3[1]; /*!< Reserved, 0x30 */ + __IO uint32_t IER; /*!< LTDC Interrupt Enable Register, Address offset: 0x34 */ + __IO uint32_t ISR; /*!< LTDC Interrupt Status Register, Address offset: 0x38 */ + __IO uint32_t ICR; /*!< LTDC Interrupt Clear Register, Address offset: 0x3C */ + __IO uint32_t LIPCR; /*!< LTDC Line Interrupt Position Configuration Register, Address offset: 0x40 */ + __IO uint32_t CPSR; /*!< LTDC Current Position Status Register, Address offset: 0x44 */ + __IO uint32_t CDSR; /*!< LTDC Current Display Status Register, Address offset: 0x48 */ +} LTDC_TypeDef; + +/** + * @brief LCD-TFT Display layer x Controller + */ + +typedef struct +{ + __IO uint32_t CR; /*!< LTDC Layerx Control Register Address offset: 0x84 */ + __IO uint32_t WHPCR; /*!< LTDC Layerx Window Horizontal Position Configuration Register Address offset: 0x88 */ + __IO uint32_t WVPCR; /*!< LTDC Layerx Window Vertical Position Configuration Register Address offset: 0x8C */ + __IO uint32_t CKCR; /*!< LTDC Layerx Color Keying Configuration Register Address offset: 0x90 */ + __IO uint32_t PFCR; /*!< LTDC Layerx Pixel Format Configuration Register Address offset: 0x94 */ + __IO uint32_t CACR; /*!< LTDC Layerx Constant Alpha Configuration Register Address offset: 0x98 */ + __IO uint32_t DCCR; /*!< LTDC Layerx Default Color Configuration Register Address offset: 0x9C */ + __IO uint32_t BFCR; /*!< LTDC Layerx Blending Factors Configuration Register Address offset: 0xA0 */ + uint32_t RESERVED0[2]; /*!< Reserved */ + __IO uint32_t CFBAR; /*!< LTDC Layerx Color Frame Buffer Address Register Address offset: 0xAC */ + __IO uint32_t CFBLR; /*!< LTDC Layerx Color Frame Buffer Length Register Address offset: 0xB0 */ + __IO uint32_t CFBLNR; /*!< LTDC Layerx ColorFrame Buffer Line Number Register Address offset: 0xB4 */ + uint32_t RESERVED1[3]; /*!< Reserved */ + __IO uint32_t CLUTWR; /*!< LTDC Layerx CLUT Write Register Address offset: 0x144 */ + +} LTDC_Layer_TypeDef; + + +/** + * @brief Power Control + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< PWR power control register 1, Address offset: 0x00 */ + __IO uint32_t CSR1; /*!< PWR power control status register 1, Address offset: 0x04 */ + __IO uint32_t CR2; /*!< PWR power control register 2, Address offset: 0x08 */ + __IO uint32_t CR3; /*!< PWR power control register 3, Address offset: 0x0C */ + __IO uint32_t CPUCR; /*!< PWR CPU control register, Address offset: 0x10 */ + uint32_t RESERVED0; /*!< Reserved, Address offset: 0x14 */ + __IO uint32_t D3CR; /*!< PWR D3 domain control register, Address offset: 0x18 */ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x1C */ + __IO uint32_t WKUPCR; /*!< PWR wakeup clear register, Address offset: 0x20 */ + __IO uint32_t WKUPFR; /*!< PWR wakeup flag register, Address offset: 0x24 */ + __IO uint32_t WKUPEPR; /*!< PWR wakeup enable and polarity register, Address offset: 0x28 */ +} PWR_TypeDef; + +/** + * @brief Reset and Clock Control + */ + +typedef struct +{ + __IO uint32_t CR; /*!< RCC clock control register, Address offset: 0x00 */ + __IO uint32_t ICSCR; /*!< RCC Internal Clock Sources Calibration Register, Address offset: 0x04 */ + __IO uint32_t CRRCR; /*!< Clock Recovery RC Register, Address offset: 0x08 */ + uint32_t RESERVED0; /*!< Reserved, Address offset: 0x0C */ + __IO uint32_t CFGR; /*!< RCC clock configuration register, Address offset: 0x10 */ + uint32_t RESERVED1; /*!< Reserved, Address offset: 0x14 */ + __IO uint32_t D1CFGR; /*!< RCC Domain 1 configuration register, Address offset: 0x18 */ + __IO uint32_t D2CFGR; /*!< RCC Domain 2 configuration register, Address offset: 0x1C */ + __IO uint32_t D3CFGR; /*!< RCC Domain 3 configuration register, Address offset: 0x20 */ + uint32_t RESERVED2; /*!< Reserved, Address offset: 0x24 */ + __IO uint32_t PLLCKSELR; /*!< RCC PLLs Clock Source Selection Register, Address offset: 0x28 */ + __IO uint32_t PLLCFGR; /*!< RCC PLLs Configuration Register, Address offset: 0x2C */ + __IO uint32_t PLL1DIVR; /*!< RCC PLL1 Dividers Configuration Register, Address offset: 0x30 */ + __IO uint32_t PLL1FRACR; /*!< RCC PLL1 Fractional Divider Configuration Register, Address offset: 0x34 */ + __IO uint32_t PLL2DIVR; /*!< RCC PLL2 Dividers Configuration Register, Address offset: 0x38 */ + __IO uint32_t PLL2FRACR; /*!< RCC PLL2 Fractional Divider Configuration Register, Address offset: 0x3C */ + __IO uint32_t PLL3DIVR; /*!< RCC PLL3 Dividers Configuration Register, Address offset: 0x40 */ + __IO uint32_t PLL3FRACR; /*!< RCC PLL3 Fractional Divider Configuration Register, Address offset: 0x44 */ + uint32_t RESERVED3; /*!< Reserved, Address offset: 0x48 */ + __IO uint32_t D1CCIPR; /*!< RCC Domain 1 Kernel Clock Configuration Register Address offset: 0x4C */ + __IO uint32_t D2CCIP1R; /*!< RCC Domain 2 Kernel Clock Configuration Register Address offset: 0x50 */ + __IO uint32_t D2CCIP2R; /*!< RCC Domain 2 Kernel Clock Configuration Register Address offset: 0x54 */ + __IO uint32_t D3CCIPR; /*!< RCC Domain 3 Kernel Clock Configuration Register Address offset: 0x58 */ + uint32_t RESERVED4; /*!< Reserved, Address offset: 0x5C */ + __IO uint32_t CIER; /*!< RCC Clock Source Interrupt Enable Register Address offset: 0x60 */ + __IO uint32_t CIFR; /*!< RCC Clock Source Interrupt Flag Register Address offset: 0x64 */ + __IO uint32_t CICR; /*!< RCC Clock Source Interrupt Clear Register Address offset: 0x68 */ + uint32_t RESERVED5; /*!< Reserved, Address offset: 0x6C */ + __IO uint32_t BDCR; /*!< RCC Vswitch Backup Domain Control Register, Address offset: 0x70 */ + __IO uint32_t CSR; /*!< RCC clock control & status register, Address offset: 0x74 */ + uint32_t RESERVED6; /*!< Reserved, Address offset: 0x78 */ + __IO uint32_t AHB3RSTR; /*!< RCC AHB3 peripheral reset register, Address offset: 0x7C */ + __IO uint32_t AHB1RSTR; /*!< RCC AHB1 peripheral reset register, Address offset: 0x80 */ + __IO uint32_t AHB2RSTR; /*!< RCC AHB2 peripheral reset register, Address offset: 0x84 */ + __IO uint32_t AHB4RSTR; /*!< RCC AHB4 peripheral reset register, Address offset: 0x88 */ + __IO uint32_t APB3RSTR; /*!< RCC APB3 peripheral reset register, Address offset: 0x8C */ + __IO uint32_t APB1LRSTR; /*!< RCC APB1 peripheral reset Low Word register, Address offset: 0x90 */ + __IO uint32_t APB1HRSTR; /*!< RCC APB1 peripheral reset High Word register, Address offset: 0x94 */ + __IO uint32_t APB2RSTR; /*!< RCC APB2 peripheral reset register, Address offset: 0x98 */ + __IO uint32_t APB4RSTR; /*!< RCC APB4 peripheral reset register, Address offset: 0x9C */ + __IO uint32_t GCR; /*!< RCC RCC Global Control Register, Address offset: 0xA0 */ + uint32_t RESERVED7; /*!< Reserved, Address offset: 0xA4 */ + __IO uint32_t D3AMR; /*!< RCC Domain 3 Autonomous Mode Register, Address offset: 0xA8 */ + uint32_t RESERVED8[9]; /*!< Reserved, 0xAC-0xCC Address offset: 0xAC */ + __IO uint32_t RSR; /*!< RCC Reset status register, Address offset: 0xD0 */ + __IO uint32_t AHB3ENR; /*!< RCC AHB3 peripheral clock register, Address offset: 0xD4 */ + __IO uint32_t AHB1ENR; /*!< RCC AHB1 peripheral clock register, Address offset: 0xD8 */ + __IO uint32_t AHB2ENR; /*!< RCC AHB2 peripheral clock register, Address offset: 0xDC */ + __IO uint32_t AHB4ENR; /*!< RCC AHB4 peripheral clock register, Address offset: 0xE0 */ + __IO uint32_t APB3ENR; /*!< RCC APB3 peripheral clock register, Address offset: 0xE4 */ + __IO uint32_t APB1LENR; /*!< RCC APB1 peripheral clock Low Word register, Address offset: 0xE8 */ + __IO uint32_t APB1HENR; /*!< RCC APB1 peripheral clock High Word register, Address offset: 0xEC */ + __IO uint32_t APB2ENR; /*!< RCC APB2 peripheral clock register, Address offset: 0xF0 */ + __IO uint32_t APB4ENR; /*!< RCC APB4 peripheral clock register, Address offset: 0xF4 */ + uint32_t RESERVED9; /*!< Reserved, Address offset: 0xF8 */ + __IO uint32_t AHB3LPENR; /*!< RCC AHB3 peripheral sleep clock register, Address offset: 0xFC */ + __IO uint32_t AHB1LPENR; /*!< RCC AHB1 peripheral sleep clock register, Address offset: 0x100 */ + __IO uint32_t AHB2LPENR; /*!< RCC AHB2 peripheral sleep clock register, Address offset: 0x104 */ + __IO uint32_t AHB4LPENR; /*!< RCC AHB4 peripheral sleep clock register, Address offset: 0x108 */ + __IO uint32_t APB3LPENR; /*!< RCC APB3 peripheral sleep clock register, Address offset: 0x10C */ + __IO uint32_t APB1LLPENR; /*!< RCC APB1 peripheral sleep clock Low Word register, Address offset: 0x110 */ + __IO uint32_t APB1HLPENR; /*!< RCC APB1 peripheral sleep clock High Word register, Address offset: 0x114 */ + __IO uint32_t APB2LPENR; /*!< RCC APB2 peripheral sleep clock register, Address offset: 0x118 */ + __IO uint32_t APB4LPENR; /*!< RCC APB4 peripheral sleep clock register, Address offset: 0x11C */ + uint32_t RESERVED10[4]; /*!< Reserved, 0x120-0x12C Address offset: 0x120 */ + +} RCC_TypeDef; + + +/** + * @brief Real-Time Clock + */ + +typedef struct +{ + __IO uint32_t TR; /*!< RTC time register, Address offset: 0x00 */ + __IO uint32_t DR; /*!< RTC date register, Address offset: 0x04 */ + __IO uint32_t CR; /*!< RTC control register, Address offset: 0x08 */ + __IO uint32_t ISR; /*!< RTC initialization and status register, Address offset: 0x0C */ + __IO uint32_t PRER; /*!< RTC prescaler register, Address offset: 0x10 */ + __IO uint32_t WUTR; /*!< RTC wakeup timer register, Address offset: 0x14 */ + uint32_t reserved; /*!< Reserved */ + __IO uint32_t ALRMAR; /*!< RTC alarm A register, Address offset: 0x1C */ + __IO uint32_t ALRMBR; /*!< RTC alarm B register, Address offset: 0x20 */ + __IO uint32_t WPR; /*!< RTC write protection register, Address offset: 0x24 */ + __IO uint32_t SSR; /*!< RTC sub second register, Address offset: 0x28 */ + __IO uint32_t SHIFTR; /*!< RTC shift control register, Address offset: 0x2C */ + __IO uint32_t TSTR; /*!< RTC time stamp time register, Address offset: 0x30 */ + __IO uint32_t TSDR; /*!< RTC time stamp date register, Address offset: 0x34 */ + __IO uint32_t TSSSR; /*!< RTC time-stamp sub second register, Address offset: 0x38 */ + __IO uint32_t CALR; /*!< RTC calibration register, Address offset: 0x3C */ + __IO uint32_t TAMPCR; /*!< RTC tamper and alternate function configuration register, Address offset: 0x40 */ + __IO uint32_t ALRMASSR; /*!< RTC alarm A sub second register, Address offset: 0x44 */ + __IO uint32_t ALRMBSSR; /*!< RTC alarm B sub second register, Address offset: 0x48 */ + __IO uint32_t OR; /*!< RTC option register, Address offset: 0x4C */ + __IO uint32_t BKP0R; /*!< RTC backup register 0, Address offset: 0x50 */ + __IO uint32_t BKP1R; /*!< RTC backup register 1, Address offset: 0x54 */ + __IO uint32_t BKP2R; /*!< RTC backup register 2, Address offset: 0x58 */ + __IO uint32_t BKP3R; /*!< RTC backup register 3, Address offset: 0x5C */ + __IO uint32_t BKP4R; /*!< RTC backup register 4, Address offset: 0x60 */ + __IO uint32_t BKP5R; /*!< RTC backup register 5, Address offset: 0x64 */ + __IO uint32_t BKP6R; /*!< RTC backup register 6, Address offset: 0x68 */ + __IO uint32_t BKP7R; /*!< RTC backup register 7, Address offset: 0x6C */ + __IO uint32_t BKP8R; /*!< RTC backup register 8, Address offset: 0x70 */ + __IO uint32_t BKP9R; /*!< RTC backup register 9, Address offset: 0x74 */ + __IO uint32_t BKP10R; /*!< RTC backup register 10, Address offset: 0x78 */ + __IO uint32_t BKP11R; /*!< RTC backup register 11, Address offset: 0x7C */ + __IO uint32_t BKP12R; /*!< RTC backup register 12, Address offset: 0x80 */ + __IO uint32_t BKP13R; /*!< RTC backup register 13, Address offset: 0x84 */ + __IO uint32_t BKP14R; /*!< RTC backup register 14, Address offset: 0x88 */ + __IO uint32_t BKP15R; /*!< RTC backup register 15, Address offset: 0x8C */ + __IO uint32_t BKP16R; /*!< RTC backup register 16, Address offset: 0x90 */ + __IO uint32_t BKP17R; /*!< RTC backup register 17, Address offset: 0x94 */ + __IO uint32_t BKP18R; /*!< RTC backup register 18, Address offset: 0x98 */ + __IO uint32_t BKP19R; /*!< RTC backup register 19, Address offset: 0x9C */ + __IO uint32_t BKP20R; /*!< RTC backup register 20, Address offset: 0xA0 */ + __IO uint32_t BKP21R; /*!< RTC backup register 21, Address offset: 0xA4 */ + __IO uint32_t BKP22R; /*!< RTC backup register 22, Address offset: 0xA8 */ + __IO uint32_t BKP23R; /*!< RTC backup register 23, Address offset: 0xAC */ + __IO uint32_t BKP24R; /*!< RTC backup register 24, Address offset: 0xB0 */ + __IO uint32_t BKP25R; /*!< RTC backup register 25, Address offset: 0xB4 */ + __IO uint32_t BKP26R; /*!< RTC backup register 26, Address offset: 0xB8 */ + __IO uint32_t BKP27R; /*!< RTC backup register 27, Address offset: 0xBC */ + __IO uint32_t BKP28R; /*!< RTC backup register 28, Address offset: 0xC0 */ + __IO uint32_t BKP29R; /*!< RTC backup register 29, Address offset: 0xC4 */ + __IO uint32_t BKP30R; /*!< RTC backup register 30, Address offset: 0xC8 */ + __IO uint32_t BKP31R; /*!< RTC backup register 31, Address offset: 0xCC */ +} RTC_TypeDef; + + +/** + * @brief Serial Audio Interface + */ + +typedef struct +{ + __IO uint32_t GCR; /*!< SAI global configuration register, Address offset: 0x00 */ + uint32_t RESERVED0[16]; /*!< Reserved, 0x04 - 0x43 */ + __IO uint32_t PDMCR; /*!< SAI PDM control register, Address offset: 0x44 */ + __IO uint32_t PDMDLY; /*!< SAI PDM delay register, Address offset: 0x48 */ +} SAI_TypeDef; + +typedef struct +{ + __IO uint32_t CR1; /*!< SAI block x configuration register 1, Address offset: 0x04 */ + __IO uint32_t CR2; /*!< SAI block x configuration register 2, Address offset: 0x08 */ + __IO uint32_t FRCR; /*!< SAI block x frame configuration register, Address offset: 0x0C */ + __IO uint32_t SLOTR; /*!< SAI block x slot register, Address offset: 0x10 */ + __IO uint32_t IMR; /*!< SAI block x interrupt mask register, Address offset: 0x14 */ + __IO uint32_t SR; /*!< SAI block x status register, Address offset: 0x18 */ + __IO uint32_t CLRFR; /*!< SAI block x clear flag register, Address offset: 0x1C */ + __IO uint32_t DR; /*!< SAI block x data register, Address offset: 0x20 */ +} SAI_Block_TypeDef; + +/** + * @brief SPDIF-RX Interface + */ + +typedef struct +{ + __IO uint32_t CR; /*!< Control register, Address offset: 0x00 */ + __IO uint32_t IMR; /*!< Interrupt mask register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< Status register, Address offset: 0x08 */ + __IO uint32_t IFCR; /*!< Interrupt Flag Clear register, Address offset: 0x0C */ + __IO uint32_t DR; /*!< Data input register, Address offset: 0x10 */ + __IO uint32_t CSR; /*!< Channel Status register, Address offset: 0x14 */ + __IO uint32_t DIR; /*!< Debug Information register, Address offset: 0x18 */ + uint32_t RESERVED2; /*!< Reserved, 0x1A */ +} SPDIFRX_TypeDef; + + +/** + * @brief Secure digital input/output Interface + */ + +typedef struct +{ + __IO uint32_t POWER; /*!< SDMMC power control register, Address offset: 0x00 */ + __IO uint32_t CLKCR; /*!< SDMMC clock control register, Address offset: 0x04 */ + __IO uint32_t ARG; /*!< SDMMC argument register, Address offset: 0x08 */ + __IO uint32_t CMD; /*!< SDMMC command register, Address offset: 0x0C */ + __I uint32_t RESPCMD; /*!< SDMMC command response register, Address offset: 0x10 */ + __I uint32_t RESP1; /*!< SDMMC response 1 register, Address offset: 0x14 */ + __I uint32_t RESP2; /*!< SDMMC response 2 register, Address offset: 0x18 */ + __I uint32_t RESP3; /*!< SDMMC response 3 register, Address offset: 0x1C */ + __I uint32_t RESP4; /*!< SDMMC response 4 register, Address offset: 0x20 */ + __IO uint32_t DTIMER; /*!< SDMMC data timer register, Address offset: 0x24 */ + __IO uint32_t DLEN; /*!< SDMMC data length register, Address offset: 0x28 */ + __IO uint32_t DCTRL; /*!< SDMMC data control register, Address offset: 0x2C */ + __I uint32_t DCOUNT; /*!< SDMMC data counter register, Address offset: 0x30 */ + __I uint32_t STA; /*!< SDMMC status register, Address offset: 0x34 */ + __IO uint32_t ICR; /*!< SDMMC interrupt clear register, Address offset: 0x38 */ + __IO uint32_t MASK; /*!< SDMMC mask register, Address offset: 0x3C */ + __IO uint32_t ACKTIME; /*!< SDMMC Acknowledgement timer register, Address offset: 0x40 */ + uint32_t RESERVED0[3]; /*!< Reserved, 0x44 - 0x4C - 0x4C */ + __IO uint32_t IDMACTRL; /*!< SDMMC DMA control register, Address offset: 0x50 */ + __IO uint32_t IDMABSIZE; /*!< SDMMC DMA buffer size register, Address offset: 0x54 */ + __IO uint32_t IDMABASE0; /*!< SDMMC DMA buffer 0 base address register, Address offset: 0x58 */ + __IO uint32_t IDMABASE1; /*!< SDMMC DMA buffer 1 base address register, Address offset: 0x5C */ + uint32_t RESERVED1[8]; /*!< Reserved, 0x60-0x7C */ + __IO uint32_t FIFO; /*!< SDMMC data FIFO register, Address offset: 0x80 */ + uint32_t RESERVED2[222]; /*!< Reserved, 0x84-0x3F8 */ + __IO uint32_t IPVR; /*!< SDMMC data FIFO register, Address offset: 0x3FC */ +} SDMMC_TypeDef; + + +/** + * @brief Delay Block DLYB + */ + +typedef struct +{ + __IO uint32_t CR; /*!< DELAY BLOCK control register, Address offset: 0x00 */ + __IO uint32_t CFGR; /*!< DELAY BLOCK configuration register, Address offset: 0x04 */ +} DLYB_TypeDef; + +/** + * @brief HW Semaphore HSEM + */ + +typedef struct +{ + __IO uint32_t R[32]; /*!< 2-step write lock and read back registers, Address offset: 00h-7Ch */ + __IO uint32_t RLR[32]; /*!< 1-step read lock registers, Address offset: 80h-FCh */ + __IO uint32_t IER; /*!< HSEM Interrupt enable register , Address offset: 100h */ + __IO uint32_t ICR; /*!< HSEM Interrupt clear register , Address offset: 104h */ + __IO uint32_t ISR; /*!< HSEM Interrupt Status register , Address offset: 108h */ + __IO uint32_t MISR; /*!< HSEM Interrupt Masked Status register , Address offset: 10Ch */ + uint32_t Reserved[12]; /* Reserved Address offset: 110h-13Ch*/ + __IO uint32_t CR; /*!< HSEM Semaphore clear register , Address offset: 140h */ + __IO uint32_t KEYR; /*!< HSEM Semaphore clear key register , Address offset: 144h */ + +} HSEM_TypeDef; + +/** + * @brief Serial Peripheral Interface + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< SPI Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< SPI Control register 2, Address offset: 0x04 */ + __IO uint32_t CFG1; /*!< SPI Status register, Address offset: 0x08 */ + __IO uint32_t CFG2; /*!< SPI Status register, Address offset: 0x0C */ + __IO uint32_t IER; /*!< SPI data register, Address offset: 0x10 */ + __IO uint32_t SR; /*!< SPI data register, Address offset: 0x14 */ + __IO uint32_t IFCR; /*!< SPI data register, Address offset: 0x18 */ + uint32_t RESERVED0; /*!< SPI data register, Address offset: 0x1C */ + __IO uint32_t TXDR; /*!< SPI data register, Address offset: 0x20 */ + uint32_t RESERVED1[3]; /*!< Reserved, 0x24-0x2C */ + __IO uint32_t RXDR; /*!< SPI data register, Address offset: 0x30 */ + uint32_t RESERVED2[3]; /*!< Reserved, 0x34-0x3C */ + __IO uint32_t CRCPOLY; /*!< SPI data register, Address offset: 0x40 */ + __IO uint32_t TXCRC; /*!< SPI data register, Address offset: 0x44 */ + __IO uint32_t RXCRC; /*!< SPI data register, Address offset: 0x48 */ + __IO uint32_t UDRDR; /*!< SPI data register, Address offset: 0x4C */ + __IO uint32_t I2SCFGR; /*!< SPI data register, Address offset: 0x50 */ + +} SPI_TypeDef; + +/** + * @brief QUAD Serial Peripheral Interface + */ + +typedef struct +{ + __IO uint32_t CR; /*!< QUADSPI Control register, Address offset: 0x00 */ + __IO uint32_t DCR; /*!< QUADSPI Device Configuration register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< QUADSPI Status register, Address offset: 0x08 */ + __IO uint32_t FCR; /*!< QUADSPI Flag Clear register, Address offset: 0x0C */ + __IO uint32_t DLR; /*!< QUADSPI Data Length register, Address offset: 0x10 */ + __IO uint32_t CCR; /*!< QUADSPI Communication Configuration register, Address offset: 0x14 */ + __IO uint32_t AR; /*!< QUADSPI Address register, Address offset: 0x18 */ + __IO uint32_t ABR; /*!< QUADSPI Alternate Bytes register, Address offset: 0x1C */ + __IO uint32_t DR; /*!< QUADSPI Data register, Address offset: 0x20 */ + __IO uint32_t PSMKR; /*!< QUADSPI Polling Status Mask register, Address offset: 0x24 */ + __IO uint32_t PSMAR; /*!< QUADSPI Polling Status Match register, Address offset: 0x28 */ + __IO uint32_t PIR; /*!< QUADSPI Polling Interval register, Address offset: 0x2C */ + __IO uint32_t LPTR; /*!< QUADSPI Low Power Timeout register, Address offset: 0x30 */ +} QUADSPI_TypeDef; + + +/** + * @brief TIM + */ + +typedef struct +{ + __IO uint16_t CR1; /*!< TIM control register 1, Address offset: 0x00 */ + uint16_t RESERVED0; /*!< Reserved, 0x02 */ + __IO uint32_t CR2; /*!< TIM control register 2, Address offset: 0x04 */ + __IO uint32_t SMCR; /*!< TIM slave mode control register, Address offset: 0x08 */ + __IO uint32_t DIER; /*!< TIM DMA/interrupt enable register, Address offset: 0x0C */ + __IO uint32_t SR; /*!< TIM status register, Address offset: 0x10 */ + __IO uint32_t EGR; /*!< TIM event generation register, Address offset: 0x14 */ + __IO uint32_t CCMR1; /*!< TIM capture/compare mode register 1, Address offset: 0x18 */ + __IO uint32_t CCMR2; /*!< TIM capture/compare mode register 2, Address offset: 0x1C */ + __IO uint32_t CCER; /*!< TIM capture/compare enable register, Address offset: 0x20 */ + __IO uint32_t CNT; /*!< TIM counter register, Address offset: 0x24 */ + __IO uint16_t PSC; /*!< TIM prescaler, Address offset: 0x28 */ + uint16_t RESERVED9; /*!< Reserved, 0x2A */ + __IO uint32_t ARR; /*!< TIM auto-reload register, Address offset: 0x2C */ + __IO uint16_t RCR; /*!< TIM repetition counter register, Address offset: 0x30 */ + uint16_t RESERVED10; /*!< Reserved, 0x32 */ + __IO uint32_t CCR1; /*!< TIM capture/compare register 1, Address offset: 0x34 */ + __IO uint32_t CCR2; /*!< TIM capture/compare register 2, Address offset: 0x38 */ + __IO uint32_t CCR3; /*!< TIM capture/compare register 3, Address offset: 0x3C */ + __IO uint32_t CCR4; /*!< TIM capture/compare register 4, Address offset: 0x40 */ + __IO uint32_t BDTR; /*!< TIM break and dead-time register, Address offset: 0x44 */ + __IO uint16_t DCR; /*!< TIM DMA control register, Address offset: 0x48 */ + uint16_t RESERVED12; /*!< Reserved, 0x4A */ + __IO uint16_t DMAR; /*!< TIM DMA address for full transfer, Address offset: 0x4C */ + uint16_t RESERVED13; /*!< Reserved, 0x4E */ + uint16_t RESERVED14; /*!< Reserved, 0x50 */ + __IO uint32_t CCMR3; /*!< TIM capture/compare mode register 3, Address offset: 0x54 */ + __IO uint32_t CCR5; /*!< TIM capture/compare register5, Address offset: 0x58 */ + __IO uint32_t CCR6; /*!< TIM capture/compare register6, Address offset: 0x5C */ + __IO uint32_t AF1; /*!< TIM alternate function option register 1, Address offset: 0x60 */ + __IO uint32_t AF2; /*!< TIM alternate function option register 2, Address offset: 0x64 */ + __IO uint32_t TISEL; /*!< TIM Input Selection register, Address offset: 0x68 */ +} TIM_TypeDef; + +/** + * @brief LPTIMIMER + */ +typedef struct +{ + __IO uint32_t ISR; /*!< LPTIM Interrupt and Status register, Address offset: 0x00 */ + __IO uint32_t ICR; /*!< LPTIM Interrupt Clear register, Address offset: 0x04 */ + __IO uint32_t IER; /*!< LPTIM Interrupt Enable register, Address offset: 0x08 */ + __IO uint32_t CFGR; /*!< LPTIM Configuration register, Address offset: 0x0C */ + __IO uint32_t CR; /*!< LPTIM Control register, Address offset: 0x10 */ + __IO uint32_t CMP; /*!< LPTIM Compare register, Address offset: 0x14 */ + __IO uint32_t ARR; /*!< LPTIM Autoreload register, Address offset: 0x18 */ + __IO uint32_t CNT; /*!< LPTIM Counter register, Address offset: 0x1C */ + uint16_t RESERVED1; /*!< Reserved, 0x20 */ + __IO uint32_t CFGR2; /*!< LPTIM Option register, Address offset: 0x24 */ +} LPTIM_TypeDef; + +/** + * @brief Comparator + */ +typedef struct +{ + __IO uint32_t SR; /*!< Comparator status register, Address offset: 0x00 */ + __IO uint32_t ICFR; /*!< Comparator interrupt clear flag register, Address offset: 0x04 */ + __IO uint32_t OR; /*!< Comparator option register, Address offset: 0x08 */ +} COMPOPT_TypeDef; + +typedef struct +{ + __IO uint32_t CFGR; /*!< Comparator configuration register , Address offset: 0x00 */ +} COMP_TypeDef; + +typedef struct +{ + __IO uint32_t CFGR; /*!< COMP control and status register, used for bits common to several COMP instances, Address offset: 0x00 */ +} COMP_Common_TypeDef; +/** + * @brief Universal Synchronous Asynchronous Receiver Transmitter + */ + +typedef struct +{ + __IO uint32_t CR1; /*!< USART Control register 1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< USART Control register 2, Address offset: 0x04 */ + __IO uint32_t CR3; /*!< USART Control register 3, Address offset: 0x08 */ + __IO uint32_t BRR; /*!< USART Baud rate register, Address offset: 0x0C */ + __IO uint16_t GTPR; /*!< USART Guard time and prescaler register, Address offset: 0x10 */ + uint16_t RESERVED2; /*!< Reserved, 0x12 */ + __IO uint32_t RTOR; /*!< USART Receiver Time Out register, Address offset: 0x14 */ + __IO uint16_t RQR; /*!< USART Request register, Address offset: 0x18 */ + uint16_t RESERVED3; /*!< Reserved, 0x1A */ + __IO uint32_t ISR; /*!< USART Interrupt and status register, Address offset: 0x1C */ + __IO uint32_t ICR; /*!< USART Interrupt flag Clear register, Address offset: 0x20 */ + __IO uint16_t RDR; /*!< USART Receive Data register, Address offset: 0x24 */ + uint16_t RESERVED4; /*!< Reserved, 0x26 */ + __IO uint16_t TDR; /*!< USART Transmit Data register, Address offset: 0x28 */ + uint16_t RESERVED5; /*!< Reserved, 0x2A */ + __IO uint32_t PRESC; /*!< USART clock Prescaler register, Address offset: 0x2C */ +} USART_TypeDef; + +/** + * @brief Single Wire Protocol Master Interface SPWMI + */ +typedef struct +{ + __IO uint32_t CR; /*!< SWPMI Configuration/Control register, Address offset: 0x00 */ + __IO uint32_t BRR; /*!< SWPMI bitrate register, Address offset: 0x04 */ + uint32_t RESERVED1; /*!< Reserved, 0x08 */ + __IO uint32_t ISR; /*!< SWPMI Interrupt and Status register, Address offset: 0x0C */ + __IO uint32_t ICR; /*!< SWPMI Interrupt Flag Clear register, Address offset: 0x10 */ + __IO uint32_t IER; /*!< SWPMI Interrupt Enable register, Address offset: 0x14 */ + __IO uint32_t RFL; /*!< SWPMI Receive Frame Length register, Address offset: 0x18 */ + __IO uint32_t TDR; /*!< SWPMI Transmit data register, Address offset: 0x1C */ + __IO uint32_t RDR; /*!< SWPMI Receive data register, Address offset: 0x20 */ + __IO uint32_t OR; /*!< SWPMI Option register, Address offset: 0x24 */ +} SWPMI_TypeDef; + +/** + * @brief Window WATCHDOG + */ + +typedef struct +{ + __IO uint32_t CR; /*!< WWDG Control register, Address offset: 0x00 */ + __IO uint32_t CFR; /*!< WWDG Configuration register, Address offset: 0x04 */ + __IO uint32_t SR; /*!< WWDG Status register, Address offset: 0x08 */ +} WWDG_TypeDef; + +/** + * @brief Crypto Processor + */ + +typedef struct +{ + __IO uint32_t CR; /*!< CRYP control register, Address offset: 0x00 */ + __IO uint32_t SR; /*!< CRYP status register, Address offset: 0x04 */ + __IO uint32_t DIN; /*!< CRYP data input register, Address offset: 0x08 */ + __IO uint32_t DOUT; /*!< CRYP data output register, Address offset: 0x0C */ + __IO uint32_t DMACR; /*!< CRYP DMA control register, Address offset: 0x10 */ + __IO uint32_t IMSCR; /*!< CRYP interrupt mask set/clear register, Address offset: 0x14 */ + __IO uint32_t RISR; /*!< CRYP raw interrupt status register, Address offset: 0x18 */ + __IO uint32_t MISR; /*!< CRYP masked interrupt status register, Address offset: 0x1C */ + __IO uint32_t K0LR; /*!< CRYP key left register 0, Address offset: 0x20 */ + __IO uint32_t K0RR; /*!< CRYP key right register 0, Address offset: 0x24 */ + __IO uint32_t K1LR; /*!< CRYP key left register 1, Address offset: 0x28 */ + __IO uint32_t K1RR; /*!< CRYP key right register 1, Address offset: 0x2C */ + __IO uint32_t K2LR; /*!< CRYP key left register 2, Address offset: 0x30 */ + __IO uint32_t K2RR; /*!< CRYP key right register 2, Address offset: 0x34 */ + __IO uint32_t K3LR; /*!< CRYP key left register 3, Address offset: 0x38 */ + __IO uint32_t K3RR; /*!< CRYP key right register 3, Address offset: 0x3C */ + __IO uint32_t IV0LR; /*!< CRYP initialization vector left-word register 0, Address offset: 0x40 */ + __IO uint32_t IV0RR; /*!< CRYP initialization vector right-word register 0, Address offset: 0x44 */ + __IO uint32_t IV1LR; /*!< CRYP initialization vector left-word register 1, Address offset: 0x48 */ + __IO uint32_t IV1RR; /*!< CRYP initialization vector right-word register 1, Address offset: 0x4C */ + __IO uint32_t CSGCMCCM0R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 0, Address offset: 0x50 */ + __IO uint32_t CSGCMCCM1R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 1, Address offset: 0x54 */ + __IO uint32_t CSGCMCCM2R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 2, Address offset: 0x58 */ + __IO uint32_t CSGCMCCM3R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 3, Address offset: 0x5C */ + __IO uint32_t CSGCMCCM4R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 4, Address offset: 0x60 */ + __IO uint32_t CSGCMCCM5R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 5, Address offset: 0x64 */ + __IO uint32_t CSGCMCCM6R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 6, Address offset: 0x68 */ + __IO uint32_t CSGCMCCM7R; /*!< CRYP GCM/GMAC or CCM/CMAC context swap register 7, Address offset: 0x6C */ + __IO uint32_t CSGCM0R; /*!< CRYP GCM/GMAC context swap register 0, Address offset: 0x70 */ + __IO uint32_t CSGCM1R; /*!< CRYP GCM/GMAC context swap register 1, Address offset: 0x74 */ + __IO uint32_t CSGCM2R; /*!< CRYP GCM/GMAC context swap register 2, Address offset: 0x78 */ + __IO uint32_t CSGCM3R; /*!< CRYP GCM/GMAC context swap register 3, Address offset: 0x7C */ + __IO uint32_t CSGCM4R; /*!< CRYP GCM/GMAC context swap register 4, Address offset: 0x80 */ + __IO uint32_t CSGCM5R; /*!< CRYP GCM/GMAC context swap register 5, Address offset: 0x84 */ + __IO uint32_t CSGCM6R; /*!< CRYP GCM/GMAC context swap register 6, Address offset: 0x88 */ + __IO uint32_t CSGCM7R; /*!< CRYP GCM/GMAC context swap register 7, Address offset: 0x8C */ +} CRYP_TypeDef; + +/** + * @brief HASH + */ + +typedef struct +{ + __IO uint32_t CR; /*!< HASH control register, Address offset: 0x00 */ + __IO uint32_t DIN; /*!< HASH data input register, Address offset: 0x04 */ + __IO uint32_t STR; /*!< HASH start register, Address offset: 0x08 */ + __IO uint32_t HR[5]; /*!< HASH digest registers, Address offset: 0x0C-0x1C */ + __IO uint32_t IMR; /*!< HASH interrupt enable register, Address offset: 0x20 */ + __IO uint32_t SR; /*!< HASH status register, Address offset: 0x24 */ + uint32_t RESERVED[52]; /*!< Reserved, 0x28-0xF4 */ + __IO uint32_t CSR[54]; /*!< HASH context swap registers, Address offset: 0x0F8-0x1CC */ +} HASH_TypeDef; + +/** + * @brief HASH_DIGEST + */ + +typedef struct +{ + __IO uint32_t HR[8]; /*!< HASH digest registers, Address offset: 0x310-0x32C */ +} HASH_DIGEST_TypeDef; + +/** + * @brief High resolution Timer (HRTIM) + */ +/* HRTIM master registers definition */ +typedef struct +{ + __IO uint32_t MCR; /*!< HRTIM Master Timer control register, Address offset: 0x00 */ + __IO uint32_t MISR; /*!< HRTIM Master Timer interrupt status register, Address offset: 0x04 */ + __IO uint32_t MICR; /*!< HRTIM Master Timer interupt clear register, Address offset: 0x08 */ + __IO uint32_t MDIER; /*!< HRTIM Master Timer DMA/interrupt enable register Address offset: 0x0C */ + __IO uint32_t MCNTR; /*!< HRTIM Master Timer counter register, Address offset: 0x10 */ + __IO uint32_t MPER; /*!< HRTIM Master Timer period register, Address offset: 0x14 */ + __IO uint32_t MREP; /*!< HRTIM Master Timer repetition register, Address offset: 0x18 */ + __IO uint32_t MCMP1R; /*!< HRTIM Master Timer compare 1 register, Address offset: 0x1C */ + uint32_t RESERVED0; /*!< Reserved, 0x20 */ + __IO uint32_t MCMP2R; /*!< HRTIM Master Timer compare 2 register, Address offset: 0x24 */ + __IO uint32_t MCMP3R; /*!< HRTIM Master Timer compare 3 register, Address offset: 0x28 */ + __IO uint32_t MCMP4R; /*!< HRTIM Master Timer compare 4 register, Address offset: 0x2C */ + uint32_t RESERVED1[20]; /*!< Reserved, 0x30..0x7C */ +}HRTIM_Master_TypeDef; + +/* HRTIM Timer A to E registers definition */ +typedef struct +{ + __IO uint32_t TIMxCR; /*!< HRTIM Timerx control register, Address offset: 0x00 */ + __IO uint32_t TIMxISR; /*!< HRTIM Timerx interrupt status register, Address offset: 0x04 */ + __IO uint32_t TIMxICR; /*!< HRTIM Timerx interrupt clear register, Address offset: 0x08 */ + __IO uint32_t TIMxDIER; /*!< HRTIM Timerx DMA/interrupt enable register, Address offset: 0x0C */ + __IO uint32_t CNTxR; /*!< HRTIM Timerx counter register, Address offset: 0x10 */ + __IO uint32_t PERxR; /*!< HRTIM Timerx period register, Address offset: 0x14 */ + __IO uint32_t REPxR; /*!< HRTIM Timerx repetition register, Address offset: 0x18 */ + __IO uint32_t CMP1xR; /*!< HRTIM Timerx compare 1 register, Address offset: 0x1C */ + __IO uint32_t CMP1CxR; /*!< HRTIM Timerx compare 1 compound register, Address offset: 0x20 */ + __IO uint32_t CMP2xR; /*!< HRTIM Timerx compare 2 register, Address offset: 0x24 */ + __IO uint32_t CMP3xR; /*!< HRTIM Timerx compare 3 register, Address offset: 0x28 */ + __IO uint32_t CMP4xR; /*!< HRTIM Timerx compare 4 register, Address offset: 0x2C */ + __IO uint32_t CPT1xR; /*!< HRTIM Timerx capture 1 register, Address offset: 0x30 */ + __IO uint32_t CPT2xR; /*!< HRTIM Timerx capture 2 register, Address offset: 0x34 */ + __IO uint32_t DTxR; /*!< HRTIM Timerx dead time register, Address offset: 0x38 */ + __IO uint32_t SETx1R; /*!< HRTIM Timerx output 1 set register, Address offset: 0x3C */ + __IO uint32_t RSTx1R; /*!< HRTIM Timerx output 1 reset register, Address offset: 0x40 */ + __IO uint32_t SETx2R; /*!< HRTIM Timerx output 2 set register, Address offset: 0x44 */ + __IO uint32_t RSTx2R; /*!< HRTIM Timerx output 2 reset register, Address offset: 0x48 */ + __IO uint32_t EEFxR1; /*!< HRTIM Timerx external event filtering 1 register, Address offset: 0x4C */ + __IO uint32_t EEFxR2; /*!< HRTIM Timerx external event filtering 2 register, Address offset: 0x50 */ + __IO uint32_t RSTxR; /*!< HRTIM Timerx Reset register, Address offset: 0x54 */ + __IO uint32_t CHPxR; /*!< HRTIM Timerx Chopper register, Address offset: 0x58 */ + __IO uint32_t CPT1xCR; /*!< HRTIM Timerx Capture 1 register, Address offset: 0x5C */ + __IO uint32_t CPT2xCR; /*!< HRTIM Timerx Capture 2 register, Address offset: 0x60 */ + __IO uint32_t OUTxR; /*!< HRTIM Timerx Output register, Address offset: 0x64 */ + __IO uint32_t FLTxR; /*!< HRTIM Timerx Fault register, Address offset: 0x68 */ + uint32_t RESERVED0[5]; /*!< Reserved, 0x6C..0x7C */ +}HRTIM_Timerx_TypeDef; + +/* HRTIM common register definition */ +typedef struct +{ + __IO uint32_t CR1; /*!< HRTIM control register1, Address offset: 0x00 */ + __IO uint32_t CR2; /*!< HRTIM control register2, Address offset: 0x04 */ + __IO uint32_t ISR; /*!< HRTIM interrupt status register, Address offset: 0x08 */ + __IO uint32_t ICR; /*!< HRTIM interrupt clear register, Address offset: 0x0C */ + __IO uint32_t IER; /*!< HRTIM interrupt enable register, Address offset: 0x10 */ + __IO uint32_t OENR; /*!< HRTIM Output enable register, Address offset: 0x14 */ + __IO uint32_t ODISR; /*!< HRTIM Output disable register, Address offset: 0x18 */ + __IO uint32_t ODSR; /*!< HRTIM Output disable status register, Address offset: 0x1C */ + __IO uint32_t BMCR; /*!< HRTIM Burst mode control register, Address offset: 0x20 */ + __IO uint32_t BMTRGR; /*!< HRTIM Busrt mode trigger register, Address offset: 0x24 */ + __IO uint32_t BMCMPR; /*!< HRTIM Burst mode compare register, Address offset: 0x28 */ + __IO uint32_t BMPER; /*!< HRTIM Burst mode period register, Address offset: 0x2C */ + __IO uint32_t EECR1; /*!< HRTIM Timer external event control register1, Address offset: 0x30 */ + __IO uint32_t EECR2; /*!< HRTIM Timer external event control register2, Address offset: 0x34 */ + __IO uint32_t EECR3; /*!< HRTIM Timer external event control register3, Address offset: 0x38 */ + __IO uint32_t ADC1R; /*!< HRTIM ADC Trigger 1 register, Address offset: 0x3C */ + __IO uint32_t ADC2R; /*!< HRTIM ADC Trigger 2 register, Address offset: 0x40 */ + __IO uint32_t ADC3R; /*!< HRTIM ADC Trigger 3 register, Address offset: 0x44 */ + __IO uint32_t ADC4R; /*!< HRTIM ADC Trigger 4 register, Address offset: 0x48 */ + __IO uint32_t DLLCR; /*!< HRTIM DLL control register, Address offset: 0x4C */ + __IO uint32_t FLTINR1; /*!< HRTIM Fault input register1, Address offset: 0x50 */ + __IO uint32_t FLTINR2; /*!< HRTIM Fault input register2, Address offset: 0x54 */ + __IO uint32_t BDMUPR; /*!< HRTIM Burst DMA Master Timer update register, Address offset: 0x58 */ + __IO uint32_t BDTAUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x5C */ + __IO uint32_t BDTBUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x60 */ + __IO uint32_t BDTCUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x64 */ + __IO uint32_t BDTDUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x68 */ + __IO uint32_t BDTEUPR; /*!< HRTIM Burst DMA Timerx update register, Address offset: 0x6C */ + __IO uint32_t BDMADR; /*!< HRTIM Burst DMA Master Data register, Address offset: 0x70 */ +}HRTIM_Common_TypeDef; + +/* HRTIM register definition */ +typedef struct { + HRTIM_Master_TypeDef sMasterRegs; + HRTIM_Timerx_TypeDef sTimerxRegs[5]; + uint32_t RESERVED0[32]; + HRTIM_Common_TypeDef sCommonRegs; +}HRTIM_TypeDef; + +/** + * @brief RNG + */ + +typedef struct +{ + __IO uint32_t CR; /*!< RNG control register, Address offset: 0x00 */ + __IO uint32_t SR; /*!< RNG status register, Address offset: 0x04 */ + __IO uint32_t DR; /*!< RNG data register, Address offset: 0x08 */ +} RNG_TypeDef; + +/** + * @brief MDIOS + */ + +typedef struct +{ + __IO uint32_t CR; + __IO uint32_t WRFR; + __IO uint32_t CWRFR; + __IO uint32_t RDFR; + __IO uint32_t CRDFR; + __IO uint32_t SR; + __IO uint32_t CLRFR; + uint32_t RESERVED[57]; + __IO uint32_t DINR0; + __IO uint32_t DINR1; + __IO uint32_t DINR2; + __IO uint32_t DINR3; + __IO uint32_t DINR4; + __IO uint32_t DINR5; + __IO uint32_t DINR6; + __IO uint32_t DINR7; + __IO uint32_t DINR8; + __IO uint32_t DINR9; + __IO uint32_t DINR10; + __IO uint32_t DINR11; + __IO uint32_t DINR12; + __IO uint32_t DINR13; + __IO uint32_t DINR14; + __IO uint32_t DINR15; + __IO uint32_t DINR16; + __IO uint32_t DINR17; + __IO uint32_t DINR18; + __IO uint32_t DINR19; + __IO uint32_t DINR20; + __IO uint32_t DINR21; + __IO uint32_t DINR22; + __IO uint32_t DINR23; + __IO uint32_t DINR24; + __IO uint32_t DINR25; + __IO uint32_t DINR26; + __IO uint32_t DINR27; + __IO uint32_t DINR28; + __IO uint32_t DINR29; + __IO uint32_t DINR30; + __IO uint32_t DINR31; + __IO uint32_t DOUTR0; + __IO uint32_t DOUTR1; + __IO uint32_t DOUTR2; + __IO uint32_t DOUTR3; + __IO uint32_t DOUTR4; + __IO uint32_t DOUTR5; + __IO uint32_t DOUTR6; + __IO uint32_t DOUTR7; + __IO uint32_t DOUTR8; + __IO uint32_t DOUTR9; + __IO uint32_t DOUTR10; + __IO uint32_t DOUTR11; + __IO uint32_t DOUTR12; + __IO uint32_t DOUTR13; + __IO uint32_t DOUTR14; + __IO uint32_t DOUTR15; + __IO uint32_t DOUTR16; + __IO uint32_t DOUTR17; + __IO uint32_t DOUTR18; + __IO uint32_t DOUTR19; + __IO uint32_t DOUTR20; + __IO uint32_t DOUTR21; + __IO uint32_t DOUTR22; + __IO uint32_t DOUTR23; + __IO uint32_t DOUTR24; + __IO uint32_t DOUTR25; + __IO uint32_t DOUTR26; + __IO uint32_t DOUTR27; + __IO uint32_t DOUTR28; + __IO uint32_t DOUTR29; + __IO uint32_t DOUTR30; + __IO uint32_t DOUTR31; +} MDIOS_TypeDef; + + +/** + * @brief USB_OTG_Core_Registers + */ +typedef struct +{ + __IO uint32_t GOTGCTL; /*!< USB_OTG Control and Status Register 000h */ + __IO uint32_t GOTGINT; /*!< USB_OTG Interrupt Register 004h */ + __IO uint32_t GAHBCFG; /*!< Core AHB Configuration Register 008h */ + __IO uint32_t GUSBCFG; /*!< Core USB Configuration Register 00Ch */ + __IO uint32_t GRSTCTL; /*!< Core Reset Register 010h */ + __IO uint32_t GINTSTS; /*!< Core Interrupt Register 014h */ + __IO uint32_t GINTMSK; /*!< Core Interrupt Mask Register 018h */ + __IO uint32_t GRXSTSR; /*!< Receive Sts Q Read Register 01Ch */ + __IO uint32_t GRXSTSP; /*!< Receive Sts Q Read & POP Register 020h */ + __IO uint32_t GRXFSIZ; /*!< Receive FIFO Size Register 024h */ + __IO uint32_t DIEPTXF0_HNPTXFSIZ; /*!< EP0 / Non Periodic Tx FIFO Size Register 028h */ + __IO uint32_t HNPTXSTS; /*!< Non Periodic Tx FIFO/Queue Sts reg 02Ch */ + uint32_t Reserved30[2]; /*!< Reserved 030h */ + __IO uint32_t GCCFG; /*!< General Purpose IO Register 038h */ + __IO uint32_t CID; /*!< User ID Register 03Ch */ + __IO uint32_t GSNPSID; /* USB_OTG core ID 040h*/ + __IO uint32_t GHWCFG1; /* User HW config1 044h*/ + __IO uint32_t GHWCFG2; /* User HW config2 048h*/ + __IO uint32_t GHWCFG3; /*!< User HW config3 04Ch */ + uint32_t Reserved6; /*!< Reserved 050h */ + __IO uint32_t GLPMCFG; /*!< LPM Register 054h */ + __IO uint32_t GPWRDN; /*!< Power Down Register 058h */ + __IO uint32_t GDFIFOCFG; /*!< DFIFO Software Config Register 05Ch */ + __IO uint32_t GADPCTL; /*!< ADP Timer, Control and Status Register 60Ch */ + uint32_t Reserved43[39]; /*!< Reserved 058h-0FFh */ + __IO uint32_t HPTXFSIZ; /*!< Host Periodic Tx FIFO Size Reg 100h */ + __IO uint32_t DIEPTXF[0x0F]; /*!< dev Periodic Transmit FIFO */ +} USB_OTG_GlobalTypeDef; + + +/** + * @brief USB_OTG_device_Registers + */ +typedef struct +{ + __IO uint32_t DCFG; /*!< dev Configuration Register 800h */ + __IO uint32_t DCTL; /*!< dev Control Register 804h */ + __IO uint32_t DSTS; /*!< dev Status Register (RO) 808h */ + uint32_t Reserved0C; /*!< Reserved 80Ch */ + __IO uint32_t DIEPMSK; /*!< dev IN Endpoint Mask 810h */ + __IO uint32_t DOEPMSK; /*!< dev OUT Endpoint Mask 814h */ + __IO uint32_t DAINT; /*!< dev All Endpoints Itr Reg 818h */ + __IO uint32_t DAINTMSK; /*!< dev All Endpoints Itr Mask 81Ch */ + uint32_t Reserved20; /*!< Reserved 820h */ + uint32_t Reserved9; /*!< Reserved 824h */ + __IO uint32_t DVBUSDIS; /*!< dev VBUS discharge Register 828h */ + __IO uint32_t DVBUSPULSE; /*!< dev VBUS Pulse Register 82Ch */ + __IO uint32_t DTHRCTL; /*!< dev threshold 830h */ + __IO uint32_t DIEPEMPMSK; /*!< dev empty msk 834h */ + __IO uint32_t DEACHINT; /*!< dedicated EP interrupt 838h */ + __IO uint32_t DEACHMSK; /*!< dedicated EP msk 83Ch */ + uint32_t Reserved40; /*!< dedicated EP mask 840h */ + __IO uint32_t DINEP1MSK; /*!< dedicated EP mask 844h */ + uint32_t Reserved44[15]; /*!< Reserved 844-87Ch */ + __IO uint32_t DOUTEP1MSK; /*!< dedicated EP msk 884h */ +} USB_OTG_DeviceTypeDef; + + +/** + * @brief USB_OTG_IN_Endpoint-Specific_Register + */ +typedef struct +{ + __IO uint32_t DIEPCTL; /*!< dev IN Endpoint Control Reg 900h + (ep_num * 20h) + 00h */ + uint32_t Reserved04; /*!< Reserved 900h + (ep_num * 20h) + 04h */ + __IO uint32_t DIEPINT; /*!< dev IN Endpoint Itr Reg 900h + (ep_num * 20h) + 08h */ + uint32_t Reserved0C; /*!< Reserved 900h + (ep_num * 20h) + 0Ch */ + __IO uint32_t DIEPTSIZ; /*!< IN Endpoint Txfer Size 900h + (ep_num * 20h) + 10h */ + __IO uint32_t DIEPDMA; /*!< IN Endpoint DMA Address Reg 900h + (ep_num * 20h) + 14h */ + __IO uint32_t DTXFSTS; /*!< IN Endpoint Tx FIFO Status Reg 900h + (ep_num * 20h) + 18h */ + uint32_t Reserved18; /*!< Reserved 900h+(ep_num*20h)+1Ch-900h+ (ep_num * 20h) + 1Ch */ +} USB_OTG_INEndpointTypeDef; + + +/** + * @brief USB_OTG_OUT_Endpoint-Specific_Registers + */ +typedef struct +{ + __IO uint32_t DOEPCTL; /*!< dev OUT Endpoint Control Reg B00h + (ep_num * 20h) + 00h */ + uint32_t Reserved04; /*!< Reserved B00h + (ep_num * 20h) + 04h */ + __IO uint32_t DOEPINT; /*!< dev OUT Endpoint Itr Reg B00h + (ep_num * 20h) + 08h */ + uint32_t Reserved0C; /*!< Reserved B00h + (ep_num * 20h) + 0Ch */ + __IO uint32_t DOEPTSIZ; /*!< dev OUT Endpoint Txfer Size B00h + (ep_num * 20h) + 10h */ + __IO uint32_t DOEPDMA; /*!< dev OUT Endpoint DMA Address B00h + (ep_num * 20h) + 14h */ + uint32_t Reserved18[2]; /*!< Reserved B00h + (ep_num * 20h) + 18h - B00h + (ep_num * 20h) + 1Ch */ +} USB_OTG_OUTEndpointTypeDef; + + +/** + * @brief USB_OTG_Host_Mode_Register_Structures + */ +typedef struct +{ + __IO uint32_t HCFG; /*!< Host Configuration Register 400h */ + __IO uint32_t HFIR; /*!< Host Frame Interval Register 404h */ + __IO uint32_t HFNUM; /*!< Host Frame Nbr/Frame Remaining 408h */ + uint32_t Reserved40C; /*!< Reserved 40Ch */ + __IO uint32_t HPTXSTS; /*!< Host Periodic Tx FIFO/ Queue Status 410h */ + __IO uint32_t HAINT; /*!< Host All Channels Interrupt Register 414h */ + __IO uint32_t HAINTMSK; /*!< Host All Channels Interrupt Mask 418h */ +} USB_OTG_HostTypeDef; + +/** + * @brief USB_OTG_Host_Channel_Specific_Registers + */ +typedef struct +{ + __IO uint32_t HCCHAR; /*!< Host Channel Characteristics Register 500h */ + __IO uint32_t HCSPLT; /*!< Host Channel Split Control Register 504h */ + __IO uint32_t HCINT; /*!< Host Channel Interrupt Register 508h */ + __IO uint32_t HCINTMSK; /*!< Host Channel Interrupt Mask Register 50Ch */ + __IO uint32_t HCTSIZ; /*!< Host Channel Transfer Size Register 510h */ + __IO uint32_t HCDMA; /*!< Host Channel DMA Address Register 514h */ + uint32_t Reserved[2]; /*!< Reserved */ +} USB_OTG_HostChannelTypeDef; +/** + * @} + */ + +/** @addtogroup Peripheral_memory_map + * @{ + */ +#define D1_ITCMRAM_BASE ((uint32_t)0x00000000) /*!< Base address of : 64KB RAM reserved for CPU execution/instruction accessible over ITCM */ +#define D1_ITCMICP_BASE ((uint32_t)0x00100000) /*!< Base address of : (up to 128KB) embedded Test FLASH memory accessible over ITCM */ +#define D1_DTCMRAM_BASE ((uint32_t)0x20000000) /*!< Base address of : 128KB system data RAM accessible over DTCM */ +#define D1_AXIFLASH_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 2 MB) embedded FLASH memory accessible over AXI */ +#define D1_AXIICP_BASE ((uint32_t)0x1FF00000) /*!< Base address of : (up to 128KB) embedded Test FLASH memory accessible over AXI */ +#define D1_AXISRAM_BASE ((uint32_t)0x24000000) /*!< Base address of : (up to 512KB) system data RAM accessible over over AXI */ + +#define D2_AXISRAM_BASE ((uint32_t)0x10000000) /*!< Base address of : (up to 288KB) system data RAM accessible over over AXI */ +#define D2_AHBSRAM_BASE ((uint32_t)0x30000000) /*!< Base address of : (up to 288KB) system data RAM accessible over over AXI->AHB Bridge */ + +#define D3_BKPSRAM_BASE ((uint32_t)0x38800000) /*!< Base address of : Backup SRAM(4 KB) over AXI->AHB Bridge */ +#define D3_SRAM_BASE ((uint32_t)0x38000000) /*!< Base address of : Backup SRAM(64 KB) over AXI->AHB Bridge */ + +#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Base address of : AHB/ABP Peripherals */ +#define QSPI_BASE ((uint32_t)0x90000000) /*!< Base address of : QSPI memories accessible over AXI */ + +#define FLASH_BANK1_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 1 MB) Flash Bank1 accessible over AXI */ +#define FLASH_BANK2_BASE ((uint32_t)0x08100000) /*!< Base address of : (up to 1 MB) Flash Bank2 accessible over AXI */ +#define FLASH_END ((uint32_t)0x081FFFFF) /*!< FLASH end address */ + +#define FLASH_OTP_BANK1_BASE ((uint32_t)0x1FF00000) /*!< Base address of : (up to 128KB) embedded FLASH Bank1 OTP Area */ +#define FLASH_OTP_BANK1_END ((uint32_t)0x1FF1FFFF) /*!< End address of : (up to 128KB) embedded FLASH Bank1 OTP Area */ +#define FLASH_OTP_BANK2_BASE ((uint32_t)0x1FF40000) /*!< Base address of : (up to 128KB) embedded FLASH Bank2 OTP Area */ +#define FLASH_OTP_BANK2_END ((uint32_t)0x1FF5FFFF) /*!< End address of : (up to 128KB) embedded FLASH Bank2 OTP Area */ + +/* Legacy define */ +#define FLASH_BASE FLASH_BANK1_BASE + + +/*!< Peripheral memory map */ +#define D2_APB1PERIPH_BASE PERIPH_BASE +#define D2_APB2PERIPH_BASE (PERIPH_BASE + 0x00010000) +#define D2_AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000) +#define D2_AHB2PERIPH_BASE (PERIPH_BASE + 0x08020000) + +#define D1_APB1PERIPH_BASE (PERIPH_BASE + 0x10000000) +#define D1_AHB1PERIPH_BASE (PERIPH_BASE + 0x12000000) + +#define D3_APB1PERIPH_BASE (PERIPH_BASE + 0x18000000) +#define D3_AHB1PERIPH_BASE (PERIPH_BASE + 0x18020000) + +/*!< Legacy Peripheral memory map */ +#define APB1PERIPH_BASE PERIPH_BASE +#define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000) +#define AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000) +#define AHB2PERIPH_BASE (PERIPH_BASE + 0x08000000) + +/*!< D1_AHB1PERIPH peripherals */ + +#define MDMA_BASE (D1_AHB1PERIPH_BASE + 0x0000) +#define DMA2D_BASE (D1_AHB1PERIPH_BASE + 0x1000) +#define JPGDEC_BASE (D1_AHB1PERIPH_BASE + 0x3000) +#define FLASH_R_BASE (D1_AHB1PERIPH_BASE + 0x2000) +#define FMC_R_BASE (D1_AHB1PERIPH_BASE + 0x4000) +#define QSPI_R_BASE (D1_AHB1PERIPH_BASE + 0x5000) +#define DLYB_QSPI_BASE (D1_AHB1PERIPH_BASE + 0x6000) +#define SDMMC1_BASE (D1_AHB1PERIPH_BASE + 0x7000) +#define DLYB_SDMMC1_BASE (D1_AHB1PERIPH_BASE + 0x8000) + +/*!< D2_AHB1PERIPH peripherals */ + +#define DMA1_BASE (D2_AHB1PERIPH_BASE + 0x0000) +#define DMA2_BASE (D2_AHB1PERIPH_BASE + 0x0400) +#define DMAMUX1_BASE (D2_AHB1PERIPH_BASE + 0x0800) +#define ADC1_BASE (D2_AHB1PERIPH_BASE + 0x2000) +#define ADC2_BASE (D2_AHB1PERIPH_BASE + 0x2100) +#define ADC12_COMMON_BASE (D2_AHB1PERIPH_BASE + 0x2300) +#define ART_BASE (D2_AHB1PERIPH_BASE + 0x4400) +#define ETH_BASE (D2_AHB1PERIPH_BASE + 0x8000) +#define ETH_MAC_BASE (ETH_BASE) + +/*!< USB registers base address */ +#define USB1_OTG_HS_PERIPH_BASE ((uint32_t )0x40040000) +#define USB2_OTG_FS_PERIPH_BASE ((uint32_t )0x40080000) +#define USB_OTG_GLOBAL_BASE ((uint32_t )0x000) +#define USB_OTG_DEVICE_BASE ((uint32_t )0x800) +#define USB_OTG_IN_ENDPOINT_BASE ((uint32_t )0x900) +#define USB_OTG_OUT_ENDPOINT_BASE ((uint32_t )0xB00) +#define USB_OTG_EP_REG_SIZE ((uint32_t )0x20) +#define USB_OTG_HOST_BASE ((uint32_t )0x400) +#define USB_OTG_HOST_PORT_BASE ((uint32_t )0x440) +#define USB_OTG_HOST_CHANNEL_BASE ((uint32_t )0x500) +#define USB_OTG_HOST_CHANNEL_SIZE ((uint32_t )0x20) +#define USB_OTG_PCGCCTL_BASE ((uint32_t )0xE00) +#define USB_OTG_FIFO_BASE ((uint32_t )0x1000) +#define USB_OTG_FIFO_SIZE ((uint32_t )0x1000) + +/*!< D2_AHB2PERIPH peripherals */ + +#define DCMI_BASE (D2_AHB2PERIPH_BASE + 0x0000) +#define CRYP_BASE (D2_AHB2PERIPH_BASE + 0x1000) +#define HASH_BASE (D2_AHB2PERIPH_BASE + 0x1400) +#define HASH_DIGEST_BASE (D2_AHB2PERIPH_BASE + 0x1710) +#define RNG_BASE (D2_AHB2PERIPH_BASE + 0x1800) +#define SDMMC2_BASE (D2_AHB2PERIPH_BASE + 0x2400) +#define DLYB_SDMMC2_BASE (D2_AHB2PERIPH_BASE + 0x2800) + + +/*!< D3_AHB1PERIPH peripherals */ +#define GPIOA_BASE (D3_AHB1PERIPH_BASE + 0x0000) +#define GPIOB_BASE (D3_AHB1PERIPH_BASE + 0x0400) +#define GPIOC_BASE (D3_AHB1PERIPH_BASE + 0x0800) +#define GPIOD_BASE (D3_AHB1PERIPH_BASE + 0x0C00) +#define GPIOE_BASE (D3_AHB1PERIPH_BASE + 0x1000) +#define GPIOF_BASE (D3_AHB1PERIPH_BASE + 0x1400) +#define GPIOG_BASE (D3_AHB1PERIPH_BASE + 0x1800) +#define GPIOH_BASE (D3_AHB1PERIPH_BASE + 0x1C00) +#define GPIOI_BASE (D3_AHB1PERIPH_BASE + 0x2000) +#define GPIOJ_BASE (D3_AHB1PERIPH_BASE + 0x2400) +#define GPIOK_BASE (D3_AHB1PERIPH_BASE + 0x2800) +#define RCC_BASE (D3_AHB1PERIPH_BASE + 0x4400) +#define RCC_C1_BASE (RCC_BASE + 0x130) +#define PWR_BASE (D3_AHB1PERIPH_BASE + 0x4800) +#define CRC_BASE (D3_AHB1PERIPH_BASE + 0x4C00) +#define BDMA_BASE (D3_AHB1PERIPH_BASE + 0x5400) +#define DMAMUX2_BASE (D3_AHB1PERIPH_BASE + 0x5800) +#define ADC3_BASE (D3_AHB1PERIPH_BASE + 0x6000) +#define ADC3_COMMON_BASE (D3_AHB1PERIPH_BASE + 0x6300) +#define HSEM_BASE (D3_AHB1PERIPH_BASE + 0x6400) + +/*!< D1_APB1PERIPH peripherals */ +#define LTDC_BASE (D1_APB1PERIPH_BASE + 0x1000) +#define LTDC_Layer1_BASE (LTDC_BASE + 0x84) +#define LTDC_Layer2_BASE (LTDC_BASE + 0x104) +#define WWDG1_BASE (D1_APB1PERIPH_BASE + 0x3000) + +/*!< D2_APB1PERIPH peripherals */ +#define TIM2_BASE (D2_APB1PERIPH_BASE + 0x0000) +#define TIM3_BASE (D2_APB1PERIPH_BASE + 0x0400) +#define TIM4_BASE (D2_APB1PERIPH_BASE + 0x0800) +#define TIM5_BASE (D2_APB1PERIPH_BASE + 0x0C00) +#define TIM6_BASE (D2_APB1PERIPH_BASE + 0x1000) +#define TIM7_BASE (D2_APB1PERIPH_BASE + 0x1400) +#define TIM12_BASE (D2_APB1PERIPH_BASE + 0x1800) +#define TIM13_BASE (D2_APB1PERIPH_BASE + 0x1C00) +#define TIM14_BASE (D2_APB1PERIPH_BASE + 0x2000) +#define LPTIM1_BASE (D2_APB1PERIPH_BASE + 0x2400) + + +#define SPI2_BASE (D2_APB1PERIPH_BASE + 0x3800) +#define SPI3_BASE (D2_APB1PERIPH_BASE + 0x3C00) +#define SPDIFRX_BASE (D2_APB1PERIPH_BASE + 0x4000) +#define USART2_BASE (D2_APB1PERIPH_BASE + 0x4400) +#define USART3_BASE (D2_APB1PERIPH_BASE + 0x4800) +#define UART4_BASE (D2_APB1PERIPH_BASE + 0x4C00) +#define UART5_BASE (D2_APB1PERIPH_BASE + 0x5000) +#define I2C1_BASE (D2_APB1PERIPH_BASE + 0x5400) +#define I2C2_BASE (D2_APB1PERIPH_BASE + 0x5800) +#define I2C3_BASE (D2_APB1PERIPH_BASE + 0x5C00) +#define CEC_BASE (D2_APB1PERIPH_BASE + 0x6C00) +#define DAC1_BASE (D2_APB1PERIPH_BASE + 0x7400) +#define UART7_BASE (D2_APB1PERIPH_BASE + 0x7800) +#define UART8_BASE (D2_APB1PERIPH_BASE + 0x7C00) +#define CRS_BASE (D2_APB1PERIPH_BASE + 0x8400) +#define SWPMI1_BASE (D2_APB1PERIPH_BASE + 0x8800) +#define OPAMP_BASE (D2_APB1PERIPH_BASE + 0x9000) +#define OPAMP1_BASE (D2_APB1PERIPH_BASE + 0x9000) +#define OPAMP2_BASE (D2_APB1PERIPH_BASE + 0x9010) +#define MDIOS_BASE (D2_APB1PERIPH_BASE + 0x9400) +#define FDCAN1_BASE (D2_APB1PERIPH_BASE + 0xA000) +#define FDCAN2_BASE (D2_APB1PERIPH_BASE + 0xA400) +#define FDCAN_CCU_BASE (D2_APB1PERIPH_BASE + 0xA800) +#define SRAMCAN_BASE (D2_APB1PERIPH_BASE + 0xAC00) + +/*!< D2_APB2PERIPH peripherals */ + +#define TIM1_BASE (D2_APB2PERIPH_BASE + 0x0000) +#define TIM8_BASE (D2_APB2PERIPH_BASE + 0x0400) +#define USART1_BASE (D2_APB2PERIPH_BASE + 0x1000) +#define USART6_BASE (D2_APB2PERIPH_BASE + 0x1400) +#define SPI1_BASE (D2_APB2PERIPH_BASE + 0x3000) +#define SPI4_BASE (D2_APB2PERIPH_BASE + 0x3400) +#define TIM15_BASE (D2_APB2PERIPH_BASE + 0x4000) +#define TIM16_BASE (D2_APB2PERIPH_BASE + 0x4400) +#define TIM17_BASE (D2_APB2PERIPH_BASE + 0x4800) +#define SPI5_BASE (D2_APB2PERIPH_BASE + 0x5000) +#define SAI1_BASE (D2_APB2PERIPH_BASE + 0x5800) +#define SAI1_Block_A_BASE (SAI1_BASE + 0x004) +#define SAI1_Block_B_BASE (SAI1_BASE + 0x024) +#define SAI2_BASE (D2_APB2PERIPH_BASE + 0x5C00) +#define SAI2_Block_A_BASE (SAI2_BASE + 0x004) +#define SAI2_Block_B_BASE (SAI2_BASE + 0x024) +#define SAI3_BASE (D2_APB2PERIPH_BASE + 0x6000) +#define SAI3_Block_A_BASE (SAI3_BASE + 0x004) +#define SAI3_Block_B_BASE (SAI3_BASE + 0x024) +#define DFSDM1_BASE (D2_APB2PERIPH_BASE + 0x7000) +#define DFSDM1_Channel0_BASE (DFSDM1_BASE + 0x00) +#define DFSDM1_Channel1_BASE (DFSDM1_BASE + 0x20) +#define DFSDM1_Channel2_BASE (DFSDM1_BASE + 0x40) +#define DFSDM1_Channel3_BASE (DFSDM1_BASE + 0x60) +#define DFSDM1_Channel4_BASE (DFSDM1_BASE + 0x80) +#define DFSDM1_Channel5_BASE (DFSDM1_BASE + 0xA0) +#define DFSDM1_Channel6_BASE (DFSDM1_BASE + 0xC0) +#define DFSDM1_Channel7_BASE (DFSDM1_BASE + 0xE0) +#define DFSDM1_Filter0_BASE (DFSDM1_BASE + 0x100) +#define DFSDM1_Filter1_BASE (DFSDM1_BASE + 0x180) +#define DFSDM1_Filter2_BASE (DFSDM1_BASE + 0x200) +#define DFSDM1_Filter3_BASE (DFSDM1_BASE + 0x280) +#define HRTIM1_BASE (D2_APB2PERIPH_BASE + 0x7400) +#define HRTIM1_TIMA_BASE (HRTIM1_BASE + 0x00000080) +#define HRTIM1_TIMB_BASE (HRTIM1_BASE + 0x00000100) +#define HRTIM1_TIMC_BASE (HRTIM1_BASE + 0x00000180) +#define HRTIM1_TIMD_BASE (HRTIM1_BASE + 0x00000200) +#define HRTIM1_TIME_BASE (HRTIM1_BASE + 0x00000280) +#define HRTIM1_COMMON_BASE (HRTIM1_BASE + 0x00000380) + + +/*!< D3_APB1PERIPH peripherals */ +#define EXTI_BASE (D3_APB1PERIPH_BASE + 0x0000) +#define EXTI_D1_BASE (EXTI_BASE + 0x0080) +#define EXTI_D2_BASE (EXTI_BASE + 0x00C0) +#define SYSCFG_BASE (D3_APB1PERIPH_BASE + 0x0400) +#define LPUART1_BASE (D3_APB1PERIPH_BASE + 0x0C00) +#define SPI6_BASE (D3_APB1PERIPH_BASE + 0x1400) +#define I2C4_BASE (D3_APB1PERIPH_BASE + 0x1C00) +#define LPTIM2_BASE (D3_APB1PERIPH_BASE + 0x2400) +#define LPTIM3_BASE (D3_APB1PERIPH_BASE + 0x2800) +#define LPTIM4_BASE (D3_APB1PERIPH_BASE + 0x2C00) +#define LPTIM5_BASE (D3_APB1PERIPH_BASE + 0x3000) +#define COMP12_BASE (D3_APB1PERIPH_BASE + 0x3800) +#define COMP1_BASE (COMP12_BASE + 0x0C) +#define COMP2_BASE (COMP12_BASE + 0x10) +#define VREFBUF_BASE (D3_APB1PERIPH_BASE + 0x3C00) +#define RTC_BASE (D3_APB1PERIPH_BASE + 0x4000) +#define IWDG1_BASE (D3_APB1PERIPH_BASE + 0x4800) + + +#define SAI4_BASE (D3_APB1PERIPH_BASE + 0x5400) +#define SAI4_Block_A_BASE (SAI4_BASE + 0x004) +#define SAI4_Block_B_BASE (SAI4_BASE + 0x024) + + +#define BDMA_Channel0_BASE (BDMA_BASE + 0x0008) +#define BDMA_Channel1_BASE (BDMA_BASE + 0x001C) +#define BDMA_Channel2_BASE (BDMA_BASE + 0x0030) +#define BDMA_Channel3_BASE (BDMA_BASE + 0x0044) +#define BDMA_Channel4_BASE (BDMA_BASE + 0x0058) +#define BDMA_Channel5_BASE (BDMA_BASE + 0x006C) +#define BDMA_Channel6_BASE (BDMA_BASE + 0x0080) +#define BDMA_Channel7_BASE (BDMA_BASE + 0x0094) + +#define DMAMUX2_Channel0_BASE (DMAMUX2_BASE) +#define DMAMUX2_Channel1_BASE (DMAMUX2_BASE + 0x0004) +#define DMAMUX2_Channel2_BASE (DMAMUX2_BASE + 0x0008) +#define DMAMUX2_Channel3_BASE (DMAMUX2_BASE + 0x000C) +#define DMAMUX2_Channel4_BASE (DMAMUX2_BASE + 0x0010) +#define DMAMUX2_Channel5_BASE (DMAMUX2_BASE + 0x0014) +#define DMAMUX2_Channel6_BASE (DMAMUX2_BASE + 0x0018) +#define DMAMUX2_Channel7_BASE (DMAMUX2_BASE + 0x001C) + +#define DMAMUX2_RequestGenerator0_BASE (DMAMUX2_BASE + 0x0100) +#define DMAMUX2_RequestGenerator1_BASE (DMAMUX2_BASE + 0x0104) +#define DMAMUX2_RequestGenerator2_BASE (DMAMUX2_BASE + 0x0108) +#define DMAMUX2_RequestGenerator3_BASE (DMAMUX2_BASE + 0x010C) +#define DMAMUX2_RequestGenerator4_BASE (DMAMUX2_BASE + 0x0110) +#define DMAMUX2_RequestGenerator5_BASE (DMAMUX2_BASE + 0x0114) +#define DMAMUX2_RequestGenerator6_BASE (DMAMUX2_BASE + 0x0118) +#define DMAMUX2_RequestGenerator7_BASE (DMAMUX2_BASE + 0x011C) + +#define DMAMUX2_ChannelStatus_BASE (DMAMUX2_BASE + 0x0080) +#define DMAMUX2_RequestGenStatus_BASE (DMAMUX2_BASE + 0x0140) + +#define DMA1_Stream0_BASE (DMA1_BASE + 0x010) +#define DMA1_Stream1_BASE (DMA1_BASE + 0x028) +#define DMA1_Stream2_BASE (DMA1_BASE + 0x040) +#define DMA1_Stream3_BASE (DMA1_BASE + 0x058) +#define DMA1_Stream4_BASE (DMA1_BASE + 0x070) +#define DMA1_Stream5_BASE (DMA1_BASE + 0x088) +#define DMA1_Stream6_BASE (DMA1_BASE + 0x0A0) +#define DMA1_Stream7_BASE (DMA1_BASE + 0x0B8) + +#define DMA2_Stream0_BASE (DMA2_BASE + 0x010) +#define DMA2_Stream1_BASE (DMA2_BASE + 0x028) +#define DMA2_Stream2_BASE (DMA2_BASE + 0x040) +#define DMA2_Stream3_BASE (DMA2_BASE + 0x058) +#define DMA2_Stream4_BASE (DMA2_BASE + 0x070) +#define DMA2_Stream5_BASE (DMA2_BASE + 0x088) +#define DMA2_Stream6_BASE (DMA2_BASE + 0x0A0) +#define DMA2_Stream7_BASE (DMA2_BASE + 0x0B8) + +#define DMAMUX1_Channel0_BASE (DMAMUX1_BASE) +#define DMAMUX1_Channel1_BASE (DMAMUX1_BASE + 0x0004) +#define DMAMUX1_Channel2_BASE (DMAMUX1_BASE + 0x0008) +#define DMAMUX1_Channel3_BASE (DMAMUX1_BASE + 0x000C) +#define DMAMUX1_Channel4_BASE (DMAMUX1_BASE + 0x0010) +#define DMAMUX1_Channel5_BASE (DMAMUX1_BASE + 0x0014) +#define DMAMUX1_Channel6_BASE (DMAMUX1_BASE + 0x0018) +#define DMAMUX1_Channel7_BASE (DMAMUX1_BASE + 0x001C) +#define DMAMUX1_Channel8_BASE (DMAMUX1_BASE + 0x0020) +#define DMAMUX1_Channel9_BASE (DMAMUX1_BASE + 0x0024) +#define DMAMUX1_Channel10_BASE (DMAMUX1_BASE + 0x0028) +#define DMAMUX1_Channel11_BASE (DMAMUX1_BASE + 0x002C) +#define DMAMUX1_Channel12_BASE (DMAMUX1_BASE + 0x0030) +#define DMAMUX1_Channel13_BASE (DMAMUX1_BASE + 0x0034) +#define DMAMUX1_Channel14_BASE (DMAMUX1_BASE + 0x0038) +#define DMAMUX1_Channel15_BASE (DMAMUX1_BASE + 0x003C) + +#define DMAMUX1_RequestGenerator0_BASE (DMAMUX1_BASE + 0x0100) +#define DMAMUX1_RequestGenerator1_BASE (DMAMUX1_BASE + 0x0104) +#define DMAMUX1_RequestGenerator2_BASE (DMAMUX1_BASE + 0x0108) +#define DMAMUX1_RequestGenerator3_BASE (DMAMUX1_BASE + 0x010C) +#define DMAMUX1_RequestGenerator4_BASE (DMAMUX1_BASE + 0x0110) +#define DMAMUX1_RequestGenerator5_BASE (DMAMUX1_BASE + 0x0114) +#define DMAMUX1_RequestGenerator6_BASE (DMAMUX1_BASE + 0x0118) +#define DMAMUX1_RequestGenerator7_BASE (DMAMUX1_BASE + 0x011C) + +#define DMAMUX1_ChannelStatus_BASE (DMAMUX1_BASE + 0x0080) +#define DMAMUX1_RequestGenStatus_BASE (DMAMUX1_BASE + 0x0140) + + + +/*!< FMC Banks registers base address */ +#define FMC_Bank1_R_BASE (FMC_R_BASE + 0x0000) +#define FMC_Bank1E_R_BASE (FMC_R_BASE + 0x0104) +#define FMC_Bank2_R_BASE (FMC_R_BASE + 0x0060) +#define FMC_Bank3_R_BASE (FMC_R_BASE + 0x0080) +#define FMC_Bank5_6_R_BASE (FMC_R_BASE + 0x0140) + +/* Debug MCU registers base address */ +#define DBGMCU_BASE ((uint32_t )0x5C001000) + +#define MDMA_Channel0_BASE (MDMA_BASE + 0x00000040) +#define MDMA_Channel1_BASE (MDMA_BASE + 0x00000080) +#define MDMA_Channel2_BASE (MDMA_BASE + 0x000000C0) +#define MDMA_Channel3_BASE (MDMA_BASE + 0x00000100) +#define MDMA_Channel4_BASE (MDMA_BASE + 0x00000140) +#define MDMA_Channel5_BASE (MDMA_BASE + 0x00000180) +#define MDMA_Channel6_BASE (MDMA_BASE + 0x000001C0) +#define MDMA_Channel7_BASE (MDMA_BASE + 0x00000200) +#define MDMA_Channel8_BASE (MDMA_BASE + 0x00000240) +#define MDMA_Channel9_BASE (MDMA_BASE + 0x00000280) +#define MDMA_Channel10_BASE (MDMA_BASE + 0x000002C0) +#define MDMA_Channel11_BASE (MDMA_BASE + 0x00000300) +#define MDMA_Channel12_BASE (MDMA_BASE + 0x00000340) +#define MDMA_Channel13_BASE (MDMA_BASE + 0x00000380) +#define MDMA_Channel14_BASE (MDMA_BASE + 0x000003C0) +#define MDMA_Channel15_BASE (MDMA_BASE + 0x00000400) + + +/** + * @} + */ + +/** @addtogroup Peripheral_declaration + * @{ + */ +#define TIM2 ((TIM_TypeDef *) TIM2_BASE) +#define TIM3 ((TIM_TypeDef *) TIM3_BASE) +#define TIM4 ((TIM_TypeDef *) TIM4_BASE) +#define TIM5 ((TIM_TypeDef *) TIM5_BASE) +#define TIM6 ((TIM_TypeDef *) TIM6_BASE) +#define TIM7 ((TIM_TypeDef *) TIM7_BASE) +#define TIM13 ((TIM_TypeDef *) TIM13_BASE) +#define TIM14 ((TIM_TypeDef *) TIM14_BASE) +#define VREFBUF ((VREFBUF_TypeDef *) VREFBUF_BASE) +#define RTC ((RTC_TypeDef *) RTC_BASE) +#define WWDG1 ((WWDG_TypeDef *) WWDG1_BASE) +#define IWDG1 ((IWDG_TypeDef *) IWDG1_BASE) +#define SPI2 ((SPI_TypeDef *) SPI2_BASE) +#define SPI3 ((SPI_TypeDef *) SPI3_BASE) +#define SPI4 ((SPI_TypeDef *) SPI4_BASE) +#define SPI5 ((SPI_TypeDef *) SPI5_BASE) +#define SPI6 ((SPI_TypeDef *) SPI6_BASE) +#define USART2 ((USART_TypeDef *) USART2_BASE) +#define USART3 ((USART_TypeDef *) USART3_BASE) +#define USART6 ((USART_TypeDef *) USART6_BASE) +#define UART7 ((USART_TypeDef *) UART7_BASE) +#define UART8 ((USART_TypeDef *) UART8_BASE) +#define CRS ((CRS_TypeDef *) CRS_BASE) +#define UART4 ((USART_TypeDef *) UART4_BASE) +#define UART5 ((USART_TypeDef *) UART5_BASE) +#define I2C1 ((I2C_TypeDef *) I2C1_BASE) +#define I2C2 ((I2C_TypeDef *) I2C2_BASE) +#define I2C3 ((I2C_TypeDef *) I2C3_BASE) +#define I2C4 ((I2C_TypeDef *) I2C4_BASE) +#define FDCAN1 ((FDCAN_GlobalTypeDef *) FDCAN1_BASE) +#define FDCAN2 ((FDCAN_GlobalTypeDef *) FDCAN2_BASE) +#define FDCAN_CCU ((FDCAN_ClockCalibrationUnit_TypeDef *) FDCAN_CCU_BASE) +#define CEC ((CEC_TypeDef *) CEC_BASE) +#define LPTIM1 ((LPTIM_TypeDef *) LPTIM1_BASE) +#define PWR ((PWR_TypeDef *) PWR_BASE) +#define DAC1 ((DAC_TypeDef *) DAC1_BASE) +#define LPUART1 ((USART_TypeDef *) LPUART1_BASE) +#define SWPMI1 ((SWPMI_TypeDef *) SWPMI1_BASE) +#define LPTIM2 ((LPTIM_TypeDef *) LPTIM2_BASE) +#define LPTIM3 ((LPTIM_TypeDef *) LPTIM3_BASE) +#define LPTIM4 ((LPTIM_TypeDef *) LPTIM4_BASE) +#define LPTIM5 ((LPTIM_TypeDef *) LPTIM5_BASE) +#define SYSCFG ((SYSCFG_TypeDef *) SYSCFG_BASE) +#define COMP12 ((COMPOPT_TypeDef *) COMP12_BASE) +#define COMP1 ((COMP_TypeDef *) COMP1_BASE) +#define COMP2 ((COMP_TypeDef *) COMP2_BASE) +#define COMP12_COMMON ((COMP_Common_TypeDef *) COMP2_BASE) +#define OPAMP ((OPAMP_TypeDef *) OPAMP_BASE) +#define OPAMP1 ((OPAMP_TypeDef *) OPAMP1_BASE) +#define OPAMP2 ((OPAMP_TypeDef *) OPAMP2_BASE) + + +#define EXTI ((EXTI_TypeDef *) EXTI_BASE) +#define EXTI_D1 ((EXTI_Core_TypeDef *) EXTI_D1_BASE) +#define EXTI_D2 ((EXTI_Core_TypeDef *) EXTI_D2_BASE) +#define SDMMC ((SDMMC_TypeDef *) SDMMC_BASE) +#define TIM1 ((TIM_TypeDef *) TIM1_BASE) +#define SPI1 ((SPI_TypeDef *) SPI1_BASE) +#define TIM8 ((TIM_TypeDef *) TIM8_BASE) +#define USART1 ((USART_TypeDef *) USART1_BASE) +#define TIM12 ((TIM_TypeDef *) TIM12_BASE) +#define TIM15 ((TIM_TypeDef *) TIM15_BASE) +#define TIM16 ((TIM_TypeDef *) TIM16_BASE) +#define TIM17 ((TIM_TypeDef *) TIM17_BASE) +#define HRTIM1 ((HRTIM_TypeDef *) HRTIM1_BASE) +#define HRTIM1_TIMA ((HRTIM_TIM_TypeDef *) HRTIM1_TIMA_BASE) +#define HRTIM1_TIMB ((HRTIM_TIM_TypeDef *) HRTIM1_TIMB_BASE) +#define HRTIM1_TIMC ((HRTIM_TIM_TypeDef *) HRTIM1_TIMC_BASE) +#define HRTIM1_TIMD ((HRTIM_TIM_TypeDef *) HRTIM1_TIMD_BASE) +#define HRTIM1_TIME ((HRTIM_TIM_TypeDef *) HRTIM1_TIME_BASE) +#define HRTIM1_COMMON ((HRTIM_Common_TypeDef *) HRTIM1_COMMON_BASE) +#define SAI1 ((SAI_TypeDef *) SAI1_BASE) +#define SAI1_Block_A ((SAI_Block_TypeDef *)SAI1_Block_A_BASE) +#define SAI1_Block_B ((SAI_Block_TypeDef *)SAI1_Block_B_BASE) +#define SAI2 ((SAI_TypeDef *) SAI2_BASE) +#define SAI2_Block_A ((SAI_Block_TypeDef *)SAI2_Block_A_BASE) +#define SAI2_Block_B ((SAI_Block_TypeDef *)SAI2_Block_B_BASE) +#define SAI3 ((SAI_TypeDef *) SAI3_BASE) +#define SAI3_Block_A ((SAI_Block_TypeDef *)SAI3_Block_A_BASE) +#define SAI3_Block_B ((SAI_Block_TypeDef *)SAI3_Block_B_BASE) +#define SAI4 ((SAI_TypeDef *) SAI4_BASE) +#define SAI4_Block_A ((SAI_Block_TypeDef *)SAI4_Block_A_BASE) +#define SAI4_Block_B ((SAI_Block_TypeDef *)SAI4_Block_B_BASE) + + +#define SPDIFRX ((SPDIFRX_TypeDef *) SPDIFRX_BASE) +#define DFSDM1_Channel0 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel0_BASE) +#define DFSDM1_Channel1 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel1_BASE) +#define DFSDM1_Channel2 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel2_BASE) +#define DFSDM1_Channel3 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel3_BASE) +#define DFSDM1_Channel4 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel4_BASE) +#define DFSDM1_Channel5 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel5_BASE) +#define DFSDM1_Channel6 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel6_BASE) +#define DFSDM1_Channel7 ((DFSDM_Channel_TypeDef *) DFSDM1_Channel7_BASE) +#define DFSDM1_Filter0 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter0_BASE) +#define DFSDM1_Filter1 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter1_BASE) +#define DFSDM1_Filter2 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter2_BASE) +#define DFSDM1_Filter3 ((DFSDM_Filter_TypeDef *) DFSDM1_Filter3_BASE) +#define DMA2D ((DMA2D_TypeDef *) DMA2D_BASE) +#define DCMI ((DCMI_TypeDef *) DCMI_BASE) +#define RCC ((RCC_TypeDef *) RCC_BASE) +#define RCC_C1 ((RCC_Core_TypeDef *) RCC_C1_BASE) +#define FLASH ((FLASH_TypeDef *) FLASH_R_BASE) +#define CRC ((CRC_TypeDef *) CRC_BASE) + +#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) +#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) +#define GPIOC ((GPIO_TypeDef *) GPIOC_BASE) +#define GPIOD ((GPIO_TypeDef *) GPIOD_BASE) +#define GPIOE ((GPIO_TypeDef *) GPIOE_BASE) +#define GPIOF ((GPIO_TypeDef *) GPIOF_BASE) +#define GPIOG ((GPIO_TypeDef *) GPIOG_BASE) +#define GPIOH ((GPIO_TypeDef *) GPIOH_BASE) +#define GPIOI ((GPIO_TypeDef *) GPIOI_BASE) +#define GPIOJ ((GPIO_TypeDef *) GPIOJ_BASE) +#define GPIOK ((GPIO_TypeDef *) GPIOK_BASE) + +#define ADC1 ((ADC_TypeDef *) ADC1_BASE) +#define ADC2 ((ADC_TypeDef *) ADC2_BASE) +#define ADC3 ((ADC_TypeDef *) ADC3_BASE) +#define ADC12_COMMON ((ADC_Common_TypeDef *) ADC12_COMMON_BASE) +#define ADC3_COMMON ((ADC_Common_TypeDef *) ADC3_COMMON_BASE) +#define CRYP ((CRYP_TypeDef *) CRYP_BASE) +#define HASH ((HASH_TypeDef *) HASH_BASE) +#define HASH_DIGEST ((HASH_DIGEST_TypeDef *) HASH_DIGEST_BASE) +#define RNG ((RNG_TypeDef *) RNG_BASE) +#define SDMMC2 ((SDMMC_TypeDef *) SDMMC2_BASE) +#define DLYB_SDMMC2 ((DLYB_TypeDef *) DLYB_SDMMC2_BASE) + +#define BDMA ((BDMA_TypeDef *) BDMA_BASE) +#define BDMA_Channel0 ((BDMA_Channel_TypeDef *) BDMA_Channel0_BASE) +#define BDMA_Channel1 ((BDMA_Channel_TypeDef *) BDMA_Channel1_BASE) +#define BDMA_Channel2 ((BDMA_Channel_TypeDef *) BDMA_Channel2_BASE) +#define BDMA_Channel3 ((BDMA_Channel_TypeDef *) BDMA_Channel3_BASE) +#define BDMA_Channel4 ((BDMA_Channel_TypeDef *) BDMA_Channel4_BASE) +#define BDMA_Channel5 ((BDMA_Channel_TypeDef *) BDMA_Channel5_BASE) +#define BDMA_Channel6 ((BDMA_Channel_TypeDef *) BDMA_Channel6_BASE) +#define BDMA_Channel7 ((BDMA_Channel_TypeDef *) BDMA_Channel7_BASE) + +#define DMAMUX2_Channel0 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel0_BASE) +#define DMAMUX2_Channel1 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel1_BASE) +#define DMAMUX2_Channel2 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel2_BASE) +#define DMAMUX2_Channel3 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel3_BASE) +#define DMAMUX2_Channel4 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel4_BASE) +#define DMAMUX2_Channel5 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel5_BASE) +#define DMAMUX2_Channel6 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel6_BASE) +#define DMAMUX2_Channel7 ((DMAMUX_Channel_TypeDef *) DMAMUX2_Channel7_BASE) + + +#define DMAMUX2_RequestGenerator0 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator0_BASE) +#define DMAMUX2_RequestGenerator1 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator1_BASE) +#define DMAMUX2_RequestGenerator2 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator2_BASE) +#define DMAMUX2_RequestGenerator3 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator3_BASE) +#define DMAMUX2_RequestGenerator4 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator4_BASE) +#define DMAMUX2_RequestGenerator5 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator5_BASE) +#define DMAMUX2_RequestGenerator6 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator6_BASE) +#define DMAMUX2_RequestGenerator7 ((DMAMUX_RequestGen_TypeDef *) DMAMUX2_RequestGenerator7_BASE) + +#define DMAMUX2_ChannelStatus ((DMAMUX_ChannelStatus_TypeDef *) DMAMUX2_ChannelStatus_BASE) +#define DMAMUX2_RequestGenStatus ((DMAMUX_RequestGenStatus_TypeDef *) DMAMUX2_RequestGenStatus_BASE) + +#define DMA2 ((DMA_TypeDef *) DMA2_BASE) +#define DMA2_Stream0 ((DMA_Stream_TypeDef *) DMA2_Stream0_BASE) +#define DMA2_Stream1 ((DMA_Stream_TypeDef *) DMA2_Stream1_BASE) +#define DMA2_Stream2 ((DMA_Stream_TypeDef *) DMA2_Stream2_BASE) +#define DMA2_Stream3 ((DMA_Stream_TypeDef *) DMA2_Stream3_BASE) +#define DMA2_Stream4 ((DMA_Stream_TypeDef *) DMA2_Stream4_BASE) +#define DMA2_Stream5 ((DMA_Stream_TypeDef *) DMA2_Stream5_BASE) +#define DMA2_Stream6 ((DMA_Stream_TypeDef *) DMA2_Stream6_BASE) +#define DMA2_Stream7 ((DMA_Stream_TypeDef *) DMA2_Stream7_BASE) + +#define DMA1 ((DMA_TypeDef *) DMA1_BASE) +#define DMA1_Stream0 ((DMA_Stream_TypeDef *) DMA1_Stream0_BASE) +#define DMA1_Stream1 ((DMA_Stream_TypeDef *) DMA1_Stream1_BASE) +#define DMA1_Stream2 ((DMA_Stream_TypeDef *) DMA1_Stream2_BASE) +#define DMA1_Stream3 ((DMA_Stream_TypeDef *) DMA1_Stream3_BASE) +#define DMA1_Stream4 ((DMA_Stream_TypeDef *) DMA1_Stream4_BASE) +#define DMA1_Stream5 ((DMA_Stream_TypeDef *) DMA1_Stream5_BASE) +#define DMA1_Stream6 ((DMA_Stream_TypeDef *) DMA1_Stream6_BASE) +#define DMA1_Stream7 ((DMA_Stream_TypeDef *) DMA1_Stream7_BASE) + + +#define DMAMUX1_Channel0 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel0_BASE) +#define DMAMUX1_Channel1 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel1_BASE) +#define DMAMUX1_Channel2 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel2_BASE) +#define DMAMUX1_Channel3 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel3_BASE) +#define DMAMUX1_Channel4 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel4_BASE) +#define DMAMUX1_Channel5 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel5_BASE) +#define DMAMUX1_Channel6 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel6_BASE) +#define DMAMUX1_Channel7 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel7_BASE) +#define DMAMUX1_Channel8 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel8_BASE) +#define DMAMUX1_Channel9 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel9_BASE) +#define DMAMUX1_Channel10 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel10_BASE) +#define DMAMUX1_Channel11 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel11_BASE) +#define DMAMUX1_Channel12 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel12_BASE) +#define DMAMUX1_Channel13 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel13_BASE) +#define DMAMUX1_Channel14 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel14_BASE) +#define DMAMUX1_Channel15 ((DMAMUX_Channel_TypeDef *) DMAMUX1_Channel15_BASE) + +#define DMAMUX1_RequestGenerator0 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator0_BASE) +#define DMAMUX1_RequestGenerator1 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator1_BASE) +#define DMAMUX1_RequestGenerator2 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator2_BASE) +#define DMAMUX1_RequestGenerator3 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator3_BASE) +#define DMAMUX1_RequestGenerator4 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator4_BASE) +#define DMAMUX1_RequestGenerator5 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator5_BASE) +#define DMAMUX1_RequestGenerator6 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator6_BASE) +#define DMAMUX1_RequestGenerator7 ((DMAMUX_RequestGen_TypeDef *) DMAMUX1_RequestGenerator7_BASE) + +#define DMAMUX1_ChannelStatus ((DMAMUX_ChannelStatus_TypeDef *) DMAMUX1_ChannelStatus_BASE) +#define DMAMUX1_RequestGenStatus ((DMAMUX_RequestGenStatus_TypeDef *) DMAMUX1_RequestGenStatus_BASE) + + +#define FMC_Bank1 ((FMC_Bank1_TypeDef *) FMC_Bank1_R_BASE) +#define FMC_Bank1E ((FMC_Bank1E_TypeDef *) FMC_Bank1E_R_BASE) +#define FMC_Bank2 ((FMC_Bank2_TypeDef *) FMC_Bank2_R_BASE) +#define FMC_Bank3 ((FMC_Bank3_TypeDef *) FMC_Bank3_R_BASE) +#define FMC_Bank5_6 ((FMC_Bank5_6_TypeDef *) FMC_Bank5_6_R_BASE) + +#define QUADSPI ((QUADSPI_TypeDef *) QSPI_R_BASE) +#define DLYB_QUADSPI ((DLYB_TypeDef *) DLYB_QSPI_BASE) + +#define SDMMC1 ((SDMMC_TypeDef *) SDMMC1_BASE) +#define DLYB_SDMMC1 ((DLYB_TypeDef *) DLYB_SDMMC1_BASE) + +#define DBGMCU ((DBGMCU_TypeDef *) DBGMCU_BASE) + +#define JPEG ((JPEG_TypeDef *) JPGDEC_BASE) +#define HSEM ((HSEM_TypeDef *) HSEM_BASE) + +#define LTDC ((LTDC_TypeDef *)LTDC_BASE) +#define LTDC_Layer1 ((LTDC_Layer_TypeDef *)LTDC_Layer1_BASE) +#define LTDC_Layer2 ((LTDC_Layer_TypeDef *)LTDC_Layer2_BASE) +#define MDIOS ((MDIOS_TypeDef *) MDIOS_BASE) + +#define ETH ((ETH_TypeDef *)ETH_BASE) +#define MDMA ((MDMA_TypeDef *)MDMA_BASE) +#define MDMA_Channel0 ((MDMA_Channel_TypeDef *)MDMA_Channel0_BASE) +#define MDMA_Channel1 ((MDMA_Channel_TypeDef *)MDMA_Channel1_BASE) +#define MDMA_Channel2 ((MDMA_Channel_TypeDef *)MDMA_Channel2_BASE) +#define MDMA_Channel3 ((MDMA_Channel_TypeDef *)MDMA_Channel3_BASE) +#define MDMA_Channel4 ((MDMA_Channel_TypeDef *)MDMA_Channel4_BASE) +#define MDMA_Channel5 ((MDMA_Channel_TypeDef *)MDMA_Channel5_BASE) +#define MDMA_Channel6 ((MDMA_Channel_TypeDef *)MDMA_Channel6_BASE) +#define MDMA_Channel7 ((MDMA_Channel_TypeDef *)MDMA_Channel7_BASE) +#define MDMA_Channel8 ((MDMA_Channel_TypeDef *)MDMA_Channel8_BASE) +#define MDMA_Channel9 ((MDMA_Channel_TypeDef *)MDMA_Channel9_BASE) +#define MDMA_Channel10 ((MDMA_Channel_TypeDef *)MDMA_Channel10_BASE) +#define MDMA_Channel11 ((MDMA_Channel_TypeDef *)MDMA_Channel11_BASE) +#define MDMA_Channel12 ((MDMA_Channel_TypeDef *)MDMA_Channel12_BASE) +#define MDMA_Channel13 ((MDMA_Channel_TypeDef *)MDMA_Channel13_BASE) +#define MDMA_Channel14 ((MDMA_Channel_TypeDef *)MDMA_Channel14_BASE) +#define MDMA_Channel15 ((MDMA_Channel_TypeDef *)MDMA_Channel15_BASE) + + +#define USB1_OTG_HS ((USB_OTG_GlobalTypeDef *) USB1_OTG_HS_PERIPH_BASE) +#define USB2_OTG_FS ((USB_OTG_GlobalTypeDef *) USB2_OTG_FS_PERIPH_BASE) + + +/* Legacy defines */ +#define USB_OTG_HS USB1_OTG_HS +#define USB_OTG_FS USB2_OTG_FS +#define USB_OTG_HS_PERIPH_BASE USB1_OTG_HS_PERIPH_BASE +#define USB_OTG_FS_PERIPH_BASE USB2_OTG_FS_PERIPH_BASE + + +/** + * @} + */ + +/** @addtogroup Exported_constants + * @{ + */ + + /** @addtogroup Peripheral_Registers_Bits_Definition + * @{ + */ + +/******************************************************************************/ +/* Peripheral Registers_Bits_Definition */ +/******************************************************************************/ + +/******************************************************************************/ +/* */ +/* Analog to Digital Converter */ +/* */ +/******************************************************************************/ +/******************** Bit definition for ADC_ISR register ********************/ +#define ADC_ISR_ADRD_Pos (0U) +#define ADC_ISR_ADRD_Msk (0x1U << ADC_ISR_ADRD_Pos) /*!< 0x00000001 */ +#define ADC_ISR_ADRD ADC_ISR_ADRD_Msk /*!< ADC Ready (ADRDY) flag */ +#define ADC_ISR_EOSMP_Pos (1U) +#define ADC_ISR_EOSMP_Msk (0x1U << ADC_ISR_EOSMP_Pos) /*!< 0x00000002 */ +#define ADC_ISR_EOSMP ADC_ISR_EOSMP_Msk /*!< ADC End of Sampling flag */ +#define ADC_ISR_EOC_Pos (2U) +#define ADC_ISR_EOC_Msk (0x1U << ADC_ISR_EOC_Pos) /*!< 0x00000004 */ +#define ADC_ISR_EOC ADC_ISR_EOC_Msk /*!< ADC End of Regular Conversion flag */ +#define ADC_ISR_EOS_Pos (3U) +#define ADC_ISR_EOS_Msk (0x1U << ADC_ISR_EOS_Pos) /*!< 0x00000008 */ +#define ADC_ISR_EOS ADC_ISR_EOS_Msk /*!< ADC End of Regular sequence of Conversions flag */ +#define ADC_ISR_OVR_Pos (4U) +#define ADC_ISR_OVR_Msk (0x1U << ADC_ISR_OVR_Pos) /*!< 0x00000010 */ +#define ADC_ISR_OVR ADC_ISR_OVR_Msk /*!< ADC overrun flag */ +#define ADC_ISR_JEOC_Pos (5U) +#define ADC_ISR_JEOC_Msk (0x1U << ADC_ISR_JEOC_Pos) /*!< 0x00000020 */ +#define ADC_ISR_JEOC ADC_ISR_JEOC_Msk /*!< ADC End of Injected Conversion flag */ +#define ADC_ISR_JEOS_Pos (6U) +#define ADC_ISR_JEOS_Msk (0x1U << ADC_ISR_JEOS_Pos) /*!< 0x00000040 */ +#define ADC_ISR_JEOS ADC_ISR_JEOS_Msk /*!< ADC End of Injected sequence of Conversions flag */ +#define ADC_ISR_AWD1_Pos (7U) +#define ADC_ISR_AWD1_Msk (0x1U << ADC_ISR_AWD1_Pos) /*!< 0x00000080 */ +#define ADC_ISR_AWD1 ADC_ISR_AWD1_Msk /*!< ADC Analog watchdog 1 flag */ +#define ADC_ISR_AWD2_Pos (8U) +#define ADC_ISR_AWD2_Msk (0x1U << ADC_ISR_AWD2_Pos) /*!< 0x00000100 */ +#define ADC_ISR_AWD2 ADC_ISR_AWD2_Msk /*!< ADC Analog watchdog 2 flag */ +#define ADC_ISR_AWD3_Pos (9U) +#define ADC_ISR_AWD3_Msk (0x1U << ADC_ISR_AWD3_Pos) /*!< 0x00000200 */ +#define ADC_ISR_AWD3 ADC_ISR_AWD3_Msk /*!< ADC Analog watchdog 3 flag */ +#define ADC_ISR_JQOVF_Pos (10U) +#define ADC_ISR_JQOVF_Msk (0x1U << ADC_ISR_JQOVF_Pos) /*!< 0x00000400 */ +#define ADC_ISR_JQOVF ADC_ISR_JQOVF_Msk /*!< ADC Injected Context Queue Overflow flag */ + +/******************** Bit definition for ADC_IER register ********************/ +#define ADC_IER_RDY_Pos (0U) +#define ADC_IER_RDY_Msk (0x1U << ADC_IER_RDY_Pos) /*!< 0x00000001 */ +#define ADC_IER_RDY ADC_IER_RDY_Msk /*!< ADC Ready (ADRDY) interrupt source */ +#define ADC_IER_EOSMP_Pos (1U) +#define ADC_IER_EOSMP_Msk (0x1U << ADC_IER_EOSMP_Pos) /*!< 0x00000002 */ +#define ADC_IER_EOSMP ADC_IER_EOSMP_Msk /*!< ADC End of Sampling interrupt source */ +#define ADC_IER_EOC_Pos (2U) +#define ADC_IER_EOC_Msk (0x1U << ADC_IER_EOC_Pos) /*!< 0x00000004 */ +#define ADC_IER_EOC ADC_IER_EOC_Msk /*!< ADC End of Regular Conversion interrupt source */ +#define ADC_IER_EOS_Pos (3U) +#define ADC_IER_EOS_Msk (0x1U << ADC_IER_EOS_Pos) /*!< 0x00000008 */ +#define ADC_IER_EOS ADC_IER_EOS_Msk /*!< ADC End of Regular sequence of Conversions interrupt source */ +#define ADC_IER_OVR_Pos (4U) +#define ADC_IER_OVR_Msk (0x1U << ADC_IER_OVR_Pos) /*!< 0x00000010 */ +#define ADC_IER_OVR ADC_IER_OVR_Msk /*!< ADC overrun interrupt source */ +#define ADC_IER_JEOC_Pos (5U) +#define ADC_IER_JEOC_Msk (0x1U << ADC_IER_JEOC_Pos) /*!< 0x00000020 */ +#define ADC_IER_JEOC ADC_IER_JEOC_Msk /*!< ADC End of Injected Conversion interrupt source */ +#define ADC_IER_JEOS_Pos (6U) +#define ADC_IER_JEOS_Msk (0x1U << ADC_IER_JEOS_Pos) /*!< 0x00000040 */ +#define ADC_IER_JEOS ADC_IER_JEOS_Msk /*!< ADC End of Injected sequence of Conversions interrupt source */ +#define ADC_IER_AWD1_Pos (7U) +#define ADC_IER_AWD1_Msk (0x1U << ADC_IER_AWD1_Pos) /*!< 0x00000080 */ +#define ADC_IER_AWD1 ADC_IER_AWD1_Msk /*!< ADC Analog watchdog 1 interrupt source */ +#define ADC_IER_AWD2_Pos (8U) +#define ADC_IER_AWD2_Msk (0x1U << ADC_IER_AWD2_Pos) /*!< 0x00000100 */ +#define ADC_IER_AWD2 ADC_IER_AWD2_Msk /*!< ADC Analog watchdog 2 interrupt source */ +#define ADC_IER_AWD3_Pos (9U) +#define ADC_IER_AWD3_Msk (0x1U << ADC_IER_AWD3_Pos) /*!< 0x00000200 */ +#define ADC_IER_AWD3 ADC_IER_AWD3_Msk /*!< ADC Analog watchdog 3 interrupt source */ +#define ADC_IER_JQOVF_Pos (10U) +#define ADC_IER_JQOVF_Msk (0x1U << ADC_IER_JQOVF_Pos) /*!< 0x00000400 */ +#define ADC_IER_JQOVF ADC_IER_JQOVF_Msk /*!< ADC Injected Context Queue Overflow interrupt source */ + +/******************** Bit definition for ADC_CR register ********************/ +#define ADC_CR_ADEN_Pos (0U) +#define ADC_CR_ADEN_Msk (0x1U << ADC_CR_ADEN_Pos) /*!< 0x00000001 */ +#define ADC_CR_ADEN ADC_CR_ADEN_Msk /*!< ADC Enable control */ +#define ADC_CR_ADDIS_Pos (1U) +#define ADC_CR_ADDIS_Msk (0x1U << ADC_CR_ADDIS_Pos) /*!< 0x00000002 */ +#define ADC_CR_ADDIS ADC_CR_ADDIS_Msk /*!< ADC Disable command */ +#define ADC_CR_ADSTART_Pos (2U) +#define ADC_CR_ADSTART_Msk (0x1U << ADC_CR_ADSTART_Pos) /*!< 0x00000004 */ +#define ADC_CR_ADSTART ADC_CR_ADSTART_Msk /*!< ADC Start of Regular conversion */ +#define ADC_CR_JADSTART_Pos (3U) +#define ADC_CR_JADSTART_Msk (0x1U << ADC_CR_JADSTART_Pos) /*!< 0x00000008 */ +#define ADC_CR_JADSTART ADC_CR_JADSTART_Msk /*!< ADC Start of injected conversion */ +#define ADC_CR_ADSTP_Pos (4U) +#define ADC_CR_ADSTP_Msk (0x1U << ADC_CR_ADSTP_Pos) /*!< 0x00000010 */ +#define ADC_CR_ADSTP ADC_CR_ADSTP_Msk /*!< ADC Stop of Regular conversion */ +#define ADC_CR_JADSTP_Pos (5U) +#define ADC_CR_JADSTP_Msk (0x1U << ADC_CR_JADSTP_Pos) /*!< 0x00000020 */ +#define ADC_CR_JADSTP ADC_CR_JADSTP_Msk /*!< ADC Boost Mode */ +#define ADC_CR_BOOST_Pos (8U) +#define ADC_CR_BOOST_Msk (0x1U << ADC_CR_BOOST_Pos) /*!< 0x00000100 */ +#define ADC_CR_BOOST ADC_CR_BOOST_Msk /*!< ADC Stop of injected conversion */ +#define ADC_CR_ADCALLIN_Pos (16U) +#define ADC_CR_ADCALLIN_Msk (0x1U << ADC_CR_ADCALLIN_Pos) /*!< 0x00010000 */ +#define ADC_CR_ADCALLIN ADC_CR_ADCALLIN_Msk /*!< ADC Linearity calibration */ +#define ADC_CR_LINCALRDYW1_Pos (22U) +#define ADC_CR_LINCALRDYW1_Msk (0x1U << ADC_CR_LINCALRDYW1_Pos) /*!< 0x00400000 */ +#define ADC_CR_LINCALRDYW1 ADC_CR_LINCALRDYW1_Msk /*!< ADC Linearity calibration ready Word 1 */ +#define ADC_CR_LINCALRDYW2_Pos (23U) +#define ADC_CR_LINCALRDYW2_Msk (0x1U << ADC_CR_LINCALRDYW2_Pos) /*!< 0x00800000 */ +#define ADC_CR_LINCALRDYW2 ADC_CR_LINCALRDYW2_Msk /*!< ADC Linearity calibration ready Word 2 */ +#define ADC_CR_LINCALRDYW3_Pos (24U) +#define ADC_CR_LINCALRDYW3_Msk (0x1U << ADC_CR_LINCALRDYW3_Pos) /*!< 0x01000000 */ +#define ADC_CR_LINCALRDYW3 ADC_CR_LINCALRDYW3_Msk /*!< ADC Linearity calibration ready Word 3 */ +#define ADC_CR_LINCALRDYW4_Pos (25U) +#define ADC_CR_LINCALRDYW4_Msk (0x1U << ADC_CR_LINCALRDYW4_Pos) /*!< 0x02000000 */ +#define ADC_CR_LINCALRDYW4 ADC_CR_LINCALRDYW4_Msk /*!< ADC Linearity calibration ready Word 4 */ +#define ADC_CR_LINCALRDYW5_Pos (26U) +#define ADC_CR_LINCALRDYW5_Msk (0x1U << ADC_CR_LINCALRDYW5_Pos) /*!< 0x04000000 */ +#define ADC_CR_LINCALRDYW5 ADC_CR_LINCALRDYW5_Msk /*!< ADC Linearity calibration ready Word 5 */ +#define ADC_CR_LINCALRDYW6_Pos (27U) +#define ADC_CR_LINCALRDYW6_Msk (0x1U << ADC_CR_LINCALRDYW6_Pos) /*!< 0x08000000 */ +#define ADC_CR_LINCALRDYW6 ADC_CR_LINCALRDYW6_Msk /*!< ADC Linearity calibration ready Word 6 */ +#define ADC_CR_ADVREGEN_Pos (28U) +#define ADC_CR_ADVREGEN_Msk (0x1U << ADC_CR_ADVREGEN_Pos) /*!< 0x10000000 */ +#define ADC_CR_ADVREGEN ADC_CR_ADVREGEN_Msk /*!< ADC Voltage regulator Enable */ +#define ADC_CR_DEEPPWD_Pos (29U) +#define ADC_CR_DEEPPWD_Msk (0x1U << ADC_CR_DEEPPWD_Pos) /*!< 0x20000000 */ +#define ADC_CR_DEEPPWD ADC_CR_DEEPPWD_Msk /*!< ADC Deep power down Enable */ +#define ADC_CR_ADCALDIF_Pos (30U) +#define ADC_CR_ADCALDIF_Msk (0x1U << ADC_CR_ADCALDIF_Pos) /*!< 0x40000000 */ +#define ADC_CR_ADCALDIF ADC_CR_ADCALDIF_Msk /*!< ADC Differential Mode for calibration */ +#define ADC_CR_ADCAL_Pos (31U) +#define ADC_CR_ADCAL_Msk (0x1U << ADC_CR_ADCAL_Pos) /*!< 0x80000000 */ +#define ADC_CR_ADCAL ADC_CR_ADCAL_Msk /*!< ADC Calibration */ + +/******************** Bit definition for ADC_CFGR register ********************/ +#define ADC_CFGR_DMNGT_Pos (0U) +#define ADC_CFGR_DMNGT_Msk (0x3U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000003 */ +#define ADC_CFGR_DMNGT ADC_CFGR_DMNGT_Msk /*!< ADC Data Management configuration */ +#define ADC_CFGR_DMNGT_0 (0x1U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000001 */ +#define ADC_CFGR_DMNGT_1 (0x2U << ADC_CFGR_DMNGT_Pos) /*!< 0x00000002 */ + +#define ADC_CFGR_RES_Pos (2U) +#define ADC_CFGR_RES_Msk (0x7U << ADC_CFGR_RES_Pos) /*!< 0x0000001C */ +#define ADC_CFGR_RES ADC_CFGR_RES_Msk /*!< ADC Data resolution */ +#define ADC_CFGR_RES_0 (0x1U << ADC_CFGR_RES_Pos) /*!< 0x00000004 */ +#define ADC_CFGR_RES_1 (0x2U << ADC_CFGR_RES_Pos) /*!< 0x00000008 */ +#define ADC_CFGR_RES_2 (0x4U << ADC_CFGR_RES_Pos) /*!< 0x00000010 */ + +#define ADC_CFGR_EXTSEL_Pos (5U) +#define ADC_CFGR_EXTSEL_Msk (0x1FU << ADC_CFGR_EXTSEL_Pos) /*!< 0x000003E0 */ +#define ADC_CFGR_EXTSEL ADC_CFGR_EXTSEL_Msk /*!< ADC External trigger selection for regular group */ +#define ADC_CFGR_EXTSEL_0 (0x01U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000020 */ +#define ADC_CFGR_EXTSEL_1 (0x02U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000040 */ +#define ADC_CFGR_EXTSEL_2 (0x04U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000080 */ +#define ADC_CFGR_EXTSEL_3 (0x08U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000100 */ +#define ADC_CFGR_EXTSEL_4 (0x10U << ADC_CFGR_EXTSEL_Pos) /*!< 0x00000200 */ + +#define ADC_CFGR_EXTEN_Pos (10U) +#define ADC_CFGR_EXTEN_Msk (0x3U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000C00 */ +#define ADC_CFGR_EXTEN ADC_CFGR_EXTEN_Msk /*!< ADC External trigger enable and polarity selection for regular channels */ +#define ADC_CFGR_EXTEN_0 (0x1U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000400 */ +#define ADC_CFGR_EXTEN_1 (0x2U << ADC_CFGR_EXTEN_Pos) /*!< 0x00000800 */ + +#define ADC_CFGR_OVRMOD_Pos (12U) +#define ADC_CFGR_OVRMOD_Msk (0x1U << ADC_CFGR_OVRMOD_Pos) /*!< 0x00001000 */ +#define ADC_CFGR_OVRMOD ADC_CFGR_OVRMOD_Msk /*!< ADC overrun mode */ +#define ADC_CFGR_CONT_Pos (13U) +#define ADC_CFGR_CONT_Msk (0x1U << ADC_CFGR_CONT_Pos) /*!< 0x00002000 */ +#define ADC_CFGR_CONT ADC_CFGR_CONT_Msk /*!< ADC Single/continuous conversion mode for regular conversion */ +#define ADC_CFGR_AUTDLY_Pos (14U) +#define ADC_CFGR_AUTDLY_Msk (0x1U << ADC_CFGR_AUTDLY_Pos) /*!< 0x00004000 */ +#define ADC_CFGR_AUTDLY ADC_CFGR_AUTDLY_Msk /*!< ADC Delayed conversion mode */ + +#define ADC_CFGR_DISCEN_Pos (16U) +#define ADC_CFGR_DISCEN_Msk (0x1U << ADC_CFGR_DISCEN_Pos) /*!< 0x00010000 */ +#define ADC_CFGR_DISCEN ADC_CFGR_DISCEN_Msk /*!< ADC Discontinuous mode for regular channels */ + +#define ADC_CFGR_DISCNUM_Pos (17U) +#define ADC_CFGR_DISCNUM_Msk (0x7U << ADC_CFGR_DISCNUM_Pos) /*!< 0x000E0000 */ +#define ADC_CFGR_DISCNUM ADC_CFGR_DISCNUM_Msk /*!< ADC Discontinuous mode channel count */ +#define ADC_CFGR_DISCNUM_0 (0x1U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00020000 */ +#define ADC_CFGR_DISCNUM_1 (0x2U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00040000 */ +#define ADC_CFGR_DISCNUM_2 (0x4U << ADC_CFGR_DISCNUM_Pos) /*!< 0x00080000 */ + +#define ADC_CFGR_JDISCEN_Pos (20U) +#define ADC_CFGR_JDISCEN_Msk (0x1U << ADC_CFGR_JDISCEN_Pos) /*!< 0x00100000 */ +#define ADC_CFGR_JDISCEN ADC_CFGR_JDISCEN_Msk /*!< ADC Discontinuous mode on injected channels */ +#define ADC_CFGR_JQM_Pos (21U) +#define ADC_CFGR_JQM_Msk (0x1U << ADC_CFGR_JQM_Pos) /*!< 0x00200000 */ +#define ADC_CFGR_JQM ADC_CFGR_JQM_Msk /*!< ADC JSQR Queue mode */ +#define ADC_CFGR_AWD1SGL_Pos (22U) +#define ADC_CFGR_AWD1SGL_Msk (0x1U << ADC_CFGR_AWD1SGL_Pos) /*!< 0x00400000 */ +#define ADC_CFGR_AWD1SGL ADC_CFGR_AWD1SGL_Msk /*!< Enable the watchdog 1 on a single channel or on all channels */ +#define ADC_CFGR_AWD1EN_Pos (23U) +#define ADC_CFGR_AWD1EN_Msk (0x1U << ADC_CFGR_AWD1EN_Pos) /*!< 0x00800000 */ +#define ADC_CFGR_AWD1EN ADC_CFGR_AWD1EN_Msk /*!< ADC Analog watchdog 1 enable on regular Channels */ +#define ADC_CFGR_JAWD1EN_Pos (24U) +#define ADC_CFGR_JAWD1EN_Msk (0x1U << ADC_CFGR_JAWD1EN_Pos) /*!< 0x01000000 */ +#define ADC_CFGR_JAWD1EN ADC_CFGR_JAWD1EN_Msk /*!< ADC Analog watchdog 1 enable on injected Channels */ +#define ADC_CFGR_JAUTO_Pos (25U) +#define ADC_CFGR_JAUTO_Msk (0x1U << ADC_CFGR_JAUTO_Pos) /*!< 0x02000000 */ +#define ADC_CFGR_JAUTO ADC_CFGR_JAUTO_Msk /*!< ADC Automatic injected group conversion */ + +#define ADC_CFGR_AWD1CH_Pos (26U) +#define ADC_CFGR_AWD1CH_Msk (0x1FU << ADC_CFGR_AWD1CH_Pos) /*!< 0x7C000000 */ +#define ADC_CFGR_AWD1CH ADC_CFGR_AWD1CH_Msk /*!< ADC Analog watchdog 1 Channel selection */ +#define ADC_CFGR_AWD1CH_0 (0x01U << ADC_CFGR_AWD1CH_Pos) /*!< 0x04000000 */ +#define ADC_CFGR_AWD1CH_1 (0x02U << ADC_CFGR_AWD1CH_Pos) /*!< 0x08000000 */ +#define ADC_CFGR_AWD1CH_2 (0x04U << ADC_CFGR_AWD1CH_Pos) /*!< 0x10000000 */ +#define ADC_CFGR_AWD1CH_3 (0x08U << ADC_CFGR_AWD1CH_Pos) /*!< 0x20000000 */ +#define ADC_CFGR_AWD1CH_4 (0x10U << ADC_CFGR_AWD1CH_Pos) /*!< 0x40000000 */ + +#define ADC_CFGR_JQDIS_Pos (31U) +#define ADC_CFGR_JQDIS_Msk (0x1U << ADC_CFGR_JQDIS_Pos) /*!< 0x80000000 */ +#define ADC_CFGR_JQDIS ADC_CFGR_JQDIS_Msk /*!< ADC Injected queue disable */ + +/******************** Bit definition for ADC_CFGR2 register ********************/ +#define ADC_CFGR2_ROVSE_Pos (0U) +#define ADC_CFGR2_ROVSE_Msk (0x1U << ADC_CFGR2_ROVSE_Pos) /*!< 0x00000001 */ +#define ADC_CFGR2_ROVSE ADC_CFGR2_ROVSE_Msk /*!< ADC Regular group oversampler enable */ +#define ADC_CFGR2_JOVSE_Pos (1U) +#define ADC_CFGR2_JOVSE_Msk (0x1U << ADC_CFGR2_JOVSE_Pos) /*!< 0x00000002 */ +#define ADC_CFGR2_JOVSE ADC_CFGR2_JOVSE_Msk /*!< ADC Injected group oversampler enable */ + +#define ADC_CFGR2_OVSS_Pos (5U) +#define ADC_CFGR2_OVSS_Msk (0xFU << ADC_CFGR2_OVSS_Pos) /*!< 0x000001E0 */ +#define ADC_CFGR2_OVSS ADC_CFGR2_OVSS_Msk /*!< ADC Regular Oversampling shift */ +#define ADC_CFGR2_OVSS_0 (0x1U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000020 */ +#define ADC_CFGR2_OVSS_1 (0x2U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000040 */ +#define ADC_CFGR2_OVSS_2 (0x4U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000080 */ +#define ADC_CFGR2_OVSS_3 (0x8U << ADC_CFGR2_OVSS_Pos) /*!< 0x00000100 */ + +#define ADC_CFGR2_TROVS_Pos (9U) +#define ADC_CFGR2_TROVS_Msk (0x1U << ADC_CFGR2_TROVS_Pos) /*!< 0x00000200 */ +#define ADC_CFGR2_TROVS ADC_CFGR2_TROVS_Msk /*!< ADC Triggered regular Oversampling */ +#define ADC_CFGR2_ROVSM_Pos (10U) +#define ADC_CFGR2_ROVSM_Msk (0x1U << ADC_CFGR2_ROVSM_Pos) /*!< 0x00000400 */ +#define ADC_CFGR2_ROVSM ADC_CFGR2_ROVSM_Msk /*!< ADC Regular oversampling mode */ + +#define ADC_CFGR2_RSHIFT1_Pos (11U) +#define ADC_CFGR2_RSHIFT1_Msk (0x1U << ADC_CFGR2_RSHIFT1_Pos) /*!< 0x00000800 */ +#define ADC_CFGR2_RSHIFT1 ADC_CFGR2_RSHIFT1_Msk /*!< ADC Right-shift data after Offset 1 correction */ +#define ADC_CFGR2_RSHIFT2_Pos (12U) +#define ADC_CFGR2_RSHIFT2_Msk (0x1U << ADC_CFGR2_RSHIFT2_Pos) /*!< 0x00001000 */ +#define ADC_CFGR2_RSHIFT2 ADC_CFGR2_RSHIFT2_Msk /*!< ADC Right-shift data after Offset 2 correction */ +#define ADC_CFGR2_RSHIFT3_Pos (13U) +#define ADC_CFGR2_RSHIFT3_Msk (0x1U << ADC_CFGR2_RSHIFT3_Pos) /*!< 0x00002000 */ +#define ADC_CFGR2_RSHIFT3 ADC_CFGR2_RSHIFT3_Msk /*!< ADC Right-shift data after Offset 3 correction */ +#define ADC_CFGR2_RSHIFT4_Pos (14U) +#define ADC_CFGR2_RSHIFT4_Msk (0x1U << ADC_CFGR2_RSHIFT4_Pos) /*!< 0x00004000 */ +#define ADC_CFGR2_RSHIFT4 ADC_CFGR2_RSHIFT4_Msk /*!< ADC Right-shift data after Offset 4 correction */ + +#define ADC_CFGR2_OSR_Pos (16U) +#define ADC_CFGR2_OSR_Msk (0x3FFU << ADC_CFGR2_OSR_Pos) /*!< 0x03FF0000 */ +#define ADC_CFGR2_OSR ADC_CFGR2_OSR_Msk /*!< ADC oversampling Ratio */ +#define ADC_CFGR2_OSR_0 (0x001U << ADC_CFGR2_OSR_Pos) /*!< 0x00010000 */ +#define ADC_CFGR2_OSR_1 (0x002U << ADC_CFGR2_OSR_Pos) /*!< 0x00020000 */ +#define ADC_CFGR2_OSR_2 (0x004U << ADC_CFGR2_OSR_Pos) /*!< 0x00040000 */ +#define ADC_CFGR2_OSR_3 (0x008U << ADC_CFGR2_OSR_Pos) /*!< 0x00080000 */ +#define ADC_CFGR2_OSR_4 (0x010U << ADC_CFGR2_OSR_Pos) /*!< 0x00100000 */ +#define ADC_CFGR2_OSR_5 (0x020U << ADC_CFGR2_OSR_Pos) /*!< 0x00200000 */ +#define ADC_CFGR2_OSR_6 (0x040U << ADC_CFGR2_OSR_Pos) /*!< 0x00400000 */ +#define ADC_CFGR2_OSR_7 (0x080U << ADC_CFGR2_OSR_Pos) /*!< 0x00800000 */ +#define ADC_CFGR2_OSR_8 (0x100U << ADC_CFGR2_OSR_Pos) /*!< 0x01000000 */ +#define ADC_CFGR2_OSR_9 (0x200U << ADC_CFGR2_OSR_Pos) /*!< 0x02000000 */ + +#define ADC_CFGR2_LSHIFT_Pos (28U) +#define ADC_CFGR2_LSHIFT_Msk (0xFU << ADC_CFGR2_LSHIFT_Pos) /*!< 0xF0000000 */ +#define ADC_CFGR2_LSHIFT ADC_CFGR2_LSHIFT_Msk /*!< ADC Left shift factor */ +#define ADC_CFGR2_LSHIFT_0 (0x1U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x10000000 */ +#define ADC_CFGR2_LSHIFT_1 (0x2U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x20000000 */ +#define ADC_CFGR2_LSHIFT_2 (0x4U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x40000000 */ +#define ADC_CFGR2_LSHIFT_3 (0x8U << ADC_CFGR2_LSHIFT_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_SMPR1 register ********************/ +#define ADC_SMPR1_SMP0_Pos (0U) +#define ADC_SMPR1_SMP0_Msk (0x7U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000007 */ +#define ADC_SMPR1_SMP0 ADC_SMPR1_SMP0_Msk /*!< ADC Channel 0 Sampling time selection */ +#define ADC_SMPR1_SMP0_0 (0x1U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000001 */ +#define ADC_SMPR1_SMP0_1 (0x2U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000002 */ +#define ADC_SMPR1_SMP0_2 (0x4U << ADC_SMPR1_SMP0_Pos) /*!< 0x00000004 */ + +#define ADC_SMPR1_SMP1_Pos (3U) +#define ADC_SMPR1_SMP1_Msk (0x7U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000038 */ +#define ADC_SMPR1_SMP1 ADC_SMPR1_SMP1_Msk /*!< ADC Channel 1 Sampling time selection */ +#define ADC_SMPR1_SMP1_0 (0x1U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000008 */ +#define ADC_SMPR1_SMP1_1 (0x2U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000010 */ +#define ADC_SMPR1_SMP1_2 (0x4U << ADC_SMPR1_SMP1_Pos) /*!< 0x00000020 */ + +#define ADC_SMPR1_SMP2_Pos (6U) +#define ADC_SMPR1_SMP2_Msk (0x7U << ADC_SMPR1_SMP2_Pos) /*!< 0x000001C0 */ +#define ADC_SMPR1_SMP2 ADC_SMPR1_SMP2_Msk /*!< ADC Channel 2 Sampling time selection */ +#define ADC_SMPR1_SMP2_0 (0x1U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000040 */ +#define ADC_SMPR1_SMP2_1 (0x2U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000080 */ +#define ADC_SMPR1_SMP2_2 (0x4U << ADC_SMPR1_SMP2_Pos) /*!< 0x00000100 */ + +#define ADC_SMPR1_SMP3_Pos (9U) +#define ADC_SMPR1_SMP3_Msk (0x7U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000E00 */ +#define ADC_SMPR1_SMP3 ADC_SMPR1_SMP3_Msk /*!< ADC Channel 3 Sampling time selection */ +#define ADC_SMPR1_SMP3_0 (0x1U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000200 */ +#define ADC_SMPR1_SMP3_1 (0x2U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000400 */ +#define ADC_SMPR1_SMP3_2 (0x4U << ADC_SMPR1_SMP3_Pos) /*!< 0x00000800 */ + +#define ADC_SMPR1_SMP4_Pos (12U) +#define ADC_SMPR1_SMP4_Msk (0x7U << ADC_SMPR1_SMP4_Pos) /*!< 0x00007000 */ +#define ADC_SMPR1_SMP4 ADC_SMPR1_SMP4_Msk /*!< ADC Channel 4 Sampling time selection */ +#define ADC_SMPR1_SMP4_0 (0x1U << ADC_SMPR1_SMP4_Pos) /*!< 0x00001000 */ +#define ADC_SMPR1_SMP4_1 (0x2U << ADC_SMPR1_SMP4_Pos) /*!< 0x00002000 */ +#define ADC_SMPR1_SMP4_2 (0x4U << ADC_SMPR1_SMP4_Pos) /*!< 0x00004000 */ + +#define ADC_SMPR1_SMP5_Pos (15U) +#define ADC_SMPR1_SMP5_Msk (0x7U << ADC_SMPR1_SMP5_Pos) /*!< 0x00038000 */ +#define ADC_SMPR1_SMP5 ADC_SMPR1_SMP5_Msk /*!< ADC Channel 5 Sampling time selection */ +#define ADC_SMPR1_SMP5_0 (0x1U << ADC_SMPR1_SMP5_Pos) /*!< 0x00008000 */ +#define ADC_SMPR1_SMP5_1 (0x2U << ADC_SMPR1_SMP5_Pos) /*!< 0x00010000 */ +#define ADC_SMPR1_SMP5_2 (0x4U << ADC_SMPR1_SMP5_Pos) /*!< 0x00020000 */ + +#define ADC_SMPR1_SMP6_Pos (18U) +#define ADC_SMPR1_SMP6_Msk (0x7U << ADC_SMPR1_SMP6_Pos) /*!< 0x001C0000 */ +#define ADC_SMPR1_SMP6 ADC_SMPR1_SMP6_Msk /*!< ADC Channel 6 Sampling time selection */ +#define ADC_SMPR1_SMP6_0 (0x1U << ADC_SMPR1_SMP6_Pos) /*!< 0x00040000 */ +#define ADC_SMPR1_SMP6_1 (0x2U << ADC_SMPR1_SMP6_Pos) /*!< 0x00080000 */ +#define ADC_SMPR1_SMP6_2 (0x4U << ADC_SMPR1_SMP6_Pos) /*!< 0x00100000 */ + +#define ADC_SMPR1_SMP7_Pos (21U) +#define ADC_SMPR1_SMP7_Msk (0x7U << ADC_SMPR1_SMP7_Pos) /*!< 0x00E00000 */ +#define ADC_SMPR1_SMP7 ADC_SMPR1_SMP7_Msk /*!< ADC Channel 7 Sampling time selection */ +#define ADC_SMPR1_SMP7_0 (0x1U << ADC_SMPR1_SMP7_Pos) /*!< 0x00200000 */ +#define ADC_SMPR1_SMP7_1 (0x2U << ADC_SMPR1_SMP7_Pos) /*!< 0x00400000 */ +#define ADC_SMPR1_SMP7_2 (0x4U << ADC_SMPR1_SMP7_Pos) /*!< 0x00800000 */ + +#define ADC_SMPR1_SMP8_Pos (24U) +#define ADC_SMPR1_SMP8_Msk (0x7U << ADC_SMPR1_SMP8_Pos) /*!< 0x07000000 */ +#define ADC_SMPR1_SMP8 ADC_SMPR1_SMP8_Msk /*!< ADC Channel 8 Sampling time selection */ +#define ADC_SMPR1_SMP8_0 (0x1U << ADC_SMPR1_SMP8_Pos) /*!< 0x01000000 */ +#define ADC_SMPR1_SMP8_1 (0x2U << ADC_SMPR1_SMP8_Pos) /*!< 0x02000000 */ +#define ADC_SMPR1_SMP8_2 (0x4U << ADC_SMPR1_SMP8_Pos) /*!< 0x04000000 */ + +#define ADC_SMPR1_SMP9_Pos (27U) +#define ADC_SMPR1_SMP9_Msk (0x7U << ADC_SMPR1_SMP9_Pos) /*!< 0x38000000 */ +#define ADC_SMPR1_SMP9 ADC_SMPR1_SMP9_Msk /*!< ADC Channel 9 Sampling time selection */ +#define ADC_SMPR1_SMP9_0 (0x1U << ADC_SMPR1_SMP9_Pos) /*!< 0x08000000 */ +#define ADC_SMPR1_SMP9_1 (0x2U << ADC_SMPR1_SMP9_Pos) /*!< 0x10000000 */ +#define ADC_SMPR1_SMP9_2 (0x4U << ADC_SMPR1_SMP9_Pos) /*!< 0x20000000 */ + +/******************** Bit definition for ADC_SMPR2 register ********************/ +#define ADC_SMPR2_SMP10_Pos (0U) +#define ADC_SMPR2_SMP10_Msk (0x7U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000007 */ +#define ADC_SMPR2_SMP10 ADC_SMPR2_SMP10_Msk /*!< ADC Channel 10 Sampling time selection */ +#define ADC_SMPR2_SMP10_0 (0x1U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000001 */ +#define ADC_SMPR2_SMP10_1 (0x2U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000002 */ +#define ADC_SMPR2_SMP10_2 (0x4U << ADC_SMPR2_SMP10_Pos) /*!< 0x00000004 */ + +#define ADC_SMPR2_SMP11_Pos (3U) +#define ADC_SMPR2_SMP11_Msk (0x7U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000038 */ +#define ADC_SMPR2_SMP11 ADC_SMPR2_SMP11_Msk /*!< ADC Channel 11 Sampling time selection */ +#define ADC_SMPR2_SMP11_0 (0x1U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000008 */ +#define ADC_SMPR2_SMP11_1 (0x2U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000010 */ +#define ADC_SMPR2_SMP11_2 (0x4U << ADC_SMPR2_SMP11_Pos) /*!< 0x00000020 */ + +#define ADC_SMPR2_SMP12_Pos (6U) +#define ADC_SMPR2_SMP12_Msk (0x7U << ADC_SMPR2_SMP12_Pos) /*!< 0x000001C0 */ +#define ADC_SMPR2_SMP12 ADC_SMPR2_SMP12_Msk /*!< ADC Channel 12 Sampling time selection */ +#define ADC_SMPR2_SMP12_0 (0x1U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000040 */ +#define ADC_SMPR2_SMP12_1 (0x2U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000080 */ +#define ADC_SMPR2_SMP12_2 (0x4U << ADC_SMPR2_SMP12_Pos) /*!< 0x00000100 */ + +#define ADC_SMPR2_SMP13_Pos (9U) +#define ADC_SMPR2_SMP13_Msk (0x7U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000E00 */ +#define ADC_SMPR2_SMP13 ADC_SMPR2_SMP13_Msk /*!< ADC Channel 13 Sampling time selection */ +#define ADC_SMPR2_SMP13_0 (0x1U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000200 */ +#define ADC_SMPR2_SMP13_1 (0x2U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000400 */ +#define ADC_SMPR2_SMP13_2 (0x4U << ADC_SMPR2_SMP13_Pos) /*!< 0x00000800 */ + +#define ADC_SMPR2_SMP14_Pos (12U) +#define ADC_SMPR2_SMP14_Msk (0x7U << ADC_SMPR2_SMP14_Pos) /*!< 0x00007000 */ +#define ADC_SMPR2_SMP14 ADC_SMPR2_SMP14_Msk /*!< ADC Channel 14 Sampling time selection */ +#define ADC_SMPR2_SMP14_0 (0x1U << ADC_SMPR2_SMP14_Pos) /*!< 0x00001000 */ +#define ADC_SMPR2_SMP14_1 (0x2U << ADC_SMPR2_SMP14_Pos) /*!< 0x00002000 */ +#define ADC_SMPR2_SMP14_2 (0x4U << ADC_SMPR2_SMP14_Pos) /*!< 0x00004000 */ + +#define ADC_SMPR2_SMP15_Pos (15U) +#define ADC_SMPR2_SMP15_Msk (0x7U << ADC_SMPR2_SMP15_Pos) /*!< 0x00038000 */ +#define ADC_SMPR2_SMP15 ADC_SMPR2_SMP15_Msk /*!< ADC Channel 15 Sampling time selection */ +#define ADC_SMPR2_SMP15_0 (0x1U << ADC_SMPR2_SMP15_Pos) /*!< 0x00008000 */ +#define ADC_SMPR2_SMP15_1 (0x2U << ADC_SMPR2_SMP15_Pos) /*!< 0x00010000 */ +#define ADC_SMPR2_SMP15_2 (0x4U << ADC_SMPR2_SMP15_Pos) /*!< 0x00020000 */ + +#define ADC_SMPR2_SMP16_Pos (18U) +#define ADC_SMPR2_SMP16_Msk (0x7U << ADC_SMPR2_SMP16_Pos) /*!< 0x001C0000 */ +#define ADC_SMPR2_SMP16 ADC_SMPR2_SMP16_Msk /*!< ADC Channel 16 Sampling time selection */ +#define ADC_SMPR2_SMP16_0 (0x1U << ADC_SMPR2_SMP16_Pos) /*!< 0x00040000 */ +#define ADC_SMPR2_SMP16_1 (0x2U << ADC_SMPR2_SMP16_Pos) /*!< 0x00080000 */ +#define ADC_SMPR2_SMP16_2 (0x4U << ADC_SMPR2_SMP16_Pos) /*!< 0x00100000 */ + +#define ADC_SMPR2_SMP17_Pos (21U) +#define ADC_SMPR2_SMP17_Msk (0x7U << ADC_SMPR2_SMP17_Pos) /*!< 0x00E00000 */ +#define ADC_SMPR2_SMP17 ADC_SMPR2_SMP17_Msk /*!< ADC Channel 17 Sampling time selection */ +#define ADC_SMPR2_SMP17_0 (0x1U << ADC_SMPR2_SMP17_Pos) /*!< 0x00200000 */ +#define ADC_SMPR2_SMP17_1 (0x2U << ADC_SMPR2_SMP17_Pos) /*!< 0x00400000 */ +#define ADC_SMPR2_SMP17_2 (0x4U << ADC_SMPR2_SMP17_Pos) /*!< 0x00800000 */ + +#define ADC_SMPR2_SMP18_Pos (24U) +#define ADC_SMPR2_SMP18_Msk (0x7U << ADC_SMPR2_SMP18_Pos) /*!< 0x07000000 */ +#define ADC_SMPR2_SMP18 ADC_SMPR2_SMP18_Msk /*!< ADC Channel 18 Sampling time selection */ +#define ADC_SMPR2_SMP18_0 (0x1U << ADC_SMPR2_SMP18_Pos) /*!< 0x01000000 */ +#define ADC_SMPR2_SMP18_1 (0x2U << ADC_SMPR2_SMP18_Pos) /*!< 0x02000000 */ +#define ADC_SMPR2_SMP18_2 (0x4U << ADC_SMPR2_SMP18_Pos) /*!< 0x04000000 */ + +#define ADC_SMPR2_SMP19_Pos (27U) +#define ADC_SMPR2_SMP19_Msk (0x7U << ADC_SMPR2_SMP19_Pos) /*!< 0x38000000 */ +#define ADC_SMPR2_SMP19 ADC_SMPR2_SMP19_Msk /*!< ADC Channel 19 Sampling time selection */ +#define ADC_SMPR2_SMP19_0 (0x1U << ADC_SMPR2_SMP19_Pos) /*!< 0x08000000 */ +#define ADC_SMPR2_SMP19_1 (0x2U << ADC_SMPR2_SMP19_Pos) /*!< 0x10000000 */ +#define ADC_SMPR2_SMP19_2 (0x4U << ADC_SMPR2_SMP19_Pos) /*!< 0x20000000 */ + +/******************** Bit definition for ADC_PCSEL register ********************/ +#define ADC_PCSEL_PCSEL_Pos (0U) +#define ADC_PCSEL_PCSEL_Msk (0xFFFFFU << ADC_PCSEL_PCSEL_Pos) /*!< 0x000FFFFF */ +#define ADC_PCSEL_PCSEL ADC_PCSEL_PCSEL_Msk /*!< ADC pre channel selection */ +#define ADC_PCSEL_PCSEL_0 (0x00001U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000001 */ +#define ADC_PCSEL_PCSEL_1 (0x00002U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000002 */ +#define ADC_PCSEL_PCSEL_2 (0x00004U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000004 */ +#define ADC_PCSEL_PCSEL_3 (0x00008U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000008 */ +#define ADC_PCSEL_PCSEL_4 (0x00010U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000010 */ +#define ADC_PCSEL_PCSEL_5 (0x00020U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000020 */ +#define ADC_PCSEL_PCSEL_6 (0x00040U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000040 */ +#define ADC_PCSEL_PCSEL_7 (0x00080U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000080 */ +#define ADC_PCSEL_PCSEL_8 (0x00100U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000100 */ +#define ADC_PCSEL_PCSEL_9 (0x00200U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000200 */ +#define ADC_PCSEL_PCSEL_10 (0x00400U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000400 */ +#define ADC_PCSEL_PCSEL_11 (0x00800U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00000800 */ +#define ADC_PCSEL_PCSEL_12 (0x01000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00001000 */ +#define ADC_PCSEL_PCSEL_13 (0x02000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00002000 */ +#define ADC_PCSEL_PCSEL_14 (0x04000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00004000 */ +#define ADC_PCSEL_PCSEL_15 (0x08000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00008000 */ +#define ADC_PCSEL_PCSEL_16 (0x10000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00010000 */ +#define ADC_PCSEL_PCSEL_17 (0x20000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00020000 */ +#define ADC_PCSEL_PCSEL_18 (0x40000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00040000 */ +#define ADC_PCSEL_PCSEL_19 (0x80000U << ADC_PCSEL_PCSEL_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_LTR1 register ********************/ +#define ADC_LTR1_LT1_Pos (0U) +#define ADC_LTR1_LT1_Msk (0x3FFFFFFU << ADC_LTR1_LT1_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR1_LT1 ADC_LTR1_LT1_Msk /*!< ADC Analog watchdog 1 lower threshold */ +#define ADC_LTR1_LT1_0 (0x0000001U << ADC_LTR1_LT1_Pos) /*!< 0x00000001 */ +#define ADC_LTR1_LT1_1 (0x0000002U << ADC_LTR1_LT1_Pos) /*!< 0x00000002 */ +#define ADC_LTR1_LT1_2 (0x0000004U << ADC_LTR1_LT1_Pos) /*!< 0x00000004 */ +#define ADC_LTR1_LT1_3 (0x0000008U << ADC_LTR1_LT1_Pos) /*!< 0x00000008 */ +#define ADC_LTR1_LT1_4 (0x0000010U << ADC_LTR1_LT1_Pos) /*!< 0x00000010 */ +#define ADC_LTR1_LT1_5 (0x0000020U << ADC_LTR1_LT1_Pos) /*!< 0x00000020 */ +#define ADC_LTR1_LT1_6 (0x0000040U << ADC_LTR1_LT1_Pos) /*!< 0x00000040 */ +#define ADC_LTR1_LT1_7 (0x0000080U << ADC_LTR1_LT1_Pos) /*!< 0x00000080 */ +#define ADC_LTR1_LT1_8 (0x0000100U << ADC_LTR1_LT1_Pos) /*!< 0x00000100 */ +#define ADC_LTR1_LT1_9 (0x0000200U << ADC_LTR1_LT1_Pos) /*!< 0x00000200 */ +#define ADC_LTR1_LT1_10 (0x0000400U << ADC_LTR1_LT1_Pos) /*!< 0x00000400 */ +#define ADC_LTR1_LT1_11 (0x0000800U << ADC_LTR1_LT1_Pos) /*!< 0x00000800 */ +#define ADC_LTR1_LT1_12 (0x0001000U << ADC_LTR1_LT1_Pos) /*!< 0x00001000 */ +#define ADC_LTR1_LT1_13 (0x0002000U << ADC_LTR1_LT1_Pos) /*!< 0x00002000 */ +#define ADC_LTR1_LT1_14 (0x0004000U << ADC_LTR1_LT1_Pos) /*!< 0x00004000 */ +#define ADC_LTR1_LT1_15 (0x0008000U << ADC_LTR1_LT1_Pos) /*!< 0x00008000 */ +#define ADC_LTR1_LT1_16 (0x0010000U << ADC_LTR1_LT1_Pos) /*!< 0x00010000 */ +#define ADC_LTR1_LT1_17 (0x0020000U << ADC_LTR1_LT1_Pos) /*!< 0x00020000 */ +#define ADC_LTR1_LT1_18 (0x0040000U << ADC_LTR1_LT1_Pos) /*!< 0x00040000 */ +#define ADC_LTR1_LT1_19 (0x0080000U << ADC_LTR1_LT1_Pos) /*!< 0x00080000 */ +#define ADC_LTR1_LT1_20 (0x0100000U << ADC_LTR1_LT1_Pos) /*!< 0x00100000 */ +#define ADC_LTR1_LT1_21 (0x0200000U << ADC_LTR1_LT1_Pos) /*!< 0x00200000 */ +#define ADC_LTR1_LT1_22 (0x0400000U << ADC_LTR1_LT1_Pos) /*!< 0x00400000 */ +#define ADC_LTR1_LT1_23 (0x0800000U << ADC_LTR1_LT1_Pos) /*!< 0x00800000 */ +#define ADC_LTR1_LT1_24 (0x1000000U << ADC_LTR1_LT1_Pos) /*!< 0x01000000 */ +#define ADC_LTR1_LT1_25 (0x2000000U << ADC_LTR1_LT1_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR1 register ********************/ +#define ADC_HTR1_HT1_Pos (0U) +#define ADC_HTR1_HT1_Msk (0x3FFFFFFU << ADC_HTR1_HT1_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR1_HT1 ADC_HTR1_HT1_Msk /*!< ADC Analog watchdog 1 higher threshold */ +#define ADC_HTR1_HT1_0 (0x0000001U << ADC_HTR1_HT1_Pos) /*!< 0x00000001 */ +#define ADC_HTR1_HT1_1 (0x0000002U << ADC_HTR1_HT1_Pos) /*!< 0x00000002 */ +#define ADC_HTR1_HT1_2 (0x0000004U << ADC_HTR1_HT1_Pos) /*!< 0x00000004 */ +#define ADC_HTR1_HT1_3 (0x0000008U << ADC_HTR1_HT1_Pos) /*!< 0x00000008 */ +#define ADC_HTR1_HT1_4 (0x0000010U << ADC_HTR1_HT1_Pos) /*!< 0x00000010 */ +#define ADC_HTR1_HT1_5 (0x0000020U << ADC_HTR1_HT1_Pos) /*!< 0x00000020 */ +#define ADC_HTR1_HT1_6 (0x0000040U << ADC_HTR1_HT1_Pos) /*!< 0x00000040 */ +#define ADC_HTR1_HT1_7 (0x0000080U << ADC_HTR1_HT1_Pos) /*!< 0x00000080 */ +#define ADC_HTR1_HT1_8 (0x0000100U << ADC_HTR1_HT1_Pos) /*!< 0x00000100 */ +#define ADC_HTR1_HT1_9 (0x0000200U << ADC_HTR1_HT1_Pos) /*!< 0x00000200 */ +#define ADC_HTR1_HT1_10 (0x0000400U << ADC_HTR1_HT1_Pos) /*!< 0x00000400 */ +#define ADC_HTR1_HT1_11 (0x0000800U << ADC_HTR1_HT1_Pos) /*!< 0x00000800 */ +#define ADC_HTR1_HT1_12 (0x0001000U << ADC_HTR1_HT1_Pos) /*!< 0x00001000 */ +#define ADC_HTR1_HT1_13 (0x0002000U << ADC_HTR1_HT1_Pos) /*!< 0x00002000 */ +#define ADC_HTR1_HT1_14 (0x0004000U << ADC_HTR1_HT1_Pos) /*!< 0x00004000 */ +#define ADC_HTR1_HT1_15 (0x0008000U << ADC_HTR1_HT1_Pos) /*!< 0x00008000 */ +#define ADC_HTR1_HT1_16 (0x0010000U << ADC_HTR1_HT1_Pos) /*!< 0x00010000 */ +#define ADC_HTR1_HT1_17 (0x0020000U << ADC_HTR1_HT1_Pos) /*!< 0x00020000 */ +#define ADC_HTR1_HT1_18 (0x0040000U << ADC_HTR1_HT1_Pos) /*!< 0x00040000 */ +#define ADC_HTR1_HT1_19 (0x0080000U << ADC_HTR1_HT1_Pos) /*!< 0x00080000 */ +#define ADC_HTR1_HT1_20 (0x0100000U << ADC_HTR1_HT1_Pos) /*!< 0x00100000 */ +#define ADC_HTR1_HT1_21 (0x0200000U << ADC_HTR1_HT1_Pos) /*!< 0x00200000 */ +#define ADC_HTR1_HT1_22 (0x0400000U << ADC_HTR1_HT1_Pos) /*!< 0x00400000 */ +#define ADC_HTR1_HT1_23 (0x0800000U << ADC_HTR1_HT1_Pos) /*!< 0x00800000 */ +#define ADC_HTR1_HT1_24 (0x1000000U << ADC_HTR1_HT1_Pos) /*!< 0x01000000 */ +#define ADC_HTR1_HT1_25 (0x2000000U << ADC_HTR1_HT1_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_LTR2 register ********************/ +#define ADC_LTR2_LT2_Pos (0U) +#define ADC_LTR2_LT2_Msk (0x3FFFFFFU << ADC_LTR2_LT2_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR2_LT2 ADC_LTR2_LT2_Msk /*!< ADC Analog watchdog 2 lower threshold */ +#define ADC_LTR2_LT2_0 (0x0000001U << ADC_LTR2_LT2_Pos) /*!< 0x00000001 */ +#define ADC_LTR2_LT2_1 (0x0000002U << ADC_LTR2_LT2_Pos) /*!< 0x00000002 */ +#define ADC_LTR2_LT2_2 (0x0000004U << ADC_LTR2_LT2_Pos) /*!< 0x00000004 */ +#define ADC_LTR2_LT2_3 (0x0000008U << ADC_LTR2_LT2_Pos) /*!< 0x00000008 */ +#define ADC_LTR2_LT2_4 (0x0000010U << ADC_LTR2_LT2_Pos) /*!< 0x00000010 */ +#define ADC_LTR2_LT2_5 (0x0000020U << ADC_LTR2_LT2_Pos) /*!< 0x00000020 */ +#define ADC_LTR2_LT2_6 (0x0000040U << ADC_LTR2_LT2_Pos) /*!< 0x00000040 */ +#define ADC_LTR2_LT2_7 (0x0000080U << ADC_LTR2_LT2_Pos) /*!< 0x00000080 */ +#define ADC_LTR2_LT2_8 (0x0000100U << ADC_LTR2_LT2_Pos) /*!< 0x00000100 */ +#define ADC_LTR2_LT2_9 (0x0000200U << ADC_LTR2_LT2_Pos) /*!< 0x00000200 */ +#define ADC_LTR2_LT2_10 (0x0000400U << ADC_LTR2_LT2_Pos) /*!< 0x00000400 */ +#define ADC_LTR2_LT2_11 (0x0000800U << ADC_LTR2_LT2_Pos) /*!< 0x00000800 */ +#define ADC_LTR2_LT2_12 (0x0001000U << ADC_LTR2_LT2_Pos) /*!< 0x00001000 */ +#define ADC_LTR2_LT2_13 (0x0002000U << ADC_LTR2_LT2_Pos) /*!< 0x00002000 */ +#define ADC_LTR2_LT2_14 (0x0004000U << ADC_LTR2_LT2_Pos) /*!< 0x00004000 */ +#define ADC_LTR2_LT2_15 (0x0008000U << ADC_LTR2_LT2_Pos) /*!< 0x00008000 */ +#define ADC_LTR2_LT2_16 (0x0010000U << ADC_LTR2_LT2_Pos) /*!< 0x00010000 */ +#define ADC_LTR2_LT2_17 (0x0020000U << ADC_LTR2_LT2_Pos) /*!< 0x00020000 */ +#define ADC_LTR2_LT2_18 (0x0040000U << ADC_LTR2_LT2_Pos) /*!< 0x00040000 */ +#define ADC_LTR2_LT2_19 (0x0080000U << ADC_LTR2_LT2_Pos) /*!< 0x00080000 */ +#define ADC_LTR2_LT2_20 (0x0100000U << ADC_LTR2_LT2_Pos) /*!< 0x00100000 */ +#define ADC_LTR2_LT2_21 (0x0200000U << ADC_LTR2_LT2_Pos) /*!< 0x00200000 */ +#define ADC_LTR2_LT2_22 (0x0400000U << ADC_LTR2_LT2_Pos) /*!< 0x00400000 */ +#define ADC_LTR2_LT2_23 (0x0800000U << ADC_LTR2_LT2_Pos) /*!< 0x00800000 */ +#define ADC_LTR2_LT2_24 (0x1000000U << ADC_LTR2_LT2_Pos) /*!< 0x01000000 */ +#define ADC_LTR2_LT2_25 (0x2000000U << ADC_LTR2_LT2_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR2 register ********************/ +#define ADC_HTR2_HT2_Pos (0U) +#define ADC_HTR2_HT2_Msk (0x3FFFFFFU << ADC_HTR2_HT2_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR2_HT2 ADC_HTR2_HT2_Msk /*!< ADC Analog watchdog 2 higher threshold */ +#define ADC_HTR2_HT2_0 (0x0000001U << ADC_HTR2_HT2_Pos) /*!< 0x00000001 */ +#define ADC_HTR2_HT2_1 (0x0000002U << ADC_HTR2_HT2_Pos) /*!< 0x00000002 */ +#define ADC_HTR2_HT2_2 (0x0000004U << ADC_HTR2_HT2_Pos) /*!< 0x00000004 */ +#define ADC_HTR2_HT2_3 (0x0000008U << ADC_HTR2_HT2_Pos) /*!< 0x00000008 */ +#define ADC_HTR2_HT2_4 (0x0000010U << ADC_HTR2_HT2_Pos) /*!< 0x00000010 */ +#define ADC_HTR2_HT2_5 (0x0000020U << ADC_HTR2_HT2_Pos) /*!< 0x00000020 */ +#define ADC_HTR2_HT2_6 (0x0000040U << ADC_HTR2_HT2_Pos) /*!< 0x00000040 */ +#define ADC_HTR2_HT2_7 (0x0000080U << ADC_HTR2_HT2_Pos) /*!< 0x00000080 */ +#define ADC_HTR2_HT2_8 (0x0000100U << ADC_HTR2_HT2_Pos) /*!< 0x00000100 */ +#define ADC_HTR2_HT2_9 (0x0000200U << ADC_HTR2_HT2_Pos) /*!< 0x00000200 */ +#define ADC_HTR2_HT2_10 (0x0000400U << ADC_HTR2_HT2_Pos) /*!< 0x00000400 */ +#define ADC_HTR2_HT2_11 (0x0000800U << ADC_HTR2_HT2_Pos) /*!< 0x00000800 */ +#define ADC_HTR2_HT2_12 (0x0001000U << ADC_HTR2_HT2_Pos) /*!< 0x00001000 */ +#define ADC_HTR2_HT2_13 (0x0002000U << ADC_HTR2_HT2_Pos) /*!< 0x00002000 */ +#define ADC_HTR2_HT2_14 (0x0004000U << ADC_HTR2_HT2_Pos) /*!< 0x00004000 */ +#define ADC_HTR2_HT2_15 (0x0008000U << ADC_HTR2_HT2_Pos) /*!< 0x00008000 */ +#define ADC_HTR2_HT2_16 (0x0010000U << ADC_HTR2_HT2_Pos) /*!< 0x00010000 */ +#define ADC_HTR2_HT2_17 (0x0020000U << ADC_HTR2_HT2_Pos) /*!< 0x00020000 */ +#define ADC_HTR2_HT2_18 (0x0040000U << ADC_HTR2_HT2_Pos) /*!< 0x00040000 */ +#define ADC_HTR2_HT2_19 (0x0080000U << ADC_HTR2_HT2_Pos) /*!< 0x00080000 */ +#define ADC_HTR2_HT2_20 (0x0100000U << ADC_HTR2_HT2_Pos) /*!< 0x00100000 */ +#define ADC_HTR2_HT2_21 (0x0200000U << ADC_HTR2_HT2_Pos) /*!< 0x00200000 */ +#define ADC_HTR2_HT2_22 (0x0400000U << ADC_HTR2_HT2_Pos) /*!< 0x00400000 */ +#define ADC_HTR2_HT2_23 (0x0800000U << ADC_HTR2_HT2_Pos) /*!< 0x00800000 */ +#define ADC_HTR2_HT2_24 (0x1000000U << ADC_HTR2_HT2_Pos) /*!< 0x01000000 */ +#define ADC_HTR2_HT2_25 (0x2000000U << ADC_HTR2_HT2_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_LTR3 register ********************/ +#define ADC_LTR3_LT3_Pos (0U) +#define ADC_LTR3_LT3_Msk (0x3FFFFFFU << ADC_LTR3_LT3_Pos) /*!< 0x03FFFFFF */ +#define ADC_LTR3_LT3 ADC_LTR3_LT3_Msk /*!< ADC Analog watchdog 3 lower threshold */ +#define ADC_LTR3_LT3_0 (0x0000001U << ADC_LTR3_LT3_Pos) /*!< 0x00000001 */ +#define ADC_LTR3_LT3_1 (0x0000002U << ADC_LTR3_LT3_Pos) /*!< 0x00000002 */ +#define ADC_LTR3_LT3_2 (0x0000004U << ADC_LTR3_LT3_Pos) /*!< 0x00000004 */ +#define ADC_LTR3_LT3_3 (0x0000008U << ADC_LTR3_LT3_Pos) /*!< 0x00000008 */ +#define ADC_LTR3_LT3_4 (0x0000010U << ADC_LTR3_LT3_Pos) /*!< 0x00000010 */ +#define ADC_LTR3_LT3_5 (0x0000020U << ADC_LTR3_LT3_Pos) /*!< 0x00000020 */ +#define ADC_LTR3_LT3_6 (0x0000040U << ADC_LTR3_LT3_Pos) /*!< 0x00000040 */ +#define ADC_LTR3_LT3_7 (0x0000080U << ADC_LTR3_LT3_Pos) /*!< 0x00000080 */ +#define ADC_LTR3_LT3_8 (0x0000100U << ADC_LTR3_LT3_Pos) /*!< 0x00000100 */ +#define ADC_LTR3_LT3_9 (0x0000200U << ADC_LTR3_LT3_Pos) /*!< 0x00000200 */ +#define ADC_LTR3_LT3_10 (0x0000400U << ADC_LTR3_LT3_Pos) /*!< 0x00000400 */ +#define ADC_LTR3_LT3_11 (0x0000800U << ADC_LTR3_LT3_Pos) /*!< 0x00000800 */ +#define ADC_LTR3_LT3_12 (0x0001000U << ADC_LTR3_LT3_Pos) /*!< 0x00001000 */ +#define ADC_LTR3_LT3_13 (0x0002000U << ADC_LTR3_LT3_Pos) /*!< 0x00002000 */ +#define ADC_LTR3_LT3_14 (0x0004000U << ADC_LTR3_LT3_Pos) /*!< 0x00004000 */ +#define ADC_LTR3_LT3_15 (0x0008000U << ADC_LTR3_LT3_Pos) /*!< 0x00008000 */ +#define ADC_LTR3_LT3_16 (0x0010000U << ADC_LTR3_LT3_Pos) /*!< 0x00010000 */ +#define ADC_LTR3_LT3_17 (0x0020000U << ADC_LTR3_LT3_Pos) /*!< 0x00020000 */ +#define ADC_LTR3_LT3_18 (0x0040000U << ADC_LTR3_LT3_Pos) /*!< 0x00040000 */ +#define ADC_LTR3_LT3_19 (0x0080000U << ADC_LTR3_LT3_Pos) /*!< 0x00080000 */ +#define ADC_LTR3_LT3_20 (0x0100000U << ADC_LTR3_LT3_Pos) /*!< 0x00100000 */ +#define ADC_LTR3_LT3_21 (0x0200000U << ADC_LTR3_LT3_Pos) /*!< 0x00200000 */ +#define ADC_LTR3_LT3_22 (0x0400000U << ADC_LTR3_LT3_Pos) /*!< 0x00400000 */ +#define ADC_LTR3_LT3_23 (0x0800000U << ADC_LTR3_LT3_Pos) /*!< 0x00800000 */ +#define ADC_LTR3_LT3_24 (0x1000000U << ADC_LTR3_LT3_Pos) /*!< 0x01000000 */ +#define ADC_LTR3_LT3_25 (0x2000000U << ADC_LTR3_LT3_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_HTR3 register ********************/ +#define ADC_HTR3_HT3_Pos (0U) +#define ADC_HTR3_HT3_Msk (0x3FFFFFFU << ADC_HTR3_HT3_Pos) /*!< 0x03FFFFFF */ +#define ADC_HTR3_HT3 ADC_HTR3_HT3_Msk /*!< ADC Analog watchdog 3 higher threshold */ +#define ADC_HTR3_HT3_0 (0x0000001U << ADC_HTR3_HT3_Pos) /*!< 0x00000001 */ +#define ADC_HTR3_HT3_1 (0x0000002U << ADC_HTR3_HT3_Pos) /*!< 0x00000002 */ +#define ADC_HTR3_HT3_2 (0x0000004U << ADC_HTR3_HT3_Pos) /*!< 0x00000004 */ +#define ADC_HTR3_HT3_3 (0x0000008U << ADC_HTR3_HT3_Pos) /*!< 0x00000008 */ +#define ADC_HTR3_HT3_4 (0x0000010U << ADC_HTR3_HT3_Pos) /*!< 0x00000010 */ +#define ADC_HTR3_HT3_5 (0x0000020U << ADC_HTR3_HT3_Pos) /*!< 0x00000020 */ +#define ADC_HTR3_HT3_6 (0x0000040U << ADC_HTR3_HT3_Pos) /*!< 0x00000040 */ +#define ADC_HTR3_HT3_7 (0x0000080U << ADC_HTR3_HT3_Pos) /*!< 0x00000080 */ +#define ADC_HTR3_HT3_8 (0x0000100U << ADC_HTR3_HT3_Pos) /*!< 0x00000100 */ +#define ADC_HTR3_HT3_9 (0x0000200U << ADC_HTR3_HT3_Pos) /*!< 0x00000200 */ +#define ADC_HTR3_HT3_10 (0x0000400U << ADC_HTR3_HT3_Pos) /*!< 0x00000400 */ +#define ADC_HTR3_HT3_11 (0x0000800U << ADC_HTR3_HT3_Pos) /*!< 0x00000800 */ +#define ADC_HTR3_HT3_12 (0x0001000U << ADC_HTR3_HT3_Pos) /*!< 0x00001000 */ +#define ADC_HTR3_HT3_13 (0x0002000U << ADC_HTR3_HT3_Pos) /*!< 0x00002000 */ +#define ADC_HTR3_HT3_14 (0x0004000U << ADC_HTR3_HT3_Pos) /*!< 0x00004000 */ +#define ADC_HTR3_HT3_15 (0x0008000U << ADC_HTR3_HT3_Pos) /*!< 0x00008000 */ +#define ADC_HTR3_HT3_16 (0x0010000U << ADC_HTR3_HT3_Pos) /*!< 0x00010000 */ +#define ADC_HTR3_HT3_17 (0x0020000U << ADC_HTR3_HT3_Pos) /*!< 0x00020000 */ +#define ADC_HTR3_HT3_18 (0x0040000U << ADC_HTR3_HT3_Pos) /*!< 0x00040000 */ +#define ADC_HTR3_HT3_19 (0x0080000U << ADC_HTR3_HT3_Pos) /*!< 0x00080000 */ +#define ADC_HTR3_HT3_20 (0x0100000U << ADC_HTR3_HT3_Pos) /*!< 0x00100000 */ +#define ADC_HTR3_HT3_21 (0x0200000U << ADC_HTR3_HT3_Pos) /*!< 0x00200000 */ +#define ADC_HTR3_HT3_22 (0x0400000U << ADC_HTR3_HT3_Pos) /*!< 0x00400000 */ +#define ADC_HTR3_HT3_23 (0x0800000U << ADC_HTR3_HT3_Pos) /*!< 0x00800000 */ +#define ADC_HTR3_HT3_24 (0x1000000U << ADC_HTR3_HT3_Pos) /*!< 0x01000000 */ +#define ADC_HTR3_HT3_25 (0x2000000U << ADC_HTR3_HT3_Pos) /*!< 0x02000000 */ + +/******************** Bit definition for ADC_SQR1 register ********************/ +#define ADC_SQR1_L_Pos (0U) +#define ADC_SQR1_L_Msk (0xFU << ADC_SQR1_L_Pos) /*!< 0x0000000F */ +#define ADC_SQR1_L ADC_SQR1_L_Msk /*!< ADC regular channel sequence lenght */ +#define ADC_SQR1_L_0 (0x1U << ADC_SQR1_L_Pos) /*!< 0x00000001 */ +#define ADC_SQR1_L_1 (0x2U << ADC_SQR1_L_Pos) /*!< 0x00000002 */ +#define ADC_SQR1_L_2 (0x4U << ADC_SQR1_L_Pos) /*!< 0x00000004 */ +#define ADC_SQR1_L_3 (0x8U << ADC_SQR1_L_Pos) /*!< 0x00000008 */ + +#define ADC_SQR1_SQ1_Pos (6U) +#define ADC_SQR1_SQ1_Msk (0x1FU << ADC_SQR1_SQ1_Pos) /*!< 0x000007C0 */ +#define ADC_SQR1_SQ1 ADC_SQR1_SQ1_Msk /*!< ADC 1st conversion in regular sequence */ +#define ADC_SQR1_SQ1_0 (0x01U << ADC_SQR1_SQ1_Pos) /*!< 0x00000040 */ +#define ADC_SQR1_SQ1_1 (0x02U << ADC_SQR1_SQ1_Pos) /*!< 0x00000080 */ +#define ADC_SQR1_SQ1_2 (0x04U << ADC_SQR1_SQ1_Pos) /*!< 0x00000100 */ +#define ADC_SQR1_SQ1_3 (0x08U << ADC_SQR1_SQ1_Pos) /*!< 0x00000200 */ +#define ADC_SQR1_SQ1_4 (0x10U << ADC_SQR1_SQ1_Pos) /*!< 0x00000400 */ + +#define ADC_SQR1_SQ2_Pos (12U) +#define ADC_SQR1_SQ2_Msk (0x1FU << ADC_SQR1_SQ2_Pos) /*!< 0x0001F000 */ +#define ADC_SQR1_SQ2 ADC_SQR1_SQ2_Msk /*!< ADC 2nd conversion in regular sequence */ +#define ADC_SQR1_SQ2_0 (0x01U << ADC_SQR1_SQ2_Pos) /*!< 0x00001000 */ +#define ADC_SQR1_SQ2_1 (0x02U << ADC_SQR1_SQ2_Pos) /*!< 0x00002000 */ +#define ADC_SQR1_SQ2_2 (0x04U << ADC_SQR1_SQ2_Pos) /*!< 0x00004000 */ +#define ADC_SQR1_SQ2_3 (0x08U << ADC_SQR1_SQ2_Pos) /*!< 0x00008000 */ +#define ADC_SQR1_SQ2_4 (0x10U << ADC_SQR1_SQ2_Pos) /*!< 0x00010000 */ + +#define ADC_SQR1_SQ3_Pos (18U) +#define ADC_SQR1_SQ3_Msk (0x1FU << ADC_SQR1_SQ3_Pos) /*!< 0x007C0000 */ +#define ADC_SQR1_SQ3 ADC_SQR1_SQ3_Msk /*!< ADC 3rd conversion in regular sequence */ +#define ADC_SQR1_SQ3_0 (0x01U << ADC_SQR1_SQ3_Pos) /*!< 0x00040000 */ +#define ADC_SQR1_SQ3_1 (0x02U << ADC_SQR1_SQ3_Pos) /*!< 0x00080000 */ +#define ADC_SQR1_SQ3_2 (0x04U << ADC_SQR1_SQ3_Pos) /*!< 0x00100000 */ +#define ADC_SQR1_SQ3_3 (0x08U << ADC_SQR1_SQ3_Pos) /*!< 0x00200000 */ +#define ADC_SQR1_SQ3_4 (0x10U << ADC_SQR1_SQ3_Pos) /*!< 0x00400000 */ + +#define ADC_SQR1_SQ4_Pos (24U) +#define ADC_SQR1_SQ4_Msk (0x1FU << ADC_SQR1_SQ4_Pos) /*!< 0x1F000000 */ +#define ADC_SQR1_SQ4 ADC_SQR1_SQ4_Msk /*!< ADC 4th conversion in regular sequence */ +#define ADC_SQR1_SQ4_0 (0x01U << ADC_SQR1_SQ4_Pos) /*!< 0x01000000 */ +#define ADC_SQR1_SQ4_1 (0x02U << ADC_SQR1_SQ4_Pos) /*!< 0x02000000 */ +#define ADC_SQR1_SQ4_2 (0x04U << ADC_SQR1_SQ4_Pos) /*!< 0x04000000 */ +#define ADC_SQR1_SQ4_3 (0x08U << ADC_SQR1_SQ4_Pos) /*!< 0x08000000 */ +#define ADC_SQR1_SQ4_4 (0x10U << ADC_SQR1_SQ4_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR2 register ********************/ +#define ADC_SQR2_SQ5_Pos (0U) +#define ADC_SQR2_SQ5_Msk (0x1FU << ADC_SQR2_SQ5_Pos) /*!< 0x0000001F */ +#define ADC_SQR2_SQ5 ADC_SQR2_SQ5_Msk /*!< ADC 5th conversion in regular sequence */ +#define ADC_SQR2_SQ5_0 (0x01U << ADC_SQR2_SQ5_Pos) /*!< 0x00000001 */ +#define ADC_SQR2_SQ5_1 (0x02U << ADC_SQR2_SQ5_Pos) /*!< 0x00000002 */ +#define ADC_SQR2_SQ5_2 (0x04U << ADC_SQR2_SQ5_Pos) /*!< 0x00000004 */ +#define ADC_SQR2_SQ5_3 (0x08U << ADC_SQR2_SQ5_Pos) /*!< 0x00000008 */ +#define ADC_SQR2_SQ5_4 (0x10U << ADC_SQR2_SQ5_Pos) /*!< 0x00000010 */ + +#define ADC_SQR2_SQ6_Pos (6U) +#define ADC_SQR2_SQ6_Msk (0x1FU << ADC_SQR2_SQ6_Pos) /*!< 0x000007C0 */ +#define ADC_SQR2_SQ6 ADC_SQR2_SQ6_Msk /*!< ADC 6th conversion in regular sequence */ +#define ADC_SQR2_SQ6_0 (0x01U << ADC_SQR2_SQ6_Pos) /*!< 0x00000040 */ +#define ADC_SQR2_SQ6_1 (0x02U << ADC_SQR2_SQ6_Pos) /*!< 0x00000080 */ +#define ADC_SQR2_SQ6_2 (0x04U << ADC_SQR2_SQ6_Pos) /*!< 0x00000100 */ +#define ADC_SQR2_SQ6_3 (0x08U << ADC_SQR2_SQ6_Pos) /*!< 0x00000200 */ +#define ADC_SQR2_SQ6_4 (0x10U << ADC_SQR2_SQ6_Pos) /*!< 0x00000400 */ + +#define ADC_SQR2_SQ7_Pos (12U) +#define ADC_SQR2_SQ7_Msk (0x1FU << ADC_SQR2_SQ7_Pos) /*!< 0x0001F000 */ +#define ADC_SQR2_SQ7 ADC_SQR2_SQ7_Msk /*!< ADC 7th conversion in regular sequence */ +#define ADC_SQR2_SQ7_0 (0x01U << ADC_SQR2_SQ7_Pos) /*!< 0x00001000 */ +#define ADC_SQR2_SQ7_1 (0x02U << ADC_SQR2_SQ7_Pos) /*!< 0x00002000 */ +#define ADC_SQR2_SQ7_2 (0x04U << ADC_SQR2_SQ7_Pos) /*!< 0x00004000 */ +#define ADC_SQR2_SQ7_3 (0x08U << ADC_SQR2_SQ7_Pos) /*!< 0x00008000 */ +#define ADC_SQR2_SQ7_4 (0x10U << ADC_SQR2_SQ7_Pos) /*!< 0x00010000 */ + +#define ADC_SQR2_SQ8_Pos (18U) +#define ADC_SQR2_SQ8_Msk (0x1FU << ADC_SQR2_SQ8_Pos) /*!< 0x007C0000 */ +#define ADC_SQR2_SQ8 ADC_SQR2_SQ8_Msk /*!< ADC 8th conversion in regular sequence */ +#define ADC_SQR2_SQ8_0 (0x01U << ADC_SQR2_SQ8_Pos) /*!< 0x00040000 */ +#define ADC_SQR2_SQ8_1 (0x02U << ADC_SQR2_SQ8_Pos) /*!< 0x00080000 */ +#define ADC_SQR2_SQ8_2 (0x04U << ADC_SQR2_SQ8_Pos) /*!< 0x00100000 */ +#define ADC_SQR2_SQ8_3 (0x08U << ADC_SQR2_SQ8_Pos) /*!< 0x00200000 */ +#define ADC_SQR2_SQ8_4 (0x10U << ADC_SQR2_SQ8_Pos) /*!< 0x00400000 */ + +#define ADC_SQR2_SQ9_Pos (24U) +#define ADC_SQR2_SQ9_Msk (0x1FU << ADC_SQR2_SQ9_Pos) /*!< 0x1F000000 */ +#define ADC_SQR2_SQ9 ADC_SQR2_SQ9_Msk /*!< ADC 9th conversion in regular sequence */ +#define ADC_SQR2_SQ9_0 (0x01U << ADC_SQR2_SQ9_Pos) /*!< 0x01000000 */ +#define ADC_SQR2_SQ9_1 (0x02U << ADC_SQR2_SQ9_Pos) /*!< 0x02000000 */ +#define ADC_SQR2_SQ9_2 (0x04U << ADC_SQR2_SQ9_Pos) /*!< 0x04000000 */ +#define ADC_SQR2_SQ9_3 (0x08U << ADC_SQR2_SQ9_Pos) /*!< 0x08000000 */ +#define ADC_SQR2_SQ9_4 (0x10U << ADC_SQR2_SQ9_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR3 register ********************/ +#define ADC_SQR3_SQ10_Pos (0U) +#define ADC_SQR3_SQ10_Msk (0x1FU << ADC_SQR3_SQ10_Pos) /*!< 0x0000001F */ +#define ADC_SQR3_SQ10 ADC_SQR3_SQ10_Msk /*!< ADC 10th conversion in regular sequence */ +#define ADC_SQR3_SQ10_0 (0x01U << ADC_SQR3_SQ10_Pos) /*!< 0x00000001 */ +#define ADC_SQR3_SQ10_1 (0x02U << ADC_SQR3_SQ10_Pos) /*!< 0x00000002 */ +#define ADC_SQR3_SQ10_2 (0x04U << ADC_SQR3_SQ10_Pos) /*!< 0x00000004 */ +#define ADC_SQR3_SQ10_3 (0x08U << ADC_SQR3_SQ10_Pos) /*!< 0x00000008 */ +#define ADC_SQR3_SQ10_4 (0x10U << ADC_SQR3_SQ10_Pos) /*!< 0x00000010 */ + +#define ADC_SQR3_SQ11_Pos (6U) +#define ADC_SQR3_SQ11_Msk (0x1FU << ADC_SQR3_SQ11_Pos) /*!< 0x000007C0 */ +#define ADC_SQR3_SQ11 ADC_SQR3_SQ11_Msk /*!< ADC 11th conversion in regular sequence */ +#define ADC_SQR3_SQ11_0 (0x01U << ADC_SQR3_SQ11_Pos) /*!< 0x00000040 */ +#define ADC_SQR3_SQ11_1 (0x02U << ADC_SQR3_SQ11_Pos) /*!< 0x00000080 */ +#define ADC_SQR3_SQ11_2 (0x04U << ADC_SQR3_SQ11_Pos) /*!< 0x00000100 */ +#define ADC_SQR3_SQ11_3 (0x08U << ADC_SQR3_SQ11_Pos) /*!< 0x00000200 */ +#define ADC_SQR3_SQ11_4 (0x10U << ADC_SQR3_SQ11_Pos) /*!< 0x00000400 */ + +#define ADC_SQR3_SQ12_Pos (12U) +#define ADC_SQR3_SQ12_Msk (0x1FU << ADC_SQR3_SQ12_Pos) /*!< 0x0001F000 */ +#define ADC_SQR3_SQ12 ADC_SQR3_SQ12_Msk /*!< ADC 12th conversion in regular sequence */ +#define ADC_SQR3_SQ12_0 (0x01U << ADC_SQR3_SQ12_Pos) /*!< 0x00001000 */ +#define ADC_SQR3_SQ12_1 (0x02U << ADC_SQR3_SQ12_Pos) /*!< 0x00002000 */ +#define ADC_SQR3_SQ12_2 (0x04U << ADC_SQR3_SQ12_Pos) /*!< 0x00004000 */ +#define ADC_SQR3_SQ12_3 (0x08U << ADC_SQR3_SQ12_Pos) /*!< 0x00008000 */ +#define ADC_SQR3_SQ12_4 (0x10U << ADC_SQR3_SQ12_Pos) /*!< 0x00010000 */ + +#define ADC_SQR3_SQ13_Pos (18U) +#define ADC_SQR3_SQ13_Msk (0x1FU << ADC_SQR3_SQ13_Pos) /*!< 0x007C0000 */ +#define ADC_SQR3_SQ13 ADC_SQR3_SQ13_Msk /*!< ADC 13th conversion in regular sequence */ +#define ADC_SQR3_SQ13_0 (0x01U << ADC_SQR3_SQ13_Pos) /*!< 0x00040000 */ +#define ADC_SQR3_SQ13_1 (0x02U << ADC_SQR3_SQ13_Pos) /*!< 0x00080000 */ +#define ADC_SQR3_SQ13_2 (0x04U << ADC_SQR3_SQ13_Pos) /*!< 0x00100000 */ +#define ADC_SQR3_SQ13_3 (0x08U << ADC_SQR3_SQ13_Pos) /*!< 0x00200000 */ +#define ADC_SQR3_SQ13_4 (0x10U << ADC_SQR3_SQ13_Pos) /*!< 0x00400000 */ + +#define ADC_SQR3_SQ14_Pos (24U) +#define ADC_SQR3_SQ14_Msk (0x1FU << ADC_SQR3_SQ14_Pos) /*!< 0x1F000000 */ +#define ADC_SQR3_SQ14 ADC_SQR3_SQ14_Msk /*!< ADC 14th conversion in regular sequence */ +#define ADC_SQR3_SQ14_0 (0x01U << ADC_SQR3_SQ14_Pos) /*!< 0x01000000 */ +#define ADC_SQR3_SQ14_1 (0x02U << ADC_SQR3_SQ14_Pos) /*!< 0x02000000 */ +#define ADC_SQR3_SQ14_2 (0x04U << ADC_SQR3_SQ14_Pos) /*!< 0x04000000 */ +#define ADC_SQR3_SQ14_3 (0x08U << ADC_SQR3_SQ14_Pos) /*!< 0x08000000 */ +#define ADC_SQR3_SQ14_4 (0x10U << ADC_SQR3_SQ14_Pos) /*!< 0x10000000 */ + +/******************** Bit definition for ADC_SQR4 register ********************/ +#define ADC_SQR4_SQ15_Pos (0U) +#define ADC_SQR4_SQ15_Msk (0x1FU << ADC_SQR4_SQ15_Pos) /*!< 0x0000001F */ +#define ADC_SQR4_SQ15 ADC_SQR4_SQ15_Msk /*!< ADC 15th conversion in regular sequence */ +#define ADC_SQR4_SQ15_0 (0x01U << ADC_SQR4_SQ15_Pos) /*!< 0x00000001 */ +#define ADC_SQR4_SQ15_1 (0x02U << ADC_SQR4_SQ15_Pos) /*!< 0x00000002 */ +#define ADC_SQR4_SQ15_2 (0x04U << ADC_SQR4_SQ15_Pos) /*!< 0x00000004 */ +#define ADC_SQR4_SQ15_3 (0x08U << ADC_SQR4_SQ15_Pos) /*!< 0x00000008 */ +#define ADC_SQR4_SQ15_4 (0x10U << ADC_SQR4_SQ15_Pos) /*!< 0x00000010 */ + +#define ADC_SQR4_SQ16_Pos (6U) +#define ADC_SQR4_SQ16_Msk (0x1FU << ADC_SQR4_SQ16_Pos) /*!< 0x000007C0 */ +#define ADC_SQR4_SQ16 ADC_SQR4_SQ16_Msk /*!< ADC 16th conversion in regular sequence */ +#define ADC_SQR4_SQ16_0 (0x01U << ADC_SQR4_SQ16_Pos) /*!< 0x00000040 */ +#define ADC_SQR4_SQ16_1 (0x02U << ADC_SQR4_SQ16_Pos) /*!< 0x00000080 */ +#define ADC_SQR4_SQ16_2 (0x04U << ADC_SQR4_SQ16_Pos) /*!< 0x00000100 */ +#define ADC_SQR4_SQ16_3 (0x08U << ADC_SQR4_SQ16_Pos) /*!< 0x00000200 */ +#define ADC_SQR4_SQ16_4 (0x10U << ADC_SQR4_SQ16_Pos) /*!< 0x00000400 */ +/******************** Bit definition for ADC_DR register ********************/ +#define ADC_DR_RDATA_Pos (0U) +#define ADC_DR_RDATA_Msk (0xFFFFFFFFU << ADC_DR_RDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_DR_RDATA ADC_DR_RDATA_Msk /*!< ADC regular Data converted */ +#define ADC_DR_RDATA_0 (0x00000001U << ADC_DR_RDATA_Pos) /*!< 0x00000001 */ +#define ADC_DR_RDATA_1 (0x00000002U << ADC_DR_RDATA_Pos) /*!< 0x00000002 */ +#define ADC_DR_RDATA_2 (0x00000004U << ADC_DR_RDATA_Pos) /*!< 0x00000004 */ +#define ADC_DR_RDATA_3 (0x00000008U << ADC_DR_RDATA_Pos) /*!< 0x00000008 */ +#define ADC_DR_RDATA_4 (0x00000010U << ADC_DR_RDATA_Pos) /*!< 0x00000010 */ +#define ADC_DR_RDATA_5 (0x00000020U << ADC_DR_RDATA_Pos) /*!< 0x00000020 */ +#define ADC_DR_RDATA_6 (0x00000040U << ADC_DR_RDATA_Pos) /*!< 0x00000040 */ +#define ADC_DR_RDATA_7 (0x00000080U << ADC_DR_RDATA_Pos) /*!< 0x00000080 */ +#define ADC_DR_RDATA_8 (0x00000100U << ADC_DR_RDATA_Pos) /*!< 0x00000100 */ +#define ADC_DR_RDATA_9 (0x00000200U << ADC_DR_RDATA_Pos) /*!< 0x00000200 */ +#define ADC_DR_RDATA_10 (0x00000400U << ADC_DR_RDATA_Pos) /*!< 0x00000400 */ +#define ADC_DR_RDATA_11 (0x00000800U << ADC_DR_RDATA_Pos) /*!< 0x00000800 */ +#define ADC_DR_RDATA_12 (0x00001000U << ADC_DR_RDATA_Pos) /*!< 0x00001000 */ +#define ADC_DR_RDATA_13 (0x00002000U << ADC_DR_RDATA_Pos) /*!< 0x00002000 */ +#define ADC_DR_RDATA_14 (0x00004000U << ADC_DR_RDATA_Pos) /*!< 0x00004000 */ +#define ADC_DR_RDATA_15 (0x00008000U << ADC_DR_RDATA_Pos) /*!< 0x00008000 */ +#define ADC_DR_RDATA_16 (0x00010000U << ADC_DR_RDATA_Pos) /*!< 0x00010000 */ +#define ADC_DR_RDATA_17 (0x00020000U << ADC_DR_RDATA_Pos) /*!< 0x00020000 */ +#define ADC_DR_RDATA_18 (0x00040000U << ADC_DR_RDATA_Pos) /*!< 0x00040000 */ +#define ADC_DR_RDATA_19 (0x00080000U << ADC_DR_RDATA_Pos) /*!< 0x00080000 */ +#define ADC_DR_RDATA_20 (0x00100000U << ADC_DR_RDATA_Pos) /*!< 0x00100000 */ +#define ADC_DR_RDATA_21 (0x00200000U << ADC_DR_RDATA_Pos) /*!< 0x00200000 */ +#define ADC_DR_RDATA_22 (0x00400000U << ADC_DR_RDATA_Pos) /*!< 0x00400000 */ +#define ADC_DR_RDATA_23 (0x00800000U << ADC_DR_RDATA_Pos) /*!< 0x00800000 */ +#define ADC_DR_RDATA_24 (0x01000000U << ADC_DR_RDATA_Pos) /*!< 0x01000000 */ +#define ADC_DR_RDATA_25 (0x02000000U << ADC_DR_RDATA_Pos) /*!< 0x02000000 */ +#define ADC_DR_RDATA_26 (0x04000000U << ADC_DR_RDATA_Pos) /*!< 0x04000000 */ +#define ADC_DR_RDATA_27 (0x08000000U << ADC_DR_RDATA_Pos) /*!< 0x08000000 */ +#define ADC_DR_RDATA_28 (0x10000000U << ADC_DR_RDATA_Pos) /*!< 0x10000000 */ +#define ADC_DR_RDATA_29 (0x20000000U << ADC_DR_RDATA_Pos) /*!< 0x20000000 */ +#define ADC_DR_RDATA_30 (0x40000000U << ADC_DR_RDATA_Pos) /*!< 0x40000000 */ +#define ADC_DR_RDATA_31 (0x80000000U << ADC_DR_RDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JSQR register ********************/ +#define ADC_JSQR_JL_Pos (0U) +#define ADC_JSQR_JL_Msk (0x3U << ADC_JSQR_JL_Pos) /*!< 0x00000003 */ +#define ADC_JSQR_JL ADC_JSQR_JL_Msk /*!< ADC injected channel sequence length */ +#define ADC_JSQR_JL_0 (0x1U << ADC_JSQR_JL_Pos) /*!< 0x00000001 */ +#define ADC_JSQR_JL_1 (0x2U << ADC_JSQR_JL_Pos) /*!< 0x00000002 */ + +#define ADC_JSQR_JEXTSEL_Pos (2U) +#define ADC_JSQR_JEXTSEL_Msk (0x1FU << ADC_JSQR_JEXTSEL_Pos) /*!< 0x0000007C */ +#define ADC_JSQR_JEXTSEL ADC_JSQR_JEXTSEL_Msk /*!< ADC external trigger selection for injected group */ +#define ADC_JSQR_JEXTSEL_0 (0x01U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000004 */ +#define ADC_JSQR_JEXTSEL_1 (0x02U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000008 */ +#define ADC_JSQR_JEXTSEL_2 (0x04U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000010 */ +#define ADC_JSQR_JEXTSEL_3 (0x08U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000020 */ +#define ADC_JSQR_JEXTSEL_4 (0x10U << ADC_JSQR_JEXTSEL_Pos) /*!< 0x00000040 */ + +#define ADC_JSQR_JEXTEN_Pos (7U) +#define ADC_JSQR_JEXTEN_Msk (0x3U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000180 */ +#define ADC_JSQR_JEXTEN ADC_JSQR_JEXTEN_Msk /*!< ADC external trigger enable and polarity selection for injected channels */ +#define ADC_JSQR_JEXTEN_0 (0x1U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000080 */ +#define ADC_JSQR_JEXTEN_1 (0x2U << ADC_JSQR_JEXTEN_Pos) /*!< 0x00000100 */ + +#define ADC_JSQR_JSQ1_Pos (9U) +#define ADC_JSQR_JSQ1_Msk (0x1FU << ADC_JSQR_JSQ1_Pos) /*!< 0x00003E00 */ +#define ADC_JSQR_JSQ1 ADC_JSQR_JSQ1_Msk /*!< ADC 1st conversion in injected sequence */ +#define ADC_JSQR_JSQ1_0 (0x01U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000200 */ +#define ADC_JSQR_JSQ1_1 (0x02U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000400 */ +#define ADC_JSQR_JSQ1_2 (0x04U << ADC_JSQR_JSQ1_Pos) /*!< 0x00000800 */ +#define ADC_JSQR_JSQ1_3 (0x08U << ADC_JSQR_JSQ1_Pos) /*!< 0x00001000 */ +#define ADC_JSQR_JSQ1_4 (0x10U << ADC_JSQR_JSQ1_Pos) /*!< 0x00002000 */ + +#define ADC_JSQR_JSQ2_Pos (15U) +#define ADC_JSQR_JSQ2_Msk (0x1FU << ADC_JSQR_JSQ2_Pos) /*!< 0x000F8000 */ +#define ADC_JSQR_JSQ2 ADC_JSQR_JSQ2_Msk /*!< ADC 2nd conversion in injected sequence */ +#define ADC_JSQR_JSQ2_0 (0x01U << ADC_JSQR_JSQ2_Pos) /*!< 0x00008000 */ +#define ADC_JSQR_JSQ2_1 (0x02U << ADC_JSQR_JSQ2_Pos) /*!< 0x00010000 */ +#define ADC_JSQR_JSQ2_2 (0x04U << ADC_JSQR_JSQ2_Pos) /*!< 0x00020000 */ +#define ADC_JSQR_JSQ2_3 (0x08U << ADC_JSQR_JSQ2_Pos) /*!< 0x00040000 */ +#define ADC_JSQR_JSQ2_4 (0x10U << ADC_JSQR_JSQ2_Pos) /*!< 0x00080000 */ + +#define ADC_JSQR_JSQ3_Pos (21U) +#define ADC_JSQR_JSQ3_Msk (0x1FU << ADC_JSQR_JSQ3_Pos) /*!< 0x03E00000 */ +#define ADC_JSQR_JSQ3 ADC_JSQR_JSQ3_Msk /*!< ADC 3rd conversion in injected sequence */ +#define ADC_JSQR_JSQ3_0 (0x01U << ADC_JSQR_JSQ3_Pos) /*!< 0x00200000 */ +#define ADC_JSQR_JSQ3_1 (0x02U << ADC_JSQR_JSQ3_Pos) /*!< 0x00400000 */ +#define ADC_JSQR_JSQ3_2 (0x04U << ADC_JSQR_JSQ3_Pos) /*!< 0x00800000 */ +#define ADC_JSQR_JSQ3_3 (0x08U << ADC_JSQR_JSQ3_Pos) /*!< 0x01000000 */ +#define ADC_JSQR_JSQ3_4 (0x10U << ADC_JSQR_JSQ3_Pos) /*!< 0x02000000 */ + +#define ADC_JSQR_JSQ4_Pos (27U) +#define ADC_JSQR_JSQ4_Msk (0x1FU << ADC_JSQR_JSQ4_Pos) /*!< 0xF8000000 */ +#define ADC_JSQR_JSQ4 ADC_JSQR_JSQ4_Msk /*!< ADC 4th conversion in injected sequence */ +#define ADC_JSQR_JSQ4_0 (0x01U << ADC_JSQR_JSQ4_Pos) /*!< 0x08000000 */ +#define ADC_JSQR_JSQ4_1 (0x02U << ADC_JSQR_JSQ4_Pos) /*!< 0x10000000 */ +#define ADC_JSQR_JSQ4_2 (0x04U << ADC_JSQR_JSQ4_Pos) /*!< 0x20000000 */ +#define ADC_JSQR_JSQ4_3 (0x08U << ADC_JSQR_JSQ4_Pos) /*!< 0x40000000 */ +#define ADC_JSQR_JSQ4_4 (0x10U << ADC_JSQR_JSQ4_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_OFR1 register ********************/ +#define ADC_OFR1_OFFSET1_Pos (0U) +#define ADC_OFR1_OFFSET1_Msk (0x3FFFFFFU << ADC_OFR1_OFFSET1_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR1_OFFSET1 ADC_OFR1_OFFSET1_Msk /*!< ADC data offset 1 for channel programmed into bits OFFSET1_CH[4:0] */ +#define ADC_OFR1_OFFSET1_0 (0x0000001U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000001 */ +#define ADC_OFR1_OFFSET1_1 (0x0000002U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000002 */ +#define ADC_OFR1_OFFSET1_2 (0x0000004U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000004 */ +#define ADC_OFR1_OFFSET1_3 (0x0000008U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000008 */ +#define ADC_OFR1_OFFSET1_4 (0x0000010U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000010 */ +#define ADC_OFR1_OFFSET1_5 (0x0000020U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000020 */ +#define ADC_OFR1_OFFSET1_6 (0x0000040U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000040 */ +#define ADC_OFR1_OFFSET1_7 (0x0000080U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000080 */ +#define ADC_OFR1_OFFSET1_8 (0x0000100U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000100 */ +#define ADC_OFR1_OFFSET1_9 (0x0000200U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000200 */ +#define ADC_OFR1_OFFSET1_10 (0x0000400U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000400 */ +#define ADC_OFR1_OFFSET1_11 (0x0000800U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00000800 */ +#define ADC_OFR1_OFFSET1_12 (0x0001000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00001000 */ +#define ADC_OFR1_OFFSET1_13 (0x0002000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00002000 */ +#define ADC_OFR1_OFFSET1_14 (0x0004000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00004000 */ +#define ADC_OFR1_OFFSET1_15 (0x0008000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00008000 */ +#define ADC_OFR1_OFFSET1_16 (0x0010000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00010000 */ +#define ADC_OFR1_OFFSET1_17 (0x0020000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00020000 */ +#define ADC_OFR1_OFFSET1_18 (0x0040000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00040000 */ +#define ADC_OFR1_OFFSET1_19 (0x0080000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00080000 */ +#define ADC_OFR1_OFFSET1_20 (0x0100000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00100000 */ +#define ADC_OFR1_OFFSET1_21 (0x0200000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00200000 */ +#define ADC_OFR1_OFFSET1_22 (0x0400000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00400000 */ +#define ADC_OFR1_OFFSET1_23 (0x0800000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x00800000 */ +#define ADC_OFR1_OFFSET1_24 (0x1000000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x01000000 */ +#define ADC_OFR1_OFFSET1_25 (0x2000000U << ADC_OFR1_OFFSET1_Pos) /*!< 0x02000000 */ + +#define ADC_OFR1_OFFSET1_CH_Pos (26U) +#define ADC_OFR1_OFFSET1_CH_Msk (0x1FU << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR1_OFFSET1_CH ADC_OFR1_OFFSET1_CH_Msk /*!< ADC Channel selection for the data offset 1 */ +#define ADC_OFR1_OFFSET1_CH_0 (0x01U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR1_OFFSET1_CH_1 (0x02U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR1_OFFSET1_CH_2 (0x04U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR1_OFFSET1_CH_3 (0x08U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR1_OFFSET1_CH_4 (0x10U << ADC_OFR1_OFFSET1_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR1_SSATE_Pos (31U) +#define ADC_OFR1_SSATE_Msk (0x1U << ADC_OFR1_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR1_SSATE ADC_OFR1_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR2 register ********************/ +#define ADC_OFR2_OFFSET2_Pos (0U) +#define ADC_OFR2_OFFSET2_Msk (0x3FFFFFFU << ADC_OFR2_OFFSET2_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR2_OFFSET2 ADC_OFR2_OFFSET2_Msk /*!< ADC data offset 2 for channel programmed into bits OFFSET2_CH[4:0] */ +#define ADC_OFR2_OFFSET2_0 (0x0000001U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000001 */ +#define ADC_OFR2_OFFSET2_1 (0x0000002U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000002 */ +#define ADC_OFR2_OFFSET2_2 (0x0000004U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000004 */ +#define ADC_OFR2_OFFSET2_3 (0x0000008U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000008 */ +#define ADC_OFR2_OFFSET2_4 (0x0000010U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000010 */ +#define ADC_OFR2_OFFSET2_5 (0x0000020U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000020 */ +#define ADC_OFR2_OFFSET2_6 (0x0000040U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000040 */ +#define ADC_OFR2_OFFSET2_7 (0x0000080U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000080 */ +#define ADC_OFR2_OFFSET2_8 (0x0000100U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000100 */ +#define ADC_OFR2_OFFSET2_9 (0x0000200U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000200 */ +#define ADC_OFR2_OFFSET2_10 (0x0000400U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000400 */ +#define ADC_OFR2_OFFSET2_11 (0x0000800U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00000800 */ +#define ADC_OFR2_OFFSET2_12 (0x0001000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00001000 */ +#define ADC_OFR2_OFFSET2_13 (0x0002000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00002000 */ +#define ADC_OFR2_OFFSET2_14 (0x0004000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00004000 */ +#define ADC_OFR2_OFFSET2_15 (0x0008000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00008000 */ +#define ADC_OFR2_OFFSET2_16 (0x0010000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00010000 */ +#define ADC_OFR2_OFFSET2_17 (0x0020000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00020000 */ +#define ADC_OFR2_OFFSET2_18 (0x0040000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00040000 */ +#define ADC_OFR2_OFFSET2_19 (0x0080000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00080000 */ +#define ADC_OFR2_OFFSET2_20 (0x0100000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00100000 */ +#define ADC_OFR2_OFFSET2_21 (0x0200000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00200000 */ +#define ADC_OFR2_OFFSET2_22 (0x0400000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00400000 */ +#define ADC_OFR2_OFFSET2_23 (0x0800000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x00800000 */ +#define ADC_OFR2_OFFSET2_24 (0x1000000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x01000000 */ +#define ADC_OFR2_OFFSET2_25 (0x2000000U << ADC_OFR2_OFFSET2_Pos) /*!< 0x02000000 */ + +#define ADC_OFR2_OFFSET2_CH_Pos (26U) +#define ADC_OFR2_OFFSET2_CH_Msk (0x1FU << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR2_OFFSET2_CH ADC_OFR2_OFFSET2_CH_Msk /*!< ADC Channel selection for the data offset 2 */ +#define ADC_OFR2_OFFSET2_CH_0 (0x01U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR2_OFFSET2_CH_1 (0x02U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR2_OFFSET2_CH_2 (0x04U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR2_OFFSET2_CH_3 (0x08U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR2_OFFSET2_CH_4 (0x10U << ADC_OFR2_OFFSET2_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR2_SSATE_Pos (31U) +#define ADC_OFR2_SSATE_Msk (0x1U << ADC_OFR2_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR2_SSATE ADC_OFR2_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR3 register ********************/ +#define ADC_OFR3_OFFSET3_Pos (0U) +#define ADC_OFR3_OFFSET3_Msk (0x3FFFFFFU << ADC_OFR3_OFFSET3_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR3_OFFSET3 ADC_OFR3_OFFSET3_Msk /*!< ADC data offset 3 for channel programmed into bits OFFSET3_CH[4:0] */ +#define ADC_OFR3_OFFSET3_0 (0x0000001U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000001 */ +#define ADC_OFR3_OFFSET3_1 (0x0000002U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000002 */ +#define ADC_OFR3_OFFSET3_2 (0x0000004U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000004 */ +#define ADC_OFR3_OFFSET3_3 (0x0000008U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000008 */ +#define ADC_OFR3_OFFSET3_4 (0x0000010U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000010 */ +#define ADC_OFR3_OFFSET3_5 (0x0000020U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000020 */ +#define ADC_OFR3_OFFSET3_6 (0x0000040U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000040 */ +#define ADC_OFR3_OFFSET3_7 (0x0000080U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000080 */ +#define ADC_OFR3_OFFSET3_8 (0x0000100U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000100 */ +#define ADC_OFR3_OFFSET3_9 (0x0000200U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000200 */ +#define ADC_OFR3_OFFSET3_10 (0x0000400U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000400 */ +#define ADC_OFR3_OFFSET3_11 (0x0000800U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00000800 */ +#define ADC_OFR3_OFFSET3_12 (0x0001000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00001000 */ +#define ADC_OFR3_OFFSET3_13 (0x0002000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00002000 */ +#define ADC_OFR3_OFFSET3_14 (0x0004000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00004000 */ +#define ADC_OFR3_OFFSET3_15 (0x0008000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00008000 */ +#define ADC_OFR3_OFFSET3_16 (0x0010000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00010000 */ +#define ADC_OFR3_OFFSET3_17 (0x0020000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00020000 */ +#define ADC_OFR3_OFFSET3_18 (0x0040000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00040000 */ +#define ADC_OFR3_OFFSET3_19 (0x0080000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00080000 */ +#define ADC_OFR3_OFFSET3_20 (0x0100000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00100000 */ +#define ADC_OFR3_OFFSET3_21 (0x0200000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00200000 */ +#define ADC_OFR3_OFFSET3_22 (0x0400000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00400000 */ +#define ADC_OFR3_OFFSET3_23 (0x0800000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x00800000 */ +#define ADC_OFR3_OFFSET3_24 (0x1000000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x01000000 */ +#define ADC_OFR3_OFFSET3_25 (0x2000000U << ADC_OFR3_OFFSET3_Pos) /*!< 0x02000000 */ + +#define ADC_OFR3_OFFSET3_CH_Pos (26U) +#define ADC_OFR3_OFFSET3_CH_Msk (0x1FU << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR3_OFFSET3_CH ADC_OFR3_OFFSET3_CH_Msk /*!< ADC Channel selection for the data offset 3 */ +#define ADC_OFR3_OFFSET3_CH_0 (0x01U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR3_OFFSET3_CH_1 (0x02U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR3_OFFSET3_CH_2 (0x04U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR3_OFFSET3_CH_3 (0x08U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR3_OFFSET3_CH_4 (0x10U << ADC_OFR3_OFFSET3_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR3_SSATE_Pos (31U) +#define ADC_OFR3_SSATE_Msk (0x1U << ADC_OFR3_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR3_SSATE ADC_OFR3_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_OFR4 register ********************/ +#define ADC_OFR4_OFFSET4_Pos (0U) +#define ADC_OFR4_OFFSET4_Msk (0x3FFFFFFU << ADC_OFR4_OFFSET4_Pos) /*!< 0x03FFFFFF */ +#define ADC_OFR4_OFFSET4 ADC_OFR4_OFFSET4_Msk /*!< ADC data offset 4 for channel programmed into bits OFFSET4_CH[4:0] */ +#define ADC_OFR4_OFFSET4_0 (0x0000001U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000001 */ +#define ADC_OFR4_OFFSET4_1 (0x0000002U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000002 */ +#define ADC_OFR4_OFFSET4_2 (0x0000004U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000004 */ +#define ADC_OFR4_OFFSET4_3 (0x0000008U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000008 */ +#define ADC_OFR4_OFFSET4_4 (0x0000010U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000010 */ +#define ADC_OFR4_OFFSET4_5 (0x0000020U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000020 */ +#define ADC_OFR4_OFFSET4_6 (0x0000040U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000040 */ +#define ADC_OFR4_OFFSET4_7 (0x0000080U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000080 */ +#define ADC_OFR4_OFFSET4_8 (0x0000100U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000100 */ +#define ADC_OFR4_OFFSET4_9 (0x0000200U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000200 */ +#define ADC_OFR4_OFFSET4_10 (0x0000400U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000400 */ +#define ADC_OFR4_OFFSET4_11 (0x0000800U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00000800 */ +#define ADC_OFR4_OFFSET4_12 (0x0001000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00001000 */ +#define ADC_OFR4_OFFSET4_13 (0x0002000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00002000 */ +#define ADC_OFR4_OFFSET4_14 (0x0004000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00004000 */ +#define ADC_OFR4_OFFSET4_15 (0x0008000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00008000 */ +#define ADC_OFR4_OFFSET4_16 (0x0010000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00010000 */ +#define ADC_OFR4_OFFSET4_17 (0x0020000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00020000 */ +#define ADC_OFR4_OFFSET4_18 (0x0040000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00040000 */ +#define ADC_OFR4_OFFSET4_19 (0x0080000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00080000 */ +#define ADC_OFR4_OFFSET4_20 (0x0100000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00100000 */ +#define ADC_OFR4_OFFSET4_21 (0x0200000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00200000 */ +#define ADC_OFR4_OFFSET4_22 (0x0400000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00400000 */ +#define ADC_OFR4_OFFSET4_23 (0x0800000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x00800000 */ +#define ADC_OFR4_OFFSET4_24 (0x1000000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x01000000 */ +#define ADC_OFR4_OFFSET4_25 (0x2000000U << ADC_OFR4_OFFSET4_Pos) /*!< 0x02000000 */ + +#define ADC_OFR4_OFFSET4_CH_Pos (26U) +#define ADC_OFR4_OFFSET4_CH_Msk (0x1FU << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x7C000000 */ +#define ADC_OFR4_OFFSET4_CH ADC_OFR4_OFFSET4_CH_Msk /*!< ADC Channel selection for the data offset 4 */ +#define ADC_OFR4_OFFSET4_CH_0 (0x01U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x04000000 */ +#define ADC_OFR4_OFFSET4_CH_1 (0x02U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x08000000 */ +#define ADC_OFR4_OFFSET4_CH_2 (0x04U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x10000000 */ +#define ADC_OFR4_OFFSET4_CH_3 (0x08U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x20000000 */ +#define ADC_OFR4_OFFSET4_CH_4 (0x10U << ADC_OFR4_OFFSET4_CH_Pos) /*!< 0x40000000 */ + +#define ADC_OFR4_SSATE_Pos (31U) +#define ADC_OFR4_SSATE_Msk (0x1U << ADC_OFR4_SSATE_Pos) /*!< 0x80000000 */ +#define ADC_OFR4_SSATE ADC_OFR4_SSATE_Msk /*!< ADC Signed saturation Enable */ + +/******************** Bit definition for ADC_JDR1 register ********************/ +#define ADC_JDR1_JDATA_Pos (0U) +#define ADC_JDR1_JDATA_Msk (0xFFFFFFFFU << ADC_JDR1_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR1_JDATA ADC_JDR1_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR1_JDATA_0 (0x00000001U << ADC_JDR1_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR1_JDATA_1 (0x00000002U << ADC_JDR1_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR1_JDATA_2 (0x00000004U << ADC_JDR1_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR1_JDATA_3 (0x00000008U << ADC_JDR1_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR1_JDATA_4 (0x00000010U << ADC_JDR1_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR1_JDATA_5 (0x00000020U << ADC_JDR1_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR1_JDATA_6 (0x00000040U << ADC_JDR1_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR1_JDATA_7 (0x00000080U << ADC_JDR1_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR1_JDATA_8 (0x00000100U << ADC_JDR1_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR1_JDATA_9 (0x00000200U << ADC_JDR1_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR1_JDATA_10 (0x00000400U << ADC_JDR1_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR1_JDATA_11 (0x00000800U << ADC_JDR1_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR1_JDATA_12 (0x00001000U << ADC_JDR1_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR1_JDATA_13 (0x00002000U << ADC_JDR1_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR1_JDATA_14 (0x00004000U << ADC_JDR1_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR1_JDATA_15 (0x00008000U << ADC_JDR1_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR1_JDATA_16 (0x00010000U << ADC_JDR1_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR1_JDATA_17 (0x00020000U << ADC_JDR1_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR1_JDATA_18 (0x00040000U << ADC_JDR1_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR1_JDATA_19 (0x00080000U << ADC_JDR1_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR1_JDATA_20 (0x00100000U << ADC_JDR1_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR1_JDATA_21 (0x00200000U << ADC_JDR1_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR1_JDATA_22 (0x00400000U << ADC_JDR1_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR1_JDATA_23 (0x00800000U << ADC_JDR1_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR1_JDATA_24 (0x01000000U << ADC_JDR1_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR1_JDATA_25 (0x02000000U << ADC_JDR1_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR1_JDATA_26 (0x04000000U << ADC_JDR1_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR1_JDATA_27 (0x08000000U << ADC_JDR1_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR1_JDATA_28 (0x10000000U << ADC_JDR1_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR1_JDATA_29 (0x20000000U << ADC_JDR1_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR1_JDATA_30 (0x40000000U << ADC_JDR1_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR1_JDATA_31 (0x80000000U << ADC_JDR1_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR2 register ********************/ +#define ADC_JDR2_JDATA_Pos (0U) +#define ADC_JDR2_JDATA_Msk (0xFFFFFFFFU << ADC_JDR2_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR2_JDATA ADC_JDR2_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR2_JDATA_0 (0x00000001U << ADC_JDR2_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR2_JDATA_1 (0x00000002U << ADC_JDR2_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR2_JDATA_2 (0x00000004U << ADC_JDR2_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR2_JDATA_3 (0x00000008U << ADC_JDR2_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR2_JDATA_4 (0x00000010U << ADC_JDR2_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR2_JDATA_5 (0x00000020U << ADC_JDR2_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR2_JDATA_6 (0x00000040U << ADC_JDR2_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR2_JDATA_7 (0x00000080U << ADC_JDR2_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR2_JDATA_8 (0x00000100U << ADC_JDR2_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR2_JDATA_9 (0x00000200U << ADC_JDR2_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR2_JDATA_10 (0x00000400U << ADC_JDR2_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR2_JDATA_11 (0x00000800U << ADC_JDR2_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR2_JDATA_12 (0x00001000U << ADC_JDR2_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR2_JDATA_13 (0x00002000U << ADC_JDR2_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR2_JDATA_14 (0x00004000U << ADC_JDR2_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR2_JDATA_15 (0x00008000U << ADC_JDR2_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR2_JDATA_16 (0x00010000U << ADC_JDR2_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR2_JDATA_17 (0x00020000U << ADC_JDR2_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR2_JDATA_18 (0x00040000U << ADC_JDR2_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR2_JDATA_19 (0x00080000U << ADC_JDR2_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR2_JDATA_20 (0x00100000U << ADC_JDR2_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR2_JDATA_21 (0x00200000U << ADC_JDR2_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR2_JDATA_22 (0x00400000U << ADC_JDR2_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR2_JDATA_23 (0x00800000U << ADC_JDR2_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR2_JDATA_24 (0x01000000U << ADC_JDR2_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR2_JDATA_25 (0x02000000U << ADC_JDR2_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR2_JDATA_26 (0x04000000U << ADC_JDR2_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR2_JDATA_27 (0x08000000U << ADC_JDR2_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR2_JDATA_28 (0x10000000U << ADC_JDR2_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR2_JDATA_29 (0x20000000U << ADC_JDR2_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR2_JDATA_30 (0x40000000U << ADC_JDR2_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR2_JDATA_31 (0x80000000U << ADC_JDR2_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR3 register ********************/ +#define ADC_JDR3_JDATA_Pos (0U) +#define ADC_JDR3_JDATA_Msk (0xFFFFFFFFU << ADC_JDR3_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR3_JDATA ADC_JDR3_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR3_JDATA_0 (0x00000001U << ADC_JDR3_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR3_JDATA_1 (0x00000002U << ADC_JDR3_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR3_JDATA_2 (0x00000004U << ADC_JDR3_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR3_JDATA_3 (0x00000008U << ADC_JDR3_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR3_JDATA_4 (0x00000010U << ADC_JDR3_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR3_JDATA_5 (0x00000020U << ADC_JDR3_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR3_JDATA_6 (0x00000040U << ADC_JDR3_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR3_JDATA_7 (0x00000080U << ADC_JDR3_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR3_JDATA_8 (0x00000100U << ADC_JDR3_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR3_JDATA_9 (0x00000200U << ADC_JDR3_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR3_JDATA_10 (0x00000400U << ADC_JDR3_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR3_JDATA_11 (0x00000800U << ADC_JDR3_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR3_JDATA_12 (0x00001000U << ADC_JDR3_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR3_JDATA_13 (0x00002000U << ADC_JDR3_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR3_JDATA_14 (0x00004000U << ADC_JDR3_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR3_JDATA_15 (0x00008000U << ADC_JDR3_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR3_JDATA_16 (0x00010000U << ADC_JDR3_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR3_JDATA_17 (0x00020000U << ADC_JDR3_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR3_JDATA_18 (0x00040000U << ADC_JDR3_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR3_JDATA_19 (0x00080000U << ADC_JDR3_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR3_JDATA_20 (0x00100000U << ADC_JDR3_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR3_JDATA_21 (0x00200000U << ADC_JDR3_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR3_JDATA_22 (0x00400000U << ADC_JDR3_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR3_JDATA_23 (0x00800000U << ADC_JDR3_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR3_JDATA_24 (0x01000000U << ADC_JDR3_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR3_JDATA_25 (0x02000000U << ADC_JDR3_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR3_JDATA_26 (0x04000000U << ADC_JDR3_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR3_JDATA_27 (0x08000000U << ADC_JDR3_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR3_JDATA_28 (0x10000000U << ADC_JDR3_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR3_JDATA_29 (0x20000000U << ADC_JDR3_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR3_JDATA_30 (0x40000000U << ADC_JDR3_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR3_JDATA_31 (0x80000000U << ADC_JDR3_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_JDR4 register ********************/ +#define ADC_JDR4_JDATA_Pos (0U) +#define ADC_JDR4_JDATA_Msk (0xFFFFFFFFU << ADC_JDR4_JDATA_Pos) /*!< 0xFFFFFFFF */ +#define ADC_JDR4_JDATA ADC_JDR4_JDATA_Msk /*!< ADC Injected DATA */ +#define ADC_JDR4_JDATA_0 (0x00000001U << ADC_JDR4_JDATA_Pos) /*!< 0x00000001 */ +#define ADC_JDR4_JDATA_1 (0x00000002U << ADC_JDR4_JDATA_Pos) /*!< 0x00000002 */ +#define ADC_JDR4_JDATA_2 (0x00000004U << ADC_JDR4_JDATA_Pos) /*!< 0x00000004 */ +#define ADC_JDR4_JDATA_3 (0x00000008U << ADC_JDR4_JDATA_Pos) /*!< 0x00000008 */ +#define ADC_JDR4_JDATA_4 (0x00000010U << ADC_JDR4_JDATA_Pos) /*!< 0x00000010 */ +#define ADC_JDR4_JDATA_5 (0x00000020U << ADC_JDR4_JDATA_Pos) /*!< 0x00000020 */ +#define ADC_JDR4_JDATA_6 (0x00000040U << ADC_JDR4_JDATA_Pos) /*!< 0x00000040 */ +#define ADC_JDR4_JDATA_7 (0x00000080U << ADC_JDR4_JDATA_Pos) /*!< 0x00000080 */ +#define ADC_JDR4_JDATA_8 (0x00000100U << ADC_JDR4_JDATA_Pos) /*!< 0x00000100 */ +#define ADC_JDR4_JDATA_9 (0x00000200U << ADC_JDR4_JDATA_Pos) /*!< 0x00000200 */ +#define ADC_JDR4_JDATA_10 (0x00000400U << ADC_JDR4_JDATA_Pos) /*!< 0x00000400 */ +#define ADC_JDR4_JDATA_11 (0x00000800U << ADC_JDR4_JDATA_Pos) /*!< 0x00000800 */ +#define ADC_JDR4_JDATA_12 (0x00001000U << ADC_JDR4_JDATA_Pos) /*!< 0x00001000 */ +#define ADC_JDR4_JDATA_13 (0x00002000U << ADC_JDR4_JDATA_Pos) /*!< 0x00002000 */ +#define ADC_JDR4_JDATA_14 (0x00004000U << ADC_JDR4_JDATA_Pos) /*!< 0x00004000 */ +#define ADC_JDR4_JDATA_15 (0x00008000U << ADC_JDR4_JDATA_Pos) /*!< 0x00008000 */ +#define ADC_JDR4_JDATA_16 (0x00010000U << ADC_JDR4_JDATA_Pos) /*!< 0x00010000 */ +#define ADC_JDR4_JDATA_17 (0x00020000U << ADC_JDR4_JDATA_Pos) /*!< 0x00020000 */ +#define ADC_JDR4_JDATA_18 (0x00040000U << ADC_JDR4_JDATA_Pos) /*!< 0x00040000 */ +#define ADC_JDR4_JDATA_19 (0x00080000U << ADC_JDR4_JDATA_Pos) /*!< 0x00080000 */ +#define ADC_JDR4_JDATA_20 (0x00100000U << ADC_JDR4_JDATA_Pos) /*!< 0x00100000 */ +#define ADC_JDR4_JDATA_21 (0x00200000U << ADC_JDR4_JDATA_Pos) /*!< 0x00200000 */ +#define ADC_JDR4_JDATA_22 (0x00400000U << ADC_JDR4_JDATA_Pos) /*!< 0x00400000 */ +#define ADC_JDR4_JDATA_23 (0x00800000U << ADC_JDR4_JDATA_Pos) /*!< 0x00800000 */ +#define ADC_JDR4_JDATA_24 (0x01000000U << ADC_JDR4_JDATA_Pos) /*!< 0x01000000 */ +#define ADC_JDR4_JDATA_25 (0x02000000U << ADC_JDR4_JDATA_Pos) /*!< 0x02000000 */ +#define ADC_JDR4_JDATA_26 (0x04000000U << ADC_JDR4_JDATA_Pos) /*!< 0x04000000 */ +#define ADC_JDR4_JDATA_27 (0x08000000U << ADC_JDR4_JDATA_Pos) /*!< 0x08000000 */ +#define ADC_JDR4_JDATA_28 (0x10000000U << ADC_JDR4_JDATA_Pos) /*!< 0x10000000 */ +#define ADC_JDR4_JDATA_29 (0x20000000U << ADC_JDR4_JDATA_Pos) /*!< 0x20000000 */ +#define ADC_JDR4_JDATA_30 (0x40000000U << ADC_JDR4_JDATA_Pos) /*!< 0x40000000 */ +#define ADC_JDR4_JDATA_31 (0x80000000U << ADC_JDR4_JDATA_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_AWD2CR register ********************/ +#define ADC_AWD2CR_AWD2CH_Pos (0U) +#define ADC_AWD2CR_AWD2CH_Msk (0xFFFFFU << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x000FFFFF */ +#define ADC_AWD2CR_AWD2CH ADC_AWD2CR_AWD2CH_Msk /*!< ADC Analog watchdog 2 channel selection */ +#define ADC_AWD2CR_AWD2CH_0 (0x00001U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000001 */ +#define ADC_AWD2CR_AWD2CH_1 (0x00002U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000002 */ +#define ADC_AWD2CR_AWD2CH_2 (0x00004U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000004 */ +#define ADC_AWD2CR_AWD2CH_3 (0x00008U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000008 */ +#define ADC_AWD2CR_AWD2CH_4 (0x00010U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000010 */ +#define ADC_AWD2CR_AWD2CH_5 (0x00020U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000020 */ +#define ADC_AWD2CR_AWD2CH_6 (0x00040U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000040 */ +#define ADC_AWD2CR_AWD2CH_7 (0x00080U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000080 */ +#define ADC_AWD2CR_AWD2CH_8 (0x00100U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000100 */ +#define ADC_AWD2CR_AWD2CH_9 (0x00200U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000200 */ +#define ADC_AWD2CR_AWD2CH_10 (0x00400U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000400 */ +#define ADC_AWD2CR_AWD2CH_11 (0x00800U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00000800 */ +#define ADC_AWD2CR_AWD2CH_12 (0x01000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00001000 */ +#define ADC_AWD2CR_AWD2CH_13 (0x02000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00002000 */ +#define ADC_AWD2CR_AWD2CH_14 (0x04000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00004000 */ +#define ADC_AWD2CR_AWD2CH_15 (0x08000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00008000 */ +#define ADC_AWD2CR_AWD2CH_16 (0x10000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00010000 */ +#define ADC_AWD2CR_AWD2CH_17 (0x20000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00020000 */ +#define ADC_AWD2CR_AWD2CH_18 (0x40000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00040000 */ +#define ADC_AWD2CR_AWD2CH_19 (0x80000U << ADC_AWD2CR_AWD2CH_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_AWD3CR register ********************/ +#define ADC_AWD3CR_AWD3CH_Pos (0U) +#define ADC_AWD3CR_AWD3CH_Msk (0xFFFFFU << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x000FFFFF */ +#define ADC_AWD3CR_AWD3CH ADC_AWD3CR_AWD3CH_Msk /*!< ADC Analog watchdog 2 channel selection */ +#define ADC_AWD3CR_AWD3CH_0 (0x00001U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000001 */ +#define ADC_AWD3CR_AWD3CH_1 (0x00002U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000002 */ +#define ADC_AWD3CR_AWD3CH_2 (0x00004U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000004 */ +#define ADC_AWD3CR_AWD3CH_3 (0x00008U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000008 */ +#define ADC_AWD3CR_AWD3CH_4 (0x00010U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000010 */ +#define ADC_AWD3CR_AWD3CH_5 (0x00020U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000020 */ +#define ADC_AWD3CR_AWD3CH_6 (0x00040U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000040 */ +#define ADC_AWD3CR_AWD3CH_7 (0x00080U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000080 */ +#define ADC_AWD3CR_AWD3CH_8 (0x00100U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000100 */ +#define ADC_AWD3CR_AWD3CH_9 (0x00200U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000200 */ +#define ADC_AWD3CR_AWD3CH_10 (0x00400U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000400 */ +#define ADC_AWD3CR_AWD3CH_11 (0x00800U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00000800 */ +#define ADC_AWD3CR_AWD3CH_12 (0x01000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00001000 */ +#define ADC_AWD3CR_AWD3CH_13 (0x02000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00002000 */ +#define ADC_AWD3CR_AWD3CH_14 (0x04000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00004000 */ +#define ADC_AWD3CR_AWD3CH_15 (0x08000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00008000 */ +#define ADC_AWD3CR_AWD3CH_16 (0x10000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00010000 */ +#define ADC_AWD3CR_AWD3CH_17 (0x20000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00020000 */ +#define ADC_AWD3CR_AWD3CH_18 (0x40000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00040000 */ +#define ADC_AWD3CR_AWD3CH_19 (0x80000U << ADC_AWD3CR_AWD3CH_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_DIFSEL register ********************/ +#define ADC_DIFSEL_DIFSEL_Pos (0U) +#define ADC_DIFSEL_DIFSEL_Msk (0xFFFFFU << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x000FFFFF */ +#define ADC_DIFSEL_DIFSEL ADC_DIFSEL_DIFSEL_Msk /*!< ADC differential modes for channels 1 to 18 */ +#define ADC_DIFSEL_DIFSEL_0 (0x00001U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000001 */ +#define ADC_DIFSEL_DIFSEL_1 (0x00002U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000002 */ +#define ADC_DIFSEL_DIFSEL_2 (0x00004U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000004 */ +#define ADC_DIFSEL_DIFSEL_3 (0x00008U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000008 */ +#define ADC_DIFSEL_DIFSEL_4 (0x00010U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000010 */ +#define ADC_DIFSEL_DIFSEL_5 (0x00020U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000020 */ +#define ADC_DIFSEL_DIFSEL_6 (0x00040U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000040 */ +#define ADC_DIFSEL_DIFSEL_7 (0x00080U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000080 */ +#define ADC_DIFSEL_DIFSEL_8 (0x00100U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000100 */ +#define ADC_DIFSEL_DIFSEL_9 (0x00200U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000200 */ +#define ADC_DIFSEL_DIFSEL_10 (0x00400U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000400 */ +#define ADC_DIFSEL_DIFSEL_11 (0x00800U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00000800 */ +#define ADC_DIFSEL_DIFSEL_12 (0x01000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00001000 */ +#define ADC_DIFSEL_DIFSEL_13 (0x02000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00002000 */ +#define ADC_DIFSEL_DIFSEL_14 (0x04000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00004000 */ +#define ADC_DIFSEL_DIFSEL_15 (0x08000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00008000 */ +#define ADC_DIFSEL_DIFSEL_16 (0x10000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00010000 */ +#define ADC_DIFSEL_DIFSEL_17 (0x20000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00020000 */ +#define ADC_DIFSEL_DIFSEL_18 (0x40000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00040000 */ +#define ADC_DIFSEL_DIFSEL_19 (0x80000U << ADC_DIFSEL_DIFSEL_Pos) /*!< 0x00080000 */ + +/******************** Bit definition for ADC_CALFACT register ********************/ +#define ADC_CALFACT_CALFACT_S_Pos (0U) +#define ADC_CALFACT_CALFACT_S_Msk (0x7FFU << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x000007FF */ +#define ADC_CALFACT_CALFACT_S ADC_CALFACT_CALFACT_S_Msk /*!< ADC calibration factors in single-ended mode */ +#define ADC_CALFACT_CALFACT_S_0 (0x001U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000001 */ +#define ADC_CALFACT_CALFACT_S_1 (0x002U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000002 */ +#define ADC_CALFACT_CALFACT_S_2 (0x004U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000004 */ +#define ADC_CALFACT_CALFACT_S_3 (0x008U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000008 */ +#define ADC_CALFACT_CALFACT_S_4 (0x010U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000010 */ +#define ADC_CALFACT_CALFACT_S_5 (0x020U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000020 */ +#define ADC_CALFACT_CALFACT_S_6 (0x040U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000040 */ +#define ADC_CALFACT_CALFACT_S_7 (0x080U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000080 */ +#define ADC_CALFACT_CALFACT_S_8 (0x100U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000100 */ +#define ADC_CALFACT_CALFACT_S_9 (0x200U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000200 */ +#define ADC_CALFACT_CALFACT_S_10 (0x400U << ADC_CALFACT_CALFACT_S_Pos) /*!< 0x00000400 */ +#define ADC_CALFACT_CALFACT_D_Pos (16U) +#define ADC_CALFACT_CALFACT_D_Msk (0x7FFU << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x07FF0000 */ +#define ADC_CALFACT_CALFACT_D ADC_CALFACT_CALFACT_D_Msk /*!< ADC calibration factors in differential mode */ +#define ADC_CALFACT_CALFACT_D_0 (0x001U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00010000 */ +#define ADC_CALFACT_CALFACT_D_1 (0x002U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00020000 */ +#define ADC_CALFACT_CALFACT_D_2 (0x004U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00040000 */ +#define ADC_CALFACT_CALFACT_D_3 (0x008U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00080000 */ +#define ADC_CALFACT_CALFACT_D_4 (0x010U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00100000 */ +#define ADC_CALFACT_CALFACT_D_5 (0x020U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00200000 */ +#define ADC_CALFACT_CALFACT_D_6 (0x040U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00400000 */ +#define ADC_CALFACT_CALFACT_D_7 (0x080U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x00800000 */ +#define ADC_CALFACT_CALFACT_D_8 (0x100U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x01000000 */ +#define ADC_CALFACT_CALFACT_D_9 (0x200U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x02000000 */ +#define ADC_CALFACT_CALFACT_D_10 (0x400U << ADC_CALFACT_CALFACT_D_Pos) /*!< 0x04000000 */ + +/******************** Bit definition for ADC_CALFACT2 register ********************/ +#define ADC_CALFACT2_LINCALFACT_Pos (0U) +#define ADC_CALFACT2_LINCALFACT_Msk (0x3FFFFFFFU << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x3FFFFFFF */ +#define ADC_CALFACT2_LINCALFACT ADC_CALFACT2_LINCALFACT_Msk /*!< ADC Linearity calibration factors */ +#define ADC_CALFACT2_LINCALFACT_0 (0x00000001U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000001 */ +#define ADC_CALFACT2_LINCALFACT_1 (0x00000002U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000002 */ +#define ADC_CALFACT2_LINCALFACT_2 (0x00000004U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000004 */ +#define ADC_CALFACT2_LINCALFACT_3 (0x00000008U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000008 */ +#define ADC_CALFACT2_LINCALFACT_4 (0x00000010U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000010 */ +#define ADC_CALFACT2_LINCALFACT_5 (0x00000020U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000020 */ +#define ADC_CALFACT2_LINCALFACT_6 (0x00000040U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000040 */ +#define ADC_CALFACT2_LINCALFACT_7 (0x00000080U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000080 */ +#define ADC_CALFACT2_LINCALFACT_8 (0x00000100U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000100 */ +#define ADC_CALFACT2_LINCALFACT_9 (0x00000200U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000200 */ +#define ADC_CALFACT2_LINCALFACT_10 (0x00000400U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000400 */ +#define ADC_CALFACT2_LINCALFACT_11 (0x00000800U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00000800 */ +#define ADC_CALFACT2_LINCALFACT_12 (0x00001000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00001000 */ +#define ADC_CALFACT2_LINCALFACT_13 (0x00002000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00002000 */ +#define ADC_CALFACT2_LINCALFACT_14 (0x00004000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00004000 */ +#define ADC_CALFACT2_LINCALFACT_15 (0x00008000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00008000 */ +#define ADC_CALFACT2_LINCALFACT_16 (0x00010000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00010000 */ +#define ADC_CALFACT2_LINCALFACT_17 (0x00020000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00020000 */ +#define ADC_CALFACT2_LINCALFACT_18 (0x00040000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00040000 */ +#define ADC_CALFACT2_LINCALFACT_19 (0x00080000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00080000 */ +#define ADC_CALFACT2_LINCALFACT_20 (0x00100000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00100000 */ +#define ADC_CALFACT2_LINCALFACT_21 (0x00200000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00200000 */ +#define ADC_CALFACT2_LINCALFACT_22 (0x00400000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00400000 */ +#define ADC_CALFACT2_LINCALFACT_23 (0x00800000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x00800000 */ +#define ADC_CALFACT2_LINCALFACT_24 (0x01000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x01000000 */ +#define ADC_CALFACT2_LINCALFACT_25 (0x02000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x02000000 */ +#define ADC_CALFACT2_LINCALFACT_26 (0x04000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x04000000 */ +#define ADC_CALFACT2_LINCALFACT_27 (0x08000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x08000000 */ +#define ADC_CALFACT2_LINCALFACT_28 (0x10000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x10000000 */ +#define ADC_CALFACT2_LINCALFACT_29 (0x20000000U << ADC_CALFACT2_LINCALFACT_Pos) /*!< 0x20000000 */ + +/************************* ADC Common registers *****************************/ +/******************** Bit definition for ADC_CSR register ********************/ +#define ADC123_CSR_ADRDY_MST_Pos (0U) +#define ADC123_CSR_ADRDY_MST_Msk (0x1U << ADC123_CSR_ADRDY_MST_Pos) /*!< 0x00000001 */ +#define ADC123_CSR_ADRDY_MST ADC123_CSR_ADRDY_MST_Msk /*!< Master ADC ready */ +#define ADC123_CSR_EOSMP_MST_Pos (1U) +#define ADC123_CSR_EOSMP_MST_Msk (0x1U << ADC123_CSR_EOSMP_MST_Pos) /*!< 0x00000002 */ +#define ADC123_CSR_EOSMP_MST ADC123_CSR_EOSMP_MST_Msk /*!< End of sampling phase flag of the master ADC */ +#define ADC123_CSR_EOC_MST_Pos (2U) +#define ADC123_CSR_EOC_MST_Msk (0x1U << ADC123_CSR_EOC_MST_Pos) /*!< 0x00000004 */ +#define ADC123_CSR_EOC_MST ADC123_CSR_EOC_MST_Msk /*!< End of regular conversion of the master ADC */ +#define ADC123_CSR_EOS_MST_Pos (3U) +#define ADC123_CSR_EOS_MST_Msk (0x1U << ADC123_CSR_EOS_MST_Pos) /*!< 0x00000008 */ +#define ADC123_CSR_EOS_MST ADC123_CSR_EOS_MST_Msk /*!< End of regular sequence flag of the master ADC */ +#define ADC123_CSR_OVR_MST_Pos (4U) +#define ADC123_CSR_OVR_MST_Msk (0x1U << ADC123_CSR_OVR_MST_Pos) /*!< 0x00000010 */ +#define ADC123_CSR_OVR_MST ADC123_CSR_OVR_MST_Msk /*!< Overrun flag of the master ADC */ +#define ADC123_CSR_JEOC_MST_Pos (5U) +#define ADC123_CSR_JEOC_MST_Msk (0x1U << ADC123_CSR_JEOC_MST_Pos) /*!< 0x00000020 */ +#define ADC123_CSR_JEOC_MST ADC123_CSR_JEOC_MST_Msk /*!< End of injected conversion of the master ADC */ +#define ADC123_CSR_JEOS_MST_Pos (6U) +#define ADC123_CSR_JEOS_MST_Msk (0x1U << ADC123_CSR_JEOS_MST_Pos) /*!< 0x00000040 */ +#define ADC123_CSR_JEOS_MST ADC123_CSR_JEOS_MST_Msk /*!< End of injected sequence flag of the master ADC */ +#define ADC123_CSR_AWD1_MST_Pos (7U) +#define ADC123_CSR_AWD1_MST_Msk (0x1U << ADC123_CSR_AWD1_MST_Pos) /*!< 0x00000080 */ +#define ADC123_CSR_AWD1_MST ADC123_CSR_AWD1_MST_Msk /*!< Analog watchdog 1 flag of the master ADC */ +#define ADC123_CSR_AWD2_MST_Pos (8U) +#define ADC123_CSR_AWD2_MST_Msk (0x1U << ADC123_CSR_AWD2_MST_Pos) /*!< 0x00000100 */ +#define ADC123_CSR_AWD2_MST ADC123_CSR_AWD2_MST_Msk /*!< Analog watchdog 2 flag of the master ADC */ +#define ADC123_CSR_AWD3_MST_Pos (9U) +#define ADC123_CSR_AWD3_MST_Msk (0x1U << ADC123_CSR_AWD3_MST_Pos) /*!< 0x00000200 */ +#define ADC123_CSR_AWD3_MST ADC123_CSR_AWD3_MST_Msk /*!< Analog watchdog 3 flag of the master ADC */ +#define ADC123_CSR_JQOVF_MST_Pos (10U) +#define ADC123_CSR_JQOVF_MST_Msk (0x1U << ADC123_CSR_JQOVF_MST_Pos) /*!< 0x00000400 */ +#define ADC123_CSR_JQOVF_MST ADC123_CSR_JQOVF_MST_Msk /*!< Injected context queue overflow flag of the master ADC */ +#define ADC123_CSR_ADRDY_SLV_Pos (16U) +#define ADC123_CSR_ADRDY_SLV_Msk (0x1U << ADC123_CSR_ADRDY_SLV_Pos) /*!< 0x00010000 */ +#define ADC123_CSR_ADRDY_SLV ADC123_CSR_ADRDY_SLV_Msk /*!< Slave ADC ready */ +#define ADC123_CSR_EOSMP_SLV_Pos (17U) +#define ADC123_CSR_EOSMP_SLV_Msk (0x1U << ADC123_CSR_EOSMP_SLV_Pos) /*!< 0x00020000 */ +#define ADC123_CSR_EOSMP_SLV ADC123_CSR_EOSMP_SLV_Msk /*!< End of sampling phase flag of the slave ADC */ +#define ADC123_CSR_EOC_SLV_Pos (18U) +#define ADC123_CSR_EOC_SLV_Msk (0x1U << ADC123_CSR_EOC_SLV_Pos) /*!< 0x00040000 */ +#define ADC123_CSR_EOC_SLV ADC123_CSR_EOC_SLV_Msk /*!< End of regular conversion of the slave ADC */ +#define ADC123_CSR_EOS_SLV_Pos (19U) +#define ADC123_CSR_EOS_SLV_Msk (0x1U << ADC123_CSR_EOS_SLV_Pos) /*!< 0x00080000 */ +#define ADC123_CSR_EOS_SLV ADC123_CSR_EOS_SLV_Msk /*!< End of regular sequence flag of the slave ADC */ +#define ADC123_CSR_OVR_SLV_Pos (20U) +#define ADC123_CSR_OVR_SLV_Msk (0x1U << ADC123_CSR_OVR_SLV_Pos) /*!< 0x00100000 */ +#define ADC123_CSR_OVR_SLV ADC123_CSR_OVR_SLV_Msk /*!< Overrun flag of the slave ADC */ +#define ADC123_CSR_JEOC_SLV_Pos (21U) +#define ADC123_CSR_JEOC_SLV_Msk (0x1U << ADC123_CSR_JEOC_SLV_Pos) /*!< 0x00200000 */ +#define ADC123_CSR_JEOC_SLV ADC123_CSR_JEOC_SLV_Msk /*!< End of injected conversion of the slave ADC */ +#define ADC123_CSR_JEOS_SLV_Pos (22U) +#define ADC123_CSR_JEOS_SLV_Msk (0x1U << ADC123_CSR_JEOS_SLV_Pos) /*!< 0x00400000 */ +#define ADC123_CSR_JEOS_SLV ADC123_CSR_JEOS_SLV_Msk /*!< End of injected sequence flag of the slave ADC */ +#define ADC123_CSR_AWD1_SLV_Pos (23U) +#define ADC123_CSR_AWD1_SLV_Msk (0x1U << ADC123_CSR_AWD1_SLV_Pos) /*!< 0x00800000 */ +#define ADC123_CSR_AWD1_SLV ADC123_CSR_AWD1_SLV_Msk /*!< Analog watchdog 1 flag of the slave ADC */ +#define ADC123_CSR_AWD2_SLV_Pos (24U) +#define ADC123_CSR_AWD2_SLV_Msk (0x1U << ADC123_CSR_AWD2_SLV_Pos) /*!< 0x01000000 */ +#define ADC123_CSR_AWD2_SLV ADC123_CSR_AWD2_SLV_Msk /*!< Analog watchdog 2 flag of the slave ADC */ +#define ADC123_CSR_AWD3_SLV_Pos (25U) +#define ADC123_CSR_AWD3_SLV_Msk (0x1U << ADC123_CSR_AWD3_SLV_Pos) /*!< 0x02000000 */ +#define ADC123_CSR_AWD3_SLV ADC123_CSR_AWD3_SLV_Msk /*!< Analog watchdog 3 flag of the slave ADC */ +#define ADC123_CSR_JQOVF_SLV_Pos (26U) +#define ADC123_CSR_JQOVF_SLV_Msk (0x1U << ADC123_CSR_JQOVF_SLV_Pos) /*!< 0x04000000 */ +#define ADC123_CSR_JQOVF_SLV ADC123_CSR_JQOVF_SLV_Msk /*!< Injected context queue overflow flag of the slave ADC */ + +/******************** Bit definition for ADC_CCR register ********************/ +#define ADC_CCR_DUAL_Pos (0U) +#define ADC_CCR_DUAL_Msk (0x1FU << ADC_CCR_DUAL_Pos) /*!< 0x0000001F */ +#define ADC_CCR_DUAL ADC_CCR_DUAL_Msk /*!< Dual ADC mode selection */ +#define ADC_CCR_DUAL_0 (0x01U << ADC_CCR_DUAL_Pos) /*!< 0x00000001 */ +#define ADC_CCR_DUAL_1 (0x02U << ADC_CCR_DUAL_Pos) /*!< 0x00000002 */ +#define ADC_CCR_DUAL_2 (0x04U << ADC_CCR_DUAL_Pos) /*!< 0x00000004 */ +#define ADC_CCR_DUAL_3 (0x08U << ADC_CCR_DUAL_Pos) /*!< 0x00000008 */ +#define ADC_CCR_DUAL_4 (0x10U << ADC_CCR_DUAL_Pos) /*!< 0x00000010 */ + +#define ADC_CCR_DELAY_Pos (8U) +#define ADC_CCR_DELAY_Msk (0xFU << ADC_CCR_DELAY_Pos) /*!< 0x00000F00 */ +#define ADC_CCR_DELAY ADC_CCR_DELAY_Msk /*!< Delay between 2 sampling phases */ +#define ADC_CCR_DELAY_0 (0x1U << ADC_CCR_DELAY_Pos) /*!< 0x00000100 */ +#define ADC_CCR_DELAY_1 (0x2U << ADC_CCR_DELAY_Pos) /*!< 0x00000200 */ +#define ADC_CCR_DELAY_2 (0x4U << ADC_CCR_DELAY_Pos) /*!< 0x00000400 */ +#define ADC_CCR_DELAY_3 (0x8U << ADC_CCR_DELAY_Pos) /*!< 0x00000800 */ + + +#define ADC_CCR_DAMDF_Pos (14U) +#define ADC_CCR_DAMDF_Msk (0x3U << ADC_CCR_DAMDF_Pos) /*!< 0x0000C000 */ +#define ADC_CCR_DAMDF ADC_CCR_DAMDF_Msk /*!< Dual ADC mode Data format */ +#define ADC_CCR_DAMDF_0 (0x1U << ADC_CCR_DAMDF_Pos) /*!< 0x00004000 */ +#define ADC_CCR_DAMDF_1 (0x2U << ADC_CCR_DAMDF_Pos) /*!< 0x00008000 */ + +#define ADC_CCR_CKMODE_Pos (16U) +#define ADC_CCR_CKMODE_Msk (0x3U << ADC_CCR_CKMODE_Pos) /*!< 0x00030000 */ +#define ADC_CCR_CKMODE ADC_CCR_CKMODE_Msk /*!< ADC clock mode */ +#define ADC_CCR_CKMODE_0 (0x1U << ADC_CCR_CKMODE_Pos) /*!< 0x00010000 */ +#define ADC_CCR_CKMODE_1 (0x2U << ADC_CCR_CKMODE_Pos) /*!< 0x00020000 */ + +#define ADC_CCR_PRESC_Pos (18U) +#define ADC_CCR_PRESC_Msk (0xFU << ADC_CCR_PRESC_Pos) /*!< 0x003C0000 */ +#define ADC_CCR_PRESC ADC_CCR_PRESC_Msk /*!< ADC prescaler */ +#define ADC_CCR_PRESC_0 (0x1U << ADC_CCR_PRESC_Pos) /*!< 0x00040000 */ +#define ADC_CCR_PRESC_1 (0x2U << ADC_CCR_PRESC_Pos) /*!< 0x00080000 */ +#define ADC_CCR_PRESC_2 (0x4U << ADC_CCR_PRESC_Pos) /*!< 0x00100000 */ +#define ADC_CCR_PRESC_3 (0x8U << ADC_CCR_PRESC_Pos) /*!< 0x00200000 */ + +#define ADC_CCR_VREFEN_Pos (22U) +#define ADC_CCR_VREFEN_Msk (0x1U << ADC_CCR_VREFEN_Pos) /*!< 0x00400000 */ +#define ADC_CCR_VREFEN ADC_CCR_VREFEN_Msk /*!< VREFINT enable */ +#define ADC_CCR_TSEN_Pos (23U) +#define ADC_CCR_TSEN_Msk (0x1U << ADC_CCR_TSEN_Pos) /*!< 0x00800000 */ +#define ADC_CCR_TSEN ADC_CCR_TSEN_Msk /*!< Temperature sensor enable */ +#define ADC_CCR_VBATEN_Pos (24U) +#define ADC_CCR_VBATEN_Msk (0x1U << ADC_CCR_VBATEN_Pos) /*!< 0x01000000 */ +#define ADC_CCR_VBATEN ADC_CCR_VBATEN_Msk /*!< VBAT enable */ + +/******************** Bit definition for ADC_CDR register ********************/ +#define ADC123_CDR_RDATA_MST_Pos (0U) +#define ADC123_CDR_RDATA_MST_Msk (0xFFFFU << ADC123_CDR_RDATA_MST_Pos) /*!< 0x0000FFFF */ +#define ADC123_CDR_RDATA_MST ADC123_CDR_RDATA_MST_Msk /*!< Regular Data of the master ADC */ +#define ADC123_CDR_RDATA_MST_0 (0x0001U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000001 */ +#define ADC123_CDR_RDATA_MST_1 (0x0002U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000002 */ +#define ADC123_CDR_RDATA_MST_2 (0x0004U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000004 */ +#define ADC123_CDR_RDATA_MST_3 (0x0008U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000008 */ +#define ADC123_CDR_RDATA_MST_4 (0x0010U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000010 */ +#define ADC123_CDR_RDATA_MST_5 (0x0020U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000020 */ +#define ADC123_CDR_RDATA_MST_6 (0x0040U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000040 */ +#define ADC123_CDR_RDATA_MST_7 (0x0080U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000080 */ +#define ADC123_CDR_RDATA_MST_8 (0x0100U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000100 */ +#define ADC123_CDR_RDATA_MST_9 (0x0200U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000200 */ +#define ADC123_CDR_RDATA_MST_10 (0x0400U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000400 */ +#define ADC123_CDR_RDATA_MST_11 (0x0800U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00000800 */ +#define ADC123_CDR_RDATA_MST_12 (0x1000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00001000 */ +#define ADC123_CDR_RDATA_MST_13 (0x2000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00002000 */ +#define ADC123_CDR_RDATA_MST_14 (0x4000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00004000 */ +#define ADC123_CDR_RDATA_MST_15 (0x8000U << ADC123_CDR_RDATA_MST_Pos) /*!< 0x00008000 */ + +#define ADC123_CDR_RDATA_SLV_Pos (16U) +#define ADC123_CDR_RDATA_SLV_Msk (0xFFFFU << ADC123_CDR_RDATA_SLV_Pos) /*!< 0xFFFF0000 */ +#define ADC123_CDR_RDATA_SLV ADC123_CDR_RDATA_SLV_Msk /*!< Regular Data of the master ADC */ +#define ADC123_CDR_RDATA_SLV_0 (0x0001U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00010000 */ +#define ADC123_CDR_RDATA_SLV_1 (0x0002U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00020000 */ +#define ADC123_CDR_RDATA_SLV_2 (0x0004U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00040000 */ +#define ADC123_CDR_RDATA_SLV_3 (0x0008U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00080000 */ +#define ADC123_CDR_RDATA_SLV_4 (0x0010U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00100000 */ +#define ADC123_CDR_RDATA_SLV_5 (0x0020U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00200000 */ +#define ADC123_CDR_RDATA_SLV_6 (0x0040U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00400000 */ +#define ADC123_CDR_RDATA_SLV_7 (0x0080U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x00800000 */ +#define ADC123_CDR_RDATA_SLV_8 (0x0100U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x01000000 */ +#define ADC123_CDR_RDATA_SLV_9 (0x0200U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x02000000 */ +#define ADC123_CDR_RDATA_SLV_10 (0x0400U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x04000000 */ +#define ADC123_CDR_RDATA_SLV_11 (0x0800U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x08000000 */ +#define ADC123_CDR_RDATA_SLV_12 (0x1000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x10000000 */ +#define ADC123_CDR_RDATA_SLV_13 (0x2000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x20000000 */ +#define ADC123_CDR_RDATA_SLV_14 (0x4000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x40000000 */ +#define ADC123_CDR_RDATA_SLV_15 (0x8000U << ADC123_CDR_RDATA_SLV_Pos) /*!< 0x80000000 */ + +/******************** Bit definition for ADC_CDR2 register ********************/ +#define ADC123_CDR2_RDATA_ALT_Pos (0U) +#define ADC123_CDR2_RDATA_ALT_Msk (0xFFFFFFFFU << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0xFFFFFFFF */ +#define ADC123_CDR2_RDATA_ALT ADC123_CDR2_RDATA_ALT_Msk /*!< Regular Data for dual Mode */ +#define ADC123_CDR2_RDATA_ALT_0 (0x00000001U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000001 */ +#define ADC123_CDR2_RDATA_ALT_1 (0x00000002U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000002 */ +#define ADC123_CDR2_RDATA_ALT_2 (0x00000004U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000004 */ +#define ADC123_CDR2_RDATA_ALT_3 (0x00000008U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000008 */ +#define ADC123_CDR2_RDATA_ALT_4 (0x00000010U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000010 */ +#define ADC123_CDR2_RDATA_ALT_5 (0x00000020U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000020 */ +#define ADC123_CDR2_RDATA_ALT_6 (0x00000040U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000040 */ +#define ADC123_CDR2_RDATA_ALT_7 (0x00000080U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000080 */ +#define ADC123_CDR2_RDATA_ALT_8 (0x00000100U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000100 */ +#define ADC123_CDR2_RDATA_ALT_9 (0x00000200U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000200 */ +#define ADC123_CDR2_RDATA_ALT_10 (0x00000400U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000400 */ +#define ADC123_CDR2_RDATA_ALT_11 (0x00000800U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00000800 */ +#define ADC123_CDR2_RDATA_ALT_12 (0x00001000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00001000 */ +#define ADC123_CDR2_RDATA_ALT_13 (0x00002000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00002000 */ +#define ADC123_CDR2_RDATA_ALT_14 (0x00004000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00004000 */ +#define ADC123_CDR2_RDATA_ALT_15 (0x00008000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00008000 */ +#define ADC123_CDR2_RDATA_ALT_16 (0x00010000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00010000 */ +#define ADC123_CDR2_RDATA_ALT_17 (0x00020000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00020000 */ +#define ADC123_CDR2_RDATA_ALT_18 (0x00040000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00040000 */ +#define ADC123_CDR2_RDATA_ALT_19 (0x00080000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00080000 */ +#define ADC123_CDR2_RDATA_ALT_20 (0x00100000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00100000 */ +#define ADC123_CDR2_RDATA_ALT_21 (0x00200000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00200000 */ +#define ADC123_CDR2_RDATA_ALT_22 (0x00400000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00400000 */ +#define ADC123_CDR2_RDATA_ALT_23 (0x00800000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x00800000 */ +#define ADC123_CDR2_RDATA_ALT_24 (0x01000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x01000000 */ +#define ADC123_CDR2_RDATA_ALT_25 (0x02000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x02000000 */ +#define ADC123_CDR2_RDATA_ALT_26 (0x04000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x04000000 */ +#define ADC123_CDR2_RDATA_ALT_27 (0x08000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x08000000 */ +#define ADC123_CDR2_RDATA_ALT_28 (0x10000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x10000000 */ +#define ADC123_CDR2_RDATA_ALT_29 (0x20000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x20000000 */ +#define ADC123_CDR2_RDATA_ALT_30 (0x40000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x40000000 */ +#define ADC123_CDR2_RDATA_ALT_31 (0x80000000U << ADC123_CDR2_RDATA_ALT_Pos) /*!< 0x80000000 */ + +/******************************************************************************/ +/* */ +/* VREFBUF */ +/* */ +/******************************************************************************/ +/******************* Bit definition for VREFBUF_CSR register ****************/ +#define VREFBUF_CSR_ENVR_Pos (0U) +#define VREFBUF_CSR_ENVR_Msk (0x1U << VREFBUF_CSR_ENVR_Pos) /*!< 0x00000001 */ +#define VREFBUF_CSR_ENVR VREFBUF_CSR_ENVR_Msk /*!*/ +#define DAC_CR_CEN1_Pos (14U) +#define DAC_CR_CEN1_Msk (0x1U << DAC_CR_CEN1_Pos) /*!< 0x00004000 */ +#define DAC_CR_CEN1 DAC_CR_CEN1_Msk /*!*/ + +#define DAC_CR_EN2_Pos (16U) +#define DAC_CR_EN2_Msk (0x1U << DAC_CR_EN2_Pos) /*!< 0x00010000 */ +#define DAC_CR_EN2 DAC_CR_EN2_Msk /*!*/ +#define DAC_CR_CEN2_Pos (30U) +#define DAC_CR_CEN2_Msk (0x1U << DAC_CR_CEN2_Pos) /*!< 0x40000000 */ +#define DAC_CR_CEN2 DAC_CR_CEN2_Msk /*!*/ + +/***************** Bit definition for DAC_SWTRIGR register ******************/ +#define DAC_SWTRIGR_SWTRIG1_Pos (0U) +#define DAC_SWTRIGR_SWTRIG1_Msk (0x1U << DAC_SWTRIGR_SWTRIG1_Pos) /*!< 0x00000001 */ +#define DAC_SWTRIGR_SWTRIG1 DAC_SWTRIGR_SWTRIG1_Msk /*!> 1) /* 1MB */ + +#define FLASH_SECTOR_SIZE 0x00020000 /* 128 KB */ + + + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* STM32H753xx_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h new file mode 100644 index 0000000000..1a454b5a27 --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h @@ -0,0 +1,201 @@ +/** + ****************************************************************************** + * @file stm32h7xx.h + * @author MCD Application Team + * @brief CMSIS STM32H7xx Device Peripheral Access Layer Header File. + * + * The file is the unique include file that the application programmer + * is using in the C source code, usually in main.c. This file contains: + * - Configuration section that allows to select: + * - The STM32H7xx device used in the target application + * - To use or not the peripheral�s drivers in application code(i.e. + * code will be based on direct access to peripheral�s registers + * rather than drivers API), this option is controlled by + * "#define USE_HAL_DRIVER" + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32h7xx + * @{ + */ + +#ifndef STM32H7xx_H +#define STM32H7xx_H + +#ifdef __cplusplus + extern "C" { +#endif /* __cplusplus */ + +/** @addtogroup Library_configuration_section + * @{ + */ + +/** + * @brief STM32 Family + */ +#if !defined (STM32H7) +#define STM32H7 +#endif /* STM32H7 */ + + +/* Uncomment the line below according to the target STM32H7 device used in your + application + */ + +#if !defined (STM32H743xx) && !defined (STM32H753xx) && !defined (STM32H750xx) + /* #define STM32H743xx */ /*!< STM32H743VI, STM32H743ZI, STM32H743II, STM32H743BI, STM32H743XI Devices */ + /* #define STM32H753xx */ /*!< STM32H753VI, STM32H753ZI, STM32H753II, STM32H753BI, STM32H753XI Devices */ + /* #define STM32H750xx */ /*!< STM32H750V, STM32H750I, STM32H750X Devices */ +#endif + +/* Tip: To avoid modifying this file each time you need to switch between these + devices, you can define the device in your toolchain compiler preprocessor. + */ +#if !defined (USE_HAL_DRIVER) +/** + * @brief Comment the line below if you will not use the peripherals drivers. + In this case, these drivers will not be included and the application code will + be based on direct access to peripherals registers + */ + /*#define USE_HAL_DRIVER */ +#endif /* USE_HAL_DRIVER */ + +/** + * @brief CMSIS Device version number V1.3.0 + */ +#define __STM32H7xx_CMSIS_DEVICE_VERSION_MAIN (0x01) /*!< [31:24] main version */ +#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB1 (0x03) /*!< [23:16] sub1 version */ +#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */ +#define __STM32H7xx_CMSIS_DEVICE_VERSION_RC (0x00) /*!< [7:0] release candidate */ +#define __STM32H7xx_CMSIS_DEVICE_VERSION ((__CMSIS_DEVICE_VERSION_MAIN << 24)\ + |(__CMSIS_DEVICE_HAL_VERSION_SUB1 << 16)\ + |(__CMSIS_DEVICE_HAL_VERSION_SUB2 << 8 )\ + |(__CMSIS_DEVICE_HAL_VERSION_RC)) + +/** + * @} + */ + +/** @addtogroup Device_Included + * @{ + */ + +#if defined(STM32H743xx) + #include "stm32h743xx.h" +#elif defined(STM32H753xx) + #include "stm32h753xx.h" +#elif defined(STM32H750xx) + #include "stm32h750xx.h" +#else + #error "Please select first the target STM32H7xx device used in your application (in stm32h7xx.h file)" +#endif + +/** + * @} + */ + +/** @addtogroup Exported_types + * @{ + */ +typedef enum +{ + RESET = 0, + SET = !RESET +} FlagStatus, ITStatus; + +typedef enum +{ + DISABLE = 0, + ENABLE = !DISABLE +} FunctionalState; +#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE)) + +typedef enum +{ + ERROR = 0, + SUCCESS = !ERROR +} ErrorStatus; + +/** + * @} + */ + + +/** @addtogroup Exported_macros + * @{ + */ +#define SET_BIT(REG, BIT) ((REG) |= (BIT)) + +#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT)) + +#define READ_BIT(REG, BIT) ((REG) & (BIT)) + +#define CLEAR_REG(REG) ((REG) = (0x0)) + +#define WRITE_REG(REG, VAL) ((REG) = (VAL)) + +#define READ_REG(REG) ((REG)) + +#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK))) + +#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL))) + + +/** + * @} + */ + +#if defined (USE_HAL_DRIVER) + #include "stm32h7xx_hal.h" +#endif /* USE_HAL_DRIVER */ + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* STM32H7xx_H */ +/** + * @} + */ + +/** + * @} + */ + + + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h new file mode 100644 index 0000000000..c22d942c37 --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h @@ -0,0 +1,121 @@ +/** + ****************************************************************************** + * @file system_stm32h7xx.h + * @author MCD Application Team + * @brief CMSIS Cortex-Mx Device System Source File for STM32H7xx devices. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32h7xx_system + * @{ + */ + +/** + * @brief Define to prevent recursive inclusion + */ +#ifndef SYSTEM_STM32H7XX_H +#define SYSTEM_STM32H7XX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/** @addtogroup STM32H7xx_System_Includes + * @{ + */ + +/** + * @} + */ + + +/** @addtogroup STM32H7xx_System_Exported_types + * @{ + */ + /* This variable is updated in three ways: + 1) by calling CMSIS function SystemCoreClockUpdate() + 2) by calling HAL API function HAL_RCC_GetSysClockFreq() + 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency + Note: If you use this function to configure the system clock; then there + is no need to call the 2 first functions listed above, since SystemCoreClock + variable is updated automatically. + */ +extern uint32_t SystemCoreClock; /*!< System Domain1 Clock Frequency */ +extern uint32_t SystemD2Clock; /*!< System Domain2 Clock Frequency */ +extern const uint8_t D1CorePrescTable[16] ; /*!< D1CorePrescTable prescalers table values */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Exported_Constants + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Exported_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Exported_Functions + * @{ + */ + +extern void SystemInit(void); +extern void SystemCoreClockUpdate(void); +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* SYSTEM_STM32H7XX_H */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Release_Notes.html b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Release_Notes.html new file mode 100644 index 0000000000..c61d783249 --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Release_Notes.html @@ -0,0 +1,238 @@ + + + + + + + + Release Notes for STM32H7xx CMSIS + + + + + + +
+


+

+
+ + + + + + +
+ + + + + + + + + +
Back to + Release page
+

Release +Notes + for STM32H7xx CMSIS

+

Copyright +2017 + STMicroelectronics

+

+
+

 

+ + + + + + +
+ +

Update + History

+ +

V1.3.0 +/ 29-June-2018

+ + +

Main + Changes

+ + +
  • Add support for stm32h750xx value line devices
    • Add "stm32h750xx.h" file
    • Add startup files startup_stm32h750xx.s for EWARM, MDK-ARM and SW4STM32

V1.2.0 +/ + 29-December-2017

+ + +

Main + Changes

+ + +
    +
  • Update FDCAN bit definition.
  • Update SystemCoreClockUpdate() function in system_stm32h7xx.c file to use direct register access.
    +
  • +
+

V1.1.0 +/ + 31-August-2017

+

Main + Changes

+
    +
  • Update + USB OTG bit definition.
  • +
  • Adjust + PLL fractional computation.
  • +
+

V1.0.0 +/ + 21-April-2017

+

Main + Changes

+
    +
  • First + official release for STM32H743xx/753xx + devices
  • +
+ +
    +
+

License

+

+
+
+
Redistribution +and + use in source and binary forms, with or + without + modification, are permitted provided that the + following conditions are + met:
+
+
    +
  1. Redistributions +of + source code must retain the above + copyright notice, this list of + conditions and the following disclaimer.
  2. +
  3. Redistributions +in + binary form must reproduce the above + copyright notice, this list of + conditions and the following disclaimer in + the +documentation + and/or other materials provided with the + distribution.
  4. +
  5. Neither + the + name of STMicroelectronics nor the names + of its contributors may be + used to endorse or promote products + derived
    +
  6. +
+        +from + this software without specific prior written + permission.
+
+ THIS +SOFTWARE + IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED + WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+

  

+ +
+
+

For +complete + documentation on STM32 Microcontrollers + visit www.st.com/STM32

+
+

+
+
+

 

+
+ \ No newline at end of file diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s new file mode 100644 index 0000000000..cfb7ee1d37 --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s @@ -0,0 +1,761 @@ +/** + ****************************************************************************** + * @file startup_stm32h743xx.s + * @author MCD Application Team + * @brief STM32H743xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + movs r1, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r3, =_sidata + ldr r3, [r3, r1] + str r3, [r0, r1] + adds r1, r1, #4 + +LoopCopyDataInit: + ldr r0, =_sdata + ldr r3, =_edata + adds r2, r0, r1 + cmp r2, r3 + bcc CopyDataInit + ldr r2, =_sbss + b LoopFillZerobss +/* Zero fill the bss segment. */ +FillZerobss: + movs r3, #0 + str r3, [r2], #4 + +LoopFillZerobss: + ldr r3, = _ebss + cmp r2, r3 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_AVD_IRQHandler /* PVD/AVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word FDCAN1_IT0_IRQHandler /* FDCAN1 interrupt line 0 */ + .word FDCAN2_IT0_IRQHandler /* FDCAN2 interrupt line 0 */ + .word FDCAN1_IT1_IRQHandler /* FDCAN1 interrupt line 1 */ + .word FDCAN2_IT1_IRQHandler /* FDCAN2 interrupt line 1 */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_IRQHandler /* TIM1 Break interrupt */ + .word TIM1_UP_IRQHandler /* TIM1 Update interrupt */ + .word TIM1_TRG_COM_IRQHandler /* TIM1 Trigger and Commutation interrupt */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word 0 /* Reserved */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word FDCAN_CAL_IRQHandler /* FDCAN calibration unit interrupt*/ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word 0 /* Reserved */ + .word RNG_IRQHandler /* Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word OTG_FS_EP1_OUT_IRQHandler /* USB OTG FS End Point 1 Out */ + .word OTG_FS_EP1_IN_IRQHandler /* USB OTG FS End Point 1 In */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMAMUX1_OVR_IRQHandler /* DMAMUX1 Overrun interrupt */ + .word HRTIM1_Master_IRQHandler /* HRTIM Master Timer global Interrupt */ + .word HRTIM1_TIMA_IRQHandler /* HRTIM Timer A global Interrupt */ + .word HRTIM1_TIMB_IRQHandler /* HRTIM Timer B global Interrupt */ + .word HRTIM1_TIMC_IRQHandler /* HRTIM Timer C global Interrupt */ + .word HRTIM1_TIMD_IRQHandler /* HRTIM Timer D global Interrupt */ + .word HRTIM1_TIME_IRQHandler /* HRTIM Timer E global Interrupt */ + .word HRTIM1_FLT_IRQHandler /* HRTIM Fault global Interrupt */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM Filter0 Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM Filter1 Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM Filter2 Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM Filter3 Interrupt */ + .word SAI3_IRQHandler /* SAI3 global Interrupt */ + .word SWPMI1_IRQHandler /* Serial Wire Interface 1 global interrupt */ + .word TIM15_IRQHandler /* TIM15 global Interrupt */ + .word TIM16_IRQHandler /* TIM16 global Interrupt */ + .word TIM17_IRQHandler /* TIM17 global Interrupt */ + .word MDIOS_WKUP_IRQHandler /* MDIOS Wakeup Interrupt */ + .word MDIOS_IRQHandler /* MDIOS global Interrupt */ + .word JPEG_IRQHandler /* JPEG global Interrupt */ + .word MDMA_IRQHandler /* MDMA global Interrupt */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 global Interrupt */ + .word HSEM1_IRQHandler /* HSEM1 global Interrupt */ + .word 0 /* Reserved */ + .word ADC3_IRQHandler /* ADC3 global Interrupt */ + .word DMAMUX2_OVR_IRQHandler /* DMAMUX Overrun interrupt */ + .word BDMA_Channel0_IRQHandler /* BDMA Channel 0 global Interrupt */ + .word BDMA_Channel1_IRQHandler /* BDMA Channel 1 global Interrupt */ + .word BDMA_Channel2_IRQHandler /* BDMA Channel 2 global Interrupt */ + .word BDMA_Channel3_IRQHandler /* BDMA Channel 3 global Interrupt */ + .word BDMA_Channel4_IRQHandler /* BDMA Channel 4 global Interrupt */ + .word BDMA_Channel5_IRQHandler /* BDMA Channel 5 global Interrupt */ + .word BDMA_Channel6_IRQHandler /* BDMA Channel 6 global Interrupt */ + .word BDMA_Channel7_IRQHandler /* BDMA Channel 7 global Interrupt */ + .word COMP1_IRQHandler /* COMP1 global Interrupt */ + .word LPTIM2_IRQHandler /* LP TIM2 global interrupt */ + .word LPTIM3_IRQHandler /* LP TIM3 global interrupt */ + .word LPTIM4_IRQHandler /* LP TIM4 global interrupt */ + .word LPTIM5_IRQHandler /* LP TIM5 global interrupt */ + .word LPUART1_IRQHandler /* LP UART1 interrupt */ + .word 0 /* Reserved */ + .word CRS_IRQHandler /* Clock Recovery Global Interrupt */ + .word 0 /* Reserved */ + .word SAI4_IRQHandler /* SAI4 global interrupt */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word WAKEUP_PIN_IRQHandler /* Interrupt for all 6 wake-up pins */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_AVD_IRQHandler + .thumb_set PVD_AVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak FDCAN1_IT0_IRQHandler + .thumb_set FDCAN1_IT0_IRQHandler,Default_Handler + + .weak FDCAN2_IT0_IRQHandler + .thumb_set FDCAN2_IT0_IRQHandler,Default_Handler + + .weak FDCAN1_IT1_IRQHandler + .thumb_set FDCAN1_IT1_IRQHandler,Default_Handler + + .weak FDCAN2_IT1_IRQHandler + .thumb_set FDCAN2_IT1_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_IRQHandler + .thumb_set TIM1_BRK_IRQHandler,Default_Handler + + .weak TIM1_UP_IRQHandler + .thumb_set TIM1_UP_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_IRQHandler + .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak FDCAN_CAL_IRQHandler + .thumb_set FDCAN_CAL_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak RNG_IRQHandler + .thumb_set RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_OUT_IRQHandler + .thumb_set OTG_FS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_IN_IRQHandler + .thumb_set OTG_FS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMAMUX1_OVR_IRQHandler + .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler + + .weak HRTIM1_Master_IRQHandler + .thumb_set HRTIM1_Master_IRQHandler,Default_Handler + + .weak HRTIM1_TIMA_IRQHandler + .thumb_set HRTIM1_TIMA_IRQHandler,Default_Handler + + .weak HRTIM1_TIMB_IRQHandler + .thumb_set HRTIM1_TIMB_IRQHandler,Default_Handler + + .weak HRTIM1_TIMC_IRQHandler + .thumb_set HRTIM1_TIMC_IRQHandler,Default_Handler + + .weak HRTIM1_TIMD_IRQHandler + .thumb_set HRTIM1_TIMD_IRQHandler,Default_Handler + + .weak HRTIM1_TIME_IRQHandler + .thumb_set HRTIM1_TIME_IRQHandler,Default_Handler + + .weak HRTIM1_FLT_IRQHandler + .thumb_set HRTIM1_FLT_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SAI3_IRQHandler + .thumb_set SAI3_IRQHandler,Default_Handler + + .weak SWPMI1_IRQHandler + .thumb_set SWPMI1_IRQHandler,Default_Handler + + .weak TIM15_IRQHandler + .thumb_set TIM15_IRQHandler,Default_Handler + + .weak TIM16_IRQHandler + .thumb_set TIM16_IRQHandler,Default_Handler + + .weak TIM17_IRQHandler + .thumb_set TIM17_IRQHandler,Default_Handler + + .weak MDIOS_WKUP_IRQHandler + .thumb_set MDIOS_WKUP_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDMA_IRQHandler + .thumb_set MDMA_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak HSEM1_IRQHandler + .thumb_set HSEM1_IRQHandler,Default_Handler + + .weak ADC3_IRQHandler + .thumb_set ADC3_IRQHandler,Default_Handler + + .weak DMAMUX2_OVR_IRQHandler + .thumb_set DMAMUX2_OVR_IRQHandler,Default_Handler + + .weak BDMA_Channel0_IRQHandler + .thumb_set BDMA_Channel0_IRQHandler,Default_Handler + + .weak BDMA_Channel1_IRQHandler + .thumb_set BDMA_Channel1_IRQHandler,Default_Handler + + .weak BDMA_Channel2_IRQHandler + .thumb_set BDMA_Channel2_IRQHandler,Default_Handler + + .weak BDMA_Channel3_IRQHandler + .thumb_set BDMA_Channel3_IRQHandler,Default_Handler + + .weak BDMA_Channel4_IRQHandler + .thumb_set BDMA_Channel4_IRQHandler,Default_Handler + + .weak BDMA_Channel5_IRQHandler + .thumb_set BDMA_Channel5_IRQHandler,Default_Handler + + .weak BDMA_Channel6_IRQHandler + .thumb_set BDMA_Channel6_IRQHandler,Default_Handler + + .weak BDMA_Channel7_IRQHandler + .thumb_set BDMA_Channel7_IRQHandler,Default_Handler + + .weak COMP1_IRQHandler + .thumb_set COMP1_IRQHandler,Default_Handler + + .weak LPTIM2_IRQHandler + .thumb_set LPTIM2_IRQHandler,Default_Handler + + .weak LPTIM3_IRQHandler + .thumb_set LPTIM3_IRQHandler,Default_Handler + + .weak LPTIM4_IRQHandler + .thumb_set LPTIM4_IRQHandler,Default_Handler + + .weak LPTIM5_IRQHandler + .thumb_set LPTIM5_IRQHandler,Default_Handler + + .weak LPUART1_IRQHandler + .thumb_set LPUART1_IRQHandler,Default_Handler + + .weak CRS_IRQHandler + .thumb_set CRS_IRQHandler,Default_Handler + + .weak SAI4_IRQHandler + .thumb_set SAI4_IRQHandler,Default_Handler + + .weak WAKEUP_PIN_IRQHandler + .thumb_set WAKEUP_PIN_IRQHandler,Default_Handler + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s new file mode 100644 index 0000000000..9ce1160829 --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s @@ -0,0 +1,764 @@ +/** + ****************************************************************************** + * @file startup_stm32h750xx.s + * @author MCD Application Team + * @brief STM32H750xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2018 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + movs r1, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r3, =_sidata + ldr r3, [r3, r1] + str r3, [r0, r1] + adds r1, r1, #4 + +LoopCopyDataInit: + ldr r0, =_sdata + ldr r3, =_edata + adds r2, r0, r1 + cmp r2, r3 + bcc CopyDataInit + ldr r2, =_sbss + b LoopFillZerobss +/* Zero fill the bss segment. */ +FillZerobss: + movs r3, #0 + str r3, [r2], #4 + +LoopFillZerobss: + ldr r3, = _ebss + cmp r2, r3 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_AVD_IRQHandler /* PVD/AVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word FDCAN1_IT0_IRQHandler /* FDCAN1 interrupt line 0 */ + .word FDCAN2_IT0_IRQHandler /* FDCAN2 interrupt line 0 */ + .word FDCAN1_IT1_IRQHandler /* FDCAN1 interrupt line 1 */ + .word FDCAN2_IT1_IRQHandler /* FDCAN2 interrupt line 1 */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_IRQHandler /* TIM1 Break interrupt */ + .word TIM1_UP_IRQHandler /* TIM1 Update interrupt */ + .word TIM1_TRG_COM_IRQHandler /* TIM1 Trigger and Commutation interrupt */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word 0 /* Reserved */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word FDCAN_CAL_IRQHandler /* FDCAN calibration unit interrupt*/ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word CRYP_IRQHandler /* Crypto */ + .word HASH_RNG_IRQHandler /* Hash and Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word OTG_FS_EP1_OUT_IRQHandler /* USB OTG FS End Point 1 Out */ + .word OTG_FS_EP1_IN_IRQHandler /* USB OTG FS End Point 1 In */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMAMUX1_OVR_IRQHandler /* DMAMUX1 Overrun interrupt */ + .word HRTIM1_Master_IRQHandler /* HRTIM Master Timer global Interrupt */ + .word HRTIM1_TIMA_IRQHandler /* HRTIM Timer A global Interrupt */ + .word HRTIM1_TIMB_IRQHandler /* HRTIM Timer B global Interrupt */ + .word HRTIM1_TIMC_IRQHandler /* HRTIM Timer C global Interrupt */ + .word HRTIM1_TIMD_IRQHandler /* HRTIM Timer D global Interrupt */ + .word HRTIM1_TIME_IRQHandler /* HRTIM Timer E global Interrupt */ + .word HRTIM1_FLT_IRQHandler /* HRTIM Fault global Interrupt */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM Filter0 Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM Filter1 Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM Filter2 Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM Filter3 Interrupt */ + .word SAI3_IRQHandler /* SAI3 global Interrupt */ + .word SWPMI1_IRQHandler /* Serial Wire Interface 1 global interrupt */ + .word TIM15_IRQHandler /* TIM15 global Interrupt */ + .word TIM16_IRQHandler /* TIM16 global Interrupt */ + .word TIM17_IRQHandler /* TIM17 global Interrupt */ + .word MDIOS_WKUP_IRQHandler /* MDIOS Wakeup Interrupt */ + .word MDIOS_IRQHandler /* MDIOS global Interrupt */ + .word JPEG_IRQHandler /* JPEG global Interrupt */ + .word MDMA_IRQHandler /* MDMA global Interrupt */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 global Interrupt */ + .word HSEM1_IRQHandler /* HSEM1 global Interrupt */ + .word 0 /* Reserved */ + .word ADC3_IRQHandler /* ADC3 global Interrupt */ + .word DMAMUX2_OVR_IRQHandler /* DMAMUX Overrun interrupt */ + .word BDMA_Channel0_IRQHandler /* BDMA Channel 0 global Interrupt */ + .word BDMA_Channel1_IRQHandler /* BDMA Channel 1 global Interrupt */ + .word BDMA_Channel2_IRQHandler /* BDMA Channel 2 global Interrupt */ + .word BDMA_Channel3_IRQHandler /* BDMA Channel 3 global Interrupt */ + .word BDMA_Channel4_IRQHandler /* BDMA Channel 4 global Interrupt */ + .word BDMA_Channel5_IRQHandler /* BDMA Channel 5 global Interrupt */ + .word BDMA_Channel6_IRQHandler /* BDMA Channel 6 global Interrupt */ + .word BDMA_Channel7_IRQHandler /* BDMA Channel 7 global Interrupt */ + .word COMP1_IRQHandler /* COMP1 global Interrupt */ + .word LPTIM2_IRQHandler /* LP TIM2 global interrupt */ + .word LPTIM3_IRQHandler /* LP TIM3 global interrupt */ + .word LPTIM4_IRQHandler /* LP TIM4 global interrupt */ + .word LPTIM5_IRQHandler /* LP TIM5 global interrupt */ + .word LPUART1_IRQHandler /* LP UART1 interrupt */ + .word 0 /* Reserved */ + .word CRS_IRQHandler /* Clock Recovery Global Interrupt */ + .word 0 /* Reserved */ + .word SAI4_IRQHandler /* SAI4 global interrupt */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word WAKEUP_PIN_IRQHandler /* Interrupt for all 6 wake-up pins */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_AVD_IRQHandler + .thumb_set PVD_AVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak FDCAN1_IT0_IRQHandler + .thumb_set FDCAN1_IT0_IRQHandler,Default_Handler + + .weak FDCAN2_IT0_IRQHandler + .thumb_set FDCAN2_IT0_IRQHandler,Default_Handler + + .weak FDCAN1_IT1_IRQHandler + .thumb_set FDCAN1_IT1_IRQHandler,Default_Handler + + .weak FDCAN2_IT1_IRQHandler + .thumb_set FDCAN2_IT1_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_IRQHandler + .thumb_set TIM1_BRK_IRQHandler,Default_Handler + + .weak TIM1_UP_IRQHandler + .thumb_set TIM1_UP_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_IRQHandler + .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak FDCAN_CAL_IRQHandler + .thumb_set FDCAN_CAL_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak CRYP_IRQHandler + .thumb_set CRYP_IRQHandler,Default_Handler + + .weak HASH_RNG_IRQHandler + .thumb_set HASH_RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_OUT_IRQHandler + .thumb_set OTG_FS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_IN_IRQHandler + .thumb_set OTG_FS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMAMUX1_OVR_IRQHandler + .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler + + .weak HRTIM1_Master_IRQHandler + .thumb_set HRTIM1_Master_IRQHandler,Default_Handler + + .weak HRTIM1_TIMA_IRQHandler + .thumb_set HRTIM1_TIMA_IRQHandler,Default_Handler + + .weak HRTIM1_TIMB_IRQHandler + .thumb_set HRTIM1_TIMB_IRQHandler,Default_Handler + + .weak HRTIM1_TIMC_IRQHandler + .thumb_set HRTIM1_TIMC_IRQHandler,Default_Handler + + .weak HRTIM1_TIMD_IRQHandler + .thumb_set HRTIM1_TIMD_IRQHandler,Default_Handler + + .weak HRTIM1_TIME_IRQHandler + .thumb_set HRTIM1_TIME_IRQHandler,Default_Handler + + .weak HRTIM1_FLT_IRQHandler + .thumb_set HRTIM1_FLT_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SAI3_IRQHandler + .thumb_set SAI3_IRQHandler,Default_Handler + + .weak SWPMI1_IRQHandler + .thumb_set SWPMI1_IRQHandler,Default_Handler + + .weak TIM15_IRQHandler + .thumb_set TIM15_IRQHandler,Default_Handler + + .weak TIM16_IRQHandler + .thumb_set TIM16_IRQHandler,Default_Handler + + .weak TIM17_IRQHandler + .thumb_set TIM17_IRQHandler,Default_Handler + + .weak MDIOS_WKUP_IRQHandler + .thumb_set MDIOS_WKUP_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDMA_IRQHandler + .thumb_set MDMA_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak HSEM1_IRQHandler + .thumb_set HSEM1_IRQHandler,Default_Handler + + .weak ADC3_IRQHandler + .thumb_set ADC3_IRQHandler,Default_Handler + + .weak DMAMUX2_OVR_IRQHandler + .thumb_set DMAMUX2_OVR_IRQHandler,Default_Handler + + .weak BDMA_Channel0_IRQHandler + .thumb_set BDMA_Channel0_IRQHandler,Default_Handler + + .weak BDMA_Channel1_IRQHandler + .thumb_set BDMA_Channel1_IRQHandler,Default_Handler + + .weak BDMA_Channel2_IRQHandler + .thumb_set BDMA_Channel2_IRQHandler,Default_Handler + + .weak BDMA_Channel3_IRQHandler + .thumb_set BDMA_Channel3_IRQHandler,Default_Handler + + .weak BDMA_Channel4_IRQHandler + .thumb_set BDMA_Channel4_IRQHandler,Default_Handler + + .weak BDMA_Channel5_IRQHandler + .thumb_set BDMA_Channel5_IRQHandler,Default_Handler + + .weak BDMA_Channel6_IRQHandler + .thumb_set BDMA_Channel6_IRQHandler,Default_Handler + + .weak BDMA_Channel7_IRQHandler + .thumb_set BDMA_Channel7_IRQHandler,Default_Handler + + .weak COMP1_IRQHandler + .thumb_set COMP1_IRQHandler,Default_Handler + + .weak LPTIM2_IRQHandler + .thumb_set LPTIM2_IRQHandler,Default_Handler + + .weak LPTIM3_IRQHandler + .thumb_set LPTIM3_IRQHandler,Default_Handler + + .weak LPTIM4_IRQHandler + .thumb_set LPTIM4_IRQHandler,Default_Handler + + .weak LPTIM5_IRQHandler + .thumb_set LPTIM5_IRQHandler,Default_Handler + + .weak LPUART1_IRQHandler + .thumb_set LPUART1_IRQHandler,Default_Handler + + .weak CRS_IRQHandler + .thumb_set CRS_IRQHandler,Default_Handler + + .weak SAI4_IRQHandler + .thumb_set SAI4_IRQHandler,Default_Handler + + .weak WAKEUP_PIN_IRQHandler + .thumb_set WAKEUP_PIN_IRQHandler,Default_Handler + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h753xx.s b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h753xx.s new file mode 100644 index 0000000000..fda2b839e8 --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h753xx.s @@ -0,0 +1,764 @@ +/** + ****************************************************************************** + * @file startup_stm32h753xx.s + * @author MCD Application Team + * @brief STM32H753xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Copy the data segment initializers from flash to SRAM */ + movs r1, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r3, =_sidata + ldr r3, [r3, r1] + str r3, [r0, r1] + adds r1, r1, #4 + +LoopCopyDataInit: + ldr r0, =_sdata + ldr r3, =_edata + adds r2, r0, r1 + cmp r2, r3 + bcc CopyDataInit + ldr r2, =_sbss + b LoopFillZerobss +/* Zero fill the bss segment. */ +FillZerobss: + movs r3, #0 + str r3, [r2], #4 + +LoopFillZerobss: + ldr r3, = _ebss + cmp r2, r3 + bcc FillZerobss + +/* Call the clock system intitialization function.*/ + bl SystemInit +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_AVD_IRQHandler /* PVD/AVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word FDCAN1_IT0_IRQHandler /* FDCAN1 interrupt line 0 */ + .word FDCAN2_IT0_IRQHandler /* FDCAN2 interrupt line 0 */ + .word FDCAN1_IT1_IRQHandler /* FDCAN1 interrupt line 1 */ + .word FDCAN2_IT1_IRQHandler /* FDCAN2 interrupt line 1 */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_IRQHandler /* TIM1 Break interrupt */ + .word TIM1_UP_IRQHandler /* TIM1 Update interrupt */ + .word TIM1_TRG_COM_IRQHandler /* TIM1 Trigger and Commutation interrupt */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word 0 /* Reserved */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word FDCAN_CAL_IRQHandler /* FDCAN calibration unit interrupt*/ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word CRYP_IRQHandler /* Crypto */ + .word HASH_RNG_IRQHandler /* Hash and Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word OTG_FS_EP1_OUT_IRQHandler /* USB OTG FS End Point 1 Out */ + .word OTG_FS_EP1_IN_IRQHandler /* USB OTG FS End Point 1 In */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMAMUX1_OVR_IRQHandler /* DMAMUX1 Overrun interrupt */ + .word HRTIM1_Master_IRQHandler /* HRTIM Master Timer global Interrupt */ + .word HRTIM1_TIMA_IRQHandler /* HRTIM Timer A global Interrupt */ + .word HRTIM1_TIMB_IRQHandler /* HRTIM Timer B global Interrupt */ + .word HRTIM1_TIMC_IRQHandler /* HRTIM Timer C global Interrupt */ + .word HRTIM1_TIMD_IRQHandler /* HRTIM Timer D global Interrupt */ + .word HRTIM1_TIME_IRQHandler /* HRTIM Timer E global Interrupt */ + .word HRTIM1_FLT_IRQHandler /* HRTIM Fault global Interrupt */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM Filter0 Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM Filter1 Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM Filter2 Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM Filter3 Interrupt */ + .word SAI3_IRQHandler /* SAI3 global Interrupt */ + .word SWPMI1_IRQHandler /* Serial Wire Interface 1 global interrupt */ + .word TIM15_IRQHandler /* TIM15 global Interrupt */ + .word TIM16_IRQHandler /* TIM16 global Interrupt */ + .word TIM17_IRQHandler /* TIM17 global Interrupt */ + .word MDIOS_WKUP_IRQHandler /* MDIOS Wakeup Interrupt */ + .word MDIOS_IRQHandler /* MDIOS global Interrupt */ + .word JPEG_IRQHandler /* JPEG global Interrupt */ + .word MDMA_IRQHandler /* MDMA global Interrupt */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 global Interrupt */ + .word HSEM1_IRQHandler /* HSEM1 global Interrupt */ + .word 0 /* Reserved */ + .word ADC3_IRQHandler /* ADC3 global Interrupt */ + .word DMAMUX2_OVR_IRQHandler /* DMAMUX Overrun interrupt */ + .word BDMA_Channel0_IRQHandler /* BDMA Channel 0 global Interrupt */ + .word BDMA_Channel1_IRQHandler /* BDMA Channel 1 global Interrupt */ + .word BDMA_Channel2_IRQHandler /* BDMA Channel 2 global Interrupt */ + .word BDMA_Channel3_IRQHandler /* BDMA Channel 3 global Interrupt */ + .word BDMA_Channel4_IRQHandler /* BDMA Channel 4 global Interrupt */ + .word BDMA_Channel5_IRQHandler /* BDMA Channel 5 global Interrupt */ + .word BDMA_Channel6_IRQHandler /* BDMA Channel 6 global Interrupt */ + .word BDMA_Channel7_IRQHandler /* BDMA Channel 7 global Interrupt */ + .word COMP1_IRQHandler /* COMP1 global Interrupt */ + .word LPTIM2_IRQHandler /* LP TIM2 global interrupt */ + .word LPTIM3_IRQHandler /* LP TIM3 global interrupt */ + .word LPTIM4_IRQHandler /* LP TIM4 global interrupt */ + .word LPTIM5_IRQHandler /* LP TIM5 global interrupt */ + .word LPUART1_IRQHandler /* LP UART1 interrupt */ + .word 0 /* Reserved */ + .word CRS_IRQHandler /* Clock Recovery Global Interrupt */ + .word 0 /* Reserved */ + .word SAI4_IRQHandler /* SAI4 global interrupt */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word WAKEUP_PIN_IRQHandler /* Interrupt for all 6 wake-up pins */ + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_AVD_IRQHandler + .thumb_set PVD_AVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak FDCAN1_IT0_IRQHandler + .thumb_set FDCAN1_IT0_IRQHandler,Default_Handler + + .weak FDCAN2_IT0_IRQHandler + .thumb_set FDCAN2_IT0_IRQHandler,Default_Handler + + .weak FDCAN1_IT1_IRQHandler + .thumb_set FDCAN1_IT1_IRQHandler,Default_Handler + + .weak FDCAN2_IT1_IRQHandler + .thumb_set FDCAN2_IT1_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_IRQHandler + .thumb_set TIM1_BRK_IRQHandler,Default_Handler + + .weak TIM1_UP_IRQHandler + .thumb_set TIM1_UP_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_IRQHandler + .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak FDCAN_CAL_IRQHandler + .thumb_set FDCAN_CAL_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak CRYP_IRQHandler + .thumb_set CRYP_IRQHandler,Default_Handler + + .weak HASH_RNG_IRQHandler + .thumb_set HASH_RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_OUT_IRQHandler + .thumb_set OTG_FS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_IN_IRQHandler + .thumb_set OTG_FS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMAMUX1_OVR_IRQHandler + .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler + + .weak HRTIM1_Master_IRQHandler + .thumb_set HRTIM1_Master_IRQHandler,Default_Handler + + .weak HRTIM1_TIMA_IRQHandler + .thumb_set HRTIM1_TIMA_IRQHandler,Default_Handler + + .weak HRTIM1_TIMB_IRQHandler + .thumb_set HRTIM1_TIMB_IRQHandler,Default_Handler + + .weak HRTIM1_TIMC_IRQHandler + .thumb_set HRTIM1_TIMC_IRQHandler,Default_Handler + + .weak HRTIM1_TIMD_IRQHandler + .thumb_set HRTIM1_TIMD_IRQHandler,Default_Handler + + .weak HRTIM1_TIME_IRQHandler + .thumb_set HRTIM1_TIME_IRQHandler,Default_Handler + + .weak HRTIM1_FLT_IRQHandler + .thumb_set HRTIM1_FLT_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SAI3_IRQHandler + .thumb_set SAI3_IRQHandler,Default_Handler + + .weak SWPMI1_IRQHandler + .thumb_set SWPMI1_IRQHandler,Default_Handler + + .weak TIM15_IRQHandler + .thumb_set TIM15_IRQHandler,Default_Handler + + .weak TIM16_IRQHandler + .thumb_set TIM16_IRQHandler,Default_Handler + + .weak TIM17_IRQHandler + .thumb_set TIM17_IRQHandler,Default_Handler + + .weak MDIOS_WKUP_IRQHandler + .thumb_set MDIOS_WKUP_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDMA_IRQHandler + .thumb_set MDMA_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak HSEM1_IRQHandler + .thumb_set HSEM1_IRQHandler,Default_Handler + + .weak ADC3_IRQHandler + .thumb_set ADC3_IRQHandler,Default_Handler + + .weak DMAMUX2_OVR_IRQHandler + .thumb_set DMAMUX2_OVR_IRQHandler,Default_Handler + + .weak BDMA_Channel0_IRQHandler + .thumb_set BDMA_Channel0_IRQHandler,Default_Handler + + .weak BDMA_Channel1_IRQHandler + .thumb_set BDMA_Channel1_IRQHandler,Default_Handler + + .weak BDMA_Channel2_IRQHandler + .thumb_set BDMA_Channel2_IRQHandler,Default_Handler + + .weak BDMA_Channel3_IRQHandler + .thumb_set BDMA_Channel3_IRQHandler,Default_Handler + + .weak BDMA_Channel4_IRQHandler + .thumb_set BDMA_Channel4_IRQHandler,Default_Handler + + .weak BDMA_Channel5_IRQHandler + .thumb_set BDMA_Channel5_IRQHandler,Default_Handler + + .weak BDMA_Channel6_IRQHandler + .thumb_set BDMA_Channel6_IRQHandler,Default_Handler + + .weak BDMA_Channel7_IRQHandler + .thumb_set BDMA_Channel7_IRQHandler,Default_Handler + + .weak COMP1_IRQHandler + .thumb_set COMP1_IRQHandler,Default_Handler + + .weak LPTIM2_IRQHandler + .thumb_set LPTIM2_IRQHandler,Default_Handler + + .weak LPTIM3_IRQHandler + .thumb_set LPTIM3_IRQHandler,Default_Handler + + .weak LPTIM4_IRQHandler + .thumb_set LPTIM4_IRQHandler,Default_Handler + + .weak LPTIM5_IRQHandler + .thumb_set LPTIM5_IRQHandler,Default_Handler + + .weak LPUART1_IRQHandler + .thumb_set LPUART1_IRQHandler,Default_Handler + + .weak CRS_IRQHandler + .thumb_set CRS_IRQHandler,Default_Handler + + .weak SAI4_IRQHandler + .thumb_set SAI4_IRQHandler,Default_Handler + + .weak WAKEUP_PIN_IRQHandler + .thumb_set WAKEUP_PIN_IRQHandler,Default_Handler + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c new file mode 100644 index 0000000000..4018f505dc --- /dev/null +++ b/system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c @@ -0,0 +1,576 @@ +/** + ****************************************************************************** + * @file system_stm32h7xx.c + * @author MCD Application Team + * @brief CMSIS Cortex-Mx Device Peripheral Access Layer System Source File. + * + * This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32h7xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32h7xx_system + * @{ + */ + +/** @addtogroup STM32H7xx_System_Private_Includes + * @{ + */ + +#include "stm32h7xx.h" + +#if !defined (HSE_VALUE) +#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (CSI_VALUE) + #define CSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* CSI_VALUE */ + +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Defines + * @{ + */ + +/************************* Miscellaneous Configuration ************************/ +/*!< Uncomment the following line if you need to use external SRAM or SDRAM mounted + on EVAL board as data memory */ +/*#define DATA_IN_ExtSRAM */ +/*#define DATA_IN_ExtSDRAM*/ + +#if defined(DATA_IN_ExtSRAM) && defined(DATA_IN_ExtSDRAM) + #error "Please select DATA_IN_ExtSRAM or DATA_IN_ExtSDRAM " +#endif /* DATA_IN_ExtSRAM && DATA_IN_ExtSDRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/******************************************************************************/ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Variables + * @{ + */ + /* This variable is updated in three ways: + 1) by calling CMSIS function SystemCoreClockUpdate() + 2) by calling HAL API function HAL_RCC_GetHCLKFreq() + 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency + Note: If you use this function to configure the system clock; then there + is no need to call the 2 first functions listed above, since SystemCoreClock + variable is updated automatically. + */ + uint32_t SystemCoreClock = 64000000; + uint32_t SystemD2Clock = 64000000; + const uint8_t D1CorePrescTable[16] = {0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_FunctionPrototypes + * @{ + */ +#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the FPU setting, vector table location and External memory + * configuration. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + /* Reset the RCC clock configuration to the default reset state ------------*/ + /* Set HSION bit */ + RCC->CR |= RCC_CR_HSION; + + /* Reset CFGR register */ + RCC->CFGR = 0x00000000; + + /* Reset HSEON, CSSON , CSION,RC48ON, CSIKERON PLL1ON, PLL2ON and PLL3ON bits */ + RCC->CR &= (uint32_t)0xEAF6ED7F; + + /* Reset D1CFGR register */ + RCC->D1CFGR = 0x00000000; + + /* Reset D2CFGR register */ + RCC->D2CFGR = 0x00000000; + + /* Reset D3CFGR register */ + RCC->D3CFGR = 0x00000000; + + /* Reset PLLCKSELR register */ + RCC->PLLCKSELR = 0x00000000; + + /* Reset PLLCFGR register */ + RCC->PLLCFGR = 0x00000000; + /* Reset PLL1DIVR register */ + RCC->PLL1DIVR = 0x00000000; + /* Reset PLL1FRACR register */ + RCC->PLL1FRACR = 0x00000000; + + /* Reset PLL2DIVR register */ + RCC->PLL2DIVR = 0x00000000; + + /* Reset PLL2FRACR register */ + + RCC->PLL2FRACR = 0x00000000; + /* Reset PLL3DIVR register */ + RCC->PLL3DIVR = 0x00000000; + + /* Reset PLL3FRACR register */ + RCC->PLL3FRACR = 0x00000000; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Disable all interrupts */ + RCC->CIER = 0x00000000; + + /* Change the switch matrix read issuing capability to 1 for the AXI SRAM target (Target 7) */ + *((__IO uint32_t*)0x51008108) = 0x00000001; + +#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) + SystemInit_ExtMemCtl(); +#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */ + + /* Configure the Vector Table location add offset address ------------------*/ +#ifdef VECT_TAB_SRAM + SCB->VTOR = D1_AXISRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal ITCMSRAM */ +#else + SCB->VTOR = FLASH_BANK1_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ +#endif + +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock , it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is CSI, SystemCoreClock will contain the CSI_VALUE(*) + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**) + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***) + * - If SYSCLK source is PLL, SystemCoreClock will contain the CSI_VALUE(*), + * HSI_VALUE(**) or HSE_VALUE(***) multiplied/divided by the PLL factors. + * + * (*) CSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value + * 4 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * (**) HSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value + * 64 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (***)HSE_VALUE is a constant defined in stm32h7xx_hal.h file (default value + * 25 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ +uint32_t pllp = 2, pllsource = 0, pllm = 2 ,tmp, pllfracen =0 , hsivalue = 0; +float fracn1, pllvco = 0 ; + + /* Get SYSCLK source -------------------------------------------------------*/ + + switch (RCC->CFGR & RCC_CFGR_SWS) + { + case 0x00: /* HSI used as system clock source */ + SystemCoreClock = (uint32_t) (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)); + break; + + case 0x08: /* CSI used as system clock source */ + SystemCoreClock = CSI_VALUE; + break; + + case 0x10: /* HSE used as system clock source */ + SystemCoreClock = HSE_VALUE; + break; + + case 0x18: /* PLL1 used as system clock source */ + + /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLLM) * PLLN + SYSCLK = PLL_VCO / PLLR + */ + pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); + pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4) ; + pllfracen = RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN; + fracn1 = (pllfracen* ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3)); + switch (pllsource) + { + + case 0x00: /* HSI used as PLL clock source */ + hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)) ; + pllvco = (hsivalue/ pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + + case 0x01: /* CSI used as PLL clock source */ + pllvco = (CSI_VALUE / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + + case 0x02: /* HSE used as PLL clock source */ + pllvco = (HSE_VALUE / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + + default: + pllvco = (CSI_VALUE / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + } + pllp = (((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + 1 ) ; + SystemCoreClock = (uint32_t) (pllvco/pllp); + break; + + default: + SystemCoreClock = CSI_VALUE; + break; + } + + /* Compute HCLK frequency --------------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> POSITION_VAL(RCC_D1CFGR_D1CPRE_0)]; + /* HCLK frequency */ + SystemCoreClock >>= tmp; +} +#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) +/** + * @brief Setup the external memory controller. + * Called in startup_stm32h7xx.s before jump to main. + * This function configures the external memories (SRAM/SDRAM) + * This SRAM/SDRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +#if defined (DATA_IN_ExtSDRAM) + register uint32_t tmpreg = 0, timeout = 0xFFFF; + register __IO uint32_t index; + + /* Enable GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface + clock */ + RCC->AHB4ENR |= 0x000001F8; + /* Connect PDx pins to FMC Alternate function */ + GPIOD->AFR[0] = 0x000000CC; + GPIOD->AFR[1] = 0xCC000CCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAFEAFFFA; + /* Configure PDx pins speed to 50 MHz */ + GPIOD->OSPEEDR = 0xA02A000A; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x55555505; + /* Connect PEx pins to FMC Alternate function */ + GPIOE->AFR[0] = 0xC00000CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAABFFA; + /* Configure PEx pins speed to 50 MHz */ + GPIOE->OSPEEDR = 0xAAAA800A; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x55554005; + /* Connect PFx pins to FMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCCC000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAABFFAAA; + /* Configure PFx pins speed to 50 MHz */ + GPIOF->OSPEEDR = 0xAA800AAA; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x55400555; + /* Connect PGx pins to FMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0xC000000C; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0xBFFEFAAA; + /* Configure PGx pins speed to 50 MHz */ + GPIOG->OSPEEDR = 0x80020AAA; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x40010515; + /* Connect PHx pins to FMC Alternate function */ + GPIOH->AFR[0] = 0xCCC00000; + GPIOH->AFR[1] = 0xCCCCCCCC; + /* Configure PHx pins in Alternate function mode */ + GPIOH->MODER = 0xAAAAABFF; + /* Configure PHx pins speed to 50 MHz */ + GPIOH->OSPEEDR = 0xAAAAA800; + /* Configure PHx pins Output type to push-pull */ + GPIOH->OTYPER = 0x00000000; + /* No pull-up, pull-down for PHx pins */ + GPIOH->PUPDR = 0x55555400; + /* Connect PIx pins to FMC Alternate function */ + GPIOI->AFR[0] = 0xCCCCCCCC; + GPIOI->AFR[1] = 0x00000CC0; + /* Configure PIx pins in Alternate function mode */ + GPIOI->MODER = 0xFFEBAAAA; + /* Configure PIx pins speed to 50 MHz */ + GPIOI->OSPEEDR = 0x0028AAAA; + /* Configure PIx pins Output type to push-pull */ + GPIOI->OTYPER = 0x00000000; + /* No pull-up, pull-down for PIx pins */ + GPIOI->PUPDR = 0x00145555; +/*-- FMC Configuration ------------------------------------------------------*/ + /* Enable the FMC interface clock */ + (RCC->AHB3ENR |= (RCC_AHB3ENR_FMCEN)); + /*SDRAM Timing and access interface configuration*/ + /*LoadToActiveDelay = 2 + ExitSelfRefreshDelay = 6 + SelfRefreshTime = 4 + RowCycleDelay = 6 + WriteRecoveryTime = 2 + RPDelay = 2 + RCDDelay = 2 + SDBank = FMC_SDRAM_BANK2 + ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_9 + RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12 + MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_32 + InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4 + CASLatency = FMC_SDRAM_CAS_LATENCY_2 + WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE + SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2 + ReadBurst = FMC_SDRAM_RBURST_ENABLE + ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_0*/ + + FMC_Bank5_6->SDCR[0] = 0x00001800; + FMC_Bank5_6->SDCR[1] = 0x00000165; + FMC_Bank5_6->SDTR[0] = 0x00105000; + FMC_Bank5_6->SDTR[1] = 0x01010351; + + /* SDRAM initialization sequence */ + /* Clock enable command */ + FMC_Bank5_6->SDCMR = 0x00000009; + tmpreg = FMC_Bank5_6->SDSR & 0x00000020; + while((tmpreg != 0) && (timeout-- > 0)) + { + tmpreg = FMC_Bank5_6->SDSR & 0x00000020; + } + + /* Delay */ + for (index = 0; index<1000; index++); + + /* PALL command */ + FMC_Bank5_6->SDCMR = 0x0000000A; + timeout = 0xFFFF; + while((tmpreg != 0) && (timeout-- > 0)) + { + tmpreg = FMC_Bank5_6->SDSR & 0x00000020; + } + + FMC_Bank5_6->SDCMR = 0x000000EB; + timeout = 0xFFFF; + while((tmpreg != 0) && (timeout-- > 0)) + { + tmpreg = FMC_Bank5_6->SDSR & 0x00000020; + } + + FMC_Bank5_6->SDCMR = 0x0004400C; + timeout = 0xFFFF; + while((tmpreg != 0) && (timeout-- > 0)) + { + tmpreg = FMC_Bank5_6->SDSR & 0x00000020; + } + /* Set refresh count */ + tmpreg = FMC_Bank5_6->SDRTR; + FMC_Bank5_6->SDRTR = (tmpreg | (0x00000603<<1)); + + /* Disable write protection */ + tmpreg = FMC_Bank5_6->SDCR[1]; + FMC_Bank5_6->SDCR[1] = (tmpreg & 0xFFFFFDFF); + + /*FMC controller Enable*/ + FMC_Bank1->BTCR[0] |= 0x80000000; + + +#endif /* DATA_IN_ExtSDRAM */ + +#if defined(DATA_IN_ExtSRAM) +/*-- GPIOs Configuration -----------------------------------------------------*/ + /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ + RCC->AHB4ENR |= 0x00000078; + + /* Connect PDx pins to FMC Alternate function */ + GPIOD->AFR[0] = 0x00CCC0CC; + GPIOD->AFR[1] = 0xCCCCCCCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAAAA0A8A; + /* Configure PDx pins speed to 100 MHz */ + GPIOD->OSPEEDR = 0xFFFF0FCF; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x55550545; + + /* Connect PEx pins to FMC Alternate function */ + GPIOE->AFR[0] = 0xC00CC0CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAA828A; + /* Configure PEx pins speed to 100 MHz */ + GPIOE->OSPEEDR = 0xFFFFC3CF; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x55554145; + + /* Connect PFx pins to FMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCC0000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAA000AAA; + /* Configure PFx pins speed to 100 MHz */ + GPIOF->OSPEEDR = 0xFF000FFF; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x55000555; + + /* Connect PGx pins to FMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0x000000C0; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0x00200AAA; + /* Configure PGx pins speed to 100 MHz */ + GPIOG->OSPEEDR = 0x00300FFF; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x00100555; + +/*-- FMC/FSMC Configuration --------------------------------------------------*/ + /* Enable the FMC/FSMC interface clock */ + (RCC->AHB3ENR |= (RCC_AHB3ENR_FMCEN)); + + /* Configure and enable Bank1_SRAM2 */ + FMC_Bank1->BTCR[4] = 0x00001091; + FMC_Bank1->BTCR[5] = 0x00110212; + FMC_Bank1E->BWTR[4] = 0x0FFFFFFF; + + /*FMC controller Enable*/ + FMC_Bank1->BTCR[0] |= 0x80000000; + + +#endif /* DATA_IN_ExtSRAM */ +} +#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */ + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h new file mode 100644 index 0000000000..37bd999c0a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h @@ -0,0 +1,3292 @@ +/** + ****************************************************************************** + * @file stm32_hal_legacy.h + * @author MCD Application Team + * @version V1.1.0 + * @date 31-August-2017 + * @brief This file contains aliases definition for the STM32Cube HAL constants + * macros and functions maintained for legacy purpose. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_HAL_LEGACY +#define __STM32_HAL_LEGACY + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup HAL_AES_Aliased_Defines HAL CRYP Aliased Defines maintained for legacy purpose + * @{ + */ +#define AES_FLAG_RDERR CRYP_FLAG_RDERR +#define AES_FLAG_WRERR CRYP_FLAG_WRERR +#define AES_CLEARFLAG_CCF CRYP_CLEARFLAG_CCF +#define AES_CLEARFLAG_RDERR CRYP_CLEARFLAG_RDERR +#define AES_CLEARFLAG_WRERR CRYP_CLEARFLAG_WRERR + +/** + * @} + */ + +/** @defgroup HAL_ADC_Aliased_Defines HAL ADC Aliased Defines maintained for legacy purpose + * @{ + */ +#define ADC_RESOLUTION12b ADC_RESOLUTION_12B +#define ADC_RESOLUTION10b ADC_RESOLUTION_10B +#define ADC_RESOLUTION8b ADC_RESOLUTION_8B +#define ADC_RESOLUTION6b ADC_RESOLUTION_6B +#define OVR_DATA_OVERWRITTEN ADC_OVR_DATA_OVERWRITTEN +#define OVR_DATA_PRESERVED ADC_OVR_DATA_PRESERVED +#define EOC_SINGLE_CONV ADC_EOC_SINGLE_CONV +#define EOC_SEQ_CONV ADC_EOC_SEQ_CONV +#define EOC_SINGLE_SEQ_CONV ADC_EOC_SINGLE_SEQ_CONV +#define REGULAR_GROUP ADC_REGULAR_GROUP +#define INJECTED_GROUP ADC_INJECTED_GROUP +#define REGULAR_INJECTED_GROUP ADC_REGULAR_INJECTED_GROUP +#define AWD_EVENT ADC_AWD_EVENT +#define AWD1_EVENT ADC_AWD1_EVENT +#define AWD2_EVENT ADC_AWD2_EVENT +#define AWD3_EVENT ADC_AWD3_EVENT +#define OVR_EVENT ADC_OVR_EVENT +#define JQOVF_EVENT ADC_JQOVF_EVENT +#define ALL_CHANNELS ADC_ALL_CHANNELS +#define REGULAR_CHANNELS ADC_REGULAR_CHANNELS +#define INJECTED_CHANNELS ADC_INJECTED_CHANNELS +#define SYSCFG_FLAG_SENSOR_ADC ADC_FLAG_SENSOR +#define SYSCFG_FLAG_VREF_ADC ADC_FLAG_VREFINT +#define ADC_CLOCKPRESCALER_PCLK_DIV1 ADC_CLOCK_SYNC_PCLK_DIV1 +#define ADC_CLOCKPRESCALER_PCLK_DIV2 ADC_CLOCK_SYNC_PCLK_DIV2 +#define ADC_CLOCKPRESCALER_PCLK_DIV4 ADC_CLOCK_SYNC_PCLK_DIV4 +#define ADC_CLOCKPRESCALER_PCLK_DIV6 ADC_CLOCK_SYNC_PCLK_DIV6 +#define ADC_CLOCKPRESCALER_PCLK_DIV8 ADC_CLOCK_SYNC_PCLK_DIV8 +#define ADC_EXTERNALTRIG0_T6_TRGO ADC_EXTERNALTRIGCONV_T6_TRGO +#define ADC_EXTERNALTRIG1_T21_CC2 ADC_EXTERNALTRIGCONV_T21_CC2 +#define ADC_EXTERNALTRIG2_T2_TRGO ADC_EXTERNALTRIGCONV_T2_TRGO +#define ADC_EXTERNALTRIG3_T2_CC4 ADC_EXTERNALTRIGCONV_T2_CC4 +#define ADC_EXTERNALTRIG4_T22_TRGO ADC_EXTERNALTRIGCONV_T22_TRGO +#define ADC_EXTERNALTRIG7_EXT_IT11 ADC_EXTERNALTRIGCONV_EXT_IT11 +#define ADC_CLOCK_ASYNC ADC_CLOCK_ASYNC_DIV1 +#define ADC_EXTERNALTRIG_EDGE_NONE ADC_EXTERNALTRIGCONVEDGE_NONE +#define ADC_EXTERNALTRIG_EDGE_RISING ADC_EXTERNALTRIGCONVEDGE_RISING +#define ADC_EXTERNALTRIG_EDGE_FALLING ADC_EXTERNALTRIGCONVEDGE_FALLING +#define ADC_EXTERNALTRIG_EDGE_RISINGFALLING ADC_EXTERNALTRIGCONVEDGE_RISINGFALLING +#define ADC_SAMPLETIME_2CYCLE_5 ADC_SAMPLETIME_2CYCLES_5 + +#define HAL_ADC_STATE_BUSY_REG HAL_ADC_STATE_REG_BUSY +#define HAL_ADC_STATE_BUSY_INJ HAL_ADC_STATE_INJ_BUSY +#define HAL_ADC_STATE_EOC_REG HAL_ADC_STATE_REG_EOC +#define HAL_ADC_STATE_EOC_INJ HAL_ADC_STATE_INJ_EOC +#define HAL_ADC_STATE_ERROR HAL_ADC_STATE_ERROR_INTERNAL +#define HAL_ADC_STATE_BUSY HAL_ADC_STATE_BUSY_INTERNAL +#define HAL_ADC_STATE_AWD HAL_ADC_STATE_AWD1 +/** + * @} + */ + +/** @defgroup HAL_CEC_Aliased_Defines HAL CEC Aliased Defines maintained for legacy purpose + * @{ + */ + +#define __HAL_CEC_GET_IT __HAL_CEC_GET_FLAG + +/** + * @} + */ + +/** @defgroup HAL_COMP_Aliased_Defines HAL COMP Aliased Defines maintained for legacy purpose + * @{ + */ +#define COMP_WINDOWMODE_DISABLED COMP_WINDOWMODE_DISABLE +#define COMP_WINDOWMODE_ENABLED COMP_WINDOWMODE_ENABLE +#define COMP_EXTI_LINE_COMP1_EVENT COMP_EXTI_LINE_COMP1 +#define COMP_EXTI_LINE_COMP2_EVENT COMP_EXTI_LINE_COMP2 +#define COMP_EXTI_LINE_COMP3_EVENT COMP_EXTI_LINE_COMP3 +#define COMP_EXTI_LINE_COMP4_EVENT COMP_EXTI_LINE_COMP4 +#define COMP_EXTI_LINE_COMP5_EVENT COMP_EXTI_LINE_COMP5 +#define COMP_EXTI_LINE_COMP6_EVENT COMP_EXTI_LINE_COMP6 +#define COMP_EXTI_LINE_COMP7_EVENT COMP_EXTI_LINE_COMP7 +#define COMP_LPTIMCONNECTION_ENABLED COMP_LPTIMCONNECTION_IN1_ENABLED /*!< COMPX output is connected to LPTIM input 1 */ +#define COMP_OUTPUT_COMP6TIM2OCREFCLR COMP_OUTPUT_COMP6_TIM2OCREFCLR +#if defined(STM32F373xC) || defined(STM32F378xx) +#define COMP_OUTPUT_TIM3IC1 COMP_OUTPUT_COMP1_TIM3IC1 +#define COMP_OUTPUT_TIM3OCREFCLR COMP_OUTPUT_COMP1_TIM3OCREFCLR +#endif /* STM32F373xC || STM32F378xx */ + +#if defined(STM32L0) || defined(STM32L4) +#define COMP_WINDOWMODE_ENABLE COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON + +#define COMP_NONINVERTINGINPUT_IO1 COMP_INPUT_PLUS_IO1 +#define COMP_NONINVERTINGINPUT_IO2 COMP_INPUT_PLUS_IO2 +#define COMP_NONINVERTINGINPUT_IO3 COMP_INPUT_PLUS_IO3 +#define COMP_NONINVERTINGINPUT_IO4 COMP_INPUT_PLUS_IO4 +#define COMP_NONINVERTINGINPUT_IO5 COMP_INPUT_PLUS_IO5 +#define COMP_NONINVERTINGINPUT_IO6 COMP_INPUT_PLUS_IO6 + +#define COMP_INVERTINGINPUT_1_4VREFINT COMP_INPUT_MINUS_1_4VREFINT +#define COMP_INVERTINGINPUT_1_2VREFINT COMP_INPUT_MINUS_1_2VREFINT +#define COMP_INVERTINGINPUT_3_4VREFINT COMP_INPUT_MINUS_3_4VREFINT +#define COMP_INVERTINGINPUT_VREFINT COMP_INPUT_MINUS_VREFINT +#define COMP_INVERTINGINPUT_DAC1_CH1 COMP_INPUT_MINUS_DAC1_CH1 +#define COMP_INVERTINGINPUT_DAC1_CH2 COMP_INPUT_MINUS_DAC1_CH2 +#define COMP_INVERTINGINPUT_DAC1 COMP_INPUT_MINUS_DAC1_CH1 +#define COMP_INVERTINGINPUT_DAC2 COMP_INPUT_MINUS_DAC1_CH2 +#define COMP_INVERTINGINPUT_IO1 COMP_INPUT_MINUS_IO1 +#if defined(STM32L0) +/* Issue fixed on STM32L0 COMP driver: only 2 dedicated IO (IO1 and IO2), */ +/* IO2 was wrongly assigned to IO shared with DAC and IO3 was corresponding */ +/* to the second dedicated IO (only for COMP2). */ +#define COMP_INVERTINGINPUT_IO2 COMP_INPUT_MINUS_DAC1_CH2 +#define COMP_INVERTINGINPUT_IO3 COMP_INPUT_MINUS_IO2 +#else +#define COMP_INVERTINGINPUT_IO2 COMP_INPUT_MINUS_IO2 +#define COMP_INVERTINGINPUT_IO3 COMP_INPUT_MINUS_IO3 +#endif +#define COMP_INVERTINGINPUT_IO4 COMP_INPUT_MINUS_IO4 +#define COMP_INVERTINGINPUT_IO5 COMP_INPUT_MINUS_IO5 + +#define COMP_OUTPUTLEVEL_LOW COMP_OUTPUT_LEVEL_LOW +#define COMP_OUTPUTLEVEL_HIGH COMP_OUTPUT_LEVEL_HIGH + +/* Note: Literal "COMP_FLAG_LOCK" kept for legacy purpose. */ +/* To check COMP lock state, use macro "__HAL_COMP_IS_LOCKED()". */ +#if defined(COMP_CSR_LOCK) +#define COMP_FLAG_LOCK COMP_CSR_LOCK +#elif defined(COMP_CSR_COMP1LOCK) +#define COMP_FLAG_LOCK COMP_CSR_COMP1LOCK +#elif defined(COMP_CSR_COMPxLOCK) +#define COMP_FLAG_LOCK COMP_CSR_COMPxLOCK +#endif + +#if defined(STM32L4) +#define COMP_BLANKINGSRCE_TIM1OC5 COMP_BLANKINGSRC_TIM1_OC5_COMP1 +#define COMP_BLANKINGSRCE_TIM2OC3 COMP_BLANKINGSRC_TIM2_OC3_COMP1 +#define COMP_BLANKINGSRCE_TIM3OC3 COMP_BLANKINGSRC_TIM3_OC3_COMP1 +#define COMP_BLANKINGSRCE_TIM3OC4 COMP_BLANKINGSRC_TIM3_OC4_COMP2 +#define COMP_BLANKINGSRCE_TIM8OC5 COMP_BLANKINGSRC_TIM8_OC5_COMP2 +#define COMP_BLANKINGSRCE_TIM15OC1 COMP_BLANKINGSRC_TIM15_OC1_COMP2 +#define COMP_BLANKINGSRCE_NONE COMP_BLANKINGSRC_NONE +#endif + +#if defined(STM32L0) +#define COMP_MODE_HIGHSPEED COMP_POWERMODE_MEDIUMSPEED +#define COMP_MODE_LOWSPEED COMP_POWERMODE_ULTRALOWPOWER +#else +#define COMP_MODE_HIGHSPEED COMP_POWERMODE_HIGHSPEED +#define COMP_MODE_MEDIUMSPEED COMP_POWERMODE_MEDIUMSPEED +#define COMP_MODE_LOWPOWER COMP_POWERMODE_LOWPOWER +#define COMP_MODE_ULTRALOWPOWER COMP_POWERMODE_ULTRALOWPOWER +#endif + +#endif +/** + * @} + */ + +/** @defgroup HAL_CORTEX_Aliased_Defines HAL CORTEX Aliased Defines maintained for legacy purpose + * @{ + */ +#define __HAL_CORTEX_SYSTICKCLK_CONFIG HAL_SYSTICK_CLKSourceConfig +/** + * @} + */ + +/** @defgroup HAL_CRC_Aliased_Defines HAL CRC Aliased Defines maintained for legacy purpose + * @{ + */ + +#define CRC_OUTPUTDATA_INVERSION_DISABLED CRC_OUTPUTDATA_INVERSION_DISABLE +#define CRC_OUTPUTDATA_INVERSION_ENABLED CRC_OUTPUTDATA_INVERSION_ENABLE + +/** + * @} + */ + +/** @defgroup HAL_DAC_Aliased_Defines HAL DAC Aliased Defines maintained for legacy purpose + * @{ + */ + +#define DAC1_CHANNEL_1 DAC_CHANNEL_1 +#define DAC1_CHANNEL_2 DAC_CHANNEL_2 +#define DAC2_CHANNEL_1 DAC_CHANNEL_1 +#define DAC_WAVE_NONE 0x00000000U +#define DAC_WAVE_NOISE DAC_CR_WAVE1_0 +#define DAC_WAVE_TRIANGLE DAC_CR_WAVE1_1 +#define DAC_WAVEGENERATION_NONE DAC_WAVE_NONE +#define DAC_WAVEGENERATION_NOISE DAC_WAVE_NOISE +#define DAC_WAVEGENERATION_TRIANGLE DAC_WAVE_TRIANGLE + +/** + * @} + */ + +/** @defgroup HAL_DMA_Aliased_Defines HAL DMA Aliased Defines maintained for legacy purpose + * @{ + */ +#define HAL_REMAPDMA_ADC_DMA_CH2 DMA_REMAP_ADC_DMA_CH2 +#define HAL_REMAPDMA_USART1_TX_DMA_CH4 DMA_REMAP_USART1_TX_DMA_CH4 +#define HAL_REMAPDMA_USART1_RX_DMA_CH5 DMA_REMAP_USART1_RX_DMA_CH5 +#define HAL_REMAPDMA_TIM16_DMA_CH4 DMA_REMAP_TIM16_DMA_CH4 +#define HAL_REMAPDMA_TIM17_DMA_CH2 DMA_REMAP_TIM17_DMA_CH2 +#define HAL_REMAPDMA_USART3_DMA_CH32 DMA_REMAP_USART3_DMA_CH32 +#define HAL_REMAPDMA_TIM16_DMA_CH6 DMA_REMAP_TIM16_DMA_CH6 +#define HAL_REMAPDMA_TIM17_DMA_CH7 DMA_REMAP_TIM17_DMA_CH7 +#define HAL_REMAPDMA_SPI2_DMA_CH67 DMA_REMAP_SPI2_DMA_CH67 +#define HAL_REMAPDMA_USART2_DMA_CH67 DMA_REMAP_USART2_DMA_CH67 +#define HAL_REMAPDMA_USART3_DMA_CH32 DMA_REMAP_USART3_DMA_CH32 +#define HAL_REMAPDMA_I2C1_DMA_CH76 DMA_REMAP_I2C1_DMA_CH76 +#define HAL_REMAPDMA_TIM1_DMA_CH6 DMA_REMAP_TIM1_DMA_CH6 +#define HAL_REMAPDMA_TIM2_DMA_CH7 DMA_REMAP_TIM2_DMA_CH7 +#define HAL_REMAPDMA_TIM3_DMA_CH6 DMA_REMAP_TIM3_DMA_CH6 + +#define IS_HAL_REMAPDMA IS_DMA_REMAP +#define __HAL_REMAPDMA_CHANNEL_ENABLE __HAL_DMA_REMAP_CHANNEL_ENABLE +#define __HAL_REMAPDMA_CHANNEL_DISABLE __HAL_DMA_REMAP_CHANNEL_DISABLE + + + +/** + * @} + */ + +/** @defgroup HAL_FLASH_Aliased_Defines HAL FLASH Aliased Defines maintained for legacy purpose + * @{ + */ + +#define TYPEPROGRAM_BYTE FLASH_TYPEPROGRAM_BYTE +#define TYPEPROGRAM_HALFWORD FLASH_TYPEPROGRAM_HALFWORD +#define TYPEPROGRAM_WORD FLASH_TYPEPROGRAM_WORD +#define TYPEPROGRAM_DOUBLEWORD FLASH_TYPEPROGRAM_DOUBLEWORD +#define TYPEERASE_SECTORS FLASH_TYPEERASE_SECTORS +#define TYPEERASE_PAGES FLASH_TYPEERASE_PAGES +#define TYPEERASE_PAGEERASE FLASH_TYPEERASE_PAGES +#define TYPEERASE_MASSERASE FLASH_TYPEERASE_MASSERASE +#define WRPSTATE_DISABLE OB_WRPSTATE_DISABLE +#define WRPSTATE_ENABLE OB_WRPSTATE_ENABLE +#define HAL_FLASH_TIMEOUT_VALUE FLASH_TIMEOUT_VALUE +#define OBEX_PCROP OPTIONBYTE_PCROP +#define OBEX_BOOTCONFIG OPTIONBYTE_BOOTCONFIG +#define PCROPSTATE_DISABLE OB_PCROP_STATE_DISABLE +#define PCROPSTATE_ENABLE OB_PCROP_STATE_ENABLE +#define TYPEERASEDATA_BYTE FLASH_TYPEERASEDATA_BYTE +#define TYPEERASEDATA_HALFWORD FLASH_TYPEERASEDATA_HALFWORD +#define TYPEERASEDATA_WORD FLASH_TYPEERASEDATA_WORD +#define TYPEPROGRAMDATA_BYTE FLASH_TYPEPROGRAMDATA_BYTE +#define TYPEPROGRAMDATA_HALFWORD FLASH_TYPEPROGRAMDATA_HALFWORD +#define TYPEPROGRAMDATA_WORD FLASH_TYPEPROGRAMDATA_WORD +#define TYPEPROGRAMDATA_FASTBYTE FLASH_TYPEPROGRAMDATA_FASTBYTE +#define TYPEPROGRAMDATA_FASTHALFWORD FLASH_TYPEPROGRAMDATA_FASTHALFWORD +#define TYPEPROGRAMDATA_FASTWORD FLASH_TYPEPROGRAMDATA_FASTWORD +#define PAGESIZE FLASH_PAGE_SIZE +#define TYPEPROGRAM_FASTBYTE FLASH_TYPEPROGRAM_BYTE +#define TYPEPROGRAM_FASTHALFWORD FLASH_TYPEPROGRAM_HALFWORD +#define TYPEPROGRAM_FASTWORD FLASH_TYPEPROGRAM_WORD +#define VOLTAGE_RANGE_1 FLASH_VOLTAGE_RANGE_1 +#define VOLTAGE_RANGE_2 FLASH_VOLTAGE_RANGE_2 +#define VOLTAGE_RANGE_3 FLASH_VOLTAGE_RANGE_3 +#define VOLTAGE_RANGE_4 FLASH_VOLTAGE_RANGE_4 +#define TYPEPROGRAM_FAST FLASH_TYPEPROGRAM_FAST +#define TYPEPROGRAM_FAST_AND_LAST FLASH_TYPEPROGRAM_FAST_AND_LAST +#define WRPAREA_BANK1_AREAA OB_WRPAREA_BANK1_AREAA +#define WRPAREA_BANK1_AREAB OB_WRPAREA_BANK1_AREAB +#define WRPAREA_BANK2_AREAA OB_WRPAREA_BANK2_AREAA +#define WRPAREA_BANK2_AREAB OB_WRPAREA_BANK2_AREAB +#define IWDG_STDBY_FREEZE OB_IWDG_STDBY_FREEZE +#define IWDG_STDBY_ACTIVE OB_IWDG_STDBY_RUN +#define IWDG_STOP_FREEZE OB_IWDG_STOP_FREEZE +#define IWDG_STOP_ACTIVE OB_IWDG_STOP_RUN +#define FLASH_ERROR_NONE HAL_FLASH_ERROR_NONE +#define FLASH_ERROR_RD HAL_FLASH_ERROR_RD +#define FLASH_ERROR_PG HAL_FLASH_ERROR_PROG +#define FLASH_ERROR_PGP HAL_FLASH_ERROR_PGS +#define FLASH_ERROR_WRP HAL_FLASH_ERROR_WRP +#define FLASH_ERROR_OPTV HAL_FLASH_ERROR_OPTV +#define FLASH_ERROR_OPTVUSR HAL_FLASH_ERROR_OPTVUSR +#define FLASH_ERROR_PROG HAL_FLASH_ERROR_PROG +#define FLASH_ERROR_OP HAL_FLASH_ERROR_OPERATION +#define FLASH_ERROR_PGA HAL_FLASH_ERROR_PGA +#define FLASH_ERROR_SIZE HAL_FLASH_ERROR_SIZE +#define FLASH_ERROR_SIZ HAL_FLASH_ERROR_SIZE +#define FLASH_ERROR_PGS HAL_FLASH_ERROR_PGS +#define FLASH_ERROR_MIS HAL_FLASH_ERROR_MIS +#define FLASH_ERROR_FAST HAL_FLASH_ERROR_FAST +#define FLASH_ERROR_FWWERR HAL_FLASH_ERROR_FWWERR +#define FLASH_ERROR_NOTZERO HAL_FLASH_ERROR_NOTZERO +#define FLASH_ERROR_OPERATION HAL_FLASH_ERROR_OPERATION +#define FLASH_ERROR_ERS HAL_FLASH_ERROR_ERS +#define OB_WDG_SW OB_IWDG_SW +#define OB_WDG_HW OB_IWDG_HW +#define OB_SDADC12_VDD_MONITOR_SET OB_SDACD_VDD_MONITOR_SET +#define OB_SDADC12_VDD_MONITOR_RESET OB_SDACD_VDD_MONITOR_RESET +#define OB_RAM_PARITY_CHECK_SET OB_SRAM_PARITY_SET +#define OB_RAM_PARITY_CHECK_RESET OB_SRAM_PARITY_RESET +#define IS_OB_SDADC12_VDD_MONITOR IS_OB_SDACD_VDD_MONITOR +#define OB_RDP_LEVEL0 OB_RDP_LEVEL_0 +#define OB_RDP_LEVEL1 OB_RDP_LEVEL_1 +#define OB_RDP_LEVEL2 OB_RDP_LEVEL_2 + +/** + * @} + */ + +/** @defgroup HAL_SYSCFG_Aliased_Defines HAL SYSCFG Aliased Defines maintained for legacy purpose + * @{ + */ + +#define HAL_SYSCFG_FASTMODEPLUS_I2C_PA9 I2C_FASTMODEPLUS_PA9 +#define HAL_SYSCFG_FASTMODEPLUS_I2C_PA10 I2C_FASTMODEPLUS_PA10 +#define HAL_SYSCFG_FASTMODEPLUS_I2C_PB6 I2C_FASTMODEPLUS_PB6 +#define HAL_SYSCFG_FASTMODEPLUS_I2C_PB7 I2C_FASTMODEPLUS_PB7 +#define HAL_SYSCFG_FASTMODEPLUS_I2C_PB8 I2C_FASTMODEPLUS_PB8 +#define HAL_SYSCFG_FASTMODEPLUS_I2C_PB9 I2C_FASTMODEPLUS_PB9 +#define HAL_SYSCFG_FASTMODEPLUS_I2C1 I2C_FASTMODEPLUS_I2C1 +#define HAL_SYSCFG_FASTMODEPLUS_I2C2 I2C_FASTMODEPLUS_I2C2 +#define HAL_SYSCFG_FASTMODEPLUS_I2C3 I2C_FASTMODEPLUS_I2C3 +/** + * @} + */ + + +/** @defgroup LL_FMC_Aliased_Defines LL FMC Aliased Defines maintained for compatibility purpose + * @{ + */ +#if defined(STM32L4) || defined(STM32F7) || defined(STM32H7) +#define FMC_NAND_PCC_WAIT_FEATURE_DISABLE FMC_NAND_WAIT_FEATURE_DISABLE +#define FMC_NAND_PCC_WAIT_FEATURE_ENABLE FMC_NAND_WAIT_FEATURE_ENABLE +#define FMC_NAND_PCC_MEM_BUS_WIDTH_8 FMC_NAND_MEM_BUS_WIDTH_8 +#define FMC_NAND_PCC_MEM_BUS_WIDTH_16 FMC_NAND_MEM_BUS_WIDTH_16 +#else +#define FMC_NAND_WAIT_FEATURE_DISABLE FMC_NAND_PCC_WAIT_FEATURE_DISABLE +#define FMC_NAND_WAIT_FEATURE_ENABLE FMC_NAND_PCC_WAIT_FEATURE_ENABLE +#define FMC_NAND_MEM_BUS_WIDTH_8 FMC_NAND_PCC_MEM_BUS_WIDTH_8 +#define FMC_NAND_MEM_BUS_WIDTH_16 FMC_NAND_PCC_MEM_BUS_WIDTH_16 +#endif +/** + * @} + */ + +/** @defgroup LL_FSMC_Aliased_Defines LL FSMC Aliased Defines maintained for legacy purpose + * @{ + */ + +#define FSMC_NORSRAM_TYPEDEF FSMC_NORSRAM_TypeDef +#define FSMC_NORSRAM_EXTENDED_TYPEDEF FSMC_NORSRAM_EXTENDED_TypeDef +/** + * @} + */ + +/** @defgroup HAL_GPIO_Aliased_Macros HAL GPIO Aliased Macros maintained for legacy purpose + * @{ + */ +#define GET_GPIO_SOURCE GPIO_GET_INDEX +#define GET_GPIO_INDEX GPIO_GET_INDEX + +#if defined(STM32F4) +#define GPIO_AF12_SDMMC GPIO_AF12_SDIO +#define GPIO_AF12_SDMMC1 GPIO_AF12_SDIO +#endif + +#if defined(STM32F7) +#define GPIO_AF12_SDIO GPIO_AF12_SDMMC1 +#define GPIO_AF12_SDMMC GPIO_AF12_SDMMC1 +#endif + +#if defined(STM32L4) +#define GPIO_AF12_SDIO GPIO_AF12_SDMMC1 +#define GPIO_AF12_SDMMC GPIO_AF12_SDMMC1 +#endif + +#if defined(STM32H7) +#define GPIO_AF7_SDIO1 GPIO_AF7_SDMMC1 +#define GPIO_AF8_SDIO1 GPIO_AF8_SDMMC1 +#define GPIO_AF9_SDIO2 GPIO_AF9_SDMMC2 +#define GPIO_AF10_SDIO2 GPIO_AF10_SDMMC2 +#define GPIO_AF11_SDIO2 GPIO_AF11_SDMMC2 +#define GPIO_AF12_SDIO1 GPIO_AF12_SDMMC1 +#endif + +#define GPIO_AF0_LPTIM GPIO_AF0_LPTIM1 +#define GPIO_AF1_LPTIM GPIO_AF1_LPTIM1 +#define GPIO_AF2_LPTIM GPIO_AF2_LPTIM1 + +#if defined(STM32L0) || defined(STM32L4) || defined(STM32F4) || defined(STM32F2) || defined(STM32F7) +#define GPIO_SPEED_LOW GPIO_SPEED_FREQ_LOW +#define GPIO_SPEED_MEDIUM GPIO_SPEED_FREQ_MEDIUM +#define GPIO_SPEED_FAST GPIO_SPEED_FREQ_HIGH +#define GPIO_SPEED_HIGH GPIO_SPEED_FREQ_VERY_HIGH +#endif /* STM32L0 || STM32L4 || STM32F4 || STM32F2 || STM32F7 */ + +#if defined(STM32L1) + #define GPIO_SPEED_VERY_LOW GPIO_SPEED_FREQ_LOW + #define GPIO_SPEED_LOW GPIO_SPEED_FREQ_MEDIUM + #define GPIO_SPEED_MEDIUM GPIO_SPEED_FREQ_HIGH + #define GPIO_SPEED_HIGH GPIO_SPEED_FREQ_VERY_HIGH +#endif /* STM32L1 */ + +#if defined(STM32F0) || defined(STM32F3) || defined(STM32F1) + #define GPIO_SPEED_LOW GPIO_SPEED_FREQ_LOW + #define GPIO_SPEED_MEDIUM GPIO_SPEED_FREQ_MEDIUM + #define GPIO_SPEED_HIGH GPIO_SPEED_FREQ_HIGH +#endif /* STM32F0 || STM32F3 || STM32F1 */ + +#define GPIO_AF6_DFSDM GPIO_AF6_DFSDM1 +/** + * @} + */ + +/** @defgroup HAL_JPEG_Aliased_Macros HAL JPEG Aliased Macros maintained for legacy purpose + * @{ + */ + +#if defined(STM32H7) + #define __HAL_RCC_JPEG_CLK_ENABLE __HAL_RCC_JPGDECEN_CLK_ENABLE + #define __HAL_RCC_JPEG_CLK_DISABLE __HAL_RCC_JPGDECEN_CLK_DISABLE + #define __HAL_RCC_JPEG_FORCE_RESET __HAL_RCC_JPGDECRST_FORCE_RESET + #define __HAL_RCC_JPEG_RELEASE_RESET __HAL_RCC_JPGDECRST_RELEASE_RESET + #define __HAL_RCC_JPEG_CLK_SLEEP_ENABLE __HAL_RCC_JPGDEC_CLK_SLEEP_ENABLE + #define __HAL_RCC_JPEG_CLK_SLEEP_DISABLE __HAL_RCC_JPGDEC_CLK_SLEEP_DISABLE + + #define DMA_REQUEST_DAC1 DMA_REQUEST_DAC1_CH1 + #define DMA_REQUEST_DAC2 DMA_REQUEST_DAC1_CH2 + + #define BDMA_REQUEST_LP_UART1_RX BDMA_REQUEST_LPUART1_RX + #define BDMA_REQUEST_LP_UART1_TX BDMA_REQUEST_LPUART1_TX + + #define HAL_DMAMUX1_REQUEST_GEN_DMAMUX1_CH0_EVT HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT + #define HAL_DMAMUX1_REQUEST_GEN_DMAMUX1_CH1_EVT HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT + #define HAL_DMAMUX1_REQUEST_GEN_DMAMUX1_CH2_EVT HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT + #define HAL_DMAMUX1_REQUEST_GEN_LPTIM1_OUT HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT + #define HAL_DMAMUX1_REQUEST_GEN_LPTIM2_OUT HAL_DMAMUX1_REQ_GEN_LPTIM2_OUT + #define HAL_DMAMUX1_REQUEST_GEN_LPTIM3_OUT HAL_DMAMUX1_REQ_GEN_LPTIM3_OUT + #define HAL_DMAMUX1_REQUEST_GEN_EXTI0 HAL_DMAMUX1_REQ_GEN_EXTI0 + #define HAL_DMAMUX1_REQUEST_GEN_TIM12_TRGO HAL_DMAMUX1_REQ_GEN_TIM12_TRGO + + #define HAL_DMAMUX2_REQUEST_GEN_DMAMUX2_CH0_EVT HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT + #define HAL_DMAMUX2_REQUEST_GEN_DMAMUX2_CH1_EVT HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT + #define HAL_DMAMUX2_REQUEST_GEN_DMAMUX2_CH2_EVT HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT + #define HAL_DMAMUX2_REQUEST_GEN_DMAMUX2_CH3_EVT HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT + #define HAL_DMAMUX2_REQUEST_GEN_DMAMUX2_CH4_EVT HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT + #define HAL_DMAMUX2_REQUEST_GEN_DMAMUX2_CH5_EVT HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT + #define HAL_DMAMUX2_REQUEST_GEN_DMAMUX2_CH6_EVT HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT + #define HAL_DMAMUX2_REQUEST_GEN_LPUART1_RX_WKUP HAL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_LPUART1_TX_WKUP HAL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_LPTIM2_WKUP HAL_DMAMUX2_REQ_GEN_LPTIM2_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_LPTIM2_OUT HAL_DMAMUX2_REQ_GEN_LPTIM2_OUT + #define HAL_DMAMUX2_REQUEST_GEN_LPTIM3_WKUP HAL_DMAMUX2_REQ_GEN_LPTIM3_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_LPTIM3_OUT HAL_DMAMUX2_REQ_GEN_LPTIM3_OUT + #define HAL_DMAMUX2_REQUEST_GEN_LPTIM4_WKUP HAL_DMAMUX2_REQ_GEN_LPTIM4_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_LPTIM5_WKUP HAL_DMAMUX2_REQ_GEN_LPTIM5_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_I2C4_WKUP HAL_DMAMUX2_REQ_GEN_I2C4_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_SPI6_WKUP HAL_DMAMUX2_REQ_GEN_SPI6_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_COMP1_OUT HAL_DMAMUX2_REQ_GEN_COMP1_OUT + #define HAL_DMAMUX2_REQUEST_GEN_COMP2_OUT HAL_DMAMUX2_REQ_GEN_COMP2_OUT + #define HAL_DMAMUX2_REQUEST_GEN_RTC_WKUP HAL_DMAMUX2_REQ_GEN_RTC_WKUP + #define HAL_DMAMUX2_REQUEST_GEN_EXTI0 HAL_DMAMUX2_REQ_GEN_EXTI0 + #define HAL_DMAMUX2_REQUEST_GEN_EXTI2 HAL_DMAMUX2_REQ_GEN_EXTI2 + #define HAL_DMAMUX2_REQUEST_GEN_I2C4_IT_EVT HAL_DMAMUX2_REQ_GEN_I2C4_IT_EVT + #define HAL_DMAMUX2_REQUEST_GEN_SPI6_IT HAL_DMAMUX2_REQ_GEN_SPI6_IT + #define HAL_DMAMUX2_REQUEST_GEN_LPUART1_TX_IT HAL_DMAMUX2_REQ_GEN_LPUART1_TX_IT + #define HAL_DMAMUX2_REQUEST_GEN_LPUART1_RX_IT HAL_DMAMUX2_REQ_GEN_LPUART1_RX_IT + #define HAL_DMAMUX2_REQUEST_GEN_ADC3_IT HAL_DMAMUX2_REQ_GEN_ADC3_IT + #define HAL_DMAMUX2_REQUEST_GEN_ADC3_AWD1_OUT HAL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT + #define HAL_DMAMUX2_REQUEST_GEN_BDMA_CH0_IT HAL_DMAMUX2_REQ_GEN_BDMA_CH0_IT + #define HAL_DMAMUX2_REQUEST_GEN_BDMA_CH1_IT HAL_DMAMUX2_REQ_GEN_BDMA_CH1_IT + + #define HAL_DMAMUX_REQUEST_GEN_NO_EVENT HAL_DMAMUX_REQ_GEN_NO_EVENT + #define HAL_DMAMUX_REQUEST_GEN_RISING HAL_DMAMUX_REQ_GEN_RISING + #define HAL_DMAMUX_REQUEST_GEN_FALLING HAL_DMAMUX_REQ_GEN_FALLING + #define HAL_DMAMUX_REQUEST_GEN_RISING_FALLING HAL_DMAMUX_REQ_GEN_RISING_FALLING + +#endif /* STM32H7 */ + + +/** + * @} + */ + + +/** @defgroup HAL_HRTIM_Aliased_Macros HAL HRTIM Aliased Macros maintained for legacy purpose + * @{ + */ +#define HRTIM_TIMDELAYEDPROTECTION_DISABLED HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DISABLED +#define HRTIM_TIMDELAYEDPROTECTION_DELAYEDOUT1_EEV68 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DELAYEDOUT1_EEV6 +#define HRTIM_TIMDELAYEDPROTECTION_DELAYEDOUT2_EEV68 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DELAYEDOUT2_EEV6 +#define HRTIM_TIMDELAYEDPROTECTION_DELAYEDBOTH_EEV68 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DELAYEDBOTH_EEV6 +#define HRTIM_TIMDELAYEDPROTECTION_BALANCED_EEV68 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_BALANCED_EEV6 +#define HRTIM_TIMDELAYEDPROTECTION_DELAYEDOUT1_DEEV79 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DELAYEDOUT1_DEEV7 +#define HRTIM_TIMDELAYEDPROTECTION_DELAYEDOUT2_DEEV79 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DELAYEDOUT2_DEEV7 +#define HRTIM_TIMDELAYEDPROTECTION_DELAYEDBOTH_EEV79 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_DELAYEDBOTH_EEV7 +#define HRTIM_TIMDELAYEDPROTECTION_BALANCED_EEV79 HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_BALANCED_EEV7 + +#define __HAL_HRTIM_SetCounter __HAL_HRTIM_SETCOUNTER +#define __HAL_HRTIM_GetCounter __HAL_HRTIM_GETCOUNTER +#define __HAL_HRTIM_SetPeriod __HAL_HRTIM_SETPERIOD +#define __HAL_HRTIM_GetPeriod __HAL_HRTIM_GETPERIOD +#define __HAL_HRTIM_SetClockPrescaler __HAL_HRTIM_SETCLOCKPRESCALER +#define __HAL_HRTIM_GetClockPrescaler __HAL_HRTIM_GETCLOCKPRESCALER +#define __HAL_HRTIM_SetCompare __HAL_HRTIM_SETCOMPARE +#define __HAL_HRTIM_GetCompare __HAL_HRTIM_GETCOMPARE +/** + * @} + */ + +/** @defgroup HAL_I2C_Aliased_Defines HAL I2C Aliased Defines maintained for legacy purpose + * @{ + */ +#define I2C_DUALADDRESS_DISABLED I2C_DUALADDRESS_DISABLE +#define I2C_DUALADDRESS_ENABLED I2C_DUALADDRESS_ENABLE +#define I2C_GENERALCALL_DISABLED I2C_GENERALCALL_DISABLE +#define I2C_GENERALCALL_ENABLED I2C_GENERALCALL_ENABLE +#define I2C_NOSTRETCH_DISABLED I2C_NOSTRETCH_DISABLE +#define I2C_NOSTRETCH_ENABLED I2C_NOSTRETCH_ENABLE +#define I2C_ANALOGFILTER_ENABLED I2C_ANALOGFILTER_ENABLE +#define I2C_ANALOGFILTER_DISABLED I2C_ANALOGFILTER_DISABLE +#if defined(STM32F0) || defined(STM32F1) || defined(STM32F3) || defined(STM32L4) || defined(STM32L1) || defined(STM32F7) +#define HAL_I2C_STATE_MEM_BUSY_TX HAL_I2C_STATE_BUSY_TX +#define HAL_I2C_STATE_MEM_BUSY_RX HAL_I2C_STATE_BUSY_RX +#define HAL_I2C_STATE_MASTER_BUSY_TX HAL_I2C_STATE_BUSY_TX +#define HAL_I2C_STATE_MASTER_BUSY_RX HAL_I2C_STATE_BUSY_RX +#define HAL_I2C_STATE_SLAVE_BUSY_TX HAL_I2C_STATE_BUSY_TX +#define HAL_I2C_STATE_SLAVE_BUSY_RX HAL_I2C_STATE_BUSY_RX +#endif +/** + * @} + */ + +/** @defgroup HAL_IRDA_Aliased_Defines HAL IRDA Aliased Defines maintained for legacy purpose + * @{ + */ +#define IRDA_ONE_BIT_SAMPLE_DISABLED IRDA_ONE_BIT_SAMPLE_DISABLE +#define IRDA_ONE_BIT_SAMPLE_ENABLED IRDA_ONE_BIT_SAMPLE_ENABLE + +/** + * @} + */ + +/** @defgroup HAL_IWDG_Aliased_Defines HAL IWDG Aliased Defines maintained for legacy purpose + * @{ + */ +#define KR_KEY_RELOAD IWDG_KEY_RELOAD +#define KR_KEY_ENABLE IWDG_KEY_ENABLE +#define KR_KEY_EWA IWDG_KEY_WRITE_ACCESS_ENABLE +#define KR_KEY_DWA IWDG_KEY_WRITE_ACCESS_DISABLE +/** + * @} + */ + +/** @defgroup HAL_LPTIM_Aliased_Defines HAL LPTIM Aliased Defines maintained for legacy purpose + * @{ + */ + +#define LPTIM_CLOCKSAMPLETIME_DIRECTTRANSISTION LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION +#define LPTIM_CLOCKSAMPLETIME_2TRANSISTIONS LPTIM_CLOCKSAMPLETIME_2TRANSITIONS +#define LPTIM_CLOCKSAMPLETIME_4TRANSISTIONS LPTIM_CLOCKSAMPLETIME_4TRANSITIONS +#define LPTIM_CLOCKSAMPLETIME_8TRANSISTIONS LPTIM_CLOCKSAMPLETIME_8TRANSITIONS + +#define LPTIM_CLOCKPOLARITY_RISINGEDGE LPTIM_CLOCKPOLARITY_RISING +#define LPTIM_CLOCKPOLARITY_FALLINGEDGE LPTIM_CLOCKPOLARITY_FALLING +#define LPTIM_CLOCKPOLARITY_BOTHEDGES LPTIM_CLOCKPOLARITY_RISING_FALLING + +#define LPTIM_TRIGSAMPLETIME_DIRECTTRANSISTION LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION +#define LPTIM_TRIGSAMPLETIME_2TRANSISTIONS LPTIM_TRIGSAMPLETIME_2TRANSITIONS +#define LPTIM_TRIGSAMPLETIME_4TRANSISTIONS LPTIM_TRIGSAMPLETIME_4TRANSITIONS +#define LPTIM_TRIGSAMPLETIME_8TRANSISTIONS LPTIM_TRIGSAMPLETIME_8TRANSITIONS + +/* The following 3 definition have also been present in a temporary version of lptim.h */ +/* They need to be renamed also to the right name, just in case */ +#define LPTIM_TRIGSAMPLETIME_2TRANSITION LPTIM_TRIGSAMPLETIME_2TRANSITIONS +#define LPTIM_TRIGSAMPLETIME_4TRANSITION LPTIM_TRIGSAMPLETIME_4TRANSITIONS +#define LPTIM_TRIGSAMPLETIME_8TRANSITION LPTIM_TRIGSAMPLETIME_8TRANSITIONS + +/** + * @} + */ + +/** @defgroup HAL_NAND_Aliased_Defines HAL NAND Aliased Defines maintained for legacy purpose + * @{ + */ +#define HAL_NAND_Read_Page HAL_NAND_Read_Page_8b +#define HAL_NAND_Write_Page HAL_NAND_Write_Page_8b +#define HAL_NAND_Read_SpareArea HAL_NAND_Read_SpareArea_8b +#define HAL_NAND_Write_SpareArea HAL_NAND_Write_SpareArea_8b + +#define NAND_AddressTypedef NAND_AddressTypeDef + +#define __ARRAY_ADDRESS ARRAY_ADDRESS +#define __ADDR_1st_CYCLE ADDR_1ST_CYCLE +#define __ADDR_2nd_CYCLE ADDR_2ND_CYCLE +#define __ADDR_3rd_CYCLE ADDR_3RD_CYCLE +#define __ADDR_4th_CYCLE ADDR_4TH_CYCLE +/** + * @} + */ + +/** @defgroup HAL_NOR_Aliased_Defines HAL NOR Aliased Defines maintained for legacy purpose + * @{ + */ +#define NOR_StatusTypedef HAL_NOR_StatusTypeDef +#define NOR_SUCCESS HAL_NOR_STATUS_SUCCESS +#define NOR_ONGOING HAL_NOR_STATUS_ONGOING +#define NOR_ERROR HAL_NOR_STATUS_ERROR +#define NOR_TIMEOUT HAL_NOR_STATUS_TIMEOUT + +#define __NOR_WRITE NOR_WRITE +#define __NOR_ADDR_SHIFT NOR_ADDR_SHIFT +/** + * @} + */ + +/** @defgroup HAL_OPAMP_Aliased_Defines HAL OPAMP Aliased Defines maintained for legacy purpose + * @{ + */ + +#define OPAMP_NONINVERTINGINPUT_VP0 OPAMP_NONINVERTINGINPUT_IO0 +#define OPAMP_NONINVERTINGINPUT_VP1 OPAMP_NONINVERTINGINPUT_IO1 +#define OPAMP_NONINVERTINGINPUT_VP2 OPAMP_NONINVERTINGINPUT_IO2 +#define OPAMP_NONINVERTINGINPUT_VP3 OPAMP_NONINVERTINGINPUT_IO3 + +#define OPAMP_SEC_NONINVERTINGINPUT_VP0 OPAMP_SEC_NONINVERTINGINPUT_IO0 +#define OPAMP_SEC_NONINVERTINGINPUT_VP1 OPAMP_SEC_NONINVERTINGINPUT_IO1 +#define OPAMP_SEC_NONINVERTINGINPUT_VP2 OPAMP_SEC_NONINVERTINGINPUT_IO2 +#define OPAMP_SEC_NONINVERTINGINPUT_VP3 OPAMP_SEC_NONINVERTINGINPUT_IO3 + +#define OPAMP_INVERTINGINPUT_VM0 OPAMP_INVERTINGINPUT_IO0 +#define OPAMP_INVERTINGINPUT_VM1 OPAMP_INVERTINGINPUT_IO1 + +#define IOPAMP_INVERTINGINPUT_VM0 OPAMP_INVERTINGINPUT_IO0 +#define IOPAMP_INVERTINGINPUT_VM1 OPAMP_INVERTINGINPUT_IO1 + +#define OPAMP_SEC_INVERTINGINPUT_VM0 OPAMP_SEC_INVERTINGINPUT_IO0 +#define OPAMP_SEC_INVERTINGINPUT_VM1 OPAMP_SEC_INVERTINGINPUT_IO1 + +#define OPAMP_INVERTINGINPUT_VINM OPAMP_SEC_INVERTINGINPUT_IO1 + +#define OPAMP_PGACONNECT_NO OPAMP_PGA_CONNECT_INVERTINGINPUT_NO +#define OPAMP_PGACONNECT_VM0 OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0 +#define OPAMP_PGACONNECT_VM1 OPAMP_PGA_CONNECT_INVERTINGINPUT_IO1 + +/** + * @} + */ + +/** @defgroup HAL_I2S_Aliased_Defines HAL I2S Aliased Defines maintained for legacy purpose + * @{ + */ +#define I2S_STANDARD_PHILLIPS I2S_STANDARD_PHILIPS +#if defined(STM32F7) + #define I2S_CLOCK_SYSCLK I2S_CLOCK_PLL +#endif +/** + * @} + */ + +/** @defgroup HAL_PCCARD_Aliased_Defines HAL PCCARD Aliased Defines maintained for legacy purpose + * @{ + */ + +/* Compact Flash-ATA registers description */ +#define CF_DATA ATA_DATA +#define CF_SECTOR_COUNT ATA_SECTOR_COUNT +#define CF_SECTOR_NUMBER ATA_SECTOR_NUMBER +#define CF_CYLINDER_LOW ATA_CYLINDER_LOW +#define CF_CYLINDER_HIGH ATA_CYLINDER_HIGH +#define CF_CARD_HEAD ATA_CARD_HEAD +#define CF_STATUS_CMD ATA_STATUS_CMD +#define CF_STATUS_CMD_ALTERNATE ATA_STATUS_CMD_ALTERNATE +#define CF_COMMON_DATA_AREA ATA_COMMON_DATA_AREA + +/* Compact Flash-ATA commands */ +#define CF_READ_SECTOR_CMD ATA_READ_SECTOR_CMD +#define CF_WRITE_SECTOR_CMD ATA_WRITE_SECTOR_CMD +#define CF_ERASE_SECTOR_CMD ATA_ERASE_SECTOR_CMD +#define CF_IDENTIFY_CMD ATA_IDENTIFY_CMD + +#define PCCARD_StatusTypedef HAL_PCCARD_StatusTypeDef +#define PCCARD_SUCCESS HAL_PCCARD_STATUS_SUCCESS +#define PCCARD_ONGOING HAL_PCCARD_STATUS_ONGOING +#define PCCARD_ERROR HAL_PCCARD_STATUS_ERROR +#define PCCARD_TIMEOUT HAL_PCCARD_STATUS_TIMEOUT +/** + * @} + */ + +/** @defgroup HAL_RTC_Aliased_Defines HAL RTC Aliased Defines maintained for legacy purpose + * @{ + */ + +#define FORMAT_BIN RTC_FORMAT_BIN +#define FORMAT_BCD RTC_FORMAT_BCD + +#define RTC_ALARMSUBSECONDMASK_None RTC_ALARMSUBSECONDMASK_NONE +#define RTC_TAMPERERASEBACKUP_ENABLED RTC_TAMPER_ERASE_BACKUP_ENABLE +#define RTC_TAMPERERASEBACKUP_DISABLED RTC_TAMPER_ERASE_BACKUP_DISABLE +#define RTC_TAMPERMASK_FLAG_DISABLED RTC_TAMPERMASK_FLAG_DISABLE +#define RTC_TAMPERMASK_FLAG_ENABLED RTC_TAMPERMASK_FLAG_ENABLE + +#define RTC_MASKTAMPERFLAG_DISABLED RTC_TAMPERMASK_FLAG_DISABLE +#define RTC_MASKTAMPERFLAG_ENABLED RTC_TAMPERMASK_FLAG_ENABLE +#define RTC_TAMPERERASEBACKUP_ENABLED RTC_TAMPER_ERASE_BACKUP_ENABLE +#define RTC_TAMPERERASEBACKUP_DISABLED RTC_TAMPER_ERASE_BACKUP_DISABLE +#define RTC_MASKTAMPERFLAG_DISABLED RTC_TAMPERMASK_FLAG_DISABLE +#define RTC_MASKTAMPERFLAG_ENABLED RTC_TAMPERMASK_FLAG_ENABLE +#define RTC_TAMPER1_2_INTERRUPT RTC_ALL_TAMPER_INTERRUPT +#define RTC_TAMPER1_2_3_INTERRUPT RTC_ALL_TAMPER_INTERRUPT + +#define RTC_TIMESTAMPPIN_PC13 RTC_TIMESTAMPPIN_DEFAULT +#define RTC_TIMESTAMPPIN_PA0 RTC_TIMESTAMPPIN_POS1 +#define RTC_TIMESTAMPPIN_PI8 RTC_TIMESTAMPPIN_POS1 +#define RTC_TIMESTAMPPIN_PC1 RTC_TIMESTAMPPIN_POS2 + +#define RTC_OUTPUT_REMAP_PC13 RTC_OUTPUT_REMAP_NONE +#define RTC_OUTPUT_REMAP_PB14 RTC_OUTPUT_REMAP_POS1 +#define RTC_OUTPUT_REMAP_PB2 RTC_OUTPUT_REMAP_POS1 + +#define RTC_TAMPERPIN_PC13 RTC_TAMPERPIN_DEFAULT +#define RTC_TAMPERPIN_PA0 RTC_TAMPERPIN_POS1 +#define RTC_TAMPERPIN_PI8 RTC_TAMPERPIN_POS1 + +/** + * @} + */ + + +/** @defgroup HAL_SMARTCARD_Aliased_Defines HAL SMARTCARD Aliased Defines maintained for legacy purpose + * @{ + */ +#define SMARTCARD_NACK_ENABLED SMARTCARD_NACK_ENABLE +#define SMARTCARD_NACK_DISABLED SMARTCARD_NACK_DISABLE + +#define SMARTCARD_ONEBIT_SAMPLING_DISABLED SMARTCARD_ONE_BIT_SAMPLE_DISABLE +#define SMARTCARD_ONEBIT_SAMPLING_ENABLED SMARTCARD_ONE_BIT_SAMPLE_ENABLE +#define SMARTCARD_ONEBIT_SAMPLING_DISABLE SMARTCARD_ONE_BIT_SAMPLE_DISABLE +#define SMARTCARD_ONEBIT_SAMPLING_ENABLE SMARTCARD_ONE_BIT_SAMPLE_ENABLE + +#define SMARTCARD_TIMEOUT_DISABLED SMARTCARD_TIMEOUT_DISABLE +#define SMARTCARD_TIMEOUT_ENABLED SMARTCARD_TIMEOUT_ENABLE + +#define SMARTCARD_LASTBIT_DISABLED SMARTCARD_LASTBIT_DISABLE +#define SMARTCARD_LASTBIT_ENABLED SMARTCARD_LASTBIT_ENABLE +/** + * @} + */ + + +/** @defgroup HAL_SMBUS_Aliased_Defines HAL SMBUS Aliased Defines maintained for legacy purpose + * @{ + */ +#define SMBUS_DUALADDRESS_DISABLED SMBUS_DUALADDRESS_DISABLE +#define SMBUS_DUALADDRESS_ENABLED SMBUS_DUALADDRESS_ENABLE +#define SMBUS_GENERALCALL_DISABLED SMBUS_GENERALCALL_DISABLE +#define SMBUS_GENERALCALL_ENABLED SMBUS_GENERALCALL_ENABLE +#define SMBUS_NOSTRETCH_DISABLED SMBUS_NOSTRETCH_DISABLE +#define SMBUS_NOSTRETCH_ENABLED SMBUS_NOSTRETCH_ENABLE +#define SMBUS_ANALOGFILTER_ENABLED SMBUS_ANALOGFILTER_ENABLE +#define SMBUS_ANALOGFILTER_DISABLED SMBUS_ANALOGFILTER_DISABLE +#define SMBUS_PEC_DISABLED SMBUS_PEC_DISABLE +#define SMBUS_PEC_ENABLED SMBUS_PEC_ENABLE +#define HAL_SMBUS_STATE_SLAVE_LISTEN HAL_SMBUS_STATE_LISTEN +/** + * @} + */ + +/** @defgroup HAL_SPI_Aliased_Defines HAL SPI Aliased Defines maintained for legacy purpose + * @{ + */ +#define SPI_TIMODE_DISABLED SPI_TIMODE_DISABLE +#define SPI_TIMODE_ENABLED SPI_TIMODE_ENABLE + +#define SPI_CRCCALCULATION_DISABLED SPI_CRCCALCULATION_DISABLE +#define SPI_CRCCALCULATION_ENABLED SPI_CRCCALCULATION_ENABLE + +#define SPI_NSS_PULSE_DISABLED SPI_NSS_PULSE_DISABLE +#define SPI_NSS_PULSE_ENABLED SPI_NSS_PULSE_ENABLE + +/** + * @} + */ + +/** @defgroup HAL_TIM_Aliased_Defines HAL TIM Aliased Defines maintained for legacy purpose + * @{ + */ +#define CCER_CCxE_MASK TIM_CCER_CCxE_MASK +#define CCER_CCxNE_MASK TIM_CCER_CCxNE_MASK + +#define TIM_DMABase_CR1 TIM_DMABASE_CR1 +#define TIM_DMABase_CR2 TIM_DMABASE_CR2 +#define TIM_DMABase_SMCR TIM_DMABASE_SMCR +#define TIM_DMABase_DIER TIM_DMABASE_DIER +#define TIM_DMABase_SR TIM_DMABASE_SR +#define TIM_DMABase_EGR TIM_DMABASE_EGR +#define TIM_DMABase_CCMR1 TIM_DMABASE_CCMR1 +#define TIM_DMABase_CCMR2 TIM_DMABASE_CCMR2 +#define TIM_DMABase_CCER TIM_DMABASE_CCER +#define TIM_DMABase_CNT TIM_DMABASE_CNT +#define TIM_DMABase_PSC TIM_DMABASE_PSC +#define TIM_DMABase_ARR TIM_DMABASE_ARR +#define TIM_DMABase_RCR TIM_DMABASE_RCR +#define TIM_DMABase_CCR1 TIM_DMABASE_CCR1 +#define TIM_DMABase_CCR2 TIM_DMABASE_CCR2 +#define TIM_DMABase_CCR3 TIM_DMABASE_CCR3 +#define TIM_DMABase_CCR4 TIM_DMABASE_CCR4 +#define TIM_DMABase_BDTR TIM_DMABASE_BDTR +#define TIM_DMABase_DCR TIM_DMABASE_DCR +#define TIM_DMABase_DMAR TIM_DMABASE_DMAR +#define TIM_DMABase_OR1 TIM_DMABASE_OR1 +#define TIM_DMABase_CCMR3 TIM_DMABASE_CCMR3 +#define TIM_DMABase_CCR5 TIM_DMABASE_CCR5 +#define TIM_DMABase_CCR6 TIM_DMABASE_CCR6 +#define TIM_DMABase_OR2 TIM_DMABASE_OR2 +#define TIM_DMABase_OR3 TIM_DMABASE_OR3 +#define TIM_DMABase_OR TIM_DMABASE_OR + +#define TIM_EventSource_Update TIM_EVENTSOURCE_UPDATE +#define TIM_EventSource_CC1 TIM_EVENTSOURCE_CC1 +#define TIM_EventSource_CC2 TIM_EVENTSOURCE_CC2 +#define TIM_EventSource_CC3 TIM_EVENTSOURCE_CC3 +#define TIM_EventSource_CC4 TIM_EVENTSOURCE_CC4 +#define TIM_EventSource_COM TIM_EVENTSOURCE_COM +#define TIM_EventSource_Trigger TIM_EVENTSOURCE_TRIGGER +#define TIM_EventSource_Break TIM_EVENTSOURCE_BREAK +#define TIM_EventSource_Break2 TIM_EVENTSOURCE_BREAK2 + +#define TIM_DMABurstLength_1Transfer TIM_DMABURSTLENGTH_1TRANSFER +#define TIM_DMABurstLength_2Transfers TIM_DMABURSTLENGTH_2TRANSFERS +#define TIM_DMABurstLength_3Transfers TIM_DMABURSTLENGTH_3TRANSFERS +#define TIM_DMABurstLength_4Transfers TIM_DMABURSTLENGTH_4TRANSFERS +#define TIM_DMABurstLength_5Transfers TIM_DMABURSTLENGTH_5TRANSFERS +#define TIM_DMABurstLength_6Transfers TIM_DMABURSTLENGTH_6TRANSFERS +#define TIM_DMABurstLength_7Transfers TIM_DMABURSTLENGTH_7TRANSFERS +#define TIM_DMABurstLength_8Transfers TIM_DMABURSTLENGTH_8TRANSFERS +#define TIM_DMABurstLength_9Transfers TIM_DMABURSTLENGTH_9TRANSFERS +#define TIM_DMABurstLength_10Transfers TIM_DMABURSTLENGTH_10TRANSFERS +#define TIM_DMABurstLength_11Transfers TIM_DMABURSTLENGTH_11TRANSFERS +#define TIM_DMABurstLength_12Transfers TIM_DMABURSTLENGTH_12TRANSFERS +#define TIM_DMABurstLength_13Transfers TIM_DMABURSTLENGTH_13TRANSFERS +#define TIM_DMABurstLength_14Transfers TIM_DMABURSTLENGTH_14TRANSFERS +#define TIM_DMABurstLength_15Transfers TIM_DMABURSTLENGTH_15TRANSFERS +#define TIM_DMABurstLength_16Transfers TIM_DMABURSTLENGTH_16TRANSFERS +#define TIM_DMABurstLength_17Transfers TIM_DMABURSTLENGTH_17TRANSFERS +#define TIM_DMABurstLength_18Transfers TIM_DMABURSTLENGTH_18TRANSFERS + +/** + * @} + */ + +/** @defgroup HAL_TSC_Aliased_Defines HAL TSC Aliased Defines maintained for legacy purpose + * @{ + */ +#define TSC_SYNC_POL_FALL TSC_SYNC_POLARITY_FALLING +#define TSC_SYNC_POL_RISE_HIGH TSC_SYNC_POLARITY_RISING +/** + * @} + */ + +/** @defgroup HAL_UART_Aliased_Defines HAL UART Aliased Defines maintained for legacy purpose + * @{ + */ +#define UART_ONEBIT_SAMPLING_DISABLED UART_ONE_BIT_SAMPLE_DISABLE +#define UART_ONEBIT_SAMPLING_ENABLED UART_ONE_BIT_SAMPLE_ENABLE +#define UART_ONE_BIT_SAMPLE_DISABLED UART_ONE_BIT_SAMPLE_DISABLE +#define UART_ONE_BIT_SAMPLE_ENABLED UART_ONE_BIT_SAMPLE_ENABLE + +#define __HAL_UART_ONEBIT_ENABLE __HAL_UART_ONE_BIT_SAMPLE_ENABLE +#define __HAL_UART_ONEBIT_DISABLE __HAL_UART_ONE_BIT_SAMPLE_DISABLE + +#define __DIV_SAMPLING16 UART_DIV_SAMPLING16 +#define __DIVMANT_SAMPLING16 UART_DIVMANT_SAMPLING16 +#define __DIVFRAQ_SAMPLING16 UART_DIVFRAQ_SAMPLING16 +#define __UART_BRR_SAMPLING16 UART_BRR_SAMPLING16 + +#define __DIV_SAMPLING8 UART_DIV_SAMPLING8 +#define __DIVMANT_SAMPLING8 UART_DIVMANT_SAMPLING8 +#define __DIVFRAQ_SAMPLING8 UART_DIVFRAQ_SAMPLING8 +#define __UART_BRR_SAMPLING8 UART_BRR_SAMPLING8 + +#define __DIV_LPUART UART_DIV_LPUART + +#define UART_WAKEUPMETHODE_IDLELINE UART_WAKEUPMETHOD_IDLELINE +#define UART_WAKEUPMETHODE_ADDRESSMARK UART_WAKEUPMETHOD_ADDRESSMARK + +/** + * @} + */ + + +/** @defgroup HAL_USART_Aliased_Defines HAL USART Aliased Defines maintained for legacy purpose + * @{ + */ + +#define USART_CLOCK_DISABLED USART_CLOCK_DISABLE +#define USART_CLOCK_ENABLED USART_CLOCK_ENABLE + +#define USARTNACK_ENABLED USART_NACK_ENABLE +#define USARTNACK_DISABLED USART_NACK_DISABLE +/** + * @} + */ + +/** @defgroup HAL_WWDG_Aliased_Defines HAL WWDG Aliased Defines maintained for legacy purpose + * @{ + */ +#define CFR_BASE WWDG_CFR_BASE + +/** + * @} + */ + +/** @defgroup HAL_CAN_Aliased_Defines HAL CAN Aliased Defines maintained for legacy purpose + * @{ + */ +#define CAN_FilterFIFO0 CAN_FILTER_FIFO0 +#define CAN_FilterFIFO1 CAN_FILTER_FIFO1 +#define CAN_IT_RQCP0 CAN_IT_TME +#define CAN_IT_RQCP1 CAN_IT_TME +#define CAN_IT_RQCP2 CAN_IT_TME +#define INAK_TIMEOUT CAN_TIMEOUT_VALUE +#define SLAK_TIMEOUT CAN_TIMEOUT_VALUE +#define CAN_TXSTATUS_FAILED ((uint8_t)0x00U) +#define CAN_TXSTATUS_OK ((uint8_t)0x01U) +#define CAN_TXSTATUS_PENDING ((uint8_t)0x02U) + +/** + * @} + */ + +/** @defgroup HAL_ETH_Aliased_Defines HAL ETH Aliased Defines maintained for legacy purpose + * @{ + */ + +#define VLAN_TAG ETH_VLAN_TAG +#define MIN_ETH_PAYLOAD ETH_MIN_ETH_PAYLOAD +#define MAX_ETH_PAYLOAD ETH_MAX_ETH_PAYLOAD +#define JUMBO_FRAME_PAYLOAD ETH_JUMBO_FRAME_PAYLOAD +#define MACMIIAR_CR_MASK ETH_MACMIIAR_CR_MASK +#define MACCR_CLEAR_MASK ETH_MACCR_CLEAR_MASK +#define MACFCR_CLEAR_MASK ETH_MACFCR_CLEAR_MASK +#define DMAOMR_CLEAR_MASK ETH_DMAOMR_CLEAR_MASK + +#define ETH_MMCCR 0x00000100U +#define ETH_MMCRIR 0x00000104U +#define ETH_MMCTIR 0x00000108U +#define ETH_MMCRIMR 0x0000010CU +#define ETH_MMCTIMR 0x00000110U +#define ETH_MMCTGFSCCR 0x0000014CU +#define ETH_MMCTGFMSCCR 0x00000150U +#define ETH_MMCTGFCR 0x00000168U +#define ETH_MMCRFCECR 0x00000194U +#define ETH_MMCRFAECR 0x00000198U +#define ETH_MMCRGUFCR 0x000001C4U + +#define ETH_MAC_TXFIFO_FULL 0x02000000U /* Tx FIFO full */ +#define ETH_MAC_TXFIFONOT_EMPTY 0x01000000U /* Tx FIFO not empty */ +#define ETH_MAC_TXFIFO_WRITE_ACTIVE 0x00400000U /* Tx FIFO write active */ +#define ETH_MAC_TXFIFO_IDLE 0x00000000U /* Tx FIFO read status: Idle */ +#define ETH_MAC_TXFIFO_READ 0x00100000U /* Tx FIFO read status: Read (transferring data to the MAC transmitter) */ +#define ETH_MAC_TXFIFO_WAITING 0x00200000U /* Tx FIFO read status: Waiting for TxStatus from MAC transmitter */ +#define ETH_MAC_TXFIFO_WRITING 0x00300000U /* Tx FIFO read status: Writing the received TxStatus or flushing the TxFIFO */ +#define ETH_MAC_TRANSMISSION_PAUSE 0x00080000U /* MAC transmitter in pause */ +#define ETH_MAC_TRANSMITFRAMECONTROLLER_IDLE 0x00000000U /* MAC transmit frame controller: Idle */ +#define ETH_MAC_TRANSMITFRAMECONTROLLER_WAITING 0x00020000U /* MAC transmit frame controller: Waiting for Status of previous frame or IFG/backoff period to be over */ +#define ETH_MAC_TRANSMITFRAMECONTROLLER_GENRATING_PCF 0x00040000U /* MAC transmit frame controller: Generating and transmitting a Pause control frame (in full duplex mode) */ +#define ETH_MAC_TRANSMITFRAMECONTROLLER_TRANSFERRING 0x00060000U /* MAC transmit frame controller: Transferring input frame for transmission */ +#define ETH_MAC_MII_TRANSMIT_ACTIVE 0x00010000U /* MAC MII transmit engine active */ +#define ETH_MAC_RXFIFO_EMPTY 0x00000000U /* Rx FIFO fill level: empty */ +#define ETH_MAC_RXFIFO_BELOW_THRESHOLD 0x00000100U /* Rx FIFO fill level: fill-level below flow-control de-activate threshold */ +#define ETH_MAC_RXFIFO_ABOVE_THRESHOLD 0x00000200U /* Rx FIFO fill level: fill-level above flow-control activate threshold */ +#define ETH_MAC_RXFIFO_FULL 0x00000300U /* Rx FIFO fill level: full */ +#define ETH_MAC_READCONTROLLER_IDLE 0x00000000U /* Rx FIFO read controller IDLE state */ +#define ETH_MAC_READCONTROLLER_READING_DATA 0x00000020U /* Rx FIFO read controller Reading frame data */ +#define ETH_MAC_READCONTROLLER_READING_STATUS 0x00000040U /* Rx FIFO read controller Reading frame status (or time-stamp) */ +#define ETH_MAC_READCONTROLLER_FLUSHING 0x00000060U /* Rx FIFO read controller Flushing the frame data and status */ +#define ETH_MAC_RXFIFO_WRITE_ACTIVE 0x00000010U /* Rx FIFO write controller active */ +#define ETH_MAC_SMALL_FIFO_NOTACTIVE 0x00000000U /* MAC small FIFO read / write controllers not active */ +#define ETH_MAC_SMALL_FIFO_READ_ACTIVE 0x00000002U /* MAC small FIFO read controller active */ +#define ETH_MAC_SMALL_FIFO_WRITE_ACTIVE 0x00000004U /* MAC small FIFO write controller active */ +#define ETH_MAC_SMALL_FIFO_RW_ACTIVE 0x00000006U /* MAC small FIFO read / write controllers active */ +#define ETH_MAC_MII_RECEIVE_PROTOCOL_ACTIVE 0x00000001U /* MAC MII receive protocol engine active */ + +/** + * @} + */ + +/** @defgroup HAL_DCMI_Aliased_Defines HAL DCMI Aliased Defines maintained for legacy purpose + * @{ + */ +#define HAL_DCMI_ERROR_OVF HAL_DCMI_ERROR_OVR +#define DCMI_IT_OVF DCMI_IT_OVR +#define DCMI_FLAG_OVFRI DCMI_FLAG_OVRRI +#define DCMI_FLAG_OVFMI DCMI_FLAG_OVRMI + +#define HAL_DCMI_ConfigCROP HAL_DCMI_ConfigCrop +#define HAL_DCMI_EnableCROP HAL_DCMI_EnableCrop +#define HAL_DCMI_DisableCROP HAL_DCMI_DisableCrop + +/** + * @} + */ + +#if defined(STM32L4) || defined(STM32F7) || defined(STM32F427xx) || defined(STM32F437xx) ||\ + defined(STM32F429xx) || defined(STM32F439xx) || defined(STM32F469xx) || defined(STM32F479xx) +/** @defgroup HAL_DMA2D_Aliased_Defines HAL DMA2D Aliased Defines maintained for legacy purpose + * @{ + */ +#define DMA2D_ARGB8888 DMA2D_OUTPUT_ARGB8888 +#define DMA2D_RGB888 DMA2D_OUTPUT_RGB888 +#define DMA2D_RGB565 DMA2D_OUTPUT_RGB565 +#define DMA2D_ARGB1555 DMA2D_OUTPUT_ARGB1555 +#define DMA2D_ARGB4444 DMA2D_OUTPUT_ARGB4444 + +#define CM_ARGB8888 DMA2D_INPUT_ARGB8888 +#define CM_RGB888 DMA2D_INPUT_RGB888 +#define CM_RGB565 DMA2D_INPUT_RGB565 +#define CM_ARGB1555 DMA2D_INPUT_ARGB1555 +#define CM_ARGB4444 DMA2D_INPUT_ARGB4444 +#define CM_L8 DMA2D_INPUT_L8 +#define CM_AL44 DMA2D_INPUT_AL44 +#define CM_AL88 DMA2D_INPUT_AL88 +#define CM_L4 DMA2D_INPUT_L4 +#define CM_A8 DMA2D_INPUT_A8 +#define CM_A4 DMA2D_INPUT_A4 +/** + * @} + */ +#endif /* STM32L4 || STM32F7*/ + +/** @defgroup HAL_PPP_Aliased_Defines HAL PPP Aliased Defines maintained for legacy purpose + * @{ + */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup HAL_CRYP_Aliased_Functions HAL CRYP Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_CRYP_ComputationCpltCallback HAL_CRYPEx_ComputationCpltCallback +/** + * @} + */ + +/** @defgroup HAL_HASH_Aliased_Functions HAL HASH Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_HASH_STATETypeDef HAL_HASH_StateTypeDef +#define HAL_HASHPhaseTypeDef HAL_HASH_PhaseTypeDef +#define HAL_HMAC_MD5_Finish HAL_HASH_MD5_Finish +#define HAL_HMAC_SHA1_Finish HAL_HASH_SHA1_Finish +#define HAL_HMAC_SHA224_Finish HAL_HASH_SHA224_Finish +#define HAL_HMAC_SHA256_Finish HAL_HASH_SHA256_Finish + +/*HASH Algorithm Selection*/ + +#define HASH_AlgoSelection_SHA1 HASH_ALGOSELECTION_SHA1 +#define HASH_AlgoSelection_SHA224 HASH_ALGOSELECTION_SHA224 +#define HASH_AlgoSelection_SHA256 HASH_ALGOSELECTION_SHA256 +#define HASH_AlgoSelection_MD5 HASH_ALGOSELECTION_MD5 + +#define HASH_AlgoMode_HASH HASH_ALGOMODE_HASH +#define HASH_AlgoMode_HMAC HASH_ALGOMODE_HMAC + +#define HASH_HMACKeyType_ShortKey HASH_HMAC_KEYTYPE_SHORTKEY +#define HASH_HMACKeyType_LongKey HASH_HMAC_KEYTYPE_LONGKEY +/** + * @} + */ + +/** @defgroup HAL_Aliased_Functions HAL Generic Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_EnableDBGSleepMode HAL_DBGMCU_EnableDBGSleepMode +#define HAL_DisableDBGSleepMode HAL_DBGMCU_DisableDBGSleepMode +#define HAL_EnableDBGStopMode HAL_DBGMCU_EnableDBGStopMode +#define HAL_DisableDBGStopMode HAL_DBGMCU_DisableDBGStopMode +#define HAL_EnableDBGStandbyMode HAL_DBGMCU_EnableDBGStandbyMode +#define HAL_DisableDBGStandbyMode HAL_DBGMCU_DisableDBGStandbyMode +#define HAL_DBG_LowPowerConfig(Periph, cmd) (((cmd)==ENABLE)? HAL_DBGMCU_DBG_EnableLowPowerConfig(Periph) : HAL_DBGMCU_DBG_DisableLowPowerConfig(Periph)) +#define HAL_VREFINT_OutputSelect HAL_SYSCFG_VREFINT_OutputSelect +#define HAL_Lock_Cmd(cmd) (((cmd)==ENABLE) ? HAL_SYSCFG_Enable_Lock_VREFINT() : HAL_SYSCFG_Disable_Lock_VREFINT()) +#if defined(STM32L0) +#else +#define HAL_VREFINT_Cmd(cmd) (((cmd)==ENABLE)? HAL_SYSCFG_EnableVREFINT() : HAL_SYSCFG_DisableVREFINT()) +#endif +#define HAL_ADC_EnableBuffer_Cmd(cmd) (((cmd)==ENABLE) ? HAL_ADCEx_EnableVREFINT() : HAL_ADCEx_DisableVREFINT()) +#define HAL_ADC_EnableBufferSensor_Cmd(cmd) (((cmd)==ENABLE) ? HAL_ADCEx_EnableVREFINTTempSensor() : HAL_ADCEx_DisableVREFINTTempSensor()) +/** + * @} + */ + +/** @defgroup HAL_FLASH_Aliased_Functions HAL FLASH Aliased Functions maintained for legacy purpose + * @{ + */ +#define FLASH_HalfPageProgram HAL_FLASHEx_HalfPageProgram +#define FLASH_EnableRunPowerDown HAL_FLASHEx_EnableRunPowerDown +#define FLASH_DisableRunPowerDown HAL_FLASHEx_DisableRunPowerDown +#define HAL_DATA_EEPROMEx_Unlock HAL_FLASHEx_DATAEEPROM_Unlock +#define HAL_DATA_EEPROMEx_Lock HAL_FLASHEx_DATAEEPROM_Lock +#define HAL_DATA_EEPROMEx_Erase HAL_FLASHEx_DATAEEPROM_Erase +#define HAL_DATA_EEPROMEx_Program HAL_FLASHEx_DATAEEPROM_Program + + /** + * @} + */ + +/** @defgroup HAL_I2C_Aliased_Functions HAL I2C Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_I2CEx_AnalogFilter_Config HAL_I2CEx_ConfigAnalogFilter +#define HAL_I2CEx_DigitalFilter_Config HAL_I2CEx_ConfigDigitalFilter +#define HAL_FMPI2CEx_AnalogFilter_Config HAL_FMPI2CEx_ConfigAnalogFilter +#define HAL_FMPI2CEx_DigitalFilter_Config HAL_FMPI2CEx_ConfigDigitalFilter + +#define HAL_I2CFastModePlusConfig(SYSCFG_I2CFastModePlus, cmd) (((cmd)==ENABLE)? HAL_I2CEx_EnableFastModePlus(SYSCFG_I2CFastModePlus): HAL_I2CEx_DisableFastModePlus(SYSCFG_I2CFastModePlus)) + /** + * @} + */ + +/** @defgroup HAL_PWR_Aliased HAL PWR Aliased maintained for legacy purpose + * @{ + */ +#define HAL_PWR_PVDConfig HAL_PWR_ConfigPVD +#define HAL_PWR_DisableBkUpReg HAL_PWREx_DisableBkUpReg +#define HAL_PWR_DisableFlashPowerDown HAL_PWREx_DisableFlashPowerDown +#define HAL_PWR_DisableVddio2Monitor HAL_PWREx_DisableVddio2Monitor +#define HAL_PWR_EnableBkUpReg HAL_PWREx_EnableBkUpReg +#define HAL_PWR_EnableFlashPowerDown HAL_PWREx_EnableFlashPowerDown +#define HAL_PWR_EnableVddio2Monitor HAL_PWREx_EnableVddio2Monitor +#define HAL_PWR_PVD_PVM_IRQHandler HAL_PWREx_PVD_PVM_IRQHandler +#define HAL_PWR_PVDLevelConfig HAL_PWR_ConfigPVD +#define HAL_PWR_Vddio2Monitor_IRQHandler HAL_PWREx_Vddio2Monitor_IRQHandler +#define HAL_PWR_Vddio2MonitorCallback HAL_PWREx_Vddio2MonitorCallback +#define HAL_PWREx_ActivateOverDrive HAL_PWREx_EnableOverDrive +#define HAL_PWREx_DeactivateOverDrive HAL_PWREx_DisableOverDrive +#define HAL_PWREx_DisableSDADCAnalog HAL_PWREx_DisableSDADC +#define HAL_PWREx_EnableSDADCAnalog HAL_PWREx_EnableSDADC +#define HAL_PWREx_PVMConfig HAL_PWREx_ConfigPVM + +#define PWR_MODE_NORMAL PWR_PVD_MODE_NORMAL +#define PWR_MODE_IT_RISING PWR_PVD_MODE_IT_RISING +#define PWR_MODE_IT_FALLING PWR_PVD_MODE_IT_FALLING +#define PWR_MODE_IT_RISING_FALLING PWR_PVD_MODE_IT_RISING_FALLING +#define PWR_MODE_EVENT_RISING PWR_PVD_MODE_EVENT_RISING +#define PWR_MODE_EVENT_FALLING PWR_PVD_MODE_EVENT_FALLING +#define PWR_MODE_EVENT_RISING_FALLING PWR_PVD_MODE_EVENT_RISING_FALLING + +#define CR_OFFSET_BB PWR_CR_OFFSET_BB +#define CSR_OFFSET_BB PWR_CSR_OFFSET_BB + +#define DBP_BitNumber DBP_BIT_NUMBER +#define PVDE_BitNumber PVDE_BIT_NUMBER +#define PMODE_BitNumber PMODE_BIT_NUMBER +#define EWUP_BitNumber EWUP_BIT_NUMBER +#define FPDS_BitNumber FPDS_BIT_NUMBER +#define ODEN_BitNumber ODEN_BIT_NUMBER +#define ODSWEN_BitNumber ODSWEN_BIT_NUMBER +#define MRLVDS_BitNumber MRLVDS_BIT_NUMBER +#define LPLVDS_BitNumber LPLVDS_BIT_NUMBER +#define BRE_BitNumber BRE_BIT_NUMBER + +#define PWR_MODE_EVT PWR_PVD_MODE_NORMAL + + /** + * @} + */ + +/** @defgroup HAL_SMBUS_Aliased_Functions HAL SMBUS Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_SMBUS_Slave_Listen_IT HAL_SMBUS_EnableListen_IT +#define HAL_SMBUS_SlaveAddrCallback HAL_SMBUS_AddrCallback +#define HAL_SMBUS_SlaveListenCpltCallback HAL_SMBUS_ListenCpltCallback +/** + * @} + */ + +/** @defgroup HAL_SPI_Aliased_Functions HAL SPI Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_SPI_FlushRxFifo HAL_SPIEx_FlushRxFifo +/** + * @} + */ + +/** @defgroup HAL_TIM_Aliased_Functions HAL TIM Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_TIM_DMADelayPulseCplt TIM_DMADelayPulseCplt +#define HAL_TIM_DMAError TIM_DMAError +#define HAL_TIM_DMACaptureCplt TIM_DMACaptureCplt +#define HAL_TIMEx_DMACommutationCplt TIMEx_DMACommutationCplt +/** + * @} + */ + +/** @defgroup HAL_UART_Aliased_Functions HAL UART Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_UART_WakeupCallback HAL_UARTEx_WakeupCallback +/** + * @} + */ + +/** @defgroup HAL_LTDC_Aliased_Functions HAL LTDC Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_LTDC_LineEvenCallback HAL_LTDC_LineEventCallback +#define HAL_LTDC_Relaod HAL_LTDC_Reload +#define HAL_LTDC_StructInitFromVideoConfig HAL_LTDCEx_StructInitFromVideoConfig +#define HAL_LTDC_StructInitFromAdaptedCommandConfig HAL_LTDCEx_StructInitFromAdaptedCommandConfig +/** + * @} + */ + + +/** @defgroup HAL_PPP_Aliased_Functions HAL PPP Aliased Functions maintained for legacy purpose + * @{ + */ + +/** + * @} + */ + +/* Exported macros ------------------------------------------------------------*/ + +/** @defgroup HAL_AES_Aliased_Macros HAL CRYP Aliased Macros maintained for legacy purpose + * @{ + */ +#define AES_IT_CC CRYP_IT_CC +#define AES_IT_ERR CRYP_IT_ERR +#define AES_FLAG_CCF CRYP_FLAG_CCF +/** + * @} + */ + +/** @defgroup HAL_Aliased_Macros HAL Generic Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_GET_BOOT_MODE __HAL_SYSCFG_GET_BOOT_MODE +#define __HAL_REMAPMEMORY_FLASH __HAL_SYSCFG_REMAPMEMORY_FLASH +#define __HAL_REMAPMEMORY_SYSTEMFLASH __HAL_SYSCFG_REMAPMEMORY_SYSTEMFLASH +#define __HAL_REMAPMEMORY_SRAM __HAL_SYSCFG_REMAPMEMORY_SRAM +#define __HAL_REMAPMEMORY_FMC __HAL_SYSCFG_REMAPMEMORY_FMC +#define __HAL_REMAPMEMORY_FMC_SDRAM __HAL_SYSCFG_REMAPMEMORY_FMC_SDRAM +#define __HAL_REMAPMEMORY_FSMC __HAL_SYSCFG_REMAPMEMORY_FSMC +#define __HAL_REMAPMEMORY_QUADSPI __HAL_SYSCFG_REMAPMEMORY_QUADSPI +#define __HAL_FMC_BANK __HAL_SYSCFG_FMC_BANK +#define __HAL_GET_FLAG __HAL_SYSCFG_GET_FLAG +#define __HAL_CLEAR_FLAG __HAL_SYSCFG_CLEAR_FLAG +#define __HAL_VREFINT_OUT_ENABLE __HAL_SYSCFG_VREFINT_OUT_ENABLE +#define __HAL_VREFINT_OUT_DISABLE __HAL_SYSCFG_VREFINT_OUT_DISABLE +#define __HAL_SYSCFG_SRAM2_WRP_ENABLE __HAL_SYSCFG_SRAM2_WRP_0_31_ENABLE + +#define SYSCFG_FLAG_VREF_READY SYSCFG_FLAG_VREFINT_READY +#define SYSCFG_FLAG_RC48 RCC_FLAG_HSI48 +#define IS_SYSCFG_FASTMODEPLUS_CONFIG IS_I2C_FASTMODEPLUS +#define UFB_MODE_BitNumber UFB_MODE_BIT_NUMBER +#define CMP_PD_BitNumber CMP_PD_BIT_NUMBER + +/** + * @} + */ + + +/** @defgroup HAL_ADC_Aliased_Macros HAL ADC Aliased Macros maintained for legacy purpose + * @{ + */ +#define __ADC_ENABLE __HAL_ADC_ENABLE +#define __ADC_DISABLE __HAL_ADC_DISABLE +#define __HAL_ADC_ENABLING_CONDITIONS ADC_ENABLING_CONDITIONS +#define __HAL_ADC_DISABLING_CONDITIONS ADC_DISABLING_CONDITIONS +#define __HAL_ADC_IS_ENABLED ADC_IS_ENABLE +#define __ADC_IS_ENABLED ADC_IS_ENABLE +#define __HAL_ADC_IS_SOFTWARE_START_REGULAR ADC_IS_SOFTWARE_START_REGULAR +#define __HAL_ADC_IS_SOFTWARE_START_INJECTED ADC_IS_SOFTWARE_START_INJECTED +#define __HAL_ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED +#define __HAL_ADC_IS_CONVERSION_ONGOING_REGULAR ADC_IS_CONVERSION_ONGOING_REGULAR +#define __HAL_ADC_IS_CONVERSION_ONGOING_INJECTED ADC_IS_CONVERSION_ONGOING_INJECTED +#define __HAL_ADC_IS_CONVERSION_ONGOING ADC_IS_CONVERSION_ONGOING +#define __HAL_ADC_CLEAR_ERRORCODE ADC_CLEAR_ERRORCODE + +#define __HAL_ADC_GET_RESOLUTION ADC_GET_RESOLUTION +#define __HAL_ADC_JSQR_RK ADC_JSQR_RK +#define __HAL_ADC_CFGR_AWD1CH ADC_CFGR_AWD1CH_SHIFT +#define __HAL_ADC_CFGR_AWD23CR ADC_CFGR_AWD23CR +#define __HAL_ADC_CFGR_INJECT_AUTO_CONVERSION ADC_CFGR_INJECT_AUTO_CONVERSION +#define __HAL_ADC_CFGR_INJECT_CONTEXT_QUEUE ADC_CFGR_INJECT_CONTEXT_QUEUE +#define __HAL_ADC_CFGR_INJECT_DISCCONTINUOUS ADC_CFGR_INJECT_DISCCONTINUOUS +#define __HAL_ADC_CFGR_REG_DISCCONTINUOUS ADC_CFGR_REG_DISCCONTINUOUS +#define __HAL_ADC_CFGR_DISCONTINUOUS_NUM ADC_CFGR_DISCONTINUOUS_NUM +#define __HAL_ADC_CFGR_AUTOWAIT ADC_CFGR_AUTOWAIT +#define __HAL_ADC_CFGR_CONTINUOUS ADC_CFGR_CONTINUOUS +#define __HAL_ADC_CFGR_OVERRUN ADC_CFGR_OVERRUN +#define __HAL_ADC_CFGR_DMACONTREQ ADC_CFGR_DMACONTREQ +#define __HAL_ADC_CFGR_EXTSEL ADC_CFGR_EXTSEL_SET +#define __HAL_ADC_JSQR_JEXTSEL ADC_JSQR_JEXTSEL_SET +#define __HAL_ADC_OFR_CHANNEL ADC_OFR_CHANNEL +#define __HAL_ADC_DIFSEL_CHANNEL ADC_DIFSEL_CHANNEL +#define __HAL_ADC_CALFACT_DIFF_SET ADC_CALFACT_DIFF_SET +#define __HAL_ADC_CALFACT_DIFF_GET ADC_CALFACT_DIFF_GET +#define __HAL_ADC_TRX_HIGHTHRESHOLD ADC_TRX_HIGHTHRESHOLD + +#define __HAL_ADC_OFFSET_SHIFT_RESOLUTION ADC_OFFSET_SHIFT_RESOLUTION +#define __HAL_ADC_AWD1THRESHOLD_SHIFT_RESOLUTION ADC_AWD1THRESHOLD_SHIFT_RESOLUTION +#define __HAL_ADC_AWD23THRESHOLD_SHIFT_RESOLUTION ADC_AWD23THRESHOLD_SHIFT_RESOLUTION +#define __HAL_ADC_COMMON_REGISTER ADC_COMMON_REGISTER +#define __HAL_ADC_COMMON_CCR_MULTI ADC_COMMON_CCR_MULTI +#define __HAL_ADC_MULTIMODE_IS_ENABLED ADC_MULTIMODE_IS_ENABLE +#define __ADC_MULTIMODE_IS_ENABLED ADC_MULTIMODE_IS_ENABLE +#define __HAL_ADC_NONMULTIMODE_OR_MULTIMODEMASTER ADC_NONMULTIMODE_OR_MULTIMODEMASTER +#define __HAL_ADC_COMMON_ADC_OTHER ADC_COMMON_ADC_OTHER +#define __HAL_ADC_MULTI_SLAVE ADC_MULTI_SLAVE + +#define __HAL_ADC_SQR1_L ADC_SQR1_L_SHIFT +#define __HAL_ADC_JSQR_JL ADC_JSQR_JL_SHIFT +#define __HAL_ADC_JSQR_RK_JL ADC_JSQR_RK_JL +#define __HAL_ADC_CR1_DISCONTINUOUS_NUM ADC_CR1_DISCONTINUOUS_NUM +#define __HAL_ADC_CR1_SCAN ADC_CR1_SCAN_SET +#define __HAL_ADC_CONVCYCLES_MAX_RANGE ADC_CONVCYCLES_MAX_RANGE +#define __HAL_ADC_CLOCK_PRESCALER_RANGE ADC_CLOCK_PRESCALER_RANGE +#define __HAL_ADC_GET_CLOCK_PRESCALER ADC_GET_CLOCK_PRESCALER + +#define __HAL_ADC_SQR1 ADC_SQR1 +#define __HAL_ADC_SMPR1 ADC_SMPR1 +#define __HAL_ADC_SMPR2 ADC_SMPR2 +#define __HAL_ADC_SQR3_RK ADC_SQR3_RK +#define __HAL_ADC_SQR2_RK ADC_SQR2_RK +#define __HAL_ADC_SQR1_RK ADC_SQR1_RK +#define __HAL_ADC_CR2_CONTINUOUS ADC_CR2_CONTINUOUS +#define __HAL_ADC_CR1_DISCONTINUOUS ADC_CR1_DISCONTINUOUS +#define __HAL_ADC_CR1_SCANCONV ADC_CR1_SCANCONV +#define __HAL_ADC_CR2_EOCSelection ADC_CR2_EOCSelection +#define __HAL_ADC_CR2_DMAContReq ADC_CR2_DMAContReq +#define __HAL_ADC_GET_RESOLUTION ADC_GET_RESOLUTION +#define __HAL_ADC_JSQR ADC_JSQR + +#define __HAL_ADC_CHSELR_CHANNEL ADC_CHSELR_CHANNEL +#define __HAL_ADC_CFGR1_REG_DISCCONTINUOUS ADC_CFGR1_REG_DISCCONTINUOUS +#define __HAL_ADC_CFGR1_AUTOOFF ADC_CFGR1_AUTOOFF +#define __HAL_ADC_CFGR1_AUTOWAIT ADC_CFGR1_AUTOWAIT +#define __HAL_ADC_CFGR1_CONTINUOUS ADC_CFGR1_CONTINUOUS +#define __HAL_ADC_CFGR1_OVERRUN ADC_CFGR1_OVERRUN +#define __HAL_ADC_CFGR1_SCANDIR ADC_CFGR1_SCANDIR +#define __HAL_ADC_CFGR1_DMACONTREQ ADC_CFGR1_DMACONTREQ + +/** + * @} + */ + +/** @defgroup HAL_DAC_Aliased_Macros HAL DAC Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_DHR12R1_ALIGNEMENT DAC_DHR12R1_ALIGNMENT +#define __HAL_DHR12R2_ALIGNEMENT DAC_DHR12R2_ALIGNMENT +#define __HAL_DHR12RD_ALIGNEMENT DAC_DHR12RD_ALIGNMENT +#define IS_DAC_GENERATE_WAVE IS_DAC_WAVE + +/** + * @} + */ + +/** @defgroup HAL_DBGMCU_Aliased_Macros HAL DBGMCU Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_FREEZE_TIM1_DBGMCU __HAL_DBGMCU_FREEZE_TIM1 +#define __HAL_UNFREEZE_TIM1_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM1 +#define __HAL_FREEZE_TIM2_DBGMCU __HAL_DBGMCU_FREEZE_TIM2 +#define __HAL_UNFREEZE_TIM2_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM2 +#define __HAL_FREEZE_TIM3_DBGMCU __HAL_DBGMCU_FREEZE_TIM3 +#define __HAL_UNFREEZE_TIM3_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM3 +#define __HAL_FREEZE_TIM4_DBGMCU __HAL_DBGMCU_FREEZE_TIM4 +#define __HAL_UNFREEZE_TIM4_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM4 +#define __HAL_FREEZE_TIM5_DBGMCU __HAL_DBGMCU_FREEZE_TIM5 +#define __HAL_UNFREEZE_TIM5_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM5 +#define __HAL_FREEZE_TIM6_DBGMCU __HAL_DBGMCU_FREEZE_TIM6 +#define __HAL_UNFREEZE_TIM6_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM6 +#define __HAL_FREEZE_TIM7_DBGMCU __HAL_DBGMCU_FREEZE_TIM7 +#define __HAL_UNFREEZE_TIM7_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM7 +#define __HAL_FREEZE_TIM8_DBGMCU __HAL_DBGMCU_FREEZE_TIM8 +#define __HAL_UNFREEZE_TIM8_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM8 + +#define __HAL_FREEZE_TIM9_DBGMCU __HAL_DBGMCU_FREEZE_TIM9 +#define __HAL_UNFREEZE_TIM9_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM9 +#define __HAL_FREEZE_TIM10_DBGMCU __HAL_DBGMCU_FREEZE_TIM10 +#define __HAL_UNFREEZE_TIM10_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM10 +#define __HAL_FREEZE_TIM11_DBGMCU __HAL_DBGMCU_FREEZE_TIM11 +#define __HAL_UNFREEZE_TIM11_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM11 +#define __HAL_FREEZE_TIM12_DBGMCU __HAL_DBGMCU_FREEZE_TIM12 +#define __HAL_UNFREEZE_TIM12_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM12 +#define __HAL_FREEZE_TIM13_DBGMCU __HAL_DBGMCU_FREEZE_TIM13 +#define __HAL_UNFREEZE_TIM13_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM13 +#define __HAL_FREEZE_TIM14_DBGMCU __HAL_DBGMCU_FREEZE_TIM14 +#define __HAL_UNFREEZE_TIM14_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM14 +#define __HAL_FREEZE_CAN2_DBGMCU __HAL_DBGMCU_FREEZE_CAN2 +#define __HAL_UNFREEZE_CAN2_DBGMCU __HAL_DBGMCU_UNFREEZE_CAN2 + + +#define __HAL_FREEZE_TIM15_DBGMCU __HAL_DBGMCU_FREEZE_TIM15 +#define __HAL_UNFREEZE_TIM15_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM15 +#define __HAL_FREEZE_TIM16_DBGMCU __HAL_DBGMCU_FREEZE_TIM16 +#define __HAL_UNFREEZE_TIM16_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM16 +#define __HAL_FREEZE_TIM17_DBGMCU __HAL_DBGMCU_FREEZE_TIM17 +#define __HAL_UNFREEZE_TIM17_DBGMCU __HAL_DBGMCU_UNFREEZE_TIM17 +#define __HAL_FREEZE_RTC_DBGMCU __HAL_DBGMCU_FREEZE_RTC +#define __HAL_UNFREEZE_RTC_DBGMCU __HAL_DBGMCU_UNFREEZE_RTC +#define __HAL_FREEZE_WWDG_DBGMCU __HAL_DBGMCU_FREEZE_WWDG +#define __HAL_UNFREEZE_WWDG_DBGMCU __HAL_DBGMCU_UNFREEZE_WWDG +#define __HAL_FREEZE_IWDG_DBGMCU __HAL_DBGMCU_FREEZE_IWDG +#define __HAL_UNFREEZE_IWDG_DBGMCU __HAL_DBGMCU_UNFREEZE_IWDG +#define __HAL_FREEZE_I2C1_TIMEOUT_DBGMCU __HAL_DBGMCU_FREEZE_I2C1_TIMEOUT +#define __HAL_UNFREEZE_I2C1_TIMEOUT_DBGMCU __HAL_DBGMCU_UNFREEZE_I2C1_TIMEOUT +#define __HAL_FREEZE_I2C2_TIMEOUT_DBGMCU __HAL_DBGMCU_FREEZE_I2C2_TIMEOUT +#define __HAL_UNFREEZE_I2C2_TIMEOUT_DBGMCU __HAL_DBGMCU_UNFREEZE_I2C2_TIMEOUT +#define __HAL_FREEZE_I2C3_TIMEOUT_DBGMCU __HAL_DBGMCU_FREEZE_I2C3_TIMEOUT +#define __HAL_UNFREEZE_I2C3_TIMEOUT_DBGMCU __HAL_DBGMCU_UNFREEZE_I2C3_TIMEOUT +#define __HAL_FREEZE_CAN1_DBGMCU __HAL_DBGMCU_FREEZE_CAN1 +#define __HAL_UNFREEZE_CAN1_DBGMCU __HAL_DBGMCU_UNFREEZE_CAN1 +#define __HAL_FREEZE_LPTIM1_DBGMCU __HAL_DBGMCU_FREEZE_LPTIM1 +#define __HAL_UNFREEZE_LPTIM1_DBGMCU __HAL_DBGMCU_UNFREEZE_LPTIM1 +#define __HAL_FREEZE_LPTIM2_DBGMCU __HAL_DBGMCU_FREEZE_LPTIM2 +#define __HAL_UNFREEZE_LPTIM2_DBGMCU __HAL_DBGMCU_UNFREEZE_LPTIM2 + +/** + * @} + */ + +/** @defgroup HAL_COMP_Aliased_Macros HAL COMP Aliased Macros maintained for legacy purpose + * @{ + */ +#if defined(STM32F3) +#define COMP_START __HAL_COMP_ENABLE +#define COMP_STOP __HAL_COMP_DISABLE +#define COMP_LOCK __HAL_COMP_LOCK + +#if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) +#define __HAL_COMP_EXTI_RISING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_RISING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_ENABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_RISING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_RISING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_DISABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_ENABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_DISABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_ENABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_IT() : \ + __HAL_COMP_COMP6_EXTI_ENABLE_IT()) +#define __HAL_COMP_EXTI_DISABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_IT() : \ + __HAL_COMP_COMP6_EXTI_DISABLE_IT()) +#define __HAL_COMP_EXTI_GET_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_GET_FLAG() : \ + __HAL_COMP_COMP6_EXTI_GET_FLAG()) +#define __HAL_COMP_EXTI_CLEAR_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_CLEAR_FLAG() : \ + __HAL_COMP_COMP6_EXTI_CLEAR_FLAG()) +# endif +# if defined(STM32F302xE) || defined(STM32F302xC) +#define __HAL_COMP_EXTI_RISING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_RISING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_ENABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_RISING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_RISING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_DISABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_ENABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP6_EXTI_DISABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_ENABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_IT() : \ + __HAL_COMP_COMP6_EXTI_ENABLE_IT()) +#define __HAL_COMP_EXTI_DISABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_IT() : \ + __HAL_COMP_COMP6_EXTI_DISABLE_IT()) +#define __HAL_COMP_EXTI_GET_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_GET_FLAG() : \ + __HAL_COMP_COMP6_EXTI_GET_FLAG()) +#define __HAL_COMP_EXTI_CLEAR_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_CLEAR_FLAG() : \ + __HAL_COMP_COMP6_EXTI_CLEAR_FLAG()) +# endif +# if defined(STM32F303xE) || defined(STM32F398xx) || defined(STM32F303xC) || defined(STM32F358xx) +#define __HAL_COMP_EXTI_RISING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_ENABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_ENABLE_RISING_EDGE() : \ + __HAL_COMP_COMP7_EXTI_ENABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_RISING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_DISABLE_RISING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_DISABLE_RISING_EDGE() : \ + __HAL_COMP_COMP7_EXTI_DISABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_ENABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_ENABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP7_EXTI_ENABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_DISABLE_FALLING_EDGE() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_DISABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP7_EXTI_DISABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_ENABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_ENABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_ENABLE_IT() : \ + __HAL_COMP_COMP7_EXTI_ENABLE_IT()) +#define __HAL_COMP_EXTI_DISABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_DISABLE_IT() : \ + ((__EXTILINE__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_DISABLE_IT() : \ + __HAL_COMP_COMP7_EXTI_DISABLE_IT()) +#define __HAL_COMP_EXTI_GET_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_GET_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_GET_FLAG() : \ + __HAL_COMP_COMP7_EXTI_GET_FLAG()) +#define __HAL_COMP_EXTI_CLEAR_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP2) ? __HAL_COMP_COMP2_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP3) ? __HAL_COMP_COMP3_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP4) ? __HAL_COMP_COMP4_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP5) ? __HAL_COMP_COMP5_EXTI_CLEAR_FLAG() : \ + ((__FLAG__) == COMP_EXTI_LINE_COMP6) ? __HAL_COMP_COMP6_EXTI_CLEAR_FLAG() : \ + __HAL_COMP_COMP7_EXTI_CLEAR_FLAG()) +# endif +# if defined(STM32F373xC) ||defined(STM32F378xx) +#define __HAL_COMP_EXTI_RISING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_RISING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_ENABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_IT() : \ + __HAL_COMP_COMP2_EXTI_ENABLE_IT()) +#define __HAL_COMP_EXTI_DISABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_IT() : \ + __HAL_COMP_COMP2_EXTI_DISABLE_IT()) +#define __HAL_COMP_EXTI_GET_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_GET_FLAG() : \ + __HAL_COMP_COMP2_EXTI_GET_FLAG()) +#define __HAL_COMP_EXTI_CLEAR_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() : \ + __HAL_COMP_COMP2_EXTI_CLEAR_FLAG()) +# endif +#else +#define __HAL_COMP_EXTI_RISING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_RISING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_ENABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_FALLING_IT_DISABLE(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() : \ + __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE()) +#define __HAL_COMP_EXTI_ENABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_ENABLE_IT() : \ + __HAL_COMP_COMP2_EXTI_ENABLE_IT()) +#define __HAL_COMP_EXTI_DISABLE_IT(__EXTILINE__) (((__EXTILINE__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_DISABLE_IT() : \ + __HAL_COMP_COMP2_EXTI_DISABLE_IT()) +#define __HAL_COMP_EXTI_GET_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_GET_FLAG() : \ + __HAL_COMP_COMP2_EXTI_GET_FLAG()) +#define __HAL_COMP_EXTI_CLEAR_FLAG(__FLAG__) (((__FLAG__) == COMP_EXTI_LINE_COMP1) ? __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() : \ + __HAL_COMP_COMP2_EXTI_CLEAR_FLAG()) +#endif + +#define __HAL_COMP_GET_EXTI_LINE COMP_GET_EXTI_LINE + +#if defined(STM32L0) || defined(STM32L4) +/* Note: On these STM32 families, the only argument of this macro */ +/* is COMP_FLAG_LOCK. */ +/* This macro is replaced by __HAL_COMP_IS_LOCKED with only HAL handle */ +/* argument. */ +#define __HAL_COMP_GET_FLAG(__HANDLE__, __FLAG__) (__HAL_COMP_IS_LOCKED(__HANDLE__)) +#endif +/** + * @} + */ + +#if defined(STM32L0) || defined(STM32L4) +/** @defgroup HAL_COMP_Aliased_Functions HAL COMP Aliased Functions maintained for legacy purpose + * @{ + */ +#define HAL_COMP_Start_IT HAL_COMP_Start /* Function considered as legacy as EXTI event or IT configuration is done into HAL_COMP_Init() */ +#define HAL_COMP_Stop_IT HAL_COMP_Stop /* Function considered as legacy as EXTI event or IT configuration is done into HAL_COMP_Init() */ +/** + * @} + */ +#endif + +/** @defgroup HAL_DAC_Aliased_Macros HAL DAC Aliased Macros maintained for legacy purpose + * @{ + */ + +#define IS_DAC_WAVE(WAVE) (((WAVE) == DAC_WAVE_NONE) || \ + ((WAVE) == DAC_WAVE_NOISE)|| \ + ((WAVE) == DAC_WAVE_TRIANGLE)) + +/** + * @} + */ + +/** @defgroup HAL_FLASH_Aliased_Macros HAL FLASH Aliased Macros maintained for legacy purpose + * @{ + */ + +#define IS_WRPAREA IS_OB_WRPAREA +#define IS_TYPEPROGRAM IS_FLASH_TYPEPROGRAM +#define IS_TYPEPROGRAMFLASH IS_FLASH_TYPEPROGRAM +#define IS_TYPEERASE IS_FLASH_TYPEERASE +#define IS_NBSECTORS IS_FLASH_NBSECTORS +#define IS_OB_WDG_SOURCE IS_OB_IWDG_SOURCE + +/** + * @} + */ + +/** @defgroup HAL_I2C_Aliased_Macros HAL I2C Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __HAL_I2C_RESET_CR2 I2C_RESET_CR2 +#define __HAL_I2C_GENERATE_START I2C_GENERATE_START +#if defined(STM32F1) +#define __HAL_I2C_FREQ_RANGE I2C_FREQRANGE +#else +#define __HAL_I2C_FREQ_RANGE I2C_FREQ_RANGE +#endif /* STM32F1 */ +#define __HAL_I2C_RISE_TIME I2C_RISE_TIME +#define __HAL_I2C_SPEED_STANDARD I2C_SPEED_STANDARD +#define __HAL_I2C_SPEED_FAST I2C_SPEED_FAST +#define __HAL_I2C_SPEED I2C_SPEED +#define __HAL_I2C_7BIT_ADD_WRITE I2C_7BIT_ADD_WRITE +#define __HAL_I2C_7BIT_ADD_READ I2C_7BIT_ADD_READ +#define __HAL_I2C_10BIT_ADDRESS I2C_10BIT_ADDRESS +#define __HAL_I2C_10BIT_HEADER_WRITE I2C_10BIT_HEADER_WRITE +#define __HAL_I2C_10BIT_HEADER_READ I2C_10BIT_HEADER_READ +#define __HAL_I2C_MEM_ADD_MSB I2C_MEM_ADD_MSB +#define __HAL_I2C_MEM_ADD_LSB I2C_MEM_ADD_LSB +#define __HAL_I2C_FREQRANGE I2C_FREQRANGE +/** + * @} + */ + +/** @defgroup HAL_I2S_Aliased_Macros HAL I2S Aliased Macros maintained for legacy purpose + * @{ + */ + +#define IS_I2S_INSTANCE IS_I2S_ALL_INSTANCE +#define IS_I2S_INSTANCE_EXT IS_I2S_ALL_INSTANCE_EXT + +/** + * @} + */ + +/** @defgroup HAL_IRDA_Aliased_Macros HAL IRDA Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __IRDA_DISABLE __HAL_IRDA_DISABLE +#define __IRDA_ENABLE __HAL_IRDA_ENABLE + +#define __HAL_IRDA_GETCLOCKSOURCE IRDA_GETCLOCKSOURCE +#define __HAL_IRDA_MASK_COMPUTATION IRDA_MASK_COMPUTATION +#define __IRDA_GETCLOCKSOURCE IRDA_GETCLOCKSOURCE +#define __IRDA_MASK_COMPUTATION IRDA_MASK_COMPUTATION + +#define IS_IRDA_ONEBIT_SAMPLE IS_IRDA_ONE_BIT_SAMPLE + + +/** + * @} + */ + + +/** @defgroup HAL_IWDG_Aliased_Macros HAL IWDG Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_IWDG_ENABLE_WRITE_ACCESS IWDG_ENABLE_WRITE_ACCESS +#define __HAL_IWDG_DISABLE_WRITE_ACCESS IWDG_DISABLE_WRITE_ACCESS +/** + * @} + */ + + +/** @defgroup HAL_LPTIM_Aliased_Macros HAL LPTIM Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __HAL_LPTIM_ENABLE_INTERRUPT __HAL_LPTIM_ENABLE_IT +#define __HAL_LPTIM_DISABLE_INTERRUPT __HAL_LPTIM_DISABLE_IT +#define __HAL_LPTIM_GET_ITSTATUS __HAL_LPTIM_GET_IT_SOURCE + +/** + * @} + */ + + +/** @defgroup HAL_OPAMP_Aliased_Macros HAL OPAMP Aliased Macros maintained for legacy purpose + * @{ + */ +#define __OPAMP_CSR_OPAXPD OPAMP_CSR_OPAXPD +#define __OPAMP_CSR_S3SELX OPAMP_CSR_S3SELX +#define __OPAMP_CSR_S4SELX OPAMP_CSR_S4SELX +#define __OPAMP_CSR_S5SELX OPAMP_CSR_S5SELX +#define __OPAMP_CSR_S6SELX OPAMP_CSR_S6SELX +#define __OPAMP_CSR_OPAXCAL_L OPAMP_CSR_OPAXCAL_L +#define __OPAMP_CSR_OPAXCAL_H OPAMP_CSR_OPAXCAL_H +#define __OPAMP_CSR_OPAXLPM OPAMP_CSR_OPAXLPM +#define __OPAMP_CSR_ALL_SWITCHES OPAMP_CSR_ALL_SWITCHES +#define __OPAMP_CSR_ANAWSELX OPAMP_CSR_ANAWSELX +#define __OPAMP_CSR_OPAXCALOUT OPAMP_CSR_OPAXCALOUT +#define __OPAMP_OFFSET_TRIM_BITSPOSITION OPAMP_OFFSET_TRIM_BITSPOSITION +#define __OPAMP_OFFSET_TRIM_SET OPAMP_OFFSET_TRIM_SET + +/** + * @} + */ + + +/** @defgroup HAL_PWR_Aliased_Macros HAL PWR Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_PVD_EVENT_DISABLE __HAL_PWR_PVD_EXTI_DISABLE_EVENT +#define __HAL_PVD_EVENT_ENABLE __HAL_PWR_PVD_EXTI_ENABLE_EVENT +#define __HAL_PVD_EXTI_FALLINGTRIGGER_DISABLE __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE +#define __HAL_PVD_EXTI_FALLINGTRIGGER_ENABLE __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE +#define __HAL_PVD_EXTI_RISINGTRIGGER_DISABLE __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE +#define __HAL_PVD_EXTI_RISINGTRIGGER_ENABLE __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE +#define __HAL_PVM_EVENT_DISABLE __HAL_PWR_PVM_EVENT_DISABLE +#define __HAL_PVM_EVENT_ENABLE __HAL_PWR_PVM_EVENT_ENABLE +#define __HAL_PVM_EXTI_FALLINGTRIGGER_DISABLE __HAL_PWR_PVM_EXTI_FALLINGTRIGGER_DISABLE +#define __HAL_PVM_EXTI_FALLINGTRIGGER_ENABLE __HAL_PWR_PVM_EXTI_FALLINGTRIGGER_ENABLE +#define __HAL_PVM_EXTI_RISINGTRIGGER_DISABLE __HAL_PWR_PVM_EXTI_RISINGTRIGGER_DISABLE +#define __HAL_PVM_EXTI_RISINGTRIGGER_ENABLE __HAL_PWR_PVM_EXTI_RISINGTRIGGER_ENABLE +#define __HAL_PWR_INTERNALWAKEUP_DISABLE HAL_PWREx_DisableInternalWakeUpLine +#define __HAL_PWR_INTERNALWAKEUP_ENABLE HAL_PWREx_EnableInternalWakeUpLine +#define __HAL_PWR_PULL_UP_DOWN_CONFIG_DISABLE HAL_PWREx_DisablePullUpPullDownConfig +#define __HAL_PWR_PULL_UP_DOWN_CONFIG_ENABLE HAL_PWREx_EnablePullUpPullDownConfig +#define __HAL_PWR_PVD_EXTI_CLEAR_EGDE_TRIGGER() do { __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE();__HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE(); } while(0) +#define __HAL_PWR_PVD_EXTI_EVENT_DISABLE __HAL_PWR_PVD_EXTI_DISABLE_EVENT +#define __HAL_PWR_PVD_EXTI_EVENT_ENABLE __HAL_PWR_PVD_EXTI_ENABLE_EVENT +#define __HAL_PWR_PVD_EXTI_FALLINGTRIGGER_DISABLE __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE +#define __HAL_PWR_PVD_EXTI_FALLINGTRIGGER_ENABLE __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE +#define __HAL_PWR_PVD_EXTI_RISINGTRIGGER_DISABLE __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE +#define __HAL_PWR_PVD_EXTI_RISINGTRIGGER_ENABLE __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE +#define __HAL_PWR_PVD_EXTI_SET_FALLING_EGDE_TRIGGER __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE +#define __HAL_PWR_PVD_EXTI_SET_RISING_EDGE_TRIGGER __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE +#define __HAL_PWR_PVM_DISABLE() do { HAL_PWREx_DisablePVM1();HAL_PWREx_DisablePVM2();HAL_PWREx_DisablePVM3();HAL_PWREx_DisablePVM4(); } while(0) +#define __HAL_PWR_PVM_ENABLE() do { HAL_PWREx_EnablePVM1();HAL_PWREx_EnablePVM2();HAL_PWREx_EnablePVM3();HAL_PWREx_EnablePVM4(); } while(0) +#define __HAL_PWR_SRAM2CONTENT_PRESERVE_DISABLE HAL_PWREx_DisableSRAM2ContentRetention +#define __HAL_PWR_SRAM2CONTENT_PRESERVE_ENABLE HAL_PWREx_EnableSRAM2ContentRetention +#define __HAL_PWR_VDDIO2_DISABLE HAL_PWREx_DisableVddIO2 +#define __HAL_PWR_VDDIO2_ENABLE HAL_PWREx_EnableVddIO2 +#define __HAL_PWR_VDDIO2_EXTI_CLEAR_EGDE_TRIGGER __HAL_PWR_VDDIO2_EXTI_DISABLE_FALLING_EDGE +#define __HAL_PWR_VDDIO2_EXTI_SET_FALLING_EGDE_TRIGGER __HAL_PWR_VDDIO2_EXTI_ENABLE_FALLING_EDGE +#define __HAL_PWR_VDDUSB_DISABLE HAL_PWREx_DisableVddUSB +#define __HAL_PWR_VDDUSB_ENABLE HAL_PWREx_EnableVddUSB + +#if defined (STM32F4) +#define __HAL_PVD_EXTI_ENABLE_IT(PWR_EXTI_LINE_PVD) __HAL_PWR_PVD_EXTI_ENABLE_IT() +#define __HAL_PVD_EXTI_DISABLE_IT(PWR_EXTI_LINE_PVD) __HAL_PWR_PVD_EXTI_DISABLE_IT() +#define __HAL_PVD_EXTI_GET_FLAG(PWR_EXTI_LINE_PVD) __HAL_PWR_PVD_EXTI_GET_FLAG() +#define __HAL_PVD_EXTI_CLEAR_FLAG(PWR_EXTI_LINE_PVD) __HAL_PWR_PVD_EXTI_CLEAR_FLAG() +#define __HAL_PVD_EXTI_GENERATE_SWIT(PWR_EXTI_LINE_PVD) __HAL_PWR_PVD_EXTI_GENERATE_SWIT() +#else +#define __HAL_PVD_EXTI_CLEAR_FLAG __HAL_PWR_PVD_EXTI_CLEAR_FLAG +#define __HAL_PVD_EXTI_DISABLE_IT __HAL_PWR_PVD_EXTI_DISABLE_IT +#define __HAL_PVD_EXTI_ENABLE_IT __HAL_PWR_PVD_EXTI_ENABLE_IT +#define __HAL_PVD_EXTI_GENERATE_SWIT __HAL_PWR_PVD_EXTI_GENERATE_SWIT +#define __HAL_PVD_EXTI_GET_FLAG __HAL_PWR_PVD_EXTI_GET_FLAG +#endif /* STM32F4 */ +/** + * @} + */ + + +/** @defgroup HAL_RCC_Aliased HAL RCC Aliased maintained for legacy purpose + * @{ + */ + +#define RCC_StopWakeUpClock_MSI RCC_STOP_WAKEUPCLOCK_MSI +#define RCC_StopWakeUpClock_HSI RCC_STOP_WAKEUPCLOCK_HSI + +#define HAL_RCC_CCSCallback HAL_RCC_CSSCallback +#define HAL_RC48_EnableBuffer_Cmd(cmd) (((cmd)==ENABLE) ? HAL_RCCEx_EnableHSI48_VREFINT() : HAL_RCCEx_DisableHSI48_VREFINT()) + +#define __ADC_CLK_DISABLE __HAL_RCC_ADC_CLK_DISABLE +#define __ADC_CLK_ENABLE __HAL_RCC_ADC_CLK_ENABLE +#define __ADC_CLK_SLEEP_DISABLE __HAL_RCC_ADC_CLK_SLEEP_DISABLE +#define __ADC_CLK_SLEEP_ENABLE __HAL_RCC_ADC_CLK_SLEEP_ENABLE +#define __ADC_FORCE_RESET __HAL_RCC_ADC_FORCE_RESET +#define __ADC_RELEASE_RESET __HAL_RCC_ADC_RELEASE_RESET +#define __ADC1_CLK_DISABLE __HAL_RCC_ADC1_CLK_DISABLE +#define __ADC1_CLK_ENABLE __HAL_RCC_ADC1_CLK_ENABLE +#define __ADC1_FORCE_RESET __HAL_RCC_ADC1_FORCE_RESET +#define __ADC1_RELEASE_RESET __HAL_RCC_ADC1_RELEASE_RESET +#define __ADC1_CLK_SLEEP_ENABLE __HAL_RCC_ADC1_CLK_SLEEP_ENABLE +#define __ADC1_CLK_SLEEP_DISABLE __HAL_RCC_ADC1_CLK_SLEEP_DISABLE +#define __ADC2_CLK_DISABLE __HAL_RCC_ADC2_CLK_DISABLE +#define __ADC2_CLK_ENABLE __HAL_RCC_ADC2_CLK_ENABLE +#define __ADC2_FORCE_RESET __HAL_RCC_ADC2_FORCE_RESET +#define __ADC2_RELEASE_RESET __HAL_RCC_ADC2_RELEASE_RESET +#define __ADC3_CLK_DISABLE __HAL_RCC_ADC3_CLK_DISABLE +#define __ADC3_CLK_ENABLE __HAL_RCC_ADC3_CLK_ENABLE +#define __ADC3_FORCE_RESET __HAL_RCC_ADC3_FORCE_RESET +#define __ADC3_RELEASE_RESET __HAL_RCC_ADC3_RELEASE_RESET +#define __AES_CLK_DISABLE __HAL_RCC_AES_CLK_DISABLE +#define __AES_CLK_ENABLE __HAL_RCC_AES_CLK_ENABLE +#define __AES_CLK_SLEEP_DISABLE __HAL_RCC_AES_CLK_SLEEP_DISABLE +#define __AES_CLK_SLEEP_ENABLE __HAL_RCC_AES_CLK_SLEEP_ENABLE +#define __AES_FORCE_RESET __HAL_RCC_AES_FORCE_RESET +#define __AES_RELEASE_RESET __HAL_RCC_AES_RELEASE_RESET +#define __CRYP_CLK_SLEEP_ENABLE __HAL_RCC_CRYP_CLK_SLEEP_ENABLE +#define __CRYP_CLK_SLEEP_DISABLE __HAL_RCC_CRYP_CLK_SLEEP_DISABLE +#define __CRYP_CLK_ENABLE __HAL_RCC_CRYP_CLK_ENABLE +#define __CRYP_CLK_DISABLE __HAL_RCC_CRYP_CLK_DISABLE +#define __CRYP_FORCE_RESET __HAL_RCC_CRYP_FORCE_RESET +#define __CRYP_RELEASE_RESET __HAL_RCC_CRYP_RELEASE_RESET +#define __AFIO_CLK_DISABLE __HAL_RCC_AFIO_CLK_DISABLE +#define __AFIO_CLK_ENABLE __HAL_RCC_AFIO_CLK_ENABLE +#define __AFIO_FORCE_RESET __HAL_RCC_AFIO_FORCE_RESET +#define __AFIO_RELEASE_RESET __HAL_RCC_AFIO_RELEASE_RESET +#define __AHB_FORCE_RESET __HAL_RCC_AHB_FORCE_RESET +#define __AHB_RELEASE_RESET __HAL_RCC_AHB_RELEASE_RESET +#define __AHB1_FORCE_RESET __HAL_RCC_AHB1_FORCE_RESET +#define __AHB1_RELEASE_RESET __HAL_RCC_AHB1_RELEASE_RESET +#define __AHB2_FORCE_RESET __HAL_RCC_AHB2_FORCE_RESET +#define __AHB2_RELEASE_RESET __HAL_RCC_AHB2_RELEASE_RESET +#define __AHB3_FORCE_RESET __HAL_RCC_AHB3_FORCE_RESET +#define __AHB3_RELEASE_RESET __HAL_RCC_AHB3_RELEASE_RESET +#define __APB1_FORCE_RESET __HAL_RCC_APB1_FORCE_RESET +#define __APB1_RELEASE_RESET __HAL_RCC_APB1_RELEASE_RESET +#define __APB2_FORCE_RESET __HAL_RCC_APB2_FORCE_RESET +#define __APB2_RELEASE_RESET __HAL_RCC_APB2_RELEASE_RESET +#define __BKP_CLK_DISABLE __HAL_RCC_BKP_CLK_DISABLE +#define __BKP_CLK_ENABLE __HAL_RCC_BKP_CLK_ENABLE +#define __BKP_FORCE_RESET __HAL_RCC_BKP_FORCE_RESET +#define __BKP_RELEASE_RESET __HAL_RCC_BKP_RELEASE_RESET +#define __CAN1_CLK_DISABLE __HAL_RCC_CAN1_CLK_DISABLE +#define __CAN1_CLK_ENABLE __HAL_RCC_CAN1_CLK_ENABLE +#define __CAN1_CLK_SLEEP_DISABLE __HAL_RCC_CAN1_CLK_SLEEP_DISABLE +#define __CAN1_CLK_SLEEP_ENABLE __HAL_RCC_CAN1_CLK_SLEEP_ENABLE +#define __CAN1_FORCE_RESET __HAL_RCC_CAN1_FORCE_RESET +#define __CAN1_RELEASE_RESET __HAL_RCC_CAN1_RELEASE_RESET +#define __CAN_CLK_DISABLE __HAL_RCC_CAN1_CLK_DISABLE +#define __CAN_CLK_ENABLE __HAL_RCC_CAN1_CLK_ENABLE +#define __CAN_FORCE_RESET __HAL_RCC_CAN1_FORCE_RESET +#define __CAN_RELEASE_RESET __HAL_RCC_CAN1_RELEASE_RESET +#define __CAN2_CLK_DISABLE __HAL_RCC_CAN2_CLK_DISABLE +#define __CAN2_CLK_ENABLE __HAL_RCC_CAN2_CLK_ENABLE +#define __CAN2_FORCE_RESET __HAL_RCC_CAN2_FORCE_RESET +#define __CAN2_RELEASE_RESET __HAL_RCC_CAN2_RELEASE_RESET +#define __CEC_CLK_DISABLE __HAL_RCC_CEC_CLK_DISABLE +#define __CEC_CLK_ENABLE __HAL_RCC_CEC_CLK_ENABLE +#define __COMP_CLK_DISABLE __HAL_RCC_COMP_CLK_DISABLE +#define __COMP_CLK_ENABLE __HAL_RCC_COMP_CLK_ENABLE +#define __COMP_FORCE_RESET __HAL_RCC_COMP_FORCE_RESET +#define __COMP_RELEASE_RESET __HAL_RCC_COMP_RELEASE_RESET +#define __COMP_CLK_SLEEP_ENABLE __HAL_RCC_COMP_CLK_SLEEP_ENABLE +#define __COMP_CLK_SLEEP_DISABLE __HAL_RCC_COMP_CLK_SLEEP_DISABLE +#define __CEC_FORCE_RESET __HAL_RCC_CEC_FORCE_RESET +#define __CEC_RELEASE_RESET __HAL_RCC_CEC_RELEASE_RESET +#define __CRC_CLK_DISABLE __HAL_RCC_CRC_CLK_DISABLE +#define __CRC_CLK_ENABLE __HAL_RCC_CRC_CLK_ENABLE +#define __CRC_CLK_SLEEP_DISABLE __HAL_RCC_CRC_CLK_SLEEP_DISABLE +#define __CRC_CLK_SLEEP_ENABLE __HAL_RCC_CRC_CLK_SLEEP_ENABLE +#define __CRC_FORCE_RESET __HAL_RCC_CRC_FORCE_RESET +#define __CRC_RELEASE_RESET __HAL_RCC_CRC_RELEASE_RESET +#define __DAC_CLK_DISABLE __HAL_RCC_DAC_CLK_DISABLE +#define __DAC_CLK_ENABLE __HAL_RCC_DAC_CLK_ENABLE +#define __DAC_FORCE_RESET __HAL_RCC_DAC_FORCE_RESET +#define __DAC_RELEASE_RESET __HAL_RCC_DAC_RELEASE_RESET +#define __DAC1_CLK_DISABLE __HAL_RCC_DAC1_CLK_DISABLE +#define __DAC1_CLK_ENABLE __HAL_RCC_DAC1_CLK_ENABLE +#define __DAC1_CLK_SLEEP_DISABLE __HAL_RCC_DAC1_CLK_SLEEP_DISABLE +#define __DAC1_CLK_SLEEP_ENABLE __HAL_RCC_DAC1_CLK_SLEEP_ENABLE +#define __DAC1_FORCE_RESET __HAL_RCC_DAC1_FORCE_RESET +#define __DAC1_RELEASE_RESET __HAL_RCC_DAC1_RELEASE_RESET +#define __DBGMCU_CLK_ENABLE __HAL_RCC_DBGMCU_CLK_ENABLE +#define __DBGMCU_CLK_DISABLE __HAL_RCC_DBGMCU_CLK_DISABLE +#define __DBGMCU_FORCE_RESET __HAL_RCC_DBGMCU_FORCE_RESET +#define __DBGMCU_RELEASE_RESET __HAL_RCC_DBGMCU_RELEASE_RESET +#define __DFSDM_CLK_DISABLE __HAL_RCC_DFSDM_CLK_DISABLE +#define __DFSDM_CLK_ENABLE __HAL_RCC_DFSDM_CLK_ENABLE +#define __DFSDM_CLK_SLEEP_DISABLE __HAL_RCC_DFSDM_CLK_SLEEP_DISABLE +#define __DFSDM_CLK_SLEEP_ENABLE __HAL_RCC_DFSDM_CLK_SLEEP_ENABLE +#define __DFSDM_FORCE_RESET __HAL_RCC_DFSDM_FORCE_RESET +#define __DFSDM_RELEASE_RESET __HAL_RCC_DFSDM_RELEASE_RESET +#define __DMA1_CLK_DISABLE __HAL_RCC_DMA1_CLK_DISABLE +#define __DMA1_CLK_ENABLE __HAL_RCC_DMA1_CLK_ENABLE +#define __DMA1_CLK_SLEEP_DISABLE __HAL_RCC_DMA1_CLK_SLEEP_DISABLE +#define __DMA1_CLK_SLEEP_ENABLE __HAL_RCC_DMA1_CLK_SLEEP_ENABLE +#define __DMA1_FORCE_RESET __HAL_RCC_DMA1_FORCE_RESET +#define __DMA1_RELEASE_RESET __HAL_RCC_DMA1_RELEASE_RESET +#define __DMA2_CLK_DISABLE __HAL_RCC_DMA2_CLK_DISABLE +#define __DMA2_CLK_ENABLE __HAL_RCC_DMA2_CLK_ENABLE +#define __DMA2_CLK_SLEEP_DISABLE __HAL_RCC_DMA2_CLK_SLEEP_DISABLE +#define __DMA2_CLK_SLEEP_ENABLE __HAL_RCC_DMA2_CLK_SLEEP_ENABLE +#define __DMA2_FORCE_RESET __HAL_RCC_DMA2_FORCE_RESET +#define __DMA2_RELEASE_RESET __HAL_RCC_DMA2_RELEASE_RESET +#define __ETHMAC_CLK_DISABLE __HAL_RCC_ETHMAC_CLK_DISABLE +#define __ETHMAC_CLK_ENABLE __HAL_RCC_ETHMAC_CLK_ENABLE +#define __ETHMAC_FORCE_RESET __HAL_RCC_ETHMAC_FORCE_RESET +#define __ETHMAC_RELEASE_RESET __HAL_RCC_ETHMAC_RELEASE_RESET +#define __ETHMACRX_CLK_DISABLE __HAL_RCC_ETHMACRX_CLK_DISABLE +#define __ETHMACRX_CLK_ENABLE __HAL_RCC_ETHMACRX_CLK_ENABLE +#define __ETHMACTX_CLK_DISABLE __HAL_RCC_ETHMACTX_CLK_DISABLE +#define __ETHMACTX_CLK_ENABLE __HAL_RCC_ETHMACTX_CLK_ENABLE +#define __FIREWALL_CLK_DISABLE __HAL_RCC_FIREWALL_CLK_DISABLE +#define __FIREWALL_CLK_ENABLE __HAL_RCC_FIREWALL_CLK_ENABLE +#define __FLASH_CLK_DISABLE __HAL_RCC_FLASH_CLK_DISABLE +#define __FLASH_CLK_ENABLE __HAL_RCC_FLASH_CLK_ENABLE +#define __FLASH_CLK_SLEEP_DISABLE __HAL_RCC_FLASH_CLK_SLEEP_DISABLE +#define __FLASH_CLK_SLEEP_ENABLE __HAL_RCC_FLASH_CLK_SLEEP_ENABLE +#define __FLASH_FORCE_RESET __HAL_RCC_FLASH_FORCE_RESET +#define __FLASH_RELEASE_RESET __HAL_RCC_FLASH_RELEASE_RESET +#define __FLITF_CLK_DISABLE __HAL_RCC_FLITF_CLK_DISABLE +#define __FLITF_CLK_ENABLE __HAL_RCC_FLITF_CLK_ENABLE +#define __FLITF_FORCE_RESET __HAL_RCC_FLITF_FORCE_RESET +#define __FLITF_RELEASE_RESET __HAL_RCC_FLITF_RELEASE_RESET +#define __FLITF_CLK_SLEEP_ENABLE __HAL_RCC_FLITF_CLK_SLEEP_ENABLE +#define __FLITF_CLK_SLEEP_DISABLE __HAL_RCC_FLITF_CLK_SLEEP_DISABLE +#define __FMC_CLK_DISABLE __HAL_RCC_FMC_CLK_DISABLE +#define __FMC_CLK_ENABLE __HAL_RCC_FMC_CLK_ENABLE +#define __FMC_CLK_SLEEP_DISABLE __HAL_RCC_FMC_CLK_SLEEP_DISABLE +#define __FMC_CLK_SLEEP_ENABLE __HAL_RCC_FMC_CLK_SLEEP_ENABLE +#define __FMC_FORCE_RESET __HAL_RCC_FMC_FORCE_RESET +#define __FMC_RELEASE_RESET __HAL_RCC_FMC_RELEASE_RESET +#define __FSMC_CLK_DISABLE __HAL_RCC_FSMC_CLK_DISABLE +#define __FSMC_CLK_ENABLE __HAL_RCC_FSMC_CLK_ENABLE +#define __GPIOA_CLK_DISABLE __HAL_RCC_GPIOA_CLK_DISABLE +#define __GPIOA_CLK_ENABLE __HAL_RCC_GPIOA_CLK_ENABLE +#define __GPIOA_CLK_SLEEP_DISABLE __HAL_RCC_GPIOA_CLK_SLEEP_DISABLE +#define __GPIOA_CLK_SLEEP_ENABLE __HAL_RCC_GPIOA_CLK_SLEEP_ENABLE +#define __GPIOA_FORCE_RESET __HAL_RCC_GPIOA_FORCE_RESET +#define __GPIOA_RELEASE_RESET __HAL_RCC_GPIOA_RELEASE_RESET +#define __GPIOB_CLK_DISABLE __HAL_RCC_GPIOB_CLK_DISABLE +#define __GPIOB_CLK_ENABLE __HAL_RCC_GPIOB_CLK_ENABLE +#define __GPIOB_CLK_SLEEP_DISABLE __HAL_RCC_GPIOB_CLK_SLEEP_DISABLE +#define __GPIOB_CLK_SLEEP_ENABLE __HAL_RCC_GPIOB_CLK_SLEEP_ENABLE +#define __GPIOB_FORCE_RESET __HAL_RCC_GPIOB_FORCE_RESET +#define __GPIOB_RELEASE_RESET __HAL_RCC_GPIOB_RELEASE_RESET +#define __GPIOC_CLK_DISABLE __HAL_RCC_GPIOC_CLK_DISABLE +#define __GPIOC_CLK_ENABLE __HAL_RCC_GPIOC_CLK_ENABLE +#define __GPIOC_CLK_SLEEP_DISABLE __HAL_RCC_GPIOC_CLK_SLEEP_DISABLE +#define __GPIOC_CLK_SLEEP_ENABLE __HAL_RCC_GPIOC_CLK_SLEEP_ENABLE +#define __GPIOC_FORCE_RESET __HAL_RCC_GPIOC_FORCE_RESET +#define __GPIOC_RELEASE_RESET __HAL_RCC_GPIOC_RELEASE_RESET +#define __GPIOD_CLK_DISABLE __HAL_RCC_GPIOD_CLK_DISABLE +#define __GPIOD_CLK_ENABLE __HAL_RCC_GPIOD_CLK_ENABLE +#define __GPIOD_CLK_SLEEP_DISABLE __HAL_RCC_GPIOD_CLK_SLEEP_DISABLE +#define __GPIOD_CLK_SLEEP_ENABLE __HAL_RCC_GPIOD_CLK_SLEEP_ENABLE +#define __GPIOD_FORCE_RESET __HAL_RCC_GPIOD_FORCE_RESET +#define __GPIOD_RELEASE_RESET __HAL_RCC_GPIOD_RELEASE_RESET +#define __GPIOE_CLK_DISABLE __HAL_RCC_GPIOE_CLK_DISABLE +#define __GPIOE_CLK_ENABLE __HAL_RCC_GPIOE_CLK_ENABLE +#define __GPIOE_CLK_SLEEP_DISABLE __HAL_RCC_GPIOE_CLK_SLEEP_DISABLE +#define __GPIOE_CLK_SLEEP_ENABLE __HAL_RCC_GPIOE_CLK_SLEEP_ENABLE +#define __GPIOE_FORCE_RESET __HAL_RCC_GPIOE_FORCE_RESET +#define __GPIOE_RELEASE_RESET __HAL_RCC_GPIOE_RELEASE_RESET +#define __GPIOF_CLK_DISABLE __HAL_RCC_GPIOF_CLK_DISABLE +#define __GPIOF_CLK_ENABLE __HAL_RCC_GPIOF_CLK_ENABLE +#define __GPIOF_CLK_SLEEP_DISABLE __HAL_RCC_GPIOF_CLK_SLEEP_DISABLE +#define __GPIOF_CLK_SLEEP_ENABLE __HAL_RCC_GPIOF_CLK_SLEEP_ENABLE +#define __GPIOF_FORCE_RESET __HAL_RCC_GPIOF_FORCE_RESET +#define __GPIOF_RELEASE_RESET __HAL_RCC_GPIOF_RELEASE_RESET +#define __GPIOG_CLK_DISABLE __HAL_RCC_GPIOG_CLK_DISABLE +#define __GPIOG_CLK_ENABLE __HAL_RCC_GPIOG_CLK_ENABLE +#define __GPIOG_CLK_SLEEP_DISABLE __HAL_RCC_GPIOG_CLK_SLEEP_DISABLE +#define __GPIOG_CLK_SLEEP_ENABLE __HAL_RCC_GPIOG_CLK_SLEEP_ENABLE +#define __GPIOG_FORCE_RESET __HAL_RCC_GPIOG_FORCE_RESET +#define __GPIOG_RELEASE_RESET __HAL_RCC_GPIOG_RELEASE_RESET +#define __GPIOH_CLK_DISABLE __HAL_RCC_GPIOH_CLK_DISABLE +#define __GPIOH_CLK_ENABLE __HAL_RCC_GPIOH_CLK_ENABLE +#define __GPIOH_CLK_SLEEP_DISABLE __HAL_RCC_GPIOH_CLK_SLEEP_DISABLE +#define __GPIOH_CLK_SLEEP_ENABLE __HAL_RCC_GPIOH_CLK_SLEEP_ENABLE +#define __GPIOH_FORCE_RESET __HAL_RCC_GPIOH_FORCE_RESET +#define __GPIOH_RELEASE_RESET __HAL_RCC_GPIOH_RELEASE_RESET +#define __I2C1_CLK_DISABLE __HAL_RCC_I2C1_CLK_DISABLE +#define __I2C1_CLK_ENABLE __HAL_RCC_I2C1_CLK_ENABLE +#define __I2C1_CLK_SLEEP_DISABLE __HAL_RCC_I2C1_CLK_SLEEP_DISABLE +#define __I2C1_CLK_SLEEP_ENABLE __HAL_RCC_I2C1_CLK_SLEEP_ENABLE +#define __I2C1_FORCE_RESET __HAL_RCC_I2C1_FORCE_RESET +#define __I2C1_RELEASE_RESET __HAL_RCC_I2C1_RELEASE_RESET +#define __I2C2_CLK_DISABLE __HAL_RCC_I2C2_CLK_DISABLE +#define __I2C2_CLK_ENABLE __HAL_RCC_I2C2_CLK_ENABLE +#define __I2C2_CLK_SLEEP_DISABLE __HAL_RCC_I2C2_CLK_SLEEP_DISABLE +#define __I2C2_CLK_SLEEP_ENABLE __HAL_RCC_I2C2_CLK_SLEEP_ENABLE +#define __I2C2_FORCE_RESET __HAL_RCC_I2C2_FORCE_RESET +#define __I2C2_RELEASE_RESET __HAL_RCC_I2C2_RELEASE_RESET +#define __I2C3_CLK_DISABLE __HAL_RCC_I2C3_CLK_DISABLE +#define __I2C3_CLK_ENABLE __HAL_RCC_I2C3_CLK_ENABLE +#define __I2C3_CLK_SLEEP_DISABLE __HAL_RCC_I2C3_CLK_SLEEP_DISABLE +#define __I2C3_CLK_SLEEP_ENABLE __HAL_RCC_I2C3_CLK_SLEEP_ENABLE +#define __I2C3_FORCE_RESET __HAL_RCC_I2C3_FORCE_RESET +#define __I2C3_RELEASE_RESET __HAL_RCC_I2C3_RELEASE_RESET +#define __LCD_CLK_DISABLE __HAL_RCC_LCD_CLK_DISABLE +#define __LCD_CLK_ENABLE __HAL_RCC_LCD_CLK_ENABLE +#define __LCD_CLK_SLEEP_DISABLE __HAL_RCC_LCD_CLK_SLEEP_DISABLE +#define __LCD_CLK_SLEEP_ENABLE __HAL_RCC_LCD_CLK_SLEEP_ENABLE +#define __LCD_FORCE_RESET __HAL_RCC_LCD_FORCE_RESET +#define __LCD_RELEASE_RESET __HAL_RCC_LCD_RELEASE_RESET +#define __LPTIM1_CLK_DISABLE __HAL_RCC_LPTIM1_CLK_DISABLE +#define __LPTIM1_CLK_ENABLE __HAL_RCC_LPTIM1_CLK_ENABLE +#define __LPTIM1_CLK_SLEEP_DISABLE __HAL_RCC_LPTIM1_CLK_SLEEP_DISABLE +#define __LPTIM1_CLK_SLEEP_ENABLE __HAL_RCC_LPTIM1_CLK_SLEEP_ENABLE +#define __LPTIM1_FORCE_RESET __HAL_RCC_LPTIM1_FORCE_RESET +#define __LPTIM1_RELEASE_RESET __HAL_RCC_LPTIM1_RELEASE_RESET +#define __LPTIM2_CLK_DISABLE __HAL_RCC_LPTIM2_CLK_DISABLE +#define __LPTIM2_CLK_ENABLE __HAL_RCC_LPTIM2_CLK_ENABLE +#define __LPTIM2_CLK_SLEEP_DISABLE __HAL_RCC_LPTIM2_CLK_SLEEP_DISABLE +#define __LPTIM2_CLK_SLEEP_ENABLE __HAL_RCC_LPTIM2_CLK_SLEEP_ENABLE +#define __LPTIM2_FORCE_RESET __HAL_RCC_LPTIM2_FORCE_RESET +#define __LPTIM2_RELEASE_RESET __HAL_RCC_LPTIM2_RELEASE_RESET +#define __LPUART1_CLK_DISABLE __HAL_RCC_LPUART1_CLK_DISABLE +#define __LPUART1_CLK_ENABLE __HAL_RCC_LPUART1_CLK_ENABLE +#define __LPUART1_CLK_SLEEP_DISABLE __HAL_RCC_LPUART1_CLK_SLEEP_DISABLE +#define __LPUART1_CLK_SLEEP_ENABLE __HAL_RCC_LPUART1_CLK_SLEEP_ENABLE +#define __LPUART1_FORCE_RESET __HAL_RCC_LPUART1_FORCE_RESET +#define __LPUART1_RELEASE_RESET __HAL_RCC_LPUART1_RELEASE_RESET +#define __OPAMP_CLK_DISABLE __HAL_RCC_OPAMP_CLK_DISABLE +#define __OPAMP_CLK_ENABLE __HAL_RCC_OPAMP_CLK_ENABLE +#define __OPAMP_CLK_SLEEP_DISABLE __HAL_RCC_OPAMP_CLK_SLEEP_DISABLE +#define __OPAMP_CLK_SLEEP_ENABLE __HAL_RCC_OPAMP_CLK_SLEEP_ENABLE +#define __OPAMP_FORCE_RESET __HAL_RCC_OPAMP_FORCE_RESET +#define __OPAMP_RELEASE_RESET __HAL_RCC_OPAMP_RELEASE_RESET +#define __OTGFS_CLK_DISABLE __HAL_RCC_OTGFS_CLK_DISABLE +#define __OTGFS_CLK_ENABLE __HAL_RCC_OTGFS_CLK_ENABLE +#define __OTGFS_CLK_SLEEP_DISABLE __HAL_RCC_OTGFS_CLK_SLEEP_DISABLE +#define __OTGFS_CLK_SLEEP_ENABLE __HAL_RCC_OTGFS_CLK_SLEEP_ENABLE +#define __OTGFS_FORCE_RESET __HAL_RCC_OTGFS_FORCE_RESET +#define __OTGFS_RELEASE_RESET __HAL_RCC_OTGFS_RELEASE_RESET +#define __PWR_CLK_DISABLE __HAL_RCC_PWR_CLK_DISABLE +#define __PWR_CLK_ENABLE __HAL_RCC_PWR_CLK_ENABLE +#define __PWR_CLK_SLEEP_DISABLE __HAL_RCC_PWR_CLK_SLEEP_DISABLE +#define __PWR_CLK_SLEEP_ENABLE __HAL_RCC_PWR_CLK_SLEEP_ENABLE +#define __PWR_FORCE_RESET __HAL_RCC_PWR_FORCE_RESET +#define __PWR_RELEASE_RESET __HAL_RCC_PWR_RELEASE_RESET +#define __QSPI_CLK_DISABLE __HAL_RCC_QSPI_CLK_DISABLE +#define __QSPI_CLK_ENABLE __HAL_RCC_QSPI_CLK_ENABLE +#define __QSPI_CLK_SLEEP_DISABLE __HAL_RCC_QSPI_CLK_SLEEP_DISABLE +#define __QSPI_CLK_SLEEP_ENABLE __HAL_RCC_QSPI_CLK_SLEEP_ENABLE +#define __QSPI_FORCE_RESET __HAL_RCC_QSPI_FORCE_RESET +#define __QSPI_RELEASE_RESET __HAL_RCC_QSPI_RELEASE_RESET +#define __RNG_CLK_DISABLE __HAL_RCC_RNG_CLK_DISABLE +#define __RNG_CLK_ENABLE __HAL_RCC_RNG_CLK_ENABLE +#define __RNG_CLK_SLEEP_DISABLE __HAL_RCC_RNG_CLK_SLEEP_DISABLE +#define __RNG_CLK_SLEEP_ENABLE __HAL_RCC_RNG_CLK_SLEEP_ENABLE +#define __RNG_FORCE_RESET __HAL_RCC_RNG_FORCE_RESET +#define __RNG_RELEASE_RESET __HAL_RCC_RNG_RELEASE_RESET +#define __SAI1_CLK_DISABLE __HAL_RCC_SAI1_CLK_DISABLE +#define __SAI1_CLK_ENABLE __HAL_RCC_SAI1_CLK_ENABLE +#define __SAI1_CLK_SLEEP_DISABLE __HAL_RCC_SAI1_CLK_SLEEP_DISABLE +#define __SAI1_CLK_SLEEP_ENABLE __HAL_RCC_SAI1_CLK_SLEEP_ENABLE +#define __SAI1_FORCE_RESET __HAL_RCC_SAI1_FORCE_RESET +#define __SAI1_RELEASE_RESET __HAL_RCC_SAI1_RELEASE_RESET +#define __SAI2_CLK_DISABLE __HAL_RCC_SAI2_CLK_DISABLE +#define __SAI2_CLK_ENABLE __HAL_RCC_SAI2_CLK_ENABLE +#define __SAI2_CLK_SLEEP_DISABLE __HAL_RCC_SAI2_CLK_SLEEP_DISABLE +#define __SAI2_CLK_SLEEP_ENABLE __HAL_RCC_SAI2_CLK_SLEEP_ENABLE +#define __SAI2_FORCE_RESET __HAL_RCC_SAI2_FORCE_RESET +#define __SAI2_RELEASE_RESET __HAL_RCC_SAI2_RELEASE_RESET +#define __SDIO_CLK_DISABLE __HAL_RCC_SDIO_CLK_DISABLE +#define __SDIO_CLK_ENABLE __HAL_RCC_SDIO_CLK_ENABLE +#define __SDMMC_CLK_DISABLE __HAL_RCC_SDMMC_CLK_DISABLE +#define __SDMMC_CLK_ENABLE __HAL_RCC_SDMMC_CLK_ENABLE +#define __SDMMC_CLK_SLEEP_DISABLE __HAL_RCC_SDMMC_CLK_SLEEP_DISABLE +#define __SDMMC_CLK_SLEEP_ENABLE __HAL_RCC_SDMMC_CLK_SLEEP_ENABLE +#define __SDMMC_FORCE_RESET __HAL_RCC_SDMMC_FORCE_RESET +#define __SDMMC_RELEASE_RESET __HAL_RCC_SDMMC_RELEASE_RESET +#define __SPI1_CLK_DISABLE __HAL_RCC_SPI1_CLK_DISABLE +#define __SPI1_CLK_ENABLE __HAL_RCC_SPI1_CLK_ENABLE +#define __SPI1_CLK_SLEEP_DISABLE __HAL_RCC_SPI1_CLK_SLEEP_DISABLE +#define __SPI1_CLK_SLEEP_ENABLE __HAL_RCC_SPI1_CLK_SLEEP_ENABLE +#define __SPI1_FORCE_RESET __HAL_RCC_SPI1_FORCE_RESET +#define __SPI1_RELEASE_RESET __HAL_RCC_SPI1_RELEASE_RESET +#define __SPI2_CLK_DISABLE __HAL_RCC_SPI2_CLK_DISABLE +#define __SPI2_CLK_ENABLE __HAL_RCC_SPI2_CLK_ENABLE +#define __SPI2_CLK_SLEEP_DISABLE __HAL_RCC_SPI2_CLK_SLEEP_DISABLE +#define __SPI2_CLK_SLEEP_ENABLE __HAL_RCC_SPI2_CLK_SLEEP_ENABLE +#define __SPI2_FORCE_RESET __HAL_RCC_SPI2_FORCE_RESET +#define __SPI2_RELEASE_RESET __HAL_RCC_SPI2_RELEASE_RESET +#define __SPI3_CLK_DISABLE __HAL_RCC_SPI3_CLK_DISABLE +#define __SPI3_CLK_ENABLE __HAL_RCC_SPI3_CLK_ENABLE +#define __SPI3_CLK_SLEEP_DISABLE __HAL_RCC_SPI3_CLK_SLEEP_DISABLE +#define __SPI3_CLK_SLEEP_ENABLE __HAL_RCC_SPI3_CLK_SLEEP_ENABLE +#define __SPI3_FORCE_RESET __HAL_RCC_SPI3_FORCE_RESET +#define __SPI3_RELEASE_RESET __HAL_RCC_SPI3_RELEASE_RESET +#define __SRAM_CLK_DISABLE __HAL_RCC_SRAM_CLK_DISABLE +#define __SRAM_CLK_ENABLE __HAL_RCC_SRAM_CLK_ENABLE +#define __SRAM1_CLK_SLEEP_DISABLE __HAL_RCC_SRAM1_CLK_SLEEP_DISABLE +#define __SRAM1_CLK_SLEEP_ENABLE __HAL_RCC_SRAM1_CLK_SLEEP_ENABLE +#define __SRAM2_CLK_SLEEP_DISABLE __HAL_RCC_SRAM2_CLK_SLEEP_DISABLE +#define __SRAM2_CLK_SLEEP_ENABLE __HAL_RCC_SRAM2_CLK_SLEEP_ENABLE +#define __SWPMI1_CLK_DISABLE __HAL_RCC_SWPMI1_CLK_DISABLE +#define __SWPMI1_CLK_ENABLE __HAL_RCC_SWPMI1_CLK_ENABLE +#define __SWPMI1_CLK_SLEEP_DISABLE __HAL_RCC_SWPMI1_CLK_SLEEP_DISABLE +#define __SWPMI1_CLK_SLEEP_ENABLE __HAL_RCC_SWPMI1_CLK_SLEEP_ENABLE +#define __SWPMI1_FORCE_RESET __HAL_RCC_SWPMI1_FORCE_RESET +#define __SWPMI1_RELEASE_RESET __HAL_RCC_SWPMI1_RELEASE_RESET +#define __SYSCFG_CLK_DISABLE __HAL_RCC_SYSCFG_CLK_DISABLE +#define __SYSCFG_CLK_ENABLE __HAL_RCC_SYSCFG_CLK_ENABLE +#define __SYSCFG_CLK_SLEEP_DISABLE __HAL_RCC_SYSCFG_CLK_SLEEP_DISABLE +#define __SYSCFG_CLK_SLEEP_ENABLE __HAL_RCC_SYSCFG_CLK_SLEEP_ENABLE +#define __SYSCFG_FORCE_RESET __HAL_RCC_SYSCFG_FORCE_RESET +#define __SYSCFG_RELEASE_RESET __HAL_RCC_SYSCFG_RELEASE_RESET +#define __TIM1_CLK_DISABLE __HAL_RCC_TIM1_CLK_DISABLE +#define __TIM1_CLK_ENABLE __HAL_RCC_TIM1_CLK_ENABLE +#define __TIM1_CLK_SLEEP_DISABLE __HAL_RCC_TIM1_CLK_SLEEP_DISABLE +#define __TIM1_CLK_SLEEP_ENABLE __HAL_RCC_TIM1_CLK_SLEEP_ENABLE +#define __TIM1_FORCE_RESET __HAL_RCC_TIM1_FORCE_RESET +#define __TIM1_RELEASE_RESET __HAL_RCC_TIM1_RELEASE_RESET +#define __TIM10_CLK_DISABLE __HAL_RCC_TIM10_CLK_DISABLE +#define __TIM10_CLK_ENABLE __HAL_RCC_TIM10_CLK_ENABLE +#define __TIM10_FORCE_RESET __HAL_RCC_TIM10_FORCE_RESET +#define __TIM10_RELEASE_RESET __HAL_RCC_TIM10_RELEASE_RESET +#define __TIM11_CLK_DISABLE __HAL_RCC_TIM11_CLK_DISABLE +#define __TIM11_CLK_ENABLE __HAL_RCC_TIM11_CLK_ENABLE +#define __TIM11_FORCE_RESET __HAL_RCC_TIM11_FORCE_RESET +#define __TIM11_RELEASE_RESET __HAL_RCC_TIM11_RELEASE_RESET +#define __TIM12_CLK_DISABLE __HAL_RCC_TIM12_CLK_DISABLE +#define __TIM12_CLK_ENABLE __HAL_RCC_TIM12_CLK_ENABLE +#define __TIM12_FORCE_RESET __HAL_RCC_TIM12_FORCE_RESET +#define __TIM12_RELEASE_RESET __HAL_RCC_TIM12_RELEASE_RESET +#define __TIM13_CLK_DISABLE __HAL_RCC_TIM13_CLK_DISABLE +#define __TIM13_CLK_ENABLE __HAL_RCC_TIM13_CLK_ENABLE +#define __TIM13_FORCE_RESET __HAL_RCC_TIM13_FORCE_RESET +#define __TIM13_RELEASE_RESET __HAL_RCC_TIM13_RELEASE_RESET +#define __TIM14_CLK_DISABLE __HAL_RCC_TIM14_CLK_DISABLE +#define __TIM14_CLK_ENABLE __HAL_RCC_TIM14_CLK_ENABLE +#define __TIM14_FORCE_RESET __HAL_RCC_TIM14_FORCE_RESET +#define __TIM14_RELEASE_RESET __HAL_RCC_TIM14_RELEASE_RESET +#define __TIM15_CLK_DISABLE __HAL_RCC_TIM15_CLK_DISABLE +#define __TIM15_CLK_ENABLE __HAL_RCC_TIM15_CLK_ENABLE +#define __TIM15_CLK_SLEEP_DISABLE __HAL_RCC_TIM15_CLK_SLEEP_DISABLE +#define __TIM15_CLK_SLEEP_ENABLE __HAL_RCC_TIM15_CLK_SLEEP_ENABLE +#define __TIM15_FORCE_RESET __HAL_RCC_TIM15_FORCE_RESET +#define __TIM15_RELEASE_RESET __HAL_RCC_TIM15_RELEASE_RESET +#define __TIM16_CLK_DISABLE __HAL_RCC_TIM16_CLK_DISABLE +#define __TIM16_CLK_ENABLE __HAL_RCC_TIM16_CLK_ENABLE +#define __TIM16_CLK_SLEEP_DISABLE __HAL_RCC_TIM16_CLK_SLEEP_DISABLE +#define __TIM16_CLK_SLEEP_ENABLE __HAL_RCC_TIM16_CLK_SLEEP_ENABLE +#define __TIM16_FORCE_RESET __HAL_RCC_TIM16_FORCE_RESET +#define __TIM16_RELEASE_RESET __HAL_RCC_TIM16_RELEASE_RESET +#define __TIM17_CLK_DISABLE __HAL_RCC_TIM17_CLK_DISABLE +#define __TIM17_CLK_ENABLE __HAL_RCC_TIM17_CLK_ENABLE +#define __TIM17_CLK_SLEEP_DISABLE __HAL_RCC_TIM17_CLK_SLEEP_DISABLE +#define __TIM17_CLK_SLEEP_ENABLE __HAL_RCC_TIM17_CLK_SLEEP_ENABLE +#define __TIM17_FORCE_RESET __HAL_RCC_TIM17_FORCE_RESET +#define __TIM17_RELEASE_RESET __HAL_RCC_TIM17_RELEASE_RESET +#define __TIM2_CLK_DISABLE __HAL_RCC_TIM2_CLK_DISABLE +#define __TIM2_CLK_ENABLE __HAL_RCC_TIM2_CLK_ENABLE +#define __TIM2_CLK_SLEEP_DISABLE __HAL_RCC_TIM2_CLK_SLEEP_DISABLE +#define __TIM2_CLK_SLEEP_ENABLE __HAL_RCC_TIM2_CLK_SLEEP_ENABLE +#define __TIM2_FORCE_RESET __HAL_RCC_TIM2_FORCE_RESET +#define __TIM2_RELEASE_RESET __HAL_RCC_TIM2_RELEASE_RESET +#define __TIM3_CLK_DISABLE __HAL_RCC_TIM3_CLK_DISABLE +#define __TIM3_CLK_ENABLE __HAL_RCC_TIM3_CLK_ENABLE +#define __TIM3_CLK_SLEEP_DISABLE __HAL_RCC_TIM3_CLK_SLEEP_DISABLE +#define __TIM3_CLK_SLEEP_ENABLE __HAL_RCC_TIM3_CLK_SLEEP_ENABLE +#define __TIM3_FORCE_RESET __HAL_RCC_TIM3_FORCE_RESET +#define __TIM3_RELEASE_RESET __HAL_RCC_TIM3_RELEASE_RESET +#define __TIM4_CLK_DISABLE __HAL_RCC_TIM4_CLK_DISABLE +#define __TIM4_CLK_ENABLE __HAL_RCC_TIM4_CLK_ENABLE +#define __TIM4_CLK_SLEEP_DISABLE __HAL_RCC_TIM4_CLK_SLEEP_DISABLE +#define __TIM4_CLK_SLEEP_ENABLE __HAL_RCC_TIM4_CLK_SLEEP_ENABLE +#define __TIM4_FORCE_RESET __HAL_RCC_TIM4_FORCE_RESET +#define __TIM4_RELEASE_RESET __HAL_RCC_TIM4_RELEASE_RESET +#define __TIM5_CLK_DISABLE __HAL_RCC_TIM5_CLK_DISABLE +#define __TIM5_CLK_ENABLE __HAL_RCC_TIM5_CLK_ENABLE +#define __TIM5_CLK_SLEEP_DISABLE __HAL_RCC_TIM5_CLK_SLEEP_DISABLE +#define __TIM5_CLK_SLEEP_ENABLE __HAL_RCC_TIM5_CLK_SLEEP_ENABLE +#define __TIM5_FORCE_RESET __HAL_RCC_TIM5_FORCE_RESET +#define __TIM5_RELEASE_RESET __HAL_RCC_TIM5_RELEASE_RESET +#define __TIM6_CLK_DISABLE __HAL_RCC_TIM6_CLK_DISABLE +#define __TIM6_CLK_ENABLE __HAL_RCC_TIM6_CLK_ENABLE +#define __TIM6_CLK_SLEEP_DISABLE __HAL_RCC_TIM6_CLK_SLEEP_DISABLE +#define __TIM6_CLK_SLEEP_ENABLE __HAL_RCC_TIM6_CLK_SLEEP_ENABLE +#define __TIM6_FORCE_RESET __HAL_RCC_TIM6_FORCE_RESET +#define __TIM6_RELEASE_RESET __HAL_RCC_TIM6_RELEASE_RESET +#define __TIM7_CLK_DISABLE __HAL_RCC_TIM7_CLK_DISABLE +#define __TIM7_CLK_ENABLE __HAL_RCC_TIM7_CLK_ENABLE +#define __TIM7_CLK_SLEEP_DISABLE __HAL_RCC_TIM7_CLK_SLEEP_DISABLE +#define __TIM7_CLK_SLEEP_ENABLE __HAL_RCC_TIM7_CLK_SLEEP_ENABLE +#define __TIM7_FORCE_RESET __HAL_RCC_TIM7_FORCE_RESET +#define __TIM7_RELEASE_RESET __HAL_RCC_TIM7_RELEASE_RESET +#define __TIM8_CLK_DISABLE __HAL_RCC_TIM8_CLK_DISABLE +#define __TIM8_CLK_ENABLE __HAL_RCC_TIM8_CLK_ENABLE +#define __TIM8_CLK_SLEEP_DISABLE __HAL_RCC_TIM8_CLK_SLEEP_DISABLE +#define __TIM8_CLK_SLEEP_ENABLE __HAL_RCC_TIM8_CLK_SLEEP_ENABLE +#define __TIM8_FORCE_RESET __HAL_RCC_TIM8_FORCE_RESET +#define __TIM8_RELEASE_RESET __HAL_RCC_TIM8_RELEASE_RESET +#define __TIM9_CLK_DISABLE __HAL_RCC_TIM9_CLK_DISABLE +#define __TIM9_CLK_ENABLE __HAL_RCC_TIM9_CLK_ENABLE +#define __TIM9_FORCE_RESET __HAL_RCC_TIM9_FORCE_RESET +#define __TIM9_RELEASE_RESET __HAL_RCC_TIM9_RELEASE_RESET +#define __TSC_CLK_DISABLE __HAL_RCC_TSC_CLK_DISABLE +#define __TSC_CLK_ENABLE __HAL_RCC_TSC_CLK_ENABLE +#define __TSC_CLK_SLEEP_DISABLE __HAL_RCC_TSC_CLK_SLEEP_DISABLE +#define __TSC_CLK_SLEEP_ENABLE __HAL_RCC_TSC_CLK_SLEEP_ENABLE +#define __TSC_FORCE_RESET __HAL_RCC_TSC_FORCE_RESET +#define __TSC_RELEASE_RESET __HAL_RCC_TSC_RELEASE_RESET +#define __UART4_CLK_DISABLE __HAL_RCC_UART4_CLK_DISABLE +#define __UART4_CLK_ENABLE __HAL_RCC_UART4_CLK_ENABLE +#define __UART4_CLK_SLEEP_DISABLE __HAL_RCC_UART4_CLK_SLEEP_DISABLE +#define __UART4_CLK_SLEEP_ENABLE __HAL_RCC_UART4_CLK_SLEEP_ENABLE +#define __UART4_FORCE_RESET __HAL_RCC_UART4_FORCE_RESET +#define __UART4_RELEASE_RESET __HAL_RCC_UART4_RELEASE_RESET +#define __UART5_CLK_DISABLE __HAL_RCC_UART5_CLK_DISABLE +#define __UART5_CLK_ENABLE __HAL_RCC_UART5_CLK_ENABLE +#define __UART5_CLK_SLEEP_DISABLE __HAL_RCC_UART5_CLK_SLEEP_DISABLE +#define __UART5_CLK_SLEEP_ENABLE __HAL_RCC_UART5_CLK_SLEEP_ENABLE +#define __UART5_FORCE_RESET __HAL_RCC_UART5_FORCE_RESET +#define __UART5_RELEASE_RESET __HAL_RCC_UART5_RELEASE_RESET +#define __USART1_CLK_DISABLE __HAL_RCC_USART1_CLK_DISABLE +#define __USART1_CLK_ENABLE __HAL_RCC_USART1_CLK_ENABLE +#define __USART1_CLK_SLEEP_DISABLE __HAL_RCC_USART1_CLK_SLEEP_DISABLE +#define __USART1_CLK_SLEEP_ENABLE __HAL_RCC_USART1_CLK_SLEEP_ENABLE +#define __USART1_FORCE_RESET __HAL_RCC_USART1_FORCE_RESET +#define __USART1_RELEASE_RESET __HAL_RCC_USART1_RELEASE_RESET +#define __USART2_CLK_DISABLE __HAL_RCC_USART2_CLK_DISABLE +#define __USART2_CLK_ENABLE __HAL_RCC_USART2_CLK_ENABLE +#define __USART2_CLK_SLEEP_DISABLE __HAL_RCC_USART2_CLK_SLEEP_DISABLE +#define __USART2_CLK_SLEEP_ENABLE __HAL_RCC_USART2_CLK_SLEEP_ENABLE +#define __USART2_FORCE_RESET __HAL_RCC_USART2_FORCE_RESET +#define __USART2_RELEASE_RESET __HAL_RCC_USART2_RELEASE_RESET +#define __USART3_CLK_DISABLE __HAL_RCC_USART3_CLK_DISABLE +#define __USART3_CLK_ENABLE __HAL_RCC_USART3_CLK_ENABLE +#define __USART3_CLK_SLEEP_DISABLE __HAL_RCC_USART3_CLK_SLEEP_DISABLE +#define __USART3_CLK_SLEEP_ENABLE __HAL_RCC_USART3_CLK_SLEEP_ENABLE +#define __USART3_FORCE_RESET __HAL_RCC_USART3_FORCE_RESET +#define __USART3_RELEASE_RESET __HAL_RCC_USART3_RELEASE_RESET +#define __USART4_CLK_DISABLE __HAL_RCC_UART4_CLK_DISABLE +#define __USART4_CLK_ENABLE __HAL_RCC_UART4_CLK_ENABLE +#define __USART4_CLK_SLEEP_ENABLE __HAL_RCC_UART4_CLK_SLEEP_ENABLE +#define __USART4_CLK_SLEEP_DISABLE __HAL_RCC_UART4_CLK_SLEEP_DISABLE +#define __USART4_FORCE_RESET __HAL_RCC_UART4_FORCE_RESET +#define __USART4_RELEASE_RESET __HAL_RCC_UART4_RELEASE_RESET +#define __USART5_CLK_DISABLE __HAL_RCC_UART5_CLK_DISABLE +#define __USART5_CLK_ENABLE __HAL_RCC_UART5_CLK_ENABLE +#define __USART5_CLK_SLEEP_ENABLE __HAL_RCC_UART5_CLK_SLEEP_ENABLE +#define __USART5_CLK_SLEEP_DISABLE __HAL_RCC_UART5_CLK_SLEEP_DISABLE +#define __USART5_FORCE_RESET __HAL_RCC_UART5_FORCE_RESET +#define __USART5_RELEASE_RESET __HAL_RCC_UART5_RELEASE_RESET +#define __USART7_CLK_DISABLE __HAL_RCC_UART7_CLK_DISABLE +#define __USART7_CLK_ENABLE __HAL_RCC_UART7_CLK_ENABLE +#define __USART7_FORCE_RESET __HAL_RCC_UART7_FORCE_RESET +#define __USART7_RELEASE_RESET __HAL_RCC_UART7_RELEASE_RESET +#define __USART8_CLK_DISABLE __HAL_RCC_UART8_CLK_DISABLE +#define __USART8_CLK_ENABLE __HAL_RCC_UART8_CLK_ENABLE +#define __USART8_FORCE_RESET __HAL_RCC_UART8_FORCE_RESET +#define __USART8_RELEASE_RESET __HAL_RCC_UART8_RELEASE_RESET +#define __USB_CLK_DISABLE __HAL_RCC_USB_CLK_DISABLE +#define __USB_CLK_ENABLE __HAL_RCC_USB_CLK_ENABLE +#define __USB_FORCE_RESET __HAL_RCC_USB_FORCE_RESET +#define __USB_CLK_SLEEP_ENABLE __HAL_RCC_USB_CLK_SLEEP_ENABLE +#define __USB_CLK_SLEEP_DISABLE __HAL_RCC_USB_CLK_SLEEP_DISABLE +#define __USB_OTG_FS_CLK_DISABLE __HAL_RCC_USB_OTG_FS_CLK_DISABLE +#define __USB_OTG_FS_CLK_ENABLE __HAL_RCC_USB_OTG_FS_CLK_ENABLE +#define __USB_RELEASE_RESET __HAL_RCC_USB_RELEASE_RESET +#define __WWDG_CLK_DISABLE __HAL_RCC_WWDG_CLK_DISABLE +#define __WWDG_CLK_ENABLE __HAL_RCC_WWDG_CLK_ENABLE +#define __WWDG_CLK_SLEEP_DISABLE __HAL_RCC_WWDG_CLK_SLEEP_DISABLE +#define __WWDG_CLK_SLEEP_ENABLE __HAL_RCC_WWDG_CLK_SLEEP_ENABLE +#define __WWDG_FORCE_RESET __HAL_RCC_WWDG_FORCE_RESET +#define __WWDG_RELEASE_RESET __HAL_RCC_WWDG_RELEASE_RESET +#define __TIM21_CLK_ENABLE __HAL_RCC_TIM21_CLK_ENABLE +#define __TIM21_CLK_DISABLE __HAL_RCC_TIM21_CLK_DISABLE +#define __TIM21_FORCE_RESET __HAL_RCC_TIM21_FORCE_RESET +#define __TIM21_RELEASE_RESET __HAL_RCC_TIM21_RELEASE_RESET +#define __TIM21_CLK_SLEEP_ENABLE __HAL_RCC_TIM21_CLK_SLEEP_ENABLE +#define __TIM21_CLK_SLEEP_DISABLE __HAL_RCC_TIM21_CLK_SLEEP_DISABLE +#define __TIM22_CLK_ENABLE __HAL_RCC_TIM22_CLK_ENABLE +#define __TIM22_CLK_DISABLE __HAL_RCC_TIM22_CLK_DISABLE +#define __TIM22_FORCE_RESET __HAL_RCC_TIM22_FORCE_RESET +#define __TIM22_RELEASE_RESET __HAL_RCC_TIM22_RELEASE_RESET +#define __TIM22_CLK_SLEEP_ENABLE __HAL_RCC_TIM22_CLK_SLEEP_ENABLE +#define __TIM22_CLK_SLEEP_DISABLE __HAL_RCC_TIM22_CLK_SLEEP_DISABLE +#define __CRS_CLK_DISABLE __HAL_RCC_CRS_CLK_DISABLE +#define __CRS_CLK_ENABLE __HAL_RCC_CRS_CLK_ENABLE +#define __CRS_CLK_SLEEP_DISABLE __HAL_RCC_CRS_CLK_SLEEP_DISABLE +#define __CRS_CLK_SLEEP_ENABLE __HAL_RCC_CRS_CLK_SLEEP_ENABLE +#define __CRS_FORCE_RESET __HAL_RCC_CRS_FORCE_RESET +#define __CRS_RELEASE_RESET __HAL_RCC_CRS_RELEASE_RESET +#define __RCC_BACKUPRESET_FORCE __HAL_RCC_BACKUPRESET_FORCE +#define __RCC_BACKUPRESET_RELEASE __HAL_RCC_BACKUPRESET_RELEASE + +#define __USB_OTG_FS_FORCE_RESET __HAL_RCC_USB_OTG_FS_FORCE_RESET +#define __USB_OTG_FS_RELEASE_RESET __HAL_RCC_USB_OTG_FS_RELEASE_RESET +#define __USB_OTG_FS_CLK_SLEEP_ENABLE __HAL_RCC_USB_OTG_FS_CLK_SLEEP_ENABLE +#define __USB_OTG_FS_CLK_SLEEP_DISABLE __HAL_RCC_USB_OTG_FS_CLK_SLEEP_DISABLE +#define __USB_OTG_HS_CLK_DISABLE __HAL_RCC_USB_OTG_HS_CLK_DISABLE +#define __USB_OTG_HS_CLK_ENABLE __HAL_RCC_USB_OTG_HS_CLK_ENABLE +#define __USB_OTG_HS_ULPI_CLK_ENABLE __HAL_RCC_USB_OTG_HS_ULPI_CLK_ENABLE +#define __USB_OTG_HS_ULPI_CLK_DISABLE __HAL_RCC_USB_OTG_HS_ULPI_CLK_DISABLE +#define __TIM9_CLK_SLEEP_ENABLE __HAL_RCC_TIM9_CLK_SLEEP_ENABLE +#define __TIM9_CLK_SLEEP_DISABLE __HAL_RCC_TIM9_CLK_SLEEP_DISABLE +#define __TIM10_CLK_SLEEP_ENABLE __HAL_RCC_TIM10_CLK_SLEEP_ENABLE +#define __TIM10_CLK_SLEEP_DISABLE __HAL_RCC_TIM10_CLK_SLEEP_DISABLE +#define __TIM11_CLK_SLEEP_ENABLE __HAL_RCC_TIM11_CLK_SLEEP_ENABLE +#define __TIM11_CLK_SLEEP_DISABLE __HAL_RCC_TIM11_CLK_SLEEP_DISABLE +#define __ETHMACPTP_CLK_SLEEP_ENABLE __HAL_RCC_ETHMACPTP_CLK_SLEEP_ENABLE +#define __ETHMACPTP_CLK_SLEEP_DISABLE __HAL_RCC_ETHMACPTP_CLK_SLEEP_DISABLE +#define __ETHMACPTP_CLK_ENABLE __HAL_RCC_ETHMACPTP_CLK_ENABLE +#define __ETHMACPTP_CLK_DISABLE __HAL_RCC_ETHMACPTP_CLK_DISABLE +#define __HASH_CLK_ENABLE __HAL_RCC_HASH_CLK_ENABLE +#define __HASH_FORCE_RESET __HAL_RCC_HASH_FORCE_RESET +#define __HASH_RELEASE_RESET __HAL_RCC_HASH_RELEASE_RESET +#define __HASH_CLK_SLEEP_ENABLE __HAL_RCC_HASH_CLK_SLEEP_ENABLE +#define __HASH_CLK_SLEEP_DISABLE __HAL_RCC_HASH_CLK_SLEEP_DISABLE +#define __HASH_CLK_DISABLE __HAL_RCC_HASH_CLK_DISABLE +#define __SPI5_CLK_ENABLE __HAL_RCC_SPI5_CLK_ENABLE +#define __SPI5_CLK_DISABLE __HAL_RCC_SPI5_CLK_DISABLE +#define __SPI5_FORCE_RESET __HAL_RCC_SPI5_FORCE_RESET +#define __SPI5_RELEASE_RESET __HAL_RCC_SPI5_RELEASE_RESET +#define __SPI5_CLK_SLEEP_ENABLE __HAL_RCC_SPI5_CLK_SLEEP_ENABLE +#define __SPI5_CLK_SLEEP_DISABLE __HAL_RCC_SPI5_CLK_SLEEP_DISABLE +#define __SPI6_CLK_ENABLE __HAL_RCC_SPI6_CLK_ENABLE +#define __SPI6_CLK_DISABLE __HAL_RCC_SPI6_CLK_DISABLE +#define __SPI6_FORCE_RESET __HAL_RCC_SPI6_FORCE_RESET +#define __SPI6_RELEASE_RESET __HAL_RCC_SPI6_RELEASE_RESET +#define __SPI6_CLK_SLEEP_ENABLE __HAL_RCC_SPI6_CLK_SLEEP_ENABLE +#define __SPI6_CLK_SLEEP_DISABLE __HAL_RCC_SPI6_CLK_SLEEP_DISABLE +#define __LTDC_CLK_ENABLE __HAL_RCC_LTDC_CLK_ENABLE +#define __LTDC_CLK_DISABLE __HAL_RCC_LTDC_CLK_DISABLE +#define __LTDC_FORCE_RESET __HAL_RCC_LTDC_FORCE_RESET +#define __LTDC_RELEASE_RESET __HAL_RCC_LTDC_RELEASE_RESET +#define __LTDC_CLK_SLEEP_ENABLE __HAL_RCC_LTDC_CLK_SLEEP_ENABLE +#define __ETHMAC_CLK_SLEEP_ENABLE __HAL_RCC_ETHMAC_CLK_SLEEP_ENABLE +#define __ETHMAC_CLK_SLEEP_DISABLE __HAL_RCC_ETHMAC_CLK_SLEEP_DISABLE +#define __ETHMACTX_CLK_SLEEP_ENABLE __HAL_RCC_ETHMACTX_CLK_SLEEP_ENABLE +#define __ETHMACTX_CLK_SLEEP_DISABLE __HAL_RCC_ETHMACTX_CLK_SLEEP_DISABLE +#define __ETHMACRX_CLK_SLEEP_ENABLE __HAL_RCC_ETHMACRX_CLK_SLEEP_ENABLE +#define __ETHMACRX_CLK_SLEEP_DISABLE __HAL_RCC_ETHMACRX_CLK_SLEEP_DISABLE +#define __TIM12_CLK_SLEEP_ENABLE __HAL_RCC_TIM12_CLK_SLEEP_ENABLE +#define __TIM12_CLK_SLEEP_DISABLE __HAL_RCC_TIM12_CLK_SLEEP_DISABLE +#define __TIM13_CLK_SLEEP_ENABLE __HAL_RCC_TIM13_CLK_SLEEP_ENABLE +#define __TIM13_CLK_SLEEP_DISABLE __HAL_RCC_TIM13_CLK_SLEEP_DISABLE +#define __TIM14_CLK_SLEEP_ENABLE __HAL_RCC_TIM14_CLK_SLEEP_ENABLE +#define __TIM14_CLK_SLEEP_DISABLE __HAL_RCC_TIM14_CLK_SLEEP_DISABLE +#define __BKPSRAM_CLK_ENABLE __HAL_RCC_BKPSRAM_CLK_ENABLE +#define __BKPSRAM_CLK_DISABLE __HAL_RCC_BKPSRAM_CLK_DISABLE +#define __BKPSRAM_CLK_SLEEP_ENABLE __HAL_RCC_BKPSRAM_CLK_SLEEP_ENABLE +#define __BKPSRAM_CLK_SLEEP_DISABLE __HAL_RCC_BKPSRAM_CLK_SLEEP_DISABLE +#define __CCMDATARAMEN_CLK_ENABLE __HAL_RCC_CCMDATARAMEN_CLK_ENABLE +#define __CCMDATARAMEN_CLK_DISABLE __HAL_RCC_CCMDATARAMEN_CLK_DISABLE +#define __USART6_CLK_ENABLE __HAL_RCC_USART6_CLK_ENABLE +#define __USART6_CLK_DISABLE __HAL_RCC_USART6_CLK_DISABLE +#define __USART6_FORCE_RESET __HAL_RCC_USART6_FORCE_RESET +#define __USART6_RELEASE_RESET __HAL_RCC_USART6_RELEASE_RESET +#define __USART6_CLK_SLEEP_ENABLE __HAL_RCC_USART6_CLK_SLEEP_ENABLE +#define __USART6_CLK_SLEEP_DISABLE __HAL_RCC_USART6_CLK_SLEEP_DISABLE +#define __SPI4_CLK_ENABLE __HAL_RCC_SPI4_CLK_ENABLE +#define __SPI4_CLK_DISABLE __HAL_RCC_SPI4_CLK_DISABLE +#define __SPI4_FORCE_RESET __HAL_RCC_SPI4_FORCE_RESET +#define __SPI4_RELEASE_RESET __HAL_RCC_SPI4_RELEASE_RESET +#define __SPI4_CLK_SLEEP_ENABLE __HAL_RCC_SPI4_CLK_SLEEP_ENABLE +#define __SPI4_CLK_SLEEP_DISABLE __HAL_RCC_SPI4_CLK_SLEEP_DISABLE +#define __GPIOI_CLK_ENABLE __HAL_RCC_GPIOI_CLK_ENABLE +#define __GPIOI_CLK_DISABLE __HAL_RCC_GPIOI_CLK_DISABLE +#define __GPIOI_FORCE_RESET __HAL_RCC_GPIOI_FORCE_RESET +#define __GPIOI_RELEASE_RESET __HAL_RCC_GPIOI_RELEASE_RESET +#define __GPIOI_CLK_SLEEP_ENABLE __HAL_RCC_GPIOI_CLK_SLEEP_ENABLE +#define __GPIOI_CLK_SLEEP_DISABLE __HAL_RCC_GPIOI_CLK_SLEEP_DISABLE +#define __GPIOJ_CLK_ENABLE __HAL_RCC_GPIOJ_CLK_ENABLE +#define __GPIOJ_CLK_DISABLE __HAL_RCC_GPIOJ_CLK_DISABLE +#define __GPIOJ_FORCE_RESET __HAL_RCC_GPIOJ_FORCE_RESET +#define __GPIOJ_RELEASE_RESET __HAL_RCC_GPIOJ_RELEASE_RESET +#define __GPIOJ_CLK_SLEEP_ENABLE __HAL_RCC_GPIOJ_CLK_SLEEP_ENABLE +#define __GPIOJ_CLK_SLEEP_DISABLE __HAL_RCC_GPIOJ_CLK_SLEEP_DISABLE +#define __GPIOK_CLK_ENABLE __HAL_RCC_GPIOK_CLK_ENABLE +#define __GPIOK_CLK_DISABLE __HAL_RCC_GPIOK_CLK_DISABLE +#define __GPIOK_RELEASE_RESET __HAL_RCC_GPIOK_RELEASE_RESET +#define __GPIOK_CLK_SLEEP_ENABLE __HAL_RCC_GPIOK_CLK_SLEEP_ENABLE +#define __GPIOK_CLK_SLEEP_DISABLE __HAL_RCC_GPIOK_CLK_SLEEP_DISABLE +#define __ETH_CLK_ENABLE __HAL_RCC_ETH_CLK_ENABLE +#define __ETH_CLK_DISABLE __HAL_RCC_ETH_CLK_DISABLE +#define __DCMI_CLK_ENABLE __HAL_RCC_DCMI_CLK_ENABLE +#define __DCMI_CLK_DISABLE __HAL_RCC_DCMI_CLK_DISABLE +#define __DCMI_FORCE_RESET __HAL_RCC_DCMI_FORCE_RESET +#define __DCMI_RELEASE_RESET __HAL_RCC_DCMI_RELEASE_RESET +#define __DCMI_CLK_SLEEP_ENABLE __HAL_RCC_DCMI_CLK_SLEEP_ENABLE +#define __DCMI_CLK_SLEEP_DISABLE __HAL_RCC_DCMI_CLK_SLEEP_DISABLE +#define __UART7_CLK_ENABLE __HAL_RCC_UART7_CLK_ENABLE +#define __UART7_CLK_DISABLE __HAL_RCC_UART7_CLK_DISABLE +#define __UART7_RELEASE_RESET __HAL_RCC_UART7_RELEASE_RESET +#define __UART7_FORCE_RESET __HAL_RCC_UART7_FORCE_RESET +#define __UART7_CLK_SLEEP_ENABLE __HAL_RCC_UART7_CLK_SLEEP_ENABLE +#define __UART7_CLK_SLEEP_DISABLE __HAL_RCC_UART7_CLK_SLEEP_DISABLE +#define __UART8_CLK_ENABLE __HAL_RCC_UART8_CLK_ENABLE +#define __UART8_CLK_DISABLE __HAL_RCC_UART8_CLK_DISABLE +#define __UART8_FORCE_RESET __HAL_RCC_UART8_FORCE_RESET +#define __UART8_RELEASE_RESET __HAL_RCC_UART8_RELEASE_RESET +#define __UART8_CLK_SLEEP_ENABLE __HAL_RCC_UART8_CLK_SLEEP_ENABLE +#define __UART8_CLK_SLEEP_DISABLE __HAL_RCC_UART8_CLK_SLEEP_DISABLE +#define __OTGHS_CLK_SLEEP_ENABLE __HAL_RCC_USB_OTG_HS_CLK_SLEEP_ENABLE +#define __OTGHS_CLK_SLEEP_DISABLE __HAL_RCC_USB_OTG_HS_CLK_SLEEP_DISABLE +#define __OTGHS_FORCE_RESET __HAL_RCC_USB_OTG_HS_FORCE_RESET +#define __OTGHS_RELEASE_RESET __HAL_RCC_USB_OTG_HS_RELEASE_RESET +#define __OTGHSULPI_CLK_SLEEP_ENABLE __HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_ENABLE +#define __OTGHSULPI_CLK_SLEEP_DISABLE __HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_DISABLE +#define __HAL_RCC_OTGHS_CLK_SLEEP_ENABLE __HAL_RCC_USB_OTG_HS_CLK_SLEEP_ENABLE +#define __HAL_RCC_OTGHS_CLK_SLEEP_DISABLE __HAL_RCC_USB_OTG_HS_CLK_SLEEP_DISABLE +#define __HAL_RCC_OTGHS_IS_CLK_SLEEP_ENABLED __HAL_RCC_USB_OTG_HS_IS_CLK_SLEEP_ENABLED +#define __HAL_RCC_OTGHS_IS_CLK_SLEEP_DISABLED __HAL_RCC_USB_OTG_HS_IS_CLK_SLEEP_DISABLED +#define __HAL_RCC_OTGHS_FORCE_RESET __HAL_RCC_USB_OTG_HS_FORCE_RESET +#define __HAL_RCC_OTGHS_RELEASE_RESET __HAL_RCC_USB_OTG_HS_RELEASE_RESET +#define __HAL_RCC_OTGHSULPI_CLK_SLEEP_ENABLE __HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_ENABLE +#define __HAL_RCC_OTGHSULPI_CLK_SLEEP_DISABLE __HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_DISABLE +#define __HAL_RCC_OTGHSULPI_IS_CLK_SLEEP_ENABLED __HAL_RCC_USB_OTG_HS_ULPI_IS_CLK_SLEEP_ENABLED +#define __HAL_RCC_OTGHSULPI_IS_CLK_SLEEP_DISABLED __HAL_RCC_USB_OTG_HS_ULPI_IS_CLK_SLEEP_DISABLED +#define __CRYP_FORCE_RESET __HAL_RCC_CRYP_FORCE_RESET +#define __SRAM3_CLK_SLEEP_ENABLE __HAL_RCC_SRAM3_CLK_SLEEP_ENABLE +#define __CAN2_CLK_SLEEP_ENABLE __HAL_RCC_CAN2_CLK_SLEEP_ENABLE +#define __CAN2_CLK_SLEEP_DISABLE __HAL_RCC_CAN2_CLK_SLEEP_DISABLE +#define __DAC_CLK_SLEEP_ENABLE __HAL_RCC_DAC_CLK_SLEEP_ENABLE +#define __DAC_CLK_SLEEP_DISABLE __HAL_RCC_DAC_CLK_SLEEP_DISABLE +#define __ADC2_CLK_SLEEP_ENABLE __HAL_RCC_ADC2_CLK_SLEEP_ENABLE +#define __ADC2_CLK_SLEEP_DISABLE __HAL_RCC_ADC2_CLK_SLEEP_DISABLE +#define __ADC3_CLK_SLEEP_ENABLE __HAL_RCC_ADC3_CLK_SLEEP_ENABLE +#define __ADC3_CLK_SLEEP_DISABLE __HAL_RCC_ADC3_CLK_SLEEP_DISABLE +#define __FSMC_FORCE_RESET __HAL_RCC_FSMC_FORCE_RESET +#define __FSMC_RELEASE_RESET __HAL_RCC_FSMC_RELEASE_RESET +#define __FSMC_CLK_SLEEP_ENABLE __HAL_RCC_FSMC_CLK_SLEEP_ENABLE +#define __FSMC_CLK_SLEEP_DISABLE __HAL_RCC_FSMC_CLK_SLEEP_DISABLE +#define __SDIO_FORCE_RESET __HAL_RCC_SDIO_FORCE_RESET +#define __SDIO_RELEASE_RESET __HAL_RCC_SDIO_RELEASE_RESET +#define __SDIO_CLK_SLEEP_DISABLE __HAL_RCC_SDIO_CLK_SLEEP_DISABLE +#define __SDIO_CLK_SLEEP_ENABLE __HAL_RCC_SDIO_CLK_SLEEP_ENABLE +#define __DMA2D_CLK_ENABLE __HAL_RCC_DMA2D_CLK_ENABLE +#define __DMA2D_CLK_DISABLE __HAL_RCC_DMA2D_CLK_DISABLE +#define __DMA2D_FORCE_RESET __HAL_RCC_DMA2D_FORCE_RESET +#define __DMA2D_RELEASE_RESET __HAL_RCC_DMA2D_RELEASE_RESET +#define __DMA2D_CLK_SLEEP_ENABLE __HAL_RCC_DMA2D_CLK_SLEEP_ENABLE +#define __DMA2D_CLK_SLEEP_DISABLE __HAL_RCC_DMA2D_CLK_SLEEP_DISABLE + +/* alias define maintained for legacy */ +#define __HAL_RCC_OTGFS_FORCE_RESET __HAL_RCC_USB_OTG_FS_FORCE_RESET +#define __HAL_RCC_OTGFS_RELEASE_RESET __HAL_RCC_USB_OTG_FS_RELEASE_RESET + +#define __ADC12_CLK_ENABLE __HAL_RCC_ADC12_CLK_ENABLE +#define __ADC12_CLK_DISABLE __HAL_RCC_ADC12_CLK_DISABLE +#define __ADC34_CLK_ENABLE __HAL_RCC_ADC34_CLK_ENABLE +#define __ADC34_CLK_DISABLE __HAL_RCC_ADC34_CLK_DISABLE +#define __ADC12_CLK_ENABLE __HAL_RCC_ADC12_CLK_ENABLE +#define __ADC12_CLK_DISABLE __HAL_RCC_ADC12_CLK_DISABLE +#define __DAC2_CLK_ENABLE __HAL_RCC_DAC2_CLK_ENABLE +#define __DAC2_CLK_DISABLE __HAL_RCC_DAC2_CLK_DISABLE +#define __TIM18_CLK_ENABLE __HAL_RCC_TIM18_CLK_ENABLE +#define __TIM18_CLK_DISABLE __HAL_RCC_TIM18_CLK_DISABLE +#define __TIM19_CLK_ENABLE __HAL_RCC_TIM19_CLK_ENABLE +#define __TIM19_CLK_DISABLE __HAL_RCC_TIM19_CLK_DISABLE +#define __TIM20_CLK_ENABLE __HAL_RCC_TIM20_CLK_ENABLE +#define __TIM20_CLK_DISABLE __HAL_RCC_TIM20_CLK_DISABLE +#define __HRTIM1_CLK_ENABLE __HAL_RCC_HRTIM1_CLK_ENABLE +#define __HRTIM1_CLK_DISABLE __HAL_RCC_HRTIM1_CLK_DISABLE +#define __SDADC1_CLK_ENABLE __HAL_RCC_SDADC1_CLK_ENABLE +#define __SDADC2_CLK_ENABLE __HAL_RCC_SDADC2_CLK_ENABLE +#define __SDADC3_CLK_ENABLE __HAL_RCC_SDADC3_CLK_ENABLE +#define __SDADC1_CLK_DISABLE __HAL_RCC_SDADC1_CLK_DISABLE +#define __SDADC2_CLK_DISABLE __HAL_RCC_SDADC2_CLK_DISABLE +#define __SDADC3_CLK_DISABLE __HAL_RCC_SDADC3_CLK_DISABLE + +#define __ADC12_FORCE_RESET __HAL_RCC_ADC12_FORCE_RESET +#define __ADC12_RELEASE_RESET __HAL_RCC_ADC12_RELEASE_RESET +#define __ADC34_FORCE_RESET __HAL_RCC_ADC34_FORCE_RESET +#define __ADC34_RELEASE_RESET __HAL_RCC_ADC34_RELEASE_RESET +#define __ADC12_FORCE_RESET __HAL_RCC_ADC12_FORCE_RESET +#define __ADC12_RELEASE_RESET __HAL_RCC_ADC12_RELEASE_RESET +#define __DAC2_FORCE_RESET __HAL_RCC_DAC2_FORCE_RESET +#define __DAC2_RELEASE_RESET __HAL_RCC_DAC2_RELEASE_RESET +#define __TIM18_FORCE_RESET __HAL_RCC_TIM18_FORCE_RESET +#define __TIM18_RELEASE_RESET __HAL_RCC_TIM18_RELEASE_RESET +#define __TIM19_FORCE_RESET __HAL_RCC_TIM19_FORCE_RESET +#define __TIM19_RELEASE_RESET __HAL_RCC_TIM19_RELEASE_RESET +#define __TIM20_FORCE_RESET __HAL_RCC_TIM20_FORCE_RESET +#define __TIM20_RELEASE_RESET __HAL_RCC_TIM20_RELEASE_RESET +#define __HRTIM1_FORCE_RESET __HAL_RCC_HRTIM1_FORCE_RESET +#define __HRTIM1_RELEASE_RESET __HAL_RCC_HRTIM1_RELEASE_RESET +#define __SDADC1_FORCE_RESET __HAL_RCC_SDADC1_FORCE_RESET +#define __SDADC2_FORCE_RESET __HAL_RCC_SDADC2_FORCE_RESET +#define __SDADC3_FORCE_RESET __HAL_RCC_SDADC3_FORCE_RESET +#define __SDADC1_RELEASE_RESET __HAL_RCC_SDADC1_RELEASE_RESET +#define __SDADC2_RELEASE_RESET __HAL_RCC_SDADC2_RELEASE_RESET +#define __SDADC3_RELEASE_RESET __HAL_RCC_SDADC3_RELEASE_RESET + +#define __ADC1_IS_CLK_ENABLED __HAL_RCC_ADC1_IS_CLK_ENABLED +#define __ADC1_IS_CLK_DISABLED __HAL_RCC_ADC1_IS_CLK_DISABLED +#define __ADC12_IS_CLK_ENABLED __HAL_RCC_ADC12_IS_CLK_ENABLED +#define __ADC12_IS_CLK_DISABLED __HAL_RCC_ADC12_IS_CLK_DISABLED +#define __ADC34_IS_CLK_ENABLED __HAL_RCC_ADC34_IS_CLK_ENABLED +#define __ADC34_IS_CLK_DISABLED __HAL_RCC_ADC34_IS_CLK_DISABLED +#define __CEC_IS_CLK_ENABLED __HAL_RCC_CEC_IS_CLK_ENABLED +#define __CEC_IS_CLK_DISABLED __HAL_RCC_CEC_IS_CLK_DISABLED +#define __CRC_IS_CLK_ENABLED __HAL_RCC_CRC_IS_CLK_ENABLED +#define __CRC_IS_CLK_DISABLED __HAL_RCC_CRC_IS_CLK_DISABLED +#define __DAC1_IS_CLK_ENABLED __HAL_RCC_DAC1_IS_CLK_ENABLED +#define __DAC1_IS_CLK_DISABLED __HAL_RCC_DAC1_IS_CLK_DISABLED +#define __DAC2_IS_CLK_ENABLED __HAL_RCC_DAC2_IS_CLK_ENABLED +#define __DAC2_IS_CLK_DISABLED __HAL_RCC_DAC2_IS_CLK_DISABLED +#define __DMA1_IS_CLK_ENABLED __HAL_RCC_DMA1_IS_CLK_ENABLED +#define __DMA1_IS_CLK_DISABLED __HAL_RCC_DMA1_IS_CLK_DISABLED +#define __DMA2_IS_CLK_ENABLED __HAL_RCC_DMA2_IS_CLK_ENABLED +#define __DMA2_IS_CLK_DISABLED __HAL_RCC_DMA2_IS_CLK_DISABLED +#define __FLITF_IS_CLK_ENABLED __HAL_RCC_FLITF_IS_CLK_ENABLED +#define __FLITF_IS_CLK_DISABLED __HAL_RCC_FLITF_IS_CLK_DISABLED +#define __FMC_IS_CLK_ENABLED __HAL_RCC_FMC_IS_CLK_ENABLED +#define __FMC_IS_CLK_DISABLED __HAL_RCC_FMC_IS_CLK_DISABLED +#define __GPIOA_IS_CLK_ENABLED __HAL_RCC_GPIOA_IS_CLK_ENABLED +#define __GPIOA_IS_CLK_DISABLED __HAL_RCC_GPIOA_IS_CLK_DISABLED +#define __GPIOB_IS_CLK_ENABLED __HAL_RCC_GPIOB_IS_CLK_ENABLED +#define __GPIOB_IS_CLK_DISABLED __HAL_RCC_GPIOB_IS_CLK_DISABLED +#define __GPIOC_IS_CLK_ENABLED __HAL_RCC_GPIOC_IS_CLK_ENABLED +#define __GPIOC_IS_CLK_DISABLED __HAL_RCC_GPIOC_IS_CLK_DISABLED +#define __GPIOD_IS_CLK_ENABLED __HAL_RCC_GPIOD_IS_CLK_ENABLED +#define __GPIOD_IS_CLK_DISABLED __HAL_RCC_GPIOD_IS_CLK_DISABLED +#define __GPIOE_IS_CLK_ENABLED __HAL_RCC_GPIOE_IS_CLK_ENABLED +#define __GPIOE_IS_CLK_DISABLED __HAL_RCC_GPIOE_IS_CLK_DISABLED +#define __GPIOF_IS_CLK_ENABLED __HAL_RCC_GPIOF_IS_CLK_ENABLED +#define __GPIOF_IS_CLK_DISABLED __HAL_RCC_GPIOF_IS_CLK_DISABLED +#define __GPIOG_IS_CLK_ENABLED __HAL_RCC_GPIOG_IS_CLK_ENABLED +#define __GPIOG_IS_CLK_DISABLED __HAL_RCC_GPIOG_IS_CLK_DISABLED +#define __GPIOH_IS_CLK_ENABLED __HAL_RCC_GPIOH_IS_CLK_ENABLED +#define __GPIOH_IS_CLK_DISABLED __HAL_RCC_GPIOH_IS_CLK_DISABLED +#define __HRTIM1_IS_CLK_ENABLED __HAL_RCC_HRTIM1_IS_CLK_ENABLED +#define __HRTIM1_IS_CLK_DISABLED __HAL_RCC_HRTIM1_IS_CLK_DISABLED +#define __I2C1_IS_CLK_ENABLED __HAL_RCC_I2C1_IS_CLK_ENABLED +#define __I2C1_IS_CLK_DISABLED __HAL_RCC_I2C1_IS_CLK_DISABLED +#define __I2C2_IS_CLK_ENABLED __HAL_RCC_I2C2_IS_CLK_ENABLED +#define __I2C2_IS_CLK_DISABLED __HAL_RCC_I2C2_IS_CLK_DISABLED +#define __I2C3_IS_CLK_ENABLED __HAL_RCC_I2C3_IS_CLK_ENABLED +#define __I2C3_IS_CLK_DISABLED __HAL_RCC_I2C3_IS_CLK_DISABLED +#define __PWR_IS_CLK_ENABLED __HAL_RCC_PWR_IS_CLK_ENABLED +#define __PWR_IS_CLK_DISABLED __HAL_RCC_PWR_IS_CLK_DISABLED +#define __SYSCFG_IS_CLK_ENABLED __HAL_RCC_SYSCFG_IS_CLK_ENABLED +#define __SYSCFG_IS_CLK_DISABLED __HAL_RCC_SYSCFG_IS_CLK_DISABLED +#define __SPI1_IS_CLK_ENABLED __HAL_RCC_SPI1_IS_CLK_ENABLED +#define __SPI1_IS_CLK_DISABLED __HAL_RCC_SPI1_IS_CLK_DISABLED +#define __SPI2_IS_CLK_ENABLED __HAL_RCC_SPI2_IS_CLK_ENABLED +#define __SPI2_IS_CLK_DISABLED __HAL_RCC_SPI2_IS_CLK_DISABLED +#define __SPI3_IS_CLK_ENABLED __HAL_RCC_SPI3_IS_CLK_ENABLED +#define __SPI3_IS_CLK_DISABLED __HAL_RCC_SPI3_IS_CLK_DISABLED +#define __SPI4_IS_CLK_ENABLED __HAL_RCC_SPI4_IS_CLK_ENABLED +#define __SPI4_IS_CLK_DISABLED __HAL_RCC_SPI4_IS_CLK_DISABLED +#define __SDADC1_IS_CLK_ENABLED __HAL_RCC_SDADC1_IS_CLK_ENABLED +#define __SDADC1_IS_CLK_DISABLED __HAL_RCC_SDADC1_IS_CLK_DISABLED +#define __SDADC2_IS_CLK_ENABLED __HAL_RCC_SDADC2_IS_CLK_ENABLED +#define __SDADC2_IS_CLK_DISABLED __HAL_RCC_SDADC2_IS_CLK_DISABLED +#define __SDADC3_IS_CLK_ENABLED __HAL_RCC_SDADC3_IS_CLK_ENABLED +#define __SDADC3_IS_CLK_DISABLED __HAL_RCC_SDADC3_IS_CLK_DISABLED +#define __SRAM_IS_CLK_ENABLED __HAL_RCC_SRAM_IS_CLK_ENABLED +#define __SRAM_IS_CLK_DISABLED __HAL_RCC_SRAM_IS_CLK_DISABLED +#define __TIM1_IS_CLK_ENABLED __HAL_RCC_TIM1_IS_CLK_ENABLED +#define __TIM1_IS_CLK_DISABLED __HAL_RCC_TIM1_IS_CLK_DISABLED +#define __TIM2_IS_CLK_ENABLED __HAL_RCC_TIM2_IS_CLK_ENABLED +#define __TIM2_IS_CLK_DISABLED __HAL_RCC_TIM2_IS_CLK_DISABLED +#define __TIM3_IS_CLK_ENABLED __HAL_RCC_TIM3_IS_CLK_ENABLED +#define __TIM3_IS_CLK_DISABLED __HAL_RCC_TIM3_IS_CLK_DISABLED +#define __TIM4_IS_CLK_ENABLED __HAL_RCC_TIM4_IS_CLK_ENABLED +#define __TIM4_IS_CLK_DISABLED __HAL_RCC_TIM4_IS_CLK_DISABLED +#define __TIM5_IS_CLK_ENABLED __HAL_RCC_TIM5_IS_CLK_ENABLED +#define __TIM5_IS_CLK_DISABLED __HAL_RCC_TIM5_IS_CLK_DISABLED +#define __TIM6_IS_CLK_ENABLED __HAL_RCC_TIM6_IS_CLK_ENABLED +#define __TIM6_IS_CLK_DISABLED __HAL_RCC_TIM6_IS_CLK_DISABLED +#define __TIM7_IS_CLK_ENABLED __HAL_RCC_TIM7_IS_CLK_ENABLED +#define __TIM7_IS_CLK_DISABLED __HAL_RCC_TIM7_IS_CLK_DISABLED +#define __TIM8_IS_CLK_ENABLED __HAL_RCC_TIM8_IS_CLK_ENABLED +#define __TIM8_IS_CLK_DISABLED __HAL_RCC_TIM8_IS_CLK_DISABLED +#define __TIM12_IS_CLK_ENABLED __HAL_RCC_TIM12_IS_CLK_ENABLED +#define __TIM12_IS_CLK_DISABLED __HAL_RCC_TIM12_IS_CLK_DISABLED +#define __TIM13_IS_CLK_ENABLED __HAL_RCC_TIM13_IS_CLK_ENABLED +#define __TIM13_IS_CLK_DISABLED __HAL_RCC_TIM13_IS_CLK_DISABLED +#define __TIM14_IS_CLK_ENABLED __HAL_RCC_TIM14_IS_CLK_ENABLED +#define __TIM14_IS_CLK_DISABLED __HAL_RCC_TIM14_IS_CLK_DISABLED +#define __TIM15_IS_CLK_ENABLED __HAL_RCC_TIM15_IS_CLK_ENABLED +#define __TIM15_IS_CLK_DISABLED __HAL_RCC_TIM15_IS_CLK_DISABLED +#define __TIM16_IS_CLK_ENABLED __HAL_RCC_TIM16_IS_CLK_ENABLED +#define __TIM16_IS_CLK_DISABLED __HAL_RCC_TIM16_IS_CLK_DISABLED +#define __TIM17_IS_CLK_ENABLED __HAL_RCC_TIM17_IS_CLK_ENABLED +#define __TIM17_IS_CLK_DISABLED __HAL_RCC_TIM17_IS_CLK_DISABLED +#define __TIM18_IS_CLK_ENABLED __HAL_RCC_TIM18_IS_CLK_ENABLED +#define __TIM18_IS_CLK_DISABLED __HAL_RCC_TIM18_IS_CLK_DISABLED +#define __TIM19_IS_CLK_ENABLED __HAL_RCC_TIM19_IS_CLK_ENABLED +#define __TIM19_IS_CLK_DISABLED __HAL_RCC_TIM19_IS_CLK_DISABLED +#define __TIM20_IS_CLK_ENABLED __HAL_RCC_TIM20_IS_CLK_ENABLED +#define __TIM20_IS_CLK_DISABLED __HAL_RCC_TIM20_IS_CLK_DISABLED +#define __TSC_IS_CLK_ENABLED __HAL_RCC_TSC_IS_CLK_ENABLED +#define __TSC_IS_CLK_DISABLED __HAL_RCC_TSC_IS_CLK_DISABLED +#define __UART4_IS_CLK_ENABLED __HAL_RCC_UART4_IS_CLK_ENABLED +#define __UART4_IS_CLK_DISABLED __HAL_RCC_UART4_IS_CLK_DISABLED +#define __UART5_IS_CLK_ENABLED __HAL_RCC_UART5_IS_CLK_ENABLED +#define __UART5_IS_CLK_DISABLED __HAL_RCC_UART5_IS_CLK_DISABLED +#define __USART1_IS_CLK_ENABLED __HAL_RCC_USART1_IS_CLK_ENABLED +#define __USART1_IS_CLK_DISABLED __HAL_RCC_USART1_IS_CLK_DISABLED +#define __USART2_IS_CLK_ENABLED __HAL_RCC_USART2_IS_CLK_ENABLED +#define __USART2_IS_CLK_DISABLED __HAL_RCC_USART2_IS_CLK_DISABLED +#define __USART3_IS_CLK_ENABLED __HAL_RCC_USART3_IS_CLK_ENABLED +#define __USART3_IS_CLK_DISABLED __HAL_RCC_USART3_IS_CLK_DISABLED +#define __USB_IS_CLK_ENABLED __HAL_RCC_USB_IS_CLK_ENABLED +#define __USB_IS_CLK_DISABLED __HAL_RCC_USB_IS_CLK_DISABLED +#define __WWDG_IS_CLK_ENABLED __HAL_RCC_WWDG_IS_CLK_ENABLED +#define __WWDG_IS_CLK_DISABLED __HAL_RCC_WWDG_IS_CLK_DISABLED + +#if defined(STM32F4) +#define __HAL_RCC_SDMMC1_FORCE_RESET __HAL_RCC_SDIO_FORCE_RESET +#define __HAL_RCC_SDMMC1_RELEASE_RESET __HAL_RCC_SDIO_RELEASE_RESET +#define __HAL_RCC_SDMMC1_CLK_SLEEP_ENABLE __HAL_RCC_SDIO_CLK_SLEEP_ENABLE +#define __HAL_RCC_SDMMC1_CLK_SLEEP_DISABLE __HAL_RCC_SDIO_CLK_SLEEP_DISABLE +#define __HAL_RCC_SDMMC1_CLK_ENABLE __HAL_RCC_SDIO_CLK_ENABLE +#define __HAL_RCC_SDMMC1_CLK_DISABLE __HAL_RCC_SDIO_CLK_DISABLE +#define __HAL_RCC_SDMMC1_IS_CLK_ENABLED __HAL_RCC_SDIO_IS_CLK_ENABLED +#define __HAL_RCC_SDMMC1_IS_CLK_DISABLED __HAL_RCC_SDIO_IS_CLK_DISABLED +#define Sdmmc1ClockSelection SdioClockSelection +#define RCC_PERIPHCLK_SDMMC1 RCC_PERIPHCLK_SDIO +#define RCC_SDMMC1CLKSOURCE_CLK48 RCC_SDIOCLKSOURCE_CK48 +#define RCC_SDMMC1CLKSOURCE_SYSCLK RCC_SDIOCLKSOURCE_SYSCLK +#define __HAL_RCC_SDMMC1_CONFIG __HAL_RCC_SDIO_CONFIG +#define __HAL_RCC_GET_SDMMC1_SOURCE __HAL_RCC_GET_SDIO_SOURCE +#endif + +#if defined(STM32F7) || defined(STM32L4) +#define __HAL_RCC_SDIO_FORCE_RESET __HAL_RCC_SDMMC1_FORCE_RESET +#define __HAL_RCC_SDIO_RELEASE_RESET __HAL_RCC_SDMMC1_RELEASE_RESET +#define __HAL_RCC_SDIO_CLK_SLEEP_ENABLE __HAL_RCC_SDMMC1_CLK_SLEEP_ENABLE +#define __HAL_RCC_SDIO_CLK_SLEEP_DISABLE __HAL_RCC_SDMMC1_CLK_SLEEP_DISABLE +#define __HAL_RCC_SDIO_CLK_ENABLE __HAL_RCC_SDMMC1_CLK_ENABLE +#define __HAL_RCC_SDIO_CLK_DISABLE __HAL_RCC_SDMMC1_CLK_DISABLE +#define __HAL_RCC_SDIO_IS_CLK_ENABLED __HAL_RCC_SDMMC1_IS_CLK_ENABLED +#define __HAL_RCC_SDIO_IS_CLK_DISABLED __HAL_RCC_SDMMC1_IS_CLK_DISABLED +#define SdioClockSelection Sdmmc1ClockSelection +#define RCC_PERIPHCLK_SDIO RCC_PERIPHCLK_SDMMC1 +#define __HAL_RCC_SDIO_CONFIG __HAL_RCC_SDMMC1_CONFIG +#define __HAL_RCC_GET_SDIO_SOURCE __HAL_RCC_GET_SDMMC1_SOURCE +#endif + +#if defined(STM32H7) +#define __HAL_RCC_USB_OTG_HS_CLK_ENABLE() __HAL_RCC_USB1_OTG_HS_CLK_ENABLE() +#define __HAL_RCC_USB_OTG_HS_ULPI_CLK_ENABLE() __HAL_RCC_USB1_OTG_HS_ULPI_CLK_ENABLE() +#define __HAL_RCC_USB_OTG_HS_CLK_DISABLE() __HAL_RCC_USB1_OTG_HS_CLK_DISABLE() +#define __HAL_RCC_USB_OTG_HS_ULPI_CLK_DISABLE() __HAL_RCC_USB1_OTG_HS_ULPI_CLK_DISABLE() +#define __HAL_RCC_USB_OTG_HS_FORCE_RESET() __HAL_RCC_USB1_OTG_HS_FORCE_RESET() +#define __HAL_RCC_USB_OTG_HS_RELEASE_RESET() __HAL_RCC_USB1_OTG_HS_RELEASE_RESET() +#define __HAL_RCC_USB_OTG_HS_CLK_SLEEP_ENABLE() __HAL_RCC_USB1_OTG_HS_CLK_SLEEP_ENABLE() +#define __HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_ENABLE() __HAL_RCC_USB1_OTG_HS_ULPI_CLK_SLEEP_ENABLE() +#define __HAL_RCC_USB_OTG_HS_CLK_SLEEP_DISABLE() __HAL_RCC_USB1_OTG_HS_CLK_SLEEP_DISABLE() +#define __HAL_RCC_USB_OTG_HS_ULPI_CLK_SLEEP_DISABLE() __HAL_RCC_USB1_OTG_HS_ULPI_CLK_SLEEP_DISABLE() + +#define __HAL_RCC_USB_OTG_FS_CLK_ENABLE() __HAL_RCC_USB2_OTG_FS_CLK_ENABLE() +#define __HAL_RCC_USB_OTG_FS_ULPI_CLK_ENABLE() __HAL_RCC_USB2_OTG_FS_ULPI_CLK_ENABLE() +#define __HAL_RCC_USB_OTG_FS_CLK_DISABLE() __HAL_RCC_USB2_OTG_FS_CLK_DISABLE() +#define __HAL_RCC_USB_OTG_FS_ULPI_CLK_DISABLE() __HAL_RCC_USB2_OTG_FS_ULPI_CLK_DISABLE() +#define __HAL_RCC_USB_OTG_FS_FORCE_RESET() __HAL_RCC_USB2_OTG_FS_FORCE_RESET() +#define __HAL_RCC_USB_OTG_FS_RELEASE_RESET() __HAL_RCC_USB2_OTG_FS_RELEASE_RESET() +#define __HAL_RCC_USB_OTG_FS_CLK_SLEEP_ENABLE() __HAL_RCC_USB2_OTG_FS_CLK_SLEEP_ENABLE() +#define __HAL_RCC_USB_OTG_FS_ULPI_CLK_SLEEP_ENABLE() __HAL_RCC_USB2_OTG_FS_ULPI_CLK_SLEEP_ENABLE() +#define __HAL_RCC_USB_OTG_FS_CLK_SLEEP_DISABLE() __HAL_RCC_USB2_OTG_FS_CLK_SLEEP_DISABLE() +#define __HAL_RCC_USB_OTG_FS_ULPI_CLK_SLEEP_DISABLE() __HAL_RCC_USB2_OTG_FS_ULPI_CLK_SLEEP_DISABLE() +#endif + +#if defined(STM32F7) +#define RCC_SDIOCLKSOURCE_CLK48 RCC_SDMMC1CLKSOURCE_CLK48 +#define RCC_SDIOCLKSOURCE_SYSCLK RCC_SDMMC1CLKSOURCE_SYSCLK +#endif + +#define __HAL_RCC_I2SCLK __HAL_RCC_I2S_CONFIG +#define __HAL_RCC_I2SCLK_CONFIG __HAL_RCC_I2S_CONFIG + +#define __RCC_PLLSRC RCC_GET_PLL_OSCSOURCE + +#define IS_RCC_MSIRANGE IS_RCC_MSI_CLOCK_RANGE +#define IS_RCC_RTCCLK_SOURCE IS_RCC_RTCCLKSOURCE +#define IS_RCC_SYSCLK_DIV IS_RCC_HCLK +#define IS_RCC_HCLK_DIV IS_RCC_PCLK +#define IS_RCC_PERIPHCLK IS_RCC_PERIPHCLOCK + +#define RCC_IT_HSI14 RCC_IT_HSI14RDY + +#define RCC_IT_CSSLSE RCC_IT_LSECSS +#define RCC_IT_CSSHSE RCC_IT_CSS + +#define RCC_PLLMUL_3 RCC_PLL_MUL3 +#define RCC_PLLMUL_4 RCC_PLL_MUL4 +#define RCC_PLLMUL_6 RCC_PLL_MUL6 +#define RCC_PLLMUL_8 RCC_PLL_MUL8 +#define RCC_PLLMUL_12 RCC_PLL_MUL12 +#define RCC_PLLMUL_16 RCC_PLL_MUL16 +#define RCC_PLLMUL_24 RCC_PLL_MUL24 +#define RCC_PLLMUL_32 RCC_PLL_MUL32 +#define RCC_PLLMUL_48 RCC_PLL_MUL48 + +#define RCC_PLLDIV_2 RCC_PLL_DIV2 +#define RCC_PLLDIV_3 RCC_PLL_DIV3 +#define RCC_PLLDIV_4 RCC_PLL_DIV4 + +#define IS_RCC_MCOSOURCE IS_RCC_MCO1SOURCE +#define __HAL_RCC_MCO_CONFIG __HAL_RCC_MCO1_CONFIG +#define RCC_MCO_NODIV RCC_MCODIV_1 +#define RCC_MCO_DIV1 RCC_MCODIV_1 +#define RCC_MCO_DIV2 RCC_MCODIV_2 +#define RCC_MCO_DIV4 RCC_MCODIV_4 +#define RCC_MCO_DIV8 RCC_MCODIV_8 +#define RCC_MCO_DIV16 RCC_MCODIV_16 +#define RCC_MCO_DIV32 RCC_MCODIV_32 +#define RCC_MCO_DIV64 RCC_MCODIV_64 +#define RCC_MCO_DIV128 RCC_MCODIV_128 +#define RCC_MCOSOURCE_NONE RCC_MCO1SOURCE_NOCLOCK +#define RCC_MCOSOURCE_LSI RCC_MCO1SOURCE_LSI +#define RCC_MCOSOURCE_LSE RCC_MCO1SOURCE_LSE +#define RCC_MCOSOURCE_SYSCLK RCC_MCO1SOURCE_SYSCLK +#define RCC_MCOSOURCE_HSI RCC_MCO1SOURCE_HSI +#define RCC_MCOSOURCE_HSI14 RCC_MCO1SOURCE_HSI14 +#define RCC_MCOSOURCE_HSI48 RCC_MCO1SOURCE_HSI48 +#define RCC_MCOSOURCE_HSE RCC_MCO1SOURCE_HSE +#define RCC_MCOSOURCE_PLLCLK_DIV1 RCC_MCO1SOURCE_PLLCLK +#define RCC_MCOSOURCE_PLLCLK_NODIV RCC_MCO1SOURCE_PLLCLK +#define RCC_MCOSOURCE_PLLCLK_DIV2 RCC_MCO1SOURCE_PLLCLK_DIV2 + +#define RCC_RTCCLKSOURCE_NONE RCC_RTCCLKSOURCE_NO_CLK + +#define RCC_USBCLK_PLLSAI1 RCC_USBCLKSOURCE_PLLSAI1 +#define RCC_USBCLK_PLL RCC_USBCLKSOURCE_PLL +#define RCC_USBCLK_MSI RCC_USBCLKSOURCE_MSI +#define RCC_USBCLKSOURCE_PLLCLK RCC_USBCLKSOURCE_PLL +#define RCC_USBPLLCLK_DIV1 RCC_USBCLKSOURCE_PLL +#define RCC_USBPLLCLK_DIV1_5 RCC_USBCLKSOURCE_PLL_DIV1_5 +#define RCC_USBPLLCLK_DIV2 RCC_USBCLKSOURCE_PLL_DIV2 +#define RCC_USBPLLCLK_DIV3 RCC_USBCLKSOURCE_PLL_DIV3 + +#define HSION_BitNumber RCC_HSION_BIT_NUMBER +#define HSION_BITNUMBER RCC_HSION_BIT_NUMBER +#define HSEON_BitNumber RCC_HSEON_BIT_NUMBER +#define HSEON_BITNUMBER RCC_HSEON_BIT_NUMBER +#define MSION_BITNUMBER RCC_MSION_BIT_NUMBER +#define CSSON_BitNumber RCC_CSSON_BIT_NUMBER +#define CSSON_BITNUMBER RCC_CSSON_BIT_NUMBER +#define PLLON_BitNumber RCC_PLLON_BIT_NUMBER +#define PLLON_BITNUMBER RCC_PLLON_BIT_NUMBER +#define PLLI2SON_BitNumber RCC_PLLI2SON_BIT_NUMBER +#define I2SSRC_BitNumber RCC_I2SSRC_BIT_NUMBER +#define RTCEN_BitNumber RCC_RTCEN_BIT_NUMBER +#define RTCEN_BITNUMBER RCC_RTCEN_BIT_NUMBER +#define BDRST_BitNumber RCC_BDRST_BIT_NUMBER +#define BDRST_BITNUMBER RCC_BDRST_BIT_NUMBER +#define RTCRST_BITNUMBER RCC_RTCRST_BIT_NUMBER +#define LSION_BitNumber RCC_LSION_BIT_NUMBER +#define LSION_BITNUMBER RCC_LSION_BIT_NUMBER +#define LSEON_BitNumber RCC_LSEON_BIT_NUMBER +#define LSEON_BITNUMBER RCC_LSEON_BIT_NUMBER +#define LSEBYP_BITNUMBER RCC_LSEBYP_BIT_NUMBER +#define PLLSAION_BitNumber RCC_PLLSAION_BIT_NUMBER +#define TIMPRE_BitNumber RCC_TIMPRE_BIT_NUMBER +#define RMVF_BitNumber RCC_RMVF_BIT_NUMBER +#define RMVF_BITNUMBER RCC_RMVF_BIT_NUMBER +#define RCC_CR2_HSI14TRIM_BitNumber RCC_HSI14TRIM_BIT_NUMBER +#define CR_BYTE2_ADDRESS RCC_CR_BYTE2_ADDRESS +#define CIR_BYTE1_ADDRESS RCC_CIR_BYTE1_ADDRESS +#define CIR_BYTE2_ADDRESS RCC_CIR_BYTE2_ADDRESS +#define BDCR_BYTE0_ADDRESS RCC_BDCR_BYTE0_ADDRESS +#define DBP_TIMEOUT_VALUE RCC_DBP_TIMEOUT_VALUE +#define LSE_TIMEOUT_VALUE RCC_LSE_TIMEOUT_VALUE + +#define CR_HSION_BB RCC_CR_HSION_BB +#define CR_CSSON_BB RCC_CR_CSSON_BB +#define CR_PLLON_BB RCC_CR_PLLON_BB +#define CR_PLLI2SON_BB RCC_CR_PLLI2SON_BB +#define CR_MSION_BB RCC_CR_MSION_BB +#define CSR_LSION_BB RCC_CSR_LSION_BB +#define CSR_LSEON_BB RCC_CSR_LSEON_BB +#define CSR_LSEBYP_BB RCC_CSR_LSEBYP_BB +#define CSR_RTCEN_BB RCC_CSR_RTCEN_BB +#define CSR_RTCRST_BB RCC_CSR_RTCRST_BB +#define CFGR_I2SSRC_BB RCC_CFGR_I2SSRC_BB +#define BDCR_RTCEN_BB RCC_BDCR_RTCEN_BB +#define BDCR_BDRST_BB RCC_BDCR_BDRST_BB +#define CR_HSEON_BB RCC_CR_HSEON_BB +#define CSR_RMVF_BB RCC_CSR_RMVF_BB +#define CR_PLLSAION_BB RCC_CR_PLLSAION_BB +#define DCKCFGR_TIMPRE_BB RCC_DCKCFGR_TIMPRE_BB + +#define __HAL_RCC_CRS_ENABLE_FREQ_ERROR_COUNTER __HAL_RCC_CRS_FREQ_ERROR_COUNTER_ENABLE +#define __HAL_RCC_CRS_DISABLE_FREQ_ERROR_COUNTER __HAL_RCC_CRS_FREQ_ERROR_COUNTER_DISABLE +#define __HAL_RCC_CRS_ENABLE_AUTOMATIC_CALIB __HAL_RCC_CRS_AUTOMATIC_CALIB_ENABLE +#define __HAL_RCC_CRS_DISABLE_AUTOMATIC_CALIB __HAL_RCC_CRS_AUTOMATIC_CALIB_DISABLE +#define __HAL_RCC_CRS_CALCULATE_RELOADVALUE __HAL_RCC_CRS_RELOADVALUE_CALCULATE + +#define __HAL_RCC_GET_IT_SOURCE __HAL_RCC_GET_IT + +#define RCC_CRS_SYNCWARM RCC_CRS_SYNCWARN +#define RCC_CRS_TRIMOV RCC_CRS_TRIMOVF + +#define RCC_PERIPHCLK_CK48 RCC_PERIPHCLK_CLK48 +#define RCC_CK48CLKSOURCE_PLLQ RCC_CLK48CLKSOURCE_PLLQ +#define RCC_CK48CLKSOURCE_PLLSAIP RCC_CLK48CLKSOURCE_PLLSAIP +#define RCC_CK48CLKSOURCE_PLLI2SQ RCC_CLK48CLKSOURCE_PLLI2SQ +#define IS_RCC_CK48CLKSOURCE IS_RCC_CLK48CLKSOURCE +#define RCC_SDIOCLKSOURCE_CK48 RCC_SDIOCLKSOURCE_CLK48 + +#define __HAL_RCC_DFSDM_CLK_ENABLE __HAL_RCC_DFSDM1_CLK_ENABLE +#define __HAL_RCC_DFSDM_CLK_DISABLE __HAL_RCC_DFSDM1_CLK_DISABLE +#define __HAL_RCC_DFSDM_IS_CLK_ENABLED __HAL_RCC_DFSDM1_IS_CLK_ENABLED +#define __HAL_RCC_DFSDM_IS_CLK_DISABLED __HAL_RCC_DFSDM1_IS_CLK_DISABLED +#define __HAL_RCC_DFSDM_FORCE_RESET __HAL_RCC_DFSDM1_FORCE_RESET +#define __HAL_RCC_DFSDM_RELEASE_RESET __HAL_RCC_DFSDM1_RELEASE_RESET +#define __HAL_RCC_DFSDM_CLK_SLEEP_ENABLE __HAL_RCC_DFSDM1_CLK_SLEEP_ENABLE +#define __HAL_RCC_DFSDM_CLK_SLEEP_DISABLE __HAL_RCC_DFSDM1_CLK_SLEEP_DISABLE +#define __HAL_RCC_DFSDM_IS_CLK_SLEEP_ENABLED __HAL_RCC_DFSDM1_IS_CLK_SLEEP_ENABLED +#define __HAL_RCC_DFSDM_IS_CLK_SLEEP_DISABLED __HAL_RCC_DFSDM1_IS_CLK_SLEEP_DISABLED +#define DfsdmClockSelection Dfsdm1ClockSelection +#define RCC_PERIPHCLK_DFSDM RCC_PERIPHCLK_DFSDM1 +#define RCC_DFSDMCLKSOURCE_PCLK RCC_DFSDM1CLKSOURCE_PCLK2 +#define RCC_DFSDMCLKSOURCE_SYSCLK RCC_DFSDM1CLKSOURCE_SYSCLK +#define __HAL_RCC_DFSDM_CONFIG __HAL_RCC_DFSDM1_CONFIG +#define __HAL_RCC_GET_DFSDM_SOURCE __HAL_RCC_GET_DFSDM1_SOURCE +#define RCC_DFSDM1CLKSOURCE_PCLK RCC_DFSDM1CLKSOURCE_PCLK2 +#define RCC_SWPMI1CLKSOURCE_PCLK RCC_SWPMI1CLKSOURCE_PCLK1 +#define RCC_LPTIM1CLKSOURCE_PCLK RCC_LPTIM1CLKSOURCE_PCLK1 +#define RCC_LPTIM2CLKSOURCE_PCLK RCC_LPTIM2CLKSOURCE_PCLK1 + +#define RCC_DFSDM1AUDIOCLKSOURCE_I2SAPB1 RCC_DFSDM1AUDIOCLKSOURCE_I2S1 +#define RCC_DFSDM1AUDIOCLKSOURCE_I2SAPB2 RCC_DFSDM1AUDIOCLKSOURCE_I2S2 +#define RCC_DFSDM2AUDIOCLKSOURCE_I2SAPB1 RCC_DFSDM2AUDIOCLKSOURCE_I2S1 +#define RCC_DFSDM2AUDIOCLKSOURCE_I2SAPB2 RCC_DFSDM2AUDIOCLKSOURCE_I2S2 +#define RCC_DFSDM1CLKSOURCE_APB2 RCC_DFSDM1CLKSOURCE_PCLK2 +#define RCC_DFSDM2CLKSOURCE_APB2 RCC_DFSDM2CLKSOURCE_PCLK2 +#define RCC_FMPI2C1CLKSOURCE_APB RCC_FMPI2C1CLKSOURCE_PCLK1 + +/** + * @} + */ + +/** @defgroup HAL_RNG_Aliased_Macros HAL RNG Aliased Macros maintained for legacy purpose + * @{ + */ +#define HAL_RNG_ReadyCallback(__HANDLE__) HAL_RNG_ReadyDataCallback((__HANDLE__), uint32_t random32bit) + +/** + * @} + */ + +/** @defgroup HAL_RTC_Aliased_Macros HAL RTC Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __HAL_RTC_CLEAR_FLAG __HAL_RTC_EXTI_CLEAR_FLAG +#define __HAL_RTC_DISABLE_IT __HAL_RTC_EXTI_DISABLE_IT +#define __HAL_RTC_ENABLE_IT __HAL_RTC_EXTI_ENABLE_IT + +#if defined (STM32F1) +#define __HAL_RTC_EXTI_CLEAR_FLAG(RTC_EXTI_LINE_ALARM_EVENT) __HAL_RTC_ALARM_EXTI_CLEAR_FLAG() + +#define __HAL_RTC_EXTI_ENABLE_IT(RTC_EXTI_LINE_ALARM_EVENT) __HAL_RTC_ALARM_EXTI_ENABLE_IT() + +#define __HAL_RTC_EXTI_DISABLE_IT(RTC_EXTI_LINE_ALARM_EVENT) __HAL_RTC_ALARM_EXTI_DISABLE_IT() + +#define __HAL_RTC_EXTI_GET_FLAG(RTC_EXTI_LINE_ALARM_EVENT) __HAL_RTC_ALARM_EXTI_GET_FLAG() + +#define __HAL_RTC_EXTI_GENERATE_SWIT(RTC_EXTI_LINE_ALARM_EVENT) __HAL_RTC_ALARM_EXTI_GENERATE_SWIT() +#else +#define __HAL_RTC_EXTI_CLEAR_FLAG(__EXTI_LINE__) (((__EXTI_LINE__) == RTC_EXTI_LINE_ALARM_EVENT) ? __HAL_RTC_ALARM_EXTI_CLEAR_FLAG() : \ + (((__EXTI_LINE__) == RTC_EXTI_LINE_WAKEUPTIMER_EVENT) ? __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG() : \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG())) +#define __HAL_RTC_EXTI_ENABLE_IT(__EXTI_LINE__) (((__EXTI_LINE__) == RTC_EXTI_LINE_ALARM_EVENT) ? __HAL_RTC_ALARM_EXTI_ENABLE_IT() : \ + (((__EXTI_LINE__) == RTC_EXTI_LINE_WAKEUPTIMER_EVENT) ? __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT() : \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT())) +#define __HAL_RTC_EXTI_DISABLE_IT(__EXTI_LINE__) (((__EXTI_LINE__) == RTC_EXTI_LINE_ALARM_EVENT) ? __HAL_RTC_ALARM_EXTI_DISABLE_IT() : \ + (((__EXTI_LINE__) == RTC_EXTI_LINE_WAKEUPTIMER_EVENT) ? __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT() : \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_IT())) +#define __HAL_RTC_EXTI_GET_FLAG(__EXTI_LINE__) (((__EXTI_LINE__) == RTC_EXTI_LINE_ALARM_EVENT) ? __HAL_RTC_ALARM_EXTI_GET_FLAG() : \ + (((__EXTI_LINE__) == RTC_EXTI_LINE_WAKEUPTIMER_EVENT) ? __HAL_RTC_WAKEUPTIMER_EXTI_GET_FLAG() : \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG())) +#define __HAL_RTC_EXTI_GENERATE_SWIT(__EXTI_LINE__) (((__EXTI_LINE__) == RTC_EXTI_LINE_ALARM_EVENT) ? __HAL_RTC_ALARM_EXTI_GENERATE_SWIT() : \ + (((__EXTI_LINE__) == RTC_EXTI_LINE_WAKEUPTIMER_EVENT) ? __HAL_RTC_WAKEUPTIMER_EXTI_GENERATE_SWIT() : \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GENERATE_SWIT())) +#endif /* STM32F1 */ + +#define IS_ALARM IS_RTC_ALARM +#define IS_ALARM_MASK IS_RTC_ALARM_MASK +#define IS_TAMPER IS_RTC_TAMPER +#define IS_TAMPER_ERASE_MODE IS_RTC_TAMPER_ERASE_MODE +#define IS_TAMPER_FILTER IS_RTC_TAMPER_FILTER +#define IS_TAMPER_INTERRUPT IS_RTC_TAMPER_INTERRUPT +#define IS_TAMPER_MASKFLAG_STATE IS_RTC_TAMPER_MASKFLAG_STATE +#define IS_TAMPER_PRECHARGE_DURATION IS_RTC_TAMPER_PRECHARGE_DURATION +#define IS_TAMPER_PULLUP_STATE IS_RTC_TAMPER_PULLUP_STATE +#define IS_TAMPER_SAMPLING_FREQ IS_RTC_TAMPER_SAMPLING_FREQ +#define IS_TAMPER_TIMESTAMPONTAMPER_DETECTION IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION +#define IS_TAMPER_TRIGGER IS_RTC_TAMPER_TRIGGER +#define IS_WAKEUP_CLOCK IS_RTC_WAKEUP_CLOCK +#define IS_WAKEUP_COUNTER IS_RTC_WAKEUP_COUNTER + +#define __RTC_WRITEPROTECTION_ENABLE __HAL_RTC_WRITEPROTECTION_ENABLE +#define __RTC_WRITEPROTECTION_DISABLE __HAL_RTC_WRITEPROTECTION_DISABLE + +/** + * @} + */ + +/** @defgroup HAL_SD_Aliased_Macros HAL SD Aliased Macros maintained for legacy purpose + * @{ + */ + +#define SD_OCR_CID_CSD_OVERWRIETE SD_OCR_CID_CSD_OVERWRITE +#define SD_CMD_SD_APP_STAUS SD_CMD_SD_APP_STATUS + +#if defined(STM32F4) || defined(STM32F2) +#define SD_SDMMC_DISABLED SD_SDIO_DISABLED +#define SD_SDMMC_FUNCTION_BUSY SD_SDIO_FUNCTION_BUSY +#define SD_SDMMC_FUNCTION_FAILED SD_SDIO_FUNCTION_FAILED +#define SD_SDMMC_UNKNOWN_FUNCTION SD_SDIO_UNKNOWN_FUNCTION +#define SD_CMD_SDMMC_SEN_OP_COND SD_CMD_SDIO_SEN_OP_COND +#define SD_CMD_SDMMC_RW_DIRECT SD_CMD_SDIO_RW_DIRECT +#define SD_CMD_SDMMC_RW_EXTENDED SD_CMD_SDIO_RW_EXTENDED +#define __HAL_SD_SDMMC_ENABLE __HAL_SD_SDIO_ENABLE +#define __HAL_SD_SDMMC_DISABLE __HAL_SD_SDIO_DISABLE +#define __HAL_SD_SDMMC_DMA_ENABLE __HAL_SD_SDIO_DMA_ENABLE +#define __HAL_SD_SDMMC_DMA_DISABLE __HAL_SD_SDIO_DMA_DISABL +#define __HAL_SD_SDMMC_ENABLE_IT __HAL_SD_SDIO_ENABLE_IT +#define __HAL_SD_SDMMC_DISABLE_IT __HAL_SD_SDIO_DISABLE_IT +#define __HAL_SD_SDMMC_GET_FLAG __HAL_SD_SDIO_GET_FLAG +#define __HAL_SD_SDMMC_CLEAR_FLAG __HAL_SD_SDIO_CLEAR_FLAG +#define __HAL_SD_SDMMC_GET_IT __HAL_SD_SDIO_GET_IT +#define __HAL_SD_SDMMC_CLEAR_IT __HAL_SD_SDIO_CLEAR_IT +#define SDMMC_STATIC_FLAGS SDIO_STATIC_FLAGS +#define SDMMC_CMD0TIMEOUT SDIO_CMD0TIMEOUT +#define SD_SDMMC_SEND_IF_COND SD_SDIO_SEND_IF_COND +/* alias CMSIS */ +#define SDMMC1_IRQn SDIO_IRQn +#define SDMMC1_IRQHandler SDIO_IRQHandler +#endif + +#if defined(STM32F7) || defined(STM32L4) +#define SD_SDIO_DISABLED SD_SDMMC_DISABLED +#define SD_SDIO_FUNCTION_BUSY SD_SDMMC_FUNCTION_BUSY +#define SD_SDIO_FUNCTION_FAILED SD_SDMMC_FUNCTION_FAILED +#define SD_SDIO_UNKNOWN_FUNCTION SD_SDMMC_UNKNOWN_FUNCTION +#define SD_CMD_SDIO_SEN_OP_COND SD_CMD_SDMMC_SEN_OP_COND +#define SD_CMD_SDIO_RW_DIRECT SD_CMD_SDMMC_RW_DIRECT +#define SD_CMD_SDIO_RW_EXTENDED SD_CMD_SDMMC_RW_EXTENDED +#define __HAL_SD_SDIO_ENABLE __HAL_SD_SDMMC_ENABLE +#define __HAL_SD_SDIO_DISABLE __HAL_SD_SDMMC_DISABLE +#define __HAL_SD_SDIO_DMA_ENABLE __HAL_SD_SDMMC_DMA_ENABLE +#define __HAL_SD_SDIO_DMA_DISABL __HAL_SD_SDMMC_DMA_DISABLE +#define __HAL_SD_SDIO_ENABLE_IT __HAL_SD_SDMMC_ENABLE_IT +#define __HAL_SD_SDIO_DISABLE_IT __HAL_SD_SDMMC_DISABLE_IT +#define __HAL_SD_SDIO_GET_FLAG __HAL_SD_SDMMC_GET_FLAG +#define __HAL_SD_SDIO_CLEAR_FLAG __HAL_SD_SDMMC_CLEAR_FLAG +#define __HAL_SD_SDIO_GET_IT __HAL_SD_SDMMC_GET_IT +#define __HAL_SD_SDIO_CLEAR_IT __HAL_SD_SDMMC_CLEAR_IT +#define SDIO_STATIC_FLAGS SDMMC_STATIC_FLAGS +#define SDIO_CMD0TIMEOUT SDMMC_CMD0TIMEOUT +#define SD_SDIO_SEND_IF_COND SD_SDMMC_SEND_IF_COND +/* alias CMSIS for compatibilities */ +#define SDIO_IRQn SDMMC1_IRQn +#define SDIO_IRQHandler SDMMC1_IRQHandler +#endif + +#if defined(STM32F7) || defined(STM32F4) || defined(STM32F2) +#define HAL_SD_CardCIDTypedef HAL_SD_CardCIDTypeDef +#define HAL_SD_CardCSDTypedef HAL_SD_CardCSDTypeDef +#define HAL_SD_CardStatusTypedef HAL_SD_CardStatusTypeDef +#define HAL_SD_CardStateTypedef HAL_SD_CardStateTypeDef +#endif + +#if defined(STM32H7) +#define HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback HAL_MMCEx_Read_DMADoubleBuf0CpltCallback +#define HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback HAL_MMCEx_Read_DMADoubleBuf1CpltCallback +#define HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback HAL_MMCEx_Write_DMADoubleBuf0CpltCallback +#define HAL_MMCEx_Write_DMADoubleBuffer1CpltCallback HAL_MMCEx_Write_DMADoubleBuf1CpltCallback +#define HAL_SDEx_Read_DMADoubleBuffer0CpltCallback HAL_SDEx_Read_DMADoubleBuf0CpltCallback +#define HAL_SDEx_Read_DMADoubleBuffer1CpltCallback HAL_SDEx_Read_DMADoubleBuf1CpltCallback +#define HAL_SDEx_Write_DMADoubleBuffer0CpltCallback HAL_SDEx_Write_DMADoubleBuf0CpltCallback +#define HAL_SDEx_Write_DMADoubleBuffer1CpltCallback HAL_SDEx_Write_DMADoubleBuf1CpltCallback +#define HAL_SD_DriveTransciver_1_8V_Callback HAL_SD_DriveTransceiver_1_8V_Callback +#endif + +/** + * @} + */ + +/** @defgroup HAL_SMARTCARD_Aliased_Macros HAL SMARTCARD Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __SMARTCARD_ENABLE_IT __HAL_SMARTCARD_ENABLE_IT +#define __SMARTCARD_DISABLE_IT __HAL_SMARTCARD_DISABLE_IT +#define __SMARTCARD_ENABLE __HAL_SMARTCARD_ENABLE +#define __SMARTCARD_DISABLE __HAL_SMARTCARD_DISABLE +#define __SMARTCARD_DMA_REQUEST_ENABLE __HAL_SMARTCARD_DMA_REQUEST_ENABLE +#define __SMARTCARD_DMA_REQUEST_DISABLE __HAL_SMARTCARD_DMA_REQUEST_DISABLE + +#define __HAL_SMARTCARD_GETCLOCKSOURCE SMARTCARD_GETCLOCKSOURCE +#define __SMARTCARD_GETCLOCKSOURCE SMARTCARD_GETCLOCKSOURCE + +#define IS_SMARTCARD_ONEBIT_SAMPLING IS_SMARTCARD_ONE_BIT_SAMPLE + +/** + * @} + */ + +/** @defgroup HAL_SMBUS_Aliased_Macros HAL SMBUS Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_SMBUS_RESET_CR1 SMBUS_RESET_CR1 +#define __HAL_SMBUS_RESET_CR2 SMBUS_RESET_CR2 +#define __HAL_SMBUS_GENERATE_START SMBUS_GENERATE_START +#define __HAL_SMBUS_GET_ADDR_MATCH SMBUS_GET_ADDR_MATCH +#define __HAL_SMBUS_GET_DIR SMBUS_GET_DIR +#define __HAL_SMBUS_GET_STOP_MODE SMBUS_GET_STOP_MODE +#define __HAL_SMBUS_GET_PEC_MODE SMBUS_GET_PEC_MODE +#define __HAL_SMBUS_GET_ALERT_ENABLED SMBUS_GET_ALERT_ENABLED +/** + * @} + */ + +/** @defgroup HAL_SPI_Aliased_Macros HAL SPI Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __HAL_SPI_1LINE_TX SPI_1LINE_TX +#define __HAL_SPI_1LINE_RX SPI_1LINE_RX +#define __HAL_SPI_RESET_CRC SPI_RESET_CRC + +/** + * @} + */ + +/** @defgroup HAL_UART_Aliased_Macros HAL UART Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __HAL_UART_GETCLOCKSOURCE UART_GETCLOCKSOURCE +#define __HAL_UART_MASK_COMPUTATION UART_MASK_COMPUTATION +#define __UART_GETCLOCKSOURCE UART_GETCLOCKSOURCE +#define __UART_MASK_COMPUTATION UART_MASK_COMPUTATION + +#define IS_UART_WAKEUPMETHODE IS_UART_WAKEUPMETHOD + +#define IS_UART_ONEBIT_SAMPLE IS_UART_ONE_BIT_SAMPLE +#define IS_UART_ONEBIT_SAMPLING IS_UART_ONE_BIT_SAMPLE + +/** + * @} + */ + + +/** @defgroup HAL_USART_Aliased_Macros HAL USART Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __USART_ENABLE_IT __HAL_USART_ENABLE_IT +#define __USART_DISABLE_IT __HAL_USART_DISABLE_IT +#define __USART_ENABLE __HAL_USART_ENABLE +#define __USART_DISABLE __HAL_USART_DISABLE + +#define __HAL_USART_GETCLOCKSOURCE USART_GETCLOCKSOURCE +#define __USART_GETCLOCKSOURCE USART_GETCLOCKSOURCE + +/** + * @} + */ + +/** @defgroup HAL_USB_Aliased_Macros HAL USB Aliased Macros maintained for legacy purpose + * @{ + */ +#define USB_EXTI_LINE_WAKEUP USB_WAKEUP_EXTI_LINE + +#define USB_FS_EXTI_TRIGGER_RISING_EDGE USB_OTG_FS_WAKEUP_EXTI_RISING_EDGE +#define USB_FS_EXTI_TRIGGER_FALLING_EDGE USB_OTG_FS_WAKEUP_EXTI_FALLING_EDGE +#define USB_FS_EXTI_TRIGGER_BOTH_EDGE USB_OTG_FS_WAKEUP_EXTI_RISING_FALLING_EDGE +#define USB_FS_EXTI_LINE_WAKEUP USB_OTG_FS_WAKEUP_EXTI_LINE + +#define USB_HS_EXTI_TRIGGER_RISING_EDGE USB_OTG_HS_WAKEUP_EXTI_RISING_EDGE +#define USB_HS_EXTI_TRIGGER_FALLING_EDGE USB_OTG_HS_WAKEUP_EXTI_FALLING_EDGE +#define USB_HS_EXTI_TRIGGER_BOTH_EDGE USB_OTG_HS_WAKEUP_EXTI_RISING_FALLING_EDGE +#define USB_HS_EXTI_LINE_WAKEUP USB_OTG_HS_WAKEUP_EXTI_LINE + +#define __HAL_USB_EXTI_ENABLE_IT __HAL_USB_WAKEUP_EXTI_ENABLE_IT +#define __HAL_USB_EXTI_DISABLE_IT __HAL_USB_WAKEUP_EXTI_DISABLE_IT +#define __HAL_USB_EXTI_GET_FLAG __HAL_USB_WAKEUP_EXTI_GET_FLAG +#define __HAL_USB_EXTI_CLEAR_FLAG __HAL_USB_WAKEUP_EXTI_CLEAR_FLAG +#define __HAL_USB_EXTI_SET_RISING_EDGE_TRIGGER __HAL_USB_WAKEUP_EXTI_ENABLE_RISING_EDGE +#define __HAL_USB_EXTI_SET_FALLING_EDGE_TRIGGER __HAL_USB_WAKEUP_EXTI_ENABLE_FALLING_EDGE +#define __HAL_USB_EXTI_SET_FALLINGRISING_TRIGGER __HAL_USB_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE + +#define __HAL_USB_FS_EXTI_ENABLE_IT __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_IT +#define __HAL_USB_FS_EXTI_DISABLE_IT __HAL_USB_OTG_FS_WAKEUP_EXTI_DISABLE_IT +#define __HAL_USB_FS_EXTI_GET_FLAG __HAL_USB_OTG_FS_WAKEUP_EXTI_GET_FLAG +#define __HAL_USB_FS_EXTI_CLEAR_FLAG __HAL_USB_OTG_FS_WAKEUP_EXTI_CLEAR_FLAG +#define __HAL_USB_FS_EXTI_SET_RISING_EGDE_TRIGGER __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_RISING_EDGE +#define __HAL_USB_FS_EXTI_SET_FALLING_EGDE_TRIGGER __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_FALLING_EDGE +#define __HAL_USB_FS_EXTI_SET_FALLINGRISING_TRIGGER __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE +#define __HAL_USB_FS_EXTI_GENERATE_SWIT __HAL_USB_OTG_FS_WAKEUP_EXTI_GENERATE_SWIT + +#define __HAL_USB_HS_EXTI_ENABLE_IT __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_IT +#define __HAL_USB_HS_EXTI_DISABLE_IT __HAL_USB_OTG_HS_WAKEUP_EXTI_DISABLE_IT +#define __HAL_USB_HS_EXTI_GET_FLAG __HAL_USB_OTG_HS_WAKEUP_EXTI_GET_FLAG +#define __HAL_USB_HS_EXTI_CLEAR_FLAG __HAL_USB_OTG_HS_WAKEUP_EXTI_CLEAR_FLAG +#define __HAL_USB_HS_EXTI_SET_RISING_EGDE_TRIGGER __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_EDGE +#define __HAL_USB_HS_EXTI_SET_FALLING_EGDE_TRIGGER __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_FALLING_EDGE +#define __HAL_USB_HS_EXTI_SET_FALLINGRISING_TRIGGER __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE +#define __HAL_USB_HS_EXTI_GENERATE_SWIT __HAL_USB_OTG_HS_WAKEUP_EXTI_GENERATE_SWIT + +#define HAL_PCD_ActiveRemoteWakeup HAL_PCD_ActivateRemoteWakeup +#define HAL_PCD_DeActiveRemoteWakeup HAL_PCD_DeActivateRemoteWakeup + +#define HAL_PCD_SetTxFiFo HAL_PCDEx_SetTxFiFo +#define HAL_PCD_SetRxFiFo HAL_PCDEx_SetRxFiFo +/** + * @} + */ + +/** @defgroup HAL_TIM_Aliased_Macros HAL TIM Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_TIM_SetICPrescalerValue TIM_SET_ICPRESCALERVALUE +#define __HAL_TIM_ResetICPrescalerValue TIM_RESET_ICPRESCALERVALUE + +#define TIM_GET_ITSTATUS __HAL_TIM_GET_IT_SOURCE +#define TIM_GET_CLEAR_IT __HAL_TIM_CLEAR_IT + +#define __HAL_TIM_GET_ITSTATUS __HAL_TIM_GET_IT_SOURCE + +#define __HAL_TIM_DIRECTION_STATUS __HAL_TIM_IS_TIM_COUNTING_DOWN +#define __HAL_TIM_PRESCALER __HAL_TIM_SET_PRESCALER +#define __HAL_TIM_SetCounter __HAL_TIM_SET_COUNTER +#define __HAL_TIM_GetCounter __HAL_TIM_GET_COUNTER +#define __HAL_TIM_SetAutoreload __HAL_TIM_SET_AUTORELOAD +#define __HAL_TIM_GetAutoreload __HAL_TIM_GET_AUTORELOAD +#define __HAL_TIM_SetClockDivision __HAL_TIM_SET_CLOCKDIVISION +#define __HAL_TIM_GetClockDivision __HAL_TIM_GET_CLOCKDIVISION +#define __HAL_TIM_SetICPrescaler __HAL_TIM_SET_ICPRESCALER +#define __HAL_TIM_GetICPrescaler __HAL_TIM_GET_ICPRESCALER +#define __HAL_TIM_SetCompare __HAL_TIM_SET_COMPARE +#define __HAL_TIM_GetCompare __HAL_TIM_GET_COMPARE + +#define TIM_BREAKINPUTSOURCE_DFSDM TIM_BREAKINPUTSOURCE_DFSDM1 +/** + * @} + */ + +/** @defgroup HAL_ETH_Aliased_Macros HAL ETH Aliased Macros maintained for legacy purpose + * @{ + */ + +#define __HAL_ETH_EXTI_ENABLE_IT __HAL_ETH_WAKEUP_EXTI_ENABLE_IT +#define __HAL_ETH_EXTI_DISABLE_IT __HAL_ETH_WAKEUP_EXTI_DISABLE_IT +#define __HAL_ETH_EXTI_GET_FLAG __HAL_ETH_WAKEUP_EXTI_GET_FLAG +#define __HAL_ETH_EXTI_CLEAR_FLAG __HAL_ETH_WAKEUP_EXTI_CLEAR_FLAG +#define __HAL_ETH_EXTI_SET_RISING_EGDE_TRIGGER __HAL_ETH_WAKEUP_EXTI_ENABLE_RISING_EDGE_TRIGGER +#define __HAL_ETH_EXTI_SET_FALLING_EGDE_TRIGGER __HAL_ETH_WAKEUP_EXTI_ENABLE_FALLING_EDGE_TRIGGER +#define __HAL_ETH_EXTI_SET_FALLINGRISING_TRIGGER __HAL_ETH_WAKEUP_EXTI_ENABLE_FALLINGRISING_TRIGGER + +#define ETH_PROMISCIOUSMODE_ENABLE ETH_PROMISCUOUS_MODE_ENABLE +#define ETH_PROMISCIOUSMODE_DISABLE ETH_PROMISCUOUS_MODE_DISABLE +#define IS_ETH_PROMISCIOUS_MODE IS_ETH_PROMISCUOUS_MODE +/** + * @} + */ + +/** @defgroup HAL_LTDC_Aliased_Macros HAL LTDC Aliased Macros maintained for legacy purpose + * @{ + */ +#define __HAL_LTDC_LAYER LTDC_LAYER +#define __HAL_LTDC_RELOAD_CONFIG __HAL_LTDC_RELOAD_IMMEDIATE_CONFIG +/** + * @} + */ + +/** @defgroup HAL_SAI_Aliased_Macros HAL SAI Aliased Macros maintained for legacy purpose + * @{ + */ +#define SAI_OUTPUTDRIVE_DISABLED SAI_OUTPUTDRIVE_DISABLE +#define SAI_OUTPUTDRIVE_ENABLED SAI_OUTPUTDRIVE_ENABLE +#define SAI_MASTERDIVIDER_ENABLED SAI_MASTERDIVIDER_ENABLE +#define SAI_MASTERDIVIDER_DISABLED SAI_MASTERDIVIDER_DISABLE +#define SAI_STREOMODE SAI_STEREOMODE +#define SAI_FIFOStatus_Empty SAI_FIFOSTATUS_EMPTY +#define SAI_FIFOStatus_Less1QuarterFull SAI_FIFOSTATUS_LESS1QUARTERFULL +#define SAI_FIFOStatus_1QuarterFull SAI_FIFOSTATUS_1QUARTERFULL +#define SAI_FIFOStatus_HalfFull SAI_FIFOSTATUS_HALFFULL +#define SAI_FIFOStatus_3QuartersFull SAI_FIFOSTATUS_3QUARTERFULL +#define SAI_FIFOStatus_Full SAI_FIFOSTATUS_FULL +#define IS_SAI_BLOCK_MONO_STREO_MODE IS_SAI_BLOCK_MONO_STEREO_MODE +#define SAI_SYNCHRONOUS_EXT SAI_SYNCHRONOUS_EXT_SAI1 +#define SAI_SYNCEXT_IN_ENABLE SAI_SYNCEXT_OUTBLOCKA_ENABLE +/** + * @} + */ + + +/** @defgroup HAL_PPP_Aliased_Macros HAL PPP Aliased Macros maintained for legacy purpose + * @{ + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* ___STM32_HAL_LEGACY */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h new file mode 100644 index 0000000000..430830de27 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h @@ -0,0 +1,595 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal.h + * @author MCD Application Team + * @brief This file contains all the functions prototypes for the HAL + * module driver. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_H +#define __STM32H7xx_HAL_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_conf.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup HAL + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup HAL_TICK_FREQ Tick Frequency + * @{ + */ +typedef enum +{ + HAL_TICK_FREQ_10HZ = 100U, + HAL_TICK_FREQ_100HZ = 10U, + HAL_TICK_FREQ_1KHZ = 1U, + HAL_TICK_FREQ_DEFAULT = HAL_TICK_FREQ_1KHZ +} HAL_TickFreqTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup SYSCFG_VREFBUF_VoltageScale VREFBUF Voltage Scale + * @{ + */ +#define SYSCFG_VREFBUF_VOLTAGE_SCALE0 VREFBUF_CSR_VRS_OUT2 /*!< Voltage reference scale 0 (VREF_OUT2) */ +#define SYSCFG_VREFBUF_VOLTAGE_SCALE1 VREFBUF_CSR_VRS_OUT1 /*!< Voltage reference scale 1 (VREF_OUT1) */ +#define SYSCFG_VREFBUF_VOLTAGE_SCALE2 VREFBUF_CSR_VRS_OUT4 /*!< Voltage reference scale 2 (VREF_OUT4) */ +#define SYSCFG_VREFBUF_VOLTAGE_SCALE3 VREFBUF_CSR_VRS_OUT3 /*!< Voltage reference scale 3 (VREF_OUT3) */ + + +#define IS_SYSCFG_VREFBUF_VOLTAGE_SCALE(__SCALE__) (((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE0) || \ + ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE1) || \ + ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE2) || \ + ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE3)) + + +/** + * @} + */ + +/** @defgroup SYSCFG_VREFBUF_HighImpedance VREFBUF High Impedance + * @{ + */ +#define SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE ((uint32_t)0x00000000) /*!< VREF_plus pin is internally connected to Voltage reference buffer output */ +#define SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE VREFBUF_CSR_HIZ /*!< VREF_plus pin is high impedance */ + +#define IS_SYSCFG_VREFBUF_HIGH_IMPEDANCE(__VALUE__) (((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE) || \ + ((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE)) + +#define IS_SYSCFG_VREFBUF_TRIMMING(__VALUE__) (((__VALUE__) > 0) && ((__VALUE__) <= VREFBUF_CCR_TRIM)) + +/** + * @} + */ + +/** @defgroup SYSCFG_Ethernet_Config Ethernet Config + * @{ + */ +#define SYSCFG_ETH_MII ((uint32_t)0x00000000) /*!< Select the Media Independent Interface */ +#define SYSCFG_ETH_RMII SYSCFG_PMCR_EPIS_SEL_2 /*!< Select the Reduced Media Independent Interface */ + +#define IS_SYSCFG_ETHERNET_CONFIG(CONFIG) (((CONFIG) == SYSCFG_ETH_MII) || \ + ((CONFIG) == SYSCFG_ETH_RMII)) + +/** + * @} + */ + + +/** @defgroup SYSCFG_Analog_Switch_Config Analog Switch Config + * @{ + */ +#define SYSCFG_SWITCH_PA0 SYSCFG_PMCR_PA0SO /*!< Select PA0 analog switch */ +#define SYSCFG_SWITCH_PA1 SYSCFG_PMCR_PA1SO /*!< Select PA1 analog switch */ +#define SYSCFG_SWITCH_PC2 SYSCFG_PMCR_PC2SO /*!< Select PC2 analog switch */ +#define SYSCFG_SWITCH_PC3 SYSCFG_PMCR_PC3SO /*!< Select PC3 analog switch */ + + +#define IS_SYSCFG_ANALOG_SWITCH(SWITCH) ((((SWITCH) & SYSCFG_SWITCH_PA0) == SYSCFG_SWITCH_PA0)|| \ + (((SWITCH) & SYSCFG_SWITCH_PA1) == SYSCFG_SWITCH_PA1) || \ + (((SWITCH) & SYSCFG_SWITCH_PC2) == SYSCFG_SWITCH_PC2) || \ + (((SWITCH) & SYSCFG_SWITCH_PC3) == SYSCFG_SWITCH_PC3)) + + +#define SYSCFG_SWITCH_PA0_OPEN SYSCFG_PMCR_PA0SO /*!< PA0 analog switch opened */ +#define SYSCFG_SWITCH_PA0_CLOSE ((uint32_t)0x00000000) /*!< PA0 analog switch closed */ +#define SYSCFG_SWITCH_PA1_OPEN SYSCFG_PMCR_PA1SO /*!< PA1 analog switch opened */ +#define SYSCFG_SWITCH_PA1_CLOSE ((uint32_t)0x00000000) /*!< PA1 analog switch closed*/ +#define SYSCFG_SWITCH_PC2_OPEN SYSCFG_PMCR_PC2SO /*!< PC2 analog switch opened */ +#define SYSCFG_SWITCH_PC2_CLOSE ((uint32_t)0x00000000) /*!< PC2 analog switch closed */ +#define SYSCFG_SWITCH_PC3_OPEN SYSCFG_PMCR_PC3SO /*!< PC3 analog switch opened */ +#define SYSCFG_SWITCH_PC3_CLOSE ((uint32_t)0x00000000) /*!< PC3 analog switch closed */ + +#define IS_SYSCFG_SWITCH_STATE(STATE) ((((STATE) & SYSCFG_SWITCH_PA0_OPEN) == SYSCFG_SWITCH_PA0_OPEN) || \ + (((STATE) & SYSCFG_SWITCH_PA0_CLOSE) == SYSCFG_SWITCH_PA0_CLOSE) || \ + (((STATE) & SYSCFG_SWITCH_PA1_OPEN) == SYSCFG_SWITCH_PA1_OPEN) || \ + (((STATE) & SYSCFG_SWITCH_PA1_CLOSE) == SYSCFG_SWITCH_PA1_CLOSE) || \ + (((STATE) & SYSCFG_SWITCH_PC2_OPEN) == SYSCFG_SWITCH_PC2_OPEN) || \ + (((STATE) & SYSCFG_SWITCH_PC2_CLOSE) == SYSCFG_SWITCH_PC2_CLOSE) || \ + (((STATE) & SYSCFG_SWITCH_PC3_OPEN) == SYSCFG_SWITCH_PC3_OPEN) || \ + (((STATE) & SYSCFG_SWITCH_PC3_CLOSE) == SYSCFG_SWITCH_PC3_CLOSE)) +/** + * @} + */ + +/** @defgroup SYSCFG_Boot_Config Boot Config + * @{ + */ +#define SYSCFG_BOOT_ADDR0 ((uint32_t)0x00000000) /*!< Select Boot address0 */ +#define SYSCFG_BOOT_ADDR1 ((uint32_t)0x00000001) /*!< Select Boot address1 */ + +#define IS_SYSCFG_BOOT_REGISTER(REGISTER) (((REGISTER) == SYSCFG_BOOT_ADDR0)|| \ + ((REGISTER) == SYSCFG_BOOT_ADDR1)) + +#define IS_SYSCFG_BOOT_ADDRESS(ADDRESS) ((ADDRESS) < PERIPH_BASE) + +/** + * @} + */ + + +/** @defgroup SYSCFG_IOCompenstionCell_Config IOCompenstionCell Config + * @{ + */ +#define SYSCFG_CELL_CODE ((uint32_t)0x00000000) /*!< Select Code from the cell */ +#define SYSCFG_REGISTER_CODE SYSCFG_CCCSR_CS /*!< Code from the SYSCFG compensation cell code register */ + +#define IS_SYSCFG_CODE_SELECT(SELECT) (((SELECT) == SYSCFG_CELL_CODE)|| \ + ((SELECT) == SYSCFG_REGISTER_CODE)) + +#define IS_SYSCFG_CODE_CONFIG(CONFIG) ((CONFIG) < (0x10)) + +/** + * @} + */ + + + + +/** @defgroup EXTI_Event_Input_Config Event Input Config + * @{ + */ + +#define EXTI_MODE_IT ((uint32_t)0x00010000) +#define EXTI_MODE_EVT ((uint32_t)0x00020000) +#define EXTI_RISING_EDGE ((uint32_t)0x00100000) +#define EXTI_FALLING_EDGE ((uint32_t)0x00200000) + +#define IS_EXTI_EDGE_LINE(EDGE) (((EDGE) == EXTI_RISING_EDGE) || ((EDGE) == EXTI_FALLING_EDGE)) +#define IS_EXTI_MODE_LINE(MODE) (((MODE) == EXTI_MODE_IT) || ((MODE) == EXTI_MODE_EVT)) + +#define EXTI_LINE0 ((uint32_t)0x00) /*!< External interrupt LINE 0 */ +#define EXTI_LINE1 ((uint32_t)0x01) /*!< External interrupt LINE 1 */ +#define EXTI_LINE2 ((uint32_t)0x02) /*!< External interrupt LINE 2 */ +#define EXTI_LINE3 ((uint32_t)0x03) /*!< External interrupt LINE 3 */ +#define EXTI_LINE4 ((uint32_t)0x04) /*!< External interrupt LINE 4 */ +#define EXTI_LINE5 ((uint32_t)0x05) /*!< External interrupt LINE 5 */ +#define EXTI_LINE6 ((uint32_t)0x06) /*!< External interrupt LINE 6 */ +#define EXTI_LINE7 ((uint32_t)0x07) /*!< External interrupt LINE 7 */ +#define EXTI_LINE8 ((uint32_t)0x08) /*!< External interrupt LINE 8 */ +#define EXTI_LINE9 ((uint32_t)0x09) /*!< External interrupt LINE 9 */ +#define EXTI_LINE10 ((uint32_t)0x0A) /*!< External interrupt LINE 10 */ +#define EXTI_LINE11 ((uint32_t)0x0B) /*!< External interrupt LINE 11 */ +#define EXTI_LINE12 ((uint32_t)0x0C) /*!< External interrupt LINE 12 */ +#define EXTI_LINE13 ((uint32_t)0x0D) /*!< External interrupt LINE 13 */ +#define EXTI_LINE14 ((uint32_t)0x0E) /*!< External interrupt LINE 14 */ +#define EXTI_LINE15 ((uint32_t)0x0F) /*!< External interrupt LINE 15 */ +#define EXTI_LINE16 ((uint32_t)0x10) +#define EXTI_LINE17 ((uint32_t)0x11) +#define EXTI_LINE18 ((uint32_t)0x12) +#define EXTI_LINE19 ((uint32_t)0x13) +#define EXTI_LINE20 ((uint32_t)0x14) +#define EXTI_LINE21 ((uint32_t)0x15) +#define EXTI_LINE22 ((uint32_t)0x16) +#define EXTI_LINE23 ((uint32_t)0x17) +#define EXTI_LINE24 ((uint32_t)0x18) +#define EXTI_LINE25 ((uint32_t)0x19) +#define EXTI_LINE26 ((uint32_t)0x1A) +#define EXTI_LINE27 ((uint32_t)0x1B) +#define EXTI_LINE28 ((uint32_t)0x1C) +#define EXTI_LINE29 ((uint32_t)0x1D) +#define EXTI_LINE30 ((uint32_t)0x1E) +#define EXTI_LINE31 ((uint32_t)0x1F) +#define EXTI_LINE32 ((uint32_t)0x20) +#define EXTI_LINE33 ((uint32_t)0x21) +#define EXTI_LINE34 ((uint32_t)0x22) +#define EXTI_LINE35 ((uint32_t)0x23) +#define EXTI_LINE36 ((uint32_t)0x24) +#define EXTI_LINE37 ((uint32_t)0x25) +#define EXTI_LINE38 ((uint32_t)0x26) +#define EXTI_LINE39 ((uint32_t)0x27) + +#define EXTI_LINE40 ((uint32_t)0x28) +#define EXTI_LINE41 ((uint32_t)0x29) +#define EXTI_LINE42 ((uint32_t)0x2A) +#define EXTI_LINE43 ((uint32_t)0x2B) +#define EXTI_LINE44 ((uint32_t)0x2C) +/* EXTI_LINE45 Reserved */ +/* EXTI_LINE46 Reserved */ +#define EXTI_LINE47 ((uint32_t)0x2F) +#define EXTI_LINE48 ((uint32_t)0x30) +#define EXTI_LINE49 ((uint32_t)0x31) + +#define EXTI_LINE50 ((uint32_t)0x32) +#define EXTI_LINE51 ((uint32_t)0x33) +#define EXTI_LINE52 ((uint32_t)0x34) +#define EXTI_LINE53 ((uint32_t)0x35) +#define EXTI_LINE54 ((uint32_t)0x36) +#define EXTI_LINE55 ((uint32_t)0x37) +#define EXTI_LINE56 ((uint32_t)0x38) +#define EXTI_LINE57 ((uint32_t)0x39) +#define EXTI_LINE58 ((uint32_t)0x3A) +#define EXTI_LINE59 ((uint32_t)0x3B) + +#define EXTI_LINE60 ((uint32_t)0x3C) +#define EXTI_LINE61 ((uint32_t)0x3D) +#define EXTI_LINE62 ((uint32_t)0x3E) +#define EXTI_LINE63 ((uint32_t)0x3F) +#define EXTI_LINE64 ((uint32_t)0x40) +#define EXTI_LINE65 ((uint32_t)0x41) +#define EXTI_LINE66 ((uint32_t)0x42) +#define EXTI_LINE67 ((uint32_t)0x43) +#define EXTI_LINE68 ((uint32_t)0x44) +#define EXTI_LINE69 ((uint32_t)0x45) + +#define EXTI_LINE70 ((uint32_t)0x46) +#define EXTI_LINE71 ((uint32_t)0x47) +#define EXTI_LINE72 ((uint32_t)0x48) +#define EXTI_LINE73 ((uint32_t)0x49) +#define EXTI_LINE74 ((uint32_t)0x4A) +#define EXTI_LINE75 ((uint32_t)0x4B) +#define EXTI_LINE76 ((uint32_t)0x4C) + +/* EXTI_LINE77 Reserved */ +/* EXTI_LINE78 Reserved */ +/* EXTI_LINE79 Reserved */ +/* EXTI_LINE80 Reserved */ +/* EXTI_LINE81 Reserved */ +/* EXTI_LINE82 Reserved */ +/* EXTI_LINE83 Reserved */ +/* EXTI_LINE84 Reserved */ + +#define EXTI_LINE85 ((uint32_t)0x55) +#define EXTI_LINE86 ((uint32_t)0x56) +#define EXTI_LINE87 ((uint32_t)0x57) + +/* EXTI_LINE88 Reserved */ + + +#define IS_EXTI_CONFIG_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1)|| \ + ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ + ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ + ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ + ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ + ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ + ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ + ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ + ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ + ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ + ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ + ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE51) || \ + ((LINE) == EXTI_LINE85) || ((LINE) == EXTI_LINE86)) + +#define IS_EXTI_ALL_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ + ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ + ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ + ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ + ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ + ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ + ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ + ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ + ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ + ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ + ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ + ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ + ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ + ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ + ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ + ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ + ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ + ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ + ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ + ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ + ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ + ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ + ((LINE) == EXTI_LINE44) || \ + ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ + ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ + ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ + ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ + ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ + ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ + ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ + ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ + ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ + ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ + ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ + ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ + ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ + ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ + ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ + ((LINE) == EXTI_LINE85) || \ + ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87)) + +#define IS_EXTI_D1_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ + ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ + ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ + ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ + ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ + ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ + ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ + ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ + ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ + ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ + ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ + ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ + ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ + ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ + ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ + ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ + ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ + ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ + ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ + ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ + ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ + ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ + ((LINE) == EXTI_LINE44) || \ + ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ + ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ + ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ + ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ + ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ + ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ + ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ + ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ + ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ + ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ + ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ + ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ + ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ + ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ + ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ + ((LINE) == EXTI_LINE85) || \ + ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87)) + + +#define IS_EXTI_D3_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ + ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ + ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ + ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ + ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ + ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ + ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ + ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ + ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \ + ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \ + ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ + ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \ + ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ + ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ + ((LINE) == EXTI_LINE53)) + + +#define BDMA_CH6_CLEAR ((uint32_t)0x00000000) /*!< BDMA ch6 event selected as D3 domain pendclear source*/ +#define BDMA_CH7_CLEAR ((uint32_t)0x00000001) /*!< BDMA ch7 event selected as D3 domain pendclear source*/ +#define LPTIM4_OUT_CLEAR ((uint32_t)0x00000002) /*!< LPTIM4 out selected as D3 domain pendclear source*/ +#define LPTIM5_OUT_CLEAR ((uint32_t)0x00000003) /*!< LPTIM5 out selected as D3 domain pendclear source*/ + +#define IS_EXTI_D3_CLEAR(SOURCE) (((SOURCE) == BDMA_CH6_CLEAR) || ((SOURCE) == BDMA_CH7_CLEAR) || \ + ((SOURCE) == LPTIM4_OUT_CLEAR) || ((SOURCE) == LPTIM5_OUT_CLEAR)) + +/** + * @} + */ + + +/** @defgroup FMC_SwapBankMapping_Config SwapBankMapping Config + * @{ + */ +#define FMC_SWAPBMAP_DISABLE (0x00000000U) +#define FMC_SWAPBMAP_SDRAM_SRAM FMC_BCR1_BMAP_0 +#define FMC_SWAPBMAP_SDRAMB2 FMC_BCR1_BMAP_1 + +#define IS_FMC_SWAPBMAP_MODE(__MODE__) (((__MODE__) == FMC_SWAPBMAP_DISABLE) || \ + ((__MODE__) == FMC_SWAPBMAP_SDRAM_SRAM) || \ + ((__MODE__) == FMC_SWAPBMAP_SDRAMB2)) +/** + * @} + */ + + +/* Exported macro ------------------------------------------------------------*/ + +/** @brief Freeze/Unfreeze Peripherals in Debug mode + */ +#define __HAL_DBGMCU_FREEZE_WWDG1() (DBGMCU->APB3FZ1 |= (DBGMCU_APB3FZ1_DBG_WWDG1)) + +#define __HAL_DBGMCU_FREEZE_TIM2() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM2)) +#define __HAL_DBGMCU_FREEZE_TIM3() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM3)) +#define __HAL_DBGMCU_FREEZE_TIM4() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM4)) +#define __HAL_DBGMCU_FREEZE_TIM5() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM5)) +#define __HAL_DBGMCU_FREEZE_TIM6() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM6)) +#define __HAL_DBGMCU_FREEZE_TIM7() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM7)) +#define __HAL_DBGMCU_FREEZE_TIM12() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM12)) +#define __HAL_DBGMCU_FREEZE_TIM13() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM13)) +#define __HAL_DBGMCU_FREEZE_TIM14() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM14)) +#define __HAL_DBGMCU_FREEZE_LPTIM1() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_LPTIM1)) +#define __HAL_DBGMCU_FREEZE_I2C1() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C1)) +#define __HAL_DBGMCU_FREEZE_I2C2() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C2)) +#define __HAL_DBGMCU_FREEZE_I2C3() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C3)) +#define __HAL_DBGMCU_FREEZE_FDCAN() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_FDCAN)) + + +#define __HAL_DBGMCU_FREEZE_TIM1() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM1)) +#define __HAL_DBGMCU_FREEZE_TIM8() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM8)) +#define __HAL_DBGMCU_FREEZE_TIM15() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM15)) +#define __HAL_DBGMCU_FREEZE_TIM16() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM16)) +#define __HAL_DBGMCU_FREEZE_TIM17() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM17)) +#define __HAL_DBGMCU_FREEZE_HRTIM() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_HRTIM)) + +#define __HAL_DBGMCU_FREEZE_I2C4() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_I2C4)) +#define __HAL_DBGMCU_FREEZE_LPTIM2() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM2)) +#define __HAL_DBGMCU_FREEZE_LPTIM3() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM3)) +#define __HAL_DBGMCU_FREEZE_LPTIM4() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM4)) +#define __HAL_DBGMCU_FREEZE_LPTIM5() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM5)) +#define __HAL_DBGMCU_FREEZE_RTC() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_RTC)) +#define __HAL_DBGMCU_FREEZE_IWDG1() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_IWDG1)) + + +#define __HAL_DBGMCU_UnFreeze_WWDG1() (DBGMCU->APB3FZ1 &= ~ (DBGMCU_APB3FZ1_DBG_WWDG1)) + +#define __HAL_DBGMCU_UnFreeze_TIM2() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM2)) +#define __HAL_DBGMCU_UnFreeze_TIM3() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM3)) +#define __HAL_DBGMCU_UnFreeze_TIM4() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM4)) +#define __HAL_DBGMCU_UnFreeze_TIM5() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM5)) +#define __HAL_DBGMCU_UnFreeze_TIM6() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM6)) +#define __HAL_DBGMCU_UnFreeze_TIM7() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM7)) +#define __HAL_DBGMCU_UnFreeze_TIM12() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM12)) +#define __HAL_DBGMCU_UnFreeze_TIM13() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM13)) +#define __HAL_DBGMCU_UnFreeze_TIM14() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM14)) +#define __HAL_DBGMCU_UnFreeze_LPTIM1() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_LPTIM1)) +#define __HAL_DBGMCU_UnFreeze_I2C1() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C1)) +#define __HAL_DBGMCU_UnFreeze_I2C2() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C2)) +#define __HAL_DBGMCU_UnFreeze_I2C3() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C3)) +#define __HAL_DBGMCU_UnFreeze_FDCAN() (DBGMCU->APB1HFZ1 &= ~ (DBGMCU_APB1HFZ1_DBG_FDCAN)) + + +#define __HAL_DBGMCU_UnFreeze_TIM1() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM1)) +#define __HAL_DBGMCU_UnFreeze_TIM8() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM8)) +#define __HAL_DBGMCU_UnFreeze_TIM15() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM15)) +#define __HAL_DBGMCU_UnFreeze_TIM16() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM16)) +#define __HAL_DBGMCU_UnFreeze_TIM17() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM17)) +#define __HAL_DBGMCU_UnFreeze_HRTIM() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_HRTIM)) + +#define __HAL_DBGMCU_UnFreeze_I2C4() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_I2C4)) +#define __HAL_DBGMCU_UnFreeze_LPTIM2() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM2)) +#define __HAL_DBGMCU_UnFreeze_LPTIM3() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM3)) +#define __HAL_DBGMCU_UnFreeze_LPTIM4() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM4)) +#define __HAL_DBGMCU_UnFreeze_LPTIM5() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM5)) +#define __HAL_DBGMCU_UnFreeze_RTC() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_RTC)) +#define __HAL_DBGMCU_UnFreeze_IWDG1() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_IWDG1)) + + + +/** @defgroup HAL_Private_Macros HAL Private Macros + * @{ + */ +#define IS_TICKFREQ(FREQ) (((FREQ) == HAL_TICK_FREQ_10HZ) || \ + ((FREQ) == HAL_TICK_FREQ_100HZ) || \ + ((FREQ) == HAL_TICK_FREQ_1KHZ)) +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/* Initialization and de-initialization functions ******************************/ +HAL_StatusTypeDef HAL_Init(void); +HAL_StatusTypeDef HAL_DeInit(void); +void HAL_MspInit(void); +void HAL_MspDeInit(void); +HAL_StatusTypeDef HAL_InitTick (uint32_t TickPriority); + +/* Peripheral Control functions ************************************************/ +void HAL_IncTick(void); +void HAL_Delay(__IO uint32_t Delay); +uint32_t HAL_GetTick(void); +uint32_t HAL_GetTickPrio(void); +HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq); +HAL_TickFreqTypeDef HAL_GetTickFreq(void); +void HAL_SuspendTick(void); +void HAL_ResumeTick(void); +uint32_t HAL_GetHalVersion(void); +uint32_t HAL_GetREVID(void); +uint32_t HAL_GetDEVID(void); +void HAL_SYSCFG_ETHInterfaceSelect(uint32_t SYSCFG_ETHInterface); +void HAL_SYSCFG_AnalogSwitchConfig(uint32_t SYSCFG_AnalogSwitch , uint32_t SYSCFG_SwitchState ); +void HAL_SYSCFG_EnableBOOST(void); +void HAL_SYSCFG_DisableBOOST(void); +void HAL_SYSCFG_CM7BootAddConfig(uint32_t BootRegister, uint32_t BootAddress); +void HAL_EnableCompensationCell(void); +void HAL_DisableCompensationCell(void); +void HAL_SYSCFG_EnableIOSpeedOptimize(void); +void HAL_SYSCFG_DisableIOSpeedOptimize(void); +void HAL_SYSCFG_CompensationCodeSelect(uint32_t SYSCFG_CompCode); +void HAL_SYSCFG_CompensationCodeConfig(uint32_t SYSCFG_PMOSCode, uint32_t SYSCFG_NMOSCode); +void HAL_EnableDBGSleepMode(void); +void HAL_DisableDBGSleepMode(void); +void HAL_EnableDBGStopMode(void); +void HAL_DisableDBGStopMode(void); +void HAL_EnableDBGStandbyMode(void); +void HAL_DisableDBGStandbyMode(void); +void HAL_EnableDomain3DBGStopMode(void); +void HAL_DisableDomain3DBGStopMode(void); +void HAL_EnableDomain3DBGStandbyMode(void); +void HAL_DisableDomain3DBGStandbyMode(void); +void HAL_EXTI_EdgeConfig(uint32_t EXTI_Line , uint32_t EXTI_Edge ); +void HAL_EXTI_GenerateSWInterrupt(uint32_t EXTI_Line); +void HAL_EXTI_D1_ClearFlag(uint32_t EXTI_Line); +void HAL_EXTI_D1_EventInputConfig(uint32_t EXTI_Line , uint32_t EXTI_Mode, uint32_t EXTI_LineCmd); +void HAL_EXTI_D3_EventInputConfig(uint32_t EXTI_Line, uint32_t EXTI_LineCmd , uint32_t EXTI_ClearSrc); +void HAL_SetFMCMemorySwappingConfig(uint32_t BankMapConfig); +uint32_t HAL_GetFMCMemorySwappingConfig(void); +void HAL_SYSCFG_VREFBUF_VoltageScalingConfig(uint32_t VoltageScaling); +void HAL_SYSCFG_VREFBUF_HighImpedanceConfig(uint32_t Mode); +void HAL_SYSCFG_VREFBUF_TrimmingConfig(uint32_t TrimmingValue); +HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void); +void HAL_SYSCFG_DisableVREFBUF(void); + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc.h new file mode 100644 index 0000000000..e6b7cbd8e9 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc.h @@ -0,0 +1,993 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_adc.h + * @author MCD Application Team + * @brief Header file of ADC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_ADC_H +#define __STM32H7xx_ADC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup ADC + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup ADC_Exported_Types ADC Exported Types + * @{ + */ + +/** + * @brief ADC Regular Conversion Oversampling structure definition + */ +typedef struct +{ + uint32_t Ratio; /*!< Configures the oversampling ratio. */ + + + uint32_t RightBitShift; /*!< Configures the division coefficient for the Oversampler. + This parameter can be a value of @ref ADCEx_Right_Bit_Shift */ + + uint32_t TriggeredMode; /*!< Selects the regular triggered oversampling mode. + This parameter can be a value of @ref ADCEx_Triggered_Oversampling_Mode */ + + uint32_t OversamplingStopReset; /*!< Selects the regular oversampling mode. + The oversampling is either temporary stopped or reset upon an injected + sequence interruption. + If oversampling is enabled on both regular and injected groups, this parameter + is discarded and forced to setting "ADC_REGOVERSAMPLING_RESUMED_MODE" + (the oversampling buffer is zeroed during injection sequence). + This parameter can be a value of @ref ADCEx_Regular_Oversampling_Mode */ +}ADC_OversamplingTypeDef; + +/** + * @brief Structure definition of ADC instance and ADC group regular. + * @note Parameters of this structure are shared within 2 scopes: + * - Scope entire ADC (affects ADC groups regular and injected): ClockPrescaler, Resolution, DataAlign, + * ScanConvMode, EOCSelection, LowPowerAutoWait. + * - Scope ADC group regular: ContinuousConvMode, NbrOfConversion, DiscontinuousConvMode, NbrOfDiscConversion, + * ExternalTrigConv, ExternalTrigConvEdge, DMAContinuousRequests, Overrun, OversamplingMode, Oversampling. + * @note The setting of these parameters by function HAL_ADC_Init() is conditioned to ADC state. + * ADC state can be either: + * - For all parameters: ADC disabled + * - For all parameters except 'LowPowerAutoWait', 'DMAContinuousRequests' and 'Oversampling': ADC enabled without conversion on going on group regular. + * - For parameters 'LowPowerAutoWait' and 'DMAContinuousRequests': ADC enabled without conversion on going on groups regular and injected. + * If ADC is not in the appropriate state to modify some parameters, these parameters setting is bypassed + * without error reporting (as it can be the expected behavior in case of intended action to update another parameter + * (which fulfills the ADC state condition) on the fly). + */ +typedef struct +{ + uint32_t ClockPrescaler; /*!< Select ADC clock source (synchronous clock derived from APB clock or asynchronous clock derived from System/PLL2/PLL3 clocks) and clock prescaler. + + This parameter can be a value of @ref ADC_ClockPrescaler. + Note: The clock is common for all the ADCs. + Note: In case of usage of channels on injected group, ADC frequency should be lower than AHB clock frequency /4 for resolution 16, 14, 12 or 10 bits, + AHB clock frequency /3 for resolution 8 bits. + Note: In case of synchronous clock mode based on HCLK/1, the configuration must be enabled only + if the system clock has a 50% duty clock cycle (APB prescaler configured inside RCC + must be bypassed and PCLK clock must have 50% duty cycle). Refer to reference manual for details. + Note: In case of usage of the ADC dedicated PLL clock, it must be preliminarily enabled at RCC top level. + Note: This parameter can be modified only if all ADCs are disabled. */ + + uint32_t Resolution; /*!< Configure the ADC resolution. + This parameter can be a value of @ref ADC_Resolution */ + + uint32_t ScanConvMode; /*!< Configure the sequencer of ADC groups regular and injected. + This parameter can be associated to parameter 'DiscontinuousConvMode' to have main sequence subdivided in successive parts. + If disabled: Conversion is performed in single mode (one channel converted, the one defined in rank 1). + Parameters 'NbrOfConversion' and 'InjectedNbrOfConversion' are discarded (equivalent to set to 1). + If enabled: Conversions are performed in sequence mode (multiple ranks defined by 'NbrOfConversion' or 'InjectedNbrOfConversion' and rank of each channel in sequencer). + Scan direction is upward: from rank 1 to rank 'n'. + This parameter can be a value of @ref ADC_Scan_mode */ + + uint32_t EOCSelection; /*!< Specify which EOC (End Of Conversion) flag is used for conversion by polling and interruption: end of unitary conversion or end of sequence conversions. + This parameter can be a value of @ref ADC_EOCSelection. */ + + FunctionalState LowPowerAutoWait; /*!< Select the dynamic low power Auto Delay: new conversion start only when the previous + conversion (for ADC group regular) or previous sequence (for ADC group injected) has been retrieved by user software, + using function HAL_ADC_GetValue() or HAL_ADCEx_InjectedGetValue(). + This feature automatically adapts the frequency of ADC conversions triggers to the speed of the system that reads the data. Moreover, this avoids risk of overrun + for low frequency applications. + This parameter can be set to ENABLE or DISABLE. + Note: Do not use with interruption or DMA (HAL_ADC_Start_IT(), HAL_ADC_Start_DMA()) since they clear immediately the EOC flag + to free the IRQ vector sequencer. + Do use with polling: 1. Start conversion with HAL_ADC_Start(), 2. Later on, when ADC conversion data is needed: + use HAL_ADC_PollForConversion() to ensure that conversion is completed and HAL_ADC_GetValue() to retrieve conversion result and trig another conversion start. + (in case of usage of ADC group injected, use the equivalent functions HAL_ADCExInjected_Start(), HAL_ADCEx_InjectedGetValue(), ...). */ + + FunctionalState ContinuousConvMode; /*!< Specify whether the conversion is performed in single mode (one conversion) or continuous mode for ADC group regular, + after the first ADC conversion start trigger occurred (software start or external trigger). + This parameter can be set to ENABLE or DISABLE. */ + + uint32_t NbrOfConversion; /*!< Specify the number of ranks that will be converted within the regular group sequencer. + To use the regular group sequencer and convert several ranks, parameter 'ScanConvMode' must be enabled. + This parameter must be a number between Min_Data = 1 and Max_Data = 16. + Note: This parameter must be modified when no conversion is on going on regular group (ADC disabled, or ADC enabled without + continuous mode or external trigger that could launch a conversion). */ + + FunctionalState DiscontinuousConvMode; /*!< Specify whether the conversions sequence of ADC group regular is performed in Complete-sequence/Discontinuous-sequence + (main sequence subdivided in successive parts). + Discontinuous mode is used only if sequencer is enabled (parameter 'ScanConvMode'). If sequencer is disabled, this parameter is discarded. + Discontinuous mode can be enabled only if continuous mode is disabled. If continuous mode is enabled, this parameter setting is discarded. + This parameter can be set to ENABLE or DISABLE. */ + + uint32_t NbrOfDiscConversion; /*!< Specifies the number of discontinuous conversions in which the main sequence of ADC group regular (parameter NbrOfConversion) will be subdivided. + If parameter 'DiscontinuousConvMode' is disabled, this parameter is discarded. + This parameter must be a number between Min_Data = 1 and Max_Data = 8. */ + + uint32_t ExternalTrigConv; /*!< Select the external event source used to trigger ADC group regular conversion start. + If set to ADC_SOFTWARE_START, external triggers are disabled and software trigger is used instead. + This parameter can be a value of @ref ADC_regular_external_trigger_source. + Caution: external trigger source is common to all ADC instances. */ + + uint32_t ExternalTrigConvEdge; /*!< Select the external event edge used to trigger ADC group regular conversion start. + If trigger source is set to ADC_SOFTWARE_START, this parameter is discarded. + This parameter can be a value of @ref ADC_regular_external_trigger_edge */ + + uint32_t ConversionDataManagement; /*!< Specifies whether the Data conversion data is managed: using the DMA (oneshot or circular), or stored in the DR register or transfered to DFSDM register. + Note: In continuous mode, DMA must be configured in circular mode. Otherwise an overrun will be triggered when DMA buffer maximum pointer is reached. + This parameter can be a value of @ref ADC_ConversionDataManagement. + Note: This parameter must be modified when no conversion is on going on both regular and injected groups + (ADC disabled, or ADC enabled without continuous mode or external trigger that could launch a conversion). */ + + uint32_t Overrun; /*!< Select the behavior in case of overrun: data overwritten or preserved (default). + This parameter applies to ADC group regular only. + This parameter can be a value of @ref ADC_Overrun. + Note: In case of overrun set to data preserved and usage with programming model with interruption (HAL_Start_IT()): ADC IRQ handler has to clear + end of conversion flags, this induces the release of the preserved data. If needed, this data can be saved in function + HAL_ADC_ConvCpltCallback(), placed in user program code (called before end of conversion flags clear). + Note: Error reporting with respect to the conversion mode: + - Usage with ADC conversion by polling for event or interruption: Error is reported only if overrun is set to data preserved. If overrun is set to data + overwritten, user can willingly not read all the converted data, this is not considered as an erroneous case. + - Usage with ADC conversion by DMA: Error is reported whatever overrun setting (DMA is expected to process all data from data register). */ + + uint32_t LeftBitShift; /*!< Configures the left shifting applied to the final result with or without oversampling. + This parameter can be a value of @ref ADCEx_Left_Bit_Shift */ + + FunctionalState BoostMode; /*!< Configures the Boost mode control. + When selecting an analog ADC clock frequency bigger than 20MHz, + it is mandatory to first enable the BOOST Mode. + This parameter can be set to ENABLE or DISABLE. */ + + FunctionalState OversamplingMode; /*!< Specify whether the oversampling feature is enabled or disabled. + This parameter can be set to ENABLE or DISABLE. + Note: This parameter can be modified only if there is no conversion is ongoing on ADC groups regular and injected */ + + ADC_OversamplingTypeDef Oversampling; /*!< Specify the Oversampling parameters. + Caution: this setting overwrites the previous oversampling configuration if oversampling is already enabled. */ +}ADC_InitTypeDef; + +/** + * @brief Structure definition of ADC analog watchdog + * @note The setting of these parameters by function HAL_ADC_AnalogWDGConfig() is conditioned to ADC state. + * ADC state can be either: + * ADC disabled or ADC enabled without conversion on going on ADC groups regular and injected. + */ +typedef struct +{ + uint32_t WatchdogNumber; /*!< Select which ADC analog watchdog is monitoring the selected channel. + For Analog Watchdog 1: Only 1 channel can be monitored (or overall group of channels by setting parameter 'WatchdogMode') + For Analog Watchdog 2 and 3: Several channels can be monitored (by successive calls of 'HAL_ADC_AnalogWDGConfig()' for each channel) + This parameter can be a value of @ref ADCEx_analog_watchdog_number. */ + + uint32_t WatchdogMode; /*!< Configure the ADC analog watchdog mode: single/all/none channels. + For Analog Watchdog 1: Configure the ADC analog watchdog mode: single channel/all channels, ADC groups regular and/or injected. + For Analog Watchdog 2 and 3: There is no configuration for all channels as AWD1. Set value 'ADC_ANALOGWATCHDOG_NONE' to reset + channels group programmed with parameter 'Channel', set any other value to program the channel(s) to be monitored. + This parameter can be a value of @ref ADCEx_analog_watchdog_mode. */ + + uint32_t Channel; /*!< Select which ADC channel to monitor by analog watchdog. + For Analog Watchdog 1: this parameter has an effect only if parameter 'WatchdogMode' is configured on single channel (only 1 channel can be monitored). + For Analog Watchdog 2 and 3: Several channels can be monitored. To use this feature, call successively the function HAL_ADC_AnalogWDGConfig() for each channel to be added (or removed with value 'ADC_ANALOGWATCHDOG_NONE'). + This parameter can be a value of @ref ADC_channels. */ + + FunctionalState ITMode; /*!< Specify whether the analog watchdog is configured in interrupt or polling mode. + This parameter can be set to ENABLE or DISABLE */ + + uint32_t HighThreshold; /*!< Configure the ADC analog watchdog High threshold value. + Depending of ADC resolution selected (16, 14, 12, 10 or 8 bits), this parameter must be a number + between Min_Data = 0x0000 and Max_Data = 0xFFFF, 0x3FFF, 0xFFF, 0x3FF or 0xFF respectively. */ + + uint32_t LowThreshold; /*!< Configures the ADC analog watchdog Low threshold value. + Depending of ADC resolution selected (16, 14, 12, or 8 bits), this parameter must be a number + between Min_Data = 0x0000 and Max_Data = 0xFFFF, 0x3FFF, 0xFFF, 0x3FF or 0xFF respectively. */ + +}ADC_AnalogWDGConfTypeDef; + +/** @defgroup ADC_States ADC States + * @{ + */ +/** + * @brief HAL ADC state machine: ADC states definition (bitfields) + * @note ADC state machine is managed by bitfields, state must be compared + * with bit by bit. + * For example: + * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_REG_BUSY)) " + * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_AWD1) ) " + */ +/* States of ADC global scope */ +#define HAL_ADC_STATE_RESET ((uint32_t)0x00000000) /*!< ADC not yet initialized or disabled */ +#define HAL_ADC_STATE_READY ((uint32_t)0x00000001) /*!< ADC peripheral ready for use */ +#define HAL_ADC_STATE_BUSY_INTERNAL ((uint32_t)0x00000002) /*!< ADC is busy due to an internal process (initialization, calibration) */ +#define HAL_ADC_STATE_TIMEOUT ((uint32_t)0x00000004) /*!< TimeOut occurrence */ + +/* States of ADC errors */ +#define HAL_ADC_STATE_ERROR_INTERNAL ((uint32_t)0x00000010) /*!< Internal error occurrence */ +#define HAL_ADC_STATE_ERROR_CONFIG ((uint32_t)0x00000020) /*!< Configuration error occurrence */ +#define HAL_ADC_STATE_ERROR_DMA ((uint32_t)0x00000040) /*!< DMA error occurrence */ + +/* States of ADC group regular */ +#define HAL_ADC_STATE_REG_BUSY ((uint32_t)0x00000100) /*!< A conversion on ADC group regular is ongoing or can occur (either by continuous mode, + external trigger, low power auto power-on (if feature available), multimode ADC master control (if feature available)) */ +#define HAL_ADC_STATE_REG_EOC ((uint32_t)0x00000200) /*!< Conversion data available on group regular */ +#define HAL_ADC_STATE_REG_OVR ((uint32_t)0x00000400) /*!< Overrun occurrence */ +#define HAL_ADC_STATE_REG_EOSMP ((uint32_t)0x00000800) /*!< Not available on this STM32 serie: End Of Sampling flag raised */ + +/* States of ADC group injected */ +#define HAL_ADC_STATE_INJ_BUSY ((uint32_t)0x00001000) /*!< A conversion on ADC group injected is ongoing or can occur (either by auto-injection mode, + external trigger, low power auto power-on (if feature available), multimode ADC master control (if feature available)) */ +#define HAL_ADC_STATE_INJ_EOC ((uint32_t)0x00002000) /*!< Conversion data available on group injected */ +#define HAL_ADC_STATE_INJ_JQOVF ((uint32_t)0x00004000) /*!< Injected queue overflow occurrence */ + +/* States of ADC analog watchdogs */ +#define HAL_ADC_STATE_AWD1 ((uint32_t)0x00010000) /*!< Out-of-window occurrence of ADC analog watchdog 1 */ +#define HAL_ADC_STATE_AWD2 ((uint32_t)0x00020000) /*!< Out-of-window occurrence of ADC analog watchdog 2 */ +#define HAL_ADC_STATE_AWD3 ((uint32_t)0x00040000) /*!< Out-of-window occurrence of ADC analog watchdog 3 */ + +/* States of ADC multi-mode */ +#define HAL_ADC_STATE_MULTIMODE_SLAVE ((uint32_t)0x00100000) /*!< ADC in multimode slave state, controlled by another ADC master (when feature available) */ +/** + * @} + */ + +/** + * @} + */ + + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup ADC_Exported_Constants ADC Exported Constants + * @{ + */ + +/** @defgroup ADC_Error_Code ADC Error Code + * @{ + */ +#define HAL_ADC_ERROR_NONE ((uint32_t)0x00) /*!< No error */ +#define HAL_ADC_ERROR_INTERNAL ((uint32_t)0x01) /*!< ADC IP internal error (problem of clocking, + enable/disable, erroneous state, ...) */ +#define HAL_ADC_ERROR_OVR ((uint32_t)0x02) /*!< Overrun error */ +#define HAL_ADC_ERROR_DMA ((uint32_t)0x04) /*!< DMA transfer error */ +#define HAL_ADC_ERROR_JQOVF ((uint32_t)0x08) /*!< Injected context queue overflow error */ +/** + * @} + */ + +/** @defgroup ADC_ClockPrescaler ADC clock source and clock prescaler + * @{ + */ +#define ADC_CLOCK_SYNC_PCLK_DIV1 ((uint32_t)ADC_CCR_CKMODE_0) /*!< ADC synchronous clock derived from AHB clock not divided */ +#define ADC_CLOCK_SYNC_PCLK_DIV2 ((uint32_t)ADC_CCR_CKMODE_1) /*!< ADC synchronous clock derived from AHB clock divided by 2 */ +#define ADC_CLOCK_SYNC_PCLK_DIV4 ((uint32_t)ADC_CCR_CKMODE) /*!< ADC synchronous clock derived from AHB clock divided by 4 */ + +#define ADC_CLOCKPRESCALER_PCLK_DIV1 ADC_CLOCK_SYNC_PCLK_DIV1 /*!< Obsolete naming, kept for compatibility with some other devices */ +#define ADC_CLOCKPRESCALER_PCLK_DIV2 ADC_CLOCK_SYNC_PCLK_DIV2 /*!< Obsolete naming, kept for compatibility with some other devices */ +#define ADC_CLOCKPRESCALER_PCLK_DIV4 ADC_CLOCK_SYNC_PCLK_DIV4 /*!< Obsolete naming, kept for compatibility with some other devices */ + +#define ADC_CLOCK_ASYNC_DIV1 ((uint32_t)0x00000000) /*!< ADC asynchronous clock not divided */ +#define ADC_CLOCK_ASYNC_DIV2 ((uint32_t)ADC_CCR_PRESC_0) /*!< ADC asynchronous clock divided by 2 */ +#define ADC_CLOCK_ASYNC_DIV4 ((uint32_t)ADC_CCR_PRESC_1) /*!< ADC asynchronous clock divided by 4 */ +#define ADC_CLOCK_ASYNC_DIV6 ((uint32_t)(ADC_CCR_PRESC_1|ADC_CCR_PRESC_0)) /*!< ADC asynchronous clock divided by 6 */ +#define ADC_CLOCK_ASYNC_DIV8 ((uint32_t)(ADC_CCR_PRESC_2)) /*!< ADC asynchronous clock divided by 8 */ +#define ADC_CLOCK_ASYNC_DIV10 ((uint32_t)(ADC_CCR_PRESC_2|ADC_CCR_PRESC_0)) /*!< ADC asynchronous clock divided by 10 */ +#define ADC_CLOCK_ASYNC_DIV12 ((uint32_t)(ADC_CCR_PRESC_2|ADC_CCR_PRESC_1)) /*!< ADC asynchronous clock divided by 12 */ +#define ADC_CLOCK_ASYNC_DIV16 ((uint32_t)(ADC_CCR_PRESC_2|ADC_CCR_PRESC_1|ADC_CCR_PRESC_0)) /*!< ADC asynchronous clock divided by 16 */ +#define ADC_CLOCK_ASYNC_DIV32 ((uint32_t)(ADC_CCR_PRESC_3)) /*!< ADC asynchronous clock divided by 32 */ +#define ADC_CLOCK_ASYNC_DIV64 ((uint32_t)(ADC_CCR_PRESC_3|ADC_CCR_PRESC_0)) /*!< ADC asynchronous clock divided by 64 */ +#define ADC_CLOCK_ASYNC_DIV128 ((uint32_t)(ADC_CCR_PRESC_3|ADC_CCR_PRESC_1)) /*!< ADC asynchronous clock divided by 128 */ +#define ADC_CLOCK_ASYNC_DIV256 ((uint32_t)(ADC_CCR_PRESC_3|ADC_CCR_PRESC_1|ADC_CCR_PRESC_0)) /*!< ADC asynchronous clock divided by 256 */ +/** + * @} + */ + +/** @defgroup ADC_Resolution ADC Resolution + * @{ + */ +#define ADC_RESOLUTION_16B ((uint32_t)0x00000000) /*!< ADC 16-bit resolution */ +#define ADC_RESOLUTION_14B ((uint32_t)ADC_CFGR_RES_0) /*!< ADC 14-bit resolution */ +#define ADC_RESOLUTION_12B ((uint32_t)ADC_CFGR_RES_1) /*!< ADC 12-bit resolution */ +#define ADC_RESOLUTION_10B ((uint32_t)(ADC_CFGR_RES_1 | ADC_CFGR_RES_0)) /*!< ADC 10-bit resolution */ +#define ADC_RESOLUTION_8B ((uint32_t)ADC_CFGR_RES_2) /*!< ADC 8-bit resolution */ +/** + * @} + */ + +/** @defgroup ADC_Scan_mode ADC sequencer scan mode + * @{ + */ +#define ADC_SCAN_DISABLE ((uint32_t)0x00000000) /*!< Scan mode disabled */ +#define ADC_SCAN_ENABLE ((uint32_t)0x00000001) /*!< Scan mode enabled */ +/** + * @} + */ + +/** @defgroup ADC_regular_external_trigger_source ADC group regular trigger source + * @{ + */ +/* External triggers of regular group for ADC1, ADC2, ADC3 */ +#define ADC_EXTERNALTRIG_T1_CC1 ((uint32_t)0x00000000) +#define ADC_EXTERNALTRIG_T1_CC2 ((uint32_t)ADC_CFGR_EXTSEL_0) +#define ADC_EXTERNALTRIG_T1_CC3 ((uint32_t)ADC_CFGR_EXTSEL_1) +#define ADC_EXTERNALTRIG_T2_CC2 ((uint32_t)(ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_T3_TRGO ((uint32_t)ADC_CFGR_EXTSEL_2) +#define ADC_EXTERNALTRIG_T4_CC4 ((uint32_t)(ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_EXT_IT11 ((uint32_t)(ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1)) +#define ADC_EXTERNALTRIG_T8_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_T8_TRGO2 ((uint32_t) ADC_CFGR_EXTSEL_3) +#define ADC_EXTERNALTRIG_T1_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_T1_TRGO2 ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1)) +#define ADC_EXTERNALTRIG_T2_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_T4_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2)) +#define ADC_EXTERNALTRIG_T6_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_T15_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1)) +#define ADC_EXTERNALTRIG_T3_CC4 ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_HR1_ADCTRG1 ((uint32_t) ADC_CFGR_EXTSEL_4) +#define ADC_EXTERNALTRIG_HR1_ADCTRG3 ((uint32_t) (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_LPTIM1_OUT ((uint32_t) (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_1)) +#define ADC_EXTERNALTRIG_LPTIM2_OUT ((uint32_t) (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_1| ADC_CFGR_EXTSEL_0)) +#define ADC_EXTERNALTRIG_LPTIM3_OUT ((uint32_t) (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_2)) + +#define ADC_SOFTWARE_START ((uint32_t)0x00000001) +/** + * @} + */ + +/** @defgroup ADC_regular_external_trigger_edge ADC group regular trigger edge (when external trigger is selected) + * @{ + */ +#define ADC_EXTERNALTRIGCONVEDGE_NONE ((uint32_t)0x00000000) /*!< Regular conversions hardware trigger detection disabled */ +#define ADC_EXTERNALTRIGCONVEDGE_RISING ((uint32_t)ADC_CFGR_EXTEN_0) /*!< Regular conversions hardware trigger detection on the rising edge */ +#define ADC_EXTERNALTRIGCONVEDGE_FALLING ((uint32_t)ADC_CFGR_EXTEN_1) /*!< Regular conversions hardware trigger detection on the falling edge */ +#define ADC_EXTERNALTRIGCONVEDGE_RISINGFALLING ((uint32_t)ADC_CFGR_EXTEN) /*!< Regular conversions hardware trigger detection on both the rising and falling edges */ +/** + * @} + */ + +/** @defgroup ADC_EOCSelection ADC sequencer end of unitary conversion or sequence conversions + * @{ + */ +#define ADC_EOC_SINGLE_CONV ((uint32_t) ADC_ISR_EOC) /*!< End of unitary conversion flag */ +#define ADC_EOC_SEQ_CONV ((uint32_t) ADC_ISR_EOS) /*!< End of sequence conversions flag */ +/** + * @} + */ + +/** @defgroup ADC_Overrun ADC overrun + * @{ + */ +#define ADC_OVR_DATA_PRESERVED ((uint32_t)0x00000000) /*!< Data preserved in case of overrun */ +#define ADC_OVR_DATA_OVERWRITTEN ((uint32_t)ADC_CFGR_OVRMOD) /*!< Data overwritten in case of overrun */ +/** + * @} + */ + +/** @defgroup ADC_regular_rank ADC group regular sequencer rank + * @{ + */ +#define ADC_REGULAR_RANK_1 ((uint32_t)0x00000001) /*!< ADC regular conversion rank 1 */ +#define ADC_REGULAR_RANK_2 ((uint32_t)0x00000002) /*!< ADC regular conversion rank 2 */ +#define ADC_REGULAR_RANK_3 ((uint32_t)0x00000003) /*!< ADC regular conversion rank 3 */ +#define ADC_REGULAR_RANK_4 ((uint32_t)0x00000004) /*!< ADC regular conversion rank 4 */ +#define ADC_REGULAR_RANK_5 ((uint32_t)0x00000005) /*!< ADC regular conversion rank 5 */ +#define ADC_REGULAR_RANK_6 ((uint32_t)0x00000006) /*!< ADC regular conversion rank 6 */ +#define ADC_REGULAR_RANK_7 ((uint32_t)0x00000007) /*!< ADC regular conversion rank 7 */ +#define ADC_REGULAR_RANK_8 ((uint32_t)0x00000008) /*!< ADC regular conversion rank 8 */ +#define ADC_REGULAR_RANK_9 ((uint32_t)0x00000009) /*!< ADC regular conversion rank 9 */ +#define ADC_REGULAR_RANK_10 ((uint32_t)0x0000000A) /*!< ADC regular conversion rank 10 */ +#define ADC_REGULAR_RANK_11 ((uint32_t)0x0000000B) /*!< ADC regular conversion rank 11 */ +#define ADC_REGULAR_RANK_12 ((uint32_t)0x0000000C) /*!< ADC regular conversion rank 12 */ +#define ADC_REGULAR_RANK_13 ((uint32_t)0x0000000D) /*!< ADC regular conversion rank 13 */ +#define ADC_REGULAR_RANK_14 ((uint32_t)0x0000000E) /*!< ADC regular conversion rank 14 */ +#define ADC_REGULAR_RANK_15 ((uint32_t)0x0000000F) /*!< ADC regular conversion rank 15 */ +#define ADC_REGULAR_RANK_16 ((uint32_t)0x00000010) /*!< ADC regular conversion rank 16 */ +/** + * @} + */ + +/** @defgroup ADC_channels ADC Channels + * @{ + */ +#define ADC_CHANNEL_0 ((uint32_t)(0x00000000)) +#define ADC_CHANNEL_1 ((uint32_t)(ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_2 ((uint32_t)(ADC_SQR3_SQ10_1)) +#define ADC_CHANNEL_3 ((uint32_t)(ADC_SQR3_SQ10_1 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_4 ((uint32_t)(ADC_SQR3_SQ10_2)) +#define ADC_CHANNEL_5 ((uint32_t)(ADC_SQR3_SQ10_2 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_6 ((uint32_t)(ADC_SQR3_SQ10_2 | ADC_SQR3_SQ10_1)) +#define ADC_CHANNEL_7 ((uint32_t)(ADC_SQR3_SQ10_2 | ADC_SQR3_SQ10_1 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_8 ((uint32_t)(ADC_SQR3_SQ10_3)) +#define ADC_CHANNEL_9 ((uint32_t)(ADC_SQR3_SQ10_3 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_10 ((uint32_t)(ADC_SQR3_SQ10_3 | ADC_SQR3_SQ10_1)) +#define ADC_CHANNEL_11 ((uint32_t)(ADC_SQR3_SQ10_3 | ADC_SQR3_SQ10_1 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_12 ((uint32_t)(ADC_SQR3_SQ10_3 | ADC_SQR3_SQ10_2)) +#define ADC_CHANNEL_13 ((uint32_t)(ADC_SQR3_SQ10_3 | ADC_SQR3_SQ10_2 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_14 ((uint32_t)(ADC_SQR3_SQ10_3 | ADC_SQR3_SQ10_2 | ADC_SQR3_SQ10_1)) +#define ADC_CHANNEL_15 ((uint32_t)(ADC_SQR3_SQ10_3 | ADC_SQR3_SQ10_2 | ADC_SQR3_SQ10_1 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_16 ((uint32_t)(ADC_SQR3_SQ10_4)) +#define ADC_CHANNEL_17 ((uint32_t)(ADC_SQR3_SQ10_4 | ADC_SQR3_SQ10_0)) +#define ADC_CHANNEL_18 ((uint32_t)(ADC_SQR3_SQ10_4 | ADC_SQR3_SQ10_1)) +#define ADC_CHANNEL_19 ((uint32_t)(ADC_SQR3_SQ10_4 | ADC_SQR3_SQ10_1| ADC_SQR3_SQ10_0)) + +/* Note: Vbat/4, TempSensor and VREFINT internal channels are available on ADC3 only */ +#define ADC_CHANNEL_VBAT_DIV4 ADC_CHANNEL_17 +#define ADC_CHANNEL_TEMPSENSOR ADC_CHANNEL_18 +#define ADC_CHANNEL_VREFINT ADC_CHANNEL_19 + +/* Note: DAC1CH1 and DAC1CH2 internal channels is available on ADC2 only */ +#define ADC_CHANNEL_DAC1CH1_ADC2 (ADC_CHANNEL_16) /*!< ADC internal channel connected to DAC1 channel 1, channel specific to ADC2 */ +#define ADC_CHANNEL_DAC1CH2_ADC2 (ADC_CHANNEL_17) /*!< ADC internal channel connected to DAC1 channel 2, channel specific to ADC2 */ +/** + * @} + */ + + +/** @defgroup ADC_ConversionDataManagement ADC Conversion Data Management + * @{ + */ +#define ADC_CONVERSIONDATA_DR ((uint32_t)0x00000000) /*!< Regular Conversion data stored in DR register only */ +#define ADC_CONVERSIONDATA_DFSDM ((uint32_t)ADC_CFGR_DMNGT_1) /*!< DFSDM mode selected */ +#define ADC_CONVERSIONDATA_DMA_ONESHOT ((uint32_t)ADC_CFGR_DMNGT_0) /*!< DMA one shot mode selected */ +#define ADC_CONVERSIONDATA_DMA_CIRCULAR ((uint32_t)(ADC_CFGR_DMNGT_0 | ADC_CFGR_DMNGT_1)) /*!< DMA circular mode selected */ +/** + * @} + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ + +/** @defgroup ADC_Private_Macro ADC Private Macros + * @{ + */ + +/** + * @brief Verify the ADC data conversion setting. + * @param DATA : programmed DATA conversion mode. + * @retval SET (DATA is a valid value) or RESET (DATA is invalid) + */ +#define IS_ADC_CONVERSIONDATAMGT(DATA) \ + ((((DATA) == ADC_CONVERSIONDATA_DR)) || \ + (((DATA) == ADC_CONVERSIONDATA_DFSDM)) || \ + (((DATA) == ADC_CONVERSIONDATA_DMA_ONESHOT)) || \ + (((DATA) == ADC_CONVERSIONDATA_DMA_CIRCULAR))) + +/** + * @brief Test if conversion trigger of regular group is software start + * or external trigger. + * @param __HANDLE__: ADC handle + * @retval SET (software start) or RESET (external trigger) + */ +#define ADC_IS_SOFTWARE_START_REGULAR(__HANDLE__) \ + (((__HANDLE__)->Instance->CFGR & ADC_CFGR_EXTEN) == RESET) + +/** + * @brief Returns resolution bits in CFGR register: RES[1:0]. + * Returned value is among parameters in @ref ADC_Resolution. + * @param __HANDLE__: ADC handle + * @retval Parameter of @ref ADC_Resolution set. + */ +#define ADC_GET_RESOLUTION(__HANDLE__) (((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES) + +/** + * @brief Clear ADC error code (set it to error code: "no error") + * @param __HANDLE__: ADC handle + * @retval None + */ +#define ADC_CLEAR_ERRORCODE(__HANDLE__) ((__HANDLE__)->ErrorCode = HAL_ADC_ERROR_NONE) + +/** + * @brief Verification of ADC state: enabled or disabled + * @param __HANDLE__: ADC handle + * @retval SET (ADC enabled) or RESET (ADC disabled) + */ +#define ADC_IS_ENABLE(__HANDLE__) \ + (( ((((__HANDLE__)->Instance->CR) & (ADC_CR_ADEN | ADC_CR_ADDIS)) == ADC_CR_ADEN) && \ + ((((__HANDLE__)->Instance->ISR) & ADC_FLAG_RDY) == ADC_FLAG_RDY) \ + ) ? SET : RESET) + +/** + * @brief Check if no conversion on going on regular group + * @param __HANDLE__: ADC handle + * @retval SET (conversion is on going) or RESET (no conversion is on going) + */ +#define ADC_IS_CONVERSION_ONGOING_REGULAR(__HANDLE__) \ + (( (((__HANDLE__)->Instance->CR) & ADC_CR_ADSTART) == RESET \ + ) ? RESET : SET) + +/** + * @brief Simultaneously clears and sets specific bits of the handle State + * @note: ADC_STATE_CLR_SET() macro is merely aliased to generic macro MODIFY_REG(), + * the first parameter is the ADC handle State, the second parameter is the + * bit field to clear, the third and last parameter is the bit field to set + * @retval None + */ +#define ADC_STATE_CLR_SET MODIFY_REG + +/** + * @brief Verify that a given value is aligned with the ADC resolution range. + * @param RESOLUTION: ADC resolution (16, 14, 12, 10 or 8 bits). + * @param ADC_VALUE: value checked against the resolution. + * @retval SET (ADC_VALUE in line with RESOLUTION) or RESET (ADC_VALUE not in line with RESOLUTION) + */ +#define IS_ADC_RANGE(RESOLUTION, ADC_VALUE) \ + ((((RESOLUTION) == ADC_RESOLUTION_16B) && ((ADC_VALUE) <= ((uint32_t)0xFFFF))) || \ + (((RESOLUTION) == ADC_RESOLUTION_14B) && ((ADC_VALUE) <= ((uint32_t)0x3FFF))) || \ + (((RESOLUTION) == ADC_RESOLUTION_12B) && ((ADC_VALUE) <= ((uint32_t)0x0FFF))) || \ + (((RESOLUTION) == ADC_RESOLUTION_10B) && ((ADC_VALUE) <= ((uint32_t)0x03FF))) || \ + (((RESOLUTION) == ADC_RESOLUTION_8B) && ((ADC_VALUE) <= ((uint32_t)0x00FF)))) + +/** + * @brief Verify the length of the scheduled regular conversions group. + * @param LENGTH: number of programmed conversions. + * @retval SET (LENGTH is within the maximum number of possible programmable regular conversions) or RESET (LENGTH is null or too large) + */ +#define IS_ADC_REGULAR_NB_CONV(LENGTH) (((LENGTH) >= ((uint32_t)1)) && ((LENGTH) <= ((uint32_t)16))) + +/** + * @brief Verify the number of scheduled regular conversions in discontinuous mode. + * @param NUMBER: number of scheduled regular conversions in discontinuous mode. + * @retval SET (NUMBER is within the maximum number of regular conversions in discontinous mode) or RESET (NUMBER is null or too large) + */ +#define IS_ADC_REGULAR_DISCONT_NUMBER(NUMBER) (((NUMBER) >= ((uint32_t)1)) && ((NUMBER) <= ((uint32_t)8))) + +/** + * @brief Verify the ADC clock setting. + * @param ADC_CLOCK : programmed ADC clock. + * @retval SET (ADC_CLOCK is a valid value) or RESET (ADC_CLOCK is invalid) + */ +#define IS_ADC_CLOCKPRESCALER(ADC_CLOCK) (((ADC_CLOCK) == ADC_CLOCK_SYNC_PCLK_DIV1) || \ + ((ADC_CLOCK) == ADC_CLOCK_SYNC_PCLK_DIV2) || \ + ((ADC_CLOCK) == ADC_CLOCK_SYNC_PCLK_DIV4) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV1) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV2) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV4) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV6) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV8) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV10) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV12) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV16) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV32) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV64) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV128) || \ + ((ADC_CLOCK) == ADC_CLOCK_ASYNC_DIV256) ) + +/** + * @brief Verify the ADC resolution setting. + * @param RESOLUTION: programmed ADC resolution. + * @retval SET (RESOLUTION is a valid value) or RESET (RESOLUTION is invalid) + */ +#define IS_ADC_RESOLUTION(RESOLUTION) (((RESOLUTION) == ADC_RESOLUTION_16B) || \ + ((RESOLUTION) == ADC_RESOLUTION_14B) || \ + ((RESOLUTION) == ADC_RESOLUTION_12B) || \ + ((RESOLUTION) == ADC_RESOLUTION_10B) || \ + ((RESOLUTION) == ADC_RESOLUTION_8B) ) + +/** + * @brief Verify the ADC resolution setting when limited to 8 bits. + * @param RESOLUTION: programmed ADC resolution when limited to 8 bits. + * @retval SET (RESOLUTION is a valid value) or RESET (RESOLUTION is invalid) + */ +#define IS_ADC_RESOLUTION_8_BITS(RESOLUTION) (((RESOLUTION) == ADC_RESOLUTION_8B)) + +/** + * @brief Verify the ADC scan mode. + * @param SCAN_MODE: programmed ADC scan mode. + * @retval SET (SCAN_MODE is valid) or RESET (SCAN_MODE is invalid) + */ +#define IS_ADC_SCAN_MODE(SCAN_MODE) (((SCAN_MODE) == ADC_SCAN_DISABLE) || \ + ((SCAN_MODE) == ADC_SCAN_ENABLE) ) + +/** + * @brief Verify the ADC edge trigger setting for regular group. + * @param EDGE: programmed ADC edge trigger setting. + * @retval SET (EDGE is a valid value) or RESET (EDGE is invalid) + */ +#define IS_ADC_EXTTRIG_EDGE(EDGE) (((EDGE) == ADC_EXTERNALTRIGCONVEDGE_NONE) || \ + ((EDGE) == ADC_EXTERNALTRIGCONVEDGE_RISING) || \ + ((EDGE) == ADC_EXTERNALTRIGCONVEDGE_FALLING) || \ + ((EDGE) == ADC_EXTERNALTRIGCONVEDGE_RISINGFALLING) ) + +/** + * @brief Verify the ADC regular conversions external trigger. + * @param REGTRIG: programmed ADC regular conversions external trigger. + * @retval SET (REGTRIG is a valid value) or RESET (REGTRIG is invalid) + */ +#define IS_ADC_EXTTRIG(REGTRIG) (((REGTRIG) == ADC_EXTERNALTRIG_T1_CC1) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T1_CC2) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T1_CC3) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T2_CC2) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T3_TRGO) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T4_CC4) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_EXT_IT11) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T8_TRGO) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T8_TRGO2) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T1_TRGO) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T1_TRGO2) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T2_TRGO) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T4_TRGO) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T6_TRGO) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T15_TRGO) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_T3_CC4) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_HR1_ADCTRG1) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_HR1_ADCTRG3) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_LPTIM1_OUT) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_LPTIM2_OUT) || \ + ((REGTRIG) == ADC_EXTERNALTRIG_LPTIM3_OUT) || \ + ((REGTRIG) == ADC_SOFTWARE_START) ) + +/** + * @brief Verify the ADC regular conversions check for converted data availability. + * @param EOC_SELECTION: converted data availability check. + * @retval SET (EOC_SELECTION is a valid value) or RESET (EOC_SELECTION is invalid) + */ +#define IS_ADC_EOC_SELECTION(EOC_SELECTION) (((EOC_SELECTION) == ADC_EOC_SINGLE_CONV) || \ + ((EOC_SELECTION) == ADC_EOC_SEQ_CONV)) + +/** + * @brief Verify the ADC regular conversions overrun handling. + * @param OVR: ADC regular conversions overrun handling. + * @retval SET (OVR is a valid value) or RESET (OVR is invalid) + */ +#define IS_ADC_OVERRUN(OVR) (((OVR) == ADC_OVR_DATA_PRESERVED) || \ + ((OVR) == ADC_OVR_DATA_OVERWRITTEN) ) + +/** + * @brief Verify the ADC conversions sampling time. + * @param TIME: ADC conversions sampling time. + * @retval SET (TIME is a valid value) or RESET (TIME is invalid) + */ +#define IS_ADC_SAMPLE_TIME(TIME) (((TIME) == ADC_SAMPLETIME_1CYCLE_5) || \ + ((TIME) == ADC_SAMPLETIME_2CYCLES_5) || \ + ((TIME) == ADC_SAMPLETIME_8CYCLES_5) || \ + ((TIME) == ADC_SAMPLETIME_16CYCLES_5) || \ + ((TIME) == ADC_SAMPLETIME_32CYCLES_5) || \ + ((TIME) == ADC_SAMPLETIME_64CYCLES_5) || \ + ((TIME) == ADC_SAMPLETIME_387CYCLES_5) || \ + ((TIME) == ADC_SAMPLETIME_810CYCLES_5) ) + +/** + * @brief Verify the ADC regular channel setting. + * @param __CHANNEL__: programmed ADC regular channel. + * @retval SET (__CHANNEL__ is valid) or RESET (__CHANNEL__ is invalid) + */ +#define IS_ADC_REGULAR_RANK(__CHANNEL__) (((__CHANNEL__) == ADC_REGULAR_RANK_1 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_2 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_3 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_4 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_5 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_6 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_7 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_8 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_9 ) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_10) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_11) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_12) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_13) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_14) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_15) || \ + ((__CHANNEL__) == ADC_REGULAR_RANK_16) ) + +/** + * @} + */ + + +/* Private constants ---------------------------------------------------------*/ + +/** @defgroup ADC_Private_Constants ADC Private Constants + * @{ + */ + +/* Fixed timeout values for ADC conversion (including sampling time) */ +/* Maximum sampling time is 810.5 ADC clock cycle */ +/* Maximum conversion time is 16.5 + Maximum sampling time */ +/* or 16.5 + 810.5 = 827 ADC clock cycles */ +/* Minimum ADC Clock frequency is 0.35 MHz */ +/* Maximum conversion time is */ +/* 827 / 0.35 MHz = 2.36 ms */ +#define ADC_STOP_CONVERSION_TIMEOUT ((uint32_t) 5) + + + +/* Delay for temperature sensor stabilization time. */ +/* Maximum delay is 120us (refer device datasheet, parameter tSTART). */ +/* Unit: us */ +#define ADC_TEMPSENSOR_DELAY_US ((uint32_t) 120) + + +/* Delay for ADC voltage regulator startup time */ +/* Maximum delay is 10 microseconds */ +/* (refer device RM, parameter Tadcvreg_stup). */ +#define ADC_STAB_DELAY_US ((uint32_t) 10) /*!< ADC voltage regulator startup time */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ + +/** @defgroup ADC_Exported_Macro ADC Exported Macros + * @{ + */ + +/** + * @brief Reset ADC handle state + * @param __HANDLE__: ADC handle + * @retval None + */ +#define __HAL_ADC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_ADC_STATE_RESET) + +/** + * @brief Checks if the specified ADC interrupt source is enabled or disabled. + * @param __HANDLE__: ADC handle + * @param __INTERRUPT__: ADC interrupt source to check + * This parameter can be one of the following values: + * @arg ADC_IT_RDY ADC Ready (ADRDY) interrupt source + * @arg ADC_IT_EOSMP ADC End of Sampling interrupt source + * @arg ADC_IT_EOC ADC End of Regular Conversion interrupt source + * @arg ADC_IT_EOS ADC End of Regular sequence of Conversions interrupt source + * @arg ADC_IT_OVR ADC overrun interrupt source + * @arg ADC_IT_JEOC ADC End of Injected Conversion interrupt source + * @arg ADC_IT_JEOS ADC End of Injected sequence of Conversions interrupt source + * @arg ADC_IT_AWD1 ADC Analog watchdog 1 interrupt source (main analog watchdog) + * @arg ADC_IT_AWD2 ADC Analog watchdog 2 interrupt source (additional analog watchdog) + * @arg ADC_IT_AWD3 ADC Analog watchdog 3 interrupt source (additional analog watchdog) + * @arg ADC_IT_JQOVF ADC Injected Context Queue Overflow interrupt source + * @retval State of interruption (SET or RESET) + */ +#define __HAL_ADC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) \ + (( ((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__) \ + )? SET : RESET \ + ) + +/** + * @brief Enable an ADC interrupt. + * @param __HANDLE__: ADC handle + * @param __INTERRUPT__: ADC Interrupt to enable + * This parameter can be one of the following values: + * @arg ADC_IT_RDY ADC Ready (ADRDY) interrupt source + * @arg ADC_IT_EOSMP ADC End of Sampling interrupt source + * @arg ADC_IT_EOC ADC End of Regular Conversion interrupt source + * @arg ADC_IT_EOS ADC End of Regular sequence of Conversions interrupt source + * @arg ADC_IT_OVR ADC overrun interrupt source + * @arg ADC_IT_JEOC ADC End of Injected Conversion interrupt source + * @arg ADC_IT_JEOS ADC End of Injected sequence of Conversions interrupt source + * @arg ADC_IT_AWD1 ADC Analog watchdog 1 interrupt source (main analog watchdog) + * @arg ADC_IT_AWD2 ADC Analog watchdog 2 interrupt source (additional analog watchdog) + * @arg ADC_IT_AWD3 ADC Analog watchdog 3 interrupt source (additional analog watchdog) + * @arg ADC_IT_JQOVF ADC Injected Context Queue Overflow interrupt source + * @retval None + */ +#define __HAL_ADC_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IER) |= (__INTERRUPT__)) + +/** + * @brief Disable an ADC interrupt. + * @param __HANDLE__: ADC handle + * @param __INTERRUPT__: ADC Interrupt to disable + * @arg ADC_IT_RDY ADC Ready (ADRDY) interrupt source + * @arg ADC_IT_EOSMP ADC End of Sampling interrupt source + * @arg ADC_IT_EOC ADC End of Regular Conversion interrupt source + * @arg ADC_IT_EOS ADC End of Regular sequence of Conversions interrupt source + * @arg ADC_IT_OVR ADC overrun interrupt source + * @arg ADC_IT_JEOC ADC End of Injected Conversion interrupt source + * @arg ADC_IT_JEOS ADC End of Injected sequence of Conversions interrupt source + * @arg ADC_IT_AWD1 ADC Analog watchdog 1 interrupt source (main analog watchdog) + * @arg ADC_IT_AWD2 ADC Analog watchdog 2 interrupt source (additional analog watchdog) + * @arg ADC_IT_AWD3 ADC Analog watchdog 3 interrupt source (additional analog watchdog) + * @arg ADC_IT_JQOVF ADC Injected Context Queue Overflow interrupt source + * @retval None + */ +#define __HAL_ADC_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IER) &= ~(__INTERRUPT__)) + +/** + * @brief Checks whether the specified ADC flag is set or not. + * @param __HANDLE__: ADC handle + * @param __FLAG__: ADC flag to check + * This parameter can be one of the following values: + * @arg ADC_FLAG_RDY ADC Ready (ADRDY) flag + * @arg ADC_FLAG_EOSMP ADC End of Sampling flag + * @arg ADC_FLAG_EOC ADC End of Regular Conversion flag + * @arg ADC_FLAG_EOS ADC End of Regular sequence of Conversions flag + * @arg ADC_FLAG_OVR ADC overrun flag + * @arg ADC_FLAG_JEOC ADC End of Injected Conversion flag + * @arg ADC_FLAG_JEOS ADC End of Injected sequence of Conversions flag + * @arg ADC_FLAG_AWD1 ADC Analog watchdog 1 flag (main analog watchdog) + * @arg ADC_FLAG_AWD2 ADC Analog watchdog 2 flag (additional analog watchdog) + * @arg ADC_FLAG_AWD3 ADC Analog watchdog 3 flag (additional analog watchdog) + * @arg ADC_FLAG_JQOVF ADC Injected Context Queue Overflow flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_ADC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->ISR) & (__FLAG__)) == (__FLAG__)) + +/** + * @brief Clear a specified ADC flag + * @param __HANDLE__: ADC handle + * @param __FLAG__: ADC flag to clear + * This parameter can be one of the following values: + * @arg ADC_FLAG_RDY ADC Ready (ADRDY) flag + * @arg ADC_FLAG_EOSMP ADC End of Sampling flag + * @arg ADC_FLAG_EOC ADC End of Regular Conversion flag + * @arg ADC_FLAG_EOS ADC End of Regular sequence of Conversions flag + * @arg ADC_FLAG_OVR ADC overrun flag + * @arg ADC_FLAG_JEOC ADC End of Injected Conversion flag + * @arg ADC_FLAG_JEOS ADC End of Injected sequence of Conversions flag + * @arg ADC_FLAG_AWD1 ADC Analog watchdog 1 flag (main analog watchdog) + * @arg ADC_FLAG_AWD2 ADC Analog watchdog 2 flag (additional analog watchdog) + * @arg ADC_FLAG_AWD3 ADC Analog watchdog 3 flag (additional analog watchdog) + * @arg ADC_FLAG_JQOVF ADC Injected Context Queue Overflow flag + * @note: bit cleared bit by writing 1 (writing 0 has no effect on any bit of register ISR) + * @retval None + */ +#define __HAL_ADC_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR) = (__FLAG__)) + +/** + * @} + */ + +/* Include ADC HAL Extended module */ +#include "stm32h7xx_hal_adc_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup ADC_Exported_Functions ADC Exported Functions + * @{ + */ + +/** @addtogroup ADC_Exported_Functions_Group1 Initialization and deinitialization functions + * @brief ADC Initialization and Configuration functions + * @{ + */ +/* Initialization and de-initialization functions **********************************/ +HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc); +void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc); +void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc); +/** + * @} + */ + +/** @addtogroup ADC_Exported_Functions_Group2 Input and Output operation functions + * @brief ADC IO operation functions + * @{ + */ +/* IO operation functions *****************************************************/ + +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout); +HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeout); + +/* Non-blocking mode: Interruption */ +HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc); + +/* Non-blocking mode: DMA */ +HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length); +HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc); + +/* ADC retrieve conversion value intended to be used with polling or interruption */ +uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc); + +/* ADC IRQHandler and Callbacks used in non-blocking modes (Interruption and DMA) */ +void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc); +void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc); +void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc); +void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc); +void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc); +/** + * @} + */ + +/** @addtogroup ADC_Exported_Functions_Group3 Peripheral Control functions + * @brief Peripheral Control functions + * @{ + */ +/* Peripheral Control functions ***********************************************/ +HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig); +HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* AnalogWDGConfig); + +/** + * @} + */ + +/* Peripheral State functions *************************************************/ +/** @addtogroup ADC_Exported_Functions_Group4 + * @{ + */ +uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc); +uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc); + +/** + * @} + */ + + +/* Private functions -----------------------------------------------------------*/ +/** @addtogroup ADC_Private_Functions ADC Private Functions + * @{ + */ +HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc, uint32_t ConversionGroup); +HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc); +void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma); +void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma); +void ADC_DMAError(DMA_HandleTypeDef *hdma); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /*__STM32H7xx_ADC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc_ex.h new file mode 100644 index 0000000000..4197a51f90 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc_ex.h @@ -0,0 +1,1457 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_adc_ex.h + * @author MCD Application Team + * @brief Header file of ADC HAL extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_ADC_EX_H +#define __STM32H7xx_ADC_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup ADCEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup ADCEx_Exported_Types ADC Extended Exported Types + * @{ + */ + +/** + * @brief ADC group injected contexts queue configuration + */ +typedef struct +{ + uint32_t ContextQueue; /*!< Injected channel configuration context: build-up over each + HAL_ADCEx_InjectedConfigChannel() call to finally initialize + JSQR register at HAL_ADCEx_InjectedConfigChannel() last call */ + + uint32_t ChannelCount; /*!< Number of channels in the injected sequence */ +}ADC_InjectionConfigTypeDef; + +/** + * @brief ADC handle Structure definition + */ +typedef struct +{ + ADC_TypeDef *Instance; /*!< Register base address */ + + ADC_InitTypeDef Init; /*!< ADC initialization parameters and regular conversions setting */ + + DMA_HandleTypeDef *DMA_Handle; /*!< Pointer DMA Handler */ + + HAL_LockTypeDef Lock; /*!< ADC locking object */ + + __IO uint32_t State; /*!< ADC communication state (bit-map of ADC states) */ + + __IO uint32_t ErrorCode; /*!< ADC Error code */ + + ADC_InjectionConfigTypeDef InjectionConfig ; /*!< ADC injected channel configuration build-up structure */ +}ADC_HandleTypeDef; + +/** + * @brief ADC Injected Conversion Oversampling structure definition + */ +typedef struct +{ + uint32_t Ratio; /*!< Configures the oversampling ratio. + This parameter can be a value between 0 to 1023 */ + + uint32_t RightBitShift; /*!< Configures the division coefficient for the Oversampler. + This parameter can be a value of @ref ADCEx_Right_Bit_Shift */ +}ADC_InjOversamplingTypeDef; + +/** + * @brief Structure definition of ADC channel for regular group + * @note The setting of these parameters by function HAL_ADC_ConfigChannel() is conditioned to ADC state. + * ADC state can be either: + * - For all parameters: ADC disabled (this is the only possible ADC state to modify parameter 'SingleDiff') + * - For all except parameters 'SamplingTime', 'Offset', 'OffsetNumber': ADC enabled without conversion on going on regular group. + * - For parameters 'SamplingTime', 'Offset', 'OffsetNumber': ADC enabled without conversion on going on regular and injected groups. + * If ADC is not in the appropriate state to modify some parameters, these parameters setting is bypassed + * without error reporting (as it can be the expected behavior in case of intended action to update another parameter + * (which fulfills the ADC state condition) on the fly). + */ +typedef struct +{ + uint32_t Channel; /*!< Specify the channel to configure into ADC regular group. + This parameter can be a value of @ref ADC_channels + Note: Depending on devices and ADC instances, some channels may not be available on device package pins. Refer to device DataSheet for channels availability. */ + + uint32_t Rank; /*!< Specify the rank in the regular group sequencer. + This parameter can be a value of @ref ADC_regular_rank + Note: to disable a channel or change order of conversion sequencer, rank containing a previous channel setting can be overwritten by + the new channel setting (or parameter number of conversions adjusted) */ + + uint32_t SamplingTime; /*!< Sampling time value to be set for the selected channel. + Unit: ADC clock cycles + Conversion time is the addition of sampling time and processing time + This parameter can be a value of @ref ADC_sampling_times + Caution: This parameter applies to a channel that can be used into regular and/or injected group. + It overwrites the last setting. + Note: In case of usage of internal measurement channels (VrefInt/Vbat/TempSensor), + sampling time constraints must be respected (sampling time can be adjusted in function of ADC clock frequency and sampling time setting) + Refer to device DataSheet for timings values. */ + + uint32_t SingleDiff; /*!< Select single-ended or differential input. + In differential mode: Differential measurement is carried out between the selected channel 'i' (positive input) and channel 'i+1' (negative input). + Only channel 'i' has to be configured, channel 'i+1' is configured automatically. + This parameter must be a value of @ref ADCEx_SingleDifferential + Caution: This parameter applies to a channel that can be used in a regular and/or injected group. + It overwrites the last setting. + Note: Refer to Reference Manual to ensure the selected channel is available in differential mode. + Note: When configuring a channel 'i' in differential mode, the channel 'i+1' is not usable separately. + Note: This parameter must be modified when ADC is disabled (before ADC start conversion or after ADC stop conversion). + If ADC is enabled, this parameter setting is bypassed without error reporting (as it can be the expected behavior in case + of another parameter update on the fly) */ + + uint32_t OffsetNumber; /*!< Select the offset number + This parameter can be a value of @ref ADCEx_OffsetNumber + Caution: Only one offset is allowed per channel. This parameter overwrites the last setting. */ + + uint32_t Offset; /*!< Define the offset to be subtracted from the raw converted data. + Offset value must be a positive number. + Depending of ADC resolution selected (16, 14, 12, 10 or 8 bits), this parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF, + 0x3FFF, 0xFFF, 0x3FF or 0xFF respectively. + Note: This parameter must be modified when no conversion is on going on both regular and injected groups (ADC disabled, or ADC enabled + without continuous mode or external trigger that could launch a conversion). */ + + FunctionalState OffsetRightShift; /*!< Define the Right-shift data after Offset correction. + This parameter is applied only for 16-bit or 8-bit resolution. + This parameter can be set to ENABLE or DISABLE.*/ + + FunctionalState OffsetSignedSaturation; /*!< Specify whether the Signed saturation feature is used or not. + This parameter is applied only for 16-bit or 8-bit resolution. + This parameter can be set to ENABLE or DISABLE. */ +}ADC_ChannelConfTypeDef; + +/** + * @brief Structure definition of ADC group injected and ADC channel affected to ADC group injected + * @note Parameters of this structure are shared within 2 scopes: + * - Scope channel: InjectedChannel, InjectedRank, InjectedSamplingTime , InjectedSingleDiff, InjectedOffsetNumber, InjectedOffset + * - Scope ADC group injected (affects all channels of injected group): InjectedNbrOfConversion, InjectedDiscontinuousConvMode, + * AutoInjectedConv, QueueInjectedContext, ExternalTrigInjecConv, ExternalTrigInjecConvEdge, InjecOversamplingMode, InjecOversampling. + * @note The setting of these parameters by function HAL_ADCEx_InjectedConfigChannel() is conditioned to ADC state. + * ADC state can be either: + * - For all parameters: ADC disabled (this is the only possible ADC state to modify parameter 'InjectedSingleDiff') + * - For parameters 'InjectedDiscontinuousConvMode', 'QueueInjectedContext', 'InjecOversampling': ADC enabled without conversion on going on injected group. + * - For parameters 'InjectedSamplingTime', 'InjectedOffset', 'InjectedOffsetNumber', 'AutoInjectedConv': ADC enabled without conversion on going on regular and injected groups. + * - For parameters 'InjectedChannel', 'InjectedRank', 'InjectedNbrOfConversion', 'ExternalTrigInjecConv', 'ExternalTrigInjecConvEdge': ADC enabled and while conversion on going + * on ADC groups regular and injected. + * If ADC is not in the appropriate state to modify some parameters, these parameters setting is bypassed + * without error reporting (as it can be the expected behavior in case of intended action to update another parameter (which fulfills the ADC state condition) on the fly). + */ +typedef struct +{ + uint32_t InjectedChannel; /*!< Specifies the channel to configure into ADC group injected. + This parameter can be a value of @ref ADC_channels + Note: Depending on devices and ADC instances, some channels may not be available on device package pins. Refer to device datasheet for channels availability. */ + + uint32_t InjectedRank; /*!< Specifies the rank in the ADC group injected sequencer. + This parameter must be a value of @ref ADCEx_injected_rank. + Note: to disable a channel or change order of conversion sequencer, rank containing a previous channel setting can be overwritten by + the new channel setting (or parameter number of conversions adjusted) */ + + uint32_t InjectedSamplingTime; /*!< Sampling time value to be set for the selected channel. + Unit: ADC clock cycles. + Conversion time is the addition of sampling time and processing time + This parameter can be a value of @ref ADC_sampling_times. + Caution: This parameter applies to a channel that can be used in a regular and/or injected group. + It overwrites the last setting. + Note: In case of usage of internal measurement channels (VrefInt/Vbat/TempSensor), + sampling time constraints must be respected (sampling time can be adjusted in function of ADC clock frequency and sampling time setting) + Refer to device datasheet for timings values. */ + + uint32_t InjectedSingleDiff; /*!< Selection of single-ended or differential input. + In differential mode: Differential measurement is between the selected channel 'i' (positive input) and channel 'i+1' (negative input). + Only channel 'i' has to be configured, channel 'i+1' is configured automatically. + This parameter must be a value of @ref ADCEx_SingleDifferential. + Caution: This parameter applies to a channel that can be used in a regular and/or injected group. + It overwrites the last setting. + Note: Refer to Reference Manual to ensure the selected channel is available in differential mode. + Note: When configuring a channel 'i' in differential mode, the channel 'i+1' is not usable separately. + Note: This parameter must be modified when ADC is disabled (before ADC start conversion or after ADC stop conversion). + If ADC is enabled, this parameter setting is bypassed without error reporting (as it can be the expected behavior in case + of another parameter update on the fly) */ + + uint32_t InjectedOffsetNumber; /*!< Selects the offset number. + This parameter can be a value of @ref ADCEx_OffsetNumber. + Caution: Only one offset is allowed per channel. This parameter overwrites the last setting. */ + + uint32_t InjectedOffset; /*!< Defines the offset to be subtracted from the raw converted data. + Offset value must be a positive number. + Depending of ADC resolution selected (16, 14, 12, 10 or 8bits), this parameter must be a number + between Min_Data = 0x0000 and Max_Data = 0xFFFF, 0x3FFF, 0xFFF, 0x3FF or 0xFF respectively. + Note: This parameter must be modified when no conversion is on going on both regular and injected groups (ADC disabled, or ADC enabled + without continuous mode or external trigger that could launch a conversion). */ + uint32_t InjectedOffsetRightShift; /*!< Defines the Right-shift data after Offset correction. + This parameter is applied only for 16-bit or 8-bit resolution. + This parameter must be a value of @ref ADCEx_Right_Bit_Shift.*/ + FunctionalState InjectedOffsetSignedSaturation; /*!< Specifies whether the Signed saturation feature is used or not. + This parameter is applied only for 16-bit or 8-bit resolution. + This parameter can be set to ENABLE or DISABLE. */ + uint32_t InjectedLeftBitShift; /*!< Configures the left shifting applied to the final result with or without oversampling. + This parameter can be a value of @ref ADCEx_Left_Bit_Shift */ + uint32_t InjectedNbrOfConversion; /*!< Specifies the number of ranks that will be converted within the ADC group injected sequencer. + To use the injected group sequencer and convert several ranks, parameter 'ScanConvMode' must be enabled. + This parameter must be a number between Min_Data = 1 and Max_Data = 4. + Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to + configure a channel on injected group can impact the configuration of other channels previously set. */ + + FunctionalState InjectedDiscontinuousConvMode; /*!< Specifies whether the conversions sequence of ADC group injected is performed in Complete-sequence/Discontinuous-sequence + (main sequence subdivided in successive parts). + Discontinuous mode is used only if sequencer is enabled (parameter 'ScanConvMode'). If sequencer is disabled, this parameter is discarded. + Discontinuous mode can be enabled only if continuous mode is disabled. + This parameter can be set to ENABLE or DISABLE. + Note: This parameter must be modified when ADC is disabled (before ADC start conversion or after ADC stop conversion). + Note: For injected group, discontinuous mode converts the sequence channel by channel (discontinuous length fixed to 1 rank). + Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to + configure a channel on injected group can impact the configuration of other channels previously set. */ + + FunctionalState AutoInjectedConv; /*!< Enables or disables the selected ADC group injected automatic conversion after regular one + This parameter can be set to ENABLE or DISABLE. + Note: To use Automatic injected conversion, discontinuous mode must be disabled ('DiscontinuousConvMode' and 'InjectedDiscontinuousConvMode' set to DISABLE) + Note: To use Automatic injected conversion, injected group external triggers must be disabled ('ExternalTrigInjecConv' set to ADC_INJECTED_SOFTWARE_START) + Note: In case of DMA used with regular group: if DMA configured in normal mode (single shot) JAUTO will be stopped upon DMA transfer complete. + To maintain JAUTO always enabled, DMA must be configured in circular mode. + Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to + configure a channel on injected group can impact the configuration of other channels previously set. */ + + FunctionalState QueueInjectedContext; /*!< Specifies whether the context queue feature is enabled. + This parameter can be set to ENABLE or DISABLE. + If context queue is enabled, injected sequencer&channels configurations are queued on up to 2 contexts. If a + new injected context is set when queue is full, error is triggered by interruption and through function + 'HAL_ADCEx_InjectedQueueOverflowCallback'. + Caution: This feature request that the sequence is fully configured before injected conversion start. + Therefore, configure channels with as many calls to HAL_ADCEx_InjectedConfigChannel() as the 'InjectedNbrOfConversion' parameter. + Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to + configure a channel on injected group can impact the configuration of other channels previously set. + Note: This parameter must be modified when ADC is disabled (before ADC start conversion or after ADC stop conversion). */ + + uint32_t ExternalTrigInjecConv; /*!< Selects the external event used to trigger the conversion start of injected group. + If set to ADC_INJECTED_SOFTWARE_START, external triggers are disabled and software trigger is used instead. + This parameter can be a value of @ref ADCEx_Injected_External_Trigger_Source. + Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to + configure a channel on injected group can impact the configuration of other channels previously set. */ + + uint32_t ExternalTrigInjecConvEdge; /*!< Selects the external trigger edge of injected group. + This parameter can be a value of @ref ADC_injected_external_trigger_edge. + If trigger source is set to ADC_INJECTED_SOFTWARE_START, this parameter is discarded. + Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to + configure a channel on injected group can impact the configuration of other channels previously set. */ + + FunctionalState InjecOversamplingMode; /*!< Specifies whether the oversampling feature is enabled or disabled. + This parameter can be set to ENABLE or DISABLE. + Note: This parameter can be modified only if there is no conversion is ongoing (both ADSTART and JADSTART cleared) */ + + ADC_InjOversamplingTypeDef InjecOversampling; /*!< Specifies the Oversampling parameters. + Caution: this setting overwrites the previous oversampling configuration if oversampling already enabled. + Note: This parameter can be modified only if there is no conversion is ongoing (both ADSTART and JADSTART cleared). */ +}ADC_InjectionConfTypeDef; + + + +/** + * @brief Structure definition of ADC MultiMode + * @note The setting of these parameters by function HAL_ADCEx_MultiModeConfigChannel() is conditioned by ADCs state (both Master and Slave ADCs). + * Both Master and Slave ADCs must be disabled. + */ +typedef struct +{ + uint32_t Mode; /*!< Configures the ADC to operate in independent or MultiMode. + This parameter can be a value of @ref ADCEx_Common_mode */ + uint32_t DualModeData; /*!< Configures the Dual ADC Mode Data Format: + This parameter can be a value of @ref ADCEx_Dual_Mode_Data_Format */ + uint32_t TwoSamplingDelay; /*!< Configures the Delay between 2 sampling phases. + This parameter can be a value of @ref ADCEx_delay_between_2_sampling_phases + Delay range depends on selected resolution: + from 1 to 9 clock cycles for 16 bits, + from 1 to 9 clock cycles for 14 bits + from 1 to 8 clock cycles for 12 bits + from 1 to 6 clock cycles for 10 bits + from 1 to 6 clock cycles for 8 bits */ +}ADC_MultiModeTypeDef; + + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup ADCEx_Exported_Constants ADC Extended Exported Constants + * @{ + */ + +/** @defgroup ADCEx_Injected_External_Trigger_Source ADC Extended External Trigger Source for Injected Group + * @{ + */ +#define ADC_EXTERNALTRIGINJEC_T1_TRGO ((uint32_t)0x00000000) /*!< Event 0 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T1_CC4 ((uint32_t)ADC_JSQR_JEXTSEL_0) /*!< Event 1 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T2_TRGO ((uint32_t)ADC_JSQR_JEXTSEL_1) /*!< Event 2 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T2_CC1 ((uint32_t)(ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0)) /*!< Event 3 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T3_CC4 ((uint32_t)ADC_JSQR_JEXTSEL_2) /*!< Event 4 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T4_TRGO ((uint32_t)(ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_0)) /*!< Event 5 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_EXT_IT15 ((uint32_t)(ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1)) /*!< Event 6 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T8_CC4 ((uint32_t)(ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0)) /*!< Event 7 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T1_TRGO2 ((uint32_t)ADC_JSQR_JEXTSEL_3) /*!< Event 8 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T8_TRGO ((uint32_t)(ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_0)) /*!< Event 9 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T8_TRGO2 ((uint32_t)(ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_1)) /*!< Event 10 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T3_CC3 ((uint32_t)(ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0)) /*!< Event 11 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T3_TRGO ((uint32_t)(ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2)) /*!< Event 12 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T3_CC1 ((uint32_t)(ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_0)) /*!< Event 13 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T6_TRGO ((uint32_t)(ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1)) /*!< Event 14 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_T15_TRGO ((uint32_t)(ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0)) /*!< Event 15 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_HR1_ADCTRG2 ((uint32_t)ADC_JSQR_JEXTSEL_4) /*!< Event 16 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_HR1_ADCTRG4 ((uint32_t)(ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_0)) /*!< Event 17 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_LPTIM1_OUT ((uint32_t)(ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_1)) /*!< Event 18 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_LPTIM2_OUT ((uint32_t)(ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0)) /*!< Event 19 triggers injected group conversion start */ +#define ADC_EXTERNALTRIGINJEC_LPTIM3_OUT ((uint32_t)(ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_2)) /*!< Event 20 triggers injected group conversion start */ + +#define ADC_INJECTED_SOFTWARE_START ((uint32_t)0x00000001) /*!< Software triggers injected group conversion start */ +/** + * @} + */ + +/** @defgroup ADC_injected_external_trigger_edge ADC group injected trigger edge (when external trigger is selected) + * @{ + */ +#define ADC_EXTERNALTRIGINJECCONV_EDGE_NONE ((uint32_t)0x00000000) /*!< Injected conversions hardware trigger detection disabled */ +#define ADC_EXTERNALTRIGINJECCONV_EDGE_RISING ((uint32_t)ADC_JSQR_JEXTEN_0) /*!< Injected conversions hardware trigger detection on the rising edge */ +#define ADC_EXTERNALTRIGINJECCONV_EDGE_FALLING ((uint32_t)ADC_JSQR_JEXTEN_1) /*!< Injected conversions hardware trigger detection on the falling edge */ +#define ADC_EXTERNALTRIGINJECCONV_EDGE_RISINGFALLING ((uint32_t)ADC_JSQR_JEXTEN) /*!< Injected conversions hardware trigger detection on both the rising and falling edges */ +/** + * @} + */ + +/** @defgroup ADCEx_SingleDifferential ADC Extended Single-ended/Differential input mode + * @{ + */ +#define ADC_SINGLE_ENDED ((uint32_t)0x00000000) /*!< ADC channel set in single-ended input mode */ +#define ADC_DIFFERENTIAL_ENDED ((uint32_t)ADC_CR_ADCALDIF) /*!< ADC channel set in differential mode */ +/** + * @} + */ + +/** @defgroup ADCEx_OffsetNumber ADC Extended Offset Number + * @{ + */ +#define ADC_OFFSET_NONE ((uint32_t)0x00) /*!< No offset correction */ +#define ADC_OFFSET_1 ((uint32_t)0x01) /*!< Offset correction to apply to a first channel */ +#define ADC_OFFSET_2 ((uint32_t)0x02) /*!< Offset correction to apply to a second channel */ +#define ADC_OFFSET_3 ((uint32_t)0x03) /*!< Offset correction to apply to a third channel */ +#define ADC_OFFSET_4 ((uint32_t)0x04) /*!< Offset correction to apply to a fourth channel */ +/** + * @} + */ + +/** @defgroup ADCEx_injected_rank ADC Extended Injected Channel Rank + * @{ + */ +#define ADC_INJECTED_RANK_1 ((uint32_t)0x00000001) /*!< ADC injected conversion rank 1 */ +#define ADC_INJECTED_RANK_2 ((uint32_t)0x00000002) /*!< ADC injected conversion rank 2 */ +#define ADC_INJECTED_RANK_3 ((uint32_t)0x00000003) /*!< ADC injected conversion rank 3 */ +#define ADC_INJECTED_RANK_4 ((uint32_t)0x00000004) /*!< ADC injected conversion rank 4 */ +/** + * @} + */ + +/** @defgroup ADCEx_Common_mode ADC Extended multimode dual mode + * @{ + */ +#define ADC_MODE_INDEPENDENT ((uint32_t)(0x00000000)) /*!< Independent ADC conversions mode */ +#define ADC_DUALMODE_REGSIMULT_INJECSIMULT ((uint32_t)(ADC_CCR_DUAL_0)) /*!< Combined regular simultaneous + injected simultaneous mode */ +#define ADC_DUALMODE_REGSIMULT_ALTERTRIG ((uint32_t)(ADC_CCR_DUAL_1)) /*!< Combined regular simultaneous + alternate trigger mode */ +#define ADC_DUALMODE_REGINTERL_INJECSIMULT ((uint32_t)(ADC_CCR_DUAL_1 | ADC_CCR_DUAL_0)) /*!< Combined Interleaved mode + injected simultaneous mode */ +#define ADC_DUALMODE_INJECSIMULT ((uint32_t)(ADC_CCR_DUAL_2 | ADC_CCR_DUAL_0)) /*!< Injected simultaneous mode only */ +#define ADC_DUALMODE_REGSIMULT ((uint32_t)(ADC_CCR_DUAL_2 | ADC_CCR_DUAL_1)) /*!< Regular simultaneous mode only */ +#define ADC_DUALMODE_INTERL ((uint32_t)(ADC_CCR_DUAL_2 | ADC_CCR_DUAL_1 | ADC_CCR_DUAL_0)) /*!< Interleaved mode only */ +#define ADC_DUALMODE_ALTERTRIG ((uint32_t)(ADC_CCR_DUAL_3 | ADC_CCR_DUAL_0)) /*!< Alternate trigger mode only */ +/** + * @} + */ + + +/** @defgroup ADCEx_Dual_Mode_Data_Format ADC Extended Dual Mode Data Formatting + * @{ + */ +#define ADC_DUALMODEDATAFORMAT_DISABLED ((uint32_t)0x00000000) /*!< Dual ADC mode without data packing: ADCx_CDR and ADCx_CDR2 registers not used */ +#define ADC_DUALMODEDATAFORMAT_32_10_BITS ((uint32_t)ADC_CCR_DAMDF_1) /*!< Data formatting mode for 32 down to 10-bit resolution */ +#define ADC_DUALMODEDATAFORMAT_8_BITS ((uint32_t)(ADC_CCR_DAMDF_0 |ADC_CCR_DAMDF_1)) /*!< Data formatting mode for 8-bit resolution */ +/** + * @} + */ + +/** @defgroup ADCEx_delay_between_2_sampling_phases ADC Extended delay between 2 sampling phases + * @{ + */ +#define ADC_TWOSAMPLINGDELAY_1CYCLE ((uint32_t)(0x00000000)) /*!< 1 ADC clock cycle delay */ +#define ADC_TWOSAMPLINGDELAY_2CYCLES ((uint32_t)(ADC_CCR_DELAY_0)) /*!< 2 ADC clock cycles delay */ +#define ADC_TWOSAMPLINGDELAY_3CYCLES ((uint32_t)(ADC_CCR_DELAY_1)) /*!< 3 ADC clock cycles delay */ +#define ADC_TWOSAMPLINGDELAY_4CYCLES ((uint32_t)(ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)) /*!< 4 ADC clock cycles delay (lower for less then 10-bit resolution) */ +#define ADC_TWOSAMPLINGDELAY_5CYCLES ((uint32_t)(ADC_CCR_DELAY_2)) /*!< 5 ADC clock cycles delay (lower for less then 12-bit resolution) */ +#define ADC_TWOSAMPLINGDELAY_6CYCLES ((uint32_t)(ADC_CCR_DELAY_2 | ADC_CCR_DELAY_0)) /*!< 6 ADC clock cycles delay (lower for less then 14-bit resolution) */ +#define ADC_TWOSAMPLINGDELAY_7CYCLES ((uint32_t)(ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1)) /*!< 7 ADC clock cycles delay (lower for less then 16-bit resolution) */ +#define ADC_TWOSAMPLINGDELAY_8CYCLES ((uint32_t)(ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)) /*!< 8 ADC clock cycles delay (lower for less then 16-bit resolution) */ +#define ADC_TWOSAMPLINGDELAY_9CYCLES ((uint32_t)(ADC_CCR_DELAY_3)) /*!< 9 ADC clock cycles delay (lower for less then 16-bit resolution) */ +/** + * @} + */ + +/** @defgroup ADCEx_analog_watchdog_number ADC Extended Analog Watchdog Selection + * @{ + */ +#define ADC_ANALOGWATCHDOG_1 ((uint32_t)0x00000001) /*!< Analog watchdog 1 selection */ +#define ADC_ANALOGWATCHDOG_2 ((uint32_t)0x00000002) /*!< Analog watchdog 2 selection */ +#define ADC_ANALOGWATCHDOG_3 ((uint32_t)0x00000003) /*!< Analog watchdog 3 selection */ +/** + * @} + */ + +/** @defgroup ADCEx_analog_watchdog_mode ADC Extended Analog Watchdog Mode + * @{ + */ +#define ADC_ANALOGWATCHDOG_NONE ((uint32_t) 0x00000000) /*!< No analog watchdog selected */ +#define ADC_ANALOGWATCHDOG_SINGLE_REG ((uint32_t)(ADC_CFGR_AWD1SGL | ADC_CFGR_AWD1EN)) /*!< Analog watchdog applied to a regular group single channel */ +#define ADC_ANALOGWATCHDOG_SINGLE_INJEC ((uint32_t)(ADC_CFGR_AWD1SGL | ADC_CFGR_JAWD1EN)) /*!< Analog watchdog applied to an injected group single channel */ +#define ADC_ANALOGWATCHDOG_SINGLE_REGINJEC ((uint32_t)(ADC_CFGR_AWD1SGL | ADC_CFGR_AWD1EN | ADC_CFGR_JAWD1EN)) /*!< Analog watchdog applied to a regular and injected groups single channel */ +#define ADC_ANALOGWATCHDOG_ALL_REG ((uint32_t) ADC_CFGR_AWD1EN) /*!< Analog watchdog applied to regular group all channels */ +#define ADC_ANALOGWATCHDOG_ALL_INJEC ((uint32_t) ADC_CFGR_JAWD1EN) /*!< Analog watchdog applied to injected group all channels */ +#define ADC_ANALOGWATCHDOG_ALL_REGINJEC ((uint32_t)(ADC_CFGR_AWD1EN | ADC_CFGR_JAWD1EN)) /*!< Analog watchdog applied to regular and injected groups all channels */ +/** + * @} + */ + +/** @defgroup ADCEx_conversion_group ADC Extended Conversion Group + * @{ + */ +#define ADC_REGULAR_GROUP ((uint32_t)(ADC_FLAG_EOC | ADC_FLAG_EOS)) /*!< ADC regular group selection */ +#define ADC_INJECTED_GROUP ((uint32_t)(ADC_FLAG_JEOC | ADC_FLAG_JEOS)) /*!< ADC injected group selection */ +#define ADC_REGULAR_INJECTED_GROUP ((uint32_t)(ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_JEOC | ADC_FLAG_JEOS)) /*!< ADC regular and injected groups selection */ +/** + * @} + */ + +/** @defgroup ADCEx_Event_type ADC Extended Event Type + * @{ + */ +#define ADC_EOSMP_EVENT ((uint32_t)ADC_FLAG_EOSMP) /*!< ADC End of Sampling event */ +#define ADC_AWD1_EVENT ((uint32_t)ADC_FLAG_AWD1) /*!< ADC Analog watchdog 1 event (main analog watchdog, present on all STM32 series) */ +#define ADC_AWD2_EVENT ((uint32_t)ADC_FLAG_AWD2) /*!< ADC Analog watchdog 2 event (additional analog watchdog, not present on all STM32 series) */ +#define ADC_AWD3_EVENT ((uint32_t)ADC_FLAG_AWD3) /*!< ADC Analog watchdog 3 event (additional analog watchdog, not present on all STM32 series) */ +#define ADC_OVR_EVENT ((uint32_t)ADC_FLAG_OVR) /*!< ADC overrun event */ +#define ADC_JQOVF_EVENT ((uint32_t)ADC_FLAG_JQOVF) /*!< ADC Injected Context Queue Overflow event */ +/** + * @} + */ +#define ADC_AWD_EVENT ADC_AWD1_EVENT /*!< ADC Analog watchdog 1 event: Naming for compatibility with other STM32 devices having only one analog watchdog */ + +/** @defgroup ADCEx_interrupts_definition ADC Extended Interrupts Definition + * @{ + */ +#define ADC_IT_RDY ADC_IER_RDY /*!< ADC Ready (ADRDY) interrupt source */ +#define ADC_IT_EOSMP ADC_IER_EOSMP /*!< ADC End of Sampling interrupt source */ +#define ADC_IT_EOC ADC_IER_EOC /*!< ADC End of Regular Conversion interrupt source */ +#define ADC_IT_EOS ADC_IER_EOS /*!< ADC End of Regular sequence of Conversions interrupt source */ +#define ADC_IT_OVR ADC_IER_OVR /*!< ADC overrun interrupt source */ +#define ADC_IT_JEOC ADC_IER_JEOC /*!< ADC End of Injected Conversion interrupt source */ +#define ADC_IT_JEOS ADC_IER_JEOS /*!< ADC End of Injected sequence of Conversions interrupt source */ +#define ADC_IT_AWD1 ADC_IER_AWD1 /*!< ADC Analog watchdog 1 interrupt source (main analog watchdog) */ +#define ADC_IT_AWD2 ADC_IER_AWD2 /*!< ADC Analog watchdog 2 interrupt source (additional analog watchdog) */ +#define ADC_IT_AWD3 ADC_IER_AWD3 /*!< ADC Analog watchdog 3 interrupt source (additional analog watchdog) */ +#define ADC_IT_JQOVF ADC_IER_JQOVF /*!< ADC Injected Context Queue Overflow interrupt source */ + +#define ADC_IT_AWD ADC_IT_AWD1 /*!< ADC Analog watchdog 1 interrupt source: Naming for compatibility with other STM32 devices having only one analog watchdog */ +/** + * @} + */ + +/** @defgroup ADCEx_flags_definition ADC Extended Flags Definition + * @{ + */ +#define ADC_FLAG_RDY ADC_ISR_ADRD /*!< ADC Ready (ADRDY) flag */ +#define ADC_FLAG_EOSMP ADC_ISR_EOSMP /*!< ADC End of Sampling flag */ +#define ADC_FLAG_EOC ADC_ISR_EOC /*!< ADC End of Regular Conversion flag */ +#define ADC_FLAG_EOS ADC_ISR_EOS /*!< ADC End of Regular sequence of Conversions flag */ +#define ADC_FLAG_OVR ADC_ISR_OVR /*!< ADC overrun flag */ +#define ADC_FLAG_JEOC ADC_ISR_JEOC /*!< ADC End of Injected Conversion flag */ +#define ADC_FLAG_JEOS ADC_ISR_JEOS /*!< ADC End of Injected sequence of Conversions flag */ +#define ADC_FLAG_AWD1 ADC_ISR_AWD1 /*!< ADC Analog watchdog 1 flag (main analog watchdog) */ +#define ADC_FLAG_AWD2 ADC_ISR_AWD2 /*!< ADC Analog watchdog 2 flag (additional analog watchdog) */ +#define ADC_FLAG_AWD3 ADC_ISR_AWD3 /*!< ADC Analog watchdog 3 flag (additional analog watchdog) */ +#define ADC_FLAG_JQOVF ADC_ISR_JQOVF /*!< ADC Injected Context Queue Overflow flag */ + +#define ADC_FLAG_AWD ADC_FLAG_AWD1 /*!< ADC Analog watchdog 1 flag: Naming for compatibility with other STM32 devices having only one analog watchdog */ + +#define ADC_FLAG_ALL (ADC_FLAG_RDY | ADC_FLAG_EOSMP | ADC_FLAG_EOC | ADC_FLAG_EOS | \ + ADC_FLAG_JEOC | ADC_FLAG_JEOS | ADC_FLAG_OVR | ADC_FLAG_AWD1 | \ + ADC_FLAG_AWD2 | ADC_FLAG_AWD3 | ADC_FLAG_JQOVF) /*!< ADC all flags */ + +/* Combination of all post-conversion flags bits: EOC/EOS, JEOC/JEOS, OVR, AWDx, JQOVF */ +#define ADC_FLAG_POSTCONV_ALL (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_JEOC | ADC_FLAG_JEOS | \ + ADC_FLAG_OVR | ADC_FLAG_AWD1 | ADC_FLAG_AWD2 | ADC_FLAG_AWD3 | \ + ADC_FLAG_JQOVF) /*!< ADC post-conversion all flags */ +/** + * @} + */ + + +/** @defgroup ADCEx_Right_Bit_Shift ADC Extended Oversampling Right Shift + * @{ + */ +#define ADC_RIGHTBITSHIFT_NONE ((uint32_t)0x00000000) /*!< ADC No bit shift for oversampling */ +#define ADC_RIGHTBITSHIFT_1 ((uint32_t)ADC_CFGR2_OVSS_0) /*!< ADC 1 bit shift for oversampling */ +#define ADC_RIGHTBITSHIFT_2 ((uint32_t)ADC_CFGR2_OVSS_1) /*!< ADC 2 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_3 ((uint32_t)(ADC_CFGR2_OVSS_1 | ADC_CFGR2_OVSS_0)) /*!< ADC 3 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_4 ((uint32_t)ADC_CFGR2_OVSS_2) /*!< ADC 4 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_5 ((uint32_t)(ADC_CFGR2_OVSS_2 | ADC_CFGR2_OVSS_0)) /*!< ADC 5 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_6 ((uint32_t)(ADC_CFGR2_OVSS_2 | ADC_CFGR2_OVSS_1)) /*!< ADC 6 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_7 ((uint32_t)(ADC_CFGR2_OVSS_2 | ADC_CFGR2_OVSS_1 | ADC_CFGR2_OVSS_0)) /*!< ADC 7 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_8 ((uint32_t)ADC_CFGR2_OVSS_3) /*!< ADC 8 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_9 ((uint32_t)(ADC_CFGR2_OVSS_3 | ADC_CFGR2_OVSS_0)) /*!< ADC 9 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_10 ((uint32_t)(ADC_CFGR2_OVSS_3 | ADC_CFGR2_OVSS_1)) /*!< ADC 10 bits shift for oversampling */ +#define ADC_RIGHTBITSHIFT_11 ((uint32_t)(ADC_CFGR2_OVSS_3 | ADC_CFGR2_OVSS_1 | ADC_CFGR2_OVSS_0)) /*!< ADC 11 bits shift for oversampling */ +/** + * @} + */ + +/** @defgroup ADCEx_Left_Bit_Shift ADC Extended Oversampling left Shift + * @{ + */ +#define ADC_LEFTBITSHIFT_NONE ((uint32_t)0x00000000) /*!< ADC No bit shift */ +#define ADC_LEFTBITSHIFT_1 ((uint32_t)ADC_CFGR2_LSHIFT_0) /*!< ADC 1 bit shift */ +#define ADC_LEFTBITSHIFT_2 ((uint32_t)ADC_CFGR2_LSHIFT_1) /*!< ADC 2 bits shift */ +#define ADC_LEFTBITSHIFT_3 ((uint32_t)(ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)) /*!< ADC 3 bits shift */ +#define ADC_LEFTBITSHIFT_4 ((uint32_t)ADC_CFGR2_LSHIFT_2) /*!< ADC 4 bits shift */ +#define ADC_LEFTBITSHIFT_5 ((uint32_t)(ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_0)) /*!< ADC 5 bits shift */ +#define ADC_LEFTBITSHIFT_6 ((uint32_t)(ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1)) /*!< ADC 6 bits shift */ +#define ADC_LEFTBITSHIFT_7 ((uint32_t)(ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)) /*!< ADC 7 bits shift */ +#define ADC_LEFTBITSHIFT_8 ((uint32_t)ADC_CFGR2_LSHIFT_3) /*!< ADC 8 bits shift */ +#define ADC_LEFTBITSHIFT_9 ((uint32_t)(ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_0)) /*!< ADC 9 bits shift */ +#define ADC_LEFTBITSHIFT_10 ((uint32_t)(ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_1)) /*!< ADC 10 bits shift */ +#define ADC_LEFTBITSHIFT_11 ((uint32_t)(ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)) /*!< ADC 11 bits shift */ +#define ADC_LEFTBITSHIFT_12 ((uint32_t)(ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2)) /*!< ADC 12 bits shift */ +#define ADC_LEFTBITSHIFT_13 ((uint32_t)(ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_0)) /*!< ADC 13 bits shift */ +#define ADC_LEFTBITSHIFT_14 ((uint32_t)(ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1)) /*!< ADC 14 bits shift */ +#define ADC_LEFTBITSHIFT_15 ((uint32_t)(ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)) /*!< ADC 15 bits shift */ +/** + * @} + */ + +/** @defgroup ADCEx_Triggered_Oversampling_Mode ADC Extended Triggered Regular Oversampling + * @{ + */ +#define ADC_TRIGGEREDMODE_SINGLE_TRIGGER ((uint32_t)0x00000000) /*!< A single trigger for all channel oversampled conversions */ +#define ADC_TRIGGEREDMODE_MULTI_TRIGGER ((uint32_t)ADC_CFGR2_TROVS) /*!< A trigger for each oversampled conversion */ +/** + * @} + */ + +/** @defgroup ADCEx_Regular_Oversampling_Mode ADC Extended Regular Oversampling Continued or Resumed Mode + * @{ + */ +#define ADC_REGOVERSAMPLING_CONTINUED_MODE ((uint32_t)0x00000000) /*!< Oversampling buffer maintained during injection sequence */ +#define ADC_REGOVERSAMPLING_RESUMED_MODE ((uint32_t)ADC_CFGR2_ROVSM) /*!< Oversampling buffer zeroed during injection sequence */ +/** + * @} + */ + +/** @defgroup ADC_sampling_times ADC Sampling Times + * @{ + */ +#define ADC_SAMPLETIME_1CYCLE_5 ((uint32_t)0x00000000) /*!< Sampling time 1.5 ADC clock cycle */ +#define ADC_SAMPLETIME_2CYCLES_5 ((uint32_t)ADC_SMPR2_SMP10_0) /*!< Sampling time 2.5 ADC clock cycles */ +#define ADC_SAMPLETIME_8CYCLES_5 ((uint32_t)ADC_SMPR2_SMP10_1) /*!< Sampling time 8.5 ADC clock cycles */ +#define ADC_SAMPLETIME_16CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP10_1 | ADC_SMPR2_SMP10_0)) /*!< Sampling time 16.5 ADC clock cycles */ +#define ADC_SAMPLETIME_32CYCLES_5 ((uint32_t)ADC_SMPR2_SMP10_2) /*!< Sampling time 32.5 ADC clock cycles */ +#define ADC_SAMPLETIME_64CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_0)) /*!< Sampling time 64.5 ADC clock cycles */ +#define ADC_SAMPLETIME_387CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_1)) /*!< Sampling time 387.5 ADC clock cycles */ +#define ADC_SAMPLETIME_810CYCLES_5 ((uint32_t)ADC_SMPR2_SMP10) /*!< Sampling time 810.5 ADC clock cycles */ +/** + * @} + */ + +/** @defgroup ADCEx_Calibration_Mode ADC Extended Calibration mode offset mode or linear mode + * @{ + */ +#define ADC_CALIB_OFFSET ((uint32_t)0x00000000) +#define ADC_CALIB_OFFSET_LINEARITY (ADC_CR_ADCALLIN) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ + +/** @defgroup ADCEx_Private_Macro_internal_HAL_driver ADC Extended Private Macros + * @{ + */ + +/** + * @brief Verify the length of scheduled injected conversions group. + * @param LENGTH : number of programmed conversions. + * @retval SET (LENGTH is within the maximum number of possible programmable injected conversions) or RESET (LENGTH is null or too large) + */ +#define IS_ADC_INJECTED_NB_CONV(LENGTH) (((LENGTH) >= ((uint32_t)1)) && ((LENGTH) <= ((uint32_t)4))) + +/** + * @brief Calibration factor length verification (7 bits maximum) + * @param _Calibration_Factor_: Calibration factor value + * @retval None + */ +#define IS_ADC_CALFACT(_Calibration_Factor_) ((_Calibration_Factor_) <= ((uint32_t)0x7F)) + +/** + * @brief Verify the ADC channel setting. + * @param __CHANNEL__: programmed ADC channel. + * @retval SET (__CHANNEL__ is valid) or RESET (__CHANNEL__ is invalid) + */ +#define IS_ADC_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_0) || \ + ((__CHANNEL__) == ADC_CHANNEL_1) || \ + ((__CHANNEL__) == ADC_CHANNEL_2) || \ + ((__CHANNEL__) == ADC_CHANNEL_3) || \ + ((__CHANNEL__) == ADC_CHANNEL_4) || \ + ((__CHANNEL__) == ADC_CHANNEL_5) || \ + ((__CHANNEL__) == ADC_CHANNEL_6) || \ + ((__CHANNEL__) == ADC_CHANNEL_7) || \ + ((__CHANNEL__) == ADC_CHANNEL_8) || \ + ((__CHANNEL__) == ADC_CHANNEL_9) || \ + ((__CHANNEL__) == ADC_CHANNEL_10) || \ + ((__CHANNEL__) == ADC_CHANNEL_11) || \ + ((__CHANNEL__) == ADC_CHANNEL_12) || \ + ((__CHANNEL__) == ADC_CHANNEL_13) || \ + ((__CHANNEL__) == ADC_CHANNEL_14) || \ + ((__CHANNEL__) == ADC_CHANNEL_15) || \ + ((__CHANNEL__) == ADC_CHANNEL_16) || \ + ((__CHANNEL__) == ADC_CHANNEL_17) || \ + ((__CHANNEL__) == ADC_CHANNEL_18) || \ + ((__CHANNEL__) == ADC_CHANNEL_19) || \ + ((__CHANNEL__) == ADC_CHANNEL_TEMPSENSOR) || \ + ((__CHANNEL__) == ADC_CHANNEL_VBAT_DIV4) || \ + ((__CHANNEL__) == ADC_CHANNEL_DAC1CH1_ADC2)|| \ + ((__CHANNEL__) == ADC_CHANNEL_DAC1CH2_ADC2)|| \ + ((__CHANNEL__) == ADC_CHANNEL_VREFINT) ) + +/** + * @brief Verify the ADC channel setting in differential mode for ADC1. + * @param __CHANNEL__: programmed ADC channel. + * @retval SET (__CHANNEL__ is valid) or RESET (__CHANNEL__ is invalid) + */ +#define IS_ADC1_DIFF_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1)|| \ + ((__CHANNEL__) == ADC_CHANNEL_2) ||\ + ((__CHANNEL__) == ADC_CHANNEL_3) ||\ + ((__CHANNEL__) == ADC_CHANNEL_4) ||\ + ((__CHANNEL__) == ADC_CHANNEL_5) ||\ + ((__CHANNEL__) == ADC_CHANNEL_10) ||\ + ((__CHANNEL__) == ADC_CHANNEL_11) ||\ + ((__CHANNEL__) == ADC_CHANNEL_12) ||\ + ((__CHANNEL__) == ADC_CHANNEL_16) ||\ + ((__CHANNEL__) == ADC_CHANNEL_18) ) + +/** + * @brief Verify the ADC channel setting in differential mode for ADC2. + * @param __CHANNEL__: programmed ADC channel. + * @retval SET (__CHANNEL__ is valid) or RESET (__CHANNEL__ is invalid) + */ +#define IS_ADC2_DIFF_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1)|| \ + ((__CHANNEL__) == ADC_CHANNEL_2) || \ + ((__CHANNEL__) == ADC_CHANNEL_3) || \ + ((__CHANNEL__) == ADC_CHANNEL_4) || \ + ((__CHANNEL__) == ADC_CHANNEL_5) || \ + ((__CHANNEL__) == ADC_CHANNEL_10) || \ + ((__CHANNEL__) == ADC_CHANNEL_11) || \ + ((__CHANNEL__) == ADC_CHANNEL_12) || \ + ((__CHANNEL__) == ADC_CHANNEL_18) ) + +/** + * @brief Verify the ADC channel setting in differential mode for ADC3. + * @param __CHANNEL__: programmed ADC channel. + * @retval SET (__CHANNEL__ is valid) or RESET (__CHANNEL__ is invalid) + */ +#define IS_ADC3_DIFF_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1) || \ + ((__CHANNEL__) == ADC_CHANNEL_2) || \ + ((__CHANNEL__) == ADC_CHANNEL_3) || \ + ((__CHANNEL__) == ADC_CHANNEL_4) || \ + ((__CHANNEL__) == ADC_CHANNEL_5) || \ + ((__CHANNEL__) == ADC_CHANNEL_10) || \ + ((__CHANNEL__) == ADC_CHANNEL_11) || \ + ((__CHANNEL__) == ADC_CHANNEL_13) || \ + ((__CHANNEL__) == ADC_CHANNEL_14) || \ + ((__CHANNEL__) == ADC_CHANNEL_15) ) + +/** + * @brief Test if conversion trigger of injected group is software start + * or external trigger. + * @param __HANDLE__: ADC handle + * @retval SET (software start) or RESET (external trigger) + */ +#define ADC_IS_SOFTWARE_START_INJECTED(__HANDLE__) \ + (((__HANDLE__)->Instance->JSQR & ADC_JSQR_JEXTEN) == RESET) + +/** + * @brief Check if no conversion on going on regular or injected groups + * @param __HANDLE__: ADC handle + * @retval SET (conversion is on going) or RESET (no conversion is on going) + */ +#define ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(__HANDLE__) \ + (( (((__HANDLE__)->Instance->CR) & (ADC_CR_ADSTART | ADC_CR_JADSTART)) == RESET \ + ) ? RESET : SET) + +/** + * @brief Check if no conversion on going on injected group + * @param __HANDLE__: ADC handle + * @retval SET (conversion is on going) or RESET (no conversion is on going) + */ +#define ADC_IS_CONVERSION_ONGOING_INJECTED(__HANDLE__) \ + (( (((__HANDLE__)->Instance->CR) & ADC_CR_JADSTART) == RESET \ + ) ? RESET : SET) + +/** + * @brief Check whether or not ADC is independent + * @param __HANDLE__: ADC handle + * @retval SET (ADC is independent) or RESET (ADC is not) + */ +#define ADC_IS_INDEPENDENT(__HANDLE__) \ + ( ( ( ((__HANDLE__)->Instance) == ADC3) \ + )? \ + SET \ + : \ + RESET \ + ) + +/** + * @brief Set the ADC's sample time for Channels numbers between 0 and 9. + * @param __SAMPLETIME__: Sample time parameter. + * @param __CHANNELNB__: Channel number. + * @retval None + */ +#define ADC_SMPR1(__SAMPLETIME__, __CHANNELNB__) ((__SAMPLETIME__) << (POSITION_VAL(ADC_SMPR1_SMP1) * (__CHANNELNB__))) + +/** + * @brief Set the ADC's sample time for Channels numbers between 10 and 18. + * @param __SAMPLETIME__: Sample time parameter. + * @param __CHANNELNB__: Channel number. + * @retval None + */ +#define ADC_SMPR2(__SAMPLETIME__, __CHANNELNB__) ((__SAMPLETIME__) << ((POSITION_VAL(ADC_SMPR2_SMP11) * ((__CHANNELNB__) - 10)))) + +/** + * @brief Set the selected regular Channel rank for rank between 1 and 4. + * @param __CHANNELNB__: Channel number. + * @param __RANKNB__: Rank number. + * @retval None + */ +#define ADC_SQR1_RK(__CHANNELNB__, __RANKNB__) ((__CHANNELNB__) << (POSITION_VAL(ADC_SQR1_SQ1) * (__RANKNB__))) + +/** + * @brief Set the selected regular Channel rank for rank between 5 and 9. + * @param __CHANNELNB__: Channel number. + * @param __RANKNB__: Rank number. + * @retval None + */ +#define ADC_SQR2_RK(__CHANNELNB__, __RANKNB__) ((__CHANNELNB__) << (POSITION_VAL(ADC_SQR2_SQ6) * ((__RANKNB__) - 5))) + +/** + * @brief Set the selected regular Channel rank for rank between 10 and 14. + * @param __CHANNELNB__: Channel number. + * @param __RANKNB__: Rank number. + * @retval None + */ +#define ADC_SQR3_RK(__CHANNELNB__, __RANKNB__) ((__CHANNELNB__) << (POSITION_VAL(ADC_SQR3_SQ11) * ((__RANKNB__) - 10))) + +/** + * @brief Set the selected regular Channel rank for rank between 15 and 16. + * @param __CHANNELNB__: Channel number. + * @param __RANKNB__: Rank number. + * @retval None + */ +#define ADC_SQR4_RK(__CHANNELNB__, __RANKNB__) ((__CHANNELNB__) << (POSITION_VAL(ADC_SQR4_SQ16) * ((__RANKNB__) - 15))) + +/** + * @brief Set the selected injected Channel rank. + * @param __CHANNELNB__: Channel number. + * @param __RANKNB__: Rank number. + * @retval None + */ +#define ADC_JSQR_RK(__CHANNELNB__, __RANKNB__) ((__CHANNELNB__) << ((POSITION_VAL(ADC_JSQR_JSQ1)-3) * (__RANKNB__) +3)) + +/** + * @brief Set the Analog Watchdog 1 channel. + * @param __CHANNEL__: channel to be monitored by Analog Watchdog 1. + * @retval None + */ +#define ADC_CFGR_SET_AWD1CH(__CHANNEL__) ((__CHANNEL__) << POSITION_VAL(ADC_CFGR_AWD1CH)) + +/** + * @brief Configure the channel number into Analog Watchdog 2 or 3. + * @param __CHANNEL__: ADC Channel + * @retval None + */ +#define ADC_CFGR_SET_AWD23CR(__CHANNEL__) (1U << (__CHANNEL__)) + +/** + * @brief Enable ADC injected context queue + * @param __INJECT_CONTEXT_QUEUE_MODE__: Injected context queue mode. + * @retval None + */ +#define ADC_CFGR_INJECT_CONTEXT_QUEUE(__INJECT_CONTEXT_QUEUE_MODE__) ((uint32_t)(__INJECT_CONTEXT_QUEUE_MODE__) << POSITION_VAL(ADC_CFGR_JQM)) + +/** + * @brief Enable ADC discontinuous conversion mode for injected group + * @param __INJECT_DISCONTINUOUS_MODE__: Injected discontinuous mode. + * @retval None + */ +#define ADC_CFGR_INJECT_DISCCONTINUOUS(__INJECT_DISCONTINUOUS_MODE__) ((__INJECT_DISCONTINUOUS_MODE__) << POSITION_VAL(ADC_CFGR_JDISCEN)) + +/** + * @brief Enable ADC discontinuous conversion mode for regular group + * @param __REG_DISCONTINUOUS_MODE__: Regular discontinuous mode. + * @retval None + */ +#define ADC_CFGR_REG_DISCONTINUOUS(__REG_DISCONTINUOUS_MODE__) ((__REG_DISCONTINUOUS_MODE__) << POSITION_VAL(ADC_CFGR_DISCEN)) + +/** + * @brief Configures the number of discontinuous conversions for regular group. + * @param __NBR_DISCONTINUOUS_CONV__: Number of discontinuous conversions. + * @retval None + */ +#define ADC_CFGR_DISCONTINUOUS_NUM(__NBR_DISCONTINUOUS_CONV__) (((__NBR_DISCONTINUOUS_CONV__) - 1) << POSITION_VAL(ADC_CFGR_DISCNUM)) + +/** + * @brief Enable the ADC auto delay mode. + * @param __AUTOWAIT__: Auto delay bit enable or disable. + * @retval None + */ +#define ADC_CFGR_AUTOWAIT(__AUTOWAIT__) ((__AUTOWAIT__) << POSITION_VAL(ADC_CFGR_AUTDLY)) + +/** + * @brief Enable ADC continuous conversion mode. + * @param __CONTINUOUS_MODE__: Continuous mode. + * @retval None + */ +#define ADC_CFGR_CONTINUOUS(__CONTINUOUS_MODE__) ((__CONTINUOUS_MODE__) << POSITION_VAL(ADC_CFGR_CONT)) + +/** + * @brief Enable the ADC DMA continuous request. + * @param __DMACONTREQ_MODE__: DMA continuous request mode. + * @retval None + */ +#define ADC_CFGR_DMACONTREQ(__DMACONTREQ_MODE__) ((__DMACONTREQ_MODE__)) + +/** + * @brief Configure the channel number into offset OFRx register + * @param __CHANNEL__: ADC Channel + * @retval None + */ +#define ADC_OFR_CHANNEL(__CHANNEL__) ((__CHANNEL__) << POSITION_VAL(ADC_OFR1_OFFSET1_CH)) + +/** + * @brief Configure the channel number into differential mode selection register + * @param __CHANNEL__: ADC Channel + * @retval None + */ +#define ADC_DIFSEL_CHANNEL(__CHANNEL__) (1U << (__CHANNEL__)) + +/** + * @brief Calibration factor in differential mode to be set into calibration register + * @param __CALIBRATION_FACTOR__: Calibration factor value + * @retval None + */ +#define ADC_CALFACT_DIFF_SET(__CALIBRATION_FACTOR__) (((__CALIBRATION_FACTOR__) & (ADC_CALFACT_CALFACT_D >> POSITION_VAL(ADC_CALFACT_CALFACT_D)) ) << POSITION_VAL(ADC_CALFACT_CALFACT_D)) + +/** + * @brief Calibration factor in differential mode to be retrieved from calibration register + * @param __CALIBRATION_FACTOR__: Calibration factor value + * @retval None + */ +#define ADC_CALFACT_DIFF_GET(__CALIBRATION_FACTOR__) ((__CALIBRATION_FACTOR__) >> POSITION_VAL(ADC_CALFACT_CALFACT_D)) + +/** + * @brief Configure the analog watchdog high threshold into registers TR1, TR2 or TR3. + * @param __THRESHOLD__: Threshold value + * @retval None + */ +#define ADC_TRX_HIGHTHRESHOLD(__THRESHOLD__) ((__THRESHOLD__) << 16) + +/** + * @brief Enable the ADC DMA continuous request for ADC multimode. + * @param __DMACONTREQ_MODE__: DMA continuous request mode. + * @retval None + */ +#define ADC_CCR_MULTI_DMACONTREQ(__DMACONTREQ_MODE__) ((__DMACONTREQ_MODE__) << POSITION_VAL(ADC_CCR_DMACFG)) + +/** + * @brief Enable the ADC peripheral + * @param __HANDLE__: ADC handle + * @retval None + */ +#define ADC_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= ADC_CR_ADEN) + +/** + * @brief Verification of hardware constraints before ADC can be enabled + * @param __HANDLE__: ADC handle + * @retval SET (ADC can be enabled) or RESET (ADC cannot be enabled) + */ +#define ADC_ENABLING_CONDITIONS(__HANDLE__) \ + (( ( ((__HANDLE__)->Instance->CR) & \ + (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | \ + ADC_CR_ADSTART | ADC_CR_ADDIS | ADC_CR_ADEN ) \ + ) == RESET \ + ) ? SET : RESET) + +/** + * @brief Disable the ADC peripheral + * @param __HANDLE__: ADC handle + * @retval None + */ +#define ADC_DISABLE(__HANDLE__) \ + do{ \ + (__HANDLE__)->Instance->CR |= ADC_CR_ADDIS; \ + __HAL_ADC_CLEAR_FLAG((__HANDLE__), (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); \ + } while(0) + +/** + * @brief Verification of hardware constraints before ADC can be disabled + * @param __HANDLE__: ADC handle + * @retval SET (ADC can be disabled) or RESET (ADC cannot be disabled) + */ +#define ADC_DISABLING_CONDITIONS(__HANDLE__) \ + (( ( ((__HANDLE__)->Instance->CR) & \ + (ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN \ + ) ? SET : RESET) + +/** + * @brief Shift the offset in function of the selected ADC resolution. + * Offset has to be left-aligned on bit 15, the LSB (right bits) are set to 0 + * If resolution 16 bits, no shift. + * If resolution 14 bits, shift of 2 ranks on the left. + * If resolution 12 bits, shift of 4 ranks on the left. + * If resolution 10 bits, shift of 6 ranks on the left. + * If resolution 8 bits, shift of 8 ranks on the left. + * therefore, shift = (16 - resolution) = 16 - (16 - (((RES[2:0]) >> 2)*2)) + * @param __HANDLE__: ADC handle + * @param __OFFSET__: Value to be shifted + * @retval None + */ +#define ADC_OFFSET_SHIFT_RESOLUTION(__HANDLE__, __OFFSET__) \ + ((__OFFSET__) << ((((__HANDLE__)->Instance->CFGR & ADC_CFGR_RES) >> 2)*2)) + +/** + * @brief Shift the AWD1 threshold in function of the selected ADC resolution. + * Thresholds have to be left-aligned on bit 15, the LSB (right bits) are set to 0. + * If resolution 16 bits, no shift. + * If resolution 14 bits, shift of 2 ranks on the left. + * If resolution 12 bits, shift of 4 ranks on the left. + * If resolution 10 bits, shift of 6 ranks on the left. + * If resolution 8 bits, shift of 8 ranks on the left. + * therefore, shift = (16 - resolution) = 16 - (16- (((RES[2:0]) >> 2)*2)) + * @param __HANDLE__: ADC handle + * @param __THRESHOLD__: Value to be shifted + * @retval None + */ +#define ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(__HANDLE__, __THRESHOLD__) \ + ((__THRESHOLD__) << ((((__HANDLE__)->Instance->CFGR & ADC_CFGR_RES) >> 2)*2)) + +/** + * @brief Shift the AWD2 and AWD3 threshold in function of the selected ADC resolution. + * Thresholds have to be left-aligned on bit 15, the LSB (right bits) are set to 0. + * If resolution 16 bits, no shift. + * If resolution 14 bits, shift of 2 ranks on the left. + * If resolution 12 bits, shift of 4 ranks on the left. + * If resolution 10 bits, shift of 6 ranks on the left. + * If resolution 8 bits, shift of 8 ranks on the left. + * therefore, shift = (16 - resolution) = 16 - (16- (((RES[2:0]) >> 2)*2)) + * @param __HANDLE__: ADC handle + * @param __THRESHOLD__: Value to be shifted + * @retval None + */ +#define ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(__HANDLE__, __THRESHOLD__) \ + ((__THRESHOLD__) << ((((__HANDLE__)->Instance->CFGR & ADC_CFGR_RES) >> 2)*2)) + +/** + * @brief Report common register to ADC1 and ADC2 + * @param __HANDLE__: ADC handle + * @retval Common control register + */ +#define ADC12_COMMON_REGISTER(__HANDLE__) (ADC12_COMMON) + +/** + * @brief Report common register to ADC1 and ADC2 + * @param __HANDLE__: ADC handle + * @retval Common control register + */ +#define ADC3_COMMON_REGISTER(__HANDLE__) (ADC3_COMMON) + +/** + * @brief Report Master Instance + * @param __HANDLE__: ADC handle + * @note return same instance if ADC of input handle is independent ADC + * @retval Master Instance + */ +#define ADC_MASTER_REGISTER(__HANDLE__) \ + ( ( ((((__HANDLE__)->Instance) == ADC1) || (((__HANDLE__)->Instance) == ADC3)) \ + )? \ + ((__HANDLE__)->Instance) \ + : \ + (ADC1) \ + ) + +/** + * @brief Check whether or not dual regular conversions are enabled + * @param __HANDLE__: ADC handle + * @retval SET (dual regular conversions are enabled) or RESET (ADC is independent or no dual regular conversions are enabled) + */ +#define ADC_IS_DUAL_REGULAR_CONVERSION_ENABLE(__HANDLE__) \ + ( ( ((((__HANDLE__)->Instance) == ADC1) || (((__HANDLE__)->Instance) == ADC2)) \ + )? \ + ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) != ADC_MODE_INDEPENDENT) && \ + ((ADC12_COMMON->CCR & ADC_CCR_DUAL) != ADC_DUALMODE_INJECSIMULT) && \ + ((ADC12_COMMON->CCR & ADC_CCR_DUAL) != ADC_DUALMODE_ALTERTRIG) ) \ + : \ + RESET \ + ) + +/** + * @brief Verification of condition for ADC start conversion: ADC must be in non-MultiMode or MultiMode with handle of ADC master + * @param __HANDLE__: ADC handle + * @retval SET (non-MultiMode or Master handle) or RESET (handle of Slave ADC in MultiMode) + */ +#define ADC12_NONMULTIMODE_OR_MULTIMODEMASTER(__HANDLE__) \ + ( ( ((__HANDLE__)->Instance == ADC1) || ((__HANDLE__)->Instance == ADC2) \ + )? \ + SET \ + : \ + ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == RESET) \ + ) + +/** + * @brief Verification of condition for ADC start conversion: ADC must be in non-MultiMode or MultiMode with handle of ADC master + * @param __HANDLE__: ADC handle + * @retval SET (non-MultiMode or Master handle) or RESET (handle of Slave ADC in MultiMode) + */ +#define ADC3_NONMULTIMODE_OR_MULTIMODEMASTER(__HANDLE__) \ + ( ( ((__HANDLE__)->Instance == ADC3) \ + )? \ + SET \ + : \ + ((ADC3_COMMON->CCR & ADC_CCR_DUAL) == RESET) \ + ) + +/** + * @brief Ensure ADC Instance is Independent or Master, or is not Slave ADC with dual regular conversions enabled + * @param __HANDLE__: ADC handle + * @retval SET (Independent or Master, or Slave without dual regular conversions enabled) or RESET (Slave ADC with dual regular conversions enabled) + */ +#define ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(__HANDLE__) \ + ( ( ((__HANDLE__)->Instance == ADC1) || ((__HANDLE__)->Instance == ADC3) \ + )? \ + SET \ + : \ + ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_MODE_INDEPENDENT) || \ + ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_INJECSIMULT) || \ + ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_ALTERTRIG) )) + +/** + * @brief Ensure ADC Instance is Independent or Master, or is not Slave ADC with dual injected conversions enabled + * @param __HANDLE__: ADC handle + * @retval SET (non-MultiMode or Master, or Slave without dual injected conversions enabled) or RESET (Slave ADC with dual injected conversions enabled) + */ +#define ADC_INDEPENDENT_OR_NONMULTIMODEINJECTED_SLAVE(__HANDLE__) \ + ( ( ((__HANDLE__)->Instance == ADC1) || ((__HANDLE__)->Instance == ADC3) \ + )? \ + SET \ + : \ + ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_MODE_INDEPENDENT) || \ + ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_REGSIMULT) || \ + ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_INTERL) )) + +/** + * @brief Verification of ADC state: enabled or disabled, directly checked on instance as input parameter + * @param __INSTANCE__: ADC instance + * @retval SET (ADC enabled) or RESET (ADC disabled) + */ +#define ADC_INSTANCE_IS_ENABLED(__INSTANCE__) \ + (( ((((__INSTANCE__)->CR) & (ADC_CR_ADEN | ADC_CR_ADDIS)) == ADC_CR_ADEN) && \ + ((((__INSTANCE__)->ISR) & ADC_FLAG_RDY) == ADC_FLAG_RDY) \ + ) ? SET : RESET) + +/** + * @brief Verification of enabled/disabled status of ADCs other than that associated to the input parameter handle + * @param __HANDLE__: ADC handle + * @retval SET (at least one other ADC is enabled) or RESET (no other ADC is enabled, all other ADCs are disabled) + */ +#define ADC_ANY_OTHER_ENABLED(__HANDLE__) \ + ( ( ((__HANDLE__)->Instance == ADC1) \ + )? \ + (ADC_INSTANCE_IS_ENABLED(ADC2)) || (ADC_INSTANCE_IS_ENABLED(ADC3)) \ + : \ + ( ( ((__HANDLE__)->Instance == ADC2) \ + )? \ + (ADC_INSTANCE_IS_ENABLED(ADC1)) || (ADC_INSTANCE_IS_ENABLED(ADC3)) \ + : \ + ADC_INSTANCE_IS_ENABLED(ADC1)) || (ADC_INSTANCE_IS_ENABLED(ADC2)) \ + ) \ + +/** + * @brief Set handle instance of the ADC slave associated to the ADC master + * @param __HANDLE_MASTER__: ADC master handle + * @param __HANDLE_SLAVE__: ADC slave handle + * @note if __HANDLE_MASTER__ is the handle of a slave ADC (ADC2) or an independent ADC (ADC3), __HANDLE_SLAVE__ instance is set to NULL + * @retval None + */ +#define ADC_MULTI_SLAVE(__HANDLE_MASTER__, __HANDLE_SLAVE__) \ + ( (((__HANDLE_MASTER__)->Instance == ADC1)) ? ((__HANDLE_SLAVE__)->Instance = ADC2) : ((__HANDLE_SLAVE__)->Instance = NULL) ) + +/** + * @brief Verify the ADC single-ended input or differential mode setting. + * @param SING_DIFF: programmed channel setting. + * @retval SET (SING_DIFF is valid) or RESET (SING_DIFF is invalid) + */ +#define IS_ADC_SINGLE_DIFFERENTIAL(SING_DIFF) (((SING_DIFF) == ADC_SINGLE_ENDED) || \ + ((SING_DIFF) == ADC_DIFFERENTIAL_ENDED) ) + +/** + * @brief Verify the ADC offset management setting. + * @param OFFSET_NUMBER: ADC offset management. + * @retval SET (OFFSET_NUMBER is valid) or RESET (OFFSET_NUMBER is invalid) + */ +#define IS_ADC_OFFSET_NUMBER(OFFSET_NUMBER) (((OFFSET_NUMBER) == ADC_OFFSET_NONE) || \ + ((OFFSET_NUMBER) == ADC_OFFSET_1) || \ + ((OFFSET_NUMBER) == ADC_OFFSET_2) || \ + ((OFFSET_NUMBER) == ADC_OFFSET_3) || \ + ((OFFSET_NUMBER) == ADC_OFFSET_4) ) + +/** + * @brief Verify the ADC injected channel setting. + * @param CHANNEL: programmed ADC injected channel. + * @retval SET (CHANNEL is valid) or RESET (__CHANNEL__ is invalid) + */ +#define IS_ADC_INJECTED_RANK(CHANNEL) (((CHANNEL) == ADC_INJECTED_RANK_1) || \ + ((CHANNEL) == ADC_INJECTED_RANK_2) || \ + ((CHANNEL) == ADC_INJECTED_RANK_3) || \ + ((CHANNEL) == ADC_INJECTED_RANK_4) ) + +/** + * @brief Verify the ADC injected conversions external trigger. + * @param INJTRIG: programmed ADC injected conversions external trigger. + * @retval SET (INJTRIG is a valid value) or RESET (INJTRIG is invalid) + */ +#define IS_ADC_EXTTRIGINJEC(INJTRIG) (((INJTRIG) == ADC_EXTERNALTRIGINJEC_T1_TRGO) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T1_CC4) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T2_TRGO) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T2_CC1) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T3_CC4) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T4_TRGO) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_EXT_IT15) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T8_CC4) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T1_TRGO2) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T8_TRGO) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T8_TRGO2) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T3_CC3) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T3_TRGO) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T3_CC1) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T6_TRGO) || \ + ((INJTRIG) == ADC_EXTERNALTRIGINJEC_T15_TRGO) || \ + \ + ((INJTRIG) == ADC_SOFTWARE_START) ) + +/** + * @brief Verify the ADC edge trigger setting for injected group. + * @param EDGE: programmed ADC edge trigger setting. + * @retval SET (EDGE is a valid value) or RESET (EDGE is invalid) + */ +#define IS_ADC_EXTTRIGINJEC_EDGE(EDGE) (((EDGE) == ADC_EXTERNALTRIGINJECCONV_EDGE_NONE) || \ + ((EDGE) == ADC_EXTERNALTRIGINJECCONV_EDGE_RISING) || \ + ((EDGE) == ADC_EXTERNALTRIGINJECCONV_EDGE_FALLING) || \ + ((EDGE) == ADC_EXTERNALTRIGINJECCONV_EDGE_RISINGFALLING) ) + +/** + * @brief Verify the ADC multimode setting. + * @param MODE: programmed ADC multimode setting. + * @retval SET (MODE is valid) or RESET (MODE is invalid) + */ +#define IS_ADC_MODE(MODE) (((MODE) == ADC_MODE_INDEPENDENT) || \ + ((MODE) == ADC_DUALMODE_REGSIMULT_INJECSIMULT) || \ + ((MODE) == ADC_DUALMODE_REGSIMULT_ALTERTRIG) || \ + ((MODE) == ADC_DUALMODE_REGINTERL_INJECSIMULT) || \ + ((MODE) == ADC_DUALMODE_INJECSIMULT) || \ + ((MODE) == ADC_DUALMODE_REGSIMULT) || \ + ((MODE) == ADC_DUALMODE_INTERL) || \ + ((MODE) == ADC_DUALMODE_ALTERTRIG) ) + +/** + * @brief Verify the ADC dual data mode setting. + * @param MODE: programmed ADC dual mode setting. + * @retval SET (MODE is valid) or RESET (MODE is invalid) + */ +#define IS_ADC_DUAL_DATA_MODE(MODE) (((MODE) == ADC_DUALMODEDATAFORMAT_DISABLED) || \ + ((MODE) == ADC_DUALMODEDATAFORMAT_32_10_BITS) || \ + ((MODE) == ADC_DUALMODEDATAFORMAT_8_BITS) ) + +/** + * @brief Verify the ADC multimode delay setting. + * @param DELAY: programmed ADC multimode delay setting. + * @retval SET (DELAY is a valid value) or RESET (DELAY is invalid) + */ +#define IS_ADC_SAMPLING_DELAY(DELAY) (((DELAY) == ADC_TWOSAMPLINGDELAY_1CYCLE) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_2CYCLES) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_3CYCLES) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_4CYCLES) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_5CYCLES) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_6CYCLES) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_7CYCLES) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_8CYCLES) || \ + ((DELAY) == ADC_TWOSAMPLINGDELAY_9CYCLES)) + +/** + * @brief Verify the ADC analog watchdog setting. + * @param WATCHDOG: programmed ADC analog watchdog setting. + * @retval SET (WATCHDOG is valid) or RESET (WATCHDOG is invalid) + */ +#define IS_ADC_ANALOG_WATCHDOG_NUMBER(WATCHDOG) (((WATCHDOG) == ADC_ANALOGWATCHDOG_1) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_2) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_3) ) + +/** + * @brief Verify the ADC analog watchdog mode setting. + * @param WATCHDOG: programmed ADC analog watchdog mode setting. + * @retval SET (WATCHDOG is valid) or RESET (WATCHDOG is invalid) + */ +#define IS_ADC_ANALOG_WATCHDOG_MODE(WATCHDOG) (((WATCHDOG) == ADC_ANALOGWATCHDOG_NONE) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_REG) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_INJEC) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_REGINJEC) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_REG) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_INJEC) || \ + ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_REGINJEC) ) + +/** + * @brief Verify the ADC conversion (regular or injected or both). + * @param CONVERSION: ADC conversion group. + * @retval SET (CONVERSION is valid) or RESET (CONVERSION is invalid) + */#define IS_ADC_CONVERSION_GROUP(CONVERSION) (((CONVERSION) == ADC_REGULAR_GROUP) || \ + ((CONVERSION) == ADC_INJECTED_GROUP) || \ + ((CONVERSION) == ADC_REGULAR_INJECTED_GROUP) ) + +/** + * @brief Verify the ADC event type. + * @param EVENT: ADC event. + * @retval SET (EVENT is valid) or RESET (EVENT is invalid) + */ +#define IS_ADC_EVENT_TYPE(EVENT) (((EVENT) == ADC_EOSMP_EVENT) || \ + ((EVENT) == ADC_AWD_EVENT) || \ + ((EVENT) == ADC_AWD2_EVENT) || \ + ((EVENT) == ADC_AWD3_EVENT) || \ + ((EVENT) == ADC_OVR_EVENT) || \ + ((EVENT) == ADC_JQOVF_EVENT) ) + +/** + * @brief Verify the ADC scan mode. + * @param SCAN_MODE: ADC scan mode. + * @retval SET (SCAN_MODE is valid) or RESET (SCAN_MODE is invalid) + */ +#define IS_ADC_SCAN_MODE(SCAN_MODE) (((SCAN_MODE) == ADC_SCAN_DISABLE) || \ + ((SCAN_MODE) == ADC_SCAN_ENABLE) ) + +/** + * @brief Verify the ADC oversampling ratio. + * @param RATIO: programmed ADC oversampling ratio. + * @retval SET (RATIO is a valid value) or RESET (RATIO is invalid) + */ +#define IS_ADC_OVERSAMPLING_RATIO(RATIO) ((RATIO) < 1024) + +/** + * @brief Verify the ADC oversampling right shift. + * @param SHIFT: programmed ADC oversampling right shift. + * @retval SET (SHIFT is a valid value) or RESET (SHIFT is invalid) + */ +#define IS_ADC_RIGHT_BIT_SHIFT(SHIFT) (((SHIFT) == ADC_RIGHTBITSHIFT_NONE) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_1 ) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_2 ) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_3 ) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_4 ) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_5 ) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_6 ) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_7 ) || \ + ((SHIFT) == ADC_RIGHTBITSHIFT_8 )) + +/** + * @brief Verify the ADC oversampling left shift. + * @param SHIFT: programmed ADC oversampling left shift. + * @retval SET (SHIFT is a valid value) or RESET (SHIFT is invalid) + */ +#define IS_ADC_LEFT_BIT_SHIFT(SHIFT) (((SHIFT) == ADC_LEFTBITSHIFT_NONE) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_1 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_2 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_3 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_4 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_5 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_6 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_7 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_8 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_9 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_10 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_11 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_12 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_13 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_14 ) || \ + ((SHIFT) == ADC_LEFTBITSHIFT_15 )) + +/** + * @brief Verify the ADC oversampling triggered mode. + * @param MODE: programmed ADC oversampling triggered mode. + * @retval SET (MODE is valid) or RESET (MODE is invalid) + */ +#define IS_ADC_TRIGGERED_OVERSAMPLING_MODE(MODE) (((MODE) == ADC_TRIGGEREDMODE_SINGLE_TRIGGER) || \ + ((MODE) == ADC_TRIGGEREDMODE_MULTI_TRIGGER) ) + +/** + * @brief Verify the ADC oversampling regular conversion resumed or continued mode. + * @param MODE: programmed ADC oversampling regular conversion resumed or continued mode. + * @retval SET (MODE is valid) or RESET (MODE is invalid) + */ +#define IS_ADC_REGOVERSAMPLING_MODE(MODE) (((MODE) == ADC_REGOVERSAMPLING_CONTINUED_MODE) || \ + ((MODE) == ADC_REGOVERSAMPLING_RESUMED_MODE) ) + +/** + * @} + */ + + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup ADCEx_Exported_Functions ADC Extended Exported Functions + * @{ + */ + +/* Initialization/de-initialization functions *********************************/ + +/** @addtogroup ADCEx_Exported_Functions_Group1 Extended Input and Output operation functions + * @brief Extended IO operation functions + * @{ + */ +/* I/O operation functions ****************************************************/ + +/* ADC calibration */ + +HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc, uint32_t CalibrationMode, uint32_t SingleDiff); +uint32_t HAL_ADCEx_Calibration_GetValue(ADC_HandleTypeDef *hadc, uint32_t SingleDiff); +HAL_StatusTypeDef HAL_ADCEx_LinearCalibration_GetValue(ADC_HandleTypeDef* hadc, uint32_t* LinearCalib_Buffer); +HAL_StatusTypeDef HAL_ADCEx_Calibration_SetValue(ADC_HandleTypeDef *hadc, uint32_t SingleDiff, uint32_t CalibrationFactor); +HAL_StatusTypeDef HAL_ADCEx_LinearCalibration_SetValue(ADC_HandleTypeDef *hadc, uint32_t* LinearCalib_Buffer); + + +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_InjectedStop(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout); + +/* Non-blocking mode: Interruption */ +HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT(ADC_HandleTypeDef* hadc); + + +/* ADC multimode */ +HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length); +HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA(ADC_HandleTypeDef *hadc); +uint32_t HAL_ADCEx_MultiModeGetValue(ADC_HandleTypeDef *hadc); + + +/* ADC retrieve conversion value intended to be used with polling or interruption */ +uint32_t HAL_ADCEx_InjectedGetValue(ADC_HandleTypeDef* hadc, uint32_t InjectedRank); + +/* ADC IRQHandler and Callbacks used in non-blocking modes (Interruption) */ +void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef* hadc); +void HAL_ADCEx_InjectedQueueOverflowCallback(ADC_HandleTypeDef* hadc); +void HAL_ADCEx_LevelOutOfWindow2Callback(ADC_HandleTypeDef* hadc); +void HAL_ADCEx_LevelOutOfWindow3Callback(ADC_HandleTypeDef* hadc); +void HAL_ADCEx_EndOfSamplingCallback(ADC_HandleTypeDef* hadc); + + +/* ADC Regular conversions stop */ +HAL_StatusTypeDef HAL_ADCEx_RegularStop(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_RegularStop_IT(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_RegularStop_DMA(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_RegularMultiModeStop_DMA(ADC_HandleTypeDef* hadc); + +/** + * @} + */ + +/** @addtogroup ADCEx_Exported_Functions_Group2 ADC Extended Peripheral Control functions + * @brief ADC Extended Peripheral Control functions + * @{ + */ +/* Peripheral Control functions ***********************************************/ +HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel(ADC_HandleTypeDef* hadc,ADC_InjectionConfTypeDef* sConfigInjected); +HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel(ADC_HandleTypeDef *hadc, ADC_MultiModeTypeDef *multimode); +HAL_StatusTypeDef HAL_ADCEx_EnableInjectedQueue(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_DisableInjectedQueue(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_DisableVoltageRegulator(ADC_HandleTypeDef* hadc); +HAL_StatusTypeDef HAL_ADCEx_EnterADCDeepPowerDownMode(ADC_HandleTypeDef* hadc); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /*__STM32H7xx_ADC_EX_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cec.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cec.h new file mode 100644 index 0000000000..f7489bff01 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cec.h @@ -0,0 +1,744 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cec.h + * @author MCD Application Team + * @brief Header file of CEC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CEC_H +#define __STM32H7xx_HAL_CEC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup CEC + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup CEC_Exported_Types CEC Exported Types + * @{ + */ + +/** + * @brief CEC Init Structure definition + */ +typedef struct +{ + uint32_t SignalFreeTime; /*!< Set SFT field, specifies the Signal Free Time. + It can be one of @ref CEC_Signal_Free_Time + and belongs to the set {0,...,7} where + 0x0 is the default configuration + else means 0.5 + (SignalFreeTime - 1) nominal data bit periods */ + + uint32_t Tolerance; /*!< Set RXTOL bit, specifies the tolerance accepted on the received waveforms, + it can be a value of @ref CEC_Tolerance : it is either CEC_STANDARD_TOLERANCE + or CEC_EXTENDED_TOLERANCE */ + + uint32_t BRERxStop; /*!< Set BRESTP bit @ref CEC_BRERxStop : specifies whether or not a Bit Rising Error stops the reception. + - CEC_NO_RX_STOP_ON_BRE: reception is not stopped. + - CEC_RX_STOP_ON_BRE: reception is stopped. */ + + uint32_t BREErrorBitGen; /*!< Set BREGEN bit @ref CEC_BREErrorBitGen : specifies whether or not an Error-Bit is generated on the + CEC line upon Bit Rising Error detection. + - CEC_BRE_ERRORBIT_NO_GENERATION: no error-bit generation. + - CEC_BRE_ERRORBIT_GENERATION: error-bit generation if BRESTP is set. */ + + uint32_t LBPEErrorBitGen; /*!< Set LBPEGEN bit @ref CEC_LBPEErrorBitGen : specifies whether or not an Error-Bit is generated on the + CEC line upon Long Bit Period Error detection. + - CEC_LBPE_ERRORBIT_NO_GENERATION: no error-bit generation. + - CEC_LBPE_ERRORBIT_GENERATION: error-bit generation. */ + + uint32_t BroadcastMsgNoErrorBitGen; /*!< Set BRDNOGEN bit @ref CEC_BroadCastMsgErrorBitGen : allows to avoid an Error-Bit generation on the CEC line + upon an error detected on a broadcast message. + + It supersedes BREGEN and LBPEGEN bits for a broadcast message error handling. It can take two values: + + - CEC_BROADCASTERROR_ERRORBIT_GENERATION. + - a) BRE detection: error-bit generation on the CEC line if BRESTP=CEC_RX_STOP_ON_BRE + and BREGEN=CEC_BRE_ERRORBIT_NO_GENERATION. + - b) LBPE detection: error-bit generation on the CEC line + if LBPGEN=CEC_LBPE_ERRORBIT_NO_GENERATION. + + - CEC_BROADCASTERROR_NO_ERRORBIT_GENERATION. + no error-bit generation in case neither a) nor b) are satisfied. Additionally, + there is no error-bit generation in case of Short Bit Period Error detection in + a broadcast message while LSTN bit is set. */ + + uint32_t SignalFreeTimeOption; /*!< Set SFTOP bit @ref CEC_SFT_Option : specifies when SFT timer starts. + - CEC_SFT_START_ON_TXSOM SFT: timer starts when TXSOM is set by software. + - CEC_SFT_START_ON_TX_RX_END: SFT timer starts automatically at the end of message transmission/reception. */ + + uint32_t ListenMode; /*!< Set LSTN bit @ref CEC_Listening_Mode : specifies device listening mode. It can take two values: + + - CEC_REDUCED_LISTENING_MODE: CEC peripheral receives only message addressed to its + own address (OAR). Messages addressed to different destination are ignored. + Broadcast messages are always received. + + - CEC_FULL_LISTENING_MODE: CEC peripheral receives messages addressed to its own + address (OAR) with positive acknowledge. Messages addressed to different destination + are received, but without interfering with the CEC bus: no acknowledge sent. */ + + uint16_t OwnAddress; /*!< Own addresses configuration + This parameter can be a value of @ref CEC_OWN_ADDRESS */ + + uint8_t *RxBuffer; /*!< CEC Rx buffer pointer */ + +}CEC_InitTypeDef; + +/** + * @brief HAL CEC State structures definition + * @note HAL CEC State value is a combination of 2 different substates: gState and RxState. + * - gState contains CEC state information related to global Handle management + * and also information related to Tx operations. + * gState value coding follow below described bitmap : + * b7 (not used) + * x : Should be set to 0 + * b6 Error information + * 0 : No Error + * 1 : Error + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP initialized. HAL CEC Init function already called) + * b4-b3 (not used) + * xx : Should be set to 00 + * b2 Intrinsic process state + * 0 : Ready + * 1 : Busy (IP busy with some configuration or internal operations) + * b1 (not used) + * x : Should be set to 0 + * b0 Tx state + * 0 : Ready (no Tx operation ongoing) + * 1 : Busy (Tx operation ongoing) + * - RxState contains information related to Rx operations. + * RxState value coding follow below described bitmap : + * b7-b6 (not used) + * xx : Should be set to 00 + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP initialized) + * b4-b2 (not used) + * xxx : Should be set to 000 + * b1 Rx state + * 0 : Ready (no Rx operation ongoing) + * 1 : Busy (Rx operation ongoing) + * b0 (not used) + * x : Should be set to 0. + */ +typedef enum +{ + HAL_CEC_STATE_RESET = 0x00U, /*!< Peripheral is not yet Initialized + Value is allowed for gState and RxState */ + HAL_CEC_STATE_READY = 0x20U, /*!< Peripheral Initialized and ready for use + Value is allowed for gState and RxState */ + HAL_CEC_STATE_BUSY = 0x24U, /*!< an internal process is ongoing + Value is allowed for gState only */ + HAL_CEC_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing + Value is allowed for RxState only */ + HAL_CEC_STATE_BUSY_TX = 0x21U, /*!< Data Transmission process is ongoing + Value is allowed for gState only */ + HAL_CEC_STATE_BUSY_RX_TX = 0x23U, /*!< an internal process is ongoing + Value is allowed for gState only */ + HAL_CEC_STATE_ERROR = 0x60U /*!< Error Value is allowed for gState only */ +}HAL_CEC_StateTypeDef; + +/** + * @brief CEC handle Structure definition + */ +typedef struct +{ + CEC_TypeDef *Instance; /*!< CEC registers base address */ + + CEC_InitTypeDef Init; /*!< CEC communication parameters */ + + uint8_t *pTxBuffPtr; /*!< Pointer to CEC Tx transfer Buffer */ + + uint16_t TxXferCount; /*!< CEC Tx Transfer Counter */ + + uint16_t RxXferSize; /*!< CEC Rx Transfer size, 0: header received only */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + HAL_CEC_StateTypeDef gState; /*!< CEC state information related to global Handle management + and also related to Tx operations. + This parameter can be a value of @ref HAL_CEC_StateTypeDef */ + + HAL_CEC_StateTypeDef RxState; /*!< CEC state information related to Rx operations. + This parameter can be a value of @ref HAL_CEC_StateTypeDef */ + + uint32_t ErrorCode; /*!< For errors handling purposes, copy of ISR register + in case error is reported */ +}CEC_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup CEC_Exported_Constants CEC Exported Constants + * @{ + */ + +/** @defgroup CEC_Error_Code CEC Error Code + * @{ + */ +#define HAL_CEC_ERROR_NONE (uint32_t) 0x0000U /*!< no error */ +#define HAL_CEC_ERROR_RXOVR CEC_ISR_RXOVR /*!< CEC Rx-Overrun */ +#define HAL_CEC_ERROR_BRE CEC_ISR_BRE /*!< CEC Rx Bit Rising Error */ +#define HAL_CEC_ERROR_SBPE CEC_ISR_SBPE /*!< CEC Rx Short Bit period Error */ +#define HAL_CEC_ERROR_LBPE CEC_ISR_LBPE /*!< CEC Rx Long Bit period Error */ +#define HAL_CEC_ERROR_RXACKE CEC_ISR_RXACKE /*!< CEC Rx Missing Acknowledge */ +#define HAL_CEC_ERROR_ARBLST CEC_ISR_ARBLST /*!< CEC Arbitration Lost */ +#define HAL_CEC_ERROR_TXUDR CEC_ISR_TXUDR /*!< CEC Tx-Buffer Underrun */ +#define HAL_CEC_ERROR_TXERR CEC_ISR_TXERR /*!< CEC Tx-Error */ +#define HAL_CEC_ERROR_TXACKE CEC_ISR_TXACKE /*!< CEC Tx Missing Acknowledge */ +/** + * @} + */ + +/** @defgroup CEC_Signal_Free_Time CEC Signal Free Time setting parameter + * @{ + */ +#define CEC_DEFAULT_SFT ((uint32_t)0x00000000U) +#define CEC_0_5_BITPERIOD_SFT ((uint32_t)0x00000001U) +#define CEC_1_5_BITPERIOD_SFT ((uint32_t)0x00000002U) +#define CEC_2_5_BITPERIOD_SFT ((uint32_t)0x00000003U) +#define CEC_3_5_BITPERIOD_SFT ((uint32_t)0x00000004U) +#define CEC_4_5_BITPERIOD_SFT ((uint32_t)0x00000005U) +#define CEC_5_5_BITPERIOD_SFT ((uint32_t)0x00000006U) +#define CEC_6_5_BITPERIOD_SFT ((uint32_t)0x00000007U) +/** + * @} + */ + +/** @defgroup CEC_Tolerance CEC Receiver Tolerance + * @{ + */ +#define CEC_STANDARD_TOLERANCE ((uint32_t)0x00000000U) +#define CEC_EXTENDED_TOLERANCE ((uint32_t)CEC_CFGR_RXTOL) +/** + * @} + */ + +/** @defgroup CEC_BRERxStop CEC Reception Stop on Error + * @{ + */ +#define CEC_NO_RX_STOP_ON_BRE ((uint32_t)0x00000000U) +#define CEC_RX_STOP_ON_BRE ((uint32_t)CEC_CFGR_BRESTP) +/** + * @} + */ + +/** @defgroup CEC_BREErrorBitGen CEC Error Bit Generation if Bit Rise Error reported + * @{ + */ +#define CEC_BRE_ERRORBIT_NO_GENERATION ((uint32_t)0x00000000U) +#define CEC_BRE_ERRORBIT_GENERATION ((uint32_t)CEC_CFGR_BREGEN) +/** + * @} + */ + +/** @defgroup CEC_LBPEErrorBitGen CEC Error Bit Generation if Long Bit Period Error reported + * @{ + */ +#define CEC_LBPE_ERRORBIT_NO_GENERATION ((uint32_t)0x00000000U) +#define CEC_LBPE_ERRORBIT_GENERATION ((uint32_t)CEC_CFGR_LBPEGEN) +/** + * @} + */ + +/** @defgroup CEC_BroadCastMsgErrorBitGen CEC Error Bit Generation on Broadcast message + * @{ + */ +#define CEC_BROADCASTERROR_ERRORBIT_GENERATION ((uint32_t)0x00000000U) +#define CEC_BROADCASTERROR_NO_ERRORBIT_GENERATION ((uint32_t)CEC_CFGR_BRDNOGEN) +/** + * @} + */ + +/** @defgroup CEC_SFT_Option CEC Signal Free Time start option + * @{ + */ +#define CEC_SFT_START_ON_TXSOM ((uint32_t)0x00000000U) +#define CEC_SFT_START_ON_TX_RX_END ((uint32_t)CEC_CFGR_SFTOPT) +/** + * @} + */ + +/** @defgroup CEC_Listening_Mode CEC Listening mode option + * @{ + */ +#define CEC_REDUCED_LISTENING_MODE ((uint32_t)0x00000000U) +#define CEC_FULL_LISTENING_MODE ((uint32_t)CEC_CFGR_LSTN) +/** + * @} + */ + +/** @defgroup CEC_OAR_Position CEC Device Own Address position in CEC CFGR register + * @{ + */ +#define CEC_CFGR_OAR_LSB_POS ((uint32_t) 16U) +/** + * @} + */ + +/** @defgroup CEC_Initiator_Position CEC Initiator logical address position in message header + * @{ + */ +#define CEC_INITIATOR_LSB_POS ((uint32_t) 4U) +/** + * @} + */ + +/** @defgroup CEC_OWN_ADDRESS CEC Own Address + * @{ + */ +#define CEC_OWN_ADDRESS_NONE ((uint16_t) 0x0000U) /* Reset value */ +#define CEC_OWN_ADDRESS_0 ((uint16_t) 0x0001U) /* Logical Address 0 */ +#define CEC_OWN_ADDRESS_1 ((uint16_t) 0x0002U) /* Logical Address 1 */ +#define CEC_OWN_ADDRESS_2 ((uint16_t) 0x0004U) /* Logical Address 2 */ +#define CEC_OWN_ADDRESS_3 ((uint16_t) 0x0008U) /* Logical Address 3 */ +#define CEC_OWN_ADDRESS_4 ((uint16_t) 0x0010U) /* Logical Address 4 */ +#define CEC_OWN_ADDRESS_5 ((uint16_t) 0x0020U) /* Logical Address 5 */ +#define CEC_OWN_ADDRESS_6 ((uint16_t) 0x0040U) /* Logical Address 6 */ +#define CEC_OWN_ADDRESS_7 ((uint16_t) 0x0080U) /* Logical Address 7 */ +#define CEC_OWN_ADDRESS_8 ((uint16_t) 0x0100U) /* Logical Address 9 */ +#define CEC_OWN_ADDRESS_9 ((uint16_t) 0x0200U) /* Logical Address 10 */ +#define CEC_OWN_ADDRESS_10 ((uint16_t) 0x0400U) /* Logical Address 11 */ +#define CEC_OWN_ADDRESS_11 ((uint16_t) 0x0800U) /* Logical Address 12 */ +#define CEC_OWN_ADDRESS_12 ((uint16_t) 0x1000U) /* Logical Address 13 */ +#define CEC_OWN_ADDRESS_13 ((uint16_t) 0x2000U) /* Logical Address 14 */ +#define CEC_OWN_ADDRESS_14 ((uint16_t) 0x4000U) /* Logical Address 15 */ +/** + * @} + */ + +/** @defgroup CEC_Interrupts_Definitions CEC Interrupts definition + * @{ + */ +#define CEC_IT_TXACKE CEC_IER_TXACKEIE +#define CEC_IT_TXERR CEC_IER_TXERRIE +#define CEC_IT_TXUDR CEC_IER_TXUDRIE +#define CEC_IT_TXEND CEC_IER_TXENDIE +#define CEC_IT_TXBR CEC_IER_TXBRIE +#define CEC_IT_ARBLST CEC_IER_ARBLSTIE +#define CEC_IT_RXACKE CEC_IER_RXACKEIE +#define CEC_IT_LBPE CEC_IER_LBPEIE +#define CEC_IT_SBPE CEC_IER_SBPEIE +#define CEC_IT_BRE CEC_IER_BREIE +#define CEC_IT_RXOVR CEC_IER_RXOVRIE +#define CEC_IT_RXEND CEC_IER_RXENDIE +#define CEC_IT_RXBR CEC_IER_RXBRIE +/** + * @} + */ + +/** @defgroup CEC_Flags_Definitions CEC Flags definition + * @{ + */ +#define CEC_FLAG_TXACKE CEC_ISR_TXACKE +#define CEC_FLAG_TXERR CEC_ISR_TXERR +#define CEC_FLAG_TXUDR CEC_ISR_TXUDR +#define CEC_FLAG_TXEND CEC_ISR_TXEND +#define CEC_FLAG_TXBR CEC_ISR_TXBR +#define CEC_FLAG_ARBLST CEC_ISR_ARBLST +#define CEC_FLAG_RXACKE CEC_ISR_RXACKE +#define CEC_FLAG_LBPE CEC_ISR_LBPE +#define CEC_FLAG_SBPE CEC_ISR_SBPE +#define CEC_FLAG_BRE CEC_ISR_BRE +#define CEC_FLAG_RXOVR CEC_ISR_RXOVR +#define CEC_FLAG_RXEND CEC_ISR_RXEND +#define CEC_FLAG_RXBR CEC_ISR_RXBR +/** + * @} + */ + +/** @defgroup CEC_ALL_ERROR CEC all RX or TX errors flags + * @{ + */ +#define CEC_ISR_ALL_ERROR ((uint32_t)CEC_ISR_RXOVR|CEC_ISR_BRE|CEC_ISR_SBPE|CEC_ISR_LBPE|CEC_ISR_RXACKE|\ + CEC_ISR_ARBLST|CEC_ISR_TXUDR|CEC_ISR_TXERR|CEC_ISR_TXACKE) +/** + * @} + */ + +/** @defgroup CEC_IER_ALL_RX CEC all RX errors interrupts enabling flag + * @{ + */ +#define CEC_IER_RX_ALL_ERR ((uint32_t)CEC_IER_RXACKEIE|CEC_IER_LBPEIE|CEC_IER_SBPEIE|CEC_IER_BREIE|CEC_IER_RXOVRIE) +/** + * @} + */ + +/** @defgroup CEC_IER_ALL_TX CEC all TX errors interrupts enabling flag + * @{ + */ +#define CEC_IER_TX_ALL_ERR ((uint32_t)CEC_IER_TXACKEIE|CEC_IER_TXERRIE|CEC_IER_TXUDRIE|CEC_IER_ARBLSTIE) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup CEC_Exported_Macros CEC Exported Macros + * @{ + */ + +/** @brief Reset CEC handle gstate & RxState + * @param __HANDLE__: CEC handle. + * @retval None + */ +#define __HAL_CEC_RESET_HANDLE_STATE(__HANDLE__) do{ \ + (__HANDLE__)->gState = HAL_CEC_STATE_RESET; \ + (__HANDLE__)->RxState = HAL_CEC_STATE_RESET; \ + } while(0) + +/** @brief Checks whether or not the specified CEC interrupt flag is set. + * @param __HANDLE__: specifies the CEC Handle. + * @param __FLAG__: specifies the flag to check. + * @arg CEC_FLAG_TXACKE: Tx Missing acknowledge Error + * @arg CEC_FLAG_TXERR: Tx Error. + * @arg CEC_FLAG_TXUDR: Tx-Buffer Underrun. + * @arg CEC_FLAG_TXEND: End of transmission (successful transmission of the last byte). + * @arg CEC_FLAG_TXBR: Tx-Byte Request. + * @arg CEC_FLAG_ARBLST: Arbitration Lost + * @arg CEC_FLAG_RXACKE: Rx-Missing Acknowledge + * @arg CEC_FLAG_LBPE: Rx Long period Error + * @arg CEC_FLAG_SBPE: Rx Short period Error + * @arg CEC_FLAG_BRE: Rx Bit Rising Error + * @arg CEC_FLAG_RXOVR: Rx Overrun. + * @arg CEC_FLAG_RXEND: End Of Reception. + * @arg CEC_FLAG_RXBR: Rx-Byte Received. + * @retval ITStatus + */ +#define __HAL_CEC_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR & (__FLAG__)) + +/** @brief Clears the interrupt or status flag when raised (write at 1) + * @param __HANDLE__: specifies the CEC Handle. + * @param __FLAG__: specifies the interrupt/status flag to clear. + * This parameter can be one of the following values: + * @arg CEC_FLAG_TXACKE: Tx Missing acknowledge Error + * @arg CEC_FLAG_TXERR: Tx Error. + * @arg CEC_FLAG_TXUDR: Tx-Buffer Underrun. + * @arg CEC_FLAG_TXEND: End of transmission (successful transmission of the last byte). + * @arg CEC_FLAG_TXBR: Tx-Byte Request. + * @arg CEC_FLAG_ARBLST: Arbitration Lost + * @arg CEC_FLAG_RXACKE: Rx-Missing Acknowledge + * @arg CEC_FLAG_LBPE: Rx Long period Error + * @arg CEC_FLAG_SBPE: Rx Short period Error + * @arg CEC_FLAG_BRE: Rx Bit Rising Error + * @arg CEC_FLAG_RXOVR: Rx Overrun. + * @arg CEC_FLAG_RXEND: End Of Reception. + * @arg CEC_FLAG_RXBR: Rx-Byte Received. + * @retval none + */ +#define __HAL_CEC_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR |= (__FLAG__)) + +/** @brief Enables the specified CEC interrupt. + * @param __HANDLE__: specifies the CEC Handle. + * @param __INTERRUPT__: specifies the CEC interrupt to enable. + * This parameter can be one of the following values: + * @arg CEC_IT_TXACKE: Tx Missing acknowledge Error IT Enable + * @arg CEC_IT_TXERR: Tx Error IT Enable + * @arg CEC_IT_TXUDR: Tx-Buffer Underrun IT Enable + * @arg CEC_IT_TXEND: End of transmission IT Enable + * @arg CEC_IT_TXBR: Tx-Byte Request IT Enable + * @arg CEC_IT_ARBLST: Arbitration Lost IT Enable + * @arg CEC_IT_RXACKE: Rx-Missing Acknowledge IT Enable + * @arg CEC_IT_LBPE: Rx Long period Error IT Enable + * @arg CEC_IT_SBPE: Rx Short period Error IT Enable + * @arg CEC_IT_BRE: Rx Bit Rising Error IT Enable + * @arg CEC_IT_RXOVR: Rx Overrun IT Enable + * @arg CEC_IT_RXEND: End Of Reception IT Enable + * @arg CEC_IT_RXBR: Rx-Byte Received IT Enable + * @retval none + */ +#define __HAL_CEC_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) + +/** @brief Disables the specified CEC interrupt. + * @param __HANDLE__: specifies the CEC Handle. + * @param __INTERRUPT__: specifies the CEC interrupt to disable. + * This parameter can be one of the following values: + * @arg CEC_IT_TXACKE: Tx Missing acknowledge Error IT Enable + * @arg CEC_IT_TXERR: Tx Error IT Enable + * @arg CEC_IT_TXUDR: Tx-Buffer Underrun IT Enable + * @arg CEC_IT_TXEND: End of transmission IT Enable + * @arg CEC_IT_TXBR: Tx-Byte Request IT Enable + * @arg CEC_IT_ARBLST: Arbitration Lost IT Enable + * @arg CEC_IT_RXACKE: Rx-Missing Acknowledge IT Enable + * @arg CEC_IT_LBPE: Rx Long period Error IT Enable + * @arg CEC_IT_SBPE: Rx Short period Error IT Enable + * @arg CEC_IT_BRE: Rx Bit Rising Error IT Enable + * @arg CEC_IT_RXOVR: Rx Overrun IT Enable + * @arg CEC_IT_RXEND: End Of Reception IT Enable + * @arg CEC_IT_RXBR: Rx-Byte Received IT Enable + * @retval none + */ +#define __HAL_CEC_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__))) + +/** @brief Checks whether or not the specified CEC interrupt is enabled. + * @param __HANDLE__: specifies the CEC Handle. + * @param __INTERRUPT__: specifies the CEC interrupt to check. + * This parameter can be one of the following values: + * @arg CEC_IT_TXACKE: Tx Missing acknowledge Error IT Enable + * @arg CEC_IT_TXERR: Tx Error IT Enable + * @arg CEC_IT_TXUDR: Tx-Buffer Underrun IT Enable + * @arg CEC_IT_TXEND: End of transmission IT Enable + * @arg CEC_IT_TXBR: Tx-Byte Request IT Enable + * @arg CEC_IT_ARBLST: Arbitration Lost IT Enable + * @arg CEC_IT_RXACKE: Rx-Missing Acknowledge IT Enable + * @arg CEC_IT_LBPE: Rx Long period Error IT Enable + * @arg CEC_IT_SBPE: Rx Short period Error IT Enable + * @arg CEC_IT_BRE: Rx Bit Rising Error IT Enable + * @arg CEC_IT_RXOVR: Rx Overrun IT Enable + * @arg CEC_IT_RXEND: End Of Reception IT Enable + * @arg CEC_IT_RXBR: Rx-Byte Received IT Enable + * @retval FlagStatus + */ +#define __HAL_CEC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER & (__INTERRUPT__)) + +/** @brief Enables the CEC device + * @param __HANDLE__: specifies the CEC Handle. + * @retval none + */ +#define __HAL_CEC_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CEC_CR_CECEN) + +/** @brief Disables the CEC device + * @param __HANDLE__: specifies the CEC Handle. + * @retval none + */ +#define __HAL_CEC_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~CEC_CR_CECEN) + +/** @brief Set Transmission Start flag + * @param __HANDLE__: specifies the CEC Handle. + * @retval none + */ +#define __HAL_CEC_FIRST_BYTE_TX_SET(__HANDLE__) ((__HANDLE__)->Instance->CR |= CEC_CR_TXSOM) + +/** @brief Set Transmission End flag + * @param __HANDLE__: specifies the CEC Handle. + * @retval none + * If the CEC message consists of only one byte, TXEOM must be set before of TXSOM. + */ +#define __HAL_CEC_LAST_BYTE_TX_SET(__HANDLE__) ((__HANDLE__)->Instance->CR |= CEC_CR_TXEOM) + +/** @brief Get Transmission Start flag + * @param __HANDLE__: specifies the CEC Handle. + * @retval FlagStatus + */ +#define __HAL_CEC_GET_TRANSMISSION_START_FLAG(__HANDLE__) ((__HANDLE__)->Instance->CR & CEC_CR_TXSOM) + +/** @brief Get Transmission End flag + * @param __HANDLE__: specifies the CEC Handle. + * @retval FlagStatus + */ +#define __HAL_CEC_GET_TRANSMISSION_END_FLAG(__HANDLE__) ((__HANDLE__)->Instance->CR & CEC_CR_TXEOM) + +/** @brief Clear OAR register + * @param __HANDLE__: specifies the CEC Handle. + * @retval none + */ +#define __HAL_CEC_CLEAR_OAR(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CFGR, CEC_CFGR_OAR) + +/** @brief Set OAR register (without resetting previously set address in case of multi-address mode) + * To reset OAR, __HAL_CEC_CLEAR_OAR() needs to be called beforehand + * @param __HANDLE__: specifies the CEC Handle. + * @param __ADDRESS__: Own Address value (CEC logical address is identified by bit position) + * @retval none + */ +#define __HAL_CEC_SET_OAR(__HANDLE__,__ADDRESS__) SET_BIT((__HANDLE__)->Instance->CFGR, (__ADDRESS__)<< CEC_CFGR_OAR_LSB_POS) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup CEC_Exported_Functions + * @{ + */ + +/** @addtogroup CEC_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_CEC_Init(CEC_HandleTypeDef *hcec); +HAL_StatusTypeDef HAL_CEC_DeInit(CEC_HandleTypeDef *hcec); +HAL_StatusTypeDef HAL_CEC_SetDeviceAddress(CEC_HandleTypeDef *hcec, uint16_t CEC_OwnAddress); +void HAL_CEC_MspInit(CEC_HandleTypeDef *hcec); +void HAL_CEC_MspDeInit(CEC_HandleTypeDef *hcec); +/** + * @} + */ + +/** @addtogroup CEC_Exported_Functions_Group2 + * @{ + */ +/* I/O operation functions ***************************************************/ +HAL_StatusTypeDef HAL_CEC_Transmit_IT(CEC_HandleTypeDef *hcec, uint8_t InitiatorAddress,uint8_t DestinationAddress, uint8_t *pData, uint32_t Size); +uint32_t HAL_CEC_GetLastReceivedFrameSize(CEC_HandleTypeDef *hcec); +void HAL_CEC_ChangeRxBuffer(CEC_HandleTypeDef *hcec, uint8_t* Rxbuffer); +void HAL_CEC_IRQHandler(CEC_HandleTypeDef *hcec); +void HAL_CEC_TxCpltCallback(CEC_HandleTypeDef *hcec); +void HAL_CEC_RxCpltCallback(CEC_HandleTypeDef *hcec, uint32_t RxFrameSize); +void HAL_CEC_ErrorCallback(CEC_HandleTypeDef *hcec); +/** + * @} + */ + +/** @addtogroup CEC_Exported_Functions_Group3 + * @{ + */ +/* Peripheral State functions ************************************************/ +HAL_CEC_StateTypeDef HAL_CEC_GetState(CEC_HandleTypeDef *hcec); +uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec); +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup CEC_Private_Types CEC Private Types + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup CEC_Private_Variables CEC Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup CEC_Private_Constants CEC Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup CEC_Private_Macros CEC Private Macros + * @{ + */ + +#define IS_CEC_SIGNALFREETIME(__SFT__) ((__SFT__) <= CEC_CFGR_SFT) + +#define IS_CEC_TOLERANCE(__RXTOL__) (((__RXTOL__) == CEC_STANDARD_TOLERANCE) || \ + ((__RXTOL__) == CEC_EXTENDED_TOLERANCE)) + +#define IS_CEC_BRERXSTOP(__BRERXSTOP__) (((__BRERXSTOP__) == CEC_NO_RX_STOP_ON_BRE) || \ + ((__BRERXSTOP__) == CEC_RX_STOP_ON_BRE)) + +#define IS_CEC_BREERRORBITGEN(__ERRORBITGEN__) (((__ERRORBITGEN__) == CEC_BRE_ERRORBIT_NO_GENERATION) || \ + ((__ERRORBITGEN__) == CEC_BRE_ERRORBIT_GENERATION)) + +#define IS_CEC_LBPEERRORBITGEN(__ERRORBITGEN__) (((__ERRORBITGEN__) == CEC_LBPE_ERRORBIT_NO_GENERATION) || \ + ((__ERRORBITGEN__) == CEC_LBPE_ERRORBIT_GENERATION)) + +#define IS_CEC_BROADCASTERROR_NO_ERRORBIT_GENERATION(__ERRORBITGEN__) (((__ERRORBITGEN__) == CEC_BROADCASTERROR_ERRORBIT_GENERATION) || \ + ((__ERRORBITGEN__) == CEC_BROADCASTERROR_NO_ERRORBIT_GENERATION)) + +#define IS_CEC_SFTOP(__SFTOP__) (((__SFTOP__) == CEC_SFT_START_ON_TXSOM) || \ + ((__SFTOP__) == CEC_SFT_START_ON_TX_RX_END)) + +#define IS_CEC_LISTENING_MODE(__MODE__) (((__MODE__) == CEC_REDUCED_LISTENING_MODE) || \ + ((__MODE__) == CEC_FULL_LISTENING_MODE)) + +/** @brief Check CEC message size. + * The message size is the payload size: without counting the header, + * it varies from 0 byte (ping operation, one header only, no payload) to + * 15 bytes (1 opcode and up to 14 operands following the header). + * @param __SIZE__: CEC message size. + * @retval Test result (TRUE or FALSE). + */ +#define IS_CEC_MSGSIZE(__SIZE__) ((__SIZE__) <= 0x10) + +/** @brief Check CEC device Own Address Register (OAR) setting. + * OAR address is written in a 15-bit field within CEC_CFGR register. + * @param __ADDRESS__: CEC own address. + * @retval Test result (TRUE or FALSE). + */ +#define IS_CEC_OWN_ADDRESS(__ADDRESS__) ((__ADDRESS__) <= 0x7FFF) + +/** @brief Check CEC initiator or destination logical address setting. + * Initiator and destination addresses are coded over 4 bits. + * @param __ADDRESS__: CEC initiator or logical address. + * @retval Test result (TRUE or FALSE). + */ +#define IS_CEC_ADDRESS(__ADDRESS__) ((__ADDRESS__) <= 0xF) +/** + * @} + */ +/* Private functions ---------------------------------------------------------*/ +/** @defgroup CEC_Private_Functions CEC Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CEC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_comp.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_comp.h new file mode 100644 index 0000000000..0098e74be3 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_comp.h @@ -0,0 +1,805 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_comp.h + * @author MCD Application Team + * @brief Header file of COMP HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_COMP_H +#define __STM32H7xx_HAL_COMP_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup COMP + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup COMP_Exported_Types COMP Exported Types + * @{ + */ + +/** + * @brief COMP Init structure definition + */ +typedef struct +{ + + uint32_t WindowMode; /*!< Set window mode of a pair of comparators instances + (2 consecutive instances odd and even COMP and COMP). + Note: HAL COMP driver allows to set window mode from any COMP instance of the pair of COMP instances composing window mode. + This parameter can be a value of @ref COMP_WindowMode */ + + uint32_t Mode; /*!< Set comparator operating mode to adjust power and speed. + Note: For the characteritics of comparator power modes + (propagation delay and power consumption), refer to device datasheet. + This parameter can be a value of @ref COMP_PowerMode */ + + uint32_t NonInvertingInput; /*!< Set comparator input plus (non-inverting input). + This parameter can be a value of @ref COMP_InputPlus */ + + uint32_t InvertingInput; /*!< Set comparator input minus (inverting input). + This parameter can be a value of @ref COMP_InputMinus */ + + uint32_t Hysteresis; /*!< Set comparator hysteresis mode of the input minus. + This parameter can be a value of @ref COMP_Hysteresis */ + + uint32_t OutputPol; /*!< Set comparator output polarity. + This parameter can be a value of @ref COMP_OutputPolarity */ + + uint32_t BlankingSrce; /*!< Set comparator blanking source. + This parameter can be a value of @ref COMP_BlankingSrce */ + + uint32_t TriggerMode; /*!< Set the comparator output triggering External Interrupt Line (EXTI). + This parameter can be a value of @ref COMP_EXTI_TriggerMode */ + +}COMP_InitTypeDef; + +/** + * @brief HAL COMP state machine: HAL COMP states definition + */ +#define COMP_STATE_BITFIELD_LOCK ((uint32_t)0x10) +typedef enum +{ + HAL_COMP_STATE_RESET = 0x00, /*!< COMP not yet initialized */ + HAL_COMP_STATE_RESET_LOCKED = (HAL_COMP_STATE_RESET | COMP_STATE_BITFIELD_LOCK), /*!< COMP not yet initialized and configuration is locked */ + HAL_COMP_STATE_READY = 0x01, /*!< COMP initialized and ready for use */ + HAL_COMP_STATE_READY_LOCKED = (HAL_COMP_STATE_READY | COMP_STATE_BITFIELD_LOCK), /*!< COMP initialized but configuration is locked */ + HAL_COMP_STATE_BUSY = 0x02, /*!< COMP is running */ + HAL_COMP_STATE_BUSY_LOCKED = (HAL_COMP_STATE_BUSY | COMP_STATE_BITFIELD_LOCK) /*!< COMP is running and configuration is locked */ +}HAL_COMP_StateTypeDef; + +/** + * @brief COMP Handle Structure definition + */ +typedef struct +{ + COMP_TypeDef *Instance; /*!< Register base address */ + COMP_InitTypeDef Init; /*!< COMP required parameters */ + HAL_LockTypeDef Lock; /*!< Locking object */ + __IO HAL_COMP_StateTypeDef State; /*!< COMP communication state */ + +} COMP_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup COMP_Exported_Constants COMP Exported Constants + * @{ + */ +/** @defgroup COMP_WindowMode COMP Window Mode + * @{ + */ +#define COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000) /*!< Window mode disable: Comparators instances pair COMP1 and COMP2 are independent */ +#define COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON (COMP_CFGRx_WINMODE) /*!< Window mode enable: Comparators instances pair COMP1 and COMP2 have their input plus connected together. The common input is COMP1 input plus (COMP2 input plus is no more accessible). */ + +/** + * @} + */ + +/** @defgroup COMP_PowerMode COMP power mode + * @{ + */ +/* Note: For the characteritics of comparator power modes */ +/* (propagation delay and power consumption), */ +/* refer to device datasheet. */ +#define COMP_POWERMODE_HIGHSPEED ((uint32_t)0x00000000) /*!< High Speed */ +#define COMP_POWERMODE_MEDIUMSPEED (COMP_CFGRx_PWRMODE_0) /*!< Medium Speed */ +#define COMP_POWERMODE_ULTRALOWPOWER (COMP_CFGRx_PWRMODE) /*!< Ultra-low power mode */ +/** + * @} + */ + +/** @defgroup COMP_InputPlus COMP input plus (non-inverting input) + * @{ + */ +#define COMP_INPUT_PLUS_IO1 ((uint32_t)0x00000000) /*!< Comparator input plus connected to IO1 (pin PB0 for COMP1, pin PE9 for COMP2) */ +#define COMP_INPUT_PLUS_IO2 (COMP_CFGRx_INPSEL) /*!< Comparator input plus connected to IO2 (pin PB2 for COMP1, pin PE11 for COMP2) */ +/** + * @} + */ + +/** @defgroup COMP_InputMinus COMP input minus (inverting input) + * @{ + */ +#define COMP_INPUT_MINUS_1_4VREFINT ( COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 1/4 VrefInt */ +#define COMP_INPUT_MINUS_1_2VREFINT ( COMP_CFGRx_INMSEL_0 | COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 1/2 VrefInt */ +#define COMP_INPUT_MINUS_3_4VREFINT ( COMP_CFGRx_INMSEL_1 | COMP_CFGRx_SCALEN | COMP_CFGRx_BRGEN) /*!< Comparator input minus connected to 3/4 VrefInt */ +#define COMP_INPUT_MINUS_VREFINT ( COMP_CFGRx_INMSEL_1 | COMP_CFGRx_INMSEL_0 | COMP_CFGRx_SCALEN ) /*!< Comparator input minus connected to VrefInt */ +#define COMP_INPUT_MINUS_DAC1_CH1 (COMP_CFGRx_INMSEL_2 ) /*!< Comparator input minus connected to DAC1 channel 1 (DAC_OUT1) */ +#define COMP_INPUT_MINUS_DAC1_CH2 (COMP_CFGRx_INMSEL_2 | COMP_CFGRx_INMSEL_0) /*!< Comparator input minus connected to DAC1 channel 2 (DAC_OUT2) */ +#define COMP_INPUT_MINUS_IO1 (COMP_CFGRx_INMSEL_2 | COMP_CFGRx_INMSEL_1 ) /*!< Comparator input minus connected to IO1 (pin PB1 for COMP1, pin PE10 for COMP2) */ +#define COMP_INPUT_MINUS_IO2 (COMP_CFGRx_INMSEL_2 | COMP_CFGRx_INMSEL_1 | COMP_CFGRx_INMSEL_0) /*!< Comparator input minus connected to IO2 (pin PC4 for COMP1, pin PE7 for COMP2) */ +/** + * @} + */ + +/** @defgroup COMP_Hysteresis COMP hysteresis + * @{ + */ +#define COMP_HYSTERESIS_NONE ((uint32_t)0x00000000) /*!< No hysteresis */ +#define COMP_HYSTERESIS_LOW (COMP_CFGRx_HYST_0) /*!< Hysteresis level low */ +#define COMP_HYSTERESIS_MEDIUM (COMP_CFGRx_HYST_1) /*!< Hysteresis level medium */ +#define COMP_HYSTERESIS_HIGH (COMP_CFGRx_HYST) /*!< Hysteresis level high */ +/** + * @} + */ + +/** @defgroup COMP_OutputPolarity COMP Output Polarity + * @{ + */ +#define COMP_OUTPUTPOL_NONINVERTED ((uint32_t)0x00000000) /*!< COMP output level is not inverted (comparator output is high when the input plus is at a higher voltage than the input minus) */ +#define COMP_OUTPUTPOL_INVERTED (COMP_CFGRx_POLARITY) /*!< COMP output level is inverted (comparator output is low when the input plus is at a higher voltage than the input minus) */ +/** + * @} + */ + + +/** @defgroup COMP_BlankingSrce COMP Blanking Source + * @{ + */ +/* Any blanking source can be selected for all comparators */ +#define COMP_BLANKINGSRC_NONE ((uint32_t)0x00000000) /*!< No blanking source */ +#define COMP_BLANKINGSRC_TIM1_OC5 (COMP_CFGRx_BLANKING_0) /*!< TIM1 OC5 selected as blanking source for comparator */ +#define COMP_BLANKINGSRC_TIM2_OC3 (COMP_CFGRx_BLANKING_1) /*!< TIM2 OC3 selected as blanking source for comparator */ +#define COMP_BLANKINGSRC_TIM3_OC3 (COMP_CFGRx_BLANKING_0 |COMP_CFGRx_BLANKING_1) /*!< TIM3 OC3 selected as blanking source for compartor */ +#define COMP_BLANKINGSRC_TIM3_OC4 (COMP_CFGRx_BLANKING_2) /*!< TIM3 OC4 selected as blanking source for comparator */ +#define COMP_BLANKINGSRC_TIM8_OC5 (COMP_CFGRx_BLANKING_2|COMP_CFGRx_BLANKING_0) /*!< TIM8 OC5 selected as blanking source for comparator */ +#define COMP_BLANKINGSRC_TIM15_OC1 (COMP_CFGRx_BLANKING_2|COMP_CFGRx_BLANKING_1) /*!< TIM15 OC1 selected as blanking source for comparator */ +/** + * @} + */ + + + + +/** @defgroup COMP_OutputLevel COMP Output Level + * @{ + */ + +/* Note: Comparator output level values are fixed to "0" and "1", */ +/* corresponding COMP register bit is managed by HAL function to match */ +/* with these values (independently of bit position in register). */ + +/* When output polarity is not inverted, comparator output is low when + the input plus is at a lower voltage than the input minus */ +#define COMP_OUTPUT_LEVEL_LOW ((uint32_t)0x00000000) +/* When output polarity is not inverted, comparator output is high when + the input plus is at a higher voltage than the input minus */ +#define COMP_OUTPUT_LEVEL_HIGH ((uint32_t)0x00000001) + +/** + * @} + */ + +/** @defgroup COMP_EXTI_TriggerMode COMP output to EXTI + * @{ + */ +#define COMP_TRIGGERMODE_NONE ((uint32_t)0x00000000) /*!< Comparator output triggering no External Interrupt Line */ +#define COMP_TRIGGERMODE_IT_RISING (COMP_EXTI_IT | COMP_EXTI_RISING) /*!< Comparator output triggering External Interrupt Line event with interruption, on rising edge */ +#define COMP_TRIGGERMODE_IT_FALLING (COMP_EXTI_IT | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event with interruption, on falling edge */ +#define COMP_TRIGGERMODE_IT_RISING_FALLING (COMP_EXTI_IT | COMP_EXTI_RISING | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event with interruption, on both rising and falling edges */ +#define COMP_TRIGGERMODE_EVENT_RISING (COMP_EXTI_EVENT | COMP_EXTI_RISING) /*!< Comparator output triggering External Interrupt Line event only (without interruption), on rising edge */ +#define COMP_TRIGGERMODE_EVENT_FALLING (COMP_EXTI_EVENT | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event only (without interruption), on falling edge */ +#define COMP_TRIGGERMODE_EVENT_RISING_FALLING (COMP_EXTI_EVENT | COMP_EXTI_RISING | COMP_EXTI_FALLING) /*!< Comparator output triggering External Interrupt Line event only (without interruption), on both rising and falling edges */ + +/** + * @} + */ + +/** @defgroup COMP_Flag COMP Flag + * @{ + */ +#define COMP_FLAG_C1I COMP_SR_C1IF /*!< Comparator 1 Interrupt Flag */ +#define COMP_FLAG_C2I COMP_SR_C2IF /*!< Comparator 2 Interrupt Flag */ +#define COMP_FLAG_LOCK COMP_CFGRx_LOCK /*!< Lock flag */ +/** + * @} + */ +/** @defgroup COMP_IT_CLEAR_Flags COMP Interruption Clear Flags + * @{ + */ +#define COMP_CLEAR_C1IF COMP_ICFR_C1IF /*!< Clear Comparator 1 Interrupt Flag */ +#define COMP_CLEAR_C2IF COMP_ICFR_C2IF /*!< Clear Comparator 2 Interrupt Flag */ +/** + * @} + */ +/** @defgroup COMP_Interrupts_Definitions COMP Interrupts Definitions + * @{ + */ +#define COMP_IT_EN COMP_CFGRx_ITEN + +/** + * @} + */ + + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup COMP_Exported_Macros COMP Exported Macros + * @{ + */ +/** @defgroup COMP_Handle_Management COMP Handle Management + * @{ + */ + +/** @brief Reset COMP handle state. + * @param __HANDLE__ COMP handle + * @retval None + */ +#define __HAL_COMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_COMP_STATE_RESET) + +/** + * @brief Enable the specified comparator. + * @param __HANDLE__ COMP handle + * @retval None + */ +#define __HAL_COMP_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_EN) + +/** + * @brief Disable the specified comparator. + * @param __HANDLE__ COMP handle + * @retval None + */ +#define __HAL_COMP_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_EN) + +/** + * @brief Lock the specified comparator configuration. + * @note Using this macro induce HAL COMP handle state machine being no + * more in line with COMP instance state. + * To keep HAL COMP handle state machine updated, it is recommended + * to use function "HAL_COMP_Lock')". + * @param __HANDLE__ COMP handle + * @retval None + */ +#define __HAL_COMP_LOCK(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_LOCK) + +/** + * @brief Check whether the specified comparator is locked. + * @param __HANDLE__ COMP handle + * @retval Value 0 if COMP instance is not locked, value 1 if COMP instance is locked + */ +#define __HAL_COMP_IS_LOCKED(__HANDLE__) (READ_BIT((__HANDLE__)->Instance->CFGR, COMP_CFGRx_LOCK) == COMP_CFGRx_LOCK) + +/** + * @} + */ + +/** @defgroup COMP_Exti_Management COMP external interrupt line management + * @{ + */ + +/** + * @brief Enable the COMP1 EXTI line rising edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP1) + + +/** + * @brief Disable the COMP1 EXTI line rising edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Enable the COMP1 EXTI line falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Disable the COMP1 EXTI line falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP1) + + +/** + * @brief Enable the COMP1 EXTI line rising & falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ + __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE(); \ + __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE(); \ + } while(0) + + +/** + * @brief Disable the COMP1 EXTI line rising & falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_FALLING_EDGE() do { \ + __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE(); \ + __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE(); \ + } while(0) + + +/** + * @brief Enable the COMP1 EXTI line in interrupt mode. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_ENABLE_IT() SET_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Disable the COMP1 EXTI line in interrupt mode. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_DISABLE_IT() CLEAR_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Enable the COMP1 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_ENABLE_EVENT() SET_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Disable the COMP1 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Check whether the COMP1 EXTI line flag is set or not. + * @retval RESET or SET + */ +#define __HAL_COMP_COMP1_EXTI_GET_FLAG() READ_BIT(EXTI_D1->PR1, COMP_EXTI_LINE_COMP1) +/** + * @brief Clear the COMP1 EXTI flag. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() WRITE_REG(EXTI_D1->PR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Generate a software interrupt on the COMP1 EXTI line. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Enable the COMP1 D3 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTID3_ENABLE_EVENT() SET_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP1) + +/** + * @brief Disable the COMP1 D3 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP1_EXTID3_DISABLE_EVENT() CLEAR_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP1) + + +/** + * @brief Enable the COMP2 EXTI line rising edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Disable the COMP2 EXTI line rising edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Enable the COMP2 EXTI line falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Disable the COMP2 EXTI line falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Enable the COMP2 EXTI line rising & falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ + __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE(); \ + __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE(); \ + } while(0) + +/** + * @brief Disable the COMP2 EXTI line rising & falling edge trigger. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_FALLING_EDGE() do { \ + __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE(); \ + __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE(); \ + } while(0) +/** + * @brief Enable the COMP2 EXTI line. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_ENABLE_IT() SET_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Disable the COMP2 EXTI line. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_DISABLE_IT() CLEAR_BIT(EXTI_D1->IMR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Enable the COMP2 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_ENABLE_EVENT() SET_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Disable the COMP2 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI_D1->EMR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Check whether the COMP2 EXTI line flag is set or not. + * @retval RESET or SET + */ +#define __HAL_COMP_COMP2_EXTI_GET_FLAG() READ_BIT(EXTI_D1->PR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Clear the the COMP2 EXTI flag. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_CLEAR_FLAG() WRITE_REG(EXTI_D1->PR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Enable the COMP2 D3 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTID3_ENABLE_EVENT() SET_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Disable the COMP2 D3 EXTI Line in event mode. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTID3_DISABLE_EVENT() CLEAR_BIT(EXTI->D3PMR1, COMP_EXTI_LINE_COMP2) + +/** + * @brief Generate a software interrupt on the COMP2 EXTI line. + * @retval None + */ +#define __HAL_COMP_COMP2_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, COMP_EXTI_LINE_COMP2) + +/** @brief Checks if the specified COMP interrupt source is enabled or disabled. + * @param __HANDLE__: specifies the COMP Handle. + * This parameter can be COMP1 where x: 1 or 2 to select the COMP peripheral. + * @param __INTERRUPT__: specifies the COMP interrupt source to check. + * This parameter can be one of the following values: + * @arg COMP_IT_EN: Comparator interrupt enable + * + * @retval The new state of __IT__ (TRUE or FALSE) + */ +#define __HAL_COMP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CFGR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Checks whether the specified COMP flag is set or not. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg COMP_FLAG_C1I: Comparator 1 Interrupt Flag + * @arg COMP_FLAG_C2I: Comparator 2 Interrupt Flag + * @retval The new state of __FLAG__ (TRUE or FALSE) + */ +#define __HAL_COMP_GET_FLAG(__FLAG__) ((COMP12->SR & (__FLAG__)) == (__FLAG__)) + +/** @brief Clears the specified COMP pending flag. + * @param __FLAG__: specifies the flag to check. + * This parameter can be any combination of the following values: + * @arg COMP_CLEAR_C1IF : Clear Comparator 1 Interrupt Flag + * @arg COMP_CLEAR_C2IF : Clear Comparator 2 Interrupt Flag + * @retval None + */ +#define __HAL_COMP_CLEAR_FLAG(__FLAG__) (COMP12->ICFR = (__FLAG__)) + +/** @brief Clear the COMP C1I flag. + * @retval None + */ +#define __HAL_COMP_CLEAR_C1IFLAG() __HAL_COMP_CLEAR_FLAG( COMP_CLEAR_C1IF) + +/** @brief Clear the COMP C2I flag. + * @retval None + */ +#define __HAL_COMP_CLEAR_C2IFLAG() __HAL_COMP_CLEAR_FLAG( COMP_CLEAR_C2IF) + +/** @brief Enable the specified COMP interrupt. + * @param __HANDLE__: specifies the COMP Handle. + * @param __INTERRUPT__: specifies the COMP interrupt source to enable. + * This parameter can be one of the following values: + * @arg COMP_CFGRx_ITEN : Comparator interrupt + * @retval None + */ +#define __HAL_COMP_ENABLE_IT(__HANDLE__, __INTERRUPT__) ( ((__HANDLE__)->Instance->CFGR) |= (__INTERRUPT__) ) + +/** @brief Disable the specified COMP interrupt. + * @param __HANDLE__: specifies the COMP Handle. + * @param __INTERRUPT__: specifies the COMP interrupt source to enable. + * This parameter can be one of the following values: + * @arg COMP_CFGRx_ITEN : Comparator interrupt + * @retval None + */ +#define __HAL_COMP_DISABLE_IT(__HANDLE__,__INTERRUPT__) (((__HANDLE__)->Instance->CFGR) &= ~(__INTERRUPT__)) + +/** + * @} + */ +/** @brief Enable the specified bit in the Option register. + * @param __AF__: specifies the Alternate Function source selection . + * This parameter can be one of the following values: + * @arg COMP_OR_AFOPA6 : Alternate Function PA6 source selection + * @arg COMP_OR_AFOPA8 : Alternate Function PA8 source selection + * @arg COMP_OR_AFOPB12 : Alternate Function PB12 source selection + * @arg COMP_OR_AFOPE6 : Alternate Function PE6 source selection + * @arg COMP_OR_AFOPE15 : Alternate Function PE15 source selection + * @arg COMP_OR_AFOPG2 : Alternate Function PG2 source selection + * @arg COMP_OR_AFOPG3 : Alternate Function PG3 source selection + * @arg COMP_OR_AFOPG4 : Alternate Function PG4 source selection + * @arg COMP_OR_AFOPI1 : Alternate Function PI1 source selection + * @arg COMP_OR_AFOPI4 : Alternate Function PI4 source selection + * @arg COMP_OR_AFOPK2 : Alternate Function PK2 source selection + * @retval None + */ +#define __HAL_COMP_ENABLE_OR(__AF__) SET_BIT(COMP12->OR, (__AF__)) + +/** @brief Disable the specified bit in the Option register. + * @param __AF__: specifies the Alternate Function source selection . + * This parameter can be one of the following values: + * @arg COMP_OR_AFOPA6 : Alternate Function PA6 source selection + * @arg COMP_OR_AFOPA8 : Alternate Function PA8 source selection + * @arg COMP_OR_AFOPB12 : Alternate Function PB12 source selection + * @arg COMP_OR_AFOPE6 : Alternate Function PE6 source selection + * @arg COMP_OR_AFOPE15 : Alternate Function PE15 source selection + * @arg COMP_OR_AFOPG2 : Alternate Function PG2 source selection + * @arg COMP_OR_AFOPG3 : Alternate Function PG3 source selection + * @arg COMP_OR_AFOPG4 : Alternate Function PG4 source selection + * @arg COMP_OR_AFOPI1 : Alternate Function PI1 source selection + * @arg COMP_OR_AFOPI4 : Alternate Function PI4 source selection + * @arg COMP_OR_AFOPK2 : Alternate Function PK2 source selection + * @retval None + */ +#define __HAL_COMP_DISABLE_OR(__AF__) CLEAR_BIT(COMP12->OR, (__AF__)) +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup COMP_Private_Constants COMP Private Constants + * @{ + */ +/** @defgroup COMP_ExtiLine COMP EXTI Lines + * @{ + */ +#define COMP_EXTI_LINE_COMP1 (EXTI_IMR1_IM20) /*!< EXTI line 20 connected to COMP1 output */ +#define COMP_EXTI_LINE_COMP2 (EXTI_IMR1_IM21) /*!< EXTI line 21 connected to COMP2 output */ +/** + * @} + */ +/** @defgroup COMP_ExtiLine COMP EXTI Lines + * @{ + */ +#define COMP_EXTI_IT ((uint32_t) 0x01) /*!< EXTI line event with interruption */ +#define COMP_EXTI_EVENT ((uint32_t) 0x02) /*!< EXTI line event only (without interruption) */ +#define COMP_EXTI_RISING ((uint32_t) 0x10) /*!< EXTI line event on rising edge */ +#define COMP_EXTI_FALLING ((uint32_t) 0x20) /*!< EXTI line event on falling edge */ +/** + * @} + */ +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup COMP_Private_Macros COMP Private Macros + * @{ + */ +/** @defgroup COMP_GET_EXTI_LINE COMP Private macros to get EXTI line associated with Comparators + * @{ + */ +/** + * @brief Get the specified EXTI line for a comparator instance. + * @param __INSTANCE__: specifies the COMP instance. + * @retval value of @ref COMP_ExtiLine + */ +#define COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1 : \ + COMP_EXTI_LINE_COMP2) +/** + * @} + */ +/** @defgroup COMP_IS_COMP_Definitions COMP private macros to check input parameters + * @{ + */ +#define IS_COMP_WINDOWMODE(__WINDOWMODE__) (((__WINDOWMODE__) == COMP_WINDOWMODE_DISABLE) || \ + ((__WINDOWMODE__) == COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON) ) + +#define IS_COMP_POWERMODE(__POWERMODE__) (((__POWERMODE__) == COMP_POWERMODE_HIGHSPEED) || \ + ((__POWERMODE__) == COMP_POWERMODE_MEDIUMSPEED) || \ + ((__POWERMODE__) == COMP_POWERMODE_ULTRALOWPOWER) ) + + +#define IS_COMP_INPUT_PLUS(__COMP_INSTANCE__, __INPUT_PLUS__) (((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO1) || \ + ((__INPUT_PLUS__) == COMP_INPUT_PLUS_IO2)) + + + +#define IS_COMP_INPUT_MINUS(__COMP_INSTANCE__, __INPUT_MINUS__) (((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_4VREFINT) || \ + ((__INPUT_MINUS__) == COMP_INPUT_MINUS_1_2VREFINT) || \ + ((__INPUT_MINUS__) == COMP_INPUT_MINUS_3_4VREFINT) || \ + ((__INPUT_MINUS__) == COMP_INPUT_MINUS_VREFINT) || \ + ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH1) || \ + ((__INPUT_MINUS__) == COMP_INPUT_MINUS_DAC1_CH2) || \ + ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO1) || \ + ((__INPUT_MINUS__) == COMP_INPUT_MINUS_IO2)) + + +#define IS_COMP_HYSTERESIS(__HYSTERESIS__) (((__HYSTERESIS__) == COMP_HYSTERESIS_NONE) || \ + ((__HYSTERESIS__) == COMP_HYSTERESIS_LOW) || \ + ((__HYSTERESIS__) == COMP_HYSTERESIS_MEDIUM) || \ + ((__HYSTERESIS__) == COMP_HYSTERESIS_HIGH)) + +#define IS_COMP_OUTPUTPOL(__POL__) (((__POL__) == COMP_OUTPUTPOL_NONINVERTED) || \ + ((__POL__) == COMP_OUTPUTPOL_INVERTED)) + +#define IS_COMP_BLANKINGSRCE(__SOURCE__) (((__SOURCE__) == COMP_BLANKINGSRC_NONE) || \ + ((__SOURCE__) == COMP_BLANKINGSRC_TIM1_OC5) || \ + ((__SOURCE__) == COMP_BLANKINGSRC_TIM2_OC3) || \ + ((__SOURCE__) == COMP_BLANKINGSRC_TIM3_OC3) || \ + ((__SOURCE__) == COMP_BLANKINGSRC_TIM3_OC4) || \ + ((__SOURCE__) == COMP_BLANKINGSRC_TIM8_OC5) || \ + ((__SOURCE__) == COMP_BLANKINGSRC_TIM15_OC1)) + + +#define IS_COMP_TRIGGERMODE(__MODE__) (((__MODE__) == COMP_TRIGGERMODE_NONE) || \ + ((__MODE__) == COMP_TRIGGERMODE_IT_RISING) || \ + ((__MODE__) == COMP_TRIGGERMODE_IT_FALLING) || \ + ((__MODE__) == COMP_TRIGGERMODE_IT_RISING_FALLING) || \ + ((__MODE__) == COMP_TRIGGERMODE_EVENT_RISING) || \ + ((__MODE__) == COMP_TRIGGERMODE_EVENT_FALLING) || \ + ((__MODE__) == COMP_TRIGGERMODE_EVENT_RISING_FALLING)) + +#define IS_COMP_OUTPUT_LEVEL(__OUTPUT_LEVEL__) (((__OUTPUT_LEVEL__) == COMP_OUTPUT_LEVEL_LOW) || \ + ((__OUTPUT_LEVEL__) == COMP_OUTPUT_LEVEL_HIGH)) + +/** + * @} + */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup COMP_Exported_Functions + * @{ + */ + +/** @addtogroup COMP_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions **********************************/ +HAL_StatusTypeDef HAL_COMP_Init(COMP_HandleTypeDef *hcomp); +HAL_StatusTypeDef HAL_COMP_DeInit (COMP_HandleTypeDef *hcomp); +void HAL_COMP_MspInit(COMP_HandleTypeDef *hcomp); +void HAL_COMP_MspDeInit(COMP_HandleTypeDef *hcomp); +/** + * @} + */ + +/* IO operation functions *****************************************************/ +/** @addtogroup COMP_Exported_Functions_Group2 + * @{ + */ +HAL_StatusTypeDef HAL_COMP_Start(COMP_HandleTypeDef *hcomp); +HAL_StatusTypeDef HAL_COMP_Stop(COMP_HandleTypeDef *hcomp); +HAL_StatusTypeDef HAL_COMP_Start_IT(COMP_HandleTypeDef *hcomp); +HAL_StatusTypeDef HAL_COMP_Stop_IT(COMP_HandleTypeDef *hcomp); +void HAL_COMP_IRQHandler(COMP_HandleTypeDef *hcomp); + +/** + * @} + */ + +/* Peripheral Control functions ************************************************/ +/** @addtogroup COMP_Exported_Functions_Group3 + * @{ + */ +HAL_StatusTypeDef HAL_COMP_Lock(COMP_HandleTypeDef *hcomp); +uint32_t HAL_COMP_GetOutputLevel(COMP_HandleTypeDef *hcomp); +/* Callback in Interrupt mode */ +void HAL_COMP_TriggerCallback(COMP_HandleTypeDef *hcomp); +/** + * @} + */ + +/* Peripheral State functions **************************************************/ +/** @addtogroup COMP_Exported_Functions_Group4 + * @{ + */ +HAL_COMP_StateTypeDef HAL_COMP_GetState(COMP_HandleTypeDef *hcomp); +/** + * @} + */ + +/** + * @} + */ + + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_COMP_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_conf_template.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_conf_template.h new file mode 100644 index 0000000000..b0bb4504a7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_conf_template.h @@ -0,0 +1,432 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_conf_template.h + * @author MCD Application Team + * @brief HAL configuration template file. + * This file should be copied to the application folder and renamed + * to stm32h7xx_hal_conf.h. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CONF_H +#define __STM32H7xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +#define HAL_ADC_MODULE_ENABLED +#define HAL_CEC_MODULE_ENABLED +#define HAL_COMP_MODULE_ENABLED +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_CRC_MODULE_ENABLED +#define HAL_CRYP_MODULE_ENABLED +#define HAL_DAC_MODULE_ENABLED +#define HAL_DCMI_MODULE_ENABLED +#define HAL_DFSDM_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_DMA2D_MODULE_ENABLED +#define HAL_ETH_MODULE_ENABLED +#define HAL_FDCAN_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +#define HAL_GPIO_MODULE_ENABLED +#define HAL_HASH_MODULE_ENABLED +#define HAL_HCD_MODULE_ENABLED +#define HAL_HRTIM_MODULE_ENABLED +#define HAL_HSEM_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +#define HAL_I2S_MODULE_ENABLED +#define HAL_IRDA_MODULE_ENABLED +#define HAL_IWDG_MODULE_ENABLED +#define HAL_JPEG_MODULE_ENABLED +#define HAL_LPTIM_MODULE_ENABLED +#define HAL_LTDC_MODULE_ENABLED +#define HAL_MDIOS_MODULE_ENABLED +#define HAL_MDMA_MODULE_ENABLED +#define HAL_MMC_MODULE_ENABLED +#define HAL_NAND_MODULE_ENABLED +#define HAL_NOR_MODULE_ENABLED +#define HAL_OPAMP_MODULE_ENABLED +#define HAL_PCD_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_QSPI_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_RNG_MODULE_ENABLED +#define HAL_RTC_MODULE_ENABLED +#define HAL_SAI_MODULE_ENABLED +#define HAL_SD_MODULE_ENABLED +#define HAL_SDRAM_MODULE_ENABLED +#define HAL_SMARTCARD_MODULE_ENABLED +#define HAL_SMBUS_MODULE_ENABLED +#define HAL_SPDIFRX_MODULE_ENABLED +#define HAL_SPI_MODULE_ENABLED +#define HAL_SRAM_MODULE_ENABLED +#define HAL_SWPMI_MODULE_ENABLED +#define HAL_TIM_MODULE_ENABLED +#define HAL_UART_MODULE_ENABLED +#define HAL_USART_MODULE_ENABLED +#define HAL_WWDG_MODULE_ENABLED + +/* ########################## Oscillator Values adaptation ####################*/ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) +#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal oscillator (CSI) default value. + * This value is the default CSI value after Reset. + */ +#if !defined (CSI_VALUE) + #define CSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* CSI_VALUE */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief External Low Speed oscillator (LSE) value. + * This value is used by the UART, RTC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE ((uint32_t)32768) /*!< Value of the External oscillator in Hz*/ +#endif /* LSE_VALUE */ + + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/** + * @brief External clock source for I2S peripheral + * This value is used by the I2S HAL module to compute the I2S clock source + * frequency, this source is inserted directly through I2S_CKIN pad. + */ +#if !defined (EXTERNAL_CLOCK_VALUE) + #define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the External clock in Hz*/ +#endif /* EXTERNAL_CLOCK_VALUE */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY ((uint32_t)0x0F) /*!< tick interrupt priority */ +#define USE_RTOS 0 +#define USE_SD_TRANSCEIVER 1U /*!< use uSD Transceiver */ + +/* ########################### Ethernet Configuration ######################### */ +#define ETH_TX_DESC_CNT 4 /* number of Ethernet Tx DMA descriptors */ +#define ETH_RX_DESC_CNT 4 /* number of Ethernet Rx DMA descriptors */ + +#define ETH_MAC_ADDR0 ((uint8_t)0x02) +#define ETH_MAC_ADDR1 ((uint8_t)0x00) +#define ETH_MAC_ADDR2 ((uint8_t)0x00) +#define ETH_MAC_ADDR3 ((uint8_t)0x00) +#define ETH_MAC_ADDR4 ((uint8_t)0x00) +#define ETH_MAC_ADDR5 ((uint8_t)0x00) + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1 */ + +/* ################## SPI peripheral configuration ########################## */ +/** + * @brief Used to activate CRC feature inside HAL SPI Driver + * Activated (1U): CRC code is compiled within HAL SPI driver + * Deactivated (0U): CRC code excluded from HAL SPI driver + */ + +#define USE_SPI_CRC 1U + + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32h7xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32h7xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32h7xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_HASH_MODULE_ENABLED + #include "stm32h7xx_hal_hash.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_DCMI_MODULE_ENABLED + #include "stm32h7xx_hal_dcmi.h" +#endif /* HAL_DCMI_MODULE_ENABLED */ + +#ifdef HAL_DMA2D_MODULE_ENABLED + #include "stm32h7xx_hal_dma2d.h" +#endif /* HAL_DMA2D_MODULE_ENABLED */ + +#ifdef HAL_DFSDM_MODULE_ENABLED + #include "stm32h7xx_hal_dfsdm.h" +#endif /* HAL_DFSDM_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED + #include "stm32h7xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32h7xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32h7xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_FDCAN_MODULE_ENABLED + #include "stm32h7xx_hal_fdcan.h" +#endif /* HAL_FDCAN_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED + #include "stm32h7xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_COMP_MODULE_ENABLED + #include "stm32h7xx_hal_comp.h" +#endif /* HAL_COMP_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32h7xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED + #include "stm32h7xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32h7xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "stm32h7xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_HRTIM_MODULE_ENABLED + #include "stm32h7xx_hal_hrtim.h" +#endif /* HAL_HRTIM_MODULE_ENABLED */ + +#ifdef HAL_HSEM_MODULE_ENABLED + #include "stm32h7xx_hal_hsem.h" +#endif /* HAL_HSEM_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED + #include "stm32h7xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED + #include "stm32h7xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED + #include "stm32h7xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32h7xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32h7xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32h7xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_JPEG_MODULE_ENABLED + #include "stm32h7xx_hal_jpeg.h" +#endif /* HAL_JPEG_MODULE_ENABLED */ + +#ifdef HAL_MDIOS_MODULE_ENABLED + #include "stm32h7xx_hal_mdios.h" +#endif /* HAL_MDIOS_MODULE_ENABLED */ + +#ifdef HAL_MDMA_MODULE_ENABLED + #include "stm32h7xx_hal_mdma.h" +#endif /* HAL_MDMA_MODULE_ENABLED */ + +#ifdef HAL_MMC_MODULE_ENABLED + #include "stm32h7xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED +#include "stm32h7xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_LTDC_MODULE_ENABLED +#include "stm32h7xx_hal_ltdc.h" +#endif /* HAL_LTDC_MODULE_ENABLED */ + +#ifdef HAL_OPAMP_MODULE_ENABLED +#include "stm32h7xx_hal_opamp.h" +#endif /* HAL_OPAMP_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32h7xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_QSPI_MODULE_ENABLED + #include "stm32h7xx_hal_qspi.h" +#endif /* HAL_QSPI_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED + #include "stm32h7xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32h7xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SAI_MODULE_ENABLED + #include "stm32h7xx_hal_sai.h" +#endif /* HAL_SAI_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED + #include "stm32h7xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_SDRAM_MODULE_ENABLED + #include "stm32h7xx_hal_sdram.h" +#endif /* HAL_SDRAM_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32h7xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_SPDIFRX_MODULE_ENABLED + #include "stm32h7xx_hal_spdifrx.h" +#endif /* HAL_SPDIFRX_MODULE_ENABLED */ + +#ifdef HAL_SWPMI_MODULE_ENABLED + #include "stm32h7xx_hal_swpmi.h" +#endif /* HAL_SWPMI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32h7xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32h7xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32h7xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED + #include "stm32h7xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32h7xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + #include "stm32h7xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32h7xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32h7xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED + #include "stm32h7xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CONF_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h new file mode 100644 index 0000000000..f6d269aaaf --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h @@ -0,0 +1,461 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cortex.h + * @author MCD Application Team + * @brief Header file of CORTEX HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CORTEX_H +#define __STM32H7xx_HAL_CORTEX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup CORTEX + * @{ + */ +/* Exported types ------------------------------------------------------------*/ +/** @defgroup CORTEX_Exported_Types Cortex Exported Types + * @{ + */ + +#if (__MPU_PRESENT == 1) +/** @defgroup CORTEX_MPU_Region_Initialization_Structure_definition MPU Region Initialization Structure Definition + * @brief MPU Region initialization structure + * @{ + */ +typedef struct +{ + uint8_t Enable; /*!< Specifies the status of the region. + This parameter can be a value of @ref CORTEX_MPU_Region_Enable */ + uint8_t Number; /*!< Specifies the number of the region to protect. + This parameter can be a value of @ref CORTEX_MPU_Region_Number */ + uint32_t BaseAddress; /*!< Specifies the base address of the region to protect. */ + uint8_t Size; /*!< Specifies the size of the region to protect. + This parameter can be a value of @ref CORTEX_MPU_Region_Size */ + uint8_t SubRegionDisable; /*!< Specifies the number of the subregion protection to disable. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF */ + uint8_t TypeExtField; /*!< Specifies the TEX field level. + This parameter can be a value of @ref CORTEX_MPU_TEX_Levels */ + uint8_t AccessPermission; /*!< Specifies the region access permission type. + This parameter can be a value of @ref CORTEX_MPU_Region_Permission_Attributes */ + uint8_t DisableExec; /*!< Specifies the instruction access status. + This parameter can be a value of @ref CORTEX_MPU_Instruction_Access */ + uint8_t IsShareable; /*!< Specifies the shareability status of the protected region. + This parameter can be a value of @ref CORTEX_MPU_Access_Shareable */ + uint8_t IsCacheable; /*!< Specifies the cacheable status of the region protected. + This parameter can be a value of @ref CORTEX_MPU_Access_Cacheable */ + uint8_t IsBufferable; /*!< Specifies the bufferable status of the protected region. + This parameter can be a value of @ref CORTEX_MPU_Access_Bufferable */ +}MPU_Region_InitTypeDef; +/** + * @} + */ +#endif /* __MPU_PRESENT */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup CORTEX_Exported_Constants CORTEX Exported Constants + * @{ + */ + +/** @defgroup CORTEX_Preemption_Priority_Group CORTEX Preemption Priority Group + * @{ + */ +#define NVIC_PRIORITYGROUP_0 ((uint32_t)0x00000007) /*!< 0 bits for pre-emption priority + 4 bits for subpriority */ +#define NVIC_PRIORITYGROUP_1 ((uint32_t)0x00000006) /*!< 1 bits for pre-emption priority + 3 bits for subpriority */ +#define NVIC_PRIORITYGROUP_2 ((uint32_t)0x00000005) /*!< 2 bits for pre-emption priority + 2 bits for subpriority */ +#define NVIC_PRIORITYGROUP_3 ((uint32_t)0x00000004) /*!< 3 bits for pre-emption priority + 1 bits for subpriority */ +#define NVIC_PRIORITYGROUP_4 ((uint32_t)0x00000003) /*!< 4 bits for pre-emption priority + 0 bits for subpriority */ +/** + * @} + */ + +/** @defgroup CORTEX_SysTick_clock_source CORTEX _SysTick clock source + * @{ + */ +#define SYSTICK_CLKSOURCE_HCLK_DIV8 ((uint32_t)0x00000000) +#define SYSTICK_CLKSOURCE_HCLK ((uint32_t)0x00000004) + +/** + * @} + */ + +#if (__MPU_PRESENT == 1) +/** @defgroup CORTEX_MPU_HFNMI_PRIVDEF_Control MPU HFNMI and PRIVILEGED Access control + * @{ + */ +#define MPU_HFNMI_PRIVDEF_NONE ((uint32_t)0x00000000) +#define MPU_HARDFAULT_NMI ((uint32_t)0x00000002) +#define MPU_PRIVILEGED_DEFAULT ((uint32_t)0x00000004) +#define MPU_HFNMI_PRIVDEF ((uint32_t)0x00000006) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Region_Enable CORTEX MPU Region Enable + * @{ + */ +#define MPU_REGION_ENABLE ((uint8_t)0x01) +#define MPU_REGION_DISABLE ((uint8_t)0x00) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Instruction_Access CORTEX MPU Instruction Access + * @{ + */ +#define MPU_INSTRUCTION_ACCESS_ENABLE ((uint8_t)0x00) +#define MPU_INSTRUCTION_ACCESS_DISABLE ((uint8_t)0x01) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Access_Shareable CORTEX MPU Instruction Access Shareable + * @{ + */ +#define MPU_ACCESS_SHAREABLE ((uint8_t)0x01) +#define MPU_ACCESS_NOT_SHAREABLE ((uint8_t)0x00) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Access_Cacheable CORTEX MPU Instruction Access Cacheable + * @{ + */ +#define MPU_ACCESS_CACHEABLE ((uint8_t)0x01) +#define MPU_ACCESS_NOT_CACHEABLE ((uint8_t)0x00) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Access_Bufferable CORTEX MPU Instruction Access Bufferable + * @{ + */ +#define MPU_ACCESS_BUFFERABLE ((uint8_t)0x01) +#define MPU_ACCESS_NOT_BUFFERABLE ((uint8_t)0x00) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_TEX_Levels MPU TEX Levels + * @{ + */ +#define MPU_TEX_LEVEL0 ((uint8_t)0x00) +#define MPU_TEX_LEVEL1 ((uint8_t)0x01) +#define MPU_TEX_LEVEL2 ((uint8_t)0x02) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Region_Size CORTEX MPU Region Size + * @{ + */ +#define MPU_REGION_SIZE_32B ((uint8_t)0x04) +#define MPU_REGION_SIZE_64B ((uint8_t)0x05) +#define MPU_REGION_SIZE_128B ((uint8_t)0x06) +#define MPU_REGION_SIZE_256B ((uint8_t)0x07) +#define MPU_REGION_SIZE_512B ((uint8_t)0x08) +#define MPU_REGION_SIZE_1KB ((uint8_t)0x09) +#define MPU_REGION_SIZE_2KB ((uint8_t)0x0A) +#define MPU_REGION_SIZE_4KB ((uint8_t)0x0B) +#define MPU_REGION_SIZE_8KB ((uint8_t)0x0C) +#define MPU_REGION_SIZE_16KB ((uint8_t)0x0D) +#define MPU_REGION_SIZE_32KB ((uint8_t)0x0E) +#define MPU_REGION_SIZE_64KB ((uint8_t)0x0F) +#define MPU_REGION_SIZE_128KB ((uint8_t)0x10) +#define MPU_REGION_SIZE_256KB ((uint8_t)0x11) +#define MPU_REGION_SIZE_512KB ((uint8_t)0x12) +#define MPU_REGION_SIZE_1MB ((uint8_t)0x13) +#define MPU_REGION_SIZE_2MB ((uint8_t)0x14) +#define MPU_REGION_SIZE_4MB ((uint8_t)0x15) +#define MPU_REGION_SIZE_8MB ((uint8_t)0x16) +#define MPU_REGION_SIZE_16MB ((uint8_t)0x17) +#define MPU_REGION_SIZE_32MB ((uint8_t)0x18) +#define MPU_REGION_SIZE_64MB ((uint8_t)0x19) +#define MPU_REGION_SIZE_128MB ((uint8_t)0x1A) +#define MPU_REGION_SIZE_256MB ((uint8_t)0x1B) +#define MPU_REGION_SIZE_512MB ((uint8_t)0x1C) +#define MPU_REGION_SIZE_1GB ((uint8_t)0x1D) +#define MPU_REGION_SIZE_2GB ((uint8_t)0x1E) +#define MPU_REGION_SIZE_4GB ((uint8_t)0x1F) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Region_Permission_Attributes CORTEX MPU Region Permission Attributes + * @{ + */ +#define MPU_REGION_NO_ACCESS ((uint8_t)0x00) +#define MPU_REGION_PRIV_RW ((uint8_t)0x01) +#define MPU_REGION_PRIV_RW_URO ((uint8_t)0x02) +#define MPU_REGION_FULL_ACCESS ((uint8_t)0x03) +#define MPU_REGION_PRIV_RO ((uint8_t)0x05) +#define MPU_REGION_PRIV_RO_URO ((uint8_t)0x06) +/** + * @} + */ + +/** @defgroup CORTEX_MPU_Region_Number CORTEX MPU Region Number + * @{ + */ +#define MPU_REGION_NUMBER0 ((uint8_t)0x00) +#define MPU_REGION_NUMBER1 ((uint8_t)0x01) +#define MPU_REGION_NUMBER2 ((uint8_t)0x02) +#define MPU_REGION_NUMBER3 ((uint8_t)0x03) +#define MPU_REGION_NUMBER4 ((uint8_t)0x04) +#define MPU_REGION_NUMBER5 ((uint8_t)0x05) +#define MPU_REGION_NUMBER6 ((uint8_t)0x06) +#define MPU_REGION_NUMBER7 ((uint8_t)0x07) +#define MPU_REGION_NUMBER8 ((uint8_t)0x08) +#define MPU_REGION_NUMBER9 ((uint8_t)0x09) +#define MPU_REGION_NUMBER10 ((uint8_t)0x0A) +#define MPU_REGION_NUMBER11 ((uint8_t)0x0B) +#define MPU_REGION_NUMBER12 ((uint8_t)0x0C) +#define MPU_REGION_NUMBER13 ((uint8_t)0x0D) +#define MPU_REGION_NUMBER14 ((uint8_t)0x0E) +#define MPU_REGION_NUMBER15 ((uint8_t)0x0F) + +/** + * @} + */ +#endif /* __MPU_PRESENT */ + +/** + * @} + */ + + +/* Exported Macros -----------------------------------------------------------*/ +/** @defgroup CORTEX_Exported_Macros CORTEX Exported Macros + * @{ + */ + +/** + * @} + */ + + + +/** @defgroup CORTEX_CPU_Identifier CORTEX_CPU_Identifier + * @{ + */ +#define CM7_CPUID (uint32_t)0x00000003 + +/** + * @} + */ + + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup CORTEX_Exported_Functions + * @{ + */ + +/** @addtogroup CORTEX_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions *****************************/ +void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup); +void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority); +void HAL_NVIC_EnableIRQ(IRQn_Type IRQn); +void HAL_NVIC_DisableIRQ(IRQn_Type IRQn); +void HAL_NVIC_SystemReset(void); +uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb); +/** + * @} + */ + +/** @addtogroup CORTEX_Exported_Functions_Group2 + * @{ + */ +/* Peripheral Control functions ***********************************************/ +#if (__MPU_PRESENT == 1) +void HAL_MPU_Enable(uint32_t MPU_Control); +void HAL_MPU_Disable(void); +void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init); +#endif /* __MPU_PRESENT */ +uint32_t HAL_NVIC_GetPriorityGrouping(void); +void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority); +uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn); +void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn); +void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn); +uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn); +void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource); +void HAL_SYSTICK_IRQHandler(void); +void HAL_SYSTICK_Callback(void); +uint32_t HAL_GetCurrentCPUID(void); + + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/** @defgroup CORTEX_Private_Macros CORTEX Private Macros + * @{ + */ +#define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PRIORITYGROUP_0) || \ + ((GROUP) == NVIC_PRIORITYGROUP_1) || \ + ((GROUP) == NVIC_PRIORITYGROUP_2) || \ + ((GROUP) == NVIC_PRIORITYGROUP_3) || \ + ((GROUP) == NVIC_PRIORITYGROUP_4)) + +#define IS_NVIC_PREEMPTION_PRIORITY(PRIORITY) ((PRIORITY) < 0x10) + +#define IS_NVIC_SUB_PRIORITY(PRIORITY) ((PRIORITY) < 0x10) + +#define IS_NVIC_DEVICE_IRQ(IRQ) ((IRQ) >= 0x00) + +#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SYSTICK_CLKSOURCE_HCLK) || \ + ((SOURCE) == SYSTICK_CLKSOURCE_HCLK_DIV8)) + +#if (__MPU_PRESENT == 1) +#define IS_MPU_REGION_ENABLE(STATE) (((STATE) == MPU_REGION_ENABLE) || \ + ((STATE) == MPU_REGION_DISABLE)) + +#define IS_MPU_INSTRUCTION_ACCESS(STATE) (((STATE) == MPU_INSTRUCTION_ACCESS_ENABLE) || \ + ((STATE) == MPU_INSTRUCTION_ACCESS_DISABLE)) + +#define IS_MPU_ACCESS_SHAREABLE(STATE) (((STATE) == MPU_ACCESS_SHAREABLE) || \ + ((STATE) == MPU_ACCESS_NOT_SHAREABLE)) + +#define IS_MPU_ACCESS_CACHEABLE(STATE) (((STATE) == MPU_ACCESS_CACHEABLE) || \ + ((STATE) == MPU_ACCESS_NOT_CACHEABLE)) + +#define IS_MPU_ACCESS_BUFFERABLE(STATE) (((STATE) == MPU_ACCESS_BUFFERABLE) || \ + ((STATE) == MPU_ACCESS_NOT_BUFFERABLE)) + +#define IS_MPU_TEX_LEVEL(TYPE) (((TYPE) == MPU_TEX_LEVEL0) || \ + ((TYPE) == MPU_TEX_LEVEL1) || \ + ((TYPE) == MPU_TEX_LEVEL2)) + +#define IS_MPU_REGION_PERMISSION_ATTRIBUTE(TYPE) (((TYPE) == MPU_REGION_NO_ACCESS) || \ + ((TYPE) == MPU_REGION_PRIV_RW) || \ + ((TYPE) == MPU_REGION_PRIV_RW_URO) || \ + ((TYPE) == MPU_REGION_FULL_ACCESS) || \ + ((TYPE) == MPU_REGION_PRIV_RO) || \ + ((TYPE) == MPU_REGION_PRIV_RO_URO)) + +#define IS_MPU_REGION_NUMBER(NUMBER) (((NUMBER) == MPU_REGION_NUMBER0) || \ + ((NUMBER) == MPU_REGION_NUMBER1) || \ + ((NUMBER) == MPU_REGION_NUMBER2) || \ + ((NUMBER) == MPU_REGION_NUMBER3) || \ + ((NUMBER) == MPU_REGION_NUMBER4) || \ + ((NUMBER) == MPU_REGION_NUMBER5) || \ + ((NUMBER) == MPU_REGION_NUMBER6) || \ + ((NUMBER) == MPU_REGION_NUMBER7) || \ + ((NUMBER) == MPU_REGION_NUMBER8) || \ + ((NUMBER) == MPU_REGION_NUMBER9) || \ + ((NUMBER) == MPU_REGION_NUMBER10) || \ + ((NUMBER) == MPU_REGION_NUMBER11) || \ + ((NUMBER) == MPU_REGION_NUMBER12) || \ + ((NUMBER) == MPU_REGION_NUMBER13) || \ + ((NUMBER) == MPU_REGION_NUMBER14) || \ + ((NUMBER) == MPU_REGION_NUMBER15)) + +#define IS_MPU_REGION_SIZE(SIZE) (((SIZE) == MPU_REGION_SIZE_32B) || \ + ((SIZE) == MPU_REGION_SIZE_64B) || \ + ((SIZE) == MPU_REGION_SIZE_128B) || \ + ((SIZE) == MPU_REGION_SIZE_256B) || \ + ((SIZE) == MPU_REGION_SIZE_512B) || \ + ((SIZE) == MPU_REGION_SIZE_1KB) || \ + ((SIZE) == MPU_REGION_SIZE_2KB) || \ + ((SIZE) == MPU_REGION_SIZE_4KB) || \ + ((SIZE) == MPU_REGION_SIZE_8KB) || \ + ((SIZE) == MPU_REGION_SIZE_16KB) || \ + ((SIZE) == MPU_REGION_SIZE_32KB) || \ + ((SIZE) == MPU_REGION_SIZE_64KB) || \ + ((SIZE) == MPU_REGION_SIZE_128KB) || \ + ((SIZE) == MPU_REGION_SIZE_256KB) || \ + ((SIZE) == MPU_REGION_SIZE_512KB) || \ + ((SIZE) == MPU_REGION_SIZE_1MB) || \ + ((SIZE) == MPU_REGION_SIZE_2MB) || \ + ((SIZE) == MPU_REGION_SIZE_4MB) || \ + ((SIZE) == MPU_REGION_SIZE_8MB) || \ + ((SIZE) == MPU_REGION_SIZE_16MB) || \ + ((SIZE) == MPU_REGION_SIZE_32MB) || \ + ((SIZE) == MPU_REGION_SIZE_64MB) || \ + ((SIZE) == MPU_REGION_SIZE_128MB) || \ + ((SIZE) == MPU_REGION_SIZE_256MB) || \ + ((SIZE) == MPU_REGION_SIZE_512MB) || \ + ((SIZE) == MPU_REGION_SIZE_1GB) || \ + ((SIZE) == MPU_REGION_SIZE_2GB) || \ + ((SIZE) == MPU_REGION_SIZE_4GB)) + +#define IS_MPU_SUB_REGION_DISABLE(SUBREGION) ((SUBREGION) < (uint16_t)0x00FF) +#endif /* __MPU_PRESENT */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CORTEX_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc.h new file mode 100644 index 0000000000..87299a9bca --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc.h @@ -0,0 +1,421 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_crc.h + * @author MCD Application Team + * @brief Header file of CRC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CRC_H +#define __STM32H7xx_HAL_CRC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup CRC CRC + * @brief CRC HAL module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup CRC_Exported_Types CRC Exported Types + * @{ + */ + +/** @defgroup CRC_Exported_Types_Group1 CRC State Structure definition + * @{ + */ +typedef enum +{ + HAL_CRC_STATE_RESET = 0x00U, /*!< CRC not yet initialized or disabled */ + HAL_CRC_STATE_READY = 0x01U, /*!< CRC initialized and ready for use */ + HAL_CRC_STATE_BUSY = 0x02U, /*!< CRC internal process is ongoing */ + HAL_CRC_STATE_TIMEOUT = 0x03U, /*!< CRC timeout state */ + HAL_CRC_STATE_ERROR = 0x04U /*!< CRC error state */ +}HAL_CRC_StateTypeDef; +/** + * @} + */ + +/** @defgroup CRC_Exported_Types_Group2 CRC Init Structure definition + * @{ + */ +typedef struct +{ + uint8_t DefaultPolynomialUse; /*!< This parameter is a value of @ref CRC_Default_Polynomial and indicates if default polynomial is used. + If set to DEFAULT_POLYNOMIAL_ENABLE, resort to default + X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 +X^8 + X^7 + X^5 + X^4 + X^2+ X +1. + In that case, there is no need to set GeneratingPolynomial field. + If otherwise set to DEFAULT_POLYNOMIAL_DISABLE, GeneratingPolynomial and CRCLength fields must be set */ + + uint8_t DefaultInitValueUse; /*!< This parameter is a value of @ref CRC_Default_InitValue_Use and indicates if default init value is used. + If set to DEFAULT_INIT_VALUE_ENABLE, resort to default + 0xFFFFFFFF value. In that case, there is no need to set InitValue field. + If otherwise set to DEFAULT_INIT_VALUE_DISABLE, InitValue field must be set */ + + uint32_t GeneratingPolynomial; /*!< Set CRC generating polynomial. 7, 8, 16 or 32-bit long value for a polynomial degree + respectively equal to 7, 8, 16 or 32. This field is written in normal representation, + e.g., for a polynomial of degree 7, X^7 + X^6 + X^5 + X^2 + 1 is written 0x65. + No need to specify it if DefaultPolynomialUse is set to DEFAULT_POLYNOMIAL_ENABLE */ + + uint32_t CRCLength; /*!< This parameter is a value of @ref CRC_Polynomial_Sizes and indicates CRC length. + Value can be either one of + CRC_POLYLENGTH_32B (32-bit CRC) + CRC_POLYLENGTH_16B (16-bit CRC) + CRC_POLYLENGTH_8B (8-bit CRC) + CRC_POLYLENGTH_7B (7-bit CRC) */ + + uint32_t InitValue; /*!< Init value to initiate CRC computation. No need to specify it if DefaultInitValueUse + is set to DEFAULT_INIT_VALUE_ENABLE */ + + uint32_t InputDataInversionMode; /*!< This parameter is a value of @ref CRCEx_Input_Data_Inversion and specifies input data inversion mode. + Can be either one of the following values + CRC_INPUTDATA_INVERSION_NONE no input data inversion + CRC_INPUTDATA_INVERSION_BYTE byte-wise inversion, 0x1A2B3C4D becomes 0x58D43CB2 + CRC_INPUTDATA_INVERSION_HALFWORD halfword-wise inversion, 0x1A2B3C4D becomes 0xD458B23C + CRC_INPUTDATA_INVERSION_WORD word-wise inversion, 0x1A2B3C4D becomes 0xB23CD458 */ + + uint32_t OutputDataInversionMode; /*!< This parameter is a value of @ref CRCEx_Output_Data_Inversion and specifies output data (i.e. CRC) inversion mode. + Can be either + CRC_OUTPUTDATA_INVERSION_DISABLE no CRC inversion, or + CRC_OUTPUTDATA_INVERSION_ENABLE CRC 0x11223344 is converted into 0x22CC4488 */ +}CRC_InitTypeDef; +/** + * @} + */ + +/** @defgroup CRC_Exported_Types_Group3 CRC Handle Structure definition + * @{ + */ +typedef struct +{ + CRC_TypeDef *Instance; /*!< Register base address */ + + CRC_InitTypeDef Init; /*!< CRC configuration parameters */ + + HAL_LockTypeDef Lock; /*!< CRC Locking object */ + + __IO HAL_CRC_StateTypeDef State; /*!< CRC communication state */ + + uint32_t InputDataFormat; /*!< This parameter is a value of @ref CRC_Input_Buffer_Format and specifies input data format. + Can be either + CRC_INPUTDATA_FORMAT_BYTES input data is a stream of bytes (8-bit data) + CRC_INPUTDATA_FORMAT_HALFWORDS input data is a stream of half-words (16-bit data) + CRC_INPUTDATA_FORMAT_WORDS input data is a stream of words (32-bits data) + Note that constant CRC_INPUT_FORMAT_UNDEFINED is defined but an initialization error + must occur if InputBufferFormat is not one of the three values listed above */ +}CRC_HandleTypeDef; +/** + * @} + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup CRC_Exported_Constants CRC exported constants + * @{ + */ + +/** @defgroup CRC_Default_Polynomial_Value Default CRC generating polynomial + * @{ + */ +#define DEFAULT_CRC32_POLY 0x04C11DB7U + +/** + * @} + */ + +/** @defgroup CRC_Default_InitValue Default CRC computation initialization value + * @{ + */ +#define DEFAULT_CRC_INITVALUE 0xFFFFFFFFU + +/** + * @} + */ + +/** @defgroup CRC_Default_Polynomial Indicates whether or not default polynomial is used + * @{ + */ +#define DEFAULT_POLYNOMIAL_ENABLE ((uint8_t)0x00U) +#define DEFAULT_POLYNOMIAL_DISABLE ((uint8_t)0x01U) + + +/** + * @} + */ + +/** @defgroup CRC_Default_InitValue_Use Indicates whether or not default init value is used + * @{ + */ +#define DEFAULT_INIT_VALUE_ENABLE ((uint8_t)0x00U) +#define DEFAULT_INIT_VALUE_DISABLE ((uint8_t)0x01U) + +/** + * @} + */ + +/** @defgroup CRC_Polynomial_Sizes Polynomial sizes to configure the IP + * @{ + */ +#define CRC_POLYLENGTH_32B ((uint32_t)0x00000000U) +#define CRC_POLYLENGTH_16B ((uint32_t)CRC_CR_POLYSIZE_0) +#define CRC_POLYLENGTH_8B ((uint32_t)CRC_CR_POLYSIZE_1) +#define CRC_POLYLENGTH_7B ((uint32_t)CRC_CR_POLYSIZE) +/** + * @} + */ + +/** @defgroup CRC_Polynomial_Size_Definitions CRC polynomial possible sizes actual definitions + * @{ + */ +#define HAL_CRC_LENGTH_32B 32U +#define HAL_CRC_LENGTH_16B 16U +#define HAL_CRC_LENGTH_8B 8U +#define HAL_CRC_LENGTH_7B 7U + +/** + * @} + */ + +/** @defgroup CRC_Input_Buffer_Format CRC input buffer format + * @{ + */ +/* WARNING: CRC_INPUT_FORMAT_UNDEFINED is created for reference purposes but + * an error is triggered in HAL_CRC_Init() if InputDataFormat field is set + * to CRC_INPUT_FORMAT_UNDEFINED: the format MUST be defined by the user for + * the CRC APIs to provide a correct result */ +#define CRC_INPUTDATA_FORMAT_UNDEFINED ((uint32_t)0x00000000U) +#define CRC_INPUTDATA_FORMAT_BYTES ((uint32_t)0x00000001U) +#define CRC_INPUTDATA_FORMAT_HALFWORDS ((uint32_t)0x00000002U) +#define CRC_INPUTDATA_FORMAT_WORDS ((uint32_t)0x00000003U) +/** + * @} + */ + +/** + * @} + */ +/* Exported macros -----------------------------------------------------------*/ + +/** @defgroup CRC_Exported_Macros CRC exported macros + * @{ + */ + +/** @brief Reset CRC handle state + * @param __HANDLE__: CRC handle. + * @retval None + */ +#define __HAL_CRC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_CRC_STATE_RESET) + +/** + * @brief Reset CRC Data Register. + * @param __HANDLE__: CRC handle + * @retval None. + */ +#define __HAL_CRC_DR_RESET(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRC_CR_RESET) + +/** + * @brief Set CRC INIT non-default value + * @param __HANDLE__ : CRC handle + * @param __INIT__ : 32-bit initial value + * @retval None. + */ +#define __HAL_CRC_INITIALCRCVALUE_CONFIG(__HANDLE__, __INIT__) ((__HANDLE__)->Instance->INIT = (__INIT__)) + +/** + * @brief Stores a 32-bit data in the Independent Data(ID) register. + * @param __HANDLE__: CRC handle + * @param __VALUE__: 32-bit value to be stored in the ID register + * @retval None + */ +#define __HAL_CRC_SET_IDR(__HANDLE__, __VALUE__) (WRITE_REG((__HANDLE__)->Instance->IDR, (__VALUE__))) + +/** + * @brief Returns the 32-bit data stored in the Independent Data(ID) register. + * @param __HANDLE__: CRC handle + * @retval 32-bit value of the ID register + */ +#define __HAL_CRC_GET_IDR(__HANDLE__) (((__HANDLE__)->Instance->IDR) & CRC_IDR_IDR) +/** + * @} + */ + + +/* Include CRC HAL Extension module */ +#include "stm32h7xx_hal_crc_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup CRC_Exported_Functions CRC Exported Functions + * @{ + */ + +/** @defgroup CRC_Exported_Functions_Group1 Initialization/de-initialization functions + * @{ + */ +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_CRC_Init(CRC_HandleTypeDef *hcrc); +HAL_StatusTypeDef HAL_CRC_DeInit (CRC_HandleTypeDef *hcrc); +void HAL_CRC_MspInit(CRC_HandleTypeDef *hcrc); +void HAL_CRC_MspDeInit(CRC_HandleTypeDef *hcrc); +/** + * @} + */ + +/* Aliases for inter STM32 series compatibility */ +#define HAL_CRC_Input_Data_Reverse HAL_CRCEx_Input_Data_Reverse +#define HAL_CRC_Output_Data_Reverse HAL_CRCEx_Output_Data_Reverse + +/** @defgroup CRC_Exported_Functions_Group2 Peripheral Control functions + * @{ + */ +/* Peripheral Control functions ***********************************************/ +uint32_t HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength); +uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength); +/** + * @} + */ + +/** @defgroup CRC_Exported_Functions_Group3 Peripheral State functions + * @{ + */ +/* Peripheral State and Error functions ***************************************/ +HAL_CRC_StateTypeDef HAL_CRC_GetState(CRC_HandleTypeDef *hcrc); +/** + * @} + */ + +/** + * @} + */ + + +/* Private types -------------------------------------------------------------*/ +/** @defgroup CRC_Private_Types CRC Private Types + * @{ + */ + +/** + * @} + */ + +/* Private defines -----------------------------------------------------------*/ +/** @defgroup CRC_Private_Defines CRC Private Defines + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup CRC_Private_Variables CRC Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup CRC_Private_Constants CRC Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup CRC_Private_Macros CRC Private Macros + * @{ + */ +#define IS_DEFAULT_POLYNOMIAL(__DEFAULT__) (((__DEFAULT__) == DEFAULT_POLYNOMIAL_ENABLE) || \ + ((__DEFAULT__) == DEFAULT_POLYNOMIAL_DISABLE)) +#define IS_DEFAULT_INIT_VALUE(__VALUE__) (((__VALUE__) == DEFAULT_INIT_VALUE_ENABLE) || \ + ((__VALUE__) == DEFAULT_INIT_VALUE_DISABLE)) +#define IS_CRC_POL_LENGTH(__LENGTH__) (((__LENGTH__) == CRC_POLYLENGTH_32B) || \ + ((__LENGTH__) == CRC_POLYLENGTH_16B) || \ + ((__LENGTH__) == CRC_POLYLENGTH_8B) || \ + ((__LENGTH__) == CRC_POLYLENGTH_7B)) +#define IS_CRC_INPUTDATA_FORMAT(__FORMAT__) (((__FORMAT__) == CRC_INPUTDATA_FORMAT_BYTES) || \ + ((__FORMAT__) == CRC_INPUTDATA_FORMAT_HALFWORDS) || \ + ((__FORMAT__) == CRC_INPUTDATA_FORMAT_WORDS)) + + +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup CRC_Private_Functions_Prototypes CRC Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup CRC_Private_Functions CRC Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CRC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h new file mode 100644 index 0000000000..824952b0d1 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h @@ -0,0 +1,166 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_crc_ex.h + * @author MCD Application Team + * @brief Header file of CRC HAL extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CRC_EX_H +#define __STM32H7xx_HAL_CRC_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup CRCEx CRCEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup CRCEx_Exported_Constants CRC Extended exported constants + * @{ + */ + +/** @defgroup CRCEx_Input_Data_Inversion CRC Extended input data inversion modes + * @{ + */ +#define CRC_INPUTDATA_INVERSION_NONE ((uint32_t)0x00000000U) +#define CRC_INPUTDATA_INVERSION_BYTE ((uint32_t)CRC_CR_REV_IN_0) +#define CRC_INPUTDATA_INVERSION_HALFWORD ((uint32_t)CRC_CR_REV_IN_1) +#define CRC_INPUTDATA_INVERSION_WORD ((uint32_t)CRC_CR_REV_IN) + +#define IS_CRC_INPUTDATA_INVERSION_MODE(__MODE__) (((__MODE__) == CRC_INPUTDATA_INVERSION_NONE) || \ + ((__MODE__) == CRC_INPUTDATA_INVERSION_BYTE) || \ + ((__MODE__) == CRC_INPUTDATA_INVERSION_HALFWORD) || \ + ((__MODE__) == CRC_INPUTDATA_INVERSION_WORD)) +/** + * @} + */ + +/** @defgroup CRCEx_Output_Data_Inversion CRC Extended output data inversion modes + * @{ + */ +#define CRC_OUTPUTDATA_INVERSION_DISABLE ((uint32_t)0x00000000U) +#define CRC_OUTPUTDATA_INVERSION_ENABLE ((uint32_t)CRC_CR_REV_OUT) + +#define IS_CRC_OUTPUTDATA_INVERSION_MODE(__MODE__) (((__MODE__) == CRC_OUTPUTDATA_INVERSION_DISABLE) || \ + ((__MODE__) == CRC_OUTPUTDATA_INVERSION_ENABLE)) +/** + * @} + */ + + +/** + * @} + */ +/* Exported macro ------------------------------------------------------------*/ + +/** @defgroup CRCEx_Exported_Macros CRC Extended exported macros + * @{ + */ + +/** + * @brief Set CRC output reversal + * @param __HANDLE__ : CRC handle + * @retval None. + */ +#define __HAL_CRC_OUTPUTREVERSAL_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRC_CR_REV_OUT) + +/** + * @brief Unset CRC output reversal + * @param __HANDLE__ : CRC handle + * @retval None. + */ +#define __HAL_CRC_OUTPUTREVERSAL_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(CRC_CR_REV_OUT)) + +/** + * @brief Set CRC non-default polynomial + * @param __HANDLE__ : CRC handle + * @param __POLYNOMIAL__: 7, 8, 16 or 32-bit polynomial + * @retval None. + */ +#define __HAL_CRC_POLYNOMIAL_CONFIG(__HANDLE__, __POLYNOMIAL__) ((__HANDLE__)->Instance->POL = (__POLYNOMIAL__)) + +/** + * @} + */ + + +/** @defgroup CRCEx_Exported_Functions CRC Extended Exported Functions + * @{ + */ + +/** @defgroup CRCEx_Exported_Functions_Group1 Extended CRC features functions + * @{ + */ +/* Exported functions --------------------------------------------------------*/ +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set(CRC_HandleTypeDef *hcrc, uint32_t Pol, uint32_t PolyLength); +HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t InputReverseMode); +HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t OutputReverseMode); + +/* Peripheral Control functions ***********************************************/ +/* Peripheral State and Error functions ***************************************/ + +/** + * @} + */ + +/** + * @} + */ + + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CRC_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp.h new file mode 100644 index 0000000000..fa34fe400e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp.h @@ -0,0 +1,464 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cryp.h + * @author MCD Application Team + * @brief Header file of CRYP HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CRYP_H +#define __STM32H7xx_HAL_CRYP_H + +#ifdef __cplusplus + extern "C" { +#endif + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +#if defined (CRYP) +/** @addtogroup CRYP + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup CRYP_Exported_Types CRYP Exported Types + * @{ + */ + +/** + * @brief CRYP Init Structure definition + */ + +typedef struct +{ + uint32_t DataType; /*!< 32-bit data, 16-bit data, 8-bit data or 1-bit string. + This parameter can be a value of @ref CRYP_Data_Type */ + uint32_t KeySize; /*!< Used only in AES mode : 128, 192 or 256 bit key length in CRYP1. + This parameter can be a value of @ref CRYP_Key_Size */ + uint32_t* pKey; /*!< The key used for encryption/decryption */ + uint32_t* pInitVect; /*!< The initialization vector used also as initialization + counter in CTR mode */ + uint32_t Algorithm; /*!< DES/ TDES Algorithm ECB/CBC + AES Algorithm ECB/CBC/CTR/GCM or CCM + This parameter can be a value of @ref CRYP_Algorithm_Mode */ + uint32_t* Header; /*!< used only in AES GCM and CCM Algorithm for authentication, + GCM : also known as Additional Authentication Data + CCM : named B1 composed of the associated data length and Associated Data. */ + uint32_t HeaderSize; /*!< The size of header buffer in word */ + uint32_t* B0; /*!< B0 is first authentication block used only in AES CCM mode */ +}CRYP_ConfigTypeDef; + + +/** + * @brief CRYP State Structure definition + */ + +typedef enum +{ + HAL_CRYP_STATE_RESET = 0x00U, /*!< CRYP not yet initialized or disabled */ + HAL_CRYP_STATE_READY = 0x01U, /*!< CRYP initialized and ready for use */ + HAL_CRYP_STATE_BUSY = 0x02U /*!< CRYP BUSY, internal processing is ongoing */ +}HAL_CRYP_STATETypeDef; + + +/** + * @brief CRYP handle Structure definition + */ + +typedef struct +{ + + CRYP_TypeDef *Instance; /*!< CRYP registers base address */ + + CRYP_ConfigTypeDef Init; /*!< CRYP required parameters */ + + uint32_t *pCrypInBuffPtr; /*!< Pointer to CRYP processing (encryption, decryption,...) buffer */ + + uint32_t *pCrypOutBuffPtr; /*!< Pointer to CRYP processing (encryption, decryption,...) buffer */ + + __IO uint16_t CrypHeaderCount; /*!< Counter of header data */ + + __IO uint16_t CrypInCount; /*!< Counter of input data */ + + __IO uint16_t CrypOutCount; /*!< Counter of output data */ + + uint16_t Size; /*!< length of input data in word */ + + uint32_t Phase; /*!< CRYP peripheral phase */ + + DMA_HandleTypeDef *hdmain; /*!< CRYP In DMA handle parameters */ + + DMA_HandleTypeDef *hdmaout; /*!< CRYP Out DMA handle parameters */ + + HAL_LockTypeDef Lock; /*!< CRYP locking object */ + + __IO HAL_CRYP_STATETypeDef State; /*!< CRYP peripheral state */ + + __IO uint32_t ErrorCode; /*!< CRYP peripheral error code */ + +}CRYP_HandleTypeDef; + + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup CRYP_Exported_Constants CRYP Exported Constants + * @{ + */ + +/** @defgroup CRYP_Error_Definition CRYP Error Definition + * @{ + */ +#define HAL_CRYP_ERROR_NONE 0x00000000U /*!< No error */ +#define HAL_CRYP_ERROR_WRITE 0x00000001U /*!< Write error */ +#define HAL_CRYP_ERROR_READ 0x00000002U /*!< Read error */ +#define HAL_CRYP_ERROR_DMA 0x00000004U /*!< DMA error */ +#define HAL_CRYP_ERROR_BUSY 0x00000008U /*!< Busy flag error */ +#define HAL_CRYP_ERROR_TIMEOUT 0x00000010U /*!< Timeout error */ +#define HAL_CRYP_ERROR_NOT_SUPPORTED 0x00000020U /*!< Not supported mode */ +#define HAL_CRYP_ERROR_AUTH_TAG_SEQUENCE 0x00000040U /*!< Sequence are not respected only for GCM or CCM */ +/** + * @} + */ + + +/** @defgroup CRYP_Algorithm_Mode CRYP Algorithm Mode + * @{ + */ + +#define CRYP_DES_ECB CRYP_CR_ALGOMODE_DES_ECB +#define CRYP_DES_CBC CRYP_CR_ALGOMODE_DES_CBC +#define CRYP_TDES_ECB CRYP_CR_ALGOMODE_TDES_ECB +#define CRYP_TDES_CBC CRYP_CR_ALGOMODE_TDES_CBC +#define CRYP_AES_ECB CRYP_CR_ALGOMODE_AES_ECB +#define CRYP_AES_CBC CRYP_CR_ALGOMODE_AES_CBC +#define CRYP_AES_CTR CRYP_CR_ALGOMODE_AES_CTR +#define CRYP_AES_GCM CRYP_CR_ALGOMODE_AES_GCM +#define CRYP_AES_CCM CRYP_CR_ALGOMODE_AES_CCM + +/** + * @} + */ + +/** @defgroup CRYP_Key_Size CRYP Key Size + * @{ + */ + +#define CRYP_KEYSIZE_128B 0x00000000U +#define CRYP_KEYSIZE_192B CRYP_CR_KEYSIZE_0 +#define CRYP_KEYSIZE_256B CRYP_CR_KEYSIZE_1 + +/** + * @} + */ + +/** @defgroup CRYP_Data_Type CRYP Data Type + * @{ + */ + +#define CRYP_DATATYPE_32B 0x00000000U +#define CRYP_DATATYPE_16B CRYP_CR_DATATYPE_0 +#define CRYP_DATATYPE_8B CRYP_CR_DATATYPE_1 +#define CRYP_DATATYPE_1B CRYP_CR_DATATYPE + +/** + * @} + */ + +/** @defgroup CRYP_Interrupt CRYP Interrupt + * @{ + */ + +#define CRYP_IT_INI CRYP_IMSCR_INIM /*!< Input FIFO Interrupt */ +#define CRYP_IT_OUTI CRYP_IMSCR_OUTIM /*!< Output FIFO Interrupt */ + +/** + * @} + */ + +/** @defgroup CRYP_Flags CRYP Flags + * @{ + */ + +/* Flags in the SR register */ +#define CRYP_FLAG_IFEM CRYP_SR_IFEM /*!< Input FIFO is empty */ +#define CRYP_FLAG_IFNF CRYP_SR_IFNF /*!< Input FIFO is not Full */ +#define CRYP_FLAG_OFNE CRYP_SR_OFNE /*!< Output FIFO is not empty */ +#define CRYP_FLAG_OFFU CRYP_SR_OFFU /*!< Output FIFO is Full */ +#define CRYP_FLAG_BUSY CRYP_SR_BUSY /*!< The CRYP core is currently processing a block of data + or a key preparation (for AES decryption). */ +/* Flags in the RISR register */ +#define CRYP_FLAG_OUTRIS 0x01000002U /*!< Output FIFO service raw interrupt status */ +#define CRYP_FLAG_INRIS 0x01000001U /*!< Input FIFO service raw interrupt status*/ + +/** + * @} + */ + + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup CRYP_Exported_Macros CRYP Exported Macros + * @{ + */ + +/** + * @brief Enable/Disable the CRYP peripheral. + * @param __HANDLE__: specifies the CRYP handle. + * @retval None + */ + +#define __HAL_CRYP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRYP_CR_CRYPEN) +#define __HAL_CRYP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~CRYP_CR_CRYPEN) + +/** @brief Check whether the specified CRYP status flag is set or not. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values for CRYP: + * @arg CRYP_FLAG_BUSY: The CRYP core is currently processing a block of data + * or a key preparation (for AES decryption). + * @arg CRYP_FLAG_IFEM: Input FIFO is empty + * @arg CRYP_FLAG_IFNF: Input FIFO is not full + * @arg CRYP_FLAG_INRIS: Input FIFO service raw interrupt is pending + * @arg CRYP_FLAG_OFNE: Output FIFO is not empty + * @arg CRYP_FLAG_OFFU: Output FIFO is full + * @arg CRYP_FLAG_OUTRIS: Input FIFO service raw interrupt is pending + * @retval The state of __FLAG__ (TRUE or FALSE). + */ +#define CRYP_FLAG_MASK 0x0000001FU + +#define __HAL_CRYP_GET_FLAG(__HANDLE__, __FLAG__) ((((uint8_t)((__FLAG__) >> 24)) == 0x01U)?((((__HANDLE__)->Instance->RISR) & ((__FLAG__) & CRYP_FLAG_MASK)) == ((__FLAG__) & CRYP_FLAG_MASK)): \ + ((((__HANDLE__)->Instance->RISR) & ((__FLAG__) & CRYP_FLAG_MASK)) == ((__FLAG__) & CRYP_FLAG_MASK))) + +/** @brief Check whether the specified CRYP interrupt is set or not. + * @param __HANDLE__: specifies the CRYP handle. + * @param __INTERRUPT__: specifies the interrupt to check. + * This parameter can be one of the following values for CRYP: + * @arg CRYP_IT_INI: Input FIFO service masked interrupt status + * @arg CRYP_IT_OUTI: Output FIFO service masked interrupt status + * @retval The state of __INTERRUPT__ (TRUE or FALSE). + */ + +#define __HAL_CRYP_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->MISR & (__INTERRUPT__)) == (__INTERRUPT__)) + +/** + * @brief Enable the CRYP interrupt. + * @param __HANDLE__: specifies the CRYP handle. + * @param __INTERRUPT__: CRYP Interrupt. + * This parameter can be one of the following values for CRYP: + * @ CRYP_IT_INI : Input FIFO service interrupt mask. + * @ CRYP_IT_OUTI : Output FIFO service interrupt mask.CRYP interrupt. + * @retval None + */ + +#define __HAL_CRYP_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IMSCR) |= (__INTERRUPT__)) + +/** + * @brief Disable the CRYP interrupt. + * @param __HANDLE__: specifies the CRYP handle. + * @param __INTERRUPT__: CRYP Interrupt. + * This parameter can be one of the following values for CRYP: + * @ CRYP_IT_INI : Input FIFO service interrupt mask. + * @ CRYP_IT_OUTI : Output FIFO service interrupt mask.CRYP interrupt. + * @retval None + */ + +#define __HAL_CRYP_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IMSCR) &= ~(__INTERRUPT__)) + +/** + * @} + */ + +/* Include CRYP HAL Extended module */ +#include "stm32h7xx_hal_cryp_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup CRYP_Exported_Functions CRYP Exported Functions + * @{ + */ + +/** @addtogroup CRYP_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_CRYP_Init(CRYP_HandleTypeDef *hcryp); +HAL_StatusTypeDef HAL_CRYP_DeInit(CRYP_HandleTypeDef *hcryp); +void HAL_CRYP_MspInit(CRYP_HandleTypeDef *hcryp); +void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef *hcryp); +HAL_StatusTypeDef HAL_CRYP_SetConfig(CRYP_HandleTypeDef *hcryp, CRYP_ConfigTypeDef *pConf ); +HAL_StatusTypeDef HAL_CRYP_GetConfig(CRYP_HandleTypeDef *hcryp, CRYP_ConfigTypeDef *pConf ); + +/** + * @} + */ + +/** @addtogroup CRYP_Exported_Functions_Group2 + * @{ + */ + +/* encryption/decryption ***********************************/ +HAL_StatusTypeDef HAL_CRYP_Encrypt(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output, uint32_t Timeout); +HAL_StatusTypeDef HAL_CRYP_Decrypt(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output, uint32_t Timeout); +HAL_StatusTypeDef HAL_CRYP_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output); +HAL_StatusTypeDef HAL_CRYP_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output); +HAL_StatusTypeDef HAL_CRYP_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output); +HAL_StatusTypeDef HAL_CRYP_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output); + +/** + * @} + */ + + +/** @addtogroup CRYP_Exported_Functions_Group3 + * @{ + */ +/* Interrupt Handler functions **********************************************/ +void HAL_CRYP_IRQHandler(CRYP_HandleTypeDef *hcryp); +HAL_CRYP_STATETypeDef HAL_CRYP_GetState(CRYP_HandleTypeDef *hcryp); +void HAL_CRYP_InCpltCallback(CRYP_HandleTypeDef *hcryp); +void HAL_CRYP_OutCpltCallback(CRYP_HandleTypeDef *hcryp); +void HAL_CRYP_ErrorCallback(CRYP_HandleTypeDef *hcryp); +uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp); + +/** + * @} + */ + +/** + * @} + */ + +/* Private macros --------------------------------------------------------*/ +/** @defgroup CRYP_Private_Macros CRYP Private Macros + * @{ + */ + +/** @defgroup CRYP_IS_CRYP_Definitions CRYP Private macros to check input parameters + * @{ + */ + +#define IS_CRYP_ALGORITHM(ALGORITHM) (((ALGORITHM) == CRYP_DES_ECB) || \ + ((ALGORITHM) == CRYP_DES_CBC) || \ + ((ALGORITHM) == CRYP_TDES_ECB) || \ + ((ALGORITHM) == CRYP_TDES_CBC) || \ + ((ALGORITHM) == CRYP_AES_ECB) || \ + ((ALGORITHM) == CRYP_AES_CBC) || \ + ((ALGORITHM) == CRYP_AES_CTR) || \ + ((ALGORITHM) == CRYP_AES_GCM) || \ + ((ALGORITHM) == CRYP_AES_CCM)) + +#define IS_CRYP_KEYSIZE(KEYSIZE)(((KEYSIZE) == CRYP_KEYSIZE_128B) || \ + ((KEYSIZE) == CRYP_KEYSIZE_192B) || \ + ((KEYSIZE) == CRYP_KEYSIZE_256B)) + +#define IS_CRYP_DATATYPE(DATATYPE)(((DATATYPE) == CRYP_DATATYPE_32B) || \ + ((DATATYPE) == CRYP_DATATYPE_16B) || \ + ((DATATYPE) == CRYP_DATATYPE_8B) || \ + ((DATATYPE) == CRYP_DATATYPE_1B)) + +/** + * @} + */ + +/** + * @} + */ + + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup CRYP_Private_Constants CRYP Private Constants + * @{ + */ + +/** + * @} + */ +/* Private defines -----------------------------------------------------------*/ +/** @defgroup CRYP_Private_Defines CRYP Private Defines + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup CRYP_Private_Variables CRYP Private Variables + * @{ + */ + +/** + * @} + */ +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup CRYP_Private_Functions_Prototypes CRYP Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup CRYP_Private_Functions CRYP Private Functions + * @{ + */ + +/** + * @} + */ + + +/** + * @} + */ + + +#endif /* CRYP */ +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CRYP_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp_ex.h new file mode 100644 index 0000000000..387ab9b879 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cryp_ex.h @@ -0,0 +1,139 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cryp_ex.h + * @author MCD Application Team + * @brief Header file of CRYP HAL Extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CRYP_EX_H +#define __STM32H7xx_HAL_CRYP_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +#if defined (CRYP) +/** @addtogroup CRYPEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + + /* Private types -------------------------------------------------------------*/ +/** @defgroup CRYPEx_Private_Types CRYPEx Private Types + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup CRYPEx_Private_Variables CRYPEx Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup CRYPEx_Private_Constants CRYPEx Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup CRYPEx_Private_Macros CRYPEx Private Macros + * @{ + */ + + /** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup CRYPEx_Private_Functions CRYPEx Private Functions + * @{ + */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup CRYPEx_Exported_Functions CRYPEx Exported Functions + * @{ + */ + +/** @addtogroup CRYPEx_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_CRYPEx_AESGCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout); +HAL_StatusTypeDef HAL_CRYPEx_AESCCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout); + + +/** + * @} + */ + + +/** + * @} + */ + +/** + * @} + */ +#endif /* CRYP */ +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CRYP_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac.h new file mode 100644 index 0000000000..980f2b7d20 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac.h @@ -0,0 +1,478 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dac.h + * @author MCD Application Team + * @brief Header file of DAC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DAC_H +#define __STM32H7xx_HAL_DAC_H + +#ifdef __cplusplus + extern "C" { +#endif + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DAC + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup DAC_Exported_Types DAC Exported Types + * @{ + */ + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_DAC_STATE_RESET = 0x00, /*!< DAC not yet initialized or disabled */ + HAL_DAC_STATE_READY = 0x01, /*!< DAC initialized and ready for use */ + HAL_DAC_STATE_BUSY = 0x02, /*!< DAC internal processing is ongoing */ + HAL_DAC_STATE_TIMEOUT = 0x03, /*!< DAC timeout state */ + HAL_DAC_STATE_ERROR = 0x04 /*!< DAC error state */ + +}HAL_DAC_StateTypeDef; + +/** + * @brief DAC handle Structure definition + */ +typedef struct +{ + DAC_TypeDef *Instance; /*!< Register base address */ + + __IO HAL_DAC_StateTypeDef State; /*!< DAC communication state */ + + HAL_LockTypeDef Lock; /*!< DAC locking object */ + + DMA_HandleTypeDef *DMA_Handle1; /*!< Pointer DMA handler for channel 1 */ + + DMA_HandleTypeDef *DMA_Handle2; /*!< Pointer DMA handler for channel 2 */ + + __IO uint32_t ErrorCode; /*!< DAC Error code */ + +}DAC_HandleTypeDef; + +/** + * @brief DAC Configuration sample and hold Channel structure definition + */ +typedef struct +{ + uint32_t DAC_SampleTime ; /*!< Specifies the Sample time for the selected channel. + This parameter applies when DAC_SampleAndHold is DAC_SAMPLEANDHOLD_ENABLE. + This parameter must be a number between Min_Data = 0 and Max_Data = 1023 */ + + uint32_t DAC_HoldTime ; /*!< Specifies the hold time for the selected channel + This parameter applies when DAC_SampleAndHold is DAC_SAMPLEANDHOLD_ENABLE. + This parameter must be a number between Min_Data = 0 and Max_Data = 1023 */ + + uint32_t DAC_RefreshTime ; /*!< Specifies the refresh time for the selected channel + This parameter applies when DAC_SampleAndHold is DAC_SAMPLEANDHOLD_ENABLE. + This parameter must be a number between Min_Data = 0 and Max_Data = 255 */ +} +DAC_SampleAndHoldConfTypeDef; + +/** + * @brief DAC Configuration regular Channel structure definition + */ +typedef struct +{ + uint32_t DAC_SampleAndHold; /*!< Specifies whether the DAC mode. + This parameter can be a value of @ref DAC_SampleAndHold */ + + uint32_t DAC_Trigger; /*!< Specifies the external trigger for the selected DAC channel. + This parameter can be a value of @ref DAC_trigger_selection */ + + uint32_t DAC_OutputBuffer; /*!< Specifies whether the DAC channel output buffer is enabled or disabled. + This parameter can be a value of @ref DAC_output_buffer */ + + uint32_t DAC_ConnectOnChipPeripheral ; /*!< Specifies whether the DAC output is connected or not to on chip peripheral . + This parameter can be a value of @ref DAC_ConnectOnChipPeripheral */ + + uint32_t DAC_UserTrimming; /*!< Specifies the trimming mode + This parameter must be a value of @ref DAC_UserTrimming + DAC_UserTrimming is either factory or user trimming */ + + uint32_t DAC_TrimmingValue; /*!< Specifies the offset trimming value + i.e. when DAC_SampleAndHold is DAC_TRIMMING_USER. + This parameter must be a number between Min_Data = 1 and Max_Data = 31 */ + + DAC_SampleAndHoldConfTypeDef DAC_SampleAndHoldConfig; /*!< Sample and Hold settings */ + +}DAC_ChannelConfTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup DAC_Exported_Constants DAC Exported Constants + * @{ + */ + +/** @defgroup DAC_Error_Code DAC Error Code + * @{ + */ +#define HAL_DAC_ERROR_NONE 0x00 /*!< No error */ +#define HAL_DAC_ERROR_DMAUNDERRUNCH1 0x01 /*!< DAC channel1 DMA underrun error */ +#define HAL_DAC_ERROR_DMAUNDERRUNCH2 0x02 /*!< DAC channel2 DMA underrun error */ +#define HAL_DAC_ERROR_DMA 0x04 /*!< DMA error */ +#define HAL_DAC_ERROR_TIMEOUT 0x08 /*!< Timeout error */ +/** + * @} + */ + +/** @defgroup DAC_trigger_selection DAC trigger selection + * @{ + */ +#define DAC_TRIGGER_NONE ((uint32_t)0x00000000) /*!< Conversion is automatic once the DAC_DHRxxxx register has been loaded, and not by external trigger */ +#define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */ +#define DAC_TRIGGER_T1_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM1 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_T4_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_T5_TRGO ((uint32_t)(DAC_CR_TSEL1_2 |DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_T6_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_T8_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM8 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_3 | DAC_CR_TEN1)) /*!< TIM15 TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_HR1_TRGO1 ((uint32_t)(DAC_CR_TSEL1_3 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< HR1 TRGO1 selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_HR1_TRGO2 ((uint32_t)(DAC_CR_TSEL1_3 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< HR1 TRGO2 selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_LP1_OUT ((uint32_t)(DAC_CR_TSEL1_3 | DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< LP1 OUT TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_LP2_OUT ((uint32_t)(DAC_CR_TSEL1_3 | DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< LP2 OUT TRGO selected as external conversion trigger for DAC channel */ +#define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_3 | DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */ +/** + * @} + */ + + /** @defgroup DAC_output_buffer DAC output buffer + * @{ + */ +#define DAC_OUTPUTBUFFER_ENABLE ((uint32_t)0x00000000) +#define DAC_OUTPUTBUFFER_DISABLE ((uint32_t)DAC_MCR_MODE1_1) + + /** + * @} + */ + +/** @defgroup DAC_ConnectOnChipPeripheral DAC ConnectOnChipPeripheral + * @{ + */ +#define DAC_CHIPCONNECT_DISABLE ((uint32_t)0x00000000) +#define DAC_CHIPCONNECT_ENABLE ((uint32_t)DAC_MCR_MODE1_0) + +/** + * @} + */ + +/** @defgroup DAC_UserTrimming DAC User Trimming + * @{ + */ + +#define DAC_TRIMMING_FACTORY ((uint32_t)0x00000000) /*!< Factory trimming */ +#define DAC_TRIMMING_USER ((uint32_t)0x00000001) /*!< User trimming */ + +/** + * @} + */ + +/** @defgroup DAC_SampleAndHold. Mode is Sample and hold (low power or normal) + * @{ + */ +#define DAC_SAMPLEANDHOLD_DISABLE ((uint32_t)0x00000000) +#define DAC_SAMPLEANDHOLD_ENABLE ((uint32_t)DAC_MCR_MODE1_2) + + +/** + * @} + */ + + +/** @defgroup DAC_Channel_selection DAC Channel selection + * @{ + */ +#define DAC_CHANNEL_1 ((uint32_t)0x00000000) +#define DAC_CHANNEL_2 ((uint32_t)0x00000010) + +/** + * @} + */ + +/** @defgroup DAC_data_alignment DAC data alignment + * @{ + */ +#define DAC_ALIGN_12B_R ((uint32_t)0x00000000) +#define DAC_ALIGN_12B_L ((uint32_t)0x00000004) +#define DAC_ALIGN_8B_R ((uint32_t)0x00000008) +/** + * @} + */ + +/** @defgroup DAC_flags_definition DAC flags definition + * @{ + */ +#define DAC_FLAG_DMAUDR1 ((uint32_t)DAC_SR_DMAUDR1) +#define DAC_FLAG_DMAUDR2 ((uint32_t)DAC_SR_DMAUDR2) + +/** + * @} + */ + +/** @defgroup DAC_IT_definition DAC IT definition + * @{ + */ +#define DAC_IT_DMAUDR1 ((uint32_t)DAC_SR_DMAUDR1) +#define DAC_IT_DMAUDR2 ((uint32_t)DAC_SR_DMAUDR2) + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ + +/** @defgroup DAC_Exported_Macros DAC Exported Macros + * @{ + */ + +/** @brief Reset DAC handle state. + * @param __HANDLE__: specifies the DAC handle. + * @retval None + */ +#define __HAL_DAC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DAC_STATE_RESET) + +/** @brief Enable the DAC channel. + * @param __HANDLE__: specifies the DAC handle. + * @param __DAC_Channel__: specifies the DAC channel + * @retval None + */ +#define __HAL_DAC_ENABLE(__HANDLE__, __DAC_Channel__) \ +((__HANDLE__)->Instance->CR |= (DAC_CR_EN1 << (__DAC_Channel__))) + +/** @brief Disable the DAC channel. + * @param __HANDLE__: specifies the DAC handle + * @param __DAC_Channel__: specifies the DAC channel. + * @retval None + */ +#define __HAL_DAC_DISABLE(__HANDLE__, __DAC_Channel__) \ +((__HANDLE__)->Instance->CR &= ~(DAC_CR_EN1 << (__DAC_Channel__))) + +/** @brief Set DHR12R1 alignment. + * @param __ALIGNMENT__: specifies the DAC alignment + * @retval None + */ +#define DAC_DHR12R1_ALIGNMENT(__ALIGNMENT__) (((uint32_t)0x00000008) + (__ALIGNMENT__)) + +/** @brief Set DHR12R2 alignment. + * @param __ALIGNMENT__: specifies the DAC alignment + * @retval None + */ +#define DAC_DHR12R2_ALIGNMENT(__ALIGNMENT__) (((uint32_t)0x00000014) + (__ALIGNMENT__)) + +/** @brief Set DHR12RD alignment. + * @param __ALIGNMENT__: specifies the DAC alignment + * @retval None + */ +#define DAC_DHR12RD_ALIGNMENT(__ALIGNMENT__) (((uint32_t)0x00000020) + (__ALIGNMENT__)) + +/** @brief Enable the DAC interrupt. + * @param __HANDLE__: specifies the DAC handle + * @param __INTERRUPT__: specifies the DAC interrupt. + * This parameter can be any combination of the following values: + * @arg DAC_IT_DMAUDR1: DAC channel 1 DMA underrun interrupt + * @arg DAC_IT_DMAUDR2: DAC channel 2 DMA underrun interrupt + * @retval None + */ +#define __HAL_DAC_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) |= (__INTERRUPT__)) + +/** @brief Disable the DAC interrupt. + * @param __HANDLE__: specifies the DAC handle + * @param __INTERRUPT__: specifies the DAC interrupt. + * This parameter can be any combination of the following values: + * @arg DAC_IT_DMAUDR1: DAC channel 1 DMA underrun interrupt + * @arg DAC_IT_DMAUDR2: DAC channel 2 DMA underrun interrupt + * @retval None + */ +#define __HAL_DAC_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) &= ~(__INTERRUPT__)) + +/** @brief Check whether the specified DAC interrupt source is enabled or not. + * @param __HANDLE__: DAC handle + * @param __INTERRUPT__: DAC interrupt source to check + * This parameter can be any combination of the following values: + * @arg DAC_IT_DMAUDR1: DAC channel 1 DMA underrun interrupt + * @arg DAC_IT_DMAUDR2: DAC channel 2 DMA underrun interrupt + * @retval State of interruption (SET or RESET) + */ +#define __HAL_DAC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR & (__INTERRUPT__)) == (__INTERRUPT__)) + +/** @brief Get the selected DAC's flag status. + * @param __HANDLE__: specifies the DAC handle. + * @param __FLAG__: specifies the DAC flag to get. + * This parameter can be any combination of the following values: + * @arg DAC_FLAG_DMAUDR1: DAC channel 1 DMA underrun flag + * @arg DAC_FLAG_DMAUDR2: DAC channel 2 DMA underrun flag + * @retval None + */ +#define __HAL_DAC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) + +/** @brief Clear the DAC's flag. + * @param __HANDLE__: specifies the DAC handle. + * @param __FLAG__: specifies the DAC flag to clear. + * This parameter can be any combination of the following values: + * @arg DAC_FLAG_DMAUDR1: DAC channel 1 DMA underrun flag + * @arg DAC_FLAG_DMAUDR2: DAC channel 2 DMA underrun flag + * @retval None + */ +#define __HAL_DAC_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR) = (__FLAG__)) + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ + +/** @defgroup DAC_Private_Macros DAC Private Macros + * @{ + */ +#define IS_DAC_OUTPUT_BUFFER_STATE(STATE) (((STATE) == DAC_OUTPUTBUFFER_ENABLE) || \ + ((STATE) == DAC_OUTPUTBUFFER_DISABLE)) + +#define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_CHANNEL_1) || \ + ((CHANNEL) == DAC_CHANNEL_2)) + +#define IS_DAC_ALIGN(ALIGN) (((ALIGN) == DAC_ALIGN_12B_R) || \ + ((ALIGN) == DAC_ALIGN_12B_L) || \ + ((ALIGN) == DAC_ALIGN_8B_R)) + +#define IS_DAC_DATA(DATA) ((DATA) <= 0xFFF0) + +#define IS_DAC_REFRESHTIME(TIME) ((TIME) <= 0x000000FF) + +/** + * @} + */ + +/* Include DAC HAL Extended module */ +#include "stm32h7xx_hal_dac_ex.h" + +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup DAC_Exported_Functions + * @{ + */ + +/** @addtogroup DAC_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions *****************************/ +HAL_StatusTypeDef HAL_DAC_Init(DAC_HandleTypeDef* hdac); +HAL_StatusTypeDef HAL_DAC_DeInit(DAC_HandleTypeDef* hdac); +void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac); +void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac); + +/** + * @} + */ + +/** @addtogroup DAC_Exported_Functions_Group2 + * @{ + */ +/* IO operation functions *****************************************************/ +HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel); +HAL_StatusTypeDef HAL_DAC_Stop(DAC_HandleTypeDef* hdac, uint32_t Channel); +HAL_StatusTypeDef HAL_DAC_Start_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t* pData, uint32_t Length, uint32_t Alignment); +HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel); + +void HAL_DAC_IRQHandler(DAC_HandleTypeDef* hdac); +HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Alignment, uint32_t Data); +void HAL_DAC_ConvCpltCallbackCh1(DAC_HandleTypeDef* hdac); +void HAL_DAC_ConvHalfCpltCallbackCh1(DAC_HandleTypeDef* hdac); +void HAL_DAC_ErrorCallbackCh1(DAC_HandleTypeDef *hdac); +void HAL_DAC_DMAUnderrunCallbackCh1(DAC_HandleTypeDef *hdac); +/** + * @} + */ + +/** @addtogroup DAC_Exported_Functions_Group3 + * @{ + */ +/* Peripheral Control functions ***********************************************/ +HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel); +uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef* hdac, uint32_t Channel); +/** + * @} + */ + +/** @addtogroup DAC_Exported_Functions_Group4 + * @{ + */ +/* Peripheral State and Error functions ***************************************/ +HAL_DAC_StateTypeDef HAL_DAC_GetState(DAC_HandleTypeDef* hdac); +uint32_t HAL_DAC_GetError(DAC_HandleTypeDef *hdac); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /*__STM32H7xx_HAL_DAC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac_ex.h new file mode 100644 index 0000000000..d6fcc79f59 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dac_ex.h @@ -0,0 +1,246 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dac_ex.h + * @author MCD Application Team + * @brief Header file of DAC HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DAC_EX_H +#define __STM32H7xx_HAL_DAC_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DACEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** + * @brief HAL State structures definition + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup DACEx_Exported_Constants DACEx Exported Constants + * @{ + */ +/** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangle amplitude + * @{ + */ +#define DAC_LFSRUNMASK_BIT0 ((uint32_t)0x00000000) /*!< Unmask DAC channel LFSR bit0 for noise wave generation */ +#define DAC_LFSRUNMASK_BITS1_0 ((uint32_t)DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS2_0 ((uint32_t)DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS3_0 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)/*!< Unmask DAC channel LFSR bit[3:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS4_0 ((uint32_t)DAC_CR_MAMP1_2) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS5_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[5:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS6_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[6:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS7_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[7:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS8_0 ((uint32_t)DAC_CR_MAMP1_3) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS9_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[9:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS10_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[10:0] for noise wave generation */ +#define DAC_LFSRUNMASK_BITS11_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[11:0] for noise wave generation */ +#define DAC_TRIANGLEAMPLITUDE_1 ((uint32_t)0x00000000) /*!< Select max triangle amplitude of 1 */ +#define DAC_TRIANGLEAMPLITUDE_3 ((uint32_t)DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 3 */ +#define DAC_TRIANGLEAMPLITUDE_7 ((uint32_t)DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 7 */ +#define DAC_TRIANGLEAMPLITUDE_15 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 15 */ +#define DAC_TRIANGLEAMPLITUDE_31 ((uint32_t)DAC_CR_MAMP1_2) /*!< Select max triangle amplitude of 31 */ +#define DAC_TRIANGLEAMPLITUDE_63 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 63 */ +#define DAC_TRIANGLEAMPLITUDE_127 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 127 */ +#define DAC_TRIANGLEAMPLITUDE_255 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 255 */ +#define DAC_TRIANGLEAMPLITUDE_511 ((uint32_t)DAC_CR_MAMP1_3) /*!< Select max triangle amplitude of 511 */ +#define DAC_TRIANGLEAMPLITUDE_1023 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 1023 */ +#define DAC_TRIANGLEAMPLITUDE_2047 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 2047 */ +#define DAC_TRIANGLEAMPLITUDE_4095 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 4095 */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ + + +/* Private macro -------------------------------------------------------------*/ + +/** @defgroup DACEx_Private_Macros DACEx Private Macros + * @{ + */ + +#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \ + ((TRIGGER) == DAC_TRIGGER_T1_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \ + ((TRIGGER) == DAC_TRIGGER_HR1_TRGO1) || \ + ((TRIGGER) == DAC_TRIGGER_HR1_TRGO2) || \ + ((TRIGGER) == DAC_TRIGGER_LP1_OUT) || \ + ((TRIGGER) == DAC_TRIGGER_LP2_OUT) || \ + ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \ + ((TRIGGER) == DAC_TRIGGER_SOFTWARE)) + +#define IS_DAC_SAMPLETIME(TIME) ((TIME) <= 0x000003FF) + +#define IS_DAC_HOLDTIME(TIME) ((TIME) <= 0x000003FF) + +#define IS_DAC_SAMPLEANDHOLD(MODE) (((MODE) == DAC_SAMPLEANDHOLD_DISABLE) || \ + ((MODE) == DAC_SAMPLEANDHOLD_ENABLE)) + + +#define IS_DAC_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1F) + +#define IS_DAC_NEWTRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1F) + +#define IS_DAC_CHIP_CONNECTION(CONNECT) (((CONNECT) == DAC_CHIPCONNECT_DISABLE) || \ + ((CONNECT) == DAC_CHIPCONNECT_ENABLE)) + +#define IS_DAC_TRIMMING(TRIMMING) (((TRIMMING) == DAC_TRIMMING_FACTORY) || \ + ((TRIMMING) == DAC_TRIMMING_USER)) + +#define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \ + ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \ + ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095)) + + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/* Extended features functions ***********************************************/ + +/** @addtogroup DACEx_Exported_Functions + * @{ + */ + /** @addtogroup DACEx_Exported_Functions_Group2 + * @{ + */ +/* IO operation functions *****************************************************/ + +HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude); +HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude); +HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2); + +void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac); +void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac); +void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef* hdac); +void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef* hdac); + +HAL_StatusTypeDef HAL_DACEx_SelfCalibrate (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel); +HAL_StatusTypeDef HAL_DACEx_SetUserTrimming (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel, uint32_t NewTrimmingValue); + +/** + * @} + */ + +/** @addtogroup DACEx_Exported_Functions_Group3 + * @{ + */ +/* Peripheral Control functions ***********************************************/ + +uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac); +uint32_t HAL_DACEx_GetTrimOffset (DAC_HandleTypeDef *hdac, uint32_t Channel); + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup DACEx_Private_Functions + * @{ + */ + +/* DAC_DMAConvCpltCh2 / DAC_DMAErrorCh2 / DAC_DMAHalfConvCpltCh2 */ +/* are called by HAL_DAC_Start_DMA */ +void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma); +void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma); +void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma); + +/** + * @} + */ + + /** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /*__STM32H7xx_HAL_DAC_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dcmi.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dcmi.h new file mode 100644 index 0000000000..1f7c04bb78 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dcmi.h @@ -0,0 +1,622 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dcmi.h + * @author MCD Application Team + * @brief Header file of DCMI HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DCMI_H +#define __STM32H7xx_HAL_DCMI_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DCMI DCMI + * @brief DCMI HAL module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup DCMI_Exported_Types DCMI Exported Types + * @{ + */ +/** + * @brief HAL DCMI State structures definition + */ +typedef enum +{ + HAL_DCMI_STATE_RESET = 0x00U, /*!< DCMI not yet initialized or disabled */ + HAL_DCMI_STATE_READY = 0x01U, /*!< DCMI initialized and ready for use */ + HAL_DCMI_STATE_BUSY = 0x02U, /*!< DCMI internal processing is ongoing */ + HAL_DCMI_STATE_TIMEOUT = 0x03U, /*!< DCMI timeout state */ + HAL_DCMI_STATE_ERROR = 0x04U, /*!< DCMI error state */ + HAL_DCMI_STATE_SUSPENDED = 0x05U /*!< DCMI suspend state */ +}HAL_DCMI_StateTypeDef; + +/** + * @brief DCMI Embedded Synchronisation CODE Init structure definition + */ +typedef struct +{ + uint8_t FrameStartCode; /*!< Specifies the code of the frame start delimiter. */ + uint8_t LineStartCode; /*!< Specifies the code of the line start delimiter. */ + uint8_t LineEndCode; /*!< Specifies the code of the line end delimiter. */ + uint8_t FrameEndCode; /*!< Specifies the code of the frame end delimiter. */ +}DCMI_CodesInitTypeDef; + +/** + * @brief DCMI Init structure definition + */ +typedef struct +{ + uint32_t SynchroMode; /*!< Specifies the Synchronization Mode: Hardware or Embedded. + This parameter can be a value of @ref DCMI_Synchronization_Mode */ + + uint32_t PCKPolarity; /*!< Specifies the Pixel clock polarity: Falling or Rising. + This parameter can be a value of @ref DCMI_PIXCK_Polarity */ + + uint32_t VSPolarity; /*!< Specifies the Vertical synchronization polarity: High or Low. + This parameter can be a value of @ref DCMI_VSYNC_Polarity */ + + uint32_t HSPolarity; /*!< Specifies the Horizontal synchronization polarity: High or Low. + This parameter can be a value of @ref DCMI_HSYNC_Polarity */ + + uint32_t CaptureRate; /*!< Specifies the frequency of frame capture: All, 1/2 or 1/4. + This parameter can be a value of @ref DCMI_Capture_Rate */ + + uint32_t ExtendedDataMode; /*!< Specifies the data width: 8-bit, 10-bit, 12-bit or 14-bit. + This parameter can be a value of @ref DCMI_Extended_Data_Mode */ + + DCMI_CodesInitTypeDef SyncroCode; /*!< Specifies the code of the line/frame start delimiter and the + line/frame end delimiter */ + + uint32_t JPEGMode; /*!< Enable or Disable the JPEG mode. + This parameter can be a value of @ref DCMI_MODE_JPEG */ + + uint32_t ByteSelectMode; /*!< Specifies the data to be captured by the interface + This parameter can be a value of @ref DCMI_Byte_Select_Mode */ + + uint32_t ByteSelectStart; /*!< Specifies if the data to be captured by the interface is even or odd + This parameter can be a value of @ref DCMI_Byte_Select_Start */ + + uint32_t LineSelectMode; /*!< Specifies the line of data to be captured by the interface + This parameter can be a value of @ref DCMI_Line_Select_Mode */ + + uint32_t LineSelectStart; /*!< Specifies if the line of data to be captured by the interface is even or odd + This parameter can be a value of @ref DCMI_Line_Select_Start */ +}DCMI_InitTypeDef; + +/** + * @brief DCMI handle Structure definition + */ +typedef struct +{ + DCMI_TypeDef *Instance; /*!< DCMI Register base address */ + + DCMI_InitTypeDef Init; /*!< DCMI parameters */ + + HAL_LockTypeDef Lock; /*!< DCMI locking object */ + + __IO HAL_DCMI_StateTypeDef State; /*!< DCMI state */ + + __IO uint32_t XferCount; /*!< DMA transfer counter */ + + __IO uint32_t XferSize; /*!< DMA transfer size */ + + uint32_t XferTransferNumber; /*!< DMA transfer number */ + + uint32_t pBuffPtr; /*!< Pointer to DMA output buffer */ + + DMA_HandleTypeDef *DMA_Handle; /*!< Pointer to the DMA handler */ + + __IO uint32_t ErrorCode; /*!< DCMI Error code */ + +}DCMI_HandleTypeDef; +/** + * @} + */ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup DCMI_Exported_Constants DCMI Exported Constants + * @{ + */ + +/** @defgroup DCMI_Error_Code DCMI Error Code + * @{ + */ +#define HAL_DCMI_ERROR_NONE (0x00000000U) /*!< No error */ +#define HAL_DCMI_ERROR_OVR (0x00000001U) /*!< Overrun error */ +#define HAL_DCMI_ERROR_SYNC (0x00000002U) /*!< Synchronization error */ +#define HAL_DCMI_ERROR_TIMEOUT (0x00000020U) /*!< Timeout error */ +#define HAL_DCMI_ERROR_DMA (0x00000040U) /*!< DMA error */ +/** + * @} + */ + +/** @defgroup DCMI_Capture_Mode DCMI Capture Mode + * @{ + */ +#define DCMI_MODE_CONTINUOUS (0x00000000U) /*!< The received data are transferred continuously + into the destination memory through the DMA */ +#define DCMI_MODE_SNAPSHOT ((uint32_t)DCMI_CR_CM) /*!< Once activated, the interface waits for the start of + frame and then transfers a single frame through the DMA */ +/** + * @} + */ + +/** @defgroup DCMI_Synchronization_Mode DCMI Synchronization Mode + * @{ + */ +#define DCMI_SYNCHRO_HARDWARE (0x00000000U) /*!< Hardware synchronization data capture (frame/line start/stop) + is synchronized with the HSYNC/VSYNC signals */ +#define DCMI_SYNCHRO_EMBEDDED ((uint32_t)DCMI_CR_ESS) /*!< Embedded synchronization data capture is synchronized with + synchronization codes embedded in the data flow */ + +/** + * @} + */ + +/** @defgroup DCMI_PIXCK_Polarity DCMI PIXCK Polarity + * @{ + */ +#define DCMI_PCKPOLARITY_FALLING (0x00000000U) /*!< Pixel clock active on Falling edge */ +#define DCMI_PCKPOLARITY_RISING ((uint32_t)DCMI_CR_PCKPOL) /*!< Pixel clock active on Rising edge */ + +/** + * @} + */ + +/** @defgroup DCMI_VSYNC_Polarity DCMI VSYNC Polarity + * @{ + */ +#define DCMI_VSPOLARITY_LOW (0x00000000U) /*!< Vertical synchronization active Low */ +#define DCMI_VSPOLARITY_HIGH ((uint32_t)DCMI_CR_VSPOL) /*!< Vertical synchronization active High */ + +/** + * @} + */ + +/** @defgroup DCMI_HSYNC_Polarity DCMI HSYNC Polarity + * @{ + */ +#define DCMI_HSPOLARITY_LOW (0x00000000U) /*!< Horizontal synchronization active Low */ +#define DCMI_HSPOLARITY_HIGH ((uint32_t)DCMI_CR_HSPOL) /*!< Horizontal synchronization active High */ + +/** + * @} + */ + +/** @defgroup DCMI_MODE_JPEG DCMI MODE JPEG + * @{ + */ +#define DCMI_JPEG_DISABLE (0x00000000U) /*!< Mode JPEG Disabled */ +#define DCMI_JPEG_ENABLE ((uint32_t)DCMI_CR_JPEG) /*!< Mode JPEG Enabled */ + +/** + * @} + */ + +/** @defgroup DCMI_Capture_Rate DCMI Capture Rate + * @{ + */ +#define DCMI_CR_ALL_FRAME (0x00000000U) /*!< All frames are captured */ +#define DCMI_CR_ALTERNATE_2_FRAME ((uint32_t)DCMI_CR_FCRC_0) /*!< Every alternate frame captured */ +#define DCMI_CR_ALTERNATE_4_FRAME ((uint32_t)DCMI_CR_FCRC_1) /*!< One frame in 4 frames captured */ + +/** + * @} + */ + +/** @defgroup DCMI_Extended_Data_Mode DCMI Extended Data Mode + * @{ + */ +#define DCMI_EXTEND_DATA_8B (0x00000000U) /*!< Interface captures 8-bit data on every pixel clock */ +#define DCMI_EXTEND_DATA_10B ((uint32_t)DCMI_CR_EDM_0) /*!< Interface captures 10-bit data on every pixel clock */ +#define DCMI_EXTEND_DATA_12B ((uint32_t)DCMI_CR_EDM_1) /*!< Interface captures 12-bit data on every pixel clock */ +#define DCMI_EXTEND_DATA_14B ((uint32_t)(DCMI_CR_EDM_0 | DCMI_CR_EDM_1)) /*!< Interface captures 14-bit data on every pixel clock */ + +/** + * @} + */ + +/** @defgroup DCMI_Window_Coordinate DCMI Window Coordinate + * @{ + */ +#define DCMI_WINDOW_COORDINATE (0x3FFFU) /*!< Window coordinate */ + +/** + * @} + */ + +/** @defgroup DCMI_Window_Height DCMI Window Height + * @{ + */ +#define DCMI_WINDOW_HEIGHT (0x1FFFU) /*!< Window Height */ + +/** + * @} + */ + +/** @defgroup DCMI_interrupt_sources DCMI interrupt sources + * @{ + */ +#define DCMI_IT_FRAME ((uint32_t)DCMI_IER_FRAME_IE) /*!< Capture complete interrupt */ +#define DCMI_IT_OVR ((uint32_t)DCMI_IER_OVR_IE) /*!< Overrun interrupt */ +#define DCMI_IT_ERR ((uint32_t)DCMI_IER_ERR_IE) /*!< Synchronization error interrupt */ +#define DCMI_IT_VSYNC ((uint32_t)DCMI_IER_VSYNC_IE) /*!< VSYNC interrupt */ +#define DCMI_IT_LINE ((uint32_t)DCMI_IER_LINE_IE) /*!< Line interrupt */ +/** + * @} + */ + +/** @defgroup DCMI_Flags DCMI Flags + * @{ + */ + +/** + * @brief DCMI SR register + */ +#define DCMI_FLAG_HSYNC ((uint32_t)DCMI_SR_INDEX|DCMI_SR_HSYNC) /*!< HSYNC pin state (active line / synchronization between lines) */ +#define DCMI_FLAG_VSYNC ((uint32_t)DCMI_SR_INDEX|DCMI_SR_VSYNC) /*!< VSYNC pin state (active frame / synchronization between frames) */ +#define DCMI_FLAG_FNE ((uint32_t)DCMI_SR_INDEX|DCMI_SR_FNE) /*!< FIFO not empty flag */ +/** + * @brief DCMI RIS register + */ +#define DCMI_FLAG_FRAMERI ((uint32_t)DCMI_RIS_FRAME_RIS) /*!< Frame capture complete interrupt flag */ +#define DCMI_FLAG_OVRRI ((uint32_t)DCMI_RIS_OVR_RIS) /*!< Overrun interrupt flag */ +#define DCMI_FLAG_ERRRI ((uint32_t)DCMI_RIS_ERR_RIS) /*!< Synchronization error interrupt flag */ +#define DCMI_FLAG_VSYNCRI ((uint32_t)DCMI_RIS_VSYNC_RIS) /*!< VSYNC interrupt flag */ +#define DCMI_FLAG_LINERI ((uint32_t)DCMI_RIS_LINE_RIS) /*!< Line interrupt flag */ +/** + * @brief DCMI MIS register + */ +#define DCMI_FLAG_FRAMEMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_FRAME_MIS) /*!< DCMI Frame capture complete masked interrupt status */ +#define DCMI_FLAG_OVRMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_OVR_MIS ) /*!< DCMI Overrun masked interrupt status */ +#define DCMI_FLAG_ERRMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_ERR_MIS ) /*!< DCMI Synchronization error masked interrupt status */ +#define DCMI_FLAG_VSYNCMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_VSYNC_MIS) /*!< DCMI VSYNC masked interrupt status */ +#define DCMI_FLAG_LINEMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_LINE_MIS ) /*!< DCMI Line masked interrupt status */ +/** + * @} + */ + +/** @defgroup DCMI_Byte_Select_Mode DCMI Byte Select Mode + * @{ + */ +#define DCMI_BSM_ALL (0x00000000U) /*!< Interface captures all received data */ +#define DCMI_BSM_OTHER ((uint32_t)DCMI_CR_BSM_0) /*!< Interface captures every other byte from the received data */ +#define DCMI_BSM_ALTERNATE_4 ((uint32_t)DCMI_CR_BSM_1) /*!< Interface captures one byte out of four */ +#define DCMI_BSM_ALTERNATE_2 ((uint32_t)(DCMI_CR_BSM_0 | DCMI_CR_BSM_1)) /*!< Interface captures two bytes out of four */ + +/** + * @} + */ + +/** @defgroup DCMI_Byte_Select_Start DCMI Byte Select Start + * @{ + */ +#define DCMI_OEBS_ODD (0x00000000U) /*!< Interface captures first data from the frame/line start, second one being dropped */ +#define DCMI_OEBS_EVEN ((uint32_t)DCMI_CR_OEBS) /*!< Interface captures second data from the frame/line start, first one being dropped */ + +/** + * @} + */ + +/** @defgroup DCMI_Line_Select_Mode DCMI Line Select Mode + * @{ + */ +#define DCMI_LSM_ALL (0x00000000U) /*!< Interface captures all received lines */ +#define DCMI_LSM_ALTERNATE_2 ((uint32_t)DCMI_CR_LSM) /*!< Interface captures one line out of two */ + +/** + * @} + */ + +/** @defgroup DCMI_Line_Select_Start DCMI Line Select Start + * @{ + */ +#define DCMI_OELS_ODD (0x00000000U) /*!< Interface captures first line from the frame start, second one being dropped */ +#define DCMI_OELS_EVEN ((uint32_t)DCMI_CR_OELS) /*!< Interface captures second line from the frame start, first one being dropped */ + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup DCMI_Exported_Macros DCMI Exported Macros + * @{ + */ + +/** @brief Reset DCMI handle state + * @param __HANDLE__: specifies the DCMI handle. + * @retval None + */ +#define __HAL_DCMI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DCMI_STATE_RESET) + +/** + * @brief Enable the DCMI. + * @param __HANDLE__: DCMI handle + * @retval None + */ +#define __HAL_DCMI_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= DCMI_CR_ENABLE) + +/** + * @brief Disable the DCMI. + * @param __HANDLE__: DCMI handle + * @retval None + */ +#define __HAL_DCMI_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(DCMI_CR_ENABLE)) + +/* Interrupt & Flag management */ +/** + * @brief Get the DCMI pending flag. + * @param __HANDLE__: DCMI handle + * @param __FLAG__: Get the specified flag. + * This parameter can be one of the following values (no combination allowed) + * @arg DCMI_FLAG_HSYNC: HSYNC pin state (active line / synchronization between lines) + * @arg DCMI_FLAG_VSYNC: VSYNC pin state (active frame / synchronization between frames) + * @arg DCMI_FLAG_FNE: FIFO empty flag + * @arg DCMI_FLAG_FRAMERI: Frame capture complete flag mask + * @arg DCMI_FLAG_OVRRI: Overrun flag mask + * @arg DCMI_FLAG_ERRRI: Synchronization error flag mask + * @arg DCMI_FLAG_VSYNCRI: VSYNC flag mask + * @arg DCMI_FLAG_LINERI: Line flag mask + * @arg DCMI_FLAG_FRAMEMI: DCMI Capture complete masked interrupt status + * @arg DCMI_FLAG_OVRMI: DCMI Overrun masked interrupt status + * @arg DCMI_FLAG_ERRMI: DCMI Synchronization error masked interrupt status + * @arg DCMI_FLAG_VSYNCMI: DCMI VSYNC masked interrupt status + * @arg DCMI_FLAG_LINEMI: DCMI Line masked interrupt status + * @retval The state of FLAG. + */ +#define __HAL_DCMI_GET_FLAG(__HANDLE__, __FLAG__)\ +((((__FLAG__) & (DCMI_SR_INDEX|DCMI_MIS_INDEX)) == 0x0)? ((__HANDLE__)->Instance->RIS & (__FLAG__)) :\ + (((__FLAG__) & DCMI_SR_INDEX) == 0x0)? ((__HANDLE__)->Instance->MIS & (__FLAG__)) : ((__HANDLE__)->Instance->SR & (__FLAG__))) + +/** + * @brief Clear the DCMI pending flags. + * @param __HANDLE__: DCMI handle + * @param __FLAG__: specifies the flag to clear. + * This parameter can be any combination of the following values: + * @arg DCMI_FLAG_FRAMERI: Frame capture complete flag mask + * @arg DCMI_FLAG_OVFRI: Overflow flag mask + * @arg DCMI_FLAG_ERRRI: Synchronization error flag mask + * @arg DCMI_FLAG_VSYNCRI: VSYNC flag mask + * @arg DCMI_FLAG_LINERI: Line flag mask + * @retval None + */ +#define __HAL_DCMI_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + +/** + * @brief Enable the specified DCMI interrupts. + * @param __HANDLE__: DCMI handle + * @param __INTERRUPT__: specifies the DCMI interrupt sources to be enabled. + * This parameter can be any combination of the following values: + * @arg DCMI_IT_FRAME: Frame capture complete interrupt mask + * @arg DCMI_IT_OVF: Overflow interrupt mask + * @arg DCMI_IT_ERR: Synchronization error interrupt mask + * @arg DCMI_IT_VSYNC: VSYNC interrupt mask + * @arg DCMI_IT_LINE: Line interrupt mask + * @retval None + */ +#define __HAL_DCMI_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) + +/** + * @brief Disable the specified DCMI interrupts. + * @param __HANDLE__: DCMI handle + * @param __INTERRUPT__: specifies the DCMI interrupt sources to be enabled. + * This parameter can be any combination of the following values: + * @arg DCMI_IT_FRAME: Frame capture complete interrupt mask + * @arg DCMI_IT_OVF: Overflow interrupt mask + * @arg DCMI_IT_ERR: Synchronization error interrupt mask + * @arg DCMI_IT_VSYNC: VSYNC interrupt mask + * @arg DCMI_IT_LINE: Line interrupt mask + * @retval None + */ +#define __HAL_DCMI_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= ~(__INTERRUPT__)) + +/** + * @brief Check whether the specified DCMI interrupt has occurred or not. + * @param __HANDLE__: DCMI handle + * @param __INTERRUPT__: specifies the DCMI interrupt source to check. + * This parameter can be one of the following values: + * @arg DCMI_IT_FRAME: Frame capture complete interrupt mask + * @arg DCMI_IT_OVF: Overflow interrupt mask + * @arg DCMI_IT_ERR: Synchronization error interrupt mask + * @arg DCMI_IT_VSYNC: VSYNC interrupt mask + * @arg DCMI_IT_LINE: Line interrupt mask + * @retval The state of INTERRUPT. + */ +#define __HAL_DCMI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->MISR & (__INTERRUPT__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup DCMI_Exported_Functions DCMI Exported Functions + * @{ + */ + +/** @addtogroup DCMI_Exported_Functions_Group1 Initialization and Configuration functions + * @{ + */ +/* Initialization and de-initialization functions *****************************/ +HAL_StatusTypeDef HAL_DCMI_Init(DCMI_HandleTypeDef *hdcmi); +HAL_StatusTypeDef HAL_DCMI_DeInit(DCMI_HandleTypeDef *hdcmi); +void HAL_DCMI_MspInit(DCMI_HandleTypeDef* hdcmi); +void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef* hdcmi); +/** + * @} + */ + +/** @addtogroup DCMI_Exported_Functions_Group2 IO operation functions + * @{ + */ +/* IO operation functions *****************************************************/ +HAL_StatusTypeDef HAL_DCMI_Start_DMA(DCMI_HandleTypeDef* hdcmi, uint32_t DCMI_Mode, uint32_t pData, uint32_t Length); +HAL_StatusTypeDef HAL_DCMI_Stop(DCMI_HandleTypeDef* hdcmi); +HAL_StatusTypeDef HAL_DCMI_Suspend(DCMI_HandleTypeDef* hdcmi); +HAL_StatusTypeDef HAL_DCMI_Resume(DCMI_HandleTypeDef* hdcmi); +void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi); +void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi); +void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi); +void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi); +void HAL_DCMI_IRQHandler(DCMI_HandleTypeDef *hdcmi); +/** + * @} + */ + +/** @addtogroup DCMI_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ +/* Peripheral Control functions ***********************************************/ +HAL_StatusTypeDef HAL_DCMI_ConfigCrop(DCMI_HandleTypeDef *hdcmi, uint32_t X0, uint32_t Y0, uint32_t XSize, uint32_t YSize); +HAL_StatusTypeDef HAL_DCMI_EnableCrop(DCMI_HandleTypeDef *hdcmi); +HAL_StatusTypeDef HAL_DCMI_DisableCrop(DCMI_HandleTypeDef *hdcmi); + +/** + * @} + */ + +/** @addtogroup DCMI_Exported_Functions_Group4 Peripheral State functions + * @{ + */ +/* Peripheral State functions *************************************************/ +HAL_DCMI_StateTypeDef HAL_DCMI_GetState(DCMI_HandleTypeDef *hdcmi); +uint32_t HAL_DCMI_GetError(DCMI_HandleTypeDef *hdcmi); +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup DCMI_Private_Constants DCMI Private Constants + * @{ + */ +#define DCMI_MIS_INDEX (0x1000) /*!< DCMI MIS register index */ +#define DCMI_SR_INDEX (0x2000) /*!< DCMI SR register index */ +/** + * @} + */ +/* Private macro -------------------------------------------------------------*/ +/** @defgroup DCMI_Private_Macros DCMI Private Macros + * @{ + */ +#define IS_DCMI_CAPTURE_MODE(MODE)(((MODE) == DCMI_MODE_CONTINUOUS) || \ + ((MODE) == DCMI_MODE_SNAPSHOT)) + +#define IS_DCMI_SYNCHRO(MODE)(((MODE) == DCMI_SYNCHRO_HARDWARE) || \ + ((MODE) == DCMI_SYNCHRO_EMBEDDED)) + +#define IS_DCMI_PCKPOLARITY(POLARITY)(((POLARITY) == DCMI_PCKPOLARITY_FALLING) || \ + ((POLARITY) == DCMI_PCKPOLARITY_RISING)) + +#define IS_DCMI_VSPOLARITY(POLARITY)(((POLARITY) == DCMI_VSPOLARITY_LOW) || \ + ((POLARITY) == DCMI_VSPOLARITY_HIGH)) + +#define IS_DCMI_HSPOLARITY(POLARITY)(((POLARITY) == DCMI_HSPOLARITY_LOW) || \ + ((POLARITY) == DCMI_HSPOLARITY_HIGH)) + +#define IS_DCMI_MODE_JPEG(JPEG_MODE)(((JPEG_MODE) == DCMI_JPEG_DISABLE) || \ + ((JPEG_MODE) == DCMI_JPEG_ENABLE)) + +#define IS_DCMI_CAPTURE_RATE(RATE) (((RATE) == DCMI_CR_ALL_FRAME) || \ + ((RATE) == DCMI_CR_ALTERNATE_2_FRAME) || \ + ((RATE) == DCMI_CR_ALTERNATE_4_FRAME)) + +#define IS_DCMI_EXTENDED_DATA(DATA)(((DATA) == DCMI_EXTEND_DATA_8B) || \ + ((DATA) == DCMI_EXTEND_DATA_10B) || \ + ((DATA) == DCMI_EXTEND_DATA_12B) || \ + ((DATA) == DCMI_EXTEND_DATA_14B)) + +#define IS_DCMI_WINDOW_COORDINATE(COORDINATE) ((COORDINATE) <= DCMI_WINDOW_COORDINATE) + +#define IS_DCMI_WINDOW_HEIGHT(HEIGHT) ((HEIGHT) <= DCMI_WINDOW_HEIGHT) + +#define IS_DCMI_BYTE_SELECT_MODE(MODE)(((MODE) == DCMI_BSM_ALL) || \ + ((MODE) == DCMI_BSM_OTHER) || \ + ((MODE) == DCMI_BSM_ALTERNATE_4) || \ + ((MODE) == DCMI_BSM_ALTERNATE_2)) + +#define IS_DCMI_BYTE_SELECT_START(POLARITY)(((POLARITY) == DCMI_OEBS_ODD) || \ + ((POLARITY) == DCMI_OEBS_EVEN)) + +#define IS_DCMI_LINE_SELECT_MODE(MODE)(((MODE) == DCMI_LSM_ALL) || \ + ((MODE) == DCMI_LSM_ALTERNATE_2)) + +#define IS_DCMI_LINE_SELECT_START(POLARITY)(((POLARITY) == DCMI_OELS_ODD) || \ + ((POLARITY) == DCMI_OELS_EVEN)) + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup DCMI_Private_Functions DCMI Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_DCMI_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h new file mode 100644 index 0000000000..a55ffb9d01 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h @@ -0,0 +1,206 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_def.h + * @author MCD Application Team + * @brief This file contains HAL common defines, enumeration, macros and + * structures definitions. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DEF +#define __STM32H7xx_HAL_DEF + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx.h" +#include "Legacy/stm32_hal_legacy.h" +#include + +/* Exported types ------------------------------------------------------------*/ + +/** + * @brief HAL Status structures definition + */ +typedef enum +{ + HAL_OK = 0x00, + HAL_ERROR = 0x01, + HAL_BUSY = 0x02, + HAL_TIMEOUT = 0x03 +} HAL_StatusTypeDef; + +/** + * @brief HAL Lock structures definition + */ +typedef enum +{ + HAL_UNLOCKED = 0x00, + HAL_LOCKED = 0x01 +} HAL_LockTypeDef; + +/* Exported macro ------------------------------------------------------------*/ +#ifndef NULL + #define NULL (void *) 0 +#endif + +#define HAL_MAX_DELAY 0xFFFFFFFF + +#define HAL_IS_BIT_SET(REG, BIT) (((REG) & (BIT)) != RESET) +#define HAL_IS_BIT_CLR(REG, BIT) (((REG) & (BIT)) == RESET) + +#define __HAL_LINKDMA(__HANDLE__, __PPP_DMA_FIELD__, __DMA_HANDLE__) \ + do{ \ + (__HANDLE__)->__PPP_DMA_FIELD__ = &(__DMA_HANDLE__); \ + (__DMA_HANDLE__).Parent = (__HANDLE__); \ + } while(0) + +#define UNUSED(x) ((void)(x)) + +/** @brief Reset the Handle's State field. + * @param __HANDLE__: specifies the Peripheral Handle. + * @note This macro can be used for the following purpose: + * - When the Handle is declared as local variable; before passing it as parameter + * to HAL_PPP_Init() for the first time, it is mandatory to use this macro + * to set to 0 the Handle's "State" field. + * Otherwise, "State" field may have any random value and the first time the function + * HAL_PPP_Init() is called, the low level hardware initialization will be missed + * (i.e. HAL_PPP_MspInit() will not be executed). + * - When there is a need to reconfigure the low level hardware: instead of calling + * HAL_PPP_DeInit() then HAL_PPP_Init(), user can make a call to this macro then HAL_PPP_Init(). + * In this later function, when the Handle's "State" field is set to 0, it will execute the function + * HAL_PPP_MspInit() which will reconfigure the low level hardware. + * @retval None + */ +#define __HAL_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = 0) + +#if (USE_RTOS == 1) + #error " USE_RTOS should be 0 in the current HAL release " +#else + #define __HAL_LOCK(__HANDLE__) \ + do{ \ + if((__HANDLE__)->Lock == HAL_LOCKED) \ + { \ + return HAL_BUSY; \ + } \ + else \ + { \ + (__HANDLE__)->Lock = HAL_LOCKED; \ + } \ + }while (0) + + #define __HAL_UNLOCK(__HANDLE__) \ + do{ \ + (__HANDLE__)->Lock = HAL_UNLOCKED; \ + }while (0) +#endif /* USE_RTOS */ + +#if defined ( __GNUC__ ) + #ifndef __weak + #define __weak __attribute__((weak)) + #endif /* __weak */ + #ifndef __packed + #define __packed __attribute__((__packed__)) + #endif /* __packed */ +#endif /* __GNUC__ */ + + +/* Macro to get variable aligned on 4-bytes, for __ICCARM__ the directive "#pragma data_alignment=4" must be used instead */ +#if defined (__GNUC__) /* GNU Compiler */ + #ifndef __ALIGN_END + #define __ALIGN_END __attribute__ ((aligned (4))) + #endif /* __ALIGN_END */ + #ifndef __ALIGN_BEGIN + #define __ALIGN_BEGIN + #endif /* __ALIGN_BEGIN */ +#else + #ifndef __ALIGN_END + #define __ALIGN_END + #endif /* __ALIGN_END */ + #ifndef __ALIGN_BEGIN + #if defined (__CC_ARM) /* ARM Compiler */ + #define __ALIGN_BEGIN __align(4) + #elif defined (__ICCARM__) /* IAR Compiler */ + #define __ALIGN_BEGIN + #endif /* __CC_ARM */ + #endif /* __ALIGN_BEGIN */ +#endif /* __GNUC__ */ + +/* Macro to get variable aligned on 32-bytes,needed for cache maintenance purpose */ +#if defined (__GNUC__) /* GNU Compiler */ + #define ALIGN_32BYTES(buf) buf __attribute__ ((aligned (32))) +#elif defined (__ICCARM__) /* IAR Compiler */ + #define ALIGN_32BYTES(buf) _Pragma("data_alignment=32") buf +#elif defined (__CC_ARM) /* ARM Compiler */ + #define ALIGN_32BYTES(buf) __align(32) buf +#endif + +/** + * @brief __RAM_FUNC definition + */ +#if defined ( __CC_ARM ) +/* ARM Compiler + ------------ + RAM functions are defined using the toolchain options. + Functions that are executed in RAM should reside in a separate source module. + Using the 'Options for File' dialog you can simply change the 'Code / Const' + area of a module to a memory space in physical RAM. + Available memory areas are declared in the 'Target' tab of the 'Options for Target' + dialog. +*/ +#define __RAM_FUNC HAL_StatusTypeDef + +#elif defined ( __ICCARM__ ) +/* ICCARM Compiler + --------------- + RAM functions are defined using a specific toolchain keyword "__ramfunc". +*/ +#define __RAM_FUNC __ramfunc HAL_StatusTypeDef + +#elif defined ( __GNUC__ ) +/* GNU Compiler + ------------ + RAM functions are defined using a specific toolchain attribute + "__attribute__((section(".RamFunc")))". +*/ +#define __RAM_FUNC HAL_StatusTypeDef __attribute__((section(".RamFunc"))) + +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ___STM32H7xx_HAL_DEF */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dfsdm.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dfsdm.h new file mode 100644 index 0000000000..697371b4e7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dfsdm.h @@ -0,0 +1,714 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dfsdm.h + * @author MCD Application Team + * @brief Header file of DFSDM HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DFSDM_H +#define __STM32H7xx_HAL_DFSDM_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DFSDM + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup DFSDM_Exported_Types DFSDM Exported Types + * @{ + */ + +/** + * @brief HAL DFSDM Channel states definition + */ +typedef enum +{ + HAL_DFSDM_CHANNEL_STATE_RESET = 0x00, /*!< DFSDM channel not initialized */ + HAL_DFSDM_CHANNEL_STATE_READY = 0x01, /*!< DFSDM channel initialized and ready for use */ + HAL_DFSDM_CHANNEL_STATE_ERROR = 0xFF /*!< DFSDM channel state error */ +}HAL_DFSDM_Channel_StateTypeDef; + +/** + * @brief DFSDM channel output clock structure definition + */ +typedef struct +{ + FunctionalState Activation; /*!< Output clock enable/disable */ + uint32_t Selection; /*!< Output clock is system clock or audio clock. + This parameter can be a value of @ref DFSDM_Channel_OuputClock */ + uint32_t Divider; /*!< Output clock divider. + This parameter must be a number between Min_Data = 2 and Max_Data = 256 */ +}DFSDM_Channel_OutputClockTypeDef; + +/** + * @brief DFSDM channel input structure definition + */ +typedef struct +{ + uint32_t Multiplexer; /*!< Input is external serial inputs ,internal register or ADC output. + This parameter can be a value of @ref DFSDM_Channel_InputMultiplexer */ + uint32_t DataPacking; /*!< Standard, interleaved or dual mode for internal register. + This parameter can be a value of @ref DFSDM_Channel_DataPacking */ + uint32_t Pins; /*!< Input pins are taken from same or following channel. + This parameter can be a value of @ref DFSDM_Channel_InputPins */ +}DFSDM_Channel_InputTypeDef; + +/** + * @brief DFSDM channel serial interface structure definition + */ +typedef struct +{ + uint32_t Type; /*!< SPI or Manchester modes. + This parameter can be a value of @ref DFSDM_Channel_SerialInterfaceType */ + uint32_t SpiClock; /*!< SPI clock select (external or internal with different sampling point). + This parameter can be a value of @ref DFSDM_Channel_SpiClock */ +}DFSDM_Channel_SerialInterfaceTypeDef; + +/** + * @brief DFSDM channel analog watchdog structure definition + */ +typedef struct +{ + uint32_t FilterOrder; /*!< Analog watchdog Sinc filter order. + This parameter can be a value of @ref DFSDM_Channel_AwdFilterOrder */ + uint32_t Oversampling; /*!< Analog watchdog filter oversampling ratio. + This parameter must be a number between Min_Data = 1 and Max_Data = 32 */ +}DFSDM_Channel_AwdTypeDef; + +/** + * @brief DFSDM channel init structure definition + */ +typedef struct +{ + DFSDM_Channel_OutputClockTypeDef OutputClock; /*!< DFSDM channel output clock parameters */ + DFSDM_Channel_InputTypeDef Input; /*!< DFSDM channel input parameters */ + DFSDM_Channel_SerialInterfaceTypeDef SerialInterface; /*!< DFSDM channel serial interface parameters */ + DFSDM_Channel_AwdTypeDef Awd; /*!< DFSDM channel analog watchdog parameters */ + int32_t Offset; /*!< DFSDM channel offset. + This parameter must be a number between Min_Data = -8388608 and Max_Data = 8388607 */ + uint32_t RightBitShift; /*!< DFSDM channel right bit shift. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F */ +}DFSDM_Channel_InitTypeDef; + +/** + * @brief DFSDM channel handle structure definition + */ +typedef struct +{ + DFSDM_Channel_TypeDef *Instance; /*!< DFSDM channel instance */ + DFSDM_Channel_InitTypeDef Init; /*!< DFSDM channel init parameters */ + HAL_DFSDM_Channel_StateTypeDef State; /*!< DFSDM channel state */ +}DFSDM_Channel_HandleTypeDef; + +/** + * @brief HAL DFSDM Filter states definition + */ +typedef enum +{ + HAL_DFSDM_FILTER_STATE_RESET = 0x00, /*!< DFSDM filter not initialized */ + HAL_DFSDM_FILTER_STATE_READY = 0x01, /*!< DFSDM filter initialized and ready for use */ + HAL_DFSDM_FILTER_STATE_REG = 0x02, /*!< DFSDM filter regular conversion in progress */ + HAL_DFSDM_FILTER_STATE_INJ = 0x03, /*!< DFSDM filter injected conversion in progress */ + HAL_DFSDM_FILTER_STATE_REG_INJ = 0x04, /*!< DFSDM filter regular and injected conversions in progress */ + HAL_DFSDM_FILTER_STATE_ERROR = 0xFF /*!< DFSDM filter state error */ +}HAL_DFSDM_Filter_StateTypeDef; + +/** + * @brief DFSDM filter regular conversion parameters structure definition + */ +typedef struct +{ + uint32_t Trigger; /*!< Trigger used to start regular conversion: software or synchronous. + This parameter can be a value of @ref DFSDM_Filter_Trigger */ + FunctionalState FastMode; /*!< Enable/disable fast mode for regular conversion */ + FunctionalState DmaMode; /*!< Enable/disable DMA for regular conversion */ +}DFSDM_Filter_RegularParamTypeDef; + +/** + * @brief DFSDM filter injected conversion parameters structure definition + */ +typedef struct +{ + uint32_t Trigger; /*!< Trigger used to start injected conversion: software, external or synchronous. + This parameter can be a value of @ref DFSDM_Filter_Trigger */ + FunctionalState ScanMode; /*!< Enable/disable scanning mode for injected conversion */ + FunctionalState DmaMode; /*!< Enable/disable DMA for injected conversion */ + uint32_t ExtTrigger; /*!< External trigger. + This parameter can be a value of @ref DFSDM_Filter_ExtTrigger */ + uint32_t ExtTriggerEdge; /*!< External trigger edge: rising, falling or both. + This parameter can be a value of @ref DFSDM_Filter_ExtTriggerEdge */ +}DFSDM_Filter_InjectedParamTypeDef; + +/** + * @brief DFSDM filter parameters structure definition + */ +typedef struct +{ + uint32_t SincOrder; /*!< Sinc filter order. + This parameter can be a value of @ref DFSDM_Filter_SincOrder */ + uint32_t Oversampling; /*!< Filter oversampling ratio. + This parameter must be a number between Min_Data = 1 and Max_Data = 1024 */ + uint32_t IntOversampling; /*!< Integrator oversampling ratio. + This parameter must be a number between Min_Data = 1 and Max_Data = 256 */ +}DFSDM_Filter_FilterParamTypeDef; + +/** + * @brief DFSDM filter init structure definition + */ +typedef struct +{ + DFSDM_Filter_RegularParamTypeDef RegularParam; /*!< DFSDM regular conversion parameters */ + DFSDM_Filter_InjectedParamTypeDef InjectedParam; /*!< DFSDM injected conversion parameters */ + DFSDM_Filter_FilterParamTypeDef FilterParam; /*!< DFSDM filter parameters */ +}DFSDM_Filter_InitTypeDef; + +/** + * @brief DFSDM filter handle structure definition + */ +typedef struct +{ + DFSDM_Filter_TypeDef *Instance; /*!< DFSDM filter instance */ + DFSDM_Filter_InitTypeDef Init; /*!< DFSDM filter init parameters */ + DMA_HandleTypeDef *hdmaReg; /*!< Pointer on DMA handler for regular conversions */ + DMA_HandleTypeDef *hdmaInj; /*!< Pointer on DMA handler for injected conversions */ + uint32_t RegularContMode; /*!< Regular conversion continuous mode */ + uint32_t RegularTrigger; /*!< Trigger used for regular conversion */ + uint32_t InjectedTrigger; /*!< Trigger used for injected conversion */ + uint32_t ExtTriggerEdge; /*!< Rising, falling or both edges selected */ + FunctionalState InjectedScanMode; /*!< Injected scanning mode */ + uint32_t InjectedChannelsNbr; /*!< Number of channels in injected sequence */ + uint32_t InjConvRemaining; /*!< Injected conversions remaining */ + HAL_DFSDM_Filter_StateTypeDef State; /*!< DFSDM filter state */ + uint32_t ErrorCode; /*!< DFSDM filter error code */ +}DFSDM_Filter_HandleTypeDef; + +/** + * @brief DFSDM filter analog watchdog parameters structure definition + */ +typedef struct +{ + uint32_t DataSource; /*!< Values from digital filter or from channel watchdog filter. + This parameter can be a value of @ref DFSDM_Filter_AwdDataSource */ + uint32_t Channel; /*!< Analog watchdog channel selection. + This parameter can be a values combination of @ref DFSDM_Channel_Selection */ + int32_t HighThreshold; /*!< High threshold for the analog watchdog. + This parameter must be a number between Min_Data = -8388608 and Max_Data = 8388607 */ + int32_t LowThreshold; /*!< Low threshold for the analog watchdog. + This parameter must be a number between Min_Data = -8388608 and Max_Data = 8388607 */ + uint32_t HighBreakSignal; /*!< Break signal assigned to analog watchdog high threshold event. + This parameter can be a values combination of @ref DFSDM_BreakSignals */ + uint32_t LowBreakSignal; /*!< Break signal assigned to analog watchdog low threshold event. + This parameter can be a values combination of @ref DFSDM_BreakSignals */ +}DFSDM_Filter_AwdParamTypeDef; + +/** + * @} + */ +/* End of exported types -----------------------------------------------------*/ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup DFSDM_Exported_Constants DFSDM Exported Constants + * @{ + */ + +/** @defgroup DFSDM_Channel_OuputClock DFSDM channel output clock selection + * @{ + */ +#define DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM ((uint32_t)0x00000000) /*!< Source for ouput clock is system clock */ +#define DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO DFSDM_CHCFGR1_CKOUTSRC /*!< Source for ouput clock is audio clock */ +/** + * @} + */ + +/** @defgroup DFSDM_Channel_InputMultiplexer DFSDM channel input multiplexer + * @{ + */ +#define DFSDM_CHANNEL_EXTERNAL_INPUTS ((uint32_t)0x00000000) /*!< Data are taken from external inputs */ +#define DFSDM_CHANNEL_ADC_OUTPUT DFSDM_CHCFGR1_DATMPX_0 /*!< Data are taken from ADC output */ +#define DFSDM_CHANNEL_INTERNAL_REGISTER DFSDM_CHCFGR1_DATMPX_1 /*!< Data are taken from internal register */ +/** + * @} + */ + +/** @defgroup DFSDM_Channel_DataPacking DFSDM channel input data packing + * @{ + */ +#define DFSDM_CHANNEL_STANDARD_MODE ((uint32_t)0x00000000) /*!< Standard data packing mode */ +#define DFSDM_CHANNEL_INTERLEAVED_MODE DFSDM_CHCFGR1_DATPACK_0 /*!< Interleaved data packing mode */ +#define DFSDM_CHANNEL_DUAL_MODE DFSDM_CHCFGR1_DATPACK_1 /*!< Dual data packing mode */ +/** + * @} + */ + +/** @defgroup DFSDM_Channel_InputPins DFSDM channel input pins + * @{ + */ +#define DFSDM_CHANNEL_SAME_CHANNEL_PINS ((uint32_t)0x00000000) /*!< Input from pins on same channel */ +#define DFSDM_CHANNEL_FOLLOWING_CHANNEL_PINS DFSDM_CHCFGR1_CHINSEL /*!< Input from pins on following channel */ +/** + * @} + */ + +/** @defgroup DFSDM_Channel_SerialInterfaceType DFSDM channel serial interface type + * @{ + */ +#define DFSDM_CHANNEL_SPI_RISING ((uint32_t)0x00000000) /*!< SPI with rising edge */ +#define DFSDM_CHANNEL_SPI_FALLING DFSDM_CHCFGR1_SITP_0 /*!< SPI with falling edge */ +#define DFSDM_CHANNEL_MANCHESTER_RISING DFSDM_CHCFGR1_SITP_1 /*!< Manchester with rising edge */ +#define DFSDM_CHANNEL_MANCHESTER_FALLING DFSDM_CHCFGR1_SITP /*!< Manchester with falling edge */ +/** + * @} + */ + +/** @defgroup DFSDM_Channel_SpiClock DFSDM channel SPI clock selection + * @{ + */ +#define DFSDM_CHANNEL_SPI_CLOCK_EXTERNAL ((uint32_t)0x00000000) /*!< External SPI clock */ +#define DFSDM_CHANNEL_SPI_CLOCK_INTERNAL DFSDM_CHCFGR1_SPICKSEL_0 /*!< Internal SPI clock */ +#define DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_FALLING DFSDM_CHCFGR1_SPICKSEL_1 /*!< Internal SPI clock divided by 2, falling edge */ +#define DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_RISING DFSDM_CHCFGR1_SPICKSEL /*!< Internal SPI clock divided by 2, rising edge */ +/** + * @} + */ + +/** @defgroup DFSDM_Channel_AwdFilterOrder DFSDM channel analog watchdog filter order + * @{ + */ +#define DFSDM_CHANNEL_FASTSINC_ORDER ((uint32_t)0x00000000) /*!< FastSinc filter type */ +#define DFSDM_CHANNEL_SINC1_ORDER DFSDM_CHAWSCDR_AWFORD_0 /*!< Sinc 1 filter type */ +#define DFSDM_CHANNEL_SINC2_ORDER DFSDM_CHAWSCDR_AWFORD_1 /*!< Sinc 2 filter type */ +#define DFSDM_CHANNEL_SINC3_ORDER DFSDM_CHAWSCDR_AWFORD /*!< Sinc 3 filter type */ +/** + * @} + */ + +/** @defgroup DFSDM_Filter_Trigger DFSDM filter conversion trigger + * @{ + */ +#define DFSDM_FILTER_SW_TRIGGER ((uint32_t)0x00000000) /*!< Software trigger */ +#define DFSDM_FILTER_SYNC_TRIGGER ((uint32_t)0x00000001) /*!< Synchronous with DFSDM0 */ +#define DFSDM_FILTER_EXT_TRIGGER ((uint32_t)0x00000002) /*!< External trigger (only for injected conversion) */ +/** + * @} + */ + +/** @defgroup DFSDM_Filter_ExtTrigger DFSDM filter external trigger + * @{ + */ +#define DFSDM_FILTER_EXT_TRIG_TIM1_TRGO ((uint32_t)0x00000000) /*!< For DFSDM 0, 1, 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_TIM1_TRGO2 DFSDM_FLTCR1_JEXTSEL_0 /*!< For DFSDM 0, 1, 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_TIM8_TRGO DFSDM_FLTCR1_JEXTSEL_1 /*!< For DFSDM 0, 1, 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_TIM8_TRGO2 (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_1) /*!< For DFSDM 0, 1 and 2 */ +#define DFSDM_FILTER_EXT_TRIG_TIM3_TRGO DFSDM_FLTCR1_JEXTSEL_2 /*!< For DFSDM 3 */ +#define DFSDM_FILTER_EXT_TRIG_TIM4_TRGO (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_2) /*!< For DFSDM 0, 1 and 2 */ +#define DFSDM_FILTER_EXT_TRIG_TIM16_OC1 (DFSDM_FLTCR1_JEXTSEL_2 | DFSDM_FLTCR1_JEXTSEL_1) /*!< For DFSDM 3 */ +#define DFSDM_FILTER_EXT_TRIG_TIM6_TRGO (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_2 | DFSDM_FLTCR1_JEXTSEL_1) /*!< For DFSDM 0 and 1 */ +#define DFSDM_FILTER_EXT_TRIG_TIM7_TRGO DFSDM_FLTCR1_JEXTSEL_3 /*!< For DFSDM 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_HRTIM1_ADCTRG1 (DFSDM_FLTCR1_JEXTSEL_3 | DFSDM_FLTCR1_JEXTSEL_0) +#define DFSDM_FILTER_EXT_TRIG_HRTIM1_ADCTRG3 (DFSDM_FLTCR1_JEXTSEL_3 | DFSDM_FLTCR1_JEXTSEL_1) +#define DFSDM_FILTER_EXT_TRIG_EXTI11 (DFSDM_FLTCR1_JEXTSEL_4 | DFSDM_FLTCR1_JEXTSEL_3) /*!< For DFSDM 0, 1, 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_EXTI15 (DFSDM_FLTCR1_JEXTSEL_4 | DFSDM_FLTCR1_JEXTSEL_3 | DFSDM_FLTCR1_JEXTSEL_0) /*!< For DFSDM 0, 1, 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_LPTIM1 (DFSDM_FLTCR1_JEXTSEL_4 | DFSDM_FLTCR1_JEXTSEL_3 | DFSDM_FLTCR1_JEXTSEL_1) /*!< For DFSDM 0, 1, 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_LPTIM2 (DFSDM_FLTCR1_JEXTSEL_4 | DFSDM_FLTCR1_JEXTSEL_3 | DFSDM_FLTCR1_JEXTSEL_1 | DFSDM_FLTCR1_JEXTSEL_0) /*!< For DFSDM 0, 1, 2 and 3 */ +#define DFSDM_FILTER_EXT_TRIG_LPTIM3 (DFSDM_FLTCR1_JEXTSEL_4 | DFSDM_FLTCR1_JEXTSEL_3 | DFSDM_FLTCR1_JEXTSEL_2) /*!< For DFSDM 0, 1, 2 and 3 */ +/** + * @} + */ + +/** @defgroup DFSDM_Filter_ExtTriggerEdge DFSDM filter external trigger edge + * @{ + */ +#define DFSDM_FILTER_EXT_TRIG_RISING_EDGE DFSDM_FLTCR1_JEXTEN_0 /*!< External rising edge */ +#define DFSDM_FILTER_EXT_TRIG_FALLING_EDGE DFSDM_FLTCR1_JEXTEN_1 /*!< External falling edge */ +#define DFSDM_FILTER_EXT_TRIG_BOTH_EDGES DFSDM_FLTCR1_JEXTEN /*!< External rising and falling edges */ +/** + * @} + */ + +/** @defgroup DFSDM_Filter_SincOrder DFSDM filter sinc order + * @{ + */ +#define DFSDM_FILTER_FASTSINC_ORDER ((uint32_t)0x00000000) /*!< FastSinc filter type */ +#define DFSDM_FILTER_SINC1_ORDER DFSDM_FLTFCR_FORD_0 /*!< Sinc 1 filter type */ +#define DFSDM_FILTER_SINC2_ORDER DFSDM_FLTFCR_FORD_1 /*!< Sinc 2 filter type */ +#define DFSDM_FILTER_SINC3_ORDER (DFSDM_FLTFCR_FORD_0 | DFSDM_FLTFCR_FORD_1) /*!< Sinc 3 filter type */ +#define DFSDM_FILTER_SINC4_ORDER DFSDM_FLTFCR_FORD_2 /*!< Sinc 4 filter type */ +#define DFSDM_FILTER_SINC5_ORDER (DFSDM_FLTFCR_FORD_0 | DFSDM_FLTFCR_FORD_2) /*!< Sinc 5 filter type */ +/** + * @} + */ + +/** @defgroup DFSDM_Filter_AwdDataSource DFSDM filter analog watchdog data source + * @{ + */ +#define DFSDM_FILTER_AWD_FILTER_DATA ((uint32_t)0x00000000) /*!< From digital filter */ +#define DFSDM_FILTER_AWD_CHANNEL_DATA DFSDM_FLTCR1_AWFSEL /*!< From analog watchdog channel */ +/** + * @} + */ + +/** @defgroup DFSDM_Filter_ErrorCode DFSDM filter error code + * @{ + */ +#define DFSDM_FILTER_ERROR_NONE ((uint32_t)0x00000000) /*!< No error */ +#define DFSDM_FILTER_ERROR_REGULAR_OVERRUN ((uint32_t)0x00000001) /*!< Overrun occurs during regular conversion */ +#define DFSDM_FILTER_ERROR_INJECTED_OVERRUN ((uint32_t)0x00000002) /*!< Overrun occurs during injected conversion */ +#define DFSDM_FILTER_ERROR_DMA ((uint32_t)0x00000003) /*!< DMA error occurs */ +/** + * @} + */ + +/** @defgroup DFSDM_BreakSignals DFSDM break signals + * @{ + */ +#define DFSDM_NO_BREAK_SIGNAL ((uint32_t)0x00000000) /*!< No break signal */ +#define DFSDM_BREAK_SIGNAL_0 ((uint32_t)0x00000001) /*!< Break signal 0 */ +#define DFSDM_BREAK_SIGNAL_1 ((uint32_t)0x00000002) /*!< Break signal 1 */ +#define DFSDM_BREAK_SIGNAL_2 ((uint32_t)0x00000004) /*!< Break signal 2 */ +#define DFSDM_BREAK_SIGNAL_3 ((uint32_t)0x00000008) /*!< Break signal 3 */ +/** + * @} + */ + +/** @defgroup DFSDM_Channel_Selection DFSDM Channel Selection + * @{ + */ +/* DFSDM Channels ------------------------------------------------------------*/ +/* The DFSDM channels are defined as follows: + - in 16-bit LSB the channel mask is set + - in 16-bit MSB the channel number is set + e.g. for channel 5 definition: + - the channel mask is 0x00000020 (bit 5 is set) + - the channel number 5 is 0x00050000 + --> Consequently, channel 5 definition is 0x00000020 | 0x00050000 = 0x00050020 */ +#define DFSDM_CHANNEL_0 ((uint32_t)0x00000001) +#define DFSDM_CHANNEL_1 ((uint32_t)0x00010002) +#define DFSDM_CHANNEL_2 ((uint32_t)0x00020004) +#define DFSDM_CHANNEL_3 ((uint32_t)0x00030008) +#define DFSDM_CHANNEL_4 ((uint32_t)0x00040010) +#define DFSDM_CHANNEL_5 ((uint32_t)0x00050020) +#define DFSDM_CHANNEL_6 ((uint32_t)0x00060040) +#define DFSDM_CHANNEL_7 ((uint32_t)0x00070080) +/** + * @} + */ + +/** @defgroup DFSDM_ContinuousMode DFSDM Continuous Mode + * @{ + */ +#define DFSDM_CONTINUOUS_CONV_OFF ((uint32_t)0x00000000) /*!< Conversion are not continuous */ +#define DFSDM_CONTINUOUS_CONV_ON ((uint32_t)0x00000001) /*!< Conversion are continuous */ +/** + * @} + */ + +/** @defgroup DFSDM_AwdThreshold DFSDM analog watchdog threshold + * @{ + */ +#define DFSDM_AWD_HIGH_THRESHOLD ((uint32_t)0x00000000) /*!< Analog watchdog high threshold */ +#define DFSDM_AWD_LOW_THRESHOLD ((uint32_t)0x00000001) /*!< Analog watchdog low threshold */ +/** + * @} + */ + +/** + * @} + */ +/* End of exported constants -------------------------------------------------*/ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup DFSDM_Exported_Macros DFSDM Exported Macros + * @{ + */ + +/** @brief Reset DFSDM channel handle state. + * @param __HANDLE__: DFSDM channel handle. + * @retval None + */ +#define __HAL_DFSDM_CHANNEL_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DFSDM_CHANNEL_STATE_RESET) + +/** @brief Reset DFSDM filter handle state. + * @param __HANDLE__: DFSDM filter handle. + * @retval None + */ +#define __HAL_DFSDM_FILTER_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DFSDM_FILTER_STATE_RESET) + +/** + * @} + */ +/* End of exported macros -----------------------------------------------------------*/ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup DFSDM_Exported_Functions DFSDM Exported Functions + * @{ + */ + +/** @addtogroup DFSDM_Exported_Functions_Group1_Channel Channel initialization and de-initialization functions + * @{ + */ +/* Channel initialization and de-initialization functions *********************/ +HAL_StatusTypeDef HAL_DFSDM_ChannelInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +HAL_StatusTypeDef HAL_DFSDM_ChannelDeInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +void HAL_DFSDM_ChannelMspInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +void HAL_DFSDM_ChannelMspDeInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +/** + * @} + */ + +/** @addtogroup DFSDM_Exported_Functions_Group2_Channel Channel operation functions + * @{ + */ +/* Channel operation functions ************************************************/ +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStart(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStart_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStop(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStop_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); + +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStart(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Threshold, uint32_t BreakSignal); +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStart_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Threshold, uint32_t BreakSignal); +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStop(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStop_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); + +int16_t HAL_DFSDM_ChannelGetAwdValue(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +HAL_StatusTypeDef HAL_DFSDM_ChannelModifyOffset(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, int32_t Offset); + +HAL_StatusTypeDef HAL_DFSDM_ChannelPollForCkab(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Timeout); +HAL_StatusTypeDef HAL_DFSDM_ChannelPollForScd(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Timeout); + +void HAL_DFSDM_ChannelCkabCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +void HAL_DFSDM_ChannelScdCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group3_Channel Channel state function + * @{ + */ +/* Channel state function *****************************************************/ +HAL_DFSDM_Channel_StateTypeDef HAL_DFSDM_ChannelGetState(DFSDM_Channel_HandleTypeDef *hdfsdm_channel); +/** + * @} + */ + +/** @addtogroup DFSDM_Exported_Functions_Group1_Filter Filter initialization and de-initialization functions + * @{ + */ +/* Filter initialization and de-initialization functions *********************/ +HAL_StatusTypeDef HAL_DFSDM_FilterInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterDeInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +void HAL_DFSDM_FilterMspInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +void HAL_DFSDM_FilterMspDeInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +/** + * @} + */ + +/** @addtogroup DFSDM_Exported_Functions_Group2_Filter Filter control functions + * @{ + */ +/* Filter control functions *********************/ +HAL_StatusTypeDef HAL_DFSDM_FilterConfigRegChannel(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Channel, + uint32_t ContinuousMode); +HAL_StatusTypeDef HAL_DFSDM_FilterConfigInjChannel(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Channel); +/** + * @} + */ + +/** @addtogroup DFSDM_Exported_Functions_Group3_Filter Filter operation functions + * @{ + */ +/* Filter operation functions *********************/ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int32_t *pData, uint32_t Length); +HAL_StatusTypeDef HAL_DFSDM_FilterRegularMsbStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int16_t *pData, uint32_t Length); +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int32_t *pData, uint32_t Length); +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedMsbStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int16_t *pData, uint32_t Length); +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterAwdStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + DFSDM_Filter_AwdParamTypeDef* awdParam); +HAL_StatusTypeDef HAL_DFSDM_FilterAwdStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +HAL_StatusTypeDef HAL_DFSDM_FilterExdStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Channel); +HAL_StatusTypeDef HAL_DFSDM_FilterExdStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); + +int32_t HAL_DFSDM_FilterGetRegularValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel); +int32_t HAL_DFSDM_FilterGetInjectedValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel); +int32_t HAL_DFSDM_FilterGetExdMaxValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel); +int32_t HAL_DFSDM_FilterGetExdMinValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel); +uint32_t HAL_DFSDM_FilterGetConvTimeValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); + +void HAL_DFSDM_IRQHandler(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); + +HAL_StatusTypeDef HAL_DFSDM_FilterPollForRegConversion(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Timeout); +HAL_StatusTypeDef HAL_DFSDM_FilterPollForInjConversion(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Timeout); + +void HAL_DFSDM_FilterRegConvCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +void HAL_DFSDM_FilterRegConvHalfCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +void HAL_DFSDM_FilterInjConvCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +void HAL_DFSDM_FilterInjConvHalfCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +void HAL_DFSDM_FilterAwdCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Channel, uint32_t Threshold); +void HAL_DFSDM_FilterErrorCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group4_Filter Filter state functions + * @{ + */ +/* Filter state functions *****************************************************/ +HAL_DFSDM_Filter_StateTypeDef HAL_DFSDM_FilterGetState(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +uint32_t HAL_DFSDM_FilterGetError(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +/** + * @} + */ + +/** + * @} + */ +/* End of exported functions -------------------------------------------------*/ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup DFSDM_Private_Macros DFSDM Private Macros +* @{ +*/ +#define IS_DFSDM_CHANNEL_OUTPUT_CLOCK(CLOCK) (((CLOCK) == DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM) || \ + ((CLOCK) == DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO)) +#define IS_DFSDM_CHANNEL_OUTPUT_CLOCK_DIVIDER(DIVIDER) ((2 <= (DIVIDER)) && ((DIVIDER) <= 256)) +#define IS_DFSDM_CHANNEL_INPUT(INPUT) (((INPUT) == DFSDM_CHANNEL_EXTERNAL_INPUTS) || \ + ((INPUT) == DFSDM_CHANNEL_ADC_OUTPUT) || \ + ((INPUT) == DFSDM_CHANNEL_INTERNAL_REGISTER)) +#define IS_DFSDM_CHANNEL_DATA_PACKING(MODE) (((MODE) == DFSDM_CHANNEL_STANDARD_MODE) || \ + ((MODE) == DFSDM_CHANNEL_INTERLEAVED_MODE) || \ + ((MODE) == DFSDM_CHANNEL_DUAL_MODE)) +#define IS_DFSDM_CHANNEL_INPUT_PINS(PINS) (((PINS) == DFSDM_CHANNEL_SAME_CHANNEL_PINS) || \ + ((PINS) == DFSDM_CHANNEL_FOLLOWING_CHANNEL_PINS)) +#define IS_DFSDM_CHANNEL_SERIAL_INTERFACE_TYPE(MODE) (((MODE) == DFSDM_CHANNEL_SPI_RISING) || \ + ((MODE) == DFSDM_CHANNEL_SPI_FALLING) || \ + ((MODE) == DFSDM_CHANNEL_MANCHESTER_RISING) || \ + ((MODE) == DFSDM_CHANNEL_MANCHESTER_FALLING)) +#define IS_DFSDM_CHANNEL_SPI_CLOCK(TYPE) (((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_EXTERNAL) || \ + ((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_INTERNAL) || \ + ((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_FALLING) || \ + ((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_RISING)) +#define IS_DFSDM_CHANNEL_FILTER_ORDER(ORDER) (((ORDER) == DFSDM_CHANNEL_FASTSINC_ORDER) || \ + ((ORDER) == DFSDM_CHANNEL_SINC1_ORDER) || \ + ((ORDER) == DFSDM_CHANNEL_SINC2_ORDER) || \ + ((ORDER) == DFSDM_CHANNEL_SINC3_ORDER)) +#define IS_DFSDM_CHANNEL_FILTER_OVS_RATIO(RATIO) ((1 <= (RATIO)) && ((RATIO) <= 32)) +#define IS_DFSDM_CHANNEL_OFFSET(VALUE) ((-8388608 <= (VALUE)) && ((VALUE) <= 8388607)) +#define IS_DFSDM_CHANNEL_RIGHT_BIT_SHIFT(VALUE) ((VALUE) <= 0x1F) +#define IS_DFSDM_CHANNEL_SCD_THRESHOLD(VALUE) ((VALUE) <= 0xFF) +#define IS_DFSDM_FILTER_REG_TRIGGER(TRIG) (((TRIG) == DFSDM_FILTER_SW_TRIGGER) || \ + ((TRIG) == DFSDM_FILTER_SYNC_TRIGGER)) +#define IS_DFSDM_FILTER_INJ_TRIGGER(TRIG) (((TRIG) == DFSDM_FILTER_SW_TRIGGER) || \ + ((TRIG) == DFSDM_FILTER_SYNC_TRIGGER) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIGGER)) +#define IS_DFSDM_FILTER_EXT_TRIG(TRIG) (((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM1_TRGO) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM1_TRGO2) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM8_TRGO) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM8_TRGO2) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM3_TRGO) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM4_TRGO) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM16_OC1) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM6_TRGO) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM7_TRGO) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_HRTIM1_ADCTRG1) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_HRTIM1_ADCTRG3) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_EXTI11) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_EXTI15) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_LPTIM1) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_LPTIM2) || \ + ((TRIG) == DFSDM_FILTER_EXT_TRIG_LPTIM3)) +#define IS_DFSDM_FILTER_EXT_TRIG_EDGE(EDGE) (((EDGE) == DFSDM_FILTER_EXT_TRIG_RISING_EDGE) || \ + ((EDGE) == DFSDM_FILTER_EXT_TRIG_FALLING_EDGE) || \ + ((EDGE) == DFSDM_FILTER_EXT_TRIG_BOTH_EDGES)) +#define IS_DFSDM_FILTER_SINC_ORDER(ORDER) (((ORDER) == DFSDM_FILTER_FASTSINC_ORDER) || \ + ((ORDER) == DFSDM_FILTER_SINC1_ORDER) || \ + ((ORDER) == DFSDM_FILTER_SINC2_ORDER) || \ + ((ORDER) == DFSDM_FILTER_SINC3_ORDER) || \ + ((ORDER) == DFSDM_FILTER_SINC4_ORDER) || \ + ((ORDER) == DFSDM_FILTER_SINC5_ORDER)) +#define IS_DFSDM_FILTER_OVS_RATIO(RATIO) ((1 <= (RATIO)) && ((RATIO) <= 1024)) +#define IS_DFSDM_FILTER_INTEGRATOR_OVS_RATIO(RATIO) ((1 <= (RATIO)) && ((RATIO) <= 256)) +#define IS_DFSDM_FILTER_AWD_DATA_SOURCE(DATA) (((DATA) == DFSDM_FILTER_AWD_FILTER_DATA) || \ + ((DATA) == DFSDM_FILTER_AWD_CHANNEL_DATA)) +#define IS_DFSDM_FILTER_AWD_THRESHOLD(VALUE) ((-8388608 <= (VALUE)) && ((VALUE) <= 8388607)) +#define IS_DFSDM_BREAK_SIGNALS(VALUE) ((VALUE) <= 0xF) +#define IS_DFSDM_REGULAR_CHANNEL(CHANNEL) (((CHANNEL) == DFSDM_CHANNEL_0) || \ + ((CHANNEL) == DFSDM_CHANNEL_1) || \ + ((CHANNEL) == DFSDM_CHANNEL_2) || \ + ((CHANNEL) == DFSDM_CHANNEL_3) || \ + ((CHANNEL) == DFSDM_CHANNEL_4) || \ + ((CHANNEL) == DFSDM_CHANNEL_5) || \ + ((CHANNEL) == DFSDM_CHANNEL_6) || \ + ((CHANNEL) == DFSDM_CHANNEL_7)) +#define IS_DFSDM_INJECTED_CHANNEL(CHANNEL) (((CHANNEL) != 0) && ((CHANNEL) <= 0x000F00FF)) +#define IS_DFSDM_CONTINUOUS_MODE(MODE) (((MODE) == DFSDM_CONTINUOUS_CONV_OFF) || \ + ((MODE) == DFSDM_CONTINUOUS_CONV_ON)) +/** +* @} +*/ +/* End of private macros ------------------------------------------------------------*/ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_DFSDM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h new file mode 100644 index 0000000000..c63db996a9 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h @@ -0,0 +1,1118 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dma.h + * @author MCD Application Team + * @brief Header file of DMA HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DMA_H +#define __STM32H7xx_HAL_DMA_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DMA + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup DMA_Exported_Types DMA Exported Types + * @brief DMA Exported Types + * @{ + */ + +/** + * @brief DMA Configuration Structure definition + */ +typedef struct +{ + uint32_t Request; /*!< Specifies the request selected for the specified stream. + This parameter can be a value of @ref DMA_Request_selection */ + + uint32_t Direction; /*!< Specifies if the data will be transferred from memory to peripheral, + from memory to memory or from peripheral to memory. + This parameter can be a value of @ref DMA_Data_transfer_direction */ + + uint32_t PeriphInc; /*!< Specifies whether the Peripheral address register should be incremented or not. + This parameter can be a value of @ref DMA_Peripheral_incremented_mode */ + + uint32_t MemInc; /*!< Specifies whether the memory address register should be incremented or not. + This parameter can be a value of @ref DMA_Memory_incremented_mode */ + + uint32_t PeriphDataAlignment; /*!< Specifies the Peripheral data width. + This parameter can be a value of @ref DMA_Peripheral_data_size */ + + uint32_t MemDataAlignment; /*!< Specifies the Memory data width. + This parameter can be a value of @ref DMA_Memory_data_size */ + + uint32_t Mode; /*!< Specifies the operation mode of the DMAy Streamx. + This parameter can be a value of @ref DMA_mode + @note The circular buffer mode cannot be used if the memory-to-memory + data transfer is configured on the selected Stream */ + + uint32_t Priority; /*!< Specifies the software priority for the DMAy Streamx. + This parameter can be a value of @ref DMA_Priority_level */ + + uint32_t FIFOMode; /*!< Specifies if the FIFO mode or Direct mode will be used for the specified stream. + This parameter can be a value of @ref DMA_FIFO_direct_mode + @note The Direct mode (FIFO mode disabled) cannot be used if the + memory-to-memory data transfer is configured on the selected stream */ + + uint32_t FIFOThreshold; /*!< Specifies the FIFO threshold level. + This parameter can be a value of @ref DMA_FIFO_threshold_level */ + + uint32_t MemBurst; /*!< Specifies the Burst transfer configuration for the memory transfers. + It specifies the amount of data to be transferred in a single non interruptible + transaction. + This parameter can be a value of @ref DMA_Memory_burst + @note The burst mode is possible only if the address Increment mode is enabled. */ + + uint32_t PeriphBurst; /*!< Specifies the Burst transfer configuration for the peripheral transfers. + It specifies the amount of data to be transferred in a single non interruptible + transaction. + This parameter can be a value of @ref DMA_Peripheral_burst + @note The burst mode is possible only if the address Increment mode is enabled. */ +}DMA_InitTypeDef; + +/** + * @brief HAL DMA State structures definition + */ +typedef enum +{ + HAL_DMA_STATE_RESET = 0x00U, /*!< DMA not yet initialized or disabled */ + HAL_DMA_STATE_READY = 0x01U, /*!< DMA initialized and ready for use */ + HAL_DMA_STATE_BUSY = 0x02U, /*!< DMA process is ongoing */ + HAL_DMA_STATE_ERROR = 0x03U, /*!< DMA error state */ + HAL_DMA_STATE_ABORT = 0x04U, /*!< DMA Abort state */ +}HAL_DMA_StateTypeDef; + +/** + * @brief HAL DMA Transfer complete level structure definition + */ +typedef enum +{ + HAL_DMA_FULL_TRANSFER = 0x00U, /*!< Full transfer */ + HAL_DMA_HALF_TRANSFER = 0x01U, /*!< Half Transfer */ +}HAL_DMA_LevelCompleteTypeDef; + +/** + * @brief HAL DMA Callbacks IDs structure definition + */ +typedef enum +{ + HAL_DMA_XFER_CPLT_CB_ID = 0x00U, /*!< Full transfer */ + HAL_DMA_XFER_HALFCPLT_CB_ID = 0x01U, /*!< Half Transfer */ + HAL_DMA_XFER_M1CPLT_CB_ID = 0x02U, /*!< M1 Full Transfer */ + HAL_DMA_XFER_M1HALFCPLT_CB_ID = 0x03U, /*!< M1 Half Transfer */ + HAL_DMA_XFER_ERROR_CB_ID = 0x04U, /*!< Error */ + HAL_DMA_XFER_ABORT_CB_ID = 0x05U, /*!< Abort */ + HAL_DMA_XFER_ALL_CB_ID = 0x06U /*!< All */ +}HAL_DMA_CallbackIDTypeDef; + +/** + * @brief DMA handle Structure definition + */ +typedef struct __DMA_HandleTypeDef +{ + void *Instance; /*!< Register base address */ + + DMA_InitTypeDef Init; /*!< DMA communication parameters */ + + HAL_LockTypeDef Lock; /*!< DMA locking object */ + + __IO HAL_DMA_StateTypeDef State; /*!< DMA transfer state */ + + void *Parent; /*!< Parent object state */ + + void (* XferCpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer complete callback */ + + void (* XferHalfCpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA Half transfer complete callback */ + + void (* XferM1CpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer complete Memory1 callback */ + + void (* XferM1HalfCpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer Half complete Memory1 callback */ + + void (* XferErrorCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer error callback */ + + void (* XferAbortCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer Abort callback */ + + __IO uint32_t ErrorCode; /*!< DMA Error code */ + + uint32_t StreamBaseAddress; /*!< DMA Stream Base Address */ + + uint32_t StreamIndex; /*!< DMA Stream Index */ + + DMAMUX_Channel_TypeDef *DMAmuxChannel; /*!< DMAMUX Channel Base Address */ + + DMAMUX_ChannelStatus_TypeDef *DMAmuxChannelStatus; /*!< DMAMUX Channels Status Base Address */ + + uint32_t DMAmuxChannelStatusMask; /*!< DMAMUX Channel Status Mask */ + + + DMAMUX_RequestGen_TypeDef *DMAmuxRequestGen; /*!< DMAMUX request generator Base Address */ + + DMAMUX_RequestGenStatus_TypeDef *DMAmuxRequestGenStatus; /*!< DMAMUX request generator Status Address */ + + uint32_t DMAmuxRequestGenStatusMask; /*!< DMAMUX request generator Status mask */ + +}DMA_HandleTypeDef; + +/** + * @} + */ + + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup DMA_Exported_Constants DMA Exported Constants + * @brief DMA Exported constants + * @{ + */ + +/** @defgroup DMA_Error_Code DMA Error Code + * @brief DMA Error Code + * @{ + */ +#define HAL_DMA_ERROR_NONE (0x00000000U) /*!< No error */ +#define HAL_DMA_ERROR_TE (0x00000001U) /*!< Transfer error */ +#define HAL_DMA_ERROR_FE (0x00000002U) /*!< FIFO error */ +#define HAL_DMA_ERROR_DME (0x00000004U) /*!< Direct Mode error */ +#define HAL_DMA_ERROR_TIMEOUT (0x00000020U) /*!< Timeout error */ +#define HAL_DMA_ERROR_PARAM (0x00000040U) /*!< Parameter error */ +#define HAL_DMA_ERROR_NO_XFER (0x00000080U) /*!< Abort requested with no Xfer ongoing */ +#define HAL_DMA_ERROR_NOT_SUPPORTED (0x00000100U) /*!< Not supported mode */ +#define HAL_DMA_ERROR_SYNC (0x00000200U) /*!< DMAMUX sync overrun error */ +#define HAL_DMA_ERROR_REQGEN (0x00000400U) /*!< DMAMUX request generator overrun error */ +#define HAL_DMA_ERROR_BUSY (0x00000800U) /*!< DMA Busy error */ + +/** + * @} + */ + +/** @defgroup DMA_Request_selection DMA Request selection + * @brief DMA Request selection + * @{ + */ +/* D2 Domain : DMAMUX1 requests */ +#define DMA_REQUEST_MEM2MEM 0U /*!< memory to memory transfer */ + +#define DMA_REQUEST_GENERATOR0 1U /*!< DMAMUX1 request generator 0 */ +#define DMA_REQUEST_GENERATOR1 2U /*!< DMAMUX1 request generator 1 */ +#define DMA_REQUEST_GENERATOR2 3U /*!< DMAMUX1 request generator 2 */ +#define DMA_REQUEST_GENERATOR3 4U /*!< DMAMUX1 request generator 3 */ +#define DMA_REQUEST_GENERATOR4 5U /*!< DMAMUX1 request generator 4 */ +#define DMA_REQUEST_GENERATOR5 6U /*!< DMAMUX1 request generator 5 */ +#define DMA_REQUEST_GENERATOR6 7U /*!< DMAMUX1 request generator 6 */ +#define DMA_REQUEST_GENERATOR7 8U /*!< DMAMUX1 request generator 7 */ + +#define DMA_REQUEST_ADC1 9U /*!< DMAMUX1 ADC1 request */ +#define DMA_REQUEST_ADC2 10U /*!< DMAMUX1 ADC2 request */ + +#define DMA_REQUEST_TIM1_CH1 11U /*!< DMAMUX1 TIM1 CH1 request */ +#define DMA_REQUEST_TIM1_CH2 12U /*!< DMAMUX1 TIM1 CH2 request */ +#define DMA_REQUEST_TIM1_CH3 13U /*!< DMAMUX1 TIM1 CH3 request */ +#define DMA_REQUEST_TIM1_CH4 14U /*!< DMAMUX1 TIM1 CH4 request */ +#define DMA_REQUEST_TIM1_UP 15U /*!< DMAMUX1 TIM1 UP request */ +#define DMA_REQUEST_TIM1_TRIG 16U /*!< DMAMUX1 TIM1 TRIG request */ +#define DMA_REQUEST_TIM1_COM 17U /*!< DMAMUX1 TIM1 COM request */ + +#define DMA_REQUEST_TIM2_CH1 18U /*!< DMAMUX1 TIM2 CH1 request */ +#define DMA_REQUEST_TIM2_CH2 19U /*!< DMAMUX1 TIM2 CH2 request */ +#define DMA_REQUEST_TIM2_CH3 20U /*!< DMAMUX1 TIM2 CH3 request */ +#define DMA_REQUEST_TIM2_CH4 21U /*!< DMAMUX1 TIM2 CH4 request */ +#define DMA_REQUEST_TIM2_UP 22U /*!< DMAMUX1 TIM2 UP request */ + +#define DMA_REQUEST_TIM3_CH1 23U /*!< DMAMUX1 TIM3 CH1 request */ +#define DMA_REQUEST_TIM3_CH2 24U /*!< DMAMUX1 TIM3 CH2 request */ +#define DMA_REQUEST_TIM3_CH3 25U /*!< DMAMUX1 TIM3 CH3 request */ +#define DMA_REQUEST_TIM3_CH4 26U /*!< DMAMUX1 TIM3 CH4 request */ +#define DMA_REQUEST_TIM3_UP 27U /*!< DMAMUX1 TIM3 UP request */ +#define DMA_REQUEST_TIM3_TRIG 28U /*!< DMAMUX1 TIM3 TRIG request */ + +#define DMA_REQUEST_TIM4_CH1 29U /*!< DMAMUX1 TIM4 CH1 request */ +#define DMA_REQUEST_TIM4_CH2 30U /*!< DMAMUX1 TIM4 CH2 request */ +#define DMA_REQUEST_TIM4_CH3 31U /*!< DMAMUX1 TIM4 CH3 request */ +#define DMA_REQUEST_TIM4_UP 32U /*!< DMAMUX1 TIM4 UP request */ + +#define DMA_REQUEST_I2C1_RX 33U /*!< DMAMUX1 I2C1 RX request */ +#define DMA_REQUEST_I2C1_TX 34U /*!< DMAMUX1 I2C1 TX request */ +#define DMA_REQUEST_I2C2_RX 35U /*!< DMAMUX1 I2C2 RX request */ +#define DMA_REQUEST_I2C2_TX 36U /*!< DMAMUX1 I2C2 TX request */ + +#define DMA_REQUEST_SPI1_RX 37U /*!< DMAMUX1 SPI1 RX request */ +#define DMA_REQUEST_SPI1_TX 38U /*!< DMAMUX1 SPI1 TX request */ +#define DMA_REQUEST_SPI2_RX 39U /*!< DMAMUX1 SPI2 RX request */ +#define DMA_REQUEST_SPI2_TX 40U /*!< DMAMUX1 SPI2 TX request */ + +#define DMA_REQUEST_USART1_RX 41U /*!< DMAMUX1 USART1 RX request */ +#define DMA_REQUEST_USART1_TX 42U /*!< DMAMUX1 USART1 TX request */ +#define DMA_REQUEST_USART2_RX 43U /*!< DMAMUX1 USART2 RX request */ +#define DMA_REQUEST_USART2_TX 44U /*!< DMAMUX1 USART2 TX request */ +#define DMA_REQUEST_USART3_RX 45U /*!< DMAMUX1 USART3 RX request */ +#define DMA_REQUEST_USART3_TX 46U /*!< DMAMUX1 USART3 TX request */ + +#define DMA_REQUEST_TIM8_CH1 47U /*!< DMAMUX1 TIM8 CH1 request */ +#define DMA_REQUEST_TIM8_CH2 48U /*!< DMAMUX1 TIM8 CH2 request */ +#define DMA_REQUEST_TIM8_CH3 49U /*!< DMAMUX1 TIM8 CH3 request */ +#define DMA_REQUEST_TIM8_CH4 50U /*!< DMAMUX1 TIM8 CH4 request */ +#define DMA_REQUEST_TIM8_UP 51U /*!< DMAMUX1 TIM8 UP request */ +#define DMA_REQUEST_TIM8_TRIG 52U /*!< DMAMUX1 TIM8 TRIG request */ +#define DMA_REQUEST_TIM8_COM 53U /*!< DMAMUX1 TIM8 COM request */ + +#define DMA_REQUEST_TIM5_CH1 55U /*!< DMAMUX1 TIM5 CH1 request */ +#define DMA_REQUEST_TIM5_CH2 56U /*!< DMAMUX1 TIM5 CH2 request */ +#define DMA_REQUEST_TIM5_CH3 57U /*!< DMAMUX1 TIM5 CH3 request */ +#define DMA_REQUEST_TIM5_CH4 58U /*!< DMAMUX1 TIM5 CH4 request */ +#define DMA_REQUEST_TIM5_UP 59U /*!< DMAMUX1 TIM5 UP request */ +#define DMA_REQUEST_TIM5_TRIG 60U /*!< DMAMUX1 TIM5 TRIG request */ + +#define DMA_REQUEST_SPI3_RX 61U /*!< DMAMUX1 SPI3 RX request */ +#define DMA_REQUEST_SPI3_TX 62U /*!< DMAMUX1 SPI3 TX request */ + +#define DMA_REQUEST_UART4_RX 63U /*!< DMAMUX1 UART4 RX request */ +#define DMA_REQUEST_UART4_TX 64U /*!< DMAMUX1 UART4 TX request */ +#define DMA_REQUEST_UART5_RX 65U /*!< DMAMUX1 UART5 RX request */ +#define DMA_REQUEST_UART5_TX 66U /*!< DMAMUX1 UART5 TX request */ + +#define DMA_REQUEST_DAC1_CH1 67U /*!< DMAMUX1 DAC1 Channel 1 request */ +#define DMA_REQUEST_DAC1_CH2 68U /*!< DMAMUX1 DAC1 Channel 2 request */ + +#define DMA_REQUEST_TIM6_UP 69U /*!< DMAMUX1 TIM6 UP request */ +#define DMA_REQUEST_TIM7_UP 70U /*!< DMAMUX1 TIM7 UP request */ + +#define DMA_REQUEST_USART6_RX 71U /*!< DMAMUX1 USART6 RX request */ +#define DMA_REQUEST_USART6_TX 72U /*!< DMAMUX1 USART6 TX request */ + +#define DMA_REQUEST_I2C3_RX 73U /*!< DMAMUX1 I2C3 RX request */ +#define DMA_REQUEST_I2C3_TX 74U /*!< DMAMUX1 I2C3 TX request */ + +#define DMA_REQUEST_DCMI 75U /*!< DMAMUX1 DCMI request */ + +#define DMA_REQUEST_CRYP_IN 76U /*!< DMAMUX1 CRYP IN request */ +#define DMA_REQUEST_CRYP_OUT 77U /*!< DMAMUX1 CRYP OUT request */ + +#define DMA_REQUEST_HASH_IN 78U /*!< DMAMUX1 HASH IN request */ + +#define DMA_REQUEST_UART7_RX 79U /*!< DMAMUX1 UART7 RX request */ +#define DMA_REQUEST_UART7_TX 80U /*!< DMAMUX1 UART7 TX request */ +#define DMA_REQUEST_UART8_RX 81U /*!< DMAMUX1 UART8 RX request */ +#define DMA_REQUEST_UART8_TX 82U /*!< DMAMUX1 UART8 TX request */ + +#define DMA_REQUEST_SPI4_RX 83U /*!< DMAMUX1 SPI4 RX request */ +#define DMA_REQUEST_SPI4_TX 84U /*!< DMAMUX1 SPI4 TX request */ +#define DMA_REQUEST_SPI5_RX 85U /*!< DMAMUX1 SPI5 RX request */ +#define DMA_REQUEST_SPI5_TX 86U /*!< DMAMUX1 SPI5 TX request */ + +#define DMA_REQUEST_SAI1_A 87U /*!< DMAMUX1 SAI1 A request */ +#define DMA_REQUEST_SAI1_B 88U /*!< DMAMUX1 SAI1 B request */ +#define DMA_REQUEST_SAI2_A 89U /*!< DMAMUX1 SAI2 A request */ +#define DMA_REQUEST_SAI2_B 90U /*!< DMAMUX1 SAI2 B request */ + +#define DMA_REQUEST_SWPMI_RX 91U /*!< DMAMUX1 SWPMI RX request */ +#define DMA_REQUEST_SWPMI_TX 92U /*!< DMAMUX1 SWPMI TX request */ + +#define DMA_REQUEST_SPDIF_RX_DT 93U /*!< DMAMUX1 SPDIF RXDT request*/ +#define DMA_REQUEST_SPDIF_RX_CS 94U /*!< DMAMUX1 SPDIF RXCS request*/ + +#define DMA_REQUEST_HRTIM_MASTER 95U /*!< DMAMUX1 HRTIM1 Master request 1 */ +#define DMA_REQUEST_HRTIM_TIMER_A 96U /*!< DMAMUX1 HRTIM1 TimerA request 2 */ +#define DMA_REQUEST_HRTIM_TIMER_B 97U /*!< DMAMUX1 HRTIM1 TimerB request 3 */ +#define DMA_REQUEST_HRTIM_TIMER_C 98U /*!< DMAMUX1 HRTIM1 TimerC request 4 */ +#define DMA_REQUEST_HRTIM_TIMER_D 99U /*!< DMAMUX1 HRTIM1 TimerD request 5 */ +#define DMA_REQUEST_HRTIM_TIMER_E 100U /*!< DMAMUX1 HRTIM1 TimerE request 6 */ + +#define DMA_REQUEST_DFSDM1_FLT0 101U /*!< DMAMUX1 DFSDM Filter0 request */ +#define DMA_REQUEST_DFSDM1_FLT1 102U /*!< DMAMUX1 DFSDM Filter1 request */ +#define DMA_REQUEST_DFSDM1_FLT2 103U /*!< DMAMUX1 DFSDM Filter2 request */ +#define DMA_REQUEST_DFSDM1_FLT3 104U /*!< DMAMUX1 DFSDM Filter3 request */ + +#define DMA_REQUEST_TIM15_CH1 105U /*!< DMAMUX1 TIM15 CH1 request */ +#define DMA_REQUEST_TIM15_UP 106U /*!< DMAMUX1 TIM15 UP request */ +#define DMA_REQUEST_TIM15_TRIG 107U /*!< DMAMUX1 TIM15 TRIG request */ +#define DMA_REQUEST_TIM15_COM 108U /*!< DMAMUX1 TIM15 COM request */ + +#define DMA_REQUEST_TIM16_CH1 109U /*!< DMAMUX1 TIM16 CH1 request */ +#define DMA_REQUEST_TIM16_UP 110U /*!< DMAMUX1 TIM16 UP request */ + +#define DMA_REQUEST_TIM17_CH1 111U /*!< DMAMUX1 TIM17 CH1 request */ +#define DMA_REQUEST_TIM17_UP 112U /*!< DMAMUX1 TIM17 UP request */ + +#define DMA_REQUEST_SAI3_A 113U /*!< DMAMUX1 SAI3 A request */ +#define DMA_REQUEST_SAI3_B 114U /*!< DMAMUX1 SAI3 B request */ + +#define DMA_REQUEST_ADC3 115U /*!< DMAMUX1 ADC3 request */ + + +/* D3 Domain : DMAMUX2 requests */ +#define BDMA_REQUEST_MEM2MEM 0U /*!< memory to memory transfer */ +#define BDMA_REQUEST_GENERATOR0 1U /*!< DMAMUX2 request generator 0 */ +#define BDMA_REQUEST_GENERATOR1 2U /*!< DMAMUX2 request generator 1 */ +#define BDMA_REQUEST_GENERATOR2 3U /*!< DMAMUX2 request generator 2 */ +#define BDMA_REQUEST_GENERATOR3 4U /*!< DMAMUX2 request generator 3 */ +#define BDMA_REQUEST_GENERATOR4 5U /*!< DMAMUX2 request generator 4 */ +#define BDMA_REQUEST_GENERATOR5 6U /*!< DMAMUX2 request generator 5 */ +#define BDMA_REQUEST_GENERATOR6 7U /*!< DMAMUX2 request generator 6 */ +#define BDMA_REQUEST_GENERATOR7 8U /*!< DMAMUX2 request generator 7 */ +#define BDMA_REQUEST_LPUART1_RX 9U /*!< DMAMUX2 LP_UART1_RX request */ +#define BDMA_REQUEST_LPUART1_TX 10U /*!< DMAMUX2 LP_UART1_TX request */ +#define BDMA_REQUEST_SPI6_RX 11U /*!< DMAMUX2 SPI6 RX request */ +#define BDMA_REQUEST_SPI6_TX 12U /*!< DMAMUX2 SPI6 TX request */ +#define BDMA_REQUEST_I2C4_RX 13U /*!< DMAMUX2 I2C4 RX request */ +#define BDMA_REQUEST_I2C4_TX 14U /*!< DMAMUX2 I2C4 TX request */ +#define BDMA_REQUEST_SAI4_A 15U /*!< DMAMUX2 SAI4 A request */ +#define BDMA_REQUEST_SAI4_B 16U /*!< DMAMUX2 SAI4 B request */ +#define BDMA_REQUEST_ADC3 17U /*!< DMAMUX2 ADC3 request */ + +/** + * @} + */ + +/** @defgroup DMA_Data_transfer_direction DMA Data transfer direction + * @brief DMA data transfer direction + * @{ + */ +#define DMA_PERIPH_TO_MEMORY ((uint32_t)0x00000000U) /*!< Peripheral to memory direction */ +#define DMA_MEMORY_TO_PERIPH ((uint32_t)DMA_SxCR_DIR_0) /*!< Memory to peripheral direction */ +#define DMA_MEMORY_TO_MEMORY ((uint32_t)DMA_SxCR_DIR_1) /*!< Memory to memory direction */ +/** + * @} + */ + +/** @defgroup DMA_Peripheral_incremented_mode DMA Peripheral incremented mode + * @brief DMA peripheral incremented mode + * @{ + */ +#define DMA_PINC_ENABLE ((uint32_t)DMA_SxCR_PINC) /*!< Peripheral increment mode enable */ +#define DMA_PINC_DISABLE ((uint32_t)0x00000000U) /*!< Peripheral increment mode disable */ +/** + * @} + */ + +/** @defgroup DMA_Memory_incremented_mode DMA Memory incremented mode + * @brief DMA memory incremented mode + * @{ + */ +#define DMA_MINC_ENABLE ((uint32_t)DMA_SxCR_MINC) /*!< Memory increment mode enable */ +#define DMA_MINC_DISABLE ((uint32_t)0x00000000U) /*!< Memory increment mode disable */ +/** + * @} + */ + +/** @defgroup DMA_Peripheral_data_size DMA Peripheral data size + * @brief DMA peripheral data size + * @{ + */ +#define DMA_PDATAALIGN_BYTE ((uint32_t)0x00000000U) /*!< Peripheral data alignment: Byte */ +#define DMA_PDATAALIGN_HALFWORD ((uint32_t)DMA_SxCR_PSIZE_0) /*!< Peripheral data alignment: HalfWord */ +#define DMA_PDATAALIGN_WORD ((uint32_t)DMA_SxCR_PSIZE_1) /*!< Peripheral data alignment: Word */ +/** + * @} + */ + +/** @defgroup DMA_Memory_data_size DMA Memory data size + * @brief DMA memory data size + * @{ + */ +#define DMA_MDATAALIGN_BYTE ((uint32_t)0x00000000U) /*!< Memory data alignment: Byte */ +#define DMA_MDATAALIGN_HALFWORD ((uint32_t)DMA_SxCR_MSIZE_0) /*!< Memory data alignment: HalfWord */ +#define DMA_MDATAALIGN_WORD ((uint32_t)DMA_SxCR_MSIZE_1) /*!< Memory data alignment: Word */ +/** + * @} + */ + +/** @defgroup DMA_mode DMA mode + * @brief DMA mode + * @{ + */ +#define DMA_NORMAL ((uint32_t)0x00000000U) /*!< Normal mode */ +#define DMA_CIRCULAR ((uint32_t)DMA_SxCR_CIRC) /*!< Circular mode */ +#define DMA_PFCTRL ((uint32_t)DMA_SxCR_PFCTRL) /*!< Peripheral flow control mode */ +/** + * @} + */ + +/** @defgroup DMA_Priority_level DMA Priority level + * @brief DMA priority levels + * @{ + */ +#define DMA_PRIORITY_LOW ((uint32_t)0x00000000U) /*!< Priority level: Low */ +#define DMA_PRIORITY_MEDIUM ((uint32_t)DMA_SxCR_PL_0) /*!< Priority level: Medium */ +#define DMA_PRIORITY_HIGH ((uint32_t)DMA_SxCR_PL_1) /*!< Priority level: High */ +#define DMA_PRIORITY_VERY_HIGH ((uint32_t)DMA_SxCR_PL) /*!< Priority level: Very High */ +/** + * @} + */ + +/** @defgroup DMA_FIFO_direct_mode DMA FIFO direct mode + * @brief DMA FIFO direct mode + * @{ + */ +#define DMA_FIFOMODE_DISABLE ((uint32_t)0x00000000U) /*!< FIFO mode disable */ +#define DMA_FIFOMODE_ENABLE ((uint32_t)DMA_SxFCR_DMDIS) /*!< FIFO mode enable */ +/** + * @} + */ + +/** @defgroup DMA_FIFO_threshold_level DMA FIFO threshold level + * @brief DMA FIFO level + * @{ + */ +#define DMA_FIFO_THRESHOLD_1QUARTERFULL ((uint32_t)0x00000000U) /*!< FIFO threshold 1 quart full configuration */ +#define DMA_FIFO_THRESHOLD_HALFFULL ((uint32_t)DMA_SxFCR_FTH_0) /*!< FIFO threshold half full configuration */ +#define DMA_FIFO_THRESHOLD_3QUARTERSFULL ((uint32_t)DMA_SxFCR_FTH_1) /*!< FIFO threshold 3 quarts full configuration */ +#define DMA_FIFO_THRESHOLD_FULL ((uint32_t)DMA_SxFCR_FTH) /*!< FIFO threshold full configuration */ +/** + * @} + */ + +/** @defgroup DMA_Memory_burst DMA Memory burst + * @brief DMA memory burst + * @{ + */ +#define DMA_MBURST_SINGLE ((uint32_t)0x00000000U) +#define DMA_MBURST_INC4 ((uint32_t)DMA_SxCR_MBURST_0) +#define DMA_MBURST_INC8 ((uint32_t)DMA_SxCR_MBURST_1) +#define DMA_MBURST_INC16 ((uint32_t)DMA_SxCR_MBURST) +/** + * @} + */ + +/** @defgroup DMA_Peripheral_burst DMA Peripheral burst + * @brief DMA peripheral burst + * @{ + */ +#define DMA_PBURST_SINGLE ((uint32_t)0x00000000U) +#define DMA_PBURST_INC4 ((uint32_t)DMA_SxCR_PBURST_0) +#define DMA_PBURST_INC8 ((uint32_t)DMA_SxCR_PBURST_1) +#define DMA_PBURST_INC16 ((uint32_t)DMA_SxCR_PBURST) +/** + * @} + */ + +/** @defgroup DMA_interrupt_enable_definitions DMA interrupt enable definitions + * @brief DMA interrupts definition + * @{ + */ +#define DMA_IT_TC ((uint32_t)DMA_SxCR_TCIE) +#define DMA_IT_HT ((uint32_t)DMA_SxCR_HTIE) +#define DMA_IT_TE ((uint32_t)DMA_SxCR_TEIE) +#define DMA_IT_DME ((uint32_t)DMA_SxCR_DMEIE) +#define DMA_IT_FE ((uint32_t)0x00000080U) +/** + * @} + */ + +/** @defgroup DMA_flag_definitions DMA flag definitions + * @brief DMA flag definitions + * @{ + */ +#define DMA_FLAG_FEIF0_4 ((uint32_t)0x00800001U) +#define DMA_FLAG_DMEIF0_4 ((uint32_t)0x00800004U) +#define DMA_FLAG_TEIF0_4 ((uint32_t)0x00000008U) +#define DMA_FLAG_HTIF0_4 ((uint32_t)0x00000010U) +#define DMA_FLAG_TCIF0_4 ((uint32_t)0x00000020U) +#define DMA_FLAG_FEIF1_5 ((uint32_t)0x00000040U) +#define DMA_FLAG_DMEIF1_5 ((uint32_t)0x00000100U) +#define DMA_FLAG_TEIF1_5 ((uint32_t)0x00000200U) +#define DMA_FLAG_HTIF1_5 ((uint32_t)0x00000400U) +#define DMA_FLAG_TCIF1_5 ((uint32_t)0x00000800U) +#define DMA_FLAG_FEIF2_6 ((uint32_t)0x00010000U) +#define DMA_FLAG_DMEIF2_6 ((uint32_t)0x00040000U) +#define DMA_FLAG_TEIF2_6 ((uint32_t)0x00080000U) +#define DMA_FLAG_HTIF2_6 ((uint32_t)0x00100000U) +#define DMA_FLAG_TCIF2_6 ((uint32_t)0x00200000U) +#define DMA_FLAG_FEIF3_7 ((uint32_t)0x00400000U) +#define DMA_FLAG_DMEIF3_7 ((uint32_t)0x01000000U) +#define DMA_FLAG_TEIF3_7 ((uint32_t)0x02000000U) +#define DMA_FLAG_HTIF3_7 ((uint32_t)0x04000000U) +#define DMA_FLAG_TCIF3_7 ((uint32_t)0x08000000U) +/** + * @} + */ + +/** @defgroup BDMA_flag_definitions BDMA flag definitions + * @brief BDMA flag definitions + * @{ + */ +#define BDMA_FLAG_GL0 ((uint32_t)0x00000001) +#define BDMA_FLAG_TC0 ((uint32_t)0x00000002) +#define BDMA_FLAG_HT0 ((uint32_t)0x00000004) +#define BDMA_FLAG_TE0 ((uint32_t)0x00000008) +#define BDMA_FLAG_GL1 ((uint32_t)0x00000010) +#define BDMA_FLAG_TC1 ((uint32_t)0x00000020) +#define BDMA_FLAG_HT1 ((uint32_t)0x00000040) +#define BDMA_FLAG_TE1 ((uint32_t)0x00000080) +#define BDMA_FLAG_GL2 ((uint32_t)0x00000100) +#define BDMA_FLAG_TC2 ((uint32_t)0x00000200) +#define BDMA_FLAG_HT2 ((uint32_t)0x00000400) +#define BDMA_FLAG_TE2 ((uint32_t)0x00000800) +#define BDMA_FLAG_GL3 ((uint32_t)0x00001000) +#define BDMA_FLAG_TC3 ((uint32_t)0x00002000) +#define BDMA_FLAG_HT3 ((uint32_t)0x00004000) +#define BDMA_FLAG_TE3 ((uint32_t)0x00008000) +#define BDMA_FLAG_GL4 ((uint32_t)0x00010000) +#define BDMA_FLAG_TC4 ((uint32_t)0x00020000) +#define BDMA_FLAG_HT4 ((uint32_t)0x00040000) +#define BDMA_FLAG_TE4 ((uint32_t)0x00080000) +#define BDMA_FLAG_GL5 ((uint32_t)0x00100000) +#define BDMA_FLAG_TC5 ((uint32_t)0x00200000) +#define BDMA_FLAG_HT5 ((uint32_t)0x00400000) +#define BDMA_FLAG_TE5 ((uint32_t)0x00800000) +#define BDMA_FLAG_GL6 ((uint32_t)0x01000000) +#define BDMA_FLAG_TC6 ((uint32_t)0x02000000) +#define BDMA_FLAG_HT6 ((uint32_t)0x04000000) +#define BDMA_FLAG_TE6 ((uint32_t)0x08000000) +#define BDMA_FLAG_GL7 ((uint32_t)0x10000000) +#define BDMA_FLAG_TC7 ((uint32_t)0x20000000) +#define BDMA_FLAG_HT7 ((uint32_t)0x40000000) +#define BDMA_FLAG_TE7 ((uint32_t)0x80000000) + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup DMA_Exported_Macros DMA Exported Macros + * @{ + */ + +/** @brief Reset DMA handle state + * @param __HANDLE__: specifies the DMA handle. + * @retval None + */ +#define __HAL_DMA_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DMA_STATE_RESET) + +/** + * @brief Return the current DMA Stream FIFO filled level. + * @param __HANDLE__: DMA handle + * @retval The FIFO filling state. + * - DMA_FIFOStatus_Less1QuarterFull: when FIFO is less than 1 quarter-full + * and not empty. + * - DMA_FIFOStatus_1QuarterFull: if more than 1 quarter-full. + * - DMA_FIFOStatus_HalfFull: if more than 1 half-full. + * - DMA_FIFOStatus_3QuartersFull: if more than 3 quarters-full. + * - DMA_FIFOStatus_Empty: when FIFO is empty + * - DMA_FIFOStatus_Full: when FIFO is full + */ +#define __HAL_DMA_GET_FS(__HANDLE__) ((IS_D2_DMA_INSTANCE(__HANDLE__))? (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR & (DMA_SxFCR_FS)) : 0) + +/** + * @brief Enable the specified DMA Stream. + * @param __HANDLE__: DMA handle + * @retval None + */ +#define __HAL_DMA_ENABLE(__HANDLE__) \ +((IS_D2_DMA_INSTANCE(__HANDLE__))? (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR |= DMA_SxCR_EN) : \ +(((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR |= BDMA_CCR_EN)) + +/** + * @brief Disable the specified DMA Stream. + * @param __HANDLE__: DMA handle + * @retval None + */ +#define __HAL_DMA_DISABLE(__HANDLE__) \ +((IS_D2_DMA_INSTANCE(__HANDLE__))? (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR &= ~DMA_SxCR_EN) : \ +(((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR &= ~BDMA_CCR_EN)) + +/* Interrupt & Flag management */ + +/** + * @brief Return the current DMA Stream transfer complete flag. + * @param __HANDLE__: DMA handle + * @retval The specified transfer complete flag index. + */ +#define __HAL_DMA_GET_TC_FLAG_INDEX(__HANDLE__) \ +(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_TCIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_TCIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_TCIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_TCIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_TCIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_TCIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_TCIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_TCIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_TCIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_TCIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_TCIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_TCIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_TCIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_TCIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_TCIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_TCIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_FLAG_TC0 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_FLAG_TC1 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_FLAG_TC2 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_FLAG_TC3 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_FLAG_TC4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_FLAG_TC5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_FLAG_TC6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_FLAG_TC7 :\ + (uint32_t)0x00000000) + +/** + * @brief Return the current DMA Stream half transfer complete flag. + * @param __HANDLE__: DMA handle + * @retval The specified half transfer complete flag index. + */ +#define __HAL_DMA_GET_HT_FLAG_INDEX(__HANDLE__)\ +(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_HTIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_HTIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_HTIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_HTIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_HTIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_HTIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_HTIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_HTIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_HTIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_HTIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_HTIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_HTIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_HTIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_HTIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_HTIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_HTIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_FLAG_HT0 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_FLAG_HT1 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_FLAG_HT2 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_FLAG_HT3 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_FLAG_HT4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_FLAG_HT5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_FLAG_HT6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_FLAG_HT7 :\ + (uint32_t)0x00000000) + +/** + * @brief Return the current DMA Stream transfer error flag. + * @param __HANDLE__: DMA handle + * @retval The specified transfer error flag index. + */ +#define __HAL_DMA_GET_TE_FLAG_INDEX(__HANDLE__)\ +(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_TEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_TEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_TEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_TEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_TEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_TEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_TEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_TEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_TEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_TEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_TEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_TEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_TEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_TEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_TEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_TEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_FLAG_TE0 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_FLAG_TE1 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_FLAG_TE2 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_FLAG_TE3 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_FLAG_TE4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_FLAG_TE5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_FLAG_TE6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_FLAG_TE7 :\ + (uint32_t)0x00000000) + +/** + * @brief Return the current DMA Stream FIFO error flag. + * @param __HANDLE__: DMA handle + * @retval The specified FIFO error flag index. + */ +#define __HAL_DMA_GET_FE_FLAG_INDEX(__HANDLE__)\ +(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_FEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_FEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_FEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_FEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_FEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_FEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_FEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_FEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_FEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_FEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_FEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_FEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_FEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_FEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_FEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_FEIF3_7 :\ + (uint32_t)0x00000000) + +/** + * @brief Return the current DMA Stream direct mode error flag. + * @param __HANDLE__: DMA handle + * @retval The specified direct mode error flag index. + */ +#define __HAL_DMA_GET_DME_FLAG_INDEX(__HANDLE__)\ +(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_DMEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_DMEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_DMEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_DMEIF0_4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_DMEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_DMEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_DMEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_DMEIF1_5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_DMEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_DMEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_DMEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_DMEIF2_6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_DMEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_DMEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_DMEIF3_7 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_DMEIF3_7 :\ + (uint32_t)0x00000000) + +/** + * @brief Returns the current BDMA Channel Global interrupt flag. + * @param __HANDLE__: DMA handle + * @retval The specified transfer error flag index. + */ +#define __HAL_BDMA_GET_GI_FLAG_INDEX(__HANDLE__)\ +(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_ISR_GIF0 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_ISR_GIF1 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_ISR_GIF2 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_ISR_GIF3 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_ISR_GIF4 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_ISR_GIF5 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_ISR_GIF6 :\ + ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_ISR_GIF7 :\ + (uint32_t)0x00000000) + +/** + * @brief Get the DMA Stream pending flags. + * @param __HANDLE__: DMA handle + * @param __FLAG__: Get the specified flag. + * This parameter can be any combination of the following values: + * @arg DMA_FLAG_TCIFx: Transfer complete flag. + * @arg DMA_FLAG_HTIFx: Half transfer complete flag. + * @arg DMA_FLAG_TEIFx: Transfer error flag. + * @arg DMA_FLAG_DMEIFx: Direct mode error flag. + * @arg DMA_FLAG_FEIFx: FIFO error flag. + * Where x can be 0_4, 1_5, 2_6 or 3_7 to select the DMA Stream flag. + * @retval The state of FLAG (SET or RESET). + */ +#define __HAL_DMA_GET_FLAG(__HANDLE__, __FLAG__)\ +(((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream7)? (BDMA->ISR & (__FLAG__)) :\ + ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream3)? (DMA2->HISR & (__FLAG__)) :\ + ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream7)? (DMA2->LISR & (__FLAG__)) :\ + ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream3)? (DMA1->HISR & (__FLAG__)) : (DMA1->LISR & (__FLAG__))) + +/** + * @brief Clear the DMA Stream pending flags. + * @param __HANDLE__: DMA handle + * @param __FLAG__: specifies the flag to clear. + * This parameter can be any combination of the following values: + * @arg DMA_FLAG_TCIFx: Transfer complete flag. + * @arg DMA_FLAG_HTIFx: Half transfer complete flag. + * @arg DMA_FLAG_TEIFx: Transfer error flag. + * @arg DMA_FLAG_DMEIFx: Direct mode error flag. + * @arg DMA_FLAG_FEIFx: FIFO error flag. + * Where x can be 0_4, 1_5, 2_6 or 3_7 to select the DMA Stream flag. + * @retval None + */ +#define __HAL_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__) \ +(((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream7)? (BDMA->IFCR = (__FLAG__)) :\ + ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream3)? (DMA2->HIFCR = (__FLAG__)) :\ + ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream7)? (DMA2->LIFCR = (__FLAG__)) :\ + ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream3)? (DMA1->HIFCR = (__FLAG__)) : (DMA1->LIFCR = (__FLAG__))) + + +#define D2_TO_D3_DMA_IT(__DMA_IT__) \ +((((__DMA_IT__) & (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)) == (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)) ? (BDMA_CCR_TCIE | BDMA_CCR_HTIE |BDMA_CCR_TEIE) :\ +(((__DMA_IT__) & (DMA_IT_TC | DMA_IT_HT)) == (DMA_IT_TC | DMA_IT_HT)) ? (BDMA_CCR_TCIE | BDMA_CCR_HTIE) :\ +(((__DMA_IT__) & (DMA_IT_HT | DMA_IT_TE)) == (DMA_IT_HT | DMA_IT_TE)) ? (BDMA_CCR_HTIE |BDMA_CCR_TEIE) :\ +(((__DMA_IT__) & (DMA_IT_TC | DMA_IT_TE)) == (DMA_IT_TC | DMA_IT_TE)) ? (BDMA_CCR_TCIE |BDMA_CCR_TEIE) :\ +((__DMA_IT__) == DMA_IT_TC) ? BDMA_CCR_TCIE :\ +((__DMA_IT__) == DMA_IT_HT) ? BDMA_CCR_HTIE :\ +((__DMA_IT__) == DMA_IT_TE) ? BDMA_CCR_TEIE :\ +(uint32_t)0x00000000) + + +#define __HAL_DMA_D3_ENABLE_IT(__HANDLE__, __INTERRUPT__) \ +(((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR |= (D2_TO_D3_DMA_IT(__INTERRUPT__))) + +#define __HAL_DMA_D2_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) != DMA_IT_FE)? \ +(((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR |= (__INTERRUPT__)) : (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR |= (__INTERRUPT__))) + +/** + * @brief Enable the specified DMA Stream interrupts. + * @param __HANDLE__: DMA handle + * @param __INTERRUPT__: specifies the DMA interrupt sources to be enabled or disabled. + * This parameter can be one of the following values: + * @arg DMA_IT_TC: Transfer complete interrupt mask. + * @arg DMA_IT_HT: Half transfer complete interrupt mask. + * @arg DMA_IT_TE: Transfer error interrupt mask. + * @arg DMA_IT_FE: FIFO error interrupt mask. + * @arg DMA_IT_DME: Direct mode error interrupt. + * @retval None + */ +#define __HAL_DMA_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((IS_D2_DMA_INSTANCE(__HANDLE__))?\ + (__HAL_DMA_D2_ENABLE_IT((__HANDLE__), (__INTERRUPT__))) :\ + (__HAL_DMA_D3_ENABLE_IT((__HANDLE__), (__INTERRUPT__)))) + + +#define __HAL_DMA_D3_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR &= ~(D2_TO_D3_DMA_IT(__INTERRUPT__))) + +#define __HAL_DMA_D2_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) != DMA_IT_FE)? \ +(((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR &= ~(__INTERRUPT__)) : (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR &= ~(__INTERRUPT__))) + +/** + * @brief Disable the specified DMA Stream interrupts. + * @param __HANDLE__: DMA handle + * @param __INTERRUPT__: specifies the DMA interrupt sources to be enabled or disabled. + * This parameter can be one of the following values: + * @arg DMA_IT_TC: Transfer complete interrupt mask. + * @arg DMA_IT_HT: Half transfer complete interrupt mask. + * @arg DMA_IT_TE: Transfer error interrupt mask. + * @arg DMA_IT_FE: FIFO error interrupt mask. + * @arg DMA_IT_DME: Direct mode error interrupt. + * @retval None + */ +#define __HAL_DMA_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((IS_D2_DMA_INSTANCE(__HANDLE__))?\ + (__HAL_DMA_D2_DISABLE_IT((__HANDLE__), (__INTERRUPT__))) :\ + (__HAL_DMA_D3_DISABLE_IT((__HANDLE__), (__INTERRUPT__)))) + + +#define __HAL_DMA_D3_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR & (D2_TO_D3_DMA_IT(__INTERRUPT__)))) + +#define __HAL_DMA_D2_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) != DMA_IT_FE)? \ + (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR & (__INTERRUPT__)) : \ + (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR & (__INTERRUPT__))) + +/** + * @brief Check whether the specified DMA Stream interrupt is enabled or not. + * @param __HANDLE__: DMA handle + * @param __INTERRUPT__: specifies the DMA interrupt source to check. + * This parameter can be one of the following values: + * @arg DMA_IT_TC: Transfer complete interrupt mask. + * @arg DMA_IT_HT: Half transfer complete interrupt mask. + * @arg DMA_IT_TE: Transfer error interrupt mask. + * @arg DMA_IT_FE: FIFO error interrupt mask. + * @arg DMA_IT_DME: Direct mode error interrupt. + * @retval The state of DMA_IT. + */ +#define __HAL_DMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((IS_D2_DMA_INSTANCE(__HANDLE__))? \ + (__HAL_DMA_D2_GET_IT_SOURCE((__HANDLE__), (__INTERRUPT__))) :\ + (__HAL_DMA_D3_GET_IT_SOURCE((__HANDLE__), (__INTERRUPT__)))) + +/** + * @brief Writes the number of data units to be transferred on the DMA Stream. + * @param __HANDLE__: DMA handle + * @param __COUNTER__: Number of data units to be transferred (from 0 to 65535) + * Number of data items depends only on the Peripheral data format. + * + * @note If Peripheral data format is Bytes: number of data units is equal + * to total number of bytes to be transferred. + * + * @note If Peripheral data format is Half-Word: number of data units is + * equal to total number of bytes to be transferred / 2. + * + * @note If Peripheral data format is Word: number of data units is equal + * to total number of bytes to be transferred / 4. + * + * @retval The number of remaining data units in the current DMAy Streamx transfer. + */ +#define __HAL_DMA_SET_COUNTER(__HANDLE__, __COUNTER__) ((IS_D2_DMA_INSTANCE(__HANDLE__))? \ + (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->NDTR = (uint16_t)(__COUNTER__)) :\ + (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CNDTR = (uint16_t)(__COUNTER__))) + +/** + * @brief Returns the number of remaining data units in the current DMAy Streamx transfer. + * @param __HANDLE__: DMA handle + * + * @retval The number of remaining data units in the current DMA Stream transfer. + */ +#define __HAL_DMA_GET_COUNTER(__HANDLE__) ((IS_D2_DMA_INSTANCE(__HANDLE__))?\ + (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->NDTR) :\ + (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CNDTR)) + +/** + * @} + */ + +/* Include DMA HAL Extension module */ +#include "stm32h7xx_hal_dma_ex.h" + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup DMA_Exported_Functions DMA Exported Functions + * @brief DMA Exported functions + * @{ + */ + +/** @defgroup DMA_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and de-initialization functions + * @{ + */ +HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma); +HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma); +/** + * @} + */ + +/** @defgroup DMA_Exported_Functions_Group2 I/O operation functions + * @brief I/O operation functions + * @{ + */ +HAL_StatusTypeDef HAL_DMA_Start (DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength); +HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength); +HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma); +HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma); +HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef CompleteLevel, uint32_t Timeout); +void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma); +HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID, void (* pCallback)(DMA_HandleTypeDef *_hdma)); +HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID); + +/** + * @} + */ + +/** @defgroup DMA_Exported_Functions_Group3 Peripheral State functions + * @brief Peripheral State functions + * @{ + */ +HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma); +uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma); +/** + * @} + */ +/** + * @} + */ +/* Private Constants -------------------------------------------------------------*/ +/** @defgroup DMA_Private_Constants DMA Private Constants + * @brief DMA private defines and constants + * @{ + */ +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup DMA_Private_Macros DMA Private Macros + * @brief DMA private macros + * @{ + */ + +#define IS_DMA_D2_REQUEST(REQUEST) (((REQUEST) <= DMA_REQUEST_ADC3)) + +#define IS_BDMA_D3_REQUEST(REQUEST) (((REQUEST) <= BDMA_REQUEST_ADC3)) + +#define IS_D2_DMA_INSTANCE(__HANDLE__) (((uint32_t)((__HANDLE__)->Instance) >= ((uint32_t)DMA1_Stream0)) && ((uint32_t)((__HANDLE__)->Instance) <= ((uint32_t)DMA2_Stream7))) +#define IS_D3_DMA_INSTANCE(__HANDLE__) (((uint32_t)((__HANDLE__)->Instance) >= ((uint32_t)BDMA_Channel0)) && ((uint32_t)((__HANDLE__)->Instance) <= ((uint32_t)BDMA_Channel7))) + + +#define IS_DMA_DIRECTION(DIRECTION) (((DIRECTION) == DMA_PERIPH_TO_MEMORY ) || \ + ((DIRECTION) == DMA_MEMORY_TO_PERIPH) || \ + ((DIRECTION) == DMA_MEMORY_TO_MEMORY)) + +#define IS_DMA_BUFFER_SIZE(SIZE) (((SIZE) >= 0x01U) && ((SIZE) < 0x10000U)) + +#define IS_DMA_PERIPHERAL_INC_STATE(STATE) (((STATE) == DMA_PINC_ENABLE) || \ + ((STATE) == DMA_PINC_DISABLE)) + +#define IS_DMA_MEMORY_INC_STATE(STATE) (((STATE) == DMA_MINC_ENABLE) || \ + ((STATE) == DMA_MINC_DISABLE)) + +#define IS_DMA_PERIPHERAL_DATA_SIZE(SIZE) (((SIZE) == DMA_PDATAALIGN_BYTE) || \ + ((SIZE) == DMA_PDATAALIGN_HALFWORD) || \ + ((SIZE) == DMA_PDATAALIGN_WORD)) + +#define IS_DMA_MEMORY_DATA_SIZE(SIZE) (((SIZE) == DMA_MDATAALIGN_BYTE) || \ + ((SIZE) == DMA_MDATAALIGN_HALFWORD) || \ + ((SIZE) == DMA_MDATAALIGN_WORD )) + +#define IS_DMA_MODE(MODE) (((MODE) == DMA_NORMAL ) || \ + ((MODE) == DMA_CIRCULAR) || \ + ((MODE) == DMA_PFCTRL)) + +#define IS_DMA_PRIORITY(PRIORITY) (((PRIORITY) == DMA_PRIORITY_LOW ) || \ + ((PRIORITY) == DMA_PRIORITY_MEDIUM) || \ + ((PRIORITY) == DMA_PRIORITY_HIGH) || \ + ((PRIORITY) == DMA_PRIORITY_VERY_HIGH)) + +#define IS_DMA_FIFO_MODE_STATE(STATE) (((STATE) == DMA_FIFOMODE_DISABLE ) || \ + ((STATE) == DMA_FIFOMODE_ENABLE)) + +#define IS_DMA_FIFO_THRESHOLD(THRESHOLD) (((THRESHOLD) == DMA_FIFO_THRESHOLD_1QUARTERFULL ) || \ + ((THRESHOLD) == DMA_FIFO_THRESHOLD_HALFFULL) || \ + ((THRESHOLD) == DMA_FIFO_THRESHOLD_3QUARTERSFULL) || \ + ((THRESHOLD) == DMA_FIFO_THRESHOLD_FULL)) + +#define IS_DMA_MEMORY_BURST(BURST) (((BURST) == DMA_MBURST_SINGLE) || \ + ((BURST) == DMA_MBURST_INC4) || \ + ((BURST) == DMA_MBURST_INC8) || \ + ((BURST) == DMA_MBURST_INC16)) + +#define IS_DMA_PERIPHERAL_BURST(BURST) (((BURST) == DMA_PBURST_SINGLE) || \ + ((BURST) == DMA_PBURST_INC4) || \ + ((BURST) == DMA_PBURST_INC8) || \ + ((BURST) == DMA_PBURST_INC16)) +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup DMA_Private_Functions DMA Private Functions + * @brief DMA private functions + * @{ + */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_DMA_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma2d.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma2d.h new file mode 100644 index 0000000000..d71c505095 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma2d.h @@ -0,0 +1,627 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dma2d.h + * @author MCD Application Team + * @brief Header file of DMA2D HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DMA2D_H +#define __STM32H7xx_HAL_DMA2D_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DMA2D DMA2D + * @brief DMA2D HAL module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup DMA2D_Exported_Types DMA2D Exported Types + * @{ + */ +#define MAX_DMA2D_LAYER 2U /*!< DMA2D maximum number of layers */ + +/** + * @brief DMA2D color Structure definition + */ +typedef struct +{ + uint32_t Blue; /*!< Configures the blue value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + + uint32_t Green; /*!< Configures the green value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + + uint32_t Red; /*!< Configures the red value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ +} DMA2D_ColorTypeDef; + +/** + * @brief DMA2D CLUT Structure definition + */ +typedef struct +{ + uint32_t *pCLUT; /*!< Configures the DMA2D CLUT memory address.*/ + + uint32_t CLUTColorMode; /*!< Configures the DMA2D CLUT color mode. + This parameter can be one value of @ref DMA2D_CLUT_CM. */ + + uint32_t Size; /*!< Configures the DMA2D CLUT size. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.*/ +} DMA2D_CLUTCfgTypeDef; + +/** + * @brief DMA2D Init structure definition + */ +typedef struct +{ + uint32_t Mode; /*!< Configures the DMA2D transfer mode. + This parameter can be one value of @ref DMA2D_Mode. */ + + uint32_t ColorMode; /*!< Configures the color format of the output image. + This parameter can be one value of @ref DMA2D_Output_Color_Mode. */ + + uint32_t OutputOffset; /*!< Specifies the Offset value. + This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF. */ + uint32_t AlphaInverted; /*!< Select regular or inverted alpha value for the output pixel format converter. + This parameter can be one value of @ref DMA2D_Alpha_Inverted */ + + uint32_t RedBlueSwap; /*!< Select regular mode (RGB or ARGB) or swap mode (BGR or ABGR) + for the output pixel format converter. + This parameter can be one value of @ref DMA2D_RB_Swap. */ + +} DMA2D_InitTypeDef; + + +/** + * @brief DMA2D Layer structure definition + */ +typedef struct +{ + uint32_t InputOffset; /*!< Configures the DMA2D foreground or background offset. + This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF. */ + + uint32_t InputColorMode; /*!< Configures the DMA2D foreground or background color mode. + This parameter can be one value of @ref DMA2D_Input_Color_Mode. */ + + uint32_t AlphaMode; /*!< Configures the DMA2D foreground or background alpha mode. + This parameter can be one value of @ref DMA2D_Alpha_Mode. */ + + uint32_t InputAlpha; /*!< Specifies the DMA2D foreground or background alpha value and color value in case of A8 or A4 color mode. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF except for the color modes detailed below. + @note In case of A8 or A4 color mode (ARGB), this parameter must be a number between + Min_Data = 0x00000000 and Max_Data = 0xFFFFFFFF where + - InputAlpha[24:31] is the alpha value ALPHA[0:7] + - InputAlpha[16:23] is the red value RED[0:7] + - InputAlpha[8:15] is the green value GREEN[0:7] + - InputAlpha[0:7] is the blue value BLUE[0:7]. */ + + uint32_t AlphaInverted; /*!< Select regular or inverted alpha value. + This parameter can be one value of @ref DMA2D_Alpha_Inverted.*/ + + uint32_t RedBlueSwap; /*!< Select regular mode (RGB or ARGB) or swap mode (BGR or ABGR). + This parameter can be one value of @ref DMA2D_RB_Swap. */ + + uint32_t ChromaSubSampling; /*!< Configure the chroma sub-sampling mode for the YCbCr color mode + This parameter can be one value of @ref DMA2D_Chroma_Sub_Sampling */ +} DMA2D_LayerCfgTypeDef; + +/** + * @brief HAL DMA2D State structures definition + */ +typedef enum +{ + HAL_DMA2D_STATE_RESET = 0x00U, /*!< DMA2D not yet initialized or disabled */ + HAL_DMA2D_STATE_READY = 0x01U, /*!< Peripheral Initialized and ready for use */ + HAL_DMA2D_STATE_BUSY = 0x02U, /*!< An internal process is ongoing */ + HAL_DMA2D_STATE_TIMEOUT = 0x03U, /*!< Timeout state */ + HAL_DMA2D_STATE_ERROR = 0x04U, /*!< DMA2D state error */ + HAL_DMA2D_STATE_SUSPEND = 0x05U /*!< DMA2D process is suspended */ +}HAL_DMA2D_StateTypeDef; + +/** + * @brief DMA2D handle Structure definition + */ +typedef struct __DMA2D_HandleTypeDef +{ + DMA2D_TypeDef *Instance; /*!< DMA2D register base address. */ + + DMA2D_InitTypeDef Init; /*!< DMA2D communication parameters. */ + + void (* XferCpltCallback)(struct __DMA2D_HandleTypeDef * hdma2d); /*!< DMA2D transfer complete callback. */ + + void (* XferErrorCallback)(struct __DMA2D_HandleTypeDef * hdma2d); /*!< DMA2D transfer error callback. */ + + DMA2D_LayerCfgTypeDef LayerCfg[MAX_DMA2D_LAYER]; /*!< DMA2D Layers parameters */ + + HAL_LockTypeDef Lock; /*!< DMA2D lock. */ + + __IO HAL_DMA2D_StateTypeDef State; /*!< DMA2D transfer state. */ + + __IO uint32_t ErrorCode; /*!< DMA2D error code. */ +} DMA2D_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup DMA2D_Exported_Constants DMA2D Exported Constants + * @{ + */ + +/** @defgroup DMA2D_Error_Code DMA2D Error Code + * @{ + */ +#define HAL_DMA2D_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define HAL_DMA2D_ERROR_TE ((uint32_t)0x00000001U) /*!< Transfer error */ +#define HAL_DMA2D_ERROR_CE ((uint32_t)0x00000002U) /*!< Configuration error */ +#define HAL_DMA2D_ERROR_CAE ((uint32_t)0x00000004U) /*!< CLUT access error */ +#define HAL_DMA2D_ERROR_TIMEOUT ((uint32_t)0x00000020U) /*!< Timeout error */ +/** + * @} + */ + +/** @defgroup DMA2D_Mode DMA2D Mode + * @{ + */ +#define DMA2D_M2M ((uint32_t)0x00000000U) /*!< DMA2D memory to memory transfer mode */ +#define DMA2D_M2M_PFC DMA2D_CR_MODE_0 /*!< DMA2D memory to memory with pixel format conversion transfer mode */ +#define DMA2D_M2M_BLEND DMA2D_CR_MODE_1 /*!< DMA2D memory to memory with blending transfer mode */ +#define DMA2D_R2M DMA2D_CR_MODE /*!< DMA2D register to memory transfer mode */ +/** + * @} + */ + +/** @defgroup DMA2D_Output_Color_Mode DMA2D Output Color Mode + * @{ + */ +#define DMA2D_OUTPUT_ARGB8888 ((uint32_t)0x00000000U) /*!< ARGB8888 DMA2D color mode */ +#define DMA2D_OUTPUT_RGB888 DMA2D_OPFCCR_CM_0 /*!< RGB888 DMA2D color mode */ +#define DMA2D_OUTPUT_RGB565 DMA2D_OPFCCR_CM_1 /*!< RGB565 DMA2D color mode */ +#define DMA2D_OUTPUT_ARGB1555 (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1) /*!< ARGB1555 DMA2D color mode */ +#define DMA2D_OUTPUT_ARGB4444 DMA2D_OPFCCR_CM_2 /*!< ARGB4444 DMA2D color mode */ +/** + * @} + */ + +/** @defgroup DMA2D_Input_Color_Mode DMA2D Input Color Mode + * @{ + */ +#define DMA2D_INPUT_ARGB8888 ((uint32_t)0x00000000U) /*!< ARGB8888 color mode */ +#define DMA2D_INPUT_RGB888 ((uint32_t)0x00000001U) /*!< RGB888 color mode */ +#define DMA2D_INPUT_RGB565 ((uint32_t)0x00000002U) /*!< RGB565 color mode */ +#define DMA2D_INPUT_ARGB1555 ((uint32_t)0x00000003U) /*!< ARGB1555 color mode */ +#define DMA2D_INPUT_ARGB4444 ((uint32_t)0x00000004U) /*!< ARGB4444 color mode */ +#define DMA2D_INPUT_L8 ((uint32_t)0x00000005U) /*!< L8 color mode */ +#define DMA2D_INPUT_AL44 ((uint32_t)0x00000006U) /*!< AL44 color mode */ +#define DMA2D_INPUT_AL88 ((uint32_t)0x00000007U) /*!< AL88 color mode */ +#define DMA2D_INPUT_L4 ((uint32_t)0x00000008U) /*!< L4 color mode */ +#define DMA2D_INPUT_A8 ((uint32_t)0x00000009U) /*!< A8 color mode */ +#define DMA2D_INPUT_A4 ((uint32_t)0x0000000AU) /*!< A4 color mode */ +#define DMA2D_INPUT_YCBCR ((uint32_t)0x0000000BU) /*!< YCbCr color mode */ +/** + * @} + */ + +/** @defgroup DMA2D_Alpha_Mode DMA2D Alpha Mode + * @{ + */ +#define DMA2D_NO_MODIF_ALPHA ((uint32_t)0x00000000U) /*!< No modification of the alpha channel value */ +#define DMA2D_REPLACE_ALPHA ((uint32_t)0x00000001U) /*!< Replace original alpha channel value by programmed alpha value */ +#define DMA2D_COMBINE_ALPHA ((uint32_t)0x00000002U) /*!< Replace original alpha channel value by programmed alpha value + with original alpha channel value */ +/** + * @} + */ + + +/** @defgroup DMA2D_Alpha_Inverted DMA2D ALPHA Inversion + * @{ + */ +#define DMA2D_REGULAR_ALPHA ((uint32_t)0x00000000U) /*!< No modification of the alpha channel value */ +#define DMA2D_INVERTED_ALPHA ((uint32_t)0x00000001U) /*!< Invert the alpha channel value */ +/** + * @} + */ + + +/** @defgroup DMA2D_RB_Swap DMA2D Red and Blue Swap + * @{ + */ +#define DMA2D_RB_REGULAR ((uint32_t)0x00000000U) /*!< Select regular mode (RGB or ARGB) */ +#define DMA2D_RB_SWAP ((uint32_t)0x00000001U) /*!< Select swap mode (BGR or ABGR) */ +/** + * @} + */ + +/** @defgroup DMA2D_Chroma_Sub_Sampling DMA2D Chroma Sub Sampling + * @{ + */ +#define DMA2D_NO_CSS ((uint32_t)0x00000000) /*!< No chroma sub-sampling 4:4:4 */ +#define DMA2D_CSS_422 ((uint32_t)0x00000001) /*!< chroma sub-sampling 4:2:2 */ +#define DMA2D_CSS_420 ((uint32_t)0x00000002) /*!< chroma sub-sampling 4:2:0 */ +/** + * @} + */ + + +/** @defgroup DMA2D_CLUT_CM DMA2D CLUT Color Mode + * @{ + */ +#define DMA2D_CCM_ARGB8888 ((uint32_t)0x00000000U) /*!< ARGB8888 DMA2D CLUT color mode */ +#define DMA2D_CCM_RGB888 ((uint32_t)0x00000001U) /*!< RGB888 DMA2D CLUT color mode */ +/** + * @} + */ + + +/** @defgroup DMA2D_Interrupts DMA2D Interrupts + * @{ + */ +#define DMA2D_IT_CE DMA2D_CR_CEIE /*!< Configuration Error Interrupt */ +#define DMA2D_IT_CTC DMA2D_CR_CTCIE /*!< CLUT Transfer Complete Interrupt */ +#define DMA2D_IT_CAE DMA2D_CR_CAEIE /*!< CLUT Access Error Interrupt */ +#define DMA2D_IT_TW DMA2D_CR_TWIE /*!< Transfer Watermark Interrupt */ +#define DMA2D_IT_TC DMA2D_CR_TCIE /*!< Transfer Complete Interrupt */ +#define DMA2D_IT_TE DMA2D_CR_TEIE /*!< Transfer Error Interrupt */ +/** + * @} + */ + +/** @defgroup DMA2D_Flags DMA2D Flags + * @{ + */ +#define DMA2D_FLAG_CE DMA2D_ISR_CEIF /*!< Configuration Error Interrupt Flag */ +#define DMA2D_FLAG_CTC DMA2D_ISR_CTCIF /*!< CLUT Transfer Complete Interrupt Flag */ +#define DMA2D_FLAG_CAE DMA2D_ISR_CAEIF /*!< CLUT Access Error Interrupt Flag */ +#define DMA2D_FLAG_TW DMA2D_ISR_TWIF /*!< Transfer Watermark Interrupt Flag */ +#define DMA2D_FLAG_TC DMA2D_ISR_TCIF /*!< Transfer Complete Interrupt Flag */ +#define DMA2D_FLAG_TE DMA2D_ISR_TEIF /*!< Transfer Error Interrupt Flag */ +/** + * @} + */ + +/** @defgroup DMA2D_Aliases DMA2D API Aliases + * @{ + */ +#define HAL_DMA2D_DisableCLUT HAL_DMA2D_CLUTLoading_Abort /*!< Aliased to HAL_DMA2D_CLUTLoading_Abort for compatibility with legacy code */ +/** + * @} + */ + + +/** + * @} + */ +/* Exported macros ------------------------------------------------------------*/ +/** @defgroup DMA2D_Exported_Macros DMA2D Exported Macros + * @{ + */ + +/** @brief Reset DMA2D handle state + * @param __HANDLE__: specifies the DMA2D handle. + * @retval None + */ +#define __HAL_DMA2D_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DMA2D_STATE_RESET) + +/** + * @brief Enable the DMA2D. + * @param __HANDLE__: DMA2D handle + * @retval None. + */ +#define __HAL_DMA2D_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= DMA2D_CR_START) + + +/* Interrupt & Flag management */ +/** + * @brief Get the DMA2D pending flags. + * @param __HANDLE__: DMA2D handle + * @param __FLAG__: flag to check. + * This parameter can be any combination of the following values: + * @arg DMA2D_FLAG_CE: Configuration error flag + * @arg DMA2D_FLAG_CTC: CLUT transfer complete flag + * @arg DMA2D_FLAG_CAE: CLUT access error flag + * @arg DMA2D_FLAG_TW: Transfer Watermark flag + * @arg DMA2D_FLAG_TC: Transfer complete flag + * @arg DMA2D_FLAG_TE: Transfer error flag + * @retval The state of FLAG. + */ +#define __HAL_DMA2D_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR & (__FLAG__)) + +/** + * @brief Clear the DMA2D pending flags. + * @param __HANDLE__: DMA2D handle + * @param __FLAG__: specifies the flag to clear. + * This parameter can be any combination of the following values: + * @arg DMA2D_FLAG_CE: Configuration error flag + * @arg DMA2D_FLAG_CTC: CLUT transfer complete flag + * @arg DMA2D_FLAG_CAE: CLUT access error flag + * @arg DMA2D_FLAG_TW: Transfer Watermark flag + * @arg DMA2D_FLAG_TC: Transfer complete flag + * @arg DMA2D_FLAG_TE: Transfer error flag + * @retval None + */ +#define __HAL_DMA2D_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->IFCR = (__FLAG__)) + +/** + * @brief Enable the specified DMA2D interrupts. + * @param __HANDLE__: DMA2D handle + * @param __INTERRUPT__: specifies the DMA2D interrupt sources to be enabled. + * This parameter can be any combination of the following values: + * @arg DMA2D_IT_CE: Configuration error interrupt mask + * @arg DMA2D_IT_CTC: CLUT transfer complete interrupt mask + * @arg DMA2D_IT_CAE: CLUT access error interrupt mask + * @arg DMA2D_IT_TW: Transfer Watermark interrupt mask + * @arg DMA2D_IT_TC: Transfer complete interrupt mask + * @arg DMA2D_IT_TE: Transfer error interrupt mask + * @retval None + */ +#define __HAL_DMA2D_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) + +/** + * @brief Disable the specified DMA2D interrupts. + * @param __HANDLE__: DMA2D handle + * @param __INTERRUPT__: specifies the DMA2D interrupt sources to be disabled. + * This parameter can be any combination of the following values: + * @arg DMA2D_IT_CE: Configuration error interrupt mask + * @arg DMA2D_IT_CTC: CLUT transfer complete interrupt mask + * @arg DMA2D_IT_CAE: CLUT access error interrupt mask + * @arg DMA2D_IT_TW: Transfer Watermark interrupt mask + * @arg DMA2D_IT_TC: Transfer complete interrupt mask + * @arg DMA2D_IT_TE: Transfer error interrupt mask + * @retval None + */ +#define __HAL_DMA2D_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) + +/** + * @brief Check whether the specified DMA2D interrupt source is enabled or not. + * @param __HANDLE__: DMA2D handle + * @param __INTERRUPT__: specifies the DMA2D interrupt source to check. + * This parameter can be one of the following values: + * @arg DMA2D_IT_CE: Configuration error interrupt mask + * @arg DMA2D_IT_CTC: CLUT transfer complete interrupt mask + * @arg DMA2D_IT_CAE: CLUT access error interrupt mask + * @arg DMA2D_IT_TW: Transfer Watermark interrupt mask + * @arg DMA2D_IT_TC: Transfer complete interrupt mask + * @arg DMA2D_IT_TE: Transfer error interrupt mask + * @retval The state of INTERRUPT source. + */ +#define __HAL_DMA2D_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR & (__INTERRUPT__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup DMA2D_Exported_Functions DMA2D Exported Functions + * @{ + */ + +/** @addtogroup DMA2D_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization and de-initialization functions *******************************/ +HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d); +HAL_StatusTypeDef HAL_DMA2D_DeInit (DMA2D_HandleTypeDef *hdma2d); +void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d); +void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d); + +/** + * @} + */ + + +/** @addtogroup DMA2D_Exported_Functions_Group2 IO operation functions + * @{ + */ + +/* IO operation functions *******************************************************/ +HAL_StatusTypeDef HAL_DMA2D_Start(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height); +HAL_StatusTypeDef HAL_DMA2D_BlendingStart(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height); +HAL_StatusTypeDef HAL_DMA2D_Start_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height); +HAL_StatusTypeDef HAL_DMA2D_BlendingStart_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height); +HAL_StatusTypeDef HAL_DMA2D_Suspend(DMA2D_HandleTypeDef *hdma2d); +HAL_StatusTypeDef HAL_DMA2D_Resume(DMA2D_HandleTypeDef *hdma2d); +HAL_StatusTypeDef HAL_DMA2D_Abort(DMA2D_HandleTypeDef *hdma2d); +HAL_StatusTypeDef HAL_DMA2D_EnableCLUT(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_CLUTLoad(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_CLUTLoad_IT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Abort(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Suspend(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Resume(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout); +void HAL_DMA2D_IRQHandler(DMA2D_HandleTypeDef *hdma2d); +void HAL_DMA2D_LineEventCallback(DMA2D_HandleTypeDef *hdma2d); +void HAL_DMA2D_CLUTLoadingCpltCallback(DMA2D_HandleTypeDef *hdma2d); + +/** + * @} + */ + +/** @addtogroup DMA2D_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ + +/* Peripheral Control functions *************************************************/ +HAL_StatusTypeDef HAL_DMA2D_ConfigLayer(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_ConfigCLUT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_DMA2D_ProgramLineEvent(DMA2D_HandleTypeDef *hdma2d, uint32_t Line); +HAL_StatusTypeDef HAL_DMA2D_EnableDeadTime(DMA2D_HandleTypeDef *hdma2d); +HAL_StatusTypeDef HAL_DMA2D_DisableDeadTime(DMA2D_HandleTypeDef *hdma2d); +HAL_StatusTypeDef HAL_DMA2D_ConfigDeadTime(DMA2D_HandleTypeDef *hdma2d, uint8_t DeadTime); + +/** + * @} + */ + +/** @addtogroup DMA2D_Exported_Functions_Group4 Peripheral State and Error functions + * @{ + */ + +/* Peripheral State functions ***************************************************/ +HAL_DMA2D_StateTypeDef HAL_DMA2D_GetState(DMA2D_HandleTypeDef *hdma2d); +uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d); + +/** + * @} + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ + +/** @addtogroup DMA2D_Private_Constants DMA2D Private Constants + * @{ + */ + +/** @defgroup DMA2D_Maximum_Line_WaterMark DMA2D Maximum Line Watermark + * @{ + */ +#define DMA2D_LINE_WATERMARK_MAX DMA2D_LWR_LW /*!< DMA2D maximum line watermark */ +/** + * @} + */ + +/** @defgroup DMA2D_Color_Value DMA2D Color Value + * @{ + */ +#define DMA2D_COLOR_VALUE ((uint32_t)0x000000FFU) /*!< Color value mask */ +/** + * @} + */ + +/** @defgroup DMA2D_Offset DMA2D Offset + * @{ + */ +#define DMA2D_OFFSET DMA2D_FGOR_LO /*!< maximum Line Offset */ +/** + * @} + */ + +/** @defgroup DMA2D_Size DMA2D Size + * @{ + */ +#define DMA2D_PIXEL (DMA2D_NLR_PL >> 16U) /*!< DMA2D maximum number of pixels per line */ +#define DMA2D_LINE DMA2D_NLR_NL /*!< DMA2D maximum number of lines */ +/** + * @} + */ + +/** @defgroup DMA2D_CLUT_Size DMA2D CLUT Size + * @{ + */ +#define DMA2D_CLUT_SIZE (DMA2D_FGPFCCR_CS >> 8) /*!< DMA2D maximum CLUT size */ +/** + * @} + */ + +/** + * @} + */ + + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup DMA2D_Private_Macros DMA2D Private Macros + * @{ + */ +#define IS_DMA2D_LAYER(LAYER) ((LAYER) <= MAX_DMA2D_LAYER) +#define IS_DMA2D_MODE(MODE) (((MODE) == DMA2D_M2M) || ((MODE) == DMA2D_M2M_PFC) || \ + ((MODE) == DMA2D_M2M_BLEND) || ((MODE) == DMA2D_R2M)) +#define IS_DMA2D_CMODE(MODE_ARGB) (((MODE_ARGB) == DMA2D_OUTPUT_ARGB8888) || ((MODE_ARGB) == DMA2D_OUTPUT_RGB888) || \ + ((MODE_ARGB) == DMA2D_OUTPUT_RGB565) || ((MODE_ARGB) == DMA2D_OUTPUT_ARGB1555) || \ + ((MODE_ARGB) == DMA2D_OUTPUT_ARGB4444)) +#define IS_DMA2D_COLOR(COLOR) ((COLOR) <= DMA2D_COLOR_VALUE) +#define IS_DMA2D_LINE(LINE) ((LINE) <= DMA2D_LINE) +#define IS_DMA2D_PIXEL(PIXEL) ((PIXEL) <= DMA2D_PIXEL) +#define IS_DMA2D_OFFSET(OOFFSET) ((OOFFSET) <= DMA2D_OFFSET) +#define IS_DMA2D_INPUT_COLOR_MODE(INPUT_CM) (((INPUT_CM) == DMA2D_INPUT_ARGB8888) || ((INPUT_CM) == DMA2D_INPUT_RGB888) || \ + ((INPUT_CM) == DMA2D_INPUT_RGB565) || ((INPUT_CM) == DMA2D_INPUT_ARGB1555) || \ + ((INPUT_CM) == DMA2D_INPUT_ARGB4444) || ((INPUT_CM) == DMA2D_INPUT_L8) || \ + ((INPUT_CM) == DMA2D_INPUT_AL44) || ((INPUT_CM) == DMA2D_INPUT_AL88) || \ + ((INPUT_CM) == DMA2D_INPUT_L4) || ((INPUT_CM) == DMA2D_INPUT_A8) || \ + ((INPUT_CM) == DMA2D_INPUT_A4) || ((INPUT_CM) == DMA2D_INPUT_YCBCR)) +#define IS_DMA2D_ALPHA_MODE(AlphaMode) (((AlphaMode) == DMA2D_NO_MODIF_ALPHA) || \ + ((AlphaMode) == DMA2D_REPLACE_ALPHA) || \ + ((AlphaMode) == DMA2D_COMBINE_ALPHA)) + +#define IS_DMA2D_ALPHA_INVERTED(Alpha_Inverted) (((Alpha_Inverted) == DMA2D_REGULAR_ALPHA) || \ + ((Alpha_Inverted) == DMA2D_INVERTED_ALPHA)) + +#define IS_DMA2D_RB_SWAP(RB_Swap) (((RB_Swap) == DMA2D_RB_REGULAR) || \ + ((RB_Swap) == DMA2D_RB_SWAP)) + +#define IS_DMA2D_CHROMA_SUB_SAMPLING (CSS) (((CSS) == DMA2D_NO_CSS) || \ + ((CSS) == DMA2D_CSS_422) || \ + ((CSS) == DMA2D_CSS_420)) + +#define IS_DMA2D_CLUT_CM(CLUT_CM) (((CLUT_CM) == DMA2D_CCM_ARGB8888) || ((CLUT_CM) == DMA2D_CCM_RGB888)) +#define IS_DMA2D_CLUT_SIZE(CLUT_SIZE) ((CLUT_SIZE) <= DMA2D_CLUT_SIZE) +#define IS_DMA2D_LINEWATERMARK(LineWatermark) ((LineWatermark) <= DMA2D_LINE_WATERMARK_MAX) +#define IS_DMA2D_IT(IT) (((IT) == DMA2D_IT_CTC) || ((IT) == DMA2D_IT_CAE) || \ + ((IT) == DMA2D_IT_TW) || ((IT) == DMA2D_IT_TC) || \ + ((IT) == DMA2D_IT_TE) || ((IT) == DMA2D_IT_CE)) +#define IS_DMA2D_GET_FLAG(FLAG) (((FLAG) == DMA2D_FLAG_CTC) || ((FLAG) == DMA2D_FLAG_CAE) || \ + ((FLAG) == DMA2D_FLAG_TW) || ((FLAG) == DMA2D_FLAG_TC) || \ + ((FLAG) == DMA2D_FLAG_TE) || ((FLAG) == DMA2D_FLAG_CE)) +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_DMA2D_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h new file mode 100644 index 0000000000..3aef16e11b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h @@ -0,0 +1,322 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dma_ex.h + * @author MCD Application Team + * @brief Header file of DMA HAL extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_DMA_EX_H +#define __STM32H7xx_HAL_DMA_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DMAEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup DMAEx_Exported_Types DMAEx Exported Types + * @brief DMAEx Exported types + * @{ + */ + +/** + * @brief HAL DMA Memory definition + */ +typedef enum +{ + MEMORY0 = 0x00U, /*!< Memory 0 */ + MEMORY1 = 0x01U, /*!< Memory 1 */ + +}HAL_DMA_MemoryTypeDef; + +/** + * @brief HAL DMAMUX Synchronization configuration structure definition + */ +typedef struct +{ + uint32_t SyncSignalID; /*!< Specifies the synchronization signal gating the DMA request in periodic mode. + This parameter can be a value of @ref DMAEx_MUX_SyncSignalID_selection */ + + uint32_t SyncPolarity; /*!< Specifies the polarity of the signal on which the DMA request is synchronized. + This parameter can be a value of @ref DMAEx_MUX_SyncPolarity_selection */ + + FunctionalState SyncEnable; /*!< Specifies if the synchronization shall be enabled or disabled + This parameter can take the value ENABLE or DISABLE*/ + + + FunctionalState EventEnable; /*!< Specifies if an event shall be generated once the RequestNumber is reached. + This parameter can take the value ENABLE or DISABLE */ + + uint32_t RequestNumber; /*!< Specifies the number of DMA request that will be authorized after a sync event. + This parameters can be in the range 1 to 32 */ + +}HAL_DMA_MuxSyncConfigTypeDef; + + +/** + * @brief HAL DMAMUX request generator parameters structure definition + */ +typedef struct +{ + uint32_t SignalID; /*!< Specifies the ID of the signal used for DMAMUX request generator + This parameter can be a value of @ref DMAEx_MUX_SignalGeneratorID_selection */ + + uint32_t Polarity; /*!< Specifies the polarity of the signal on which the request is generated. + This parameter can be a value of @ref DMAEx_MUX_RequestGeneneratorPolarity_selection */ + + uint32_t RequestNumber; /*!< Specifies the number of DMA request that will be generated after a signal event. + This parameters can be in the range 1 to 32 */ + +}HAL_DMA_MuxRequestGeneratorConfigTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup DMAEx_Exported_Constants DMA Exported Constants + * @brief DMAEx Exported constants + * @{ + */ + +/** @defgroup DMAEx_MUX_SyncSignalID_selection DMAEx MUX SyncSignalID selection + * @brief DMAEx MUX SyncSignalID selection + * @{ + */ +#define HAL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 0U /*!< D2 Domain synchronization Signal is DMAMUX1 Channel0 Event */ +#define HAL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT 1U /*!< D2 Domain synchronization Signal is DMAMUX1 Channel1 Event */ +#define HAL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT 2U /*!< D2 Domain synchronization Signal is DMAMUX1 Channel2 Event */ +#define HAL_DMAMUX1_SYNC_LPTIM1_OUT 3U /*!< D2 Domain synchronization Signal is LPTIM1 OUT */ +#define HAL_DMAMUX1_SYNC_LPTIM2_OUT 4U /*!< D2 Domain synchronization Signal is LPTIM2 OUT */ +#define HAL_DMAMUX1_SYNC_LPTIM3_OUT 5U /*!< D2 Domain synchronization Signal is LPTIM3 OUT */ +#define HAL_DMAMUX1_SYNC_EXTI0 6U /*!< D2 Domain synchronization Signal is EXTI0 IT */ +#define HAL_DMAMUX1_SYNC_TIM12_TRGO 7U /*!< D2 Domain synchronization Signal is TIM12 TRGO */ + +#define HAL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT 0U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel0 Event */ +#define HAL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT 1U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel1 Event */ +#define HAL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT 2U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel2 Event */ +#define HAL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT 3U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel3 Event */ +#define HAL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT 4U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel4 Event */ +#define HAL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT 5U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel5 Event */ +#define HAL_DMAMUX2_SYNC_LPUART1_RX_WKUP 6U /*!< D3 Domain synchronization Signal is LPUART1 RX Wakeup */ +#define HAL_DMAMUX2_SYNC_LPUART1_TX_WKUP 7U /*!< D3 Domain synchronization Signal is LPUART1 TX Wakeup */ +#define HAL_DMAMUX2_SYNC_LPTIM2_OUT 8U /*!< D3 Domain synchronization Signal is LPTIM2 output */ +#define HAL_DMAMUX2_SYNC_LPTIM3_OUT 9U /*!< D3 Domain synchronization Signal is LPTIM3 output */ +#define HAL_DMAMUX2_SYNC_I2C4_WKUP 10U /*!< D3 Domain synchronization Signal is I2C4 Wakeup */ +#define HAL_DMAMUX2_SYNC_SPI6_WKUP 11U /*!< D3 Domain synchronization Signal is SPI6 Wakeup */ +#define HAL_DMAMUX2_SYNC_COMP1_OUT 12U /*!< D3 Domain synchronization Signal is Comparator 1 output */ +#define HAL_DMAMUX2_SYNC_RTC_WKUP 13U /*!< D3 Domain synchronization Signal is RTC Wakeup */ +#define HAL_DMAMUX2_SYNC_EXTI0 14U /*!< D3 Domain synchronization Signal is EXTI0 IT */ +#define HAL_DMAMUX2_SYNC_EXTI2 15U /*!< D3 Domain synchronization Signal is EXTI2 IT */ + +/** + * @} + */ + +/** @defgroup DMAEx_MUX_SyncPolarity_selection DMAEx MUX SyncPolarity selection + * @brief DMAEx MUX SyncPolarity selection + * @{ + */ +#define HAL_DMAMUX_SYNC_NO_EVENT 0x00000000U /*!< block synchronization events */ +#define HAL_DMAMUX_SYNC_RISING DMAMUX_CxCR_SPOL_0 /*!< synchronize with rising edge events */ +#define HAL_DMAMUX_SYNC_FALLING DMAMUX_CxCR_SPOL_1 /*!< synchronize with falling edge events */ +#define HAL_DMAMUX_SYNC_RISING_FALLING DMAMUX_CxCR_SPOL /*!< synchronize with rising and falling edge events */ + +/** + * @} + */ + + +/** @defgroup DMAEx_MUX_SignalGeneratorID_selection DMAEx MUX SignalGeneratorID selection + * @brief DMAEx MUX SignalGeneratorID selection + * @{ + */ +#define HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT 0U /*!< D2 domain Request generator Signal is DMAMUX1 Channel0 Event */ +#define HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT 1U /*!< D2 domain Request generator Signal is DMAMUX1 Channel1 Event */ +#define HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT 2U /*!< D2 domain Request generator Signal is DMAMUX1 Channel2 Event */ +#define HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT 3U /*!< D2 domain Request generator Signal is LPTIM1 OUT */ +#define HAL_DMAMUX1_REQ_GEN_LPTIM2_OUT 4U /*!< D2 domain Request generator Signal is LPTIM2 OUT */ +#define HAL_DMAMUX1_REQ_GEN_LPTIM3_OUT 5U /*!< D2 domain Request generator Signal is LPTIM3 OUT */ +#define HAL_DMAMUX1_REQ_GEN_EXTI0 6U /*!< D2 domain Request generator Signal is EXTI0 IT */ +#define HAL_DMAMUX1_REQ_GEN_TIM12_TRGO 7U /*!< D2 domain Request generator Signal is TIM12 TRGO */ + +#define HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT 0U /*!< D3 domain Request generator Signal is DMAMUX2 Channel0 Event */ +#define HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT 1U /*!< D3 domain Request generator Signal is DMAMUX2 Channel1 Event */ +#define HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT 2U /*!< D3 domain Request generator Signal is DMAMUX2 Channel2 Event */ +#define HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT 3U /*!< D3 domain Request generator Signal is DMAMUX2 Channel3 Event */ +#define HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT 4U /*!< D3 domain Request generator Signal is DMAMUX2 Channel4 Event */ +#define HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT 5U /*!< D3 domain Request generator Signal is DMAMUX2 Channel5 Event */ +#define HAL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT 6U /*!< D3 domain Request generator Signal is DMAMUX2 Channel6 Event */ +#define HAL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP 7U /*!< D3 domain Request generator Signal is LPUART1 RX Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP 8U /*!< D3 domain Request generator Signal is LPUART1 TX Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_LPTIM2_WKUP 9U /*!< D3 domain Request generator Signal is LPTIM2 Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_LPTIM2_OUT 10U /*!< D3 domain Request generator Signal is LPTIM2 OUT */ +#define HAL_DMAMUX2_REQ_GEN_LPTIM3_WKUP 11U /*!< D3 domain Request generator Signal is LPTIM3 Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_LPTIM3_OUT 12U /*!< D3 domain Request generator Signal is LPTIM3 OUT */ +#define HAL_DMAMUX2_REQ_GEN_LPTIM4_WKUP 13U /*!< D3 domain Request generator Signal is LPTIM4 Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_LPTIM5_WKUP 14U /*!< D3 domain Request generator Signal is LPTIM5 Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_I2C4_WKUP 15U /*!< D3 domain Request generator Signal is I2C4 Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_SPI6_WKUP 16U /*!< D3 domain Request generator Signal is SPI6 Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_COMP1_OUT 17U /*!< D3 domain Request generator Signal is Comparator 1 output */ +#define HAL_DMAMUX2_REQ_GEN_COMP2_OUT 18U /*!< D3 domain Request generator Signal is Comparator 2 output */ +#define HAL_DMAMUX2_REQ_GEN_RTC_WKUP 19U /*!< D3 domain Request generator Signal is RTC Wakeup */ +#define HAL_DMAMUX2_REQ_GEN_EXTI0 20U /*!< D3 domain Request generator Signal is EXTI0 */ +#define HAL_DMAMUX2_REQ_GEN_EXTI2 21U /*!< D3 domain Request generator Signal is EXTI2 */ +#define HAL_DMAMUX2_REQ_GEN_I2C4_IT_EVT 22U /*!< D3 domain Request generator Signal is I2C4 IT Event */ +#define HAL_DMAMUX2_REQ_GEN_SPI6_IT 23U /*!< D3 domain Request generator Signal is SPI6 IT */ +#define HAL_DMAMUX2_REQ_GEN_LPUART1_TX_IT 24U /*!< D3 domain Request generator Signal is LPUART1 Tx IT */ +#define HAL_DMAMUX2_REQ_GEN_LPUART1_RX_IT 25U /*!< D3 domain Request generator Signal is LPUART1 Rx IT */ +#define HAL_DMAMUX2_REQ_GEN_ADC3_IT 26U /*!< D3 domain Request generator Signal is ADC3 IT */ +#define HAL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT 27U /*!< D3 domain Request generator Signal is ADC3 Analog Watchdog 1 output */ +#define HAL_DMAMUX2_REQ_GEN_BDMA_CH0_IT 28U /*!< D3 domain Request generator Signal is BDMA Channel 0 IT */ +#define HAL_DMAMUX2_REQ_GEN_BDMA_CH1_IT 29U /*!< D3 domain Request generator Signal is BDMA Channel 1 IT */ + + +/** + * @} + */ + +/** @defgroup DMAEx_MUX_RequestGeneneratorPolarity_selection DMAEx MUX RequestGeneneratorPolarity selection + * @brief DMAEx MUX RequestGeneneratorPolarity selection + * @{ + */ +#define HAL_DMAMUX_REQ_GEN_NO_EVENT 0x00000000U /*!< block request generator events */ +#define HAL_DMAMUX_REQ_GEN_RISING DMAMUX_RGxCR_GPOL_0 /*!< generate request on rising edge events */ +#define HAL_DMAMUX_REQ_GEN_FALLING DMAMUX_RGxCR_GPOL_1 /*!< generate request on falling edge events */ +#define HAL_DMAMUX_REQ_GEN_RISING_FALLING DMAMUX_RGxCR_GPOL /*!< generate request on rising and falling edge events */ + +/** + * @} + */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions + * @brief DMAEx Exported functions + * @{ + */ + +/** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions + * @brief Extended features functions + * @{ + */ + +/* IO operation functions *******************************************************/ +HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength); +HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength); +HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory); +HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync(DMA_HandleTypeDef *hdma, HAL_DMA_MuxSyncConfigTypeDef *pSyncConfig); +HAL_StatusTypeDef HAL_DMAEx_ConfigMuxRequestGenerator (DMA_HandleTypeDef *hdma, HAL_DMA_MuxRequestGeneratorConfigTypeDef *pRequestGeneratorConfig); +HAL_StatusTypeDef HAL_DMAEx_EnableMuxRequestGenerator (DMA_HandleTypeDef *hdma); +HAL_StatusTypeDef HAL_DMAEx_DisableMuxRequestGenerator (DMA_HandleTypeDef *hdma); + +void HAL_DMAEx_MUX_IRQHandler(DMA_HandleTypeDef *hdma); +/** + * @} + */ +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup DMAEx_Private_Macros DMA Private Macros + * @brief DMAEx private macros + * @{ + */ + +#define IS_D2_DMAMUX_SYNC_SIGNAL_ID(SIGNAL_ID) ((SIGNAL_ID) <= HAL_DMAMUX1_SYNC_TIM12_TRGO) +#define IS_D3_DMAMUX_SYNC_SIGNAL_ID(SIGNAL_ID) ((SIGNAL_ID) <= HAL_DMAMUX2_SYNC_EXTI2) + +#define IS_DMAMUX_SYNC_REQUEST_NUMBER(REQUEST_NUMBER) (((REQUEST_NUMBER) > 0) && ((REQUEST_NUMBER) <= 32)) + +#define IS_DMAMUX_SYNC_POLARITY(POLARITY) (((POLARITY) == HAL_DMAMUX_SYNC_NO_EVENT) || \ + ((POLARITY) == HAL_DMAMUX_SYNC_RISING) || \ + ((POLARITY) == HAL_DMAMUX_SYNC_FALLING) || \ + ((POLARITY) == HAL_DMAMUX_SYNC_RISING_FALLING)) + +#define IS_DMAMUX_SYNC_STATE(SYNC) (((SYNC) == DISABLE) || ((SYNC) == ENABLE)) + +#define IS_DMAMUX_SYNC_EVENT(EVENT) (((EVENT) == DISABLE) || \ + ((EVENT) == ENABLE)) + +#define IS_D2_DMAMUX_REQUEST_GEN_SIGNAL_ID(SIGNAL_ID) ((SIGNAL_ID) <= HAL_DMAMUX1_REQ_GEN_TIM12_TRGO) +#define IS_D3_DMAMUX_REQUEST_GEN_SIGNAL_ID(SIGNAL_ID) ((SIGNAL_ID) <= HAL_DMAMUX2_REQ_GEN_BDMA_CH1_IT) + +#define IS_DMAMUX_REQUEST_GEN_REQUEST_NUMBER(REQUEST_NUMBER) (((REQUEST_NUMBER) > 0) && ((REQUEST_NUMBER) <= 32)) + +#define IS_DMAMUX_REQUEST_GEN_POLARITY(POLARITY) (((POLARITY) == HAL_DMAMUX_REQ_GEN_NO_EVENT) || \ + ((POLARITY) == HAL_DMAMUX_REQ_GEN_RISING) || \ + ((POLARITY) == HAL_DMAMUX_REQ_GEN_FALLING) || \ + ((POLARITY) == HAL_DMAMUX_REQ_GEN_RISING_FALLING)) + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup DMAEx_Private_Functions DMAEx Private Functions + * @brief DMAEx Private functions + * @{ + */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_DMA_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth.h new file mode 100644 index 0000000000..597c48784a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth.h @@ -0,0 +1,1600 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_eth.h + * @author MCD Application Team + * @brief Header file of ETH HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_HAL_ETH_H +#define STM32H7xx_HAL_ETH_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup ETH + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +#ifndef ETH_TX_DESC_CNT + #define ETH_TX_DESC_CNT 4 +#endif + +#ifndef ETH_RX_DESC_CNT + #define ETH_RX_DESC_CNT 4 +#endif + +/*********************** Descriptors struct def section ************************/ +/** @defgroup ETH_Exported_Types ETH Exported Types + * @{ + */ + +/** + * @brief ETH DMA Descriptor structure definition + */ +#if defined ( __GNUC__ ) +typedef struct __attribute__((packed)) +#else +typedef __packed struct +#endif +{ + uint32_t DESC0; + uint32_t DESC1; + uint32_t DESC2; + uint32_t DESC3; + uint32_t BackupAddr0; /* used to store rx buffer 1 address */ + uint32_t BackupAddr1; /* used to store rx buffer 2 address */ +}ETH_DMADescTypeDef; +/** + * + */ + +/** + * @brief ETH Buffers List structure definition + */ +typedef struct __ETH_BufferTypeDef +{ + uint8_t *buffer; /*State = HAL_ETH_STATE_RESET) + +/** + * @brief Enables the specified ETHERNET DMA interrupts. + * @param __HANDLE__ : ETH Handle + * @param __INTERRUPT__: specifies the ETHERNET DMA interrupt sources to be + * enabled @ref ETH_DMA_Interrupts + * @retval None + */ +#define __HAL_ETH_DMA_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->DMACIER |= (__INTERRUPT__)) + +/** + * @brief Disables the specified ETHERNET DMA interrupts. + * @param __HANDLE__ : ETH Handle + * @param __INTERRUPT__: specifies the ETHERNET DMA interrupt sources to be + * disabled. @ref ETH_DMA_Interrupts + * @retval None + */ +#define __HAL_ETH_DMA_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->DMACIER &= ~(__INTERRUPT__)) + +/** + * @brief Gets the ETHERNET DMA IT source enabled or disabled. + * @param __HANDLE__ : ETH Handle + * @param __INTERRUPT__: specifies the interrupt source to get . @ref ETH_DMA_Interrupts + * @retval The ETH DMA IT Source enabled or disabled + */ +#define __HAL_ETH_DMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->DMACIER & (__INTERRUPT__)) == (__INTERRUPT__)) + +/** + * @brief Gets the ETHERNET DMA IT pending bit. + * @param __HANDLE__ : ETH Handle + * @param __INTERRUPT__: specifies the interrupt source to get . @ref ETH_DMA_Interrupts + * @retval The state of ETH DMA IT (SET or RESET) + */ +#define __HAL_ETH_DMA_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->DMACSR & (__INTERRUPT__)) == (__INTERRUPT__)) + +/** + * @brief Clears the ETHERNET DMA IT pending bit. + * @param __HANDLE__ : ETH Handle + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. @ref ETH_DMA_Interrupts + * @retval None + */ +#define __HAL_ETH_DMA_CLEAR_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->DMACSR = (__INTERRUPT__)) + +/** + * @brief Checks whether the specified ETHERNET DMA flag is set or not. +* @param __HANDLE__: ETH Handle + * @param __FLAG__: specifies the flag to check. @ref ETH_DMA_Status_Flags + * @retval The state of ETH DMA FLAG (SET or RESET). + */ +#define __HAL_ETH_DMA_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->DMACSR &( __FLAG__)) == ( __FLAG__)) + +/** + * @brief Clears the specified ETHERNET DMA flag. +* @param __HANDLE__: ETH Handle + * @param __FLAG__: specifies the flag to check. @ref ETH_DMA_Status_Flags + * @retval The state of ETH DMA FLAG (SET or RESET). + */ +#define __HAL_ETH_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->DMACSR = ( __FLAG__)) + +/** + * @brief Enables the specified ETHERNET MAC interrupts. + * @param __HANDLE__ : ETH Handle + * @param __INTERRUPT__: specifies the ETHERNET MAC interrupt sources to be + * enabled @ref ETH_MAC_Interrupts + * @retval None + */ +#define __HAL_ETH_MAC_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->MACIER |= (__INTERRUPT__)) + +/** + * @brief Disables the specified ETHERNET MAC interrupts. + * @param __HANDLE__ : ETH Handle + * @param __INTERRUPT__: specifies the ETHERNET MAC interrupt sources to be + * enabled @ref ETH_MAC_Interrupts + * @retval None + */ +#define __HAL_ETH_MAC_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->MACIER &= ~(__INTERRUPT__)) + +/** + * @brief Checks whether the specified ETHERNET MAC flag is set or not. + * @param __HANDLE__: ETH Handle + * @param __INTERRUPT__: specifies the flag to check. @ref ETH_MAC_Interrupts + * @retval The state of ETH MAC IT (SET or RESET). + */ +#define __HAL_ETH_MAC_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->MACISR &( __INTERRUPT__)) == ( __INTERRUPT__)) + +/*!< External interrupt line 86 Connected to the ETH wakeup EXTI Line */ +#define ETH_WAKEUP_EXTI_LINE ((uint32_t)0x00400000) /* !< 86 - 64 = 22 */ + +/** + * @brief Enable the ETH WAKEUP Exti Line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP Exti sources to be enabled. + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None. + */ +#define __HAL_ETH_WAKEUP_EXTI_ENABLE_IT(__EXTI_LINE__) (EXTI_D1->IMR3 |= (__EXTI_LINE__)) + +/** + * @brief checks whether the specified ETH WAKEUP Exti interrupt flag is set or not. + * @param __EXTI_LINE__: specifies the ETH WAKEUP Exti sources to be cleared. + * @arg ETH_WAKEUP_EXTI_LINE + * @retval EXTI ETH WAKEUP Line Status. + */ +#define __HAL_ETH_WAKEUP_EXTI_GET_FLAG(__EXTI_LINE__) (EXTI_D1->PR3 & (__EXTI_LINE__)) + +/** + * @brief Clear the ETH WAKEUP Exti flag. + * @param __EXTI_LINE__: specifies the ETH WAKEUP Exti sources to be cleared. + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None. + */ +#define __HAL_ETH_WAKEUP_EXTI_CLEAR_FLAG(__EXTI_LINE__) (EXTI_D1->PR3 = (__EXTI_LINE__)) + + +/** + * @brief enable rising edge interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP EXTI sources to be disabled. + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_ETH_WAKEUP_EXTI_ENABLE_RISING_EDGE(__EXTI_LINE__) (EXTI->FTSR3 &= ~(__EXTI_LINE__)); \ + (EXTI->RTSR3 |= (__EXTI_LINE__)) + +/** + * @brief enable falling edge interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP EXTI sources to be disabled. + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_ETH_WAKEUP_EXTI_ENABLE_FALLING_EDGE(__EXTI_LINE__) (EXTI->RTSR3 &= ~(__EXTI_LINE__));\ + (EXTI->FTSR3 |= (__EXTI_LINE__)) + +/** + * @brief enable falling edge interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP EXTI sources to be disabled. + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_ETH_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE(__EXTI_LINE__) (EXTI->RTSR3 |= (__EXTI_LINE__));\ + (EXTI->FTSR3 |= (__EXTI_LINE__)) + +/** + * @brief Generates a Software interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP EXTI sources to be disabled. + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_ETH_WAKEUP_EXTI_GENERATE_SWIT(__EXTI_LINE__) (EXTI->SWIER3 |= (__EXTI_LINE__)) + +/** + * @} + */ + +/* Include ETH HAL Extension module */ +#include "stm32h7xx_hal_eth_ex.h" + +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup ETH_Exported_Functions + * @{ + */ + +/** @addtogroup ETH_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de initialization functions **********************************/ +HAL_StatusTypeDef HAL_ETH_Init(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETH_DeInit(ETH_HandleTypeDef *heth); +void HAL_ETH_MspInit(ETH_HandleTypeDef *heth); +void HAL_ETH_MspDeInit(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETH_DescAssignMemory(ETH_HandleTypeDef *heth, uint32_t Index, uint8_t *pBuffer1,uint8_t *pBuffer2); +/** + * @} + */ + +/** @addtogroup ETH_Exported_Functions_Group2 + * @{ + */ +/* IO operation functions *******************************************************/ +HAL_StatusTypeDef HAL_ETH_Start(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETH_Start_IT(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETH_Stop(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETH_Stop_IT(ETH_HandleTypeDef *heth); + +uint8_t HAL_ETH_IsRxDataAvailable(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETH_GetRxDataBuffer(ETH_HandleTypeDef *heth, ETH_BufferTypeDef *pBuffer); +HAL_StatusTypeDef HAL_ETH_GetRxDataLength(ETH_HandleTypeDef *heth, uint32_t *Length); +HAL_StatusTypeDef HAL_ETH_GetRxDataInfo(ETH_HandleTypeDef *heth, ETH_RxPacketInfo *RxPacketInfo); +HAL_StatusTypeDef HAL_ETH_BuildRxDescriptors(ETH_HandleTypeDef *heth); + +HAL_StatusTypeDef HAL_ETH_Transmit(ETH_HandleTypeDef *heth, ETH_TxPacketConfig *pTxConfig, uint32_t Timeout); +HAL_StatusTypeDef HAL_ETH_Transmit_IT(ETH_HandleTypeDef *heth, ETH_TxPacketConfig *pTxConfig); + +HAL_StatusTypeDef HAL_ETH_WritePHYRegister(ETH_HandleTypeDef *heth, uint32_t PHYAddr, uint32_t PHYReg, uint32_t RegValue); +HAL_StatusTypeDef HAL_ETH_ReadPHYRegister(ETH_HandleTypeDef *heth, uint32_t PHYAddr, uint32_t PHYReg, uint32_t *pRegValue); + +void HAL_ETH_IRQHandler(ETH_HandleTypeDef *heth); +void HAL_ETH_TxCpltCallback(ETH_HandleTypeDef *heth); +void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef *heth); +void HAL_ETH_DMAErrorCallback(ETH_HandleTypeDef *heth); +void HAL_ETH_MACErrorCallback(ETH_HandleTypeDef *heth); +void HAL_ETH_PMTCallback(ETH_HandleTypeDef *heth); +void HAL_ETH_EEECallback(ETH_HandleTypeDef *heth); +void HAL_ETH_WakeUpCallback(ETH_HandleTypeDef *heth); +/** + * @} + */ + +/** @addtogroup ETH_Exported_Functions_Group3 + * @{ + */ +/* Peripheral Control functions **********************************************/ +/* MAC & DMA Configuration APIs **********************************************/ +HAL_StatusTypeDef HAL_ETH_GetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTypeDef *macconf); +HAL_StatusTypeDef HAL_ETH_GetDMAConfig(ETH_HandleTypeDef *heth, ETH_DMAConfigTypeDef *dmaconf); +HAL_StatusTypeDef HAL_ETH_SetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTypeDef *macconf); +HAL_StatusTypeDef HAL_ETH_SetDMAConfig(ETH_HandleTypeDef *heth, ETH_DMAConfigTypeDef *dmaconf); +void HAL_ETH_SetMDIOClockRange(ETH_HandleTypeDef *heth); + +/* MAC VLAN Processing APIs ************************************************/ +void HAL_ETH_SetRxVLANIdentifier(ETH_HandleTypeDef *heth, uint32_t ComparisonBits, uint32_t VLANIdentifier); + +/* MAC L2 Packet Filtering APIs **********************************************/ +HAL_StatusTypeDef HAL_ETH_GetMACFilterConfig(ETH_HandleTypeDef *heth, ETH_MACFilterConfigTypeDef *pFilterConfig); +HAL_StatusTypeDef HAL_ETH_SetMACFilterConfig(ETH_HandleTypeDef *heth, ETH_MACFilterConfigTypeDef *pFilterConfig); +HAL_StatusTypeDef HAL_ETH_SetHashTable(ETH_HandleTypeDef *heth, uint32_t *pHashTable); +HAL_StatusTypeDef HAL_ETH_SetSourceMACAddrMatch(ETH_HandleTypeDef *heth, uint32_t AddrNbr, uint8_t *pMACAddr); + +/* MAC Power Down APIs *****************************************************/ +void HAL_ETH_EnterPowerDownMode(ETH_HandleTypeDef *heth, ETH_PowerDownConfigTypeDef *pPowerDownConfig); +void HAL_ETH_ExitPowerDownMode(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETH_SetWakeUpFilter(ETH_HandleTypeDef *heth, uint32_t *pFilter, uint32_t Count); + +/** + * @} + */ + +/** @addtogroup ETH_Exported_Functions_Group4 + * @{ + */ +/* Peripheral State functions **************************************************/ +HAL_ETH_StateTypeDef HAL_ETH_GetState(ETH_HandleTypeDef *heth); +uint32_t HAL_ETH_GetError(ETH_HandleTypeDef *heth); +uint32_t HAL_ETH_GetDMAError(ETH_HandleTypeDef *heth); +uint32_t HAL_ETH_GetMACError(ETH_HandleTypeDef *heth); +uint32_t HAL_ETH_GetMACWakeUpSource(ETH_HandleTypeDef *heth); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* STM32H7xx_HAL_ETH_H */ + + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth_ex.h new file mode 100644 index 0000000000..203a2cfde3 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_eth_ex.h @@ -0,0 +1,369 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_eth_ex.h + * @author MCD Application Team + * @brief Header file of ETH HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_HAL_ETH_EX_H +#define STM32H7xx_HAL_ETH_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup ETHEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup ETHEx_Exported_Types ETHEx Exported Types + * @{ + */ + +/** + * @brief ETH RX VLAN structure definition + */ +typedef struct{ + FunctionalState InnerVLANTagInStatus; /*!< Enables or disables Inner VLAN Tag in Rx Status */ + + uint32_t StripInnerVLANTag; /*!< Sets the Inner VLAN Tag Stripping on Receive + This parameter can be a value of @ref ETHEx_Rx_Inner_VLAN_Tag_Stripping */ + + FunctionalState InnerVLANTag; /*!< Enables or disables Inner VLAN Tag */ + + FunctionalState DoubleVLANProcessing; /*!< Enable or Disable double VLAN processing */ + + FunctionalState VLANTagHashTableMatch; /*!< Enable or Disable VLAN Tag Hash Table Match */ + + FunctionalState VLANTagInStatus; /*!< Enable or Disable VLAN Tag in Rx status */ + + uint32_t StripVLANTag; /*!< Set the VLAN Tag Stripping on Receive + This parameter can be a value of @ref ETHEx_Rx_VLAN_Tag_Stripping */ + + uint32_t VLANTypeCheck; /*!< Enable or Disable VLAN Type Check + This parameter can be a value of @ref ETHEx_VLAN_Type_Check */ + + FunctionalState VLANTagInverceMatch; /*!< Enable or disable VLAN Tag Inverse Match */ +}ETH_RxVLANConfigTypeDef; +/** + * + */ + +/** + * @brief ETH TX VLAN structure definition + */ +typedef struct{ + FunctionalState SourceTxDesc; /*!< Enable or Disable VLAN tag source from DMA tx descriptors */ + + FunctionalState SVLANType; /*!< Enable or Disable insertion of SVLAN type */ + + uint32_t VLANTagControl; /*!< Sets the VLAN tag control in tx packets + This parameter can be a value of @ref ETHEx_VLAN_Tag_Control */ +}ETH_TxVLANConfigTypeDef; +/** + * + */ + +/** + * @brief ETH L3 filter structure definition + */ +typedef struct{ + uint32_t Protocol; /*!< Sets the L3 filter protocol to IPv4 or IPv6 + This parameter can be a value of @ref ETHEx_L3_Protocol */ + + uint32_t SrcAddrFilterMatch; /*!< Sets the L3 filter source address match + This parameter can be a value of @ref ETHEx_L3_Source_Match */ + + uint32_t DestAddrFilterMatch; /*!< Sets the L3 filter destination address match + This parameter can be a value of @ref ETHEx_L3_Destination_Match */ + + uint32_t SrcAddrHigherBitsMatch; /*!< Sets the L3 filter source address higher bits match + This parameter can be a value from 0 to 31 */ + + uint32_t DestAddrHigherBitsMatch; /*!< Sets the L3 filter destination address higher bits match + This parameter can be a value from 0 to 31 */ + + uint32_t Ip4SrcAddr; /*!< Sets the L3 filter IPv4 source address if IPv4 protocol is used + This parameter can be a value from 0x0 to 0xFFFFFFFF */ + + uint32_t Ip4DestAddr; /*!< Sets the L3 filter IPv4 destination address if IPv4 protocol is used + This parameter can be a value from 0 to 0xFFFFFFFF */ + + uint32_t Ip6Addr[4]; /*!< Sets the L3 filter IPv6 address if IPv6 protocol is used + This parameter must be a table of 4 words (4* 32 bits) */ +}ETH_L3FilterConfigTypeDef; +/** + * + */ + +/** + * @brief ETH L4 filter structure definition + */ +typedef struct{ + uint32_t Protocol; /*!< Sets the L4 filter protocol to TCP or UDP + This parameter can be a value of @ref ETHEx_L4_Protocol */ + + uint32_t SrcPortFilterMatch; /*!< Sets the L4 filter source port match + This parameter can be a value of @ref ETHEx_L4_Source_Match */ + + uint32_t DestPortFilterMatch; /*!< Sets the L4 filter destination port match + This parameter can be a value of @ref ETHEx_L4_Destination_Match */ + + uint32_t SourcePort; /*!< Sets the L4 filter source port + This parameter must be a value from 0x0 to 0xFFFF */ + + uint32_t DestinationPort; /*!< Sets the L4 filter destination port + This parameter must be a value from 0x0 to 0xFFFF */ +}ETH_L4FilterConfigTypeDef; +/** + * + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup ETHEx_Exported_Constants ETHEx Exported Constants + * @{ + */ + +/** @defgroup ETHEx_LPI_Event ETHEx LPI Event + * @{ + */ +#define ETH_TX_LPI_ENTRY ETH_MACLCSR_TLPIEN +#define ETH_TX_LPI_EXIT ETH_MACLCSR_TLPIEX +#define ETH_RX_LPI_ENTRY ETH_MACLCSR_RLPIEN +#define ETH_RX_LPI_EXIT ETH_MACLCSR_RLPIEX +/** + * @} + */ + +/** @defgroup ETHEx_L3_Filter ETHEx L3 Filter + * @{ + */ +#define ETH_L3_FILTER_0 ((uint32_t)0x00000000) +#define ETH_L3_FILTER_1 ((uint32_t)0x0000000C) +/** + * @} + */ + +/** @defgroup ETHEx_L4_Filter ETHEx L4 Filter + * @{ + */ +#define ETH_L4_FILTER_0 ((uint32_t)0x00000000) +#define ETH_L4_FILTER_1 ((uint32_t)0x0000000C) +/** + * @} + */ + +/** @defgroup ETHEx_L3_Protocol ETHEx L3 Protocol + * @{ + */ +#define ETH_L3_IPV6_MATCH ETH_MACL3L4CR_L3PEN +#define ETH_L3_IPV4_MATCH ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup ETHEx_L3_Source_Match ETHEx L3 Source Match + * @{ + */ +#define ETH_L3_SRC_ADDR_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L3SAM +#define ETH_L3_SRC_ADDR_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L3SAM | ETH_MACL3L4CR_L3SAIM) +#define ETH_L3_SRC_ADDR_MATCH_DISABLE ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup ETHEx_L3_Destination_Match ETHEx L3 Destination Match + * @{ + */ +#define ETH_L3_DEST_ADDR_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L3DAM +#define ETH_L3_DEST_ADDR_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L3DAM | ETH_MACL3L4CR_L3DAIM) +#define ETH_L3_DEST_ADDR_MATCH_DISABLE ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup ETHEx_L4_Protocol ETHEx L4 Protocol + * @{ + */ +#define ETH_L4_UDP_MATCH ETH_MACL3L4CR_L4PEN +#define ETH_L4_TCP_MATCH ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup ETHEx_L4_Source_Match ETHEx L4 Source Match + * @{ + */ +#define ETH_L4_SRC_PORT_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L4SPM +#define ETH_L4_SRC_PORT_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L4SPM |ETH_MACL3L4CR_L4SPIM) +#define ETH_L4_SRC_PORT_MATCH_DISABLE ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup ETHEx_L4_Destination_Match ETHEx L4 Destination Match + * @{ + */ +#define ETH_L4_DEST_PORT_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L4DPM +#define ETH_L4_DEST_PORT_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L4DPM | ETH_MACL3L4CR_L4DPIM) +#define ETH_L4_DEST_PORT_MATCH_DISABLE ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup ETHEx_Rx_Inner_VLAN_Tag_Stripping ETHEx Rx Inner VLAN Tag Stripping + * @{ + */ +#define ETH_INNERVLANTAGRXSTRIPPING_NONE ETH_MACVTR_EIVLS_DONOTSTRIP +#define ETH_INNERVLANTAGRXSTRIPPING_IFPASS ETH_MACVTR_EIVLS_STRIPIFPASS +#define ETH_INNERVLANTAGRXSTRIPPING_IFFAILS ETH_MACVTR_EIVLS_STRIPIFFAILS +#define ETH_INNERVLANTAGRXSTRIPPING_ALWAYS ETH_MACVTR_EIVLS_ALWAYSSTRIP +/** + * @} + */ + +/** @defgroup ETHEx_Rx_VLAN_Tag_Stripping ETHEx Rx VLAN Tag Stripping + * @{ + */ +#define ETH_VLANTAGRXSTRIPPING_NONE ETH_MACVTR_EVLS_DONOTSTRIP +#define ETH_VLANTAGRXSTRIPPING_IFPASS ETH_MACVTR_EVLS_STRIPIFPASS +#define ETH_VLANTAGRXSTRIPPING_IFFAILS ETH_MACVTR_EVLS_STRIPIFFAILS +#define ETH_VLANTAGRXSTRIPPING_ALWAYS ETH_MACVTR_EVLS_ALWAYSSTRIP +/** + * @} + */ + +/** @defgroup ETHEx_VLAN_Type_Check ETHEx VLAN Type Check + * @{ + */ +#define ETH_VLANTYPECHECK_DISABLE ETH_MACVTR_DOVLTC +#define ETH_VLANTYPECHECK_SVLAN (ETH_MACVTR_ERSVLM | ETH_MACVTR_ESVL) +#define ETH_VLANTYPECHECK_CVLAN ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup ETHEx_VLAN_Tag_Control ETHEx_VLAN_Tag_Control + * @{ + */ +#define ETH_VLANTAGCONTROL_NONE (ETH_MACVIR_VLP | ETH_MACVIR_VLC_NOVLANTAG) +#define ETH_VLANTAGCONTROL_DELETE (ETH_MACVIR_VLP | ETH_MACVIR_VLC_VLANTAGDELETE) +#define ETH_VLANTAGCONTROL_INSERT (ETH_MACVIR_VLP | ETH_MACVIR_VLC_VLANTAGINSERT) +#define ETH_VLANTAGCONTROL_REPLACE (ETH_MACVIR_VLP | ETH_MACVIR_VLC_VLANTAGREPLACE) +/** + * @} + */ + +/** @defgroup ETHEx_Tx_VLAN_Tag ETHEx Tx VLAN Tag + * @{ + */ +#define ETH_INNER_TX_VLANTAG ((uint32_t)0x00000001U) +#define ETH_OUTER_TX_VLANTAG ((uint32_t)0x00000000U) +/** + * @} + */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup ETHEx_Exported_Functions + * @{ + */ + +/** @addtogroup ETHEx_Exported_Functions_Group1 + * @{ + */ +/* MAC ARP Offloading APIs ***************************************************/ +void HAL_ETHEx_EnableARPOffload(ETH_HandleTypeDef *heth); +void HAL_ETHEx_DisableARPOffload(ETH_HandleTypeDef *heth); +void HAL_ETHEx_SetARPAddressMatch(ETH_HandleTypeDef *heth, uint32_t IpAddress); + +/* MAC L3 L4 Filtering APIs ***************************************************/ +void HAL_ETHEx_EnableL3L4Filtering(ETH_HandleTypeDef *heth); +void HAL_ETHEx_DisableL3L4Filtering(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETHEx_GetL3FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L3FilterConfigTypeDef *pL3FilterConfig); +HAL_StatusTypeDef HAL_ETHEx_GetL4FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L4FilterConfigTypeDef *pL4FilterConfig); +HAL_StatusTypeDef HAL_ETHEx_SetL3FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L3FilterConfigTypeDef *pL3FilterConfig); +HAL_StatusTypeDef HAL_ETHEx_SetL4FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L4FilterConfigTypeDef *pL4FilterConfig); + +/* MAC VLAN Processing APIs ************************************************/ +void HAL_ETHEx_EnableVLANProcessing(ETH_HandleTypeDef *heth); +void HAL_ETHEx_DisableVLANProcessing(ETH_HandleTypeDef *heth); +HAL_StatusTypeDef HAL_ETHEx_GetRxVLANConfig(ETH_HandleTypeDef *heth, ETH_RxVLANConfigTypeDef *pVlanConfig); +HAL_StatusTypeDef HAL_ETHEx_SetRxVLANConfig(ETH_HandleTypeDef *heth, ETH_RxVLANConfigTypeDef *pVlanConfig); +void HAL_ETHEx_SetVLANHashTable(ETH_HandleTypeDef *heth, uint32_t VLANHashTable); +HAL_StatusTypeDef HAL_ETHEx_GetTxVLANConfig(ETH_HandleTypeDef *heth, uint32_t VLANTag ,ETH_TxVLANConfigTypeDef *pVlanConfig); +HAL_StatusTypeDef HAL_ETHEx_SetTxVLANConfig(ETH_HandleTypeDef *heth, uint32_t VLANTag ,ETH_TxVLANConfigTypeDef *pVlanConfig); +void HAL_ETHEx_SetTxVLANIdentifier(ETH_HandleTypeDef *heth, uint32_t VLANTag ,uint32_t VLANIdentifier); + +/* Energy Efficient Ethernet APIs *********************************************/ +void HAL_ETHEx_EnterLPIMode(ETH_HandleTypeDef *heth, FunctionalState TxAutomate, FunctionalState TxClockStop); +void HAL_ETHEx_ExitLPIMode(ETH_HandleTypeDef *heth); +uint32_t HAL_ETHEx_GetMACLPIEvent(ETH_HandleTypeDef *heth); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* STM32H7xx_HAL_ETH_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_fdcan.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_fdcan.h new file mode 100644 index 0000000000..c650db0ff5 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_fdcan.h @@ -0,0 +1,2284 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_fdcan.h + * @author MCD Application Team + * @brief Header file of FDCAN HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_FDCAN_H +#define __STM32H7xx_HAL_FDCAN_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup FDCAN + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup FDCAN_Exported_Types FDCAN Exported Types + * @{ + */ + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_FDCAN_STATE_RESET = 0x00U, /*!< FDCAN not yet initialized or disabled */ + HAL_FDCAN_STATE_READY = 0x01U, /*!< FDCAN initialized and ready for use */ + HAL_FDCAN_STATE_BUSY = 0x02U, /*!< FDCAN process is ongoing */ + HAL_FDCAN_STATE_ERROR = 0x03U /*!< FDCAN error state */ +}HAL_FDCAN_StateTypeDef; + +/** + * @brief FDCAN Init structure definition + */ +typedef struct +{ + uint32_t FrameFormat; /*!< Specifies the FDCAN frame format. + This parameter can be a value of @ref FDCAN_frame_format */ + + uint32_t Mode; /*!< Specifies the FDCAN mode. + This parameter can be a value of @ref FDCAN_operating_mode */ + + FunctionalState AutoRetransmission; /*!< Enable or disable the automatic retransmission mode. + This parameter can be set to ENABLE or DISABLE */ + + FunctionalState TransmitPause; /*!< Enable or disable the Transmit Pause feature. + This parameter can be set to ENABLE or DISABLE */ + + FunctionalState ProtocolException; /*!< Enable or disable the Protocol Exception Handling. + This parameter can be set to ENABLE or DISABLE */ + + uint32_t NominalPrescaler; /*!< Specifies the value by which the oscillator frequency is + divided for generating the nominal bit time quanta. + This parameter must be a number between 1 and 512 */ + + uint32_t NominalSyncJumpWidth; /*!< Specifies the maximum number of time quanta the FDCAN + hardware is allowed to lengthen or shorten a bit to perform + resynchronization. + This parameter must be a number between 1 and 128 */ + + uint32_t NominalTimeSeg1; /*!< Specifies the number of time quanta in Bit Segment 1. + This parameter must be a number between 2 and 256 */ + + uint32_t NominalTimeSeg2; /*!< Specifies the number of time quanta in Bit Segment 2. + This parameter must be a number between 2 and 128 */ + + uint32_t DataPrescaler; /*!< Specifies the value by which the oscillator frequency is + divided for generating the data bit time quanta. + This parameter must be a number between 1 and 32 */ + + uint32_t DataSyncJumpWidth; /*!< Specifies the maximum number of time quanta the FDCAN + hardware is allowed to lengthen or shorten a data bit to + perform resynchronization. + This parameter must be a number between 1 and 16 */ + + uint32_t DataTimeSeg1; /*!< Specifies the number of time quanta in Data Bit Segment 1. + This parameter must be a number between 1 and 32 */ + + uint32_t DataTimeSeg2; /*!< Specifies the number of time quanta in Data Bit Segment 2. + This parameter must be a number between 1 and 16 */ + + uint32_t MessageRAMOffset; /*!< Specifies the message RAM start address. + This parameter must be a number between 0 and 2560 */ + + uint32_t StdFiltersNbr; /*!< Specifies the number of standard Message ID filters. + This parameter must be a number between 0 and 128 */ + + uint32_t ExtFiltersNbr; /*!< Specifies the number of extended Message ID filters. + This parameter must be a number between 0 and 64 */ + + uint32_t RxFifo0ElmtsNbr; /*!< Specifies the number of Rx FIFO0 Elements. + This parameter must be a number between 0 and 64 */ + + uint32_t RxFifo0ElmtSize; /*!< Specifies the Data Field Size in an Rx FIFO 0 element. + This parameter can be a value of @ref FDCAN_data_field_size */ + + uint32_t RxFifo1ElmtsNbr; /*!< Specifies the number of Rx FIFO 1 Elements. + This parameter must be a number between 0 and 64 */ + + uint32_t RxFifo1ElmtSize; /*!< Specifies the Data Field Size in an Rx FIFO 1 element. + This parameter can be a value of @ref FDCAN_data_field_size */ + + uint32_t RxBuffersNbr; /*!< Specifies the number of Dedicated Rx Buffer elements. + This parameter must be a number between 0 and 64 */ + + uint32_t RxBufferSize; /*!< Specifies the Data Field Size in an Rx Buffer element. + This parameter can be a value of @ref FDCAN_data_field_size */ + + uint32_t TxEventsNbr; /*!< Specifies the number of Tx Event FIFO elements. + This parameter must be a number between 0 and 32 */ + + uint32_t TxBuffersNbr; /*!< Specifies the number of Dedicated Tx Buffers. + This parameter must be a number between 0 and 32 */ + + uint32_t TxFifoQueueElmtsNbr; /*!< Specifies the number of Tx Buffers used for Tx FIFO/Queue. + This parameter must be a number between 0 and 32 */ + + uint32_t TxFifoQueueMode; /*!< Tx FIFO/Queue Mode selection. + This parameter can be a value of @ref FDCAN_txFifoQueue_Mode */ + + uint32_t TxElmtSize; /*!< Specifies the Data Field Size in a Tx Element. + This parameter can be a value of @ref FDCAN_data_field_size */ + +}FDCAN_InitTypeDef; + +/** + * @brief FDCAN clock calibration unit structure definition + */ +typedef struct +{ + uint32_t ClockCalibration; /*!< Enable or disable the clock calibration. + This parameter can be set to ENABLE or DISABLE */ + + uint32_t ClockDivider; /*!< Specifies the FDCAN kernel clock divider when the clock calibration + is bypassed. + This parameter can be a value of @ref FDCAN_clock_divider */ + + uint32_t MinOscClkPeriods; /*!< Configures the minimum number of periods in two CAN bit times. The + actual configured number of periods is MinOscClkPeriods x 32. + This parameter must be a number between 0x00 and 0xFF */ + + uint32_t CalFieldLength; /*!< Specifies the calibration field length. + This parameter can be a value of @ref FDCAN_calibration_field_length */ + + uint32_t TimeQuantaPerBitTime; /*!< Configures the number of time quanta per bit time. + This parameter must be a number between 4 and 25 */ + + uint32_t WatchdogStartValue; /*!< Start value of the Calibration Watchdog Counter. + If set to zero the counter is disabled. + This parameter must be a number between 0x0000 and 0xFFFF */ + +}FDCAN_ClkCalUnitTypeDef; + +/** + * @brief FDCAN filter structure definition + */ +typedef struct +{ + uint32_t IdType; /*!< Specifies the identifier type. + This parameter can be a value of @ref FDCAN_id_type */ + + uint32_t FilterIndex; /*!< Specifies the filter which will be initialized. + This parameter must be a number between: + - 0 and 127, if IdType is FDCAN_STANDARD_ID + - 0 and 63, if IdType is FDCAN_EXTENDED_ID */ + + uint32_t FilterType; /*!< Specifies the filter type. + This parameter can be a value of @ref FDCAN_filter_type. + The value FDCAN_EXT_FILTER_RANGE_NO_EIDM is permitted + only when IdType is FDCAN_EXTENDED_ID. + This parameter is ignored if FilterConfig is set to + FDCAN_FILTER_TO_RXBUFFER */ + + uint32_t FilterConfig; /*!< Specifies the filter configuration. + This parameter can be a value of @ref FDCAN_filter_config */ + + uint32_t FilterID1; /*!< Specifies the filter identification 1. + This parameter must be a number between: + - 0 and 0x7FF, if IdType is FDCAN_STANDARD_ID + - 0 and 0x1FFFFFFF, if IdType is FDCAN_EXTENDED_ID */ + + uint32_t FilterID2; /*!< Specifies the filter identification 2. + This parameter is ignored if FilterConfig is set to + FDCAN_FILTER_TO_RXBUFFER. + This parameter must be a number between: + - 0 and 0x7FF, if IdType is FDCAN_STANDARD_ID + - 0 and 0x1FFFFFFF, if IdType is FDCAN_EXTENDED_ID */ + + uint32_t RxBufferIndex; /*!< Contains the index of the Rx buffer in which the + matching message will be stored. + This parameter must be a number between 0 and 63. + This parameter is ignored if FilterConfig is different + from FDCAN_FILTER_TO_RXBUFFER */ + + uint32_t IsCalibrationMsg; /*!< Specifies whether the filter is configured for + calibration messages. + This parameter is ignored if FilterConfig is different + from FDCAN_FILTER_TO_RXBUFFER. + This parameter can be: + - 0 : ordinary message + - 1 : calibration message */ + +}FDCAN_FilterTypeDef; + +/** + * @brief FDCAN Tx header structure definition + */ +typedef struct +{ + uint32_t Identifier; /*!< Specifies the identifier. + This parameter must be a number between: + - 0 and 0x7FF, if IdType is FDCAN_STANDARD_ID + - 0 and 0x1FFFFFFF, if IdType is FDCAN_EXTENDED_ID */ + + uint32_t IdType; /*!< Specifies the identifier type for the message that will be + transmitted. + This parameter can be a value of @ref FDCAN_id_type */ + + uint32_t TxFrameType; /*!< Specifies the frame type of the message that will be transmitted. + This parameter can be a value of @ref FDCAN_frame_type */ + + uint32_t DataLength; /*!< Specifies the length of the frame that will be transmitted. + This parameter can be a value of @ref FDCAN_data_length_code */ + + uint32_t ErrorStateIndicator; /*!< Specifies the error state indicator. + This parameter can be a value of @ref FDCAN_error_state_indicator */ + + uint32_t BitRateSwitch; /*!< Specifies whether the Tx frame will be transmitted with or without + bit rate switching. + This parameter can be a value of @ref FDCAN_bit_rate_switching */ + + uint32_t FDFormat; /*!< Specifies whether the Tx frame will be transmitted in classic or + FD format. + This parameter can be a value of @ref FDCAN_format */ + + uint32_t TxEventFifoControl; /*!< Specifies the event FIFO control. + This parameter can be a value of @ref FDCAN_EFC */ + + uint32_t MessageMarker; /*!< Specifies the message marker to be copied into Tx Event FIFO + element for identification of Tx message status. + This parameter must be a number between 0 and 0xFF */ + +}FDCAN_TxHeaderTypeDef; + +/** + * @brief FDCAN Rx header structure definition + */ +typedef struct +{ + uint32_t Identifier; /*!< Specifies the identifier. + This parameter must be a number between: + - 0 and 0x7FF, if IdType is FDCAN_STANDARD_ID + - 0 and 0x1FFFFFFF, if IdType is FDCAN_EXTENDED_ID */ + + uint32_t IdType; /*!< Specifies the identifier type of the received message. + This parameter can be a value of @ref FDCAN_id_type */ + + uint32_t RxFrameType; /*!< Specifies the the received message frame type. + This parameter can be a value of @ref FDCAN_frame_type */ + + uint32_t DataLength; /*!< Specifies the received frame length. + This parameter can be a value of @ref FDCAN_data_length_code */ + + uint32_t ErrorStateIndicator; /*!< Specifies the error state indicator. + This parameter can be a value of @ref FDCAN_error_state_indicator */ + + uint32_t BitRateSwitch; /*!< Specifies whether the Rx frame is received with or without bit + rate switching. + This parameter can be a value of @ref FDCAN_bit_rate_switching */ + + uint32_t FDFormat; /*!< Specifies whether the Rx frame is received in classic or FD + format. + This parameter can be a value of @ref FDCAN_format */ + + uint32_t RxTimestamp; /*!< Specifies the timestamp counter value captured on start of frame + reception. + This parameter must be a number between 0 and 0xFFFF */ + + uint32_t FilterIndex; /*!< Specifies the index of matching Rx acceptance filter element. + This parameter must be a number between: + - 0 and 127, if IdType is FDCAN_STANDARD_ID + - 0 and 63, if IdType is FDCAN_EXTENDED_ID */ + + uint32_t IsFilterMatchingFrame; /*!< Specifies whether the accepted frame did not match any Rx filter. + Acceptance of non-matching frames may be enabled via + HAL_FDCAN_ConfigGlobalFilter(). + This parameter can be 0 or 1 */ + +}FDCAN_RxHeaderTypeDef; + +/** + * @brief FDCAN Tx event FIFO structure definition + */ +typedef struct +{ + uint32_t Identifier; /*!< Specifies the identifier. + This parameter must be a number between: + - 0 and 0x7FF, if IdType is FDCAN_STANDARD_ID + - 0 and 0x1FFFFFFF, if IdType is FDCAN_EXTENDED_ID */ + + uint32_t IdType; /*!< Specifies the identifier type for the transmitted message. + This parameter can be a value of @ref FDCAN_id_type */ + + uint32_t TxFrameType; /*!< Specifies the frame type of the transmitted message. + This parameter can be a value of @ref FDCAN_frame_type */ + + uint32_t DataLength; /*!< Specifies the length of the transmitted frame. + This parameter can be a value of @ref FDCAN_data_length_code */ + + uint32_t ErrorStateIndicator; /*!< Specifies the error state indicator. + This parameter can be a value of @ref FDCAN_error_state_indicator */ + + uint32_t BitRateSwitch; /*!< Specifies whether the Tx frame is transmitted with or without bit + rate switching. + This parameter can be a value of @ref FDCAN_bit_rate_switching */ + + uint32_t FDFormat; /*!< Specifies whether the Tx frame is transmitted in classic or FD + format. + This parameter can be a value of @ref FDCAN_format */ + + uint32_t TxTimestamp; /*!< Specifies the timestamp counter value captured on start of frame + transmission. + This parameter must be a number between 0 and 0xFFFF */ + + uint32_t MessageMarker; /*!< Specifies the message marker copied into Tx Event FIFO element + for identification of Tx message status. + This parameter must be a number between 0 and 0xFF */ + + uint32_t EventType; /*!< Specifies the event type. + This parameter can be a value of @ref FDCAN_event_type */ + +}FDCAN_TxEventFifoTypeDef; + +/** + * @brief FDCAN High Priority Message Status structure definition + */ +typedef struct +{ + uint32_t FilterList; /*!< Specifies the filter list of the matching filter element. + This parameter can be: + - 0 : Standard Filter List + - 1 : Extended Filter List */ + + uint32_t FilterIndex; /*!< Specifies the index of matching filter element. + This parameter can be a number between: + - 0 and 127, if FilterList is 0 (Standard) + - 0 and 63, if FilterList is 1 (Extended) */ + + uint32_t MessageStorage; /*!< Specifies the HP Message Storage. + This parameter can be a value of @ref FDCAN_hp_msg_storage */ + + uint32_t MessageIndex; /*!< Specifies the Index of Rx FIFO element to which the + message was stored. + This parameter is valid only when MessageStorage is: + FDCAN_HP_STORAGE_RXFIFO0 + or + FDCAN_HP_STORAGE_RXFIFO1 */ + +}FDCAN_HpMsgStatusTypeDef; + +/** + * @brief FDCAN Protocol Status structure definition + */ +typedef struct +{ + uint32_t LastErrorCode; /*!< Specifies the type of the last error that occurred on the FDCAN bus. + This parameter can be a value of @ref FDCAN_protocol_error_code */ + + uint32_t DataLastErrorCode; /*!< Specifies the type of the last error that occurred in the data phase of a CAN FD format + frame with its BRS flag set. + This parameter can be a value of @ref FDCAN_protocol_error_code */ + + uint32_t Activity; /*!< Specifies the FDCAN module communication state. + This parameter can be a value of @ref FDCAN_communication_state */ + + uint32_t ErrorPassive; /*!< Specifies the FDCAN module error status. + This parameter can be: + - 0 : The FDCAN is in Error_Active state + - 1 : The FDCAN is in Error_Passive state */ + + uint32_t Warning; /*!< Specifies the FDCAN module warning status. + This parameter can be: + - 0 : error counters (RxErrorCnt and TxErrorCnt) are below the Error_Warning limit of 96 + - 1 : at least one of error counters has reached the Error_Warning limit of 96 */ + + uint32_t BusOff; /*!< Specifies the FDCAN module Bus_Off status. + This parameter can be: + - 0 : The FDCAN is not in Bus_Off state + - 1 : The FDCAN is in Bus_Off state */ + + uint32_t RxESIflag; /*!< Specifies ESI flag of last received CAN FD message. + This parameter can be: + - 0 : Last received CAN FD message did not have its ESI flag set + - 1 : Last received CAN FD message had its ESI flag set */ + + uint32_t RxBRSflag; /*!< Specifies BRS flag of last received CAN FD message. + This parameter can be: + - 0 : Last received CAN FD message did not have its BRS flag set + - 1 : Last received CAN FD message had its BRS flag set */ + + uint32_t RxFDFflag; /*!< Specifies FDF flag of last received CAN FD message. + This parameter can be: + - 0 : Last received CAN FD message did not have its FDF flag set + - 1 : Last received CAN FD message had its FDF flag set */ + + uint32_t ProtocolException; /*!< Specifies the FDCAN module Protocol Exception status. + This parameter can be: + - 0 : No protocol exception event occurred since last read access + - 1 : Protocol exception event occurred */ + + uint32_t TDCvalue; /*!< Specifies the Transmitter Delay Compensation Value. + This parameter can be a number between 0 and 127 */ + +}FDCAN_ProtocolStatusTypeDef; + +/** + * @brief FDCAN Error Counters structure definition + */ +typedef struct +{ + uint32_t TxErrorCnt; /*!< Specifies the Transmit Error Counter Value. + This parameter can be a number between 0 and 255 */ + + uint32_t RxErrorCnt; /*!< Specifies the Receive Error Counter Value. + This parameter can be a number between 0 and 127 */ + + uint32_t RxErrorPassive; /*!< Specifies the Receive Error Passive status. + This parameter can be: + - 0 : The Receive Error Counter (RxErrorCnt) is below the error passive level of 128 + - 1 : The Receive Error Counter (RxErrorCnt) has reached the error passive level of 128 */ + + uint32_t ErrorLogging; /*!< Specifies the Transmit/Receive error logging counter value. + This parameter can be a number between 0 and 127. + This counter is incremented each time when a FDCAN protocol error causes the TxErrorCnt + or the RxErrorCnt to be incremented. The counter stops at 127; the next increment of + TxErrorCnt or RxErrorCnt sets interrupt flag FDCAN_FLAG_ERROR_LOGGING_OVERFLOW */ + +}FDCAN_ErrorCountersTypeDef; + +/** + * @brief FDCAN TT Init structure definition + */ +typedef struct +{ + uint32_t OperationMode; /*!< Specifies the FDCAN Operation Mode. + This parameter can be a value of @ref FDCAN_operation_mode */ + + uint32_t GapEnable; /*!< Specifies the FDCAN TT Operation. + This parameter can be a value of @ref FDCAN_TT_operation. + This parameter is ignored if OperationMode is set to + FDCAN_TT_COMMUNICATION_LEVEL0 */ + + uint32_t TimeMaster; /*!< Specifies whether the instance is a slave or a potential master. + This parameter can be a value of @ref FDCAN_TT_time_master */ + + uint32_t SyncDevLimit; /*!< Specifies the Synchronization Deviation Limit SDL of the TUR + numerator : TUR = (Numerator ± SDL) / Denominator. + With : SDL = 2^(SyncDevLimit+5). + This parameter must be a number between 0 and 7 */ + + uint32_t InitRefTrigOffset; /*!< Specifies the Initial Reference Trigger Offset. + This parameter must be a number between 0 and 127 */ + + uint32_t ExternalClkSync; /*!< Enable or disable External Clock Synchronization. + This parameter can be a value of @ref FDCAN_TT_external_clk_sync. + This parameter is ignored if OperationMode is set to + FDCAN_TT_COMMUNICATION_LEVEL1 */ + + uint32_t AppWdgLimit; /*!< Specifies the Application Watchdog Limit : maximum time after + which the application has to serve the application watchdog. + The application watchdog is incremented once each 256 NTUs. + The application watchdog can be disabled by setting AppWdgLimit to 0. + This parameter must be a number between 0 and 255. + This parameter is ignored if OperationMode is set to + FDCAN_TT_COMMUNICATION_LEVEL0 */ + + uint32_t GlobalTimeFilter; /*!< Enable or disable Global Time Filtering. + This parameter can be a value of @ref FDCAN_TT_global_time_filtering. + This parameter is ignored if OperationMode is set to + FDCAN_TT_COMMUNICATION_LEVEL1 */ + + uint32_t ClockCalibration; /*!< Enable or disable Automatic Clock Calibration. + This parameter can be a value of @ref FDCAN_TT_auto_clk_calibration. + This parameter is ignored if OperationMode is set to + FDCAN_TT_COMMUNICATION_LEVEL1 */ + + uint32_t EvtTrigPolarity; /*!< Specifies the Event Trigger Polarity. + This parameter can be a value of @ref FDCAN_TT_event_trig_polarity. + This parameter is ignored if OperationMode is set to + FDCAN_TT_COMMUNICATION_LEVEL0 */ + + uint32_t BasicCyclesNbr; /*!< Specifies the nubmer of basic cycles in the system matrix. + This parameter can be a value of @ref FDCAN_TT_basic_cycle_number */ + + uint32_t CycleStartSync; /*!< Enable or disable synchronization pulse output at pin fdcan1_soc. + This parameter can be a value of @ref FDCAN_TT_cycle_start_sync */ + + uint32_t TxEnableWindow; /*!< Specifies the length of Tx enable window in NTUs. + This parameter must be a number between 1 and 16 */ + + uint32_t ExpTxTrigNbr; /*!< Specifies the number of expected Tx_Triggers in the system matrix. + This is the sum of Tx_Triggers for exclusive, single arbitrating and + merged arbitrating windows. + This parameter must be a number between 0 and 4095 */ + + uint32_t TURNumerator; /*!< Specifies the TUR (Time Unit Ratio) numerator. + It is adviced to set this parameter to the largest applicable value. + This parameter must be a number between 0x10000 and 0x1FFFF */ + + uint32_t TURDenominator; /*!< Specifies the TUR (Time Unit Ratio) denominator. + This parameter must be a number between 0x0001 and 0x3FFF */ + + uint32_t TriggerMemoryNbr; /*!< Specifies the number of trigger memory elements. + This parameter must be a number between 0 and 64 */ + + uint32_t StopWatchTrigSel; /*!< Specifies the input to be used as stop watch trigger. + This parameter can be a value of @ref FDCAN_TT_stop_watch_trig_selection */ + + uint32_t EventTrigSel; /*!< Specifies the input to be used as event trigger. + This parameter can be a value of @ref FDCAN_TT_event_trig_selection */ + +}FDCAN_TT_ConfigTypeDef; + +/** + * @brief FDCAN Trigger structure definition + */ +typedef struct +{ + uint32_t TriggerIndex; /*!< Specifies the trigger which will be configured. + This parameter must be a number between 0 and 63 */ + + uint32_t TimeMark; /*!< Specifies the cycle time for which the trigger becomes active. + This parameter must be a number between 0 and 0xFFFF */ + + uint32_t RepeatFactor; /*!< Specifies the trigger repeat factor. + This parameter can be a value of @ref FDCAN_TT_Repeat_Factor */ + + uint32_t StartCycle; /*!< Specifies the index of the first cycle in which the trigger becomes active. + This parameter is ignored if RepeatFactor is set to FDCAN_TT_REPEAT_EVERY_CYCLE. + This parameter must be a number between 0 and RepeatFactor */ + + uint32_t TmEventInt; /*!< Enable or disable the internal time mark event. + If enabled, FDCAN_TT_FLAG_TRIG_TIME_MARK flag is set when trigger memory element + becomes active. + This parameter can be a value of @ref FDCAN_TT_Time_Mark_Event_Internal */ + + uint32_t TmEventExt; /*!< Enable or disable the external time mark event. + If enabled, and if TTOCN.TTIE is set, a pulse is generated at fdcan1_tmp when + trigger memory element becomes active. + This parameter can be a value of @ref FDCAN_TT_Time_Mark_Event_External */ + + uint32_t TriggerType; /*!< Specifies the trigger type. + This parameter can be a value of @ref FDCAN_TT_Trigger_Type */ + + uint32_t FilterType; /*!< Specifies the filter identifier type. + This parameter can be a value of @ref FDCAN_id_type */ + + uint32_t TxBufferIndex; /*!< Specifies the index of the Tx buffer for which the trigger is valid. + This parameter can be a value of @ref FDCAN_Tx_location. + This parameter is taken in consideration only if the trigger is configured for + transmission. */ + + uint32_t FilterIndex; /*!< Specifies the filter for which the trigger is valid. + This parameter is taken in consideration only if the trigger is configured for + reception. + This parameter must be a number between: + - 0 and 127, if FilterType is FDCAN_STANDARD_ID + - 0 and 63, if FilterType is FDCAN_EXTENDED_ID */ + +}FDCAN_TriggerTypeDef; + +/** + * @brief FDCAN TT Operation Status structure definition + */ +typedef struct +{ + uint32_t ErrorLevel; /*!< Specifies the type of the TT operation error level. + This parameter can be a value of @ref FDCAN_TT_error_level */ + + uint32_t MasterState; /*!< Specifies the type of the TT master state. + This parameter can be a value of @ref FDCAN_TT_master_state */ + + uint32_t SyncState; /*!< Specifies the type of the TT synchronization state. + This parameter can be a value of @ref FDCAN_TT_sync_state */ + + uint32_t GTimeQuality; /*!< Specifies the Quality of Global Time Phase. + This parameter is only relevant in Level 0 and Level 2, otherwise fixed to 0. + This parameter can be: + - 0 : Global time not valid + - 1 : Global time in phase with Time Master */ + + uint32_t ClockQuality; /*!< Specifies the Quality of Clock Speed. + This parameter is only relevant in Level 0 and Level 2, otherwise fixed to 1. + This parameter can be: + - 0 : Local clock speed not synchronized to Time Master clock speed + - 1 : Synchronization Deviation ≤ SDL */ + + uint32_t RefTrigOffset; /*!< Specifies the Actual Reference Trigger Offset Value. + This parameter can be a number between 0 and 0xFF */ + + uint32_t GTimeDiscPending; /*!< Specifies the Global Time Discontinuity State. + This parameter can be: + - 0 : No global time preset pending + - 1 : Node waits for the global time preset to take effect */ + + uint32_t GapFinished; /*!< Specifies whether a Gap is finished. + This parameter can be: + - 0 : Reset at the end of each reference message + - 1 : Gap finished */ + + uint32_t MasterPriority; /*!< Specifies the Priority of actual Time Master. + This parameter can be a number between 0 and 0x7 */ + + uint32_t GapStarted; /*!< Specifies whether a Gap is started. + This parameter can be: + - 0 : No Gap in schedule + - 1 : Gap time after Basic Cycle has started */ + + uint32_t WaitForEvt; /*!< Specifies whether a Gap is annouced. + This parameter can be: + - 0 : No Gap announced, reset by a reference message with Next_is_Gap = 0 + - 1 : Reference message with Next_is_Gap = 1 received */ + + uint32_t AppWdgEvt; /*!< Specifies the Application Watchdog State. + This parameter can be: + - 0 : Application Watchdog served in time + - 1 : Failed to serve Application Watchdog in time */ + + uint32_t ECSPending; /*!< Specifies the External Clock Synchronization State. + This parameter can be: + - 0 : No external clock synchronization pending + - 1 : Node waits for external clock synchronization to take effect */ + + uint32_t PhaseLock; /*!< Specifies the Phase Lock State. + This parameter can be: + - 0 : Phase outside range + - 1 : Phase inside range */ + +}FDCAN_TTOperationStatusTypeDef; + +/** + * @brief FDCAN Message RAM blocks + */ +typedef struct +{ + uint32_t StandardFilterSA; /*!< Specifies the Standard Filter List Start Address. + This parameter must be a 32-bit word address */ + + uint32_t ExtendedFilterSA; /*!< Specifies the Extended Filter List Start Address. + This parameter must be a 32-bit word address */ + + uint32_t RxFIFO0SA; /*!< Specifies the Rx FIFO 0 Start Address. + This parameter must be a 32-bit word address */ + + uint32_t RxFIFO1SA; /*!< Specifies the Rx FIFO 1 Start Address. + This parameter must be a 32-bit word address */ + + uint32_t RxBufferSA; /*!< Specifies the Rx Buffer Start Address. + This parameter must be a 32-bit word address */ + + uint32_t TxEventFIFOSA; /*!< Specifies the Tx Event FIFO Start Address. + This parameter must be a 32-bit word address */ + + uint32_t TxBufferSA; /*!< Specifies the Tx Buffers Start Address. + This parameter must be a 32-bit word address */ + + uint32_t TxFIFOQSA; /*!< Specifies the Tx FIFO/Queue Start Address. + This parameter must be a 32-bit word address */ + + uint32_t TTMemorySA; /*!< Specifies the Trigger Memory Start Address. + This parameter must be a 32-bit word address */ + + uint32_t EndAddress; /*!< Specifies the End Address of the allocated RAM. + This parameter must be a 32-bit word address */ + +}FDCAN_MsgRamAddressTypeDef; + +/** + * @brief FDCAN handle structure definition + */ +typedef struct +{ + FDCAN_GlobalTypeDef *Instance; /*!< Register base address */ + + TTCAN_TypeDef *ttcan; /*!< TT register base address */ + + FDCAN_InitTypeDef Init; /*!< FDCAN required parameters */ + + FDCAN_MsgRamAddressTypeDef msgRam; /*!< FDCAN Message RAM blocks */ + + __IO HAL_FDCAN_StateTypeDef State; /*!< FDCAN communication state */ + + HAL_LockTypeDef Lock; /*!< FDCAN locking object */ + + __IO uint32_t ErrorCode; /*!< FDCAN Error code */ + +}FDCAN_HandleTypeDef; + + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup FDCAN_Exported_Constants FDCAN Exported Constants + * @{ + */ + +/** @defgroup HAL_FDCAN_Error_Code HAL FDCAN Error Code + * @{ + */ +#define HAL_FDCAN_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define HAL_FDCAN_ERROR_TIMEOUT ((uint32_t)0x00000001U) /*!< Timeout error */ +#define HAL_FDCAN_ERROR_NOT_INITIALIZED ((uint32_t)0x00000002U) /*!< Peripheral not initialized */ +#define HAL_FDCAN_ERROR_NOT_READY ((uint32_t)0x00000004U) /*!< Peripheral not ready */ +#define HAL_FDCAN_ERROR_NOT_STARTED ((uint32_t)0x00000008U) /*!< Peripheral not started */ +#define HAL_FDCAN_ERROR_NOT_SUPPORTED ((uint32_t)0x00000010U) /*!< Mode not supported */ +#define HAL_FDCAN_ERROR_PARAM ((uint32_t)0x00000020U) /*!< Parameter error */ +#define HAL_FDCAN_ERROR_PENDING ((uint32_t)0x00000040U) /*!< Pending operation */ +#define HAL_FDCAN_ERROR_RAM_ACCESS ((uint32_t)0x00000080U) /*!< Message RAM Access Failure */ +#define HAL_FDCAN_ERROR_LOG_OVERFLOW FDCAN_IR_ELO /*!< Overflow of CAN Error Logging Counter */ +#define HAL_FDCAN_ERROR_RAM_WDG FDCAN_IR_WDI /*!< Message RAM Watchdog event occurred */ +#define HAL_FDCAN_ERROR_PROTOCOL_ARBT FDCAN_IR_PEA /*!< Protocol Error in Arbitration Phase (Nominal Bit Time is used) */ +#define HAL_FDCAN_ERROR_PROTOCOL_DATA FDCAN_IR_PED /*!< Protocol Error in Data Phase (Data Bit Time is used) */ +#define HAL_FDCAN_ERROR_RESEVED_AREA FDCAN_IR_ARA /*!< Access to Reserved Address */ +#define HAL_FDCAN_ERROR_TT_GLOBAL_TIME FDCAN_TTIR_GTE /*!< Global Time Error : Synchronization deviation exceeded limit */ +#define HAL_FDCAN_ERROR_TT_TX_UNDERFLOW FDCAN_TTIR_TXU /*!< Tx Count Underflow : Less Tx trigger than expected in one matrix cycle */ +#define HAL_FDCAN_ERROR_TT_TX_OVERFLOW FDCAN_TTIR_TXO /*!< Tx Count Overflow : More Tx trigger than expected in one matrix cycle */ +#define HAL_FDCAN_ERROR_TT_SCHEDULE1 FDCAN_TTIR_SE1 /*!< Scheduling error 1 */ +#define HAL_FDCAN_ERROR_TT_SCHEDULE2 FDCAN_TTIR_SE2 /*!< Scheduling error 2 */ +#define HAL_FDCAN_ERROR_TT_NO_INIT_REF FDCAN_TTIR_IWT /*!< No system startup due to missing reference message */ +#define HAL_FDCAN_ERROR_TT_NO_REF FDCAN_TTIR_WT /*!< Missing reference message */ +#define HAL_FDCAN_ERROR_TT_APPL_WDG FDCAN_TTIR_AW /*!< Application watchdog not served in time */ +#define HAL_FDCAN_ERROR_TT_CONFIG FDCAN_TTIR_CER /*!< Error found in trigger list */ +/** + * @} + */ + +/** @defgroup FDCAN_frame_format FDCAN Frame Format + * @{ + */ +#define FDCAN_FRAME_CLASSIC ((uint32_t)0x00000000U) /*!< Classic mode */ +#define FDCAN_FRAME_FD_NO_BRS ((uint32_t)FDCAN_CCCR_FDOE) /*!< FD mode without BitRate Switshing */ +#define FDCAN_FRAME_FD_BRS ((uint32_t)(FDCAN_CCCR_FDOE | FDCAN_CCCR_BRSE)) /*!< FD mode with BitRate Switshing */ +/** + * @} + */ + +/** @defgroup FDCAN_operating_mode FDCAN Operating Mode + * @{ + */ +#define FDCAN_MODE_NORMAL ((uint32_t)0x00000000U) /*!< Normal mode */ +#define FDCAN_MODE_RESTRICTED_OPERATION ((uint32_t)0x00000001U) /*!< Restricted Operation mode */ +#define FDCAN_MODE_BUS_MONITORING ((uint32_t)0x00000002U) /*!< Bus Monitoring mode */ +#define FDCAN_MODE_INTERNAL_LOOPBACK ((uint32_t)0x00000003U) /*!< Internal LoopBack mode */ +#define FDCAN_MODE_EXTERNAL_LOOPBACK ((uint32_t)0x00000004U) /*!< External LoopBack mode */ +/** + * @} + */ + +/** @defgroup FDCAN_clock_divider FDCAN Clock Divider + * @{ + */ +#define FDCAN_CLOCK_DIV1 ((uint32_t)0x00000000U) /*!< Divide kernel clock by 1 */ +#define FDCAN_CLOCK_DIV2 ((uint32_t)0x00010000U) /*!< Divide kernel clock by 2 */ +#define FDCAN_CLOCK_DIV4 ((uint32_t)0x00020000U) /*!< Divide kernel clock by 4 */ +#define FDCAN_CLOCK_DIV6 ((uint32_t)0x00030000U) /*!< Divide kernel clock by 6 */ +#define FDCAN_CLOCK_DIV8 ((uint32_t)0x00040000U) /*!< Divide kernel clock by 8 */ +#define FDCAN_CLOCK_DIV10 ((uint32_t)0x00050000U) /*!< Divide kernel clock by 10 */ +#define FDCAN_CLOCK_DIV12 ((uint32_t)0x00060000U) /*!< Divide kernel clock by 12 */ +#define FDCAN_CLOCK_DIV14 ((uint32_t)0x00070000U) /*!< Divide kernel clock by 14 */ +#define FDCAN_CLOCK_DIV16 ((uint32_t)0x00080000U) /*!< Divide kernel clock by 16 */ +#define FDCAN_CLOCK_DIV18 ((uint32_t)0x00090000U) /*!< Divide kernel clock by 18 */ +#define FDCAN_CLOCK_DIV20 ((uint32_t)0x000A0000U) /*!< Divide kernel clock by 20 */ +#define FDCAN_CLOCK_DIV22 ((uint32_t)0x000B0000U) /*!< Divide kernel clock by 22 */ +#define FDCAN_CLOCK_DIV24 ((uint32_t)0x000C0000U) /*!< Divide kernel clock by 24 */ +#define FDCAN_CLOCK_DIV26 ((uint32_t)0x000D0000U) /*!< Divide kernel clock by 26 */ +#define FDCAN_CLOCK_DIV28 ((uint32_t)0x000E0000U) /*!< Divide kernel clock by 28 */ +#define FDCAN_CLOCK_DIV30 ((uint32_t)0x000F0000U) /*!< Divide kernel clock by 30 */ +/** + * @} + */ + +/** @defgroup FDCAN_calibration_field_length FDCAN Calibration Field Length + * @{ + */ +#define FDCAN_CALIB_FIELD_LENGTH_32 ((uint32_t)0x00000000U) /*!< Calibration field length is 32 bits */ +#define FDCAN_CALIB_FIELD_LENGTH_64 ((uint32_t)FDCANCCU_CCFG_CFL) /*!< Calibration field length is 64 bits */ +/** + * @} + */ + +/** @defgroup FDCAN_calibration_state FDCAN Calibration State + * @{ + */ +#define FDCAN_CLOCK_NOT_CALIBRATED ((uint32_t)0x00000000U) /*!< Clock not calibrated */ +#define FDCAN_CLOCK_BASIC_CALIBRATED ((uint32_t)0x40000000U) /*!< Clock basic calibrated */ +#define FDCAN_CLOCK_PRECISION_CALIBRATED ((uint32_t)0x80000000U) /*!< Clock precision calibrated */ +/** + * @} + */ + +/** @defgroup FDCAN_calibration_counter FDCAN Calibration Counter + * @{ + */ +#define FDCAN_CALIB_TIME_QUANTA_COUNTER ((uint32_t)0x00000000U) /*!< Time Quanta Counter */ +#define FDCAN_CALIB_CLOCK_PERIOD_COUNTER ((uint32_t)0x00000001U) /*!< Oscillator Clock Period Counter */ +#define FDCAN_CALIB_WATCHDOG_COUNTER ((uint32_t)0x00000002U) /*!< Calibration Watchdog Counter */ +/** + * @} + */ + +/** @defgroup FDCAN_data_field_size FDCAN Data Field Size + * @{ + */ +#define FDCAN_DATA_BYTES_8 ((uint32_t)0x00000004U) /*!< 8 bytes data field */ +#define FDCAN_DATA_BYTES_12 ((uint32_t)0x00000005U) /*!< 12 bytes data field */ +#define FDCAN_DATA_BYTES_16 ((uint32_t)0x00000006U) /*!< 16 bytes data field */ +#define FDCAN_DATA_BYTES_20 ((uint32_t)0x00000007U) /*!< 20 bytes data field */ +#define FDCAN_DATA_BYTES_24 ((uint32_t)0x00000008U) /*!< 24 bytes data field */ +#define FDCAN_DATA_BYTES_32 ((uint32_t)0x0000000AU) /*!< 32 bytes data field */ +#define FDCAN_DATA_BYTES_48 ((uint32_t)0x0000000EU) /*!< 48 bytes data field */ +#define FDCAN_DATA_BYTES_64 ((uint32_t)0x00000012U) /*!< 64 bytes data field */ +/** + * @} + */ + +/** @defgroup FDCAN_txFifoQueue_Mode FDCAN Tx FIFO/Queue Mode + * @{ + */ +#define FDCAN_TX_FIFO_OPERATION ((uint32_t)0x00000000U) /*!< FIFO mode */ +#define FDCAN_TX_QUEUE_OPERATION ((uint32_t)FDCAN_TXBC_TFQM) /*!< Queue mode */ +/** + * @} + */ + +/** @defgroup FDCAN_id_type FDCAN ID Type + * @{ + */ +#define FDCAN_STANDARD_ID ((uint32_t)0x00000000U) /*!< Standard ID element */ +#define FDCAN_EXTENDED_ID ((uint32_t)0x40000000U) /*!< Extended ID element */ +/** + * @} + */ + +/** @defgroup FDCAN_frame_type FDCAN Frame Type + * @{ + */ +#define FDCAN_DATA_FRAME ((uint32_t)0x00000000U) /*!< Data frame */ +#define FDCAN_REMOTE_FRAME ((uint32_t)0x20000000U) /*!< Remote frame */ +/** + * @} + */ + +/** @defgroup FDCAN_data_length_code FDCAN Data Length Code + * @{ + */ +#define FDCAN_DLC_BYTES_0 ((uint32_t)0x00000000U) /*!< 0 bytes data field */ +#define FDCAN_DLC_BYTES_1 ((uint32_t)0x00010000U) /*!< 1 bytes data field */ +#define FDCAN_DLC_BYTES_2 ((uint32_t)0x00020000U) /*!< 2 bytes data field */ +#define FDCAN_DLC_BYTES_3 ((uint32_t)0x00030000U) /*!< 3 bytes data field */ +#define FDCAN_DLC_BYTES_4 ((uint32_t)0x00040000U) /*!< 4 bytes data field */ +#define FDCAN_DLC_BYTES_5 ((uint32_t)0x00050000U) /*!< 5 bytes data field */ +#define FDCAN_DLC_BYTES_6 ((uint32_t)0x00060000U) /*!< 6 bytes data field */ +#define FDCAN_DLC_BYTES_7 ((uint32_t)0x00070000U) /*!< 7 bytes data field */ +#define FDCAN_DLC_BYTES_8 ((uint32_t)0x00080000U) /*!< 8 bytes data field */ +#define FDCAN_DLC_BYTES_12 ((uint32_t)0x00090000U) /*!< 12 bytes data field */ +#define FDCAN_DLC_BYTES_16 ((uint32_t)0x000A0000U) /*!< 16 bytes data field */ +#define FDCAN_DLC_BYTES_20 ((uint32_t)0x000B0000U) /*!< 20 bytes data field */ +#define FDCAN_DLC_BYTES_24 ((uint32_t)0x000C0000U) /*!< 24 bytes data field */ +#define FDCAN_DLC_BYTES_32 ((uint32_t)0x000D0000U) /*!< 32 bytes data field */ +#define FDCAN_DLC_BYTES_48 ((uint32_t)0x000E0000U) /*!< 48 bytes data field */ +#define FDCAN_DLC_BYTES_64 ((uint32_t)0x000F0000U) /*!< 64 bytes data field */ +/** + * @} + */ + +/** @defgroup FDCAN_error_state_indicator FDCAN Error State Indicator + * @{ + */ +#define FDCAN_ESI_ACTIVE ((uint32_t)0x00000000U) /*!< Transmitting node is error active */ +#define FDCAN_ESI_PASSIVE ((uint32_t)0x80000000U) /*!< Transmitting node is error passive */ +/** + * @} + */ + +/** @defgroup FDCAN_bit_rate_switching FDCAN Bit Rate Switching + * @{ + */ +#define FDCAN_BRS_OFF ((uint32_t)0x00000000U) /*!< FDCAN frames transmitted/received without bit rate switching */ +#define FDCAN_BRS_ON ((uint32_t)0x00100000U) /*!< FDCAN frames transmitted/received with bit rate switching */ +/** + * @} + */ + +/** @defgroup FDCAN_format FDCAN format + * @{ + */ +#define FDCAN_CLASSIC_CAN ((uint32_t)0x00000000U) /*!< Frame transmitted/received in Classic CAN format */ +#define FDCAN_FD_CAN ((uint32_t)0x00200000U) /*!< Frame transmitted/received in FDCAN format */ +/** + * @} + */ + +/** @defgroup FDCAN_EFC FDCAN Event FIFO control + * @{ + */ +#define FDCAN_NO_TX_EVENTS ((uint32_t)0x00000000U) /*!< Do not store Tx events */ +#define FDCAN_STORE_TX_EVENTS ((uint32_t)0x00800000U) /*!< Store Tx events */ +/** + * @} + */ + +/** @defgroup FDCAN_filter_type FDCAN Filter Type + * @{ + */ +#define FDCAN_FILTER_RANGE ((uint32_t)0x00000000U) /*!< Range filter from FilterID1 to FilterID2 */ +#define FDCAN_FILTER_DUAL ((uint32_t)0x00000001U) /*!< Dual ID filter for FilterID1 or FilterID2 */ +#define FDCAN_FILTER_MASK ((uint32_t)0x00000002U) /*!< Classic filter: FilterID1 = filter, FilterID2 = mask */ +#define FDCAN_FILTER_RANGE_NO_EIDM ((uint32_t)0x00000003U) /*!< Range filter from FilterID1 to FilterID2, EIDM mask not applied */ +/** + * @} + */ + +/** @defgroup FDCAN_filter_config FDCAN Filter Configuration + * @{ + */ +#define FDCAN_FILTER_DISABLE ((uint32_t)0x00000000U) /*!< Disable filter element */ +#define FDCAN_FILTER_TO_RXFIFO0 ((uint32_t)0x00000001U) /*!< Store in Rx FIFO 0 if filter matches */ +#define FDCAN_FILTER_TO_RXFIFO1 ((uint32_t)0x00000002U) /*!< Store in Rx FIFO 1 if filter matches */ +#define FDCAN_FILTER_REJECT ((uint32_t)0x00000003U) /*!< Reject ID if filter matches */ +#define FDCAN_FILTER_HP ((uint32_t)0x00000004U) /*!< Set high priority if filter matches */ +#define FDCAN_FILTER_TO_RXFIFO0_HP ((uint32_t)0x00000005U) /*!< Set high priority and store in FIFO 0 if filter matches */ +#define FDCAN_FILTER_TO_RXFIFO1_HP ((uint32_t)0x00000006U) /*!< Set high priority and store in FIFO 1 if filter matches */ +#define FDCAN_FILTER_TO_RXBUFFER ((uint32_t)0x00000007U) /*!< Store into Rx Buffer, configuration of FilterType ignored */ +/** + * @} + */ + +/** @defgroup FDCAN_Tx_location FDCAN Tx Location + * @{ + */ +#define FDCAN_TX_BUFFER0 ((uint32_t)0x00000001U) /*!< Add message to Tx Buffer 0 */ +#define FDCAN_TX_BUFFER1 ((uint32_t)0x00000002U) /*!< Add message to Tx Buffer 1 */ +#define FDCAN_TX_BUFFER2 ((uint32_t)0x00000004U) /*!< Add message to Tx Buffer 2 */ +#define FDCAN_TX_BUFFER3 ((uint32_t)0x00000008U) /*!< Add message to Tx Buffer 3 */ +#define FDCAN_TX_BUFFER4 ((uint32_t)0x00000010U) /*!< Add message to Tx Buffer 4 */ +#define FDCAN_TX_BUFFER5 ((uint32_t)0x00000020U) /*!< Add message to Tx Buffer 5 */ +#define FDCAN_TX_BUFFER6 ((uint32_t)0x00000040U) /*!< Add message to Tx Buffer 6 */ +#define FDCAN_TX_BUFFER7 ((uint32_t)0x00000080U) /*!< Add message to Tx Buffer 7 */ +#define FDCAN_TX_BUFFER8 ((uint32_t)0x00000100U) /*!< Add message to Tx Buffer 8 */ +#define FDCAN_TX_BUFFER9 ((uint32_t)0x00000200U) /*!< Add message to Tx Buffer 9 */ +#define FDCAN_TX_BUFFER10 ((uint32_t)0x00000400U) /*!< Add message to Tx Buffer 10 */ +#define FDCAN_TX_BUFFER11 ((uint32_t)0x00000800U) /*!< Add message to Tx Buffer 11 */ +#define FDCAN_TX_BUFFER12 ((uint32_t)0x00001000U) /*!< Add message to Tx Buffer 12 */ +#define FDCAN_TX_BUFFER13 ((uint32_t)0x00002000U) /*!< Add message to Tx Buffer 13 */ +#define FDCAN_TX_BUFFER14 ((uint32_t)0x00004000U) /*!< Add message to Tx Buffer 14 */ +#define FDCAN_TX_BUFFER15 ((uint32_t)0x00008000U) /*!< Add message to Tx Buffer 15 */ +#define FDCAN_TX_BUFFER16 ((uint32_t)0x00010000U) /*!< Add message to Tx Buffer 16 */ +#define FDCAN_TX_BUFFER17 ((uint32_t)0x00020000U) /*!< Add message to Tx Buffer 17 */ +#define FDCAN_TX_BUFFER18 ((uint32_t)0x00040000U) /*!< Add message to Tx Buffer 18 */ +#define FDCAN_TX_BUFFER19 ((uint32_t)0x00080000U) /*!< Add message to Tx Buffer 19 */ +#define FDCAN_TX_BUFFER20 ((uint32_t)0x00100000U) /*!< Add message to Tx Buffer 20 */ +#define FDCAN_TX_BUFFER21 ((uint32_t)0x00200000U) /*!< Add message to Tx Buffer 21 */ +#define FDCAN_TX_BUFFER22 ((uint32_t)0x00400000U) /*!< Add message to Tx Buffer 22 */ +#define FDCAN_TX_BUFFER23 ((uint32_t)0x00800000U) /*!< Add message to Tx Buffer 23 */ +#define FDCAN_TX_BUFFER24 ((uint32_t)0x01000000U) /*!< Add message to Tx Buffer 24 */ +#define FDCAN_TX_BUFFER25 ((uint32_t)0x02000000U) /*!< Add message to Tx Buffer 25 */ +#define FDCAN_TX_BUFFER26 ((uint32_t)0x04000000U) /*!< Add message to Tx Buffer 26 */ +#define FDCAN_TX_BUFFER27 ((uint32_t)0x08000000U) /*!< Add message to Tx Buffer 27 */ +#define FDCAN_TX_BUFFER28 ((uint32_t)0x10000000U) /*!< Add message to Tx Buffer 28 */ +#define FDCAN_TX_BUFFER29 ((uint32_t)0x20000000U) /*!< Add message to Tx Buffer 29 */ +#define FDCAN_TX_BUFFER30 ((uint32_t)0x40000000U) /*!< Add message to Tx Buffer 30 */ +#define FDCAN_TX_BUFFER31 ((uint32_t)0x80000000U) /*!< Add message to Tx Buffer 31 */ +/** + * @} + */ + +/** @defgroup FDCAN_Rx_location FDCAN Rx Location + * @{ + */ +#define FDCAN_RX_FIFO0 ((uint32_t)0x00000040U) /*!< Get received message from Rx FIFO 0 */ +#define FDCAN_RX_FIFO1 ((uint32_t)0x00000041U) /*!< Get received message from Rx FIFO 1 */ +#define FDCAN_RX_BUFFER0 ((uint32_t)0x00000000U) /*!< Get received message from Rx Buffer 0 */ +#define FDCAN_RX_BUFFER1 ((uint32_t)0x00000001U) /*!< Get received message from Rx Buffer 1 */ +#define FDCAN_RX_BUFFER2 ((uint32_t)0x00000002U) /*!< Get received message from Rx Buffer 2 */ +#define FDCAN_RX_BUFFER3 ((uint32_t)0x00000003U) /*!< Get received message from Rx Buffer 3 */ +#define FDCAN_RX_BUFFER4 ((uint32_t)0x00000004U) /*!< Get received message from Rx Buffer 4 */ +#define FDCAN_RX_BUFFER5 ((uint32_t)0x00000005U) /*!< Get received message from Rx Buffer 5 */ +#define FDCAN_RX_BUFFER6 ((uint32_t)0x00000006U) /*!< Get received message from Rx Buffer 6 */ +#define FDCAN_RX_BUFFER7 ((uint32_t)0x00000007U) /*!< Get received message from Rx Buffer 7 */ +#define FDCAN_RX_BUFFER8 ((uint32_t)0x00000008U) /*!< Get received message from Rx Buffer 8 */ +#define FDCAN_RX_BUFFER9 ((uint32_t)0x00000009U) /*!< Get received message from Rx Buffer 9 */ +#define FDCAN_RX_BUFFER10 ((uint32_t)0x0000000AU) /*!< Get received message from Rx Buffer 10 */ +#define FDCAN_RX_BUFFER11 ((uint32_t)0x0000000BU) /*!< Get received message from Rx Buffer 11 */ +#define FDCAN_RX_BUFFER12 ((uint32_t)0x0000000CU) /*!< Get received message from Rx Buffer 12 */ +#define FDCAN_RX_BUFFER13 ((uint32_t)0x0000000DU) /*!< Get received message from Rx Buffer 13 */ +#define FDCAN_RX_BUFFER14 ((uint32_t)0x0000000EU) /*!< Get received message from Rx Buffer 14 */ +#define FDCAN_RX_BUFFER15 ((uint32_t)0x0000000FU) /*!< Get received message from Rx Buffer 15 */ +#define FDCAN_RX_BUFFER16 ((uint32_t)0x00000010U) /*!< Get received message from Rx Buffer 16 */ +#define FDCAN_RX_BUFFER17 ((uint32_t)0x00000011U) /*!< Get received message from Rx Buffer 17 */ +#define FDCAN_RX_BUFFER18 ((uint32_t)0x00000012U) /*!< Get received message from Rx Buffer 18 */ +#define FDCAN_RX_BUFFER19 ((uint32_t)0x00000013U) /*!< Get received message from Rx Buffer 19 */ +#define FDCAN_RX_BUFFER20 ((uint32_t)0x00000014U) /*!< Get received message from Rx Buffer 20 */ +#define FDCAN_RX_BUFFER21 ((uint32_t)0x00000015U) /*!< Get received message from Rx Buffer 21 */ +#define FDCAN_RX_BUFFER22 ((uint32_t)0x00000016U) /*!< Get received message from Rx Buffer 22 */ +#define FDCAN_RX_BUFFER23 ((uint32_t)0x00000017U) /*!< Get received message from Rx Buffer 23 */ +#define FDCAN_RX_BUFFER24 ((uint32_t)0x00000018U) /*!< Get received message from Rx Buffer 24 */ +#define FDCAN_RX_BUFFER25 ((uint32_t)0x00000019U) /*!< Get received message from Rx Buffer 25 */ +#define FDCAN_RX_BUFFER26 ((uint32_t)0x0000001AU) /*!< Get received message from Rx Buffer 26 */ +#define FDCAN_RX_BUFFER27 ((uint32_t)0x0000001BU) /*!< Get received message from Rx Buffer 27 */ +#define FDCAN_RX_BUFFER28 ((uint32_t)0x0000001CU) /*!< Get received message from Rx Buffer 28 */ +#define FDCAN_RX_BUFFER29 ((uint32_t)0x0000001DU) /*!< Get received message from Rx Buffer 29 */ +#define FDCAN_RX_BUFFER30 ((uint32_t)0x0000001EU) /*!< Get received message from Rx Buffer 30 */ +#define FDCAN_RX_BUFFER31 ((uint32_t)0x0000001FU) /*!< Get received message from Rx Buffer 31 */ +#define FDCAN_RX_BUFFER32 ((uint32_t)0x00000020U) /*!< Get received message from Rx Buffer 32 */ +#define FDCAN_RX_BUFFER33 ((uint32_t)0x00000021U) /*!< Get received message from Rx Buffer 33 */ +#define FDCAN_RX_BUFFER34 ((uint32_t)0x00000022U) /*!< Get received message from Rx Buffer 34 */ +#define FDCAN_RX_BUFFER35 ((uint32_t)0x00000023U) /*!< Get received message from Rx Buffer 35 */ +#define FDCAN_RX_BUFFER36 ((uint32_t)0x00000024U) /*!< Get received message from Rx Buffer 36 */ +#define FDCAN_RX_BUFFER37 ((uint32_t)0x00000025U) /*!< Get received message from Rx Buffer 37 */ +#define FDCAN_RX_BUFFER38 ((uint32_t)0x00000026U) /*!< Get received message from Rx Buffer 38 */ +#define FDCAN_RX_BUFFER39 ((uint32_t)0x00000027U) /*!< Get received message from Rx Buffer 39 */ +#define FDCAN_RX_BUFFER40 ((uint32_t)0x00000028U) /*!< Get received message from Rx Buffer 40 */ +#define FDCAN_RX_BUFFER41 ((uint32_t)0x00000029U) /*!< Get received message from Rx Buffer 41 */ +#define FDCAN_RX_BUFFER42 ((uint32_t)0x0000002AU) /*!< Get received message from Rx Buffer 42 */ +#define FDCAN_RX_BUFFER43 ((uint32_t)0x0000002BU) /*!< Get received message from Rx Buffer 43 */ +#define FDCAN_RX_BUFFER44 ((uint32_t)0x0000002CU) /*!< Get received message from Rx Buffer 44 */ +#define FDCAN_RX_BUFFER45 ((uint32_t)0x0000002DU) /*!< Get received message from Rx Buffer 45 */ +#define FDCAN_RX_BUFFER46 ((uint32_t)0x0000002EU) /*!< Get received message from Rx Buffer 46 */ +#define FDCAN_RX_BUFFER47 ((uint32_t)0x0000002FU) /*!< Get received message from Rx Buffer 47 */ +#define FDCAN_RX_BUFFER48 ((uint32_t)0x00000030U) /*!< Get received message from Rx Buffer 48 */ +#define FDCAN_RX_BUFFER49 ((uint32_t)0x00000031U) /*!< Get received message from Rx Buffer 49 */ +#define FDCAN_RX_BUFFER50 ((uint32_t)0x00000032U) /*!< Get received message from Rx Buffer 50 */ +#define FDCAN_RX_BUFFER51 ((uint32_t)0x00000033U) /*!< Get received message from Rx Buffer 51 */ +#define FDCAN_RX_BUFFER52 ((uint32_t)0x00000034U) /*!< Get received message from Rx Buffer 52 */ +#define FDCAN_RX_BUFFER53 ((uint32_t)0x00000035U) /*!< Get received message from Rx Buffer 53 */ +#define FDCAN_RX_BUFFER54 ((uint32_t)0x00000036U) /*!< Get received message from Rx Buffer 54 */ +#define FDCAN_RX_BUFFER55 ((uint32_t)0x00000037U) /*!< Get received message from Rx Buffer 55 */ +#define FDCAN_RX_BUFFER56 ((uint32_t)0x00000038U) /*!< Get received message from Rx Buffer 56 */ +#define FDCAN_RX_BUFFER57 ((uint32_t)0x00000039U) /*!< Get received message from Rx Buffer 57 */ +#define FDCAN_RX_BUFFER58 ((uint32_t)0x0000003AU) /*!< Get received message from Rx Buffer 58 */ +#define FDCAN_RX_BUFFER59 ((uint32_t)0x0000003BU) /*!< Get received message from Rx Buffer 59 */ +#define FDCAN_RX_BUFFER60 ((uint32_t)0x0000003CU) /*!< Get received message from Rx Buffer 60 */ +#define FDCAN_RX_BUFFER61 ((uint32_t)0x0000003DU) /*!< Get received message from Rx Buffer 61 */ +#define FDCAN_RX_BUFFER62 ((uint32_t)0x0000003EU) /*!< Get received message from Rx Buffer 62 */ +#define FDCAN_RX_BUFFER63 ((uint32_t)0x0000003FU) /*!< Get received message from Rx Buffer 63 */ +/** + * @} + */ + +/** @defgroup FDCAN_event_type FDCAN Event Type + * @{ + */ +#define FDCAN_TX_EVENT ((uint32_t)0x00400000U) /*!< Tx event */ +#define FDCAN_TX_IN_SPITE_OF_ABORT ((uint32_t)0x00800000U) /*!< Transmission in spite of cancellation */ +/** + * @} + */ + +/** @defgroup FDCAN_hp_msg_storage FDCAN High Priority Message Storage + * @{ + */ +#define FDCAN_HP_STORAGE_NO_FIFO ((uint32_t)0x00000000U) /*!< No FIFO selected */ +#define FDCAN_HP_STORAGE_MSG_LOST ((uint32_t)0x00000040U) /*!< FIFO message lost */ +#define FDCAN_HP_STORAGE_RXFIFO0 ((uint32_t)0x00000080U) /*!< Message stored in FIFO 0 */ +#define FDCAN_HP_STORAGE_RXFIFO1 ((uint32_t)0x000000C0U) /*!< Message stored in FIFO 1 */ +/** + * @} + */ + +/** @defgroup FDCAN_protocol_error_code FDCAN protocol error code + * @{ + */ +#define FDCAN_PROTOCOL_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error occurred */ +#define FDCAN_PROTOCOL_ERROR_STUFF ((uint32_t)0x00000001U) /*!< Stuff error */ +#define FDCAN_PROTOCOL_ERROR_FORM ((uint32_t)0x00000002U) /*!< Form error */ +#define FDCAN_PROTOCOL_ERROR_ACK ((uint32_t)0x00000003U) /*!< Acknowledge error */ +#define FDCAN_PROTOCOL_ERROR_BIT1 ((uint32_t)0x00000004U) /*!< Bit 1 (recessive) error */ +#define FDCAN_PROTOCOL_ERROR_BIT0 ((uint32_t)0x00000005U) /*!< Bit 0 (dominant) error */ +#define FDCAN_PROTOCOL_ERROR_CRC ((uint32_t)0x00000006U) /*!< CRC check sum error */ +#define FDCAN_PROTOCOL_ERROR_NO_CHANGE ((uint32_t)0x00000007U) /*!< No change since last read */ +/** + * @} + */ + +/** @defgroup FDCAN_communication_state FDCAN communication state + * @{ + */ +#define FDCAN_COM_STATE_SYNC ((uint32_t)0x00000000U) /*!< Node is synchronizing on CAN communication */ +#define FDCAN_COM_STATE_IDLE ((uint32_t)0x00000008U) /*!< Node is neither receiver nor transmitter */ +#define FDCAN_COM_STATE_RX ((uint32_t)0x00000016U) /*!< Node is operating as receiver */ +#define FDCAN_COM_STATE_TX ((uint32_t)0x00000024U) /*!< Node is operating as transmitter */ +/** + * @} + */ + +/** @defgroup FDCAN_FIFO_watermark FDCAN FIFO watermark + * @{ + */ +#define FDCAN_CFG_TX_EVENT_FIFO ((uint32_t)0x00000000U) /*!< Tx event FIFO */ +#define FDCAN_CFG_RX_FIFO0 ((uint32_t)0x00000001U) /*!< Rx FIFO0 */ +#define FDCAN_CFG_RX_FIFO1 ((uint32_t)0x00000002U) /*!< Rx FIFO1 */ +/** + * @} + */ + +/** @defgroup FDCAN_Rx_FIFO_operation_mode FDCAN FIFO operation mode + * @{ + */ +#define FDCAN_RX_FIFO_BLOCKING ((uint32_t)0x00000000U) /*!< Rx FIFO blocking mode */ +#define FDCAN_RX_FIFO_OVERWRITE ((uint32_t)0x80000000U) /*!< Rx FIFO overwrite mode */ +/** + * @} + */ + +/** @defgroup FDCAN_Non_Matching_Frames FDCAN non-matching frames + * @{ + */ +#define FDCAN_ACCEPT_IN_RX_FIFO0 ((uint32_t)0x00000000U) /*!< Accept in Rx FIFO 0 */ +#define FDCAN_ACCEPT_IN_RX_FIFO1 ((uint32_t)0x00000001U) /*!< Accept in Rx FIFO 1 */ +#define FDCAN_REJECT ((uint32_t)0x00000002U) /*!< Reject */ +/** + * @} + */ + +/** @defgroup FDCAN_Interrupt_Line FDCAN interrupt line + * @{ + */ +#define FDCAN_INTERRUPT_LINE0 ((uint32_t)0x00000001U) /*!< Interrupt Line 0 */ +#define FDCAN_INTERRUPT_LINE1 ((uint32_t)0x00000002U) /*!< Interrupt Line 1 */ +/** + * @} + */ + +/** @defgroup FDCAN_Timestamp FDCAN timestamp + * @{ + */ +#define FDCAN_TIMESTAMP_INTERNAL ((uint32_t)0x00000001U) /*!< Timestamp counter value incremented according to TCP */ +#define FDCAN_TIMESTAMP_EXTERNAL ((uint32_t)0x00000002U) /*!< External timestamp counter value used */ +/** + * @} + */ + +/** @defgroup FDCAN_Timestamp_Prescaler FDCAN timestamp prescaler + * @{ + */ +#define FDCAN_TIMESTAMP_PRESC_1 ((uint32_t)0x00000000U) /*!< Timestamp counter time unit in equal to CAN bit time */ +#define FDCAN_TIMESTAMP_PRESC_2 ((uint32_t)0x00010000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 2 */ +#define FDCAN_TIMESTAMP_PRESC_3 ((uint32_t)0x00020000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 3 */ +#define FDCAN_TIMESTAMP_PRESC_4 ((uint32_t)0x00030000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 4 */ +#define FDCAN_TIMESTAMP_PRESC_5 ((uint32_t)0x00040000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 5 */ +#define FDCAN_TIMESTAMP_PRESC_6 ((uint32_t)0x00050000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 6 */ +#define FDCAN_TIMESTAMP_PRESC_7 ((uint32_t)0x00060000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 7 */ +#define FDCAN_TIMESTAMP_PRESC_8 ((uint32_t)0x00070000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 8 */ +#define FDCAN_TIMESTAMP_PRESC_9 ((uint32_t)0x00080000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 9 */ +#define FDCAN_TIMESTAMP_PRESC_10 ((uint32_t)0x00090000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 10 */ +#define FDCAN_TIMESTAMP_PRESC_11 ((uint32_t)0x000A0000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 11 */ +#define FDCAN_TIMESTAMP_PRESC_12 ((uint32_t)0x000B0000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 12 */ +#define FDCAN_TIMESTAMP_PRESC_13 ((uint32_t)0x000C0000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 13 */ +#define FDCAN_TIMESTAMP_PRESC_14 ((uint32_t)0x000D0000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 14 */ +#define FDCAN_TIMESTAMP_PRESC_15 ((uint32_t)0x000E0000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 15 */ +#define FDCAN_TIMESTAMP_PRESC_16 ((uint32_t)0x000F0000U) /*!< Timestamp counter time unit in equal to CAN bit time multipled by 16 */ +/** + * @} + */ + +/** @defgroup FDCAN_Timeout_Operation FDCAN timeout operation + * @{ + */ +#define FDCAN_TIMEOUT_CONTINUOUS ((uint32_t)0x00000000U) /*!< Timeout continuous operation */ +#define FDCAN_TIMEOUT_TX_EVENT_FIFO ((uint32_t)0x00000002U) /*!< Timeout controlled by Tx Event FIFO */ +#define FDCAN_TIMEOUT_RX_FIFO0 ((uint32_t)0x00000004U) /*!< Timeout controlled by Rx FIFO 0 */ +#define FDCAN_TIMEOUT_RX_FIFO1 ((uint32_t)0x00000006U) /*!< Timeout controlled by Rx FIFO 1 */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_Reference_Message_Payload FDCAN TT reference message payload + * @{ + */ +#define FDCAN_TT_REF_MESSAGE_NO_PAYLOAD ((uint32_t)0x00000000U) /*!< Reference message has no additional payload */ +#define FDCAN_TT_REF_MESSAGE_ADD_PAYLOAD ((uint32_t)FDCAN_TTRMC_RMPS) /*!< Additional payload is taken from Tx Buffer 0 */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_Repeat_Factor FDCAN TT repeat factor + * @{ + */ +#define FDCAN_TT_REPEAT_EVERY_CYCLE ((uint32_t)0x00000000U) /*!< Trigger valid for all cycles */ +#define FDCAN_TT_REPEAT_EVERY_2ND_CYCLE ((uint32_t)0x00000002U) /*!< Trigger valid every 2dn cycle */ +#define FDCAN_TT_REPEAT_EVERY_4TH_CYCLE ((uint32_t)0x00000004U) /*!< Trigger valid every 4th cycle */ +#define FDCAN_TT_REPEAT_EVERY_8TH_CYCLE ((uint32_t)0x00000008U) /*!< Trigger valid every 8th cycle */ +#define FDCAN_TT_REPEAT_EVERY_16TH_CYCLE ((uint32_t)0x00000010U) /*!< Trigger valid every 16th cycle */ +#define FDCAN_TT_REPEAT_EVERY_32ND_CYCLE ((uint32_t)0x00000020U) /*!< Trigger valid every 32nd cycle */ +#define FDCAN_TT_REPEAT_EVERY_64TH_CYCLE ((uint32_t)0x00000040U) /*!< Trigger valid every 64th cycle */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_Trigger_Type FDCAN TT trigger type + * @{ + */ +#define FDCAN_TT_TX_REF_TRIGGER ((uint32_t)0x00000000U) /*!< Transmit reference message in strictly time-triggered operation */ +#define FDCAN_TT_TX_REF_TRIGGER_GAP ((uint32_t)0x00000001U) /*!< Transmit reference message in external event-synchronized time-triggered operation */ +#define FDCAN_TT_TX_TRIGGER_SINGLE ((uint32_t)0x00000002U) /*!< Start a single transmission in an exclusive time window */ +#define FDCAN_TT_TX_TRIGGER_CONTINUOUS ((uint32_t)0x00000003U) /*!< Start a continuous transmission in an exclusive time window */ +#define FDCAN_TT_TX_TRIGGER_ARBITRATION ((uint32_t)0x00000004U) /*!< Start a transmission in an arbitration time window */ +#define FDCAN_TT_TX_TRIGGER_MERGED ((uint32_t)0x00000005U) /*!< Start a merged arbitration window */ +#define FDCAN_TT_WATCH_TRIGGER ((uint32_t)0x00000006U) /*!< Check for missing reference messages in strictly time-triggered operation */ +#define FDCAN_TT_WATCH_TRIGGER_GAP ((uint32_t)0x00000007U) /*!< Check for missing reference messages in external event-synchronized time-triggered operation */ +#define FDCAN_TT_RX_TRIGGER ((uint32_t)0x00000008U) /*!< Check for the reception of periodic messages in exclusive time windows */ +#define FDCAN_TT_TIME_BASE_TRIGGER ((uint32_t)0x00000009U) /*!< Generate internal/external events depending on TmEventInt/TmEventExt configuration */ +#define FDCAN_TT_END_OF_LIST ((uint32_t)0x0000000AU) /*!< Illegal trigger, to be assigned to the unused triggers after a FDCAN_TT_WATCH_TRIGGER or FDCAN_TT_WATCH_TRIGGER_GAP */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_Time_Mark_Event_Internal FDCAN TT time mark event internal + * @{ + */ +#define FDCAN_TT_TM_NO_INTERNAL_EVENT ((uint32_t)0x00000000U) /*!< No action */ +#define FDCAN_TT_TM_GEN_INTERNAL_EVENT ((uint32_t)0x00000020U) /*!< Internal event is generated when trigger becomes active */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_Time_Mark_Event_External FDCAN TT time mark event external + * @{ + */ +#define FDCAN_TT_TM_NO_EXTERNAL_EVENT ((uint32_t)0x00000000U) /*!< No action */ +#define FDCAN_TT_TM_GEN_EXTERNAL_EVENT ((uint32_t)0x00000010U) /*!< External event (pulse) is generated when trigger becomes active */ +/** + * @} + */ + +/** @defgroup FDCAN_operation_mode FDCAN Operation Mode + * @{ + */ +#define FDCAN_TT_COMMUNICATION_LEVEL1 ((uint32_t)0x00000001U) /*!< Time triggered communication, level 1 */ +#define FDCAN_TT_COMMUNICATION_LEVEL2 ((uint32_t)0x00000002U) /*!< Time triggered communication, level 2 */ +#define FDCAN_TT_COMMUNICATION_LEVEL0 ((uint32_t)0x00000003U) /*!< Time triggered communication, level 0 */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_operation FDCAN TT Operation + * @{ + */ +#define FDCAN_STRICTLY_TT_OPERATION ((uint32_t)0x00000000U) /*!< Strictly time-triggered operation */ +#define FDCAN_EXT_EVT_SYNC_TT_OPERATION ((uint32_t)FDCAN_TTOCF_GEN) /*!< External event-synchronized time-triggered operation */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_time_master FDCAN TT Time Master + * @{ + */ +#define FDCAN_TT_SLAVE ((uint32_t)0x00000000U) /*!< Time slave */ +#define FDCAN_TT_POTENTIAL_MASTER ((uint32_t)FDCAN_TTOCF_TM) /*!< Potential time master */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_external_clk_sync FDCAN TT External Clock Synchronization + * @{ + */ +#define FDCAN_TT_EXT_CLK_SYNC_DISABLE ((uint32_t)0x00000000U) /*!< External clock synchronization in Level 0,2 disabled */ +#define FDCAN_TT_EXT_CLK_SYNC_ENABLE ((uint32_t)FDCAN_TTOCF_EECS) /*!< External clock synchronization in Level 0,2 enabled */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_global_time_filtering FDCAN TT Global Time Filtering + * @{ + */ +#define FDCAN_TT_GLOB_TIME_FILT_DISABLE ((uint32_t)0x00000000U) /*!< Global time filtering in Level 0,2 disabled */ +#define FDCAN_TT_GLOB_TIME_FILT_ENABLE ((uint32_t)FDCAN_TTOCF_EGTF) /*!< Global time filtering in Level 0,2 enabled */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_auto_clk_calibration FDCAN TT Automatic Clock Calibration + * @{ + */ +#define FDCAN_TT_AUTO_CLK_CALIB_DISABLE ((uint32_t)0x00000000U) /*!< Automatic clock calibration in Level 0,2 disabled */ +#define FDCAN_TT_AUTO_CLK_CALIB_ENABLE ((uint32_t)FDCAN_TTOCF_ECC) /*!< Automatic clock calibration in Level 0,2 enabled */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_event_trig_polarity FDCAN TT Event Trigger Polarity + * @{ + */ +#define FDCAN_TT_EVT_TRIG_POL_RISING ((uint32_t)0x00000000U) /*!< Rising edge trigger */ +#define FDCAN_TT_EVT_TRIG_POL_FALLING ((uint32_t)FDCAN_TTOCF_EVTP) /*!< Falling edge trigger */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_basic_cycle_number FDCAN TT Basic Cycle Number + * @{ + */ +#define FDCAN_TT_CYCLES_PER_MATRIX_1 ((uint32_t)0x00000000U) /*!< 1 Basic Cycle per Matrix */ +#define FDCAN_TT_CYCLES_PER_MATRIX_2 ((uint32_t)0x00000001U) /*!< 2 Basic Cycles per Matrix */ +#define FDCAN_TT_CYCLES_PER_MATRIX_4 ((uint32_t)0x00000003U) /*!< 4 Basic Cycles per Matrix */ +#define FDCAN_TT_CYCLES_PER_MATRIX_8 ((uint32_t)0x00000007U) /*!< 8 Basic Cycles per Matrix */ +#define FDCAN_TT_CYCLES_PER_MATRIX_16 ((uint32_t)0x0000000FU) /*!< 16 Basic Cycles per Matrix */ +#define FDCAN_TT_CYCLES_PER_MATRIX_32 ((uint32_t)0x0000001FU) /*!< 32 Basic Cycles per Matrix */ +#define FDCAN_TT_CYCLES_PER_MATRIX_64 ((uint32_t)0x0000003FU) /*!< 64 Basic Cycles per Matrix */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_cycle_start_sync FDCAN TT Cycle Start Sync + * @{ + */ +#define FDCAN_TT_NO_SYNC_PULSE ((uint32_t)0x00000000U) /*!< No sync pulse */ +#define FDCAN_TT_SYNC_BASIC_CYCLE_START ((uint32_t)0x00000040U) /*!< Sync pulse at start of basic cycle */ +#define FDCAN_TT_SYNC_MATRIX_START ((uint32_t)0x00000080U) /*!< Sync pulse at start of matrix */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_stop_watch_trig_selection FDCAN TT Stop Watch Trigger Selection + * @{ + */ +#define FDCAN_TT_STOP_WATCH_TRIGGER_0 ((uint32_t)0x00000000U) /*!< TIM2 selected as stop watch trigger */ +#define FDCAN_TT_STOP_WATCH_TRIGGER_1 ((uint32_t)0x00000001U) /*!< TIM3 selected as stop watch trigger */ +#define FDCAN_TT_STOP_WATCH_TRIGGER_2 ((uint32_t)0x00000002U) /*!< ETH selected as stop watch trigger */ +#define FDCAN_TT_STOP_WATCH_TRIGGER_3 ((uint32_t)0x00000003U) /*!< HRTIM selected as stop watch trigger */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_event_trig_selection FDCAN TT Event Trigger Selection + * @{ + */ +#define FDCAN_TT_EVENT_TRIGGER_0 ((uint32_t)0x00000000U) /*!< TIM2 selected as event trigger */ +#define FDCAN_TT_EVENT_TRIGGER_1 ((uint32_t)0x00000010U) /*!< TIM3 selected as event trigger */ +#define FDCAN_TT_EVENT_TRIGGER_2 ((uint32_t)0x00000020U) /*!< ETH selected as event trigger */ +#define FDCAN_TT_EVENT_TRIGGER_3 ((uint32_t)0x00000030U) /*!< HRTIM selected as event trigger */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_stop_watch_source FDCAN TT Stop Watch Source + * @{ + */ +#define FDCAN_TT_STOP_WATCH_DISABLED ((uint32_t)0x00000000U) /*!< Stop Watch disabled */ +#define FDCAN_TT_STOP_WATCH_CYCLE_TIME ((uint32_t)0x00000008U) /*!< Actual value of cycle time is copied to Capture Time register (TTCPT.SWV) */ +#define FDCAN_TT_STOP_WATCH_LOCAL_TIME ((uint32_t)0x00000010U) /*!< Actual value of local time is copied to Capture Time register (TTCPT.SWV) */ +#define FDCAN_TT_STOP_WATCH_GLOBAL_TIME ((uint32_t)0x00000018U) /*!< Actual value of global time is copied to Capture Time register (TTCPT.SWV) */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_stop_watch_polarity FDCAN TT Stop Watch Polarity + * @{ + */ +#define FDCAN_TT_STOP_WATCH_RISING ((uint32_t)0x00000000U) /*!< Selected stop watch source is captured at rising edge of fdcan1_swt */ +#define FDCAN_TT_STOP_WATCH_FALLING ((uint32_t)0x00000004U) /*!< Selected stop watch source is captured at falling edge of fdcan1_swt */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_time_mark_source FDCAN TT Time Mark Source + * @{ + */ +#define FDCAN_TT_REG_TIMEMARK_DIABLED ((uint32_t)0x00000000U) /*!< No Register Time Mark Interrupt generated */ +#define FDCAN_TT_REG_TIMEMARK_CYC_TIME ((uint32_t)0x00000040U) /*!< Register Time Mark Interrupt if Time Mark = cycle time */ +#define FDCAN_TT_REG_TIMEMARK_LOC_TIME ((uint32_t)0x00000080U) /*!< Register Time Mark Interrupt if Time Mark = local time */ +#define FDCAN_TT_REG_TIMEMARK_GLO_TIME ((uint32_t)0x000000C0U) /*!< Register Time Mark Interrupt if Time Mark = global time */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_error_level FDCAN TT Error Level + * @{ + */ +#define FDCAN_TT_NO_ERROR ((uint32_t)0x00000000U) /*!< Severity 0 - No Error */ +#define FDCAN_TT_WARNING ((uint32_t)0x00000001U) /*!< Severity 1 - Warning */ +#define FDCAN_TT_ERROR ((uint32_t)0x00000002U) /*!< Severity 2 - Error */ +#define FDCAN_TT_SEVERE_ERROR ((uint32_t)0x00000003U) /*!< Severity 3 - Severe Error */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_master_state FDCAN TT Master State + * @{ + */ +#define FDCAN_TT_MASTER_OFF ((uint32_t)0x00000000U) /*!< Master_Off, no master properties relevant */ +#define FDCAN_TT_TIME_SLAVE ((uint32_t)0x00000004U) /*!< Operating as Time Slave */ +#define FDCAN_TT_BACKUP_TIME_MASTER ((uint32_t)0x00000008U) /*!< Operating as Backup Time Master */ +#define FDCAN_TT_CURRENT_TIME_MASTER ((uint32_t)0x0000000CU) /*!< Operating as current Time Master */ +/** + * @} + */ + +/** @defgroup FDCAN_TT_sync_state FDCAN TT Synchronization State + * @{ + */ +#define FDCAN_TT_OUT_OF_SYNC ((uint32_t)0x00000000U) /*!< Out of Synchronization */ +#define FDCAN_TT_SYNCHRONIZING ((uint32_t)0x00000010U) /*!< Synchronizing to communication */ +#define FDCAN_TT_IN_GAP ((uint32_t)0x00000020U) /*!< Schedule suspended by Gap */ +#define FDCAN_TT_IN_SCHEDULE ((uint32_t)0x00000030U) /*!< Synchronized to schedule */ +/** + * @} + */ + +/** @defgroup Interrupt_Masks Interrupt masks + * @{ + */ +#define FDCAN_IR_MASK ((uint32_t)0x3FCFFFFFU) /*!< FDCAN interrupts mask */ +#define CCU_IR_MASK ((uint32_t)0xC0000000U) /*!< CCU interrupts mask */ +/** + * @} + */ + +/** @defgroup FDCAN_flags FDCAN Flags + * @{ + */ +#define FDCAN_FLAG_TX_COMPLETE FDCAN_IR_TC /*!< Transmission Completed */ +#define FDCAN_FLAG_TX_ABORT_COMPLETE FDCAN_IR_TCF /*!< Transmission Cancellation Finished */ +#define FDCAN_FLAG_TX_FIFO_EMPTY FDCAN_IR_TFE /*!< Tx FIFO Empty */ +#define FDCAN_FLAG_RX_HIGH_PRIORITY_MSG FDCAN_IR_HPM /*!< High priority message received */ +#define FDCAN_FLAG_RX_BUFFER_NEW_MESSAGE FDCAN_IR_DRX /*!< At least one received message stored into a Rx Buffer */ +#define FDCAN_FLAG_TX_EVT_FIFO_ELT_LOST FDCAN_IR_TEFL /*!< Tx Event FIFO element lost */ +#define FDCAN_FLAG_TX_EVT_FIFO_FULL FDCAN_IR_TEFF /*!< Tx Event FIFO full */ +#define FDCAN_FLAG_TX_EVT_FIFO_WATERMARK FDCAN_IR_TEFW /*!< Tx Event FIFO fill level reached watermark */ +#define FDCAN_FLAG_TX_EVT_FIFO_NEW_DATA FDCAN_IR_TEFN /*!< Tx Handler wrote Tx Event FIFO element */ +#define FDCAN_FLAG_RX_FIFO0_MESSAGE_LOST FDCAN_IR_RF0L /*!< Rx FIFO 0 message lost */ +#define FDCAN_FLAG_RX_FIFO0_FULL FDCAN_IR_RF0F /*!< Rx FIFO 0 full */ +#define FDCAN_FLAG_RX_FIFO0_WATERMARK FDCAN_IR_RF0W /*!< Rx FIFO 0 fill level reached watermark */ +#define FDCAN_FLAG_RX_FIFO0_NEW_MESSAGE FDCAN_IR_RF0N /*!< New message written to Rx FIFO 0 */ +#define FDCAN_FLAG_RX_FIFO1_MESSAGE_LOST FDCAN_IR_RF1L /*!< Rx FIFO 1 message lost */ +#define FDCAN_FLAG_RX_FIFO1_FULL FDCAN_IR_RF1F /*!< Rx FIFO 1 full */ +#define FDCAN_FLAG_RX_FIFO1_WATERMARK FDCAN_IR_RF1W /*!< Rx FIFO 1 fill level reached watermark */ +#define FDCAN_FLAG_RX_FIFO1_NEW_MESSAGE FDCAN_IR_RF1N /*!< New message written to Rx FIFO 1 */ +#define FDCAN_FLAG_RAM_ACCESS_FAILURE FDCAN_IR_MRAF /*!< Message RAM access failure occurred */ +#define FDCAN_FLAG_ERROR_LOGGING_OVERFLOW FDCAN_IR_ELO /*!< Overflow of FDCAN Error Logging Counter occurred */ +#define FDCAN_FLAG_ERROR_PASSIVE FDCAN_IR_EP /*!< Error_Passive status changed */ +#define FDCAN_FLAG_ERROR_WARNING FDCAN_IR_EW /*!< Error_Warning status changed */ +#define FDCAN_FLAG_BUS_OFF FDCAN_IR_BO /*!< Bus_Off status changed */ +#define FDCAN_FLAG_RAM_WATCHDOG FDCAN_IR_WDI /*!< Message RAM Watchdog event due to missing READY */ +#define FDCAN_FLAG_ARB_PROTOCOL_ERROR FDCAN_IR_PEA /*!< Protocol error in arbitration phase detected */ +#define FDCAN_FLAG_DATA_PROTOCOL_ERROR FDCAN_IR_PED /*!< Protocol error in data phase detected */ +#define FDCAN_FLAG_RESERVED_ADDRESS_ACCESS FDCAN_IR_ARA /*!< Access to reserved address occurred */ +#define FDCAN_FLAG_TIMESTAMP_WRAPAROUND FDCAN_IR_TSW /*!< Timestamp counter wrapped around */ +#define FDCAN_FLAG_TIMEOUT_OCCURRED FDCAN_IR_TOO /*!< Timeout reached */ +#define FDCAN_FLAG_CALIB_STATE_CHANGED (FDCANCCU_IR_CSC << 30) /*!< Clock calibration state changed */ +#define FDCAN_FLAG_CALIB_WATCHDOG_EVENT (FDCANCCU_IR_CWE << 30) /*!< Clock calibration watchdog event occurred */ +/** + * @} + */ + +/** @defgroup FDCAN_Interrupts FDCAN Interrupts + * @{ + */ + +/** @defgroup FDCAN_Tx_Interrupts FDCAN Tx Interrupts + * @{ + */ +#define FDCAN_IT_TX_COMPLETE FDCAN_IE_TCE /*!< Transmission Completed */ +#define FDCAN_IT_TX_ABORT_COMPLETE FDCAN_IE_TCFE /*!< Transmission Cancellation Finished */ +#define FDCAN_IT_TX_FIFO_EMPTY FDCAN_IE_TFEE /*!< Tx FIFO Empty */ +/** + * @} + */ + +/** @defgroup FDCAN_Rx_Interrupts FDCAN Rx Interrupts + * @{ + */ +#define FDCAN_IT_RX_HIGH_PRIORITY_MSG FDCAN_IE_HPME /*!< High priority message received */ +#define FDCAN_IT_RX_BUFFER_NEW_MESSAGE FDCAN_IE_DRXE /*!< At least one received message stored into a Rx Buffer */ +/** + * @} + */ + +/** @defgroup FDCAN_Counter_Interrupts FDCAN Counter Interrupts + * @{ + */ +#define FDCAN_IT_TIMESTAMP_WRAPAROUND FDCAN_IE_TSWE /*!< Timestamp counter wrapped around */ +#define FDCAN_IT_TIMEOUT_OCCURRED FDCAN_IE_TOOE /*!< Timeout reached */ +/** + * @} + */ + +/** @defgroup FDCAN_Clock_Calibration_Interrupts Clock Calibration Interrupts + * @{ + */ +#define FDCAN_IT_CALIB_STATE_CHANGED (FDCANCCU_IE_CSCE << 30) /*!< Clock calibration state changed */ +#define FDCAN_IT_CALIB_WATCHDOG_EVENT (FDCANCCU_IE_CWEE << 30) /*!< Clock calibration watchdog event occurred */ +/** + * @} + */ + +/** @defgroup FDCAN_Tx_Event_Fifo_Interrupts FDCAN Tx Event FIFO Interrupts + * @{ + */ +#define FDCAN_IT_TX_EVT_FIFO_ELT_LOST FDCAN_IE_TEFLE /*!< Tx Event FIFO element lost */ +#define FDCAN_IT_TX_EVT_FIFO_FULL FDCAN_IE_TEFFE /*!< Tx Event FIFO full */ +#define FDCAN_IT_TX_EVT_FIFO_WATERMARK FDCAN_IE_TEFWE /*!< Tx Event FIFO fill level reached watermark */ +#define FDCAN_IT_TX_EVT_FIFO_NEW_DATA FDCAN_IE_TEFNE /*!< Tx Handler wrote Tx Event FIFO element */ +/** + * @} + */ + +/** @defgroup FDCAN_Rx_Fifo0_Interrupts FDCAN Rx FIFO 0 Interrupts + * @{ + */ +#define FDCAN_IT_RX_FIFO0_MESSAGE_LOST FDCAN_IE_RF0LE /*!< Rx FIFO 0 message lost */ +#define FDCAN_IT_RX_FIFO0_FULL FDCAN_IE_RF0FE /*!< Rx FIFO 0 full */ +#define FDCAN_IT_RX_FIFO0_WATERMARK FDCAN_IE_RF0WE /*!< Rx FIFO 0 fill level reached watermark */ +#define FDCAN_IT_RX_FIFO0_NEW_MESSAGE FDCAN_IE_RF0NE /*!< New message written to Rx FIFO 0 */ +/** + * @} + */ + +/** @defgroup FDCAN_Rx_Fifo1_Interrupts FDCAN Rx FIFO 1 Interrupts + * @{ + */ +#define FDCAN_IT_RX_FIFO1_MESSAGE_LOST FDCAN_IE_RF1LE /*!< Rx FIFO 1 message lost */ +#define FDCAN_IT_RX_FIFO1_FULL FDCAN_IE_RF1FE /*!< Rx FIFO 1 full */ +#define FDCAN_IT_RX_FIFO1_WATERMARK FDCAN_IE_RF1WE /*!< Rx FIFO 1 fill level reached watermark */ +#define FDCAN_IT_RX_FIFO1_NEW_MESSAGE FDCAN_IE_RF1NE /*!< New message written to Rx FIFO 1 */ +/** + * @} + */ + +/** @defgroup FDCAN_Error_Interrupts FDCAN Error Interrupts + * @{ + */ +#define FDCAN_IT_RAM_ACCESS_FAILURE FDCAN_IE_MRAFE /*!< Message RAM access failure occurred */ +#define FDCAN_IT_ERROR_LOGGING_OVERFLOW FDCAN_IE_ELOE /*!< Overflow of FDCAN Error Logging Counter occurred */ +#define FDCAN_IT_ERROR_PASSIVE FDCAN_IE_EPE /*!< Error_Passive status changed */ +#define FDCAN_IT_ERROR_WARNING FDCAN_IE_EWE /*!< Error_Warning status changed */ +#define FDCAN_IT_BUS_OFF FDCAN_IE_BOE /*!< Bus_Off status changed */ +#define FDCAN_IT_RAM_WATCHDOG FDCAN_IE_WDIE /*!< Message RAM Watchdog event due to missing READY */ +#define FDCAN_IT_ARB_PROTOCOL_ERROR FDCAN_IE_PEAE /*!< Protocol error in arbitration phase detected */ +#define FDCAN_IT_DATA_PROTOCOL_ERROR FDCAN_IE_PEDE /*!< Protocol error in data phase detected */ +#define FDCAN_IT_RESERVED_ADDRESS_ACCESS FDCAN_IE_ARAE /*!< Access to reserved address occurred */ +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup FDCAN_TTflags FDCAN TT Flags + * @{ + */ +#define FDCAN_TT_FLAG_BASIC_CYCLE_START FDCAN_TTIR_SBC /*!< Start of Basic Cycle */ +#define FDCAN_TT_FLAG_MATRIX_CYCLE_START FDCAN_TTIR_SMC /*!< Start of Matrix Cycle */ +#define FDCAN_TT_FLAG_SYNC_MODE_CHANGE FDCAN_TTIR_CSM /*!< Change of Synchronization Mode */ +#define FDCAN_TT_FLAG_START_OF_GAP FDCAN_TTIR_SOG /*!< Start of Gap */ +#define FDCAN_TT_FLAG_REG_TIME_MARK FDCAN_TTIR_RTMI /*!< Register Time Mark Interrupt */ +#define FDCAN_TT_FLAG_TRIG_TIME_MARK FDCAN_TTIR_TTMI /*!< Trigger Time Mark Event Internal */ +#define FDCAN_TT_FLAG_STOP_WATCH FDCAN_TTIR_SWE /*!< Stop Watch Event */ +#define FDCAN_TT_FLAG_GLOBAL_TIME_WRAP FDCAN_TTIR_GTW /*!< Global Time Wrap */ +#define FDCAN_TT_FLAG_GLOBAL_TIME_DISC FDCAN_TTIR_GTD /*!< Global Time Discontinuity */ +#define FDCAN_TT_FLAG_GLOBAL_TIME_ERROR FDCAN_TTIR_GTE /*!< Global Time Error */ +#define FDCAN_TT_FLAG_TX_COUNT_UNDERFLOW FDCAN_TTIR_TXU /*!< Tx Count Underflow */ +#define FDCAN_TT_FLAG_TX_COUNT_OVERFLOW FDCAN_TTIR_TXO /*!< Tx Count Overflow */ +#define FDCAN_TT_FLAG_SCHEDULING_ERROR_1 FDCAN_TTIR_SE1 /*!< Scheduling Error 1 */ +#define FDCAN_TT_FLAG_SCHEDULING_ERROR_2 FDCAN_TTIR_SE2 /*!< Scheduling Error 2 */ +#define FDCAN_TT_FLAG_ERROR_LEVEL_CHANGE FDCAN_TTIR_ELC /*!< Error Level Changed */ +#define FDCAN_TT_FLAG_INIT_WATCH_TRIGGER FDCAN_TTIR_IWT /*!< Initialization Watch Trigger */ +#define FDCAN_TT_FLAG_WATCH_TRIGGER FDCAN_TTIR_WT /*!< Watch Trigger */ +#define FDCAN_TT_FLAG_APPLICATION_WATCHDOG FDCAN_TTIR_AW /*!< Application Watchdog */ +#define FDCAN_TT_FLAG_CONFIG_ERROR FDCAN_TTIR_CER /*!< Configuration Error */ +/** + * @} + */ + +/** @defgroup FDCAN_TTInterrupts FDCAN TT Interrupts + * @{ + */ + +/** @defgroup FDCAN_TTScheduleSynchronization_Interrupts FDCAN TT Schedule Synchronization Interrupts + * @{ + */ +#define FDCAN_TT_IT_BASIC_CYCLE_START FDCAN_TTIE_SBCE /*!< Start of Basic Cycle */ +#define FDCAN_TT_IT_MATRIX_CYCLE_START FDCAN_TTIE_SMCE /*!< Start of Matrix Cycle */ +#define FDCAN_TT_IT_SYNC_MODE_CHANGE FDCAN_TTIE_CSME /*!< Change of Synchronization Mode */ +#define FDCAN_TT_IT_START_OF_GAP FDCAN_TTIE_SOGE /*!< Start of Gap */ +/** + * @} + */ + +/** @defgroup FDCAN_TTTimeMark_Interrupts FDCAN TT Time Mark Interrupts + * @{ + */ +#define FDCAN_TT_IT_REG_TIME_MARK FDCAN_TTIE_RTMIE /*!< Register Time Mark Interrupt */ +#define FDCAN_TT_IT_TRIG_TIME_MARK FDCAN_TTIE_TTMIE /*!< Trigger Time Mark Event Internal */ +/** + * @} + */ + +/** @defgroup FDCAN_TTStopWatch_Interrupt FDCAN TT Stop Watch Interrupt + * @{ + */ +#define FDCAN_TT_IT_STOP_WATCH FDCAN_TTIE_SWEE /*!< Stop Watch Event */ +/** + * @} + */ + +/** @defgroup FDCAN_TTGlobalTime_Interrupts FDCAN TT Global Time Interrupts + * @{ + */ +#define FDCAN_TT_IT_GLOBAL_TIME_WRAP FDCAN_TTIE_GTWE /*!< Global Time Wrap */ +#define FDCAN_TT_IT_GLOBAL_TIME_DISC FDCAN_TTIE_GTDE /*!< Global Time Discontinuity */ +/** + * @} + */ + +/** @defgroup FDCAN_TTDisturbingError_Interrupts FDCAN TT Disturbing Error Interrupts + * @{ + */ +#define FDCAN_TT_IT_GLOBAL_TIME_ERROR FDCAN_TTIE_GTEE /*!< Global Time Error */ +#define FDCAN_TT_IT_TX_COUNT_UNDERFLOW FDCAN_TTIE_TXUE /*!< Tx Count Underflow */ +#define FDCAN_TT_IT_TX_COUNT_OVERFLOW FDCAN_TTIE_TXOE /*!< Tx Count Overflow */ +#define FDCAN_TT_IT_SCHEDULING_ERROR_1 FDCAN_TTIE_SE1E /*!< Scheduling Error 1 */ +#define FDCAN_TT_IT_SCHEDULING_ERROR_2 FDCAN_TTIE_SE2E /*!< Scheduling Error 2 */ +#define FDCAN_TT_IT_ERROR_LEVEL_CHANGE FDCAN_TTIE_ELCE /*!< Error Level Changed */ +/** + * @} + */ + +/** @defgroup FDCAN_TTFatalError_Interrupts FDCAN TT Fatal Error Interrupts + * @{ + */ +#define FDCAN_TT_IT_INIT_WATCH_TRIGGER FDCAN_TTIE_IWTE /*!< Initialization Watch Trigger */ +#define FDCAN_TT_IT_WATCH_TRIGGER FDCAN_TTIE_WTE /*!< Watch Trigger */ +#define FDCAN_TT_IT_APPLICATION_WATCHDOG FDCAN_TTIE_AWE /*!< Application Watchdog */ +#define FDCAN_TT_IT_CONFIG_ERROR FDCAN_TTIE_CERE /*!< Configuration Error */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup FDCAN_Exported_Macros FDCAN Exported Macros + * @{ + */ + +/** @brief Reset FDCAN handle state. + * @param __HANDLE__: FDCAN handle. + * @retval None + */ +#define __HAL_FDCAN_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_FDCAN_STATE_RESET) + +/** + * @brief Enable the specified FDCAN interrupts. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: FDCAN interrupt. + * This parameter can be any combination of @arg FDCAN_Interrupts + * @retval None + */ +#define __HAL_FDCAN_ENABLE_IT(__HANDLE__, __INTERRUPT__) \ + do{ \ + (__HANDLE__)->Instance->IE |= ((__INTERRUPT__) & FDCAN_IR_MASK); \ + FDCAN_CCU->IE |= (((__INTERRUPT__) & CCU_IR_MASK) >> 30); \ + }while(0) + + +/** + * @brief Disable the specified FDCAN interrupts. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: FDCAN interrupt. + * This parameter can be any combination of @arg FDCAN_Interrupts + * @retval None + */ +#define __HAL_FDCAN_DISABLE_IT(__HANDLE__, __INTERRUPT__) \ + do{ \ + ((__HANDLE__)->Instance->IE) &= ~((__INTERRUPT__) & FDCAN_IR_MASK); \ + FDCAN_CCU->IE &= ~(((__INTERRUPT__) & CCU_IR_MASK) >> 30); \ + }while(0) + +/** + * @brief Check whether the specified FDCAN interrupt is set or not. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: FDCAN interrupt. + * This parameter can be one of @arg FDCAN_Interrupts + * @retval None + */ +#define __HAL_FDCAN_GET_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) < FDCAN_IT_CALIB_WATCHDOG_EVENT) ? ((__HANDLE__)->Instance->IR & (__INTERRUPT__)) : ((FDCAN_CCU->IR << 30) & (__INTERRUPT__))) + +/** + * @brief Clear the specified FDCAN interrupts. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: specifies the interrupts to clear. + * This parameter can be any combination of @arg FDCAN_Interrupts + * @retval None + */ +#define __HAL_FDCAN_CLEAR_IT(__HANDLE__, __INTERRUPT__) \ +do{ \ + ((__HANDLE__)->Instance->IR) = ((__INTERRUPT__) & FDCAN_IR_MASK); \ + FDCAN_CCU->IR = (((__INTERRUPT__) & CCU_IR_MASK) >> 30); \ + }while(0) + +/** + * @brief Check whether the specified FDCAN flag is set or not. + * @param __HANDLE__: FDCAN handle. + * @param __FLAG__: FDCAN flag. + * This parameter can be one of @arg FDCAN_flags + * @retval None + */ +#define __HAL_FDCAN_GET_FLAG(__HANDLE__, __FLAG__) (((__FLAG__) < FDCAN_FLAG_CALIB_WATCHDOG_EVENT) ? ((__HANDLE__)->Instance->IR & (__FLAG__)) : ((FDCAN_CCU->IR << 30) & (__FLAG__))) + +/** + * @brief Clear the specified FDCAN flags. + * @param __HANDLE__: FDCAN handle. + * @param __FLAG__: specifies the flags to clear. + * This parameter can be any combination of @arg FDCAN_flags + * @retval None + */ +#define __HAL_FDCAN_CLEAR_FLAG(__HANDLE__, __FLAG__) \ +do{ \ + ((__HANDLE__)->Instance->IR) = ((__FLAG__) & FDCAN_IR_MASK); \ + FDCAN_CCU->IR = (((__FLAG__) & CCU_IR_MASK) >> 30); \ + }while(0) + +/** @brief Check if the specified FDCAN interrupt source is enabled or disabled. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: specifies the FDCAN interrupt source to check. + * This parameter can be a value of @arg FDCAN_Interrupts + * @retval None + */ +#define __HAL_FDCAN_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) < FDCAN_IT_CALIB_WATCHDOG_EVENT) ? ((__HANDLE__)->Instance->IE & (__INTERRUPT__)) : ((FDCAN_CCU->IE << 30) & (__INTERRUPT__))) + +/** + * @brief Enable the specified FDCAN TT interrupts. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: FDCAN TT interrupt. + * This parameter can be any combination of @arg FDCAN_TTInterrupts + * @retval None + */ +#define __HAL_FDCAN_TT_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->ttcan->TTIE) |= (__INTERRUPT__)) + +/** + * @brief Disable the specified FDCAN TT interrupts. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: FDCAN TT interrupt. + * This parameter can be any combination of @arg FDCAN_TTInterrupts + * @retval None + */ +#define __HAL_FDCAN_TT_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->ttcan->TTIE) &= ~(__INTERRUPT__)) + +/** + * @brief Check whether the specified FDCAN TT interrupt is set or not. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: FDCAN TT interrupt. + * This parameter can be one of @arg FDCAN_TTInterrupts + * @retval None + */ +#define __HAL_FDCAN_TT_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->ttcan->TTIR) & (__INTERRUPT__)) + +/** + * @brief Clear the specified FDCAN TT interrupts. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: specifies the TT interrupts to clear. + * This parameter can be any combination of @arg FDCAN_TTInterrupts + * @retval None + */ +#define __HAL_FDCAN_TT_CLEAR_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->ttcan->TTIR) = (__INTERRUPT__)) + +/** + * @brief Check whether the specified FDCAN TT flag is set or not. + * @param __HANDLE__: FDCAN handle. + * @param __FLAG__: FDCAN TT flag. + * This parameter can be one of @arg FDCAN_TTflags + * @retval None + */ +#define __HAL_FDCAN_TT_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->ttcan->TTIR) & (__FLAG__)) + +/** + * @brief Clear the specified FDCAN TT flags. + * @param __HANDLE__: FDCAN handle. + * @param __FLAG__: specifies the TT flags to clear. + * This parameter can be any combination of @arg FDCAN_TTflags + * @retval None + */ +#define __HAL_FDCAN_TT_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->ttcan->TTIR) = (__FLAG__)) + +/** @brief Check if the specified FDCAN TT interrupt source is enabled or disabled. + * @param __HANDLE__: FDCAN handle. + * @param __INTERRUPT__: specifies the FDCAN TT interrupt source to check. + * This parameter can be a value of @arg FDCAN_TTInterrupts + * @retval None + */ +#define __HAL_FDCAN_TT_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->ttcan->TTIE) & (__INTERRUPT__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup FDCAN_Exported_Functions + * @{ + */ + +/** @addtogroup FDCAN_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions *****************************/ +HAL_StatusTypeDef HAL_FDCAN_Init(FDCAN_HandleTypeDef* hfdcan); +HAL_StatusTypeDef HAL_FDCAN_DeInit(FDCAN_HandleTypeDef* hfdcan); +void HAL_FDCAN_MspInit(FDCAN_HandleTypeDef* hfdcan); +void HAL_FDCAN_MspDeInit(FDCAN_HandleTypeDef* hfdcan); +HAL_StatusTypeDef HAL_FDCAN_EnterPowerDownMode(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_ExitPowerDownMode(FDCAN_HandleTypeDef *hfdcan); +/** + * @} + */ + +/** @addtogroup FDCAN_Exported_Functions_Group2 + * @{ + */ +/* Configuration functions ****************************************************/ +HAL_StatusTypeDef HAL_FDCAN_ConfigClockCalibration(FDCAN_HandleTypeDef* hfdcan, FDCAN_ClkCalUnitTypeDef* sCcuConfig); +uint32_t HAL_FDCAN_GetClockCalibrationState(FDCAN_HandleTypeDef* hfdcan); +HAL_StatusTypeDef HAL_FDCAN_ResetClockCalibrationState(FDCAN_HandleTypeDef* hfdcan); +uint32_t HAL_FDCAN_GetClockCalibrationCounter(FDCAN_HandleTypeDef* hfdcan, uint32_t Counter); +HAL_StatusTypeDef HAL_FDCAN_ConfigFilter(FDCAN_HandleTypeDef* hfdcan, FDCAN_FilterTypeDef* sFilterConfig); +HAL_StatusTypeDef HAL_FDCAN_ConfigGlobalFilter(FDCAN_HandleTypeDef *hfdcan, uint32_t NonMatchingStd, uint32_t NonMatchingExt, uint32_t RejectRemoteStd, uint32_t RejectRemoteExt); +HAL_StatusTypeDef HAL_FDCAN_ConfigExtendedIdMask(FDCAN_HandleTypeDef *hfdcan, uint32_t Mask); +HAL_StatusTypeDef HAL_FDCAN_ConfigRxFifoOverwrite(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo, uint32_t OperationMode); +HAL_StatusTypeDef HAL_FDCAN_ConfigFifoWatermark(FDCAN_HandleTypeDef *hfdcan, uint32_t FIFO, uint32_t Watermark); +HAL_StatusTypeDef HAL_FDCAN_ConfigRamWatchdog(FDCAN_HandleTypeDef *hfdcan, uint32_t CounterStartValue); +HAL_StatusTypeDef HAL_FDCAN_ConfigTimestampCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimestampPrescaler); +HAL_StatusTypeDef HAL_FDCAN_EnableTimestampCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimestampOperation); +HAL_StatusTypeDef HAL_FDCAN_DisableTimestampCounter(FDCAN_HandleTypeDef *hfdcan); +uint16_t HAL_FDCAN_GetTimestampCounter(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_ResetTimestampCounter(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_ConfigTimeoutCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimeoutOperation, uint32_t TimeoutPeriod); +HAL_StatusTypeDef HAL_FDCAN_EnableTimeoutCounter(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_DisableTimeoutCounter(FDCAN_HandleTypeDef *hfdcan); +uint16_t HAL_FDCAN_GetTimeoutCounter(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_ResetTimeoutCounter(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_ConfigTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan, uint32_t TdcOffset, uint32_t TdcFilter); +HAL_StatusTypeDef HAL_FDCAN_EnableTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_DisableTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan); +/** + * @} + */ + +/** @addtogroup FDCAN_Exported_Functions_Group3 + * @{ + */ +/* Control functions **********************************************************/ +HAL_StatusTypeDef HAL_FDCAN_Start(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_Stop(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_AddMessageToTxFifoQ(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTypeDef *pTxHeader, uint8_t *pTxData); +HAL_StatusTypeDef HAL_FDCAN_AddMessageToTxBuffer(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTypeDef *pTxHeader, uint8_t *pTxData, uint32_t BufferIndex); +HAL_StatusTypeDef HAL_FDCAN_EnableTxBufferRequest(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndex); +HAL_StatusTypeDef HAL_FDCAN_AbortTxRequest(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndex); +HAL_StatusTypeDef HAL_FDCAN_GetRxMessage(FDCAN_HandleTypeDef *hfdcan, uint32_t RxLocation, FDCAN_RxHeaderTypeDef *pRxHeader, uint8_t *pRxData); +HAL_StatusTypeDef HAL_FDCAN_GetTxEvent(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxEventFifoTypeDef *pTxEvent); +HAL_StatusTypeDef HAL_FDCAN_GetHighPriorityMessageStatus(FDCAN_HandleTypeDef *hfdcan, FDCAN_HpMsgStatusTypeDef *HpMsgStatus); +HAL_StatusTypeDef HAL_FDCAN_GetProtocolStatus(FDCAN_HandleTypeDef *hfdcan, FDCAN_ProtocolStatusTypeDef *ProtocolStatus); +HAL_StatusTypeDef HAL_FDCAN_GetErrorCounters(FDCAN_HandleTypeDef *hfdcan, FDCAN_ErrorCountersTypeDef *ErrorCounters); +uint32_t HAL_FDCAN_IsRxBufferMessageAvailable(FDCAN_HandleTypeDef *hfdcan, uint32_t RxBufferIndex); +uint32_t HAL_FDCAN_IsTxBufferMessagePending(FDCAN_HandleTypeDef *hfdcan, uint32_t TxBufferIndex); +uint32_t HAL_FDCAN_GetRxFifoFillLevel(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo); +uint32_t HAL_FDCAN_GetTxFifoFreeLevel(FDCAN_HandleTypeDef *hfdcan); +uint32_t HAL_FDCAN_IsRestrictedOperationMode(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_ExitRestrictedOperationMode(FDCAN_HandleTypeDef *hfdcan); +/** + * @} + */ + +/** @addtogroup FDCAN_Exported_Functions_Group4 + * @{ + */ +/* TT Configuration and control functions**************************************/ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigOperation(FDCAN_HandleTypeDef *hfdcan, FDCAN_TT_ConfigTypeDef *pTTParams); +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigReferenceMessage(FDCAN_HandleTypeDef *hfdcan, uint32_t IdType, uint32_t Identifier, uint32_t Payload); +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigTrigger(FDCAN_HandleTypeDef* hfdcan, FDCAN_TriggerTypeDef* sTriggerConfig); +HAL_StatusTypeDef HAL_FDCAN_TT_SetGlobalTime(FDCAN_HandleTypeDef* hfdcan, uint32_t TimePreset); +HAL_StatusTypeDef HAL_FDCAN_TT_SetClockSynchronization(FDCAN_HandleTypeDef* hfdcan, uint32_t NewTURNumerator); +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigStopWatch(FDCAN_HandleTypeDef* hfdcan, uint32_t Source, uint32_t Polarity); +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigRegisterTimeMark(FDCAN_HandleTypeDef* hfdcan, uint32_t TimeMarkSource, uint32_t TimeMarkValue, uint32_t RepeatFactor, uint32_t StartCycle); +HAL_StatusTypeDef HAL_FDCAN_TT_EnableRegisterTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_DisableRegisterTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_EnableTriggerTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_DisableTriggerTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_EnableHardwareGapControl(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_DisableHardwareGapControl(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_EnableTimeMarkGapControl(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_DisableTimeMarkGapControl(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_SetNextIsGap(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_SetEndOfGap(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigExternalSyncPhase(FDCAN_HandleTypeDef *hfdcan, uint32_t TargetPhase); +HAL_StatusTypeDef HAL_FDCAN_TT_EnableExternalSynchronization(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_DisableExternalSynchronization(FDCAN_HandleTypeDef *hfdcan); +HAL_StatusTypeDef HAL_FDCAN_TT_GetOperationStatus(FDCAN_HandleTypeDef *hfdcan, FDCAN_TTOperationStatusTypeDef *TTOpStatus); +/** + * @} + */ + +/** @addtogroup FDCAN_Exported_Functions_Group5 + * @{ + */ +/* Interrupts management ******************************************************/ +HAL_StatusTypeDef HAL_FDCAN_ConfigInterruptLines(FDCAN_HandleTypeDef *hfdcan, uint32_t ITList, uint32_t InterruptLine); +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigInterruptLines(FDCAN_HandleTypeDef *hfdcan, uint32_t ITList, uint32_t InterruptLine); +HAL_StatusTypeDef HAL_FDCAN_ActivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t ActiveITs, uint32_t BufferIndexes); +HAL_StatusTypeDef HAL_FDCAN_DeactivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t InactiveITs); +HAL_StatusTypeDef HAL_FDCAN_TT_ActivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t ActiveITs); +HAL_StatusTypeDef HAL_FDCAN_TT_DeactivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t InactiveTTITs); +void HAL_FDCAN_IRQHandler(FDCAN_HandleTypeDef* hfdcan); +/** + * @} + */ + +/** @addtogroup FDCAN_Exported_Functions_Group6 + * @{ + */ +/* Callback functions *********************************************************/ +void HAL_FDCAN_ClockCalibrationCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t ClkCalibrationITs); +void HAL_FDCAN_TxEventFifoCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TxEventFifoITs); +void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo0ITs); +void HAL_FDCAN_RxFifo1Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo1ITs); +void HAL_FDCAN_TxFifoEmptyCallback(FDCAN_HandleTypeDef *hfdcan); +void HAL_FDCAN_TxBufferCompleteCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndexes); +void HAL_FDCAN_TxBufferAbortCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndexes); +void HAL_FDCAN_RxBufferNewMessageCallback(FDCAN_HandleTypeDef *hfdcan); +void HAL_FDCAN_HighPriorityMessageCallback(FDCAN_HandleTypeDef *hfdcan); +void HAL_FDCAN_TimestampWraparoundCallback(FDCAN_HandleTypeDef *hfdcan); +void HAL_FDCAN_TimeoutOccurredCallback(FDCAN_HandleTypeDef *hfdcan); +void HAL_FDCAN_ErrorCallback(FDCAN_HandleTypeDef *hfdcan); +void HAL_FDCAN_TT_ScheduleSyncCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TTSchedSyncITs); +void HAL_FDCAN_TT_TimeMarkCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TTTimeMarkITs); +void HAL_FDCAN_TT_StopWatchCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t SWTime, uint32_t SWCycleCount); +void HAL_FDCAN_TT_GlobalTimeCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TTGlobTimeITs); +/** + * @} + */ + +/** @addtogroup FDCAN_Exported_Functions_Group7 + * @{ + */ +/* Peripheral State functions *************************************************/ +uint32_t HAL_FDCAN_GetError(FDCAN_HandleTypeDef *hfdcan); +HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef* hfdcan); +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup FDCAN_Private_Types FDCAN Private Types + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup FDCAN_Private_Variables FDCAN Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup FDCAN_Private_Constants FDCAN Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup FDCAN_Private_Macros FDCAN Private Macros + * @{ + */ +#define IS_FDCAN_FRAME_FORMAT(FORMAT) (((FORMAT) == FDCAN_FRAME_CLASSIC ) || \ + ((FORMAT) == FDCAN_FRAME_FD_NO_BRS) || \ + ((FORMAT) == FDCAN_FRAME_FD_BRS )) +#define IS_FDCAN_MODE(MODE) (((MODE) == FDCAN_MODE_NORMAL ) || \ + ((MODE) == FDCAN_MODE_RESTRICTED_OPERATION) || \ + ((MODE) == FDCAN_MODE_BUS_MONITORING ) || \ + ((MODE) == FDCAN_MODE_INTERNAL_LOOPBACK ) || \ + ((MODE) == FDCAN_MODE_EXTERNAL_LOOPBACK )) +#define IS_FDCAN_CKDIV(CKDIV) (((CKDIV) == FDCAN_CLOCK_DIV1 ) || \ + ((CKDIV) == FDCAN_CLOCK_DIV2 ) || \ + ((CKDIV) == FDCAN_CLOCK_DIV4 ) || \ + ((CKDIV) == FDCAN_CLOCK_DIV6 ) || \ + ((CKDIV) == FDCAN_CLOCK_DIV8 ) || \ + ((CKDIV) == FDCAN_CLOCK_DIV10) || \ + ((CKDIV) == FDCAN_CLOCK_DIV12) || \ + ((CKDIV) == FDCAN_CLOCK_DIV14) || \ + ((CKDIV) == FDCAN_CLOCK_DIV16) || \ + ((CKDIV) == FDCAN_CLOCK_DIV18) || \ + ((CKDIV) == FDCAN_CLOCK_DIV20) || \ + ((CKDIV) == FDCAN_CLOCK_DIV22) || \ + ((CKDIV) == FDCAN_CLOCK_DIV24) || \ + ((CKDIV) == FDCAN_CLOCK_DIV26) || \ + ((CKDIV) == FDCAN_CLOCK_DIV28) || \ + ((CKDIV) == FDCAN_CLOCK_DIV30)) +#define IS_FDCAN_NOMINAL_PRESCALER(PRESCALER) (((PRESCALER) >= 1) && ((PRESCALER) <= 512)) +#define IS_FDCAN_NOMINAL_SJW(SJW) (((SJW) >= 1) && ((SJW) <= 128)) +#define IS_FDCAN_NOMINAL_TSEG1(TSEG1) (((TSEG1) >= 2) && ((TSEG1) <= 256)) +#define IS_FDCAN_NOMINAL_TSEG2(TSEG2) (((TSEG2) >= 2) && ((TSEG2) <= 128)) +#define IS_FDCAN_DATA_PRESCALER(PRESCALER) (((PRESCALER) >= 1) && ((PRESCALER) <= 32)) +#define IS_FDCAN_DATA_SJW(SJW) (((SJW) >= 1) && ((SJW) <= 16)) +#define IS_FDCAN_DATA_TSEG1(TSEG1) (((TSEG1) >= 1) && ((TSEG1) <= 32)) +#define IS_FDCAN_DATA_TSEG2(TSEG2) (((TSEG2) >= 1) && ((TSEG2) <= 16)) +#define IS_FDCAN_MAX_VALUE(VALUE, MAX) ((VALUE) <= (MAX)) +#define IS_FDCAN_MIN_VALUE(VALUE, MIN) ((VALUE) >= (MIN)) +#define IS_FDCAN_DATA_SIZE(SIZE) (((SIZE) == FDCAN_DATA_BYTES_8 ) || \ + ((SIZE) == FDCAN_DATA_BYTES_12) || \ + ((SIZE) == FDCAN_DATA_BYTES_16) || \ + ((SIZE) == FDCAN_DATA_BYTES_20) || \ + ((SIZE) == FDCAN_DATA_BYTES_24) || \ + ((SIZE) == FDCAN_DATA_BYTES_32) || \ + ((SIZE) == FDCAN_DATA_BYTES_48) || \ + ((SIZE) == FDCAN_DATA_BYTES_64)) +#define IS_FDCAN_TX_FIFO_QUEUE_MODE(MODE) (((MODE) == FDCAN_TX_FIFO_OPERATION ) || \ + ((MODE) == FDCAN_TX_QUEUE_OPERATION)) +#define IS_FDCAN_ID_TYPE(ID_TYPE) (((ID_TYPE) == FDCAN_STANDARD_ID) || \ + ((ID_TYPE) == FDCAN_EXTENDED_ID)) +#define IS_FDCAN_FILTER_CFG(CONFIG) (((CONFIG) == FDCAN_FILTER_DISABLE ) || \ + ((CONFIG) == FDCAN_FILTER_TO_RXFIFO0 ) || \ + ((CONFIG) == FDCAN_FILTER_TO_RXFIFO1 ) || \ + ((CONFIG) == FDCAN_FILTER_REJECT ) || \ + ((CONFIG) == FDCAN_FILTER_HP ) || \ + ((CONFIG) == FDCAN_FILTER_TO_RXFIFO0_HP) || \ + ((CONFIG) == FDCAN_FILTER_TO_RXFIFO1_HP) || \ + ((CONFIG) == FDCAN_FILTER_TO_RXBUFFER )) +#define IS_FDCAN_TX_LOCATION(LOCATION) (((LOCATION) == FDCAN_TX_BUFFER0 ) || ((LOCATION) == FDCAN_TX_BUFFER1 ) || \ + ((LOCATION) == FDCAN_TX_BUFFER2 ) || ((LOCATION) == FDCAN_TX_BUFFER3 ) || \ + ((LOCATION) == FDCAN_TX_BUFFER4 ) || ((LOCATION) == FDCAN_TX_BUFFER5 ) || \ + ((LOCATION) == FDCAN_TX_BUFFER6 ) || ((LOCATION) == FDCAN_TX_BUFFER7 ) || \ + ((LOCATION) == FDCAN_TX_BUFFER8 ) || ((LOCATION) == FDCAN_TX_BUFFER9 ) || \ + ((LOCATION) == FDCAN_TX_BUFFER10) || ((LOCATION) == FDCAN_TX_BUFFER11) || \ + ((LOCATION) == FDCAN_TX_BUFFER12) || ((LOCATION) == FDCAN_TX_BUFFER13) || \ + ((LOCATION) == FDCAN_TX_BUFFER14) || ((LOCATION) == FDCAN_TX_BUFFER15) || \ + ((LOCATION) == FDCAN_TX_BUFFER16) || ((LOCATION) == FDCAN_TX_BUFFER17) || \ + ((LOCATION) == FDCAN_TX_BUFFER18) || ((LOCATION) == FDCAN_TX_BUFFER19) || \ + ((LOCATION) == FDCAN_TX_BUFFER20) || ((LOCATION) == FDCAN_TX_BUFFER21) || \ + ((LOCATION) == FDCAN_TX_BUFFER22) || ((LOCATION) == FDCAN_TX_BUFFER23) || \ + ((LOCATION) == FDCAN_TX_BUFFER24) || ((LOCATION) == FDCAN_TX_BUFFER25) || \ + ((LOCATION) == FDCAN_TX_BUFFER26) || ((LOCATION) == FDCAN_TX_BUFFER27) || \ + ((LOCATION) == FDCAN_TX_BUFFER28) || ((LOCATION) == FDCAN_TX_BUFFER29) || \ + ((LOCATION) == FDCAN_TX_BUFFER30) || ((LOCATION) == FDCAN_TX_BUFFER31)) +#define IS_FDCAN_RX_FIFO(FIFO) (((FIFO) == FDCAN_RX_FIFO0) || \ + ((FIFO) == FDCAN_RX_FIFO1)) +#define IS_FDCAN_RX_FIFO_MODE(MODE) (((MODE) == FDCAN_RX_FIFO_BLOCKING ) || \ + ((MODE) == FDCAN_RX_FIFO_OVERWRITE)) +#define IS_FDCAN_STD_FILTER_TYPE(TYPE) (((TYPE) == FDCAN_FILTER_RANGE) || \ + ((TYPE) == FDCAN_FILTER_DUAL ) || \ + ((TYPE) == FDCAN_FILTER_MASK )) +#define IS_FDCAN_EXT_FILTER_TYPE(TYPE) (((TYPE) == FDCAN_FILTER_RANGE ) || \ + ((TYPE) == FDCAN_FILTER_DUAL ) || \ + ((TYPE) == FDCAN_FILTER_MASK ) || \ + ((TYPE) == FDCAN_FILTER_RANGE_NO_EIDM)) +#define IS_FDCAN_FRAME_TYPE(TYPE) (((TYPE) == FDCAN_DATA_FRAME ) || \ + ((TYPE) == FDCAN_REMOTE_FRAME)) +#define IS_FDCAN_DLC(DLC) (((DLC) == FDCAN_DLC_BYTES_0 ) || \ + ((DLC) == FDCAN_DLC_BYTES_1 ) || \ + ((DLC) == FDCAN_DLC_BYTES_2 ) || \ + ((DLC) == FDCAN_DLC_BYTES_3 ) || \ + ((DLC) == FDCAN_DLC_BYTES_4 ) || \ + ((DLC) == FDCAN_DLC_BYTES_5 ) || \ + ((DLC) == FDCAN_DLC_BYTES_6 ) || \ + ((DLC) == FDCAN_DLC_BYTES_7 ) || \ + ((DLC) == FDCAN_DLC_BYTES_8 ) || \ + ((DLC) == FDCAN_DLC_BYTES_12) || \ + ((DLC) == FDCAN_DLC_BYTES_16) || \ + ((DLC) == FDCAN_DLC_BYTES_20) || \ + ((DLC) == FDCAN_DLC_BYTES_24) || \ + ((DLC) == FDCAN_DLC_BYTES_32) || \ + ((DLC) == FDCAN_DLC_BYTES_48) || \ + ((DLC) == FDCAN_DLC_BYTES_64)) +#define IS_FDCAN_ESI(ESI) (((ESI) == FDCAN_ESI_ACTIVE ) || \ + ((ESI) == FDCAN_ESI_PASSIVE)) +#define IS_FDCAN_BRS(BRS) (((BRS) == FDCAN_BRS_OFF) || \ + ((BRS) == FDCAN_BRS_ON )) +#define IS_FDCAN_FDF(FDF) (((FDF) == FDCAN_CLASSIC_CAN) || \ + ((FDF) == FDCAN_FD_CAN )) +#define IS_FDCAN_EFC(EFC) (((EFC) == FDCAN_NO_TX_EVENTS ) || \ + ((EFC) == FDCAN_STORE_TX_EVENTS)) +#define IS_FDCAN_IT(IT) (((IT) & 0xC0300000U) == RESET) +#define IS_FDCAN_TT_IT(IT) (((IT) & 0xFFF80000U) == RESET) +#define IS_FDCAN_FIFO_WATERMARK(FIFO) (((FIFO) == FDCAN_CFG_TX_EVENT_FIFO) || \ + ((FIFO) == FDCAN_CFG_RX_FIFO0 ) || \ + ((FIFO) == FDCAN_CFG_RX_FIFO1 )) +#define IS_FDCAN_NON_MATCHING(DESTINATION) (((DESTINATION) == FDCAN_ACCEPT_IN_RX_FIFO0) || \ + ((DESTINATION) == FDCAN_ACCEPT_IN_RX_FIFO1) || \ + ((DESTINATION) == FDCAN_REJECT )) +#define IS_FDCAN_IT_LINE(IT_LINE) (((IT_LINE) == FDCAN_INTERRUPT_LINE0) || \ + ((IT_LINE) == FDCAN_INTERRUPT_LINE1)) +#define IS_FDCAN_TIMESTAMP(OPERATION) (((OPERATION) == FDCAN_TIMESTAMP_INTERNAL) || \ + ((OPERATION) == FDCAN_TIMESTAMP_EXTERNAL)) +#define IS_FDCAN_TIMESTAMP_PRESCALER(PRESCALER) (((PRESCALER) == FDCAN_TIMESTAMP_PRESC_1 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_2 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_3 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_4 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_5 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_6 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_7 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_8 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_9 ) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_10) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_11) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_12) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_13) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_14) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_15) || \ + ((PRESCALER) == FDCAN_TIMESTAMP_PRESC_16)) +#define IS_FDCAN_TIMEOUT(OPERATION) (((OPERATION) == FDCAN_TIMEOUT_CONTINUOUS ) || \ + ((OPERATION) == FDCAN_TIMEOUT_TX_EVENT_FIFO) || \ + ((OPERATION) == FDCAN_TIMEOUT_RX_FIFO0 ) || \ + ((OPERATION) == FDCAN_TIMEOUT_RX_FIFO1 )) +#define IS_FDCAN_CALIBRATION_FIELD_LENGTH(LENGTH) (((LENGTH) == FDCAN_CALIB_FIELD_LENGTH_32) || \ + ((LENGTH) == FDCAN_CALIB_FIELD_LENGTH_64)) +#define IS_FDCAN_TT_REFERENCE_MESSAGE_PAYLOAD(PAYLOAD) (((PAYLOAD) == FDCAN_TT_REF_MESSAGE_NO_PAYLOAD ) || \ + ((PAYLOAD) == FDCAN_TT_REF_MESSAGE_ADD_PAYLOAD)) +#define IS_FDCAN_TT_REPEAT_FACTOR(FACTOR) (((FACTOR) == FDCAN_TT_REPEAT_EVERY_CYCLE ) || \ + ((FACTOR) == FDCAN_TT_REPEAT_EVERY_2ND_CYCLE ) || \ + ((FACTOR) == FDCAN_TT_REPEAT_EVERY_4TH_CYCLE ) || \ + ((FACTOR) == FDCAN_TT_REPEAT_EVERY_8TH_CYCLE ) || \ + ((FACTOR) == FDCAN_TT_REPEAT_EVERY_16TH_CYCLE) || \ + ((FACTOR) == FDCAN_TT_REPEAT_EVERY_32ND_CYCLE) || \ + ((FACTOR) == FDCAN_TT_REPEAT_EVERY_64TH_CYCLE)) +#define IS_FDCAN_TT_TRIGGER_TYPE(TYPE) (((TYPE) == FDCAN_TT_TX_REF_TRIGGER ) || \ + ((TYPE) == FDCAN_TT_TX_REF_TRIGGER_GAP ) || \ + ((TYPE) == FDCAN_TT_TX_TRIGGER_SINGLE ) || \ + ((TYPE) == FDCAN_TT_TX_TRIGGER_CONTINUOUS ) || \ + ((TYPE) == FDCAN_TT_TX_TRIGGER_ARBITRATION) || \ + ((TYPE) == FDCAN_TT_TX_TRIGGER_MERGED ) || \ + ((TYPE) == FDCAN_TT_WATCH_TRIGGER ) || \ + ((TYPE) == FDCAN_TT_WATCH_TRIGGER_GAP ) || \ + ((TYPE) == FDCAN_TT_RX_TRIGGER ) || \ + ((TYPE) == FDCAN_TT_TIME_BASE_TRIGGER ) || \ + ((TYPE) == FDCAN_TT_END_OF_LIST )) +#define IS_FDCAN_TT_TM_EVENT_INTERNAL(EVENT) (((EVENT) == FDCAN_TT_TM_NO_INTERNAL_EVENT ) || \ + ((EVENT) == FDCAN_TT_TM_GEN_INTERNAL_EVENT)) +#define IS_FDCAN_TT_TM_EVENT_EXTERNAL(EVENT) (((EVENT) == FDCAN_TT_TM_NO_EXTERNAL_EVENT ) || \ + ((EVENT) == FDCAN_TT_TM_GEN_EXTERNAL_EVENT)) +#define IS_FDCAN_OPERATION_MODE(MODE) (((MODE) == FDCAN_TT_COMMUNICATION_LEVEL1 ) || \ + ((MODE) == FDCAN_TT_COMMUNICATION_LEVEL2 ) || \ + ((MODE) == FDCAN_TT_COMMUNICATION_LEVEL0 )) +#define IS_FDCAN_TT_OPERATION(OPERATION) (((OPERATION) == FDCAN_STRICTLY_TT_OPERATION ) || \ + ((OPERATION) == FDCAN_EXT_EVT_SYNC_TT_OPERATION)) +#define IS_FDCAN_TT_TIME_MASTER(FUNCTION) (((FUNCTION) == FDCAN_TT_SLAVE ) || \ + ((FUNCTION) == FDCAN_TT_POTENTIAL_MASTER)) +#define IS_FDCAN_TT_EXTERNAL_CLK_SYNC(SYNC) (((SYNC) == FDCAN_TT_EXT_CLK_SYNC_DISABLE) || \ + ((SYNC) == FDCAN_TT_EXT_CLK_SYNC_ENABLE )) +#define IS_FDCAN_TT_GLOBAL_TIME_FILTERING(FILTERING) (((FILTERING) == FDCAN_TT_GLOB_TIME_FILT_DISABLE) || \ + ((FILTERING) == FDCAN_TT_GLOB_TIME_FILT_ENABLE )) +#define IS_FDCAN_TT_AUTO_CLK_CALIBRATION(CALIBRATION) (((CALIBRATION) == FDCAN_TT_AUTO_CLK_CALIB_DISABLE) || \ + ((CALIBRATION) == FDCAN_TT_AUTO_CLK_CALIB_ENABLE )) +#define IS_FDCAN_TT_EVENT_TRIGGER_POLARITY(POLARITY) (((POLARITY) == FDCAN_TT_EVT_TRIG_POL_RISING ) || \ + ((POLARITY) == FDCAN_TT_EVT_TRIG_POL_FALLING)) +#define IS_FDCAN_TT_BASIC_CYCLES_NUMBER(NUMBER) (((NUMBER) == FDCAN_TT_CYCLES_PER_MATRIX_1 ) || \ + ((NUMBER) == FDCAN_TT_CYCLES_PER_MATRIX_2 ) || \ + ((NUMBER) == FDCAN_TT_CYCLES_PER_MATRIX_4 ) || \ + ((NUMBER) == FDCAN_TT_CYCLES_PER_MATRIX_8 ) || \ + ((NUMBER) == FDCAN_TT_CYCLES_PER_MATRIX_16) || \ + ((NUMBER) == FDCAN_TT_CYCLES_PER_MATRIX_32) || \ + ((NUMBER) == FDCAN_TT_CYCLES_PER_MATRIX_64)) +#define IS_FDCAN_TT_CYCLE_START_SYNC(SYNC) (((SYNC) == FDCAN_TT_NO_SYNC_PULSE ) || \ + ((SYNC) == FDCAN_TT_SYNC_BASIC_CYCLE_START) || \ + ((SYNC) == FDCAN_TT_SYNC_MATRIX_START )) +#define IS_FDCAN_TT_TX_ENABLE_WINDOW(NTU) (((NTU) >= 1) && ((NTU) <= 16)) +#define IS_FDCAN_TT_TUR_NUMERATOR(NUMERATOR) (((NUMERATOR) >= 0x10000) && ((NUMERATOR) <= 0x1FFFF)) +#define IS_FDCAN_TT_TUR_DENOMINATOR(DENOMINATOR) (((DENOMINATOR) >= 0x0001) && ((DENOMINATOR) <= 0x3FFF)) +#define IS_FDCAN_TT_TUR_LEVEL_1(NC,DC) ((NC) >= (4 * (DC))) +#define IS_FDCAN_TT_TUR_LEVEL_0_2(NC,DC) ((NC) >= (8 * (DC))) +#define IS_FDCAN_TT_STOP_WATCH_TRIGGER(TRIGGER) (((TRIGGER) == FDCAN_TT_STOP_WATCH_TRIGGER_0) || \ + ((TRIGGER) == FDCAN_TT_STOP_WATCH_TRIGGER_1) || \ + ((TRIGGER) == FDCAN_TT_STOP_WATCH_TRIGGER_2) || \ + ((TRIGGER) == FDCAN_TT_STOP_WATCH_TRIGGER_3)) +#define IS_FDCAN_TT_EVENT_TRIGGER(TRIGGER) (((TRIGGER) == FDCAN_TT_EVENT_TRIGGER_0) || \ + ((TRIGGER) == FDCAN_TT_EVENT_TRIGGER_1) || \ + ((TRIGGER) == FDCAN_TT_EVENT_TRIGGER_2) || \ + ((TRIGGER) == FDCAN_TT_EVENT_TRIGGER_3)) +#define IS_FDCAN_TT_TIME_PRESET(TIME) (((TIME) <= 0xFFFF) && ((TIME) != 0x8000)) +#define IS_FDCAN_TT_STOP_WATCH_SOURCE(SOURCE) (((SOURCE) == FDCAN_TT_STOP_WATCH_DISABLED ) || \ + ((SOURCE) == FDCAN_TT_STOP_WATCH_CYCLE_TIME ) || \ + ((SOURCE) == FDCAN_TT_STOP_WATCH_LOCAL_TIME ) || \ + ((SOURCE) == FDCAN_TT_STOP_WATCH_GLOBAL_TIME)) +#define IS_FDCAN_TT_STOP_WATCH_POLARITY(POLARITY) (((POLARITY) == FDCAN_TT_STOP_WATCH_DISABLED ) || \ + ((POLARITY) == FDCAN_TT_STOP_WATCH_GLOBAL_TIME)) +#define IS_FDCAN_TT_REGISTER_TIME_MARK_SOURCE(SOURCE) (((SOURCE) == FDCAN_TT_REG_TIMEMARK_DIABLED ) || \ + ((SOURCE) == FDCAN_TT_REG_TIMEMARK_CYC_TIME) || \ + ((SOURCE) == FDCAN_TT_REG_TIMEMARK_LOC_TIME) || \ + ((SOURCE) == FDCAN_TT_REG_TIMEMARK_GLO_TIME)) +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup FDCAN_Private_Functions_Prototypes FDCAN Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup FDCAN_Private_Functions FDCAN Private Functions + * @{ + */ + +/** + * @} + */ +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_FDCAN_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h new file mode 100644 index 0000000000..6d4e06dc42 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h @@ -0,0 +1,665 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_flash.h + * @author MCD Application Team + * @brief Header file of FLASH HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_FLASH_H +#define __STM32H7xx_HAL_FLASH_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup FLASH + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup FLASH_Exported_Types FLASH Exported Types + * @{ + */ + +/** + * @brief FLASH Procedure structure definition + */ +typedef enum +{ + FLASH_PROC_NONE = 0U, + FLASH_PROC_SECTERASE_BANK1, + FLASH_PROC_MASSERASE_BANK1, + FLASH_PROC_PROGRAM_BANK1, + FLASH_PROC_SECTERASE_BANK2, + FLASH_PROC_MASSERASE_BANK2, + FLASH_PROC_PROGRAM_BANK2, + FLASH_PROC_ALLBANK_MASSERASE +} FLASH_ProcedureTypeDef; + + +/** + * @brief FLASH handle Structure definition + */ +typedef struct +{ + __IO FLASH_ProcedureTypeDef ProcedureOnGoing; /*!< Internal variable to indicate which procedure is ongoing or not in IT context */ + + __IO uint32_t NbSectorsToErase; /*!< Internal variable to save the remaining sectors to erase in IT context */ + + __IO uint8_t VoltageForErase; /*!< Internal variable to provide voltage range selected by user in IT context */ + + __IO uint32_t Sector; /*!< Internal variable to define the current sector which is erasing */ + + __IO uint32_t Address; /*!< Internal variable to save address selected for program */ + + HAL_LockTypeDef Lock; /*!< FLASH locking object */ + + __IO uint32_t ErrorCode; /*!< FLASH error code */ + +}FLASH_ProcessTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup FLASH_Exported_Constants FLASH Exported Constants + * @{ + */ + +/** @defgroup FLASH_Error_Code FLASH Error Code + * @brief FLASH Error Code + * @{ + */ + +#define HAL_FLASH_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ + +#define HAL_FLASH_ERROR_WRP ((uint32_t)0x00000001U) /*!< Write Protection Error */ +#define HAL_FLASH_ERROR_PGS ((uint32_t)0x00000002U) /*!< Program Sequence Error */ +#define HAL_FLASH_ERROR_STRB ((uint32_t)0x00000004U) /*!< Strobe Error */ +#define HAL_FLASH_ERROR_INC ((uint32_t)0x00000008U) /*!< Inconsistency Error */ +#define HAL_FLASH_ERROR_OPE ((uint32_t)0x00000010U) /*!< Operation Error */ +#define HAL_FLASH_ERROR_RDP ((uint32_t)0x00000020U) /*!< Read Protection Error */ +#define HAL_FLASH_ERROR_RDS ((uint32_t)0x00000040U) /*!< Read Secured Error */ +#define HAL_FLASH_ERROR_SNECC ((uint32_t)0x00000080U) /*!< Single Detection ECC */ +#define HAL_FLASH_ERROR_DBECC ((uint32_t)0x00000100U) /*!< Double Detection ECC */ + +#define HAL_FLASH_ERROR_WRP_BANK1 ((uint32_t)0x00000001U) /*!< Write Protection Error on Bank 1 */ +#define HAL_FLASH_ERROR_PGS_BANK1 ((uint32_t)0x00000002U) /*!< Program Sequence Error on Bank 1 */ +#define HAL_FLASH_ERROR_STRB_BANK1 ((uint32_t)0x00000004U) /*!< Strobe Error on Bank 1 */ +#define HAL_FLASH_ERROR_INC_BANK1 ((uint32_t)0x00000008U) /*!< Inconsistency Error on Bank 1 */ +#define HAL_FLASH_ERROR_OPE_BANK1 ((uint32_t)0x00000010U) /*!< Operation Error on Bank 1 */ +#define HAL_FLASH_ERROR_RDP_BANK1 ((uint32_t)0x00000020U) /*!< Read Protection Error on Bank 1 */ +#define HAL_FLASH_ERROR_RDS_BANK1 ((uint32_t)0x00000040U) /*!< Read Secured Error on Bank 1 */ +#define HAL_FLASH_ERROR_SNECC_BANK1 ((uint32_t)0x00000080U) /*!< Single Detection ECC on Bank 1 */ +#define HAL_FLASH_ERROR_DBECC_BANK1 ((uint32_t)0x00000100U) /*!< Double Detection ECC on Bank 1 */ + +#define HAL_FLASH_ERROR_WRP_BANK2 ((uint32_t)0x00001000U) /*!< Write Protection Error on Bank 2 */ +#define HAL_FLASH_ERROR_PGS_BANK2 ((uint32_t)0x00002000U) /*!< Program Sequence Error on Bank 2 */ +#define HAL_FLASH_ERROR_STRB_BANK2 ((uint32_t)0x00004000U) /*!< Strobe Error on Bank 2 */ +#define HAL_FLASH_ERROR_INC_BANK2 ((uint32_t)0x00008000U) /*!< Inconsistency Error on Bank 2 */ +#define HAL_FLASH_ERROR_OPE_BANK2 ((uint32_t)0x00010000U) /*!< Operation Error on Bank 2 */ +#define HAL_FLASH_ERROR_RDP_BANK2 ((uint32_t)0x00020000U) /*!< Read Protection Error on Bank 2 */ +#define HAL_FLASH_ERROR_RDS_BANK2 ((uint32_t)0x00040000U) /*!< Read Secured Error on Bank 2 */ +#define HAL_FLASH_ERROR_SNECC_BANK2 ((uint32_t)0x00080000U) /*!< Single Detection ECC on Bank 2 */ +#define HAL_FLASH_ERROR_DBECC_BANK2 ((uint32_t)0x00100000U) /*!< Double Detection ECC on Bank 2 */ + +#define HAL_FLASH_ERROR_OB_CHANGE ((uint32_t)0x01000000U) /*!< Option Byte Change Error */ + +/** + * @} + */ + +/** @defgroup FLASH_Type_Program FLASH Type Program + * @{ + */ +#define FLASH_TYPEPROGRAM_FLASHWORD ((uint32_t)0x03U) /*!< Program a flash word (256-bit) at a specified address */ +/** + * @} + */ + +/** @defgroup FLASH_Flag_definition FLASH Flag definition + * @brief Flag definition + * @{ + */ + + +#define FLASH_FLAG_BSY FLASH_SR_BSY /*!< FLASH Busy flag */ +#define FLASH_FLAG_WDW FLASH_SR_WDW /*!< Waiting for Data to Write on flag */ +#define FLASH_FLAG_QW FLASH_SR_QW /*!< Write Waiting in Operation Queue on flag */ +#define FLASH_FLAG_CRC_BUSY FLASH_SR_CRC_BUSY /*!< CRC module is working on flag */ +#define FLASH_FLAG_EOP FLASH_SR_EOP /*!< End Of Program on flag */ +#define FLASH_FLAG_WRPERR FLASH_SR_WRPERR /*!< Write Protection Error on flag */ +#define FLASH_FLAG_PGSERR FLASH_SR_PGSERR /*!< Program Sequence Error on flag */ +#define FLASH_FLAG_STRBERR FLASH_SR_STRBERR /*!< strobe Error on flag */ +#define FLASH_FLAG_INCERR FLASH_SR_INCERR /*!< Inconsistency Error on flag */ +#define FLASH_FLAG_OPERR FLASH_SR_OPERR /*!< Operation Error on flag */ +#define FLASH_FLAG_RDPERR FLASH_SR_RDPERR /*!< Read Protection Error on flag */ +#define FLASH_FLAG_RDSERR FLASH_SR_RDSERR /*!< Read Secured Error on flag */ +#define FLASH_FLAG_SNECCERR FLASH_SR_SNECCERR /*!< Single ECC Error Correction on flag */ +#define FLASH_FLAG_DBECCERR FLASH_SR_DBECCERR /*!< Double Detection ECC Error on flag */ +#define FLASH_FLAG_CRCEND FLASH_SR_CRCEND /*!< CRC module completes on bank flag */ + + +#define FLASH_FLAG_BSY_BANK1 FLASH_SR_BSY /*!< FLASH Bank 1 Busy flag */ +#define FLASH_FLAG_WBNE_BANK1 FLASH_SR_WBNE /*!< Waiting for Data to Write on Bank 1 flag */ +#define FLASH_FLAG_QW_BANK1 FLASH_SR_QW /*!< Write Waiting in Operation Queue on Bank 1 flag */ +#define FLASH_FLAG_CRC_BUSY_BANK1 FLASH_SR_CRC_BUSY /*!< CRC module is working on Bank 1 flag */ +#define FLASH_FLAG_EOP_BANK1 FLASH_SR_EOP /*!< End Of Program on Bank 1 flag */ +#define FLASH_FLAG_WRPERR_BANK1 FLASH_SR_WRPERR /*!< Write Protection Error on Bank 1 flag */ +#define FLASH_FLAG_PGSERR_BANK1 FLASH_SR_PGSERR /*!< Program Sequence Error on Bank 1 flag */ +#define FLASH_FLAG_STRBER_BANK1R FLASH_SR_STRBERR /*!< strobe Error on Bank 1 flag */ +#define FLASH_FLAG_INCERR_BANK1 FLASH_SR_INCERR /*!< Inconsistency Error on Bank 1 flag */ +#define FLASH_FLAG_OPERR_BANK1 FLASH_SR_OPERR /*!< Operation Error on Bank 1 flag */ +#define FLASH_FLAG_RDPERR_BANK1 FLASH_SR_RDPERR /*!< Read Protection Error on Bank 1 flag */ +#define FLASH_FLAG_RDSERR_BANK1 FLASH_SR_RDSERR /*!< Read Secured Error on Bank 1 flag */ +#define FLASH_FLAG_SNECCE_BANK1RR FLASH_SR_SNECCERR /*!< Single ECC Error Correction on Bank 1 flag */ +#define FLASH_FLAG_DBECCE_BANK1RR FLASH_SR_DBECCERR /*!< Double Detection ECC Error on Bank 1 flag */ +#define FLASH_FLAG_CRCEND_BANK1 FLASH_SR_CRCEND /*!< CRC module completes on bank Bank 1 flag */ + + +#define FLASH_FLAG_ALL_ERRORS_BANK1 (FLASH_FLAG_WRPERR_BANK1 | FLASH_FLAG_PGSERR_BANK1 | \ + FLASH_FLAG_STRBER_BANK1R | FLASH_FLAG_INCERR_BANK1 | \ + FLASH_FLAG_OPERR_BANK1 | FLASH_FLAG_RDPERR_BANK1 | \ + FLASH_FLAG_RDSERR_BANK1 | FLASH_FLAG_SNECCE_BANK1RR | \ + FLASH_FLAG_DBECCE_BANK1RR) + +#define FLASH_FLAG_ALL_BANK1 (FLASH_FLAG_BSY_BANK1 | FLASH_FLAG_WBNE_BANK1 | \ + FLASH_FLAG_QW_BANK1 | FLASH_FLAG_CRC_BUSY_BANK1 | \ + FLASH_FLAG_EOP_BANK1 | FLASH_FLAG_CRCEND_BANK1 | \ + FLASH_FLAG_ALL_ERRORS_BANK1) + +#define FLASH_FLAG_BSY_BANK2 (FLASH_SR_BSY | 0x80000000U) /*!< FLASH Bank 2 Busy flag */ +#define FLASH_FLAG_WBNE_BANK2 (FLASH_SR_WBNE | 0x80000000U) /*!< Waiting for Data to Write on Bank 2 flag */ +#define FLASH_FLAG_QW_BANK2 (FLASH_SR_QW | 0x80000000U) /*!< Write Waiting in Operation Queue on Bank 2 flag */ +#define FLASH_FLAG_CRC_BUSY_BANK2 (FLASH_SR_CRC_BUSY | 0x80000000U) /*!< CRC module is working on Bank 2 flag */ +#define FLASH_FLAG_EOP_BANK2 (FLASH_SR_EOP | 0x80000000U) /*!< End Of Program on Bank 2 flag */ +#define FLASH_FLAG_WRPERR_BANK2 (FLASH_SR_WRPERR | 0x80000000U) /*!< Write Protection Error on Bank 2 flag */ +#define FLASH_FLAG_PGSERR_BANK2 (FLASH_SR_PGSERR | 0x80000000U) /*!< Program Sequence Error on Bank 2 flag */ +#define FLASH_FLAG_STRBER_BANK2R (FLASH_SR_STRBERR | 0x80000000U) /*!< Strobe Error on Bank 2 flag */ +#define FLASH_FLAG_INCERR_BANK2 (FLASH_SR_INCERR | 0x80000000U) /*!< Inconsistency Error on Bank 2 flag */ +#define FLASH_FLAG_OPERR_BANK2 (FLASH_SR_OPERR | 0x80000000U) /*!< Operation Error on Bank 2 flag */ +#define FLASH_FLAG_RDPERR_BANK2 (FLASH_SR_RDPERR | 0x80000000U) /*!< Read Protection Error on Bank 2 flag */ +#define FLASH_FLAG_RDSERR_BANK2 (FLASH_SR_RDSERR | 0x80000000U) /*!< Read Secured Error on Bank 2 flag */ +#define FLASH_FLAG_SNECCE_BANK2RR (FLASH_SR_SNECCERR | 0x80000000U) /*!< Single ECC Error Correction on Bank 2 flag */ +#define FLASH_FLAG_DBECCE_BANK2RR (FLASH_SR_DBECCERR | 0x80000000U) /*!< Double Detection ECC Error on Bank 2 flag */ +#define FLASH_FLAG_CRCEND_BANK2 (FLASH_SR_CRCEND | 0x80000000U) /*!< CRC module completes on bank Bank 2 flag */ + + +#define FLASH_FLAG_ALL_ERRORS_BANK2 (FLASH_FLAG_WRPERR_BANK2 | FLASH_FLAG_PGSERR_BANK2 | \ + FLASH_FLAG_STRBER_BANK2R | FLASH_FLAG_INCERR_BANK2 | \ + FLASH_FLAG_OPERR_BANK2 | FLASH_FLAG_RDPERR_BANK2 | \ + FLASH_FLAG_RDSERR_BANK2 | FLASH_FLAG_SNECCE_BANK2RR | \ + FLASH_FLAG_DBECCE_BANK2RR) + +#define FLASH_FLAG_ALL_BANK2 (FLASH_FLAG_BSY_BANK2 | FLASH_FLAG_WBNE_BANK2 | \ + FLASH_FLAG_QW_BANK2 | FLASH_FLAG_CRC_BUSY_BANK2 | \ + FLASH_FLAG_EOP_BANK2 | FLASH_FLAG_CRCEND_BANK2 | \ + FLASH_FLAG_ALL_ERRORS_BANK2) + + + +/** + * @} + */ + +/** @defgroup FLASH_Interrupt_definition FLASH Interrupt definition + * @brief FLASH Interrupt definition + * @{ + */ + +#define FLASH_IT_EOP_BANK1 FLASH_CR_EOPIE /*!< End of FLASH Bank 1 Operation Interrupt source */ +#define FLASH_IT_WRPERR_BANK1 FLASH_CR_WRPERRIE /*!< Write Protection Error on Bank 1 Interrupt source */ +#define FLASH_IT_PGSERR_BANK1 FLASH_CR_PGSERRIE /*!< Program Sequence Error on Bank 1 Interrupt source */ +#define FLASH_IT_STRBERR_BANK1 FLASH_CR_STRBERRIE /*!< Strobe Error on Bank 1 Interrupt source */ +#define FLASH_IT_INCERR_BANK1 FLASH_CR_INCERRIE /*!< Inconsistency Error on Bank 1 Interrupt source */ +#define FLASH_IT_OPERR_BANK1 FLASH_CR_OPERRIE /*!< Operation Error on Bank 1 Interrupt source */ +#define FLASH_IT_RDPERR_BANK1 FLASH_CR_RDPERRIE /*!< Read protection Error on Bank 1 Interrupt source */ +#define FLASH_IT_RDSERR_BANK1 FLASH_CR_RDSERRIE /*!< Read Secured Error on Bank 1 Interrupt source */ +#define FLASH_IT_SNECCERR_BANK1 FLASH_CR_SNECCERRIE /*!< Single ECC Error Correction on Bank 1 Interrupt source */ +#define FLASH_IT_DBECCERR_BANK1 FLASH_CR_DBECCERRIE /*!< Double Detection ECC Error on Bank 1 Interrupt source */ +#define FLASH_IT_CRCEND_BANK1 FLASH_CR_CRCENDIE /*!< CRC End on Bank 1 Interrupt source */ + +#define FLASH_IT_ALL_BANK1 (FLASH_IT_EOP_BANK1 | FLASH_IT_WRPERR_BANK1 | \ + FLASH_IT_PGSERR_BANK1 | FLASH_IT_STRBERR_BANK1 | \ + FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_BANK1 | \ + FLASH_IT_RDPERR_BANK1 | FLASH_IT_RDSERR_BANK1 | \ + FLASH_CR_SNECCERRIE | FLASH_CR_DBECCERRIE | \ + FLASH_CR_CRCENDIE ) + +#define FLASH_IT_EOP_BANK2 (FLASH_CR_EOPIE | 0x80000000U) /*!< End of FLASH Bank 2 Operation Interrupt source */ +#define FLASH_IT_WRPERR_BANK2 (FLASH_CR_WRPERRIE | 0x80000000U) /*!< Write Protection Error on Bank 2 Interrupt source */ +#define FLASH_IT_PGSERR_BANK2 (FLASH_CR_PGSERRIE | 0x80000000U) /*!< Program Sequence Error on Bank 2 Interrupt source */ +#define FLASH_IT_STRBERR_BANK2 (FLASH_CR_STRBERRIE | 0x80000000U) /*!< Strobe Error on Bank 2 Interrupt source */ +#define FLASH_IT_INCERR_BANK2 (FLASH_CR_INCERRIE | 0x80000000U) /*!< Inconsistency Error on Bank 2 Interrupt source */ +#define FLASH_IT_OPERR_BANK2 (FLASH_CR_OPERRIE | 0x80000000U) /*!< Operation Error on Bank 2 Interrupt source */ +#define FLASH_IT_RDPERR_BANK2 (FLASH_CR_RDPERRIE | 0x80000000U) /*!< Read protection Error on Bank 2 Interrupt source */ +#define FLASH_IT_RDSERR_BANK2 (FLASH_CR_RDSERRIE | 0x80000000U) /*!< Read Secured Error on Bank 2 Interrupt source */ +#define FLASH_IT_SNECCERR_BANK2 (FLASH_CR_SNECCERRIE | 0x80000000U) /*!< Single ECC Error Correction on Bank 2 Interrupt source */ +#define FLASH_IT_DBECCERR_BANK2 (FLASH_CR_DBECCERRIE | 0x80000000U) /*!< Double Detection ECC Error on Bank 2 Interrupt source */ +#define FLASH_IT_CRCEND_BANK2 (FLASH_CR_CRCENDIE | 0x80000000U) /*!< CRC End on Bank 2 Interrupt source */ + + +#define FLASH_IT_ALL_BANK2 (FLASH_IT_EOP_BANK2 | FLASH_IT_WRPERR_BANK1 | \ + FLASH_IT_PGSERR_BANK2 | FLASH_IT_STRBERR_BANK1 | \ + FLASH_IT_INCERR_BANK2 | FLASH_IT_OPERR_BANK1 | \ + FLASH_IT_RDPERR_BANK2 | FLASH_IT_RDSERR_BANK1 | \ + FLASH_CR_SNECCERRIE | FLASH_CR_DBECCERRIE | \ + FLASH_CR_CRCENDIE ) +/** + * @} + */ + +/** @defgroup FLASH_Program_Parallelism FLASH Program Parallelism + * @{ + */ +#define FLASH_PSIZE_BYTE ((uint32_t)0x00000000U) +#define FLASH_PSIZE_HALF_WORD ((uint32_t)FLASH_CR_PSIZE_0) +#define FLASH_PSIZE_WORD ((uint32_t)FLASH_CR_PSIZE_1) +#define FLASH_PSIZE_DOUBLE_WORD ((uint32_t)FLASH_CR_PSIZE) +#define CR_PSIZE_MASK ((uint32_t)0xFFFFFFCFU) +/** + * @} + */ + + +/** @defgroup FLASH_Keys FLASH Keys + * @{ + */ +#define FLASH_KEY1 ((uint32_t)0x45670123U) +#define FLASH_KEY2 ((uint32_t)0xCDEF89ABU) +#define FLASH_OPT_KEY1 ((uint32_t)0x08192A3BU) +#define FLASH_OPT_KEY2 ((uint32_t)0x4C5D6E7FU) +/** + * @} + */ + +/** @defgroup FLASH_Sectors FLASH Sectors + * @{ + */ +#define FLASH_SECTOR_0 ((uint32_t)0U) /*!< Sector Number 0 */ +#define FLASH_SECTOR_1 ((uint32_t)1U) /*!< Sector Number 1 */ +#define FLASH_SECTOR_2 ((uint32_t)2U) /*!< Sector Number 2 */ +#define FLASH_SECTOR_3 ((uint32_t)3U) /*!< Sector Number 3 */ +#define FLASH_SECTOR_4 ((uint32_t)4U) /*!< Sector Number 4 */ +#define FLASH_SECTOR_5 ((uint32_t)5U) /*!< Sector Number 5 */ +#define FLASH_SECTOR_6 ((uint32_t)6U) /*!< Sector Number 6 */ +#define FLASH_SECTOR_7 ((uint32_t)7U) /*!< Sector Number 7 */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup FLASH_Exported_Macros FLASH Exported Macros + * @{ + */ +/** + * @brief Set the FLASH Latency. + * @param __LATENCY__: FLASH Latency + * The value of this parameter depend on device used within the same series + * @retval none + */ +#define __HAL_FLASH_SET_LATENCY(__LATENCY__) \ + MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, (uint32_t)(__LATENCY__)) + +/** + * @brief Get the FLASH Latency. + * @retval FLASH Latency + * The value of this parameter depend on device used within the same series + */ +#define __HAL_FLASH_GET_LATENCY() (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY)) + +/** + * @brief Enable the specified FLASH interrupt. + * @param __INTERRUPT__ : FLASH interrupt + * In case of Bank 1 This parameter can be any combination of the following values: + * @arg FLASH_IT_EOP_BANK1 : End of FLASH Bank 1 Operation Interrupt source + * @arg FLASH_IT_WRPERR_BANK1 : Write Protection Error on Bank 1 Interrupt source + * @arg FLASH_IT_PGSERR_BANK1 : Program Sequence Error on Bank 1 Interrupt source + * @arg FLASH_IT_STRBERR_BANK1 : Strobe Error on Bank 1 Interrupt source + * @arg FLASH_IT_INCERR_BANK1 : Inconsistency Error on Bank 1 Interrupt source + * @arg FLASH_IT_OPERR_BANK1 : Operation Error on Bank 1 Interrupt source + * @arg FLASH_IT_RDPERR_BANK1 : Read protection Error on Bank 1 Interrupt source + * @arg FLASH_IT_RDSERR_BANK1 : Read secure Error on Bank 1 Interrupt source + * @arg FLASH_IT_SNECCERR_BANK1 : Single ECC Error Correction on Bank 1 Interrupt source + * @arg FLASH_IT_DBECCERR_BANK1 : Double Detection ECC Error on Bank 1 Interrupt source + * @arg FLASH_IT_CRCEND_BANK1 : CRC End on Bank 1 Interrupt source + + * In case of Bank 2 This parameter can be any combination of the following values: * + * @arg FLASH_IT_EOP_BANK2 : End of FLASH Bank 2 Operation Interrupt source + * @arg FLASH_IT_WRPERR_BANK2 : Write Protection Error on Bank 2 Interrupt source + * @arg FLASH_IT_PGSERR_BANK2 : Program Sequence Error on Bank 2 Interrupt source + * @arg FLASH_IT_STRBERR_BANK2 : Strobe Error on Bank 2 Interrupt source + * @arg FLASH_IT_INCERR_BANK2 : Inconsistency Error on Bank 2 Interrupt source + * @arg FLASH_IT_OPERR_BANK2 : Operation Error on Bank 2 Interrupt source + * @arg FLASH_IT_RDPERR_BANK2 : Read protection Error on Bank 2 Interrupt source + * @arg FLASH_IT_RDSERR_BANK2 : Read secure Error on Bank 2 Interrupt source + * @arg FLASH_IT_SNECCERR_BANK2 : Single ECC Error Correction on Bank 2 Interrupt source + * @arg FLASH_IT_DBECCERR_BANK2 : Double Detection ECC Error on Bank 2 Interrupt source + * @arg FLASH_IT_CRCEND_BANK2 : CRC End on Bank 2 Interrupt source + * @retval none + */ + +#define __HAL_FLASH_ENABLE_IT_BANK1(__INTERRUPT__) (FLASH->CR1 |= (__INTERRUPT__)) + +#define __HAL_FLASH_ENABLE_IT_BANK2(__INTERRUPT__) (FLASH->CR2 |= ((__INTERRUPT__) & 0x7FFFFFFF)) + +#define __HAL_FLASH_ENABLE_IT(__INTERRUPT__) (IS_FLASH_IT_BANK1(__INTERRUPT__) ? \ + __HAL_FLASH_ENABLE_IT_BANK1(__INTERRUPT__) : \ + __HAL_FLASH_ENABLE_IT_BANK2(__INTERRUPT__)) + + +/** + * @brief Disable the specified FLASH interrupt. + * @param __INTERRUPT__ : FLASH interrupt + * In case of Bank 1 This parameter can be any combination of the following values: + * @arg FLASH_IT_EOP_BANK1 : End of FLASH Bank 1 Operation Interrupt source + * @arg FLASH_IT_WRPERR_BANK1 : Write Protection Error on Bank 1 Interrupt source + * @arg FLASH_IT_PGSERR_BANK1 : Program Sequence Error on Bank 1 Interrupt source + * @arg FLASH_IT_STRBERR_BANK1 : Strobe Error on Bank 1 Interrupt source + * @arg FLASH_IT_INCERR_BANK1 : Inconsistency Error on Bank 1 Interrupt source + * @arg FLASH_IT_OPERR_BANK1 : Operation Error on Bank 1 Interrupt source + * @arg FLASH_IT_RDPERR_BANK1 : Read protection Error on Bank 1 Interrupt source + * @arg FLASH_IT_RDSERR_BANK1 : Read secure Error on Bank 1 Interrupt source + * @arg FLASH_IT_SNECCERR_BANK1 : Single ECC Error Correction on Bank 1 Interrupt source + * @arg FLASH_IT_DBECCERR_BANK1 : Double Detection ECC Error on Bank 1 Interrupt source + * @arg FLASH_IT_CRCEND_BANK1 : CRC End on Bank 1 Interrupt source + + * In case of Bank 2 This parameter can be any combination of the following values: * + * @arg FLASH_IT_EOP_BANK2 : End of FLASH Bank 2 Operation Interrupt source + * @arg FLASH_IT_WRPERR_BANK2 : Write Protection Error on Bank 2 Interrupt source + * @arg FLASH_IT_PGSERR_BANK2 : Program Sequence Error on Bank 2 Interrupt source + * @arg FLASH_IT_STRBERR_BANK2 : Strobe Error on Bank 2 Interrupt source + * @arg FLASH_IT_INCERR_BANK2 : Inconsistency Error on Bank 2 Interrupt source + * @arg FLASH_IT_OPERR_BANK2 : Operation Error on Bank 2 Interrupt source + * @arg FLASH_IT_RDPERR_BANK2 : Read protection Error on Bank 2 Interrupt source + * @arg FLASH_IT_RDSERR_BANK2 : Read secure Error on Bank 2 Interrupt source + * @arg FLASH_IT_SNECCERR_BANK2 : Single ECC Error Correction on Bank 2 Interrupt source + * @arg FLASH_IT_DBECCERR_BANK2 : Double Detection ECC Error on Bank 2 Interrupt source + * @arg FLASH_IT_CRCEND_BANK2 : CRC End on Bank 2 Interrupt source + + * @retval none + */ + +#define __HAL_FLASH_DISABLE_IT_BANK1(__INTERRUPT__) (FLASH->CR1 &= ~(uint32_t)(__INTERRUPT__)) + +#define __HAL_FLASH_DISABLE_IT_BANK2(__INTERRUPT__) (FLASH->CR2 &= ~(uint32_t)((__INTERRUPT__) & 0x7FFFFFFF)) + +#define __HAL_FLASH_DISABLE_IT(__INTERRUPT__) (IS_FLASH_IT_BANK1(__INTERRUPT__) ? \ + __HAL_FLASH_DISABLE_IT_BANK1(__INTERRUPT__) : \ + __HAL_FLASH_DISABLE_IT_BANK2(__INTERRUPT__)) + + +/** + * @brief Checks whether the specified FLASH flag is set or not. + * @param __FLAG__: specifies the FLASH flag to check. + * In case of Bank 1 This parameter can be any combination of the following values : + * @arg FLASH_FLAG_BSY_BANK1 : FLASH Bank 1 Busy flag + * @arg FLASH_FLAG_WBNE_BANK1 : Waiting for Data to Write on Bank 1 flag + * @arg FLASH_FLAG_QW_BANK1 : Write Waiting in Operation Queue on Bank 1 flag + * @arg FLASH_FLAG_CRC_BUSY_BANK1 : CRC module is working on Bank 1 flag + * @arg FLASH_FLAG_EOP_BANK1 : End Of Program on Bank 1 flag + * @arg FLASH_FLAG_WRPERR_BANK1 : Write Protection Error on Bank 1 flag + * @arg FLASH_FLAG_PGSERR_BANK1 : Program Sequence Error on Bank 1 flag + * @arg FLASH_FLAG_STRBER_BANK1 : Program Alignment Error on Bank 1 flag + * @arg FLASH_FLAG_INCERR_BANK1 : Inconsistency Error on Bank 1 flag + * @arg FLASH_FLAG_OPERR_BANK1 : Operation Error on Bank 1 flag + * @arg FLASH_FLAG_RDPERR_BANK1 : Read Protection Error on Bank 1 flag + * @arg FLASH_FLAG_RDSERR_BANK1 : Read secure Error on Bank 1 flag + * @arg FLASH_FLAG_SNECCE_BANK1 : Single ECC Error Correction on Bank 1 flag + * @arg FLASH_FLAG_DBECCE_BANK1 : Double Detection ECC Error on Bank 1 flag + * @arg FLASH_FLAG_CRCEND_BANK1 : CRC End on Bank 1 flag + * + * In case of Bank 2 This parameter can be any combination of the following values : + * @arg FLASH_FLAG_BSY_BANK2 : FLASH Bank 2 Busy flag + * @arg FLASH_FLAG_WBNE_BANK2 : Waiting for Data to Write on Bank 2 flag + * @arg FLASH_FLAG_QW_BANK2 : Write Waiting in Operation Queue on Bank 2 flag + * @arg FLASH_FLAG_CRC_BUSY_BANK2 : CRC module is working on Bank 2 flag + * @arg FLASH_FLAG_EOP_BANK2 : End Of Program on Bank 2 flag + * @arg FLASH_FLAG_WRPERR_BANK2 : Write Protection Error on Bank 2 flag + * @arg FLASH_FLAG_PGSERR_BANK2 : Program Sequence Error on Bank 2 flag + * @arg FLASH_FLAG_STRBER_BANK2 : Program Alignment Error on Bank 2 flag + * @arg FLASH_FLAG_INCERR_BANK2 : Inconsistency Error on Bank 2 flag + * @arg FLASH_FLAG_OPERR_BANK2 : Operation Error on Bank 2 flag + * @arg FLASH_FLAG_RDPERR_BANK2 : Read Protection Error on Bank 2 flag + * @arg FLASH_FLAG_RDSERR_BANK2 : Read secure Error on Bank 2 flag + * @arg FLASH_FLAG_SNECCE_BANK2 : Single ECC Error Correction on Bank 2 flag + * @arg FLASH_FLAG_DBECCE_BANK2 : Double Detection ECC Error on Bank 2 flag + * @arg FLASH_FLAG_CRCEND_BANK2 : CRC End on Bank 2 flag + * @retval The new state of FLASH_FLAG (SET or RESET). + */ +#define __HAL_FLASH_GET_FLAG_BANK1(__FLAG__) (READ_BIT(FLASH->SR1, (__FLAG__)) == (__FLAG__)) + +#define __HAL_FLASH_GET_FLAG_BANK2(__FLAG__) (READ_BIT(FLASH->SR2, ((__FLAG__) & 0x7FFFFFFF)) == (((__FLAG__) & 0x7FFFFFFF))) + +#define __HAL_FLASH_GET_FLAG(__FLAG__) (IS_FLASH_FLAG_BANK1(__FLAG__) ? __HAL_FLASH_GET_FLAG_BANK1(__FLAG__) : \ + __HAL_FLASH_GET_FLAG_BANK2(__FLAG__)) + + +/** + * @brief Clear the specified FLASH flag. + * @param __FLAG__: specifies the FLASH flags to clear. + * This parameter can be any combination of the following values: + * @arg FLASH_FLAG_EOP_BANK1 : End Of Program on Bank 1 flag + * @arg FLASH_FLAG_WRPERR_BANK1 : Write Protection Error on Bank 1 flag + * @arg FLASH_FLAG_PGSERR_BANK1 : Program Sequence Error on Bank 1 flag + * @arg FLASH_FLAG_STRBER_BANK1 : Program Alignment Error on Bank 1 flag + * @arg FLASH_FLAG_INCERR_BANK1 : Inconsistency Error on Bank 1 flag + * @arg FLASH_FLAG_OPERR_BANK1 : Operation Error on Bank 1 flag + * @arg FLASH_FLAG_RDPERR_BANK1 : Read Protection Error on Bank 1 flag + * @arg FLASH_FLAG_RDSERR_BANK1 : Read secure Error on Bank 1 flag + * @arg FLASH_FLAG_SNECCE_BANK1 : Single ECC Error Correction on Bank 1 flag + * @arg FLASH_FLAG_DBECCE_BANK1 : Double Detection ECC Error on Bank 1 flag + * @arg FLASH_FLAG_CRCEND_BANK1 : CRC End on Bank 1 flag + * + * In case of Bank 2 This parameter can be any combination of the following values : + * @arg FLASH_FLAG_EOP_BANK2 : End Of Program on Bank 2 flag + * @arg FLASH_FLAG_WRPERR_BANK2 : Write Protection Error on Bank 2 flag + * @arg FLASH_FLAG_PGSERR_BANK2 : Program Sequence Error on Bank 2 flag + * @arg FLASH_FLAG_STRBER_BANK2 : Program Alignment Error on Bank 2 flag + * @arg FLASH_FLAG_INCERR_BANK2 : Inconsistency Error on Bank 2 flag + * @arg FLASH_FLAG_OPERR_BANK2 : Operation Error on Bank 2 flag + * @arg FLASH_FLAG_RDPERR_BANK2 : Read Protection Error on Bank 2 flag + * @arg FLASH_FLAG_RDSERR_BANK2 : Read secure Error on Bank 2 flag + * @arg FLASH_FLAG_SNECCE_BANK2 : Single ECC Error Correction on Bank 2 flag + * @arg FLASH_FLAG_DBECCE_BANK2 : Double Detection ECC Error on Bank 2 flag + * @arg FLASH_FLAG_CRCEND_BANK2 : CRC End on Bank 2 flag + * @retval none + */ + +#define __HAL_FLASH_CLEAR_FLAG_BANK1(__FLAG__) WRITE_REG(FLASH->CCR1, (__FLAG__)) + +#define __HAL_FLASH_CLEAR_FLAG_BANK2(__FLAG__) WRITE_REG(FLASH->CCR2, ((__FLAG__) & 0x7FFFFFFF)) + +#define __HAL_FLASH_CLEAR_FLAG(__FLAG__) (IS_FLASH_FLAG_BANK1(__FLAG__) ? __HAL_FLASH_CLEAR_FLAG_BANK1(__FLAG__) : \ + __HAL_FLASH_CLEAR_FLAG_BANK2(__FLAG__)) + +/** + * @} + */ + +/* Include FLASH HAL Extension module */ +#include "stm32h7xx_hal_flash_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup FLASH_Exported_Functions + * @{ + */ +/** @addtogroup FLASH_Exported_Functions_Group1 + * @{ + */ +/* Program operation functions ***********************************************/ +HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t DataAddress); +HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t DataAddress); +/* FLASH IRQ handler method */ +void HAL_FLASH_IRQHandler(void); +/* Callbacks in non blocking modes */ +void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue); +void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue); +/** + * @} + */ + +/** @addtogroup FLASH_Exported_Functions_Group2 + * @{ + */ +/* Peripheral Control functions **********************************************/ +HAL_StatusTypeDef HAL_FLASH_Unlock(void); +HAL_StatusTypeDef HAL_FLASH_Lock(void); +HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void); +HAL_StatusTypeDef HAL_FLASH_OB_Lock(void); +/* Option bytes control */ +HAL_StatusTypeDef HAL_FLASH_OB_Launch(void); +/** + * @} + */ + +/** @addtogroup FLASH_Exported_Functions_Group3 + * @{ + */ +/* Peripheral State functions ************************************************/ +uint32_t HAL_FLASH_GetError(void); +HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout, uint32_t Bank); +HAL_StatusTypeDef FLASH_OB_WaitForLastOperation(uint32_t Timeout); +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/** @defgroup FLASH_Private_Variables FLASH Private Variables + * @{ + */ + +/** + * @} + */ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup FLASH_Private_Constants FLASH Private Constants + * @{ + */ + + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup FLASH_Private_Macros FLASH Private Macros + * @{ + */ + +/** @defgroup FLASH_IS_FLASH_Definitions FLASH Definitions + * @{ + */ +#define IS_FLASH_TYPEPROGRAM(VALUE) ((VALUE) == FLASH_TYPEPROGRAM_FLASHWORD) +/** + * @} + */ +/** @defgroup FLASH_IS_BANK_IT_Definitions FLASH BANK IT Definitions + * @{ + */ + +#define IS_FLASH_IT_BANK1(IT) (((IT) & FLASH_IT_ALL_BANK1) == (IT)) + +#define IS_FLASH_IT_BANK2(IT) (((IT) & FLASH_IT_ALL_BANK2) == (IT)) + +/** + * @} + */ + +#define IS_FLASH_FLAG_BANK1(FLAG) (((FLAG) & FLASH_FLAG_ALL_BANK1) == (FLAG)) + +#define IS_FLASH_FLAG_BANK2(FLAG) (((FLAG) & FLASH_FLAG_ALL_BANK2) == (FLAG)) + +/** @defgroup FLASH_Address FLASH Address + * @{ + */ + +#define IS_FLASH_PROGRAM_ADDRESS_BANK1(ADDRESS) (((ADDRESS) >= FLASH_BANK1_BASE) && ((ADDRESS) < (FLASH_BANK1_BASE + FLASH_BANK_SIZE) )) +#define IS_FLASH_PROGRAM_ADDRESS_BANK2(ADDRESS) (((ADDRESS) >= FLASH_BANK2_BASE ) && ((ADDRESS) < (FLASH_BANK2_BASE + FLASH_BANK_SIZE) )) +#define IS_FLASH_PROGRAM_ADDRESS(ADDRESS) (IS_FLASH_PROGRAM_ADDRESS_BANK1(ADDRESS) || IS_FLASH_PROGRAM_ADDRESS_BANK2(ADDRESS)) + +#define IS_BOOT_ADDRESS(ADDRESS) ((ADDRESS) <= (0x3FFF0000U)) + +#define IS_FLASH_BANK(BANK) (((BANK) == FLASH_BANK_1) || \ + ((BANK) == FLASH_BANK_2) || \ + ((BANK) == FLASH_BANK_BOTH)) + +#define IS_FLASH_BANK_EXCLUSIVE(BANK) (((BANK) == FLASH_BANK_1) || \ + ((BANK) == FLASH_BANK_2)) + +/** + * @} + */ + +/** + * @} + */ +/* Private functions ---------------------------------------------------------*/ +/** @defgroup FLASH_Private_Functions FLASH Private functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_FLASH_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h new file mode 100644 index 0000000000..7ff35c483e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h @@ -0,0 +1,624 @@ +/** + ****************************************************************************** + * @file stm32H7xx_hal_flash_ex.h + * @author MCD Application Team + * @brief Header file of FLASH HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_FLASH_EX_H +#define __STM32H7xx_HAL_FLASH_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup FLASHEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup FLASHEx_Exported_Types FLASH Exported Types + * @{ + */ + +/** + * @brief FLASH Erase structure definition + */ +typedef struct +{ + uint32_t TypeErase; /*!< Mass erase or sector Erase. + This parameter can be a value of @ref FLASHEx_Type_Erase */ + + uint32_t Banks; /*!< Select banks to erase when Mass erase is enabled. + This parameter must be a value of @ref FLASHEx_Banks */ + + uint32_t Sector; /*!< Initial FLASH sector to erase when Mass erase is disabled + This parameter must be a value of @ref FLASH_Sectors */ + + uint32_t NbSectors; /*!< Number of sectors to be erased. + This parameter must be a value between 1 and (max number of sectors - value of Initial sector)*/ + + uint32_t VoltageRange;/*!< The device voltage range which defines the erase parallelism + This parameter must be a value of @ref FLASHEx_Voltage_Range */ + +} FLASH_EraseInitTypeDef; + + +/** + * @brief FLASH Option Bytes Program structure definition + */ +typedef struct +{ + uint32_t OptionType; /*!< Option byte to be configured. + This parameter can be a value of @ref FLASHEx_Option_Type */ + + uint32_t WRPState; /*!< Write protection activation or deactivation. + This parameter can be a value of @ref FLASHEx_WRP_State */ + + uint32_t WRPSector; /*!< Specifies the sector(s) to be write protected. + The value of this parameter depend on device used within the same series */ + + uint32_t RDPLevel; /*!< Set the read protection level. + This parameter can be a value of @ref FLASHEx_Option_Bytes_Read_Protection */ + + uint32_t BORLevel; /*!< Set the BOR Level. + This parameter can be a value of @ref FLASHEx_BOR_Reset_Level */ + + uint32_t USERType; /*!< User option byte(s) to be configured (used for OPTIONBYTE_USER). + This parameter can be a combination of @ref FLASHEx_OB_USER_Type */ + + uint32_t USERConfig; /*!< Program the FLASH User Option Byte: WWDG_SW / IWDG_SW / RST_STOP / RST_STDBY / + IWDG_FREEZE_STOP / IWDG_FREEZE_SANDBY. */ + uint32_t Banks; /*!< Select banks for WRP , PCROP and secure area config . + This parameter must be a value of @ref FLASHEx_Banks */ + uint32_t PCROPConfig; /*!< specifies if the PCROP area shall be erased or not + when RDP level decreased from Level 1 to Level 0 or during a mass erase. + This parameter must be a value of @ref FLASHEx_OB_PCROP_RDP enumeration */ + + uint32_t PCROPStartAddr; /*!< PCROP Start address (used for OPTIONBYTE_PCROP). + This parameter must be a value between begin and end of a bank */ + + uint32_t PCROPEndAddr; /*!< PCROP End address (used for OPTIONBYTE_PCROP). + This parameter must be a value between PCROP Start address and end of a bank */ + + uint32_t BootConfig; /*!< Specifies if the Boot Address to be configured BOOT_ADD0, BOOT_ADD1 + or both. This parameter must be a value of @ref FLASHEx_OB_BOOT_OPTION enumeration */ + + uint32_t BootAddr0; /*!< Boot Address 0. + This parameter must be a value between begin and end of a bank */ + + uint32_t BootAddr1; /*!< Boot Address 1. + This parameter must be a value between begin and end of a bank */ + + uint32_t SecureAreaConfig; /*!< specifies if the bank secured area shall be erased or not + when RDP level decreased from Level 1 to Level 0 or during a mass erase. + This parameter must be a value of @ref FLASHEx_OB_SECURE_RDP enumeration */ + + uint32_t SecureAreaStartAddr; /*!< Bank Secure area Start address. + This parameter must be a value between begin and end of bank1 */ + + uint32_t SecureAreaEndAddr; /*!< Bank Secure area End address . + This parameter must be a value between Start address and end of a bank1 */ + +} FLASH_OBProgramInitTypeDef; + +/** + * @} + */ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup FLASHEx_Exported_Constants FLASH Exported Constants + * @{ + */ + +/** @defgroup FLASHEx_Type_Erase FLASH Type Erase + * @{ + */ +#define FLASH_TYPEERASE_SECTORS ((uint32_t)0x00U) /*!< Sectors erase only */ +#define FLASH_TYPEERASE_MASSERASE ((uint32_t)0x01U) /*!< Flash Mass erase activation */ +/** + * @} + */ + +/** @defgroup FLASHEx_Voltage_Range FLASH Voltage Range + * @{ + */ +#define FLASH_VOLTAGE_RANGE_1 ((uint32_t)0x00U) /*!< Flash program/erase by 8 bits */ +#define FLASH_VOLTAGE_RANGE_2 ((uint32_t)FLASH_CR_PSIZE_0) /*!< Flash program/erase by 16 bits */ +#define FLASH_VOLTAGE_RANGE_3 ((uint32_t)FLASH_CR_PSIZE_1) /*!< Flash program/erase by 32 bits */ +#define FLASH_VOLTAGE_RANGE_4 ((uint32_t)FLASH_CR_PSIZE) /*!< Flash program/erase by 64 bits */ + +/** + * @} + */ + +/** @defgroup FLASHEx_WRP_State FLASH WRP State + * @{ + */ +#define OB_WRPSTATE_DISABLE ((uint32_t)0x00U) /*!< Disable the write protection of the desired bank 1 sectors */ +#define OB_WRPSTATE_ENABLE ((uint32_t)0x01U) /*!< Enable the write protection of the desired bank 1 sectors */ +/** + * @} + */ + +/** @defgroup FLASHEx_Option_Type FLASH Option Type + * @{ + */ +#define OPTIONBYTE_WRP ((uint32_t)0x01U) /*!< WRP option byte configuration */ +#define OPTIONBYTE_RDP ((uint32_t)0x02U) /*!< RDP option byte configuration */ +#define OPTIONBYTE_USER ((uint32_t)0x04U) /*!< USER option byte configuration */ +#define OPTIONBYTE_PCROP ((uint32_t)0x08U) /*!< PCROP option byte configuration */ +#define OPTIONBYTE_BOR ((uint32_t)0x10U) /*!< BOR option byte configuration */ +#define OPTIONBYTE_SECURE_AREA ((uint32_t)0x20U) /*!< secure area option byte configuration */ +#define OPTIONBYTE_BOOTADD ((uint32_t)0x40U) /*!< BOOT ADD option byte configuration */ +/** + * @} + */ + +/** @defgroup FLASHEx_Option_Bytes_Read_Protection FLASH Option Bytes Read Protection + * @{ + */ +#define OB_RDP_LEVEL_0 ((uint32_t)0xAA00U) +#define OB_RDP_LEVEL_1 ((uint32_t)0x5500U) +#define OB_RDP_LEVEL_2 ((uint32_t)0xCC00U) /*!< Warning: When enabling read protection level 2 + it s no more possible to go back to level 1 or 0 */ +/** + * @} + */ + +/** @defgroup FLASHEx_Option_Bytes_WWatchdog FLASH Option Bytes WWatchdog + * @{ + */ +#define OB_WWDG_SW ((uint32_t)0x10U) /*!< Software WWDG selected */ +#define OB_WWDG_HW ((uint32_t)0x00U) /*!< Hardware WWDG selected */ +/** + * @} + */ + + +/** @defgroup FLASHEx_Option_Bytes_IWatchdog FLASH Option Bytes IWatchdog + * @{ + */ +#define OB_IWDG_SW ((uint32_t)0x20U) /*!< Software IWDG selected */ +#define OB_IWDG_HW ((uint32_t)0x00U) /*!< Hardware IWDG selected */ +/** + * @} + */ + +/** @defgroup FLASHEx_Option_Bytes_nRST_STOP FLASH Option Bytes nRST_STOP + * @{ + */ +#define OB_STOP_NO_RST ((uint32_t)0x40U) /*!< No reset generated when entering in STOP */ +#define OB_STOP_RST ((uint32_t)0x00U) /*!< Reset generated when entering in STOP */ +/** + * @} + */ + +/** @defgroup FLASHEx_Option_Bytes_nRST_STDBY FLASH Option Bytes nRST_STDBY + * @{ + */ +#define OB_STDBY_NO_RST ((uint32_t)0x80U) /*!< No reset generated when entering in STANDBY */ +#define OB_STDBY_RST ((uint32_t)0x00U) /*!< Reset generated when entering in STANDBY */ +/** + * @} + */ + +/** @defgroup FLASHEx_Option_Bytes_IWDG_FREEZE_STOP FLASH IWDG Counter Freeze in STOP + * @{ + */ +#define OB_IWDG_STOP_FREEZE ((uint32_t)0x00000000U) /*!< Freeze IWDG counter in STOP mode */ +#define OB_IWDG_STOP_ACTIVE ((uint32_t)FLASH_OPTSR_FZ_IWDG_STOP) /*!< IWDG counter active in STOP mode */ +/** + * @} + */ + +/** @defgroup FLASHEx_Option_Bytes_IWDG_FREEZE_SANDBY FLASH IWDG Counter Freeze in STANDBY + * @{ + */ +#define OB_IWDG_STDBY_FREEZE ((uint32_t)0x00000000U) /*!< Freeze IWDG counter in STANDBY mode */ +#define OB_IWDG_STDBY_ACTIVE ((uint32_t)FLASH_OPTSR_FZ_IWDG_SDBY) /*!< IWDG counter active in STANDBY mode */ +/** + * @} + */ + +/** @defgroup FLASHEx_BOR_Reset_Level FLASH BOR Reset Level + * @{ + */ +#define OB_BOR_LEVEL3 ((uint32_t)0x00U) /*!< Supply voltage ranges from 2.70 to 3.60 V */ +#define OB_BOR_LEVEL2 ((uint32_t)0x04U) /*!< Supply voltage ranges from 2.40 to 2.70 V */ +#define OB_BOR_LEVEL1 ((uint32_t)0x08U) /*!< Supply voltage ranges from 2.10 to 2.40 V */ +#define OB_BOR_OFF ((uint32_t)0x0CU) /*!< Supply voltage ranges from 1.62 to 2.10 V */ +/** + * @} + */ + + + +/** @defgroup FLASHEx_Boot_Address FLASH Boot Address + * @{ + */ +#define OB_BOOTADDR_ITCM_RAM ((uint32_t)0x0000U) /*!< Boot from ITCM RAM (0x00000000) */ +#define OB_BOOTADDR_SYSTEM ((uint32_t)0x0040U) /*!< Boot from System memory bootloader (0x00100000) */ +#define OB_BOOTADDR_ITCM_FLASH ((uint32_t)0x0080U) /*!< Boot from Flash on ITCM interface (0x00200000) */ +#define OB_BOOTADDR_AXIM_FLASH ((uint32_t)0x2000U) /*!< Boot from Flash on AXIM interface (0x08000000) */ +#define OB_BOOTADDR_DTCM_RAM ((uint32_t)0x8000U) /*!< Boot from DTCM RAM (0x20000000) */ +#define OB_BOOTADDR_SRAM1 ((uint32_t)0x8004U) /*!< Boot from SRAM1 (0x20010000) */ +#define OB_BOOTADDR_SRAM2 ((uint32_t)0x8013U) /*!< Boot from SRAM2 (0x2004C000) */ +/** + * @} + */ + +/** @defgroup FLASH_Latency FLASH Latency + * @{ + */ +#define FLASH_LATENCY_0 FLASH_ACR_LATENCY_0WS /*!< FLASH Zero Latency cycle */ +#define FLASH_LATENCY_1 FLASH_ACR_LATENCY_1WS /*!< FLASH One Latency cycle */ +#define FLASH_LATENCY_2 FLASH_ACR_LATENCY_2WS /*!< FLASH Two Latency cycles */ +#define FLASH_LATENCY_3 FLASH_ACR_LATENCY_3WS /*!< FLASH Three Latency cycles */ +#define FLASH_LATENCY_4 FLASH_ACR_LATENCY_4WS /*!< FLASH Four Latency cycles */ +#define FLASH_LATENCY_5 FLASH_ACR_LATENCY_5WS /*!< FLASH Five Latency cycles */ +#define FLASH_LATENCY_6 FLASH_ACR_LATENCY_6WS /*!< FLASH Six Latency cycles */ +#define FLASH_LATENCY_7 FLASH_ACR_LATENCY_7WS /*!< FLASH Seven Latency cycles */ +/** + * @} + */ + + +/** @defgroup FLASHEx_Banks FLASH Banks + * @{ + */ +#define FLASH_BANK_1 ((uint32_t)0x01U) /*!< Bank 1 */ +#define FLASH_BANK_2 ((uint32_t)0x02U) /*!< Bank 2 */ +#define FLASH_BANK_BOTH ((uint32_t)(FLASH_BANK_1 | FLASH_BANK_2)) /*!< Bank1 and Bank2 */ +/** + * @} + */ + + +/** @defgroup FLASHEx_OB_PCROP_RDP FLASHEx OB PCROP RDP + * @{ + */ +#define OB_PCROP_RDP_NOT_ERASE ((uint32_t)0x00000000U) /*!< PCROP area is not erased when the RDP level + is decreased from Level 1 to Level 0 or during a mass erase */ +#define OB_PCROP_RDP_ERASE ((uint32_t)FLASH_PRAR_DMEP) /*!< PCROP area is erased when the RDP level is + decreased from Level 1 to Level 0 (full mass erase) */ + +/** + * @} + */ + + + +/** @defgroup FLASHEx_Option_Bytes_Write_Protection FLASH Option Bytes Write Protection + * @{ + */ +#define OB_WRP_SECTOR_0 ((uint32_t)0x00000001U) /*!< Write protection of Sector0 */ +#define OB_WRP_SECTOR_1 ((uint32_t)0x00000002U) /*!< Write protection of Sector1 */ +#define OB_WRP_SECTOR_2 ((uint32_t)0x00000004U) /*!< Write protection of Sector2 */ +#define OB_WRP_SECTOR_3 ((uint32_t)0x00000008U) /*!< Write protection of Sector3 */ +#define OB_WRP_SECTOR_4 ((uint32_t)0x00000010U) /*!< Write protection of Sector4 */ +#define OB_WRP_SECTOR_5 ((uint32_t)0x00000020U) /*!< Write protection of Sector5 */ +#define OB_WRP_SECTOR_6 ((uint32_t)0x00000040U) /*!< Write protection of Sector6 */ +#define OB_WRP_SECTOR_7 ((uint32_t)0x00000080U) /*!< Write protection of Sector7 */ +#define OB_WRP_SECTOR_All ((uint32_t)0x000000FFU) /*!< Write protection of all Sectors */ +/** + * @} + */ + + +/** @defgroup FLASHEx_OB_SECURITY FLASHEx OB SECURITY + * @{ + */ +#define OB_SECURITY_DISABLE ((uint32_t)0x00000U) /*!< security enabled */ +#define OB_SECURITY_ENABLE ((uint32_t)FLASH_OPTSR_SECURITY) /*!< security disabled */ + +/** + * @} + */ + + + +/** @defgroup FLASHEx_OB_IWDG1_SW FLASHEx OB IWDG1 SW + * @{ + */ +#define OB_IWDG1_SW ((uint32_t)FLASH_OPTSR_IWDG1_SW) /*!< Hardware independent watchdog 1 */ +#define OB_IWDG1_HW ((uint32_t)0x00000U) /*!< Software independent watchdog 1 */ +/** + * @} + */ +/** @defgroup FLASHEx_OB_NRST_STOP_D1 FLASHEx OB NRST STOP D1 + * @{ + */ +#define OB_STOP_RST_D1 ((uint32_t)0x0000U) /*!< Reset generated when entering the D1 to stop mode */ +#define OB_STOP_NO_RST_D1 ((uint32_t)FLASH_OPTSR_NRST_STOP_D1) /*!< No reset generated when entering the D1 to stop mode */ + +/** + * @} + */ + +/** @defgroup FLASHEx_OB_NRST_STDBY_D1 FLASHEx OB NRST STDBY D1 + * @{ + */ +#define OB_STDBY_RST_D1 ((uint32_t)0x0000U) /*!< Reset generated when entering the D1 to standby mode */ +#define OB_STDBY_NO_RST_D1 ((uint32_t)FLASH_OPTSR_NRST_STBY_D1) /*!< No reset generated when entering the D1 to standby mode */ + +/** + * @} + */ + +/** @defgroup FLASHEx_OB_SWAP_BANK FLASHEx OB SWAP BANK + * @{ + */ +#define OB_SWAP_BANK_DISABLE ((uint32_t)0x00000U) /*!< Bank swap disabled */ +#define OB_SWAP_BANK_ENABLE ((uint32_t)FLASH_OPTSR_SWAP_BANK_OPT) /*!< Bank swap enabled */ + +/** + * @} + */ + +/** @defgroup FLASHEx_OB_IOHSLV FLASHEx OB IOHSLV + * @{ + */ +#define OB_IOHSLV_DISABLE ((uint32_t)0x00000000U) /*!< IOHSLV disabled */ +#define OB_IOHSLV_ENABLE ((uint32_t)FLASH_OPTSR_IO_HSLV) /*!< IOHSLV enabled */ + + +/** + * @} + */ + +/** @defgroup FLASHEx_OB_BOOT_OPTION FLASHEx OB BOOT OPTION + * @{ + */ +#define OB_BOOT_ADD0 ((uint32_t)0x01U) /*!< Select Boot Address 0 */ +#define OB_BOOT_ADD1 ((uint32_t)0x02U) /*!< Select Boot Address 1 */ +#define OB_BOOT_ADD_BOTH ((uint32_t)0x03U) /*!< Select Boot Address 0 and 1 */ + + +/** + * @} + */ + + /** @defgroup FLASHEx_OB_USER_Type FLASHEx OB USER Type + * @{ + */ +#define OB_USER_NRST_STOP_D1 ((uint32_t)0x0001U) /*!< Reset when entering Stop mode selection*/ +#define OB_USER_NRST_STDBY_D1 ((uint32_t)0x0002U) /*!< Reset when entering standby mode selection*/ +#define OB_USER_IWDG_STOP ((uint32_t)0x0004U) /*!< Independent watchdog counter freeze in stop mode */ +#define OB_USER_IWDG_STDBY ((uint32_t)0x0008U) /*!< Independent watchdog counter freeze in standby mode */ +#define OB_USER_ST_RAM_SIZE ((uint32_t)0x0010U) /*!< dedicated DTCM Ram size selection */ +#define OB_USER_SECURITY ((uint32_t)0x0020U) /*!< security selection */ +#define OB_USER_SWAP_BANK ((uint32_t)0x0100U) /*!< Bank swap selection */ +#define OB_USER_IOHSLV ((uint32_t)0x0200U) /*!< IO HSLV selection */ +#define OB_USER_IWDG1_SW ((uint32_t)0x0400U) /*!< Independent watchdog selection */ + +/** + * @} + */ + +/** @defgroup FLASHEx_OB_SECURE_RDP FLASHEx OB SECURE RDP + * @{ + */ +#define OB_SECURE_RDP_NOT_ERASE ((uint32_t)0x00000000U) /*!< Secure area is not erased when the RDP level + is decreased from Level 1 to Level 0 or during a mass erase*/ +#define OB_SECURE_RDP_ERASE ((uint32_t)FLASH_SCAR_DMES) /*!< Secure area is erased when the RDP level is + decreased from Level 1 to Level 0 (full mass erase) */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup FLASH_Exported_Macros FLASH Exported Macros + * @{ + */ +/** + * @brief Calculate the FLASH Boot Base Adress (BOOT_ADD0 or BOOT_ADD1) + * @note Returned value BOOT_ADDx[15:0] corresponds to boot address [29:14]. + * @param __ADDRESS__: FLASH Boot Address (in the range 0x0000 0000 to 0x2004 FFFF with a granularity of 16KB) + * @retval The FLASH Boot Base Adress + */ +#define __HAL_FLASH_CALC_BOOT_BASE_ADR(__ADDRESS__) ((__ADDRESS__) >> 14) + /** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup FLASHEx_Exported_Functions + * @{ + */ + +/** @addtogroup FLASHEx_Exported_Functions_Group1 + * @{ + */ +/* Extension Program operation functions *************************************/ +HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *SectorError); +HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit); +HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit); +void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit); + +HAL_StatusTypeDef HAL_FLASHEx_Unlock_Bank1(void); +HAL_StatusTypeDef HAL_FLASHEx_Lock_Bank1(void); +HAL_StatusTypeDef HAL_FLASHEx_Unlock_Bank2(void); +HAL_StatusTypeDef HAL_FLASHEx_Lock_Bank2(void); + +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/** @defgroup FLASHEx_Private_Macros FLASHEx Private Macros + * @{ + */ + +/** @defgroup FLASHEx_IS_FLASH_Definitions FLASHEx Private macros to check input parameters + * @{ + */ + +#define IS_FLASH_TYPEERASE(VALUE) (((VALUE) == FLASH_TYPEERASE_SECTORS) || \ + ((VALUE) == FLASH_TYPEERASE_MASSERASE)) + +#define IS_VOLTAGERANGE(RANGE) (((RANGE) == FLASH_VOLTAGE_RANGE_1) || \ + ((RANGE) == FLASH_VOLTAGE_RANGE_2) || \ + ((RANGE) == FLASH_VOLTAGE_RANGE_3) || \ + ((RANGE) == FLASH_VOLTAGE_RANGE_4)) + +#define IS_WRPSTATE(VALUE) (((VALUE) == OB_WRPSTATE_DISABLE) || \ + ((VALUE) == OB_WRPSTATE_ENABLE)) +#define IS_OPTIONBYTE(VALUE) ((VALUE) <= (OB_USER_IWDG1_SW | OB_USER_NRST_STDBY_D1 | OB_USER_NRST_STOP_D1 |\ + OB_USER_IWDG_STOP| OB_USER_IWDG_STDBY | OB_USER_SWAP_BANK |\ + OB_USER_ST_RAM_SIZE | OB_USER_SECURITY)) + + +#define IS_OB_BOOT_ADDRESS(ADDRESS) ((ADDRESS) <= 0x8013U) + + +#define IS_OB_RDP_LEVEL(LEVEL) (((LEVEL) == OB_RDP_LEVEL_0) ||\ + ((LEVEL) == OB_RDP_LEVEL_1) ||\ + ((LEVEL) == OB_RDP_LEVEL_2)) + +#define IS_OB_WWDG_SOURCE(SOURCE) (((SOURCE) == OB_WWDG_SW) || ((SOURCE) == OB_WWDG_HW)) + +#define IS_OB_IWDG_SOURCE(SOURCE) (((SOURCE) == OB_IWDG_SW) || ((SOURCE) == OB_IWDG_HW)) + +#define IS_OB_STOP_SOURCE(SOURCE) (((SOURCE) == OB_STOP_NO_RST) || ((SOURCE) == OB_STOP_RST)) + +#define IS_OB_STDBY_SOURCE(SOURCE) (((SOURCE) == OB_STDBY_NO_RST) || ((SOURCE) == OB_STDBY_RST)) + +#define IS_OB_IWDG_STOP_FREEZE(FREEZE) (((FREEZE) == OB_IWDG_STOP_FREEZE) || ((FREEZE) == OB_IWDG_STOP_ACTIVE)) + +#define IS_OB_IWDG_STDBY_FREEZE(FREEZE) (((FREEZE) == OB_IWDG_STDBY_FREEZE) || ((FREEZE) == OB_IWDG_STDBY_ACTIVE)) + +#define IS_OB_BOR_LEVEL(LEVEL) (((LEVEL) == OB_BOR_LEVEL1) || ((LEVEL) == OB_BOR_LEVEL2) ||\ + ((LEVEL) == OB_BOR_LEVEL3) || ((LEVEL) == OB_BOR_OFF)) + +#define IS_FLASH_LATENCY(LATENCY) (((LATENCY) == FLASH_LATENCY_0) || \ + ((LATENCY) == FLASH_LATENCY_1) || \ + ((LATENCY) == FLASH_LATENCY_2) || \ + ((LATENCY) == FLASH_LATENCY_3) || \ + ((LATENCY) == FLASH_LATENCY_4) || \ + ((LATENCY) == FLASH_LATENCY_5) || \ + ((LATENCY) == FLASH_LATENCY_6) || \ + ((LATENCY) == FLASH_LATENCY_7)) + +#define IS_FLASH_ADDRESS(ADDRESS) ((((ADDRESS) >= FLASH_BASE) && ((ADDRESS) <= FLASH_END)) || \ + (((ADDRESS) >= FLASH_OTP_BANK1_BASE) && ((ADDRESS) <= FLASH_OTP_BANK1_END)) || \ + (((ADDRESS) >= FLASH_OTP_BANK2_BASE) && ((ADDRESS) <= FLASH_OTP_BANK2_END))) + +#define IS_FLASH_NBSECTORS(NBSECTORS) (((NBSECTORS) != 0U) && ((NBSECTORS) <= FLASH_SECTOR_TOTAL)) + +#define IS_FLASH_SECTOR(SECTOR) (((SECTOR) == FLASH_SECTOR_0) || ((SECTOR) == FLASH_SECTOR_1) ||\ + ((SECTOR) == FLASH_SECTOR_2) || ((SECTOR) == FLASH_SECTOR_3) ||\ + ((SECTOR) == FLASH_SECTOR_4) || ((SECTOR) == FLASH_SECTOR_5) ||\ + ((SECTOR) == FLASH_SECTOR_6) || ((SECTOR) == FLASH_SECTOR_7)) + +#define IS_OB_WRP_SECTOR(SECTOR) ((((SECTOR) & (uint32_t)0xFFFFFF00) == 0x00000000U) && ((SECTOR) != 0x00000000U)) + +#define IS_FLASH_BANK(BANK) (((BANK) == FLASH_BANK_1) || \ + ((BANK) == FLASH_BANK_2) || \ + ((BANK) == FLASH_BANK_BOTH)) + +#define IS_OB_PCROP_RDP(CONFIG) (((CONFIG) == OB_PCROP_RDP_NOT_ERASE) || \ + ((CONFIG) == OB_PCROP_RDP_ERASE)) + +#define IS_OB_SECURE_RDP(CONFIG) (((CONFIG) == OB_SECURE_RDP_NOT_ERASE) || \ + ((CONFIG) == OB_SECURE_RDP_ERASE)) + +#define IS_OB_USER_SWAP_BANK(VALUE) (((VALUE) == OB_SWAP_BANK_DISABLE) || ((VALUE) == OB_SWAP_BANK_ENABLE)) + +#define IS_OB_USER_IOHSLV(VALUE) (((VALUE) == OB_IOHSLV_DISABLE) || ((VALUE) == OB_IOHSLV_ENABLE)) + +#define IS_OB_IWDG1_SOURCE(SOURCE) (((SOURCE) == OB_IWDG1_SW) || ((SOURCE) == OB_IWDG1_HW)) +#define IS_OB_STOP_D1_RESET(VALUE) (((VALUE) == OB_STOP_NO_RST_D1) || ((VALUE) == OB_STOP_RST_D1)) + +#define IS_OB_STDBY_D1_RESET(VALUE) (((VALUE) == OB_STDBY_NO_RST_D1) || ((VALUE) == OB_STDBY_RST_D1)) + +#define IS_OB_USER_IWDG_STOP(VALUE) (((VALUE) == OB_IWDG_STOP_FREEZE) || ((VALUE) == OB_IWDG_STOP_ACTIVE)) + +#define IS_OB_USER_IWDG_STDBY(VALUE) (((VALUE) == OB_IWDG_STDBY_FREEZE) || ((VALUE) == OB_IWDG_STDBY_ACTIVE)) + +#define IS_OB_USER_SECURITY(VALUE) (((VALUE) == OB_SECURITY_ENABLE) || ((VALUE) == OB_SECURITY_DISABLE)) /*User can only move the security bit from 0 to 1*/ +#define IS_OB_USER_TYPE(TYPE) (((TYPE) <= (uint32_t)0x400U) && ((TYPE) != 0)) + +#define IS_OB_BOOT_ADD_OPTION(VALUE) (((VALUE) == OB_BOOT_ADD0) || \ + ((VALUE) == OB_BOOT_ADD1) || \ + ((VALUE) == OB_BOOT_ADD_BOTH)) + +/** + * @} + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup FLASHEx_Private_Functions Extended FLASH Private functions + * @{ + */ +void FLASH_Erase_Sector(uint32_t Sector, uint32_t Bank, uint32_t VoltageRange); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_FLASH_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h new file mode 100644 index 0000000000..c03ea59bb2 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h @@ -0,0 +1,326 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_gpio.h + * @author MCD Application Team + * @brief Header file of GPIO HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_GPIO_H +#define __STM32H7xx_HAL_GPIO_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup GPIO + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup GPIO_Exported_Types GPIO Exported Types + * @{ + */ + +/** + * @brief GPIO Init structure definition + */ +typedef struct +{ + uint32_t Pin; /*!< Specifies the GPIO pins to be configured. + This parameter can be any value of @ref GPIO_pins_define */ + + uint32_t Mode; /*!< Specifies the operating mode for the selected pins. + This parameter can be a value of @ref GPIO_mode_define */ + + uint32_t Pull; /*!< Specifies the Pull-up or Pull-Down activation for the selected pins. + This parameter can be a value of @ref GPIO_pull_define */ + + uint32_t Speed; /*!< Specifies the speed for the selected pins. + This parameter can be a value of @ref GPIO_speed_define */ + + uint32_t Alternate; /*!< Peripheral to be connected to the selected pins. + This parameter can be a value of @ref GPIO_Alternate_function_selection */ +}GPIO_InitTypeDef; + +/** + * @brief GPIO Bit SET and Bit RESET enumeration + */ +typedef enum +{ + GPIO_PIN_RESET = 0, + GPIO_PIN_SET +}GPIO_PinState; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup GPIO_Exported_Constants GPIO Exported Constants + * @{ + */ + +/** @defgroup GPIO_pins_define GPIO pins define + * @{ + */ +#define GPIO_PIN_0 ((uint16_t)0x0001U) /* Pin 0 selected */ +#define GPIO_PIN_1 ((uint16_t)0x0002U) /* Pin 1 selected */ +#define GPIO_PIN_2 ((uint16_t)0x0004U) /* Pin 2 selected */ +#define GPIO_PIN_3 ((uint16_t)0x0008U) /* Pin 3 selected */ +#define GPIO_PIN_4 ((uint16_t)0x0010U) /* Pin 4 selected */ +#define GPIO_PIN_5 ((uint16_t)0x0020U) /* Pin 5 selected */ +#define GPIO_PIN_6 ((uint16_t)0x0040U) /* Pin 6 selected */ +#define GPIO_PIN_7 ((uint16_t)0x0080U) /* Pin 7 selected */ +#define GPIO_PIN_8 ((uint16_t)0x0100U) /* Pin 8 selected */ +#define GPIO_PIN_9 ((uint16_t)0x0200U) /* Pin 9 selected */ +#define GPIO_PIN_10 ((uint16_t)0x0400U) /* Pin 10 selected */ +#define GPIO_PIN_11 ((uint16_t)0x0800U) /* Pin 11 selected */ +#define GPIO_PIN_12 ((uint16_t)0x1000U) /* Pin 12 selected */ +#define GPIO_PIN_13 ((uint16_t)0x2000U) /* Pin 13 selected */ +#define GPIO_PIN_14 ((uint16_t)0x4000U) /* Pin 14 selected */ +#define GPIO_PIN_15 ((uint16_t)0x8000U) /* Pin 15 selected */ +#define GPIO_PIN_All ((uint16_t)0xFFFFU) /* All pins selected */ + +#define GPIO_PIN_MASK ((uint32_t)0x0000FFFFU) /* PIN mask for assert test */ +/** + * @} + */ + +/** @defgroup GPIO_mode_define GPIO mode define + * @brief GPIO Configuration Mode + * Elements values convention: 0xX0yz00YZ + * - X : GPIO mode or EXTI Mode + * - y : External IT or Event trigger detection + * - z : IO configuration on External IT or Event + * - Y : Output type (Push Pull or Open Drain) + * - Z : IO Direction mode (Input, Output, Alternate or Analog) + * @{ + */ +#define GPIO_MODE_INPUT ((uint32_t)0x00000000U) /*!< Input Floating Mode */ +#define GPIO_MODE_OUTPUT_PP ((uint32_t)0x00000001U) /*!< Output Push Pull Mode */ +#define GPIO_MODE_OUTPUT_OD ((uint32_t)0x00000011U) /*!< Output Open Drain Mode */ +#define GPIO_MODE_AF_PP ((uint32_t)0x00000002U) /*!< Alternate Function Push Pull Mode */ +#define GPIO_MODE_AF_OD ((uint32_t)0x00000012U) /*!< Alternate Function Open Drain Mode */ + +#define GPIO_MODE_ANALOG ((uint32_t)0x00000003U) /*!< Analog Mode */ + +#define GPIO_MODE_IT_RISING ((uint32_t)0x11110000U) /*!< External Interrupt Mode with Rising edge trigger detection */ +#define GPIO_MODE_IT_FALLING ((uint32_t)0x11210000U) /*!< External Interrupt Mode with Falling edge trigger detection */ +#define GPIO_MODE_IT_RISING_FALLING ((uint32_t)0x11310000U) /*!< External Interrupt Mode with Rising/Falling edge trigger detection */ + +#define GPIO_MODE_EVT_RISING ((uint32_t)0x11120000U) /*!< External Event Mode with Rising edge trigger detection */ +#define GPIO_MODE_EVT_FALLING ((uint32_t)0x11220000U) /*!< External Event Mode with Falling edge trigger detection */ +#define GPIO_MODE_EVT_RISING_FALLING ((uint32_t)0x11320000U) /*!< External Event Mode with Rising/Falling edge trigger detection */ +/** + * @} + */ + +/** @defgroup GPIO_speed_define GPIO speed define + * @brief GPIO Output Maximum frequency + * @{ + */ +#define GPIO_SPEED_FREQ_LOW ((uint32_t)0x00000000U) /*!< Low speed */ +#define GPIO_SPEED_FREQ_MEDIUM ((uint32_t)0x00000001U) /*!< Medium speed */ +#define GPIO_SPEED_FREQ_HIGH ((uint32_t)0x00000002U) /*!< Fast speed */ +#define GPIO_SPEED_FREQ_VERY_HIGH ((uint32_t)0x00000003U) /*!< High speed */ +/** + * @} + */ + + /** @defgroup GPIO_pull_define GPIO pull define + * @brief GPIO Pull-Up or Pull-Down Activation + * @{ + */ +#define GPIO_NOPULL ((uint32_t)0x00000000U) /*!< No Pull-up or Pull-down activation */ +#define GPIO_PULLUP ((uint32_t)0x00000001U) /*!< Pull-up activation */ +#define GPIO_PULLDOWN ((uint32_t)0x00000002U) /*!< Pull-down activation */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup GPIO_Exported_Macros GPIO Exported Macros + * @{ + */ + +/** + * @brief Checks whether the specified EXTI line flag is set or not. + * @param __EXTI_LINE__: specifies the EXTI line flag to check. + * This parameter can be GPIO_PIN_x where x can be(0..15) + * @retval The new state of __EXTI_LINE__ (SET or RESET). + */ +#define __HAL_GPIO_EXTI_GET_FLAG(__EXTI_LINE__) (EXTI_D1->PR1 & (__EXTI_LINE__)) + +/** + * @brief Clears the EXTI's line pending flags. + * @param __EXTI_LINE__: specifies the EXTI lines flags to clear. + * This parameter can be any combination of GPIO_PIN_x where x can be (0..15) + * @retval None + */ +#define __HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__) (EXTI_D1->PR1 = (__EXTI_LINE__)) + +/** + * @brief Checks whether the specified EXTI line is asserted or not. + * @param __EXTI_LINE__: specifies the EXTI line to check. + * This parameter can be GPIO_PIN_x where x can be(0..15) + * @retval The new state of __EXTI_LINE__ (SET or RESET). + */ +#define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__) (EXTI_D1->PR1 & (__EXTI_LINE__)) + +/** + * @brief Clears the EXTI's line pending bits. + * @param __EXTI_LINE__: specifies the EXTI lines to clear. + * This parameter can be any combination of GPIO_PIN_x where x can be (0..15) + * @retval None + */ +#define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__) (EXTI_D1->PR1 = (__EXTI_LINE__)) + +/** + * @brief Generates a Software interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the EXTI line to check. + * This parameter can be GPIO_PIN_x where x can be(0..15) + * @retval None + */ +#define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__) (EXTI->SWIER1 |= (__EXTI_LINE__)) +/** + * @} + */ + +/* Include GPIO HAL Extension module */ +#include "stm32h7xx_hal_gpio_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup GPIO_Exported_Functions + * @{ + */ + +/** @addtogroup GPIO_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions *****************************/ +void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); +void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin); +/** + * @} + */ + +/** @addtogroup GPIO_Exported_Functions_Group2 + * @{ + */ +/* IO operation functions *****************************************************/ +GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); +void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); +void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); +HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); +void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin); +void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin); + +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup GPIO_Private_Constants GPIO Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup GPIO_Private_Macros GPIO Private Macros + * @{ + */ +#define IS_GPIO_PIN_ACTION(ACTION) (((ACTION) == GPIO_PIN_RESET) || ((ACTION) == GPIO_PIN_SET)) +#define IS_GPIO_PIN(__PIN__) ((((__PIN__) & GPIO_PIN_MASK ) != (uint32_t)0x00)) +#define IS_GPIO_MODE(MODE) (((MODE) == GPIO_MODE_INPUT) ||\ + ((MODE) == GPIO_MODE_OUTPUT_PP) ||\ + ((MODE) == GPIO_MODE_OUTPUT_OD) ||\ + ((MODE) == GPIO_MODE_AF_PP) ||\ + ((MODE) == GPIO_MODE_AF_OD) ||\ + ((MODE) == GPIO_MODE_IT_RISING) ||\ + ((MODE) == GPIO_MODE_IT_FALLING) ||\ + ((MODE) == GPIO_MODE_IT_RISING_FALLING) ||\ + ((MODE) == GPIO_MODE_EVT_RISING) ||\ + ((MODE) == GPIO_MODE_EVT_FALLING) ||\ + ((MODE) == GPIO_MODE_EVT_RISING_FALLING) ||\ + ((MODE) == GPIO_MODE_ANALOG)) +#define IS_GPIO_SPEED(SPEED) (((SPEED) == GPIO_SPEED_FREQ_LOW) || ((SPEED) == GPIO_SPEED_FREQ_MEDIUM) || \ + ((SPEED) == GPIO_SPEED_FREQ_HIGH) || ((SPEED) == GPIO_SPEED_FREQ_VERY_HIGH)) + +#define IS_GPIO_PULL(PULL) (((PULL) == GPIO_NOPULL) || ((PULL) == GPIO_PULLUP) || \ + ((PULL) == GPIO_PULLDOWN)) +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup GPIO_Private_Functions GPIO Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_GPIO_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h new file mode 100644 index 0000000000..30cad7c70b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h @@ -0,0 +1,363 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_gpio_ex.h + * @author MCD Application Team + * @brief Header file of GPIO HAL Extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_GPIO_EX_H +#define __STM32H7xx_HAL_GPIO_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup GPIOEx GPIOEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup GPIOEx_Exported_Constants GPIO Exported Constants + * @{ + */ + +/** @defgroup GPIO_Alternate_function_selection GPIO Alternate Function Selection + * @{ + */ +/** + * @brief AF 0 selection + */ +#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */ +#define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */ +#define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */ +#define GPIO_AF0_LCDBIAS ((uint8_t)0x00) /* LCDBIAS Alternate Function mapping */ +#define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */ + +/** + * @brief AF 1 selection + */ +#define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */ +#define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */ +#define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */ +#define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */ +#define GPIO_AF1_LPTIM1 ((uint8_t)0x01) /* LPTIM1 Alternate Function mapping */ +#define GPIO_AF1_HRTIM1 ((uint8_t)0x01) /* HRTIM1 Alternate Function mapping */ + +/** + * @brief AF 2 selection + */ +#define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */ +#define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */ +#define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */ +#define GPIO_AF2_TIM12 ((uint8_t)0x02) /* TIM12 Alternate Function mapping */ +#define GPIO_AF2_HRTIM1 ((uint8_t)0x02) /* HRTIM2 Alternate Function mapping */ +#define GPIO_AF2_SAI1 ((uint8_t)0x02) /* SAI1 Alternate Function mapping */ + +/** + * @brief AF 3 selection + */ +#define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */ +#define GPIO_AF3_LPTIM2 ((uint8_t)0x03) /* LPTIM2 Alternate Function mapping */ +#define GPIO_AF3_DFSDM1 ((uint8_t)0x03) /* DFSDM Alternate Function mapping */ +#define GPIO_AF3_HRTIM1 ((uint8_t)0x03) /* HRTIM3 Alternate Function mapping */ +#define GPIO_AF3_LPTIM3 ((uint8_t)0x03) /* LPTIM3 Alternate Function mapping */ +#define GPIO_AF3_LPTIM4 ((uint8_t)0x03) /* LPTIM4 Alternate Function mapping */ +#define GPIO_AF3_LPTIM5 ((uint8_t)0x03) /* LPTIM5 Alternate Function mapping */ +#define GPIO_AF3_LPUART ((uint8_t)0x03) /* LPUART Alternate Function mapping */ + +/** + * @brief AF 4 selection + */ +#define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */ +#define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */ +#define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */ +#define GPIO_AF4_I2C4 ((uint8_t)0x04) /* I2C4 Alternate Function mapping */ +#define GPIO_AF4_TIM15 ((uint8_t)0x04) /* TIM15 Alternate Function mapping */ +#define GPIO_AF4_CEC ((uint8_t)0x04) /* CEC Alternate Function mapping */ +#define GPIO_AF4_LPTIM2 ((uint8_t)0x04) /* LPTIM2 Alternate Function mapping */ +#define GPIO_AF4_USART1 ((uint8_t)0x04) /* USART1 Alternate Function mapping */ +#define GPIO_AF4_DFSDM1 ((uint8_t)0x04) /* DFSDM Alternate Function mapping */ + +/** + * @brief AF 5 selection + */ +#define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */ +#define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2 Alternate Function mapping */ +#define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3 Alternate Function mapping */ +#define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */ +#define GPIO_AF5_SPI5 ((uint8_t)0x05) /* SPI5 Alternate Function mapping */ +#define GPIO_AF5_SPI6 ((uint8_t)0x05) /* SPI6 Alternate Function mapping */ +#define GPIO_AF5_CEC ((uint8_t)0x05) /* CEC Alternate Function mapping */ + + +/** + * @brief AF 6 selection + */ +#define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2 Alternate Function mapping */ +#define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3 Alternate Function mapping */ +#define GPIO_AF6_SAI1 ((uint8_t)0x06) /* SAI1 Alternate Function mapping */ +#define GPIO_AF6_SAI3 ((uint8_t)0x06) /* SAI3 Alternate Function mapping */ +#define GPIO_AF6_I2C4 ((uint8_t)0x06) /* I2C4 Alternate Function mapping */ +#define GPIO_AF6_DFSDM1 ((uint8_t)0x06) /* DFSDM Alternate Function mapping */ +#define GPIO_AF6_UART4 ((uint8_t)0x06) /* UART4 Alternate Function mapping */ + +/** + * @brief AF 7 selection + */ +#define GPIO_AF7_SPI2 ((uint8_t)0x07) /* SPI2 Alternate Function mapping */ +#define GPIO_AF7_SPI3 ((uint8_t)0x07) /* SPI3 Alternate Function mapping */ +#define GPIO_AF7_SPI6 ((uint8_t)0x07) /* SPI6 Alternate Function mapping */ +#define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */ +#define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */ +#define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */ +#define GPIO_AF7_USART6 ((uint8_t)0x07) /* USART6 Alternate Function mapping */ +#define GPIO_AF7_UART7 ((uint8_t)0x07) /* UART7 Alternate Function mapping */ +#define GPIO_AF7_DFSDM1 ((uint8_t)0x07) /* DFSDM Alternate Function mapping */ +#define GPIO_AF7_SDMMC1 ((uint8_t)0x07) /* SDMMC1 Alternate Function mapping */ + +/** + * @brief AF 8 selection + */ +#define GPIO_AF8_SPI6 ((uint8_t)0x08) /* SPI6 Alternate Function mapping */ +#define GPIO_AF8_SAI2 ((uint8_t)0x08) /* SAI2 Alternate Function mapping */ +#define GPIO_AF8_SAI4 ((uint8_t)0x08) /* SAI4 Alternate Function mapping */ +#define GPIO_AF8_UART4 ((uint8_t)0x08) /* UART4 Alternate Function mapping */ +#define GPIO_AF8_UART5 ((uint8_t)0x08) /* UART5 Alternate Function mapping */ +#define GPIO_AF8_UART8 ((uint8_t)0x08) /* UART8 Alternate Function mapping */ +#define GPIO_AF8_SPDIF ((uint8_t)0x08) /* SPDIF Alternate Function mapping */ +#define GPIO_AF8_LPUART ((uint8_t)0x08) /* LPUART Alternate Function mapping */ +#define GPIO_AF8_SDMMC1 ((uint8_t)0x08) /* SDMMC1 Alternate Function mapping */ + +/** + * @brief AF 9 selection + */ +#define GPIO_AF9_FDCAN1 ((uint8_t)0x09) /* FDCAN1 Alternate Function mapping */ +#define GPIO_AF9_FDCAN2 ((uint8_t)0x09) /* FDCAN2 Alternate Function mapping */ +#define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */ +#define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */ +#define GPIO_AF9_QUADSPI ((uint8_t)0x09) /* QUADSPI Alternate Function mapping */ +#define GPIO_AF9_SDMMC2 ((uint8_t)0x09) /* SDMMC2 Alternate Function mapping */ +#define GPIO_AF9_LTDC ((uint8_t)0x09) /* LTDC Alternate Function mapping */ +#define GPIO_AF9_SPDIF ((uint8_t)0x09) /* SPDIF Alternate Function mapping */ +#define GPIO_AF9_FMC ((uint8_t)0x09) /* FMC Alternate Function mapping */ +#define GPIO_AF9_SAI4 ((uint8_t)0x09) /* SAI4 Alternate Function mapping */ + +/** + * @brief AF 10 selection + */ +#define GPIO_AF10_QUADSPI ((uint8_t)0xA) /* QUADSPI Alternate Function mapping */ +#define GPIO_AF10_SAI2 ((uint8_t)0xA) /* SAI2 Alternate Function mapping */ +#define GPIO_AF10_SAI4 ((uint8_t)0xA) /* SAI4 Alternate Function mapping */ +#define GPIO_AF10_SDMMC2 ((uint8_t)0xA) /* SDMMC2 Alternate Function mapping */ +#define GPIO_AF10_OTG2_HS ((uint8_t)0xA) /* OTG2_HS Alternate Function mapping */ +#define GPIO_AF10_OTG1_FS ((uint8_t)0xA) /* OTG1_FS Alternate Function mapping */ +#define GPIO_AF10_COMP1 ((uint8_t)0xA) /* COMP1 Alternate Function mapping */ +#define GPIO_AF10_COMP2 ((uint8_t)0xA) /* COMP2 Alternate Function mapping */ +#define GPIO_AF10_LTDC ((uint8_t)0xA) /* LTDC Alternate Function mapping */ + +/** + * @brief AF 11 selection + */ +#define GPIO_AF11_SWP ((uint8_t)0x0B) /* SWP Alternate Function mapping */ +#define GPIO_AF11_ETH ((uint8_t)0x0B) /* ETH Alternate Function mapping */ +#define GPIO_AF11_MDIOS ((uint8_t)0x0B) /* MDIOS Alternate Function mapping */ +#define GPIO_AF11_OTG1_HS ((uint8_t)0x0B) /* OTG1_HS Alternate Function mapping */ +#define GPIO_AF11_UART7 ((uint8_t)0x0B) /* UART7 Alternate Function mapping */ +#define GPIO_AF11_SDMMC2 ((uint8_t)0x0B) /* SDMMC2 Alternate Function mapping */ +#define GPIO_AF11_DFSDM1 ((uint8_t)0x0B) /* DFSDM Alternate Function mapping */ +#define GPIO_AF11_COMP1 ((uint8_t)0x0B) /* COMP1 Alternate Function mapping */ +#define GPIO_AF11_COMP2 ((uint8_t)0x0B) /* COMP2 Alternate Function mapping */ +#define GPIO_AF11_I2C4 ((uint8_t)0x0B) /* I2C4 Alternate Function mapping */ + +/** + * @brief AF 12 selection + */ +#define GPIO_AF12_FMC ((uint8_t)0xC) /* FMC Alternate Function mapping */ +#define GPIO_AF12_SDMMC1 ((uint8_t)0xC) /* SDMMC1 Alternate Function mapping */ +#define GPIO_AF12_MDIOS ((uint8_t)0xC) /* MDIOS Alternate Function mapping */ +#define GPIO_AF12_OTG2_FS ((uint8_t)0xC) /* OTG2_FS Alternate Function mapping */ +#define GPIO_AF12_COMP1 ((uint8_t)0xC) /* COMP1 Alternate Function mapping */ +#define GPIO_AF12_COMP2 ((uint8_t)0xC) /* COMP2 Alternate Function mapping */ +#define GPIO_AF12_LTDC ((uint8_t)0xC) /* LTDC Alternate Function mapping */ + +/** + * @brief AF 13 selection + */ +#define GPIO_AF13_DCMI ((uint8_t)0x0D) /* DCMI Alternate Function mapping */ +#define GPIO_AF13_DSI ((uint8_t)0x0D) /* DSI Alternate Function mapping */ +#define GPIO_AF13_COMP1 ((uint8_t)0x0D) /* COMP1 Alternate Function mapping */ +#define GPIO_AF13_COMP2 ((uint8_t)0x0D) /* COMP2 Alternate Function mapping */ +#define GPIO_AF13_LTDC ((uint8_t)0x0D) /* LTDC Alternate Function mapping */ + +/** + * @brief AF 14 selection + */ +#define GPIO_AF14_LTDC ((uint8_t)0x0E) /* LTDC Alternate Function mapping */ +#define GPIO_AF14_UART5 ((uint8_t)0x0E) /* UART5 Alternate Function mapping */ + +/** + * @brief AF 15 selection + */ +#define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */ + +#define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x0F) + + + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup GPIOEx_Exported_Macros GPIO Exported Macros + * @{ + */ +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup GPIOEx_Exported_Functions GPIO Exported Functions + * @{ + */ +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup GPIOEx_Private_Constants GPIO Private Constants + * @{ + */ + +/** + * @brief GPIO pin available on the platform + */ +/* Defines the available pins per GPIOs */ +#define GPIOA_PIN_AVAILABLE GPIO_PIN_All +#define GPIOB_PIN_AVAILABLE GPIO_PIN_All +#define GPIOC_PIN_AVAILABLE GPIO_PIN_All +#define GPIOD_PIN_AVAILABLE GPIO_PIN_All +#define GPIOE_PIN_AVAILABLE GPIO_PIN_All +#define GPIOF_PIN_AVAILABLE GPIO_PIN_All +#define GPIOG_PIN_AVAILABLE GPIO_PIN_All +#define GPIOI_PIN_AVAILABLE GPIO_PIN_All +#define GPIOJ_PIN_AVAILABLE GPIO_PIN_All +#define GPIOH_PIN_AVAILABLE GPIO_PIN_All +#define GPIOK_PIN_AVAILABLE (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_3 | GPIO_PIN_4 | \ + GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7) + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup GPIOEx_Private_Macros GPIO Private Macros + * @{ + */ +/** @defgroup GPIOEx_Get_Port_Index GPIO Get Port Index + * @{ + */ +#define GPIO_GET_INDEX(__GPIOx__) (uint8_t)(((__GPIOx__) == (GPIOA))? 0U :\ + ((__GPIOx__) == (GPIOB))? 1U :\ + ((__GPIOx__) == (GPIOC))? 2U :\ + ((__GPIOx__) == (GPIOD))? 3U :\ + ((__GPIOx__) == (GPIOE))? 4U :\ + ((__GPIOx__) == (GPIOF))? 5U :\ + ((__GPIOx__) == (GPIOG))? 6U :\ + ((__GPIOx__) == (GPIOH))? 7U :\ + ((__GPIOx__) == (GPIOI))? 8U :\ + ((__GPIOx__) == (GPIOJ))? 9U : 10U) +/** + * @} + */ + +#define IS_GPIO_PIN_AVAILABLE(__INSTANCE__,__PIN__) \ + ((((__INSTANCE__) == GPIOA) && (((__PIN__) & (GPIOA_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOA_PIN_AVAILABLE)) == (GPIOA_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOB) && (((__PIN__) & (GPIOB_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOB_PIN_AVAILABLE)) == (GPIOB_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOC) && (((__PIN__) & (GPIOC_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOC_PIN_AVAILABLE)) == (GPIOC_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOD) && (((__PIN__) & (GPIOD_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOD_PIN_AVAILABLE)) == (GPIOD_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOE) && (((__PIN__) & (GPIOE_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOE_PIN_AVAILABLE)) == (GPIOE_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOF) && (((__PIN__) & (GPIOF_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOF_PIN_AVAILABLE)) == (GPIOF_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOG) && (((__PIN__) & (GPIOG_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOG_PIN_AVAILABLE)) == (GPIOG_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOI) && (((__PIN__) & (GPIOI_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOI_PIN_AVAILABLE)) == (GPIOI_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOJ) && (((__PIN__) & (GPIOJ_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOJ_PIN_AVAILABLE)) == (GPIOJ_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOK) && (((__PIN__) & (GPIOK_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOK_PIN_AVAILABLE)) == (GPIOK_PIN_AVAILABLE))) || \ + (((__INSTANCE__) == GPIOH) && (((__PIN__) & (GPIOH_PIN_AVAILABLE)) != 0) && (((__PIN__) | (GPIOH_PIN_AVAILABLE)) == (GPIOH_PIN_AVAILABLE)))) +/** @defgroup GPIOEx_IS_Alternat_function_selection GPIO Check Alternate Function + * @{ + */ +/** + * @} + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup GPIOEx_Private_Functions GPIO Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_GPIO_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash.h new file mode 100644 index 0000000000..77248907b1 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash.h @@ -0,0 +1,577 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hash.h + * @author MCD Application Team + * @brief Header file of HASH HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_HASH_H +#define __STM32H7xx_HAL_HASH_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#if defined (HASH) + +/** @addtogroup HASH + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup HASH_Exported_Types HASH Exported Types + * @{ + */ + +/** + * @brief HASH Configuration Structure definition + */ +typedef struct +{ + uint32_t DataType; /*!< 32-bit data, 16-bit data, 8-bit data or 1-bit data. + This parameter can be a value of @ref HASH_Data_Type. */ + + uint32_t KeySize; /*!< The key size is used only in HMAC operation. */ + + uint8_t* pKey; /*!< The key is used only in HMAC operation. */ + +} HASH_InitTypeDef; + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_HASH_STATE_RESET = 0x00, /*!< Peripheral is not initialized */ + HAL_HASH_STATE_READY = 0x01, /*!< Peripheral Initialized and ready for use */ + HAL_HASH_STATE_BUSY = 0x02, /*!< Processing (hashing) is ongoing */ + HAL_HASH_STATE_TIMEOUT = 0x06, /*!< Timeout state */ + HAL_HASH_STATE_ERROR = 0x07, /*!< Error state */ + HAL_HASH_STATE_SUSPENDED = 0x08 /*!< Suspended state */ +}HAL_HASH_StateTypeDef; + +/** + * @brief HAL phase structures definition + */ +typedef enum +{ + HAL_HASH_PHASE_READY = 0x01, /*!< HASH peripheral is ready to start */ + HAL_HASH_PHASE_PROCESS = 0x02, /*!< HASH peripheral is in HASH processing phase */ + HAL_HASH_PHASE_HMAC_STEP_1 = 0x03, /*!< HASH peripheral is in HMAC step 1 processing phase + (step 1 consists in entering the inner hash function key) */ + HAL_HASH_PHASE_HMAC_STEP_2 = 0x04, /*!< HASH peripheral is in HMAC step 2 processing phase + (step 2 consists in entering the message text) */ + HAL_HASH_PHASE_HMAC_STEP_3 = 0x05 /*!< HASH peripheral is in HMAC step 3 processing phase + (step 3 consists in entering the outer hash function key) */ +}HAL_HASH_PhaseTypeDef; + +/** + * @brief HAL HASH mode suspend definitions + */ +typedef enum +{ + HAL_HASH_SUSPEND_NONE = 0x00, /*!< HASH peripheral suspension not requested */ + HAL_HASH_SUSPEND = 0x01 /*!< HASH peripheral suspension is requested */ +}HAL_HASH_SuspendTypeDef; + + +/** + * @brief HASH Handle Structure definition + */ +typedef struct +{ + HASH_InitTypeDef Init; /*!< HASH required parameters */ + + uint8_t *pHashInBuffPtr; /*!< Pointer to input buffer */ + + uint8_t *pHashOutBuffPtr; /*!< Pointer to output buffer (digest) */ + + uint8_t *pHashKeyBuffPtr; /*!< Pointer to key buffer (HMAC only) */ + + uint8_t *pHashMsgBuffPtr; /*!< Pointer to message buffer (HMAC only) */ + + uint32_t HashBuffSize; /*!< Size of buffer to be processed */ + + __IO uint32_t HashInCount; /*!< Counter of inputted data */ + + __IO uint32_t HashITCounter; /*!< Counter of issued interrupts */ + + __IO uint32_t HashKeyCount; /*!< Counter for Key inputted data (HMAC only) */ + + HAL_StatusTypeDef Status; /*!< HASH peripheral status */ + + HAL_HASH_PhaseTypeDef Phase; /*!< HASH peripheral phase */ + + DMA_HandleTypeDef *hdmain; /*!< HASH In DMA Handle parameters */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + __IO HAL_HASH_StateTypeDef State; /*!< HASH peripheral state */ + + HAL_HASH_SuspendTypeDef SuspendRequest; /*!< HASH peripheral suspension request flag */ + + FlagStatus DigestCalculationDisable; /*!< Digest calculation phase skip (MDMAT bit control) for multi-buffers DMA-based HMAC computation */ + +} HASH_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup HASH_Exported_Constants HASH Exported Constants + * @{ + */ + +/** @defgroup HASH_Algo_Selection HASH algorithm selection + * @{ + */ +#define HASH_ALGOSELECTION_SHA1 ((uint32_t)0x0000) /*!< HASH function is SHA1 */ +#define HASH_ALGOSELECTION_SHA224 HASH_CR_ALGO_1 /*!< HASH function is SHA224 */ +#define HASH_ALGOSELECTION_SHA256 HASH_CR_ALGO /*!< HASH function is SHA256 */ +#define HASH_ALGOSELECTION_MD5 HASH_CR_ALGO_0 /*!< HASH function is MD5 */ +/** + * @} + */ + +/** @defgroup HASH_Algorithm_Mode HASH algorithm mode + * @{ + */ +#define HASH_ALGOMODE_HASH ((uint32_t)0x00000000) /*!< Algorithm is HASH */ +#define HASH_ALGOMODE_HMAC HASH_CR_MODE /*!< Algorithm is HMAC */ +/** + * @} + */ + +/** @defgroup HASH_Data_Type HASH input data type + * @{ + */ +#define HASH_DATATYPE_32B ((uint32_t)0x0000) /*!< 32-bit data. No swapping */ +#define HASH_DATATYPE_16B HASH_CR_DATATYPE_0 /*!< 16-bit data. Each half word is swapped */ +#define HASH_DATATYPE_8B HASH_CR_DATATYPE_1 /*!< 8-bit data. All bytes are swapped */ +#define HASH_DATATYPE_1B HASH_CR_DATATYPE /*!< 1-bit data. In the word all bits are swapped */ +/** + * @} + */ + +/** @defgroup HASH_HMAC_Long_key_only_for_HMAC_mode HMAC key length type + * @{ + */ +#define HASH_HMAC_KEYTYPE_SHORTKEY ((uint32_t)0x00000000) /*!< HMAC Key size is <= 64 bytes */ +#define HASH_HMAC_KEYTYPE_LONGKEY HASH_CR_LKEY /*!< HMAC Key size is > 64 bytes */ +/** + * @} + */ + +/** @defgroup HASH_flags_definition HASH flags definitions + * @{ + */ +#define HASH_FLAG_DINIS HASH_SR_DINIS /*!< 16 locations are free in the DIN : a new block can be entered in the IP */ +#define HASH_FLAG_DCIS HASH_SR_DCIS /*!< Digest calculation complete */ +#define HASH_FLAG_DMAS HASH_SR_DMAS /*!< DMA interface is enabled (DMAE=1) or a transfer is ongoing */ +#define HASH_FLAG_BUSY HASH_SR_BUSY /*!< The hash core is Busy, processing a block of data */ +#define HASH_FLAG_DINNE HASH_CR_DINNE /*!< DIN not empty : the input buffer contains at least one word of data */ + +/** + * @} + */ + +/** @defgroup HASH_interrupts_definition HASH interrupts definitions + * @{ + */ +#define HASH_IT_DINI HASH_IMR_DINIE /*!< A new block can be entered into the input buffer (DIN) */ +#define HASH_IT_DCI HASH_IMR_DCIE /*!< Digest calculation complete */ + +/** + * @} + */ + +/** @defgroup HASH_alias HASH API alias + * @{ + */ +#define HAL_HASHEx_IRQHandler HAL_HASH_IRQHandler /*!< HAL_HASHEx_IRQHandler() is re-directed to HAL_HASH_IRQHandler() for compatibility with legacy code */ +/** + * @} + */ + + + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup HASH_Exported_Macros HASH Exported Macros + * @{ + */ + +/** @brief Check whether or not the specified HASH flag is set. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg @ref HASH_FLAG_DINIS A new block can be entered into the input buffer. + * @arg @ref HASH_FLAG_DCIS Digest calculation complete. + * @arg @ref HASH_FLAG_DMAS DMA interface is enabled (DMAE=1) or a transfer is ongoing. + * @arg @ref HASH_FLAG_BUSY The hash core is Busy : processing a block of data. + * @arg @ref HASH_FLAG_DINNE DIN not empty : the input buffer contains at least one word of data. + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_HASH_GET_FLAG(__FLAG__) (((__FLAG__) > 8U) ? \ + ((HASH->CR & (__FLAG__)) == (__FLAG__)) :\ + ((HASH->SR & (__FLAG__)) == (__FLAG__)) ) + + +/** @brief Clear the specified HASH flag. + * @param __FLAG__: specifies the flag to clear. + * This parameter can be one of the following values: + * @arg @ref HASH_FLAG_DINIS A new block can be entered into the input buffer. + * @arg @ref HASH_FLAG_DCIS Digest calculation complete + * @retval None + */ +#define __HAL_HASH_CLEAR_FLAG(__FLAG__) CLEAR_BIT(HASH->SR, (__FLAG__)) + + +/** @brief Enable the specified HASH interrupt. + * @param __INTERRUPT__: specifies the HASH interrupt source to enable. + * This parameter can be one of the following values: + * @arg @ref HASH_IT_DINI A new block can be entered into the input buffer (DIN) + * @arg @ref HASH_IT_DCI Digest calculation complete + * @retval None + */ +#define __HAL_HASH_ENABLE_IT(__INTERRUPT__) SET_BIT(HASH->IMR, (__INTERRUPT__)) + +/** @brief Disable the specified HASH interrupt. + * @param __INTERRUPT__: specifies the HASH interrupt source to disable. + * This parameter can be one of the following values: + * @arg @ref HASH_IT_DINI A new block can be entered into the input buffer (DIN) + * @arg @ref HASH_IT_DCI Digest calculation complete + * @retval None + */ +#define __HAL_HASH_DISABLE_IT(__INTERRUPT__) CLEAR_BIT(HASH->IMR, (__INTERRUPT__)) + +/** @brief Reset HASH handle state. + * @param __HANDLE__: HASH handle. + * @retval None + */ +#define __HAL_HASH_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_HASH_STATE_RESET) + +/** @brief Reset HASH handle status. + * @param __HANDLE__: HASH handle. + * @retval None + */ +#define __HAL_HASH_RESET_HANDLE_STATUS(__HANDLE__) ((__HANDLE__)->Status = HAL_OK) + +/** + * @brief Enable the multi-buffer DMA transfer mode. + * @note This bit is set when hashing large files when multiple DMA transfers are needed. + * @retval None + */ +#define __HAL_HASH_SET_MDMAT() SET_BIT(HASH->CR, HASH_CR_MDMAT) + +/** + * @brief Disable the multi-buffer DMA transfer mode. + * @retval None + */ +#define __HAL_HASH_RESET_MDMAT() CLEAR_BIT(HASH->CR, HASH_CR_MDMAT) + + + +/** + * @brief Start the digest computation. + * @retval None + */ +#define __HAL_HASH_START_DIGEST() SET_BIT(HASH->STR, HASH_STR_DCAL) + +/** + * @brief Set the number of valid bits in the last word written in data register DIN. + * @param __SIZE__: size in bytes of last data written in Data register. + * @retval None +*/ +#define __HAL_HASH_SET_NBVALIDBITS(__SIZE__) MODIFY_REG(HASH->STR, HASH_STR_NBLW, 8 * ((__SIZE__) % 4)) + +/** + * @brief Reset the HASH core. + * @retval None + */ +#define __HAL_HASH_INIT() SET_BIT(HASH->CR, HASH_CR_INIT) + +/** + * @} + */ + + +/* Private macros --------------------------------------------------------*/ +/** @defgroup HASH_Private_Macros HASH Private Macros + * @{ + */ + +/** + * @brief Return digest length in bytes. + * @retval Digest length + */ +#define HASH_DIGEST_LENGTH() ((READ_BIT(HASH->CR, HASH_CR_ALGO) == HASH_ALGOSELECTION_SHA1) ? 20 : \ + ((READ_BIT(HASH->CR, HASH_CR_ALGO) == HASH_ALGOSELECTION_SHA224) ? 28 : \ + ((READ_BIT(HASH->CR, HASH_CR_ALGO) == HASH_ALGOSELECTION_SHA256) ? 32 : 16 ) ) ) + +/** + * @brief Return number of words already pushed in the FIFO. + * @retval Number of words already pushed in the FIFO + */ +#define HASH_NBW_PUSHED() ((READ_BIT(HASH->CR, HASH_CR_NBW)) >> 8) + +/** + * @brief Ensure that HASH input data type is valid. + * @param __DATATYPE__: HASH input data type. + * @retval SET (__DATATYPE__ is valid) or RESET (__DATATYPE__ is invalid) + */ +#define IS_HASH_DATATYPE(__DATATYPE__) (((__DATATYPE__) == HASH_DATATYPE_32B)|| \ + ((__DATATYPE__) == HASH_DATATYPE_16B)|| \ + ((__DATATYPE__) == HASH_DATATYPE_8B) || \ + ((__DATATYPE__) == HASH_DATATYPE_1B)) + + + +/** + * @brief Ensure that input data buffer size is valid for multi-buffer HASH + * processing in polling mode. + * @note This check is valid only for multi-buffer HASH processing in polling mode. + * @param __SIZE__: input data buffer size. + * @retval SET (__SIZE__ is valid) or RESET (__SIZE__ is invalid) + */ +#define IS_HASH_POLLING_MULTIBUFFER_SIZE(__SIZE__) (((__SIZE__) % 4) == 0) + +/** + * @brief Ensure that input data buffer size is valid for multi-buffer HASH + * processing in DMA mode. + * @note This check is valid only for multi-buffer HASH processing in DMA mode. + * @param __SIZE__: input data buffer size. + * @retval SET (__SIZE__ is valid) or RESET (__SIZE__ is invalid) + */ +#define IS_HASH_DMA_MULTIBUFFER_SIZE(__SIZE__) ((READ_BIT(HASH->CR, HASH_CR_MDMAT) == RESET) || (((__SIZE__) % 4) == 0)) + +/** + * @brief Ensure that input data buffer size is valid for multi-buffer HMAC + * processing in DMA mode. + * @note This check is valid only for multi-buffer HMAC processing in DMA mode. + * @param __HANDLE__: HASH handle. + * @param __SIZE__: input data buffer size. + * @retval SET (__SIZE__ is valid) or RESET (__SIZE__ is invalid) + */ +#define IS_HMAC_DMA_MULTIBUFFER_SIZE(__HANDLE__,__SIZE__) ((((__HANDLE__)->DigestCalculationDisable) == RESET) || (((__SIZE__) % 4) == 0)) + +/** + * @brief Ensure that handle phase is set to HASH processing. + * @param __HANDLE__: HASH handle. + * @retval SET (handle phase is set to HASH processing) or RESET (handle phase is not set to HASH processing) + */ +#define IS_HASH_PROCESSING(__HANDLE__) ((__HANDLE__)->Phase == HAL_HASH_PHASE_PROCESS) + +/** + * @brief Ensure that handle phase is set to HMAC processing. + * @param __HANDLE__: HASH handle. + * @retval SET (handle phase is set to HMAC processing) or RESET (handle phase is not set to HMAC processing) + */ +#define IS_HMAC_PROCESSING(__HANDLE__) (((__HANDLE__)->Phase == HAL_HASH_PHASE_HMAC_STEP_1) || \ + ((__HANDLE__)->Phase == HAL_HASH_PHASE_HMAC_STEP_2) || \ + ((__HANDLE__)->Phase == HAL_HASH_PHASE_HMAC_STEP_3)) + +/** + * @} + */ + + +/* Include HASH HAL Extended module */ +#include "stm32h7xx_hal_hash_ex.h" +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup HASH_Exported_Functions HASH Exported Functions + * @{ + */ + +/** @addtogroup HASH_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization/de-initialization methods **********************************/ +HAL_StatusTypeDef HAL_HASH_Init(HASH_HandleTypeDef *hhash); +HAL_StatusTypeDef HAL_HASH_DeInit(HASH_HandleTypeDef *hhash); +void HAL_HASH_MspInit(HASH_HandleTypeDef *hhash); +void HAL_HASH_MspDeInit(HASH_HandleTypeDef *hhash); +void HAL_HASH_InCpltCallback(HASH_HandleTypeDef *hhash); +void HAL_HASH_DgstCpltCallback(HASH_HandleTypeDef *hhash); +void HAL_HASH_ErrorCallback(HASH_HandleTypeDef *hhash); + +/** + * @} + */ + +/** @addtogroup HASH_Exported_Functions_Group2 HASH processing functions in polling mode + * @{ + */ + + +/* HASH processing using polling *********************************************/ +HAL_StatusTypeDef HAL_HASH_SHA1_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HASH_MD5_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HASH_MD5_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HASH_SHA1_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +/** + * @} + */ + +/** @addtogroup HASH_Exported_Functions_Group3 HASH processing functions in interrupt mode + * @{ + */ + +/* HASH processing using IT **************************************************/ +HAL_StatusTypeDef HAL_HASH_SHA1_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); +HAL_StatusTypeDef HAL_HASH_MD5_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); +void HAL_HASH_IRQHandler(HASH_HandleTypeDef *hhash); +/** + * @} + */ + +/** @addtogroup HASH_Exported_Functions_Group4 HASH processing functions in DMA mode + * @{ + */ + +/* HASH processing using DMA *************************************************/ +HAL_StatusTypeDef HAL_HASH_SHA1_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HASH_SHA1_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HASH_MD5_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HASH_MD5_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout); + +/** + * @} + */ + +/** @addtogroup HASH_Exported_Functions_Group5 HMAC processing functions in polling mode + * @{ + */ + +/* HASH-MAC processing using polling *****************************************/ +HAL_StatusTypeDef HAL_HMAC_SHA1_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HMAC_MD5_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); + +/** + * @} + */ + +/** @addtogroup HASH_Exported_Functions_Group6 HMAC processing functions in interrupt mode + * @{ + */ + +HAL_StatusTypeDef HAL_HMAC_MD5_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); +HAL_StatusTypeDef HAL_HMAC_SHA1_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); + +/** + * @} + */ + +/** @addtogroup HASH_Exported_Functions_Group7 HMAC processing functions in DMA mode + * @{ + */ + +/* HASH-HMAC processing using DMA ********************************************/ +HAL_StatusTypeDef HAL_HMAC_SHA1_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMAC_MD5_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +/** + * @} + */ + +/** @addtogroup HASH_Exported_Functions_Group8 Peripheral states functions + * @{ + */ + + +/* Peripheral State methods **************************************************/ +HAL_HASH_StateTypeDef HAL_HASH_GetState(HASH_HandleTypeDef *hhash); +HAL_StatusTypeDef HAL_HASH_GetStatus(HASH_HandleTypeDef *hhash); +void HAL_HASH_ContextSaving(HASH_HandleTypeDef *hhash, uint8_t* pMemBuffer); +void HAL_HASH_ContextRestoring(HASH_HandleTypeDef *hhash, uint8_t* pMemBuffer); +void HAL_HASH_SwFeed_ProcessSuspend(HASH_HandleTypeDef *hhash); +HAL_StatusTypeDef HAL_HASH_DMAFeed_ProcessSuspend(HASH_HandleTypeDef *hhash); + +/** + * @} + */ + +/** + * @} + */ + +/* Private functions -----------------------------------------------------------*/ + +/** @addtogroup HASH_Private_Functions HASH Private Functions + * @{ + */ + +/* Private functions */ +HAL_StatusTypeDef HASH_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout, uint32_t Algorithm); +HAL_StatusTypeDef HASH_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm); +HAL_StatusTypeDef HASH_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Algorithm); +HAL_StatusTypeDef HASH_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm); +HAL_StatusTypeDef HASH_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HMAC_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout, uint32_t Algorithm); +HAL_StatusTypeDef HMAC_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Algorithm); +HAL_StatusTypeDef HMAC_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm); + +/** + * @} + */ + +/** + * @} + */ +#endif /* HASH */ +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_HASH_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash_ex.h new file mode 100644 index 0000000000..3698de4eb5 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hash_ex.h @@ -0,0 +1,177 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hash_ex.h + * @author MCD Application Team + * @brief Header file of HASH HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_HASH_EX_H +#define __STM32H7xx_HAL_HASH_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + + #if defined (HASH) + +/** @addtogroup HASHEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ + + +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup HASHEx_Exported_Functions HASH Extended Exported Functions + * @{ + */ + +/** @addtogroup HASHEx_Exported_Functions_Group1 HASH extended processing functions in polling mode + * @{ + */ + +HAL_StatusTypeDef HAL_HASHEx_SHA224_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HASHEx_SHA224_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HASHEx_SHA256_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HASHEx_SHA256_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +/** + * @} + */ + +/** @addtogroup HASHEx_Exported_Functions_Group2 HASH extended processing functions in interrupt mode + * @{ + */ + +HAL_StatusTypeDef HAL_HASHEx_SHA224_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); +HAL_StatusTypeDef HAL_HASHEx_SHA256_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); + +/** + * @} + */ + +/** @addtogroup HASHEx_Exported_Functions_Group3 HASH extended processing functions in DMA mode + * @{ + */ +HAL_StatusTypeDef HAL_HASHEx_SHA224_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HASHEx_SHA224_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HASHEx_SHA256_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HASHEx_SHA256_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout); + +/** + * @} + */ + +/** @addtogroup HASHEx_Exported_Functions_Group4 HMAC extended processing functions in polling mode + * @{ + */ +HAL_StatusTypeDef HAL_HMACEx_SHA224_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); +HAL_StatusTypeDef HAL_HMACEx_SHA256_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout); +/** + * @} + */ + +/** @addtogroup HASHEx_Exported_Functions_Group5 HMAC extended processing functions in interrupt mode + * @{ + */ + +HAL_StatusTypeDef HAL_HMACEx_SHA224_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); +HAL_StatusTypeDef HAL_HMACEx_SHA256_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer); + +/** + * @} + */ + +/** @addtogroup HASHEx_Exported_Functions_Group6 HMAC extended processing functions in DMA mode + * @{ + */ + +HAL_StatusTypeDef HAL_HMACEx_SHA224_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_SHA256_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +/** + * @} + */ + +/** @addtogroup HASHEx_Exported_Functions_Group7 Multi-buffer HMAC extended processing functions in DMA mode + * @{ + */ + +HAL_StatusTypeDef HAL_HMACEx_MD5_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_MD5_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_MD5_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +HAL_StatusTypeDef HAL_HMACEx_SHA1_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_SHA1_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_SHA1_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +HAL_StatusTypeDef HAL_HMACEx_SHA224_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_SHA224_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_SHA224_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +HAL_StatusTypeDef HAL_HMACEx_SHA256_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_SHA256_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +HAL_StatusTypeDef HAL_HMACEx_SHA256_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#endif /* HASH */ +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_HASH_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hcd.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hcd.h new file mode 100644 index 0000000000..376f6097f7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hcd.h @@ -0,0 +1,279 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hcd.h + * @author MCD Application Team + * @brief Header file of HCD HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_HCD_H +#define __STM32H7xx_HAL_HCD_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_usb.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup HCD HCD + * @brief HCD HAL module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup HCD_Exported_Types HCD Exported Types + * @{ + */ + +/** @defgroup HCD_Exported_Types_Group1 HCD State Structure definition + * @{ + */ +typedef enum +{ + HAL_HCD_STATE_RESET = 0x00U, + HAL_HCD_STATE_READY = 0x01U, + HAL_HCD_STATE_ERROR = 0x02U, + HAL_HCD_STATE_BUSY = 0x03U, + HAL_HCD_STATE_TIMEOUT = 0x04U +} HCD_StateTypeDef; + +typedef USB_OTG_GlobalTypeDef HCD_TypeDef; +typedef USB_OTG_CfgTypeDef HCD_InitTypeDef; +typedef USB_OTG_HCTypeDef HCD_HCTypeDef ; +typedef USB_OTG_URBStateTypeDef HCD_URBStateTypeDef ; +typedef USB_OTG_HCStateTypeDef HCD_HCStateTypeDef ; +/** + * @} + */ + +/** @defgroup HCD_Exported_Types_Group2 HCD Handle Structure definition + * @{ + */ +typedef struct +{ + HCD_TypeDef *Instance; /*!< Register base address */ + HCD_InitTypeDef Init; /*!< HCD required parameters */ + HCD_HCTypeDef hc[15]; /*!< Host channels parameters */ + HAL_LockTypeDef Lock; /*!< HCD peripheral status */ + __IO HCD_StateTypeDef State; /*!< HCD communication state */ + void *pData; /*!< Pointer Stack Handler */ +} HCD_HandleTypeDef; +/** + * @} + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup HCD_Exported_Constants HCD Exported Constants + * @{ + */ + +/** @defgroup HCD_Speed HCD Speed + * @{ + */ +#define HCD_SPEED_HIGH 0U +#define HCD_SPEED_LOW 2U +#define HCD_SPEED_FULL 3U +/** + * @} + */ + +/** @defgroup HCD_PHY_Module HCD PHY Module + * @{ + */ +#define HCD_PHY_ULPI 1U +#define HCD_PHY_EMBEDDED 2U +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup HCD_Exported_Macros HCD Exported Macros + * @brief macros to handle interrupts and specific clock configurations + * @{ + */ +#define __HAL_HCD_ENABLE(__HANDLE__) USB_EnableGlobalInt ((__HANDLE__)->Instance) +#define __HAL_HCD_DISABLE(__HANDLE__) USB_DisableGlobalInt ((__HANDLE__)->Instance) + +#define __HAL_HCD_GET_FLAG(__HANDLE__, __INTERRUPT__) ((USB_ReadInterrupts((__HANDLE__)->Instance) & (__INTERRUPT__)) == (__INTERRUPT__)) +#define __HAL_HCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->GINTSTS) = (__INTERRUPT__)) +#define __HAL_HCD_IS_INVALID_INTERRUPT(__HANDLE__) (USB_ReadInterrupts((__HANDLE__)->Instance) == 0U) + +#define __HAL_HCD_CLEAR_HC_INT(chnum, __INTERRUPT__) (USBx_HC(chnum)->HCINT = (__INTERRUPT__)) +#define __HAL_HCD_MASK_HALT_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK &= ~USB_OTG_HCINTMSK_CHHM) +#define __HAL_HCD_UNMASK_HALT_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK |= USB_OTG_HCINTMSK_CHHM) +#define __HAL_HCD_MASK_ACK_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK &= ~USB_OTG_HCINTMSK_ACKM) +#define __HAL_HCD_UNMASK_ACK_HC_INT(chnum) (USBx_HC(chnum)->HCINTMSK |= USB_OTG_HCINTMSK_ACKM) +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup HCD_Exported_Functions HCD Exported Functions + * @{ + */ + +/** @defgroup HCD_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +HAL_StatusTypeDef HAL_HCD_Init(HCD_HandleTypeDef *hhcd); +HAL_StatusTypeDef HAL_HCD_DeInit (HCD_HandleTypeDef *hhcd); +HAL_StatusTypeDef HAL_HCD_HC_Init(HCD_HandleTypeDef *hhcd, + uint8_t ch_num, + uint8_t epnum, + uint8_t dev_address, + uint8_t speed, + uint8_t ep_type, + uint16_t mps); + +HAL_StatusTypeDef HAL_HCD_HC_Halt(HCD_HandleTypeDef *hhcd, uint8_t ch_num); +void HAL_HCD_MspInit(HCD_HandleTypeDef *hhcd); +void HAL_HCD_MspDeInit(HCD_HandleTypeDef *hhcd); +/** + * @} + */ + +/* I/O operation functions ***************************************************/ +/** @addtogroup HCD_Exported_Functions_Group2 Input and Output operation functions + * @{ + */ +HAL_StatusTypeDef HAL_HCD_HC_SubmitRequest(HCD_HandleTypeDef *hhcd, + uint8_t pipe, + uint8_t direction , + uint8_t ep_type, + uint8_t token, + uint8_t* pbuff, + uint16_t length, + uint8_t do_ping); + + /* Non-Blocking mode: Interrupt */ +void HAL_HCD_IRQHandler(HCD_HandleTypeDef *hhcd); +void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd); +void HAL_HCD_Connect_Callback(HCD_HandleTypeDef *hhcd); +void HAL_HCD_Disconnect_Callback(HCD_HandleTypeDef *hhcd); +void HAL_HCD_HC_NotifyURBChange_Callback(HCD_HandleTypeDef *hhcd, + uint8_t chnum, + HCD_URBStateTypeDef urb_state); +/** + * @} + */ + +/* Peripheral Control functions **********************************************/ +/** @addtogroup HCD_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ +HAL_StatusTypeDef HAL_HCD_ResetPort(HCD_HandleTypeDef *hhcd); +HAL_StatusTypeDef HAL_HCD_Start(HCD_HandleTypeDef *hhcd); +HAL_StatusTypeDef HAL_HCD_Stop(HCD_HandleTypeDef *hhcd); +/** + * @} + */ + +/* Peripheral State functions ************************************************/ +/** @addtogroup HCD_Exported_Functions_Group4 Peripheral State functions + * @{ + */ +HCD_StateTypeDef HAL_HCD_GetState(HCD_HandleTypeDef *hhcd); +HCD_URBStateTypeDef HAL_HCD_HC_GetURBState(HCD_HandleTypeDef *hhcd, uint8_t chnum); +uint32_t HAL_HCD_HC_GetXferCount(HCD_HandleTypeDef *hhcd, uint8_t chnum); +HCD_HCStateTypeDef HAL_HCD_HC_GetState(HCD_HandleTypeDef *hhcd, uint8_t chnum); +uint32_t HAL_HCD_GetCurrentFrame(HCD_HandleTypeDef *hhcd); +uint32_t HAL_HCD_GetCurrentSpeed(HCD_HandleTypeDef *hhcd); +/** + * @} + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup HCD_Private_Macros HCD Private Macros + * @{ + */ +/** @defgroup HCD_Instance_definition HCD Instance definition + * @{ + */ +#define IS_HCD_ALL_INSTANCE(INSTANCE) (((INSTANCE) == USB2_OTG_FS) || \ + ((INSTANCE) == USB1_OTG_HS)) +/** + * @} + */ + +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup HCD_Private_Functions_Prototypes HCD Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup HCD_Private_Functions HCD Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_HCD_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hrtim.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hrtim.h new file mode 100644 index 0000000000..5b5688f08a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hrtim.h @@ -0,0 +1,3640 @@ +/** + ****************************************************************************** + * @file STM32h7xx_hal_hrtim.h + * @author MCD Application Team + * @brief Header file of HRTIM HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_HRTIM_H +#define __STM32H7xx_HAL_HRTIM_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup HRTIM HRTIM + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @addtogroup HRTIM_Exported_Constants HRTIM Exported Constants + * @{ + */ +/** @defgroup HRTIM_Max_Timer HRTIM Max Timer + * @{ + */ +#define MAX_HRTIM_TIMER 6U +/** + * @} + */ +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Types HRTIM Exported Types + * @{ + */ + +/** + * @brief HRTIM Configuration Structure definition - Time base related parameters + */ +typedef struct +{ + uint32_t HRTIMInterruptResquests; /*!< Specifies which interrupts requests must enabled for the HRTIM instance + This parameter can be any combination of @ref HRTIM_Common_Interrupt_Enable */ + uint32_t SyncOptions; /*!< Specifies how the HRTIM instance handles the external synchronization signals + This parameter can be a combination of @ref HRTIM_Synchronization_Options */ + uint32_t SyncInputSource; /*!< Specifies the external synchronization input source + This parameter can be a value of @ref HRTIM_Synchronization_Input_Source */ + uint32_t SyncOutputSource; /*!< Specifies the source and event to be sent on the external synchronization outputs + This parameter can be a value of @ref HRTIM_Synchronization_Output_Source */ + uint32_t SyncOutputPolarity; /*!< Specifies the conditionning of the event to be sent on the external synchronization outputs + This parameter can be a value of @ref HRTIM_Synchronization_Output_Polarity */ +} HRTIM_InitTypeDef; + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_HRTIM_STATE_READY = 0x01U, /*!< Peripheral Initialized and ready for use */ + HAL_HRTIM_STATE_BUSY = 0x02U, /*!< an internal process is ongoing */ + HAL_HRTIM_STATE_TIMEOUT = 0x06U, /*!< Timeout state */ + HAL_HRTIM_STATE_ERROR = 0x07U, /*!< Error state */ +} HAL_HRTIM_StateTypeDef; + +/** + * @brief HRTIM Timer Structure definition + */ +typedef struct +{ + uint32_t CaptureTrigger1; /*!< Event(s) triggering capture unit 1. + When the timer operates in Simple mode, this parameter can be a value of @ref HRTIM_External_Event_Channels. + When the timer operates in Waveform mode, this parameter can be a combination of @ref HRTIM_Capture_Unit_Trigger. */ + uint32_t CaptureTrigger2; /*!< Event(s) triggering capture unit 2. + When the timer operates in Simple mode, this parameter can be a value of @ref HRTIM_External_Event_Channels. + When the timer operates in Waveform mode, this parameter can be a combination of @ref HRTIM_Capture_Unit_Trigger. */ + uint32_t InterruptRequests; /*!< Interrupts requests enabled for the timer. */ + uint32_t DMARequests; /*!< DMA requests enabled for the timer. */ + uint32_t DMASrcAddress; /*!< Address of the source address of the DMA transfer. */ + uint32_t DMADstAddress; /*!< Address of the destination address of the DMA transfer. */ + uint32_t DMASize; /*!< Size of the DMA transfer */ +} HRTIM_TimerParamTypeDef; + +/** + * @brief HRTIM Handle Structure definition + */ +typedef struct __HRTIM_HandleTypeDef +{ + HRTIM_TypeDef * Instance; /*!< Register base address */ + + HRTIM_InitTypeDef Init; /*!< HRTIM required parameters */ + + HRTIM_TimerParamTypeDef TimerParam[MAX_HRTIM_TIMER]; /*!< HRTIM timers - including the master - parameters */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + __IO HAL_HRTIM_StateTypeDef State; /*!< HRTIM communication state */ + + DMA_HandleTypeDef * hdmaMaster; /*!< Master timer DMA handle parameters */ + DMA_HandleTypeDef * hdmaTimerA; /*!< Timer A DMA handle parameters */ + DMA_HandleTypeDef * hdmaTimerB; /*!< Timer B DMA handle parameters */ + DMA_HandleTypeDef * hdmaTimerC; /*!< Timer C DMA handle parameters */ + DMA_HandleTypeDef * hdmaTimerD; /*!< Timer D DMA handle parameters */ + DMA_HandleTypeDef * hdmaTimerE; /*!< Timer E DMA handle parameters */ +} HRTIM_HandleTypeDef; + +/** + * @brief Simple output compare mode configuration definition + */ +typedef struct { + uint32_t Period; /*!< Specifies the timer period + The period value must be above 3 periods of the fHRTIM clock. + Maximum value is = 0xFFDF */ + uint32_t RepetitionCounter; /*!< Specifies the timer repetition period + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + uint32_t PrescalerRatio; /*!< Specifies the timer clock prescaler ratio. + This parameter can be any value of @ref HRTIM_Prescaler_Ratio */ + uint32_t Mode; /*!< Specifies the counter operating mode + This parameter can be any value of @ref HRTIM_Mode */ +} HRTIM_TimeBaseCfgTypeDef; + +/** + * @brief Simple output compare mode configuration definition + */ +typedef struct { + uint32_t Mode; /*!< Specifies the output compare mode (toggle, active, inactive) + This parameter can be any value of of @ref HRTIM_Simple_OC_Mode */ + uint32_t Pulse; /*!< Specifies the compare value to be loaded into the Compare Register. + The compare value must be above or equal to 3 periods of the fHRTIM clock */ + uint32_t Polarity; /*!< Specifies the output polarity + This parameter can be any value of @ref HRTIM_Output_Polarity */ + uint32_t IdleLevel; /*!< Specifies whether the output level is active or inactive when in IDLE state + This parameter can be any value of @ref HRTIM_Output_IDLE_Level */ +} HRTIM_SimpleOCChannelCfgTypeDef; + +/** + * @brief Simple PWM output mode configuration definition + */ +typedef struct { + uint32_t Pulse; /*!< Specifies the compare value to be loaded into the Compare Register. + The compare value must be above or equal to 3 periods of the fHRTIM clock */ + uint32_t Polarity; /*!< Specifies the output polarity + This parameter can be any value of @ref HRTIM_Output_Polarity */ + uint32_t IdleLevel; /*!< Specifies whether the output level is active or inactive when in IDLE state + This parameter can be any value of @ref HRTIM_Output_IDLE_Level */ +} HRTIM_SimplePWMChannelCfgTypeDef; + +/** + * @brief Simple capture mode configuration definition + */ +typedef struct { + uint32_t Event; /*!< Specifies the external event triggering the capture + This parameter can be any 'EEVx' value of @ref HRTIM_External_Event_Channels */ + uint32_t EventPolarity; /*!< Specifies the polarity of the external event (in case of level sensitivity) + This parameter can be a value of @ref HRTIM_External_Event_Polarity */ + uint32_t EventSensitivity; /*!< Specifies the sensitivity of the external event + This parameter can be a value of @ref HRTIM_External_Event_Sensitivity */ + uint32_t EventFilter; /*!< Defines the frequency used to sample the External Event and the length of the digital filter + This parameter can be a value of @ref HRTIM_External_Event_Filter */ +} HRTIM_SimpleCaptureChannelCfgTypeDef; + +/** + * @brief Simple One Pulse mode configuration definition + */ +typedef struct { + uint32_t Pulse; /*!< Specifies the compare value to be loaded into the Compare Register. + The compare value must be above or equal to 3 periods of the fHRTIM clock */ + uint32_t OutputPolarity; /*!< Specifies the output polarity + This parameter can be any value of @ref HRTIM_Output_Polarity */ + uint32_t OutputIdleLevel; /*!< Specifies whether the output level is active or inactive when in IDLE state + This parameter can be any value of @ref HRTIM_Output_IDLE_Level */ + uint32_t Event; /*!< Specifies the external event triggering the pulse generation + This parameter can be any 'EEVx' value of @ref HRTIM_External_Event_Channels */ + uint32_t EventPolarity; /*!< Specifies the polarity of the external event (in case of level sensitivity) + This parameter can be a value of @ref HRTIM_External_Event_Polarity */ + uint32_t EventSensitivity; /*!< Specifies the sensitivity of the external event + This parameter can be a value of @ref HRTIM_External_Event_Sensitivity */ + uint32_t EventFilter; /*!< Defines the frequency used to sample the External Event and the length of the digital filter + This parameter can be a value of @ref HRTIM_External_Event_Filter */ +} HRTIM_SimpleOnePulseChannelCfgTypeDef; + +/** + * @brief Timer configuration definition + */ +typedef struct { + uint32_t InterruptRequests; /*!< Relevant for all HRTIM timers, including the master + Specifies which interrupts requests must enabled for the timer + This parameter can be any combination of @ref HRTIM_Master_Interrupt_Enable + or HRTIM_Timing_Unit_Interrupt_Enable */ + uint32_t DMARequests; /*!< Relevant for all HRTIM timers, including the master + Specifies which DMA requests must be enabled for the timer + This parameter can be any combination of @ref HRTIM_Master_DMA_Request_Enable + or HRTIM_Timing_Unit_DMA_Request_Enable */ + uint32_t DMASrcAddress; /*!< Relevant for all HRTIM timers, including the master + Specifies the address of the source address of the DMA transfer */ + uint32_t DMADstAddress; /*!< Relevant for all HRTIM timers, including the master + Specifies the address of the destination address of the DMA transfer */ + uint32_t DMASize; /*!< Relevant for all HRTIM timers, including the master + Specifies the size of the DMA transfer */ + uint32_t HalfModeEnable; /*!< Relevant for all HRTIM timers, including the master + Specifies whether or not hald mode is enabled + This parameter can be any value of @ref HRTIM_Half_Mode_Enable */ + uint32_t StartOnSync; /*!< Relevant for all HRTIM timers, including the master + Specifies whether or not timer is reset by a rising edge on the synchronization input (when enabled) + This parameter can be any value of @ref HRTIM_Start_On_Sync_Input_Event */ + uint32_t ResetOnSync; /*!< Relevant for all HRTIM timers, including the master + Specifies whether or not timer is reset by a rising edge on the synchronization input (when enabled) + This parameter can be any value of @ref HRTIM_Reset_On_Sync_Input_Event */ + uint32_t DACSynchro; /*!< Relevant for all HRTIM timers, including the master + Indicates whether or not the a DAC synchronization event is generated + This parameter can be any value of @ref HRTIM_DAC_Synchronization */ + uint32_t PreloadEnable; /*!< Relevant for all HRTIM timers, including the master + Specifies whether or not register preload is enabled + This parameter can be any value of @ref HRTIM_Register_Preload_Enable */ + uint32_t UpdateGating; /*!< Relevant for all HRTIM timers, including the master + Specifies how the update occurs with respect to a burst DMA transaction or + update enable inputs (Slave timers only) + This parameter can be any value of @ref HRTIM_Update_Gating */ + uint32_t BurstMode; /*!< Relevant for all HRTIM timers, including the master + Specifies how the timer behaves during a burst mode operation + This parameter can be any value of @ref HRTIM_Timer_Burst_Mode */ + uint32_t RepetitionUpdate; /*!< Relevant for all HRTIM timers, including the master + Specifies whether or not registers update is triggered by the repetition event + This parameter can be any valuen of @ref HRTIM_Timer_Repetition_Update */ + uint32_t PushPull; /*!< Relevant for Timer A to Timer E + Specifies whether or not the push-pull mode is enabled + This parameter can be any value of @ref HRTIM_Timer_Push_Pull_Mode */ + uint32_t FaultEnable; /*!< Relevant for Timer A to Timer E + Specifies which fault channels are enabled for the timer + This parameter can be a combination of @ref HRTIM_Timer_Fault_Enabling */ + uint32_t FaultLock; /*!< Relevant for Timer A to Timer E + Specifies whether or not fault enabling status is write protected + This parameter can be a value of @ref HRTIM_Timer_Fault_Lock */ + uint32_t DeadTimeInsertion; /*!< Relevant for Timer A to Timer E + Specifies whether or not deadtime insertion is enabled for the timer + This parameter can be a value of @ref HRTIM_Timer_Deadtime_Insertion */ + uint32_t DelayedProtectionMode; /*!< Relevant for Timer A to Timer E + Specifies the delayed protection mode + This parameter can be a value of @ref HRTIM_Timer_Delayed_Protection_Mode */ + uint32_t UpdateTrigger; /*!< Relevant for Timer A to Timer E + Specifies source(s) triggering the timer registers update + This parameter can be a combination of @ref HRTIM_Timer_Update_Trigger */ + uint32_t ResetTrigger; /*!< Relevant for Timer A to Timer E + Specifies source(s) triggering the timer counter reset + This parameter can be a combination of @ref HRTIM_Timer_Reset_Trigger */ + uint32_t ResetUpdate; /*!< Relevant for Timer A to Timer E + Specifies whether or not registers update is triggered when the timer counter is reset + This parameter can be a value of @ref HRTIM_Timer_Reset_Update */ +} HRTIM_TimerCfgTypeDef; + +/** + * @brief Compare unit configuration definition + */ +typedef struct { + uint32_t CompareValue; /*!< Specifies the compare value of the timer compare unit + the minimum value must be greater than or equal to 3 periods of the fHRTIM clock + the maximum value must be less than or equal to 0xFFFF - 1 periods of the fHRTIM clock */ + uint32_t AutoDelayedMode; /*!< Specifies the auto delayed mode for compare unit 2 or 4 + This parameter can be a value of @ref HRTIM_Compare_Unit_Auto_Delayed_Mode */ + uint32_t AutoDelayedTimeout; /*!< Specifies compare value for timing unit 1 or 3 when auto delayed mode with time out is selected + CompareValue + AutoDelayedTimeout must be less than 0xFFFF */ +} HRTIM_CompareCfgTypeDef; + +/** + * @brief Capture unit configuration definition + */ +typedef struct { + uint32_t Trigger; /*!< Specifies source(s) triggering the capture + This parameter can be a combination of @ref HRTIM_Capture_Unit_Trigger */ +} HRTIM_CaptureCfgTypeDef; + +/** + * @brief Output configuration definition + */ +typedef struct { + uint32_t Polarity; /*!< Specifies the output polarity. + This parameter can be any value of @ref HRTIM_Output_Polarity */ + uint32_t SetSource; /*!< Specifies the event(s) transitioning the output from its inactive level to its active level. + This parameter can be a combination of @ref HRTIM_Output_Set_Source */ + uint32_t ResetSource; /*!< Specifies the event(s) transitioning the output from its active level to its inactive level. + This parameter can be a combination of @ref HRTIM_Output_Reset_Source */ + uint32_t IdleMode; /*!< Specifies whether or not the output is affected by a burst mode operation. + This parameter can be any value of @ref HRTIM_Output_Idle_Mode */ + uint32_t IdleLevel; /*!< Specifies whether the output level is active or inactive when in IDLE state. + This parameter can be any value of @ref HRTIM_Output_IDLE_Level */ + uint32_t FaultLevel; /*!< Specifies whether the output level is active or inactive when in FAULT state. + This parameter can be any value of @ref HRTIM_Output_FAULT_Level */ + uint32_t ChopperModeEnable; /*!< Indicates whether or not the chopper mode is enabled. + This parameter can be any value of @ref HRTIM_Output_Chopper_Mode_Enable */ + uint32_t BurstModeEntryDelayed; /* !State = HAL_HRTIM_STATE_RESET) + +/** @brief Enables or disables the timer counter(s) + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __TIMERS__: timersto enable/disable + * This parameter can be any combinations of the following values: + * @arg HRTIM_TIMERID_MASTER: Master timer identifier + * @arg HRTIM_TIMERID_TIMER_A: Timer A identifier + * @arg HRTIM_TIMERID_TIMER_B: Timer B identifier + * @arg HRTIM_TIMERID_TIMER_C: Timer C identifier + * @arg HRTIM_TIMERID_TIMER_D: Timer D identifier + * @arg HRTIM_TIMERID_TIMER_E: Timer E identifier + * @retval None + */ +#define __HAL_HRTIM_ENABLE(__HANDLE__, __TIMERS__) ((__HANDLE__)->Instance->sMasterRegs.MCR |= (__TIMERS__)) + +/* The counter of a timing unit is disabled only if all the timer outputs */ +/* are disabled and no capture is configured */ +#define HRTIM_TAOEN_MASK (HRTIM_OENR_TA2OEN | HRTIM_OENR_TA1OEN) +#define HRTIM_TBOEN_MASK (HRTIM_OENR_TB2OEN | HRTIM_OENR_TB1OEN) +#define HRTIM_TCOEN_MASK (HRTIM_OENR_TC2OEN | HRTIM_OENR_TC1OEN) +#define HRTIM_TDOEN_MASK (HRTIM_OENR_TD2OEN | HRTIM_OENR_TD1OEN) +#define HRTIM_TEOEN_MASK (HRTIM_OENR_TE2OEN | HRTIM_OENR_TE1OEN) +#define __HAL_HRTIM_DISABLE(__HANDLE__, __TIMERS__)\ + do {\ + if (((__TIMERS__) & HRTIM_TIMERID_MASTER) == HRTIM_TIMERID_MASTER)\ + {\ + ((__HANDLE__)->Instance->sMasterRegs.MCR &= ~HRTIM_TIMERID_MASTER);\ + }\ + if (((__TIMERS__) & HRTIM_TIMERID_TIMER_A) == HRTIM_TIMERID_TIMER_A)\ + {\ + if (((__HANDLE__)->Instance->sCommonRegs.OENR & HRTIM_TAOEN_MASK) == RESET)\ + {\ + ((__HANDLE__)->Instance->sMasterRegs.MCR &= ~HRTIM_TIMERID_TIMER_A);\ + }\ + }\ + if (((__TIMERS__) & HRTIM_TIMERID_TIMER_B) == HRTIM_TIMERID_TIMER_B)\ + {\ + if (((__HANDLE__)->Instance->sCommonRegs.OENR & HRTIM_TBOEN_MASK) == RESET)\ + {\ + ((__HANDLE__)->Instance->sMasterRegs.MCR &= ~HRTIM_TIMERID_TIMER_B);\ + }\ + }\ + if (((__TIMERS__) & HRTIM_TIMERID_TIMER_C) == HRTIM_TIMERID_TIMER_C)\ + {\ + if (((__HANDLE__)->Instance->sCommonRegs.OENR & HRTIM_TCOEN_MASK) == RESET)\ + {\ + ((__HANDLE__)->Instance->sMasterRegs.MCR &= ~HRTIM_TIMERID_TIMER_C);\ + }\ + }\ + if (((__TIMERS__) & HRTIM_TIMERID_TIMER_D) == HRTIM_TIMERID_TIMER_D)\ + {\ + if (((__HANDLE__)->Instance->sCommonRegs.OENR & HRTIM_TDOEN_MASK) == RESET)\ + {\ + ((__HANDLE__)->Instance->sMasterRegs.MCR &= ~HRTIM_TIMERID_TIMER_D);\ + }\ + }\ + if (((__TIMERS__) & HRTIM_TIMERID_TIMER_E) == HRTIM_TIMERID_TIMER_E)\ + {\ + if (((__HANDLE__)->Instance->sCommonRegs.OENR & HRTIM_TEOEN_MASK) == RESET)\ + {\ + ((__HANDLE__)->Instance->sMasterRegs.MCR &= ~HRTIM_TIMERID_TIMER_E);\ + }\ + }\ + } while(0) + +/** @brief Enables or disables the specified HRTIM common interrupts. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg HRTIM_IT_FLT1: Fault 1 interrupt enable + * @arg HRTIM_IT_FLT2: Fault 2 interrupt enable + * @arg HRTIM_IT_FLT3: Fault 3 interrupt enable + * @arg HRTIM_IT_FLT4: Fault 4 interrupt enable + * @arg HRTIM_IT_FLT5: Fault 5 interrupt enable + * @arg HRTIM_IT_SYSFLT: System Fault interrupt enable + * @arg HRTIM_IT_BMPER: Burst mode period interrupt enable + * @retval None + */ +#define __HAL_HRTIM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sCommonRegs.IER |= (__INTERRUPT__)) +#define __HAL_HRTIM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sCommonRegs.IER &= ~(__INTERRUPT__)) + +/** @brief Enables or disables the specified HRTIM Master timer interrupts. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg HRTIM_MASTER_IT_MCMP1: Master compare 1 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP2: Master compare 2 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP3: Master compare 3 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP4: Master compare 4 interrupt enable + * @arg HRTIM_MASTER_IT_MREP: Master Repetition interrupt enable + * @arg HRTIM_MASTER_IT_SYNC: Synchronization input interrupt enable + * @arg HRTIM_MASTER_IT_MUPD: Master update interrupt enable + * @retval None + */ +#define __HAL_HRTIM_MASTER_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sMasterRegs.MDIER |= (__INTERRUPT__)) +#define __HAL_HRTIM_MASTER_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sMasterRegs.MDIER &= ~(__INTERRUPT__)) + +/** @brief Enables or disables the specified HRTIM Timerx interrupts. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __TIMER__: specified the timing unit (Timer A to E) + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg HRTIM_TIM_IT_CMP1: Timer compare 1 interrupt enable + * @arg HRTIM_TIM_IT_CMP2: Timer compare 2 interrupt enable + * @arg HRTIM_TIM_IT_CMP3: Timer compare 3 interrupt enable + * @arg HRTIM_TIM_IT_CMP4: Timer compare 4 interrupt enable + * @arg HRTIM_TIM_IT_REP: Timer repetition interrupt enable + * @arg HRTIM_TIM_IT_UPD: Timer update interrupt enable + * @arg HRTIM_TIM_IT_CPT1: Timer capture 1 interrupt enable + * @arg HRTIM_TIM_IT_CPT2: Timer capture 2 interrupt enable + * @arg HRTIM_TIM_IT_SET1: Timer output 1 set interrupt enable + * @arg HRTIM_TIM_IT_RST1: Timer output 1 reset interrupt enable + * @arg HRTIM_TIM_IT_SET2: Timer output 2 set interrupt enable + * @arg HRTIM_TIM_IT_RST2: Timer output 2 reset interrupt enable + * @arg HRTIM_TIM_IT_RST: Timer reset interrupt enable + * @arg HRTIM_TIM_IT_DLYPRT: Timer delay protection interrupt enable + * @retval None + */ +#define __HAL_HRTIM_TIMER_ENABLE_IT(__HANDLE__, __TIMER__, __INTERRUPT__) ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxDIER |= (__INTERRUPT__)) +#define __HAL_HRTIM_TIMER_DISABLE_IT(__HANDLE__, __TIMER__, __INTERRUPT__) ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxDIER &= ~(__INTERRUPT__)) + +/** @brief Checks if the specified HRTIM common interrupt source is enabled or disabled. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __INTERRUPT__: specifies the interrupt source to check. + * This parameter can be one of the following values: + * @arg HRTIM_IT_FLT1: Fault 1 interrupt enable + * @arg HRTIM_IT_FLT2: Fault 2 interrupt enable + * @arg HRTIM_IT_FLT3: Fault 3 enable + * @arg HRTIM_IT_FLT4: Fault 4 enable + * @arg HRTIM_IT_FLT5: Fault 5 enable + * @arg HRTIM_IT_SYSFLT: System Fault interrupt enable + * @arg HRTIM_IT_BMPER: Burst mode period interrupt enable + * @retval The new state of __INTERRUPT__ (TRUE or FALSE). + */ +#define __HAL_HRTIM_GET_ITSTATUS(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->sCommonRegs.IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Checks if the specified HRTIM Master interrupt source is enabled or disabled. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __INTERRUPT__: specifies the interrupt source to check. + * This parameter can be one of the following values: + * @arg HRTIM_MASTER_IT_MCMP1: Master compare 1 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP2: Master compare 2 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP3: Master compare 3 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP4: Master compare 4 interrupt enable + * @arg HRTIM_MASTER_IT_MREP: Master Repetition interrupt enable + * @arg HRTIM_MASTER_IT_SYNC: Synchronization input interrupt enable + * @arg HRTIM_MASTER_IT_MUPD: Master update interrupt enable + * @retval The new state of __INTERRUPT__ (TRUE or FALSE). + */ +#define __HAL_HRTIM_MASTER_GET_ITSTATUS(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->sMasterRegs.MDIER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Checks if the specified HRTIM Timerx interrupt source is enabled or disabled. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __TIMER__: specified the timing unit (Timer A to E) + * @param __INTERRUPT__: specifies the interrupt source to check. + * This parameter can be one of the following values: + * @arg HRTIM_MASTER_IT_MCMP1: Master compare 1 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP2: Master compare 2 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP3: Master compare 3 interrupt enable + * @arg HRTIM_MASTER_IT_MCMP4: Master compare 4 interrupt enable + * @arg HRTIM_MASTER_IT_MREP: Master Repetition interrupt enable + * @arg HRTIM_MASTER_IT_SYNC: Synchronization input interrupt enable + * @arg HRTIM_MASTER_IT_MUPD: Master update interrupt enable + * @arg HRTIM_TIM_IT_CMP1: Timer compare 1 interrupt enable + * @arg HRTIM_TIM_IT_CMP2: Timer compare 2 interrupt enable + * @arg HRTIM_TIM_IT_CMP3: Timer compare 3 interrupt enable + * @arg HRTIM_TIM_IT_CMP4: Timer compare 4 interrupt enable + * @arg HRTIM_TIM_IT_REP: Timer repetition interrupt enable + * @arg HRTIM_TIM_IT_UPD: Timer update interrupt enable + * @arg HRTIM_TIM_IT_CPT1: Timer capture 1 interrupt enable + * @arg HRTIM_TIM_IT_CPT2: Timer capture 2 interrupt enable + * @arg HRTIM_TIM_IT_SET1: Timer output 1 set interrupt enable + * @arg HRTIM_TIM_IT_RST1: Timer output 1 reset interrupt enable + * @arg HRTIM_TIM_IT_SET2: Timer output 2 set interrupt enable + * @arg HRTIM_TIM_IT_RST2: Timer output 2 reset interrupt enable + * @arg HRTIM_TIM_IT_RST: Timer reset interrupt enable + * @arg HRTIM_TIM_IT_DLYPRT: Timer delay protection interrupt enable + * @retval The new state of __INTERRUPT__ (TRUE or FALSE). + */ +#define __HAL_HRTIM_TIMER_GET_ITSTATUS(__HANDLE__, __TIMER__, __INTERRUPT__) ((((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxDIER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Clears the specified HRTIM common pending flag. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be one of the following values: + * @arg HRTIM_IT_FLT1: Fault 1 interrupt clear flag + * @arg HRTIM_IT_FLT2: Fault 2 interrupt clear flag + * @arg HRTIM_IT_FLT3: Fault 3 clear flag + * @arg HRTIM_IT_FLT4: Fault 4 clear flag + * @arg HRTIM_IT_FLT5: Fault 5 clear flag + * @arg HRTIM_IT_SYSFLT: System Fault interrupt clear flag + * @arg HRTIM_IT_BMPER: Burst mode period interrupt clear flag + * @retval None + */ +#define __HAL_HRTIM_CLEAR_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sCommonRegs.ICR = (__INTERRUPT__)) + +/** @brief Clears the specified HRTIM Master pending flag. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be one of the following values: + * @arg HRTIM_MASTER_IT_MCMP1: Master compare 1 interrupt clear flag + * @arg HRTIM_MASTER_IT_MCMP2: Master compare 2 interrupt clear flag + * @arg HRTIM_MASTER_IT_MCMP3: Master compare 3 interrupt clear flag + * @arg HRTIM_MASTER_IT_MCMP4: Master compare 4 interrupt clear flag + * @arg HRTIM_MASTER_IT_MREP: Master Repetition interrupt clear flag + * @arg HRTIM_MASTER_IT_SYNC: Synchronization input interrupt clear flag + * @arg HRTIM_MASTER_IT_MUPD: Master update interrupt clear flag + * @retval None + */ +#define __HAL_HRTIM_MASTER_CLEAR_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sMasterRegs.MICR = (__INTERRUPT__)) + +/** @brief Clears the specified HRTIM Timerx pending flag. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __TIMER__: specified the timing unit (Timer A to E) + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be one of the following values: + * @arg HRTIM_TIM_IT_CMP1: Timer compare 1 interrupt clear flag + * @arg HRTIM_TIM_IT_CMP2: Timer compare 2 interrupt clear flag + * @arg HRTIM_TIM_IT_CMP3: Timer compare 3 interrupt clear flag + * @arg HRTIM_TIM_IT_CMP4: Timer compare 4 interrupt clear flag + * @arg HRTIM_TIM_IT_REP: Timer repetition interrupt clear flag + * @arg HRTIM_TIM_IT_UPD: Timer update interrupt clear flag + * @arg HRTIM_TIM_IT_CPT1: Timer capture 1 interrupt clear flag + * @arg HRTIM_TIM_IT_CPT2: Timer capture 2 interrupt clear flag + * @arg HRTIM_TIM_IT_SET1: Timer output 1 set interrupt clear flag + * @arg HRTIM_TIM_IT_RST1: Timer output 1 reset interrupt clear flag + * @arg HRTIM_TIM_IT_SET2: Timer output 2 set interrupt clear flag + * @arg HRTIM_TIM_IT_RST2: Timer output 2 reset interrupt clear flag + * @arg HRTIM_TIM_IT_RST: Timer reset interrupt clear flag + * @arg HRTIM_TIM_IT_DLYPRT: Timer output 1 delay protection interrupt clear flag + * @retval None + */ +#define __HAL_HRTIM_TIMER_CLEAR_IT(__HANDLE__, __TIMER__, __INTERRUPT__) ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxICR = (__INTERRUPT__)) + +/* DMA HANDLING */ +/** @brief Enables or disables the specified HRTIM common interrupts. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg HRTIM_IT_FLT1: Fault 1 interrupt enable + * @arg HRTIM_IT_FLT2: Fault 2 interrupt enable + * @arg HRTIM_IT_FLT3: Fault 3 interrupt enable + * @arg HRTIM_IT_FLT4: Fault 4 interrupt enable + * @arg HRTIM_IT_FLT5: Fault 5 interrupt enable + * @arg HRTIM_IT_SYSFLT: System Fault interrupt enable + * @arg HRTIM_IT_BMPER: Burst mode period interrupt enable + * @retval None + */ +#define __HAL_HRTIM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sCommonRegs.IER |= (__INTERRUPT__)) +#define __HAL_HRTIM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->sCommonRegs.IER &= ~(__INTERRUPT__)) + +/** @brief Enables or disables the specified HRTIM Master timer DMA requets. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __DMA__: specifies the DMA request to enable or disable. + * This parameter can be one of the following values: + * @arg HRTIM_MASTER_DMA_MCMP1: Master compare 1 DMA resquest enable + * @arg HRTIM_MASTER_DMA_MCMP2: Master compare 2 DMA resquest enable + * @arg HRTIM_MASTER_DMA_MCMP3: Master compare 3 DMA resquest enable + * @arg HRTIM_MASTER_DMA_MCMP4: Master compare 4 DMA resquest enable + * @arg HRTIM_MASTER_DMA_MREP: Master Repetition DMA resquest enable + * @arg HRTIM_MASTER_DMA_SYNC: Synchronization input DMA resquest enable + * @arg HRTIM_MASTER_DMA_MUPD: Master update DMA resquest enable + * @retval None + */ +#define __HAL_HRTIM_MASTER_ENABLE_DMA(__HANDLE__, __DMA__) ((__HANDLE__)->Instance->sMasterRegs.MDIER |= (__DMA__)) +#define __HAL_HRTIM_MASTER_DISABLE_DMA(__HANDLE__, __DMA__) ((__HANDLE__)->Instance->sMasterRegs.MDIER &= ~(__DMA__)) + +/** @brief Enables or disables the specified HRTIM Timerx DMA requests. + * @param __HANDLE__: specifies the HRTIM Handle. + * @param __TIMER__: specified the timing unit (Timer A to E) + * @param __DMA__: specifies the DMA request to enable or disable. + * This parameter can be one of the following values: + * @arg HRTIM_TIM_DMA_CMP1: Timer compare 1 DMA resquest enable + * @arg HRTIM_TIM_DMA_CMP2: Timer compare 2 DMA resquest enable + * @arg HRTIM_TIM_DMA_CMP3: Timer compare 3 DMA resquest enable + * @arg HRTIM_TIM_DMA_CMP4: Timer compare 4 DMA resquest enable + * @arg HRTIM_TIM_DMA_REP: Timer repetition DMA resquest enable + * @arg HRTIM_TIM_DMA_UPD: Timer update DMA resquest enable + * @arg HRTIM_TIM_DMA_CPT1: Timer capture 1 DMA resquest enable + * @arg HRTIM_TIM_DMA_CPT2: Timer capture 2 DMA resquest enable + * @arg HRTIM_TIM_DMA_SET1: Timer output 1 set DMA resquest enable + * @arg HRTIM_TIM_DMA_RST1: Timer output 1 reset DMA resquest enable + * @arg HRTIM_TIM_DMA_SET2: Timer output 2 set DMA resquest enable + * @arg HRTIM_TIM_DMA_RST2: Timer output 2 reset DMA resquest enable + * @arg HRTIM_TIM_DMA_RST: Timer reset DMA resquest enable + * @arg HRTIM_TIM_DMA_DLYPRT: Timer delay protection DMA resquest enable + * @retval None + */ +#define __HAL_HRTIM_TIMER_ENABLE_DMA(__HANDLE__, __TIMER__, __DMA__) ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxDIER |= (__DMA__)) +#define __HAL_HRTIM_TIMER_DISABLE_DMA(__HANDLE__, __TIMER__, __DMA__) ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxDIER &= ~(__DMA__)) + +#define __HAL_HRTIM_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->sCommonRegs.ISR & (__FLAG__)) == (__FLAG__)) +#define __HAL_HRTIM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->sCommonRegs.ICR = (__FLAG__)) + +#define __HAL_HRTIM_MASTER_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->sMasterRegs.MISR & (__FLAG__)) == (__FLAG__)) +#define __HAL_HRTIM_MASTER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->sMasterRegs.MICR = (__FLAG__)) + +#define __HAL_HRTIM_TIMER_GET_FLAG(__HANDLE__, __TIMER__, __FLAG__) (((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxISR & (__FLAG__)) == (__FLAG__)) +#define __HAL_HRTIM_TIMER_CLEAR_FLAG(__HANDLE__, __TIMER__, __FLAG__) ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxICR = (__FLAG__)) + +/** @brief Sets the HRTIM timer Counter Register value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x5 for master timer + * @arg 0x0 to 0x4 for timers A to E + * @param __COUNTER__: specifies the Counter Register new value. + * @retval None + */ +#define __HAL_HRTIM_SETCOUNTER(__HANDLE__, __TIMER__, __COUNTER__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? ((__HANDLE__)->Instance->sMasterRegs.MCNTR = (__COUNTER__)) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CNTxR = (__COUNTER__))) + +/** @brief Gets the HRTIM timer Counter Register value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x5 for master timer + * @arg 0x0 to 0x4 for timers A to E + * @retval HRTIM timer Counter Register value + */ +#define __HAL_HRTIM_GETCOUNTER(__HANDLE__, __TIMER__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? ((__HANDLE__)->Instance->sMasterRegs.MCNTR) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CNTxR)) + +/** @brief Sets the HRTIM timer Period value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x5 for master timer + * @arg 0x0 to 0x4 for timers A to E + * @param __PERIOD__: specifies the Period Register new value. + * @retval None + */ +#define __HAL_HRTIM_SETPERIOD(__HANDLE__, __TIMER__, __PERIOD__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? ((__HANDLE__)->Instance->sMasterRegs.MPER = (__PERIOD__)) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].PERxR = (__PERIOD__))) + +/** @brief Gets the HRTIM timer Period Register value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x5 for master timer + * @arg 0x0 to 0x4 for timers A to E + * @retval timer Period Register + */ +#define __HAL_HRTIM_GETPERIOD(__HANDLE__, __TIMER__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? ((__HANDLE__)->Instance->sMasterRegs.MPER) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].PERxR)) + +/** @brief Sets the HRTIM timer clock prescaler value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x5 for master timer + * @arg 0x0 to 0x4 for timers A to E + * @param __PRESCALER__: specifies the clock prescaler new value. + * This parameter can be one of the following values: + * @arg HRTIM_PRESCALERRATIO_MUL32: fHRCK: 4.608 GHz - Resolution: 217 ps - Min PWM frequency: 70.3 kHz (fHRTIM=144MHz) + * @arg HRTIM_PRESCALERRATIO_MUL16: fHRCK: 2.304 GHz - Resolution: 434 ps - Min PWM frequency: 35.1 KHz (fHRTIM=144MHz) + * @arg HRTIM_PRESCALERRATIO_MUL8: fHRCK: 1.152 GHz - Resolution: 868 ps - Min PWM frequency: 17.6 kHz (fHRTIM=144MHz) + * @arg HRTIM_PRESCALERRATIO_MUL4: fHRCK: 576 MHz - Resolution: 1.73 ns - Min PWM frequency: 8.8 kHz (fHRTIM=144MHz) + * @arg HRTIM_PRESCALERRATIO_MUL2: fHRCK: 288 MHz - Resolution: 3.47 ns - Min PWM frequency: 4.4 kHz (fHRTIM=144MHz) + * @arg HRTIM_PRESCALERRATIO_DIV1: fHRCK: 144 MHz - Resolution: 6.95 ns - Min PWM frequency: 2.2 kHz (fHRTIM=144MHz) + * @arg HRTIM_PRESCALERRATIO_DIV2: fHRCK: 72 MHz - Resolution: 13.88 ns- Min PWM frequency: 1.1 kHz (fHRTIM=144MHz) + * @arg HRTIM_PRESCALERRATIO_DIV4: fHRCK: 36 MHz - Resolution: 27.7 ns- Min PWM frequency: 550Hz (fHRTIM=144MHz) + * @retval None + */ +#define __HAL_HRTIM_SETCLOCKPRESCALER(__HANDLE__, __TIMER__, __PRESCALER__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? ((__HANDLE__)->Instance->sMasterRegs.MCR |= (__PRESCALER__)) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxCR |= (__PRESCALER__))) + +/** @brief Gets the HRTIM timer clock prescaler value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x5 for master timer + * @arg 0x0 to 0x4 for timers A to E + * @retval timer clock prescaler value + */ +#define __HAL_HRTIM_GETCLOCKPRESCALER(__HANDLE__, __TIMER__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? ((__HANDLE__)->Instance->sMasterRegs.MCR & HRTIM_MCR_CK_PSC) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].TIMxCR & HRTIM_TIMCR_CK_PSC)) + +/** @brief Sets the HRTIM timer Compare Register value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x0 to 0x4 for timers A to E + * @param __COMPAREUNIT__: timer compare unit + * This parameter can be one of the following values: + * @arg HRTIM_COMPAREUNIT_1: Compare unit 1 + * @arg HRTIM_COMPAREUNIT_2: Compare unit 2 + * @arg HRTIM_COMPAREUNIT_3: Compare unit 3 + * @arg HRTIM_COMPAREUNIT_4: Compare unit 4 + * @param __COMPARE__: specifies the Compare new value. + * @retval None + */ +#define __HAL_HRTIM_SETCOMPARE(__HANDLE__, __TIMER__, __COMPAREUNIT__, __COMPARE__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? \ + (((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_1) ? ((__HANDLE__)->Instance->sMasterRegs.MCMP1R = (__COMPARE__)) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_2) ? ((__HANDLE__)->Instance->sMasterRegs.MCMP2R = (__COMPARE__)) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_3) ? ((__HANDLE__)->Instance->sMasterRegs.MCMP3R = (__COMPARE__)) :\ + ((__HANDLE__)->Instance->sMasterRegs.MCMP4R = (__COMPARE__))) \ + : \ + (((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_1) ? ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP1xR = (__COMPARE__)) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_2) ? ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP2xR = (__COMPARE__)) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_3) ? ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP3xR = (__COMPARE__)) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP4xR = (__COMPARE__)))) + +/** @brief Gets the HRTIM timer Compare Register value on runtime + * @param __HANDLE__: HRTIM Handle. + * @param __TIMER__: HRTIM timer + * This parameter can be one of the following values: + * @arg 0x0 to 0x4 for timers A to E + * @param __COMPAREUNIT__: timer compare unit + * This parameter can be one of the following values: + * @arg HRTIM_COMPAREUNIT_1: Compare unit 1 + * @arg HRTIM_COMPAREUNIT_2: Compare unit 2 + * @arg HRTIM_COMPAREUNIT_3: Compare unit 3 + * @arg HRTIM_COMPAREUNIT_4: Compare unit 4 + * @retval Compare value + */ +#define __HAL_HRTIM_GETCOMPARE(__HANDLE__, __TIMER__, __COMPAREUNIT__) \ + (((__TIMER__) == HRTIM_TIMERINDEX_MASTER) ? \ + (((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_1) ? ((__HANDLE__)->Instance->sMasterRegs.MCMP1R) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_2) ? ((__HANDLE__)->Instance->sMasterRegs.MCMP2R) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_3) ? ((__HANDLE__)->Instance->sMasterRegs.MCMP3R) :\ + ((__HANDLE__)->Instance->sMasterRegs.MCMP4R)) \ + : \ + (((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_1) ? ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP1xR) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_2) ? ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP2xR) :\ + ((__COMPAREUNIT__) == HRTIM_COMPAREUNIT_3) ? ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP3xR) :\ + ((__HANDLE__)->Instance->sTimerxRegs[(__TIMER__)].CMP4xR))) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup HRTIM_Exported_Functions HRTIM Exported Functions +* @{ +*/ + +/** @addtogroup HRTIM_Exported_Functions_Group1 Initialization and de-initialization functions +* @{ +*/ + +/* Initialization and Configuration functions ********************************/ +HAL_StatusTypeDef HAL_HRTIM_Init(HRTIM_HandleTypeDef *hhrtim); + +HAL_StatusTypeDef HAL_HRTIM_DeInit (HRTIM_HandleTypeDef *hhrtim); + +void HAL_HRTIM_MspInit(HRTIM_HandleTypeDef *hhrtim); + +void HAL_HRTIM_MspDeInit(HRTIM_HandleTypeDef *hhrtim); + +HAL_StatusTypeDef HAL_HRTIM_TimeBaseConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + HRTIM_TimeBaseCfgTypeDef * pTimeBaseCfg); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group2 Simple time base mode functions +* @{ +*/ + +/* Simple time base related functions *****************************************/ +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStart(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStop(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStart_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStop_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStart_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length); + +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStop_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group3 Simple output compare mode functions +* @{ +*/ +/* Simple output compare related functions ************************************/ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCChannelConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel, + HRTIM_SimpleOCChannelCfgTypeDef* pSimpleOCChannelCfg); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStart(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStop(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStart_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStop_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStart_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStop_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group4 Simple PWM output mode functions +* @{ +*/ +/* Simple PWM output related functions ****************************************/ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMChannelConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel, + HRTIM_SimplePWMChannelCfgTypeDef* pSimplePWMChannelCfg); + +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStart(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStop(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStart_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStop_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStart_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length); + +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStop_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group5 Simple input capture functions +* @{ +*/ +/* Simple capture related functions *******************************************/ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureChannelConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel, + HRTIM_SimpleCaptureChannelCfgTypeDef* pSimpleCaptureChannelCfg); + +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStart(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStop(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStart_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStop_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStart_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length); + +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStop_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group6 Simple one pulse functions +* @{ +*/ +/* Simple one pulse related functions *****************************************/ +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseChannelConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel, + HRTIM_SimpleOnePulseChannelCfgTypeDef* pSimpleOnePulseChannelCfg); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStart(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStop(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStart_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel); + +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStop_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group7 Configuration functions +* @{ +*/ +HAL_StatusTypeDef HAL_HRTIM_BurstModeConfig(HRTIM_HandleTypeDef *hhrtim, + HRTIM_BurstModeCfgTypeDef* pBurstModeCfg); + +HAL_StatusTypeDef HAL_HRTIM_EventConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t Event, + HRTIM_EventCfgTypeDef* pEventCfg); + +HAL_StatusTypeDef HAL_HRTIM_EventPrescalerConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t Prescaler); + +HAL_StatusTypeDef HAL_HRTIM_FaultConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t Fault, + HRTIM_FaultCfgTypeDef* pFaultCfg); + +HAL_StatusTypeDef HAL_HRTIM_FaultPrescalerConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t Prescaler); + +void HAL_HRTIM_FaultModeCtl(HRTIM_HandleTypeDef * hhrtim, + uint32_t Faults, + uint32_t Enable); + +HAL_StatusTypeDef HAL_HRTIM_ADCTriggerConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t ADCTrigger, + HRTIM_ADCTriggerCfgTypeDef* pADCTriggerCfg); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group8 Timer waveform configuration and functions +* @{ +*/ +/* Waveform related functions *************************************************/ +HAL_StatusTypeDef HAL_HRTIM_WaveformTimerConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + HRTIM_TimerCfgTypeDef * pTimerCfg); + +HAL_StatusTypeDef HAL_HRTIM_WaveformCompareConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CompareUnit, + HRTIM_CompareCfgTypeDef* pCompareCfg); + +HAL_StatusTypeDef HAL_HRTIM_WaveformCaptureConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit, + HRTIM_CaptureCfgTypeDef* pCaptureCfg); + +HAL_StatusTypeDef HAL_HRTIM_WaveformOutputConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t Output, + HRTIM_OutputCfgTypeDef * pOutputCfg); + +HAL_StatusTypeDef HAL_HRTIM_WaveformSetOutputLevel(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t Output, + uint32_t OutputLevel); + +HAL_StatusTypeDef HAL_HRTIM_TimerEventFilteringConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t Event, + HRTIM_TimerEventFilteringCfgTypeDef * pTimerEventFilteringCfg); + +HAL_StatusTypeDef HAL_HRTIM_DeadTimeConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + HRTIM_DeadTimeCfgTypeDef* pDeadTimeCfg); + +HAL_StatusTypeDef HAL_HRTIM_ChopperModeConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + HRTIM_ChopperModeCfgTypeDef* pChopperModeCfg); + +HAL_StatusTypeDef HAL_HRTIM_BurstDMAConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t RegistersToUpdate); + + +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStart(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStop(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + + +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStart_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStop_IT(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + + +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStart_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStop_DMA(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +HAL_StatusTypeDef HAL_HRTIM_WaveformOutputStart(HRTIM_HandleTypeDef *hhrtim, + uint32_t OutputsToStart); + +HAL_StatusTypeDef HAL_HRTIM_WaveformOutputStop(HRTIM_HandleTypeDef *hhrtim, + uint32_t OutputsToStop); + +HAL_StatusTypeDef HAL_HRTIM_BurstModeCtl(HRTIM_HandleTypeDef *hhrtim, + uint32_t Enable); + +HAL_StatusTypeDef HAL_HRTIM_BurstModeSoftwareTrigger(HRTIM_HandleTypeDef *hhrtim); + +HAL_StatusTypeDef HAL_HRTIM_SoftwareCapture(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit); + +HAL_StatusTypeDef HAL_HRTIM_SoftwareUpdate(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +HAL_StatusTypeDef HAL_HRTIM_SoftwareReset(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +HAL_StatusTypeDef HAL_HRTIM_BurstDMATransfer(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t BurstBufferAddress, + uint32_t BurstBufferLength); + +HAL_StatusTypeDef HAL_HRTIM_UpdateEnable(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +HAL_StatusTypeDef HAL_HRTIM_UpdateDisable(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group9 Peripheral state functions +* @{ +*/ +/* HRTIM peripheral state functions */ +HAL_HRTIM_StateTypeDef HAL_HRTIM_GetState(HRTIM_HandleTypeDef* hhrtim); + +uint32_t HAL_HRTIM_GetCapturedValue(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit); + +uint32_t HAL_HRTIM_WaveformGetOutputLevel(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t Output); + +uint32_t HAL_HRTIM_WaveformGetOutputState(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output); + +uint32_t HAL_HRTIM_GetDelayedProtectionStatus(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t Output); + +uint32_t HAL_HRTIM_GetBurstStatus(HRTIM_HandleTypeDef *hhrtim); + +uint32_t HAL_HRTIM_GetCurrentPushPullStatus(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +uint32_t HAL_HRTIM_GetIdlePushPullStatus(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +/** + * @} + */ + +/** @addtogroup HRTIM_Exported_Functions_Group10 Interrupts handling +* @{ +*/ +/* IRQ handler */ +void HAL_HRTIM_IRQHandler(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); + +/* HRTIM events related callback functions */ +void HAL_HRTIM_Fault1Callback(HRTIM_HandleTypeDef *hhrtim); +void HAL_HRTIM_Fault2Callback(HRTIM_HandleTypeDef *hhrtim); +void HAL_HRTIM_Fault3Callback(HRTIM_HandleTypeDef *hhrtim); +void HAL_HRTIM_Fault4Callback(HRTIM_HandleTypeDef *hhrtim); +void HAL_HRTIM_Fault5Callback(HRTIM_HandleTypeDef *hhrtim); +void HAL_HRTIM_SystemFaultCallback(HRTIM_HandleTypeDef *hhrtim); +void HAL_HRTIM_BurstModePeriodCallback(HRTIM_HandleTypeDef *hhrtim); +void HAL_HRTIM_SynchronizationEventCallback(HRTIM_HandleTypeDef *hhrtim); + +/* Timer events related callback functions */ +void HAL_HRTIM_RegistersUpdateCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_RepetitionEventCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Compare1EventCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Compare2EventCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Compare3EventCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Compare4EventCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Capture1EventCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Capture2EventCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_DelayedProtectionCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_CounterResetCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Output1SetCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Output1ResetCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Output2SetCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_Output2ResetCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_BurstDMATransferCallback(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx); +void HAL_HRTIM_ErrorCallback(HRTIM_HandleTypeDef *hhrtim); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_HRTIM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h new file mode 100644 index 0000000000..d0480222c8 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h @@ -0,0 +1,247 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hsem.h + * @author MCD Application Team + * @brief Header file of HSEM HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_HSEM_H +#define __STM32H7xx_HAL_HSEM_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup HSEM + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup HSEM_Exported_Types HSEM Exported Types + * @{ + */ + + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup HSEM_Exported_Constants HSEM Exported Constants + * @{ + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup HSEM_Exported_Macros HSEM Exported Macros + * @{ + */ + +/** + * @brief SemID to mask helper Macro. + * @param __SEMID__: semaphore ID from 0 to 31 + * @retval Semaphore Mask. + */ +#define __HAL_HSEM_SEMID_TO_MASK(__SEMID__) (1 << (__SEMID__)) + + +/** + * @brief Enables the specified HSEM interrupts. + * @param __SEM_MASK__: semaphores Mask + * @retval None. + */ +#define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) (HSEM->IER |= (__SEM_MASK__)) +/** + * @brief Disables the specified HSEM interrupts. + * @param __SEM_MASK__: semaphores Mask + * @retval None. + */ +#define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) (HSEM->IER &= ~(__SEM_MASK__)) + +/** + * @brief Checks whether interrupt has occurred or not for semaphores specified by a mask. + * @param __SEM_MASK__: semaphores Mask +* @retval semaphores Mask : Semaphores where an interrupt occurred. + */ +#define __HAL_HSEM_GET_IT(__SEM_MASK__) ((__SEM_MASK__) & HSEM->MISR) + +/** + * @brief Get the semaphores release status flags. + * @param __SEM_MASK__: semaphores Mask + * @retval semaphores Mask : Semaphores where Release flags rise. + */ +#define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((__SEM_MASK__) & HSEM->ISR) + +/** + * @brief Clears the HSEM Interrupt flags. + * @param __SEM_MASK__: semaphores Mask + * @retval None. + */ +#define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) (HSEM->ICR |= (__SEM_MASK__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup HSEM_Exported_Functions HSEM Exported Functions + * @{ + */ + + +/** @addtogroup HSEM_Exported_Functions_Group1 Take and Release functions + * @brief HSEM Take and Release functions + * @{ + */ + +/* HSEM semaphore take (lock) using 2-Step method ****************************/ +HAL_StatusTypeDef HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID); +/* HSEM semaphore fast take (lock) using 1-Step method ***********************/ +HAL_StatusTypeDef HAL_HSEM_FastTake(uint32_t SemID); +/* HSEM Check semaphore state Taken or not **********************************/ +uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID); +/* HSEM Release **************************************************************/ +void HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID); +/* HSEM Release All************************************************************/ +void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t MasterID); + +/** + * @} + */ + +/** @addtogroup HSEM_Exported_Functions_Group2 HSEM Set and Get Key functions + * @brief HSEM Set and Get Key functions. + * @{ + */ +/* HSEM Set Clear Key *********************************************************/ +void HAL_HSEM_SetClearKey(uint32_t Key); +/* HSEM Get Clear Key *********************************************************/ +uint32_t HAL_HSEM_GetClearKey(void); +/** + * @} + */ + + +/** @addtogroup HSEM_Exported_Functions_Group3 + * @brief HSEM Notification functions + * @{ + */ +/* HSEM Activate HSEM Notification (When a semaphore is released) ) *****************/ +void HAL_HSEM_ActivateNotification(uint32_t SemMask); +/* HSEM Deactivate HSEM Notification (When a semaphore is released) ****************/ +void HAL_HSEM_DeactivateNotification(uint32_t SemMask); +/* HSEM Free Callback (When a semaphore is released) *******************************/ +void HAL_HSEM_FreeCallback(uint32_t SemMask); +/* HSEM IRQ Handler **********************************************************/ +void HAL_HSEM_IRQHandler(void); + + +/** + * @} + */ + + +/** + * @} + */ + + /* Private types -------------------------------------------------------------*/ +/** @defgroup HSEM_Private_Types HSEM Private Types + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup HSEM_Private_Variables HSEM Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup HSEM_Private_Constants HSEM Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup HSEM_Private_Macros HSEM Private Macros + * @{ + */ + +#define IS_HSEM_SEMID(__SEMID__) ((__SEMID__) <= HSEM_SEMID_MAX ) + +#define IS_HSEM_PROCESSID(__PROCESSID__) ((__PROCESSID__) <= HSEM_PROCESSID_MAX ) + +#define IS_HSEM_KEY(__KEY__) ((__KEY__) <= HSEM_CLEAR_KEY_MAX ) + +#define IS_HSEM_MASTERID(__MASTERID__) (((__MASTERID__) == HSEM_CM7_MASTERID)) +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_HSEM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h new file mode 100644 index 0000000000..76d5d06851 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h @@ -0,0 +1,673 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_i2c.h + * @author MCD Application Team + * @brief Header file of I2C HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_I2C_H +#define __STM32H7xx_HAL_I2C_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup I2C + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup I2C_Exported_Types I2C Exported Types + * @{ + */ + +/** @defgroup I2C_Configuration_Structure_definition I2C Configuration Structure definition + * @brief I2C Configuration Structure definition + * @{ + */ +typedef struct +{ + uint32_t Timing; /*!< Specifies the I2C_TIMINGR_register value. + This parameter calculated by referring to I2C initialization + section in Reference manual */ + + uint32_t OwnAddress1; /*!< Specifies the first device own address. + This parameter can be a 7-bit or 10-bit address. */ + + uint32_t AddressingMode; /*!< Specifies if 7-bit or 10-bit addressing mode is selected. + This parameter can be a value of @ref I2C_ADDRESSING_MODE */ + + uint32_t DualAddressMode; /*!< Specifies if dual addressing mode is selected. + This parameter can be a value of @ref I2C_DUAL_ADDRESSING_MODE */ + + uint32_t OwnAddress2; /*!< Specifies the second device own address if dual addressing mode is selected + This parameter can be a 7-bit address. */ + + uint32_t OwnAddress2Masks; /*!< Specifies the acknowledge mask address second device own address if dual addressing mode is selected + This parameter can be a value of @ref I2C_OWN_ADDRESS2_MASKS */ + + uint32_t GeneralCallMode; /*!< Specifies if general call mode is selected. + This parameter can be a value of @ref I2C_GENERAL_CALL_ADDRESSING_MODE */ + + uint32_t NoStretchMode; /*!< Specifies if nostretch mode is selected. + This parameter can be a value of @ref I2C_NOSTRETCH_MODE */ + +}I2C_InitTypeDef; + +/** + * @} + */ + +/** @defgroup HAL_state_structure_definition HAL state structure definition + * @brief HAL State structure definition + * @{ + */ + +typedef enum +{ + HAL_I2C_STATE_RESET = 0x00U, /*!< Peripheral is not yet Initialized */ + HAL_I2C_STATE_READY = 0x20U, /*!< Peripheral Initialized and ready for use */ + HAL_I2C_STATE_BUSY = 0x24U, /*!< An internal process is ongoing */ + HAL_I2C_STATE_BUSY_TX = 0x21U, /*!< Data Transmission process is ongoing */ + HAL_I2C_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing */ + HAL_I2C_STATE_LISTEN = 0x28U, /*!< Address Listen Mode is ongoing */ + HAL_I2C_STATE_BUSY_TX_LISTEN = 0x29U, /*!< Address Listen Mode and Data Transmission + process is ongoing */ + HAL_I2C_STATE_BUSY_RX_LISTEN = 0x2AU, /*!< Address Listen Mode and Data Reception + process is ongoing */ + HAL_I2C_STATE_ABORT = 0x60U, /*!< Abort user request ongoing */ + HAL_I2C_STATE_TIMEOUT = 0xA0U, /*!< Timeout state */ + HAL_I2C_STATE_ERROR = 0xE0U /*!< Error */ + +}HAL_I2C_StateTypeDef; + +/** + * @} + */ + +/** @defgroup HAL_mode_structure_definition HAL mode structure definition + * @brief HAL Mode structure definition + * @{ + */ +typedef enum +{ + HAL_I2C_MODE_NONE = 0x00U, /*!< No I2C communication on going */ + HAL_I2C_MODE_MASTER = 0x10U, /*!< I2C communication is in Master Mode */ + HAL_I2C_MODE_SLAVE = 0x20U, /*!< I2C communication is in Slave Mode */ + HAL_I2C_MODE_MEM = 0x40U /*!< I2C communication is in Memory Mode */ + +}HAL_I2C_ModeTypeDef; + +/** + * @} + */ + +/** @defgroup I2C_Error_Code_definition I2C Error Code definition + * @brief I2C Error Code definition + * @{ + */ +#define HAL_I2C_ERROR_NONE (0x00000000U) /*!< No error */ +#define HAL_I2C_ERROR_BERR (0x00000001U) /*!< BERR error */ +#define HAL_I2C_ERROR_ARLO (0x00000002U) /*!< ARLO error */ +#define HAL_I2C_ERROR_AF (0x00000004U) /*!< ACKF error */ +#define HAL_I2C_ERROR_OVR (0x00000008U) /*!< OVR error */ +#define HAL_I2C_ERROR_DMA (0x00000010U) /*!< DMA transfer error */ +#define HAL_I2C_ERROR_TIMEOUT (0x00000020U) /*!< Timeout error */ +#define HAL_I2C_ERROR_SIZE (0x00000040U) /*!< Size Management error */ +/** + * @} + */ + +/** @defgroup I2C_handle_Structure_definition I2C handle Structure definition + * @brief I2C handle Structure definition + * @{ + */ +typedef struct __I2C_HandleTypeDef +{ + I2C_TypeDef *Instance; /*!< I2C registers base address */ + + I2C_InitTypeDef Init; /*!< I2C communication parameters */ + + uint8_t *pBuffPtr; /*!< Pointer to I2C transfer buffer */ + + uint16_t XferSize; /*!< I2C transfer size */ + + __IO uint16_t XferCount; /*!< I2C transfer counter */ + + __IO uint32_t XferOptions; /*!< I2C sequantial transfer options, this parameter can + be a value of @ref I2C_XFEROPTIONS */ + + __IO uint32_t PreviousState; /*!< I2C communication Previous state */ + + HAL_StatusTypeDef (*XferISR)(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources); /*!< I2C transfer IRQ handler function pointer */ + + DMA_HandleTypeDef *hdmatx; /*!< I2C Tx DMA handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< I2C Rx DMA handle parameters */ + + HAL_LockTypeDef Lock; /*!< I2C locking object */ + + __IO HAL_I2C_StateTypeDef State; /*!< I2C communication state */ + + __IO HAL_I2C_ModeTypeDef Mode; /*!< I2C communication mode */ + + __IO uint32_t ErrorCode; /*!< I2C Error code */ + + __IO uint32_t AddrEventCount; /*!< I2C Address Event counter */ +}I2C_HandleTypeDef; +/** + * @} + */ + +/** + * @} + */ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup I2C_Exported_Constants I2C Exported Constants + * @{ + */ + +/** @defgroup I2C_XFEROPTIONS I2C Sequential Transfer Options + * @{ + */ +#define I2C_NO_OPTION_FRAME (0xFFFF0000U) +#define I2C_FIRST_FRAME ((uint32_t)I2C_SOFTEND_MODE) +#define I2C_FIRST_AND_NEXT_FRAME ((uint32_t)(I2C_RELOAD_MODE | I2C_SOFTEND_MODE)) +#define I2C_NEXT_FRAME ((uint32_t)(I2C_RELOAD_MODE | I2C_SOFTEND_MODE)) +#define I2C_FIRST_AND_LAST_FRAME ((uint32_t)I2C_AUTOEND_MODE) +#define I2C_LAST_FRAME ((uint32_t)I2C_AUTOEND_MODE) +/** + * @} + */ + +/** @defgroup I2C_ADDRESSING_MODE I2C Addressing Mode + * @{ + */ +#define I2C_ADDRESSINGMODE_7BIT (0x00000001U) +#define I2C_ADDRESSINGMODE_10BIT (0x00000002U) +/** + * @} + */ + +/** @defgroup I2C_DUAL_ADDRESSING_MODE I2C Dual Addressing Mode + * @{ + */ +#define I2C_DUALADDRESS_DISABLE (0x00000000U) +#define I2C_DUALADDRESS_ENABLE I2C_OAR2_OA2EN +/** + * @} + */ + +/** @defgroup I2C_OWN_ADDRESS2_MASKS I2C Own Address2 Masks + * @{ + */ +#define I2C_OA2_NOMASK ((uint8_t)0x00U) +#define I2C_OA2_MASK01 ((uint8_t)0x01U) +#define I2C_OA2_MASK02 ((uint8_t)0x02U) +#define I2C_OA2_MASK03 ((uint8_t)0x03U) +#define I2C_OA2_MASK04 ((uint8_t)0x04U) +#define I2C_OA2_MASK05 ((uint8_t)0x05U) +#define I2C_OA2_MASK06 ((uint8_t)0x06U) +#define I2C_OA2_MASK07 ((uint8_t)0x07U) +/** + * @} + */ + +/** @defgroup I2C_GENERAL_CALL_ADDRESSING_MODE I2C General Call Addressing Mode + * @{ + */ +#define I2C_GENERALCALL_DISABLE (0x00000000U) +#define I2C_GENERALCALL_ENABLE I2C_CR1_GCEN +/** + * @} + */ + +/** @defgroup I2C_NOSTRETCH_MODE I2C No-Stretch Mode + * @{ + */ +#define I2C_NOSTRETCH_DISABLE (0x00000000U) +#define I2C_NOSTRETCH_ENABLE I2C_CR1_NOSTRETCH +/** + * @} + */ + +/** @defgroup I2C_MEMORY_ADDRESS_SIZE I2C Memory Address Size + * @{ + */ +#define I2C_MEMADD_SIZE_8BIT (0x00000001U) +#define I2C_MEMADD_SIZE_16BIT (0x00000002U) +/** + * @} + */ + +/** @defgroup I2C_XferDirection I2C Transfer Direction + * @{ + */ +#define I2C_DIRECTION_TRANSMIT (0x00000000U) +#define I2C_DIRECTION_RECEIVE (0x00000001U) +/** + * @} + */ + +/** @defgroup I2C_RELOAD_END_MODE I2C Reload End Mode + * @{ + */ +#define I2C_RELOAD_MODE I2C_CR2_RELOAD +#define I2C_AUTOEND_MODE I2C_CR2_AUTOEND +#define I2C_SOFTEND_MODE (0x00000000U) +/** + * @} + */ + +/** @defgroup I2C_START_STOP_MODE I2C Start or Stop Mode + * @{ + */ +#define I2C_NO_STARTSTOP (0x00000000U) +#define I2C_GENERATE_STOP (uint32_t)(0x80000000U | I2C_CR2_STOP) +#define I2C_GENERATE_START_READ (uint32_t)(0x80000000U | I2C_CR2_START | I2C_CR2_RD_WRN) +#define I2C_GENERATE_START_WRITE (uint32_t)(0x80000000U | I2C_CR2_START) +/** + * @} + */ + +/** @defgroup I2C_Interrupt_configuration_definition I2C Interrupt configuration definition + * @brief I2C Interrupt definition + * Elements values convention: 0xXXXXXXXX + * - XXXXXXXX : Interrupt control mask + * @{ + */ +#define I2C_IT_ERRI I2C_CR1_ERRIE +#define I2C_IT_TCI I2C_CR1_TCIE +#define I2C_IT_STOPI I2C_CR1_STOPIE +#define I2C_IT_NACKI I2C_CR1_NACKIE +#define I2C_IT_ADDRI I2C_CR1_ADDRIE +#define I2C_IT_RXI I2C_CR1_RXIE +#define I2C_IT_TXI I2C_CR1_TXIE +/** + * @} + */ + +/** @defgroup I2C_Flag_definition I2C Flag definition + * @{ + */ +#define I2C_FLAG_TXE I2C_ISR_TXE +#define I2C_FLAG_TXIS I2C_ISR_TXIS +#define I2C_FLAG_RXNE I2C_ISR_RXNE +#define I2C_FLAG_ADDR I2C_ISR_ADDR +#define I2C_FLAG_AF I2C_ISR_NACKF +#define I2C_FLAG_STOPF I2C_ISR_STOPF +#define I2C_FLAG_TC I2C_ISR_TC +#define I2C_FLAG_TCR I2C_ISR_TCR +#define I2C_FLAG_BERR I2C_ISR_BERR +#define I2C_FLAG_ARLO I2C_ISR_ARLO +#define I2C_FLAG_OVR I2C_ISR_OVR +#define I2C_FLAG_PECERR I2C_ISR_PECERR +#define I2C_FLAG_TIMEOUT I2C_ISR_TIMEOUT +#define I2C_FLAG_ALERT I2C_ISR_ALERT +#define I2C_FLAG_BUSY I2C_ISR_BUSY +#define I2C_FLAG_DIR I2C_ISR_DIR +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ + +/** @defgroup I2C_Exported_Macros I2C Exported Macros + * @{ + */ + +/** @brief Reset I2C handle state. + * @param __HANDLE__ specifies the I2C Handle. + * @retval None + */ +#define __HAL_I2C_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_I2C_STATE_RESET) + +/** @brief Enable the specified I2C interrupt. + * @param __HANDLE__ specifies the I2C Handle. + * @param __INTERRUPT__ specifies the interrupt source to enable. + * This parameter can be one of the following values: + * @arg @ref I2C_IT_ERRI Errors interrupt enable + * @arg @ref I2C_IT_TCI Transfer complete interrupt enable + * @arg @ref I2C_IT_STOPI STOP detection interrupt enable + * @arg @ref I2C_IT_NACKI NACK received interrupt enable + * @arg @ref I2C_IT_ADDRI Address match interrupt enable + * @arg @ref I2C_IT_RXI RX interrupt enable + * @arg @ref I2C_IT_TXI TX interrupt enable + * + * @retval None + */ +#define __HAL_I2C_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR1 |= (__INTERRUPT__)) + +/** @brief Disable the specified I2C interrupt. + * @param __HANDLE__ specifies the I2C Handle. + * @param __INTERRUPT__ specifies the interrupt source to disable. + * This parameter can be one of the following values: + * @arg @ref I2C_IT_ERRI Errors interrupt enable + * @arg @ref I2C_IT_TCI Transfer complete interrupt enable + * @arg @ref I2C_IT_STOPI STOP detection interrupt enable + * @arg @ref I2C_IT_NACKI NACK received interrupt enable + * @arg @ref I2C_IT_ADDRI Address match interrupt enable + * @arg @ref I2C_IT_RXI RX interrupt enable + * @arg @ref I2C_IT_TXI TX interrupt enable + * + * @retval None + */ +#define __HAL_I2C_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR1 &= (~(__INTERRUPT__))) + +/** @brief Check whether the specified I2C interrupt source is enabled or not. + * @param __HANDLE__ specifies the I2C Handle. + * @param __INTERRUPT__ specifies the I2C interrupt source to check. + * This parameter can be one of the following values: + * @arg @ref I2C_IT_ERRI Errors interrupt enable + * @arg @ref I2C_IT_TCI Transfer complete interrupt enable + * @arg @ref I2C_IT_STOPI STOP detection interrupt enable + * @arg @ref I2C_IT_NACKI NACK received interrupt enable + * @arg @ref I2C_IT_ADDRI Address match interrupt enable + * @arg @ref I2C_IT_RXI RX interrupt enable + * @arg @ref I2C_IT_TXI TX interrupt enable + * + * @retval The new state of __INTERRUPT__ (SET or RESET). + */ +#define __HAL_I2C_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CR1 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Check whether the specified I2C flag is set or not. + * @param __HANDLE__ specifies the I2C Handle. + * @param __FLAG__ specifies the flag to check. + * This parameter can be one of the following values: + * @arg @ref I2C_FLAG_TXE Transmit data register empty + * @arg @ref I2C_FLAG_TXIS Transmit interrupt status + * @arg @ref I2C_FLAG_RXNE Receive data register not empty + * @arg @ref I2C_FLAG_ADDR Address matched (slave mode) + * @arg @ref I2C_FLAG_AF Acknowledge failure received flag + * @arg @ref I2C_FLAG_STOPF STOP detection flag + * @arg @ref I2C_FLAG_TC Transfer complete (master mode) + * @arg @ref I2C_FLAG_TCR Transfer complete reload + * @arg @ref I2C_FLAG_BERR Bus error + * @arg @ref I2C_FLAG_ARLO Arbitration lost + * @arg @ref I2C_FLAG_OVR Overrun/Underrun + * @arg @ref I2C_FLAG_PECERR PEC error in reception + * @arg @ref I2C_FLAG_TIMEOUT Timeout or Tlow detection flag + * @arg @ref I2C_FLAG_ALERT SMBus alert + * @arg @ref I2C_FLAG_BUSY Bus busy + * @arg @ref I2C_FLAG_DIR Transfer direction (slave mode) + * + * @retval The new state of __FLAG__ (SET or RESET). + */ +#define __HAL_I2C_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) == (__FLAG__)) ? SET : RESET) + +/** @brief Clear the I2C pending flags which are cleared by writing 1 in a specific bit. + * @param __HANDLE__ specifies the I2C Handle. + * @param __FLAG__ specifies the flag to clear. + * This parameter can be any combination of the following values: + * @arg @ref I2C_FLAG_TXE Transmit data register empty + * @arg @ref I2C_FLAG_ADDR Address matched (slave mode) + * @arg @ref I2C_FLAG_AF Acknowledge failure received flag + * @arg @ref I2C_FLAG_STOPF STOP detection flag + * @arg @ref I2C_FLAG_BERR Bus error + * @arg @ref I2C_FLAG_ARLO Arbitration lost + * @arg @ref I2C_FLAG_OVR Overrun/Underrun + * @arg @ref I2C_FLAG_PECERR PEC error in reception + * @arg @ref I2C_FLAG_TIMEOUT Timeout or Tlow detection flag + * @arg @ref I2C_FLAG_ALERT SMBus alert + * + * @retval None + */ +#define __HAL_I2C_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__FLAG__) == I2C_FLAG_TXE) ? ((__HANDLE__)->Instance->ISR |= (__FLAG__)) \ + : ((__HANDLE__)->Instance->ICR = (__FLAG__))) + +/** @brief Enable the specified I2C peripheral. + * @param __HANDLE__ specifies the I2C Handle. + * @retval None + */ +#define __HAL_I2C_ENABLE(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR1, I2C_CR1_PE)) + +/** @brief Disable the specified I2C peripheral. + * @param __HANDLE__ specifies the I2C Handle. + * @retval None + */ +#define __HAL_I2C_DISABLE(__HANDLE__) (CLEAR_BIT((__HANDLE__)->Instance->CR1, I2C_CR1_PE)) + +/** @brief Generate a Non-Acknowledge I2C peripheral in Slave mode. + * @param __HANDLE__: specifies the I2C Handle. + * @retval None + */ +#define __HAL_I2C_GENERATE_NACK(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR2, I2C_CR2_NACK)) +/** + * @} + */ + +/* Include I2C HAL Extended module */ +#include "stm32h7xx_hal_i2c_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup I2C_Exported_Functions + * @{ + */ + +/** @addtogroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +/* Initialization and de-initialization functions******************************/ +HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c); +HAL_StatusTypeDef HAL_I2C_DeInit (I2C_HandleTypeDef *hi2c); +void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c); +void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c); +/** + * @} + */ + +/** @addtogroup I2C_Exported_Functions_Group2 Input and Output operation functions + * @{ + */ +/* IO operation functions ****************************************************/ + /******* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout); + + /******* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size); + +HAL_StatusTypeDef HAL_I2C_Master_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions); +HAL_StatusTypeDef HAL_I2C_Master_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions); +HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions); +HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions); +HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c); +HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c); +HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress); + + /******* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size); +/** + * @} + */ + +/** @addtogroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks + * @{ + */ +/******* I2C IRQHandler and Callbacks used in non blocking modes (Interrupt and DMA) */ +void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c); +void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c); +void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode); +void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c); +void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c); +/** + * @} + */ + +/** @addtogroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions + * @{ + */ +/* Peripheral State, Mode and Error functions *********************************/ +HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c); +HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c); +uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c); + +/** + * @} + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup I2C_Private_Constants I2C Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup I2C_Private_Macro I2C Private Macros + * @{ + */ + +#define IS_I2C_ADDRESSING_MODE(MODE) (((MODE) == I2C_ADDRESSINGMODE_7BIT) || \ + ((MODE) == I2C_ADDRESSINGMODE_10BIT)) + +#define IS_I2C_DUAL_ADDRESS(ADDRESS) (((ADDRESS) == I2C_DUALADDRESS_DISABLE) || \ + ((ADDRESS) == I2C_DUALADDRESS_ENABLE)) + +#define IS_I2C_OWN_ADDRESS2_MASK(MASK) (((MASK) == I2C_OA2_NOMASK) || \ + ((MASK) == I2C_OA2_MASK01) || \ + ((MASK) == I2C_OA2_MASK02) || \ + ((MASK) == I2C_OA2_MASK03) || \ + ((MASK) == I2C_OA2_MASK04) || \ + ((MASK) == I2C_OA2_MASK05) || \ + ((MASK) == I2C_OA2_MASK06) || \ + ((MASK) == I2C_OA2_MASK07)) + +#define IS_I2C_GENERAL_CALL(CALL) (((CALL) == I2C_GENERALCALL_DISABLE) || \ + ((CALL) == I2C_GENERALCALL_ENABLE)) + +#define IS_I2C_NO_STRETCH(STRETCH) (((STRETCH) == I2C_NOSTRETCH_DISABLE) || \ + ((STRETCH) == I2C_NOSTRETCH_ENABLE)) + +#define IS_I2C_MEMADD_SIZE(SIZE) (((SIZE) == I2C_MEMADD_SIZE_8BIT) || \ + ((SIZE) == I2C_MEMADD_SIZE_16BIT)) + +#define IS_TRANSFER_MODE(MODE) (((MODE) == I2C_RELOAD_MODE) || \ + ((MODE) == I2C_AUTOEND_MODE) || \ + ((MODE) == I2C_SOFTEND_MODE)) + +#define IS_TRANSFER_REQUEST(REQUEST) (((REQUEST) == I2C_GENERATE_STOP) || \ + ((REQUEST) == I2C_GENERATE_START_READ) || \ + ((REQUEST) == I2C_GENERATE_START_WRITE) || \ + ((REQUEST) == I2C_NO_STARTSTOP)) + +#define IS_I2C_TRANSFER_OPTIONS_REQUEST(REQUEST) (((REQUEST) == I2C_FIRST_FRAME) || \ + ((REQUEST) == I2C_FIRST_AND_NEXT_FRAME) || \ + ((REQUEST) == I2C_NEXT_FRAME) || \ + ((REQUEST) == I2C_FIRST_AND_LAST_FRAME) || \ + ((REQUEST) == I2C_LAST_FRAME)) + +#define I2C_RESET_CR2(__HANDLE__) ((__HANDLE__)->Instance->CR2 &= (uint32_t)~((uint32_t)(I2C_CR2_SADD | I2C_CR2_HEAD10R | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_RD_WRN))) + +#define I2C_GET_ADDR_MATCH(__HANDLE__) (((__HANDLE__)->Instance->ISR & I2C_ISR_ADDCODE) >> 16U) +#define I2C_GET_DIR(__HANDLE__) (((__HANDLE__)->Instance->ISR & I2C_ISR_DIR) >> 16U) +#define I2C_GET_STOP_MODE(__HANDLE__) ((__HANDLE__)->Instance->CR2 & I2C_CR2_AUTOEND) +#define I2C_GET_OWN_ADDRESS1(__HANDLE__) ((__HANDLE__)->Instance->OAR1 & I2C_OAR1_OA1) +#define I2C_GET_OWN_ADDRESS2(__HANDLE__) ((__HANDLE__)->Instance->OAR2 & I2C_OAR2_OA2) + +#define IS_I2C_OWN_ADDRESS1(ADDRESS1) ((ADDRESS1) <= 0x000003FFU) +#define IS_I2C_OWN_ADDRESS2(ADDRESS2) ((ADDRESS2) <= (uint16_t)0x00FFU) + +#define I2C_MEM_ADD_MSB(__ADDRESS__) ((uint8_t)((uint16_t)(((uint16_t)((__ADDRESS__) & (uint16_t)(0xFF00U))) >> 8U))) +#define I2C_MEM_ADD_LSB(__ADDRESS__) ((uint8_t)((uint16_t)((__ADDRESS__) & (uint16_t)(0x00FFU)))) + +#define I2C_GENERATE_START(__ADDMODE__,__ADDRESS__) (((__ADDMODE__) == I2C_ADDRESSINGMODE_7BIT) ? (uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR2_SADD)) | (I2C_CR2_START) | (I2C_CR2_AUTOEND)) & (~I2C_CR2_RD_WRN)) : \ + (uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR2_SADD)) | (I2C_CR2_ADD10) | (I2C_CR2_START)) & (~I2C_CR2_RD_WRN))) +/** + * @} + */ + +/* Private Functions ---------------------------------------------------------*/ +/** @defgroup I2C_Private_Functions I2C Private Functions + * @{ + */ +/* Private functions are defined in stm32h7xx_hal_i2c.c file */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_I2C_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h new file mode 100644 index 0000000000..5e5f94296e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h @@ -0,0 +1,196 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_i2c_ex.h + * @author MCD Application Team + * @brief Header file of I2C HAL Extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_I2C_EX_H +#define __STM32H7xx_HAL_I2C_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup I2CEx I2CEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup I2CEx_Exported_Constants I2C Extended Exported Constants + * @{ + */ + +/** @defgroup I2CEx_Analog_Filter I2C Extended Analog Filter + * @{ + */ +#define I2C_ANALOGFILTER_ENABLE ((uint32_t)0x00000000U) +#define I2C_ANALOGFILTER_DISABLE I2C_CR1_ANFOFF +/** + * @} + */ + +/** @defgroup I2CEx_FastModePlus I2C Extended Fast Mode Plus + * @{ + */ +#define I2C_FASTMODEPLUS_PB6 SYSCFG_PMCR_I2C_PB6_FMP +#define I2C_FASTMODEPLUS_PB7 SYSCFG_PMCR_I2C_PB7_FMP +#define I2C_FASTMODEPLUS_PB8 SYSCFG_PMCR_I2C_PB8_FMP +#define I2C_FASTMODEPLUS_PB9 SYSCFG_PMCR_I2C_PB9_FMP + +#define I2C_FASTMODEPLUS_I2C1 SYSCFG_PMCR_I2C1_FMP +#define I2C_FASTMODEPLUS_I2C2 SYSCFG_PMCR_I2C2_FMP +#define I2C_FASTMODEPLUS_I2C3 SYSCFG_PMCR_I2C3_FMP +#define I2C_FASTMODEPLUS_I2C4 SYSCFG_PMCR_I2C4_FMP +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup I2CEx_Exported_Functions I2C Extended Exported Functions + * @{ + */ + +/** @addtogroup I2CEx_Exported_Functions_Group1 Extended features functions + * @brief Extended features functions + * @{ + */ + +/* Peripheral Control functions ************************************************/ +HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter); +HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter); +HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp(I2C_HandleTypeDef *hi2c); +HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp(I2C_HandleTypeDef *hi2c); +void HAL_I2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus); +void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus); + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup I2CEx_Private_Constants I2C Extended Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup I2CEx_Private_Macro I2C Extended Private Macros + * @{ + */ +#define IS_I2C_ANALOG_FILTER(FILTER) (((FILTER) == I2C_ANALOGFILTER_ENABLE) || \ + ((FILTER) == I2C_ANALOGFILTER_DISABLE)) + +#define IS_I2C_DIGITAL_FILTER(FILTER) ((FILTER) <= 0x0000000FU) + +#if defined(SYSCFG_PMCR_I2C1_FMP) && defined(SYSCFG_PMCR_I2C2_FMP) && defined(SYSCFG_PMCR_I2C3_FMP) && defined(SYSCFG_PMCR_I2C4_FMP) +#define IS_I2C_FASTMODEPLUS(__CONFIG__) ((((__CONFIG__) & I2C_FASTMODEPLUS_PB6) == I2C_FASTMODEPLUS_PB6) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB7) == I2C_FASTMODEPLUS_PB7) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB8) == I2C_FASTMODEPLUS_PB8) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB9) == I2C_FASTMODEPLUS_PB9) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C1) == I2C_FASTMODEPLUS_I2C1) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C2) == I2C_FASTMODEPLUS_I2C2) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C3) == I2C_FASTMODEPLUS_I2C3) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C4) == I2C_FASTMODEPLUS_I2C4)) +#elif defined(SYSCFG_PMCR_I2C1_FMP) && defined(SYSCFG_PMCR_I2C2_FMP) && defined(SYSCFG_PMCR_I2C3_FMP) +#define IS_I2C_FASTMODEPLUS(__CONFIG__) ((((__CONFIG__) & I2C_FASTMODEPLUS_PB6) == I2C_FASTMODEPLUS_PB6) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB7) == I2C_FASTMODEPLUS_PB7) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB8) == I2C_FASTMODEPLUS_PB8) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB9) == I2C_FASTMODEPLUS_PB9) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C1) == I2C_FASTMODEPLUS_I2C1) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C2) == I2C_FASTMODEPLUS_I2C2) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C3) == I2C_FASTMODEPLUS_I2C3)) +#elif defined(SYSCFG_PMCR_I2C1_FMP) && defined(SYSCFG_PMCR_I2C2_FMP) +#define IS_I2C_FASTMODEPLUS(__CONFIG__) ((((__CONFIG__) & I2C_FASTMODEPLUS_PB6) == I2C_FASTMODEPLUS_PB6) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB7) == I2C_FASTMODEPLUS_PB7) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB8) == I2C_FASTMODEPLUS_PB8) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB9) == I2C_FASTMODEPLUS_PB9) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C1) == I2C_FASTMODEPLUS_I2C1) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C2) == I2C_FASTMODEPLUS_I2C2)) +#elif defined(SYSCFG_PMCR_I2C1_FMP) +#define IS_I2C_FASTMODEPLUS(__CONFIG__) ((((__CONFIG__) & I2C_FASTMODEPLUS_PB6) == I2C_FASTMODEPLUS_PB6) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB7) == I2C_FASTMODEPLUS_PB7) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB8) == I2C_FASTMODEPLUS_PB8) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_PB9) == I2C_FASTMODEPLUS_PB9) || \ + (((__CONFIG__) & I2C_FASTMODEPLUS_I2C1) == I2C_FASTMODEPLUS_I2C1)) +#endif /* SYSCFG_PMCR_I2C1_FMP && SYSCFG_PMCR_I2C2_FMP && SYSCFG_PMCR_I2C3_FMP && SYSCFG_PMCR_I2C4_FMP */ +/** + * @} + */ + +/* Private Functions ---------------------------------------------------------*/ +/** @defgroup I2CEx_Private_Functions I2C Extended Private Functions + * @{ + */ +/* Private functions are defined in stm32h7xx_hal_i2c_ex.c file */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_I2C_EX_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s.h new file mode 100644 index 0000000000..4bacbe4593 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s.h @@ -0,0 +1,615 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_i2s.h + * @author MCD Application Team + * @brief Header file of I2S HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_I2S_H +#define __STM32H7xx_HAL_I2S_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup I2S + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup I2S_Exported_Types I2S Exported Types + * @{ + */ + +/** + * @brief I2S Init structure definition + */ +typedef struct +{ + uint32_t Mode; /*!< Specifies the I2S operating mode. + This parameter can be a value of @ref I2S_Mode */ + + uint32_t Standard; /*!< Specifies the standard used for the I2S communication. + This parameter can be a value of @ref I2S_Standard */ + + uint32_t DataFormat; /*!< Specifies the data format for the I2S communication. + This parameter can be a value of @ref I2S_Data_Format */ + + uint32_t MCLKOutput; /*!< Specifies whether the I2S MCLK output is enabled or not. + This parameter can be a value of @ref I2S_MCLK_Output */ + + uint32_t AudioFreq; /*!< Specifies the frequency selected for the I2S communication. + This parameter can be a value of @ref I2S_Audio_Frequency */ + + uint32_t CPOL; /*!< Specifies the idle state of the I2S clock. + This parameter can be a value of @ref I2S_Clock_Polarity */ + + uint32_t FirstBit; /*!< Specifies whether data transfers start from MSB or LSB bit. + This parameter can be a value of @ref I2S_MSB_LSB_transmission */ + + uint32_t WSInversion; /*!< Control the Word Select Inversion. + This parameter can be a value of @ref I2S_WSInversion */ + + uint32_t IOSwap; /*!< Invert MISO/MOSI alternate functions + This parameter can be a value of @ref I2S_IO_Swap */ + + uint32_t Data24BitAlignment; /*!< Specifies the Data Padding for 24 bits data lenght + This parameter can be a value of @ref I2S_Data_24Bit_Alignment */ + + uint32_t FifoThreshold; /*!< Specifies the FIFO threshold level. + This parameter can be a value of @ref I2S_Fifo_Threshold */ + + uint32_t MasterKeepIOState; /*!< Control of Alternate function GPIOs state + This parameter can be a value of @ref I2S_Master_Keep_IO_State */ + + uint32_t SlaveExtendFREDetection; /*!< Control the channel length in SLAVE. + This parameter can be a value of @ref I2S_SlaveExtendFREDetection */ + + +}I2S_InitTypeDef; + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_I2S_STATE_RESET = 0x00U, /*!< I2S not yet initialized or disabled */ + HAL_I2S_STATE_READY = 0x01U, /*!< I2S initialized and ready for use */ + HAL_I2S_STATE_BUSY = 0x02U, /*!< I2S internal process is ongoing */ + HAL_I2S_STATE_BUSY_TX = 0x03U, /*!< Data Transmission process is ongoing */ + HAL_I2S_STATE_BUSY_RX = 0x04U, /*!< Data Reception process is ongoing */ + HAL_I2S_STATE_BUSY_TX_RX = 0x05U, /*!< Data Transmission and Reception process is ongoing */ + HAL_I2S_STATE_TIMEOUT = 0x06U, /*!< I2S timeout state */ + HAL_I2S_STATE_ERROR = 0x07U /*!< I2S error state */ +}HAL_I2S_StateTypeDef; + +/** + * @brief I2S handle Structure definition + */ +typedef struct __I2S_HandleTypeDef +{ + SPI_TypeDef *Instance; /*!< I2S registers base address */ + + I2S_InitTypeDef Init; /*!< I2S communication parameters */ + + uint16_t *pTxBuffPtr; /*!< Pointer to I2S Tx transfer buffer */ + + __IO uint16_t TxXferSize; /*!< I2S Tx transfer size */ + + __IO uint16_t TxXferCount; /*!< I2S Tx transfer Counter */ + + uint16_t *pRxBuffPtr; /*!< Pointer to I2S Rx transfer buffer */ + + __IO uint16_t RxXferSize; /*!< I2S Rx transfer size */ + + __IO uint16_t RxXferCount; /*!< I2S Rx transfer counter */ + + void (*RxISR)(struct __I2S_HandleTypeDef *hi2s); /*!< function pointer on Rx ISR */ + + void (*TxISR)(struct __I2S_HandleTypeDef *hi2s); /*!< function pointer on Tx ISR */ + + DMA_HandleTypeDef *hdmatx; /*!< I2S Tx DMA handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< I2S Rx DMA handle parameters */ + + __IO HAL_LockTypeDef Lock; /*!< I2S locking object */ + + __IO HAL_I2S_StateTypeDef State; /*!< I2S communication state */ + + __IO uint32_t ErrorCode; /*!< I2S Error code */ + +}I2S_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup I2S_Exported_Constants I2S Exported Constants + * @{ + */ + +/** + * @defgroup I2S_Error_Defintion I2S Error Defintion + * @brief I2S Error Code + * @{ + */ +#define HAL_I2S_ERROR_NONE (0x00000000U) /*!< No error */ +#define HAL_I2S_ERROR_UDR (0x00000001U) /*!< I2S Underrun error */ +#define HAL_I2S_ERROR_OVR (0x00000002U) /*!< I2S Overrun error */ +#define HAL_I2S_ERROR_FRE (0x00000004U) /*!< I2S Frame format error */ +#define HAL_I2S_ERROR_DMA (0x00000008U) /*!< DMA transfer error */ +#define HAL_I2S_ERROR_DMA (0x00000008U) /*!< DMA transfer error */ +#define HAL_I2S_ERROR_TIMEOUT (0x00000010U) /*!< Timeout error */ +#define HAL_I2S_ERROR_PRESCALER (0x00000020U) /*!< Prescaler error */ + /** + * @} + */ + +/** @defgroup I2S_Mode I2S Mode + * @{ + */ +#define I2S_MODE_SLAVE_TX (0x00000000U) +#define I2S_MODE_SLAVE_RX (0x00000002U) +#define I2S_MODE_MASTER_TX (0x00000004U) +#define I2S_MODE_MASTER_RX (0x00000006U) +#define I2S_MODE_SLAVE_FD (0x00000008U) +#define I2S_MODE_MASTER_FD (0x0000000AU) +/** + * @} + */ + +/** @defgroup I2S_Standard I2S Standard + * @{ + */ +#define I2S_STANDARD_PHILIPS (0x00000000U) +#define I2S_STANDARD_MSB (0x00000010U) +#define I2S_STANDARD_LSB (0x00000020U) +#define I2S_STANDARD_PCM_SHORT (0x00000030U) +#define I2S_STANDARD_PCM_LONG (0x000000B0U) +/** + * @} + */ + +/** @defgroup I2S_Data_Format I2S Data Format + * @{ + */ +#define I2S_DATAFORMAT_16B (0x00000000U) +#define I2S_DATAFORMAT_16B_EXTENDED (0x00000400U) +#define I2S_DATAFORMAT_24B (0x00000500U) +#define I2S_DATAFORMAT_32B (0x00000600U) +/** + * @} + */ + +/** @defgroup I2S_MCLK_Output I2S MCLK Output + * @{ + */ +#define I2S_MCLKOUTPUT_ENABLE SPI_I2SCFGR_MCKOE +#define I2S_MCLKOUTPUT_DISABLE (0x00000000U) +/** + * @} + */ + +/** @defgroup I2S_Audio_Frequency I2S Audio Frequency + * @{ + */ +#define I2S_AUDIOFREQ_192K (192000U) +#define I2S_AUDIOFREQ_96K (96000U) +#define I2S_AUDIOFREQ_48K (48000U) +#define I2S_AUDIOFREQ_44K (44100U) +#define I2S_AUDIOFREQ_32K (32000U) +#define I2S_AUDIOFREQ_22K (22050U) +#define I2S_AUDIOFREQ_16K (16000U) +#define I2S_AUDIOFREQ_11K (11025U) +#define I2S_AUDIOFREQ_8K (8000U) +#define I2S_AUDIOFREQ_DEFAULT (2U) +/** + * @} + */ + +/** @defgroup I2S_Clock_Polarity I2S Clock Polarity + * @{ + */ +#define I2S_CPOL_LOW (0x00000000U) +#define I2S_CPOL_HIGH SPI_I2SCFGR_CKPOL +/** + * @} + */ + +/** @defgroup I2S_MSB_LSB_transmission I2S MSB LSB Transmission + * @{ + */ +#define I2S_FIRSTBIT_MSB (0x00000000U) +#define I2S_FIRSTBIT_LSB SPI_CFG2_LSBFRST +/** + * @} + */ + +/** @defgroup I2S_WSInversion I2S Word Select Inversion + * @{ + */ +#define I2S_WS_INVERSION_DISABLE (0x00000000U) +#define I2S_WS_INVERSION_ENABLE SPI_I2SCFGR_WSINV +/** + * @} + */ + +/** @defgroup I2S_IO_Swap Control I2S IO Swap + * @{ + */ +#define I2S_IO_SWAP_DISABLE (0x00000000U) +#define I2S_IO_SWAP_ENABLE SPI_CFG2_IOSWP +/** + * @} + */ + +/** @defgroup I2S_Data_24Bit_Alignment Data Padding 24Bit + * @{ + */ +#define I2S_DATA_24BIT_ALIGNMENT_RIGHT (0x00000000U) +#define I2S_DATA_24BIT_ALIGNMENT_LEFT SPI_I2SCFGR_DATFMT +/** + * @} + */ + +/** @defgroup I2S_Fifo_Threshold I2S Fifo Threshold + * @{ + */ +#define I2S_FIFO_THRESHOLD_01DATA (0x00000000U) +#define I2S_FIFO_THRESHOLD_02DATA (0x00000020U) +#define I2S_FIFO_THRESHOLD_03DATA (0x00000040U) +#define I2S_FIFO_THRESHOLD_04DATA (0x00000060U) +#define I2S_FIFO_THRESHOLD_05DATA (0x00000080U) +#define I2S_FIFO_THRESHOLD_06DATA (0x000000A0U) +#define I2S_FIFO_THRESHOLD_07DATA (0x000000C0U) +#define I2S_FIFO_THRESHOLD_08DATA (0x000000E0U) +/** + * @} + */ + +/** @defgroup I2S_Master_Keep_IO_State Keep IO State + * @{ + */ +#define I2S_MASTER_KEEP_IO_STATE_DISABLE (0x00000000U) +#define I2S_MASTER_KEEP_IO_STATE_ENABLE SPI_CFG2_AFCNTR +/** + * @} + */ + +/** @defgroup I2S_SlaveExtendFREDetection Slave Extend FRE Detection + * @{ + */ +#define I2S_SLAVE_EXTEND_FRE_DETECTION_DISABLE (0x00000000U) +#define I2S_SLAVE_EXTEND_FRE_DETECTION_ENABLE SPI_I2SCFGR_FIXCH +/** + * @} + */ + +/** @defgroup I2S_Interrupt_definition I2S Interrupt definition + * @{ + */ +#define I2S_IT_TXE SPI_IER_TXPIE +#define I2S_IT_RXNE SPI_IER_RXPIE +#define I2S_IT_ERR (SPI_IER_OVRIE | SPI_IER_UDRIE | SPI_IER_TIFREIE) + +/** + * @} + */ + +/** @defgroup I2S_Flag_definition I2S Flag definition + * @{ + */ +#define I2S_FLAG_TXE SPI_SR_TXP /* I2S status flag: Tx buffer empty flag */ +#define I2S_FLAG_RXNE SPI_SR_RXP /* I2S status flag: Rx buffer not empty flag */ +#define I2S_FLAG_UDR SPI_SR_UDR /* I2S Error flag: Underrun flag */ +#define I2S_FLAG_RXWNE SPI_SR_RXWNE /* I2S RxFIFO Word Not Empty */ +#define I2S_FLAG_OVR SPI_SR_OVR /* I2S Error flag: Overrun flag */ +#define I2S_FLAG_FRE SPI_SR_TIFRE /* I2S Error flag: TI mode frame format error flag */ +/** + * @} + */ + +/** + * @} + */ +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup I2S_Exported_Macros I2S Exported Macros + * @{ + */ + +/** @brief Reset I2S handle state + * @param __HANDLE__: specifies the I2S Handle. + * @retval None + */ +#define __HAL_I2S_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_I2S_STATE_RESET) + +/** @brief Enable the specified SPI peripheral (in I2S mode). + * @param __HANDLE__: specifies the I2S Handle. + * @retval None + */ +#define __HAL_I2S_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_SPE) + +/** @brief Disable the specified SPI peripheral (in I2S mode). + * @param __HANDLE__: specifies the I2S Handle. + * @retval None + */ +#define __HAL_I2S_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_SPE) + +/** @brief Enable the specified I2S interrupts. + * @param __HANDLE__: specifies the I2S Handle. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg I2S_IT_TXE: Tx buffer empty interrupt enable + * @arg I2S_IT_RXNE: RX buffer not empty interrupt enable + * @arg I2S_IT_ERR: Error interrupt enable + * @retval None + */ +#define __HAL_I2S_ENABLE_IT(__HANDLE__, __INTERRUPT__) (SET_BIT((__HANDLE__)->Instance->IER,(__INTERRUPT__))) + +/** @brief Disable the specified I2S interrupts. + * @param __HANDLE__: specifies the I2S Handle. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg I2S_IT_TXE: Tx buffer empty interrupt enable + * @arg I2S_IT_RXNE: RX buffer not empty interrupt enable + * @arg I2S_IT_ERR: Error interrupt enable + * @retval None + */ +#define __HAL_I2S_DISABLE_IT(__HANDLE__, __INTERRUPT__) (CLEAR_BIT((__HANDLE__)->Instance->IER,(__INTERRUPT__))) + +/** @brief Checks if the specified I2S interrupt source is enabled or disabled. + * @param __HANDLE__: specifies the I2S Handle. + * This parameter can be I2S where x: 1, 2, or 3 to select the I2S peripheral. + * @param __INTERRUPT__: specifies the I2S interrupt source to check. + * This parameter can be one of the following values: + * @arg I2S_IT_TXE: Tx buffer empty interrupt enable + * @arg I2S_IT_RXNE: RX buffer not empty interrupt enable + * @arg I2S_IT_ERR: Error interrupt enable + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_I2S_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Checks whether the specified I2S flag is set or not. + * @param __HANDLE__: specifies the I2S Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg I2S_FLAG_TXE : Tx buffer empty flag + * @arg I2S_FLAG_RXNE : Rx buffer not empty flag + * @arg I2S_FLAG_UDR : Underrun flag + * @arg I2S_FLAG_OVR : Overrun flag + * @arg I2S_FLAG_FRE : TI mode frame format error flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_I2S_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) + +/** @brief Clears the I2S UDR pending flag. + * @param __HANDLE__: specifies the I2S Handle. + * @retval None + */ +#define __HAL_I2S_CLEAR_UDRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_UDRC) + +/** @brief Clears the I2S OVR pending flag. + * @param __HANDLE__: specifies the I2S Handle. + * @retval None + */ +#define __HAL_I2S_CLEAR_OVRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_OVRC) + +/** @brief Clear the I2S FRE pending flag. + * @param __HANDLE__: specifies the I2S Handle. + * @retval None + */ +#define __HAL_I2S_CLEAR_FREFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_TIFREC) + +/* Include I2S HAL Extended module */ +#include "stm32h7xx_hal_i2s_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup I2S_Exported_Functions I2S Exported Functions + * @{ + */ + +/** @defgroup I2S_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_I2S_Init(I2S_HandleTypeDef *hi2s); +HAL_StatusTypeDef HAL_I2S_DeInit (I2S_HandleTypeDef *hi2s); +void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s); +void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s); +/** + * @} + */ + +/** @defgroup I2S_Exported_Functions_Group2 IO operation functions + * @{ + */ +/* I/O operation functions ***************************************************/ + /* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_I2S_Receive(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout); + + /* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size); + +void HAL_I2S_IRQHandler(I2S_HandleTypeDef *hi2s); + +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size); + +HAL_StatusTypeDef HAL_I2S_DMAPause(I2S_HandleTypeDef *hi2s); +HAL_StatusTypeDef HAL_I2S_DMAResume(I2S_HandleTypeDef *hi2s); +HAL_StatusTypeDef HAL_I2S_DMAStop(I2S_HandleTypeDef *hi2s); + +/* Callbacks used in non blocking modes (Interrupt and DMA) *******************/ +void HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s); +void HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s); +void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s); +void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s); +void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s); +/** + * @} + */ + +/** @addtogroup I2S_Exported_Functions_Group3 Peripheral State and Errors functions + * @{ + */ +/* Peripheral Control and State functions ************************************/ +HAL_I2S_StateTypeDef HAL_I2S_GetState(I2S_HandleTypeDef *hi2s); +uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s); +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup I2S_Private I2S Private + * @{ + */ +#define IS_I2S_MODE(MODE) (((MODE) == I2S_MODE_SLAVE_TX) || \ + ((MODE) == I2S_MODE_SLAVE_RX) || \ + ((MODE) == I2S_MODE_MASTER_TX) || \ + ((MODE) == I2S_MODE_MASTER_RX) || \ + ((MODE) == I2S_MODE_SLAVE_FD) || \ + ((MODE) == I2S_MODE_MASTER_FD)) + +#define IS_I2S_FD_MODE(MODE) (((MODE) == I2S_MODE_SLAVE_FD) || \ + ((MODE) == I2S_MODE_MASTER_FD)) + +#define IS_I2S_MASTER(MODE) (((MODE) == I2S_MODE_MASTER_TX) || \ + ((MODE) == I2S_MODE_MASTER_RX) || \ + ((MODE) == I2S_MODE_MASTER_FD)) + +#define IS_I2S_TX_MODE(MODE) (((MODE) == I2S_MODE_SLAVE_TX) || \ + ((MODE) == I2S_MODE_MASTER_TX) || \ + ((MODE) == I2S_MODE_SLAVE_FD) || \ + ((MODE) == I2S_MODE_MASTER_FD)) + +#define IS_I2S_RX_MODE(MODE) (((MODE) == I2S_MODE_SLAVE_RX) || \ + ((MODE) == I2S_MODE_MASTER_RX) || \ + ((MODE) == I2S_MODE_SLAVE_FD) || \ + ((MODE) == I2S_MODE_MASTER_FD)) + +#define IS_I2S_STANDARD(STANDARD) (((STANDARD) == I2S_STANDARD_PHILIPS) || \ + ((STANDARD) == I2S_STANDARD_MSB) || \ + ((STANDARD) == I2S_STANDARD_LSB) || \ + ((STANDARD) == I2S_STANDARD_PCM_SHORT) || \ + ((STANDARD) == I2S_STANDARD_PCM_LONG)) + +#define IS_I2S_DATA_FORMAT(FORMAT) (((FORMAT) == I2S_DATAFORMAT_16B) || \ + ((FORMAT) == I2S_DATAFORMAT_16B_EXTENDED) || \ + ((FORMAT) == I2S_DATAFORMAT_24B) || \ + ((FORMAT) == I2S_DATAFORMAT_32B)) + +#define IS_I2S_MCLK_OUTPUT(OUTPUT) (((OUTPUT) == I2S_MCLKOUTPUT_ENABLE) || \ + ((OUTPUT) == I2S_MCLKOUTPUT_DISABLE)) + +#define IS_I2S_AUDIO_FREQ(FREQ) ((((FREQ) >= I2S_AUDIOFREQ_8K) && \ + ((FREQ) <= I2S_AUDIOFREQ_192K)) || \ + ((FREQ) == I2S_AUDIOFREQ_DEFAULT)) + +#define IS_I2S_CPOL(CPOL) (((CPOL) == I2S_CPOL_LOW) || \ + ((CPOL) == I2S_CPOL_HIGH)) + +#define IS_I2S_FIRST_BIT(FIRSTBIT) (((FIRSTBIT) == I2S_FIRSTBIT_MSB) || \ + ((FIRSTBIT) == I2S_FIRSTBIT_LSB)) + +#define IS_I2S_WS_INVERSION(WSINV) (((WSINV) == I2S_WS_INVERSION_DISABLE) || \ + ((WSINV) == I2S_WS_INVERSION_ENABLE)) + +#define IS_I2S_IO_SWAP(IOSWAP) (((IOSWAP) == I2S_IO_SWAP_DISABLE) || \ + ((IOSWAP) == I2S_IO_SWAP_ENABLE)) + +#define IS_I2S_DATA_24BIT_ALIGNMENT(ALIGNMENT) (((ALIGNMENT) == I2S_DATA_24BIT_ALIGNMENT_RIGHT) || \ + ((ALIGNMENT) == I2S_DATA_24BIT_ALIGNMENT_LEFT)) + +#define IS_I2S_FIFO_THRESHOLD(FTHLV) (((FTHLV) == I2S_FIFO_THRESHOLD_01DATA) || \ + ((FTHLV) == I2S_FIFO_THRESHOLD_02DATA) || \ + ((FTHLV) == I2S_FIFO_THRESHOLD_03DATA) || \ + ((FTHLV) == I2S_FIFO_THRESHOLD_04DATA) || \ + ((FTHLV) == I2S_FIFO_THRESHOLD_05DATA) || \ + ((FTHLV) == I2S_FIFO_THRESHOLD_06DATA) || \ + ((FTHLV) == I2S_FIFO_THRESHOLD_07DATA) || \ + ((FTHLV) == I2S_FIFO_THRESHOLD_08DATA)) + +#define IS_I2S_MASTER_KEEP_IO_STATE(AFCNTR) (((AFCNTR) == I2S_MASTER_KEEP_IO_STATE_DISABLE) || \ + ((AFCNTR) == I2S_MASTER_KEEP_IO_STATE_ENABLE)) + +#define IS_I2S_SLAVE_EXTEND_FRE_DETECTION(FIXCH) (((FIXCH) == I2S_SLAVE_EXTEND_FRE_DETECTION_DISABLE) || \ + ((FIXCH) == I2S_SLAVE_EXTEND_FRE_DETECTION_ENABLE)) + +/** + * @} + */ + +/* Define the private group ***************************************************/ +/******************************************************************************/ +/** @defgroup I2S_Private I2S Private + * @{ + */ +/** + * @} + */ +/******************************************************************************/ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + + + +#endif /* __STM32H7xx_HAL_I2S_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s_ex.h new file mode 100644 index 0000000000..db8c0bde5c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2s_ex.h @@ -0,0 +1,105 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_i2s_ex.h + * @author MCD Application Team + * @brief Header file of I2S HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_I2S_EX_H +#define __STM32H7xx_HAL_I2S_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +/** @addtogroup I2SEx I2SEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macros -----------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup I2SEx_Exported_Functions I2S Extended Exported Functions + * @{ + */ + +/** @addtogroup I2SEx_Exported_Functions_Group1 I2S Extended IO operation functions + * @{ + */ + +/* Extended features functions *************************************************/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_I2SEx_TransmitReceive(I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size, uint32_t Timeout); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size); +/* I2S Callbacks used in non blocking modes (Interrupt and DMA) */ +void HAL_I2SEx_TxRxHalfCpltCallback(I2S_HandleTypeDef *hi2s); +void HAL_I2SEx_TxRxCpltCallback(I2S_HandleTypeDef *hi2s); +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_I2S_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda.h new file mode 100644 index 0000000000..462f68cf52 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda.h @@ -0,0 +1,848 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_irda.h + * @author MCD Application Team + * @brief Header file of IRDA HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_IRDA_H +#define __STM32H7xx_HAL_IRDA_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup IRDA + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup IRDA_Exported_Types IRDA Exported Types + * @{ + */ + +/** + * @brief IRDA Init Structure definition + */ +typedef struct +{ + uint32_t BaudRate; /*!< This member configures the IRDA communication baud rate. + The baud rate register is computed using the following formula: + Baud Rate Register = ((PCLKx) / ((hirda->Init.BaudRate))) */ + + uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame. + This parameter can be a value of @ref IRDA_Word_Length */ + + uint32_t Parity; /*!< Specifies the parity mode. + This parameter can be a value of @ref IRDA_Parity + @note When parity is enabled, the computed parity is inserted + at the MSB position of the transmitted data (9th bit when + the word length is set to 9 data bits; 8th bit when the + word length is set to 8 data bits). */ + + uint32_t Mode; /*!< Specifies whether the Receive or Transmit mode is enabled or disabled. + This parameter can be a value of @ref IRDA_Transfer_Mode */ + + uint8_t Prescaler; /*!< Specifies the Prescaler value for dividing the UART/USART source clock + to achieve low-power frequency. + @note Prescaler value 0 is forbidden */ + + uint16_t PowerMode; /*!< Specifies the IRDA power mode. + This parameter can be a value of @ref IRDA_Low_Power */ +}IRDA_InitTypeDef; + +/** + * @brief HAL IRDA State structures definition + * @note HAL IRDA State value is a combination of 2 different substates: gState and RxState. + * - gState contains IRDA state information related to global Handle management + * and also information related to Tx operations. + * gState value coding follow below described bitmap : + * b7-b6 Error information + * 00 : No Error + * 01 : (Not Used) + * 10 : Timeout + * 11 : Error + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP not initialized. HAL IRDA Init function already called) + * b4-b3 (not used) + * xx : Should be set to 00 + * b2 Intrinsic process state + * 0 : Ready + * 1 : Busy (IP busy with some configuration or internal operations) + * b1 (not used) + * x : Should be set to 0 + * b0 Tx state + * 0 : Ready (no Tx operation ongoing) + * 1 : Busy (Tx operation ongoing) + * - RxState contains information related to Rx operations. + * RxState value coding follow below described bitmap : + * b7-b6 (not used) + * xx : Should be set to 00 + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP not initialized) + * b4-b2 (not used) + * xxx : Should be set to 000 + * b1 Rx state + * 0 : Ready (no Rx operation ongoing) + * 1 : Busy (Rx operation ongoing) + * b0 (not used) + * x : Should be set to 0. + */ +typedef enum +{ + HAL_IRDA_STATE_RESET = 0x00U, /*!< Peripheral is not initialized + Value is allowed for gState and RxState */ + HAL_IRDA_STATE_READY = 0x20U, /*!< Peripheral Initialized and ready for use + Value is allowed for gState and RxState */ + HAL_IRDA_STATE_BUSY = 0x24U, /*!< an internal process is ongoing + Value is allowed for gState only */ + HAL_IRDA_STATE_BUSY_TX = 0x21U, /*!< Data Transmission process is ongoing + Value is allowed for gState only */ + HAL_IRDA_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing + Value is allowed for RxState only */ + HAL_IRDA_STATE_BUSY_TX_RX = 0x23U, /*!< Data Transmission and Reception process is ongoing + Not to be used for neither gState nor RxState. + Value is result of combination (Or) between gState and RxState values */ + HAL_IRDA_STATE_TIMEOUT = 0xA0U, /*!< Timeout state + Value is allowed for gState only */ + HAL_IRDA_STATE_ERROR = 0xE0U /*!< Error + Value is allowed for gState only */ +}HAL_IRDA_StateTypeDef; + +/** + * @brief HAL IRDA Error Code structure definition + */ +typedef enum +{ + HAL_IRDA_ERROR_NONE = 0x00, /*!< No error */ + HAL_IRDA_ERROR_PE = 0x01, /*!< Parity error */ + HAL_IRDA_ERROR_NE = 0x02, /*!< Noise error */ + HAL_IRDA_ERROR_FE = 0x04, /*!< frame error */ + HAL_IRDA_ERROR_ORE = 0x08, /*!< Overrun error */ + HAL_IRDA_ERROR_DMA = 0x10, /*!< DMA transfer error */ + HAL_IRDA_ERROR_BUSY = 0x20 /*!< Busy Error */ +}HAL_IRDA_ErrorTypeDef; + +/** + * @brief IRDA clock sources definition + */ +typedef enum +{ + IRDA_CLOCKSOURCE_D2PCLK1 = 0x00, /*!< Domain2 PCLK1 clock source */ + IRDA_CLOCKSOURCE_D2PCLK2 = 0x01, /*!< Domain2 PCLK2 clock source */ + IRDA_CLOCKSOURCE_D3PCLK1 = 0x02, /*!< Domain3 PCLK1 clock source */ + IRDA_CLOCKSOURCE_PLL2Q = 0x04, /*!< PLL2Q clock source */ + IRDA_CLOCKSOURCE_HSI = 0x08, /*!< HSI clock source */ + IRDA_CLOCKSOURCE_CSI = 0x10, /*!< CSI clock source */ + IRDA_CLOCKSOURCE_LSE = 0x20, /*!< LSE clock source */ + IRDA_CLOCKSOURCE_PLL3Q = 0x40, /*!< PCLK2 clock source */ + IRDA_CLOCKSOURCE_UNDEFINED = 0x80 /*!< Undefined clock source */ +}IRDA_ClockSourceTypeDef; + +/** + * @brief IRDA handle Structure definition + */ +typedef struct +{ + USART_TypeDef *Instance; /*!< IRDA registers base address */ + + IRDA_InitTypeDef Init; /*!< IRDA communication parameters */ + + uint8_t *pTxBuffPtr; /*!< Pointer to IRDA Tx transfer Buffer */ + + uint16_t TxXferSize; /*!< IRDA Tx Transfer size */ + + __IO uint16_t TxXferCount; /*!< IRDA Tx Transfer Counter */ + + uint8_t *pRxBuffPtr; /*!< Pointer to IRDA Rx transfer Buffer */ + + uint16_t RxXferSize; /*!< IRDA Rx Transfer size */ + + __IO uint16_t RxXferCount; /*!< IRDA Rx Transfer Counter */ + + uint16_t Mask; /*!< IRDA RX RDR register mask */ + + DMA_HandleTypeDef *hdmatx; /*!< IRDA Tx DMA Handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< IRDA Rx DMA Handle parameters */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + __IO HAL_IRDA_StateTypeDef gState; /*!< IRDA state information related to global Handle management + and also related to Tx operations. + This parameter can be a value of @ref HAL_IRDA_StateTypeDef */ + + __IO HAL_IRDA_StateTypeDef RxState; /*!< IRDA state information related to Rx operations. + This parameter can be a value of @ref HAL_IRDA_StateTypeDef */ + + uint32_t ErrorCode; /*!< IRDA Error code */ + +}IRDA_HandleTypeDef; + +/** + * @brief IRDA Configuration enumeration values definition + */ +typedef enum +{ + IRDA_BAUDRATE = 0x00, /*!< IRDA Baud rate */ + IRDA_PARITY = 0x01, /*!< IRDA frame parity */ + IRDA_WORDLENGTH = 0x02, /*!< IRDA frame length */ + IRDA_MODE = 0x03, /*!< IRDA communication mode */ + IRDA_PRESCALER = 0x04, /*!< IRDA prescaling */ + IRDA_POWERMODE = 0x05 /*!< IRDA power mode */ +}IRDA_ControlTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup IRDA_Exported_Constants IRDA Exported Constants + * @{ + */ + +/** @defgroup IRDA_Word_Length IRDA Word Length + * @{ + */ +#define IRDA_WORDLENGTH_7B ((uint32_t)USART_CR1_M1) /*!< 7-bit long frame */ +#define IRDA_WORDLENGTH_8B ((uint32_t)0x00000000) /*!< 8-bit long frame */ +#define IRDA_WORDLENGTH_9B ((uint32_t)USART_CR1_M0) /*!< 9-bit long frame */ +/** + * @} + */ + +/** @defgroup IRDA_Parity IRDA Parity + * @{ + */ +#define IRDA_PARITY_NONE ((uint32_t)0x00000000) /*!< No parity */ +#define IRDA_PARITY_EVEN ((uint32_t)USART_CR1_PCE) /*!< Even parity */ +#define IRDA_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS)) /*!< Odd parity */ +/** + * @} + */ + +/** @defgroup IRDA_Transfer_Mode IRDA Transfer Mode + * @{ + */ +#define IRDA_MODE_RX ((uint32_t)USART_CR1_RE) /*!< RX mode */ +#define IRDA_MODE_TX ((uint32_t)USART_CR1_TE) /*!< TX mode */ +#define IRDA_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE)) /*!< RX and TX mode */ +/** + * @} + */ + +/** @defgroup IRDA_Low_Power IRDA Low Power + * @{ + */ +#define IRDA_POWERMODE_NORMAL ((uint32_t)0x00000000) /*!< IRDA normal power mode */ +#define IRDA_POWERMODE_LOWPOWER ((uint32_t)USART_CR3_IRLP) /*!< IRDA low power mode */ +/** + * @} + */ + +/** @defgroup IRDA_State IRDA State + * @{ + */ +#define IRDA_STATE_DISABLE ((uint32_t)0x00000000) /*!< IRDA disabled */ +#define IRDA_STATE_ENABLE ((uint32_t)USART_CR1_UE) /*!< IRDA enabled */ +/** + * @} + */ + +/** @defgroup IRDA_Mode IRDA Mode + * @{ + */ +#define IRDA_MODE_DISABLE ((uint32_t)0x00000000) /*!< Associated UART disabled in IRDA mode */ +#define IRDA_MODE_ENABLE ((uint32_t)USART_CR3_IREN) /*!< Associated UART enabled in IRDA mode */ +/** + * @} + */ + +/** @defgroup IRDA_One_Bit IRDA One Bit Sampling + * @{ + */ +#define IRDA_ONE_BIT_SAMPLE_DISABLE ((uint32_t)0x00000000) /*!< One-bit sampling disabled */ +#define IRDA_ONE_BIT_SAMPLE_ENABLE ((uint32_t)USART_CR3_ONEBIT) /*!< One-bit sampling enabled */ +/** + * @} + */ + +/** @defgroup IRDA_DMA_Tx IRDA DMA Tx + * @{ + */ +#define IRDA_DMA_TX_DISABLE ((uint32_t)0x00000000) /*!< IRDA DMA TX disabled */ +#define IRDA_DMA_TX_ENABLE ((uint32_t)USART_CR3_DMAT) /*!< IRDA DMA TX enabled */ +/** + * @} + */ + +/** @defgroup IRDA_DMA_Rx IRDA DMA Rx + * @{ + */ +#define IRDA_DMA_RX_DISABLE ((uint32_t)0x00000000) /*!< IRDA DMA RX disabled */ +#define IRDA_DMA_RX_ENABLE ((uint32_t)USART_CR3_DMAR) /*!< IRDA DMA RX enabled */ +/** + * @} + */ + +/** @defgroup IRDA_Request_Parameters IRDA Request Parameters + * @{ + */ +#define IRDA_AUTOBAUD_REQUEST ((uint16_t)USART_RQR_ABRRQ) /*!< Auto-Baud Rate Request */ +#define IRDA_RXDATA_FLUSH_REQUEST ((uint16_t)USART_RQR_RXFRQ) /*!< Receive Data flush Request */ +#define IRDA_TXDATA_FLUSH_REQUEST ((uint16_t)USART_RQR_TXFRQ) /*!< Transmit data flush Request */ +/** + * @} + */ + +/** @defgroup IRDA_Flags IRDA Flags + * Elements values convention: 0xXXXX + * - 0xXXXX : Flag mask in the ISR register + * @{ + */ +#define IRDA_FLAG_REACK ((uint32_t)0x00400000) /*!< IRDA Receive enable acknowledge flag */ +#define IRDA_FLAG_TEACK ((uint32_t)0x00200000) /*!< IRDA Transmit enable acknowledge flag */ +#define IRDA_FLAG_BUSY ((uint32_t)0x00010000) /*!< IRDA Busy flag */ +#define IRDA_FLAG_ABRF ((uint32_t)0x00008000) /*!< IRDA Auto baud rate flag */ +#define IRDA_FLAG_ABRE ((uint32_t)0x00004000) /*!< IRDA Auto baud rate error */ +#define IRDA_FLAG_TXE ((uint32_t)0x00000080) /*!< IRDA Transmit data register empty */ +#define IRDA_FLAG_TC ((uint32_t)0x00000040) /*!< IRDA Transmission complete */ +#define IRDA_FLAG_RXNE ((uint32_t)0x00000020) /*!< IRDA Read data register not empty */ +#define IRDA_FLAG_ORE ((uint32_t)0x00000008) /*!< IRDA Overrun error */ +#define IRDA_FLAG_NE ((uint32_t)0x00000004) /*!< IRDA Noise error */ +#define IRDA_FLAG_FE ((uint32_t)0x00000002) /*!< IRDA Framing error */ +#define IRDA_FLAG_PE ((uint32_t)0x00000001) /*!< IRDA Parity error */ +/** + * @} + */ + +/** @defgroup IRDA_Interrupt_definition IRDA Interrupts Definition + * Elements values convention: 0000ZZZZ0XXYYYYYb + * - YYYYY : Interrupt source position in the XX register (5bits) + * - XX : Interrupt source register (2bits) + * - 01: CR1 register + * - 10: CR2 register + * - 11: CR3 register + * - ZZZZ : Flag position in the ISR register(4bits) + * @{ + */ +#define IRDA_IT_PE ((uint16_t)0x0028) /*!< IRDA Parity error interruption */ +#define IRDA_IT_TXE ((uint16_t)0x0727) /*!< IRDA Transmit data register empty interruption */ +#define IRDA_IT_TC ((uint16_t)0x0626) /*!< IRDA Transmission complete interruption */ +#define IRDA_IT_RXNE ((uint16_t)0x0525) /*!< IRDA Read data register not empty interruption */ +#define IRDA_IT_IDLE ((uint16_t)0x0424) /*!< IRDA Idle interruption */ +#define IRDA_IT_ERR ((uint16_t)0x0060) /*!< IRDA Error interruption */ +#define IRDA_IT_ORE ((uint16_t)0x0300) /*!< IRDA Overrun error interruption */ +#define IRDA_IT_NE ((uint16_t)0x0200) /*!< IRDA Noise error interruption */ +#define IRDA_IT_FE ((uint16_t)0x0100) /*!< IRDA Frame error interruption */ +/** + * @} + */ + +/** @defgroup IRDA_IT_CLEAR_Flags IRDA Interruption Clear Flags + * @{ + */ +#define IRDA_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */ +#define IRDA_CLEAR_FEF USART_ICR_FECF /*!< Framing Error Clear Flag */ +#define IRDA_CLEAR_NEF USART_ICR_NCF /*!< Noise detected Clear Flag */ +#define IRDA_CLEAR_OREF USART_ICR_ORECF /*!< OverRun Error Clear Flag */ +#define IRDA_CLEAR_IDLEF USART_ICR_IDLECF /*!< IDLE line detected Clear Flag */ +#define IRDA_CLEAR_TCF USART_ICR_TCCF /*!< Transmission Complete Clear Flag */ +/** + * @} + */ + +/** @defgroup IRDA_Interruption_Mask IRDA interruptions flags mask + * @{ + */ +#define IRDA_IT_MASK ((uint16_t)0x001F) /*!< IRDA Interruptions flags mask */ +/** + * @} + */ + +/** + * @} + */ + + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup IRDA_Exported_Macros IRDA Exported Macros + * @{ + */ + +/** @brief Reset IRDA handle state. + * @param __HANDLE__: IRDA handle. + * @retval None + */ +#define __HAL_IRDA_RESET_HANDLE_STATE(__HANDLE__) do{ \ + (__HANDLE__)->gState = HAL_IRDA_STATE_RESET; \ + (__HANDLE__)->RxState = HAL_IRDA_STATE_RESET; \ + } while(0) + +/** @brief Flush the IRDA DR register. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_FLUSH_DRREGISTER(__HANDLE__) \ + do{ \ + SET_BIT((__HANDLE__)->Instance->RQR, IRDA_RXDATA_FLUSH_REQUEST); \ + SET_BIT((__HANDLE__)->Instance->RQR, IRDA_TXDATA_FLUSH_REQUEST); \ + } while(0) + +/** @brief Clear the specified IRDA pending flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be any combination of the following values: + * @arg @ref IRDA_CLEAR_PEF + * @arg @ref IRDA_CLEAR_FEF + * @arg @ref IRDA_CLEAR_NEF + * @arg @ref IRDA_CLEAR_OREF + * @arg @ref IRDA_CLEAR_TCF + * @arg @ref IRDA_CLEAR_IDLEF + * @retval None + */ +#define __HAL_IRDA_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + +/** @brief Clear the IRDA PE pending flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_PEF) + + +/** @brief Clear the IRDA FE pending flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_CLEAR_FEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_FEF) + +/** @brief Clear the IRDA NE pending flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_CLEAR_NEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_NEF) + +/** @brief Clear the IRDA ORE pending flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_CLEAR_OREFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_OREF) + +/** @brief Clear the IRDA IDLE pending flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_CLEAR_IDLEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_IDLEF) + +/** @brief Check whether the specified IRDA flag is set or not. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg @ref IRDA_FLAG_REACK Receive enable acknowledge flag + * @arg @ref IRDA_FLAG_TEACK Transmit enable acknowledge flag + * @arg @ref IRDA_FLAG_BUSY Busy flag + * @arg @ref IRDA_FLAG_ABRF Auto Baud rate detection flag + * @arg @ref IRDA_FLAG_ABRE Auto Baud rate detection error flag + * @arg @ref IRDA_FLAG_TXE Transmit data register empty flag + * @arg @ref IRDA_FLAG_TC Transmission Complete flag + * @arg @ref IRDA_FLAG_RXNE Receive data register not empty flag + * @arg @ref IRDA_FLAG_ORE OverRun Error flag + * @arg @ref IRDA_FLAG_NE Noise Error flag + * @arg @ref IRDA_FLAG_FE Framing Error flag + * @arg @ref IRDA_FLAG_PE Parity Error flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) + + +/** @brief Enable the specified IRDA interrupt. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __INTERRUPT__: specifies the IRDA interrupt source to enable. + * This parameter can be one of the following values: + * @arg @ref IRDA_IT_TXE Transmit Data Register empty interrupt + * @arg @ref IRDA_IT_TC Transmission complete interrupt + * @arg @ref IRDA_IT_RXNE Receive Data register not empty interrupt + * @arg @ref IRDA_IT_IDLE Idle line detection interrupt + * @arg @ref IRDA_IT_PE Parity Error interrupt + * @arg @ref IRDA_IT_ERR Error interrupt(Frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_IRDA_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & IRDA_IT_MASK)))) + +/** @brief Disable the specified IRDA interrupt. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __INTERRUPT__: specifies the IRDA interrupt source to disable. + * This parameter can be one of the following values: + * @arg @ref IRDA_IT_TXE Transmit Data Register empty interrupt + * @arg @ref IRDA_IT_TC Transmission complete interrupt + * @arg @ref IRDA_IT_RXNE Receive Data register not empty interrupt + * @arg @ref IRDA_IT_IDLE Idle line detection interrupt + * @arg @ref IRDA_IT_PE Parity Error interrupt + * @arg @ref IRDA_IT_ERR Error interrupt(Frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_IRDA_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & IRDA_IT_MASK)))) + + +/** @brief Check whether the specified IRDA interrupt has occurred or not. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __IT__: specifies the IRDA interrupt source to check. + * This parameter can be one of the following values: + * @arg @ref IRDA_IT_TXE Transmit Data Register empty interrupt + * @arg @ref IRDA_IT_TC Transmission complete interrupt + * @arg @ref IRDA_IT_RXNE Receive Data register not empty interrupt + * @arg @ref IRDA_IT_IDLE Idle line detection interrupt + * @arg @ref IRDA_IT_ORE OverRun Error interrupt + * @arg @ref IRDA_IT_NE Noise Error interrupt + * @arg @ref IRDA_IT_FE Framing Error interrupt + * @arg @ref IRDA_IT_PE Parity Error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_IRDA_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1U << ((__IT__)>> 0x08))) + +/** @brief Check whether the specified IRDA interrupt source is enabled or not. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __IT__: specifies the IRDA interrupt source to check. + * This parameter can be one of the following values: + * @arg @ref IRDA_IT_TXE Transmit Data Register empty interrupt + * @arg @ref IRDA_IT_TC Transmission complete interrupt + * @arg @ref IRDA_IT_RXNE Receive Data register not empty interrupt + * @arg @ref IRDA_IT_IDLE Idle line detection interrupt + * @arg @ref IRDA_IT_ERR Framing, overrun or noise error interrupt + * @arg @ref IRDA_IT_PE Parity Error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_IRDA_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5U) == 1)? (__HANDLE__)->Instance->CR1:(((((uint8_t)(__IT__)) >> 5U) == 2)? \ + (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << (((uint16_t)(__IT__)) & IRDA_IT_MASK))) + + +/** @brief Clear the specified IRDA ISR flag, in setting the proper ICR register flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set + * to clear the corresponding interrupt + * This parameter can be one of the following values: + * @arg @ref IRDA_CLEAR_PEF Parity Error Clear Flag + * @arg @ref IRDA_CLEAR_FEF Framing Error Clear Flag + * @arg @ref IRDA_CLEAR_NEF Noise detected Clear Flag + * @arg @ref IRDA_CLEAR_OREF OverRun Error Clear Flag + * @arg @ref IRDA_CLEAR_TCF Transmission Complete Clear Flag + * @retval None + */ +#define __HAL_IRDA_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__)) + + +/** @brief Set a specific IRDA request flag. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __REQ__: specifies the request flag to set + * This parameter can be one of the following values: + * @arg @ref IRDA_AUTOBAUD_REQUEST Auto-Baud Rate Request + * @arg @ref IRDA_RXDATA_FLUSH_REQUEST Receive Data flush Request + * @arg @ref IRDA_TXDATA_FLUSH_REQUEST Transmit data flush Request + * + * @retval None + */ +#define __HAL_IRDA_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__)) + +/** @brief Enable the IRDA one bit sample method. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT) + +/** @brief Disable the IRDA one bit sample method. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3 &= (uint32_t)~((uint32_t)USART_CR3_ONEBIT)) + +/** @brief Enable UART/USART associated to IRDA Handle. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE) + +/** @brief Disable UART/USART associated to IRDA Handle. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None + */ +#define __HAL_IRDA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) + +/** + * @} + */ + +/* Private macros --------------------------------------------------------*/ +/** @defgroup IRDA_Private_Macros IRDA Private Macros + * @{ + */ + +/** @brief Compute the mask to apply to retrieve the received data + * according to the word length and to the parity bits activation. + * @param __HANDLE__: specifies the IRDA Handle. + * @retval None, the mask to apply to the associated UART RDR register is stored in (__HANDLE__)->Mask field. + */ +#define IRDA_MASK_COMPUTATION(__HANDLE__) \ + do { \ + if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_9B) \ + { \ + if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x01FF ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x00FF ; \ + } \ + } \ + else if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_8B) \ + { \ + if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x00FF ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x007F ; \ + } \ + } \ + else if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_7B) \ + { \ + if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x007F ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x003F ; \ + } \ + } \ +} while(0) + +/** @brief Ensure that IRDA Baud rate is less or equal to maximum value. + * @param __BAUDRATE__: specifies the IRDA Baudrate set by the user. + * @retval True or False + */ +#define IS_IRDA_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 115201) + +/** @brief Ensure that IRDA prescaler value is strictly larger than 0. + * @param __PRESCALER__: specifies the IRDA prescaler value set by the user. + * @retval True or False + */ +#define IS_IRDA_PRESCALER(__PRESCALER__) ((__PRESCALER__) > 0) + +/** + * @brief Ensure that IRDA frame length is valid. + * @param __LENGTH__: IRDA frame length. + * @retval SET (__LENGTH__ is valid) or RESET (__LENGTH__ is invalid) + */ +#define IS_IRDA_WORD_LENGTH(__LENGTH__) (((__LENGTH__) == IRDA_WORDLENGTH_7B) || \ + ((__LENGTH__) == IRDA_WORDLENGTH_8B) || \ + ((__LENGTH__) == IRDA_WORDLENGTH_9B)) + +/** + * @brief Ensure that IRDA frame parity is valid. + * @param __PARITY__: IRDA frame parity. + * @retval SET (__PARITY__ is valid) or RESET (__PARITY__ is invalid) + */ +#define IS_IRDA_PARITY(__PARITY__) (((__PARITY__) == IRDA_PARITY_NONE) || \ + ((__PARITY__) == IRDA_PARITY_EVEN) || \ + ((__PARITY__) == IRDA_PARITY_ODD)) + +/** + * @brief Ensure that IRDA communication mode is valid. + * @param __MODE__: IRDA communication mode. + * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) + */ +#define IS_IRDA_TX_RX_MODE(__MODE__) ((((__MODE__) & (~((uint32_t)(IRDA_MODE_TX_RX)))) == (uint32_t)0x00) && ((__MODE__) != (uint32_t)0x00)) + +/** + * @brief Ensure that IRDA power mode is valid. + * @param __MODE__: IRDA power mode. + * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) + */ +#define IS_IRDA_POWERMODE(__MODE__) (((__MODE__) == IRDA_POWERMODE_LOWPOWER) || \ + ((__MODE__) == IRDA_POWERMODE_NORMAL)) + +/** + * @brief Ensure that IRDA state is valid. + * @param __STATE__: IRDA state mode. + * @retval SET (__STATE__ is valid) or RESET (__STATE__ is invalid) + */ +#define IS_IRDA_STATE(__STATE__) (((__STATE__) == IRDA_STATE_DISABLE) || \ + ((__STATE__) == IRDA_STATE_ENABLE)) + +/** + * @brief Ensure that IRDA associated UART/USART mode is valid. + * @param __MODE__: IRDA associated UART/USART mode. + * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) + */ +#define IS_IRDA_MODE(__MODE__) (((__MODE__) == IRDA_MODE_DISABLE) || \ + ((__MODE__) == IRDA_MODE_ENABLE)) + +/** + * @brief Ensure that IRDA sampling rate is valid. + * @param __ONEBIT__: IRDA sampling rate. + * @retval SET (__ONEBIT__ is valid) or RESET (__ONEBIT__ is invalid) + */ +#define IS_IRDA_ONE_BIT_SAMPLE(__ONEBIT__) (((__ONEBIT__) == IRDA_ONE_BIT_SAMPLE_DISABLE) || \ + ((__ONEBIT__) == IRDA_ONE_BIT_SAMPLE_ENABLE)) + +/** + * @brief Ensure that IRDA DMA TX mode is valid. + * @param __DMATX__: IRDA DMA TX mode. + * @retval SET (__DMATX__ is valid) or RESET (__DMATX__ is invalid) + */ +#define IS_IRDA_DMA_TX(__DMATX__) (((__DMATX__) == IRDA_DMA_TX_DISABLE) || \ + ((__DMATX__) == IRDA_DMA_TX_ENABLE)) + +/** + * @brief Ensure that IRDA DMA RX mode is valid. + * @param __DMARX__: IRDA DMA RX mode. + * @retval SET (__DMARX__ is valid) or RESET (__DMARX__ is invalid) + */ +#define IS_IRDA_DMA_RX(__DMARX__) (((__DMARX__) == IRDA_DMA_RX_DISABLE) || \ + ((__DMARX__) == IRDA_DMA_RX_ENABLE)) + +/** + * @brief Ensure that IRDA request is valid. + * @param __PARAM__: IRDA request. + * @retval SET (__PARAM__ is valid) or RESET (__PARAM__ is invalid) + */ +#define IS_IRDA_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == IRDA_AUTOBAUD_REQUEST) || \ + ((__PARAM__) == IRDA_RXDATA_FLUSH_REQUEST) || \ + ((__PARAM__) == IRDA_TXDATA_FLUSH_REQUEST)) +/** + * @} + */ + +/* Include IRDA HAL Extended module */ +#include "stm32h7xx_hal_irda_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup IRDA_Exported_Functions IRDA Exported Functions + * @{ + */ + +/** @addtogroup IRDA_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_IRDA_Init(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_DeInit(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_MspInit(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_MspDeInit(IRDA_HandleTypeDef *hirda); + +/** + * @} + */ + +/** @addtogroup IRDA_Exported_Functions_Group2 IO operation functions + * @{ + */ + +/* IO operation functions *****************************************************/ +HAL_StatusTypeDef HAL_IRDA_Transmit(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_IRDA_Receive(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_IRDA_Receive_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_IRDA_Transmit_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_IRDA_Receive_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_Abort(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_AbortTransmit(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_AbortReceive(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_Abort_IT(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_AbortTransmit_IT(IRDA_HandleTypeDef *hirda); +HAL_StatusTypeDef HAL_IRDA_AbortReceive_IT(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_IRQHandler(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_TxCpltCallback(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_RxCpltCallback(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_ErrorCallback(IRDA_HandleTypeDef *hirda); +void HAL_IRDA_AbortCpltCallback (IRDA_HandleTypeDef *hirda); +void HAL_IRDA_AbortTransmitCpltCallback (IRDA_HandleTypeDef *hirda); +void HAL_IRDA_AbortReceiveCpltCallback (IRDA_HandleTypeDef *hirda); + +/** + * @} + */ + +/* Peripheral Control functions ************************************************/ + +/** @addtogroup IRDA_Exported_Functions_Group4 Peripheral State and Error functions + * @{ + */ + +/* Peripheral State and Error functions ***************************************/ +HAL_IRDA_StateTypeDef HAL_IRDA_GetState(IRDA_HandleTypeDef *hirda); +uint32_t HAL_IRDA_GetError(IRDA_HandleTypeDef *hirda); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_IRDA_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda_ex.h new file mode 100644 index 0000000000..19aef8a29b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_irda_ex.h @@ -0,0 +1,287 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_irda_ex.h + * @author MCD Application Team + * @brief Header file of IRDA HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_IRDA_EX_H +#define __STM32H7xx_HAL_IRDA_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup IRDAEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macros -----------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/* Private macros ------------------------------------------------------------*/ + +/** @defgroup IRDAEx_Private_Macros IRDAEx Private Macros + * @{ + */ + +/** @brief Report the IRDA clock source. + * @param __HANDLE__: specifies the IRDA Handle. + * @param __CLOCKSOURCE__: output variable. + * @retval IRDA clocking source, written in __CLOCKSOURCE__. + */ +#define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \ + do { \ + if((__HANDLE__)->Instance == USART1) \ + { \ + switch(__HAL_RCC_GET_USART1_SOURCE()) \ + { \ + case RCC_USART1CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART1CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART1CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART1CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART1CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART1CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART2) \ + { \ + switch(__HAL_RCC_GET_USART2_SOURCE()) \ + { \ + case RCC_USART2CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART2CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART2CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART2CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART2CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART2CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART3) \ + { \ + switch(__HAL_RCC_GET_USART3_SOURCE()) \ + { \ + case RCC_USART3CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART3CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART3CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART3CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART3CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART3CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == UART4) \ + { \ + switch(__HAL_RCC_GET_UART4_SOURCE()) \ + { \ + case RCC_UART4CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART4CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_UART4CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_UART4CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART4CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART4CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if ((__HANDLE__)->Instance == UART5) \ + { \ + switch(__HAL_RCC_GET_UART5_SOURCE()) \ + { \ + case RCC_UART5CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART5CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_UART5CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_UART5CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART5CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART5CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART6) \ + { \ + switch(__HAL_RCC_GET_USART6_SOURCE()) \ + { \ + case RCC_USART6CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART6CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART6CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART6CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART6CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART6CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == UART7) \ + { \ + switch(__HAL_RCC_GET_UART7_SOURCE()) \ + { \ + case RCC_UART7CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART7CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_UART7CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_UART7CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART7CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART7CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == UART8) \ + { \ + switch(__HAL_RCC_GET_UART8_SOURCE()) \ + { \ + case RCC_UART8CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART8CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_UART8CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_UART8CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART8CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART8CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + } while(0) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_IRDA_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_iwdg.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_iwdg.h new file mode 100644 index 0000000000..744944af5c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_iwdg.h @@ -0,0 +1,255 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_iwdg.h + * @author MCD Application Team + * @brief Header file of IWDG HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_IWDG_H +#define __STM32H7xx_HAL_IWDG_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup IWDG IWDG + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup IWDG_Exported_Types IWDG Exported Types + * @{ + */ + +/** + * @brief IWDG Init structure definition + */ +typedef struct +{ + uint32_t Prescaler; /*!< Select the prescaler of the IWDG. + This parameter can be a value of @ref IWDG_Prescaler */ + + uint32_t Reload; /*!< Specifies the IWDG down-counter reload value. + This parameter must be a number between Min_Data = 0 and Max_Data = 0x0FFF */ + + uint32_t Window; /*!< Specifies the window value to be compared to the down-counter. + This parameter must be a number between Min_Data = 0 and Max_Data = 0x0FFF */ + +} IWDG_InitTypeDef; + +/** + * @brief IWDG Handle Structure definition + */ +typedef struct +{ + IWDG_TypeDef *Instance; /*!< Register base address */ + + IWDG_InitTypeDef Init; /*!< IWDG required parameters */ + +}IWDG_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup IWDG_Exported_Constants IWDG Exported Constants + * @{ + */ + +/** @defgroup IWDG_Prescaler IWDG Prescaler + * @{ + */ +#define IWDG_PRESCALER_4 0x00000000u /*!< IWDG prescaler set to 4 */ +#define IWDG_PRESCALER_8 IWDG_PR_PR_0 /*!< IWDG prescaler set to 8 */ +#define IWDG_PRESCALER_16 IWDG_PR_PR_1 /*!< IWDG prescaler set to 16 */ +#define IWDG_PRESCALER_32 (IWDG_PR_PR_1 | IWDG_PR_PR_0) /*!< IWDG prescaler set to 32 */ +#define IWDG_PRESCALER_64 IWDG_PR_PR_2 /*!< IWDG prescaler set to 64 */ +#define IWDG_PRESCALER_128 (IWDG_PR_PR_2 | IWDG_PR_PR_0) /*!< IWDG prescaler set to 128 */ +#define IWDG_PRESCALER_256 (IWDG_PR_PR_2 | IWDG_PR_PR_1) /*!< IWDG prescaler set to 256 */ +/** + * @} + */ + +/** @defgroup IWDG_Window_option IWDG Window option + * @{ + */ +#define IWDG_WINDOW_DISABLE IWDG_WINR_WIN +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup IWDG_Exported_Macros IWDG Exported Macros + * @{ + */ + +/** + * @brief Enable the IWDG peripheral. + * @param __HANDLE__: IWDG handle + * @retval None + */ +#define __HAL_IWDG_START(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_ENABLE) + +/** + * @brief Reload IWDG counter with value defined in the reload register + * (write access to IWDG_PR, IWDG_RLR & IWDG_WINR registers disabled). + * @param __HANDLE__: IWDG handle + * @retval None + */ +#define __HAL_IWDG_RELOAD_COUNTER(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_RELOAD) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup IWDG_Exported_Functions IWDG Exported Functions + * @{ + */ + +/** @defgroup IWDG_Exported_Functions_Group1 Initialization and Start functions + * @{ + */ +/* Initialization/Start functions ********************************************/ +HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg); +/** + * @} + */ + +/** @defgroup IWDG_Exported_Functions_Group2 IO operation functions + * @{ + */ +/* I/O operation functions ****************************************************/ +HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg); +/** + * @} + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup IWDG_Private_Constants IWDG Private Constants + * @{ + */ + +/** + * @brief IWDG Key Register BitMask + */ +#define IWDG_KEY_RELOAD 0x0000AAAAu /*!< IWDG Reload Counter Enable */ +#define IWDG_KEY_ENABLE 0x0000CCCCu /*!< IWDG Peripheral Enable */ +#define IWDG_KEY_WRITE_ACCESS_ENABLE 0x00005555u /*!< IWDG KR Write Access Enable */ +#define IWDG_KEY_WRITE_ACCESS_DISABLE 0x00000000u /*!< IWDG KR Write Access Disable */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup IWDG_Private_Macros IWDG Private Macros + * @{ + */ + +/** + * @brief Enable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers. + * @param __HANDLE__: IWDG handle + * @retval None + */ +#define IWDG_ENABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_ENABLE) + +/** + * @brief Disable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers. + * @param __HANDLE__: IWDG handle + * @retval None + */ +#define IWDG_DISABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_DISABLE) + +/** + * @brief Check IWDG prescaler value. + * @param __PRESCALER__: IWDG prescaler value + * @retval None + */ +#define IS_IWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == IWDG_PRESCALER_4) || \ + ((__PRESCALER__) == IWDG_PRESCALER_8) || \ + ((__PRESCALER__) == IWDG_PRESCALER_16) || \ + ((__PRESCALER__) == IWDG_PRESCALER_32) || \ + ((__PRESCALER__) == IWDG_PRESCALER_64) || \ + ((__PRESCALER__) == IWDG_PRESCALER_128)|| \ + ((__PRESCALER__) == IWDG_PRESCALER_256)) + +/** + * @brief Check IWDG reload value. + * @param __RELOAD__: IWDG reload value + * @retval None + */ +#define IS_IWDG_RELOAD(__RELOAD__) ((__RELOAD__) <= IWDG_RLR_RL) + +/** + * @brief Check IWDG window value. + * @param __WINDOW__: IWDG window value + * @retval None + */ +#define IS_IWDG_WINDOW(__WINDOW__) ((__WINDOW__) <= IWDG_WINR_WIN) + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_IWDG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_jpeg.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_jpeg.h new file mode 100644 index 0000000000..d16a11f636 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_jpeg.h @@ -0,0 +1,570 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_jpeg.h + * @author MCD Application Team + * @brief Header file of JPEG HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_JPEG_H +#define __STM32H7xx_HAL_JPEG_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" +#include "stm32h7xx_hal_mdma.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup JPEG + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup JPEG_Exported_Types JPEG Exported Types + * @{ + */ + +/** @defgroup JPEG_Configuration_Structure_definition JPEG Configuration for encoding Structure definition + * @brief JPEG encoding configuration Structure definition + * @{ + */ +typedef struct +{ + uint8_t ColorSpace; /*!< Image Color space : gray-scale, YCBCR, RGB or CMYK + This parameter can be a value of @ref JPEG_ColorSpace */ + + uint8_t ChromaSubsampling; /*!< Chroma Subsampling in case of YCBCR or CMYK color space, 0-> 4:4:4 , 1-> 4:2:2, 2 -> 4:1:1, 3 -> 4:2:0 + This parameter can be a value of @ref JPEG_ChromaSubsampling */ + + uint32_t ImageHeight; /*!< Image height : number of lines */ + + uint32_t ImageWidth; /*!< Image width : number of pixels per line */ + + uint8_t ImageQuality; /*!< Quality of the JPEG encoding : from 1 to 100 */ + +}JPEG_ConfTypeDef; +/** + * @} + */ + +/** @defgroup HAL_JPEG_state_structure_definition HAL JPEG state structure definition + * @brief HAL JPEG State structure definition + * @{ + */ +typedef enum +{ + HAL_JPEG_STATE_RESET = 0x00U, /*!< JPEG not yet initialized or disabled */ + HAL_JPEG_STATE_READY = 0x01U, /*!< JPEG initialized and ready for use */ + HAL_JPEG_STATE_BUSY = 0x02U, /*!< JPEG internal processing is ongoing */ + HAL_JPEG_STATE_BUSY_ENCODING = 0x03U, /*!< JPEG encoding processing is ongoing */ + HAL_JPEG_STATE_BUSY_DECODING = 0x04U, /*!< JPEG decoding processing is ongoing */ + HAL_JPEG_STATE_TIMEOUT = 0x05U, /*!< JPEG timeout state */ + HAL_JPEG_STATE_ERROR = 0x06U /*!< JPEG error state */ +}HAL_JPEG_STATETypeDef; + +/** + * @} + */ + + +/** @defgroup JPEG_handle_Structure_definition JPEG handle Structure definition + * @brief JPEG handle Structure definition + * @{ + */ +typedef struct +{ + JPEG_TypeDef *Instance; /*!< JPEG peripheral register base address */ + + JPEG_ConfTypeDef Conf; /*!< Current JPEG encoding/decoding parameters */ + + uint8_t *pJpegInBuffPtr; /*!< Pointer to JPEG processing (encoding, decoding,...) input buffer */ + + uint8_t *pJpegOutBuffPtr; /*!< Pointer to JPEG processing (encoding, decoding,...) output buffer */ + + __IO uint32_t JpegInCount; /*!< Internal Counter of input data */ + + __IO uint32_t JpegOutCount; /*!< Internal Counter of output data */ + + uint32_t InDataLength; /*!< Input Buffer Length in Bytes */ + + uint32_t OutDataLength; /*!< Output Buffer Length in Bytes */ + + MDMA_HandleTypeDef *hdmain; /*!< JPEG In MDMA handle parameters */ + + MDMA_HandleTypeDef *hdmaout; /*!< JPEG Out MDMA handle parameters */ + + uint8_t CustomQuanTable; /*!< If set to 1 specify that user customized quantization tables are used */ + + uint8_t *QuantTable0; /*!< Basic Quantization Table for component 0 */ + + uint8_t *QuantTable1; /*!< Basic Quantization Table for component 1 */ + + uint8_t *QuantTable2; /*!< Basic Quantization Table for component 2 */ + + uint8_t *QuantTable3; /*!< Basic Quantization Table for component 3 */ + + HAL_LockTypeDef Lock; /*!< JPEG locking object */ + + __IO HAL_JPEG_STATETypeDef State; /*!< JPEG peripheral state */ + + __IO uint32_t ErrorCode; /*!< JPEG Error code */ + + __IO uint32_t Context; /*!< JPEG Internal context */ + +}JPEG_HandleTypeDef; + +/** + * @} + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup JPEG_Exported_Constants JPEG Exported Constants + * @{ + */ + +/** @defgroup JPEG_Error_Code_definition JPEG Error Code definition + * @brief JPEG Error Code definition + * @{ + */ + +#define HAL_JPEG_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define HAL_JPEG_ERROR_HUFF_TABLE ((uint32_t)0x00000001U) /*!< HUffman Table programming error */ +#define HAL_JPEG_ERROR_QUANT_TABLE ((uint32_t)0x00000002U) /*!< Quantization Table programming error */ +#define HAL_JPEG_ERROR_DMA ((uint32_t)0x00000004U) /*!< DMA transfer error */ +#define HAL_JPEG_ERROR_TIMEOUT ((uint32_t)0x00000008U) /*!< Timeout error */ + +/** + * @} + */ + +/** @defgroup JPEG_Quantization_Table_Size JPEG Quantization Table Size + * @brief JPEG Quantization Table Size + * @{ + */ +#define JPEG_QUANT_TABLE_SIZE ((uint32_t)64U) /*!< JPEG Quantization Table Size in bytes */ +/** + * @} + */ + + +/** @defgroup JPEG_ColorSpace JPEG ColorSpace + * @brief JPEG Color Space + * @{ + */ +#define JPEG_GRAYSCALE_COLORSPACE ((uint32_t)0x00000000U) +#define JPEG_YCBCR_COLORSPACE JPEG_CONFR1_COLORSPACE_0 +#define JPEG_CMYK_COLORSPACE JPEG_CONFR1_COLORSPACE + + +/** + * @} + */ + + +/** @defgroup JPEG_ChromaSubsampling JPEG Chrominance Sampling + * @brief JPEG Chrominance Sampling + * @{ + */ +#define JPEG_444_SUBSAMPLING ((uint32_t)0x00000000U) /*!< Chroma Subsampling 4:4:4 */ +#define JPEG_420_SUBSAMPLING ((uint32_t)0x00000001U) /*!< Chroma Subsampling 4:2:0 */ +#define JPEG_422_SUBSAMPLING ((uint32_t)0x00000002U) /*!< Chroma Subsampling 4:2:2 */ + +/** + * @} + */ + +/** @defgroup JPEG_ImageQuality JPEG Image Quality + * @brief JPEG Min and Max Image Quality + * @{ + */ +#define JPEG_IMAGE_QUALITY_MIN ((uint32_t)1U) /*!< Minimum JPEG quality */ +#define JPEG_IMAGE_QUALITY_MAX ((uint32_t)100U) /*!< Maximum JPEG quality */ + +/** + * @} + */ + +/** @defgroup JPEG_Interrupt_configuration_definition JPEG Interrupt configuration definition + * @brief JPEG Interrupt definition + * @{ + */ +#define JPEG_IT_IFT ((uint32_t)JPEG_CR_IFTIE) /*!< Input FIFO Threshold Interrupt */ +#define JPEG_IT_IFNF ((uint32_t)JPEG_CR_IFNFIE) /*!< Input FIFO Not Full Interrupt */ +#define JPEG_IT_OFT ((uint32_t)JPEG_CR_OFTIE) /*!< Output FIFO Threshold Interrupt */ +#define JPEG_IT_OFNE ((uint32_t)JPEG_CR_OFTIE) /*!< Output FIFO Not Empty Interrupt */ +#define JPEG_IT_EOC ((uint32_t)JPEG_CR_EOCIE) /*!< End of Conversion Interrupt */ +#define JPEG_IT_HPD ((uint32_t)JPEG_CR_HPDIE) /*!< Header Parsing Done Interrupt */ +/** + * @} + */ + +/** @defgroup JPEG_Flag_definition JPEG Flag definition + * @brief JPEG Flags definition + * @{ + */ +#define JPEG_FLAG_IFTF ((uint32_t)JPEG_SR_IFTF) /*!< Input FIFO is not full and is bellow its threshold flag */ +#define JPEG_FLAG_IFNFF ((uint32_t)JPEG_SR_IFNFF) /*!< Input FIFO Not Full Flag, a data can be written */ +#define JPEG_FLAG_OFTF ((uint32_t)JPEG_SR_OFTF) /*!< Output FIFO is not empty and has reach its threshold */ +#define JPEG_FLAG_OFNEF ((uint32_t)JPEG_SR_OFNEF) /*!< Output FIFO is not empty, a data is available */ +#define JPEG_FLAG_EOCF ((uint32_t)JPEG_SR_EOCF) /*!< JPEG Codec core has finished the encoding or the decoding process and than last data has been sent to the output FIFO */ +#define JPEG_FLAG_HPDF ((uint32_t)JPEG_SR_HPDF) /*!< JPEG Codec has finished the parsing of the headers and the internal registers have been updated */ +#define JPEG_FLAG_COF ((uint32_t)JPEG_SR_COF) /*!< JPEG Codec operation on going flag*/ + +#define JPEG_FLAG_ALL ((uint32_t)0x000000FEU) /*!< JPEG Codec All previous flag*/ +/** + * @} + */ + +/** @defgroup JPEG_PROCESS_PAUSE_RESUME_definition JPEG Process Pause Resume definition + * @brief JPEG process pause, resume definition + * @{ + */ +#define JPEG_PAUSE_RESUME_INPUT ((uint32_t)0x00000001U) /*!< Pause/Resume Input FIFO Xfer*/ +#define JPEG_PAUSE_RESUME_OUTPUT ((uint32_t)0x00000002U) /*!< Pause/Resume Output FIFO Xfer*/ +#define JPEG_PAUSE_RESUME_INPUT_OUTPUT ((uint32_t)0x00000003U) /*!< Pause/Resume Input and Output FIFO Xfer*/ +/** + * @} + */ + +/** + * @} + */ +/* Exported macro ------------------------------------------------------------*/ + +/** @defgroup JPEG_Exported_Macros JPEG Exported Macros + * @{ + */ + +/** @brief Reset JPEG handle state + * @param __HANDLE__: specifies the JPEG handle. + * @retval None + */ +#define __HAL_JPEG_RESET_HANDLE_STATE(__HANDLE__) ( (__HANDLE__)->State = HAL_JPEG_STATE_RESET) + + +/** + * @brief Enable the JPEG peripheral. + * @param __HANDLE__: specifies the JPEG handle. + * @retval None + */ +#define __HAL_JPEG_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= JPEG_CR_JCEN) + +/** + * @brief Disable the JPEG peripheral. + * @param __HANDLE__: specifies the JPEG handle. + * @retval None + */ +#define __HAL_JPEG_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~JPEG_CR_JCEN) + + +/** + * @brief Check the specified JPEG status flag. + * @param __HANDLE__: specifies the JPEG handle. + * @param __FLAG__ : specifies the flag to check + * This parameter can be one of the following values: + * @arg JPEG_FLAG_IFTF : The input FIFO is not full and is bellow its threshold flag + * @arg JPEG_FLAG_IFNFF : The input FIFO Not Full Flag, a data can be written + * @arg JPEG_FLAG_OFTF : The output FIFO is not empty and has reach its threshold + * @arg JPEG_FLAG_OFNEF : The output FIFO is not empty, a data is available + * @arg JPEG_FLAG_EOCF : JPEG Codec core has finished the encoding or the decoding process + * and than last data has been sent to the output FIFO + * @arg JPEG_FLAG_HPDF : JPEG Codec has finished the parsing of the headers + * and the internal registers have been updated + * @arg JPEG_FLAG_COF : JPEG Codec operation on going flag + * + * @retval : __HAL_JPEG_GET_FLAG : returns The new state of __FLAG__ (TRUE or FALSE) + */ + +#define __HAL_JPEG_GET_FLAG(__HANDLE__,__FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__))) + +/** + * @brief Clear the specified JPEG status flag. + * @param __HANDLE__: specifies the JPEG handle. + * @param __FLAG__ : specifies the flag to clear + * This parameter can be one of the following values: + * @arg JPEG_FLAG_EOCF : JPEG Codec core has finished the encoding or the decoding process + * and than last data has been sent to the output FIFO + * @arg JPEG_FLAG_HPDF : JPEG Codec has finished the parsing of the headers + * @retval : None + */ + +#define __HAL_JPEG_CLEAR_FLAG(__HANDLE__,__FLAG__) (((__HANDLE__)->Instance->CFR |= ((__FLAG__) & (JPEG_FLAG_EOCF | JPEG_FLAG_HPDF)))) + + +/** + * @brief Enable Interrupt. + * @param __HANDLE__: specifies the JPEG handle. + * @param __INTERRUPT__ : specifies the interrupt to enable + * This parameter can be one of the following values: + * @arg JPEG_IT_IFT : Input FIFO Threshold Interrupt + * @arg JPEG_IT_IFNF : Input FIFO Not Full Interrupt + * @arg JPEG_IT_OFT : Output FIFO Threshold Interrupt + * @arg JPEG_IT_OFNE : Output FIFO Not empty Interrupt + * @arg JPEG_IT_EOC : End of Conversion Interrupt + * @arg JPEG_IT_HPD : Header Parsing Done Interrupt + * + * @retval : No retrun + */ +#define __HAL_JPEG_ENABLE_IT(__HANDLE__,__INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__) ) + +/** + * @brief Disable Interrupt. + * @param __HANDLE__: specifies the JPEG handle. + * @param __INTERRUPT__ : specifies the interrupt to disable + * This parameter can be one of the following values: + * @arg JPEG_IT_IFT : Input FIFO Threshold Interrupt + * @arg JPEG_IT_IFNF : Input FIFO Not Full Interrupt + * @arg JPEG_IT_OFT : Output FIFO Threshold Interrupt + * @arg JPEG_IT_OFNE : Output FIFO Not empty Interrupt + * @arg JPEG_IT_EOC : End of Conversion Interrupt + * @arg JPEG_IT_HPD : Header Parsing Done Interrupt + * + * @note : To disable an IT we must use MODIFY_REG macro to avoid writing "1" to the FIFO flush bits + * located in the same IT enable register (CR register). + * @retval : No retrun + */ +#define __HAL_JPEG_DISABLE_IT(__HANDLE__,__INTERRUPT__) MODIFY_REG((__HANDLE__)->Instance->CR, (__INTERRUPT__), 0) + + +/** + * @brief Get Interrupt state. + * @param __HANDLE__: specifies the JPEG handle. + * @param __INTERRUPT__ : specifies the interrupt to check + * This parameter can be one of the following values: + * @arg JPEG_IT_IFT : Input FIFO Threshold Interrupt + * @arg JPEG_IT_IFNF : Input FIFO Not Full Interrupt + * @arg JPEG_IT_OFT : Output FIFO Threshold Interrupt + * @arg JPEG_IT_OFNE : Output FIFO Not empty Interrupt + * @arg JPEG_IT_EOC : End of Conversion Interrupt + * @arg JPEG_IT_HPD : Header Parsing Done Interrupt + * + * @retval : returns The new state of __INTERRUPT__ (Enabled or disabled) + */ +#define __HAL_JPEG_GET_IT_SOURCE(__HANDLE__,__INTERRUPT__) ((__HANDLE__)->Instance->CR & (__INTERRUPT__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup JPEG_Exported_Functions + * @{ + */ + +/** @addtogroup JPEG_Exported_Functions_Group1 + * @{ + */ +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_JPEG_Init(JPEG_HandleTypeDef *hjpeg); +HAL_StatusTypeDef HAL_JPEG_DeInit(JPEG_HandleTypeDef *hjpeg); +void HAL_JPEG_MspInit(JPEG_HandleTypeDef *hjpeg); +void HAL_JPEG_MspDeInit(JPEG_HandleTypeDef *hjpeg); + +/** + * @} + */ + +/** @addtogroup JPEG_Exported_Functions_Group2 + * @{ + */ +/* Encoding/Decoding Configuration functions ********************************/ +HAL_StatusTypeDef HAL_JPEG_ConfigEncoding(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pConf); +HAL_StatusTypeDef HAL_JPEG_GetInfo(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo); +HAL_StatusTypeDef HAL_JPEG_EnableHeaderParsing(JPEG_HandleTypeDef *hjpeg); +HAL_StatusTypeDef HAL_JPEG_DisableHeaderParsing(JPEG_HandleTypeDef *hjpeg); +HAL_StatusTypeDef HAL_JPEG_SetUserQuantTables(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable0, uint8_t *QTable1, uint8_t *QTable2, uint8_t *QTable3); + +/** + * @} + */ + +/** @addtogroup JPEG_Exported_Functions_Group3 + * @{ + */ +/* JPEG processing functions **************************************/ +HAL_StatusTypeDef HAL_JPEG_Encode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataLength, uint8_t *pDataOut, uint32_t OutDataLength, uint32_t Timeout); +HAL_StatusTypeDef HAL_JPEG_Decode(JPEG_HandleTypeDef *hjpeg ,uint8_t *pDataIn ,uint32_t InDataLength ,uint8_t *pDataOutMCU ,uint32_t OutDataLength, uint32_t Timeout); +HAL_StatusTypeDef HAL_JPEG_Encode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataLength, uint8_t *pDataOut, uint32_t OutDataLength); +HAL_StatusTypeDef HAL_JPEG_Decode_IT(JPEG_HandleTypeDef *hjpeg ,uint8_t *pDataIn ,uint32_t InDataLength ,uint8_t *pDataOutMCU ,uint32_t OutDataLength); +HAL_StatusTypeDef HAL_JPEG_Encode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataLength, uint8_t *pDataOut, uint32_t OutDataLength); +HAL_StatusTypeDef HAL_JPEG_Decode_DMA(JPEG_HandleTypeDef *hjpeg ,uint8_t *pDataIn ,uint32_t InDataLength ,uint8_t *pDataOutMCU ,uint32_t OutDataLength); +HAL_StatusTypeDef HAL_JPEG_Pause(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection); +HAL_StatusTypeDef HAL_JPEG_Resume(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection); +void HAL_JPEG_ConfigInputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewInputBuffer, uint32_t InDataLength); +void HAL_JPEG_ConfigOutputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewOutputBuffer, uint32_t OutDataLength); +HAL_StatusTypeDef HAL_JPEG_Abort(JPEG_HandleTypeDef *hjpeg); + +/** + * @} + */ + +/** @addtogroup JPEG_Exported_Functions_Group4 + * @{ + */ +/* JPEG Decode/Encode callback functions ********************************************************/ +void HAL_JPEG_InfoReadyCallback(JPEG_HandleTypeDef *hjpeg,JPEG_ConfTypeDef *pInfo); +void HAL_JPEG_EncodeCpltCallback(JPEG_HandleTypeDef *hjpeg); +void HAL_JPEG_DecodeCpltCallback(JPEG_HandleTypeDef *hjpeg); +void HAL_JPEG_ErrorCallback(JPEG_HandleTypeDef *hjpeg); +void HAL_JPEG_GetDataCallback(JPEG_HandleTypeDef *hjpeg, uint32_t NbDecodedData); +void HAL_JPEG_DataReadyCallback (JPEG_HandleTypeDef *hjpeg, uint8_t *pDataOut, uint32_t OutDataLength); + +/** + * @} + */ + +/** @addtogroup JPEG_Exported_Functions_Group5 + * @{ + */ +/* JPEG IRQ handler management ******************************************************/ +void HAL_JPEG_IRQHandler(JPEG_HandleTypeDef *hjpeg); + +/** + * @} + */ + +/** @addtogroup JPEG_Exported_Functions_Group6 + * @{ + */ +/* Peripheral State and Error functions ************************************************/ +HAL_JPEG_STATETypeDef HAL_JPEG_GetState(JPEG_HandleTypeDef *hjpeg); +uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg); + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup JPEG_Private_Types JPEG Private Types + * @{ + */ + +/** + * @} + */ + +/* Private defines -----------------------------------------------------------*/ +/** @defgroup JPEG_Private_Defines JPEG Private Defines + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup JPEG_Private_Variables JPEG Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup JPEG_Private_Constants JPEG Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup JPEG_Private_Macros JPEG Private Macros + * @{ + */ + +#define IS_JPEG_CHROMASUBSAMPLING(SUBSAMPLING) (((SUBSAMPLING) == JPEG_444_SUBSAMPLING) || \ + ((SUBSAMPLING) == JPEG_420_SUBSAMPLING) || \ + ((SUBSAMPLING) == JPEG_422_SUBSAMPLING)) + +#define IS_JPEG_IMAGE_QUALITY(NUMBER) (((NUMBER) >= JPEG_IMAGE_QUALITY_MIN) && ((NUMBER) <= JPEG_IMAGE_QUALITY_MAX)) + +#define IS_JPEG_COLORSPACE(COLORSPACE) (((COLORSPACE) == JPEG_GRAYSCALE_COLORSPACE) || \ + ((COLORSPACE) == JPEG_YCBCR_COLORSPACE) || \ + ((COLORSPACE) == JPEG_CMYK_COLORSPACE)) + +#define IS_JPEG_PAUSE_RESUME_STATE(VALUE) (((VALUE) == JPEG_PAUSE_RESUME_INPUT) || \ + ((VALUE) == JPEG_PAUSE_RESUME_OUTPUT)|| \ + ((VALUE) == JPEG_PAUSE_RESUME_INPUT_OUTPUT)) + +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup JPEG_Private_Functions_Prototypes JPEG Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup JPEG_Private_Functions JPEG Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_JPEG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_lptim.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_lptim.h new file mode 100644 index 0000000000..a63797cfa6 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_lptim.h @@ -0,0 +1,710 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_lptim.h + * @author MCD Application Team + * @brief Header file of LPTIM HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_LPTIM_H +#define __STM32H7xx_HAL_LPTIM_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup LPTIM + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup LPTIM_Exported_Types LPTIM Exported Types + * @{ + */ + +/** + * @brief LPTIM Clock configuration definition + */ +typedef struct +{ + uint32_t Source; /*!< Selects the clock source. + This parameter can be a value of @ref LPTIM_Clock_Source */ + + uint32_t Prescaler; /*!< Specifies the counter clock Prescaler. + This parameter can be a value of @ref LPTIM_Clock_Prescaler */ + +}LPTIM_ClockConfigTypeDef; + +/** + * @brief LPTIM Clock configuration definition + */ +typedef struct +{ + uint32_t Polarity; /*!< Selects the polarity of the active edge for the counter unit + if the ULPTIM input is selected. + Note: This parameter is used only when Ultra low power clock source is used. + Note: If the polarity is configured on 'both edges', an auxiliary clock + (one of the Low power oscillator) must be active. + This parameter can be a value of @ref LPTIM_Clock_Polarity */ + + uint32_t SampleTime; /*!< Selects the clock sampling time to configure the clock glitch filter. + Note: This parameter is used only when Ultra low power clock source is used. + This parameter can be a value of @ref LPTIM_Clock_Sample_Time */ + +}LPTIM_ULPClockConfigTypeDef; + +/** + * @brief LPTIM Trigger configuration definition + */ +typedef struct +{ + uint32_t Source; /*!< Selects the Trigger source. + This parameter can be a value of @ref LPTIM_Trigger_Source */ + + uint32_t ActiveEdge; /*!< Selects the Trigger active edge. + Note: This parameter is used only when an external trigger is used. + This parameter can be a value of @ref LPTIM_External_Trigger_Polarity */ + + uint32_t SampleTime; /*!< Selects the trigger sampling time to configure the clock glitch filter. + Note: This parameter is used only when an external trigger is used. + This parameter can be a value of @ref LPTIM_Trigger_Sample_Time */ +}LPTIM_TriggerConfigTypeDef; + +/** + * @brief LPTIM Initialization Structure definition + */ +typedef struct +{ + LPTIM_ClockConfigTypeDef Clock; /*!< Specifies the clock parameters */ + + LPTIM_ULPClockConfigTypeDef UltraLowPowerClock; /*!< Specifies the Ultra Low Power clock parameters */ + + LPTIM_TriggerConfigTypeDef Trigger; /*!< Specifies the Trigger parameters */ + + uint32_t OutputPolarity; /*!< Specifies the Output polarity. + This parameter can be a value of @ref LPTIM_Output_Polarity */ + + uint32_t UpdateMode; /*!< Specifies whether the update of the autorelaod and the compare + values is done immediately or after the end of current period. + This parameter can be a value of @ref LPTIM_Updating_Mode */ + + uint32_t CounterSource; /*!< Specifies whether the counter is incremented each internal event + or each external event. + This parameter can be a value of @ref LPTIM_Counter_Source */ + + uint32_t Input1Source; /*!< Specifies source selected for input1 (GPIO or comparator output). + This parameter can be a value of @ref LPTIM_Input1_Source */ + + uint32_t Input2Source; /*!< Specifies source selected for input2 (GPIO or comparator output). + Note: This parameter is used only for encoder feature so is used only + for LPTIM1 instance. + This parameter can be a value of @ref LPTIM_Input2_Source */ + +}LPTIM_InitTypeDef; + +/** + * @brief HAL LPTIM State structure definition + */ +typedef enum __HAL_LPTIM_StateTypeDef +{ + HAL_LPTIM_STATE_RESET = 0x00U, /*!< Peripheral not yet initialized or disabled */ + HAL_LPTIM_STATE_READY = 0x01U, /*!< Peripheral Initialized and ready for use */ + HAL_LPTIM_STATE_BUSY = 0x02U, /*!< An internal process is ongoing */ + HAL_LPTIM_STATE_TIMEOUT = 0x03U, /*!< Timeout state */ + HAL_LPTIM_STATE_ERROR = 0x04U /*!< Internal Process is ongoing */ +}HAL_LPTIM_StateTypeDef; + +/** + * @brief LPTIM handle Structure definition + */ +typedef struct +{ + LPTIM_TypeDef *Instance; /*!< Register base address */ + + LPTIM_InitTypeDef Init; /*!< LPTIM required parameters */ + + HAL_StatusTypeDef Status; /*!< LPTIM peripheral status */ + + HAL_LockTypeDef Lock; /*!< LPTIM locking object */ + + __IO HAL_LPTIM_StateTypeDef State; /*!< LPTIM peripheral state */ + +}LPTIM_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup LPTIM_Exported_Constants LPTIM Exported Constants + * @{ + */ + +/** @defgroup LPTIM_Clock_Source LPTIM Clock Source + * @{ + */ +#define LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC ((uint32_t)0x00U) +#define LPTIM_CLOCKSOURCE_ULPTIM LPTIM_CFGR_CKSEL +/** + * @} + */ + +/** @defgroup LPTIM_Clock_Prescaler LPTIM Clock Prescaler + * @{ + */ +#define LPTIM_PRESCALER_DIV1 ((uint32_t)0x000000U) +#define LPTIM_PRESCALER_DIV2 LPTIM_CFGR_PRESC_0 +#define LPTIM_PRESCALER_DIV4 LPTIM_CFGR_PRESC_1 +#define LPTIM_PRESCALER_DIV8 ((uint32_t)(LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_1)) +#define LPTIM_PRESCALER_DIV16 LPTIM_CFGR_PRESC_2 +#define LPTIM_PRESCALER_DIV32 ((uint32_t)(LPTIM_CFGR_PRESC_0 | LPTIM_CFGR_PRESC_2)) +#define LPTIM_PRESCALER_DIV64 ((uint32_t)(LPTIM_CFGR_PRESC_1 | LPTIM_CFGR_PRESC_2)) +#define LPTIM_PRESCALER_DIV128 ((uint32_t)LPTIM_CFGR_PRESC) +/** + * @} + */ + +/** @defgroup LPTIM_Output_Polarity LPTIM Output Polarity + * @{ + */ + +#define LPTIM_OUTPUTPOLARITY_HIGH ((uint32_t)0x00000000U) +#define LPTIM_OUTPUTPOLARITY_LOW (LPTIM_CFGR_WAVPOL) +/** + * @} + */ + +/** @defgroup LPTIM_Clock_Sample_Time LPTIM Clock Sample Time + * @{ + */ +#define LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION ((uint32_t)0x00000000U) +#define LPTIM_CLOCKSAMPLETIME_2TRANSITIONS LPTIM_CFGR_CKFLT_0 +#define LPTIM_CLOCKSAMPLETIME_4TRANSITIONS LPTIM_CFGR_CKFLT_1 +#define LPTIM_CLOCKSAMPLETIME_8TRANSITIONS LPTIM_CFGR_CKFLT +/** + * @} + */ + +/** @defgroup LPTIM_Clock_Polarity LPTIM Clock Polarity + * @{ + */ + +#define LPTIM_CLOCKPOLARITY_RISING ((uint32_t)0x00000000U) +#define LPTIM_CLOCKPOLARITY_FALLING LPTIM_CFGR_CKPOL_0 +#define LPTIM_CLOCKPOLARITY_RISING_FALLING LPTIM_CFGR_CKPOL_1 +/** + * @} + */ + +/** @defgroup LPTIM_Trigger_Source LPTIM Trigger Source + * @{ + */ +#define LPTIM_TRIGSOURCE_SOFTWARE ((uint32_t)0x0000FFFFU) +#define LPTIM_TRIGSOURCE_0 ((uint32_t)0x00000000U) +#define LPTIM_TRIGSOURCE_1 ((uint32_t)LPTIM_CFGR_TRIGSEL_0) +#define LPTIM_TRIGSOURCE_2 LPTIM_CFGR_TRIGSEL_1 +#define LPTIM_TRIGSOURCE_3 ((uint32_t)LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_1) +#define LPTIM_TRIGSOURCE_4 LPTIM_CFGR_TRIGSEL_2 +#define LPTIM_TRIGSOURCE_5 ((uint32_t)LPTIM_CFGR_TRIGSEL_0 | LPTIM_CFGR_TRIGSEL_2) +#define LPTIM_TRIGSOURCE_6 ((uint32_t)LPTIM_CFGR_TRIGSEL_1 | LPTIM_CFGR_TRIGSEL_2) +#define LPTIM_TRIGSOURCE_7 LPTIM_CFGR_TRIGSEL +/** + * @} + */ + +/** @defgroup LPTIM_External_Trigger_Polarity LPTIM External Trigger Polarity + * @{ + */ +#define LPTIM_ACTIVEEDGE_RISING LPTIM_CFGR_TRIGEN_0 +#define LPTIM_ACTIVEEDGE_FALLING LPTIM_CFGR_TRIGEN_1 +#define LPTIM_ACTIVEEDGE_RISING_FALLING LPTIM_CFGR_TRIGEN +/** + * @} + */ + +/** @defgroup LPTIM_Trigger_Sample_Time LPTIM Trigger Sample Time + * @{ + */ +#define LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION ((uint32_t)0x00000000) +#define LPTIM_TRIGSAMPLETIME_2TRANSITIONS LPTIM_CFGR_TRGFLT_0 +#define LPTIM_TRIGSAMPLETIME_4TRANSITIONS LPTIM_CFGR_TRGFLT_1 +#define LPTIM_TRIGSAMPLETIME_8TRANSITIONS LPTIM_CFGR_TRGFLT +/** + * @} + */ + +/** @defgroup LPTIM_Updating_Mode LPTIM Updating Mode + * @{ + */ + +#define LPTIM_UPDATE_IMMEDIATE ((uint32_t)0x00000000U) +#define LPTIM_UPDATE_ENDOFPERIOD LPTIM_CFGR_PRELOAD +/** + * @} + */ + +/** @defgroup LPTIM_Counter_Source LPTIM Counter Source + * @{ + */ + +#define LPTIM_COUNTERSOURCE_INTERNAL ((uint32_t)0x00000000U) +#define LPTIM_COUNTERSOURCE_EXTERNAL LPTIM_CFGR_COUNTMODE +/** + * @} + */ + +/** @defgroup LPTIM_Input1_Source LPTIM Input1 Source + * @{ + */ + +#define LPTIM_INPUT1SOURCE_GPIO ((uint32_t)0x00000000U) /*!< For LPTIM1, LPTIM2 and LPTIM3 */ +#define LPTIM_INPUT1SOURCE_COMP1 LPTIM_CFGR2_IN1_SEL0 /*!< For LPTIM1 and LPTIM2 */ +#define LPTIM_INPUT1SOURCE_COMP2 LPTIM_CFGR2_IN1_SEL1 /*!< For LPTIM2 and LPTIM2 */ +#define LPTIM_INPUT1SOURCE_COMP1_COMP2 (LPTIM_CFGR2_IN1_SEL0|LPTIM_CFGR2_IN1_SEL1) /*!< For LPTIM2 */ +#define LPTIM_INPUT1SOURCE_SAI1_FSA LPTIM_CFGR2_IN1_SEL0 /*!< For LPTIM3 */ +#define LPTIM_INPUT1SOURCE_SAI1_FSB LPTIM_CFGR2_IN1_SEL1 /*!< For LPTIM3 */ +/** + * @} + */ + +/** @defgroup LPTIM_Input2_Source LPTIM Input2 Source + * @{ + */ + +#define LPTIM_INPUT2SOURCE_GPIO ((uint32_t)0x00000000U) /*!< For LPTIM1 and LPTIM2 */ +#define LPTIM_INPUT2SOURCE_COMP2 LPTIM_CFGR2_IN2_SEL0 /*!< For LPTIM1 and LPTIM2 */ +/** + * @} + */ + +/** @defgroup LPTIM_Flag_Definition LPTIM Flags Definition + * @{ + */ + +#define LPTIM_FLAG_DOWN LPTIM_ISR_DOWN +#define LPTIM_FLAG_UP LPTIM_ISR_UP +#define LPTIM_FLAG_ARROK LPTIM_ISR_ARROK +#define LPTIM_FLAG_CMPOK LPTIM_ISR_CMPOK +#define LPTIM_FLAG_EXTTRIG LPTIM_ISR_EXTTRIG +#define LPTIM_FLAG_ARRM LPTIM_ISR_ARRM +#define LPTIM_FLAG_CMPM LPTIM_ISR_CMPM +/** + * @} + */ + +/** @defgroup LPTIM_Interrupts_Definition LPTIM Interrupts Definition + * @{ + */ + +#define LPTIM_IT_DOWN LPTIM_IER_DOWNIE +#define LPTIM_IT_UP LPTIM_IER_UPIE +#define LPTIM_IT_ARROK LPTIM_IER_ARROKIE +#define LPTIM_IT_CMPOK LPTIM_IER_CMPOKIE +#define LPTIM_IT_EXTTRIG LPTIM_IER_EXTTRIGIE +#define LPTIM_IT_ARRM LPTIM_IER_ARRMIE +#define LPTIM_IT_CMPM LPTIM_IER_CMPMIE +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup LPTIM_Exported_Macros LPTIM Exported Macros + * @{ + */ + +/** @brief Reset LPTIM handle state + * @param __HANDLE__: LPTIM handle + * @retval None + */ +#define __HAL_LPTIM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_LPTIM_STATE_RESET) + +/** + * @brief Enable the LPTIM peripheral. + * @param __HANDLE__: LPTIM handle + * @retval None + */ +#define __HAL_LPTIM_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (LPTIM_CR_ENABLE)) + +/** + * @brief Disable the LPTIM peripheral. + * @param __HANDLE__: LPTIM handle + * @retval None + */ +#define __HAL_LPTIM_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(LPTIM_CR_ENABLE)) + +/** + * @brief Start the LPTIM peripheral in Continuous mode. + * @param __HANDLE__: LPTIM handle + * @retval None + */ +#define __HAL_LPTIM_START_CONTINUOUS(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_CNTSTRT) +/** + * @brief Start the LPTIM peripheral in single mode. + * @param __HANDLE__: LPTIM handle + * @retval None + */ +#define __HAL_LPTIM_START_SINGLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_SNGSTRT) + +/** + * @brief Reset the LPTIM Counter register in synchronous mode. + * @param __HANDLE__: LPTIM handle + * @retval None + */ +#define __HAL_LPTIM_RESET_COUNTER(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_COUNTRST) + +/** + * @brief Reset after read of the LPTIM Counter register in asynchronous mode. + * @param __HANDLE__: LPTIM handle + * @retval None + */ +#define __HAL_LPTIM_RESET_COUNTER_AFTERREAD(__HANDLE__) ((__HANDLE__)->Instance->CR |= LPTIM_CR_RSTARE) + +/** + * @brief Write the passed parameter in the Autoreload register. + * @param __HANDLE__: LPTIM handle + * @param __VALUE__ : Autoreload value + * @retval None + */ +#define __HAL_LPTIM_AUTORELOAD_SET(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->ARR = (__VALUE__)) + +/** + * @brief Write the passed parameter in the Compare register. + * @param __HANDLE__: LPTIM handle + * @param __VALUE__ : Compare value + * @retval None + */ +#define __HAL_LPTIM_COMPARE_SET(__HANDLE__ , __VALUE__) ((__HANDLE__)->Instance->CMP = (__VALUE__)) + +/** + * @brief Check whether the specified LPTIM flag is set or not. + * @param __HANDLE__: LPTIM handle + * @param __FLAG__ : LPTIM flag to check + * This parameter can be a value of: + * @arg LPTIM_FLAG_DOWN : Counter direction change up Flag. + * @arg LPTIM_FLAG_UP : Counter direction change down to up Flag. + * @arg LPTIM_FLAG_ARROK : Autoreload register update OK Flag. + * @arg LPTIM_FLAG_CMPOK : Compare register update OK Flag. + * @arg LPTIM_FLAG_EXTTRIG : External trigger edge event Flag. + * @arg LPTIM_FLAG_ARRM : Autoreload match Flag. + * @arg LPTIM_FLAG_CMPM : Compare match Flag. + * @retval The state of the specified flag (SET or RESET). + */ +#define __HAL_LPTIM_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR &(__FLAG__)) == (__FLAG__)) + +/** + * @brief Clear the specified LPTIM flag. + * @param __HANDLE__: LPTIM handle. + * @param __FLAG__ : LPTIM flag to clear. + * This parameter can be a value of: + * @arg LPTIM_FLAG_DOWN : Counter direction change up Flag. + * @arg LPTIM_FLAG_UP : Counter direction change down to up Flag. + * @arg LPTIM_FLAG_ARROK : Autoreload register update OK Flag. + * @arg LPTIM_FLAG_CMPOK : Compare register update OK Flag. + * @arg LPTIM_FLAG_EXTTRIG : External trigger edge event Flag. + * @arg LPTIM_FLAG_ARRM : Autoreload match Flag. + * @arg LPTIM_FLAG_CMPM : Compare match Flag. + * @retval None. + */ +#define __HAL_LPTIM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + +/** + * @brief Enable the specified LPTIM interrupt. + * @param __HANDLE__ : LPTIM handle. + * @param __INTERRUPT__ : LPTIM interrupt to set. + * This parameter can be a value of: + * @arg LPTIM_IT_DOWN : Counter direction change up Interrupt. + * @arg LPTIM_IT_UP : Counter direction change down to up Interrupt. + * @arg LPTIM_IT_ARROK : Autoreload register update OK Interrupt. + * @arg LPTIM_IT_CMPOK : Compare register update OK Interrupt. + * @arg LPTIM_IT_EXTTRIG : External trigger edge event Interrupt. + * @arg LPTIM_IT_ARRM : Autoreload match Interrupt. + * @arg LPTIM_IT_CMPM : Compare match Interrupt. + * @retval None. + */ +#define __HAL_LPTIM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) + + /** + * @brief Disable the specified LPTIM interrupt. + * @param __HANDLE__ : LPTIM handle. + * @param __INTERRUPT__ : LPTIM interrupt to set. + * This parameter can be a value of: + * @arg LPTIM_IT_DOWN : Counter direction change up Interrupt. + * @arg LPTIM_IT_UP : Counter direction change down to up Interrupt. + * @arg LPTIM_IT_ARROK : Autoreload register update OK Interrupt. + * @arg LPTIM_IT_CMPOK : Compare register update OK Interrupt. + * @arg LPTIM_IT_EXTTRIG : External trigger edge event Interrupt. + * @arg LPTIM_IT_ARRM : Autoreload match Interrupt. + * @arg LPTIM_IT_CMPM : Compare match Interrupt. + * @retval None. + */ +#define __HAL_LPTIM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__))) + + /** + * @brief Check whether the specified LPTIM interrupt is set or not. + * @param __HANDLE__ : LPTIM handle. + * @param __INTERRUPT__ : LPTIM interrupt to check. + * This parameter can be a value of: + * @arg LPTIM_IT_DOWN : Counter direction change up Interrupt. + * @arg LPTIM_IT_UP : Counter direction change down to up Interrupt. + * @arg LPTIM_IT_ARROK : Autoreload register update OK Interrupt. + * @arg LPTIM_IT_CMPOK : Compare register update OK Interrupt. + * @arg LPTIM_IT_EXTTRIG : External trigger edge event Interrupt. + * @arg LPTIM_IT_ARRM : Autoreload match Interrupt. + * @arg LPTIM_IT_CMPM : Compare match Interrupt. + * @retval Interrupt status. + */ + +#define __HAL_LPTIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** + * @} + */ +/* End of exported macros ----------------------------------------------------*/ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup LPTIM_Private_Constants LPTIM Private Constants + * @{ + */ + +/** + * @} + */ +/* End of private constants --------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/** @defgroup LPTIM_Private_Macros LPTIM Private Macros + * @{ + */ + +#define IS_LPTIM_CLOCK_SOURCE(__SOURCE__) (((__SOURCE__) == LPTIM_CLOCKSOURCE_ULPTIM) || \ + ((__SOURCE__) == LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC)) + + +#define IS_LPTIM_CLOCK_PRESCALER(__PRESCALER__) (((__PRESCALER__) == LPTIM_PRESCALER_DIV1 ) || \ + ((__PRESCALER__) == LPTIM_PRESCALER_DIV2 ) || \ + ((__PRESCALER__) == LPTIM_PRESCALER_DIV4 ) || \ + ((__PRESCALER__) == LPTIM_PRESCALER_DIV8 ) || \ + ((__PRESCALER__) == LPTIM_PRESCALER_DIV16 ) || \ + ((__PRESCALER__) == LPTIM_PRESCALER_DIV32 ) || \ + ((__PRESCALER__) == LPTIM_PRESCALER_DIV64 ) || \ + ((__PRESCALER__) == LPTIM_PRESCALER_DIV128)) + +#define IS_LPTIM_CLOCK_PRESCALERDIV1(__PRESCALER__) ((__PRESCALER__) == LPTIM_PRESCALER_DIV1) + +#define IS_LPTIM_OUTPUT_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_OUTPUTPOLARITY_LOW ) || \ + ((__POLARITY__) == LPTIM_OUTPUTPOLARITY_HIGH)) + +#define IS_LPTIM_CLOCK_SAMPLE_TIME(__SAMPLETIME__) (((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION) || \ + ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_2TRANSITIONS) || \ + ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_4TRANSITIONS) || \ + ((__SAMPLETIME__) == LPTIM_CLOCKSAMPLETIME_8TRANSITIONS)) + +#define IS_LPTIM_CLOCK_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_CLOCKPOLARITY_RISING) || \ + ((__POLARITY__) == LPTIM_CLOCKPOLARITY_FALLING) || \ + ((__POLARITY__) == LPTIM_CLOCKPOLARITY_RISING_FALLING)) + +#define IS_LPTIM_TRG_SOURCE(__TRIG__) (((__TRIG__) == LPTIM_TRIGSOURCE_SOFTWARE) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_0) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_1) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_2) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_3) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_4) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_5) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_6) || \ + ((__TRIG__) == LPTIM_TRIGSOURCE_7)) + +#define IS_LPTIM_EXT_TRG_POLARITY(__POLARITY__) (((__POLARITY__) == LPTIM_ACTIVEEDGE_RISING ) || \ + ((__POLARITY__) == LPTIM_ACTIVEEDGE_FALLING ) || \ + ((__POLARITY__) == LPTIM_ACTIVEEDGE_RISING_FALLING )) + +#define IS_LPTIM_TRIG_SAMPLE_TIME(__SAMPLETIME__) (((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_DIRECTTRANSITION) || \ + ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_2TRANSITIONS ) || \ + ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_4TRANSITIONS ) || \ + ((__SAMPLETIME__) == LPTIM_TRIGSAMPLETIME_8TRANSITIONS )) + +#define IS_LPTIM_UPDATE_MODE(__MODE__) (((__MODE__) == LPTIM_UPDATE_IMMEDIATE) || \ + ((__MODE__) == LPTIM_UPDATE_ENDOFPERIOD)) + +#define IS_LPTIM_COUNTER_SOURCE(__SOURCE__) (((__SOURCE__) == LPTIM_COUNTERSOURCE_INTERNAL) || \ + ((__SOURCE__) == LPTIM_COUNTERSOURCE_EXTERNAL)) + +#define IS_LPTIM_AUTORELOAD(__AUTORELOAD__) ((__AUTORELOAD__) <= 0x0000FFFF) + +#define IS_LPTIM_COMPARE(__COMPARE__) ((__COMPARE__) <= 0x0000FFFF) + +#define IS_LPTIM_PERIOD(__PERIOD__) ((__PERIOD__) <= 0x0000FFFF) + +#define IS_LPTIM_PULSE(__PULSE__) ((__PULSE__) <= 0x0000FFFF) + +#define IS_LPTIM_INPUT1_SOURCE(__INSTANCE__, __SOURCE__) \ + ((((__INSTANCE__) == LPTIM1) && \ + (((__SOURCE__) == LPTIM_INPUT1SOURCE_GPIO) || \ + ((__SOURCE__) == LPTIM_INPUT1SOURCE_COMP1))) \ + || \ + (((__INSTANCE__) == LPTIM2) && \ + (((__SOURCE__) == LPTIM_INPUT1SOURCE_GPIO) || \ + ((__SOURCE__) == LPTIM_INPUT1SOURCE_COMP1) || \ + ((__SOURCE__) == LPTIM_INPUT1SOURCE_COMP2) || \ + ((__SOURCE__) == LPTIM_INPUT1SOURCE_COMP1_COMP2))) \ + || \ + (((__INSTANCE__) == LPTIM3) && \ + (((__SOURCE__) == LPTIM_INPUT1SOURCE_GPIO) || \ + ((__SOURCE__) == LPTIM_INPUT1SOURCE_SAI1_FSA) || \ + ((__SOURCE__) == LPTIM_INPUT1SOURCE_SAI1_FSB)))) + +#define IS_LPTIM_INPUT2_SOURCE(__INSTANCE__, __SOURCE__) \ + (((__INSTANCE__) == LPTIM1) && \ + (((__SOURCE__) == LPTIM_INPUT2SOURCE_GPIO) || \ + ((__SOURCE__) == LPTIM_INPUT2SOURCE_COMP2)) \ + || \ + ((__INSTANCE__) == LPTIM2) && \ + (((__SOURCE__) == LPTIM_INPUT2SOURCE_GPIO) || \ + ((__SOURCE__) == LPTIM_INPUT2SOURCE_COMP2))) +/** + * @} + */ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup LPTIM_Exported_Functions LPTIM Exported Functions + * @{ + */ + +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_LPTIM_Init(LPTIM_HandleTypeDef *hlptim); +HAL_StatusTypeDef HAL_LPTIM_DeInit(LPTIM_HandleTypeDef *hlptim); + +/* MSP functions *************************************************************/ +void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef *hlptim); +void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef *hlptim); + +/* Start/Stop operation functions *********************************************/ +/* ################################# PWM Mode ################################*/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_LPTIM_PWM_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse); +HAL_StatusTypeDef HAL_LPTIM_PWM_Stop(LPTIM_HandleTypeDef *hlptim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse); +HAL_StatusTypeDef HAL_LPTIM_PWM_Stop_IT(LPTIM_HandleTypeDef *hlptim); + +/* ############################# One Pulse Mode ##############################*/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse); +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop(LPTIM_HandleTypeDef *hlptim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse); +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop_IT(LPTIM_HandleTypeDef *hlptim); + +/* ############################## Set once Mode ##############################*/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse); +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop(LPTIM_HandleTypeDef *hlptim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse); +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop_IT(LPTIM_HandleTypeDef *hlptim); + +/* ############################### Encoder Mode ##############################*/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_LPTIM_Encoder_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period); +HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop(LPTIM_HandleTypeDef *hlptim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_LPTIM_Encoder_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period); +HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop_IT(LPTIM_HandleTypeDef *hlptim); + +/* ############################# Time out Mode ##############################*/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout); +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop(LPTIM_HandleTypeDef *hlptim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout); +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop_IT(LPTIM_HandleTypeDef *hlptim); + +/* ############################## Counter Mode ###############################*/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_LPTIM_Counter_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period); +HAL_StatusTypeDef HAL_LPTIM_Counter_Stop(LPTIM_HandleTypeDef *hlptim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_LPTIM_Counter_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period); +HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT(LPTIM_HandleTypeDef *hlptim); + +/* Reading operation functions ************************************************/ +uint32_t HAL_LPTIM_ReadCounter(LPTIM_HandleTypeDef *hlptim); +uint32_t HAL_LPTIM_ReadAutoReload(LPTIM_HandleTypeDef *hlptim); +uint32_t HAL_LPTIM_ReadCompare(LPTIM_HandleTypeDef *hlptim); + +/* LPTIM IRQ functions *******************************************************/ +void HAL_LPTIM_IRQHandler(LPTIM_HandleTypeDef *hlptim); + +/* CallBack functions ********************************************************/ +void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim); +void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim); +void HAL_LPTIM_TriggerCallback(LPTIM_HandleTypeDef *hlptim); +void HAL_LPTIM_CompareWriteCallback(LPTIM_HandleTypeDef *hlptim); +void HAL_LPTIM_AutoReloadWriteCallback(LPTIM_HandleTypeDef *hlptim); +void HAL_LPTIM_DirectionUpCallback(LPTIM_HandleTypeDef *hlptim); +void HAL_LPTIM_DirectionDownCallback(LPTIM_HandleTypeDef *hlptim); + +/* Peripheral State functions ************************************************/ +HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim); + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup LPTIM_Private_Functions LPTIM Private Functions + * @{ + */ + +/** + * @} + */ +/** + * @} + */ +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_LPTIM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h new file mode 100644 index 0000000000..7fdf9c5a87 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h @@ -0,0 +1,674 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_ltdc.h + * @author MCD Application Team + * @brief Header file of LTDC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_LTDC_H +#define __STM32H7xx_HAL_LTDC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup LTDC LTDC + * @brief LTDC HAL module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup LTDC_Exported_Types LTDC Exported Types + * @{ + */ +#define MAX_LAYER 2U + +/** + * @brief LTDC color structure definition + */ +typedef struct +{ + uint8_t Blue; /*!< Configures the blue value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + + uint8_t Green; /*!< Configures the green value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + + uint8_t Red; /*!< Configures the red value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + + uint8_t Reserved; /*!< Reserved 0xFF */ +} LTDC_ColorTypeDef; + +/** + * @brief LTDC Init structure definition + */ +typedef struct +{ + uint32_t HSPolarity; /*!< configures the horizontal synchronization polarity. + This parameter can be one value of @ref LTDC_HS_POLARITY */ + + uint32_t VSPolarity; /*!< configures the vertical synchronization polarity. + This parameter can be one value of @ref LTDC_VS_POLARITY */ + + uint32_t DEPolarity; /*!< configures the data enable polarity. + This parameter can be one of value of @ref LTDC_DE_POLARITY */ + + uint32_t PCPolarity; /*!< configures the pixel clock polarity. + This parameter can be one of value of @ref LTDC_PC_POLARITY */ + + uint32_t HorizontalSync; /*!< configures the number of Horizontal synchronization width. + This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */ + + uint32_t VerticalSync; /*!< configures the number of Vertical synchronization height. + This parameter must be a number between Min_Data = 0x000 and Max_Data = 0x7FF. */ + + uint32_t AccumulatedHBP; /*!< configures the accumulated horizontal back porch width. + This parameter must be a number between Min_Data = LTDC_HorizontalSync and Max_Data = 0xFFF. */ + + uint32_t AccumulatedVBP; /*!< configures the accumulated vertical back porch height. + This parameter must be a number between Min_Data = LTDC_VerticalSync and Max_Data = 0x7FF. */ + + uint32_t AccumulatedActiveW; /*!< configures the accumulated active width. + This parameter must be a number between Min_Data = LTDC_AccumulatedHBP and Max_Data = 0xFFF. */ + + uint32_t AccumulatedActiveH; /*!< configures the accumulated active height. + This parameter must be a number between Min_Data = LTDC_AccumulatedVBP and Max_Data = 0x7FF. */ + + uint32_t TotalWidth; /*!< configures the total width. + This parameter must be a number between Min_Data = LTDC_AccumulatedActiveW and Max_Data = 0xFFF. */ + + uint32_t TotalHeigh; /*!< configures the total height. + This parameter must be a number between Min_Data = LTDC_AccumulatedActiveH and Max_Data = 0x7FF. */ + + LTDC_ColorTypeDef Backcolor; /*!< Configures the background color. */ +} LTDC_InitTypeDef; + +/** + * @brief LTDC Layer structure definition + */ +typedef struct +{ + uint32_t WindowX0; /*!< Configures the Window Horizontal Start Position. + This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */ + + uint32_t WindowX1; /*!< Configures the Window Horizontal Stop Position. + This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */ + + uint32_t WindowY0; /*!< Configures the Window vertical Start Position. + This parameter must be a number between Min_Data = 0x000 and Max_Data = 0x7FF. */ + + uint32_t WindowY1; /*!< Configures the Window vertical Stop Position. + This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x7FF. */ + + uint32_t PixelFormat; /*!< Specifies the pixel format. + This parameter can be one of value of @ref LTDC_Pixelformat */ + + uint32_t Alpha; /*!< Specifies the constant alpha used for blending. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + + uint32_t Alpha0; /*!< Configures the default alpha value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ + + uint32_t BlendingFactor1; /*!< Select the blending factor 1. + This parameter can be one of value of @ref LTDC_BlendingFactor1 */ + + uint32_t BlendingFactor2; /*!< Select the blending factor 2. + This parameter can be one of value of @ref LTDC_BlendingFactor2 */ + + uint32_t FBStartAdress; /*!< Configures the color frame buffer address */ + + uint32_t ImageWidth; /*!< Configures the color frame buffer line length. + This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x1FFF. */ + + uint32_t ImageHeight; /*!< Specifies the number of line in frame buffer. + This parameter must be a number between Min_Data = 0x000 and Max_Data = 0x7FF. */ + + LTDC_ColorTypeDef Backcolor; /*!< Configures the layer background color. */ +} LTDC_LayerCfgTypeDef; + +/** + * @brief HAL LTDC State enumeration definition + */ +typedef enum +{ + HAL_LTDC_STATE_RESET = 0x00U, /*!< LTDC not yet initialized or disabled */ + HAL_LTDC_STATE_READY = 0x01U, /*!< LTDC initialized and ready for use */ + HAL_LTDC_STATE_BUSY = 0x02U, /*!< LTDC internal process is ongoing */ + HAL_LTDC_STATE_TIMEOUT = 0x03U, /*!< LTDC Timeout state */ + HAL_LTDC_STATE_ERROR = 0x04U /*!< LTDC state error */ +}HAL_LTDC_StateTypeDef; + +/** + * @brief LTDC handle Structure definition + */ +typedef struct +{ + LTDC_TypeDef *Instance; /*!< LTDC Register base address */ + + LTDC_InitTypeDef Init; /*!< LTDC parameters */ + + LTDC_LayerCfgTypeDef LayerCfg[MAX_LAYER]; /*!< LTDC Layers parameters */ + + HAL_LockTypeDef Lock; /*!< LTDC Lock */ + + __IO HAL_LTDC_StateTypeDef State; /*!< LTDC state */ + + __IO uint32_t ErrorCode; /*!< LTDC Error code */ + +} LTDC_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup LTDC_Exported_Constants LTDC Exported Constants + * @{ + */ + +/** @defgroup LTDC_Error_Code LTDC Error Code + * @{ + */ +#define HAL_LTDC_ERROR_NONE (0x00000000U) /*!< LTDC No error */ +#define HAL_LTDC_ERROR_TE (0x00000001U) /*!< LTDC Transfer error */ +#define HAL_LTDC_ERROR_FU (0x00000002U) /*!< LTDC FIFO Underrun */ +#define HAL_LTDC_ERROR_TIMEOUT (0x00000020U) /*!< LTDC Timeout error */ +/** + * @} + */ + +/** @defgroup LTDC_Layer LTDC Layer + * @{ + */ +#define LTDC_LAYER_1 (0x00000000U) /*!< LTDC Layer 1 */ +#define LTDC_LAYER_2 (0x00000001U) /*!< LTDC Layer 2 */ +/** + * @} + */ + + +/** @defgroup LTDC_HS_POLARITY LTDC HS POLARITY + * @{ + */ +#define LTDC_HSPOLARITY_AL (0x00000000U) /*!< Horizontal Synchronization is active low. */ +#define LTDC_HSPOLARITY_AH LTDC_GCR_HSPOL /*!< Horizontal Synchronization is active high. */ +/** + * @} + */ + +/** @defgroup LTDC_VS_POLARITY LTDC VS POLARITY + * @{ + */ +#define LTDC_VSPOLARITY_AL (0x00000000U) /*!< Vertical Synchronization is active low. */ +#define LTDC_VSPOLARITY_AH LTDC_GCR_VSPOL /*!< Vertical Synchronization is active high. */ +/** + * @} + */ + +/** @defgroup LTDC_DE_POLARITY LTDC DE POLARITY + * @{ + */ +#define LTDC_DEPOLARITY_AL (0x00000000U) /*!< Data Enable, is active low. */ +#define LTDC_DEPOLARITY_AH LTDC_GCR_DEPOL /*!< Data Enable, is active high. */ +/** + * @} + */ + +/** @defgroup LTDC_PC_POLARITY LTDC PC POLARITY + * @{ + */ +#define LTDC_PCPOLARITY_IPC (0x00000000U) /*!< input pixel clock. */ +#define LTDC_PCPOLARITY_IIPC LTDC_GCR_PCPOL /*!< inverted input pixel clock. */ +/** + * @} + */ + +/** @defgroup LTDC_SYNC LTDC SYNC + * @{ + */ +#define LTDC_HORIZONTALSYNC (LTDC_SSCR_HSW >> 16) /*!< Horizontal synchronization width. */ +#define LTDC_VERTICALSYNC LTDC_SSCR_VSH /*!< Vertical synchronization height. */ +/** + * @} + */ + +/** @defgroup LTDC_BACK_COLOR LTDC BACK COLOR + * @{ + */ +#define LTDC_COLOR (0x000000FFU) /*!< Color mask */ +/** + * @} + */ + +/** @defgroup LTDC_BlendingFactor1 LTDC Blending Factor1 + * @{ + */ +#define LTDC_BLENDING_FACTOR1_CA (0x00000400U) /*!< Blending factor : Cte Alpha */ +#define LTDC_BLENDING_FACTOR1_PAxCA (0x00000600U) /*!< Blending factor : Cte Alpha x Pixel Alpha*/ +/** + * @} + */ + +/** @defgroup LTDC_BlendingFactor2 LTDC Blending Factor2 + * @{ + */ +#define LTDC_BLENDING_FACTOR2_CA (0x00000005U) /*!< Blending factor : Cte Alpha */ +#define LTDC_BLENDING_FACTOR2_PAxCA (0x00000007U) /*!< Blending factor : Cte Alpha x Pixel Alpha*/ +/** + * @} + */ + +/** @defgroup LTDC_Pixelformat LTDC Pixel format + * @{ + */ +#define LTDC_PIXEL_FORMAT_ARGB8888 (0x00000000U) /*!< ARGB8888 LTDC pixel format */ +#define LTDC_PIXEL_FORMAT_RGB888 (0x00000001U) /*!< RGB888 LTDC pixel format */ +#define LTDC_PIXEL_FORMAT_RGB565 (0x00000002U) /*!< RGB565 LTDC pixel format */ +#define LTDC_PIXEL_FORMAT_ARGB1555 (0x00000003U) /*!< ARGB1555 LTDC pixel format */ +#define LTDC_PIXEL_FORMAT_ARGB4444 (0x00000004U) /*!< ARGB4444 LTDC pixel format */ +#define LTDC_PIXEL_FORMAT_L8 (0x00000005U) /*!< L8 LTDC pixel format */ +#define LTDC_PIXEL_FORMAT_AL44 (0x00000006U) /*!< AL44 LTDC pixel format */ +#define LTDC_PIXEL_FORMAT_AL88 (0x00000007U) /*!< AL88 LTDC pixel format */ +/** + * @} + */ + +/** @defgroup LTDC_Alpha LTDC Alpha + * @{ + */ +#define LTDC_ALPHA LTDC_LxCACR_CONSTA /*!< LTDC Cte Alpha mask */ +/** + * @} + */ + +/** @defgroup LTDC_LAYER_Config LTDC LAYER Config + * @{ + */ +#define LTDC_STOPPOSITION (LTDC_LxWHPCR_WHSPPOS >> 16) /*!< LTDC Layer stop position */ +#define LTDC_STARTPOSITION LTDC_LxWHPCR_WHSTPOS /*!< LTDC Layer start position */ + +#define LTDC_COLOR_FRAME_BUFFER LTDC_LxCFBLR_CFBLL /*!< LTDC Layer Line length */ +#define LTDC_LINE_NUMBER LTDC_LxCFBLNR_CFBLNBR /*!< LTDC Layer Line number */ +/** + * @} + */ + +/** @defgroup LTDC_Interrupts LTDC Interrupts + * @{ + */ +#define LTDC_IT_LI LTDC_IER_LIE +#define LTDC_IT_FU LTDC_IER_FUIE +#define LTDC_IT_TE LTDC_IER_TERRIE +#define LTDC_IT_RR LTDC_IER_RRIE +/** + * @} + */ + +/** @defgroup LTDC_Flags LTDC Flags + * @{ + */ +#define LTDC_FLAG_LI LTDC_ISR_LIF +#define LTDC_FLAG_FU LTDC_ISR_FUIF +#define LTDC_FLAG_TE LTDC_ISR_TERRIF +#define LTDC_FLAG_RR LTDC_ISR_RRIF +/** + * @} + */ + +/** @defgroup LTDC_Reload_Type LTDC Reload Type + * @{ + */ +#define LTDC_RELOAD_IMMEDIATE LTDC_SRCR_IMR /*!< Immediate Reload */ +#define LTDC_RELOAD_VERTICAL_BLANKING LTDC_SRCR_VBR /*!< Vertical Blanking Reload */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup LTDC_Exported_Macros LTDC Exported Macros + * @{ + */ + +/** @brief Reset LTDC handle state. + * @param __HANDLE__ LTDC handle + * @retval None + */ +#define __HAL_LTDC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_LTDC_STATE_RESET) + +/** + * @brief Enable the LTDC. + * @param __HANDLE__: LTDC handle + * @retval None. + */ +#define __HAL_LTDC_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->GCR |= LTDC_GCR_LTDCEN) + +/** + * @brief Disable the LTDC. + * @param __HANDLE__: LTDC handle + * @retval None. + */ +#define __HAL_LTDC_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->GCR &= ~(LTDC_GCR_LTDCEN)) + +/** + * @brief Enable the LTDC Layer. + * @param __HANDLE__ LTDC handle + * @param __LAYER__ Specify the layer to be enabled. + * This parameter can be LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1). + * @retval None. + */ +#define __HAL_LTDC_LAYER_ENABLE(__HANDLE__, __LAYER__) ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR |= (uint32_t)LTDC_LxCR_LEN) + +/** + * @brief Disable the LTDC Layer. + * @param __HANDLE__ LTDC handle + * @param __LAYER__ Specify the layer to be disabled. + * This parameter can be LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1). + * @retval None. + */ +#define __HAL_LTDC_LAYER_DISABLE(__HANDLE__, __LAYER__) ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR &= ~(uint32_t)LTDC_LxCR_LEN) + +/** + * @brief Reload immediately all LTDC Layers. + * @param __HANDLE__ LTDC handle + * @retval None. + */ +#define __HAL_LTDC_RELOAD_IMMEDIATE_CONFIG(__HANDLE__) ((__HANDLE__)->Instance->SRCR |= LTDC_SRCR_IMR) + +/** + * @brief Reload during vertical blanking period all LTDC Layers. + * @param __HANDLE__ LTDC handle + * @retval None. + */ +#define __HAL_LTDC_VERTICAL_BLANKING_RELOAD_CONFIG(__HANDLE__) ((__HANDLE__)->Instance->SRCR |= LTDC_SRCR_VBR) + +/* Interrupt & Flag management */ +/** + * @brief Get the LTDC pending flags. + * @param __HANDLE__: LTDC handle + * @param __FLAG__: Get the specified flag. + * This parameter can be any combination of the following values: + * @arg LTDC_FLAG_LI: Line Interrupt flag + * @arg LTDC_FLAG_FU: FIFO Underrun Interrupt flag + * @arg LTDC_FLAG_TE: Transfer Error interrupt flag + * @arg LTDC_FLAG_RR: Register Reload Interrupt Flag + * @retval The state of FLAG (SET or RESET). + */ +#define __HAL_LTDC_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR & (__FLAG__)) + +/** + * @brief Clears the LTDC pending flags. + * @param __HANDLE__: LTDC handle + * @param __FLAG__: specifies the flag to clear. + * This parameter can be any combination of the following values: + * @arg LTDC_FLAG_LI: Line Interrupt flag + * @arg LTDC_FLAG_FU: FIFO Underrun Interrupt flag + * @arg LTDC_FLAG_TE: Transfer Error interrupt flag + * @arg LTDC_FLAG_RR: Register Reload Interrupt Flag + * @retval None + */ +#define __HAL_LTDC_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + +/** + * @brief Enables the specified LTDC interrupts. + * @param __HANDLE__: LTDC handle + * @param __INTERRUPT__: specifies the LTDC interrupt sources to be enabled. + * This parameter can be any combination of the following values: + * @arg LTDC_IT_LI: Line Interrupt flag + * @arg LTDC_IT_FU: FIFO Underrun Interrupt flag + * @arg LTDC_IT_TE: Transfer Error interrupt flag + * @arg LTDC_IT_RR: Register Reload Interrupt Flag + * @retval None + */ +#define __HAL_LTDC_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) + +/** + * @brief Disables the specified LTDC interrupts. + * @param __HANDLE__: LTDC handle + * @param __INTERRUPT__: specifies the LTDC interrupt sources to be disabled. + * This parameter can be any combination of the following values: + * @arg LTDC_IT_LI: Line Interrupt flag + * @arg LTDC_IT_FU: FIFO Underrun Interrupt flag + * @arg LTDC_IT_TE: Transfer Error interrupt flag + * @arg LTDC_IT_RR: Register Reload Interrupt Flag + * @retval None + */ +#define __HAL_LTDC_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= ~(__INTERRUPT__)) + +/** + * @brief Checks whether the specified LTDC interrupt has occurred or not. + * @param __HANDLE__: LTDC handle + * @param __INTERRUPT__: specifies the LTDC interrupt source to check. + * This parameter can be one of the following values: + * @arg LTDC_IT_LI: Line Interrupt flag + * @arg LTDC_IT_FU: FIFO Underrun Interrupt flag + * @arg LTDC_IT_TE: Transfer Error interrupt flag + * @arg LTDC_IT_RR: Register Reload Interrupt Flag + * @retval The state of INTERRUPT (SET or RESET). + */ +#define __HAL_LTDC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER & (__INTERRUPT__)) +/** + * @} + */ + +#if defined(DSI) +/* Include LTDC HAL Extension module */ +#include "stm32h7xx_hal_ltdc_ex.h" + +#endif /*DSI*/ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup LTDC_Exported_Functions + * @{ + */ +/** @addtogroup LTDC_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions *****************************/ +HAL_StatusTypeDef HAL_LTDC_Init(LTDC_HandleTypeDef *hltdc); +HAL_StatusTypeDef HAL_LTDC_DeInit(LTDC_HandleTypeDef *hltdc); +void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc); +void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc); +void HAL_LTDC_ErrorCallback(LTDC_HandleTypeDef *hltdc); +void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef *hltdc); +void HAL_LTDC_ReloadEventCallback(LTDC_HandleTypeDef *hltdc); +/** + * @} + */ + +/** @addtogroup LTDC_Exported_Functions_Group2 + * @{ + */ +/* IO operation functions *****************************************************/ +void HAL_LTDC_IRQHandler(LTDC_HandleTypeDef *hltdc); +/** + * @} + */ + +/** @addtogroup LTDC_Exported_Functions_Group3 + * @{ + */ +/* Peripheral Control functions ***********************************************/ +HAL_StatusTypeDef HAL_LTDC_ConfigLayer(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetWindowSize(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetWindowPosition(LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetPixelFormat(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetAlpha(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetAddress(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetPitch(LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_ConfigCLUT(LTDC_HandleTypeDef *hltdc, uint32_t *pCLUT, uint32_t CLUTSize, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_EnableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_DisableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_EnableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_DisableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_ProgramLineEvent(LTDC_HandleTypeDef *hltdc, uint32_t Line); +HAL_StatusTypeDef HAL_LTDC_EnableDither(LTDC_HandleTypeDef *hltdc); +HAL_StatusTypeDef HAL_LTDC_DisableDither(LTDC_HandleTypeDef *hltdc); +HAL_StatusTypeDef HAL_LTDC_Reload(LTDC_HandleTypeDef *hltdc, uint32_t ReloadType); +HAL_StatusTypeDef HAL_LTDC_ConfigLayer_NoReload(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetWindowSize_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetWindowPosition_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetPixelFormat_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetAlpha_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetAddress_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_SetPitch_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_EnableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_DisableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_EnableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); +HAL_StatusTypeDef HAL_LTDC_DisableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx); + +/** + * @} + */ + +/** @addtogroup LTDC_Exported_Functions_Group4 + * @{ + */ +/* Peripheral State functions *************************************************/ +HAL_LTDC_StateTypeDef HAL_LTDC_GetState(LTDC_HandleTypeDef *hltdc); +uint32_t HAL_LTDC_GetError(LTDC_HandleTypeDef *hltdc); +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/** @defgroup LTDC_Private_Types LTDC Private Types + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup LTDC_Private_Variables LTDC Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup LTDC_Private_Constants LTDC Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup LTDC_Private_Macros LTDC Private Macros + * @{ + */ +#define LTDC_LAYER(__HANDLE__, __LAYER__) ((LTDC_Layer_TypeDef *)((uint32_t)(((uint32_t)((__HANDLE__)->Instance)) + 0x84 + (0x80*(__LAYER__))))) +#define IS_LTDC_LAYER(__LAYER__) ((__LAYER__) < MAX_LAYER) +#define IS_LTDC_HSPOL(__HSPOL__) (((__HSPOL__) == LTDC_HSPOLARITY_AL) || ((__HSPOL__) == LTDC_HSPOLARITY_AH)) +#define IS_LTDC_VSPOL(__VSPOL__) (((__VSPOL__) == LTDC_VSPOLARITY_AL) || ((__VSPOL__) == LTDC_VSPOLARITY_AH)) +#define IS_LTDC_DEPOL(__DEPOL__) (((__DEPOL__) == LTDC_DEPOLARITY_AL) || ((__DEPOL__) == LTDC_DEPOLARITY_AH)) +#define IS_LTDC_PCPOL(__PCPOL__) (((__PCPOL__) == LTDC_PCPOLARITY_IPC) || ((__PCPOL__) == LTDC_PCPOLARITY_IIPC)) +#define IS_LTDC_HSYNC(__HSYNC__) ((__HSYNC__) <= LTDC_HORIZONTALSYNC) +#define IS_LTDC_VSYNC(__VSYNC__) ((__VSYNC__) <= LTDC_VERTICALSYNC) +#define IS_LTDC_AHBP(__AHBP__) ((__AHBP__) <= LTDC_HORIZONTALSYNC) +#define IS_LTDC_AVBP(__AVBP__) ((__AVBP__) <= LTDC_VERTICALSYNC) +#define IS_LTDC_AAW(__AAW__) ((__AAW__) <= LTDC_HORIZONTALSYNC) +#define IS_LTDC_AAH(__AAH__) ((__AAH__) <= LTDC_VERTICALSYNC) +#define IS_LTDC_TOTALW(__TOTALW__) ((__TOTALW__) <= LTDC_HORIZONTALSYNC) +#define IS_LTDC_TOTALH(__TOTALH__) ((__TOTALH__) <= LTDC_VERTICALSYNC) +#define IS_LTDC_BLUEVALUE(__BBLUE__) ((__BBLUE__) <= LTDC_COLOR) +#define IS_LTDC_GREENVALUE(__BGREEN__) ((__BGREEN__) <= LTDC_COLOR) +#define IS_LTDC_REDVALUE(__BRED__) ((__BRED__) <= LTDC_COLOR) +#define IS_LTDC_BLENDING_FACTOR1(__BLENDING_FACTOR1__) (((__BLENDING_FACTOR1__) == LTDC_BLENDING_FACTOR1_CA) || \ + ((__BLENDING_FACTOR1__) == LTDC_BLENDING_FACTOR1_PAxCA)) +#define IS_LTDC_BLENDING_FACTOR2(__BLENDING_FACTOR2__) (((__BLENDING_FACTOR2__) == LTDC_BLENDING_FACTOR2_CA) || \ + ((__BLENDING_FACTOR2__) == LTDC_BLENDING_FACTOR2_PAxCA)) + +#define IS_LTDC_PIXEL_FORMAT(__PIXEL_FORMAT__) (((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_ARGB8888) || ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_RGB888) || \ + ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_RGB565) || ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_ARGB1555) || \ + ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_ARGB4444) || ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_L8) || \ + ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_AL44) || ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_AL88)) + +#define IS_LTDC_ALPHA(__ALPHA__) ((__ALPHA__) <= LTDC_ALPHA) +#define IS_LTDC_HCONFIGST(__HCONFIGST__) ((__HCONFIGST__) <= LTDC_STARTPOSITION) +#define IS_LTDC_HCONFIGSP(__HCONFIGSP__) ((__HCONFIGSP__) <= LTDC_STOPPOSITION) +#define IS_LTDC_VCONFIGST(__VCONFIGST__) ((__VCONFIGST__) <= LTDC_STARTPOSITION) +#define IS_LTDC_VCONFIGSP(__VCONFIGSP__) ((__VCONFIGSP__) <= LTDC_STOPPOSITION) +#define IS_LTDC_CFBP(__CFBP__) ((__CFBP__) <= LTDC_COLOR_FRAME_BUFFER) +#define IS_LTDC_CFBLL(__CFBLL__) ((__CFBLL__) <= LTDC_COLOR_FRAME_BUFFER) +#define IS_LTDC_CFBLNBR(__CFBLNBR__) ((__CFBLNBR__) <= LTDC_LINE_NUMBER) +#define IS_LTDC_LIPOS(__LIPOS__) ((__LIPOS__) <= 0x7FFU) +#define IS_LTDC_RELOAD(__RELOADTYPE__) (((__RELOADTYPE__) == LTDC_RELOAD_IMMEDIATE) || ((__RELOADTYPE__) == LTDC_RELOAD_VERTICAL_BLANKING)) +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup LTDC_Private_Functions LTDC Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_LTDC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdios.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdios.h new file mode 100644 index 0000000000..89b66735fd --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdios.h @@ -0,0 +1,520 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mdios.h + * @author MCD Application Team + * @brief Header file of MDIOS HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_MDIOS_H +#define __STM32H7xx_HAL_MDIOS_H + +#ifdef __cplusplus + extern "C" { +#endif + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup MDIOS + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup MDIOS_Exported_Types MDIOS Exported Types + * @{ + */ + +/** @defgroup MDIOS_Exported_Types_Group1 MDIOS State structures definition + * @{ + */ + +typedef enum +{ + HAL_MDIOS_STATE_RESET = 0x00U, /*!< Peripheral not yet Initialized or disabled */ + HAL_MDIOS_STATE_READY = 0x01U, /*!< Peripheral Initialized and ready for use */ + HAL_MDIOS_STATE_BUSY = 0x02U, /*!< an internal process is ongoing */ + HAL_MDIOS_STATE_ERROR = 0x04U /*!< Reception process is ongoing */ +}HAL_MDIOS_StateTypeDef; + +/** + * @} + */ + +/** @defgroup MDIOS_Exported_Types_Group2 MDIOS Init Structure definition + * @{ + */ + +typedef struct +{ + uint32_t PortAddress; /*!< Specifies the MDIOS port address. + This parameter can be a value from 0 to 31 */ + uint32_t PreambleCheck; /*!< Specifies whether the preamble check is enabled or disabled. + This parameter can be a value of @ref MDIOS_Preamble_Check */ +}MDIOS_InitTypeDef; + +/** + * @} + */ + +/** @defgroup MDIOS_Exported_Types_Group4 MDIOS handle Structure definition + * @{ + */ + +typedef struct +{ + MDIOS_TypeDef *Instance; /*!< Register base address */ + + MDIOS_InitTypeDef Init; /*!< MDIOS Init Structure */ + + __IO HAL_MDIOS_StateTypeDef State; /*!< MDIOS communication state */ + + HAL_LockTypeDef Lock; /*!< MDIOS Lock */ +}MDIOS_HandleTypeDef; + +/** + * @} + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup MDIOS_Exported_Constants MDIOS Exported Constants + * @{ + */ + +/** @defgroup MDIOS_Preamble_Check MDIOS Preamble Check + * @{ + */ +#define MDIOS_PREAMBLE_CHECK_ENABLE ((uint32_t)0x00000000U) +#define MDIOS_PREAMBLE_CHECK_DISABLE MDIOS_CR_DPC +/** + * @} + */ + +/** @defgroup MDIOS_Input_Output_Registers_Definitions MDIOS Input Output Registers Definitions + * @{ + */ +#define MDIOS_REG0 ((uint32_t)0x00000000U) +#define MDIOS_REG1 ((uint32_t)0x00000001U) +#define MDIOS_REG2 ((uint32_t)0x00000002U) +#define MDIOS_REG3 ((uint32_t)0x00000003U) +#define MDIOS_REG4 ((uint32_t)0x00000004U) +#define MDIOS_REG5 ((uint32_t)0x00000005U) +#define MDIOS_REG6 ((uint32_t)0x00000006U) +#define MDIOS_REG7 ((uint32_t)0x00000007U) +#define MDIOS_REG8 ((uint32_t)0x00000008U) +#define MDIOS_REG9 ((uint32_t)0x00000009U) +#define MDIOS_REG10 ((uint32_t)0x0000000AU) +#define MDIOS_REG11 ((uint32_t)0x0000000BU) +#define MDIOS_REG12 ((uint32_t)0x0000000CU) +#define MDIOS_REG13 ((uint32_t)0x0000000DU) +#define MDIOS_REG14 ((uint32_t)0x0000000EU) +#define MDIOS_REG15 ((uint32_t)0x0000000FU) +#define MDIOS_REG16 ((uint32_t)0x00000010U) +#define MDIOS_REG17 ((uint32_t)0x00000011U) +#define MDIOS_REG18 ((uint32_t)0x00000012U) +#define MDIOS_REG19 ((uint32_t)0x00000013U) +#define MDIOS_REG20 ((uint32_t)0x00000014U) +#define MDIOS_REG21 ((uint32_t)0x00000015U) +#define MDIOS_REG22 ((uint32_t)0x00000016U) +#define MDIOS_REG23 ((uint32_t)0x00000017U) +#define MDIOS_REG24 ((uint32_t)0x00000018U) +#define MDIOS_REG25 ((uint32_t)0x00000019U) +#define MDIOS_REG26 ((uint32_t)0x0000001AU) +#define MDIOS_REG27 ((uint32_t)0x0000001BU) +#define MDIOS_REG28 ((uint32_t)0x0000001CU) +#define MDIOS_REG29 ((uint32_t)0x0000001DU) +#define MDIOS_REG30 ((uint32_t)0x0000001EU) +#define MDIOS_REG31 ((uint32_t)0x0000001FU) +/** + * @} + */ + +/** @defgroup MDIOS_Registers_Flags MDIOS Registers Flags + * @{ + */ +#define MDIOS_REG0_FLAG ((uint32_t)0x00000001U) +#define MDIOS_REG1_FLAG ((uint32_t)0x00000002U) +#define MDIOS_REG2_FLAG ((uint32_t)0x00000004U) +#define MDIOS_REG3_FLAG ((uint32_t)0x00000008U) +#define MDIOS_REG4_FLAG ((uint32_t)0x00000010U) +#define MDIOS_REG5_FLAG ((uint32_t)0x00000020U) +#define MDIOS_REG6_FLAG ((uint32_t)0x00000040U) +#define MDIOS_REG7_FLAG ((uint32_t)0x00000080U) +#define MDIOS_REG8_FLAG ((uint32_t)0x00000100U) +#define MDIOS_REG9_FLAG ((uint32_t)0x00000200U) +#define MDIOS_REG10_FLAG ((uint32_t)0x00000400U) +#define MDIOS_REG11_FLAG ((uint32_t)0x00000800U) +#define MDIOS_REG12_FLAG ((uint32_t)0x00001000U) +#define MDIOS_REG13_FLAG ((uint32_t)0x00002000U) +#define MDIOS_REG14_FLAG ((uint32_t)0x00004000U) +#define MDIOS_REG15_FLAG ((uint32_t)0x00008000U) +#define MDIOS_REG16_FLAG ((uint32_t)0x00010000U) +#define MDIOS_REG17_FLAG ((uint32_t)0x00020000U) +#define MDIOS_REG18_FLAG ((uint32_t)0x00040000U) +#define MDIOS_REG19_FLAG ((uint32_t)0x00080000U) +#define MDIOS_REG20_FLAG ((uint32_t)0x00100000U) +#define MDIOS_REG21_FLAG ((uint32_t)0x00200000U) +#define MDIOS_REG22_FLAG ((uint32_t)0x00400000U) +#define MDIOS_REG23_FLAG ((uint32_t)0x00800000U) +#define MDIOS_REG24_FLAG ((uint32_t)0x01000000U) +#define MDIOS_REG25_FLAG ((uint32_t)0x02000000U) +#define MDIOS_REG26_FLAG ((uint32_t)0x04000000U) +#define MDIOS_REG27_FLAG ((uint32_t)0x08000000U) +#define MDIOS_REG28_FLAG ((uint32_t)0x10000000U) +#define MDIOS_REG29_FLAG ((uint32_t)0x20000000U) +#define MDIOS_REG30_FLAG ((uint32_t)0x40000000U) +#define MDIOS_REG31_FLAG ((uint32_t)0x80000000U) +#define MDIOS_ALLREG_FLAG ((uint32_t)0xFFFFFFFFU) +/** + * @} + */ + +/** @defgroup MDIOS_Interrupt_sources Interrupt Sources + * @{ + */ +#define MDIOS_IT_WRITE MDIOS_CR_WRIE +#define MDIOS_IT_READ MDIOS_CR_RDIE +#define MDIOS_IT_ERROR MDIOS_CR_EIE +/** + * @} + */ + +/** @defgroup MDIOS_Interrupt_Flags MDIOS Interrupt Flags + * @{ + */ +#define MDIOS_TURNAROUND_ERROR_FLAG MDIOS_SR_TERF +#define MDIOS_START_ERROR_FLAG MDIOS_SR_SERF +#define MDIOS_PREAMBLE_ERROR_FLAG MDIOS_SR_PERF +/** + * @} + */ + + /** @defgroup MDIOS_Wakeup_Line MDIOS Wakeup Line + * @{ + */ +#define MDIOS_WAKEUP_EXTI_LINE ((uint32_t)0x00000400) /* !< 42 - 32 = 10 */ +/** + * @} + */ + +/** + * @} + */ +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup MDIOS_Exported_Macros MDIOS Exported Macros + * @{ + */ + +/** @brief Reset MDIOS handle state + * @param __HANDLE__: MDIOS handle. + * @retval None + */ +#define __HAL_MDIOS_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_MDIOS_STATE_RESET) + +/** + * @brief Enable/Disable the MDIOS peripheral. + * @param __HANDLE__: specifies the MDIOS handle. + * @retval None + */ +#define __HAL_MDIOS_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= MDIOS_CR_EN) +#define __HAL_MDIOS_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~MDIOS_CR_EN) + + +/** + * @brief Enable the MDIOS device interrupt. + * @param __HANDLE__: specifies the MDIOS handle. + * @param __INTERRUPT__ : specifies the MDIOS interrupt sources to be enabled. + * This parameter can be one or a combination of the following values: + * @arg MDIOS_IT_WRITE: Register write interrupt + * @arg MDIOS_IT_READ: Register read interrupt + * @arg MDIOS_IT_ERROR: Error interrupt + * @retval None + */ +#define __HAL_MDIOS_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) + +/** + * @brief Disable the MDIOS device interrupt. + * @param __HANDLE__: specifies the MDIOS handle. + * @param __INTERRUPT__ : specifies the MDIOS interrupt sources to be disabled. + * This parameter can be one or a combination of the following values: + * @arg MDIOS_IT_WRITE: Register write interrupt + * @arg MDIOS_IT_READ: Register read interrupt + * @arg MDIOS_IT_ERROR: Error interrupt + * @retval None + */ +#define __HAL_MDIOS_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) + +/** @brief Set MDIOS slave get write register flag + * @param __HANDLE__: specifies the MDIOS handle. + * @param __FLAG__: specifies the write register flag + * @retval The state of write flag + */ +#define __HAL_MDIOS_GET_WRITE_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->WRFR & (__FLAG__)) + +/** @brief MDIOS slave get read register flag + * @param __HANDLE__: specifies the MDIOS handle. + * @param __FLAG__: specifies the read register flag + * @retval The state of read flag + */ +#define __HAL_MDIOS_GET_READ_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->RDFR & (__FLAG__)) + +/** @brief MDIOS slave get interrupt + * @param __HANDLE__: specifies the MDIOS handle. + * @param __FLAG__ : specifies the Error flag. + * This parameter can be one or a combination of the following values: + * @arg MDIOS_TURNARROUND_ERROR_FLAG: Register write interrupt + * @arg MDIOS_START_ERROR_FLAG: Register read interrupt + * @arg MDIOS_PREAMBLE_ERROR_FLAG: Error interrupt + * @retval The state of the error flag + */ +#define __HAL_MDIOS_GET_ERROR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR & (__FLAG__)) + +/** @brief MDIOS slave clear interrupt + * @param __HANDLE__: specifies the MDIOS handle. + * @param __FLAG__ : specifies the Error flag. + * This parameter can be one or a combination of the following values: + * @arg MDIOS_TURNARROUND_ERROR_FLAG: Register write interrupt + * @arg MDIOS_START_ERROR_FLAG: Register read interrupt + * @arg MDIOS_PREAMBLE_ERROR_FLAG: Error interrupt + * @retval none + */ +#define __HAL_MDIOS_CLEAR_ERROR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CLRFR) |= (__FLAG__) + +/** + * @brief Checks whether the specified MDIOS interrupt is set or not. + * @param __HANDLE__: specifies the MDIOS handle. + * @param __INTERRUPT__ : specifies the MDIOS interrupt sources + * This parameter can be one or a combination of the following values: + * @arg MDIOS_IT_WRITE: Register write interrupt + * @arg MDIOS_IT_READ: Register read interrupt + * @arg MDIOS_IT_ERROR: Error interrupt + * @retval The state of the interrupt source + */ +#define __HAL_MDIOS_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR & (__INTERRUPT__)) + +/** + * @brief Enable the MDIOS WAKEUP Exti Line. + * @param __EXTI_LINE__: specifies the MDIOS WAKEUP Exti sources to be enabled. + * This parameter can be: + * @arg MDIOS_WAKEUP_EXTI_LINE + * @retval None. + */ +#define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_IT(__EXTI_LINE__) (EXTI_D1->IMR2 |= (__EXTI_LINE__)) + +/** + * @brief checks whether the specified MDIOS WAKEUP Exti interrupt flag is set or not. + * @param __EXTI_LINE__: specifies the MDIOS WAKEUP Exti sources to be cleared. + * This parameter can be: + * @arg MDIOS_WAKEUP_EXTI_LINE + * @retval EXTI MDIOS WAKEUP Line Status. + */ +#define __HAL_MDIOS_WAKEUP_EXTI_GET_FLAG(__EXTI_LINE__) (EXTI_D1->PR2 & (__EXTI_LINE__)) + +/** + * @brief Clear the MDIOS WAKEUP Exti flag. + * @param __EXTI_LINE__: specifies the MDIOS WAKEUP Exti sources to be cleared. + * This parameter can be: + * @arg MDIOS_WAKEUP_EXTI_LINE + * @retval None. + */ +#define __HAL_MDIOS_WAKEUP_EXTI_CLEAR_FLAG(__EXTI_LINE__) (EXTI_D1->PR2 = (__EXTI_LINE__)) + +/** + * @brief enable rising edge interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP EXTI sources to be disabled. + * This parameter can be: + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_RISING_EDGE(__EXTI_LINE__) (EXTI->FTSR2 &= ~(__EXTI_LINE__)); \ + (EXTI->RTSR2 |= (__EXTI_LINE__)) + +/** + * @brief enable falling edge interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP EXTI sources to be disabled. + * This parameter can be: + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_FALLING_EDGE(__EXTI_LINE__) (EXTI->RTSR2 &= ~(__EXTI_LINE__));\ + (EXTI->FTSR2 |= (__EXTI_LINE__)) + +/** + * @brief enable falling edge interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the ETH WAKEUP EXTI sources to be disabled. + * This parameter can be: + * @arg ETH_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE(__EXTI_LINE__) (EXTI->RTSR2 |= (__EXTI_LINE__));\ + (EXTI->FTSR2 |= (__EXTI_LINE__)) + +/** + * @brief Generates a Software interrupt on selected EXTI line. + * @param __EXTI_LINE__: specifies the MDIOS WAKEUP EXTI sources to be disabled. + * This parameter can be: + * @arg MDIOS_WAKEUP_EXTI_LINE + * @retval None + */ +#define __HAL_MDIOS_WAKEUP_EXTI_GENERATE_SWIT(__EXTI_LINE__) (EXTI->SWIER2 |= (__EXTI_LINE__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup MDIOS_Exported_Functions MDIOS Exported Functions + * @{ + */ + +/** @addtogroup MDIOS_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_MDIOS_Init(MDIOS_HandleTypeDef *hmdios); +HAL_StatusTypeDef HAL_MDIOS_DeInit(MDIOS_HandleTypeDef *hmdios); +void HAL_MDIOS_MspInit(MDIOS_HandleTypeDef *hmdios); +void HAL_MDIOS_MspDeInit(MDIOS_HandleTypeDef *hmdios); +/** + * @} + */ + +/** @addtogroup MDIOS_Exported_Functions_Group2 + * @{ + */ +HAL_StatusTypeDef HAL_MDIOS_WriteReg(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum, uint16_t Data); +HAL_StatusTypeDef HAL_MDIOS_ReadReg(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum, uint16_t *pData); + +uint32_t HAL_MDIOS_GetWrittenRegAddress(MDIOS_HandleTypeDef *hmdios); +uint32_t HAL_MDIOS_GetReadRegAddress(MDIOS_HandleTypeDef *hmdios); +HAL_StatusTypeDef HAL_MDIOS_ClearWriteRegAddress(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum); +HAL_StatusTypeDef HAL_MDIOS_ClearReadRegAddress(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum); + +HAL_StatusTypeDef HAL_MDIOS_EnableEvents(MDIOS_HandleTypeDef *hmdios); +void HAL_MDIOS_IRQHandler(MDIOS_HandleTypeDef *hmdios); +void HAL_MDIOS_WriteCpltCallback(MDIOS_HandleTypeDef *hmdios); +void HAL_MDIOS_ReadCpltCallback(MDIOS_HandleTypeDef *hmdios); +void HAL_MDIOS_ErrorCallback(MDIOS_HandleTypeDef *hmdios); +void HAL_MDIOS_WakeUpCallback(MDIOS_HandleTypeDef *hmdios); +/** + * @} + */ + +/** @addtogroup MDIOS_Exported_Functions_Group3 + * @{ + */ +uint32_t HAL_MDIOS_GetError(MDIOS_HandleTypeDef *hmdios); +HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios); +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup MDIOS_Private_Types MDIOS Private Types + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup MDIOS_Private_Variables MDIOS Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup MDIOS_Private_Constants MDIOS Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup MDIOS_Private_Macros MDIOS Private Macros + * @{ + */ + +#define IS_MDIOS_PORTADDRESS(__ADDR__) ((__ADDR__) < 32) + +#define IS_MDIOS_REGISTER(__REGISTER__) ((__REGISTER__) < 32) + +#define IS_MDIOS_PREAMBLECHECK(__PREAMBLECHECK__) (((__PREAMBLECHECK__) == MDIOS_PREAMBLE_CHECK_ENABLE) || \ + ((__PREAMBLECHECK__) == MDIOS_PREAMBLE_CHECK_DISABLE)) + + /** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup MDIOS_Private_Functions MDIOS Private Functions + * @{ + */ + +/** + * @} + */ + + +/** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_MDIOS_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h new file mode 100644 index 0000000000..12125b75b4 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h @@ -0,0 +1,850 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mdma.h + * @author MCD Application Team + * @brief Header file of DMA HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_MDMA_H +#define __STM32H7xx_HAL_MDMA_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup MDMA + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup MDMA_Exported_Types MDMA Exported Types + * @brief MDMA Exported Types + * @{ + */ + +/** + * @brief MDMA Configuration Structure definition + */ +typedef struct +{ + + uint32_t Request; /*!< Specifies the MDMA request. + This parameter can be a value of @ref MDMA_Request_selection*/ + + uint32_t TransferTriggerMode; /*!< Specifies the Trigger Transfer mode : each request triggers a : + a buffer transfer, a block transfer, a repeated block transfer or a linked list transfer + This parameter can be a value of @ref MDMA_Transfer_TriggerMode */ + + uint32_t Priority; /*!< Specifies the software priority for the MDMAy channelx. + This parameter can be a value of @ref MDMA_Priority_level */ + + uint32_t Endianness; /*!< Specifies if the MDMA transactions preserve the Little endianness. + This parameter can be a value of @ref MDMA_Endianness */ + + uint32_t SourceInc; /*!< Specifies if the Source increment mode . + This parameter can be a value of @ref MDMA_Source_increment_mode */ + + uint32_t DestinationInc; /*!< Specifies if the Destination increment mode . + This parameter can be a value of @ref MDMA_Destination_increment_mode */ + + uint32_t SourceDataSize; /*!< Specifies the source data size. + This parameter can be a value of @ref MDMA_Source_data_size */ + + uint32_t DestDataSize; /*!< Specifies the destination data size. + This parameter can be a value of @ref MDMA_Destination_data_size */ + + + uint32_t DataAlignment; /*!< Specifies the source to destination Memory data packing/padding mode. + This parameter can be a value of @ref MDMA_data_Alignment */ + + uint32_t BufferTransferLength; /*!< Specifies the buffer Transfer Length (number of bytes), + this is the number of bytes to be transferred in a single transfer (1 byte to 128 bytes)*/ + + uint32_t SourceBurst; /*!< Specifies the Burst transfer configuration for the source memory transfers. + It specifies the amount of data to be transferred in a single non interruptable + transaction. + This parameter can be a value of @ref MDMA_Source_burst + @note : the burst may be FIXED/INCR based on SourceInc value , + the BURST must be programmed as to ensure that the burst size will be lower than than + BufferTransferLength */ + + uint32_t DestBurst; /*!< Specifies the Burst transfer configuration for the destination memory transfers. + It specifies the amount of data to be transferred in a single non interruptable + transaction. + This parameter can be a value of @ref MDMA_Destination_burst + @note : the burst may be FIXED/INCR based on DestinationInc value , + the BURST must be programmed as to ensure that the burst size will be lower than than + BufferTransferLength */ + + int32_t SourceBlockAddressOffset; /*!< this field specifies the Next block source address offset + signed value : if > 0 then increment the next block source Address by offset from where the last block ends + if < 0 then decrement the next block source Address by offset from where the last block ends + if == 0, the next block source address starts from where the last block ends + */ + + + int32_t DestBlockAddressOffset; /*!< this field specifies the Next block destination address offset + signed value : if > 0 then increment the next block destination Address by offset from where the last block ends + if < 0 then decrement the next block destination Address by offset from where the last block ends + if == 0, the next block destination address starts from where the last block ends + */ + +}MDMA_InitTypeDef; + +/** + * @brief HAL MDMA linked list node structure definition + * @note The Linked list node allows to define a new MDMA configuration + * (CTCR ,CBNDTR ,CSAR ,CDAR ,CBRUR, CLAR, CTBR, CMAR and CMDR registers). + * When CLAR register is configured to a non NULL value , each time a transfer ends, + * a new configuration (linked list node) is automatically loaded from the address given in CLAR register. + */ +typedef struct +{ + __IO uint32_t CTCR; /*!< New CTCR register configuration for the given MDMA linked list node */ + __IO uint32_t CBNDTR; /*!< New CBNDTR register configuration for the given MDMA linked list node */ + __IO uint32_t CSAR; /*!< New CSAR register configuration for the given MDMA linked list node */ + __IO uint32_t CDAR; /*!< New CDAR register configuration for the given MDMA linked list node */ + __IO uint32_t CBRUR; /*!< New CBRUR register configuration for the given MDMA linked list node */ + __IO uint32_t CLAR; /*!< New CLAR register configuration for the given MDMA linked list node */ + __IO uint32_t CTBR; /*!< New CTBR register configuration for the given MDMA linked list node */ + __IO uint32_t Reserved; /*!< Reserved register*/ + __IO uint32_t CMAR; /*!< New CMAR register configuration for the given MDMA linked list node */ + __IO uint32_t CMDR; /*!< New CMDR register configuration for the given MDMA linked list node */ + +}MDMA_LinkNodeTypeDef; + +/** + * @brief HAL MDMA linked list node configuration structure definition + * @note used with HAL_MDMA_LinkedList_CreateNode function + */ +typedef struct +{ + MDMA_InitTypeDef Init; /*!< configuration of the specified MDMA Linked List Node */ + uint32_t SrcAddress; /*!< The source memory address for the Linked list Node */ + uint32_t DstAddress; /*!< The destination memory address for the Linked list Node */ + uint32_t BlockDataLength; /*!< The length of a block transfer in bytes */ + uint32_t BlockCount; /*!< The number of a blocks to be transfer */ + + uint32_t PostRequestMaskAddress; /*!< specifies the address to be updated (written) with PostRequestMaskData after a request is served. + PostRequestMaskAddress and PostRequestMaskData could be used to automatically clear a peripheral flag when the request is served */ + + uint32_t PostRequestMaskData; /*!< specifies the value to be written to PostRequestMaskAddress after a request is served. + PostRequestMaskAddress and PostRequestMaskData could be used to automatically clear a peripheral flag when the request is served */ + + +}MDMA_LinkNodeConfTypeDef; + + +/** + * @brief HAL MDMA State structure definition + */ +typedef enum +{ + HAL_MDMA_STATE_RESET = 0x00U, /*!< MDMA not yet initialized or disabled */ + HAL_MDMA_STATE_READY = 0x01U, /*!< MDMA initialized and ready for use */ + HAL_MDMA_STATE_BUSY = 0x02U, /*!< MDMA process is ongoing */ + HAL_MDMA_STATE_ERROR = 0x03U, /*!< MDMA error state */ + HAL_MDMA_STATE_ABORT = 0x04U, /*!< DMA Abort state */ + +}HAL_MDMA_StateTypeDef; + +/** + * @brief HAL MDMA Level Complete structure definition + */ +typedef enum +{ + HAL_MDMA_FULL_TRANSFER = 0x00U, /*!< Full transfer */ + HAL_MDMA_BUFFER_TRANSFER = 0x01U, /*!< Buffer Transfer */ + HAL_MDMA_BLOCK_TRANSFER = 0x02U, /*!< Block Transfer */ + HAL_MDMA_REPEAT_BLOCK_TRANSFER = 0x03U /*!< repeat block Transfer */ + +}HAL_MDMA_LevelCompleteTypeDef; + +/** + * @brief HAL MDMA Callbacks IDs structure definition + */ +typedef enum +{ + HAL_MDMA_XFER_CPLT_CB_ID = 0x00U, /*!< Full transfer */ + HAL_MDMA_XFER_BUFFERCPLT_CB_ID = 0x01U, /*!< Buffer Transfer */ + HAL_MDMA_XFER_BLOCKCPLT_CB_ID = 0x02U, /*!< Block Transfer */ + HAL_MDMA_XFER_REPBLOCKCPLT_CB_ID = 0x03U, /*!< Repeated Block Transfer */ + HAL_MDMA_XFER_ERROR_CB_ID = 0x04U, /*!< Error */ + HAL_MDMA_XFER_ABORT_CB_ID = 0x05U, /*!< Abort */ + HAL_MDMA_XFER_ALL_CB_ID = 0x06U /*!< All */ + +}HAL_MDMA_CallbackIDTypeDef; + + +/** + * @brief MDMA handle Structure definition + */ +typedef struct __MDMA_HandleTypeDef +{ + MDMA_Channel_TypeDef *Instance; /*!< Register base address */ + + MDMA_InitTypeDef Init; /*!< MDMA communication parameters */ + + + HAL_LockTypeDef Lock; /*!< MDMA locking object */ + + __IO HAL_MDMA_StateTypeDef State; /*!< MDMA transfer state */ + + void *Parent; /*!< Parent object state */ + + void (* XferCpltCallback)( struct __MDMA_HandleTypeDef * hmdma); /*!< MDMA transfer complete callback */ + + void (* XferBufferCpltCallback)( struct __MDMA_HandleTypeDef * hmdma); /*!< MDMA buffer transfer complete callback */ + + void (* XferBlockCpltCallback)( struct __MDMA_HandleTypeDef * hmdma); /*!< MDMA block transfer complete callback */ + + void (* XferRepeatBlockCpltCallback)( struct __MDMA_HandleTypeDef * hmdma); /*!< MDMA block transfer repeat callback */ + + void (* XferErrorCallback)( struct __MDMA_HandleTypeDef * hmdma); /*!< MDMA transfer error callback */ + + void (* XferAbortCallback)( struct __MDMA_HandleTypeDef * hmdma); /*!< MDMA transfer Abort callback */ + + + MDMA_LinkNodeTypeDef *FirstLinkedListNodeAddress; /*!< specifies the first node address of the transfer list + (after the initial node defined by the Init struct) + this parameter is used internally by the MDMA driver + to construct the liked list node + */ + + MDMA_LinkNodeTypeDef *LastLinkedListNodeAddress; /*!< specifies the last node address of the transfer list + this parameter is used internally by the MDMA driver + to construct the liked list node + */ + uint32_t LinkedListNodeCounter; /*!< Number of nodes in the MDMA linked list */ + + __IO uint32_t ErrorCode; /*!< MDMA Error code */ + +} MDMA_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup MDMA_Exported_Constants MDMA Exported Constants + * @brief MDMA Exported constants + * @{ + */ + +/** @defgroup MDMA_Error_Codes MDMA Error Codes + * @brief MDMA Error Codes + * @{ + */ +#define HAL_MDMA_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define HAL_MDMA_ERROR_READ_XFER ((uint32_t)0x00000001U) /*!< Read Transfer error */ +#define HAL_MDMA_ERROR_WRITE_XFER ((uint32_t)0x00000002U) /*!< Write Transfer error */ +#define HAL_MDMA_ERROR_MASK_DATA ((uint32_t)0x00000004U) /*!< Error Mask Data error */ +#define HAL_MDMA_ERROR_LINKED_LIST ((uint32_t)0x00000008U) /*!< Linked list Data error */ +#define HAL_MDMA_ERROR_ALIGNMENT ((uint32_t)0x00000010U) /*!< Address/Size alignment error */ +#define HAL_MDMA_ERROR_BLOCK_SIZE ((uint32_t)0x00000020U) /*!< Block Size error */ +#define HAL_MDMA_ERROR_TIMEOUT ((uint32_t)0x00000040U) /*!< Timeout error */ +#define HAL_MDMA_ERROR_NO_XFER ((uint32_t)0x00000080U) /*!< Abort or SW trigger requested with no Xfer ongoing */ +#define HAL_MDMA_ERROR_BUSY ((uint32_t)0x00000100U) /*!< DeInit or SW trigger requested with Xfer ongoing */ + +/** + * @} + */ + +/** @defgroup MDMA_Request_selection MDMA Request selection + * @brief MDMA_Request_selection + * @{ + */ + +#define MDMA_REQUEST_DMA1_Stream0_TC ((uint32_t)0x00000000U) /*!< MDMA HW request is DMA1 Stream 0 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA1_Stream1_TC ((uint32_t)0x00000001U) /*!< MDMA HW request is DMA1 Stream 1 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA1_Stream2_TC ((uint32_t)0x00000002U) /*!< MDMA HW request is DMA1 Stream 2 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA1_Stream3_TC ((uint32_t)0x00000003U) /*!< MDMA HW request is DMA1 Stream 3 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA1_Stream4_TC ((uint32_t)0x00000004U) /*!< MDMA HW request is DMA1 Stream 4 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA1_Stream5_TC ((uint32_t)0x00000005U) /*!< MDMA HW request is DMA1 Stream 5 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA1_Stream6_TC ((uint32_t)0x00000006U) /*!< MDMA HW request is DMA1 Stream 6 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA1_Stream7_TC ((uint32_t)0x00000007U) /*!< MDMA HW request is DMA1 Stream 7 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream0_TC ((uint32_t)0x00000008U) /*!< MDMA HW request is DMA2 Stream 0 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream1_TC ((uint32_t)0x00000009U) /*!< MDMA HW request is DMA2 Stream 1 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream2_TC ((uint32_t)0x0000000AU) /*!< MDMA HW request is DMA2 Stream 2 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream3_TC ((uint32_t)0x0000000BU) /*!< MDMA HW request is DMA2 Stream 3 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream4_TC ((uint32_t)0x0000000CU) /*!< MDMA HW request is DMA2 Stream 4 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream5_TC ((uint32_t)0x0000000DU) /*!< MDMA HW request is DMA2 Stream 5 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream6_TC ((uint32_t)0x0000000EU) /*!< MDMA HW request is DMA2 Stream 6 Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2_Stream7_TC ((uint32_t)0x0000000FU) /*!< MDMA HW request is DMA2 Stream 7 Transfer Complete Flag */ +#define MDMA_REQUEST_LTDC_LINE_IT ((uint32_t)0x00000010U) /*!< MDMA HW request is LTDC Line interrupt Flag */ +#define MDMA_REQUEST_JPEG_INFIFO_TH ((uint32_t)0x00000011U) /*!< MDMA HW request is JPEG Input FIFO threshold Flag */ +#define MDMA_REQUEST_JPEG_INFIFO_NF ((uint32_t)0x00000012U) /*!< MDMA HW request is JPEG Input FIFO not full Flag */ +#define MDMA_REQUEST_JPEG_OUTFIFO_TH ((uint32_t)0x00000013U) /*!< MDMA HW request is JPEG Output FIFO threshold Flag */ +#define MDMA_REQUEST_JPEG_OUTFIFO_NE ((uint32_t)0x00000014U) /*!< MDMA HW request is JPEG Output FIFO not empty Flag */ +#define MDMA_REQUEST_JPEG_END_CONVERSION ((uint32_t)0x00000015U) /*!< MDMA HW request is JPEG End of conversion Flag */ +#define MDMA_REQUEST_QUADSPI_FIFO_TH ((uint32_t)0x00000016U) /*!< MDMA HW request is QSPI FIFO threshold Flag */ +#define MDMA_REQUEST_QUADSPI_TC ((uint32_t)0x00000017U) /*!< MDMA HW request is QSPI Transfer complete Flag */ +#define MDMA_REQUEST_DMA2D_CLUT_TC ((uint32_t)0x00000018U) /*!< MDMA HW request is DMA2D CLUT Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2D_TC ((uint32_t)0x00000019U) /*!< MDMA HW request is DMA2D Transfer Complete Flag */ +#define MDMA_REQUEST_DMA2D_TW ((uint32_t)0x0000001AU) /*!< MDMA HW request is DMA2D Transfer Watermark Flag */ + +#if defined(DSI) +#define MDMA_REQUEST_DSI_TEARINGE_FFECT ((uint32_t)0x0000001BU) /*!< MDMA HW request is DSI Tearing Effect Flag */ +#define MDMA_REQUEST_DSI_END_REFRESH ((uint32_t)0x0000001CU) /*!< MDMA HW request is DSI End of refresh Flag */ +#endif /* DSI */ + +#define MDMA_REQUEST_SDMMC1_END_DATA ((uint32_t)0x0000001DU) /*!< MDMA HW request is SDMMC1 End of Data Flag */ + +#define MDMA_REQUEST_SW ((uint32_t)0x40000000U) /*!< MDMA SW request */ + +/** + * @} + */ + +/** @defgroup MDMA_Transfer_TriggerMode MDMA Transfer Trigger Mode + * @brief MDMA Transfer Trigger Mode + * @{ + */ +#define MDMA_BUFFER_TRANSFER ((uint32_t)0x00000000U) /*!< Each MDMA request (SW or HW) triggers a buffer transfer */ +#define MDMA_BLOCK_TRANSFER ((uint32_t)MDMA_CTCR_TRGM_0) /*!< Each MDMA request (SW or HW) triggers a block transfer */ +#define MDMA_REPEAT_BLOCK_TRANSFER ((uint32_t)MDMA_CTCR_TRGM_1) /*!< Each MDMA request (SW or HW) triggers a repeated block transfer */ +#define MDMA_FULL_TRANSFER ((uint32_t)MDMA_CTCR_TRGM) /*!< Each MDMA request (SW or HW) triggers a Full transfer or a linked list transfer if any */ + +/** + * @} + */ + +/** @defgroup MDMA_Priority_level MDMA Priority level + * @brief MDMA Priority level + * @{ + */ +#define MDMA_PRIORITY_LOW ((uint32_t)0x00000000U) /*!< Priority level: Low */ +#define MDMA_PRIORITY_MEDIUM ((uint32_t)MDMA_CCR_PL_0) /*!< Priority level: Medium */ +#define MDMA_PRIORITY_HIGH ((uint32_t)MDMA_CCR_PL_1) /*!< Priority level: High */ +#define MDMA_PRIORITY_VERY_HIGH ((uint32_t)MDMA_CCR_PL) /*!< Priority level: Very High */ + +/** + * @} + */ + + +/** @defgroup MDMA_Endianness MDMA Endianness + * @brief MDMA Endianness + * @{ + */ +#define MDMA_LITTLE_ENDIANNESS_PRESERVE ((uint32_t)0x00000000U) /*!< little endianness preserve */ +#define MDMA_LITTLE_BYTE_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_BEX) /*!< BYTEs endianness exchange when destination data size is > Byte */ +#define MDMA_LITTLE_HALFWORD_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_HEX) /*!< HALF WORDs endianness exchange when destination data size is > HALF WORD*/ +#define MDMA_LITTLE_WORD_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_WEX) /*!< WORDs endianness exchange when destination data size is > DOUBLE WORD */ + +/** + * @} + */ + +/** @defgroup MDMA_Source_increment_mode MDMA Source increment mode + * @brief MDMA Source increment mode + * @{ + */ +#define MDMA_SRC_INC_DISABLE ((uint32_t)0x00000000U) /*!< Source address pointer is fixed */ +#define MDMA_SRC_INC_BYTE ((uint32_t)MDMA_CTCR_SINC_1) /*!< Source address pointer is incremented by a BYTE (8 bits)*/ +#define MDMA_SRC_INC_HALFWORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_0) /*!< Source address pointer is incremented by a half Word (16 bits) */ +#define MDMA_SRC_INC_WORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_1) /*!< Source address pointer is incremented by a Word (32 bits)*/ +#define MDMA_SRC_INC_DOUBLEWORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS) /*!< Source address pointer is incremented by a double Word (64 bits)) */ +#define MDMA_SRC_DEC_BYTE ((uint32_t)MDMA_CTCR_SINC) /*!< Source address pointer is decremented by a BYTE (8 bits)*/ +#define MDMA_SRC_DEC_HALFWORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_0) /*!< Source address pointer is decremented by a half Word (16 bits) */ +#define MDMA_SRC_DEC_WORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_1) /*!< Source address pointer is decremented by a Word (32 bits)*/ +#define MDMA_SRC_DEC_DOUBLEWORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS) /*!< Source address pointer is decremented by a double Word (64 bits)) */ + +/** + * @} + */ + +/** @defgroup MDMA_Destination_increment_mode MDMA Destination increment mode + * @brief MDMA Destination increment mode + * @{ + */ +#define MDMA_DEST_INC_DISABLE ((uint32_t)0x00000000U) /*!< Source address pointer is fixed */ +#define MDMA_DEST_INC_BYTE ((uint32_t)MDMA_CTCR_DINC_1) /*!< Source address pointer is incremented by a BYTE (8 bits)*/ +#define MDMA_DEST_INC_HALFWORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_0) /*!< Source address pointer is incremented by a half Word (16 bits) */ +#define MDMA_DEST_INC_WORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_1) /*!< Source address pointer is incremented by a Word (32 bits)*/ +#define MDMA_DEST_INC_DOUBLEWORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS) /*!< Source address pointer is incremented by a double Word (64 bits)) */ +#define MDMA_DEST_DEC_BYTE ((uint32_t)MDMA_CTCR_DINC) /*!< Source address pointer is decremented by a BYTE (8 bits)*/ +#define MDMA_DEST_DEC_HALFWORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_0) /*!< Source address pointer is decremented by a half Word (16 bits) */ +#define MDMA_DEST_DEC_WORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_1) /*!< Source address pointer is decremented by a Word (32 bits)*/ +#define MDMA_DEST_DEC_DOUBLEWORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS) /*!< Source address pointer is decremented by a double Word (64 bits)) */ + +/** + * @} + */ + +/** @defgroup MDMA_Source_data_size MDMA Source data size + * @brief MDMA Source data size + * @{ + */ +#define MDMA_SRC_DATASIZE_BYTE ((uint32_t)0x00000000U) /*!< Source data size is Byte */ +#define MDMA_SRC_DATASIZE_HALFWORD ((uint32_t)MDMA_CTCR_SSIZE_0) /*!< Source data size is half word */ +#define MDMA_SRC_DATASIZE_WORD ((uint32_t)MDMA_CTCR_SSIZE_1) /*!< Source data size is word */ +#define MDMA_SRC_DATASIZE_DOUBLEWORD ((uint32_t)MDMA_CTCR_SSIZE) /*!< Source data size is double word */ + +/** + * @} + */ + +/** @defgroup MDMA_Destination_data_size MDMA Destination data size + * @brief MDMA Destination data size + * @{ + */ +#define MDMA_DEST_DATASIZE_BYTE ((uint32_t)0x00000000U) /*!< Destination data size is Byte */ +#define MDMA_DEST_DATASIZE_HALFWORD ((uint32_t)MDMA_CTCR_DSIZE_0) /*!< Destination data size is half word */ +#define MDMA_DEST_DATASIZE_WORD ((uint32_t)MDMA_CTCR_DSIZE_1) /*!< Destination data size is word */ +#define MDMA_DEST_DATASIZE_DOUBLEWORD ((uint32_t)MDMA_CTCR_DSIZE) /*!< Destination data size is double word */ + +/** + * @} + */ + +/** @defgroup MDMA_data_Alignment MDMA data alignment + * @brief MDMA MDMA data alignment + * @{ + */ +#define MDMA_DATAALIGN_PACKENABLE ((uint32_t)MDMA_CTCR_PKE) /*!< The source data is packed/un-packed into the destination data size + All data are right aligned, in Little Endien mode. */ +#define MDMA_DATAALIGN_RIGHT ((uint32_t)0x00000000U) /*!< Right Aligned, padded w/ 0s (default) */ +#define MDMA_DATAALIGN_RIGHT_SIGNED ((uint32_t)MDMA_CTCR_PAM_0) /*!< Right Aligned, Sign extended , + Note : this mode is allowed only if the Source data size smaller than Destination data size */ +#define MDMA_DATAALIGN_LEFT ((uint32_t)MDMA_CTCR_PAM_1) /*!< Left Aligned (padded with 0s) */ + +/** + * @} + */ + +/** @defgroup MDMA_Source_burst MDMA Source burst + * @brief MDMA Source burst + * @{ + */ +#define MDMA_SOURCE_BURST_SINGLE ((uint32_t)0x00000000U) /*!< single transfer */ +#define MDMA_SOURCE_BURST_2BEATS ((uint32_t)MDMA_CTCR_SBURST_0) /*!< Burst 2 beats */ +#define MDMA_SOURCE_BURST_4BEATS ((uint32_t)MDMA_CTCR_SBURST_1) /*!< Burst 4 beats */ +#define MDMA_SOURCE_BURST_8BEATS ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_1) /*!< Burst 8 beats */ +#define MDMA_SOURCE_BURST_16BEATS ((uint32_t)MDMA_CTCR_SBURST_2) /*!< Burst 16 beats */ +#define MDMA_SOURCE_BURST_32BEATS ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_2) /*!< Burst 32 beats */ +#define MDMA_SOURCE_BURST_64BEATS ((uint32_t)MDMA_CTCR_SBURST_1 | (uint32_t)MDMA_CTCR_SBURST_2) /*!< Burst 64 beats */ +#define MDMA_SOURCE_BURST_128BEATS ((uint32_t)MDMA_CTCR_SBURST) /*!< Burst 128 beats */ + +/** + * @} + */ + +/** @defgroup MDMA_Destination_burst MDMA Destination burst + * @brief MDMA Destination burst + * @{ + */ +#define MDMA_DEST_BURST_SINGLE ((uint32_t)0x00000000U) /*!< single transfer */ +#define MDMA_DEST_BURST_2BEATS ((uint32_t)MDMA_CTCR_DBURST_0) /*!< Burst 2 beats */ +#define MDMA_DEST_BURST_4BEATS ((uint32_t)MDMA_CTCR_DBURST_1) /*!< Burst 4 beats */ +#define MDMA_DEST_BURST_8BEATS ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_1) /*!< Burst 8 beats */ +#define MDMA_DEST_BURST_16BEATS ((uint32_t)MDMA_CTCR_DBURST_2) /*!< Burst 16 beats */ +#define MDMA_DEST_BURST_32BEATS ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_2) /*!< Burst 32 beats */ +#define MDMA_DEST_BURST_64BEATS ((uint32_t)MDMA_CTCR_DBURST_1 | (uint32_t)MDMA_CTCR_DBURST_2) /*!< Burst 64 beats */ +#define MDMA_DEST_BURST_128BEATS ((uint32_t)MDMA_CTCR_DBURST) /*!< Burst 128 beats */ + +/** + * @} + */ + +/** @defgroup MDMA_interrupt_enable_definitions MDMA interrupt enable definitions + * @brief MDMA interrupt enable definitions + * @{ + */ +#define MDMA_IT_TE ((uint32_t)MDMA_CCR_TEIE) /*!< Transfer Error interrupt */ +#define MDMA_IT_CTC ((uint32_t)MDMA_CCR_CTCIE) /*!< Channel Transfer Complete interrupt */ +#define MDMA_IT_BRT ((uint32_t)MDMA_CCR_BRTIE) /*!< Block Repeat Transfer interrupt */ +#define MDMA_IT_BT ((uint32_t)MDMA_CCR_BTIE) /*!< Block Transfer interrupt */ +#define MDMA_IT_BFTC ((uint32_t)MDMA_CCR_TCIE) /*!< Buffer Transfer Complete interrupt */ + +/** + * @} + */ + +/** @defgroup MDMA_flag_definitions MDMA flag definitions + * @brief MDMA flag definitions + * @{ + */ +#define MDMA_FLAG_TE ((uint32_t)MDMA_CISR_TEIF) /*!< Transfer Error flag */ +#define MDMA_FLAG_CTC ((uint32_t)MDMA_CISR_CTCIF) /*!< Channel Transfer Complete flag */ +#define MDMA_FLAG_BRT ((uint32_t)MDMA_CISR_BRTIF) /*!< Block Repeat Transfer complete flag */ +#define MDMA_FLAG_BT ((uint32_t)MDMA_CISR_BTIF) /*!< Block Transfer complete flag */ +#define MDMA_FLAG_BFTC ((uint32_t)MDMA_CISR_TCIF) /*!< BuFfer Transfer complete flag */ +#define MDMA_FLAG_CRQA ((uint32_t)MDMA_CISR_CRQA) /*!< Channel ReQest Active flag */ + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ + +/** @defgroup MDMA_Exported_Macros MDMA Exported Macros + * @{ + */ + +/** + * @brief Enable the specified MDMA Channel. + * @param __HANDLE__: MDMA handle + * @retval None + */ +#define __HAL_MDMA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CCR |= MDMA_CCR_EN) + +/** + * @brief Disable the specified DMA Channel. + * @param __HANDLE__: MDMA handle + * @retval None + */ +#define __HAL_MDMA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CCR &= ~MDMA_CCR_EN) + +/** + * @brief Get the MDMA Channel pending flags. + * @param __HANDLE__: MDMA handle + * @param __FLAG__: Get the specified flag. + * This parameter can be any combination of the following values: + * @arg MDMA_FLAG_TE : Transfer Error flag. + * @arg MDMA_FLAG_CTC : Channel Transfer Complete flag. + * @arg MDMA_FLAG_BRT : Block Repeat Transfer flag. + * @arg MDMA_FLAG_BT : Block Transfer complete flag. + * @arg MDMA_FLAG_BFTC : BuFfer Transfer Complete flag. + * @arg MDMA_FLAG_CRQA : Channel ReQest Active flag. + * @retval The state of FLAG (SET or RESET). + */ +#define __HAL_MDMA_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CISR & (__FLAG__)) + +/** + * @brief Clear the MDMA Stream pending flags. + * @param __HANDLE__: MDMA handle + * @param __FLAG__: specifies the flag to clear. + * This parameter can be any combination of the following values: + * @arg MDMA_FLAG_TE : Transfer Error flag. + * @arg MDMA_FLAG_CTC : Channel Transfer Complete flag. + * @arg MDMA_FLAG_BRT : Block Repeat Transfer flag. + * @arg MDMA_FLAG_BT : Block Transfer complete flag. + * @arg MDMA_FLAG_BFTC : BuFfer Transfer Complete flag. + * @retval None + */ +#define __HAL_MDMA_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CIFCR = (__FLAG__)) + +/** + * @brief Enables the specified DMA Channel interrupts. + * @param __HANDLE__: MDMA handle + * @param __INTERRUPT__: specifies the DMA interrupt sources to be enabled or disabled. + * This parameter can be any combination of the following values: + * @arg MDMA_IT_TE : Transfer Error interrupt mask + * @arg MDMA_IT_CTC : Channel Transfer Complete interrupt mask + * @arg MDMA_IT_BRT : Block Repeat Transfer interrupt mask + * @arg MDMA_IT_BT : Block Transfer interrupt mask + * @arg MDMA_IT_BFTC : BuFfer Transfer Complete interrupt mask + * @retval None + */ +#define __HAL_MDMA_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CCR |= (__INTERRUPT__)) + +/** + * @brief Disables the specified MDMA Channel interrupts. + * @param __HANDLE__: MDMA handle + * @param __INTERRUPT__: specifies the DMA interrupt sources to be enabled or disabled. + * This parameter can be any combination of the following values: + * @arg MDMA_IT_TE : Transfer Error interrupt mask + * @arg MDMA_IT_CTC : Channel Transfer Complete interrupt mask + * @arg MDMA_IT_BRT : Block Repeat Transfer interrupt mask + * @arg MDMA_IT_BT : Block Transfer interrupt mask + * @arg MDMA_IT_BFTC : BuFfer Transfer Complete interrupt mask + * @retval None + */ +#define __HAL_MDMA_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CCR &= ~(__INTERRUPT__)) + +/** + * @brief Checks whether the specified MDMA Channel interrupt is enabled or not. + * @param __HANDLE__: DMA handle + * @param __INTERRUPT__: specifies the DMA interrupt source to check. + * @arg MDMA_IT_TE : Transfer Error interrupt mask + * @arg MDMA_IT_CTC : Channel Transfer Complete interrupt mask + * @arg MDMA_IT_BRT : Block Repeat Transfer interrupt mask + * @arg MDMA_IT_BT : Block Transfer interrupt mask + * @arg MDMA_IT_BFTC : BuFfer Transfer Complete interrupt mask + * @retval The state of MDMA_IT (SET or RESET). + */ +#define __HAL_MDMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CCR & (__INTERRUPT__))) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup MDMA_Exported_Functions MDMA Exported Functions + * @{ + */ + +/* Initialization and de-initialization functions *****************************/ +/** @defgroup MDMA_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and de-initialization functions + * @{ + */ +HAL_StatusTypeDef HAL_MDMA_Init(MDMA_HandleTypeDef *hmdma); +HAL_StatusTypeDef HAL_MDMA_DeInit (MDMA_HandleTypeDef *hmdma); +HAL_StatusTypeDef HAL_MDMA_ConfigPostRequestMask(MDMA_HandleTypeDef *hmdma, uint32_t MaskAddress, uint32_t MaskData); + +HAL_StatusTypeDef HAL_MDMA_RegisterCallback(MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID, void (* pCallback)(MDMA_HandleTypeDef *_hmdma)); +HAL_StatusTypeDef HAL_MDMA_UnRegisterCallback(MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID); + +/** + * @} + */ + +/* Linked list operation functions ********************************************/ +/** @defgroup MDMA_Exported_Functions_Group2 Linked List operation functions + * @brief Linked list operation functions + * @{ + */ + +HAL_StatusTypeDef HAL_MDMA_LinkedList_CreateNode(MDMA_LinkNodeTypeDef *pNode, MDMA_LinkNodeConfTypeDef *pNodeConfig); +HAL_StatusTypeDef HAL_MDMA_LinkedList_AddNode(MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNewNode, MDMA_LinkNodeTypeDef *pPrevNode); +HAL_StatusTypeDef HAL_MDMA_LinkedList_RemoveNode(MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNode); +HAL_StatusTypeDef HAL_MDMA_LinkedList_EnableCircularMode(MDMA_HandleTypeDef *hmdma); +HAL_StatusTypeDef HAL_MDMA_LinkedList_DisableCircularMode(MDMA_HandleTypeDef *hmdma); + + +/** + * @} + */ + +/* IO operation functions *****************************************************/ +/** @defgroup MDMA_Exported_Functions_Group3 I/O operation functions + * @brief I/O operation functions + * @{ + */ +HAL_StatusTypeDef HAL_MDMA_Start (MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount); +HAL_StatusTypeDef HAL_MDMA_Start_IT(MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount); +HAL_StatusTypeDef HAL_MDMA_Abort(MDMA_HandleTypeDef *hmdma); +HAL_StatusTypeDef HAL_MDMA_Abort_IT(MDMA_HandleTypeDef *hmdma); +HAL_StatusTypeDef HAL_MDMA_PollForTransfer(MDMA_HandleTypeDef *hmdma, uint32_t CompleteLevel, uint32_t Timeout); +HAL_StatusTypeDef HAL_MDMA_GenerateSWRequest(MDMA_HandleTypeDef *hmdma); +void HAL_MDMA_IRQHandler(MDMA_HandleTypeDef *hmdma); + +/** + * @} + */ + +/* Peripheral State and Error functions ***************************************/ +/** @defgroup MDMA_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions + * @{ + */ +HAL_MDMA_StateTypeDef HAL_MDMA_GetState(MDMA_HandleTypeDef *hmdma); +uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma); + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup MDMA_Private_Types MDMA Private Types + * @{ + */ + +/** + * @} + */ + +/* Private defines -----------------------------------------------------------*/ +/** @defgroup MDMA_Private_Defines MDMA Private Defines + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup MDMA_Private_Variables MDMA Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup MDMA_Private_Constants MDMA Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup MDMA_Private_Macros MDMA Private Macros + * @{ + */ + +#define IS_MDMA_LEVEL_COMPLETE(__LEVEL__) (((__LEVEL__) == HAL_MDMA_FULL_TRANSFER ) || \ + ((__LEVEL__) == HAL_MDMA_BUFFER_TRANSFER )|| \ + ((__LEVEL__) == HAL_MDMA_BLOCK_TRANSFER ) || \ + ((__LEVEL__) == HAL_MDMA_REPEAT_BLOCK_TRANSFER )) + + +#define IS_MDMA_PRIORITY(__PRIORITY__) (((__PRIORITY__) == MDMA_PRIORITY_LOW ) || \ + ((__PRIORITY__) == MDMA_PRIORITY_MEDIUM) || \ + ((__PRIORITY__) == MDMA_PRIORITY_HIGH) || \ + ((__PRIORITY__) == MDMA_PRIORITY_VERY_HIGH)) + +#define IS_MDMA_ENDIANNESS_MODE(__ENDIANNESS__) (((__ENDIANNESS__) == MDMA_LITTLE_ENDIANNESS_PRESERVE ) || \ + ((__ENDIANNESS__) == MDMA_LITTLE_BYTE_ENDIANNESS_EXCHANGE) || \ + ((__ENDIANNESS__) == MDMA_LITTLE_HALFWORD_ENDIANNESS_EXCHANGE) || \ + ((__ENDIANNESS__) == MDMA_LITTLE_WORD_ENDIANNESS_EXCHANGE)) + + +#define IS_MDMA_REQUEST(__REQUEST__) (((__REQUEST__) == MDMA_REQUEST_SW ) || ((__REQUEST__) <= MDMA_REQUEST_SDMMC1_END_DATA)) + +#define IS_MDMA_SOURCE_INC(__INC__) (((__INC__) == MDMA_SRC_INC_DISABLE ) || \ + ((__INC__) == MDMA_SRC_INC_BYTE ) || \ + ((__INC__) == MDMA_SRC_INC_HALFWORD ) || \ + ((__INC__) == MDMA_SRC_INC_WORD ) || \ + ((__INC__) == MDMA_SRC_INC_DOUBLEWORD) || \ + ((__INC__) == MDMA_SRC_DEC_BYTE) || \ + ((__INC__) == MDMA_SRC_DEC_HALFWORD) || \ + ((__INC__) == MDMA_SRC_DEC_WORD) || \ + ((__INC__) == MDMA_SRC_DEC_DOUBLEWORD)) + +#define IS_MDMA_DESTINATION_INC(__INC__) (((__INC__) == MDMA_DEST_INC_DISABLE ) || \ + ((__INC__) == MDMA_DEST_INC_BYTE ) || \ + ((__INC__) == MDMA_DEST_INC_HALFWORD ) || \ + ((__INC__) == MDMA_DEST_INC_WORD ) || \ + ((__INC__) == MDMA_DEST_INC_DOUBLEWORD) || \ + ((__INC__) == MDMA_DEST_DEC_BYTE) || \ + ((__INC__) == MDMA_DEST_DEC_HALFWORD) || \ + ((__INC__) == MDMA_DEST_DEC_WORD) || \ + ((__INC__) == MDMA_DEST_DEC_DOUBLEWORD)) + +#define IS_MDMA_SOURCE_DATASIZE(__SIZE__) (((__SIZE__) == MDMA_SRC_DATASIZE_BYTE ) || \ + ((__SIZE__) == MDMA_SRC_DATASIZE_HALFWORD ) || \ + ((__SIZE__) == MDMA_SRC_DATASIZE_WORD ) || \ + ((__SIZE__) == MDMA_SRC_DATASIZE_DOUBLEWORD)) + +#define IS_MDMA_DESTINATION_DATASIZE(__SIZE__) (((__SIZE__) == MDMA_DEST_DATASIZE_BYTE ) || \ + ((__SIZE__) == MDMA_DEST_DATASIZE_HALFWORD ) || \ + ((__SIZE__) == MDMA_DEST_DATASIZE_WORD ) || \ + ((__SIZE__) == MDMA_DEST_DATASIZE_DOUBLEWORD)) + +#define IS_MDMA_DATA_ALIGNMENT(__ALIGNMENT__) (((__ALIGNMENT__) == MDMA_DATAALIGN_PACKENABLE ) || \ + ((__ALIGNMENT__) == MDMA_DATAALIGN_RIGHT ) || \ + ((__ALIGNMENT__) == MDMA_DATAALIGN_RIGHT_SIGNED ) || \ + ((__ALIGNMENT__) == MDMA_DATAALIGN_LEFT)) + + +#define IS_MDMA_SOURCE_BURST(__BURST__) (((__BURST__) == MDMA_SOURCE_BURST_SINGLE ) || \ + ((__BURST__) == MDMA_SOURCE_BURST_2BEATS ) || \ + ((__BURST__) == MDMA_SOURCE_BURST_4BEATS ) || \ + ((__BURST__) == MDMA_SOURCE_BURST_8BEATS) || \ + ((__BURST__) == MDMA_SOURCE_BURST_16BEATS) || \ + ((__BURST__) == MDMA_SOURCE_BURST_32BEATS) || \ + ((__BURST__) == MDMA_SOURCE_BURST_64BEATS) || \ + ((__BURST__) == MDMA_SOURCE_BURST_128BEATS)) + + +#define IS_MDMA_DESTINATION_BURST(__BURST__) (((__BURST__) == MDMA_DEST_BURST_SINGLE ) || \ + ((__BURST__) == MDMA_DEST_BURST_2BEATS ) || \ + ((__BURST__) == MDMA_DEST_BURST_4BEATS ) || \ + ((__BURST__) == MDMA_DEST_BURST_8BEATS) || \ + ((__BURST__) == MDMA_DEST_BURST_16BEATS) || \ + ((__BURST__) == MDMA_DEST_BURST_32BEATS) || \ + ((__BURST__) == MDMA_DEST_BURST_64BEATS) || \ + ((__BURST__) == MDMA_DEST_BURST_128BEATS)) + + #define IS_MDMA_TRANSFER_TRIGGER_MODE(__MODE__) (((__MODE__) == MDMA_BUFFER_TRANSFER ) || \ + ((__MODE__) == MDMA_BLOCK_TRANSFER ) || \ + ((__MODE__) == MDMA_REPEAT_BLOCK_TRANSFER ) || \ + ((__MODE__) == MDMA_FULL_TRANSFER)) + +#define IS_MDMA_BUFFER_TRANSFER_LENGTH(__LENGTH__) (((__LENGTH__) >= 0x00000001) && ((__LENGTH__) < 0x000000FF)) + +#define IS_MDMA_BLOCK_COUNT(__COUNT__) (((__COUNT__) > 0 ) && ((__COUNT__) <= 4096)) + +#define IS_MDMA_TRANSFER_LENGTH(SIZE) (((SIZE) > 0) && ((SIZE) <= 65536)) + +#define IS_MDMA_BLOCK_ADDR_OFFSET(__BLOCK_ADD_OFFSET__) (((__BLOCK_ADD_OFFSET__) > (-65536)) && ((__BLOCK_ADD_OFFSET__) < 65536)) + +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup MDMA_Private_Functions_Prototypes MDMA Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup MDMA_Private_Functions MDMA Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_MDMA_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h new file mode 100644 index 0000000000..fc9c4102b9 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h @@ -0,0 +1,771 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mmc.h + * @author MCD Application Team + * @brief Header file of MMC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2018 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_HAL_MMC_H +#define STM32H7xx_HAL_MMC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_sdmmc.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup MMC + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup MMC_Exported_Types MMC Exported Types + * @{ + */ + +/** @defgroup MMC_Exported_Types_Group1 MMC State enumeration structure + * @{ + */ +typedef enum +{ + HAL_MMC_STATE_RESET = ((uint32_t)0x00000000U), /*!< MMC not yet initialized or disabled */ + HAL_MMC_STATE_READY = ((uint32_t)0x00000001U), /*!< MMC initialized and ready for use */ + HAL_MMC_STATE_TIMEOUT = ((uint32_t)0x00000002U), /*!< MMC Timeout state */ + HAL_MMC_STATE_BUSY = ((uint32_t)0x00000003U), /*!< MMC process ongoing */ + HAL_MMC_STATE_PROGRAMMING = ((uint32_t)0x00000004U), /*!< MMC Programming State */ + HAL_MMC_STATE_RECEIVING = ((uint32_t)0x00000005U), /*!< MMC Receinving State */ + HAL_MMC_STATE_TRANSFER = ((uint32_t)0x00000006U), /*!< MMC Transfert State */ + HAL_MMC_STATE_ERROR = ((uint32_t)0x0000000FU) /*!< MMC is in error state */ +}HAL_MMC_StateTypeDef; +/** + * @} + */ + +/** @defgroup MMC_Exported_Types_Group2 MMC Card State enumeration structure + * @{ + */ +typedef enum +{ + HAL_MMC_CARD_READY = ((uint32_t)0x00000001U), /*!< Card state is ready */ + HAL_MMC_CARD_IDENTIFICATION = ((uint32_t)0x00000002U), /*!< Card is in identification state */ + HAL_MMC_CARD_STANDBY = ((uint32_t)0x00000003U), /*!< Card is in standby state */ + HAL_MMC_CARD_TRANSFER = ((uint32_t)0x00000004U), /*!< Card is in transfer state */ + HAL_MMC_CARD_SENDING = ((uint32_t)0x00000005U), /*!< Card is sending an operation */ + HAL_MMC_CARD_RECEIVING = ((uint32_t)0x00000006U), /*!< Card is receiving operation information */ + HAL_MMC_CARD_PROGRAMMING = ((uint32_t)0x00000007U), /*!< Card is in programming state */ + HAL_MMC_CARD_DISCONNECTED = ((uint32_t)0x00000008U), /*!< Card is disconnected */ + HAL_MMC_CARD_ERROR = ((uint32_t)0x000000FFU) /*!< Card response Error */ +}HAL_MMC_CardStateTypeDef; +/** + * @} + */ + +/** @defgroup MMC_Exported_Types_Group3 MMC Handle Structure definition + * @{ + */ +#define MMC_InitTypeDef SDMMC_InitTypeDef +#define MMC_TypeDef SDMMC_TypeDef + +/** + * @brief MMC Card Information Structure definition + */ +typedef struct +{ + uint32_t CardType; /*!< Specifies the card Type */ + + uint32_t Class; /*!< Specifies the class of the card class */ + + uint32_t RelCardAdd; /*!< Specifies the Relative Card Address */ + + uint32_t BlockNbr; /*!< Specifies the Card Capacity in blocks */ + + uint32_t BlockSize; /*!< Specifies one block size in bytes */ + + uint32_t LogBlockNbr; /*!< Specifies the Card logical Capacity in blocks */ + + uint32_t LogBlockSize; /*!< Specifies logical block size in bytes */ + +}HAL_MMC_CardInfoTypeDef; + +/** + * @brief MMC handle Structure definition + */ +typedef struct __MMC_HandleTypeDef +{ + MMC_TypeDef *Instance; /*!< MMC registers base address */ + + MMC_InitTypeDef Init; /*!< MMC required parameters */ + + HAL_LockTypeDef Lock; /*!< MMC locking object */ + + uint8_t *pTxBuffPtr; /*!< Pointer to MMC Tx transfer Buffer */ + + uint32_t TxXferSize; /*!< MMC Tx Transfer size */ + + uint8_t *pRxBuffPtr; /*!< Pointer to MMC Rx transfer Buffer */ + + uint32_t RxXferSize; /*!< MMC Rx Transfer size */ + + __IO uint32_t Context; /*!< MMC transfer context */ + + __IO HAL_MMC_StateTypeDef State; /*!< MMC card State */ + + __IO uint32_t ErrorCode; /*!< MMC Card Error codes */ + + HAL_MMC_CardInfoTypeDef MmcCard; /*!< MMC Card information */ + + uint32_t CSD[4]; /*!< MMC card specific data table */ + + uint32_t CID[4]; /*!< MMC card identification number table */ + + uint32_t Ext_CSD[128]; + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + void (* TxCpltCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* RxCpltCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* ErrorCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* AbortCpltCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* Read_DMADblBuf0CpltCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* Read_DMADblBuf1CpltCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* Write_DMADblBuf0CpltCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* Write_DMADblBuf1CpltCallback) (struct __MMC_HandleTypeDef *hmmc); + + void (* MspInitCallback) (struct __MMC_HandleTypeDef *hmmc); + void (* MspDeInitCallback) (struct __MMC_HandleTypeDef *hmmc); +#endif +}MMC_HandleTypeDef; + + +/** + * @} + */ + +/** @defgroup MMC_Exported_Types_Group4 Card Specific Data: CSD Register + * @{ + */ +typedef struct +{ + __IO uint8_t CSDStruct; /*!< CSD structure */ + __IO uint8_t SysSpecVersion; /*!< System specification version */ + __IO uint8_t Reserved1; /*!< Reserved */ + __IO uint8_t TAAC; /*!< Data read access time 1 */ + __IO uint8_t NSAC; /*!< Data read access time 2 in CLK cycles */ + __IO uint8_t MaxBusClkFrec; /*!< Max. bus clock frequency */ + __IO uint16_t CardComdClasses; /*!< Card command classes */ + __IO uint8_t RdBlockLen; /*!< Max. read data block length */ + __IO uint8_t PartBlockRead; /*!< Partial blocks for read allowed */ + __IO uint8_t WrBlockMisalign; /*!< Write block misalignment */ + __IO uint8_t RdBlockMisalign; /*!< Read block misalignment */ + __IO uint8_t DSRImpl; /*!< DSR implemented */ + __IO uint8_t Reserved2; /*!< Reserved */ + __IO uint32_t DeviceSize; /*!< Device Size */ + __IO uint8_t MaxRdCurrentVDDMin; /*!< Max. read current @ VDD min */ + __IO uint8_t MaxRdCurrentVDDMax; /*!< Max. read current @ VDD max */ + __IO uint8_t MaxWrCurrentVDDMin; /*!< Max. write current @ VDD min */ + __IO uint8_t MaxWrCurrentVDDMax; /*!< Max. write current @ VDD max */ + __IO uint8_t DeviceSizeMul; /*!< Device size multiplier */ + __IO uint8_t EraseGrSize; /*!< Erase group size */ + __IO uint8_t EraseGrMul; /*!< Erase group size multiplier */ + __IO uint8_t WrProtectGrSize; /*!< Write protect group size */ + __IO uint8_t WrProtectGrEnable; /*!< Write protect group enable */ + __IO uint8_t ManDeflECC; /*!< Manufacturer default ECC */ + __IO uint8_t WrSpeedFact; /*!< Write speed factor */ + __IO uint8_t MaxWrBlockLen; /*!< Max. write data block length */ + __IO uint8_t WriteBlockPaPartial; /*!< Partial blocks for write allowed */ + __IO uint8_t Reserved3; /*!< Reserved */ + __IO uint8_t ContentProtectAppli; /*!< Content protection application */ + __IO uint8_t FileFormatGroup; /*!< File format group */ + __IO uint8_t CopyFlag; /*!< Copy flag (OTP) */ + __IO uint8_t PermWrProtect; /*!< Permanent write protection */ + __IO uint8_t TempWrProtect; /*!< Temporary write protection */ + __IO uint8_t FileFormat; /*!< File format */ + __IO uint8_t ECC; /*!< ECC code */ + __IO uint8_t CSD_CRC; /*!< CSD CRC */ + __IO uint8_t Reserved4; /*!< Always 1 */ + +}HAL_MMC_CardCSDTypeDef; +/** + * @} + */ + +/** @defgroup MMC_Exported_Types_Group5 Card Identification Data: CID Register + * @{ + */ +typedef struct +{ + __IO uint8_t ManufacturerID; /*!< Manufacturer ID */ + __IO uint16_t OEM_AppliID; /*!< OEM/Application ID */ + __IO uint32_t ProdName1; /*!< Product Name part1 */ + __IO uint8_t ProdName2; /*!< Product Name part2 */ + __IO uint8_t ProdRev; /*!< Product Revision */ + __IO uint32_t ProdSN; /*!< Product Serial Number */ + __IO uint8_t Reserved1; /*!< Reserved1 */ + __IO uint16_t ManufactDate; /*!< Manufacturing Date */ + __IO uint8_t CID_CRC; /*!< CID CRC */ + __IO uint8_t Reserved2; /*!< Always 1 */ + +}HAL_MMC_CardCIDTypeDef; +/** + * @} + */ + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) +/** @defgroup MMC_Exported_Types_Group6 MMC Callback ID enumeration definition + * @{ + */ +typedef enum +{ + HAL_MMC_TX_CPLT_CB_ID = 0x00U, /*!< MMC Tx Complete Callback ID */ + HAL_MMC_RX_CPLT_CB_ID = 0x01U, /*!< MMC Rx Complete Callback ID */ + HAL_MMC_ERROR_CB_ID = 0x02U, /*!< MMC Error Callback ID */ + HAL_MMC_ABORT_CB_ID = 0x03U, /*!< MMC Abort Callback ID */ + HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID = 0x04U, /*!< MMC Rx DMA Double Buffer 0 Complete Callback ID */ + HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID = 0x05U, /*!< MMC Rx DMA Double Buffer 1 Complete Callback ID */ + HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID = 0x06U, /*!< MMC Tx DMA Double Buffer 0 Complete Callback ID */ + HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID = 0x07U, /*!< MMC Tx DMA Double Buffer 1 Complete Callback ID */ + + HAL_MMC_MSP_INIT_CB_ID = 0x10U, /*!< MMC MspInit Callback ID */ + HAL_MMC_MSP_DEINIT_CB_ID = 0x11U /*!< MMC MspDeInit Callback ID */ +}HAL_MMC_CallbackIDTypeDef; +/** + * @} + */ + +/** @defgroup MMC_Exported_Types_Group7 MMC Callback pointer definition + * @{ + */ +typedef void (*pMMC_CallbackTypeDef) (MMC_HandleTypeDef *hmmc); +/** + * @} + */ +#endif +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup MMC_Exported_Constants Exported Constants + * @{ + */ + +#define BLOCKSIZE ((uint32_t)512U) /*!< Block size is 512 bytes */ + +/** @defgroup MMC_Exported_Constansts_Group1 MMC Error status enumeration Structure definition + * @{ + */ +#define HAL_MMC_ERROR_NONE SDMMC_ERROR_NONE /*!< No error */ +#define HAL_MMC_ERROR_CMD_CRC_FAIL SDMMC_ERROR_CMD_CRC_FAIL /*!< Command response received (but CRC check failed) */ +#define HAL_MMC_ERROR_DATA_CRC_FAIL SDMMC_ERROR_DATA_CRC_FAIL /*!< Data block sent/received (CRC check failed) */ +#define HAL_MMC_ERROR_CMD_RSP_TIMEOUT SDMMC_ERROR_CMD_RSP_TIMEOUT /*!< Command response timeout */ +#define HAL_MMC_ERROR_DATA_TIMEOUT SDMMC_ERROR_DATA_TIMEOUT /*!< Data timeout */ +#define HAL_MMC_ERROR_TX_UNDERRUN SDMMC_ERROR_TX_UNDERRUN /*!< Transmit FIFO underrun */ +#define HAL_MMC_ERROR_RX_OVERRUN SDMMC_ERROR_RX_OVERRUN /*!< Receive FIFO overrun */ +#define HAL_MMC_ERROR_ADDR_MISALIGNED SDMMC_ERROR_ADDR_MISALIGNED /*!< Misaligned address */ +#define HAL_MMC_ERROR_BLOCK_LEN_ERR SDMMC_ERROR_BLOCK_LEN_ERR /*!< Transferred block length is not allowed for the card or the + number of transferred bytes does not match the block length */ +#define HAL_MMC_ERROR_ERASE_SEQ_ERR SDMMC_ERROR_ERASE_SEQ_ERR /*!< An error in the sequence of erase command occurs */ +#define HAL_MMC_ERROR_BAD_ERASE_PARAM SDMMC_ERROR_BAD_ERASE_PARAM /*!< An invalid selection for erase groups */ +#define HAL_MMC_ERROR_WRITE_PROT_VIOLATION SDMMC_ERROR_WRITE_PROT_VIOLATION /*!< Attempt to program a write protect block */ +#define HAL_MMC_ERROR_LOCK_UNLOCK_FAILED SDMMC_ERROR_LOCK_UNLOCK_FAILED /*!< Sequence or password error has been detected in unlock + command or if there was an attempt to access a locked card */ +#define HAL_MMC_ERROR_COM_CRC_FAILED SDMMC_ERROR_COM_CRC_FAILED /*!< CRC check of the previous command failed */ +#define HAL_MMC_ERROR_ILLEGAL_CMD SDMMC_ERROR_ILLEGAL_CMD /*!< Command is not legal for the card state */ +#define HAL_MMC_ERROR_CARD_ECC_FAILED SDMMC_ERROR_CARD_ECC_FAILED /*!< Card internal ECC was applied but failed to correct the data */ +#define HAL_MMC_ERROR_CC_ERR SDMMC_ERROR_CC_ERR /*!< Internal card controller error */ +#define HAL_MMC_ERROR_GENERAL_UNKNOWN_ERR SDMMC_ERROR_GENERAL_UNKNOWN_ERR /*!< General or unknown error */ +#define HAL_MMC_ERROR_STREAM_READ_UNDERRUN SDMMC_ERROR_STREAM_READ_UNDERRUN /*!< The card could not sustain data reading in stream rmode */ +#define HAL_MMC_ERROR_STREAM_WRITE_OVERRUN SDMMC_ERROR_STREAM_WRITE_OVERRUN /*!< The card could not sustain data programming in stream mode */ +#define HAL_MMC_ERROR_CID_CSD_OVERWRITE SDMMC_ERROR_CID_CSD_OVERWRITE /*!< CID/CSD overwrite error */ +#define HAL_MMC_ERROR_WP_ERASE_SKIP SDMMC_ERROR_WP_ERASE_SKIP /*!< Only partial address space was erased */ +#define HAL_MMC_ERROR_CARD_ECC_DISABLED SDMMC_ERROR_CARD_ECC_DISABLED /*!< Command has been executed without using internal ECC */ +#define HAL_MMC_ERROR_ERASE_RESET SDMMC_ERROR_ERASE_RESET /*!< Erase sequence was cleared before executing because an out + of erase sequence command was received */ +#define HAL_MMC_ERROR_AKE_SEQ_ERR SDMMC_ERROR_AKE_SEQ_ERR /*!< Error in sequence of authentication */ +#define HAL_MMC_ERROR_INVALID_VOLTRANGE SDMMC_ERROR_INVALID_VOLTRANGE /*!< Error in case of invalid voltage range */ +#define HAL_MMC_ERROR_ADDR_OUT_OF_RANGE SDMMC_ERROR_ADDR_OUT_OF_RANGE /*!< Error when addressed block is out of range */ +#define HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE SDMMC_ERROR_REQUEST_NOT_APPLICABLE /*!< Error when command request is not applicable */ +#define HAL_MMC_ERROR_PARAM SDMMC_ERROR_INVALID_PARAMETER /*!< the used parameter is not valid */ +#define HAL_MMC_ERROR_UNSUPPORTED_FEATURE SDMMC_ERROR_UNSUPPORTED_FEATURE /*!< Error when feature is not insupported */ +#define HAL_MMC_ERROR_BUSY SDMMC_ERROR_BUSY /*!< Error when transfer process is busy */ +#define HAL_MMC_ERROR_DMA SDMMC_ERROR_DMA /*!< Error while DMA transfer */ +#define HAL_MMC_ERROR_TIMEOUT SDMMC_ERROR_TIMEOUT /*!< Timeout error */ + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) +#define HAL_MMC_ERROR_INVALID_CALLBACK SDMMC_ERROR_INVALID_PARAMETER /*!< Invalid callback error */ +#endif +/** + * @} + */ + +/** @defgroup MMC_Exported_Constansts_Group2 MMC context enumeration + * @{ + */ +#define MMC_CONTEXT_NONE ((uint32_t)0x00000000U) /*!< None */ +#define MMC_CONTEXT_READ_SINGLE_BLOCK ((uint32_t)0x00000001U) /*!< Read single block operation */ +#define MMC_CONTEXT_READ_MULTIPLE_BLOCK ((uint32_t)0x00000002U) /*!< Read multiple blocks operation */ +#define MMC_CONTEXT_WRITE_SINGLE_BLOCK ((uint32_t)0x00000010U) /*!< Write single block operation */ +#define MMC_CONTEXT_WRITE_MULTIPLE_BLOCK ((uint32_t)0x00000020U) /*!< Write multiple blocks operation */ +#define MMC_CONTEXT_IT ((uint32_t)0x00000008U) /*!< Process in Interrupt mode */ +#define MMC_CONTEXT_DMA ((uint32_t)0x00000080U) /*!< Process in DMA mode */ + +/** + * @} + */ + +/** @defgroup MMC_Exported_Constansts_Group3 MMC Voltage mode + * @{ + */ +/** + * @brief + */ +#define MMC_HIGH_VOLTAGE_RANGE 0x80FF8000U /*!< VALUE OF ARGUMENT */ +#define MMC_DUAL_VOLTAGE_RANGE 0x80FF8080U /*!< VALUE OF ARGUMENT */ +#define eMMC_HIGH_VOLTAGE_RANGE 0xC0FF8000U /*!< for eMMC > 2Gb sector mode */ +#define eMMC_DUAL_VOLTAGE_RANGE 0xC0FF8080U /*!< for eMMC > 2Gb sector mode */ +#define MMC_INVALID_VOLTAGE_RANGE 0x0001FF01U +/** + * @} + */ + +/** @defgroup MMC_Exported_Constansts_Group4 MMC Memory Cards + * @{ + */ +#define MMC_LOW_CAPACITY_CARD ((uint32_t)0x00000000U) /*!< MMC Card Capacity <=2Gbytes */ +#define MMC_HIGH_CAPACITY_CARD ((uint32_t)0x00000001U) /*!< MMC Card Capacity >2Gbytes and <2Tbytes */ + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup MMC_Exported_macros MMC Exported Macros + * @brief macros to handle interrupts and specific clock configurations + * @{ + */ +/** @brief Reset MMC handle state. + * @param __HANDLE__ : MMC handle. + * @retval None + */ +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) +#define __HAL_MMC_RESET_HANDLE_STATE(__HANDLE__) do { \ + (__HANDLE__)->State = HAL_MMC_STATE_RESET; \ + (__HANDLE__)->MspInitCallback = NULL; \ + (__HANDLE__)->MspDeInitCallback = NULL; \ + } while(0) +#else +#define __HAL_MMC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_MMC_STATE_RESET) +#endif + +/** + * @brief Enable the MMC device interrupt. + * @param __HANDLE__: MMC Handle + * @param __INTERRUPT__: specifies the SDMMC interrupt sources to be enabled. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __HAL_MMC_ENABLE_IT(__HANDLE__, __INTERRUPT__) __SDMMC_ENABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @brief Disable the MMC device interrupt. + * @param __HANDLE__: MMC Handle + * @param __INTERRUPT__: specifies the SDMMC interrupt sources to be disabled. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __HAL_MMC_DISABLE_IT(__HANDLE__, __INTERRUPT__) __SDMMC_DISABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @brief Check whether the specified MMC flag is set or not. + * @param __HANDLE__: MMC Handle + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed) + * @arg SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) + * @arg SDMMC_FLAG_CTIMEOUT: Command response timeout + * @arg SDMMC_FLAG_DTIMEOUT: Data timeout + * @arg SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error + * @arg SDMMC_FLAG_RXOVERR: Received FIFO overrun error + * @arg SDMMC_FLAG_CMDREND: Command response received (CRC check passed) + * @arg SDMMC_FLAG_CMDSENT: Command sent (no response required) + * @arg SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero) + * @arg SDMMC_FLAG_DHOLD: Data transfer Hold + * @arg SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed) + * @arg SDMMC_FLAG_DABORT: Data transfer aborted by CMD12 + * @arg SDMMC_FLAG_CPSMACT: Command path state machine active + * @arg SDMMC_FLAG_DPSMACT: Data path state machine active + * @arg SDMMC_FLAG_TXFIFOHE: Transmit FIFO Half Empty + * @arg SDMMC_FLAG_RXFIFOHF: Receive FIFO Half Full + * @arg SDMMC_FLAG_TXFIFOF: Transmit FIFO full + * @arg SDMMC_FLAG_RXFIFOF: Receive FIFO full + * @arg SDMMC_FLAG_TXFIFOE: Transmit FIFO empty + * @arg SDMMC_FLAG_RXFIFOE: Receive FIFO empty + * @arg SDMMC_FLAG_BUSYD0: Inverted value of SDMMC_D0 line (Busy) + * @arg SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected + * @arg SDMMC_FLAG_SDIOIT: SD I/O interrupt received + * @arg SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received + * @arg SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout + * @arg SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion + * @arg SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure + * @arg SDMMC_FLAG_IDMATE: IDMA transfer error + * @arg SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete + * @retval The new state of MMC FLAG (SET or RESET). + */ +#define __HAL_MMC_GET_FLAG(__HANDLE__, __FLAG__) __SDMMC_GET_FLAG((__HANDLE__)->Instance, (__FLAG__)) + +/** + * @brief Clear the MMC's pending flags. + * @param __HANDLE__: MMC Handle + * @param __FLAG__: specifies the flag to clear. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed) + * @arg SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) + * @arg SDMMC_FLAG_CTIMEOUT: Command response timeout + * @arg SDMMC_FLAG_DTIMEOUT: Data timeout + * @arg SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error + * @arg SDMMC_FLAG_RXOVERR: Received FIFO overrun error + * @arg SDMMC_FLAG_CMDREND: Command response received (CRC check passed) + * @arg SDMMC_FLAG_CMDSENT: Command sent (no response required) + * @arg SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero) + * @arg SDMMC_FLAG_DHOLD: Data transfer Hold + * @arg SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed) + * @arg SDMMC_FLAG_DABORT: Data transfer aborted by CMD12 + * @arg SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected + * @arg SDMMC_FLAG_SDIOIT: SD I/O interrupt received + * @arg SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received + * @arg SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout + * @arg SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion + * @arg SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure + * @arg SDMMC_FLAG_IDMATE: IDMA transfer error + * @arg SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete + * @retval None + */ +#define __HAL_MMC_CLEAR_FLAG(__HANDLE__, __FLAG__) __SDMMC_CLEAR_FLAG((__HANDLE__)->Instance, (__FLAG__)) + +/** + * @brief Check whether the specified MMC interrupt has occurred or not. + * @param __HANDLE__: MMC Handle + * @param __INTERRUPT__: specifies the SDMMC interrupt source to check. + * This parameter can be one of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_DPSMACT: Data path state machine active interrupt + * @arg SDMMC_IT_CPSMACT: Command path state machine active interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_TXFIFOF: Transmit FIFO full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_RXFIFOE: Receive FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0: Inverted value of SDMMC_D0 line (Busy) + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMATE: IDMA transfer error interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval The new state of MMC IT (SET or RESET). + */ +#define __HAL_MMC_GET_IT(__HANDLE__, __INTERRUPT__) __SDMMC_GET_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @brief Clear the MMC's interrupt pending bits. + * @param __HANDLE__: MMC Handle + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SD I/O interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMATE: IDMA transfer error interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __HAL_MMC_CLEAR_IT(__HANDLE__, __INTERRUPT__) __SDMMC_CLEAR_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @} + */ + +/* Include MMC HAL Extension module */ +#include "stm32h7xx_hal_mmc_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup MMC_Exported_Functions MMC Exported Functions + * @{ + */ + +/** @defgroup MMC_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +HAL_StatusTypeDef HAL_MMC_Init(MMC_HandleTypeDef *hmmc); +HAL_StatusTypeDef HAL_MMC_InitCard(MMC_HandleTypeDef *hmmc); +HAL_StatusTypeDef HAL_MMC_DeInit (MMC_HandleTypeDef *hmmc); +void HAL_MMC_MspInit(MMC_HandleTypeDef *hmmc); +void HAL_MMC_MspDeInit(MMC_HandleTypeDef *hmmc); + +/** + * @} + */ + +/** @defgroup MMC_Exported_Functions_Group2 Input and Output operation functions + * @{ + */ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_MMC_ReadBlocks(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout); +HAL_StatusTypeDef HAL_MMC_WriteBlocks(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout); +HAL_StatusTypeDef HAL_MMC_Erase(MMC_HandleTypeDef *hmmc, uint32_t BlockStartAdd, uint32_t BlockEndAdd); +/* Non-Blocking mode: IT */ +HAL_StatusTypeDef HAL_MMC_ReadBlocks_IT(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_MMC_WriteBlocks_IT(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_MMC_ReadBlocks_DMA(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_MMC_WriteBlocks_DMA(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); + +void HAL_MMC_IRQHandler(MMC_HandleTypeDef *hmmc); + +/* Callback in non blocking modes (DMA) */ +void HAL_MMC_TxCpltCallback(MMC_HandleTypeDef *hmmc); +void HAL_MMC_RxCpltCallback(MMC_HandleTypeDef *hmmc); +void HAL_MMC_ErrorCallback(MMC_HandleTypeDef *hmmc); +void HAL_MMC_AbortCallback(MMC_HandleTypeDef *hmmc); + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) +/* MMC callback registering/unregistering */ +HAL_StatusTypeDef HAL_MMC_RegisterCallback (MMC_HandleTypeDef *hmmc, HAL_MMC_CallbackIDTypeDef CallbackId, pMMC_CallbackTypeDef pCallback); +HAL_StatusTypeDef HAL_MMC_UnRegisterCallback(MMC_HandleTypeDef *hmmc, HAL_MMC_CallbackIDTypeDef CallbackId); +#endif +/** + * @} + */ + +/** @defgroup MMC_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ +HAL_StatusTypeDef HAL_MMC_ConfigWideBusOperation(MMC_HandleTypeDef *hmmc, uint32_t WideMode); +/** + * @} + */ + +/** @defgroup MMC_Exported_Functions_Group4 MMC card related functions + * @{ + */ +HAL_MMC_CardStateTypeDef HAL_MMC_GetCardState(MMC_HandleTypeDef *hmmc); +HAL_StatusTypeDef HAL_MMC_GetCardCID(MMC_HandleTypeDef *hmmc, HAL_MMC_CardCIDTypeDef *pCID); +HAL_StatusTypeDef HAL_MMC_GetCardCSD(MMC_HandleTypeDef *hmmc, HAL_MMC_CardCSDTypeDef *pCSD); +HAL_StatusTypeDef HAL_MMC_GetCardInfo(MMC_HandleTypeDef *hmmc, HAL_MMC_CardInfoTypeDef *pCardInfo); +/** + * @} + */ + +/** @defgroup MMC_Exported_Functions_Group5 Peripheral State and Errors functions + * @{ + */ +HAL_MMC_StateTypeDef HAL_MMC_GetState(MMC_HandleTypeDef *hmmc); +uint32_t HAL_MMC_GetError(MMC_HandleTypeDef *hmmc); +/** + * @} + */ + +/** @defgroup MMC_Exported_Functions_Group6 Perioheral Abort management + * @{ + */ +HAL_StatusTypeDef HAL_MMC_Abort(MMC_HandleTypeDef *hmmc); +HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc); +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup MMC_Private_Types MMC Private Types + * @{ + */ + +/** + * @} + */ + +/* Private defines -----------------------------------------------------------*/ +/** @defgroup MMC_Private_Defines MMC Private Defines + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup MMC_Private_Variables MMC Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup MMC_Private_Constants MMC Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup MMC_Private_Macros MMC Private Macros + * @{ + */ + +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup MMC_Private_Functions_Prototypes MMC Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup MMC_Private_Functions MMC Private Functions + * @{ + */ + +/** + * @} + */ + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* STM32H7xx_HAL_MMC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.h new file mode 100644 index 0000000000..fc9805cbd2 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.h @@ -0,0 +1,129 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mmc_ex.h + * @author MCD Application Team + * @brief Header file of SD HAL extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2018 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_HAL_MMC_EX_H +#define STM32H7xx_HAL_MMC_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup MMC_EX MMC_EX + * @brief SD HAL extended module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup MMCEx_Exported_Types MMCEx Exported Types + * @{ + */ + +/** @defgroup MMCEx_Exported_Types_Group1 MMC Internal DMA Buffer structure + * @{ + */ +typedef enum +{ + MMC_DMA_BUFFER0 = 0x00U, /*!< selects MMC internal DMA Buffer 0 */ + MMC_DMA_BUFFER1 = 0x01U, /*!< selects MMC internal DMA Buffer 1 */ + +}HAL_MMCEx_DMABuffer_MemoryTypeDef; + + +/** + * @} + */ + +/** + * @} + */ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup MMCEx_Exported_Functions MMCEx Exported Functions + * @{ + */ + +/** @defgroup MMCEx_Exported_Functions_Group1 MultiBuffer functions + * @{ + */ +HAL_StatusTypeDef HAL_MMCEx_ConfigDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize); +HAL_StatusTypeDef HAL_MMCEx_ReadBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_MMCEx_WriteBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_MMCEx_ChangeDMABuffer(MMC_HandleTypeDef *hmmc, HAL_MMCEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer); + +void HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback(MMC_HandleTypeDef *hmmc); +void HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback(MMC_HandleTypeDef *hmmc); +void HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback(MMC_HandleTypeDef *hmmc); +void HAL_MMCEx_Write_DMADoubleBuffer1CpltCallback(MMC_HandleTypeDef *hmmc); + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private defines -----------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/* Private functions prototypes ----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + + +#endif /* STM32H7xx_HAL_MMCEx_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h new file mode 100644 index 0000000000..1e1a53183d --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h @@ -0,0 +1,333 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_nand.h + * @author MCD Application Team + * @brief Header file of NAND HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_NAND_H +#define __STM32H7xx_HAL_NAND_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_fmc.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup NAND + * @{ + */ + +/* Exported typedef ----------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/** @defgroup NAND_Exported_Types NAND Exported Types + * @{ + */ + +/** + * @brief HAL NAND State structures definition + */ +typedef enum +{ + HAL_NAND_STATE_RESET = 0x00U, /*!< NAND not yet initialized or disabled */ + HAL_NAND_STATE_READY = 0x01U, /*!< NAND initialized and ready for use */ + HAL_NAND_STATE_BUSY = 0x02U, /*!< NAND internal process is ongoing */ + HAL_NAND_STATE_ERROR = 0x03U /*!< NAND error state */ +}HAL_NAND_StateTypeDef; + +/** + * @brief NAND Memory electronic signature Structure definition + */ +typedef struct +{ + /*State = HAL_NAND_STATE_RESET) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup NAND_Exported_Functions NAND Exported Functions + * @{ + */ + +/** @addtogroup NAND_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_NAND_Init(NAND_HandleTypeDef *hnand, FMC_NAND_PCC_TimingTypeDef *ComSpace_Timing, FMC_NAND_PCC_TimingTypeDef *AttSpace_Timing); +HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand); + +void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand); +void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand); +void HAL_NAND_IRQHandler(NAND_HandleTypeDef *hnand); +void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand); + +/** + * @} + */ + +/** @addtogroup NAND_Exported_Functions_Group2 Input and Output functions + * @{ + */ + +/* IO operation functions ****************************************************/ + +HAL_StatusTypeDef HAL_NAND_Read_ID(NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID); +HAL_StatusTypeDef HAL_NAND_ConfigDevice(NAND_HandleTypeDef *hnand, NAND_DeviceConfigTypeDef *pDeviceConfig); + +HAL_StatusTypeDef HAL_NAND_Reset(NAND_HandleTypeDef *hnand); + +HAL_StatusTypeDef HAL_NAND_Read_Page_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumPageToRead); +HAL_StatusTypeDef HAL_NAND_Write_Page_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumPageToWrite); +HAL_StatusTypeDef HAL_NAND_Read_SpareArea_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumSpareAreaToRead); +HAL_StatusTypeDef HAL_NAND_Write_SpareArea_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumSpareAreaTowrite); + +HAL_StatusTypeDef HAL_NAND_Read_Page_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumPageToRead); +HAL_StatusTypeDef HAL_NAND_Write_Page_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumPageToWrite); +HAL_StatusTypeDef HAL_NAND_Read_SpareArea_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumSpareAreaToRead); +HAL_StatusTypeDef HAL_NAND_Write_SpareArea_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumSpareAreaTowrite); + +HAL_StatusTypeDef HAL_NAND_Erase_Block(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress); + +uint32_t HAL_NAND_Address_Inc(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress); + +/** + * @} + */ + +/** @addtogroup NAND_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ + +/* NAND Control functions ****************************************************/ +HAL_StatusTypeDef HAL_NAND_ECC_Enable(NAND_HandleTypeDef *hnand); +HAL_StatusTypeDef HAL_NAND_ECC_Disable(NAND_HandleTypeDef *hnand); +HAL_StatusTypeDef HAL_NAND_GetECC(NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout); + +/** + * @} + */ + +/** @addtogroup NAND_Exported_Functions_Group4 Peripheral State functions + * @{ + */ +/* NAND State functions *******************************************************/ +HAL_NAND_StateTypeDef HAL_NAND_GetState(NAND_HandleTypeDef *hnand); +uint32_t HAL_NAND_Read_Status(NAND_HandleTypeDef *hnand); +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup NAND_Private_Constants NAND Private Constants + * @{ + */ +#define NAND_DEVICE ((uint32_t)0x80000000U) +#define NAND_WRITE_TIMEOUT ((uint32_t)0x01000000U) + +#define CMD_AREA ((uint32_t)(1<<16)) /* A16 = CLE high */ +#define ADDR_AREA ((uint32_t)(1<<17)) /* A17 = ALE high */ + +#define NAND_CMD_AREA_A ((uint8_t)0x00U) +#define NAND_CMD_AREA_B ((uint8_t)0x01U) +#define NAND_CMD_AREA_C ((uint8_t)0x50U) +#define NAND_CMD_AREA_TRUE1 ((uint8_t)0x30U) + +#define NAND_CMD_WRITE0 ((uint8_t)0x80U) +#define NAND_CMD_WRITE_TRUE1 ((uint8_t)0x10U) +#define NAND_CMD_ERASE0 ((uint8_t)0x60U) +#define NAND_CMD_ERASE1 ((uint8_t)0xD0U) +#define NAND_CMD_READID ((uint8_t)0x90U) +#define NAND_CMD_STATUS ((uint8_t)0x70U) +#define NAND_CMD_LOCK_STATUS ((uint8_t)0x7AU) +#define NAND_CMD_RESET ((uint8_t)0xFFU) + +/* NAND memory status */ +#define NAND_VALID_ADDRESS ((uint32_t)0x00000100U) +#define NAND_INVALID_ADDRESS ((uint32_t)0x00000200U) +#define NAND_TIMEOUT_ERROR ((uint32_t)0x00000400U) +#define NAND_BUSY ((uint32_t)0x00000000U) +#define NAND_ERROR ((uint32_t)0x00000001U) +#define NAND_READY ((uint32_t)0x00000040U) +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup NAND_Private_Macros NAND Private Macros + * @{ + */ + +/** + * @brief NAND memory address computation. + * @param __ADDRESS__: NAND memory address. + * @param __HANDLE__ : NAND handle. + * @retval NAND Raw address value + */ +#define ARRAY_ADDRESS(__ADDRESS__ , __HANDLE__) ((__ADDRESS__)->Page + \ + (((__ADDRESS__)->Block + (((__ADDRESS__)->Plane) * ((__HANDLE__)->Config.PlaneSize)))* ((__HANDLE__)->Config.BlockSize))) + +#define COLUMN_ADDRESS( __HANDLE__) ((__HANDLE__)->Config.PageSize) + +/** + * @brief NAND memory address cycling. + * @param __ADDRESS__: NAND memory address. + * @retval NAND address cycling value. + */ +#define ADDR_1ST_CYCLE(__ADDRESS__) (uint8_t)(__ADDRESS__) /* 1st addressing cycle */ +#define ADDR_2ND_CYCLE(__ADDRESS__) (uint8_t)((__ADDRESS__) >> 8) /* 2nd addressing cycle */ +#define ADDR_3RD_CYCLE(__ADDRESS__) (uint8_t)((__ADDRESS__) >> 16) /* 3rd addressing cycle */ +#define ADDR_4TH_CYCLE(__ADDRESS__) (uint8_t)((__ADDRESS__) >> 24) /* 4th addressing cycle */ + +/** + * @brief NAND memory Columns cycling. + * @param __ADDRESS__: NAND memory address. + * @retval NAND Column address cycling value. + */ +#define COLUMN_1ST_CYCLE(__ADDRESS__) (uint8_t)(__ADDRESS__) /* 1st Column addressing cycle */ +#define COLUMN_2ND_CYCLE(__ADDRESS__) (uint8_t)((__ADDRESS__) >> 8) /* 2nd Column addressing cycle */ + +/** + * @} + */ + +/** + * @} + */ +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_NAND_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h new file mode 100644 index 0000000000..8c9a975a71 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h @@ -0,0 +1,297 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_nor.h + * @author MCD Application Team + * @brief Header file of NOR HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_NOR_H +#define __STM32H7xx_HAL_NOR_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_fmc.h" + + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup NOR + * @{ + */ + +/* Exported typedef ----------------------------------------------------------*/ +/** @defgroup NOR_Exported_Types NOR Exported Types + * @{ + */ + +/** + * @brief HAL SRAM State structures definition + */ +typedef enum +{ + HAL_NOR_STATE_RESET = 0x00U, /*!< NOR not yet initialized or disabled */ + HAL_NOR_STATE_READY = 0x01U, /*!< NOR initialized and ready for use */ + HAL_NOR_STATE_BUSY = 0x02U, /*!< NOR internal processing is ongoing */ + HAL_NOR_STATE_ERROR = 0x03U, /*!< NOR error state */ + HAL_NOR_STATE_PROTECTED = 0x04U /*!< NOR NORSRAM device write protected */ +}HAL_NOR_StateTypeDef; + +/** + * @brief FMC NOR Status typedef + */ +typedef enum +{ + HAL_NOR_STATUS_SUCCESS = 0U, + HAL_NOR_STATUS_ONGOING, + HAL_NOR_STATUS_ERROR, + HAL_NOR_STATUS_TIMEOUT +}HAL_NOR_StatusTypeDef; + +/** + * @brief FMC NOR ID typedef + */ +typedef struct +{ + uint16_t Manufacturer_Code; /*!< Defines the device's manufacturer code used to identify the memory. */ + + uint16_t Device_Code1; + + uint16_t Device_Code2; + + uint16_t Device_Code3; /*!< Defines the device's codes used to identify the memory. + These codes can be accessed by performing read operations with specific + control signals and addresses set.They can also be accessed by issuing + an Auto Select command. */ +}NOR_IDTypeDef; + +/** + * @brief FMC NOR CFI typedef + */ +typedef struct +{ + /*!< Defines the information stored in the memory's Common flash interface + which contains a description of various electrical and timing parameters, + density information and functions supported by the memory */ + + uint16_t CFI_1; + + uint16_t CFI_2; + + uint16_t CFI_3; + + uint16_t CFI_4; +}NOR_CFITypeDef; + +/** + * @brief NOR handle Structure definition + */ +typedef struct +{ + FMC_NORSRAM_TypeDef *Instance; /*!< Register base address */ + + FMC_NORSRAM_EXTENDED_TypeDef *Extended; /*!< Extended mode register base address */ + + FMC_NORSRAM_InitTypeDef Init; /*!< NOR device control configuration parameters */ + + HAL_LockTypeDef Lock; /*!< NOR locking object */ + + __IO HAL_NOR_StateTypeDef State; /*!< NOR device access state */ + +}NOR_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup NOR_Exported_Macros NOR Exported Macros + * @{ + */ +/** @brief Reset NOR handle state + * @param __HANDLE__: specifies the NOR handle. + * @retval None + */ +#define __HAL_NOR_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_NOR_STATE_RESET) +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup NOR_Exported_Functions NOR Exported Functions + * @{ + */ + +/** @addtogroup NOR_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_NOR_Init(NOR_HandleTypeDef *hnor, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming); +HAL_StatusTypeDef HAL_NOR_DeInit(NOR_HandleTypeDef *hnor); +void HAL_NOR_MspInit(NOR_HandleTypeDef *hnor); +void HAL_NOR_MspDeInit(NOR_HandleTypeDef *hnor); +void HAL_NOR_MspWait(NOR_HandleTypeDef *hnor, uint32_t Timeout); +/** + * @} + */ + +/** @addtogroup NOR_Exported_Functions_Group2 Input and Output functions + * @{ + */ + +/* I/O operation functions ***************************************************/ +HAL_StatusTypeDef HAL_NOR_Read_ID(NOR_HandleTypeDef *hnor, NOR_IDTypeDef *pNOR_ID); +HAL_StatusTypeDef HAL_NOR_ReturnToReadMode(NOR_HandleTypeDef *hnor); +HAL_StatusTypeDef HAL_NOR_Read(NOR_HandleTypeDef *hnor, uint32_t *pAddress, uint16_t *pData); +HAL_StatusTypeDef HAL_NOR_Program(NOR_HandleTypeDef *hnor, uint32_t *pAddress, uint16_t *pData); + +HAL_StatusTypeDef HAL_NOR_ReadBuffer(NOR_HandleTypeDef *hnor, uint32_t uwAddress, uint16_t *pData, uint32_t uwBufferSize); +HAL_StatusTypeDef HAL_NOR_ProgramBuffer(NOR_HandleTypeDef *hnor, uint32_t uwAddress, uint16_t *pData, uint32_t uwBufferSize); + +HAL_StatusTypeDef HAL_NOR_Erase_Block(NOR_HandleTypeDef *hnor, uint32_t BlockAddress, uint32_t Address); +HAL_StatusTypeDef HAL_NOR_Erase_Chip(NOR_HandleTypeDef *hnor, uint32_t Address); +HAL_StatusTypeDef HAL_NOR_Read_CFI(NOR_HandleTypeDef *hnor, NOR_CFITypeDef *pNOR_CFI); +/** + * @} + */ + +/** @addtogroup NOR_Exported_Functions_Group3 NOR Control functions + * @{ + */ + +/* NOR Control functions *****************************************************/ +HAL_StatusTypeDef HAL_NOR_WriteOperation_Enable(NOR_HandleTypeDef *hnor); +HAL_StatusTypeDef HAL_NOR_WriteOperation_Disable(NOR_HandleTypeDef *hnor); +/** + * @} + */ + +/** @addtogroup NOR_Exported_Functions_Group4 NOR State functions + * @{ + */ + +/* NOR State functions ********************************************************/ +HAL_NOR_StateTypeDef HAL_NOR_GetState(NOR_HandleTypeDef *hnor); +HAL_NOR_StatusTypeDef HAL_NOR_GetStatus(NOR_HandleTypeDef *hnor, uint32_t Address, uint32_t Timeout); +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup NOR_Private_Constants NOR Private Constants + * @{ + */ +/* NOR device IDs addresses */ +#define MC_ADDRESS ((uint16_t)0x0000U) +#define DEVICE_CODE1_ADDR ((uint16_t)0x0001U) +#define DEVICE_CODE2_ADDR ((uint16_t)0x000EU) +#define DEVICE_CODE3_ADDR ((uint16_t)0x000FU) + +/* NOR CFI IDs addresses */ +#define CFI1_ADDRESS ((uint16_t)0x61U) +#define CFI2_ADDRESS ((uint16_t)0x62U) +#define CFI3_ADDRESS ((uint16_t)0x63U) +#define CFI4_ADDRESS ((uint16_t)0x64U) + +/* NOR operation wait timeout */ +#define NOR_TMEOUT ((uint16_t)0xFFFFU) + +/* NOR memory data width */ +#define NOR_MEMORY_8B ((uint8_t)0x0U) +#define NOR_MEMORY_16B ((uint8_t)0x1U) + +/* NOR memory device read/write start address */ +#define NOR_MEMORY_ADRESS1 ((uint32_t)0x60000000U) +#define NOR_MEMORY_ADRESS2 ((uint32_t)0x64000000U) +#define NOR_MEMORY_ADRESS3 ((uint32_t)0x68000000U) +#define NOR_MEMORY_ADRESS4 ((uint32_t)0x6C000000U) +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup NOR_Private_Macros NOR Private Macros + * @{ + */ +/** + * @brief NOR memory address shifting. + * @param __NOR_ADDRESS: NOR base address + * @param __NOR_MEMORY_WIDTH_: NOR memory width + * @param __ADDRESS__: NOR memory address + * @retval NOR shifted address value + */ +#define NOR_ADDR_SHIFT(__NOR_ADDRESS, __NOR_MEMORY_WIDTH_, __ADDRESS__) \ + ((uint32_t)(((__NOR_MEMORY_WIDTH_) == NOR_MEMORY_16B)? \ + ((uint32_t)((__NOR_ADDRESS) + (2 * (__ADDRESS__)))): \ + ((uint32_t)((__NOR_ADDRESS) + (__ADDRESS__))))) + +/** + * @brief NOR memory write data to specified address. + * @param __ADDRESS__: NOR memory address + * @param __DATA__: Data to write + * @retval None + */ +#define NOR_WRITE(__ADDRESS__, __DATA__) do{ \ + (*(__IO uint16_t *)((uint32_t)(__ADDRESS__)) = (__DATA__)); \ + __DSB(); \ + } while(0) + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_NOR_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp.h new file mode 100644 index 0000000000..68ee184e51 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp.h @@ -0,0 +1,437 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_opamp.h + * @author MCD Application Team + * @brief Header file of OPAMP HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_OPAMP_H +#define __STM32H7xx_HAL_OPAMP_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup OPAMP + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup OPAMP_Exported_Types OPAMP Exported Types + * @{ + */ + +/** + * @brief OPAMP Init structure definition + */ + +typedef struct +{ + + uint32_t PowerMode; /*!< Specifies the power mode Normal or High Speed. + This parameter must be a value of @ref OPAMP_PowerMode */ + + uint32_t Mode; /*!< Specifies the OPAMP mode + This parameter must be a value of @ref OPAMP_Mode + mode is either Standalone, - Follower or PGA */ + + uint32_t InvertingInput; /*!< Specifies the inverting input in Standalone & PGA modes + - In Standalone mode i.e when mode is OPAMP_STANDALONE_MODE + This parameter must be a value of @ref OPAMP_InvertingInput + - In Follower mode i.e when mode is OPAMP_FOLLOWER_MODE + & In PGA mode i.e when mode is OPAMP_PGA_MODE + This parameter is Not Applicable */ + + uint32_t NonInvertingInput; /*!< Specifies the non inverting input of the opamp: + This parameter must be a value of @ref OPAMP_NonInvertingInput */ + + uint32_t PgaGain; /*!< Specifies the gain in PGA mode + i.e. when mode is OPAMP_PGA_MODE. + This parameter must be a value of @ref OPAMP_PgaGain */ + + uint32_t PgaConnect; /*!< Specifies the inverting pin in PGA mode + i.e. when mode is OPAMP_PGA_MODE + This parameter must be a value of @ref OPAMP_PgaConnect + Either: not connected, connected to VINM0, connected to VINM1 + (VINM0 or VINM1 are typically used for external filtering) */ + + uint32_t UserTrimming; /*!< Specifies the trimming mode + This parameter must be a value of @ref OPAMP_UserTrimming + UserTrimming is either factory or user trimming.*/ + + uint32_t TrimmingValueP; /*!< Specifies the offset trimming value (PMOS) in Normal Mode + + i.e. when UserTrimming is OPAMP_TRIMMING_USER. + This parameter must be a number between Min_Data = 0 and Max_Data = 31. + 16 is typical default value */ + + uint32_t TrimmingValueN; /*!< Specifies the offset trimming value (NMOS) in Normal Mode + i.e. when UserTrimming is OPAMP_TRIMMING_USER. + This parameter must be a number between Min_Data = 0 and Max_Data = 31. + 16 is typical default value */ + + uint32_t TrimmingValuePHighSpeed; /*!< Specifies the offset trimming value (PMOS) in High Speed Mode + i.e. when UserTrimming is OPAMP_TRIMMING_USER. + This parameter must be a number between Min_Data = 0 and Max_Data = 31. + 16 is typical default value */ + + uint32_t TrimmingValueNHighSpeed; /*!< Specifies the offset trimming value (NMOS) in High Speed Mode + i.e. when UserTrimming is OPAMP_TRIMMING_USER. + This parameter must be a number between Min_Data = 0 and Max_Data = 31. + 16 is typical default value */ + +}OPAMP_InitTypeDef; + +/** + * @brief HAL State structures definition + */ + +typedef enum +{ + HAL_OPAMP_STATE_RESET = 0x00000000, /*!< OPAMP is not yet Initialized */ + + HAL_OPAMP_STATE_READY = 0x00000001, /*!< OPAMP is initialized and ready for use */ + HAL_OPAMP_STATE_CALIBBUSY = 0x00000002, /*!< OPAMP is enabled in auto calibration mode */ + + HAL_OPAMP_STATE_BUSY = 0x00000004, /*!< OPAMP is enabled and running in normal mode */ + HAL_OPAMP_STATE_BUSYLOCKED = 0x00000005 /*!< OPAMP is locked + only system reset allows reconfiguring the opamp. */ + +}HAL_OPAMP_StateTypeDef; + +/** + * @brief OPAMP Handle Structure definition + */ +typedef struct +{ + OPAMP_TypeDef *Instance; /*!< OPAMP instance's registers base address */ + OPAMP_InitTypeDef Init; /*!< OPAMP required parameters */ + HAL_StatusTypeDef Status; /*!< OPAMP peripheral status */ + HAL_LockTypeDef Lock; /*!< Locking object */ + __IO HAL_OPAMP_StateTypeDef State; /*!< OPAMP communication state */ + +} OPAMP_HandleTypeDef; + +/** + * @brief HAl_OPAMP_TrimmingValueTypeDef definition + */ + +typedef uint32_t HAL_OPAMP_TrimmingValueTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup OPAMP_Exported_Constants OPAMP Exported Constants + * @{ + */ + +/** @defgroup OPAMP_Mode OPAMP Mode + * @{ + */ +#define OPAMP_STANDALONE_MODE ((uint32_t)0x00000000) /*!< standalone mode */ +#define OPAMP_PGA_MODE OPAMP_CSR_VMSEL_1 /*!< PGA mode */ +#define OPAMP_FOLLOWER_MODE (OPAMP_CSR_VMSEL_1 | OPAMP_CSR_VMSEL_0) /*!< follower mode */ + +/** + * @} + */ + +/** @defgroup OPAMP_NonInvertingInput OPAMP Non Inverting Input + * @{ + */ + +#define OPAMP_NONINVERTINGINPUT_IO0 ((uint32_t)0x00000000) /*!< OPAMP non-inverting input connected to dedicated IO pin */ +#define OPAMP_NONINVERTINGINPUT_DAC_CH OPAMP_CSR_VPSEL_0 /*!< OPAMP non-inverting input connected internally to DAC channel */ + +/** + * @} + */ + +/** @defgroup OPAMP_InvertingInput OPAMP Inverting Input + * @{ + */ + +#define OPAMP_INVERTINGINPUT_IO0 ((uint32_t)0x00000000) /*!< OPAMP inverting input connected to dedicated IO pin */ +#define OPAMP_INVERTINGINPUT_IO1 OPAMP_CSR_VMSEL_0 /*!< OPAMP inverting input connected to dedicated IO pin */ + +/** + * @} + */ + +/** @defgroup OPAMP_PgaConnect OPAMP Pga Connect + * @{ + */ + +#define OPAMP_PGA_CONNECT_INVERTINGINPUT_NO ((uint32_t)0x00000000) /*!< In PGA mode, the inverting input is not connected */ +#define OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0 OPAMP_CSR_PGGAIN_2 /*!< In PGA mode, the inverting input is connected to VINM0 */ +#define OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0_BIAS OPAMP_CSR_PGGAIN_3 /*!< In PGA mode, the inverting input is connected to VINM0 or bias */ +#define OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0_IO1_BIAS (OPAMP_CSR_PGGAIN_2 | OPAMP_CSR_PGGAIN_3) /*!< In PGA mode, the inverting input is connected to VINM0 or bias , VINM1 connected for filtering */ + + +/** + * @} + */ + +/** @defgroup OPAMP_PgaGain OPAMP Pga Gain + * @{ + */ + +#define OPAMP_PGA_GAIN_2_OR_MINUS_1 ((uint32_t)0x00000000) /*!< PGA gain could be 2 or -1 */ +#define OPAMP_PGA_GAIN_4_OR_MINUS_3 OPAMP_CSR_PGGAIN_0 /*!< PGA gain could be 4 or -3 */ +#define OPAMP_PGA_GAIN_8_OR_MINUS_7 OPAMP_CSR_PGGAIN_1 /*!< PGA gain could be 8 or -7 */ +#define OPAMP_PGA_GAIN_16_OR_MINUS_15 (OPAMP_CSR_PGGAIN_0 | OPAMP_CSR_PGGAIN_1) /*!< PGA gain could be 16 or -15 */ + +/** + * @} + */ + +/** @defgroup OPAMP_PowerMode OPAMP PowerMode + * @{ + */ +#define OPAMP_POWERMODE_NORMAL ((uint32_t)0x00000000) +#define OPAMP_POWERMODE_HIGHSPEED OPAMP_CSR_OPAHSM + +/** + * @} + */ + + +/** @defgroup OPAMP_VREF OPAMP VREF + * @{ + */ + +#define OPAMP_VREF_3VDDA ((uint32_t)0x00000000) /*!< OPAMP Vref = 3.3% VDDA */ +#define OPAMP_VREF_10VDDA OPAMP_CSR_CALSEL_0 /*!< OPAMP Vref = 10% VDDA */ +#define OPAMP_VREF_50VDDA OPAMP_CSR_CALSEL_1 /*!< OPAMP Vref = 50% VDDA */ +#define OPAMP_VREF_90VDDA OPAMP_CSR_CALSEL /*!< OPAMP Vref = 90% VDDA */ + +/** + * @} + */ + +/** @defgroup OPAMP_UserTrimming OPAMP User Trimming + * @{ + */ +#define OPAMP_TRIMMING_FACTORY ((uint32_t)0x00000000) /*!< Factory trimming */ +#define OPAMP_TRIMMING_USER OPAMP_CSR_USERTRIM /*!< User trimming */ + + +/** + * @} + */ + +/** @defgroup OPAMP_FactoryTrimming OPAMP Factory Trimming + * @{ + */ +#define OPAMP_FACTORYTRIMMING_DUMMY ((uint32_t)0xFFFFFFFF) /*!< Dummy value if trimming value could not be retrieved */ + +#define OPAMP_FACTORYTRIMMING_N ((uint32_t)0x00000000) /*!< Offset trimming N */ +#define OPAMP_FACTORYTRIMMING_P ((uint32_t)0x00000001) /*!< Offset trimming P */ + +/** + * @} + */ + + /** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup OPAMP_Private_Constants OPAMP Private Constants + * @brief OPAMP Private constants and defines + * @{ + */ + +/* NONINVERTING bit position in OTR & HSOTR */ +#define OPAMP_INPUT_NONINVERTING ((uint32_t) 8) /*!< Non inverting input */ + +/* Offset trimming time: during calibration, minimum time needed between two */ +/* steps to have 1 mV accuracy. */ +/* Refer to datasheet, electrical characteristics: parameter tOFFTRIM Typ=2ms.*/ +/* Unit: ms. */ +#define OPAMP_TRIMMING_DELAY ((uint32_t) 2) + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup OPAMP_Exported_Macros OPAMP Exported Macros + * @{ + */ + +/** @brief Reset OPAMP handle state. + * @param __HANDLE__: OPAMP handle. + * @retval None + */ +#define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_OPAMP_STATE_RESET) + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ + +/** @defgroup OPAMP_Private_Macros OPAMP Private Macros + * @{ + */ + +#define IS_OPAMP_FUNCTIONAL_NORMALMODE(INPUT) (((INPUT) == OPAMP_STANDALONE_MODE) || \ + ((INPUT) == OPAMP_PGA_MODE) || \ + ((INPUT) == OPAMP_FOLLOWER_MODE)) + +#define IS_OPAMP_INVERTING_INPUT_STANDALONE(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \ + ((INPUT) == OPAMP_INVERTINGINPUT_IO1)) + + +#define IS_OPAMP_NONINVERTING_INPUT(INPUT) (((INPUT) == OPAMP_NONINVERTINGINPUT_IO0) || \ + ((INPUT) == OPAMP_NONINVERTINGINPUT_DAC_CH)) + +#define IS_OPAMP_PGACONNECT(CONNECT) (((CONNECT) == OPAMP_PGA_CONNECT_INVERTINGINPUT_NO) || \ + ((CONNECT) == OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0) || \ + ((CONNECT) == OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0_BIAS) || \ + ((CONNECT) == OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0_IO1_BIAS)) + +#define IS_OPAMP_PGA_GAIN(GAIN) (((GAIN) == OPAMP_PGA_GAIN_2_OR_MINUS_1) || \ + ((GAIN) == OPAMP_PGA_GAIN_4_OR_MINUS_3) || \ + ((GAIN) == OPAMP_PGA_GAIN_8_OR_MINUS_7) || \ + ((GAIN) == OPAMP_PGA_GAIN_16_OR_MINUS_15)) + + +#define IS_OPAMP_VREF(VREF) (((VREF) == OPAMP_VREF_3VDDA) || \ + ((VREF) == OPAMP_VREF_10VDDA) || \ + ((VREF) == OPAMP_VREF_50VDDA) || \ + ((VREF) == OPAMP_VREF_90VDDA)) + +#define IS_OPAMP_POWERMODE(TRIMMING) (((TRIMMING) == OPAMP_POWERMODE_NORMAL) || \ + ((TRIMMING) == OPAMP_POWERMODE_HIGHSPEED) ) + + +#define IS_OPAMP_TRIMMING(TRIMMING) (((TRIMMING) == OPAMP_TRIMMING_FACTORY) || \ + ((TRIMMING) == OPAMP_TRIMMING_USER)) + + +#define IS_OPAMP_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1F) + +#define IS_OPAMP_FACTORYTRIMMING(TRIMMING) (((TRIMMING) == OPAMP_FACTORYTRIMMING_N) || \ + ((TRIMMING) == OPAMP_FACTORYTRIMMING_P)) + +/** + * @} + */ + +/* Include OPAMP HAL Extended module */ +#include "stm32h7xx_hal_opamp_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup OPAMP_Exported_Functions + * @{ + */ + +/** @addtogroup OPAMP_Exported_Functions_Group1 + * @{ + */ +/* Initialization/de-initialization functions **********************************/ +HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp); +HAL_StatusTypeDef HAL_OPAMP_DeInit (OPAMP_HandleTypeDef *hopamp); +void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp); +void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp); +/** + * @} + */ + +/** @addtogroup OPAMP_Exported_Functions_Group2 + * @{ + */ + +/* I/O operation functions *****************************************************/ +HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp); +HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp); +HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp); + +/** + * @} + */ + +/** @addtogroup OPAMP_Exported_Functions_Group3 + * @{ + */ + +/* Peripheral Control functions ************************************************/ +HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp); +HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset (OPAMP_HandleTypeDef *hopamp, uint32_t trimmingoffset); + +/** + * @} + */ + +/** @addtogroup OPAMP_Exported_Functions_Group4 + * @{ + */ + +/* Peripheral State functions **************************************************/ +HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_OPAMP_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp_ex.h new file mode 100644 index 0000000000..ff28e82f83 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_opamp_ex.h @@ -0,0 +1,99 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_opamp_ex.h + * @author MCD Application Team + * @brief Header file of OPAMP HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_OPAMP_EX_H +#define __STM32H7xx_HAL_OPAMP_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup OPAMPEx + * @{ + */ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup OPAMPEx_Exported_Functions OPAMPEx Exported Functions + * @{ + */ + +/* Extended IO operation functions *****************************************************/ +/** @addtogroup OPAMPEx_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_OPAMPEx_SelfCalibrateAll(OPAMP_HandleTypeDef *hopamp1, OPAMP_HandleTypeDef *hopamp2); + +/** + * @} + */ +/* Peripheral Control functions ************************************************/ +/** @addtogroup OPAMPEx_Exported_Functions_Group2 + * @{ + */ +HAL_StatusTypeDef HAL_OPAMPEx_Unlock(OPAMP_HandleTypeDef *hopamp); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_OPAMP_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd.h new file mode 100644 index 0000000000..78b14d85cf --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd.h @@ -0,0 +1,341 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pcd.h + * @author MCD Application Team + * @brief Header file of PCD HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_PCD_H +#define __STM32H7xx_HAL_PCD_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_usb.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup PCD + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup PCD_Exported_Types PCD Exported Types + * @{ + */ + +/** + * @brief PCD State structure definition + */ +typedef enum +{ + HAL_PCD_STATE_RESET = 0x00U, + HAL_PCD_STATE_READY = 0x01U, + HAL_PCD_STATE_ERROR = 0x02U, + HAL_PCD_STATE_BUSY = 0x03U, + HAL_PCD_STATE_TIMEOUT = 0x04U +} PCD_StateTypeDef; + +/* Device LPM suspend state */ +typedef enum +{ + LPM_L0 = 0x00U, /* on */ + LPM_L1 = 0x01U, /* LPM L1 sleep */ + LPM_L2 = 0x02U, /* suspend */ + LPM_L3 = 0x03U, /* off */ +}PCD_LPM_StateTypeDef; + +typedef USB_OTG_GlobalTypeDef PCD_TypeDef; +typedef USB_OTG_CfgTypeDef PCD_InitTypeDef; +typedef USB_OTG_EPTypeDef PCD_EPTypeDef ; + +/** + * @brief PCD Handle Structure definition + */ +typedef struct +{ + PCD_TypeDef *Instance; /*!< Register base address */ + PCD_InitTypeDef Init; /*!< PCD required parameters */ + PCD_EPTypeDef IN_ep[16]; /*!< IN endpoint parameters */ + PCD_EPTypeDef OUT_ep[16]; /*!< OUT endpoint parameters */ + HAL_LockTypeDef Lock; /*!< PCD peripheral status */ + __IO PCD_StateTypeDef State; /*!< PCD communication state */ + uint32_t Setup[12]; /*!< Setup packet buffer */ + PCD_LPM_StateTypeDef LPM_State; /*!< LPM State */ + uint32_t BESL; + uint32_t lpm_active; /*!< Enable or disable the Link Power Management . + This parameter can be set to ENABLE or DISABLE */ + uint32_t battery_charging_active; /*!< Enable or disable Battery charging. + This parameter can be set to ENABLE or DISABLE */ + + void *pData; /*!< Pointer to upper stack Handler */ +} PCD_HandleTypeDef; + +/** + * @} + */ + +/* Include PCD HAL Extension module */ +#include "stm32h7xx_hal_pcd_ex.h" + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup PCD_Exported_Constants PCD Exported Constants + * @{ + */ + +/** @defgroup PCD_Speed PCD Speed + * @{ + */ +#define PCD_SPEED_HIGH 0U +#define PCD_SPEED_HIGH_IN_FULL 1U +#define PCD_SPEED_FULL 2U +/** + * @} + */ + +/** @defgroup PCD_PHY_Module PCD PHY Module + * @{ + */ +#define PCD_PHY_ULPI 1U +#define PCD_PHY_EMBEDDED 2U +/** + * @} + */ + +/** @defgroup PCD_Turnaround_Timeout Turnaround Timeout Value + * @{ + */ +#ifndef USBD_HS_TRDT_VALUE + #define USBD_HS_TRDT_VALUE 9U +#endif /* USBD_HS_TRDT_VALUE */ +#ifndef USBD_FS_TRDT_VALUE + #define USBD_FS_TRDT_VALUE 5U +#endif /* USBD_HS_TRDT_VALUE */ + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup PCD_Exported_Macros PCD Exported Macros + * @brief macros to handle interrupts and specific clock configurations + * @{ + */ +#define __HAL_PCD_ENABLE(__HANDLE__) USB_EnableGlobalInt ((__HANDLE__)->Instance) +#define __HAL_PCD_DISABLE(__HANDLE__) USB_DisableGlobalInt ((__HANDLE__)->Instance) + +#define __HAL_PCD_GET_FLAG(__HANDLE__, __INTERRUPT__) ((USB_ReadInterrupts((__HANDLE__)->Instance) & (__INTERRUPT__)) == (__INTERRUPT__)) +#define __HAL_PCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->GINTSTS) = (__INTERRUPT__)) +#define __HAL_PCD_IS_INVALID_INTERRUPT(__HANDLE__) (USB_ReadInterrupts((__HANDLE__)->Instance) == 0) + + +#define __HAL_PCD_UNGATE_PHYCLOCK(__HANDLE__) *(__IO uint32_t *)((uint32_t)((__HANDLE__)->Instance) + USB_OTG_PCGCCTL_BASE) &= \ + ~(USB_OTG_PCGCCTL_STOPCLK) + +#define __HAL_PCD_GATE_PHYCLOCK(__HANDLE__) *(__IO uint32_t *)((uint32_t)((__HANDLE__)->Instance) + USB_OTG_PCGCCTL_BASE) |= USB_OTG_PCGCCTL_STOPCLK + +#define __HAL_PCD_IS_PHY_SUSPENDED(__HANDLE__) ((*(__IO uint32_t *)((uint32_t)((__HANDLE__)->Instance) + USB_OTG_PCGCCTL_BASE))&0x10) + +#define USB_OTG_FS_WAKEUP_EXTI_RISING_EDGE ((uint32_t)0x08U) +#define USB_OTG_FS_WAKEUP_EXTI_FALLING_EDGE ((uint32_t)0x0CU) +#define USB_OTG_FS_WAKEUP_EXTI_RISING_FALLING_EDGE ((uint32_t)0x10U) + +#define USB_OTG_HS_WAKEUP_EXTI_RISING_EDGE ((uint32_t)0x08U) +#define USB_OTG_HS_WAKEUP_EXTI_FALLING_EDGE ((uint32_t)0x0CU) +#define USB_OTG_HS_WAKEUP_EXTI_RISING_FALLING_EDGE ((uint32_t)0x10U) + +#define USB_OTG_HS_WAKEUP_EXTI_LINE ((uint32_t)EXTI_IMR2_IM43) /*!< External interrupt line 43 Connected to the USB HS EXTI Line */ + + +#define USB_OTG_FS_WAKEUP_EXTI_LINE ((uint32_t)EXTI_IMR2_IM44) /*!< External interrupt line 44 Connected to the USB FS EXTI Line */ + + +/* HS */ +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_IT() EXTI_D1->IMR2 |= (USB_OTG_HS_WAKEUP_EXTI_LINE) +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_DISABLE_IT() EXTI_D1->IMR2 &= ~(USB_OTG_HS_WAKEUP_EXTI_LINE) +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_GET_FLAG() EXTI_D1->PR2 & (USB_OTG_HS_WAKEUP_EXTI_LINE) +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_CLEAR_FLAG() EXTI_D1->PR2 = (USB_OTG_HS_WAKEUP_EXTI_LINE) + +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_EDGE() EXTI->FTSR2 &= ~(USB_OTG_HS_WAKEUP_EXTI_LINE);\ + EXTI->RTSR2 |= USB_OTG_HS_WAKEUP_EXTI_LINE + +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_FALLING_EDGE() EXTI->FTSR2 |= (USB_OTG_HS_WAKEUP_EXTI_LINE);\ + EXTI->RTSR2 &= ~(USB_OTG_HS_WAKEUP_EXTI_LINE) + +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE() EXTI->RTSR2 &= ~(USB_OTG_HS_WAKEUP_EXTI_LINE);\ + EXTI->FTSR2 &= ~(USB_OTG_HS_WAKEUP_EXTI_LINE;)\ + EXTI->RTSR2 |= USB_OTG_HS_WAKEUP_EXTI_LINE;\ + EXTI->FTSR2 |= USB_OTG_HS_WAKEUP_EXTI_LINE + +#define __HAL_USB_OTG_HS_WAKEUP_EXTI_GENERATE_SWIT() (EXTI->SWIER2 |= USB_OTG_HS_WAKEUP_EXTI_LINE) + + + + +/* FS */ +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_IT() EXTI_D1->IMR2 |= USB_OTG_FS_WAKEUP_EXTI_LINE +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_DISABLE_IT() EXTI_D1->IMR2 &= ~(USB_OTG_FS_WAKEUP_EXTI_LINE) +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_GET_FLAG() EXTI_D1->PR2 & (USB_OTG_FS_WAKEUP_EXTI_LINE) +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_CLEAR_FLAG() EXTI_D1->PR2 = USB_OTG_FS_WAKEUP_EXTI_LINE +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_RISING_EDGE() EXTI->FTSR2 &= ~(USB_OTG_FS_WAKEUP_EXTI_LINE);\ + EXTI->RTSR2 |= USB_OTG_FS_WAKEUP_EXTI_LINE + +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_FALLING_EDGE() EXTI->FTSR2 |= (USB_OTG_FS_WAKEUP_EXTI_LINE);\ + EXTI->RTSR2 &= ~(USB_OTG_FS_WAKEUP_EXTI_LINE) + +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE() EXTI->RTSR2 &= ~(USB_OTG_FS_WAKEUP_EXTI_LINE);\ + EXTI->FTSR2 &= ~(USB_OTG_FS_WAKEUP_EXTI_LINE);\ + EXTI->RTSR2 |= USB_OTG_FS_WAKEUP_EXTI_LINE;\ + EXTI->FTSR2 |= USB_OTG_FS_WAKEUP_EXTI_LINE + +#define __HAL_USB_OTG_FS_WAKEUP_EXTI_GENERATE_SWIT() (EXTI->SWIER2 |= USB_OTG_FS_WAKEUP_EXTI_LINE) + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup PCD_Exported_Functions PCD Exported Functions + * @{ + */ + +/* Initialization/de-initialization functions ********************************/ +/** @addtogroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCD_DeInit (PCD_HandleTypeDef *hpcd); +void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd); +void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd); +/** + * @} + */ + +/* I/O operation functions ***************************************************/ +/* Non-Blocking mode: Interrupt */ +/** @addtogroup PCD_Exported_Functions_Group2 Input and Output operation functions + * @{ + */ +HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd); +void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd); + +void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); +void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); +void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd); +void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd); +void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd); +void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd); +void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd); +void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); +void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); +void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd); +void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd); +/** + * @} + */ + +/* Peripheral Control functions **********************************************/ +/** @addtogroup PCD_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ +HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address); +HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_t ep_type); +HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); +HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len); +HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len); +uint16_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); +HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); +HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); +HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); +HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd); +/** + * @} + */ + +/* Peripheral State functions ************************************************/ +/** @addtogroup PCD_Exported_Functions_Group4 Peripheral State functions + * @{ + */ +PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd); +/** + * @} + */ + +/** + * @} + */ + + /* Private macros ------------------------------------------------------------*/ +/** @defgroup PCD_Private_Macros PCD Private Macros + * @{ + */ +/** @defgroup PCD_Instance_definition PCD Instance definition + * @{ + */ +#define IS_PCD_ALL_INSTANCE(INSTANCE) (((INSTANCE) == USB1_OTG_HS) || \ + ((INSTANCE) == USB2_OTG_FS)) +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_PCD_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h new file mode 100644 index 0000000000..22ad7fc7e9 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h @@ -0,0 +1,116 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pcd_ex.h + * @author MCD Application Team + * @brief Header file of PCD HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_PCD_EX_H +#define __STM32H7xx_HAL_PCD_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup PCDEx + * @{ + */ +/* Exported types ------------------------------------------------------------*/ +typedef enum +{ + PCD_LPM_L0_ACTIVE = 0x00U, /* on */ + PCD_LPM_L1_ACTIVE = 0x01U, /* LPM L1 sleep */ +}PCD_LPM_MsgTypeDef; + + +typedef enum +{ + PCD_BCD_ERROR = 0xFF, + PCD_BCD_CONTACT_DETECTION = 0xFE, + PCD_BCD_STD_DOWNSTREAM_PORT = 0xFD, + PCD_BCD_CHARGING_DOWNSTREAM_PORT = 0xFC, + PCD_BCD_DEDICATED_CHARGING_PORT = 0xFB, + PCD_BCD_DISCOVERY_COMPLETED = 0x00, + +}PCD_BCD_MsgTypeDef; + + +/* Exported constants --------------------------------------------------------*/ +/* Exported macros -----------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup PCDEx_Exported_Functions PCDEx Exported Functions + * @{ + */ +/** @addtogroup PCDEx_Exported_Functions_Group1 Peripheral Control functions + * @{ + */ +HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size); +HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size); +HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd); +HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd); +void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd); +void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg); +void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_PCD_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h new file mode 100644 index 0000000000..2072ca9fff --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h @@ -0,0 +1,469 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pwr.h + * @author MCD Application Team + * @brief Header file of PWR HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_PWR_H +#define __STM32H7xx_HAL_PWR_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup PWR + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup PWR_Exported_Types PWR Exported Types + * @{ + */ + +/** + * @brief PWR PVD configuration structure definition + */ +typedef struct +{ + uint32_t PVDLevel; /*!< PVDLevel: Specifies the PVD detection level. + This parameter can be a value of @ref PWR_PVD_detection_level */ + + uint32_t Mode; /*!< Mode: Specifies the operating mode for the selected pins. + This parameter can be a value of @ref PWR_PVD_Mode */ +}PWR_PVDTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup PWR_Exported_Constants PWR Exported Constants + * @{ + */ + +/** @defgroup PWR_PVD_detection_level PWR PVD detection level + * @{ + */ +#define PWR_PVDLEVEL_0 PWR_CR1_PLS_LEV0 +#define PWR_PVDLEVEL_1 PWR_CR1_PLS_LEV1 +#define PWR_PVDLEVEL_2 PWR_CR1_PLS_LEV2 +#define PWR_PVDLEVEL_3 PWR_CR1_PLS_LEV3 +#define PWR_PVDLEVEL_4 PWR_CR1_PLS_LEV4 +#define PWR_PVDLEVEL_5 PWR_CR1_PLS_LEV5 +#define PWR_PVDLEVEL_6 PWR_CR1_PLS_LEV6 +#define PWR_PVDLEVEL_7 PWR_CR1_PLS_LEV7/* External input analog voltage (Compare internally to VREFINT) */ +/** + * @} + */ + +/** @defgroup PWR_PVD_Mode PWR PVD Mode + * @{ + */ +#define PWR_PVD_MODE_NORMAL ((uint32_t)0x00000000U) /*!< Basic mode is used */ +#define PWR_PVD_MODE_IT_RISING ((uint32_t)0x00010001U) /*!< External Interrupt Mode with Rising edge trigger detection */ +#define PWR_PVD_MODE_IT_FALLING ((uint32_t)0x00010002U) /*!< External Interrupt Mode with Falling edge trigger detection */ +#define PWR_PVD_MODE_IT_RISING_FALLING ((uint32_t)0x00010003U) /*!< External Interrupt Mode with Rising/Falling edge trigger detection */ +#define PWR_PVD_MODE_EVENT_RISING ((uint32_t)0x00020001U) /*!< Event Mode with Rising edge trigger detection */ +#define PWR_PVD_MODE_EVENT_FALLING ((uint32_t)0x00020002U) /*!< Event Mode with Falling edge trigger detection */ +#define PWR_PVD_MODE_EVENT_RISING_FALLING ((uint32_t)0x00020003U) /*!< Event Mode with Rising/Falling edge trigger detection */ +/** + * @} + */ + +/** @defgroup PWR_Regulator_state_in_STOP_mode PWR Regulator state in SLEEP/STOP mode + * @{ + */ +#define PWR_MAINREGULATOR_ON ((uint32_t)0x00000000U) +#define PWR_LOWPOWERREGULATOR_ON PWR_CR1_LPDS +/** + * @} + */ + +/** @defgroup PWR_SLEEP_mode_entry PWR SLEEP mode entry + * @{ + */ +#define PWR_SLEEPENTRY_WFI ((uint8_t)0x01U) +#define PWR_SLEEPENTRY_WFE ((uint8_t)0x02U) +/** + * @} + */ + +/** @defgroup PWR_STOP_mode_entry PWR STOP mode entry + * @{ + */ +#define PWR_STOPENTRY_WFI ((uint8_t)0x01U) +#define PWR_STOPENTRY_WFE ((uint8_t)0x02U) +/** + * @} + */ + +/** @defgroup PWR_Regulator_Voltage_Scale PWR Regulator Voltage Scale + * @{ + */ +#define PWR_REGULATOR_VOLTAGE_SCALE1 (PWR_D3CR_VOS_1 | PWR_D3CR_VOS_0) +#define PWR_REGULATOR_VOLTAGE_SCALE2 (PWR_D3CR_VOS_1) +#define PWR_REGULATOR_VOLTAGE_SCALE3 (PWR_D3CR_VOS_0) +/** + * @} + */ + +/** @defgroup PWR_Flag PWR Flag + * @{ + */ +#define PWR_FLAG_STOP ((uint8_t)0x01U) +#define PWR_FLAG_SB_D1 ((uint8_t)0x02U) +#define PWR_FLAG_SB_D2 ((uint8_t)0x03U) +#define PWR_FLAG_SB ((uint8_t)0x04U) +#define PWR_FLAG_PVDO ((uint8_t)0x07U) +#define PWR_FLAG_AVDO ((uint8_t)0x08U) +#define PWR_FLAG_ACTVOSRDY ((uint8_t)0x09U) +#define PWR_FLAG_ACTVOS ((uint8_t)0x0AU) +#define PWR_FLAG_BRR ((uint8_t)0x0BU) +#define PWR_FLAG_VOSRDY ((uint8_t)0x0CU) +#if defined(SMPS) +#define PWR_FLAG_SMPSEXTRDY ((uint8_t)0x0DU) +#else +#define PWR_FLAG_SCUEN ((uint8_t)0x0DU) +#endif /* SMPS */ +/** + * @} + */ + +/** @defgroup PWR_ENABLE_WUP_Mask PWR Enable WUP Mask + * @{ + */ +#define PWR_EWUP_MASK ((uint32_t)0x0FFF3F3FU) +/** + * @} + */ + +/** + * @} + */ +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup PWR_Exported_Macro PWR Exported Macro + * @{ + */ + +/** @brief macros configure the main internal regulator output voltage. + * @param __REGULATOR__: specifies the regulator output voltage to achieve + * a tradeoff between performance and power consumption when the device does + * not operate at the maximum frequency (refer to the datasheets for more details). + * This parameter can be one of the following values: + * @arg PWR_REGULATOR_VOLTAGE_SCALE1: Regulator voltage output Scale 1 mode + * @arg PWR_REGULATOR_VOLTAGE_SCALE2: Regulator voltage output Scale 2 mode + * @arg PWR_REGULATOR_VOLTAGE_SCALE3: Regulator voltage output Scale 3 mode + * @retval None + */ +#define __HAL_PWR_VOLTAGESCALING_CONFIG(__REGULATOR__) \ +do { \ + __IO uint32_t tmpreg = 0x00; \ + MODIFY_REG(PWR->D3CR, PWR_D3CR_VOS, (__REGULATOR__)); \ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(PWR->D3CR, PWR_D3CR_VOS); \ + UNUSED(tmpreg); \ +} while(0) + +/** @brief Check PWR PVD/AVD and VOSflags are set or not. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg PWR_FLAG_PVDO: PVD Output. This flag is valid only if PVD is enabled + * by the HAL_PWR_EnablePVD() function. The PVD is stopped by Standby mode + * For this reason, this bit is equal to 0 after Standby or reset + * until the PVDE bit is set. + * @arg PWR_FLAG_AVDO: AVD Output. This flag is valid only if AVD is enabled + * by the HAL_PWREx_EnableAVD() function. The AVD is stopped by Standby mode + * For this reason, this bit is equal to 0 after Standby or reset + * until the AVDE bit is set. + * @arg PWR_FLAG_ACTVOSRDY: This flag indicates that the Regulator voltage + * scaling output selection is ready. + * @arg PWR_FLAG_VOSRDY: This flag indicates that the Regulator voltage + * scaling output selection is ready. + * @arg PWR_FLAG_BRR: Backup regulator ready flag. This bit is not reset + * when the device wakes up from Standby mode or by a system reset + * or power reset. + * @arg PWR_FLAG_SB: StandBy flag + * @arg PWR_FLAG_STOP: STOP flag + * @arg PWR_FLAG_SB_D1: StandBy D1 flag + * @arg PWR_FLAG_SB_D2: StandBy D2 flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_PWR_GET_FLAG(__FLAG__) ( \ +((__FLAG__) == PWR_FLAG_PVDO)?((PWR->CSR1 & PWR_CSR1_PVDO) == PWR_CSR1_PVDO) : \ +((__FLAG__) == PWR_FLAG_AVDO)?((PWR->CSR1 & PWR_CSR1_AVDO) == PWR_CSR1_AVDO) : \ +((__FLAG__) == PWR_FLAG_ACTVOSRDY)?((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == PWR_CSR1_ACTVOSRDY) : \ +((__FLAG__) == PWR_FLAG_VOSRDY)?((PWR->D3CR & PWR_D3CR_VOSRDY) == PWR_D3CR_VOSRDY) : \ +((__FLAG__) == PWR_FLAG_SCUEN)?((PWR->CR3 & PWR_CR3_SCUEN) == PWR_CR3_SCUEN) : \ +((__FLAG__) == PWR_FLAG_BRR)?((PWR->CR2 & PWR_CR2_BRRDY) == PWR_CR2_BRRDY) : \ +((__FLAG__) == PWR_FLAG_SB)?((PWR->CPUCR & PWR_CPUCR_SBF) == PWR_CPUCR_SBF) : \ +((__FLAG__) == PWR_FLAG_STOP)?((PWR->CPUCR & PWR_CPUCR_STOPF) == PWR_CPUCR_STOPF) : \ +((__FLAG__) == PWR_FLAG_SB_D1)?((PWR->CPUCR & PWR_CPUCR_SBF_D1) == PWR_CPUCR_SBF_D1) : \ +((PWR->CPUCR & PWR_CPUCR_SBF_D2) == PWR_CPUCR_SBF_D2)) + + +/** @brief Clear the PWR's flags. + * @param __FLAG__: specifies the flag to clear. + * This parameter can be one of the following values: + * @arg PWR_FLAG_SB: StandBy flag. + * @arg PWR_CPU_FLAGS: Clear STOPF, SBF, SBF_D1, and SBF_D2 CPU flags. + * @retval None. + */ +#define __HAL_PWR_CLEAR_FLAG(__FLAG__) SET_BIT(PWR->CPUCR, PWR_CPUCR_CSSF) + +/** + * @brief Enable the PVD EXTI Line 16. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_ENABLE_IT() SET_BIT(EXTI_D1->IMR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief Disable the PVD EXTI Line 16. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_DISABLE_IT() CLEAR_BIT(EXTI_D1->IMR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief Enable event on PVD EXTI Line 16. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_ENABLE_EVENT() SET_BIT(EXTI_D1->EMR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief Disable event on PVD EXTI Line 16. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI_D1->EMR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief Enable the PVD Extended Interrupt Rising Trigger. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, PWR_EXTI_LINE_PVD) + +/** + * @brief Disable the PVD Extended Interrupt Rising Trigger. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, PWR_EXTI_LINE_PVD) + +/** + * @brief Enable the PVD Extended Interrupt Falling Trigger. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief Disable the PVD Extended Interrupt Falling Trigger. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief PVD EXTI line configuration: set rising & falling edge trigger. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_ENABLE_RISING_FALLING_EDGE() \ +do { \ + __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE(); \ + __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE(); \ +} while(0); + +/** + * @brief Disable the PVD Extended Interrupt Rising & Falling Trigger. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_DISABLE_RISING_FALLING_EDGE() \ +do { \ + __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE(); \ + __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE(); \ +} while(0); + +/** + * @brief Check whether the specified PVD EXTI interrupt flag is set or not. + * @retval EXTI PVD Line Status. + */ +#define __HAL_PWR_PVD_EXTI_GET_FLAG() READ_BIT(EXTI_D1->PR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief Clear the PVD EXTI flag. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_CLEAR_FLAG() SET_BIT(EXTI_D1->PR1, PWR_EXTI_LINE_PVD) + + +/** + * @brief Generates a Software interrupt on PVD EXTI line. + * @retval None. + */ +#define __HAL_PWR_PVD_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, PWR_EXTI_LINE_PVD) +/** + * @} + */ + + +/* Include PWR HAL Extension module */ +#include "stm32h7xx_hal_pwr_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup PWR_Exported_Functions PWR Exported Functions + * @{ + */ + +/** @addtogroup PWR_Exported_Functions_Group1 Initialization and De-Initialization functions + * @{ + */ +/* Initialization and de-initialization functions *****************************/ +void HAL_PWR_DeInit(void); +void HAL_PWR_EnableBkUpAccess(void); +void HAL_PWR_DisableBkUpAccess(void); +/** + * @} + */ + +/** @addtogroup PWR_Exported_Functions_Group2 Peripheral Control functions + * @{ + */ +/* Peripheral Control functions **********************************************/ +/* PVD configuration */ +void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD); +void HAL_PWR_EnablePVD(void); +void HAL_PWR_DisablePVD(void); + +/* WakeUp pins configuration */ +void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity); +void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx); + +/* Low Power modes entry */ +void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry); +void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry); +void HAL_PWR_EnterSTANDBYMode(void); + +/* Power PVD IRQ Handler */ +void HAL_PWR_PVD_IRQHandler(void); +void HAL_PWR_PVDCallback(void); + +/* Cortex System Control functions *******************************************/ +void HAL_PWR_EnableSleepOnExit(void); +void HAL_PWR_DisableSleepOnExit(void); +void HAL_PWR_EnableSEVOnPend(void); +void HAL_PWR_DisableSEVOnPend(void); +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup PWR_Private_Constants PWR Private Constants + * @{ + */ + +/** @defgroup PWR_PVD_EXTI_Line PWR PVD EXTI Line + * @{ + */ +/*!< External interrupt line 16 Connected to the PVD EXTI Line */ +#define PWR_EXTI_LINE_PVD ((uint32_t)EXTI_IMR1_IM16) +/** + * @} + */ + +/** + * @} + */ +/* Private macros ------------------------------------------------------------*/ +/** @defgroup PWR_Private_Macros PWR Private Macros + * @{ + */ + +/** @defgroup PWR_IS_PWR_Definitions PWR Private macros to check input parameters + * @{ + */ +#define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLEVEL_0) || ((LEVEL) == PWR_PVDLEVEL_1)|| \ + ((LEVEL) == PWR_PVDLEVEL_2) || ((LEVEL) == PWR_PVDLEVEL_3)|| \ + ((LEVEL) == PWR_PVDLEVEL_4) || ((LEVEL) == PWR_PVDLEVEL_5)|| \ + ((LEVEL) == PWR_PVDLEVEL_6) || ((LEVEL) == PWR_PVDLEVEL_7)) +#define IS_PWR_PVD_MODE(MODE) (((MODE) == PWR_PVD_MODE_IT_RISING)|| ((MODE) == PWR_PVD_MODE_IT_FALLING) || \ + ((MODE) == PWR_PVD_MODE_IT_RISING_FALLING) || ((MODE) == PWR_PVD_MODE_EVENT_RISING) || \ + ((MODE) == PWR_PVD_MODE_EVENT_FALLING) || ((MODE) == PWR_PVD_MODE_EVENT_RISING_FALLING) || \ + ((MODE) == PWR_PVD_MODE_NORMAL)) +#define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_MAINREGULATOR_ON) || \ + ((REGULATOR) == PWR_LOWPOWERREGULATOR_ON)) +#define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPENTRY_WFI) || ((ENTRY) == PWR_SLEEPENTRY_WFE)) +#define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPENTRY_WFI) || ((ENTRY) == PWR_STOPENTRY_WFE)) +#define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE1) || \ + ((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE2) || \ + ((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE3)) + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_PWR_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h new file mode 100644 index 0000000000..4bf5477ea7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h @@ -0,0 +1,612 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pwr_ex.h + * @author MCD Application Team + * @brief Header file of PWR HAL Extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_PWR_EX_H +#define __STM32H7xx_HAL_PWR_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup PWREx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup PWREx_Exported_Types PWREx Exported Types + * @{ + */ +/** + * @brief PWREx AVD configuration structure definition + */ +typedef struct +{ + uint32_t AVDLevel; /*!< AVDLevel: Specifies the AVD detection level. + This parameter can be a value of @ref PWREx_AVD_detection_level */ + + uint32_t Mode; /*!< Mode: Specifies the operating mode for the selected pins. + This parameter can be a value of @ref PWREx_AVD_Mode */ +}PWREx_AVDTypeDef; + +/** + * @brief PWREx Wakeup pin configuration structure definition + */ +typedef struct +{ + uint32_t WakeUpPin; /*!< WakeUpPin: Specifies the Wake-Up pin to be enabled. + This parameter can be a value of @ref PWREx_WakeUp_Pins */ + + uint32_t PinPolarity; /*!< PinPolarity: Specifies the Wake-Up pin polarity. + This parameter can be a value of @ref PWREx_PIN_Polarity */ + + uint32_t PinPull; /*!< PinPull: Specifies the Wake-Up pin pull. + This parameter can be a value of @ref PWREx_PIN_Pull */ +}PWREx_WakeupPinTypeDef; + +/** + * @} + */ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup PWREx_Exported_Constants PWREx Exported Constants + * @{ + */ +/** @defgroup PWREx_WakeUp_Pins PWREx Wake-Up Pins + * @{ + */ +#define PWR_WAKEUP_PIN6 PWR_WKUPEPR_WKUPEN_6 +#define PWR_WAKEUP_PIN5 PWR_WKUPEPR_WKUPEN_5 +#define PWR_WAKEUP_PIN4 PWR_WKUPEPR_WKUPEN_4 +#define PWR_WAKEUP_PIN3 PWR_WKUPEPR_WKUPEN_3 +#define PWR_WAKEUP_PIN2 PWR_WKUPEPR_WKUPEN_2 +#define PWR_WAKEUP_PIN1 PWR_WKUPEPR_WKUPEN_1 +/* High level and No pull */ +#define PWR_WAKEUP_PIN6_HIGH PWR_WKUPEPR_WKUPEN_6 +#define PWR_WAKEUP_PIN5_HIGH PWR_WKUPEPR_WKUPEN_5 +#define PWR_WAKEUP_PIN4_HIGH PWR_WKUPEPR_WKUPEN_4 +#define PWR_WAKEUP_PIN3_HIGH PWR_WKUPEPR_WKUPEN_3 +#define PWR_WAKEUP_PIN2_HIGH PWR_WKUPEPR_WKUPEN_2 +#define PWR_WAKEUP_PIN1_HIGH PWR_WKUPEPR_WKUPEN_1 +/* Low level and No pull */ +#define PWR_WAKEUP_PIN6_LOW (uint32_t)(PWR_WKUPEPR_WKUPP_6 | PWR_WKUPEPR_WKUPEN_6) +#define PWR_WAKEUP_PIN5_LOW (uint32_t)(PWR_WKUPEPR_WKUPP_5 | PWR_WKUPEPR_WKUPEN_5) +#define PWR_WAKEUP_PIN4_LOW (uint32_t)(PWR_WKUPEPR_WKUPP_4 | PWR_WKUPEPR_WKUPEN_4) +#define PWR_WAKEUP_PIN3_LOW (uint32_t)(PWR_WKUPEPR_WKUPP_3 | PWR_WKUPEPR_WKUPEN_3) +#define PWR_WAKEUP_PIN2_LOW (uint32_t)(PWR_WKUPEPR_WKUPP_2 | PWR_WKUPEPR_WKUPEN_2) +#define PWR_WAKEUP_PIN1_LOW (uint32_t)(PWR_WKUPEPR_WKUPP_1 | PWR_WKUPEPR_WKUPEN_1) + +/* Wake-Up Pins EXTI register mask */ +#define PWR_EXTI_WAKEUP_PINS_MASK (uint32_t)(EXTI_IMR2_IM55 | EXTI_IMR2_IM56 | \ + EXTI_IMR2_IM57 | EXTI_IMR2_IM58 | \ + EXTI_IMR2_IM59 | EXTI_IMR2_IM60) +/* Wake-Up Pins EXTI register offset */ +#define PWR_EXTI_WAKEUP_PINS_PULL_POSITION_OFFSET 23U + +/* Wake-Up Pins PWR register offsets */ +#define PWR_WAKEUP_PINS_POLARITY_REGISTER_OFFSET 8U +#define PWR_WAKEUP_PINS_PULL_REGISTER_OFFSET 16U +#define PWR_WAKEUP_PINS_PULL_POSITION_OFFSET 2U + +/** + * @} + */ + +/** @defgroup PWREx_PIN_Polarity PWREx Pin Polarity configuration + * @{ + */ +#define PWR_PIN_POLARITY_HIGH ((uint32_t)0x00000000U) +#define PWR_PIN_POLARITY_LOW ((uint32_t)0x00000001U) +/** + * @} + */ + +/** @defgroup PWREx_PIN_Pull PWREx Pin Pull configuration + * @{ + */ +#define PWR_PIN_NO_PULL ((uint32_t)0x00000000U) +#define PWR_PIN_PULL_UP ((uint32_t)0x00000001U) +#define PWR_PIN_PULL_DOWN ((uint32_t)0x00000002U) +/** + * @} + */ + + +/** @defgroup PWREx_Wakeup_Pins_Flags PWREx Wakeup Pins Flags. + * @{ + */ +#define PWR_WAKEUP_FLAG1 PWR_WKUPFR_WKUPF1 /*!< Wakeup event on pin 1 */ +#define PWR_WAKEUP_FLAG2 PWR_WKUPFR_WKUPF2 /*!< Wakeup event on pin 2 */ +#define PWR_WAKEUP_FLAG3 PWR_WKUPFR_WKUPF3 /*!< Wakeup event on pin 3 */ +#define PWR_WAKEUP_FLAG4 PWR_WKUPFR_WKUPF4 /*!< Wakeup event on pin 4 */ +#define PWR_WAKEUP_FLAG5 PWR_WKUPFR_WKUPF5 /*!< Wakeup event on pin 5 */ +#define PWR_WAKEUP_FLAG6 PWR_WKUPFR_WKUPF6 /*!< Wakeup event on pin 6 */ +/** + * @} + */ + + +/** @defgroup PWREx_Domains PWREx Domains definition + * @{ + */ +#define PWR_D1_DOMAIN ((uint32_t)0x00000000U) +#define PWR_D2_DOMAIN ((uint32_t)0x00000001U) +#define PWR_D3_DOMAIN ((uint32_t)0x00000002U) +/** + * @} + */ + +/** @defgroup PWREx_Domain_Flags PWREx Domain Flags definition + * @{ + */ +#define PWR_CPU_FLAGS ((uint32_t)0x00000000U) +/** + * @} + */ + +/** @defgroup PWREx_D3_State PWREx D3 Domain State + * @{ + */ +#define PWR_D3_DOMAIN_STOP ((uint32_t)0x00000000U) +#define PWR_D3_DOMAIN_RUN ((uint32_t)0x00000800U) + +/** + * @} + */ + +/** @defgroup PWREx_Supply_configuration PWREx Supply configuration + * @{ + */ +#define PWR_LDO_SUPPLY PWR_CR3_LDOEN /* Core domains are suppplied from the LDO */ +#if defined(SMPS) +#define PWR_DIRECT_SMPS_SUPPLY PWR_CR3_SMPSEN /* Core domains are suppplied from the SMPS only */ +#define PWR_SMPS_1V8_SUPPLIES_LDO (PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEN | PWR_CR3_LDOEN) /* The SMPS 1.8V output supplies the LDO which supplies the Core domains */ +#define PWR_SMPS_2V5_SUPPLIES_LDO (PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEN | PWR_CR3_LDOEN) /* The SMPS 2.5V output supplies the LDO which supplies the Core domains */ +#define PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO (PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_LDOEN) /* The SMPS 1.8V output supplies an external circuits and the LDO. The Core domains are suppplied from the LDO */ +#define PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO (PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_LDOEN) /* The SMPS 2.5V output supplies an external circuits and the LDO. The Core domains are suppplied from the LDO */ +#define PWR_SMPS_1V8_SUPPLIES_EXT (PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_BYPASS) /* The SMPS 1.8V output supplies an external source which supplies the Core domains */ +#define PWR_SMPS_2V5_SUPPLIES_EXT (PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_BYPASS) /* The SMPS 2.5V output supplies an external source which supplies the Core domains */ +#endif /* SMPS */ +#define PWR_EXTERNAL_SOURCE_SUPPLY PWR_CR3_BYPASS /* The SMPS disabled and the LDO Bypass. The Core domains are supplied from an external source */ + +#if defined(SMPS) +#define PWR_SUPPLY_CONFIG_MASK (PWR_CR3_SMPSLEVEL | PWR_CR3_SMPSEXTHP | \ + PWR_CR3_SMPSEN | PWR_CR3_LDOEN | PWR_CR3_BYPASS) +#else +#define PWR_SUPPLY_CONFIG_MASK (PWR_CR3_SCUEN | PWR_CR3_LDOEN | PWR_CR3_BYPASS) +#endif /* SMPS */ +/** + * @} + */ + +#if defined(SMPS) +/** @defgroup HAL_PWREx_SMPS_SetOperationMode PWREx SMPS operation modes + * @{ + */ +#define PWR_SMPS_FORCED_PWM PWR_PDR1_SMPSFPWMEN +#define PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL0 PWR_PDR1_PSKSYNC +#define PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL1 (PWR_PDR1_PSKSYNC | PWR_PDR1_PSKTHR_0) +#define PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL2 (PWR_PDR1_PSKSYNC | PWR_PDR1_PSKTHR_1) +#define PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL3 (PWR_PDR1_PSKSYNC | PWR_PDR1_PSKTHR) +#define PWR_SMPS_FAST_PULSE_SKIPPING (PWR_PDR1_FASTTRAN |PWR_PDR1_PSKSYNC) +#define PWR_SMPS_ULTRA_FAST_PULSE_SKIPPING PWR_PDR1_FASTTRAN +#define PWR_SMPS_MODE_MASK (PWR_PDR1_FASTTRAN | PWR_PDR1_PSKTHR | PWR_PDR1_PSKSYNC | PWR_PDR1_SMPSFPWMEN) +/** + * @} + */ +#endif /* SMPS */ + +/** @defgroup PWREx_AVD_detection_level PWREx AVD detection level + * @{ + */ +#define PWR_AVDLEVEL_0 PWR_CR1_ALS_LEV0 +#define PWR_AVDLEVEL_1 PWR_CR1_ALS_LEV1 +#define PWR_AVDLEVEL_2 PWR_CR1_ALS_LEV2 +#define PWR_AVDLEVEL_3 PWR_CR1_ALS_LEV3 +/** + * @} + */ + +/** @defgroup PWREx_AVD_Mode PWREx AVD Mode + * @{ + */ +#define PWR_AVD_MODE_NORMAL ((uint32_t)0x00000000U) /*!< Basic mode is used */ +#define PWR_AVD_MODE_IT_RISING ((uint32_t)0x00010001U) /*!< External Interrupt Mode with Rising edge trigger detection */ +#define PWR_AVD_MODE_IT_FALLING ((uint32_t)0x00010002U) /*!< External Interrupt Mode with Falling edge trigger detection */ +#define PWR_AVD_MODE_IT_RISING_FALLING ((uint32_t)0x00010003U) /*!< External Interrupt Mode with Rising/Falling edge trigger detection */ +#define PWR_AVD_MODE_EVENT_RISING ((uint32_t)0x00020001U) /*!< Event Mode with Rising edge trigger detection */ +#define PWR_AVD_MODE_EVENT_FALLING ((uint32_t)0x00020002U) /*!< Event Mode with Falling edge trigger detection */ +#define PWR_AVD_MODE_EVENT_RISING_FALLING ((uint32_t)0x00020003U) /*!< Event Mode with Rising/Falling edge trigger detection */ +/** + * @} + */ + +/** @defgroup PWREx_Regulator_Voltage_Scale PWREx Regulator Voltage Scale + * @{ + */ +#define PWR_REGULATOR_SVOS_SCALE5 (PWR_CR1_SVOS_0) +#define PWR_REGULATOR_SVOS_SCALE4 (PWR_CR1_SVOS_1) +#define PWR_REGULATOR_SVOS_SCALE3 (uint32_t)(PWR_CR1_SVOS_0 | PWR_CR1_SVOS_1) +/** + * @} + */ + +/** @defgroup PWREx_VBAT_Battery_Charging_Resistor PWR battery charging resistor selection + * @{ + */ +#define PWR_BATTERY_CHARGING_RESISTOR_5 ((uint32_t)0x00000000U) /*!< VBAT charging through a 5 kOhms resistor */ +#define PWR_BATTERY_CHARGING_RESISTOR_1_5 PWR_CR3_VBRS /*!< VBAT charging through a 1.5 kOhms resistor */ +/** + * @} + */ + +/** @defgroup PWREx_VBAT_Thresholds PWREx VBAT Thresholds + * @{ + */ +#define PWR_VBAT_BETWEEN_HIGH_LOW_THRESHOLD ((uint32_t)0x00000000U) +#define PWR_VBAT_BELOW_LOW_THRESHOLD PWR_CR2_VBATL +#define PWR_VBAT_ABOVE_HIGH_THRESHOLD PWR_CR2_VBATH +/** + * @} + */ + +/** @defgroup PWREx_TEMP_Thresholds PWREx Temperature Thresholds + * @{ + */ +#define PWR_TEMP_BETWEEN_HIGH_LOW_THRESHOLD ((uint32_t)0x00000000U) +#define PWR_TEMP_BELOW_LOW_THRESHOLD PWR_CR2_TEMPL +#define PWR_TEMP_ABOVE_HIGH_THRESHOLD PWR_CR2_TEMPH +/** + * @} + */ +/** @defgroup PWREx_AVD_EXTI_Line PWREx AVD EXTI Line 16 + * @{ + */ +#define PWR_EXTI_LINE_AVD ((uint32_t)EXTI_IMR1_IM16) /*!< External interrupt line 16 Connected to the AVD EXTI Line */ +/** + * @} + */ +/** + * @} + */ +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup PWREx_Exported_Macro PWREx Exported Macro + * @{ + */ + +/** + * @brief Enable the AVD EXTI Line 16. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_ENABLE_IT() SET_BIT(EXTI_D1->IMR1, PWR_EXTI_LINE_AVD) + + +/** + * @brief Disable the AVD EXTI Line 16 + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_DISABLE_IT() CLEAR_BIT(EXTI_D1->IMR1, PWR_EXTI_LINE_AVD) + + +/** + * @brief Enable event on AVD EXTI Line 16. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_ENABLE_EVENT() SET_BIT(EXTI_D1->EMR1, PWR_EXTI_LINE_AVD) + + +/** + * @brief Disable event on AVD EXTI Line 16. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI_D1->EMR1, PWR_EXTI_LINE_AVD) + + +/** + * @brief Enable the AVD Extended Interrupt Rising Trigger. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, PWR_EXTI_LINE_AVD) + +/** + * @brief Disable the AVD Extended Interrupt Rising Trigger. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, PWR_EXTI_LINE_AVD) + +/** + * @brief Enable the AVD Extended Interrupt Falling Trigger. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, PWR_EXTI_LINE_AVD) + + +/** + * @brief Disable the AVD Extended Interrupt Falling Trigger. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, PWR_EXTI_LINE_AVD) + + +/** + * @brief AVD EXTI line configuration: set rising & falling edge trigger. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ + __HAL_PWR_AVD_EXTI_ENABLE_RISING_EDGE(); \ + __HAL_PWR_AVD_EXTI_ENABLE_FALLING_EDGE(); \ +} while(0); + +/** + * @brief Disable the AVD Extended Interrupt Rising & Falling Trigger. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_DISABLE_RISING_FALLING_EDGE() \ +do { \ + __HAL_PWR_AVD_EXTI_DISABLE_RISING_EDGE(); \ + __HAL_PWR_AVD_EXTI_DISABLE_FALLING_EDGE(); \ +} while(0); + +/** + * @brief Check whether the specified AVD EXTI interrupt flag is set or not. + * @retval EXTI AVD Line Status. + */ +#define __HAL_PWR_AVD_EXTI_GET_FLAG() READ_BIT(EXTI_D1->PR1, PWR_EXTI_LINE_AVD) + + +/** + * @brief Clear the AVD EXTI flag. + * @retval None. + */ +#define __HAL_PWR_AVD_EXTI_CLEAR_FLAG() SET_BIT(EXTI_D1->PR1, PWR_EXTI_LINE_AVD) + + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup PWREx_Exported_Functions PWREx Exported Functions + * @{ + */ + +/** @addtogroup PWREx_Exported_Functions_Group1 Power supply control functions + * @{ + */ +/* Power supply control functions */ +HAL_StatusTypeDef HAL_PWREx_ConfigSupply(uint32_t SupplySource); +uint32_t HAL_PWREx_GetSupplyConfig(void); +#if defined(SMPS) +uint32_t HAL_PWREx_SMPS_SetOperationMode(uint32_t SMPS_Mode); +#endif /*SMPS*/ +/* Power volatge scaling functions */ +HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling); +uint32_t HAL_PWREx_GetVoltageRange(void); +HAL_StatusTypeDef HAL_PWREx_ControlStopModeVoltageScaling(uint32_t VoltageScaling); +uint32_t HAL_PWREx_GetStopModeVoltageRange(void); +/** + * @} + */ + +/** @addtogroup PWREx_Exported_Functions_Group2 Low power control functions + * @{ + */ +/* System low power control functions */ +void HAL_PWREx_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry, uint32_t Domain); +void HAL_PWREx_EnterSTANDBYMode(uint32_t Domain); +void HAL_PWREx_ConfigD3Domain(uint32_t D3State); + + +/* Flash low power control functions */ +void HAL_PWREx_EnableFlashPowerDown(void); +void HAL_PWREx_DisableFlashPowerDown(void); +/* Wakeup Pins control functions */ +void HAL_PWREx_EnableWakeUpPin(PWREx_WakeupPinTypeDef *sPinParams); +void HAL_PWREx_DisableWakeUpPin(uint32_t WakeUpPin); +uint32_t HAL_PWREx_GetWakeupFlag(uint32_t WakeUpFlag); +HAL_StatusTypeDef HAL_PWREx_ClearWakeupFlag(uint32_t WakeUpFlag); +/* Power Wakeup PIN IRQ Handler */ +void HAL_PWREx_WAKEUP_PIN_IRQHandler(void); +void HAL_PWREx_WKUP1_Callback(void); +void HAL_PWREx_WKUP2_Callback(void); +void HAL_PWREx_WKUP3_Callback(void); +void HAL_PWREx_WKUP4_Callback(void); +void HAL_PWREx_WKUP5_Callback(void); +void HAL_PWREx_WKUP6_Callback(void); +/** + * @} + */ + +/** @addtogroup PWREx_Exported_Functions_Group3 Peripherals control functions + * @{ + */ +/* Backup regulator control functions */ +HAL_StatusTypeDef HAL_PWREx_EnableBkUpReg(void); +HAL_StatusTypeDef HAL_PWREx_DisableBkUpReg(void); +/* USB regulator control functions */ +HAL_StatusTypeDef HAL_PWREx_EnableUSBReg(void); +HAL_StatusTypeDef HAL_PWREx_DisableUSBReg(void); +void HAL_PWREx_EnableUSBVoltageDetector(void); +void HAL_PWREx_DisableUSBVoltageDetector(void); +/* Battery control functions */ +void HAL_PWREx_EnableBatteryCharging(uint32_t ResistorValue); +void HAL_PWREx_DisableBatteryCharging(void); +/** + * @} + */ + +/** @addtogroup PWREx_Exported_Functions_Group4 Power Monitoring functions + * @{ + */ +/* Power VBAT/Temperature monitoring functions */ +void HAL_PWREx_EnableMonitoring(void); +void HAL_PWREx_DisableMonitoring(void); +uint32_t HAL_PWREx_GetTemperatureLevel(void); +uint32_t HAL_PWREx_GetVBATLevel(void); + +/* Power AVD configuration functions */ +void HAL_PWREx_ConfigAVD(PWREx_AVDTypeDef *sConfigAVD); +void HAL_PWREx_EnableAVD(void); +void HAL_PWREx_DisableAVD(void); + +/* Power PVD/AVD IRQ Handler */ +void HAL_PWREx_PVD_AVD_IRQHandler(void); +void HAL_PWREx_AVDCallback(void); + +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/** @defgroup PWREx_Private_Macros PWREx Private Macros + * @{ + */ + +/** @defgroup PWREx_IS_PWR_Definitions PWREx Private macros to check input parameters + * @{ + */ +#if defined(SMPS) +#define IS_PWR_SUPPLY(PWR_SOURCE) (((PWR_SOURCE) == PWR_LDO_SUPPLY) || \ + ((PWR_SOURCE) == PWR_DIRECT_SMPS_SUPPLY) || \ + ((PWR_SOURCE) == PWR_SMPS_1V8_SUPPLIES_LDO) || \ + ((PWR_SOURCE) == PWR_SMPS_2V5_SUPPLIES_LDO) || \ + ((PWR_SOURCE) == PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO) || \ + ((PWR_SOURCE) == PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO) || \ + ((PWR_SOURCE) == PWR_SMPS_1V8_SUPPLIES_EXT) || \ + ((PWR_SOURCE) == PWR_SMPS_2V5_SUPPLIES_EXT) || \ + ((PWR_SOURCE) == PWR_EXTERNAL_SOURCE_SUPPLY)) + +#define IS_PWR_SMPS_MODE(MODE) (((MODE) == PWR_SMPS_FORCED_PWM) || \ + ((MODE) == PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL0) || \ + ((MODE) == PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL1) || \ + ((MODE) == PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL2) || \ + ((MODE) == PWR_SMPS_SLOW_PULSE_SKIPPING_LEVEL3) || \ + ((MODE) == PWR_SMPS_FAST_PULSE_SKIPPING) || \ + ((MODE) == PWR_SMPS_ULTRA_FAST_PULSE_SKIPPING)) +#else +#define IS_PWR_SUPPLY(PWR_SOURCE) (((PWR_SOURCE) == PWR_LDO_SUPPLY) || \ + ((PWR_SOURCE) == PWR_EXTERNAL_SOURCE_SUPPLY)) +#endif /*SMPS*/ + +#define IS_PWR_STOP_MODE_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_REGULATOR_SVOS_SCALE3) || \ + ((VOLTAGE) == PWR_REGULATOR_SVOS_SCALE4) || \ + ((VOLTAGE) == PWR_REGULATOR_SVOS_SCALE5)) + +#define IS_PWR_DOMAIN(DOMAIN) (((DOMAIN) == PWR_D1_DOMAIN) || \ + ((DOMAIN) == PWR_D2_DOMAIN) || \ + ((DOMAIN) == PWR_D3_DOMAIN)) + +#define IS_D3_STATE(STATE) (((STATE) == PWR_D3_DOMAIN_STOP) || ((STATE) == PWR_D3_DOMAIN_RUN)) + +#define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WAKEUP_PIN1) || \ + ((PIN) == PWR_WAKEUP_PIN2) || \ + ((PIN) == PWR_WAKEUP_PIN3) || \ + ((PIN) == PWR_WAKEUP_PIN4) || \ + ((PIN) == PWR_WAKEUP_PIN5) || \ + ((PIN) == PWR_WAKEUP_PIN6) || \ + ((PIN) == PWR_WAKEUP_PIN1_HIGH) || \ + ((PIN) == PWR_WAKEUP_PIN2_HIGH) || \ + ((PIN) == PWR_WAKEUP_PIN3_HIGH) || \ + ((PIN) == PWR_WAKEUP_PIN4_HIGH) || \ + ((PIN) == PWR_WAKEUP_PIN5_HIGH) || \ + ((PIN) == PWR_WAKEUP_PIN6_HIGH) || \ + ((PIN) == PWR_WAKEUP_PIN1_LOW) || \ + ((PIN) == PWR_WAKEUP_PIN2_LOW) || \ + ((PIN) == PWR_WAKEUP_PIN3_LOW) || \ + ((PIN) == PWR_WAKEUP_PIN4_LOW) || \ + ((PIN) == PWR_WAKEUP_PIN5_LOW) || \ + ((PIN) == PWR_WAKEUP_PIN6_LOW)) + +#define IS_PWR_WAKEUP_PIN_POLARITY(POLARITY) (((POLARITY) == PWR_PIN_POLARITY_HIGH) || \ + ((POLARITY) == PWR_PIN_POLARITY_LOW)) + +#define IS_PWR_WAKEUP_PIN_PULL(PULL) (((PULL) == PWR_PIN_NO_PULL) || \ + ((PULL) == PWR_PIN_PULL_UP) || \ + ((PULL) == PWR_PIN_PULL_DOWN)) + +#define IS_PWR_WAKEUP_FLAG(FLAG) (((FLAG) == PWR_WAKEUP_FLAG1) || \ + ((FLAG) == PWR_WAKEUP_FLAG2) || \ + ((FLAG) == PWR_WAKEUP_FLAG3) || \ + ((FLAG) == PWR_WAKEUP_FLAG4) || \ + ((FLAG) == PWR_WAKEUP_FLAG5) || \ + ((FLAG) == PWR_WAKEUP_FLAG6)) + +#define IS_PWR_AVD_LEVEL(LEVEL) (((LEVEL) == PWR_AVDLEVEL_0) || ((LEVEL) == PWR_AVDLEVEL_1) || \ + ((LEVEL) == PWR_AVDLEVEL_2) || ((LEVEL) == PWR_AVDLEVEL_3)) + +#define IS_PWR_AVD_MODE(MODE) (((MODE) == PWR_AVD_MODE_IT_RISING)|| ((MODE) == PWR_AVD_MODE_IT_FALLING) || \ + ((MODE) == PWR_AVD_MODE_IT_RISING_FALLING) || ((MODE) == PWR_AVD_MODE_EVENT_RISING) || \ + ((MODE) == PWR_AVD_MODE_EVENT_FALLING) || ((MODE) == PWR_AVD_MODE_EVENT_RISING_FALLING) || \ + ((MODE) == PWR_AVD_MODE_NORMAL)) + +#define IS_PWR_BATTERY_RESISTOR_SELECT(RESISTOR) (((RESISTOR) == PWR_BATTERY_CHARGING_RESISTOR_5) ||\ + ((RESISTOR) == PWR_BATTERY_CHARGING_RESISTOR_1_5)) + + +/** + * @} + */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_PWR_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_qspi.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_qspi.h new file mode 100644 index 0000000000..c488c2073b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_qspi.h @@ -0,0 +1,692 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_qspi.h + * @author MCD Application Team + * @brief Header file of QSPI HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_QSPI_H +#define __STM32H7xx_HAL_QSPI_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" +#include "stm32h7xx_hal_mdma.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup QSPI + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup QSPI_Exported_Types QSPI Exported Types + * @{ + */ + +/** + * @brief QSPI Init structure definition + */ + +typedef struct +{ + uint32_t ClockPrescaler; /* Specifies the prescaler factor for generating clock based on the AHB clock. + This parameter can be a number between 0 and 255 */ + + uint32_t FifoThreshold; /* Specifies the threshold number of bytes in the FIFO (used only in indirect mode) + This parameter can be a value between 1 and 32 */ + + uint32_t SampleShifting; /* Specifies the Sample Shift. The data is sampled 1/2 clock cycle delay later to + take in account external signal delays. (It should be QSPI_SAMPLE_SHIFTING_NONE in DDR mode) + This parameter can be a value of @ref QSPI_SampleShifting */ + + uint32_t FlashSize; /* Specifies the Flash Size. FlashSize+1 is effectively the number of address bits + required to address the flash memory. The flash capacity can be up to 4GB + (addressed using 32 bits) in indirect mode, but the addressable space in + memory-mapped mode is limited to 256MB + This parameter can be a number between 0 and 31 */ + + uint32_t ChipSelectHighTime; /* Specifies the Chip Select High Time. ChipSelectHighTime+1 defines the minimum number + of clock cycles which the chip select must remain high between commands. + This parameter can be a value of @ref QSPI_ChipSelectHighTime */ + + uint32_t ClockMode; /* Specifies the Clock Mode. It indicates the level that clock takes between commands. + This parameter can be a value of @ref QSPI_ClockMode */ + + uint32_t FlashID; /* Specifies the Flash which will be used, + This parameter can be a value of @ref QSPI_Flash_Select */ + + uint32_t DualFlash; /* Specifies the Dual Flash Mode State + This parameter can be a value of @ref QSPI_DualFlash_Mode */ +}QSPI_InitTypeDef; + +/** + * @brief HAL QSPI State structures definition + */ +typedef enum +{ + HAL_QSPI_STATE_RESET = 0x00U, /*!< Peripheral not initialized */ + HAL_QSPI_STATE_READY = 0x01U, /*!< Peripheral initialized and ready for use */ + HAL_QSPI_STATE_BUSY = 0x02U, /*!< Peripheral in indirect mode and busy */ + HAL_QSPI_STATE_BUSY_INDIRECT_TX = 0x12U, /*!< Peripheral in indirect mode with transmission ongoing */ + HAL_QSPI_STATE_BUSY_INDIRECT_RX = 0x22U, /*!< Peripheral in indirect mode with reception ongoing */ + HAL_QSPI_STATE_BUSY_AUTO_POLLING = 0x42U, /*!< Peripheral in auto polling mode ongoing */ + HAL_QSPI_STATE_BUSY_MEM_MAPPED = 0x82U, /*!< Peripheral in memory mapped mode ongoing */ + HAL_QSPI_STATE_ABORT = 0x08U, /*!< Peripheral with abort request ongoing */ + HAL_QSPI_STATE_ERROR = 0x04U /*!< Peripheral in error */ +}HAL_QSPI_StateTypeDef; + +/** + * @brief QSPI Handle Structure definition + */ +typedef struct +{ + QUADSPI_TypeDef *Instance; /* QSPI registers base address */ + QSPI_InitTypeDef Init; /* QSPI communication parameters */ + uint8_t *pTxBuffPtr; /* Pointer to QSPI Tx transfer Buffer */ + __IO uint32_t TxXferSize; /* QSPI Tx Transfer size */ + __IO uint32_t TxXferCount; /* QSPI Tx Transfer Counter */ + uint8_t *pRxBuffPtr; /* Pointer to QSPI Rx transfer Buffer */ + __IO uint32_t RxXferSize; /* QSPI Rx Transfer size */ + __IO uint32_t RxXferCount; /* QSPI Rx Transfer Counter */ + MDMA_HandleTypeDef *hmdma; /* QSPI Rx/Tx MDMA Handle parameters */ + __IO HAL_LockTypeDef Lock; /* Locking object */ + __IO HAL_QSPI_StateTypeDef State; /* QSPI communication state */ + __IO uint32_t ErrorCode; /* QSPI Error code */ + uint32_t Timeout; /* Timeout for the QSPI memory access */ +}QSPI_HandleTypeDef; + +/** + * @brief QSPI Command structure definition + */ +typedef struct +{ + uint32_t Instruction; /* Specifies the Instruction to be sent + This parameter can be a value (8-bit) between 0x00 and 0xFF */ + uint32_t Address; /* Specifies the Address to be sent (Size from 1 to 4 bytes according AddressSize) + This parameter can be a value (32-bits) between 0x0 and 0xFFFFFFFF */ + uint32_t AlternateBytes; /* Specifies the Alternate Bytes to be sent (Size from 1 to 4 bytes according AlternateBytesSize) + This parameter can be a value (32-bits) between 0x0 and 0xFFFFFFFF */ + uint32_t AddressSize; /* Specifies the Address Size + This parameter can be a value of @ref QSPI_AddressSize */ + uint32_t AlternateBytesSize; /* Specifies the Alternate Bytes Size + This parameter can be a value of @ref QSPI_AlternateBytesSize */ + uint32_t DummyCycles; /* Specifies the Number of Dummy Cycles. + This parameter can be a number between 0 and 31 */ + uint32_t InstructionMode; /* Specifies the Instruction Mode + This parameter can be a value of @ref QSPI_InstructionMode */ + uint32_t AddressMode; /* Specifies the Address Mode + This parameter can be a value of @ref QSPI_AddressMode */ + uint32_t AlternateByteMode; /* Specifies the Alternate Bytes Mode + This parameter can be a value of @ref QSPI_AlternateBytesMode */ + uint32_t DataMode; /* Specifies the Data Mode (used for dummy cycles and data phases) + This parameter can be a value of @ref QSPI_DataMode */ + uint32_t NbData; /* Specifies the number of data to transfer. + This parameter can be any value between 0 and 0xFFFFFFFF (0 means undefined length + until end of memory)*/ + uint32_t DdrMode; /* Specifies the double data rate mode for address, alternate byte and data phase + This parameter can be a value of @ref QSPI_DdrMode */ + uint32_t DdrHoldHalfCycle; /* Specifies the DDR hold half cycle. It delays the data output by one half of + system clock in DDR mode. + This parameter can be a value of @ref QSPI_DdrHoldHalfCycle */ + uint32_t SIOOMode; /* Specifies the send instruction only once mode + This parameter can be a value of @ref QSPI_SIOOMode */ +}QSPI_CommandTypeDef; + +/** + * @brief QSPI Auto Polling mode configuration structure definition + */ +typedef struct +{ + uint32_t Match; /* Specifies the value to be compared with the masked status register to get a match. + This parameter can be any value between 0 and 0xFFFFFFFF */ + uint32_t Mask; /* Specifies the mask to be applied to the status bytes received. + This parameter can be any value between 0 and 0xFFFFFFFF */ + uint32_t Interval; /* Specifies the number of clock cycles between two read during automatic polling phases. + This parameter can be any value between 0 and 0xFFFF */ + uint32_t StatusBytesSize; /* Specifies the size of the status bytes received. + This parameter can be any value between 1 and 4 */ + uint32_t MatchMode; /* Specifies the method used for determining a match. + This parameter can be a value of @ref QSPI_MatchMode */ + uint32_t AutomaticStop; /* Specifies if automatic polling is stopped after a match. + This parameter can be a value of @ref QSPI_AutomaticStop */ +}QSPI_AutoPollingTypeDef; + +/** + * @brief QSPI Memory Mapped mode configuration structure definition + */ +typedef struct +{ + uint32_t TimeOutPeriod; /* Specifies the number of clock to wait when the FIFO is full before to release the chip select. + This parameter can be any value between 0 and 0xFFFF */ + uint32_t TimeOutActivation; /* Specifies if the time out counter is enabled to release the chip select. + This parameter can be a value of @ref QSPI_TimeOutActivation */ +}QSPI_MemoryMappedTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup QSPI_Exported_Constants QSPI Exported Constants + * @{ + */ + +/** @defgroup QSPI_ErrorCode QSPI Error Code + * @{ + */ +#define HAL_QSPI_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define HAL_QSPI_ERROR_TIMEOUT ((uint32_t)0x00000001U) /*!< Timeout error */ +#define HAL_QSPI_ERROR_TRANSFER ((uint32_t)0x00000002U) /*!< Transfer error */ +#define HAL_QSPI_ERROR_DMA ((uint32_t)0x00000004U) /*!< DMA transfer error */ +#define HAL_QSPI_ERROR_INVALID_PARAM ((uint32_t)0x00000008U) /*!< Invalid parameters error */ +/** + * @} + */ + +/** @defgroup QSPI_SampleShifting QSPI Sample Shifting + * @{ + */ +#define QSPI_SAMPLE_SHIFTING_NONE ((uint32_t)0x00000000U) /*!State = HAL_QSPI_STATE_RESET) + +/** @brief Enable the QSPI peripheral. + * @param __HANDLE__: specifies the QSPI Handle. + * @retval None + */ +#define __HAL_QSPI_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, QUADSPI_CR_EN) + +/** @brief Disable the QSPI peripheral. + * @param __HANDLE__: specifies the QSPI Handle. + * @retval None + */ +#define __HAL_QSPI_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR, QUADSPI_CR_EN) + +/** @brief Enable the specified QSPI interrupt. + * @param __HANDLE__: specifies the QSPI Handle. + * @param __INTERRUPT__: specifies the QSPI interrupt source to enable. + * This parameter can be one of the following values: + * @arg QSPI_IT_TO: QSPI Timeout interrupt + * @arg QSPI_IT_SM: QSPI Status match interrupt + * @arg QSPI_IT_FT: QSPI FIFO threshold interrupt + * @arg QSPI_IT_TC: QSPI Transfer complete interrupt + * @arg QSPI_IT_TE: QSPI Transfer error interrupt + * @retval None + */ +#define __HAL_QSPI_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) + + +/** @brief Disable the specified QSPI interrupt. + * @param __HANDLE__: specifies the QSPI Handle. + * @param __INTERRUPT__: specifies the QSPI interrupt source to disable. + * This parameter can be one of the following values: + * @arg QSPI_IT_TO: QSPI Timeout interrupt + * @arg QSPI_IT_SM: QSPI Status match interrupt + * @arg QSPI_IT_FT: QSPI FIFO threshold interrupt + * @arg QSPI_IT_TC: QSPI Transfer complete interrupt + * @arg QSPI_IT_TE: QSPI Transfer error interrupt + * @retval None + */ +#define __HAL_QSPI_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) + +/** @brief Check whether the specified QSPI interrupt source is enabled or not. + * @param __HANDLE__: specifies the QSPI Handle. + * @param __INTERRUPT__: specifies the QSPI interrupt source to check. + * This parameter can be one of the following values: + * @arg QSPI_IT_TO: QSPI Timeout interrupt + * @arg QSPI_IT_SM: QSPI Status match interrupt + * @arg QSPI_IT_FT: QSPI FIFO threshold interrupt + * @arg QSPI_IT_TC: QSPI Transfer complete interrupt + * @arg QSPI_IT_TE: QSPI Transfer error interrupt + * @retval The new state of __INTERRUPT__ (TRUE or FALSE). + */ +#define __HAL_QSPI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (READ_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) == (__INTERRUPT__)) + +/** + * @brief Check whether the selected QSPI flag is set or not. + * @param __HANDLE__: specifies the QSPI Handle. + * @param __FLAG__: specifies the QSPI flag to check. + * This parameter can be one of the following values: + * @arg QSPI_FLAG_BUSY: QSPI Busy flag + * @arg QSPI_FLAG_TO: QSPI Timeout flag + * @arg QSPI_FLAG_SM: QSPI Status match flag + * @arg QSPI_FLAG_FT: QSPI FIFO threshold flag + * @arg QSPI_FLAG_TC: QSPI Transfer complete flag + * @arg QSPI_FLAG_TE: QSPI Transfer error flag + * @retval None + */ +#define __HAL_QSPI_GET_FLAG(__HANDLE__, __FLAG__) (READ_BIT((__HANDLE__)->Instance->SR, (__FLAG__)) != 0) + +/** @brief Clears the specified QSPI's flag status. + * @param __HANDLE__: specifies the QSPI Handle. + * @param __FLAG__: specifies the QSPI clear register flag that needs to be set + * This parameter can be one of the following values: + * @arg QSPI_FLAG_TO: QSPI Timeout flag + * @arg QSPI_FLAG_SM: QSPI Status match flag + * @arg QSPI_FLAG_TC: QSPI Transfer complete flag + * @arg QSPI_FLAG_TE: QSPI Transfer error flag + * @retval None + */ +#define __HAL_QSPI_CLEAR_FLAG(__HANDLE__, __FLAG__) WRITE_REG((__HANDLE__)->Instance->FCR, (__FLAG__)) +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup QSPI_Exported_Functions + * @{ + */ +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_QSPI_Init (QSPI_HandleTypeDef *hqspi); +HAL_StatusTypeDef HAL_QSPI_DeInit (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_MspInit (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef *hqspi); + +/* IO operation functions *****************************************************/ +/* QSPI IRQ handler method */ +void HAL_QSPI_IRQHandler(QSPI_HandleTypeDef *hqspi); + +/* QSPI indirect mode */ +HAL_StatusTypeDef HAL_QSPI_Command (QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, uint32_t Timeout); +HAL_StatusTypeDef HAL_QSPI_Transmit (QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout); +HAL_StatusTypeDef HAL_QSPI_Receive (QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout); +HAL_StatusTypeDef HAL_QSPI_Command_IT (QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd); +HAL_StatusTypeDef HAL_QSPI_Transmit_IT (QSPI_HandleTypeDef *hqspi, uint8_t *pData); +HAL_StatusTypeDef HAL_QSPI_Receive_IT (QSPI_HandleTypeDef *hqspi, uint8_t *pData); +HAL_StatusTypeDef HAL_QSPI_Transmit_DMA (QSPI_HandleTypeDef *hqspi, uint8_t *pData); +HAL_StatusTypeDef HAL_QSPI_Receive_DMA (QSPI_HandleTypeDef *hqspi, uint8_t *pData); + +/* QSPI status flag polling mode */ +HAL_StatusTypeDef HAL_QSPI_AutoPolling (QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg, uint32_t Timeout); +HAL_StatusTypeDef HAL_QSPI_AutoPolling_IT(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg); + +/* QSPI memory-mapped mode */ +HAL_StatusTypeDef HAL_QSPI_MemoryMapped(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_MemoryMappedTypeDef *cfg); + +/* Callback functions in non-blocking modes ***********************************/ +void HAL_QSPI_ErrorCallback (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_AbortCpltCallback (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_FifoThresholdCallback(QSPI_HandleTypeDef *hqspi); + +/* QSPI indirect mode */ +void HAL_QSPI_CmdCpltCallback (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_RxCpltCallback (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_TxCpltCallback (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_RxHalfCpltCallback (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_TxHalfCpltCallback (QSPI_HandleTypeDef *hqspi); + +/* QSPI status flag polling mode */ +void HAL_QSPI_StatusMatchCallback (QSPI_HandleTypeDef *hqspi); + +/* QSPI memory-mapped mode */ +void HAL_QSPI_TimeOutCallback (QSPI_HandleTypeDef *hqspi); + +/* Peripheral Control and State functions ************************************/ +HAL_QSPI_StateTypeDef HAL_QSPI_GetState (QSPI_HandleTypeDef *hqspi); +uint32_t HAL_QSPI_GetError (QSPI_HandleTypeDef *hqspi); +HAL_StatusTypeDef HAL_QSPI_Abort (QSPI_HandleTypeDef *hqspi); +HAL_StatusTypeDef HAL_QSPI_Abort_IT (QSPI_HandleTypeDef *hqspi); +void HAL_QSPI_SetTimeout (QSPI_HandleTypeDef *hqspi, uint32_t Timeout); +HAL_StatusTypeDef HAL_QSPI_SetFifoThreshold(QSPI_HandleTypeDef *hqspi, uint32_t Threshold); +uint32_t HAL_QSPI_GetFifoThreshold(QSPI_HandleTypeDef *hqspi); +/** + * @} + */ +/* End of exported functions -------------------------------------------------*/ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup QSPI_Private_Macros QSPI Private Macros +* @{ +*/ +#define IS_QSPI_CLOCK_PRESCALER(PRESCALER) ((PRESCALER) <= 0xFF) + +#define IS_QSPI_FIFO_THRESHOLD(THR) (((THR) > 0) && ((THR) <= 32)) + +#define IS_QSPI_SSHIFT(SSHIFT) (((SSHIFT) == QSPI_SAMPLE_SHIFTING_NONE) || \ + ((SSHIFT) == QSPI_SAMPLE_SHIFTING_HALFCYCLE)) + +#define IS_QSPI_FLASH_SIZE(FSIZE) (((FSIZE) <= 31)) + +#define IS_QSPI_CS_HIGH_TIME(CSHTIME) (((CSHTIME) == QSPI_CS_HIGH_TIME_1_CYCLE) || \ + ((CSHTIME) == QSPI_CS_HIGH_TIME_2_CYCLE) || \ + ((CSHTIME) == QSPI_CS_HIGH_TIME_3_CYCLE) || \ + ((CSHTIME) == QSPI_CS_HIGH_TIME_4_CYCLE) || \ + ((CSHTIME) == QSPI_CS_HIGH_TIME_5_CYCLE) || \ + ((CSHTIME) == QSPI_CS_HIGH_TIME_6_CYCLE) || \ + ((CSHTIME) == QSPI_CS_HIGH_TIME_7_CYCLE) || \ + ((CSHTIME) == QSPI_CS_HIGH_TIME_8_CYCLE)) + +#define IS_QSPI_CLOCK_MODE(CLKMODE) (((CLKMODE) == QSPI_CLOCK_MODE_0) || \ + ((CLKMODE) == QSPI_CLOCK_MODE_3)) + + +#define IS_QSPI_FLASH_ID(FLASH) (((FLASH) == QSPI_FLASH_ID_1) || \ + ((FLASH) == QSPI_FLASH_ID_2)) + +#define IS_QSPI_DUAL_FLASH_MODE(MODE) (((MODE) == QSPI_DUALFLASH_ENABLE) || \ + ((MODE) == QSPI_DUALFLASH_DISABLE)) + +#define IS_QSPI_INSTRUCTION(INSTRUCTION) ((INSTRUCTION) <= 0xFF) + +#define IS_QSPI_ADDRESS_SIZE(ADDR_SIZE) (((ADDR_SIZE) == QSPI_ADDRESS_8_BITS) || \ + ((ADDR_SIZE) == QSPI_ADDRESS_16_BITS) || \ + ((ADDR_SIZE) == QSPI_ADDRESS_24_BITS) || \ + ((ADDR_SIZE) == QSPI_ADDRESS_32_BITS)) + +#define IS_QSPI_ALTERNATE_BYTES_SIZE(SIZE) (((SIZE) == QSPI_ALTERNATE_BYTES_8_BITS) || \ + ((SIZE) == QSPI_ALTERNATE_BYTES_16_BITS) || \ + ((SIZE) == QSPI_ALTERNATE_BYTES_24_BITS) || \ + ((SIZE) == QSPI_ALTERNATE_BYTES_32_BITS)) + +#define IS_QSPI_DUMMY_CYCLES(DCY) ((DCY) <= 31) + +#define IS_QSPI_INSTRUCTION_MODE(MODE) (((MODE) == QSPI_INSTRUCTION_NONE) || \ + ((MODE) == QSPI_INSTRUCTION_1_LINE) || \ + ((MODE) == QSPI_INSTRUCTION_2_LINES) || \ + ((MODE) == QSPI_INSTRUCTION_4_LINES)) + +#define IS_QSPI_ADDRESS_MODE(MODE) (((MODE) == QSPI_ADDRESS_NONE) || \ + ((MODE) == QSPI_ADDRESS_1_LINE) || \ + ((MODE) == QSPI_ADDRESS_2_LINES) || \ + ((MODE) == QSPI_ADDRESS_4_LINES)) + +#define IS_QSPI_ALTERNATE_BYTES_MODE(MODE) (((MODE) == QSPI_ALTERNATE_BYTES_NONE) || \ + ((MODE) == QSPI_ALTERNATE_BYTES_1_LINE) || \ + ((MODE) == QSPI_ALTERNATE_BYTES_2_LINES) || \ + ((MODE) == QSPI_ALTERNATE_BYTES_4_LINES)) + +#define IS_QSPI_DATA_MODE(MODE) (((MODE) == QSPI_DATA_NONE) || \ + ((MODE) == QSPI_DATA_1_LINE) || \ + ((MODE) == QSPI_DATA_2_LINES) || \ + ((MODE) == QSPI_DATA_4_LINES)) + +#define IS_QSPI_DDR_MODE(DDR_MODE) (((DDR_MODE) == QSPI_DDR_MODE_DISABLE) || \ + ((DDR_MODE) == QSPI_DDR_MODE_ENABLE)) + +#define IS_QSPI_DDR_HHC(DDR_HHC) (((DDR_HHC) == QSPI_DDR_HHC_ANALOG_DELAY) || \ + ((DDR_HHC) == QSPI_DDR_HHC_HALF_CLK_DELAY)) + +#define IS_QSPI_SIOO_MODE(SIOO_MODE) (((SIOO_MODE) == QSPI_SIOO_INST_EVERY_CMD) || \ + ((SIOO_MODE) == QSPI_SIOO_INST_ONLY_FIRST_CMD)) + +#define IS_QSPI_INTERVAL(INTERVAL) ((INTERVAL) <= QUADSPI_PIR_INTERVAL) + +#define IS_QSPI_STATUS_BYTES_SIZE(SIZE) (((SIZE) >= 1) && ((SIZE) <= 4)) + +#define IS_QSPI_MATCH_MODE(MODE) (((MODE) == QSPI_MATCH_MODE_AND) || \ + ((MODE) == QSPI_MATCH_MODE_OR)) + +#define IS_QSPI_AUTOMATIC_STOP(APMS) (((APMS) == QSPI_AUTOMATIC_STOP_DISABLE) || \ + ((APMS) == QSPI_AUTOMATIC_STOP_ENABLE)) + +#define IS_QSPI_TIMEOUT_ACTIVATION(TCEN) (((TCEN) == QSPI_TIMEOUT_COUNTER_DISABLE) || \ + ((TCEN) == QSPI_TIMEOUT_COUNTER_ENABLE)) + +#define IS_QSPI_TIMEOUT_PERIOD(PERIOD) ((PERIOD) <= 0xFFFF) +/** +* @} +*/ +/* End of private macros -----------------------------------------------------*/ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_QSPI_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h new file mode 100644 index 0000000000..a4ae011c37 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h @@ -0,0 +1,3051 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rcc.h + * @author MCD Application Team + * @brief Header file of RCC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_RCC_H +#define __STM32H7xx_HAL_RCC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup RCC + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup RCC_Exported_Types RCC Exported Types + * @{ + */ + +/** + * @brief RCC PLL configuration structure definition + */ +typedef struct +{ + uint32_t PLLState; /*!< The new state of the PLL. + This parameter can be a value of @ref RCC_PLL_Config */ + + uint32_t PLLSource; /*!< RCC_PLLSource: PLL entry clock source. + This parameter must be a value of @ref RCC_PLL_Clock_Source */ + + uint32_t PLLM; /*!< PLLM: Division factor for PLL VCO input clock. + This parameter must be a number between Min_Data = 1 and Max_Data = 63 */ + + uint32_t PLLN; /*!< PLLN: Multiplication factor for PLL VCO output clock. + This parameter must be a number between Min_Data = 4 and Max_Data = 512 */ + + uint32_t PLLP; /*!< PLLP: Division factor for system clock. + This parameter must be a number between Min_Data = 2 and Max_Data = 128 + odd division factors are not allowed */ + + uint32_t PLLQ; /*!< PLLQ: Division factor for peripheral clocks. + This parameter must be a number between Min_Data = 1 and Max_Data = 128 */ + + uint32_t PLLR; /*!< PLLR: Division factor for peripheral clocks. + This parameter must be a number between Min_Data = 1 and Max_Data = 128 */ + uint32_t PLLRGE; /*!AHB3ENR, RCC_AHB3ENR_MDMAEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_MDMAEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_DMA2D_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_DMA2DEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_DMA2DEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_JPGDECEN_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_JPGDECEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_JPGDECEN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_FMC_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_QSPI_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_QSPIEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_QSPIEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SDMMC1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_SDMMC1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_SDMMC1EN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_MDMA_CLK_DISABLE() (RCC->AHB3ENR &= ~ (RCC_AHB3ENR_MDMAEN)) +#define __HAL_RCC_DMA2D_CLK_DISABLE() (RCC->AHB3ENR &= ~ (RCC_AHB3ENR_DMA2DEN)) +#define __HAL_RCC_JPGDECEN_CLK_DISABLE() (RCC->AHB3ENR &= ~ (RCC_AHB3ENR_JPGDECEN)) +#define __HAL_RCC_FMC_CLK_DISABLE() (RCC->AHB3ENR &= ~ (RCC_AHB3ENR_FMCEN)) +#define __HAL_RCC_QSPI_CLK_DISABLE() (RCC->AHB3ENR &= ~ (RCC_AHB3ENR_QSPIEN)) +#define __HAL_RCC_SDMMC1_CLK_DISABLE() (RCC->AHB3ENR &= ~ (RCC_AHB3ENR_SDMMC1EN)) + + +/** @brief Enable or disable the AHB1 peripheral clock. + * @note After reset, the peripheral clock (used for registers read/write access) + * is disabled and the application software has to enable this clock before + * using it. + */ + +#define __HAL_RCC_DMA1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_DMA2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_ADC12_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ADC12EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ADC12EN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_ETH1MAC_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ETH1MACEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ETH1MACEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_ETH1TX_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ETH1TXEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ETH1TXEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_ETH1RX_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ETH1RXEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_ETH1RXEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USB1_OTG_HS_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB1OTGHSEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB1OTGHSEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USB1_OTG_HS_ULPI_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB1OTGHSULPIEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB1OTGHSULPIEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USB2_OTG_FS_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB2OTGHSEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB2OTGHSEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USB2_OTG_FS_ULPI_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB2OTGHSULPIEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_USB2OTGHSULPIEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_DMA1_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_DMA1EN)) +#define __HAL_RCC_DMA2_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_DMA2EN)) +#define __HAL_RCC_ADC12_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_ADC12EN)) +#define __HAL_RCC_ETH1MAC_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_ETH1MACEN)) +#define __HAL_RCC_ETH1TX_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_ETH1TXEN)) +#define __HAL_RCC_ETH1RX_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_ETH1RXEN)) +#define __HAL_RCC_USB1_OTG_HS_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_USB1OTGHSEN)) +#define __HAL_RCC_USB1_OTG_HS_ULPI_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_USB1OTGHSULPIEN)) +#define __HAL_RCC_USB2_OTG_FS_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_USB2OTGHSEN)) +#define __HAL_RCC_USB2_OTG_FS_ULPI_CLK_DISABLE() (RCC->AHB1ENR &= ~ (RCC_AHB1ENR_USB2OTGHSULPIEN)) + +/** @brief Enable or disable the AHB2 peripheral clock. + * @note After reset, the peripheral clock (used for registers read/write access) + * is disabled and the application software has to enable this clock before + * using it. + */ + +#define __HAL_RCC_DCMI_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_DCMIEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_DCMIEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_CRYP_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_CRYPEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_CRYPEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_HASH_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_HASHEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_HASHEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_RNG_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_RNGEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_RNGEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SDMMC2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_SDMMC2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_SDMMC2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_D2SRAM1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_D2SRAM2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_D2SRAM3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_DCMI_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_DCMIEN)) +#define __HAL_RCC_CRYP_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_CRYPEN)) +#define __HAL_RCC_HASH_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_HASHEN)) +#define __HAL_RCC_RNG_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_RNGEN)) +#define __HAL_RCC_SDMMC2_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_SDMMC2EN)) +#define __HAL_RCC_D2SRAM1_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_D2SRAM1EN)) +#define __HAL_RCC_D2SRAM2_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_D2SRAM2EN)) +#define __HAL_RCC_D2SRAM3_CLK_DISABLE() (RCC->AHB2ENR &= ~ (RCC_AHB2ENR_D2SRAM3EN)) + +/** @brief Enable or disable the AHB4 peripheral clock. + * @note After reset, the peripheral clock (used for registers read/write access) + * is disabled and the application software has to enable this clock before + * using it. + */ + +#define __HAL_RCC_GPIOA_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOAEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOAEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOB_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOBEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOBEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOC_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOCEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOCEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOD_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIODEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIODEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOE_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOEEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOEEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOF_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOFEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOFEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOG_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOGEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOGEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOH_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOHEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOHEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOI_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOIEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOIEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOJ_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOJEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOJEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_GPIOK_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOKEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_GPIOKEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_CRC_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_CRCEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_CRCEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_BDMA_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_BDMAEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_BDMAEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_ADC3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_ADC3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_ADC3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_HSEM_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_HSEMEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_HSEMEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_BKPRAM_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->AHB4ENR, RCC_AHB4ENR_BKPRAMEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->AHB4ENR, RCC_AHB4ENR_BKPRAMEN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_GPIOA_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOAEN) +#define __HAL_RCC_GPIOB_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOBEN) +#define __HAL_RCC_GPIOC_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOCEN) +#define __HAL_RCC_GPIOD_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIODEN) +#define __HAL_RCC_GPIOE_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOEEN) +#define __HAL_RCC_GPIOF_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOFEN) +#define __HAL_RCC_GPIOG_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOGEN) +#define __HAL_RCC_GPIOH_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOHEN) +#define __HAL_RCC_GPIOI_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOIEN) +#define __HAL_RCC_GPIOJ_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOJEN) +#define __HAL_RCC_GPIOK_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_GPIOKEN) +#define __HAL_RCC_CRC_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_CRCEN) +#define __HAL_RCC_BDMA_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_BDMAEN) +#define __HAL_RCC_ADC3_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_ADC3EN) +#define __HAL_RCC_HSEM_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_HSEMEN) +#define __HAL_RCC_BKPRAM_CLK_DISABLE() (RCC->AHB4ENR) &= ~ (RCC_AHB4ENR_BKPRAMEN) + + +/** @brief Enable or disable the APB3 peripheral clock. + * @note After reset, the peripheral clock (used for registers read/write access) + * is disabled and the application software has to enable this clock before + * using it. + */ + +#define __HAL_RCC_LTDC_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB3ENR, RCC_APB3ENR_LTDCEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB3ENR, RCC_APB3ENR_LTDCEN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_WWDG1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB3ENR, RCC_APB3ENR_WWDG1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB3ENR, RCC_APB3ENR_WWDG1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_LTDC_CLK_DISABLE() (RCC->APB3ENR) &= ~ (RCC_APB3ENR_LTDCEN) +#define __HAL_RCC_WWDG1_CLK_DISABLE() (RCC->APB3ENR) &= ~ (RCC_APB3ENR_WWDG1EN) + +/** @brief Enable or disable the APB1 peripheral clock. + * @note After reset, the peripheral clock (used for registers read/write access) + * is disabled and the application software has to enable this clock before + * using it. + */ + +#define __HAL_RCC_TIM2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM4_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM4EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM4EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM5_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM5EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM5EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM6_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM6EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM6EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM7_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM7EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM7EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM12_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM12EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM12EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM13_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM13EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM13EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM14_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM14EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_TIM14EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_LPTIM1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_LPTIM1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_LPTIM1EN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_SPI2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_SPI2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_SPI2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SPI3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_SPI3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_SPI3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SPDIFRX_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_SPDIFRXEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_SPDIFRXEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USART2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_USART2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_USART2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USART3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_USART3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_USART3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_UART4_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_UART4EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_UART4EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_UART5_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_UART5EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_UART5EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_I2C1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_I2C1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_I2C1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_I2C2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_I2C2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_I2C2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_I2C3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_I2C3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_I2C3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_CEC_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_CECEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_CECEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_DAC12_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_DAC12EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_DAC12EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_UART7_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_UART7EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_UART7EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_UART8_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1LENR, RCC_APB1LENR_UART8EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1LENR, RCC_APB1LENR_UART8EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_CRS_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1HENR, RCC_APB1HENR_CRSEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1HENR, RCC_APB1HENR_CRSEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SWPMI1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1HENR, RCC_APB1HENR_SWPMIEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1HENR, RCC_APB1HENR_SWPMIEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_OPAMP_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1HENR, RCC_APB1HENR_OPAMPEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1HENR, RCC_APB1HENR_OPAMPEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_MDIOS_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1HENR, RCC_APB1HENR_MDIOSEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1HENR, RCC_APB1HENR_MDIOSEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_FDCAN_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB1HENR, RCC_APB1HENR_FDCANEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB1HENR, RCC_APB1HENR_FDCANEN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_TIM2_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM2EN) +#define __HAL_RCC_TIM3_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM3EN) +#define __HAL_RCC_TIM4_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM4EN) +#define __HAL_RCC_TIM5_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM5EN) +#define __HAL_RCC_TIM6_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM6EN) +#define __HAL_RCC_TIM7_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM7EN) +#define __HAL_RCC_TIM12_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM12EN) +#define __HAL_RCC_TIM13_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM13EN) +#define __HAL_RCC_TIM14_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_TIM14EN) +#define __HAL_RCC_LPTIM1_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_LPTIM1EN) + + +#define __HAL_RCC_SPI2_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_SPI2EN) +#define __HAL_RCC_SPI3_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_SPI3EN) +#define __HAL_RCC_SPDIFRX_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_SPDIFRXEN) +#define __HAL_RCC_USART2_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_USART2EN) +#define __HAL_RCC_USART3_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_USART3EN) +#define __HAL_RCC_UART4_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_UART4EN) +#define __HAL_RCC_UART5_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_UART5EN) +#define __HAL_RCC_I2C1_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_I2C1EN) +#define __HAL_RCC_I2C2_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_I2C2EN) +#define __HAL_RCC_I2C3_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_I2C3EN) +#define __HAL_RCC_CEC_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_CECEN) +#define __HAL_RCC_DAC12_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_DAC12EN) +#define __HAL_RCC_UART7_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_UART7EN) +#define __HAL_RCC_UART8_CLK_DISABLE() (RCC->APB1LENR) &= ~ (RCC_APB1LENR_UART8EN) +#define __HAL_RCC_CRS_CLK_DISABLE() (RCC->APB1HENR) &= ~ (RCC_APB1HENR_CRSEN) +#define __HAL_RCC_SWPMI1_CLK_DISABLE() (RCC->APB1HENR) &= ~ (RCC_APB1HENR_SWPMIEN) +#define __HAL_RCC_OPAMP_CLK_DISABLE() (RCC->APB1HENR) &= ~ (RCC_APB1HENR_OPAMPEN) +#define __HAL_RCC_MDIOS_CLK_DISABLE() (RCC->APB1HENR) &= ~ (RCC_APB1HENR_MDIOSEN) +#define __HAL_RCC_FDCAN_CLK_DISABLE() (RCC->APB1HENR) &= ~ (RCC_APB1HENR_FDCANEN) + +/** @brief Enable or disable the APB2 peripheral clock. + * @note After reset, the peripheral clock (used for registers read/write access) + * is disabled and the application software has to enable this clock before + * using it. + */ + +#define __HAL_RCC_TIM1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM8_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM8EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USART1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_USART6_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_USART6EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_USART6EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SPI1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SPI4_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI4EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI4EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM15_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM15EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM16_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM16EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM17_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_TIM17EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SPI5_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI5EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SPI5EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SAI1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SAI2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SAI3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_SAI3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_DFSDM1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_DFSDM1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_DFSDM1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_HRTIM1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB2ENR, RCC_APB2ENR_HRTIMEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_HRTIMEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_TIM1_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_TIM1EN) +#define __HAL_RCC_TIM8_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_TIM8EN) +#define __HAL_RCC_USART1_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_USART1EN) +#define __HAL_RCC_USART6_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_USART6EN) +#define __HAL_RCC_SPI1_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_SPI1EN) +#define __HAL_RCC_SPI4_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_SPI4EN) +#define __HAL_RCC_TIM15_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_TIM15EN) +#define __HAL_RCC_TIM16_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_TIM16EN) +#define __HAL_RCC_TIM17_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_TIM17EN) +#define __HAL_RCC_SPI5_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_SPI5EN) +#define __HAL_RCC_SAI1_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_SAI1EN) +#define __HAL_RCC_SAI2_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_SAI2EN) +#define __HAL_RCC_SAI3_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_SAI3EN) +#define __HAL_RCC_DFSDM1_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_DFSDM1EN) +#define __HAL_RCC_HRTIM1_CLK_DISABLE() (RCC->APB2ENR) &= ~ (RCC_APB2ENR_HRTIMEN) + +/** @brief Enable or disable the APB4 peripheral clock. + * @note After reset, the peripheral clock (used for registers read/write access) + * is disabled and the application software has to enable this clock before + * using it. + */ + +#define __HAL_RCC_SYSCFG_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_SYSCFGEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_SYSCFGEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_LPUART1_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_LPUART1EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_LPUART1EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SPI6_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_SPI6EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_SPI6EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_I2C4_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_I2C4EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_I2C4EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_LPTIM2_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM2EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM2EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_LPTIM3_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM3EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM3EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_LPTIM4_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM4EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM4EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_LPTIM5_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM5EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_LPTIM5EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_COMP12_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_COMP12EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_COMP12EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_VREF_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_VREFEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_VREFEN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_SAI4_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_SAI4EN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_SAI4EN);\ + UNUSED(tmpreg); \ + } while(0) + +#define __HAL_RCC_RTC_CLK_ENABLE() do { \ + __IO uint32_t tmpreg; \ + SET_BIT(RCC->APB4ENR, RCC_APB4ENR_RTCAPBEN);\ + /* Delay after an RCC peripheral clock enabling */ \ + tmpreg = READ_BIT(RCC->APB4ENR, RCC_APB4ENR_RTCAPBEN);\ + UNUSED(tmpreg); \ + } while(0) + + +#define __HAL_RCC_SYSCFG_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_SYSCFGEN) +#define __HAL_RCC_LPUART1_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_LPUART1EN) +#define __HAL_RCC_SPI6_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_SPI6EN) +#define __HAL_RCC_I2C4_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_I2C4EN) +#define __HAL_RCC_LPTIM2_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_LPTIM2EN) +#define __HAL_RCC_LPTIM3_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_LPTIM3EN) +#define __HAL_RCC_LPTIM4_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_LPTIM4EN) +#define __HAL_RCC_LPTIM5_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_LPTIM5EN) +#define __HAL_RCC_COMP12_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_COMP12EN) +#define __HAL_RCC_VREF_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_VREFEN) +#define __HAL_RCC_RTC_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_RTCAPBEN) +#define __HAL_RCC_SAI4_CLK_DISABLE() (RCC->APB4ENR) &= ~ (RCC_APB4ENR_SAI4EN) + + + +/** @brief Enable or disable the AHB3 peripheral reset. + */ + +#define __HAL_RCC_AHB3_FORCE_RESET() (RCC->AHB3RSTR = 0xFFFFFFFF) +#define __HAL_RCC_MDMA_FORCE_RESET() (RCC->AHB3RSTR |= (RCC_AHB3RSTR_MDMARST)) +#define __HAL_RCC_DMA2D_FORCE_RESET() (RCC->AHB3RSTR |= (RCC_AHB3RSTR_DMA2DRST)) +#define __HAL_RCC_JPGDECRST_FORCE_RESET() (RCC->AHB3RSTR |= (RCC_AHB3RSTR_JPGDECRST)) +#define __HAL_RCC_FMC_FORCE_RESET() (RCC->AHB3RSTR |= (RCC_AHB3RSTR_FMCRST)) +#define __HAL_RCC_QSPI_FORCE_RESET() (RCC->AHB3RSTR |= (RCC_AHB3RSTR_QSPIRST)) +#define __HAL_RCC_SDMMC1_FORCE_RESET() (RCC->AHB3RSTR |= (RCC_AHB3RSTR_SDMMC1RST)) +#define __HAL_RCC_CPU_FORCE_RESET() (RCC->AHB3RSTR |= (RCC_AHB3RSTR_CPURST)) + + +#define __HAL_RCC_AHB3_RELEASE_RESET() (RCC->AHB3RSTR = 0x00) +#define __HAL_RCC_MDMA_RELEASE_RESET() (RCC->AHB3RSTR &= ~ (RCC_AHB3RSTR_MDMARST)) +#define __HAL_RCC_DMA2D_RELEASE_RESET() (RCC->AHB3RSTR &= ~ (RCC_AHB3RSTR_DMA2DRST)) +#define __HAL_RCC_JPGDECRST_RELEASE_RESET() (RCC->AHB3RSTR &= ~ (RCC_AHB3RSTR_JPGDECRST)) +#define __HAL_RCC_FMC_RELEASE_RESET() (RCC->AHB3RSTR &= ~ (RCC_AHB3RSTR_FMCRST)) +#define __HAL_RCC_QSPI_RELEASE_RESET() (RCC->AHB3RSTR &= ~ (RCC_AHB3RSTR_QSPIRST)) +#define __HAL_RCC_SDMMC1_RELEASE_RESET() (RCC->AHB3RSTR &= ~ (RCC_AHB3RSTR_SDMMC1RST)) +#define __HAL_RCC_CPU_RELEASE_RESET() (RCC->AHB3RSTR &= ~ (RCC_AHB3RSTR_CPURST)) + + + +/** @brief Force or release the AHB1 peripheral reset. + */ +#define __HAL_RCC_AHB1_FORCE_RESET() (RCC->AHB1RSTR = 0xFFFFFFFF) +#define __HAL_RCC_DMA1_FORCE_RESET() (RCC->AHB1RSTR |= (RCC_AHB1RSTR_DMA1RST)) +#define __HAL_RCC_DMA2_FORCE_RESET() (RCC->AHB1RSTR |= (RCC_AHB1RSTR_DMA2RST)) +#define __HAL_RCC_ADC12_FORCE_RESET() (RCC->AHB1RSTR |= (RCC_AHB1RSTR_ADC12RST)) +#define __HAL_RCC_ETH1MAC_FORCE_RESET() (RCC->AHB1RSTR |= (RCC_AHB1RSTR_ETH1MACRST)) +#define __HAL_RCC_USB1_OTG_HS_FORCE_RESET() (RCC->AHB1RSTR |= (RCC_AHB1RSTR_USB1OTGHSRST)) +#define __HAL_RCC_USB2_OTG_FS_FORCE_RESET() (RCC->AHB1RSTR |= (RCC_AHB1RSTR_USB2OTGHSRST)) + + +#define __HAL_RCC_AHB1_RELEASE_RESET() (RCC->AHB1RSTR = 0x00) +#define __HAL_RCC_DMA1_RELEASE_RESET() (RCC->AHB1RSTR &= ~ (RCC_AHB1RSTR_DMA1RST)) +#define __HAL_RCC_DMA2_RELEASE_RESET() (RCC->AHB1RSTR &= ~ (RCC_AHB1RSTR_DMA2RST)) +#define __HAL_RCC_ADC12_RELEASE_RESET() (RCC->AHB1RSTR &= ~ (RCC_AHB1RSTR_ADC12RST)) +#define __HAL_RCC_ETH1MAC_RELEASE_RESET() (RCC->AHB1RSTR &= ~ (RCC_AHB1RSTR_ETH1MACRST)) +#define __HAL_RCC_USB1_OTG_HS_RELEASE_RESET() (RCC->AHB1RSTR &= ~ (RCC_AHB1RSTR_USB1OTGHSRST)) +#define __HAL_RCC_USB2_OTG_FS_RELEASE_RESET() (RCC->AHB1RSTR &= ~ (RCC_AHB1RSTR_USB2OTGHSRST)) + + +/** @brief Force or release the AHB2 peripheral reset. + */ +#define __HAL_RCC_AHB2_FORCE_RESET() (RCC->AHB2RSTR = 0xFFFFFFFF) +#define __HAL_RCC_DCMI_FORCE_RESET() (RCC->AHB2RSTR |= (RCC_AHB2RSTR_DCMIRST)) +#define __HAL_RCC_CRYP_FORCE_RESET() (RCC->AHB2RSTR |= (RCC_AHB2RSTR_CRYPRST)) +#define __HAL_RCC_HASH_FORCE_RESET() (RCC->AHB2RSTR |= (RCC_AHB2RSTR_HASHRST)) +#define __HAL_RCC_RNG_FORCE_RESET() (RCC->AHB2RSTR |= (RCC_AHB2RSTR_RNGRST)) +#define __HAL_RCC_SDMMC2_FORCE_RESET() (RCC->AHB2RSTR |= (RCC_AHB2RSTR_SDMMC2RST)) + +#define __HAL_RCC_AHB2_RELEASE_RESET() (RCC->AHB2RSTR = 0x00) +#define __HAL_RCC_DCMI_RELEASE_RESET() (RCC->AHB2RSTR &= ~ (RCC_AHB2RSTR_DCMIRST)) +#define __HAL_RCC_CRYP_RELEASE_RESET() (RCC->AHB2RSTR &= ~ (RCC_AHB2RSTR_CRYPRST)) +#define __HAL_RCC_HASH_RELEASE_RESET() (RCC->AHB2RSTR &= ~ (RCC_AHB2RSTR_HASHRST)) +#define __HAL_RCC_RNG_RELEASE_RESET() (RCC->AHB2RSTR &= ~ (RCC_AHB2RSTR_RNGRST)) +#define __HAL_RCC_SDMMC2_RELEASE_RESET() (RCC->AHB2RSTR &= ~ (RCC_AHB2RSTR_SDMMC2RST)) + + +/** @brief Force or release the AHB4 peripheral reset. + */ + +#define __HAL_RCC_AHB4_FORCE_RESET() (RCC->AHB4RSTR = 0xFFFFFFFF) +#define __HAL_RCC_GPIOA_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOARST) +#define __HAL_RCC_GPIOB_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOBRST) +#define __HAL_RCC_GPIOC_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOCRST) +#define __HAL_RCC_GPIOD_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIODRST) +#define __HAL_RCC_GPIOE_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOERST) +#define __HAL_RCC_GPIOF_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOFRST) +#define __HAL_RCC_GPIOG_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOGRST) +#define __HAL_RCC_GPIOH_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOHRST) +#define __HAL_RCC_GPIOI_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOIRST) +#define __HAL_RCC_GPIOJ_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOJRST) +#define __HAL_RCC_GPIOK_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_GPIOKRST) +#define __HAL_RCC_CRC_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_CRCRST) +#define __HAL_RCC_BDMA_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_BDMARST) +#define __HAL_RCC_ADC3_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_ADC3RST) +#define __HAL_RCC_HSEM_FORCE_RESET() (RCC->AHB4RSTR) |= (RCC_AHB4RSTR_HSEMRST) + +#define __HAL_RCC_AHB4_RELEASE_RESET() (RCC->AHB4RSTR = 0x00) +#define __HAL_RCC_GPIOA_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOARST) +#define __HAL_RCC_GPIOB_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOBRST) +#define __HAL_RCC_GPIOC_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOCRST) +#define __HAL_RCC_GPIOD_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIODRST) +#define __HAL_RCC_GPIOE_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOERST) +#define __HAL_RCC_GPIOF_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOFRST) +#define __HAL_RCC_GPIOG_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOGRST) +#define __HAL_RCC_GPIOH_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOHRST) +#define __HAL_RCC_GPIOI_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOIRST) +#define __HAL_RCC_GPIOJ_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOJRST) +#define __HAL_RCC_GPIOK_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_GPIOKRST) +#define __HAL_RCC_CRC_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_CRCRST) +#define __HAL_RCC_BDMA_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_BDMARST) +#define __HAL_RCC_ADC3_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_ADC3RST) +#define __HAL_RCC_HSEM_RELEASE_RESET() (RCC->AHB4RSTR) &= ~ (RCC_AHB4RSTR_HSEMRST) + + +/** @brief Force or release the APB3 peripheral reset. + */ +#define __HAL_RCC_APB3_FORCE_RESET() (RCC->APB3RSTR = 0xFFFFFFFF) +#define __HAL_RCC_LTDC_FORCE_RESET() (RCC->APB3RSTR) |= (RCC_APB3RSTR_LTDCRST) + +#define __HAL_RCC_APB3_RELEASE_RESET() (RCC->APB3RSTR = 0x00) +#define __HAL_RCC_LTDC_RELEASE_RESET() (RCC->APB3RSTR) &= ~ (RCC_APB3RSTR_LTDCRST) + + +/** @brief Force or release the APB1 peripheral reset. + */ +#define __HAL_RCC_APB1L_FORCE_RESET() (RCC->APB1LRSTR = 0xFFFFFFFF) +#define __HAL_RCC_APB1H_FORCE_RESET() (RCC->APB1HRSTR = 0xFFFFFFFF) +#define __HAL_RCC_TIM2_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM2RST) +#define __HAL_RCC_TIM3_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM3RST) +#define __HAL_RCC_TIM4_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM4RST) +#define __HAL_RCC_TIM5_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM5RST) +#define __HAL_RCC_TIM6_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM6RST) +#define __HAL_RCC_TIM7_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM7RST) +#define __HAL_RCC_TIM12_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM12RST) +#define __HAL_RCC_TIM13_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM13RST) +#define __HAL_RCC_TIM14_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_TIM14RST) +#define __HAL_RCC_LPTIM1_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_LPTIM1RST) +#define __HAL_RCC_SPI2_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_SPI2RST) +#define __HAL_RCC_SPI3_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_SPI3RST) +#define __HAL_RCC_SPDIFRX_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_SPDIFRXRST) +#define __HAL_RCC_USART2_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_USART2RST) +#define __HAL_RCC_USART3_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_USART3RST) +#define __HAL_RCC_UART4_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_UART4RST) +#define __HAL_RCC_UART5_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_UART5RST) +#define __HAL_RCC_I2C1_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_I2C1RST) +#define __HAL_RCC_I2C2_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_I2C2RST) +#define __HAL_RCC_I2C3_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_I2C3RST) +#define __HAL_RCC_CEC_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_CECRST) +#define __HAL_RCC_DAC12_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_DAC12RST) +#define __HAL_RCC_UART7_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_UART7RST) +#define __HAL_RCC_UART8_FORCE_RESET() (RCC->APB1LRSTR) |= (RCC_APB1LRSTR_UART8RST) +#define __HAL_RCC_CRS_FORCE_RESET() (RCC->APB1HRSTR) |= (RCC_APB1HRSTR_CRSRST) +#define __HAL_RCC_SWPMI1_FORCE_RESET() (RCC->APB1HRSTR) |= (RCC_APB1HRSTR_SWPMIRST) +#define __HAL_RCC_OPAMP_FORCE_RESET() (RCC->APB1HRSTR) |= (RCC_APB1HRSTR_OPAMPRST) +#define __HAL_RCC_MDIOS_FORCE_RESET() (RCC->APB1HRSTR) |= (RCC_APB1HRSTR_MDIOSRST) +#define __HAL_RCC_FDCAN_FORCE_RESET() (RCC->APB1HRSTR) |= (RCC_APB1HRSTR_FDCANRST) + +#define __HAL_RCC_APB1L_RELEASE_RESET() (RCC->APB1LRSTR = 0x00) +#define __HAL_RCC_APB1H_RELEASE_RESET() (RCC->APB1HRSTR = 0x00) +#define __HAL_RCC_TIM2_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM2RST) +#define __HAL_RCC_TIM3_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM3RST) +#define __HAL_RCC_TIM4_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM4RST) +#define __HAL_RCC_TIM5_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM5RST) +#define __HAL_RCC_TIM6_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM6RST) +#define __HAL_RCC_TIM7_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM7RST) +#define __HAL_RCC_TIM12_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM12RST) +#define __HAL_RCC_TIM13_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM13RST) +#define __HAL_RCC_TIM14_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_TIM14RST) +#define __HAL_RCC_LPTIM1_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_LPTIM1RST) +#define __HAL_RCC_SPI2_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_SPI2RST) +#define __HAL_RCC_SPI3_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_SPI3RST) +#define __HAL_RCC_SPDIFRX_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_SPDIFRXRST) +#define __HAL_RCC_USART2_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_USART2RST) +#define __HAL_RCC_USART3_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_USART3RST) +#define __HAL_RCC_UART4_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_UART4RST) +#define __HAL_RCC_UART5_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_UART5RST) +#define __HAL_RCC_I2C1_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_I2C1RST) +#define __HAL_RCC_I2C2_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_I2C2RST) +#define __HAL_RCC_I2C3_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_I2C3RST) +#define __HAL_RCC_CEC_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_CECRST) +#define __HAL_RCC_DAC12_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_DAC12RST) +#define __HAL_RCC_UART7_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_UART7RST) +#define __HAL_RCC_UART8_RELEASE_RESET() (RCC->APB1LRSTR) &= ~ (RCC_APB1LRSTR_UART8RST) +#define __HAL_RCC_CRS_RELEASE_RESET() (RCC->APB1HRSTR) &= ~ (RCC_APB1HRSTR_CRSRST) +#define __HAL_RCC_SWPMI1_RELEASE_RESET() (RCC->APB1HRSTR) &= ~ (RCC_APB1HRSTR_SWPMIRST) +#define __HAL_RCC_OPAMP_RELEASE_RESET() (RCC->APB1HRSTR) &= ~ (RCC_APB1HRSTR_OPAMPRST) +#define __HAL_RCC_MDIOS_RELEASE_RESET() (RCC->APB1HRSTR) &= ~ (RCC_APB1HRSTR_MDIOSRST) +#define __HAL_RCC_FDCAN_RELEASE_RESET() (RCC->APB1HRSTR) &= ~ (RCC_APB1HRSTR_FDCANRST) + +/** @brief Force or release the APB2 peripheral reset. + */ +#define __HAL_RCC_APB2_FORCE_RESET() (RCC->APB2RSTR = 0xFFFFFFFF) +#define __HAL_RCC_TIM1_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_TIM1RST) +#define __HAL_RCC_TIM8_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_TIM8RST) +#define __HAL_RCC_USART1_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_USART1RST) +#define __HAL_RCC_USART6_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_USART6RST) +#define __HAL_RCC_SPI1_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_SPI1RST) +#define __HAL_RCC_SPI4_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_SPI4RST) +#define __HAL_RCC_TIM15_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_TIM15RST) +#define __HAL_RCC_TIM16_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_TIM16RST) +#define __HAL_RCC_TIM17_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_TIM17RST) +#define __HAL_RCC_SPI5_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_SPI5RST) +#define __HAL_RCC_SAI1_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_SAI1RST) +#define __HAL_RCC_SAI2_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_SAI2RST) +#define __HAL_RCC_SAI3_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_SAI3RST) +#define __HAL_RCC_DFSDM1_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_DFSDM1RST) +#define __HAL_RCC_HRTIM1_FORCE_RESET() (RCC->APB2RSTR) |= (RCC_APB2RSTR_HRTIMRST) + +#define __HAL_RCC_APB2_RELEASE_RESET() (RCC->APB2RSTR = 0x00) +#define __HAL_RCC_TIM1_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_TIM1RST) +#define __HAL_RCC_TIM8_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_TIM8RST) +#define __HAL_RCC_USART1_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_USART1RST) +#define __HAL_RCC_USART6_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_USART6RST) +#define __HAL_RCC_SPI1_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_SPI1RST) +#define __HAL_RCC_SPI4_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_SPI4RST) +#define __HAL_RCC_TIM15_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_TIM15RST) +#define __HAL_RCC_TIM16_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_TIM16RST) +#define __HAL_RCC_TIM17_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_TIM17RST) +#define __HAL_RCC_SPI5_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_SPI5RST) +#define __HAL_RCC_SAI1_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_SAI1RST) +#define __HAL_RCC_SAI2_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_SAI2RST) +#define __HAL_RCC_SAI3_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_SAI3RST) +#define __HAL_RCC_DFSDM1_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_DFSDM1RST) +#define __HAL_RCC_HRTIM1_RELEASE_RESET() (RCC->APB2RSTR) &= ~ (RCC_APB2RSTR_HRTIMRST) + +/** @brief Force or release the APB4 peripheral reset. + */ + +#define __HAL_RCC_APB4_FORCE_RESET() (RCC->APB4RSTR = 0xFFFFFFFF) +#define __HAL_RCC_SYSCFG_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_SYSCFGRST) +#define __HAL_RCC_LPUART1_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_LPUART1RST) +#define __HAL_RCC_SPI6_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_SPI6RST) +#define __HAL_RCC_I2C4_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_I2C4RST) +#define __HAL_RCC_LPTIM2_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_LPTIM2RST) +#define __HAL_RCC_LPTIM3_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_LPTIM3RST) +#define __HAL_RCC_LPTIM4_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_LPTIM4RST) +#define __HAL_RCC_LPTIM5_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_LPTIM5RST) +#define __HAL_RCC_COMP12_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_COMP12RST) +#define __HAL_RCC_VREF_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_VREFRST) +#define __HAL_RCC_SAI4_FORCE_RESET() (RCC->APB4RSTR) |= (RCC_APB4RSTR_SAI4RST) + + +#define __HAL_RCC_APB4_RELEASE_RESET() (RCC->APB4RSTR = 0x00) +#define __HAL_RCC_SYSCFG_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_SYSCFGRST) +#define __HAL_RCC_LPUART1_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_LPUART1RST) +#define __HAL_RCC_SPI6_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_SPI6RST) +#define __HAL_RCC_I2C4_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_I2C4RST) +#define __HAL_RCC_LPTIM2_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_LPTIM2RST) +#define __HAL_RCC_LPTIM3_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_LPTIM3RST) +#define __HAL_RCC_LPTIM4_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_LPTIM4RST) +#define __HAL_RCC_LPTIM5_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_LPTIM5RST) +#define __HAL_RCC_COMP12_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_COMP12RST) +#define __HAL_RCC_VREF_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_VREFRST) +#define __HAL_RCC_SAI4_RELEASE_RESET() (RCC->APB4RSTR) &= ~ (RCC_APB4RSTR_SAI4RST) + + +/** @brief Enable or disable the AHB3 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is enabled again. + * @note By default, all peripheral clocks are enabled during SLEEP mode. + */ + + +#define __HAL_RCC_MDMA_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_MDMALPEN)) +#define __HAL_RCC_DMA2D_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_DMA2DLPEN)) +#define __HAL_RCC_JPGDEC_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_JPGDECLPEN)) +#define __HAL_RCC_FLASH_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_FLASHLPEN)) +#define __HAL_RCC_FMC_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_FMCLPEN)) +#define __HAL_RCC_QSPI_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_QSPILPEN)) +#define __HAL_RCC_SDMMC1_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_SDMMC1LPEN)) +#define __HAL_RCC_DTCM1_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_DTCM1LPEN)) +#define __HAL_RCC_DTCM2_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_DTCM2LPEN)) +#define __HAL_RCC_ITCM_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_ITCMLPEN)) +#define __HAL_RCC_D1SRAM1_CLK_SLEEP_ENABLE() (RCC->AHB3LPENR |= (RCC_AHB3LPENR_AXISRAMLPEN)) + + +#define __HAL_RCC_MDMA_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_MDMALPEN)) +#define __HAL_RCC_DMA2D_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_DMA2DLPEN)) +#define __HAL_RCC_JPGDEC_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_JPGDECLPEN)) +#define __HAL_RCC_FLASH_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_FLASHLPEN)) +#define __HAL_RCC_FMC_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_FMCLPEN)) +#define __HAL_RCC_QSPI_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_QSPILPEN)) +#define __HAL_RCC_SDMMC1_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_SDMMC1LPEN)) +#define __HAL_RCC_DTCM1_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_DTCM1LPEN)) +#define __HAL_RCC_DTCM2_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_DTCM2LPEN)) +#define __HAL_RCC_ITCM_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_ITCMLPEN)) +#define __HAL_RCC_D1SRAM1_CLK_SLEEP_DISABLE() (RCC->AHB3LPENR &= ~ (RCC_AHB3LPENR_AXISRAMLPEN)) + + + +/** @brief ENABLE or disable the AHB1 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is ENABLEd again. + * @note By default, all peripheral clocks are ENABLEd during SLEEP mode. + */ + +#define __HAL_RCC_DMA1_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_DMA1LPEN)) +#define __HAL_RCC_DMA2_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_DMA2LPEN)) +#define __HAL_RCC_ADC12_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_ADC12LPEN)) +#define __HAL_RCC_ETH1MAC_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_ETH1MACLPEN)) +#define __HAL_RCC_ETH1TX_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_ETH1TXLPEN)) +#define __HAL_RCC_ETH1RX_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_ETH1RXLPEN)) +#define __HAL_RCC_ETH1PTP_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_ETH1PTPLPEN)) +#define __HAL_RCC_USB1_OTG_HS_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_USB1OTGHSLPEN)) +#define __HAL_RCC_USB1_OTG_HS_ULPI_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_USB1OTGHSULPILPEN)) +#define __HAL_RCC_USB2_OTG_FS_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_USB2OTGHSLPEN)) +#define __HAL_RCC_USB2_OTG_FS_ULPI_CLK_SLEEP_ENABLE() (RCC->AHB1LPENR |= (RCC_AHB1LPENR_USB2OTGHSULPILPEN)) + +#define __HAL_RCC_DMA1_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_DMA1LPEN)) +#define __HAL_RCC_DMA2_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_DMA2LPEN)) +#define __HAL_RCC_ADC12_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_ADC12LPEN)) +#define __HAL_RCC_ETH1MAC_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_ETH1MACLPEN)) +#define __HAL_RCC_ETH1TX_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_ETH1TXLPEN)) +#define __HAL_RCC_ETH1RX_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_ETH1RXLPEN)) +#define __HAL_RCC_ETH1PTP_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_ETH1PTPLPEN)) +#define __HAL_RCC_USB1_OTG_HS_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_USB1OTGHSLPEN)) +#define __HAL_RCC_USB1_OTG_HS_ULPI_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_USB1OTGHSULPILPEN)) +#define __HAL_RCC_USB2_OTG_FS_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_USB2OTGHSLPEN)) +#define __HAL_RCC_USB2_OTG_FS_ULPI_CLK_SLEEP_DISABLE() (RCC->AHB1LPENR &= ~ (RCC_AHB1LPENR_USB2OTGHSULPILPEN)) + +/** @brief ENABLE or disable the AHB2 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is ENABLEd again. + * @note By default, all peripheral clocks are ENABLEd during SLEEP mode. + */ + +#define __HAL_RCC_DCMI_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_DCMILPEN)) +#define __HAL_RCC_CRYP_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_CRYPLPEN)) +#define __HAL_RCC_HASH_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_HASHLPEN)) +#define __HAL_RCC_RNG_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_RNGLPEN)) +#define __HAL_RCC_SDMMC2_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_SDMMC2LPEN)) +#define __HAL_RCC_D2SRAM1_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_D2SRAM1LPEN)) +#define __HAL_RCC_D2SRAM2_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_D2SRAM2LPEN)) +#define __HAL_RCC_D2SRAM3_CLK_SLEEP_ENABLE() (RCC->AHB2LPENR |= (RCC_AHB2LPENR_D2SRAM3LPEN)) + +#define __HAL_RCC_DCMI_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_DCMILPEN)) +#define __HAL_RCC_CRYP_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_CRYPLPEN)) +#define __HAL_RCC_HASH_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_HASHLPEN)) +#define __HAL_RCC_RNG_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_RNGLPEN)) +#define __HAL_RCC_SDMMC2_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_SDMMC2LPEN)) +#define __HAL_RCC_D2SRAM1_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_D2SRAM1LPEN)) +#define __HAL_RCC_D2SRAM2_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_D2SRAM2LPEN)) +#define __HAL_RCC_D2SRAM3_CLK_SLEEP_DISABLE() (RCC->AHB2LPENR &= ~ (RCC_AHB2LPENR_D2SRAM3LPEN)) + +/** @brief ENABLE or disable the AHB4 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is ENABLEd again. + * @note By default, all peripheral clocks are ENABLEd during SLEEP mode. + */ + +#define __HAL_RCC_GPIOA_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOALPEN) +#define __HAL_RCC_GPIOB_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOBLPEN) +#define __HAL_RCC_GPIOC_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOCLPEN) +#define __HAL_RCC_GPIOD_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIODLPEN) +#define __HAL_RCC_GPIOE_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOELPEN) +#define __HAL_RCC_GPIOF_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOFLPEN) +#define __HAL_RCC_GPIOG_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOGLPEN) +#define __HAL_RCC_GPIOH_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOHLPEN) +#define __HAL_RCC_GPIOI_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOILPEN) +#define __HAL_RCC_GPIOJ_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOJLPEN) +#define __HAL_RCC_GPIOK_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_GPIOKLPEN) +#define __HAL_RCC_CRC_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_CRCLPEN) +#define __HAL_RCC_BDMA_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_BDMALPEN) +#define __HAL_RCC_ADC3_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_ADC3LPEN) +#define __HAL_RCC_BKPRAM_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR) |= (RCC_AHB4LPENR_BKPRAMLPEN) +#define __HAL_RCC_D3SRAM1_CLK_SLEEP_ENABLE() (RCC->AHB4LPENR |= (RCC_AHB4LPENR_D3SRAM1LPEN)) + +#define __HAL_RCC_GPIOA_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOALPEN) +#define __HAL_RCC_GPIOB_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOBLPEN) +#define __HAL_RCC_GPIOC_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOCLPEN) +#define __HAL_RCC_GPIOD_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIODLPEN) +#define __HAL_RCC_GPIOE_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOELPEN) +#define __HAL_RCC_GPIOF_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOFLPEN) +#define __HAL_RCC_GPIOG_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOGLPEN) +#define __HAL_RCC_GPIOH_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOHLPEN) +#define __HAL_RCC_GPIOI_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOILPEN) +#define __HAL_RCC_GPIOJ_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOJLPEN) +#define __HAL_RCC_GPIOK_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_GPIOKLPEN) +#define __HAL_RCC_CRC_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_CRCLPEN) +#define __HAL_RCC_BDMA_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_BDMALPEN) +#define __HAL_RCC_ADC3_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_ADC3LPEN) +#define __HAL_RCC_BKPRAM_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR) &= ~ (RCC_AHB4LPENR_BKPRAMLPEN) +#define __HAL_RCC_D3SRAM1_CLK_SLEEP_DISABLE() (RCC->AHB4LPENR &= ~ (RCC_AHB4LPENR_D3SRAM1LPEN)) + +/** @brief ENABLE or disable the APB3 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is ENABLEd again. + * @note By default, all peripheral clocks are ENABLEd during SLEEP mode. + */ + +#define __HAL_RCC_LTDC_CLK_SLEEP_ENABLE() (RCC->APB3LPENR) |= (RCC_APB3LPENR_LTDCLPEN) +#define __HAL_RCC_WWDG1_CLK_SLEEP_ENABLE() (RCC->APB3LPENR) |= (RCC_APB3LPENR_WWDG1LPEN) + +#define __HAL_RCC_LTDC_CLK_SLEEP_DISABLE() (RCC->APB3LPENR) &= ~ (RCC_APB3LPENR_LTDCLPEN) + +#define __HAL_RCC_WWDG1_CLK_SLEEP_DISABLE() (RCC->APB3LPENR) &= ~ (RCC_APB3LPENR_WWDG1LPEN) + +/** @brief ENABLE or disable the APB1 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is ENABLEd again. + * @note By default, all peripheral clocks are ENABLEd during SLEEP mode. + */ + +#define __HAL_RCC_TIM2_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM2LPEN) +#define __HAL_RCC_TIM3_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM3LPEN) +#define __HAL_RCC_TIM4_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM4LPEN) +#define __HAL_RCC_TIM5_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM5LPEN) +#define __HAL_RCC_TIM6_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM6LPEN) +#define __HAL_RCC_TIM7_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM7LPEN) +#define __HAL_RCC_TIM12_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM12LPEN) +#define __HAL_RCC_TIM13_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM13LPEN) +#define __HAL_RCC_TIM14_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_TIM14LPEN) +#define __HAL_RCC_LPTIM1_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_LPTIM1LPEN) + + +#define __HAL_RCC_SPI2_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_SPI2LPEN) +#define __HAL_RCC_SPI3_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_SPI3LPEN) +#define __HAL_RCC_SPDIFRX_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_SPDIFRXLPEN) +#define __HAL_RCC_USART2_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_USART2LPEN) +#define __HAL_RCC_USART3_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_USART3LPEN) +#define __HAL_RCC_UART4_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_UART4LPEN) +#define __HAL_RCC_UART5_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_UART5LPEN) +#define __HAL_RCC_I2C1_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_I2C1LPEN) +#define __HAL_RCC_I2C2_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_I2C2LPEN) +#define __HAL_RCC_I2C3_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_I2C3LPEN) +#define __HAL_RCC_CEC_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_CECLPEN) +#define __HAL_RCC_DAC12_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_DAC12LPEN) +#define __HAL_RCC_UART7_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_UART7LPEN) +#define __HAL_RCC_UART8_CLK_SLEEP_ENABLE() (RCC->APB1LLPENR) |= (RCC_APB1LLPENR_UART8LPEN) +#define __HAL_RCC_CRS_CLK_SLEEP_ENABLE() (RCC->APB1HLPENR) |= (RCC_APB1HLPENR_CRSLPEN) +#define __HAL_RCC_SWPMI1_CLK_SLEEP_ENABLE() (RCC->APB1HLPENR) |= (RCC_APB1HLPENR_SWPMILPEN) +#define __HAL_RCC_OPAMP_CLK_SLEEP_ENABLE() (RCC->APB1HLPENR) |= (RCC_APB1HLPENR_OPAMPLPEN) +#define __HAL_RCC_MDIOS_CLK_SLEEP_ENABLE() (RCC->APB1HLPENR) |= (RCC_APB1HLPENR_MDIOSLPEN) +#define __HAL_RCC_FDCAN_CLK_SLEEP_ENABLE() (RCC->APB1HLPENR) |= (RCC_APB1HLPENR_FDCANLPEN) + + +#define __HAL_RCC_TIM2_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM2LPEN) +#define __HAL_RCC_TIM3_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM3LPEN) +#define __HAL_RCC_TIM4_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM4LPEN) +#define __HAL_RCC_TIM5_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM5LPEN) +#define __HAL_RCC_TIM6_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM6LPEN) +#define __HAL_RCC_TIM7_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM7LPEN) +#define __HAL_RCC_TIM12_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM12LPEN) +#define __HAL_RCC_TIM13_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM13LPEN) +#define __HAL_RCC_TIM14_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_TIM14LPEN) +#define __HAL_RCC_LPTIM1_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_LPTIM1LPEN) + + +#define __HAL_RCC_SPI2_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_SPI2LPEN) +#define __HAL_RCC_SPI3_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_SPI3LPEN) +#define __HAL_RCC_SPDIFRX_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_SPDIFRXLPEN) +#define __HAL_RCC_USART2_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_USART2LPEN) +#define __HAL_RCC_USART3_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_USART3LPEN) +#define __HAL_RCC_UART4_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_UART4LPEN) +#define __HAL_RCC_UART5_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_UART5LPEN) +#define __HAL_RCC_I2C1_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_I2C1LPEN) +#define __HAL_RCC_I2C2_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_I2C2LPEN) +#define __HAL_RCC_I2C3_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_I2C3LPEN) +#define __HAL_RCC_CEC_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_CECLPEN) +#define __HAL_RCC_DAC12_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_DAC12LPEN) +#define __HAL_RCC_UART7_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_UART7LPEN) +#define __HAL_RCC_UART8_CLK_SLEEP_DISABLE() (RCC->APB1LLPENR) &= ~ (RCC_APB1LLPENR_UART8LPEN) +#define __HAL_RCC_CRS_CLK_SLEEP_DISABLE() (RCC->APB1HLPENR) &= ~ (RCC_APB1HLPENR_CRSLPEN) +#define __HAL_RCC_SWPMI1_CLK_SLEEP_DISABLE() (RCC->APB1HLPENR) &= ~ (RCC_APB1HLPENR_SWPMILPEN) +#define __HAL_RCC_OPAMP_CLK_SLEEP_DISABLE() (RCC->APB1HLPENR) &= ~ (RCC_APB1HLPENR_OPAMPLPEN) +#define __HAL_RCC_MDIOS_CLK_SLEEP_DISABLE() (RCC->APB1HLPENR) &= ~ (RCC_APB1HLPENR_MDIOSLPEN) +#define __HAL_RCC_FDCAN_CLK_SLEEP_DISABLE() (RCC->APB1HLPENR) &= ~ (RCC_APB1HLPENR_FDCANLPEN) + +/** @brief ENABLE or disable the APB2 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is ENABLEd again. + * @note By default, all peripheral clocks are ENABLEd during SLEEP mode. + */ + +#define __HAL_RCC_TIM1_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_TIM1LPEN) +#define __HAL_RCC_TIM8_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_TIM8LPEN) +#define __HAL_RCC_USART1_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_USART1LPEN) +#define __HAL_RCC_USART6_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_USART6LPEN) +#define __HAL_RCC_SPI1_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_SPI1LPEN) +#define __HAL_RCC_SPI4_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_SPI4LPEN) +#define __HAL_RCC_TIM15_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_TIM15LPEN) +#define __HAL_RCC_TIM16_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_TIM16LPEN) +#define __HAL_RCC_TIM17_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_TIM17LPEN) +#define __HAL_RCC_SPI5_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_SPI5LPEN) +#define __HAL_RCC_SAI1_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_SAI1LPEN) +#define __HAL_RCC_SAI2_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_SAI2LPEN) +#define __HAL_RCC_SAI3_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_SAI3LPEN) +#define __HAL_RCC_DFSDM1_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_DFSDM1LPEN) +#define __HAL_RCC_HRTIM1_CLK_SLEEP_ENABLE() (RCC->APB2LPENR) |= (RCC_APB2LPENR_HRTIMLPEN) + +#define __HAL_RCC_TIM1_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_TIM1LPEN) +#define __HAL_RCC_TIM8_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_TIM8LPEN) +#define __HAL_RCC_USART1_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_USART1LPEN) +#define __HAL_RCC_USART6_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_USART6LPEN) +#define __HAL_RCC_SPI1_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_SPI1LPEN) +#define __HAL_RCC_SPI4_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_SPI4LPEN) +#define __HAL_RCC_TIM15_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_TIM15LPEN) +#define __HAL_RCC_TIM16_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_TIM16LPEN) +#define __HAL_RCC_TIM17_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_TIM17LPEN) +#define __HAL_RCC_SPI5_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_SPI5LPEN) +#define __HAL_RCC_SAI1_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_SAI1LPEN) +#define __HAL_RCC_SAI2_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_SAI2LPEN) +#define __HAL_RCC_SAI3_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_SAI3LPEN) +#define __HAL_RCC_DFSDM1_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_DFSDM1LPEN) +#define __HAL_RCC_HRTIM1_CLK_SLEEP_DISABLE() (RCC->APB2LPENR) &= ~ (RCC_APB2LPENR_HRTIMLPEN) + +/** @brief ENABLE or disable the APB4 peripheral clock during Low Power (Sleep) mode. + * @note Peripheral clock gating in SLEEP mode can be used to further reduce + * power consumption. + * @note After wakeup from SLEEP mode, the peripheral clock is ENABLEd again. + * @note By default, all peripheral clocks are ENABLEd during SLEEP mode. + */ + +#define __HAL_RCC_SYSCFG_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_SYSCFGLPEN) +#define __HAL_RCC_LPUART1_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_LPUART1LPEN) +#define __HAL_RCC_SPI6_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_SPI6LPEN) +#define __HAL_RCC_I2C4_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_I2C4LPEN) +#define __HAL_RCC_LPTIM2_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_LPTIM2LPEN) +#define __HAL_RCC_LPTIM3_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_LPTIM3LPEN) +#define __HAL_RCC_LPTIM4_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_LPTIM4LPEN) +#define __HAL_RCC_LPTIM5_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_LPTIM5LPEN) +#define __HAL_RCC_COMP12_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_COMP12LPEN) +#define __HAL_RCC_VREF_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_VREFLPEN) +#define __HAL_RCC_RTC_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_RTCAPBLPEN) +#define __HAL_RCC_SAI4_CLK_SLEEP_ENABLE() (RCC->APB4LPENR) |= (RCC_APB4LPENR_SAI4LPEN) + + +#define __HAL_RCC_SYSCFG_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_SYSCFGLPEN) +#define __HAL_RCC_LPUART1_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_LPUART1LPEN) +#define __HAL_RCC_SPI6_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_SPI6LPEN) +#define __HAL_RCC_I2C4_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_I2C4LPEN) +#define __HAL_RCC_LPTIM2_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_LPTIM2LPEN) +#define __HAL_RCC_LPTIM3_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_LPTIM3LPEN) +#define __HAL_RCC_LPTIM4_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_LPTIM4LPEN) +#define __HAL_RCC_LPTIM5_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_LPTIM5LPEN) +#define __HAL_RCC_COMP12_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_COMP12LPEN) +#define __HAL_RCC_VREF_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_VREFLPEN) +#define __HAL_RCC_RTC_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_RTCAPBLPEN) +#define __HAL_RCC_SAI4_CLK_SLEEP_DISABLE() (RCC->APB4LPENR) &= ~ (RCC_APB4LPENR_SAI4LPEN) + + + +/** @brief Enable or disable peripheral bus clock when D3 domain is in DRUN + * @note After reset (default config), peripheral clock is disabled when CPU is in CSTOP + */ + +#define __HAL_RCC_BDMA_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_BDMAAMEN) +#define __HAL_RCC_LPUART1_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_LPUART1AMEN) +#define __HAL_RCC_SPI6_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_SPI6AMEN) +#define __HAL_RCC_I2C4_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_I2C4AMEN) +#define __HAL_RCC_LPTIM2_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_LPTIM2AMEN) +#define __HAL_RCC_LPTIM3_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_LPTIM3AMEN) +#define __HAL_RCC_LPTIM4_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_LPTIM4AMEN) +#define __HAL_RCC_LPTIM5_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_LPTIM5AMEN) +#define __HAL_RCC_COMP12_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_COMP12AMEN) +#define __HAL_RCC_VREF_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_VREFAMEN) +#define __HAL_RCC_RTC_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_RTCAMEN) +#define __HAL_RCC_CRC_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_CRCAMEN) +#define __HAL_RCC_SAI4_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_SAI4AMEN) +#define __HAL_RCC_ADC3_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_ADC3AMEN) + + +#define __HAL_RCC_BKPRAM_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_BKPRAMAMEN) +#define __HAL_RCC_D3SRAM1_CLKAM_ENABLE() (RCC->D3AMR) |= (RCC_D3AMR_SRAM4AMEN) + +#define __HAL_RCC_BDMA_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_BDMAAMEN) +#define __HAL_RCC_LPUART1_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_LPUART1AMEN) +#define __HAL_RCC_SPI6_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_SPI6AMEN) +#define __HAL_RCC_I2C4_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_I2C4AMEN) +#define __HAL_RCC_LPTIM2_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_LPTIM2AMEN) +#define __HAL_RCC_LPTIM3_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_LPTIM3AMEN) +#define __HAL_RCC_LPTIM4_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_LPTIM4AMEN) +#define __HAL_RCC_LPTIM5_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_LPTIM5AMEN) +#define __HAL_RCC_COMP12_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_COMP12AMEN) +#define __HAL_RCC_VREF_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_VREFAMEN) +#define __HAL_RCC_RTC_CLKAM_DISABLE() (RCC->D3AMR) &= ~(RCC_D3AMR_RTCAMEN) +#define __HAL_RCC_CRC_CLKAM_DISABLE() (RCC->D3AMR) &= ~(RCC_D3AMR_CRCAMEN) +#define __HAL_RCC_SAI4_CLKAM_DISABLE() (RCC->D3AMR) &= ~(RCC_D3AMR_SAI4AMEN) +#define __HAL_RCC_ADC3_CLKAM_DISABLE() (RCC->D3AMR) &= ~(RCC_D3AMR_ADC3AMEN) + + +#define __HAL_RCC_BKPRAM_CLKAM_DISABLE() (RCC->D3AMR) &= ~ (RCC_D3AMR_BKPRAMAMEN) +#define __HAL_RCC_D3SRAM1_CLKAM_DISABLE() (RCC->D3AMR)&= ~ (RCC_D3AMR_SRAM4AMEN) + + +/** @brief Macro to enable or disable the Internal High Speed oscillator (HSI). + * @note After enabling the HSI, the application software should wait on + * HSIRDY flag to be set indicating that HSI clock is stable and can + * be used to clock the PLL and/or system clock. + * @note HSI can not be stopped if it is used directly or through the PLL + * as system clock. In this case, you have to select another source + * of the system clock then stop the HSI. + * @note The HSI is stopped by hardware when entering STOP and STANDBY modes. + * @param __STATE__ specifies the new state of the HSI. + * This parameter can be one of the following values: + * @arg RCC_HSI_OFF turn OFF the HSI oscillator + * @arg RCC_HSI_ON turn ON the HSI oscillator + * @arg RCC_HSI_DIV1 turn ON the HSI oscillator and divide it by 1 (default after reset) + * @arg RCC_HSI_DIV2 turn ON the HSI oscillator and divide it by 2 + * @arg RCC_HSI_DIV4 turn ON the HSI oscillator and divide it by 4 + * @arg RCC_HSI_DIV8 turn ON the HSI oscillator and divide it by 8 + * @note When the HSI is stopped, HSIRDY flag goes low after 6 HSI oscillator + * clock cycles. + */ +#define __HAL_RCC_HSI_CONFIG(__STATE__) \ + MODIFY_REG(RCC->CR, RCC_CR_HSION | RCC_CR_HSIDIV , (uint32_t)(__STATE__)) + + +/** @brief Macro to get the HSI divider. + * @retval The HSI divider. The returned value can be one + * of the following: + * - RCC_CR_HSIDIV_1 HSI oscillator divided by 1 (default after reset) + * - RCC_CR_HSIDIV_2 HSI oscillator divided by 2 + * - RCC_CR_HSIDIV_4 HSI oscillator divided by 4 + * - RCC_CR_HSIDIV_8 HSI oscillator divided by 8 + */ +#define __HAL_RCC_GET_HSI_DIVIDER() ((uint32_t)(READ_BIT(RCC->CR, RCC_CR_HSIDIV))) + +/** @brief Macros to enable or disable the Internal High Speed oscillator (HSI). + * @note The HSI is stopped by hardware when entering STOP and STANDBY modes. + * It is used (enabled by hardware) as system clock source after start-up + * from Reset, wakeup from STOP and STANDBY mode, or in case of failure + * of the HSE used directly or indirectly as system clock (if the Clock + * Security System CSS is enabled). + * @note HSI can not be stopped if it is used as system clock source. In this case, + * you have to select another source of the system clock then stop the HSI. + * @note After enabling the HSI, the application software should wait on HSIRDY + * flag to be set indicating that HSI clock is stable and can be used as + * system clock source. + * This parameter can be: ENABLE or DISABLE. + * @note When the HSI is stopped, HSIRDY flag goes low after 6 HSI oscillator + * clock cycles. + */ +#define __HAL_RCC_HSI_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSION) +#define __HAL_RCC_HSI_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSION) + + +/** @brief Macro to adjust the Internal High Speed oscillator (HSI) calibration value. + * @note The calibration is used to compensate for the variations in voltage + * and temperature that influence the frequency of the internal HSI RC. + * @param __HSICalibrationValue__: specifies the calibration trimming value. + * This parameter must be a number between 0 and 0x3F. + */ +#define __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(__HSICalibrationValue__) \ + MODIFY_REG(RCC->ICSCR, RCC_ICSCR_HSITRIM, (uint32_t)(__HSICalibrationValue__) << POSITION_VAL(RCC_ICSCR_HSITRIM)) + +/** + * @brief Macros to enable or disable the force of the Internal High Speed oscillator (HSI) + * in STOP mode to be quickly available as kernel clock for some peripherals. + * @note Keeping the HSI ON in STOP mode allows to avoid slowing down the communication + * speed because of the HSI start-up time. + * @note The enable of this function has not effect on the HSION bit. + * This parameter can be: ENABLE or DISABLE. + * @retval None + */ +#define __HAL_RCC_HSISTOP_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSIKERON) +#define __HAL_RCC_HSISTOP_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSIKERON) + + +/** + * @brief Macro to enable or disable the Internal High Speed oscillator for USB (HSI48). + * @note After enabling the HSI48, the application software should wait on + * HSI48RDY flag to be set indicating that HSI48 clock is stable and can + * be used to clock the USB. + * @note The HSI48 is stopped by hardware when entering STOP and STANDBY modes. + */ +#define __HAL_RCC_HSI48_ENABLE() SET_BIT(RCC->CR, RCC_CR_HSI48ON); + +#define __HAL_RCC_HSI48_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_HSI48ON); + +/** + * @brief Macros to enable or disable the Internal oscillator (CSI). + * @note The CSI is stopped by hardware when entering STOP and STANDBY modes. + * It is used (enabled by hardware) as system clock source after + * start-up from Reset, wakeup from STOP and STANDBY mode, or in case + * of failure of the HSE used directly or indirectly as system clock + * (if the Clock Security System CSS is enabled). + * @note CSI can not be stopped if it is used as system clock source. + * In this case, you have to select another source of the system + * clock then stop the CSI. + * @note After enabling the CSI, the application software should wait on + * CSIRDY flag to be set indicating that CSI clock is stable and can + * be used as system clock source. + * @note When the CSI is stopped, CSIRDY flag goes low after 6 CSI oscillator + * clock cycles. + */ +#define __HAL_RCC_CSI_ENABLE() SET_BIT(RCC->CR, RCC_CR_CSION) +#define __HAL_RCC_CSI_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_CSION) + +/** @brief Macro Adjusts the Internal oscillator (CSI) calibration value. + * @note The calibration is used to compensate for the variations in voltage + * and temperature that influence the frequency of the internal CSI RC. + * @param __CSICalibrationValue__: specifies the calibration trimming value. + * This parameter must be a number between 0 and 0x1F. + */ +#define __HAL_RCC_CSI_CALIBRATIONVALUE_ADJUST(__CSICalibrationValue__) \ + MODIFY_REG(RCC->ICSCR, RCC_ICSCR_CSITRIM, (uint32_t)(__CSICalibrationValue__) << POSITION_VAL(RCC_ICSCR_CSITRIM)) + +/** + * @brief Macros to enable or disable the force of the Low-power Internal oscillator (CSI) + * in STOP mode to be quickly available as kernel clock for USARTs and I2Cs. + * @note Keeping the CSI ON in STOP mode allows to avoid slowing down the communication + * speed because of the CSI start-up time. + * @note The enable of this function has not effect on the CSION bit. + * This parameter can be: ENABLE or DISABLE. + * @retval None + */ +#define __HAL_RCC_CSISTOP_ENABLE() SET_BIT(RCC->CR, RCC_CR_CSIKERON) +#define __HAL_RCC_CSISTOP_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_CSIKERON) + + +/** @brief Macros to enable or disable the Internal Low Speed oscillator (LSI). + * @note After enabling the LSI, the application software should wait on + * LSIRDY flag to be set indicating that LSI clock is stable and can + * be used to clock the IWDG and/or the RTC. + * @note LSI can not be disabled if the IWDG is running. + * @note When the LSI is stopped, LSIRDY flag goes low after 6 LSI oscillator + * clock cycles. + */ +#define __HAL_RCC_LSI_ENABLE() SET_BIT(RCC->CSR, RCC_CSR_LSION) +#define __HAL_RCC_LSI_DISABLE() CLEAR_BIT(RCC->CSR, RCC_CSR_LSION) + +/** + * @brief Macro to configure the External High Speed oscillator (__HSE__). + * @note After enabling the HSE (RCC_HSE_ON or RCC_HSE_Bypass), the application + * software should wait on HSERDY flag to be set indicating that HSE clock + * is stable and can be used to clock the PLL and/or system clock. + * @note HSE state can not be changed if it is used directly or through the + * PLL as system clock. In this case, you have to select another source + * of the system clock then change the HSE state (ex. disable it). + * @note The HSE is stopped by hardware when entering STOP and STANDBY modes. + * @note This function reset the CSSON bit, so if the clock security system(CSS) + * was previously enabled you have to enable it again after calling this + * function. + * @param __STATE__: specifies the new state of the HSE. + * This parameter can be one of the following values: + * @arg RCC_HSE_OFF: turn OFF the HSE oscillator, HSERDY flag goes low after + * 6 HSE oscillator clock cycles. + * @arg RCC_HSE_ON: turn ON the HSE oscillator. + * @arg RCC_HSE_BYPASS: HSE oscillator bypassed with external clock. + */ +#define __HAL_RCC_HSE_CONFIG(__STATE__) \ + do { \ + if ((__STATE__) == RCC_HSE_ON) \ + { \ + SET_BIT(RCC->CR, RCC_CR_HSEON); \ + } \ + else if ((__STATE__) == RCC_HSE_OFF) \ + { \ + CLEAR_BIT(RCC->CR, RCC_CR_HSEON); \ + CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); \ + } \ + else if ((__STATE__) == RCC_HSE_BYPASS) \ + { \ + SET_BIT(RCC->CR, RCC_CR_HSEBYP); \ + SET_BIT(RCC->CR, RCC_CR_HSEON); \ + } \ + else \ + { \ + CLEAR_BIT(RCC->CR, RCC_CR_HSEON); \ + CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); \ + } \ + } while(0) + +/** @defgroup RCC_LSE_Configuration LSE Configuration + * @{ + */ + +/** + * @brief Macro to configure the External Low Speed oscillator (LSE). + * @note Transition LSE Bypass to LSE On and LSE On to LSE Bypass are not supported by this macro. + * User should request a transition to LSE Off first and then LSE On or LSE Bypass. + * @note As the LSE is in the Backup domain and write access is denied to + * this domain after reset, you have to enable write access using + * HAL_PWR_EnableBkUpAccess() function before to configure the LSE + * (to be done once after reset). + * @note After enabling the LSE (RCC_LSE_ON or RCC_LSE_BYPASS), the application + * software should wait on LSERDY flag to be set indicating that LSE clock + * is stable and can be used to clock the RTC. + * @param __STATE__: specifies the new state of the LSE. + * This parameter can be one of the following values: + * @arg RCC_LSE_OFF: turn OFF the LSE oscillator, LSERDY flag goes low after + * 6 LSE oscillator clock cycles. + * @arg RCC_LSE_ON: turn ON the LSE oscillator. + * @arg RCC_LSE_BYPASS: LSE oscillator bypassed with external clock. + */ +#define __HAL_RCC_LSE_CONFIG(__STATE__) \ + do { \ + if((__STATE__) == RCC_LSE_ON) \ + { \ + SET_BIT(RCC->BDCR, RCC_BDCR_LSEON); \ + } \ + else if((__STATE__) == RCC_LSE_OFF) \ + { \ + CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEON); \ + CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); \ + } \ + else if((__STATE__) == RCC_LSE_BYPASS) \ + { \ + SET_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); \ + SET_BIT(RCC->BDCR, RCC_BDCR_LSEON); \ + } \ + else \ + { \ + CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEON); \ + CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); \ + } \ + } while(0) +/** + * @} + */ + +/** @brief Macros to enable or disable the the RTC clock. + * @note These macros must be used only after the RTC clock source was selected. + */ +#define __HAL_RCC_RTC_ENABLE() SET_BIT(RCC->BDCR, RCC_BDCR_RTCEN) +#define __HAL_RCC_RTC_DISABLE() CLEAR_BIT(RCC->BDCR, RCC_BDCR_RTCEN) + +/** @brief Macros to configure the RTC clock (RTCCLK). + * @note As the RTC clock configuration bits are in the Backup domain and write + * access is denied to this domain after reset, you have to enable write + * access using the Power Backup Access macro before to configure + * the RTC clock source (to be done once after reset). + * @note Once the RTC clock is configured it can't be changed unless the + * Backup domain is reset using __HAL_RCC_BackupReset_RELEASE() macro, or by + * a Power On Reset (POR). + * @param __RTCCLKSource__: specifies the RTC clock source. + * This parameter can be one of the following values: + * @arg RCC_RTCCLKSOURCE_LSE: LSE selected as RTC clock. + * @arg RCC_RTCCLKSOURCE_LSI: LSI selected as RTC clock. + * @arg RCC_RTCCLKSOURCE_HSE_DIVx: HSE clock divided by x selected + * as RTC clock, where x:[2,31] + * @note If the LSE or LSI is used as RTC clock source, the RTC continues to + * work in STOP and STANDBY modes, and can be used as wakeup source. + * However, when the HSE clock is used as RTC clock source, the RTC + * cannot be used in STOP and STANDBY modes. + * @note The maximum input clock frequency for RTC is 1MHz (when using HSE as + * RTC clock source). + */ +#define __HAL_RCC_RTC_CLKPRESCALER(__RTCCLKSource__) (((__RTCCLKSource__) & RCC_BDCR_RTCSEL) == RCC_BDCR_RTCSEL) ? \ + MODIFY_REG(RCC->CFGR, RCC_CFGR_RTCPRE, (((__RTCCLKSource__) & 0xFFFFCFF) >> 4)) : CLEAR_BIT(RCC->CFGR, RCC_CFGR_RTCPRE) + +#define __HAL_RCC_RTC_CONFIG(__RTCCLKSource__) do { __HAL_RCC_RTC_CLKPRESCALER(__RTCCLKSource__); \ + RCC->BDCR |= ((__RTCCLKSource__) & 0x00000FFF); \ + } while (0) + +#define __HAL_RCC_GET_RTC_SOURCE() ((uint32_t)(READ_BIT(RCC->BDCR, RCC_BDCR_RTCSEL))) + + +/** @brief Macros to force or release the Backup domain reset. + * @note This function resets the RTC peripheral (including the backup registers) + * and the RTC clock source selection in RCC_CSR register. + * @note The BKPSRAM is not affected by this reset. + */ +#define __HAL_RCC_BACKUPRESET_FORCE() SET_BIT(RCC->BDCR, RCC_BDCR_BDRST) +#define __HAL_RCC_BACKUPRESET_RELEASE() CLEAR_BIT(RCC->BDCR, RCC_BDCR_BDRST) + +/** @brief Macros to enable or disable the main PLL. + * @note After enabling the main PLL, the application software should wait on + * PLLRDY flag to be set indicating that PLL clock is stable and can + * be used as system clock source. + * @note The main PLL can not be disabled if it is used as system clock source + * @note The main PLL is disabled by hardware when entering STOP and STANDBY modes. + */ +#define __HAL_RCC_PLL_ENABLE() SET_BIT(RCC->CR, RCC_CR_PLL1ON) +#define __HAL_RCC_PLL_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_PLL1ON) + +/** + * @brief Enables or disables each clock output (PLL_P_CLK, PLL_Q_CLK, PLL_R_CLK) + * @note Enabling/disabling Those Clocks can be any time without the need to stop the PLL, + * (except the ck_pll_p of the System PLL that cannot be stopped if used as System + * Clock.This is mainly used to save Power. + * @param __RCC_PLL1ClockOut__: specifies the PLL clock to be outputted + * This parameter can be one of the following values: + * @arg RCC_PLL1_DIVP: This clock is used to generate system clock (up to 400MHZ) + * @arg RCC_PLL1_DIVQ: This clock is used to generate peripherals clock (up to 400MHZ) + * @arg RCC_PLL1_DIVR: This clock is used to generate peripherals clock (up to 400MHZ) + * @retval None + */ +#define __HAL_RCC_PLLCLKOUT_ENABLE(__RCC_PLL1ClockOut__) SET_BIT(RCC->PLLCFGR, (__RCC_PLL1ClockOut__)) + +#define __HAL_RCC_PLLCLKOUT_DISABLE(__RCC_PLL1ClockOut__) CLEAR_BIT(RCC->PLLCFGR, (__RCC_PLL1ClockOut__)) + + +/** + * @brief Enables or disables Fractional Part Of The Multiplication Factor of PLL1 VCO + * @note Enabling/disabling Fractional Part can be any time without the need to stop the PLL1 + * @retval None + */ +#define __HAL_RCC_PLLFRACN_ENABLE() SET_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL1FRACEN) + +#define __HAL_RCC_PLLFRACN_DISABLE() CLEAR_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL1FRACEN) + + +/** + * @brief Macro to configures the main PLL clock source, multiplication and division factors. + * @note This function must be used only when the main PLL is disabled. + * + * @param __RCC_PLLSOURCE__: specifies the PLL entry clock source. + * This parameter can be one of the following values: + * @arg RCC_PLLSOURCE_CSI: CSI oscillator clock selected as PLL clock entry + * @arg RCC_PLLSOURCE_HSI: HSI oscillator clock selected as PLL clock entry + * @arg RCC_PLLSOURCE_HSE: HSE oscillator clock selected as PLL clock entry + * @note This clock source (__RCC_PLLSource__) is common for the main PLL1 (main PLL) and PLL2 & PLL3 . + * + * @param __PLLM1__: specifies the division factor for PLL VCO input clock + * This parameter must be a number between 1 and 63. + * @note You have to set the PLLM parameter correctly to ensure that the VCO input + * frequency ranges from 1 to 16 MHz. + * + * @param __PLLN1__: specifies the multiplication factor for PLL VCO output clock + * This parameter must be a number between 4 and 512. + * @note You have to set the PLLN parameter correctly to ensure that the VCO + * output frequency is between 150 and 420 MHz (when in medium VCO range) or + * between 192 and 836 MHZ (when in wide VCO range) + * + * @param __PLLP1__: specifies the division factor for system clock. + * This parameter must be a number between 2 and 128 (where odd numbers not allowed) + * + * @param __PLLQ1__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 1 and 128 + * + * @param __PLLR1__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 1 and 128 + * + * @retval None + */ + + +#define __HAL_RCC_PLL_CONFIG(__RCC_PLLSOURCE__, __PLLM1__, __PLLN1__, __PLLP1__, __PLLQ1__,__PLLR1__ ) \ + do{ MODIFY_REG(RCC->PLLCKSELR, (RCC_PLLCKSELR_PLLSRC | RCC_PLLCKSELR_DIVM1) , ((__RCC_PLLSOURCE__) | ( (__PLLM1__) <<4U))); \ + WRITE_REG (RCC->PLL1DIVR , ( (((__PLLN1__) - 1U )& RCC_PLL1DIVR_N1) | ((((__PLLP1__) -1U ) << 9U) & RCC_PLL1DIVR_P1) | \ + ((((__PLLQ1__) -1U) << 16U)& RCC_PLL1DIVR_Q1) | ((((__PLLR1__) - 1U) << 24U)& RCC_PLL1DIVR_R1))); \ + } while(0) + + +/** @brief Macro to configure the PLLs clock source. + * @note This function must be used only when all PLLs are disabled. + * @param __PLLSOURCE__: specifies the PLLs entry clock source. + * This parameter can be one of the following values: + * @arg RCC_PLLSOURCE_CSI: CSI oscillator clock selected as PLL clock entry + * @arg RCC_PLLSOURCE_HSI: HSI oscillator clock selected as PLL clock entry + * @arg RCC_PLLSOURCE_HSE: HSE oscillator clock selected as PLL clock entry + * + */ +#define __HAL_RCC_PLL_PLLSOURCE_CONFIG(__PLLSOURCE__) MODIFY_REG(RCC->PLLCKSELR, RCC_PLLCKSELR_PLLSRC, (__PLLSOURCE__)) + + +/** + * @brief Macro to configures the main PLL clock Fractional Part Of The Multiplication Factor + * + * @note These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO + * + * @param __RCC_PLL1FRACN__: specifies Fractional Part Of The Multiplication Factor for PLL1 VCO + * It should be a value between 0 and 8191 + * @note Warning: The software has to set correctly these bits to insure that the VCO + * output frequency is between its valid frequency range, which is: + * 192 to 836 MHz if PLL1VCOSEL = 0 + * 150 to 420 MHz if PLL1VCOSEL = 1. + * + * + * @retval None + */ + #define __HAL_RCC_PLLFRACN_CONFIG(__RCC_PLL1FRACN__) MODIFY_REG(RCC->PLL1FRACR, RCC_PLL1FRACR_FRACN1, (uint32_t)(__RCC_PLL1FRACN__) << POSITION_VAL(RCC_PLL1FRACR_FRACN1)) + + +/** @brief Macro to select the PLL1 reference frequency range. + * @param __RCC_PLL1VCIRange__: specifies the PLL1 input frequency range + * This parameter can be one of the following values: + * @arg RCC_PLL1VCIRANGE_0: Range frequency is between 1 and 2 MHz + * @arg RCC_PLL1VCIRANGE_1: Range frequency is between 2 and 4 MHz + * @arg RCC_PLL1VCIRANGE_2: Range frequency is between 4 and 8 MHz + * @arg RCC_PLL1VCIRANGE_3: Range frequency is between 8 and 16 MHz + * @retval None + */ +#define __HAL_RCC_PLL_VCIRANGE(__RCC_PLL1VCIRange__) \ + MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL1RGE, (__RCC_PLL1VCIRange__)) + + +/** @brief Macro to select the PLL1 reference frequency range. + * @param __RCC_PLL1VCORange__: specifies the PLL1 input frequency range + * This parameter can be one of the following values: + * @arg RCC_PLL1VCOWIDE: Range frequency is between 192 and 836 MHz + * @arg RCC_PLL1VCOMEDIUM: Range frequency is between 150 and 420 MHz + * @retval None + */ +#define __HAL_RCC_PLL_VCORANGE(__RCC_PLL1VCORange__) \ + MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL1VCOSEL, (__RCC_PLL1VCORange__)) + + + +/** @brief Macro to get the clock source used as system clock. + * @retval The clock source used as system clock. The returned value can be one + * of the following: + * - RCC_CFGR_SWS_CSI: CSI used as system clock. + * - RCC_CFGR_SWS_HSI: HSI used as system clock. + * - RCC_CFGR_SWS_HSE: HSE used as system clock. + * - RCC_CFGR_SWS_PLL: PLL used as system clock. + */ +#define __HAL_RCC_GET_SYSCLK_SOURCE() ((uint32_t)(RCC->CFGR & RCC_CFGR_SWS)) + + +/** + * @brief Macro to configure the system clock source. + * @param __RCC_SYSCLKSOURCE__: specifies the system clock source. + * This parameter can be one of the following values: + * - RCC_SYSCLKSOURCE_HSI: HSI oscillator is used as system clock source. + * - RCC_SYSCLKSOURCE_CSI: CSI oscillator is used as system clock source. + * - RCC_SYSCLKSOURCE_HSE: HSE oscillator is used as system clock source. + * - RCC_SYSCLKSOURCE_PLLCLK: PLL output is used as system clock source. + */ +#define __HAL_RCC_SYSCLK_CONFIG(__RCC_SYSCLKSOURCE__) MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, (__RCC_SYSCLKSOURCE__)) + +/** @brief Macro to get the oscillator used as PLL clock source. + * @retval The oscillator used as PLL clock source. The returned value can be one + * of the following: + * - RCC_PLLSOURCE_NONE: No oscillator is used as PLL clock source. + * - RCC_PLLSOURCE_CSI: CSI oscillator is used as PLL clock source. + * - RCC_PLLSOURCE_HSI: HSI oscillator is used as PLL clock source. + * - RCC_PLLSOURCE_HSE: HSE oscillator is used as PLL clock source. + */ +#define __HAL_RCC_GET_PLL_OSCSOURCE() ((uint32_t)(RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC)) + +/** + * @brief Macro to configure the External Low Speed oscillator (LSE) drive capability. + * @note As the LSE is in the Backup domain and write access is denied to + * this domain after reset, you have to enable write access using + * HAL_PWR_EnableBkUpAccess() function before to configure the LSE + * (to be done once after reset). + * @param __LSEDRIVE__: specifies the new state of the LSE drive capability. + * This parameter can be one of the following values: + * @arg RCC_LSEDRIVE_LOW: LSE oscillator low drive capability. + * @arg RCC_LSEDRIVE_MEDIUMLOW: LSE oscillator medium low drive capability. + * @arg RCC_LSEDRIVE_MEDIUMHIGH: LSE oscillator medium high drive capability. + * @arg RCC_LSEDRIVE_HIGH: LSE oscillator high drive capability. + * @retval None + */ +#define __HAL_RCC_LSEDRIVE_CONFIG(__LSEDRIVE__) \ + MODIFY_REG(RCC->BDCR, RCC_BDCR_LSEDRV, (uint32_t)(__LSEDRIVE__)) +/** + * @brief Macro to configure the wake up from stop clock. + * @param __RCC_STOPWUCLK__: specifies the clock source used after wake up from stop + * This parameter can be one of the following values: + * @arg RCC_STOP_WAKEUPCLOCK_CSI: CSI selected as system clock source + * @arg RCC_STOP_WAKEUPCLOCK_HSI: HSI selected as system clock source + * @retval None + */ +#define __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(__RCC_STOPWUCLK__) \ + MODIFY_REG(RCC->CFGR, RCC_CFGR_STOPWUCK, (__RCC_STOPWUCLK__)) + +/** + * @brief Macro to configure the Kernel wake up from stop clock. + * @param __RCC_STOPKERWUCLK__: specifies the Kernel clock source used after wake up from stop + * This parameter can be one of the following values: + * @arg RCC_STOP_KERWAKEUPCLOCK_CSI: CSI selected as Kernel clock source + * @arg RCC_STOP_KERWAKEUPCLOCK_HSI: HSI selected as Kernel clock source + * @retval None + */ +#define __HAL_RCC_KERWAKEUPSTOP_CLK_CONFIG(__RCC_STOPKERWUCLK__) \ + MODIFY_REG(RCC->CFGR, RCC_CFGR_STOPKERWUCK, (__RCC_STOPKERWUCLK__)) + +/** @defgroup RCC_Flags_Interrupts_Management Flags Interrupts Management + * @brief macros to manage the specified RCC Flags and interrupts. + * @{ + */ +/** @brief Enable RCC interrupt. + * @param __INTERRUPT__: specifies the RCC interrupt sources to be enabled. + * This parameter can be any combination of the following values: + * @arg RCC_IT_LSIRDY: LSI ready interrupt + * @arg RCC_IT_LSERDY: LSE ready interrupt + * @arg RCC_IT_CSIRDY: HSI ready interrupt + * @arg RCC_IT_HSIRDY: HSI ready interrupt + * @arg RCC_IT_HSERDY: HSE ready interrupt + * @arg RCC_IT_HSI48RDY: HSI48 ready interrupt + * @arg RCC_IT_PLLRDY: main PLL ready interrupt + * @arg RCC_IT_PLL2RDY: PLL2 ready interrupt + * @arg RCC_IT_PLL3RDY: PLL3 ready interrupt + * @arg RCC_IT_LSECSS: Clock security system interrupt + */ +#define __HAL_RCC_ENABLE_IT(__INTERRUPT__) SET_BIT(RCC->CIER, (__INTERRUPT__)) + +/** @brief Disable RCC interrupt + * @param __INTERRUPT__: specifies the RCC interrupt sources to be disabled. + * This parameter can be any combination of the following values: + * @arg RCC_IT_LSIRDY: LSI ready interrupt + * @arg RCC_IT_LSERDY: LSE ready interrupt + * @arg RCC_IT_CSIRDY: HSI ready interrupt + * @arg RCC_IT_HSIRDY: HSI ready interrupt + * @arg RCC_IT_HSERDY: HSE ready interrupt + * @arg RCC_IT_HSI48RDY: HSI48 ready interrupt + * @arg RCC_IT_PLLRDY: main PLL ready interrupt + * @arg RCC_IT_PLL2RDY: PLL2 ready interrupt + * @arg RCC_IT_PLL3RDY: PLL3 ready interrupt + * @arg RCC_IT_LSECSS: Clock security system interrupt + */ +#define __HAL_RCC_DISABLE_IT(__INTERRUPT__) CLEAR_BIT(RCC->CIER, (__INTERRUPT__)) + +/** @brief Clear the RCC's interrupt pending bits + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be any combination of the following values: + * @arg RCC_IT_LSIRDY: LSI ready interrupt + * @arg RCC_IT_LSERDY: LSE ready interrupt + * @arg RCC_IT_CSIRDY: CSI ready interrupt + * @arg RCC_IT_HSIRDY: HSI ready interrupt + * @arg RCC_IT_HSERDY: HSE ready interrupt + * @arg RCC_IT_HSI48RDY: HSI48 ready interrupt + * @arg RCC_IT_PLLRDY: main PLL ready interrupt + * @arg RCC_IT_PLL2RDY: PLL2 ready interrupt + * @arg RCC_IT_PLL3RDY: PLL3 ready interrupt + * @arg RCC_IT_HSECSS: HSE Clock Security interrupt + * @arg RCC_IT_LSECSS: Clock security system interrupt + */ +#define __HAL_RCC_CLEAR_IT(__INTERRUPT__) (RCC->CICR = (__INTERRUPT__)) + +/** @brief Check the RCC's interrupt has occurred or not. + * @param __INTERRUPT__: specifies the RCC interrupt source to check. + * This parameter can be any combination of the following values: + * @arg RCC_IT_LSIRDY: LSI ready interrupt + * @arg RCC_IT_LSERDY: LSE ready interrupt + * @arg RCC_IT_CSIRDY: CSI ready interrupt + * @arg RCC_IT_HSIRDY: HSI ready interrupt + * @arg RCC_IT_HSERDY: HSE ready interrupt + * @arg RCC_IT_HSI48RDY: HSI48 ready interrupt + * @arg RCC_IT_PLLRDY: main PLL ready interrupt + * @arg RCC_IT_PLL2RDY: PLL2 ready interrupt + * @arg RCC_IT_PLL3RDY: PLL3 ready interrupt + * @arg RCC_IT_HSECSS: HSE Clock Security interrupt + * @arg RCC_IT_LSECSS: Clock security system interrupt + * @retval The new state of __INTERRUPT__ (TRUE or FALSE). + */ +#define __HAL_RCC_GET_IT(__INTERRUPT__) ((RCC->CIFR & (__INTERRUPT__)) == (__INTERRUPT__)) + +/** @brief Set RMVF bit to clear the reset flags. + */ +#define __HAL_RCC_CLEAR_RESET_FLAGS() (RCC->RSR |= RCC_RSR_RMVF) + + + +/** @brief Check RCC flag is set or not. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg RCC_FLAG_HSIRDY: HSI oscillator clock ready + * @arg RCC_FLAG_HSIDIV: HSI divider flag + * @arg RCC_FLAG_CSIRDY: CSI oscillator clock ready + * @arg RCC_FLAG_HSI48RDY: HSI48 oscillator clock ready + * @arg RCC_FLAG_HSERDY: HSE oscillator clock ready + * @arg RCC_FLAG_D1CKRDY: Domain1 clock ready + * @arg RCC_FLAG_D2CKRDY: Domain2 clock ready + * @arg RCC_FLAG_PLLRDY: PLL1 clock ready + * @arg RCC_FLAG_PLL2RDY: PLL2 clock ready + * @arg RCC_FLAG_PLL3RDY: PLL3 clock ready + * @arg RCC_FLAG_LSERDY: LSE oscillator clock ready + * @arg RCC_FLAG_LSIRDY: LSI oscillator clock ready + * @arg RCC_FLAG_RMVF: Remove reset Flag + * @arg RCC_FLAG_CPURST: CPU reset flag + * @arg RCC_FLAG_D1RST: D1 domain power switch reset flag + * @arg RCC_FLAG_D2RST: D2 domain power switch reset flag + * @arg RCC_FLAG_BORRST: BOR reset flag + * @arg RCC_FLAG_PINRST: Pin reset + * @arg RCC_FLAG_PORRST: POR/PDR reset + * @arg RCC_FLAG_SFTRST: System reset from CPU reset flag + * @arg RCC_FLAG_BORRST: D2 domain power switch reset flag + * @arg RCC_FLAG_IWDG1RST: CPU Independent Watchdog reset + * @arg RCC_FLAG_WWDG1RST: Window Watchdog1 reset + * @arg RCC_FLAG_LPWR1RST: Reset due to illegal D1 DSTANDBY or CPU CSTOP flag + * @arg RCC_FLAG_LPWR2RST: Reset due to illegal D2 DSTANDBY flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define RCC_FLAG_MASK ((uint8_t)0x1F) +#define __HAL_RCC_GET_FLAG(__FLAG__) (((((((__FLAG__) >> 5) == 1)? RCC->CR :((((__FLAG__) >> 5) == 2) ? RCC->BDCR : \ +((((__FLAG__) >> 5) == 3)? RCC->CSR : ((((__FLAG__) >> 5) == 4)? RCC->RSR :RCC->CIFR)))) & ((uint32_t)1 << ((__FLAG__) & RCC_FLAG_MASK)))!= 0)? 1 : 0) + + +/** + * @} + */ + +#define RCC_GET_PLL_OSCSOURCE() ((RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC) >> POSITION_VAL(RCC_PLLCKSELR_PLLSRC)) + +/** + * @} + */ + +/* Include RCC HAL Extension module */ +#include "stm32h7xx_hal_rcc_ex.h" + +/* Exported functions --------------------------------------------------------*/ + /** @addtogroup RCC_Exported_Functions + * @{ + */ + +/** @addtogroup RCC_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions ******************************/ +void HAL_RCC_DeInit(void); +HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct); +HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency); + +/** + * @} + */ + +/** @addtogroup RCC_Exported_Functions_Group2 + * @{ + */ +/* Peripheral Control functions ************************************************/ +void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv); +void HAL_RCC_EnableCSS(void); +void HAL_RCC_DisableCSS(void); +uint32_t HAL_RCC_GetSysClockFreq(void); +uint32_t HAL_RCC_GetHCLKFreq(void); +uint32_t HAL_RCC_GetPCLK1Freq(void); +uint32_t HAL_RCC_GetPCLK2Freq(void); +void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct); +void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency); +/* CSS NMI IRQ handler */ +void HAL_RCC_NMI_IRQHandler(void); +/* User Callbacks in non blocking mode (IT mode) */ +void HAL_RCC_CCSCallback(void); + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup RCC_Private_Constants RCC Private Constants + * @{ + */ + +#define HSE_TIMEOUT_VALUE HSE_STARTUP_TIMEOUT +#define HSI_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ +#define HSI48_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ +#define CSI_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ +#define LSI_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ +#define PLL_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ +#define CLOCKSWITCH_TIMEOUT_VALUE ((uint32_t)5000) /* 5 s */ +#define RCC_DBP_TIMEOUT_VALUE ((uint32_t)100) +#define RCC_LSE_TIMEOUT_VALUE LSE_STARTUP_TIMEOUT + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @addtogroup RCC_Private_Macros RCC Private Macros + * @{ + */ + +/** @defgroup RCC_IS_RCC_Definitions RCC Private macros to check input parameters + * @{ + */ + +#define IS_RCC_OSCILLATORTYPE(OSCILLATOR) (((OSCILLATOR) == RCC_OSCILLATORTYPE_NONE) || \ + (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) || \ + (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) || \ + (((OSCILLATOR) & RCC_OSCILLATORTYPE_CSI) == RCC_OSCILLATORTYPE_CSI) || \ + (((OSCILLATOR) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) || \ + (((OSCILLATOR) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) || \ + (((OSCILLATOR) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48)) + +#define IS_RCC_HSE(HSE) (((HSE) == RCC_HSE_OFF) || ((HSE) == RCC_HSE_ON) || \ + ((HSE) == RCC_HSE_BYPASS)) + +#define IS_RCC_LSE(LSE) (((LSE) == RCC_LSE_OFF) || ((LSE) == RCC_LSE_ON) || \ + ((LSE) == RCC_LSE_BYPASS)) + +#define IS_RCC_HSI(HSI) (((HSI) == RCC_HSI_OFF) || ((HSI) == RCC_HSI_ON) || \ + ((HSI) == RCC_HSI_DIV1) || ((HSI) == RCC_HSI_DIV2) || \ + ((HSI) == RCC_HSI_DIV4) || ((HSI) == RCC_HSI_DIV8)) + +#define IS_RCC_HSI48(HSI48) (((HSI48) == RCC_HSI48_OFF) || ((HSI48) == RCC_HSI48_ON)) + +#define IS_RCC_LSI(LSI) (((LSI) == RCC_LSI_OFF) || ((LSI) == RCC_LSI_ON)) + +#define IS_RCC_CSI(CSI) (((CSI) == RCC_CSI_OFF) || ((CSI) == RCC_CSI_ON)) + +#define IS_RCC_PLL(PLL) (((PLL) == RCC_PLL_NONE) ||((PLL) == RCC_PLL_OFF) || \ + ((PLL) == RCC_PLL_ON)) + +#define IS_RCC_PLLSOURCE(SOURCE) (((SOURCE) == RCC_PLLSOURCE_CSI) || \ + ((SOURCE) == RCC_PLLSOURCE_HSI) || \ + ((SOURCE) == RCC_PLLSOURCE_NONE) || \ + ((SOURCE) == RCC_PLLSOURCE_HSE)) +#define IS_RCC_PLLM_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 63)) +#define IS_RCC_PLLN_VALUE(VALUE) ((4 <= (VALUE)) && ((VALUE) <= 512)) +#define IS_RCC_PLLP_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) +#define IS_RCC_PLLQ_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) +#define IS_RCC_PLLR_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) + +#define IS_RCC_PLLCLOCKOUT_VALUE(VALUE) (((VALUE) == RCC_PLL1_DIVP) || \ + ((VALUE) == RCC_PLL1_DIVQ) || \ + ((VALUE) == RCC_PLL1_DIVR)) + +#define IS_RCC_CLOCKTYPE(CLK) ((1 <= (CLK)) && ((CLK) <= 0x3F)) + +#define IS_RCC_SYSCLKSOURCE(SOURCE) (((SOURCE) == RCC_SYSCLKSOURCE_CSI) || \ + ((SOURCE) == RCC_SYSCLKSOURCE_HSI) || \ + ((SOURCE) == RCC_SYSCLKSOURCE_HSE) || \ + ((SOURCE) == RCC_SYSCLKSOURCE_PLLCLK)) + +#define IS_RCC_SYSCLK(SYSCLK) (((SYSCLK) == RCC_SYSCLK_DIV1) || ((SYSCLK) == RCC_SYSCLK_DIV2) || \ + ((SYSCLK) == RCC_SYSCLK_DIV4) || ((SYSCLK) == RCC_SYSCLK_DIV8) || \ + ((SYSCLK) == RCC_SYSCLK_DIV16) || ((SYSCLK) == RCC_SYSCLK_DIV64) || \ + ((SYSCLK) == RCC_SYSCLK_DIV128) || ((SYSCLK) == RCC_SYSCLK_DIV256) || \ + ((SYSCLK) == RCC_SYSCLK_DIV512)) + + +#define IS_RCC_HCLK(HCLK) (((HCLK) == RCC_HCLK_DIV1) || ((HCLK) == RCC_HCLK_DIV2) || \ + ((HCLK) == RCC_HCLK_DIV4) || ((HCLK) == RCC_HCLK_DIV8) || \ + ((HCLK) == RCC_HCLK_DIV16) || ((HCLK) == RCC_HCLK_DIV64) || \ + ((HCLK) == RCC_HCLK_DIV128) || ((HCLK) == RCC_HCLK_DIV256) || \ + ((HCLK) == RCC_HCLK_DIV512)) + +#define IS_RCC_D1PCLK1(D1PCLK1) (((D1PCLK1) == RCC_APB3_DIV1) || ((D1PCLK1) == RCC_APB3_DIV2) || \ + ((D1PCLK1) == RCC_APB3_DIV4) || ((D1PCLK1) == RCC_APB3_DIV8) || \ + ((D1PCLK1) == RCC_APB3_DIV16)) + +#define IS_RCC_PCLK1(PCLK1) (((PCLK1) == RCC_APB1_DIV1) || ((PCLK1) == RCC_APB1_DIV2) || \ + ((PCLK1) == RCC_APB1_DIV4) || ((PCLK1) == RCC_APB1_DIV8) || \ + ((PCLK1) == RCC_APB1_DIV16)) + +#define IS_RCC_PCLK2(PCLK2) (((PCLK2) == RCC_APB2_DIV1) || ((PCLK2) == RCC_APB2_DIV2) || \ + ((PCLK2) == RCC_APB2_DIV4) || ((PCLK2) == RCC_APB2_DIV8) || \ + ((PCLK2) == RCC_APB2_DIV16)) + +#define IS_RCC_D3PCLK1(D3PCLK1) (((D3PCLK1) == RCC_APB4_DIV1) || ((D3PCLK1) == RCC_APB4_DIV2) || \ + ((D3PCLK1) == RCC_APB4_DIV4) || ((D3PCLK1) == RCC_APB4_DIV8) || \ + ((D3PCLK1) == RCC_APB4_DIV16)) + +#define IS_RCC_RTCCLKSOURCE(SOURCE) (((SOURCE) == RCC_RTCCLKSOURCE_LSE) || ((SOURCE) == RCC_RTCCLKSOURCE_LSI) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV2) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV3) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV4) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV5) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV6) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV7) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV8) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV9) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV10) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV11) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV12) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV13) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV14) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV15) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV16) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV17) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV18) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV19) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV20) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV21) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV22) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV23) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV24) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV25) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV26) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV27) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV28) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV29) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV30) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV31) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV32) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV33) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV34) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV35) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV36) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV37) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV38) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV39) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV40) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV41) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV42) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV43) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV44) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV45) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV46) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV47) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV48) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV49) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV50) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV51) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV52) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV53) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV54) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV55) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV56) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV57) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV58) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV59) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV60) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV61) || \ + ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV62) || ((SOURCE) == RCC_RTCCLKSOURCE_HSE_DIV63)) + +#define IS_RCC_MCO(MCOx) (((MCOx) == RCC_MCO1) || ((MCOx) == RCC_MCO2)) + +#define IS_RCC_MCO1SOURCE(SOURCE) (((SOURCE) == RCC_MCO1SOURCE_HSI) || ((SOURCE) == RCC_MCO1SOURCE_LSE) || \ + ((SOURCE) == RCC_MCO1SOURCE_HSE) || ((SOURCE) == RCC_MCO1SOURCE_PLL1QCLK) || \ + ((SOURCE) == RCC_MCO1SOURCE_HSI48)) + +#define IS_RCC_MCO2SOURCE(SOURCE) (((SOURCE) == RCC_MCO2SOURCE_SYSCLK) || ((SOURCE) == RCC_MCO2SOURCE_PLL2PCLK) || \ + ((SOURCE) == RCC_MCO2SOURCE_HSE) || ((SOURCE) == RCC_MCO2SOURCE_PLLCLK) || \ + ((SOURCE) == RCC_MCO2SOURCE_CSICLK) || ((SOURCE) == RCC_MCO2SOURCE_LSICLK)) + +#define IS_RCC_MCODIV(DIV) (((DIV) == RCC_MCODIV_1) || ((DIV) == RCC_MCODIV_2) || \ + ((DIV) == RCC_MCODIV_3) || ((DIV) == RCC_MCODIV_4) || \ + ((DIV) == RCC_MCODIV_5) || ((DIV) == RCC_MCODIV_6) || \ + ((DIV) == RCC_MCODIV_7) || ((DIV) == RCC_MCODIV_8) || \ + ((DIV) == RCC_MCODIV_9) || ((DIV) == RCC_MCODIV_10) || \ + ((DIV) == RCC_MCODIV_11) || ((DIV) == RCC_MCODIV_12) || \ + ((DIV) == RCC_MCODIV_13) || ((DIV) == RCC_MCODIV_14) || \ + ((DIV) == RCC_MCODIV_15)) + + +#define IS_RCC_FLAG(FLAG) (((FLAG) == RCC_FLAG_HSIRDY) || ((FLAG) == RCC_FLAG_CSIRDY) || \ + ((FLAG) == RCC_FLAG_HSI48RDY) || ((FLAG) == RCC_FLAG_HSERDY) || \ + ((FLAG) == RCC_FLAG_D1CKRDY) || ((FLAG) == RCC_FLAG_D2CKRDY) || \ + ((FLAG) == RCC_FLAG_PLLRDY) || ((FLAG) == RCC_FLAG_PLL2RDY) || \ + ((FLAG) == RCC_FLAG_PLL3RDY) || ((FLAG) == RCC_FLAG_LSERDY) || \ + ((FLAG) == RCC_FLAG_LSIRDY) || ((FLAG) == RCC_FLAG_RMVF) || \ + ((FLAG) == RCC_FLAG_CPURST) || ((FLAG) == RCC_FLAG_D1RST) || \ + ((FLAG) == RCC_FLAG_D2RST) || ((FLAG) == RCC_FLAG_BORRST) || \ + ((FLAG) == RCC_FLAG_PINRST) || ((FLAG) == RCC_FLAG_PORRST) || \ + ((FLAG) == RCC_FLAG_SFTRST) || ((FLAG) == RCC_FLAG_IWDG1RST)|| \ + ((FLAG) == RCC_FLAG_WWDGR1ST) || ((FLAG) == RCC_FLAG_LPWR1RST)|| \ + ((FLAG) == RCC_FLAG_LPWR2RST) || ((FLAG) == RCC_FLAG_HSIDIV )) + + +#define IS_RCC_CALIBRATION_VALUE(VALUE) ((VALUE) <= 0xFFF) +#define IS_RCC_CSICALIBRATION_VALUE(VALUE) ((VALUE) <= 0x1F) + +#define IS_RCC_STOP_WAKEUPCLOCK(SOURCE) (((SOURCE) == RCC_STOP_WAKEUPCLOCK_CSI) || \ + ((SOURCE) == RCC_STOP_WAKEUPCLOCK_HSI)) + +#define IS_RCC_STOP_KERWAKEUPCLOCK(SOURCE) (((SOURCE) == RCC_STOP_KERWAKEUPCLOCK_CSI) || \ + ((SOURCE) == RCC_STOP_KERWAKEUPCLOCK_HSI)) +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_RCC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h new file mode 100644 index 0000000000..358d9fd68e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h @@ -0,0 +1,3194 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rcc_ex.h + * @author MCD Application Team + * @brief Header file of RCC HAL Extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_RCC_EX_H +#define __STM32H7xx_HAL_RCC_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup RCCEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup RCCEx_Exported_Types RCCEx Exported Types + * @{ + */ + +/** + * @brief PLL2 Clock structure definition + */ +typedef struct +{ + + uint32_t PLL2M; /*!< PLL2M: Division factor for PLL2 VCO input clock. + This parameter must be a number between Min_Data = 1 and Max_Data = 63 */ + + uint32_t PLL2N; /*!< PLL2N: Multiplication factor for PLL2 VCO output clock. + This parameter must be a number between Min_Data = 4 and Max_Data = 512 */ + + uint32_t PLL2P; /*!< PLL2P: Division factor for system clock. + This parameter must be a number between Min_Data = 2 and Max_Data = 128 + odd division factors are not allowed */ + + uint32_t PLL2Q; /*!< PLL2Q: Division factor for peripheral clocks. + This parameter must be a number between Min_Data = 1 and Max_Data = 128 */ + + uint32_t PLL2R; /*!< PLL2R: Division factor for peripheral clocks. + This parameter must be a number between Min_Data = 1 and Max_Data = 128 */ + uint32_t PLL2RGE; /*!CR, RCC_CR_PLL2ON) +#define __HAL_RCC_PLL2_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_PLL2ON) + +/** + * @brief Enables or disables each clock output (PLL2_P_CLK, PLL2_Q_CLK, PLL2_R_CLK) + * @note Enabling/disabling Those Clocks can be any time without the need to stop the PLL2, + * This is mainly used to save Power. + * @param __RCC_PLL2ClockOut__: Specifies the PLL2 clock to be outputted + * This parameter can be one of the following values: + * @arg RCC_PLL2_DIVP: This clock is used to generate system clock (up to 400MHZ) + * @arg RCC_PLL2_DIVQ: This clock is used to generate peripherals clock (up to 400MHZ) + * @arg RCC_PLL2_DIVR: This clock is used to generate peripherals clock (up to 400MHZ) + * @retval None + */ +#define __HAL_RCC_PLL2CLKOUT_ENABLE(__RCC_PLL2ClockOut__) SET_BIT(RCC->PLLCFGR, (__RCC_PLL2ClockOut__)) + +#define __HAL_RCC_PLL2CLKOUT_DISABLE(__RCC_PLL2ClockOut__) CLEAR_BIT(RCC->PLLCFGR, (__RCC_PLL2ClockOut__)) + +/** + * @brief Enables or disables Fractional Part Of The Multiplication Factor of PLL2 VCO + * @note Enabling/disabling Fractional Part can be any time without the need to stop the PLL2 + * @retval None + */ +#define __HAL_RCC_PLL2FRACN_ENABLE() SET_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL2FRACEN) + +#define __HAL_RCC_PLL2FRACN_DISABLE() CLEAR_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL2FRACEN) + +/** + * @brief Macro to configures the PLL2 multiplication and division factors. + * @note This function must be used only when PLL2 is disabled. + * + * @param __PLL2M__: specifies the division factor for PLL2 VCO input clock + * This parameter must be a number between 1 and 63. + * @note You have to set the PLLM parameter correctly to ensure that the VCO input + * frequency ranges from 1 to 16 MHz. + * + * @param __PLL2N__: specifies the multiplication factor for PLL2 VCO output clock + * This parameter must be a number between 4 and 512. + * @note You have to set the PLL2N parameter correctly to ensure that the VCO + * output frequency is between 150 and 420 MHz (when in medium VCO range) or + * between 192 and 836 MHZ (when in wide VCO range) + * + * @param __PLL2P__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 2 and 128 (where odd numbers not allowed) + * + * @param __PLL2Q__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 1 and 128 + * + * @param __PLL2R__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 1 and 128 + * + * @retval None + */ + + +#define __HAL_RCC_PLL2_CONFIG(__PLL2M__, __PLL2N__, __PLL2P__, __PLL2Q__,__PLL2R__ ) \ + do{ MODIFY_REG(RCC->PLLCKSELR, ( RCC_PLLCKSELR_DIVM2) , ( (__PLL2M__) <<12U)); \ + WRITE_REG (RCC->PLL2DIVR , ( (((__PLL2N__) - 1U ) & RCC_PLL2DIVR_N2) | ((((__PLL2P__) -1U ) << 9U) & RCC_PLL2DIVR_P2) | \ + ((((__PLL2Q__) -1U) << 16U) & RCC_PLL2DIVR_Q2) | ((((__PLL2R__)- 1U) << 24U) & RCC_PLL2DIVR_R2))); \ + } while(0) +/** + * @brief Macro to configures PLL2 clock Fractional Part Of The Multiplication Factor + * + * @note These bits can be written at any time, allowing dynamic fine-tuning of the PLL2 VCO + * + * @param __RCC_PLL2FRACN__: Specifies Fractional Part Of The Multiplication factor for PLL2 VCO + * It should be a value between 0 and 8191 + * @note Warning: the software has to set correctly these bits to insure that the VCO + * output frequency is between its valid frequency range, which is: + * 192 to 836 MHz if PLL2VCOSEL = 0 + * 150 to 420 MHz if PLL2VCOSEL = 1. + * + * + * @retval None + */ + #define __HAL_RCC_PLL2FRACN_CONFIG(__RCC_PLL2FRACN__) MODIFY_REG(RCC->PLL2FRACR, RCC_PLL2FRACR_FRACN2,(uint32_t)(__RCC_PLL2FRACN__) << POSITION_VAL(RCC_PLL2FRACR_FRACN2)) + +/** @brief Macro to select the PLL2 reference frequency range. + * @param __RCC_PLL2VCIRange__: specifies the PLL2 input frequency range + * This parameter can be one of the following values: + * @arg RCC_PLL2VCIRANGE_0: Range frequency is between 1 and 2 MHz + * @arg RCC_PLL2VCIRANGE_1: Range frequency is between 2 and 4 MHz + * @arg RCC_PLL2VCIRANGE_2: Range frequency is between 4 and 8 MHz + * @arg RCC_PLL2VCIRANGE_3: Range frequency is between 8 and 16 MHz + * @retval None + */ +#define __HAL_RCC_PLL2_VCIRANGE(__RCC_PLL2VCIRange__) \ + MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL2RGE, (__RCC_PLL2VCIRange__)) + + +/** @brief Macro to select the PLL2 reference frequency range. + * @param __RCC_PLL2VCORange__: Specifies the PLL2 input frequency range + * This parameter can be one of the following values: + * @arg RCC_PLL2VCOWIDE: Range frequency is between 192 and 836 MHz + * @arg RCC_PLL2VCOMEDIUM: Range frequency is between 150 and 420 MHz + * @retval None + */ +#define __HAL_RCC_PLL2_VCORANGE(__RCC_PLL2VCORange__) \ + MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL2VCOSEL, (__RCC_PLL2VCORange__)) + +/** @brief Macros to enable or disable the main PLL3. + * @note After enabling PLL3, the application software should wait on + * PLL3RDY flag to be set indicating that PLL3 clock is stable and can + * be used as kernel clock source. + * @note PLL3 is disabled by hardware when entering STOP and STANDBY modes. + */ +#define __HAL_RCC_PLL3_ENABLE() SET_BIT(RCC->CR, RCC_CR_PLL3ON) +#define __HAL_RCC_PLL3_DISABLE() CLEAR_BIT(RCC->CR, RCC_CR_PLL3ON) + +/** + * @brief Enables or disables Fractional Part Of The Multiplication Factor of PLL3 VCO + * @note Enabling/disabling Fractional Part can be any time without the need to stop the PLL3 + * @retval None + */ +#define __HAL_RCC_PLL3FRACN_ENABLE() SET_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL3FRACEN) + +#define __HAL_RCC_PLL3FRACN_DISABLE() CLEAR_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLL3FRACEN) + +/** + * @brief Enables or disables each clock output (PLL3_P_CLK, PLL3_Q_CLK, PLL3_R_CLK) + * @note Enabling/disabling Those Clocks can be any time without the need to stop the PLL3, + * This is mainly used to save Power. + * @param __RCC_PLL3ClockOut__: specifies the PLL3 clock to be outputted + * This parameter can be one of the following values: + * @arg RCC_PLL3_DIVP: This clock is used to generate system clock (up to 400MHZ) + * @arg RCC_PLL3_DIVQ: This clock is used to generate peripherals clock (up to 400MHZ) + * @arg RCC_PLL3_DIVR: This clock is used to generate peripherals clock (up to 400MHZ) + * @retval None + */ +#define __HAL_RCC_PLL3CLKOUT_ENABLE(__RCC_PLL3ClockOut__) SET_BIT(RCC->PLLCFGR, (__RCC_PLL3ClockOut__)) + +#define __HAL_RCC_PLL3CLKOUT_DISABLE(__RCC_PLL3ClockOut__) CLEAR_BIT(RCC->PLLCFGR, (__RCC_PLL3ClockOut__)) + +/** + * @brief Macro to configures the PLL3 multiplication and division factors. + * @note This function must be used only when PLL3 is disabled. + * + * @param __PLL3M__: specifies the division factor for PLL3 VCO input clock + * This parameter must be a number between 1 and 63. + * @note You have to set the PLLM parameter correctly to ensure that the VCO input + * frequency ranges from 1 to 16 MHz. + * + * @param __PLL3N__: specifies the multiplication factor for PLL3 VCO output clock + * This parameter must be a number between 4 and 512. + * @note You have to set the PLL3N parameter correctly to ensure that the VCO + * output frequency is between 150 and 420 MHz (when in medium VCO range) or + * between 192 and 836 MHZ (when in wide VCO range) + * + * @param __PLL3P__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 2 and 128 (where odd numbers not allowed) + * + * @param __PLL3Q__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 1 and 128 + * + * @param __PLL3R__: specifies the division factor for peripheral kernel clocks + * This parameter must be a number between 1 and 128 + * + * @retval None + */ + +#define __HAL_RCC_PLL3_CONFIG(__PLL3M__, __PLL3N__, __PLL3P__, __PLL3Q__,__PLL3R__ ) \ + do{ MODIFY_REG(RCC->PLLCKSELR, ( RCC_PLLCKSELR_DIVM3) , ( (__PLL3M__) <<20U)); \ + WRITE_REG (RCC->PLL3DIVR , ( (((__PLL3N__) - 1U ) & RCC_PLL3DIVR_N3) | ((((__PLL3P__) -1U ) << 9U) & RCC_PLL3DIVR_P3) | \ + ((((__PLL3Q__) -1U) << 16U) & RCC_PLL3DIVR_Q3) | ((((__PLL3R__) - 1U) << 24U) & RCC_PLL3DIVR_R3))); \ + } while(0) + + + +/** + * @brief Macro to configures PLL3 clock Fractional Part of The Multiplication Factor + * + * @note These bits can be written at any time, allowing dynamic fine-tuning of the PLL3 VCO + * + * @param __RCC_PLL3FRACN__: specifies Fractional Part Of The Multiplication Factor for PLL3 VCO + * It should be a value between 0 and 8191 + * @note Warning: the software has to set correctly these bits to insure that the VCO + * output frequency is between its valid frequency range, which is: + * 192 to 836 MHz if PLL3VCOSEL = 0 + * 150 to 420 MHz if PLL3VCOSEL = 1. + * + * + * @retval None + */ + #define __HAL_RCC_PLL3FRACN_CONFIG(__RCC_PLL3FRACN__) MODIFY_REG(RCC->PLL3FRACR, RCC_PLL3FRACR_FRACN3, (uint32_t)(__RCC_PLL3FRACN__) << POSITION_VAL(RCC_PLL3FRACR_FRACN3)) + +/** @brief Macro to select the PLL3 reference frequency range. + * @param __RCC_PLL3VCIRange__: specifies the PLL1 input frequency range + * This parameter can be one of the following values: + * @arg RCC_PLL3VCIRANGE_0: Range frequency is between 1 and 2 MHz + * @arg RCC_PLL3VCIRANGE_1: Range frequency is between 2 and 4 MHz + * @arg RCC_PLL3VCIRANGE_2: Range frequency is between 4 and 8 MHz + * @arg RCC_PLL3VCIRANGE_3: Range frequency is between 8 and 16 MHz + * @retval None + */ +#define __HAL_RCC_PLL3_VCIRANGE(__RCC_PLL3VCIRange__) \ + MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL3RGE, (__RCC_PLL3VCIRange__)) + + +/** @brief Macro to select the PLL3 reference frequency range. + * @param __RCC_PLL3VCORange__: specifies the PLL1 input frequency range + * This parameter can be one of the following values: + * @arg RCC_PLL3VCOWIDE: Range frequency is between 192 and 836 MHz + * @arg RCC_PLL3VCOMEDIUM: Range frequency is between 150 and 420 MHz + * @retval None + */ +#define __HAL_RCC_PLL3_VCORANGE(__RCC_PLL3VCORange__) \ + MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLL3VCOSEL, (__RCC_PLL3VCORange__)) +/** + * @brief Macro to Configure the SAI1 clock source. + * @param __RCC_SAI1CLKSource__: defines the SAI1 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SAI1CLKSOURCE_PLL: SAI1 clock = PLL + * @arg RCC_SAI1CLKSOURCE_PLL2: SAI1 clock = PLL2 + * @arg RCC_SAI1CLKSOURCE_PLL3: SAI1 clock = PLL3 + * @arg RCC_SAI1CLKSOURCE_OSC: SAI1 clock = OSC + * @arg RCC_SAI1CLKSOURCE_PIN: SAI1 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SAI1_CONFIG(__RCC_SAI1CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI1SEL, (__RCC_SAI1CLKSource__)) + +/** @brief Macro to get the SAI1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SAI1CLKSOURCE_PLL: SAI1 clock = PLL + * @arg RCC_SAI1CLKSOURCE_PLL2: SAI1 clock = PLL2 + * @arg RCC_SAI1CLKSOURCE_PLL3: SAI1 clock = PLL3 + * @arg RCC_SAI1CLKSOURCE_CLKP: SAI1 clock = CLKP + * @arg RCC_SAI1CLKSOURCE_PIN: SAI1 clock = External Clock + */ +#define __HAL_RCC_GET_SAI1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI1SEL))) + +/** + * @brief Macro to Configure the SPDIFRX clock source. + * @param __RCC_SPDIFCLKSource__: defines the SPDIFRX clock source. This clock is derived + * from system PLL, PLL2, PLL3, or internal OSC clock + * This parameter can be one of the following values: + * @arg RCC_SPDIFRXCLKSOURCE_PLL: SPDIFRX clock = PLL + * @arg RCC_SPDIFRXCLKSOURCE_PLL2: SPDIFRX clock = PLL2 + * @arg RCC_SPDIFRXCLKSOURCE_PLL3: SPDIFRX clock = PLL3 + * @arg RCC_SPDIFRXCLKSOURCE_HSI: SPDIFRX clock = HSI + * @retval None + */ +#define __HAL_RCC_SPDIFRX_CONFIG(__RCC_SPDIFCLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPDIFSEL, (__RCC_SPDIFCLKSource__)) +/** + * @brief Macro to get the SPDIFRX clock source. + * @retval None + */ +#define __HAL_RCC_GET_SPDIFRX_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPDIFSEL))) + +/** + * @brief Macro to Configure the SAI2/3 clock source. + * @param __RCC_SAI23CLKSource__: defines the SAI2/3 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SAI23CLKSOURCE_PLL: SAI2/3 clock = PLL + * @arg RCC_SAI23CLKSOURCE_PLL2: SAI2/3 clock = PLL2 + * @arg RCC_SAI23CLKSOURCE_PLL3: SAI2/3 clock = PLL3 + * @arg RCC_SAI23CLKSOURCE_CLKP: SAI2/3 clock = CLKP + * @arg RCC_SAI23CLKSOURCE_PIN: SAI2/3 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SAI23_CONFIG(__RCC_SAI23CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL, (__RCC_SAI23CLKSource__)) + +/** @brief Macro to get the SAI2/3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SAI23CLKSOURCE_PLL: SAI2/3 clock = PLL + * @arg RCC_SAI23CLKSOURCE_PLL2: SAI2/3 clock = PLL2 + * @arg RCC_SAI23CLKSOURCE_PLL3: SAI2/3 clock = PLL3 + * @arg RCC_SAI23CLKSOURCE_CLKP: SAI2/3 clock = CLKP + * @arg RCC_SAI23CLKSOURCE_PIN: SAI2/3 clock = External Clock + */ +#define __HAL_RCC_GET_SAI23_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL))) + +/** + * @brief Macro to Configure the SAI2 clock source. + * @param __RCC_SAI2CLKSource__: defines the SAI2 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SAI2CLKSOURCE_PLL: SAI2 clock = PLL + * @arg RCC_SAI2CLKSOURCE_PLL2: SAI2 clock = PLL2 + * @arg RCC_SAI2CLKSOURCE_PLL3: SAI2 clock = PLL3 + * @arg RCC_SAI2CLKSOURCE_CLKP: SAI2 clock = CLKP + * @arg RCC_SAI2CLKSOURCE_PIN: SAI2 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SAI2_CONFIG(__RCC_SAI2CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL, (__RCC_SAI2CLKSource__)) + +/** @brief Macro to get the SAI2 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SAI2CLKSOURCE_PLL: SAI2 clock = PLL + * @arg RCC_SAI2CLKSOURCE_PLL2: SAI2 clock = PLL2 + * @arg RCC_SAI2CLKSOURCE_PLL3: SAI2 clock = PLL3 + * @arg RCC_SAI2CLKSOURCE_CLKP: SAI2 clock = CLKP + * @arg RCC_SAI2CLKSOURCE_PIN: SAI2 clock = External Clock + */ +#define __HAL_RCC_GET_SAI2_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL))) + +/** + * @brief Macro to Configure the SAI3 clock source. + * @param __RCC_SAI3CLKSource__: defines the SAI3 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SAI3CLKSOURCE_PLL: SAI3 clock = PLL + * @arg RCC_SAI3CLKSOURCE_PLL2: SAI3 clock = PLL2 + * @arg RCC_SAI3CLKSOURCE_PLL3: SAI3 clock = PLL3 + * @arg RCC_SAI3CLKSOURCE_CLKP: SAI3 clock = CLKP + * @arg RCC_SAI3CLKSOURCE_PIN: SAI3 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SAI3_CONFIG(__RCC_SAI3CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL, (__RCC_SAI3CLKSource__)) + +/** @brief Macro to get the SAI3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SAI3CLKSOURCE_PLL: SAI3 clock = PLL + * @arg RCC_SAI3CLKSOURCE_PLL2: SAI3 clock = PLL2 + * @arg RCC_SAI3CLKSOURCE_PLL3: SAI3 clock = PLL3 + * @arg RCC_SAI3CLKSOURCE_CLKP: SAI3 clock = CLKP + * @arg RCC_SAI3CLKSOURCE_PIN: SAI3 clock = External Clock + */ +#define __HAL_RCC_GET_SAI3_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SAI23SEL))) + +/** + * @brief Macro to Configure the SAI4A clock source. + * @param __RCC_SAI4ACLKSource__: defines the SAI4A clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SAI4ACLKSOURCE_PLL: SAI4A clock = PLL + * @arg RCC_SAI4ACLKSOURCE_PLL2: SAI4A clock = PLL2 + * @arg RCC_SAI4ACLKSOURCE_PLL3: SAI4A clock = PLL3 + * @arg RCC_SAI4ACLKSOURCE_CLKP: SAI4A clock = CLKP + * @arg RCC_SAI4ACLKSOURCE_PIN: SAI4A clock = External Clock + * @retval None + */ +#define __HAL_RCC_SAI4A_CONFIG(__RCC_SAI4ACLKSource__ )\ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_SAI4ASEL, (__RCC_SAI4ACLKSource__)) + +/** @brief Macro to get the SAI4A clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SAI4ACLKSOURCE_PLL: SAI4B clock = PLL + * @arg RCC_SAI4ACLKSOURCE_PLL2: SAI4B clock = PLL2 + * @arg RCC_SAI4ACLKSOURCE_PLL3: SAI4B clock = PLL3 + * @arg RCC_SAI4ACLKSOURCE_CLKP: SAI4B clock = CLKP + * @arg RCC_SAI4ACLKSOURCE_PIN: SAI4B clock = External Clock + */ +#define __HAL_RCC_GET_SAI4A_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_SAI4ASEL))) + +/** + * @brief Macro to Configure the SAI4B clock source. + * @param __RCC_SAI4BCLKSource__: defines the SAI4B clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SAI4BCLKSOURCE_PLL: SAI4B clock = PLL + * @arg RCC_SAI4BCLKSOURCE_PLL2: SAI4B clock = PLL2 + * @arg RCC_SAI4BCLKSOURCE_PLL3: SAI4B clock = PLL3 + * @arg RCC_SAI4BCLKSOURCE_CLKP: SAI4B clock = CLKP + * @arg RCC_SAI4BCLKSOURCE_PIN: SAI4B clock = External Clock + * @retval None + */ +#define __HAL_RCC_SAI4B_CONFIG(__RCC_SAI4BCLKSource__ )\ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_SAI4BSEL, (__RCC_SAI4BCLKSource__)) + +/** @brief Macro to get the SAI4B clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SAI4BCLKSOURCE_PLL: SAI4B clock = PLL + * @arg RCC_SAI4BCLKSOURCE_PLL2: SAI4B clock = PLL2 + * @arg RCC_SAI4BCLKSOURCE_PLL3: SAI4B clock = PLL3 + * @arg RCC_SAI4BCLKSOURCE_CLKP: SAI4B clock = CLKP + * @arg RCC_SAI4BCLKSOURCE_PIN: SAI4B clock = External Clock + */ +#define __HAL_RCC_GET_SAI4B_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_SAI4BSEL))) + +/** @brief macro to configure the I2C1/2/3 clock (I2C123CLK). + * + * @param __I2C123CLKSource__: specifies the I2C1/2/3 clock source. + * This parameter can be one of the following values: + * @arg RCC_I2C123CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C1/2/3 clock + * @arg RCC_I2C123CLKSOURCE_PLL3: PLL3 selected as I2C1/2/3 clock + * @arg RCC_I2C123CLKSOURCE_HSI: HSI selected as I2C1/2/3 clock + * @arg RCC_I2C123CLKSOURCE_CSI: CSI selected as I2C1/2/3 clock + */ +#define __HAL_RCC_I2C123_CONFIG(__I2C123CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL, (uint32_t)(__I2C123CLKSource__)) + +/** @brief macro to get the I2C1/2/3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_I2C123CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C1/2/3 clock + * @arg RCC_I2C123CLKSOURCE_PLL3: PLL3 selected as I2C1/2/3 clock + * @arg RCC_I2C123CLKSOURCE_HSI: HSI selected as I2C1/2/3 clock + * @arg RCC_I2C123CLKSOURCE_CSI: CSI selected as I2C1/2/3 clock + */ +#define __HAL_RCC_GET_I2C123_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL))) + +/** @brief macro to configure the I2C1 clock (I2C1CLK). + * + * @param __I2C1CLKSource__: specifies the I2C1 clock source. + * This parameter can be one of the following values: + * @arg RCC_I2C1CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C1 clock + * @arg RCC_I2C1CLKSOURCE_PLL3: PLL3 selected as I2C1 clock + * @arg RCC_I2C1CLKSOURCE_HSI: HSI selected as I2C1 clock + * @arg RCC_I2C1CLKSOURCE_CSI: CSI selected as I2C1 clock + */ +#define __HAL_RCC_I2C1_CONFIG(__I2C1CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL, (uint32_t)(__I2C1CLKSource__)) + +/** @brief macro to get the I2C1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_I2C1CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C1 clock + * @arg RCC_I2C1CLKSOURCE_PLL3: PLL3 selected as I2C1 clock + * @arg RCC_I2C1CLKSOURCE_HSI: HSI selected as I2C1 clock + * @arg RCC_I2C1CLKSOURCE_CSI: CSI selected as I2C1 clock + */ +#define __HAL_RCC_GET_I2C1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL))) + +/** @brief macro to configure the I2C2 clock (I2C2CLK). + * + * @param __I2C2CLKSource__: specifies the I2C2 clock source. + * This parameter can be one of the following values: + * @arg RCC_I2C2CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C2 clock + * @arg RCC_I2C2CLKSOURCE_PLL3: PLL3 selected as I2C2 clock + * @arg RCC_I2C2CLKSOURCE_HSI: HSI selected as I2C2 clock + * @arg RCC_I2C2CLKSOURCE_CSI: CSI selected as I2C2 clock + */ +#define __HAL_RCC_I2C2_CONFIG(__I2C2CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL, (uint32_t)(__I2C2CLKSource__)) + +/** @brief macro to get the I2C2 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_I2C2CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C2 clock + * @arg RCC_I2C2CLKSOURCE_PLL3: PLL3 selected as I2C2 clock + * @arg RCC_I2C2CLKSOURCE_HSI: HSI selected as I2C2 clock + * @arg RCC_I2C2CLKSOURCE_CSI: CSI selected as I2C2 clock + */ +#define __HAL_RCC_GET_I2C2_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL))) + +/** @brief macro to configure the I2C3 clock (I2C3CLK). + * + * @param __I2C3CLKSource__: specifies the I2C3 clock source. + * This parameter can be one of the following values: + * @arg RCC_I2C3CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C3 clock + * @arg RCC_I2C3CLKSOURCE_PLL3: PLL3 selected as I2C3 clock + * @arg RCC_I2C3CLKSOURCE_HSI: HSI selected as I2C3 clock + * @arg RCC_I2C3CLKSOURCE_CSI: CSI selected as I2C3 clock + */ +#define __HAL_RCC_I2C3_CONFIG(__I2C3CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL, (uint32_t)(__I2C3CLKSource__)) + +/** @brief macro to get the I2C3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_I2C3CLKSOURCE_D2PCLK1: D2PCLK1 selected as I2C3 clock + * @arg RCC_I2C3CLKSOURCE_PLL3: PLL3 selected as I2C3 clock + * @arg RCC_I2C3CLKSOURCE_HSI: HSI selected as I2C3 clock + * @arg RCC_I2C3CLKSOURCE_CSI: CSI selected as I2C3 clock + */ +#define __HAL_RCC_GET_I2C3_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_I2C123SEL))) + +/** @brief macro to configure the I2C4 clock (I2C4CLK). + * + * @param __I2C4CLKSource__: specifies the I2C4 clock source. + * This parameter can be one of the following values: + * @arg RCC_I2C4CLKSOURCE_D3PCLK1: D3PCLK1 selected as I2C4 clock + * @arg RCC_I2C4CLKSOURCE_PLL3: PLL3 selected as I2C4 clock + * @arg RCC_I2C4CLKSOURCE_HSI: HSI selected as I2C4 clock + * @arg RCC_I2C4CLKSOURCE_CSI: CSI selected as I2C4 clock + */ +#define __HAL_RCC_I2C4_CONFIG(__I2C4CLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_I2C4SEL, (uint32_t)(__I2C4CLKSource__)) + +/** @brief macro to get the I2C4 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_I2C4CLKSOURCE_D3PCLK1: D3PCLK1 selected as I2C4 clock + * @arg RCC_I2C4CLKSOURCE_PLL3: PLL3 selected as I2C4 clock + * @arg RCC_I2C4CLKSOURCE_HSI: HSI selected as I2C4 clock + * @arg RCC_I2C4CLKSOURCE_CSI: CSI selected as I2C4 clock + */ +#define __HAL_RCC_GET_I2C4_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_I2C4SEL))) + +/** @brief macro to configure the USART1/6 clock (USART16CLK). + * + * @param __USART16CLKSource__: specifies the USART1/6 clock source. + * This parameter can be one of the following values: + * @arg RCC_USART16CLKSOURCE_D2PCLK2: APB2 Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_PLL2: PLL2_Q Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_PLL3: PLL3_Q Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_HSI: HSI selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_CSI: CSI Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_LSE: LSE selected as USART1/6 clock + */ +#define __HAL_RCC_USART16_CONFIG(__USART16CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL, (uint32_t)(__USART16CLKSource__)) + +/** @brief macro to get the USART1/6 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_USART16CLKSOURCE_D2PCLK2: APB2 Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_PLL2: PLL2_Q Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_PLL3: PLL3_Q Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_HSI: HSI selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_CSI: CSI Clock selected as USART1/6 clock + * @arg RCC_USART16CLKSOURCE_LSE: LSE selected as USART1/6 clock + */ +#define __HAL_RCC_GET_USART16_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL))) + +/** @brief macro to configure the USART234578 clock (USART234578CLK). + * + * @param __USART234578CLKSource__: specifies the USART2/3/4/5/7/8 clock source. + * This parameter can be one of the following values: + * @arg RCC_USART234578CLKSOURCE_D2PCLK1: APB1 Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_PLL2: PLL2_Q Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_PLL3: PLL3_Q Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_HSI: HSI selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_CSI: CSI Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_LSE: LSE selected as USART2/3/4/5/7/8 clock + */ +#define __HAL_RCC_USART234578_CONFIG(__USART234578CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__USART234578CLKSource__)) + +/** @brief macro to get the USART2/3/4/5/7/8 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_USART234578CLKSOURCE_D2PCLK1: APB1 Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_PLL2: PLL2_Q Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_PLL3: PLL3_Q Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_HSI: HSI selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_CSI: CSI Clock selected as USART2/3/4/5/7/8 clock + * @arg RCC_USART234578CLKSOURCE_LSE: LSE selected as USART2/3/4/5/7/8 clock + */ +#define __HAL_RCC_GET_USART234578_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL))) + +/** @brief macro to configure the USART1 clock (USART1CLK). + * + * @param __USART1CLKSource__: specifies the USART1 clock source. + * This parameter can be one of the following values: + * @arg RCC_USART1CLKSOURCE_D2PCLK2: APB2 Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_PLL2: PLL2_Q Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_PLL3: PLL3_Q Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_HSI: HSI selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_CSI: CSI Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_LSE: LSE selected as USART1 clock + */ +#define __HAL_RCC_USART1_CONFIG(__USART1CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL, (uint32_t)(__USART1CLKSource__)) + +/** @brief macro to get the USART1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_USART1CLKSOURCE_D2PCLK2: APB2 Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_PLL2: PLL2_Q Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_PLL3: PLL3_Q Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_HSI: HSI selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_CSI: CSI Clock selected as USART1 clock + * @arg RCC_USART1CLKSOURCE_LSE: LSE selected as USART1 clock + */ +#define __HAL_RCC_GET_USART1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL))) + +/** @brief macro to configure the USART2 clock (USART2CLK). + * + * @param __USART2CLKSource__: specifies the USART2 clock source. + * This parameter can be one of the following values: + * @arg RCC_USART2CLKSOURCE_D2PCLK1: APB1 Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_PLL2: PLL2_Q Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_PLL3: PLL3_Q Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_HSI: HSI selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_CSI: CSI Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_LSE: LSE selected as USART2 clock + */ +#define __HAL_RCC_USART2_CONFIG(__USART2CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__USART2CLKSource__)) + +/** @brief macro to get the USART2 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_USART2CLKSOURCE_D2PCLK1: APB1 Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_PLL2: PLL2_Q Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_PLL3: PLL3_Q Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_HSI: HSI selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_CSI: CSI Clock selected as USART2 clock + * @arg RCC_USART2CLKSOURCE_LSE: LSE selected as USART2 clock + */ +#define __HAL_RCC_GET_USART2_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL))) + +/** @brief macro to configure the USART3 clock (USART3CLK). + * + * @param __USART3CLKSource__: specifies the USART3 clock source. + * This parameter can be one of the following values: + * @arg RCC_USART3CLKSOURCE_D2PCLK1: APB1 Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_PLL2: PLL2_Q Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_PLL3: PLL3_Q Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_HSI: HSI selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_CSI: CSI Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_LSE: LSE selected as USART3 clock + */ +#define __HAL_RCC_USART3_CONFIG(__USART3CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__USART3CLKSource__)) + +/** @brief macro to get the USART3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_USART2CLKSOURCE_D2PCLK1: APB1 Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_PLL2: PLL2_Q Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_PLL3: PLL3_Q Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_HSI: HSI selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_CSI: CSI Clock selected as USART3 clock + * @arg RCC_USART3CLKSOURCE_LSE: LSE selected as USART3 clock + */ +#define __HAL_RCC_GET_USART3_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL))) + +/** @brief macro to configure the UART4 clock (UART4CLK). + * + * @param __UART4CLKSource__: specifies the UART4 clock source. + * This parameter can be one of the following values: + * @arg RCC_UART4CLKSOURCE_D2PCLK1: APB1 Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_PLL2: PLL2_Q Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_PLL3: PLL3_Q Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_HSI: HSI selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_CSI: CSI Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_LSE: LSE selected as UART4 clock + */ +#define __HAL_RCC_UART4_CONFIG(__UART4CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__UART4CLKSource__)) + +/** @brief macro to get the UART4 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_UART4CLKSOURCE_D2PCLK1: APB1 Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_PLL2: PLL2_Q Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_PLL3: PLL3_Q Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_HSI: HSI selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_CSI: CSI Clock selected as UART4 clock + * @arg RCC_UART4CLKSOURCE_LSE: LSE selected as UART4 clock + */ +#define __HAL_RCC_GET_UART4_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL))) + +/** @brief macro to configure the UART5 clock (UART5CLK). + * + * @param __UART5CLKSource__: specifies the UART5 clock source. + * This parameter can be one of the following values: + * @arg RCC_UART5CLKSOURCE_D2PCLK1: APB1 Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_PLL2: PLL2_Q Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_PLL3: PLL3_Q Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_HSI: HSI selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_CSI: CSI Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_LSE: LSE selected as UART5 clock + */ +#define __HAL_RCC_UART5_CONFIG(__UART5CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__UART5CLKSource__)) + +/** @brief macro to get the UART5 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_UART5CLKSOURCE_D2PCLK1: APB1 Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_PLL2: PLL2_Q Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_PLL3: PLL3_Q Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_HSI: HSI selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_CSI: CSI Clock selected as UART5 clock + * @arg RCC_UART5CLKSOURCE_LSE: LSE selected as UART5 clock + */ +#define __HAL_RCC_GET_UART5_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL))) + +/** @brief macro to configure the USART6 clock (USART6CLK). + * + * @param __USART6CLKSource__: specifies the USART6 clock source. + * This parameter can be one of the following values: + * @arg RCC_USART6CLKSOURCE_D2PCLK2: APB2 Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_PLL2: PLL2_Q Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_PLL3: PLL3_Q Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_HSI: HSI selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_CSI: CSI Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_LSE: LSE selected as USART6 clock + */ +#define __HAL_RCC_USART6_CONFIG(__USART6CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL, (uint32_t)(__USART6CLKSource__)) + +/** @brief macro to get the USART6 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_USART6CLKSOURCE_D2PCLK2: APB2 Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_PLL2: PLL2_Q Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_PLL3: PLL3_Q Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_HSI: HSI selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_CSI: CSI Clock selected as USART6 clock + * @arg RCC_USART6CLKSOURCE_LSE: LSE selected as USART6 clock + */ +#define __HAL_RCC_GET_USART6_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART16SEL))) + +/** @brief macro to configure the UART5 clock (UART7CLK). + * + * @param __UART7CLKSource__: specifies the UART7 clock source. + * This parameter can be one of the following values: + * @arg RCC_UART7CLKSOURCE_D2PCLK1: APB1 Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_PLL2: PLL2_Q Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_PLL3: PLL3_Q Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_HSI: HSI selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_CSI: CSI Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_LSE: LSE selected as UART7 clock + */ +#define __HAL_RCC_UART7_CONFIG(__UART7CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__UART7CLKSource__)) + +/** @brief macro to get the UART7 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_UART7CLKSOURCE_D2PCLK1: APB1 Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_PLL2: PLL2_Q Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_PLL3: PLL3_Q Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_HSI: HSI selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_CSI: CSI Clock selected as UART7 clock + * @arg RCC_UART7CLKSOURCE_LSE: LSE selected as UART7 clock + */ +#define __HAL_RCC_GET_UART7_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL))) + +/** @brief macro to configure the UART8 clock (UART8CLK). + * + * @param __UART8CLKSource__: specifies the UART8 clock source. + * This parameter can be one of the following values: + * @arg RCC_UART8CLKSOURCE_D2PCLK1: APB1 Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_PLL2: PLL2_Q Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_PLL3: PLL3_Q Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_HSI: HSI selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_CSI: CSI Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_LSE: LSE selected as UART8 clock + */ +#define __HAL_RCC_UART8_CONFIG(__UART8CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL, (uint32_t)(__UART8CLKSource__)) + +/** @brief macro to get the UART8 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_UART8CLKSOURCE_D2PCLK1: APB1 Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_PLL2: PLL2_Q Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_PLL3: PLL3_Q Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_HSI: HSI selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_CSI: CSI Clock selected as UART8 clock + * @arg RCC_UART8CLKSOURCE_LSE: LSE selected as UART8 clock + */ +#define __HAL_RCC_GET_UART8_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USART28SEL))) + +/** @brief macro to configure the LPUART1 clock (LPUART1CLK). + * + * @param __LPUART1CLKSource__: specifies the LPUART1 clock source. + * This parameter can be one of the following values: + * @arg RCC_LPUART1CLKSOURCE_D3PCLK1: APB4 Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_PLL2: PLL2_Q Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_PLL3: PLL3_Q Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_HSI: HSI selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_CSI: CSI Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_LSE: LSE selected as LPUART1 clock + */ +#define __HAL_RCC_LPUART1_CONFIG(__LPUART1CLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPUART1SEL, (uint32_t)(__LPUART1CLKSource__)) + +/** @brief macro to get the LPUART1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPUART1CLKSOURCE_D3PCLK1: APB4 Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_PLL2: PLL2_Q Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_PLL3: PLL3_Q Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_HSI: HSI selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_CSI: CSI Clock selected as LPUART1 clock + * @arg RCC_LPUART1CLKSOURCE_LSE: LSE selected as LPUART1 clock + */ +#define __HAL_RCC_GET_LPUART1_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPUART1SEL))) + +/** @brief macro to get the LPTIM1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM1CLKSOURCE_D2PCLK1: APB1 Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_LSE: LSE selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_LSI: LSI Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_CLKP: CLKP selected as LPTIM1 clock + */ +#define __HAL_RCC_LPTIM1_CONFIG(__LPTIM1CLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_LPTIM1SEL, (uint32_t)(__LPTIM1CLKSource__)) + + +/** @brief macro to get the LPTIM1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM1CLKSOURCE_D2PCLK1: APB1 Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_LSE: LSE selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_LSI: LSI Clock selected as LPTIM1 clock + * @arg RCC_LPTIM1CLKSOURCE_CLKP: CLKP selected as LPTIM1 clock + */ +#define __HAL_RCC_GET_LPTIM1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_LPTIM1SEL))) + +/** @brief macro to get the LPTIM2 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM2CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_LSE: LSE selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_LSI: LSI Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_CLKP: CLKP selected as LPTIM2 clock + */ +#define __HAL_RCC_LPTIM2_CONFIG(__LPTIM2CLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM2SEL, (uint32_t)(__LPTIM2CLKSource__)) + + +/** @brief macro to get the LPTIM2 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM2CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_LSE: LSE selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_LSI: LSI Clock selected as LPTIM2 clock + * @arg RCC_LPTIM2CLKSOURCE_CLKP: CLKP selected as LPTIM2 clock + */ +#define __HAL_RCC_GET_LPTIM2_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM2SEL))) + +/** @brief macro to get the LPTIM3/4/5 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM345CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_LSE: LSE selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_LSI: LSI Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_CLKP: CLKP selected as LPTIM3/4/5 clock + */ +#define __HAL_RCC_LPTIM345_CONFIG(__LPTIM345CLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL, (uint32_t)(__LPTIM345CLKSource__)) + + +/** @brief macro to get the LPTIM3/4/5 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM345CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_LSE: LSE selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_LSI: LSI Clock selected as LPTIM3/4/5 clock + * @arg RCC_LPTIM345CLKSOURCE_CLKP: CLKP selected as LPTIM3/4/5 clock + */ +#define __HAL_RCC_GET_LPTIM345_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL))) + +/** @brief macro to get the LPTIM3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM3CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_LSE: LSE selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_LSI: LSI Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_CLKP: CLKP selected as LPTIM3 clock + */ +#define __HAL_RCC_LPTIM3_CONFIG(__LPTIM3CLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL, (uint32_t)(__LPTIM3CLKSource__)) + + +/** @brief macro to get the LPTIM3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM3CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_LSE: LSE selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_LSI: LSI Clock selected as LPTIM3 clock + * @arg RCC_LPTIM3CLKSOURCE_CLKP: CLKP selected as LPTIM3 clock + */ +#define __HAL_RCC_GET_LPTIM3_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL))) + +/** @brief macro to get the LPTIM4 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM4CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_LSE: LSE selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_LSI: LSI Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_CLKP: CLKP selected as LPTIM4 clock + */ +#define __HAL_RCC_LPTIM4_CONFIG(__LPTIM4CLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL, (uint32_t)(__LPTIM4CLKSource__)) + + +/** @brief macro to get the LPTIM4 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM4CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_LSE: LSE selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_LSI: LSI Clock selected as LPTIM4 clock + * @arg RCC_LPTIM4CLKSOURCE_CLKP: CLKP selected as LPTIM4 clock + */ +#define __HAL_RCC_GET_LPTIM4_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL))) + +/** @brief macro to configure the LPTIM5 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM5CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_LSE: LSE selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_LSI: LSI Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_CLKP: CLKP selected as LPTIM5 clock + */ +#define __HAL_RCC_LPTIM5_CONFIG(__LPTIM5CLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL, (uint32_t)(__LPTIM5CLKSource__)) + + +/** @brief macro to get the LPTIM5 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_LPTIM5CLKSOURCE_D3PCLK1: APB4 Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_PLL2: PLL2_P Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_PLL3: PLL3_R Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_LSE: LSE selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_LSI: LSI Clock selected as LPTIM5 clock + * @arg RCC_LPTIM5CLKSOURCE_CLKP: CLKP selected as LPTIM5 clock + */ +#define __HAL_RCC_GET_LPTIM5_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_LPTIM345SEL))) + +/** @brief macro to configure the QSPI clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_RCC_QSPICLKSOURCE_D1HCLK: Domain1 HCLK Clock selected as QSPI clock + * @arg RCC_RCC_QSPICLKSOURCE_PLL : PLL1_Q Clock selected as QSPI clock + * @arg RCC_RCC_QSPICLKSOURCE_PLL2 : PLL2_R Clock selected as QSPI clock + * @arg RCC_RCC_QSPICLKSOURCE_CLKP CLKP selected as QSPI clock + */ +#define __HAL_RCC_QSPI_CONFIG(__QSPICLKSource__) \ + MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_QSPISEL, (uint32_t)(__QSPICLKSource__)) + + +/** @brief macro to get the QSPI clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_RCC_QSPICLKSOURCE_D1HCLK: Domain1 HCLK Clock selected as QSPI clock + * @arg RCC_RCC_QSPICLKSOURCE_PLL : PLL1_Q Clock selected as QSPI clock + * @arg RCC_RCC_QSPICLKSOURCE_PLL2 : PLL2_R Clock selected as QSPI clock + * @arg RCC_RCC_QSPICLKSOURCE_CLKP CLKP selected as QSPI clock + */ +#define __HAL_RCC_GET_QSPI_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_QSPISEL))) + + +/** @brief macro to configure the FMC clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_RCC_FMCCLKSOURCE_D1HCLK: Domain1 HCLK Clock selected as FMC clock + * @arg RCC_RCC_FMCCLKSOURCE_PLL : PLL1_Q Clock selected as FMC clock + * @arg RCC_RCC_FMCCLKSOURCE_PLL2 : PLL2_R Clock selected as FMC clock + * @arg RCC_RCC_FMCCLKSOURCE_CLKP CLKP selected as FMC clock + */ +#define __HAL_RCC_FMC_CONFIG(__FMCCLKSource__) \ + MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_FMCSEL, (uint32_t)(__FMCCLKSource__)) + + +/** @brief macro to get the FMC clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_RCC_FMCCLKSOURCE_D1HCLK: Domain1 HCLK Clock selected as FMC clock + * @arg RCC_RCC_FMCCLKSOURCE_PLL : PLL1_Q Clock selected as FMC clock + * @arg RCC_RCC_FMCCLKSOURCE_PLL2 : PLL2_R Clock selected as FMC clock + * @arg RCC_RCC_FMCCLKSOURCE_CLKP CLKP selected as FMC clock + */ +#define __HAL_RCC_GET_FMC_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_FMCSEL))) + +/** @brief Macro to configure the USB clock (USBCLK). + * @param __USBCLKSource__: specifies the USB clock source. + * This parameter can be one of the following values: + * @arg RCC_USBCLKSOURCE_PLL: PLL1Q selected as USB clock + * @arg RCC_USBCLKSOURCE_PLL3: PLL3Q Clock selected as USB clock + * @arg RCC_USBCLKSOURCE_HSI48: RC48 MHZ Clock selected as USB clock + */ +#define __HAL_RCC_USB_CONFIG(__USBCLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_USBSEL, (uint32_t)(__USBCLKSource__)) + +/** @brief Macro to get the USB clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_USBCLKSOURCE_PLL: PLL1Q selected as USB clock + * @arg RCC_USBCLKSOURCE_PLL3: PLL3Q Clock selected as USB clock + * @arg RCC_USBCLKSOURCE_HSI48: RC48 MHZ Clock selected as USB clock + */ +#define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_USBSEL))) + + +/** @brief Macro to configure the ADC clock + * @param __ADCCLKSource__: specifies the ADC digital interface clock source. + * This parameter can be one of the following values: + * @arg RCC_ADCCLKSOURCE_PLL2: PLL2_P Clock selected as ADC clock + * @arg RCC_ADCCLKSOURCE_PLL3: PLL3_R Clock selected as ADC clock + * @arg RCC_ADCCLKSOURCE_CLKP: CLKP Clock selected as ADC clock + */ +#define __HAL_RCC_ADC_CONFIG(__ADCCLKSource__) \ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_ADCSEL, (uint32_t)(__ADCCLKSource__)) + +/** @brief Macro to get the ADC clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_ADCCLKSOURCE_PLL2: PLL2_P Clock selected as ADC clock + * @arg RCC_ADCCLKSOURCE_PLL3: PLL3_R Clock selected as ADC clock + * @arg RCC_ADCCLKSOURCE_CLKP: CLKP Clock selected as ADC clock + */ +#define __HAL_RCC_GET_ADC_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_ADCSEL))) + + /** @brief Macro to configure the SWPMI1 clock + * @param __SWPMI1CLKSource__: specifies the SWPMI1 clock source. + * This parameter can be one of the following values: + * @arg RCC_SWPMI1CLKSOURCE_D2PCLK1: D2PCLK1 Clock selected as SWPMI1 clock + * @arg RCC_SWPMI1CLKSOURCE_HSI: HSI Clock selected as SWPMI1 clock + */ +#define __HAL_RCC_SWPMI1_CONFIG(__SWPMI1CLKSource__) \ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SWPSEL, (uint32_t)(__SWPMI1CLKSource__)) + +/** @brief Macro to get the SWPMI1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SWPMI1CLKSOURCE_D2PCLK1: D2PCLK1 Clock selected as SWPMI1 clock + * @arg RCC_SWPMI1CLKSOURCE_HSI: HSI Clock selected as SWPMI1 clock + */ +#define __HAL_RCC_GET_SWPMI1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SWPSEL))) + + /** @brief Macro to configure the DFSDM1 clock + * @param __DFSDM1CLKSource__: specifies the DFSDM1 clock source. + * This parameter can be one of the following values: + * @arg RCC_DFSDM1CLKSOURCE_D2PCLK: D2PCLK Clock selected as DFSDM1 clock + * @arg RCC_DFSDM1CLKSOURCE_SYS: System Clock selected as DFSDM1 clock + */ +#define __HAL_RCC_DFSDM1_CONFIG(__DFSDM1CLKSource__) \ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_DFSDM1SEL, (uint32_t)(__DFSDM1CLKSource__)) + +/** @brief Macro to get the DFSDM1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_DFSDM1CLKSOURCE_D2PCLK: D2PCLK Clock selected as DFSDM1 clock + * @arg RCC_DFSDM1CLKSOURCE_SYS: System Clock selected as DFSDM1 clock + */ +#define __HAL_RCC_GET_DFSDM1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_DFSDM1SEL))) + +/** @brief macro to configure the CEC clock (CECCLK). + * + * @param __CECCLKSource__: specifies the CEC clock source. + * This parameter can be one of the following values: + * @arg RCC_CECCLKSOURCE_LSE: LSE selected as CEC clock + * @arg RCC_CECCLKSOURCE_LSI: LSI selected as CEC clock + * @arg RCC_CECCLKSOURCE_CSI: CSI Clock selected as CEC clock + */ +#define __HAL_RCC_CEC_CONFIG(__CECCLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_CECSEL, (uint32_t)(__CECCLKSource__)) + +/** @brief macro to get the CEC clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_CECCLKSOURCE_LSE: LSE selected as CEC clock + * @arg RCC_CECCLKSOURCE_LSI: LSI selected as CEC clock + * @arg RCC_CECCLKSOURCE_CSI: CSI Clock selected as CEC clock + */ +#define __HAL_RCC_GET_CEC_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_CECSEL))) + + +/** @brief Macro to configure the CLKP : Oscillator clock for peripheral + * @param __CLKPSource__: specifies Oscillator clock for peripheral + * This parameter can be one of the following values: + * @arg RCC_CLKPSOURCE_HSI: HSI selected Oscillator clock for peripheral + * @arg RCC_CLKPSOURCE_CSI: CSI selected Oscillator clock for peripheral + * @arg RCC_CLKPSOURCE_HSE: HSE selected Oscillator clock for peripheral + */ +#define __HAL_RCC_CLKP_CONFIG(__CLKPSource__) \ + MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_CKPERSEL, (uint32_t)(__CLKPSource__)) + +/** @brief Macro to get the Oscillator clock for peripheral source. + * @retval The clock source can be one of the following values: + * @arg RCC_CLKPSOURCE_HSI: HSI selected Oscillator clock for peripheral + * @arg RCC_CLKPSOURCE_CSI: CSI selected Oscillator clock for peripheral + * @arg RCC_CLKPSOURCE_HSE: HSE selected Oscillator clock for peripheral + */ +#define __HAL_RCC_GET_CLKP_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_CKPERSEL))) + +#if defined(FDCAN1) || defined(FDCAN2) +/** @brief Macro to configure the FDCAN clock + * @param __FDCANCLKSource__: specifies clock source for FDCAN + * This parameter can be one of the following values: + * @arg RCC_FDCANCLKSOURCE_HSE: HSE selected as FDCAN clock + * @arg RCC_FDCANCLKSOURCE_PLL: PLL selected as FDCAN clock + * @arg RCC_FDCANCLKSOURCE_PLL2: PLL2 selected as FDCAN clock + */ +#define __HAL_RCC_FDCAN_CONFIG(__FDCANCLKSource__) \ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_FDCANSEL, (uint32_t)(__FDCANCLKSource__)) + +/** @brief Macro to get the FDCAN clock + * @retval The clock source can be one of the following values: + * @arg RCC_FDCANCLKSOURCE_HSE: HSE selected as FDCAN clock + * @arg RCC_FDCANCLKSOURCE_PLL: PLL selected as FDCAN clock + * @arg RCC_FDCANCLKSOURCE_PLL2: PLL2 selected as FDCAN clock + */ +#define __HAL_RCC_GET_FDCAN_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_FDCANSEL))) +#endif /*FDCAN1 || FDCAN2*/ +/** + * @brief Macro to Configure the SPI1/2/3 clock source. + * @param __RCC_SPI123CLKSource__: defines the SPI1/2/3 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SPI123CLKSOURCE_PLL: SPI1/2/3 clock = PLL + * @arg RCC_SPI123CLKSOURCE_PLL2: SPI1/2/3 clock = PLL2 + * @arg RCC_SPI123CLKSOURCE_PLL3: SPI1/2/3 clock = PLL3 + * @arg RCC_SPI123CLKSOURCE_CLKP: SPI1/2/3 clock = CLKP + * @arg RCC_SPI123CLKSOURCE_PIN: SPI1/2/3 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SPI123_CONFIG(__RCC_SPI123CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL, (__RCC_SPI123CLKSource__)) + +/** @brief Macro to get the SPI1/2/3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI123CLKSOURCE_PLL: SPI1/2/3 clock = PLL + * @arg RCC_SPI123CLKSOURCE_PLL2: SPI1/2/3 clock = PLL2 + * @arg RCC_SPI123CLKSOURCE_PLL3: SPI1/2/3 clock = PLL3 + * @arg RCC_SPI123CLKSOURCE_CLKP: SPI1/2/3 clock = CLKP + * @arg RCC_SPI123CLKSOURCE_PIN: SPI1/2/3 clock = External Clock + */ +#define __HAL_RCC_GET_SPI123_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL))) + +/** + * @brief Macro to Configure the SPI1 clock source. + * @param __RCC_SPI1CLKSource__: defines the SPI1 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SPI1CLKSOURCE_PLL: SPI1 clock = PLL + * @arg RCC_SPI1CLKSOURCE_PLL2: SPI1 clock = PLL2 + * @arg RCC_SPI1CLKSOURCE_PLL3: SPI1 clock = PLL3 + * @arg RCC_SPI1CLKSOURCE_CLKP: SPI1 clock = CLKP + * @arg RCC_SPI1CLKSOURCE_PIN: SPI1 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SPI1_CONFIG(__RCC_SPI1CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL, (__RCC_SPI1CLKSource__)) + +/** @brief Macro to get the SPI1 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI1CLKSOURCE_PLL: SPI1 clock = PLL + * @arg RCC_SPI1CLKSOURCE_PLL2: SPI1 clock = PLL2 + * @arg RCC_SPI1CLKSOURCE_PLL3: SPI1 clock = PLL3 + * @arg RCC_SPI1CLKSOURCE_CLKP: SPI1 clock = CLKP + * @arg RCC_SPI1CLKSOURCE_PIN: SPI1 clock = External Clock + */ +#define __HAL_RCC_GET_SPI1_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL))) + +/** + * @brief Macro to Configure the SPI2 clock source. + * @param __RCC_SPI2CLKSource__: defines the SPI2 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SPI2CLKSOURCE_PLL: SPI2 clock = PLL + * @arg RCC_SPI2CLKSOURCE_PLL2: SPI2 clock = PLL2 + * @arg RCC_SPI2CLKSOURCE_PLL3: SPI2 clock = PLL3 + * @arg RCC_SPI2CLKSOURCE_CLKP: SPI2 clock = CLKP + * @arg RCC_SPI2CLKSOURCE_PIN: SPI2 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SPI2_CONFIG(__RCC_SPI2CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL, (__RCC_SPI2CLKSource__)) + +/** @brief Macro to get the SPI2 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI2CLKSOURCE_PLL: SPI2 clock = PLL + * @arg RCC_SPI2CLKSOURCE_PLL2: SPI2 clock = PLL2 + * @arg RCC_SPI2CLKSOURCE_PLL3: SPI2 clock = PLL3 + * @arg RCC_SPI2CLKSOURCE_CLKP: SPI2 clock = CLKP + * @arg RCC_SPI2CLKSOURCE_PIN: SPI2 clock = External Clock + */ +#define __HAL_RCC_GET_SPI2_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL))) + +/** + * @brief Macro to Configure the SPI3 clock source. + * @param __RCC_SPI3CLKSource__: defines the SPI3 clock source. This clock is derived + * from system PLL, PLL2, PLL3, OSC or external clock (through a dedicated PIN) + * This parameter can be one of the following values: + * @arg RCC_SPI3CLKSOURCE_PLL: SPI3 clock = PLL + * @arg RCC_SPI3CLKSOURCE_PLL2: SPI3 clock = PLL2 + * @arg RCC_SPI3CLKSOURCE_PLL3: SPI3 clock = PLL3 + * @arg RCC_SPI3CLKSOURCE_CLKP: SPI3 clock = CLKP + * @arg RCC_SPI3CLKSOURCE_PIN: SPI3 clock = External Clock + * @retval None + */ +#define __HAL_RCC_SPI3_CONFIG(__RCC_SPI3CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL, (__RCC_SPI3CLKSource__)) + +/** @brief Macro to get the SPI3 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI3CLKSOURCE_PLL: SPI3 clock = PLL + * @arg RCC_SPI3CLKSOURCE_PLL2: SPI3 clock = PLL2 + * @arg RCC_SPI3CLKSOURCE_PLL3: SPI3 clock = PLL3 + * @arg RCC_SPI3CLKSOURCE_CLKP: SPI3 clock = CLKP + * @arg RCC_SPI3CLKSOURCE_PIN: SPI3 clock = External Clock + */ +#define __HAL_RCC_GET_SPI3_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI123SEL))) + +/** + * @brief Macro to Configure the SPI4/5 clock source. + * @param __RCC_SPI45CLKSource__: defines the SPI4/5 clock source. This clock is derived + * from system PCLK, PLL2, PLL3, OSC + * This parameter can be one of the following values: + * @arg RCC_SPI45CLKSOURCE_D2PCLK1:SPI4/5 clock = D2PCLK1 + * @arg RCC_SPI45CLKSOURCE_PLL2: SPI4/5 clock = PLL2 + * @arg RCC_SPI45CLKSOURCE_PLL3: SPI4/5 clock = PLL3 + * @arg RCC_SPI45CLKSOURCE_HSI: SPI4/5 clock = HSI + * @arg RCC_SPI45CLKSOURCE_CSI: SPI4/5 clock = CSI + * @arg RCC_SPI45CLKSOURCE_HSE: SPI4/5 clock = HSE + * @retval None + */ +#define __HAL_RCC_SPI45_CONFIG(__RCC_SPI45CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL, (__RCC_SPI45CLKSource__)) + +/** @brief Macro to get the SPI4/5 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI45CLKSOURCE_D2PCLK1:SPI4/5 clock = D2PCLK1 + * @arg RCC_SPI45CLKSOURCE_PLL2: SPI4/5 clock = PLL2 + * @arg RCC_SPI45CLKSOURCE_PLL3: SPI4/5 clock = PLL3 + * @arg RCC_SPI45CLKSOURCE_HSI: SPI4/5 clock = HSI + * @arg RCC_SPI45CLKSOURCE_CSI: SPI4/5 clock = CSI + * @arg RCC_SPI45CLKSOURCE_HSE: SPI4/5 clock = HSE +*/ +#define __HAL_RCC_GET_SPI45_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL))) + +/** + * @brief Macro to Configure the SPI4 clock source. + * @param __RCC_SPI4CLKSource__: defines the SPI4 clock source. This clock is derived + * from system PCLK, PLL2, PLL3, OSC + * This parameter can be one of the following values: + * @arg RCC_SPI4CLKSOURCE_D2PCLK1:SPI4 clock = D2PCLK1 + * @arg RCC_SPI4CLKSOURCE_PLL2: SPI4 clock = PLL2 + * @arg RCC_SPI4CLKSOURCE_PLL3: SPI4 clock = PLL3 + * @arg RCC_SPI4CLKSOURCE_HSI: SPI4 clock = HSI + * @arg RCC_SPI4CLKSOURCE_CSI: SPI4 clock = CSI + * @arg RCC_SPI4CLKSOURCE_HSE: SPI4 clock = HSE + * @retval None + */ +#define __HAL_RCC_SPI4_CONFIG(__RCC_SPI4CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL, (__RCC_SPI4CLKSource__)) + +/** @brief Macro to get the SPI4 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI4CLKSOURCE_D2PCLK1:SPI4 clock = D2PCLK1 + * @arg RCC_SPI4CLKSOURCE_PLL2: SPI4 clock = PLL2 + * @arg RCC_SPI4CLKSOURCE_PLL3: SPI4 clock = PLL3 + * @arg RCC_SPI4CLKSOURCE_HSI: SPI4 clock = HSI + * @arg RCC_SPI4CLKSOURCE_CSI: SPI4 clock = CSI + * @arg RCC_SPI4CLKSOURCE_HSE: SPI4 clock = HSE +*/ +#define __HAL_RCC_GET_SPI4_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL))) + +/** + * @brief Macro to Configure the SPI5 clock source. + * @param __RCC_SPI5CLKSource__: defines the SPI5 clock source. This clock is derived + * from system PCLK, PLL2, PLL3, OSC + * This parameter can be one of the following values: + * @arg RCC_SPI5CLKSOURCE_D2PCLK1:SPI5 clock = D2PCLK1 + * @arg RCC_SPI5CLKSOURCE_PLL2: SPI5 clock = PLL2 + * @arg RCC_SPI5CLKSOURCE_PLL3: SPI5 clock = PLL3 + * @arg RCC_SPI5CLKSOURCE_HSI: SPI5 clock = HSI + * @arg RCC_SPI5CLKSOURCE_CSI: SPI5 clock = CSI + * @arg RCC_SPI5CLKSOURCE_HSE: SPI5 clock = HSE + * @retval None + */ +#define __HAL_RCC_SPI5_CONFIG(__RCC_SPI5CLKSource__ )\ + MODIFY_REG(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL, (__RCC_SPI5CLKSource__)) + +/** @brief Macro to get the SPI5 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI5CLKSOURCE_D2PCLK1:SPI5 clock = D2PCLK1 + * @arg RCC_SPI5CLKSOURCE_PLL2: SPI5 clock = PLL2 + * @arg RCC_SPI5CLKSOURCE_PLL3: SPI5 clock = PLL3 + * @arg RCC_SPI5CLKSOURCE_HSI: SPI5 clock = HSI + * @arg RCC_SPI5CLKSOURCE_CSI: SPI5 clock = CSI + * @arg RCC_SPI5CLKSOURCE_HSE: SPI5 clock = HSE +*/ +#define __HAL_RCC_GET_SPI5_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP1R, RCC_D2CCIP1R_SPI45SEL))) + +/** + * @brief Macro to Configure the SPI6 clock source. + * @param __RCC_SPI6CLKSource__: defines the SPI6 clock source. This clock is derived + * from system PCLK, PLL2, PLL3, OSC + * This parameter can be one of the following values: + * @arg RCC_SPI6CLKSOURCE_D3PCLK1:SPI6 clock = D2PCLK1 + * @arg RCC_SPI6CLKSOURCE_PLL2: SPI6 clock = PLL2 + * @arg RCC_SPI6CLKSOURCE_PLL3: SPI6 clock = PLL3 + * @arg RCC_SPI6CLKSOURCE_HSI: SPI6 clock = HSI + * @arg RCC_SPI6CLKSOURCE_CSI: SPI6 clock = CSI + * @arg RCC_SPI6CLKSOURCE_HSE: SPI6 clock = HSE + * @retval None + */ +#define __HAL_RCC_SPI6_CONFIG(__RCC_SPI6CLKSource__ )\ + MODIFY_REG(RCC->D3CCIPR, RCC_D3CCIPR_SPI6SEL, (__RCC_SPI6CLKSource__)) + +/** @brief Macro to get the SPI6 clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_SPI6CLKSOURCE_D3PCLK1:SPI6 clock = D2PCLK1 + * @arg RCC_SPI6CLKSOURCE_PLL2: SPI6 clock = PLL2 + * @arg RCC_SPI6CLKSOURCE_PLL3: SPI6 clock = PLL3 + * @arg RCC_SPI6CLKSOURCE_HSI: SPI6 clock = HSI + * @arg RCC_SPI6CLKSOURCE_CSI: SPI6 clock = CSI + * @arg RCC_SPI6CLKSOURCE_HSE: SPI6 clock = HSE +*/ +#define __HAL_RCC_GET_SPI6_SOURCE() ((uint32_t)(READ_BIT(RCC->D3CCIPR, RCC_D3CCIPR_SPI6SEL))) + +/** @brief Macro to configure the SDMMC clock + * @param __SDMMCCLKSource__: specifies clock source for SDMMC + * This parameter can be one of the following values: + * @arg RCC_SDMMCCLKSOURCE_PLL: PLLQ selected as SDMMC clock + * @arg RCC_SDMMCCLKSOURCE_PLL2: PLL2R selected as SDMMC clock + */ +#define __HAL_RCC_SDMMC_CONFIG(__SDMMCCLKSource__) \ + MODIFY_REG(RCC->D1CCIPR, RCC_D1CCIPR_SDMMCSEL, (uint32_t)(__SDMMCCLKSource__)) + +/** @brief Macro to get the SDMMC clock + */ +#define __HAL_RCC_GET_SDMMC_SOURCE() ((uint32_t)(READ_BIT(RCC->D1CCIPR, RCC_D1CCIPR_SDMMCSEL))) + +/** @brief macro to configure the RNG clock (RNGCLK). + * + * @param __RNGCLKSource__: specifies the RNG clock source. + * This parameter can be one of the following values: + * @arg RCC_RNGCLKSOURCE_HSI48: HSI48 selected as RNG clock + * @arg RCC_RNGCLKSOURCE_PLL: PLL1Q selected as RNG clock + * @arg RCC_RNGCLKSOURCE_LSE: LSE selected as RNG clock + * @arg RCC_RNGCLKSOURCE_LSI: LSI selected as RNG clock + */ +#define __HAL_RCC_RNG_CONFIG(__RNGCLKSource__) \ + MODIFY_REG(RCC->D2CCIP2R, RCC_D2CCIP2R_RNGSEL, (uint32_t)(__RNGCLKSource__)) + +/** @brief macro to get the RNG clock source. + * @retval The clock source can be one of the following values: + * @arg RCC_RNGCLKSOURCE_HSI48: HSI48 selected as RNG clock + * @arg RCC_RNGCLKSOURCE_PLL: PLL1Q selected as RNG clock + * @arg RCC_RNGCLKSOURCE_LSE: LSE selected as RNG clock + * @arg RCC_RNGCLKSOURCE_LSI: LSI selected as RNG clock + */ +#define __HAL_RCC_GET_RNG_SOURCE() ((uint32_t)(READ_BIT(RCC->D2CCIP2R, RCC_D2CCIP2R_RNGSEL))) + + +/** @defgroup RCCEx_HRTIMx_Clock_Config RCC Extended HRTIMx Clock Config + * @{ + */ +/** @brief Macro to configure the HRTIM1 prescaler clock source. + * @param __HRTIM1CLKSource__ specifies the HRTIM1 prescaler clock source. + * This parameter can be one of the following values: + * @arg @ref RCC_HRTIM1CLK_TIMCLK Timers clock selected as HRTIM1 prescaler clock + * @arg @ref RCC_HRTIM1CLK_CPUCLK CPU Clock selected as HRTIM1 clock + */ +#define __HAL_RCC_HRTIM1_CONFIG(__HRTIM1CLKSource__) \ + MODIFY_REG(RCC->CFGR, RCC_CFGR_HRTIMSEL, (uint32_t)(__HRTIM1CLKSource__)) + +/** @brief Macro to get the HRTIM1 clock source. + * @retval The clock source can be one of the following values: + * @arg @ref RCC_HRTIM1CLK_TIMCLK Timers clock selected as HRTIM1 prescaler clock + * @arg @ref RCC_HRTIM1CLK_CPUCLK CPU Clock selected as HRTIM1 clock + */ +#define __HAL_RCC_GET_HRTIM1_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_HRTIMSEL))) + +/** @brief Macro to configure the Timers clocks prescalers + * @param __PRESC__ : specifies the Timers clocks prescalers selection + * This parameter can be one of the following values: + * @arg RCC_TIMPRES_DESACTIVATED: The Timers kernels clocks prescaler is + * equal to rcc_hclk1 if D2PPREx is corresponding to division by 1 or 2, + * else it is equal to 2 x Frcc_pclkx_d2 (default after reset) + * @arg RCC_TIMPRES_ACTIVATED: The Timers kernels clocks prescaler is + * equal to rcc_hclk1 if D2PPREx is corresponding to division by 1, 2 or 4, + * else it is equal to 4 x Frcc_pclkx_d2 + */ +#define __HAL_RCC_TIMCLKPRESCALER(__PRESC__) do {RCC->CFGR &= ~(RCC_CFGR_TIMPRE);\ + RCC->CFGR |= (__PRESC__); \ + }while(0) + +/** + * @} + */ +/** + * @brief Enable the specified CRS interrupts. + * @param __INTERRUPT__ specifies the CRS interrupt sources to be enabled. + * This parameter can be any combination of the following values: + * @arg @ref RCC_CRS_IT_SYNCOK SYNC event OK interrupt + * @arg @ref RCC_CRS_IT_SYNCWARN SYNC warning interrupt + * @arg @ref RCC_CRS_IT_ERR Synchronization or trimming error interrupt + * @arg @ref RCC_CRS_IT_ESYNC Expected SYNC interrupt + * @retval None + */ +#define __HAL_RCC_CRS_ENABLE_IT(__INTERRUPT__) SET_BIT(CRS->CR, (__INTERRUPT__)) + +/** + * @brief Disable the specified CRS interrupts. + * @param __INTERRUPT__ specifies the CRS interrupt sources to be disabled. + * This parameter can be any combination of the following values: + * @arg @ref RCC_CRS_IT_SYNCOK SYNC event OK interrupt + * @arg @ref RCC_CRS_IT_SYNCWARN SYNC warning interrupt + * @arg @ref RCC_CRS_IT_ERR Synchronization or trimming error interrupt + * @arg @ref RCC_CRS_IT_ESYNC Expected SYNC interrupt + * @retval None + */ +#define __HAL_RCC_CRS_DISABLE_IT(__INTERRUPT__) CLEAR_BIT(CRS->CR, (__INTERRUPT__)) + +/** @brief Check whether the CRS interrupt has occurred or not. + * @param __INTERRUPT__ specifies the CRS interrupt source to check. + * This parameter can be one of the following values: + * @arg @ref RCC_CRS_IT_SYNCOK SYNC event OK interrupt + * @arg @ref RCC_CRS_IT_SYNCWARN SYNC warning interrupt + * @arg @ref RCC_CRS_IT_ERR Synchronization or trimming error interrupt + * @arg @ref RCC_CRS_IT_ESYNC Expected SYNC interrupt + * @retval The new state of __INTERRUPT__ (SET or RESET). + */ +#define __HAL_RCC_CRS_GET_IT_SOURCE(__INTERRUPT__) ((READ_BIT(CRS->CR, (__INTERRUPT__)) != RESET) ? SET : RESET) + +/** @brief Clear the CRS interrupt pending bits + * @param __INTERRUPT__ specifies the interrupt pending bit to clear. + * This parameter can be any combination of the following values: + * @arg @ref RCC_CRS_IT_SYNCOK SYNC event OK interrupt + * @arg @ref RCC_CRS_IT_SYNCWARN SYNC warning interrupt + * @arg @ref RCC_CRS_IT_ERR Synchronization or trimming error interrupt + * @arg @ref RCC_CRS_IT_ESYNC Expected SYNC interrupt + * @arg @ref RCC_CRS_IT_TRIMOVF Trimming overflow or underflow interrupt + * @arg @ref RCC_CRS_IT_SYNCERR SYNC error interrupt + * @arg @ref RCC_CRS_IT_SYNCMISS SYNC missed interrupt + */ +/* CRS IT Error Mask */ +#define RCC_CRS_IT_ERROR_MASK ((uint32_t)(RCC_CRS_IT_TRIMOVF | RCC_CRS_IT_SYNCERR | RCC_CRS_IT_SYNCMISS)) + +#define __HAL_RCC_CRS_CLEAR_IT(__INTERRUPT__) do { \ + if(((__INTERRUPT__) & RCC_CRS_IT_ERROR_MASK) != RESET) \ + { \ + WRITE_REG(CRS->ICR, CRS_ICR_ERRC | ((__INTERRUPT__) & ~RCC_CRS_IT_ERROR_MASK)); \ + } \ + else \ + { \ + WRITE_REG(CRS->ICR, (__INTERRUPT__)); \ + } \ + } while(0) + +/** + * @brief Check whether the specified CRS flag is set or not. + * @param __FLAG__ specifies the flag to check. + * This parameter can be one of the following values: + * @arg @ref RCC_CRS_FLAG_SYNCOK SYNC event OK + * @arg @ref RCC_CRS_FLAG_SYNCWARN SYNC warning + * @arg @ref RCC_CRS_FLAG_ERR Error + * @arg @ref RCC_CRS_FLAG_ESYNC Expected SYNC + * @arg @ref RCC_CRS_FLAG_TRIMOVF Trimming overflow or underflow + * @arg @ref RCC_CRS_FLAG_SYNCERR SYNC error + * @arg @ref RCC_CRS_FLAG_SYNCMISS SYNC missed + * @retval The new state of _FLAG_ (TRUE or FALSE). + */ +#define __HAL_RCC_CRS_GET_FLAG(__FLAG__) (READ_BIT(CRS->ISR, (__FLAG__)) == (__FLAG__)) + +/** + * @brief Clear the CRS specified FLAG. + * @param __FLAG__ specifies the flag to clear. + * This parameter can be one of the following values: + * @arg @ref RCC_CRS_FLAG_SYNCOK SYNC event OK + * @arg @ref RCC_CRS_FLAG_SYNCWARN SYNC warning + * @arg @ref RCC_CRS_FLAG_ERR Error + * @arg @ref RCC_CRS_FLAG_ESYNC Expected SYNC + * @arg @ref RCC_CRS_FLAG_TRIMOVF Trimming overflow or underflow + * @arg @ref RCC_CRS_FLAG_SYNCERR SYNC error + * @arg @ref RCC_CRS_FLAG_SYNCMISS SYNC missed + * @note RCC_CRS_FLAG_ERR clears RCC_CRS_FLAG_TRIMOVF, RCC_CRS_FLAG_SYNCERR, RCC_CRS_FLAG_SYNCMISS and consequently RCC_CRS_FLAG_ERR + * @retval None + */ + +/* CRS Flag Error Mask */ +#define RCC_CRS_FLAG_ERROR_MASK ((uint32_t)(RCC_CRS_FLAG_TRIMOVF | RCC_CRS_FLAG_SYNCERR | RCC_CRS_FLAG_SYNCMISS)) + +#define __HAL_RCC_CRS_CLEAR_FLAG(__FLAG__) do { \ + if(((__FLAG__) & RCC_CRS_FLAG_ERROR_MASK) != RESET) \ + { \ + WRITE_REG(CRS->ICR, CRS_ICR_ERRC | ((__FLAG__) & ~RCC_CRS_FLAG_ERROR_MASK)); \ + } \ + else \ + { \ + WRITE_REG(CRS->ICR, (__FLAG__)); \ + } \ + } while(0) + + /** @defgroup RCCEx_CRS_Extended_Features RCCEx CRS Extended Features + * @{ + */ +/** + * @brief Enable the oscillator clock for frequency error counter. + * @note when the CEN bit is set the CRS_CFGR register becomes write-protected. + * @retval None + */ +#define __HAL_RCC_CRS_FREQ_ERROR_COUNTER_ENABLE() SET_BIT(CRS->CR, CRS_CR_CEN) + +/** + * @brief Disable the oscillator clock for frequency error counter. + * @retval None + */ +#define __HAL_RCC_CRS_FREQ_ERROR_COUNTER_DISABLE() CLEAR_BIT(CRS->CR, CRS_CR_CEN) + +/** + * @brief Enable the automatic hardware adjustment of TRIM bits. + * @note When the AUTOTRIMEN bit is set the CRS_CFGR register becomes write-protected. + * @retval None + */ +#define __HAL_RCC_CRS_AUTOMATIC_CALIB_ENABLE() SET_BIT(CRS->CR, CRS_CR_AUTOTRIMEN) + +/** + * @brief Enable or disable the automatic hardware adjustment of TRIM bits. + * @retval None + */ +#define __HAL_RCC_CRS_AUTOMATIC_CALIB_DISABLE() CLEAR_BIT(CRS->CR, CRS_CR_AUTOTRIMEN) + +/** + * @brief Macro to calculate reload value to be set in CRS register according to target and sync frequencies + * @note The RELOAD value should be selected according to the ratio between the target frequency and the frequency + * of the synchronization source after pre-scaling. It is then decreased by one in order to + * reach the expected synchronization on the zero value. The formula is the following: + * RELOAD = (fTARGET / fSYNC) -1 + * @param __FTARGET__ Target frequency (value in Hz) + * @param __FSYNC__ Synchronization signal frequency (value in Hz) + * @retval None + */ +#define __HAL_RCC_CRS_RELOADVALUE_CALCULATE(__FTARGET__, __FSYNC__) (((__FTARGET__) / (__FSYNC__)) - 1U) + + +/** + * @} + */ + + +/** + * @} + */ + + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup RCCEx_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit); +void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit); +uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk); +uint32_t HAL_RCCEx_GetD1PCLK1Freq(void); +uint32_t HAL_RCCEx_GetD3PCLK1Freq(void); +uint32_t HAL_RCCEx_GetD1SysClockFreq(void); +void HAL_RCCEx_GetPLL1ClockFreq(PLL1_ClocksTypeDef* PLL1_Clocks); +void HAL_RCCEx_GetPLL2ClockFreq(PLL2_ClocksTypeDef* PLL2_Clocks); +void HAL_RCCEx_GetPLL3ClockFreq(PLL3_ClocksTypeDef* PLL3_Clocks); +/** + * @} + */ + +/** @addtogroup RCCEx_Exported_Functions_Group2 + * @{ + */ +void HAL_RCCEx_WakeUpStopCLKConfig(uint32_t WakeUpClk); +void HAL_RCCEx_KerWakeUpStopCLKConfig(uint32_t WakeUpClk); +void HAL_RCCEx_EnableLSECSS(void); +void HAL_RCCEx_DisableLSECSS(void); +void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx); +/** + * @} + */ + + +/** @addtogroup RCCEx_Exported_Functions_Group3 + * @{ + */ + +void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit); +void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void); +void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo); +uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout); +void HAL_RCCEx_CRS_IRQHandler(void); +void HAL_RCCEx_CRS_SyncOkCallback(void); +void HAL_RCCEx_CRS_SyncWarnCallback(void); +void HAL_RCCEx_CRS_ExpectedSyncCallback(void); +void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error); + +/** + * @} + */ + + /* Private macros ------------------------------------------------------------*/ +/** @addtogroup RCCEx_Private_Macros RCCEx Private Macros + * @{ + */ +/** @defgroup RCCEx_IS_RCC_Definitions RCC Private macros to check input parameters + * @{ + */ + +#define IS_RCC_PLL2CLOCKOUT_VALUE(VALUE) (((VALUE) == RCC_PLL2_DIVP) || \ + ((VALUE) == RCC_PLL2_DIVQ) || \ + ((VALUE) == RCC_PLL2_DIVR)) + +#define IS_RCC_PLL3CLOCKOUT_VALUE(VALUE) (((VALUE) == RCC_PLL3_DIVP) || \ + ((VALUE) == RCC_PLL3_DIVQ) || \ + ((VALUE) == RCC_PLL3_DIVR)) + +#define IS_RCC_USART16CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART16CLKSOURCE_D2PCLK2)|| \ + ((SOURCE) == RCC_USART16CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_USART16CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USART16CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_USART16CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_USART16CLKSOURCE_HSI)) + +#define IS_RCC_USART234578CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART234578CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_USART234578CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_USART234578CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USART234578CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_USART234578CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_USART234578CLKSOURCE_HSI)) + +#define IS_RCC_USART1CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART1CLKSOURCE_D2PCLK2)|| \ + ((SOURCE) == RCC_USART1CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_USART1CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USART1CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_USART1CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_USART1CLKSOURCE_HSI)) + +#define IS_RCC_USART2CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART2CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_USART2CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_USART2CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USART2CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_USART2CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_USART2CLKSOURCE_HSI)) + +#define IS_RCC_USART3CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART3CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_USART3CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_USART3CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USART3CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_USART3CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_USART3CLKSOURCE_HSI)) + +#define IS_RCC_UART4CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART4CLKSOURCE_D2PCLK1) || \ + ((SOURCE) == RCC_UART4CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_UART4CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_UART4CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_UART4CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_UART4CLKSOURCE_HSI)) + +#define IS_RCC_UART5CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART5CLKSOURCE_D2PCLK1) || \ + ((SOURCE) == RCC_UART5CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_UART5CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_UART5CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_UART5CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_UART5CLKSOURCE_HSI)) + +#define IS_RCC_USART6CLKSOURCE(SOURCE) (((SOURCE) == RCC_USART6CLKSOURCE_D2PCLK2)|| \ + ((SOURCE) == RCC_USART6CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_USART6CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USART6CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_USART6CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_USART6CLKSOURCE_HSI)) + +#define IS_RCC_UART7CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART7CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_UART7CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_UART7CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_UART7CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_UART7CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_UART7CLKSOURCE_HSI)) + +#define IS_RCC_UART8CLKSOURCE(SOURCE) (((SOURCE) == RCC_UART8CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_UART8CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_UART8CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_UART8CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_UART8CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_UART8CLKSOURCE_HSI)) + +#define IS_RCC_LPUART1CLKSOURCE(SOURCE) (((SOURCE) == RCC_LPUART1CLKSOURCE_D3PCLK1) || \ + ((SOURCE) == RCC_LPUART1CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_LPUART1CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_LPUART1CLKSOURCE_CSI) || \ + ((SOURCE) == RCC_LPUART1CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_LPUART1CLKSOURCE_HSI)) + +#define IS_RCC_I2C123CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C123CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_I2C123CLKSOURCE_HSI) || \ + ((SOURCE) == RCC_I2C123CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_I2C123CLKSOURCE_CSI)) + +#define IS_RCC_I2C1CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C1CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_I2C1CLKSOURCE_HSI) || \ + ((SOURCE) == RCC_I2C1CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_I2C1CLKSOURCE_CSI)) + +#define IS_RCC_I2C2CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C2CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_I2C2CLKSOURCE_HSI) || \ + ((SOURCE) == RCC_I2C2CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_I2C2CLKSOURCE_CSI)) + +#define IS_RCC_I2C3CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C3CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_I2C3CLKSOURCE_HSI) || \ + ((SOURCE) == RCC_I2C3CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_I2C3CLKSOURCE_CSI)) + +#define IS_RCC_I2C4CLKSOURCE(SOURCE) (((SOURCE) == RCC_I2C4CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_I2C4CLKSOURCE_HSI) || \ + ((SOURCE) == RCC_I2C4CLKSOURCE_D3PCLK1)|| \ + ((SOURCE) == RCC_I2C3CLKSOURCE_CSI)) + +#define IS_RCC_RNGCLKSOURCE(SOURCE) (((SOURCE) == RCC_RNGCLKSOURCE_HSI48)|| \ + ((SOURCE) == RCC_RNGCLKSOURCE_PLL) || \ + ((SOURCE) == RCC_RNGCLKSOURCE_LSE) || \ + ((SOURCE) == RCC_RNGCLKSOURCE_LSI)) + +#define IS_RCC_HRTIM1CLKSOURCE(SOURCE) (((SOURCE) == RCC_HRTIM1CLK_TIMCLK) || \ + ((SOURCE) == RCC_HRTIM1CLK_CPUCLK)) + +#define IS_RCC_USBCLKSOURCE(SOURCE) (((SOURCE) == RCC_USBCLKSOURCE_PLL) || \ + ((SOURCE) == RCC_USBCLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USBCLKSOURCE_HSI48)) + +#define IS_RCC_SAI1CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SAI1CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SAI1CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SAI1CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SAI1CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SAI1CLKSOURCE_PIN)) + +#define IS_RCC_SAI23CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SAI23CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SAI23CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SAI23CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SAI23CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SAI23CLKSOURCE_PIN)) + +#define IS_RCC_SAI2CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SAI2CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SAI2CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SAI2CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SAI2CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SAI2CLKSOURCE_PIN)) + +#define IS_RCC_SAI3CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SAI3CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SAI3CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SAI3CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SAI3CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SAI3CLKSOURCE_PIN)) + +#define IS_RCC_SPI123CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI123CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SPI123CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI123CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI123CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SPI123CLKSOURCE_PIN)) + +#define IS_RCC_SPI1CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI1CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SPI1CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI1CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI1CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SPI1CLKSOURCE_PIN)) + +#define IS_RCC_SPI2CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI2CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SPI2CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI2CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI2CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SPI2CLKSOURCE_PIN)) + +#define IS_RCC_SPI3CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI3CLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SPI3CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI3CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI3CLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SPI3CLKSOURCE_PIN)) + +#define IS_RCC_SPI45CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI45CLKSOURCE_D2PCLK1) || \ + ((__SOURCE__) == RCC_SPI45CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI45CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI45CLKSOURCE_HSI) || \ + ((__SOURCE__) == RCC_SPI45CLKSOURCE_CSI) || \ + ((__SOURCE__) == RCC_SPI45CLKSOURCE_HSE)) + +#define IS_RCC_SPI4CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI4CLKSOURCE_D2PCLK1) || \ + ((__SOURCE__) == RCC_SPI4CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI4CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI4CLKSOURCE_HSI) || \ + ((__SOURCE__) == RCC_SPI4CLKSOURCE_CSI) || \ + ((__SOURCE__) == RCC_SPI4CLKSOURCE_HSE)) + +#define IS_RCC_SPI5CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI5CLKSOURCE_D2PCLK1)|| \ + ((__SOURCE__) == RCC_SPI5CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI5CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI5CLKSOURCE_HSI) || \ + ((__SOURCE__) == RCC_SPI5CLKSOURCE_CSI) || \ + ((__SOURCE__) == RCC_SPI5CLKSOURCE_HSE)) + +#define IS_RCC_SPI6CLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SPI6CLKSOURCE_D3PCLK1) || \ + ((__SOURCE__) == RCC_SPI6CLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SPI6CLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SPI6CLKSOURCE_HSI) || \ + ((__SOURCE__) == RCC_SPI6CLKSOURCE_CSI) || \ + ((__SOURCE__) == RCC_SPI6CLKSOURCE_HSE)) + +#define IS_RCC_SAI4ACLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SAI4ACLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SAI4ACLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SAI4ACLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SAI4ACLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SAI4ACLKSOURCE_PIN)) + +#define IS_RCC_SAI4BCLK(__SOURCE__) \ + (((__SOURCE__) == RCC_SAI4BCLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SAI4BCLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_SAI4BCLKSOURCE_PLL3) || \ + ((__SOURCE__) == RCC_SAI4BCLKSOURCE_CLKP) || \ + ((__SOURCE__) == RCC_SAI4BCLKSOURCE_PIN)) + +#define IS_RCC_PLL3M_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 63)) +#define IS_RCC_PLL3N_VALUE(VALUE) ((4 <= (VALUE)) && ((VALUE) <= 512)) +#define IS_RCC_PLL3P_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) +#define IS_RCC_PLL3Q_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) +#define IS_RCC_PLL3R_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) + +#define IS_RCC_PLL2M_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 63)) +#define IS_RCC_PLL2N_VALUE(VALUE) ((4 <= (VALUE)) && ((VALUE) <= 512)) +#define IS_RCC_PLL2P_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) +#define IS_RCC_PLL2Q_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) +#define IS_RCC_PLL2R_VALUE(VALUE) ((1 <= (VALUE)) && ((VALUE) <= 128)) + +#define IS_RCC_LPTIM1CLK(SOURCE) (((SOURCE) == RCC_LPTIM1CLKSOURCE_D2PCLK1)|| \ + ((SOURCE) == RCC_LPTIM1CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_LPTIM1CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_LPTIM1CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_LPTIM1CLKSOURCE_LSI) || \ + ((SOURCE) == RCC_LPTIM1CLKSOURCE_CLKP)) + +#define IS_RCC_LPTIM2CLK(SOURCE) (((SOURCE) == RCC_LPTIM2CLKSOURCE_D3PCLK1)|| \ + ((SOURCE) == RCC_LPTIM2CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_LPTIM2CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_LPTIM2CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_LPTIM2CLKSOURCE_LSI) || \ + ((SOURCE) == RCC_LPTIM2CLKSOURCE_CLKP)) + +#define IS_RCC_LPTIM345CLK(SOURCE) (((SOURCE) == RCC_LPTIM345CLKSOURCE_D3PCLK1)|| \ + ((SOURCE) == RCC_LPTIM345CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_LPTIM345CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_LPTIM345CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_LPTIM345CLKSOURCE_LSI) || \ + ((SOURCE) == RCC_LPTIM345CLKSOURCE_CLKP)) + +#define IS_RCC_LPTIM3CLK(SOURCE) (((SOURCE) == RCC_LPTIM3CLKSOURCE_D3PCLK1)|| \ + ((SOURCE) == RCC_LPTIM3CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_LPTIM3CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_LPTIM3CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_LPTIM3CLKSOURCE_LSI) || \ + ((SOURCE) == RCC_LPTIM3CLKSOURCE_CLKP)) + +#define IS_RCC_LPTIM4CLK(SOURCE) (((SOURCE) == RCC_LPTIM4CLKSOURCE_D3PCLK1)|| \ + ((SOURCE) == RCC_LPTIM4CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_LPTIM4CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_LPTIM4CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_LPTIM4CLKSOURCE_LSI) || \ + ((SOURCE) == RCC_LPTIM4CLKSOURCE_CLKP)) + +#define IS_RCC_LPTIM5CLK(SOURCE) (((SOURCE) == RCC_LPTIM5CLKSOURCE_D3PCLK1)|| \ + ((SOURCE) == RCC_LPTIM5CLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_LPTIM5CLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_LPTIM5CLKSOURCE_LSE) || \ + ((SOURCE) == RCC_LPTIM5CLKSOURCE_LSI) || \ + ((SOURCE) == RCC_LPTIM5CLKSOURCE_CLKP)) + +#define IS_RCC_QSPICLK(__SOURCE__) \ + (((__SOURCE__) == RCC_QSPICLKSOURCE_D1HCLK) || \ + ((__SOURCE__) == RCC_QSPICLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_QSPICLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_QSPICLKSOURCE_CLKP)) + + +#define IS_RCC_FMCCLK(__SOURCE__) \ + (((__SOURCE__) == RCC_FMCCLKSOURCE_D1HCLK) || \ + ((__SOURCE__) == RCC_FMCCLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_FMCCLKSOURCE_PLL2) || \ + ((__SOURCE__) == RCC_FMCCLKSOURCE_CLKP)) + +#if defined(FDCAN1) || defined(FDCAN2) +#define IS_RCC_FDCANCLK(__SOURCE__) \ + (((__SOURCE__) == RCC_FDCANCLKSOURCE_HSE) || \ + ((__SOURCE__) == RCC_FDCANCLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_FDCANCLKSOURCE_PLL2)) +#endif /*FDCAN1 || FDCAN2*/ + +#define IS_RCC_SDMMC(__SOURCE__) \ + (((__SOURCE__) == RCC_SDMMCCLKSOURCE_PLL) || \ + ((__SOURCE__) == RCC_SDMMCCLKSOURCE_PLL2)) + +#define IS_RCC_USBCLKSOURCE(SOURCE) (((SOURCE) == RCC_USBCLKSOURCE_PLL) || \ + ((SOURCE) == RCC_USBCLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_USBCLKSOURCE_HSI48)) + +#define IS_RCC_ADCCLKSOURCE(SOURCE) (((SOURCE) == RCC_ADCCLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_ADCCLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_ADCCLKSOURCE_CLKP)) + +#define IS_RCC_SWPMI1CLKSOURCE(SOURCE) (((SOURCE) == RCC_SWPMI1CLKSOURCE_D2PCLK1) || \ + ((SOURCE) == RCC_SWPMI1CLKSOURCE_HSI)) + +#define IS_RCC_DFSDM1CLKSOURCE(SOURCE) (((SOURCE) == RCC_DFSDM1CLKSOURCE_D2PCLK1) || \ + ((SOURCE) == RCC_DFSDM1CLKSOURCE_SYS)) + +#define IS_RCC_SPDIFRXCLKSOURCE(SOURCE)(((SOURCE) == RCC_SPDIFRXCLKSOURCE_PLL) || \ + ((SOURCE) == RCC_SPDIFRXCLKSOURCE_PLL2) || \ + ((SOURCE) == RCC_SPDIFRXCLKSOURCE_PLL3) || \ + ((SOURCE) == RCC_SPDIFRXCLKSOURCE_HSI)) + +#define IS_RCC_CECCLKSOURCE(SOURCE) (((SOURCE) == RCC_CECCLKSOURCE_LSE) || \ + ((SOURCE) == RCC_CECCLKSOURCE_LSI) || \ + ((SOURCE) == RCC_CECCLKSOURCE_CSI)) + +#define IS_RCC_CLKPSOURCE(SOURCE) (((SOURCE) == RCC_CLKPSOURCE_HSI) || \ + ((SOURCE) == RCC_CLKPSOURCE_CSI) || \ + ((SOURCE) == RCC_CLKPSOURCE_HSE)) +#define IS_RCC_TIMPRES(VALUE) \ + (((VALUE) == RCC_TIMPRES_DESACTIVATED) || \ + ((VALUE) == RCC_TIMPRES_ACTIVATED)) + + +#define IS_RCC_SCOPE_WWDG(WWDG) ((WWDG) == RCC_WWDG1) + + +#define IS_RCC_CRS_SYNC_SOURCE(__SOURCE__) (((__SOURCE__) == RCC_CRS_SYNC_SOURCE_USB2) || \ + ((__SOURCE__) == RCC_CRS_SYNC_SOURCE_LSE) || \ + ((__SOURCE__) == RCC_CRS_SYNC_SOURCE_USB1)) + +#define IS_RCC_CRS_SYNC_DIV(__DIV__) (((__DIV__) == RCC_CRS_SYNC_DIV1) || ((__DIV__) == RCC_CRS_SYNC_DIV2) || \ + ((__DIV__) == RCC_CRS_SYNC_DIV4) || ((__DIV__) == RCC_CRS_SYNC_DIV8) || \ + ((__DIV__) == RCC_CRS_SYNC_DIV16) || ((__DIV__) == RCC_CRS_SYNC_DIV32) || \ + ((__DIV__) == RCC_CRS_SYNC_DIV64) || ((__DIV__) == RCC_CRS_SYNC_DIV128)) + +#define IS_RCC_CRS_SYNC_POLARITY(__POLARITY__) (((__POLARITY__) == RCC_CRS_SYNC_POLARITY_RISING) || \ + ((__POLARITY__) == RCC_CRS_SYNC_POLARITY_FALLING)) + +#define IS_RCC_CRS_RELOADVALUE(__VALUE__) (((__VALUE__) <= 0xFFFFU)) + +#define IS_RCC_CRS_ERRORLIMIT(__VALUE__) (((__VALUE__) <= 0xFFU)) + +#define IS_RCC_CRS_HSI48CALIBRATION(__VALUE__) (((__VALUE__) <= 0x3FU)) + +#define IS_RCC_CRS_FREQERRORDIR(__DIR__) (((__DIR__) == RCC_CRS_FREQERRORDIR_UP) || \ + ((__DIR__) == RCC_CRS_FREQERRORDIR_DOWN)) +/** + * @} + */ + +/** + * @} + */ +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_RCC_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rng.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rng.h new file mode 100644 index 0000000000..a39d50d73b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rng.h @@ -0,0 +1,381 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rng.h + * @author MCD Application Team + * @brief Header file of RNG HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_RNG_H +#define __STM32H7xx_HAL_RNG_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup RNG RNG + * @brief RNG HAL module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup RNG_Exported_Types RNG Exported Types + * @{ + */ + +/** @defgroup RNG_Exported_Types_Group1 RNG Init Structure definition + * @{ + */ +typedef struct +{ + uint32_t ClockErrorDetection; /*!< CED Clock error detection */ + +}RNG_InitTypeDef; + +/** @defgroup RNG_Exported_Types_Group2 RNG State Structure definition + * @{ + */ +typedef enum +{ + HAL_RNG_STATE_RESET = 0x00U, /*!< RNG not yet initialized or disabled */ + HAL_RNG_STATE_READY = 0x01U, /*!< RNG initialized and ready for use */ + HAL_RNG_STATE_BUSY = 0x02U, /*!< RNG internal process is ongoing */ + HAL_RNG_STATE_TIMEOUT = 0x03U, /*!< RNG timeout state */ + HAL_RNG_STATE_ERROR = 0x04U /*!< RNG error state */ + +}HAL_RNG_StateTypeDef; + +/** + * @} + */ + +/** @defgroup RNG_Exported_Types_Group3 RNG Handle Structure definition + * @{ + */ +typedef struct +{ + RNG_TypeDef *Instance; /*!< Register base address */ + + RNG_InitTypeDef Init; /*!< RNG parameters */ + + HAL_LockTypeDef Lock; /*!< RNG locking object */ + + __IO HAL_RNG_StateTypeDef State; /*!< RNG communication state */ + + uint32_t RandomNumber; /*!< Last Generated RNG Data */ + +}RNG_HandleTypeDef; + +/** + * @} + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup RNG_Exported_Constants RNG Exported Constants + * @{ + */ + +/** @defgroup RNG_Exported_Constants_Group1 RNG Interrupt definition + * @{ + */ +#define RNG_IT_DRDY RNG_SR_DRDY /*!< Data Ready interrupt */ +#define RNG_IT_CEI RNG_SR_CEIS /*!< Clock error interrupt */ +#define RNG_IT_SEI RNG_SR_SEIS /*!< Seed error interrupt */ +/** + * @} + */ + +/** @defgroup RNG_Exported_Constants_Group2 RNG Flag definition + * @{ + */ +#define RNG_FLAG_DRDY RNG_SR_DRDY /*!< Data ready */ +#define RNG_FLAG_CECS RNG_SR_CECS /*!< Clock error current status */ +#define RNG_FLAG_SECS RNG_SR_SECS /*!< Seed error current status */ + +/** + * @} + */ + +/** @defgroup RNG_Exported_Constants_Group3 RNG Clock Error Detection + * @{ + */ +#define RNG_CED_ENABLE ((uint32_t)0x00000000) /*!< Clock error detection Enabled*/ +#define RNG_CED_DISABLE RNG_CR_CED /*!< Clock error detection Disabled*/ + +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ + +/** @defgroup RNG_Exported_Macros RNG Exported Macros + * @{ + */ + +/** @brief Reset RNG handle state + * @param __HANDLE__: RNG Handle + * @retval None + */ +#define __HAL_RNG_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_RNG_STATE_RESET) + +/** + * @brief Enables the RNG peripheral. + * @param __HANDLE__: RNG Handle + * @retval None + */ +#define __HAL_RNG_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= RNG_CR_RNGEN) + +/** + * @brief Disables the RNG peripheral. + * @param __HANDLE__: RNG Handle + * @retval None + */ +#define __HAL_RNG_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~RNG_CR_RNGEN) + +/** + * @brief Check the selected RNG flag status. + * @param __HANDLE__: RNG Handle + * @param __FLAG__: RNG flag + * This parameter can be one of the following values: + * @arg RNG_FLAG_DRDY: Data ready + * @arg RNG_FLAG_CECS: Clock error current status + * @arg RNG_FLAG_SECS: Seed error current status + * @retval The new state of __FLAG__ (SET or RESET). + */ +#define __HAL_RNG_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__)) + +/** + * @brief Clears the selected RNG flag status. + * @param __HANDLE__: RNG handle + * @param __FLAG__: RNG flag to clear + * @note WARNING: This is a dummy macro for HAL code alignment, + * flags RNG_FLAG_DRDY, RNG_FLAG_CECS and RNG_FLAG_SECS are read-only. + * @retval None + */ +#define __HAL_RNG_CLEAR_FLAG(__HANDLE__, __FLAG__) /* dummy macro */ + + + +/** + * @brief Enables the RNG interrupts. + * @param __HANDLE__: RNG Handle + * @retval None + */ +#define __HAL_RNG_ENABLE_IT(__HANDLE__) ((__HANDLE__)->Instance->CR |= RNG_CR_IE) + +/** + * @brief Disables the RNG interrupts. + * @param __HANDLE__: RNG Handle + * @retval None + */ +#define __HAL_RNG_DISABLE_IT(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~RNG_CR_IE) + +/** + * @brief Checks whether the specified RNG interrupt has occurred or not. + * @param __HANDLE__: RNG Handle + * @param __INTERRUPT__: specifies the RNG interrupt status flag to check. + * This parameter can be one of the following values: + * @arg RNG_IT_DRDY: Data ready interrupt + * @arg RNG_IT_CEI: Clock error interrupt + * @arg RNG_IT_SEI: Seed error interrupt + * @retval The new state of __INTERRUPT__ (SET or RESET). + */ +#define __HAL_RNG_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR & (__INTERRUPT__)) == (__INTERRUPT__)) + +/** + * @brief Clear the RNG interrupt status flags. + * @param __HANDLE__: RNG Handle + * @param __INTERRUPT__: specifies the RNG interrupt status flag to clear. + * This parameter can be one of the following values: + * @arg RNG_IT_CEI: Clock error interrupt + * @arg RNG_IT_SEI: Seed error interrupt + * @note RNG_IT_DRDY flag is read-only, reading RNG_DR register automatically clears RNG_IT_DRDY. + * @retval None + */ +#define __HAL_RNG_CLEAR_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR) = ~(__INTERRUPT__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup RNG_Exported_Functions RNG Exported Functions + * @{ + */ + +/** @defgroup RNG_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +HAL_StatusTypeDef HAL_RNG_Init(RNG_HandleTypeDef *hrng); +HAL_StatusTypeDef HAL_RNG_DeInit (RNG_HandleTypeDef *hrng); +void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng); +void HAL_RNG_MspDeInit(RNG_HandleTypeDef *hrng); + +/** + * @} + */ + +/** @defgroup RNG_Exported_Functions_Group2 Peripheral Control functions + * @{ + */ + +HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber(RNG_HandleTypeDef *hrng, uint32_t *random32bit); +HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber_IT(RNG_HandleTypeDef *hrng); +uint32_t HAL_RNG_ReadLastRandomNumber(RNG_HandleTypeDef *hrng); + +void HAL_RNG_IRQHandler(RNG_HandleTypeDef *hrng); +void HAL_RNG_ErrorCallback(RNG_HandleTypeDef *hrng); +void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef* hrng, uint32_t random32bit); + +/** + * @} + */ + +/** @defgroup RNG_Exported_Functions_Group3 Peripheral State functions + * @{ + */ +HAL_RNG_StateTypeDef HAL_RNG_GetState(RNG_HandleTypeDef *hrng); + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup RNG_Private_Types RNG Private Types + * @{ + */ + +/** + * @} + */ + +/* Private defines -----------------------------------------------------------*/ +/** @defgroup RNG_Private_Defines RNG Private Defines + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup RNG_Private_Variables RNG Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup RNG_Private_Constants RNG Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup RNG_Private_Macros RNG Private Macros + * @{ + */ +#define IS_RNG_IT(IT) (((IT) == RNG_IT_CEI) || \ + ((IT) == RNG_IT_SEI)) + +#define IS_RNG_FLAG(FLAG) (((FLAG) == RNG_FLAG_DRDY) || \ + ((FLAG) == RNG_FLAG_CECS) || \ + ((FLAG) == RNG_FLAG_SECS)) + +#define IS_RNG_CED(CED) (((CED) == RNG_CED_ENABLE) || \ + ((CED) == RNG_CED_DISABLE)) +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup RNG_Private_Functions_Prototypes RNG Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup RNG_Private_Functions RNG Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_RNG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc.h new file mode 100644 index 0000000000..7116b9c0f5 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc.h @@ -0,0 +1,860 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rtc.h + * @author MCD Application Team + * @brief Header file of RTC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_RTC_H +#define __STM32H7xx_HAL_RTC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup RTC + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup RTC_Exported_Types RTC Exported Types + * @{ + */ +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_RTC_STATE_RESET = 0x00, /*!< RTC not yet initialized or disabled */ + HAL_RTC_STATE_READY = 0x01, /*!< RTC initialized and ready for use */ + HAL_RTC_STATE_BUSY = 0x02, /*!< RTC process is ongoing */ + HAL_RTC_STATE_TIMEOUT = 0x03, /*!< RTC timeout state */ + HAL_RTC_STATE_ERROR = 0x04 /*!< RTC error state */ + +}HAL_RTCStateTypeDef; + +/** + * @brief RTC Configuration Structure definition + */ +typedef struct +{ + uint32_t HourFormat; /*!< Specifies the RTC Hour Format. + This parameter can be a value of @ref RTC_Hour_Formats */ + + uint32_t AsynchPrediv; /*!< Specifies the RTC Asynchronous Predivider value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x7F */ + + uint32_t SynchPrediv; /*!< Specifies the RTC Synchronous Predivider value. + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x7FFF */ + + uint32_t OutPut; /*!< Specifies which signal will be routed to the RTC output. + This parameter can be a value of @ref RTCEx_Output_selection_Definitions */ + + uint32_t OutPutRemap; /*!< Specifies the remap for RTC output. + This parameter can be a value of @ref RTC_Output_ALARM_OUT_Remap */ + + uint32_t OutPutPolarity; /*!< Specifies the polarity of the output signal. + This parameter can be a value of @ref RTC_Output_Polarity_Definitions */ + + uint32_t OutPutType; /*!< Specifies the RTC Output Pin mode. + This parameter can be a value of @ref RTC_Output_Type_ALARM_OUT */ + +}RTC_InitTypeDef; + +/** + * @brief RTC Time structure definition + */ +typedef struct +{ + uint8_t Hours; /*!< Specifies the RTC Time Hour. + This parameter must be a number between Min_Data = 0 and Max_Data = 12 if the RTC_HourFormat_12 is selected. + This parameter must be a number between Min_Data = 0 and Max_Data = 23 if the RTC_HourFormat_24 is selected */ + + uint8_t Minutes; /*!< Specifies the RTC Time Minutes. + This parameter must be a number between Min_Data = 0 and Max_Data = 59 */ + + uint8_t Seconds; /*!< Specifies the RTC Time Seconds. + This parameter must be a number between Min_Data = 0 and Max_Data = 59 */ + + uint8_t TimeFormat; /*!< Specifies the RTC AM/PM Time. + This parameter can be a value of @ref RTC_AM_PM_Definitions */ + + uint32_t SubSeconds; /*!< Specifies the RTC_SSR RTC Sub Second register content. + This parameter corresponds to a time unit range between [0-1] Second + with [1 Sec / SecondFraction +1] granularity */ + + uint32_t SecondFraction; /*!< Specifies the range or granularity of Sub Second register content + corresponding to Synchronous pre-scaler factor value (PREDIV_S) + This parameter corresponds to a time unit range between [0-1] Second + with [1 Sec / SecondFraction +1] granularity. + This field will be used only by HAL_RTC_GetTime function */ + + uint32_t DayLightSaving; /*!< Specifies RTC_DayLightSaveOperation: the value of hour adjustment. + This parameter can be a value of @ref RTC_DayLightSaving_Definitions */ + + uint32_t StoreOperation; /*!< Specifies RTC_StoreOperation value to be written in the BCK bit + in CR register to store the operation. + This parameter can be a value of @ref RTC_StoreOperation_Definitions */ +}RTC_TimeTypeDef; + +/** + * @brief RTC Date structure definition + */ +typedef struct +{ + uint8_t WeekDay; /*!< Specifies the RTC Date WeekDay. + This parameter can be a value of @ref RTC_WeekDay_Definitions */ + + uint8_t Month; /*!< Specifies the RTC Date Month (in BCD format). + This parameter can be a value of @ref RTC_Month_Date_Definitions */ + + uint8_t Date; /*!< Specifies the RTC Date. + This parameter must be a number between Min_Data = 1 and Max_Data = 31 */ + + uint8_t Year; /*!< Specifies the RTC Date Year. + This parameter must be a number between Min_Data = 0 and Max_Data = 99 */ + +}RTC_DateTypeDef; + +/** + * @brief RTC Alarm structure definition + */ +typedef struct +{ + RTC_TimeTypeDef AlarmTime; /*!< Specifies the RTC Alarm Time members */ + + uint32_t AlarmMask; /*!< Specifies the RTC Alarm Masks. + This parameter can be a value of @ref RTC_AlarmMask_Definitions */ + + uint32_t AlarmSubSecondMask; /*!< Specifies the RTC Alarm SubSeconds Masks. + This parameter can be a value of @ref RTC_Alarm_Sub_Seconds_Masks_Definitions */ + + uint32_t AlarmDateWeekDaySel; /*!< Specifies the RTC Alarm is on Date or WeekDay. + This parameter can be a value of @ref RTC_AlarmDateWeekDay_Definitions */ + + uint8_t AlarmDateWeekDay; /*!< Specifies the RTC Alarm Date/WeekDay. + If the Alarm Date is selected, this parameter must be set to a value in the 1-31 range. + If the Alarm WeekDay is selected, this parameter can be a value of @ref RTC_WeekDay_Definitions */ + + uint32_t Alarm; /*!< Specifies the alarm . + This parameter can be a value of @ref RTC_Alarms_Definitions */ +}RTC_AlarmTypeDef; + +/** + * @brief Time Handle Structure definition + */ +typedef struct +{ + RTC_TypeDef *Instance; /*!< Register base address */ + + RTC_InitTypeDef Init; /*!< RTC required parameters */ + + HAL_LockTypeDef Lock; /*!< RTC locking object */ + + __IO HAL_RTCStateTypeDef State; /*!< Time communication state */ + +}RTC_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup RTC_Exported_Constants RTC Exported Constants + * @{ + */ + +/** @defgroup RTC_Hour_Formats RTC Hour Formats + * @{ + */ +#define RTC_HOURFORMAT_24 ((uint32_t)0x00000000) +#define RTC_HOURFORMAT_12 ((uint32_t)0x00000040) +/** + * @} + */ + +/** @defgroup RTC_Output_Polarity_Definitions RTC Output Polarity Definitions + * @{ + */ +#define RTC_OUTPUT_POLARITY_HIGH ((uint32_t)0x00000000) +#define RTC_OUTPUT_POLARITY_LOW ((uint32_t)0x00100000) +/** + * @} + */ + +/** @defgroup RTC_Output_Type_ALARM_OUT RTC Output Type ALARM OUT + * @{ + */ +#define RTC_OUTPUT_TYPE_OPENDRAIN ((uint32_t)0x00000000) +#define RTC_OUTPUT_TYPE_PUSHPULL ((uint32_t)RTC_OR_ALARMOUTTYPE) +/** + * @} + */ + +/** @defgroup RTC_Output_ALARM_OUT_Remap RTC Output ALARM OUT Remap + * @{ + */ +#define RTC_OUTPUT_REMAP_NONE ((uint32_t)0x00000000) +#define RTC_OUTPUT_REMAP_POS1 ((uint32_t)RTC_OR_OUT_RMP) +/** + * @} + */ + +/** @defgroup RTC_AM_PM_Definitions RTC AM PM Definitions + * @{ + */ +#define RTC_HOURFORMAT12_AM ((uint8_t)0x00) +#define RTC_HOURFORMAT12_PM ((uint8_t)0x40) +/** + * @} + */ + +/** @defgroup RTC_DayLightSaving_Definitions RTC DayLight Saving Definitions + * @{ + */ +#define RTC_DAYLIGHTSAVING_SUB1H ((uint32_t)0x00020000) +#define RTC_DAYLIGHTSAVING_ADD1H ((uint32_t)0x00010000) +#define RTC_DAYLIGHTSAVING_NONE ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup RTC_StoreOperation_Definitions RTC Store Operation Definitions + * @{ + */ +#define RTC_STOREOPERATION_RESET ((uint32_t)0x00000000) +#define RTC_STOREOPERATION_SET ((uint32_t)0x00040000) +/** + * @} + */ + +/** @defgroup RTC_Input_parameter_format_definitions RTC Input Parameter Format Definitions + * @{ + */ +#define RTC_FORMAT_BIN ((uint32_t)0x00000000) +#define RTC_FORMAT_BCD ((uint32_t)0x00000001) +/** + * @} + */ + +/** @defgroup RTC_Month_Date_Definitions RTC Month Date Definitions + * @{ + */ + +/* Coded in BCD format */ +#define RTC_MONTH_JANUARY ((uint8_t)0x01) +#define RTC_MONTH_FEBRUARY ((uint8_t)0x02) +#define RTC_MONTH_MARCH ((uint8_t)0x03) +#define RTC_MONTH_APRIL ((uint8_t)0x04) +#define RTC_MONTH_MAY ((uint8_t)0x05) +#define RTC_MONTH_JUNE ((uint8_t)0x06) +#define RTC_MONTH_JULY ((uint8_t)0x07) +#define RTC_MONTH_AUGUST ((uint8_t)0x08) +#define RTC_MONTH_SEPTEMBER ((uint8_t)0x09) +#define RTC_MONTH_OCTOBER ((uint8_t)0x10) +#define RTC_MONTH_NOVEMBER ((uint8_t)0x11) +#define RTC_MONTH_DECEMBER ((uint8_t)0x12) +/** + * @} + */ + +/** @defgroup RTC_WeekDay_Definitions RTC WeekDay Definitions + * @{ + */ +#define RTC_WEEKDAY_MONDAY ((uint8_t)0x01) +#define RTC_WEEKDAY_TUESDAY ((uint8_t)0x02) +#define RTC_WEEKDAY_WEDNESDAY ((uint8_t)0x03) +#define RTC_WEEKDAY_THURSDAY ((uint8_t)0x04) +#define RTC_WEEKDAY_FRIDAY ((uint8_t)0x05) +#define RTC_WEEKDAY_SATURDAY ((uint8_t)0x06) +#define RTC_WEEKDAY_SUNDAY ((uint8_t)0x07) +/** + * @} + */ + +/** @defgroup RTC_AlarmDateWeekDay_Definitions RTC Alarm Date WeekDay Definitions + * @{ + */ +#define RTC_ALARMDATEWEEKDAYSEL_DATE ((uint32_t)0x00000000) +#define RTC_ALARMDATEWEEKDAYSEL_WEEKDAY ((uint32_t)0x40000000) +/** + * @} + */ + + +/** @defgroup RTC_AlarmMask_Definitions RTC Alarm Mask Definitions + * @{ + */ +#define RTC_ALARMMASK_NONE ((uint32_t)0x00000000) +#define RTC_ALARMMASK_DATEWEEKDAY RTC_ALRMAR_MSK4 +#define RTC_ALARMMASK_HOURS RTC_ALRMAR_MSK3 +#define RTC_ALARMMASK_MINUTES RTC_ALRMAR_MSK2 +#define RTC_ALARMMASK_SECONDS RTC_ALRMAR_MSK1 +#define RTC_ALARMMASK_ALL ((uint32_t)0x80808080) +/** + * @} + */ + +/** @defgroup RTC_Alarms_Definitions RTC Alarms Definitions + * @{ + */ +#define RTC_ALARM_A RTC_CR_ALRAE +#define RTC_ALARM_B RTC_CR_ALRBE +/** + * @} + */ + +/** @defgroup RTC_Alarm_Sub_Seconds_Masks_Definitions RTC Alarm Sub Seconds Masks Definitions + * @{ + */ +#define RTC_ALARMSUBSECONDMASK_ALL ((uint32_t)0x00000000) /*!< All Alarm SS fields are masked. + There is no comparison on sub seconds + for Alarm */ +#define RTC_ALARMSUBSECONDMASK_SS14_1 ((uint32_t)0x01000000) /*!< SS[14:1] are don't care in Alarm + comparison. Only SS[0] is compared. */ +#define RTC_ALARMSUBSECONDMASK_SS14_2 ((uint32_t)0x02000000) /*!< SS[14:2] are don't care in Alarm + comparison. Only SS[1:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_3 ((uint32_t)0x03000000) /*!< SS[14:3] are don't care in Alarm + comparison. Only SS[2:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_4 ((uint32_t)0x04000000) /*!< SS[14:4] are don't care in Alarm + comparison. Only SS[3:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_5 ((uint32_t)0x05000000) /*!< SS[14:5] are don't care in Alarm + comparison. Only SS[4:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_6 ((uint32_t)0x06000000) /*!< SS[14:6] are don't care in Alarm + comparison. Only SS[5:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_7 ((uint32_t)0x07000000) /*!< SS[14:7] are don't care in Alarm + comparison. Only SS[6:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_8 ((uint32_t)0x08000000) /*!< SS[14:8] are don't care in Alarm + comparison. Only SS[7:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_9 ((uint32_t)0x09000000) /*!< SS[14:9] are don't care in Alarm + comparison. Only SS[8:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_10 ((uint32_t)0x0A000000) /*!< SS[14:10] are don't care in Alarm + comparison. Only SS[9:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_11 ((uint32_t)0x0B000000) /*!< SS[14:11] are don't care in Alarm + comparison. Only SS[10:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_12 ((uint32_t)0x0C000000) /*!< SS[14:12] are don't care in Alarm + comparison.Only SS[11:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14_13 ((uint32_t)0x0D000000) /*!< SS[14:13] are don't care in Alarm + comparison. Only SS[12:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_SS14 ((uint32_t)0x0E000000) /*!< SS[14] is don't care in Alarm + comparison.Only SS[13:0] are compared */ +#define RTC_ALARMSUBSECONDMASK_NONE ((uint32_t)0x0F000000) /*!< SS[14:0] are compared and must match + to activate alarm. */ +/** + * @} + */ + +/** @defgroup RTC_Interrupts_Definitions RTC Interrupts Definitions + * @{ + */ +#define RTC_IT_TS ((uint32_t)RTC_CR_TSIE) /*!< Enable Timestamp Interrupt */ +#define RTC_IT_WUT ((uint32_t)RTC_CR_WUTIE) /*!< Enable Wakeup timer Interrupt */ +#define RTC_IT_ALRA ((uint32_t)RTC_CR_ALRAIE) /*!< Enable Alarm A Interrupt */ +#define RTC_IT_ALRB ((uint32_t)RTC_CR_ALRBIE) /*!< Enable Alarm B Interrupt */ +#define RTC_IT_TAMP ((uint32_t)RTC_TAMPCR_TAMPIE) /*!< Enable all Tamper Interrupt */ +#define RTC_IT_TAMP1 ((uint32_t)RTC_TAMPCR_TAMP1IE) /*!< Enable Tamper 1 Interrupt */ +#define RTC_IT_TAMP2 ((uint32_t)RTC_TAMPCR_TAMP2IE) /*!< Enable Tamper 2 Interrupt */ +#define RTC_IT_TAMP3 ((uint32_t)RTC_TAMPCR_TAMP3IE) /*!< Enable Tamper 3 Interrupt */ +/** + * @} + */ + +/** @defgroup RTC_Flags_Definitions RTC Flags Definitions + * @{ + */ +#define RTC_FLAG_RECALPF ((uint32_t)RTC_ISR_RECALPF) +#define RTC_FLAG_TAMP3F ((uint32_t)RTC_ISR_TAMP3F) +#define RTC_FLAG_TAMP2F ((uint32_t)RTC_ISR_TAMP2F) +#define RTC_FLAG_TAMP1F ((uint32_t)RTC_ISR_TAMP1F) +#define RTC_FLAG_TSOVF ((uint32_t)RTC_ISR_TSOVF) +#define RTC_FLAG_TSF ((uint32_t)RTC_ISR_TSF) +#define RTC_FLAG_ITSF ((uint32_t)RTC_ISR_ITSF) +#define RTC_FLAG_WUTF ((uint32_t)RTC_ISR_WUTF) +#define RTC_FLAG_ALRBF ((uint32_t)RTC_ISR_ALRBF) +#define RTC_FLAG_ALRAF ((uint32_t)RTC_ISR_ALRAF) +#define RTC_FLAG_INITF ((uint32_t)RTC_ISR_INITF) +#define RTC_FLAG_RSF ((uint32_t)RTC_ISR_RSF) +#define RTC_FLAG_INITS ((uint32_t)RTC_ISR_INITS) +#define RTC_FLAG_SHPF ((uint32_t)RTC_ISR_SHPF) +#define RTC_FLAG_WUTWF ((uint32_t)RTC_ISR_WUTWF) +#define RTC_FLAG_ALRBWF ((uint32_t)RTC_ISR_ALRBWF) +#define RTC_FLAG_ALRAWF ((uint32_t)RTC_ISR_ALRAWF) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup RTC_Exported_Macros RTC Exported Macros + * @{ + */ + +/** @brief Reset RTC handle state + * @param __HANDLE__: RTC handle. + * @retval None + */ +#define __HAL_RTC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_RTC_STATE_RESET) + +/** + * @brief Disable the write protection for RTC registers. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_WRITEPROTECTION_DISABLE(__HANDLE__) \ + do{ \ + (__HANDLE__)->Instance->WPR = 0xCA; \ + (__HANDLE__)->Instance->WPR = 0x53; \ + } while(0) + +/** + * @brief Enable the write protection for RTC registers. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_WRITEPROTECTION_ENABLE(__HANDLE__) \ + do{ \ + (__HANDLE__)->Instance->WPR = 0xFF; \ + } while(0) + + +/** + * @brief Enable the RTC ALARMA peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_ALARMA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRAE)) + +/** + * @brief Disable the RTC ALARMA peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_ALARMA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRAE)) + +/** + * @brief Enable the RTC ALARMB peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_ALARMB_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRBE)) + +/** + * @brief Disable the RTC ALARMB peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_ALARMB_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRBE)) + +/** + * @brief Enable the RTC Alarm interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Alarm interrupt sources to be enabled or disabled. + * This parameter can be any combination of the following values: + * @arg RTC_IT_ALRA: Alarm A interrupt + * @arg RTC_IT_ALRB: Alarm B interrupt + * @retval None + */ +#define __HAL_RTC_ALARM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) + +/** + * @brief Disable the RTC Alarm interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Alarm interrupt sources to be enabled or disabled. + * This parameter can be any combination of the following values: + * @arg RTC_IT_ALRA: Alarm A interrupt + * @arg RTC_IT_ALRB: Alarm B interrupt + * @retval None + */ +#define __HAL_RTC_ALARM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) + +/** + * @brief Check whether the specified RTC Alarm interrupt has occurred or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Alarm interrupt sources to check. + * This parameter can be: + * @arg RTC_IT_ALRA: Alarm A interrupt + * @arg RTC_IT_ALRB: Alarm B interrupt + * @retval None + */ +#define __HAL_RTC_ALARM_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR)& ((__INTERRUPT__)>> 4)) != RESET) ? SET : RESET) + +/** + * @brief Get the selected RTC Alarm's flag status. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC Alarm Flag sources to check. + * This parameter can be: + * @arg RTC_FLAG_ALRAF + * @arg RTC_FLAG_ALRBF + * @arg RTC_FLAG_ALRAWF + * @arg RTC_FLAG_ALRBWF + * @retval None + */ +#define __HAL_RTC_ALARM_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET) + +/** + * @brief Clear the RTC Alarm's pending flags. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC Alarm Flag sources to clear. + * This parameter can be: + * @arg RTC_FLAG_ALRAF + * @arg RTC_FLAG_ALRBF + * @retval None + */ +#define __HAL_RTC_ALARM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) + +/** + * @brief Check whether the specified RTC Alarm interrupt is enabled or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Alarm interrupt sources to check. + * This parameter can be: + * @arg RTC_IT_ALRA: Alarm A interrupt + * @arg RTC_IT_ALRB: Alarm B interrupt + * @retval None + */ +#define __HAL_RTC_ALARM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET) + +/** + * @brief Enable interrupt on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_ENABLE_IT() (EXTI_D1->IMR1 |= RTC_EXTI_LINE_ALARM_EVENT) + +/** + * @brief Disable interrupt on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_DISABLE_IT() (EXTI_D1->IMR1 &= ~(RTC_EXTI_LINE_ALARM_EVENT)) + +/** + * @brief Enable event on the RTC Alarm associated Exti line. + * @retval None. + */ +#define __HAL_RTC_ALARM_EXTI_ENABLE_EVENT() (EXTI_D1->EMR1 |= RTC_EXTI_LINE_ALARM_EVENT) + +/** + * @brief Disable event on the RTC Alarm associated Exti line. + * @retval None. + */ +#define __HAL_RTC_ALARM_EXTI_DISABLE_EVENT() (EXTI_D1->EMR1 &= ~(RTC_EXTI_LINE_ALARM_EVENT)) + +/** + * @brief Enable falling edge trigger on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR1 |= RTC_EXTI_LINE_ALARM_EVENT) + +/** + * @brief Disable falling edge trigger on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR1 &= ~(RTC_EXTI_LINE_ALARM_EVENT)) + +/** + * @brief Enable rising edge trigger on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR1 |= RTC_EXTI_LINE_ALARM_EVENT) + +/** + * @brief Disable rising edge trigger on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR1 &= ~(RTC_EXTI_LINE_ALARM_EVENT)) + +/** + * @brief Enable rising & falling edge trigger on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ + __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE(); \ + __HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE(); \ + } while(0) +/** + * @brief Disable rising & falling edge trigger on the RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_FALLING_EDGE() do { \ + __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE(); \ + __HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE(); \ + } while(0) +/** + * @brief Check whether the RTC Alarm associated Exti line interrupt flag is set or not. + * @retval Line Status. + */ +#define __HAL_RTC_ALARM_EXTI_GET_FLAG() (EXTI_D1->PR1 & RTC_EXTI_LINE_ALARM_EVENT) + +/** + * @brief Clear the RTC Alarm associated Exti line flag. + * @retval None. + */ +#define __HAL_RTC_ALARM_EXTI_CLEAR_FLAG() (EXTI_D1->PR1 = (RTC_EXTI_LINE_ALARM_EVENT)) + +/** + * @brief Generate a Software interrupt on RTC Alarm associated Exti line. + * @retval None + */ +#define __HAL_RTC_ALARM_EXTI_GENERATE_SWIT() (EXTI->SWIER1 |= RTC_EXTI_LINE_ALARM_EVENT) + +/** + * @} + */ + +/* Include RTC HAL Extended module */ +#include "stm32h7xx_hal_rtc_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup RTC_Exported_Functions + * @{ + */ + +/** @addtogroup RTC_Exported_Functions_Group1 + * @{ + */ +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc); +void HAL_RTC_MspInit(RTC_HandleTypeDef *hrtc); +void HAL_RTC_MspDeInit(RTC_HandleTypeDef *hrtc); +/** + * @} + */ + +/** @addtogroup RTC_Exported_Functions_Group2 + * @{ + */ +/* RTC Time and Date functions ************************************************/ +HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format); +HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format); +HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format); +HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format); +/** + * @} + */ + +/** @addtogroup RTC_Exported_Functions_Group3 + * @{ + */ +/* RTC Alarm functions ********************************************************/ +HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format); +HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format); +HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm); +HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alarm, uint32_t Format); +void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout); +void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc); +/** + * @} + */ + +/** @addtogroup RTC_Exported_Functions_Group4 + * @{ + */ +/* Peripheral Control functions ***********************************************/ +HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef* hrtc); +/** + * @} + */ + +/** @addtogroup RTC_Exported_Functions_Group5 + * @{ + */ +/* Peripheral State functions *************************************************/ +HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc); + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup RTC_Private_Constants RTC Private Constants + * @{ + */ +/* Masks Definition */ +#define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7F) +#define RTC_DR_RESERVED_MASK ((uint32_t)0x00FFFF3F) +#define RTC_INIT_MASK ((uint32_t)0xFFFFFFFFU) +#define RTC_RSF_MASK ((uint32_t)0xFFFFFF5FU) + +#define RTC_TIMEOUT_VALUE 1000 + +#define RTC_EXTI_LINE_ALARM_EVENT ((uint32_t)0x00020000) /*!< External interrupt line 17 Connected to the RTC Alarm event */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup RTC_Private_Macros RTC Private Macros + * @{ + */ + +/** @defgroup RTC_IS_RTC_Definitions RTC Private macros to check input parameters + * @{ + */ + +#define IS_RTC_HOUR_FORMAT(FORMAT) (((FORMAT) == RTC_HOURFORMAT_12) || \ + ((FORMAT) == RTC_HOURFORMAT_24)) + +#define IS_RTC_OUTPUT_POL(POL) (((POL) == RTC_OUTPUT_POLARITY_HIGH) || \ + ((POL) == RTC_OUTPUT_POLARITY_LOW)) + +#define IS_RTC_OUTPUT_TYPE(TYPE) (((TYPE) == RTC_OUTPUT_TYPE_OPENDRAIN) || \ + ((TYPE) == RTC_OUTPUT_TYPE_PUSHPULL)) + +#define IS_RTC_OUTPUT_REMAP(REMAP) (((REMAP) == RTC_OUTPUT_REMAP_NONE) || \ + ((REMAP) == RTC_OUTPUT_REMAP_POS1)) + +#define IS_RTC_HOURFORMAT12(PM) (((PM) == RTC_HOURFORMAT12_AM) || ((PM) == RTC_HOURFORMAT12_PM)) + +#define IS_RTC_DAYLIGHT_SAVING(SAVE) (((SAVE) == RTC_DAYLIGHTSAVING_SUB1H) || \ + ((SAVE) == RTC_DAYLIGHTSAVING_ADD1H) || \ + ((SAVE) == RTC_DAYLIGHTSAVING_NONE)) + +#define IS_RTC_STORE_OPERATION(OPERATION) (((OPERATION) == RTC_STOREOPERATION_RESET) || \ + ((OPERATION) == RTC_STOREOPERATION_SET)) + +#define IS_RTC_FORMAT(FORMAT) (((FORMAT) == RTC_FORMAT_BIN) || ((FORMAT) == RTC_FORMAT_BCD)) + +#define IS_RTC_YEAR(YEAR) ((YEAR) <= (uint32_t)99) + +#define IS_RTC_MONTH(MONTH) (((MONTH) >= (uint32_t)1) && ((MONTH) <= (uint32_t)12)) + +#define IS_RTC_DATE(DATE) (((DATE) >= (uint32_t)1) && ((DATE) <= (uint32_t)31)) + +#define IS_RTC_WEEKDAY(WEEKDAY) (((WEEKDAY) == RTC_WEEKDAY_MONDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_TUESDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_WEDNESDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_THURSDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_FRIDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_SATURDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_SUNDAY)) + +#define IS_RTC_ALARM_DATE_WEEKDAY_DATE(DATE) (((DATE) >(uint32_t) 0) && ((DATE) <= (uint32_t)31)) + +#define IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(WEEKDAY) (((WEEKDAY) == RTC_WEEKDAY_MONDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_TUESDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_WEDNESDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_THURSDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_FRIDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_SATURDAY) || \ + ((WEEKDAY) == RTC_WEEKDAY_SUNDAY)) + +#define IS_RTC_ALARM_DATE_WEEKDAY_SEL(SEL) (((SEL) == RTC_ALARMDATEWEEKDAYSEL_DATE) || \ + ((SEL) == RTC_ALARMDATEWEEKDAYSEL_WEEKDAY)) + +#define IS_RTC_ALARM_MASK(MASK) (((MASK) & 0x7F7F7F7F) == (uint32_t)RESET) + +#define IS_RTC_ALARM(ALARM) (((ALARM) == RTC_ALARM_A) || ((ALARM) == RTC_ALARM_B)) + +#define IS_RTC_ALARM_SUB_SECOND_VALUE(VALUE) ((VALUE) <= (uint32_t)0x00007FFF) + +#define IS_RTC_ALARM_SUB_SECOND_MASK(MASK) (((MASK) == RTC_ALARMSUBSECONDMASK_ALL) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_1) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_2) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_3) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_4) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_5) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_6) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_7) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_8) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_9) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_10) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_11) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_12) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_13) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_SS14) || \ + ((MASK) == RTC_ALARMSUBSECONDMASK_NONE)) + +#define IS_RTC_ASYNCH_PREDIV(PREDIV) ((PREDIV) <= (uint32_t)0x7F) + +#define IS_RTC_SYNCH_PREDIV(PREDIV) ((PREDIV) <= (uint32_t)0x7FFF) + +#define IS_RTC_HOUR12(HOUR) (((HOUR) > (uint32_t)0) && ((HOUR) <= (uint32_t)12)) + +#define IS_RTC_HOUR24(HOUR) ((HOUR) <= (uint32_t)23) + +#define IS_RTC_MINUTES(MINUTES) ((MINUTES) <= (uint32_t)59) + +#define IS_RTC_SECONDS(SECONDS) ((SECONDS) <= (uint32_t)59) + +/** + * @} + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup RTC_Private_Functions + * @{ + */ + +HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef* hrtc); +uint8_t RTC_ByteToBcd2(uint8_t Value); +uint8_t RTC_Bcd2ToByte(uint8_t Value); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_RTC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc_ex.h new file mode 100644 index 0000000000..8031f6b00d --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rtc_ex.h @@ -0,0 +1,1104 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rtc_ex.h + * @author MCD Application Team + * @brief Header file of RTC HAL Extension module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_RTC_EX_H +#define __STM32H7xx_HAL_RTC_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup RTCEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup RTCEx_Exported_Types RTCEx Exported Types + * @{ + */ +/** + * @brief RTC Tamper structure definition + */ +typedef struct +{ + uint32_t Tamper; /*!< Specifies the Tamper Pin. + This parameter can be a value of @ref RTCEx_Tamper_Pins_Definitions */ + + uint32_t Interrupt; /*!< Specifies the Tamper Interrupt. + This parameter can be a value of @ref RTCEx_Tamper_Interrupt_Definitions */ + + uint32_t Trigger; /*!< Specifies the Tamper Trigger. + This parameter can be a value of @ref RTCEx_Tamper_Trigger_Definitions */ + + uint32_t NoErase; /*!< Specifies the Tamper no erase mode. + This parameter can be a value of @ref RTCEx_Tamper_EraseBackUp_Definitions */ + + uint32_t MaskFlag; /*!< Specifies the Tamper Flag masking. + This parameter can be a value of @ref RTCEx_Tamper_MaskFlag_Definitions */ + + uint32_t Filter; /*!< Specifies the RTC Filter Tamper. + This parameter can be a value of @ref RTCEx_Tamper_Filter_Definitions */ + + uint32_t SamplingFrequency; /*!< Specifies the sampling frequency. + This parameter can be a value of @ref RTCEx_Tamper_Sampling_Frequencies_Definitions */ + + uint32_t PrechargeDuration; /*!< Specifies the Precharge Duration . + This parameter can be a value of @ref RTCEx_Tamper_Pin_Precharge_Duration_Definitions */ + + uint32_t TamperPullUp; /*!< Specifies the Tamper PullUp . + This parameter can be a value of @ref RTCEx_Tamper_Pull_UP_Definitions */ + + uint32_t TimeStampOnTamperDetection; /*!< Specifies the TimeStampOnTamperDetection. + This parameter can be a value of @ref RTCEx_Tamper_TimeStampOnTamperDetection_Definitions */ +}RTC_TamperTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup RTCEx_Exported_Constants RTCEx Exported Constants + * @{ + */ + +/** @defgroup RTCEx_Output_selection_Definitions RTC Output Selection Definitions + * @{ + */ +#define RTC_OUTPUT_DISABLE ((uint32_t)0x00000000) +#define RTC_OUTPUT_ALARMA ((uint32_t)0x00200000) +#define RTC_OUTPUT_ALARMB ((uint32_t)0x00400000) +#define RTC_OUTPUT_WAKEUP ((uint32_t)0x00600000) + +/** + * @} + */ + +/** @defgroup RTCEx_Backup_Registers_Definitions RTC Backup Registers Definitions + * @{ + */ +#define RTC_BKP_DR0 ((uint32_t)0x00000000) +#define RTC_BKP_DR1 ((uint32_t)0x00000001) +#define RTC_BKP_DR2 ((uint32_t)0x00000002) +#define RTC_BKP_DR3 ((uint32_t)0x00000003) +#define RTC_BKP_DR4 ((uint32_t)0x00000004) +#define RTC_BKP_DR5 ((uint32_t)0x00000005) +#define RTC_BKP_DR6 ((uint32_t)0x00000006) +#define RTC_BKP_DR7 ((uint32_t)0x00000007) +#define RTC_BKP_DR8 ((uint32_t)0x00000008) +#define RTC_BKP_DR9 ((uint32_t)0x00000009) +#define RTC_BKP_DR10 ((uint32_t)0x0000000A) +#define RTC_BKP_DR11 ((uint32_t)0x0000000B) +#define RTC_BKP_DR12 ((uint32_t)0x0000000C) +#define RTC_BKP_DR13 ((uint32_t)0x0000000D) +#define RTC_BKP_DR14 ((uint32_t)0x0000000E) +#define RTC_BKP_DR15 ((uint32_t)0x0000000F) +#define RTC_BKP_DR16 ((uint32_t)0x00000010) +#define RTC_BKP_DR17 ((uint32_t)0x00000011) +#define RTC_BKP_DR18 ((uint32_t)0x00000012) +#define RTC_BKP_DR19 ((uint32_t)0x00000013) +#define RTC_BKP_DR20 ((uint32_t)0x00000014) +#define RTC_BKP_DR21 ((uint32_t)0x00000015) +#define RTC_BKP_DR22 ((uint32_t)0x00000016) +#define RTC_BKP_DR23 ((uint32_t)0x00000017) +#define RTC_BKP_DR24 ((uint32_t)0x00000018) +#define RTC_BKP_DR25 ((uint32_t)0x00000019) +#define RTC_BKP_DR26 ((uint32_t)0x0000001A) +#define RTC_BKP_DR27 ((uint32_t)0x0000001B) +#define RTC_BKP_DR28 ((uint32_t)0x0000001C) +#define RTC_BKP_DR29 ((uint32_t)0x0000001D) +#define RTC_BKP_DR30 ((uint32_t)0x0000001E) +#define RTC_BKP_DR31 ((uint32_t)0x0000001F) +/** + * @} + */ + +/** @defgroup RTCEx_TimeStamp_Edges_definitions RTC TimeStamp Edges Definitions + * + * @{ + */ +#define RTC_TIMESTAMPEDGE_RISING ((uint32_t)0x00000000) +#define RTC_TIMESTAMPEDGE_FALLING ((uint32_t)0x00000008) + +/** + * @} + */ + +/** @defgroup RTCEx_TimeStamp_Pin_Selection RTC TimeStamp Pins Selection + * @{ + */ +#define RTC_TIMESTAMPPIN_DEFAULT ((uint32_t)0x00000000) +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_Pins_Definitions RTC Tamper Pins Definitions + * @{ + */ +#define RTC_TAMPER_1 RTC_TAMPCR_TAMP1E +#define RTC_TAMPER_2 RTC_TAMPCR_TAMP2E +#define RTC_TAMPER_3 RTC_TAMPCR_TAMP3E +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_Interrupt_Definitions RTC Tamper Interrupts Definitions + * @{ + */ +#define RTC_TAMPER1_INTERRUPT RTC_TAMPCR_TAMP1IE +#define RTC_TAMPER2_INTERRUPT RTC_TAMPCR_TAMP2IE +#define RTC_TAMPER3_INTERRUPT RTC_TAMPCR_TAMP3IE +#define RTC_ALL_TAMPER_INTERRUPT RTC_TAMPCR_TAMPIE +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_Trigger_Definitions RTC Tamper Triggers Definitions + * @{ + */ +#define RTC_TAMPERTRIGGER_RISINGEDGE ((uint32_t)0x00000000) +#define RTC_TAMPERTRIGGER_FALLINGEDGE ((uint32_t)0x00000002) +#define RTC_TAMPERTRIGGER_LOWLEVEL RTC_TAMPERTRIGGER_RISINGEDGE +#define RTC_TAMPERTRIGGER_HIGHLEVEL RTC_TAMPERTRIGGER_FALLINGEDGE + +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_EraseBackUp_Definitions RTC Tamper EraseBackUp Definitions +* @{ +*/ +#define RTC_TAMPER_ERASE_BACKUP_ENABLE ((uint32_t)0x00000000) +#define RTC_TAMPER_ERASE_BACKUP_DISABLE ((uint32_t)0x00020000) +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_MaskFlag_Definitions RTC Tamper Mask Flag Definitions +* @{ +*/ +#define RTC_TAMPERMASK_FLAG_DISABLE ((uint32_t)0x00000000) +#define RTC_TAMPERMASK_FLAG_ENABLE ((uint32_t)0x00040000) +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_Filter_Definitions RTC Tamper Filter Definitions + * @{ + */ +#define RTC_TAMPERFILTER_DISABLE ((uint32_t)0x00000000) /*!< Tamper filter is disabled */ + +#define RTC_TAMPERFILTER_2SAMPLE ((uint32_t)0x00000800) /*!< Tamper is activated after 2 + consecutive samples at the active level */ +#define RTC_TAMPERFILTER_4SAMPLE ((uint32_t)0x00001000) /*!< Tamper is activated after 4 + consecutive samples at the active level */ +#define RTC_TAMPERFILTER_8SAMPLE ((uint32_t)0x00001800) /*!< Tamper is activated after 8 + consecutive samples at the active level. */ +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_Sampling_Frequencies_Definitions RTC Tamper Sampling Frequencies Definitions + * @{ + */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768 ((uint32_t)0x00000000) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 32768 */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384 ((uint32_t)0x00000100) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 16384 */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192 ((uint32_t)0x00000200) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 8192 */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096 ((uint32_t)0x00000300) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 4096 */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048 ((uint32_t)0x00000400) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 2048 */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024 ((uint32_t)0x00000500) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 1024 */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512 ((uint32_t)0x00000600) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 512 */ +#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256 ((uint32_t)0x00000700) /*!< Each of the tamper inputs are sampled + with a frequency = RTCCLK / 256 */ +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_Pin_Precharge_Duration_Definitions RTC Tamper Pin Precharge Duration Definitions + * @{ + */ +#define RTC_TAMPERPRECHARGEDURATION_1RTCCLK ((uint32_t)0x00000000) /*!< Tamper pins are pre-charged before + sampling during 1 RTCCLK cycle */ +#define RTC_TAMPERPRECHARGEDURATION_2RTCCLK ((uint32_t)0x00002000) /*!< Tamper pins are pre-charged before + sampling during 2 RTCCLK cycles */ +#define RTC_TAMPERPRECHARGEDURATION_4RTCCLK ((uint32_t)0x00004000) /*!< Tamper pins are pre-charged before + sampling during 4 RTCCLK cycles */ +#define RTC_TAMPERPRECHARGEDURATION_8RTCCLK ((uint32_t)0x00006000) /*!< Tamper pins are pre-charged before + sampling during 8 RTCCLK cycles */ +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_TimeStampOnTamperDetection_Definitions RTC Tamper TimeStamp On Tamper Detection Definitions + * @{ + */ +#define RTC_TIMESTAMPONTAMPERDETECTION_ENABLE ((uint32_t)RTC_TAMPCR_TAMPTS) /*!< TimeStamp on Tamper Detection event saved */ +#define RTC_TIMESTAMPONTAMPERDETECTION_DISABLE ((uint32_t)0x00000000) /*!< TimeStamp on Tamper Detection event is not saved */ +/** + * @} + */ + +/** @defgroup RTCEx_Tamper_Pull_UP_Definitions RTC Tamper Pull Up Definitions + * @{ + */ +#define RTC_TAMPER_PULLUP_ENABLE ((uint32_t)0x00000000) /*!< TimeStamp on Tamper Detection event saved */ +#define RTC_TAMPER_PULLUP_DISABLE ((uint32_t)RTC_TAMPCR_TAMPPUDIS) /*!< TimeStamp on Tamper Detection event is not saved */ +/** + * @} + */ + +/** @defgroup RTCEx_Wakeup_Timer_Definitions RTC Wakeup Timer Definitions + * @{ + */ +#define RTC_WAKEUPCLOCK_RTCCLK_DIV16 ((uint32_t)0x00000000) +#define RTC_WAKEUPCLOCK_RTCCLK_DIV8 ((uint32_t)0x00000001) +#define RTC_WAKEUPCLOCK_RTCCLK_DIV4 ((uint32_t)0x00000002) +#define RTC_WAKEUPCLOCK_RTCCLK_DIV2 ((uint32_t)0x00000003) +#define RTC_WAKEUPCLOCK_CK_SPRE_16BITS ((uint32_t)0x00000004) +#define RTC_WAKEUPCLOCK_CK_SPRE_17BITS ((uint32_t)0x00000006) +/** + * @} + */ + +/** @defgroup RTCEx_Smooth_calib_period_Definitions RTC Smooth Calib Period Definitions + * @{ + */ +#define RTC_SMOOTHCALIB_PERIOD_32SEC ((uint32_t)0x00000000) /*!< If RTCCLK = 32768 Hz, Smooth calibration + period is 32s, else 2exp20 RTCCLK seconds */ +#define RTC_SMOOTHCALIB_PERIOD_16SEC ((uint32_t)0x00002000) /*!< If RTCCLK = 32768 Hz, Smooth calibration + period is 16s, else 2exp19 RTCCLK seconds */ +#define RTC_SMOOTHCALIB_PERIOD_8SEC ((uint32_t)0x00004000) /*!< If RTCCLK = 32768 Hz, Smooth calibration + period is 8s, else 2exp18 RTCCLK seconds */ +/** + * @} + */ + +/** @defgroup RTCEx_Smooth_calib_Plus_pulses_Definitions RTC Smooth Calib Plus Pulses Definitions + * @{ + */ +#define RTC_SMOOTHCALIB_PLUSPULSES_SET ((uint32_t)0x00008000) /*!< The number of RTCCLK pulses added + during a X -second window = Y - CALM[8:0] + with Y = 512, 256, 128 when X = 32, 16, 8 */ +#define RTC_SMOOTHCALIB_PLUSPULSES_RESET ((uint32_t)0x00000000) /*!< The number of RTCCLK pulses subbstited + during a 32-second window = CALM[8:0] */ +/** + * @} + */ + +/** @defgroup RTCEx_Calib_Output_selection_Definitions RTC Calib Output Selection Definitions + * @{ + */ +#define RTC_CALIBOUTPUT_512HZ ((uint32_t)0x00000000) +#define RTC_CALIBOUTPUT_1HZ ((uint32_t)0x00080000) +/** + * @} + */ + +/** @defgroup RTCEx_Add_1_Second_Parameter_Definitions RTC Add 1 Second Parameter Definitions + * @{ + */ +#define RTC_SHIFTADD1S_RESET ((uint32_t)0x00000000) +#define RTC_SHIFTADD1S_SET ((uint32_t)0x80000000) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup RTCEx_Exported_Macros RTCEx Exported Macros + * @{ + */ + +/** + * @brief Enable the RTC WakeUp Timer peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_WUTE)) + +/** + * @brief Disable the RTC WakeUp Timer peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_WUTE)) + +/** + * @brief Enable the RTC WakeUpTimer interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC WakeUpTimer interrupt sources to be enabled. + * This parameter can be: + * @arg RTC_IT_WUT: WakeUpTimer interrupt + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) + +/** + * @brief Disable the RTC WakeUpTimer interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC WakeUpTimer interrupt sources to be disabled. + * This parameter can be: + * @arg RTC_IT_WUT: WakeUpTimer interrupt + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) + +/** + * @brief Check whether the specified RTC WakeUpTimer interrupt has occurred or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC WakeUpTimer interrupt sources to check. + * This parameter can be: + * @arg RTC_IT_WUT: WakeUpTimer interrupt + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4)) != RESET) ? SET : RESET) + +/** + * @brief Check whether the specified RTC Wake Up timer interrupt is enabled or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Wake Up timer interrupt sources to check. + * This parameter can be: + * @arg RTC_IT_WUT: WakeUpTimer interrupt + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET) + +/** + * @brief Get the selected RTC WakeUpTimer's flag status. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC WakeUpTimer Flag is pending or not. + * This parameter can be: + * @arg RTC_FLAG_WUTF + * @arg RTC_FLAG_WUTWF + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET) + +/** + * @brief Clear the RTC Wake Up timer's pending flags. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC WakeUpTimer Flag to clear. + * This parameter can be: + * @arg RTC_FLAG_WUTF + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) + +/** + * @brief Enable the RTC Tamper1 input detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TAMPER1_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR |= (RTC_TAMPCR_TAMP1E)) + +/** + * @brief Disable the RTC Tamper1 input detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TAMPER1_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR &= ~(RTC_TAMPCR_TAMP1E)) + +/** + * @brief Enable the RTC Tamper2 input detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TAMPER2_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR |= (RTC_TAMPCR_TAMP2E)) + +/** + * @brief Disable the RTC Tamper2 input detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TAMPER2_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR &= ~(RTC_TAMPCR_TAMP2E)) + +/** + * @brief Enable the RTC Tamper3 input detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TAMPER3_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR |= (RTC_TAMPCR_TAMP3E)) + +/** + * @brief Disable the RTC Tamper3 input detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TAMPER3_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR &= ~(RTC_TAMPCR_TAMP3E)) + +/** + * @brief Enable the RTC Tamper interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be enabled. + * This parameter can be any combination of the following values: + * @arg RTC_IT_TAMP: All tampers interrupts + * @arg RTC_IT_TAMP1: Tamper1 interrupt + * @arg RTC_IT_TAMP2: Tamper2 interrupt + * @arg RTC_IT_TAMP3: Tamper3 interrupt + * @retval None + */ +#define __HAL_RTC_TAMPER_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->TAMPCR |= (__INTERRUPT__)) + +/** + * @brief Disable the RTC Tamper interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be disabled. + * This parameter can be any combination of the following values: + * @arg RTC_IT_TAMP: All tampers interrupts + * @arg RTC_IT_TAMP1: Tamper1 interrupt + * @arg RTC_IT_TAMP2: Tamper2 interrupt + * @arg RTC_IT_TAMP3: Tamper3 interrupt + * @retval None + */ +#define __HAL_RTC_TAMPER_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->TAMPCR &= ~(__INTERRUPT__)) + +/** + * @brief Check whether the specified RTC Tamper interrupt has occurred or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Tamper interrupt to check. + * This parameter can be: + * @arg RTC_IT_TAMP1: Tamper1 interrupt + * @arg RTC_IT_TAMP2: Tamper2 interrupt + * @arg RTC_IT_TAMP3: Tamper3 interrupt + * @retval None + */ +#define __HAL_RTC_TAMPER_GET_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) == RTC_IT_TAMP1) ? (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 3)) != RESET) ? SET : RESET) : \ + ((__INTERRUPT__) == RTC_IT_TAMP2) ? (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 5)) != RESET) ? SET : RESET) : \ + (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 7)) != RESET) ? SET : RESET)) + +/** + * @brief Check whether the specified RTC Tamper interrupt is enabled or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Tamper interrupt source to check. + * This parameter can be: + * @arg RTC_IT_TAMP: All tampers interrupts + * @arg RTC_IT_TAMP1: Tamper1 interrupt + * @arg RTC_IT_TAMP2: Tamper2 interrupt + * @arg RTC_IT_TAMP3: Tamper3 interrupt + * @retval None + */ +#define __HAL_RTC_TAMPER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->TAMPCR) & (__INTERRUPT__)) != RESET) ? SET : RESET) + +/** + * @brief Get the selected RTC Tamper's flag status. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC Tamper Flag is pending or not. + * This parameter can be: + * @arg RTC_FLAG_TAMP1F: Tamper1 flag + * @arg RTC_FLAG_TAMP2F: Tamper2 flag + * @arg RTC_FLAG_TAMP3F: Tamper3 flag + * @retval None + */ +#define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET) + +/** + * @brief Clear the RTC Tamper's pending flags. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC Tamper Flag sources to clear. + * This parameter can be: + * @arg RTC_FLAG_TAMP1F: Tamper1 flag + * @arg RTC_FLAG_TAMP2F: Tamper2 flag + * @arg RTC_FLAG_TAMP3F: Tamper3 flag + * @retval None + */ +#define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) + +/** + * @brief Enable the RTC TimeStamp peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_TSE)) + +/** + * @brief Disable the RTC TimeStamp peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_TSE)) + +/** + * @brief Enable the RTC TimeStamp interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC TimeStamp interrupt source to be enabled. + * This parameter can be: + * @arg RTC_IT_TS: TimeStamp interrupt + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) + +/** + * @brief Disable the RTC TimeStamp interrupt. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC TimeStamp interrupt source to be disabled. + * This parameter can be: + * @arg RTC_IT_TS: TimeStamp interrupt + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) + +/** + * @brief Check whether the specified RTC TimeStamp interrupt has occurred or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC TimeStamp interrupt source to check. + * This parameter can be: + * @arg RTC_IT_TS: TimeStamp interrupt + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4)) != RESET) ? SET : RESET) + +/** + * @brief Check whether the specified RTC Time Stamp interrupt is enabled or not. + * @param __HANDLE__: specifies the RTC handle. + * @param __INTERRUPT__: specifies the RTC Time Stamp interrupt source to check. + * This parameter can be: + * @arg RTC_IT_TS: TimeStamp interrupt + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET) + +/** + * @brief Get the selected RTC TimeStamp's flag status. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC TimeStamp Flag is pending or not. + * This parameter can be: + * @arg RTC_FLAG_TSF + * @arg RTC_FLAG_TSOVF + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET) + +/** + * @brief Clear the RTC Time Stamp's pending flags. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC Alarm Flag sources to clear. + * This parameter can be: + * @arg RTC_FLAG_TSF + * @arg RTC_FLAG_TSOVF + * @retval None + */ +#define __HAL_RTC_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) + +/** + * @brief Enable the RTC internal TimeStamp peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_INTERNAL_TIMESTAMP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ITSE)) + +/** + * @brief Disable the RTC internal TimeStamp peripheral. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_INTERNAL_TIMESTAMP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ITSE)) + +/** + * @brief Get the selected RTC Internal Time Stamp's flag status. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC Internal Time Stamp Flag is pending or not. + * This parameter can be: + * @arg RTC_FLAG_ITSF + * @retval None + */ +#define __HAL_RTC_INTERNAL_TIMESTAMP_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET) + +/** + * @brief Clear the RTC Internal Time Stamp's pending flags. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC Internal Time Stamp Flag source to clear. + * This parameter can be: + * @arg RTC_FLAG_ITSF + * @retval None + */ +#define __HAL_RTC_INTERNAL_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) + +/** + * @brief Enable the RTC calibration output. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_CALIBRATION_OUTPUT_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_COE)) + +/** + * @brief Disable the calibration output. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_CALIBRATION_OUTPUT_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_COE)) + +/** + * @brief Enable the clock reference detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_CLOCKREF_DETECTION_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_REFCKON)) + +/** + * @brief Disable the clock reference detection. + * @param __HANDLE__: specifies the RTC handle. + * @retval None + */ +#define __HAL_RTC_CLOCKREF_DETECTION_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_REFCKON)) + +/** + * @brief Get the selected RTC shift operation's flag status. + * @param __HANDLE__: specifies the RTC handle. + * @param __FLAG__: specifies the RTC shift operation Flag is pending or not. + * This parameter can be: + * @arg RTC_FLAG_SHPF + * @retval None + */ +#define __HAL_RTC_SHIFT_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET) + +/** + * @brief Enable interrupt on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT() (EXTI_D1->IMR1 |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Disable interrupt on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT() (EXTI_D1->IMR1 &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) + +/** + * @brief Enable event on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_EVENT() (EXTI_D1->EMR1 |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Disable event on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_EVENT() (EXTI_D1->EMR1 &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) +/** + * @brief Enable event on the RTC WakeUp Timer associated D3 Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTID3_ENABLE_EVENT() (EXTI->D3PMR1 |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Disable event on the RTC WakeUp Timer associated D3 Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTID3_DISABLE_EVENT() (EXTI->D3PMR1 &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) + +/** + * @brief Enable falling edge trigger on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR1 |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Disable falling edge trigger on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR1 &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) + +/** + * @brief Enable rising edge trigger on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR1 |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Disable rising edge trigger on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR1 &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) + +/** + * @brief Enable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ + __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE(); \ + __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE(); \ + } while(0) +/** + * @brief Disable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line. + * This parameter can be: + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_EDGE() do { \ + __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE(); \ + __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE(); \ + } while(0) +/** + * @brief Check whether the RTC WakeUp Timer associated Exti line interrupt flag is set or not. + * @retval Line Status. + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_GET_FLAG() (EXTI_D1->PR1 & RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Clear the RTC WakeUp Timer associated Exti line flag. + * @retval None + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG() (EXTI_D1->PR1 = RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Enable interrupt on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT() (EXTI_D1->IMR1 |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) + +/** + * @brief Disable interrupt on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_IT() (EXTI_D1->IMR1 &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) + +/** + * @brief Enable event on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_EVENT() (EXTI_D1->EMR1 |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) + +/** + * @brief Disable event on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_EVENT() (EXTI_D1->EMR1 &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) + +/** + * @brief Check whether the RTC WakeUp Timer associated D3 Exti line interrupt flag is set or not. + * @retval Line Status + */ +#define __HAL_RTC_WAKEUPTIMER_EXTID3_GET_FLAG() (EXTI_D3->PR1 & RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Clear the RTC WakeUp Timer associated D3 Exti line flag. + * @retval None. + */ +#define __HAL_RTC_WAKEUPTIMER_EXTID3_CLEAR_FLAG() (EXTI_D3->PR1 = RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + +/** + * @brief Generate a Software interrupt on the RTC WakeUp Timer associated Exti line. + * @retval None. + */ +#define __HAL_RTC_WAKEUPTIMER_EXTI_GENERATE_SWIT() (EXTI->SWIER1 |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) + + +/** + * @brief Enable falling edge trigger on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR1 |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) + +/** + * @brief Disable falling edge trigger on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR1 &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) + +/** + * @brief Enable rising edge trigger on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR1 |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) + +/** + * @brief Disable rising edge trigger on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR1 &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) + +/** + * @brief Enable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_FALLING_EDGE() do { \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE(); \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_FALLING_EDGE(); \ + } while(0) +/** + * @brief Disable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_FALLING_EDGE() do { \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_EDGE(); \ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_FALLING_EDGE(); \ + } while(0) +/** + * @brief Check whether the RTC Tamper and Timestamp associated Exti line interrupt flag is set or not. + * @retval Line Status + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG() (EXTI_D1->PR1 & RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) + +/** + * @brief Clear the RTC Tamper and Timestamp associated Exti line flag. + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG() (EXTI_D1->PR1 = RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) + +/** + * @brief Generate a Software interrupt on the RTC Tamper and Timestamp associated Exti line + * @retval None + */ +#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GENERATE_SWIT() (EXTI->SWIER1 |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup RTCEx_Exported_Functions + * @{ + */ + +/* RTC TimeStamp and Tamper functions *****************************************/ +/** @addtogroup RTCEx_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin); +HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp_IT(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin); +HAL_StatusTypeDef HAL_RTCEx_DeactivateTimeStamp(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_SetInternalTimeStamp(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_DeactivateInternalTimeStamp(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTimeStamp, RTC_DateTypeDef *sTimeStampDate, uint32_t Format); +HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper); +HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper); +HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper); + +void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc); +void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc); +void HAL_RTCEx_Tamper2EventCallback(RTC_HandleTypeDef *hrtc); +void HAL_RTCEx_Tamper3EventCallback(RTC_HandleTypeDef *hrtc); +void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc); + + +HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout); +HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); +HAL_StatusTypeDef HAL_RTCEx_PollForTamper2Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); +HAL_StatusTypeDef HAL_RTCEx_PollForTamper3Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); +/** + * @} + */ + +/* RTC Wake-up functions ******************************************************/ +/** @addtogroup RTCEx_Exported_Functions_Group2 + * @{ + */ +HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock); +HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock); +uint32_t HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc); +uint32_t HAL_RTCEx_GetWakeUpTimer(RTC_HandleTypeDef *hrtc); +void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc); +void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout); +/** + * @} + */ + +/* Extended Control functions ************************************************/ +/** @addtogroup RTCEx_Exported_Functions_Group3 + * @{ + */ +void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data); +uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister); + +HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmoothCalibMinusPulsesValue); +HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef *hrtc, uint32_t ShiftAdd1S, uint32_t ShiftSubFS); +HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef *hrtc, uint32_t CalibOutput); +HAL_StatusTypeDef HAL_RTCEx_DeactivateCalibrationOutPut(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_SetRefClock(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_DeactivateRefClock(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_EnableBypassShadow(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef *hrtc); +/** + * @} + */ + +/* Extended RTC features functions *******************************************/ +/** @addtogroup RTCEx_Exported_Functions_Group4 + * @{ + */ +void HAL_RTCEx_AlarmBEventCallback(RTC_HandleTypeDef *hrtc); +HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout); +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup RTCEx_Private_Constants RTCEx Private Constants + * @{ + */ +#define RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT ((uint32_t)0x00040000) /*!< External interrupt line 18 Connected to the RTC Tamper and Time Stamp events */ +#define RTC_EXTI_LINE_WAKEUPTIMER_EVENT ((uint32_t)0x00080000) /*!< External interrupt line 19 Connected to the RTC Wakeup event */ + +/* Masks Definition */ +#define RTC_TAMPCR_TAMPXE ((uint32_t) (RTC_TAMPCR_TAMP3E | RTC_TAMPCR_TAMP2E | RTC_TAMPCR_TAMP1E)) +#define RTC_TAMPCR_TAMPXIE ((uint32_t) (RTC_TAMPER1_INTERRUPT | RTC_TAMPER2_INTERRUPT | RTC_TAMPER3_INTERRUPT | RTC_ALL_TAMPER_INTERRUPT)) + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup RTCEx_Private_Macros RTCEx Private Macros + * @{ + */ + +/** @defgroup RTCEx_IS_RTC_Definitions Private macros to check input parameters + * @{ + */ + +#define IS_RTC_OUTPUT(OUTPUT) (((OUTPUT) == RTC_OUTPUT_DISABLE) || \ + ((OUTPUT) == RTC_OUTPUT_ALARMA) || \ + ((OUTPUT) == RTC_OUTPUT_ALARMB) || \ + ((OUTPUT) == RTC_OUTPUT_WAKEUP)) + +#define IS_RTC_BKP(BKP) ((BKP) < (uint32_t) RTC_BKP_NUMBER) + +#define IS_TIMESTAMP_EDGE(EDGE) (((EDGE) == RTC_TIMESTAMPEDGE_RISING) || \ + ((EDGE) == RTC_TIMESTAMPEDGE_FALLING)) + +#define IS_RTC_TAMPER(__TAMPER__) ((((__TAMPER__) & ((uint32_t)(0xFFFFFFFFU ^ RTC_TAMPCR_TAMPXE))) == 0x00U) && ((__TAMPER__) != (uint32_t)RESET)) + +#define IS_RTC_TAMPER_INTERRUPT(__INTERRUPT__) ((((__INTERRUPT__) & (uint32_t)(0xFFFFFFFFU ^ RTC_TAMPCR_TAMPXIE)) == 0x00U) && ((__INTERRUPT__) != (uint32_t)RESET)) + +#define IS_RTC_TIMESTAMP_PIN(PIN) (((PIN) == RTC_TIMESTAMPPIN_DEFAULT)) + +#define IS_RTC_TAMPER_TRIGGER(TRIGGER) (((TRIGGER) == RTC_TAMPERTRIGGER_RISINGEDGE) || \ + ((TRIGGER) == RTC_TAMPERTRIGGER_FALLINGEDGE) || \ + ((TRIGGER) == RTC_TAMPERTRIGGER_LOWLEVEL) || \ + ((TRIGGER) == RTC_TAMPERTRIGGER_HIGHLEVEL)) + +#define IS_RTC_TAMPER_ERASE_MODE(MODE) (((MODE) == RTC_TAMPER_ERASE_BACKUP_ENABLE) || \ + ((MODE) == RTC_TAMPER_ERASE_BACKUP_DISABLE)) + +#define IS_RTC_TAMPER_MASKFLAG_STATE(STATE) (((STATE) == RTC_TAMPERMASK_FLAG_ENABLE) || \ + ((STATE) == RTC_TAMPERMASK_FLAG_DISABLE)) + +#define IS_RTC_TAMPER_FILTER(FILTER) (((FILTER) == RTC_TAMPERFILTER_DISABLE) || \ + ((FILTER) == RTC_TAMPERFILTER_2SAMPLE) || \ + ((FILTER) == RTC_TAMPERFILTER_4SAMPLE) || \ + ((FILTER) == RTC_TAMPERFILTER_8SAMPLE)) + +#define IS_RTC_TAMPER_SAMPLING_FREQ(FREQ) (((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768)|| \ + ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384)|| \ + ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192) || \ + ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096) || \ + ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048) || \ + ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024) || \ + ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512) || \ + ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256)) + +#define IS_RTC_TAMPER_PRECHARGE_DURATION(DURATION) (((DURATION) == RTC_TAMPERPRECHARGEDURATION_1RTCCLK) || \ + ((DURATION) == RTC_TAMPERPRECHARGEDURATION_2RTCCLK) || \ + ((DURATION) == RTC_TAMPERPRECHARGEDURATION_4RTCCLK) || \ + ((DURATION) == RTC_TAMPERPRECHARGEDURATION_8RTCCLK)) + +#define IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(DETECTION) (((DETECTION) == RTC_TIMESTAMPONTAMPERDETECTION_ENABLE) || \ + ((DETECTION) == RTC_TIMESTAMPONTAMPERDETECTION_DISABLE)) + +#define IS_RTC_TAMPER_PULLUP_STATE(STATE) (((STATE) == RTC_TAMPER_PULLUP_ENABLE) || \ + ((STATE) == RTC_TAMPER_PULLUP_DISABLE)) + +#define IS_RTC_WAKEUP_CLOCK(CLOCK) (((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV16) || \ + ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV8) || \ + ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV4) || \ + ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV2) || \ + ((CLOCK) == RTC_WAKEUPCLOCK_CK_SPRE_16BITS) || \ + ((CLOCK) == RTC_WAKEUPCLOCK_CK_SPRE_17BITS)) + +#define IS_RTC_WAKEUP_COUNTER(COUNTER) ((COUNTER) <= 0xFFFF) + +#define IS_RTC_SMOOTH_CALIB_PERIOD(PERIOD) (((PERIOD) == RTC_SMOOTHCALIB_PERIOD_32SEC) || \ + ((PERIOD) == RTC_SMOOTHCALIB_PERIOD_16SEC) || \ + ((PERIOD) == RTC_SMOOTHCALIB_PERIOD_8SEC)) + +#define IS_RTC_SMOOTH_CALIB_PLUS(PLUS) (((PLUS) == RTC_SMOOTHCALIB_PLUSPULSES_SET) || \ + ((PLUS) == RTC_SMOOTHCALIB_PLUSPULSES_RESET)) + +#define IS_RTC_SMOOTH_CALIB_MINUS(VALUE) ((VALUE) <= 0x000001FF) + +#define IS_RTC_SHIFT_ADD1S(SEL) (((SEL) == RTC_SHIFTADD1S_RESET) || \ + ((SEL) == RTC_SHIFTADD1S_SET)) + +#define IS_RTC_SHIFT_SUBFS(FS) ((FS) <= 0x00007FFF) + +#define IS_RTC_CALIB_OUTPUT(OUTPUT) (((OUTPUT) == RTC_CALIBOUTPUT_512HZ) || \ + ((OUTPUT) == RTC_CALIBOUTPUT_1HZ)) + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_RTC_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai.h new file mode 100644 index 0000000000..11f5259d3d --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai.h @@ -0,0 +1,902 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sai.h + * @author MCD Application Team + * @brief Header file of SAI HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SAI_H +#define __STM32H7xx_HAL_SAI_H + +#ifdef __cplusplus + extern "C" { +#endif + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SAI + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SAI_Exported_Types SAI Exported Types + * @{ + */ + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_SAI_STATE_RESET = 0x00U, /*!< SAI not yet initialized or disabled */ + HAL_SAI_STATE_READY = 0x01U, /*!< SAI initialized and ready for use */ + HAL_SAI_STATE_BUSY = 0x02U, /*!< SAI internal process is ongoing */ + HAL_SAI_STATE_BUSY_TX = 0x12U, /*!< Data transmission process is ongoing */ + HAL_SAI_STATE_BUSY_RX = 0x22U, /*!< Data reception process is ongoing */ +} HAL_SAI_StateTypeDef; + +/** + * @brief SAI Callback prototype + */ +typedef void (*SAIcallback)(void); + +/** @defgroup SAI_PDM_Structure_definition SAI PDM Structure definition + * @brief SAI PDM Init structure definition + * @{ + */ +typedef struct +{ + FunctionalState Activation; /*!< Enable/Disable PDM interface */ + uint32_t MicPairsNbr; /*!< Specifies the number of microphone pairs used. + This parameter must be a number between Min_Data = 1 and Max_Data = 4. */ + uint32_t ClockEnable; /*!< Specifies which clock must be enabled. + This parameter can be a values combination of @ref SAI_PDM_ClockEnable */ +} SAI_PdmInitTypeDef; +/** + * @} + */ + + +/** @defgroup SAI_Init_Structure_definition SAI Init Structure definition + * @brief SAI Init Structure definition + * @{ + */ +typedef struct +{ + uint32_t AudioMode; /*!< Specifies the SAI Block audio Mode. + This parameter can be a value of @ref SAI_Block_Mode */ + + uint32_t Synchro; /*!< Specifies SAI Block synchronization + This parameter can be a value of @ref SAI_Block_Synchronization */ + + uint32_t SynchroExt; /*!< Specifies SAI external output synchronization, this setup is common + for BlockA and BlockB + This parameter can be a value of @ref SAI_Block_SyncExt + @note: If both audio blocks of same SAI are used, this parameter has + to be set to the same value for each audio block */ + + uint32_t OutputDrive; /*!< Specifies when SAI Block outputs are driven. + This parameter can be a value of @ref SAI_Block_Output_Drive + @note this value has to be set before enabling the audio block + but after the audio block configuration. */ + + uint32_t NoDivider; /*!< Specifies whether master clock will be divided or not. + This parameter can be a value of @ref SAI_Block_NoDivider + @note: If bit NOMCK in the SAI_xCR1 register is cleared, the frame length + should be aligned to a number equal to a power of 2, from 8 to 256. + If bit NOMCK in the SAI_xCR1 register is set, the frame length can + take any of the values without constraint since the input clock of + the audio block should be equal to the bit clock. + There is no MCLK_x clock which can be output. */ + + uint32_t FIFOThreshold; /*!< Specifies SAI Block FIFO threshold. + This parameter can be a value of @ref SAI_Block_Fifo_Threshold */ + + uint32_t AudioFrequency; /*!< Specifies the audio frequency sampling. + This parameter can be a value of @ref SAI_Audio_Frequency */ + + uint32_t Mckdiv; /*!< Specifies the master clock divider, the parameter will be used if for + AudioFrequency the user choice + This parameter must be a number between Min_Data = 0 and Max_Data = 63 */ + + uint32_t MckOverSampling; /*!< Specifies the master clock oversampling. + This parameter can be a value of @ref SAI_Block_Mck_OverSampling */ + + uint32_t MonoStereoMode; /*!< Specifies if the mono or stereo mode is selected. + This parameter can be a value of @ref SAI_Mono_Stereo_Mode */ + + uint32_t CompandingMode; /*!< Specifies the companding mode type. + This parameter can be a value of @ref SAI_Block_Companding_Mode */ + + uint32_t TriState; /*!< Specifies the companding mode type. + This parameter can be a value of @ref SAI_TRIState_Management */ + + SAI_PdmInitTypeDef PdmInit; /*!< Specifies the PDM configuration. */ + + /* This part of the structure is automatically filled if your are using the high level initialisation + function HAL_SAI_InitProtocol */ + + uint32_t Protocol; /*!< Specifies the SAI Block protocol. + This parameter can be a value of @ref SAI_Block_Protocol */ + + uint32_t DataSize; /*!< Specifies the SAI Block data size. + This parameter can be a value of @ref SAI_Block_Data_Size */ + + uint32_t FirstBit; /*!< Specifies whether data transfers start from MSB or LSB bit. + This parameter can be a value of @ref SAI_Block_MSB_LSB_transmission */ + + uint32_t ClockStrobing; /*!< Specifies the SAI Block clock strobing edge sensitivity. + This parameter can be a value of @ref SAI_Block_Clock_Strobing */ +} SAI_InitTypeDef; +/** + * @} + */ + +/** @defgroup SAI_Frame_Structure_definition SAI Frame Structure definition + * @brief SAI Frame Init structure definition + * @{ + */ +typedef struct +{ + + uint32_t FrameLength; /*!< Specifies the Frame length, the number of SCK clocks for each audio frame. + This parameter must be a number between Min_Data = 8 and Max_Data = 256. + @note: If master clock MCLK_x pin is declared as an output, the frame length + should be aligned to a number equal to power of 2 in order to keep + in an audio frame, an integer number of MCLK pulses by bit Clock. */ + + uint32_t ActiveFrameLength; /*!< Specifies the Frame synchronization active level length. + This Parameter specifies the length in number of bit clock (SCK + 1) + of the active level of FS signal in audio frame. + This parameter must be a number between Min_Data = 1 and Max_Data = 128 */ + + uint32_t FSDefinition; /*!< Specifies the Frame synchronization definition. + This parameter can be a value of @ref SAI_Block_FS_Definition */ + + uint32_t FSPolarity; /*!< Specifies the Frame synchronization Polarity. + This parameter can be a value of @ref SAI_Block_FS_Polarity */ + + uint32_t FSOffset; /*!< Specifies the Frame synchronization Offset. + This parameter can be a value of @ref SAI_Block_FS_Offset */ + +} SAI_FrameInitTypeDef; +/** + * @} + */ + +/** @defgroup SAI_Slot_Structure_definition SAI Slot Structure definition + * @brief SAI Block Slot Init Structure definition + * @{ + */ +typedef struct +{ + uint32_t FirstBitOffset; /*!< Specifies the position of first data transfer bit in the slot. + This parameter must be a number between Min_Data = 0 and Max_Data = 24 */ + + uint32_t SlotSize; /*!< Specifies the Slot Size. + This parameter can be a value of @ref SAI_Block_Slot_Size */ + + uint32_t SlotNumber; /*!< Specifies the number of slot in the audio frame. + This parameter must be a number between Min_Data = 1 and Max_Data = 16 */ + + uint32_t SlotActive; /*!< Specifies the slots in audio frame that will be activated. + This parameter can be a value of @ref SAI_Block_Slot_Active */ +} SAI_SlotInitTypeDef; +/** + * @} + */ + +/** @defgroup SAI_Handle_Structure_definition SAI Handle Structure definition + * @brief SAI handle Structure definition + * @{ + */ +typedef struct __SAI_HandleTypeDef +{ + SAI_Block_TypeDef *Instance; /*!< SAI Blockx registers base address */ + + SAI_InitTypeDef Init; /*!< SAI communication parameters */ + + SAI_FrameInitTypeDef FrameInit; /*!< SAI Frame configuration parameters */ + + SAI_SlotInitTypeDef SlotInit; /*!< SAI Slot configuration parameters */ + + uint8_t *pBuffPtr; /*!< Pointer to SAI transfer Buffer */ + + uint16_t XferSize; /*!< SAI transfer size */ + + uint16_t XferCount; /*!< SAI transfer counter */ + + DMA_HandleTypeDef *hdmatx; /*!< SAI Tx DMA handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< SAI Rx DMA handle parameters */ + + SAIcallback mutecallback; /*!< SAI mute callback */ + + void (*InterruptServiceRoutine)(struct __SAI_HandleTypeDef *hsai); /* function pointer for IRQ handler */ + + HAL_LockTypeDef Lock; /*!< SAI locking object */ + + __IO HAL_SAI_StateTypeDef State; /*!< SAI communication state */ + + __IO uint32_t ErrorCode; /*!< SAI Error code */ +} SAI_HandleTypeDef; +/** + * @} + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup SAI_Exported_Constants SAI Exported Constants + * @{ + */ + +/** @defgroup SAI_Error_Code SAI Error Code + * @{ + */ +#define HAL_SAI_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define HAL_SAI_ERROR_OVR ((uint32_t)0x00000001U) /*!< Overrun Error */ +#define HAL_SAI_ERROR_UDR ((uint32_t)0x00000002U) /*!< Underrun error */ +#define HAL_SAI_ERROR_AFSDET ((uint32_t)0x00000004U) /*!< Anticipated Frame synchronisation detection */ +#define HAL_SAI_ERROR_LFSDET ((uint32_t)0x00000008U) /*!< Late Frame synchronisation detection */ +#define HAL_SAI_ERROR_CNREADY ((uint32_t)0x00000010U) /*!< codec not ready */ +#define HAL_SAI_ERROR_WCKCFG ((uint32_t)0x00000020U) /*!< Wrong clock configuration */ +#define HAL_SAI_ERROR_TIMEOUT ((uint32_t)0x00000040U) /*!< Timeout error */ +#define HAL_SAI_ERROR_DMA ((uint32_t)0x00000080U) /*!< DMA error */ +/** + * @} + */ + +/** @defgroup SAI_Block_SyncExt SAI External synchronisation + * @{ + */ +#define SAI_SYNCEXT_DISABLE 0 +#define SAI_SYNCEXT_OUTBLOCKA_ENABLE 1 +#define SAI_SYNCEXT_OUTBLOCKB_ENABLE 2 +/** + * @} + */ + +/** @defgroup SAI_Protocol SAI Supported protocol + * @{ + */ +#define SAI_I2S_STANDARD 0 +#define SAI_I2S_MSBJUSTIFIED 1 +#define SAI_I2S_LSBJUSTIFIED 2 +#define SAI_PCM_LONG 3 +#define SAI_PCM_SHORT 4 +/** + * @} + */ + +/** @defgroup SAI_Protocol_DataSize SAI protocol data size + * @{ + */ +#define SAI_PROTOCOL_DATASIZE_16BIT 0 +#define SAI_PROTOCOL_DATASIZE_16BITEXTENDED 1 +#define SAI_PROTOCOL_DATASIZE_24BIT 2 +#define SAI_PROTOCOL_DATASIZE_32BIT 3 +/** + * @} + */ + +/** @defgroup SAI_Audio_Frequency SAI Audio Frequency + * @{ + */ +#define SAI_AUDIO_FREQUENCY_192K ((uint32_t)192000U) +#define SAI_AUDIO_FREQUENCY_96K ((uint32_t)96000U) +#define SAI_AUDIO_FREQUENCY_48K ((uint32_t)48000U) +#define SAI_AUDIO_FREQUENCY_44K ((uint32_t)44100U) +#define SAI_AUDIO_FREQUENCY_32K ((uint32_t)32000U) +#define SAI_AUDIO_FREQUENCY_22K ((uint32_t)22050U) +#define SAI_AUDIO_FREQUENCY_16K ((uint32_t)16000U) +#define SAI_AUDIO_FREQUENCY_11K ((uint32_t)11025U) +#define SAI_AUDIO_FREQUENCY_8K ((uint32_t)8000U) +#define SAI_AUDIO_FREQUENCY_MCKDIV ((uint32_t)0U) +/** + * @} + */ + +/** @defgroup SAI_Block_Mck_OverSampling SAI Block Master Clock OverSampling + * @{ + */ +#define SAI_MCK_OVERSAMPLING_DISABLE ((uint32_t)0x00000000U) +#define SAI_MCK_OVERSAMPLING_ENABLE ((uint32_t)SAI_xCR1_OSR) +/** + * @} + */ + +/** @defgroup SAI_PDM_ClockEnable SAI PDM Clock Enable + * @{ + */ +#define SAI_PDM_CLOCK1_ENABLE ((uint32_t)SAI_PDMCR_CKEN1) +#define SAI_PDM_CLOCK2_ENABLE ((uint32_t)SAI_PDMCR_CKEN2) +#define SAI_PDM_CLOCK3_ENABLE ((uint32_t)SAI_PDMCR_CKEN3) +#define SAI_PDM_CLOCK4_ENABLE ((uint32_t)SAI_PDMCR_CKEN4) +/** + * @} + */ + +/** @defgroup SAI_Block_Mode SAI Block Mode + * @{ + */ +#define SAI_MODEMASTER_TX ((uint32_t)0x00000000U) +#define SAI_MODEMASTER_RX ((uint32_t)SAI_xCR1_MODE_0) +#define SAI_MODESLAVE_TX ((uint32_t)SAI_xCR1_MODE_1) +#define SAI_MODESLAVE_RX ((uint32_t)(SAI_xCR1_MODE_1 | SAI_xCR1_MODE_0)) + +/** + * @} + */ + +/** @defgroup SAI_Block_Protocol SAI Block Protocol + * @{ + */ +#define SAI_FREE_PROTOCOL ((uint32_t)0x00000000U) +#define SAI_SPDIF_PROTOCOL ((uint32_t)SAI_xCR1_PRTCFG_0) +#define SAI_AC97_PROTOCOL ((uint32_t)SAI_xCR1_PRTCFG_1) +/** + * @} + */ + +/** @defgroup SAI_Block_Data_Size SAI Block Data Size + * @{ + */ +#define SAI_DATASIZE_8 ((uint32_t)SAI_xCR1_DS_1) +#define SAI_DATASIZE_10 ((uint32_t)(SAI_xCR1_DS_1 | SAI_xCR1_DS_0)) +#define SAI_DATASIZE_16 ((uint32_t)SAI_xCR1_DS_2) +#define SAI_DATASIZE_20 ((uint32_t)(SAI_xCR1_DS_2 | SAI_xCR1_DS_0)) +#define SAI_DATASIZE_24 ((uint32_t)(SAI_xCR1_DS_2 | SAI_xCR1_DS_1)) +#define SAI_DATASIZE_32 ((uint32_t)(SAI_xCR1_DS_2 | SAI_xCR1_DS_1 | SAI_xCR1_DS_0)) +/** + * @} + */ + +/** @defgroup SAI_Block_MSB_LSB_transmission SAI Block MSB LSB transmission + * @{ + */ +#define SAI_FIRSTBIT_MSB ((uint32_t)0x00000000U) +#define SAI_FIRSTBIT_LSB ((uint32_t)SAI_xCR1_LSBFIRST) +/** + * @} + */ + +/** @defgroup SAI_Block_Clock_Strobing SAI Block Clock Strobing + * @{ + */ +#define SAI_CLOCKSTROBING_FALLINGEDGE 0 +#define SAI_CLOCKSTROBING_RISINGEDGE 1 +/** + * @} + */ + +/** @defgroup SAI_Block_Synchronization SAI Block Synchronization + * @{ + */ +#define SAI_ASYNCHRONOUS 0 /*!< Asynchronous */ +#define SAI_SYNCHRONOUS 1 /*!< Synchronous with other block of same SAI */ +#define SAI_SYNCHRONOUS_EXT_SAI1 2 /*!< Synchronous with other SAI, SAI1 */ +#define SAI_SYNCHRONOUS_EXT_SAI2 3 /*!< Synchronous with other SAI, SAI2 */ +/** + * @} + */ + +/** @defgroup SAI_Block_Output_Drive SAI Block Output Drive + * @{ + */ +#define SAI_OUTPUTDRIVE_DISABLE ((uint32_t)0x00000000U) +#define SAI_OUTPUTDRIVE_ENABLE ((uint32_t)SAI_xCR1_OUTDRIV) +/** + * @} + */ + +/** @defgroup SAI_Block_NoDivider SAI Block NoDivider + * @{ + */ +#define SAI_MASTERDIVIDER_ENABLE ((uint32_t)0x00000000U) +#define SAI_MASTERDIVIDER_DISABLE ((uint32_t)SAI_xCR1_NOMCK) +/** + * @} + */ + + +/** @defgroup SAI_Block_FS_Definition SAI Block FS Definition + * @{ + */ +#define SAI_FS_STARTFRAME ((uint32_t)0x00000000U) +#define SAI_FS_CHANNEL_IDENTIFICATION ((uint32_t)SAI_xFRCR_FSDEF) +/** + * @} + */ + +/** @defgroup SAI_Block_FS_Polarity SAI Block FS Polarity + * @{ + */ +#define SAI_FS_ACTIVE_LOW ((uint32_t)0x00000000U) +#define SAI_FS_ACTIVE_HIGH ((uint32_t)SAI_xFRCR_FSPOL) +/** + * @} + */ + +/** @defgroup SAI_Block_FS_Offset SAI Block FS Offset + * @{ + */ +#define SAI_FS_FIRSTBIT ((uint32_t)0x00000000U) +#define SAI_FS_BEFOREFIRSTBIT ((uint32_t)SAI_xFRCR_FSOFF) +/** + * @} + */ + + + /** @defgroup SAI_Block_Slot_Size SAI Block Slot Size + * @{ + */ +#define SAI_SLOTSIZE_DATASIZE ((uint32_t)0x00000000U) +#define SAI_SLOTSIZE_16B ((uint32_t)SAI_xSLOTR_SLOTSZ_0) +#define SAI_SLOTSIZE_32B ((uint32_t)SAI_xSLOTR_SLOTSZ_1) +/** + * @} + */ + +/** @defgroup SAI_Block_Slot_Active SAI Block Slot Active + * @{ + */ +#define SAI_SLOT_NOTACTIVE ((uint32_t)0x00000000U) +#define SAI_SLOTACTIVE_0 ((uint32_t)0x00000001U) +#define SAI_SLOTACTIVE_1 ((uint32_t)0x00000002U) +#define SAI_SLOTACTIVE_2 ((uint32_t)0x00000004U) +#define SAI_SLOTACTIVE_3 ((uint32_t)0x00000008U) +#define SAI_SLOTACTIVE_4 ((uint32_t)0x00000010U) +#define SAI_SLOTACTIVE_5 ((uint32_t)0x00000020U) +#define SAI_SLOTACTIVE_6 ((uint32_t)0x00000040U) +#define SAI_SLOTACTIVE_7 ((uint32_t)0x00000080U) +#define SAI_SLOTACTIVE_8 ((uint32_t)0x00000100U) +#define SAI_SLOTACTIVE_9 ((uint32_t)0x00000200U) +#define SAI_SLOTACTIVE_10 ((uint32_t)0x00000400U) +#define SAI_SLOTACTIVE_11 ((uint32_t)0x00000800U) +#define SAI_SLOTACTIVE_12 ((uint32_t)0x00001000U) +#define SAI_SLOTACTIVE_13 ((uint32_t)0x00002000U) +#define SAI_SLOTACTIVE_14 ((uint32_t)0x00004000U) +#define SAI_SLOTACTIVE_15 ((uint32_t)0x00008000U) +#define SAI_SLOTACTIVE_ALL ((uint32_t)0x0000FFFFU) +/** + * @} + */ + +/** @defgroup SAI_Mono_Stereo_Mode SAI Mono Stereo Mode + * @{ + */ +#define SAI_STEREOMODE ((uint32_t)0x00000000U) +#define SAI_MONOMODE ((uint32_t)SAI_xCR1_MONO) +/** + * @} + */ + +/** @defgroup SAI_TRIState_Management SAI TRIState Management + * @{ + */ +#define SAI_OUTPUT_NOTRELEASED ((uint32_t)0x00000000U) +#define SAI_OUTPUT_RELEASED ((uint32_t)SAI_xCR2_TRIS) +/** + * @} + */ + +/** @defgroup SAI_Block_Fifo_Threshold SAI Block Fifo Threshold + * @{ + */ +#define SAI_FIFOTHRESHOLD_EMPTY ((uint32_t)0x00000000U) +#define SAI_FIFOTHRESHOLD_1QF ((uint32_t)(SAI_xCR2_FTH_0)) +#define SAI_FIFOTHRESHOLD_HF ((uint32_t)(SAI_xCR2_FTH_1)) +#define SAI_FIFOTHRESHOLD_3QF ((uint32_t)(SAI_xCR2_FTH_1 | SAI_xCR2_FTH_0)) +#define SAI_FIFOTHRESHOLD_FULL ((uint32_t)(SAI_xCR2_FTH_2)) +/** + * @} + */ + +/** @defgroup SAI_Block_Companding_Mode SAI Block Companding Mode + * @{ + */ +#define SAI_NOCOMPANDING ((uint32_t)0x00000000U) +#define SAI_ULAW_1CPL_COMPANDING ((uint32_t)(SAI_xCR2_COMP_1)) +#define SAI_ALAW_1CPL_COMPANDING ((uint32_t)(SAI_xCR2_COMP_1 | SAI_xCR2_COMP_0)) +#define SAI_ULAW_2CPL_COMPANDING ((uint32_t)(SAI_xCR2_COMP_1 | SAI_xCR2_CPL)) +#define SAI_ALAW_2CPL_COMPANDING ((uint32_t)(SAI_xCR2_COMP_1 | SAI_xCR2_COMP_0 | SAI_xCR2_CPL)) +/** + * @} + */ + +/** @defgroup SAI_Block_Mute_Value SAI Block Mute Value + * @{ + */ +#define SAI_ZERO_VALUE ((uint32_t)0x00000000U) +#define SAI_LAST_SENT_VALUE ((uint32_t)SAI_xCR2_MUTEVAL) +/** + * @} + */ + +/** @defgroup SAI_Block_Interrupts_Definition SAI Block Interrupts Definition + * @{ + */ +#define SAI_IT_OVRUDR ((uint32_t)SAI_xIMR_OVRUDRIE) +#define SAI_IT_MUTEDET ((uint32_t)SAI_xIMR_MUTEDETIE) +#define SAI_IT_WCKCFG ((uint32_t)SAI_xIMR_WCKCFGIE) +#define SAI_IT_FREQ ((uint32_t)SAI_xIMR_FREQIE) +#define SAI_IT_CNRDY ((uint32_t)SAI_xIMR_CNRDYIE) +#define SAI_IT_AFSDET ((uint32_t)SAI_xIMR_AFSDETIE) +#define SAI_IT_LFSDET ((uint32_t)SAI_xIMR_LFSDETIE) +/** + * @} + */ + +/** @defgroup SAI_Block_Flags_Definition SAI Block Flags Definition + * @{ + */ +#define SAI_FLAG_OVRUDR ((uint32_t)SAI_xSR_OVRUDR) +#define SAI_FLAG_MUTEDET ((uint32_t)SAI_xSR_MUTEDET) +#define SAI_FLAG_WCKCFG ((uint32_t)SAI_xSR_WCKCFG) +#define SAI_FLAG_FREQ ((uint32_t)SAI_xSR_FREQ) +#define SAI_FLAG_CNRDY ((uint32_t)SAI_xSR_CNRDY) +#define SAI_FLAG_AFSDET ((uint32_t)SAI_xSR_AFSDET) +#define SAI_FLAG_LFSDET ((uint32_t)SAI_xSR_LFSDET) +/** + * @} + */ + +/** @defgroup SAI_Block_Fifo_Status_Level SAI Block Fifo Status Level + * @{ + */ +#define SAI_FIFOSTATUS_EMPTY ((uint32_t)0x00000000U) +#define SAI_FIFOSTATUS_LESS1QUARTERFULL ((uint32_t)0x00010000U) +#define SAI_FIFOSTATUS_1QUARTERFULL ((uint32_t)0x00020000U) +#define SAI_FIFOSTATUS_HALFFULL ((uint32_t)0x00030000U) +#define SAI_FIFOSTATUS_3QUARTERFULL ((uint32_t)0x00040000U) +#define SAI_FIFOSTATUS_FULL ((uint32_t)0x00050000U) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ + +/** @defgroup SAI_Exported_Macros SAI Exported Macros + * @brief macros to handle interrupts and specific configurations + * @{ + */ + +/** @brief Reset SAI handle state. + * @param __HANDLE__ specifies the SAI Handle. + * @retval None + */ +#define __HAL_SAI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SAI_STATE_RESET) + +/** @brief Enable or disable the specified SAI interrupts. + * @param __HANDLE__ specifies the SAI Handle. + * @param __INTERRUPT__ specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg SAI_IT_OVRUDR: Overrun underrun interrupt enable + * @arg SAI_IT_MUTEDET: Mute detection interrupt enable + * @arg SAI_IT_WCKCFG: Wrong Clock Configuration interrupt enable + * @arg SAI_IT_FREQ: FIFO request interrupt enable + * @arg SAI_IT_CNRDY: Codec not ready interrupt enable + * @arg SAI_IT_AFSDET: Anticipated frame synchronization detection interrupt enable + * @arg SAI_IT_LFSDET: Late frame synchronization detection interrupt enable + * @retval None + */ +#define __HAL_SAI_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IMR |= (__INTERRUPT__)) +#define __HAL_SAI_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IMR &= (~(__INTERRUPT__))) + +/** @brief Check whether the specified SAI interrupt source is enabled or not. + * @param __HANDLE__ specifies the SAI Handle. + * @param __INTERRUPT__ specifies the SAI interrupt source to check. + * This parameter can be one of the following values: + * @arg SAI_IT_OVRUDR: Overrun underrun interrupt enable + * @arg SAI_IT_MUTEDET: Mute detection interrupt enable + * @arg SAI_IT_WCKCFG: Wrong Clock Configuration interrupt enable + * @arg SAI_IT_FREQ: FIFO request interrupt enable + * @arg SAI_IT_CNRDY: Codec not ready interrupt enable + * @arg SAI_IT_AFSDET: Anticipated frame synchronization detection interrupt enable + * @arg SAI_IT_LFSDET: Late frame synchronization detection interrupt enable + * @retval The new state of __INTERRUPT__ (TRUE or FALSE). + */ +#define __HAL_SAI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IMR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Check whether the specified SAI flag is set or not. + * @param __HANDLE__ specifies the SAI Handle. + * @param __FLAG__ specifies the flag to check. + * This parameter can be one of the following values: + * @arg SAI_FLAG_OVRUDR: Overrun underrun flag. + * @arg SAI_FLAG_MUTEDET: Mute detection flag. + * @arg SAI_FLAG_WCKCFG: Wrong Clock Configuration flag. + * @arg SAI_FLAG_FREQ: FIFO request flag. + * @arg SAI_FLAG_CNRDY: Codec not ready flag. + * @arg SAI_FLAG_AFSDET: Anticipated frame synchronization detection flag. + * @arg SAI_FLAG_LFSDET: Late frame synchronization detection flag. + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_SAI_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) + +/** @brief Clear the specified SAI pending flag. + * @param __HANDLE__ specifies the SAI Handle. + * @param __FLAG__ specifies the flag to check. + * This parameter can be any combination of the following values: + * @arg SAI_FLAG_OVRUDR: Clear Overrun underrun + * @arg SAI_FLAG_MUTEDET: Clear Mute detection + * @arg SAI_FLAG_WCKCFG: Clear Wrong Clock Configuration + * @arg SAI_FLAG_FREQ: Clear FIFO request + * @arg SAI_FLAG_CNRDY: Clear Codec not ready + * @arg SAI_FLAG_AFSDET: Clear Anticipated frame synchronization detection + * @arg SAI_FLAG_LFSDET: Clear Late frame synchronization detection + * + * @retval None + */ +#define __HAL_SAI_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CLRFR = (__FLAG__)) + +#define __HAL_SAI_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= SAI_xCR1_SAIEN) +#define __HAL_SAI_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~SAI_xCR1_SAIEN) + + /** + * @} + */ + +/* Include SAI HAL Extension module */ +#include "stm32h7xx_hal_sai_ex.h" + +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup SAI_Exported_Functions + * @{ + */ + +/* Initialization/de-initialization functions ********************************/ + +/** @addtogroup SAI_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_SAI_InitProtocol(SAI_HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot); +HAL_StatusTypeDef HAL_SAI_Init(SAI_HandleTypeDef *hsai); +HAL_StatusTypeDef HAL_SAI_DeInit (SAI_HandleTypeDef *hsai); +void HAL_SAI_MspInit(SAI_HandleTypeDef *hsai); +void HAL_SAI_MspDeInit(SAI_HandleTypeDef *hsai); + +/** + * @} + */ + +/* I/O operation functions ***************************************************/ + +/** @addtogroup SAI_Exported_Functions_Group2 + * @{ + */ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_SAI_Transmit(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SAI_Receive(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size, uint32_t Timeout); + +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_SAI_Transmit_IT(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SAI_Receive_IT(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size); + +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_SAI_Transmit_DMA(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SAI_Receive_DMA(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SAI_DMAPause(SAI_HandleTypeDef *hsai); +HAL_StatusTypeDef HAL_SAI_DMAResume(SAI_HandleTypeDef *hsai); +HAL_StatusTypeDef HAL_SAI_DMAStop(SAI_HandleTypeDef *hsai); + +/* Abort function */ +HAL_StatusTypeDef HAL_SAI_Abort(SAI_HandleTypeDef *hsai); + +/* Mute management */ +HAL_StatusTypeDef HAL_SAI_EnableTxMuteMode(SAI_HandleTypeDef *hsai, uint16_t val); +HAL_StatusTypeDef HAL_SAI_DisableTxMuteMode(SAI_HandleTypeDef *hsai); +HAL_StatusTypeDef HAL_SAI_EnableRxMuteMode(SAI_HandleTypeDef *hsai, SAIcallback callback, uint16_t counter); +HAL_StatusTypeDef HAL_SAI_DisableRxMuteMode(SAI_HandleTypeDef *hsai); + +/* SAI IRQHandler and Callbacks used in non blocking modes (Interrupt and DMA) */ +void HAL_SAI_IRQHandler(SAI_HandleTypeDef *hsai); +void HAL_SAI_TxHalfCpltCallback(SAI_HandleTypeDef *hsai); +void HAL_SAI_TxCpltCallback(SAI_HandleTypeDef *hsai); +void HAL_SAI_RxHalfCpltCallback(SAI_HandleTypeDef *hsai); +void HAL_SAI_RxCpltCallback(SAI_HandleTypeDef *hsai); +void HAL_SAI_ErrorCallback(SAI_HandleTypeDef *hsai); +/** + * @} + */ + +/** @addtogroup SAI_Exported_Functions_Group3 + * @{ + */ +/* Peripheral State functions ************************************************/ +HAL_SAI_StateTypeDef HAL_SAI_GetState(SAI_HandleTypeDef *hsai); +uint32_t HAL_SAI_GetError(SAI_HandleTypeDef *hsai); +/** + * @} + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @addtogroup SAI_Private_Macros + * @{ + */ +#define IS_SAI_BLOCK_SYNCEXT(STATE) (((STATE) == SAI_SYNCEXT_DISABLE) ||\ + ((STATE) == SAI_SYNCEXT_OUTBLOCKA_ENABLE) ||\ + ((STATE) == SAI_SYNCEXT_OUTBLOCKB_ENABLE)) + +#define IS_SAI_SUPPORTED_PROTOCOL(PROTOCOL) (((PROTOCOL) == SAI_I2S_STANDARD) ||\ + ((PROTOCOL) == SAI_I2S_MSBJUSTIFIED) ||\ + ((PROTOCOL) == SAI_I2S_LSBJUSTIFIED) ||\ + ((PROTOCOL) == SAI_PCM_LONG) ||\ + ((PROTOCOL) == SAI_PCM_SHORT)) + +#define IS_SAI_PROTOCOL_DATASIZE(DATASIZE) (((DATASIZE) == SAI_PROTOCOL_DATASIZE_16BIT) ||\ + ((DATASIZE) == SAI_PROTOCOL_DATASIZE_16BITEXTENDED) ||\ + ((DATASIZE) == SAI_PROTOCOL_DATASIZE_24BIT) ||\ + ((DATASIZE) == SAI_PROTOCOL_DATASIZE_32BIT)) + +#define IS_SAI_AUDIO_FREQUENCY(AUDIO) (((AUDIO) == SAI_AUDIO_FREQUENCY_192K) || ((AUDIO) == SAI_AUDIO_FREQUENCY_96K) || \ + ((AUDIO) == SAI_AUDIO_FREQUENCY_48K) || ((AUDIO) == SAI_AUDIO_FREQUENCY_44K) || \ + ((AUDIO) == SAI_AUDIO_FREQUENCY_32K) || ((AUDIO) == SAI_AUDIO_FREQUENCY_22K) || \ + ((AUDIO) == SAI_AUDIO_FREQUENCY_16K) || ((AUDIO) == SAI_AUDIO_FREQUENCY_11K) || \ + ((AUDIO) == SAI_AUDIO_FREQUENCY_8K) || ((AUDIO) == SAI_AUDIO_FREQUENCY_MCKDIV)) + +#define IS_SAI_BLOCK_MCK_OVERSAMPLING(VALUE) (((VALUE) == SAI_MCK_OVERSAMPLING_DISABLE) || \ + ((VALUE) == SAI_MCK_OVERSAMPLING_ENABLE)) + +#define IS_SAI_PDM_MIC_PAIRS_NUMBER(VALUE) ((1U <= (VALUE)) && ((VALUE) <= 4U)) + +#define IS_SAI_PDM_CLOCK_ENABLE(CLOCK) (((CLOCK) != 0U) && \ + (((CLOCK) & ~(SAI_PDM_CLOCK1_ENABLE | SAI_PDM_CLOCK2_ENABLE | \ + SAI_PDM_CLOCK3_ENABLE | SAI_PDM_CLOCK4_ENABLE)) == 0U)) + +#define IS_SAI_BLOCK_MODE(MODE) (((MODE) == SAI_MODEMASTER_TX) || \ + ((MODE) == SAI_MODEMASTER_RX) || \ + ((MODE) == SAI_MODESLAVE_TX) || \ + ((MODE) == SAI_MODESLAVE_RX)) + +#define IS_SAI_BLOCK_PROTOCOL(PROTOCOL) (((PROTOCOL) == SAI_FREE_PROTOCOL) || \ + ((PROTOCOL) == SAI_AC97_PROTOCOL) || \ + ((PROTOCOL) == SAI_SPDIF_PROTOCOL)) + +#define IS_SAI_BLOCK_DATASIZE(DATASIZE) (((DATASIZE) == SAI_DATASIZE_8) || \ + ((DATASIZE) == SAI_DATASIZE_10) || \ + ((DATASIZE) == SAI_DATASIZE_16) || \ + ((DATASIZE) == SAI_DATASIZE_20) || \ + ((DATASIZE) == SAI_DATASIZE_24) || \ + ((DATASIZE) == SAI_DATASIZE_32)) + +#define IS_SAI_BLOCK_FIRST_BIT(BIT) (((BIT) == SAI_FIRSTBIT_MSB) || \ + ((BIT) == SAI_FIRSTBIT_LSB)) + +#define IS_SAI_BLOCK_CLOCK_STROBING(CLOCK) (((CLOCK) == SAI_CLOCKSTROBING_FALLINGEDGE) || \ + ((CLOCK) == SAI_CLOCKSTROBING_RISINGEDGE)) + +#define IS_SAI_BLOCK_SYNCHRO(SYNCHRO) (((SYNCHRO) == SAI_ASYNCHRONOUS) || \ + ((SYNCHRO) == SAI_SYNCHRONOUS) || \ + ((SYNCHRO) == SAI_SYNCHRONOUS_EXT_SAI1) || \ + ((SYNCHRO) == SAI_SYNCHRONOUS_EXT_SAI2)) + +#define IS_SAI_BLOCK_OUTPUT_DRIVE(DRIVE) (((DRIVE) == SAI_OUTPUTDRIVE_DISABLE) || \ + ((DRIVE) == SAI_OUTPUTDRIVE_ENABLE)) + +#define IS_SAI_BLOCK_NODIVIDER(NODIVIDER) (((NODIVIDER) == SAI_MASTERDIVIDER_ENABLE) || \ + ((NODIVIDER) == SAI_MASTERDIVIDER_DISABLE)) + +#define IS_SAI_BLOCK_MUTE_COUNTER(COUNTER) ((COUNTER) <= 63) + +#define IS_SAI_BLOCK_MUTE_VALUE(VALUE) (((VALUE) == SAI_ZERO_VALUE) || \ + ((VALUE) == SAI_LAST_SENT_VALUE)) + +#define IS_SAI_BLOCK_COMPANDING_MODE(MODE) (((MODE) == SAI_NOCOMPANDING) || \ + ((MODE) == SAI_ULAW_1CPL_COMPANDING) || \ + ((MODE) == SAI_ALAW_1CPL_COMPANDING) || \ + ((MODE) == SAI_ULAW_2CPL_COMPANDING) || \ + ((MODE) == SAI_ALAW_2CPL_COMPANDING)) + +#define IS_SAI_BLOCK_FIFO_THRESHOLD(THRESHOLD) (((THRESHOLD) == SAI_FIFOTHRESHOLD_EMPTY) || \ + ((THRESHOLD) == SAI_FIFOTHRESHOLD_1QF) || \ + ((THRESHOLD) == SAI_FIFOTHRESHOLD_HF) || \ + ((THRESHOLD) == SAI_FIFOTHRESHOLD_3QF) || \ + ((THRESHOLD) == SAI_FIFOTHRESHOLD_FULL)) + +#define IS_SAI_BLOCK_TRISTATE_MANAGEMENT(STATE) (((STATE) == SAI_OUTPUT_NOTRELEASED) ||\ + ((STATE) == SAI_OUTPUT_RELEASED)) + +#define IS_SAI_MONO_STEREO_MODE(MODE) (((MODE) == SAI_MONOMODE) ||\ + ((MODE) == SAI_STEREOMODE)) + +#define IS_SAI_SLOT_ACTIVE(ACTIVE) ((ACTIVE) <= SAI_SLOTACTIVE_ALL) + +#define IS_SAI_BLOCK_SLOT_NUMBER(NUMBER) ((1 <= (NUMBER)) && ((NUMBER) <= 16)) + +#define IS_SAI_BLOCK_SLOT_SIZE(SIZE) (((SIZE) == SAI_SLOTSIZE_DATASIZE) || \ + ((SIZE) == SAI_SLOTSIZE_16B) || \ + ((SIZE) == SAI_SLOTSIZE_32B)) + +#define IS_SAI_BLOCK_FIRSTBIT_OFFSET(OFFSET) ((OFFSET) <= 24) + +#define IS_SAI_BLOCK_FS_OFFSET(OFFSET) (((OFFSET) == SAI_FS_FIRSTBIT) || \ + ((OFFSET) == SAI_FS_BEFOREFIRSTBIT)) + +#define IS_SAI_BLOCK_FS_POLARITY(POLARITY) (((POLARITY) == SAI_FS_ACTIVE_LOW) || \ + ((POLARITY) == SAI_FS_ACTIVE_HIGH)) + +#define IS_SAI_BLOCK_FS_DEFINITION(DEFINITION) (((DEFINITION) == SAI_FS_STARTFRAME) || \ + ((DEFINITION) == SAI_FS_CHANNEL_IDENTIFICATION)) + +#define IS_SAI_BLOCK_MASTER_DIVIDER(DIVIDER) ((DIVIDER) <= 63) + +#define IS_SAI_BLOCK_FRAME_LENGTH(LENGTH) ((8 <= (LENGTH)) && ((LENGTH) <= 256)) + +#define IS_SAI_BLOCK_ACTIVE_FRAME(LENGTH) ((1 <= (LENGTH)) && ((LENGTH) <= 128)) + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup SAI_Private_Functions SAI Private Functions + * @{ + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SAI_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai_ex.h new file mode 100644 index 0000000000..5522bfa191 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sai_ex.h @@ -0,0 +1,128 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sai_ex.h + * @author MCD Application Team + * @brief Header file of SAI HAL extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SAI_EX_H +#define __STM32H7xx_HAL_SAI_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SAIEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup SAIEx_Exported_Types SAIEx Exported Types + * @{ + */ + +/** + * @brief PDM microphone delay structure definition + */ +typedef struct +{ + uint32_t MicPair; /*!< Specifies which pair of microphones is selected. + This parameter must be a number between Min_Data = 1 and Max_Data = 4. */ + + uint32_t LeftDelay; /*!< Specifies the delay in PDM clock unit to apply on left microphone. + This parameter must be a number between Min_Data = 0 and Max_Data = 7. */ + + uint32_t RightDelay; /*!< Specifies the delay in PDM clock unit to apply on right microphone. + This parameter must be a number between Min_Data = 0 and Max_Data = 7. */ +}SAIEx_PdmMicDelayParamTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/* Exported macros -----------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup SAIEx_Exported_Functions SAIEx Extended Exported Functions + * @{ + */ + +/** @addtogroup SAIEx_Exported_Functions_Group1 Peripheral Control functions + * @{ + */ + +HAL_StatusTypeDef HAL_SAIEx_ConfigPdmMicDelay(SAI_HandleTypeDef *hsai, SAIEx_PdmMicDelayParamTypeDef *pdmMicDelay); + +/** + * @} + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ + +/** @addtogroup SAIEx_Private_Macros SAIEx Extended Private Macros + * @{ + */ + +#define IS_SAI_PDM_MIC_DELAY(VALUE) ((VALUE) <= 7U) + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SAI_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h new file mode 100644 index 0000000000..53693ef1fa --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h @@ -0,0 +1,746 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sd.h + * @author MCD Application Team + * @brief Header file of SD HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2018 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_HAL_SD_H +#define STM32H7xx_HAL_SD_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_sdmmc.h" +#if defined (DLYB_SDMMC1) || defined (DLYB_SDMMC2) || defined (DLYB_SDMMC3) +#include "stm32h7xx_ll_delayblock.h" +#endif /* (DLYB_SDMMC1) || (DLYB_SDMMC2) */ + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SD SD + * @brief SD HAL module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SD_Exported_Types SD Exported Types + * @{ + */ + +/** @defgroup SD_Exported_Types_Group1 SD State enumeration structure + * @{ + */ +typedef enum +{ + HAL_SD_STATE_RESET = ((uint32_t)0x00000000U), /*!< SD not yet initialized or disabled */ + HAL_SD_STATE_READY = ((uint32_t)0x00000001U), /*!< SD initialized and ready for use */ + HAL_SD_STATE_TIMEOUT = ((uint32_t)0x00000002U), /*!< SD Timeout state */ + HAL_SD_STATE_BUSY = ((uint32_t)0x00000003U), /*!< SD process ongoing */ + HAL_SD_STATE_PROGRAMMING = ((uint32_t)0x00000004U), /*!< SD Programming State */ + HAL_SD_STATE_RECEIVING = ((uint32_t)0x00000005U), /*!< SD Receiving State */ + HAL_SD_STATE_TRANSFER = ((uint32_t)0x00000006U), /*!< SD Transfert State */ + HAL_SD_STATE_ERROR = ((uint32_t)0x0000000FU) /*!< SD is in error state */ +}HAL_SD_StateTypeDef; +/** + * @} + */ + +/** @defgroup SD_Exported_Types_Group2 SD Card State enumeration structure + * @{ + */ +typedef enum +{ + HAL_SD_CARD_READY = ((uint32_t)0x00000001U), /*!< Card state is ready */ + HAL_SD_CARD_IDENTIFICATION = ((uint32_t)0x00000002U), /*!< Card is in identification state */ + HAL_SD_CARD_STANDBY = ((uint32_t)0x00000003U), /*!< Card is in standby state */ + HAL_SD_CARD_TRANSFER = ((uint32_t)0x00000004U), /*!< Card is in transfer state */ + HAL_SD_CARD_SENDING = ((uint32_t)0x00000005U), /*!< Card is sending an operation */ + HAL_SD_CARD_RECEIVING = ((uint32_t)0x00000006U), /*!< Card is receiving operation information */ + HAL_SD_CARD_PROGRAMMING = ((uint32_t)0x00000007U), /*!< Card is in programming state */ + HAL_SD_CARD_DISCONNECTED = ((uint32_t)0x00000008U), /*!< Card is disconnected */ + HAL_SD_CARD_ERROR = ((uint32_t)0x000000FFU) /*!< Card response Error */ +}HAL_SD_CardStateTypedef; +/** + * @} + */ + +/** @defgroup SD_Exported_Types_Group3 SD Handle Structure definition + * @{ + */ +#define SD_InitTypeDef SDMMC_InitTypeDef +#define SD_TypeDef SDMMC_TypeDef + +/** + * @brief SD Card Information Structure definition + */ +typedef struct +{ + uint32_t CardType; /*!< Specifies the card Type */ + + uint32_t CardVersion; /*!< Specifies the card version */ + + uint32_t Class; /*!< Specifies the class of the card class */ + + uint32_t RelCardAdd; /*!< Specifies the Relative Card Address */ + + uint32_t BlockNbr; /*!< Specifies the Card Capacity in blocks */ + + uint32_t BlockSize; /*!< Specifies one block size in bytes */ + + uint32_t LogBlockNbr; /*!< Specifies the Card logical Capacity in blocks */ + + uint32_t LogBlockSize; /*!< Specifies logical block size in bytes */ + + uint32_t CardSpeed; /*!< Specifies the card Speed */ + +}HAL_SD_CardInfoTypeDef; + +/** + * @brief SD handle Structure definition + */ +typedef struct __SD_HandleTypeDef +{ + SD_TypeDef *Instance; /*!< SD registers base address */ + + SD_InitTypeDef Init; /*!< SD required parameters */ + + HAL_LockTypeDef Lock; /*!< SD locking object */ + + uint8_t *pTxBuffPtr; /*!< Pointer to SD Tx transfer Buffer */ + + uint32_t TxXferSize; /*!< SD Tx Transfer size */ + + uint8_t *pRxBuffPtr; /*!< Pointer to SD Rx transfer Buffer */ + + uint32_t RxXferSize; /*!< SD Rx Transfer size */ + + __IO uint32_t Context; /*!< SD transfer context */ + + __IO HAL_SD_StateTypeDef State; /*!< SD card State */ + + __IO uint32_t ErrorCode; /*!< SD Card Error codes */ + + HAL_SD_CardInfoTypeDef SdCard; /*!< SD Card information */ + + uint32_t CSD[4]; /*!< SD card specific data table */ + + uint32_t CID[4]; /*!< SD card identification number table */ + +}SD_HandleTypeDef; + +/** + * @} + */ + +/** @defgroup SD_Exported_Types_Group4 Card Specific Data: CSD Register + * @{ + */ +typedef struct +{ + __IO uint8_t CSDStruct; /*!< CSD structure */ + __IO uint8_t SysSpecVersion; /*!< System specification version */ + __IO uint8_t Reserved1; /*!< Reserved */ + __IO uint8_t TAAC; /*!< Data read access time 1 */ + __IO uint8_t NSAC; /*!< Data read access time 2 in CLK cycles */ + __IO uint8_t MaxBusClkFrec; /*!< Max. bus clock frequency */ + __IO uint16_t CardComdClasses; /*!< Card command classes */ + __IO uint8_t RdBlockLen; /*!< Max. read data block length */ + __IO uint8_t PartBlockRead; /*!< Partial blocks for read allowed */ + __IO uint8_t WrBlockMisalign; /*!< Write block misalignment */ + __IO uint8_t RdBlockMisalign; /*!< Read block misalignment */ + __IO uint8_t DSRImpl; /*!< DSR implemented */ + __IO uint8_t Reserved2; /*!< Reserved */ + __IO uint32_t DeviceSize; /*!< Device Size */ + __IO uint8_t MaxRdCurrentVDDMin; /*!< Max. read current @ VDD min */ + __IO uint8_t MaxRdCurrentVDDMax; /*!< Max. read current @ VDD max */ + __IO uint8_t MaxWrCurrentVDDMin; /*!< Max. write current @ VDD min */ + __IO uint8_t MaxWrCurrentVDDMax; /*!< Max. write current @ VDD max */ + __IO uint8_t DeviceSizeMul; /*!< Device size multiplier */ + __IO uint8_t EraseGrSize; /*!< Erase group size */ + __IO uint8_t EraseGrMul; /*!< Erase group size multiplier */ + __IO uint8_t WrProtectGrSize; /*!< Write protect group size */ + __IO uint8_t WrProtectGrEnable; /*!< Write protect group enable */ + __IO uint8_t ManDeflECC; /*!< Manufacturer default ECC */ + __IO uint8_t WrSpeedFact; /*!< Write speed factor */ + __IO uint8_t MaxWrBlockLen; /*!< Max. write data block length */ + __IO uint8_t WriteBlockPaPartial; /*!< Partial blocks for write allowed */ + __IO uint8_t Reserved3; /*!< Reserved */ + __IO uint8_t ContentProtectAppli; /*!< Content protection application */ + __IO uint8_t FileFormatGroup; /*!< File format group */ + __IO uint8_t CopyFlag; /*!< Copy flag (OTP) */ + __IO uint8_t PermWrProtect; /*!< Permanent write protection */ + __IO uint8_t TempWrProtect; /*!< Temporary write protection */ + __IO uint8_t FileFormat; /*!< File format */ + __IO uint8_t ECC; /*!< ECC code */ + __IO uint8_t CSD_CRC; /*!< CSD CRC */ + __IO uint8_t Reserved4; /*!< Always 1 */ +}HAL_SD_CardCSDTypedef; +/** + * @} + */ + +/** @defgroup SD_Exported_Types_Group5 Card Identification Data: CID Register + * @{ + */ +typedef struct +{ + __IO uint8_t ManufacturerID; /*!< Manufacturer ID */ + __IO uint16_t OEM_AppliID; /*!< OEM/Application ID */ + __IO uint32_t ProdName1; /*!< Product Name part1 */ + __IO uint8_t ProdName2; /*!< Product Name part2 */ + __IO uint8_t ProdRev; /*!< Product Revision */ + __IO uint32_t ProdSN; /*!< Product Serial Number */ + __IO uint8_t Reserved1; /*!< Reserved1 */ + __IO uint16_t ManufactDate; /*!< Manufacturing Date */ + __IO uint8_t CID_CRC; /*!< CID CRC */ + __IO uint8_t Reserved2; /*!< Always 1 */ + +}HAL_SD_CardCIDTypedef; +/** + * @} + */ + +/** @defgroup SD_Exported_Types_Group6 SD Card Status returned by ACMD13 + * @{ + */ +typedef struct +{ + __IO uint8_t DataBusWidth; /*!< Shows the currently defined data bus width */ + __IO uint8_t SecuredMode; /*!< Card is in secured mode of operation */ + __IO uint16_t CardType; /*!< Carries information about card type */ + __IO uint32_t ProtectedAreaSize; /*!< Carries information about the capacity of protected area */ + __IO uint8_t SpeedClass; /*!< Carries information about the speed class of the card */ + __IO uint8_t PerformanceMove; /*!< Carries information about the card's performance move */ + __IO uint8_t AllocationUnitSize; /*!< Carries information about the card's allocation unit size */ + __IO uint16_t EraseSize; /*!< Determines the number of AUs to be erased in one operation */ + __IO uint8_t EraseTimeout; /*!< Determines the timeout for any number of AU erase */ + __IO uint8_t EraseOffset; /*!< Carries information about the erase offset */ + __IO uint8_t UhsSpeedGrade; /*!< Carries information about the speed grade of UHS card */ + __IO uint8_t UhsAllocationUnitSize; /*!< Carries information about the UHS card's allocation unit size */ + __IO uint8_t VideoSpeedClass; /*!< Carries information about the Video Speed Class of UHS card */ +}HAL_SD_CardStatusTypedef; +/** + * @} + */ + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup SD_Exported_Constants Exported Constants + * @{ + */ + +#define BLOCKSIZE ((uint32_t)512U) /*!< Block size is 512 bytes */ + +/** @defgroup SD_Exported_Constansts_Group1 SD Error status enumeration Structure definition + * @{ + */ +#define HAL_SD_ERROR_NONE SDMMC_ERROR_NONE /*!< No error */ +#define HAL_SD_ERROR_CMD_CRC_FAIL SDMMC_ERROR_CMD_CRC_FAIL /*!< Command response received (but CRC check failed) */ +#define HAL_SD_ERROR_DATA_CRC_FAIL SDMMC_ERROR_DATA_CRC_FAIL /*!< Data block sent/received (CRC check failed) */ +#define HAL_SD_ERROR_CMD_RSP_TIMEOUT SDMMC_ERROR_CMD_RSP_TIMEOUT /*!< Command response timeout */ +#define HAL_SD_ERROR_DATA_TIMEOUT SDMMC_ERROR_DATA_TIMEOUT /*!< Data timeout */ +#define HAL_SD_ERROR_TX_UNDERRUN SDMMC_ERROR_TX_UNDERRUN /*!< Transmit FIFO underrun */ +#define HAL_SD_ERROR_RX_OVERRUN SDMMC_ERROR_RX_OVERRUN /*!< Receive FIFO overrun */ +#define HAL_SD_ERROR_ADDR_MISALIGNED SDMMC_ERROR_ADDR_MISALIGNED /*!< Misaligned address */ +#define HAL_SD_ERROR_BLOCK_LEN_ERR SDMMC_ERROR_BLOCK_LEN_ERR /*!< Transferred block length is not allowed for the card or the + number of transferred bytes does not match the block length */ +#define HAL_SD_ERROR_ERASE_SEQ_ERR SDMMC_ERROR_ERASE_SEQ_ERR /*!< An error in the sequence of erase command occurs */ +#define HAL_SD_ERROR_BAD_ERASE_PARAM SDMMC_ERROR_BAD_ERASE_PARAM /*!< An invalid selection for erase groups */ +#define HAL_SD_ERROR_WRITE_PROT_VIOLATION SDMMC_ERROR_WRITE_PROT_VIOLATION /*!< Attempt to program a write protect block */ +#define HAL_SD_ERROR_LOCK_UNLOCK_FAILED SDMMC_ERROR_LOCK_UNLOCK_FAILED /*!< Sequence or password error has been detected in unlock + command or if there was an attempt to access a locked card */ +#define HAL_SD_ERROR_COM_CRC_FAILED SDMMC_ERROR_COM_CRC_FAILED /*!< CRC check of the previous command failed */ +#define HAL_SD_ERROR_ILLEGAL_CMD SDMMC_ERROR_ILLEGAL_CMD /*!< Command is not legal for the card state */ +#define HAL_SD_ERROR_CARD_ECC_FAILED SDMMC_ERROR_CARD_ECC_FAILED /*!< Card internal ECC was applied but failed to correct the data */ +#define HAL_SD_ERROR_CC_ERR SDMMC_ERROR_CC_ERR /*!< Internal card controller error */ +#define HAL_SD_ERROR_GENERAL_UNKNOWN_ERR SDMMC_ERROR_GENERAL_UNKNOWN_ERR /*!< General or unknown error */ +#define HAL_SD_ERROR_STREAM_READ_UNDERRUN SDMMC_ERROR_STREAM_READ_UNDERRUN /*!< The card could not sustain data reading in stream rmode */ +#define HAL_SD_ERROR_STREAM_WRITE_OVERRUN SDMMC_ERROR_STREAM_WRITE_OVERRUN /*!< The card could not sustain data programming in stream mode */ +#define HAL_SD_ERROR_CID_CSD_OVERWRITE SDMMC_ERROR_CID_CSD_OVERWRITE /*!< CID/CSD overwrite error */ +#define HAL_SD_ERROR_WP_ERASE_SKIP SDMMC_ERROR_WP_ERASE_SKIP /*!< Only partial address space was erased */ +#define HAL_SD_ERROR_CARD_ECC_DISABLED SDMMC_ERROR_CARD_ECC_DISABLED /*!< Command has been executed without using internal ECC */ +#define HAL_SD_ERROR_ERASE_RESET SDMMC_ERROR_ERASE_RESET /*!< Erase sequence was cleared before executing because an out + of erase sequence command was received */ +#define HAL_SD_ERROR_AKE_SEQ_ERR SDMMC_ERROR_AKE_SEQ_ERR /*!< Error in sequence of authentication */ +#define HAL_SD_ERROR_INVALID_VOLTRANGE SDMMC_ERROR_INVALID_VOLTRANGE /*!< Error in case of invalid voltage range */ +#define HAL_SD_ERROR_ADDR_OUT_OF_RANGE SDMMC_ERROR_ADDR_OUT_OF_RANGE /*!< Error when addressed block is out of range */ +#define HAL_SD_ERROR_REQUEST_NOT_APPLICABLE SDMMC_ERROR_REQUEST_NOT_APPLICABLE /*!< Error when command request is not applicable */ +#define HAL_SD_ERROR_PARAM SDMMC_ERROR_INVALID_PARAMETER /*!< the used parameter is not valid */ +#define HAL_SD_ERROR_UNSUPPORTED_FEATURE SDMMC_ERROR_UNSUPPORTED_FEATURE /*!< Error when feature is not insupported */ +#define HAL_SD_ERROR_BUSY SDMMC_ERROR_BUSY /*!< Error when transfer process is busy */ +#define HAL_SD_ERROR_DMA SDMMC_ERROR_DMA /*!< Error while DMA transfer */ +#define HAL_SD_ERROR_TIMEOUT SDMMC_ERROR_TIMEOUT /*!< Timeout error */ + +/** + * @} + */ + +/** @defgroup SD_Exported_Constansts_Group2 SD context enumeration + * @{ + */ +#define SD_CONTEXT_NONE ((uint32_t)0x00000000U) /*!< None */ +#define SD_CONTEXT_READ_SINGLE_BLOCK ((uint32_t)0x00000001U) /*!< Read single block operation */ +#define SD_CONTEXT_READ_MULTIPLE_BLOCK ((uint32_t)0x00000002U) /*!< Read multiple blocks operation */ +#define SD_CONTEXT_WRITE_SINGLE_BLOCK ((uint32_t)0x00000010U) /*!< Write single block operation */ +#define SD_CONTEXT_WRITE_MULTIPLE_BLOCK ((uint32_t)0x00000020U) /*!< Write multiple blocks operation */ +#define SD_CONTEXT_IT ((uint32_t)0x00000008U) /*!< Process in Interrupt mode */ +#define SD_CONTEXT_DMA ((uint32_t)0x00000080U) /*!< Process in DMA mode */ + +/** + * @} + */ + +/** @defgroup SD_Exported_Constansts_Group3 SD Supported Memory Cards + * @{ + */ +#define CARD_NORMAL_SPEED ((uint32_t)0x00000000U) /*!< Normal Speed Card <12.5Mo/s , Spec Version 1.01 */ +#define CARD_HIGH_SPEED ((uint32_t)0x00000100U) /*!< High Speed Card <25Mo/s , Spec version 2.00 */ +#define CARD_ULTRA_HIGH_SPEED ((uint32_t)0x00000200U) /*!< UHS-I SD Card <50Mo/s for SDR50, DDR5 Cards + and <104Mo/s for SDR104, Spec version 3.01 */ + +#define CARD_SDSC ((uint32_t)0x00000000U) /*!< SD Standard Capacity <2Go */ +#define CARD_SDHC_SDXC ((uint32_t)0x00000001U) /*!< SD High Capacity <32Go, SD Extended Capacity <2To */ +#define CARD_SECURED ((uint32_t)0x00000003U) + +/** + * @} + */ + +/** @defgroup SD_Exported_Constansts_Group4 SD Supported Version + * @{ + */ +#define CARD_V1_X ((uint32_t)0x00000000U) +#define CARD_V2_X ((uint32_t)0x00000001U) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup SD_Exported_macros SD Exported Macros + * @brief macros to handle interrupts and specific clock configurations + * @{ + */ +/** @brief Reset SD handle state. + * @param __HANDLE__ : SD handle. + * @retval None + */ +#define __HAL_SD_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SD_STATE_RESET) + +/** + * @brief Enable the SD device interrupt. + * @param __HANDLE__: SD Handle + * @param __INTERRUPT__: specifies the SDMMC interrupt sources to be enabled. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __HAL_SD_ENABLE_IT(__HANDLE__, __INTERRUPT__) __SDMMC_ENABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @brief Disable the SD device interrupt. + * @param __HANDLE__: SD Handle + * @param __INTERRUPT__: specifies the SDMMC interrupt sources to be disabled. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __HAL_SD_DISABLE_IT(__HANDLE__, __INTERRUPT__) __SDMMC_DISABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @brief Check whether the specified SD flag is set or not. + * @param __HANDLE__: SD Handle + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed) + * @arg SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) + * @arg SDMMC_FLAG_CTIMEOUT: Command response timeout + * @arg SDMMC_FLAG_DTIMEOUT: Data timeout + * @arg SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error + * @arg SDMMC_FLAG_RXOVERR: Received FIFO overrun error + * @arg SDMMC_FLAG_CMDREND: Command response received (CRC check passed) + * @arg SDMMC_FLAG_CMDSENT: Command sent (no response required) + * @arg SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero) + * @arg SDMMC_FLAG_DHOLD: Data transfer Hold + * @arg SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed) + * @arg SDMMC_FLAG_DABORT: Data transfer aborted by CMD12 + * @arg SDMMC_FLAG_CPSMACT: Command path state machine active + * @arg SDMMC_FLAG_DPSMACT: Data path state machine active + * @arg SDMMC_FLAG_TXFIFOHE: Transmit FIFO Half Empty + * @arg SDMMC_FLAG_RXFIFOHF: Receive FIFO Half Full + * @arg SDMMC_FLAG_TXFIFOF: Transmit FIFO full + * @arg SDMMC_FLAG_RXFIFOF: Receive FIFO full + * @arg SDMMC_FLAG_TXFIFOE: Transmit FIFO empty + * @arg SDMMC_FLAG_RXFIFOE: Receive FIFO empty + * @arg SDMMC_FLAG_BUSYD0: Inverted value of SDMMC_D0 line (Busy) + * @arg SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected + * @arg SDMMC_FLAG_SDIOIT: SDIO interrupt received + * @arg SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received + * @arg SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout + * @arg SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion + * @arg SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure + * @arg SDMMC_FLAG_IDMATE: IDMA transfer error + * @arg SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete + * @retval The new state of SD FLAG (SET or RESET). + */ +#define __HAL_SD_GET_FLAG(__HANDLE__, __FLAG__) __SDMMC_GET_FLAG((__HANDLE__)->Instance, (__FLAG__)) + +/** + * @brief Clear the SD's pending flags. + * @param __HANDLE__: SD Handle + * @param __FLAG__: specifies the flag to clear. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed) + * @arg SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) + * @arg SDMMC_FLAG_CTIMEOUT: Command response timeout + * @arg SDMMC_FLAG_DTIMEOUT: Data timeout + * @arg SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error + * @arg SDMMC_FLAG_RXOVERR: Received FIFO overrun error + * @arg SDMMC_FLAG_CMDREND: Command response received (CRC check passed) + * @arg SDMMC_FLAG_CMDSENT: Command sent (no response required) + * @arg SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero) + * @arg SDMMC_FLAG_DHOLD: Data transfer Hold + * @arg SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed) + * @arg SDMMC_FLAG_DABORT: Data transfer aborted by CMD12 + * @arg SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected + * @arg SDMMC_FLAG_SDIOIT: SDIO interrupt received + * @arg SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received + * @arg SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout + * @arg SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion + * @arg SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure + * @arg SDMMC_FLAG_IDMATE: IDMA transfer error + * @arg SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete + * @retval None + */ +#define __HAL_SD_CLEAR_FLAG(__HANDLE__, __FLAG__) __SDMMC_CLEAR_FLAG((__HANDLE__)->Instance, (__FLAG__)) + +/** + * @brief Check whether the specified SD interrupt has occurred or not. + * @param __HANDLE__: SD Handle + * @param __INTERRUPT__: specifies the SDMMC interrupt source to check. + * This parameter can be one of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_DPSMACT: Data path state machine active interrupt + * @arg SDMMC_IT_CPSMACT: Command path state machine active interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_TXFIFOF: Transmit FIFO full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_RXFIFOE: Receive FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0: Inverted value of SDMMC_D0 line (Busy) + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMATE: IDMA transfer error interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval The new state of SD IT (SET or RESET). + */ +#define __HAL_SD_GET_IT(__HANDLE__, __INTERRUPT__) __SDMMC_GET_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @brief Clear the SD's interrupt pending bits. + * @param __HANDLE__: SD Handle + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMATE: IDMA transfer error interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __HAL_SD_CLEAR_IT(__HANDLE__, __INTERRUPT__) __SDMMC_CLEAR_IT((__HANDLE__)->Instance, (__INTERRUPT__)) + +/** + * @} + */ + +/* Include SD HAL Extension module */ +#include "stm32h7xx_hal_sd_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup SD_Exported_Functions SD Exported Functions + * @{ + */ + +/** @defgroup SD_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +HAL_StatusTypeDef HAL_SD_Init(SD_HandleTypeDef *hsd); +HAL_StatusTypeDef HAL_SD_InitCard(SD_HandleTypeDef *hsd); +HAL_StatusTypeDef HAL_SD_DeInit (SD_HandleTypeDef *hsd); +void HAL_SD_MspInit(SD_HandleTypeDef *hsd); +void HAL_SD_MspDeInit(SD_HandleTypeDef *hsd); +/** + * @} + */ + +/** @defgroup SD_Exported_Functions_Group2 Input and Output operation functions + * @{ + */ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_SD_ReadBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout); +HAL_StatusTypeDef HAL_SD_WriteBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout); +HAL_StatusTypeDef HAL_SD_Erase(SD_HandleTypeDef *hsd, uint32_t BlockStartAdd, uint32_t BlockEndAdd); +/* Non-Blocking mode: IT */ +HAL_StatusTypeDef HAL_SD_ReadBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_SD_WriteBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_SD_ReadBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks); + +void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd); + +/* Callback in non blocking modes (DMA) */ +void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd); +void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd); +void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd); +void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd); + +#if (USE_SD_TRANSCEIVER != 0U) +/* Callback to switch in 1.8V mode */ +void HAL_SD_DriveTransceiver_1_8V_Callback(FlagStatus status); +#endif /* USE_SD_TRANSCEIVER */ + + +/** + * @} + */ + +/** @defgroup SD_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ +HAL_StatusTypeDef HAL_SD_ConfigWideBusOperation(SD_HandleTypeDef *hsd, uint32_t WideMode); +/** + * @} + */ + +/** @defgroup SD_Exported_Functions_Group4 SD card related functions + * @{ + */ +HAL_StatusTypeDef HAL_SD_SendSDStatus(SD_HandleTypeDef *hsd, uint32_t *pSDstatus); +HAL_SD_CardStateTypedef HAL_SD_GetCardState(SD_HandleTypeDef *hsd); +HAL_StatusTypeDef HAL_SD_GetCardCID(SD_HandleTypeDef *hsd, HAL_SD_CardCIDTypedef *pCID); +HAL_StatusTypeDef HAL_SD_GetCardCSD(SD_HandleTypeDef *hsd, HAL_SD_CardCSDTypedef *pCSD); +HAL_StatusTypeDef HAL_SD_GetCardStatus(SD_HandleTypeDef *hsd, HAL_SD_CardStatusTypedef *pStatus); +HAL_StatusTypeDef HAL_SD_GetCardInfo(SD_HandleTypeDef *hsd, HAL_SD_CardInfoTypeDef *pCardInfo); +/** + * @} + */ + +/** @defgroup SD_Exported_Functions_Group5 Peripheral State and Errors functions + * @{ + */ +HAL_SD_StateTypeDef HAL_SD_GetState(SD_HandleTypeDef *hsd); +uint32_t HAL_SD_GetError(SD_HandleTypeDef *hsd); +/** + * @} + */ + +/** @defgroup SD_Exported_Functions_Group6 Perioheral Abort management + * @{ + */ +HAL_StatusTypeDef HAL_SD_Abort(SD_HandleTypeDef *hsd); +HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd); +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup SD_Private_Types SD Private Types + * @{ + */ + +/** + * @} + */ + +/* Private defines -----------------------------------------------------------*/ +/** @defgroup SD_Private_Defines SD Private Defines + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup SD_Private_Variables SD Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup SD_Private_Constants SD Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup SD_Private_Macros SD Private Macros + * @{ + */ + +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup SD_Private_Functions_Prototypes SD Private Functions Prototypes + * @{ + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup SD_Private_Functions SD Private Functions + * @{ + */ + +/** + * @} + */ + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* STM32H7xx_HAL_SD_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h new file mode 100644 index 0000000000..48732ed20d --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h @@ -0,0 +1,129 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sd_ex.h + * @author MCD Application Team + * @brief Header file of SD HAL extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2018 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_HAL_SD_EX_H +#define STM32H7xx_HAL_SD_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SD_EX SD_EX + * @brief SD HAL extended module driver + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SDEx_Exported_Types SDEx Exported Types + * @{ + */ + +/** @defgroup SDEx_Exported_Types_Group1 SD Card Internal DMA Buffer structure + * @{ + */ +typedef enum +{ + SD_DMA_BUFFER0 = 0x00U, /*!< selects SD internal DMA Buffer 0 */ + SD_DMA_BUFFER1 = 0x01U, /*!< selects SD internal DMA Buffer 1 */ + +}HAL_SDEx_DMABuffer_MemoryTypeDef; + + +/** + * @} + */ + +/** + * @} + */ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup SDEx_Exported_Functions SDEx Exported Functions + * @{ + */ + +/** @defgroup SDEx_Exported_Functions_Group1 MultiBuffer functions + * @{ + */ +HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks); +HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer); + +void HAL_SDEx_Read_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd); +void HAL_SDEx_Read_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd); +void HAL_SDEx_Write_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd); +void HAL_SDEx_Write_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd); + +/** + * @} + */ + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/* Private defines -----------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/* Private functions prototypes ----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + + +#endif /* stm32h7xx_HAL_SDEx_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h new file mode 100644 index 0000000000..b4098a97ce --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h @@ -0,0 +1,197 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sdram.h + * @author MCD Application Team + * @brief Header file of SDRAM HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SDRAM_H +#define __STM32H7xx_HAL_SDRAM_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_fmc.h" +#include "stm32h7xx_hal_mdma.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SDRAM + * @{ + */ + +/* Exported typedef ----------------------------------------------------------*/ + +/** @defgroup SDRAM_Exported_Types SDRAM Exported Types + * @{ + */ + +/** + * @brief HAL SDRAM State structure definition + */ +typedef enum +{ + HAL_SDRAM_STATE_RESET = 0x00U, /*!< SDRAM not yet initialized or disabled */ + HAL_SDRAM_STATE_READY = 0x01U, /*!< SDRAM initialized and ready for use */ + HAL_SDRAM_STATE_BUSY = 0x02U, /*!< SDRAM internal process is ongoing */ + HAL_SDRAM_STATE_ERROR = 0x03U, /*!< SDRAM error state */ + HAL_SDRAM_STATE_WRITE_PROTECTED = 0x04U, /*!< SDRAM device write protected */ + HAL_SDRAM_STATE_PRECHARGED = 0x05U /*!< SDRAM device precharged */ + +}HAL_SDRAM_StateTypeDef; + +/** + * @brief SDRAM handle Structure definition + */ +typedef struct +{ + FMC_SDRAM_TypeDef *Instance; /*!< Register base address */ + + FMC_SDRAM_InitTypeDef Init; /*!< SDRAM device configuration parameters */ + + __IO HAL_SDRAM_StateTypeDef State; /*!< SDRAM access state */ + + HAL_LockTypeDef Lock; /*!< SDRAM locking object */ + + MDMA_HandleTypeDef *hmdma; /*!< Pointer MDMA handler */ + +}SDRAM_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ + +/** @defgroup SDRAM_Exported_Macros SDRAM Exported Macros + * @{ + */ + +/** @brief Reset SDRAM handle state + * @param __HANDLE__: specifies the SDRAM handle. + * @retval None + */ +#define __HAL_SDRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SDRAM_STATE_RESET) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup SDRAM_Exported_Functions SDRAM Exported Functions + * @{ + */ + +/** @addtogroup SDRAM_Exported_Functions_Group1 + * @{ + */ + +/* Initialization/de-initialization functions *********************************/ +HAL_StatusTypeDef HAL_SDRAM_Init(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_TimingTypeDef *Timing); +HAL_StatusTypeDef HAL_SDRAM_DeInit(SDRAM_HandleTypeDef *hsdram); +void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef *hsdram); +void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef *hsdram); + +void HAL_SDRAM_IRQHandler(SDRAM_HandleTypeDef *hsdram); +void HAL_SDRAM_RefreshErrorCallback(SDRAM_HandleTypeDef *hsdram); +void HAL_SDRAM_DMA_XferCpltCallback(MDMA_HandleTypeDef *hmdma); +void HAL_SDRAM_DMA_XferErrorCallback(MDMA_HandleTypeDef *hmdma); + +/** + * @} + */ + +/** @addtogroup SDRAM_Exported_Functions_Group2 + * @{ + */ +/* I/O operation functions ****************************************************/ +HAL_StatusTypeDef HAL_SDRAM_Read_8b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDRAM_Write_8b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDRAM_Read_16b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDRAM_Write_16b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDRAM_Read_32b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDRAM_Write_32b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDRAM_Read_DMA(SDRAM_HandleTypeDef *hsdram, uint32_t * pAddress, uint32_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SDRAM_Write_DMA(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize); + +/** + * @} + */ + +/** @addtogroup SDRAM_Exported_Functions_Group3 + * @{ + */ +/* SDRAM Control functions *****************************************************/ +HAL_StatusTypeDef HAL_SDRAM_WriteProtection_Enable(SDRAM_HandleTypeDef *hsdram); +HAL_StatusTypeDef HAL_SDRAM_WriteProtection_Disable(SDRAM_HandleTypeDef *hsdram); +HAL_StatusTypeDef HAL_SDRAM_SendCommand(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_CommandTypeDef *Command, uint32_t Timeout); +HAL_StatusTypeDef HAL_SDRAM_ProgramRefreshRate(SDRAM_HandleTypeDef *hsdram, uint32_t RefreshRate); +HAL_StatusTypeDef HAL_SDRAM_SetAutoRefreshNumber(SDRAM_HandleTypeDef *hsdram, uint32_t AutoRefreshNumber); +uint32_t HAL_SDRAM_GetModeStatus(SDRAM_HandleTypeDef *hsdram); + +/** + * @} + */ + +/** @addtogroup SDRAM_Exported_Functions_Group4 + * @{ + */ +/* SDRAM State functions ********************************************************/ +HAL_SDRAM_StateTypeDef HAL_SDRAM_GetState(SDRAM_HandleTypeDef *hsdram); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SDRAM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard.h new file mode 100644 index 0000000000..cc6ad2d30f --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard.h @@ -0,0 +1,1088 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_smartcard.h + * @author MCD Application Team + * @brief Header file of SMARTCARD HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SMARTCARD_H +#define __STM32H7xx_HAL_SMARTCARD_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SMARTCARD + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SMARTCARD_Exported_Types SMARTCARD Exported Types + * @{ + */ + +/** + * @brief SMARTCARD Init Structure definition + */ +typedef struct +{ + uint32_t BaudRate; /*!< Configures the SmartCard communication baud rate. + The baud rate register is computed using the following formula: + Baud Rate Register = ((PCLKx) / ((hsmartcard->Init.BaudRate))) */ + + uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame. + This parameter @ref SMARTCARD_Word_Length can only be set to 9 (8 data + 1 parity bits). */ + + uint32_t StopBits; /*!< Specifies the number of stop bits. + This parameter can be a value of @ref SMARTCARD_Stop_Bits. */ + + uint16_t Parity; /*!< Specifies the parity mode. + This parameter can be a value of @ref SMARTCARD_Parity + @note The parity is enabled by default (PCE is forced to 1). + Since the WordLength is forced to 8 bits + parity, M is + forced to 1 and the parity bit is the 9th bit. */ + + uint16_t Mode; /*!< Specifies whether the Receive or Transmit mode is enabled or disabled. + This parameter can be a value of @ref SMARTCARD_Mode */ + + uint16_t CLKPolarity; /*!< Specifies the steady state of the serial clock. + This parameter can be a value of @ref SMARTCARD_Clock_Polarity */ + + uint16_t CLKPhase; /*!< Specifies the clock transition on which the bit capture is made. + This parameter can be a value of @ref SMARTCARD_Clock_Phase */ + + uint16_t CLKLastBit; /*!< Specifies whether the clock pulse corresponding to the last transmitted + data bit (MSB) has to be output on the SCLK pin in synchronous mode. + This parameter can be a value of @ref SMARTCARD_Last_Bit */ + + uint16_t OneBitSampling; /*!< Specifies whether a single sample or three samples' majority vote is selected. + Selecting the single sample method increases the receiver tolerance to clock + deviations. This parameter can be a value of @ref SMARTCARD_OneBit_Sampling. */ + + uint8_t Prescaler; /*!< Specifies the SmartCard Prescaler. */ + + uint8_t GuardTime; /*!< Specifies the SmartCard Guard Time applied after stop bits. */ + + uint16_t NACKEnable; /*!< Specifies whether the SmartCard NACK transmission is enabled + in case of parity error. + This parameter can be a value of @ref SMARTCARD_NACK_Enable */ + + uint32_t TimeOutEnable; /*!< Specifies whether the receiver timeout is enabled. + This parameter can be a value of @ref SMARTCARD_Timeout_Enable*/ + + uint32_t TimeOutValue; /*!< Specifies the receiver time out value in number of baud blocks: + it is used to implement the Character Wait Time (CWT) and + Block Wait Time (BWT). It is coded over 24 bits. */ + + uint8_t BlockLength; /*!< Specifies the SmartCard Block Length in T=1 Reception mode. + This parameter can be any value from 0x0 to 0xFF */ + + uint8_t AutoRetryCount; /*!< Specifies the SmartCard auto-retry count (number of retries in + receive and transmit mode). When set to 0, retransmission is + disabled. Otherwise, its maximum value is 7 (before signalling + an error) */ + + uint32_t FIFOMode; /*!< Specifies if the FIFO mode will be used. This parameter can be a value + of @ref SMARTCARD_FIFO_mode */ + + uint32_t TXFIFOThreshold; /*!< Specifies the TXFIFO threshold level. + This parameter can be a value of @ref SMARTCARD_TXFIFO_threshold_level */ + + uint32_t RXFIFOThreshold; /*!< Specifies the RXFIFO threshold level. + This parameter can be a value of @ref SMARTCARD_RXFIFO_threshold_level */ + +}SMARTCARD_InitTypeDef; + +/** + * @brief SMARTCARD advanced features initalization structure definition + */ +typedef struct +{ + uint32_t AdvFeatureInit; /*!< Specifies which advanced SMARTCARD features is initialized. Several + advanced features may be initialized at the same time. This parameter + can be a value of @ref SMARTCARDEx_Advanced_Features_Initialization_Type */ + + uint32_t TxPinLevelInvert; /*!< Specifies whether the TX pin active level is inverted. + This parameter can be a value of @ref SMARTCARD_Tx_Inv */ + + uint32_t RxPinLevelInvert; /*!< Specifies whether the RX pin active level is inverted. + This parameter can be a value of @ref SMARTCARD_Rx_Inv */ + + uint32_t DataInvert; /*!< Specifies whether data are inverted (positive/direct logic + vs negative/inverted logic). + This parameter can be a value of @ref SMARTCARD_Data_Inv */ + + uint32_t Swap; /*!< Specifies whether TX and RX pins are swapped. + This parameter can be a value of @ref SMARTCARD_Rx_Tx_Swap */ + + uint32_t OverrunDisable; /*!< Specifies whether the reception overrun detection is disabled. + This parameter can be a value of @ref SMARTCARD_Overrun_Disable */ + + uint32_t DMADisableonRxError; /*!< Specifies whether the DMA is disabled in case of reception error. + This parameter can be a value of @ref SMARTCARD_DMA_Disable_on_Rx_Error */ + + uint32_t MSBFirst; /*!< Specifies whether MSB is sent first on UART line. + This parameter can be a value of @ref SMARTCARD_MSB_First */ + + uint16_t TxCompletionIndication; /*!< Specifies which transmission completion indication is used: before (when + relevant flag is available) or once guard time period has elapsed. + This parameter can be a value of @ref SMARTCARDEx_Transmission_Completion_Indication. */ +}SMARTCARD_AdvFeatureInitTypeDef; + +/** + * @brief HAL SMARTCARD State structures definition + * @note HAL SMARTCARD State value is a combination of 2 different substates: gState and RxState. + * - gState contains SMARTCARD state information related to global Handle management + * and also information related to Tx operations. + * gState value coding follow below described bitmap : + * b7-b6 Error information + * 00 : No Error + * 01 : (Not Used) + * 10 : Timeout + * 11 : Error + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP not initialized. HAL SMARTCARD Init function already called) + * b4-b3 (not used) + * xx : Should be set to 00 + * b2 Intrinsic process state + * 0 : Ready + * 1 : Busy (IP busy with some configuration or internal operations) + * b1 (not used) + * x : Should be set to 0 + * b0 Tx state + * 0 : Ready (no Tx operation ongoing) + * 1 : Busy (Tx operation ongoing) + * - RxState contains information related to Rx operations. + * RxState value coding follow below described bitmap : + * b7-b6 (not used) + * xx : Should be set to 00 + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP not initialized) + * b4-b2 (not used) + * xxx : Should be set to 000 + * b1 Rx state + * 0 : Ready (no Rx operation ongoing) + * 1 : Busy (Rx operation ongoing) + * b0 (not used) + * x : Should be set to 0. + */ +typedef enum +{ + HAL_SMARTCARD_STATE_RESET = 0x00U, /*!< Peripheral is not initialized + Value is allowed for gState and RxState */ + HAL_SMARTCARD_STATE_READY = 0x20U, /*!< Peripheral Initialized and ready for use + Value is allowed for gState and RxState */ + HAL_SMARTCARD_STATE_BUSY = 0x24U, /*!< an internal process is ongoing + Value is allowed for gState only */ + HAL_SMARTCARD_STATE_BUSY_TX = 0x21U, /*!< Data Transmission process is ongoing + Value is allowed for gState only */ + HAL_SMARTCARD_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing + Value is allowed for RxState only */ + HAL_SMARTCARD_STATE_BUSY_TX_RX = 0x23U, /*!< Data Transmission and Reception process is ongoing + Not to be used for neither gState nor RxState. + Value is result of combination (Or) between gState and RxState values */ + HAL_SMARTCARD_STATE_TIMEOUT = 0xA0U, /*!< Timeout state + Value is allowed for gState only */ + HAL_SMARTCARD_STATE_ERROR = 0xE0U /*!< Error + Value is allowed for gState only */ +}HAL_SMARTCARD_StateTypeDef; + +/** + * @brief HAL SMARTCARD Error Code structure definition + */ +typedef enum +{ + HAL_SMARTCARD_ERROR_NONE = 0x00, /*!< No error */ + HAL_SMARTCARD_ERROR_PE = 0x01, /*!< Parity error */ + HAL_SMARTCARD_ERROR_NE = 0x02, /*!< Noise error */ + HAL_SMARTCARD_ERROR_FE = 0x04, /*!< frame error */ + HAL_SMARTCARD_ERROR_ORE = 0x08, /*!< Overrun error */ + HAL_SMARTCARD_ERROR_DMA = 0x10, /*!< DMA transfer error */ + HAL_SMARTCARD_ERROR_UDR = 0x11, /*!< SPI UnderRun error */ + HAL_SMARTCARD_ERROR_RTO = 0x20 /*!< Receiver TimeOut error */ +}HAL_SMARTCARD_ErrorTypeDef; + +/** + * @brief SMARTCARD handle Structure definition + */ +typedef struct +{ + USART_TypeDef *Instance; /*!< USART registers base address */ + + SMARTCARD_InitTypeDef Init; /*!< SmartCard communication parameters */ + + SMARTCARD_AdvFeatureInitTypeDef AdvancedInit; /*!< SmartCard advanced features initialization parameters */ + + uint8_t *pTxBuffPtr; /*!< Pointer to SmartCard Tx transfer Buffer */ + + uint16_t TxXferSize; /*!< SmartCard Tx Transfer size */ + + __IO uint16_t TxXferCount; /*!< SmartCard Tx Transfer Counter */ + + uint8_t *pRxBuffPtr; /*!< Pointer to SmartCard Rx transfer Buffer */ + + uint16_t RxXferSize; /*!< SmartCard Rx Transfer size */ + + __IO uint16_t RxXferCount; /*!< SmartCard Rx Transfer Counter */ + + DMA_HandleTypeDef *hdmatx; /*!< SmartCard Tx DMA Handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< SmartCard Rx DMA Handle parameters */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + __IO HAL_SMARTCARD_StateTypeDef gState; /*!< SmartCard state information related to global Handle management + and also related to Tx operations. + This parameter can be a value of @ref HAL_SMARTCARD_StateTypeDef */ + + __IO HAL_SMARTCARD_StateTypeDef RxState; /*!< SmartCard state information related to Rx operations. + This parameter can be a value of @ref HAL_SMARTCARD_StateTypeDef */ + + uint32_t ErrorCode; /*!< SmartCard Error code */ + +}SMARTCARD_HandleTypeDef; + +/** + * @brief SMARTCARD clock sources + */ +typedef enum +{ + SMARTCARD_CLOCKSOURCE_D2PCLK1 = 0x00, /*!< Domain2 PCLK1 clock source */ + SMARTCARD_CLOCKSOURCE_D2PCLK2 = 0x01, /*!< Domain2 PCLK2 clock source */ + SMARTCARD_CLOCKSOURCE_D3PCLK1 = 0x02, /*!< Domain3 PCLK1 clock source */ + SMARTCARD_CLOCKSOURCE_PLL2Q = 0x04, /*!< PLL2Q clock source */ + SMARTCARD_CLOCKSOURCE_HSI = 0x08, /*!< HSI clock source */ + SMARTCARD_CLOCKSOURCE_CSI = 0x10, /*!< CSI clock source */ + SMARTCARD_CLOCKSOURCE_LSE = 0x20, /*!< LSE clock source */ + SMARTCARD_CLOCKSOURCE_PLL3Q = 0x40, /*!< PCLK2 clock source */ + SMARTCARD_CLOCKSOURCE_UNDEFINED = 0x80 /*!< Undefined clock source */ +}SMARTCARD_ClockSourceTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup SMARTCARD_Exported_Constants SMARTCARD Exported Constants + * @{ + */ + +/** @defgroup SMARTCARD_Word_Length SMARTCARD Word Length + * @{ + */ +#define SMARTCARD_WORDLENGTH_9B ((uint32_t)USART_CR1_M0) /*!< SMARTCARD frame length */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Stop_Bits SMARTCARD Number of Stop Bits + * @{ + */ +#define SMARTCARD_STOPBITS_0_5 ((uint32_t)USART_CR2_STOP_0) /*!< SMARTCARD frame with 0.5 stop bit */ +#define SMARTCARD_STOPBITS_1_5 ((uint32_t)(USART_CR2_STOP_0 | USART_CR2_STOP_1)) /*!< SMARTCARD frame with 1.5 stop bits */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Parity SMARTCARD Parity + * @{ + */ +#define SMARTCARD_PARITY_EVEN ((uint32_t)USART_CR1_PCE) /*!< SMARTCARD frame even parity */ +#define SMARTCARD_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS)) /*!< SMARTCARD frame odd parity */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Mode SMARTCARD Transfer Mode + * @{ + */ +#define SMARTCARD_MODE_RX ((uint32_t)USART_CR1_RE) /*!< SMARTCARD RX mode */ +#define SMARTCARD_MODE_TX ((uint32_t)USART_CR1_TE) /*!< SMARTCARD TX mode */ +#define SMARTCARD_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE)) /*!< SMARTCARD RX and TX mode */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Clock_Polarity SMARTCARD Clock Polarity + * @{ + */ +#define SMARTCARD_POLARITY_LOW ((uint32_t)0x00000000) /*!< SMARTCARD frame low polarity */ +#define SMARTCARD_POLARITY_HIGH ((uint32_t)USART_CR2_CPOL) /*!< SMARTCARD frame high polarity */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Clock_Phase SMARTCARD Clock Phase + * @{ + */ +#define SMARTCARD_PHASE_1EDGE ((uint32_t)0x00000000) /*!< SMARTCARD frame phase on first clock transition */ +#define SMARTCARD_PHASE_2EDGE ((uint32_t)USART_CR2_CPHA) /*!< SMARTCARD frame phase on second clock transition */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Last_Bit SMARTCARD Last Bit + * @{ + */ +#define SMARTCARD_LASTBIT_DISABLE ((uint32_t)0x00000000) /*!< SMARTCARD frame last data bit clock pulse not output to SCLK pin */ +#define SMARTCARD_LASTBIT_ENABLE ((uint32_t)USART_CR2_LBCL) /*!< SMARTCARD frame last data bit clock pulse output to SCLK pin */ +/** + * @} + */ + +/** @defgroup SMARTCARD_FIFO_mode SMARTCARD FIFO mode + * @brief SMARTCARD FIFO mode + * @{ + */ +#define SMARTCARD_FIFOMODE_DISABLE ((uint32_t)0x00000000) /*!< FIFO mode disable */ +#define SMARTCARD_FIFOMODE_ENABLE ((uint32_t)USART_CR1_FIFOEN) /*!< FIFO mode enable */ +/** + * @} + */ + +/** @defgroup SMARTCARD_TXFIFO_threshold_level SMARTCARD TXFIFO threshold level + * @brief SMARTCARD TXFIFO level + * @{ + */ +#define SMARTCARD_TXFIFO_THRESHOLD_1_8 ((uint32_t)0x00000000) /*!< TXFIFO threshold 1 eighth full configuration */ +#define SMARTCARD_TXFIFO_THRESHOLD_1_4 ((uint32_t)USART_CR3_TXFTCFG_0) /*!< TXFIFO threshold 1 quart full configuration */ +#define SMARTCARD_TXFIFO_THRESHOLD_1_2 ((uint32_t)USART_CR3_TXFTCFG_1) /*!< TXFIFO threshold half full configuration */ +#define SMARTCARD_TXFIFO_THRESHOLD_3_4 ((uint32_t)(USART_CR3_TXFTCFG_0|USART_CR3_TXFTCFG_1)) /*!< TXFIFO threshold 3 quarts full configuration */ +#define SMARTCARD_TXFIFO_THRESHOLD_7_8 ((uint32_t)USART_CR3_TXFTCFG_2) /*!< TXFIFO threshold 7 eighth full configuration */ +#define SMARTCARD_TXFIFO_THRESHOLD_8_8 ((uint32_t)(USART_CR3_TXFTCFG_2|USART_CR3_TXFTCFG_0)) /*!< TXFIFO becomes empty */ +/** + * @} + */ + +/** @defgroup SMARTCARD_RXFIFO_threshold_level SMARTCARD RXFIFO threshold level + * @brief SMARTCARD RXFIFO level + * @{ + */ +#define SMARTCARD_RXFIFO_THRESHOLD_1_8 ((uint32_t)0x00000000) /*!< RXFIFO threshold 1 eighth full configuration */ +#define SMARTCARD_RXFIFO_THRESHOLD_1_4 ((uint32_t)USART_CR3_RXFTCFG_0) /*!< RXFIFO threshold 1 quart full configuration */ +#define SMARTCARD_RXFIFO_THRESHOLD_1_2 ((uint32_t)USART_CR3_RXFTCFG_1) /*!< RXFIFO threshold half full configuration */ +#define SMARTCARD_RXFIFO_THRESHOLD_3_4 ((uint32_t)(USART_CR3_RXFTCFG_0|USART_CR3_RXFTCFG_1)) /*!< RXFIFO threshold 3 quarts full configuration */ +#define SMARTCARD_RXFIFO_THRESHOLD_7_8 ((uint32_t)USART_CR3_RXFTCFG_2) /*!< RXFIFO threshold 7 eighth full configuration */ +#define SMARTCARD_RXFIFO_THRESHOLD_8_8 ((uint32_t)(USART_CR3_RXFTCFG_2|USART_CR3_RXFTCFG_0)) /*!< RXFIFO becomes Full */ +/** + * @} + */ + +/** @defgroup SMARTCARD_OneBit_Sampling SMARTCARD One Bit Sampling Method + * @{ + */ +#define SMARTCARD_ONE_BIT_SAMPLE_DISABLE ((uint32_t)0x00000000) /*!< SMARTCARD frame one-bit sample disabled */ +#define SMARTCARD_ONE_BIT_SAMPLE_ENABLE ((uint32_t)USART_CR3_ONEBIT) /*!< SMARTCARD frame one-bit sample enabled */ +/** + * @} + */ + + +/** @defgroup SMARTCARD_NACK_Enable SMARTCARD NACK Enable + * @{ + */ +#define SMARTCARD_NACK_ENABLE ((uint32_t)USART_CR3_NACK) /*!< SMARTCARD NACK transmission disabled */ +#define SMARTCARD_NACK_DISABLE ((uint32_t)0x00000000) /*!< SMARTCARD NACK transmission enabled */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Timeout_Enable SMARTCARD Timeout Enable + * @{ + */ +#define SMARTCARD_TIMEOUT_DISABLE ((uint32_t)0x00000000) /*!< SMARTCARD receiver timeout disabled */ +#define SMARTCARD_TIMEOUT_ENABLE ((uint32_t)USART_CR2_RTOEN) /*!< SMARTCARD receiver timeout enabled */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Tx_Inv SMARTCARD advanced feature TX pin active level inversion + * @{ + */ +#define SMARTCARD_ADVFEATURE_TXINV_DISABLE ((uint32_t)0x00000000) /*!< TX pin active level inversion disable */ +#define SMARTCARD_ADVFEATURE_TXINV_ENABLE ((uint32_t)USART_CR2_TXINV) /*!< TX pin active level inversion enable */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Rx_Inv SMARTCARD advanced feature RX pin active level inversion + * @{ + */ +#define SMARTCARD_ADVFEATURE_RXINV_DISABLE ((uint32_t)0x00000000) /*!< RX pin active level inversion disable */ +#define SMARTCARD_ADVFEATURE_RXINV_ENABLE ((uint32_t)USART_CR2_RXINV) /*!< RX pin active level inversion enable */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Data_Inv SMARTCARD advanced feature Binary Data inversion + * @{ + */ +#define SMARTCARD_ADVFEATURE_DATAINV_DISABLE ((uint32_t)0x00000000) /*!< Binary data inversion disable */ +#define SMARTCARD_ADVFEATURE_DATAINV_ENABLE ((uint32_t)USART_CR2_DATAINV) /*!< Binary data inversion enable */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Rx_Tx_Swap SMARTCARD advanced feature RX TX pins swap + * @{ + */ +#define SMARTCARD_ADVFEATURE_SWAP_DISABLE ((uint32_t)0x00000000) /*!< TX/RX pins swap disable */ +#define SMARTCARD_ADVFEATURE_SWAP_ENABLE ((uint32_t)USART_CR2_SWAP) /*!< TX/RX pins swap enable */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Overrun_Disable SMARTCARD advanced feature Overrun Disable + * @{ + */ +#define SMARTCARD_ADVFEATURE_OVERRUN_ENABLE ((uint32_t)0x00000000) /*!< RX overrun enable */ +#define SMARTCARD_ADVFEATURE_OVERRUN_DISABLE ((uint32_t)USART_CR3_OVRDIS) /*!< RX overrun disable */ +/** + * @} + */ + +/** @defgroup SMARTCARD_DMA_Disable_on_Rx_Error SMARTCARD advanced feature DMA Disable on Rx Error + * @{ + */ +#define SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR ((uint32_t)0x00000000) /*!< DMA enable on Reception Error */ +#define SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR ((uint32_t)USART_CR3_DDRE) /*!< DMA disable on Reception Error */ +/** + * @} + */ + +/** @defgroup SMARTCARD_MSB_First SMARTCARD advanced feature MSB first + * @{ + */ +#define SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE ((uint32_t)0x00000000) /*!< Most significant bit sent/received first disable */ +#define SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE ((uint32_t)USART_CR2_MSBFIRST) /*!< Most significant bit sent/received first enable */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Request_Parameters SMARTCARD Request Parameters + * @{ + */ +#define SMARTCARD_RXDATA_FLUSH_REQUEST ((uint16_t)USART_RQR_RXFRQ) /*!< Receive data flush request */ +#define SMARTCARD_TXDATA_FLUSH_REQUEST ((uint16_t)USART_RQR_TXFRQ) /*!< Transmit data flush request */ +/** + * @} + */ + +/** @defgroup SMARTCARD_CR3_SCARCNT_LSB_POS SMARTCARD auto retry counter LSB position in CR3 register + * @{ + */ +#define SMARTCARD_CR3_SCARCNT_LSB_POS ((uint32_t) 17) /*!< SMARTCARD auto retry counter LSB position in CR3 register */ +/** + * @} + */ + +/** @defgroup SMARTCARD_GTPR_GT_LSB_POS SMARTCARD guard time value LSB position in GTPR register + * @{ + */ +#define SMARTCARD_GTPR_GT_LSB_POS ((uint32_t) 8) /*!< SMARTCARD guard time value LSB position in GTPR register */ +/** + * @} + */ + +/** @defgroup SMARTCARD_RTOR_BLEN_LSB_POS SMARTCARD block length LSB position in RTOR register + * @{ + */ +#define SMARTCARD_RTOR_BLEN_LSB_POS ((uint32_t) 24) /*!< SMARTCARD block length LSB position in RTOR register */ +/** + * @} + */ + +/** @defgroup SMARTCARD_Interruption_Mask SMARTCARD interruptions flags mask + * @{ + */ +#define SMARTCARD_IT_MASK ((uint16_t)0x001F) /*!< SMARTCARD interruptions flags mask */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup SMARTCARD_Exported_Macros SMARTCARD Exported Macros + * @{ + */ + +/** @brief Reset SMARTCARD handle state. + * @param __HANDLE__: SMARTCARD handle. + * @retval None + */ +#define __HAL_SMARTCARD_RESET_HANDLE_STATE(__HANDLE__) do{ \ + (__HANDLE__)->gState = HAL_SMARTCARD_STATE_RESET; \ + (__HANDLE__)->RxState = HAL_SMARTCARD_STATE_RESET; \ + } while(0) + +/** @brief Flush the Smartcard Data registers. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_FLUSH_DRREGISTER(__HANDLE__) \ + do{ \ + SET_BIT((__HANDLE__)->Instance->RQR, SMARTCARD_RXDATA_FLUSH_REQUEST); \ + SET_BIT((__HANDLE__)->Instance->RQR, SMARTCARD_TXDATA_FLUSH_REQUEST); \ + } while(0) + +/** @brief Clear the specified SMARTCARD pending flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be any combination of the following values: + * @arg @ref SMARTCARD_CLEAR_PEF Parity error clear flag + * @arg @ref SMARTCARD_CLEAR_FEF Framing error clear flag + * @arg @ref SMARTCARD_CLEAR_NEF Noise detected clear flag + * @arg @ref SMARTCARD_CLEAR_OREF OverRun error clear flag + * @arg @ref SMARTCARD_CLEAR_IDLEF Idle line detected clear flag + * @arg @ref SMARTCARD_CLEAR_TCF Transmission complete clear flag + * @arg @ref SMARTCARD_CLEAR_TCBGTF Transmission complete before guard time clear flag + * @arg @ref SMARTCARD_CLEAR_RTOF Receiver timeout clear flag + * @arg @ref SMARTCARD_CLEAR_EOBF End of block clear flag + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + +/** @brief Clear the SMARTCARD PE pending flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_PEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_PEF) + + +/** @brief Clear the SMARTCARD FE pending flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_FEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_FEF) + +/** @brief Clear the SMARTCARD NE pending flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_NEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_NEF) + +/** @brief Clear the SMARTCARD ORE pending flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_OREFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_OREF) + +/** @brief Clear the SMARTCARD IDLE pending flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_IDLEFLAG(__HANDLE__) __HAL_SMARTCARD_CLEAR_FLAG((__HANDLE__), SMARTCARD_CLEAR_IDLEF) + +/** @brief Check whether the specified Smartcard flag is set or not. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg @ref SMARTCARD_FLAG_TCBGT Transmission complete before guard time flag + * @arg @ref SMARTCARD_FLAG_REACK Receive enable acknowledge flag + * @arg @ref SMARTCARD_FLAG_TEACK Transmit enable acknowledge flag + * @arg @ref SMARTCARD_FLAG_BUSY Busy flag + * @arg @ref SMARTCARD_FLAG_EOBF End of block flag + * @arg @ref SMARTCARD_FLAG_RTOF Receiver timeout flag + * @arg @ref SMARTCARD_FLAG_TXE Transmit data register empty flag + * @arg @ref SMARTCARD_FLAG_TC Transmission complete flag + * @arg @ref SMARTCARD_FLAG_RXNE Receive data register not empty flag + * @arg @ref SMARTCARD_FLAG_IDLE Idle line detection flag + * @arg @ref SMARTCARD_FLAG_ORE Overrun error flag + * @arg @ref SMARTCARD_FLAG_NE Noise error flag + * @arg @ref SMARTCARD_FLAG_FE Framing error flag + * @arg @ref SMARTCARD_FLAG_PE Parity error flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_SMARTCARD_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) + + +/** @brief Enable the specified SmartCard interrupt. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __INTERRUPT__: specifies the SMARTCARD interrupt to enable. + * This parameter can be one of the following values: + * @arg @ref SMARTCARD_IT_EOB End of block interrupt + * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt + * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt + * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt + * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) + * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt + * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt + * @arg @ref SMARTCARD_IT_PE Parity error interrupt + * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_SMARTCARD_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) + +/** @brief Disable the specified SmartCard interrupt. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __INTERRUPT__: specifies the SMARTCARD interrupt to disable. + * This parameter can be one of the following values: + * @arg @ref SMARTCARD_IT_EOB End of block interrupt + * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt + * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt + * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt + * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) + * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt + * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt + * @arg @ref SMARTCARD_IT_PE Parity error interrupt + * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_SMARTCARD_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) + + +/** @brief Check whether the specified SmartCard interrupt has occurred or not. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __IT__: specifies the SMARTCARD interrupt to check. + * This parameter can be one of the following values: + * @arg @ref SMARTCARD_IT_EOB End of block interrupt + * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt + * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt + * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt + * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) + * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt + * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt + * @arg @ref SMARTCARD_IT_ORE Overrun error interrupt + * @arg @ref SMARTCARD_IT_NE Noise error interrupt + * @arg @ref SMARTCARD_IT_FE Framing error interrupt + * @arg @ref SMARTCARD_IT_PE Parity error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_SMARTCARD_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__IT__)>> 0x08))) + +/** @brief Check whether the specified SmartCard interrupt source is enabled or not. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __IT__: specifies the SMARTCARD interrupt source to check. + * This parameter can be one of the following values: + * @arg @ref SMARTCARD_IT_EOB End of block interrupt + * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt + * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt + * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt + * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) + * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt + * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt + * @arg @ref SMARTCARD_IT_ERR Framing, overrun or noise error interrupt + * @arg @ref SMARTCARD_IT_PE Parity error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_SMARTCARD_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5U) == 1)? (__HANDLE__)->Instance->CR1 : \ + (((((uint8_t)(__IT__)) >> 5U) == 2)? (__HANDLE__)->Instance->CR2 : \ + (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << (((uint16_t)(__IT__)) & SMARTCARD_IT_MASK))) + + +/** @brief Clear the specified SMARTCARD ISR flag, in setting the proper ICR register flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set + * to clear the corresponding interrupt. + * This parameter can be one of the following values: + * @arg @ref SMARTCARD_CLEAR_PEF Parity error clear flag + * @arg @ref SMARTCARD_CLEAR_FEF Framing error clear flag + * @arg @ref SMARTCARD_CLEAR_NEF Noise detected clear flag + * @arg @ref SMARTCARD_CLEAR_OREF OverRun error clear flag + * @arg @ref SMARTCARD_CLEAR_IDLEF Idle line detection clear flag + * @arg @ref SMARTCARD_CLEAR_TCF Transmission complete clear flag + * @arg @ref SMARTCARD_CLEAR_TCBGTF Transmission complete before guard time clear flag (when flag available) + * @arg @ref SMARTCARD_CLEAR_RTOF Receiver timeout clear flag + * @arg @ref SMARTCARD_CLEAR_EOBF End of block clear flag + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__)) + +/** @brief Clear the SMARTCARD TX FIFO empty clear flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_CLEAR_TXFECF(__HANDLE__) __HAL_SMARTCARD_CLEAR_IT((__HANDLE__), SMARTCARD_CLEAR_TXFECF) + +/** @brief Set a specific SMARTCARD request flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __REQ__: specifies the request flag to set + * This parameter can be one of the following values: + * @arg @ref SMARTCARD_RXDATA_FLUSH_REQUEST Receive data flush Request + * @arg @ref SMARTCARD_TXDATA_FLUSH_REQUEST Transmit data flush Request + * + * @retval None + */ +#define __HAL_SMARTCARD_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__)) + +/** @brief Enable the SMARTCARD one bit sample method. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT) + +/** @brief Disable the SMARTCARD one bit sample method. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3 &= (uint32_t)~((uint32_t)USART_CR3_ONEBIT)) + +/** @brief Enable the USART associated to the SMARTCARD Handle. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE) + +/** @brief Disable the USART associated to the SMARTCARD Handle + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define __HAL_SMARTCARD_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) + +/** + * @} + */ + +/* Private macros -------------------------------------------------------------*/ +/** @defgroup SMARTCARD_Private_Macros SMARTCARD Private Macros + * @{ + */ + +/** @brief Check the Baud rate range. + * @param __BAUDRATE__: Baudrate specified by the user. + * The maximum Baud Rate is derived from the maximum clock on H7 (i.e. 100 MHz) + * divided by the smallest oversampling used on the SMARTCARD (i.e. 8). + * @retval Test result (TRUE or FALSE). + */ +#define IS_SMARTCARD_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 12500001U) + +/** @brief Check the block length range. + * @note The maximum SMARTCARD block length is 0xFF. + * @param __LENGTH__: block length. + * @retval Test result (TRUE or FALSE) + */ +#define IS_SMARTCARD_BLOCKLENGTH(__LENGTH__) ((__LENGTH__) <= 0xFF) + +/** @brief Check the receiver timeout value. + * @note The maximum SMARTCARD receiver timeout value is 0xFFFFFF. + * @param __TIMEOUTVALUE__: receiver timeout value. + * @retval Test result (TRUE or FALSE) + */ +#define IS_SMARTCARD_TIMEOUT_VALUE(__TIMEOUTVALUE__) ((__TIMEOUTVALUE__) <= 0xFFFFFF) + +/** @brief Check the SMARTCARD autoretry counter value. + * @note The maximum number of retransmissions is 0x7. + * @param __COUNT__: number of retransmissions. + * @retval Test result (TRUE or FALSE) + */ +#define IS_SMARTCARD_AUTORETRY_COUNT(__COUNT__) ((__COUNT__) <= 0x7) + +/** + * @brief Ensure that SMARTCARD frame length is valid. + * @param __LENGTH__: SMARTCARD frame length. + * @retval SET (__LENGTH__ is valid) or RESET (__LENGTH__ is invalid) + */ +#define IS_SMARTCARD_WORD_LENGTH(__LENGTH__) ((__LENGTH__) == SMARTCARD_WORDLENGTH_9B) + +/** + * @brief Ensure that SMARTCARD frame number of stop bits is valid. + * @param __STOPBITS__: SMARTCARD frame number of stop bits. + * @retval SET (__STOPBITS__ is valid) or RESET (__STOPBITS__ is invalid) + */ +#define IS_SMARTCARD_STOPBITS(__STOPBITS__) (((__STOPBITS__) == SMARTCARD_STOPBITS_0_5) ||\ + ((__STOPBITS__) == SMARTCARD_STOPBITS_1_5)) + +/** + * @brief Ensure that SMARTCARD frame parity is valid. + * @param __PARITY__: SMARTCARD frame parity. + * @retval SET (__PARITY__ is valid) or RESET (__PARITY__ is invalid) + */ +#define IS_SMARTCARD_PARITY(__PARITY__) (((__PARITY__) == SMARTCARD_PARITY_EVEN) || \ + ((__PARITY__) == SMARTCARD_PARITY_ODD)) + +/** + * @brief Ensure that SMARTCARD communication mode is valid. + * @param __MODE__: SMARTCARD communication mode. + * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) + */ +#define IS_SMARTCARD_MODE(__MODE__) ((((__MODE__) & (uint16_t)0xFFF3) == 0x00) && ((__MODE__) != (uint16_t)0x00)) + +/** + * @brief Ensure that SMARTCARD frame polarity is valid. + * @param __CPOL__: SMARTCARD frame polarity. + * @retval SET (__CPOL__ is valid) or RESET (__CPOL__ is invalid) + */ +#define IS_SMARTCARD_POLARITY(__CPOL__) (((__CPOL__) == SMARTCARD_POLARITY_LOW) || ((__CPOL__) == SMARTCARD_POLARITY_HIGH)) + +/** + * @brief Ensure that SMARTCARD frame phase is valid. + * @param __CPHA__: SMARTCARD frame phase. + * @retval SET (__CPHA__ is valid) or RESET (__CPHA__ is invalid) + */ +#define IS_SMARTCARD_PHASE(__CPHA__) (((__CPHA__) == SMARTCARD_PHASE_1EDGE) || ((__CPHA__) == SMARTCARD_PHASE_2EDGE)) + +/** + * @brief Ensure that SMARTCARD frame last bit clock pulse setting is valid. + * @param __LASTBIT__: SMARTCARD frame last bit clock pulse setting. + * @retval SET (__LASTBIT__ is valid) or RESET (__LASTBIT__ is invalid) + */ +#define IS_SMARTCARD_LASTBIT(__LASTBIT__) (((__LASTBIT__) == SMARTCARD_LASTBIT_DISABLE) || \ + ((__LASTBIT__) == SMARTCARD_LASTBIT_ENABLE)) + +/** + * @brief Ensure that SMARTCARD frame sampling is valid. + * @param __ONEBIT__: SMARTCARD frame sampling. + * @retval SET (__ONEBIT__ is valid) or RESET (__ONEBIT__ is invalid) + */ +#define IS_SMARTCARD_ONE_BIT_SAMPLE(__ONEBIT__) (((__ONEBIT__) == SMARTCARD_ONE_BIT_SAMPLE_DISABLE) || \ + ((__ONEBIT__) == SMARTCARD_ONE_BIT_SAMPLE_ENABLE)) + +/** + * @brief Ensure that SMARTCARD NACK transmission setting is valid. + * @param __NACK__: SMARTCARD NACK transmission setting. + * @retval SET (__NACK__ is valid) or RESET (__NACK__ is invalid) + */ +#define IS_SMARTCARD_NACK(__NACK__) (((__NACK__) == SMARTCARD_NACK_ENABLE) || \ + ((__NACK__) == SMARTCARD_NACK_DISABLE)) + +/** + * @brief Ensure that SMARTCARD receiver timeout setting is valid. + * @param __TIMEOUT__: SMARTCARD receiver timeout setting. + * @retval SET (__TIMEOUT__ is valid) or RESET (__TIMEOUT__ is invalid) + */ +#define IS_SMARTCARD_TIMEOUT(__TIMEOUT__) (((__TIMEOUT__) == SMARTCARD_TIMEOUT_DISABLE) || \ + ((__TIMEOUT__) == SMARTCARD_TIMEOUT_ENABLE)) + +/** + * @brief Ensure that SMARTCARD advanced features initialization is valid. + * @param __INIT__: SMARTCARD advanced features initialization. + * @retval SET (__INIT__ is valid) or RESET (__INIT__ is invalid) + */ +#define IS_SMARTCARD_ADVFEATURE_INIT(__INIT__) ((__INIT__) <= (SMARTCARD_ADVFEATURE_NO_INIT | \ + SMARTCARD_ADVFEATURE_TXINVERT_INIT | \ + SMARTCARD_ADVFEATURE_RXINVERT_INIT | \ + SMARTCARD_ADVFEATURE_DATAINVERT_INIT | \ + SMARTCARD_ADVFEATURE_SWAP_INIT | \ + SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT | \ + SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT | \ + SMARTCARD_ADVFEATURE_MSBFIRST_INIT)) + +/** + * @brief Ensure that SMARTCARD frame TX inversion setting is valid. + * @param __TXINV__: SMARTCARD frame TX inversion setting. + * @retval SET (__TXINV__ is valid) or RESET (__TXINV__ is invalid) + */ +#define IS_SMARTCARD_ADVFEATURE_TXINV(__TXINV__) (((__TXINV__) == SMARTCARD_ADVFEATURE_TXINV_DISABLE) || \ + ((__TXINV__) == SMARTCARD_ADVFEATURE_TXINV_ENABLE)) + +/** + * @brief Ensure that SMARTCARD frame RX inversion setting is valid. + * @param __RXINV__: SMARTCARD frame RX inversion setting. + * @retval SET (__RXINV__ is valid) or RESET (__RXINV__ is invalid) + */ +#define IS_SMARTCARD_ADVFEATURE_RXINV(__RXINV__) (((__RXINV__) == SMARTCARD_ADVFEATURE_RXINV_DISABLE) || \ + ((__RXINV__) == SMARTCARD_ADVFEATURE_RXINV_ENABLE)) + +/** + * @brief Ensure that SMARTCARD frame data inversion setting is valid. + * @param __DATAINV__: SMARTCARD frame data inversion setting. + * @retval SET (__DATAINV__ is valid) or RESET (__DATAINV__ is invalid) + */ +#define IS_SMARTCARD_ADVFEATURE_DATAINV(__DATAINV__) (((__DATAINV__) == SMARTCARD_ADVFEATURE_DATAINV_DISABLE) || \ + ((__DATAINV__) == SMARTCARD_ADVFEATURE_DATAINV_ENABLE)) + +/** + * @brief Ensure that SMARTCARD frame RX/TX pins swap setting is valid. + * @param __SWAP__: SMARTCARD frame RX/TX pins swap setting. + * @retval SET (__SWAP__ is valid) or RESET (__SWAP__ is invalid) + */ +#define IS_SMARTCARD_ADVFEATURE_SWAP(__SWAP__) (((__SWAP__) == SMARTCARD_ADVFEATURE_SWAP_DISABLE) || \ + ((__SWAP__) == SMARTCARD_ADVFEATURE_SWAP_ENABLE)) + +/** + * @brief Ensure that SMARTCARD frame overrun setting is valid. + * @param __OVERRUN__: SMARTCARD frame overrun setting. + * @retval SET (__OVERRUN__ is valid) or RESET (__OVERRUN__ is invalid) + */ +#define IS_SMARTCARD_OVERRUN(__OVERRUN__) (((__OVERRUN__) == SMARTCARD_ADVFEATURE_OVERRUN_ENABLE) || \ + ((__OVERRUN__) == SMARTCARD_ADVFEATURE_OVERRUN_DISABLE)) + +/** + * @brief Ensure that SMARTCARD DMA enabling or disabling on error setting is valid. + * @param __DMA__: SMARTCARD DMA enabling or disabling on error setting. + * @retval SET (__DMA__ is valid) or RESET (__DMA__ is invalid) + */ +#define IS_SMARTCARD_ADVFEATURE_DMAONRXERROR(__DMA__) (((__DMA__) == SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR) || \ + ((__DMA__) == SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR)) + +/** + * @brief Ensure that SMARTCARD frame MSB first setting is valid. + * @param __MSBFIRST__: SMARTCARD frame MSB first setting. + * @retval SET (__MSBFIRST__ is valid) or RESET (__MSBFIRST__ is invalid) + */ +#define IS_SMARTCARD_ADVFEATURE_MSBFIRST(__MSBFIRST__) (((__MSBFIRST__) == SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE) || \ + ((__MSBFIRST__) == SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE)) + +/** + * @brief Ensure that SMARTCARD request parameter is valid. + * @param __PARAM__: SMARTCARD request parameter. + * @retval SET (__PARAM__ is valid) or RESET (__PARAM__ is invalid) + */ +#define IS_SMARTCARD_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == SMARTCARD_RXDATA_FLUSH_REQUEST) || \ + ((__PARAM__) == SMARTCARD_TXDATA_FLUSH_REQUEST)) + +/** + * @brief Ensure that SMARTCARD FIFO mode is valid. + * @param __STATE__: SMARTCARD FIFO mode. + * @retval SET (__STATE__ is valid) or RESET (__STATE__ is invalid) + */ +#define IS_SMARTCARD_FIFO_MODE_STATE(__STATE__) (((__STATE__) == SMARTCARD_FIFOMODE_DISABLE ) || \ + ((__STATE__) == SMARTCARD_FIFOMODE_ENABLE)) + +/** + * @brief Ensure that SMARTCARD TXFIFO threshold level is valid. + * @param __THRESHOLD__: SMARTCARD TXFIFO threshold level. + * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) + */ +#define IS_SMARTCARD_TXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_8) || \ + ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_4) || \ + ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_1_2) || \ + ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_3_4) || \ + ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_7_8) || \ + ((__THRESHOLD__) == SMARTCARD_TXFIFO_THRESHOLD_8_8)) + +/** + * @brief Ensure that SMARTCARD RXFIFO threshold level is valid. + * @param __THRESHOLD__: SMARTCARD RXFIFO threshold level. + * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) + */ +#define IS_SMARTCARD_RXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_8) || \ + ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_4) || \ + ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_1_2) || \ + ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_3_4) || \ + ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_7_8) || \ + ((__THRESHOLD__) == SMARTCARD_RXFIFO_THRESHOLD_8_8)) + +/** + * @} + */ + +/* Include SMARTCARD HAL Extended module */ +#include "stm32h7xx_hal_smartcard_ex.h" + + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SMARTCARD_Exported_Functions + * @{ + */ + +/* Initialization and de-initialization functions ****************************/ +/** @addtogroup SMARTCARD_Exported_Functions_Group1 + * @{ + */ + +HAL_StatusTypeDef HAL_SMARTCARD_Init(SMARTCARD_HandleTypeDef *hsmartcard); +HAL_StatusTypeDef HAL_SMARTCARD_DeInit(SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_MspInit(SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_MspDeInit(SMARTCARD_HandleTypeDef *hsmartcard); + +/** + * @} + */ + +/* IO operation functions *****************************************************/ +/** @addtogroup SMARTCARD_Exported_Functions_Group2 + * @{ + */ + +HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SMARTCARD_Transmit_IT(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SMARTCARD_Receive_IT(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SMARTCARD_Transmit_DMA(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SMARTCARD_Receive_DMA(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SMARTCARD_Abort(SMARTCARD_HandleTypeDef *hsmartcard); +HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit(SMARTCARD_HandleTypeDef *hsmartcard); +HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive(SMARTCARD_HandleTypeDef *hsmartcard); +HAL_StatusTypeDef HAL_SMARTCARD_Abort_IT(SMARTCARD_HandleTypeDef *hsmartcard); +HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit_IT(SMARTCARD_HandleTypeDef *hsmartcard); +HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive_IT(SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_IRQHandler(SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_TxCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_RxCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_ErrorCallback(SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_AbortCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_AbortTransmitCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard); +void HAL_SMARTCARD_AbortReceiveCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard); + +/** + * @} + */ + +/* Peripheral Control functions ***********************************************/ +/* Peripheral State and Error functions ***************************************/ +/** @addtogroup SMARTCARD_Exported_Functions_Group4 + * @{ + */ + +HAL_SMARTCARD_StateTypeDef HAL_SMARTCARD_GetState(SMARTCARD_HandleTypeDef *hsmartcard); +uint32_t HAL_SMARTCARD_GetError(SMARTCARD_HandleTypeDef *hsmartcard); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SMARTCARD_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard_ex.h new file mode 100644 index 0000000000..e36e075f10 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smartcard_ex.h @@ -0,0 +1,359 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_smartcard_ex.h + * @author MCD Application Team + * @brief Header file of SMARTCARD HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SMARTCARD_EX_H +#define __STM32H7xx_HAL_SMARTCARD_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SMARTCARDEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/** @addtogroup SMARTCARDEx_Exported_Constants SMARTCARD Extended Exported Constants + * @{ + */ + +/** @defgroup SMARTCARDEx_Transmission_Completion_Indication SMARTCARD Transmission Completion Indication + * @{ + */ +#define SMARTCARD_TCBGT SMARTCARD_IT_TCBGT /*!< SMARTCARD transmission complete before guard time */ +#define SMARTCARD_TC SMARTCARD_IT_TC /*!< SMARTCARD transmission complete (flag raised when guard time has elapsed) */ +/** + * @} + */ + +/** @defgroup SMARTCARDEx_Advanced_Features_Initialization_Type SMARTCARD advanced feature initialization type + * @{ + */ +#define SMARTCARD_ADVFEATURE_NO_INIT ((uint32_t)0x00000000) /*!< No advanced feature initialization */ +#define SMARTCARD_ADVFEATURE_TXINVERT_INIT ((uint32_t)0x00000001) /*!< TX pin active level inversion */ +#define SMARTCARD_ADVFEATURE_RXINVERT_INIT ((uint32_t)0x00000002) /*!< RX pin active level inversion */ +#define SMARTCARD_ADVFEATURE_DATAINVERT_INIT ((uint32_t)0x00000004) /*!< Binary data inversion */ +#define SMARTCARD_ADVFEATURE_SWAP_INIT ((uint32_t)0x00000008) /*!< TX/RX pins swap */ +#define SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT ((uint32_t)0x00000010) /*!< RX overrun disable */ +#define SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT ((uint32_t)0x00000020) /*!< DMA disable on Reception Error */ +#define SMARTCARD_ADVFEATURE_MSBFIRST_INIT ((uint32_t)0x00000080) /*!< Most significant bit sent/received first */ +#define SMARTCARD_ADVFEATURE_TXCOMPLETION ((uint32_t)0x00000100) /*!< TX completion indication before of after guard time */ +/** + * @} + */ + + + + +/** @defgroup SMARTCARDEx_Flags SMARTCARD Flags + * Elements values convention: 0xXXXX + * - 0xXXXX : Flag mask in the ISR register + * @{ + */ +#define SMARTCARD_FLAG_TCBGT USART_ISR_TCBGT /*!< SMARTCARD transmission complete before guard time completion */ +#define SMARTCARD_FLAG_REACK USART_ISR_REACK /*!< SMARTCARD receive enable acknowledge flag */ +#define SMARTCARD_FLAG_TEACK USART_ISR_TEACK /*!< SMARTCARD transmit enable acknowledge flag */ +#define SMARTCARD_FLAG_BUSY USART_ISR_BUSY /*!< SMARTCARD busy flag */ +#define SMARTCARD_FLAG_EOBF USART_ISR_EOBF /*!< SMARTCARD end of block flag */ +#define SMARTCARD_FLAG_RTOF USART_ISR_RTOF /*!< SMARTCARD receiver timeout flag */ +#define SMARTCARD_FLAG_TXE USART_ISR_TXE /*!< SMARTCARD transmit data register empty */ +#define SMARTCARD_FLAG_TC USART_ISR_TC /*!< SMARTCARD transmission complete */ +#define SMARTCARD_FLAG_RXNE USART_ISR_RXNE /*!< SMARTCARD read data register not empty */ +#define SMARTCARD_FLAG_IDLE USART_ISR_IDLE /*!< SMARTCARD idle line detection */ +#define SMARTCARD_FLAG_ORE USART_ISR_ORE /*!< SMARTCARD overrun error */ +#define SMARTCARD_FLAG_NE USART_ISR_NE /*!< SMARTCARD noise error */ +#define SMARTCARD_FLAG_FE USART_ISR_FE /*!< SMARTCARD frame error */ +#define SMARTCARD_FLAG_PE USART_ISR_PE /*!< SMARTCARD parity error */ +#define SMARTCARD_FLAG_TXFT USART_ISR_TXFT /*!< SMARTCARD TXFIFO threshold flag */ +#define SMARTCARD_FLAG_RXFT USART_ISR_RXFT /*!< SMARTCARD RXFIFO threshold flag */ +#define SMARTCARD_FLAG_RXFF USART_ISR_RXFF /*!< SMARTCARD RXFIFO Fullflag */ +#define SMARTCARD_FLAG_TXFE USART_ISR_TXFE /*!< SMARTCARD TXFIFO Empty flag */ + +/** + * @} + */ + +/** @defgroup SMARTCARDEx_Interrupt_definition SMARTCARD Interrupts Definition + * Elements values convention: 000ZZZZZ0XXYYYYYb + * - YYYYY : Interrupt source position in the XX register (5 bits) + * - XX : Interrupt source register (2 bits) + * - 01: CR1 register + * - 10: CR2 register + * - 11: CR3 register + * - ZZZZZ : Flag position in the ISR register(5 bits) + * @{ + */ +#define SMARTCARD_IT_PE ((uint16_t)0x0028) /*!< SMARTCARD parity error interruption */ +#define SMARTCARD_IT_TXE ((uint16_t)0x0727) /*!< SMARTCARD transmit data register empty interruption */ +#define SMARTCARD_IT_TC ((uint16_t)0x0626) /*!< SMARTCARD transmission complete interruption */ +#define SMARTCARD_IT_RXNE ((uint16_t)0x0525) /*!< SMARTCARD read data register not empty interruption */ +#define SMARTCARD_IT_IDLE ((uint16_t)0x0424) /*!< SMARTCARD idle line detection interruption */ + +#define SMARTCARD_IT_ERR ((uint16_t)0x0060) /*!< SMARTCARD error interruption */ +#define SMARTCARD_IT_ORE ((uint16_t)0x0300) /*!< SMARTCARD overrun error interruption */ +#define SMARTCARD_IT_NE ((uint16_t)0x0200) /*!< SMARTCARD noise error interruption */ +#define SMARTCARD_IT_FE ((uint16_t)0x0100) /*!< SMARTCARD frame error interruption */ + +#define SMARTCARD_IT_EOB ((uint16_t)0x0C3B) /*!< SMARTCARD end of block interruption */ +#define SMARTCARD_IT_RTO ((uint16_t)0x0B3A) /*!< SMARTCARD receiver timeout interruption */ + +#define SMARTCARD_IT_RXFF ((uint16_t)0x183F) +#define SMARTCARD_IT_TXFE ((uint16_t)0x173E) +#define SMARTCARD_IT_RXFT ((uint16_t)0x187C) +#define SMARTCARD_IT_TXFT ((uint16_t)0x1B77) +#define SMARTCARD_IT_TCBGT ((uint16_t)0x1978) /*!< SMARTCARD transmission complete before guard time completion interruption */ +/** + * @} + */ + +/** @defgroup SMARTCARDEx_IT_CLEAR_Flags SMARTCARD Interruption Clear Flags + * @{ + */ +#define SMARTCARD_CLEAR_PEF USART_ICR_PECF /*!< SMARTCARD parity error clear flag */ +#define SMARTCARD_CLEAR_FEF USART_ICR_FECF /*!< SMARTCARD framing error clear flag */ +#define SMARTCARD_CLEAR_NEF USART_ICR_NCF /*!< SMARTCARD noise detected clear flag */ +#define SMARTCARD_CLEAR_OREF USART_ICR_ORECF /*!< SMARTCARD overrun error clear flag */ +#define SMARTCARD_CLEAR_IDLEF USART_ICR_IDLECF /*!< SMARTCARD idle line detected clear flag */ +#define SMARTCARD_CLEAR_TCF USART_ICR_TCCF /*!< SMARTCARD transmission complete clear flag */ +#define SMARTCARD_CLEAR_TCBGTF USART_ICR_TCBGTCF /*!< SMARTCARD transmission complete before guard time completion clear flag */ +#define SMARTCARD_CLEAR_RTOF USART_ICR_RTOCF /*!< SMARTCARD receiver time out clear flag */ +#define SMARTCARD_CLEAR_EOBF USART_ICR_EOBCF /*!< SMARTCARD end of block clear flag */ +#define SMARTCARD_CLEAR_TXFECF USART_ICR_TXFECF /*!< SMARTCARD TXFIFO empty clear flag */ +#define SMARTCARD_CLEAR_UDRCF USART_ICR_UDRCF /*!< SMARTCARD UnderRun Error Clear Flag */ +/** + * @} + */ + +/** + * @} + */ +/* Exported macros -----------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/** @defgroup SMARTCARDEx_Private_Macros SMARTCARD Extended Private Macros + * @{ + */ + +/** @brief Report the SMARTCARD clock source. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @param __CLOCKSOURCE__: output variable. + * @retval the SMARTCARD clocking source, written in __CLOCKSOURCE__. + */ +#define SMARTCARD_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \ + do { \ + if((__HANDLE__)->Instance == USART1) \ + { \ + switch(__HAL_RCC_GET_USART1_SOURCE()) \ + { \ + case RCC_USART1CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART1CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART1CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART1CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART1CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART1CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART2) \ + { \ + switch(__HAL_RCC_GET_USART2_SOURCE()) \ + { \ + case RCC_USART2CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART2CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART2CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART2CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART2CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART2CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART3) \ + { \ + switch(__HAL_RCC_GET_USART3_SOURCE()) \ + { \ + case RCC_USART3CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART3CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART3CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART3CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART3CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART3CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART6) \ + { \ + switch(__HAL_RCC_GET_USART6_SOURCE()) \ + { \ + case RCC_USART6CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART6CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL2Q; \ + break; \ + case RCC_USART6CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_PLL3Q; \ + break; \ + case RCC_USART6CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART6CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART6CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = SMARTCARD_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + } while(0) + +/** @brief Set the Transmission Completion flag + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @retval None + */ +#define SMARTCARD_TRANSMISSION_COMPLETION_SETTING(__HANDLE__) \ + do { \ + if (HAL_IS_BIT_CLR((__HANDLE__)->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_TXCOMPLETION)) \ + { \ + (__HANDLE__)->AdvancedInit.TxCompletionIndication = SMARTCARD_TC; \ + } \ + else \ + { \ + assert_param(IS_SMARTCARD_TRANSMISSION_COMPLETION((__HANDLE__)->AdvancedInit.TxCompletionIndication)); \ + } \ + } while(0) + +/** @brief Return the transmission completion flag. + * @param __HANDLE__: specifies the SMARTCARD Handle. + * @note Based on AdvancedInit.TxCompletionIndication setting, return TC or TCBGT flag. + * @retval Transmission completion flag + */ +#define SMARTCARD_TRANSMISSION_COMPLETION_FLAG(__HANDLE__) \ + (((__HANDLE__)->AdvancedInit.TxCompletionIndication == SMARTCARD_TC) ? (SMARTCARD_FLAG_TC) : (SMARTCARD_FLAG_TCBGT)) + +/** + * @brief Ensure that SMARTCARD frame transmission completion used flag is valid. + * @param __TXCOMPLETE__: SMARTCARD frame transmission completion used flag. + * @retval SET (__TXCOMPLETE__ is valid) or RESET (__TXCOMPLETE__ is invalid) + */ +#define IS_SMARTCARD_TRANSMISSION_COMPLETION(__TXCOMPLETE__) (((__TXCOMPLETE__) == SMARTCARD_TCBGT) ||\ + ((__TXCOMPLETE__) == SMARTCARD_TC)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SMARTCARDEx_Exported_Functions + * @{ + */ + +/* Initialization and de-initialization functions ****************************/ +/* IO operation methods *******************************************************/ + +/** @addtogroup SMARTCARDEx_Exported_Functions_Group1 + * @{ + */ + +/* Peripheral Control functions ***********************************************/ +void HAL_SMARTCARDEx_BlockLength_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t BlockLength); +void HAL_SMARTCARDEx_TimeOut_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t TimeOutValue); +HAL_StatusTypeDef HAL_SMARTCARDEx_EnableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard); +HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SMARTCARD_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smbus.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smbus.h new file mode 100644 index 0000000000..def89872d6 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_smbus.h @@ -0,0 +1,694 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_smbus.h + * @author MCD Application Team + * @brief Header file of SMBUS HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SMBUS_H +#define __STM32H7xx_HAL_SMBUS_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SMBUS + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SMBUS_Exported_Types SMBUS Exported Types + * @{ + */ + +/** @defgroup SMBUS_Configuration_Structure_definition SMBUS Configuration Structure definition + * @brief SMBUS Configuration Structure definition + * @{ + */ +typedef struct +{ + uint32_t Timing; /*!< Specifies the SMBUS_TIMINGR_register value. + This parameter calculated by referring to SMBUS initialization + section in Reference manual */ + uint32_t AnalogFilter; /*!< Specifies if Analog Filter is enable or not. + This parameter can be a value of @ref SMBUS_Analog_Filter */ + + uint32_t OwnAddress1; /*!< Specifies the first device own address. + This parameter can be a 7-bit or 10-bit address. */ + + uint32_t AddressingMode; /*!< Specifies if 7-bit or 10-bit addressing mode for master is selected. + This parameter can be a value of @ref SMBUS_addressing_mode */ + + uint32_t DualAddressMode; /*!< Specifies if dual addressing mode is selected. + This parameter can be a value of @ref SMBUS_dual_addressing_mode */ + + uint32_t OwnAddress2; /*!< Specifies the second device own address if dual addressing mode is selected + This parameter can be a 7-bit address. */ + + uint32_t OwnAddress2Masks; /*!< Specifies the acknoledge mask address second device own address if dual addressing mode is selected + This parameter can be a value of @ref SMBUS_own_address2_masks. */ + + uint32_t GeneralCallMode; /*!< Specifies if general call mode is selected. + This parameter can be a value of @ref SMBUS_general_call_addressing_mode. */ + + uint32_t NoStretchMode; /*!< Specifies if nostretch mode is selected. + This parameter can be a value of @ref SMBUS_nostretch_mode */ + + uint32_t PacketErrorCheckMode; /*!< Specifies if Packet Error Check mode is selected. + This parameter can be a value of @ref SMBUS_packet_error_check_mode */ + + uint32_t PeripheralMode; /*!< Specifies which mode of Periphal is selected. + This parameter can be a value of @ref SMBUS_peripheral_mode */ + + uint32_t SMBusTimeout; /*!< Specifies the content of the 32 Bits SMBUS_TIMEOUT_register value. + (Enable bits and different timeout values) + This parameter calculated by referring to SMBUS initialization + section in Reference manual */ +} SMBUS_InitTypeDef; +/** + * @} + */ + +/** @defgroup HAL_state_definition HAL state definition + * @brief HAL State definition + * @{ + */ +#define HAL_SMBUS_STATE_RESET (0x00000000U) /*!< SMBUS not yet initialized or disabled */ +#define HAL_SMBUS_STATE_READY (0x00000001U) /*!< SMBUS initialized and ready for use */ +#define HAL_SMBUS_STATE_BUSY (0x00000002U) /*!< SMBUS internal process is ongoing */ +#define HAL_SMBUS_STATE_MASTER_BUSY_TX (0x00000012U) /*!< Master Data Transmission process is ongoing */ +#define HAL_SMBUS_STATE_MASTER_BUSY_RX (0x00000022U) /*!< Master Data Reception process is ongoing */ +#define HAL_SMBUS_STATE_SLAVE_BUSY_TX (0x00000032U) /*!< Slave Data Transmission process is ongoing */ +#define HAL_SMBUS_STATE_SLAVE_BUSY_RX (0x00000042U) /*!< Slave Data Reception process is ongoing */ +#define HAL_SMBUS_STATE_TIMEOUT (0x00000003U) /*!< Timeout state */ +#define HAL_SMBUS_STATE_ERROR (0x00000004U) /*!< Reception process is ongoing */ +#define HAL_SMBUS_STATE_LISTEN (0x00000008U) /*!< Address Listen Mode is ongoing */ +/** + * @} + */ + +/** @defgroup SMBUS_Error_Code_definition SMBUS Error Code definition + * @brief SMBUS Error Code definition + * @{ + */ +#define HAL_SMBUS_ERROR_NONE (0x00000000U) /*!< No error */ +#define HAL_SMBUS_ERROR_BERR (0x00000001U) /*!< BERR error */ +#define HAL_SMBUS_ERROR_ARLO (0x00000002U) /*!< ARLO error */ +#define HAL_SMBUS_ERROR_ACKF (0x00000004U) /*!< ACKF error */ +#define HAL_SMBUS_ERROR_OVR (0x00000008U) /*!< OVR error */ +#define HAL_SMBUS_ERROR_HALTIMEOUT (0x00000010U) /*!< Timeout error */ +#define HAL_SMBUS_ERROR_BUSTIMEOUT (0x00000020U) /*!< Bus Timeout error */ +#define HAL_SMBUS_ERROR_ALERT (0x00000040U) /*!< Alert error */ +#define HAL_SMBUS_ERROR_PECERR (0x00000080U) /*!< PEC error */ +/** + * @} + */ + +/** @defgroup SMBUS_handle_Structure_definition SMBUS handle Structure definition + * @brief SMBUS handle Structure definition + * @{ + */ +typedef struct +{ + I2C_TypeDef *Instance; /*!< SMBUS registers base address */ + + SMBUS_InitTypeDef Init; /*!< SMBUS communication parameters */ + + uint8_t *pBuffPtr; /*!< Pointer to SMBUS transfer buffer */ + + uint16_t XferSize; /*!< SMBUS transfer size */ + + __IO uint16_t XferCount; /*!< SMBUS transfer counter */ + + __IO uint32_t XferOptions; /*!< SMBUS transfer options */ + + __IO uint32_t PreviousState; /*!< SMBUS communication Previous state */ + + HAL_LockTypeDef Lock; /*!< SMBUS locking object */ + + __IO uint32_t State; /*!< SMBUS communication state */ + + __IO uint32_t ErrorCode; /*!< SMBUS Error code */ + +}SMBUS_HandleTypeDef; +/** + * @} + */ + +/** + * @} + */ +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup SMBUS_Exported_Constants SMBUS Exported Constants + * @{ + */ + +/** @defgroup SMBUS_Analog_Filter SMBUS Analog Filter + * @{ + */ +#define SMBUS_ANALOGFILTER_ENABLE (0x00000000U) +#define SMBUS_ANALOGFILTER_DISABLE I2C_CR1_ANFOFF +/** + * @} + */ + +/** @defgroup SMBUS_addressing_mode SMBUS addressing mode + * @{ + */ +#define SMBUS_ADDRESSINGMODE_7BIT (0x00000001U) +#define SMBUS_ADDRESSINGMODE_10BIT (0x00000002U) +/** + * @} + */ + +/** @defgroup SMBUS_dual_addressing_mode SMBUS dual addressing mode + * @{ + */ + +#define SMBUS_DUALADDRESS_DISABLE (0x00000000U) +#define SMBUS_DUALADDRESS_ENABLE I2C_OAR2_OA2EN +/** + * @} + */ + +/** @defgroup SMBUS_own_address2_masks SMBUS own address2 masks + * @{ + */ + +#define SMBUS_OA2_NOMASK ((uint8_t)0x00U) +#define SMBUS_OA2_MASK01 ((uint8_t)0x01U) +#define SMBUS_OA2_MASK02 ((uint8_t)0x02U) +#define SMBUS_OA2_MASK03 ((uint8_t)0x03U) +#define SMBUS_OA2_MASK04 ((uint8_t)0x04U) +#define SMBUS_OA2_MASK05 ((uint8_t)0x05U) +#define SMBUS_OA2_MASK06 ((uint8_t)0x06U) +#define SMBUS_OA2_MASK07 ((uint8_t)0x07U) +/** + * @} + */ + + +/** @defgroup SMBUS_general_call_addressing_mode SMBUS general call addressing mode + * @{ + */ +#define SMBUS_GENERALCALL_DISABLE (0x00000000U) +#define SMBUS_GENERALCALL_ENABLE I2C_CR1_GCEN +/** + * @} + */ + +/** @defgroup SMBUS_nostretch_mode SMBUS nostretch mode + * @{ + */ +#define SMBUS_NOSTRETCH_DISABLE (0x00000000U) +#define SMBUS_NOSTRETCH_ENABLE I2C_CR1_NOSTRETCH +/** + * @} + */ + +/** @defgroup SMBUS_packet_error_check_mode SMBUS packet error check mode + * @{ + */ +#define SMBUS_PEC_DISABLE (0x00000000U) +#define SMBUS_PEC_ENABLE I2C_CR1_PECEN +/** + * @} + */ + +/** @defgroup SMBUS_peripheral_mode SMBUS peripheral mode + * @{ + */ +#define SMBUS_PERIPHERAL_MODE_SMBUS_HOST I2C_CR1_SMBHEN +#define SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE (0x00000000U) +#define SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE_ARP I2C_CR1_SMBDEN +/** + * @} + */ + +/** @defgroup SMBUS_ReloadEndMode_definition SMBUS ReloadEndMode definition + * @{ + */ + +#define SMBUS_SOFTEND_MODE (0x00000000U) +#define SMBUS_RELOAD_MODE I2C_CR2_RELOAD +#define SMBUS_AUTOEND_MODE I2C_CR2_AUTOEND +#define SMBUS_SENDPEC_MODE I2C_CR2_PECBYTE +/** + * @} + */ + +/** @defgroup SMBUS_StartStopMode_definition SMBUS StartStopMode definition + * @{ + */ + +#define SMBUS_NO_STARTSTOP (0x00000000U) +#define SMBUS_GENERATE_STOP (uint32_t)(0x80000000U | I2C_CR2_STOP) +#define SMBUS_GENERATE_START_READ (uint32_t)(0x80000000U | I2C_CR2_START | I2C_CR2_RD_WRN) +#define SMBUS_GENERATE_START_WRITE (uint32_t)(0x80000000U | I2C_CR2_START) +/** + * @} + */ + +/** @defgroup SMBUS_XferOptions_definition SMBUS XferOptions definition + * @{ + */ + +/* List of XferOptions in usage of : + * 1- Restart condition when direction change + * 2- No Restart condition in other use cases + */ +#define SMBUS_FIRST_FRAME SMBUS_SOFTEND_MODE +#define SMBUS_NEXT_FRAME ((uint32_t)(SMBUS_RELOAD_MODE | SMBUS_SOFTEND_MODE)) +#define SMBUS_FIRST_AND_LAST_FRAME_NO_PEC SMBUS_AUTOEND_MODE +#define SMBUS_LAST_FRAME_NO_PEC SMBUS_AUTOEND_MODE +#define SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC ((uint32_t)(SMBUS_AUTOEND_MODE | SMBUS_SENDPEC_MODE)) +#define SMBUS_LAST_FRAME_WITH_PEC ((uint32_t)(SMBUS_AUTOEND_MODE | SMBUS_SENDPEC_MODE)) + +/* List of XferOptions in usage of : + * 1- Restart condition in all use cases (direction change or not) + */ +#define SMBUS_OTHER_FRAME_NO_PEC (0x000000AAU) +#define SMBUS_OTHER_FRAME_WITH_PEC (0x0000AA00U) +#define SMBUS_OTHER_AND_LAST_FRAME_NO_PEC (0x00AA0000U) +#define SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC (0xAA000000U) +/** + * @} + */ + +/** @defgroup SMBUS_Interrupt_configuration_definition SMBUS Interrupt configuration definition + * @brief SMBUS Interrupt definition + * Elements values convention: 0xXXXXXXXX + * - XXXXXXXX : Interrupt control mask + * @{ + */ +#define SMBUS_IT_ERRI I2C_CR1_ERRIE +#define SMBUS_IT_TCI I2C_CR1_TCIE +#define SMBUS_IT_STOPI I2C_CR1_STOPIE +#define SMBUS_IT_NACKI I2C_CR1_NACKIE +#define SMBUS_IT_ADDRI I2C_CR1_ADDRIE +#define SMBUS_IT_RXI I2C_CR1_RXIE +#define SMBUS_IT_TXI I2C_CR1_TXIE +#define SMBUS_IT_TX (SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_TXI) +#define SMBUS_IT_RX (SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_NACKI | SMBUS_IT_RXI) +#define SMBUS_IT_ALERT (SMBUS_IT_ERRI) +#define SMBUS_IT_ADDR (SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI) +/** + * @} + */ + +/** @defgroup SMBUS_Flag_definition SMBUS Flag definition + * @brief Flag definition + * Elements values convention: 0xXXXXYYYY + * - XXXXXXXX : Flag mask + * @{ + */ + +#define SMBUS_FLAG_TXE I2C_ISR_TXE +#define SMBUS_FLAG_TXIS I2C_ISR_TXIS +#define SMBUS_FLAG_RXNE I2C_ISR_RXNE +#define SMBUS_FLAG_ADDR I2C_ISR_ADDR +#define SMBUS_FLAG_AF I2C_ISR_NACKF +#define SMBUS_FLAG_STOPF I2C_ISR_STOPF +#define SMBUS_FLAG_TC I2C_ISR_TC +#define SMBUS_FLAG_TCR I2C_ISR_TCR +#define SMBUS_FLAG_BERR I2C_ISR_BERR +#define SMBUS_FLAG_ARLO I2C_ISR_ARLO +#define SMBUS_FLAG_OVR I2C_ISR_OVR +#define SMBUS_FLAG_PECERR I2C_ISR_PECERR +#define SMBUS_FLAG_TIMEOUT I2C_ISR_TIMEOUT +#define SMBUS_FLAG_ALERT I2C_ISR_ALERT +#define SMBUS_FLAG_BUSY I2C_ISR_BUSY +#define SMBUS_FLAG_DIR I2C_ISR_DIR +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros ------------------------------------------------------------*/ +/** @defgroup SMBUS_Exported_Macros SMBUS Exported Macros + * @{ + */ + +/** @brief Reset SMBUS handle state. + * @param __HANDLE__: specifies the SMBUS Handle. + * @retval None + */ +#define __HAL_SMBUS_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SMBUS_STATE_RESET) + +/** @brief Enable the specified SMBUS interrupts. + * @param __HANDLE__: specifies the SMBUS Handle. + * @param __INTERRUPT__: specifies the interrupt source to enable. + * This parameter can be one of the following values: + * @arg SMBUS_IT_ERRI: Errors interrupt enable + * @arg SMBUS_IT_TCI: Transfer complete interrupt enable + * @arg SMBUS_IT_STOPI: STOP detection interrupt enable + * @arg SMBUS_IT_NACKI: NACK received interrupt enable + * @arg SMBUS_IT_ADDRI: Address match interrupt enable + * @arg SMBUS_IT_RXI: RX interrupt enable + * @arg SMBUS_IT_TXI: TX interrupt enable + * + * @retval None + */ +#define __HAL_SMBUS_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR1 |= (__INTERRUPT__)) + +/** @brief Disable the specified SMBUS interrupts. + * @param __HANDLE__: specifies the SMBUS Handle. + * @param __INTERRUPT__: specifies the interrupt source to disable. + * This parameter can be one of the following values: + * @arg SMBUS_IT_ERRI: Errors interrupt enable + * @arg SMBUS_IT_TCI: Transfer complete interrupt enable + * @arg SMBUS_IT_STOPI: STOP detection interrupt enable + * @arg SMBUS_IT_NACKI: NACK received interrupt enable + * @arg SMBUS_IT_ADDRI: Address match interrupt enable + * @arg SMBUS_IT_RXI: RX interrupt enable + * @arg SMBUS_IT_TXI: TX interrupt enable + * + * @retval None + */ +#define __HAL_SMBUS_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR1 &= (~(__INTERRUPT__))) + +/** @brief Check whether the specified SMBUS interrupt source is enabled or not. + * @param __HANDLE__: specifies the SMBUS Handle. + * @param __INTERRUPT__: specifies the SMBUS interrupt source to check. + * This parameter can be one of the following values: + * @arg SMBUS_IT_ERRI: Errors interrupt enable + * @arg SMBUS_IT_TCI: Transfer complete interrupt enable + * @arg SMBUS_IT_STOPI: STOP detection interrupt enable + * @arg SMBUS_IT_NACKI: NACK received interrupt enable + * @arg SMBUS_IT_ADDRI: Address match interrupt enable + * @arg SMBUS_IT_RXI: RX interrupt enable + * @arg SMBUS_IT_TXI: TX interrupt enable + * + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_SMBUS_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CR1 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Check whether the specified SMBUS flag is set or not. + * @param __HANDLE__: specifies the SMBUS Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg SMBUS_FLAG_TXE: Transmit data register empty + * @arg SMBUS_FLAG_TXIS: Transmit interrupt status + * @arg SMBUS_FLAG_RXNE: Receive data register not empty + * @arg SMBUS_FLAG_ADDR: Address matched (slave mode) + * @arg SMBUS_FLAG_AF: NACK received flag + * @arg SMBUS_FLAG_STOPF: STOP detection flag + * @arg SMBUS_FLAG_TC: Transfer complete (master mode) + * @arg SMBUS_FLAG_TCR: Transfer complete reload + * @arg SMBUS_FLAG_BERR: Bus error + * @arg SMBUS_FLAG_ARLO: Arbitration lost + * @arg SMBUS_FLAG_OVR: Overrun/Underrun + * @arg SMBUS_FLAG_PECERR: PEC error in reception + * @arg SMBUS_FLAG_TIMEOUT: Timeout or Tlow detection flag + * @arg SMBUS_FLAG_ALERT: SMBus alert + * @arg SMBUS_FLAG_BUSY: Bus busy + * @arg SMBUS_FLAG_DIR: Transfer direction (slave mode) + * + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define SMBUS_FLAG_MASK (0x0001FFFFU) +#define __HAL_SMBUS_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & ((__FLAG__) & SMBUS_FLAG_MASK)) == ((__FLAG__) & SMBUS_FLAG_MASK))) + +/** @brief Clear the SMBUS pending flags which are cleared by writing 1 in a specific bit. + * @param __HANDLE__: specifies the SMBUS Handle. + * @param __FLAG__: specifies the flag to clear. + * This parameter can be any combination of the following values: + * @arg SMBUS_FLAG_ADDR: Address matched (slave mode) + * @arg SMBUS_FLAG_AF: NACK received flag + * @arg SMBUS_FLAG_STOPF: STOP detection flag + * @arg SMBUS_FLAG_BERR: Bus error + * @arg SMBUS_FLAG_ARLO: Arbitration lost + * @arg SMBUS_FLAG_OVR: Overrun/Underrun + * @arg SMBUS_FLAG_PECERR: PEC error in reception + * @arg SMBUS_FLAG_TIMEOUT: Timeout or Tlow detection flag + * @arg SMBUS_FLAG_ALERT: SMBus alert + * + * @retval None + */ +#define __HAL_SMBUS_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + +/** @brief Enable the specified SMBUS peripheral. + * @param __HANDLE__: specifies the SMBUS Handle. + * @retval None + */ +#define __HAL_SMBUS_ENABLE(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR1, I2C_CR1_PE)) + +/** @brief Disable the specified SMBUS peripheral. + * @param __HANDLE__: specifies the SMBUS Handle. + * @retval None + */ +#define __HAL_SMBUS_DISABLE(__HANDLE__) (CLEAR_BIT((__HANDLE__)->Instance->CR1, I2C_CR1_PE)) + +/** @brief Generate a Non-Acknowledge SMBUS peripheral in Slave mode. + * @param __HANDLE__: specifies the SMBUS Handle. + * @retval None + */ +#define __HAL_SMBUS_GENERATE_NACK(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR2, I2C_CR2_NACK)) + +/** + * @} + */ + + +/* Private constants ---------------------------------------------------------*/ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup SMBUS_Private_Macro SMBUS Private Macros + * @{ + */ + +#define IS_SMBUS_ANALOG_FILTER(FILTER) (((FILTER) == SMBUS_ANALOGFILTER_ENABLE) || \ + ((FILTER) == SMBUS_ANALOGFILTER_DISABLE)) + +#define IS_SMBUS_ADDRESSING_MODE(MODE) (((MODE) == SMBUS_ADDRESSINGMODE_7BIT) || \ + ((MODE) == SMBUS_ADDRESSINGMODE_10BIT)) + +#define IS_SMBUS_DUAL_ADDRESS(ADDRESS) (((ADDRESS) == SMBUS_DUALADDRESS_DISABLE) || \ + ((ADDRESS) == SMBUS_DUALADDRESS_ENABLE)) + +#define IS_SMBUS_OWN_ADDRESS2_MASK(MASK) (((MASK) == SMBUS_OA2_NOMASK) || \ + ((MASK) == SMBUS_OA2_MASK01) || \ + ((MASK) == SMBUS_OA2_MASK02) || \ + ((MASK) == SMBUS_OA2_MASK03) || \ + ((MASK) == SMBUS_OA2_MASK04) || \ + ((MASK) == SMBUS_OA2_MASK05) || \ + ((MASK) == SMBUS_OA2_MASK06) || \ + ((MASK) == SMBUS_OA2_MASK07)) + +#define IS_SMBUS_GENERAL_CALL(CALL) (((CALL) == SMBUS_GENERALCALL_DISABLE) || \ + ((CALL) == SMBUS_GENERALCALL_ENABLE)) + +#define IS_SMBUS_NO_STRETCH(STRETCH) (((STRETCH) == SMBUS_NOSTRETCH_DISABLE) || \ + ((STRETCH) == SMBUS_NOSTRETCH_ENABLE)) + +#define IS_SMBUS_PEC(PEC) (((PEC) == SMBUS_PEC_DISABLE) || \ + ((PEC) == SMBUS_PEC_ENABLE)) + +#define IS_SMBUS_PERIPHERAL_MODE(MODE) (((MODE) == SMBUS_PERIPHERAL_MODE_SMBUS_HOST) || \ + ((MODE) == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE) || \ + ((MODE) == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE_ARP)) + +#define IS_SMBUS_TRANSFER_MODE(MODE) (((MODE) == SMBUS_RELOAD_MODE) || \ + ((MODE) == SMBUS_AUTOEND_MODE) || \ + ((MODE) == SMBUS_SOFTEND_MODE) || \ + ((MODE) == SMBUS_SENDPEC_MODE) || \ + ((MODE) == (SMBUS_RELOAD_MODE | SMBUS_SENDPEC_MODE)) || \ + ((MODE) == (SMBUS_AUTOEND_MODE | SMBUS_SENDPEC_MODE)) || \ + ((MODE) == (SMBUS_AUTOEND_MODE | SMBUS_RELOAD_MODE)) || \ + ((MODE) == (SMBUS_AUTOEND_MODE | SMBUS_SENDPEC_MODE | SMBUS_RELOAD_MODE ))) + + +#define IS_SMBUS_TRANSFER_REQUEST(REQUEST) (((REQUEST) == SMBUS_GENERATE_STOP) || \ + ((REQUEST) == SMBUS_GENERATE_START_READ) || \ + ((REQUEST) == SMBUS_GENERATE_START_WRITE) || \ + ((REQUEST) == SMBUS_NO_STARTSTOP)) + + +#define IS_SMBUS_TRANSFER_OPTIONS_REQUEST(REQUEST) (((REQUEST) == SMBUS_FIRST_FRAME) || \ + ((REQUEST) == SMBUS_NEXT_FRAME) || \ + ((REQUEST) == SMBUS_FIRST_AND_LAST_FRAME_NO_PEC) || \ + ((REQUEST) == SMBUS_LAST_FRAME_NO_PEC) || \ + ((REQUEST) == SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC) || \ + ((REQUEST) == SMBUS_LAST_FRAME_WITH_PEC) || \ + IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(REQUEST)) + +#define IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(REQUEST) (((REQUEST) == SMBUS_OTHER_FRAME_NO_PEC) || \ + ((REQUEST) == SMBUS_OTHER_AND_LAST_FRAME_NO_PEC) || \ + ((REQUEST) == SMBUS_OTHER_FRAME_WITH_PEC) || \ + ((REQUEST) == SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC)) + +#define SMBUS_RESET_CR1(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= (uint32_t)~((uint32_t)(I2C_CR1_SMBHEN | I2C_CR1_SMBDEN | I2C_CR1_PECEN))) +#define SMBUS_RESET_CR2(__HANDLE__) ((__HANDLE__)->Instance->CR2 &= (uint32_t)~((uint32_t)(I2C_CR2_SADD | I2C_CR2_HEAD10R | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_RD_WRN))) + +#define SMBUS_GENERATE_START(__ADDMODE__,__ADDRESS__) (((__ADDMODE__) == SMBUS_ADDRESSINGMODE_7BIT) ? (uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR2_SADD)) | (I2C_CR2_START) | (I2C_CR2_AUTOEND)) & (~I2C_CR2_RD_WRN)) : \ + (uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR2_SADD)) | (I2C_CR2_ADD10) | (I2C_CR2_START)) & (~I2C_CR2_RD_WRN))) + +#define SMBUS_GET_ADDR_MATCH(__HANDLE__) (((__HANDLE__)->Instance->ISR & I2C_ISR_ADDCODE) >> 17) +#define SMBUS_GET_DIR(__HANDLE__) (((__HANDLE__)->Instance->ISR & I2C_ISR_DIR) >> 16) +#define SMBUS_GET_STOP_MODE(__HANDLE__) ((__HANDLE__)->Instance->CR2 & I2C_CR2_AUTOEND) +#define SMBUS_GET_PEC_MODE(__HANDLE__) ((__HANDLE__)->Instance->CR2 & I2C_CR2_PECBYTE) +#define SMBUS_GET_ALERT_ENABLED(__HANDLE__) ((__HANDLE__)->Instance->CR1 & I2C_CR1_ALERTEN) + +#define SMBUS_GET_ISR_REG(__HANDLE__) ((__HANDLE__)->Instance->ISR) +#define SMBUS_CHECK_FLAG(__ISR__, __FLAG__) ((((__ISR__) & ((__FLAG__) & SMBUS_FLAG_MASK)) == ((__FLAG__) & SMBUS_FLAG_MASK))) + +#define IS_SMBUS_OWN_ADDRESS1(ADDRESS1) ((ADDRESS1) <= 0x000003FFU) +#define IS_SMBUS_OWN_ADDRESS2(ADDRESS2) ((ADDRESS2) <= (uint16_t)0x00FFU) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SMBUS_Exported_Functions SMBUS Exported Functions + * @{ + */ + +/** @addtogroup SMBUS_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization and de-initialization functions **********************************/ +HAL_StatusTypeDef HAL_SMBUS_Init(SMBUS_HandleTypeDef *hsmbus); +HAL_StatusTypeDef HAL_SMBUS_DeInit (SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_MspInit(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_MspDeInit(SMBUS_HandleTypeDef *hsmbus); + +/** + * @} + */ + +/** @addtogroup SMBUS_Exported_Functions_Group2 Input and Output operation functions + * @{ + */ + +/* IO operation functions *****************************************************/ +/** @addtogroup Blocking_mode_Polling Blocking mode Polling + * @{ + */ +/******* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout); +/** + * @} + */ + +/** @addtogroup Non-Blocking_mode_Interrupt Non-Blocking mode Interrupt + * @{ + */ +/******* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_SMBUS_Master_Transmit_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions); +HAL_StatusTypeDef HAL_SMBUS_Master_Receive_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions); +HAL_StatusTypeDef HAL_SMBUS_Master_Abort_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress); +HAL_StatusTypeDef HAL_SMBUS_Slave_Transmit_IT(SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions); +HAL_StatusTypeDef HAL_SMBUS_Slave_Receive_IT(SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions); + +HAL_StatusTypeDef HAL_SMBUS_EnableAlert_IT(SMBUS_HandleTypeDef *hsmbus); +HAL_StatusTypeDef HAL_SMBUS_DisableAlert_IT(SMBUS_HandleTypeDef *hsmbus); +HAL_StatusTypeDef HAL_SMBUS_EnableListen_IT(SMBUS_HandleTypeDef *hsmbus); +HAL_StatusTypeDef HAL_SMBUS_DisableListen_IT(SMBUS_HandleTypeDef *hsmbus); +/** + * @} + */ + +/** @addtogroup SMBUS_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks + * @{ + */ +/******* SMBUS IRQHandler and Callbacks used in non blocking modes (Interrupt) */ +void HAL_SMBUS_EV_IRQHandler(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_ER_IRQHandler(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_MasterTxCpltCallback(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_MasterRxCpltCallback(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_SlaveTxCpltCallback(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_SlaveRxCpltCallback(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_AddrCallback(SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode); +void HAL_SMBUS_ListenCpltCallback(SMBUS_HandleTypeDef *hsmbus); +void HAL_SMBUS_ErrorCallback(SMBUS_HandleTypeDef *hsmbus); + +/** + * @} + */ + +/** @addtogroup SMBUS_Exported_Functions_Group3 Peripheral State and Errors functions + * @{ + */ + +/* Peripheral State and Errors functions **************************************************/ +uint32_t HAL_SMBUS_GetState(SMBUS_HandleTypeDef *hsmbus); +uint32_t HAL_SMBUS_GetError(SMBUS_HandleTypeDef *hsmbus); + +/** + * @} + */ + +/** + * @} + */ + +/* Private Functions ---------------------------------------------------------*/ +/** @defgroup SMBUS_Private_Functions SMBUS Private Functions + * @{ + */ +/* Private functions are defined in stm32h7xx_hal_smbus.c file */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_SMBUS_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spdifrx.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spdifrx.h new file mode 100644 index 0000000000..51bb06fc95 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spdifrx.h @@ -0,0 +1,568 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_spdifrx.h + * @author MCD Application Team + * @brief Header file of SPDIFRX HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SPDIFRX_H +#define __STM32H7xx_HAL_SPDIFRX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +#if defined (SPDIFRX) + +/** @addtogroup SPDIFRX + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SPDIFRX_Exported_Types SPDIFRX Exported Types + * @{ + */ + +/** + * @brief SPDIFRX Init structure definition + */ +typedef struct +{ + uint32_t InputSelection; /*!< Specifies the SPDIF input selection. + This parameter can be a value of @ref SPDIFRX_Input_Selection */ + + uint32_t Retries; /*!< Specifies the Maximum allowed re-tries during synchronization phase. + This parameter can be a value of @ref SPDIFRX_Max_Retries */ + + uint32_t WaitForActivity; /*!< Specifies the wait for activity on SPDIF selected input. + This parameter can be a value of @ref SPDIFRX_Wait_For_Activity. */ + + uint32_t ChannelSelection; /*!< Specifies whether the control flow will take the channel status from channel A or B. + This parameter can be a value of @ref SPDIFRX_Channel_Selection */ + + uint32_t DataFormat; /*!< Specifies the Data samples format (LSB, MSB, ...). + This parameter can be a value of @ref SPDIFRX_Data_Format */ + + uint32_t StereoMode; /*!< Specifies whether the peripheral is in stereo or mono mode. + This parameter can be a value of @ref SPDIFRX_Stereo_Mode */ + + uint32_t PreambleTypeMask; /*!< Specifies whether The preamble type bits are copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_PT_Mask */ + + uint32_t ChannelStatusMask; /*!< Specifies whether the channel status and user bits are copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_ChannelStatus_Mask */ + + uint32_t ValidityBitMask; /*!< Specifies whether the validity bit is copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_V_Mask */ + + uint32_t ParityErrorMask; /*!< Specifies whether the parity error bit is copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_PE_Mask */ + FunctionalState SymbolClockGen; /*!< Enable/Disable the SPDIFRX Symbol Clock generation. + This parameter can be set to Enable or Disable */ + + FunctionalState BackupSymbolClockGen; /*!< Enable/Disable the SPDIFRX Backup Symbol Clock generation. + This parameter can be set to Enable or Disable */ +} SPDIFRX_InitTypeDef; + +/** + * @brief SPDIFRX SetDataFormat structure definition + */ +typedef struct +{ + uint32_t DataFormat; /*!< Specifies the Data samples format (LSB, MSB, ...). + This parameter can be a value of @ref SPDIFRX_Data_Format */ + + uint32_t StereoMode; /*!< Specifies whether the peripheral is in stereo or mono mode. + This parameter can be a value of @ref SPDIFRX_Stereo_Mode */ + + uint32_t PreambleTypeMask; /*!< Specifies whether The preamble type bits are copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_PT_Mask */ + + uint32_t ChannelStatusMask; /*!< Specifies whether the channel status and user bits are copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_ChannelStatus_Mask */ + + uint32_t ValidityBitMask; /*!< Specifies whether the validity bit is copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_V_Mask */ + + uint32_t ParityErrorMask; /*!< Specifies whether the parity error bit is copied or not into the received frame. + This parameter can be a value of @ref SPDIFRX_PE_Mask */ + +} SPDIFRX_SetDataFormatTypeDef; + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_SPDIFRX_STATE_RESET = 0x00U, /*!< SPDIFRX not yet initialized or disabled */ + HAL_SPDIFRX_STATE_READY = 0x01U, /*!< SPDIFRX initialized and ready for use */ + HAL_SPDIFRX_STATE_BUSY = 0x02U, /*!< SPDIFRX internal process is ongoing */ + HAL_SPDIFRX_STATE_BUSY_RX = 0x03U, /*!< SPDIFRX internal Data Flow RX process is ongoing */ + HAL_SPDIFRX_STATE_BUSY_CX = 0x04U, /*!< SPDIFRX internal Control Flow RX process is ongoing */ + HAL_SPDIFRX_STATE_ERROR = 0x07U /*!< SPDIFRX error state */ +} HAL_SPDIFRX_StateTypeDef; + +/** + * @brief SPDIFRX handle Structure definition + */ +typedef struct +{ + SPDIFRX_TypeDef *Instance; /* SPDIFRX registers base address */ + + SPDIFRX_InitTypeDef Init; /* SPDIFRX communication parameters */ + + uint32_t *pRxBuffPtr; /* Pointer to SPDIFRX Rx transfer buffer */ + + uint32_t *pCsBuffPtr; /* Pointer to SPDIFRX Cx transfer buffer */ + + __IO uint16_t RxXferSize; /* SPDIFRX Rx transfer size */ + + __IO uint16_t RxXferCount; /* SPDIFRX Rx transfer counter + (This field is initialized at the + same value as transfer size at the + beginning of the transfer and + decremented when a sample is received. + NbSamplesReceived = RxBufferSize-RxBufferCount) */ + + __IO uint16_t CsXferSize; /* SPDIFRX Rx transfer size */ + + __IO uint16_t CsXferCount; /* SPDIFRX Rx transfer counter + (This field is initialized at the + same value as transfer size at the + beginning of the transfer and + decremented when a sample is received. + NbSamplesReceived = RxBufferSize-RxBufferCount) */ + + DMA_HandleTypeDef *hdmaCsRx; /* SPDIFRX EC60958_channel_status and user_information DMA handle parameters */ + + DMA_HandleTypeDef *hdmaDrRx; /* SPDIFRX Rx DMA handle parameters */ + + __IO HAL_LockTypeDef Lock; /* SPDIFRX locking object */ + + __IO HAL_SPDIFRX_StateTypeDef State; /* SPDIFRX communication state */ + + __IO uint32_t ErrorCode; /* SPDIFRX Error code */ + +} SPDIFRX_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup SPDIFRX_Exported_Constants SPDIFRX Exported Constants + * @{ + */ +/** @defgroup SPDIFRX_ErrorCode SPDIFRX Error Code + * @{ + */ +#define HAL_SPDIFRX_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define HAL_SPDIFRX_ERROR_TIMEOUT ((uint32_t)0x00000001U) /*!< Timeout error */ +#define HAL_SPDIFRX_ERROR_OVR ((uint32_t)0x00000002U) /*!< OVR error */ +#define HAL_SPDIFRX_ERROR_PE ((uint32_t)0x00000004U) /*!< Parity error */ +#define HAL_SPDIFRX_ERROR_DMA ((uint32_t)0x00000008U) /*!< DMA transfer error */ +#define HAL_SPDIFRX_ERROR_UNKNOWN ((uint32_t)0x00000010U) /*!< Unknown Error error */ +/** + * @} + */ + +/** @defgroup SPDIFRX_Input_Selection SPDIFRX Input Selection + * @{ + */ +#define SPDIFRX_INPUT_IN0 ((uint32_t)0x00000000U) +#define SPDIFRX_INPUT_IN1 ((uint32_t)0x00010000U) +#define SPDIFRX_INPUT_IN2 ((uint32_t)0x00020000U) +#define SPDIFRX_INPUT_IN3 ((uint32_t)0x00030000U) +/** + * @} + */ + +/** @defgroup SPDIFRX_Max_Retries SPDIFRX Maximum Retries + * @{ + */ +#define SPDIFRX_MAXRETRIES_NONE ((uint32_t)0x00000000U) +#define SPDIFRX_MAXRETRIES_3 ((uint32_t)0x00001000U) +#define SPDIFRX_MAXRETRIES_15 ((uint32_t)0x00002000U) +#define SPDIFRX_MAXRETRIES_63 ((uint32_t)0x00003000U) +/** + * @} + */ + +/** @defgroup SPDIFRX_Wait_For_Activity SPDIFRX Wait For Activity + * @{ + */ +#define SPDIFRX_WAITFORACTIVITY_OFF ((uint32_t)0x00000000U) +#define SPDIFRX_WAITFORACTIVITY_ON ((uint32_t)SPDIFRX_CR_WFA) +/** + * @} + */ + +/** @defgroup SPDIFRX_PT_Mask SPDIFRX Preamble Type Mask + * @{ + */ +#define SPDIFRX_PREAMBLETYPEMASK_OFF ((uint32_t)0x00000000U) +#define SPDIFRX_PREAMBLETYPEMASK_ON ((uint32_t)SPDIFRX_CR_PTMSK) +/** + * @} + */ + +/** @defgroup SPDIFRX_ChannelStatus_Mask SPDIFRX Channel Status Mask + * @{ + */ +#define SPDIFRX_CHANNELSTATUS_OFF ((uint32_t)0x00000000U) /* The channel status and user bits are copied into the SPDIF_DR */ +#define SPDIFRX_CHANNELSTATUS_ON ((uint32_t)SPDIFRX_CR_CUMSK) /* The channel status and user bits are not copied into the SPDIF_DR, zeros are written instead*/ +/** + * @} + */ + +/** @defgroup SPDIFRX_V_Mask SPDIFRX Validity Mask +* @{ +*/ +#define SPDIFRX_VALIDITYMASK_OFF ((uint32_t)0x00000000U) +#define SPDIFRX_VALIDITYMASK_ON ((uint32_t)SPDIFRX_CR_VMSK) +/** + * @} + */ + +/** @defgroup SPDIFRX_PE_Mask SPDIFRX Parity Error Mask + * @{ + */ +#define SPDIFRX_PARITYERRORMASK_OFF ((uint32_t)0x00000000U) +#define SPDIFRX_PARITYERRORMASK_ON ((uint32_t)SPDIFRX_CR_PMSK) +/** + * @} + */ + +/** @defgroup SPDIFRX_Channel_Selection SPDIFRX Channel Selection + * @{ + */ +#define SPDIFRX_CHANNEL_A ((uint32_t)0x00000000U) +#define SPDIFRX_CHANNEL_B ((uint32_t)SPDIFRX_CR_CHSEL) +/** + * @} + */ + +/** @defgroup SPDIFRX_Data_Format SPDIFRX Data Format + * @{ + */ +#define SPDIFRX_DATAFORMAT_LSB ((uint32_t)0x00000000U) +#define SPDIFRX_DATAFORMAT_MSB ((uint32_t)0x00000010U) +#define SPDIFRX_DATAFORMAT_32BITS ((uint32_t)0x00000020U) +/** + * @} + */ + +/** @defgroup SPDIFRX_Stereo_Mode SPDIFRX Stereo Mode + * @{ + */ +#define SPDIFRX_STEREOMODE_DISABLE ((uint32_t)0x00000000U) +#define SPDIFRX_STEREOMODE_ENABLE ((uint32_t)SPDIFRX_CR_RXSTEO) +/** + * @} + */ + +/** @defgroup SPDIFRX_State SPDIFRX State + * @{ + */ + +#define SPDIFRX_STATE_IDLE ((uint32_t)0xFFFFFFFCU) +#define SPDIFRX_STATE_SYNC ((uint32_t)0x00000001U) +#define SPDIFRX_STATE_RCV ((uint32_t)SPDIFRX_CR_SPDIFEN) +/** + * @} + */ + +/** @defgroup SPDIFRX_Interrupts_Definition SPDIFRX Interrupts Definition + * @{ + */ +#define SPDIFRX_IT_RXNE ((uint32_t)SPDIFRX_IMR_RXNEIE) +#define SPDIFRX_IT_CSRNE ((uint32_t)SPDIFRX_IMR_CSRNEIE) +#define SPDIFRX_IT_PERRIE ((uint32_t)SPDIFRX_IMR_PERRIE) +#define SPDIFRX_IT_OVRIE ((uint32_t)SPDIFRX_IMR_OVRIE) +#define SPDIFRX_IT_SBLKIE ((uint32_t)SPDIFRX_IMR_SBLKIE) +#define SPDIFRX_IT_SYNCDIE ((uint32_t)SPDIFRX_IMR_SYNCDIE) +#define SPDIFRX_IT_IFEIE ((uint32_t)SPDIFRX_IMR_IFEIE ) +/** + * @} + */ + +/** @defgroup SPDIFRX_Flags_Definition SPDIFRX Flags Definition + * @{ + */ +#define SPDIFRX_FLAG_RXNE ((uint32_t)SPDIFRX_SR_RXNE) +#define SPDIFRX_FLAG_CSRNE ((uint32_t)SPDIFRX_SR_CSRNE) +#define SPDIFRX_FLAG_PERR ((uint32_t)SPDIFRX_SR_PERR) +#define SPDIFRX_FLAG_OVR ((uint32_t)SPDIFRX_SR_OVR) +#define SPDIFRX_FLAG_SBD ((uint32_t)SPDIFRX_SR_SBD) +#define SPDIFRX_FLAG_SYNCD ((uint32_t)SPDIFRX_SR_SYNCD) +#define SPDIFRX_FLAG_FERR ((uint32_t)SPDIFRX_SR_FERR) +#define SPDIFRX_FLAG_SERR ((uint32_t)SPDIFRX_SR_SERR) +#define SPDIFRX_FLAG_TERR ((uint32_t)SPDIFRX_SR_TERR) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup SPDIFRX_Exported_macros SPDIFRX Exported Macros + * @{ + */ + +/** @brief Reset SPDIFRX handle state + * @param __HANDLE__: SPDIFRX handle. + * @retval None + */ +#define __HAL_SPDIFRX_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = (uint16_t)SPDIFRX_CR_SPDIFEN) + +/** @brief Disable the specified SPDIFRX peripheral (IDLE State). + * @param __HANDLE__: specifies the SPDIFRX Handle. + * @retval None + */ +#define __HAL_SPDIFRX_IDLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= SPDIFRX_STATE_IDLE) + +/** @brief Enable the specified SPDIFRX peripheral (SYNC State). + * @param __HANDLE__: specifies the SPDIFRX Handle. + * @retval None + */ +#define __HAL_SPDIFRX_SYNC(__HANDLE__) ((__HANDLE__)->Instance->CR |= SPDIFRX_STATE_SYNC) + + +/** @brief Enable the specified SPDIFRX peripheral (RCV State). + * @param __HANDLE__: specifies the SPDIFRX Handle. + * @retval None + */ +#define __HAL_SPDIFRX_RCV(__HANDLE__) ((__HANDLE__)->Instance->CR |= SPDIFRX_STATE_RCV) + + +/** @brief Enable or disable the specified SPDIFRX interrupts. + * @param __HANDLE__: specifies the SPDIFRX Handle. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg SPDIFRX_IT_RXNE + * @arg SPDIFRX_IT_CSRNE + * @arg SPDIFRX_IT_PERRIE + * @arg SPDIFRX_IT_OVRIE + * @arg SPDIFRX_IT_SBLKIE + * @arg SPDIFRX_IT_SYNCDIE + * @arg SPDIFRX_IT_IFEIE + * @retval None + */ +#define __HAL_SPDIFRX_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IMR |= (__INTERRUPT__)) +#define __HAL_SPDIFRX_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IMR &= (uint16_t)(~(__INTERRUPT__))) + +/** @brief Checks if the specified SPDIFRX interrupt source is enabled or disabled. + * @param __HANDLE__: specifies the SPDIFRX Handle. + * @param __INTERRUPT__: specifies the SPDIFRX interrupt source to check. + * This parameter can be one of the following values: + * @arg SPDIFRX_IT_RXNE + * @arg SPDIFRX_IT_CSRNE + * @arg SPDIFRX_IT_PERRIE + * @arg SPDIFRX_IT_OVRIE + * @arg SPDIFRX_IT_SBLKIE + * @arg SPDIFRX_IT_SYNCDIE + * @arg SPDIFRX_IT_IFEIE + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_SPDIFRX_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IMR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Checks whether the specified SPDIFRX flag is set or not. + * @param __HANDLE__: specifies the SPDIFRX Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg SPDIFRX_FLAG_RXNE + * @arg SPDIFRX_FLAG_CSRNE + * @arg SPDIFRX_FLAG_PERR + * @arg SPDIFRX_FLAG_OVR + * @arg SPDIFRX_FLAG_SBD + * @arg SPDIFRX_FLAG_SYNCD + * @arg SPDIFRX_FLAG_FERR + * @arg SPDIFRX_FLAG_SERR + * @arg SPDIFRX_FLAG_TERR + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_SPDIFRX_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) + +/** @brief Clears the specified SPDIFRX SR flag, in setting the proper IFCR register bit. + * @param __HANDLE__: specifies the USART Handle. + * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set + * to clear the corresponding interrupt + * This parameter can be one of the following values: + * @arg SPDIFRX_FLAG_PERR + * @arg SPDIFRX_FLAG_OVR + * @arg SPDIFRX_SR_SBD + * @arg SPDIFRX_SR_SYNCD + * @retval None + */ +#define __HAL_SPDIFRX_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->IFCR = (uint32_t)(__IT_CLEAR__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SPDIFRX_Exported_Functions + * @{ + */ + +/** @addtogroup SPDIFRX_Exported_Functions_Group1 + * @{ + */ +/* Initialization/de-initialization functions **********************************/ +HAL_StatusTypeDef HAL_SPDIFRX_Init(SPDIFRX_HandleTypeDef *hspdif); +HAL_StatusTypeDef HAL_SPDIFRX_DeInit (SPDIFRX_HandleTypeDef *hspdif); +void HAL_SPDIFRX_MspInit(SPDIFRX_HandleTypeDef *hspdif); +void HAL_SPDIFRX_MspDeInit(SPDIFRX_HandleTypeDef *hspdif); +HAL_StatusTypeDef HAL_SPDIFRX_SetDataFormat(SPDIFRX_HandleTypeDef *hspdif, SPDIFRX_SetDataFormatTypeDef sDataFormat); +/** + * @} + */ + +/** @addtogroup SPDIFRX_Exported_Functions_Group2 + * @{ + */ +/* I/O operation functions ***************************************************/ + /* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout); + + /* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow_IT(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_IT(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size); +void HAL_SPDIFRX_IRQHandler(SPDIFRX_HandleTypeDef *hspdif); + +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow_DMA(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_DMA(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size); + +HAL_StatusTypeDef HAL_SPDIFRX_DMAStop(SPDIFRX_HandleTypeDef *hspdif); + +/* Callbacks used in non blocking modes (Interrupt and DMA) *******************/ +void HAL_SPDIFRX_RxHalfCpltCallback(SPDIFRX_HandleTypeDef *hspdif); +void HAL_SPDIFRX_RxCpltCallback(SPDIFRX_HandleTypeDef *hspdif); +void HAL_SPDIFRX_ErrorCallback(SPDIFRX_HandleTypeDef *hspdif); +void HAL_SPDIFRX_CxHalfCpltCallback(SPDIFRX_HandleTypeDef *hspdif); +void HAL_SPDIFRX_CxCpltCallback(SPDIFRX_HandleTypeDef *hspdif); +/** + * @} + */ + +/** @addtogroup SPDIFRX_Exported_Functions_Group3 + * @{ + */ +/* Peripheral Control and State functions ************************************/ +HAL_SPDIFRX_StateTypeDef HAL_SPDIFRX_GetState(SPDIFRX_HandleTypeDef *hspdif); +uint32_t HAL_SPDIFRX_GetError(SPDIFRX_HandleTypeDef *hspdif); +/** + * @} + */ + +/** + * @} + */ +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/** @defgroup SPDIFRX_Private_Macros SPDIFRX Private Macros + * @{ + */ +#define IS_SPDIFRX_INPUT_SELECT(INPUT) (((INPUT) == SPDIFRX_INPUT_IN1) || \ + ((INPUT) == SPDIFRX_INPUT_IN2) || \ + ((INPUT) == SPDIFRX_INPUT_IN3) || \ + ((INPUT) == SPDIFRX_INPUT_IN0)) + +#define IS_SPDIFRX_MAX_RETRIES(RET) (((RET) == SPDIFRX_MAXRETRIES_NONE) || \ + ((RET) == SPDIFRX_MAXRETRIES_3) || \ + ((RET) == SPDIFRX_MAXRETRIES_15) || \ + ((RET) == SPDIFRX_MAXRETRIES_63)) + +#define IS_SPDIFRX_WAIT_FOR_ACTIVITY(VAL) (((VAL) == SPDIFRX_WAITFORACTIVITY_ON) || \ + ((VAL) == SPDIFRX_WAITFORACTIVITY_OFF)) + +#define IS_PREAMBLE_TYPE_MASK(VAL) (((VAL) == SPDIFRX_PREAMBLETYPEMASK_ON) || \ + ((VAL) == SPDIFRX_PREAMBLETYPEMASK_OFF)) + +#define IS_VALIDITY_MASK(VAL) (((VAL) == SPDIFRX_VALIDITYMASK_OFF) || \ + ((VAL) == SPDIFRX_VALIDITYMASK_ON)) + +#define IS_PARITY_ERROR_MASK(VAL) (((VAL) == SPDIFRX_PARITYERRORMASK_OFF) || \ + ((VAL) == SPDIFRX_PARITYERRORMASK_ON)) + +#define IS_SPDIFRX_CHANNEL(CHANNEL) (((CHANNEL) == SPDIFRX_CHANNEL_A) || \ + ((CHANNEL) == SPDIFRX_CHANNEL_B)) + +#define IS_SPDIFRX_DATA_FORMAT(FORMAT) (((FORMAT) == SPDIFRX_DATAFORMAT_LSB) || \ + ((FORMAT) == SPDIFRX_DATAFORMAT_MSB) || \ + ((FORMAT) == SPDIFRX_DATAFORMAT_32BITS)) + +#define IS_STEREO_MODE(MODE) (((MODE) == SPDIFRX_STEREOMODE_DISABLE) || \ + ((MODE) == SPDIFRX_STEREOMODE_ENABLE)) + +#define IS_CHANNEL_STATUS_MASK(VAL) (((VAL) == SPDIFRX_CHANNELSTATUS_ON) || \ + ((VAL) == SPDIFRX_CHANNELSTATUS_OFF)) +#define IS_SYMBOL_CLOCK_GEN(VAL) (((VAL) == ENABLE) || ((VAL) == DISABLE)) +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup SPDIFRX_Private_Functions SPDIFRX Private Functions + * @{ + */ +/** + * @} + */ + +/** + * @} + */ +#endif /* SPDIFRX */ +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_HAL_SPDIFRX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h new file mode 100644 index 0000000000..09d957b98c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h @@ -0,0 +1,983 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_spi.h + * @author MCD Application Team + * @brief Header file of SPI HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SPI_H +#define __STM32H7xx_HAL_SPI_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SPI + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SPI_Exported_Types SPI Exported Types + * @{ + */ + +/** + * @brief SPI Configuration Structure definition + */ +typedef struct +{ + uint32_t Mode; /*!< Specifies the SPI operating mode. + This parameter can be a value of @ref SPI_Mode */ + + uint32_t Direction; /*!< Specifies the SPI bidirectional mode state. + This parameter can be a value of @ref SPI_Direction */ + + uint32_t DataSize; /*!< Specifies the SPI data size. + This parameter can be a value of @ref SPI_Data_Size */ + + uint32_t CLKPolarity; /*!< Specifies the serial clock steady state. + This parameter can be a value of @ref SPI_Clock_Polarity */ + + uint32_t CLKPhase; /*!< Specifies the clock active edge for the bit capture. + This parameter can be a value of @ref SPI_Clock_Phase */ + + uint32_t NSS; /*!< Specifies whether the NSS signal is managed by + hardware (NSS pin) or by software using the SSI bit. + This parameter can be a value of @ref SPI_Slave_Select_Management */ + + uint32_t BaudRatePrescaler; /*!< Specifies the Baud Rate prescaler value which will be + used to configure the transmit and receive SCK clock. + This parameter can be a value of @ref SPI_BaudRate_Prescaler + @note The communication clock is derived from the master + clock. The slave clock does not need to be set. */ + + uint32_t FirstBit; /*!< Specifies whether data transfers start from MSB or LSB bit. + This parameter can be a value of @ref SPI_MSB_LSB_Transmission */ + + uint32_t TIMode; /*!< Specifies if the TI mode is enabled or not. + This parameter can be a value of @ref SPI_TI_Mode */ + + uint32_t CRCCalculation; /*!< Specifies if the CRC calculation is enabled or not. + This parameter can be a value of @ref SPI_CRC_Calculation */ + + uint32_t CRCPolynomial; /*!< Specifies the polynomial used for the CRC calculation. + This parameter must be an odd number between Min_Data = 0 and Max_Data = 65535 */ + + uint32_t CRCLength; /*!< Specifies the CRC Length used for the CRC calculation. + CRC Length is only used with Data8 and Data16, not other data size + This parameter can be a value of @ref SPI_CRC_length */ + + uint32_t NSSPMode; /*!< Specifies whether the NSSP signal is enabled or not . + This parameter can be a value of @ref SPI_NSSP_Mode + This mode is activated by the NSSP bit in the SPIx_CR2 register and + it takes effect only if the SPI interface is configured as Motorola SPI + master (FRF=0) with capture on the first edge (SPIx_CR1 CPHA = 0, + CPOL setting is ignored). */ + + uint32_t NSSPolarity; /*!< Specifies which level of SS input/output external signal (present on SS pin) is + considered as active one. + This parameter can be a value of @ref SPI_NSS_Polarity */ + + uint32_t FifoThreshold; /*!< Specifies the FIFO threshold level. + This parameter can be a value of @ref SPI_Fifo_Threshold */ + + uint32_t TxCRCInitializationPattern; /*!< Specifies the transmitter CRC initialization Pattern used for the CRC calculation. + This parameter can be a value of @ref SPI_CRC_Calculation_Initialization_Pattern */ + + uint32_t RxCRCInitializationPattern; /*!< Specifies the receiver CRC initialization Pattern used for the CRC calculation. + This parameter can be a value of @ref SPI_CRC_Calculation_Initialization_Pattern */ + + uint32_t MasterSSIdleness; /*!< Specifies an extra delay, expressed in number of SPI clock cycle periods, inserted + additionally between active edge of SS and first data transaction start in master mode. + This parameter can be a value of @ref SPI_Master_SS_Idleness */ + + uint32_t MasterInterDataIdleness; /*!< Specifies minimum time delay (expressed in SPI clock cycles periods) inserted between + two consecutive data frames in master mode + This parameter can be a value of @ref SPI_Master_InterData_Idleness */ + + uint32_t MasterReceiverAutoSusp; /*!< Control continuous SPI transfer in master receiver mode and automatic management + in order to avoid overrun condition. + This parameter can be a value of @ref SPI_Master_RX_AutoSuspend*/ + + uint32_t MasterKeepIOState; /*!< Control of Alternate function GPIOs state + This parameter can be a value of @ref SPI_Master_Keep_IO_State */ + + uint32_t IOSwap; /*!< Invert MISO/MOSI alternate functions + This parameter can be a value of @ref SPI_IO_Swap */ + +} SPI_InitTypeDef; + +/** + * @brief HAL SPI State structure definition + */ +typedef enum +{ + HAL_SPI_STATE_RESET = 0x00U, /*!< Peripheral not Initialized */ + HAL_SPI_STATE_READY = 0x01U, /*!< Peripheral Initialized and ready for use */ + HAL_SPI_STATE_BUSY = 0x02U, /*!< an internal process is ongoing */ + HAL_SPI_STATE_BUSY_TX = 0x03U, /*!< Data Transmission process is ongoing */ + HAL_SPI_STATE_BUSY_RX = 0x04U, /*!< Data Reception process is ongoing */ + HAL_SPI_STATE_BUSY_TX_RX = 0x05U, /*!< Data Transmission and Reception process is ongoing */ + HAL_SPI_STATE_ERROR = 0x06U, /*!< SPI error state */ + HAL_SPI_STATE_ABORT = 0x07U /*!< SPI abort is ongoing */ +} HAL_SPI_StateTypeDef; + +/** + * @brief SPI handle Structure definition + */ +typedef struct __SPI_HandleTypeDef +{ + SPI_TypeDef *Instance; /*!< SPI registers base address */ + + SPI_InitTypeDef Init; /*!< SPI communication parameters */ + + uint8_t *pTxBuffPtr; /*!< Pointer to SPI Tx transfer Buffer */ + + uint16_t TxXferSize; /*!< SPI Tx Transfer size */ + + __IO uint16_t TxXferCount; /*!< SPI Tx Transfer Counter */ + + uint8_t *pRxBuffPtr; /*!< Pointer to SPI Rx transfer Buffer */ + + uint16_t RxXferSize; /*!< SPI Rx Transfer size */ + + __IO uint16_t RxXferCount; /*!< SPI Rx Transfer Counter */ + + uint32_t CRCSize; /*!< SPI CRC size used for the transfer */ + + void (*RxISR)(struct __SPI_HandleTypeDef *hspi); /*!< function pointer on Rx ISR */ + + void (*TxISR)(struct __SPI_HandleTypeDef *hspi); /*!< function pointer on Tx ISR */ + + DMA_HandleTypeDef *hdmatx; /*!< SPI Tx DMA Handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< SPI Rx DMA Handle parameters */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + __IO HAL_SPI_StateTypeDef State; /*!< SPI communication state */ + + __IO uint32_t ErrorCode; /*!< SPI Error code */ + +} SPI_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup SPI_Exported_Constants SPI Exported Constants + * @{ + */ + +/** @defgroup SPI_FIFO_Type SPI FIFO Type + * @{ + */ +#define SPI_LOWEND_FIFO_SIZE 8U +#define SPI_HIGHEND_FIFO_SIZE 16U +/** + * @} + */ + +/** @defgroup SPI_Error_Code SPI Error Codes + * @{ + */ +#define HAL_SPI_ERROR_NONE (0x00000000U) /*!< No error */ +#define HAL_SPI_ERROR_MODF (0x00000001U) /*!< MODF error */ +#define HAL_SPI_ERROR_CRC (0x00000002U) /*!< CRC error */ +#define HAL_SPI_ERROR_OVR (0x00000004U) /*!< OVR error */ +#define HAL_SPI_ERROR_FRE (0x00000008U) /*!< FRE error */ +#define HAL_SPI_ERROR_DMA (0x00000010U) /*!< DMA transfer error */ +#define HAL_SPI_ERROR_FLAG (0x00000020U) /*!< Error on RXNE/TXE/BSY/FTLVL/FRLVL Flag */ +#define HAL_SPI_ERROR_ABORT (0x00000040U) /*!< Error during SPI Abort procedure */ +#define HAL_SPI_ERROR_UDR (0x00000080U) /*!< Underrun error */ +#define HAL_SPI_ERROR_TIMEOUT (0x00000100U) /*!< Timeout error */ +#define HAL_SPI_ERROR_UNKNOW (0x00000200U) /*!< Unknow error */ +#define HAL_SPI_ERROR_NOT_SUPPORTED (0x00000400U) /*!< Requested operation not supported */ +/** + * @} + */ + +/** @defgroup SPI_Mode SPI Mode + * @{ + */ +#define SPI_MODE_SLAVE (0x00000000U) +#define SPI_MODE_MASTER SPI_CFG2_MASTER +/** + * @} + */ + +/** @defgroup SPI_Direction SPI Direction Mode + * @{ + */ +#define SPI_DIRECTION_2LINES (0x00000000U) +#define SPI_DIRECTION_2LINES_TXONLY SPI_CFG2_COMM_0 +#define SPI_DIRECTION_2LINES_RXONLY SPI_CFG2_COMM_1 +#define SPI_DIRECTION_1LINE SPI_CFG2_COMM +/** + * @} + */ + +/** @defgroup SPI_Data_Size SPI Data Size + * @{ + */ +#define SPI_DATASIZE_4BIT (0x00000003U) +#define SPI_DATASIZE_5BIT (0x00000004U) +#define SPI_DATASIZE_6BIT (0x00000005U) +#define SPI_DATASIZE_7BIT (0x00000006U) +#define SPI_DATASIZE_8BIT (0x00000007U) +#define SPI_DATASIZE_9BIT (0x00000008U) +#define SPI_DATASIZE_10BIT (0x00000009U) +#define SPI_DATASIZE_11BIT (0x0000000AU) +#define SPI_DATASIZE_12BIT (0x0000000BU) +#define SPI_DATASIZE_13BIT (0x0000000CU) +#define SPI_DATASIZE_14BIT (0x0000000DU) +#define SPI_DATASIZE_15BIT (0x0000000EU) +#define SPI_DATASIZE_16BIT (0x0000000FU) +#define SPI_DATASIZE_17BIT (0x00000010U) +#define SPI_DATASIZE_18BIT (0x00000011U) +#define SPI_DATASIZE_19BIT (0x00000012U) +#define SPI_DATASIZE_20BIT (0x00000013U) +#define SPI_DATASIZE_21BIT (0x00000014U) +#define SPI_DATASIZE_22BIT (0x00000015U) +#define SPI_DATASIZE_23BIT (0x00000016U) +#define SPI_DATASIZE_24BIT (0x00000017U) +#define SPI_DATASIZE_25BIT (0x00000018U) +#define SPI_DATASIZE_26BIT (0x00000019U) +#define SPI_DATASIZE_27BIT (0x0000001AU) +#define SPI_DATASIZE_28BIT (0x0000001BU) +#define SPI_DATASIZE_29BIT (0x0000001CU) +#define SPI_DATASIZE_30BIT (0x0000001DU) +#define SPI_DATASIZE_31BIT (0x0000001EU) +#define SPI_DATASIZE_32BIT (0x0000001FU) +/** + * @} + */ + +/** @defgroup SPI_Clock_Polarity SPI Clock Polarity + * @{ + */ +#define SPI_POLARITY_LOW (0x00000000U) +#define SPI_POLARITY_HIGH SPI_CFG2_CPOL +/** + * @} + */ + +/** @defgroup SPI_Clock_Phase SPI Clock Phase + * @{ + */ +#define SPI_PHASE_1EDGE (0x00000000U) +#define SPI_PHASE_2EDGE SPI_CFG2_CPHA +/** + * @} + */ + +/** @defgroup SPI_Slave_Select_Management SPI Slave Select Management + * @{ + */ +#define SPI_NSS_SOFT SPI_CFG2_SSM +#define SPI_NSS_HARD_INPUT (0x00000000U) +#define SPI_NSS_HARD_OUTPUT SPI_CFG2_SSOE +/** + * @} + */ + +/** @defgroup SPI_NSSP_Mode SPI NSS Pulse Mode + * @{ + */ +#define SPI_NSS_PULSE_DISABLE (0x00000000U) +#define SPI_NSS_PULSE_ENABLE SPI_CFG2_SSOM +/** + * @} + */ + +/** @defgroup SPI_BaudRate_Prescaler SPI BaudRate Prescaler + * @{ + */ +#define SPI_BAUDRATEPRESCALER_2 (0x00000000U) +#define SPI_BAUDRATEPRESCALER_4 (0x10000000U) +#define SPI_BAUDRATEPRESCALER_8 (0x20000000U) +#define SPI_BAUDRATEPRESCALER_16 (0x30000000U) +#define SPI_BAUDRATEPRESCALER_32 (0x40000000U) +#define SPI_BAUDRATEPRESCALER_64 (0x50000000U) +#define SPI_BAUDRATEPRESCALER_128 (0x60000000U) +#define SPI_BAUDRATEPRESCALER_256 (0x70000000U) +/** + * @} + */ + +/** @defgroup SPI_MSB_LSB_Transmission SPI MSB LSB Transmission + * @{ + */ +#define SPI_FIRSTBIT_MSB (0x00000000U) +#define SPI_FIRSTBIT_LSB SPI_CFG2_LSBFRST +/** + * @} + */ + +/** @defgroup SPI_TI_Mode SPI TI Mode + * @{ + */ +#define SPI_TIMODE_DISABLE (0x00000000U) +#define SPI_TIMODE_ENABLE SPI_CFG2_SP_0 +/** + * @} + */ + +/** @defgroup SPI_CRC_Calculation SPI CRC Calculation + * @{ + */ +#define SPI_CRCCALCULATION_DISABLE (0x00000000U) +#define SPI_CRCCALCULATION_ENABLE SPI_CFG1_CRCEN +/** + * @} + */ + +/** @defgroup SPI_CRC_length SPI CRC Length + * @{ + */ +#define SPI_CRC_LENGTH_DATASIZE (0x00000000U) +#define SPI_CRC_LENGTH_4BIT (0x00030000U) +#define SPI_CRC_LENGTH_5BIT (0x00040000U) +#define SPI_CRC_LENGTH_6BIT (0x00050000U) +#define SPI_CRC_LENGTH_7BIT (0x00060000U) +#define SPI_CRC_LENGTH_8BIT (0x00070000U) +#define SPI_CRC_LENGTH_9BIT (0x00080000U) +#define SPI_CRC_LENGTH_10BIT (0x00090000U) +#define SPI_CRC_LENGTH_11BIT (0x000A0000U) +#define SPI_CRC_LENGTH_12BIT (0x000B0000U) +#define SPI_CRC_LENGTH_13BIT (0x000C0000U) +#define SPI_CRC_LENGTH_14BIT (0x000D0000U) +#define SPI_CRC_LENGTH_15BIT (0x000E0000U) +#define SPI_CRC_LENGTH_16BIT (0x000F0000U) +#define SPI_CRC_LENGTH_17BIT (0x00100000U) +#define SPI_CRC_LENGTH_18BIT (0x00110000U) +#define SPI_CRC_LENGTH_19BIT (0x00120000U) +#define SPI_CRC_LENGTH_20BIT (0x00130000U) +#define SPI_CRC_LENGTH_21BIT (0x00140000U) +#define SPI_CRC_LENGTH_22BIT (0x00150000U) +#define SPI_CRC_LENGTH_23BIT (0x00160000U) +#define SPI_CRC_LENGTH_24BIT (0x00170000U) +#define SPI_CRC_LENGTH_25BIT (0x00180000U) +#define SPI_CRC_LENGTH_26BIT (0x00190000U) +#define SPI_CRC_LENGTH_27BIT (0x001A0000U) +#define SPI_CRC_LENGTH_28BIT (0x001B0000U) +#define SPI_CRC_LENGTH_29BIT (0x001C0000U) +#define SPI_CRC_LENGTH_30BIT (0x001D0000U) +#define SPI_CRC_LENGTH_31BIT (0x001E0000U) +#define SPI_CRC_LENGTH_32BIT (0x001F0000U) +/** + * @} + */ + +/** @defgroup SPI_Fifo_Threshold SPI Fifo Threshold + * @{ + */ +#define SPI_FIFO_THRESHOLD_01DATA (0x00000000U) +#define SPI_FIFO_THRESHOLD_02DATA (0x00000020U) +#define SPI_FIFO_THRESHOLD_03DATA (0x00000040U) +#define SPI_FIFO_THRESHOLD_04DATA (0x00000060U) +#define SPI_FIFO_THRESHOLD_05DATA (0x00000080U) +#define SPI_FIFO_THRESHOLD_06DATA (0x000000A0U) +#define SPI_FIFO_THRESHOLD_07DATA (0x000000C0U) +#define SPI_FIFO_THRESHOLD_08DATA (0x000000E0U) +#define SPI_FIFO_THRESHOLD_09DATA (0x00000100U) +#define SPI_FIFO_THRESHOLD_10DATA (0x00000120U) +#define SPI_FIFO_THRESHOLD_11DATA (0x00000140U) +#define SPI_FIFO_THRESHOLD_12DATA (0x00000160U) +#define SPI_FIFO_THRESHOLD_13DATA (0x00000180U) +#define SPI_FIFO_THRESHOLD_14DATA (0x000001A0U) +#define SPI_FIFO_THRESHOLD_15DATA (0x000001C0U) +#define SPI_FIFO_THRESHOLD_16DATA (0x000001E0U) +/** + * @} + */ + +/** @defgroup SPI_CRC_Calculation_Initialization_Pattern SPI CRC Calculation Initialization Pattern + * @{ + */ +#define SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN (0x00000000U) +#define SPI_CRC_INITIALIZATION_ALL_ONE_PATTERN (0x00000001U) +/** + * @} + */ + +/** @defgroup SPI_NSS_Polarity SPI NSS Polarity + * @{ + */ +#define SPI_NSS_POLARITY_LOW (0x00000000U) +#define SPI_NSS_POLARITY_HIGH SPI_CFG2_SSIOP +/** + * @} + */ + +/** @defgroup SPI_Master_Keep_IO_State Keep IO State + * @{ + */ +#define SPI_MASTER_KEEP_IO_STATE_DISABLE (0x00000000U) +#define SPI_MASTER_KEEP_IO_STATE_ENABLE SPI_CFG2_AFCNTR +/** + * @} + */ + +/** @defgroup SPI_IO_Swap Control SPI IO Swap + * @{ + */ +#define SPI_IO_SWAP_DISABLE (0x00000000U) +#define SPI_IO_SWAP_ENABLE SPI_CFG2_IOSWP +/** + * @} + */ + +/** @defgroup SPI_Master_SS_Idleness SPI Master SS Ideleness + * @{ + */ +#define SPI_MASTER_SS_IDLENESS_00CYCLE (0x00000000U) +#define SPI_MASTER_SS_IDLENESS_01CYCLE (0x00000001U) +#define SPI_MASTER_SS_IDLENESS_02CYCLE (0x00000002U) +#define SPI_MASTER_SS_IDLENESS_03CYCLE (0x00000003U) +#define SPI_MASTER_SS_IDLENESS_04CYCLE (0x00000004U) +#define SPI_MASTER_SS_IDLENESS_05CYCLE (0x00000005U) +#define SPI_MASTER_SS_IDLENESS_06CYCLE (0x00000006U) +#define SPI_MASTER_SS_IDLENESS_07CYCLE (0x00000007U) +#define SPI_MASTER_SS_IDLENESS_08CYCLE (0x00000008U) +#define SPI_MASTER_SS_IDLENESS_09CYCLE (0x00000009U) +#define SPI_MASTER_SS_IDLENESS_10CYCLE (0x0000000AU) +#define SPI_MASTER_SS_IDLENESS_11CYCLE (0x0000000BU) +#define SPI_MASTER_SS_IDLENESS_12CYCLE (0x0000000CU) +#define SPI_MASTER_SS_IDLENESS_13CYCLE (0x0000000DU) +#define SPI_MASTER_SS_IDLENESS_14CYCLE (0x0000000EU) +#define SPI_MASTER_SS_IDLENESS_15CYCLE (0x0000000FU) +/** + * @} + */ + +/** @defgroup SPI_Master_InterData_Idleness SPI Master Inter-Data Ideleness + * @{ + */ + #define SPI_MASTER_INTERDATA_IDLENESS_00CYCLE (0x00000000U) + #define SPI_MASTER_INTERDATA_IDLENESS_01CYCLE (0x00000010U) + #define SPI_MASTER_INTERDATA_IDLENESS_02CYCLE (0x00000020U) + #define SPI_MASTER_INTERDATA_IDLENESS_03CYCLE (0x00000030U) + #define SPI_MASTER_INTERDATA_IDLENESS_04CYCLE (0x00000040U) + #define SPI_MASTER_INTERDATA_IDLENESS_05CYCLE (0x00000050U) + #define SPI_MASTER_INTERDATA_IDLENESS_06CYCLE (0x00000060U) + #define SPI_MASTER_INTERDATA_IDLENESS_07CYCLE (0x00000070U) + #define SPI_MASTER_INTERDATA_IDLENESS_08CYCLE (0x00000080U) + #define SPI_MASTER_INTERDATA_IDLENESS_09CYCLE (0x00000090U) + #define SPI_MASTER_INTERDATA_IDLENESS_10CYCLE (0x000000A0U) + #define SPI_MASTER_INTERDATA_IDLENESS_11CYCLE (0x000000B0U) + #define SPI_MASTER_INTERDATA_IDLENESS_12CYCLE (0x000000C0U) + #define SPI_MASTER_INTERDATA_IDLENESS_13CYCLE (0x000000D0U) + #define SPI_MASTER_INTERDATA_IDLENESS_14CYCLE (0x000000E0U) + #define SPI_MASTER_INTERDATA_IDLENESS_15CYCLE (0x000000F0U) +/** + * @} + */ + +/** @defgroup SPI_Master_RX_AutoSuspend SPI Master Receiver AutoSuspend + * @{ + */ +#define SPI_MASTER_RX_AUTOSUSP_DISABLE (0x00000000U) +#define SPI_MASTER_RX_AUTOSUSP_ENABLE SPI_CR1_MASRX +/** + * @} + */ + +/** @defgroup SPI_Underrun_Detection SPI Underrun Detection + * @{ + */ +#define SPI_UNDERRUN_DETECT_BEGIN_DATA_FRAME (0x00000000U) +#define SPI_UNDERRUN_DETECT_END_DATA_FRAME SPI_CFG1_UDRDET_0 +#define SPI_UNDERRUN_DETECT_BEGIN_ACTIVE_NSS SPI_CFG1_UDRDET_1 +/** + * @} + */ + +/** @defgroup SPI_Underrun_Behaviour SPI Underrun Behaviour + * @{ + */ +#define SPI_UNDERRUN_BEHAV_REGISTER_PATTERN (0x00000000U) +#define SPI_UNDERRUN_BEHAV_LAST_RECEIVED SPI_CFG1_UDRCFG_0 +#define SPI_UNDERRUN_BEHAV_LAST_TRANSMITTED SPI_CFG1_UDRCFG_1 +/** + * @} + */ + +/** @defgroup SPI_Interrupt_definition SPI Interrupt Definition + * @{ + */ +#define SPI_IT_TXE SPI_IER_TXPIE +#define SPI_IT_RXNE SPI_IER_RXPIE +#define SPI_IT_EOT SPI_IER_EOTIE +#define SPI_IT_TXTF SPI_IER_TXTFIE +#define SPI_IT_UDR SPI_IER_UDRIE +#define SPI_IT_OVR SPI_IER_OVRIE +#define SPI_IT_FRE SPI_IER_TIFREIE +#define SPI_IT_MODF SPI_IER_MODFIE +#define SPI_IT_ERR (SPI_IT_UDR | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF) +/** + * @} + */ + +/** @defgroup SPI_Flags_definition SPI Flags Definition + * @{ + */ +#define SPI_FLAG_TXE SPI_SR_TXP /* SPI status flag: Tx buffer empty flag */ +#define SPI_FLAG_RXNE SPI_SR_RXP /* SPI status flag: Rx buffer not empty flag */ +#define SPI_FLAG_UDR SPI_SR_UDR /* SPI Error flag: Underrun flag */ +#define SPI_FLAG_OVR SPI_SR_OVR /* SPI Error flag: Overrun flag */ +#define SPI_FLAG_FRE SPI_SR_TIFRE /* SPI Error flag: TI mode frame format error flag */ +#define SPI_FLAG_CRCERR SPI_SR_CRCE /* SPI Error flag: CRC error flag */ +#define SPI_FLAG_MODF SPI_SR_MODF /* SPI Error flag: Mode fault flag */ +#define SPI_FLAG_FRLVL SPI_SR_RXPLVL /* SPI fifo reception level */ +#define SPI_FLAG_RXWNE SPI_SR_RXWNE /* SPI RxFIFO Word Not Empty */ +#define SPI_FLAG_TXTF SPI_SR_TXTF /* SPI Transmission Transfer Filled flag */ +#define SPI_FLAG_EOT SPI_SR_EOT /* SPI fifo transmision complete */ +#define SPI_FLAG_SUSP SPI_SR_SUSP /* SPI transfer suspend complete */ + +/** + * @} + */ + +/** @defgroup SPI_reception_fifo_status_level SPI Reception FIFO Status Level + * @{ + */ +#define SPI_FRLVL_EMPTY (0x00000000U) +#define SPI_FRLVL_QUARTER_FULL (0x00002000U) +#define SPI_FRLVL_HALF_FULL (0x00004000U) +#define SPI_FRLVL_FULL (0x00006000U) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup SPI_Exported_Macros SPI Exported Macros + * @{ + */ + +/** @brief Reset SPI handle state. + * @param __HANDLE__: specifies the SPI Handle. + * This parameter can be SPI where x: 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. + * @retval None + */ +#define __HAL_SPI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SPI_STATE_RESET) + +/** @brief Enable the specified SPI interrupts. + * @param __HANDLE__: specifies the SPI Handle. + * This parameter can be SPI where x: 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg SPI_IT_TXE: Tx buffer empty interrupt enable + * @arg SPI_IT_RXNE: RX buffer not empty interrupt enable + * @arg SPI_IT_ERR: Error interrupt enable + * @retval None + */ +#define __HAL_SPI_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) + +/** @brief Disable the specified SPI interrupts. + * @param __HANDLE__: specifies the SPI Handle. + * This parameter can be SPI where x: 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. + * @param __INTERRUPT__: specifies the interrupt source to enable or disable. + * This parameter can be one of the following values: + * @arg SPI_IT_TXE: Tx buffer empty interrupt enable + * @arg SPI_IT_RXNE: RX buffer not empty interrupt enable + * @arg SPI_IT_ERR: Error interrupt enable + * @retval None + */ +#define __HAL_SPI_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__))) + +/** @brief Check whether the specified SPI interrupt source is enabled or not. + * @param __HANDLE__: specifies the SPI Handle. + * This parameter can be SPI where x: 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. + * @param __INTERRUPT__: specifies the SPI interrupt source to check. + * This parameter can be one of the following values: + * @arg SPI_IT_TXE: Tx buffer empty interrupt enable + * @arg SPI_IT_RXNE: RX buffer not empty interrupt enable + * @arg SPI_IT_ERR: Error interrupt enable + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_SPI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Check whether the specified SPI flag is set or not. + * @param __HANDLE__: specifies the SPI Handle. + * This parameter can be SPI where x: 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg SPI_FLAG_TXE : Tx buffer empty flag + * @arg SPI_FLAG_RXNE : Rx buffer not empty flag + * @arg SPI_FLAG_UDR : Underrun flag + * @arg SPI_FLAG_OVR : Overrun flag + * @arg SPI_FLAG_FRE : TI mode frame format error flag + * @arg SPI_FLAG_CRCERR: CRC error flag + * @arg SPI_FLAG_MODF : Mode fault flag + * @arg SPI_FLAG_FRLVL : fifo reception level + * @arg SPI_FLAG_RXWNE : RxFIFO Word Not Empty + * @arg SPI_FLAG_TXTF : Transmission Transfer Filled flag + * @arg SPI_FLAG_EOT : fifo transmision complete + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_SPI_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) + +/** @brief Clear the SPI CRCERR pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_CRCERRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_CRCEC) + +/** @brief Clear the SPI MODF pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_MODFFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , (uint32_t)(SPI_IFCR_MODFC)); + +/** @brief Clear the SPI OVR pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_OVRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_OVRC) + +/** @brief Clear the SPI FRE pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_FREFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_TIFREC) + +/** @brief Clear the SPI UDR pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_UDRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_UDRC) + +/** @brief Clear the SPI EOT pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_EOTFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_EOTC) + +/** @brief Clear the SPI UDR pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_TXTFFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_TXTFC) + +/** @brief Clear the SPI SUSP pending flag. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_CLEAR_SUSPFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_SUSPC) + +/** @brief Enable the SPI peripheral. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR1 , SPI_CR1_SPE) + +/** @brief Disable the SPI peripheral. + * @param __HANDLE__: specifies the SPI Handle. + * @retval None + */ +#define __HAL_SPI_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR1 , SPI_CR1_SPE) +/** + * @} + */ + + +/* Include SPI HAL Extension module */ +#include "stm32h7xx_hal_spi_ex.h" + + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SPI_Exported_Functions + * @{ + */ + +/** @addtogroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi); +HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi); +void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi); +void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi); +/** + * @} + */ + +/** @addtogroup SPI_Exported_Functions_Group2 IO operation functions + * @{ + */ +/* I/O operation functions ***************************************************/ +HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SPI_Receive (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, + uint32_t Timeout); +HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SPI_Receive_IT (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, + uint16_t Size); +HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SPI_Receive_DMA (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, + uint16_t Size); + +HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi); +HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi); +HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi); + +/* Transfer Abort functions */ +HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi); +HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi); + +void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi); +void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi); +void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi); +void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi); +void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi); +void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi); +void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi); +void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi); +void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi); +/** + * @} + */ + +/** @addtogroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions + * @{ + */ + +/* Peripheral State and Error functions ***************************************/ +HAL_SPI_StateTypeDef HAL_SPI_GetState(SPI_HandleTypeDef *hspi); +uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi); +/** + * @} + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup SPI_Private_Macros SPI Private Macros + * @{ + */ + +/** @brief Set the SPI transmit-only mode. + * @param __HANDLE__: specifies the SPI Handle. + * This parameter can be SPI where x: 1, 2, or 3 to select the SPI peripheral. + * @retval None + */ +#define SPI_1LINE_TX(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR1 , SPI_CR1_HDDIR) + +/** @brief Set the SPI receive-only mode. + * @param __HANDLE__: specifies the SPI Handle. + * This parameter can be SPI where x: 1, 2, or 3 to select the SPI peripheral. + * @retval None + */ +#define SPI_1LINE_RX(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR1 ,SPI_CR1_HDDIR) + +#define IS_SPI_MODE(MODE) (((MODE) == SPI_MODE_SLAVE) || \ + ((MODE) == SPI_MODE_MASTER)) + +#define IS_SPI_DIRECTION(MODE) (((MODE) == SPI_DIRECTION_2LINES) || \ + ((MODE) == SPI_DIRECTION_2LINES_RXONLY) || \ + ((MODE) == SPI_DIRECTION_1LINE) || \ + ((MODE) == SPI_DIRECTION_2LINES_TXONLY)) + +#define IS_SPI_DIRECTION_2LINES(MODE) ((MODE) == SPI_DIRECTION_2LINES) + +#define IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(MODE) ( \ + ((MODE) == SPI_DIRECTION_2LINES)|| \ + ((MODE) == SPI_DIRECTION_1LINE) || \ + ((MODE) == SPI_DIRECTION_2LINES_TXONLY)) + +#define IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(MODE) ( \ + ((MODE) == SPI_DIRECTION_2LINES)|| \ + ((MODE) == SPI_DIRECTION_1LINE) || \ + ((MODE) == SPI_DIRECTION_2LINES_RXONLY)) + +#define IS_SPI_DATASIZE(DATASIZE) (((DATASIZE) == SPI_DATASIZE_32BIT) || \ + ((DATASIZE) == SPI_DATASIZE_31BIT) || \ + ((DATASIZE) == SPI_DATASIZE_30BIT) || \ + ((DATASIZE) == SPI_DATASIZE_29BIT) || \ + ((DATASIZE) == SPI_DATASIZE_28BIT) || \ + ((DATASIZE) == SPI_DATASIZE_27BIT) || \ + ((DATASIZE) == SPI_DATASIZE_26BIT) || \ + ((DATASIZE) == SPI_DATASIZE_25BIT) || \ + ((DATASIZE) == SPI_DATASIZE_24BIT) || \ + ((DATASIZE) == SPI_DATASIZE_23BIT) || \ + ((DATASIZE) == SPI_DATASIZE_22BIT) || \ + ((DATASIZE) == SPI_DATASIZE_21BIT) || \ + ((DATASIZE) == SPI_DATASIZE_20BIT) || \ + ((DATASIZE) == SPI_DATASIZE_22BIT) || \ + ((DATASIZE) == SPI_DATASIZE_19BIT) || \ + ((DATASIZE) == SPI_DATASIZE_18BIT) || \ + ((DATASIZE) == SPI_DATASIZE_17BIT) || \ + ((DATASIZE) == SPI_DATASIZE_16BIT) || \ + ((DATASIZE) == SPI_DATASIZE_15BIT) || \ + ((DATASIZE) == SPI_DATASIZE_14BIT) || \ + ((DATASIZE) == SPI_DATASIZE_13BIT) || \ + ((DATASIZE) == SPI_DATASIZE_12BIT) || \ + ((DATASIZE) == SPI_DATASIZE_11BIT) || \ + ((DATASIZE) == SPI_DATASIZE_10BIT) || \ + ((DATASIZE) == SPI_DATASIZE_9BIT) || \ + ((DATASIZE) == SPI_DATASIZE_8BIT) || \ + ((DATASIZE) == SPI_DATASIZE_7BIT) || \ + ((DATASIZE) == SPI_DATASIZE_6BIT) || \ + ((DATASIZE) == SPI_DATASIZE_5BIT) || \ + ((DATASIZE) == SPI_DATASIZE_4BIT)) + +#define IS_SPI_FIFOTHRESHOLD(THRESHOLD) (((THRESHOLD) == SPI_FIFO_THRESHOLD_01DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_02DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_03DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_04DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_05DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_06DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_07DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_08DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_09DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_10DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_11DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_12DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_13DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_14DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_15DATA) || \ + ((THRESHOLD) == SPI_FIFO_THRESHOLD_16DATA)) + +#define IS_SPI_CPOL(CPOL) (((CPOL) == SPI_POLARITY_LOW) || \ + ((CPOL) == SPI_POLARITY_HIGH)) + +#define IS_SPI_CPHA(CPHA) (((CPHA) == SPI_PHASE_1EDGE) || \ + ((CPHA) == SPI_PHASE_2EDGE)) + +#define IS_SPI_NSS(NSS) (((NSS) == SPI_NSS_SOFT) || \ + ((NSS) == SPI_NSS_HARD_INPUT) || \ + ((NSS) == SPI_NSS_HARD_OUTPUT)) + +#define IS_SPI_NSSP(NSSP) (((NSSP) == SPI_NSS_PULSE_ENABLE) || \ + ((NSSP) == SPI_NSS_PULSE_DISABLE)) + +#define IS_SPI_BAUDRATE_PRESCALER(PRESCALER) (((PRESCALER) == SPI_BAUDRATEPRESCALER_2) || \ + ((PRESCALER) == SPI_BAUDRATEPRESCALER_4) || \ + ((PRESCALER) == SPI_BAUDRATEPRESCALER_8) || \ + ((PRESCALER) == SPI_BAUDRATEPRESCALER_16) || \ + ((PRESCALER) == SPI_BAUDRATEPRESCALER_32) || \ + ((PRESCALER) == SPI_BAUDRATEPRESCALER_64) || \ + ((PRESCALER) == SPI_BAUDRATEPRESCALER_128) || \ + ((PRESCALER) == SPI_BAUDRATEPRESCALER_256)) + +#define IS_SPI_FIRST_BIT(BIT) (((BIT) == SPI_FIRSTBIT_MSB) || \ + ((BIT) == SPI_FIRSTBIT_LSB)) + +#define IS_SPI_TIMODE(MODE) (((MODE) == SPI_TIMODE_DISABLE) || \ + ((MODE) == SPI_TIMODE_ENABLE)) + +#define IS_SPI_CRC_CALCULATION(CALCULATION) (((CALCULATION) == SPI_CRCCALCULATION_DISABLE) || \ + ((CALCULATION) == SPI_CRCCALCULATION_ENABLE)) + +#define IS_SPI_CRC_INITIALIZATION_PATTERN(PATTERN) (((PATTERN) == SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN) || \ + ((PATTERN) == SPI_CRC_INITIALIZATION_ALL_ONE_PATTERN)) + +#define IS_SPI_CRC_LENGTH(LENGTH) (((LENGTH) == SPI_CRC_LENGTH_DATASIZE) ||\ + ((LENGTH) == SPI_CRC_LENGTH_32BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_31BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_30BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_29BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_28BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_27BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_26BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_25BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_24BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_23BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_22BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_21BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_20BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_19BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_18BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_17BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_16BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_15BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_14BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_13BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_12BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_11BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_10BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_9BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_8BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_7BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_6BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_5BIT) ||\ + ((LENGTH) == SPI_CRC_LENGTH_4BIT)) + +#define IS_SPI_CRC_POLYNOMIAL(POLYNOMIAL) (((POLYNOMIAL) >= 0x1) && ((POLYNOMIAL) <= 0xFFFFFFFF)) + +#define IS_SPI_UNDERRUN_DETECTION(MODE) (((MODE) == SPI_UNDERRUN_DETECT_BEGIN_DATA_FRAME) || \ + ((MODE) == SPI_UNDERRUN_DETECT_END_DATA_FRAME) || \ + ((MODE) == SPI_UNDERRUN_DETECT_BEGIN_ACTIVE_NSS)) + +#define IS_SPI_UNDERRUN_BEHAVIOUR(MODE) (((MODE) == SPI_UNDERRUN_BEHAV_REGISTER_PATTERN) || \ + ((MODE) == SPI_UNDERRUN_BEHAV_LAST_RECEIVED) || \ + ((MODE) == SPI_UNDERRUN_BEHAV_LAST_TRANSMITTED)) +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SPI_H */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h new file mode 100644 index 0000000000..609972929c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h @@ -0,0 +1,93 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_spi_ex.h + * @author MCD Application Team + * @brief Header file of SPI HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SPI_EX_H +#define __STM32H7xx_HAL_SPI_EX_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SPIEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macros -----------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SPIEx_Exported_Functions + * @{ + */ + +/* Initialization and de-initialization functions ****************************/ +/* IO operation functions *****************************************************/ +/** @addtogroup SPIEx_Exported_Functions_Group1 + * @{ + */ +HAL_StatusTypeDef HAL_SPIEx_FlushRxFifo(SPI_HandleTypeDef *hspi); +HAL_StatusTypeDef HAL_SPIEx_EnableLockConfiguration(SPI_HandleTypeDef *hspi); +HAL_StatusTypeDef HAL_SPIEx_ConfigureUnderrun(SPI_HandleTypeDef *hspi, uint32_t UnderrunDetection, uint32_t UnderrunBehaviour); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SPI_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h new file mode 100644 index 0000000000..37c71eaa7e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h @@ -0,0 +1,194 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sram.h + * @author MCD Application Team + * @brief Header file of SRAM HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SRAM_H +#define __STM32H7xx_HAL_SRAM_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_ll_fmc.h" +#include "stm32h7xx_hal_mdma.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +/** @addtogroup SRAM + * @{ + */ + +/* Exported typedef ----------------------------------------------------------*/ + +/** @defgroup SRAM_Exported_Types SRAM Exported Types + * @{ + */ +/** + * @brief HAL SRAM State structures definition + */ +typedef enum +{ + HAL_SRAM_STATE_RESET = 0x00U, /*!< SRAM not yet initialized or disabled */ + HAL_SRAM_STATE_READY = 0x01U, /*!< SRAM initialized and ready for use */ + HAL_SRAM_STATE_BUSY = 0x02U, /*!< SRAM internal process is ongoing */ + HAL_SRAM_STATE_ERROR = 0x03U, /*!< SRAM error state */ + HAL_SRAM_STATE_PROTECTED = 0x04U /*!< SRAM peripheral NORSRAM device write protected */ + +}HAL_SRAM_StateTypeDef; + +/** + * @brief SRAM handle Structure definition + */ +typedef struct +{ + FMC_NORSRAM_TypeDef *Instance; /*!< Register base address */ + + FMC_NORSRAM_EXTENDED_TypeDef *Extended; /*!< Extended mode register base address */ + + FMC_NORSRAM_InitTypeDef Init; /*!< SRAM device control configuration parameters */ + + HAL_LockTypeDef Lock; /*!< SRAM locking object */ + + __IO HAL_SRAM_StateTypeDef State; /*!< SRAM device access state */ + + MDMA_HandleTypeDef *hmdma; /*!< Pointer DMA handler */ + +}SRAM_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ + +/** @defgroup SRAM_Exported_Macros SRAM Exported Macros + * @{ + */ + +/** @brief Reset SRAM handle state + * @param __HANDLE__: SRAM handle + * @retval None + */ +#define __HAL_SRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SRAM_STATE_RESET) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SRAM_Exported_Functions SRAM Exported Functions + * @{ + */ + +/** @addtogroup SRAM_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming); +HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram); +void HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram); +void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef *hsram); + +/** + * @} + */ + +/** @addtogroup SRAM_Exported_Functions_Group2 Input Output and memory control functions + * @{ + */ + +/* I/O operation functions ***************************************************/ +HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize); +HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize); + +void HAL_SRAM_DMA_XferCpltCallback(MDMA_HandleTypeDef *hmdma); +void HAL_SRAM_DMA_XferErrorCallback(MDMA_HandleTypeDef *hmdma); + +/** + * @} + */ + +/** @addtogroup SRAM_Exported_Functions_Group3 Control functions + * @{ + */ + +/* SRAM Control functions ****************************************************/ +HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram); +HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram); + +/** + * @} + */ + +/** @addtogroup SRAM_Exported_Functions_Group4 Peripheral State functions + * @{ + */ + +/* SRAM State functions ******************************************************/ +HAL_SRAM_StateTypeDef HAL_SRAM_GetState(SRAM_HandleTypeDef *hsram); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SRAM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_swpmi.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_swpmi.h new file mode 100644 index 0000000000..316b41336e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_swpmi.h @@ -0,0 +1,465 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_swpmi.h + * @author MCD Application Team + * @brief Header file of SWPMI HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_SWPMI_H +#define __STM32H7xx_HAL_SWPMI_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SWPMI + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SWPMI_Exported_Types SWPMI Exported Types + * @{ + */ + +/** + * @brief SWPMI Init Structure definition + */ +typedef struct +{ + uint32_t VoltageClass; /*!< Specifies the SWP Voltage Class. + This parameter can be a value of @ref SWPMI_Voltage_Class */ + + uint32_t BitRate; /*!< Specifies the SWPMI Bitrate. + This parameter must be a number between 0 and 63. + The Bitrate is computed using the following formula: + SWPMI_freq = SWPMI_clk / (((BitRate) + 1) * 4) + */ + + uint32_t TxBufferingMode; /*!< Specifies the transmission buffering mode. + This parameter can be a value of @ref SWPMI_Tx_Buffering_Mode */ + + uint32_t RxBufferingMode; /*!< Specifies the reception buffering mode. + This parameter can be a value of @ref SWPMI_Rx_Buffering_Mode */ + +}SWPMI_InitTypeDef; + + +/** + * @brief HAL SWPMI State structures definition + */ +typedef enum +{ + HAL_SWPMI_STATE_RESET = 0x00, /*!< Peripheral Reset state */ + HAL_SWPMI_STATE_READY = 0x01, /*!< Peripheral Initialized and ready for use */ + HAL_SWPMI_STATE_BUSY = 0x02, /*!< an internal process is ongoing */ + HAL_SWPMI_STATE_BUSY_TX = 0x12, /*!< Data Transmission process is ongoing */ + HAL_SWPMI_STATE_BUSY_RX = 0x22, /*!< Data Reception process is ongoing */ + HAL_SWPMI_STATE_BUSY_TX_RX = 0x32, /*!< Data Transmission and Reception process is ongoing */ + HAL_SWPMI_STATE_TIMEOUT = 0x03, /*!< Timeout state */ + HAL_SWPMI_STATE_ERROR = 0x04 /*!< Error */ +}HAL_SWPMI_StateTypeDef; + +/** + * @brief SWPMI handle Structure definition + */ +typedef struct +{ + SWPMI_TypeDef *Instance; /* SWPMI registers base address */ + + SWPMI_InitTypeDef Init; /* SWMPI communication parameters */ + + uint32_t *pTxBuffPtr; /* Pointer to SWPMI Tx transfer Buffer */ + + uint32_t TxXferSize; /* SWPMI Tx Transfer size */ + + uint32_t TxXferCount; /* SWPMI Tx Transfer Counter */ + + uint32_t *pRxBuffPtr; /* Pointer to SWPMI Rx transfer Buffer */ + + uint32_t RxXferSize; /* SWPMI Rx Transfer size */ + + uint32_t RxXferCount; /* SWPMI Rx Transfer Counter */ + + DMA_HandleTypeDef *hdmatx; /* SWPMI Tx DMA Handle parameters */ + + DMA_HandleTypeDef *hdmarx; /* SWPMI Rx DMA Handle parameters */ + + HAL_LockTypeDef Lock; /* SWPMI object */ + + __IO HAL_SWPMI_StateTypeDef State; /* SWPMI communication state */ + + __IO uint32_t ErrorCode; /* SWPMI Error code */ + +}SWPMI_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup SWPMI_Exported_Constants SWPMI Exported Constants + * @{ + */ + +/** + * @defgroup SWPMI_Error_Code SWPMI Error Code Bitmap + * @{ + */ +#define HAL_SWPMI_ERROR_NONE ((uint32_t)0x00000000) /*!< No error */ +#define HAL_SWPMI_ERROR_CRC ((uint32_t)0x00000004) /*!< frame error */ +#define HAL_SWPMI_ERROR_OVR ((uint32_t)0x00000008) /*!< Overrun error */ +#define HAL_SWPMI_ERROR_UDR ((uint32_t)0x0000000C) /*!< Underrun error */ +#define HAL_SWPMI_ERROR_DMA ((uint32_t)0x00000010) /*!< DMA transfer error */ +/** + * @} + */ + +/** @defgroup SWPMI_Voltage_Class SWPMI Voltage Class + * @{ + */ +#define SWPMI_VOLTAGE_CLASS_C ((uint32_t)0x00000000) +#define SWPMI_VOLTAGE_CLASS_B SWPMI_OR_CLASS +/** + * @} + */ + +/** @defgroup SWPMI_Tx_Buffering_Mode SWPMI Tx Buffering Mode + * @{ + */ +#define SWPMI_TX_NO_SOFTWAREBUFFER ((uint32_t)0x00000000) +#define SWPMI_TX_SINGLE_SOFTWAREBUFFER ((uint32_t)0x00000000) +#define SWPMI_TX_MULTI_SOFTWAREBUFFER SWPMI_CR_TXMODE +/** + * @} + */ + +/** @defgroup SWPMI_Rx_Buffering_Mode SWPMI Rx Buffering Mode + * @{ + */ +#define SWPMI_RX_NO_SOFTWAREBUFFER ((uint32_t)0x00000000) +#define SWPMI_RX_SINGLE_SOFTWAREBUFFER ((uint32_t)0x00000000) +#define SWPMI_RX_MULTI_SOFTWAREBUFFER SWPMI_CR_RXMODE +/** + * @} + */ + +/** @defgroup SWPMI_Flags SWPMI Status Flags + * Elements values convention: 0xXXXXXXXX + * - 0xXXXXXXXX : Flag mask in the ISR register + * @{ + */ +#define SWPMI_FLAG_RXBFF SWPMI_ISR_RXBFF +#define SWPMI_FLAG_TXBEF SWPMI_ISR_TXBEF +#define SWPMI_FLAG_RXBERF SWPMI_ISR_RXBERF +#define SWPMI_FLAG_RXOVRF SWPMI_ISR_RXOVRF +#define SWPMI_FLAG_TXUNRF SWPMI_ISR_TXUNRF +#define SWPMI_FLAG_RXNE SWPMI_ISR_RXNE +#define SWPMI_FLAG_TXE SWPMI_ISR_TXE +#define SWPMI_FLAG_TCF SWPMI_ISR_TCF +#define SWPMI_FLAG_SRF SWPMI_ISR_SRF +#define SWPMI_FLAG_SUSP SWPMI_ISR_SUSP +#define SWPMI_FLAG_DEACTF SWPMI_ISR_DEACTF +#define SWPMI_FLAG_RDYF SWPMI_ISR_RDYF +/** + * @} + */ + +/** @defgroup SWPMI_Interrupt_definition SWPMI Interrupts Definition + * Elements values convention: 0xXXXX + * - 0xXXXX : Flag mask in the IER register + * @{ + */ +#define SWPMI_IT_RDYIE SWPMI_IER_RDYIE +#define SWPMI_IT_SRIE SWPMI_IER_SRIE +#define SWPMI_IT_TCIE SWPMI_IER_TCIE +#define SWPMI_IT_TIE SWPMI_IER_TIE +#define SWPMI_IT_RIE SWPMI_IER_RIE +#define SWPMI_IT_TXUNRIE SWPMI_IER_TXUNRIE +#define SWPMI_IT_RXOVRIE SWPMI_IER_RXOVRIE +#define SWPMI_IT_RXBERIE SWPMI_IER_RXBERIE +#define SWPMI_IT_TXBEIE SWPMI_IER_TXBEIE +#define SWPMI_IT_RXBFIE SWPMI_IER_RXBFIE +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup SWPMI_Exported_Macros SWPMI Exported Macros + * @{ + */ + +/** @brief Reset SWPMI handle state. + * @param __HANDLE__: specifies the SWPMI Handle. + * @retval None + */ +#define __HAL_SWPMI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SWPMI_STATE_RESET) + +/** + * @brief Enable the SWPMI peripheral. + * @param __HANDLE__: SWPMI handle + * @retval None + */ +#define __HAL_SWPMI_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, SWPMI_CR_SWPACT) + +/** + * @brief Disable the SWPMI peripheral. + * @param __HANDLE__: SWPMI handle + * @retval None + */ +#define __HAL_SWPMI_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR, SWPMI_CR_SWPACT) + +/** + * @brief Enable/Disable the SWPMI transceiver. + * @param __HANDLE__: SWPMI handle + * @retval None + */ +#define __HAL_SWPMI_TRANSCEIVER_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, SWPMI_CR_SWPEN) +#define __HAL_SWPMI_TRANSCEIVER_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR, SWPMI_CR_SWPEN) + +/** @brief Check whether the specified SWPMI flag is set or not. + * @param __HANDLE__: specifies the SWPMI Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg SWPMI_FLAG_RXBFF : Receive buffer full flag. + * @arg SWPMI_FLAG_TXBEF : Transmit buffer empty flag. + * @arg SWPMI_FLAG_RXBERF : Receive CRC error flag. + * @arg SWPMI_FLAG_RXOVRF : Receive overrun error flag. + * @arg SWPMI_FLAG_TXUNRF : Transmit underrun error flag. + * @arg SWPMI_FLAG_RXNE : Receive data register not empty. + * @arg SWPMI_FLAG_TXE : Transmit data register empty. + * @arg SWPMI_FLAG_TCF : Transfer complete flag. + * @arg SWPMI_FLAG_SRF : Slave resume flag. + * @arg SWPMI_FLAG_SUSP : SUSPEND flag. + * @arg SWPMI_FLAG_DEACTF : DEACTIVATED flag. + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_SWPMI_GET_FLAG(__HANDLE__, __FLAG__) (READ_BIT((__HANDLE__)->Instance->ISR, (__FLAG__)) == (__FLAG__)) + +/** @brief Clear the specified SWPMI ISR flag. + * @param __HANDLE__: specifies the SWPMI Handle. + * @param __FLAG__: specifies the flag to clear. + * This parameter can be one of the following values: + * @arg SWPMI_FLAG_RXBFF : Receive buffer full flag. + * @arg SWPMI_FLAG_TXBEF : Transmit buffer empty flag. + * @arg SWPMI_FLAG_RXBERF : Receive CRC error flag. + * @arg SWPMI_FLAG_RXOVRF : Receive overrun error flag. + * @arg SWPMI_FLAG_TXUNRF : Transmit underrun error flag. + * @arg SWPMI_FLAG_TCF : Transfer complete flag. + * @arg SWPMI_FLAG_SRF : Slave resume flag. + * @arg SWPMI_FLAG_RDYF: Transceiver ready flag + * @retval None + */ +#define __HAL_SWPMI_CLEAR_FLAG(__HANDLE__, __FLAG__) WRITE_REG((__HANDLE__)->Instance->ICR, (__FLAG__)) + +/** @brief Enable the specified SWPMI interrupt. + * @param __HANDLE__: specifies the SWPMI Handle. + * @param __INTERRUPT__: specifies the SWPMI interrupt source to enable. + * This parameter can be one of the following values: + * @arg SWPMI_IT_SRIE : Slave resume interrupt. + * @arg SWPMI_IT_TCIE : Transmit complete interrupt. + * @arg SWPMI_IT_TIE : Transmit interrupt. + * @arg SWPMI_IT_RIE : Receive interrupt. + * @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt. + * @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt. + * @arg SWPMI_IT_RXBEIE : Receive CRC error interrupt. + * @arg SWPMI_IT_TXBEIE : Transmit buffer empty interrupt. + * @arg SWPMI_IT_RXBFIE : Receive buffer full interrupt. + * @retval None + */ +#define __HAL_SWPMI_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->IER, (__INTERRUPT__)) + +/** @brief Disable the specified SWPMI interrupt. + * @param __HANDLE__: specifies the SWPMI Handle. + * @param __INTERRUPT__: specifies the SWPMI interrupt source to disable. + * This parameter can be one of the following values: + * @arg SWPMI_IT_SRIE : Slave resume interrupt. + * @arg SWPMI_IT_TCIE : Transmit complete interrupt. + * @arg SWPMI_IT_TIE : Transmit interrupt. + * @arg SWPMI_IT_RIE : Receive interrupt. + * @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt. + * @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt. + * @arg SWPMI_IT_RXBEIE : Receive CRC error interrupt. + * @arg SWPMI_IT_TXBEIE : Transmit buffer empty interrupt. + * @arg SWPMI_IT_RXBFIE : Receive buffer full interrupt. + * @retval None + */ +#define __HAL_SWPMI_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->IER, (__INTERRUPT__)) + +/** @brief Check whether the specified SWPMI interrupt has occurred or not. + * @param __HANDLE__: specifies the SWPMI Handle. + * @param __IT__: specifies the SWPMI interrupt to check. + * This parameter can be one of the following values: + * @arg SWPMI_IT_SRIE : Slave resume interrupt. + * @arg SWPMI_IT_TCIE : Transmit complete interrupt. + * @arg SWPMI_IT_TIE : Transmit interrupt. + * @arg SWPMI_IT_RIE : Receive interrupt. + * @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt. + * @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt. + * @arg SWPMI_IT_RXBERIE : Receive CRC error interrupt. + * @arg SWPMI_IT_TXBEIE : Transmit buffer empty interrupt. + * @arg SWPMI_IT_RXBFIE : Receive buffer full interrupt. + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_SWPMI_GET_IT(__HANDLE__, __IT__) (READ_BIT((__HANDLE__)->Instance->ISR,(__IT__)) == (__IT__)) + +/** @brief Check whether the specified SWPMI interrupt source is enabled or not. + * @param __HANDLE__: specifies the SWPMI Handle. + * @param __IT__: specifies the SWPMI interrupt source to check. + * This parameter can be one of the following values: + * @arg SWPMI_IT_SRIE : Slave resume interrupt. + * @arg SWPMI_IT_TCIE : Transmit complete interrupt. + * @arg SWPMI_IT_TIE : Transmit interrupt. + * @arg SWPMI_IT_RIE : Receive interrupt. + * @arg SWPMI_IT_TXUNRIE : Transmit underrun error interrupt. + * @arg SWPMI_IT_RXOVRIE : Receive overrun error interrupt. + * @arg SWPMI_IT_RXBERIE : Receive CRC error interrupt. + * @arg SWPMI_IT_TXBEIE : Transmit buffer empty interrupt. + * @arg SWPMI_IT_RXBFIE : Receive buffer full interrupt. + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_SWPMI_GET_IT_SOURCE(__HANDLE__, __IT__) ((READ_BIT((__HANDLE__)->Instance->IER, (__IT__)) == (__IT__)) ? SET : RESET) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup SWPMI_Exported_Functions SWPMI Exported Functions + * @{ + */ +/* Initialization/de-initialization functions ********************************/ +HAL_StatusTypeDef HAL_SWPMI_Init(SWPMI_HandleTypeDef *hswpmi); +HAL_StatusTypeDef HAL_SWPMI_DeInit(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_MspInit(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_MspDeInit(SWPMI_HandleTypeDef *hswpmi); + +/* IO operation functions *****************************************************/ +HAL_StatusTypeDef HAL_SWPMI_Transmit(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SWPMI_Receive(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_SWPMI_Transmit_IT(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SWPMI_Receive_IT(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SWPMI_Transmit_DMA(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SWPMI_Receive_DMA(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_SWPMI_DMAStop(SWPMI_HandleTypeDef *hswpmi); +HAL_StatusTypeDef HAL_SWPMI_EnableLoopback(SWPMI_HandleTypeDef *hswpmi); +HAL_StatusTypeDef HAL_SWPMI_DisableLoopback(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_IRQHandler(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_TxCpltCallback(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_TxHalfCpltCallback(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_RxCpltCallback(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_RxHalfCpltCallback(SWPMI_HandleTypeDef *hswpmi); +void HAL_SWPMI_ErrorCallback(SWPMI_HandleTypeDef *hswpmi); + +/* Peripheral Control and State functions ************************************/ +HAL_SWPMI_StateTypeDef HAL_SWPMI_GetState(SWPMI_HandleTypeDef *hswpmi); +uint32_t HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi); + +/** + * @} + */ + +/* Private types -------------------------------------------------------------*/ +/** @defgroup SWPMI_Private_Types SWPMI Private Types + * @{ + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/** @defgroup SWPMI_Private_Variables SWPMI Private Variables + * @{ + */ + +/** + * @} + */ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup SWPMI_Private_Constants SWPMI Private Constants + * @{ + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup SWPMI_Private_Macros SWPMI Private Macros + * @{ + */ + + +#define IS_SWPMI_VOLTAGE_CLASS(__CLASS__) (((__CLASS__) == SWPMI_VOLTAGE_CLASS_C) || \ + ((__CLASS__) == SWPMI_VOLTAGE_CLASS_B)) + +#define IS_SWPMI_BITRATE_VALUE(__VALUE__) (((__VALUE__) <= 63)) + + +#define IS_SWPMI_TX_BUFFERING_MODE(__MODE__) (((__MODE__) == SWPMI_TX_NO_SOFTWAREBUFFER) || \ + ((__MODE__) == SWPMI_TX_MULTI_SOFTWAREBUFFER)) + + +#define IS_SWPMI_RX_BUFFERING_MODE(__MODE__) (((__MODE__) == SWPMI_RX_NO_SOFTWAREBUFFER) || \ + ((__MODE__) == SWPMI_RX_MULTI_SOFTWAREBUFFER)) + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_SWPMI_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h new file mode 100644 index 0000000000..bea734cf27 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h @@ -0,0 +1,1917 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_tim.h + * @author MCD Application Team + * @brief Header file of TIM HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_TIM_H +#define __STM32H7xx_HAL_TIM_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup TIM + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup TIM_Exported_Types TIM Exported Types + * @{ + */ + +/** + * @brief TIM Time base Configuration Structure definition + */ +typedef struct +{ + uint32_t Prescaler; /*!< Specifies the prescaler value used to divide the TIM clock. + This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF */ + + uint32_t CounterMode; /*!< Specifies the counter mode. + This parameter can be a value of @ref TIM_Counter_Mode */ + + uint32_t Period; /*!< Specifies the period value to be loaded into the active + Auto-Reload Register at the next update event. + This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */ + + uint32_t ClockDivision; /*!< Specifies the clock division. + This parameter can be a value of @ref TIM_ClockDivision */ + + uint32_t RepetitionCounter; /*!< Specifies the repetition counter value. Each time the RCR down-counter + reaches zero, an update event is generated and counting restarts + from the RCR value (N). + This means in PWM mode that (N+1) corresponds to: + - the number of PWM periods in edge-aligned mode + - the number of half PWM period in center-aligned mode + This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. + @note This parameter is valid only for TIM1 and TIM8. */ + uint32_t AutoReloadPreload; /*!< Specifies the auto-reload preload. + This parameter can be a value of @ref TIM_AutoReloadPreload */ +} TIM_Base_InitTypeDef; + +/** + * @brief TIM Output Compare Configuration Structure definition + */ +typedef struct +{ + uint32_t OCMode; /*!< Specifies the TIM mode. + This parameter can be a value of @ref TIMEx_Output_Compare_and_PWM_modes */ + + uint32_t Pulse; /*!< Specifies the pulse value to be loaded into the Capture Compare Register. + This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF */ + + uint32_t OCPolarity; /*!< Specifies the output polarity. + This parameter can be a value of @ref TIM_Output_Compare_Polarity */ + + uint32_t OCNPolarity; /*!< Specifies the complementary output polarity. + This parameter can be a value of @ref TIM_Output_Compare_N_Polarity + @note This parameter is valid only for TIM1 and TIM8. */ + + uint32_t OCFastMode; /*!< Specifies the Fast mode state. + This parameter can be a value of @ref TIM_Output_Fast_State + @note This parameter is valid only in PWM1 and PWM2 mode. */ + + + uint32_t OCIdleState; /*!< Specifies the TIM Output Compare pin state during Idle state. + This parameter can be a value of @ref TIM_Output_Compare_Idle_State + @note This parameter is valid only for TIM1 and TIM8. */ + + uint32_t OCNIdleState; /*!< Specifies the TIM Output Compare pin state during Idle state. + This parameter can be a value of @ref TIM_Output_Compare_N_Idle_State + @note This parameter is valid only for TIM1 and TIM8. */ +} TIM_OC_InitTypeDef; + +/** + * @brief TIM One Pulse Mode Configuration Structure definition + */ +typedef struct +{ + uint32_t OCMode; /*!< Specifies the TIM mode. + This parameter can be a value of @ref TIMEx_Output_Compare_and_PWM_modes */ + + uint32_t Pulse; /*!< Specifies the pulse value to be loaded into the Capture Compare Register. + This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF */ + + uint32_t OCPolarity; /*!< Specifies the output polarity. + This parameter can be a value of @ref TIM_Output_Compare_Polarity */ + + uint32_t OCNPolarity; /*!< Specifies the complementary output polarity. + This parameter can be a value of @ref TIM_Output_Compare_N_Polarity + @note This parameter is valid only for TIM1 and TIM8. */ + + uint32_t OCIdleState; /*!< Specifies the TIM Output Compare pin state during Idle state. + This parameter can be a value of @ref TIM_Output_Compare_Idle_State + @note This parameter is valid only for TIM1 and TIM8. */ + + uint32_t OCNIdleState; /*!< Specifies the TIM Output Compare pin state during Idle state. + This parameter can be a value of @ref TIM_Output_Compare_N_Idle_State + @note This parameter is valid only for TIM1 and TIM8. */ + + uint32_t ICPolarity; /*!< Specifies the active edge of the input signal. + This parameter can be a value of @ref TIM_Input_Capture_Polarity */ + + uint32_t ICSelection; /*!< Specifies the input. + This parameter can be a value of @ref TIM_Input_Capture_Selection */ + + uint32_t ICFilter; /*!< Specifies the input capture filter. + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ +} TIM_OnePulse_InitTypeDef; + + +/** + * @brief TIM Input Capture Configuration Structure definition + */ +typedef struct +{ + uint32_t ICPolarity; /*!< Specifies the active edge of the input signal. + This parameter can be a value of @ref TIM_Input_Capture_Polarity */ + + uint32_t ICSelection; /*!< Specifies the input. + This parameter can be a value of @ref TIM_Input_Capture_Selection */ + + uint32_t ICPrescaler; /*!< Specifies the Input Capture Prescaler. + This parameter can be a value of @ref TIM_Input_Capture_Prescaler */ + + uint32_t ICFilter; /*!< Specifies the input capture filter. + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ +} TIM_IC_InitTypeDef; + +/** + * @brief TIM Encoder Configuration Structure definition + */ +typedef struct +{ + uint32_t EncoderMode; /*!< Specifies the active edge of the input signal. + This parameter can be a value of @ref TIM_Encoder_Mode */ + + uint32_t IC1Polarity; /*!< Specifies the active edge of the input signal. + This parameter can be a value of @ref TIM_Input_Capture_Polarity */ + + uint32_t IC1Selection; /*!< Specifies the input. + This parameter can be a value of @ref TIM_Input_Capture_Selection */ + + uint32_t IC1Prescaler; /*!< Specifies the Input Capture Prescaler. + This parameter can be a value of @ref TIM_Input_Capture_Prescaler */ + + uint32_t IC1Filter; /*!< Specifies the input capture filter. + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ + + uint32_t IC2Polarity; /*!< Specifies the active edge of the input signal. + This parameter can be a value of @ref TIM_Input_Capture_Polarity */ + + uint32_t IC2Selection; /*!< Specifies the input. + This parameter can be a value of @ref TIM_Input_Capture_Selection */ + + uint32_t IC2Prescaler; /*!< Specifies the Input Capture Prescaler. + This parameter can be a value of @ref TIM_Input_Capture_Prescaler */ + + uint32_t IC2Filter; /*!< Specifies the input capture filter. + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ +} TIM_Encoder_InitTypeDef; + + +/** + * @brief Clock Configuration Handle Structure definition + */ +typedef struct +{ + uint32_t ClockSource; /*!< TIM clock sources + This parameter can be a value of @ref TIM_Clock_Source */ + uint32_t ClockPolarity; /*!< TIM clock polarity + This parameter can be a value of @ref TIM_Clock_Polarity */ + uint32_t ClockPrescaler; /*!< TIM clock prescaler + This parameter can be a value of @ref TIM_Clock_Prescaler */ + uint32_t ClockFilter; /*!< TIM clock filter + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ +}TIM_ClockConfigTypeDef; + +/** + * @brief Clear Input Configuration Handle Structure definition + */ +typedef struct +{ + uint32_t ClearInputState; /*!< TIM clear Input state + This parameter can be ENABLE or DISABLE */ + uint32_t ClearInputSource; /*!< TIM clear Input sources + This parameter can be a value of @ref TIMEx_ClearInput_Source */ + uint32_t ClearInputPolarity; /*!< TIM Clear Input polarity + This parameter can be a value of @ref TIM_ClearInput_Polarity */ + uint32_t ClearInputPrescaler; /*!< TIM Clear Input prescaler + This parameter can be a value of @ref TIM_ClearInput_Prescaler */ + uint32_t ClearInputFilter; /*!< TIM Clear Input filter + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ +}TIM_ClearInputConfigTypeDef; + +/** + * @brief TIM Master configuration Structure definition + * @note Advanced timers provide TRGO2 internal line which is redirected + * to the ADC + */ +typedef struct { + uint32_t MasterOutputTrigger; /*!< Trigger output (TRGO) selection + This parameter can be a value of @ref TIM_Master_Mode_Selection */ + uint32_t MasterOutputTrigger2; /*!< Trigger output2 (TRGO2) selection + This parameter can be a value of @ref TIM_Master_Mode_Selection_2 */ + uint32_t MasterSlaveMode; /*!< Master/slave mode selection + This parameter can be a value of @ref TIM_Master_Slave_Mode */ +}TIM_MasterConfigTypeDef; + +/** + * @brief TIM Slave configuration Structure definition + */ +typedef struct { + uint32_t SlaveMode; /*!< Slave mode selection + This parameter can be a value of @ref TIM_Slave_Mode */ + uint32_t InputTrigger; /*!< Input Trigger source + This parameter can be a value of @ref TIM_Trigger_Selection */ + uint32_t TriggerPolarity; /*!< Input Trigger polarity + This parameter can be a value of @ref TIM_Trigger_Polarity */ + uint32_t TriggerPrescaler; /*!< Input trigger prescaler + This parameter can be a value of @ref TIM_Trigger_Prescaler */ + uint32_t TriggerFilter; /*!< Input trigger filter + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ + +}TIM_SlaveConfigTypeDef; + +/** + * @brief TIM Break input(s) and Dead time configuration Structure definition + * @note 2 break inputs can be configured (BKIN and BKIN2) with configurable + * filter and polarity. + */ +typedef struct +{ + uint32_t OffStateRunMode; /*!< TIM off state in run mode + This parameter can be a value of @ref TIM_OSSR_Off_State_Selection_for_Run_mode_state */ + uint32_t OffStateIDLEMode; /*!< TIM off state in IDLE mode + This parameter can be a value of @ref TIM_OSSI_Off_State_Selection_for_Idle_mode_state */ + uint32_t LockLevel; /*!< TIM Lock level + This parameter can be a value of @ref TIM_Lock_level */ + uint32_t DeadTime; /*!< TIM dead Time + This parameter can be a number between Min_Data = 0x00 and Max_Data = 0xFF */ + uint32_t BreakState; /*!< TIM Break State + This parameter can be a value of @ref TIM_Break_Input_enable_disable */ + uint32_t BreakPolarity; /*!< TIM Break input polarity + This parameter can be a value of @ref TIM_Break_Polarity */ + uint32_t BreakFilter; /*!< Specifies the break input filter. + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ + uint32_t Break2State; /*!< TIM Break2 State + This parameter can be a value of @ref TIMEx_Break2_Input_enable_disable */ + uint32_t Break2Polarity; /*!< TIM Break2 input polarity + This parameter can be a value of @ref TIMEx_Break2_Polarity */ + uint32_t Break2Filter; /*!< TIM break2 input filter. + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ + uint32_t AutomaticOutput; /*!< TIM Automatic Output Enable state + This parameter can be a value of @ref TIM_AOE_Bit_Set_Reset */ +} TIM_BreakDeadTimeConfigTypeDef; + +/** + * @brief HAL State structures definition + */ +typedef enum +{ + HAL_TIM_STATE_RESET = 0x00U, /*!< Peripheral not yet initialized or disabled */ + HAL_TIM_STATE_READY = 0x01U, /*!< Peripheral Initialized and ready for use */ + HAL_TIM_STATE_BUSY = 0x02U, /*!< An internal process is ongoing */ + HAL_TIM_STATE_TIMEOUT = 0x03U, /*!< Timeout state */ + HAL_TIM_STATE_ERROR = 0x04U /*!< Reception process is ongoing */ +}HAL_TIM_StateTypeDef; + +/** + * @brief HAL Active channel structures definition + */ +typedef enum +{ + HAL_TIM_ACTIVE_CHANNEL_1 = 0x01U, /*!< The active channel is 1 */ + HAL_TIM_ACTIVE_CHANNEL_2 = 0x02U, /*!< The active channel is 2 */ + HAL_TIM_ACTIVE_CHANNEL_3 = 0x04U, /*!< The active channel is 3 */ + HAL_TIM_ACTIVE_CHANNEL_4 = 0x08U, /*!< The active channel is 4 */ + HAL_TIM_ACTIVE_CHANNEL_5 = 0x10U, /*!< The active channel is 5 */ + HAL_TIM_ACTIVE_CHANNEL_6 = 0x20U, /*!< The active channel is 6 */ + HAL_TIM_ACTIVE_CHANNEL_CLEARED = 0x00U /*!< All active channels cleared */ +}HAL_TIM_ActiveChannel; + +/** + * @brief TIM Time Base Handle Structure definition + */ +typedef struct +{ + TIM_TypeDef *Instance; /*!< Register base address */ + TIM_Base_InitTypeDef Init; /*!< TIM Time Base required parameters */ + HAL_TIM_ActiveChannel Channel; /*!< Active channel */ + DMA_HandleTypeDef *hdma[7]; /*!< DMA Handlers array This array is accessed by a @ref DMA_Handle_index */ + HAL_LockTypeDef Lock; /*!< Locking object */ + __IO HAL_TIM_StateTypeDef State; /*!< TIM operation state */ +}TIM_HandleTypeDef; + +/** + * @} + */ +/* End of exported types -----------------------------------------------------*/ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup TIM_Exported_Constants TIM Exported Constants + * @{ + */ + +/** @defgroup TIM_Event_Source TIM Extended Event Source + * @{ + */ +#define TIM_EVENTSOURCE_UPDATE TIM_EGR_UG /*!< Reinitialize the counter and generates an update of the registers */ +#define TIM_EVENTSOURCE_CC1 TIM_EGR_CC1G /*!< A capture/compare event is generated on channel 1 */ +#define TIM_EVENTSOURCE_CC2 TIM_EGR_CC2G /*!< A capture/compare event is generated on channel 2 */ +#define TIM_EVENTSOURCE_CC3 TIM_EGR_CC3G /*!< A capture/compare event is generated on channel 3 */ +#define TIM_EVENTSOURCE_CC4 TIM_EGR_CC4G /*!< A capture/compare event is generated on channel 4 */ +#define TIM_EVENTSOURCE_COM TIM_EGR_COMG /*!< A commutation event is generated */ +#define TIM_EVENTSOURCE_TRIGGER TIM_EGR_TG /*!< A trigger event is generated */ +#define TIM_EVENTSOURCE_BREAK TIM_EGR_BG /*!< A break event is generated */ +#define TIM_EVENTSOURCE_BREAK2 TIM_EGR_B2G /*!< A break 2 event is generated */ +/** + * @} + */ + +/** @defgroup TIM_Input_Channel_Polarity TIM Input Channel polarity + * @{ + */ +#define TIM_INPUTCHANNELPOLARITY_RISING ((uint32_t)0x00000000U) /*!< Polarity for TIx source */ +#define TIM_INPUTCHANNELPOLARITY_FALLING (TIM_CCER_CC1P) /*!< Polarity for TIx source */ +#define TIM_INPUTCHANNELPOLARITY_BOTHEDGE (TIM_CCER_CC1P | TIM_CCER_CC1NP) /*!< Polarity for TIx source */ +/** + * @} + */ + +/** @defgroup TIM_ETR_Polarity TIM ETR Polarity + * @{ + */ +#define TIM_ETRPOLARITY_INVERTED (TIM_SMCR_ETP) /*!< Polarity for ETR source */ +#define TIM_ETRPOLARITY_NONINVERTED ((uint32_t)0x0000U) /*!< Polarity for ETR source */ +/** + * @} + */ + +/** @defgroup TIM_ETR_Prescaler TIM ETR Prescaler + * @{ + */ +#define TIM_ETRPRESCALER_DIV1 ((uint32_t)0x0000U) /*!< No prescaler is used */ +#define TIM_ETRPRESCALER_DIV2 (TIM_SMCR_ETPS_0) /*!< ETR input source is divided by 2 */ +#define TIM_ETRPRESCALER_DIV4 (TIM_SMCR_ETPS_1) /*!< ETR input source is divided by 4 */ +#define TIM_ETRPRESCALER_DIV8 (TIM_SMCR_ETPS) /*!< ETR input source is divided by 8 */ +/** + * @} + */ + +/** @defgroup TIM_Counter_Mode TIM Counter Mode + * @{ + */ + +#define TIM_COUNTERMODE_UP ((uint32_t)0x0000U) /*!< Up counting mode */ +#define TIM_COUNTERMODE_DOWN TIM_CR1_DIR /*!< Down counting mode */ +#define TIM_COUNTERMODE_CENTERALIGNED1 TIM_CR1_CMS_0 /*!< Center-aligned counting mode 1 */ +#define TIM_COUNTERMODE_CENTERALIGNED2 TIM_CR1_CMS_1 /*!< Center-aligned counting mode 2 */ +#define TIM_COUNTERMODE_CENTERALIGNED3 TIM_CR1_CMS /*!< Center-aligned counting mode 3 */ + +/** + * @} + */ + +/** @defgroup TIM_ClockDivision TIM Clock Division + * @{ + */ + +#define TIM_CLOCKDIVISION_DIV1 ((uint32_t)0x0000U) /*!< Clock Division DIV1 */ +#define TIM_CLOCKDIVISION_DIV2 (TIM_CR1_CKD_0) /*!< Clock Division DIV2 */ +#define TIM_CLOCKDIVISION_DIV4 (TIM_CR1_CKD_1) /*!< Clock Division DIV4 */ + +/** + * @} + */ + +/** @defgroup TIM_Output_Compare_State TIM Output Compare State + * @{ + */ +#define TIM_OUTPUTSTATE_DISABLE ((uint32_t)0x0000U) /*!< Output State disabled */ +#define TIM_OUTPUTSTATE_ENABLE (TIM_CCER_CC1E) /*!< Output State enabled */ + +/** + * @} + */ +/** @defgroup TIM_AutoReloadPreload TIM Auto-Reload Preload + * @{ + */ +#define TIM_AUTORELOAD_PRELOAD_DISABLE ((uint32_t)0x0000U) /*!< TIMx_ARR register is not buffered */ +#define TIM_AUTORELOAD_PRELOAD_ENABLE (TIM_CR1_ARPE) /*!< TIMx_ARR register is buffered */ + +/** + * @} + */ + +/** @defgroup TIM_Output_Fast_State TIM Output Fast State + * @{ + */ +#define TIM_OCFAST_DISABLE ((uint32_t)0x0000U) +#define TIM_OCFAST_ENABLE (TIM_CCMR1_OC1FE) + +/** + * @} + */ + +/** @defgroup TIM_Output_Compare_Polarity TIM Output Compare Polarity + * @{ + */ + +#define TIM_OCPOLARITY_HIGH ((uint32_t)0x0000U) +#define TIM_OCPOLARITY_LOW (TIM_CCER_CC1P) + +/** + * @} + */ + +/** @defgroup TIM_Output_Compare_N_Polarity TIM Complementary Output Compare Polarity + * @{ + */ + +#define TIM_OCNPOLARITY_HIGH ((uint32_t)0x0000U) +#define TIM_OCNPOLARITY_LOW (TIM_CCER_CC1NP) + +/** + * @} + */ + +/** @defgroup TIM_Output_Compare_Idle_State TIM Output Compare Idle State + * @{ + */ + +#define TIM_OCIDLESTATE_SET (TIM_CR2_OIS1) +#define TIM_OCIDLESTATE_RESET ((uint32_t)0x0000U) + +/** + * @} + */ + +/** @defgroup TIM_Output_Compare_N_Idle_State TIM Complementary Output Compare Idle State + * @{ + */ + +#define TIM_OCNIDLESTATE_SET (TIM_CR2_OIS1N) +#define TIM_OCNIDLESTATE_RESET ((uint32_t)0x0000U) + +/** + * @} + */ + + + +/** @defgroup TIM_Input_Capture_Polarity TIM Input Capture Polarity + * @{ + */ + +#define TIM_ICPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING +#define TIM_ICPOLARITY_FALLING TIM_INPUTCHANNELPOLARITY_FALLING +#define TIM_ICPOLARITY_BOTHEDGE TIM_INPUTCHANNELPOLARITY_BOTHEDGE + +/** + * @} + */ + +/** @defgroup TIM_Input_Capture_Selection TIM Input Capture Selection + * @{ + */ + +#define TIM_ICSELECTION_DIRECTTI (TIM_CCMR1_CC1S_0) /*!< TIM Input 1, 2, 3 or 4 is selected to be + connected to IC1, IC2, IC3 or IC4, respectively */ +#define TIM_ICSELECTION_INDIRECTTI (TIM_CCMR1_CC1S_1) /*!< TIM Input 1, 2, 3 or 4 is selected to be + connected to IC2, IC1, IC4 or IC3, respectively */ +#define TIM_ICSELECTION_TRC (TIM_CCMR1_CC1S) /*!< TIM Input 1, 2, 3 or 4 is selected to be connected to TRC */ + +/** + * @} + */ + +/** @defgroup TIM_Input_Capture_Prescaler TIM Input Capture Prescaler + * @{ + */ + +#define TIM_ICPSC_DIV1 ((uint32_t)0x0000U) /*!< Capture performed each time an edge is detected on the capture input */ +#define TIM_ICPSC_DIV2 (TIM_CCMR1_IC1PSC_0) /*!< Capture performed once every 2 events */ +#define TIM_ICPSC_DIV4 (TIM_CCMR1_IC1PSC_1) /*!< Capture performed once every 4 events */ +#define TIM_ICPSC_DIV8 (TIM_CCMR1_IC1PSC) /*!< Capture performed once every 8 events */ + +/** + * @} + */ + +/** @defgroup TIM_One_Pulse_Mode TIM One Pulse Mode + * @{ + */ + +#define TIM_OPMODE_SINGLE (TIM_CR1_OPM) +#define TIM_OPMODE_REPETITIVE ((uint32_t)0x0000U) + +/** + * @} + */ +/** @defgroup TIM_Encoder_Mode TIM Encoder Mode + * @{ + */ +#define TIM_ENCODERMODE_TI1 (TIM_SMCR_SMS_0) +#define TIM_ENCODERMODE_TI2 (TIM_SMCR_SMS_1) +#define TIM_ENCODERMODE_TI12 (TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0) + +/** + * @} + */ +/** @defgroup TIM_Interrupt_definition TIM interrupt Definition + * @{ + */ +#define TIM_IT_UPDATE (TIM_DIER_UIE) +#define TIM_IT_CC1 (TIM_DIER_CC1IE) +#define TIM_IT_CC2 (TIM_DIER_CC2IE) +#define TIM_IT_CC3 (TIM_DIER_CC3IE) +#define TIM_IT_CC4 (TIM_DIER_CC4IE) +#define TIM_IT_COM (TIM_DIER_COMIE) +#define TIM_IT_TRIGGER (TIM_DIER_TIE) +#define TIM_IT_BREAK (TIM_DIER_BIE) + +/** + * @} + */ +/** @defgroup TIM_Commutation_Source TIM Commutation Source + * @{ + */ +#define TIM_COMMUTATION_TRGI (TIM_CR2_CCUS) +#define TIM_COMMUTATION_SOFTWARE ((uint32_t)0x0000U) + +/** + * @} + */ + +/** @defgroup TIM_DMA_sources TIM DMA Sources + * @{ + */ + +#define TIM_DMA_UPDATE (TIM_DIER_UDE) +#define TIM_DMA_CC1 (TIM_DIER_CC1DE) +#define TIM_DMA_CC2 (TIM_DIER_CC2DE) +#define TIM_DMA_CC3 (TIM_DIER_CC3DE) +#define TIM_DMA_CC4 (TIM_DIER_CC4DE) +#define TIM_DMA_COM (TIM_DIER_COMDE) +#define TIM_DMA_TRIGGER (TIM_DIER_TDE) + +/** + * @} + */ + +/** @defgroup TIM_Flag_definition TIM Flag Definition + * @{ + */ + +#define TIM_FLAG_UPDATE (TIM_SR_UIF) +#define TIM_FLAG_CC1 (TIM_SR_CC1IF) +#define TIM_FLAG_CC2 (TIM_SR_CC2IF) +#define TIM_FLAG_CC3 (TIM_SR_CC3IF) +#define TIM_FLAG_CC4 (TIM_SR_CC4IF) +#define TIM_FLAG_CC5 (TIM_SR_CC5IF) +#define TIM_FLAG_CC6 (TIM_SR_CC6IF) +#define TIM_FLAG_COM (TIM_SR_COMIF) +#define TIM_FLAG_TRIGGER (TIM_SR_TIF) +#define TIM_FLAG_BREAK (TIM_SR_BIF) +#define TIM_FLAG_BREAK2 (TIM_SR_B2IF) +#define TIM_FLAG_SYSTEM_BREAK (TIM_SR_SBIF) +#define TIM_FLAG_CC1OF (TIM_SR_CC1OF) +#define TIM_FLAG_CC2OF (TIM_SR_CC2OF) +#define TIM_FLAG_CC3OF (TIM_SR_CC3OF) +#define TIM_FLAG_CC4OF (TIM_SR_CC4OF) + +/** + * @} + */ + +/** @defgroup TIM_Clock_Source TIM Clock Source + * @{ + */ +#define TIM_CLOCKSOURCE_ETRMODE2 (TIM_SMCR_ETPS_1) +#define TIM_CLOCKSOURCE_INTERNAL (TIM_SMCR_ETPS_0) +#define TIM_CLOCKSOURCE_ITR0 ((uint32_t)0x0000U) +#define TIM_CLOCKSOURCE_ITR1 (TIM_SMCR_TS_0) +#define TIM_CLOCKSOURCE_ITR2 (TIM_SMCR_TS_1) +#define TIM_CLOCKSOURCE_ITR3 (TIM_SMCR_TS_0 | TIM_SMCR_TS_1) +#define TIM_CLOCKSOURCE_TI1ED (TIM_SMCR_TS_2) +#define TIM_CLOCKSOURCE_TI1 (TIM_SMCR_TS_0 | TIM_SMCR_TS_2) +#define TIM_CLOCKSOURCE_TI2 (TIM_SMCR_TS_1 | TIM_SMCR_TS_2) +#define TIM_CLOCKSOURCE_ETRMODE1 (TIM_SMCR_TS_0 | TIM_SMCR_TS_1 | TIM_SMCR_TS_2) + +/** + * @} + */ + +/** @defgroup TIM_Clock_Polarity TIM Clock Polarity + * @{ + */ +#define TIM_CLOCKPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED /*!< Polarity for ETRx clock sources */ +#define TIM_CLOCKPOLARITY_NONINVERTED TIM_ETRPOLARITY_NONINVERTED /*!< Polarity for ETRx clock sources */ +#define TIM_CLOCKPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING /*!< Polarity for TIx clock sources */ +#define TIM_CLOCKPOLARITY_FALLING TIM_INPUTCHANNELPOLARITY_FALLING /*!< Polarity for TIx clock sources */ +#define TIM_CLOCKPOLARITY_BOTHEDGE TIM_INPUTCHANNELPOLARITY_BOTHEDGE /*!< Polarity for TIx clock sources */ + +/** + * @} + */ +/** @defgroup TIM_Clock_Prescaler TIM Clock Prescaler + * @{ + */ +#define TIM_CLOCKPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1 /*!< No prescaler is used */ +#define TIM_CLOCKPRESCALER_DIV2 TIM_ETRPRESCALER_DIV2 /*!< Prescaler for External ETR Clock: Capture performed once every 2 events. */ +#define TIM_CLOCKPRESCALER_DIV4 TIM_ETRPRESCALER_DIV4 /*!< Prescaler for External ETR Clock: Capture performed once every 4 events. */ +#define TIM_CLOCKPRESCALER_DIV8 TIM_ETRPRESCALER_DIV8 /*!< Prescaler for External ETR Clock: Capture performed once every 8 events. */ + +/** + * @} + */ + +/** @defgroup TIM_ClearInput_Polarity TIM Clear Input Polarity + * @{ + */ +#define TIM_CLEARINPUTPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED /*!< Polarity for ETRx pin */ +#define TIM_CLEARINPUTPOLARITY_NONINVERTED TIM_ETRPOLARITY_NONINVERTED /*!< Polarity for ETRx pin */ + +/** + * @} + */ + +/** @defgroup TIM_ClearInput_Prescaler TIM Clear Input Prescaler + * @{ + */ +#define TIM_CLEARINPUTPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1 /*!< No prescaler is used */ +#define TIM_CLEARINPUTPRESCALER_DIV2 TIM_ETRPRESCALER_DIV2 /*!< Prescaler for External ETR pin: Capture performed once every 2 events. */ +#define TIM_CLEARINPUTPRESCALER_DIV4 TIM_ETRPRESCALER_DIV4 /*!< Prescaler for External ETR pin: Capture performed once every 4 events. */ +#define TIM_CLEARINPUTPRESCALER_DIV8 TIM_ETRPRESCALER_DIV8 /*!< Prescaler for External ETR pin: Capture performed once every 8 events. */ + +/** + * @} + */ + +/** @defgroup TIM_OSSR_Off_State_Selection_for_Run_mode_state TIM Off-state Selection for Run Mode + * @{ + */ +#define TIM_OSSR_ENABLE (TIM_BDTR_OSSR) +#define TIM_OSSR_DISABLE ((uint32_t)0x0000U) + +/** + * @} + */ + +/** @defgroup TIM_OSSI_Off_State_Selection_for_Idle_mode_state TIM Off-state Selection for Idle Mode + * @{ + */ +#define TIM_OSSI_ENABLE (TIM_BDTR_OSSI) +#define TIM_OSSI_DISABLE ((uint32_t)0x0000U) + +/** + * @} + */ +/** @defgroup TIM_Lock_level TIM Lock Configuration + * @{ + */ +#define TIM_LOCKLEVEL_OFF ((uint32_t)0x0000U) +#define TIM_LOCKLEVEL_1 (TIM_BDTR_LOCK_0) +#define TIM_LOCKLEVEL_2 (TIM_BDTR_LOCK_1) +#define TIM_LOCKLEVEL_3 (TIM_BDTR_LOCK) + +/** + * @} + */ +/** @defgroup TIM_Break_Input_enable_disable TIM Break Input Enable + * @{ + */ +#define TIM_BREAK_ENABLE (TIM_BDTR_BKE) +#define TIM_BREAK_DISABLE ((uint32_t)0x0000U) + +/** + * @} + */ + +/** @defgroup TIM_Break_Polarity TIM Break Input Polarity + * @{ + */ +#define TIM_BREAKPOLARITY_LOW ((uint32_t)0x0000U) +#define TIM_BREAKPOLARITY_HIGH (TIM_BDTR_BKP) +/** + * @} + */ + +/** @defgroup TIM_AOE_Bit_Set_Reset TIM Automatic Output Enable + * @{ + */ +#define TIM_AUTOMATICOUTPUT_ENABLE (TIM_BDTR_AOE) +#define TIM_AUTOMATICOUTPUT_DISABLE ((uint32_t)0x0000U) + +/** + * @} + */ + + +/** @defgroup TIM_Master_Mode_Selection TIM Master Mode Selection + * @{ + */ +#define TIM_TRGO_RESET ((uint32_t)0x0000U) +#define TIM_TRGO_ENABLE (TIM_CR2_MMS_0) +#define TIM_TRGO_UPDATE (TIM_CR2_MMS_1) +#define TIM_TRGO_OC1 ((TIM_CR2_MMS_1 | TIM_CR2_MMS_0)) +#define TIM_TRGO_OC1REF (TIM_CR2_MMS_2) +#define TIM_TRGO_OC2REF ((TIM_CR2_MMS_2 | TIM_CR2_MMS_0)) +#define TIM_TRGO_OC3REF ((TIM_CR2_MMS_2 | TIM_CR2_MMS_1)) +#define TIM_TRGO_OC4REF ((TIM_CR2_MMS_2 | TIM_CR2_MMS_1 | TIM_CR2_MMS_0)) + +/** + * @} + */ +/** @defgroup TIM_Master_Mode_Selection_2 TIM Master Mode Selection 2 (TRGO2) + * @{ + */ +#define TIM_TRGO2_RESET ((uint32_t)0x00000000U) +#define TIM_TRGO2_ENABLE ((uint32_t)(TIM_CR2_MMS2_0)) +#define TIM_TRGO2_UPDATE ((uint32_t)(TIM_CR2_MMS2_1)) +#define TIM_TRGO2_OC1 ((uint32_t)(TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) +#define TIM_TRGO2_OC1REF ((uint32_t)(TIM_CR2_MMS2_2)) +#define TIM_TRGO2_OC2REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0)) +#define TIM_TRGO2_OC3REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1)) +#define TIM_TRGO2_OC4REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) +#define TIM_TRGO2_OC5REF ((uint32_t)(TIM_CR2_MMS2_3)) +#define TIM_TRGO2_OC6REF ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_0)) +#define TIM_TRGO2_OC4REF_RISINGFALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1)) +#define TIM_TRGO2_OC6REF_RISINGFALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) +#define TIM_TRGO2_OC4REF_RISING_OC6REF_RISING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2)) +#define TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0)) +#define TIM_TRGO2_OC5REF_RISING_OC6REF_RISING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 |TIM_CR2_MMS2_1)) +#define TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) +/** + * @} + */ + +/** @defgroup TIM_Master_Slave_Mode TIM Master/Slave Mode + * @{ + */ + +#define TIM_MASTERSLAVEMODE_ENABLE ((uint32_t)0x0080U) +#define TIM_MASTERSLAVEMODE_DISABLE ((uint32_t)0x0000U) + +/** + * @} + */ + +/** @defgroup TIM_Slave_Mode TIM Slave mode + * @{ + */ +#define TIM_SLAVEMODE_DISABLE ((uint32_t)0x0000U) +#define TIM_SLAVEMODE_RESET ((uint32_t)(TIM_SMCR_SMS_2)) +#define TIM_SLAVEMODE_GATED ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_0)) +#define TIM_SLAVEMODE_TRIGGER ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1)) +#define TIM_SLAVEMODE_EXTERNAL1 ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0)) +#define TIM_SLAVEMODE_COMBINED_RESETTRIGGER ((uint32_t)(TIM_SMCR_SMS_3)) +/** + * @} + */ + +/** @defgroup TIM_Trigger_Selection TIM Trigger Selection + * @{ + */ + +#define TIM_TS_ITR0 ((uint32_t)0x0000U) +#define TIM_TS_ITR1 ((uint32_t)0x0010U) +#define TIM_TS_ITR2 ((uint32_t)0x0020U) +#define TIM_TS_ITR3 ((uint32_t)0x0030U) +#define TIM_TS_TI1F_ED ((uint32_t)0x0040U) +#define TIM_TS_TI1FP1 ((uint32_t)0x0050U) +#define TIM_TS_TI2FP2 ((uint32_t)0x0060U) +#define TIM_TS_ETRF ((uint32_t)0x0070U) +#define TIM_TS_NONE ((uint32_t)0xFFFFU) + +/** + * @} + */ + +/** @defgroup TIM_Trigger_Polarity TIM Trigger Polarity + * @{ + */ +#define TIM_TRIGGERPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED /*!< Polarity for ETRx trigger sources */ +#define TIM_TRIGGERPOLARITY_NONINVERTED TIM_ETRPOLARITY_NONINVERTED /*!< Polarity for ETRx trigger sources */ +#define TIM_TRIGGERPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING /*!< Polarity for TIxFPx or TI1_ED trigger sources */ +#define TIM_TRIGGERPOLARITY_FALLING TIM_INPUTCHANNELPOLARITY_FALLING /*!< Polarity for TIxFPx or TI1_ED trigger sources */ +#define TIM_TRIGGERPOLARITY_BOTHEDGE TIM_INPUTCHANNELPOLARITY_BOTHEDGE /*!< Polarity for TIxFPx or TI1_ED trigger sources */ + +/** + * @} + */ + +/** @defgroup TIM_Trigger_Prescaler TIM Trigger Prescaler + * @{ + */ +#define TIM_TRIGGERPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1 /*!< No prescaler is used */ +#define TIM_TRIGGERPRESCALER_DIV2 TIM_ETRPRESCALER_DIV2 /*!< Prescaler for External ETR Trigger: Capture performed once every 2 events. */ +#define TIM_TRIGGERPRESCALER_DIV4 TIM_ETRPRESCALER_DIV4 /*!< Prescaler for External ETR Trigger: Capture performed once every 4 events. */ +#define TIM_TRIGGERPRESCALER_DIV8 TIM_ETRPRESCALER_DIV8 /*!< Prescaler for External ETR Trigger: Capture performed once every 8 events. */ + +/** + * @} + */ + + /** @defgroup TIM_TI1_Selection TIM TI1 Input Selection + * @{ + */ + +#define TIM_TI1SELECTION_CH1 ((uint32_t)0x0000U) +#define TIM_TI1SELECTION_XORCOMBINATION (TIM_CR2_TI1S) + +/** + * @} + */ + +/** @defgroup TIM_DMA_Burst_Length TIM DMA Burst Length + * @{ + */ +#define TIM_DMABURSTLENGTH_1TRANSFER (0x00000000U) +#define TIM_DMABURSTLENGTH_2TRANSFERS (0x00000100U) +#define TIM_DMABURSTLENGTH_3TRANSFERS (0x00000200U) +#define TIM_DMABURSTLENGTH_4TRANSFERS (0x00000300U) +#define TIM_DMABURSTLENGTH_5TRANSFERS (0x00000400U) +#define TIM_DMABURSTLENGTH_6TRANSFERS (0x00000500U) +#define TIM_DMABURSTLENGTH_7TRANSFERS (0x00000600U) +#define TIM_DMABURSTLENGTH_8TRANSFERS (0x00000700U) +#define TIM_DMABURSTLENGTH_9TRANSFERS (0x00000800U) +#define TIM_DMABURSTLENGTH_10TRANSFERS (0x00000900U) +#define TIM_DMABURSTLENGTH_11TRANSFERS (0x00000A00U) +#define TIM_DMABURSTLENGTH_12TRANSFERS (0x00000B00U) +#define TIM_DMABURSTLENGTH_13TRANSFERS (0x00000C00U) +#define TIM_DMABURSTLENGTH_14TRANSFERS (0x00000D00U) +#define TIM_DMABURSTLENGTH_15TRANSFERS (0x00000E00U) +#define TIM_DMABURSTLENGTH_16TRANSFERS (0x00000F00U) +#define TIM_DMABURSTLENGTH_17TRANSFERS (0x00001000U) +#define TIM_DMABURSTLENGTH_18TRANSFERS (0x00001100U) + +/** + * @} + */ + +/** @defgroup DMA_Handle_index TIM DMA Handle Index + * @{ + */ +#define TIM_DMA_ID_UPDATE ((uint16_t) 0x0U) /*!< Index of the DMA handle used for Update DMA requests */ +#define TIM_DMA_ID_CC1 ((uint16_t) 0x1U) /*!< Index of the DMA handle used for Capture/Compare 1 DMA requests */ +#define TIM_DMA_ID_CC2 ((uint16_t) 0x2U) /*!< Index of the DMA handle used for Capture/Compare 2 DMA requests */ +#define TIM_DMA_ID_CC3 ((uint16_t) 0x3U) /*!< Index of the DMA handle used for Capture/Compare 3 DMA requests */ +#define TIM_DMA_ID_CC4 ((uint16_t) 0x4U) /*!< Index of the DMA handle used for Capture/Compare 4 DMA requests */ +#define TIM_DMA_ID_COMMUTATION ((uint16_t) 0x5U) /*!< Index of the DMA handle used for Commutation DMA requests */ +#define TIM_DMA_ID_TRIGGER ((uint16_t) 0x6U) /*!< Index of the DMA handle used for Trigger DMA requests */ +/** + * @} + */ + +/** @defgroup Channel_CC_State TIM Capture/Compare Channel State + * @{ + */ +#define TIM_CCx_ENABLE ((uint32_t)0x0001U) +#define TIM_CCx_DISABLE ((uint32_t)0x0000U) +#define TIM_CCxN_ENABLE ((uint32_t)0x0004U) +#define TIM_CCxN_DISABLE ((uint32_t)0x0000U) +/** + * @} + */ + +/** + * @} + */ +/* End of exported constants -------------------------------------------------*/ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup TIM_Exported_Macros TIM Exported Macros + * @{ + */ + +/** @brief Reset TIM handle state + * @param __HANDLE__: TIM handle. + * @retval None + */ +#define __HAL_TIM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_TIM_STATE_RESET) + +/** + * @brief Enable the TIM peripheral. + * @param __HANDLE__: TIM handle + * @retval None + */ +#define __HAL_TIM_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1|=(TIM_CR1_CEN)) + +/** + * @brief Set the Update Request Source (URS) bit of the TIMx_CR1 register. + * @param __HANDLE__: TIM handle. + * @note When the USR bit of the TIMx_CR1 register is set, only counter + * overflow/underflow generates an update interrupt or DMA request (if + * enabled) + * @retval None + */ +#define __HAL_TIM_URS_ENABLE(__HANDLE__) \ + ((__HANDLE__)->Instance->CR1|= (TIM_CR1_URS)) +/** + * @brief Enable the TIM main Output. + * @param __HANDLE__: TIM handle + * @retval None + */ +#define __HAL_TIM_MOE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->BDTR|=(TIM_BDTR_MOE)) + +/* The counter of a timer instance is disabled only if all the CCx and CCxN + channels have been disabled */ +#define TIM_CCER_CCxE_MASK ((uint32_t)(TIM_CCER_CC1E | TIM_CCER_CC2E | TIM_CCER_CC3E | TIM_CCER_CC4E)) +#define TIM_CCER_CCxNE_MASK ((uint32_t)(TIM_CCER_CC1NE | TIM_CCER_CC2NE | TIM_CCER_CC3NE)) + +/** + * @brief Disable the TIM peripheral. + * @param __HANDLE__: TIM handle + * @retval None + */ +#define __HAL_TIM_DISABLE(__HANDLE__) \ + do { \ + if (((__HANDLE__)->Instance->CCER & TIM_CCER_CCxE_MASK) == 0) \ + { \ + if(((__HANDLE__)->Instance->CCER & TIM_CCER_CCxNE_MASK) == 0) \ + { \ + (__HANDLE__)->Instance->CR1 &= ~(TIM_CR1_CEN); \ + } \ + } \ + } while(0) +/** + * @brief Reset the Update Request Source (URS) bit of the TIMx_CR1 register. + * @param __HANDLE__: TIM handle. + * @note When the USR bit of the TIMx_CR1 register is reset, any of the + * following events generate an update interrupt or DMA request (if + * enabled): + * _ Counter overflow underflow + * _ Setting the UG bit + * _ Update generation through the slave mode controller + * @retval None + */ +#define __HAL_TIM_URS_DISABLE(__HANDLE__) \ + ((__HANDLE__)->Instance->CR1&=~(TIM_CR1_URS)) + +/** + * @brief Disable the TIM main Output. + * @param __HANDLE__: TIM handle + * @note The Main Output Enable of a timer instance is disabled only if all the CCx and CCxN channels have been disabled + * @retval None + */ +#define __HAL_TIM_MOE_DISABLE(__HANDLE__) \ + do { \ + if (((__HANDLE__)->Instance->CCER & TIM_CCER_CCxE_MASK) == 0) \ + { \ + if(((__HANDLE__)->Instance->CCER & TIM_CCER_CCxNE_MASK) == 0) \ + { \ + (__HANDLE__)->Instance->BDTR &= ~(TIM_BDTR_MOE); \ + } \ + } \ + } while(0) + +/* The Main Output Enable of a timer instance is disabled unconditionally */ +/** + * @brief Disable the TIM main Output. + * @param __HANDLE__: TIM handle + * @retval None + * @note The Main Output Enable of a timer instance is disabled uncondiotionally + */ +#define __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY(__HANDLE__) ((__HANDLE__)->Instance->BDTR &= ~(TIM_BDTR_MOE)) + +/** @brief Enable the specified TIM interrupt. +* @param __HANDLE__: specifies the TIM Handle. +* @param __INTERRUPT__: specifies the TIM interrupt source to enable. +* This parameter can be one of the following values: +* @arg TIM_IT_UPDATE: Update interrupt +* @arg TIM_IT_CC1: Capture/Compare 1 interrupt +* @arg TIM_IT_CC2: Capture/Compare 2 interrupt +* @arg TIM_IT_CC3: Capture/Compare 3 interrupt +* @arg TIM_IT_CC4: Capture/Compare 4 interrupt +* @arg TIM_IT_COM: Commutation interrupt +* @arg TIM_IT_TRIGGER: Trigger interrupt +* @arg TIM_IT_BREAK: Break interrupt +* @retval None +*/ +#define __HAL_TIM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->DIER |= (__INTERRUPT__)) + + /** @brief Disable the specified TIM interrupt. + * @param __HANDLE__: specifies the TIM Handle. + * @param __INTERRUPT__: specifies the TIM interrupt source to disable. + * This parameter can be one of the following values: + * @arg TIM_IT_UPDATE: Update interrupt + * @arg TIM_IT_CC1: Capture/Compare 1 interrupt + * @arg TIM_IT_CC2: Capture/Compare 2 interrupt + * @arg TIM_IT_CC3: Capture/Compare 3 interrupt + * @arg TIM_IT_CC4: Capture/Compare 4 interrupt + * @arg TIM_IT_COM: Commutation interrupt + * @arg TIM_IT_TRIGGER: Trigger interrupt + * @arg TIM_IT_BREAK: Break interrupt + * @retval None + */ +#define __HAL_TIM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->DIER &= ~(__INTERRUPT__)) + +/** @brief Enable the specified DMA request. + * @param __HANDLE__: specifies the TIM Handle. + * @param __DMA__: specifies the TIM DMA request to enable. + * This parameter can be one of the following values: + * @arg TIM_DMA_UPDATE: Update DMA request + * @arg TIM_DMA_CC1: Capture/Compare 1 DMA request + * @arg TIM_DMA_CC2: Capture/Compare 2 DMA request + * @arg TIM_DMA_CC3: Capture/Compare 3 DMA request + * @arg TIM_DMA_CC4: Capture/Compare 4 DMA request + * @arg TIM_DMA_COM: Commutation DMA request + * @arg TIM_DMA_TRIGGER: Trigger DMA request + * @retval None + */ +#define __HAL_TIM_ENABLE_DMA(__HANDLE__, __DMA__) ((__HANDLE__)->Instance->DIER |= (__DMA__)) + +/** @brief Disable the specified DMA request. + * @param __HANDLE__: specifies the TIM Handle. + * @param __DMA__: specifies the TIM DMA request to disable. + * This parameter can be one of the following values: + * @arg TIM_DMA_UPDATE: Update DMA request + * @arg TIM_DMA_CC1: Capture/Compare 1 DMA request + * @arg TIM_DMA_CC2: Capture/Compare 2 DMA request + * @arg TIM_DMA_CC3: Capture/Compare 3 DMA request + * @arg TIM_DMA_CC4: Capture/Compare 4 DMA request + * @arg TIM_DMA_COM: Commutation DMA request + * @arg TIM_DMA_TRIGGER: Trigger DMA request + * @arg TIM_DMA_BREAK: Break DMA request + * @retval None + */ +#define __HAL_TIM_DISABLE_DMA(__HANDLE__, __DMA__) ((__HANDLE__)->Instance->DIER &= ~(__DMA__)) + +/** @brief Check whether the specified TIM interrupt flag is set or not. + * @param __HANDLE__: specifies the TIM Handle. + * @param __FLAG__: specifies the TIM interrupt flag to check. + * This parameter can be one of the following values: + * @arg TIM_FLAG_UPDATE: Update interrupt flag + * @arg TIM_FLAG_CC1: Capture/Compare 1 interrupt flag + * @arg TIM_FLAG_CC2: Capture/Compare 2 interrupt flag + * @arg TIM_FLAG_CC3: Capture/Compare 3 interrupt flag + * @arg TIM_FLAG_CC4: Capture/Compare 4 interrupt flag + * @arg TIM_FLAG_CC5: Compare 5 interrupt flag + * @arg TIM_FLAG_CC6: Compare 6 interrupt flag + * @arg TIM_FLAG_COM: Commutation interrupt flag + * @arg TIM_FLAG_TRIGGER: Trigger interrupt flag + * @arg TIM_FLAG_BREAK: Break interrupt flag + * @arg TIM_FLAG_BREAK2: Break 2 interrupt flag + * @arg TIM_FLAG_SYSTEM_BREAK: System Break interrupt flag + * @arg TIM_FLAG_CC1OF: Capture/Compare 1 overcapture flag + * @arg TIM_FLAG_CC2OF: Capture/Compare 2 overcapture flag + * @arg TIM_FLAG_CC3OF: Capture/Compare 3 overcapture flag + * @arg TIM_FLAG_CC4OF: Capture/Compare 4 overcapture flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_TIM_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR &(__FLAG__)) == (__FLAG__)) + +/** @brief Clear the specified TIM interrupt flag. + * @param __HANDLE__: specifies the TIM Handle. + * @param __FLAG__: specifies the TIM interrupt flag to clear. + * This parameter can be one of the following values: + * @arg TIM_FLAG_UPDATE: Update interrupt flag + * @arg TIM_FLAG_CC1: Capture/Compare 1 interrupt flag + * @arg TIM_FLAG_CC2: Capture/Compare 2 interrupt flag + * @arg TIM_FLAG_CC3: Capture/Compare 3 interrupt flag + * @arg TIM_FLAG_CC4: Capture/Compare 4 interrupt flag + * @arg TIM_FLAG_CC5: Compare 5 interrupt flag + * @arg TIM_FLAG_CC6: Compare 6 interrupt flag + * @arg TIM_FLAG_COM: Commutation interrupt flag + * @arg TIM_FLAG_TRIGGER: Trigger interrupt flag + * @arg TIM_FLAG_BREAK: Break interrupt flag + * @arg TIM_FLAG_BREAK2: Break 2 interrupt flag + * @arg TIM_FLAG_SYSTEM_BREAK: System Break interrupt flag + * @arg TIM_FLAG_CC1OF: Capture/Compare 1 overcapture flag + * @arg TIM_FLAG_CC2OF: Capture/Compare 2 overcapture flag + * @arg TIM_FLAG_CC3OF: Capture/Compare 3 overcapture flag + * @arg TIM_FLAG_CC4OF: Capture/Compare 4 overcapture flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_TIM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR = ~(__FLAG__)) + +/** + * @brief Check whether the specified TIM interrupt source is enabled or not. + * @param __HANDLE__: TIM handle + * @param __INTERRUPT__: specifies the TIM interrupt source to check. + * This parameter can be one of the following values: + * @arg TIM_IT_UPDATE: Update interrupt + * @arg TIM_IT_CC1: Capture/Compare 1 interrupt + * @arg TIM_IT_CC2: Capture/Compare 2 interrupt + * @arg TIM_IT_CC3: Capture/Compare 3 interrupt + * @arg TIM_IT_CC4: Capture/Compare 4 interrupt + * @arg TIM_IT_COM: Commutation interrupt + * @arg TIM_IT_TRIGGER: Trigger interrupt + * @arg TIM_IT_BREAK: Break interrupt + * @retval The state of TIM_IT (SET or RESET). + */ +#define __HAL_TIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->DIER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) + +/** @brief Clear the TIM interrupt pending bits. + * @param __HANDLE__: TIM handle + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be one of the following values: + * @arg TIM_IT_UPDATE: Update interrupt + * @arg TIM_IT_CC1: Capture/Compare 1 interrupt + * @arg TIM_IT_CC2: Capture/Compare 2 interrupt + * @arg TIM_IT_CC3: Capture/Compare 3 interrupt + * @arg TIM_IT_CC4: Capture/Compare 4 interrupt + * @arg TIM_IT_COM: Commutation interrupt + * @arg TIM_IT_TRIGGER: Trigger interrupt + * @arg TIM_IT_BREAK: Break interrupt + * @retval None + */ +#define __HAL_TIM_CLEAR_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->SR = ~(uint32_t)(__INTERRUPT__)) + +/** + * @brief Indicates whether or not the TIM Counter is used as downcounter. + * @param __HANDLE__: TIM handle. + * @retval False (Counter used as upcounter) or True (Counter used as downcounter) + * @note This macro is particularly useful to get the counting mode when the timer operates in Center-aligned mode or Encoder +mode. + */ +#define __HAL_TIM_IS_TIM_COUNTING_DOWN(__HANDLE__) (((__HANDLE__)->Instance->CR1 &(TIM_CR1_DIR)) == (TIM_CR1_DIR)) + +/** + * @brief Set the TIM Prescaler on runtime. + * @param __HANDLE__: TIM handle. + * @param __PRESC__: specifies the Prescaler new value. + * @retval None + */ +#define __HAL_TIM_SET_PRESCALER(__HANDLE__, __PRESC__) ((__HANDLE__)->Instance->PSC = (__PRESC__)) + +#define TIM_SET_ICPRESCALERVALUE(__HANDLE__, __CHANNEL__, __ICPSC__) \ +(((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 |= (__ICPSC__)) :\ + ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 |= ((__ICPSC__) << 8)) :\ + ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 |= (__ICPSC__)) :\ + ((__HANDLE__)->Instance->CCMR2 |= ((__ICPSC__) << 8))) + +#define TIM_RESET_ICPRESCALERVALUE(__HANDLE__, __CHANNEL__) \ +(((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 &= (uint16_t)~TIM_CCMR1_IC1PSC) :\ + ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 &= (uint16_t)~TIM_CCMR1_IC2PSC) :\ + ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 &= (uint16_t)~TIM_CCMR2_IC3PSC) :\ + ((__HANDLE__)->Instance->CCMR2 &= (uint16_t)~TIM_CCMR2_IC4PSC)) + +#define TIM_SET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__, __POLARITY__) \ +(((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER |= (__POLARITY__)) :\ + ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCER |= ((__POLARITY__) << 4)) :\ + ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCER |= ((__POLARITY__) << 8)) :\ + ((__HANDLE__)->Instance->CCER |= (((__POLARITY__) << 12)))) + +#define TIM_RESET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__) \ +(((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER &= (uint16_t)~(TIM_CCER_CC1P | TIM_CCER_CC1NP)) :\ + ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCER &= (uint16_t)~(TIM_CCER_CC2P | TIM_CCER_CC2NP)) :\ + ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCER &= (uint16_t)~(TIM_CCER_CC3P | TIM_CCER_CC3NP)) :\ + ((__HANDLE__)->Instance->CCER &= (uint16_t)~(TIM_CCER_CC4P | TIM_CCER_CC4NP))) +/** + * @brief Set the TIM Counter Register value on runtime. + * @param __HANDLE__: TIM handle. + * @param __COUNTER__: specifies the Counter register new value. + * @retval None + */ +#define __HAL_TIM_SET_COUNTER(__HANDLE__, __COUNTER__) ((__HANDLE__)->Instance->CNT = (__COUNTER__)) + +/** + * @brief Get the TIM Counter Register value on runtime. + * @param __HANDLE__: TIM handle. + * @retval 16-bit or 32-bit value of the timer counter register (TIMx_CNT) + + */ +#define __HAL_TIM_GET_COUNTER(__HANDLE__) ((__HANDLE__)->Instance->CNT) + +/** + * @brief Set the TIM Autoreload Register value on runtime without calling another time any Init function. + * @param __HANDLE__: TIM handle. + * @param __AUTORELOAD__: specifies the Counter register new value. + * @retval None + */ +#define __HAL_TIM_SET_AUTORELOAD(__HANDLE__, __AUTORELOAD__) \ + do{ \ + (__HANDLE__)->Instance->ARR = (__AUTORELOAD__); \ + (__HANDLE__)->Init.Period = (__AUTORELOAD__); \ + } while(0) + +/** + * @brief Get the TIM Autoreload Register value on runtime. + * @param __HANDLE__: TIM handle. + * @retval 16-bit or 32-bit value of the timer auto-reload register(TIMx_ARR) + */ +#define __HAL_TIM_GET_AUTORELOAD(__HANDLE__) ((__HANDLE__)->Instance->ARR) + +/** + * @brief Set the TIM Clock Division value on runtime without calling another time any Init function. + * @param __HANDLE__: TIM handle. + * @param __CKD__: specifies the clock division value. + * This parameter can be one of the following value: + * @arg TIM_CLOCKDIVISION_DIV1 + * @arg TIM_CLOCKDIVISION_DIV2 + * @arg TIM_CLOCKDIVISION_DIV4 + * @retval None + */ +#define __HAL_TIM_SET_CLOCKDIVISION(__HANDLE__, __CKD__) \ + do{ \ + (__HANDLE__)->Instance->CR1 &= (uint16_t)(~TIM_CR1_CKD); \ + (__HANDLE__)->Instance->CR1 |= (__CKD__); \ + (__HANDLE__)->Init.ClockDivision = (__CKD__); \ + } while(0) + +/** + * @brief Get the TIM Clock Division value on runtime. + * @param __HANDLE__: TIM handle. + * @retval The clock division can be one of the following values: + * @arg TIM_CLOCKDIVISION_DIV1: tDTS=tCK_INT + * @arg TIM_CLOCKDIVISION_DIV2: tDTS=2*tCK_INT + * @arg TIM_CLOCKDIVISION_DIV4: tDTS=4*tCK_INT + */ +#define __HAL_TIM_GET_CLOCKDIVISION(__HANDLE__) ((__HANDLE__)->Instance->CR1 & TIM_CR1_CKD) + +/** + * @brief Set the TIM Input Capture prescaler on runtime without calling + * another time HAL_TIM_IC_ConfigChannel() function. + * @param __HANDLE__: TIM handle. + * @param __CHANNEL__: TIM Channels to be configured. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @param __ICPSC__: specifies the Input Capture4 prescaler new value. + * This parameter can be one of the following values: + * @arg TIM_ICPSC_DIV1: no prescaler + * @arg TIM_ICPSC_DIV2: capture is done once every 2 events + * @arg TIM_ICPSC_DIV4: capture is done once every 4 events + * @arg TIM_ICPSC_DIV8: capture is done once every 8 events + * @retval None + */ +#define __HAL_TIM_SET_ICPRESCALER(__HANDLE__, __CHANNEL__, __ICPSC__) \ + do{ \ + TIM_RESET_ICPRESCALERVALUE((__HANDLE__), (__CHANNEL__)); \ + TIM_SET_ICPRESCALERVALUE((__HANDLE__), (__CHANNEL__), (__ICPSC__)); \ + } while(0) + +/** + * @brief Get the TIM Input Capture prescaler on runtime. + * @param __HANDLE__: TIM handle. + * @param __CHANNEL__: TIM Channels to be configured. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: get input capture 1 prescaler value + * @arg TIM_CHANNEL_2: get input capture 2 prescaler value + * @arg TIM_CHANNEL_3: get input capture 3 prescaler value + * @arg TIM_CHANNEL_4: get input capture 4 prescaler value + * @retval The input capture prescaler can be one of the following values: + * @arg TIM_ICPSC_DIV1: no prescaler + * @arg TIM_ICPSC_DIV2: capture is done once every 2 events + * @arg TIM_ICPSC_DIV4: capture is done once every 4 events + * @arg TIM_ICPSC_DIV8: capture is done once every 8 events + */ +#define __HAL_TIM_GET_ICPRESCALER(__HANDLE__, __CHANNEL__) \ + (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 & TIM_CCMR1_IC1PSC) :\ + ((__CHANNEL__) == TIM_CHANNEL_2) ? (((__HANDLE__)->Instance->CCMR1 & TIM_CCMR1_IC2PSC) >> 8) :\ + ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 & TIM_CCMR2_IC3PSC) :\ + (((__HANDLE__)->Instance->CCMR2 & TIM_CCMR2_IC4PSC)) >> 8) + +/** + * @brief Set the TIM Capture x input polarity on runtime. + * @param __HANDLE__: TIM handle. + * @param __CHANNEL__: TIM Channels to be configured. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @param __POLARITY__: Polarity for TIx source + * @arg TIM_INPUTCHANNELPOLARITY_RISING: Rising Edge + * @arg TIM_INPUTCHANNELPOLARITY_FALLING: Falling Edge + * @arg TIM_INPUTCHANNELPOLARITY_BOTHEDGE: Rising and Falling Edge + * @retval None + */ +#define __HAL_TIM_SET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__, __POLARITY__) \ + do{ \ + TIM_RESET_CAPTUREPOLARITY((__HANDLE__), (__CHANNEL__)); \ + TIM_SET_CAPTUREPOLARITY((__HANDLE__), (__CHANNEL__), (__POLARITY__)); \ + }while(0) +/** + * @brief Set the TIM Capture Compare Register value on runtime without calling another time ConfigChannel function. + * @param __HANDLE__: TIM handle. + * @param __CHANNEL__: TIM Channels to be configured. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @arg TIM_CHANNEL_5: TIM Channel 5 selected + * @arg TIM_CHANNEL_6: TIM Channel 6 selected + * @param __COMPARE__: specifies the Capture Compare register new value. + * @retval None + */ +#define __HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__) \ +(((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1 = (__COMPARE__)) :\ + ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2 = (__COMPARE__)) :\ + ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3 = (__COMPARE__)) :\ + ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4 = (__COMPARE__)) :\ + ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5 = (__COMPARE__)) :\ + ((__HANDLE__)->Instance->CCR6 = (__COMPARE__))) + +/** + * @brief Get the TIM Capture Compare Register value on runtime. + * @param __HANDLE__: TIM handle. + * @param __CHANNEL__: TIM Channel associated with the capture compare register + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: get capture/compare 1 register value + * @arg TIM_CHANNEL_2: get capture/compare 2 register value + * @arg TIM_CHANNEL_3: get capture/compare 3 register value + * @arg TIM_CHANNEL_4: get capture/compare 4 register value + * @arg TIM_CHANNEL_5: get capture/compare 5 register value + * @arg TIM_CHANNEL_6: get capture/compare 6 register value + * @retval None by @retval 16-bit or 32-bit value of the capture/compare register (TIMx_CCRy) + */ +#define __HAL_TIM_GET_COMPARE(__HANDLE__, __CHANNEL__) \ +(((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1) :\ + ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2) :\ + ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3) :\ + ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4) :\ + ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5) :\ + ((__HANDLE__)->Instance->CCR6)) + +/** + * @} + */ +/* End of exported macros ----------------------------------------------------*/ + +/* Private constants ---------------------------------------------------------*/ +/** @defgroup TIM_Private_Constants TIM Private Constants + * @{ + */ + +/** + * @} + */ +/* End of private constants --------------------------------------------------*/ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup TIM_Private_Macros TIM Private Macros + * @{ + */ + +#define IS_TIM_CLEARINPUT_SOURCE(__MODE__) (((__MODE__) == TIM_CLEARINPUTSOURCE_ETR) || \ + ((__MODE__) == TIM_CLEARINPUTSOURCE_OCREFCLR) || \ + ((__MODE__) == TIM_CLEARINPUTSOURCE_NONE)) + +#define IS_TIM_DMA_BASE(__BASE__) (((__BASE__) == TIM_DMABASE_CR1) || \ + ((__BASE__) == TIM_DMABASE_CR2) || \ + ((__BASE__) == TIM_DMABASE_SMCR) || \ + ((__BASE__) == TIM_DMABASE_DIER) || \ + ((__BASE__) == TIM_DMABASE_SR) || \ + ((__BASE__) == TIM_DMABASE_EGR) || \ + ((__BASE__) == TIM_DMABASE_CCMR1) || \ + ((__BASE__) == TIM_DMABASE_CCMR2) || \ + ((__BASE__) == TIM_DMABASE_CCER) || \ + ((__BASE__) == TIM_DMABASE_CNT) || \ + ((__BASE__) == TIM_DMABASE_PSC) || \ + ((__BASE__) == TIM_DMABASE_ARR) || \ + ((__BASE__) == TIM_DMABASE_RCR) || \ + ((__BASE__) == TIM_DMABASE_CCR1) || \ + ((__BASE__) == TIM_DMABASE_CCR2) || \ + ((__BASE__) == TIM_DMABASE_CCR3) || \ + ((__BASE__) == TIM_DMABASE_CCR4) || \ + ((__BASE__) == TIM_DMABASE_BDTR) || \ + ((__BASE__) == TIM_DMABASE_CCMR3) || \ + ((__BASE__) == TIM_DMABASE_CCR5) || \ + ((__BASE__) == TIM_DMABASE_CCR6) || \ + ((__BASE__) == TIM_DMABASE_AF1) || \ + ((__BASE__) == TIM_DMABASE_AF2) || \ + ((__BASE__) == TIM_DMABASE_TISEL)) + + +#define IS_TIM_EVENT_SOURCE(__SOURCE__) ((((__SOURCE__) & 0xFFFFFE00U) == 0x00000000U) && ((__SOURCE__) != 0x00000000U)) + + +#define IS_TIM_COUNTER_MODE(__MODE__) (((__MODE__) == TIM_COUNTERMODE_UP) || \ + ((__MODE__) == TIM_COUNTERMODE_DOWN) || \ + ((__MODE__) == TIM_COUNTERMODE_CENTERALIGNED1) || \ + ((__MODE__) == TIM_COUNTERMODE_CENTERALIGNED2) || \ + ((__MODE__) == TIM_COUNTERMODE_CENTERALIGNED3)) + +#define IS_TIM_CLOCKDIVISION_DIV(__DIV__) (((__DIV__) == TIM_CLOCKDIVISION_DIV1) || \ + ((__DIV__) == TIM_CLOCKDIVISION_DIV2) || \ + ((__DIV__) == TIM_CLOCKDIVISION_DIV4)) + +#define IS_TIM_AUTORELOAD_PRELOAD(PRELOAD) (((PRELOAD) == TIM_AUTORELOAD_PRELOAD_DISABLE) || \ + ((PRELOAD) == TIM_AUTORELOAD_PRELOAD_ENABLE)) + + +#define IS_TIM_FAST_STATE(__STATE__) (((__STATE__) == TIM_OCFAST_DISABLE) || \ + ((__STATE__) == TIM_OCFAST_ENABLE)) + +#define IS_TIM_OC_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_OCPOLARITY_HIGH) || \ + ((__POLARITY__) == TIM_OCPOLARITY_LOW)) + +#define IS_TIM_OCN_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_OCNPOLARITY_HIGH) || \ + ((__POLARITY__) == TIM_OCNPOLARITY_LOW)) + +#define IS_TIM_OCIDLE_STATE(__STATE__) (((__STATE__) == TIM_OCIDLESTATE_SET) || \ + ((__STATE__) == TIM_OCIDLESTATE_RESET)) + +#define IS_TIM_OCNIDLE_STATE(__STATE__) (((__STATE__) == TIM_OCNIDLESTATE_SET) || \ + ((__STATE__) == TIM_OCNIDLESTATE_RESET)) + +#define IS_TIM_IC_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_ICPOLARITY_RISING) || \ + ((__POLARITY__) == TIM_ICPOLARITY_FALLING) || \ + ((__POLARITY__) == TIM_ICPOLARITY_BOTHEDGE)) + +#define IS_TIM_IC_SELECTION(__SELECTION__) (((__SELECTION__) == TIM_ICSELECTION_DIRECTTI) || \ + ((__SELECTION__) == TIM_ICSELECTION_INDIRECTTI) || \ + ((__SELECTION__) == TIM_ICSELECTION_TRC)) + +#define IS_TIM_IC_PRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_ICPSC_DIV1) || \ + ((__PRESCALER__) == TIM_ICPSC_DIV2) || \ + ((__PRESCALER__) == TIM_ICPSC_DIV4) || \ + ((__PRESCALER__) == TIM_ICPSC_DIV8)) + +#define IS_TIM_OPM_MODE(__MODE__) (((__MODE__) == TIM_OPMODE_SINGLE) || \ + ((__MODE__) == TIM_OPMODE_REPETITIVE)) + +#define IS_TIM_ENCODER_MODE(__MODE__) (((__MODE__) == TIM_ENCODERMODE_TI1) || \ + ((__MODE__) == TIM_ENCODERMODE_TI2) || \ + ((__MODE__) == TIM_ENCODERMODE_TI12)) + +#define IS_TIM_DMA_SOURCE(__SOURCE__) ((((__SOURCE__) & 0xFFFF80FFU) == 0x00000000U) && ((__SOURCE__) != 0x00000000U)) + +#define IS_TIM_CHANNELS(__CHANNEL__) (((__CHANNEL__) == TIM_CHANNEL_1) || \ + ((__CHANNEL__) == TIM_CHANNEL_2) || \ + ((__CHANNEL__) == TIM_CHANNEL_3) || \ + ((__CHANNEL__) == TIM_CHANNEL_4) || \ + ((__CHANNEL__) == TIM_CHANNEL_5) || \ + ((__CHANNEL__) == TIM_CHANNEL_6) || \ + ((__CHANNEL__) == TIM_CHANNEL_ALL)) + +#define IS_TIM_OPM_CHANNELS(__CHANNEL__) (((__CHANNEL__) == TIM_CHANNEL_1) || \ + ((__CHANNEL__) == TIM_CHANNEL_2)) + +#define IS_TIM_COMPLEMENTARY_CHANNELS(__CHANNEL__) (((__CHANNEL__) == TIM_CHANNEL_1) || \ + ((__CHANNEL__) == TIM_CHANNEL_2) || \ + ((__CHANNEL__) == TIM_CHANNEL_3)) + +#define IS_TIM_CLOCKSOURCE(__CLOCK__) (((__CLOCK__) == TIM_CLOCKSOURCE_INTERNAL) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_ETRMODE2) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_ITR0) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_ITR1) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_ITR2) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_ITR3) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_TI1ED) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_TI1) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_TI2) || \ + ((__CLOCK__) == TIM_CLOCKSOURCE_ETRMODE1)) + +#define IS_TIM_CLOCKPOLARITY(__POLARITY__) (((__POLARITY__) == TIM_CLOCKPOLARITY_INVERTED) || \ + ((__POLARITY__) == TIM_CLOCKPOLARITY_NONINVERTED) || \ + ((__POLARITY__) == TIM_CLOCKPOLARITY_RISING) || \ + ((__POLARITY__) == TIM_CLOCKPOLARITY_FALLING) || \ + ((__POLARITY__) == TIM_CLOCKPOLARITY_BOTHEDGE)) + +#define IS_TIM_CLOCKPRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV1) || \ + ((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV2) || \ + ((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV4) || \ + ((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV8)) + +#define IS_TIM_CLOCKFILTER(ICFILTER) ((ICFILTER) <= 0xF) + +#define IS_TIM_CLEARINPUT_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_CLEARINPUTPOLARITY_INVERTED) || \ + ((__POLARITY__) == TIM_CLEARINPUTPOLARITY_NONINVERTED)) + +#define IS_TIM_CLEARINPUT_PRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV1) || \ + ((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV2) || \ + ((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV4) || \ + ((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV8)) + +#define IS_TIM_CLEARINPUT_FILTER(__ICFILTER__) ((__ICFILTER__) <= 0xFU) + + +#define IS_TIM_OSSR_STATE(__STATE__) (((__STATE__) == TIM_OSSR_ENABLE) || \ + ((__STATE__) == TIM_OSSR_DISABLE)) + +#define IS_TIM_OSSI_STATE(__STATE__) (((__STATE__) == TIM_OSSI_ENABLE) || \ + ((__STATE__) == TIM_OSSI_DISABLE)) + +#define IS_TIM_LOCK_LEVEL(__LEVEL__) (((__LEVEL__) == TIM_LOCKLEVEL_OFF) || \ + ((__LEVEL__) == TIM_LOCKLEVEL_1) || \ + ((__LEVEL__) == TIM_LOCKLEVEL_2) || \ + ((__LEVEL__) == TIM_LOCKLEVEL_3)) + +#define IS_TIM_BREAK_FILTER(__BRKFILTER__) ((__BRKFILTER__) <= 0xF) + + +#define IS_TIM_BREAK_STATE(__STATE__) (((__STATE__) == TIM_BREAK_ENABLE) || \ + ((__STATE__) == TIM_BREAK_DISABLE)) + +#define IS_TIM_BREAK_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_BREAKPOLARITY_LOW) || \ + ((__POLARITY__) == TIM_BREAKPOLARITY_HIGH)) + +#define IS_TIM_BREAK2_STATE(__STATE__) (((__STATE__) == TIM_BREAK2_ENABLE) || \ + ((__STATE__) == TIM_BREAK2_DISABLE)) + +#define IS_TIM_BREAK2_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_BREAK2POLARITY_LOW) || \ + ((__POLARITY__) == TIM_BREAK2POLARITY_HIGH)) + +#define IS_TIM_AUTOMATIC_OUTPUT_STATE(__STATE__) (((__STATE__) == TIM_AUTOMATICOUTPUT_ENABLE) || \ + ((__STATE__) == TIM_AUTOMATICOUTPUT_DISABLE)) + +#define IS_TIM_GROUPCH5(__OCREF__) ((((__OCREF__) & 0x1FFFFFFFU) == 0x00000000U)) + +#define IS_TIM_TRGO_SOURCE(__SOURCE__) (((__SOURCE__) == TIM_TRGO_RESET) || \ + ((__SOURCE__) == TIM_TRGO_ENABLE) || \ + ((__SOURCE__) == TIM_TRGO_UPDATE) || \ + ((__SOURCE__) == TIM_TRGO_OC1) || \ + ((__SOURCE__) == TIM_TRGO_OC1REF) || \ + ((__SOURCE__) == TIM_TRGO_OC2REF) || \ + ((__SOURCE__) == TIM_TRGO_OC3REF) || \ + ((__SOURCE__) == TIM_TRGO_OC4REF)) + +#define IS_TIM_TRGO2_SOURCE(__SOURCE__) (((__SOURCE__) == TIM_TRGO2_RESET) || \ + ((__SOURCE__) == TIM_TRGO2_ENABLE) || \ + ((__SOURCE__) == TIM_TRGO2_UPDATE) || \ + ((__SOURCE__) == TIM_TRGO2_OC1) || \ + ((__SOURCE__) == TIM_TRGO2_OC1REF) || \ + ((__SOURCE__) == TIM_TRGO2_OC2REF) || \ + ((__SOURCE__) == TIM_TRGO2_OC3REF) || \ + ((__SOURCE__) == TIM_TRGO2_OC3REF) || \ + ((__SOURCE__) == TIM_TRGO2_OC4REF) || \ + ((__SOURCE__) == TIM_TRGO2_OC5REF) || \ + ((__SOURCE__) == TIM_TRGO2_OC6REF) || \ + ((__SOURCE__) == TIM_TRGO2_OC4REF_RISINGFALLING) || \ + ((__SOURCE__) == TIM_TRGO2_OC6REF_RISINGFALLING) || \ + ((__SOURCE__) == TIM_TRGO2_OC4REF_RISING_OC6REF_RISING) || \ + ((__SOURCE__) == TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING) || \ + ((__SOURCE__) == TIM_TRGO2_OC5REF_RISING_OC6REF_RISING) || \ + ((__SOURCE__) == TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING)) + +#define IS_TIM_MSM_STATE(__STATE__) (((__STATE__) == TIM_MASTERSLAVEMODE_ENABLE) || \ + ((__STATE__) == TIM_MASTERSLAVEMODE_DISABLE)) + +#define IS_TIM_SLAVE_MODE(__MODE__) (((__MODE__) == TIM_SLAVEMODE_DISABLE) || \ + ((__MODE__) == TIM_SLAVEMODE_RESET) || \ + ((__MODE__) == TIM_SLAVEMODE_GATED) || \ + ((__MODE__) == TIM_SLAVEMODE_TRIGGER) || \ + ((__MODE__) == TIM_SLAVEMODE_EXTERNAL1) || \ + ((__MODE__) == TIM_SLAVEMODE_COMBINED_RESETTRIGGER)) + +#define IS_TIM_PWM_MODE(__MODE__) (((__MODE__) == TIM_OCMODE_PWM1) || \ + ((__MODE__) == TIM_OCMODE_PWM2) || \ + ((__MODE__) == TIM_OCMODE_COMBINED_PWM1) || \ + ((__MODE__) == TIM_OCMODE_COMBINED_PWM2) || \ + ((__MODE__) == TIM_OCMODE_ASSYMETRIC_PWM1) || \ + ((__MODE__) == TIM_OCMODE_ASSYMETRIC_PWM2)) + +#define IS_TIM_OC_MODE(__MODE__) (((__MODE__) == TIM_OCMODE_TIMING) || \ + ((__MODE__) == TIM_OCMODE_ACTIVE) || \ + ((__MODE__) == TIM_OCMODE_INACTIVE) || \ + ((__MODE__) == TIM_OCMODE_TOGGLE) || \ + ((__MODE__) == TIM_OCMODE_FORCED_ACTIVE) || \ + ((__MODE__) == TIM_OCMODE_FORCED_INACTIVE) || \ + ((__MODE__) == TIM_OCMODE_RETRIGERRABLE_OPM1) || \ + ((__MODE__) == TIM_OCMODE_RETRIGERRABLE_OPM2)) + +#define IS_TIM_TRIGGER_SELECTION(__SELECTION__) (((__SELECTION__) == TIM_TS_ITR0) || \ + ((__SELECTION__) == TIM_TS_ITR1) || \ + ((__SELECTION__) == TIM_TS_ITR2) || \ + ((__SELECTION__) == TIM_TS_ITR3) || \ + ((__SELECTION__) == TIM_TS_TI1F_ED) || \ + ((__SELECTION__) == TIM_TS_TI1FP1) || \ + ((__SELECTION__) == TIM_TS_TI2FP2) || \ + ((__SELECTION__) == TIM_TS_ETRF)) + +#define IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(__SELECTION__) (((__SELECTION__) == TIM_TS_ITR0) || \ + ((__SELECTION__) == TIM_TS_ITR1) || \ + ((__SELECTION__) == TIM_TS_ITR2) || \ + ((__SELECTION__) == TIM_TS_ITR3) || \ + ((__SELECTION__) == TIM_TS_NONE)) + + +#define IS_TIM_TRIGGERPOLARITY(__POLARITY__) (((__POLARITY__) == TIM_TRIGGERPOLARITY_INVERTED ) || \ + ((__POLARITY__) == TIM_TRIGGERPOLARITY_NONINVERTED) || \ + ((__POLARITY__) == TIM_TRIGGERPOLARITY_RISING ) || \ + ((__POLARITY__) == TIM_TRIGGERPOLARITY_FALLING ) || \ + ((__POLARITY__) == TIM_TRIGGERPOLARITY_BOTHEDGE )) + +#define IS_TIM_TRIGGERPRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV1) || \ + ((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV2) || \ + ((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV4) || \ + ((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV8)) + +#define IS_TIM_TRIGGERFILTER(__ICFILTER__) ((__ICFILTER__) <= 0xFU) + +#define IS_TIM_TI1SELECTION(__TI1SELECTION__) (((__TI1SELECTION__) == TIM_TI1SELECTION_CH1) || \ + ((__TI1SELECTION__) == TIM_TI1SELECTION_XORCOMBINATION)) + +#define IS_TIM_DMA_LENGTH(__LENGTH__) (((__LENGTH__) == TIM_DMABURSTLENGTH_1TRANSFER) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_2TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_3TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_4TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_5TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_6TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_7TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_8TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_9TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_10TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_11TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_12TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_13TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_14TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_15TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_16TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_17TRANSFERS) || \ + ((__LENGTH__) == TIM_DMABURSTLENGTH_18TRANSFERS)) + +#define IS_TIM_IC_FILTER(__ICFILTER__) ((__ICFILTER__) <= 0xFU) + +#define IS_TIM_DEADTIME(__DEADTIME__) ((__DEADTIME__) <= 0xFFU) + +#define IS_TIM_BREAK_SYSTEM(__CONFIG__) (((__CONFIG__) == TIM_BREAK_SYSTEM_ECC) || \ + ((__CONFIG__) == TIM_BREAK_SYSTEM_PVD) || \ + ((__CONFIG__) == TIM_BREAK_SYSTEM_SRAM2_PARITY_ERROR) || \ + ((__CONFIG__) == TIM_BREAK_SYSTEM_LOCKUP)) + +/** + * @} + */ +/* End of private macros -----------------------------------------------------*/ + +/* Include TIM HAL Extended module */ +#include "stm32h7xx_hal_tim_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup TIM_Exported_Functions TIM Exported Functions + * @{ + */ + +/** @addtogroup TIM_Exported_Functions_Group1 Time Base functions + * @brief Time Base functions + * @{ + */ +/* Time Base functions ********************************************************/ +HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIM_Base_DeInit(TIM_HandleTypeDef *htim); +void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim); +void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim); +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length); +HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim); +/** + * @} + */ + +/** @addtogroup TIM_Exported_Functions_Group2 Time Output Compare functions + * @brief Time Output Compare functions + * @{ + */ +/* Timer Output Compare functions **********************************************/ +HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIM_OC_DeInit(TIM_HandleTypeDef *htim); +void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim); +void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef *htim); +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIM_OC_Start(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_OC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIM_OC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_OC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIM_OC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length); +HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel); +/** + * @} + */ + +/** @addtogroup TIM_Exported_Functions_Group3 Time PWM functions + * @brief Time PWM functions + * @{ + */ +/* Timer PWM functions *********************************************************/ +HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIM_PWM_DeInit(TIM_HandleTypeDef *htim); +void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim); +void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef *htim); +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length); +HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel); +/** + * @} + */ + +/** @addtogroup TIM_Exported_Functions_Group4 Time Input Capture functions + * @brief Time Input Capture functions + * @{ + */ +/* Timer Input Capture functions ***********************************************/ +HAL_StatusTypeDef HAL_TIM_IC_Init(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIM_IC_DeInit(TIM_HandleTypeDef *htim); +void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim); +void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef *htim); +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIM_IC_Start(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_IC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIM_IC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_IC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIM_IC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length); +HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel); +/** + * @} + */ + +/** @addtogroup TIM_Exported_Functions_Group5 Time One Pulse functions + * @brief Time One Pulse functions + * @{ + */ +/* Timer One Pulse functions ***************************************************/ +HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_t OnePulseMode); +HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit(TIM_HandleTypeDef *htim); +void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim); +void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef *htim); +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIM_OnePulse_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel); +HAL_StatusTypeDef HAL_TIM_OnePulse_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel); +HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel); +/** + * @} + */ + +/** @addtogroup TIM_Exported_Functions_Group6 Time Encoder functions + * @brief Time Encoder functions + * @{ + */ +/* Timer Encoder functions *****************************************************/ +HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim, TIM_Encoder_InitTypeDef* sConfig); +HAL_StatusTypeDef HAL_TIM_Encoder_DeInit(TIM_HandleTypeDef *htim); +void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef *htim); +void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef *htim); + /* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_Encoder_Stop(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIM_Encoder_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_Encoder_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIM_Encoder_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData1, uint32_t *pData2, uint16_t Length); +HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel); +/** + * @} + */ + +/** @addtogroup TIM_Exported_Functions_Group7 TIM IRQ handler management + * @brief IRQ handler management + * @{ + */ +/* Interrupt Handler functions **********************************************/ +void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim); +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group8 Peripheral Control functions + * @brief Peripheral Control functions + * @{ + */ +/* Control functions *********************************************************/ +HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef* sConfig, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef* sConfig, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_IC_ConfigChannel(TIM_HandleTypeDef *htim, TIM_IC_InitTypeDef* sConfig, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_OnePulse_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OnePulse_InitTypeDef* sConfig, uint32_t OutputChannel, uint32_t InputChannel); +HAL_StatusTypeDef HAL_TIM_ConfigOCrefClear(TIM_HandleTypeDef *htim, TIM_ClearInputConfigTypeDef * sClearInputConfig, uint32_t Channel); +HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef * sClockSourceConfig); +HAL_StatusTypeDef HAL_TIM_ConfigTI1Input(TIM_HandleTypeDef *htim, uint32_t TI1_Selection); +HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchronization(TIM_HandleTypeDef *htim, TIM_SlaveConfigTypeDef * sSlaveConfig); +HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchronization_IT(TIM_HandleTypeDef *htim, TIM_SlaveConfigTypeDef * sSlaveConfig); +HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, \ + uint32_t *BurstBuffer, uint32_t BurstLength); +HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc); +HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, \ + uint32_t *BurstBuffer, uint32_t BurstLength); +HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc); +HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource); +uint32_t HAL_TIM_ReadCapturedValue(TIM_HandleTypeDef *htim, uint32_t Channel); +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group9 TIM Callbacks functions + * @brief TIM Callbacks functions + * @{ + */ +/* Callback in non blocking modes (Interrupt and DMA) *************************/ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim); +void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim); +void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim); +void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim); +void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim); +void HAL_TIM_ErrorCallback(TIM_HandleTypeDef *htim); +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group10 Peripheral State functions + * @brief Peripheral State functions + * @{ + */ +/* Peripheral State functions **************************************************/ +HAL_TIM_StateTypeDef HAL_TIM_Base_GetState(TIM_HandleTypeDef *htim); +HAL_TIM_StateTypeDef HAL_TIM_OC_GetState(TIM_HandleTypeDef *htim); +HAL_TIM_StateTypeDef HAL_TIM_PWM_GetState(TIM_HandleTypeDef *htim); +HAL_TIM_StateTypeDef HAL_TIM_IC_GetState(TIM_HandleTypeDef *htim); +HAL_TIM_StateTypeDef HAL_TIM_OnePulse_GetState(TIM_HandleTypeDef *htim); +HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(TIM_HandleTypeDef *htim); +/** + * @} + */ + +/** + * @} + */ +/* End of exported functions -------------------------------------------------*/ + +/* Private functions----------------------------------------------------------*/ +/** @defgroup TIM_Private_Functions TIM Private Functions +* @{ +*/ +void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure); +void TIM_TI1_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, uint32_t TIM_ICFilter); +void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config); +void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config); +void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config); +void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config); +void TIM_ETR_SetConfig(TIM_TypeDef* TIMx, uint32_t TIM_ExtTRGPrescaler, + uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter); +void HAL_TIM_DMADelayPulseCplt(DMA_HandleTypeDef *hdma); +void HAL_TIM_DMAError(DMA_HandleTypeDef *hdma); +void HAL_TIM_DMACaptureCplt(DMA_HandleTypeDef *hdma); +void TIM_CCxChannelCmd(TIM_TypeDef* TIMx, uint32_t Channel, uint32_t ChannelState); + +/** +* @} +*/ +/* End of private functions --------------------------------------------------*/ +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_TIM_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h new file mode 100644 index 0000000000..f8f4123cb2 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h @@ -0,0 +1,685 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_tim_ex.h + * @author MCD Application Team + * @brief Header file of TIM HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_TIM_EX_H +#define __STM32H7xx_HAL_TIM_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup TIMEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup TIMEx_Exported_Types TIM Extended Exported Types + * @{ + */ + +/** + * @brief TIM Hall sensor Configuration Structure definition + */ + +typedef struct +{ + + uint32_t IC1Polarity; /*!< Specifies the active edge of the input signal. + This parameter can be a value of @ref TIM_Input_Capture_Polarity */ + + uint32_t IC1Prescaler; /*!< Specifies the Input Capture Prescaler. + This parameter can be a value of @ref TIM_Input_Capture_Prescaler */ + + uint32_t IC1Filter; /*!< Specifies the input capture filter. + This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */ + uint32_t Commutation_Delay; /*!< Specifies the pulse value to be loaded into the Capture Compare Register. + This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF */ +} TIM_HallSensor_InitTypeDef; + +/** + * @brief TIM Break/Break2 input configuration + */ +typedef struct { + uint32_t Source; /*!< Specifies the source of the timer break input. + This parameter can be a value of @ref TIMEx_Break_Input_Source */ + uint32_t Enable; /*!< Specifies whether or not the break input source is enabled. + This parameter can be a value of @ref TIMEx_Break_Input_Source_Enable */ + uint32_t Polarity; /*!< Specifies the break input source polarity. + This parameter can be a value of @ref TIMEx_Break_Input_Source_Polarity + Not relevant when analog watchdog output of the DFSDM1 used as break input source */ +} TIMEx_BreakInputConfigTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup TIMEx_Exported_Constants TIM Extended Exported Constants + * @{ + */ + +/** @defgroup TIMEx_Channel TIM Extended Channel + * @{ + */ +#define TIM_CHANNEL_1 ((uint32_t)0x0000U) /*!< TIM Channel 1*/ +#define TIM_CHANNEL_2 ((uint32_t)0x0004U) /*!< TIM Channel 2*/ +#define TIM_CHANNEL_3 ((uint32_t)0x0008U) /*!< TIM Channel 3*/ +#define TIM_CHANNEL_4 ((uint32_t)0x000CU) /*!< TIM Channel 4*/ +#define TIM_CHANNEL_5 ((uint32_t)0x0010U) /*!< TIM Channel 5*/ +#define TIM_CHANNEL_6 ((uint32_t)0x0014U) /*!< TIM Channel 6*/ +#define TIM_CHANNEL_ALL ((uint32_t)0x003CU) /*!< TIM all Channels */ + +/** + * @} + */ + +/** @defgroup TIMEx_Output_Compare_and_PWM_modes TIM Output Compare and PWM Modes + * @{ + */ +#define TIM_OCMODE_TIMING ((uint32_t)0x0000U) /*!< TIM Output timing mode */ +#define TIM_OCMODE_ACTIVE ((uint32_t)TIM_CCMR1_OC1M_0) /*!< TIM Output Active mode */ +#define TIM_OCMODE_INACTIVE ((uint32_t)TIM_CCMR1_OC1M_1) /*!< TIM Output Inactive mode */ +#define TIM_OCMODE_TOGGLE ((uint32_t)TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0) /*!< TIM Output Toggle mode */ +#define TIM_OCMODE_PWM1 ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1) /*!< TIM PWM mode 1 */ +#define TIM_OCMODE_PWM2 ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0) /*!< TIM PWM mode 2 */ +#define TIM_OCMODE_FORCED_ACTIVE ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_0) /*!< TIM Forced Active mode */ +#define TIM_OCMODE_FORCED_INACTIVE ((uint32_t)TIM_CCMR1_OC1M_2) /*!< TIM Forced Inactive mode */ + +#define TIM_OCMODE_RETRIGERRABLE_OPM1 ((uint32_t)TIM_CCMR1_OC1M_3) /*!< TIM Rettrigerrable OPM mode 1 */ +#define TIM_OCMODE_RETRIGERRABLE_OPM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0) /*!< TIM Rettrigerrable OPM mode 2 */ +#define TIM_OCMODE_COMBINED_PWM1 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_2) /*!< TIM Combined PWM mode 1 */ +#define TIM_OCMODE_COMBINED_PWM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_2) /*!< TIM Combined PWM mode 2 */ +#define TIM_OCMODE_ASSYMETRIC_PWM1 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2) /*!< TIM Asymetruc PWM mode 1 */ +#define TIM_OCMODE_ASSYMETRIC_PWM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M) /*!< TIM Asymetruc PWM mode 2 */ +/** + * @} + */ + +/** @defgroup TIMEx_ClearInput_Source TIM Extended Clear Input Source + * @{ + */ +#define TIM_CLEARINPUTSOURCE_ETR ((uint32_t)0x0001U) /*!< TIM Clear input source connected to ETR */ +#define TIM_CLEARINPUTSOURCE_OCREFCLR ((uint32_t)0x0002U) /*!< TIM Clear input source connected to OCREFClear */ +#define TIM_CLEARINPUTSOURCE_NONE ((uint32_t)0x0000U) /*!< TIM Clear input source None */ + +/** + * @} + */ + +/** @defgroup TIMEx_Break2_Input_enable_disable TIMEX Break input 2 Enable + * @{ + */ +#define TIM_BREAK2_DISABLE ((uint32_t)0x00000000U) /*!< TIM Break2 disabled */ +#define TIM_BREAK2_ENABLE ((uint32_t)TIM_BDTR_BK2E) /*!< TIM Break2 enabled */ + +/** + * @} + */ +/** @defgroup TIMEx_Break2_Polarity TIM Extended Break Input 2 Polarity + * @{ + */ +#define TIM_BREAK2POLARITY_LOW ((uint32_t)0x00000000U) /*!< TIM Break2 polarity low */ +#define TIM_BREAK2POLARITY_HIGH ((uint32_t)TIM_BDTR_BK2P) /*!< TIM Break2 polarity high */ + +/** + * @} + */ + +/** @defgroup TIMEx_Trigger_Selection TIM Trigger Selection + * @{ + */ +#define TIM_TS_ITR4 ((uint32_t)0x0100000) /*!< TIM Internal trigger 4 */ +#define TIM_TS_ITR5 ((uint32_t)0x0100010) /*!< TIM Internal trigger 5 */ +#define TIM_TS_ITR6 ((uint32_t)0x0100020) /*!< TIM Internal trigger 6 */ +#define TIM_TS_ITR7 ((uint32_t)0x0100030) /*!< TIM Internal trigger 7 */ +#define TIM_TS_ITR8 ((uint32_t)0x0100040) /*!< TIM Internal trigger 8 */ + + +/** + * @} + */ + +/** @defgroup TIM_Event_Source TIM Extended Event Source + * @{ + */ + +#define TIM_EVENTSOURCE_UPDATE TIM_EGR_UG /*!< Reinitialize the counter and generates an update of the registers */ +#define TIM_EVENTSOURCE_CC1 TIM_EGR_CC1G /*!< A capture/compare event is generated on channel 1 */ +#define TIM_EVENTSOURCE_CC2 TIM_EGR_CC2G /*!< A capture/compare event is generated on channel 2 */ +#define TIM_EVENTSOURCE_CC3 TIM_EGR_CC3G /*!< A capture/compare event is generated on channel 3 */ +#define TIM_EVENTSOURCE_CC4 TIM_EGR_CC4G /*!< A capture/compare event is generated on channel 4 */ +#define TIM_EVENTSOURCE_COM TIM_EGR_COMG /*!< A commutation event is generated */ +#define TIM_EVENTSOURCE_TRIGGER TIM_EGR_TG /*!< A trigger event is generated */ +#define TIM_EVENTSOURCE_BREAK TIM_EGR_BG /*!< A break event is generated */ +#define TIM_EVENTSOURCE_BREAK2 TIM_EGR_B2G /*!< A break 2 event is generated */ + +/** + * @} + */ + +/** @defgroup TIM_DMA_Base_address TIM DMA Base Address + * @{ + */ +#define TIM_DMABASE_CR1 (0x00000000U) /*!< TIM DMA Base Address is CR1 */ +#define TIM_DMABASE_CR2 (0x00000001U) /*!< TIM DMA Base Address is CR2 */ +#define TIM_DMABASE_SMCR (0x00000002U) /*!< TIM DMA Base Address is SMCR */ +#define TIM_DMABASE_DIER (0x00000003U) /*!< TIM DMA Base Address is DIER */ +#define TIM_DMABASE_SR (0x00000004U) /*!< TIM DMA Base Address is SR */ +#define TIM_DMABASE_EGR (0x00000005U) /*!< TIM DMA Base Address is EGR */ +#define TIM_DMABASE_CCMR1 (0x00000006U) /*!< TIM DMA Base Address is CCMR1 */ +#define TIM_DMABASE_CCMR2 (0x00000007U) /*!< TIM DMA Base Address is CCMR2*/ +#define TIM_DMABASE_CCER (0x00000008U) /*!< TIM DMA Base Address is CCER */ +#define TIM_DMABASE_CNT (0x00000009U) /*!< TIM DMA Base Address is CNT */ +#define TIM_DMABASE_PSC (0x0000000AU) /*!< TIM DMA Base Address is PSC */ +#define TIM_DMABASE_ARR (0x0000000BU) /*!< TIM DMA Base Address is ARR */ +#define TIM_DMABASE_RCR (0x0000000CU) /*!< TIM DMA Base Address is RCR */ +#define TIM_DMABASE_CCR1 (0x0000000DU) /*!< TIM DMA Base Address is CCR1 */ +#define TIM_DMABASE_CCR2 (0x0000000EU) /*!< TIM DMA Base Address is CCR2 */ +#define TIM_DMABASE_CCR3 (0x0000000FU) /*!< TIM DMA Base Address is CCR3 */ +#define TIM_DMABASE_CCR4 (0x00000010U) /*!< TIM DMA Base Address is CCR3 */ +#define TIM_DMABASE_BDTR (0x00000011U) /*!< TIM DMA Base Address is BDTR */ +#define TIM_DMABASE_DCR (0x00000012U) /*!< TIM DMA Base Address is DCR */ +#define TIM_DMABASE_DMAR (0x00000013U) /*!< TIM DMA Base Address is DMAR */ +#define TIM_DMABASE_AF1 (0x00000014U) /*!< TIM DMA Base Address is AF1 */ +#define TIM_DMABASE_CCMR3 (0x00000015U) /*!< TIM DMA Base Address is CCMR3 */ +#define TIM_DMABASE_CCR5 (0x00000016U) /*!< TIM DMA Base Address is CCR5 */ +#define TIM_DMABASE_CCR6 (0x00000017U) /*!< TIM DMA Base Address is CCR6 */ +#define TIM_DMABASE_AF2 (0x00000018U) /*!< TIM DMA Base Address is AF2 */ +#define TIM_DMABASE_AF3 (0x00000019U) /*!< TIM DMA Base Address is AF3 */ +#define TIM_DMABASE_TISEL (0x0000001AU) /*!< TIM DMA Base Address is TISEL */ +/** + * @} + */ + +/** @defgroup TIMEx_Remap TIM Extended Remapping + * @{ + */ +#define TIM_TIM1_ETR_GPIO (0x00000000) /* !< TIM1_ETR is connected to GPIO */ +#define TIM_TIM1_ETR_ADC1_AWD1 (0x0000C000) /* !< TIM1_ETR is connected to ADC1 AWD1 */ +#define TIM_TIM1_ETR_ADC1_AWD2 (0x00010000) /* !< TIM1_ETR is connected to ADC1 AWD2 */ +#define TIM_TIM1_ETR_ADC1_AWD3 (0x00014000) /* !< TIM1_ETR is connected to ADC1 AWD3 */ +#define TIM_TIM1_ETR_ADC3_AWD1 (0x00018000) /* !< TIM1_ETR is connected to ADC3 AWD1 */ +#define TIM_TIM1_ETR_ADC3_AWD2 (0x0001C000) /* !< TIM1_ETR is connected to ADC3 AWD2 */ +#define TIM_TIM1_ETR_ADC3_AWD3 (0x00020000) /* !< TIM1_ETR is connected to ADC3 AWD3 */ +#define TIM_TIM1_ETR_COMP1_OUT (0x00004000) /* !< TIM1_ETR is connected to COMP1 OUT */ +#define TIM_TIM1_ETR_COMP2_OUT (0x00008000) /* !< TIM1_ETR is connected to COMP2 OUT */ + +#define TIM_TIM8_ETR_GPIO (0x00000000) /* !< TIM8_ETR is connected to GPIO */ +#define TIM_TIM8_ETR_ADC2_AWD1 (0x0000C000) /* !< TIM8_ETR is connected to ADC2 AWD1 */ +#define TIM_TIM8_ETR_ADC2_AWD2 (0x00010000) /* !< TIM8_ETR is connected to ADC2 AWD2 */ +#define TIM_TIM8_ETR_ADC2_AWD3 (0x00014000) /* !< TIM8_ETR is connected to ADC2 AWD3 */ +#define TIM_TIM8_ETR_ADC3_AWD1 (0x00018000) /* !< TIM8_ETR is connected to ADC3 AWD1 */ +#define TIM_TIM8_ETR_ADC3_AWD2 (0x0001C000) /* !< TIM8_ETR is connected to ADC3 AWD2 */ +#define TIM_TIM8_ETR_ADC3_AWD3 (0x00020000) /* !< TIM8_ETR is connected to ADC3 AWD3 */ +#define TIM_TIM8_ETR_COMP1_OUT (0x00004000) /* !< TIM8_ETR is connected to COMP1 OUT */ +#define TIM_TIM8_ETR_COMP2_OUT (0x00008000) /* !< TIM8_ETR is connected to COMP2 OUT */ + +#define TIM_TIM2_ETR_GPIO (0x00000000) /* !< TIM2_ETR is connected to GPIO */ +#define TIM_TIM2_ETR_COMP1_OUT (0x0000C000) /* !< TIM2_ETR is connected to COMP1 OUT */ +#define TIM_TIM2_ETR_COMP2_OUT (0x00010000) /* !< TIM2_ETR is connected to COMP2 OUT */ +#define TIM_TIM2_ETR_RCC_LSE (0x00014000) /* !< TIM2_ETR is connected to RCC LSE */ +#define TIM_TIM2_ETR_SAI1_FSA (0x00018000) /* !< TIM2_ETR is connected to SAI1 FS_A */ +#define TIM_TIM2_ETR_SAI1_FSB (0x0001C000) /* !< TIM2_ETR is connected to SAI1 FS_B */ + +#define TIM_TIM3_ETR_GPIO (0x00000000) /* !< TIM3_ETR is connected to GPIO */ +#define TIM_TIM3_ETR_COMP1_OUT (0x00000000) /* !< TIM3_ETR is connected to COMP1 OUT */ + +#define TIM_TIM5_ETR_GPIO (0x00000000) /* !< TIM5_ETR is connected to GPIO */ +#define TIM_TIM5_ETR_SAI2_FSA (0x00000000) /* !< TIM5_ETR is connected to SAI2 FS_A */ +#define TIM_TIM5_ETR_SAI2_FSB (0x00000000) /* !< TIM5_ETR is connected to SAI2 FS_B */ + +#define TIM_TIM1_BKR_GPIO (0x00000000) /* !< TIM1_BKR is connected to GPIO */ +#define TIM_TIM1_BKR_COMP1_OUT (0x00000002) /* !< TIM1_BKR is connected to COMP1 OUT */ +#define TIM_TIM1_BKR_COMP2_OUT (0x00000004) /* !< TIM1_BKR is connected to COMP2 OUT */ +#define TIM_TIM1_BKR_DFSDM_BRK0 (0x00000000) /* !< TIM1_BKR is connected to DFSDM BRK0 */ + +#define TIM_TIM8_BKR_GPIO (0x00000000) /* !< TIM8_BKR is connected to GPIO */ +#define TIM_TIM8_BKR_COMP1_OUT (0x00000002) /* !< TIM8_BKR is connected to COMP1 OUT */ +#define TIM_TIM8_BKR_COMP2_OUT (0x00000004) /* !< TIM8_BKR is connected to COMP2 OUT */ +#define TIM_TIM8_BKR_DFSDM_BRK2 (0x00000000) /* !< TIM8_BKR is connected to DFSDM BRK2 */ + +#define TIM_TIM15_BKR_GPIO (0x00000000) /* !< TIM15_BKR is connected to GPIO */ +#define TIM_TIM15_BKR_COMP1_OUT (0x00000002) /* !< TIM15_BKR is connected to COMP1 OUT */ +#define TIM_TIM15_BKR_COMP2_OUT (0x00000004) /* !< TIM15_BKR is connected to COMP2 OUT */ +#define TIM_TIM15_BKR_DFSDM_BRK0 (0x00000000) /* !< TIM15_BKR is connected to DFSDM BRK0 */ + +#define TIM_TIM16_BKR_GPIO (0x00000000) /* !< TIM16_BKR is connected to GPIO */ +#define TIM_TIM16_BKR_COMP1_OUT (0x00000002) /* !< TIM16_BKR is connected to COMP1 OUT */ +#define TIM_TIM16_BKR_COMP2_OUT (0x00000004) /* !< TIM16_BKR is connected to COMP2 OUT */ +#define TIM_TIM16_BKR_DFSDM_BRK1 (0x00000000) /* !< TIM16_BKR is connected to DFSDM BRK1 */ + +#define TIM_TIM17_BKR_GPIO (0x00000000) /* !< TIM17_BKR is connected to GPIO */ +#define TIM_TIM17_BKR_COMP1_OUT (0x00000002) /* !< TIM17_BKR is connected to COMP1 OUT */ +#define TIM_TIM17_BKR_COMP2_OUT (0x00000004) /* !< TIM17_BKR is connected to COMP2 OUT */ +#define TIM_TIM17_BKR_DFSDM_BRK2 (0x00000000) /* !< TIM17_BKR is connected to DFSDM BRK2 */ + +#define TIM_TIM1_BKR2_GPIO (0x00000000) /* !< TIM1_BKR2 is connected to GPIO */ +#define TIM_TIM1_BKR2_COMP1_OUT (0x00000002) /* !< TIM1_BKR2 is connected to COMP1 OUT */ +#define TIM_TIM1_BKR2_COMP2_OUT (0x00000004) /* !< TIM1_BKR2 is connected to COMP2 OUT */ +#define TIM_TIM1_BKR2_DFSDM_BRK1 (0x00000000) /* !< TIM1_BKR2 is connected to DFSDM BRK0 */ + +#define TIM_TIM8_BKR2_GPIO (0x00000000) /* !< TIM8_BKR2 is connected to GPIO */ +#define TIM_TIM8_BKR2_COMP1_OUT (0x00000002) /* !< TIM8_BKR2 is connected to COMP1 OUT */ +#define TIM_TIM8_BKR2_COMP2_OUT (0x00000004) /* !< TIM8_BKR2 is connected to COMP2 OUT */ +#define TIM_TIM8_BKR2_DFSDM_BRK3 (0x00000000) /* !< TIM8_BKR2 is connected to DFSDM BRK3 */ + +#define TIM_TIM1_TI1_GPIO (0x00000000) /* !< TIM1_TI1 is connected to GPIO */ +#define TIM_TIM1_TI1_COMP1_OUT (0x00000001) /* !< TIM1_TI1 is connected to COMP1 OUT */ + +#define TIM_TIM8_TI1_GPIO (0x00000000) /* !< TIM8_TI1 is connected to GPIO */ +#define TIM_TIM8_TI1_COMP2_OUT (0x00000001) /* !< TIM8_TI1 is connected to COMP2 OUT */ + +#define TIM_TIM2_TI4_GPIO (0x00000000) /* !< TIM2_TI4 is connected to GPIO */ +#define TIM_TIM2_TI4_COMP1_OUT (0x01000000) /* !< TIM2_TI4 is connected to COMP1 OUT */ +#define TIM_TIM2_TI4_COMP2_OUT (0x02000000) /* !< TIM2_TI4 is connected to COMP2 OUT */ +#define TIM_TIM2_TI4_COMP1COMP2_OUT (0x03000000) /* !< TIM2_TI4 is connected to COMP2 OUT OR COMP2 OUT */ + +#define TIM_TIM3_TI1_GPIO (0x00000000) /* !< TIM3_TI1 is connected to GPIO */ +#define TIM_TIM3_TI1_COMP1_OUT (0x00000001) /* !< TIM3_TI1 is connected to COMP1 OUT */ +#define TIM_TIM3_TI1_COMP2_OUT (0x00000002) /* !< TIM3_TI1 is connected to COMP2 OUT */ +#define TIM_TIM3_TI1_COMP1COMP2_OUT (0x00000003) /* !< TIM3_TI1 is connected to COMP2 OUT OR COMP2 OUT */ + +#define TIM_TIM5_TI1_GPIO (0x00000000) /* !< TIM5_TI1 is connected to GPIO */ +#define TIM_TIM5_TI1_CAN_TMP (0x00000001) /* !< TIM5_TI1 is connected to CAN TMP */ +#define TIM_TIM5_TI1_CAN_RTP (0x00000002) /* !< TIM5_TI1 is connected to CAN RTP */ + +#define TIM_TIM15_TI1_GPIO (0x00000000) /* !< TIM15_TI1 is connected to GPIO */ +#define TIM_TIM15_TI1_TIM2_CH1 (0x00000001) /* !< TIM15_TI1 is connected to TIM2 CH1 */ +#define TIM_TIM15_TI1_TIM3_CH1 (0x00000002) /* !< TIM15_TI1 is connected to TIM3 CH1 */ +#define TIM_TIM15_TI1_TIM4_CH1 (0x00000003) /* !< TIM15_TI1 is connected to TIM4 CH1 */ +#define TIM_TIM15_TI1_RCC_LSE (0x00000004) /* !< TIM15_TI1 is connected to RCC LSE */ +#define TIM_TIM15_TI1_RCC_CSI (0x00000005) /* !< TIM15_TI1 is connected to RCC CSI */ +#define TIM_TIM15_TI1_RCC_MCO2 (0x00000006) /* !< TIM15_TI1 is connected to RCC MCO2 */ + +#define TIM_TIM15_TI2_GPIO (0x00000000) /* !< TIM15_TI2 is connected to GPIO */ +#define TIM_TIM15_TI2_TIM2_CH2 (0x00000100) /* !< TIM15_TI2 is connected to TIM2 CH2 */ +#define TIM_TIM15_TI2_TIM3_CH2 (0x00000200) /* !< TIM15_TI2 is connected to TIM3 CH2 */ +#define TIM_TIM15_TI2_TIM4_CH2 (0x00000300) /* !< TIM15_TI2 is connected to TIM4 CH2 */ + +#define TIM_TIM16_TI1_GPIO (0x00000000) /* !< TIM16 TI1 is connected to GPIO */ +#define TIM_TIM16_TI1_RCC_LSI (0x00000001) /* !< TIM16 TI1 is connected to RCC LSI */ +#define TIM_TIM16_TI1_RCC_LSE (0x00000002) /* !< TIM16 TI1 is connected to RCC LSE */ +#define TIM_TIM16_TI1_WKUP_IT (0x00000003) /* !< TIM16 TI1 is connected to WKUP_IT */ + +#define TIM_TIM17_TI1_GPIO (0x00000000) /* !< TIM17 TI1 is connected to GPIO */ +#define TIM_TIM17_TI1_SPDIF_FS (0x00000001) /* !< TIM17 TI1 is connected to RCC LSI */ +#define TIM_TIM17_TI1_RCC_HSE1MHZ (0x00000002) /* !< TIM17 TI1 is connected to RCC LSE */ +#define TIM_TIM17_TI1_RCC_MCO1 (0x00000003) /* !< TIM17 TI1 is connected to RCC MCO1 */ + +/** + * @} + */ + +/** @defgroup TIMEx_Group_Channel5 Group Channel 5 and Channel 1, 2 or 3 + * @{ + */ +#define TIM_GROUPCH5_NONE (uint32_t)0x00000000 /* !< No effect of OC5REF on OC1REFC, OC2REFC and OC3REFC */ +#define TIM_GROUPCH5_OC1REFC (TIM_CCR5_GC5C1) /* !< OC1REFC is the logical AND of OC1REFC and OC5REF */ +#define TIM_GROUPCH5_OC2REFC (TIM_CCR5_GC5C2) /* !< OC2REFC is the logical AND of OC2REFC and OC5REF */ +#define TIM_GROUPCH5_OC3REFC (TIM_CCR5_GC5C3) /* !< OC3REFC is the logical AND of OC3REFC and OC5REF */ + + +/** @defgroup TIMEx_Break_Input TIM Extended Break input + * @{ + */ +#define TIM_BREAKINPUT_BRK ((uint32_t)(0x00000001)) /* !< Timer break input */ +#define TIM_BREAKINPUT_BRK2 ((uint32_t)(0x00000002)) /* !< Timer break2 input */ +/** + * @} + */ + +/** @defgroup TIMEx_Break_Input_Source TIM Extended Break input source + * @{ + */ +#define TIM_BREAKINPUTSOURCE_BKIN ((uint32_t)(0x00000001)) /* !< An external source (GPIO) is connected to the BKIN pin */ +#define TIM_BREAKINPUTSOURCE_COMP1 ((uint32_t)(0x00000002)) /* !< The COMP1 output is connected to the break input */ +#define TIM_BREAKINPUTSOURCE_COMP2 ((uint32_t)(0x00000004)) /* !< The COMP2 output is connected to the break input */ +#define TIM_BREAKINPUTSOURCE_DFSDM1 ((uint32_t)(0x00000008)) /* !< The analog watchdog output of the DFSDM1 peripheral is connected to the break input */ +/** + * @} + */ + +/** @defgroup TIMEx_Break_Input_Source_Enable TIM Extended Break input source enabling + * @{ + */ +#define TIM_BREAKINPUTSOURCE_DISABLE ((uint32_t)(0x00000000)) /* !< Break input source is disabled */ +#define TIM_BREAKINPUTSOURCE_ENABLE ((uint32_t)(0x00000001)) /* !< Break input source is enabled */ +/** + * @} + */ + +/** @defgroup TIMEx_Break_Input_Source_Polarity TIM Extended Break input polarity + * @{ + */ +#define TIM_BREAKINPUTSOURCE_POLARITY_LOW ((uint32_t)(0x00000001)) /* !< Break input source is active low */ +#define TIM_BREAKINPUTSOURCE_POLARITY_HIGH ((uint32_t)(0x00000000)) /* !< Break input source is active_high */ +/** + * @} + */ + +/** + * @} + */ +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup TIMEx_Exported_Macros TIM Extended Exported Macros + * @{ + */ + +/* Private macro -------------------------------------------------------------*/ +/** @defgroup TIMEx_Private_Macros TIM Extended Private Macros + * @{ + */ +#define IS_TIM_REMAP(__REMAP__) (((__REMAP__) <= (uint32_t)0x0001C01F)) + +#define IS_TIM_BREAKINPUT(__BREAKINPUT__) (((__BREAKINPUT__) == TIM_BREAKINPUT_BRK) || \ + ((__BREAKINPUT__) == TIM_BREAKINPUT_BRK2)) + +#define IS_TIM_BREAKINPUTSOURCE(__SOURCE__) (((__SOURCE__) == TIM_BREAKINPUTSOURCE_BKIN) || \ + ((__SOURCE__) == TIM_BREAKINPUTSOURCE_COMP1) || \ + ((__SOURCE__) == TIM_BREAKINPUTSOURCE_COMP2) || \ + ((__SOURCE__) == TIM_BREAKINPUTSOURCE_DFSDM1)) + +#define IS_TIM_BREAKINPUTSOURCE_STATE(__STATE__) (((__STATE__) == TIM_BREAKINPUTSOURCE_DISABLE) || \ + ((__STATE__) == TIM_BREAKINPUTSOURCE_ENABLE)) + +#define IS_TIM_BREAKINPUTSOURCE_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_BREAKINPUTSOURCE_POLARITY_LOW) || \ + ((__POLARITY__) == TIM_BREAKINPUTSOURCE_POLARITY_HIGH)) + +#define IS_TIM_TISEL(TISEL) (((TISEL) == TIM_TIM1_TI1_GPIO) ||\ + ((TISEL) == TIM_TIM1_TI1_COMP1_OUT) ||\ + ((TISEL) == TIM_TIM8_TI1_GPIO) ||\ + ((TISEL) == TIM_TIM8_TI1_COMP2_OUT) ||\ + ((TISEL) == TIM_TIM2_TI4_GPIO) ||\ + ((TISEL) == TIM_TIM2_TI4_COMP1_OUT) ||\ + ((TISEL) == TIM_TIM2_TI4_COMP2_OUT) ||\ + ((TISEL) == TIM_TIM2_TI4_COMP1COMP2_OUT) ||\ + ((TISEL) == TIM_TIM3_TI1_GPIO) ||\ + ((TISEL) == TIM_TIM3_TI1_COMP1_OUT) ||\ + ((TISEL) == TIM_TIM3_TI1_COMP2_OUT) ||\ + ((TISEL) == TIM_TIM3_TI1_COMP1COMP2_OUT) ||\ + ((TISEL) == TIM_TIM5_TI1_GPIO) ||\ + ((TISEL) == TIM_TIM5_TI1_CAN_TMP) ||\ + ((TISEL) == TIM_TIM5_TI1_CAN_RTP) ||\ + ((TISEL) == TIM_TIM15_TI1_GPIO) ||\ + ((TISEL) == TIM_TIM15_TI1_TIM2_CH1) ||\ + ((TISEL) == TIM_TIM15_TI1_TIM3_CH1) ||\ + ((TISEL) == TIM_TIM15_TI1_TIM4_CH1) ||\ + ((TISEL) == TIM_TIM15_TI1_RCC_LSE) ||\ + ((TISEL) == TIM_TIM15_TI1_RCC_CSI) ||\ + ((TISEL) == TIM_TIM15_TI1_RCC_MCO2) ||\ + ((TISEL) == TIM_TIM15_TI2_GPIO) ||\ + ((TISEL) == TIM_TIM15_TI2_TIM2_CH2) ||\ + ((TISEL) == TIM_TIM15_TI2_TIM3_CH2) ||\ + ((TISEL) == TIM_TIM15_TI2_TIM4_CH2) ||\ + ((TISEL) == TIM_TIM16_TI1_GPIO) ||\ + ((TISEL) == TIM_TIM16_TI1_RCC_LSI) ||\ + ((TISEL) == TIM_TIM16_TI1_RCC_LSE) ||\ + ((TISEL) == TIM_TIM16_TI1_WKUP_IT) ||\ + ((TISEL) == TIM_TIM17_TI1_GPIO) ||\ + ((TISEL) == TIM_TIM17_TI1_SPDIF_FS) ||\ + ((TISEL) == TIM_TIM17_TI1_RCC_HSE1MHZ) ||\ + ((TISEL) == TIM_TIM17_TI1_RCC_MCO1)) + +#define IS_TIM_BKR2REMAP(BK2RREMAP) (((BKR2REMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKR2REMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKR2REMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKR2REMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKR2REMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKR2REMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKR2REMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKR2REMAP) == TIM_TIM1_BKR_GPIO)) + +#define IS_TIM_BKRREMAP(BKRREMAP) (((BKRREMAP) == TIM_TIM1_BKR_GPIO) ||\ + ((BKRREMAP) == TIM_TIM1_BKR_COMP1_OUT) ||\ + ((BKRREMAP) == TIM_TIM1_BKR_COMP2_OUT) ||\ + ((BKRREMAP) == TIM_TIM1_BKR_DFSDM_BRK0) ||\ + ((BKRREMAP) == TIM_TIM8_BKR_GPIO) ||\ + ((BKRREMAP) == TIM_TIM8_BKR_COMP1_OUT) ||\ + ((BKRREMAP) == TIM_TIM8_BKR_COMP2_OUT) ||\ + ((BKRREMAP) == TIM_TIM8_BKR_DFSDM_BRK2) ||\ + ((BKRREMAP) == TIM_TIM15_BKR_GPIO) ||\ + ((BKRREMAP) == TIM_TIM15_BKR_COMP1_OUT) ||\ + ((BKRREMAP) == TIM_TIM15_BKR_COMP2_OUT) ||\ + ((BKRREMAP) == TIM_TIM15_BKR_DFSDM_BRK0) ||\ + ((BKRREMAP) == TIM_TIM16_BKR_GPIO) ||\ + ((BKRREMAP) == TIM_TIM16_BKR_COMP1_OUT) ||\ + ((BKRREMAP) == TIM_TIM16_BKR_COMP2_OUT) ||\ + ((BKRREMAP) == TIM_TIM16_BKR_DFSDM_BRK1) ||\ + ((BKRREMAP) == TIM_TIM17_BKR_GPIO) ||\ + ((BKRREMAP) == TIM_TIM17_BKR_COMP1_OUT) ||\ + ((BKRREMAP) == TIM_TIM17_BKR_COMP2_OUT) ||\ + ((BKRREMAP) == TIM_TIM17_BKR_DFSDM_BRK2)) + +#define IS_TIM_ETRREMAP(ETRREMAP) (((ETRREMAP) == TIM_TIM1_ETR_GPIO) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_ADC1_AWD1) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_ADC1_AWD2) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_ADC1_AWD3) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_ADC3_AWD1) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_ADC3_AWD2) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_ADC3_AWD3) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_COMP1_OUT) ||\ + ((ETRREMAP) == TIM_TIM1_ETR_COMP2_OUT) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_GPIO) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_ADC2_AWD1) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_ADC2_AWD2) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_ADC2_AWD3) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_ADC3_AWD1) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_ADC3_AWD2) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_ADC3_AWD3) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_COMP1_OUT) ||\ + ((ETRREMAP) == TIM_TIM8_ETR_COMP2_OUT) ||\ + ((ETRREMAP) == TIM_TIM2_ETR_GPIO) ||\ + ((ETRREMAP) == TIM_TIM2_ETR_COMP1_OUT) ||\ + ((ETRREMAP) == TIM_TIM2_ETR_COMP2_OUT) ||\ + ((ETRREMAP) == TIM_TIM2_ETR_RCC_LSE) ||\ + ((ETRREMAP) == TIM_TIM2_ETR_SAI1_FSA) ||\ + ((ETRREMAP) == TIM_TIM2_ETR_SAI1_FSB) ||\ + ((ETRREMAP) == TIM_TIM3_ETR_GPIO) ||\ + ((ETRREMAP) == TIM_TIM3_ETR_COMP1_OUT) ||\ + ((ETRREMAP) == TIM_TIM5_ETR_GPIO) ||\ + ((ETRREMAP) == TIM_TIM5_ETR_SAI2_FSA) |\ + ((ETRREMAP) == TIM_TIM5_ETR_SAI2_FSB)) +/** + * @} + */ +/* End of private macro ------------------------------------------------------*/ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup TIMEx_Exported_Functions TIM Extended Exported Functions + * @{ + */ + +/** @addtogroup TIMEx_Exported_Functions_Group1 Extended Timer Hall Sensor functions + * @brief Timer Hall Sensor functions + * @{ + */ +/* Timer Hall Sensor functions **********************************************/ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, TIM_HallSensor_InitTypeDef* sConfig); +HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim); + +void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim); +void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim); + + /* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim); +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim); +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length); +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim); +/** + * @} + */ + +/** @addtogroup TIMEx_Exported_Functions_Group2 Extended Timer Complementary Output Compare functions + * @brief Timer Complementary Output Compare functions + * @{ + */ +/* Timer Complementary Output Compare functions *****************************/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel); + +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel); + +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length); +HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel); +/** + * @} + */ + +/** @addtogroup TIMEx_Exported_Functions_Group3 Extended Timer Complementary PWM functions + * @brief Timer Complementary PWM functions + * @{ + */ +/* Timer Complementary PWM functions ****************************************/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel); + +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel); +/* Non-Blocking mode: DMA */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length); +HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel); +/** + * @} + */ + +/** @addtogroup TIMEx_Exported_Functions_Group4 Extended Timer Complementary One Pulse functions + * @brief Timer Complementary One Pulse functions + * @{ + */ +/* Timer Complementary One Pulse functions **********************************/ +/* Blocking mode: Polling */ +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel); +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel); + +/* Non-Blocking mode: Interrupt */ +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel); +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel); +/** + * @} + */ + +/** @addtogroup TIMEx_Exported_Functions_Group5 Extended Peripheral Control functions + * @brief Peripheral Control functions + * @{ + */ +/* Extended Control functions ************************************************/ +HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource); +HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource); +HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource); +HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef * sMasterConfig); +HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig); +HAL_StatusTypeDef HAL_TIMEx_ConfigBreakInput(TIM_HandleTypeDef *htim, uint32_t BreakInput, TIMEx_BreakInputConfigTypeDef *sBreakInputConfig); +HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap); +HAL_StatusTypeDef HAL_TIMEx_TISelection(TIM_HandleTypeDef *htim, uint32_t TISelection , uint32_t Channel); +HAL_StatusTypeDef HAL_TIMEx_GroupChannel5(TIM_HandleTypeDef *htim, uint32_t Channels); + +/** + * @} + */ + +/** @addtogroup TIMEx_Exported_Functions_Group6 Extended Callbacks functions + * @brief Extended Callbacks functions + * @{ + */ +/* Extended Callback *********************************************************/ +void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef *htim); +void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim); + +/** + * @} + */ + +/** @addtogroup TIMEx_Exported_Functions_Group7 Extended Peripheral State functions + * @brief Extended Peripheral State functions + * @{ + */ +/* Extended Peripheral State functions **************************************/ +HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim); +/** + * @} + */ +/* End of exported functions -------------------------------------------------*/ +/** + * @} + */ +/* Private functions----------------------------------------------------------*/ +/** @defgroup TIMEx_Private_Functions TIMEx Private Functions +* @{ +*/ +void HAL_TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma); +/** +* @} +*/ +/* End of private functions --------------------------------------------------*/ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_TIM_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h new file mode 100644 index 0000000000..d3dd6a7e3c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h @@ -0,0 +1,1631 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_uart.h + * @author MCD Application Team + * @brief Header file of UART HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_UART_H +#define __STM32H7xx_HAL_UART_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup UART + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup UART_Exported_Types UART Exported Types + * @{ + */ + +/** + * @brief UART Init Structure definition + */ +typedef struct +{ + uint32_t BaudRate; /*!< This member configures the UART communication baud rate. + The baud rate register is computed using the following formula: + - If oversampling is 16 or in LIN mode, + Baud Rate Register = ((PCLKx) / ((huart->Init.BaudRate))) + - If oversampling is 8, + Baud Rate Register[15:4] = ((2 * PCLKx) / ((huart->Init.BaudRate)))[15:4] + Baud Rate Register[3] = 0 + Baud Rate Register[2:0] = (((2 * PCLKx) / ((huart->Init.BaudRate)))[3:0]) >> 1 */ + + uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame. + This parameter can be a value of @ref UARTEx_Word_Length. */ + + uint32_t StopBits; /*!< Specifies the number of stop bits transmitted. + This parameter can be a value of @ref UART_Stop_Bits. */ + + uint32_t Parity; /*!< Specifies the parity mode. + This parameter can be a value of @ref UART_Parity + @note When parity is enabled, the computed parity is inserted + at the MSB position of the transmitted data (9th bit when + the word length is set to 9 data bits; 8th bit when the + word length is set to 8 data bits). */ + + uint32_t Mode; /*!< Specifies whether the Receive or Transmit mode is enabled or disabled. + This parameter can be a value of @ref UART_Mode. */ + + uint32_t HwFlowCtl; /*!< Specifies whether the hardware flow control mode is enabled + or disabled. + This parameter can be a value of @ref UART_Hardware_Flow_Control. */ + + uint32_t OverSampling; /*!< Specifies whether the Over sampling 8 is enabled or disabled, to achieve higher speed (up to f_PCLK/8). + This parameter can be a value of @ref UART_Over_Sampling. */ + + uint32_t OneBitSampling; /*!< Specifies whether a single sample or three samples' majority vote is selected. + Selecting the single sample method increases the receiver tolerance to clock + deviations. This parameter can be a value of @ref UART_OneBit_Sampling. */ + + uint32_t Prescaler; /*!< Specifies the prescaler value used to divide the UART clock source. + This parameter can be a value of @ref UART_Prescaler. */ + + uint32_t FIFOMode; /*!< Specifies if the FIFO mode will be used. This parameter can be a value + of @ref UART_FIFO_mode. */ + + uint32_t TXFIFOThreshold; /*!< Specifies the TXFIFO threshold level. + This parameter can be a value of @ref UART_TXFIFO_threshold_level. */ + + uint32_t RXFIFOThreshold; /*!< Specifies the RXFIFO threshold level. + This parameter can be a value of @ref UART_RXFIFO_threshold_level. */ + +}UART_InitTypeDef; + +/** + * @brief UART Advanced Features initalization structure definition + */ +typedef struct +{ + uint32_t AdvFeatureInit; /*!< Specifies which advanced UART features is initialized. Several + Advanced Features may be initialized at the same time . + This parameter can be a value of @ref UART_Advanced_Features_Initialization_Type. */ + + uint32_t TxPinLevelInvert; /*!< Specifies whether the TX pin active level is inverted. + This parameter can be a value of @ref UART_Tx_Inv. */ + + uint32_t RxPinLevelInvert; /*!< Specifies whether the RX pin active level is inverted. + This parameter can be a value of @ref UART_Rx_Inv. */ + + uint32_t DataInvert; /*!< Specifies whether data are inverted (positive/direct logic + vs negative/inverted logic). + This parameter can be a value of @ref UART_Data_Inv. */ + + uint32_t Swap; /*!< Specifies whether TX and RX pins are swapped. + This parameter can be a value of @ref UART_Rx_Tx_Swap. */ + + uint32_t OverrunDisable; /*!< Specifies whether the reception overrun detection is disabled. + This parameter can be a value of @ref UART_Overrun_Disable. */ + + uint32_t DMADisableonRxError; /*!< Specifies whether the DMA is disabled in case of reception error. + This parameter can be a value of @ref UART_DMA_Disable_on_Rx_Error. */ + + uint32_t AutoBaudRateEnable; /*!< Specifies whether auto Baud rate detection is enabled. + This parameter can be a value of @ref UART_AutoBaudRate_Enable */ + + uint32_t AutoBaudRateMode; /*!< If auto Baud rate detection is enabled, specifies how the rate + detection is carried out. + This parameter can be a value of @ref UART_AutoBaud_Rate_Mode. */ + + uint32_t MSBFirst; /*!< Specifies whether MSB is sent first on UART line. + This parameter can be a value of @ref UART_MSB_First. */ +} UART_AdvFeatureInitTypeDef; + + + +/** + * @brief HAL UART State structures definition + * @note HAL UART State value is a combination of 2 different substates: gState and RxState. + * - gState contains UART state information related to global Handle management + * and also information related to Tx operations. + * gState value coding follow below described bitmap : + * b7-b6 Error information + * 00 : No Error + * 01 : (Not Used) + * 10 : Timeout + * 11 : Error + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP not initialized. HAL UART Init function already called) + * b4-b3 (not used) + * xx : Should be set to 00 + * b2 Intrinsic process state + * 0 : Ready + * 1 : Busy (IP busy with some configuration or internal operations) + * b1 (not used) + * x : Should be set to 0 + * b0 Tx state + * 0 : Ready (no Tx operation ongoing) + * 1 : Busy (Tx operation ongoing) + * - RxState contains information related to Rx operations. + * RxState value coding follow below described bitmap : + * b7-b6 (not used) + * xx : Should be set to 00 + * b5 IP initilisation status + * 0 : Reset (IP not initialized) + * 1 : Init done (IP not initialized) + * b4-b2 (not used) + * xxx : Should be set to 000 + * b1 Rx state + * 0 : Ready (no Rx operation ongoing) + * 1 : Busy (Rx operation ongoing) + * b0 (not used) + * x : Should be set to 0. + */ +typedef enum +{ + HAL_UART_STATE_RESET = 0x00U, /*!< Peripheral is not initialized + Value is allowed for gState and RxState */ + HAL_UART_STATE_READY = 0x20U, /*!< Peripheral Initialized and ready for use + Value is allowed for gState and RxState */ + HAL_UART_STATE_BUSY = 0x24U, /*!< an internal process is ongoing + Value is allowed for gState only */ + HAL_UART_STATE_BUSY_TX = 0x21U, /*!< Data Transmission process is ongoing + Value is allowed for gState only */ + HAL_UART_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing + Value is allowed for RxState only */ + HAL_UART_STATE_BUSY_TX_RX = 0x23U, /*!< Data Transmission and Reception process is ongoing + Not to be used for neither gState nor RxState. + Value is result of combination (Or) between gState and RxState values */ + HAL_UART_STATE_TIMEOUT = 0xA0U, /*!< Timeout state + Value is allowed for gState only */ + HAL_UART_STATE_ERROR = 0xE0U /*!< Error + Value is allowed for gState only */ +}HAL_UART_StateTypeDef; + +/** + * @brief HAL UART Error Code structure definition + */ +typedef enum +{ + HAL_UART_ERROR_NONE = 0x00U, /*!< No error */ + HAL_UART_ERROR_PE = 0x01U, /*!< Parity error */ + HAL_UART_ERROR_NE = 0x02U, /*!< Noise error */ + HAL_UART_ERROR_FE = 0x04U, /*!< frame error */ + HAL_UART_ERROR_ORE = 0x08U, /*!< Overrun error */ + HAL_UART_ERROR_DMA = 0x10U /*!< DMA transfer error */ +}HAL_UART_ErrorTypeDef; + +/** + * @brief UART clock sources definition + */ +typedef enum +{ + UART_CLOCKSOURCE_D2PCLK1 = 0x00U, /*!< Domain2 PCLK1 clock source */ + UART_CLOCKSOURCE_D2PCLK2 = 0x01U, /*!< Domain2 PCLK2 clock source */ + UART_CLOCKSOURCE_D3PCLK1 = 0x02U, /*!< Domain3 PCLK1 clock source */ + UART_CLOCKSOURCE_PLL2 = 0x04U, /*!< PLL2Q clock source */ + UART_CLOCKSOURCE_HSI = 0x08U, /*!< HSI clock source */ + UART_CLOCKSOURCE_CSI = 0x10U, /*!< CSI clock source */ + UART_CLOCKSOURCE_LSE = 0x20U, /*!< LSE clock source */ + UART_CLOCKSOURCE_PLL3 = 0x40U, /*!< PLL3Q clock source */ + UART_CLOCKSOURCE_UNDEFINED = 0x80U /*!< Undefined clock source */ +}UART_ClockSourceTypeDef; + +/** + * @brief UART handle Structure definition + */ +typedef struct +{ + USART_TypeDef *Instance; /*!< UART registers base address */ + + UART_InitTypeDef Init; /*!< UART communication parameters */ + + UART_AdvFeatureInitTypeDef AdvancedInit; /*!< UART Advanced Features initialization parameters */ + + uint8_t *pTxBuffPtr; /*!< Pointer to UART Tx transfer Buffer */ + + uint16_t TxXferSize; /*!< UART Tx Transfer size */ + + __IO uint16_t TxXferCount; /*!< UART Tx Transfer Counter */ + + uint8_t *pRxBuffPtr; /*!< Pointer to UART Rx transfer Buffer */ + + uint16_t RxXferSize; /*!< UART Rx Transfer size */ + + __IO uint16_t RxXferCount; /*!< UART Rx Transfer Counter */ + + uint16_t Mask; /*!< UART Rx RDR register mask */ + + DMA_HandleTypeDef *hdmatx; /*!< UART Tx DMA Handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< UART Rx DMA Handle parameters */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + __IO HAL_UART_StateTypeDef gState; /*!< UART state information related to global Handle management + and also related to Tx operations. + This parameter can be a value of @ref HAL_UART_StateTypeDef */ + + __IO HAL_UART_StateTypeDef RxState; /*!< UART state information related to Rx operations. + This parameter can be a value of @ref HAL_UART_StateTypeDef */ + + __IO uint32_t ErrorCode; /*!< UART Error code */ + +}UART_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup UART_Exported_Constants UART Exported Constants + * @{ + */ + +/** @defgroup UART_Stop_Bits UART Number of Stop Bits + * @{ + */ +#define UART_STOPBITS_0_5 USART_CR2_STOP_0 /*!< UART frame with 0.5 stop bit */ +#define UART_STOPBITS_1 ((uint32_t)0x00000000U) /*!< UART frame with 1 stop bit */ +#define UART_STOPBITS_1_5 (USART_CR2_STOP_0 | USART_CR2_STOP_1) /*!< UART frame with 1.5 stop bits */ +#define UART_STOPBITS_2 USART_CR2_STOP_1 /*!< UART frame with 2 stop bits */ +/** + * @} + */ + +/** @defgroup UART_Parity UART Parity + * @{ + */ +#define UART_PARITY_NONE ((uint32_t)0x00000000U) /*!< No parity */ +#define UART_PARITY_EVEN ((uint32_t)USART_CR1_PCE) /*!< Even parity */ +#define UART_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS)) /*!< Odd parity */ +/** + * @} + */ + +/** @defgroup UART_Hardware_Flow_Control UART Hardware Flow Control + * @{ + */ +#define UART_HWCONTROL_NONE ((uint32_t)0x00000000U) /*!< No hardware control */ +#define UART_HWCONTROL_RTS ((uint32_t)USART_CR3_RTSE) /*!< Request To Send */ +#define UART_HWCONTROL_CTS ((uint32_t)USART_CR3_CTSE) /*!< Clear To Send */ +#define UART_HWCONTROL_RTS_CTS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE)) /*!< Request and Clear To Send */ +/** + * @} + */ + +/** @defgroup UART_Mode UART Transfer Mode + * @{ + */ +#define UART_MODE_RX ((uint32_t)USART_CR1_RE) /*!< RX mode */ +#define UART_MODE_TX ((uint32_t)USART_CR1_TE) /*!< TX mode */ +#define UART_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE)) /*!< RX and TX mode */ +/** + * @} + */ + +/** @defgroup UART_State UART State + * @{ + */ +#define UART_STATE_DISABLE ((uint32_t)0x00000000U) /*!< UART disabled */ +#define UART_STATE_ENABLE ((uint32_t)USART_CR1_UE) /*!< UART enabled */ +/** + * @} + */ + +/** @defgroup UART_Over_Sampling UART Over Sampling + * @{ + */ +#define UART_OVERSAMPLING_16 ((uint32_t)0x00000000U) /*!< Oversampling by 16 */ +#define UART_OVERSAMPLING_8 ((uint32_t)USART_CR1_OVER8) /*!< Oversampling by 8 */ +/** + * @} + */ + +/** @defgroup UART_OneBit_Sampling UART One Bit Sampling Method + * @{ + */ +#define UART_ONE_BIT_SAMPLE_DISABLE ((uint32_t)0x00000000U) /*!< One-bit sampling disable */ +#define UART_ONE_BIT_SAMPLE_ENABLE ((uint32_t)USART_CR3_ONEBIT) /*!< One-bit sampling enable */ +/** + * @} + */ + +/** @defgroup UART_Prescaler UART Prescaler + * @{ + */ +#define UART_PRESCALER_DIV1 ((uint32_t)0x00000000U) /*!< UART clock /1 */ +#define UART_PRESCALER_DIV2 ((uint32_t)0x00000001U) /*!< UART clock /2 */ +#define UART_PRESCALER_DIV4 ((uint32_t)0x00000002U) /*!< UART clock /4 */ +#define UART_PRESCALER_DIV6 ((uint32_t)0x00000003U) /*!< UART clock /6 */ +#define UART_PRESCALER_DIV8 ((uint32_t)0x00000004U) /*!< UART clock /8 */ +#define UART_PRESCALER_DIV10 ((uint32_t)0x00000005U) /*!< UART clock /10 */ +#define UART_PRESCALER_DIV12 ((uint32_t)0x00000006U) /*!< UART clock /12 */ +#define UART_PRESCALER_DIV16 ((uint32_t)0x00000007U) /*!< UART clock /16 */ +#define UART_PRESCALER_DIV32 ((uint32_t)0x00000008U) /*!< UART clock /32 */ +#define UART_PRESCALER_DIV64 ((uint32_t)0x00000009U) /*!< UART clock /64 */ +#define UART_PRESCALER_DIV128 ((uint32_t)0x0000000AU) /*!< UART clock /128 */ +#define UART_PRESCALER_DIV256 ((uint32_t)0x0000000BU) /*!< UART clock /256 */ + +/** + * @} + */ + +/** @defgroup UART_FIFO_mode UART FIFO mode + * @brief UART FIFO mode + * @{ + */ +#define UART_FIFOMODE_DISABLE ((uint32_t)0x00000000U) /*!< FIFO mode disable */ +#define UART_FIFOMODE_ENABLE ((uint32_t)USART_CR1_FIFOEN) /*!< FIFO mode enable */ +/** + * @} + */ + +/** @defgroup UART_TXFIFO_threshold_level UART TXFIFO threshold level + * @brief UART TXFIFO level + * @{ + */ +#define UART_TXFIFO_THRESHOLD_1_8 ((uint32_t)0x00000000U) /*!< TXFIFO reaches 1/8 of its depth */ +#define UART_TXFIFO_THRESHOLD_1_4 ((uint32_t)USART_CR3_TXFTCFG_0) /*!< TXFIFO reaches 1/4 of its depth */ +#define UART_TXFIFO_THRESHOLD_1_2 ((uint32_t)USART_CR3_TXFTCFG_1) /*!< TXFIFO reaches 1/2 of its depth */ +#define UART_TXFIFO_THRESHOLD_3_4 ((uint32_t)(USART_CR3_TXFTCFG_0|USART_CR3_TXFTCFG_1)) /*!< TXFIFO reaches 3/4 of its depth */ +#define UART_TXFIFO_THRESHOLD_7_8 ((uint32_t)USART_CR3_TXFTCFG_2) /*!< TXFIFO reaches 7/8 of its depth */ +#define UART_TXFIFO_THRESHOLD_8_8 ((uint32_t)(USART_CR3_TXFTCFG_2|USART_CR3_TXFTCFG_0)) /*!< TXFIFO becomes empty */ +/** + * @} + */ + +/** @defgroup UART_RXFIFO_threshold_level UART RXFIFO threshold level + * @brief UART RXFIFO level + * @{ + */ +#define UART_RXFIFO_THRESHOLD_1_8 ((uint32_t)0x00000000U) /*!< RXFIFO reaches 1/8 of its depth */ +#define UART_RXFIFO_THRESHOLD_1_4 ((uint32_t)USART_CR3_RXFTCFG_0) /*!< RXFIFO reaches 1/4 of its depth */ +#define UART_RXFIFO_THRESHOLD_1_2 ((uint32_t)USART_CR3_RXFTCFG_1) /*!< RXFIFO reaches 1/2 of its depth */ +#define UART_RXFIFO_THRESHOLD_3_4 ((uint32_t)(USART_CR3_RXFTCFG_0|USART_CR3_RXFTCFG_1)) /*!< RXFIFO reaches 3/4 of its depth */ +#define UART_RXFIFO_THRESHOLD_7_8 ((uint32_t)USART_CR3_RXFTCFG_2) /*!< RXFIFO reaches 7/8 of its depth */ +#define UART_RXFIFO_THRESHOLD_8_8 ((uint32_t)(USART_CR3_RXFTCFG_2|USART_CR3_RXFTCFG_0)) /*!< RXFIFO becomes full */ +/** + * @} + */ + +/** @defgroup UART_AutoBaud_Rate_Mode UART Advanced Feature AutoBaud Rate Mode + * @{ + */ +#define UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT ((uint32_t)0x00000000U) /*!< Auto Baud rate detection on start bit */ +#define UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE ((uint32_t)USART_CR2_ABRMODE_0) /*!< Auto Baud rate detection on falling edge */ +#define UART_ADVFEATURE_AUTOBAUDRATE_ON0X7FFRAME ((uint32_t)USART_CR2_ABRMODE_1) /*!< Auto Baud rate detection on 0x7F frame detection */ +#define UART_ADVFEATURE_AUTOBAUDRATE_ON0X55FRAME ((uint32_t)USART_CR2_ABRMODE) /*!< Auto Baud rate detection on 0x55 frame detection */ +/** + * @} + */ + +/** @defgroup UART_Receiver_TimeOut UART Receiver TimeOut + * @{ + */ +#define UART_RECEIVER_TIMEOUT_DISABLE ((uint32_t)0x00000000U) /*!< UART receiver timeout disable */ +#define UART_RECEIVER_TIMEOUT_ENABLE ((uint32_t)USART_CR2_RTOEN) /*!< UART receiver timeout enable */ +/** + * @} + */ + +/** @defgroup UART_LIN UART Local Interconnection Network mode + * @{ + */ +#define UART_LIN_DISABLE ((uint32_t)0x00000000U) /*!< Local Interconnect Network disable */ +#define UART_LIN_ENABLE ((uint32_t)USART_CR2_LINEN) /*!< Local Interconnect Network enable */ +/** + * @} + */ + +/** @defgroup UART_LIN_Break_Detection UART LIN Break Detection + * @{ + */ +#define UART_LINBREAKDETECTLENGTH_10B ((uint32_t)0x00000000U) /*!< LIN 10-bit break detection length */ +#define UART_LINBREAKDETECTLENGTH_11B ((uint32_t)USART_CR2_LBDL) /*!< LIN 11-bit break detection length */ +/** + * @} + */ + +/** @defgroup UART_DMA_Tx UART DMA Tx + * @{ + */ +#define UART_DMA_TX_DISABLE ((uint32_t)0x00000000U) /*!< UART DMA TX disabled */ +#define UART_DMA_TX_ENABLE ((uint32_t)USART_CR3_DMAT) /*!< UART DMA TX enabled */ +/** + * @} + */ + +/** @defgroup UART_DMA_Rx UART DMA Rx + * @{ + */ +#define UART_DMA_RX_DISABLE ((uint32_t)0x00000000U) /*!< UART DMA RX disabled */ +#define UART_DMA_RX_ENABLE ((uint32_t)USART_CR3_DMAR) /*!< UART DMA RX enabled */ +/** + * @} + */ + +/** @defgroup UART_Half_Duplex_Selection UART Half Duplex Selection + * @{ + */ +#define UART_HALF_DUPLEX_DISABLE ((uint32_t)0x00000000U) /*!< UART half-duplex disabled */ +#define UART_HALF_DUPLEX_ENABLE ((uint32_t)USART_CR3_HDSEL) /*!< UART half-duplex enabled */ +/** + * @} + */ + +/** @defgroup UART_WakeUp_Methods UART WakeUp Methods + * @{ + */ +#define UART_WAKEUPMETHOD_IDLELINE ((uint32_t)0x00000000U) /*!< UART wake-up on idle line */ +#define UART_WAKEUPMETHOD_ADDRESSMARK ((uint32_t)USART_CR1_WAKE) /*!< UART wake-up on address mark */ +/** + * @} + */ + +/** @defgroup UART_Request_Parameters UART Request Parameters + * @{ + */ +#define UART_AUTOBAUD_REQUEST ((uint32_t)USART_RQR_ABRRQ) /*!< Auto-Baud Rate Request */ +#define UART_SENDBREAK_REQUEST ((uint32_t)USART_RQR_SBKRQ) /*!< Send Break Request */ +#define UART_MUTE_MODE_REQUEST ((uint32_t)USART_RQR_MMRQ) /*!< Mute Mode Request */ +#define UART_RXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_RXFRQ) /*!< Receive Data flush Request */ +#define UART_TXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_TXFRQ) /*!< Transmit data flush Request */ +/** + * @} + */ + +/** @defgroup UART_Advanced_Features_Initialization_Type UART Advanced Feature Initialization Type + * @{ + */ +#define UART_ADVFEATURE_NO_INIT ((uint32_t)0x00000000U) /*!< No advanced feature initialization */ +#define UART_ADVFEATURE_TXINVERT_INIT ((uint32_t)0x00000001U) /*!< TX pin active level inversion */ +#define UART_ADVFEATURE_RXINVERT_INIT ((uint32_t)0x00000002U) /*!< RX pin active level inversion */ +#define UART_ADVFEATURE_DATAINVERT_INIT ((uint32_t)0x00000004U) /*!< Binary data inversion */ +#define UART_ADVFEATURE_SWAP_INIT ((uint32_t)0x00000008U) /*!< TX/RX pins swap */ +#define UART_ADVFEATURE_RXOVERRUNDISABLE_INIT ((uint32_t)0x00000010U) /*!< RX overrun disable */ +#define UART_ADVFEATURE_DMADISABLEONERROR_INIT ((uint32_t)0x00000020U) /*!< DMA disable on Reception Error */ +#define UART_ADVFEATURE_AUTOBAUDRATE_INIT ((uint32_t)0x00000040U) /*!< Auto Baud rate detection initialization */ +#define UART_ADVFEATURE_MSBFIRST_INIT ((uint32_t)0x00000080U) /*!< Most significant bit sent/received first */ +/** + * @} + */ + +/** @defgroup UART_Tx_Inv UART Advanced Feature TX Pin Active Level Inversion + * @{ + */ +#define UART_ADVFEATURE_TXINV_DISABLE ((uint32_t)0x00000000U) /*!< TX pin active level inversion disable */ +#define UART_ADVFEATURE_TXINV_ENABLE ((uint32_t)USART_CR2_TXINV) /*!< TX pin active level inversion enable */ +/** + * @} + */ + +/** @defgroup UART_Rx_Inv UART Advanced Feature RX Pin Active Level Inversion + * @{ + */ +#define UART_ADVFEATURE_RXINV_DISABLE ((uint32_t)0x00000000U) /*!< RX pin active level inversion disable */ +#define UART_ADVFEATURE_RXINV_ENABLE ((uint32_t)USART_CR2_RXINV) /*!< RX pin active level inversion enable */ +/** + * @} + */ + +/** @defgroup UART_Data_Inv UART Advanced Feature Binary Data Inversion + * @{ + */ +#define UART_ADVFEATURE_DATAINV_DISABLE ((uint32_t)0x00000000U) /*!< Binary data inversion disable */ +#define UART_ADVFEATURE_DATAINV_ENABLE ((uint32_t)USART_CR2_DATAINV) /*!< Binary data inversion enable */ +/** + * @} + */ + +/** @defgroup UART_Rx_Tx_Swap UART Advanced Feature RX TX Pins Swap + * @{ + */ +#define UART_ADVFEATURE_SWAP_DISABLE ((uint32_t)0x00000000U) /*!< TX/RX pins swap disable */ +#define UART_ADVFEATURE_SWAP_ENABLE ((uint32_t)USART_CR2_SWAP) /*!< TX/RX pins swap enable */ +/** + * @} + */ + +/** @defgroup UART_Overrun_Disable UART Advanced Feature Overrun Disable + * @{ + */ +#define UART_ADVFEATURE_OVERRUN_ENABLE ((uint32_t)0x00000000U) /*!< RX overrun enable */ +#define UART_ADVFEATURE_OVERRUN_DISABLE ((uint32_t)USART_CR3_OVRDIS) /*!< RX overrun disable */ +/** + * @} + */ + +/** @defgroup UART_AutoBaudRate_Enable UART Advanced Feature Auto BaudRate Enable + * @{ + */ +#define UART_ADVFEATURE_AUTOBAUDRATE_DISABLE ((uint32_t)0x00000000U) /*!< RX Auto Baud rate detection enable */ +#define UART_ADVFEATURE_AUTOBAUDRATE_ENABLE ((uint32_t)USART_CR2_ABREN) /*!< RX Auto Baud rate detection disable */ +/** + * @} + */ + +/** @defgroup UART_DMA_Disable_on_Rx_Error UART Advanced Feature DMA Disable On Rx Error + * @{ + */ +#define UART_ADVFEATURE_DMA_ENABLEONRXERROR ((uint32_t)0x00000000U) /*!< DMA enable on Reception Error */ +#define UART_ADVFEATURE_DMA_DISABLEONRXERROR ((uint32_t)USART_CR3_DDRE) /*!< DMA disable on Reception Error */ +/** + * @} + */ + +/** @defgroup UART_MSB_First UART Advanced Feature MSB First + * @{ + */ +#define UART_ADVFEATURE_MSBFIRST_DISABLE ((uint32_t)0x00000000U) /*!< Most significant bit sent/received first disable */ +#define UART_ADVFEATURE_MSBFIRST_ENABLE ((uint32_t)USART_CR2_MSBFIRST) /*!< Most significant bit sent/received first enable */ +/** + * @} + */ + +/** @defgroup UART_Stop_Mode_Enable UART Advanced Feature Stop Mode Enable + * @{ + */ +#define UART_ADVFEATURE_STOPMODE_DISABLE ((uint32_t)0x00000000U) /*!< UART stop mode disable */ +#define UART_ADVFEATURE_STOPMODE_ENABLE ((uint32_t)USART_CR1_UESM) /*!< UART stop mode enable */ +/** + * @} + */ + +/** @defgroup UART_Mute_Mode UART Advanced Feature Mute Mode Enable + * @{ + */ +#define UART_ADVFEATURE_MUTEMODE_DISABLE ((uint32_t)0x00000000U) /*!< UART mute mode disable */ +#define UART_ADVFEATURE_MUTEMODE_ENABLE ((uint32_t)USART_CR1_MME) /*!< UART mute mode enable */ +/** + * @} + */ + +/** @defgroup UART_CR2_ADDRESS_LSB_POS UART Address-matching LSB Position In CR2 Register + * @{ + */ +#define UART_CR2_ADDRESS_LSB_POS ((uint32_t) 24U) /*!< UART address-matching LSB position in CR2 register */ +/** + * @} + */ + +/** @defgroup UART_WakeUp_from_Stop_Selection UART WakeUp From Stop Selection + * @{ + */ +#define UART_WAKEUP_ON_ADDRESS ((uint32_t)0x00000000U) /*!< UART wake-up on address */ +#define UART_WAKEUP_ON_STARTBIT ((uint32_t)USART_CR3_WUS_1) /*!< UART wake-up on start bit */ +#define UART_WAKEUP_ON_READDATA_NONEMPTY ((uint32_t)USART_CR3_WUS) /*!< UART wake-up on receive data register not empty */ +#define UART_WAKEUP_ON_RXFIFO_THRESHOLD ((uint32_t)USART_CR3_RXFTIE) /*!< UART wake-up when the RXFIFO reaches threshold */ +#define UART_WAKEUP_ON_RXFIFO_FULL ((uint32_t)USART_CR1_RXFFIE) /*!< UART wake-up when the RXFIFO is full */ +#define UART_WAKEUP_ON_TXFIFO_THRESHOLD ((uint32_t)USART_CR3_TXFTIE) /*!< UART wake-up when the TXFIFO reaches threshold */ +#define UART_WAKEUP_ON_TXFIFO_EMPTY ((uint32_t)USART_CR1_TXFEIE) /*!< UART wake-up when the TXFIFO is empty */ +/** + * @} + */ + +/** @defgroup UART_DriverEnable_Polarity UART DriverEnable Polarity + * @{ + */ +#define UART_DE_POLARITY_HIGH ((uint32_t)0x00000000U) /*!< Driver enable signal is active high */ +#define UART_DE_POLARITY_LOW ((uint32_t)USART_CR3_DEP) /*!< Driver enable signal is active low */ +/** + * @} + */ + +/** @defgroup UART_CR1_DEAT_ADDRESS_LSB_POS UART Driver Enable Assertion Time LSB Position In CR1 Register + * @{ + */ +#define UART_CR1_DEAT_ADDRESS_LSB_POS ((uint32_t) 21U) /*!< UART Driver Enable assertion time LSB position in CR1 register */ +/** + * @} + */ + +/** @defgroup UART_CR1_DEDT_ADDRESS_LSB_POS UART Driver Enable DeAssertion Time LSB Position In CR1 Register + * @{ + */ +#define UART_CR1_DEDT_ADDRESS_LSB_POS ((uint32_t) 16U) /*!< UART Driver Enable de-assertion time LSB position in CR1 register */ +/** + * @} + */ + +/** @defgroup UART_Interruption_Mask UART Interruptions Flag Mask + * @{ + */ +#define UART_IT_MASK ((uint32_t)0x001FU) /*!< UART interruptions flags mask */ +/** + * @} + */ + +/** @defgroup UART_TimeOut_Value UART polling-based communications time-out value + * @{ + */ +#define HAL_UART_TIMEOUT_VALUE 0x1FFFFFFU /*!< UART polling-based communications time-out value */ +/** + * @} + */ + +/** @defgroup UART_Flags UART Status Flags + * Elements values convention: 0xXXXX + * - 0xXXXX : Flag mask in the ISR register + * @{ + */ +#define UART_FLAG_TXFT USART_ISR_TXFT /*!< UART TXFIFO threshold flag */ +#define UART_FLAG_RXFT USART_ISR_RXFT /*!< UART RXFIFO threshold flag */ +#define UART_FLAG_RXFF USART_ISR_RXFF /*!< UART RXFIFO Full flag */ +#define UART_FLAG_TXFE USART_ISR_TXFE /*!< UART TXFIFO Empty flag */ +#define UART_FLAG_REACK USART_ISR_REACK /*!< UART receive enable acknowledge flag */ +#define UART_FLAG_TEACK USART_ISR_TEACK /*!< UART transmit enable acknowledge flag */ +#define UART_FLAG_WUF USART_ISR_WUF /*!< UART wake-up from stop mode flag */ +#define UART_FLAG_RWU USART_ISR_RWU /*!< UART receiver wake-up from mute mode flag */ +#define UART_FLAG_SBKF USART_ISR_SBKF /*!< UART send break flag */ +#define UART_FLAG_CMF USART_ISR_CMF /*!< UART character match flag */ +#define UART_FLAG_BUSY USART_ISR_BUSY /*!< UART busy flag */ +#define UART_FLAG_ABRF USART_ISR_ABRF /*!< UART auto Baud rate flag */ +#define UART_FLAG_ABRE USART_ISR_ABRE /*!< UART uto Baud rate error */ +#define UART_FLAG_RTOF USART_ISR_RTOF /*!< UART receiver timeout flag */ +#define UART_FLAG_CTS USART_ISR_CTS /*!< UART clear to send flag */ +#define UART_FLAG_CTSIF USART_ISR_CTSIF /*!< UART clear to send interrupt flag */ +#define UART_FLAG_LBDF USART_ISR_LBDF /*!< UART LIN break detection flag */ +#define UART_FLAG_TXE USART_ISR_TXE /*!< UART transmit data register empty */ +#define UART_FLAG_TXFNF USART_ISR_TXE /*!< UART TXFIFO not full */ +#define UART_FLAG_TC USART_ISR_TC /*!< UART transmission complete */ +#define UART_FLAG_RXNE USART_ISR_RXNE /*!< UART read data register not empty */ +#define UART_FLAG_RXFNE USART_ISR_RXNE /*!< UART RXFIFO not empty */ +#define UART_FLAG_IDLE USART_ISR_IDLE /*!< UART idle flag */ +#define UART_FLAG_ORE USART_ISR_ORE /*!< UART overrun error */ +#define UART_FLAG_NE USART_ISR_NE /*!< UART noise error */ +#define UART_FLAG_FE USART_ISR_FE /*!< UART frame error */ +#define UART_FLAG_PE USART_ISR_PE /*!< UART parity error */ +/** + * @} + */ + +/** @defgroup UART_Interrupt_definition UART Interrupts Definition + * Elements values convention: 000ZZZZZ0XXYYYYYb + * - YYYYY : Interrupt source position in the XX register (5bits) + * - XX : Interrupt source register (2bits) + * - 01: CR1 register + * - 10: CR2 register + * - 11: CR3 register + * - ZZZZZ : Flag position in the ISR register(5bits) + * @{ + */ +#define UART_IT_PE ((uint32_t)0x0028U) /*!< UART parity error interruption */ +#define UART_IT_TXE ((uint32_t)0x0727U) /*!< UART transmit data register empty interruption */ +#define UART_IT_TC ((uint32_t)0x0626U) /*!< UART transmission complete interruption */ +#define UART_IT_RXNE ((uint32_t)0x0525U) /*!< UART read data register not empty interruption */ +#define UART_IT_IDLE ((uint32_t)0x0424U) /*!< UART idle interruption */ +#define UART_IT_LBD ((uint32_t)0x0846U) /*!< UART LIN break detection interruption */ +#define UART_IT_CTS ((uint32_t)0x096AU) /*!< UART CTS interruption */ +#define UART_IT_CM ((uint32_t)0x112EU) /*!< UART character match interruption */ +#define UART_IT_WUF ((uint32_t)0x1476U) /*!< UART wake-up from stop mode interruption */ +#define UART_IT_RXFF ((uint16_t)0x183FU) +#define UART_IT_TXFE ((uint16_t)0x173EU) +#define UART_IT_RXFT ((uint16_t)0x1A7CU) +#define UART_IT_TXFT ((uint16_t)0x1B77U) + + +/** Elements values convention: 000000000XXYYYYYb + * - YYYYY : Interrupt source position in the XX register (5bits) + * - XX : Interrupt source register (2bits) + * - 01: CR1 register + * - 10: CR2 register + * - 11: CR3 register + */ +#define UART_IT_ERR ((uint32_t)0x0060U) /*!< UART error interruption */ + +/** Elements values convention: 0000ZZZZ00000000b + * - ZZZZ : Flag position in the ISR register(4bits) + */ +#define UART_IT_ORE ((uint32_t)0x0300U) /*!< UART overrun error interruption */ +#define UART_IT_NE ((uint32_t)0x0200U) /*!< UART noise error interruption */ +#define UART_IT_FE ((uint32_t)0x0100U) /*!< UART frame error interruption */ +/** + * @} + */ + +/** @defgroup UART_IT_CLEAR_Flags UART Interruption Clear Flags + * @{ + */ +#define UART_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */ +#define UART_CLEAR_FEF USART_ICR_FECF /*!< Framing Error Clear Flag */ +#define UART_CLEAR_NEF USART_ICR_NCF /*!< Noise detected Clear Flag */ +#define UART_CLEAR_OREF USART_ICR_ORECF /*!< OverRun Error Clear Flag */ +#define UART_CLEAR_IDLEF USART_ICR_IDLECF /*!< IDLE line detected Clear Flag */ +#define UART_CLEAR_TXFECF USART_ICR_TXFECF /*!< TXFIFO empty clear flag */ +#define UART_CLEAR_TCF USART_ICR_TCCF /*!< Transmission Complete Clear Flag */ +#define UART_CLEAR_LBDF USART_ICR_LBDCF /*!< LIN Break Detection Clear Flag */ +#define UART_CLEAR_CTSF USART_ICR_CTSCF /*!< CTS Interrupt Clear Flag */ +#define UART_CLEAR_RTOF USART_ICR_RTOCF /*!< Receiver Time Out Clear Flag */ +#define UART_CLEAR_CMF USART_ICR_CMCF /*!< Character Match Clear Flag */ +#define UART_CLEAR_WUF USART_ICR_WUCF /*!< Wake Up from stop mode Clear Flag */ +/** + * @} + */ + + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup UART_Exported_Macros UART Exported Macros + * @{ + */ + +/** @brief Reset UART handle states. + * @param __HANDLE__: UART handle. + * @retval None + */ +#define __HAL_UART_RESET_HANDLE_STATE(__HANDLE__) do{ \ + (__HANDLE__)->gState = HAL_UART_STATE_RESET; \ + (__HANDLE__)->RxState = HAL_UART_STATE_RESET; \ + } while(0) +/** @brief Flush the UART Data registers. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__) \ + do{ \ + SET_BIT((__HANDLE__)->Instance->RQR, UART_RXDATA_FLUSH_REQUEST); \ + SET_BIT((__HANDLE__)->Instance->RQR, UART_TXDATA_FLUSH_REQUEST); \ + } while(0) + +/** @brief Clear the specified UART pending flag. + * @param __HANDLE__: specifies the UART Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be any combination of the following values: + * @arg UART_FLAG_WUF: Wake up from stop mode flag + * @arg UART_FLAG_CMF: Character match flag + * @arg UART_FLAG_RTOF: Receiver timeout flag + * @arg UART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5) + * @arg UART_FLAG_LBD: LIN Break detection flag + * @arg UART_FLAG_TC: Transmission Complete flag + * @arg UART_FLAG_TXFE: TXFIFO Empty flag + * @arg UART_FLAG_IDLE: Idle Line detection flag + * @arg UART_FLAG_ORE: OverRun Error flag + * @arg UART_FLAG_NE: Noise Error flag + * @arg UART_FLAG_FE: Framing Error flag + * @arg UART_FLAG_PE: Parity Error flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + +/** @brief Clear the UART PE pending flag. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_CLEAR_PEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_PEF) + +/** @brief Clear the UART FE pending flag. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_CLEAR_FEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_FEF) + +/** @brief Clear the UART NE pending flag. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_CLEAR_NEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_NEF) + +/** @brief Clear the UART ORE pending flag. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_CLEAR_OREFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_OREF) + +/** @brief Clear the UART IDLE pending flag. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_CLEAR_IDLEFLAG(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_IDLEF) + +/** @brief Clear the UART TX FIFO empty clear flag. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_CLEAR_TXFECF(__HANDLE__) __HAL_UART_CLEAR_FLAG((__HANDLE__), UART_CLEAR_TXFECF) + +/** @brief Check whether the specified UART flag is set or not. + * @param __HANDLE__: specifies the UART Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg UART_FLAG_TXFT: TXFIFO threshold flag + * @arg UART_FLAG_RXFT: RXFIFO threshold flag + * @arg UART_FLAG_RXFF: RXFIFO Full flag + * @arg UART_FLAG_TXFE: TXFIFO Empty flag + * @arg UART_FLAG_REACK: Receive enable acknowledge flag + * @arg UART_FLAG_TEACK: Transmit enable acknowledge flag + * @arg UART_FLAG_WUF: Wake up from stop mode flag + * @arg UART_FLAG_RWU: Receiver wake up flag (if the UART in mute mode) + * @arg UART_FLAG_SBKF: Send Break flag + * @arg UART_FLAG_CMF: Character match flag + * @arg UART_FLAG_BUSY: Busy flag + * @arg UART_FLAG_ABRF: Auto Baud rate detection flag + * @arg UART_FLAG_ABRE: Auto Baud rate detection error flag + * @arg UART_FLAG_RTOF: Receiver timeout flag + * @arg UART_FLAG_CTS: CTS Change flag + * @arg UART_FLAG_LBD: LIN Break detection flag + * @arg UART_FLAG_TXE: Transmit data register empty flag + * @arg UART_FLAG_TC: Transmission Complete flag + * @arg UART_FLAG_RXNE: Receive data register not empty flag + * @arg UART_FLAG_IDLE: Idle Line detection flag + * @arg UART_FLAG_ORE: OverRun Error flag + * @arg.UART_FLAG_NE: Noise Error flag + * @arg UART_FLAG_FE: Framing Error flag + * @arg UART_FLAG_PE: Parity Error flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_UART_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) + +/** @brief Enable the specified UART interrupt. + * @param __HANDLE__: specifies the UART Handle. + * @param __INTERRUPT__: specifies the UART interrupt source to enable. + * This parameter can be one of the following values: + * @arg UART_IT_RXFF : RXFIFO Full interrupt + * @arg UART_IT_TXFE : TXFIFO Empty interrupt + * @arg.UART_IT_RXFT : RXFIFO threshold interrupt + * @arg UART_IT_TXFT : TXFIFO threshold interrupt + * @arg UART_IT_WUF: Wakeup from stop mode interrupt + * @arg UART_IT_CM: Character match interrupt + * @arg UART_IT_CTS: CTS change interrupt + * @arg UART_IT_LBD: LIN Break detection interrupt + * @arg UART_IT_TXE: Transmit Data Register empty interrupt + * @arg UART_IT_TC: Transmission complete interrupt + * @arg UART_IT_RXNE: Receive Data register not empty interrupt + * @arg UART_IT_IDLE: Idle line detection interrupt + * @arg.UART_IT_PE: Parity Error interrupt + * @arg UART_IT_ERR: Error interrupt (Frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_UART_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & UART_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & UART_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & UART_IT_MASK)))) + + +/** @brief Disable the specified UART interrupt. + * @param __HANDLE__: specifies the UART Handle. + * @param __INTERRUPT__: specifies the UART interrupt source to disable. + * This parameter can be one of the following values: + * @arg.UART_IT_RXFF : RXFIFO Full interrupt + * @arg UART_IT_TXFE : TXFIFO Empty interrupt + * @arg UART_IT_RXFT : RXFIFO threshold interrupt + * @arg UART_IT_TXFT : TXFIFO threshold interrupt + * @arg UART_IT_WUF: Wakeup from stop mode interrupt + * @arg UART_IT_CM: Character match interrupt + * @arg UART_IT_CTS: CTS change interrupt + * @arg UART_IT_LBD: LIN Break detection interrupt + * @arg UART_IT_TXE: Transmit Data Register empty interrupt + * @arg UART_IT_TC: Transmission complete interrupt + * @arg UART_IT_RXNE: Receive Data register not empty interrupt + * @arg UART_IT_IDLE: Idle line detection interrupt + * @arg UART_IT_PE: Parity Error interrupt + * @arg UART_IT_ERR: Error interrupt (Frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_UART_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & UART_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & UART_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & UART_IT_MASK)))) + +/** @brief Check whether the specified UART interrupt has occurred or not. + * @param __HANDLE__: specifies the UART Handle. + * @param __IT__: specifies the UART interrupt to check. + * This parameter can be one of the following values: + * @arg UART_IT_RXFF : RXFIFO Full interrupt + * @arg UART_IT_TXFE : TXFIFO Empty interrupt + * @arg UART_IT_RXFT : RXFIFO threshold interrupt + * @arg UART_IT_TXFT : TXFIFO threshold interrupt + * @arg UART_IT_WUF: Wakeup from stop mode interrupt + * @arg UART_IT_CM: Character match interrupt + * @arg UART_IT_CTS: CTS change interrupt + * @arg UART_IT_LBD: LIN Break detection interrupt + * @arg UART_IT_TXE: Transmit Data Register empty interrupt + * @arg UART_IT_TC: Transmission complete interrupt + * @arg UART_IT_RXNE: Receive Data register not empty interrupt + * @arg UART_IT_IDLE: Idle line detection interrupt + * @arg UART_IT_ORE: OverRun Error interrupt + * @arg UART_IT_NE: Noise Error interrupt + * @arg UART_IT_FE: Framing Error interrupt + * @arg UART_IT_PE: Parity Error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_UART_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__IT__)>> 0x08))) + +/** @brief Check whether the specified UART interrupt source is enabled or not. + * @param __HANDLE__: specifies the UART Handle. + * @param __IT__: specifies the UART interrupt source to check. + * This parameter can be one of the following values: + * @arg UART_IT_RXFF : RXFIFO Full interrupt + * @arg UART_IT_TXFE : TXFIFO Empty interrupt + * @arg UART_IT_RXFT : RXFIFO threshold interrupt + * @arg UART_IT_TXFT : TXFIFO threshold interrupt + * @arg UART_IT_CTS: CTS change interrupt (not available for UART4 and UART5) + * @arg UART_IT_LBD: LIN Break detection interrupt + * @arg UART_IT_TXE: Transmit Data Register empty interrupt + * @arg UART_IT_TC: Transmission complete interrupt + * @arg UART_IT_RXNE: Receive Data register not empty interrupt + * @arg UART_IT_IDLE: Idle line detection interrupt + * @arg UART_IT_ORE: OverRun Error interrupt + * @arg UART_IT_NE: Noise Error interrupt + * @arg UART_IT_FE: Framing Error interrupt + * @arg UART_IT_PE: Parity Error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_UART_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5U) == 1)? (__HANDLE__)->Instance->CR1:(((((uint8_t)(__IT__)) >> 5U) == 2)? \ + (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << (((uint16_t)(__IT__)) & UART_IT_MASK))) + +/** @brief Clear the specified UART ISR flag, in setting the proper ICR register flag. + * @param __HANDLE__: specifies the UART Handle. + * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set + * to clear the corresponding interrupt + * This parameter can be one of the following values: + * @arg UART_CLEAR_PEF: Parity Error Clear Flag + * @arg UART_CLEAR_FEF: Framing Error Clear Flag + * @arg UART_CLEAR_NEF: Noise detected Clear Flag + * @arg UART_CLEAR_OREF: OverRun Error Clear Flag + * @arg UART_CLEAR_IDLEF: IDLE line detected Clear Flag + * @arg UART_CLEAR_TCF: Transmission Complete Clear Flag + * @arg UART_CLEAR_LBDF: LIN Break Detection Clear Flag + * @arg UART_CLEAR_CTSF: CTS Interrupt Clear Flag + * @arg UART_CLEAR_RTOF: Receiver Time Out Clear Flag + * @arg UART_CLEAR_CMF: Character Match Clear Flag + * @arg.UART_CLEAR_WUF: Wake Up from stop mode Clear Flag + * @arg UART_CLEAR_TXFECF: TXFIFO empty Clear Flag + * @retval None + */ +#define __HAL_UART_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__)) + +/** @brief Set a specific UART request flag. + * @param __HANDLE__: specifies the UART Handle. + * @param __REQ__: specifies the request flag to set + * This parameter can be one of the following values: + * @arg UART_AUTOBAUD_REQUEST: Auto-Baud Rate Request + * @arg UART_SENDBREAK_REQUEST: Send Break Request + * @arg UART_MUTE_MODE_REQUEST: Mute Mode Request + * @arg UART_RXDATA_FLUSH_REQUEST: Receive Data flush Request + * @arg UART_TXDATA_FLUSH_REQUEST: Transmit data flush Request + * @retval None + */ +#define __HAL_UART_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint32_t)(__REQ__)) + +/** @brief Enable the UART one bit sample method. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT) + +/** @brief Disable the UART one bit sample method. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3 &= (uint32_t)~((uint32_t)USART_CR3_ONEBIT)) + +/** @brief Enable UART. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE) + +/** @brief Disable UART. + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) + +/** @brief Enable CTS flow control. + * @note This macro allows to enable CTS hardware flow control for a given UART instance, + * without need to call HAL_UART_Init() function. + * As involving direct access to UART registers, usage of this macro should be fully endorsed by user. + * @note As macro is expected to be used for modifying CTS Hw flow control feature activation, without need + * for USART instance Deinit/Init, following conditions for macro call should be fulfilled : + * - UART instance should have already been initialised (through call of HAL_UART_Init() ) + * - macro could only be called when corresponding UART instance is disabled (i.e. __HAL_UART_DISABLE(__HANDLE__)) + * and should be followed by an Enable macro (i.e. __HAL_UART_ENABLE(__HANDLE__)). + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_HWCONTROL_CTS_ENABLE(__HANDLE__) \ + do{ \ + SET_BIT((__HANDLE__)->Instance->CR3, USART_CR3_CTSE); \ + (__HANDLE__)->Init.HwFlowCtl |= USART_CR3_CTSE; \ + } while(0) + +/** @brief Disable CTS flow control. + * @note This macro allows to disable CTS hardware flow control for a given UART instance, + * without need to call HAL_UART_Init() function. + * As involving direct access to UART registers, usage of this macro should be fully endorsed by user. + * @note As macro is expected to be used for modifying CTS Hw flow control feature activation, without need + * for USART instance Deinit/Init, following conditions for macro call should be fulfilled : + * - UART instance should have already been initialised (through call of HAL_UART_Init() ) + * - macro could only be called when corresponding UART instance is disabled (i.e. __HAL_UART_DISABLE(__HANDLE__)) + * and should be followed by an Enable macro (i.e. __HAL_UART_ENABLE(__HANDLE__)). + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_HWCONTROL_CTS_DISABLE(__HANDLE__) \ + do{ \ + CLEAR_BIT((__HANDLE__)->Instance->CR3, USART_CR3_CTSE); \ + (__HANDLE__)->Init.HwFlowCtl &= ~(USART_CR3_CTSE); \ + } while(0) + +/** @brief Enable RTS flow control. + * @note This macro allows to enable RTS hardware flow control for a given UART instance, + * without need to call HAL_UART_Init() function. + * As involving direct access to UART registers, usage of this macro should be fully endorsed by user. + * @note As macro is expected to be used for modifying RTS Hw flow control feature activation, without need + * for USART instance Deinit/Init, following conditions for macro call should be fulfilled : + * - UART instance should have already been initialised (through call of HAL_UART_Init() ) + * - macro could only be called when corresponding UART instance is disabled (i.e. __HAL_UART_DISABLE(__HANDLE__)) + * and should be followed by an Enable macro (i.e. __HAL_UART_ENABLE(__HANDLE__)). + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_HWCONTROL_RTS_ENABLE(__HANDLE__) \ + do{ \ + SET_BIT((__HANDLE__)->Instance->CR3, USART_CR3_RTSE); \ + (__HANDLE__)->Init.HwFlowCtl |= USART_CR3_RTSE; \ + } while(0) + +/** @brief Disable RTS flow control. + * @note This macro allows to disable RTS hardware flow control for a given UART instance, + * without need to call HAL_UART_Init() function. + * As involving direct access to UART registers, usage of this macro should be fully endorsed by user. + * @note As macro is expected to be used for modifying RTS Hw flow control feature activation, without need + * for USART instance Deinit/Init, following conditions for macro call should be fulfilled : + * - UART instance should have already been initialised (through call of HAL_UART_Init() ) + * - macro could only be called when corresponding UART instance is disabled (i.e. __HAL_UART_DISABLE(__HANDLE__)) + * and should be followed by an Enable macro (i.e. __HAL_UART_ENABLE(__HANDLE__)). + * @param __HANDLE__: specifies the UART Handle. + * @retval None + */ +#define __HAL_UART_HWCONTROL_RTS_DISABLE(__HANDLE__) \ + do{ \ + CLEAR_BIT((__HANDLE__)->Instance->CR3, USART_CR3_RTSE);\ + (__HANDLE__)->Init.HwFlowCtl &= ~(USART_CR3_RTSE); \ + } while(0) + +/** + * @} + */ + +/* Private variables -----------------------------------------------------*/ +/** @defgroup UART_Private_Variables UART Private Variables + * @{ + */ +static const uint16_t UARTPrescTable[12] = {1, 2, 4, 6, 8, 10, 12, 16, 32, 64, 128, 256}; +/** + * @} + */ + +/* Private macros --------------------------------------------------------*/ +/** @defgroup UART_Private_Macros UART Private Macros + * @{ + */ +/** @brief BRR division operation to set BRR register with LPUART. + * @param __PCLK__: LPUART clock. + * @param __BAUD__: Baud rate set by the user. + * @param __PRESCALER__: UART prescaler value. + * @retval Division result + */ +#define UART_DIV_LPUART(__PCLK__, __BAUD__, __PRESCALER__) ((((((uint64_t)(__PCLK__)/UARTPrescTable[(__PRESCALER__)])*256)) + ((__BAUD__)/2)) / (__BAUD__)) + +/** @brief BRR division operation to set BRR register in 8-bit oversampling mode. + * @param __PCLK__: UART clock. + * @param __BAUD__: Baud rate set by the user. + * @param __PRESCALER__: UART prescaler value. + * @retval Division result + */ +#define UART_DIV_SAMPLING8(__PCLK__, __BAUD__, __PRESCALER__) (((((__PCLK__)/UARTPrescTable[(__PRESCALER__)])*2) + ((__BAUD__)/2)) / (__BAUD__)) + +/** @brief BRR division operation to set BRR register in 16-bit oversampling mode. + * @param __PCLK__: UART clock. + * @param __BAUD__: Baud rate set by the user. + * @param __PRESCALER__: UART prescaler value. + * @retval Division result + */ +#define UART_DIV_SAMPLING16(__PCLK__, __BAUD__, __PRESCALER__) ((((__PCLK__)/UARTPrescTable[(__PRESCALER__)]) + ((__BAUD__)/2)) / (__BAUD__)) + +/** @brief Check whether or not UART instance is Low Power UART. + * @param __HANDLE__: specifies the UART Handle. + * @retval SET (instance is LPUART) or RESET (instance isn't LPUART) + */ +#define UART_INSTANCE_LOWPOWER(__HANDLE__) (((__HANDLE__)->Instance == LPUART1) ? SET : RESET ) + +/** @brief Check UART Baud rate. + * @param __BAUDRATE__: Baudrate specified by the user. + * The maximum Baud Rate is derived from the maximum clock on H7 (i.e. 100 MHz) + * divided by the smallest oversampling used on the USART (i.e. 8) + * @retval SET (__BAUDRATE__ is valid) or RESET (__BAUDRATE__ is invalid) + */ +#define IS_UART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 12500001U) + +/** @brief Check UART assertion time. + * @param __TIME__: 5-bit value assertion time. + * @retval Test result (TRUE or FALSE). + */ +#define IS_UART_ASSERTIONTIME(__TIME__) ((__TIME__) <= 0x1FU) + +/** @brief Check UART deassertion time. + * @param __TIME__: 5-bit value deassertion time. + * @retval Test result (TRUE or FALSE). + */ +#define IS_UART_DEASSERTIONTIME(__TIME__) ((__TIME__) <= 0x1FU) + +/** + * @brief Ensure that UART frame number of stop bits is valid. + * @param __STOPBITS__: UART frame number of stop bits. + * @retval SET (__STOPBITS__ is valid) or RESET (__STOPBITS__ is invalid) + */ +#define IS_UART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == UART_STOPBITS_0_5) || \ + ((__STOPBITS__) == UART_STOPBITS_1) || \ + ((__STOPBITS__) == UART_STOPBITS_1_5) || \ + ((__STOPBITS__) == UART_STOPBITS_2)) + +/** + * @brief Ensure that LPUART frame number of stop bits is valid. + * @param __STOPBITS__: LPUART frame number of stop bits. + * @retval SET (__STOPBITS__ is valid) or RESET (__STOPBITS__ is invalid) + */ +#define IS_LPUART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == UART_STOPBITS_1) || \ + ((__STOPBITS__) == UART_STOPBITS_2)) + +/** + * @brief Ensure that UART frame parity is valid. + * @param __PARITY__: UART frame parity. + * @retval SET (__PARITY__ is valid) or RESET (__PARITY__ is invalid) + */ +#define IS_UART_PARITY(__PARITY__) (((__PARITY__) == UART_PARITY_NONE) || \ + ((__PARITY__) == UART_PARITY_EVEN) || \ + ((__PARITY__) == UART_PARITY_ODD)) + +/** + * @brief Ensure that UART hardware flow control is valid. + * @param __CONTROL__: UART hardware flow control. + * @retval SET (__CONTROL__ is valid) or RESET (__CONTROL__ is invalid) + */ +#define IS_UART_HARDWARE_FLOW_CONTROL(__CONTROL__)\ + (((__CONTROL__) == UART_HWCONTROL_NONE) || \ + ((__CONTROL__) == UART_HWCONTROL_RTS) || \ + ((__CONTROL__) == UART_HWCONTROL_CTS) || \ + ((__CONTROL__) == UART_HWCONTROL_RTS_CTS)) + +/** + * @brief Ensure that UART communication mode is valid. + * @param __MODE__: UART communication mode. + * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) + */ +#define IS_UART_MODE(__MODE__) ((((__MODE__) & (~((uint32_t)(UART_MODE_TX_RX)))) == (uint32_t)0x00) && ((__MODE__) != (uint32_t)0x00)) + +/** + * @brief Ensure that UART state is valid. + * @param __STATE__: UART state. + * @retval SET (__STATE__ is valid) or RESET (__STATE__ is invalid) + */ +#define IS_UART_STATE(__STATE__) (((__STATE__) == UART_STATE_DISABLE) || \ + ((__STATE__) == UART_STATE_ENABLE)) + +/** + * @brief Ensure that UART oversampling is valid. + * @param __SAMPLING__: UART oversampling. + * @retval SET (__SAMPLING__ is valid) or RESET (__SAMPLING__ is invalid) + */ +#define IS_UART_OVERSAMPLING(__SAMPLING__) (((__SAMPLING__) == UART_OVERSAMPLING_16) || \ + ((__SAMPLING__) == UART_OVERSAMPLING_8)) + +/** + * @brief Ensure that UART frame sampling is valid. + * @param __ONEBIT__: UART frame sampling. + * @retval SET (__ONEBIT__ is valid) or RESET (__ONEBIT__ is invalid) + */ +#define IS_UART_ONE_BIT_SAMPLE(__ONEBIT__) (((__ONEBIT__) == UART_ONE_BIT_SAMPLE_DISABLE) || \ + ((__ONEBIT__) == UART_ONE_BIT_SAMPLE_ENABLE)) + +/** + * @brief Ensure that UART auto Baud rate detection mode is valid. + * @param __MODE__: UART auto Baud rate detection mode. + * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) + */ +#define IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(__MODE__) (((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT) || \ + ((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE) || \ + ((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ON0X7FFRAME) || \ + ((__MODE__) == UART_ADVFEATURE_AUTOBAUDRATE_ON0X55FRAME)) + +/** + * @brief Ensure that UART receiver timeout setting is valid. + * @param __TIMEOUT__: UART receiver timeout setting. + * @retval SET (__TIMEOUT__ is valid) or RESET (__TIMEOUT__ is invalid) + */ +#define IS_UART_RECEIVER_TIMEOUT(__TIMEOUT__) (((__TIMEOUT__) == UART_RECEIVER_TIMEOUT_DISABLE) || \ + ((__TIMEOUT__) == UART_RECEIVER_TIMEOUT_ENABLE)) + +/** + * @brief Ensure that UART LIN state is valid. + * @param __LIN__: UART LIN state. + * @retval SET (__LIN__ is valid) or RESET (__LIN__ is invalid) + */ +#define IS_UART_LIN(__LIN__) (((__LIN__) == UART_LIN_DISABLE) || \ + ((__LIN__) == UART_LIN_ENABLE)) + +/** + * @brief Ensure that UART LIN break detection length is valid. + * @param __LENGTH__: UART LIN break detection length. + * @retval SET (__LENGTH__ is valid) or RESET (__LENGTH__ is invalid) + */ +#define IS_UART_LIN_BREAK_DETECT_LENGTH(__LENGTH__) (((__LENGTH__) == UART_LINBREAKDETECTLENGTH_10B) || \ + ((__LENGTH__) == UART_LINBREAKDETECTLENGTH_11B)) + +/** + * @brief Ensure that UART DMA TX state is valid. + * @param __DMATX__: UART DMA TX state. + * @retval SET (__DMATX__ is valid) or RESET (__DMATX__ is invalid) + */ +#define IS_UART_DMA_TX(__DMATX__) (((__DMATX__) == UART_DMA_TX_DISABLE) || \ + ((__DMATX__) == UART_DMA_TX_ENABLE)) + +/** + * @brief Ensure that UART DMA RX state is valid. + * @param __DMARX__: UART DMA RX state. + * @retval SET (__DMARX__ is valid) or RESET (__DMARX__ is invalid) + */ +#define IS_UART_DMA_RX(__DMARX__) (((__DMARX__) == UART_DMA_RX_DISABLE) || \ + ((__DMARX__) == UART_DMA_RX_ENABLE)) + +/** + * @brief Ensure that UART half-duplex state is valid. + * @param __HDSEL__: UART half-duplex state. + * @retval SET (__HDSEL__ is valid) or RESET (__HDSEL__ is invalid) + */ +#define IS_UART_HALF_DUPLEX(__HDSEL__) (((__HDSEL__) == UART_HALF_DUPLEX_DISABLE) || \ + ((__HDSEL__) == UART_HALF_DUPLEX_ENABLE)) + +/** + * @brief Ensure that UART wake-up method is valid. + * @param __WAKEUP__: UART wake-up method . + * @retval SET (__WAKEUP__ is valid) or RESET (__WAKEUP__ is invalid) + */ +#define IS_UART_WAKEUPMETHOD(__WAKEUP__) (((__WAKEUP__) == UART_WAKEUPMETHOD_IDLELINE) || \ + ((__WAKEUP__) == UART_WAKEUPMETHOD_ADDRESSMARK)) + +/** + * @brief Ensure that UART request parameter is valid. + * @param __PARAM__: UART request parameter. + * @retval SET (__PARAM__ is valid) or RESET (__PARAM__ is invalid) + */ +#define IS_UART_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == UART_AUTOBAUD_REQUEST) || \ + ((__PARAM__) == UART_SENDBREAK_REQUEST) || \ + ((__PARAM__) == UART_MUTE_MODE_REQUEST) || \ + ((__PARAM__) == UART_RXDATA_FLUSH_REQUEST) || \ + ((__PARAM__) == UART_TXDATA_FLUSH_REQUEST)) + +/** + * @brief Ensure that UART advanced features initialization is valid. + * @param __INIT__: UART advanced features initialization. + * @retval SET (__INIT__ is valid) or RESET (__INIT__ is invalid) + */ +#define IS_UART_ADVFEATURE_INIT(__INIT__) ((__INIT__) <= (UART_ADVFEATURE_NO_INIT | \ + UART_ADVFEATURE_TXINVERT_INIT | \ + UART_ADVFEATURE_RXINVERT_INIT | \ + UART_ADVFEATURE_DATAINVERT_INIT | \ + UART_ADVFEATURE_SWAP_INIT | \ + UART_ADVFEATURE_RXOVERRUNDISABLE_INIT | \ + UART_ADVFEATURE_DMADISABLEONERROR_INIT | \ + UART_ADVFEATURE_AUTOBAUDRATE_INIT | \ + UART_ADVFEATURE_MSBFIRST_INIT)) + +/** + * @brief Ensure that UART frame TX inversion setting is valid. + * @param __TXINV__: UART frame TX inversion setting. + * @retval SET (__TXINV__ is valid) or RESET (__TXINV__ is invalid) + */ +#define IS_UART_ADVFEATURE_TXINV(__TXINV__) (((__TXINV__) == UART_ADVFEATURE_TXINV_DISABLE) || \ + ((__TXINV__) == UART_ADVFEATURE_TXINV_ENABLE)) + +/** + * @brief Ensure that UART frame RX inversion setting is valid. + * @param __RXINV__: UART frame RX inversion setting. + * @retval SET (__RXINV__ is valid) or RESET (__RXINV__ is invalid) + */ +#define IS_UART_ADVFEATURE_RXINV(__RXINV__) (((__RXINV__) == UART_ADVFEATURE_RXINV_DISABLE) || \ + ((__RXINV__) == UART_ADVFEATURE_RXINV_ENABLE)) + +/** + * @brief Ensure that UART frame data inversion setting is valid. + * @param __DATAINV__: UART frame data inversion setting. + * @retval SET (__DATAINV__ is valid) or RESET (__DATAINV__ is invalid) + */ +#define IS_UART_ADVFEATURE_DATAINV(__DATAINV__) (((__DATAINV__) == UART_ADVFEATURE_DATAINV_DISABLE) || \ + ((__DATAINV__) == UART_ADVFEATURE_DATAINV_ENABLE)) + +/** + * @brief Ensure that UART frame RX/TX pins swap setting is valid. + * @param __SWAP__: UART frame RX/TX pins swap setting. + * @retval SET (__SWAP__ is valid) or RESET (__SWAP__ is invalid) + */ +#define IS_UART_ADVFEATURE_SWAP(__SWAP__) (((__SWAP__) == UART_ADVFEATURE_SWAP_DISABLE) || \ + ((__SWAP__) == UART_ADVFEATURE_SWAP_ENABLE)) + +/** + * @brief Ensure that UART frame overrun setting is valid. + * @param __OVERRUN__: UART frame overrun setting. + * @retval SET (__OVERRUN__ is valid) or RESET (__OVERRUN__ is invalid) + */ +#define IS_UART_OVERRUN(__OVERRUN__) (((__OVERRUN__) == UART_ADVFEATURE_OVERRUN_ENABLE) || \ + ((__OVERRUN__) == UART_ADVFEATURE_OVERRUN_DISABLE)) + +/** + * @brief Ensure that UART auto Baud rate state is valid. + * @param __AUTOBAUDRATE__: UART auto Baud rate state. + * @retval SET (__AUTOBAUDRATE__ is valid) or RESET (__AUTOBAUDRATE__ is invalid) + */ +#define IS_UART_ADVFEATURE_AUTOBAUDRATE(__AUTOBAUDRATE__) (((__AUTOBAUDRATE__) == UART_ADVFEATURE_AUTOBAUDRATE_DISABLE) || \ + ((__AUTOBAUDRATE__) == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)) + +/** + * @brief Ensure that UART DMA enabling or disabling on error setting is valid. + * @param __DMA__: UART DMA enabling or disabling on error setting. + * @retval SET (__DMA__ is valid) or RESET (__DMA__ is invalid) + */ +#define IS_UART_ADVFEATURE_DMAONRXERROR(__DMA__) (((__DMA__) == UART_ADVFEATURE_DMA_ENABLEONRXERROR) || \ + ((__DMA__) == UART_ADVFEATURE_DMA_DISABLEONRXERROR)) + +/** + * @brief Ensure that UART frame MSB first setting is valid. + * @param __MSBFIRST__: UART frame MSB first setting. + * @retval SET (__MSBFIRST__ is valid) or RESET (__MSBFIRST__ is invalid) + */ +#define IS_UART_ADVFEATURE_MSBFIRST(__MSBFIRST__) (((__MSBFIRST__) == UART_ADVFEATURE_MSBFIRST_DISABLE) || \ + ((__MSBFIRST__) == UART_ADVFEATURE_MSBFIRST_ENABLE)) + +/** + * @brief Ensure that UART stop mode state is valid. + * @param __STOPMODE__: UART stop mode state. + * @retval SET (__STOPMODE__ is valid) or RESET (__STOPMODE__ is invalid) + */ +#define IS_UART_ADVFEATURE_STOPMODE(__STOPMODE__) (((__STOPMODE__) == UART_ADVFEATURE_STOPMODE_DISABLE) || \ + ((__STOPMODE__) == UART_ADVFEATURE_STOPMODE_ENABLE)) + +/** + * @brief Ensure that UART mute mode state is valid. + * @param __MUTE__: UART mute mode state. + * @retval SET (__MUTE__ is valid) or RESET (__MUTE__ is invalid) + */ +#define IS_UART_MUTE_MODE(__MUTE__) (((__MUTE__) == UART_ADVFEATURE_MUTEMODE_DISABLE) || \ + ((__MUTE__) == UART_ADVFEATURE_MUTEMODE_ENABLE)) + +/** + * @brief Ensure that UART wake-up selection is valid. + * @param __WAKE__: UART wake-up selection. + * @retval SET (__WAKE__ is valid) or RESET (__WAKE__ is invalid) + */ +#define IS_UART_WAKEUP_SELECTION(__WAKE__) (((__WAKE__) == UART_WAKEUP_ON_ADDRESS ) || \ + ((__WAKE__) == UART_WAKEUP_ON_STARTBIT ) || \ + ((__WAKE__) == UART_WAKEUP_ON_READDATA_NONEMPTY ) || \ + ((__WAKE__) == UART_WAKEUP_ON_RXFIFO_THRESHOLD ) || \ + ((__WAKE__) == UART_WAKEUP_ON_RXFIFO_FULL ) || \ + ((__WAKE__) == UART_WAKEUP_ON_TXFIFO_THRESHOLD ) || \ + ((__WAKE__) == UART_WAKEUP_ON_TXFIFO_EMPTY )) + +/** + * @brief Ensure that UART driver enable polarity is valid. + * @param __POLARITY__: UART driver enable polarity. + * @retval SET (__POLARITY__ is valid) or RESET (__POLARITY__ is invalid) + */ +#define IS_UART_DE_POLARITY(__POLARITY__) (((__POLARITY__) == UART_DE_POLARITY_HIGH) || \ + ((__POLARITY__) == UART_DE_POLARITY_LOW)) + +/** + * @brief Ensure that LPUART frame number of stop bits is valid. + * @param __STOPBITS__: LPUART frame number of stop bits. + * @retval SET (__STOPBITS__ is valid) or RESET (__STOPBITS__ is invalid) + */ +#define IS_LPUART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == UART_STOPBITS_1) || \ + ((__STOPBITS__) == UART_STOPBITS_2)) + +/** + * @brief Ensure that UART Prescaler is valid. + * @param __PRESCALER__: UART Prescaler value. + * @retval SET (__PRESCALER__ is valid) or RESET (__PRESCALER__ is invalid) + */ +#define IS_UART_PRESCALER(__PRESCALER__) (((__PRESCALER__) == UART_PRESCALER_DIV1) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV2) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV4) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV6) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV8) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV10) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV12) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV16) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV32) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV64) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV128) || \ + ((__PRESCALER__) == UART_PRESCALER_DIV256)) + +/** + * @brief Ensure that UART FIFO mode is valid. + * @param __STATE__: UART FIFO mode. + * @retval SET (__STATE__ is valid) or RESET (__STATE__ is invalid) + */ +#define IS_UART_FIFO_MODE_STATE(__STATE__) (((__STATE__) == UART_FIFOMODE_DISABLE ) || \ + ((__STATE__) == UART_FIFOMODE_ENABLE)) + +/** + * @brief Ensure that UART TXFIFO threshold level is valid. + * @param __THRESHOLD__: UART TXFIFO threshold level. + * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) + */ +#define IS_UART_TXFIFO_THRESHOLD(__THRESHOLD__) ((((__THRESHOLD__) == UART_TXFIFO_THRESHOLD_1_8 ) || \ + ((__THRESHOLD__) == UART_TXFIFO_THRESHOLD_1_4 ) || \ + ((__THRESHOLD__) == UART_TXFIFO_THRESHOLD_1_2) || \ + ((__THRESHOLD__) == UART_TXFIFO_THRESHOLD_3_4) || \ + ((__THRESHOLD__) == UART_TXFIFO_THRESHOLD_7_8)) || \ + ((__THRESHOLD__) == UART_TXFIFO_THRESHOLD_8_8)) + +/** + * @brief Ensure that UART RXFIFO threshold level is valid. + * @param __THRESHOLD__: UART RXFIFO threshold level. + * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) + */ +#define IS_UART_RXFIFO_THRESHOLD(__THRESHOLD__) ((((__THRESHOLD__) == UART_RXFIFO_THRESHOLD_1_8 ) || \ + ((__THRESHOLD__) == UART_RXFIFO_THRESHOLD_1_4 ) || \ + ((__THRESHOLD__) == UART_RXFIFO_THRESHOLD_1_2) || \ + ((__THRESHOLD__) == UART_RXFIFO_THRESHOLD_3_4) || \ + ((__THRESHOLD__) == UART_RXFIFO_THRESHOLD_7_8)) || \ + ((__THRESHOLD__) == UART_RXFIFO_THRESHOLD_8_8)) + +/** + * @} + */ + +/* Include UART HAL Extended module */ +#include "stm32h7xx_hal_uart_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup UART_Exported_Functions UART Exported Functions + * @{ + */ + +/** @addtogroup UART_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength); +HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod); +HAL_StatusTypeDef HAL_UART_DeInit (UART_HandleTypeDef *huart); +void HAL_UART_MspInit(UART_HandleTypeDef *huart); +void HAL_UART_MspDeInit(UART_HandleTypeDef *huart); + +/** + * @} + */ + +/** @addtogroup UART_Exported_Functions_Group2 IO operation functions + * @{ + */ + +/* IO operation functions *****************************************************/ +HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size); +HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart); +/* Transfer Abort functions */ +HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart); + +void HAL_UART_IRQHandler(UART_HandleTypeDef *huart); +void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart); +void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart); +void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart); +void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart); +void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart); +void HAL_UART_AbortCpltCallback (UART_HandleTypeDef *huart); +void HAL_UART_AbortTransmitCpltCallback (UART_HandleTypeDef *huart); +void HAL_UART_AbortReceiveCpltCallback (UART_HandleTypeDef *huart); + +/** + * @} + */ + +/** @addtogroup UART_Exported_Functions_Group3 Peripheral Control functions + * @{ + */ + +/* Peripheral Control functions ************************************************/ +HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart); +void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart); + +/** + * @} + */ + +/** @addtogroup UART_Exported_Functions_Group4 Peripheral State and Error functions + * @{ + */ + +/* Peripheral State and Errors functions **************************************************/ +HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart); +uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart); + +/** + * @} + */ + +/** + * @} + */ + +/* Private functions -----------------------------------------------------------*/ +/** @addtogroup UART_Private_Functions UART Private Functions + * @{ + */ + +HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart); +HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart); +HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout); +void UART_AdvFeatureConfig(UART_HandleTypeDef *huart); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_UART_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h new file mode 100644 index 0000000000..d952ab387c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h @@ -0,0 +1,460 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_uart_ex.h + * @author MCD Application Team + * @brief Header file of UART HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_UART_EX_H +#define __STM32H7xx_HAL_UART_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup UARTEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup UARTEx_Exported_Types UARTEx Exported Types + * @{ + */ + +/** + * @brief UART wake up from stop mode parameters + */ +typedef struct +{ + uint32_t WakeUpEvent; /*!< Specifies which event will activat the Wakeup from Stop mode flag (WUF). + This parameter can be a value of @ref UART_WakeUp_from_Stop_Selection. + If set to UART_WAKEUP_ON_ADDRESS, the two other fields below must + be filled up. */ + + uint16_t AddressLength; /*!< Specifies whether the address is 4 or 7-bit long. + This parameter can be a value of @ref UARTEx_WakeUp_Address_Length. */ + + uint8_t Address; /*!< UART/USART node address (7-bit long max). */ +} UART_WakeUpTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup UARTEx_Exported_Constants UARTEx Exported Constants + * @{ + */ + +/** @defgroup UARTEx_Word_Length UART Word Length + * @{ + */ +#define UART_WORDLENGTH_7B ((uint32_t)USART_CR1_M1) /*!< 7-bit long UART frame */ +#define UART_WORDLENGTH_8B ((uint32_t)0x00000000U) /*!< 8-bit long UART frame */ +#define UART_WORDLENGTH_9B ((uint32_t)USART_CR1_M0) /*!< 9-bit long UART frame */ +/** + * @} + */ + +/** @defgroup UARTEx_WakeUp_Address_Length UART Extended WakeUp Address Length + * @{ + */ +#define UART_ADDRESS_DETECT_4B ((uint32_t)0x00000000U) /*!< 4-bit long wake-up address */ +#define UART_ADDRESS_DETECT_7B ((uint32_t)USART_CR2_ADDM7) /*!< 7-bit long wake-up address */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup UARTEx_Exported_Functions + * @{ + */ + +/** @addtogroup UARTEx_Exported_Functions_Group1 + * @{ + */ + +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_RS485Ex_Init(UART_HandleTypeDef *huart, uint32_t Polarity, uint32_t AssertionTime, uint32_t DeassertionTime); + +/** + * @} + */ + +/* IO operation functions *****************************************************/ + +/** @addtogroup UARTEx_Exported_Functions_Group3 + * @{ + */ + +/* Peripheral Control functions **********************************************/ +HAL_StatusTypeDef HAL_UARTEx_StopModeWakeUpSourceConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelection); +HAL_StatusTypeDef HAL_UARTEx_EnableStopMode(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_UARTEx_DisableStopMode(UART_HandleTypeDef *huart); +HAL_StatusTypeDef HAL_MultiProcessorEx_AddressLength_Set(UART_HandleTypeDef *huart, uint32_t AddressLength); +void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart); + +/** + * @} + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup UARTEx_Private_Macros UARTEx Private Macros + * @{ + */ + +/** @brief Report the UART clock source. + * @param __HANDLE__: specifies the UART Handle. + * @param __CLOCKSOURCE__: output variable. + * @retval UART clocking source, written in __CLOCKSOURCE__. + */ +#define UART_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \ + do { \ + if((__HANDLE__)->Instance == USART1) \ + { \ + switch(__HAL_RCC_GET_USART1_SOURCE()) \ + { \ + case RCC_USART1CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART1CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART1CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART1CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART1CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART1CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART2) \ + { \ + switch(__HAL_RCC_GET_USART2_SOURCE()) \ + { \ + case RCC_USART2CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART2CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART2CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART2CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART2CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART2CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART3) \ + { \ + switch(__HAL_RCC_GET_USART3_SOURCE()) \ + { \ + case RCC_USART3CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART3CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART3CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART3CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART3CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART3CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == UART4) \ + { \ + switch(__HAL_RCC_GET_UART4_SOURCE()) \ + { \ + case RCC_UART4CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART4CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_UART4CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_UART4CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART4CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART4CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if ((__HANDLE__)->Instance == UART5) \ + { \ + switch(__HAL_RCC_GET_UART5_SOURCE()) \ + { \ + case RCC_UART5CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART5CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_UART5CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_UART5CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART5CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART5CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART6) \ + { \ + switch(__HAL_RCC_GET_USART6_SOURCE()) \ + { \ + case RCC_USART6CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART6CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART6CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART6CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART6CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART6CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == UART7) \ + { \ + switch(__HAL_RCC_GET_UART7_SOURCE()) \ + { \ + case RCC_UART7CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART7CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_UART7CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_UART7CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART7CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART7CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == UART8) \ + { \ + switch(__HAL_RCC_GET_UART8_SOURCE()) \ + { \ + case RCC_UART8CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_UART8CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_UART8CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_UART8CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_UART8CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_UART8CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == LPUART1) \ + { \ + switch(__HAL_RCC_GET_LPUART1_SOURCE()) \ + { \ + case RCC_LPUART1CLKSOURCE_D3PCLK1: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_D3PCLK1; \ + break; \ + case RCC_LPUART1CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_LPUART1CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_LPUART1CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_LPUART1CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_LPUART1CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = UART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + } while(0) + +/** @brief Report the UART mask to apply to retrieve the received data + * according to the word length and to the parity bits activation. + * @note If PCE = 1, the parity bit is not included in the data extracted + * by the reception API(). + * This masking operation is not carried out in the case of + * DMA transfers. + * @param __HANDLE__: specifies the UART Handle. + * @retval None, the mask to apply to UART RDR register is stored in (__HANDLE__)->Mask field. + */ +#define UART_MASK_COMPUTATION(__HANDLE__) \ + do { \ + if ((__HANDLE__)->Init.WordLength == UART_WORDLENGTH_9B) \ + { \ + if ((__HANDLE__)->Init.Parity == UART_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x01FF ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x00FF ; \ + } \ + } \ + else if ((__HANDLE__)->Init.WordLength == UART_WORDLENGTH_8B) \ + { \ + if ((__HANDLE__)->Init.Parity == UART_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x00FF ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x007F ; \ + } \ + } \ + else if ((__HANDLE__)->Init.WordLength == UART_WORDLENGTH_7B) \ + { \ + if ((__HANDLE__)->Init.Parity == UART_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x007F ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x003F ; \ + } \ + } \ +} while(0) + + +/** + * @brief Ensure that UART frame length is valid. + * @param __LENGTH__: UART frame length. + * @retval SET (__LENGTH__ is valid) or RESET (__LENGTH__ is invalid) + */ +#define IS_UART_WORD_LENGTH(__LENGTH__) (((__LENGTH__) == UART_WORDLENGTH_7B) || \ + ((__LENGTH__) == UART_WORDLENGTH_8B) || \ + ((__LENGTH__) == UART_WORDLENGTH_9B)) + +/** + * @brief Ensure that UART wake-up address length is valid. + * @param __ADDRESS__: UART wake-up address length. + * @retval SET (__ADDRESS__ is valid) or RESET (__ADDRESS__ is invalid) + */ +#define IS_UART_ADDRESSLENGTH_DETECT(__ADDRESS__) (((__ADDRESS__) == UART_ADDRESS_DETECT_4B) || \ + ((__ADDRESS__) == UART_ADDRESS_DETECT_7B)) + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_UART_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart.h new file mode 100644 index 0000000000..4b9dd8cafd --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart.h @@ -0,0 +1,1069 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_usart.h + * @author MCD Application Team + * @brief Header file of USART HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_USART_H +#define __STM3H7xx_HAL_USART_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup USART + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup USART_Exported_Types USART Exported Types + * @{ + */ + +/** + * @brief USART Init Structure definition + */ +typedef struct +{ + uint32_t BaudRate; /*!< This member configures the Usart communication baud rate. + The baud rate is computed using the following formula: + Baud Rate Register = ((PCLKx) / ((husart->Init.BaudRate))) */ + + uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame. + This parameter can be a value of @ref USARTEx_Word_Length */ + + uint32_t StopBits; /*!< Specifies the number of stop bits transmitted. + This parameter can be a value of @ref USART_Stop_Bits */ + + uint32_t Parity; /*!< Specifies the parity mode. + This parameter can be a value of @ref USART_Parity + @note When parity is enabled, the computed parity is inserted + at the MSB position of the transmitted data (9th bit when + the word length is set to 9 data bits; 8th bit when the + word length is set to 8 data bits). */ + + uint32_t Mode; /*!< Specifies whether the Receive or Transmit mode is enabled or disabled. + This parameter can be a value of @ref USART_Mode */ + + uint32_t CLKPolarity; /*!< Specifies the steady state of the serial clock. + This parameter can be a value of @ref USART_Clock_Polarity */ + + uint32_t CLKPhase; /*!< Specifies the clock transition on which the bit capture is made. + This parameter can be a value of @ref USART_Clock_Phase */ + + uint32_t CLKLastBit; /*!< Specifies whether the clock pulse corresponding to the last transmitted + data bit (MSB) has to be output on the SCLK pin in synchronous mode. + This parameter can be a value of @ref USART_Last_Bit */ + + uint32_t Prescaler; /*!< Specifies the prescaler value used to divide the USART clock source. + This parameter can be a value of @ref USART_Prescaler */ + + uint32_t NSS; /*!< Specifies whether the NSS signal is managed by hardware (DIS_NSS pin) + or by software . This parameter can be a value + of @ref USART_Slave_Select_management */ + + uint32_t SlaveMode; /*!< Enable/Disable UART SPI Slave Mode. This parameter can be a value + of @ref USART_Slave_Mode */ + + uint32_t FIFOMode; /*!< Specifies if the FIFO mode will be used. This parameter can be a value + of @ref USART_FIFO_mode */ + + uint32_t TXFIFOThreshold; /*!< Specifies the TXFIFO threshold level. + This parameter can be a value of @ref USART_TXFIFO_threshold_level */ + + uint32_t RXFIFOThreshold; /*!< Specifies the RXFIFO threshold level. + This parameter can be a value of @ref USART_RXFIFO_threshold_level */ + +}USART_InitTypeDef; + +/** + * @brief HAL USART State structures definition + */ +typedef enum +{ + HAL_USART_STATE_RESET = 0x00U, /*!< Peripheral is not initialized */ + HAL_USART_STATE_READY = 0x01U, /*!< Peripheral Initialized and ready for use */ + HAL_USART_STATE_BUSY = 0x02U, /*!< an internal process is ongoing */ + HAL_USART_STATE_BUSY_TX = 0x12U, /*!< Data Transmission process is ongoing */ + HAL_USART_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing */ + HAL_USART_STATE_BUSY_TX_RX = 0x32U, /*!< Data Transmission Reception process is ongoing */ + HAL_USART_STATE_TIMEOUT = 0x03U, /*!< Timeout state */ + HAL_USART_STATE_ERROR = 0x04U /*!< Error */ +}HAL_USART_StateTypeDef; + +/** + * @brief HAL USART Error Code structure definition + */ +typedef enum +{ + HAL_USART_ERROR_NONE = 0x00U, /*!< No error */ + HAL_USART_ERROR_PE = 0x01U, /*!< Parity error */ + HAL_USART_ERROR_NE = 0x02U, /*!< Noise error */ + HAL_USART_ERROR_FE = 0x04U, /*!< frame error */ + HAL_USART_ERROR_ORE = 0x08U, /*!< Overrun error */ + HAL_USART_ERROR_DMA = 0x10U, /*!< DMA transfer error */ + HAL_USART_ERROR_UDR = 0x11U /*!< SPI UnderRun error */ +}HAL_USART_ErrorTypeDef; + +/** + * @brief USART clock sources definitions + */ +typedef enum +{ + USART_CLOCKSOURCE_D2PCLK1 = 0x00U, /*!< Domain2 PCLK1 clock source */ + USART_CLOCKSOURCE_D2PCLK2 = 0x01U, /*!< Domain2 PCLK2 clock source */ + USART_CLOCKSOURCE_D3PCLK1 = 0x02U, /*!< Domain3 PCLK1 clock source */ + USART_CLOCKSOURCE_PLL2 = 0x04U, /*!< PLL2Q clock source */ + USART_CLOCKSOURCE_HSI = 0x08U, /*!< HSI clock source */ + USART_CLOCKSOURCE_CSI = 0x10U, /*!< CSI clock source */ + USART_CLOCKSOURCE_LSE = 0x20U, /*!< LSE clock source */ + USART_CLOCKSOURCE_PLL3 = 0x40U, /*!< PLL3Q clock source */ + USART_CLOCKSOURCE_UNDEFINED = 0x80U /*!< Undefined clock source */ +}USART_ClockSourceTypeDef; + + +/** + * @brief USART handle Structure definition + */ +typedef struct +{ + USART_TypeDef *Instance; /*!< USART registers base address */ + + USART_InitTypeDef Init; /*!< USART communication parameters */ + + uint8_t *pTxBuffPtr; /*!< Pointer to USART Tx transfer Buffer */ + + uint16_t TxXferSize; /*!< USART Tx Transfer size */ + + __IO uint16_t TxXferCount; /*!< USART Tx Transfer Counter */ + + uint8_t *pRxBuffPtr; /*!< Pointer to USART Rx transfer Buffer */ + + uint16_t RxXferSize; /*!< USART Rx Transfer size */ + + __IO uint16_t RxXferCount; /*!< USART Rx Transfer Counter */ + + uint16_t Mask; /*!< USART Rx RDR register mask */ + + DMA_HandleTypeDef *hdmatx; /*!< USART Tx DMA Handle parameters */ + + DMA_HandleTypeDef *hdmarx; /*!< USART Rx DMA Handle parameters */ + + HAL_LockTypeDef Lock; /*!< Locking object */ + + __IO HAL_USART_StateTypeDef State; /*!< USART communication state */ + + __IO uint32_t ErrorCode; /*!< USART Error code */ + +}USART_HandleTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup USART_Exported_Constants USART Exported Constants + * @{ + */ + +/** @defgroup USART_Stop_Bits USART Number of Stop Bits + * @{ + */ +#define USART_STOPBITS_0_5 ((uint32_t)USART_CR2_STOP_0) /*!< USART frame with 0.5 stop bit */ +#define USART_STOPBITS_1 ((uint32_t)0x00000000U) /*!< USART frame with 1 stop bit */ +#define USART_STOPBITS_1_5 ((uint32_t)(USART_CR2_STOP_0 | USART_CR2_STOP_1)) /*!< USART frame with 1.5 stop bits */ +#define USART_STOPBITS_2 ((uint32_t)USART_CR2_STOP_1) /*!< USART frame with 2 stop bits */ +/** + * @} + */ + +/** @defgroup USART_Parity USART Parity + * @{ + */ +#define USART_PARITY_NONE ((uint32_t)0x00000000U) /*!< No parity */ +#define USART_PARITY_EVEN ((uint32_t)USART_CR1_PCE) /*!< Even parity */ +#define USART_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS)) /*!< Odd parity */ +/** + * @} + */ + +/** @defgroup USART_Mode USART Mode + * @{ + */ +#define USART_MODE_RX ((uint32_t)USART_CR1_RE) /*!< RX mode */ +#define USART_MODE_TX ((uint32_t)USART_CR1_TE) /*!< TX mode */ +#define USART_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE)) /*!< RX and TX mode */ +/** + * @} + */ + +/** @defgroup USART_Over_Sampling USART Over Sampling + * @{ + */ +#define USART_OVERSAMPLING_16 ((uint32_t)0x00000000U) /*!< Oversampling by 16 */ +#define USART_OVERSAMPLING_8 ((uint32_t)USART_CR1_OVER8) /*!< Oversampling by 8 */ +/** + * @} + */ + +/** @defgroup USART_Clock USART Clock + * @{ + */ +#define USART_CLOCK_DISABLE ((uint32_t)0x00000000U) /*!< USART clock disable */ +#define USART_CLOCK_ENABLE ((uint32_t)USART_CR2_CLKEN) /*!< USART clock enable */ +/** + * @} + */ + +/** @defgroup USART_Clock_Polarity USART Clock Polarity + * @{ + */ +#define USART_POLARITY_LOW ((uint32_t)0x00000000U) /*!< USART Clock signal is steady Low */ +#define USART_POLARITY_HIGH ((uint32_t)USART_CR2_CPOL) /*!< USART Clock signal is steady High */ +/** + * @} + */ + +/** @defgroup USART_Clock_Phase USART Clock Phase + * @{ + */ +#define USART_PHASE_1EDGE ((uint32_t)0x00000000U) /*!< USART frame phase on first clock transition */ +#define USART_PHASE_2EDGE ((uint32_t)USART_CR2_CPHA) /*!< USART frame phase on second clock transition */ +/** + * @} + */ + +/** @defgroup USART_Last_Bit USART Last Bit + * @{ + */ +#define USART_LASTBIT_DISABLE ((uint32_t)0x00000000U) /*!< USART frame last data bit clock pulse not output to SCLK pin */ +#define USART_LASTBIT_ENABLE ((uint32_t)USART_CR2_LBCL) /*!< USART frame last data bit clock pulse output to SCLK pin */ +/** + * @} + */ + +/** @defgroup USART_Prescaler USART Prescaler + * @{ + */ +#define USART_PRESCALER_DIV1 ((uint32_t)0x00000000U) /*!< USART clock /1 */ +#define USART_PRESCALER_DIV2 ((uint32_t)0x00000001U) /*!< USART clock /2 */ +#define USART_PRESCALER_DIV4 ((uint32_t)0x00000002U) /*!< USART clock /4 */ +#define USART_PRESCALER_DIV6 ((uint32_t)0x00000003U) /*!< USART clock /6 */ +#define USART_PRESCALER_DIV8 ((uint32_t)0x00000004U) /*!< USART clock /8 */ +#define USART_PRESCALER_DIV10 ((uint32_t)0x00000005U) /*!< USART clock /10 */ +#define USART_PRESCALER_DIV12 ((uint32_t)0x00000006U) /*!< USART clock /12 */ +#define USART_PRESCALER_DIV16 ((uint32_t)0x00000007U) /*!< USART clock /16 */ +#define USART_PRESCALER_DIV32 ((uint32_t)0x00000008U) /*!< USART clock /32 */ +#define USART_PRESCALER_DIV64 ((uint32_t)0x00000009U) /*!< USART clock /64 */ +#define USART_PRESCALER_DIV128 ((uint32_t)0x0000000AU) /*!< USART clock /128 */ +#define USART_PRESCALER_DIV256 ((uint32_t)0x0000000BU) /*!< USART clock /256 */ + +/** + * @} + */ + +/** @defgroup USART_Slave_Select_management USART Slave Select Management + * @{ + */ +#define USART_NSS_HW ((uint32_t)0x00000000U) /*!< USART Hardware NSS management */ +#define USART_NSS_SW ((uint32_t)USART_CR2_DIS_NSS) /*!< USART Software NSS management */ +/** + * @} + */ + +/** @defgroup USART_Slave_Mode USART Synchronous Slave mode enable + * @{ + */ +#define USART_SLAVEMODE_DISABLE ((uint32_t)0x00000000U) /*!< USART SPI Slave Mode Enable */ +#define USART_SLAVEMODE_ENABLE ((uint32_t)USART_CR2_SLVEN) /*!< USART SPI Slave Mode Disable */ +/** + * @} + */ + + + /** @defgroup USART_FIFO_mode USART FIFO mode + * @brief USART FIFO mode + * @{ + */ +#define USART_FIFOMODE_DISABLE ((uint32_t)0x00000000U) /*!< FIFO mode disable */ +#define USART_FIFOMODE_ENABLE ((uint32_t)USART_CR1_FIFOEN) /*!< FIFO mode enable */ +/** + * @} + */ + +/** @defgroup USART_TXFIFO_threshold_level USART TXFIFO threshold level + * @brief USART TXFIFO level + * @{ + */ +#define USART_TXFIFO_THRESHOLD_1_8 ((uint32_t)0x00000000U) /*!< TXFIFO reaches 1/8 of its depth */ +#define USART_TXFIFO_THRESHOLD_1_4 ((uint32_t)USART_CR3_TXFTCFG_0) /*!< TXFIFO reaches 1/4 of its depth */ +#define USART_TXFIFO_THRESHOLD_1_2 ((uint32_t)USART_CR3_TXFTCFG_1) /*!< TXFIFO reaches 1/2 of its depth */ +#define USART_TXFIFO_THRESHOLD_3_4 ((uint32_t)(USART_CR3_TXFTCFG_0|USART_CR3_TXFTCFG_1)) /*!< TXFIFO reaches 3/4 of its depth */ +#define USART_TXFIFO_THRESHOLD_7_8 ((uint32_t)USART_CR3_TXFTCFG_2) /*!< TXFIFO reaches 7/8 of its depth */ +#define USART_TXFIFO_THRESHOLD_8_8 ((uint32_t)(USART_CR3_TXFTCFG_2|USART_CR3_TXFTCFG_0)) /*!< TXFIFO becomes empty */ +/** + * @} + */ + +/** @defgroup USART_RXFIFO_threshold_level USART RXFIFO threshold level + * @brief USART RXFIFO level + * @{ + */ +#define USART_RXFIFO_THRESHOLD_1_8 ((uint32_t)0x00000000U) /*!< RXFIFO reaches 1/8 of its depth */ +#define USART_RXFIFO_THRESHOLD_1_4 ((uint32_t)USART_CR3_RXFTCFG_0) /*!< RXFIFO reaches 1/4 of its depth */ +#define USART_RXFIFO_THRESHOLD_1_2 ((uint32_t)USART_CR3_RXFTCFG_1) /*!< RXFIFO reaches 1/2 of its depth */ +#define USART_RXFIFO_THRESHOLD_3_4 ((uint32_t)(USART_CR3_RXFTCFG_0|USART_CR3_RXFTCFG_1)) /*!< RXFIFO reaches 3/4 of its depth */ +#define USART_RXFIFO_THRESHOLD_7_8 ((uint32_t)USART_CR3_RXFTCFG_2) /*!< RXFIFO reaches 7/8 of its depth */ +#define USART_RXFIFO_THRESHOLD_8_8 ((uint32_t)(USART_CR3_RXFTCFG_2|USART_CR3_RXFTCFG_0)) /*!< RXFIFO becomes full */ +/** + * @} + */ + +/** @defgroup USART_Request_Parameters USART Request Parameters + * @{ + */ +#define USART_RXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_RXFRQ) /*!< Receive Data flush Request */ +#define USART_TXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_TXFRQ) /*!< Transmit data flush Request */ +/** + * @} + */ + +/** @defgroup USART_Flags USART Flags + * Elements values convention: 0xXXXX + * - 0xXXXX : Flag mask in the ISR register + * @{ + */ +#define USART_FLAG_TXFT USART_ISR_TXFT /*!< USART TXFIFO threshold flag */ +#define USART_FLAG_RXFT USART_ISR_RXFT /*!< USART RXFIFO threshold flag */ +#define USART_FLAG_RXFF USART_ISR_RXFF /*!< USART RXFIFO Fullflag */ +#define USART_FLAG_TXFE USART_ISR_TXFE /*!< USART TXFIFO Empty flag */ +#define USART_FLAG_REACK USART_ISR_REACK /*!< USART receive enable acknowledge flag */ +#define USART_FLAG_TEACK USART_ISR_TEACK /*!< USART transmit enable acknowledge flag */ +#define USART_FLAG_BUSY USART_ISR_BUSY /*!< USART busy flag */ +#define USART_FLAG_UDR USART_ISR_UDR /*!< USART SPI slave underrun error */ +#define USART_FLAG_LBDF USART_ISR_LBDF /*!< USART LIN break detection flag */ +#define USART_FLAG_TXE USART_ISR_TXE /*!< USART transmit data register empty */ +#define USART_FLAG_TXFNF USART_ISR_TXE /*!< USART TXFIFO not full */ +#define USART_FLAG_TC USART_ISR_TC /*!< USART transmission complete */ +#define USART_FLAG_RXNE USART_ISR_RXNE /*!< USART read data register not empty */ +#define USART_FLAG_RXFNE USART_ISR_RXNE /*!< USART RXFIFO not empty */ +#define USART_FLAG_IDLE USART_ISR_IDLE /*!< USART idle flag */ +#define USART_FLAG_ORE USART_ISR_ORE /*!< USART overrun error */ +#define USART_FLAG_NE USART_ISR_NE /*!< USART noise error */ +#define USART_FLAG_FE USART_ISR_FE /*!< USART frame error */ +#define USART_FLAG_PE USART_ISR_PE /*!< USART parity error */ +/** + * @} + */ + +/** @defgroup USART_Interrupt_definition USART Interrupts Definition + * Elements values convention: 0000ZZZZ0XXYYYYYb + * - YYYYY : Interrupt source position in the XX register (5bits) + * - XX : Interrupt source register (2bits) + * - 01: CR1 register + * - 10: CR2 register + * - 11: CR3 register + * - ZZZZ : Flag position in the ISR register(5bits instead of 4bits) + * @{ + */ + +#define USART_IT_PE ((uint16_t)0x0028U) +#define USART_IT_TXE ((uint16_t)0x0727U) +#define USART_IT_TC ((uint16_t)0x0626U) +#define USART_IT_RXNE ((uint16_t)0x0525U) +#define USART_IT_IDLE ((uint16_t)0x0424U) +#define USART_IT_ERR ((uint16_t)0x0060U) +#define USART_IT_RXFF ((uint16_t)0x183FU) +#define USART_IT_TXFE ((uint16_t)0x173EU) +#define USART_IT_RXFT ((uint16_t)0x1A7CU) +#define USART_IT_TXFT ((uint16_t)0x1B77U) + +#define USART_IT_UDR ((uint16_t)0x0D00U) +#define USART_IT_ORE ((uint16_t)0x0300U) +#define USART_IT_NE ((uint16_t)0x0200U) +#define USART_IT_FE ((uint16_t)0x0100U) +/** + * @} + */ + +/** @defgroup USART_IT_CLEAR_Flags USART Interruption Clear Flags + * @{ + */ +#define USART_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */ +#define USART_CLEAR_FEF USART_ICR_FECF /*!< Framing Error Clear Flag */ +#define USART_CLEAR_NEF USART_ICR_NCF /*!< Noise detected Clear Flag */ +#define USART_CLEAR_OREF USART_ICR_ORECF /*!< OverRun Error Clear Flag */ +#define USART_CLEAR_IDLEF USART_ICR_IDLECF /*!< IDLE line detected Clear Flag */ +#define USART_CLEAR_TCF USART_ICR_TCCF /*!< Transmission Complete Clear Flag */ +#define USART_CLEAR_UDRCF USART_ICR_UDRCF /*!< UnderRun Error Clear Flag */ +#define USART_CLEAR_TXFECF USART_ICR_TXFECF /*!< TXFIFO empty clear flag */ +/** + * @} + */ + +/** @defgroup USART_Interruption_Mask USART Interruption Flags Mask + * @{ + */ +#define USART_IT_MASK ((uint16_t)0x001FU) /*!< USART interruptions flags mask */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported macros -----------------------------------------------------------*/ +/** @defgroup USART_Exported_Macros USART Exported Macros + * @{ + */ + +/** @brief Reset USART handle state. + * @param __HANDLE__: USART handle. + * @retval None + */ +#define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_USART_STATE_RESET) + +/** @brief Check whether the specified USART flag is set or not. + * @param __HANDLE__: specifies the USART Handle + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg USART_FLAG_TXFT: TXFIFO threshold flag + * @arg USART_FLAG_RXFT: RXFIFO threshold flag + * @arg USART_FLAG_RXFF: RXFIFO Full flag + * @arg USART_FLAG_TXFE: TXFIFO Empty flag + * @arg USART_FLAG_REACK: Receive enable ackowledge flag + * @arg USART_FLAG_TEACK: Transmit enable ackowledge flag + * @arg USART_FLAG_BUSY: Busy flag + * @arg USART_FLAG_TXE: Transmit data register empty flag + * @arg USART_FLAG_TC: Transmission Complete flag + * @arg USART_FLAG_RXNE: Receive data register not empty flag + * @arg USART_FLAG_IDLE: Idle Line detection flag + * @arg USART_FLAG_ORE: OverRun Error flag + * @arg USART_FLAG_UDR: UnderRun Error flag + * @arg USART_FLAG_NE: Noise Error flag + * @arg USART_FLAG_FE: Framing Error flag + * @arg USART_FLAG_PE: Parity Error flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) + +/** @brief Clear the specified USART pending flag. + * @param __HANDLE__: specifies the USART Handle. + * @param __FLAG__: specifies the flag to check. + * This parameter can be any combination of the following values: + * @arg USART_FLAG_TXFT: TXFIFO threshold flag + * @arg USART_FLAG_RXFT: RXFIFO threshold flag + * @arg USART_FLAG_RXFF: RXFIFO Full flag + * @arg USART_FLAG_TXFE: TXFIFO Empty flag + * @arg USART_FLAG_REACK: Receive enable ackowledge flag + * @arg USART_FLAG_TEACK: Transmit enable ackowledge flag + * @arg USART_FLAG_WUF: Wake up from stop mode flag + * @arg USART_FLAG_RWU: Receiver wake up flag (is the USART in mute mode) + * @arg USART_FLAG_SBKF: Send Break flag + * @arg USART_FLAG_CMF: Character match flag + * @arg USART_FLAG_BUSY: Busy flag + * @arg USART_FLAG_ABRF: Auto Baud rate detection flag + * @arg USART_FLAG_ABRE: Auto Baud rate detection error flag + * @arg USART_FLAG_RTOF: Receiver timeout flag + * @arg USART_FLAG_LBD: LIN Break detection flag + * @arg USART_FLAG_TXE: Transmit data register empty flag + * @arg USART_FLAG_TC: Transmission Complete flag + * @arg USART_FLAG_RXNE: Receive data register not empty flag + * @arg USART_FLAG_IDLE: Idle Line detection flag + * @arg USART_FLAG_ORE: OverRun Error flag + * @arg USART_FLAG_NE: Noise Error flag + * @arg USART_FLAG_FE: Framing Error flag + * @arg USART_FLAG_PE: Parity Error flag + * @retval The new state of __FLAG__ (TRUE or FALSE). + */ +#define __HAL_USART_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) + + +/** @brief Enable the specified USART interrupt. + * @param __HANDLE__: specifies the USART Handle. + * @param __INTERRUPT__: specifies the USART interrupt source to enable. + * This parameter can be one of the following values: + * @arg USART_IT_RXFF: RXFIFO Full interrupt + * @arg USART_IT_TXFE: TXFIFO Empty interrupt + * @arg USART_IT_RXFT: RXFIFO threshold interrupt + * @arg USART_IT_TXFT: TXFIFO threshold interrupt + * @arg USART_IT_TXE : Transmit Data Register empty interrupt + * @arg USART_IT_TC : Transmission complete interrupt + * @arg USART_IT_RXNE: Receive Data register not empty interrupt + * @arg USART_IT_IDLE: Idle line detection interrupt + * @arg USART_IT_PE : Parity Error interrupt + * @arg USART_IT_ERR : Error interrupt(Frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_USART_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & USART_IT_MASK)))) + +/** @brief Disable the specified USART interrupt. + * @param __HANDLE__: specifies the USART Handle. + * @param __INTERRUPT__: specifies the USART interrupt source to disable. + * This parameter can be one of the following values: + * @arg USART_IT_RXFF: RXFIFO Full interrupt + * @arg USART_IT_TXFE: TXFIFO Empty interrupt + * @arg USART_IT_RXFT: RXFIFO threshold interrupt + * @arg USART_IT_TXFT: TXFIFO threshold interrupt + * @arg USART_IT_TXE : Transmit Data Register empty interrupt + * @arg USART_IT_TC : Transmission complete interrupt + * @arg USART_IT_RXNE: Receive Data register not empty interrupt + * @arg USART_IT_IDLE: Idle line detection interrupt + * @arg USART_IT_PE : Parity Error interrupt + * @arg USART_IT_ERR : Error interrupt(Frame error, noise error, overrun error) + * @retval None + */ +#define __HAL_USART_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ + ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK))): \ + ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK)))) + + +/** @brief Check whether the specified USART interrupt has occurred or not. + * @param __HANDLE__: specifies the USART Handle. + * @param __IT__: specifies the USART interrupt source to check. + * This parameter can be one of the following values: + * @arg USART_IT_RXFF: RXFIFO Full interrupt + * @arg USART_IT_TXFE: TXFIFO Empty interrupt + * @arg USART_IT_RXFT: RXFIFO threshold interrupt + * @arg USART_IT_TXFT: TXFIFO threshold interrupt + * @arg USART_IT_TXE : Transmit Data Register empty interrupt + * @arg USART_IT_TC : Transmission complete interrupt + * @arg USART_IT_RXNE: Receive Data register not empty interrupt + * @arg USART_IT_IDLE: Idle line detection interrupt + * @arg USART_IT_ORE : OverRun Error interrupt + * @arg USART_IT_UDR : UnderRun Error interrupt + * @arg USART_IT_NE : Noise Error interrupt + * @arg USART_IT_FE : Framing Error interrupt + * @arg USART_IT_PE : Parity Error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_USART_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__IT__)>> 0x08))) + +/** @brief Check whether the specified USART interrupt source is enabled or not. + * @param __HANDLE__: specifies the USART Handle. + * @param __IT__: specifies the USART interrupt source to check. + * This parameter can be one of the following values: + * @arg USART_IT_RXFF: RXFIFO Full interrupt + * @arg USART_IT_TXFE: TXFIFO Empty interrupt + * @arg USART_IT_RXFT: RXFIFO threshold interrupt + * @arg USART_IT_TXFT: TXFIFO threshold interrupt + * @arg USART_IT_TXE : Transmit Data Register empty interrupt + * @arg USART_IT_TC : Transmission complete interrupt + * @arg USART_IT_RXNE: Receive Data register not empty interrupt + * @arg USART_IT_IDLE: Idle line detection interrupt + * @arg USART_IT_ORE : OverRun Error interrupt + * @arg USART_IT_NE : Noise Error interrupt + * @arg USART_IT_FE : Framing Error interrupt + * @arg USART_IT_PE : Parity Error interrupt + * @retval The new state of __IT__ (TRUE or FALSE). + */ +#define __HAL_USART_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5) == 1)? (__HANDLE__)->Instance->CR1:(((((uint8_t)(__IT__)) >> 5) == 2)? \ + (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << \ + (((uint16_t)(__IT__)) & USART_IT_MASK))) + + +/** @brief Clear the specified USART ISR flag, in setting the proper ICR register flag. + * @param __HANDLE__: specifies the USART Handle. + * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set + * to clear the corresponding interrupt. + * This parameter can be one of the following values: + * @arg USART_CLEAR_PEF: Parity Error Clear Flag + * @arg USART_CLEAR_FEF: Framing Error Clear Flag + * @arg USART_CLEAR_NEF: Noise detected Clear Flag + * @arg USART_CLEAR_OREF: OverRun Error Clear Flag + * @arg USART_CLEAR_IDLEF: IDLE line detected Clear Flag + * @arg USART_CLEAR_TCF: Transmission Complete Clear Flag + * @arg USART_CLEAR_UDRCF: UnderRun Error Clear Flag + * @arg USART_CLEAR_TXFECF: TXFIFO empty Clear Flag + * @retval None + */ +#define __HAL_USART_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__)) + +/** @brief Clear the USART PE pending flag. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_CLEAR_PEFLAG(__HANDLE__) __HAL_USART_CLEAR_IT((__HANDLE__), USART_CLEAR_PEF) + +/** @brief Clear the USART FE pending flag. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_CLEAR_FEFLAG(__HANDLE__) __HAL_USART_CLEAR_IT((__HANDLE__), USART_CLEAR_FEF) + +/** @brief Clear the USART NE pending flag. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_CLEAR_NEFLAG(__HANDLE__) __HAL_USART_CLEAR_IT((__HANDLE__), USART_CLEAR_NEF) + +/** @brief Clear the USART ORE pending flag. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_CLEAR_OREFLAG(__HANDLE__) __HAL_USART_CLEAR_IT((__HANDLE__), USART_CLEAR_OREF) + +/** @brief Clear the USART IDLE pending flag. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_CLEAR_IDLEFLAG(__HANDLE__) __HAL_USART_CLEAR_IT((__HANDLE__), USART_CLEAR_IDLEF) + +/** @brief Clear the USART UDR pending flag. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_CLEAR_UDRFLAG(__HANDLE__) __HAL_USART_CLEAR_IT((__HANDLE__), USART_CLEAR_UDRCF) + +/** @brief Clear the USART TX FIFO empty clear flag. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_CLEAR_TXFECF(__HANDLE__) __HAL_USART_CLEAR_IT((__HANDLE__), USART_CLEAR_TXFECF) + + + +/** @brief Set a specific USART request flag. + * @param __HANDLE__: specifies the USART Handle. + * @param __REQ__: specifies the request flag to set. + * This parameter can be one of the following values: + * @arg USART_RXDATA_FLUSH_REQUEST: Receive Data flush Request + * @arg USART_TXDATA_FLUSH_REQUEST: Transmit data flush Request + * + * @retval None + */ +#define __HAL_USART_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (__REQ__)) + +/** @brief Enable the USART one bit sample method. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT) + +/** @brief Disable the USART one bit sample method. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3 &= (uint32_t)~((uint32_t)USART_CR3_ONEBIT)) + +/** @brief Enable USART. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE) + +/** @brief Disable USART. + * @param __HANDLE__: specifies the USART Handle. + * @retval None + */ +#define __HAL_USART_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) + +/** + * @} + */ + +/* Private variables -----------------------------------------------------*/ +/** @defgroup USART_Private_Variables USART Private Variables + * @{ + */ +static const uint16_t USARTPrescTable[12] = {1, 2, 4, 6, 8, 10, 12, 16, 32, 64, 128, 256}; +/** + * @} + */ + +/* Private macros --------------------------------------------------------*/ +/** @defgroup USART_Private_Macros USART Private Macros + * @{ + */ + +/** @brief Report the USART clock source. + * @param __HANDLE__: specifies the USART Handle. + * @param __CLOCKSOURCE__: output variable. + * @retval the USART clocking source, written in __CLOCKSOURCE__. + */ +#define USART_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \ + do { \ + if((__HANDLE__)->Instance == USART1) \ + { \ + switch(__HAL_RCC_GET_USART1_SOURCE()) \ + { \ + case RCC_USART1CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART1CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART1CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART1CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART1CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART1CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART2) \ + { \ + switch(__HAL_RCC_GET_USART2_SOURCE()) \ + { \ + case RCC_USART2CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART2CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART2CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART2CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART2CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART2CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART3) \ + { \ + switch(__HAL_RCC_GET_USART3_SOURCE()) \ + { \ + case RCC_USART3CLKSOURCE_D2PCLK1: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_D2PCLK1; \ + break; \ + case RCC_USART3CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART3CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART3CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART3CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART3CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + else if((__HANDLE__)->Instance == USART6) \ + { \ + switch(__HAL_RCC_GET_USART6_SOURCE()) \ + { \ + case RCC_USART6CLKSOURCE_D2PCLK2: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_D2PCLK2; \ + break; \ + case RCC_USART6CLKSOURCE_PLL2: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL2; \ + break; \ + case RCC_USART6CLKSOURCE_PLL3: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_PLL3; \ + break; \ + case RCC_USART6CLKSOURCE_HSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_HSI; \ + break; \ + case RCC_USART6CLKSOURCE_CSI: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_CSI; \ + break; \ + case RCC_USART6CLKSOURCE_LSE: \ + (__CLOCKSOURCE__) = USART_CLOCKSOURCE_LSE; \ + break; \ + } \ + } \ + } while(0) + +/** @brief BRR division operation to set BRR register in 8-bit oversampling mode. + * @param __PCLK__: USART clock. + * @param __BAUD__: Baud rate set by the user. + * @param __PRESCALER__: UART prescaler value. + * @retval Division result + */ +#define USART_DIV_SAMPLING8(__PCLK__, __BAUD__, __PRESCALER__) (((((__PCLK__)/USARTPrescTable[(__PRESCALER__)])*2) + ((__BAUD__)/2)) / (__BAUD__)) + +/** @brief Check USART Baud rate. + * @param __BAUDRATE__: Baudrate specified by the user. + * The maximum Baud Rate is derived from the maximum clock on H7 (i.e. 100 MHz) + * divided by the smallest oversampling used on the USART (i.e. 8). + * @retval Test result (TRUE or FALSE). + */ +#define IS_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 12500001U) + +/** + * @brief Ensure that USART frame number of stop bits is valid. + * @param __STOPBITS__: USART frame number of stop bits. + * @retval SET (__STOPBITS__ is valid) or RESET (__STOPBITS__ is invalid) + */ +#define IS_USART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == USART_STOPBITS_0_5) || \ + ((__STOPBITS__) == USART_STOPBITS_1) || \ + ((__STOPBITS__) == USART_STOPBITS_1_5) || \ + ((__STOPBITS__) == USART_STOPBITS_2)) + +/** + * @brief Ensure that USART frame parity is valid. + * @param __PARITY__: USART frame parity. + * @retval SET (__PARITY__ is valid) or RESET (__PARITY__ is invalid) + */ +#define IS_USART_PARITY(__PARITY__) (((__PARITY__) == USART_PARITY_NONE) || \ + ((__PARITY__) == USART_PARITY_EVEN) || \ + ((__PARITY__) == USART_PARITY_ODD)) + +/** + * @brief Ensure that USART communication mode is valid. + * @param __MODE__: USART communication mode. + * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid) + */ +#define IS_USART_MODE(__MODE__) ((((__MODE__) & (uint32_t)0xFFFFFFF3U) == 0x00U) && ((__MODE__) != (uint32_t)0x00U)) + +/** + * @brief Ensure that USART oversampling is valid. + * @param __SAMPLING__: USART oversampling. + * @retval SET (__SAMPLING__ is valid) or RESET (__SAMPLING__ is invalid) + */ +#define IS_USART_OVERSAMPLING(__SAMPLING__) (((__SAMPLING__) == USART_OVERSAMPLING_16) || \ + ((__SAMPLING__) == USART_OVERSAMPLING_8)) + +/** + * @brief Ensure that USART clock state is valid. + * @param __CLOCK__: USART clock state. + * @retval SET (__CLOCK__ is valid) or RESET (__CLOCK__ is invalid) + */ +#define IS_USART_CLOCK(__CLOCK__) (((__CLOCK__) == USART_CLOCK_DISABLE) || \ + ((__CLOCK__) == USART_CLOCK_ENABLE)) + +/** + * @brief Ensure that USART frame polarity is valid. + * @param __CPOL__: USART frame polarity. + * @retval SET (__CPOL__ is valid) or RESET (__CPOL__ is invalid) + */ +#define IS_USART_POLARITY(__CPOL__) (((__CPOL__) == USART_POLARITY_LOW) || ((__CPOL__) == USART_POLARITY_HIGH)) + +/** + * @brief Ensure that USART frame phase is valid. + * @param __CPHA__: USART frame phase. + * @retval SET (__CPHA__ is valid) or RESET (__CPHA__ is invalid) + */ +#define IS_USART_PHASE(__CPHA__) (((__CPHA__) == USART_PHASE_1EDGE) || ((__CPHA__) == USART_PHASE_2EDGE)) + +/** + * @brief Ensure that USART frame last bit clock pulse setting is valid. + * @param __LASTBIT__: USART frame last bit clock pulse setting. + * @retval SET (__LASTBIT__ is valid) or RESET (__LASTBIT__ is invalid) + */ +#define IS_USART_LASTBIT(__LASTBIT__) (((__LASTBIT__) == USART_LASTBIT_DISABLE) || \ + ((__LASTBIT__) == USART_LASTBIT_ENABLE)) + +/** + * @brief Ensure that USART request parameter is valid. + * @param __PARAM__: USART request parameter. + * @retval SET (__PARAM__ is valid) or RESET (__PARAM__ is invalid) + */ +#define IS_USART_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == USART_RXDATA_FLUSH_REQUEST) || \ + ((__PARAM__) == USART_TXDATA_FLUSH_REQUEST)) + +/** + * @brief Ensure that USART Prescaler is valid. + * @param __PRESCALER__: USART Prescaler value. + * @retval SET (__PRESCALER__ is valid) or RESET (__PRESCALER__ is invalid) + */ +#define IS_USART_PRESCALER(__PRESCALER__) (((__PRESCALER__) == USART_PRESCALER_DIV1) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV2) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV4) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV6) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV8) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV10) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV12) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV16) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV32) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV64) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV128) || \ + ((__PRESCALER__) == USART_PRESCALER_DIV256)) + +/** + * @brief Ensure that USART NSS is valid. + * @param __NSS__: USART Negative Slave Select pin management. + * @retval SET (__NSS__ is valid) or RESET (__NSS__ is invalid) + */ +#define IS_USART_NSS(__NSS__) (((__NSS__) == USART_NSS_HW) || ((__NSS__) == USART_NSS_SW)) + +/** + * @brief Ensure that USART FIFO mode is valid. + * @param __STATE__: USART FIFO mode. + * @retval SET (__STATE__ is valid) or RESET (__STATE__ is invalid) + */ +#define IS_USART_FIFO_MODE_STATE(__STATE__) (((__STATE__) == USART_FIFOMODE_DISABLE ) || \ + ((__STATE__) == USART_FIFOMODE_ENABLE)) + +/** + * @brief Ensure that USART TXFIFO threshold level is valid. + * @param __THRESHOLD__: USART TXFIFO threshold level. + * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) + */ +#define IS_USART_TXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_1_8) || \ + ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_1_4) || \ + ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_1_2) || \ + ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_3_4) || \ + ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_7_8) || \ + ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_8_8)) + +/** + * @brief Ensure that USART RXFIFO threshold level is valid. + * @param __THRESHOLD__: USART RXFIFO threshold level. + * @retval SET (__THRESHOLD__ is valid) or RESET (__THRESHOLD__ is invalid) + */ +#define IS_USART_RXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_1_8) || \ + ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_1_4) || \ + ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_1_2) || \ + ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_3_4) || \ + ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_7_8) || \ + ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_8_8)) + +/** + * @brief Ensure that USART Slave Mode is valid. + * @param __STATE__: USART Slave Mode. + * @retval SET (__STATE__ is valid) or RESET (__STATE__ is invalid) + */ +#define IS_USART_SLAVEMODE(__STATE__) (((__STATE__) == USART_SLAVEMODE_DISABLE ) || \ + ((__STATE__) == USART_SLAVEMODE_ENABLE)) + +/** + * @} + */ + +/* Include USART HAL Extended module */ +#include "stm32h7xx_hal_usart_ex.h" + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup USART_Exported_Functions USART Exported Functions + * @{ + */ + +/** @addtogroup USART_Exported_Functions_Group1 Initialization and de-initialization functions + * @{ + */ + +/* Initialization and de-initialization functions ****************************/ +HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart); +HAL_StatusTypeDef HAL_USART_DeInit(USART_HandleTypeDef *husart); +void HAL_USART_MspInit(USART_HandleTypeDef *husart); +void HAL_USART_MspDeInit(USART_HandleTypeDef *husart); + +/** + * @} + */ + +/** @addtogroup USART_Exported_Functions_Group2 IO operation functions + * @{ + */ + +/* IO operation functions *****************************************************/ +HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_USART_TransmitReceive(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout); +HAL_StatusTypeDef HAL_USART_Transmit_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size); +HAL_StatusTypeDef HAL_USART_Receive_IT(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size); +HAL_StatusTypeDef HAL_USART_TransmitReceive_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size); +HAL_StatusTypeDef HAL_USART_Transmit_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size); +HAL_StatusTypeDef HAL_USART_Receive_DMA(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size); +HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size); +HAL_StatusTypeDef HAL_USART_DMAPause(USART_HandleTypeDef *husart); +HAL_StatusTypeDef HAL_USART_DMAResume(USART_HandleTypeDef *husart); +HAL_StatusTypeDef HAL_USART_DMAStop(USART_HandleTypeDef *husart); +/* Transfer Abort functions */ +HAL_StatusTypeDef HAL_USART_Abort(USART_HandleTypeDef *husart); +HAL_StatusTypeDef HAL_USART_Abort_IT(USART_HandleTypeDef *husart); + +void HAL_USART_IRQHandler(USART_HandleTypeDef *husart); +void HAL_USART_TxHalfCpltCallback(USART_HandleTypeDef *husart); +void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart); +void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart); +void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart); +void HAL_USART_TxRxCpltCallback(USART_HandleTypeDef *husart); +void HAL_USART_ErrorCallback(USART_HandleTypeDef *husart); +void HAL_USART_AbortCpltCallback (USART_HandleTypeDef *husart); + +/** + * @} + */ + +/* Peripheral Control functions ***********************************************/ + +/** @addtogroup USART_Exported_Functions_Group4 Peripheral State and Error functions + * @{ + */ + +/* Peripheral State and Error functions ***************************************/ +HAL_USART_StateTypeDef HAL_USART_GetState(USART_HandleTypeDef *husart); +uint32_t HAL_USART_GetError(USART_HandleTypeDef *husart); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_USART_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart_ex.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart_ex.h new file mode 100644 index 0000000000..d0549aea18 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_usart_ex.h @@ -0,0 +1,157 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_usart_ex.h + * @author MCD Application Team + * @brief Header file of USART HAL Extended module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_USART_EX_H +#define __STM32H7xx_HAL_USART_EX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup USARTEx + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/** @defgroup USARTEx_Exported_Constants USARTEx Exported Constants + * @{ + */ + +/** @defgroup USARTEx_Word_Length USARTEx Word Length + * @{ + */ +#define USART_WORDLENGTH_7B ((uint32_t)USART_CR1_M1) /*!< 7-bit long USART frame */ +#define USART_WORDLENGTH_8B ((uint32_t)0x00000000U) /*!< 8-bit long USART frame */ +#define USART_WORDLENGTH_9B ((uint32_t)USART_CR1_M0) /*!< 9-bit long USART frame */ +/** + * @} + */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup USARTEx_Private_Macros USARTEx Private Macros + * @{ + */ + +/** @brief Compute the USART mask to apply to retrieve the received data + * according to the word length and to the parity bits activation. + * @note If PCE = 1, the parity bit is not included in the data extracted + * by the reception API(). + * This masking operation is not carried out in the case of + * DMA transfers. + * @param __HANDLE__: specifies the USART Handle. + * @retval None, the mask to apply to USART RDR register is stored in (__HANDLE__)->Mask field. + */ +#define USART_MASK_COMPUTATION(__HANDLE__) \ + do { \ + if ((__HANDLE__)->Init.WordLength == USART_WORDLENGTH_9B) \ + { \ + if ((__HANDLE__)->Init.Parity == USART_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x01FF ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x00FF ; \ + } \ + } \ + else if ((__HANDLE__)->Init.WordLength == USART_WORDLENGTH_8B) \ + { \ + if ((__HANDLE__)->Init.Parity == USART_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x00FF ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x007F ; \ + } \ + } \ + else if ((__HANDLE__)->Init.WordLength == USART_WORDLENGTH_7B) \ + { \ + if ((__HANDLE__)->Init.Parity == USART_PARITY_NONE) \ + { \ + (__HANDLE__)->Mask = 0x007F ; \ + } \ + else \ + { \ + (__HANDLE__)->Mask = 0x003F ; \ + } \ + } \ +} while(0) + +/** + * @brief Ensure that USART frame length is valid. + * @param __LENGTH__: USART frame length. + * @retval SET (__LENGTH__ is valid) or RESET (__LENGTH__ is invalid) + */ +#define IS_USART_WORD_LENGTH(__LENGTH__) (((__LENGTH__) == USART_WORDLENGTH_7B) || \ + ((__LENGTH__) == USART_WORDLENGTH_8B) || \ + ((__LENGTH__) == USART_WORDLENGTH_9B)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_USART_EX_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_wwdg.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_wwdg.h new file mode 100644 index 0000000000..9bd8e9b0eb --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_wwdg.h @@ -0,0 +1,292 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_wwdg.h + * @author MCD Application Team + * @brief Header file of WWDG HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_WWDG_H +#define __STM32H7xx_HAL_WWDG_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup WWDG + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** @defgroup WWDG_Exported_Types WWDG Exported Types + * @{ + */ + +/** + * @brief WWDG Init structure definition + */ +typedef struct +{ + uint32_t Prescaler; /*!< Specifies the prescaler value of the WWDG. + This parameter can be a value of @ref WWDG_Prescaler */ + + uint32_t Window; /*!< Specifies the WWDG window value to be compared to the downcounter. + This parameter must be a number Min_Data = 0x40 and Max_Data = 0x7F */ + + uint32_t Counter; /*!< Specifies the WWDG free-running downcounter value. + This parameter must be a number between Min_Data = 0x40 and Max_Data = 0x7F */ + + uint32_t EWIMode ; /*!< Specifies if WWDG Early Wakeup Interupt is enable or not. + This parameter can be a value of @ref WWDG_EWI_Mode */ + +}WWDG_InitTypeDef; + +/** + * @brief WWDG handle Structure definition + */ +typedef struct +{ + WWDG_TypeDef *Instance; /*!< Register base address */ + + WWDG_InitTypeDef Init; /*!< WWDG required parameters */ + +}WWDG_HandleTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup WWDG_Exported_Constants WWDG Exported Constants + * @{ + */ + +/** @defgroup WWDG_Interrupt_definition WWDG Interrupt definition + * @{ + */ +#define WWDG_IT_EWI WWDG_CFR_EWI /*!< Early wakeup interrupt */ +/** + * @} + */ + +/** @defgroup WWDG_Flag_definition WWDG Flag definition + * @brief WWDG Flag definition + * @{ + */ +#define WWDG_FLAG_EWIF WWDG_SR_EWIF /*!< Early wakeup interrupt flag */ +/** + * @} + */ + +/** @defgroup WWDG_Prescaler WWDG Prescaler + * @{ + */ +#define WWDG_PRESCALER_1 ((uint32_t)(0x00000000U)) /*!< WWDG counter clock = (PCLK1/4096)/1 */ +#define WWDG_PRESCALER_2 ((uint32_t)(WWDG_CFR_WDGTB0)) /*!< WWDG counter clock = (PCLK1/4096)/2 */ +#define WWDG_PRESCALER_4 ((uint32_t)(WWDG_CFR_WDGTB1)) /*!< WWDG counter clock = (PCLK1/4096)/4 */ +#define WWDG_PRESCALER_8 ((uint32_t)(WWDG_CFR_WDGTB1|WWDG_CFR_WDGTB0)) /*!< WWDG counter clock = (PCLK1/4096)/8 */ +#define WWDG_PRESCALER_16 ((uint32_t)(WWDG_CFR_WDGTB2)) /*!< WWDG counter clock = (PCLK1/4096)/16 */ +#define WWDG_PRESCALER_32 ((uint32_t)(WWDG_CFR_WDGTB2|WWDG_CFR_WDGTB0)) /*!< WWDG counter clock = (PCLK1/4096)/32 */ +#define WWDG_PRESCALER_64 ((uint32_t)(WWDG_CFR_WDGTB2|WWDG_CFR_WDGTB1)) /*!< WWDG counter clock = (PCLK1/4096)/64 */ +#define WWDG_PRESCALER_128 ((uint32_t)(WWDG_CFR_WDGTB2|WWDG_CFR_WDGTB1|WWDG_CFR_WDGTB0)) /*!< WWDG counter clock = (PCLK1/4096)/128 */ + +/** + * @} + */ + +/** @defgroup WWDG_EWI_Mode WWDG Early Wakeup Interrupt Mode + * @{ + */ +#define WWDG_EWI_DISABLE 0x00000000u /*!< EWI Disable */ +#define WWDG_EWI_ENABLE WWDG_CFR_EWI /*!< EWI Enable */ +/** + * @} + */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ + +/** @defgroup WWDG_Private_Macros WWDG Private Macros + * @{ + */ +#define IS_WWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == WWDG_PRESCALER_1) || \ + ((__PRESCALER__) == WWDG_PRESCALER_2) || \ + ((__PRESCALER__) == WWDG_PRESCALER_4) || \ + ((__PRESCALER__) == WWDG_PRESCALER_8) || \ + ((__PRESCALER__) == WWDG_PRESCALER_16) || \ + ((__PRESCALER__) == WWDG_PRESCALER_32) || \ + ((__PRESCALER__) == WWDG_PRESCALER_64) || \ + ((__PRESCALER__) == WWDG_PRESCALER_128)) + +#define IS_WWDG_WINDOW(__WINDOW__) (((__WINDOW__) >= WWDG_CFR_W6) && ((__WINDOW__) <= WWDG_CFR_W)) + +#define IS_WWDG_COUNTER(__COUNTER__) (((__COUNTER__) >= WWDG_CR_T6) && ((__COUNTER__) <= WWDG_CR_T)) + +#define IS_WWDG_EWI_MODE(__MODE__) (((__MODE__) == WWDG_EWI_ENABLE) || \ + ((__MODE__) == WWDG_EWI_DISABLE)) +/** + * @} + */ + + +/* Exported macros ------------------------------------------------------------*/ + +/** @defgroup WWDG_Exported_Macros WWDG Exported Macros + * @{ + */ + +/** + * @brief Enable the WWDG peripheral. + * @param __HANDLE__ WWDG handle + * @retval None + */ +#define __HAL_WWDG_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, WWDG_CR_WDGA) + +/** + * @brief Enable the WWDG early wakeup interrupt. + * @param __HANDLE__: WWDG handle + * @param __INTERRUPT__ specifies the interrupt to enable. + * This parameter can be one of the following values: + * @arg WWDG_IT_EWI: Early wakeup interrupt + * @note Once enabled this interrupt cannot be disabled except by a system reset. + * @retval None + */ +#define __HAL_WWDG_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CFR, (__INTERRUPT__)) + +/** + * @brief Check whether the selected WWDG interrupt has occurred or not. + * @param __HANDLE__ WWDG handle + * @param __INTERRUPT__ specifies the it to check. + * This parameter can be one of the following values: + * @arg WWDG_FLAG_EWIF: Early wakeup interrupt IT + * @retval The new state of WWDG_FLAG (SET or RESET). + */ +#define __HAL_WWDG_GET_IT(__HANDLE__, __INTERRUPT__) __HAL_WWDG_GET_FLAG((__HANDLE__),(__INTERRUPT__)) + +/** @brief Clear the WWDG interrupt pending bits. + * bits to clear the selected interrupt pending bits. + * @param __HANDLE__ WWDG handle + * @param __INTERRUPT__ specifies the interrupt pending bit to clear. + * This parameter can be one of the following values: + * @arg WWDG_FLAG_EWIF: Early wakeup interrupt flag + */ +#define __HAL_WWDG_CLEAR_IT(__HANDLE__, __INTERRUPT__) __HAL_WWDG_CLEAR_FLAG((__HANDLE__), (__INTERRUPT__)) + +/** + * @brief Check whether the specified WWDG flag is set or not. + * @param __HANDLE__ WWDG handle + * @param __FLAG__ specifies the flag to check. + * This parameter can be one of the following values: + * @arg WWDG_FLAG_EWIF: Early wakeup interrupt flag + * @retval The new state of WWDG_FLAG (SET or RESET). + */ +#define __HAL_WWDG_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__)) + +/** + * @brief Clear the WWDG's pending flags. + * @param __HANDLE__ WWDG handle + * @param __FLAG__ specifies the flag to clear. + * This parameter can be one of the following values: + * @arg WWDG_FLAG_EWIF: Early wakeup interrupt flag + * @retval None + */ +#define __HAL_WWDG_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR = ~(uint32_t)(__FLAG__)) + +/** @brief Check whether the specified WWDG interrupt source is enabled or not. + * @param __HANDLE__ WWDG Handle. + * @param __INTERRUPT__ specifies the WWDG interrupt source to check. + * This parameter can be one of the following values: + * @arg WWDG_IT_EWI: Early Wakeup Interrupt + * @retval state of __INTERRUPT__ (TRUE or FALSE). + */ +#define __HAL_WWDG_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CFR & (__INTERRUPT__)) == (__INTERRUPT__)) + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup WWDG_Exported_Functions + * @{ + */ + +/** @addtogroup WWDG_Exported_Functions_Group1 + * @{ + */ +/* Initialization/de-initialization functions **********************************/ +HAL_StatusTypeDef HAL_WWDG_Init(WWDG_HandleTypeDef *hwwdg); +void HAL_WWDG_MspInit(WWDG_HandleTypeDef *hwwdg); +/** + * @} + */ + +/** @addtogroup WWDG_Exported_Functions_Group2 + * @{ + */ +/* I/O operation functions ******************************************************/ +HAL_StatusTypeDef HAL_WWDG_Refresh(WWDG_HandleTypeDef *hwwdg); +void HAL_WWDG_IRQHandler(WWDG_HandleTypeDef *hwwdg); +void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef* hwwdg); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_WWDG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h new file mode 100644 index 0000000000..5da99b44a4 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h @@ -0,0 +1,112 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_delayblock.h + * @author MCD Application Team + * @brief Header file of Delay Block module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_LL_DLYB_H +#define __STM32H7xx_LL_DLYB_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup DELAYBLOCK_LL + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup DELAYBLOCK_LL_Exported_Types DELAYBLOCK_LL Exported Types + * @{ + */ + + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup DLYB_Exported_Constants Delay Block Exported Constants + * @{ + */ + + +#define DLYB_MAX_UNIT ((uint32_t)0x00000080U) /*!< Max UNIT value (128) */ + +/** @defgroup DLYB_Instance DLYB Instance + * @{ + */ +#define IS_DLYB_ALL_INSTANCE(INSTANCE) (((INSTANCE) == DLYB_SDMMC1) || \ + ((INSTANCE) == DLYB_SDMMC2) || \ + ((INSTANCE) == DLYB_QUADSPI)) +/** + * @} + */ + +/** + * @} + */ + +/* Peripheral Control functions ************************************************/ +/** @addtogroup HAL_DELAYBLOCK_LL_Group3 Delay Block functions + * @{ + */ +HAL_StatusTypeDef DelayBlock_Enable(DLYB_TypeDef *dlyb); +HAL_StatusTypeDef DelayBlock_Disable(DLYB_TypeDef *dlyb); + +/** + * @} + */ + + +/** + * @} + */ + + /** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_LL_DLYB_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h new file mode 100644 index 0000000000..efa0b71476 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h @@ -0,0 +1,1350 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_fmc.h + * @author MCD Application Team + * @brief Header file of FMC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_LL_FMC_H +#define __STM32H7xx_LL_FMC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup FMC_LL + * @{ + */ + +/** @addtogroup FMC_LL_Private_Macros + * @{ + */ +#define IS_FMC_NORSRAM_BANK(BANK) (((BANK) == FMC_NORSRAM_BANK1) || \ + ((BANK) == FMC_NORSRAM_BANK2) || \ + ((BANK) == FMC_NORSRAM_BANK3) || \ + ((BANK) == FMC_NORSRAM_BANK4)) + +#define IS_FMC_MUX(__MUX__) (((__MUX__) == FMC_DATA_ADDRESS_MUX_DISABLE) || \ + ((__MUX__) == FMC_DATA_ADDRESS_MUX_ENABLE)) + +#define IS_FMC_MEMORY(__MEMORY__) (((__MEMORY__) == FMC_MEMORY_TYPE_SRAM) || \ + ((__MEMORY__) == FMC_MEMORY_TYPE_PSRAM)|| \ + ((__MEMORY__) == FMC_MEMORY_TYPE_NOR)) + +#define IS_FMC_NORSRAM_MEMORY_WIDTH(__WIDTH__) (((__WIDTH__) == FMC_NORSRAM_MEM_BUS_WIDTH_8) || \ + ((__WIDTH__) == FMC_NORSRAM_MEM_BUS_WIDTH_16) || \ + ((__WIDTH__) == FMC_NORSRAM_MEM_BUS_WIDTH_32)) + +#define IS_FMC_ACCESS_MODE(__MODE__) (((__MODE__) == FMC_ACCESS_MODE_A) || \ + ((__MODE__) == FMC_ACCESS_MODE_B) || \ + ((__MODE__) == FMC_ACCESS_MODE_C) || \ + ((__MODE__) == FMC_ACCESS_MODE_D)) + +#define IS_FMC_NAND_BANK(BANK) ((BANK) == FMC_NAND_BANK3) + +#define IS_FMC_WAIT_FEATURE(FEATURE) (((FEATURE) == FMC_NAND_WAIT_FEATURE_DISABLE) || \ + ((FEATURE) == FMC_NAND_WAIT_FEATURE_ENABLE)) + +#define IS_FMC_NAND_MEMORY_WIDTH(WIDTH) (((WIDTH) == FMC_NAND_MEM_BUS_WIDTH_8) || \ + ((WIDTH) == FMC_NAND_MEM_BUS_WIDTH_16)) + +#define IS_FMC_ECC_STATE(STATE) (((STATE) == FMC_NAND_ECC_DISABLE) || \ + ((STATE) == FMC_NAND_ECC_ENABLE)) + +#define IS_FMC_ECCPAGE_SIZE(SIZE) (((SIZE) == FMC_NAND_ECC_PAGE_SIZE_256BYTE) || \ + ((SIZE) == FMC_NAND_ECC_PAGE_SIZE_512BYTE) || \ + ((SIZE) == FMC_NAND_ECC_PAGE_SIZE_1024BYTE) || \ + ((SIZE) == FMC_NAND_ECC_PAGE_SIZE_2048BYTE) || \ + ((SIZE) == FMC_NAND_ECC_PAGE_SIZE_4096BYTE) || \ + ((SIZE) == FMC_NAND_ECC_PAGE_SIZE_8192BYTE)) + +#define IS_FMC_SDMEMORY_WIDTH(WIDTH) (((WIDTH) == FMC_SDRAM_MEM_BUS_WIDTH_8) || \ + ((WIDTH) == FMC_SDRAM_MEM_BUS_WIDTH_16) || \ + ((WIDTH) == FMC_SDRAM_MEM_BUS_WIDTH_32)) + +#define IS_FMC_WRITE_PROTECTION(__WRITE__) (((__WRITE__) == FMC_SDRAM_WRITE_PROTECTION_DISABLE) || \ + ((__WRITE__) == FMC_SDRAM_WRITE_PROTECTION_ENABLE)) + +#define IS_FMC_SDCLOCK_PERIOD(__PERIOD__) (((__PERIOD__) == FMC_SDRAM_CLOCK_DISABLE) || \ + ((__PERIOD__) == FMC_SDRAM_CLOCK_PERIOD_2) || \ + ((__PERIOD__) == FMC_SDRAM_CLOCK_PERIOD_3)) + +#define IS_FMC_READ_BURST(__RBURST__) (((__RBURST__) == FMC_SDRAM_RBURST_DISABLE) || \ + ((__RBURST__) == FMC_SDRAM_RBURST_ENABLE)) + +#define IS_FMC_READPIPE_DELAY(__DELAY__) (((__DELAY__) == FMC_SDRAM_RPIPE_DELAY_0) || \ + ((__DELAY__) == FMC_SDRAM_RPIPE_DELAY_1) || \ + ((__DELAY__) == FMC_SDRAM_RPIPE_DELAY_2)) + +#define IS_FMC_COMMAND_MODE(__COMMAND__) (((__COMMAND__) == FMC_SDRAM_CMD_NORMAL_MODE) || \ + ((__COMMAND__) == FMC_SDRAM_CMD_CLK_ENABLE) || \ + ((__COMMAND__) == FMC_SDRAM_CMD_PALL) || \ + ((__COMMAND__) == FMC_SDRAM_CMD_AUTOREFRESH_MODE) || \ + ((__COMMAND__) == FMC_SDRAM_CMD_LOAD_MODE) || \ + ((__COMMAND__) == FMC_SDRAM_CMD_SELFREFRESH_MODE) || \ + ((__COMMAND__) == FMC_SDRAM_CMD_POWERDOWN_MODE)) + +#define IS_FMC_COMMAND_TARGET(__TARGET__) (((__TARGET__) == FMC_SDRAM_CMD_TARGET_BANK1) || \ + ((__TARGET__) == FMC_SDRAM_CMD_TARGET_BANK2) || \ + ((__TARGET__) == FMC_SDRAM_CMD_TARGET_BANK1_2)) + +/** @defgroup FMC_TCLR_Setup_Time FMC TCLR Setup Time + * @{ + */ +#define IS_FMC_TCLR_TIME(__TIME__) ((__TIME__) <= 255) +/** + * @} + */ + +/** @defgroup FMC_TAR_Setup_Time FMC TAR Setup Time + * @{ + */ +#define IS_FMC_TAR_TIME(TIME) ((TIME) <= 255) +/** + * @} + */ + +/** @defgroup FMC_Setup_Time FMC Setup Time + * @{ + */ +#define IS_FMC_SETUP_TIME(TIME) ((TIME) <= 254) +/** + * @} + */ + +/** @defgroup FMC_Wait_Setup_Time FMC Wait Setup Time + * @{ + */ +#define IS_FMC_WAIT_TIME(TIME) ((TIME) <= 254) +/** + * @} + */ + +/** @defgroup FMC_Hold_Setup_Time FMC Hold Setup Time + * @{ + */ +#define IS_FMC_HOLD_TIME(TIME) ((TIME) <= 254) +/** + * @} + */ + +/** @defgroup FMC_HiZ_Setup_Time FMC HiZ Setup Time + * @{ + */ +#define IS_FMC_HIZ_TIME(TIME) ((TIME) <= 254) +/** + * @} + */ + +#define IS_FMC_BURSTMODE(__STATE__) (((__STATE__) == FMC_BURST_ACCESS_MODE_DISABLE) || \ + ((__STATE__) == FMC_BURST_ACCESS_MODE_ENABLE)) + +#define IS_FMC_WAIT_POLARITY(__POLARITY__) (((__POLARITY__) == FMC_WAIT_SIGNAL_POLARITY_LOW) || \ + ((__POLARITY__) == FMC_WAIT_SIGNAL_POLARITY_HIGH)) + +#define IS_FMC_WAIT_SIGNAL_ACTIVE(__ACTIVE__) (((__ACTIVE__) == FMC_WAIT_TIMING_BEFORE_WS) || \ + ((__ACTIVE__) == FMC_WAIT_TIMING_DURING_WS)) + +#define IS_FMC_WRITE_OPERATION(__OPERATION__) (((__OPERATION__) == FMC_WRITE_OPERATION_DISABLE) || \ + ((__OPERATION__) == FMC_WRITE_OPERATION_ENABLE)) + +#define IS_FMC_WAITE_SIGNAL(__SIGNAL__) (((__SIGNAL__) == FMC_WAIT_SIGNAL_DISABLE) || \ + ((__SIGNAL__) == FMC_WAIT_SIGNAL_ENABLE)) + +#define IS_FMC_EXTENDED_MODE(__MODE__) (((__MODE__) == FMC_EXTENDED_MODE_DISABLE) || \ + ((__MODE__) == FMC_EXTENDED_MODE_ENABLE)) + +#define IS_FMC_ASYNWAIT(__STATE__) (((__STATE__) == FMC_ASYNCHRONOUS_WAIT_DISABLE) || \ + ((__STATE__) == FMC_ASYNCHRONOUS_WAIT_ENABLE)) + +/** @defgroup FMC_Data_Latency FMC Data Latency + * @{ + */ +#define IS_FMC_DATA_LATENCY(__LATENCY__) (((__LATENCY__) > 1) && ((__LATENCY__) <= 17)) +/** + * @} + */ + +#define IS_FMC_WRITE_BURST(__BURST__) (((__BURST__) == FMC_WRITE_BURST_DISABLE) || \ + ((__BURST__) == FMC_WRITE_BURST_ENABLE)) + +#define IS_FMC_CONTINOUS_CLOCK(CCLOCK) (((CCLOCK) == FMC_CONTINUOUS_CLOCK_SYNC_ONLY) || \ + ((CCLOCK) == FMC_CONTINUOUS_CLOCK_SYNC_ASYNC)) + + +/** @defgroup FMC_Address_Setup_Time FMC Address Setup Time + * @{ + */ +#define IS_FMC_ADDRESS_SETUP_TIME(__TIME__) ((__TIME__) <= 15) +/** + * @} + */ + +/** @defgroup FMC_Address_Hold_Time FMC Address Hold Time + * @{ + */ +#define IS_FMC_ADDRESS_HOLD_TIME(__TIME__) (((__TIME__) > 0) && ((__TIME__) <= 15)) +/** + * @} + */ + +/** @defgroup FMC_Data_Setup_Time FMC Data Setup Time + * @{ + */ +#define IS_FMC_DATASETUP_TIME(__TIME__) (((__TIME__) > 0) && ((__TIME__) <= 255)) +/** + * @} + */ + +/** @defgroup FMC_Bus_Turn_around_Duration FMC Bus Turn around Duration + * @{ + */ +#define IS_FMC_TURNAROUND_TIME(__TIME__) ((__TIME__) <= 15) +/** + * @} + */ + +/** @defgroup FMC_CLK_Division FMC CLK Division + * @{ + */ +#define IS_FMC_CLK_DIV(DIV) (((DIV) > 1) && ((DIV) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_LoadToActive_Delay FMC SDRAM LoadToActive Delay + * @{ + */ +#define IS_FMC_LOADTOACTIVE_DELAY(__DELAY__) (((__DELAY__) > 0) && ((__DELAY__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_ExitSelfRefresh_Delay FMC SDRAM ExitSelfRefresh Delay + * @{ + */ +#define IS_FMC_EXITSELFREFRESH_DELAY(__DELAY__) (((__DELAY__) > 0) && ((__DELAY__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_SelfRefresh_Time FMC SDRAM SelfRefresh Time + * @{ + */ +#define IS_FMC_SELFREFRESH_TIME(__TIME__) (((__TIME__) > 0) && ((__TIME__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_RowCycle_Delay FMC SDRAM RowCycle Delay + * @{ + */ +#define IS_FMC_ROWCYCLE_DELAY(__DELAY__) (((__DELAY__) > 0) && ((__DELAY__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Write_Recovery_Time FMC SDRAM Write Recovery Time + * @{ + */ +#define IS_FMC_WRITE_RECOVERY_TIME(__TIME__) (((__TIME__) > 0) && ((__TIME__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_RP_Delay FMC SDRAM RP Delay + * @{ + */ +#define IS_FMC_RP_DELAY(__DELAY__) (((__DELAY__) > 0) && ((__DELAY__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_RCD_Delay FMC SDRAM RCD Delay + * @{ + */ +#define IS_FMC_RCD_DELAY(__DELAY__) (((__DELAY__) > 0) && ((__DELAY__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_AutoRefresh_Number FMC SDRAM AutoRefresh Number + * @{ + */ +#define IS_FMC_AUTOREFRESH_NUMBER(__NUMBER__) (((__NUMBER__) > 0) && ((__NUMBER__) <= 16)) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_ModeRegister_Definition FMC SDRAM ModeRegister Definition + * @{ + */ +#define IS_FMC_MODE_REGISTER(__CONTENT__) ((__CONTENT__) <= 8191) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Refresh_rate FMC SDRAM Refresh rate + * @{ + */ +#define IS_FMC_REFRESH_RATE(__RATE__) ((__RATE__) <= 8191) +/** + * @} + */ + +/** @defgroup FMC_NORSRAM_Device_Instance FMC NORSRAM Device Instance + * @{ + */ +#define IS_FMC_NORSRAM_DEVICE(__INSTANCE__) ((__INSTANCE__) == FMC_NORSRAM_DEVICE) +/** + * @} + */ + +/** @defgroup FMC_NORSRAM_EXTENDED_Device_Instance FMC NORSRAM EXTENDED Device Instance + * @{ + */ +#define IS_FMC_NORSRAM_EXTENDED_DEVICE(__INSTANCE__) ((__INSTANCE__) == FMC_NORSRAM_EXTENDED_DEVICE) +/** + * @} + */ + +/** @defgroup FMC_NAND_Device_Instance FMC NAND Device Instance + * @{ + */ +#define IS_FMC_NAND_DEVICE(__INSTANCE__) ((__INSTANCE__) == FMC_NAND_DEVICE) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Device_Instance FMC SDRAM Device Instance + * @{ + */ +#define IS_FMC_SDRAM_DEVICE(__INSTANCE__) ((__INSTANCE__) == FMC_SDRAM_DEVICE) +/** + * @} + */ + +#define IS_FMC_SDRAM_BANK(BANK) (((BANK) == FMC_SDRAM_BANK1) || \ + ((BANK) == FMC_SDRAM_BANK2)) + +#define IS_FMC_COLUMNBITS_NUMBER(COLUMN) (((COLUMN) == FMC_SDRAM_COLUMN_BITS_NUM_8) || \ + ((COLUMN) == FMC_SDRAM_COLUMN_BITS_NUM_9) || \ + ((COLUMN) == FMC_SDRAM_COLUMN_BITS_NUM_10) || \ + ((COLUMN) == FMC_SDRAM_COLUMN_BITS_NUM_11)) + +#define IS_FMC_ROWBITS_NUMBER(ROW) (((ROW) == FMC_SDRAM_ROW_BITS_NUM_11) || \ + ((ROW) == FMC_SDRAM_ROW_BITS_NUM_12) || \ + ((ROW) == FMC_SDRAM_ROW_BITS_NUM_13)) + +#define IS_FMC_INTERNALBANK_NUMBER(NUMBER) (((NUMBER) == FMC_SDRAM_INTERN_BANKS_NUM_2) || \ + ((NUMBER) == FMC_SDRAM_INTERN_BANKS_NUM_4)) + + +#define IS_FMC_CAS_LATENCY(LATENCY) (((LATENCY) == FMC_SDRAM_CAS_LATENCY_1) || \ + ((LATENCY) == FMC_SDRAM_CAS_LATENCY_2) || \ + ((LATENCY) == FMC_SDRAM_CAS_LATENCY_3)) + +#define IS_FMC_PAGESIZE(__SIZE__) (((__SIZE__) == FMC_PAGE_SIZE_NONE) || \ + ((__SIZE__) == FMC_PAGE_SIZE_128) || \ + ((__SIZE__) == FMC_PAGE_SIZE_256) || \ + ((__SIZE__) == FMC_PAGE_SIZE_512) || \ + ((__SIZE__) == FMC_PAGE_SIZE_1024)) + +#define IS_FMC_WRITE_FIFO(__FIFO__) (((__FIFO__) == FMC_WRITE_FIFO_DISABLE) || \ + ((__FIFO__) == FMC_WRITE_FIFO_ENABLE)) + +/** + * @} + */ + +/* Exported typedef ----------------------------------------------------------*/ +/** @defgroup FMC_Exported_typedef FMC Low Layer Exported Types + * @{ + */ +#define FMC_NORSRAM_TypeDef FMC_Bank1_TypeDef +#define FMC_NORSRAM_EXTENDED_TypeDef FMC_Bank1E_TypeDef +#define FMC_NAND_TypeDef FMC_Bank3_TypeDef +#define FMC_SDRAM_TypeDef FMC_Bank5_6_TypeDef + +#define FMC_NORSRAM_DEVICE FMC_Bank1 +#define FMC_NORSRAM_EXTENDED_DEVICE FMC_Bank1E +#define FMC_NAND_DEVICE FMC_Bank3 +#define FMC_SDRAM_DEVICE FMC_Bank5_6 + +/** + * @brief FMC NORSRAM Configuration Structure definition + */ +typedef struct +{ + uint32_t NSBank; /*!< Specifies the NORSRAM memory device that will be used. + This parameter can be a value of @ref FMC_NORSRAM_Bank */ + + uint32_t DataAddressMux; /*!< Specifies whether the address and data values are + multiplexed on the data bus or not. + This parameter can be a value of @ref FMC_Data_Address_Bus_Multiplexing */ + + uint32_t MemoryType; /*!< Specifies the type of external memory attached to + the corresponding memory device. + This parameter can be a value of @ref FMC_Memory_Type */ + + uint32_t MemoryDataWidth; /*!< Specifies the external memory device width. + This parameter can be a value of @ref FMC_NORSRAM_Data_Width */ + + uint32_t BurstAccessMode; /*!< Enables or disables the burst access mode for Flash memory, + valid only with synchronous burst Flash memories. + This parameter can be a value of @ref FMC_Burst_Access_Mode */ + + uint32_t WaitSignalPolarity; /*!< Specifies the wait signal polarity, valid only when accessing + the Flash memory in burst mode. + This parameter can be a value of @ref FMC_Wait_Signal_Polarity */ + + uint32_t WaitSignalActive; /*!< Specifies if the wait signal is asserted by the memory one + clock cycle before the wait state or during the wait state, + valid only when accessing memories in burst mode. + This parameter can be a value of @ref FMC_Wait_Timing */ + + uint32_t WriteOperation; /*!< Enables or disables the write operation in the selected device by the FMC. + This parameter can be a value of @ref FMC_Write_Operation */ + + uint32_t WaitSignal; /*!< Enables or disables the wait state insertion via wait + signal, valid for Flash memory access in burst mode. + This parameter can be a value of @ref FMC_Wait_Signal */ + + uint32_t ExtendedMode; /*!< Enables or disables the extended mode. + This parameter can be a value of @ref FMC_Extended_Mode */ + + uint32_t AsynchronousWait; /*!< Enables or disables wait signal during asynchronous transfers, + valid only with asynchronous Flash memories. + This parameter can be a value of @ref FMC_AsynchronousWait */ + + uint32_t WriteBurst; /*!< Enables or disables the write burst operation. + This parameter can be a value of @ref FMC_Write_Burst */ + + uint32_t ContinuousClock; /*!< Enables or disables the FMC clock output to external memory devices. + This parameter is only enabled through the FMC_BCR1 register, and don't care + through FMC_BCR2..4 registers. + This parameter can be a value of @ref FMC_Continous_Clock */ + + uint32_t WriteFifo; /*!< Enables or disables the write FIFO used by the FMC controller. + This parameter is only enabled through the FMC_BCR1 register, and don't care + through FMC_BCR2..4 registers. + This parameter can be a value of @ref FMC_Write_FIFO */ + + uint32_t PageSize; /*!< Specifies the memory page size. + This parameter can be a value of @ref FMC_Page_Size */ + +}FMC_NORSRAM_InitTypeDef; + +/** + * @brief FMC NORSRAM Timing parameters structure definition + */ +typedef struct +{ + uint32_t AddressSetupTime; /*!< Defines the number of HCLK cycles to configure + the duration of the address setup time. + This parameter can be a value between Min_Data = 0 and Max_Data = 15. + @note This parameter is not used with synchronous NOR Flash memories. */ + + uint32_t AddressHoldTime; /*!< Defines the number of HCLK cycles to configure + the duration of the address hold time. + This parameter can be a value between Min_Data = 1 and Max_Data = 15. + @note This parameter is not used with synchronous NOR Flash memories. */ + + uint32_t DataSetupTime; /*!< Defines the number of HCLK cycles to configure + the duration of the data setup time. + This parameter can be a value between Min_Data = 1 and Max_Data = 255. + @note This parameter is used for SRAMs, ROMs and asynchronous multiplexed + NOR Flash memories. */ + + uint32_t BusTurnAroundDuration; /*!< Defines the number of HCLK cycles to configure + the duration of the bus turnaround. + This parameter can be a value between Min_Data = 0 and Max_Data = 15. + @note This parameter is only used for multiplexed NOR Flash memories. */ + + uint32_t CLKDivision; /*!< Defines the period of CLK clock output signal, expressed in number of + HCLK cycles. This parameter can be a value between Min_Data = 2 and Max_Data = 16. + @note This parameter is not used for asynchronous NOR Flash, SRAM or ROM + accesses. */ + + uint32_t DataLatency; /*!< Defines the number of memory clock cycles to issue + to the memory before getting the first data. + The parameter value depends on the memory type as shown below: + - It must be set to 0 in case of a CRAM + - It is don't care in asynchronous NOR, SRAM or ROM accesses + - It may assume a value between Min_Data = 2 and Max_Data = 17 in NOR Flash memories + with synchronous burst mode enable */ + + uint32_t AccessMode; /*!< Specifies the asynchronous access mode. + This parameter can be a value of @ref FMC_Access_Mode */ +}FMC_NORSRAM_TimingTypeDef; + +/** + * @brief FMC NAND Configuration Structure definition + */ +typedef struct +{ + uint32_t NandBank; /*!< Specifies the NAND memory device that will be used. + This parameter can be a value of @ref FMC_NAND_Bank */ + + uint32_t Waitfeature; /*!< Enables or disables the Wait feature for the NAND Memory device. + This parameter can be any value of @ref FMC_Wait_feature */ + + uint32_t MemoryDataWidth; /*!< Specifies the external memory device width. + This parameter can be any value of @ref FMC_NAND_Data_Width */ + + uint32_t EccComputation; /*!< Enables or disables the ECC computation. + This parameter can be any value of @ref FMC_ECC */ + + uint32_t ECCPageSize; /*!< Defines the page size for the extended ECC. + This parameter can be any value of @ref FMC_ECC_Page_Size */ + + uint32_t TCLRSetupTime; /*!< Defines the number of HCLK cycles to configure the + delay between CLE low and RE low. + This parameter can be a value between Min_Data = 0 and Max_Data = 255 */ + + uint32_t TARSetupTime; /*!< Defines the number of HCLK cycles to configure the + delay between ALE low and RE low. + This parameter can be a number between Min_Data = 0 and Max_Data = 255 */ +}FMC_NAND_InitTypeDef; + +/** + * @brief FMC NAND Timing parameters structure definition + */ +typedef struct +{ + uint32_t SetupTime; /*!< Defines the number of HCLK cycles to setup address before + the command assertion for NAND-Flash read or write access + to common/Attribute or I/O memory space (depending on + the memory space timing to be configured). + This parameter can be a value between Min_Data = 0 and Max_Data = 254 */ + + uint32_t WaitSetupTime; /*!< Defines the minimum number of HCLK cycles to assert the + command for NAND-Flash read or write access to + common/Attribute or I/O memory space (depending on the + memory space timing to be configured). + This parameter can be a number between Min_Data = 0 and Max_Data = 254 */ + + uint32_t HoldSetupTime; /*!< Defines the number of HCLK clock cycles to hold address + (and data for write access) after the command de-assertion + for NAND-Flash read or write access to common/Attribute + or I/O memory space (depending on the memory space timing + to be configured). + This parameter can be a number between Min_Data = 0 and Max_Data = 254 */ + + uint32_t HiZSetupTime; /*!< Defines the number of HCLK clock cycles during which the + data bus is kept in HiZ after the start of a NAND-Flash + write access to common/Attribute or I/O memory space (depending + on the memory space timing to be configured). + This parameter can be a number between Min_Data = 0 and Max_Data = 254 */ +}FMC_NAND_PCC_TimingTypeDef; + +/** + * @brief FMC SDRAM Configuration Structure definition + */ +typedef struct +{ + uint32_t SDBank; /*!< Specifies the SDRAM memory device that will be used. + This parameter can be a value of @ref FMC_SDRAM_Bank */ + + uint32_t ColumnBitsNumber; /*!< Defines the number of bits of column address. + This parameter can be a value of @ref FMC_SDRAM_Column_Bits_number. */ + + uint32_t RowBitsNumber; /*!< Defines the number of bits of column address. + This parameter can be a value of @ref FMC_SDRAM_Row_Bits_number. */ + + uint32_t MemoryDataWidth; /*!< Defines the memory device width. + This parameter can be a value of @ref FMC_SDRAM_Memory_Bus_Width. */ + + uint32_t InternalBankNumber; /*!< Defines the number of the device's internal banks. + This parameter can be of @ref FMC_SDRAM_Internal_Banks_Number. */ + + uint32_t CASLatency; /*!< Defines the SDRAM CAS latency in number of memory clock cycles. + This parameter can be a value of @ref FMC_SDRAM_CAS_Latency. */ + + uint32_t WriteProtection; /*!< Enables the SDRAM device to be accessed in write mode. + This parameter can be a value of @ref FMC_SDRAM_Write_Protection. */ + + uint32_t SDClockPeriod; /*!< Define the SDRAM Clock Period for both SDRAM devices and they allow + to disable the clock before changing frequency. + This parameter can be a value of @ref FMC_SDRAM_Clock_Period. */ + + uint32_t ReadBurst; /*!< This bit enable the SDRAM controller to anticipate the next read + commands during the CAS latency and stores data in the Read FIFO. + This parameter can be a value of @ref FMC_SDRAM_Read_Burst. */ + + uint32_t ReadPipeDelay; /*!< Define the delay in system clock cycles on read data path. + This parameter can be a value of @ref FMC_SDRAM_Read_Pipe_Delay. */ +}FMC_SDRAM_InitTypeDef; + +/** + * @brief FMC SDRAM Timing parameters structure definition + */ +typedef struct +{ + uint32_t LoadToActiveDelay; /*!< Defines the delay between a Load Mode Register command and + an active or Refresh command in number of memory clock cycles. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ + + uint32_t ExitSelfRefreshDelay; /*!< Defines the delay from releasing the self refresh command to + issuing the Activate command in number of memory clock cycles. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ + + uint32_t SelfRefreshTime; /*!< Defines the minimum Self Refresh period in number of memory clock + cycles. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ + + uint32_t RowCycleDelay; /*!< Defines the delay between the Refresh command and the Activate command + and the delay between two consecutive Refresh commands in number of + memory clock cycles. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ + + uint32_t WriteRecoveryTime; /*!< Defines the Write recovery Time in number of memory clock cycles. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ + + uint32_t RPDelay; /*!< Defines the delay between a Precharge Command and an other command + in number of memory clock cycles. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ + + uint32_t RCDDelay; /*!< Defines the delay between the Activate Command and a Read/Write + command in number of memory clock cycles. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ +}FMC_SDRAM_TimingTypeDef; + +/** + * @brief SDRAM command parameters structure definition + */ +typedef struct +{ + uint32_t CommandMode; /*!< Defines the command issued to the SDRAM device. + This parameter can be a value of @ref FMC_SDRAM_Command_Mode. */ + + uint32_t CommandTarget; /*!< Defines which device (1 or 2) the command will be issued to. + This parameter can be a value of @ref FMC_SDRAM_Command_Target. */ + + uint32_t AutoRefreshNumber; /*!< Defines the number of consecutive auto refresh command issued + in auto refresh mode. + This parameter can be a value between Min_Data = 1 and Max_Data = 16 */ + uint32_t ModeRegisterDefinition; /*!< Defines the SDRAM Mode register content */ +}FMC_SDRAM_CommandTypeDef; +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @addtogroup FMC_LL_Exported_Constants FMC Low Layer Exported Constants + * @{ + */ + +/** @defgroup FMC_LL_NOR_SRAM_Controller FMC NOR/SRAM Controller + * @{ + */ + +/** @defgroup FMC_NORSRAM_Bank FMC NOR/SRAM Bank + * @{ + */ +#define FMC_NORSRAM_BANK1 ((uint32_t)0x00000000U) +#define FMC_NORSRAM_BANK2 ((uint32_t)0x00000002U) +#define FMC_NORSRAM_BANK3 ((uint32_t)0x00000004U) +#define FMC_NORSRAM_BANK4 ((uint32_t)0x00000006U) +/** + * @} + */ + +/** @defgroup FMC_Data_Address_Bus_Multiplexing FMC Data Address Bus Multiplexing + * @{ + */ +#define FMC_DATA_ADDRESS_MUX_DISABLE ((uint32_t)0x00000000U) +#define FMC_DATA_ADDRESS_MUX_ENABLE ((uint32_t)0x00000002U) +/** + * @} + */ + +/** @defgroup FMC_Memory_Type FMC Memory Type + * @{ + */ +#define FMC_MEMORY_TYPE_SRAM ((uint32_t)0x00000000U) +#define FMC_MEMORY_TYPE_PSRAM ((uint32_t)0x00000004U) +#define FMC_MEMORY_TYPE_NOR ((uint32_t)0x00000008U) +/** + * @} + */ + +/** @defgroup FMC_NORSRAM_Data_Width FMC NORSRAM Data Width + * @{ + */ +#define FMC_NORSRAM_MEM_BUS_WIDTH_8 ((uint32_t)0x00000000U) +#define FMC_NORSRAM_MEM_BUS_WIDTH_16 ((uint32_t)0x00000010U) +#define FMC_NORSRAM_MEM_BUS_WIDTH_32 ((uint32_t)0x00000020U) +/** + * @} + */ + +/** @defgroup FMC_NORSRAM_Flash_Access FMC NOR/SRAM Flash Access + * @{ + */ +#define FMC_NORSRAM_FLASH_ACCESS_ENABLE ((uint32_t)0x00000040U) +#define FMC_NORSRAM_FLASH_ACCESS_DISABLE ((uint32_t)0x00000000U) +/** + * @} + */ + +/** @defgroup FMC_Burst_Access_Mode FMC Burst Access Mode + * @{ + */ +#define FMC_BURST_ACCESS_MODE_DISABLE ((uint32_t)0x00000000U) +#define FMC_BURST_ACCESS_MODE_ENABLE ((uint32_t)0x00000100U) +/** + * @} + */ + +/** @defgroup FMC_Wait_Signal_Polarity FMC Wait Signal Polarity + * @{ + */ +#define FMC_WAIT_SIGNAL_POLARITY_LOW ((uint32_t)0x00000000U) +#define FMC_WAIT_SIGNAL_POLARITY_HIGH ((uint32_t)0x00000200U) +/** + * @} + */ + +/** @defgroup FMC_Wait_Timing FMC Wait Timing + * @{ + */ +#define FMC_WAIT_TIMING_BEFORE_WS ((uint32_t)0x00000000U) +#define FMC_WAIT_TIMING_DURING_WS ((uint32_t)0x00000800U) +/** + * @} + */ + +/** @defgroup FMC_Write_Operation FMC Write Operation + * @{ + */ +#define FMC_WRITE_OPERATION_DISABLE ((uint32_t)0x00000000U) +#define FMC_WRITE_OPERATION_ENABLE ((uint32_t)0x00001000U) +/** + * @} + */ + +/** @defgroup FMC_Wait_Signal FMC Wait Signal + * @{ + */ +#define FMC_WAIT_SIGNAL_DISABLE ((uint32_t)0x00000000U) +#define FMC_WAIT_SIGNAL_ENABLE ((uint32_t)0x00002000U) +/** + * @} + */ + +/** @defgroup FMC_Extended_Mode FMC Extended Mode + * @{ + */ +#define FMC_EXTENDED_MODE_DISABLE ((uint32_t)0x00000000U) +#define FMC_EXTENDED_MODE_ENABLE ((uint32_t)0x00004000U) +/** + * @} + */ + +/** @defgroup FMC_AsynchronousWait FMC Asynchronous Wait + * @{ + */ +#define FMC_ASYNCHRONOUS_WAIT_DISABLE ((uint32_t)0x00000000U) +#define FMC_ASYNCHRONOUS_WAIT_ENABLE ((uint32_t)0x00008000U) +/** + * @} + */ + +/** @defgroup FMC_Page_Size FMC Page Size + * @{ + */ +#define FMC_PAGE_SIZE_NONE ((uint32_t)0x00000000U) +#define FMC_PAGE_SIZE_128 ((uint32_t)FMC_BCR1_CPSIZE_0) +#define FMC_PAGE_SIZE_256 ((uint32_t)FMC_BCR1_CPSIZE_1) +#define FMC_PAGE_SIZE_512 ((uint32_t)(FMC_BCR1_CPSIZE_0 | FMC_BCR1_CPSIZE_1)) +#define FMC_PAGE_SIZE_1024 ((uint32_t)FMC_BCR1_CPSIZE_2) +/** + * @} + */ + +/** @defgroup FMC_Write_Burst FMC Write Burst + * @{ + */ +#define FMC_WRITE_BURST_DISABLE ((uint32_t)0x00000000U) +#define FMC_WRITE_BURST_ENABLE ((uint32_t)0x00080000U) +/** + * @} + */ + +/** @defgroup FMC_Continous_Clock FMC Continuous Clock + * @{ + */ +#define FMC_CONTINUOUS_CLOCK_SYNC_ONLY ((uint32_t)0x00000000U) +#define FMC_CONTINUOUS_CLOCK_SYNC_ASYNC ((uint32_t)0x00100000U) +/** + * @} + */ + +/** @defgroup FMC_Write_FIFO FMC Write FIFO + * @{ + */ +#define FMC_WRITE_FIFO_DISABLE ((uint32_t)FMC_BCR1_WFDIS) +#define FMC_WRITE_FIFO_ENABLE ((uint32_t)0x00000000U) +/** + * @} + */ + +/** @defgroup FMC_Access_Mode FMC Access Mode + * @{ + */ +#define FMC_ACCESS_MODE_A ((uint32_t)0x00000000U) +#define FMC_ACCESS_MODE_B ((uint32_t)0x10000000U) +#define FMC_ACCESS_MODE_C ((uint32_t)0x20000000U) +#define FMC_ACCESS_MODE_D ((uint32_t)0x30000000) +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup FMC_LL_NAND_Controller FMC NAND Controller + * @{ + */ +/** @defgroup FMC_NAND_Bank FMC NAND Bank + * @{ + */ +#define FMC_NAND_BANK3 ((uint32_t)0x00000100U) +/** + * @} + */ + +/** @defgroup FMC_Wait_feature FMC Wait feature + * @{ + */ +#define FMC_NAND_WAIT_FEATURE_DISABLE ((uint32_t)0x00000000U) +#define FMC_NAND_WAIT_FEATURE_ENABLE ((uint32_t)0x00000002U) +/** + * @} + */ + +/** @defgroup FMC_PCR_Memory_Type FMC PCR Memory Type + * @{ + */ +#define FMC_PCR_MEMORY_TYPE_NAND ((uint32_t)0x00000008U) +/** + * @} + */ + +/** @defgroup FMC_NAND_Data_Width FMC NAND Data Width + * @{ + */ +#define FMC_NAND_MEM_BUS_WIDTH_8 ((uint32_t)0x00000000U) +#define FMC_NAND_MEM_BUS_WIDTH_16 ((uint32_t)0x00000010U) +/** + * @} + */ + +/** @defgroup FMC_ECC FMC ECC + * @{ + */ +#define FMC_NAND_ECC_DISABLE ((uint32_t)0x00000000U) +#define FMC_NAND_ECC_ENABLE ((uint32_t)0x00000040U) +/** + * @} + */ + +/** @defgroup FMC_ECC_Page_Size FMC ECC Page Size + * @{ + */ +#define FMC_NAND_ECC_PAGE_SIZE_256BYTE ((uint32_t)0x00000000U) +#define FMC_NAND_ECC_PAGE_SIZE_512BYTE ((uint32_t)0x00020000U) +#define FMC_NAND_ECC_PAGE_SIZE_1024BYTE ((uint32_t)0x00040000U) +#define FMC_NAND_ECC_PAGE_SIZE_2048BYTE ((uint32_t)0x00060000U) +#define FMC_NAND_ECC_PAGE_SIZE_4096BYTE ((uint32_t)0x00080000U) +#define FMC_NAND_ECC_PAGE_SIZE_8192BYTE ((uint32_t)0x000A0000U) +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup FMC_LL_SDRAM_Controller FMC SDRAM Controller + * @{ + */ +/** @defgroup FMC_SDRAM_Bank FMC SDRAM Bank + * @{ + */ +#define FMC_SDRAM_BANK1 ((uint32_t)0x00000000U) +#define FMC_SDRAM_BANK2 ((uint32_t)0x00000001U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Column_Bits_number FMC SDRAM Column Bits number + * @{ + */ +#define FMC_SDRAM_COLUMN_BITS_NUM_8 ((uint32_t)0x00000000U) +#define FMC_SDRAM_COLUMN_BITS_NUM_9 ((uint32_t)0x00000001U) +#define FMC_SDRAM_COLUMN_BITS_NUM_10 ((uint32_t)0x00000002U) +#define FMC_SDRAM_COLUMN_BITS_NUM_11 ((uint32_t)0x00000003U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Row_Bits_number FMC SDRAM Row Bits number + * @{ + */ +#define FMC_SDRAM_ROW_BITS_NUM_11 ((uint32_t)0x00000000U) +#define FMC_SDRAM_ROW_BITS_NUM_12 ((uint32_t)0x00000004U) +#define FMC_SDRAM_ROW_BITS_NUM_13 ((uint32_t)0x00000008U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Memory_Bus_Width FMC SDRAM Memory Bus Width + * @{ + */ +#define FMC_SDRAM_MEM_BUS_WIDTH_8 ((uint32_t)0x00000000U) +#define FMC_SDRAM_MEM_BUS_WIDTH_16 ((uint32_t)0x00000010U) +#define FMC_SDRAM_MEM_BUS_WIDTH_32 ((uint32_t)0x00000020U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Internal_Banks_Number FMC SDRAM Internal Banks Number + * @{ + */ +#define FMC_SDRAM_INTERN_BANKS_NUM_2 ((uint32_t)0x00000000U) +#define FMC_SDRAM_INTERN_BANKS_NUM_4 ((uint32_t)0x00000040U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_CAS_Latency FMC SDRAM CAS Latency + * @{ + */ +#define FMC_SDRAM_CAS_LATENCY_1 ((uint32_t)0x00000080U) +#define FMC_SDRAM_CAS_LATENCY_2 ((uint32_t)0x00000100U) +#define FMC_SDRAM_CAS_LATENCY_3 ((uint32_t)0x00000180) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Write_Protection FMC SDRAM Write Protection + * @{ + */ +#define FMC_SDRAM_WRITE_PROTECTION_DISABLE ((uint32_t)0x00000000U) +#define FMC_SDRAM_WRITE_PROTECTION_ENABLE ((uint32_t)0x00000200U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Clock_Period FMC SDRAM Clock Period + * @{ + */ +#define FMC_SDRAM_CLOCK_DISABLE ((uint32_t)0x00000000U) +#define FMC_SDRAM_CLOCK_PERIOD_2 ((uint32_t)0x00000800U) +#define FMC_SDRAM_CLOCK_PERIOD_3 ((uint32_t)0x00000C00) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Read_Burst FMC SDRAM Read Burst + * @{ + */ +#define FMC_SDRAM_RBURST_DISABLE ((uint32_t)0x00000000U) +#define FMC_SDRAM_RBURST_ENABLE ((uint32_t)0x00001000U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Read_Pipe_Delay FMC SDRAM Read Pipe Delay + * @{ + */ +#define FMC_SDRAM_RPIPE_DELAY_0 ((uint32_t)0x00000000U) +#define FMC_SDRAM_RPIPE_DELAY_1 ((uint32_t)0x00002000U) +#define FMC_SDRAM_RPIPE_DELAY_2 ((uint32_t)0x00004000U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Command_Mode FMC SDRAM Command Mode + * @{ + */ +#define FMC_SDRAM_CMD_NORMAL_MODE ((uint32_t)0x00000000U) +#define FMC_SDRAM_CMD_CLK_ENABLE ((uint32_t)0x00000001U) +#define FMC_SDRAM_CMD_PALL ((uint32_t)0x00000002U) +#define FMC_SDRAM_CMD_AUTOREFRESH_MODE ((uint32_t)0x00000003U) +#define FMC_SDRAM_CMD_LOAD_MODE ((uint32_t)0x00000004U) +#define FMC_SDRAM_CMD_SELFREFRESH_MODE ((uint32_t)0x00000005U) +#define FMC_SDRAM_CMD_POWERDOWN_MODE ((uint32_t)0x00000006U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Command_Target FMC SDRAM Command Target + * @{ + */ +#define FMC_SDRAM_CMD_TARGET_BANK2 FMC_SDCMR_CTB2 +#define FMC_SDRAM_CMD_TARGET_BANK1 FMC_SDCMR_CTB1 +#define FMC_SDRAM_CMD_TARGET_BANK1_2 ((uint32_t)0x00000018U) +/** + * @} + */ + +/** @defgroup FMC_SDRAM_Mode_Status FMC SDRAM Mode Status + * @{ + */ +#define FMC_SDRAM_NORMAL_MODE ((uint32_t)0x00000000U) +#define FMC_SDRAM_SELF_REFRESH_MODE FMC_SDSR_MODES1_0 +#define FMC_SDRAM_POWER_DOWN_MODE FMC_SDSR_MODES1_1 +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup FMC_LL_Interrupt_definition FMC Low Layer Interrupt definition + * @{ + */ +#define FMC_IT_RISING_EDGE ((uint32_t)0x00000008U) +#define FMC_IT_LEVEL ((uint32_t)0x00000010U) +#define FMC_IT_FALLING_EDGE ((uint32_t)0x00000020U) +#define FMC_IT_REFRESH_ERROR ((uint32_t)0x00004000U) +/** + * @} + */ + +/** @defgroup FMC_LL_Flag_definition FMC Low Layer Flag definition + * @{ + */ +#define FMC_FLAG_RISING_EDGE ((uint32_t)0x00000001U) +#define FMC_FLAG_LEVEL ((uint32_t)0x00000002U) +#define FMC_FLAG_FALLING_EDGE ((uint32_t)0x00000004U) +#define FMC_FLAG_FEMPT ((uint32_t)0x00000040U) +#define FMC_SDRAM_FLAG_REFRESH_IT FMC_SDSR_RE +#define FMC_SDRAM_FLAG_REFRESH_ERROR FMC_SDRTR_CRE +/** + * @} + */ +/** + * @} + */ + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/** @defgroup FMC_LL_Private_Macros FMC_LL Private Macros + * @{ + */ + +/** + * @brief Enable the FMC IP. + * @retval None + */ +#define __FMC_ENABLE() (FMC_Bank1->BTCR[0] |= FMC_BCR1_FMCEN) + +/** + * @brief Disable the FMC IP. + * @retval None + */ +#define __FMC_DISABLE() (FMC_Bank1->BTCR[0] &= ~FMC_BCR1_FMCEN) + + +/** @defgroup FMC_LL_NOR_Macros FMC NOR/SRAM Macros + * @brief macros to handle NOR device enable/disable and read/write operations + * @{ + */ + +/** + * @brief Enable the NORSRAM device access. + * @param __INSTANCE__: FMC_NORSRAM Instance + * @param __BANK__: FMC_NORSRAM Bank + * @retval None + */ +#define __FMC_NORSRAM_ENABLE(__INSTANCE__, __BANK__) ((__INSTANCE__)->BTCR[(__BANK__)] |= FMC_BCR1_MBKEN) + +/** + * @brief Disable the NORSRAM device access. + * @param __INSTANCE__: FMC_NORSRAM Instance + * @param __BANK__: FMC_NORSRAM Bank + * @retval None + */ +#define __FMC_NORSRAM_DISABLE(__INSTANCE__, __BANK__) ((__INSTANCE__)->BTCR[(__BANK__)] &= ~FMC_BCR1_MBKEN) + +/** + * @} + */ + +/** @defgroup FMC_LL_NAND_Macros FMC NAND Macros + * @brief macros to handle NAND device enable/disable + * @{ + */ + +/** + * @brief Enable the NAND device access. + * @param __INSTANCE__: FMC_NAND Instance + * @retval None + */ +#define __FMC_NAND_ENABLE(__INSTANCE__) ((__INSTANCE__)->PCR |= FMC_PCR_PBKEN) + +/** + * @brief Disable the NAND device access. + * @param __INSTANCE__: FMC_NAND Instance + * @retval None + */ +#define __FMC_NAND_DISABLE(__INSTANCE__) ((__INSTANCE__)->PCR &= ~FMC_PCR_PBKEN) + +/** + * @} + */ + +/** @defgroup FMC_Interrupt FMC Interrupt + * @brief macros to handle FMC interrupts + * @{ + */ + +/** + * @brief Enable the NAND device interrupt. + * @param __INSTANCE__: FMC_NAND instance + * @param __INTERRUPT__: FMC_NAND interrupt + * This parameter can be any combination of the following values: + * @arg FMC_IT_RISING_EDGE: Interrupt rising edge. + * @arg FMC_IT_LEVEL: Interrupt level. + * @arg FMC_IT_FALLING_EDGE: Interrupt falling edge. + * @retval None + */ +#define __FMC_NAND_ENABLE_IT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->SR |= (__INTERRUPT__)) + +/** + * @brief Disable the NAND device interrupt. + * @param __INSTANCE__: FMC_NAND Instance + * @param __INTERRUPT__: FMC_NAND interrupt + * This parameter can be any combination of the following values: + * @arg FMC_IT_RISING_EDGE: Interrupt rising edge. + * @arg FMC_IT_LEVEL: Interrupt level. + * @arg FMC_IT_FALLING_EDGE: Interrupt falling edge. + * @retval None + */ +#define __FMC_NAND_DISABLE_IT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->SR &= ~(__INTERRUPT__)) + +/** + * @brief Get flag status of the NAND device. + * @param __INSTANCE__: FMC_NAND Instance + * @param __BANK__: FMC_NAND Bank + * @param __FLAG__: FMC_NAND flag + * This parameter can be any combination of the following values: + * @arg FMC_FLAG_RISING_EDGE: Interrupt rising edge flag. + * @arg FMC_FLAG_LEVEL: Interrupt level edge flag. + * @arg FMC_FLAG_FALLING_EDGE: Interrupt falling edge flag. + * @arg FMC_FLAG_FEMPT: FIFO empty flag. + * @retval The state of FLAG (SET or RESET). + */ +#define __FMC_NAND_GET_FLAG(__INSTANCE__, __BANK__, __FLAG__) (((__INSTANCE__)->SR &(__FLAG__)) == (__FLAG__)) + +/** + * @brief Clear flag status of the NAND device. + * @param __INSTANCE__: FMC_NAND Instance + * @param __FLAG__: FMC_NAND flag + * This parameter can be any combination of the following values: + * @arg FMC_FLAG_RISING_EDGE: Interrupt rising edge flag. + * @arg FMC_FLAG_LEVEL: Interrupt level edge flag. + * @arg FMC_FLAG_FALLING_EDGE: Interrupt falling edge flag. + * @arg FMC_FLAG_FEMPT: FIFO empty flag. + * @retval None + */ +#define __FMC_NAND_CLEAR_FLAG(__INSTANCE__, __FLAG__) ((__INSTANCE__)->SR &= ~(__FLAG__)) + +/** + * @brief Enable the SDRAM device interrupt. + * @param __INSTANCE__: FMC_SDRAM instance + * @param __INTERRUPT__: FMC_SDRAM interrupt + * This parameter can be any combination of the following values: + * @arg FMC_IT_REFRESH_ERROR: Interrupt refresh error + * @retval None + */ +#define __FMC_SDRAM_ENABLE_IT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->SDRTR |= (__INTERRUPT__)) + +/** + * @brief Disable the SDRAM device interrupt. + * @param __INSTANCE__: FMC_SDRAM instance + * @param __INTERRUPT__: FMC_SDRAM interrupt + * This parameter can be any combination of the following values: + * @arg FMC_IT_REFRESH_ERROR: Interrupt refresh error + * @retval None + */ +#define __FMC_SDRAM_DISABLE_IT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->SDRTR &= ~(__INTERRUPT__)) + +/** + * @brief Get flag status of the SDRAM device. + * @param __INSTANCE__: FMC_SDRAM instance + * @param __FLAG__: FMC_SDRAM flag + * This parameter can be any combination of the following values: + * @arg FMC_SDRAM_FLAG_REFRESH_IT: Interrupt refresh error. + * @arg FMC_SDRAM_FLAG_BUSY: SDRAM busy flag. + * @arg FMC_SDRAM_FLAG_REFRESH_ERROR: Refresh error flag. + * @retval The state of FLAG (SET or RESET). + */ +#define __FMC_SDRAM_GET_FLAG(__INSTANCE__, __FLAG__) (((__INSTANCE__)->SDSR &(__FLAG__)) == (__FLAG__)) + +/** + * @brief Clear flag status of the SDRAM device. + * @param __INSTANCE__: FMC_SDRAM instance + * @param __FLAG__: FMC_SDRAM flag + * This parameter can be any combination of the following values: + * @arg FMC_SDRAM_FLAG_REFRESH_ERROR + * @retval None + */ +#define __FMC_SDRAM_CLEAR_FLAG(__INSTANCE__, __FLAG__) ((__INSTANCE__)->SDRTR |= (__FLAG__)) +/** + * @} + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup FMC_LL_Private_Functions FMC LL Private Functions + * @{ + */ + +/** @defgroup FMC_LL_NORSRAM NOR SRAM + * @{ + */ +/** @defgroup FMC_LL_NORSRAM_Private_Functions_Group1 NOR SRAM Initialization/de-initialization functions + * @{ + */ +HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init); +HAL_StatusTypeDef FMC_NORSRAM_Timing_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank); +HAL_StatusTypeDef FMC_NORSRAM_Extended_Timing_Init(FMC_NORSRAM_EXTENDED_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank, uint32_t ExtendedMode); +HAL_StatusTypeDef FMC_NORSRAM_DeInit(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_EXTENDED_TypeDef *ExDevice, uint32_t Bank); +/** + * @} + */ + +/** @defgroup FMC_LL_NORSRAM_Private_Functions_Group2 NOR SRAM Control functions + * @{ + */ +HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Enable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank); +HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank); +/** + * @} + */ +/** + * @} + */ + +/** @defgroup FMC_LL_NAND NAND + * @{ + */ +/** @defgroup FMC_LL_NAND_Private_Functions_Group1 NAND Initialization/de-initialization functions + * @{ + */ +HAL_StatusTypeDef FMC_NAND_Init(FMC_NAND_TypeDef *Device, FMC_NAND_InitTypeDef *Init); +HAL_StatusTypeDef FMC_NAND_CommonSpace_Timing_Init(FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank); +HAL_StatusTypeDef FMC_NAND_AttributeSpace_Timing_Init(FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank); +HAL_StatusTypeDef FMC_NAND_DeInit(FMC_NAND_TypeDef *Device, uint32_t Bank); +/** + * @} + */ + +/** @defgroup FMC_LL_NAND_Private_Functions_Group2 NAND Control functions + * @{ + */ +HAL_StatusTypeDef FMC_NAND_ECC_Enable(FMC_NAND_TypeDef *Device, uint32_t Bank); +HAL_StatusTypeDef FMC_NAND_ECC_Disable(FMC_NAND_TypeDef *Device, uint32_t Bank); +HAL_StatusTypeDef FMC_NAND_GetECC(FMC_NAND_TypeDef *Device, uint32_t *ECCval, uint32_t Bank, uint32_t Timeout); +/** + * @} + */ + +/** @defgroup FMC_LL_SDRAM SDRAM + * @{ + */ +/** @defgroup FMC_LL_SDRAM_Private_Functions_Group1 SDRAM Initialization/de-initialization functions + * @{ + */ +HAL_StatusTypeDef FMC_SDRAM_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_InitTypeDef *Init); +HAL_StatusTypeDef FMC_SDRAM_Timing_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_TimingTypeDef *Timing, uint32_t Bank); +HAL_StatusTypeDef FMC_SDRAM_DeInit(FMC_SDRAM_TypeDef *Device, uint32_t Bank); + +/** + * @} + */ + +/** @defgroup FMC_LL_SDRAM_Private_Functions_Group2 SDRAM Control functions + * @{ + */ +HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Enable(FMC_SDRAM_TypeDef *Device, uint32_t Bank); +HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Disable(FMC_SDRAM_TypeDef *Device, uint32_t Bank); +HAL_StatusTypeDef FMC_SDRAM_SendCommand(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_CommandTypeDef *Command, uint32_t Timeout); +HAL_StatusTypeDef FMC_SDRAM_ProgramRefreshRate(FMC_SDRAM_TypeDef *Device, uint32_t RefreshRate); +HAL_StatusTypeDef FMC_SDRAM_SetAutoRefreshNumber(FMC_SDRAM_TypeDef *Device, uint32_t AutoRefreshNumber); +uint32_t FMC_SDRAM_GetModeStatus(FMC_SDRAM_TypeDef *Device, uint32_t Bank); +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_LL_FMC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h new file mode 100644 index 0000000000..014ccefdc1 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h @@ -0,0 +1,1089 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_sdmmc.h + * @author MCD Application Team + * @brief Header file of SDMMC HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2018 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_LL_SDMMC_H +#define STM32H7xx_LL_SDMMC_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_Driver + * @{ + */ + +/** @addtogroup SDMMC_LL + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ +/** @defgroup SDMMC_LL_Exported_Types SDMMC_LL Exported Types + * @{ + */ + +/** + * @brief SDMMC Configuration Structure definition + */ +typedef struct +{ + uint32_t ClockEdge; /*!< Specifies the clock transition on which the bit capture is made. + This parameter can be a value of @ref SDMMC_LL_Clock_Edge */ + + uint32_t ClockPowerSave; /*!< Specifies whether SDMMC Clock output is enabled or + disabled when the bus is idle. + This parameter can be a value of @ref SDMMC_LL_Clock_Power_Save */ + + uint32_t BusWide; /*!< Specifies the SDMMC bus width. + This parameter can be a value of @ref SDMMC_LL_Bus_Wide */ + + uint32_t HardwareFlowControl; /*!< Specifies whether the SDMMC hardware flow control is enabled or disabled. + This parameter can be a value of @ref SDMMC_LL_Hardware_Flow_Control */ + + uint32_t ClockDiv; /*!< Specifies the clock frequency of the SDMMC controller. + This parameter can be a value between Min_Data = 0 and Max_Data = 1023 */ + +}SDMMC_InitTypeDef; + + +/** + * @brief SDMMC Command Control structure + */ +typedef struct +{ + uint32_t Argument; /*!< Specifies the SDMMC command argument which is sent + to a card as part of a command message. If a command + contains an argument, it must be loaded into this register + before writing the command to the command register. */ + + uint32_t CmdIndex; /*!< Specifies the SDMMC command index. It must be Min_Data = 0 and + Max_Data = 64 */ + + uint32_t Response; /*!< Specifies the SDMMC response type. + This parameter can be a value of @ref SDMMC_LL_Response_Type */ + + uint32_t WaitForInterrupt; /*!< Specifies whether SDMMC wait for interrupt request is + enabled or disabled. + This parameter can be a value of @ref SDMMC_LL_Wait_Interrupt_State */ + + uint32_t CPSM; /*!< Specifies whether SDMMC Command path state machine (CPSM) + is enabled or disabled. + This parameter can be a value of @ref SDMMC_LL_CPSM_State */ +}SDMMC_CmdInitTypeDef; + + +/** + * @brief SDMMC Data Control structure + */ +typedef struct +{ + uint32_t DataTimeOut; /*!< Specifies the data timeout period in card bus clock periods. */ + + uint32_t DataLength; /*!< Specifies the number of data bytes to be transferred. */ + + uint32_t DataBlockSize; /*!< Specifies the data block size for block transfer. + This parameter can be a value of @ref SDMMC_LL_Data_Block_Size */ + + uint32_t TransferDir; /*!< Specifies the data transfer direction, whether the transfer + is a read or write. + This parameter can be a value of @ref SDMMC_LL_Transfer_Direction */ + + uint32_t TransferMode; /*!< Specifies whether data transfer is in stream or block mode. + This parameter can be a value of @ref SDMMC_LL_Transfer_Type */ + + uint32_t DPSM; /*!< Specifies whether SDMMC Data path state machine (DPSM) + is enabled or disabled. + This parameter can be a value of @ref SDMMC_LL_DPSM_State */ +}SDMMC_DataInitTypeDef; + +/** + * @} + */ + +/* Exported constants --------------------------------------------------------*/ +/** @defgroup SDMMC_LL_Exported_Constants SDMMC_LL Exported Constants + * @{ + */ +#define SDMMC_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ +#define SDMMC_ERROR_CMD_CRC_FAIL ((uint32_t)0x00000001U) /*!< Command response received (but CRC check failed) */ +#define SDMMC_ERROR_DATA_CRC_FAIL ((uint32_t)0x00000002U) /*!< Data block sent/received (CRC check failed) */ +#define SDMMC_ERROR_CMD_RSP_TIMEOUT ((uint32_t)0x00000004U) /*!< Command response timeout */ +#define SDMMC_ERROR_DATA_TIMEOUT ((uint32_t)0x00000008U) /*!< Data timeout */ +#define SDMMC_ERROR_TX_UNDERRUN ((uint32_t)0x00000010U) /*!< Transmit FIFO underrun */ +#define SDMMC_ERROR_RX_OVERRUN ((uint32_t)0x00000020U) /*!< Receive FIFO overrun */ +#define SDMMC_ERROR_ADDR_MISALIGNED ((uint32_t)0x00000040U) /*!< Misaligned address */ +#define SDMMC_ERROR_BLOCK_LEN_ERR ((uint32_t)0x00000080U) /*!< Transferred block length is not allowed for the card or the + number of transferred bytes does not match the block length */ +#define SDMMC_ERROR_ERASE_SEQ_ERR ((uint32_t)0x00000100U) /*!< An error in the sequence of erase command occurs */ +#define SDMMC_ERROR_BAD_ERASE_PARAM ((uint32_t)0x00000200U) /*!< An invalid selection for erase groups */ +#define SDMMC_ERROR_WRITE_PROT_VIOLATION ((uint32_t)0x00000400U) /*!< Attempt to program a write protect block */ +#define SDMMC_ERROR_LOCK_UNLOCK_FAILED ((uint32_t)0x00000800U) /*!< Sequence or password error has been detected in unlock + command or if there was an attempt to access a locked card */ +#define SDMMC_ERROR_COM_CRC_FAILED ((uint32_t)0x00001000U) /*!< CRC check of the previous command failed */ +#define SDMMC_ERROR_ILLEGAL_CMD ((uint32_t)0x00002000U) /*!< Command is not legal for the card state */ +#define SDMMC_ERROR_CARD_ECC_FAILED ((uint32_t)0x00004000U) /*!< Card internal ECC was applied but failed to correct the data */ +#define SDMMC_ERROR_CC_ERR ((uint32_t)0x00008000U) /*!< Internal card controller error */ +#define SDMMC_ERROR_GENERAL_UNKNOWN_ERR ((uint32_t)0x00010000U) /*!< General or unknown error */ +#define SDMMC_ERROR_STREAM_READ_UNDERRUN ((uint32_t)0x00020000U) /*!< The card could not sustain data reading in stream rmode */ +#define SDMMC_ERROR_STREAM_WRITE_OVERRUN ((uint32_t)0x00040000U) /*!< The card could not sustain data programming in stream mode */ +#define SDMMC_ERROR_CID_CSD_OVERWRITE ((uint32_t)0x00080000U) /*!< CID/CSD overwrite error */ +#define SDMMC_ERROR_WP_ERASE_SKIP ((uint32_t)0x00100000U) /*!< Only partial address space was erased */ +#define SDMMC_ERROR_CARD_ECC_DISABLED ((uint32_t)0x00200000U) /*!< Command has been executed without using internal ECC */ +#define SDMMC_ERROR_ERASE_RESET ((uint32_t)0x00400000U) /*!< Erase sequence was cleared before executing because an out + of erase sequence command was received */ +#define SDMMC_ERROR_AKE_SEQ_ERR ((uint32_t)0x00800000U) /*!< Error in sequence of authentication */ +#define SDMMC_ERROR_INVALID_VOLTRANGE ((uint32_t)0x01000000U) /*!< Error in case of invalid voltage range */ +#define SDMMC_ERROR_ADDR_OUT_OF_RANGE ((uint32_t)0x02000000U) /*!< Error when addressed block is out of range */ +#define SDMMC_ERROR_REQUEST_NOT_APPLICABLE ((uint32_t)0x04000000U) /*!< Error when command request is not applicable */ +#define SDMMC_ERROR_INVALID_PARAMETER ((uint32_t)0x08000000U) /*!< the used parameter is not valid */ +#define SDMMC_ERROR_UNSUPPORTED_FEATURE ((uint32_t)0x10000000U) /*!< Error when feature is not insupported */ +#define SDMMC_ERROR_BUSY ((uint32_t)0x20000000U) /*!< Error when transfer process is busy */ +#define SDMMC_ERROR_DMA ((uint32_t)0x40000000U) /*!< Error while DMA transfer */ +#define SDMMC_ERROR_TIMEOUT ((uint32_t)0x80000000U) /*!< Timeout error */ + +/** + * @brief SDMMC Commands Index + */ +#define SDMMC_CMD_GO_IDLE_STATE ((uint8_t)0U) /*!< Resets the SD memory card. */ +#define SDMMC_CMD_SEND_OP_COND ((uint8_t)1U) /*!< Sends host capacity support information and activates the card's initialization process. */ +#define SDMMC_CMD_ALL_SEND_CID ((uint8_t)2U) /*!< Asks any card connected to the host to send the CID numbers on the CMD line. */ +#define SDMMC_CMD_SET_REL_ADDR ((uint8_t)3U) /*!< Asks the card to publish a new relative address (RCA). */ +#define SDMMC_CMD_SET_DSR ((uint8_t)4U) /*!< Programs the DSR of all cards. */ +#define SDMMC_CMD_SDMMC_SEN_OP_COND ((uint8_t)5U) /*!< Sends host capacity support information (HCS) and asks the accessed card to send its + operating condition register (OCR) content in the response on the CMD line. */ +#define SDMMC_CMD_HS_SWITCH ((uint8_t)6U) /*!< Checks switchable function (mode 0) and switch card function (mode 1). */ +#define SDMMC_CMD_SEL_DESEL_CARD ((uint8_t)7U) /*!< Selects the card by its own relative address and gets deselected by any other address */ +#define SDMMC_CMD_HS_SEND_EXT_CSD ((uint8_t)8U) /*!< Sends SD Memory Card interface condition, which includes host supply voltage information + and asks the card whether card supports voltage. */ +#define SDMMC_CMD_SEND_CSD ((uint8_t)9U) /*!< Addressed card sends its card specific data (CSD) on the CMD line. */ +#define SDMMC_CMD_SEND_CID ((uint8_t)10U) /*!< Addressed card sends its card identification (CID) on the CMD line. */ +#define SDMMC_CMD_VOLTAGE_SWITCH ((uint8_t)11U) /*!< SD card Voltage switch to 1.8V mode. */ +#define SDMMC_CMD_STOP_TRANSMISSION ((uint8_t)12U) /*!< Forces the card to stop transmission. */ +#define SDMMC_CMD_SEND_STATUS ((uint8_t)13U) /*!< Addressed card sends its status register. */ +#define SDMMC_CMD_HS_BUSTEST_READ ((uint8_t)14U) /*!< Reserved */ +#define SDMMC_CMD_GO_INACTIVE_STATE ((uint8_t)15U) /*!< Sends an addressed card into the inactive state. */ +#define SDMMC_CMD_SET_BLOCKLEN ((uint8_t)16U) /*!< Sets the block length (in bytes for SDSC) for all following block commands + (read, write, lock). Default block length is fixed to 512 Bytes. Not effective + for SDHS and SDXC. */ +#define SDMMC_CMD_READ_SINGLE_BLOCK ((uint8_t)17U) /*!< Reads single block of size selected by SET_BLOCKLEN in case of SDSC, and a block of + fixed 512 bytes in case of SDHC and SDXC. */ +#define SDMMC_CMD_READ_MULT_BLOCK ((uint8_t)18U) /*!< Continuously transfers data blocks from card to host until interrupted by + STOP_TRANSMISSION command. */ +#define SDMMC_CMD_HS_BUSTEST_WRITE ((uint8_t)19U) /*!< 64 bytes tuning pattern is sent for SDR50 and SDR104. */ +#define SDMMC_CMD_WRITE_DAT_UNTIL_STOP ((uint8_t)20U) /*!< Speed class control command. */ +#define SDMMC_CMD_SET_BLOCK_COUNT ((uint8_t)23U) /*!< Specify block count for CMD18 and CMD25. */ +#define SDMMC_CMD_WRITE_SINGLE_BLOCK ((uint8_t)24U) /*!< Writes single block of size selected by SET_BLOCKLEN in case of SDSC, and a block of + fixed 512 bytes in case of SDHC and SDXC. */ +#define SDMMC_CMD_WRITE_MULT_BLOCK ((uint8_t)25U) /*!< Continuously writes blocks of data until a STOP_TRANSMISSION follows. */ +#define SDMMC_CMD_PROG_CID ((uint8_t)26U) /*!< Reserved for manufacturers. */ +#define SDMMC_CMD_PROG_CSD ((uint8_t)27U) /*!< Programming of the programmable bits of the CSD. */ +#define SDMMC_CMD_SET_WRITE_PROT ((uint8_t)28U) /*!< Sets the write protection bit of the addressed group. */ +#define SDMMC_CMD_CLR_WRITE_PROT ((uint8_t)29U) /*!< Clears the write protection bit of the addressed group. */ +#define SDMMC_CMD_SEND_WRITE_PROT ((uint8_t)30U) /*!< Asks the card to send the status of the write protection bits. */ +#define SDMMC_CMD_SD_ERASE_GRP_START ((uint8_t)32U) /*!< Sets the address of the first write block to be erased. (For SD card only). */ +#define SDMMC_CMD_SD_ERASE_GRP_END ((uint8_t)33U) /*!< Sets the address of the last write block of the continuous range to be erased. */ +#define SDMMC_CMD_ERASE_GRP_START ((uint8_t)35U) /*!< Sets the address of the first write block to be erased. Reserved for each command + system set by switch function command (CMD6). */ +#define SDMMC_CMD_ERASE_GRP_END ((uint8_t)36U) /*!< Sets the address of the last write block of the continuous range to be erased. + Reserved for each command system set by switch function command (CMD6). */ +#define SDMMC_CMD_ERASE ((uint8_t)38U) /*!< Reserved for SD security applications. */ +#define SDMMC_CMD_FAST_IO ((uint8_t)39U) /*!< SD card doesn't support it (Reserved). */ +#define SDMMC_CMD_GO_IRQ_STATE ((uint8_t)40U) /*!< SD card doesn't support it (Reserved). */ +#define SDMMC_CMD_LOCK_UNLOCK ((uint8_t)42U) /*!< Sets/resets the password or lock/unlock the card. The size of the data block is set by + the SET_BLOCK_LEN command. */ +#define SDMMC_CMD_APP_CMD ((uint8_t)55U) /*!< Indicates to the card that the next command is an application specific command rather + than a standard command. */ +#define SDMMC_CMD_GEN_CMD ((uint8_t)56U) /*!< Used either to transfer a data block to the card or to get a data block from the card + for general purpose/application specific commands. */ +#define SDMMC_CMD_NO_CMD ((uint8_t)64U) /*!< No command */ + +/** + * @brief Following commands are SD Card Specific commands. + * SDMMC_APP_CMD should be sent before sending these commands. + */ +#define SDMMC_CMD_APP_SD_SET_BUSWIDTH ((uint8_t)6U) /*!< (ACMD6) Defines the data bus width to be used for data transfer. The allowed data bus + widths are given in SCR register. */ +#define SDMMC_CMD_SD_APP_STATUS ((uint8_t)13U) /*!< (ACMD13) Sends the SD status. */ +#define SDMMC_CMD_SD_APP_SEND_NUM_WRITE_BLOCKS ((uint8_t)22U) /*!< (ACMD22) Sends the number of the written (without errors) write blocks. Responds with + 32bit+CRC data block. */ +#define SDMMC_CMD_SD_APP_OP_COND ((uint8_t)41U) /*!< (ACMD41) Sends host capacity support information (HCS) and asks the accessed card to + send its operating condition register (OCR) content in the response on the CMD line. */ +#define SDMMC_CMD_SD_APP_SET_CLR_CARD_DETECT ((uint8_t)42U) /*!< (ACMD42) Connect/Disconnect the 50 KOhm pull-up resistor on CD/DAT3 (pin 1) of the card */ +#define SDMMC_CMD_SD_APP_SEND_SCR ((uint8_t)51U) /*!< Reads the SD Configuration Register (SCR). */ +#define SDMMC_CMD_SDMMC_RW_DIRECT ((uint8_t)52U) /*!< For SD I/O card only, reserved for security specification. */ +#define SDMMC_CMD_SDMMC_RW_EXTENDED ((uint8_t)53U) /*!< For SD I/O card only, reserved for security specification. */ + +/** + * @brief Following commands are SD Card Specific security commands. + * SDMMC_CMD_APP_CMD should be sent before sending these commands. + */ +#define SDMMC_CMD_SD_APP_GET_MKB ((uint8_t)43U) +#define SDMMC_CMD_SD_APP_GET_MID ((uint8_t)44U) +#define SDMMC_CMD_SD_APP_SET_CER_RN1 ((uint8_t)45U) +#define SDMMC_CMD_SD_APP_GET_CER_RN2 ((uint8_t)46U) +#define SDMMC_CMD_SD_APP_SET_CER_RES2 ((uint8_t)47U) +#define SDMMC_CMD_SD_APP_GET_CER_RES1 ((uint8_t)48U) +#define SDMMC_CMD_SD_APP_SECURE_READ_MULTIPLE_BLOCK ((uint8_t)18U) +#define SDMMC_CMD_SD_APP_SECURE_WRITE_MULTIPLE_BLOCK ((uint8_t)25U) +#define SDMMC_CMD_SD_APP_SECURE_ERASE ((uint8_t)38U) +#define SDMMC_CMD_SD_APP_CHANGE_SECURE_AREA ((uint8_t)49U) +#define SDMMC_CMD_SD_APP_SECURE_WRITE_MKB ((uint8_t)48U) + +/** + * @brief Masks for errors Card Status R1 (OCR Register) + */ +#define SDMMC_OCR_ADDR_OUT_OF_RANGE ((uint32_t)0x80000000U) +#define SDMMC_OCR_ADDR_MISALIGNED ((uint32_t)0x40000000U) +#define SDMMC_OCR_BLOCK_LEN_ERR ((uint32_t)0x20000000U) +#define SDMMC_OCR_ERASE_SEQ_ERR ((uint32_t)0x10000000U) +#define SDMMC_OCR_BAD_ERASE_PARAM ((uint32_t)0x08000000U) +#define SDMMC_OCR_WRITE_PROT_VIOLATION ((uint32_t)0x04000000U) +#define SDMMC_OCR_LOCK_UNLOCK_FAILED ((uint32_t)0x01000000U) +#define SDMMC_OCR_COM_CRC_FAILED ((uint32_t)0x00800000U) +#define SDMMC_OCR_ILLEGAL_CMD ((uint32_t)0x00400000U) +#define SDMMC_OCR_CARD_ECC_FAILED ((uint32_t)0x00200000U) +#define SDMMC_OCR_CC_ERROR ((uint32_t)0x00100000U) +#define SDMMC_OCR_GENERAL_UNKNOWN_ERROR ((uint32_t)0x00080000U) +#define SDMMC_OCR_STREAM_READ_UNDERRUN ((uint32_t)0x00040000U) +#define SDMMC_OCR_STREAM_WRITE_OVERRUN ((uint32_t)0x00020000U) +#define SDMMC_OCR_CID_CSD_OVERWRITE ((uint32_t)0x00010000U) +#define SDMMC_OCR_WP_ERASE_SKIP ((uint32_t)0x00008000U) +#define SDMMC_OCR_CARD_ECC_DISABLED ((uint32_t)0x00004000U) +#define SDMMC_OCR_ERASE_RESET ((uint32_t)0x00002000U) +#define SDMMC_OCR_AKE_SEQ_ERROR ((uint32_t)0x00000008U) +#define SDMMC_OCR_ERRORBITS ((uint32_t)0xFDFFE008U) + +/** + * @brief Masks for R6 Response + */ +#define SDMMC_R6_GENERAL_UNKNOWN_ERROR ((uint32_t)0x00002000U) +#define SDMMC_R6_ILLEGAL_CMD ((uint32_t)0x00004000U) +#define SDMMC_R6_COM_CRC_FAILED ((uint32_t)0x00008000U) + +#define SDMMC_VOLTAGE_WINDOW_SD ((uint32_t)0x80100000U) +#define SDMMC_HIGH_CAPACITY ((uint32_t)0x40000000U) +#define SDMMC_STD_CAPACITY ((uint32_t)0x00000000U) +#define SDMMC_CHECK_PATTERN ((uint32_t)0x000001AAU) +#define SD_SWITCH_1_8V_CAPACITY ((uint32_t)0x01000000U) +#define SDMMC_SDR104_SWITCH_PATTERN ((uint32_t)0x80FF1F03U) +#define SDMMC_SDR50_SWITCH_PATTERN ((uint32_t)0x80FF1F02U) +#define SDMMC_SDR25_SWITCH_PATTERN ((uint32_t)0x80FFFF01U) + +#define SDMMC_MAX_VOLT_TRIAL ((uint32_t)0x0000FFFFU) + +#define SDMMC_MAX_TRIAL ((uint32_t)0x0000FFFFU) + +#define SDMMC_ALLZERO ((uint32_t)0x00000000U) + +#define SDMMC_WIDE_BUS_SUPPORT ((uint32_t)0x00040000U) +#define SDMMC_SINGLE_BUS_SUPPORT ((uint32_t)0x00010000U) +#define SDMMC_CARD_LOCKED ((uint32_t)0x02000000U) + +#define SDMMC_DATATIMEOUT ((uint32_t)0xFFFFFFFFU) + +#define SDMMC_0TO7BITS ((uint32_t)0x000000FFU) +#define SDMMC_8TO15BITS ((uint32_t)0x0000FF00U) +#define SDMMC_16TO23BITS ((uint32_t)0x00FF0000U) +#define SDMMC_24TO31BITS ((uint32_t)0xFF000000U) +#define SDMMC_MAX_DATA_LENGTH ((uint32_t)0x01FFFFFFU) + +#define SDMMC_HALFFIFO ((uint32_t)0x00000008U) +#define SDMMC_HALFFIFOBYTES ((uint32_t)0x00000020U) + +/** + * @brief Command Class supported + */ +#define SDMMC_CCCC_ERASE ((uint32_t)0x00000020U) + +#define SDMMC_CMDTIMEOUT ((uint32_t)5000U) /* Command send and response timeout */ +#define SDMMC_MAXERASETIMEOUT ((uint32_t)63000U) /* Max erase Timeout 63 s */ +#define SDMMC_STOPTRANSFERTIMEOUT ((uint32_t)100000000U) /* Timeout for STOP TRANSMISSION command */ + +/** @defgroup SDMMC_LL_Clock_Edge Clock Edge + * @{ + */ +#define SDMMC_CLOCK_EDGE_RISING ((uint32_t)0x00000000U) +#define SDMMC_CLOCK_EDGE_FALLING SDMMC_CLKCR_NEGEDGE + +#define IS_SDMMC_CLOCK_EDGE(EDGE) (((EDGE) == SDMMC_CLOCK_EDGE_RISING) || \ + ((EDGE) == SDMMC_CLOCK_EDGE_FALLING)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Clock_Power_Save Clock Power Saving + * @{ + */ +#define SDMMC_CLOCK_POWER_SAVE_DISABLE ((uint32_t)0x00000000U) +#define SDMMC_CLOCK_POWER_SAVE_ENABLE SDMMC_CLKCR_PWRSAV + +#define IS_SDMMC_CLOCK_POWER_SAVE(SAVE) (((SAVE) == SDMMC_CLOCK_POWER_SAVE_DISABLE) || \ + ((SAVE) == SDMMC_CLOCK_POWER_SAVE_ENABLE)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Bus_Wide Bus Width + * @{ + */ +#define SDMMC_BUS_WIDE_1B ((uint32_t)0x00000000U) +#define SDMMC_BUS_WIDE_4B SDMMC_CLKCR_WIDBUS_0 +#define SDMMC_BUS_WIDE_8B SDMMC_CLKCR_WIDBUS_1 + +#define IS_SDMMC_BUS_WIDE(WIDE) (((WIDE) == SDMMC_BUS_WIDE_1B) || \ + ((WIDE) == SDMMC_BUS_WIDE_4B) || \ + ((WIDE) == SDMMC_BUS_WIDE_8B)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Hardware_Flow_Control Hardware Flow Control + * @{ + */ +#define SDMMC_HARDWARE_FLOW_CONTROL_DISABLE ((uint32_t)0x00000000U) +#define SDMMC_HARDWARE_FLOW_CONTROL_ENABLE SDMMC_CLKCR_HWFC_EN + +#define IS_SDMMC_HARDWARE_FLOW_CONTROL(CONTROL) (((CONTROL) == SDMMC_HARDWARE_FLOW_CONTROL_DISABLE) || \ + ((CONTROL) == SDMMC_HARDWARE_FLOW_CONTROL_ENABLE)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Clock_Division Clock Division + * @{ + */ +/* SDMMC_CK frequency = SDMMCCLK / [2 * CLKDIV] */ +#define IS_SDMMC_CLKDIV(DIV) ((DIV) < 0x400U) +/** + * @} + */ + + +/** @defgroup SDMMC_LL_Command_Index Command Index + * @{ + */ +#define IS_SDMMC_CMD_INDEX(INDEX) ((INDEX) < 0x40U) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Response_Type Response Type + * @{ + */ +#define SDMMC_RESPONSE_NO ((uint32_t)0x00000000U) +#define SDMMC_RESPONSE_SHORT SDMMC_CMD_WAITRESP_0 +#define SDMMC_RESPONSE_LONG SDMMC_CMD_WAITRESP + +#define IS_SDMMC_RESPONSE(RESPONSE) (((RESPONSE) == SDMMC_RESPONSE_NO) || \ + ((RESPONSE) == SDMMC_RESPONSE_SHORT) || \ + ((RESPONSE) == SDMMC_RESPONSE_LONG)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Wait_Interrupt_State Wait Interrupt + * @{ + */ +#define SDMMC_WAIT_NO ((uint32_t)0x00000000U) +#define SDMMC_WAIT_IT SDMMC_CMD_WAITINT +#define SDMMC_WAIT_PEND SDMMC_CMD_WAITPEND + +#define IS_SDMMC_WAIT(WAIT) (((WAIT) == SDMMC_WAIT_NO) || \ + ((WAIT) == SDMMC_WAIT_IT) || \ + ((WAIT) == SDMMC_WAIT_PEND)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_CPSM_State CPSM State + * @{ + */ +#define SDMMC_CPSM_DISABLE ((uint32_t)0x00000000U) +#define SDMMC_CPSM_ENABLE SDMMC_CMD_CPSMEN + +#define IS_SDMMC_CPSM(CPSM) (((CPSM) == SDMMC_CPSM_DISABLE) || \ + ((CPSM) == SDMMC_CPSM_ENABLE)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Response_Registers Response Register + * @{ + */ +#define SDMMC_RESP1 ((uint32_t)0x00000000U) +#define SDMMC_RESP2 ((uint32_t)0x00000004U) +#define SDMMC_RESP3 ((uint32_t)0x00000008U) +#define SDMMC_RESP4 ((uint32_t)0x0000000CU) + +#define IS_SDMMC_RESP(RESP) (((RESP) == SDMMC_RESP1) || \ + ((RESP) == SDMMC_RESP2) || \ + ((RESP) == SDMMC_RESP3) || \ + ((RESP) == SDMMC_RESP4)) + +/** @defgroup SDMMC_Internal_DMA_Mode SDMMC Internal DMA Mode + * @{ + */ +#define SDMMC_DISABLE_IDMA ((uint32_t)0x00000000) +#define SDMMC_ENABLE_IDMA_SINGLE_BUFF (SDMMC_IDMA_IDMAEN) +#define SDMMC_ENABLE_IDMA_DOUBLE_BUFF0 (SDMMC_IDMA_IDMAEN | SDMMC_IDMA_IDMABMODE) +#define SDMMC_ENABLE_IDMA_DOUBLE_BUFF1 (SDMMC_IDMA_IDMAEN | SDMMC_IDMA_IDMABMODE | SDMMC_IDMA_IDMABACT) + +/** + * @} + */ + +/** @defgroup SDMMC_LL_Data_Length Data Lenght + * @{ + */ +#define IS_SDMMC_DATA_LENGTH(LENGTH) ((LENGTH) <= 0x01FFFFFFU) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Data_Block_Size Data Block Size + * @{ + */ +#define SDMMC_DATABLOCK_SIZE_1B ((uint32_t)0x00000000U) +#define SDMMC_DATABLOCK_SIZE_2B SDMMC_DCTRL_DBLOCKSIZE_0 +#define SDMMC_DATABLOCK_SIZE_4B SDMMC_DCTRL_DBLOCKSIZE_1 +#define SDMMC_DATABLOCK_SIZE_8B (SDMMC_DCTRL_DBLOCKSIZE_0|SDMMC_DCTRL_DBLOCKSIZE_1) +#define SDMMC_DATABLOCK_SIZE_16B SDMMC_DCTRL_DBLOCKSIZE_2 +#define SDMMC_DATABLOCK_SIZE_32B (SDMMC_DCTRL_DBLOCKSIZE_0|SDMMC_DCTRL_DBLOCKSIZE_2) +#define SDMMC_DATABLOCK_SIZE_64B (SDMMC_DCTRL_DBLOCKSIZE_1|SDMMC_DCTRL_DBLOCKSIZE_2) +#define SDMMC_DATABLOCK_SIZE_128B (SDMMC_DCTRL_DBLOCKSIZE_0|SDMMC_DCTRL_DBLOCKSIZE_1|SDMMC_DCTRL_DBLOCKSIZE_2) +#define SDMMC_DATABLOCK_SIZE_256B SDMMC_DCTRL_DBLOCKSIZE_3 +#define SDMMC_DATABLOCK_SIZE_512B (SDMMC_DCTRL_DBLOCKSIZE_0|SDMMC_DCTRL_DBLOCKSIZE_3) +#define SDMMC_DATABLOCK_SIZE_1024B (SDMMC_DCTRL_DBLOCKSIZE_1|SDMMC_DCTRL_DBLOCKSIZE_3) +#define SDMMC_DATABLOCK_SIZE_2048B (SDMMC_DCTRL_DBLOCKSIZE_0|SDMMC_DCTRL_DBLOCKSIZE_1|SDMMC_DCTRL_DBLOCKSIZE_3) +#define SDMMC_DATABLOCK_SIZE_4096B (SDMMC_DCTRL_DBLOCKSIZE_2|SDMMC_DCTRL_DBLOCKSIZE_3) +#define SDMMC_DATABLOCK_SIZE_8192B (SDMMC_DCTRL_DBLOCKSIZE_0|SDMMC_DCTRL_DBLOCKSIZE_2|SDMMC_DCTRL_DBLOCKSIZE_3) +#define SDMMC_DATABLOCK_SIZE_16384B (SDMMC_DCTRL_DBLOCKSIZE_1|SDMMC_DCTRL_DBLOCKSIZE_2|SDMMC_DCTRL_DBLOCKSIZE_3) + +#define IS_SDMMC_BLOCK_SIZE(SIZE) (((SIZE) == SDMMC_DATABLOCK_SIZE_1B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_2B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_4B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_8B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_16B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_32B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_64B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_128B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_256B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_512B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_1024B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_2048B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_4096B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_8192B) || \ + ((SIZE) == SDMMC_DATABLOCK_SIZE_16384B)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Transfer_Direction Transfer Direction + * @{ + */ +#define SDMMC_TRANSFER_DIR_TO_CARD ((uint32_t)0x00000000U) +#define SDMMC_TRANSFER_DIR_TO_SDMMC SDMMC_DCTRL_DTDIR + +#define IS_SDMMC_TRANSFER_DIR(DIR) (((DIR) == SDMMC_TRANSFER_DIR_TO_CARD) || \ + ((DIR) == SDMMC_TRANSFER_DIR_TO_SDMMC)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Transfer_Type Transfer Type + * @{ + */ +#define SDMMC_TRANSFER_MODE_BLOCK ((uint32_t)0x00000000U) +#define SDMMC_TRANSFER_MODE_STREAM SDMMC_DCTRL_DTMODE_1 + +#define IS_SDMMC_TRANSFER_MODE(MODE) (((MODE) == SDMMC_TRANSFER_MODE_BLOCK) || \ + ((MODE) == SDMMC_TRANSFER_MODE_STREAM)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_DPSM_State DPSM State + * @{ + */ +#define SDMMC_DPSM_DISABLE ((uint32_t)0x00000000U) +#define SDMMC_DPSM_ENABLE SDMMC_DCTRL_DTEN + +#define IS_SDMMC_DPSM(DPSM) (((DPSM) == SDMMC_DPSM_DISABLE) ||\ + ((DPSM) == SDMMC_DPSM_ENABLE)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Read_Wait_Mode Read Wait Mode + * @{ + */ +#define SDMMC_READ_WAIT_MODE_DATA2 ((uint32_t)0x00000000U) +#define SDMMC_READ_WAIT_MODE_CLK (SDMMC_DCTRL_RWMOD) + +#define IS_SDMMC_READWAIT_MODE(MODE) (((MODE) == SDMMC_READ_WAIT_MODE_CLK) || \ + ((MODE) == SDMMC_READ_WAIT_MODE_DATA2)) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Interrupt_sources Interrupt Sources + * @{ + */ +#define SDMMC_IT_CCRCFAIL SDMMC_MASK_CCRCFAILIE +#define SDMMC_IT_DCRCFAIL SDMMC_MASK_DCRCFAILIE +#define SDMMC_IT_CTIMEOUT SDMMC_MASK_CTIMEOUTIE +#define SDMMC_IT_DTIMEOUT SDMMC_MASK_DTIMEOUTIE +#define SDMMC_IT_TXUNDERR SDMMC_MASK_TXUNDERRIE +#define SDMMC_IT_RXOVERR SDMMC_MASK_RXOVERRIE +#define SDMMC_IT_CMDREND SDMMC_MASK_CMDRENDIE +#define SDMMC_IT_CMDSENT SDMMC_MASK_CMDSENTIE +#define SDMMC_IT_DATAEND SDMMC_MASK_DATAENDIE +#define SDMMC_IT_DHOLD SDMMC_MASK_DHOLDIE +#define SDMMC_IT_DBCKEND SDMMC_MASK_DBCKENDIE +#define SDMMC_IT_DABORT SDMMC_MASK_DABORTIE +#define SDMMC_IT_TXFIFOHE SDMMC_MASK_TXFIFOHEIE +#define SDMMC_IT_RXFIFOHF SDMMC_MASK_RXFIFOHFIE +#define SDMMC_IT_RXFIFOF SDMMC_MASK_RXFIFOFIE +#define SDMMC_IT_TXFIFOE SDMMC_MASK_TXFIFOEIE +#define SDMMC_IT_BUSYD0END SDMMC_MASK_BUSYD0ENDIE +#define SDMMC_IT_SDIOIT SDMMC_MASK_SDIOITIE +#define SDMMC_IT_ACKFAIL SDMMC_MASK_ACKFAILIE +#define SDMMC_IT_ACKTIMEOUT SDMMC_MASK_ACKTIMEOUTIE +#define SDMMC_IT_VSWEND SDMMC_MASK_VSWENDIE +#define SDMMC_IT_CKSTOP SDMMC_MASK_CKSTOPIE +#define SDMMC_IT_IDMABTC SDMMC_MASK_IDMABTCIE +/** + * @} + */ + +/** @defgroup SDMMC_LL_Flags Flags + * @{ + */ +#define SDMMC_FLAG_CCRCFAIL SDMMC_STA_CCRCFAIL +#define SDMMC_FLAG_DCRCFAIL SDMMC_STA_DCRCFAIL +#define SDMMC_FLAG_CTIMEOUT SDMMC_STA_CTIMEOUT +#define SDMMC_FLAG_DTIMEOUT SDMMC_STA_DTIMEOUT +#define SDMMC_FLAG_TXUNDERR SDMMC_STA_TXUNDERR +#define SDMMC_FLAG_RXOVERR SDMMC_STA_RXOVERR +#define SDMMC_FLAG_CMDREND SDMMC_STA_CMDREND +#define SDMMC_FLAG_CMDSENT SDMMC_STA_CMDSENT +#define SDMMC_FLAG_DATAEND SDMMC_STA_DATAEND +#define SDMMC_FLAG_DHOLD SDMMC_STA_DHOLD +#define SDMMC_FLAG_DBCKEND SDMMC_STA_DBCKEND +#define SDMMC_FLAG_DABORT SDMMC_STA_DABORT +#define SDMMC_FLAG_DPSMACT SDMMC_STA_DPSMACT +#define SDMMC_FLAG_CMDACT SDMMC_STA_CPSMACT +#define SDMMC_FLAG_TXFIFOHE SDMMC_STA_TXFIFOHE +#define SDMMC_FLAG_RXFIFOHF SDMMC_STA_RXFIFOHF +#define SDMMC_FLAG_TXFIFOF SDMMC_STA_TXFIFOF +#define SDMMC_FLAG_RXFIFOF SDMMC_STA_RXFIFOF +#define SDMMC_FLAG_TXFIFOE SDMMC_STA_TXFIFOE +#define SDMMC_FLAG_RXFIFOE SDMMC_STA_RXFIFOE +#define SDMMC_FLAG_BUSYD0 SDMMC_STA_BUSYD0 +#define SDMMC_FLAG_BUSYD0END SDMMC_STA_BUSYD0END +#define SDMMC_FLAG_SDIOIT SDMMC_STA_SDIOIT +#define SDMMC_FLAG_ACKFAIL SDMMC_STA_ACKFAIL +#define SDMMC_FLAG_ACKTIMEOUT SDMMC_STA_ACKTIMEOUT +#define SDMMC_FLAG_VSWEND SDMMC_STA_VSWEND +#define SDMMC_FLAG_CKSTOP SDMMC_STA_CKSTOP +#define SDMMC_FLAG_IDMATE SDMMC_STA_IDMATE +#define SDMMC_FLAG_IDMABTC SDMMC_STA_IDMABTC + +#define SDMMC_STATIC_FLAGS ((uint32_t)(SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_CTIMEOUT |\ + SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_TXUNDERR | SDMMC_FLAG_RXOVERR |\ + SDMMC_FLAG_CMDREND | SDMMC_FLAG_CMDSENT | SDMMC_FLAG_DATAEND |\ + SDMMC_FLAG_DHOLD | SDMMC_FLAG_DBCKEND | SDMMC_FLAG_DABORT |\ + SDMMC_FLAG_BUSYD0END | SDMMC_FLAG_SDIOIT | SDMMC_FLAG_ACKFAIL |\ + SDMMC_FLAG_ACKTIMEOUT | SDMMC_FLAG_VSWEND | SDMMC_FLAG_CKSTOP |\ + SDMMC_FLAG_IDMATE | SDMMC_FLAG_IDMABTC)) + +#define SDMMC_STATIC_CMD_FLAGS ((uint32_t)(SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CTIMEOUT | SDMMC_FLAG_CMDREND |\ + SDMMC_FLAG_CMDSENT | SDMMC_FLAG_BUSYD0END)) + +#define SDMMC_STATIC_DATA_FLAGS ((uint32_t)(SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_TXUNDERR |\ + SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DATAEND | SDMMC_FLAG_DHOLD |\ + SDMMC_FLAG_DBCKEND | SDMMC_FLAG_DABORT | SDMMC_FLAG_IDMATE |\ + SDMMC_FLAG_IDMABTC)) +/** + * @} + */ + +/** + * @} + */ + +/* Exported macro ------------------------------------------------------------*/ +/** @defgroup SDMMC_LL_Exported_macros SDMMC_LL Exported Macros + * @{ + */ + +/** @defgroup SDMMC_LL_Register Bits And Addresses Definitions + * @brief SDMMC_LL registers bit address in the alias region + * @{ + */ +/* ---------------------- SDMMC registers bit mask --------------------------- */ +/* --- CLKCR Register ---*/ +/* CLKCR register clear mask */ +#define CLKCR_CLEAR_MASK ((uint32_t)(SDMMC_CLKCR_CLKDIV | SDMMC_CLKCR_PWRSAV |\ + SDMMC_CLKCR_WIDBUS |\ + SDMMC_CLKCR_NEGEDGE | SDMMC_CLKCR_HWFC_EN)) + +/* --- DCTRL Register ---*/ +/* SDMMC DCTRL Clear Mask */ +#define DCTRL_CLEAR_MASK ((uint32_t)(SDMMC_DCTRL_DTEN | SDMMC_DCTRL_DTDIR |\ + SDMMC_DCTRL_DTMODE | SDMMC_DCTRL_DBLOCKSIZE)) + +/* --- CMD Register ---*/ +/* CMD Register clear mask */ +#define CMD_CLEAR_MASK ((uint32_t)(SDMMC_CMD_CMDINDEX | SDMMC_CMD_WAITRESP |\ + SDMMC_CMD_WAITINT | SDMMC_CMD_WAITPEND |\ + SDMMC_CMD_CPSMEN | SDMMC_CMD_CMDSUSPEND)) + +/* SDMMC Initialization Frequency (400KHz max) for IP CLK 200MHz*/ +#define SDMMC_INIT_CLK_DIV ((uint8_t)0xFA) + +/* SDMMC Default Speed Frequency (25Mhz max) for IP CLK 200MHz*/ +#define SDMMC_NSpeed_CLK_DIV ((uint8_t)0x4) + +/* SDMMC High Speed Frequency (50Mhz max) for IP CLK 200MHz*/ +#define SDMMC_HSpeed_CLK_DIV ((uint8_t)0x2) +/** + * @} + */ + +/** @defgroup SDMMC_LL_Interrupt_Clock Interrupt And Clock Configuration + * @brief macros to handle interrupts and specific clock configurations + * @{ + */ + +/** + * @brief Enable the SDMMC device interrupt. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @param __INTERRUPT__ : specifies the SDMMC interrupt sources to be enabled. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __SDMMC_ENABLE_IT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->MASK |= (__INTERRUPT__)) + +/** + * @brief Disable the SDMMC device interrupt. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @param __INTERRUPT__ : specifies the SDMMC interrupt sources to be disabled. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __SDMMC_DISABLE_IT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->MASK &= ~(__INTERRUPT__)) + +/** + * @brief Checks whether the specified SDMMC flag is set or not. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @param __FLAG__: specifies the flag to check. + * This parameter can be one of the following values: + * @arg SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed) + * @arg SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) + * @arg SDMMC_FLAG_CTIMEOUT: Command response timeout + * @arg SDMMC_FLAG_DTIMEOUT: Data timeout + * @arg SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error + * @arg SDMMC_FLAG_RXOVERR: Received FIFO overrun error + * @arg SDMMC_FLAG_CMDREND: Command response received (CRC check passed) + * @arg SDMMC_FLAG_CMDSENT: Command sent (no response required) + * @arg SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero) + * @arg SDMMC_FLAG_DHOLD: Data transfer Hold + * @arg SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed) + * @arg SDMMC_FLAG_DABORT: Data transfer aborted by CMD12 + * @arg SDMMC_FLAG_CPSMACT: Command path state machine active + * @arg SDMMC_FLAG_DPSMACT: Data path state machine active + * @arg SDMMC_FLAG_TXFIFOHE: Transmit FIFO Half Empty + * @arg SDMMC_FLAG_RXFIFOHF: Receive FIFO Half Full + * @arg SDMMC_FLAG_TXFIFOF: Transmit FIFO full + * @arg SDMMC_FLAG_RXFIFOF: Receive FIFO full + * @arg SDMMC_FLAG_TXFIFOE: Transmit FIFO empty + * @arg SDMMC_FLAG_RXFIFOE: Receive FIFO empty + * @arg SDMMC_FLAG_BUSYD0: Inverted value of SDMMC_D0 line (Busy) + * @arg SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected + * @arg SDMMC_FLAG_SDIOIT: SDIO interrupt received + * @arg SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received + * @arg SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout + * @arg SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion + * @arg SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure + * @arg SDMMC_FLAG_IDMATE: IDMA transfer error + * @arg SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete + * @retval The new state of SDMMC_FLAG (SET or RESET). + */ +#define __SDMMC_GET_FLAG(__INSTANCE__, __FLAG__) (((__INSTANCE__)->STA &(__FLAG__)) != 0U) + + +/** + * @brief Clears the SDMMC pending flags. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @param __FLAG__: specifies the flag to clear. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_FLAG_CCRCFAIL: Command response received (CRC check failed) + * @arg SDMMC_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) + * @arg SDMMC_FLAG_CTIMEOUT: Command response timeout + * @arg SDMMC_FLAG_DTIMEOUT: Data timeout + * @arg SDMMC_FLAG_TXUNDERR: Transmit FIFO underrun error + * @arg SDMMC_FLAG_RXOVERR: Received FIFO overrun error + * @arg SDMMC_FLAG_CMDREND: Command response received (CRC check passed) + * @arg SDMMC_FLAG_CMDSENT: Command sent (no response required) + * @arg SDMMC_FLAG_DATAEND: Data end (data counter, DATACOUNT, is zero) + * @arg SDMMC_FLAG_DHOLD: Data transfer Hold + * @arg SDMMC_FLAG_DBCKEND: Data block sent/received (CRC check passed) + * @arg SDMMC_FLAG_DABORT: Data transfer aborted by CMD12 + * @arg SDMMC_FLAG_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected + * @arg SDMMC_FLAG_SDIOIT: SDIO interrupt received + * @arg SDMMC_FLAG_ACKFAIL: Boot Acknowledgment received + * @arg SDMMC_FLAG_ACKTIMEOUT: Boot Acknowledgment timeout + * @arg SDMMC_FLAG_VSWEND: Voltage switch critical timing section completion + * @arg SDMMC_FLAG_CKSTOP: SDMMC_CK stopped in Voltage switch procedure + * @arg SDMMC_FLAG_IDMATE: IDMA transfer error + * @arg SDMMC_FLAG_IDMABTC: IDMA buffer transfer complete + * @retval None + */ +#define __SDMMC_CLEAR_FLAG(__INSTANCE__, __FLAG__) ((__INSTANCE__)->ICR = (__FLAG__)) + +/** + * @brief Checks whether the specified SDMMC interrupt has occurred or not. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @param __INTERRUPT__: specifies the SDMMC interrupt source to check. + * This parameter can be one of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_DPSMACT: Data path state machine active interrupt + * @arg SDMMC_IT_CPSMACT: Command path state machine active interrupt + * @arg SDMMC_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt + * @arg SDMMC_IT_RXFIFOHF: Receive FIFO Half Full interrupt + * @arg SDMMC_IT_TXFIFOF: Transmit FIFO full interrupt + * @arg SDMMC_IT_RXFIFOF: Receive FIFO full interrupt + * @arg SDMMC_IT_TXFIFOE: Transmit FIFO empty interrupt + * @arg SDMMC_IT_RXFIFOE: Receive FIFO empty interrupt + * @arg SDMMC_IT_BUSYD0: Inverted value of SDMMC_D0 line (Busy) + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMATE: IDMA transfer error interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval The new state of SDMMC_IT (SET or RESET). + */ +#define __SDMMC_GET_IT (__INSTANCE__, __INTERRUPT__) (((__INSTANCE__)->STA &(__INTERRUPT__)) == (__INTERRUPT__)) + +/** + * @brief Clears the SDMMC's interrupt pending bits. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @param __INTERRUPT__: specifies the interrupt pending bit to clear. + * This parameter can be one or a combination of the following values: + * @arg SDMMC_IT_CCRCFAIL: Command response received (CRC check failed) interrupt + * @arg SDMMC_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt + * @arg SDMMC_IT_CTIMEOUT: Command response timeout interrupt + * @arg SDMMC_IT_DTIMEOUT: Data timeout interrupt + * @arg SDMMC_IT_TXUNDERR: Transmit FIFO underrun error interrupt + * @arg SDMMC_IT_RXOVERR: Received FIFO overrun error interrupt + * @arg SDMMC_IT_CMDREND: Command response received (CRC check passed) interrupt + * @arg SDMMC_IT_CMDSENT: Command sent (no response required) interrupt + * @arg SDMMC_IT_DATAEND: Data end (data counter, DATACOUNT, is zero) interrupt + * @arg SDMMC_IT_DHOLD: Data transfer Hold interrupt + * @arg SDMMC_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt + * @arg SDMMC_IT_DABORT: Data transfer aborted by CMD12 interrupt + * @arg SDMMC_IT_BUSYD0END: End of SDMMC_D0 Busy following a CMD response detected interrupt + * @arg SDMMC_IT_SDIOIT: SDIO interrupt received interrupt + * @arg SDMMC_IT_ACKFAIL: Boot Acknowledgment received interrupt + * @arg SDMMC_IT_ACKTIMEOUT: Boot Acknowledgment timeout interrupt + * @arg SDMMC_IT_VSWEND: Voltage switch critical timing section completion interrupt + * @arg SDMMC_IT_CKSTOP: SDMMC_CK stopped in Voltage switch procedure interrupt + * @arg SDMMC_IT_IDMATE: IDMA transfer error interrupt + * @arg SDMMC_IT_IDMABTC: IDMA buffer transfer complete interrupt + * @retval None + */ +#define __SDMMC_CLEAR_IT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->ICR = (__INTERRUPT__)) + +/** + * @brief Enable Start the SD I/O Read Wait operation. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_START_READWAIT_ENABLE(__INSTANCE__) ((__INSTANCE__)->DCTRL |= SDMMC_DCTRL_RWSTART) + +/** + * @brief Disable Start the SD I/O Read Wait operations. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_START_READWAIT_DISABLE(__INSTANCE__) ((__INSTANCE__)->DCTRL &= ~SDMMC_DCTRL_RWSTART) + +/** + * @brief Enable Start the SD I/O Read Wait operation. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_STOP_READWAIT_ENABLE(__INSTANCE__) ((__INSTANCE__)->DCTRL |= SDMMC_DCTRL_RWSTOP) + +/** + * @brief Disable Stop the SD I/O Read Wait operations. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_STOP_READWAIT_DISABLE(__INSTANCE__) ((__INSTANCE__)->DCTRL &= ~SDMMC_DCTRL_RWSTOP) + +/** + * @brief Enable the SD I/O Mode Operation. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_OPERATION_ENABLE(__INSTANCE__) ((__INSTANCE__)->DCTRL |= SDMMC_DCTRL_SDIOEN) + +/** + * @brief Disable the SD I/O Mode Operation. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_OPERATION_DISABLE(__INSTANCE__) ((__INSTANCE__)->DCTRL &= ~SDMMC_DCTRL_SDIOEN) + +/** + * @brief Enable the SD I/O Suspend command sending. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_SUSPEND_CMD_ENABLE(__INSTANCE__) ((__INSTANCE__)->CMD |= SDMMC_CMD_CMDSUSPEND) + +/** + * @brief Disable the SD I/O Suspend command sending. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_SUSPEND_CMD_DISABLE(__INSTANCE__) ((__INSTANCE__)->CMD &= ~SDMMC_CMD_CMDSUSPEND) + +/** + * @brief Enable the CMDTRANS mode. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_CMDTRANS_ENABLE(__INSTANCE__) ((__INSTANCE__)->CMD |= SDMMC_CMD_CMDTRANS) + +/** + * @brief Disable the CMDTRANS mode. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_CMDTRANS_DISABLE(__INSTANCE__) ((__INSTANCE__)->CMD &= ~SDMMC_CMD_CMDTRANS) + +/** + * @brief Enable the CMDSTOP mode. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_CMDSTOP_ENABLE(__INSTANCE__) ((__INSTANCE__)->CMD |= SDMMC_CMD_CMDSTOP) + +/** + * @brief Disable the CMDSTOP mode. + * @param __INSTANCE__ : Pointer to SDMMC register base + * @retval None + */ +#define __SDMMC_CMDSTOP_DISABLE(__INSTANCE__) ((__INSTANCE__)->CMD &= ~SDMMC_CMD_CMDSTOP) + +/** + * @} + */ + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SDMMC_LL_Exported_Functions + * @{ + */ + +/* Initialization/de-initialization functions **********************************/ +/** @addtogroup HAL_SDMMC_LL_Group1 + * @{ + */ +HAL_StatusTypeDef SDMMC_Init(SDMMC_TypeDef *SDMMCx, SDMMC_InitTypeDef Init); +/** + * @} + */ + +/* I/O operation functions *****************************************************/ +/** @addtogroup HAL_SDMMC_LL_Group2 + * @{ + */ +uint32_t SDMMC_ReadFIFO(SDMMC_TypeDef *SDMMCx); +HAL_StatusTypeDef SDMMC_WriteFIFO(SDMMC_TypeDef *SDMMCx, uint32_t *pWriteData); +/** + * @} + */ + +/* Peripheral Control functions ************************************************/ +/** @addtogroup HAL_SDMMC_LL_Group3 + * @{ + */ +HAL_StatusTypeDef SDMMC_PowerState_ON(SDMMC_TypeDef *SDMMCx); +HAL_StatusTypeDef SDMMC_PowerState_Cycle(SDMMC_TypeDef *SDMMCx); +HAL_StatusTypeDef SDMMC_PowerState_OFF(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_GetPowerState(SDMMC_TypeDef *SDMMCx); + +/* Command path state machine (CPSM) management functions */ +HAL_StatusTypeDef SDMMC_SendCommand(SDMMC_TypeDef *SDMMCx, SDMMC_CmdInitTypeDef *Command); +uint8_t SDMMC_GetCommandResponse(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_GetResponse(SDMMC_TypeDef *SDMMCx, uint32_t Response); + +/* Data path state machine (DPSM) management functions */ +HAL_StatusTypeDef SDMMC_ConfigData(SDMMC_TypeDef *SDMMCx, SDMMC_DataInitTypeDef* Data); +uint32_t SDMMC_GetDataCounter(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_GetFIFOCount(SDMMC_TypeDef *SDMMCx); + +/* SDMMC Cards mode management functions */ +HAL_StatusTypeDef SDMMC_SetSDMMCReadWaitMode(SDMMC_TypeDef *SDMMCx, uint32_t SDMMC_ReadWaitMode); + +/* SDMMC Commands management functions */ +uint32_t SDMMC_CmdBlockLength(SDMMC_TypeDef *SDMMCx, uint32_t BlockSize); +uint32_t SDMMC_CmdReadSingleBlock(SDMMC_TypeDef *SDMMCx, uint32_t ReadAdd); +uint32_t SDMMC_CmdReadMultiBlock(SDMMC_TypeDef *SDMMCx, uint32_t ReadAdd); +uint32_t SDMMC_CmdWriteSingleBlock(SDMMC_TypeDef *SDMMCx, uint32_t WriteAdd); +uint32_t SDMMC_CmdWriteMultiBlock(SDMMC_TypeDef *SDMMCx, uint32_t WriteAdd); +uint32_t SDMMC_CmdEraseStartAdd(SDMMC_TypeDef *SDMMCx, uint32_t StartAdd); +uint32_t SDMMC_CmdSDEraseStartAdd(SDMMC_TypeDef *SDMMCx, uint32_t StartAdd); +uint32_t SDMMC_CmdEraseEndAdd(SDMMC_TypeDef *SDMMCx, uint32_t EndAdd); +uint32_t SDMMC_CmdSDEraseEndAdd(SDMMC_TypeDef *SDMMCx, uint32_t EndAdd); +uint32_t SDMMC_CmdErase(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdStopTransfer(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdSelDesel(SDMMC_TypeDef *SDMMCx, uint64_t Addr); +uint32_t SDMMC_CmdGoIdleState(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdOperCond(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdAppCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument); +uint32_t SDMMC_CmdAppOperCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument); +uint32_t SDMMC_CmdBusWidth(SDMMC_TypeDef *SDMMCx, uint32_t BusWidth); +uint32_t SDMMC_CmdSendSCR(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdSendCID(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdSendCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument); +uint32_t SDMMC_CmdSetRelAdd(SDMMC_TypeDef *SDMMCx, uint16_t *pRCA); +uint32_t SDMMC_CmdSendStatus(SDMMC_TypeDef *SDMMCx, uint32_t Argument); +uint32_t SDMMC_CmdStatusRegister(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdVoltageSwitch(SDMMC_TypeDef *SDMMCx); +uint32_t SDMMC_CmdOpCondition(SDMMC_TypeDef *SDMMCx, uint32_t Argument); +uint32_t SDMMC_CmdSwitch(SDMMC_TypeDef *SDMMCx, uint32_t Argument); +uint32_t SDMMC_CmdSendEXTCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + + /** + * @} + */ + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif /* STM32H7xx_LL_SDMMC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h new file mode 100644 index 0000000000..bb1f0dcada --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h @@ -0,0 +1,463 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_usb.h + * @author MCD Application Team + * @brief Header file of USB Core HAL module. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2017 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_LL_USB_H +#define __STM32H7xx_LL_USB_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal_def.h" + +/** @addtogroup STM32H7xx_HAL + * @{ + */ + +/** @addtogroup USB_Core + * @{ + */ + +/* Exported types ------------------------------------------------------------*/ + +/** + * @brief USB Mode definition + */ +typedef enum +{ + USB_OTG_DEVICE_MODE = 0U, + USB_OTG_HOST_MODE = 1U, + USB_OTG_DRD_MODE = 2U + +}USB_OTG_ModeTypeDef; + +/** + * @brief URB States definition + */ +typedef enum { + URB_IDLE = 0U, + URB_DONE, + URB_NOTREADY, + URB_NYET, + URB_ERROR, + URB_STALL + +}USB_OTG_URBStateTypeDef; + +/** + * @brief Host channel States definition + */ +typedef enum { + HC_IDLE = 0U, + HC_XFRC, + HC_HALTED, + HC_NAK, + HC_NYET, + HC_STALL, + HC_XACTERR, + HC_BBLERR, + HC_DATATGLERR + +}USB_OTG_HCStateTypeDef; + +/** + * @brief PCD Initialization Structure definition + */ +typedef struct +{ + uint32_t dev_endpoints; /*!< Device Endpoints number. + This parameter depends on the used USB core. + This parameter must be a number between Min_Data = 1 and Max_Data = 15 */ + + uint32_t Host_channels; /*!< Host Channels number. + This parameter Depends on the used USB core. + This parameter must be a number between Min_Data = 1 and Max_Data = 15 */ + + uint32_t speed; /*!< USB Core speed. + This parameter can be any value of @ref USB_Core_Speed_ */ + + uint32_t dma_enable; /*!< Enable or disable of the USB embedded DMA. */ + + uint32_t ep0_mps; /*!< Set the Endpoint 0 Max Packet size. + This parameter can be any value of @ref USB_EP0_MPS_ */ + + uint32_t phy_itface; /*!< Select the used PHY interface. + This parameter can be any value of @ref USB_Core_PHY_ */ + + uint32_t Sof_enable; /*!< Enable or disable the output of the SOF signal. */ + + uint32_t low_power_enable; /*!< Enable or disable the low power mode. */ + + uint32_t battery_charging_enable; /*!< Enable or disable Battery charging. */ + + uint32_t lpm_enable; /*!< Enable or disable Link Power Management. */ + + uint32_t vbus_sensing_enable; /*!< Enable or disable the VBUS Sensing feature. */ + + uint32_t use_dedicated_ep1; /*!< Enable or disable the use of the dedicated EP1 interrupt. */ + + uint32_t use_external_vbus; /*!< Enable or disable the use of the external VBUS. */ + +}USB_OTG_CfgTypeDef; + +typedef struct +{ + uint8_t num; /*!< Endpoint number + This parameter must be a number between Min_Data = 1 and Max_Data = 15 */ + + uint8_t is_in; /*!< Endpoint direction + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint8_t is_stall; /*!< Endpoint stall condition + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint8_t type; /*!< Endpoint type + This parameter can be any value of @ref USB_EP_Type_ */ + + uint8_t data_pid_start; /*!< Initial data PID + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint8_t even_odd_frame; /*!< IFrame parity + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint16_t tx_fifo_num; /*!< Transmission FIFO number + This parameter must be a number between Min_Data = 1 and Max_Data = 15 */ + + uint32_t maxpacket; /*!< Endpoint Max packet size + This parameter must be a number between Min_Data = 0 and Max_Data = 64KB */ + + uint8_t *xfer_buff; /*!< Pointer to transfer buffer */ + + uint32_t dma_addr; /*!< 32 bits aligned transfer buffer address */ + + uint32_t xfer_len; /*!< Current transfer length */ + + uint32_t xfer_count; /*!< Partial transfer length in case of multi packet transfer */ + +}USB_OTG_EPTypeDef; + +typedef struct +{ + uint8_t dev_addr ; /*!< USB device address. + This parameter must be a number between Min_Data = 1 and Max_Data = 255 */ + + uint8_t ch_num; /*!< Host channel number. + This parameter must be a number between Min_Data = 1 and Max_Data = 15 */ + + uint8_t ep_num; /*!< Endpoint number. + This parameter must be a number between Min_Data = 1 and Max_Data = 15 */ + + uint8_t ep_is_in; /*!< Endpoint direction + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint8_t speed; /*!< USB Host speed. + This parameter can be any value of @ref USB_Core_Speed_ */ + + uint8_t do_ping; /*!< Enable or disable the use of the PING protocol for HS mode. */ + + uint8_t process_ping; /*!< Execute the PING protocol for HS mode. */ + + uint8_t ep_type; /*!< Endpoint Type. + This parameter can be any value of @ref USB_EP_Type_ */ + + uint16_t max_packet; /*!< Endpoint Max packet size. + This parameter must be a number between Min_Data = 0 and Max_Data = 64KB */ + + uint8_t data_pid; /*!< Initial data PID. + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint8_t *xfer_buff; /*!< Pointer to transfer buffer. */ + + uint32_t xfer_len; /*!< Current transfer length. */ + + uint32_t xfer_count; /*!< Partial transfer length in case of multi packet transfer. */ + + uint8_t toggle_in; /*!< IN transfer current toggle flag. + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint8_t toggle_out; /*!< OUT transfer current toggle flag + This parameter must be a number between Min_Data = 0 and Max_Data = 1 */ + + uint32_t dma_addr; /*!< 32 bits aligned transfer buffer address. */ + + uint32_t ErrCnt; /*!< Host channel error count.*/ + + USB_OTG_URBStateTypeDef urb_state; /*!< URB state. + This parameter can be any value of @ref USB_OTG_URBStateTypeDef */ + + USB_OTG_HCStateTypeDef state; /*!< Host Channel state. + This parameter can be any value of @ref USB_OTG_HCStateTypeDef */ + +}USB_OTG_HCTypeDef; + +/* Exported constants --------------------------------------------------------*/ + +/** @defgroup PCD_Exported_Constants PCD Exported Constants + * @{ + */ + +/** @defgroup USB_Core_Mode_ USB Core Mode + * @{ + */ +#define USB_OTG_MODE_DEVICE 0U +#define USB_OTG_MODE_HOST 1U +#define USB_OTG_MODE_DRD 2U +/** + * @} + */ + +/** @defgroup USB_Core_Speed_ USB Core Speed + * @{ + */ +#define USB_OTG_SPEED_HIGH 0U +#define USB_OTG_SPEED_HIGH_IN_FULL 1U +#define USB_OTG_SPEED_LOW 2U +#define USB_OTG_SPEED_FULL 3U +/** + * @} + */ + +/** @defgroup USB_Core_PHY_ USB Core PHY + * @{ + */ +#define USB_OTG_ULPI_PHY 1U +#define USB_OTG_EMBEDDED_PHY 2U +/** + * @} + */ + +/** @defgroup USB_Core_MPS_ USB Core MPS + * @{ + */ +#define USB_OTG_HS_MAX_PACKET_SIZE 512U +#define USB_OTG_FS_MAX_PACKET_SIZE 64U +#define USB_OTG_MAX_EP0_SIZE 64U +/** + * @} + */ + +/** @defgroup USB_Core_Phy_Frequency_ USB Core Phy Frequency + * @{ + */ +#define DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ (0 << 1) +#define DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ (1 << 1) +#define DSTS_ENUMSPD_LS_PHY_6MHZ (2 << 1) +#define DSTS_ENUMSPD_FS_PHY_48MHZ (3 << 1) +/** + * @} + */ + +/** @defgroup USB_CORE_Frame_Interval_ USB CORE Frame Interval + * @{ + */ +#define DCFG_FRAME_INTERVAL_80 0U +#define DCFG_FRAME_INTERVAL_85 1U +#define DCFG_FRAME_INTERVAL_90 2U +#define DCFG_FRAME_INTERVAL_95 3U +/** + * @} + */ + +/** @defgroup USB_EP0_MPS_ USB EP0 MPS + * @{ + */ +#define DEP0CTL_MPS_64 0U +#define DEP0CTL_MPS_32 1U +#define DEP0CTL_MPS_16 2U +#define DEP0CTL_MPS_8 3U +/** + * @} + */ + +/** @defgroup USB_EP_Speed_ USB EP Speed + * @{ + */ +#define EP_SPEED_LOW 0U +#define EP_SPEED_FULL 1U +#define EP_SPEED_HIGH 2U +/** + * @} + */ + +/** @defgroup USB_EP_Type_ USB EP Type + * @{ + */ +#define EP_TYPE_CTRL 0U +#define EP_TYPE_ISOC 1U +#define EP_TYPE_BULK 2U +#define EP_TYPE_INTR 3U +#define EP_TYPE_MSK 3U +/** + * @} + */ + +/** @defgroup USB_STS_Defines_ USB STS Defines + * @{ + */ +#define STS_GOUT_NAK 1U +#define STS_DATA_UPDT 2U +#define STS_XFER_COMP 3U +#define STS_SETUP_COMP 4U +#define STS_SETUP_UPDT 6U +/** + * @} + */ + +/** @defgroup HCFG_SPEED_Defines_ HCFG SPEED Defines + * @{ + */ +#define HCFG_30_60_MHZ 0U +#define HCFG_48_MHZ 1U +#define HCFG_6_MHZ 2U +/** + * @} + */ + +/** @defgroup HPRT0_PRTSPD_SPEED_Defines_ HPRT0 PRTSPD SPEED Defines + * @{ + */ +#define HPRT0_PRTSPD_HIGH_SPEED 0U +#define HPRT0_PRTSPD_FULL_SPEED 1U +#define HPRT0_PRTSPD_LOW_SPEED 2U +/** + * @} + */ + +#define HCCHAR_CTRL 0U +#define HCCHAR_ISOC 1U +#define HCCHAR_BULK 2U +#define HCCHAR_INTR 3U + +#define HC_PID_DATA0 0U +#define HC_PID_DATA2 1U +#define HC_PID_DATA1 2U +#define HC_PID_SETUP 3U + +#define GRXSTS_PKTSTS_IN 2U +#define GRXSTS_PKTSTS_IN_XFER_COMP 3U +#define GRXSTS_PKTSTS_DATA_TOGGLE_ERR 5U +#define GRXSTS_PKTSTS_CH_HALTED 7U + +#define USBx_PCGCCTL *(__IO uint32_t *)((uint32_t)USBx + USB_OTG_PCGCCTL_BASE) +#define USBx_HPRT0 *(__IO uint32_t *)((uint32_t)USBx + USB_OTG_HOST_PORT_BASE) + +#define USBx_DEVICE ((USB_OTG_DeviceTypeDef *)((uint32_t )USBx + USB_OTG_DEVICE_BASE)) +#define USBx_INEP(i) ((USB_OTG_INEndpointTypeDef *)((uint32_t)USBx + USB_OTG_IN_ENDPOINT_BASE + (i)*USB_OTG_EP_REG_SIZE)) +#define USBx_OUTEP(i) ((USB_OTG_OUTEndpointTypeDef *)((uint32_t)USBx + USB_OTG_OUT_ENDPOINT_BASE + (i)*USB_OTG_EP_REG_SIZE)) +#define USBx_DFIFO(i) *(__IO uint32_t *)((uint32_t)USBx + USB_OTG_FIFO_BASE + (i) * USB_OTG_FIFO_SIZE) + +#define USBx_HOST ((USB_OTG_HostTypeDef *)((uint32_t )USBx + USB_OTG_HOST_BASE)) +#define USBx_HC(i) ((USB_OTG_HostChannelTypeDef *)((uint32_t)USBx + USB_OTG_HOST_CHANNEL_BASE + (i)*USB_OTG_HOST_CHANNEL_SIZE)) +/** + * @} + */ +/* Exported macro ------------------------------------------------------------*/ +#define USB_MASK_INTERRUPT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->GINTMSK &= ~(__INTERRUPT__)) +#define USB_UNMASK_INTERRUPT(__INSTANCE__, __INTERRUPT__) ((__INSTANCE__)->GINTMSK |= (__INTERRUPT__)) + +#define CLEAR_IN_EP_INTR(__EPNUM__, __INTERRUPT__) (USBx_INEP(__EPNUM__)->DIEPINT = (__INTERRUPT__)) +#define CLEAR_OUT_EP_INTR(__EPNUM__, __INTERRUPT__) (USBx_OUTEP(__EPNUM__)->DOEPINT = (__INTERRUPT__)) + +/* Exported functions --------------------------------------------------------*/ +HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef Init); +HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef Init); +HAL_StatusTypeDef USB_EnableGlobalInt(USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_DisableGlobalInt(USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_SetCurrentMode(USB_OTG_GlobalTypeDef *USBx , USB_OTG_ModeTypeDef mode); +HAL_StatusTypeDef USB_SetDevSpeed(USB_OTG_GlobalTypeDef *USBx , uint8_t speed); +HAL_StatusTypeDef USB_FlushRxFifo (USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_FlushTxFifo (USB_OTG_GlobalTypeDef *USBx, uint32_t num ); +HAL_StatusTypeDef USB_ActivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep); +HAL_StatusTypeDef USB_DeactivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep); +HAL_StatusTypeDef USB_ActivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep); +HAL_StatusTypeDef USB_DeactivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep); +HAL_StatusTypeDef USB_EPStartXfer(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep, uint8_t dma); +HAL_StatusTypeDef USB_EP0StartXfer(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep, uint8_t dma); +HAL_StatusTypeDef USB_WritePacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uint16_t len, uint8_t dma); +void * USB_ReadPacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *dest, uint16_t len); +HAL_StatusTypeDef USB_EPSetStall(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep); +HAL_StatusTypeDef USB_EPClearStall(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep); +HAL_StatusTypeDef USB_SetDevAddress (USB_OTG_GlobalTypeDef *USBx, uint8_t address); +HAL_StatusTypeDef USB_DevConnect (USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_DevDisconnect (USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_StopDevice(USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_ActivateSetup (USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_EP0_OutStart(USB_OTG_GlobalTypeDef *USBx, uint8_t dma, uint8_t *psetup); +uint8_t USB_GetDevSpeed(USB_OTG_GlobalTypeDef *USBx); +uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx); +uint32_t USB_ReadInterrupts (USB_OTG_GlobalTypeDef *USBx); +uint32_t USB_ReadDevAllOutEpInterrupt (USB_OTG_GlobalTypeDef *USBx); +uint32_t USB_ReadDevOutEPInterrupt (USB_OTG_GlobalTypeDef *USBx , uint8_t epnum); +uint32_t USB_ReadDevAllInEpInterrupt (USB_OTG_GlobalTypeDef *USBx); +uint32_t USB_ReadDevInEPInterrupt (USB_OTG_GlobalTypeDef *USBx , uint8_t epnum); +void USB_ClearInterrupts (USB_OTG_GlobalTypeDef *USBx, uint32_t interrupt); + +HAL_StatusTypeDef USB_HostInit (USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg); +HAL_StatusTypeDef USB_InitFSLSPClkSel(USB_OTG_GlobalTypeDef *USBx , uint8_t freq); +HAL_StatusTypeDef USB_ResetPort(USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_DriveVbus (USB_OTG_GlobalTypeDef *USBx, uint8_t state); +uint32_t USB_GetHostSpeed (USB_OTG_GlobalTypeDef *USBx); +uint32_t USB_GetCurrentFrame (USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_HC_Init(USB_OTG_GlobalTypeDef *USBx, + uint8_t ch_num, + uint8_t epnum, + uint8_t dev_address, + uint8_t speed, + uint8_t ep_type, + uint16_t mps); +HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma); +uint32_t USB_HC_ReadInterrupt (USB_OTG_GlobalTypeDef *USBx); +HAL_StatusTypeDef USB_HC_Halt(USB_OTG_GlobalTypeDef *USBx , uint8_t hc_num); +HAL_StatusTypeDef USB_DoPing(USB_OTG_GlobalTypeDef *USBx , uint8_t ch_num); +HAL_StatusTypeDef USB_StopHost(USB_OTG_GlobalTypeDef *USBx); + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __STM32H7xx_LL_USB_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Release_Notes.html b/system/Drivers/STM32H7xx_HAL_Driver/Release_Notes.html new file mode 100644 index 0000000000..d0c78665cf --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Release_Notes.html @@ -0,0 +1,839 @@ + + + + + + + + + Release Notes for STM32H7xx HAL Drivers + + + + + + + + + +
+

 

+
+ + + + + + +
+ + + + + + + + + +
+

Back to Release + page

+
+

Release +Notes + for STM32H7xx HAL Drivers

+

Copyright +2017 + STMicroelectronics

+

+

The hardware +abstraction layer (HAL) provides low level drivers and the hardware +interfacing methods to interact with upper layer (application, +libraries and stacks).  It includes a complete set of ready-to-use +APIs, that are feature-oriented instead of IP-Oriented to simplify user +application development

+


+

+ +
+

 

+ + + + + + + + + +
+

Update + History

+

V1.3.0 + / 29-June-2018

+ + +

Main + Changes

+ + +
  • Updates to fix known defects on HAL Cortex, HAL RCC and HAL SDMMC drivers.
  • HAL Cortex: +Driver update to support 16 MPU regions instead of 8. User can now +select an MPU regions from MPU_REGION_NUMBER0 to MPU_REGION_NUMBER15.
  • + +

    HAL RCC : Update and rework HAL_RCC_PeriphCLKConfig +function in order to support consecutive configurations for several +peripherals using PLL2 and PLL3. To do so first the given PLL is stopped, then +the given divider is updated, the given PLL  clock output divider is +enabled and finally the given PLL is enabled.

  • HAL SDMMC: Fix and enhancements to support high speed mode.

V1.2.0 + / 29-December-2017

+ + +

Main + Changes

+ + +
    +
  • General + updates to fix known defects and enhancements + implementation.
  • HAL SPI: Driver reworked to fix critical issues.
  • HAL: Update HAL Tick implementation.
  • +
+

V1.1.0 + / 31-August-2017

+

Main + Changes

+
    +
  • General + updates to fix known defects and enhancements + implementation.
  • +
  • HAL + FLASH: Add Mass Erase for both banks.
  • +
  • HAL + RCC:
    +
  • +
      +
    • Update + RCC_PeriphCLKInitTypeDef + structure for more IP clock selection + flexibility.
    • +
    • Adjust + PLL fractional computation.
    • +
    +
  • HAL + SPDIFRX: Add symbol clock generation.
    +
  • +
+

V1.0.0 + / 21-April-2017

+

Main + Changes

+
    +
  • First + official release for + STM32H743xx/753xx devices
  • +
+ +

License

+
+
Redistribution +and + use in source and binary forms, with or without + modification, are permitted provided that the + following conditions are met:
+
+
    +
  1. Redistributions +of + source code must retain the above copyright + notice, this list of conditions and the + following disclaimer.
  2. +
  3. Redistributions +in + binary form must reproduce the above + copyright notice, this list of conditions + and the following disclaimer in the +documentation + and/or other materials provided with the + distribution.
  4. +
  5. Neither + the name of STMicroelectronics nor the names + of its contributors may be used to endorse + or promote products derived
    +
  6. +
+        +from + this software without specific prior written + permission.
+
+ THIS +SOFTWARE + IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR +PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ +
+
+

For +complete + documentation on STM32 Microcontrollers visit www.st.com/STM32

+

+
+

+
+
+

 

+
+ \ No newline at end of file diff --git a/system/Drivers/STM32H7xx_HAL_Driver/STM32H753xx_User_Manual.chm b/system/Drivers/STM32H7xx_HAL_Driver/STM32H753xx_User_Manual.chm new file mode 100644 index 0000000000000000000000000000000000000000..b3bb006e7f2f16e140bb84af6e6bee528d70f9d7 GIT binary patch literal 16852208 zcmb4M2V9iL5(f)5ut#G{j4dXyi!~ZWijvUeu*Z-S4n0GYVmI-l*g;Vg?hd%4NV8(W z-ebpJ6HDwRcB4^ad%NGa{qFQ0??>{&_n$4ZGqW?Z%`-sdQQpqZ?q~384}LcuShe4= zf}LH>xAs$uryQ@91c2YF@J}`E?8PRFnMQ0sTM|z_%*xo2vr+ zJ$?GC>^B|If4^GS37}QOQ~~bZcGBH?+0NiU1AJWpJs>Wdy5=^d4)FE!bXD1JOj$cM zW33TJ=JqxBviL-r_zXbI2vfsGkw%6jK4xpAHo<45ALsa%92UfO|ysEWt z;o%t)qxDv6!|m7K-x?@AdEBH*`xd_azW4M|1%N*lG+o^1llCo!3~`B$jtJ7KW3=Nn zUfS?qqG6AkSp47@6%nb4ikSqd8&{|WF+XS~O^ApJCWQ6O{@5=dN}~a-S~WTT{%S9| zMvll$9iz5izwV01`b*Ar&8WTAk@oBV-ZojfTdslGN2WdbQ=8UkuMQ87h*8IAg4>OW z2@ADfx;MXf+}>VQ+K&nfjBXbhKH9$E-s5tKE>7)(LeZs`w+$AWeN2iXckaY>| zQ^qJ1ojY~!+M#oIO-R?y!QDnVcMJ+qt9x|p(5++FjvX|bE|{V;sdxO0_6kYYuE8N4 zojY`M?j8)09YVUPM`?n)cIcpX)`SFi>V_*>QeS$}N+Aj99@43Ek1icM2aO8p6x5|- z$8KGEbO9~Xbm|yYgS0L_95C(!l{4uOpf2xxJLVs*zlkjZA3Wc;K8@O?su+B{~Xw1V%JWn z&4=zrTnQJxbw=L~9~vnYjT1gPqmO0Je58fdg^yj($D=cT{C9-#ttR$Kw^K7)<@OQ21>tYS znn#_4Z+P5J>+ApbmGDi2=+30}-6Yl*g1;U8>Ow7^u3HE6?QBs`>1rk6BNoT=b6g4= z2;cA+o?kOu%61Vx;z9i5bR+4YSSlXG3z^NNRH6Uf@E~3+QLpYLl!^!O;uTrxAbi7PczMgnoS)fmuE2>~OV$B>?8pmE~2X;!2hfm{C{H){+*su!O+ex^}0_zvC?8z zjlB&@qbvb1^KQJUcDJo10OsJ$o86^LUX~D;kGJ+$@!Vh2rV%N?RLS0$`zd`mTA7+7bZE#6Q^;a>hHg9~~MoN*x-FjM0n4ddUw0 zYU95`bwa$&PkcHyew{1#32`-lc0t=)cH9@l&HOn@ZR6JV;65QX=Fi(1lJKS?_X#Og ze#+Kg5*L2QeL|eeUvliL#51F~Pl#vv8B4244=Zt>5V!KP7S+xz<*5*#@^>AKnfrPe zM};_)e`K%s+wR;Kqz(B;_f(Yf+__Ik5Au)Q{yy%0AMO*YtxqmCBjFYcIde3JQh)Z2pMTVE&6 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ɗ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

d&pqt{l3A zPW{o}ujAuT`}n+AotK}houSRp=+$Uv+WGyQyHiilO?zwOv7gJz_SXA(*lGEtDQg(~ zfv}BFm^4H_I4h~*H)TJKYaa!~uShicxR1T67?V*P>%GL{i92pnp3jrmDBthyH@S1+ zGR)f}*Zg+A3SRy_I<LJej%AU*Av!@*L!41B^S}B)TAqGQzE|ezXA8fm5j{G~H zQ!k%0rJGad=GmDH8^GcQN8<|F*YwxM&)DCt2FsAYrV|JJwfXNT?Be?Lr@upXer>`( znuPDXsiCKxhpXM7?nk;{kILcpeEK*oKA^IxVfA+;uB_~vEI35bjMwj&F`f9Ny($yU zq+){GuafS5X6(^>-q!^G#I%+$rl&3J){Mls7Yh?A{v?f2#2FM}8v1o7~L;?)_xE9>OV z?`aIda<5WYJZKYk-S?w;?*PyGT7ip|?v$gMuu0`smihPZ&}|McU?n)P!q-8r39@lw zZKsxs0TY{46%SYU9<_i4?e8q`q9gwG!9x-m^(x4yB2q1zTlr=Pixbe z*v{8eZ>R-%h$As)RdRgKA}@pw8Jcuu<7y=d*d1sWzx9#UA0~+-Ft+f{Y30-zh8%cRArM(=F2!vDC}WLahpxCodvX_mG?&*MS}Q z;7a{5!lorW-5n=@M&a3=-2+AX#LqrcL0|4iOi)5i_8zI;!7{Hevk$AtPmJ$nlvHph zsEO87=+0{CQfFi806Y;NS%@AoWc+j$+}Zq%#R*kan@aUt%*(HlM$*k6y5& zTes~TZ1^H0D&fG>;EM*mu3}=WG|TBily3yf`_lL1IL+IQCj`NbmNAC#s?H>f^$u>N zgcN0TaQEI84IY^r-9zLxnXeajz++H>9r(z*jKZtZ*6?T=FYNDj8jGqe5G>tsSu^0a%%ehn-Us>on*?z!QX&MxvNh6E%x-ZA>a7n zgpal%jR$;z*m@93fM5O|FJ#((a-2G}>haIQA)zJ0JLp$H*lho{G|6@D6 zdf9uwwl9r)7*>XJ-Z0O&tz!hMyd#fj=ZrgeoP;fvrOyzN_4LH)BeH@7nS}S>1`F>g zf&018S^UB&e^~`~@BH#kf2*^w^iL42Ir=XHU9Sv(dB!&mNlZzIOlh zX4I27DHXV~M-~9%mNCpWTWna768~wZnqsN-Jyaf4zS3DZ=K(Wos zXK_=)*o{vQCe7FB|K)STdv%}NXJM6^f%;cEW`$}-B`agASQM+*h-b2a?q#WEK%4!u$>uZ=Q@TT+;KS52AB zy8T*f?0gmK9#>?^h6UP9m0RC(FkZ*tQkVW4C({j-L6#oj=+C|Is~~Kl%oV>v!)n@Ba-QzC1&BVRt<&{+zzq*hwxH z41QyXw#679U#xb3k&V81j>-OPZU-eRgL*q6Tww-+HkYW7!p6-2qma2heKU<;U zncTOsiHrEPX9Y7J7_K+T7G`ee+9%!1!ZTx*Dv=z2qiw<7MkZDT7@Ij>Odft9qS)=> zQEcwGeBCFMh2kkjWepUcWP%oySs_Jcek$ZSpS}hSW0p^dVe*52cyConxWko;rd&{Q zFeb?-3o5JR*XfFnb?lN~2&tyGhVk3*yVz(PQ2hbBz2_*jU0Tcf*uJl?GvTcL$gc9T z1pWSvUjL{5-R=&X?ziLGKw}a!yGJnM(~>d-Xf4YB`UDqMLFF{%NCN*$rAQ?|d zqEckxQj#u*B8#Ngk*lD+BtV(g;Kil1nF$I_jfCZIfH)pvFgmks;t}B{Q57-(c(^?VkWX7hMGC~SsDtu*A za&l_k#(J9)h~Cn-O4fE-bPN|xElX6UxVAPVOcM&wKK^X{*-^V`F&0eMcrQ#oMdi_G>$LRP0I?y5l1l;SP?V|NwkD0FyXb%r!nISP%8^qMCSgpro@-zU zNjXxC6~1eonggX!&JdG8>JD)ryKG#DxhLPg5?nxJwdI?rq6EZ3&;+Dn=Go*BY%vB(t`E!*+MlgyI3ZF!%xESZo-Rt3?zBC1L)v*-xVKbw*+cR zmD(Aj;Kc|FFSIPAhOIHIQ%7_k2Lxvd+8A3&01=ZYCzky?vXC0K#jr{phU90aVgMK8 z5xNsLG^Lv3n-hXS3XMgpC>V{(O9oD1)1)l86Q zGEJsM0LJl{>zNH(Vpyb(wp1}SW>b8ymh3PLNpcBFT)}Oq*b2jHbrgmwoyAn}+=!F+ z_SjH^M5bxr`i>Rbj9ib&0d$HkmJsYf5lXcg2u*lA5zL0IF|1QZK_}ow#hw^WqB-Ec zJE@rod5W}Cu=R%3>L}$<0!lvV0SSnU`Jhg{xp{gB$QPSoUR%zsb~^_xWC2MUlOkZ} z>#wW1lxdtVtt@7TyBH9}5-Hh}aw7<1CoL#91YL2xmz0If)-9{o$yuVA78@OtCKMme z+Fj+K6GFZgd+fTh;T~ZCh^b;^2?;7S%|N(j!=*zfVa%;(tcI>J#pKAM0;mNmlTA%1 zYbd+HK?L6{5Q@RIOGQCibZ=vv6>9}5?*J#YaWvqpLsw1Qni$LEpd=~jQArvg$=S5b z%Bx|D4O?SaiienT*u0^~=pR;?#pQX8@IA#i^J&cym1#pam)wq|6E8JDOo<03s0L2X zgoCV^!n%73Ef?a8GBea%Ed=CpF!&*1S>18%0|{V&Ea#EUObAobkg-Yk<11iYg0%oh zJ4_ggAXqsiA}Z%5Cdr9BmFMiR6vLq6qQR~87x05Yg*6VPlb8^i_((jXhwdA=v?wK| z82~b+%{FYv&Iv*j8aci^`+h-D$)VRBy6ogar{o*?DFqB0x(`<{h?4w9yaUVsc|sFV%FxNa*mv z&{RT+bSush&KO)z&p8s$fU9=d6ss!E2`MPGD(?typ>iky zb=m^N*i-JYn+a;r3~^1~Y;sxhC-PRF*yI$d3w5D2n@>U>Gh$$rDd;wH61j31uA!T? zJ#<3OwpdHN^uAEK0edHNYeuFRzeyMraE(I2mWj(&7i$Eq#N?&gVnn3&<99`C_s|C^ zcQrOvq=}Bw6zR!caW&tZrp+{{o2KreA#|7{W}&*2Qcm*hns~?DIfDgzM$^920BJy$ zzoHPTrx6BKW8p3ky*MPvQW3Ut?;WDsH9d4W(M~~{lh_1Axd(%2LYaKeH}{*rqMcp^ zVde`l_e)E5)+39UCKDJE&14QHH>Qny=q9DTr4`eitqaruVx(XVIW19(d#rCMA?Qg# znFbrZiB$6)W<%>LW>n-w{`b(5I7!$tv6@2`GN6%#CJe?rf`i?y`?JZll_A}&m})De zR1rOjaJke3x|sx+&jS*uOcK|udqg1GFEO!6K^EiI1Bif?Gm8+@Mm=_<8Y&y}k*^|i; z%6(ri2)hZ8FZA}~Z&=L%svdEqdAt5#=j8n--3GhYOT?&K>){+NM9EO^5FeD$o z0rt|9gR?n5lER?^Cu*{^9?d8Sjh@H|Vb{26F2~nRgvQC)M3|_6_9w+b10u|9 zf|;6+Vd0Wx6R4%UPy4rg?*|;YG?VhP7)?Qc+z-QN@r2(}6S;W+-LgJ`WOqmofHCsE$1x+b;=mIjeDTOXilcA-ZsmbwI)15C`rHh3xUJ7B<M`HwfS?Vo2|8QQCO_Sw0RDdGzj>}$*(}obT+9vy24+j zM?tz+@rk8KCPfKSYV{)EB{}htufHX{U6Q`*aLITgQ<^mAo=!atY8K3rh!Ke<95so{ zn;+@7mXge{Ng0(`gw2OqF5lS_H*QM06Bb@0{D;1W<|<2*UvQq0<~5;z{7nDzhkXs_ z%}e@e?|bjLIw7cn>CAN1VFnto}pq~7?gb8hK zr6y5gXao{B;-(Ep5`Q88W((@Z{M@%ZM)Lc3M6rBV@Bf`ttv|mho!`3KPxd{tneg+n z9U%GUmYLb?7BNvKHDF9y69>rA=Q^F8eD(i7tXrLQ0#~PkkqHfqlWd?KME5gzWYZz7 z7si*}Q15}GUZKC==`-ajGv0sC-Os+jcmManleKhoH7Yqx3f>>+HSYe`ug)GezEN>a z1jN8XrW5B-LWELc7Y3(@24={lrfc5D7I6z#!2O5a zldry~li;_8Ue)LFB>+GW5CQ-M05fC*HULm>WzLj_fXe6IX10Ia(2mesKgCm!9M_X9 zsf7T% zMz^)Kwq=)ntux3b^tAHLf=cs$&ZfVQ$hhKGw1lD++*2Xdpy{wub0)>rM;aY9x8Vjc zv7QT0cHbjxT1f`hGY7W;iA_tm8=vnabg{v%UBaKOv7ZRY2N}z;{Tj)2&=s(&(bR+G zF$_H+WHUY<-;tyH5y;u|Rvl}j4+wWzZY05>16ypOOKhboV7#y0YQuH0Oeida}En zp=Lg0b47i2Lt&}1+oTNY4>2`rjk}GZw(N+GMPdVvwHqPZn*nxsoBT@?KDXkxQB-&Q zG!!&R=CKf4a+FQ!xQN&T?)EX3oPonwf1aT{oqvvcV_Ws}=en*lZe@~YyOEx>3 zv((G8(ff4I-kmq-?<2A-#8}4-_#_QWwJJg4Me0JhZdU63^t(rgwmGMKdE<-@QJsw6 z?=A$?c`k=|DBD1>t;-dXk;x78{-7_0RG0OvX#!kr>h}MLzfWV)bClZfKDU}zJks5z zo~bW3OK+bcs)ps98YT-_M(Ee3-ibx4cO7MjE+xTO2J-o-8dto=YDmKg`sd&ULe$K8IHBzsj?|_uOso z{Y1AwGp5(YJK8h#gcgc}z)=ouWnA*1Zm(NjOm%L|f6r3#DaD+z&!=vx5qx?jaJ(o0 z|9nxs2-&Z(lhZGp$Z1&k^FHE|D`BM+NsD^%5mX)bWnL^KdhqZs)dni0V zVuH3hP|0;o>%W0T6P|9N=(IcH?vxYpF?jQ6^bz)uixIB^(cESs8|LKHZd>oL-=MCc ziBXTAMAQZd*dW_d9-ETIyL7Kir&LdqND(;bj^tyH*?ZE(UfS3^K4XKztw&u^ixu!B zdwFd1O-)r7R-Z%yU>fi2W&q<}84@wny|?89OyQg59~HbBMQwij5pX=`-5^(vU4yB- zD*Infb3)4)=e{!UhCfBmXyMI?8dd1Z%?ZZv``mDiW%~5bJk?jt z_Bj6?cU{a8-rG{=4m5HryQk5dXP?@Oz5m(E(Gz0G!C(p85rhDBXI~aQd}MmUpdWS{ zcngY$jxnc~q2$TX(hQ>B7Lvne?!xmc<}(7|roSb&&=^4F^FSLxNBD3JdNwYNPBbbV zZWyW0=!~_VslAV6Z$dfn;d)7P5FzmRv2Vnp!lO}0Nxzkk6B4zVyv-+la`$OGn;h%^ zryPNb+G(0{a_Do2gT-&{IjlQFZL1cZ7x-<#o)2)|gL=n!JevFHWU_Ht>+&?S^Mh!L z#T{;@JJeLSkCf#^cGy@SpH`8tyb+|g(D0Wk<^4TQx#773Kd*Ep?0Pltto_CP@+Yt@ z^ns`SLaOq3ra|;4x-h6*P+ZWq_UP73Q-;@Jv!Y{X6YBc0(UZ4InRkfzSXHyMV!3vE zv!T5a9Sc5G`7p#^__zP1$4`^cE2FosjD~9Po->Z~eSQuZI$DS+)kh?wJqX>pkf8c?+^j^rxN7k@l+R+un7$>)kDV z{#HIFmt&Pa|M+XIjD()&zK)4=S5D7&m(JAPU*Y#|Su_ek9kG%E0&D}&W`FjvBVgXX z$Qh6m+?|_PUm1^V1Y}F~I#4ER-M7l@>o$)TTgDaFBERq!*{Z72a_aO;NmT2Dr$L$| zL0S{1_kPIosb_RvSa^)n7axK5SL;_0>x`>njPZ$BguM7sWXD%Fz5_xQwl?9rHu%@G z1vxVKTvFeud@Em-JLSsd=6~h6-OSP@@EYdMrN4i(ruXZ3HTO<$Ya9Uvv9BClS|$dp zZEJNhZ6|M9>~8+JTwgJfz=l)5g~VL~6F>(-DHWqotg96+%7trFjQA;(*O} z$K2bOAR9@i9P;3M*tnkTOmixhT6$?1f9cfv=((A;U!9Fgp9B8S%TdEG7yJw=9=Y@1 z5>Ht+7TWU)9Q?Q`M4Z-Z6CIrw*txN#p6L)T(vnIVp`v&ulw9q;T$6p zqw*-uuYiKp*ZrUImGmVXkKtmaA-;XAHVLm9=7qJ@Gj{Lo{k;qx|2-87*OVY# zs}z94)Ovh36xm)ZN?|1Jp3^I94N9$`y_~N6JstN}^{61w#KLv~7J<8c!(mi~1S+*p zwx_Z6&(ik)aHEp0E5Te+-ev*D(k@STp3~qi?D)&D)<3TExjO#VUw^-azb|5HgYLm@ zs`CCh24-xCFc@qN$vMN<*cPT**L&S1A@G32gH42+Kf#ryMKMN7DMvK1nxuO^i^04PRw88 zfwO3t1myTyA|{vuF!KxA1p)PFP14uN1>jgLB%VeqqZt9aTwNFMJ!a|L8Mk=??iPGpWGo>7E6#bnx!O>BhUAXPxeRg~WSg3F6nx zj__Y^hfUQFf)P}jh=v1Taa6DC0s`l?g+903VSo6p3uUj;jQm;mYp+AUo94(cbID zpEqLK9p2sMAAje16ztDO`<;96(Da?UyRmOvUDdk{$&rs2WpHyhtce)0)x@B?9UY0f zd!zi9AO4k{^xOBLle|uDKyGh_z=o;84N)`0zkRSPrfrB@}wzTz9=yS)^=uD^7Sg7L}{lpuEuSry5?N2O=KL#IgK`4(!BBCdpWtkl9UMT zRFExKJN!kBqQ{OE7^kamw(mQeF9+G4gl-R)TTR8PZByI)d4&K14(W&768TI%wy>%R8syFU7orYrTmLW|b{Pc79Y9sY} z9RGMF)uI-2NjWjGpZ}*O$Pyb@`fn$0>-$l?_Az6X`6Agmk>5DEf=m8l0Uzr;u!nOU zgxvNUwAQOLI??qNh8}k&=l@5a4+O}Mo4RD~T@-#^plu|_+uezQuU4=jPQWM(_J;D~ z-h@%24Pd;JfAL<;=>Gg$9hLe-n>#jrQM#3}eE?nrV>;W~&h%&hEknpT`Td>oKVLIB z%iBu18&kV0`8OX=WTWX80SKS%cfojpY^ln7*#;HcDl}H$z5H~JY8}M*MzP85)`#!_ zWd3b#^m_$2TR0Q@Fe^Liq^9sy9^M9h?)gRMOH_eQaYs}+6ZutbLclH8#|MlL21R51 zkLRT4pMEHN#vYmb)_=a*Prz{(>rKf@E&q`ju=?m!*YQP6e&itx{wo(lC;rh^=i~pr z^Bdlo`o%tW`m@Zu{+KXmDd9_Gx6N?yt@VNG>1p?T#+-Ka`w$!}t`Qjo_|m z96KcLcfT%2%3;$%22Z01_x#REpW)=8F7ay{mC=4Yj%?Q*Jk!^uLG<50`*ilB{W%@f zWuLLTTv^Pul|I&4a5l!TJ_-rkq8hXrUFhv*nm1t;aXXsxY0DaqUKIe9} zgee&IRxBwQPwnv|!{!DkY>s#^*ApE4x$4}vA{l5#aR9;p*z;54k|N2*C@u0`@K3t< znhs)gscC*vlq{kdUC(X~e~jm6Hq6D?h}9ilvXClX9D)IWY@&@az%3 z9oOHUt^7Lamq~frc?j^6t#03sSES@1FX_-!-BMW_zbhx@(f{YC1g?j_lCC5lf10VD z@U}#*<3EnIvaO7mB}@j<7MTwrkVe9w5@o#faxXM0Uvf1xSjsE*SmTBBPpZWtJ61Oq z6iX{tU5A*U+5NmRs{`0XkxLja7yO8F@BP{zLSZm^)nZOv!&&%kF|R+r*@MGq4Tr5W z&l7CqJq5{cr3OaWx3NP}_iYEPfvtvNxh(uWVMeuDD$UEh;y?LPB4Akr-|g^~&6F=y ziTMLUXV`%?KUCC<>4meZ-Ey=Fy?tD?m@TLl_%}r~t>!lm-p9u8Q(`7B!rGe03Xq8H ze#YPSs4sUe{K!W=(~DC0TqXf*1`vhfVoOi|5NOpEWKG}I&Mg*a=;dZ&|5Wcq9adZc zxI)w|ms!d6q7Eo~Ft;EcF+yVBb^*@M{OH2|&PJY7*SFTsh}mzI9o6vtq0CbY`w@z(URClDZ^YxJ>NrG2kM)Vi~=n1s8b*joE|A^E@Ku+Dl`R^dG}$4EJs?N}Q6_u4}GOLDY*FE-NXfh~_qRYy4KPP@Ru{u);*Vp{5j@I06<3 z<*d1DN3@ieBFN35u={6mc&q2pCef-k1WGLxl?XKe7_cI|WCT&iIW@ojoNo8=9m#>* zf+OPk_Gqy3WU{ofa#*R< zq07nT%y;Oj+>lbn7(G~k@@l~Vtk4mw4!;(Ia%!jE@Atx~+%5%3E{sVlTggIJ3ao-3 zf+JS};i8r-8l_J4p>ZjC{{7QOo3QrY&~$GofqX!PRA!`JLm1&BvN8c?cu&8dwQ;B9 zFE4W3QeN8gmvYvb%XkVcE!v8UEaphFS1W^h5s;?yn|@(G-gcWDGt9gj%HpJA(iS5p zwo!kG(oOj;$r+psG!kuu&&d2ItL8 z@Q$K_3p>_PA{N<#zy(DJ#m-w(p+TOe3V)BP`B)veQp>#xLIq8i5-KKn1~P?vTwhv; z33x=w+ACz5X<5Lj%upCaE+oS$lRF1nlseSke}xKEG6YgGvdmKWA|j|UXhG~EYden& zy-&Wop=Duf=lba|mfdJDay2C&%S3dCR)V2>!jRN8>Qjhj_%3uG-U$CYkK-#B?HKXB zRN$lu7NI<(tU&-W;lY@8ZXNZVR|sM)J)8`k{P+o>%^u9K*Vgf>cx*~cmXSNrFrr)H z3PD2FzMdXWmOC5&L*0SQ&rYR@+c@-a>6#LBZ~&peQN#{$J%}=sFHosyYw9FYgKSQP zWQ>dw!H|$;3}=8b4yW?pxugO5W-KNgr=f# z7cHl;FtCJ=IwtlEP_;}~l+*z?LOQ76XyCH(o7z*s8-Pp>l){!#EWkKY2ly67qQo%K zE^3E&ubLo$^{yQji&27<)Wl6NBa6q2ObPVy$=m%_K0keiQUU44VoOKC{s~VhHMMlL zqN^bZPd6pLgYaq73Sw~FiA@p4j~}euTaJb22nHwRN(t_BFP|#p$=xX=#_jB1;9b-! zT8(-fD0jptNgrb~(*lpFC-TA>+=Ko^?LAnhBoaXP?-N&(7^9LfCoyDqgm{Ke^#X5> znvg7uFN%pOTM(W&5lbpLc~WcVSDyi}t^c979E%{LLS3r=zR-SIvz{OTw26EmOgXcQ zEesZne3@lJIH)IAKLp-!^e}SRiwoGOp8)b5IcoA184tk_cB}XgTc`5fo6=q?k-l7m z@x1%2dRnN}=TN4>L3xq#K&FX;ngbPwH&NVI7a8$58Y%wFExC9?E0KM4prWX2ru5#g zk-Lrk+I&*t-dezIQkYAXLEk%Trv9&G&5`nDIEnx%UPzSg3C?K)c!pXTVb@(F&WsCR z+e?%}1V9PmFd*mw@&PD~oZWH_2>jPyi#MZ!;Vi#C8~zKL(p)M@zOxz3?<+1j^5>Fe z+2VW|rX=$q`No8dB6LuzJ;gCWe0t`A{c^m#ik5)M^QZwg<*T(4pdgT-nBsx6waRSp%M2DgE0IZhp zmT1%Tv52IA#inIyVO2}b+9N8&r9t;bxYmi({-|)5s-uEYVLX|nAgY}}B5BGY?vo{6 z#9GjXcv_|ABvII-!aOe}TQ8=hS=-9*fn#KXB?zD=;a3|CkkPTD!a6OQ0Iide@u$+X zI*HMvl#nd%b4*ai;WYL7SaS~|Kry#65W7|KpAIo4JanDC7CY06MPWlRB)~5p5Y9tk7=oj5@bh6pz(ogL?oH(Oqf@RVgl# zYJyS0Jg&(+tmim}a!9(!wW3?JbrV)Ja2wLB1cK%Zpa1VNy2JH)dTS^^Nn7y;mpVZq z&)7jUqcO>=5!`NRp;^MA^vbUd2|jUiC%4)KF*F$0$PBX0QU1WVN@4Uw`#POUd_OCd z6@EswQs-xX=0QrY_V%X2Q_{o6rO-2kf)kuFXDkq-flCm=B}9OF`-1s&f5}oQgt3-j z5=nR|ixLBX53MC(1NH}>>cuKX-X~x6ignr{X?i9xfwd&@jyhDA-xFJaaQ<@UH zTR~oHDE_6?E}9Q$e)0Cr%k#@4y{eTic!Ej~6J?p4R2j!W!ct+SVtA`vWzPq>|J;X; z%A$T#I}RpU0;!$}mBY@m89yla^N$wu_QL$q3Cr;vN@BR0s51w{z>6kv93(p=@-ii@ zQ7ic^|MGBu^P1)z3dzk@T*Rbl7~^X_CrU&-X=5Jzpb}H6yXw(sI$|-Ho+_F=ffivT z`_RdMLIyqki2SUdR%^{o-m|x3r|F;+NIEXgrWp|nDo|}Q8UenHivHGsW$jQwX84d= ztAPzb(41&N%$SrI>OVhZfTzFz{LUZJ=5U#CdOoP#d>KG|rw10q`q+2D4**z@vCxrQ zPzT`RIfR MQ-fQUk=UD;sj5z_`}~MS2jxoGc`#5SNrmC@TQmThynz@+al!W@6K5 z@C3mqB}l=bk-24jN4OjW@oUB|#Lnw`Mb?8E=Xr*Xz%;<10V0HA4na`)6?(%voWBgg z%?n({YUb34zxQYNdRcl@Wg=v(#`q4cs*8wpWF#~&X4F<5-=KQ${tjaJXtR6}8HJRS zDJA1%#mx6WB1$H>g(P2F`+OAf%YjzaN2hxJ;>!@_-Q(VMWx+ksZIT02<`+^@B~(4= zU`-u$VnN(Xja5H7FN5+{+oz5IHwW44z2>_r+ablxfFVS3tS-(nt0vje#33cJ5as&7 zei~oZLCDT9GN=<{(c(}v2|MNhWujs=2Cea5`_5G}Kc}U1?D|LDC9J};Hiv;bfPIHJ zU`bk@V}wpxkXq940o`G=3RXxM>ES$ms)=(R;IEfNYzsw3I3xy57!5XBIx5AHCLF>3 zK&k!#_*Zx(wkDE5LWpxtI@W;-^@AF0L0f{K3hL=YYSl%HY$aHV1g_6UR6;Njh4?bI z2b}BiP0IGf_9Y3ELJg+mS}DdNE0|Ducur*&Vd-(PCDwxDgib8r-6}*%Z6~u|n zNMDS)0u%YOxyTcresNDqSTLA4zwaGu*dg%AFrEW)Pf5j-)b&yh3{!HoNn8i8;T*YH zH0k*ed%4EpV4P%~r(w+4kVp~dO*R8hwG@QS&JLhY)<#zC^V)?Cpdk;Ml|hHgQHQ;SMknUEoQ z+Knz{7^Bn2B_K+u(^S%QkX{m4@wFF82ERNrK6>$gxlpAII^KfG^azrOtOoAIB!VHR zMgM!%IMsto%ZxU(*I3R#8Iy$NpeYgL`U^#hl-#T)PmHSaw^M0*w1iV9B4Ar|pp~BN ztQM3Dm*Z56w>KWm=zMnt)>cKq^jKr$d%SfB7rf1Y>>L$+wg4~?5CQ-M05enrHULl$ zWzW=R0P5%4W^H?+y}-Foj#HaCipd_-^8l9HLRNc?qlPx&+Rx43e}eJ@07NrpLjV8` zPzyi;wel8+V(@Bsmi$VdCB_oE02&|&*zpXp5nw_J2>>rR@jeg9?ERC9%==7&qFm#q zgbuJFI^>kN*o3%o>2ah1aji>>qeZc-ON&c2u0Y0u9&dochyVaH05mfIaBf#k+IFMR zHmH%JAu9vO0d-Ax+ScuzZ?)HL)~ReDF<4>F4>lkywDaAIYCvRyy)O_S^`3zL0sKJu z1s@-mOEvmxGl%}U^}<>j`TrU6q0T>Dd6{n)>3;TDH&egyt-kt)g?G{MrF*+~(%w-k zk6op%^v{nsKJ+Wm-Tw5ehvlniX7g&ZGcgv{XY4bFFYTs6;L#7W@f9Fv; z^`CyLr6={LR(k3_UDl^;Wapf>L%%xt*l&HKM}PgtJ;ae{;J3r4WS8s=gtUc(l+6zR zW3p}f=lRy7<@)I^FYTviiKsvR^V2h_sjszUmC(*dsdF{VDmL6hRG1wxb}({j*;zTrqZZF6lEvT6e&}~z5%|vyMq5qY!+9RQz(xqgb2cXk&x-= zR5x?Pw2!%uZ_v<%{R8{P-PuExL+Z~Pdekdb?%7|j?tr`0KOd`K?SlLG%|yOG^_}u_ zV>9|6!}-*+|Mccv`mhW9H`E?;RSRaI^d~w2pP0mgdw?jE``Lh0Ce#5KRGG7n&?^qpQyLPB~S`n%iM& zDt|AFUdx2>ENylA$>^O6?%Hkn80GVysdlWJl)~P|Dq=-C%jgi*F}T9bjeN?hGUGE8 zDmFdqjCsmr;g+JM(PZ#SQL7-Q2_M6*HgtZX&zAS5D${_(sxWG&ytp4-AC>ofpSp2` z4AbQBW+x#e8R_(EqNtlCgvUo%-ld&2Pn{a_Gn~q7UYXDC_n6=XQQ9=3WnPKd%WU@p zcPjnhn24PA&hC8AbnuPz9T(=(&z69_tsdYd*qoYEPaF+`6U`1f?Q^01oGK1KHJ9c}9-%pQA zPuWjr!o9OaPjB$adQEC5G<2~t>CTS!?)A;q0=?WfKL>r%%;Pk$y(Jv_>Q&fx5+bot zmQC|9Mz52o+nr!fcJr2H>vtuqt14JKl9$-(uDEedtjTr!h)^4I_0{>hG=CkLmC&Ix zskh&WG{0-MZGEPUnxkn0McyTLg50ii+k^RD?VpA}FPld;y9Es3v>mw&v9^C*26w>- z=1##R3H}tf4X(|ZxoMR-$r80b-?$-CQ;f!jU(qf`U}2(bU{9bAi1lgp9?xZz5H+iUHcsZ{0Y&hdAhhnu7KIJu!tKCiyHdwi7O zegt%H11~GOo>eslzh4z&`0~>p=P_-I1e3jHaA`v22^emEC-wTH-4F z(P=8B$M!O}>*485VeT}jf@{CiRr`4)>d~b1nEB$5m`ddzc(~`kK0godQ^9g%i!^bW z=*9)m@IdbUC*HNFsWPX2u8)>dc!s8~c1?wC9x7jSaU$fq zh`v!ANGC$hjjd6-9(zwwS$$1;dH>mQDmP9Rv;GED^}k1D%4W_N!c6wPb`%ULU3`j# z>#e^f=GzHV(WC>3i`u*!`Ut)y2ESoIk;v zqE%I?)I7~)%fU0Fw=~>V&`r!mnQ}DlH+o;T^MX(Fb4@?ii0p`5!b2U_*ARmGtGJ1? zVq}-Mq9NkSeQ~R$VcT{yMQal2F!y?k%k>dTzDWB?uucIgUe6Mj*%gcI9{aQ%nkr^& zWpG=tG4#?M2A87vf9jf!!>A|Pj9!*P3_nw)738(~!Y}mztToF#m7_Ca6E|N8-zs#| z)T`BV=L+}=R^JsWp)rkSTKpL&`j%_sYj>pXk_Xc)oBArgKT5B!6Tc6e zedf$7&UP+faCfbX5t9-wh+va;m-O|%=kc*f&tlU&&2`QOOWl@koWzB?+i#hMP(<7e zOS$?{@i$$I8GA)9f>(JJRyX@fTP;obmI*#1f{I-WkI@iE+<)B#K(foTYdSxsX$%Fn zNam|7Hb%W2_CT}P+qp4zdkW{Q=tcW=wOjn!E8ptvE18DBKkG=~;T-0-Bm*5b4b@~% z^|+&SX}Pjo-IEK3geoSKRjDZtapr9;zFy(Z-Sf<#c=tfKTZu~Rwplq!6-NEq@4~aT znYm%Acve?)7N4n=Je|;=F7t#n7rvf@pnV6JBk00 zQ@G8z=*5eR4bloU?zVLH=twZ&iJ7MXm%Pz$)6!U;%W}Nu1VV6e6TmWkvS;lDff)sQ z7|i8pY9dFcpX7S7ONRV7eJrW{ zjSF5$#NNtpQsdZ|MT)9_irZP&cJ_$esa;Jsx?=rC^6!IO-c&7=>v@CvHrYSKMKiH$ zigz%)BvVuGb1Deo{aji7{Z~@p80?$)=DL1Uu}c5KCt*`K6eOCP$SjJ6m7@rzbf-@( zCOw0N9O1Q!eSvbFSDeqjRh0&)H4u8)?jqKdh)SGY4<9&F@P zFm@y5xoYO-XSdOmon0!UvFFhDa=#Dte5<$c6FvA68#43vi;A?HS{8Vr0Nz;*QmTpBQir*%bd=fU4~OYu@-|~!gs#K@(PILFBx&vKikbJ zHMe=Y2j9qN;!fH;`0DpuNIR0vSK9I=7a7Zv&4O~bo}yQ3WB;zc>YZ>SD$y)^#4V@X z^?niJNSaKMJ6~i*{J}A*Rs*i)wtE9hZIY-er57x&2wM1Wu0bA=q7_+MY$Lb zmD?mjSYL>llU{6`8)=W~7|nUKt8?mCD&}a_)Wf)DYHD-yb?rPX4L8nmP&U_7d#i~L zZe(nKBjTV?+49%dHIHG z1pFL}S9iI6uFp(62&j7C(ts|?FJy^QZqDEKs^>yHU++!~+}wcU=AI1lnWEHwo|&&L z@C-iExkYXg{cL@;RozjBV$s$ju+X?+yEZMfIK{2qNMC}iUDA#22vNY zU7LDc8-I>yaw&MTugj@$;rON3J*C3^;PG{i>+(teZ$#5GtN&m$4^rabyRXb7phL!S z*T-VY%N~~@wl<&mAKV2*n6QmE&{7rRvSj0vf)A1Wa7TohES6=4FNEV}RymCK-@g}Y zk6WDCAmcT6BwbuC?mnzfE&;{gx6PTDkUv$kEp_xzvRK}4L1`?7+U%A0twn{M;#zz| z`QT0~w-x^dhEQDOB+DRt;Jo+|@O5VQV6b$9{w7~+7cyWrPj#;5Pxop=P76QYQPa@F zcVLyKr~x^d9dsxBQ0H94g6t2WY1!S?(62UP5%C%h9Ahpgyur$AlTT3Z4!c6A+YO3h z!#0)TG9ETHzj2wwbIWl6@YWG_q6-rzD0U>&ao>FpV`+lZRE@OX2A2SS^*2zw;$8*g zP*>N9cX8MuM&#Rdo#ivl%k}@fP5sR69Azxy4u*L6K7Uc~!JD$#xeEnpCCM(W0;uEa zQ0D*qDTSWSO2s6hmekZ6@%Q!f*84A@PbsIdN>f;iFtrPmEum?fr6hqAGbj0S6?$K7 zQm8q5p93f~c$mDG__%}k7j^#3f%^38P#JnpF3#v$pOdo{71n=QCDMOSzKr_2zZJ)Kji(!ToX`1^%1Er< zKT|hZHvg};sPP=_ebals^gCzIYEt%3uQN~9kTYl#B|d*9!ohRb-#Jmr_rfu>mPb8+i=fxj~-q7?NknlWZTEf@*#@}{IhWl zp<{FLfC6V98Lb25)6e|6QXRVsC@#-E7PFC&)|$$OOkRQH#M!l6F@_z$U;brEPR($y zm!4XzRUaqOB0jHHxZ}mPmSjD}@Bch~r9&U*rMmJ?f4}U%xD>DC7W(`h@rmnP4|vJ% zyZQdL+EF@|(%hH6Z|Iwe?@NE$cm9cLp?~ua%1v}Hdd*8)V;2|oiNz^Z7c;5J`$}1W z_x@nZXiq=+H%9m^<_295czqwCoHl^HE7PRd zrB|N@g5`Vqeg*-?zqxMt4uitKA=7BktSzI<-hAeb=bK=(fgjxWg%Q;e>hz(Hg3EBm1|_ zf^fpxGiRxqV|xE6B@UEZ)MpFC2n>|Cf$*ynNdOsx7dM)f-5EG z;+}1$un=FX7)^htrr%qx3EVCEuRRfbTe^1~-Rsh(eZE#f2P>>ko6mlLgKObOvwsPW!9H>chO!g4S`2+{9MNRv_gFn_l0Gw zC7%ZWaw_%kyS$#n$R1P79_u;ZvVW0>2rTgy_J><=c5w_LZ#s|ekS^Xm^>sM%r~}lW zTmG@(8$k9%|5p73>r+4JcjF_q-mY))&wm%R+Sf~s#G$O6oG7&T;D42eF1a(Q zer>Z8;H!Nfw)b+2jb$<4SY?X6(m|HFh$Wr5Xdg9UWS4Z#Y|Um6nMcb!%gf=1D%ycE z>JOpI6?0XhK6{^xQ8aEW7?VB8=Fl4W#>o#hkjfKRx}M0EE4~<%&(~jzkq@M-X7sZY zZN4jV!Z2K7Vb9lKUyO3*F7UhRiS96C=fE9W&L6GeBQy*UGFRR+)-)DsewVm^h;}md zM!~PbV>tUhT3s@>kuM=W6Do^8QuZ>7veeH;EKVQY-u#|~GNh)j;lSbl^Cd9iPoDgN zQN%wRTo#|9_H{-WuDl>w`uTDMRz9`LDKDnBk-&pcmQ-QpUhVHom>V@OxZ&^1Y<;uxyl7-D=4uW zpcK*xmeSO>kJ%Mr2Q@k`fv?A!o&2e8ywO z3o|{->}IgQEFkE3mW7cBtLUIU6@*CM8fPoTtigr}pj1Oi#1f5EG)i_{43;1fSU?`$ zxSGV=dBgchQf%^2Xi~@$%-UIKMnXjnKn_d8p10J&coWZs(_^CNJ!F*aE{78^{E@S9{x}OcFjNAQ zGffR09Nek1nvkfWs4(i=eFf(!wq10J1@CSs6aurnQ$wC47%1bgokRpNVC+(BC&kUZ zbvgS=U_y5QNVdchsEEZ1zCmqQz(?Ad60QINn8vr-*-A+p@uIvklTOaSsz-f{g*w4{~SUYw|DK#U+j)`%QIm|`e{ zo1=I%^ONpF8(0X6c+jNKIT^%bqu^6e7BMrW!Ozp9Rj}hi&IXMDJRa*k(Mt@qQks%L z?!;)}^q6Q&(hw7g5YDTVbRwKR##+V@UIAyg4-eLi!10vfeC^YboI z`KtR5{p|oi?$^5G*qrBF-3`rs3lB98bGpAS#y3XjTqq$%S|Kmd3Xx*16akK3R9l0c zG7;=itb$x~FW^#~YA9z}ody!39eB2xz!`glf5VZ))$mWk-53l@##VXIi81yB#u%})!oe;01I&!xpBV~rA&ds#B8f!RCC19ApV zWIU2oVT66@<__Nr{mVy5b2E^K+9oL=39}XlB2Z+k_5e9^W&4)UN)nP3h7e$ti75$e z3gcoRitegUNIkvUI;u994hA0aUkD{6(A+JtKOiB|tHuI7lO-WUe(5igzif1(UB#=ApDp zQsW-V$dEcq(MMv3{)#LXA+_7DO;~9n=1fX0rW#5__J>fUIXVZ18rfrWQNHD{(!9sShZ7B0-o zJ!EU4#*$!MTAafOVG71VvIVoAweE};=Bijp*GVt&l*BPco|7g=RxVNo z!HKRiGIId#K#*I8Bo@lqGj46W&s~_7T44IBz5#@DHqq2B!I4&~VIcCyeH1Xn&hnr`fSuptKTuVO1Gn8y3M32ML;)*f2Lw{`;d{gxn_%`!H zkAYhDaHAyX!PI(Ofy)?7G&ej`1Vm>TYk1O_7#Km86DfP530g@fU?YNP#r-@;TRGC{ zNF+go&c=zHJFe3O3Q(r-YSdlMyp3K3PGVsLO0bz8Jd@{zj2M(y_P11g15tqH#DK>( z*c+WnQ!-0qnjEOoB$zR=(4~@gx$X>m6FBJuvIzkDOG3`Q7~OjH{JhC7O;MU^>W%+ z6h*=i3+^?ZP)JE!G8&uqlg4v_?_74I0|Cc21hEO^TkA=Vi5lKIX2&z8iRNZ% z$8yO@O!5SS258o6A=GI%>lBi9_uM9nBu2^$je zRqJC7P5RpdWtEf$U-c|xkBfcch)ZI~!yOeiPmy~BY%oiXQroB_9_;R^xTHulbpp|>1Ww}Chzy#U z1>>%{r15oNymRx3S0mxgJRJvd%qumWX(m}wty>9euL+M^g~7fqK}s-op5y_8Z!PVV zu_Kj?o$UZgK(@a=7WMpQBMDFfvvg&R*!RWa`=2>30j+ao zWZ>U{y%%7}1V{krE@HvfJ#p=2W8XUgEwsq%BG2D?d}mFCUNV(|cdK-_8EFV-u_8Pw z^BT=D);p221|sqWLaD{`k)&%DQzI0f48bKl55?;)Ht zG{tkz;B~le#Mg+zx)5yLC(i$X`)2t^79`XGC};&+1*B*)O|0P|L$7$^P7%cZMtI>s zGl>RWtW?zk1g!-n0QufFKrQ;8*H3j~qk}Hdp^xO%mEv!`Zbq$K|9_8N-OsFb-v;(> zy1)O;YQizdkxD?+AhfOK(s3#RBw@9{(r)%sLQSneF_7;w%$3QUtjPyK+%urW zl^)b5}Sv&IbyE0x1QQb8Wz6kV;CzgI7r$^0)c?^JVreEm->b z_r5M)ou}S+`-eZ1oCwCE9}}G>RExt#SOO#x3S(nlq~kXEMw-O45kizS5vKjs2@qV8 zDuZ1wxM3aET$;Q3ZG(9NGAY*U4xJ=?Ok%Y_^w{=DwbpyuZg2~hYl;G1#X!l(A`o7R zO2FUNIv{UVk5Zvf>DDdv2lo9f+LW`OY#PoJ2Kbf*nr~>0EfgC66_KKZMwPcBPMAf45tJ_9D9M1mpdU7-gTWoYQlPjIM6)NWT2XotZ|@QA=u{v?4->?y16w2 zYoO3pNPBg{FUlDfIA{XCYn2|SDlq@?TRgbS@+2+PFODFS7@zz&UJ2S>l z7w?Vy(y}nf2p11JfNZXwM>r5Ob-8k5>gzOX3duX6Ps3A48%!JPz%Ilg`l{q z)O9t386)QollMkp(2|ms&xn~-bdUr{o^AdWRcesCG=DKd&pL!6NemifGe=@!tw7|6Ed;vHQR}MdSWS%(5^DgsCPk70 zC7d@4QW*Q}wDc!!OeTpWsNM)hj7zMjOjL5MU(GPYIIFSrsnwgKOy{WBxIeL&ATXp< z$fqWx$S7jL7sjxiO^wiO8$78bW3LcK7zSz2w46~Tosx#+-n8Ez_+99*`@h*+|NqW% z+|K}j5D)?Y1OP)s126z!Z&X|P>dnHTAVkH>(){pCqV7t;HlE z%&h;ulz#va87U*80Js1Hy=T4P&y#YO87c^${OV5!>VyaU3P=F$K#s`-mGDVylWg?f zNBChQ{q4TC_Mcnk?Cm;$R$+qi8?Q7~L&U6(I!+qMRdliAr%9#k?09LQ8QHQlfGJMG zM*si_007O%02ZMEyZ^i0_Bz-|jE=wCek=;Q~1FzT9>`%6IOZBL~rm zpBZH(vf1HasG!YO$gyVG0jIl7o9%&_rBI{^W8!n~4}Tc`oS$17lY`gsAID^+dF1j*6OZtf{&>1+d~a6{H z-#VNy|4)e{HQ`h9)5%Ng(Wl;%6n*3L8&|hgKNI|=Tupac)6z5rx6*)|zUi1|&mAL& zJ2UY2PJBNGF9Urmi4uuGsXD&jLM8Pn4@bnde394F;%Rn2H$X1JGatMhz;}fZgm!MN~ls^Hh9k?K0N_OMBtq{4TZ{^}B- zY^p?R#(uE0r<#~EsqwWqQz$pn*lm&M{<8in6o!h22$Z#3nj6h`W5oJ3&Y*<&c3hF1 zzcfv(U_i~2yds*R6!uhx%?@QyD5KF466mt2?Q83*H=tEs?l1kBeG||7TDzaIS=Mxa z*s}Vy;OGP~EE5Nnw&>6by|FP=2Q+-wsI=6uHWXTfO*gz46%?o}rpT{9S16dnB{Ex^ z)|fwb`zBWu&tZz^>FBXsC!l|;DS$9r<*J|=9h!2tPF=v2iqk%4RE za}#YyR#APT$rjoihtYK4;qjOJ9+qYp(LN5=<~dC1xCFkIx6xlguQ$sF#la4*dsvpK z*&`m@HkXJlxpdy3J)lD%=+q|rtdOeh?R50)RjS?4w#q-=!hqct>nfkI|gzuN$8u)Uq$y-_Fx(Q0G zr1-b)93v$|cKr<^bG7#QCZf5r(1%+O2fXL&O(%?+IYow6rxia*HKK`1`rgleNaPRS z*emuISEI)RrZzpbF11KAoyz8rP;A<6N(yMsjSRrf=jx_(J=V;n`ULB-cPr#$^LTzg zdn16x>&gihB;oY*fV=CdE&XDS#tsP5pu=v3MXp!36ceF+KH?9SZqyN!+S=JDyW#n;UjlWI9SujEO{TSpR#*U^Bo9#Ye`>q6?b+xm|0!0ip zpl!#=nMhUSw%*ZWZ7(NwCikZBlb2QK<0nosm1&)FWHYgS-tGX+5##ciX1&pF*^xUM z9s!N><;JI7&hvQmIh;~ILJk28uT~xvN2N(S!zu)IkiM5#k8DwbmDQb>KaxC*B3W#} zG+T^HMqMD3M8&+&hrsO38TR7}O0F?WoVfg-vTzdka(?A>&x~w@mIf5Y&Fuy`UrkJI zT56s+)#B2>>YkG0YG$QB=_9MujcVzO*ZqpJB)b0g=d`cmU7nkzsQB+WkD<>nh!f{* zl(*p-CrO!CVwk>4Z=IyEaXQj3a)mHo zQuL1G*}>$?E)KGdq<$S;sAfv>(CZYypnwbfrDU=yY9sL>%6qPpS_{U8`?-Et!+qT{v&lm zoRnwCU#wCG#Ad0;{{@mHA2lFxe7{#@zpOC81CeM zwwXFw7D*4CO^IaAHY4ZM$1bi+(cWI{E_PY_jh1~&ykk6(lgZ*>&ofU?+o$SW;TvH& zpUN07qPFYGuV25-ru*d4p!vpR8pg3J(oSH-*yK;HP3~rb0pZnnDYKlVWS|lKEbgW< z?NYlz1`%L#IhyN*g-TL~RHpMwwWG7ljkovDk>yfq=&h7_61TGqufN%GI-wgXsJPe4 zq2#C_AJnt7$&6|i<WeF9Ci_=6K3UaG4(2z>BiUOu>ojFAPd zUWxxh34oS!P7{kA+N^&c~?mKl5fI zlje`9pZG&I=QuDM>9ihOSNF@j5z4~^;8MD4JYm99xa@eK~IWK6UcjBUgfM+dZ?8e zz)r&6OhMU3?u|&!(FJ4YZvkd2<);=4@AH46H#0XEJ0Bw(7c-N2;AZM%NlHs>1t z#TG(yGd5ROs#vU5lFNxGkjTL7b)O_Un&}MOPY#Y?9egegi%YVCSGU;@XAG3s0&pZ*KZ)Wg$ zqI}}y;AM^?xFt?CzW!VzDsrv0V`1dnpYqO{MkCi8vQ5TyXc-mI6QscCq;`D#?+tA7!CtYP8Lo zUfbf?_;}X|UEKgaPtcazeZ5yuzm7Z`?gI%Ir@XNEaN`c^XS;Enf2w^O;GL@Q3z0Ec z4_U{WfXP@|4K6aUvF7hL(GiEzyPoK}WLwgd42KxXGfERE0$tC9lHghi+V>UyJqNpG zZ)y%2aO>n0s!&gdf+8q#J9ICs&78t#PKANIkYVBNJK{bk0^jl~C+5P>O0q0;Ut3hD z0ny8zH*EW$o?ie1U^9JL-%nt+TLY(nFF!XkM?1ik9ngLbtfBtxcUGFB52?BOYrb3e z59^L~HLu&gGdrcgl!M>(EiZ5=VzNj&Sk|esmu>FrG<6yp1aHo{q4$(Z^ahFLM<(zQAy=G_ntF$y&SJ`2}OWojl#8Dn4axd~9XvqO%2X zwBXW+!M)(v)SGntMXN1)YuN5;jKBQHDfbW2pO@s$cw&kizlm`inK+gBH0tSDKa_gQ z^TmS$Ros_I9rHu-A1~h@>|=$w4Zru-rWl^Tek5E6^ua({fM5z+ZPWf`fVI&VL+eRw zUw+t4w^OD?5M2^0Ajc|}Uo(;k=GWFjQq$kXsn=H-tEiypjjgL&u-;%Sy-Kh2(Vq(; zN@-%~l!_buXh~rof?E(r&kUTDKA-9QrHTZRkaIy*!tc_h2^H2H&u5 zavH;Kj!>0j>onjzgDx|LirxzUbAZZ?_sBJN3Y zhP`cb1g$;W{g<%&Q&buGJ(WHqD{X!pUs24Fme;oM%)>=+8~Ueai?c1UX>|zF9h+=T ze&y}C%WG74M$KCyp!;9Aj(H^NpQlaYhvlTRm>1GZ`4yF#NtR`@{cSCP)clGzMmlbt z&C$92zgGXaye%4|tW^XxHH7ID-1H(AKEWT1ovgt5f#h4%X&!kt`4c9dZe~?IuV4(^ zHjfz5X4H_nMEk=o?x*%k z`N}!js1Ym;iGlt*Df~8%R190#J*ln-=N2_NVfg_CIGW%Xqxo)cZLjItitep-LGl7e z89K|a^az6om`#BSHB$G8m9o=7&iYc9EWOm|*W-8>0N{9*K#@Ua1XZn@q6j!;fE=kY zYYqZmHzuA9@;QJeL*VPEjzg8hQ;ZK{8$y-@kBM0*XIgR322=}1LLvsjh!pI3n!O<= z#k@NL&&QnA_kpH#-}PD9hxT`$drClG)MaF&RwW|5onsV%Il*EeX|LoTxyr8}l{-Eg%jZ9* zsA!OTM;mrmk>zW5vl?8BIYS15;DHEJS`Y#%m%zNZLHgwG)dr@aLJ?A$4<_CzF=x?q z6hOqHlaj@^Bs;s;8<2)(7Mz3P1YRKMYNttCOpHqeh0q@|m_o!o5Q3PL!D&2AXc$XCq!|2OJS9`kih7_Fl^&l6;!^6pRD`0) z4wRH*xG+=0JtqoHw@7IjNKuS$ra*C2J?Yezm`nyV(=*CtN{s zWl+VH-gz1KDbVBGD7AYEN_Ux9OezY>L3>HiP~Ztj;849dLGZNV10u3qyDFRi=lks? zmX$UpAS`tB_8u4*6?ZC&H-S-zO|rrA zYG*;(T#>*|`E~yM-b6CJR6Wth@ z@v4$N&rs@HlLHfzrcp-`nLvULs2c5++F2s;<0A1_djoNK{)zBV^Qvw2p8)uQRRTA< z<>jk0uu_x)b+2F{#e-?AO+}!4Ld7u+a3iL@QBhH6&=rERBE%$9DvOpHrx9LaIkS7k zTM(;-5t`Iq9XL9DQA?(vfpY?*SS)BpRNS<;os<3=cPF-XrQ1E*9c@DW&Ht;@hji`B z_Syy1D4~Z#7UE&Ce@MY32$3;9P_C17$3;AuskBtV&a@iA5xUd#;j@T_LOmKd%v6 z-ec4tnq>R;te~xJ8(-U9K@l+lF$x}YW8l?{B{~j^lSRIClpoZ$D6s?XS{uR|P$-J!6w{8KId@agSj;SWG0?EA{e`p2m3v9E_sH_t zu2l*{gG4IWjw>Z|1qE%r+%bdJ$@X+7{S}JAtx8&uqhCZ*!xD+PNNL1~Y2??Ixvo}f zi+lNhMu0Q%&eFq$G1B~b`R%>K|5^x!Kx)zo#JnDXGx|~kH06MaKquFd@Vd71`W?M-_#XZ1c>ZMoyB4KMTM zxv=9$^^{%$z4nOAkqZ_Gc_gOb8VfiVM09bhkCT^+t?`xgR)S+EmCi{am?#KdIVw8J zMxj}gJKNh6+d zp?898LJlb5d^P|0ptpMAiC=*^a$*EUkyE$>cp9C0IYv_2Louaz&n>Ii!!9kztvDfu zFW^x!zC;Xi9Y%_9{Pj6GlJYSrDAG9+ef~a57#CO$M)6VT%SZEYYJEj z&5&3$W`77;nWTH5hs11oR$pRWgAr<}6P4&C-g42@v6WnjFjZXp%q`ZOEv}VPzyM-{ zDuFMe;6f7P^qXP-$%03D`>r-0xXwuaAOx3Ghf+?Ev!_O!ls=_p!ba;|h9$G=qG?Dh z*9uXi@X{OzF@RP>r!SXoQWVnJI;=cRCsbTn!G}BMh)8H9Xcd~;5_U_Sv?)USlt!R9 z>OUxW5btY8#O1PLA`GQKfnMeRITkRKuRKm$cHNrY36d?&Wm`~l>X4k(v ziu|UB{3ZKuhxuaT#XtKO9Q@-4`SPDwBQ%49ciP(Vho6ABxg)cH2fuhA`fjVKzuy(r z1cJ+YbIyiJ%aPE5l(SpSqnx9Oi)5m-*3(MVdwf9te+hS)^eNqoF#AFjY^^PakOC1BbSeH+R&fINMwlwWI^0QMemkdZg3TDEEW%S* zQjQG8BY7+brLHy!6p1X#fbde?XrB$0%t{z&E9M)&U>apKli|4z!y{!Jyk$q8Pgh0?g(gKzpxy%Gw<0IEg_3 zWM`T^71u?9f+vIt3H$m;Pe?E{7b?>-+U=we~rPSmpq(fV4<8MN$%o7`Sac9oo0~$Jd~! zh*m`(ArP=0p(?lphdB%FEZmDUZ|MJd+Mwv_a%%}1H7AU1BT&5v0!PKQ2Qn~gc*%>M z@~=E>lRY#c!&FQpGKx^BMOeOI6=qSuH}nU+N@)PsHN=XJ#1PeG_Djo9_F zNqOtV4cc2P#<`^xe{X0t&D0j;sHGHGK;&d$pYMA^VbHBaDR7KgyyklF)gWYQ0)d{! z7=_)8?qn|Hu`Qb2$v0wLu}Bq3N&{)ygPifG7=nSIW~;!|E8XXq1oQ$E5kWCUdxouf zs6fU<9R}OWbSAWtNV!NlPelZXhZ4d7ND4$0gXd*T+ZnKA2igYw%9U1(z^8fZL4m0g zT`3wFTMIA@wjzeOzE3a4vHB{BYctLh(rCwExrkWp>pTP$6j{ELFT{KL_5Jmz;P6f= z7?UgH_EJ5*Zle~a0*-#bPT_Z-bM6pshnRv7Z6|EBxowAflYDA#@7w12nc)9UzV=O5 z{f_2KdSOhynL76yCEX9RlKY)x5BDa&I~gDTPJRyB|KW@Bbk-jRD*HPLANE#;&bq^a z%kV)fKHRq)#O!zP#{5*6-#eP}zGYcNL8Df2L zLH@CIbeb?fgAsI!V;m?PXSue$o;67QRWNnB?~ihGzcWkTuMoD5R za9|sC`%qKHuHC`$+2{9%)A&ChxaT^0qq*f(degmupL2}8S0%Vl0H6>M0{{a6Lqh{F z0AO!aJSYMIK|X$k>$d@I0vsbZ4tpaU65-y`zx0D&R_p&Ed@ zFaQb%y*>e-1Kzm<2l#}a@VS1M>Jnc9CnyDwqW0$*GE^Wggim(fPiVQ_{~eno)|(tC zFmojJDZot7OsC?&f$kkkSqf@h8EieTAx7(uyQS+EKES|0z}e ze-d}S#LhPT_UQUYJAbFE?AG)3`tv+Jx{N;t>(#XN2K7u7t?wS!^vB)2J5TyYRy~e` zA~Ba1Ocg*uQ5I08AYqoa{z2$>4*hhy=i6ywe^0rta~`95*_E90e>%x*ekuIRzWnuf z`7z)5{i9C|8t&?r_hk4NPKJ6%&Oe&?Vw<9W&$hbyKcAto^Fi0`bo-Ul&-G!pH)FU_ zx|w~N>X&qO{PwE!>8Vq9srx-_)a%m7U+*`q)EoPS`xLAv_5Q(rvA_A~mHwLj{|$Q( z@V111ElGG{@e2JpEp3~>sikAP(5C>Yq8DGsY(q%=j(Q_#dFiQ<9vIv=pf37GJ4Q;< z${zOgc~*TYb#Vl$YJCq>Pr2ahtpKkiSfL2(vQyC!9<$Pf58Jkty;_v#F+8 zF1AcCX6j4GqD})5)Xj*ej?;_4G#-}P=4WV@&qy?~rrkb+>V6Q1Wn)JKa-8I-;W28s zxZ|72B-_ACu6Or4RjnvGIFTsl6FF8wdXna7uC()-Yqp(+nvHu~5TZIxx0NVpD-xe0 zZwj|5*_vdx1k?lzdZSf%21>SOw@w*wuqIu}Tzp~kEj8LSy|b-whB-i~zC&9P!Wmm5 z2uTxr?hJ|;HJ1koQ>IkI-Jj}BGm5$#J8xgCaSA^On`2Ft9D1|5)xYW|9&QZwco;CI zrzwJt`W#crvm2~V!nMbl7GVO;Oq_2@zg8)3n&MPJY9@=*d16!Xg^s(Lmn?MCZAwh0 zO5{sRW|UcjjL(Iqk8>9gWG1zZrk>UO==3lmSEt8^OYO2L3)dYd0uR+!!I6GBwA54Q zGk+k&3>H$SpdM=p7l%eijzQmKzQ6&#=k>OA*YoXUmfkjAem+AlgFeDhT3^1tmeDh3 zw1(NI&LcHg{nbV^6fGpWg*AVOZhlUmz;SxX|BRxplV^|@6)BSg7i_JeWljC+vN>|G z`f@xnY3jKtZDaYJub9tsikN9(0?&pKKBLc5<&S6QCiKs%RA$JEG&-E>ug)gol)wAe zM&#aW_-R7K#ljky%*@%0wjvWMTj&P{FN5z#!q8IZd0UH3l_Yi*kW%Z1WZuy@;wh zPRR>S*|?bl3a#)6l9?ukusUso+P@f`eR=OpqH4&)X5>M2#x>x#qNWV$uJ+d~^HlB< zXERH5R%J*X%qh(*J#7z(Jsa(6$cPWuie4dhOEp!hxmJDxea99C6qwyk>CNNgXX7*U z{xN@!k(Kh%II8Pcsohz$3rF^5Q4T&|de1>u;bSCiq_Z|QNfx_Fax%&MZWW%d{3Y-l zYjpIIA}atdtOJl-|<`NxncASe8pGKGGQUe%VxJB99D$!Ug`^_ameohprYVh$swq zqT1wIbn1BI@vCzTxYrGe+zw4uA>e1TV`Z>4V^L_(zTX|vz9uSdY1j+D)kb|sk7)Qb zSb0CW0lM^$va|U!IQhBw{h6E$TU)(`_5S_}_6z(PxXk~&`HDnkNT+Dpz-~353>e{c> zQ)GIn3;byt=C~|km-VMs*Z?h4XPbvqvr+m{nyXtAX!=cr^jxiaCX19^x0EyxCMC%` zWxSq5gvILFfE4B}phMTBzgJMd&KhkX$=2!V=;=CA{nzby*<1MQuShz;IO_X5Xq1M3 zfS2NbZvBD|LnsATJmx^{S!42~PEG`#G+=ezx2fdfzN5=84~mEhQY% zh62C3doQ1FvoLsd<(tX=KH*K0G7~==Ko?nEr!h7fV|j17)G2;FOsxgDNsc0;o=SC` zRi7C?KRYY`ACr1(X^$7ok+K86A^|I((y3$TN#+VOn8mIHD`c&x4QGO~iSNNd^tHk> za^Mts#osf?pT4S2iKY>FT3lmuN5ZGy{U#+)*%s-8Cp0f?B$aqaZx<0qhxXsSyiPRb@1=SQ@PCL+z+KYdc~rjmD0q63Z>xdFxm&M^{Z7Td zu};7~-IO=;8g8?AKBZsvfAvK2dxfHy&30o>Zk20wJx!3Ggf5eRpoa!GF~P{3bP4Rlgcv2t>Rpn+)gm z3LLlo_`2lSDvGZD@}8}t5xAWC%Y8u)&v;Yay>9fLSvtSTiJ;V^;l4`#`=m8=z43T` zr9K^aCOoFRJT03E#9Jv*sp*sr&PDH9)ph+9!@$k(N?s;)>!z!UN&by_UhkJ)M?;^` zOH*BM#UD%%MWvfz0tsd>>1A%(s^>!B3Mn6C!GeLAdDJ8U?&N>k^Jd!lF*7suNdC!i z7dSu(Z`JVDFj~Z~@sCq?uyEBs_7UGG@(FN~s+CSv7FHW)n{WED1G>9*geO|kQ*;gT z);KDFnw403|GaJYLo)B!mxf7J_Nv6cfC*5Uz<9|g*M<3;fj(w16dkkxpPTOh) zFTF@OUV$d!wEahQUd4(*RluHw!K7DPRe&elCmfo-#rrk8T3mY! z>y(Y$D(rZ{Me3cBO!ONPi8J(?h{nx>p`~qO>|>HYEm8Y=k{?>cT@>pNApE*b^q-l!Ml{-ZBskb}%U_#y8wN$*E zO~ZhOO3b=L+PXbD^3T&S)Q@befqa(EaWF*rPeoj{rrnB=aKp*Fs20oi@CWHlMG85K zgN*-jVrvhTAAeQtrb!d+EZqPaCj%3HaHDuYhaC!53tkHm;?($KHz35LTfV z6?n{yly%M+VIU>*)3m=xOqZpH?MMCVELdN*c*=Bc_=ztTC94s}o3&N}ht}a(yzn zZj~6ysu~j*D!aTO^f+LYP&n_%Dw7QNq|b+GpV^l1GIG2$MLx0UTPIJS_E02gXspa&uX} zUzJ5XdMR9LJ$pE6aS7dR1}x*l*I$;oSUT%1H~nBIBi%YmEU=!nKc2fW^=&syx6Esx z1`+j8i@gA@`S49u@lU#NZ|36-><3ve`zRKbI&<1a=h#D+rmYiLf4J+hwL*#`j1xL1 z)3=lG=KJL*t>a9tZwvb!ovtTNl5vZB8B*FIHbG=xcgUlRR9JQ)-b26c2ODU9_l9mk zpmtP$rkyhxc&uy{=}WXHpo390-IJHtOwuaj*X}SZ zzTcp~VW=S-)Puna4*7QE402UFqtKpVPL-AVt%-KEgOS}GR6uV$gXDGvgun@JFT<%A zMVkb^B}HO+jc2A^o~SwMOqN&WEwo6*$99M2drif?S-7tr@8_zAY}~d~Pj94* zCF0?LzRqOR)~=wyGv1GS4gHs6PM0pQLo`zVFQ=$~I0aR4dlmd2l63!GuM+wsfn)m) zJgv{plM96Rzdt5ke|I>!zb60?ZohFPyYz=Nad+bsE{a1X^e5K*2loE?QuS;9b5ikEd8f{mh9zZbmhfQ z3y~99xfDsKRALUA-Z6z{=Y_Z5H&!D*b2d5Ta~^Lof}o}v9S9R7E){`!xKL@Z+4@o$ zxPs-RI4Fbc(p&{W)H|HWVaN!N4P39|Ru<pq+r6k_o5&&!Ms)ZdWxJfgJry9>r`}dns4i&tutE79ul(ShNGrCQ@z=6Wx$Gq ztdbT_guN6@F$7qW&M_9|Nq=NkN@YnanFxc4?V8reEp;*P1zX}AP2h;H?TO-$^7O(j z2K}?tR~0Gf;P8Lk$*ZR2UXMe)DiJ6k+95@TqmAse9)y%;-T#-x68*=C`F%0-GdokM z;NRvhA8-7ZYk*0wg9}&w#Jk55g^C0Z&>c=`ImBRmWYn>%GqQPcWz&a$_U;`i1Fy@u z-ZIgcmWWW1!Thjc6CD6?O1dArQ7R5v%sDagGR1@^5mDAsNs)vi$g_PXD{Ozqkjkau zQf3sHZ=vck7ANRx?==-m4lu0=;7;Cq?%B8@PC5J#kcGph43 zihW#^ZLB=}blV=!ZBH~u2w%%Ik3ozQ>qYi&_R3%^0XNHZ-4@wQx;+reOku?M)uwh~)W&Xwu%j2w1ubw=_>Fvx#W;d)xmMV>-yDkQj!Eiw%9(tAIHN}2p0 zPE+{v5K~r)9EDg4AQceQW>#u$fx^lkIuMhw=4?=9ySahv$I0l*dFQoUU+|Gq0RxQX z07xmwKn;(rgd#b}2p5#cSx2iPohx|e0q25dlEz9W789_o2uzen2*WF~7D01yE(Dhb4fb7Y;mhYp>MxjEGz z`jhP~Xp5vG@3qWw6vF5dJc!I$RCPV<%hSO8N;C~_G!=KN*yFX!C~`^U<(x<$@&+Ow zJ&9(uXcPH>F`rfpd`!Tz^TL`**Z-l?&#_zJOo%2QIU#K&CQq8r=_1+YX{Gd<>qF()jz>Fn!hmm_K#S(8HP99?;81kzU%c`?=mj;UiRVG(n~GEFQ6h=#DL31KiWgyXbD|C z0@oifkljorB>=Sm)fW-7!@hXCP=d zq5)!!3BgcA#%8l3ur1V!HwUaM-PZ`TI}^PaP@qalEtaP`G6bInJP<}81bO;<*}7Qy z8ma8N%|A*@MP(+kyf#r~%hcTFwD_Jj8neW~1)&@i|b#mZGNFgXt z2=I)F2n*(4N=D4oF%^~oQvjQ&I7o*K9wZko>AW69eF0_NjNMEHAYg)YhYp*(S}{c& zthK}g#UR8a1>;*yelKcDHsgi6+c-E#e@XwNp7MV~PzW0@`2&GWvw?)wjpW z?9$BW=zp_2ju<7LI97H}Uvr|(>j6BME!8Wxr?jlJOgy>NL_z_+1w(~85Crn@A9K5H z2)5_he4Rs7j5Ja#QIpnIsS#*g7<7+N;0qfPg0h(1Vgf=Z!6IN|z@ljJJwCp&BMT1Q z*D$c#`GD^gFjra%C4>$_95k?1L`#&5YY+jS9`gM>z}w>LiUL965=15i%eH5l?yymx z5Q_1Qt)zk3%lV6Hq0Gl!?%o;M6qZG zIuS?UHAX`Z~lr4r996lxsAJBP;3Ap=1bJ9N=rW8)?m%@Z6kt@2O;krfdzU@@)j zcN-VrV0MXT;NW12v{q4Q%5nRTkxzp`>X7*{yB5R$^LwrF8F1jYO>aD~SB!TrMeaSH z^MO3MQG2i7=_Zf}PBWC22m+!w7ZA?1afg_Qd=Y+ByGW@oDV>imQ@!t%m>AX~hcHrO zFk&L))_}SMKiGgzDbsl^0n3nDh%T=o3wr_va?WBzWkBhm&-L_~j=q;qDU&%bfLabY zrSoLXqf$VWDyD^q&_O($6PRT7^)Ij9g^^B#`*-d%Jb8m9!uRz4K4Nk!A6b|Tl1eRB zY3B?Wk~=wY%C*i&YkNvcisn=*GGJb{X;4R@54?z$?Au#2ThsN~zbCvP;>HqZ~$!3iofaqxs zlJB<^5FkN|mZ~35Or3mWKbr{tT^9Qb zThBVKOnlCOc<@ikFQm`Z`Ty19QXeBXk9iQR3M)N9EEW)S36o9%B0P(G9uD*GutVJa zAi#kPcpwbIffyD|j70VA;Uc25LyvzCS59Yh|ihZcb-pIhfF;hWARhsHV$~$5N=E@9+I6tR? zo37neRar{hMYl4Cb)Ka_Zll^}oH+<`Rk8bZ0um1Xkml`DvLu%Y8^cW2f!!V zSd_(AdzRkJz9TYgp3D=EvnFP%U=J;ITA&xnw4aQ(5lK>Gwa97*1CNCm3?VG1zUJ4v zTm2WxGAXqefhNTauoYljtC)ATSU?gg9eIL09n(%N*@vjXI{HaFNGp-F6o#S!sHcL7LD*M@U!^({+*UT<@~qopnSka#H9V1XMGwR7~=W zmjsE*jbw6r!NV}vsRwLm#}bI08F57zeC>A%^YK0ES#u>#YA;OH$V$wql3F(N9RrlA zptN6B%^voz7D=Bf@YVunz$oQy?(BKdd0{{a6GeiV108mdE&INbwUBpInI+xK+6w_oSC{nf5l*X=dqUW22<$uhH1du?loU;qo>A4vEg z1fPIzkQY|GE&r(GQ+aT1kH}Z~!ajPUf80E0zMDVf$$0s_m~R}LKg-OF%$X@OA0C@0 zb^d`LPV>__vtL>B(J@+{lbXYdQL>m)YozFg8f{d92S>hnib^+0h6!O!Wu^3E(DxbEkExo3Xo$MlF`Elf)ykkC_dfh$H4YQGg z!IiWWYl!%XzGxHEMVw{Hzi{MAYQna1WA*t@2V`bB^X`1Y#*e+7I`wp44l+`ThJKP? zA*zBFjyv&BQ)W|ROt{>lh zsylTh96eXtFRwB?+2Y4z<2+Ket~U5wHmM!+|14*j#ApI4o>r8Qi02ut=pU*dqj@=Z z*vHFx;5T$n-Vw4>)MiLtL!Mk1lA+i`_9i4h0p8IQ4^QRgz-eT~RPm@MnZ^v&Im($) z3e2V|gx7gvb3yog@$0{EVUW4y=T%2tWX4}*e2FZ$?n%Vk$|jt z7oZKssBVqDdWj7hJY2D^YdJ;JrNwWY$IVb66rsgTZH*={5iAMm$fXPA*Gw_P>;JL1 z+Lcv}O;LLd8}->8Ozf($#}DWJgShV;oIY$PH{iRzg8akN`M7xIC{H!!nDsrIFa{Q%GuL{|e@LcjwAS%^jqMWUKJh?;81pjG_7fYV9}e96MSY)@m&JnxwkCbS3gsK6^TLq#>nyF;^g5?V?V}$1ICTsp5E4R zZ+-C=m2gJ{nsNiVgDw?hm~k#*ZN@a1ugqI5ZOX2+uB)CsV-|@k=gbk7?pb-xd@oiH z3u^dvy*&)GW_5wJb$xfYuUy+q%4iqi;>oC!3SgIcWohlW^?CAq`OWMxEV((8S#z^% zR4B-xw|^!mynEWxEoOa*BAY3!y}wLx>(q(=e&q3|SvoPv5@+){XAdb90a_wWR+)?n zc?xN!bUwe@F_gq#zh^$EE8Lk+cPy|lFTE`#{g5{@r!{Rw=ao^mK`kP4Ic4r;<4(-% zTx8XWi|D?UEp4t@i^WbRT)Oj@pY5th$XQX1^tUy+8J4Cm+s|6_ zeiSX8VnwWQQuklJGjo1MvtvqC4$Gu9Jru9f4b0Ztku`c_5t}0A8<)p=s_yW;W2|*o zojg=cuPWM_5lMCEN87NkSnucjmAA}|$2TALC;4)Y+$L;c6N{@$Yil)isoKkNf`!~Q zIJA}~=+E%RA|FLQ0>9N6+n6|Wm+fTUWqqSdY+UeJnClh+ZqZHuy6K-5z2MO7^#A2I zRk-!#{dSs?db+0XFMr?pb3ORJbXo zNvEA{m5uTl+e|)oejh(xWmXdrw%n*brbF+RRLulWZE2u=fwyhfxh7ZL7f!s2?L>?7 zE<(AZ_fyKMI!2L}j++Z?D6f329!{QLe}}Cz(q~bOAJ!&!?bVeIaRTNS&nZ#16|9Z7 zil3`*%8bjIxv6}*&(}~}2Sp6SoCo|~(1-Tl3o3DNM@>q1IdkGU^ZUFUN7tpc;?#Nv z#S6CY14$T&HePC=`}o`6NXM{}^kg}VnopOd9({#~Nqg8j6r2YYAeZ~*^*sRQ8bN3TzNXCJydT)O+bs$IZ2 zy!1!jCW4G}XREpQ`8R8wAX%Z>iFn?5wJ#jIFK12HUn-c7ShvS2nYGZ`$%WVE z&R^i@fajJvB%fN6P;fhzJ2z!B;jQ~rPD++!-nbcS?>@!%%b z(r&Vy4#cXN51!4z4`u>GT?r`nxMHVBSs&Pb?=JxPOsv7-^%q@2I%D&UWCIguv?48o|Pf zW?~76>wQi5{4x-oZ_Eo@sB~jvMPfCrZ!17*7He24W$Es^n=FV|^Lo;cNyJF4{$;1n z3<|En)w58=P*Wc3c%S~3-@fq9SyS*UIb*Wxrvd5Mv{|I+x8JsS5&D}gk#8D&BB5@+ zvvK*Q`&akHPsOLr0=;>T@oZC_%B1cCx%J+DlFcK!<& z#MLst_DpQuY1cJ;P0Fih zT@+qx8VpWbO|f5D*Le7Cw?x{>Ver&TX_^;*GCY`*nB z@Lq{eesKh$tjKUT85a$ww$QEEPE75-_ZP25@ag}OSpbU?HF#*|RNaaRzIAn`Lsvuo zv%=H!i3V`~-Rj1s-1fdLWW@FsMJt$;r(gPOyH3RNFh>uF@sEIMJ# z7u_xwjkqtmE#)M9tEM$H#^7csR~Mc*CDrQ>5VSuIb8hf31KjJg_6`dz*a*0Q9o2(^ zcG*qK?7d6Z>*imNy^T!q>D)M5x0X5B9=mNBgr^xqKZV!(N|1T&mpNkNiOmx=ZLes@(FgzR+LR?KO0bV%BPHSvAp!io_e-5=( zgTQaLvhbp@v1Sfo*4u@+4>I_qYJ3%y!cSx>1FZL!t*YJrl0U8KT31sD?s(Xo#?RYy zV%mjU3&*wkpuuli8Ja#SgNJIrYyOR2+?StDxzK2bv(<~e{QfpvZ-+gq$|dn@yTLr| zhJ9G_=BD_MX;MCN&;3*`Q_(dYIgovULWaF!TOe?5$~;R(WF^Y!ceXLA)mMR^2*E) zo|k=6Imaw0SbqmQ``zmhHTue!T;h)}7Jn!B+OB>b8A4|ue3I&Dq~gj|o$!!qdJhA| z5TU8?%_ha=7Y2U9!tZ~72~+)43-pOUJvfEmwO(3$YDxo<^MZ{&cZn}>b)M#Y$^~q_VcHZrJKPzd>(EE0(M%_;>{cR+#jatV zOYr|Ld)j}nMh*#mx_t1a>;dmO+ekOHiVaX7|NP&K?cAukkgIi z-hOK`ulXfIIAZ+MK`AAbU%3_CQg%Yj{puMYiy82iO!76dkXjS+>=o?5Yiom}R%~GBa?%SCT-#yhbv5v|9Vd zS%R#YH2Wzqlv;H);fQJgG{T^P&^m;04*eX&2=tzy9Wy8|nFJNiS!_?W_M>^S0~H7s zL`Y~2I#LGroUZ3<0K!=pfB6G8G-edCy^u=^=@1mfr08wmxt*3h4ZECluie@b$ z$+`Up6yO%-I@rl}%gW7eWUGg_2LC?ed|USUbJ^8qO2ueOFHi!h6&?g}%{$Q) z){wJN?wSGqU+?}i4>t5c)0yo|r?C!2k`ac}f*cgmOyYWTF^6|bcmc2Mn*hJoOER z#Zlo!NRlgtH_By;u7<~JR36Hv$cZ3oF_RW$02&kcN4Re=?4WG?Z@Rg2+Oxt|G&QDH zX^@DebcB=)#>|PRD(hC|Sq09OsAjgxnTaGn?Sy>ISwS(y>S&L_UgkZ8Ir?b>Ck{F?ibh17|sJpVPW z*J#SR8}^((xiM|He+N+<5}}CrfQB@vHuo4h0N>t8KOn0>mdBV0wSZZ);z3b_X-}Rh zV=BIxBeVN^FqYGStVGGNlRS$bSTKvEj?n1z_(&Jpe*Y#8*(EfZK_Zu1E=?s;3FH)m zXR;ECrI0o~^26o%UrG$X1=a*gj~WJ`NXxP(j!OC>HbyHj<^``oR#RsVj1EJSwD(er zIod;saZk+UMgtPl@z=&;EG@m$AW$8kJRap_0)rFEq-2%hoz6MGc18FqXaUHPqOl`G z2~Q5V2HFllG)c?t%z@%T523-LBLdcQ&?2o{D)kg?B^gmQ?Yu*;I6i13RASF5VU8rx zaWoAP9td(V&d}28)O!3V63Z#hVd)ZrF&XCege1XfPP>gEMSymMB1?&5j$F8b5yH-p z7*Qa)6nG2LCLA$0et-2;6s8{P&H{#USX>P*OHTo z=PZ`Gl3-BPMF})$0UnY1|9*a2_2e0Ubz*(DtD&3Ke-RpDmpjq2Z_=*%4J)%%*U}I4 z?O~dZfk=l5TuCalRZu>Na^!8~&nYqP3qM?3~N~&!>@t@Voft)asLeDnAN2 zj`36VQ$H79b!T&pI(K?%UkX4sWghf(xbrSFg?P?e%ZD@T~fq@Zsm+ezBv5!sF9?PhQbn?%wbp7XRevXZJVD zA=d1r|8V!i8)_nk7Ti*SgQ1Xwd6MeIoc9x3irEd*1O)#6f2OE^J~dW17VckNOB^B| zem5@ix~}5R~GOlb&{`P0*1xv2utnfV8yjxk@vC6pfg$@jXE?><}n}$nk|OZD`r>u%~L$~S($n)Y|h^ouR)pwB2T3VJA&;j+^txt zN^4&^EwGD*v)OtAF(`efB2_>Y_Xg$!N>UWVG2wd*H9vlOChD4XGZd@}H4%zwODUdY zLog~7KyR3)efM!cdXU7wu(pwfoqMQU9(>yuKaCH_jpN~R4lXkQAmuxSv0YopR zK`CfB?h;W@jmpHHfy1R8chAFMt18g6-XbPZqADXymAwbEmE1WqhM@e{0Lt=FB)-_-f^(D7k8 zaugI@?M%+b;A|mGdXs=43h54zK&*A8K{>VhuUPiiQLLRA`BEos{e_#UQRx!q1+2Earr=s=obya$bk1fHbxNU z)Nn?qQvzze#~{KJW5kX$q>FGAStO~=0vnPIx=`XZF^q9aAEXFt%5aROJ2|CD-=}k@ z>eNuwA_1H`ZgN(&(P)NZt)-Vyble^9bDBS0oKQnfLo?x%v`T}D5X^xIQzYQ6g>&2a zgigVzp`r`4=E9DaGINl$phP^t7L}BvXmj4wc(Dws6yQW8jRi*faH)fQ939gWPOJrEen}vC)@7?Z4DD-pBX&2^a4_s}h^!7(r zZc_mV(4l}pP=dh)a!0aMG*RGoQU&LwQ_xUkBq7$)zDvz92pOmbF0cgmBpW5G6B4up zDiS9dNj>C@0p^KCC2X!Og*GxWdeXV{s8R}&e7Lvwn5n1)2@oc?_$Kfx-mIN*VRd6U zKDvCDlE~mMtYN@CR!hcC9&hX$Gqs11x_tfoU%K9}Pr8%Pe0m{IjF>wl!Dtf3h5kyW zj!bXq`ef?QX|NRVC7SsU!OC;B?jdvDI5uL%bqp)%Mm{$ zjDG=Fwq}BNSMUJog5(K><4<264IO9i^&z1G)pQ)GHg_! zXlJ&4E0J91K;%k{cPJ4M3OS-0*NuK@@82mm&S%LabAr$k5|k*R94V&&fuv!{gndeK zC*N>#^#fInnK&7h6i=B&cqd40!2o+q<$*qDC(tEHJBiAn&I@o15-2c5$?_=`gz>!| zU`&E^pfMVjY)J>Y+Iup@(&v|eD!Emw(XM_zTn{I68mQ`mFvBE`prR0$k?9tYTpM%p z4a<-ZYw$(QI&+|wHm$>Rc~%};AKRI$y}%XSRgfv50h1;XiQL;^}U2?=xr@MGbh#c^R zYw*TmveUvITmD-cFOM6CiN?WkkN7)N(n)vprBGRfQT4L zwV*> zL&c^suj_=saNNnHoUNx%sbz1NJOZc#&N&&6aF9d*AP^7&00RI*R0Kc(P;X_Pl$8Kd zKJHfj_f+U(;98EEvnFoWIDiYg3GcmM$076B8sRK0t_&;N}n5V0#&v2PEs4n=rQ~WaYMKBFHJn1r9J; zJ1!1fh-h80RHXt<+_%$11S6*1IA~yDk_N&+7ytl<2Cha70G8o7yKP@v(zINT=kVye zK<8TbMa%4;O}lz?Hmxk*;Jg3{1s?V?{SRhyEU;`z2*PiFLKOHoIKSiakT9VpU{@~v z(y0%}>mRF)TdvdVFE0J9UsNBRxmthKMO^x?Z{f1BEjbHr-F4yG zxH=uNKcCZ=8}-xn`gcYy*IJ*|>%4b)&8OZsGo_tknc=*Hw+($2zW&`FG*k`_K16;^ z_d#vSH#T`lPSbo&<7`|hN}`!c7jU0%z@c%pTvPyVwO|QPFY}c5y3bl}bDVuoiLAGU zt9k+5MD`M*3VmwI_v*Zzy!HK{Y$!K5*kUf3=50=R7va~keG_XN6HldJxVSfN(*RnN zC~_d$wc?CVw?|uFS8Z?!m2H74hKclyyx+`7;nw=;xPSEVx&2VDJKkPL^DOTY_{sl2 ze21n>Kb@evPgDJIU!H9(M4^j50IN0FwZ;(oLxR!MMBN!G1l@h4DibhcwdvZ1jdF7K zWCb{}Z3;D=f!#ew1#3}Ri`6Q*29UYuPOE4XOJ$d>I9`D~5W`e6*O^01ojf_0HPqMl zmb60ajDU@6#B=U%ShtjWd=ia%^~XNCb8Ni34%DUZi0LL`!{>-*=r?jkc@CckyR*G_ zc@6c4B?67kRkb)34gjH4fs#AE=TYg0>DRqF2I^W^)|oc~Ba#-gR2JOCl2$&ly&&N} z41Xx=pL>kPo9yKJ1Fe3l*Lm;rn!NeVjP5LUO{)mx(0O`(oR5AFJDs+3_;^w5b9AXh zd|Q*;110C16{FnA2XiaKWQ4{^RsS`oNP-7Mj8~|>YP-wEz^+hVJL65AWT>!Tr`(n9 zjCXG4wZC{+9@`jHQu-SGHFwU6$00cdU=2GH_AG4Tl*i(ltzc?PISUcX+y(cr^vhr> zSq&Hv^>;2>*t2_wyIX}hnV?Bx*Ovx?_WZTAD+u^{d217Q>Z){Sa2C0{;K7Q{wKz80 zU~5P6nv}KlHFsHQw&s2;e$qNOrjlN-B??uRHT4a}VcEW5XHhE+?z%g03TbDaQ#Pv+ zIIeZ>wFy0>TmhJIyV>_*?~8}G4$*7B_%0tUeDq}3y_Vt9;N0k|ySx?tACK&p7S>0O zzWQ-r{jFm^ji&DD|7hnK|NqY=cIN5%a$cG@(?dV>H`{LTL7{MQ@UF%JLUu#7ztYz* zbivkwl>=ce6fAZMC>B@z0WX$AH*BA5F9%au>ye!3hzd%_mri2?Hg`$c7C$I1blKaq zkljnS&f`a4CQS1s?`J0shs>ee(Jao(suu=V110dG-2UIMIg=u;TxP;kiwBB8ArS6| zRe2FkEoC-9L8x2{8`fcv<@2oRb-V(sso8T83cm?$b6}e<*%k=d+j*6Lz3XFMdrOxo zZIzn5`FH-iDnCD^EBrg12{iux9V%N<=Uy|LEVfzzEj;6eU2m-ZaGy2fHDgCaxmylX zg}`!~28i2a?S^{XU>^C{eunU7!Scj!EQ_6z*(g0*+W)QRT`z_23Qq!=rM}(om-L{` zKkp_#8g+x<59Hs5M%+n41A&`P>3dU`B!u6QrQCNXv<-A}`l@<$hK{Y^H_0PXTwT>{ zk?mZSjX1EY2Zd3R2i}@Pg|#5C{DbYbCc%QelaB4>UT3EoBC!4azsYIp>iQXd`qlft zmVX^$DE9SLSdD93q8_ob$N!#CS){iQ=J(a$6PYx3&6G;uNGT34QWXyS}nN@NMm#y!zYzN$D{HfO2LzH2#^TrvBc_ zyQLe(q>43+Un{{K*u%+@K}useI8Y-h9%*?`9Z|{% zN0@x}Hohtm6J&@DS$VAV4vnos%9LgZvUO*Jbc-?tJ6;X9YgkBmWMN%pRAdmZFjcbw(Kzr;d4tt z_49XoKB(`+mW;xEpPE@XaL3QK^5WFU=?%i>_8D}=F)KD`oohpJtW;#+w_{84ZXxuX8Tg*W|Go+tA@IU_e^EtLleh1a@J`#)vzz z%!WIj4Tz7jk4x0QJ*^ce%H?iKKNZ{d?{)>41yH=(;({is*(>k&&Iec16s@tn$hZKivmB?e)mB zH>u1CsxE?rM`%4M*E$@v1e*HmeL_;|UH85nl7SUGl|S@wj7?dR(ES=Asp zY+~+`L9H9WRTz{zTUe5)?ZS5F0)GBl_bs|{g;d}19Q%Ix&pTMwHVatRCxs<=v_WBzwlJF`spYE=wRpdHNoCO`+{H=L;WcTT4I z@4I(=?_{u}W@^Tz*QQ4*l$wmdDAOxnzrc85%u&tszna%xU8|4T>Rvc_mQ;T6_m{+2 z=1eB%+~j4Cz47LIzmbn?BN&)gmw@==-(?yOC1B?K+i!S0kY)Gj$Nr_9JD*muM^DMB z^#g}C0V}m%VTF%u^L+nPa0G9FTa9loc8!t= z{W{68;8VdKXQ*2MRv!b2{yyKMn?$8(B%F>dB z$NUNXtx7Wq=g3+&ETQSFbaPe=L(aXPnw%ofKF|Tb-~+d{8szr0VElOS6H>(Ti*iaQ zwZ8i|-jPyBzPH#KtAF3D!RR5@Ni8mdZ0y<%IxBsZ`5wN+s&*~?jny6Xda$}7HYl~A zO9S2z70PbXkek19CQpWC8I!O7zkg7F00;5|U$5PaqBnxW-mx5&>dO2M-(Xdf<2?Q< zdp`U@MlMI511OY(!JkpdG>SLn~fjmpN+rg zzWz$$fA9_ONXH<5Zth6YnwAgaF1T2oy?Eka<*!s0=I!bQR*tp)#K(92@EZNS`^5)t z+S#gKIJZGTrC(_+%sTf@ti0Cz9+t?JTco86VGJI}g!dKC{&*$rr@ry|@B3JDrte=n z<-YGus`)4lSg{AQ-(#?sT)PjYIR)R0y?C z#+Yu{-YIh`F-;USVGVkW;$wsd^FRIYD3|4~pbIV=dy0>3(DrpR9;ab+gN$A;Apd=A zr!5Y`p}j1~xNa^#7t59vFsj2X`p=!x%Uc z0mnVN;k(lSp1n#D5CY^^-RHw2XZ5sv{^@_8SPs_PC%FrP{b0O)AUgYZ;J&R)Z5%yx z1|6{NTF!skwC6T>eO^Hch{X&7Y}#wV`;Ytjx2AAeHxX@z&ge6! zx~hBlqwqL$(KkaF6fg{@Q#Seu4OTPi8yxkAilDdmgZlqe9Xu^d9|X-?PuQZcqGRy# zThRirUxPq|k*zTh>3XxboN>M-{pP3N1wjf^VKaZFpZuYjyZhw2Aqgklv!R^Jk=f-fR7&&=A5?Cs+zlJg!Fi&5epZD4M=^ouk z$J)5N8OtgA)a-YiJI%|Nw(R}3dDUn3-9F@$9MN5^Y&CKntZ5?@9QQ&4sWKSQxrQen zQFnUfv?=q*HX$ZWETIC56KPG`gHZz%8!y&43Z`C`_9us*lRi&+i<-4kii_hho5%(q z)dn$CV%xID3W3ZH-CMuA=Qr2VsaNj0N6$NKN{9KZw%>g8@ryRS+*2>gq4MQdd7N!? z`2K1C3>T>;HAc5vY{b$GpfBtOf)6z1N%%#!()zijA2v^1h=yQ_Ef6G}oFw-LUo)Xr ziqxsu3;D|J#ak_&)oI#zH?L0Lz9BLv%9OP0djibx2(;BcWATs8Sjr(o?d%DI{_!7|?j> z$wpUzRPzbNSgqBBaxmcGQYjk;5`K#Mfhx7y=rWLuPbWksCA20g%}EG$tYDq-3x%Mr z(y5LE0oDK%=8E9P7#0stS%X3p+n=3y;bHm^(aMNxwjd{!Rs&J&$)s$jwM&Sl-yvNH zQeKM_@*5U8a_?J4zh_X)e1CX+cDVz87>!LY3{fl7o#82)w| zI_FdpcFM8=sCj( z%Q|iOrkXZ0m>6t}>1qW)6=~SXM1brJ5sL*v;i|yV(ErYN=)sg#tSH!FF+l?20!@`F zia_XdMV*Hq1w*Mew6)H{kvI$Uu_tTA2sU(~B$NG90P1e-+OrLYtY#0Do7h-p%9QlU zt6K1r1>FKd)rNM}*(d806fCVzj@CoE$Hbzr^uxCv}pE?x6GasTA+yuXK%e%GH>J?6;Z_yUy+^h z>|8cGeX06%$kJTcMCBx;Fe$ZR?B~RA?E;0L$K>AJ*Y{~H_2+24V|(y-+Pi90(YMx) zwTMFUL%6G61Qjv2w3oEFR)5FR;#E#E699Ua8W+qd?%JG*sZ2)Dmoz1D_W9nEGNh01@YckYe!D=6V>*-$BW^IRS~U4 zH)+olk`UyM#THAci3|%yGdz91cT(-JH2{jJ5{)3^LLn9h(WgLhHO_wi>^r80-vOz5 z>R`sFD9oMg=az$|FYBUSrV@(s6AEkEH3% zo)wBEveqhM0-&k4zh=|y+G7?~$lFbwXWMg9>IBRdm;Tm)asri2lH+@_0b?XK5hEqOJ9{24rkETsS0ouzps^?C!c;zt3GC3hzglh^_vZh2 zl7H~r-L>8&F{TATXjK|D7w=-u7Vh}ne;h(6SW$vmCjh}gl+($f8FcF&g?ugDavK12 ztnxjifykCLJrGdi8tj~8F3g@%b6I;Rl6pkeIT76YyTqn_LjO;t>uf+w0#z zDXAvdARQZQ*@=`Cz-d(4TMMP=O}_J#Y+e4DZTXfXi$w%C%Pv7$Y^KCQbGGD*l++wg z&p;`XMwoP>JyQ?(nhYr>U~mv{xy2_fC2ieT&R2khP!q*B5DQB{(w?a?Un*8#;z?L3$Z914N_!hvcs6m#Mw1i3loUdVvSFli4?S@gZ!EJJ z*~-}|P@SaRFhvC!@2WA3n~CNWfLVZlB1@m?{3zws7C9j_A+EJtYW(M8CD4#jg2f1L z54(#KmZmnyxuj7n0jWtc=A%TT5J^<}sqzNS-homitxoAgT-KuOyrxEExV@;EQx~+L z4^cwp><7NgJ1`S47Qfga=O|IRkbtScsl^%)7bBA8><7M+v>}7e_zIT2q<+tx}-M{~Zqpng}jHxteB+-kZHhgkM1**uC zZ$)@?mcFZ17g~)NhuTfR)efe_I@&0l^N85M$>6Q;bqsvPd)c`4<)zE&b>E9BQ>)Lz zU8lw(Px}X_3)|p>j)=Yv1LaZ5|%#YaA!wNoLi^k_J5i}6aHl}&jZ+hzQ{(tpMI=jM3 z>*dXJXxeX1ykXQ&9e~KqZT{4i>8EfYVD-9xfS=qBWd2-st{-_HOe$3VNNxG zP3;l%O}?yp z#x+*44i7)xmfnSjM1=|Yd$CNbACju1~PpLq5Hovkv$bv9BU zLY%hoi6w$wGX|=042*C-YZK2#psrPul5bXn14Noh6wOE{7PuMbV~`)-`#N!D1oK+R zP^s1w4Nw|PKp+M*isX`Ue*fC%y`U3SMz*fZMQ5C9Faw{>c_k6WAT;bbLMl++|8?TK zH+QYWwVNQ6*u28PqTqZC*@h^MMdkc`OlIl&Cs9FQxc3IFh|}meDQwWjYKv;g9t$xS z;`IpAD(8zPy<0FKTt($JuK`7@2eBrvm}_TCr{a(J>1;{TB%&ylGf;_`bTGRxma`{J zgmKdzaQ-Nk6k?L4phmVJWGghM3b_x)+bfPeitqfyHKQ0!?qkkj23R7cgC) z*~sA;sS>Pc<4j4_WRxi2CN{7~PGR?HhtjUp&Y9_-KnMT9l4FBhG9JG&k`8CR*S0^4 zcfcPLVKNs~oRo)Z9)w^ByGcZGekxwZ+|c5@;0kXFoWZztyrE?A6$#OE3q zCEUYh>T{~lo5`jr02C`)5ddGDJO*bBGo$_s!0a|gU?`|tL${cdOr>6-2|??{o60Rq z6ex4OD@_1RP%y2Sim;VnQ2~?@!GaV;IC_e?l_M3Fnn%>RThc`waP-(HLgAB&DTMe7 z7X^ecb{iyTj4U)32}(F*GHi|Z3e>rFSbx1N0I};pfuh*WB)EWVtrlDYr?EvFve`2M z@Kk5Oj0Yj4G$6HTB%l>@mWg9H2yZV7Xd3bpcKOW$3X?MnTI^#Qg`uXKS<(P9^!Jc~ zEd9;60efdbtL@Y2ufwyhQ2Bnz7A1*Vo6NNkiWCwgs2R2n#6Vx(qax$E_{2!ls<$9=N*Z#aQ)_c5hFy%O z1X;2|M6;^O#Vx*%R#@TyBq-! zk-)0}FYka=oS7>KQ>!#kYs8QKF987%0^ouh%Gx-|kC#5N zSLnxmbp5HXkNedh9s28|kPu+GHA0VyaFmjRv7o4(8;`0I?wfpiqSurD^?Stqgfhjv zKhwwb*tt8W{aCWwTgK?Y>iFBP>)xWn#WvOXtX| zzGDVSsCp3h!1@CROtrOJJWJW);lp|DrqXHr$sElKM_!55Xj6CXh$d=2PN@pmAF zaf?xW`fly{$CWmeSU>STe)=ck;{1M1JauUGWe5MizjNTJZ_)c6{G2J%Y0{yspCS1D zGhioL<k<{o_;f6SBg)U`F(c$GLEd@As6s2X#X53=x{bh^c8%2?#>q3|QAMgdiI zZ6ST{5_R{flvsQ*PD;Kt<933^2-$`KROT?_R`*ZpZ?pS3aY`a9u#EL^y*esT!^ zu$*dLZ8uJ_#O2TRa-4ZhU0!W3U*b~P*!p32xu=Nt;rDEO{yt5=55gJ}mTrmv+yo0W zSJG?9(0v%Yx%tOczKd;CZ7K};U4?rgXI#UoKG9TJ;w?DowB(Qpq^{PIb1%*+? zH#ltEe+2=%hzz#5S1xjbtuFnxc7q(CutJlHOZ=kclsiea2=Qt%PXPeZ%c=mpC7JAwO_pD_+xcf>kmjmIHF+wF)ZSdjmHlvTgZx9pS(_hxf0! z{~BKY-^aG~7rt%S*4EeE`n#Ba0BAs$zy7IRk~{@2G;4&m>{NP^h8Z8Ft_^;6f04jd zo&KA_~pManLV@ z%!kLQMsQZAI8lV+ zwyT==S^Kd!NJhSoofy8>Zvw>a%yEorA5Lq*D{cGw__$x;8)Km;jXi43mUcudI*@^k zuWryYEIW8NWWXq^xSf?&8aB7@%y4tkTWc@j7lKdwXk`yobRw8BsQm}qR2iE;-^N!V1@ekP-cLq~d;Fbt zpsd-#(j8~>b>q0VZslOX?gxwK?-y7k{P2^|ckiHwiybTu#k(5t;2#(QrqNJTiY4qv z!^cDx(G1q?pNmq!+eT{CPr9@pWSQ+3?*+cI}vI*==6= zA1VKj!qZFL;wfA9aQ^veK1FIn7)E}qDHeAhYh-}0&zIUVawc}}zu5#p8eHjWO=nf~ zU2P4pBgIMU*DylrF@(5VIr*a!5{OpNbz0yl-p^yb7k(*#rMb34dIs4 z2*0$WmR)pEeN_)&j}&N%>y}ZoOP;ff5$>2G=-{BA&MMxpP~;VT-G+!_V`8s=wgT@z*(^V!C8k=H1M#WRw9pUyGN!?uaaj)7!i@ zBClSi*~Q9rMV{I?MH-4yne7}SM#s@(-*1B!&%AnfG5EXmXn?S&%H0bo>{c5;@>`4% zd&4<)>G5v~+AHwg(@P6*99leOW}P5;;$GTNN*LDfxLtHPtC9E0=iy86w9tAJPx64J z>Xz?57H39=Up%*q8MeW6$_w1~`8ZFqoG)EtMkl2?DeJi;KD-il$)cx(N{@Ln-CiGu zd@&{I*`{}!x694%uD?C`8Zj#$P>2tH+cauT9ccM?p z6?h+;huk{z-M)BrubiV_PwVN46ZF2TPn++@eQWd0eKk)$n;Y}!zVkegEgcR%f4y%9 zON~Y(2l78a*htANMB4!_+UaC_zvwq?AdoaQI};A+W4RrfkIjrW5qHOibnh>7%#oRr zn=6_YOEt~}M*3f_?Zstjt#>}6zCgAv7QE3^mx9>Gt>sj#OsFL9ikeLi&v6rU-Icpx zXe*5`)~Zv;M6+MGyeMOOmP(xmne;+YCohjjJ6#f-3E3P?u08|?%72^4_K`gDrgCS3 zCw(s0t3Y-SQPnD+e_|BOg6{y2F7Y%=UrZ;s$ve496L`R>4~*Kyjqdky@D#RCgmXpy zqjgS?Qjs&kmA;m1rwCp7H|g`;_D*iuATG$kA)m*giy;cs`p&LcRa0f(=d<8D{YPEl zd*T#7hyX{a)rmP+L&q42f66Ex{Ny?V>v zZ4csan*C|F|IIp@+O?BZeluIiP2Y3mO=ZpmVe;GCqXrPZ5ly*CW`g-lSPCV%a4;}S z%X~vxV5#1Dl}rW8MR_Ro&F0`u{TDVf;8BGKpYcvB2yafefu?!q*E7H<8xn&cu8Nq8yz{G?zLo4B+S7_wg=lEXrn^tGgY^0?r;_JyIIgHv?>yQj zUgeZXs(GFMl69hP-P8C&!38~;bwBYb6_}XIbG6q#UrO#?E`9fhpuFjyHgSJC<+8^4 zUiQ(#`po>=j$N}=Ut{T?b7~$qgCUo~Hc@_D-~OT+mb4d2<|_U+z~ItDnF9 z{}5AO^IHQz6$S^7PwW4^L~U)BwRz2Y`?LEF$#-DrdDb6OP`Vh$)zS@ZSGRQgG?}pW zkNL~*bZy_y_|1EF7CoXdRY4n_qHe_vUBj@c4UV-wXt~3%B5-_UwSa#s`tbGHL zTT5i*Nx1*>)A-@A#p7+*H2#^(;>-5)c=s)wvv|$lpYb;C zrrBhO9F2_7 zbu)^dGG`LstDGlj!j?IB=0XhJrIU`M>+i7O{8N*V7JRjwYus_HjhfNL<7n2y^s`jG zpUQ(zTWyn%dPp2wUu|dV2<|(S{@mZ`=IIkvEC3+jG8t^q0gvK;?Q97)+z#=2uxOxE zbt?f?%s}}1_6rg39(sCGc00SyBkVAwE_jp?HZF1dbj(l7o~@~yqZuImIXVq}37_Q6z>Xo;h# zra#&7Ou?Vtv3#m8yz3Mf8-q9r$Uz+G+Maz}WTNLEa1dK>EZ_D^>blf(TaV(687&xt z6NgfR)rgs?3v}0CV`b8kd{3#UkrDxqE$dK|$=iT$)!~M%Rc%nfN9foOY(C&@EXh&= zJw`@2T|Kguv&SzlFtXVk(5SeeCL4;^f6guZXyd_n?B<5eI&CC8YN7)=A~5NUa$$l4 zATsAj!3S-6&9E4y9J#s0L9!HVNe2QLH>GGJ&Z5DK(_S5Gx~Pav4@b49)P6>J~80GXq&2TP00sNQ4 zN}yH$vNcSk?pCRAUk*4daXgh)$0nOoY*(1AF&H23T>muz3KgL zrMTI3P$~+fj(mEHnSgRMtD2E&7+?y*n#IS5uZP~zX-n_c^>LItoBZ%Ea-TdoP2J{i z{4o?B{%+=-&661=L?S^+ItB{U!dZ$6tt`s!2P!b5?oeW?Ou)SY$O;6 zzM%;+0b(CcW+_wh2CKc{J9szwKAN0os=-r1+5%CvS8s;Ij=KXb6yEOOU+43JOqpWg zFTyBxpd}+&D19wJtYF@}yV_Lun9hSY&TziFz6&ch|2K6jCPKie6=#n|GMFKXTcD#c z?sA{m5d_`5ETBJR4UwifCo1h4N|4+EgQSkU?gO9O2L#%#8qKxXQH?$VTP_9AZzYwI z^8?YC%&x5Jh+!b5Mx|K`ARKIrw81@^l1#(=|F%A3=Lfi5bIs935wCT4h{YKaqA}En z@VM3fSj7mz*`tyHDVu7>sibu<3Ie2zMwxpb@EQ6&y6q#8fPB-zAzMKybBa!&ADxaP zB=Xps>(0Q{5avy|G)f`hi=ZTAh{y=|B^Yj_|en^B$QgsAxmL zD9rAoo!Nuew_P34s3~lm%!fcYOM%E3q+qgivWuDfcHQpvA%nOzl0wZFC{G|jQi{%6 z-%g7enfrC!+qH58jm~Mau7#0e6$PdoMueP+|8vZCy6){dm9P^x;J}>>4V8RSsnAU} z6huSb{fF+%nz@1P-&K#Adv+g)u13v!R|1S3mq8eUQ3F5}F%*hEsP|)fvdNR;wt65(0{JruRqz8_a zNIG)VL5nK0nB*_`lna#*Sy0i6(dv& zJM^7PxY*wr*(hu`I0jI&5B;fM@BG0}d4GHR|J9K2>6>bM^u^pc=f5s%#xBRbv9I6G z(cbqy$`7{Gl#0IPTf0t5m{byhHh?ok-h@K>q>&S@s02fr`cwIv1kz z)IA(g)M_S77_pdIN$8eHT(K(ShDMd^==*x`BZ{?F1rTD%J1$KHlB}|YLR%`*la+w8 z$05egOl83qQQ!p2z#3+9jnM8%Q0+Y8M&#sP(k)ta4UQUC#^fahKe|L#OZ zY90id@m$6gi$IWaOvwIx9)7qhgayR^#l~`xx!CYQ#GIBUwfSPukk%Z^u4+tBf5LL8JBfzp5rAp3$rJeAm-M)ZVxH$n% zsy9Q4Och83O+l7obL4?cma%6&Bi@z%krTkA#mNuY3;FD!4Ey%Yan8tuL0k`1)bK@rE z&Wu6<|5o0%tTH)H^>Y?F_32VR(Su<1O`ODD>3lj$%(Ykq*w*9Jmww4aZNd0o zTL9WW*9O4;R9Hx7C^58AXFf$mQ_2ZdSc)S$Yr@rSL&*H}YQphVMUUk;k|;>XIU$iy zDU8YsgNx?;=i@sMH>c34J@u(f6_xzEU*3@?@yLH}8Zqv9!LQ-qZNJ6QlwyOO)(l&) zkJwHq1$Vv`5j4+v;I`M=-y^a)W@6?BC5>DnY8@t1J?YQ04_>eAud(#SJbAII76Z<~ z!kRObD3ZfyL<KtQ&^Ky^*YVd?9A~u+ zFmm^tiA5ILY*C(cfrcd;gued#1&$z7TbCjfTa*t*I7#WK@XahGn@pl5hk12{gBHTOQgN!;JJ)XFTOCy zk)$X{PgfDP9Gf4yaGa?fU%-O&a=bEtPHGV{Q41bS7*UBN5qBcY5#H751Wu^iw+KtV zw27!FTD+y{pR8~|TpaPOy3Y}uK(}xa%6OwB%5!a$rG=5rCbC+Mjd1D}54y$BEj%Re z#1`uwDK(L+;&n#gD?%M60b7+oG%jIOwMKn&49e@n^aE5ec?s46YAkCu z(l#Y7EXrYwOdHP6YAfK>S&T0M5lBm#Hviz!Ds#v&6J1;X&@w0r;f;+Ri6vYuoN4)Iwuq;WbtrS zP*Q9J`6gXW-lVgwT&gM-DuFSOCTeEPbm1fxqD!1Wd&K4&rX1kZ&5j}yi#W5?S(ut5 znUh7xxz1;m15nJ~IxTLT{x6Hg&WWVyvpPuOYiB!mzs#51<<7NnygA@I{ghy$4pHyd z-*%f~I;mnDqlgz0ioyX^07=fJ`Xf0+h?;#DeBJn}jABV&%?ofEfIA8rCTvRuCru{4 zQAKY9ueoYu!i3)iVz%rH*45`}K>>S8wLcP3& zlOgwd>&ifV5D)?Y1OPKc13&;k4^>|&%m68`J6Y+Z1}B4Ebx(CH+j@FqFYGeFI!Qn) zO44hZ>ni{Mu>Jsm(U24o0009Nfgg0+J2fgB~nKYOsiDn+7-$0oYupju#E3#5(MFabhXg?0CaO4q_-70ETB! zgvbB@W&mhr0KgrrYqvlw*(eD*I0;Kepc@kFJ(jiGUYl;$OYKy z-u#z!sh91{^=nW4(@(xmuf|W*v0HEb?Ag6~>ThuRAc{;joGC0|A`rl})s_uWLW&>y z^s9is=BTjx4fyuYU%frG;D3N4c|VW-&_lldGq3eusek^;zx!KDx0}vCUHR>gAA8-s z{e;J^_R&jyz%OI3`1j8{=lYWG#ozGXul45AUiz<=S4;Kv`gy+K_^+yN(f>uYBJ(Zj z5he-}n*_9LNO#+bdDAsp^Ib_Ro(m)suOc+C^XLx-;mHiU3#7ZhR?&@1z1QvBxzCz& zw8C;K|8Nv|!MCmsx$nN*y`I&vbLJtskhrB#v+usWTRS45jSqVn(8Yyw4AZ&|+@uh^ zOV%=!bTDYCs9h)H!lU^DQ-gJMms`Jr=p$n;2Xl!dxp0cAR4c$2j{sX{R(i{wU%~y6 zdwU?|Vsuax?L;P}E9l=u7~o$w0^Zo@dUKl^2#Ha)dm$C1nsYfBK-2GITzo3o=?rMO ze@>r6QmaLKhTIe?RJnin@Whk3d)MKo+=WW+x8D5s*P_15>!&<09}wIJBMA%OsAV5~ z8}jL<2;gbM-s^q^>UVpU{(KtO!#THm?F)5nK{p>G9rMAs_jL^t0A9dGVOLN% z2bDcw?4m13bSGU{xfKuKzR)hH=p!GlSlZoON&7uuPY&mr_edU2!1aZGLG_DGN*W6+ zq(ZrkPsqaMZxz#(+pd@Uzk(GcebB=vdkJwnhxrWa5?t?cTz?GJpEls#=U2LdF zf8h3?1@>N_4cg);{e4T|g6cZrx?Oh;#4cU|LGuE}$Y!@Sa6}q|&+U8w>dU!;C*Ke} zaa?u3(3Klk5V}M7+Z1vuJ4%9=B)`fP@VTK;2y=?k*u6lX=Dodl#gLQiFL!Jy;IDQyn0d8xxA1lW9 zGJzGZz+yMuQ$h$!faTk-%7$KU{0c>Yg)Z;IdjSG*crb#;k{*HJ;^WCqLEpf8sIN8& zm=dbDOJlN}25z^FFx{d1K>~A=)eJbl8WXwy1n-$C3}DDyBICVR(2b-KPLBJHf&l!_ zP|!(L?fw0|453DJxk7;D+{ku(66xJ|s}!L9i5hDA&QG?zX7}gHf0^Iv`@@!9Nca7< z#I#*-Kx$uVGwg;#`!ETo8 z^)? zi!_e;4j;z!7(A8tof)`3yX=B4tkJJMZfxjtEK;Yl8`Fq8hwgEUqyL7$4YR(#KWfaa z;Mv9WBI^NIU*juo-hV8nn;7VRWhPMnZlN6d^djSfGPLr&i=U14Aie=Yi{ntogX(q5=72@a-&)rKCR+Dy6rOy zr8n8^j$goCJdf+~W+T*Fv=KAeEr6WS;C87wl-}3*SFLHc4_{e;j!*e=JGNtX2EZpX z`+EfMv(WALK45CDVD)l6`OexZ1fNzWExml;pj(&uQ~l);xuk*9pZ{<>EMSPmB4c42 z4u?zDCRjgeiLWv@)V?TQ?hw+2wEWIx5F{=t;@<__zsxA>gR8;&%Lp{M-KUr{r4*2K zEzEG-4L>fxKW&%Q+CMu>=XyM!{`+op^Kh@F&f5wC%^fen3aZl7Q9hoV^{?iK!{8CR z{FXt;&x%^%zby9Op-Jt5LUP$tKA(rM=Kgbn1G#*8N^x(`WSPvA6vocJ1_E zSLd5>J#E|VOyvA}^*G7d=OC7}#XiYL((#!oFI$rk?>_jSHOMXXUH0^HfF$0%pzf#x>b^S28H8fwh~FRHDJ=cqD+a$j)y=gMAZ zYh0j}W(PHR;U)GA_@dg%E}mL;VRJIbNtrmVgj1wv?u?9m(;NcEQ(1GK>h<2$5tf6` zGPuXj=aFZjFl=ydd?*I0CP6th`rUdvN=(7zQuCvE9r%uMA9;~}DipjL^PW@v7?rrEDD~moJa8nzM&@3t0C+Z%ZbS4;6{OgBIE>Nd^7y8~UwossR zu5#>n9f)YPrSH+JsjVD*X?ReruJGL3A0qcO=yuR0x(z@xeTVNvq3fgH^s_GZsXMxy zOjKKDv$SgNF7j?h_i*{DHTuq|+PM)=v2<5frlXzrrimHTPKv_X|Sdc-DI?vRYji8{u?7{8vZY{lg zl20v%*trXb=t8?VbGKRbnU=m@JHj7ACs(uc-Z|5}%$5E1#csOKI@#8-ElbP~ICKf>0;Qv3HN0Yg+?c`_BWx`u;dv+|f7H;y=J}e*#}0 z()Vr@g_vwtdq(vc*v3%PTr+}8I)qXH!>Sn8j{yJNUHPzcZLi#T&eem655?UFtOm2- zA%L*Msr#_r2Ecn)TP@yrOuK8by-IDT^|{5Cf~?!K_^L&=cj_>#9|HfmWV;oeN1ZIC($0EW9#OWF2u-%)=zRk@k&;Y<5q!)41H$CoT36=$wd zwTJfDyf$R5iTb6Hw@%^TeY4gceYVz`^6HlP>*sXu_Z?ZW_P!%OfR8B8WT|&nv|~0Q zD93HBWyo^3>~)nIH;+=E?Q@La`?Mf-^T&<3+4+Kt_&v!&Ex?3cW*hYX(??|NIcfN> z^>n}eIQ#5%;@AqwidsuVmF8wx#q{7zt2Wj*CgJ%p-E_ruZl*fTJ?DE~n6sDVN9rZi& zeLW8?=*mOfefC@LzO5?Mo!qA$=}&9eb!(k@MNB`3{a+u-#qoTFA74MK?#1!R-h8pb zVC9GmtmG;3n8DYY{GW9(??T5aE;*PrPB@yBuaeD=BKFCdT< z{cm|#>$CeNt5^JE)@@b(i@))v;*;%9BM+iiW8+sa(lXXd=i8lXzNMQ$<9>I+s`C8T zgLIS@Ix|sn#NYnrH(FF43M`!M<*e(Qxy-+w>Z|_xE4S;LXJ@^xd(EvJvtR46wQ;Te z&Bf~19Qq#Z!o6efZnGs5y{Gw?|4%0{F~6N>tSyvZ_7fD|^71X3?1IpWZyi5#Oc6^3 zIm_*+eojGJg7$sn?#ziBR}-?9Uf%fC_WTgJ`>Sin7%fNA)43vC7tjz}qB0DYMR<`F zKL|Q!EbH;;Xk0TkK>}r?wHK9Bat+l|1fcgfSy?D?3dWwKO66%vpv|r50;N)Mm?4K3 z3isx+E&2)!MULUL899hWdX0>vGo_3p>sKoAb*&_wF$yAk2L#L}V%C_#lg9L1NJIMd zfBMt0GWosK90&=+${a^7wtxl5x1b45N&2`FKE_t`G6U+`-Fp4tf98KgKsCPM$T%{XXy-LQ%WY4An*Ip0%tDk zNfV%`Nv9FTq!?Jh2%|7I9u=|>;45Wi444TfeAyPCwuDozsOD-dn>o<9?Ea?Bs$U{s zF(ssE!dfCZf#xz6kc?_hVR0T0xw~@U@4TT>vIUA#x1L{{F*_a=K+DEE?J_y{k;AVA zQTcq+6kULba7C>(3BV;MZ~_SO>&*g_&ly+dNm_HVmRzbLr!_n#I48+khw*u5_#8rN zowKRWdh4!yt*4LnPz&7p^51aOLgU)|KK7U`h)idy6gelCxgjR;;LMPasH8s14)}BG ztihbgAy+(@2GSx;XpGSI@6n~266V**b#W7!5>cW+*wt91F7=#L{r~2uX4r!Zo>Q|j zK@>zP_Erg!O0L$5CNrXp59vve^$9w9^!qXO6SUNFs`+bihZ;;N``8#Irm1~EIraVK zO+BYlTLF^ABv}?Akpl~Ih9jPjL16Aax2AOLs%`X{+d-67Dkc(rnUAea90+WqOPdJD z$!;Sb-qX0JgW^#EtTgxJ#RKzbqDMp)3<6JBl&{0sb{&>dU z5sviF(0cgvw)#JQ#~;?w`sFcOS^SQC$r*W+JrEI&B~*ei%z#N@iLn-%RCnlk9P5kv zCX;dDWUUKqmODj{C4grHhiPP(@Y|y0&mmZ@vI*9#7L#4+zXSyN1GJJ#-RaeI3IVCd;4rLQC^1k?E*ua?A+S$Qie~ta7NF9-p=uEBk3AEcn7L!3UrfZ-l_hV-3 zry`2bc2;EsB1P%e>04$t{@5P= zX!BLw}=%A0TE|{9RNXL^T>+W<8j>uB}K%_JL0m<~a3b zOS7`N2R$s3#cDN)30RITHi$1SGOuS102;LVn|bO+Q?9CsFe*VN$rflq)rJJjMcC#i zbp>|y*=5!%QpyWRV?x+Ojr8vsMTO-cHB+N|&D?dPUR0>&3NBEXxLg6fnu==X#$sts z`kr_?zv}Bhe(R8qV}E;X8#;O0N;!28OqM&m5&GUkqu<`{MLOsjoC}~NSV;DyXRlaf zo)Cji?lhAH5-;DV(kUnjt&mChUv|>&MFpx!ziBVbu6j)7TD*q277XPZzBVX-v2Y^T z5ilAu#(BE+WbVexo2$X$vCX4wBm%M~#YEvt*Y?mb_W_?%>15U8dU7cTs2dTdE}EQ5 z2b+WnM9N_ro8JWWCOgui(_}De6_?bpu!#vFZ7L8mL*fmKW=TP37B)DhTYaC$ zsvz)HSrVRW1q+j06~& z@)|2_e4ed>^K5CU4JW{r1m-MCp`)1;LV*Qy1##R12@E$js^1qq=d+^3wjEyoCY?}u{F&22yZz|z* z@)F7l+siv!mf(uQRdawaEe z%4WB>EzbN(Ghm?{Z`AhUQK`*<)#b&#v)OOK#Fd(0CxMop#7TXwVPX{U}UC1Crcbq za!UHyI7EyOXa=1MEpvqi%q1roOhuu5wFz5J9hjz>%4)aA0-9W}O29}E9Gf)|lCTF9 zZn~^DaE>Q;JN98jJ%F!|x~eHW(QH&fJx!`>V%Z*RMVM zr94;GaYpLpmVS*ynQVT6MM>z+FQ@riIY!!=zr3mE?CqaPZpq%!__>)587gZOZ8G8{nj;fvWiZz9snr!{NGU-nN zsu)O=MxmoHE*7A2(4XpE3Lsn@VqerDw0J zqQy$fW=sO76W6R!FOHK0AYh<{%Y7}>D3lhWbFu7bhc4!p{i(uwJ-?2f)IwId$H);x^uof_?2e! z=&$AUr;K<*R!ucYaK6iUz)DVu=NG$fJ$ zk2OEB+d0{pyZ!e07Ocpp%GBFD2Mf;9u=bL|M@M_i)q(mx{=ByOq7oTQi!DcRL$W>? zxzraZf-tXN`)_Bs8PEhQ9(i}j}(c%3iQ2E&Hhz*lCSvINjxcpASrV`QBzcg#?pyd{P^-@SB0VP68>s@?7^k$6 z-lD$O$)wZ7$0qN&=r~9g1=sRTn`w@s%97e@YBv)WkYBg=UaS25*!s`sin7f}G8e$I zKV3G*VuLa7OV9RFoa0$nD6R@5FgA*qu9a_U@@d7C{=Hny6>D#Tf=I)GLO~d8LZxvc zlcD8#pqg7JSo@5&i+DgiLxfmV~hhu zFT1Ila%44?Br;^Ufd9L9tjrXnv1vd8F!WbsE+|tC2F>Oveb85D)_Z0{}u(1TX+# zUu8bk3W3c(=QifMQR*x4(3Z+8J6e-zq%pUU-|Zl`P@ofFK9axxk?H{eA{sLy000Ik zHvo*fWsXCw@O94)*9ku13D1DkP(A1fI0yp1lIgLU1c4?%#a-+($-L%&t~9iLrmJ2> z5;3=F@gPyx>U21yr0eW7j;1O*PeaPG>@;+YlDrQ92_y^-0D~VvkM1DG z@*2jEDL+Skemp;a^W+n`r#wD$;zzE0xnt$7GjIp$Klv*oe5ePGcg~?Fy!76T4?jCI zi6g|v#m3Ce;mEOYKJ$^a<;knRSik9odGii^A7{7fiy!38uWFj`h;QoWcfLOIKWE96 zFaGAHuq+&l7Sly13sshLsb&I22a)}nBn#`v=}lLTltaw}0{x{ZN@xjO78apSRZu`_Js(w-xk&lsdIYsdo;m`{GF4v>N>mqR-n z8!smx(i6tVP2%{-d9HStt!Rf%=C9IIkKiX&j?#(A@&(7|#Lmdg%f*t#Ypq33xWh78 zpuSVUK4Wv!h3=}OkPOD#&CHU{T&o8nIRjb8J4rC)I?u`I*+neu3LA^#SMC?=iza@a zU2cnG?IY<#BJ-$3gq)_lqMq%nLZA9XacM3cv%O@pjcYX$qO2!k3Ubu%d@9-dMuATl znCW$C#ofouCZjYalZ}ID!WOa>vWozfY>yrrDR$hNiV#aaEvxRR1FdJQUYTO<-V->= zG*%gLee08MvXIN?6BnI}xIS$BjI0{zHP~HA0%^pFGLS~sf`Dl{VcEjZq)|LPFTRQv ze4I9JrFW={u*p+(r&#SJs&`49KO;G$7pJPR=&EIGpVRk#jW#t|%uG{FBbVNBT)L=Y zGEA?G8WZmmsHPOnt?7(yB9F##&B^)47eh# ziw(q=;^H%G$QX%p*BN^!4PrJHYJFD@L^by$uF;lV!`l>~zGu*ja-*W`;q2a5qtW%U zCPWL9t#tmFK8Cqg9r5+i&e})_YF4f%^q``3E#v_#Q50R~@DnX@KC_=v(q=T$efl8$ zVl)9nKGCq9RCL%zU83@40{XijOt&t_xf~wI9)9w7u0FJ$=(B=eLllZ>ydsh zdf~46)aK-79#*=BQE-b%rJ}tSN%T0|S~4`1abv9xh7z?5nPnr3I#txftUQZ}owD6> zdZq>~xTy_^anpJ(IJj(_qn($WlR1^bNm14Zqq2v%fU+wwKuvBx2b7-Mc*Mk3)IL2a z0%3PDP}fDhL>P4mtyN=tc5d)(c^bJI1K}{9|F!j$z#c_UJT*vbcF_Ui!W(@p@49G6 zWMMJRcB0^nlZ{?60M^4=W>r$Wjcx6%wcWIOJEtLKhdZqI3PNYIL4vI7*t@Sx6RTQk z)zz~Cj0R*=e77SI^sNN?8zJhVqknL0&fb|9+*GMscd;j16WbDv7rl25v3I_hc8b`= z(cyzjUu_VbcN>im;1=Flp3|+%hR_oBO_0~5l5%%sL2DYj~-bj|S9A|{NvHd2UCFChxcE37Y8Jm0j7+cilFwa(P>*?Ggc z;m-YpMnzA%RxV}8y;?mtxQTiB{#acK-y@Gbmb$vH`b)(n=Ls%s_J~lt0t~<|GNRe| z)zkM}8#hR+tL5pg^>iWrFm+8`^f z{;=73vvL$=sm`D6QR@~#BtA+Y1-Eu)$g-ZsFZm1;p(pU`4N@&_YqQ#jLyM=s8EdgM zrNkOr&*}nU8I*3B1)=XsLaZzH|GT>A4tOB#*~`1at};6Q@5)*CWhaIffHP%Mv35`6 z^JTQ3E;qZ)_Hsc-Kq<07HHRVG-ex#$iz-xQC4a*UzQU`Iw2#Dlwl1*(I?7`0)zj2I z-I02%pfuF#=@Lt}$*v-qY9|HXv7#4!WI}f5u*$H@-6_!64J9N^4=+U(WYWJ@HnX~S zu8?K6Y-{ae0^B`o=2Hz{XmXYUHIl1PLfN>ZjS7UfW=&c8xma8oHD1%`sEK5h84Y9= zMcd;k+^f&9NKpkL*=%EUd}6L*NSF9VvfFZm$7u}$b}=vdxA(g>7+(6FYg&-Y8W{;+ zxQdeQeTyNCrbeV`IJ^7lV;g%JZF%)9me@p)!P(_(8W+^XHQWot4Yr@E?wKmEZm-A9p9#FFP){0652+e96c%k1n;_5Ph~c=SwBsAa=vDo@%qRhXlx4e~fxWy_l!Ze^Fv;ayU5#c!;j%$>@8dS0RUT;UL z>~|Wxy)&AC`zEIOp3d^=o}> z_9+Bj_zmI3}6U*MtNJaM@A$zk3s>Zr-E`OSUj8(X3S>4(l3wmzW z(93P4P&qQNK6=qMs6FPC#C$~kle!M>_0NlmPtJjdr~Jb5|&J3 z#rR!G8nEKm)3nwG1^U-t<+NMnwpe}I3a?=y7=5H_=9~w(t)woyh{5l2GgLWy$Zf!U zUWRYV>cE6metq)sBFa~dDj($7RV9mqg$NY8mub%c_`TpWd zxj_3d@PGc7GwRJa>>eC@hWzD({wHMrb&^iVcV_2%_2b)9K5BDz>$!l>xERsb3 zdESuyy$h+3`WuQC>#3S!B{fk4Op{Y(wqbip$Jq9soTf~`<-6hf`U$P1mW`c&6RD3c z%F_$r9XUXqCmM__r?hTK>K*#&>`j_ibpRY#>ZU{R%?A!*{n_7J*a}LO{b*kP^JmD^ zh4H){`g$$B8~DZZy>GsqaU^uqn=Yk(Ro(jl?Xt7Gl=7s8%kV%lP1n?gS4Ji`>mWnM zY=$gLZQ1N07(SCP7)J*dwl|~>0)Ff{h@TnY%g%fk`m84dZ#9**>`c{t{u_ReE&Kee z6Wq^o9CNwkQQkfF%r(-~AJ@QzHjPK&-S|?^l@hzp$e;|gAhb5|pWTI6-v(9(1bwDR z5iur>{oB_{9pEE(Z9iYy9q@vpd9^qsw_`hOKJBK*RKmySqHCt6u|68rY_9|b1Mtov zmdGXS-FS?wf0Qu9+z>tl4_x@C6N=D{W|Jn;e&t}Tw&8Yc*XVdBUk-1bZ9DbdosYIJ z^Ox)0l~g`&z3bxVLO;7MpZ^H*zn|}Fy$tJ+!mTMI@*je@+wW`BEr6G&2`w%i3%H_r5Z`z?L*yCSsRy4MBf{-DXY z@Pyu<*-(XjXPv{%+u0$%R*4_WuEQ#f+u|iJpM?^hVJR#uLf7`id}&c1-h>O8C(%TUcMH(EgsTy3sOLI8;}Xo|!#1yE zHaUxlJc^NQl4uw<+^1VG8y>O9qw_);`Q9!%_<96u{sif3HE($-Sd?Ro#GFg#e*cG7H`!y#&vbU}(4A z&L+y|?5bg+ixM_Q&hwc5Mh<4_$vyL<9hMZs1Q+&a;M(JLeVsIVR|fm)0|m^!nSs{n zNpth~vKhRD7TnpES=;BR;Es8q-Eo+2QNaBjoU6+m~RpzM@2Tt zpR!jCiJeO)1&R72zqI(@a6aX!G1I*4@95`#@Guc_aVdO7O4XiGfuaL5$vF;!7X=CH zo#lC5@{y|7`_6Rw%*>oEzm|}I^17A60R!^oRz;gB#;$@mR%W&E6^C{ES9>(N1TqbJ zq;gzOy;;-2qB#g^FD491dP;%YhM%2&>U|rJ^f4Gp4pvaCxtJ?PsHtrgNK!AsiL)kl6wPk;u%Ij#3m2qjFd2svy;kZYcAQ+qAM z#N3@bulLe?<>rrxTZ-1@U~RofgA~yf%>wm_q{0&ZhSF^E=JQ<=hvpDL-eT)uM8W1` z2zQWA9jyb3imE0pQ)V*q@HIHA;)#xe5Lkkrc)_O3DnUjA3`Q-+j_+86{os#FVAr|R zToM4p^?A$MQlN-J&uE~v))jNuN*xJ8+_=?x@$BB7kwv_5Zu}QVZp1r2Eh{YOuaO|U z528XbhBF28n4-Z;2iD>Yi;U0&T>@7@ITKG16GJH;=`v?{Cg-@~b7@pittlulEbFMP zNf5hn^}PA#*&gXT5Nbu5L4pfrNW~c#TP&qZk)hGz?6P3yQ48j9#uo?4nMK#MXKThU z))pj+XO__CC|7JC5p9G1yE2jH&aJyEk9pTJFXR-7sK*qM1E~@sZO~ptQ`=xNdRHIk z?C*6%;-?t^Q&^0gw_lGAsv?Sk@vXevOUIszU#JK{tM*P^TS#S7c2d1Uh8-I~Aa@rEs}R-mzv=YEST^9`mNqEk97c_Qq^YNp{ld zXV2ddcU*aIzN^sMx>FL-l@ToU6uJl?3GE~UO9<&VA*0)PnfWi@eDbIXMxr}}BE_Li z?7pyS1l?FwhqwG| zbw4jfgHNw!jmfv<&W3WfbX}2SF`)-44TY8`Dor!J7E;kc2=i7_Q`1DS#KrPV#DOcL zmIMj}Ps|lqaV+?7MK5|VIXC`hiC8+rmSTZ3mMuk8NhD*kUT!JUG415Wx<2~hBVy@T zIx2R62&!quX)pw0#uE=|A?RlAEk@?Q4WRBu_9K6*M*hgXb3dfQaUU@9CM=vKCsvv{9zYo(#N(v-jJPw5Ob~#Y!`|mT^#H7I86I z(}UIx#+5nwxYGL*N6ekW*TR%R_C}y6vCeulVPQmRR>+n>?{aU_UO=A}5+TOZpB@7$ zFXu>3Dawfva_@UPmzjS({`|0q&Y9s{ZuQq+-gz)JwsgncJ_geM-)%4M!qmCyjR;0W zZ@>tIdTZqL8jcuXZGyIdwu6+5xMt!eusBaEFp zKk<+j@S(rDDLEBuN|=mVkc!a+<7SzjLx%?tnCbQJBOf)nfai5W=ui~YU@xK=BrunQ zT7a;v*Rdt~4D(C@@UM)ZcE>yCMMWbRj0Y+}2E{>KL+$5gzhUVp@LpNX{8DUFC1#pH z870M7>+BF*d=CuccgYn|wd`leY2>U$2C)YEDao;t&!WYiI~Wm}taMxZv%b zr`0Rz=OhEv8pWibVKHQ2P!NLYSOmiAb)Qeoxh{SgBXelRU>3|<4-XC(Qk@ndW@011 zuHmazsI=yB&XQRf<_ZEus)o89w!9R^NNz{_mfGA4-ljOAb^(e`JGFE~CvsE}K1m}4 z2A;p)s|4jSuFQEU1a8`I#hrK`>!-@LDd4I6eYdaO#=tZsgnP*pkqU#v)G4nZ1QqmP zUiv9ISU;~DY#<0J&MyUEscoJ@NeZ4j(Y0S2OZKxu-VDW0Dc~?57-tTxJd%T~P$$9g zCe&v4r1fvmZ7qd+#H&HvF^pKD5(*%00rx^%g1Ea|#9+y1y-;&ACszyx62eppn3hpE z)WAINm_c@UJ5t+^nMh0#R3uO^9T-<69w{KunJX`@_`B>QqcX~MiYhLMZH}=;^A{~D6((!a5QQLs6!AQFGe(~$`3L+g2^@Xp z43RikiZGaFQgyjRwbBf`y?Vh%^7&X-o|%)oDHdD2c1n;b_0S=^>gNFh>I*7kdKypb zM|AQMM6q*H@T43Os?dX>R5)wIP2igys`?}z8a|SH2dC2Du(`w&N$r(-LPRO%8(RiQ zx{du~bH`ZhN;+^vVo<*|D`QY3 z2HoX+5C4***B0Zbh(x6L48{YA4GNr~7WAUbvqc(_^aA&K4GBNwj$VOdDz_9Qo#SZ& z6VqGo7Py14d#`~4K#as3P*!wRRz=*!^oZ&SB6+F;Kzw@_$$1oxyv%2;sTnx;yvK9g z_$Lk@E(*fi$M;6Sb%tJ(=ig_3UH94g1AvJyCWwp1^Arb4BtW%mnj$;ky{VO6FJ19< zum*3|q0+)0o-%H$)GJ-XAjtHEj(*}kK9zu&uq#e`R ziO(qe%b#0cvAveOxh1^b^!;Edd*%Q7*MlD@GtF;M=&%9=9ykUM2*2|1U&Nm5taE4A z-Q6P>-Z(a&nh^T2KNvS(W8KC5&i@~uykT3ge6u<7Yxj2e^6wnt_*YC7?$5_o=(`%; zYyITsSMvJYSp9*~O8feI=HaC7RpZu?Y)-Vglou?L0SQ-DoRx@lNLLv2o=!apy{?=q zTubZU&>OV#*LS7YHYD=EgA5iTLdIx23MtSYIjvGLjCvK#7|GHl+-?8Lo)yx>|14j^ zO^vVc126W26KkR2>+YGaVso~=0y^fDrb`YH-B?uwUJQVw9@FlBkdCEJW|>?NnL5B@ zjEFH74dM|UXmfF>6_jsd6f-Hh^GT1`fKI3!)GMNk_el=XJxLriRl$5D4$h>f{xXx1 z5*DQmi^m5sP!=*O22vcbz3L4+P5kKlOf!=)AT#bp8V#0+K|OO!lPEwe#lSqq+L@Gv ze)M?A&Mh(o0Zcv1EX9^ZMIcJ0h_R@(((A)`jkWPIgcIY@K#YU5^+n)JmBD~sXq@i; zK<|&vm)K0;K#4E~)g7|TNR>m`P;7wl33!41R*y!Q@V9l{@YKEz_r8r|v(LC??|W;f z*iie;e`}`SHWr6LIS`C;nPU_rIieGrB+o1S1WIuFZTe;}?6`aOh3n}c??SxmALhr^ z*WbGpxrM#|<^%M5y>F!SN^5s_PWJ5_={JW4+9XI-i+I7$vPJTLYv-9YrV?(Phj=Zl%o}^BmVh^pLwQ(uC)^>|1CaaAOGeI2mXKT zLi40|x3jud>$my?_yhkSLxY83&L2|E1c)@jYO}!V)-NLkG;7PrC9ya-@oO1UOO@ve zBZtM3c~!KeONw3b2o<`GZ5m~m8*JR4On~?Cf14+&7MY*^)#t+^gBFKMFewh37%Qer zS)dt}OAEP_cjJ3X<%C^~=Wpx#+{^CA<@JkAMouS~Zmy;k6{iqa45V7e;9WjTWdF zV5_Gu#btJzZwYBRhXbyilpN(sj^IZ5Y&#uXo19!(q1v?DOxE53GXF< z5Tu|(sB{Y8sismY5E{wc{^$kYC2D;pAr@J%=R^?4p_m6)rhCJ)Jw^Vb%fs3yNs@bf zD(F}f!g6a+;*qOr>)oQj^4$)<1ak-u{>3)8sPpxJ`4A8T00RIsL<2PdU~W}DsDl7d zPv2qN_5t+*95^?J(vf2)=cOJ1q_!BU-zH3WqgdqUR`0(+`2c{-&>7JHfC3Z;porUR z1uX#)zVK_joYN-j7q zfeXR7PI1-)(W~QeN#ND%xMne8olQ$Dt+vvOf(jEb2mqu20A^;uXsiI*9bDT)j*;7; zv6LuKx^5CJ+5Nir-ClQg+ikmYU1Li~mk5S{2JjNwmen3wt(qVq1jGwpAjtm$I%fUp zAI<#qA-*(^Zf7QM&gL_Ze$0(EZ+5EF{3_gc=zY-;t#G|9rgD z%0B$A1>EW0jObtKXGe4XNk?Xv7wQ3Z{d{%!RBhjdZOXIq7zcE!N1oxGt_=)z>t9MRFw$o}M-t?5Vc?{R2ic8vVL{LtzZ4Y^h4AJH~$YM}>)%MQ(3FveV810dMfSfVBtwRH|OC_xDknliRvcP(~o z0w;*Z)DZ(DupZnOlc`$Sc@`wsAWGnD!Dma{8GB8J?))LXQ0Az z#Sl&6+AY5j+d3&vmU3yup+m$QQxY z$meG%abav~rcdyzUTTjhHmjh>Ce$t)qZ5;NAV!k8S1wQs=uV z=j2e*XQRpAOUVkc%HLqC{OCDS9-lUui~qxF-X~cYh^rwb^Jn~ z$vZbW_tlf1&SFyzDD2ragq~)B07Dq0qZ(gi_w6-(X6WVTbj_PRo`)>-^2sCo@}K@( zc8L5Zd`<2`+I||kJn>(0hBoZ3c~wn%UF*7X9o+08El32)6c2QZ1))ws8|~w8C9Yv! zqB@dBp?O)-tS4dXL|THjl23hWs_GZ}Hy~qc**E8hC#CbKlNPCyp(ml#be{J+zNC;; zVmB$66dm6rA4heT$}3Kv=xMOyYkhsa|Hg>Ecqpb)S-ykD_#?@Ok1WYxovAC9ajS`% zfMcy2F_VC1?e`do$jn=D3|%=bLjuzC(=+jWGT?vg0ed!B?!2*-QqU}| zuNI01cK67^?B<$#ghfQd1!6KM_DSNJGRPoxI_a3`=+90HO(KAi$lqQVk_2YNUX;1g zC}@(2d*RqvMBLf;KkaH(k;PVfB`%lBCn$<%<}*oo*Pq)~r?cJ@1e`&*4kCXTcy06d zwP7an`m6A=%vq^T(t_nGrxYC*y+f9Jo*Pwq5(@cq+rDu8#Q%Ivp{qBo;z&$vKaxnN zd6R5V>oGuT-M@o@HRtuq%2e3HvTzZ-sZyQCs*_joFgvft-zzkh;j_tozBx5LILvyQ_adG zp#;xl;9l<7*w__kph8}{_1@N!zI<-KNH-clZRd+*S9|Qp*X@3~dRq31f8a_6sGwV= z^rpktl7N*@@dZw$q|FApeMin_wpxUk^CSFm)flY3f3&_Edeorib zZk9F{Uw4Mu9-y7VW1R{6w@ddFtV3KH@o@2|F4Gt2wkfb%c|A%ojIK}|0}jkR){T1E zB-smV?F!GW^Lo(fT=}!S>D(WCqR#XCLT(g8xW5MjV}Hi04sGaow?BCe@C1A)avXYJ z&Zjqmm~^7rr|j*am!{J)kXKQku*@AGhEDErYi$21$-{ZIABdTGGfvJVqR za!`RKa3XE=wxT|AcQ;B|0of&L|B~c9X;2kTn4kG)f%PUTpFLA8ECgi6M17}}T4a@x z_RI5kJ!S!82Wsj;c;EV)Av=5J;Jc(|C_C)&NnMZR#p#wT?=3BPJM;<5}>Bz1-1y&@b>=&l(k3LF#W3S&8YXbythn@wcHa zu8y^SJ+@I)1iqfrmU!2m&K4$2o(fDnPyz=^Evu0#`^vzbk`mA|IohtyCeh>B;cQiG z>d>R`>SP-BvhDy-7?q>|>gvyg3(O~em;EdspJq&E<%WDp6VXa|XyRf`gG7f@(_riZ zMj=djgLI!U#HnxNc6oD#HAkM852K;oq%9409sR?bZ2S5N@9C9kyvKH#Zg*Q?>5qNC zPp@|T!4#8e+s3KYI!82KEGTj_mtsQ$LUtQ zjMrJ(FQ2YABxgvUE7yuFFWCzfC*w5bC%U9uw4Xs+>cP4EUmq~za??Tk^=Nk&&p%7%!fIq;3LuD?7g zg3;lKvYp_aaN=VsGp6s44N+=uvLywgUAyjwX5{4md0lV0=F3KCva5C1_AJ<|k7S$h zY7&QHheHy}Ub~IGo^1Bx%I4%)duhm89Q`s3oAx>p!kDbONK&`l*MDvM1m_TT8`I3!iBI!w1bZR5 zDc$zC322f(`HfO)3nH*wxTd7N9)|G|;x5HOcLBH-s}flBHXc~^ym;bTKk4R?UK6`^ zsrwsO#Y+i{Msrps;*dTyz4)6aX-`H>sr z6tG3R?QNIh%Y@$0!7xPI&|5KO(f9h_e>fN@l)ulr8ySv+_R>$!}qWG$hNVvu+%ue*sLC|I`*ZLpGDeLS=BP=1ju$tTJ z&w4ua`i>_`(CUt3sc2LeVCQqng#R8IJSx8XqPpw``4`8oC#NPhFO#b$ON?WZZCoS? zyS(xb&XV>VV%_Uz$AN2HAPK?bwBDcn+m!l^lS2=iUyZN6u*LuS;GuIo4e=#UoI^hZ z^2Zt<>Lb<3m`h*Z&ty1N-(L==l9B8C^;6xB?63cCs{noTLD^;V)xGvX?6jrcEL5$p zy7(zfcbwes%#k0<#HGxQLS&2joWQ+1-<)v(0)p0r`a|A=Pw_^5M7nDMbPSfVGJO0~ zx+drHVg{16xy4|TAg_hBTiNEAj?uS-W(eC(Ld4_G$=RhiNSxXEeDEgg?z?k6p(;NU z!C*#JukYX|X*=H#cHhPjzWv%?1S;=x?Y_qIzwQ6d#IZIoLSJt)x$=kRzK2e7Nxu9i zCykXh{fI0O{$XP^p&wrq_65Ibf2Q`*ODhR-~4z<$qw*qGy)tJ-(IQahZ#7G7Z#hAKJBe( zMg1Z}L$_lI`XGuY@h2QH@ZXl}znI)wJh$|EVqHYH3m{${d%7Q2orUb0+*&bm9}8hk z(CmLPdiDr;2Y+OLH-;_XyMKWj3BAw$O<1kmKgh)X{Z=1$>w#h5F1H%_At+t=$3Hj5 z-83f3qilx9okwj25~KefC68X~$DTX#-UDwVAQ0UIeG z>o}?@=M__NV#U*%W%ydA5l6|XX={(4V~hdvy@QFW6pl7Orkoq(?(=A5nXDOut+2OlS1GvsCSJhkkTGrPsP|YN|ZO z+bZE^L+dz0xraR4$a~S@3;uFu6YCV_r1Gc0d#1wl_lbg6^5omxsG0MEg8IZ4(rt1 zZH%5fM?BJc2)~6v2~~!l|KU%6pH+7M(rYpGD4BTyyF>HOLprSZS{ubUaAjSNoQOV$ z`?<0{)=b>>`!8;@++^_BTAdp1@rylbOWhX>L-CnBt6Y1wur(W*+>JHN(kegIQC3MS zB>C$rH~6#kQS&nY=yUKb7D$@>jN1lRJ!d{jE80#|%VN)3*AnCA*1M{E5hag*zY7(b z*t6G>Z$?{VP-==O?$fO~0_+ihAJeU;L{1 z%f0iWR30ztPmT>dK5snLSM>JrH+<0gTFq2OV&Ww%4#;_zscLX`-jKh;2iMjokp4^L zKov9en`&paI1zd+Hb=LPL?ZBdisAg}GRSMt4HfSg*Ke&>@Azn{@C^3m-%;h??j3(D z{ao|^ps|GX;VYjmzc*h%Ue!Hx8Af2gwoQyq3X`ypR;<(KH@GdHZV@H@ zYbh(4p`VqDPp<0!?*AOgBNaG@zWk2QXHifkncJpye8;I}s|GjBk-dFT=~3Sz-|LUd zpBXJOFYvMgG>7kHdVxV)VgJykD8E}%b@zfFoOvtlX>DYb|9ZFeOHW?@>Msh#+xQN@ zO_M`0{+e!|hWZyW>)eN8o!-VB@4d3eF}u!wcrwe8SOlt&^Wz(B>~e$COMs}mr+F+? zqnuY+%|jCBw2yg_t*k~Fg2S!qrI|={@tb-292H9prV??2_h%jqw7=e+q??HEawdZ~ zlRcKAmM<*^EMhA#S)EjTq{#&YQin-uvfgWUDcYW($0hf^+=p$=PNMX(Xl(#FGz7(t z0>Vg91%{6MG5^M4N#)WhJ8CzD5-So+X^=yr3a_3D1QDSwGtSQv>PGEeXA3ZZ(+S2? znCrxnA-cj_2JlVzk#7xr9X}u?<{#x^Z!MlwJEF9Qq(EmPjsi~+0^C<4qMa)B*n)b3 zR8&8SwM8K3C3-tv{CW!BmRJK=s;NKajSpQV#HQ02C<``jKbM%Q!5ZzqmFDEU zZ5t6a>5mAUUvw0tt!{5P8VD0L83CGmR=xc;pZu}rQW%6fL|iIWNFxz$9k!OMsP|*s zJI~%-`;~vL82Um|30If{kovFjY1RT+W1v{~7UP4@H`>walNg3Vj!;xkgmPe6SC6QO zdpNKg@baGYW=BUe{hX8xM7`Hxq$LbM1Vn&LrDFhP4r8<1_I~*&uRQipV-?UUHqLrX z<_sW_<1tXI9+e^Pq>tZOpxf!j1VJvi&dChKfEj{>6Ia_tSj+CG%DnWe%ygONpSDnP?}%eYP}nxCp4bWsNPZRPk+ zAC6I(a&Zah4wwo#V3!s!KAr^epAm0Cb^&Wc3FKn=i#yHI989}|3Ud?JW~vRigB9E6 z!r_XR2FYO_L?NX}?8Oj$(;C`0?CvRmy(%t(kZgR;^SP!rDuTDXcnU(jEtQ>;-V&T5 z1<}@&DkHGyOyLnY2J+y0w~JGA%dCA8ZV7}u5<`f$%%-5+G0bW#>g`0z9k&^odZ@Qv zT3C#s_|U)-VUWeb1S=8kf|VSuEfcroVp}8tr>%aVVxCG6b8fmqSo`=dIj-Fi*O#JH zpR~5ZNG_!=P+_)H;zcbrwj8$0qCAXG-pn(ssXj6xN_YJDhpat}G=B)c5vr&u8^u6-e@}PVNp&&!Da-(EI(5+(1QWCf6 zWfOMUe~c;}EiOqU<5Z0T9jmPnf(hic!n9Lp%6PvY--FMcvYAQIJ&1C>rGyWuR?L)E z5MyytAY-$8;rq~b_C)PmTNf&?u*``OM@Tc8Vk#?7k|78hc>~@wbhs)@|9vzj_ zqP?L6d>Pe&1gt<*F-k3fZ<6f%w&gErhR>WCU~nprK@3=U3?(U?cA;FbB_(Y8hGH?% zG!{}N@`2DECbSxE{~{h z#CKqdz{Ft(A-cH5r9zHj*24rw2tj?Jp?M7X1L5K5wgujbLOH}!5DpYcJ4jY>K@NN8 zYcdzNRaN=8Oo1+!2*@xPAl3SewMJUzVKiXiPvg>R--zvz>``YFlgA|zDM=;hm`62G zc?ZVKgmYI7$GNiQy?55>ykyof%u!gSIMvSFpM(ZAUyy5_)n7Wx`j;HeNx7FkMl7nF zF(h>mf*7ormp4|W!)eHhv+b2EIEaSY0WPz7C-4<(rx*t|NcTPYSmi3+o6Y38=Gz{k zqGezvDx3(b?}T>+cc6lrk{Z4<|oebHTZ%YqNV6t4;=j`@axNo4HaQkKi_X{H*~NMrzVxrSI~K^WC!6+ zAxvGgOk0F5Hg_wn4f?{$5|eHqaBt53o>uyt_U&v=LL=VnBnWZ!(fz#pr5hE3z(^7P zKrJ@hm(~|BiO)?ZZ1;Ol+>cqPCo;4LGs{Es(ziOXQ7#U7@(f@5ayjtR*_0W4GhTWj zM=g9tuDRc#Yg_Lk;LNo_Na(3(tqOCi2O+wFSTq@5N8bmjC}Ik@lTE-yTQP^o(CEEc zA@HqlLGWb~UzUmKT{q?Bns# zWTneF^ga{}eYV>#Tb_1u@x2vbvxfKQgQRsmJbbA?;ebPjq|sgo~mAW8@^Vw} zvT7tqfK;IhYK;j{RSZMzCMV8#EaeS9Yma~`YEtf}_W8f1(-H8NnIIc#_at8sdKzj% z_F4)NOh|K^C~1wH7Iq=;dWzU=hQhC)gmI-B<~>t@&f=@Z@>%HeP9X1WpY=nc@ zft96d=xrdTSEQf}DzI95hN_nt>OHcLq&ICrd|3df;9Ij`@v9jij0#_QIG5CmD@##v z!B#@?f3ZH1>z}n>KvwM%H%z)nXtra543`u!8rCC%z-=ibN>uKf zm7DQGTc6(!u^km7%XY8PhAaRWK_=$qBImp{G%9Kh)+Q_)*MjqD?O_?8 zMJ7BT9E8@y%DPi`XwQ>3f81Y+`%gMJ5>ca>1Z(G1%34G}(s$}*O?h%9?y`$~jIv;0 zAyNaKwo|bPQy!G9#J-AKGX_(xY(lsP!OSzlwYmZnxk4uZOvYB&Ew=dD&Plutgp?Fa z>Wx4=6ogK!IVl%ku5kx>#pC7cNx%g+shp1# z<>?u~U=okfBvvfJmoVpi7>YXQz~!}ZSqQ-)5F`R1Vy)78?6S_xfw4uFtEtE3aKUjK zYi`$`^Dd?#0l-K(=OUz2Ru^9-)nd7<{5%0I=S!@#npm&_Wl|K0)sGZYgp&aIuP#;q z%H2RM6;Ueb(`yOy1%U^(*u*=Jg3E3A!BL2gZdXQQ3%o*9TcC!_*2ruGutxlH9=q2w<82d#>d zU1ntvOM=dWqHvW=LcK?1Ez(YwgY(NRwD@X_+6*i?4&@XMF3KvA_DK&|nN=X} z;v*t{`@>eGDZD_y=t=O{oF=}jDU?SukZ;1g^sb>|%#vdPQV_}(Q>rHqx*#JZ zSh6hIBh8EHlA>`;FOW{%I#V{xy;+OJSY`m|qOz|!U1ZdUx>Z`lMdDi^2Jj$J08Ydg zL&8rTZST3H@k+WV*ovRHgpKr@7QLq$Sk7Ldu6e>2EGb&WY zf!ab=CeXl@+{t&=rbLdHb@iA>YuwFaaJ9LYcmGS8*tFaAc;c`gvcI*Q>|6vO!ctHx zuF4~c4yD#^y*z5U2nY8pyDGjLOy;Lpx4rMUC6X=0<4jmEy~;~Pwo(yT)D@iwq}E0l zA!%^5!!WnklU*P#6!T*s9>XGzn3ow#Jv@0ACs3Mc-Pq#repf^x0j@|8gUs|X!XPM2 z#rGToTT%MpWgX?KG@@8f!PX)J_XwM>pBSJR=W~(r&J1Cxdu|T)!^511v>P&j&J-X) zNMWUsR6VN3o6W9sNXe*B{H=GXjY4aM0wqO6a7&IL7Wl*P4M?5RcmaPMQz8ON3dC9t zswtS0-r*=Y0fjE82as$K5CQ-M05e1cHUMB=Rb43z0U@rvlsDg1K~jX=M)J!iMKRL= zEbfN-?=6!Vxpf?sSNGpg{Qy8_hKy(czyS&cP=MOn%z?=~cXI}v@Zg!aJ{@2P5CG;t z)mDK7{7hp2ah}uH5d|h@`+r9~lDcoOs6^t%g$R0kRennYU|N-S^NEMd+ojJ?boht zZEn@>wE%|9pBsQPS-W}eRgi=LCjdM@fCPO00sI1FgJWpo=IG($Vqxc*_}>`z6FxjN zQ_0!U!VjGM^o>k2C-ITLFgw-x%*dnC({koNw6u`FF_mwpr4OiNp53v_H%I@eljO;t ze`LsI1VgdPfedp5@`xHW!V{wan*BFqd*sK+v#ty$XSAoe{xKBy{Ic**{Edw>i9hy* z%@Y54c>NgsH48`OQ@(O_e*HpEy_XA-$5He8%JbH##3SW?5`b(9#ka@FYpu94m4s3R0c} z9r*M+g5tDHmO|~sNHdH&UQA>G;*4DvCcP#nJqF`Y^XiGM0<6Bdl=j6?9-Re5k_e;XeqUHi4B+h zjhQd$N%+TXaJ@mrsj3jt* z>*2@g`D9Zl#*afCq9kkudTdnIi<8%#hdTS27&&?SnV2DY`7Tv`k`=q+KCCutM}dq@ z6%HA#fgcN3uK2dqB2cg52)V8H-^Aa~!_CF?*%XVAIB5^$jJ?hO>N1^^`d*UH)oFd* znlXBNa*r-78re)wRC{OeDau1NVWp3NN>P;mOQX0nmNU(eRjFJh*DZS}Gu)1+7X<6g z4KbycDbvcjX=L-_)}1+09>ZG6MaaOj%Ny7jjS7J*?^|G{>pY(!$;DeSx9T$2aPG9{)hpP=zAyy>CdkFfZItnX=yS}nNmVesZo75Uv z)y!o%AVAv_+ZgM3bFZ17WJ^m_0_tEh^(}|GDm#4$hj?V+)@(9 z;W_eknv84RYQz6-TpFz7Pxj zt2iLXz}5Nl%$ElMMpJej!49^7NnOMQxZOIRNYC`VJgXTBCM z=iJB0PUZ)S(CArKCt;)w#eGa^80|$an@#BTnDB32G3~$Yu$XS5!1a=y!W6tGx;xvS zoAb-!pBeM1qu4X$0esQe4hN1;w+C(nyM@vizHna~kM^vRbij&eYlj?w-cNY?4_x?H zsit@PbL#|1R`J!hVNOfP!Sf>1m=uG|{&mnv*S85GDK0u}Avc<_NA!sk{C%uf9#b>s z#2!Lub^*Lw=VwhW1-{^)Y`3crhYnSr+SpOiRsrfSmt)ko0<_yr?MlSz*kpZ>(M@GS z3f~$FtHwc`s4osGvb_kitWzB{Lp$X4c+-GM*Wp5}I2JdcTM?&Tcgf=1iwo{!_J^?A zaGer-^Mq?Em9gK_I2(&^;+#v7d5?QMUu4Mnx`4dH>nh}Cm=|;;aJAIr%W-$3jUG}| zD$u;-7S8X!J~1$9Zd-sbkbZdu^{t{wEva>gpXS5N(rLM163g*vq1kYy(#n?gIkNz| zbW==B%~zamBp}JQe6}=h=BCC16~hy3&oiU|?}=8-_%mlwmlpmB%V_(ikt>CAhj1C! zj}2yw&5qMLjfZB=FJFWx)!sst^QjbjFj(eW+8vycqOV17{|yAEvHb0yKlSb}{Qm0o z!g2%08r6ROieJqu78x~Un|vBitmn4ISS;sjfQpBnyZc^&Jy9lbpc3D~p$!94s;GYx z^T?H>)DN8DSD9QK6jkH>;g*GOXKl7F&+aV&-MV%3sjj z@TE7kt!hux#+1|NSYGjc@!2{CORvuf8E0EVw0LgK;i83@ljXBnmY@C4arg36$=u#a zC{cE{JQ)<^d@|l%3UpuQ9{VQ=x9MsKdOKxZ-Gv9W+*-&5UOR>5$+v;BoUCjGy;e>-(CM|`wx=_{!LeC?k9|5fJSyUpAASHNRngRg={WJ%8-Alj3-tjR!Q<+Ug_z>rS-F z@FG%eS*}+jjkb_(rG-}9>L*O8t3>hA#A)Q`X&H4Z)zvq|b@eJ%PiVCxql;WVshBw=4`*hA5 z?hlN(wYwn`Mc0b>cqX1~CR0&M4z-yEUZ1?E7lPTSput;9wRKnQe~>O~ZSwnbWyg~S z>b8sA##jD*B5maND(F|a1-eVw87KZ7zI@y-uJ1<5+V0GGV{d=;7c87(yL%2J#JbyS z#NXr6zvVNO6H?!gF0A1zdmjsP8$~`wP55XDF1}1 z#?N%?(BJJ+;5WNq3j(;t&aa5(QUGN@n!m7!2|LLR0sA+#Hn#CNk6WshN3uwOOUvkO z+!x$CTMogJt4<)=n-`bO-pX3LbjFo>r>7b$PMEUZZL#83cdF*lV`$=Kyj1sbbT#lO z-D~aQtSh|CPXf>rTqj4<*uoK&s}i%AuIt&~eF(UInAx$qI^a%v;5VAV$vYA$Ioi4G zbl?l!v4RVB#W=B!nfORt-N*RHuGoLk9d{bac>N6PBIN}qMdZ# zJpF*gSGN~?o>X9GiV02Z5WMZAect$J0eb;u%iA_Y!IweA1w z+qFE~Pr)uL-RzP`Y@dt6QdOFi_ES6=038XrmCXO$rObaz-f$cHA8J&ywa9Ns7xg}Q zz0$&i?2Txl`c0B9CWLFv=WS{9%J#Jwt5m0@bstR~<$8n^!rN?}-fa7;0uCxR zdZsQo-?uRpC_4)*C&DYwY&%3&@QLJ7CG_L+js5OJz-Np(dM|Kr=)Jqum09mpW}fF^ zW9J}z&qtBT%E#W!_3_L+yxcNRwDYMxs{U~-TluMl{ty!7np+248w3(=Xo_28_oI~m zqr)a}T!tOx`vO{T!0_UVha}HWO)&889>o93S9@9Dv>O*+NJo8HwM0sGxL&K8@YbKf zBuS>PJ%yPdQM`Bag7^hLh+%Q?qYiodM!p_4-*4Ye8RiS#iFiTyMKa9y-s$*~&Cg8+ z;fsS{<2&BPfdt(X=lzRlhczu`xHmfn57|~2y!mC5^tRpvuJk?uaqPj@5aCwU0BRxihz8G%ICqRg>-sj^wOB$q1rg1EQ|#>;*7@1k!6;Jt7QyG=g8 z?IO=qJ5*5+^0<^zg70Rdvt8C!^PIQ2 zF#W+qYAj1yeIKEp6`#f$+PLqBp1w`s{$S(oF1f%0#Qe!UV^{1-cLC!Qz~Gp$w)Zz* zY61OTSi}l{>&45oeLs}jcDcSXSkNAeYod4a|Kk0^FqQE;BqvU%Z&V>#(R}kgVaA$@< zh6(3)0Urt47Bk2(jL(@D4c}y3OJI>}m2*Y(vg^BEsO10`4#>YHxz+^vDKcHbt@x5s zxjCF@+3y5T{yqyGHJq``G!lzpK2s`Xp_h*kEZ@2XS#H^&PVnCvC+5olEVfc(!yM;e z{FB(q(z)2bz@AP8$fO!L1APT>V(aBwq_$5PlwiQta*5ZLOszsQfJwOFp9=j1^3G1a z7eDvp9uY2XY&K(0u*UoC-Ty!+p71Tfnj1B?>mc+&er(0W@Bi&|mVd$4`!{pg`+n4o zUm?BRMy!yal0&6a1HjsF7?RN%ZP4IbQ|q5w%fQOZjhRg2rT?Hvm# z0k!3f10AuCY&aljBD0m0t=aI4IN@tXk0bSP9 zE=FTFLmfcs8)sn#O|3Bn<}OpAmeQt8%{fqLQM68WO&kVVoMbtxk(8vYh}ddLAcjFI z;Hf$vQFN7!%1u-3BG3q(-g780qD>kMfhI`8Q=1%qd$%eoUT)SPY7fL<1)2eLYC=O5 zfxPn|J1)oa6PZ<1kUR#RVlm)xbcZq)t)!fht2jV!?f1qN#moNuiMbcEEkS|+!^F+J z*l|JCA}N7NTqK1v9$)ed`RAX%k@Lh(5=uJ5cnF5bNG@)23M#!aLI;O##gBU%E25I_ zL+wHABdP<3z!?D|w}?&{&Qq~6FU8{w$3Z)Xa=wp6LU-dFfH`W6z*sFP=+gi;ymO~( z%kGhvVUZgWCCn=+jBrW^FE+?{QBc#wGclq29f9H!=kAsXqDiZW5*%6$Vg@ZGR2r$H zW28`Q@iq7{ahWMi6mmgiY-%PPDjkS%Fz0p*K{lwi9$n5aaeeF(i^YEBlQ+x7rpgX` zUJ^jJfbaB_t|3Z$6(J);<51NyGY@31@wMu5hPg;0nb&M9Ga7)cG;}kC^MuaO+6|8$ zUxEJ|hmW6;_Dnv%lB7I?S*JwjlI9_U@W|9ERhSJNhpu*=e!1b{#{fflhfjRLd|CiE zfH(Hq&AoL|W%P26^Q!5J@u`V2BFL4nggSwP_X```tJCbbYfaEOnZAiZskbT2YHFf<`B~ z2vH}sadf@ft`2$vx~JM)UXw0s72gY<@E&FU`CUH?fPw3_tRq^%-Okvs9{QLkzdX~A zsx;C};rDSH>Ipk6f>aq1V<*i37K3ylgn}jyEX6Ns>C(sOR@F{Cy5$5f(}2V zqjUgTF@nv+zU`l0S+DU<3YExHHEA=ktoLe-2ihES)9QUaGB5jZk5vs<7aBhDPxOJ9 zE6WG~F+p??(h!@2%dvIXz$bPywdkUayZFd*G^T*ZS)j2Ia3<+?WHCpW{3@a3T@t04 zvs{C$ZoW3=mlP%{u@bK~?(4=%YLhFpdO9POi@cBWCMDRqgvr67cWyu~wS z&2=pZ5mX{u&(Z)mF+d$I%=2Y_ME^n6CP1W36QfDkbl4iUfeaNB9w^~wD3h#tpsin|9&Qh}lOStl@{-Y_D=LkFM=_SL`A z!Ql8T8U6?un+wWw1!?9fl5{8(%mS2wsFwcwU5?uSkbYuokM=cKQV-HtKnXSXLnN0H zD6JoP*>|4+r|nS&tO@2ssKt(3q%j$bsksSr*9n>5JWJ~RRO1GStdm2DFIoZLmm*F~k(lB& z9XU|3@XP@`=zchuLW2qDUDjmwUjLE%6j$L(yU~kI+IWjDsh4?Xgap7Cc3p)fka4AVg2zGLqt)^W z9Q;WFnv2LaxdeiP42%(41|!hDk~w>B2YC8x`^+-`h3|V4xtfN@A;#lA0k32MM4;%1 zV4FpjfU(C>oPDESto$ZW37Q(- z9P#!yKe4swrQS^phDd`)SKv;(%ul7T6I%iZ1*n$6DF)Wze&c0E*S-g9;qHz*fF3_w z949V(+#1zw_2qD_aoy>=50{yRDMcb6?kpaIErHVj7Rji1W*q=`zKZWHwHP>HV^ATE zbFt7tOcTwdNP%C(Q(E34Jh@fA+dL;&ii})R2&sK4j6s91pq@%W2EWnQokT81GYUom zA$CJ*N1V^N%UP&F5{He7@M4r`-QRxY^B-&RJc%i+;jqZ9mnvOb>5=V6q^epoX(zs|#gb4OxKAaHRSQ@;G|QqndvGl7T7tBja|1__4l9Hmpg=!X!PAS<=BS;MB(2BCbLM(a2N z|55FL>_H0h=M56{3e`h^x)4bSg>l)^I>N>PX)o-u~pukNb>X_6hkascW=UQY5&?Sfx{^mcNblMY=8Hb-5J@B9z zujA-lW)p?((S8<$AJpzG<10lFpelhf=Ul~zR9ZAMx@V;#zZ{2CRqC|^8%E7p4O+t@ zT^+-^m;u8NN47{W&wP`So3+B!UU9utVon-5QsazfA#pR}z=fbSPL9Q?2Gk6+ajr60 zfEWVT1Bxw>fdbGH*k$+Q4r+t3k^~UBR1*aXjKPR_d!eU3)}96S&ar&dY0Z~}h%J+3 z!j23i^fUk%NcOFs8(vpoMK80}PWQK|%?R~E$IzazclgB`tC%klOpGr_;nZ{bMX}xy zlx9vlCdhaK^PI`J9tcC#{TH+K#CD;PTqX1tK~3hm3MmYcZ_`Ivr&gs;ZSA8SPmmyS z0wI-3YK#_3qSTy7dEQj)%xv=GlzVH}us6_+6i5)J#mX%`njk=iP{s$_r8fUw?PngX zO3ma8WY*N`j67o*{{ zM)u|`q#1*tYa9z4!2@Z9Ax7n)SFHAS2eLB1)%)F#H(%eXnGdC@$R(cAI#hXaQpJGK zSV1R2>0OR0tVEGbPzVCtXoUabOB3^xBJhj<24uCw0%#PFC^&ZvBfVTYvw?PnHFx-v z7J%-v5@`}tD*^{a=0E^}u?B~Vz(b4Gt2%|OX2bpj!jt7mzxH}tV!u@#`3KZ2lXpY; zp`H!aQ_e?@=%^r4oWpx;QIu#D+*$~lYSmFDM^MwqHToK@cf^h)24XE(NQ2WT5USkK zp~<+yRK5{fsrMw+atkMn37(o^JvbDvD3T#}>L5P=k61oPX z7(4-cMe^z1=;b8HGjK76qzqJhua*$^Yqx5tKfhgRgwJJnxWT2vGp5-^MsV*hxV*bp z11=24r|H=}_b=C2Wz6OGC{f*>xY(l2G-k*F$bmr+DA2$V6(v%p4`4S-fthH5?4EZ_susGr1Lw<}i zQ#zYY8S=4Cps(-AW6FE+cnaUJV$#^UoVLHig&`fs)Aam)1BPp?=eX=5fwMIia=Wx| z0Duq>0ssU6Lqh~M0AO!qu9O79Y3w-R{5Jn)YPdR#R%(L~#HiUVu9i zr813KCqAK}>CkiZv9q)Cxp6d;Up}En zqM@cRx^nM%=g~8CU;6aVesn)qJ@PdNE71*>oKV8Tg2lpwDhu^iwQAxUPk!jeLAxv8 zJ`3oR8|ype9MGSR0m}W*II{hv_(wju^k-sd{$}$}zpziTkBzF0!oRd|XMXiZwlm8w z_|Y!C&vYGW*&n>E!Hy*Ro2QS5U;f2%#L#x=?DvPRtkC^t_^d~h-A}>t=R?`Q)4H@L0Uxhn}XGmWXGaa+B24!>U zL=Jw!Jx-tOC8X)qJ_6$!u@K^`t+oz5pNxylmnxiA1zRF&bs89OA?vA8UWFM&GkhMc zRdfEVY5w3U)}9N_<`&h0Z8SJzMoOUFmld!D`f4K?RmT=!pHU!m_l-_}fKuH^d$VLDh$6r*~YnBcA5 zl#?QJ_%d4O{VY`bsGy3Posg8g>uLbk)#I+qss#6esxx#m-Z`O%o%E`S;JNaF2iI1n&sCpIT!3$b&5QlV`ZZuH3>;S5VF6MiceudA)o^Yce^ops~7L1B_N{XIkOv6fqUdwqh z_FjL6pibY_dSh_6c+I_ayCVoEfy5CAGz6O}x-i42bveyMS{=5o*pZ*EDNNA#zv-t( zvY{2-2x&F@IdS~@D}SLA9-pCi``2DNpSZuRXG6}vU{6RmbEsry{RztuTl+5lU0L>5 zF9A&D|7;~wU%q+H0e`M}htFj^C%&1_HA1njye~LyyTtIGeZv(h8}iaH!fP92K)p&?!_z`VuxT>k|7vp zGsm`K1i7eIR72ohWy%AGNHQVGxCL2Ed+x4YY1OSAS(Je=#%hAXc6}sOXkzx9>->Ns zNGqg*`Qf_b-S}}84cAyLNSds|)itQ7E-}$9Z$my|a0KF2TENb*+D6vzyOl~p#gas4%?z*O_tr&~#%#%kHa&X`i)n53#8>UvYv6$rHrx-{;%nwY=E zDQjh9*IZrC*Dw1KD!e7Gz z)U*6oUKr@B$Mfk5-u5A0)olG3BuzV^c9`xP0wW~?3P8JyFYpu(&1q2Hu?-7c;wVN@ zJu5=k6l4(U>V{$*lv&jh45d)Gu}=D%d@+O| z!%{A_lVp6a*MGjJF!^YTx>W&K z)T+{5J=ZPF7{yeH^t2I9nx1vGU=z3MZk5z6XDy8AcTaAu2>W!RUw3>OJEpmLZ`Rh^ zZ3R^|^2)MRhGc;9R5>)Yv`&=O*{fEwifHs;2G8}{J)tHGkhR{iRhgj^TR>$cC0Q*! z@#rC_@AgqlsAXNf3suUeD?Loz>0|=CF+V027_0YCIeMbLDV@7Rx9sNAqk4c3-UJMIe zK3unVxxVcZ_F1Q(?w*O{QlMem99~jY5HPHZmE_7EGkkCQwSa(S99Bpjd|@-04E<*=7D7lDjQ=WwC2K8T+!DAI3LSutx+@js*W_0E|M*!$S?QBV}820DCej(zZ#GV{C_+IE|?sJBe?p zTj-^%w&&KQ>gA@pe`2a;UKelf3mq*}e623Z_3gDTGVw%zaPI)CZK$H{5{Z?1zE_}nXtrI4NeQFO>gRs zM0A1=R2el3U={5|sL$nH`*U<>zpyjW^3EO$bGts9+ys2AUOpanUtZ0RJzulSRvp7V zE(qoB2ZqeWC6QWxB|b0q)&d@!ip&48yk0t=u}B`|%m4Bi`Gl>Z5WUd1rJm{)$Eb^b z>-~w@%FOkwSyBiE+imaFQNSwX+Y^K2lFwle%cKDX3d$zykE+w}wey*qJHA%)`OvD5 zdkIr1hicc;7qjChN#vOoFMi#QA~3I&$OJ1Y&L?K;I>o2;zMkuw7iZ7Ii)2)%TOgp^ ziLxUvB*-E95M!)7ZO9PKCHpv!0((1tcu)m?2rE2`eq0<>E(XX;k}pZrlef??Mz zCZ4_<_ESjpcJOi6(7WB#jRJ*jr#{`o)@AOFBnlS%@gF zt#92W*51-CohD~lB)2wjbn{lPG^y?QcS2^Ue>1${SCnm^cZuNfJ2Ub)!T@KVYjeaQ&AX+^8^6aT8_Ug{UfS#` z+0T$)#iC&Q16w9GJ(K4148FJa?F`xTzi303#5UVFns+44-$$p1){JZhPQ%6gy~miC z5Qjn(-BGEHg!{W{o7oRat9^mzFOjg6?0sN{nvYB`nHt=vY|)|1c(x?|k|ZlLe4}qE z0k-%8=~c0xO$9@FO&_g|>>@L^!_Ic)mkJgS_DJvRuBhm~+U-42cl%z}D3k9_mjstQ z3i`o|>eQBGSn}_aQY)!B4_f%6u9psxJ3e)+%w#_<>ew@S7r%JgWUtaU>r^s{U z`D&8P+cs`QJIz#h>^6q;`qEMQluz4Y>oU2I8KZXf9P#6>Ci(F&2Zp?3Qoh?rn}Co_ zY}$7tx>YN(=8mfO%3SBrT~sDc!8FjYpTB?8pFrlse$u)$-lu_HoJGxS8S8%S4Io06 zbrmuW+0JE2@29%-9M9iZSiAyl9i74MM8fa0AMO?KM}B(3oi+CFgqIovHayF%q~fd4PxZlNFs zd6dKZk>ulb97>rLKePMBVDraUJ%8>!mxp_F?$p)}yGSqXJxO*?_Eaw#u)95@@(m-r zOUr7+*_R<_9^;Z8|7p>vDq20{H}4d{`L}{9r=@+rD-%6y_WdW0|2ttM=X8wUUY>~L z-eo9LKdZ@1>>w&!|ZfA-Ap zU+r3mTXi1suTo9VV!NM&DQn1q@k}rexo;%Zzl=MNnR&7}wnc92(6VLIZ75=yxSECt zX0n`NI8NvK(^>uhdQv~P`d_cUQtmk}xVSi%K1u)(tNkZz(}#oyHG_`*o-xSX{t^K< z(}3T3@0bi#XD188Ao{dC=O*oqiXRH#+7~KXlU_vCgY`Uh%Y?`V^FL?&LVIHPQ&qK zHv5_wcF<3fv6W(NwaCs2C1n5w2vQ`&$U5MGxG!EI&q>}Mp@C!hqo1c+fQz>f#TaOs zNu#Y4B-Dq%k(3Be-Wou{I&&Rej-J621m4dWR&t5M71tU(Jy#+r&fLN*mE0v>VT(|E z5W@suU`#}+??=5s18hnq8@NgOEZhBgLI+_v zO=Ode(1nfYfu*1OaJ-b>4_`TS2oF>AKq7%)XVM=5u<1y#8{hgb$zOevO9>&!(vblt z5%6PWiJBa<#a>wyTm?M<^CZ)`*dhU_Gvu|}RHz}KqTZB%bIYmp;jqgFrt3Mzy}=DG zWJ3`YByf4|mL`D)1f$|XBmU+SImS@NbLc+0EsgI%Ix43#u+R0mFCWkEnAqI>@7f1#&_OhK0~8Y4{{LPK)tP9R@L3^W7gepP*UN#ZCQPgW8>fx z)lN)=s7O4nU{+8vyT~A{y@=G?Qm)mhy=f_k@DNc5HAt2MA%Q~?krw&%Qm%a$cA!5! zb)~ztiUs17%!w?K#t@|~V`10>^``;t__4tL6U?nC6$e^M&K?V}gGg@~M~#|t?VFhj z^wD5!kp3g-^44b&+$@mOCB#B&S;z;K00@(m4CNjBv@Z}nQetj>Hsk4MTx!0if+WdA zOSM1aKQ___4MNj8B{Ui;9hEBr6k?S|H%O--vAGJ&H^xfKaQ1luqM!t};E60!XT^ls zlK`B0hR%6@934YAdO#^%$xBw23#ArJV!@;z5!a&vQb0K_Q|)!| zu~@~8Db$D7utZEzG-9q6Poxq79FmQbvC#{#(Vt!PcPW-*i$jpKu=f}rlq4DDIc8DI zss&$ty|21y$)WVtED|765QZ&)*)emeqsq^5jU1qgyE6YGQbxw^4j`rDN^BPqU_ix4 zf~yD<8yuHv`ah=i1nU;G#mFgzjDS~zKv6V@I?eG9sEI~wBE_Yoz#U^$9L!6H~O#7MjL&5b~Ym{+JBU}Kd*EcVQae&@GRy)EEEWVH zB?3Hh5n_juuzz7;UL+p5ie^w)WbjE&>Vc6X2oZ_AcX~d}aW+?>)J}`;YGWLD(jMsW{}-HI zIoS?7QU$2eV(`%lu>y*5Uc^H4;|_c`@%sE<13Zv-D%eONL%2w-{nPNYO6{1^5Ro}q zehl`W3ptJbw!I?XL+9Jr`#Y!Q+$S}N0;ckP!&lKYpIVg@J4OQ0j0tNG2uUL`n8W2* z!%@3YB^dn;S;2=9Bx3_f$GKLhGPkqgd}aQfW^UjY)jHaC>+9F`?MKd{^TXR~>>(%3 z-|HF+vb2S`Y8S{*7?dREP>L?CgPHmIVx@YVF)k-0uiHImm@2Awd<85X!eWOp;t*#S zAK2079bG=(ACE_$Pi2mQDJf}!7)lGhUSk8+wA?!qpq)Se$FHg_WJ(JjC;}{mWf%#z zh+Bzg(9ju=%f89iLW}5%V(z2RvvXTLVkkt82?~edpAIq3@Igub1?Q=;e+X>ld3^+J|A9&Hg19>Ed~OpAvL)J zfT#bwa{);yMplr&#lXqe=JDcT*m;>)^*GmZ(rv%KVDEeF{bDo9IUgALe63u|!%_~Z z+Ia)e#Y}g{eD@K4f)!A|Jon*qllbKl`Z*0f)&kXRWPMhig3UPbtBL8#c1ttYnpC@`sJ&Xi|wN)QL9qLjVXS#)?^? zsUvpeO*qt_)TEvvd*krk#8SEl{=S{!_2nL&?feZJ?Ac z*{sW#3iCOg01k?T1Q~_?7!OvsxprbqtsuB;Ca1P+LhzR>DnpYzIJz?^4=+QR%scYtUb%-h|L;91$p3G7(Gh}p0;Vet zlg{xuG^SG;>P62|+qv!TA_Fpdyg4$@!HIhd=b8_aEfOY#6ShnWcUX!mV|-2h4nHz> zf3ks=7D*MQiET8>JFlon?=W3jfd~Rkj1vc2M%PqMq@d(Zni-mH%6dZZJ_@Z0I1KTK zR+uuDKRG}dEgbdx^^c9k!<+8shMn*zz_C&>714I^Q}d}8gp2}Hdy^kG!QQCc+pwD>=YJ zk`jg>WxY*>VhU3pX7L2UbC_PVA+J!{5hIEi)le-Z{sS8kDKfr$aUXwM)Sc?f7u|xC zHP}Qi$w3$*AmFi^=d9Lf+t7tJtsB5t^Mb`KwbU!iSI}8UfvP_OfeEo?N0H0-eX+ zCaa38nYYvhTtq3vQA_jKiIJHU9fK(FbRFpO*k&k!v{*ThxYmNPkYhT;4;E02nP|SD zS`1lH)A+8ZV~oZiB>Yi!*3?8bQ_=;VfGZx1ltHdjwV&)ZiAUf=DdvRzb&e%AgJ?!t z$RICuDZG~1qjf5#egYt`@dUT;;*ktjg^eD33CBnH5F;3 z!@<-{q!<)R5%jImo=&Pu%16)EAs2fjw_f6con&$>7GGtRM?^`8)pzwy$AN(NKWp;e z000mW0ssU6Lqr2N08oEqu9VCGkgv(A|2+&O2dn<6J4u_y+g7<-0JJ2@xA%(?R$AQB zt1jQa1my$(h=|N+000`GSAZaGUo$lU4DcQC6Mm4g!4B&Xw*bOx_+qOK#=G$G;g?%0 z4Z2eL`zM!~J6Eu2)rN5r%Vjy>7d^rRz$%Ug=2apGsbU00BmT7t`&k zZY&&v4Imh>Yy;&9F&J);{y|TI{{VeKoM)1xlLswD&PqLnd`JgVEeV3kcYb~9!w#SH zK9r310^tG?d)*T+A{ANl6zUwTukpPirj#?tuyy}PeWzOetm zl@;KVwol!7?5{s|ZqEMDYsdEIwR*bW$1YXxU#@<#o$#NP&XMWHb?KjMac}>#dv|g_ zWvJtI=j{;O+WLQ8v16g3V)pL2e@$2Ie)Vgg>(|syLLY8?Z~DHkX&uAubnf!~y7N8y z)1G_uc2&8*?x#NK12pm3kbb}TJUA&(C6Lk86(2mJD?($$b21dae5{UskH^8c@jw1^ zte+|NVay4m>M;sXq^pOqD{aOET{c3yMAM~yVpu}q3IMV~7K^=@I^Eg(9hoW|v)S9`cLSc%nq~xeH zE#gXCWD}mg$i*b($Sj~aGm<)OR|TMT>!KZ4rR2|Mo+MS4yiA;ohQ2?C-5+K)=V=rU zYFl0+Y>BeX^^KLQFm{o(!&T}X%eK{7D!>K9{<&*R4rNH3W`otv`G%iwj{8&&;qs}} zh zgEg5ezilqTrC&IkL}x))U5V}s2u$B$tJX3qnA{xO}e;ppitmW%JuPn@9X>*^Ucpwh@hl)Q(hps+b!3 z?c^!j*JHj!U#_e=N-)g3l-yw6NM4^d)wEsYhO*`$=T}^kf2^ifr0E61-3KV>i$S$K zY^ivIeU>Ge)*hQ8$tC9LRcFVBQ6pG9vSvfMglgm(u3A~MYnNNpUuB(7c(m{1Z7f}R zB6hBIBZ}O5E_WK&{;n=#<1oq7Rr<6t`8mCrdn~PnfW4$PY|%q4b=FxXs#(P`iEfb` zSvFIflp^Q>vsT-N$*en$1&ngGnJuBzP`BUrDPWAE%&dugGs7vu5{;+6&6_bP9Lt2SjSN1 zf8#nOg!MR)33t-urTx1}mFzk_u3~x9AJ>&|qO6qM%&VEO5O{$3XvCA%Ez7PaI_($$0kB ztJ~^fW&e5qpAY^aSEqXX7;{j(!B=LxG4uYq(gFkVA%5aJ`#aPSY4PHz-9mgE53PIT z=g^0Bo4GDot=}n+4{2*>*S~)5!-utVwo}l7OLDbcLfF&Un6=jJeut$>Qj%7a%!x8J{%iO zzsAh_$pi4-Hwp|kbi8}1PvajZY3WB$zB|}D#|zig0lp(_D=JuOI@$=pDsPLDJEF70 z5i2po*Xs^Y_JDA%3V|Vwn-*-_(IuL_j>7krq)BB%$D-^=cs+i?7eF+D<#jF&fV@Z1 zO-^Tf?(qJJSwi{s>>5ZvUEl|G&B<>4^o!PIwfp~__)HF>STYW#R1$$rWv_snMK|Lk zwG|VXfbqNYZXL|kTR`w!!!hNskR2#*qC6Twi`C^*M*-OYzIH$8>@W52BZNG6z0ezW z@oO5yQFs)tz&qVyfV>`Gn#}dO^&hDR*x2XA0p1z_D-ai7fkszry>|Y*7ct4c-a4;u zJ>~H2pM5X|!@(HW)wxQ;RM(h%=!$d-RpFWIpTA20|9iQBfni~kL1krn@O27;8R)Ts z*Q#)}kQ3@}-{5azPO13m>P9~HZJooBotzn}Z|ha)uqk{ej&dmK{phinz1_;mA=h1U z^Db~qcD>=ddQxtqNd>&4)$aA(ywdns!t(}7?l&D{9HW5<$j?SM^V6}Qw@ zTW2i}AIRb{iP-;Hw`I{?28I(&pQu5AjliNP>F-nCz+Ja8Z!{V_44?c<2!2bU#3tob zX0v9k?Yb86CSQ7uo?XVqqa9#|_b|z~A9xDmrN{a4C3SZJut^d~(TR2qxaYlc8 zhpPX~>|eT}1?jSX>xC_xo&T8$zxzSg)b;)b3;M;sWr}+QQFx~RMGoCk3Gyd_v@s@*QD&C>3;GakSd54z7{mg&$zt*!G(%L-sJ%6@~ zG{)q->RAx~7LQxx@KMp!vim>Vdu={BzXvnLV-f8w{rJD0s9EwUZgKZU5F~e6ZzNZQ z8+5mk#)0#jSB`i$9|cbAMe}Ujh40@sW;*Rd@i6TPpQp&JeV+%rXI(c$>q|1>Aovc@w1CD3&eD%e^E z^BRNR!0Q_Z>1RF7>TS(sH5+%a+!`w$#(IfY6B-ME}@ zkBdWE^X9za#Ua{IHezSDDXV~ypC*+C5X8dhfsPoFj;2cqoxPCD8euz{U)Tj)M@?U% z2`0{Y)z*o3iR0TT-gD&ty&#X~7d8;vW5FxlXVFFlM;Z9|snFOYU6#4WQ(T-I@Z8HP z~5G#Pov8(OR>%yF!gS*$TYd~-pg5ae`s&XOuig!t+}+} z#%*lmOW8XHAxFs!yf|Oou|*|5AONG<0%4+f^VhB7w^Jt?hP}n53Ng;jUFo5Ik+ZCK z6IOi@`t7r5B@WWbZQRB9f;H#WRgmEmG(ec8D{)uG)^GZaU}|-x@&55yUU9WnyhM%pUGJ^4;d9Rd*k-k- zuPeCsbb%f*PR-!ie8U^@%ggHp`&TzW*IHK!rC(tpE{aIkK7@YiTed`Q7&)-9^0qe< zh?;e!EBT;#+1al1Bpok*?Py!N%8O_Azl;wdH1A4z{p-Wx66@Q5uj_UWVhG#MyiU$i zLF2C7s$O4LoBT8lcz+tfd+9C(%(0C;rW;!5OZkv{b*0hx_d~lH){U(V*}i0ApWk0$ zWf#U<6kpfTc`>%S61~h}?xWr?EquAbBj2#`8&7;VUWpXa%d{&+&9B#iRA4QOY3k@DXgp1Bi=be-2{@lDZkmFew+z>VHMSQt=x|?KH zol(B(#=93GpG4!D&G}&2pzi^gSZu_vB4 zZ)rSzxMg`N>GzFzRyE-+U^?e@ghP`Qw+pPIVwEND1%u*w(<#-=VV(zNdquU5PW+Qc zTq2xhRXEE24~pDH#uUwCd{*zylxlHARd9`4E6n5t-KW^$yZ3RD@z(=Xs_6mD4H!wr zfWBBoM6i5`2HT=ADWiivPIeKSSXBl@P1WwR;r1m8;_^7IE`3Msv0o{QTWc!ev1)yu z!lOqR(7UWBl|!T6Rr(2Z)gjC6F8_CSkw|ua%%gbtwADzJa@2H2A zngDGqYgM)-@PmclL8kPq!#|ABGs{-p1Kt3}zUDmEO?O&Ws)a%?cr~&{T-3!xg1lx| z_n#IH<(3#Dizccj7X9=?3lSoDsRt{zmfI#@-o{qR$)rEm=(_-b_^TlWyaxf5+(V|t zN-ybv*g^tgup<^?e%oOhFa-&PaT3JLPri<_EI>ZFyY7*#5 zNPwa=64?ivXkVmrG!jU{$wFL*#~?)$kn#aJirXAc&67;Kf>e}5;k8x>PA)q-dTtZb zD=8sag$ty{1ZfO~tZow-sE~%Dj)FLO7n`J+U!xdo5~RTeN~=qng=-3utnTd{)+pe# zCZ5&Vk02SBl22bJM`G&upML^2cTBybf2mW@)AXtGvpsa> z*7)up3jKoLdq}|tv%@_x7DfWKI0Nl#3|=MdbH1_{UjE4=I76FNEiHBBZ%C-B-1(R+ zw?CU64#;W?M2Ju#Ad6ANj7~Iz5b~N3JVI_VdfRAale5ZbuP`d4?Z8s2Ic&*iWV*H{ zk%o)c`0q4!Tb*ed%%#+9%9WH$q0nQU#Z-zwKs*XWL^NH?R882isI>wPIA;AR)5vP% z7G$Y2M?7C__Q@jC-hcyv$KDb+O-#tJgQz60HE^Vw4i!57DLEj~*K@~Z9EZJ1Nh2zY z8PKvkgH50SS8mzdrCyz9b~jUOol5$oT#+tYk>naH5|C6mbzAV~K{viT)&9B9Us++L z5}<2z?{3~_oBh7poS!Y;tIGe(hR@B&$Ggbq=-OMk0hU#hlJEqj zXpG0wOf7+XidxZTsx>pAhrU|}Ww`U^`g_~?n@?8NPLjeU?#QDRA>Dsx z>EctiM3jVeK)uPS73-UXP_yo$^B`ewAVEEg>j64pNxwV>q$d5JOMX+EMD%nVrvswo4Q-7>e(7 zkXpDIMQ$0e?&Qw2x4^09*13y4|BoG`JI|Ay&yI%!QLDYBI7_fp0I{`#s23I7z4n&P zS*3xN{>wdHEwp6ey_W}Zo_PNWX{~rn6Q6N^zSou8Jy#Stf=g@Rduf`M0XICtd^IOy zDhuGHClJRWcVPpf#O1UbMF2M8J@^^_D&anIG88uFJyuMSritsNTvTA~tDtd#09+Rb zda^hl$~~%gZr5LR?6rp=Y}b^AL>NPogF=%CCvUkwYh-Q7v}-f7%c*2m{#2Zj(dgo- ztw9M>$RHF-u*8t^1)W8C=y_9(@4D}QGG8ys->{srnDl}ht zkrX!!_dWZeHv0Zuj^T>x+pWueacDR*t=2>SyY+dZ>QViDS}7BEbiNCo7%jJOzwu z5IH|vT3AuPEUD4#k=D76%PEz3#PTmPmYR%k zTtS5H=SC`)VVCt$c)kFR^S#uWm-M0bxxX3GYLft77%iza$RcWR!Xb%m3y6!|Xx2O2 zKo(3r zm4ML<@qbAQKV5lqp7lpv?AD%SH^X{t9&h34)BT@2^*>cwf9nMX1~s=Ck&J$k&Yy3E41KBB}o++ zg}Rzbu7Mw}sZ$k+AdSpOX$lw%K!;?74U(+%-WuPY?NJ^kRa$c-E}DTEg@SEVhf9_c zy~=Y(-)cHdq_-w=g|9OOmDl+!XYLSW22cG3dIsFKPY< z+SSzA4NEtmT&UFu>Z}8qLPjzn1!IOB!9cWihTVB}lZpq?3}uUs?AKB)VAyOE$lHMM z^R3hD&Y+uMN`a&XGPSTYNYO>rLS@{}lqp&|`|iBD$pK=C6&zHjAR)QJBzh9cNSKKM z-g(I9;ahdBrZ8>;!fFY{oIxUlTn7y!HpyAT$<-Nl=h98n4mGF;QSq%oDT0e)o*-K~ z2y`wrbJG+pqQD20k_a5-80oQ}X&osWAjtXC(2J4QSqPWVt)gQW4=-7@C@0G42a6z= z8aT2$m{4cEEi-Q2YRXhCp7OUWhzQQi=`_x23~+Yg?#39p!6p! zkxgAv@5!l=ZxMy#gPs(IB*;K)GQ5X>L$T4Xey2{#8~J6kcKtG$I@!6|HR#3IlLX={ zvJ^BtW@Sx}lX_muV?6{PXF0k2e14vVW@mE7;7Cvs@IY}&?Z_mCsPr|_DYulD`AvQP zEK`mAxY{|$^S!{lSaZ;k7`^RVmS{Po5P0l#MTumku3{g4kv` zcpM73^^e%ffrtX|w4Oq&m*-BVwP1=wm&*^ZMcj1y|M_M&e@r|{`v{Rjwyom_hOn_Q zS+0&RS<~)i=eYYB`8?eXo%V=?nS2q@l(-l%&_^Q41bZxDTb|%g{pRtMl!T7r7F=>i zD-3#lkkEFhP<+j3xf}~=>SLXA>G6-gZOBmhnJ9pPfkyjvT@~fyFw_bn_vBDfA$MnD znnh&;i7uj8Y^ot~fAK$r*hfVo&@QMjmzsqlWm5Z>t=q> zs>jXF%kbbI^_s){!TmY3{MCv?1tdY8hhrzPAS`JQ$aHAQ4H*Vprkwg}{k`W(qLB}Y zq_HZK;_NJoSZ6}~19y9+d2f{Wqg@n09lDlgL-F|*KCSLk|uJmv1TbGZ= zm-xXEmFUiT*xeU8KWpygzLC$Zfs}DA#{cml^i<5mo-dh84t`j^nKk#U^@<XYR5PSoIz5lGe+(Dn9nYfYpoaOApAa|Gn~ z^mCa2&=3#<00RIsR0JjfU~gqUl?#E$AI+P8-|O!2QHLVKmI9D0z#5qgN$>WRvw>wx zSu>CSoz;H;A~OR-LjYz_0AdZc3l1iL)K`~VfG0c&Pk!{V1C9Uy!~(Wj1$F>INMPf5 z60wTUpt!d8k4G}LJ2VV6u~?j?0f&vF8XXr4a*d9sM+;P`PELzr+^o~-QRB5-nka}A z+9JLH5CQ;^833$217~}jENDyJy@k}4WCtOvh~H{&e{FC6@7~^Y&Q5KTwO>4+gt{== z#A@Adtxv*%fCVTWfMomW0LS?~v*=9wN1=b}p}%wKv#PYBgVFXDpo2z-SV@tbJDmVP zP+$1wo!fKYo&!^gHr+p1_@kaUee~l_eP_cg{EQEG-quGi#XsxF!+zupeZMUJ&IiVo z`7!e~ar$Ql-pGgk=V-U%M||jqK4&&p*Xcj*)XhJbK8>x7hna(um6?T)iO5B=^nU11 zz0Sp6e_;RVLFearbeZ`@pAq}dN@jeyxzDd(k94ynGi$c-Y}ih9b?GX5rcOazS2SVI zl?}oRv9Mv5s9_4W>)0CEAOv6a!rIC4Bf=%>8pkUcylrIOuV6Xnl2d76fkoglPw7?{9;9 zXER@m*vw=v`(=;JZq0r_^XhCt$f3iRl{WLRKSiC^bdIV3RtUYuXfO(=B*5xgj85T5 zq*i1eUGq-dUR9P`|HzWBrKU2)bzHxqYU&gE=^WRlq~}(E*pcnnHdNYcbNt#X^#zHZ3`G>4 z@#>;Yp{Fg=impe~NY!%Q&*gu_gVa^4Dih-M=tV~l0C54^*Vh1c7Itmga)IJsWybVy z7Ecz-f|3~C*+93V+DM51d8ut*zgqDHyT8g^*y=`(^gbd$L5EVcUN= zH&68vSMeth7pXH}a``%yBKg%!SI1^j1r)!cYHPY7ZjUU5?#;kpQrmPWh^g#y$K;yV zGL32^T;CEk{0Xpm@%vOAjc$a=xQ_W#sI{OqvKZ#Sb~&!MG@t#KrHWd?xdQ?*8{fa0 z$Wc*oVb{0nAp1~qB)i1&SzCdHbZl(6HjbU>v-oLRLSBm>5=rp9dQacIH`k1yzWT3r zm9WineX;T}^KxkGa+`34`#)I!Vqdr+aX>AiM&fhamoM)kVMGidV0XG^dL@nJE#ctQ zdHXST;mt*8&QF;RTac?%$x*_aaehy|xaM%}Ng7Q|$!PN3{BM@Q*|8@P7YLeJRe;98 zCn$nERZUYMS4c85yVWaUXu8OY&+8CIv_9Y{pXyRS z)ibe6eraHeIk4E9*2++=vqI$IPH#Gt0jd@1kbLvDWRWKuusM{xF^)m(vvk`&OY4&- zs(1a^IC#7IoWVzLGKn2)Og>}Folm7)Z3|=BCDaxl91C=A%iA@q%<0<$-L9g|C!RP1 z&~6YNAN;;@L)Ly_ONo`rkG9|)o`6N$y-)BaqfPFKH`@u--%SVUHd=%&@D=xMqr4>F z+%5brUMs4#nxaEDnp%JE!%ll#legd@VGA8Tn4R-AJvx^fluxGe=-=Gnp-ABO38z{Rg<^t_X;@9JEb|A-v(uGn`{+-_9;WRC-ciLTpSMye|Tr#EH3tGl1mcq8qu=2WmyN62I1lo_)&OX!d$DW)L zq|)|&I^U|Eo?!f>yYH&XtAPcPD{FJ9AzeDpdY;b=ZS@G;)xqoDqj?mmy>YF!iu1n{ ze}lHm$*scXV6vco(rLbms`uwx5jWt4z#U(bi;uMMx^vy!RN{IQ2?e^%FwCx;Q*Bux>|E}Lf%Gc*NZP{;oD|Y^qJGyw` z*^^cbUaQfpLQm+;jd@!w^4Hq@zp^0w^^CicJ((^gbbcP(@V_^k;87I^Q)&lxNx#9c zet2xh0@}l5KYNKgnv7 z%bHZ~`FGFg_yDdl^pfYs7wadu<|jH3ZAMl`rtP4223yv5UlS!9z4&=mDx@^{keMT`WoT9w*(pa}}b1_n5+Bjo4e({VE@cp-^D_ z`0V_?{sY6W8JnMm7iB&vhYI$vw+H=wGk=*Ed=?81hWtT=`yXl6UXAkMZCo3?e(QvE$e!H6-@tM2yGP`Oo8Pj>%83=s@-)oN_bhxI3;kT`yZ4^N7|nH zx3jk##sC99xmsn*pX*YLHF0&?4}kr{)u`YS{&x2^nRoe=IsV{nwY>l zti-7y@1C^iZ!Q0B&n;~K-{#t~{~wr(WgqNNq4%z0FqAgC7Y{4bH|OOvbYn98{WDqK zjKzm6Gy!8|1j{mD?#$<;h79s3(R4i=IylV;Xc}d#rJK#(mSBa9J>zpydh;4@-cb& z^b5TckW~wvbInw^Xgt;BcF&XGfwFkb%y7ilJ4~fkuLv?ntur5|HVnXp_?x{dO}LI& z-=bTjdTQt>XZm_+~#wc>wPfrT9iH|pYgE0 zCA22?KVhWkFa`VzKc1V9{;@mNcp4*L<5t4W+*{YU?!3^^#cxqDVQDU_34vWj_0UGC z%^C1#zq+i+-Ai@2Q42MrICHyoM1s*JxC-K7o;{h)huioJQuegBWSdTyj0yL?8`Dzz zeUaJtaz89jb!G7IoK=Y!-SGjr}ycIKg zD&1}pN4cw%_{7882o+ru zhJ<+C_H%Ht@jB9J<$UF{UP7Mwq7 zSNDLOm*>uBaxWiUuZEvKSd3QA{G|rXmxH0Irtewung*G@d?bomnXe7Cf%Xm+RT?U5 zYGzW`6-Y7iB3Vm<&nbGJPk4;K!AY{>Do|A9k~u@{e3}>1Dj`!stLZH@!lJ>a6pFm$ST-H`Gmhj1+nj zzbg_0S{M5iI5SY^I#+Kfi;SfQFT$naM`LJ)--;y%c+wLLUrf9iYRnwKzjE+0GURe> zY<=89Fm`Ub(Mwx*qkxk{S*cx8)oTpe%<@u^;m8(!MTL&jAAAI!~TCDswzuHBl{dilx4Kfza~4|$BoZRzZHu_}iXdQ!&f{^ga;8<5`PV$iW2 z;mo$}XO=}K-K4PmTis9*FPQXmi&=w+Z4*Djc42%yPWtsUv+yxH@#f5|S1__!_Qbfl zmoSplZ>wHh?u&;M!0zR;uGd&p>d@jS^zCA?p>(;qjCV7!77s74f&*jQ<2}Ce$a5j| zJMqH140~!`t|m^WM$#{6k<&5o;OCb&){T6b($Y;o;n?~;_~?cd!lRjoCd{8*p((6( z*zfkDuD?}##E!xJwMfcs8NgvJa?u^XX=hqzXv=;tH#_lwuIBy5hv4giN6Xdi z{?*O3zg|HN_aVQ2q(BM01@(fmQ0X1|+CGIL%RUW)F}K><%*&wt?sswW=W^&=x~qhGyvJWo2e~aSPuYI*{J`d#y(!xL*H<;M21|Hl+hX zn9zKL*KP7)tHW12DjR#X_L!8usl+>0k#Am$4r4AGTUElp?(y@U!@mf8Z=XH8mfPf` zZSGoa6^^;OxGY@m-9W#8$oLS1t3(d}^Z$ma#CKY|yZL;)Nmt1X8)e&u=f+4v%2VUk zjveNz-)NhO0-ZD14EIR;GTosb_cu6Zn*8a$J>(WNGXK?I9(5Q^2EJX{o$N6>B(FM) z4^qIKHl9X+xtq9i8GHqN7g>U$aT@%ebj+xPaLFG%o$}*8*+(T`#_n#HU36FJ`wrY) z3|2ME+(?bg+_o^1kMRiWm*4~w~rB61j zQnS5o?>DK3Mbi>Bp?Nb~v87fq_bWV5=%jafKmQv^ozA3~K2gzuqM&IOZ~1c)+9QV|#EZaV;8uhkxJmN{Svo9kO0Y0l7mlokj<)_9Ns&Qday7L@ zzz@cOa#AhDpaCZE1KbXd`p0a9lv8u9MObPS^aiT>6niRYK*IR)gLNjU&PpUOq?Z(k zILJY)!cyxo$l!r*_)})5zZR1d!=E?RR)wcQMnln5rd#nw!%3P>0mO_39mYoXgLG6s zGaroe!|`$nyIvy$M5^`SDGU_CSVox@ct9+-(HF>*r{K5b^w8}o0dh#lp%iNnbxEtT z)-^nD2U{4dUmou4lN2`ggM%Z>C&Fhit`PHF`0;-S(`E{AaBrBL`!xK%03<5a(X8h(WHnAW=0} zQhZv|->~!;xiVR#H3*A|&{!O)l`az@EA&WdQ-T9%t@4T|v^J*8ViiXi;e@49LQPX? zozZYZ2-ww%Q%1NF@PEG(d+YrpUPyY7)Ci$Xz!3=f>X>$F%wmLLy4!*jL2vI57FF~& z2n!qCcRc&!&0i1!_maH93G?T4Ek4w{KX>@%+IJq@Me^v0EYDHpCR3N2_WZj>@-e2! zdRdSOUKljB(ra*K%rG&`;MGB(KhmWmz8F)vIygcW1fo)&FDrLxsTg%eL80*WeMJCqA5jNJO!G%NqJ=f45Omy z3Q17s!vX>`IOO7+luaI2N(8ASc#DzM7%(QJRyvC&K;&CX1bNAWe~D$(mku#3!g-S!4jfjXnmonrH%&>RE-^1=++b_7Z=8Ao`nA(#u*Gm!*BM8S#}SBpTutS#MgR>jHUiy@=OA{T^&G|MRo1I__Ad(Q&I z;M1+fp?0PCvR*sbPv1}c2!3-vrcD|edi@#b7jtyF{EJ5Zp||!G2*`2n64%^!)@1g? zVR~!5^B=(D#eSS^St=obTScjfCaM&PWng2954wqfiOxa z(wKA$a?oH@X{pyk@sv<5F^W=qE)1;H4g2`3>B_(m_lkV0rTb>j+Hj^dmm%x<9|{X2 z?$S;D5_`nMpb(S<($yS{oY_2wBm}YRqX|2bm0^_xa}KO zjN*MP<`CL#r4_I-=`(RVN4aL=?|lsV4EsAy9$(<(kUqL!!hgbom4p5#eFBunSN>mD zEgxYX&G2i|KKHLJFc_p?(3DAAL*4GNfZK6DZZ}JO$ z%LiYH?T|63_&M&Fhzb~5e~_%mgL(Ki7)WLE!f|j$Dy9q;Vx9700xH2&Tp*Cxifd8E zPXq-Y>T3(44;(QQ=@pV^guGijS~nd6?#ywYJs!0Wv_j za*lr$j0_OvNFXI6x>hJr3>4$cM2UXWR*&%d#K_0(#@B#;LgONIQ)M-jHCUOpYyPL&IXpugo}CemUT1GVD>&#a!=S$>J#q??d(FKq| zao`Yn*yIC068`u#h4^MN^l~v|_uX7{=X0c)Xdo6-?-bBBYk;JAqKhX%P45MMjwj%@ z>L0PkAnL%NNtyo)S$M!2MYV>DPQnjzHUO!7Y<-Nrn2be0K|%^lq#4yaD<($WgDM8W z0VpUIb@$zty@9y`6Gm7Oq8NcVV#Wa|eMJ=O?ET-*HSgGiMdi!*`nbZYdICfn^*Qcj zNT$URJc}4CkWYz%Mt8^GUiiuWmQ}xF<{!z5B)t`S=15B3feBR{0HnBk>bu+WtYu}; z!c0{g0QAwh2gE41~UfLkxW`2z}-}N*>pesM{UngZn@?uW(?MP0j>lH zNsFP@5?`QTUvo?36Ht%{>M8Y`>>qSFNo3T{5m}54!XxYP_i`&4|8%XAB8Z%VI#`(n zLYZiL5le(K!s{PCL0s8i&TlS;E@vKwCSMLFGeE?(SQG~?k)0EP4A$Hbyi8&00qa|Y z>pc48zkGpC>_lB70kjnAye4GWVzfCsvFOm@#EtW4t?(cDzBYNkKodh3BMjiwc7;I> zG=rfgNLn%_+APdR48p{5!@q$!cuSO$d^+DizxIFJNFxcG8m`JLW4e43A9XK!<{=&W zTL)&2MkEF?1;L4PC*stN8JFG4m$;T2mPnd0T2ig)4l1B!U|THXGK{^ViJDcjyelc= zrbO|ug`9!_bJhbYK={}Nt*KF#AR!r9Vp(6kUt^LnbMbOyJpRuVVGyaIQe>^MQWRL_ zBB-&z149yLMRF}VNq>+*TsgJH0shdXI7x7kL=+9ixV;4!!If}&LH*55*??@*n)fa8coxNDQ88PH-r?e158-I6!s*ZE}P6ukJv zR2m8x%}pa~C6=Pt4EzD0tHbYjiIMfD^35atEq;z7RjoUhX!6v3(_r*N2~-T93+e*n zSj!5SrWGs?&dxE6oQ=kqW_4xat)UVY*7XhmQ7)Tf_m16m!5fI!c46_%f^w?UPtay9qsUs8pcDJf14}04+> zmyR&9*5s3nS(+6NPsfp_MM^n}0;KbJ z+|Wanmic>_Km{}e&r$IIu~z@GLLfMyNKz)J;x54fNkg$qT}22H=s~sl?VVgk*}$kG zu6Eq06*!}=C6sa&K<|+@V)eRPeB{=rbK;LB^zII->KcqORfnR$yb$#EY04Qqb1R^t zRD$1<>#xd!WTFl$o+MqBA_N*OFgnKx)NOITb!AmP4!;miQq}oVqT>5^25K36wq@90@!hZ z41j>@CrOHM6@xG@($Rk^?l$s5(B~mcqhk_Kmp0{YD_@LkOEW(P8Xn5VD~a3)BS)!7 zgG^o2({UwoVko6giaNR|&#(M+6BEb)8l1kPTr{?|hdYOZ)GeX?@`0(V^4AN3^*Y_{ zeA&cYdZs%DA`{Z`2xFm`MutT-C(;APy-YZ zN76%|j%k$jgZ~YL*gSf8*qzqM(82$y=`;vUD+o+97f>x~P#IBWfsqOo2*W2#xuCi>^$W9d- zRgggCg?2VATUfdf>0<^8Q7SR^-3W=Zbp#=Gt{7nwS2SfhR4>a43R%XJ9=XA#Gn^R z?2eq5L~8P1u8%gttR+)On>`q#p;%a^8OA!bly{(zEJ$P2cZJd?QPReraDXMfgmDdV z*mM!uQX@l1pCBx|SWm6{y#I|>{K;z4i4QH;nwpq08d168Q|oDzEyu?a($R!4nLC}J zo-rRIOty_#g>;yjt6=Oq%QhqGG09Vu6Anh)Pa(z<#|a7T*Ut=qwq10l)*l0pWAfqt zGp--aXmj(elN9u#^V5G=pKLtg$<0SS4w*3#`X8<1PM7Um#BBY>;{LS9c23*OHi`x` z^tE{}ey=~age=I-YN*r4^^{aD-?VWRb)ajrs`-K=K%9EsT3WYLej4l3O;WHR2CE@|Vyxj9jwPLShV3E2%VkC(NInYZ%zT z{%+k8p$^^)d;}-JHqDEG>Meu%K&IA+rlD5SI`oLhIM2|L_D^IiLezIi@yhbiRZ0Ys zL5gws!^WinEYT133Gl)wtER`fwp@u`bzmijT)9_6MAS0t(_sTdg~wsu1N(MM7P?QC(Y z%MNekxa+GWn&E<&okgz&uUZ9(hZvu{)&e<`0yXA~NL#cc*T6rFHQ!1`NTcw7-RSpB zy(-Ue&B6zV)>uzZEZVrGy=EUF!CB$3iO|R=^P!O_Yh6}9ad6e-#PaA(IpxtGa^2U; zipiTCnj@;Lqc`=2{XyRqt$NbGcIjW)*QpGHvd8juZvJ}vUf7jOdYU;P!+XY6>j>o? zdl=Ofigdvml7^+f+J32iR=zEz1?NwTD<{^T`WN>l9sBvbap;AGb)J;?a(%faNa@tF zKY&a5*3#n=XkG#^$ITf>A76B#a9DRb;KSR;KcD#TP=s4PC?g1R#~!v(;vpSOB(RWO z=TssV1Tf#Wp;whetyPl{)gc9>rcNvx5_`zVCl%>Y5fw>se7pVI>WNwdCJHUB{yUIc z7md13qx(2CRFdDS#E4D|Cd`|98E_ywk=r@#rp8Yj1 zb`@*T=l^r|{qIrHasOP;&^i9P;_2--zq`|4XtR23s&v4m#`Onej0`Ca#bHGQMV?PE zs1yB~-TWE{rZlAUcc2r`QE@wOVI3$&Ag8zyqn|8rxPas6~VUaM@DnLMX`#zH!u^b(_ z@OnHNoY?Rz*#6GhHn;PdfICF4|!s zNb?%>ZsE2?|AzBMc7x|Hy1N?qjy<8i55z}N1g~{ER%(vvV=?jCyJJ(GQ!5kq0>#Mk z&uiM(U(!t$k-QeK*WRVcXX2+<>c6j>=p!7d26SN{+X2IM6}A;aye%wy23gr#GY7W! zUN!Vhy96}#pX?D-yDtB_gy=&E<{BxLw|z7m5Z9L(L}}{gs@Kl5XUob+N$Y?k4`NHA z*LKZ&Q$?AgAKEuHYuA2lD3r8aiw63MpsdQbWm2kx9D`kz zzkNH9RFi6oYoY~dtd_I5AkpG}Dd6lkfW}$g3XJaYiLPv$0;NOQxcS(d{7>o#Wobx3 z5g>P5uH8hMfUUt}qPp9afL7c!&^_n6h7G2JyzJ*^$uvhbIH@^O&N=pq@qz!(% zNb`lpw`5=Fyp0n2a~#$!Q7ELpzZKcteT^ZR&K_`1-RIkLJjt1^WtzlSFRE+NC9)1a zQR4R={g;hZy?VPj3U8@WD*qzCd7|BGnSUck&x!vEl(f`6&i2HtJ8n_~cHIHH=g<`U zl)@oR)g6Opa+!&7_g6|a1~=4W+xl2R``x|i3Z9={!nt?vdiHrl{R3+A{DB_VzWZ+K zT?;km^Lq655Y+M&YDDKHQZHZdTeW)_OJOzs>t_P!tJ5Q0g zW@Ed1c+!J{|FPn`GsGHfWm~z71)+xKqT@0sbB1okUNOm7xVP~n89#`i*=*VZcm8d3 znL_XMCQ@!-J7V2`lA}d@(0L6Nwk2NslV>HO zYei!G0hCL9Vh@0>9ovkpfX;isV(iulA*Sf`t-{lC>%awTD2w-OtMo4ue91&R$=x;H zT`(q%)$cU%w1S@)iT)RhTOh$*KRQa21ABAGsxehrO?a%P8Cf|ihvbuBW0@$5Jz&hBR~LvYXE1u6P&ZK&)YnNy(XLq9Zku2&eG&Su=co}(MwO_lD z0ZI-wHPIZcFl>9mJBR4Y8(^N!RrHSBs+WpNYBAjfJCStW&v3q;7Hv@|By^Y&UYt{Y zOV2zb6J#1RPoahTK$es0ob_=OYtxc-ok@jo_+GF+;Fj2#X?b~ZS)n{agSZHfDLW#C z6^TnSPG@#r>rrJ_AsZqmBgMoL>g;_J?J6@Cp}?A}rr>?{8p2^a{pc=9cOX4i*Q1}@ z)fENb63^?Rth$D{nd=!-wz1l3GpxolA62_cR~2fIzLT@fXyM4pOlIO0%gyaiA|Ss3 z1PfaHFCu~Gt()D*Y6gkWedt)(mfdf!or+DjB%awxo>Cs2FPs9k>8KkM!tidRUcXs74C=PCy$oO_G>GZXI`$W3TJbBt|{0?qx<=mhD z=Z}q(HcC=W+n6~ZJ2vBZ#{j(BCYM;ZqaZ+8V%CY9Y6qHO}(2@k<6@y*3e;9Z3Z*Tp{D6&_(E z^>fSJ-6^(4-(FZA2bqoXvV8H&ZJH@ajl8r7=D=F-%#m5ws_WTDUU@ z36rro3gp#2jwL$Fij=(5gM)k5LL2vW1ZdT=xpuUiU^?hC;~@@Zl=o^+-Z>aW>@>M6qJ*3*M3ReJYcIwFHB5+B#ay1#WZQQmz*2%qtfkC-It> z9Whzbn>cj2nHXCh+-jm5 zn|6HOoz9xX2dVbf5)G?B7ZZJ$bKHu$yRb8M--qgtx9@r0S|bf4Kd=gi8$D^iKr}#p z^$*DESFyRCo=qJ7{uO0f>^z*Wye|%=Xcb`C6|s4Kzb`=iV8%w8Or+r0D1W+2Z*d>f z*K0esJK=rrMQsD#3$=dV`>W`K>C`;|*pzSlEjjOQTXjU<89-OTykBg^+BjB1)%~6M zr7^7ril?Opb@V(kaCJCiCx_R#G43@+h~K3~VjxAh?K_4tl-cK}@2QAxlC>7Lc)^J_ODXB9KT>VFPy)g&XIU*h1!2h)s*e zv(7ctSXy3$Uf38Lb3tCPcdr{Ne<8>Qm61?T%&69lEZS>F3(IV{qES+4htb{`#-EXl$F+Mir&0qgbwR_bSfD6C zQ-J6}jDT)L>hSy5`k%?cr%cgL+RmSwc7+m6M7qC&h=w@3g}i(B-9WIl0!-& z8iV^sK*_G^OCI=FZLaV#xB6LB9TZDXI9AZFIq+;O;)4io zA)~X_^c-jn&A@BFp5S5HP_)x{V*=QWB9LWP6!1P}iAhXXIGIk-b{)SZI>|YTbQle3 z6x47V@Rg3OIM!L5vWp5bb6vgaeMWMOJzIdLMXZBZkE7fZxtZg0?>Q9-cn{xB=PNn7 z!b@?1vVDeSIESizh7LFo(^FzX5J|j%(~ySBdjKO-pa|O-(h*R}3f z7}-t~yJ3>2-AiZdFs)Ni9y-%M%WJz}O% zY2d?p76=$X2!xYoD;SQ1Dcc~W28Byguo*Emi3m*MAkj)u-6=z1P)_LJ)g9!O02{;1 zh*T4yMlf)q=Z&8U=>yW(w7^GEq=5V4M;0@RYL#>nPh=bdt`ZcU<2nt53QSMg?IRmk z-tiruB5D1esI9Uru+RV!a{$VE$b32pBL~fN;W4jdJ(im0H6UUTBx1!hPK!}NNMU-J z+w(dJR2!)T7b-ytft{jkN`eX=hyYJOu)nCWqU45c=MciVsK)rI205(M<8zj$wM0XO z4n(aUQ|8I+`z3{gg){LyhO_j2LQSDspuxSxSn2c1ho#(UisE_=+}o!CLd|(%a>`6< zkl{E(N&>B;WP=6z&_M3>PDnG0{o-Lu*2K#xUU2|uj?i}9wIf?3MboDZ7k(2(tQgZI z1wtTV7&mcGZux<7!C<8z$TRrP_vE0OWtxkS#$bk`2d15$K_gbC6*IcT6`To6yPWRD9< zg+Fb1j$=_>!k?VI2G0IQqgqrb}cCU4@nEoVs$mAule9joBp)h zSA{Rm1O?3fIJA@ofW9U5I->Gi2s(y%wg>hkZ!r2B5`?YtGb8~;l7pzWgrEyPP%B3k z=6ZL*_1$*(tECxWfMo}djitydnNukgT=Q2!(ggZ8{*9Ijj49kWagYjBn?kDu)>0CK z2cO3CMh+)d>Kauoeq20l@yCr}RJLJf<-;jLo;0DvGfThVN3aGp!31+c#phq6I9$WH zkM`A=IUtcHwF*zT9w9;TA@FxlCp8K(F}3lXrb?=^7BEB$(J7pED}htI)Yt1?zbe-QD?=j3?kC;orPZF%t}-X?Qu zltxmYjDjMhC`N(}=xhYl*f~vIShY7!mc3l34wAf%6hi{1(GUrQC*6!O2g1pj$w*Jo z0JwDBy^N;oY}@M&qtyBDrknKqp~SO$8WCQC=Kin#yKDA)uX)X$zV~zRk=}URSGZWX za)1BkgDc9xX7P|*OBbz1=QdZXI=>;<9R&git*Ocr5Jrc;FB5!f*ckb3aP~a>gIF8M zwb+LkL{cF`a4X2hIWReI{# zbHY|2>H(0#}jWbm&!#SBa`I50;z z1~IWkG0h{&89-G5awrj}4mUkOBa7`pvZ(qh=F0x}esZc%T{_#?cJxzy0jLE_ZX{0u zlNb!VP;|jgD8XwZUgq*6o%P7R%*FnQK$9s7_tC|4B&|pE*db%C*ECLF9i!)etOqjq ztSQDCkV0UC44w&8C_{nXfjAT2^IWp{qH=>g&bbsgJA`r2%z;}#U>Yb8%d;lMzN&v& zyoL(>D6agfoMnvc;ha04eY*~HWhT-HO!!G+Ofz+-c>eNNn4?-z`boAvAzzfwSSH)`yS<+nUOF37K#}i8bwpFjVTQ}N=or)=?z@6~O z8TdJzF_YZo`YJbA8wt`{LI}~?z)m5|!)F#bJ8++1JqDt3+ugI?;KeJ%6-a@uQ^){n zS%)GhI11yA0Jv4{X^V16eN=fPZ36Y8E07y z>8EH(6y|FT%-Af#5yA(vqve?RVhC#hlYlJ)Iu8IEiez)n_RFq~&kvymT*am!GQbymVT-a^k9b&0WwJq;|7i?j%rE*l3u+eY4KGQ6L)4Z zZCuV*Vb#T;rj4xu2M()2@FWrEx}ii-#HqhCbX&)JsCmh;AG;^u4Jr8X>XU?uK`gLT-%I19TH)p3JlM>}waapde>1u(5U(ZLgQV}^ z5Trv5-53%$Km;eCC#lRcB;rbIgzOtpTD);aWk$$hC)9OTgb53IGy#zgtvP%%?+(w? zdApK>I*OVgJUE)4#~D_EAk(mYNK#K3;{1e!*G~w&^v&j<7)6LZj1!Dic|tds4hj_` zg3AaE3^#1HwdQI6@fYAV1HNElHtigxl*dqHqtarC7-e`@3MKX@-Tz)_&SZ_^q7rmI zuX^D*yZurHVxEFMpn_L&as#wB!>%)ri-Seu02qPHZb7UCIjB>V*T5xZi=m5F- zv4?eqn}PMv9}VXa^U3+tOkP=osT*}MmObFVZvsGn$5u45D)_Z z1OPKc1SSArURACt34syUyt;KDpZgn(!z52w*^UKpxs8HV6T~QIZfGC%_SqPDzu;*NH6rOI$qsNv!0#c~7_) zq%-l(keUV}n`xyqNpTu7JwX|B(dRK8~kI$@3eEG5(2%!gS`(6_uUTW|;?9}L z3am&byQ}Vj$P3#{5HL-Mkt*vok#+uxCqL&8p08FvOjoeWYyJY3s0dl%$#b+_^2;Ot}}Vrow=-lExFJIZ9T zq&?CetK2;N1v|LM;Mmt!`W2Op%>N2hV`|C!WKV!l&T)t$V~`ZG7KAlZ_DaH*HpqA% z=*v}0Z%$LLUA65ejUrR#H#!QvOfn{R+c|1r)B=L?R1&Jrh}t zaN?1esRlvwEi+5mH8etT+m1~VwRjGaiYvuQ=IHJ_)tA|<5?#rDt4h;n&zI`-H+R>a zpUjIl9GAP=zJ!*#QIy?`iv!)naNpdHE`C#Li9plRp$*lGC}QTFv-ACV)hAQV_l30k zzZ^6BLe-i1*^hpzUuI40>=AvjlUJ3g)!sjw{~qlRU{$xntu~J>E@Z8&51RHHwoJ-J z50yqkY77QS&atX5(5OOQCqP5?k(HIRV5}*4z~Ch4w$Q%pjjd0w9m{EkBy-t z*Urk`tfF;XN`nslOq)PzfCfQr?hs6K_PMQ<3=-0ck7g-zMy%2%i3RF87o@*XeP}q# z>Ld9<9Noe1#U6g2o1+KVyguBKSo*3OL*~p?K@F+Q-rZJRO_UMmE5ejG1m^hdwy~kw zTRk+zrhZaA$S7dGIkQ=q8JWG`cZzoagqt-_I3$2Ay7-@r9nv|m6HDAY>j=P2(H=XU zP2lztpeU{vq>!+`X}Gl1jDo7Dhh{Nq4yHk0aMc)oSn<6PZSV<5UaaW~!q^&JC@}7Z zpaj2>$HK4wVjs+Bar$?XCAUI%*;J31y7t`LF4$4h{=gE}5;=U2T#QUCUoCmF>AcRn zcdJp^4H8F9LO6{k-m-L$Q2A*k*NP44a6Y`4nw)}oyNwc$Z<(}8zzE!Q+Lvn!NNjT^ z$Lf#ygbrOR-SkstVGT(?W)}7^)FP-fqe7SHzb3;suUq}5yn71BzeU+tEx9L5-z(d1 zrxM;>pkdtrUBEYz6?y77wcpQu>D_SdhaJ=^&OHEIn;NP}1VTUc7DYK@F*34v!nx&+ z%G(+3F1=#U)Y%|4k1)GeJe6L{DvB*|{gvwaoP;ub--a;m5ewbN!yp*>c0>Sfc^S zI_F*{9?S#>(t>Q~Gz=gRHu^+~qFH&qVQ|7vs|{^(N5j4>#*`}DHqup)vF;KB;*oNv zgEk*X{h9Ye!f0RLfqh?p+|x$HZ?a?sK-)-93_J^ZDE9oCJpOjimiu1!CkS#+>C&46 zY^~UhO?B>m&I&!yYC*z3Hg*SAH!}&LQ70{$W096hHBITi=Wxp?Jd_5Nhmy>>{Wy7T z8Tm5XCz+Uyi|wy*fi}es>Qq>>)V{j+v5eLFkB^R97cKJ8ouo8lv4<7{#n|%OU8q9d zS&y1S#Am^qBr|x8&d~G6GjI-O`m-(8Y~tQ)b}ALiw$4+rb?u>C`qr)kgoPbR*ka^@ z8lBwE<^M-yRxp%8gJ8Go$8^L zND~k{e@#x~jo%htYF9T@yH;ZlbKp~m&)jb3If_p0gOna!$$n%UOZv~Nc{j$lbsnd~ z#JCV=Y#kpJ*S>4E_61MvOQVNqiyU*u`(4l9Lx&`xaqm~e?EjqV`?lr2G2Ly#q&Bm4zWXcOzP6;f=OaUGyuFl?4lq6TUKG(dv0~1Yltx2 z`@80*Ur()WH!Yh`s2(cUv+J5zWv?Co)wc&vSEb{0qu7@0W-XHNE}Nc60qE>*IQ?%O zVk6Lvx-M$q@{$O6NTzq2FzUThL-PiKx&sP0=so8y_jflU4+42fh@?@Y`(`?L!+d5U zQq=+sX$I}KmiXTWx3)O7z8UiHQ)kz$8fjJEj(qC5*{N2l-@6oV ztcg0m0RA+F)9EkH_+sgGy#x1&1$t_P=zw9kvDPx|?wY;&*Xsm;YnjA}+v0FzT5o>~Yl`C*YC^4+ z6T(-kpQVQh{PFIKYeqc!R>(S8Ubkt-R1Qb(b`lN_u9oM}`KZBP?q7Hjd~R`!1K}W= zgv;7mSr?)iIzNUNHq4K(Rl3Lz5M-n zS>L+)H&iR{TPz0~jSyub9V$|fSNwCk&$x5hlWMHcsh!JFXhZ$O+u-t}Ii zGySu!RON@-8eZ=G^PIJjtd(%@uV>d#nY|?MD{)?1&)_(l%Y(Dnzy8K#!}sJtuWvMc zn(^IrVu&YMp6+K`pS-(GvtnO*M{7Y^WF`qBqxt9xloEu1>-BxiebnpWP( z(_ZqXdv~qgk~zIP)9E9*+I#l2@<^liCAV>blaQ_RHW|&SA&D`=$R5uZ`EbbcUJw%eJ9L*q6d^&;`kf zbORNHd+51?H8MDu7g~oQGp=FZqGc_c!9o<=7 zb@qiQD9i7e>71Lk?y;L+=6*-H8b>Dogm-Y7@i0Dci&V~hG<*uHW|Qckw%>-2+di9X zq37SbKl~^&o$pwap7a;^r&p!7=>3jKMf*{F0tu@xQbf271|F+MBMY?R58Vd~RIQK2 z$&bm#c9GG9)NXXx{oHIT&rl0xX>Q|V=(z*PxYgDK%SMTl3tHIS#9F``T4t16?Zng4C}4msT8XNV0^TOa-!ZI0 zT&y>qMum5|D*q>UVH#fk7EW%`wu<@=jbKWf=;jE%B8LL}Y=OBTgFBKY|BJ)tVdZC5 z+if`V>1O7Eh<)RNTb_^#!dar=qfrKEMOpLzb!Yhod}n}KgPq#ORc97AbLjJZbsoA) zsYXr#YQq=f{V?*-zPhbW*gmd`Zvt`g@$}w#TlEAh3ApeZNIB^aei2+&yX6FkY0WXFUPLOvMZogn5Nf4VDds0IN)2 z%2p!!Z*x0|+aF|#>vAYGf+-8qq3P*IO+9FgywzFc#Ujet)A0(Pi_OJ&v=Ro1tv5$8 zJ{WKftU!>9SydYPD!Oh zP>5%xyofTi3lx6H9=YS?GV_L*;J0&Lm`JLslY! zz(-=|1P_!@A;Axt;Z3gFHH_@jOo};lBj;Gkh%ljRK@~El0!6w|K?vO|e^tG#5;t-W z7$fgBnG*zxw)ZG29)oVSK28*VOrQb>%c0mZ3AGqBJfm1xi6!FN$nw@*$+yH7Xs4D6 z71DAkCV zBDkz)o`_4AkphT9(5f!&Y75@|+b2Tce!MKoTnx2+mSQOY^)E*DP+m%`9Hxj0%CNc@ zY>Cwl)=%_wE4Ut>Fi-w$82QBJ#9oUrMI%uw_gv3IgDM=r@rW>6cY0QvN20@tH3;BB z{&-Qfd$;6#x-Rr-rplJ>{vzATncPQs#1$)|nrz?oV1uoo0b@wa&}p5cYorZVMkvuD zRfGz(K`FoI-sTXb3N)RxC@oBi1tye5Qe0yP7@Yv`(PVQ!S9X2mK?wot5zf>r6m?b6 zmK0}@uHtU+0XN+bJtuMHIXN&Gyz9!s%nu;sW2$IQ$b$EGE%V0>NQZZ@thdxK!eUxm;T5wE9dwd~t#CrT{?b7mf+N+A@kOJ7^MtPxPg& zylD8KBCww&ARsx#FknhCK_gg42Hqp7k^4B|F8&u^P&S8jM-|{=BC^v2^7mX@GP)Hf zFDkga${@uE1D|}L9i9QR zT4)>-3v%&{U}{7|ON1H|r~t+kge_XyCF9uGbva1^G;wQ%)m#~XD$CST&>WsyTD0!3 zg<9o~)#Ht*>}aTFzZNUzwS$~jmL7Z-zBc8|oJ;B*{kZB7CTwaCrPm4;y*&&V1V~6L zCBls{tgOPESN<^@$h_%g&wOLmA4A)xf9VLQLD5oIl4}MD>thKW=NFt9hlN(06sKw z6N^$P3xn9+>mdugBW?U`se{~Ep%^#^dC^u_hO}aG#bLFiBiv(sBEN$KO3U>p_4 zl0qIN9Hueoi9$**ZM?SWf2|RrX#lTWr9DhJA-8Z$Dt;*va|667y!D5zN1Y0Ja&bh^ zop(K|8REGZa+Hf;W1z9}ZS`gTtQg30Fm;3Rp;CHZ6xUntbs#P8^l#2wZ2H5^986yDZSfe2VG!{wrNre9$ET&JKRw5F;5hRNgg^E+qJQt3NX}8WH zGPXaz)@v8{9$t&Cc$kQkk}+>0pl|UVMKdM0MsN^o4^+>=NE1P1W6(mI*+ zXrMrlK36wkIJ3}y;r=8a!SI7n4MNmPowz)!VhWL|DH6O3?m6+?-D&)4;9ndoH#+uR zc+lH>`m6LOhm*R?S&f={sy?Uv&o}b#!=Jfr^N`FT)$FTcx4`L0mRsLTliZ!doywGl z`$`{8x};)yLA@{b2=Bh@f+B^XV-Qq;fmk9m3uaf05pXhsrA0r_M0%zj6eFpgG1e9< zL0F3=rX3IQ*=1=v&a)xY?7ec}Sx?ajatyNK9GK&owVf}ImMM9L)Y7S(T>iU%hp?); zL6d9gL*CYsb~!Cm^Bf$IgGX^7;7hR5YUSpbOh*?|hJk23`Jfc%qA&=QVv!kl1GJ(c zfwX8+ZkS}PFPc0fd*_$fj*+|wf*$81&ItqN6P0g;x$5URjx(v}GVf3t;%lHnSX}F* z#iHD?10%fNKZu~9joV~6RqG{MUm5S|SN^wjCld?uUDZyr``uSU_MlI|uo7ah1RPLg z9>;5mMAvPd`buue{={CjU_l!{01gDrK%yrmYxo%RU%0B zF~cM(S5SsLE~2Nbx$?VC95yU)5?h^!K`?XH`jAE6Igiwea&3O={AXpol45@r zFzz_CB0eAYYQ6@}9pE+;X|dt4^yG|r&CcKFK6I1}=4F0gzaRJGjjuQNPHKGyJPco6 zi~Em*jXT}gCH-c!B`!!>#T0|uckIocn+DFe&3P`bwIa-z;wdPhs;EJFJP#KW&@nSw za`NymC9(0rc3w4%F}WsGAyRRsq)|>ZB?MXAOp$*M1O1Npq3=d|AKpnau>0Dxk{DYn<^YaE zMVJD#x)mT)78eb0b!8#HoZQk{XATtpR+BfTiq}Te2#d=dQaSf8Zmfh z7P*ik$eT&xS5}?_X(R{V1sFRIL6tFp;-HUFj=QC_oGB8lSIO57Ni;GALMVscQZTG? zW>9G{u5t2_hq`(;1F?w%G_0fw?HpE#bdm|&IcRxz8#1P-CI=>VqiR$}Y9gx}JA}1!g{`ryUwRXkzObBQxy+hZ4tkU#pP>mAcV$rc_-usk`yBzx<&L-8K2$ z{BIFih&WrADIMidV#RtcvW%3FMRM8@bO2wC#J@LbmPwS9)()M)Dq)C1P7ut zJras7Q=(;+5NTbZwiJ&+9W6R!T}d9(u6_0P=|vfcp-2&>U_&Euc9Me-8sZX6d+z4ip{MGzq6*E;SS?l#b_2r5Jo^E<;xi z*ESPRX|<&&Ku3fyVS!?$r`|*{!#F#{w98j+z-3VdKq9(Z2t!__Ug5;0m=r6j)^;C$ z;t#oxcx%Fzq#>6h85o`k=dF@3^evM@9pZB9<-_+>6rcw{5t!=+(`Ot!wAJBOVuJG( zc=!=_Ez8<%V!?%0?nFEvQN$DkzqDbbbXA{wJ1aTb{w?1|PGVaJQcmDdfkgaS89WLB zwehw;?yv9Fv$czX#fg!^EOwM2DXK+`lVV;2L`VmNvu!?W%f}m7BTSMDwdO&N1YP4+xPqX{h5&61e=g-(!3KBK9Nx z_30#K*FT$2e*g2poo_+qUEW{z)%xlyJ!}{CYxY-L#p{uULTJ686~u69@Ad!mELo1f z?qy>wRD>ON7c>9>5D)?Y1OP)s12zC)Z)C2N%m9$D$-9&6B-yJBn+7ED8}HjqwehsI z&j4=nf1@NMR@QfA{QH2QjQ|l5fEg43K?B_!W)XpEA2;j(o$x0-2vR_FfF8;W39$`}7|^ zKR@*4l=<3TKf3R-UwQpRe~VM0vhysx4!SO0Ms_St(C=|~4*JjR3+PV0LzmI1`p%t& zuiE(VkFcLJRrTo1`g4na=jyrh(Z3k=KB((0q_C-gJd-(~;uP+gVnorNElYE`8M*kl znR#+K#7%%RM1p3MW+5D;xko|3DUxwANVnE8!-Vx{<*ZmzSJ$DoCC*^w!> z5J9l%5JXFc(>CYv%1)im%*yo3$@)xN7mDC)5;M}5-=@lD(v&d4H!YbOC$!(}H z9~p)1tA+IFT{?cA9~aN5wRhLIEBDv+`KVXc`a@N}U6`jnqeuG9P8cQb(w}qaqi~t) zum401>}{_+q3g!BPQE@K?|05l?!+E1sb|_hw|j8vIQ{p|X#o=wp0xQ#DwL>-_M(SL z4t%h}LtQVs96TjdO3@n@UUsi!*?#<7hyEi++@Y7J&q<;E>u1bw`sWdwDvm)%+|9r_ zDaP3c3nnr!qAXp%#$Ma8!5vkD0t8$UEmPrig>Fek0}Cla)O($^fqnC__YofgIdIrg+cdK@+7sA&NT@ZO)|J*c0fp@VnMYdJeAA1W!@1v_&TT$cD!{+|7 zJ(G24JUVNB)HYj`@B^@xl`AC_;en$+FR|GCudA%=sf{yb0Ab)h6#u>0(hfQEkMiB| zmmZdO-O(GSE8gTChnwJ)WonkL@qe9pH#QENp8u<#^!qLD#SYuB%s+9hD@Ju5&_Q2J z>jf8x?HSXdIj#36e*+J=qc>8OF5rpIMY=%?w7pi0W)qyIOCstnt`~SST^)gg&z=3L zD}qmarZAU^G8qMU1FBAPWesRa&z*K7f<7euVhCEP^oxDwfkD6Rqu6RUcO zJK)kknV-ss(@1|*eD0qDkooEuq;KJ z${^JDaE-4USqtRFb$pXxv=-{`HS#}fHKTNvAu^+E6|zIX`|Lw16u=^;Hfi;zVd>fY zx!Jr_R&F+S5Gf6wYSV*AK2n>%|pO+7*r4-5GZ6`d^vCtD+S1}w0V-+){g-2_k*J?dibD)eS-@Qk`4Yk6g;oQ3~bop9vWbuvdQt-uABdR@Tx33ykw4sb_jq18I3=yn??(cBr&^_ef^iJ|uD)RWD&ZWf5D>8Mo4 zvpU>T1HBMFVYSAoHpbECx_{Om=*`0A|5h}Ba!F12;M!AXgd0&fKw2fUG~6e4{t)@c z__Mpx&h{z<3>QjN-GOeOSyo0}My5c~Tcv_EUz84i#fNN%9TTw75Up0-7dc@+H`%!; zy8Yz!okFJvwW!4Po!Fg9tIr4CvI(72P-e+BGf%IpoT38ZoolUOO+}!Ow`#?JqY2y; z-4RTB?%Q1i9BW*drMTW_qR{nCAYA@lHAq}jq|@Ts^1kD`sVUGM+OTqGd;1tyP7@9u zs-(IDiv_9c*HPjmEEGn{HhE0|DvZF#GNL&&$)3P1ik)2*3?5!Sh%M8(N%h2Nms~E- zjQU+lLSFG<(hM(xk?s7PWgq2`D${LUd3S9MYR1KDwDG%Q5dUmq8u@Ga z!L^n!%qItK&OCO|v%CFyluqF>q4U_yB#ai>AOvS0^s#p>!W1=c)4(d;lIqagJfU-E z!^W4)u3s8KMNuLITC`_yX-e+^9dTG0{T4otixTZp=6b{QQjU|2eNVSF@AS~++0c~;n-WjozNG(1bUmYYq(QZTJF zojVtr0vLbptB@L{1bH(1vyEXSccI9?>D8nyrWP7J4qDomt2{u z^G(?a?Xn8{>2>MLM`efZV!%yZJpH>DGLbZS+l}tkK8eq~LOh8Yy7g2mcL)-CL`mP%s zwV>h#=r%^2XvuP0Iq+pW-9u$xp*a#LI=BW*OYmopM{BuY;PtCGQ-(?cbDeVN@Nx0- zJ+m=CvBKu3%TA)UaiNy);Nh^jpl$_|WH@q_8%HRBj}RzomE?YqBuJNt)}c+ga4Gl)hTXk=Kc23@@p1X^6&x>}`%_L7EA}{UK|w2=oUd*usmSeU3cm8x|9$b| zR<*oLD!PR50i!%ytRhx>K6~)>B2@DCwX3&Al%sF=iZ%v>nd25svJv?d?TCl75OCVa z-2j*SL4nLViar&vx-g?kTOWxZA55;N)dIeDXyr{kBUz}T?z$;lNVM27L>*mgC=9#^ zDil1lS&hl8dO1}zFoG<8v-i!9Fq)w)U$uR;TR6r_g*_LvV=Mn_k|KCI^G|-)7R8M= zP)y|2VdPlj@T!}AMzucyeu`k(5ql1oM9G3hci^wjdpcwis+-jUr*Zd;Z(lgrneIiOGD~=Bqz>HzyJ=7j-K)A1kTTIP5$7+bCNb z#C_RA)f1s~jH`wef!`u4e_`OktzD?n7_1i=e7u=lzgy7&0B{rjYFdor63_MQ?;XAs z6zqwjs$u$P&g;pYkT*z^}Rtyh<#(lfclzdm z<$^$2<<7@lm-`pBtO&|br0-wVxG$HeSexB4X}gISD`mdcav`q&FYiFyiL}17xb7-7 z8O{-itu3mtGAFp>1@!1(%q+b59m@0i=6y(<@85aLd}w8dWJCb^DwaHS+MkS%gp--R z1z6_29w+7l1BX;dU59Z<ib!9x`1C8p@Cmmr5aJI(Z%`O%qf3P zCNB;qlD4ygZsp5E@y}uO z7QThPvd*Xa2JXal_t#-*Tc(~+BEDgpr3T@5hSA(NZrl}sFAA-W6Re@}(67u^01Dw7 z!QsaFO_)mlVIJ^1_fVw^)(-u2htd;H>q1g=8a)!2YKvNu+-E$TN4{;noy!_O+kXsX zmFhfKj>&$a;R^pzxRwW=_Ft@uBQ(O(N$M>@8JzwcrEBIY;iu@xQY@3Day z*D9nf<1Qk36YTAq_&j)ti0OjZVESo{Lu48y}Y^ z;X54o&g_9tlShw}Q;R#1dSD6bLhrDu0K_bbY{=kG6j{n+N9g1f&L ztI&5>k)xrFET$;~m{-hU_0hTT$_fp%cl0OoWn`OZ&Gp>Ysa_bvCN82n2nm5IZ|e5I zP{nH7)(@!G7og9O{)-7L0^HbQn!+o3-$WmSy zsbooMUmm#2LSh8P_%d(-|M2_sW60;G&#k(m8;`ZrvxD%v7g+(@!1ggQVdwniyD-he zPh=Nsf4DRUcN8YA;#+bJx?<6APExdmY!mi?ZBdPj4?mBMWc*K_g7OFzN;7&6WY&cx z1S2`nk6up@O01>E;s3PhFaCBS;KQg4B)OPEfY8LS5=?t2qn_!w?OB(RuXSzXq8|s7 zX+b1NM6@bG?bdv5%24fK@n)$z+h2_?2emXbfvtt$+j3qSpv74rN{Jj}k$E-dsdV}2SJ5(%ulU_=t) zPcO-zq6_gN9;dHF82%04Nn9OxN{}kZ7;I7rmdX}HF2VyXhZj-h?QiJ+w)%CMSq*m7 zW@|lETI)q&v2aQehbXg5|6iYqD!@ODM`yn3_)B5YhXKihN*c8kt|OIq381NI#2X~u zzkk&BU2=l1f8IOhrTA0Gi-D37IWVXWCfKO+BY*qD{Cd|_*r$T@%1e-P6s-U{LkEf& zkRkwTE*1zD>_itJkHlTFX{{uj&LhM0?nzNmED^U{#ldf)XAtd?aN$x^LSAE_v({p< zIA~3jG*g`(040l;w#DU7Zj2e+i-;?n7JU{gFscE2Dy27scj?~@lTq-v>5UoH2D7RW z3Mm6IFPV-LV1yST3BC+(K+NZsxLFwX8AfCe6i8T2v6R|jL1T4Mcrwc|4cZ^vP3iv5 zGY{lDDf{92&*43X9{L|q3q^i9ueaXL?DzIgTTlY$g?BW|^-iPOmDsY{iI_YEYvzTP z;4K#kFdbR8BlG`P`NEUTn)7r5ik|4^Vp2K>Ld6YpuqiBCxJpyVNaH>8G^hUx1m~z2 z5^zG5RB@sdil2z#jY7#4YiYOid#mdpHBJezD>)xULi9uAQ#E$9eIP?Up! zWku+5f8Q|yI&o|b28DfCtn|~*kEGy;0c1)qVj_t>OCyp7Cm z!J7 zZ9Zg05g8n4iSHNy5CTe!dImZOkKJtvCcTwaJD1qvxm7IWtDMGcFs;-c|OaY-tNi4i3a+K*dtDTb-7Mz(XR? zq!T)ZRIdD_oNOwY!I%u7PI-`~v>qm^HHeFAQWA(0S)`BklRw9elgt(Kii)@36c87Y zuCQ8isA7WbY7T9geterb+&=Iq1`PzI-f6$jgv%qVK$Ka~IhBYE@jT8^J!dOOO*NT`QN*QzSq8FGy5{i14wMBG86wUA~uImRTsvvI)Ba2_! z2V_4}m7$x^vAZbsAi6-gk%*3EOq>COBt`#E`fc(qFUs@MclBjAy%(-@QwHCZID|sV zAcX3&RL6xuK!Q&)oVe8I@$BGv3Dg!93PD^eaWKC12qJhUWO4V{UHf+qayuwnBDPwG z!E!L>hLKY{y#|YC9@99vD@sEtOSLGSwG#uV|Dn&bu2$qJCS+=Psb`C}^q8xze zDxi3X!HF?(pbMSmS}TW^cq2c^3R>FM1}O$cVssK%K>#TzI&AaW&@`=!vy)s&`}~a^ zqPm2YA{>?Df{z9$Iw*@pwTOrRCL&`$P2L?jz>Xp;t6Ne@bD(h=v{Q4+i8X@Lru+?T z{zo4@I`tHJ^)4@VjDqh8PPIK~2GG(7cH%3&9Y|H^{A?rt3Bci_#L zLpyBk8eu8LWNQQpnc`{u+7AZbVDtc0nmVREs6j7)mM=)nhBYI|6Mly1`jNJ%&zUGpiNhkwMGRVNhj(6n!Q|+Ej+LiN zy4sFeN2|I;IbdT@C=@QJPU5yyw4utbYixztEvav!;A(shnyY^gzoZi4{dg>1@^r zyuAH>5%L*U$b=dPlCU zw$-fP?viu7DPE)^y+|wG_lmTnm&rsQBSk8SHyzFx38XMY8m3(x)5m~Xz#+}?-n{e_ zsLDTqer5$;N>QZ7B5bv2De=HZBfy83AY!7@3&b$9pzeWscMe8ImtYtW5CZ@N07Fv) zAOK))RnMvk0a52aX8qQwZE3-!s9OWHdsa_rL!lAqPvu82axf3xy0IeP3NYKhnw-$l)eFUzdOApNIb=EA&gbKmLt+a+w*0eZ&5*jdbhXzoDIu ze#^h=>3vdkq-wwO)~UWk`!lDxAJKp5$m?o$r5@HlpR1!M z2`W&HCmsI6DCVu6p3ogaqYwYq84T0)y42D+?AOh2lFnG}%wq?L3IavrUW7$RgjL15 z{8fUkUw++Br;RrH{Px*H5b4h1*$~U>B30?+T<+Pci1g99#itVAkDtY_)G4DwiRvm^ zMd!jTcrXp5eXf@j^4%Ai3a3^3WcpT>y49aZLF~veIb4l;V2imiNPY&s=c0W}rn+T0 zdGfd*PR~_IO5YD>lzT>3cNPZ_ypnpc3&&E8xx=hk#Wc+y_N29;?e}x!9UDu^+0KP@ zKP3VdUPro`jm@)kKH#ZIc|1sHQZ&BS&2&Ex1M@2PwFr-8o@J?o6f^!DdA(;rXL9|a z^p{6}r^dHxN9u@@dUby3zwr+0@Q8WbspZ>N_5p@OV|q#5r{hlTyWn$SwX6I#d=CwG z^u~}?pX)$}XL)y6ENxFnulmtincdo?u4kIeSo)p1HC4_N2nc~H3xbOU3W1<0D*Din zJ6X}eQ`G>4o~OkiDQ$pOM`GgKU0h}TH9K@^brVfJC-|U?Px;b??GahQ-JTqN3x_JQ zp;h&p^S;@yR*%_{zdMiGp;qI7-1@wu?s!7}#RAYJ41+!kx&whOr+S{T=6w0j>|fYB zuoUm^#*HKOrKkJ)+wCOB?tbW7;!~M)WtBQ(2dj7b_WKRiXV!e`+V_y;k!y@BWH$Cn zu@)1Am=HM%g^R%z@##F3;5urpON|+O`HGKh$>aIHPf@r1`f5!K%|>qAHR$J4UQ$c3XqK8Lk+QNBI(dLI zI~;VQEH9hVJMyS>^0@gJ`m*^4Z^-Su@-pO-N^1w`&bB4n4{qVtIsn2^?w#SCpC*+{ z=Ni?BvFbq#t?s;^UJr$lmE`GIW(K}>_x64Tn=N>fcZgcL z(?IjVNeTgvVkmiC12b%RN!|BJdzsv5K-55LMaHQWTj#s3XH(ov-ji`xnX8m@B3e2+ zBiE1S#(HY}oP=xA>Z_0GdyYmkpO-KG%nnj?nc?g2Dp!|Jdq;ad;FGvh7~kA&f?DZd z=%@fRx{lU5^`EdkN;Hi^MvQ0q;2Y~ToFM?7PC4i}9to5Nz%5@M8E1Oi}&#%;v?tf)T<3uyd-<gKBKFh!;DE9Bd@w&l9gQp7BmBFw4-+b8@y+lovvy4)D7E;M)vu@EzFBj@uCY71!V=sh>~yjVpKkG`L@tBafNPqqx&c z{P9}3ACqF)?q0w$5M#GVt+b3p+&XW?7J9pIBAS2~)rlOYIn5bgJj4gL1iIaCcIA}> z|7f$$ZMJByVP+^&PxzmAL>1KTnmbQ3AB*^MvT^hq{RCL{PUA1%H9%bCYe;q@xFX_^ zvn-w_!s@{4kfIbA)r;&_hLd!|eaHAr*+ky`T)YK9JX4*i9RTu|iZ3TAuRI2PAvy@! zc%M35qq9R}Z{*}<=;&zG>8GXT=xFJ@*85$1w?EfW0T&bg5M27ili^<}Ach{3y}aYzAH9h3%8fvE|Gsa=r!4X!`>H+OAxGuNH2vNhJn9#9?|t8A1%|pI zn#+B%?+jNS%+yO|xzDC^!yV@FBMUczu&=n5u3FEhkO4m$tEa}V4z*?;yBm-7(JZ#p zDa$vdnW2@Bou{+<=oWiCGJAh}Z}DgUpn)_em;CCMl3v4@B@aVMbpE=9xi*ZX&PPiz zHa0*{uAC+J#_bU%d{0{wa-piUPw2jw%b$W^f|Ci@91qF4+N2VNaAKs_GdWJ60_+rL z@C_q&*}v!If&dScOKvCc9VZmjr8)RYgW*j-%NxhAU0){1L*L4T4pLh+N4(q}?G7#0 zcf9QD{7=w#+6)fgm6EZ++Ah3w0#Z?vuP`VBE)mZ-&GE}+)`+Jb4Dng%H_2$Q+)&I1 zUi4Q8+fySvgds#yPe*D3Z-6*uPb8n3O{)l2mDO-Hefla=i#}5jl%A+yf+r4qmb0@X z>+?N@$tURc$^*%(Rl6PgR3OkXcs|F(HnH3bEZ*@HR=56%^You>eO7a&SSrrt%1?Yg z+Dj8V(cTR>k^Eo6?e%S@gws!t{2D2yrv&1LIm>nn;%F>;C(aOf1-Ehmx+oTR??ftx z$jgDdO|sm@@L!hW35#C<`B8|n5Y_gdoo!g-@OGrZ3nqGRttbV{HjCn3FaGjIdHK*h zcI(aHYZNxx=CR}5jbLrEati3a5Upc`e+%IX#1QWc#YR~=ru)m1UN2dU#o3SLTn#Yv zn|c>vocyCnMwRj{meC#lJ;5&#KaNRcY;A^rZhz_7Fq?g2MQ5{C*_-HE5%-KZA?b+k zxt-xzpG*E$kOcLoLx}K3h~yea^8@RQxp8g~1UB~pB0PkB+~uIc00V}|FecUV^4 zfKi-q@89K|pVUJWD>@32n&2+@Lt4x~dGa6RJ%rSIKu+&FBi}KJ5zkKei}BF3zVW3( zyZiJalA&Y14O74j#+kw))T<6%ZnR^<=C4KU+?|bBpKmGB&6RhLCy4o$r*HazABmia z&xIJ}3&g z3-CRW&fun#=FJ%cSWSsmpUuFqxOX>;O##Q6>!7~ne`4n6afV7dob|0Wt6voq{&VIu zGV}5CvH3F&b!JwlKag9Q(@lyRzrDWdXDQ$i_siEQ?V!RMhroT3C=r`1#+d)ZqMw5M z34XfrW<$R+Kek!HTb?&M(9X@zYX@yMSzrDqbc>VBxcbR+{t+ER=tqTb;zy@HFW^7g zkpxZlk%(fc)CR+W=8Ok7#&wkE=TBxUS3)l* zo1QQ-oJ~ZZh7S$DHGvXnVi^{~G48+Yv|ej3Qe7=7u%?SK`KvLRBLn?Du4{Fk!!KPRl|N!{f0>m?MeXw#k0j86NI=WnfVM7`e$wdB87{#IDTZO2m{DAiR&nRM)>-b zocnj!$6JoA*++e7BIY`;g;mbJ|Mv{4%Q(^XiwiSIk(@BL0%Z+}SM<;n zc40wC!jRL0uE1;Oy(y;Vg{i z?WG(j@7TcLP=FpBlFiYZnNR9*$$}LaMSI2;_AiWH4;72@c(<}EQ%+y zkbm1EOY>mKE{%A7F)16nIC`U#q-6obgdgcm$P7}=OOcks%)#7ID8U$j2-MMxu3`a9F~d5CEx#t8HVC*YK|-L z<^Hj0$d_L8Vc)C$7PQ^@zF2qKF5WJZ-nI7b4Jpap5hn)`$uMi!qQ2uU z6GlI?j$M1+&qU`q9&a?%S4+!pHoHj(|5@@^YpRp;R!MNf?!mPV?OXhB&w83=Y}P4#!IhNR`SfAj ztU$97*Yag5!eg<39~rfy_9Ql6-acIlGf9FgyK+0#3eIU^(kb$J8gt9CmcuFKaQUKd zCt}2uUv71&CWLUE7>ks*%*qdh;t^iCfTPXmyYPYC8k=N!c~)9VApJTgAtehNKBK6{ z-(h3Lwdr2)=Qv)1apfML4TX^B&tzyuR+lv@q0ha~Jn-H_+?H;mUS-~1H|XZ0jj~!e zPE$=jZ|h~{_twfjmXVa2x4z9VD*tuGJBj3d^r_9t=J(6Z&BN}sB@j? z?J@;)^z{C(E>M_`oS%b)()Cffik1q(x8TKH*IV(}W*8oc;)yHwdJ z+t{xN-=5^l+x;3(FDIKA?jBES8abg(3CX;*To~V`WZcOTMcq}GqtPT=hlSk~7fFn{ zVV&73O_?uXzYXuZO0}m&^1KyyxeOiUZ~IJG|0k&7+c#yX(s~))|B>5Zd83z-oNx0X z)0 zJxL;_r3F;ypx-2@kk%qfQ4}@-Ll%mN!6WP7nY5#elvg5$m7;06f;;YN=~jzlfYyP- zf<5bDqfzvymhCwdj1hSDLO&G4#)X_0VF`4TRQpDD=3zqzu#F)H7$OPWjQNatpJ<@OvBr6bl=HjnTBa0a5fNv; z)}TlMzpNA4{c;q(ZS2PYJf$KGshlaKp(Bvlxzbejjwmu~qxIb=Ae@0YWxw8@iQq=> zI~U32r$I#CWw|F*=G}v*0WA_eL zESHTyL7KvKE}*JWJ4||8V#E|pMVuiR1x6t(7Ne}Cd8q6p)A&vbAS7g`#A2DnqI1yL z3Xi~^<6nH4tt6Rs(90bi0!f1>q%qf98n+M*lz<~9LZe7X;JO#tEkXlyoWP;H=yc)@ zDn4a$4i(X4l@Q}e31%BR$_>{kgIMI>4|2+OR9>;5-4;rzU2U0m--JXgQ>5T77C;zV z%28l`VLu%fA-8@uXW(cqvUxiq5T}7b7>muST(Oi7sAhtZ+xc%uv%!?0!d7${*G0(* z88J~=Ccaui6F;eheyGuN?f;@(8Gv9Wol`5G1@)5rtrCV$qH5nvJVQ&R6oa&fJRDMb zCzGD*K$l^!)=NXkA}FVU@r6MeWGMW8~}ui zH{HG*evm-Xd9V_9956CYbf86e;^RTL*QHfB_uZG$s!LHo4}(H2P{C4%${t)ik#;-4LeQ0kzQNvRSnh@leDLoCH}z8^@F2e8+*ER()%X{dJl^n>_< zeIsu@g%Wzl@<7D@K0WG&98W?H1eZsJ@7=V~PsVSiw_M@}RNDLPpCht8+wuGR&rE4Cka*l{8EuIk89nRMpXYvdP6#|Lf-!1`gvnW_2-t7tFe0Nn zWa?VE=&hsDsrBa!YP@e=Q}uKxY&TVhijzmP1FQcg{QU-*GfGMX&!&;RAQ~nRj-3a4 zgW3gu=tx!yz<5KAzv0RK< zxlNED7V)QrmC!sARGrvLtMypNDKWuy0)MPQPj1|fGa5u|3q-*oJxeTT>P3()2{^-! zX0@`WAwUPVBJCU!0U=S<)M%h${QmLzb59bZNp$Px|C4a7b9-tuVi=d%trB4oS7}P| zM6PO6m_2QH!8BJOQ%flHnBWVv;^+kGDFre#ITO4u!W?qk?0P}@(Eh*6ZA@B6%*d2b ze4Rs3CJGR=cNbO1Cp;6i=dOi|sH<$hL>8_4{aUV$fC9Q;i+Z(Q*)L7aj=V~B6&MB;Cr`NcMqTiUyp#f`~$tx{;a zV+~(SUTbk|zZ{eA+IHZzn9JWWZR2an)h&T{B*a+p`tG&W$n*L7V^Vw7SIG;}`}?{0i|Rk>YG1eKv<~9b zdAV%(wy&)pFXtfTJ5Ix5?=0l$;+ipmL)a)7N=c!x14;B)LsMI_Ck$g3KIydfmI%I} zAzCjH1TazNP&KVdIy=Qn;tg|N#G`6G701Hn5fpf+v;Yvz1Pwj!xo=5@VBEh(%%>q{#GAF3hfWbj+BHtPtgB=@Ps;4D=2lu&AyOkw9U)&dV|8mXQ^AoUSR} zat|b~8X9Q;)T@74A#za-97#!u|gk%PzsGGVzQkR!J)v3PfnDHDY^T9 z9+fMAAfTy}Nge}uE(D<#J6#HO5FS(KDQJh%ncN3O^lC(<5a1pY5!)lR0&)!l zOB_-?WL;a*dEN(<#gkg*rHYA!0_-S6AuWsnMp{98P=uwX9#W_gp3)`;%Yk${@?a!|#()W?LA(d2V5S^SH9T+J?XUaT z@t3*`|07>_UKYgsVSAV-lvFF8rECl68oVj8L;w4Yjo%BFRU~e|E?PHl7Z`6qYE1B= zOcKB)_BhGNkj6@N2m5-teWWvP9ow2sSw}4 z|I>vvnU%I9MW_soDGo8MXrxi-u}p1Ea3HakCFu<51Lb$`Q4lzif}uK6j1j=C0^{rY zcC__m{i#fHxWgtjku9`K5#^9$F(C+1DTHZ(X+om73W0TxoRHP{KIsua7J{Up>Fvf) z(g12msygySrTvb0peAyzVGe^tMQiXT=_yPyW{T-TgibeWzvt<1zDirf!TgzwJlR*) zI)#U73TR47tT_)=n3xDDt7y`EE%#G$N7fyJG_?ZyiR(PBPx>M0N3DEAJ_!UYGkU z`B;BF$j4x<5ZrPwsP)uRBt5kAgrCn@>GQVQ*jPb(su5M12Qm(HY3%1Lk|1PBj$8Aq zl@oV@U?@e2hxc9y9#$kN)PtsS(#5>5yKNDF6PhBITc{ZvL5o7mMcRohlg+@XmlzAq z`FoI~AN$Le7FXoGumW!T_%@%^x9(Z}+m%QG5lJGx0ucnDi&-tT9IFsGD-5PBnaxiH znUqtEm`VuDX`#a!l?}|6itv*d(v*8l=q!Vb<^&m3u)JeRkr7o$T%^ByH}_mVc%?U& zk)Vx--f5{sM+Mx;`!O`R^ICbWWW0cnv~;iQeGAyAuJ~ZN?GR`|hd9mA5k*RRqV7o+ z>t52#!piQcg%yjH4PrUMc4H288iJ~?FZW-DSk#%NJsfPc=nUWvTmxh7KwM;PF5Rl4 z4QHN4QX-3{qzsAybuf?)i4a(J!mJxVHeNT%eCC_Y&&kT?%hqNr=bFzW(-|0O1;!PK ziKyrX%BYY!5Q0(hg|++a{G7ZyshLX{6fH=dDI)bTh*~6NjHE%FKM(YzuMSUtOTW7J zqf+8cyXV1sF8q8h_i^_)eg(_npOINW72pzqF)2^PPUj`!sX3L~KW;j;66TR$gnK7s ziV3+~D@CXcpa3$uVo45W?pf=O@=pfPUdcHf`7jkZi3ygRX{AsVQ5!?gS{8}O{kU#= zgrb~^L~5g#N*oG`5VQe*D6kfljt!i{GYS>3mj;nwE3g1!QDYI3V30p@=0WWd=4c&u zGcoTDV&aJ~EK5a1g9L{lmH%_OY2RR5{Z-fI@cg^CMf`DhZ`~aZ`Z%_9N@6j2PfxKx zr1n^GIoFCj$x_F6F8pz>%@h`asbvyH2{}=P-VW1q3P>BQZ8s1Aq7V=R00aOdLjwQ+ zKo3>VDnxZy$*o!^CBcqU}vNuFe@1z6z(o&}!zT;GRf_J7{>m-|8-5~SMN znrsbgg`8lj>-(ulZfDn>!)tKivdFHvF;`=naL*tR5&!@h0HYZLFl;a~#>EkkSe68` zL6I!8Am3bCH@){|d$7Ao)g=YkCxB0RVD8pXYlJ{Q?cD!_LZh-tQI6k&B z=lYj(-{+l`f4cFtpQr8q^-Dmc}FkHqy7EnqEdTz?ZEGQf9XFNK?Dm)QJ)PMnIluMPwf_6{$Mk-QAiWl#`?>>M{_yU(%jYkY9NTIw(PK1=ie^XZ(io( zpD*-9mESnVx2f*<#{HAp9!3AYs^{kjU&&W`O3MD9dqbjxKWyziXHPEfFI%t2fSdQx zS_5!VXk4RNN-iWePS~1k5rR$Y@mx!R)tlCdMbJ4qW>?`TCg6nL<)mGLS~?SL{Aq39 zu+38!!PNz-qNm=IQ3_U+&lbD_-FjULtX$LSn5rrz6l;Q9_KWfoF3me2f9)cE1(r2g z5&q()+I`ePObo`oR#m%BuX%I=xmLYtjkK*Ao1{U?WWlsvSI@NkUKiT}%<7ewtT3z{ zeyf)VskMa*PdHqhUO$~y*VkmOMIWv4r_qMf-Bar#x%&-gr3^Q z1v&5HG~D<0Z%A9#0K%$Ju@cParym%}%oRKWUtOfVenOvM@WQXdqNRo<^cFnzHcgXL zy;b9u>=&X>yt-39jaapcHA%1tj!A=!y$C>YGo~w(3x0PmMY%fkutwji&tC79^;9Re zU0$;)sy8Y2X4ML-zm)C2+*Z=2*Wt!qRc*kYnAuN%vtBKht-Y3Ayyt?JW&SWFnsG6A00N)m^mtC`eO(yu~^e8R*Vb=oVJQhepJ1VCGWv)#Bd?(b*AjQ3Julm zpn}CI1N=6cn`tzi5O`QKK?Aa7`cp8d-UIE9Xyf9|Cn;D45$Xt+!2l*eUe;17Pj)_T z)>?SgvbC@l#wx8*Dj`Q*TjBy>i+!1l7UCWQqd;TDw`)^vRgOWKM3y?0skEE%@A;Tl zZe8`=*keVjTEz;3OHgvDqKHd+X2$eh;j{wGPW&rqZHMRU_GA?pzH<0NWa+0Z^xd|O zKC9K>k9(vDy6#V*9rA&UpTUA8SJnAb#I1rShtAh-jbp+6Ew#O#o2)i$wQ+5mjb5&e zZL^N+7paYnk5RZ4uUAB%8bjS)k((N>SU{h@^gxDG`G#;inh<1s|63_$osY)t{#aq? ztICsZ*#(L#P3B+tSLc8m3@6XsJwniGcS;+Y4~Ml9;dO>pJ#XbmxU4RB?zgVlg(}v@ zAx5`WZqC|yJ6q%M<*4>vu5}EFY5f_ztcU){sk7Q^o#cPNPt@jD?w)ua{F=?mUk&W=MN9J>DtKLW_Ozs}95!8%WEm8-3()rs-vWMk@$uf; z-q_+N?Xc$M06Q6;Q}dt;kT9Nj6=|B!dACaY?7>NAPAQ#}u{wET49!w%N@?6UkwHg7 zY39F%*ja`~8emAeO_fzO&+se3Xm7)lT$1l6WQKxV`zI8ylk7(dF*M{P}LjrS&$N3D7mV~&rLcoe%UHb z;fAkz#R)cB_Qh(PmY@#X*e%rZO9n}(<$vjLJR|(cK_LO|mSvQ;2y;b3ESC|e^ zJ-=>AGrfihRx|Zzd!ghE5`Owxh@}V&UK~=}WcM@^&x`8>YlHj!1l;0h%Z)r{YQ}8U zz-51mWVV;2Q^l2vwMw6u6pB7dZk<9q@ED5}XzkqNIAyy5Z!NA=te*R{89PiZ*EYqk zC;5?JR-VzXTP8@=>#&frPs|LX8RDHWv!$9((Ye#{V40BYrM_hcY2IFf*h07bQNB9Q zbG6IbPSvyT)rN>KL`HjlQRM4b#@r|H5_V;ibb`n#C`Koid9&p00l)`txH8tkGO0cZ z!@zh}@YTliT6NlXHqcRi2+cUXu2ih-`o0+#g0rhscJIa-r5iKdE@PI5{MD?s#nQm$ zOcKOD3K{3VOK%bn(c80R(7i?3@CIwJjJQwLC!JVuFqpYTWbi%NtVrVwRWu#fvKhFa zU>as*iCXyIDcZ*KKLt`h%e9fKi}sy$*==#3V1iXo)eMgC86!6=1ylajc|gubh4kjJ z@{9WuEDY|7`#Ey@Uuk9I>lbHeC_L%#%D$gP+bymWtmNo(o&w-Qg~sUYx3BOWEO+*H zansthQyN=7!Kt9m&XLbe`b?7B*K65(T)0WwJU?t`OL1=HugD)@BVTlJj)R?O$01Xz zI!kBRE7*Y7C*x>y+;f}8so6=l*wd;3;C#2SCGi?sJqb2~^thT<>u}_}t1s6U2CPPa zM;D0QWXgC6HZ=FygpOL5t_}d=X_^H>c}#CD*7Kwq^4IXz7WN6WtV^`r%mGN1ZX$n1OiSk%v*P7F*pREs&+E8@uU(UI{i`_Eoex9@!0tq$C7T z{O_C2vi51b#O}4Q0kKcoJ~eds3PTq>n~F_a+vx3AWbgCggPv@Qs|0JS`y9Q7b5eLr zP4zawB`EiakO2b7{Z-`9S_;>hV8zZz^_SAb9S5Qc3!(yfc6Qm~Wr5kGBKa`p-DIUy4a z8nzsn)uT4gs=`d8OM2*oEY93_^2Mp2c{Zh&HQM4n!347f|LVro>y~br<}E)n!3MxD zj1F&8b{5wO)<^bGz{OoMcBIb9ES=-41h991usTDmNRgjri=J1p+ zu{L~{ov!3D4*d+MJX6T8p%7YzSt*7|Yz&&$o;cKSX+s_agQrsUv^3`?tvc)3& zk%7N=S7>UmMrh(Ip4ZvcnK-Tf6gdWzwZ*B-eD!Sd^p*n`=9TJUU&rzsR!O^sj>tcE z`?4aVLk-Y?k$^vGBRzIyOJ$mOXv<8TfpjhU&kFCH`Roi&LR8$hO=dHMGBb4ZN(QlKY2QIM zKxXUV@=>zh8n6FA`h4*p0&$uIZY4_(Jz5O-;4|J0l9`n0oGJGhz0It<X6n5zB4`(u~tGi1lZ zJJNp5wKI-U2lIbI&jw=&r4`d9Q}s`H_Z+gbt} z^4N^mS@=91!T8pn|6Gjjt=Jv#as7B!pPW@=*=~I!5xvj_oQ5y;x&Mfo>t_D%8Jg0; zBKpc#0u$L04c&yewq1FftoD|WQx+f1Uk(LxeWGc!p!F?4TuLMIsy@qaXET$6{JtS{ z+5G%+ahlxhy^@`?HU|8xzS{GKVe4<0;^=4<=rr+_qnE?x*s_jt>iBsD%ljiD9hSS> zOl&(m9D5q?;Ycjv>*dTJ{Li_k>3_L}-%?z$7u|mz8B0%#cl^-M8hjXDu!iEt<(D&k z&%{sMopb}y&xsl_eRZoi-rl`cvD~if!Gb4Wds>q0PbN_FrjLidE+DkMLg7}znpN;R zeH*NlqGjyY=bw+EugtjT2yGGa=Jk$gq55h!%9i2J;EAkSpEQC$H)7ak7Ws#+nq2L6 zms-}?Ux@cdKPx!QJgPx?&id_}?4GDTew6L7nTv0lt8lWdqy*@S5b7!fTrZ8sAxb%)que6N^wJKJTo7lsIVC_kgZf>8&)!KW954!H= z(vrX!ohC*#wRqAJ3oGj;+;Q3mUt(po!%Q^zW>+ncFpj-YYzgVd|3ojgRtKC~+F_A6 z0GbP%6ys*V1~1r+h)WfJ5#?@q!Owm=Q96C_0hbugm8y1x+Z$ zR2#{gDaD>mIV5P0B1$M{T7IzD9W^@Z$QI)T3<>Luf+c6;$|QP_Nuh&wx=!_V_!15^ zcObDwlSU9HP;0f^Mvd(*t-`KrHG}7YG@`7$S9}Z699@y)8p3I#G5WpaLkn*rcSG1- z%Q@C@3FvZC=K1E895n@+Y|Mvx(f+idichd*l%4>L^-ZEwFws_@d=)XwvFUF8nmWka z_oEg9jxr4iRg~naS@2+8gVe(Jq1GVaL{dcOfcZBmy>Ii%OW76zwj|d6{zfM`fX*qMoBA4H&>|!SS9*qU9jRv^t0XeObHHK;M|w zj6}MCj(pLL>B$>GrM=YQSBNL-dy@tVH3{d#PCf{= zH_5If&9~&-dQiBgKwZakluQ@qopxyxpN4@CN0b$B3K5-`5?px@%yJ-WF^L_@1=z!I zV{9t%Ruc&q*<;OVGKb!-C!bDN6ZnTPw=t|+x09H@3Z-%iNE{7 z_l@gF_;2U27j))~NZU>*`HqGT3b66>UM2Z_CAE&=0mmk=snfpHq@VgCuN!0Eb~{C< zR>p9_;Ca))wRFU!k%JV^m`x9uF)1&Pi_68i^@ctGDOP#{&Z;JCLMT}h$pPV{i|rfU z;QZ@<&d{xPwMb5D#mtrZq#-J00X6L+Ac;oev~hn|{Ov&9ib)}EGT@^rbC$$1wvUd&ay>hjHP5KyuG$?Aq$W5O8WhF;}eEBJ^rkvWjn>&q#Pw8Ux!k@ zTP#S%eB+U7n7gm(B1t53-rq!Jppdb@1`Hq<*xXI<*Ljw zDli(!))Bf~2XDzBjY&th@O=sN>fZTywTUWHUrgP*P)X^!8JUeB8&d#i-`7@L1((~^ zFX85pRU&z4O*FPZ=0VzPRI&+_MA>}3&}*+E9M<}ZOVmZRdG+WV(Ye)Z?4%|)rTdYx zw*Nb1{Zps*+TQp-v^`;OUuEgEzO|Np^mk6BKXL0W{i|0bqTIPlkNyXUAAcH6PM0q( zV`M0VaS8^&n`_#06HS5*nHlHjaAoy(k5tSr$-T&v) zPxkJqlilk?KWu5We_c99FU*gB>1|5n(!Fy(Kj@djSzDL8{IWQ!!y-ZubTE41U2=oH z77}3MZP@chMu04yzxUqZH~Z=~ugxBv==P-ScfIT5ZAY$^Gw8>;bbfgkLDJk|`F7P| z`McL`1cWnARvMwAgoSf#4N+`q2(fcz0`qg_(0O#HUMcDyy?~VmsIDbyEJ>K4Ma?*) zlyQ06ZO>qV#74YWRW5B5+ zkS7$=&Bg_m^6&kxO**5;t@NLpYdTq!3>J)wan)vEq!hZM49NJ%w>oQP%Nx~DIQbYB zGzJmvxkQY6U!w{wDMVa4-plBCVI--xh=^_`4U4snq@!wF08b7T^A*RA(Kgc|DnKQn z;^vZ^5&_mY3L(+)33E#NTEh6My;)O}2`^;PWVIYF2nCISG441GlEv2M$DiT7Nt^H| z>8goy0h$Jv)(i$yLM7tY2bfNkS1_{Sql-j@l8uw)*i0R^9yS|?8!ywIxpNvMMQ}hEf{KC$jf6=RjvyUy$ZwR>IxTYrQM{RMq%NgkVrC4e zoRY_u8YS;4=A*AHJn776(l;bx^fA|!W-#7HIK1;?Lsd>(jK&SPbD~L_Fn*=1_XHz4 znqGGx5_5fpVgH%##$EZJGw!DPEaT6GiE?;GKmBR~!YLO!wk3l8m>+fx)?KpuA+* z#dBST<&vCDoB|p^WQtcx(!p_X>*S-=J0CWWJM_q2y>@^0-^=Ur&KlWpI*w|2l(~`W zk`160<3rBcO*(|x{JZ~rWvu$ZXas0fnjjeQG0X5O^|fS(Gqs#o*PAEa$2FlEjZzSV zpt?(mD$Dpjn2=5>g_d7eSx~2_(8i`0l!6LiEht_7=CKv8&mGGq=8Lo7R04Z)aFdoT zCk>_{r6?7WmnYK|=_a-8%xB-)zA_+^?0Mx>ap-}@FR-R7;5x%cEsLJd@q z^lT|^qk@vmi=bFeS67%Hl%YqN1aJF57bam~xp{Ep4V{?xlcB7fbum;yYfNa0x$~M) zn|QGaOeB0tRLbWr#sQ&>5<$wNMUk$PA*hy=(WfO939fHTuh5_K<56*0lL1hvSJoX{ zDt2dc5gA(`q{7tQ>@nTSVvoh-a+8$w%=G5NQH$|&`Mn|t_r*spp1iyUsqrxy8A3>V zEe0+(!wQ4{R0H{6D_C#DS0?3GNRTJQwUXN(%z-Gc!5>vryZv)i?CIuR1EIRk28&PC z~11PLt_P2e$!Fk+;*D7f#rfd?N^?d-VF2yABFQbLr} zgQ)gkO?qXxZogXAj;$>tA0uruLKcFeluGv4LCiVU5xrEyU$1LWWCe56j!bJ4=r1G( zt5E7~N-g5oFno{KE0QO~gbk8)A`%}Z9Ym=Ifvh5rsI2#5qhwTP;RIq3Be9iQ&eC%s zI`=?OYUA%aWnc>^a)LO?hM3$JbP6nYSJM!Kgj${Fvw3q${xVDn{U!sok$6)SwmK)H zERhO-oi@FT7tuCrO*rEXBPLHEJ=Y>0ElcKrD|5dmKZj{>LAiJh1pZXWJ&3M#Qyo7z zkf~*Nd-6IMb{=~g5>z9C!{fi`Xf|Nj1antruPS8|ItP#w@Ns zVo}W3>9*DB6?7A#$kPuxA_^smQGcSRhK?QYBjoEnrJc>bRkVZ%FeptmM(Z5tO)ZM#feZw_WM%$!<1#n4eqqz&>GC4HnKH^ba zAvV`pIFX8Y(^tj2-cL;~Itg#rEgy{ME&ew{N11ipIx(mrPmY7V1|Lma7I>MYB3Sr0 z;=7?vM%Y2=6_zO(&bFmR7aB8$FrH8il@mB=8z6218Ve2a+LKLNkBe zUl0%j00RI+GXnqsKwnfmD8m3yKHFB^ZUVXpD3j#>Bm^^}k$_jWVAk#lNP(BoroTt! z-vEJB1VlstP(T2L3&;u;h(2+g8P6!Pa9g-7T;Q1SY{ajg3Xl{a5+{y{r_B9jx`q4j z{3K(3DUE?@;KS!$8`>I;f!45$)W~hv)^1}eMq-dK2%;bW00RI+GhjvsR2bmm0tJX7 z=(0dvLXz8&?Lx4h=5v2zZir)l7v{hG7jOUf-hI1gZ|>gu_4od}Up?_-pYPs1d(WQl zyM1=IzPa4L{r=*9ABJClUw`dmv;Xt>vo9(8{rCGH==bOc z|NP;XN@`E>ROT-?|G)a*7hnGU@=WOh=Trw04zgf^QP5Nmu8lWe66)FKK9}EL-tlkw z{o$|A{;@=zpM(GV+`pc$Xa3*vFRy)i`VW8HvoG-<`}nonzy9z2e1AdWM-Tr0=Eq&5 z^#9+k&%gcuj5o#G{=Id3uiUY3@ALkR7?AfuYtc^^-~w{oh!%R%uI5_!e=eRq;w&XvgJvHoqS> zwry9po_~9Do@Fa-!l<^=Op+4b(kcvXoHEGAxzBw1y}0yX`lP_CAKNL-PP7g2rOX|O9@5zljWkr{f^Slj%SFDqiy5ryQ4{%D#^sVBumeLk(r5nMc zFZ7nVmD%iWr{7R-|E9xbu-h05HWhaU5)R&MzVO?vGRfc$KOHrJ@7jWIFm>n|G?`m$ z_3%L1F1J(_ymQ=zkqq@&DAh_5ey{cc$x-;#Rfhc#AbzMlLR?%UL3cd8VA*^9lN z2u;H%lI-1s{aa@l|LJjegXxQ(#Sv#Ux7tSdpdqZ`X82f+k;eaDI9gXN&D+GXC1N@& zAGE;{=jXjMdym2G17V!9wijMQQFhC~!dc4Q!s?b~^D(^JV1B#9cW6y7z6{9=?8*RF zK&ZbKY)`-E+Z4bA+tTL4?#|a2GFjMQhQM7GOKpC3U%sr&JmF+BzFqIMH+LQ$+~@V~ z{kwC|{@brRv)#AO*JHi=|LvpCYi&q($d7ayDXvAeUA~Hj>ps6Z--NhlFM1i>9p%XM zDwNgW;oy<2g7_Xz=s=iEy)*0G zOnU>zLHdR8(`G)(!CA|yfkqW>5%Qwi=D#0XcrQWhbz9Fuxwzs+WZIY#d3JD$?qorJ z-;r-R`TI{;yRu9v6{PblDJIfwt-R3u?wls;W8$ zETP?sS}z`-4*MDSS@n&6xIPmGa<(KHzxfn$(Sav5nobZp`pV_Zmjos_=f)=Dd ztM-#yaq#o@PBE?@dU{Zq$yH&T))7qv-fgbmZE=R0ns`z^@oJ^-xXdVYpJPdFB13QO z;4w7Q`PirVYi^y)V@KDmH)gHjBGEiygY3XM2bZ@Tm+5?D_%5utM`1jF!fmf-OZCti zcqsRn6*pERhy1JbRe&(8ON?Xr1;5K0smzEXKiPYkwx58-cP%uWetZm+yc>?=r2-F@ zbU14n4jc!g^)jfx&-JQ(ZFABwrA z{C*ARR|c%~wHLQeX9%{_KIBzX`|HeIvn>(yhJI%9jxCGm#O3ecd3Z{944$8O<*%ED zLne83IYM7=uI1Mjw}Ki6pz(1rJ%n)l#KxhGWeKkbSxA#XN^)XWg4giTBrWdhhVc+K z{?J_(6mLqz%{p;I7@$_J-0tJNoxjuY3tx>RuyVlGEpWeX%uCQwH%pE8jO%Y-hUM?N z;zS^`{C*ANZh<|xEQ>bhHhRm&8i&{Jv3pg`TX)rD_`-Errob9}{po6;5zPt7<^t^y zIsILo#16^=R*qC_BhMz!(0Ho-L;ueavI(BQum=A=u)Ho_TX-IJbc4(!%fLE3S5BYRc8wcaeS6*R}MUv;gw~j zkKZ*+Xx%8hnqQ5KYs9Fr(O*>K{}5JGUA%+CCY)Ky*?CDzTE} zjrnE`TUhCBrZijl{XAX#J(28ccP>a@Ks)2OyBEVTrG2%tV@Lg1tO9oHvS;L$1z#)6 z#rkPJvLhJ(Wn=MVB+ov8l6fAg;dcUOw~igdgNvim{@P#oc3@;PMGKj>DO{_$tG4RF zIhS+s8FDh4uERdMPGpRZsMM!8-CuS9g$B8*FmW1ug0yC@tC`HOW}SZtJ$6rVz%JCh zlP-JJnOJd7uZx-G6Sg!anaGG_sBA!}Zn-A{)ugByYuHB0WA^)+5(Ycbe#7ScGmbK) z^PiF&B~C&A(;&S{{7a2y<$=`1@rcN{Gq|2FWpmCUDW+4SX`uDQzFF623H5R6Xh<}F zNYG-Ai~P^Fr5<;Ka+aaB}BHrjGeD7#*VOz zkjXz~d%k&r(#Ijkn2280hAACbG>jkE?wXFux{9IB;T+83JzHC@U!koLhB>?Q7?z&c zBXRTt)v5TLBA!uK=dBGi=)3p>!)b1OhVv@h0?W6)WCneVP(=*4nvy1pzRu5_ip{&t z7RKb+vj2bEu+^F^SVKeJMNxWsY`dSM<1b&^JhR$0R7X4X2Pl};56_Z8?oR*N(OH`G z_l-pu`uDr}4$dMh+}wyhwz;kO;-9l6e7WNsn$H09&XQhpxopj*C_E#|L zJd--R6@{hX94<-{s4=E zeq||1`yQ4u3VD_N@7dY*b?x}NklDV_8r%@Hb>>N6J&IfeVwS;5e>grH)p_OyQTWJ5FfpR;%4Q>zStJw?f~wwas;g97DX48q2&V z^nJHOAoTd<=2>LU-;-66;x}ZW5%2D|Z*!K)A5RWlD9~y@yxZtn6`8b_p;k)Ba)7cX4GR{(Qvoe!UM{i`Nw@deT{d+7IA|}Htx}OGE*|=ln z^Gxi7QK3P{bcl}x_wfbMsfRj8eyKFHT4alzFp5P@zZ$`pcH1kIy?cLm$kPVfJjcI& zr?#CsAm=)}+K!o;%_A4BG_XYqUAUTN4l_sh7+iGOnHA^V z#=n;O)X%H>Vnb!6}LWA{7x=uy~zt6Wd z|2FuXP~SnzQlFmvJ9c@03gu+clJ)y%ov*rXEP^hw4uqZ%IBYH86GZI0wA7yHw^p((?ZgdR}_)F_9 zjvb#tU`8HfEvM-KG0?R;+3as`G>*Z~;BC{^ZN(>-UaE{)Xpm1sA<|tK{ffx)^0PvvGt6{f6hoe|oljo1^qB|Tn{k1w0 zE%R;A&6-B@cjSJift{>j8BX2fsouEL%Tu7AbIT~38pF38$Fgb*(nG1mTy6eYexWVS7xpgd z)K517`n10cbMMQJb$uVlO+SnJs)6&o-?#OsBfs_Bo|zfmw%j#kxHrqj-HaWRp891s zUwc+lS1!(l>PM^$h3>P=_73WJrny$RT)#MSueIFd+6-y&1!x@Xvv5QHeyszMF4nJ2j;)M7(7cT(GUU12rr~kW8WGa~>?v#1#LiSoE51%~D>}J+;LFS2 zZ46BU+1pvJeuY`xp}VL5t@SSDOiV9(yt}sH7toF%1-VZ@ht*M=$e?y(5T}P5JIJ^) z-1}`|L8f63R8N0}Dp$$#;Fap(pUsf#GkuFIp1tiFeJmf^&{t*L;1K)bo-t1*6$7Q7 zX&z@;uDh9M#i1IcUz`ZgHaKhhfh>60VES06IN>+vOf#?iyDDgQmdYwO*6uH6O(4H; zn$?PUa|rL1mb=YsZymSG?+?5(%N)BcCdaU2L7CKNp5;-IygP~JucurKbXn!Ndf0!7 zwJ*KOg}%O}k&qzL?^d1}!)jY5OTqU-`0McOY;2jfeOESN(PWlWOmn8)Yr5|LD7dSIIPDL+~Ne>M`dELI=ZP#mE&-VBi;4ik`=l{vY;)vx@Beo^UF?L8%@5f4XdnLH!}IZ` zJgDX1AW^tB7$b$C;oWg{95=kqU+)Ta9+eVh4XujmC$hlHM%Er)kdwK)>+@}2&N|Pe zt?H}TI$2FBr;DNlv4acC!r4UI#fc!K8Mm*sNjC&Sa8r{tW(M1r+1Y8M5;>6wGrRcNts$rfYSSTA1)Ztv;f6IEY?;~bEcm6!p#GctZxWMf6r>WQWUX<* zk>ug*pl#{|oAQuSWP6hP4xL2mY?GUtUpI!cN4vB}ilZ2?DkO0$p*X>;`iPSb|J!RP zXyA>$;%k_)!AXrYY+hVz&g*k^OY`mR(rg1S9gUMnE`#Tn{TmHGr%n|ps6>+#X;`jts@=u}tv+4nyI-xZwuO&|iW0(@YZ2q1 zc~D^0oOIB(oaXDn(rgx?KtkNg#6?;G#*iqHV!7w_7X>VPv@ybIdy%3ZNkv6Wq11?j z=32T8?Lc$yX|o=&5lT)bDk(fE?T&L=r%AT;rdo`Q3OB%t8zzyMJSd4~%R6>9 ztyfj>Ttzi#K}zcu&I#5+93Uqtq&L^(?c@ynnZ*Sn0{T&lYh*PzbpFCPFPY{nygk}9 z*aO$3%n4TCz!-_t;NT#w>9e~l9{;F&n42RZZ4o9Z39X<)MhKvFNw!y-!~atb4tsiU z>c&`%vKaIsK@GGk_qfB*qfGEh@#7;h3qyA4bv=eJ*9 zZ422Zy$XD_YDv=8a#Hh6T!I)$(|kRcntfhPK#W3ZL7<2?Ofo8a0FU(WNCeB?hT*~) zG*382jTH+=f?hTfSizyroi%pu`E00(`2X`VRbT=utr-l;MOkOq>uC-A3AJc4i0aW2 zrA3VS%3=`==d}UM`1-VKo^$`%qqu=p&?;%m6DoWW3>o~=jlFc1i&(xXA&4sl6snR6 z8k1vl!=1f3nvH8wn-Wcy6>O@t!e4q1b4zqI%yI1BjbY-WtH;h2NP_tqmpvp&A>Foe znq{YMv$17mju`1{GDim97kn)@bDOJyRfV0&Bg?Lb9T6-B%(Gw>fCy>q$Eqr3IFSaSH zkr7mhCZUba)mUVTBHiDEGv8V4futl3Y|(N~g@~|bh)|;|`E|Rq^@XU>D>W22ihx&Z zH&EO$K^T1G$vE%bI`{NzzITNUmPCw@@ns0n9JyB1khm3or@Q9Db>Wl=N*Hr;x9cJV zm=yB9;RDP1_Ju@+_&bfzz7hO$Rs}{nd{NojQ)BOLH(gLu6150U#+pYpH@;i@tI?b? zlmoZS>3Pww!0N0TkxtgE8cgkegrhoJx@{w|?nXVGkG?$^6j&B*B(KtFdkxr#vqI`s zi8J5rudjRVu6?cN%D*|u{tj^wSe*?h3cLK*nMry@cn-7QWs!b-Bb1K0Lf4w^&a?@BuO|&Sq0Bq)a=K>5ijWO=B3$IMqo8SD3* ztjT&r?YY1w&H$1VO5^;ETyxOpjFPpWM8}#Szo}nw9-`)DMVi05XvVQQq&G>{Unb|* z))oz}3Wr`S=4^6Y`TpgcvWO;(F;?Q1krYzIb8tiDG*=bAEPsyOQc0tc7g!)Bp+yBx zTS=QGCq9HK=`ZEfIk7=!#yD2tPAjMaw)jw}3ZwviZ;RCBvBg^yz6et?Xmk@*y*Swz zG18%QbI|?7%gzXTIqk8 zr%v|0!C*N^JpWO*$vSb@C3?Up>LGdwm%m<9%JcyX66e-vMq%PLDXEYv&gK-H{`OZr z-n~Z?zDkS*#h99NJ;|e!a!yqiyPW+edr`!p*4WKa)QbdTW_^pt7|lQ_D(81kEqti1 zS|kPf3<@OMwWKPPIfeH&V{mxc8g`xQR2O9!F&K2zI=24?AO`0KVoEdP7eByhZo2yOKyR}unEOQlM6j737=8l{$!hxBx z!Ku{84-2Qe=2O{HtWJg6AYFo}VS~;I1Uq3dkY@fa$VO1nLevik?SKH8T{ni#lbc~_ zzs~ZJQYI#psn}x;RTz)=HpK14%J9V)|IY)cjo~_x`(+B-%F0!nRswL=AQz3vChFbM z4dYd|wV0fa*+kAM|Dop3Ttsliq_>|7?yueY&yL1Tt-{ix5DPN;!kJNxN~8%VhE9^+ zo9A@h*uV&xleW63cjly57Ha{EX;CgyQegS`_3U#vnr=;yZ=y(6j~+m4G^XLE>g`p) zE`Lnj^&G=oMU=^il0FnNMH&Qqxe7mMZ! zQ%KW)O@8uqJ6N%DGc__tP$?Xp`luDO(b()mdv@r*Z0p~B_jk7mHWz80uGqLXt&U%0 zR(8^v`l^Y!bpXO8`?&8uV?R_40SAUM-P!3{?6C&Dc#%yU=F(nWIn6NjR?;yj*vhog zJctC;YLH7tE>N&UJ+on-ZK%rRh9h#0jK)?4>0A{eX>gBETxSgaUNvk{XobATYf6~` zr#TRD)?+-p*>OUlc$5%IH!-J1tS}AW11nDBwR>uQM!434#ex-@TxqZv0|{8vL?xBaY`bUX)Rm~u-^xS z&d1+sz=y5i)+kz$k3ALoJ*R8}SrQxdc#O>U==c1W0ZB=CDqWv6yB)~dtcpIXG#*p( zSwq|`HTi{VWK+W4SXDd#k3$`P4QXB1SIGnQXB9j&g4sn>lw7xG++_wNg-gdCYRa_Ba1PAcVzo>r8|FUAHO4y z4RxKYmDLojRTAZN!!RC}G?a1Gd@i5LZ(xr{N}g5d%EH@&1tctb za3GKgD9w|{z`5~)vh6wbZeKStSdGR4tH5#qYQd3=@o}@UsX`Dnu$5z#$r%63;rhy; znM7>V{cUwR%2MV?S+HWHs1+o>D>WV6+H;{Ey-c+2m%8I4$*^89u%ax1CB)Slw7~sF z6o=ZoWoeTz+yHyhAd11+Q|4B?5-Nb88+C7$re|g9D>*W2weUFY)J?saQYSQFRmRHY zrmN5t3MbK`O34m`0f`MpjTW_u`21}}bnd3=Y}Ke_IM=G22i4rXxr?P#vvxjj)wCi` zoKXo?aio|QJs^CwZ-P_>4EuM*(zSHz3&*jYJUIH;q=6-4UP{}~p-4ZQPDgpFy(d?z zVTA!2OgsaeyCCW~W6H4maQzSv0ssR5HA4dc06-5^xTqQfi~8+0ZMTb|X9A6+WO;d# z9!b6=E(E&U4AQ}AXyf0-^6vn_R0Kps08l^x;S1MQu7VT1!js|I$82W=2 zDja$skvR9lpSaxqWy}lD0r{V7UkjOnA3lR;K^vfq)W&U$4fzLcaNCzLVo(NYfg=Tk z01yBGq7f(}C;|db4{-cY1VU~>bM2XZyH@~8$NihVRJo8!e^&qh?I{O;KKZ-H`{k$p z_-}td{@3&$UHWUUe(d=ViF<$k__O&F2fu&s`!7H8es{`}bQhX3?8Ti+k^ z>}SS*$$x(M+aLe-=+T~fvES|5etUDL?b@&U`}U_^d-0Ec*>6Ae)Q7+H&Z|$oPrbj5 z%B$!8``?G(_T20L-=6%X=id9?_y2Njte(2*m%rcq{O)%jKl%5|^(Mhs!^nsX*O?a+ zX*6gn-A3!rAM^Wf`!4H=AAV`N|M$tSXDlE6y!Y=8G=IJH?`?LrvP3+J9_M87$Xbp{ zgz(9-$|yYn8Sggx>0vx~Yh1yxD6B`v*Cg+{tS>b3y*sbn&HisUb$r|6fs0x8D0gw) zZIQH={w@(d3&x^mCUbgk=<~jMHZE`7;}f!KWJ9^5d|P(JYGS?1LiqP4-oCUg)|E;S zE6J8+cY4TYZpnH0-Bn77`*?crzJAhQ{mf@C_R_t#IW(CtEL&=vtSw+;wIJAdsH7gw zw;XA^*JboyojvyLZlk}i5s2!*LHL`zSxB7RdsLA|@}}+E9{RM$HqK1ZA91=Fx+}|4 z!WH?++cLxrh%db%ukE(Uooku>(!tNG7aCby*Il~Fl`Rh5+t2S^IBk)}Rwm?4r_pwk zyRv8$A35I$*@}vH_+s|Gw(-oChHP)_LY@O)-sFmv1JeD98U^nu>v;2zU8VpOCM?;; z9HWuP+l9bsm`OE|n0x z_4qOI)#5y&XImH=ea!mqjqxZ?)5b%)Abc(?-yw&q?|9y1v5)@SFgtqf zxBlCwTl<*apwxWU(YjLZO3Ru=xhOI_j|vlnmbbe-T=-=u%yVcJE1R~ahrMMwUVl`AY}Fa*4!a>Zlb?9 zKZj)x>M*jbu^Y_BLK1w}WkqL) z3J~E)!FKwka$d;+2(P-v*CkCiXWzUA#qLsP53|Pz?_IB)S1;|+{`&3Btgk6mryJ@r zWrH)hL(qF!&9q|oImnj|&fskO0UcRZpQegIY2~%s9c2JNAw1omE9b$x@0BaDE+Bgi zC^cl=%52~arR|B>v%4I^e*CXCm2I?9Jx8WIe2O(gQZ}qi( zCi((9eq1gXylZ(8y>`o16J3nqj~r)N6UJABiej>!bw3$NsB{yB5M z_0X4lzP8Ehr*$p|8$?D7%IeWh**ZUk5-r9&@H2a75^TB*{l1rvSYDXvZ`Q3FiM1Td zDRI5GymEDHM@1n#lFLtQ2=DL*xb2yBJu5~{HE`9K=HPbz&{JKzQ>DK~H5WEDxl16o zJABPutlxje7YEL^p$D606V8Fsv-o#`fSRHH;XN~Y?2rr|`~580pEMm#N);VUIok$l zx`Kl!WHLv*b2s(W?lpE_ryo0b$nFGbxm>&)K)IHiY?}T*kTc7+SorkV$84!jJ2o4M zghBO)Ej24MOI7E_W-o8sO5w4rk?pQvmS!4Ky;x=C`R!J};MGoYkYaY*lY#r!)qX1c#cS_YRln3G zQPKx?WJn#Miv8U!DZcu@zcYJvEq3UBrn;Yjz)I*>{!s*M<{p(qiaBmUpI+#(y>|C& zPE};;H9Nc-Njck8gv9vVho=-Y(#g;HF?jy*bu_(F%+P~C@%Qf_x7RpObmV@Wb#n2) zkCz91A?=VI!Ron@@GNlhh^|oMoq3bk#|7%2d-lGa`)0{b@%IkC0Qxoxrg_&;7K^Y0 zv_rZMZpfFyTi8~5SwphJD_uout&^&qki&V8=J!h%77()%Oe8K-1>(J8b^8 zpv^+~v;3G(CPnhuz7_A?ROk8)Y6~FFt=++HisejC*sw-kuV0YQcItcWbZV>(;#q&E z>1k%!*5t6=voj*G}zj2NlpHNX_i(LWCRy&m2nMQ>}JC3Oq=)C&@)*ccAUv-^* zw&^UOxa{^evuUB0QfDiU{o^@tP`lf`N(UXKkx*ea-MD3E<~g5j!FBQoekuCQP6Ox1Pg?yEqoeWYbW_Ah_{R=J zom0O6m(z)J+ATZu$NuTRX9S>q^GR9;cBrF;&@f%KRJP|*rdGM!miG#ql)H22fu)2i2IYvbb@Vm3;!gb~*CfVsEH?N%KP2 zdC0y|4XUBRWfVuhiOEvTs2lqB0)S;LP&Ls&R3<~V>L6_lY?PGC+%X1bt<0&*3V>vx zN;~7_fwM`vwu!0HT&8|i^N^v_rEvAQ06@{KIJ3yv>^W?i&d}SEv}vq)@h&W}Dld4; zf9T==X<08>Naf3Ha1$GHA2>KOt0Z;1>5%3> z+ty8GJ7nT#b^ead7vJ#OcGrs?SyLbE4G!sOfAbNTmFBkkR-jX+O;6M{jmg2eo zPHJ5a?~*Cauj9G4vnPH-(KoOtpR`fEiyvGU2v1iAcWB6Sbr7!ap@3&yNgp%th{`a> zccu13?j=Ge>}X&7xz4ICTXyA)aMQhPm!CC1a;O`tI$Cm^cB3Y|;1Fox4{F31lE2Ff z9+#>AQjX3S+QDMN6<$Z8%u6;MZ1=jal`ruZ585Y@(s_7XP*BY3Sd* z?VG8%!}4_A?M0@-Xz?KY^$Q;NABtj$qwaqong%HFm|t!qXRn)Dbf997YgRwg-|VH$ zY1;zxoM}ZYSm8K8TPw*Z$TN0Br_AT!31=>BHYi&wlI(#!bpQoV%culqyt7U4V`fjsV68;i@ z#ul@^79Ns5$xX|h=(+v&V?USu?zR{l8~=8HTm?yAm8zQ|i1Z~pW2k%Y^6Q&zd!cOa zHhi9~FxxU})2Uze#Mx$;Yux%jy)>}*{(e*Xl*vH5F}?ZrivA}h1ogePm1(CR`MVY0 zPm+LzSeltX*?ienN!Kw0H}PXbrOeT9?bUR@z_jic7-~lqta37Y6CY6Mj4g&0k811m z_KacZB{X=Rr3aqe!S@>e)AE;ZmZDOva0aS;k@41`^4t*)P>*TrcX6t zuN6#|KzN^L0fKj(n51wz>^zJLOMEH?q6!oWZDin`jW(#U3Qtv|9qQ|#v*4O%MGx(zKuX# zl5}obl>Y2&3_=cz_>3NiZ~$l>9gyyOkF&K+gfXTT8buL zkBNKgNk?|Q?4Y53ZIT=H6|x?2uSqJT4$wfVVQ8!r`Wv-3Z+yk_g)`7s2RB-^@=1fSsyhEkLHBk-?5h1E{Hte3TR)Z<;G>xyEi* z+01k#0Ai|5qY{*2A_!i}m;A@N#)z;r<#1RLjpRsR{mqma&!t>Iwy)HG)jObYs6Gm z1z&5%r#UVpsEeK3k(l*SV{AM`0KlZ`h?2jWZmB-!0iD}MtWpwMbTEs79V)W9nlS=4 z!!g$>{NCD3MiW>PXvkxa2kS*5MQ39~GkUi0_~lx!fJRoxF$-i#=EaeZGSo@4^g92% zb6>*M-sf0VO5-#HIaiK@H*qSxF*Q7kHA`T+#ShTnLUEu?N`eh2vPLv?Sajh z#kc_L8+j^=a+Ew6V&-#|C1e<_bo-&hqx@-qVG<;UD`u%VYtf4gSU}af|6Q|h^xDAs zRGBv&JF6=7@Wle$83BpJ@mx5=pZ~T_LKCaeXN*S@jY&0{bEG;6WRupVX}Qnf1g;L& zTZ!o7gDml$du(*i9F(fS%50pjxC^RhiYL@4f`zy`=GlNqB1MVY$pWuU)^n#nj3j&c!%jPYRQv1E(`d>vRH&Sv(g||oMF$B0@Y{05y55qqG&_rr9*&!r(cI zg|7)&-%vtHfiotrSf|@wphBuRM`CnRZl734t?ZKuUPU5GdtoANpwvMbGm=GF5gcb^ zERraU4*dAWy)u&auv!QiH=SM$1_`aYW|ff4yi%Ce{=$=X7;;LK1CvoXi_{ zawf@4C{E{s90VqmXx1+WK$}48x567N>Y;5?&|s_t*BAjAbf5H`3xU>e_{zxGU=8U+ zsL+MxvIUq)Qpiq_Wo`43+Y3iuY72N%@~jM>O2%?7 za5_e*X`MD^hUNV^e35Mw5VD@6(dcs+K}kUEJe-qN`v4j>#iGiFA*d=18PNfm-nQ7E z2Cgvp*k_CsFP_eVi)}|>RVrX{kn(&=HT8#ZC)X6s*CY_-jM`XCsw5@J6A1&MycO?Y zD6Nh?NE*lun!`Jek4Zfj7LlmGH|WCPs_%ywItpNNor{nt%pB(0nRn}3hFwt~&&F2$ z!Z%7W%9yB>l$z+I)bqgIoIc=`dJRExI+na;~8OcFFNd;=a=1+^PeFsJX>l3(E(^XC~is>j>&oqR=Sw4$Z ztKJQk&4V@5PLq_PopkmZvm^}u@*O6jEi!^BITkvKmJCrwI9L|pO!9!$mVB!cfT}_g zfTB&L0Cy6jY{us}h9@E)=4P?HOGDa?1%zM&pe_n8>w>qtdk|%j~}_?O&Xzn7n+APl`qgY^^E?M27?; zT6ZrL`qv$5Bqc9#f#vl*jidjZC{0O!6qSVv097H3F`((*(9LObX>!p zgbzTlQKdNPT=%RmhG1EvA~7y)uA+N?_y9yKreohoJj`+vtQk(i%!oc;8MJa+pTUX% zh*DpJjXG3nlTfkNi!oIeMeKVpL)f<8c(t@a_Wl7AbFU2IVnI8W6Za3=T$&ow9$>EZQE@k^=v86BOuiUe6dtULDy^!G=bLQjufJh zwoz;RqL#1qTlxW};_g;YjWPsSapWC(p&tK~r|1#8HcWu!p?ex@69vaKU5ipE7j7yZ zm9;_a+hY)pB==$P8cURH%@u`fr1N6JeFVksZ$yK=z`c~s%OAan6^J06fv_#kW|Y^j zCt3CYc#MSatpz%Y49snq)GWA`a(z7w%yy~%qHFj*+{BVMMj`9fJt=S<6!H1^rRV^%2s8L zss)iuXcP#6)zzctANi1f8#pCUdy-mfo-Ay^=c*rt>QP;$@yDexA|Umkdo`(hko2IS zIcyu#b)J2cvfE$T&|0Gnkr=_TF<9dTI$FpBUr5FOtl98IE2M-hwFc^Z7}bG@02FH& z_dtBkwDojgL&8=kn=FXLObKU@tP^EasMMc@aV=^XWDs*&6E>g@aPg=#r8WF57y9S7 zTjwgqObV$Ei&sc0Ca&D8GT5P0LLUqSYy6E7E5zIbnv0tdEb_{Gdbv%){Td%>`JBY- zGh}R2Rhyt(#}ii}jm1|13soAipIKsE#xi!u|#PcdMjOHb&M;eVNeBSTEBlLdOjNQ0iaPT2k&Dreh0ET zWUmd3kL6p*I5+awVv}Q&Y#vLb2O(a;`|dbtSkh51e*V~YfE#($1mY#1lsYP-o`bBy zf7X0jKKJolQLqI8=%!4%DUDSa1gMKbi$qRz>ffOKu1sr7!ZKhn#gBLYlKI{4I;PuPhLdsztaI<#$8RxON_>q zi!+KCKz4LoQ(z#ru;We<5!}{Jog#8#uA71e-vEpd004*q(To9rHkfT|M@5X_27@R_ zL`Y#NyJ?+k+MRp%UGJl|JWpVdJ|v~NMdI7;)m=oX)lbzAmJj_9_Oac%mM&I)URBax zb?g0l!kEvwb#cA=?2iupv(JC**JGVZZ3Om!Y)s{y)d9m>&LJF4-WPuHqAw6?7UvSI zu7HXqHm|jf(}Gyv>olF!t}Lf_=F(_p{c=1C`I}MfyQYz7W$>JsA$G116t1;yms1(s z&+4HsY(AZ+O;ASlgyecM6OTyT2@~aotKZZ#7@4}0nLO>JSgTFJ&k7_ zp~Dj5{u$YM@h&+{Bv8v_$lX{QupTuP#$>V~%cp{M&Q69csL=G8ao~WEp?MVUK$|K> zN^;yO$ZoUqXgg`z?IckosE$1qM75_-X?&Z+6|Hf#jVU0hMt;-R&o8oI$c&7`Z`=PC3GbNh|9)w*#_1a+9x$Mp$0 zux2pFkBX8c;@rQ_lC4Vd2enU2a&pxj70o#fPTgVsK@Yvq*-Ws_s@ygYsOI_%QKCgI zN?gq}sjGrv3m2Q#`x#_rObyIVap6X-qc9f$TX16WMy3dmfQFyE&Pyg;HS8x*V z1;6eKgi`u_ZdF$Q-R1`!K?HKi^y!I0%2zs{(~C6`ZK)XBTg1~H2-B+5VVYAZDvph! z8Y@q?jg5ZPHbHG^rW-a<1>?$}M04pxng`+c-g zT{HntKe=gG=t`$(rQ7AAU4p*b55lGa7@>H_1+D=FhRL>D+3a%*sP3w9THF;NKQJ{C%t~UEI*q3rPFwa>X~s^Wc_+>a-183)S)(a;Ce2RMsb#=7vhG;r2_gFjTC?elK9fj%|kObRIOJzSH8q zxe!1=PNh5g$hZ@xrPt-6Cb56}&9SyR6Db)tbHj;u7*+^N*zb+1_ql~jTs81};uBxk zph7Zw84-Hl%dNgaTCF)F^(J zd;I}ubsLXVY6n|XXx84w&`tZki3bJcr|zgU$~hxkl3k7PLgP&BpnsNrM{lsvE%f}3 za43?|g&>qgi}j3fz2NRG=rrru&3{wv1i>$Cg-}y=*G>&fV)q_Z_mr(&$V2{=dzZ z_+e!#YqMkPd(-&azI5p_9^Z}nZQg>)D6N`gwY!rRn`?G*t|`7JMvtnU626F8@7gWm z7RQyW>%ymkHjVZB*?E@PyT_M^eplj>^i#UgM$rLK$s-^SEI3rKr&Q~2;$h^6MxIrR z(T5A09L7;AfiF+1%SF}>p1!vC^XDCgutunQYtKQ-%)8cs*22a#X%;m~^t%)h1d>v?%-vqhj^T#WHSb8GE;O z-%GUTBtKu`a)VzO9F_4=1Em7|iI4$q@u~hkBQ1%x@sAkzy;oa2OcJMW#~l*h@>Sac zJi32hv-?=OseW4SxIzrKe)FG-AcQ{^>1)$Eziz)@)b&6*?c3#cxMx<CLQKc zKP?yc-c%DYMR)I=cKu6d(GvN-N}WfgAI*&i`gQ}MXhTmmt>AqcZtu?jjg!VsICxmg zYhf`24A>sld&=Rzj{;={_%~ewI{4E^2-+Sty8=n>@T|w^^xQUqCnmJA&%d9a&6hs3 zwFDVA><##K4SJ7 z@*ZE=etSP(9%p2ni7nox?TDdsDtBUaiu5jbswJxLB`$oJ)7v~|L$n5@U+`Of$m#EB z59Jy2jXREanazi8EF`F+7S-=FjKw`MY#wiPGRwJxz_Hu5%HB@y@Gg4gmUrfsDTwf= z!~^9!!&!R;i-l8VVX z$4qxqVQFvunOpJb!615IM{ig9w<13P=7~)4X(JBIM#HIizFmCwU_!=}_QL`R;1q1d z(u%}iB+GN7hk^pHzu_)>rYw60zC$P!^tQFPjmtc=BzLm+;=9A-zfY2#$M4cK@shH= z&9Mvv8mIfL?Ocv$)iXxD?qld_^yOK4>fFsf%FxZwZ1wUC$s_`8hp$mmcNMz4N|ZpEBP0|E>N7$p(tYV5O2q zJ~vEFU=AG%R>}hC3q={UT6vQhyp}3F7mBF$(UX&Zfxc>NQYLjYCQt_Lr5Bf>YdH#` z-dxbqI+;wGYhrfC3LqsuRn9{?iH4$}&%AWDwdLJuZq@~}GxCsdtxW(}K&QW242-g^ zTmq|_P@HYTwF3WH5ptp3hhf`z`qE!#&#oU^iEPxOYm))>R(dIb*$>cU~9L2G|M$P@6xpaoUJfUzwqR3v_&tpfDIoH^rxyf-%P+ zM>&9#GtEv?fk0FL*cHoT0?eZwIo)`|z80-CBSUWB+fJf;@3Ts;+x4~Q->7|kL*u6` z`dAw+9NQPwe(V#}{o(z2_4GwwB9%w8t?jLOcDG;mv9AZg-Lq}&hNZr=?sj)G6hAaM zp61K*RX@El%Kdi!8b9z`@2~F&|N3-Gy@;)fJHzuh8_?tK`xA?saUn>ThB4wh7RZ4( zTc9)49x|ps+E|#x33q>-FS;=ND9pnh797|UI68;UFyolKk4#PB%NN(=TGnwJJ@>gu zVV78OnAUBF`{4vW$CtIApP!pA@0p*O(Z_X{f!erMa2b?k9urR>ui3U@V?Az+QWp-F znQmTRe&4B?=bxGHGCjw_NMimL@%lB8?Fs;Rui>ui)VDguoV!d>{*_br%jlc(XF2-4 znU@KYze|T+6E3y5GE>Vk9xGTT;KtHCQEV>D^cdcoUFOSVe5hsN_04e)U3`GV`QY;Lon`DE&2G}9Xf86O{|>aQc!XR=ib~` zW}z=xXZ)6NM;eMa>+|3=3loa8ey^+w*RDAC)>GUKC;a@HsW{$T{hO6DC?a)AOEq$F z9Fmg9_?&(#4#5efZ_%II%sQL<_&<(M&{xX(K$GDwiQ;fK3MzKlWE@sy!~q>PIW|l& zw(e3)F85+AaTp)4o!hA`#_v>BsJ64Z%wjUmK)&4-i{r-RwFN{~hlY*!^tTv6RMFWa z6|uM-T<0<9p$o^n7+kB)VW(QC>ociMt9H2?8%m3kl~`Tcj=7zFJ|;KDJ(DZc#wSif z5NL6dnh9Z}moW>5reaKPQ`cLvVk(=_z^=w*G2X_dZ4^y zYPeV#-`4`TMb#XS6I297HqnrbKOwy=S6`iv;~TDh=o3N}kjlGv#{}?Zsw2y?M~`uG z8iQfoVExQ}gD>w)#TNHn_?1@K``Ao~NnN4Gt8o-;ENHI3>hUiDx5n|OoLitd0B1#&Sx7L%(G&@fjp>bD^GNUwLRcl&GHykL#gkh zASe&62(ikX?zqS++HohjjRw~b>r!zc_EGg#+sU6kPCHj#?f;%UIYxJGNH8qpHpv00 zzaQaofQHTBqt9D&@0ib#35;^tnnTneh(fj)gy3>q17(p~}0`)1jN_Cci!^2npF zxBba>QzonKSvM{G2NjJHOLXG-}7uuGKZ(==CA* zx5CskHw^{j!Ns!1{_IWuD#xFv!mq2zm4$=Z&KaC?=rHr!9duu|o20XKL*yylu2!33Ll`|k_`Vm) zpvcX0z#OkrNm}Ifzh0Jh|L{W$mP}2}kHwS`ab{5FTZ?N_B<1DxVdKmcb+_gYw-G(B z)}CP!VsVbLU08eT)E5>*d4FFHxA#sISmW(;$>s)bbO%Q`RZp&FF2TP=LETpyR-O10 ztc_Pg2M@_dRp}32;O_?LUpG_;9Ekk6P(B$;5f*a8Izp^==F8RsPi~!7hIVfBUlizx z%O(Ga%M`4ZSjjv7EH5;#5uJJH@xt4J|1#VfsoZfYFApkt# z+a$;^NuD`2mMOE#LDv@m)(Z4$wzjopeB`Kt!3M;7E6^AqU}adMMc|maSiJgq0VM$e z5<3v`9=MvS6;864$BKD9e$=5`u!K6ARwQ-5J34PXfQSHgHEa;DHb?hA5p0vr`PHR2IR7Xa$WVS6ktT^EJt53Px?hY8XQsv_cSyqL|ksntPlQAnm2d z%dm4m$Dl#Jl&C}U3Q@&j(jLx6Vt7`Z`v99xz1Dg_mJ)@%JXN^`Xa+X8Oi&d2JIip7 z+gXSaqEs_5eIQvG@9r$RturFE(OJ0^W$Qud7-GBL;f#Q@5Reo!Xf3ehXQcPd%Tk2Igo_3-uX_s0QcZb|}C8~A3vaXJ(Ld0jkx*n_3zi8z?ec8w8?#OG`B!Ag= zPfle^?73w9N531VF#3AB&RY4{v$cC#t*PR*y)DIG*SsS1;I(*^ry=AQbxllG9; zBS6<#5D3jyin-`QEC=On$(}NbqQDz@@f+;|;rh*dJCNYsgQcZEhrP#?gu$j(a zbOK!fMIEyz#)yDP8C5tS0oRyF#_Pble!_1O`*iHy{i0{*>6VT2-F-SghmP1)OMhj) z4l~dGBUH3O-5fv^#~7cQAd)M9-Z}w;j}$+DoAqVzCvf#uKtef*l`O(F7h9|PQe@&= zX`^?2IOg0Bb9UP^Do>+{=jGH z3d7v8{+ZN{5<&uk4)u^!k~-JNL{S6WuWk<`V8o@p=s1jpgEQ}`0iIa{wRhZS@ZCk6 zt-NMgd!E0t0IvvG_UI^WJ%J{!H7ktU#s**nI?UHm2A+@-PRSHYE7MjL8lkr#Om{PV zthj#6R6*5TQ6{3CS&QM+UXa0!7ioaWc~?U(ay?F2e@5T0K0{m8vs>!}&4DyjF4|HY zj_M0>y{f}Dq@jH34W+dY8+PJ04l zk9zfkXFZi1aChrFU~_!tpLro;MrZtMURS}Dl`Z&Z%Zw9Z!3&U*imKH#Ps5C0 z#eY$A7MnzcS5iQE4nk>wAV4@L5==xH)>=RA5y3sQ^q_wnOIi(&p8mTbY~UlMEo4x-L=2%rTcYIxO=qDzr031%{V{kqR$jvN^fB2XLrN~$+nd_GWxvqfCHigsj`q64I?yrUF+HdJ>Z5iS$cCwk()SLaoG-|$|9+ynkb}T4O|v_9=YSCSnGi!d z>k@=ODKZ{{aJE94^LH(aoJ=G{c(l))02gElwk#=u{op_oWCtBvy|{WqHe^#c=GB(b zHJ*Buv9=&j8m%LgNo@6pnk7h1B8iDOOAU$-qMUi5^BT5YxE_goD=d9%vms)ENc z(6NY}peT>xS`+ih{H$I0_8PQD+6s~92`wgirbfqb4G78(OKi)3WzdR6Y*IiRLap?u z!1NJkj3tbEU%grm_T@jON{xO9W-%(DGl=ErF%21yd>|zkkVRSg_YJndB?9JKl2H&C z-^M{uYejcNEasmGPFp)6dlk6t5rx60qM{uRUr6Ic@+4{}zS>RWW;u+*7J-rygpx8B zQ_8g&1bb#}!9+1<#?k||3r8Qa04RZuom5j?U|tOwGYbg{B{kXl+bm`SngPJovI`oRKpx8UivSiy_(5cU+feCs^r_*bzoM zFi%b$P{Y@XIbUDT2Wb8V%h7DCTSkfKVN^?^^PaHq}R;;7I{cLgcb zSt;-mFzM7>*434QD484w`g=P%;Rkrge1p=YVh*mJM7ZQX%RsiEPCSDC$#XCBXEN#L zXVD_0cowC^IJt*lqNS~q3%HhNVD0b@?+K-eLv*Y4kk|?$Dzq1KVx=``13usyXx?U znt-iHH4`!n84x8sSQOGvBuVDy*tWGr00c}2MMgp5&pr5|H3&0yWFD9doR+}Ac2zKw zZ%opjJ2l9tgqBw>d3i=IoUKK3T8a$~5ehk@4rdwvS`Qy#0jHReL&xI#OhXN%xeK@& zSt+S$$~df$ivxA+Uk!5$ zT%KGN!7&i@q!bAGASpSPeozJtKeqVO8x5w$QDh7ijVn2mKmeI#WHe(e+Vrx4)-s}rc_`WvON>Ui8dt<6=Us&|q)4D} z@+!f`mOWV$WujLz^OW-cA6t>184i7i3@SC*2Beh@gYk61aC@vLqrjq>S6Vvfp1~VZ ztO#L1%DuFD5CDxK7hDIE3|=}&ay-@VoX&zFsEAGCM8ReG<1$L4kPsvekuY66_Q zRKP)!DXC8CIY45Dq~^3%V^z7^gZ2$yOyA^@36p|K6tc_|R2tZPN2Xzd4@lzs+uHQ> z4d}?cP~xDBJpB65oFq(RO;}>WG~PbJ04Hz|rI36}ePm#ej)y%YQ%Tiw{`F)3#fAB~ zmpESkXaM5-W}aQAwh4>zxle!K_y1AB<-GH0{y#sT+Q)$I_uF{^$<)l4Rg&tb7C<4u z^wJuRG2bt2>iWG(y_k>-MI|B2Iwye)N)ALe{o^z`54%dLo$9lILS%EC!*vW0A=eiJ zo#Z@ANPJ*54_#ZqAHq`zr{q+d3Ms;ngf01s?+PoHiT)9WLg`7?!9A(H`jAS8sfkfz zv1ZIqDveVD6~_{mn8AT7)W^S4pL-Gw*)bDrvcn?Ct%$L99NHi@pJ*uP+DHE9D`w@h za@5`9^$TmSjoSAFKKz-7zL%pm(xmtHS+8za{sF(tYe>R+twoqyFqG75SPUjo0=GP$ z`r7&Ruw)+ynpSHxVzijIpBx7Q$n1i77hux%^hK=HM+F8+9@!5C+qJ0-#2kb=3EGM? zoxpDTr~?tJ$&0h2P)o*4dt^(tODDvM&&%yDecHSgo|!!Syk@?uXWP##Bp7z797al`ZleB~s4kNuD$mq(%eg1*uQW|1TAG&jZKN>;x#+bdo2S9)%^a7%&>^ z;!nfZ-T!)i@)SFLDg{%L2+fqNiyw3>80DJm=~nU}{SXiX00ICsLjwQ+KyPIpmDB>2 z&w3km_oTK;%#cl?$xW_sBqcuU7nph8hVe9EvHR~@{s0g}HAYkbU;qU`&My0%Aylrl zGi2cgp2G9++vm2ofllBG&xPl7RY#6eIox>8ot4~4_WvApJLg4pU?z0HJ9x)3CO+f_ zZJ;vP)^2NU4Xwdz=!PyqI}?E=z5tK{0Gb&98mIz!gsgY5FwkwkCS9u0^YWX zt;p`#qktGA5*s4pk2x>+wWEf3h71e?1OGqn;Gd`*ZjG`1QlzzWwgC-+S!z9yxw~zV|CW6xPr6r@g;E_t(d- z{)N_E2oVH13RCMg-OQ=%T~`fvk#qB}4+;MdKYx1ccb`W2Z^^y?0QFnyf9;=Ae;dEP zI%B{83^Gr9_;m%vKeg0TFaN23M9weDpFWD}o*%ydp@~AD`=4g{y=PiZ{O;lPEvG){ zqy2TMfBeIGmU5OJ%w6#q8|M=>86{^=GH7c7#O$Mfh5wbWcY5gRH5sIwIX8EZjv;K~ zT24}%?Mx|^Havv{TOa-E-~M`?xBcqsP^q)}*7NrM{jI0}ZCq|SM(tel*sa%k z>R>|1**GR!qxr~pyIC65p);@CIFl;9+4YTnNuP?ox4jbIk5yEV6^WZ+;lJRd3KHrPM z10&%bUOje3Zv@Sv;ewOx>w~+x1-K20?|!$JKoseP7#&{zct4!BUS{x_RMIylbAfM~ zHs1Ykz%6^R^7vG_y*K`JZDDqWM)tYE)6vX3hT%I1m23)$?_pKm-78W-jw@y#p+ey$ z22OTOq;d@g?s3uhB#OqlbGe8Sx-PC6%S75tm-9!E?M| zW;Y66wr}0n_`T#o!zb?UAtAmLxYz$OI@vtyb#>}ZCqQ;Ml2p|Ub9H0 z1Q$j}%qYrVG02g!h#>X1ix)*6)pe<=PpjTIu9)>CR&{NW&qDqL<&f35G8UPVvp6}c z&0e4s{z#U<&~WWj!TaI=0<_c{J_>^jj`1yav5ffh#dIQQTfO=2RPkMw>DOug-_7S5 z{xU&Zbd#YSD{~8>&086N<4@Z`9f>9QF|dDRSM8wqQ)YV=-P^%CAjh8bgJyCllGe&h zT~qN7pB30?*$sc@AObU&#B{b>$uI|ZW)Q?Hfyv>0nJ)_czpBvw@lN0#4fyCef`qpD zbBU&DUuGb9C3WB_0k2X#rbsaMSIcgG*^6H`<4!Bj~*)V|)F z+R?CQUb~Vl9)n1dwNgkk`!LHlkSRXkP`#IPP>n@}41xj8jqPOn-P+>8R}QbsE*uok z>g%=^4`quQEQ;uf@9Cwt_=aTT71_wyo{1GD`{x5_;|s(O1(DTmVa12x*%uySe$1Q4 zm9rD`pSdY7k@S0Gge3DBYs9;FO4zgD;A1cuqyNxy277YcyodM?@`g$z$Gu<5QhVR@ z;mKXdr#ID8!Hj(RE7I%e@Z8);dtUloloBR4C$zpOUvz42NVz z`jF}(XS>nS&7Ffcffq(%%EOQ~kVlFY@{EAPH*4m))0yz-+(SJUWrvF#w@Srd-6os; zQ5?VB$0<1j`Y8iVQf}TJbhe>^jDg8fa!;(`0X7-{3yAKEeP_DFUTKkaqi zjx$#>(W1Er7vvYI0YgS;R19k60pz`(JE#YdZ_i}k;#E_CJW>hA9ba+|M=WPJsfoVm;5(!#l^p^tWy)Be1dOrbGjcD;@4H#xUFvH zd3Ar@8 zu@cB^332f7m-Jw+i?>&?YxcoKgN~m-jgeP1s-#SlyT%jZ$Cd+tIARP}5o@kHg;K~rxgC=*?!~gwrr*9^dOaN-rFC7O^EMaB1@cP7V5WZ2%=GYA%sjku zd+SA{qu>QY@_s8qj))1j2SI)nmPv1uqLv{WKx^;dfBbO#x|fPvYz~5M`1NuYYC!y; zhSiXe*@u@uk3WtbU7qta&vr5bhX73-1MTejDlDp#j4B{2%I(4)viiE!!B=0>Nu5ms zAMM5YGqgef2oRWTXs>x^o&`GEA#XD1^kmAM8wZ1}d!#SZnqub7iD(Uzg+UJDe%agk zs?MH+b#Q}Gj_a15cZZkD>k~E3bkS>EhQ-0=w=pUie%+x%vm3D_q;>DGrCPZvd14Il zLp#XLNVNj-dvkGK%zNFk;5Uu&<(#M|_;dj=xBeqt5 zT-&`KXirLdIv`xhv%XxrKrxuyzbOe>MPFsSdwpxw#TI<%N+iE(Q`MP;vSg?qo0^-Q zPlLo0(bo(fPluPNK47kU?#GWg6itC073zk&H~4&`;!!SZO-`qAJPKdCv*4ZS+~no? z^zjjwJ2OXi8CA8ZCajm^HHz>(JZZeWvYL}8yK6bK^eDvch=Fhz&CF9++8)_Y%d97^CtNzo0Yu?}o|L+&> zh7JjWgDvRyoyK_g{ApU(=Df|`?|kY_wJ0fZV+EQm$gR%b=^uv^3VeMGBScf z{L;>*=>tXM-5y)3K0eZrPK1x24g%qtkwCG>? zM3Kd{sN^FIyQkikOuMIizDnB5syCe-nz!4ddHmv;t#QIuVxjGRtfPMs^y?^>%g$cx z%{*d}(eP&A43f3>Dw3O+nqsC*$0M@OU;dYSA&gz%SFhCn+|V!6Y751OCeVjzw09eR z?)G2m9M4)myMSld<;r~J7W)2Bqlrp*$$@IDM z#EAWChZZB@{G7jua;3{qKl+M3D;U_64dGabR$1>u$C2X@_iF1!4#qx^TYx?W6b-zW? z1jp?|n7O6wWSkj3SI^K0eEDHO%JJ@Mc2{jOr7mZD3h&riHZ$c0pJD#rZYy~aSS!Sc z@w#SRwA5^(8_K48Qr)@8g~$fx2~ZH{qVGFsLAz6S#!uH84fO|hhWbesvVK9o;4}Fl zgTx#0p=S=y9+UoSdVDa33IOM&w45(?^tX*4)xEB{dKJzG{j7N)4x{l>((kHub4_50 zDs!HBe136x$2(OO`}0lA=c*Z%dwB9`37-(#tvhyG7M2VzSW2Z%4*Jb11wtCEt+rh0* z(Odqex0zzo!RyPIOoW+6Io+EVtN_&Cv(2Q3-@OS0&jMwD;7IXFgGuqrIlLA|S!M)H zKojBVTI|+pU_qmpRJgW!;TqMJ1FEMeYGdzlIXTRLb4HZ~j%2xR=*(}VYdzRFqOQE)y@3BP)Uda6-Oo3Z5oU z4l$m%dw=$r@nsF(SdIc0+N}msW}T%Ax+ns0M&+=w#1m z1*34Wg(Jagndn*wB@p(!~j83SlZ-Qo4Cdd5hLboL|?Ldj`} zO>wCTg~3dw$09D&+u6Dkszm;hD9}gSn0wPC!$T#Gk{5$egD~e@%CmD_x1m+c2^WE0 zN+g@y;}|}A5(A^Z(>D1sFAB z?u-PuuP8Qco(4zmJM}#3fK#ucm>?+wE@MIr9i$3QrE5;Y*IYY4drkS-20MdyfNW?- z0Her@7Hb8nNP}?$Tck-xn3+9Lu%6^NscW8Hbkm23~{ z78FEWlN|j=Nes|9508*dsF#6aY|y<71^lO zVn!sy66GW!E#J90ooK#{490c%i+}d3%Wcx(=G>^6w*UBY8iZK%-Y;W>0j#O|s0%`* zYfq@~E?qEhFK9KU=|_;m79nX1qs0PFEP@pIp7UwVB2T{7OKbFMpO^$r_M=dzUZy>2 z!DQkvV>QcN>~<{O)~5*Dj6g>Bf>{KEL7N)4UVCIi_{lkV zj@YPdR4-AClrfSvg$`M%h`MqcwK**45}P-O(#;5=jgw9TzlPkStnPL6*l)&_m2+dt z<87E^iU6FDv~$4;c1qOB8^>fxpN~sp@865zP^RWmy&(psu%d1>mu;6?P)4QRV`Br` zb4QJZ!i>z2Q1>Jl-%7`A5k)7ytp{T7hjU|4*UZq)e<_(`aVQ^wK~NKMG8>(HOziD? zZyIVNi+eJ*q=-pL^@^lX0uQftjJ-JSbM(fAK3pXE5}ZYQPs{z1l;&$m*;<1A<7^js zdS#BPt<1b*nPu55h^+`c8)TFAB#uqcQ`Q{u1tpz-4$izthpX<5;#z|_zBtxn;TsEZiPQoY;a&GJ3ka&*)V-VLv9IGNlhqmTts>}~)Ih&#$C zAqc}grZ?}inN=jbdf}Eah=M{z$S^iAr88M)WH%jWrL&oEBDB$Kbc{xgYeHru=w?{8 z000%nT`MdPzdKJ}uEuq<_28qWQ?H|d{0q{^;sC-p(<+fF1ByLpoJovdxc#m#{YyJ$ z2iU7Z(1&{{gciUg&Ba$CwUPqU*Ki;0)*ZVui}TTiV^HrXHKGwT@LzC>Xrr5tjNXlC zZmS+}-Svi?ObnikD3aJNP=J>xMT|eSVz}3A*?UJ!2o9RcTQzV*KGHYgSm;aai0|%s z1s(Qzl|S~e&$$2xvdAV824ag0XXiK?xwS)6((jSBbF1nxX8#Xj&r_p>dKQcs@N_k{ zYIgV*JJnjs5h+u9Mbeo1H?&@SpCxE@9WVdqKB|JO8z-kDsWBHMcqW~M5x0lZOV^;| zj;&=yC0VgDO2nA!W?t+I0x3x5#iovZ*I&T{|DX#+_FrXIna{T5PZ$r_M~HMmqg+w% zNtJ}b0f|zaMzyE+E-zgzr1ELDChaZ0D57Lgzm7?2y%CuCDL#t#o;6(-|KY2!i38~t zRSg6HO%ewF&``_64$K;;YIY@X8L+(_Bb|09hAK(kg(_WM6|h~dqhX! z>{xa~t(26M=+YHiD{~@FfxvH3QQo6v?EQ^x{hh#Qs(MT>9T}|v63!WNk^jvjpw6q9b%#Vs27MEoMEm`F9Ys?+S)l~Rw0$@Ow z6iOm=Md)1EMDYJkv9&4e#yXP3tBMgtnFGRY0|wy|5?Wk{Y-nabDdCwFoth6)pu+Z(e5dj@^aiT+cfl_XgrXwp$0+4NX$9#ln8K2&OkMwi8sa5 zEZvAF*F36VLs5`QJ{7S~F|Za=wv#JNSAu?-$0VGdR%ZrjKxjs!$h6q5B~VmY$u|{} zr2dJaThbq5qik>%oykHO6)o<^%Qp#L#^hqX`_tA>YilnFcJingbh}-m>@0|K0mhUZ zYp+>1cZ*{p?I&frA;pLd%AAT26pV0@(ifq%7~QVc6|s7VwSlaOSa3i7)IyoC-Wv+3 zZ@?(29R4szg1y6;*V^EpR$vgkv%xKF$>!d}POXV#Q)loANxiq3*C?Ex)+QD1NhOSp zz486JnN)Gt1OWP`6)jKo@8WX~wL=0*IkP4yM|e-Dl3?|OV`GCu((h-jb=SIiS^#?f z(_nlDCvZfgP3MS$h4h!pdEUue>%MjJv`E15sR@hLUV3p0*r-w{xU(hvr(2j2zNcL5 zRFuVzYBg1Eb;=f$c1*|$9q=u_z?64%k=qj8JL_e&sUQy}^HDwR1SQ51IHrsNm`9!DBZv&2{p=d)Uu?Vamh3PFT4&n!RS?~*tltlF$y*n7>Mi%7y8aepI)83 z+rV5`bf|UmW@yp-_n`a$K!!+)hyVZq3IUd}UEBdg zx_;f)13B@X_<6kYmxDe z2T_zn$2tvh3WL^4r?|G2>>WmEg$0bo?io|Kq9X!;{Z=<)889Pd;%vq*or2pYWgQzr1qjKk;dw zdHkm*&Z_pubyhe2%!T!8;eG1;n&N3bb&;<|{wHer9HubNM}eyyqE z#rf$@d>cQdi{i<8aVZ@>eZMBkOUmh=e*cnYPYdrY{e1fIPJE_}{-6B$PMMzcjzi&B z*Y?iw6n=HTcAG2dWWMvhZq1%ueSgS5WM#%Z`pG>D|Jy1G3>G?d17@0&1T5JseU9L4xmAp3Q0!kHACfigbdS%|)tIL%m}|lnUP0 zqjoVy_FFD%b_4flZz*-|&L(J$zvRm%Y9Z~G+Lis@R^vV|2h+}NZ~Oy7NZ@41AQ<%9Pp1pmPauqdd%v3t&&CtK5*A!mS^^IhFNlzS- zlw6?SXm|}og8Ep+Q^(BwS~k8Pr}|qdH>o@DZ@Vk&1;PAaxzObhktm_-M7Cs!ZOmB} zddhqamM0Cn`h(!7py~CRE!6P!0F#Q<6zlcxgcG$aQ!eL!pGrY#`}i^zt$QQjb{+_t z_g~r2=svpfqd$e!4sua}ia4)EA&uSX?50vB*@OiNln2i{XTe!(Pv%m6;%l9~+(}y@y{?v>zL7|1VY0~!iK{3UZIUAD$$xuZw+an4 zMeMSO$-(zxKX(*845m3eA)F&P?}LM< z7mLR`@rKmROJf3q=Cx<6S$)a3T?UfuRtMm8*bzV z_jUcf+&yh}eioPF!E@>OH1^g$&{p4@?uT95bQmyyIk#v<+je4;<)Rr}Yx1z^zRaBp zSKYC7F|5Y-r^)qjqY~d5ET3u&UpB^KO2+7cQBd9H!XISfG~Rd{H}b^a?YXIE+z0#a zF%P@nw)}C%yE&ay2r#nw78|mX13nq#&{FLBY~Sv8$gPXSuj<#SLw4m9aNM`+J?Ei$ za-3X)8{D6FURSds++hi$9+2%UP_03%QDSGwK;Q7VBBZUHitAAh{iRQ~<|?(KnG)(s z*el;k0h0Veg*&}j>iETM)r#pxZoZ}|yeq&wY>5^URBC2 zmYMhaMbjG{T+FB5fn16#ideFMoP3ibHS>HtVRBj( zZ1*Dc+IO^Htbrto2sq*77Z62lcMR1&AJub>Tl&xPoR#!`x$kO|fT@k#;;VdO@M5?^ zv|$tbI_SI-DuKSgtQ7B+;PBOn=+%@RzMvGWHHl(H!cr_Ay}Hp!rXwI-9a*08!YA5c$PBu zrr21OW%9!#(iSm&{Lh&}1(*Bi(j9th_TcIozVP7rFRgqnT~2M#XL0AX^csD9a(7EV zk^c@AaU;sRQ~^h6ofHp7h)nzuBjRTZMt9UVDY~_X^c;x&tqQ;5uVMpC_!CRtwJ#J; z{-uCiK7YXKr|8?S z`?qe5t||sq7?ufRDK(2@uReWaHn76#O7^g$^C)GzCDx0_=iku8$IlX7Ypn$yQk%dc+(Z9es>m_0Nz%6RRmO6-^)^i_kzN zfspO@kJIc_nM`lyIas{f6e-tL&~Y&j#Tp7b4*GwR1Lxt}Tba?%qq#;bpl$juZO>|$ zw`((CU->WfC3M!x2-!pr zKqVKfxY_%h{fB;)q!sMlYYzUdK8cs_df1EZu{;vKBS!cibts;^NT~ko6_s7ANanG- z!^u?ZHGjR2T3-BnVHbZGt@1Z4UprKN5ZA7Jli}0mZBgw0c{ODvYVy1#UBGAPYTF^> z(g2G&SrgpiCEdo@>GY}}9KTxU-$`tAE<<0+s&(EHx{~$$0$639N4`75xvTYiz3XlJ zQ?vMIi0{?xJ}hOVr`~X@#60E9;CGB}0g8P=Z>Fn#wM)YrwMumFO%jE40(B`SIo!l| z9TiQz-lm{bt>#g_TI2YNm;CeD{5<(A>)y~{&7j76>rO5x_T>%z;$M4^3#xb7j5~bJ zxyZA0>FWO4OVU00=twN@RKM{us*( zoBYX5QB*nq@^#ExwHS9U%-_F>ON7X-s0H*2Pi^$Puim%NQ;D9Rd0RI>KYQz%d(Qsp&ZoZJ*<$_BGmNT2CVv>;3A&|| z2M1eot^-Pi8aSo({NlK|@_jrKPphP47!I075w9+jpE1d!Q{(O(ejbIB4%J8a&76p^uo&gzwuYP~uP^F@ zf<557t0T;lPdK~wc%6`Wp3gJr0y6dB9&pK-kKXhrZ(*6p zxBno|j?k0LIqgrqU$uwz)6LAOBJR2d6EN?2yVwNf{GqHM_${IJOi9PYZW&u4+Hdp+ z9CwRWK#^+rm$-%+yUkn%)~vM?G)5!6?g6l92&WY;=WN5VuYB(*SQmHlIv>kj>|Ol* zWB=2DgZ;|y&!UDLqK5h7&3>+$bc_$@3pXdrDdHOArTIG>rZ2rkwwJcjp%$!T{HqHh z%krhp9lmIk`k$^$GhbI}c<&2}+7La?VE&KY)f)!&%G)U>$nul46dtgq)AcLuwWnvT zrCso0%6iLK#PXb$d6TtAmv=PliJHg@-^3;e{OKMopJh()IJR+p1~Qm>4ENfjw|c@$ zZQd~dx!GbpPCZ=8yGGw^3OTqI|axPW|}4Euk9%%;>iECm?( zR&gJ%m8f?rvwY@=iFLw0Pkiy{b2iJ10)2(L+Ozk8E2DRRnouFBJ>F24zn-i6xBl7F zAvWB137e2*%7Ds6w!*Ms*Sl{#cbqk#Y;kX}4mgGRsAGn$y~-@^j`G~rvXMbIi z9?+04O9m|z7_Q2^CQ3MRv^RY{$F3Zq@6oK08G{+krrL+xzA zy_$FZlz_#lI8p_>8eJ;mFQ{|=4ikfWcZ4O;NUyfel69Zmc5APLTNjZs=)i~5*pim` ztG2V@fR5t$%}>QYxPH9SpM^Q2K=&2j7&_p*c5b38-lMfG?^pt_vwi`#p2v1sR%PWJ z`tfrk&?9@Vclx45@Q9y?F#9A<&du5Ybyr1=^BxZp%QdE3R0?ZXEE;Rf5SEyi*_T(t z!+7C`EN#>WmE!RE0jH~fp}ANa4gTRMG||27z|>3U)+?I;%W0_-$P7sh#;qn7q2`21wwTPMtdDa(ecA13pY{+%w(}Y?p%E~>SvUy2 zttDp5*lkMa8rra$g<_zRXz5zEqDxRzqk6*lNd8WnsbgCJRY0o0YPP*VQ%<%LqXftV zSO^xABBfIUH&&V4oB&PJb2xQMB7h;>8`uV;5fl7=3Wd&*?+&qQS z2#Gc|L$J!)o?R!mq{JsOHW+hDpbdM#=F;7?f;H8m_!1sUlzF9HY^fi0TLTjcfNYcM zIVX&6#Kn}@cI#`M20lwh(nJc0up&-2j}fd@l0$^(kC7EnrnO!HkYu7ZLISQdz!{N-*IRZV)a9t#~%}**%nPDxlt+wWjI|*Ukwx zloMl_-=gyWG|0q;>Y`PM(>YdDl!O-%Z83x}SCH3e^>WQIK{VOKZ^9yUyyr8dE=jd+ zpUo=;bi7g;Y0cRTf;Wm_JlBMhWI9g9uoEn@!!)jI)JEG>6G0 z)tQH&d$i7^f~3Jd6K%}{BK7D&Cpf;rv4$Ub!T#JyJnk3E3_ZrKs?Z#_q zVoaPsA@|kc?1VxKJ>wCCl|i%GeRq2dbEJ;!l16PoNvpc5spoM@O1!gB*o4~a8nQ@( z>1GDDg88_@TZ2|sSr&o7q!|c&Mn312j`Dd$#fcgbp_aR627=MCo3&0}KuU}jnZ%9# z1%7bFUUCkSBCDNjMS)8KXzd6>(_`QXv36Vil!GAYE9Bvd92N9puB{|-)!2hpJFnOu zwb6(HrkX9abm_{rh-j`s4kHY+b?4vOb=8zWw%RCmO=+?6FHIyN+ygl;g|oNKubWhB z9o+?svwv!RVp6Y=52BP|Mvzf2Y0GWYe~w~4#b#@<%ot$EbZd!;rbCS5<$}E#L5*We zk8KnPPQp!FTT=$nVMN7bl_UjN;LcBWb?Pd>Oe=B@c_NXuQj2IU4WJ3}5db)F^;Fs(`NXL{+fZKG1u3q}UMf`K|9>axliCdMeSHgEG$nTton?ugyiSz-?Vbd#od( zLu=_EZNj^?C{~n=aF7LqX=!g}+Mp`DiUU|kRIrMNGk=lM!WJ_HrjXz(?*Wv~{cB@5`8Qo6@Qn z*JjU2rASk67~KNFi^olc`%)TH&K*`yHoRYk=sWlNkP znUW`*K_!CE33gTE)i`dx@j?K!nR*r7)@vd0OjF2WYPsc_JQb>mR)PdxuMY7_D!Rb< z$Jz=#$2dgYLrNq9jYul)XxiAuis!JMacozL8YVQ^rYuOL0Oh(n|5e!mIl6Q3@E*b# z5-g2ExP(%jv>p(_-NvFRR}eZ!rI^yDAX_uU^7gRh;@ae3>=Q+Mzu3OLiiP29tu>M$ z!3HSA?05t<1h`<^eSbU|c%|}bl4(i#bTB{(W800N6?fW=`j zpEkB`ve%jnWDT2%mJKR6lSm*dFqWOGt>)G;0-VW^1c(knGOnelV}Ox0x!b=c%@!jn^Zt0Km}W)2T}2ct-? zNcU|@MT(Ot!6gc()>gnpA`VQ*Z{$-lmI>K98@X?3sdZ~%U{zV;$duL_K!e3Zb>M}P zfmt3C@9HK2${n^-gc>$OlPNh_mBO(5d=_1e9)$+ES_IlZ-O~t)1JT@eDt=RD4KpOkg5od2Cb*Mz^m`swPrV zD@ousM){CJ`P3K@dQ?@S$TN zWO}l{BR4o3abT=j$7W5sM3@j{MHZg(kz%gT0X1qVmk<-hnjm3SgRW|qO7nf*C-i2= z^elN735ccwh}c|%HK;9N z-A{rc8P|d_xT*16zJO#4*`neEC_qBM@b?`^%+bMv2Vex+-B*=?Fuh>nYr9e>gwJn;kwJz9W zfZNkhLV}SMR9zJt7+A5+lz_6*@K_L%G4&MS-#uQNj0?)hjA+LqQcYQNpcLR+Mn$g_ zq8p2{fZ|#vla!(sTq+qG@x72*4*87+_?kb)LMBf15l)F)GvV5c$3O_WLzIKSwg~ud z$~F1oIV#e~`PbvrPsJDz*b`RORys>TYiv}B5mWTRKR-A$mFiEAaXY8OKWQUL{CJP9E%M)op@IpXGXPxw%HKu- z<+S?J>62gmK9(o{ckLLa#`k=;Pk-)+-2DF&Cxd5l|MiNIFD`Um4I@^{J@_=KA6EPm zuSx*-#js>=Y?eWsCZpH{Ik*a98#EoT-HKEYITdexkK=bIk|@k;4b>{Ns!iTv4+S^< zy!PGwbwa*1&3{CPU%n}y^`9s;iYW=(Zo!!b+C(z+lq~tdSdbz6Kl@*~-%bFiF^X1W zrQ}-bY}D3b1K9|MM+Aqu-GCpQ=#58j)OQ^eni+@Y9s{I_U7@I8DPTc#%Pks97JsIQL5cg;Fu+w%=ZgM;o3S&yuA#HLnhGyLw zR3hNzl>gc$nqz~X0hkyZ?A(?MFT3M0 z{BuW`KcT6YFYaaSV)maN*hDMN*K6 zLtwR6{U_%{1Fp6J{YkM#CTBw>R3U*0$rgNUav&6R(ElKWayRS&e)8c;PAGCNer<{| zryQuQSc}1^%`raDHJf#{b5pc0rc_hO_ithnDnZavdr~stkxF;jKgyX3W==RMg$%Z4 z?X3`c_*ET)p=PxAExW3IUYTUVbJ{f&fDrM`$$BxwAsd_qq6eWi)A{)6`q1Wc8u?EB zk(VoX2jvC)`y@dDn$l@nahY6A=S#Gmoy1Uu#+3n2ip zfYn%m1-`IxK$Hs(R^W@+$L*e(ZrkllfX2Ae;@k`18cR10jUYifbDS-08aqvoYht-h zP6G<8L3S;@Dv_l@2q=(J005Z+ppgRrb}(1Xt~2-A zJGLbzNVX6{@d@0JsvQ=&DA^Q90;Pmd|NnnU*hxR%Iy;%0=F7zAoT`65b0{47SH7z{ zbLV_{V*aszXX%{!>z^)esX@T2Bqc5RF9y((H~m& z`p!OesprgL1yS)antDivEurR77FY@Ji^vYfM$vek`uhS9$8JlFR%-xbR zCZ%0VfI4IU+Vs{Om{$uQ#IGK? z@QfpIC4)Wz6s>Hfi-8hUPEfq)^rQ51^QNDpUi&Wnz-&Kq|G0c)QGL2R2=FfZ&A6u9 z74@8Ijf_lgQ!P6Qm7p~}5$2ae|19dwYh)YHf2!A&sT%MaXc3KSKL|^*epHaCsg}e8 zlFKBTikRsvaR=Y2^Ntb>q#FGuO-E)jTKMqp4y6#TFTatEEBZ(DC;Hn} znNz}>cGdO#LPd`+=U-h4sVsPBVC1?!3NctvqXB6k++yh$*|8 z>q2K*g=&eLtGj0mX`AWrhZu`c&EFz5bJ6KgtsgrUBUI{SbJeG}6WXeOvT~p7@9cRq zpA|^&ZE>~=6jxfKKh<5@h+yalmKj)%CiCsaViRq*FC3pn+XZg*#U|z2@tU z7X{fjB(8)>YDZ2hX2{RAoOMd#_!{25%&6z1fhdifX59O`AD<6Qz?< zcAD8AqR87iB0FhqW$s&UOM!WI*dm^MdZ1U9qYk!P53}bRl}G%al7##eDyZ zs#~hxuzlXsYx1T58u=~W+A2+%O35sy*JX2CYLU$+%;tPL`dR?N+tkET-4eieVh!{~ zsY>WAasYh!Po7~87`C?V@mvl)8=vmIJ}MQcvrSXFr*aOOO>ekIV*zD9ehpGC?)U2$ zWSZf?H8sdCs|TW6$llDopRwGRJJ&WJ+bT+ty!gh&8-7+RL9al-_GF{ zas=S|IdYYrVLf++=f>gxQGd|& zYXj|=_j3K~)7Q^Fp9$k>>(|7u^X0htC0C}7E%s(3+v|hh<;V_MZUb@pm1BkgXvb(>HQQPDDl^f5`Qs!OZowMpltEcsax#Rj4jajjduFP&WE?r)B zMpkAXZ$6!&$HchvESCEo>bv(|r3!dc=vlVSCTUW7QRaF25&+QKMkQ|M70jvv1>{3arjvHlzm(r$}Se`cCOGnee=8w zwQ5c_W-dM+k4+=}uC?2to!RRCg#Dp6pnJw(drzkXr#g~zQd%@{K?%VPnYrE3hfbRk zA|rHk-Iz;}(LK2a7_aM9+6xKv(ktXXaWb*>JMWSISht_KEKago@7T;d;>P9SWanh% zSmQw7II*AVtG6KR>7eO$DH5wn_W6#J7^QW+xf=%_+OY2om+?TAU-b2Z9VV|&BPut| z?o4c%QQ(ETm{7+C-{^}EmxZ>)wzgl}(Fv-Z#@5&A+R|KY={8oBYrWa)8{I5vd5@~0 z%ioOK0V@2u12-qQhQAYCphX!7Ng{OnoKwn+eQhN9NX2jr7~gC#MMnRMBUk8=M$88l z>HPGU7IsEiF0P>;aFNZ*hoR%=`Q+HyxOm&A*J!u*yZckDyGvNSNTHnG9+=n{z#+Z# zI){4J$xSps{qt4(@0lujC)HArVp$ckqv3LxUvm zD!sk+sZEUPvAm?aEoQ!LR_cF-n=dRJXRa#qD+^H|L#rz{8Z(>YhnbI?la;J#jiINT zw_~`zX*V#_hxY_N-Sg$-)Zj7nkZz!C@a1hW?zJ^Yffe^7WJgw5lJqE8{C{=Kg*PG&ES z79CEEYOUFNZ8lR=%rSwzYEXb5QTkEd_Hp5~V&idU^RNm%wI~Y1?^kQxQ}^5>lB$PX zi)!tUhU$UR);^h^lZX60S@*T_+^Y~{Yps2Rq11AKn+DZHUnwNOPEdUIiEP5(4{KK5 zXPd65QU1=_Arq9nC-?aK?L5=)=Ts-diW+JP7cGN|_e9FeTHvF8a|gSG)b_dU|3MCG z9xe-KI*EQU*|mR~DMYtcOB@AM%ur#!y~sfeGPP_u7QEw0jT>ouYZqY+t-=X z^^Gl|z8y9`%{N!Oxbv8Kw)moVTOW!I$!5-F%%}{$zAg8R`v?JDb&-9Dp^+*4+04V) zG2lPa?t=8j85tn^{xXT`>EME382p6|1(nSGVJPwDC$mXD^mu}y`(;Tkjj2%fE0X(L zt!En6SE8b}a2Cd8M%TUqv>=<--$!9IJ@4~E?r?^o8#)F)2JkZ`44)?6`n8`E`zsST zsZyn{p}J{zS?#RX1!EWrtQT!ZtXj+9jg2un0G7-_73xuPl45Im43l*sI7zJ*|A1W_U)qj#-sjvzJX~+w zP2G*5ospCN!eVbb!t=~o0dV~9D>BRbc;Gwd!JRD#?D-Po_w}8&&kNH2LTUW6R&M> zZ({3KeM_=e=>mU2Spq(dzs8{&_Rj7`p5d@(5OsZ1c8#H7w193`%?eFA0_G~|Bh;%1m96V`t16r>fWz?HkN*vC<7(@zQGq@ldiht zJ)-$*-BIvbEz9TC+Kbopw5x71PA(J_I$qU zGPb@-#z7FTzxjxVHxWL=4D+%l%|Py~=gtXLbZi|k@srJy-s zl$WdWfp&rQ6XfeW9_2BLf+dk;a^r1(S?j5m;Ge!{jo+mL*M5`akM0;v|B9~JNB(q| z7p~1^XsR68ffs(?6vSw5wGj{Ll(BYiv)MaB3aEbL6VI)NI9ew&I$LY2-oeaN{jaf( zYLo;%K?p|v+J+Ta!PZIF`h%$y)x1GomOMke<*kAlflkJrZq%E}HQ&_(>pSDAYH90^ zls(r4c8J3ZP2POys-1gsJRv_(YP+Pn{5@NX_A3ew1u=KqMK>nnYIt3e?$Z>HOVOEk zxXa;3{c!s$G6zG9wxHB^r;h4>9Iz=itKFQp|7yzBz_0W@_E&8VjTlpdtUHrT*rKCg z#(m|2O;ax1KeZD1ny?Z6qt4k8ZE2`p@jz6?3$4BT#IH|)>j6#~v1R+Mp^<-F(307l z&$(LMqX>_;+?&i=YTQ?q?qWvuvOz^mUamYhf3N_6d@dH%?cE|?cnknk)qa$i8&B8Y zYoZU0BZwg0?2C}o(w%v4Lzg@Ol(y7EH?xZmM3*f7^|DdyACbZuSNv*zS})C55361B zeup<#?Dpq8TDRfB<*2I7Q2`yAx7!YA&zj%?gW&Sk-=Au?oG5(7?dI}7=sso7_3yj! z(h8Ic9@DR{!ls{SV7alYKBziGnP4*=Pbod)HS655c!v@O?J2z5)yx2RRh(2HKnVo{ zTxS4MIQ9vo$x%siDRACPAGdQxLe>N0<3WEH5``F3F|pU&L7dWVxE;R9Cm&_5lC^f! zdH8-9+;=!8EOz!8@9j@iJ8=coB*w)+AQQfoN-4^k{Hvcb;9QTZt2vHS$(RD}N;2vs z2gWWEL6Am`g7Ud1BwniJWDpk!rWQ~MNJ$!s9%rR8CIw1c>0Mld;?yPLa6y)7CFhlb z5Fy1AeKE%{OKI?*yU>q6u z7wq+{HZ(y@AXJGG4~bFU_JY@}CN)$vErkfqO-9KjC^`hI$Wn)sXnZ|4D9SZ)JuI-`Ho^Siw{LwbXnJ60ic&EHj&e*McAwo zmR{nmphY=$0x85$mMoG*MKgFt56?PWBipM6e5*TOy&5sF5o0+ZwA`ts z3t?d%suj5;zCj^DO1pv`ym6WYI)#@clnc6g#$;9uL1tFI3dJ3sD)Z=CBI~1sekj=1 zVzi!z;FZSagD0&{uE6~2EP(r8<(s29 zZrcX=u~0r$`g4Ah5h9L)Dc7bnmno70b&c!Y8m)}^*y~jvv1_yDi;(H>sa!$zw3_F{uf>7)- znh0HSBmBvI8*jt@#Q&$2aVDaaHRxi=U?3bR>`h5jP)U3PldY!D{4Q$|!JZF_C6E)) z^01acak0s%Y-y5?hwyZ=yxY^sWS-`{R7ySLYVxQ|Xq_!VfoJR;zl9I2{QZ91H!fF? ze%?nO8XHz}3_2+kTP(1QoqBUh637vS_W`oSW15Y#A|jJ!2MJI_$(1)y4Mvu1WU#%S zYN5IIyH4PMM<)P3`DuN zr6vML6;=MH*x=^WQt!pIY6qAp3i9m5U|fs!Fj{p=`udjt-<({)5)Fo7Oi2(-P;7wK zrn!uBz>STtd?dLldCd;M#b%O_1Q5NbTPlc9r@;#Sv)DAv4`B39&RhC-G>Claa*~TM z1`$v-t`?X;ii*KIx-@@Wh;8e#I$CNZwqpdNKsiA4Ai;PFU6h@```XZ*GW1+{>`ctO zTx>pnWOFnqT!2WeN)U=-gH7?&5`&Y5=B#bwS|JFXDY&JM3=A!&m|)1rNNT;{LGk9K z@TcGZ@H^uFXmcT_Y!Y&k)RLa2V*&>vkqRl}z7BtDONW}1EwdNrYqhCqhe;4hBO^6^2H@V=42+qRD!f)eCR5A%-enxr3q@zCz+&yLw2Q6 z!lA&Gdh(P=)j)8kD>9x;Dp0mT`|Hy17^Tj&p(t=~4*LNR5JZZ8GW@4y<*j_8=FG^& z!4@X05F9|Irz8n69+Mx%<)w9UH$4)+_IHZi(E%kuK?lM(9QQ*;i_vM42Ov#&aytBB zbw^W|1;sACHYejk+XI;wfh$rYz}BgJ6D)q{@G-peAE0v*wP>lBufv2eC zUV^x}?;LbF!rLY75fZ|C3nHqMg3(uFl2pKV;O99`ti3OHDXEMdB{~@>QmM%rA|X?E zm#k+~JdyU2^z5iF=A0|0(r_V4Ehl^^1P}_v0T)_?3xBJbO1j_tG(o_1 zUbwMtzcuzBGc;rR{h8Ze`eu3jTfPOCUGMcdukFCzesr+$^n0wlZSmaq$|)7x0c7AY7&7kOG!NM%7>|^eB>vch)ow6S!KCBl~ebybfdlJYmxug|Tr0u_72y>41Z$ zo5{}M_bwHX^Wcxd>lB0>|7p_q`6 zT)^n?(Xc|5^+yMfd9MOAK)s`hXv8NaH5UV~)v->CCE^L9Swiwsb0z;ZmY@ef#II5s z$ZJSa9Ar=}po5eO51u6@5netnw3DABly3tIfdm%LszQT>1YL-=MClpk0tZiDU|+s1 z5in^`q}(Q+tw=)$GFDJblf`C|QhD?Vy7Yg(;PcJ(rB-_F0^#J5Uc)xy_k1 z_t`INi}gS;O(H&s7DY+c5;H&zYAyFMF~j4tU-!2cp9Cx>=puxflweGbIDiKQd3c|* z>(lvu=IM{~Z(aO!oNAFT$l{tQMHO0to!3brvjJ-?UbL)RE$tBbyJn{V{bzNoQ8boh zgg^@_gcjA1WPJI~oG<~d5)mQ3@HU7mF6eP7h197jgf?fQ3^iaoOJy!pIryvP}>Jw37n0}q~{9d&}}n3NPqnuBRhz}M{||IU6q>2L5P zD0R&^BzmZYQbyczJ1K_6RgJ)f8!NkMiEX`GuJN<&_3IY;F1 z6UP^AiJ3vs`$R(evgghg5kQM29CSixZAy?) zDMNGA5Q{+x$ZvDxdF<3f^5y;Wt}i?bs2`OK$T*B)VlX1>1(c#=Xi7W208@W7pCvsM zL@r>gGxsVwNQz|AC0(L}K_=`e9a-0H?Q?CuQ8xd71CPD7jSjJtM;EUCdGmdnJ{x{rOTd(o`D2bsWG}TJT}c2=d+%nNOx@ z&8JcL&C{3K^M8LN`Zm8t{-)V)y8pc2r``YmXZ#UL#N?}di|^3PpRiETJDZ=*EXX?- z+1|9lbv{It<(veh)Km?)VNvNs2_#BO=t+t95l1l^;!B#iSD`9;aBaH9>&`7Br>ww(GN;o=qP<#?58pi_e3%Dhv-oL?Zy?!gFJ> zAt7LcD}S4ahufMb5Ka&f0{{a6LPP^V08npaSCwi3^0)6M-_!J@-AbS(hH3n~yA@rf zNh(q;NqQ`n1~AqD-#7B_0FfF2A|e1NC;&kQvazRlpt6@%n^HyNHccL>Ks9dD$03ebWSu)r4jIro>vZ9W zb+?vIFo|htkpE#Ic3DEHL?K6^Xl3hwBy9G*P3`U4ZMWU7mZYUS zSfUghlJi!pZK_t-g~WIQ0tf&E$p53g=lpSHejZYF>&sC3&+f|5gZ>@*-hTK;=-W8+&Y$AUe(2;+ ze`Q}_olE`6<4w)U&+a4ntt%e=*PmIhpT6i@dG((4y7jMrJY`V7asBoSmk@-nT+eAo zJC}-63}?_YNxb~TyOng2TVm)`k9 zgI5^N_M{n|jDFqG0s-Ibmg_jz7L@-vew1ksEih&iuC}YjCDLaQg@k+I#O&e z$LP1cY(buyVkzjY6tWZ-_lR0UO|2cNwz{SEO8dDrf7BF52VLGS(8{d`BnwJsDmKxP zlUcF;;e;BHpY)t>fdoWWjwVW(bvDvSeM(BawJ4)K&)SwrF8tYzRz{ddM%>xSyt6cGV)aS-q z+6%qU@RqS#bOS*3d7FT2DXmpW+9>Do_|ZmHI!*TXKS0#QA#gs}zjL}On!dGB&*M9> z81ewtl(weY!CM9@mGw3XzJ7b^UN!nW_tHVLOK*XfZuw|#AS)B_3gxx7DnqqVC+XYQ z5x1=h=v>~Cvh>^dgo6HCs@K~pyF%)0LeN>fFK|)#z9oaH6EJ^!A}Dmln6{-a-WvKm zUKB*p6`Pd3M@#x3HQKFW&3%1+Xta1!>GNfZItSnZFVW>})Mh*cidh25RPIhwj@NEV zc4|uM1A)8ZxMfXCP0P~pxB7g7@=i+$B*y{I10Xz;T~%p>iW*8A8$6AY$5yq;yeUd@ zTHOvNVear#UR1X+(b!A4(Thh_x-lJw3F#ji(w>rK9(B07rOj?PtqHZKXtPe!j<-Wd zlnfoekKv5WfTLlRL>aq>jr2{%5!ZOPedJ*bn-?}ZI6(&|f{WtqZ+Zu;O%=@h?|kE< zU(xERnpTx3&!O|M-TKqP%*uU_NnF+Vv^aS)nOPb7u6$>1&KuFp<>Pzu<^ zREu3@Un$XFfwLQv9gS^T-GvXB5o7oiDRr+(uW??2|E^zs=i?%aiL z3CxAIb<@35V=C;>At6x{1|!COi+XpgcNfT#kZowwdjTRJf0@}5nwJ%%9F+i#%wUT= zeP-}|N3wZ-_K6xl+mejslL5r>k)_8{3KMH&-Z-E1GXg1&pVIoVN@{)EtDlfo5X|p4 zBAgi;+4F}jSd-mL%_nMhhfbeUdg$pJd+U>zGjx2jJMaIo&nti7VD9@>?mbgmPn-`M z5tdt+tuwruhS9xS#}7~iEbhBgR-5tyJS$F)im(`V4N;|n4Q!3dU4!9cvnzOGB!e#VM+!CiTZYK?#r?*?i5zd?#x!N6<_Bv?sT)J?ozLgKQBi!mx=Sm*!kWx zer^+AbCa>$Pid8y@u)Ez89OBhUkKR7Rj4k0G(j11{|Z>+qdi6+H&xl zsoT4fB?*Cx$r$+RxHYe2T_JHu_)b|Zu?ervgln4`i#(-4Z5DxP)nHy&5mJ0J2h;l3BA=abC)mf!D-XXo1oTo+K*wTWJ5WKJu4I4O9HMb)S6zhN~R%twkXRUz1#Lm8>x{p}^tg>oz4Pli0O!FI3PW zSkt<1v$kQI5+IPM6yOyY(k?Giw~#m9BEKr0t*C~p%ht_VUT$r22a{WV@PrL<1}rYA zBd!Ixb^EPuYb;oC&1HxNxsDQ^8yB!B6tNsj!3S=SSP~a1sa~|v#j&mfHE3>mFgw{4 zT@O7RERIHN2GbapkHF`6&=?r`t1d*-#+a%ykBN8czI#{RuN$Z8 zL+vqnOEuiQ@a`Eo*m;LTJ3B)!nK#kP-AB27*MTp@fAnQ+?RWBxP%K2a1&iP?))jw3 z@RE-neUtt1a6BC!O!BTZgOjvVRCWg(l%7d`vP)P&UtMGZwZADz_G-c#KnH&60^&dx7q#qP6lJ2d;uTaZ%Nu(sQZ{VDtVwuIR}WaK+Y zl=c|)b3j$W+Y^_2u84bO`_V74LH|*n8sS(Wep zEw0arSBAbf3yp2ZS~Y&3D}T(HEY>fFC3vbGR{0pXJiVDjdv|?})x&W3uI@_u=NbnqohN>u z&lbDK=0c2Os9R0sRJJgj!kH;1BEM~>X) zxxV|wo~lmgSJ&&^ROH+`-`RE#{+gJgnW3mAoOUQvXpQIg+VB&u9s-!P_%)~PKSpgR zIpe}F$qpBMKu*5WKcInh#P+$Xj&U_oj@9df-+al{r*EpMIev`%KHgu3j2pj=BWu#b z9j&pi^xHz4zVD&5aPS>(z}A4_wN4I}1Wo_olJ?}QA}a`=oz1rN{xM?g*i?FVZr@)< zMklrC!~eg_w%LHidz@>!=AM187$U*#2tSSPpGLLBJb1v@iz5RWLt=e=PW`iAbUEm^ zu#^>C8$%v?`9kASa5YrdNY{o_S-ado;(Lh>xKCGC2!{vm+^TP( z7{A8BR$AUlAst^%JFbQC@Y!84{Fr#Gs{_f8+b_nBJ1)8)2tOX;rxd;~W_HJguswc@ z$qyv(;D-lIz2h?qemw);uAw3OYlxBx`~RKM%zCRCk7uIz>mUZ zxBdkhJjn2Pmw7L!3V*f!jg3PIaDH&NWExbvU1!19XR6D~1->eL4DDwhXFdF})$9JT zXm?9v;a0nkkUA8C*^XV=b(`b1Lruv|S@Chl5_#uy-i+uT!@@S$+?Ki>cXT3XoV}j) z&Bg$Hx_v#r{2;bfGj{T#_D#nV;@37e-syaXIga4Rjh~+AQbU6)joUtg5S1M=M<*T?5W4rL5QP5$wHDT z#n>5wY$9Y(obYLPX^@VuKd;W2;?6GJNWzkgtk$SdqP&`=E0{j51|xP%sP=0&KgV8~ z4!c199O*5qg8`_~I1HwO70ZB0L3uV`1ha4df;*fgg}XHWP(__nt|)pDb5w+`R@tuk z?IPQ~OMCnWIW*wWzKKP_1YE3{1e?v2c!J>CbgZNd$=^~ktiA|8+Azm z%nT?B$#aWr?rvKCCRl29gW)0JW^0?*6j#VhwNfP35DdFG8pvx!Zn#3mFem|Mig;xh zXjqgQr-}|nS0;KcW)SXjGQl?^N+vy-Op@Rx+F~hcz%E#Q|Jq!GMu-^*Pede1RBI)t zO6fyU5~ufj0e737up4j#un5HvWI08Jd5zjgwW&(12p{@wtWUdxy(F7*v697Td@+X- zf{P_b+}A(Dbs(?(X4FB(P4;ps>Om0`8f=Ri08B^h)3gi1wGgG4avpr_3%#=?p8iC` z2Vu-Kl$?$=J{1gNmXm-8O$5CcJr!xw17SpBDb)bM#`zQvovl%W3p)6QW9rtjt1fOL zNs3~UwjKkFLbfMMq=G|&KU2R+Zz=AMxs33Yai!rL#P7g zwwP8iFpxr|pyn}~WHZeW5&DrDy=e;_kXrNr;3;Z}BB8{5l2}k&mogBPrtAA(m(UJ` zl_((e9JbI!!C*#Oy||Dn(9DEyQt#5wxGwp9rX}d+5hAQGAjE_XUz<>R8oRK;H-=|u zEmB1B8tw)IA|@<{_@uBZ3$}I?q!bLm4pdZXZR>mOlb|$_hnCC1sD}zHRHy>QY~cFTT> zg3^33?2S<*RBH)rTFzup>x^>>Y^#`e3J21)7DI7EOcS6*f-1=tp+Kz{dVk|YQcS!z z9FUD!#hOZS=GuTH*pzkHAJ^z%7@NfjzCxh1M~u=nq*0QM6mx{d)21bPsk+XgcU<&o zQ|VIdlbTIwOmS8hXa>-ekPapUH5Qn!jC~P;8e)-9n399l$(Dr4YcBMVYN8JE`Ps&nDvl?12=yRdg$>ggNX@il<`ZFnKrz zfMObx{wQ!5Yp%)c2v#>wt&>xjo)azJ67i!h(%(1Q-2wZ2Xhp)lDSQzSmTqrqt^7*Q zp?dnnw%PC`oMA4gwHI*)gH*h&xb4h5wE^$L!x`~6=g+CMu(+}Wyz3XEKjGFD<`2g+ z{tEB-FFPSFnEhtFqUGCt4RxJ&zshA($5eXMqS0I!8HAxe=WJ7?)iB?e5x{8*8`2!n zZj1H3FJl`^5|akB4o%oo>pfNYzWuMKlGuyW{+ao;lnrY(rHjFia#08vI0d1c*3X5# z%sOUfZ;sQE;s87s;T)h==4}qyli)8g-38uv`GxfVa6>4Q{V)Cc>C(SH$|I?A^!>S& zAKmo)KU1gX*XgDgrEGCvxCUZ=ZsU)BVEpA(&$j=S`7#eUGbglDS~emO3c)5ASuL28frZJiG}0@$U^>ba zsi+hTCL7+Ro`0M40B62Z0z%%+$a+xoiGq3No{qR;10KNhvYBd68$Wx*oz&x>a3B=4 zqT38{6EVpcR652?ahU5NhRbwX^ZlQ^c;2i!Upbey6$oXLuu8ZfO09lmNCYMi$qx(D z)$oHpZ2FeXVnK>=Iye!NcF8$2D-@H|0PtN?Uan)aP9nTt0M@|BW+?cPHAFpwnAoDV zdB0up>=gf&;sovc0+|ma6jp_nmcg?W+|K45EQ|3jW%%0x$-lRmjeJXf3n$f;8!a`1 z?jTw#E>Ij{5%Ar6+~y zHWCA1XPvZ3x`w07_qqRFT7E8WUc&eN+~O^t_kr^+yrJ*%^`0^|_ufdnZ*=DNdUFSS zc{fK%;mV^%>1AKe1wTBl^2RFsb8y$mSG5O_DbO*Xf+@LkRbVnI%~m0eAf$MHGw}mZ zC*j)vLEHNK{s*(U9g}zi7ZJXuC0h>1Rs>EnlWSCTD?g|9Dy64*d%XE)e*AyU-=)mj znN9XostLg@iSP#Gnyu(2i?@WV^yhDR^1qx|JJ8ci=K@8nslyUwnsi$nJR6d&R;#gI zsc){88_vbO!Myk-zL{s^$L8l;Qa4%DFsinT5R#(An^CI;TnOvwa3Ae`^)EUw8eix6 zP!xKIy&*)HBoVddYKr$N(?-#pKL$40@ZU|L&+Ere^et?b9en*=MWu`C&mF#836J(g z`$YE5$n=2V3^BJi>@2EY-DZ}QLVA(apxXkQFe!!sa8M$h zQ>VipV40!n)IU*`WrZLJCYMvK1cLPma7?bYSY9&BAv|r~Sr?zsr)t(DTAL9e9Gf*< zk=}Z*Q3|$>dGFu-lKHt57H;XSwFS@OgHTGVNxT%o&{&=F*aP#_?62ZkLlMdd1xLEY zBvJFoMSv#Fy{nX$cyv}iv#7B?5CCnxNRB#9i&NDuNO}uuBG=Q$|2isD6;kQb%p6ja z(gPlYAt+mb#8%UUNbBOzy0}@^4CiRf(zK!+3sRE6VrrP+46XLX;8Yv_{iy%9{);!L z%9zW_#ug<18AZsye?{w~)J4e6WrH1QE!{ZbX zO2W5RyPI=drOi*FwZ*i12T*NUli2Vq~$|>e?tB-o`q;rVZCjipY}> zD_@iv3GRE^XQK%$Nn-uUsnA61TS_l z-nGBqi6E1F1>=w3`@F1fGi-9n~IB7yWFR!lQP6_weA}%4U7bZ2bRPf6WDeNhG#I;cSiOLW>X3LEbYZ1Z}3B3X3xeS%|}?oG=(5 zfwc8e;9r~*!qe%MYt5Hme@v^n8d@_-VpRtXI!h5U5omYQR0wYiGrUc8>1lliQ;W-( zh*-fhsb!O~VUmEMkqP5Ld0MpRZMyY3UD00wqfkR9!bL?C69>7A21{UYuONWS^wF6s zy8=o%l}L<~O!k%vg()^euDIeR|2d_tDcS8ZS}YgINtRl8=XpA^J(onV0{E-mhHEJu z-{M5w*gOat{pw!^C`37#r%FM|XeP5mHvZV&?MDGzrtjS3%KTpv`cmrc{y32}BXG$v z1)8eKP%*(`bR)&9&95K-&`X^MxsVD5-(5{uS|Gg`T8#|qeHme=UF?(h=`^~)zfek8 zf~~01>lmAa!!q23oNKZFH-m2V)97aYQWoqbn=U0bv(>c%goIoqERwZ|lM-*YmZ$%_ zT+Ps!lGU_WIKlV`3?`^K*prC%og|@QIE-8 z;Z#WO<74kIVx@2vX-_e}t~W7R0!cVFE;q%@iEnRj$pFX@5CQ-M07FCrHUMC6WUiFV z0FbZGs!8$;>;|jxoA0DIe>R>o_W^8slHDY&MOtZLNqw9D{vaqL05wE#M+N|*0NyKr z-=g>GAt(Ic6F)lD0Xt9=L;$vYwqygB00c88%^(2_5C^b(fA3&!`+e6{*DIcQi6@`} z7IE>%Q<=5)IKJR9I~^YrbD)lO9DKytb&HRVsmFv7B`M4R02%C$Pne(20A zpXd{jH}%fwy!djj{FX|@sOHb8w~;t$=QoeZkLJ@_eUq^-?1s@hXLr-SPkE?ae_y`m z?mzSFo&J+FM89(TRDVd?Bi=zF&?W6QE>^-p{YU?N zrdICMmnkhr-_(`d59$jA5filgr2E?)ma=-R|5mTnHcZ@&5Q9_zP<$w#U*nZ_vK8J^K|H)HlZ=tyIyhc=$g|*{$`xN>1UB0{UUZL`|sE67yq;CO^sgs3r=yh z_s)7P&BuQ&qKb`F%n~TTh0}rcHY$KIDvl~Xl!ovx|7B@^?0uGhjf22%UmK|rRr%Q1 zTAe^ohTL`O^&E2i(d+$BvRK-myB21E91z!wh;|ZHos=hpO76hhJH4yFvb1y6`AbKL zZ`s2CXLWK}dNs1aVll09G1?}MZzSu>K-nbERcC5_5e7kFL#oAuXkCVfYQ?ZG=bNg= z@{?U;XwK!)&0DTkHrj!pY>HA7z>y?17McW2qrvobxHS9raXX91VWt&`T91krd2@rc z##Jb8GqIEGQsXS#p8A+IQ^%(_=Cps>QmpuBfAkhHGkm8F{d_E=nw5!fXT+6se zq->Hb{r{{QVEQ>Z88aE{u`$~J&Wkl)L20r2T4LNP3R0S?K~1F}OnCYdS01^#Y+wm- zndw&M7~}Vv@oFk~iAZh=SeRx%)S*et#l^=cpN66_=OP%Uw1ZZjyWXK!uWvhOCR9b; zd$(El-Pu@KdbwFyoOxn{&lCDFBZbGrX0O~@6XFHvfV380$8XN#KK$9)Y!dqV#5-$; z9bRS>W%%(DRkRk-eF4>j28Fhn-5>SO?muD=z>hjR`eX0xbx)Ge&Bo2j&BxNv#m~k3 z$=c~xMJ5yJzC)F1!1^*)2 z-|`c^vl?Tzsv;zrMesIebf%`bS;~sLL)5>NxR2#Cd-2H6dGg~PZ$BigLLbx2Qfoi-er|_o<@7_zHTaG$OqnRv3o=QW4FVoEh1YE1Zje#P!E=t zZDofQTR~9d;A|T6;#v%^_#C`rL{tFo)@SOd22!bRNi;GNVRG-2vY>+r> zGc{rKMQ+k^yvFb0Q7qJA1ov_}(2JKB)qx<#%(pU+RW3_@&zo_gaY*aA)?V$fMkS^K zO@eFTdR2XRTOpn7F7a~eyw9&RlAa*e=ILgJ7}58dh)bGxc?+bvPKSSbYVLPDW425> z^LT;3wdTDF{eO=nS{G##%upivvG%{L0`Aq zl{G~>;IzB~ZmI$a^O(Ww6;60%x$XK#@qH+>-RUM<#S67TZ+k7V9P5WWfw^JJ-?kr1 zC%M4vf1N@{(>HR#-dJd->&DV8@X)gT^wLam_i%O$_w0axh}IOR_Yiw8s5^3V0}RIA zU7xqSAQ;r5=ynhn=*k;yi=}l>@P4qB`Tjg_nDaDVkPCWwcYyp=?P|e!A=ev4ac^t` zaBdB>Y#!lyK`$sqsBDEO2R=tDL8gQ%y{a47Hl)V1xfUov6Tf=HLjyvZgFOPt z?lo1oTb48LRdKX)`{if(Vz%>3hOpQ7tLRbv?!4?5?{N)PI~*@lA$Kt_TN309?H+<- z=OiT<60{I3Z5e08Ly@u=hH7h|KwZbdf z{W6Us_g-<%i(``QR1WTXf^0@QcuI(sT7n{49XmN0R8(zg5*JpYD`4KP+<^;OGtj<% z;cx*el4!iP=iuQG!zXTc>NtP*USdsRz0ji4xS*CPl2(5We1Z>+#IG_Anu+ZYaOr)w zLr7X*=SUNw+j?hl#J@7lQReA0pX1Xx^ADU#6Zsl58T9icFNZhxNgJ+3y~?GY{yojX zH3t(%ZTPzyLMisDs<|})59-|>K6}Y@%^Rf96+Ol0Pbc=E=;DixT>Lc7+<$)M1=+h7gW_f`NemZ9z2 z3m$r}8Q_}Zecd_8QE!UjNTj3Mccq5<1t(ths$}sEuFZJhE!3?6zxUNfqDLztqo}DW zrqQ%oG8){Yg3fq(A)S27HycLADEFmyf6(g2)yV&|&fIxb-XwuYHxFgJ%MGSSKM2^>)@5jmhnEE?csD6r)#=W0!P+mkmPR2I963dV^+!AgQ z$V81|yej@&3d2mg7l&C7mUk=W+EXPMJ7o%%t2@R@ywXSzTu>Ne-uO|i1Ucr*x$@?T z$3`wDeh)wAe0c2j6ls!iV{@@5Gihbcc098eT#Jp(Os~v6>81T+>DKTPoo0ca3zH%a z2hDbJpwakV%qo)W9{BE$T*JTgb0;$8;*`!DxPjvdNLEhZA6`u-?Qw-q-NC*urv6eN0+Ws7#k^PVYp!8v25ZCIh>Y0(wzgu28Qt}dzMF-R zHc3L|SNvus=_>3c{fOY82~)sn7}{dPWi`vK8}JG`se{OLY~~L<#&gKUYhx!J|4!n~ z$UC3h{=Jq?<1WsS;n=yi8Y;S`5ue=M<+Zb>n5jTQt6=N1-?DrMR8`n7VBizZJT8T( z7N_75f82k!z#+#_EaNrp?T_~eE%I}8v#39}tEUm=Vx#)3%sUsDhLabz+j%+5Jn3w! z;EqAf0(U92+{*oG&XW<3s4#h41j7ULa~aPcsYW){!kp9Xo8A$3<(xwpNiADzxVf8D zAOJT&S{T9)9J$gwvrukA>sbVW_D3uNsFFbDJh&6UAh zfp5%HVay!h23kav_vN0T$M%xoqfIA!!X60Y6%KkK637$iXWi~KE8Lz@K`to`Nxn5z z5$}c!aM)zD_V5b70$-5f4E||OWzgi~P2EcRWq6myk0>|^D{D)(UHkS0%0^&98_CF6 zcgB)#%*d%V66ru?Tqa-eIcoW8#E>--laL;FM6!)oI~nN45p7B+v1fDI0y4ZXUsJFfd_* zdo9)@m4QRW(Jd$hRpWu^GlSgHFkt>Wp41xw@bE7$tPgAE0GE{LYF8z-Dyt(;S~F^> z=DCUnATVQXeI#r49ofIP1^Mo+hT(XoTqorJH2Q7&c#3vqtx1ilbr)60Tm|KztSguL z$fhGVXWd-ri3PWeUq-lnPwNII?m;>0ZIYXWZyC=6nDhEnuxyog?f`A;SHNi(mJH4F zJ8Yd!z9ygM_DXdphyI5&1ONcjq0G;u&ELm4+l&3q6rRn!3iyH%mAvQVNFAVctm(zv zF)3hWA)DQ$#7jD?sbc_`j^M3Ca#4@PP!J}Z2sY8{*iI~=CnrCl|K$x&w_Dj7reAk& z0lnSdJ{DpH2+xgb(a;gyC{%g|G!$T;e3sUTLc zX5(NZ#VXH;0p=ar`jh(evOTmb2_STOu8t^0lLCWjso082Vd&I^lNG|7*GD5NE7?nl zZP-#L9@=@hW6}yPF`X7tFNm*dlg7=xuAtUrr;$Qi>i|0mg^>hms$pXACR@V-bh)vg zJ~U2&-#6+bp4iZv-F`8VcC&G`va_-Ca)`Xar8Og`cPjAb(un}CXAv^EDrEC&J#jZ=uh*zT#a;r0*=2qgu!VfE4C159ifAxRoZ|fXN_q;nb03xmSD^j zI~s&aCK>=ZrN|!Tk(5K;D2Z(UsU@*4%OXn<9-(;SfW$0SX(0n5Wnfs@HhQPZrs}Uc z)k5Bp#ME+2B?!>caWs?`@G7a(zV)&6awl|;OU76u3PR8rfh_YZji^zi<@K-bi^%}~ zwN6l<{FZVWT|l>u&qgr{X-EPPii5GG2%JTMF1IH8;jZo#RfR$mKsX137Rt0+IdM+{ zjsvb12p-*z%vDFXE$I0pMN6n$&uLTk#$Bib zCytfHAjYUUQ0U1J3RU&1M5f&673~-GcH-Iv+C>E*Coc}y`fK?h!r zLfzt{8~o)f=xED;_2O;$Qo~f)&U@wBY~9w#{Nr1MUQfMjf!*?NYGbnzc)h0q&=7en zCYM@gF@-|*!bKFwx3Z(3P4a;~QaUa35)Br~O0osZ8ahaUE}DVgkLx7Vlw#XGQcR2E zQYW$zczFntiae4z_A1C;ju--}wq|EZZ4yXgpk)?YB$oXS9aek_1Cc_q3}jDHvYNDF zEn!|bi08$Xi1)mrtU&a~2#21Fzd}2x%q^rQiCUpD5mXrkB^DAHlpP1O4~9yrOA57a zj{J=1Y9qkaVqSq9b|TEtU!uwyEH%dY&)5od9g5zuc`vHR6dP|X;Em*$5D^l}B6CBN z*sH`5d94_xYTGFCPl29P}bH#C{Igg0bM`eSU=o2 z_#5d(C~N8x7Z5S9ZfXHErb1j`ou&Iya#vpB!8$(e#~2^(oeW{?#u^F&M)TS+o(g;} z!bvyeng6UN1A8P?B1ObWNglwS(`p4goMG_5#l03@%ulU+hrZJJ9%LgN1 z262djdO#3X0vd~cFFGl*R3vmzYXL|sf!rbDxn% zI)uz2HPy}nI>7aD%ZUL@gw+(}vyCjgWWxU10?b3`;-qmHY>01!Cn-B2V5Y1D9g`tT zP;^;Sv~^v4JS#TI%<=I^sw%}vqXnMSi810T1>%|urblC^d)FFWt4CQe*o!1h>3y+mwCiRlTtP!6m_1iu$M?x~XDe;@q| z;f`|1+OQz+8*1|8_HeQ)#j&y|=WVfIRl~OEW2B_l57?eBk z;0H+&@FgXOzaNN?c7$LPS<< zwUrnHp$@(FV_Eb7|Gr}rH6Crs+MHA)igy@_i-Om+;2I?KSYKzeBCG3w`H^8$>?Veu zfk5#MlBzFRpsPj@iaNXh6O+jt{UyF*bWE%fqok-vJB3ji6oJQN3aCy^8LvN&(i{Y9b2GaK%Kgs=>f9qH zlqmvB*7a72IwaK%5@Kp%eL8Ko*IsrtPNh0OKSynq#DnH>9uQ(vV3hT;W2-0&O80s1 zoEU$;n|RE=^d&Bu8zo~yB9%3OSX2ud!*lsZ8vVaJ_R@!9(m{9;?-)51rKEo$XAR&` ziyLUIf9JI4=w@fV&zA8OnQoO41%RlkmAvP|3|LcAD@H5$~>+8~wu+blX&X=bg z$8vb;8`@aNT_OhLX zQ4pX-jH$;jHV%Ul&NkH{ztC>3k$<5T;Bfu}-skOFZSNOLdI$vpRB6wK;()a>H4uP> ztlT_sF-tn{V;M?lT%#f}k{TndrAv?0l*bvt629K6hWTelFD#)8aOYZpi#w(UAkJz) zr1Mfh1KPsY8?Lx}Tz6eQCima!>WQh+jl$2*l?clJFKLJ3#G`Yg8krM7_8%UQ*=hbG zO`5gs;?h&K>$L34(lzS7Yn!LjaI8NyFHKWcEttdttjYkKaFY3ttlY579&-tsd`X;^g>8?Z-9&ztNZ!P20OCf1p5ZW{(k-|=(zzuYk zNV$k#O4YvVi*x;+jb=cOadR)|SeJuYQqvkDsWyo63|r@1+rcOPuVxolKXP~dA!CBN za`D3|zZ-P~JkSsdQqs~L2z$f~1-WyJ=1HpZg?4zX&uD?(dH_Z=L5Zp*4jhXSq7{e; zvYL1W`CS8kpZVq|mUAOTn5n4@ItirC1P~-aLk%LhIrDQ=Yj-~NFUS5!;)}zDRH7SQ zmG2o;CEc0x!kxS0S7hK9J9Ev%n)o}*vMUkj`5nmHQ;DTbMVi3iiVz5XP zU7(aZBtlA7B)Sn_NKpLWbw|kFtq}S<{Upe*NJ;4yyQ1 z3n;W+eeC^aDNpRRvGfJUiVdEFAVN8*g#gbRQi~J?ib6Zrl*Gzb@_6}Qy1YNLd5gRB z*+T^f&5SaMs)kHyG>W7!mK-9Eqw~M?|2DBhd1)=`cZOIFG^tZzaZlp~j_@YK;g%@|C3jtofUWAV=T2twpINp6-Zp;i z%_cpyp$GR=QS#~(yU+i3#A0xjC0Wl%?>s=NX1a95n_n}g&?&lkG+&SlgF{fzRww2OQb|m zj)ke$K|>mh#QZC8rc46I>H-(C;>U&*ZyqE$1Tlh&f*Dt$0{2VD<_aHokPEVvE4~(D z5t#xabX~7J5u%-k_j0 z_ywFf`}actFc1&}00RIsR0A~tU~g19CNY? zZHf$IMiq^JhtYmu}L1dn{Z?+Dm_9=R^Hr z=goTR%s+b%Gb4K8MfLPu`yW&MRd&8!dZ<^&Wlo$XPn(U#aZB z-aAXOKd6toa-*4-p_`qk)Bo~KSs(pFQ_R(W{;x&JdX-8_lo^85R2s6lzNsUH6z#VR zDc@cgef48kJwHPV?I*;4)sdh6$nKmEP5#msb`ke6^m?)N^A=vxhkfboUhAKH=$!sg zzA$-z%{wRT)i#x0Op6$dtzjTLQ&dV#Py0!iCUqo5!wHM?Cl5oRsr#LO|Jl(6acgz7 zAjmmcth1Y3-w3N=1%Og@79I3hFHc|fKfc3D3!(dB<@9BH`&Z@_fU%XJ2uJ2QbZg~x z^gzJH5FWU*zkazVg3D%f5VxKp@#3D=2)6d_=oyZV(WJQ4RLj#paOcleTgw z$Eug1ism=|b1M=5NZfXIFDlHhA58o7zHcUWVp4DGsEX+}lUWT#kQDynE=WvkMm{MG z_Fl2kN(fq%gKMcScY$$lUK0Y{S8zOR&29G%2c#CRcMG$!N{z=g&&!irA2sTeX}0?+&vOy63abWbL7RENM(_)jABT z6O-BU_sM;YK{%8J!E`wVt`EIM{VA=q4rmrX%uB!Ka5qnV4owawCZ*Mc9+%wg-wPX` zo$HrLcu%f{gWRAE-DWni{}LstY_JnP`BaY7|6(X-^K)cP=!d@}`~0XW8gKuEO=k;Q zY~FR%#$j*jvVS@J)?Naa6$|&*UNZE^|K5;$KJP~xnMiCYcjnFB>d@Tm$pZ_vzlZT~ zf2F7yEQ!!IV#}U$OfG?!8=kn@6xCA+B|)R zNZBf_E!?`?O4T8?Ly^On{YY|4whG$7Sk7D1y0$U|;to>Txb`ru0pu26Z3G)!ZI0%- zcv%>d-P_OpJlKlPZkf+g)EE1+Rj?4ra~u~+%pv=IfB#C^kM zEmS9H@Xyvp!C)*X<=3hbGx5vG17_)VQZWO%-Hd(;u^?osgAE{7gw^N;3X%?861gM! zJ1*vPqTAswYlPMXv0z==&ZyUcC@YmMAa(T9}YZtH$hrZ)+?y zyJlzf?`Wv%ss+sWSNw@90*&*q7hn)}M6?J{k)RZ7l@g-0y;DU5b(ty9tvFwa?D1&%9KQ!8K)n4sTeA2dGG@BnT^2 zl6PQx6Zus1Kl1-Gu88GB8+T`CTTZNewhdEFpL93KX5F3v!qVl}4mG58QmJ(eIabA` z@)52to_Ch5qTy3HaIi$mfUCraC6Xh(=B~l53o>PtvIi8~+G2tlA^7KB3c#|)62d@y z_VjF{AmXqcV%RN^0GGE@%fu>aZRZH~`oTGMrw+63biK@O z1EIX~cJ>0$LcH#=&T|XQv?!7 zakR5zwVEwCB^kVX@h{zU|7km%*~I~x-B?++Unjx+Cod)t8XbagYXcZ zYyZaa!k2rlN(T2n^8GVbZZFQ59Q$3%vGC{vFzkL}8s;tVo-Jkli~YpFz0_;QN|o+~ zig?t`r7~^(OMP+=NX5~r-SMl*CBwB??<;CrXw%x`$rLUsiVlTn?G`2?SW8-2{C;F_ zLz|Jsx06AgYir&LXJ9W|zc$3;Nz9@wwtR^yW!h_R_vY4FOx#&Y;T(hGlq;y~MuKjI z6+lwp+CjMFVOKWR5nytN;b%XpQ+y-ehD~p0uYWiBf?mQj5dd(=ejexWzuItiVr!F< z$nWs!pi2JAdmmdXw@53FI*=qbKRtVbPo^>Dbmb?cu@Oet&$i_TMmA2 zx#bsG+c*c~zuGA0?5j7l#=4u}Wje0gPL{f15qZy-d%C;NTZ|3Rzu5_&um9_u4`E@Y z)?WMBx^nimE|2$IU+Xh(W$d#M`78#p<>KydYh`f0PAcDDjB)oU6N?Of@^#@={NJn4 zWcEtir;I{kS3E4JSq_Nq-{T?mTW8xH#kmyUQBEWNk{S1M=xJ>gTQ>ZdjHs1frjZ8w zjkiHvO>E)oroZ1?$1l*c;4p5-2Wae98j4=u?Y3S99>Z_fzC~RoUu$V&I6?iJn*cK6 zJE7gJH3L)o;e-oPbq;oVQI?1YN$3YZ`` z`0fhZ^3^(8!&BzMQOkSt;0J@C;*9IQzpoUCPd+F>8&p(##jLLTY1OvC)VAQ!|1!f! zM*p6mA;QyHrp)vq=72jG&qbfs>hH!(TzmoGArEqhd#tJL%$gi$$C!*hxgE}ADpN13 zsl-$NGec(K&98b9t%7&o#2qpE;s5PI3d5(|Me}xT^s(9x`w}6VGKs4$eqT^kIbQG z%55Y6ZY6WyGyluw9#6G`dC9H4!BEHnfP=_@Rqbn}AM$-o%Q*SSO#d6)tmrI1_}#fK zEL=v@!~dJfKarv2&d_4Y$)pUiOmp{_4i|IqcuQPruJ)Cs$2#E_d+J^)T*f!wg5J?@ zAQ&W%5@;Pt#~<@>HPuxHFir9-)NjB{-KyBd{q9`l!g}_}VW8KYcZ*BtLr!I<^vq*- zv3I{B0)mjs?y$nXNR#Pz+W}p3(A)joKrbQJ*uUmKYN6tC{uOg@uCU{o5tP!qf}AZpUz|gQVA8R+6g}?>a%cq>VY^ zcOP9|m-5Z_P?WE2?m)O-4W~Cp$hmOY*$GWK3?dePg3zJeAv z$kMrm%7=CY)zdJBuC$=Yta~928f}Q zaH|@|{-YjtdLR#Qo0;d6hbTL-lXE#-rn%$1kHl-YLHEUl<}1Zim!FF@Z)+tLc{ie$ z34f%~60R~Mr&O0Qv&o)IxcF&wo3`r5`Sz8HJJndwjl=lEl&_Z#K^`^@O%L7^D<>C` z4>gT$V?XA@!4z6Hm@8zv`MPxcQz)%CV|2MA9%vfWE@$$TyLs&6FS^_D9i|s&n4UGZ zL#?gUUMSV!Zg_WPvPgMYxvad?j$J*h<99TPdp!Jg{eH=GxLdvSNY(a8DL@<~^?h}& zW1;ON4>kIF-SA^i^^`QPw4P{LN@DrjPN4ts@Wx0sUzf9Ca&A|A&gx$%+q_;Br5`#f z@b%CbKeK%wvzdij50e?H4hFsZo^LvfGrS^<%u8&1cYL(6|EXNwMen1ocxxm--*0{R zucO&?Z}vrl#e@)r=)=7Rz%L;&q`>I;&h6=q?wWBv-?Jv$NpF7lS^X^+eE15CW#}>q zz`%aijotcJ&xM$uRgX`X?_#^`g|y#}T7g_NjY}cy10e$7`&QPY)x}p8{57fGI8K6( z0A%T@3<{wQQ#g6>)ieHXOPE^5wr@)ZmeAAyzDeB-WH7pnonXECV)fsqLT~Fk^)&{% z%fiT5^R(`w&ntSPPknm68th#VdA1NK*|2ZaiF`umS4~vh7d+6|XKB5tmZN8r?iIY& za=8BzzSWn$rJfN#W3I1mT6GNuIuZ1XI(h(P|z3tZDalBk8U~S z7v+!C!#gU)eb*KJH~fuWvqj&gN{W$hGPn&kmPKi$x+HGl)yKuM4P@Xdb4vEuWM;*% z+<#WfaQVe<6Vx%P6kU-#;71+wS^GLhgGKQErIU5ntl~e{^Rxt$^L4M@}iE23~m@&A6qyFqNNL)mqXWop}$Rwh*jatRGt3E_<5Mr`oMa6qUSZY(TYAXXcy5e!krf*MuQwAmI^RWU+++P z=xg#^bJA+UDf3`tohkql&qkRgaEl9bP|Q8G^KI^5PcI|0H%lMM3)Os`&TK_)N^u=` zs8~8oO}ThvJ*hP`1D0X|I5Q>+&+D})-Xv|;eyOs)A}d9rS`fuoV96mPDVC%lgMnuQ z@GEi^`}C*lKlA{)@YR1xZ{uP6S7a!7`s#e9>)rhdEw@U4V_A7ds)wjxD>=aE+Tw#G zqxBRG7TIP}b^CJ4UYl$%9*AO3Dc5;122g2w5gnx=%8ZnE0RB1*#l($&zBg0(3$+Gu zxHloL0;NZMI)46jJ^s|R4uk)Bw*z*R2LeB2e2YX_rP_-eh6QOF+{y+)TG}g@S{P)l zsi;<2j+NF{lq3rN``#)@q`xsgJ z^Vc1T9IN)VA%q!E%?a7M_q?CH8&c}q17rci63;YDEH!mY^%mD!MN4f-5%Soi{?^ek zbxMW_pqXewRkIZFt&Lf{gH>yW)#Tsi=r1KN?quKcr4wW3mq;6nFhbR72c{GPp$Nv5?Owm> zRQ~W+rHg&v`LM0t?AClM?~Tx*Kl}Htj5k&%KU10do%wt?*-tCrqow5>DunklJkCXg zdJx6JW3wXXwV{A~ZUZo-vJGrG3TRyLy_RAq*m~)*h#;UVVR{@lYuCHve}_~)3zo8A z;N#X=H!RG=ZA;JFJL5+t?XO-ulU3h2IzD~0zlwO?j-0}utmI_S-DYs z$uB}T*gn^94LSRBC{2%$SwarxftyJn77OfH1uIQQU)ZVkXLo^q1DUR#Rt{bHbk&Y~ zN2<7HmcAJ&zHt3o5 z_-PfGS>|zrT?_2v{8pKXBwRENm1#YS(zH;G3UX0V5P|cxEoC!N{QB&C*^Szd!VVXm zY3ZLG{l=k%n$-(Z5%kGfW)>TDRG01I0fLC)j$8{V!NOB-NFS597~7cgPb(-8t(izKy3|s6QIwvpA|ffWeIyRg zhw(TfH*0&AVBj^ScnHjQ9g(SEl7kO z)fVBH#K`(4pUy70hUE-M(_&zF+KM3xiZY0&A?NZxY8(YJi?-BAxJE~RKdTZZqPM7T zN6+QLzotE;@=rIQU=`%i3M~gJh|^REf_;)%JDBHsg>CkjNFn( zpngKwt*kq$|2yBhO7w2Um$QqD9UdrSe0ixh%ZroaHBw)VTVM2)J95+ubW@#Se& zN)f~{ETR-4J=?df#@41GJ(&g3DU<_%?1c(TrQX1K)YGQ?zY|@265RP*yc3$probfzOB~e9qqChc6WGMhq$6VeP>g1oeOo*{WY(s|T-XQx|3KRlJOmCA5Pib4^ zoj^$@=Sr-CfdzXNX_JS408GABdK`KD`L~@*8enrD5kkJ?teHAuPHVN>YdjJ3 zcDS@Od0N^EfgOfh2m(S7rJ@oBy(9u4k29(7X}{r9r~XvnaZ^Kw2wSTK<{nLB(x&44 zonRrl(v1(qdAGOqs9N|&H5-s61AWV*Qm3IXr`zu0)%C5sZhly7LyKsYjLZL^tPW{| z4=CIcY-uI{uDN$jmTCUnX_`EyqE0RjSBT))`NpA#@{l8A3I`z+faU~VguR2*zL87$ zV@VduQ-QzjhnSYE6w+E=n4#n%g$I}QoE9JnqBlG9rZ%;EcE|b2a^@5l0|LE3NCS=- zi->qm1xp%mrdJapbuIiM6KA~}#Sqm?hT+@5!nRn{>OqxN@TJL{OwT@7=+?o3@dOQ$ zb#x82S|}Ana&J}6{EhZ-b)HF)W+6|wmfeD~t*6A)YR6c0 zZk4|hPjEL8sa#B1FjG*j#nf^klLUwYu2cJ$&oUB5`#{LaBUnlo3O@&C`6~8nHP}M& zwEl!S((%U}#^Q~MlCw+(y~rW~_6XT2C~C%69Rahy0I?yn{E(>CDOESO~= zsJX^7BdG~omqS$)5aXEN$Rb~sn23Wv4_7*y>x3hQD1_0yi+{HTE>_4oL8SiWv|Z=b z3=QYV6nIp=^o_OG7-TL*i$3wi1aYKFi8R53CpP|3iEXoS1is{nv0~K`=&a9iAs1T& zw2BL@fl=R!_nT|#wQ*eI;)%U;iR%s$30QOx5r{H~4AcXvFN9M|R~Cn*&y66BD9sLIZ_0H}0?-u~kGeRf3*9`o@Pk((0Il+v^97)@r z89LedXPo|s29JEaN3L*@m_LkEKCWLBL_6Q(%;YZLtowBEWKxB+JXK)O#Jx^L;*Amn zKfa^?{0O}1`R8?Rqme=`i)F^%PQ(y$Bd}7I5(E&}O2ohua~S-l+3ZPrMzRk?2;_n%OyXz9#K@gP(&K;+>Mh*_SPiVMPA zSiKS&yzIGvx*X*a@(YpowifLy5{ywW=nf5w)EBENxP&vf0|c%D{k|3o?GXX%MeEIj zIkb7*gyXDf;XC;Lhss~)r`wCAkhJFit7-SVuoz;Bm<)_9f)^knTJ6=14}6~Iyn@mR z0k&sNrR93Lof0GD6CcV6vBPYo;6QuO1fTdg0swHD8UCAt{iJe8!Iq9OwT4_U2LZt9 zE0Gn8kA9+P`0`^8OXOJ4K+%CD@$>`+#RcD5yb7XE!b8o!e@<^hHuq4q9$cNcYDh|0 zRBgFqNJNE{t}^ly%FFO`M~gY$aPXY&NxZWjiL9SG=oBWw7K`VQE7#a-kU6xt2n*GYSX{u>+*Xl54@JiLeaD z?YTOV9iHI7rrIhVDR6;DgNTv2l%}Su+BD;_d1z8=KkA|W)#9SM8P&#@vY#BepZqnU zzjWt%8J(ubIt@qM5f)f`y+kW*FB+D40=^srRgbhgR(?*I8P%d=Y6b>sKtNmOrO;kx@cEbZF zRtlvhL1kS{f5IO5ou_CaG$TMnA+h4zBB(KhK_H_RV_VT$fBye#m+^8*IJa`pMpWpa zj3{jk0T=1T!h>@>eUqB~78z6uL=Z<@1)c#jRZS00OoM7y6OXM0uN+nGr{gk>4!p*a z2AH5@#dxI8P9!LT7mEaNNxG|wHC8lT356IUqrrE>g6YZiQTfrS!G!#H-Mu zTCOw{!cYu6YwK12t000mW0ssU6Lqr2M0AO!qu9VCGkgw0W zd-4n<2CMOtyY8FD-&S{vfO0(2E13ZAOF*=mDvjHYNNJ#D%WRhh6KC;v5l}4w=0Ti)u(*i+b zl1`2z2F7Nc$3>AuWXEY(JZ{%1A2UG~43wi`Q~&^g3;@l{002W3nzoSIkgQ-(omg*3 zHc0DA*HZV|?sm1^*Y0X*Yp#4GBsN}9coB6=HY&OvQo9TW@ME3~#&Kf|$Y5!}l)r#r zfFJl{!wveM;6K#H=wIb!kABV2e&Ozv#)JLRR9?qFwDa|$zH~ExMUR{E`N|F5Z_2(c zHdY6Xx!GZ!vGb$89(kKz@#pg~@TW59GBoU`GIDS(lTJF7*7gNL|)lMW}5yHCi^gm})h0TwQ=l;7wnRN|0`)6$W@lan|oldZh1ZM`BS;bv&l>u>CFN3$E0i!2m`IQ3z~Q`Hf2wiPxHj<%4V8p|klFZ{d`Xgs*Brovze)P)GeFi1-Y zV{g@zSiiH=$UlFt$%xpE0tjwz@6Wr%JvhmO9QL#x?Z*1>XTuC2p z9U{gg8{vPUxcPgw=i$@rOePqN@PV ziI&(5v@k`2Q_J;Al#=bZnvLF|)0lVkoylt?Rx`Lyi?p_y&NLP*WZ{QUr<`rJUQ7G7 zCpkoO)-8IoxQzwlPOB8`0iD`szEQQw<1_E*B$@Q;gaNRXd(CB`=k~}Z3IKWY+qdtK zTunRr=jJ;}9WF79Ww>x_fZdd=Q)fU)ii)<*Q>$J8{EjDCd|M{NM9C{biepI)-Zziz z6I-&6?G-h(=)?DK`MP2wrU5l^q^QmlvkTJ-Wk<=;So>qnm1_rPnv~evT0D-dJ(ExOjT` z@)MJ|c(e4=@-Z_q^{cvZsI|?$KYE9#f4663y&YZ@F!KviIHdsScbQzcvgdNYNB+;J z>Hjus-3?hi$yxn)<0g1k)R{eC%)L3#A^S)|NebzbC@g7!!wPxZ;+?zw^sFDNu=cGj@TYBdiBz$U9k);u7@AS&6^5oz2la1)*wYx2;ZdyBS z*IuUjapaZxa=(uu<*{h#Z)FV6-lP1c86{xCB1V=fZfy(59Jw?n4({`lNp{&EjtfBX+A1I%jEY zw~>`odqadhDI1;swWH$40vpWk5|5_RFx?l~=@`HDcRhwaZ16!z*5>IBdYB!YIM@Wk zx-%loii7e<^>a(ZDRfW9#CtPu-_IOFJ9&6e>s3H1`fGUoswJihveg7KusYvE24McY zcVFw=+lcj#Cm|O9b3JcMn%i2PJOoU-4gSSfc=O1tMnMZNuul8_#amCHK zr~z#ya)f)G4a+^W6Ht$AxZiaz15S`X-P*7=V*E?kp>H==>%6Qfds8b{ab!0aZi%A! zPcF6n+=rMR0mmOg#b9m?aI_{rXAsX76}o&R<7xHc;nZ+zwW93;U^FDTOc+z zXqtWPJY&Ci{FgV4+nH{?KJ<#unLqzfHyWAN1$@)U*gX_8ICj_vRRaSh+I4M37`|20 z6X3nGJ|k7>0%1Ql3T6_Hi(pcQ=4`o<^~&v5r@FUK25zqE<$=Y_Kz!WLY%uc#l zrch^lgG1SQGIC(E?S8w!=&BkYD8KIk)DTvmE%0{*02)m@&Viu7>%{Mah7(Y#20z1Z za^=KU|KKRB}hueV?vS&iJ!1uY|Ra_%ZSl_5CZ!|*&s-$pN z)+`RT76=Sea@*X=@%;^Uhg6`hsmYGpgKS)nP%$-+DaKUkSCElBi8flbo94cF+;CTZ zq0=#@^s{2Get-UQKbq+>ZM?Lv;`2*G>Z*tP|AeyX4=w4(;|_K&7VCT98N=Ncfn*lU zou_vy9_>KuprvQpHhMS8!z8%JeV>$usKBha2)D6Yt<1_@39Gs~PS>p3*Uxl#yQ_oK-c}0sF363+Tf5vfeCyR=+Fw z3+l<*v-o@+cK{gFjdiqt>KB3TjK6C#zakAF2KD}ZfJK16?=V;0UR(NnNdJ*pzrG6Z zbMpQBS0T$;A^liS|JS47!BqS&eS!v5th#-NH$m52A^xo{wa^jNL4DRHJ}G?v+96B& z{dex5^G?=(Yz{_Zz{GpT#;uR#$C(B6A>q{Du7;Lw>)DOSZwAmSyPL7vR$ogzIU};M zY(H>&h-%`pXUqz2wJdoXhJM%->Wl;X-4jVD*~{B<$R%dOBl~H|Rz_VJw_Lh|Qi{C| z0~xRXD{EWVh*pcb$5s%w6Ebv#g?Fn8!)%H<5NDImT_H^Hx!SDwJA&?8{;ZA8k_%l( zpWDvcZ)d3ZQ(jqas_f&}HZoF|cIDODPb=+Gb?4rx<8QLwd*_p-Nn*IGu1}%I4n6$7 z+j{L$=49|2)7dEmMLtvLpW_!)jXfVpS+7}cUOy-2KxRK;+LnkPF(wfSJ5Z>zx;5= z`dPnRXD>13Yz$*dsc%igk)$4Z4RitOw(8p5lJ3nt{?|BK!$zrJ%-g~A_WfJ??GM*- zVeiyRdsc1?o@KwDKakrHUS~be3mJo@GnR=jEa3ex>28-KSR|B2^y+?y35I0d&@F%b7i9RBk zYvSW9ObVbRD5E6x7^0iS*Xq@+3_h^POqG~;=l}N3@U(Wf@=es}rtCIiaV1L$Q^QT= z*4a&98RArYUBYMH7V7UUDm#P&CzRT<9p3q|;zwAY0aa?#);2j+oz9VuWw_he)RKbk z%PL=U!uN+8^CEmsB>)FXYwb4A^BL-=GdI}pv#EJtC0fDeFzGeP%P>^RkU(+3Y-U;M&}u2Q*G)bZda`<_A13 zH&dD29-;iE^)I38CRNLKo){ke9`M=>j?DWGfu&=}f4f~koBF5u0{+vLGtV;SDq^$m zy)F2_Tu`Bqiih*elXgOXdfW4UwbqXR!=n@oZ{h8pG-euLnz=PqiqI8$Ut?w#WNt+5 z!**wWY*j|Hr2&4ydviE*Nz&zJekb?tV&kduZ@yuTH$0ZPLLRyIlLnhTQ*Kqf>w(|; zLVJA2Aw#<>dU4!k*t~6EAnpQ!>u~TkreA(AQ*=#+Dj%O~TwIh^{riwVZrHKWI5i4C z-A(N5;BUX1$j*enc*K%5(H9?Qm`3^J**JbY>_yZcQsMTy-n+vx{P1Q@UOtI$m6O_+ zxpY|>{P?~s^Um0>M$0qy-GATjv9u51-MMj^h`^@B9d^IEl*6&O_=uBi06?|W^e35} zGbhGC1SjvQlyXQY!7RA$WM0d`fM=>qSKP0m-F}$|mHn?!es2E9kyCP!XL7*z#BIpU zpq+41ySw}8=j;Z=d$CSu4pE$^wpK>9(n1|_g%3hJNbI9F<$`5b`bfxukpRGQpov!aJ3}rvykLL9jQTNJJ>?lk;8v`X8H}q#MqhneMS3 zI_AgC%r_EgyB0nt3br`lBQ=Vv3&7*nDj5hef#7MtqGjDbMLdOqWB1uGz*COeUYI4K zEGAJ>P*FMaObwJCEg5_{juBeB^_fT=imYH`#MsbYBGq*u)I4P{!6W3JV-jiv3_Ol` zi-(~Bkr*?i=3ri+Aw=4UdDV_O4zAEjI#N0)rJk&-3Xjw4M-BB{Z#7y= znt~088hIsB17Ls=z9Pk}I%+Uuy<8!PA!L%2<-A&2x_9-E>_RqlVN08tW$Ejz4N#y; zySDB9G#yM8wG)Yl9UWR>b5XzJE^b0mjo8EQQkBMD-X zsgUxcJ$?N}?|m9lMB>9rUjiLAt0V9|FX!W4As zOo;wRyA~m{TatV}shRpBl$B}ez_}^+NH0hk1v<0T89X$LrLNptbrGt?E>J%g9^6ht z(mYm*pgIaf6qoUZE#D5sp|j-3^R-{J-^4eg*YDhd`DwGWJuqpV!$c{rd<)s>xOu_y*s-{R<`QC!bu znD2bf1yWLTFlNCJUe#Qz8Q2>S=0b9rjtvps29XjU;AtWbp<6UOFtu4j>FG9QER~=E(&6 zVW2oE&CG57;_@rrSXnjGijIVceh51!O99jtfVbFeDsG8qp>{VAFkFY(2Gs>0Frmf^Is-r@+`FQ+Ouv#Dn zs6al5dMA<|i?wN4w1r4e=Ea}Z_S4Wwl~kxi6>GT&L9wqXDE9*)I7HDi=eJ$|1zyZz zD!4-F=W*h;LHjt9N37!)PZPj2*#8_ky4b)X1?-H-z!$-F2Ym- zaGe7cEZhq`G#Bd+?g?b(!k<$KC+^Q(b_W&+P;)=Src@z?DkyHLAA7k1@*78)6R!Ak z!R{D=EFP#rON8Q{-oTmXv0m_^aA&B(Z3Fy8Xo%32B4RS+X$Sa{6e@xd>p8I$^qAWF z?c~7{Ge%WJSx43)?WwG1U@=g#7e|vg0DRu^u`@hu)vk6KY^4saSi=n5u~Lmyn%(21 ztC7HQY>)IBBs$K5jBQB(B}yuB{zyvYj4u-?<+O+fmFgh~b6hZ{R9Qy)gyf&PL4ND1 z5k(_mfD;&`f(moaSP40&6_FIP0<~2CZQglu6lp>*;Z$II9#tR$aY0&Gode!F%p5`{ zFP7z;*Md?)pro~=V<$qjEsU3HD8GJi#e5ef31Wd;GUSL{RS=a-AnA%Is4Cy>l9N6? zvGziBnn#tGVv9_djzX10*sMMPO_>|{S1vsFED;)C3L=>bP?#Lo#$E+I5Md0*i(LRU z!8M0JUM$EdN`We-F$C*CT1;TNdd(|T?`avywf}`gA1_ABQyC8 zLrU(_FUN*jX$fM(G{~Z&2sBsC(ZEM6)DXOZf1u92>fOx%*-CghCjMmi^$vFK#A>pZ zMWq>CA;$`0!8-BO0f}CVQp;XId8I8fCnjwC#95JOP)k6fd+p4@pFUE8`b7JbJl|uB zr4VbyG;#OPA`&)z&7Bzpj<;hLDE1qOZOCSz)slOC1yjcYp^bVu`h)QiPOHCdDtc`aK!h zMq5>;g()p~S<2Yh&5_Zmz(JNp@DO5Vx^}+#jWmQ)V;)Hn8Zs4@cm&EN1T`m8HA-Bx z_OeV5JYu4U!2mjo*5Xoxm4jM{1CM&UOHF?36MKubmF~FCUI{4<4~<-V5LI*Jp_2J6 zU2^|QN~&PA4b>9W5D^{cFv^w!(&p$?@0d4Cjifuh@F!a2$WEd2bp?j$Yaj@siS`aN{fr#NFM$VU{E2~950!vE_E_@CD-*fZI=U|&U4f(`Ue zlu-Xu<+FoJ1><-ZG%1IVf_EivYqwUKq5%ZKC9cE7$=2?mYl$z8%O39)32A(IS>?b|i zxs-8=1)dsgrNS{Vy4-o@nTFB>m2jBd3esau3(~BT$kbD;0NP*G9cbm+|DfWws8+S0c~Zi%GbSgro(1Zyn-UHTYAD{}>o> z?^q*;Tcp;z|C%12J`2fRQj64OVqsDB1&U}aAg<)ago(gQL(nY}nZJ5)@0+1vI0ZX1Ldu|3-Xx)qiWf|m(+W~U+Vnol70CGJ zp7{aZOJuP`#29nuw+aLqolwC*Edv6je7i>?0j&tN2w=pWL}PR5lGKs7LIX<#>Zc5G5a%8qjhD79Rn~GsxxI~5+Ee_FG|WI__j1!T$ARrGpi>*M^IR zP7@U;-<6seVq%IXtD4~9?>h13vc+Znj(!g?-`G1H#0hVg>%j`fD6NXMaKd`_# zJ4GgQ;)h=EOD~T;Nb53`Y9;R*5Gvwxi}mH)aWR9WSE?JnkaooA>A;(|Vx%t_ka(J5AP69y@Li6b{y48WKlRg%02j@@O$xF zGIDdWj=XNq;b#{-h&~#ge->}lno$3c`J;HS>w5n{cnYU$5=HB;_?if?D0fmdC{rn? z0$u?B+4egp9+qQPNRcE^gs8O^MLeTrKfp;Z1nrY2|J<^ATsu&GJ+z6jSDsD9K`IOs zpepRRb_@pZk`R`DA0L?(da2knP({HtGYx~8K(H+V@(13N!)GB&O}d!LliuIepal>R z0ssU6Lqr2N08oEqu9VCGkgvb0J?ViYV6}hJ>y}BpO}DwVKzou5drufKB(;_#-B$Z| zp!@)U5X~9Q0DuA%gCr0wg9NP*0e&D@mkRBGo$vvu_;wHnA_AK5$Hw@Pz6Z<^3TfGW zlbN&oHg~r6n+`XujEO7`RcHoX@xfZ9fScVD%A+r4YMw6>D447f=%>q**J4$zjWBe$e! zk(=PBg-7^LN}{hMUF_6LbLahemJxS$r5lgTl}F~yDs+E7n?L8$`yWd`>7)Ph^slI1 zSTr$77~P2xlS*h{LOYRBl#uUy^UKeo;6 z?04Q*szoUr@nW;{u`>9v zf7zXz^~Jn6U+#-XeAhm>Pd``dKaM&!SReG00)FpY%GHm3QX;E9@PUImV@?#n)g*;I zNd+(RLC{b1psa;{T3)E%q;+jvm^(7v+2s>^x)xc69wp9-*3uu!ksFzd=Fz9~z<<$* zkQ}DqRwpvyUV=G>Rq#a*c?g%MT*`g^YXqPEy#h${p!%VjPE#*1$z-H6Nx($Rb(iBZ z|K-qcGJn5Zvu63fxKY2CM&D*sF7?nYmunuX6fQ~2%X3)%dBjj(w0O}0d+p=P`EuRA z6sXiH z61Y`U_EH*n;NLt;L!v$kC4v{RAAR!EKQMf3rjX!Hi4wY+LUDn*A= z1yqrwqE@B)PRe+RyI_U{=l`f)i7xbW-DN}|8|OOAkv7P6h!>T zS%C(hkLp}MRIg;(ZY;yGVeayqK)bneOW#yeW@2A-4(z2R6Cab~8~UG(_OtPP_vl+% z_*|-=O(xQ*hYz5@RJ+kN1#9$)wS?RX9`Ac=r~6JlMMp{z%>m(RBi2(?2w4^!Bd4!m z`!fn>i*?qNGGVFQe~KL$dDreIOdP9CYjHgYQSnw+T+&gTWP`y3*hZ#1JFKbxqsI!* zWg!sEqsbry4m*yW)Rij{QcqyvrXx0;eo|iUt%rKTRT$2Cbp>3TTJwMVlxzGe4%^dY zU4Ao(+1TScMsvD~E48oO6s65vV?5h&UrUm&UG7YdeDUI_UnQ9;Q?Ww-SuPZ9TW)M9 zfh{{vZhGr_=gv!z3mDLIrl^18xK0{b9`LE_NGCuy&SEzolrGNQ!9l78zUtJtWKkt* zR|hBS0I9K>J=-t4{-9*XDD&CVC%4*}m*dKtHSE|8xrcNkG0O6Fo<=a#169Dghi#i- zq;mt^|6SKmO7xU96JMsdZzcxo7~kiefLo>3>C7EfZ+$lS)os3??>U>gN*EExx3A%o zJuwZVkWZPeHUr+Je=vb(w<{vO-Gb2#b8UPlaYg5~lRjbg#RgA79v+f9>u# z`-lC%`dDYx#P$a3zG+}KfAj}`=gkNE13q5=r>JA`k?-1>^+#(iXDc(^9ke&lj%%Kc zy)jLd;QzYE6wnBXfEM)!K0HTu)ZMHGZ7jpO2G~GW2{VN*t&6iAI7{ zsuFZByRUL@yL@^&pUK<}LoG|l`R2`Q#*U19GgA4_aR$rcF zD)?rf^p~&ndPXu--H2X|Hpf?pX?Ost_4>-_QvES5px-A?dZp8I9~ya8S{>K*4t~~> z+PD*dGhLHuY|Xt&pP7f8ocd3%*rl;t^XOaoav;&s#mLvW;B^#5@&c=I{gy?Eo1HTp{rCp*TC zWU;&VnX+x|`_#9)^a))8UUX|o>Ar`ck9UFC%U~}_wyJ-|9z0ECz}l&*#3g zm4B$4?EXr&Fb`>23hKuH*`ggYR?M7BV6Inbqx(%jRuc3=8eLD@&DvN@Z z_naYuM|xM^Lp#~cv7ez=W7_tR*>!aMbf{zOfM5)<=ez z32a9<*;t>LBlyi5b~=al?EHLN#siM+4II@$=)r#>JQ>|KannCVG52TU zZK+J_WqO70qfK>X!$p+<72t`%g4LO~+~DQV#)SjsJ6YMe8$Ie2)#RC&+inU9;qF!(*`AsV`Dk@=o0 zv{|e0LQU#7+$n)Hc5dV_+-GiFEG#9p(lo-Os{OS7JBmO;+ln^Y!OYGabHSc5Hl7Apyfb~)f(^8Fq0_9Cy(7<_`2yD1l zge21AM3$S=5!5Yy8I3mVt4oJObZT$gY<|tn%#U2y=yRig#L(vbR-RKSU%ozfpmC8>=X zKk=XgTUVLO6xBlNrtBL{jF*wmX*IcjlKPaxGaxJ5>2fU3v z!KPJm)2c*^y6{hy+fVSlV4uCm7U7oF3=QQXQfcc0AsxO9ACI zbN@9VM(KsO`a&1nYW4aW^L@MPqGUOBzBT9T7)>+jEXL;8fr>jLsPJNce0Urv-3 zyVJ+-mr-=`5Bz)~*sdCbY4Ld4(^tFKGNxWrk@wZ~GH|0+KV^!lUWkpXwz$124f)RY z1l~21dELz;h&Hym1Q_D2+}5cS>Dp2oWe15;#z$jmHk{1To2AU_dyn1^dQ4~V{-S^S zdjzZKLus_8s^n7Mj@F*JsSfB;S8W{U~nu#ooV?a=FN#E8Bu|ZckLS=2d=*nI`3FW_}1F zxgMEKsKx)sMLA6PIO%9_%idBw({izQ&ER=Rj8E)fs<1E6sTpSi`M)1r#5)t=42M7i z>;{^52OLJ7@)dxG>P-2EQj@o_)6~P(y?#xwx;DU98Kf&)P`HcM@L_zRZn^-~?6={W zTQq~=@4N@WMw9A2=_i?}>FFM=5<}HASLuJN85WIt1aF!h{BbiSugtQ0!HG(e{_pm^ zg4xg1%QvtIKM0Be|Fd3`~%*(WokfpaNy*v zgTI!z>)p+L>ip>Zfmz7e-17Y9;P0=VGYE0U+Fz+pssIr3mGXCW zqsNlV?DoQL@pRnob7lQdu}1h*!vHLLHXuIl?Ef;0bANynQ-$A*+nF_ zzQ`s!m1l}ww({^6g)g4^Ncq;LuZyvK+wv86?>B(u4gWHUg(N9xJE)qDPHbT@0g5yj zmGQk-2RcigN9-w)awRl_GRju{6b?+R`uM%L+^3$Mo&904^LO@UwGR(zcRp$>7>y2^ zJp__zCMD#HD0O7%qk=rU{2VX-n=c&Du>0g{lIAAOEI#!>B~=ZSgHK#wc_z=qlwY4a zU$>bjEac$qi?yH?)nUVt!c2~doaRH$F`UHPt#Q|Eo%#PU*T!A>J3ld)38R2G6e_LNY$hxoo-(1NyFit|N*_ z?rB~##b|M`_EmrJivRsehy0tEoe2fZJjW1>jDoD_W9;bkO_dX)3BG~xO>`{$yWR>1 z?FmVPlaGd21iC(CgRiH<+PAZOx9mc6B~9vpml8w8AtogcK?55CU%j~>jHRp@g9k@s z&59i)0~L%xB6`GjTiUnt*Z=0*X4`31nQ5<_4DVL%$+$Q@Ye5b>*g~kq0#FFu>Ye;H zIqEI`OxcA*l#-QP;>n7zV&G{-@Ck)X{aZy>`}vHw3=_6y6(bKCorYB?ziq0hG`O=- z35y}SaD3`SoHLHns-2)&HI_QiC)^u66ld)I*`?Ex4=zwtLhUA#X~jcRL{9QFi?`hl zxReng97I!SKok-90F(mMwp`#T7;Cq!EoC4@)-!5)(_zqIw|bOLOq$|LqC09kY{vy~Ea?GX}p(J9uz2}jH>VNl^1il}Sl*AvE`}r1sKVMm>4|zHE z>|a_K_MqW^#PRLpu}$pw^I@$lq8CF@2-%zrq`FMUU_qE>v!GCyj3$5Q$`_IjER3T$ zRj6QXF@R3pHdx;(@c}WKbmZDOGWhbrq>3@8BTwY%B;_Mp8l)}bG`tR$Hg)}-!Vabe zbpi-M$cwn1L8y#!kc_|`I0S`xg;kZT?&sit*sjV!$TP8cJW!{dNNbgn>XJgexLDZ5 zlY9FRaCuxY)#E0Cs4;+U>BxzL7_ZwCK`8U!2irzVJ{-D(u_vDLa)2pDR9PgXxpNf` zErBE_WXBps-7k4U=}!i9>T!y*D7BVswByubiM6y`CmtC{Y&-u3yB2%soH8(*C8du+ zMR<^K&ny>H)LSW#PI#^{zlz`dt%=bFG>@hX+Fy5IIa!HZmU^`9#oTcXg$lT(?U1zRKtd(M{F!uq!yMJ2rh zDlTDZWbSS{db^X;ZMtx%REj-VaHi)xWY zsCXoZr`C;ik9PEJ@VLcNKncx2rD+FE$E1*BwxkaSjTv_v!<%ejSx8^}zY2)tb^DD2 zRX?eO(j;1nE@pR}stD8|$3ZX|ShqiRMkLVI%#^5_&Os9v)8Yt10v$+_OY95;+wiXu zz7M!~fB1g3Wd8|i_;$0&`*uCrtAyA`d9<^JkUbqrOLG+h3sXs ztaUa&vEJJ7+il2Sts&!as0FiFwYkhnB6d_xmR8Wk2i>AYKfK%~@Ugbe<2-rV6-%#@4ME^0Ont0uvp|!Q$!%d!96GjcrWJ^v0)=6tJG0a#z6x5kF zK3W{rzFfjA9BE7Ikx&ze;o8_ztz@QQpOX9ySAvg(Os#n)?l=x|F`X%nuqYmp3aUvJ zgv;>8Q=B<@F#VdHN>B*kY>l^2s-+imnhFV2^)t)!W#iA%G6I%RGKe%%Bvqy}ha``^ zQZvtV*gW|l(Z&G=$^aBfX;uiqn7Se5kxESm%zJo65J|ZfKBm$pYh1P}iWxRJftr#4 zN}vf}2aV@As?9k$Rax2`(^wP?lPh$f%~Qn$if`f!urPz?m(u5L`6WeI2h>;tb53MP zEq5g9DVhAO9OC(_FHF z;%cdb6RPCMG(BT5VW?%;Z^zF(#qlt+wWUm+C7msrYDKahxj+@kL50`IyBXk|7B-KA ztgYg2f4^iuX|vf`!vYIjr1Xa(M8Y`vOIEF^N19M|EtrE_P7Jx*e4IvK_>^E=oDmVC zx(7K?)}Y6zWQ;j>D*>Kj=h(*XbLAQT_A>DsR%O}tVy*aH;7MCz z7gZ6Ex8&l)$;5ib#+YO7=7W)04F0>x**h>84V8>IjwvEMs8609d$@lJ{?zSRxYU&X zx!p}#;zCkR!qx#`K$01zK~OG1Mz^EWo2e$AQELVvZ5^9{wZE8Qi_%k{k75SAW;-Wm zY04BZWmo*IPyKP23%;D)aC3w0@?3Jt5;`4JYSq55hU$@ub)FWSVM(XeK|Db3N-H!lsi3e5nbXTOb28`7 z=SiYL5(ivU5XDcu`t@TD&9_dEHTs@ax_JH#n{rH^PLh*Ip-!a=rN9ZxuDVm4c?P)B z9t1(OC(ILyo)h+_2(rZm@#^x>CHi?@WZX<0g@Z%#CnHHGGzy4V6pL(LT6(I{^UNT; zn#f>AQN3MrmMFxe_=DL9*t}WzvpPICFzy7lpy-gq$59cdng%kdfRc>EO&hKnI?wGz z3Mtx<64J^DAd~$xgebdUn0<1WTV!>%?m!0+nvx`@Bhe$Ez$KB)-nVVIbrp~WApxU1 zf$B0SU``CZ5z~N)^cxIOHOr2-#-|1<4AVj?y}&uKf~^1P}svebIUV(SxiDUqH6NZ`w$ zAZuijn3_Gb!+nQISth)#33aSLB^9P;4V~(NVp0H(2V*7;nFO|GQzz+QCmGCwxQBJe zu0?87luRNIc`M|c6Wa=^nOJBt43abkM;bLJlIZBxH3UlYP)`O|ffm-B)X0J7E&xhG zThRUD-`>zb)6XqUkp#g_hF}p2~LP@rv_AuorFw@U{GoxQWTUj zl5@F{cbp)$021I7hI)cVc+iHhN)b?7(24rJA7Qmd0I|eaii;&7E-KGjp%$jeB$Om( zZ{b@tKx}>h4U#=5iP0%N4}yUJbd;n*G4I2z(!D&xQL59A%Ea>K5Bt4^SlK4l$;$rY zTQEaBqwDRprrWpskS%dxD9kbh0}NoCfR{@-po6Z;wXFc%RajLw~q=#(F=gi=lU!(hKv(Sm}xUy1iuknS2(o7;1s&Rpg#Y z1g9ib<{WQ;bkTBCXH@0B44K3SHu5!{sVKvuE~Nwg%tvu#=~>JMzvU0=$K(^Y{*c#a zuxremyDi36exYVY|7V~|#>-*+*y%Fb^7eb^shQ5&;b#$YQZWJ^#D)V?E=s_vTtV34{C+y-(Cxy=7B1;L!kJK%c)OM~qI!yj-fb(NAV~8Z>X}2#;Gx z{9xp5aN|_9MtrPWD*mE*wjRXX(5_4`mph=M?HUUi=9*n$=DXh5ThhO7%5nKBAy;Ax z1)t1liYCN82}e!PTkf`g_PMDnO^u0K5ug>5v+xO_kWK=@N+!l1w*UVK>!SNd9HsQ+ zmnKF4R#x_T$Q|~xiWK%@;u-KR7A$SLtejb1Tr54~ytbi?Hr%}p^=M*o;clPUIg#^) zIZ*;C9bq(`1awuu5k=OqGv=~njhVM{vQQ0(P*EWWAkN5|9=oYw-FmX3deLY&G2pCd z2f?tN1|tSUt%*v#+{pgwf(=;cbcR$j5-)*z8ey0rr&6!>9^Lew9n`<}^tw)hbWcj8 zOA&_#l?a>=5H?|yEv=?7e-ID@00aOsLhj|5CSUbr43pWQBwc z!o=h8lJ9QoyJH1H0Ztje>*e17A~OR+L;z+`0B8-m3=jU=cdj33qPKHi5S1Uiroy^J4%8#77 zyPdgrNbU!EgFV{6PIOk?@8{mGJMI}2{yEe!x_#@8xc845I=^1~OS67Om`tTig1z)Z z$ZkQEs7ma_et+`@6!y#Y?3<(Y*WKUoCkg|$Uq}DZJ1zbHX8T7US-0k9=;~#(&x_?r zMfZABQ0g=uEIS6lbx{F{L>QFBn9FF@_*RnCn(3ThY_eXAMm(yj)mbHpT4J#&7y2~( zJhRF${mUwmCFjgJdY>7gT{rEmPxR~Edg{sjbVc9q{@w-NhhcAdOCB*#k2hZ#yWyTO z*7BY6vfBBM9)w==?iUL?jVahab6UYI<_@q#J(^+_M=iiXqss&gEIDRt3qp@GNn{SS z`I?zc$f9au39{dUOq;eUHy76>7n3qH3+NJ*Yyx#7HnWanwD(*)GnJE*JI3R4WCM*35DmS9~sn0#uS&nJlt-YzWG~d43QTAO$g1z#Uhs zi#|6lLVre*B8RD@UoGte%lNa&JBh81yz=e&Yt7E=v;Gg#0JqlSn`}0vHhOA>lop&K zCPT`R+qDm6OB+!e5*|xgnO?HlXgVg=m=msoe4xg|V*zM+QBw#SZf7M=-X58)pU|Zo zv7g0?^k#N%R-vVw%Ue?H6~%ooecyge#B8)Ejn$n8DcpjdSMV(`nkcQzM2UT+2_-da zo=K@PPfl~FfU_ZyY6UtYt4FQ5Vx(!z(_4r;e|ABI9GnqdbB<7uwn-T=ZgiD-o=TuA z@C&;wvF^L;X)4eH9&Wu=Tsxs{X3Xj4i79AAkxj{1BtUpc92&FA^i4x+Sh&X`=P6h7 zOlTSnZ@_rp^%aY;+@k%rg`;iL7N#XnmDw`YG}q#9jiZS+Y-5okU&M;8pa#^sN<3F3 z$|-uC6^b^yiX6u51H!ks^Awm`retXp^KNEBWMR=AKccmb&sHSR*OBNfkfp25vqfIc zcY2v7_SCj-(P(;J(U6n*T7_ybUzTT0Do}9oib1AEG`R~-)S<$$w9_!erYngnw;G+H z;5`XX?wF1g4fm0Yjs4Khxfu7rYuOufdXSHcz(p_Ub)sD*Y5oA!N# zsiv!;;Nlf*_;g=Nomg;Ev%3ZNF{HXeHS6ZNa_-R)3L4$*0n$#f95y;{uK_$Gg;#L+ z+IGh*wgvY>2m^4;HPrM5;C4w`&0d*;Hw#)+4a&_&=P0-ULugrxg2YlPu2Q;bpA|6R z=EtE|)f@i#$G9m1A(>_^O~=0HYVBQQNx@og=_J}SC6EcRTyRnOL356j?su+fkI;gV zMDPkZS=`Xm3%hQ?Re=YrS1*KIJhK9J5hm4}sRC)u_pMTr_@eQH;CQHF-Qm-9tn}sb z1+gA@QN|#(-KqsNUJzWTan(ft|4K!2=J>meCbaPiNJ#TCcF|Qqa74SZ)(~lea1Wi^ zmD|ATYU`x2*~)#s!A?$3hA%s1>Xt|Z8q99#bCaFc9klydIC*yVPlh~-;b<7#iHNQ; z^*S_}7@?2p)EEXv-mx8(OUjp>&dZ_r#Jrr&?BYz}7qK(Hc#gkVnS3&DMmJctxSiIE zuHuP@FYbMP0@hZ|3&UlDvQH!8P=o|D&G$;W&87tCbys(fZ0%JSeu<2cL8|8=2nrF@ z`L0dbgxS999MRuVLm~=0ZYWDfObxDHirYeTWBJSJr#wCMQ z&yBY5jQV0z)r!%c2sYz77|Tyhy0zTNWX0-xAM{zT_9A3ag+_=RFMaCuQTUZOZ>0@Q z2CANy^>JPd3_it^S`$d`Ov44QRLu{$RVAsh?c^oaCi15e5a=8m(wPv^V!X*vA~iM^ zY1ZQTB;z6xT8~GQJGjGpCw+Sfe{8|^c8e@)aZ(btpw~4RqYa*guV9mLT9dr?kX?6T zx>*jmGK#g9H&=vi5$!X)jqKnD*WFd|m_ZVDHJbBK(s5-HYlUd9NdYq(A<44C!v(d@ zRKt(BxWHTnr50CBv4bGw)k6lXF%nT))0s|k6`>a2CS}EIaR(NQ^2k>ctKDdAhJawT zxVYpO86%B0*!qdpM>Kd~ZdcIj*TX zOKG=wsQRQ@@LpF6&I@kqZV{k7FInxe%&Ki|pk1+IwS+RlrKOOQ_H7UR>qlr-PKhX|s-)yi>hIhk4N zok~jY%AF#%Ot>odyLU0Iop{_DQQN-#1Vht$mOjO|msbZbBO^Pcoh|Jp`+hbv|D7jH zwe+2`va`9>wW-eNnFLYd>+TJW^UQUA5!#jA`;kkuQ9h9E*(lxUFqc4bza# zguHsbjb}LjYlHU-qXfC|q1*EVXuNQ9-y5C7z7q(so$P$JYgbV!QR@XK5bd5#p1s^pO`(s@eF4 z?FR{+Ytw9-ni<8w18n+lP-9km5}L)Z;dIGcc({{-%q#FLX7cb`=kZUV`f+XJI`xG6 zPA<&(P)__qsfI(VsiNycNQ7p+P|u>X^J6)_Qu=w@a4n+nD*-04QT(%==SN*&%5N; zNgnL@6Z7)JfB)mqcl|xR|C|4Mel0Vh3U7&RW1=K2Oc72n2!(DF{IkJIp$f2qzCsJC zEzAtDC`C!n+k;1y;UAXm@YDWem;<*J1;FlEGU+j{>-8?J$mDIjG%?d1qnOVCDOS)_+Q$oADUyPY3u&5yGpl zRfl1FyMCpR=l{xsF&Cje0B9GyUS9>>g0$G&`sTN(0QBz5xOuBF-T_+BS8QYr@wOG$ z)JN@2*;c@$w(!tXkwq{|-9tY4SN)8R2u+-AgTP1^ownOGrXy8o-EV!3Sq}ZMYQ73v zgDgT?amKz&Fd^62ix27pqQ*O2r9x~Sj`|5-fV)A&vvf82VL-yt%OACAjVsx>LcR?_ zZ95yT2Fi48QyQ*((Bj>iSls0h94Gm&z;3ga@g)qje`n}T@T1>*^-q3FU(TuZ>#4i% z>HFC}){KRx|0g@4pU$1t=h)jDB+d7=IzPVmvc;=7KOK{)P|>tLjzR;LD%p(w@Nm)h zmfZUZ(hn|ygSbhijvndvNW+C}%m)mX+4`*9;?vDG5=m&x=e9SGHm6_7k#LXap;55- zllgg^y!@}+E6yRoW-!u`m ztrOJ-am&jG(s<$P%D{XQf0ciepUTXvpj2mmOy9^wDdj;m;!@>oD!~u!v0GCE_f?fI zOT^^Q1-4!tJmTvb3><3g9f-Aoy#XHKho9y$Ud9PjR^=j{El|qxnn=8sICQk(Ek=}=uz=C5c}iO#0iY| z890bMme&Uv!DZqaTt~7$r+YpXAt8BSwP@|-nH|9CsHphGgM}bAuoc{=)}NI6 zL>^9r0UtN*M^ z8+}>6`bJrkTtM`6pIWa3p^uqJYNC=dF=!4dAGoU@ zvIHwKhUCcH10|-ojmPZm^?S)bX$d`$GBFOQnkX$?Y8|v9Zjurn2p zx1~MC5l0$U0Tp$6sNGuozSJa=dLUJa#nYZlguQlO$`56M5VV#@1j>E>nHx{jPMkue zhw(zeDiJIQYaorX_2}Kem3-F z)7*h?A<^+$wccb*bej{5yGCfw2E4%UFzw$2=thut?oK_F*g@YeNHEDkJg8jYj6n~e% zO++IHSl)W7qB<~dKAD?}5s$?08=iOc_Ib^cnX}7Rps7W?27>44gz9O;Tw@$ z`)+$qUMgo@UCymIAS>^6kX^J^L+wQ(^ZU?7w| z$QoUFQN~$YCh={*OIB=*O0SHoW6{*G_A@ax%x%I_;2V18Y@ThmRnj*6cYh5-oJ|zx zWZ3_Fp}Urn7YjZQwY}xihJ&k8(CQJ)TAZX}wZJLJegUFZzLNyJa->q&yU}MYfFKY} z#Y}~5@en0ggfiY`gWo2pcv?_O#0tYcU{)m5Q_bMgY*0|pElR#7mEzxW4hmj<)`js* z8YRdo2KZEk7>!YT5&X2hb1XX*x13Qd?-UX})D@%ay|-RcZ^99US+_|#{!7|w!P0|f z5DK86U{ou`v_$~)sp9?o>4lqS*D}M1;0~4ELX<*7hw~l;M0&Afh&Z_?NjK=ppT(Y$ zu~l3%P0$c&TSZ#rA=XdJDBZF7m-cq0MyRubrdM&sgLGM%2MkgoR@I5OIYBBcMH$q@D!Ta!MkIzgnTy*ti)>*4pNgQ~{w- zh$XekTBw#;j2!-urK$PiK^Q34`>w&o?^K|Pd#n%++_l9*(( zvxq0Kz+QsvQL;xMS8|P5+=!^drdQ5MNpTV17}}0f&RQF(s8L8-1Ef?9;#Ab(DIo|> z=6mj1w?E(80Vlsm!vXx1+7BAlJBUtOjA;sl!B|^x#5R>*vY#LFe-0Xu({hJOU!|2r zf@ZB-+mJ;Vii2f>*0qR>Ne77qmR=$SLh{U@ zjB%c=yZgr*^3;|JC5|z^!UUKZGy?#xo{*6$fpBG-l2o$UJWULveso%e!H!Z_4?e>@Xo!rQsBcqc2)%CKy^FhfdHdWA=QwU+6hwnU#dFdHIshqY$`=s{hkIP%CeTgDxT}0M z6M3(Z0f9Pt@q`Y`txSUNQ=Jw^XtVdA{@P|CE6k0u1QrnmmeFE$Q$-*u1S%k`GQVf2 zl_&Hko}zih^kjv{Qb?(x)(8fmgYlGYmi&wRG!^}aWA@7OFJH_2LL;{e+tPaSYW=#H zKi82|@bZi9+`}k3_0h5W{2x$PbUnYU-FtLu+5T@z;yJuh+#bfQkI~ouk3+=kXYN)T zZdQU7LDENB|Bjd5(jhR|R%%6Rf5(li1Y_}6n8$$6cv*Y0AfUZUf7Cjselx&8;gqdj zL^M%@3@k1*Al4|cgLDeTU|-TMA;GMw9IdO*&_4FLf1gW5#5hOFG*U^D_k)pz@T$ZX za7!4!%}nL}+uSa!3Cpv#gRjej@%*pL zaak;_^@2fBDi@z&m|PUaBa^2`D`Q4}YXw1L&I5^nq=|*ESu&x1wDN4+C$c{s-t;2NInc3>>=~zLrvx|tLV(l5?c`1a5Efg-_!z&^# zmYXFcV`HRdQphm4AYAX_5a+}kDdF)C*>OEy9hSazMr|ik{9O&r>*`-a|ah29!k=p|a2DRQ1xt=GysqN6RH<-kSV(p~NDWwkT(3N0ODl1e3JHLG zpCXf4gMBV`oB*zhrg{{jb0R80j7WkQgLS;6Nq487XE#~(foiUW%u0+wz?9aFA=pbm zcWQY4>Ux+zn(S{n{z}lm;7Jj$>5K;89$t*BbiTlc8Y|CPyspgvw+fgfaIFENA|-OB z4$6vEXni{O{(2S)Hn8Y&%@a$FzP-YjZat(oi^|Ba*q&{YjT8`+l#M~$f|8da5#pE; zJ(xkBi%(ePB8`_}k9XDv{_fOAPvWh%){Ycqe-IDUIx7lzl*>gBgQk@Sqfa3H8>ZmU zwY|4&y%NDnVRW95BBg+f)MfUKIn@T+@zHZtU!Gd^# z7C@P{XMzOI1=FX-4g59r?!UxEmh5)VczC`3uoOsh*K6Y=7B@P>vRw%S1=oxS9V%$G zB9NKhf$`D{)UBMw>-|l!DQ%LBAO}~Bl%N%d7%7u_LD(Ug zk_vzsA}0ZEAxLc9I;IyKvZdHR*I3(Q-JV>9S$+6S_v0vkoe@JbXJ^! zW+39UwaCJLYrCooQI$LK7&+9p)XTAw&}y(1o$IAEHDiw~N;>%kz8yt0Es3t-;hYx3Ph z(B-muVL7FRLpz;r*!&Q^rwVg( zQ*HjecN408WBv>d$|?!e*fB9bg9x){;Lrj*YWB;7UV|)GL6C?v$?})`cePVxt6w}BNri?j1O|%Ks^=1MFnbv6lxpT~x#Mgpo4xMd9|HAF;|!Y;=9f`lrbH=mxjfakza zY^_rjHHtMLj0VuoML)uGI|HuXhWyMuq``haUxU;9X8n&K%zKnlCSX>9f_Q>x#S$d4 zR3IiL7V#|-T;65*I)=N`%%}xmu<%3@i6Nyytd*MHzd_wE#@RI`>zJ@Ji(v{NSSOH> zh9yUR+j20qL16j?{lnj62VWNurd3eE^aknaw={&h7xHx4Tg3r@?dlX9K{Y}#Ev?sS z-wwmcGNyyVtt8Fv7dKNbp>yN`T1>fu;u^QZio-?gk|4j30DfZ!kXS+1Wb+cjU?jGJ zSY(PN#gY|UCl8>^it*D-loATJ$;~OqM*?{ev_*%C<>D$u1EflvPiK;@l10KmJJK*H zsDDq?2W60zhC@T09tQboI8;=97y1fqUV~c9uoxsqjc}b_BPyeZm>C%I4V=BLnMM9M ze-ID@00jU-Lj*PeU|v+_szia+`SVnB{}MB#x+kH3!Gu#uh1&ul=$Lz)SSTRXLT|qM z_duk?0ElJ)j|u?45e9r9_F^VGGJubGdY(?N6YGRd01&7M*dG~|0Sie3d=Vc=mi8CN z#((?o_R4Q!n&SmSV5&`JylGNE)^+?eqmk_FIO(cJ`*s{KRjA#TVS@uZA}Qhk02u(9 znE)`qD_h!PWVV$;qdEau;E7|l2(zoZ`(L}a{o8H}Wln9yTD=B$rOQ-HJ8K6pk^p2v ze)kUphQ%Ns=VOou5O`#6oc=5(Pmg!z&SvJ-y&n!OL%g|ezCT~Q^xj-oX8HaROMu=4 zgF-sWJd7&5G$N?e2OR_xUp)14E*JB_%<0SYza;)*{!jVn#TawX{DFxtWWv2jw@ub9I*S#eVZYFHM(G^ZL$v`|`!E5AYOm@IN`+ zYpR~^b#>;Idl$3kG%AtBzGQYFc^3-=i){}6qsf?a&9Hgh96D_ z7v?WX(rlGNt6PWI8z~Od5{wn4lT0$`R?h59e#l>-GiV@rpm{aU7F))_v`9GAlU1!n zym(n$_^j+L+>{f?%1nONUrGZdl{6y|JtGiW6Xe^&^crL&>NLXP>#)@yk8CDvD{DHZ zaS5SJNx-4EwahKKsT2dBN5_l$#OMn{4gQnxMA>E9qo!8n%Ca^^{{`73?tatUvH_fWxt+V60amHgB4Uz zYrrT((6D)@{$k83y-*t^Ls}%Xg4NpYTos$9P|2>?j=$;h?-pYPCn!C<2b1r~BrAl| zUD602bv;C(Fl-*BbwIqB7%WScii^_;OExq`m{xQ+h?hh!HMsVcoxSg6bBm_r4u5> z*xr$1we+l|RlUeCunloChNwcqdlF37IvIhFV>oK1<(FfzskJ)k9ENm2Nz7dhGn-uKA*5-TGj|8JuUn^e7@eb**n<* zvF%UpGhS!TatD5_3tHay`LCFc9UJ2%PR7UN$7A7G;pw#T^nFu* zEaln=x@FgQ#OAbB2`VUS1j5p=nB{q+CDjzAX&LECq`n+R)#5Z_?;p zN4QwC*jl1=(TNe5*0T060_qUQJ22CF#%kFOjog@cjHZ^Fsr;@gfg`Q|w0Wdur(vS9 z)vY3Wl%}{ot^*yi1ygD*NwjFTOl-$;k4{9Z#U@Lu6%yS2b!p`jaMvH?(QKco8YFp|mkLZNp+M%CYtG#;ArO}qqFyRFQ?<(DC_z}d2+3V3xW|&yD1shu=+NUHZ}NsN#sk9QipM>f?1|iE zin;>;wP1)1u8THU-lP#+d~V5e$fsO7W)|}T+ozcKh2K$UbrznDH0UvpU)77=I+-XB zmBK`1pSN;d-C){*UWsXL2H*`+ zosC>N=(zvGjDw*=qfP4DsBjLhWtBlk%3>G8#}WAgW}2le;}+`eNR)0{Ktj7T+Jqq; zt$1)@EaQWx@Wo@4m@nJXlNf1%LbSv6C)=($3$(&M$(on`1-MvdaaI=ES65xje6x|7 zz}!#JdUZ`2@^@m5ZNEDXx#%o_-ZN)47rlJD3D~C*<~qC8iZTw9l z`DKy!naX=v3O=`)nlHEQ+O(*vW1s4a$o5ak+DTH87>DMDVzdJ!KXew0BN-tw~cPBr#+U#e9a0cp&8bP`Puq7-|)|fP#=o%ZsbxesY9D<6; zDNAGRR}|l*TG>oWMp(}BY#m%~!ephO(cRa3OG<`vk)7RR^l!!!Hn1;?rmZ8DHB3A7 zwTDU+ZsLqL+ZTu7u^7cV9cfOpXPF4?w5L!essqV!-`j*%H~|f~i*jS5H7>sT;8EY* zqYA*U?W2Uc@#-s4fAt!_sTh$u?!E46+tCiw&~GfNQ&rKkMA|9BJSxSUUUN}}J1h1+ zzXAD(!dB^-bFI}17K1yRS}|FpMY7ks>E!0s(t4hBB(Fy%bG1ipaIxv#{yDp&7*-3G zUcQco1AtPJ)=6=$dd;UAF`2ohxBk^QOuP8o5k6nO9?>NPA$Fa;(gpL-RTXd$F>a2b z=UzDm!Bt#Owr1tM3>O65$}A=2ShsFJm@F*VN&YyA;pTe!Jw2DEbGFs0){`&(RUO~C zN1I|QFwuO)Azz?Rw3y~1slJ4z| z(-&+`t7)sVF2J*Y2Sv8(oXjzD*xhwM^=iaBVOkeT3xyy>(E+8(Hc|&!O`YZ`h(wlw z^+J1!+SY8&evQv7U>s#TPAV#6FBUCj%Vui=(|6WNNP4j({+sNl5YVnBc|^N6`kvpC z-o$$>X==Vu1Hk%5S&E9*F2j0v2NwB9XQ)l>%s#VBQ*66V-e7Bbtvbihcc-$)jl#!v z*u>a0>!y=_(vx7M^Ix}CPs1(OYO!v_3ysq82W023NwJjsaL0cKCoU#^@VT7lO7NkS zgAP;1ltQ%ehTzS(piU(5FOQRXCb1Rd&&N)V+PL=DUEddz;r=fd`L$%n9TFFid`>hv z*E=@tTrwf=v7el3MVZ|b`E-51Z6`LH+lVhWT8akAOMk&=zy#X7J&U&0bIT+7+tgr$>JjE}Z<&e!Jc~MS)eP_JWxK64x?+O(6Auqw%yt zT}Lx7T;B@IMUCe5zsZb)qu#F^HqKlE1Zpm_u^4V+vO2p~^G{0&Cg8u9!pAeu5Qiqu z8S*w%n397vgrqxcy+EYSyJbRI&=%c`DfgL}YHyrL-d&LPug1#EekYvR$(uPZTpNdr zb;pA1f!6y;p+NR77Cf2`D}3KB;N%2*@0D9Gz79P360r2n^N6K-@t}<`z554#VIHic zPm{0thJE=Z?|v5dn!>B2GXBI36B4!|RYi9;d1+=PvKlNml6Yp;ttPIB&=;eh5npT2 z+{4h}{3Wfl$X$;OtB-SNy5imbNo_Ib#kKSIxCw#8?44T&G2RXfnJ6H~?)aO%%gY9Q zf}SEj>b&kQU~${yuM41q1{x#xruWdN&y>g1cUK&XAYmi%!9$ zFpu=v4%2l^0Xn!ce!lO>545KN$-LKHvu@>tY1TB@*K+iv#(3%623sQCjLFY>inD#{ z*1Os~gXxQPp7kISRNM5mUE3f+81*sd%{xUpA&yl4%iBo1;XHNO%uI~$m-v9aWCNYv zqrBSM{7AP~id#*LUhVFXcU!HlVbeaA*7N(TIjPItPBM3AmJ?p#t$<&eMek%NQDaeJc}Kcuo{Mj1 zhOKU)gw&;5m6by$3qaGg)y`fW?j@}-JndK#^(OVsws zYN^aexqY9)UkOjPtJ3{-kM56Y&YF?lZ+y3>`^YcEzg(}+W7f5A2kK+3*}iLjQHuCB z+g}}8g{MP8z{Z9vJ;2Y_I=D2qJ5_%z?TpgkdL$9OHs1(FmSA?){B4O%YojyCK$KU=?wL13YHMC9jOm+MB2+_reyxMYmG|NAte%kK2wiOsT`i>)Uej(;ffnx^L#BLmRs2^IS&5@f&7)Y_Bvmqrk84MnTkWHW|HR-+Lz} zJR2g4To>J&JjEgQ@9X})!nAF&Y901r8j|`_Wk0+aYn3!9H{5eT7V2aa=z%@Jzt!MtnbKG7}YbC+la-I38| zZWgA={F!diE(GQDYgImTJxlJ3ZVJ*-*-?LRzmud@J0Ee$YJOkxKlFd)P3$9*`>0#M zvFff|otqZ-r;EWg@Zy+vQy!C+L$RoVs~0Rt2e$**ry~MBSZwBfn+l^9sRh%oY0OgY zvu;VAi@uwnMV*a9<$z`Hk@H~fw{h4AU9AXnC< zBxOPbr9bo~y~N2mJ*1H646`?4A*Bu+jAH^;+dR~y1Y|5&_K0s~hsqN;N~sK>D+y(I z3I~YRaX5GscmBQUU5aY-A?F%Hkjy}d;ew|)l>H1iK?bVwGEcJJ^+zny zBMrz=LQVmoKpfNxzPSKep_B9wW$g4`V}W8KN@%_Z|U zTE{}Vsv}g-N3dT=C&)nzIf?O0qL#|4LBM)pA0JcPxudWSG3-DPdl97|4dmftOb1II zG!0eIrtDWDOAs*#`9^9%2eS-2FwHKxfo#dbs^|Wu(ufhIdIXsUSs)@n!;+NRf_b*!2=`)3X_+4|EJK92kt5;< z)M-K$%pNNp5NcEdxiw>Yx{6$M5C(vi^${jBp2Vmh92p2Khbj(_X?GvxwP^04kcE-T zK^ZggU?VY*YNcb>S$dBD5>!~=kH=4J{TC1K;GCVAH}g*FnO>f)Y*J9z|Dt!p&l&Y` zR~ZR&Fl5GX=x4a7=C4&hJ7aIsw>nYn_GEQYgi~(^p``z z%I3=Cw{zqfdVP%&cc0TJ{cwaO5fD^K1HPWgiZudPo)GWR#n?w#*oKccm|?GI)S`!u zVx%HE#8;Sru{iTOzdZFvss{nk6+lH%H&@Omc4&tebX(B}mjey}c~Q%dsfZ3SnpIGr zkQS+=xks<7D^uU@&IJPI_ZvVqD2&CCL(S4JKv z12EoD@bA9%+kbnIm&hG9`aM~g6Dn!+MCB2Id27bC(qgra6L(ktX^brRrT))(e<~k* zLCjoV?ic^e_DIwsaUli*+K~6E@r^o>0rY^CmDdLTSMa8fdvvC;=Xq#|3N#rnZ$nK` zYZRwj#Bq)pZfG3;WB&KcLb%UGu*X6z=++NiYbC^le(yqZFV=fKVL@#A<|R#!cS->q3=a@gbqVqy!&wm^%$m>$C7T+K z%JV-_obbhcbTj&%mYKvv%;O$jAzDyp4y)~-g&c*ZTyO`(#IU@~AOvVn1>I|`RV(Qj z>=tvz`Hi7tPIXq5mQqEKz{GMnq-srS6ymN=n=a%Ydy{?*o(G~rybdrE1`p|x0$oV; zMt?mkWG;>*hUGLETsTDX42Bs*BGTf{ROt0<88AZ7@a(n<}Ry3>R$5sRI=&0f1U z#Az@A3?tLUnAAa2)3J!4z#t%Bl}1K?mMq~LMo~`U2;56_Ul_$GPqW?*u^}A^H)0`Y zTjOL+?B-;Oos!p%ef993Jr#uUgoR5ANr}AYvb-1aI zOV|?6EQsvdiK%$X^ z#=ECGcVUznnLu+kj1L{bN-<`_Uhgz&f@Gl378~54mq1#h{JWL?RLh{C%CJp@IhgT- zP2~m#DQ#!4yD&wkEchB-J^G978DLEsNuiP@0C1>`5u}=P z_hGqU(dg=*@u+#=j=HPKBB2Fije!aPA_fKxww6$8n!u4vNq(aW&KI2Z#7ewdQE3D7 zE~_1cDyv5*OF|R^4$&wda>3!j*}!d_rCc0+82UNEm4mOtPsZ*2*pFzwSR3rR*6KsI z_N2HM`p_r*>o1{Y8*P12kM#cj+X50tJe7GmGJ4EC^D@A~Kg2)v7{x7KU*<>RMps|d zW8-(R4{x~0)EV{6!v1<4POT%jlvCZ*>v|;r+y#KjM+blQ$2t!Vj@Qq^zH|Ps8F$Nl z|5)hv!2i5?fo&r0cZvMD*!DlCiiIaTkK+f~ZG8u{J5t}q^}812fM7ZT^0fvOXOA2z zoh1@*pM-X0SBD1L5@`^IlcKDe=}t_c^-Ko=Yo1z~Gu zhMpEXr6s7zop>q-4p#&ZRkYk>45U1iYU%SKYz!%t1f;DD8v^e8BGnb%LKZhnftG

m?OJq#$5z0Z8QFB6v4v3YYGP(2WT}=}I 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 Ct9H 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

LVi5k|m(=r5OO8W+EbANoEBW?!+cF~eU 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 J^z)@31sdF_ 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 z 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≱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�Q2W-1J%M)u0_Y;_U;hudjy}2iI z_Y|8%vy;W%p{dey%Y@`XDl35k>04;)aO6d3PIa() zW>4o?DBg0aP73;N^xciev?EOU3CK!`JNK7Erzaw&qFXgXaw0{lFouPIUo-C$f>|*v#t1A4F3-PVb~=;Q4&Uc5aS<^Q()L= zasBJha^~i@-<(`!@#bDyHK<<_)Vy6Ml$Wvx;Uq#wMy|gQ zWul!o%g_Dkd{|otMtG5_ZeE8+Z?nTd1&Urv+f$;+!i|`o`8^TSFs4|rF-P{sVSFXm z+E^d!^scI%S&2C^MqtLlU0pjBsmD$uwLT^>2%*#RgZLvd*CylRz)hs1)dstlmUnagNcR#6wz^MdurHg_*eI>qZgl!@(;Yh_NcTtZ#m$o!q}*Kib|dunnF|(ied8Pr~Euh&(|H@Ct4!aDV3g z4?1({1l6;6~ z76q>aUr*An6mYT%{KqXK!kVaW_MyJ9-$9^GzkWmZY!^N-TO}{=Pal3%s7iuyVoYsG zdz!d^f(7D%1|ARNBT@ApXCh3q+@6%@-}dvr*;f|DvvIq*+L1JF=|8tUR{*_&PY8>{ z!Zm`LqYJB$<o3o;m9A6t zh^miJ9VK6eF!4=-nV`siMNbIpUAX7eUrTy3k(1z+fN81IaP4e?3Sc5Ik5>t3%chy+m}7Twd$I6SU&aV!PMBC7kuJ-YCpCR=T%vE| z907yD8#O-Nmx)_;dnPfg-x3Y(qRJb5uddNWc#faY`m1{<2$``pTJD{x{rbWufkVrL z#k)3kRD}<5iYwvhq!H1O`pDzucs|9Ys`u6wjuet+DiAb!*2JB`%ML3%(OJ1l(@dM8 z++s#K!OYCE^-m-IP+KP;Uh>1<*d-(yE;k_@C+x}$hQ|ZlCx2XrFYjm8kHAdjziuye zIXOafovRZ}yS(A=P#gt=CN_=6z%rh|4L@^4CaYU-jumeN9uu&Og)tpH{~oe;pMX*I zJd*}Imbft$gJEJ)N5nH3m`0LuqKhFnqkN*0{zXE|`_YPcNS1mtxO9g!5XtZ4@ZKn# zG{;?bM#ct3N1;V+p2jXmBDApW8IAiSUtb#*f>X;8{%t&`XJbl`;z?I7BpFa3n7XZj zFLdUzGX}f!@=PgE2zb#SFg(2i15NnAi2Bx3N=TOo#%hI%A)Z`QAMn%HF(@OMbOj^5 zdz|=q=(YFtT0@Sqs_%TC;vRk-1w*6CycD#aWY2TS|A!GnEZV5;Mff36koZZR*uVn^T9 zx@K8MZjjZU4NhTG;*Y$K(;+Mjn&>ztIrC8MK>p@ia^)gGhs)98^-fk*C26SMggUIg z*!~cG_!eV00+Wf_G@i@=J@SGFPsEu&$?pj>Yxl28bw#Cjmb=S^?`K$q&?V(A71JmL zoNyEr2sA|2Ag(gOfhw)bPu{dd)c(oJoh?n04>GbuQaTW=0$oTnCblV*5$%UXYxnfb z=Un4=IymIg|3lO}MhCWZU8AvW+qP}nwr$(CosMnWww-jGj?LTsobQhJf9>U}F?Q8j zb5b?RIOlF8Lsw`43{-TXtVh;wWNu)7d%h4GURA+-A)j(HRhKW?qe@b+z=+Ky%guB` z%o)<_MrUK~Zb*Kd`*)b2UHnA~MDR1QHtA{CGiy547WPk*UKI z)3aU!)J0)bpxuLz8n(jJ2v)3wo=GLS7v56OeNeqkTrj;!VFFdD#z=s}gHUk-c?YI{ z;a3&{>dNj;7t$F)jiw9f__Wij$=#%~P!zzyNvJxb3s}ZBl9;|Q3ntqxT}Q#Kk1Yo^ zWxeQ#1EElW?tP|cvPA|~3RYg$^w#SxNieLt7o5Y-DAl1FK;~&!gZXmm!wa3?m}VIV zQonN*3dlmHcLfOL{lsnApNHZ+w^Ks-$do7h4 z;)4x6z~I3=wZ169E7wdHO}AW?7&(l4?h(Jp5x_4z3V__&OIcyEGtp#~5H99!3{|5g zPTuP0Vl-}1t&e4d=(!{p*Yy64 zBT+`I+~y`^XD#kdo9m_bPf1#8bq&#@(O4W9_~vh{O?LriRw3zPhu}jQE&!#XWlh{p zv}xKH6|~cn!cHk^F785o>}j#EX$D>-A0~t6vonm7AWXc2MG2nT;ruYMqIv!3+SnLw z;!9%{5#ce9qKg78XaDva1Wjomi1aiz&AC#UCPfP2E3y)5Ui)Y#Scp@L&d_v3w<7Jo z{m>Cow+QwB^7BA#@`v2gBCGJ6kqV|?Y$X|)S>2p7F*|zr6dJx15w%?>71JG0veI$gA+z=s!n=?=)n>6ey8g}50sP6{O|+B^@WrTz;3XL4iipG)!Rg}v`3Y-lZ}6+fq_#g0mqDGU-LmPT_x>dH@xV46DGGlJu3OW4x?a zD7|mquZ9IRQVxoP=^#%tU~}*!gk?|j%oPu!h1e1m!{TQ_(PrgvNJcP;xFnJoHqKKE zl_KA>+!ckG&y_ASlu}d?e&4SZ(V=CWv4xme>5`J-X3Tq^!u?7PR-j6m5y9sXP?riu zc*fy{nnV*Do^S)vAb~ONl*pw839`A>2#^e(o0m!VA_6y7e(-*LyUisI0jER~W7K7{ z0aH$y2^0@q5P_8~EePa3)qmt2_x`oUjQF(;CSPAXfxuzva7G~7>nF4K);FKI8aJs3 z>J!;j3iE4m3!OA-Ha%H}#re_g=(rcab3R+t%ykj$$wIJP>hK9GpWrbsK0~byA++@K zfw#CdQj6B742laeNI@KpsPEX1ZCGAOp|qkPU;^AzHX*Pmh1IyHdQDJEd}crQ#-yGD zl|m_jOBsoBaDfL41mO_Wca?rI)g!2ukT^A$J$uw2`*gk#yae_yqV}+WZ~cSBgFpls zc_5`h*o~u9rGdwR&xr5c@lJl?YlXgb6d)N3PAGRP83_|q6Ciw=(=dCtX<*WX zp5GyR#~@_VqFIW9R>Fp-ah%*_`=7FhW~rU26Vo;-4%ky0r?ML4>}fVO`^$$BtbcSf zn08r2sc~zl+QhxHT`{tE35?M@w z4uCZkS4l;9obD?Rpbp3Y`ufoN20#!2RucgL0|3DuS7_Pb-|DwLY<1{yz_Xyw39W+( z>hFkXCpA4Ts?hQA{(x06-LF#+l9Hi?e}H7AU`$}GhshDNO|6NSjMe&OYN@RY>jUXS zNgxXVKnxG~s=c?NF8-Wfb+yv@1czJU{yvfW)>g}}uC>K$JcsA2lpa^1KDws=ZZ$6VWgLIL zn*WVfr5>wXwSIO9oy;z~-8hECiePa6F}(x-{Oqr9uhcE7Ub`c_=3MN0w)6f(m+}+t zH_z_##W%a)PX9H_?L4Oc<}}3H@i{VU?suhidSBi`*FnL^wPnIcg<9CvfeO==5x8+_ z>EoqtSKCc5o*mn#*I}-SII<|P#Q81|ZjG&JAMsZ^&ZKjgOHI++y$6?k*f z!qnklhLQqkjm6mc6t}BYF9(6Sq$0kOa>-M3d~Wm4oX4To*Nr-Ta9~iFxtQXun)djO zuUZ7Vu^MmKH6_T*^vTTQ$u37-7&LdeXsT;>)i?8eSn!5@Ot~}QbKV^5MGNTq?cB%)VFq> zL)KqS8Kb<@b8db60hXgq!*kV@hMTsg-~nR9vpLN6faU<1v1AR7t|jK%s7ixIY@$KC zXhH2ziekY;Y>l~=rw)1V@nzE{CcmG2!~h**OB=jlAZk|l1`6WaAdLo6qgBizme8`T zn;!X`{_}fhk+O6(N$YTFn{?m;44~koMw4){Ml9|jhNok;o8KPTU0}MH&_>7D^7%|? zrnXJ6Si0p@+tb>ia;R&^%dF`0Ehjbv?7s*FeNp_%p8r^}z0*jo5+LpXY;&4sR`fez z9(&CG8)q9a=JodbJ0A4@-BXg))Qt&m&zoyOYX|%qFV6XwcYOk;A$=nz-a$&R2+s_8~6slmgZj6`C+E1(L+k zLN=e|XS$VJ1l_AwH7Py#1a+*qKweHWS-}RBCe`NjT&jgxJddt5^Qh39M0z1D#~Jq| zDEwm|W9pY|zV+H$2G8sqzLZb3OJuuHg^BS%=JKHGL>DyoA2+du_@mr{ZTMes-H2_? zr8Pylr&H1Pv*kg-=)IR}b=X4*zaIEm_ovIBzGt@!+3zQ>zIEN7XBjO$NJTs;vGuaT zO(m4;XdJMawgaDv+6E{N^Apk0^qn+eK~OCsd75-mD$x_^w5LK#wDl+WkZCtp^R}W2 zPOY z3+%a#Dy^hM^7LwP5M*1-K5ewfdsy}0Yg}2Jlt&#uYUoMHp-A~-`zfWH44{@1vT{cH z@GRrzc6X)Jt-Q)Ozm;lqL7zigEZANryj%Cqqj5|<(3Ar)lmeQ}D~7?P*#GEQwQv2& zc+Cq<1xTtj-TG7e?#Q?EGs-jkwX~|TY(O7|0FgqDV&ii{W;;oZ$F4sGb@8{To`T;f-Fef{kzsZm_=4(2wc1{1g?JgI-_ILUVe43?% zq1Uyvkc#AKD(@{-Fc4w@B1f+EXzujv{Eyw&&8DQ~$gRPy(04b*Xlu*hj{f<#fzkdo zV#`;VKio4ncXHsGcz>sKcGq4{a8&P2F2cZlTN?3ca??vUyD-^>j|Y=wQBPOLY7fJw z>7w_8lIr0z;k%UMslu3r7}Ry8_<;3+x8`S|Et2*2v}u%j=QW|n=gs$lJLqb?$ihJ1 zJ5ZV_kxo9ML!IAl3eYEs+V);%bP9C4;wSL&B!73{>nkvqB~Q0OWq-lrLN zX%)=ce-r|4r{$KfnGZS%W}^V{2tMjE2lx?KscHBp3CR38C4kvF=PLDE@(I)1uyoC| z6toqk_kCzfaBtG0AaGSlxd|gE@c1oU?l5h?CD){P)C~ai)OCC2WnXV_s5KfhoeUVN z`Crxb1NM9lOpTc-O=qJ|dbqcb6rt=)7Q@9xtYCiyTpis^nUNq@e$biSDDQ2Ktmy%gV#lOFfx zc=NnurfW!^hb&vYfC_<-VmPgxOrlBx)$f+H08&y0xSRlj{Tg zQa@5x_#zsD*sO^s2hLu^ve@;f8bmjR79$|#TZ!09cl?%RS5us$4vzJ!o0?hh`a{j@ z;OZq64+>nfNN$n6fo<0ft3L@u*S2+HtN0o2zF=_Wz(PwuS7_+>^Yf~eZwvRd<&Vc_ z^6QPOi&XK$B=ndCf}KfWqpwdv{P3zz^?MQ0sz$TKTo>sC)8<&9^G*qWZl!x?9{=Dv zXCAg@x>&@26r>nm{tBe5)c)clH~D5?6+j;YfMO zIgHxSP`dG~Z1cs&Uj%@C9?s^5WE|DI)`~(V1;(TxhL}QE=4l;Ie8uA1`@`^HZ!8|7 z=l3KeL~^Tk<$dLM!&x-$9x;p~CQZVP7!U2j&D4=O%$Fln7!FC1|Vuo$ANNt4b%ljwvMj6tYVSAviM z_H2vS+)V>kq_^&knqf(hFJz5td-akc!Z2JR-@$y1;rRvmET{`h<mdPcO-z54Ped$Vq5j}JibxLhxkY3dtk#8tHQ_0AaD`Nrm5}ksX7vCa2F{G2 zZ#DE%m?;SfHx+OX)WJyym^9RZIjW*q(<6x(Ob1lvaM~EqwGw|tk!+M2kph9!k&djm z5r>Py`kAe!3XPeyN^mxc72vAEQmND}2$TriKW#8&22-5nuF~|C6Gd9nV0*`s>zFQR zHXI{?ad3o4It1cJ+_GGsVTy{DDUQlS7|uPN==L{*CiSL&h*hFN1#?iZs#2T94}qXb z#X|0(n;P9cylN1#G1+BQ@97GCyXwhsZ5G0DSECY~9TMhm*nD9K%WZW}z)GZ`p`p^D z)zAUYcu|Ka^e^1NvmAyQ>z6q zR#Hx$lSd?W4vnZpm~d|#u$P4PsAG{eD{&CGpv64jfq#0l`|lT1 z5I7y_N{hd8)p66rKva>-34T?;q65p~Q00u|vb=VM*Jnr+2>c%H$cl?`c(S4qO2J}m zX>IaGBUhK{fTxIxaz{3zj1&kQk9B6j1vtlmc3D18 zATk8SVwqiX(Hc&LmMh1ywPb9N+jZe=-N|$kyI=raQ0Liwie}pO~rqfP)kP0%a=dFrql)^C~g{ z6`N5DUTvGv9E7tq7ZuD)Fe8xe;x)v(CWMVo+nJfwyEF4Gn+UZ500q1K$)&Zy-C;9TT znCDvyZR728(DX0But8I>8JyJdCo5X|#?{db#;DGhz;AzD<>;myjp=XPkFOkrzOSh* zB72|Zwfmc?4aUNzM9j-zN)<;`v6k{;N0ZUYvnE?Mi@+M!ONm0!da_Uj*>odL*wmbF zM;KchO~B1`;&l))P_?=BmutF672`Tp+N!m^E5ChaR-EmrN`dj1@!^ws0;0n44mL1*I7!|!yVuri1yqldsEkA-5ZQe60z2Ri+~SIuqWDpW~zU_fRk(ZEQ4w zI=OaHg~WjrTV?yNN{;o7Kl=GyQ!NHaa%Kig99$tLJmYzewrd#q}mu!1d`>%d_d4L1J(k_pD z{yeusebV|Sp^6*ElGz{8Lt3t?@XTREwm~)Rt1XH-O|xYbrV-G7r{IS0tE*K_2O%h* z9&elriR*K7E<$*D<;___o>i-aWgFndQ>1HYj9aQ~S5a}2&5k3(^gbTDMB!WmA>PB+ z;tTaa$)MgP^3YgUK0|nQas9Szf4H1!@=$Vcz!fA1oevF)c^`UwpQ$cb8_R>hsTo5; zS6!phe9lLx*>d{TadcD%rA7^FiNEX}rvaqM{r$hanb0awI|qC!<<9p(I9>_z`bo4p z4~43b)o|tfz36hrV=5_}m>BBoB~@*WwpLR5Ll4*8y4BuE(6JyMjvT@aQu_4(Ug-zf z3dd|IQ#+w-E(Jn54}(mR)xb%P-a{T*!~nFhbmStd8f(FjDLPK1c*&6$Q5Ord>a88- z;_Z_^r9o+J(qDD1XkDv(ndJ&}aiyRz35b59lB3=qA?EnBye>kWg{+VWgp3p9Qh09B z>d3HBesi{uA0eyKEOl@cpf{BMniSuvTBlJTAiFRwC=gpN0wtEaPehE@4pBHCbiOm7 z`h6ZLUN@84i%FS^v0S^V1wU4BExlPvrbH~qlZ+UTREDFHaU0L^Wl?CHg4$NlshCi4 z(V-Qg;-xf-B$(+|!x5GO`A?eVf70IL7&NJy3jv8yA}v#Z7e^tb86mV&)rJmD)Vq0v z5Y_dP6P7>;I}g2dUjO{XfciK8 zV)Br}7;yjAm+|LDV_rJQjym?JX7pDLP<>bSRj*o#w6>Ma4b9t2fB+T%5m9{?0l+Qj z6|ek$P$PMhIkYwOWvJJIUOQ}KVDey#!c>%LM`e^$;gcVK=$4P~C8afFOAx%y{uQC| zIu;X|wurF-<2-GB#pM&$N|e@muK)le06-$j+N?3A6mjknc!7y{f6 ze*M5@?@4Lr>}BJ${tS#F(%bpHZ*Es>qq%aP%Fe4ZVZ6S;V_)H@<9T2AQ_X=ZTtjMI zd(|HN*S!w@=e=58F4mC!pDQKT;E%8;|OuzFW>#G*m=10Efk}>l$XT5i? zt@kn9huq8QDJywvb?q&4#4vu=rJuN9=36#PXxuzdhS+-2!;}xuclbBJH~-gCs5bux z{6e^=$}vW&$U~bBvR$uJK+kQm0p=yL^p}8@_2KRMP zl3 z0gpho7xpXL3TR1Jx!&qcU4CHf+!RpA3gHYc)M^~-Z^gdx%b9M+e1CeTjkyqhpTvgl zy;OEPa?fNmkYZ29P`=2Se)72Q_6a*IN2!&2X@SK?FlI_6R<`hIZh$PHjhLsWEY zSp$LGbSKxG^_ZFLZm#~j%JiMc$Q0DkfS}vKDIO^?{#jSDG?~pE_^h6h3GzGqj#V;S z*GG}awg&k}7llmVS#tnK1HwKI^{~B!cTAx>aY%<@03$wM>wvH|^Q^Lvw_8ipZ;(6+ zw13j$s9Ipm^(v}y%uWS|LGLA14H2|j^zT)c{e+vdYD;urPWNC3x7|%Ta;SV{R&jJQ zK@n;S%k1;V>)Gj1KtQrj%AIZvHt5NTONBt)Nd0fSfpD$d+>})1ujNC@#t#1CjGfOzWL3E=^Y+7x|+JBnvZ$04CVA)X4$V?K5JWh4Yt=WiJz*WVq_BuzgNw^ zHnROI_wPX-2(FEiT1@wC4&oM_a4^OV?0^K%f&$>%oiMWIj+m;vOwZuWcb%=-bB#9t z>ac}`V@esV`g%&Jm0dEnTd$;=I||Ry3&xJ2`fw#49VIQvOYP{8D%~Fc4DXB#ze_bf z!6A%sCloT;zm15YR)gRedFI~j&aDp~I6oaAE|-R{Q8;<}xW&h;0(wAh(lIPn_-WV- zf&-*mx}a)0uv3=KQMj^rdY3&Y76a4^C26+u8a8==d_;De+PsKKx+NR zXDi97)uYf@ZNh{wpQ-7v<7k$Zr`zOZmfceN-PG3N-0$EgvTDRM{wIE<>Cbg$X!f$a4^Lu!KmmhR+yiB9{gud z%3xIa(T3Ll&nFXvsqLUK|Nc083+4UQA&gj*r*Kpt40Ts#ZXejY+xTq;$VRqMQD`hS zu|hUcN1K=~L*@-f1yt?j7AAr>>qNohF)zJ8|+}sfADB9g2yWV4A7(f3fyQy$)VuypW`Ne~kC;z;a=*O^%1bFP%!Oy@R zX_h;muUjc8n-#~zR8G%*BsQ2}S}DVSv1x*_;@oT8?IwlMI2g2v#{o!(@q2R?;;8B5 z?)1f~)vL>ElY`V6z5Txo4pMkjFP;*33nHe(&I6_nT`-+HENZK#7ptx=Z!XJ(^Rqma z+U-q{+hKrcW)BvD!e(zOoKK&bf1T*(@y~bp4@zIpBw9OxT}(_sKmh!aZ4Mh~gJl|< zI}&zg;c24#3e(oE^{cuMG5*$WDG}W3JfcZ=w?A#wgO+B6l1~)=KJI>NM*> zE^&!wT>J!PE}v#Nc)%sm*7SCBmh1)63;J~Z8s06iTQYsSN9XuncY#}(#}{wpc#bfe z{QBXdfp;Q1(m*HS_deYUkpd59YV*w>z8-~{dCrIYU2*Y*UT0P$j=HSvS51wr+De0m zK7U11yS3hA_8gc;?N*NCS8`LgncQFpPsx=k6TR>t{n#cVJiJBEuCpmw9~1Uh#rFJ) zt-IdST2JTbQ-iN2XFPhlQnR!(P|kPCcFoB>U=L51Q7w0rE-JlAw3^S>9?egn4$wOh zt#sX8z-wtv%1RsSPc_=@m3i2mdJyGglbS_4qOHkS?M-uM9KG2^fGxv%lO%rouxN*7 zsII6Ps%!MX*TnQcM+bH0m7`>T8DWaF4ODk^e<^Kvj78y+?_x7@d!{F+XXNeU!QbCe z@+PX8rU&ocCyjX=mMtj*5kG#uN%{}UbLDzH?lmoOa$R-re)Gy39|WE`GHg4E>!H(6S_qucz!|(xFHGx*j06z&Jc~y#^c-P z{Eq+LjC+#avl*`_TgZV-?uV4s=MoLHrkHCzW~}PiEwi<-wXhc6NJE#>nh`vWp@6DO zMJV^FGb6{!yK|6YQDl&A%xl?Gc4TQ#W1TagW9H8mpn!FG&F4kk7aXh@LI9y z^QeNUB*9;uMvOpZO*`8LCp_#MRjMR}tc-*1jf)i3eNp4DQ)g0!hA@Q)fx3!E%R0Rc ziGi*gOtF;%@OKnneLGwW$FJfKHRu~9nvEDobGy>bP?DY-?xuz#whSq|7VTep15l4j zTN5$}Vj8M6E(AwhMM>u5$r3DIP8VQ9$XU}OWBlN}Z(-&=WoCWIXM6LFfH4V->I~Be zW5fgu*SWCm^=M90W6Od=xtJ_ykUl6pE$?MRvvW`zR%RTaz19Q-jUMq36&fvq#SIZe zC~_285`o~$0MWf{#2xD+X zLO;H0JrEE%8c6;&V7z;J{6?t83@z8F$2u51%*#lATjxwNs3@4Rl?t*79|i0QY`4nv zgbi)2_3uYIXZ(!L+tgs#X?=WQF%So>J=9%w+Js+vA$r(Hhuw1j^KdWw;IWhNJmFkS zL#l}=NB)Zljhm_!b}kYf0gwy6;=HTH)tb#E9ykbx@PH750R2I+{7gq-Ddx|F#V`GR z>p8+8MjobRrJU#WnWN{}-)X5&^$N)daS6AcFw4=$6plaXf#QU4J!HJ3tHB1d5?r9k zEZ~Fc932Zg+0D5Vmqa)`55GI-T+9&5$FFP;oF78Y~0%_oq1*Gqjb$NP=urtxM5P zNk=kmt{+3Shy?#v-A1$)X^#cOLAGKZn{imNI@Q1+H+-E*)zs zmgZzlxhIl%ZD1%%1r;vWt|K-?@6|@c!v9vF`3x*GQ8a7Kv2;0wFuD5bp-}zCzgJ>Q z{8pn!Bt)G;gRm(QWHLTA(b*af%!oPjfK+6@#SmOFdH`f_MY=O=zzI~Cw^T+jO~VK( zd4fW5R4g~r8yZlXDeF&>Hu+nhB0?jLpnA+BAx5$-3H$vW7T!o>Y972JG&a{@VgJ7; z_*^ND8O(}jGIWotV!W}IBOIj`r{C`e=lp+Xd$W=Ft5J@_|Lq;$x$7;|jxa&Cf@sAG z`XfOgPI`c3`Q)r}w?a?s%5a=)!`%yy&jHq8BoV?b#O%DF!FC+no#uXbWCP#o3WA7u1 zMW*5bbp9Vw2MfsmV{S$PRrUMHwDXTIX+}zbM6yyEjb{(-f9`7h0*D4GG9G!kk$3|T zK!nvr1Xu?~z#~F=9_MRArT1ZT>~Z+Z5TzpGMUF`hTm_XHN=NH@SEVGaQ1bPqT9^Vv zoA=635!faeqfjj{Qa-9^yn-<^)LLMyVGq)d6p#S$cRWRR0kD5ENWl^r6)37_r?VAP zi(Mh$X`MblKmxp$kF{ppB@_CbC;xg?@BIqHnEeR^_c!1Tckq|IJioNN@JjCa`kyPt z*fKmFp@-JnkVv3FB)HYd)&@ryVq~MFaB`nSC*!}Uay-M zy{FZ?rt7&hzmC0^2G6}(yp_G>&C5Y!>8XR7AGoEyLj|%r-twpD*VxyoSE{!!WLK~e zRX%Tw)|qdpigYhb9o%3s);-G>MSuvu$?m(Vy{B2IzK5nqmR7bW=7N`I9)7yd69y{z zxD4bk{i)3OMq~)US}jL7WZeTb4Pg}!Qn2T}GadAoj|JF2TMa!JxLG_j<^n0uIcM1~ ztX&zosfCO&3coVocd%bw1+vR#3&)y~M>EMtr|1zt-}h~4L9o7;SkYpM!o>;g1RYG~ zTj%&%7ng_=Tk%~RyQxopoAk_NHP$QSXBCG-tH;%(Q07QEtn+L>KQht=Pn1SZI6;bF z&x0gJ^cneR^F!NvCycBIbZL`!m6%7r=3sR~KFA;^9V17qRR(eL|GI?|j}gLx*s~yI z{G)68V1vAOgp~|&EEACgk6PDl``$`LXrK}aS;9id=%*%nSwA;uk%#_6TV>@n6DRXV zmI#fNNHT{E-?#kn?re$c8osn59iDzK?TD)LhnI+s#9j7cU7&FhKt6)~*<)q&F$$Aw zxl6~quI_Z!`Jg}!&)>hyiM2aH>7cvq4q_Dhpi`;WMwIA&0C{_?O!>L!z6aQGqBZPM_G=}dl zC$C8oL!jn-1c_=M@f)jWMh9bKM!Un}Wp+^40>a|xM0kr`PqMe>R%UF?RV_Djl_5B1 z^CnpZviyJYllS7iXA;{VZJxR^qxRA-K=tYU2+H`L;%G;yKBU@!%SUUu%bFd>7`UH5 z8)cvrx{vuS(qf7E(M(vl75P?5HacL#Tk2P?tX4v;37QUjN`Y z8M&r^Hm4x}yq9y+SMm)VGl6J7OA`%8?X-{PS|2hk?X{7ZW2MmK2E?PCKpVeQpy8?OBV-c*(GL^aii!bw=`o>YXwX=Q zB(ce7eiB>lsQlWeeC073228CQQ;TzLzA<{!HVzdaPS3E)Fd_4nLUKEJXr01e^C*Es zA;@p|#D(kta~MxVdRs|Gw5YkCZY4|kSM&1@_MtJ`UAt0I44ab2hA+(*I|c-)PNQql zg3(jM?U9)>icQBb5lQXHArU9~-bhJ)x>Lp6WTYaIjKkvFv(ctU+k?_4><&qmR;_<~X&YUEf`rQYYVgC#e&@wWstEQd zD=y0 zOl-GEdwc9a#J)X>*{RHSVmZc1=`)>l2j-H8@R*$R>D&L#ktt--zMOZO zv(6t{l95jD_ED)R-kSu97+x93WCv39E?LjaAb8d-TOXIboau?6 zM5`Y+r&W24Yt3(Y^VGs@rmIlG~;kU6|ha^u+wVZRs#v-5ucEO(^ zADVeF`ed#2N!z@o>Fq|mB|CJ|eC-7DpXH^szxNQH=hjRJ&alWypvC?GDnhjGg;`0= zQmi{H9)e0bit#7se@4*i)zZ^FfeAAIRqg>1MB!rBrituGq`^8=@?C&IcLW2$V#vwI z;lrC3Qev+r`-Ft!zfTGn7$&_g%roTJm`zbDQtJ9q}YEF z#vzTZOQ;HDo7hfN=rWS!z{wE=?X&5!|Gp(L@%}GHLMmAgOy%eh8r8D2z*rKHAtcj^ z>P4-7lM&gOf2P@<^2NT!=>M|%GG-E*L1!hB6qyo+!F#GzN$nf*L%`8?rdP(W@L<9T z*d15LHT3NKoM~l!EFKJR_+Rw0Y*GxFBqRJgJIauw$on=JKoUh&Y+eCk7s_=APxG{q zZi;hhC?A$hI6;c&XMFpo>&AVFp}^7T^;!hT2B1YtFsdp-5U`6WWn;N8m0=aboTMFa z(Cy6-el|hqy13K1rSs(n4hQzp2hW}QXIGCwt08b#*0hxJEwAOnjQx6&EcjJP zu~0zi3&uKynG>v4D0U|MC9$Do5McNmWoG9eX8!>to~1WKIG+$|g2alhn$0+H!Q_02 z(Y6;I;(f-3`5kY^JHgMU=?8AXtIAXWZDk!{LPi~Bc8&u&2bG}IUmOUwaw$5XA;p}e zeKHQ?zf^$?1Pb%9_n0!qiND(r325(2Th~*OAP_8Om_$WkJxqhsXI|4lWn-0Koj<`7 z>VGXRj6A_x{nO|N?gPipYMA`2a5G$Xoa~M?5tx^BQgc^Ik@Ovfl~$ghnwm67Lgis% zQBj{PseFE2&~hg|QXaCAyw~ls6=K z0$!^jB1nqFc(I~C3euEKpBX!n1Xv7%tPvtkN;5opjuJz^`azb_vL@)5X{5hCo*Yes zYb!;7MJ{2M!TG#`Qi6;T!p07X(yUEuo^qSM9WA0x;>ge-CrzMx-~(G4hO;V{uIP~D z$|&Lmf}BA$YkOv%J%54bac6dV>Ct58nK;oZcI_yEF9AD*J=9zT=Y7P5NgZIQ`f5(o-Fw`#}!KyI1|Ves53zW(8xj}m5vKpt3WeGjUlP*xCE=lYx!1b zkRW`?Ye0RhZ0bJB`)Vr|+pl}@_TC}9dP=;%X{T7NZ?o!t&VKxR!E>>E8^5_@z*tGp zq?StGpz?|ISLF3pG24Y!=y-qpKkgswwL9h-F8S?xAN;}zZeLp{yfgiGAFZ5Z>K(vZ z%AK88&4eSu-KHvNWyN)mR(vh45xasd;70d49Ib4S%6veZBK(nGQn7LuS&OPi+Px6l z^dbwm?PtGh*mYtB4ioG8eBXbv5|Gu1y)Ffi2v?mwm>&pf1YoFX{feY{ zv~IUJ5L!2xS%D%&d$)&V%VqXk^&A~c^x?Sox`LV+|9 zN=1K7?Bj$aQKBd(sZokq!!W6E(^k2-U~rU?Do`b;88^z+t3)MCGJsu`@$Ak8?b#OE zp@P}rL~hy&|4)KT39#6BTJ2z0IH|a7WE?iCV1v~Yn`tF)zdV`iW@xY`P$>|4Rl!pR zYylV4^F9&`M1awJ&UaP!^ytu&iF%m=M*^uH6;N7Iy_J>hMAn29=Jileg+th>TXtEM zD|T6~+JQ`(K!w0|7Fm{ql34*$sS85;A##xcRteYLMV|{^=`1BA3Y3XU!e=Q63Ry)X zC1z;0;9Hu;!sn%x7hAsZ2m5TlZDY;97kdBzX6AoW9(tDsSiF^Km_W%IOED>S=4$uPb!1x-0ZL@42XicF{p}q(7IS4m@ z`O%ga+D794S_F_Cc$crsD)wTHICn+$gX0Gt3= ziUAOh&9PyZq|X-$uF;dP0rO;J~{tXm0Yas`3a0s zhj!wo1!WXVz1PpeuG+-XO#e}j|5~pzE7Q-dvBqzI-og9+bFTl9>$WEMv>(OpvU*>< z;XbhVa=tQzzvP`9so%!8&Hv}i9sWvs&F`~CfA3{K|MqKMzh=Eh^>epMKewW0e97|Z zeO;8*_11Gptna&El8?|C@onsj|K0DXM9GN^e}^R4H*)eF$|rV7F`G54zfxPJo*Y4e zG4(6tC2ya(`cwJTT=}|b_=R7$Fuv>M{ExRAzi-)*$XxmgKPC-7B@16SLdW3Re42E( z_{qC$=4*6~@#^)2teear#mI{RPMNk&{auxcf9`cY*C(v+lir?{6;?PBZLVVhE~Ygb z(D7=YOnyl!K&d|t$i8{*0K<4A_-@eIX)_JZBW~ySHyKU>OREsF{ zFf~Csz~JSgZS{SHS!3h>={YfIa-&Hr@>Z?TmVrE{R^W&pM5CN_vsZo^dUw0a>KqAv zTF+8A=K;1IkLWyCdE?lyTjDIy))Q5*zH7+~Q#MdfVEFd+gQ^hCov-YEA8!H^1W(~i zsgAxEzq2`>@4Xszuqd*#Pp;`L91bBlo)K62XO#y261u>IamS{#TJ=t8t8(?((J}1o z#g~|#0;LnjS@AU1436V!C6jIqOhbVtgH{-h6!qCU4Q7Y2-%1<(!z{(KRJluDV5`aS zmP>`tbN?USK-&bX$+(`qeav|M0K83t>s~MNkS<8m$?W)F{~{G4DOwFbGx`(?C`iEy z8FL9%SOUED+fhE!jSPf}o-e98aDKp`h_n$krX)1#1iq=>Cd%q{GlfV%t1{Xk~P^(xXVf(PH?Y$8mO4ht;(F`UY-J=_}%Y` zw&Os3RWyNrf_dI?XN2iSk`;@G^+?9;TdW3bJt;Y3E8}ssb>M;M@AWdv`m#>Q5iLF3 zcud+~kC7E^ZzaC-$-Z+cYsDX}aD^WTl&6U{j6M&x0GX9*MfRQoPP}S9$2`Uh2Zqs@u1n>jcIfiPxHGMx7*t!@NuU2dE066OD?hpRPTo+&4BYlhO^`z;el^Y8hTrMW-3I}gALz6m1 z{nKcHxq@ZJQHyY>JOq$d?>-!FHkKSnV5PW}AN-w~6DROF_r(vHW|jPOBe*fu+TL?p z8v;km@rR8Fwg`ijnm2V-r-_o3U(Ll33GY6>Ajj028BoCR;F6cglj{vf z_a93B13Auke#nVcs)`cVIUdc&RqF*IIb5~1gg26T5nC%PX9kwF1ppug;-B|@x;nGT zL)k7UG53Tgy0?2?Xj0G?ON4=P=_bUF?~3;b3Z@w8G`A6$9hgIU7>M4DpB$10RBncs zW2C23@}~AwQa|xB=qAfPMpV*M-t+nBg@vH90z0kU=-u^PwL&~kLnB6ChlKrO@yN}BVxV^w$vqVv0T+{7(uQncL zZ2a4w(+E1R-&VV+zfOe`YB1LI;kS(tRh7qVuP|BYJ0pb{OA}<~k37 zsBc$y&VxsBpQWW~-Pc?nBY*1ntR3Tz?EnXL^Bhmm(Jysqhiwt@8!2!+>8&kb=lFWf z>1z+6jQ^KG^I**;hOrdz!!2ci)8TU^O*4PnYquLTK>NKBuI9qNSE_^rwnQ)zvdHJ@XA?LjSzA`EWs3?$(8bnU zNx60oW2YI_AePuj8jwtQN{^KFdoR{%d^5+W6uUaz(yi-Kq*7UL><&OdwSj36!Kh~G zWwi|n^MSWe$SiKrC3`$Z+$REe^RnuDE88)ec$y;w1rvVyKr{?SiPvlh8P5Vfdj=fzw|>7+o#1{p%yqg5d20?EIv z#~80_guVDHAg0=EG>Bl->e&^g_vB968g<6@#b72lj;doBhAfm)Oa28|mQ74v8&Nol=HE=HGzOEXVH=-fZ_i;L~)b`y*OJ=q4$g|>xVJ_e3z&fVc!RV83I(bE+E zc5K86<|yh6(WeShL(Z`X$YN}d_cgV&F!W)qN}Km&EY4P})YcKAtbLWi_cc8K^0Cyt zQH9#=V5+P*+NO{(nr*_pH#_0}Hp&be*kE8X_PR>ky^v9Ypq-j3I+W<{bLhW0gI2;c zlr})7STJ1%V{v6AbWT~pYHOi;Xy|KcROqs&j5T5-<6I0Ssu=Yx%Mg)aeb}CU^yi9G zEd+8z_){k1)-_Y4;OLy4-xsr>-OOt9ZaB!%D87e};M zA4gFNbFIxr<*=cM8JDL-szzlJb7SWt>A^}gk#`;`);#E7V~gZI$rh|EgZ2wGFZ zDYT|K{cM{axkMCs1w72!)&DhE?*B%($e_s>#S8zqp&o{$-F zdu+)%dk)qNEvzdz_Hcq)z$%i`RAEPzmt|a48ObZ~63OG8NJ=%qmCho8 zyizEM=J5x!B_Hc2ri!krTP>FILfm~66R>8SRWvk8o!B;=p{@*T*P13+ut7Ip-Lshs zJ%5GOm?d98V=zdWV1pDpDq{sq>apo`Gh(=B#IOak*(yp%bITDG?A));g=&heS*y)N z;+~GfS;(Z#mxu%jZEIW31tZ|CqcTYFGiX@eS%N`|158%3pIr+HEu7g?QULbq6YeZ# zR`-@9v|;M(tjd40R;M;Uqmp=pkS(mUG{o*XQ7phLI;Km&*|ab?yN6`N3Nc%gc-wxR zH;>nn`QLjSMGSP6rI>h}7os2eb7uDVy*q3mN91AkQL2S%X**vqsE&{@D%8pG47k6OPM>MbmW> zQvu+Tmah`pzSq9Eu69Za4WNz8k)No7ZE|;@VAF}+_JE2ws3dk(W@}t6 zEL&QU7sAdl?0fnga-7UU30sqnO=L|c3XK~Kuv##1P^)LiVB;n7s!uX7c|v8xn&iEp zm|&ne*dU&)wG3JvR4!Sd7{S_2&gK)AQX+}G@hG$AGY6M7N@@X*_j;8pIA_f&B!pD9 z*rJ<>SUQPZYDnvcesD@NKCtksl(WeD*itca^7r0nJAvSDi_n#dlH zFl#P!Uvi=NP9?RE6L;k%7FS{gWi({2{M(0{{R3LPG;E08npaXO%<&%HOw}?cZjppfpVrgpHC6 zTMv@N+lt_QfD=d<-97)#lz#w-jR4UQ0GL1l6f~s0{s05u@O8wO;aLPbrvv+hCOkyN z@T5!@lbOt9HJOpw#m&A$M(C)2wShGthk~dWuyNyzS`>g}aZ^eIQ-Tg)NS4wxr9raD zAe&Ycd`DnH004vr&PEIXqU-{{1NBWgx3kWeN=0{fk3;a>8@(mn?0Tk%+{)qXP^k~J z1~9-yi#;K@SJGr1NtUrJS+chzme!K`|NlL&SI#UaPkH<1b#MIn^ViCs<-iB%J@gB= z7n%Fy4{V`>`R9*==Fa(Z8M$m69Bg}B7cR|_bLO73k5-=(j>{)s%bB#we(;Af zeX)j+f0z^&_g=!j%rsL~T& zHdYQk7C!n$@7D(DJ*sCF6(uRny=bXjjfN~*<<&!7opO~T#U_i9sqbBm77>!@O{;NQ z+qAkSX)TtrXq{%)?VY9@xU?Vk3b}%7D9(t}(Q+BIqIRHdGskF!yr!SJXgTNU2|;W- zsrelZHmLC#2XRKNYI=pyi;Km?IHtzzB4N`}6M>?vOf4+BkJHs&r|;EvQAy$A@L;|# zgK+v9t>G<=luFDW*z2@tx00;%J*iCi`Us%fO6lQ zXQIi?`-G&aB>K>(nLb>4tF-@Ip{$<6YFr3fS! zdoi*Xw$k2IuB98hTmwU|VtO8S=RIgsO$#Ra+}z?ib(Al@0e!#e z&qR}((0lT(pv6^z#-jvD3KvMPD6b=5b&fZE^eXQIi?@`TB2WO7?&y7jp$ zMj?h4dK^JuGtM5bB= z#H;LpdBLyzBXV)oH)QmY?Tlc$uRa|C3wgC@NTA9!yAdI}*$bQ68OQi=4xBr^*ENHQ zvc5L(gp=rtT{d6ZD6Rd8PJnYi5zzwdB|8!m$=S*15p-PHSKYLyCIl4qZ8nTfg8yV| zlC1)Vs1~0Lv9sHElmua+o}`@MQA}_ya^+tyr9mbX6!mR3j!q=6o$Kn)#go~^?eU(U z=;S+}Tzbp@JXVbVe$$S?MLr--in^U-W z-Z=0tY|nm?`ZJrGV6yS#)bu}Tl_UCTTQkf!`3HgT(#p+lpHkh#7?T})q(9vL^49yj zTDPwX`6a|w54H~%%>#8C;EZ^3mE&fYao6V&zvS!aj{NL$`~1ackLc$E3uVv)y$!G2 zKEeC%UP1Y)c6qDMyw5%lv8~u2&Ry$oG3R{4ZhF|<*F3|vTfc4tpKGllZ`DnzRZl3L z%jKz~7k3&}=%j2>4qG>8<4LX97uUy^FTl7-3>BCSzC`-2#E~8g{@nA4-MM8+pwrl+ z_4boR=94OVkVRjz^~dUXx`gDa$?AEhfwN-rzUsRk`3d@O8{=nUhpwMD(UGH(dc8J|hc0*&ocvU;=PSLpU=a&*>ifX|1}={`3)j*E zy+t_Q?z~J-HtDdo=Lxb_AK*^Vu&&OpRjoFJL*Oi}^8i+#{_kY|Ho4UfSLXZb`YkHG zUrnoJrC01TeD!}$yllVs?X?e!usK3L-P`_V19+VM%yTh`+z0|1qm284iT|H1b6hD! z%I^wYBLgu8^5>PkZkvg^fzfZibbf3es%=?XVjE{0Z1_g59By!1)Cqnt2N#Wr!i8b=;=^QO_;9)k zZJ`4+!73z>+|3+Q46XMu6av(z&`#8eNd@D9k5wT~_&O|ZUQ_n9^gII6Y#(mDAr#jK z(94!m`ZNxNI>8Kat$z1u$!SQE!TwQ*%#QAC`3~GCRp3^o_sky$ z?>)Hq2U+@Flj`%9+__i!|9m^7=RZRi*t8_v5)AF4nmd^8E4O@`ZXCrSPR{atQ}%3w zFUz^L!x)T0nEu-}!js8f(lo5X?XWre0=}pdQt5v?yi>Rb(Rml5T%_<}v2gma!KH8E|N8&nOP<7ugZ#x% z!pB|UUR}|f^Zbx{>5FNToKvNxzV@Yqio5zG3g8nm6?nM+FM!?w^!sM7fM37W^<}PF zV)^%O(!%qD(D|Pir;aVSR^H$nzYmKe{dd1+7^btj){Y}*$A9UXIi-45>68w5n&ht0 zFcT<2Wiw0DH8tT9VqtM`m-Z?`Hz?Q5o1?MnP$^*zTew$52_%C{VEym0JMxuIZOCdL zWQuA!qwzePE*w>NwcE4L1V(q-C`)Ps4UP&zTRhgTZH1Zc?x!&<2A&lI^knOkbq?z! zsHX0Fe!%5+cL11cjK*~jI@Qwv-X7o7>FyT`acSNCZjg2b_dI5I5q@+X-8To9ky5>~ z44!yO4=QB5e_~{`qH%(b9VKBVozmzvyp#_b6l*%y zI21nor(W-%04S8OEsOzET1TnLluO0{#ladE=hA1M>t1OwM8<4@lc0*F-$8?*(oLAD zp5w!zG;a3hpf3thEXg2B0fV4PgYyy;STvG{sHxFkRVOgAoLDawV}@qTCM`9AV1%PQ zJyD`VpynU}9vcEOTaGNn(ZSl98rJ7ES=XNq|bn)dJLJb~I*I!Fi^^d0>)j9<1HHYfJQO6C>~;K9LXX)W~PYM{4(6cZPfN^t#e|3G9Hx=h@% z#bK|}Ft?@-(C0Gp!Xza?J4sGlB|$>TNt-fLp#X?vXT5@4V`ukx+H>zO zx8|5ppKtjRv@emn&0GANjk;8nFleRZBDzh%C`F!xIdp0;PiFVbR@ks`aj@=muy8kc zp=}^isAv!=L4#Sbj9QtuF_OocP`Pd(ws6x}@f$ay8I8G*FsYn5e;gBE6< zaw)S)!;kF5<&O%ilQOBn5d?y#CJGxEF8)&1)s|})oDB@Cj!V5 zO_Z5@G#FKkB~#clW8;id$;D9!3eX-*1S|=$$$91j1Q{uv@aly9@7B2@BAPLz14Tne ziY3s|5nEJh09|oD>GY}!|HXV@)*#G8qi2k#CV+ONzkmt8H8G%_#&dg z*o@4iCN$=U(uBs3L(q!_#VB)638IojsYvHJpIOZmzY8F>jJTe)flKz#V8G|d5S*S{ znDmTFJ{Q3Io9#~$CMtx zo+xTcF(pWSgPKBxjGuXukXfmwa^fCbTp zlSD6`NLtonFhQM+;SQfdHQnp2O&9^Ax^1+pw*e-e62*2BzPF5*C0s*`W<^>{l4bPZ z)ljBC$7(-y_+-JrHd|6Cin)K0g8>yNtGOXLMkB4!gZz~ zrbq@Z5C6j&(|NJ;24~23gO*U8q(fBrlO!ynAaURlq(q;|iH8DrHg%tco5D{bQNnLQ;V%C%2T5LhiiU= zX8OdFDW3a;KD!sa7;gpZb~~O2-N&_tp{mfj9_ga;R$KF}8dlrZUteSo;^8W7cSM)! z#Bbm5uUJ5^0hm-;Ewc~g)svza5-!kVM8ZXhUYyd*7k=&rp!AdSo5caNbElN@^pE_B z$r+0I)kKF9L*=_$mSw@?-t8E~T>%LrX`=% zD6}&Ws0>)3gSO??8LEP^uK{URwWIDIs6P9aMV`rxOZ_^0@uZq$zn^PTlZlOLq@!^1 zYsp)9T`P^lIrF{zP`Y$+XtHFeb0@WshKV#MWLCsAAnDN0FI#_1+tvT~vgK^H#td4j z!4*ho5~4w9VZezh4d5%z58m06(&M1#V_@GG0;O|ekkGN_bLi$2!N!R^pK|WW5K@=! zOpr;F6)QHMI1s2B$mjN+6pNTWx7b2bvNe;f#*|ATQ6OH#l9~t6D7rKih|G>mH?!(} z&VJ@77BquN2^Nre$)KZRnFF6evWW3ycYXd9Qx>G)j7j=QV?rn$EKzBg@HDNm&d!@B z+4Wn0#R0#|8N!+9IxNzks0Db8;?&ufDI4NPwhaAV)u8aPxW|}UOr0`FBoEE3Tzeh# zDZ~aF@^JRJg9a2d1n|6s^rTE)#ad}@QsG+#k1r1UZO*JIvxEfBCQ46Qtpt)003EzL zIKQ-=ZrNAaA{aSh9Sc1O7!N2Nsu(CT5ok;&x}AS)t86FZ^0i@om+pR*clHu+f(m)Ii;1qty;sA#K(=q%sd z`&Q|+K0J=)yR^MCI>E&)+RKWFs)5#ligxh{mvJa26~H<@Z-OG2GscFzsq~7fS9d9dj+?@j$ntylIU-I#!;paL)-eYLc(o%b}C11wK zfFqp9NlkE@3TF(pxF>HUsT(!!d7rU~KvA6cO>_wW!;ggP(j!n8fIc=n|DdP0w13sX z#4QnmIXMh2MDcCs>Zlka$`Y3tha1Aa=*6FSg{{NE$Hr}`Y%kt)Q*W-wqw-nwVNL$T zL?3!vyxHo8H0IXu?{s_Sl6h~6j8^o9iz%shom5}uz4aKEsy%B&&9?kaZ_fc*)y_9* zhuYm&UY^bU3!QG^irBKHYd1i~Je5W3BbI@o5+W>vX!Uz7@df3L8GtWtIY<)UoPmRu zgY7Og}d`#rP${C4?S_$_B=S*YW*X7Zo7Dyb%kAWk& z7ZEHmqjUon1D9o*&-kC~<;0u#0YBx&IraaOaFciSq;<6;WQQSFK_+Oz7>Nj;$c-f8 zLqX~b<#&DWvXfu!B>D!$7%KyT1q3s)1|iENd|o>6xY`p$TQT|PqF^}uN)Jj3n9whh zVuJuK5V#ZP-1g#E#>rP(-N_dDe>@~?qv{5cC*J&&x3A(~Xm96#m%F%rIR=4l@_q&Jgr+R$i zpgH)3e^p}dzoCZMx6iC=-qwEOUgyE)PuG()~ z)<@*UDEn`*V2p9lrH+Nb7g5O}+?gIcIHoMzJ$xJY@x;zGHXi98j8i6%?L6U!LEP~3 ztW5~Zi9sk6iV{y6i5Kg_{m)b%HSBaw45K9UHhWfpiqZ%g+*5TxhnoKzg)ZOYz*$ae-%dEFGGNl4h*Z5Wun?k51i5D)_Z1OP)s1SJ3fPgISn@&fv( zo~bkEm=cDR+rft>plsb8!B^Zh5yl5&6#(ltzkedt0{}xaW<&r03Q!k>5UOGwn?k~~ z@M}DqPbbX@4tM~mz*NLV7MLvCyUjAUa@n0Z%v1i)G^x0M*3e4zrX>gBs`2qLxUJau z>46i-Y~xdkF|#{8lOo1Wan{h-xv41KTM^mjHsyi>3I$;+O^Rr2`Co8O%IWTlfU8#DbqecQ#3{9>PJKQGXij2wK7SH6!Q zy2IhYFV8XZCpy!n7XC9{u`=;7f3goNlPmm-LjEw2OohODAd*-}QpzGQ2n!5npyH(Z z%Nr;9F{*uZ_vt^hi8_4w2VQsQ{B`Hw`AnJrdwq09e;l%L3UpyH&!717eE6XM!^x)n z{zncI>T4Poefr84+*6^oLIo^n1n5PMzzT9aHx{ob#grTjkgjp%aPL5(1#*0=Xk=3f zlsGg(8SV3wg$2@yE2uWU^FY&xMFKp^Ejr&k}F;z`mPff4V1;43&JFl%Rkh;WZ7|{&p9fb8-kVl+U zONYZ)GKmlzm}<=%BUQNgEZlNc*f<>8{lyq|$^4~62^-Hp1{9XJfEJ z2APOlQxYYXqs#&t&(4hy&N=eg=`#9j@WhPOSKM}Cb_f3Fim)yfRzNvOX6YFvJUcDw zq^lIt3{^%9AgtZ}8F+qgCl0U7_Eqz|nd|;P`kcSKXP;QP9rFebj@&HCNXLinBjIpY~52)M}=Ax>U9C7z> z5y=wdOrJKoEkO=@h*78|)sgvy7A|vvpk2}u!R(R=7m2CcmPkH}66ru|N|Q&MS$Q>b zYL1(Oe3ZA{!eAIlW;NV}X3DYO=bXhbsSuT(z7{4HCN>;STDZ+eQc^5%C(`7sAo?kX z(#F)iDxuK|Chg;N@!g{?V3{4r@-mz;%W8E=pzOI^k|7aOrmVr0fvB(Uoa&IH3}OnB z*9=9XjsU9r^gXB1Mp|l04yLE?kgG`^5~@;eRCApZQ)52OGbIW_?=(WCNIQWS7M)Y= z(+t52ov$abwKbHCWk^PCnX!;Su4Iyk4_UfSi##!!uTtBj)hss)c`0PJ*og^2!nBLe z-O`bh>u6>&s+n8IDqFQooAKsl)|t#vNQ(ptomFdQrUZs92q3Mnm7jo zOq))s{nvY`vx8YDq)y8=0P~P6hV7|**R=)4n;R;#ZB990HbxQHvq@PI+R6$t63QwS zn{B6AnkVL=Kjr!~3IY2@)ehTd*vvcK&ibD#fHZp^aBIZVFT1mRLAi?K&0qYm9M`Y{ zf}I%itVbl!J`&G|t><^2ik8SK=a`vy9`2pSOfGGMbn9%{>}`-6Qq#tYSNl~I@YQ8Z ziAds(RICcWXe0+T<*c=8I-e{d9IF{1y>wYW#GQ(15F0hu6KXXQ&*yt!{58nvU0P)? z92$4B0EL}jlBP&WQ8uP+Pn0+}kdeN$mM`F#dOODPZ?6ei_8r!acy*WTy|vowy+W5R zx8=9KuAf+WkT9^lnT!b6Ui6{5dgL)Em@fMPN@r}a{Zb^f*p8Nh-o-t4ezqbJ5u01? z3!do;&;p=EAcs2Z9gJyYc`aGn9V8HRbg5FoS~tuNTLyvxbZku>o{ix;V+XRsil$3U z2%;5s#O0|>V-II!Y6pcI025DLIB6B;H<3XD$A3p0-ThR6{OcxSX&^SS3~ z92w~~vgL%Pkq#lzw^-mz9Ur~inMyEkxw}JavG9E{9g<_R6F&!$+1=k|P-w5kv|?G3 zKAa`=$D%?%LV_K@GVwX|&WJjEJN&Hu8Kd-^$2Egr2Qq-#$W~>UKsRw7p|P%01|O#G zG1Lo`Vjrh@#d+GFAVlO@tUy>pTP^vp8!p8m*+=(-@M&O~4f?I>x|+V1o&6d&vTI?o z=@d?%dZtVx4+RGBBd4?T;u@VP1QqLE8Z_E(g8OwX4p#UxYf8X)TmjNn%Ap> z)Q9%}KK4FVp^dpRk)2@F^}kgo_X4V2U9#!Ho8wOd2LGr+N!11=wrPenUR6zU(7B-D zcssUX^95P=JvK56?_Z-(wH}6K#SX3PR#+|G^&%Xws8_eE>0aIbcd2-y4aY<;S6bL} zydAXF*fGe4fB-&(gSD|8gT6*PC`V)L)sk|^+IAPJOMIQ|kwR#@_A8L(@kD#|cSbmU zkm=hq@u#`YwoAun!Az=XPAn>#M=|J+fh4!>E+p=^Kz$~#Pi=fBWH_J)3IvIUGI3RT zg*ydYljd7o(B3tuIe|Q`zkR#732E2_Po8^t!*#Zsb6fM~c0kSW3(WoJE-( z4hQst%dQpvRx@Z|@!D69Cv4Dxcg8bpiSAm(=b7+J7gD7)@b`99Ix+HGR)mm0BNruh z20Dno(Po^YmP|@VHD+Ldhe!L{Mt|wX+<0fDCugb?nTH4llw%@6mqOawN6&KQh>}rW(|A9n~>LJFq{~XV5NBRj8a#{ zTpnk0v0Jd5pD&M`h2=kcwc1SU?679b&5G}fI+8ljHED@rcEGYr@vqhG_>3pS^WX{d z*PsgNhnml{uAd~ww~;Yxq^fIPOl(h-ffT1bVfY3ZZrn0^w^5Y?pGpa5&~SL-{J5B^ z$-;Fu7rO$(`S}XQgMcCdXm#hE!C}m^97sgZp;Q*-WJi$Ne|&v%Pi*%DPbSXM%}mzpu{| z%E5B+RI(sXc6(S!5_A&N&nC5z>H1=QOaVq{8_99591)-8XP7^QN)P6sd9@SPc4j!x z)S3mgj1KE^@kBW8u;3&YdKKy9GUoE(7LjFkd4g}eHp^&kEGY*jru5$A3#@$EemIZ%9as|{9CfTK z&MN~ygN>!~$+nak=K%)vN=XIJc2J|y4zOA4xMnWAqj8NM-;4qm#XqXL2+VuC6I+;CEp>|0 z++R+Hs_%BzjI1%R4}|OB%#pbsD@}3TEp|T>?ZW)J8s`Gk#YnwsFwu564*v6FZq|^X zux;>PA(6|O02{V-zybds0umtq`SlwRv~UH&=)X$7o$C44GWXOBkH@yZmACgw$~rkS z-NjarY>TM0`RHL`rdv=##V%SOyODny!gBgp&w;=*X*|u|zNIRp^PkhGBW^aI9G)f)ZTFMXEv*9-sj=p7E zZ?obnte&koHMH0LyaBV0H@QPPrNI@f`jwY0{t`e~y1%Qdq{s}m_-hUWrkBW7t)$!s z)})&4TPqHFf8!4Lr8<7I!Q}J0)%&4U#T(mrEUJlXBIAsxjc=i9;>0E^5ZhU{l>d6S zc&yst9RRqJ;K90AEY9_A4bn=Yewg z(p4|@LPdEeCPe+t7`Ji>F!e%3d8Z~scg{A&{Z;M}rf`1h0^aYFql}?53$n;LF5b~U zYtnlwHR21jO81<%1y0@NcHUlFt%Qrcnvv%fEueK2k=-w|u# zjXLD^1`vVQxd7g~tX#Owi_o3M`|EnyAp)si6mIRqtL{jnX$KGA3k;Q+2clbAQrD#5 zm{mk8j@CVfg8aZWe6~SG=zlm2+-R z2@mn(P!j(5>iG~qX@^UiJ#Y|zt1{ahkHFocGjja{#6O0wz{EbV$WQaWqAyDDY?yT8 zn5v>Rd!YbcghY&^7KMmq5jQ(dL!0N!Eu(e%V)Uv;k>xoBvN9QzmOzG$_(=U zdGe*g^euq3eEohu%M!OlTtzehHnsn@sWhLt6upYSp=#KH?{Kbs*Bs?ES$x>GZ`@*8 z^3Ky*g=rJM4ytwc_$Y-P7x$OVp6|f;u$Ny(H>SjjLkqu(s0&9mr5-b~8w$V9*8sLV zXRWpzAV$-sL$JAm+s;G7@sdQ8ZbK>ggb07xzymt>Q0+R!7R}5&GwV$CRWsR0F zgp_;c<(e?R92^gv9VNr$CvV^^URn`!`eOkD8^Qw6;FZ(?PO{zw-b4;g$_IhJuQv+x zfGRPQ8H7_(K?MvD(tmg_0ke&XQdJqGOWRi(Eb+d106;2PmK!|)z%%ESaVBtWbrWDgpMW0T2`uKZN`6Xb6{p<&Bh4rbRMn`8?)V9D`=*by44X&ERh&M0o_X8s#O9hB;?z zz?mjJ)Ox^d&0vGOdv%vINioJa6(eJ+fz}F{R-WmBzknpb>NLa(6*d(Lnh=yc5=#w4iD7m??1mRwzs+9aWXC8ML5!ygsUfF8q0PWN z95p26WX=alGDmZ?_Qp<9AtcsVwWOa1MxoXLELU3qWXNtf;(T$my9R{891oNf0fRFf zPYD882}Nn`f`Z4WrZJ_J?wWN1z00Qr&4`3Z=hOdO)aAWLa$-VM{v0V2#y=LB)kT4I zdMFyUbRG+YMsUw}pxEZSOtgk;Emw`RP2gbZwHDwxh+(hxkeno$N@1a90Ae^D4BnL9 z>I4=GrO|pVkc5jqkXgCHKSgsm@=az@<1EumD78>a0fu{l1pF`80Pnj*Bqv&57 zapwjI-fMuND~D##s}LN{YKi(ys}$xlgrP|;mjVFuIHwm)jrfo;5yxZ&NAF=6oD%>7 zTfmNf_=1B4Y@oz4<`5ixxi@=;>OxEj86u(roJkxap#ZOrT>Swu`cuy$+Xh!i; zAerW$C!Fc8C2?>i^d6@*QDRe`6^6l$^ej`xnHSgStAyHmJ)&VGWWvn_kT}p{)KYdH zc8~crE;fa@Y_-lB1;7xE_K;vX)Nqs*N{7NGn{ryY!{yRmMTDF}pbtD>38X-c9&6DP zc~l6?@0Qp5^1Q%22PS@>d8W$F#=Sp&!|-S+vJA?QS~JsZDTNj)In*SqkokX!`FnfZ zPlT_lZO>KzdOSO-T>{O|l43CtGU!GUII}48pbQs6+m!HO95Oqve+EX4n8sH(9(?`o zV~srWzuVd?swE*oac;4MX0*Z~1U1sx&#?q!xD$ZI!aT^sPIf*XwJkER12=o@`?OcJ z%7-~>@|bRbP#7%`=AkYX{cOis=^^u5`U?G{eL>Y=MP5k1Z@a+7pSey`YsNF1)0I1R zkS5%?kBQs#h%zIYQ@1!dsqJ@1k$y4UOf-D&M&7c7jH6AWyZgmr=*6&j^F$^5x^vq{ zKR9DmcIY^lY&+jWSM7x*2PsPM-JGpymwqc3}Ct9GG&** z9CHcxDeRvgQ$Q3bnZLHP9M-m|zYN$U4e+DCs0k9&v2vz7OC*kSB$FBo0$Po(%y>K} zKP$R;Ly;o?Rg(leIOE<~2r;zNm`1yk#vVwp$WfK%1C%Hcnh8GxL70~J2F!;4an~fA z81HF>Guq}U?ki82yOA9Mz=*^UjgtY?#f4aUyu_o6pcrATE6kD)PTtr0L6Cl(?MBbNp*K=bjd z&yKZsYel)p9O8+W5N9QfEjS&{6k*A*J}|hXY#ba6Cob+5|MKzzi~Ij|T&dZ3M3w4# zPwto0kJX3Pf7b7)R~^MxcH7Q~Wn^+G%!m?vKXHXP|Q4*DUHBLkD!qnmOY(a zm*@X4kFqlj*uU9^f8EBbfT`9heeW;ok%h>KJLCrhA^ZvW#DjVJs z)S3USC37n9H%`AP)oj_pvBOHx$lht@bqiro>QRI(Q1wi7W1k=Bk+$-_?NLt*=v#ja z`r7{BraxmpBt)X=nkm#lH*<}zw`&-rO0c!QqT5h7P4(r)r#n^|S5F@IRiZ=ti4LgU z;kvG^+sDu+WY=9nef`3!XzNDRS)w-m^vpAvdqpnm9c4aZ79!+jUczd(^H=W` zC>UoSW>YVE$ur$lyq;6;_jY-Ys}j}te;SJaz>2;4OfdZGug;o7f6r%M`AwX^)-xD)h!#;DHfRQr2m)($$8i&Gl^;BD0a zjEz|ApGFtbPrG_%hCnzB`%1*VvNsjcUv@tj{?Ac{mkImyNykvJ%PxHUo?d9;8(MnT z@IX|rSHs{B>iD}&)3}4_u>758VuZbX{7smCIrV$jD2ud2Iz@5k zM-{-gz3F~;Zj<{jhI=Wi)l;HsdQh%~lY>gux9q`P%gHB|9!hdb=6 zbt|i0-b5Z9um5ppl^DO(SM;^q?+}Vx&h3K)9ir&V{`))D`TPG5q>>}*vR}PlyO7)? zp%t?F`rLo=Q)Kjbym|9Ke4QCt0rnL{nq3Z@vIx8ab5|BG6&v+|_78%mJP zFRyKI1Fh`mce7VgC+XVV>)U^2p%(;xS95iCH`%MsiFR-7y24-MPhp*J-SP>GbvI|S z>r%zA6MNlWUf*^@tzPuP#f{f@3H9|cqiVWqK8bDAbj@yA*R;#F@A^vqe|VpTnS|Rq z(r){jU=(b^FxVx*f@Pi(x5~#|W_N87#M}Ni(W_tcjfsrm^$KU^HCnqXOY-m3H&^)X z+%5V}vR!9&u6>}{zC);DUJ9=+=d!$BJ}lIBi+3)4_S?L3Z(Mo#_mA6un*(!l_t)CA z`vrpDkY?HK+|N!ND^J}O_}$Po{tC>L#pyzJ9GvBMe}0`y0{`}dz%f4g{hzbKw)_~i z2aSBy5gY0a+3i2retlAJf04IRQf*#;fG_`EYW5fP==z0Vm|kh7 z-3D-mvh^eW|3zT&&s^&3gC#TjLpxHR-R>RU{WIQ;KaH*pm2b?H2RIRpU)#MV{YlsH z`To*YLn(*X9^ZXkUflZ5-HozMul3`0^=ri9eQzV4CGn?5%;_hxAh{3_0{{R3GGkLP z003@P`>IvI)k%L&bK9e21&PMB_%~4y(Db>vfX#qTQabl3@4smI06@_I6%hc~9uNcP za4xz&OW-V=T;grv4OAAc2H6T%3g@n>ucE5{gHR(PVSjyc33A?^u?6M{)(~shF=&+P zZd=|GEwU!IfxUuE5?P5iPrQV2007JZ9nAsQEu6H4^d{0*C`;tK-7fcylkYoW^1%~C zMFb_wZjwv8?!3Dbb|=?ng7!gAOZ$I=|Nr`kcOK}aBlM5bnVaj*^_}kgJ`eOr?0i$t z>8}TNODoc!a_B#Kjc352Sm8Nzl%49*IdHqu`qjPMZa%+{+{;`)`1iE8o!QK#C++{{ zi9`Fp`B@&i|CeTFJbDEl`K4w~|DQed)5EUpp`Yf_d06hY#II@THT3Ov@3Fouc-Ahx zFOM|XdUP&)bbq@=`*E4S_U^l9`?lk2wmUv;t7guh^6C;gr^o(p^tXp`;xoPlI_y3@ z(!g@&R=K;Cc6Kwj<@1!h$!yj~$=UQXW}DyiwtKUFoVi!-uj8W@b~w%HM{K5 z{tR2#v!ip?3IQFdq&aYo&r5 z;K&X8aJ>9^`>2w%N>s&UO)3m4m4kY0?g%38d&EZx9?%4ACrZv41UxF3H@TyNO; z{$|`V;hJ^j z`B3+ifufWe$izdYq5}b3NQsb5$&$YjND;<$4CYP|F{NX^%<{TLCb+HAM6aO6v6OVe zS{K8S9(DT`p^qJV!kgdXBd84#3nO7e(}f=5My zsNg6jbfuxm&p9M2rFn&Ty?6&sI1@B|b9AK7^L4C^ZF6HA6Wg|J+qSu}ZEWm~y|HbZ zZ}$6ne}BzAeY&e|RnIxo&of=ObS##>rP%VA+gPYjCNebOg$^;dJone9+WaoU0`Z zuH_lFy@J&Re0+);9ugW9wGfI63LK30liW9x!p<)e2kbp)5kuR>Jf)g*vY&nShY~e~ zzXVMrCe%q>URwE5lh!9IN=%ObI_&%ONyuM4OD-qvKCgK~xqqUJ*e$JZgNaWKn>Ipa z)0iv&S z(Hf$Os&oR^z>&VUHcO(Ye4t!v+S99Mh*#C3t0K)RxI#UXWJIP>o4UCnaCiPJk{B)p zTWZO=n{7vFG+y<<8+^8kSo zWt`?+Ig)K{;;7$ULP{hG(tXsevI8wxGpY@KSF%CG8s*?8rA3VDIbGWijkw)ht7cah zNJm1dx*dy%ivc)km>KU{k@+E;UCQNCGffNml0OAT5`W@zQV+NW6eaV`Ri%VcTjOBI zZdssEi%o~ig+mG3Nw-~crF6!NH8UOrLR@ZVKP7f0g$C%-mX@q75#q!{KCCP$%WZ32 z81m>| zNmIsrODgpV=`~fENSnY03THV(8LY~iAfn<}E`mV9bUy_?oLOxR2zySTBwJQgn3E#N zq3ao9byojLO4b?x?@$kDifVP^ylJriLXx1oGP&b zDYh0`iSx0S#DvD2A0*rLhk}DqVhmVEl6{G19yN4$`J~}tDxGpVHIM4rQx02A5M>Jz z;3pkzKj>R|kVg$qO(zjEEB7LaE&+PeK3xi$|x{hqn?9!=mhbXWO=lf z)#SQh2F!D&3+b~%dP58%Y?BbBb!$47xTjST&*ui!cr4`Y8Dp`etEWbmD$e4u(gqXC zyV%bYJ|TKcDMwyaRf|esSM8#a7HMmfz5FE3aj6{@+;4g1Rv3B9l=M=f!L@SYq3a6z zCAnIg6?Q=>Q$-b6!w%0NL7%93)#%vEG3`mu9G@Ki#_K#cyh@1B3q#C+VZ@``*f%=7 z>b_j722-_B30Q>GqUU-HhO=Ax_Pe#E3$ zj!g4Nyj2t{Du#U|+|FkQlyr8RYx(pl78;EY3ut#KGNtMq6M@@jhdc9?&vm8jv+dJ9 zz^iIy1j1lXE*x zpIR~@ERWlZ^uIOV11Yu+_bOa;&KVg^GSKPC!c@Ui6DwrunFB2)*J7*;4{qv>Mw8J5 zYa!&plpQf`GDF<1I-`&_Oj@=Wll))#Unu;NI==QE)E>noYdpj__=k1l*DbaLx7b%U zFDnDHZ2F7$2WVGISiPwcd@f$f5co;dvZH3YzospbAAOs4e)b;$X^yBMjw!&B$bey- zQn?z0Ic~BYDgZxIO}C%ZV`Mm~&|<6K;wvp(2-7pTO0B0e>Y z^|vf`X*5@0PYNHatgtUksw{NQ?O3P|Po53U4wVHI7ZdA#G2Ym5Y&S-Ym4~ESYzAkJ zS*A%r!FCATD`<^!3rCN@D0!c8c{Olbz)~69qR|(jzcl0ARl2#9AqQ&n0^OR#z0JX!`YQ= z!N5NVY+_%(R9z4e!d5(GbSGep!=^V8GYP?x85$TttpE8^=9?k^&$58>kUmg%7D2y19JJZW zJ5AeNE$l1=VT9SsAZO=Eo)mQd7-V6BE!Q@3AcL#WsW!Bw+ORoj{9w7azJFUVA*^>i zTa&XR*|x!U5SZLSHY+qcracj0{1bL3Z#&lK98z3gh0p%~`=Zq30{$+1s2^`QZn-+#F0$&_mMBSP?sYncC+#ai0~4vv8BF-#kr#HmV3 zQ6^cOHd4{0ASpoU{J#w0lSci{eu`kmR3-!zK2R9{mmzcB_}hOO;uVLr5G4G!8_v9~ zr1o6b-+4F#yh>!r{$uSKUq2U|_mB0QXYc;Mk&XCs?P)!K?(1)V2#FS&&W2>`|8^#8 z5$xvQ&MXE+X8*TWLQ78jz@?z{q)@-{JGa@hog@D7Pbrfz`;R}LrQr5Izm~lA>i;p3 zb>;&6m%p5|j41bcKpJweCW2)7f8T<|ptH*VELSgr1^@H46tpLD)QD`ya103iTUq2M z_H~Zb;k&H9CC34lo2e7*;E`LZFASO<>K+p0Ft53&mfk9~l~vH;D(?r$Eh#$lZ{ z0|Z1)w0W8LEvE6G>ZPy}+rOvAobnJLrLH%OPMb-%eJIu!66VB&AW={*J5CE)oQz0o zbl%Um)Gr{Y0^py-K#l$&A!a9n=s8)>y-sR}{Q<_1Hi1~AXu1W1`wf+2uD`3= zmGW2k{M>t;&bwpKw4U-dy(@ZM-7?P)F9*a|U4!^dS%|9HJ55Y8&fryE6N`>-T7JT}yCC@UcJ# zXBQ*@<^BDttZ;ej<<4idlrBr|e)7KY#ZgjD1H&Zob2&XpUultyTnB9v^s<-A`$0Wuig+!Z=awyMy&iTY z<+$>fuIBqpf08|g!PPZ9=yyIcYkv)HE2IZur(r7^%s8PLfScHonilZ2f73#CvYNGTYMI zF6;bz;|SXRC%&%%ytqs;T`|VCpy6PqYE^yq1Xksgi7Y|%kP z1B@A0qaYApyl?z)nW`Ty&K;NLts=@u|4B{K|L8Mcd>1ee&}b*YNYGrSRg$Qn9v!wK zHCx$Vr?|VpLS&_8+kPHEmNiVWTddd3W%q>;P@NqcL& zZ({zq|JgXvc$BeQN@>9i@7?kAsEHmd^uQ5OiCD@#MVddC0vjs=FGdWDj5sajK8Ee_ zl2DInd<%f^Z~V-qgpZo9Lk5u!rBfaQwGLn!EWt8~!OfPtWTFt^*S8-#!U5XfVR2di zINE8rUEw;qxN^$28T-15y`gux$hwevRl3}yu)_^0;+Iz@Dkw`Jh5<;x)w4;YE5$aT znv#kn-fes6zGm=Y-`>#qcF z80)|&dJT;$LAxYU2b~2olJ!SYRUWRA3{(cN4~n3^*hn0RoN^?SUPiL2--M~H*lq#iWaGeB25bJyTLXKq z{qB^(WHF3lPNM~yU!5?hJ(@S!94w{a-Ef~D28$3?vUn!bB%a>nOoEKeGqaBtGALkp z4n1+4FLtO+O*6p=S1b;lIx4O-H0n}*9$Xu|XcoAAke@Le496uPpIJbY%CHqLJTxg! z!|ecrZU%B>x^9X9y^1cEpsKoU;@_`=$RWucYtas!o!^q%NWt5pl+N&TWGTvjE-p$Fh6b*Is+s>=bqf(=!-l@bhW`srG2a#i&#&8sii9Z z(nPcUP!n%6q-1Zogr-U!|K=NKF*=-4qr>&_>tk9*cK_p}??SL8>UGUcijS5FHMoS{7HPJ^oS0`m*vx?c;=6LP zl_w%V;nvltIe%c>G$}$<9b>ooM7%VA01GSp(KW#CQqDk!OBT;!MBT1i=IS7wkNcD3 z>rHmj7+rFg+}QQ3Yj2*LPuFH*wCqZZq>?FrYb4?KgepdFP>hqKVV1XLO4e^S+F$+A z{oU2f)+O-(1m-0a-&;dBQ(p_qg;%F59Bd&Rl3Zn%Jp8~|<$PdG&aXVr@ z10UT6AZAA-o*vi{IpkSmIO^i;@P|GW4CjUtC8tIEvw<^fY@mZ+VG_A$wG>w08g4jj zQotu$@$NQ%!ZudHz4I~%i^xx9;2C+DkckLvYPQi5N{H@&HT~K1++|KogubRD>3K+%@185mSojl0=G-Ums0g&C!&fDc7F znC6;PMEave6Kd}fp~7Ty7bH9-{HM|A+H%Dr(gYSnB}3pwlHo`MI9e}?B2s4Ney#?r zSf`LqPJA}So84AoJ1mt>hv~(-C)%SHKZxCy*_M}0$kh$dCy5ecvN}^uUurCQZmFb2kLDP2tZKf>W>i>T5V& z7l|A$tE!Lw*fBW_yFVL80Y69oM%h8_QFYo&%q?H1kpB?k+!#i|+<;|a%Jg7F_d6t^ zrezAN-S_{%QDn2m&SrIPM$^!dh6ruYie){5F*S3#eQ5BQ{bI(6s_6b~+KN&=TG2c4 z%OqM1!(no9noEJKXohl`N5SF9H|;OGdO*k`aLW2UUzjC5si2hrCf}&EZ6r1_2bXNR z464#9wE>>jK$w7s1awqvhAY*Qd>NSHToBhTV2{FsMBPK2;7ln7#?C!Q@iOkc`nRr7 zlPqCfhC_wQUAG_m6lp=nSGh~3t&h~sfcTx=PL{X=g0*zcbEgt-X)3bCM{4;<0b|L; zL?5oZ9fYD7gQ&lG>>!*?b?}Ytcz*h>jtDZpaw6RyxVt^k^fe!|iMYZ`W$^MBrV5LU z#2U@`Pfr6IyiZRAiW9TMuSN=Xs$#TDj@5`52eE+{jrc`s+Ithn>5PZ`m9@EjYlyb@ zVUjSl?5dg-es4ooeA4>fpkuf@?Ru7<&l`NMQr8V93W8YWW3fl?KdozGW;S5dR9=p% z{CF*omJ|?ESl#tKLC>6xHGK4+GxO80^hsw-@xxB?JX<`~eB~^Z?%F-53!Qsx)H}OjUO_x4`u5rg_sUhollQuCO^P#-Xg|3f0LVhtxK&VglJ4*je+YLtZqy zWswTdRBIX9x^I+o;|S$!kzhrO0z|N;fb#hG~@=C%tf7~4OI

9j2_S8_nE_0Z?2PlWRNkw*8{PP(2&)8h@hWH);7(oV<>e4tm6?0tN7 zR%j<5$56Q0a1gYrLas!GN0p5(YilB{j|J{Le-necLw#<8m91MA^Yk^PFFVQ8Qd#>UE&ba1Kc9W^(N+e{w>D)s$v!_oc zV|G7l$YtT$hG=hV=%!RSWP{8d{)9ZC4W{PR@leBWH}daCZgDUmel<4wi^Z*=bxKp` zZS(NLtKsID``_MGarisj*J(@9fIv-E?g0(WcHKy=gFs9b?g4SUnba^22MO~3`0;$t zq3yu40wq-m0yH(dH$7;`uCKm{25BFQ??Zk|UgPh7ch9lmAPoW|)d&JT)ypCE*E`lh z8R0R~83rsF{I#G2>wI{$IQ<%M@c76R(OtN6!4bbYMjKl@|DhK2uU zU!CnX^#ANn*!{ErkHPrx?%Ds%nC130L1VDrB!Hwx$d!A1=m7A(M#--5w%;rBP#wFA zm$zVrHOOkghpl5NJWv6`yD-w*oxXB#Q*-Q!LOQ$qyPkZ;P~yBOV@Ku->{ve>wB{i2 z9qRbIwQm|)I25h)Xu2$SFu@&m1Wzb24NwXr5DU>)ao}OQU<;Jm}y1;)|{uWx?!!{W6H&8|9mA{|?V6V9%Ee-uiHj)Xj+g*!nl3Uz-%c z-ofJU6tP`B$y|To_szd|^x+n5R}Q-$VI>K7M?u$I;pX10ZV)NG%OK|yYhFOD#}ps| zv*6q5OHV)-pW+Vh>VS>hQ1BO@xHfd_ac6xKV4%Z$-U+R$RyTcz|KTyM&OujwoB!cG z&DoThfHZKR^w}o}+rr0Q(Apos3Ee;0{BdN+7nRAK{l2L z32m=sC5*DeP17hC-~At}X^5u7AvFKTTrwb=7kt`I2iyfsSfvyUK7g5acZ<`->Xibx z_hA?<(8Y_vfSxw68dWoLEAm`qktgt#)9R8`yzO8LE7t_39K zT-$swP-ICDDGKm^xCclx95V2P6KO(Nz|)FS?#=UTNKgz)qGIR7m1kj zX}8DjeCLbYwDYMSXNzW-sT9e@%Bhs|?Rl}MMYoPu?PU$clB-%lcF$!!$+HeSJ!Io= zmpC51=ErrpKaFA+>+Q}hx?#TA%m)T6Po7?z-?voin9R*RA2@wJ%uD$6((bEm+o6K; zTk0)}FjX>&F(cshw8%)(=wF9&Dfo5=Y5jfUKjnPwKFNK1?uFFopQ~E4lzPgRja*K+ zXz?y;>9q7ZNwP$Y$Fl8-P~3VtYbdl@NGHH8Pt}rFGqjWR>T(P3A2v8wVX;=H-~X!R zR##qIr2KMUd97VkU_P2TkM&_4&JN<}S7%c<5PN)x4o1G!a&kdDNY1WNjSFYPTj=?$ za1F+VYOf-?pb$Z2>|4X(2kPiYE))$j#CJpw- znYmyA(8?KGTAHx3%K3VY^_iYDI;lhv!-Hw7BgV1bhH=gZQ)1|qVt(Y_CY($1#2|Ib z;?M;^f#A?+f(zdh7f-behS%^QMn5@1+UQoCxD64s4r|rs<(9Q0I}u*@1savQ5ehfw zWR&;EIKswYWNZqNbhMoY9PLnnFw#M>*UG!`irYe*-BfZKDCBEqdMaC&xI?<&dtakk zrtL4LGMK{6_T>De6CLhk$b%LP>I{=V=CPDIXz3fb7Vjkk2dD;7n^72x&DNc7xN)r( zSencUS6sgQ{ytL%!$Gyx5wcow-lvQyil}f`vj;)G&b^Um!lIws4t(fP+6JVfgK@*{ z6W6mQ2jC@bS|{+=u!zvcY}-t20;0YcBmZR+#Wtuxaz=y%Z1##Y{4TL+EsI)q8^7r`;|`NUzRpGNI}X~2y;SP9v}15 zXL74PTtR(_tUFa@WnIaB&EB8FusgX5uNn`^J^5t zrJ|8&G!ZPy%^`t#rWG#Em6QjYzFDYg{!%{zn;}T6JXInCX(sWxQIyeb_($R3#a)UivUP2?vWhrpe|~1(KszJ4y8wQBM9r}E9`Wd{~?|EZd}G`5tL=E{*%0;nJn5RDELXpOnGKdviwMpLLB=b1Ka3o$ziRH zbB14PIWQ062SP)ZA&qbhv;y*iHdqaX;%0;mUCXu=c9A|Z8{u|e;CP#2WcYU}4l6xx z{-*IpnF+ZaHWC~~1vajM5C|O&lmJeSINI$fv6hK)>>c67V0!A$`XBrXsskgK=8uEb1K(f3Jl5{E&wTkNX3sty%12%XCKn;BWo@!n~o_ zYIU(Yvs`A6+MIfAzBT(kswal;zwfDh^~=H5haH)?o5AgQ1gvV{;%&V8;R`Wq7D=}A zKKARm8vD$+UM0bWNLl5kA2Ok%0~CJ8#!TvkE3Q|RU-#@<`b{STQOLQb{}JdUDRL7B zxtR=M_O;YXs4h%2sBpaf^1~b3v{dhUl857n82Y@v@JpY}x)a5r?%`kLw6LvnujX0h z3KE4dxRf@FskR}#EmkE|)^TZ(&FHsu4`LwXJ9_t2p_4vnFbe>eY6;Uk`JJ)?1zw7f z$xY{K>ILW)zKwC9bbi`RERfWaoG(0>4`0r?ght-yT&&_i>BDmt1gHAlP{czMv&cN> zp6hLUH!n+@#)XzLV>1gzy3^@Kv|6HKk)kmL#c%5Su2HO+OHwg1$yUGOLPq^3db1YN zU6un|Ll-C49OWbwvj0z>=o(aU$^e7oNOQ^-A1YniBzxzQu!90LVoK_~1+P}>D? z?tDKrw^pomagPJQdNa0uV14m?o2lthP$=Z5@yi0no=&_QBiyj~sa-(6Tx>K!j z&DFJObG<0Y|Ds}4*w6l?c%@qH zUey?mo-~aQdC%&Ic!(qCaQMWyYTiTjINo@iLEI>&Mdg3U(5730`3ZY;bq|h(f&SAj z;*@~1(8pk<#Z-$VhdQ(lCX}>uF1aIzass{4W-#cvE0e_|V^j6E+%ay`P0vQFnlgDW zn_`!7Xr1<%{DJB|dNR(WBR&Di=2{q*!yWEuXhAe`3tbx?kXf-8{(eLW6`zGJ9 z5-~(ynrYG?WIa8kBlK4gXZfE<5k%C!*9bHM|n-&3*R4Fv}c z!pwF>eyQl%{W-78P856q$HB(mA}s-FR=Cu4O5|(Mtw9am13yV3LLR4uI&J+U z-fYUIn1BllTc-=$!NPB*V3Nfa^rF1KTm2|T*fV8?v$}H~1_rNnzOXoS-7a3vG{1EA znJUZgy5r~eHbPBhVEyu(+NYcSRPD(Ifz*7cj)+ee8MctkrD|u7`>(fly-|#~*~y@F zDZ-<1Ue9Y=$}+h)h4+z=WJvl2AKP+OVkiha9=|>i<*GqMSR41{Q2?}2GMhRDY(o&f zo_cRU3PPYUq(gUoFDNxW*eJZTk0CIGDi2g5p2gcB2yB%*A{n>ya|Af1`Zb}HE6qLf z4~DvJK=!#q+PY!|7$PjUJ05wtW`Qk)=D#)XvbN>whW|VU4^&W;X$7Pr1a`tfa}v#I!CV>Lk^R3}Cq2 zX2DhbE4%^QV}PI*Q9P8GYD=6IcrQo z^8sqffA@BKc~|q8pOWx=t_Igr#aBAjY=&3$i0@>ltMRz9Xh4wmt=p8l?o;#BSQGd0 zr89TOW2viVAS$!3uOXpq@RLbGHD$z^%-Z>^k=d-$^NE0q*=SN>?)w5WVo>@GYUEUe zwb-8-gvunj)VtjZKS;|uu^m<1*(tk_N z4mkza?q@1U97k`l5hAIL9^iH}EIBYbp%&#=M%*foNQ-Rf33ru9X+!~R@4%%JV=~SV zi|GQRo;NL!NPfv$aZwc`iu3VZv($WF^q@Ie0|Uv_1o2xLTM z1HeLQ+U)zvGD&0DSl?&TDjag7?lqPq4CF6$IieM(c)d6y8XIxJGDV9^AGzC| zbORPV7osFp|C==aZsV;e0y+S;h+Wdmamt$Ni-!_ zR~#wNb0mbTI%CzM+k;oGNP>p~Mc)y3Z>)?5vV7TYV|4{{#kqtfttemkdep}}D9tj3 zUZ@g{44sTo!$hPZ?;?3HD~3F1R8oc_;s(OhzoTX6IW<24NTU=+fnj(liZ-k3= zRI`LPB0-KgOFbl16-;CDdj%;9#14&2f*_=xBQ}h1jfRFD#s#Q*kV*!#MF0Z&)A)Rl zin05nC}QttfYqdnmEnOiye~}NKXmJ_umz3ICVDv#&!B~0|4}X&su{$_aETT_ zeq|}5uGF6jmhT0AdMn@i4|#(JBg-@Vhq967^ZrAv$nuE)p&4X(|NqcD4Ap~FnLGd_ zFtSr0G*v!75F8BEBaf3dUl1Gyit-kCMN=>s1`RP~e}GS_X%+yq`0qIs0*ILvi~&er zSNXBr%wL({Nt>S;Yyz!KdxhF1gp92vfX@k`0C%LJvC1##$u92|$bS|J3l3-<1Qn$F z`n;9Eryp96c+rP|W$1iZy!#q-VQ&a63}KHbko-M>%O zj1RnzzwGcmDn&91Ti$d{Kj-#QUM=l(9<+{)-cP%A(_%Ku7F)d|E2lg@`ruzPD!NxJ z@jU5bTskj0EipgtQ;W$&!2At0>gOSVos?IhX;wcHfCX$N9Cs(Y!#1gfTDbjT#-{xy>auda7j`F?_RCFxc?lde}^=fsNCJQ-7xNW6Z$l3S=$H6bXfT z%}!~Z1PBRrQr+NJ#n(g)hVTyXtrTZT+-y2y;oU6$bn=DZa)PYcIB z8KPU&`!E11__~VB?8v`ItVmA(A`B_vL+@`>CzS<8E=YoEAiOQsuV=+Wt(=M?J}gm# zb3l?&b^xh0ZftWRp9GB3QKgazgZ=z%*zA#1Hg_*cG?ibDfOrbx_7eq!BM4fJ5H(342$zrYFPM8{*bqrPOoK3;FtR7E|BLZ=X#{N|O-i5uiNx5hauN9pA*5e&&6OmT zNo6QUV@c>j(6VJdypZaR1)Cqtk2LgC}>%4EXNB)kYzI%P!O+#@Fg+;ePO8-_ZRQR9}D zJFj!-124s~ug>64PYGNZD~@nnT}JQo)9&*pGHRnCkhxwxv%#BeZKZUNy*3aA^kVh> zH4-tmi8Wr$BFoUSI+N}mntWKieQFVZ>UHtT)UrRJs?aIBj2n6EIIlR2Da;x!?HnSr zxsER9-s2Q=yMrXH(o%_SY}jw%pzN6QLCGy)A#I-yOP9a7Y&9~uJ8c_!y2xf{*U)GE zmCGE@bwvpJOYIh>s@Wr}t4}xq^wwI_Z1ct`vM!GOeUtCp?f1FYAbsL><+^pCNpJ%) z*S(sqGq>K^F%{;F$e-mHgv2xmAG?h{B9yX06($Q522grC0p{?+b@g=A&JCZuf;_5p zLpXU8!4QNea3XiWJm>k!IWzaWP0>R3cEdG&b^ncUy3v9gq6W-QZ=W04HI0C%UA1nI z^S8FZ0p*}KjKmGdkZX6qEa&-eM}Rudl@^61cbUuXMZ`~0NgZSnkt8KRL@jVyT5^$G z0oNZ%*a{-v0O+ooy0D0X#Zq;sDjDTyEp~oc;*f^=4AgaC#9h2z>X8~dLjxM^i^5Mi&n0he z2f?ob7wfowt@)2`Y=x>HqH3#Ln=Gs~EIqV<4sMHgzR_90`3z_+4A_RD^pM3tnJP+d z^z!3LL@eYRcM!6kBb3hB+7XBeVXgbMk^U&l;^^dZ=*~*dBm|syl(K%nuVnx~z4fXb zzrU-CMM$*SiMkkj5+;0f@B`|z?i)Xxw{$58*^hOm{om|=d=~h1N?ZE4QOdZuwGe_p z8YyaBZBe}M7VBmW9Z#7VJDYrZY*Lp$v^7_6NuKE!obbKp7#Vs!BjBE|w(ZYt*yg_Z zl`O`fWTS3&F?Md)UfTdGw;Ei1onXA3c7GsjEM_Scx5n^#j2Dt#x+AYMu+FK+O`1D!D&s9esb*qmAKyhM$Y68Fz{Ppqjt%)+IYI2L;R63$F2u^)`|?0Mmeo8@ywlgnfIEUPv4B$qmf zKjH1YQuJ&6H~{hGls4Yyer5ERz6b2)Ut}@97^Ai4lO|o+%H-=u3xc(Nxtk|hyX514 z7*bA2$U^Mhl0L4ae*Lrk)z4?xJhX#4O$_m>_VB1Yq{QE8yO9NLZguk!X*K@9`A;FT zO;SwU2ZNVhhj|y0b*Apa8`CSc*Z2F1`77F!rNVb9skZBC)f@6HGPw%=GWs%BeU$fN z+P$MI>=|!5hQl|>etMd)Uszl1mzcNhLGQ`5TxpS#=^AqxA^7T%% zuwsP<$K|k)@X+DA&t)l(3Gq^0;vsVV#s|M8F_-xCVwQwRm>npj zJnxQIBVJ*amabD^qu3#A1LPBt%Mf*9(*2{xYE~y*| z0Jz=>5K^7Lr5cO8KQL?hXeBui+9g(GDcsIPe{5}|vd_i__jqr)a-RdQ1`Ukxh z79W>>XnYvVd+DhmRD9)E@~5?^*>&oPNuze|F5sUDVlr-1_-XXq%<`i{5h)F~5SSb~ z8B6i4rHImPnSN@U+RE8FpLI26@lQ;j-C1k28P{L}A5k%^U<8)W*NPZtNy#KT9@Z-! zm1KWQ055woLQUu1&z`YZZ?!+jJ=qQDsmXTgYXDbKu0&W+RTCQ^eO+3bD@$x$!H_AY z4N7` zb&2;=j|wgA$oEoj)@Mi7#W9aOL!_KPK9@t95xur#=y`Cv{Vu8Qziu|=s>URSZQ73E z-mt)+$5DjTe=T@zRhNJs@I5k4@g5#;sEyHj$uPcq^$6XWOdxOs+sCLxP%ar5fLR*AqRPWZLD(9fJvBGGdeFCTnV`|u${E6+pdhz zq}sy;=;5{Yb-ns{Y@B9kuTy{h5*@>!&7o*5`+0kLKn5o6r*yl}`S-M|N9cLZ|L}83 zCJdw~P#vbEz*xjpQ?#j<#s3}le-3L{-l^_j*jh zryKd*5FpVEZB7X&fe>4eafPVZ9GiwWB3c*3Dyi-3ZJgRg;y|{gI1@9END#zswl_8* z9*zW&q^%tLYTRKIJ`dc(eN>;)Zi=tJ};BG6U9ub*R*`x{4v( zd|Da{IGU3P#Lp&UNEKRYbD&(1zto{mWcXUSg0%V|m6kidH%6Pe6 zMo18*KYEC)zIeXHb#Lc_V}Q2BsUk_-uoN7sY$Px-0y=EB+WPKnVCSCAV3ij=tffRC z#+k=tSQfgh-ayX|A$P$!Oi~<)#xr_f-!*SubJFNrv)eYQO)X|gTvz)&7+OetW00Zp z7|S@Z?#_At4?51!>Fv38b@aL{JFDVZ6{MK$HXjOrv6p5dDOy-inTF_E5>FlQ>sDqw zCE^gqiCQsh;pS}A-6H+MdRZ&YFe(=cF?@LYjIh~QAQ_rRs(yws`>#wnFN*ADVd*fN zQ#ruC59K%|j17pf1RZ&}SV3?FG^N;WEW_cB zAH7Gs1rBEX>(GnwGkDQKzEN!zG%42IW^96r=sIk3z$ZHxLKW2^tp_n^Brd#T2p+IEY3tjJ!f2okMNSr5+W#`01I(l*9KlR=Ua1{yAE=yGiV+p_K3rig zm=YQqFDa&X0_`S$0*2>s<5yR>_N+;Ygua6DP#{yxnC#9-+g?4*m^LE8R25x_hj>Qb zr~sb0Hk6l57dvF>0!KDwpf|Zv$n%jICUnHn_I4SoI%Y7MN+Kko$x5zZCtT#L!Xe9k z#^2!)*-R=*NaOm>Y%s0se%;4Bx?l)PKz9_doAs9ooE;j{f!%xg2Y%=?WZc{3NcT%GufP*G%P~K=X;N4D|An8)C`)d z5bR4LP0i6luR3SVirz6stCN}HlT#g=X1uNH(V0w35hoyE4fW(ylix+293#{BGNHV# zA08}@yuR!$m`ZBx!b6g;=uYet@-aPKzd;9lAlMfk&11BxIS5#!EmSrqy&ev&&O z`lPgsgj~}DCVK>*qss({^_MTY#q%rz4BQ*J$_F5j5lU|HHDgMMBdBV?vIDM1?H_bU zy}wXzwq#KD9)?4Hk7vXQt}_y3c{Bn+RF!+lvBk8ki6@#0Sn-)28d&M;uvjtDcn)xF zv(XxV7uH0U7~nBAq@~942#mlW52&oPw(`bDpot0-B8LT>kyV_a$s;Q3>ly&l=G*D> zk0Y7#pA@;VkdWBLdH5g-ZX@LYT_r+re1Yme#fn7d8nhzWqVPZ(G1Bq~{*;ZqW&j!p zg<@et*b;0f$udqD+9X`h`sj>jd~Ah01dwXT1iPRdYJdw-dTdKNUK6#AkXdR13ZD=O z%z_7DSzZEQL@6kR3~d-mGBP!!S;i@~sa{Z;+PKYwS@6Oii-wW3tw&M2xr~$k35vQ; zFL;@ge3c292NjD5tPd@o31uBB!XY)XK?x$|9dd7ga|x%TQ&^BZIE;g&fpmliSUI9N z3{h3I9~BoE`JNTN9!09jIMAJvS#T-<1PVqL#yhb+RHBtZK=mhh2drPH}l7c7p8j$_v{P-Sn}d%_?>C+ z-jy5>hegQHFXbjT=SyL)X5zJI8R;2Ar<7Oi-&nXA(4B90v2L9 zsyAJY=>frD!N?U7(VF#XD~JmMXGK<;Uh9(+m3Q|enq=X29;)g6 z{UciOR7z1X0@4dGUtT}=O?+=0WEwk$2U%}?&zIigYtw*u$aq@XlKLXs+E(P>P$kT- zvjv}ia_E<@=#cPa(g$Dha0kK)WOB2VM-8DJ{3wz1B&yWSg*>OmvFa3S42eHHl87Ke zcuYMLM`Y|xFNBrRj0eq$M!CADYqSCt_E3oHh!rDx;ZaILl`gSX!Zb0cXQ9%V!$Z>= zTGsxcIZB(hihEJT53^0lIGiv$7+hQyZ;NzK@H*dmZnCWqV}cP~C`!&#R(usjo|T{l zPqm30d*ja;NqeV9vEJ5|K=PP`6NFb%t;o~178^)!h$j052N6X{99vLoM$Js)crO`# zXKw2snGO??uxLPQ6l7mzK;>3{apd$RWEX4i86&uxvR{aZcf+eW#HkAjl<0|-N-B=E>44%3m%Ub1^LkPD1=;Xak9t7~ibj2T zx;2GBiBM9?OaTsFJeN)jaG<<@>LK7jOhRA+|9TxfRtN_?e7q@7{F;{t5D&2j=aWEx zM(LmgqysUX*VyK~wJLr95wbXn3IW*zfkV%9d!B;gLG?GfyXwiV0CVkt@(G{w{HP^g z^oKAA8cm2ziw*;J@?pLc_nmfhWc zC#Q%lN$KG}HFtiY1t0fuMqyGe>=Jj$J^eWk|MXYB<0epiVUZ>!Q2@gQ)?a)JXc4SI zmsR@rn_|5#kzVXCo@#CMP z{I<_*)0H6lN9_J$UmnvwtLOZuhDh?%O7wX#`Nt{2}paB=^*-^N@Xpz?C!TsXeoOm=1W`f$+ak6uN-rtVv)Ep<~G zQleFxg4_#|$p&6Sv%%Xy*jDc{q$6_IXXI(0=Z0h@5;M?2N=GlO9k!cxu`*QMBw7Q8 zhjZ4Xk7Pf%vUZvq6ew72p%u0--N-njE3&d99mHC!1P)bbHmmxV28j!$(5%u5t#)Ya zru2m#MUrMgUb>6W^m;<-$$wMBJ!$S#vGa_ashh+aIK!cY|Yyht;Heil;E9iFR%UAc& zKV}WBBhNNX8mL6fR(nfw1q8zyOx6Q+pfIvGv@(NnZ^*Pz8Md7h#;D;_VAiZ6d`oG7 zEm(lV^3v25X6PFR(vwNq6`HFih4@q{hn=l7FwW#?lMxJxDyFsDO%6N&k;6q@-j|hO zmP->^2v}EXXn7@()JSYjfHrh8>c8&V*vb>%uUA$G3WDb5@Um4s{H0IVJLCUTW$$eNq#6r;`v zJWM#(Guq0iMJq}-;nWQtFk)jlCBEQU;?i2XCFUx_Fl7e7$w;vzl8G8;pmd=SOo+`0 z?ca!W@)&!hogP>>n?x`Sbi3(@B{w_bHQ-O>=g!ULWnf+Tsx}SPO3tTXqCS~HYb$Ee z$WrJ8sc*DvpXedIQlY}5ZXUpqaw{;nN^Mb47a zJvm(|lzVwzD#b?MthX{Pf;Qt3bacI-4=Yo$Kn7-v5>UFr4nqQ|^Z_Wvzb}2(gLR}Z zqlEO@N3RlK-d{EXwC9Nulft9NEBkp_eHpturb$Oa+oeuqMsy@2U?PBo4q89aXhJSH zDQpNVwr{gUp}Kal2I^B1Lpd_gv>XTR%@612>iBodvJdk|+WA`Owu)8(vq(E%c$PQ| z!ag&BsYS<~RjV3+G6{OAR(8rIr%(IPaz#6HdI3*XJ!L&_XD;rgR5%;kvrGP#7~qYm z=)hh$%}<`8g+f-&GM$i_to4QSAbAMudCX^y3ttW{#;?NWr-fh#07!~ zqDP1B)AwjE9&L(f2{bZt4D@N3$f@3l04AF4vT~psc2**Fnn!|U*=Ax7K4r{s%5N`) zx-%iv#l8;9Q5VwJ9uFUFl&s1->oH3VQB%|+7iQ?ncKUm0B(Cq-jzXfha#FOZ(mL7K zSMExe)TAj%_ZS`_3I%w&g))G?N8Gt0IL=`7v_MjWghd z)%!1`24OZh&aNhug1SlxlMs>wkT6x6Go`$6H2PxH%(#}1Q5Q?SrM%4!GD0<#;xRHL z7-x~=;%PK#k<&Ps%&ubSz}CrHYc44_FXff&sJQnea&|BrQ#P0*9{ak2U(r#;G@FZ} zJ)2wB-NkLANfLFeQzAA}74|HLy5wFL)Y&eMZ)hIqM17?xQZ8l&^*xn{!uwaw%DwCfb(4qn?VjL1}=(v}==+x|GDEOMq zZ0b$lQOkhj949fC+7uKvOvXK2jE^QnMr%HSvLfR6bv^pkbMu>x3rB+?_&)BG(H_y3Y}0zSSPJM7 zA;`AM553lddcZ!(E^RS20q(p{N11xj;})<|2n3*wh}*j}#D%xgpDX9iD?1Kd=F@_< zmZqqds+eb9Kq-)AU3DBqOPF_hirZ}n(o7&F2=$>((bZe~pdhaq>Fx&rM~+6fza;s{gssf z&u~s^JtpstUWzE#iFQ?j;?ktD)b2*}OR1?^mMVi~{|6poLTAt#ZyJn%GQBF_IZ$i( z?Bm5ArJ#IQ22;Eco}-#CqG1HKN>)uXhqytQ6oAw0846TL5+P=rlHe1u%lAFx8>BU( zcU4B!PtPZq_Fzy%-&?py$t--4DLn7DjQ>$6$J*1gJL1VuE1BN{if=4@tb~Od4A!qH zB{-uQbi%zi?#r~QH4&W!iYc%{G!nvz8-yoA{G|WSbya}hyZBMDCpH=2N5iw?<(TKH zTxXWvBUycutneTH(w+3_FXXcZ8PQ^`T4#+m3}sO+k&tu<6sAavNr_&k*&r1?PSf$Q z<4GMx4aXu)(k;DPI+_8mtWMHEK)heF?bN6KD%ue@dn&P{wZJFQhn2N}H7qGF3wH`c zeV?{M3FZ5G(9RfR_nn4RCTv1#BUyeARke9nn67~q_ff7;wC>0_8s zz9pk7Off0um^d8U!LNC?{v2h7pSS1Hwsx|n*Fk?pH<6!)I8~zXHPsoB3hsD1tZqJ% zUfMq=MK25e*19?jid-msvSx^NNBygaB~kWNwoW2dX;6+FDU7B;*Qq}wD}b?R>9$3u zk%3R}^}6j7QLV*%9eV7G&$rk9zg7f~S3nqB|5DN17d2l^!HrCqW~5sx703XeBKl$a zMMR@S5%<`15Mz|~7AyG|;2k{AXB&_4Z=V-dY({0Me>*yz6arPxelxhL7L6}$pLx#V z?#6YLdV_ey)aqz_zvoEO6m|Fk+uKk_>+g~*okO|JlDASbZgWR5mC;+?`s3zppJZQQ zd1)Wnt%J?&(Y%J669`ILvv==t7vGExCMhXOEdh&JvD~OzI+#T2fH$>3U=Ln(tDnIW z*9K0nBLsVT_@R5ZL1d=DEo)Y;!jEn@$3QhAvpitf_Zku5`0mF(^%~GzSsN?{0zg+>cV?$pCv4Q2vG@Ah#2)3Q z-0;0qgEWI2G7+pVp`xA0c{+_%3x@cmc1M5tZ9At*G$+P-q6`38@H9yvc->i_ccJLH0T22BDyWsbp;0v|k)a2ok zV5_&WQY$nj)atMMdnd^CW|<4N#=WV=wVS@ROepl|L-zMB+T^Arn0|#yGqMJ$vkSW+ z?0q?PU7#gFtx_&)W^iqR5T#>{+d!VHziN_wc%(GDVA@!t`o~HZ6oiLb?%x?`eCyXSKajbfq#MXSWE!eDd)8fl>(!!OfBJjyArMM zMGL#=cz5x^IP%F{adBMu&|AQym_p(BK+Wrn+&CQ-hdlq$7_9KI4?oI}{NZ12 zBQu95GN6z-$&do8NbtWGiBS&Vq1~gB=V5e71bPjg${BLxT=>?`bba$2Vw4>Vi6NqX z?ykmMEz;5Aji<1!z91)8cbkep_9k+$x*UcR;}qUYHVUk&)g2C6UNe!wa(TuBapfQ( zS&V5r-AP#uikya=*q);)fjX*NvZZ^w!jaU;f(N983|mUGgDa&BRXd$m6Jr{k+Y?+e zI2n@Az8Hc zOL#?z#;PU64vKf1enAxdT@V1*uW%VZqygMU1wX^&8;op_j?C0es1~XcoxW)<IA(eye|oxwuVm-#AXvN{4`pe`}@FO*su8e2^Ruw_L*1-1e&xm7xejg3TDbh;iR z8Vr2zxRp)D>>~)ax=;jGRV>{hYaszu`O#dS6?i9}6XQ4qyn(J3U)M4XA+wr3@#I%E zgS}_4DkyCo-j1<7scJik0*er#A**_0YsD8NCpUx#1zI?-UK5X#VM9`^Sip3!9n_?` zg3n;)T1>vmg3_EVOB=v3!au50LMic_EO5&HiwiM<^=snUN1O1MeM_H zvMG?zTwIF?5^2xFwP;(jLuQj>^#Br8MVfCO8Zq4KUH@c*Oru}Nd~6^srov?7CdlL}P))34L=;@hj^v4Wy6>{R9)fW- zWzoS?v_@j!)nb3I1~vMw%s(B<+^fYmwU#KC%MDr z7|;Jp^KXfs#oOSZc)x`wb87c>e=gSJWf1hyO2G zEZ`rJaqTq`#kBh&io^pQs-|VBm%HLWNmli{NvPz8dG3xv6M*sQVDG@wTxR~cZbohI z=I|8#^6vj$_ffrKPT$QxKckNuoLmSevwM{=sdbJw8*Av7Tu3U;DthUZG3x$v#x zMt9N`Q)W=HUuN~cdF3)#p0D}D0AOnQ8dwzq5^rI`NZJ|nwLnaX#9)Jv*QelWF^Ru z7*T@jLptainSKF4Yh`N4L3Ne$E{jOffO_4cFtc~4O}2ugi3_j+nXbUX1LdIUwl(9V38VIbe$ScC4IdV)~P>fvFiaiIkggKo;N_I)G z1&*q%#!|eI9b*4>;?mCE;Lqh2Sm#dtoxSUW`RgPGHPdma0+{Kb%rl7v3B?x>-m0J* zjVGeVU|WfgiGT< zu1nP3{6Y~zCeUY~0!jrFDZrIlMy1+oh+(X+)ZQdRAVS32k0A&Xl_n1WWmJQ3Aa9`1 zCaR+LVj9#Cr4~x$V80ZHQO+<}i~(WOWv*>wHfD0``u+IRFTi^x=Rjjqi10R+Uw6huI#>~ou5)dTz699G`;+bnA zY7-Vd86kV4(259zNMQiLYr3Qj8cN0^Tvt(>G4Uh`5@;MCGK)|^%sdj#GE_OOQ|u<9 zeAGg0kSd{qT4AG%fUOXSTR6K9d~PJHrOZx(nzetW`UM)iwGaJ z5G$96<{zRo98(~(T5N}uE}Vgmb>?ky%uV|81zmGxZS;M$^)|JEaUys11^3Chp9u=y ztyPfL$N-giaBWnq0DSVPT=^G%jWhVoo&C6RO}^#saCmVb;3P_GJwnD=SP?doqRAJH zZL1=OejJ%sMSA^S-V2SjKg^MGNbBt@Go>2v%d(2jlg`uqp zWCCDLHj2rL@*V;(5<{TzAwbhy!ib5s0HYHV*N6c5ZE{5){~TvSxtI^@Qf9&Z_;k-TUgC(kT57<0U_3& zh(;w)aqEQ4_9^aF9Qiyha)P9DZhNUMOAjHd5l|+OmQy&9D+ZKG&7NxE;z)NzIX;HR z+_juza3xd{0*w$7sn$`w%&dx471?LrCmXTtB*FRr_u}cq`kRZNA1uE3>)6#C1|dcv z5a1X_v=+=9LJ+ca`=Zp#>G{x zu$@9G<2=9+l3hVgpp6I;ILHi^w7+ItjyNP12_lAs(x&Hg3&u|D8D?=1A1vDs9qfwu z*_+`p8VEfgaF5oU%&~w&IYli`N4-mIzIlo)!zDfty{`LQP~C<_JP_DY4si$~JSPY) zl?>y6-a-V?55#O#N@!kCUj#%J;dUB`!1G1Ggj;~N8*DY6B8eUfng+$v$fW=QgLsg| z$mRxO@VpT)7FMG<7zng6#~Iuz8FNz(^VI~A;cCd@lu-jQcwPt?F{|~6&yidyxz}uZ z04+vqj3iR#5Ers|;|o9xp4S2fKQH{}-mxg`X~6Q@`<&SL2G_0=o#NwfZB{m%>I&m; zy;VJY>RRJ(4OJw3`>NOFLd;LZ`2>sYzOz~Gd5cj34c;w9aw6q|Z;60Ih*#;JUT;5J z9Tainz+aUT?Oi!k5t8W;u^o6#9TP(%ZFx{kJof+p+rc4?+zQ!M0u!lhmnb)D_Rtf zYdzF^6L=zpS~3wsIgYbV;HX=TfPDd5ih-*Rueb>8w+M|PEbCedb{x*UqZl289e{su zgW_VS4^`M{-|niQ$N>1vZM)ybrZpi!( zb5KgmE`bg~B=Q&yrGTb@PYGJp#uAGRJgjq2N_-})5HUExIgXKp_6&umS!f2D;0bt$ z=Ae~W+&YcoT1&GEFMyI+J;$Vx!lkNh@wm%HV1L|?kzYZy=l{{3-^Y98X#Z#_7aXRT z#xf;9KO!k^)nKip06sVZS2IxHwZD&#d+#;WNDp&EoRf(JOJeTLhSZ37kTY`ZnpU3N zJY{%Qz2tcQc(m_l*O{^nuP#1Q?S(G(miyjs1{K0Fh9HGOQy_TOn%$(zAu*OEzySXH z!&NVo0OY*~&F?K7vK+2CTyVT#0m!w`v7Ln1K<*T*<=U_R;`z*8zL~yKBlWm{ZmpYH zHve!nCJaS{v;}x#CeXtSZ5#q-v`=@na=wSFXQ^Tb?J0dKl$x|9w`35XRx~S5=F0eR(+Kv(@VMEj zU+&bsDE=04ouCJ2_Vi2>tzt>+q(G^K*g`S}WVvG!lVg`5PP+3lx-!g+e~bQx<9Drs z{cuI`C+t2~v-$Isp{-6*nBpi8(FTtxgh65}!PXY8?ucGdgDx&X$y_QZ)=b3^M014# z3r1$glsBkR5B8y1f7zppd%!T4S`oNr5#TYx-VzYUNKPFc+F~juy+-m9BvMfvvrSX5LzTvJguzE4h) ziM<~}ySfMb@8dyaI{dv$HUIx_)hF6};L;Ef0ssI2GDHMG08npau9OP_l)wM0zPk(E z2CE`7Vzim5vWx;y`)=9ZejvwM85{54!SVnAL^F3r000e8yYN3yA?eTduM72s2cA6H zu@CA4-a+vt+%_4xZF5Q1Tb97r-S6*e!TvTGY9e3QqRnXYEOR$U<`8q>KD5Dhw)35% zHDQCi@l;vGRlYPag8hg+4sr5AZKL&zbV(965{} z7q0UT$K}bN=*;=>cZC0qmoxR5lLNl{XMU3_{PM}@o`)t4&E!DOQa-@~kY=kl5;{2`rdKba zo62mQz7m;}GGc(bYcVP$#>=49n;BN+q!|^Jsp+7=*hrF!1M6NW2tc(v-*2|3`=)?a zZ+=*nl4e&_zoA(PHaOT=U~dqFNXV9?5h-41J7dMTB~t#f;2LE2c<~$gZ~WuL;lOWY zG_-Nz`MA1PR`d1J*Y&N&w&#Uz9Yo)tdJ zw;qQSeIMk&Jb5-gMK-9erqr?h+5PrHYeQ9Rjj%Pcy|Dbwwib!Og1zR=q_kt_eZ{4V z7Hy@!!pikgnNo&simH+{0V7aC&0>_3GK52NA(>xun0pt_;VI-OOsS%|jiRt51ItR2 z)xrz2AX3=rXH+s_iX+jKo3`^(6@JQKsAx%}tOP?BY=!rj!6svu`Sy$QhQB=60e%X44z3R&E`Z>HDF+ZE7nEUj2 zr-V~s;VZqlW6+%fw~w_3To#Y4^yauRc9ajUx%PMV!-lUaCE_TkZH_PB%b#K&&U|HE zr5L8|rQ=_+xf)F}CJD?v$s+dNu6GTK+05C9=LZ~m+wME(&5!FZw_Pijm(<-~+kU~= zykC8bl^Eu>2W*F#C4Y7rUrZ~z(GR=l_N7U<4{*ve@8Q3^Tw*S+ZvQQQUhoI2JyVKA zOnLzK75rgAK{%`llP5}TIJo@ z5N8UdOPu4d;Z)|cZ%*BPkAhNl=NF`^H%9OiY!96$WUK$}HQ0+b#w}652_F`Nfv2}k zYS+}ssPaRPbYr|ZzRZ=YEAuDp*qulwn=L8DNviL1WIN~v_M(WWOX%SQuc6z2^{KM& zEo5GGk*(j?tgjU|dgZi&_{oBPj7oy+&;nR^S3=MY^i>**bQ8QD4>a;$vTzD_^}CPu zpRcHuLy^01orJk0@BH~cPtKz!nUk1fy$)|49;`jE^-tG&v{CJ5w)ynhUNsKaw#aug zhCzlA@&*;Z$MpnlKF$VDAM4m3m2ZuYm6OW8xxii=S3Wu$Tbr&{5&Jz$w8vg1>Ekqe zRxM&JN^g)l+Z&=vt-@&NX6N%|Gso|+sxRuFwyxKT>+#?=p3%$qo{pM$Q9tRCJ@KnN z0&+e*jNZntdK#POi^1O153>B7<2jDlIe(j5Qdq<^rY%}q6XzPj_hsKsoOZNKu=Y;}G|Dr0&C_Y^b@A70zqdlK(1UXBJY0z-8YNLSKdLqt zVGjpZ6g~WUI)nqgTU;O8Y-8IFDTa>jwcj+zPyPQ-=}|VEA=q8f5aFQJ%4hf7opv`` zY;*P)X&q&2b6xdoP2grr1a`Ciik}l~NlBR+SR^chIKHR_?zrt`w3@MHRJfs4j?KSm zMs}W;w;fpab_borZHav&P$yA~+;H2=X!ViHRn+03HQUKvy9>7@u4QDnAou>Ze!(Xe zsAX=r?q#%E$Ym<(^3bJh^&b6>V%bNqoj@(S?aQ>IJ{t${E^3(@u6r4+I&!p%J~=pR zyCoB2J7GUc@^+rLyE}F(Y(zNkqBgnVyqD2xBbTeF_d|m3ydhasYA1_-3yL_kFKuY2izR;p;$4W3ACB}`Q(i+QMrO|^V~b%4s=iwhKh^TyJBIh&Hb6BH%#L)EdUtEL%!8>csdkYG#*O#4tAo=EYgJ7( z_hat7o7zQL2;XeE$x7+F{t?6XE7G+rK1drsyKq-KxR;B1)>QYl*1ZcNdE0Z4ZNqn3 zDUr5g{VbZdbUlpVuRX8UX)o&FP%W?hUAVQd5n-=4!!mN*w&uDW?l5YJN9I#tOj>SU zac!yKnKAvo&U(Ct_RWyF5Z7IID+lGo>!@lvnAg_}8!~)W?V2>v%J*XVVWIA@BWRuY zeK6ebsp`q7c=P?68E<>V))rC8E32LBsJTzI$JO9gYtwh_a0Qv7G#CZ%< zuJCkkc_J!lwSp{Hm{(j?=Tb$Te;VGBPq_xHel*=E#-_XFa)jn%y~K=DP3;!T@dXoC zL$_;uq|rWT9i<^qYU;@kko$*)KnBrG#2v;^c< zsW|{z@Kok>#-*Ak9G-RrC$7$OjiQV{EK9gPesKq@ZgRcsUrN4zFrt!j6zQ@L>mj@} z5Sd8D?I`~Hl_zHHPMX9gFDB9<%Q=vqsfKVgkSS_7xRF<$n=~>Kd_yn}B^y{OR02W7 zbTO-so$$x&>~)&!YGlQE=V z0Ey<*ilwdM*Ntu$Zye zmbJ`nYgmfDHp?vL(luorbDJ6#e&Wrt-ML<|tokmqYxENg4cUu5bWfjy?jOm9cZ z3Zxj^ARsHn;CkFnH>E$GfqlX1&lI6SJhoeJS$b_NWKSo)#`#sY{lhGxm_N6m#T!yt zYMRh0ZTPw*t7B6tMNJ=CrwvT)Wp!yvtEk~awCm$Gt9R2WMNMj2XTwmYVbw=E%34;_ zBP)j939CBNR@TLbQE3%ZPFZT2&?;xxgGYgKM#eGsSd*qiJ*O;(HsDroB(;-I|9G$2 z=w~cquVMVO@Hs?X8j6gwV{@D&*Wh0*eb59Vp`^7LcIN+rkIy;KGV@mXSp353&vYVD z;fA5d_|m!j0l3xiu0Jwb(VG+e7Uo3Y>zB*7>`(bO6kcvEie#5YrbUwtQB=)0YR>88 z@M!Vr^V!9JU*ep&FMcK;=+=I;6Mp9xqfpjs$ka@d(Ny=~1(G<=9_=zdHFSL7r!Mi} zu5!M1S`DXCC>a1#CX58;jXD%OnH;HH$jHjZ;m9~}*%%ccwfUHTi*<7tMgZ7E8VZL;Vtw2l2YPRQi-^78@oa{X<)mzmz^qkPBY zGSQ;fb+FdiSzl#ebUo=>K$Y;nxlEa)IR%yiXf=;gqUoA3Qi0Y7--X>Bp8Q5WS57D8 z;>KiUym{7(`#$;22rN_~a-?p}W=jg0hvX9|T6`=$hu%xg&AE+{a@~;p`3w+V&OcHS*-c0SEsZaOMbgjl1avI#0`31TiwF3|1!`RKLK;rI z5Jn7?YYt3=7DP0*nbcyW4Yd~CF8N6fVfg9)@8IV+5ATzLDqOGoRtaR~16(JSiOP5F{;VzbPIQgH6#J zt!NeZ&i{Xrxq@*Il&F%B%bt$EChK%bmKG$suGhTcCoaHil=_KNCkuQt7^M@+6?}mo zQ0JYA+7;V#?hb_=FFtCd*DtU24^xg-ztt-Q5+6P|fMA?Vla&Zv4Y*U2zEHN0y&vj+ z=wJ@1lX+2`30lzu=2QZvc3EgoMn-+=l6q~1n!J--$-})P^;-`snrz+C^sf}qDOyfa zi)b#;BtsJT*rvj((4@C#`^h%_mp)=|Wj#2RLcoMiRt(M)Qz7Pa)FMDeHnqB(Bd}F9 zYC}NaZ0eI&@EF27pdK5(c3q|UG15SZUcw&Ve7)`>$i5S;{uHx|EF@lwci&Qskzxlo z8BMF9+mHhLwRaywi|U$g%4qwegSs}8MFe`Rlv;BxzP>03Fy8AqlY@5q3Ph*0+Z7BU z5R5g}gGR_H2_C^GNa!rZ=1~8qKjHCOLC%l!X7;R6pQ7K@HB&0DceM907<5>uxyOZ| zEEypMkp-eWaZEF~BSR+}D;tfG=8ZgZWlm>>sFu0=fTyKFw!&(9Ttp+Gn~bU>qQ#i7 zSWlBhHE@-8XPFcyoT#C>CSm2W6JPO~ITx z$qng9ff=>VeoHZIp$^;(8igRmO169ZyCSc1g-(}h*bJ&gHYO}5R_mykIZ-4q5G_e! zq7CtX9&aQ&tdJ1&YJuD!7UM~|icW?_nX>0!5(IPZMQc(W2-a`FNhnpd=@g2(L8{kViQC_7^RU0OKUXc`Xm>Zh}3GiAz;0P z=OIdZ9h8D0F4h=KDlcxVMWg`4(_^6(iqhT7Ok#2n6iZ-~s_N>-Ttp!03S>!dVG3!+ zLny%0$KKkLEs7Vh*}xTqycgG`LMR?{Maq_(kxd%Cmy1Pg81Z5yIG2zd{s*{-%OO#M z#Rzu~b7>J9j(kD@m8LDN)J&B5D3Nc)M8BBaE^4t|%ok*!;z&N{IeoyXR8pZ{xfz0N zi-JXLBJ|b-tj&mgYN9YS)l^`pH@5-+Q@Pw@$yS9AC)|&nUQrSR#_xFRtrm%5L)C&e zz7NI9A$H>Ap!J-r$XzERkzB%>gi8rkqezi?8j7gbZvjdYOX=tnq!LsdOTz8NrE=2K zz*FFVl9<@wT1(rQ^c7M8(hx8yGf<{E!eY={$(|;`1>T$FiGlg^4pOw`M%JaJ6>lDh zK#_N(*zkBpKn+iPik~tPG3rAOG#AFDz-u8>Bzu}@#MBI2pHC4=@n%F}t}_$`P~ag` z2^?DzGs%G~^NB*?Pc})6C1W!tMPghk?j%{1S)5ls69cm6K7{!BG++qE#=Lnj0yh+T zNWW83A5iBLh@uf9XDNn7CJ3e{d26n{nUqa{1J~yhgpxUlGVf%c`%iw5LSv!#PteLJ;TYNkXeikN1uN4C)PA>{x?tuz_WAR>!_>phhSeG>J> zK(hYg`20*FIM=3hJ;y#TM2toV%}`hjW=;ya8njIUC?*M&X||g{1>2OFtO;mVyka|Y z4@f{$7yJeeTZ5G%R0~jd6M+*37`U9TkV;O8WDwWlnv0Aud08dDlMl7#(5V=>IG`aF z2PFWvX9XD@-VBwKzS%(xRy3$-iW7MQFhbzKF_@eZhn`{lkaR8~A5=v*3{)FX5Q@*q zL6|tDX9Ht>1}~l-a}v2%VopGDDs5guJ-J&-qNEgC3CwGVPH#SOc2P04DBgw*3%U#f zibaisa}i94g^l_qA4-8c1ByaHZ7t1Yn9h<- z1X+ksnm7RIARuOmD2C+>CJFMPW=cu4zYgN1U+3=$=vC8I6Q~1^clvkV&G!LBQuMc!IXYx#NITdB6rR2MTdmX zsErLv6$b+|q`ZLG=9=8*m8E0tp8xSo;ke9-OARR?ksBZ_2^)TWr&O}ubPtMg7 zUCDxgo^CI7BPAl!$cqd~Q!uF{R~iCUjUj))?zf#K6>}@Zz=$W5D)?Y001*Y126zkZ)DDtg#anP-;1{G z=7vp#sl^-Vj%Mmt`QA3>uKALai4pTpMAdg!mk<$-qfdpg%YcJ*#O+K(dj(#6IApo=B+ zm8ujOC%j9BOq+g6+;4sR>p0fOJ@cV`$9~G29_*QKaLQbV2ife^b;qT^04T9k*7Rzl7$sa2Bh|`p zQPyWS97EqBwv+jf&{@gS80`M6YcV0+}FN;r-3w-&t#Z$jMZIvle zWvEKgkZR;MgpoeFPsZH`tqQMhPgmUTmbQMab>{rndSdP2U!y&%)`N|6Q&0L^aS!~o z{6sN+&wrcTv~Kcb_E9pUQ)UJ4UM>;={5P?s{@Z1X+5uYOignZcEPu_v+a_nI5wap& zHW^|f5HT8cqSxY`+u+4OH7Uledi6eCwaXa)myxnW`(rpARQH&s_hYfU{!i}UUdA0) zW;N6Te#C=q&;wVGv7=w8yMHF%`#ov%Ns#?p9Zi^U7KEzjCJg@KZxX=<ICyavTC+?67QH>8+-3~caK?ogpc>r`Elso?YS#r9l6{4 zZ6%#~jxOlkUSl}^u%Uj37%cu6tt9Rgn(l;|>FyZtTrstkF4b(IdUIV}{&{Uq@M+cz zDadsyy$O2awRdrm5BI|m@~>-b|K{Fq!!3&+KEWmb`ky~gZ^f#;rtt1v_YVCo`GH^N zpW!m$2-%Ngy#hhv-ncK1%$e2GQ2Bq3kss2{_4A`QPV4(9_=)ckcc1uk+<3y?n|a3T zln})ULPa?xga5z_MGn~!ZPvB@B(nLm>{c_8zlsjCZdSi$Z9{Hs=o5W)_Ic9h`t=c? zk(44_Da(VNaGOXkJ1XKNbh4tB^@gKbfCvjt~^9G>F$b%go%mdk|kM(p|hHgvOnZQ>%9ky*YDTQrb-|IN)W<#3RCBTZ`9WS~UUU>{Y%IJ;DsXj1=uA zAi&I1wnA}1eGN7z{sx+zTS>vt$h{xP8?`3=tp~arG1%T(z~a&aChTu;+}ay57MtAd zo4H5I!OxPF;+V-_&P`NUHg>F7T2FWnWYgW^F-|3t50m=)1N&3TK#Z+;5qFr|R6;tt!-6`arNmoo{T8abcds_5eOJy8AQdESUO z{`6Zy$U=oL?!t)~As~CE%~-DW;U%A%k8iV6I?KPDx7lFP>dY|bXeAW-ut&=O{4b_Q zJ3j@Kv1iTZFH4z(;^h5he!=Xu>}repPc^q{*~x)jl5n?o{h@aB+Z5VodX+Sj!>ZK=|JXnOUE+*I z=~j;LzVp6WtXOMtvye;eNxfB?gJJAyk-<5DCdd~z7PjNIw1x9~#x8*qvl2|rNxfB? zgJJn=khmRTlHp@hD2-)JEofz{h?^9+{Se4pfF1nBF zQWTnUWmSAMy*|N(?TFl3VH28XdZ9Fv!>ZK=V$*CzONqs1EF%gWKTGWnxtZZ;o7iev z>Ev~D^|ai0XP&JBnt5UMYJ&{m_vmZ}rIv|H`COX6L&?KIHPcn8x2-Dh8QNB_HW*5- znz)FCa^Pmcgui|s!HZ$0PS08u!WrAv75GeUtJfP0Iak^cOfdkGEK&5i>|95>#0^)3 z!FXHi;BUTFUNbPPTx~z~D&bm>f>_al*>JhjbQxDmTXUAaGv`N7sT+MyF>ArNb+y4F zTnG=3afn4*%2JVT<8i-oAx+KgP1`5G>L>ahV>W|H=W6^tN;KkvMp~?S@Zke2N}W8Z5gr565PX7`p7E&V~*JHN(Ry)drZ)>$B@QN0$ykTWq4g zd`_D*be@*DWMyzRbSSBr7*?(}9z@L1uG;@4Cs4&0aAMQn0$1LC2DuGc3Y^9qRcZ}} zva6WqEZpN|odjBd9`PwI8EzU*Kz_ERY}@qmAp(_}gJI`t(RKN8VdtCa{f=gswc{U1EYKDeYs|^BzQO10WVuT<`(p)CRQ*e@419zjt z_Q}&}>NEz!($&KU3TpvNOV=-uTx<5=#in5@T1)3^ICEP1Mc(-|b((`=M{B({rP+sK z?9F9rDH)#9a1KR8WKi=Zo>*kGnQ8x|{C7s%cgC|xQCI@F6robW;22Y6F$Qz#`IHoj z<;zB*nv}9m4A@o^MzEMmg-%jL6>AYZyFf?1?%5h2c&Cu^+$!3pFkHuhdp zMj@EkNHjCf*GZ20HQ_~Ud9MWxe3Un*K`5H*5FnR?&L(K_n~{?ytgkh}WY zvb4;}0h>dpq$p>*QH6vt7)e${;1{CcnXiAR?xwN{oy&lVzWn zu&pK`mC^-#EXmq2!UtY}44-@{MTITV@**oJO>9{SMnBYGWm(sp|_(FhW|<*I>{N(lBLS ztDOMu?O2n#rp3foqM9|nPz1BD)t*$Tlt{8^sU%)wuuU+&Xm3%51)>KqR#2MQvJ;HV zR&xqqS_skw?h-Q7SP2d~kc|-0@)av6%~@Y+g8knNWDpU~+88r1DJhL(A|p3hWMX0~ z(M=OyD1uqoYDT=0P?y%0#LUEqUT3r=?r^pHt1#4PMrKv32{c#4HF^+`iXUxrF}3C4 zB!Ct#eTkNGSVC#c`c@N6sR>=9t+}XOC!`y?&<3(!R1mW7N!5lj{m zrxXgBB!2B$t`1u^@k-}D$WEYWQp=;6i|3#_k(SJm5SM>QwgBfaDu2M$_Ex-x_6i1l7t!T3~^YwIkIe%P?v-3T# zz+b?hfIwuQq+7k7ekNDMNuv;iWQeZOjJxv;AQDccQonx0*)bkc;CRlhFx+OTC$~MR z@E)uB+=yR!t3OkJnlF}<#YexM(28i~;Hk|~at93Zv?QZoEMOuhUsssMo7B?P)6&&> z#0-98dyUO?g<2cFbhw`Xw-L zbXQ;*EA^RR&ge?v-fg?l8Woyg&ge?8`PL6)jrz4C*(!&;L83-W!++G#Q?zB=0 zx06}FGv(g^A|nSxLjYG`0PqW_mZ}eKfC<0h(ngU>#%9Y2PeRY9d;VcNJKsLbW<3}+Sch$As1}WPC6wz$Rb=s(1;%Z zOaK7L%z)990g5fxVz3+rc3=Z;<7(SYK%v@^^uNPuHIZ(cq$}3NE*&MWX5Dc%c7POE z5i%r_xH@&)!ilc_`{lCZyDWTTe##YI_@77Tr-S;>&2#3w`A3eGm5rIM#^>anyCD4g z>{1Rnw9h>A&^ffPeCCH`snQ`a01}|JoT@ZVD7n-S?vR4vyMKJmi+WamxpGF5z54Oj zhbPpzUsySKxmb9)_*hw-QAdt98y_A1IY%b?lejpadH)|r-tm#1W7L!J@gKD>@Ixax z^|`(sG-&8fd?t6xyEj+(>kJwD2kRUf?!%=M|JI$wC?Dta&>lHUcb`qq)}b$jqU?)? z4qWj?oxSQ3f4t1;ocncV z@uqTXxaY((=l5S~I{t=DwR6g;_3G}meG05dLyjZaz$8T2OO&Q;Bs*n~)^Bzz-ZQi@ zIsB~pW=s)TVXkLYm`P(UP%g6!9u{e7FWw?QPn|!k zp&u@lHv^&b27#4|5c^k1e$op{c@Ec$w;5xU(m{gR;X*T=L7kh7Wwt)a-(d3;Vg0+b3jzW3h1!#>fP6=BfG{7B`av0Gx2~8Y1p--#HWl287x?%1DrOja;n6 z{`E8XO(I^{+F9_-^ei|U>uewy?jS&-wRJOpX;;RrJNx_waNyZWXFEurTZSMQlnvU6 zE0Mt(NLY#!Qj`0Heg{wuU6hFEELkJ+AXpr)%`ozl^N^+q3X2K5=iEAKK)AJl65cXC z+hh$+S?sXbZDg8djGnd=Po9}&$IUza5!^T?$JbbO`8i)6`dSB&L!FN-}NS zAF?r^@(y4K<+Co@%Q(CJy~hIw4hU-oiPdf&5fI$~LhWoeI>_dT89z%+ojunaLBqOH zmL%c_6t2kwb`7(|kmXYJ4s@3HqeV|#MlrE1kCeqD6szR*&zXD6pGJi7S(efelu3%f z-cYg{fCa0R9mtX=H?bikaaCxLZy1TW`gf>V|IDf;T@eRvv_UWVt8F7WD4WtJ<#dj|D^CI z2hBSM?*8^8J4i{2=L%573B{VRsDZ|x(wSijOXh-=Tf4hwaIA5t+jjR~hJDac-v5!m z`2@8ntJ)f_4kO49D3Q~Q^Lv8}&aGa<&CAAr>xS=G*nW8*XJ-!e4gF9J2N0i#q!}+H zEXF>zD1tG7u&;xoYSRA}{vRe@;O&+{U|0akkk$p+wZ+vF5fpL8DLXS3)9a~ii1-5p z9vmKg_R&Dx(w-HFue;2DpCnaNDtu++=spByZYD-PE}0jJi?7C`z#}DCl;qS;R}j>o zyAO%TuMUBzP81^YhO%(5@i6jm;Mb08td$bXK|2dh0QIw!8Dyh|4y*BkfXdCx%fNwV zy9*G+L~gg6JOnyTu242vs%d{4w6w) zx=Zwr>|m4`3~C?i06SA0mt1H8H$9@^A|-7jBdcRlrjSB-_&He>lADXh$Aioz!BGa4 zSf6`ZOWp^AnL`jEtYoah!3V)b;vV z;xrv27c0NPk#6JJf_X_CrNIp?x)JaGl!wr1UP0Ppm#n?EWnI2R`B=uCBHI=}) zcRQ7OpoL*KNjrFgN+$x1BZZUkZMvYA&bGhjQB%1dy1G84T&T}p8)GY|P~H~sB!6nx zs;)*+03umo+Lp?VQNg>(TbL?KQp*?P#ftXEFwkW{qUn(hY)`Dvy)u>zNJ@x|Fdx-S zoVP8a)6Skn*PTwY^F5MXIqZ5+XJ#yfy9l{o?*x#{*?)+|hY+|iQtQpEN>E4MA8r>4(jJshG@u%4%?#hb6t zH&|fy#^bPFZuT&_WBfly!$ zRQc`J!YlRCVgt^>_gPMZu2tIcuyd_U^c^%nsANRrV^Ce9 zf<$dl0>x-YPxr;b8E<%7f3*UT(Sd#eMY@Z2`Q52RDU_~5TWx0qDfOfC1}|SUpwn(X zkgruuoVc@xmvf)9C+K63V-41VoYt0(s1DQyy=XPN|17MD=I%1?71y(gWIGsf&^6RB zGPNHT%4{=#Nb`1QDSH}6(dKqto2kLQM0n(QWF<1&L@cx#4;O${aG=*c@F2`bD(QO& z-f`9OuC{N3I_dV3&;tvb?wtLNDYK&moobswgA?^kQ!FEty;CgO2=Cc?FE9FaYT^x` z0Qam#xIPSV^tgA+DX*%Gd_IohE`d>>M7uYfb)xEJNEbmDMk_{w@03C!PLM(wnU=Yj ze-5WzZKmy|A#w*=QiFSZuZ}vhUO<=XqwcMw&VS}B`=V@;6R!$?!t&{I3rkKQhX_gu zR?14OVHPy-FWb2eXChUqBA;MH{zjk!X-Scw#N8bm>%Db|1r7g(K5R31wA-98KZN_T z|2I|CL5ju;xq4tmbf8A~u#(sg36OE#1+}r()Flu%JvyY)z$NB85*3zcLyl=nosEa) zQhm?KKD>3VHOKTPoq`md76E}XizDeTASG9++>{D*5iKl~Dq%7HGp$*|fWq#!Yh;g6 zD1C=4p^#$G>vSgfWy!3#%q%c&^wBO7L~;dJf@wG!J4SLSS=YriMr~~Nh|Jf3flDIt zd3ZN3wV6!e+>}*G{g1~xA|bZFZ+rz4zXHYYHKc5$(eGVl(eGEu1w!puJINcGoQ~7pN1{;xQQO?Bd6t?l`m3Q=uoks7g3f;2PY%6{?AofOp?;L%i%S zZr6gv6?ZDKC>WC_d(hXZd&XWPx}lUI>LN)UfH~TL?bNeAiWse};G}DXc_yG^y;J~` zA)0ycwwI5Tv8Sd@AbeXzg-{s3w>J@}F9f(eH08((Y8-Ht1hp?O?&Ww|&qk8qZ%QS6 zl{M)v30$wuHgmQKex%RH3Yi97Km-rgr|<{wc<-nu6rb-s;d)kV}*hz%255;F5-&&(r2j!^@el-(`t(9h{p1VB^SLY zUSABW_WMom_P&5_G-c#OdJiN&vQ&X71WMQuZQ7T1SRCx?Yz){?+~=AQ_}pjiA80J4 zuyIGTcws;x`1t^P;>x`biPg6>Bz~xGv3+SdLUaKjngGwMi>a@#QXYn(z*B*eZ|tCef-m@bq;iW3j*2+g zk=40!TJI`f$PMF4!)afRT?ziH7)oeT@*AP~(+PhgguDq@R;@xP_AW4?Jom7)%VopJ zEC?9;`qv1DMQ=h=d;B`H>U?^j;EA8e2NyoSlm2^}z+{pU>l=E)*~K}DLCKYP5k_k$ zsQfNIEXztR-5%&5&&qQroq-Ez=5P~?7%Cg5qPeT*8>RA=+1jreNk2V6()Iyf3D%?4 z3e|i91rN41aG&J@AygKl8M0(xJ1PjZ31 z5@P!*4EvRMFwS!p=M$TPq^dIP1F(jN2Kp`*u`}{9h1mX2wi`n~x!mwi1*?{q0^!O! zspPM%)mmM5^~0m*=iuk>U1ztQKYHgYN6?kf%XaMjGbmsG_<&iwsUmOJ8~b9nY$#yA z<2JYOy*j46|LhevLn|x&dnI!n5$*eUpo4e|6a8}gQ}#yni*HFO_PK`>j#k^M2@*P~ z=BXi@JkCZEI&P7sDdq;sXx@C`sD5;@P+cqrP(C6DHo`tjVgV||XM&^2GQlH|tAb>P zHk;TpVOpknFZO<-d2x_r|8kQHET2y z#ozd(kM$({Wbi0|^Zde$+-yw7y}n8J(}BXI#GMD~+F0h^X;nc;+K4YBKwfD)yLSeC z;FI{RHV%T^743}wfzH&yW_P}yH~bqp*h`pmUFCWt`j6`=u3Vg%)%gFz?YJv6E(rBj zuo=dur(lXk&~yleO6K-&^k>SrS)kaIngWkx?}XPiHQR8AHM>5cUiv+%{GgYUvNUq? zWqf&i-;o{Dhu!dDw*M{s9RBFpCsl2)tJ^<$)p-fLV|~sBGyj(o;^oAeJ{;F44MpF$ zKH7E2A-%#p*VerZtd1pA2c-dW4O!*<>dn2dK?WAMMOFczNchNj+)hC50eAZl$ck=K zk6s3{L39nRY0C|Xi%AB^%<-8lC zu{r&>$8KZ<6?gb1+Ct*``%9K8JtncdGC(13YLzHHKGd zACT>FCmC>_9%VX$s3;V~0rKRvtli^04U8%bt_^b6L_OjsayYZ;92uT?qY-WdQh>rd z*;UR~Gf>SC_z7Re?}3kgK3*bA_Pq%zwGRBg-WMY=3XpswfFBfoZq8>(ora8YJrt&Ium@;kom_O0FG66fU?>0iCXk}zaeyHz35bT_MhtF8N=U3rV& zxf`x-{ZynUHn*XJzU%kZ-N$Nhg3;{r%x;}k-94Xem#}(CpHLfMVc&=Y4}{c=imTG# zkJc%|149r211ko;q|0o>+JuHu@QdAe#EXZeri=eAd3;f@r*=kvxtWB~wSnO=s^Xr>mf7){De3^!<0C#w&69gI5!DzjX{a&*8@W^rovK4mhA|Y z^W?f=Lb*V$vH_cJm9HpP%*VjIrXe2RneTvw60Ywy+GD<-9LAIM+C7WyaVI{T`epYg z{0xbvKn6>K*PVNZYjVKH3aYxn8AAj7ZOENKd4p>KK2F`&~s;8@4&?*T$_RN*}C1czPCVw)@_TvN4w*`qig$=Q%%raElC|nysfp z|9-x=?sb3XWjFcx;_H5xm!DMy11ds_lJcglz%lx5B}2{iH|M#De_)4~i7(95aZ7{G z0IrvqY+A)WD_ZJaw_r%0x$?XXJhT`$5lO@86Wt77&w{6S1y93ZS$1%WFEBE1tkIK+ zf#g1?i;29_cSwIA!R9m$B`{gGJ&hG=;jyjoBjOn8m2=__e)#M8VOWE-T}P$`ucB*K z$i6or(HV*O2kQiFe4j{j41z^eu?T7gq4g|>z{U#M?(oB(oR{a%9(&>a`EcLrlxysP z{h#lmFNtp+h}-A?=K-^|zhUl|=R{&rVfCSVFYQpQZu zrKGSXEE|heHy}}sP=fW!58$kv0?$m1_>NcQ1FPx7Bz}JqTK&=I`fX1qo3SY)f~a;|6ymJOUIt0Ow&() zly0JSx$m5CLX&@3>M;`=X7fN}`Zb=Zs7f=n^kio^Q*3fnybd$_5R>IxuHAt~FeZkYY;5tK-PG?L(B@ zS#OSWrR}YCs{et-w$&}io7ZdxV*t@{FC>ues7@NN$1?z75*@q^p~=Wn;MV;-#T+Ls z78_-NknJ3fcsJ&7Oa{ErQwotaCN|X#_)h31F#=1F!9%ULUMMj^VQQzqh;NWfY;oAU z@OQiahxgCF*L%|3+v_OUr@KWE#uM>C{)%vr$4WsqMhI4QPN<1MaXs_ViNl#XE{;6; zJ>NoY;VC$d2&^{?Y!TEQlngZjYqFM(36UGOqnU3WQc6b@BswHD6bPKsVWbpEOvV;P z5xNL{Kj42|OPaX-HunyFt`59B{P04m9Mix;fl??dv*JlaQk)<;j@8^L20NT;6rlg% zsH6=%|9IbSvkA@ zCgJPn!3X?aW%=*TifVqI1TZb)2fNc}Yy`~+j9T;$V9~|#x|+>I)T=DxyFPEX1|G&H z)pzRm-Dx*EuZh6)#VLSR7j)}len7iLiiq_2BINFKzr}H?L3TGjBeVaYL1t;B?&RIm z_n=@Tfk=w61b26s?xGoiq>3m6NOZB{_j6Aaf8TI#o`MVhi9JV56xlb9}#UX zJR(oxXJH|_s14wM#8w8HIZVtqE)(_5qj3}PX#F@p(*h9}H30h~Zu;Wh9ARf~Ze5Q^ z(+W{JheD6_!Xlh_ZCL9!8ruOyG?+OUS&YB_?c79=PH$+PWA}a6+WpX*1c5qYPD_}; zTl5pq5V$@8a3Y{J%262PCvo(^LSoSgfOHndi5y7<7Dx`UNLsOhz;FrUmXWlFC&keN z3yMV~054rqXgx9!=Rp!8i3BO@2%z=WP!w%C@!>cc>u@Y2t|nd72nZtSsfHZmDD@-S zIH~3{;7ukMLyn`d9>=2M3V%e}{JmOx|5r>YG4%Q0m*>*Sx;@^dWXCm3TcKn)hQJQN z0N!bw^JAc%m?ROfxBpJcBCUf?dz77`TdZJu-~d!? zxzr-0kumXY<1qTIb*vxDD_|6u8&`1?PAibeDyj2oZdF2|HR1q$V9*>p(J!B^5L}hmLEOXef6` zK^LCs6>Bj7$W=6B)0z41JA^%Q9VTfKU>n7t+@}2?lZrJSX|U9A!ChSp8q8+TtlNUY ztESdok}LtOQ2+*^77jI-I~UWESx1e8TL9vSs#tk5xt3-o(U6Q{32N^~%s`-+BUm(7 zN`|an5I8^sHm&I0mv+vLK=n<9mtuKGjX*-zYSpX-!f8cQMkl-uC=fC$dUN-XolzqI zNhp>k%CW8z3e2?JdzcbhY#ZIe+tarKy$N8KHtx zua=S|7zjGC;86*ggd>H=#Nxu4?;x(z(j$1WzCHARlTY(OttPh$(VUPXE@lFNJcuF{ z<$J*CVII+%`3;(*EdbXoaxe$Qf>77%(6AU_G*~f_WDqG3fRAX+d+Nl_QJg0_r^Cf zck`nse?vc!E1{$2rE_U|d9FN{Zbw6#D=pAIJ)4j5h>rRD<%REl@NWk58)R>M=*lm? z@xf2Z%YL@;+aJ2kBZ>3}=;+4|e3gEfk2mkU^l8_{^>gFCaLaW==Z~&2TfMw@J{ns- zIyC*TCQ{&<*{+eYm7{=oP}I8SXDj4e#^)5$apk= z`8pR!+1!h=x7yl@5f8oOK%Vl_B$;_DB}t^=I}#(f5XxJ4DLl>D`^D8l2{$Vos8XIZ zDFx5DziQynBCJ4Fu4hNLJ=yxY2-kx^5BNXNJ1D1yuG_+P^<``-g$EVT5RV!&Ek@J zLP5`%TqmNZ261RAV<(*UCOpmvRo=96pjmm6aR`(j_ak$A^2wg4C$KKFoGVBdDz9fn z6`R%$)GSZrOwl;NJrAwVWfiA%wQUXIj+_vX)U7i=*P z*D4se2x@}$*r^TZ#6kg+Ni{d#poUgYjyofxXGRsS7C(F<@uIf9X-x&^7Z*Jf4Y#q| z98#9vpGN+MRwgnghGMdM_7pN~VW0+Pg1g!_?k?p~K(>ci09<5aeCcu=BCH^^n8#l& zLQpd^LAhKd?uOu?4&^rVOvr8srRzaEfL3NVbxNYA_O%y6W1w9CRJ;-9djSJNG#T~_FP$U%t{pmykV4@YJx7C3CnNIg+?NQ6Pp~8*=9K6F`TQ^ zl_*trysDQijMRWk5d7O0d~G&MzpiGL=YoJ;V;>lgZuIV@ijEif>V;8gY6z-iCVWdA za`JwV@NM6eQ*L7O=R1HTK6$Gl_IzHDKj24;fQKH=wXGd3d8ge^&^~^SZ2{|rQ5tXwf}OXer(V_B zgZ=ny9`ibL=l^-mSlR$}Y%OinO)oagV=i=6T}HQDSO6(`KFf2Hq0H8~w5fGZ1>f-B zPX|uyYo%%{GP|Dj3+4DOEmLW(F#MjNjNsBFgFDHtb2un1L94jrX>qJCmp>;R=ElZ_ zMhxw*{KzApy$oAnR8KFSp6~0YUM22aTOGLmY`&sD(LA2;&;HE*@Ya8{N1;I7AxS!8 zL@one;ZJitF;i!;S9uw|$H$Rv`MK^ga=P{M%=0pSa*iHTf9B@=Wz<@sZR}&P4^S`m zHB&u~+;hw6X-8a$5K!*o`xU>;`7`Q$a5zXFfHI|^vnGC4e({DaTm=h1awAZDJT9F# zUvBjABrqAB6hpKrsR0+Je=P+Us)T>L#@r9DoHHXbN0Ik$k*e|y+%Y}H&j#vrd`8?c zZbyypO2>!xt(p<+gK_aV>wmR!O2gWuueK}sB-PB8%5;Xh2y zbD`8ru8LTP&fxB8f!a#a{X9EL*<5;AuCB&J;@MHXd)(W_gE!Zh?b%o^jMb!^+Vk!d z#8suUehxJDPMLQ9bBlHpPwk$yw3PLSOy`IS_ipD@#B7SoJ1p$0<;i8%Shie!c24d_ zPV8O%{J*GJH?JJyD1=`v#P=BE3J^t2;t&!YJp1y%IN0D@3$Ou zb_iF%90#v&r*EH$xdm`+NQ+UHaH)PS#V7}x7Z|N1siDVmO|6(!x;m?&`b4M1P>fbD zW1`{B@&(H4=5(Z>iGzo^*o#NHZx61t-C=D5Wvjw+Mn^8EXGKAq{A0nZz04bt*KzBzxFHh1k1S$W_vC{xpann}UXEuDuG zuZXYO0AbwxtBSku^*`_h_Zc<6o~msNA|>zo8vhzczu?>&_rCgI|KUeUe`nJ!B|=cR z{tX+0+2XD35&+Gfhh|-EYq<7#av$9XaJK#SBbXwNc?J1sA9F#)y6T6%VsFiv_Kdo_2eoDp({eIO{))b#(-{=r+ zIV`gtK$8bc2Dm+v&d5lruVc%_vUNhxGdD$u&`v&qQzt!a6ucnXS&G=0lGv~rJ*~Xr z1Kq1aXES$2(55qCD#4E1TT5b=i6pj*ofk|$1pfxOccBxnI?CGOli-^qgP0caJf4e_ zW{e2AI>1^jlOW2lc7rUwV?xI>cSX?7H*%5VPBCFilEDGskha+yM1Cko0g0d zI-aR1f+fGC0X!$mMKINXpe)VTBcNK zdZbJ_^LuddLDe&2CvqeMiNKn_p5_72Ud_o|j&AQ3@8q!uar+9BBit5b#1M>{#g@( zp1vuOoI}gku`KVFO%L*HI_uJ*Nss2eDEJDn`7N`LeMieMfJ=? zt}Uixkpy6(hkVqSMG>uQbYs2l-Dm?QP6&GZrpc1XMIdxo@$8pss%F)Saov{MjbHeo z@0mFw=iIq3R_pS|+%+VHmF`iJX_QeEq})0vv2yx8Of z&T;P^&-5R7`qp-h`odwW2yBP&|HC&LJgG4r@*K{`IMG!7OgWs4F~;e_PI{xCV|ZoI z*EKpZo_H;2$!nBhOmXWluWPhnJh6Rz&NXT@&t?!C>PM6A&Tx7?`Tq1LE@JMQ?mO`rRe+33BG zea|7edX*)Muqe zIMq^exgG-{-qKk;-an&(w{gut3As)#Mj?qvjqq7*v5r+G3KKNOpbuG>HCzz~%w9vDsvLUBx>HduN) zCejWTRabqH?@czBNoWx9FR45;ZR4bd>P`sh#PWZ*KUGyJJqA2-QuWZPokc`EsW6ZT z5rvsKv-;76dlQdC{Fqc0!4v~;MX60|(Dzi$EtM#L7Er!=9)d!IY9Bxp5GI|ML^=R1 z-poVanE#pNvieeh$_*)y>DPT)G+b?%BoKtufGK0QuKL9I>%aNC6DifqoSH%TLXQ!9 z(}v#g#aTCD;f7 zViw5dByk(yn-ozERhyC(r;v;qnvA6;LRwOgINUcL31e$T74J|!l~kPi0WfXYeb7CX zIXnky%#4;nDWVH^sF%tp&YhUVCq+R91}`Ch`;o(F*R+k-^zK6&QXC)QUzRhN!k>Q} zJ3p8Mb)bz(;;2w{66vtN@Z*wqV6=xyLd0G^k0tC@usyOEA(8$RrOz>%ap_`36o4_9 zxLeYx?^F0%Gup`7Q8Xx}rTM*|i#wwQ*1UGSN*F2s*f7gZB$RKQOKY(SoR)j5LWr4xRX0 zt?IdCrJDj)B@@oj38{EM&BDN9GT@Fe23-luxazO6i(FMo;hR9-PfYZPf~gb`JnCXb z2pSNwl}|n#0vNW|LEV@2DvBr@cR{@_-_@iNpQ9 z*@qsho67Ee5Umw0LveVfe+o=cT#-_Ti7Y@7Lf})Sb!Jd!62GbWD8AY=1{C_a3}CkHWB6)Mj=PsG9>eS>0*UgnEE~W>Fkr(Gbxt5G4&!%_BrRn5{FlTRspZNIaz21 znqoWYS{wL%HQkwi9`l!H4)8MvD4$P5{|CPs81wc1bl-n-^t2i#spUcvC__bW5&^f| z3HywH{h!EcR!E{;^Y^T;U7ma6cbT!mZ1Z2Yn}m}gZSi~VNhoP13j5#jCm1F zqJn@D!eBa`*ThJpsJ|6%6(SU&pAX!lVJY22H-t|rf#E|P6JzM3jLZR>&cWOT1!q)K z{r^)9Kxq<{oTdnp4bo6jiZypg57Di!zS(YKvy(>C4SQnZCddW-YGty$6p2JrQCa4P zqLdhaXF&$0R zQZn|!EjqIjAD9O_$RN&*y^oei324?@ibR59SdB?|2P^~aVti6|ar)e;rL{ZWjfTV_g%6J7rN=CC64J>%dd3i{401?gHQ2_upfDinlZQOs`p%;E9zJ*^t*;EJE4s3%M_yV7{M9fXexbC)k zOFP1o_kSje^<-zZqMxLpo=A^9PhCTKln&O^cI8&E{Vo$q4^iN|)f1-qts2dw4aQuBjGHxKu)3{3VJq zn>I^-zen#_EGcP3rVyZFT!Eke@XJSgcCWmd3twdLrG7Z@aW6dXjz3@i=NmVJJLJN= z`Oa)+K6iG58~Ea!xle9=3(m)#^9%ofivQrmh5zs~Po01N@ZtU6e9h6^;JBYH{E-j( z<rv+3+L$T9$;G`8w(0w7-1G{Fz>o`XB zBtTIbRo^ZS9L11=?Ng->v29^FPYMHzl>0^kTG6SXcKoi9`t@}dy(%WNsAeTqs;aM4 zrKL)EB~-RXb*&j;jB$N$L~*9|A?p;>>QqGq$eSK;>YVt>JaalE>Uj{FATY^dO!R#V zH@fYWsxVafrcB%#?|smncVnL^nTp4fSZ_gKx240rk1blKH?CFmPcn*>6pdb)u$p;X~{D;Mnqdg{Ef7q@Vw zs`S>jq0(39EVwrQ_qD3_yo8XVMCHq-oKhaL9(trTlOguvefnax0_>S7s>@eN7hxTU zu>h&maIdkmw#8;?sH(tuE7I%=gpv)%B!^vH`h)mDt(wzF2F zBJ5@AC+jzC4xYu+$Q-!_UOW3eW^QR_hbw-&+%G1q(`81G)cJG&Lk&+-5ywo)eu)M)a8QVhgj&EUEgLcT;sRHz>o;G{$%byRR_YsJ z0pMf?HYzpki>i=gIXI&o8O)v4*TWNWd=`P2?SuBKWUX;7OelUa^4OqnKiH57RD7+V;m+-Hu$N_nB0KrjH%%@I2?t1k$b~w2Wb>sGs&E zalpNA-~afTBPS1=KfQSnmSG&&O>{bM>Oe9!Har*GU;0~KWnxQxbZ{J;dFTJ4YK68H)1ak0g442=Gj&CF15tkBI z490>tmP9S#fw*sS9i#8^9CPP4ueHo9ICme;ejTzo0F0qKijA^bQoKt>vlvfWzt`F4 zO*%Kzu1U9-TD6VS#j?XpKVg(_K$43|FOT2-%G`P-AK!N4h^?62Zrj&D1isCO>5g2s zKHjG1^9r9w`u5jdZqD$%)Jz?TY>(Gel}$sZa-<2Q-A}phh%bLLL*J_P%iY|Yw{JU# ziS4^l%tf`E`s8te%8`OS^jqml{jGlW=6gF(Bfdjw^!o7oc1Kqf+naiD-AHbW48Kg_ zz258F+LC0yYglTCU`=2x-@8oP9XPtu-g~>QZ!-_AL%B}9Ja-MDNC~SaP>exMIwmN) z40V&dB8NM(%ljec;xCtco3GcRdt<}Pt{?n(_-X52-FdyCx}ZlS;JBv$wWBRi%QQW$T{y5-RRed3q?5}Ug)wIaKrDPY@>p;iLs zv#TNgFo~;|+;7i%@hAS;Gp~WXH+Cbm1gpX2F#kydxAQZ;d2$$2 z!79NyL1wC@Mkww@F2)7`m@aCr^t>xwL_(c4GqND6#DHC7{XTTwu)eJ%bgm*kmmUb%oJlyvC-bXAh8Z58|m`A5Vj_# zL$lT5e{UwKJ;e{|AaV5nuW6SDBx0x8VM{-YHC!q5I+8;hsN zYdNdaQI#WBE{oUfz?K~mta4hfB5clAd>(>S#*ULJi`qydPI&O#9@<*N`hTkZh5A0P ze5KrBPOY|zLtZ90-0Z@_q-(t@5+@_v*&{cQ5mno^bBnp_AFD*Oz8OLkJf{Kdp+tT# z>_tT&)@IutN)<>KZ1XGMGy7R*#Gp-VZ<=(5{S@meK((aQ%rK6_?ZR{sY za_oM7ACL&h#}yc)H}vgSCbPVwnS_3LG6N{?O*0SXrN(}K-VlQBsQyu!%)$u;jtE&z~6Pk-HVU5~sY!koNY^iOG%)qq|@Av5%_Yw4yy$ z#fxO*!70w0)=FgMq{;+qor@ar_H@)XzY5`z#!$3HS+I)1YtH0tWmv4O6SI4_lip_b zkDX&ex52azRnl0BHs}Ucv3L!cJcsfRGCLK`-FLqj2#TsU#xr)gi@uBo)zPL^Kq?lm z!IKB1Ji-a73r>;8Kvp1yL37>eVnzrWA(6(vh!)MkDhIE%lWXp7Yws`McB8;+_~3GO z4!I>S9*;MWoTX+N>BsgZ%VQQmE5$uaBT}~a5JUIp(EsPoz<76a!e4rntbVt*4Ah9_ z{jh>+a0M4~u$iA#kv-+{?uLZda%+>)AYouNkJLS4@H(_s+1CG_n+}F+fwRXsN zS8`evp0Znp7hU`v-Iv_6pXubcVskO=g@108n!Q~j87|=L)&->}wDe2q2Df2xVfnc$ z=la?%|)bb)T#1$=fmyB?tMBTfIE+OENe)rs?SMG+5Zpl zmjIzaUca{5DBFL+U04XzUonogKZVd{MOW5Pj;A57VYX=UB)`w)f(Dv zlPe0NomYUq;CxR$-UU#BJ-uZm@=Q>&n}*mX9Whl7Z)0WJQQa(spl3KA?J=b6PS|wY zU-#XM?0(UNDQ3*TP$b66wBO;&3Zu_hK0st}c}(_TZ+CPD6LPeZ9HYA`)N-qn-7u`u z`)$BXFp7+&1M~#vwRggPuvvTH&#cdfw`#qvlu_Eoa3p2v#GnNm~KAvdoNf!A> z@Xq%fjj$q@WjdB!-Vi=j&QZvgf15aYu9)mXe$=Ocp+}bW@&AG1F)PoCIC>qZQs!Ccy%0O*QG1EkK!eq;U-5o$U#@nt|c5|RB z7VXAD0*cc!*Nmze>dR^OyQC3<4z_FDRYvt=>rprLx?)idEM%Z)JtMdz^kqF>cQr%U zV7#r|95+s*?Ta=j|4}(t6}xWGA&W(083D@aGpUXD-lp8*@j&|%6=Y5r%CSH$^7GBP z=iaSS%A%pyfX?rXNPnOC_P=MI$JG8OHG}ukIfLr#s3e)>g=2x~w-+LMLvXv(SyPZ( z;`J&_x%fPs6YraY?VX&2_ub+TcyKR%9OP_G(?MRIzQTX99hE`eQ>N;nm*RR?eKL~5 zlrT#zXdg36U$ugd@6V1om#`cSB$S4;^njM)JX`2V9o_TZq-KsOvF=0fyidbEM24(| z(It|jmW0r7oF11$EVRSQ<;N|Og6?xS zJAu@ccp0U=@^bkbjnQ^M@Tp6Djf0l6p;w$H2Q(I^>P!Tb6ZQP9bl!Ixv|UT`O)78$ zR}f=XEN4QoI86^|EKWbOhN+>VEj3nDo!ta9n6#*(^AzB+$&*^>a7(DulQxa)Ewy`C@Ur*TUk*9yX!e1O0E3o)^NIEa*z1S)KuO**{=v~l1a zdrnmf*{GEH&rWbND~nyEj}Q6I}uJAg=%|B!Q{Y|M8>wz7TAy`q6wMyCraWe zGK*MxLS&0kk{Gff0t?Z^H2I@UPr@(+KvY1~N6#uogAf4MW^zp|6CWc*Y9MCN(L~&M z*aR&?ElW)jM#zt#(Zn?A#zcXO1PltnIVU>l5XqrECSj&TO)L{0=S7uXbPCKsX_2Uc zorr_Y7VejdA3?K;h_WZ5Jdg$rg%pMWU%Z!OBnYyOW{XWM6dn6SigTt!QMCYcf)E#r zngvW>-JTsLE4~59j5UBY+SdX+=AP- z^vqVai3M__roC`-5p)S7j=JJG9koqkWLtR80DmxYe*yj z%d}WTHJXVg)!JS-MwJ*tsFhRjb`loaTZe+e6F-DTbkW;PLN${_Vi;R1$U$2I60M#D zvA_&|6VLCK6(cKC9?|A2tVjI^PNhOEipgYTYvKob*h)N-*BEvPl#`kG@4FEfii~?8 zvrbr&gmGk&B)Jgf1WFmH0i}v|G?Q4+;DJl~&?7u0LD5i!r4|6K%`q%B#~KffG$a}6 z4mFf=vFB3^apjH_Mu}o-kuef9ImS8=xEfq2Y7UJ>SPRDKun!}y6B&s>RPZKS10lg9 z9M^yn0Er;3rr20&gf)g7YO&HW!Lu8uUQ6I#SlmJ`6RTfwC^9F4G>K-ON=dDSd?#Wg z7ebs1m!gG@T{h_c%Yj=V#>hb!CFhQbDz?x>odasnRP?i(ia;|>Z^00gMbv?yE?GMY zqAWZ}u+$)G340XjN&-nHkOI7w_2SN};gW2*vMKIwHE1*K)66cZCL}=)MH4s?Dm55X z70qcT#Gq0p9f70-HHarHJ;`T4mXic&u+#`^&P0tv$P9$mu&p*1VX9*hIeu9cXDt2mCKNc zpE`c>y`T3!$M~fTHk=7RGKEKEpWSfW3hF^6#7RW=s3l&T4c3 zZY?t)bI_l>GYjghU;rl*{OjLkE}Da_4bbqLC6IhbVamF`qTYF*vVHb8-IO`?)B z9ib#NG?bL0&7IOibSp<^wP&HSnHC1<_RWpN8z#i2w)t|wxEh*tdMO@>*a7#+yIWAD z7uCU92I%z7#5hQ!YVXI|2bo)Bf+wa72AY6>AauNZpj`<4&$Ko`$!|E#+zNOfFZ!)T z73)GeGJ(E{+X46EyIWAD7nQ+U2I%w6NJl-ji;S&oLuWwZ8S{Au7sP;z_a4>CE^33d z4bbA7pq3Vqk{Cf_JI5FwNV_qYb6UkNd><^W>!Lka*#Hs0Ez)z45=O*%i^xja12EK3 z!JD;0nU9t4RG@2Jpa(Y_(clhqIe-sIwI&7KOF;;@a;|<2(*}EVMJRfvvjKp8Nz`9$ z@=UyOFCXiQ(s6Qxpl9+M0FV$60{{mAG(!U*08oEqew88M@;ApU`|qi3X*>xKaIjbd z9vewKUm@#TD7xH0ku;sj|NamuK>(SVK&t`()C2VZBN)Ky%O2c>r$_1u2apM$!RTlO zAV>%Jl^kQM&5n#4{+^cx&EEgSN$Ybd7zD&^D!#E05t1N@u^7f63KPIs{KlGY7{sK_ zqw$4^6o3LlhVcLZh5%|r0N@+!XD=S9NFF%nwl|?%%0OQudEMRPfF#;Nql$>KTDL5i zYT=fG$>AN?F@4KAo#1Exe@U{8-$~(r@k8O6c=%_$*5hSmc;l}h_r?RC``;ey;Okx9 zd}99(TwJ(V-qsWz(2^i`KJ^VepBG{{ zSjWVYOaxL$5}1mTgkE4J4|Bvo;`vzdm{*v0n3%j*6)qO${Vg8OF(<#ep5dEtTJ+tY zrq4VdA05@q|0l>BmFIsIhK`(QD$haafGAlY$6E5R9Rs%}KoyMWv&@tmU=jsw9SL0W z&_%6O6R#2Vu&pli&K8!7sDKk4mYH&6OoE^dytcr#E!#KesU@w735r`_jD4x*aa&MT z;dE8j&XsOsOoE^d2dyzWNPxGZfY`ibbEI#%9jMtlNrO4=CPB~!GFi?~ znQN9;O(K#QlkGkhW5F-3YFGPOgmpV+xiKa| z&<0pr0jLlvBs=SRnJe4QN+&>aQq2cycTE#3lpA0Y1#PYcZd=c(BZB2?S3~q%_C0JA z&hMex6M^iQ<;Iupf&ISWo) z-5n>+&tWl-L9YfT@6eAE^B1Ve++o)h?mUc(wNkC&;goY$w2n|bWnFIrhfMcO!VwuLiFGXBelcA#a~2UVvxw z`+$=b1mpAS(|X@S*G<)|HdW0UV16Eb05Hlvvm?z3%>*PBhI=iW3FmP}PF z&m(_K4Dwdt;9jwC?{0hUCaxY9OC?X7h(wEn#j4+0&6f8QO0!n7gUV!M+R8a0f8?Dg z`19%n6|+clkzPaSWP9T4MhSM?t*~T9=losPaNa!c23`Z68xmSwdFOh>fb)yWLB023 z$v)&&2_`3GU##@XHb(PhT9~v#mMt>H$l^)vX2nR6U!Xzw=PXtYsWovcTR;8M$rU~J zv$lWNtx>VwTCJA-niJ<~V|=S@FI_zVVK152eT0kThW4vaX*v9JoN=__k@0-BoS{{% z_}jS*38c!qKaTC0$fSAiCqvXU_)go*v1D}^-3I1steGMmTk8mvF1F}+;hc-V;cM&J z5w-i*w)d1EUv-#Xu>pbfFE*8vwKT0Ub3-TqVSk>em8LYNZm0!d><`&9(p1Kb4Q&9- z{-HXzQ+pFjlo~KMhXTy{71^USn=x}kC;)4JDV);O#>5S!0L=ZNPNq%u%qY-iz}z1S z_}ZE_R=G7MZYTv{I~{bUA7_n|$)5Yj?k#h`NXY@v$t~QspG&(_-kt_scartAsY^d5 z1<*dc?oGjZgukYzAH=>;0)+E#>;bFl`&YaP!639D*U-(>BFx9G8G<-FI2=9%Z7HEs z@HeCte%QgH70mXcGJ+Vq|7BN7AGt9(0y-(XB6`?90zBR!TQ}P+>dWwjt$k)IHm^*? zw@To2pIbv)Xl0KVyqAA`&9@O6Oyp_NJ^qpOTK`x~0%LY`xUSGRp@fv z!}H|heC3Yj4V;Pej|+F9>KxzJ(`7yq!S9F2SE^s5Rp@UQ4&SG14_@gd@4CpUU8kPU z-PBBP`@@GRM9rL1xc3TQjN^#>mgB}%Jcr_Vj+Ysk*L3~AI-&%d>YTXL^+#4y547qz zfa9k6RjZu;TGga}d&b!3I3DZt&bw@ysY5!X#C*%}<1RUZc>@o znC3J;dC}~Fz*(cz<=^KOI&@j5D4VsA1V;=#0NGYp?<4e7de8gjU(fz_UPk*Pwf^E& zN^)I`VcL#IHmKwF$GG}fo9FPhvdC#pBBpt-b{P7bj7&O%$xmdHIO_)B;+dLdGKMdGw zb#L-9!LFD;5?{zXY?bP!OD0zL)H?0J3U0KFO- z?+7nH2?5iz>I*Im;=WgoG^h%z{(ft&NDf6cg? zY-Lj>5#?E3{n(J9^LOcN2wK2Xc4k)f(%x3XQr@@Sxb-h37{F}yRVaMn^De{h&ANU7 zk@~Hv&h1Wp&u%_Gzn0r!Ng&ce*S7Zcl+oG z(_Wl;WFOXc8r6;1^x!#+j<_YYt-PbgS>PrLf0#Iy-eT47jBfqYXW6G(t%8clj^c^G zP7WB5GBH#gW%~m)z`Q`7wxexqHhkO1n%Fr+x>oH#7{&(5nzNb=aDg$e>MDRj-o5DV zeVQ-JJ7T30B*WX-fz$CUBK5dkIc&yS@LWO0O0njHO;v8HpI{1|bPUS&7Ms zOU#9bb%Td_PlxHp0Wd-eMkHbZ(h0?oGHkdWE=6K)=Rc`0KThrO#Gf$u5P4|qrfn(^ zA}gAMY*Fzd1bB!ZY?+vpM18O;-|}0Q$X?jRM?x?$+DR;y4rIyeRQN% zZ@rGvQqZ-YF3B-SIVoi1#fdAC5jL|t)={MC#Kog0wb#B!(8Mq;V)u5QAQ7t|X8=hp zoOCp|zDl$M4|whJYxHif@N0K?E1cY3gXnnPl`>4$6H6$vIFmM|lL{^ZM6Gumz#$aK z1`U&_brHM~?z~SRn?tV)y7SaGfF1+ARfGS83q{Dhf$0MXw$$;tXwD7UlZAqwN)G0e z7mAR1ysGrko9oUE08|zTSq2&39xw7YHFBPXBkI5{Gjh% zCm-G7<7N8m7w|V&Jp5?LHeoUeB7i#eL_lY<7ly_aE%*FO&^4Xy`;BF>r8hAxy0$d!_VM% zy4d`Fnb$m4>aQN#&7LQp)xPxj%qetCa>lCH?(Z0f#43b6)L|9uW=by9R%emR}?J>IH=JB@2o zj#+s3;_vM1{$%TW#@w&)FEG6@YIC>hY-8czK^ApoJ5J52$BX?(&aFtmVZJ#w?c+A{ z!`g@q1vVW!SM+h0{^p%ZufQ+waPTF*5k{|lzqeAg_hSnB%E>?RXTZ~?_ZzM%fh~uF zX^BhR@~(HO8F;Nf0rxHoY8V@$KeWK(At2TKpVPdd9Y7rTkjX z1frRzBgfjT0%#ibR@nWSem7UvDk5{ z?O7sdTMAbw3KIk8{|@G2I@i_1LGnAK2BS~ZY`r>UVOJc>qW=Kgo& zrVO;M(y50E0%rVBhhi2JxRVuG+5wq&YK_3wppwL#nZ2XebgrR-fZ0Ek90!B$0SX=# z!~~S9I)sr-3jvLS_e+2F2wPg9D+fNVw>~||M>_0KO27jjD(tti37 zlX9h0#c%wCO$*pnIlo809ARw*A`2tWTohZ$6!_$hn!t1T4Nt2~7$?rB0Zmh>ikSIxs1xV6GVnZ_3Q5M9QEycvF~kZ4a>l_B>E#$05KabU!W#?#LdjuZ)&m(0+ZMRY3^Rl8ODvoocg2IJAWsyMMhRR<*jOX;FSTP`f~$k*HC^^bvFL2SI}+<)fX;aP zcb&ONQ2o94NND80i8U2t9TS6RacmGf2{r6GGQZVeDq&-KCpwgIuIC0X?HsdYkC>&? zAV&=ArqqYvHYgA-RC6(yBL|AeCpL{8C6Fbw$baeMi}nK&;5;38bbJu2GoS7D-mnl##y?V&oaduKk_F8H5_ErXY$>g9Kt<`l?>M}xIs?}2tR2m^f= zTr$D;meb>ZJ(85VoG^})N#|um$Gz5RYAywr)`5Yc3C}Yht!Hm&qMjj7pol3C9zfTa z*iP`ksc2%vSkqbcRa-O#41}~E@kP_Jp=Po&1vh&B;^ys z9eZ&(6M3u_uiazGoV7U-2PqbyR7WuwHUxVTXI32)Kwd9VOVJZ!Gf87lbxbD39(p0R zlBp+PAdyU#%O-6x1ZQZ8B(;o{jE2-077R(2 zVaO!FPPLU`TV)ACQ-^fgu8=3evuDbq2vpe`8BCI#cTAe+B(VrNlvBxs z2xuTii{On$j9vJ~lBp1s198V8MvEj6g+c1_a16to9CjQ4N^$j6=|P2(a;9jc2p9xo zZJAp2iz5*Rm&I7wqXb)*=ij2hLk)q#0Is;KJ%Z6wb zGrEqHdB!QB9$Rn_hq=u|iXuRk%O%odD#Va-``9pO9%7Q@(+=U8t`oMn){1_1Cl1aD zV{fE69phB6$$-QK@FH~40^=0`YqiQLV{<>diBs@-eT`6t%}J54v_8@34vkgTvD44= zRD>nd+#tmH=;R=Sn*x?JLYbP$d&!BM?$9X!0X;GIkpj6$tNRtv5=udMiV`XbF(V9d zA?9GRgu+F*_?O39T)7im1`%33WRM{t%Z3g< z5P{LeB6Yd<9B7`2jRA5a$Vf>ECG0JpfIWlXNzv&!2d3z^OPpI_>mr@KB=L|j>=_V@ zqGrn^OEG><7Y|AyXf~0%h(h4^5D)?Y1^_cd1U3L*UuE;u7=Y@R?_%A0kOU-qH}+X^ z%WO((04)8c_PYhQj~$UMoF_m3gvAa3h-B<)000|+d%^==IO|ytSHkmzd%^){Bksc4 zaBjqzAY`tFZmviQ!vFs)$m(uC8F27d*c9;z4S0bnLQORuDTIwt5H40}l?Ky523XXd zN|Q>$2@!xmfMEatkr{)UBY>nmW7KB`v@CxM()R5}fp3pQ-ObwMNJ2~^wPBmuL2c&P z0gbJ_5V!Nj(-PYQ_$uQQiC2hU-=A3P-}vDd^5lL$C(q0?f9a+l6F+p|)Q5cO4lUPx zchc~u`#N^hy?Zk+<2tz37yY5TJn)y#({o4lpP}i|dHT4y3Ep87|h*gsxajyYX_ zerTij^wJ-?&<9R)8DbOx$vBZ{bnvNe9Uyput|0sR$Ri)?uwD+ktn>Y2`CxOl+Ah3& zKcAB;`DfwRjD0Wuy#M9TbNEGg?4cHnyK7A}z;>81F@(V4`hl8^Wn#-&`syR2kCg#u zmRTn=O|sAHyT^!62K;&5&~9_-FgkA@TVHpqiZH%FfH%^sF_nr@#bdi=WG&hm?KjI0 zSFy~TRi191pFj1NSyYYeU4Sxf!joe^qdi8k>l63qutS?uU(wj9qwnT@%=6m(?3$Ts z+>zCnOY-c15Cn4S)uLXDG!a-74WQ^twdQ!9ln0NsOl2@ciV{k*aw3WABH&yr;1CQf zup;!O+H*Y5$^*w*q_QNYjx@CXs`d=75SBj{raJvDFJ+>mdDb4_)>4%{11*}>k-*L; zYP22pn)lQTDskdbeVY8pLf)OJcp8)jkF`!^T$OUwSe~j?YFre!1VDbn!rz`(k(XzFDM24FyJFk~*#b(}JkLr4$6Befp}<{Lgp`~Jx$8&N zwyTj7a(z;$GxBI{=AVr;4_}J1o#(U5laNmPn+IZo<*;9*PL1&8!PC`-ySH0ze6b ztY{){`ttM+kS_BWz4PacbM)B0Ldl%_-6hoyjdZT`==&SEJ9C@=f}*x9biEiVkwv>AcKcC!m;oLVXiVg{B z&<1zO3O3;iXyZFGF;?MvXzx1$F-ODI5Z2m=0Q4`k$PVFu`8YjX0Tx#8HId#^A6iSL zJ)XV34#a&2)C!gB?v03-eI+Zs**nwRJK(rF`0bZ-R)E9~A&Puj{NzP@*HcRGASJ4& zCgt-wz)#XL3q_2W)(Je9pW0rg&o9!A*b6a!&RzS)SDSvQnxToKtgW4 z7ucxPKCQWNa+dsjdNJbQ$Dynmtl#He5~sfJLqnDIBRc}B{j_)InqttZJ5j-cu-^)} zze_U*Q@EbM4!D=^tpssS_p*gDTR3iZ>g$h@R(QwS0ugf!l$ zeZ&Ik$TW>41TfyHz-0tdkSQ7oR6;dxX+lHs0hy+ekpQ`Q{`~g1P#2#5{&V`!tP=r2 z{-VvJBNRV>*e(1O^!fc#Z2rWpt_+8s+@tYE1LNYk*%Pzp8^1>~gf`Zv`ccYy;)xWaGDa*RMWhR211WWH+t7eS+a3n|%O2DL<;kb|bmzFmP-eQthhW zFB|~jb&9!HQj@GdR(@SJMvj3$N2U`szevcqT*d35@?{F#gd}bJqMmU@?I-h2p8OkE zty`K>@PFMsD#pclIZU&J?QXOS8jehS{>yTh|3%v%=lwbbV!|Ye_BWkayJ{49^Tb4v zDBWQO^ZT;?vu9*K{N2@fY|8bC^f65DH7fr8s8IhO{KHSqyEhbIO8s%XmV8lrFxp#6 z85SS7-UiT6-lvL(cDYnJB6*o@-`QJdCoaGyr8H(i^;jYZN^FB>GBG9X%`MmQFhzpk zl$S<6HdYsA)8N`{sCWa+YAQqR1BoBpQiX9)fsG**_0E-X{-`JhkE*n1O77#D#!DGs z4i~5H#dU~yIwiM(SHuuQ*CJ~ac#w~X%*oTb8PtHf3CX$=TBvOyH<|#vf zu%*vMjR1(X#{=*HxPI|sM^4Ulh$46(u6nkLq6gz5?bz~ zx7&{Hk$6aSnWw*FT%ly+Y+hJqhNJPdMsw>0Ui~lLrVUT-Gzh_}B~Zs*5XFv5PW&cD zygWni!eN>YFCy}jKQh5EbmCJ=ZDMlPcRL}}-Q@;gY zkKcN8b_-(>W_uELt^!x0?|-GOYQO#25Mo)?P@&$rlZTXe9pm1v)t+$i7%a28mm=fB zwZ{}28AR@v4=%wY#%;RtZ+FGBdVP}nx5o>7Rkt@Fn&HVVFFTj^m;hahY_;hQ{?>Q@60f~;98!=$0z>vYBdB47n=?%2{nKCN0$v?T0xq42Gsj= z9_5q3_+oH|Rhi(YhxlF9=jeaL)XJF05AETVa^&sW-0j2$464an<7)2Idt*P^n8Xe| zr+fD+p{>sBrGMG5%ESL9w+GMJEZF<}rRRTnI!FIJr$a~Vc;R2|yH(d!u-Y%Lhsj7Y z_`j=MM3APi3|FE3TCY-l2&4FeZ&9SGS>3zbJN-2#(Kzm>`!khPV0|oYvJ(wsu2JyP7Fe#;(i71URzS|72G4uKE9c^8l$SM z65q955C1E=0dUn3r#VH_CKycFj|0%pys4J$UjP6Q__b^$(lNEjglmK%43Nb`UF388 zvbdN_MD6nPNxh2y$+(bUCP8@sLeR(=G*k>=m}|Fy%kC23}$? zS59drQ!CUOVx<+)h!mfJcmT1%fiu)XUKB)@QIl#d2~p&ZUV&pOw-h9u<7omDrEa#GV&PC0qYbGg!1g1ol zpmHU{1nurV-PJ`-=CnX`VTf)W`tRN6Qkh({O=%=BQK}djs<;eNq4E->my|MbP{q$T zyIVQ>6E0>r(zsxnR7stLWQ`C-lvyL)rhqS4u@{A2D{V|RJIR!O=hni5H1 zlT_s}9g3Y6N@=4GAKfkn`4`QvQ>4^?R1h|mi)*GSl>{|kF|Jn1Sim5)0Sv)>g9}(* z+P*%!DQbMKn5IP%+vDCnIV<#@%doUjdXb?LOh~m<#pu=q2j42k6{_s7R3tcKY`o zjz;Cqjg$JJ*(i74HgleiZErS=q%9bH;sOt)jZ&8z3M!}=MjCq_ap5Y^!0h0+tprQZ(PFiz#su+fp-ot>UPg zXCGfYr_9nPIz?*|`sO2)L97zbhLu`_m;eB3!plM)guQDUd~vxXkv^H}z8a+;x<67c z9s&*Tj!b{zlr1FYz?o$6*UAv><=4%JRj9v=wT-=5I2A#VQ`iFPfmC0V*PE*Hm1D-;x%Ov7z3Qqx(&ct?@9=v^+$sMcNpFD3$h9Vwf`o zfnXgIMI-%`NB5g3TjOA!X?dlHI*yY{)dho)cGRn*5)(=XTNWlulho26V4i7tB?A!e zpn$lf3PY)MQs5A#$tuYheQ#mX_@?L99++HOMa4ozvP{n{AYem@4~}m!gTW(d%RpL5N0yEKq(Q1rZe9Q9`$AdwGTnB+ z_{cA(BuqT>tw!Nu6b5)&U?FoCWj(zEJ1$azbNoUrv7}(-W-SgnGU6%>=8DM*VG(jK z&r(`5YcNbQ19Tw9p_fyQc2QDuxRS$OYcj0^1{eUTxO6D3FS)cJJmtbn_r(!{)fV{6 z_SJOqS|Oop*c`~5AQ;9J#uemUAnBJ@5j!@%8TbCI4v-8>K~x5-iap3{Xd;cQ{5`hB zXi3=P_V^!ZSc#oQN8kdkAu8seWEn9iy-`)DU_Xy^iOeEQnWSrH1X$Hlo)a$N(rKW$ zza_H&aXtRIXJy#<3l`r~G}TC8=`esBl3N@^Gq0&_=f?7#E8OZx37W4FBs2ytrMqX5`5&V zJC7BYEu_Y)hvz+#b1ftm3K-xD(lSNIdCzrF0t2)L8>b(>e^zR!n6yE62gid%IDM#r z3Q=Fft*3Zjc=1_*Dg9hfb{ zJ?cr!q~TlC6<0UukDAYRV{-#>$)OH&p~V)Cf<&2FLjrSF`|E$6R z1M=lo2$_m;ygP)fO0E3BxP?ndm}q6*e4rBzk-e4HGcQLBk8Tr@zXDUCx?>$L-L2T$ zPClPymm6$TB=!zQ5NtVyaR>0!*gB%9a_xJYvEP2Ac}-<*;-exkP!JDGxzy-jjF=dL zS_T!3pH_Z3H+GON0F~<{mWieE5x1T}K!v~2W^a`$d`szF{_jOZ$H`-}H!J#kUW^A@ z@&rBL^B$vdw9BS?jG;_HJmzTd(t)=4!|Wq8K^Hy)`2zi12M2#Z&uok-y_TG>tIo&8 zpF5)xYDqzXVM#}YOG=l^e%#eyRF}7Jsmm<=lPCoH`pEY(H z(_XI`yjWR~E1pb3I$+c;1Zp)-?QUGQyBX3D>CZde2)8G@s^7p z#HkQBFCKCg)1<#g5fIqV4EH}Q07MWF0{{R3Lo);>0AOBKeJZK~Dn8wFb@SpVp+ydE zSO8gkX=^Pc-`z0xz)+^F$zu24TKxbZGXq950AK(GfvE;H{Ur-P;brhLJe^f1I^a%t zfPliY(nMTA$+B*n1}T3GCQ;RYe<0ZEpi5FQ!?d>IjW-w=5zxSl(RgE`LaJ$|ogx)l z4La43V>W{{VgrOIFa!VqG6P352LPc~94)o2P+;waySvinILv9}el&KDBxxGc0%X=b zb?b<_F&WfJS=Y3)6*~=R>LJ`AnYOjnvZf_bBW2Mb zUKx9EgYP-;$t;U!$G{J&_tzZQ-{U-RV|LzndS4b!?j`meD=#r9T=;C9<*$G5!Gnwa z7S6#RPW|u)3;f&b`4a;l<12o0c~a!pdu3MsXDw&N)F!f5 zI59Z6@w{5l58ubeR(3`%D?hyT>rVpxAXK5jBL-!L28eSpi2y4L%9C$N+3%VAb2;T0 z<{ulxIrd8| z%`<9ZGh+$I_f4fwmarN@6yAeqjWm_cqvpHyou7Ut=j+%A%RL_z4cSxYT{E)HMMBKk zCF*op5$qE7RDHr!yTrP`FrH^YEIN>ibIwOydTiJz7tC@{WE_B-u@ z=}|fKs~l6Zuza$@pfj|0645Oy zb|&LQ^yHq}MlqCBo4rBcqHL&TuIMAVhI038^w<}PWbI~YqXV_&gDO9C1KDy;8FF9! zt!)A|*g}wbEDc1UQ8|eP3x;STXL*QFL@Anvumh!h29AW=Ayqu0R2Hvg2@r_;De6K0K&48xI!`FU~qwfzm)=$V*m~MRcnM zYz${t+C6@C>Us%9oRmf`<0_y7DcSCJM2?tVQTT<`*O-? z%E^gFw+9t9A*;%?in3jdCKl^SDYJaI+KYaf_geZIKDF;8?%4i$<P6M^77GJ*UgBP0U18o~RARcr)WW3WpGs7;Hu}D9 zRc?%cD;rbNSp&KaLb=K!Thct-t4qAQ{45Ju;e{h+2}ASN>{ZLino$N=L!DDZD-xe3 zQeXX$y}OdaVm2{^kWqTM#2F1ufr_$C=vHxnN0(&qwuc`N>I1y>P^pM{mZN2iqy+}g z48b8=GN)J$NLg1lJ1H{xHqhs|Ddv3wfOujDJWjOfc|zvV$kh9PtQ}zd-rXKa)Gazp zK`;?*5bY|i(^@+L4+d+2)~kjU^8V`o#C55@lEK$HNd$kPyF6;%0<$mVd&4JUS|8SE6sz{OrRRHD^+$KyEohgDlB+<1g$$E1ZKkpnxXA* zp$xG1pv5YUvDuU5e5!rUtH}=BG9`lZR}`3O)gP_?I-48GJtTyV$?0i{%}Q=?*ZAL8 zX-wiH5c{aqedqfZ7Ad)ixznZ=VQXumFRXmO>IA|AzN$WwqILZSxtHmW0selk(29mn zTdjk$WwUR~x9|20q$+Hm@%v zeL9;0@1gv(p$}sCHq*!el0a?0KE>5$EooxUT&QDF2Q5T94A48>$p2rdX7W0!HkB-% ztujUJTcD298fz<|1hBR~-Ku7^e~fP|Bh!zTnf*?CulQ6zQ-^AVFub*=AtK|06blWU zR}_k-6QqN9XIFR?Sa nBq*{;n(0+bq_yfjjRpEL&k?gBfp5e%6g3X;B0lSizu1s z>=Owq+l}cetz@V5cDBKNkJNCgYcZm-Ss9-auSaZ5lIwTccc#6jdcnTCx?ZhSU{(D? zoBGq|QANM6wleB3s~GyWt)ahAw9XI_l@i20EiDI}LA(~UnYJN~>w|~y@+3^xar}dH27cDR3IgAM^9QTi(4Ey1-OEhxHL6 zGy*0!N1%IYke$K}GZP&n0oNvf#@eSio7x56&H+rHj7x}(f8xR0_8wexgfm}Wl7Bg% zcs1dDgN~?Ti~aOBy;u0OMO|XcbbD_`&b?k5E!q^GEvdNOx4}GV09uGhdkK33gztq&fj8shA7VXrjK=zh_Do;!AV+%18&?+zqbr>0d|jQ`jh9fJGT ze96|NudcLf+0+>5Q^QK0%PwY+DHVO;BH92JLLp0COisKf``)60WdKF1P_XoQm8pL| zLLz36DHVO`QGfcuwZF2;I4obL)%q;pbck|Vs?g}rHx#cZHO!;!d<$3wogeg@HTMA zqG+d58X$ox`bMKcT$#Z>_f9nyQfu#pv@Snu`?4C6+Xy@igc^y zF3E{pc&m(kML1V&RD81ND=D!jafD)KE-5N~kO~zV+6TedCSBmjsN957vLDsAZsQ*7 zQy&O>hk1X-gKhjwMN`OeFoR5~=q7jGTJ$OABD}1(Phm>bRNAtX9U^XF>Fx_-q0BT> z9Qq(TD&RY9NqoE>xNqxzcWs9KIo8gub}5_+W%urMQp^lf6#5|CDp&|=+3bIPg0a|Q zx5Txpn7ADv&eW@evcALOx-wJD6jL1fAWJH0Zk)@&lDoEb4nEIHodM?L^L7%_(iawM zBlGxR=9%Kr2f0@i-XMCheP_*l;kZgxuO3E9g>SU&vDW*8|L2h#dqQDeB zk2?}N+F*h{B^wHnyr-{Xp~QajBj}#*k&fNeXI$ZwnTd{(fZgwzj>EAjGZP&n0lVL2 z&-2L2%tS{>z}n_Js8idgn%k87XL6{7Y*oPeq1kd)B;Q7ASdLs)`ds+zTX#Pu4Sdg} zJ(9ku4--=ES;{(Z(~JRlZHI zy|?H#0>tONjSTy`m!)4x=ST{Nftr^FW{@cveH%GmV;Ao~B#Q(wx_X@wRpXmR-+h}K zY%#$1YsmyMx37>|EqBm8h_1y6*X~iR*zB&*!hg?L9_pO;@^0c2+rD(oza2)&JD+Vf zh(+)H>DK&?g$kvS<}#uGYlO@DE8E>V_yG2s|MWw9jMdWQF0WPU=+>{cyLOZyMufS9 zh_@FvE%-j~_vb-La~t}smzN_#4@>PwfV_bVGIy@f!+*sCOscc=26o+9{fi2xb=A31 zVjslYVP76B&xac}`M|*ByyIn0Z)vfvx)vo6@Nye0+&enGUGC?Kl{MY#z}8Ei8*`|x zj^Woe%|m;~-8{I2H%8a*@U;q`D)So)u)jI6FPc`!B1Ze)CmPfzs^y_AxA3QSG zIu{S28#1}QDd{JqHhDKPeSLcwf`@FXx20Yki31P4oL~6sg3d+VxAhiaU0+@CV0Sp( zx4rV-UAolY;CfQ*83PKaq7xXyywa}KtymrrZ=H-0JRUbYb>1R%V5S6B{i|k?lhBj* zcR)3F9rB5ERC%x@{WbOJ2b_u$3Gc5G_mJ-3saE6Cvk+~!gx&Q<_sM}qRAaA2YqaqF zMt=s_!ESw9pD>lpER1zqlZC$k+0KYiFzrHWs>}7Pb#H$BL|w~h=bx9MXLWl=HM#yQ zQ`Y_7D6t)_#Jl4|?{LFrZ^|^3y-ay9ZrO0Hxrdw=haS$^;n>VuT@H?K7=khh$^x`i zNZAvuTje2X=w)X+ekeYZbS~K6f2wcb!rl_MR@D#oktf_=}cW|8HZGF?no#)Fvb<5 zl;9Z*f`WxwM?^{j8#VSm@+$ndxN6)zpXXZyRe=2NFit75G7${KP-#KA1tYLH(4-mM z%R1kqsDR||G}kwQ*A7M@f~5pw=JG}*0Nk-!EhtI#slY0Fh#MuzW=_k#r(vM4fFXu?_Gd-%#;x7k;YLm zqb)49h>sC50GP|&y%O&Z_mjvaoXr%B2A2>H4Fv^mV9Y}$BRdEc$ET@H*M83R*iNMp z->J-XS3lz;7fnq1laWWpcgv7;;DKLK={{)--=7;Ves8ZCBgmVPIp|sgx3Z)+JIZWT zXGV^TPmx>m7J<(c=uV#|^OL{t{s%%pUhU*09N?azXY|>0rtKmVJe}@IJU#HajOdBA@4?0|#4u z2F|B1MBL;hjtx%tUCPHY_r*`;#kz92>|6Q1z?kxle(m-9xe|W=BHhofW3H(^bvl^_ zg-8D!>coLp5552qL!FBHt``=^tf3I?k^QFW>tFnp>rc7fb(iuucm<$SAZp(;8 zks&yPMpD}7A%-J4=rd1ZRm_68XiBodPie?xOoE7Db60ZWn8%?cty|8RPbJypkF6P& z8!<>qU5q`9^+C3v>j+1>(Uws1VGk%5;F{z8$>^i(?V&N$~qe(26WmS z9F-%Xz%4dYub3Q{9_c{NJMrpK3HoVL)80HZ76440j;yO= zM8cbi#u0!v|6;D^F@>3Ak3jdHj?vv1HSp%5u>@fDbRzC!I-5pD!hng>5xUzc>mH2@ zZzdW?0B=t<1>UDOmyL-46DK3>d)};mlXCBMEvhfBE~!>%4dxM78}(GK)lXa8dhVJhp=oS4SjRRgYc&Ouiuks-$;}K zI>s3!p%cjtlGag!z(A|gA&0pzD2%*R|AgQ2j_cyb=6t}Vzka`rr@L!A3Rh)v(s#sY zy(M6(>N#A)V3vX!4Qkp&NSB9=EK$_HAZjw&V!+coQEOnPcoy3^$-aB;*tH~1uIA~J zKF8ldu4MFT{6hqKa9I_`y70yN@s9;2-t>BZJewv|8^{RS&#V^Tj)O>a;EgzM=GQt{pJ~Ge6_P8R@hHl$ z2_A9`^5uwT!3Km5YZNXWoKY;r^rh?C{!;2{Ip<${%TA3h-e;tFDrQh|@j;q<#38lQ z_i@UCH`0tF4z1nUdPyD>ypU!Yahf|6!zdD}EHG$Ti(d0qHPBo?0N|Ri-ru=*-8;|@ zyQSy9#Rzdho@9KtmQt{=8tZ5gPBe-t85A>}Gc?6z0CA-+{Qo1blZx7xsfxEjP`)76 zIhi$qqo*7kyg>+|&g(gdTbRbni-jjbVPu>)l0=dCf+FXjAW(A{A!Oy}9%;SWL#O(Q z*kW#a_>hurq=_Q&1*p!$8~{91X824LBoO4Wps*ZTbs1@71~>9Vk@$kU$&~3y??(Pj z{FS#qX_NBE9Q^`p4b|4UK3rqd+ZY^ai@dL%?PXYxu@^ z*Oyv5`-Q)EFiz%|bnWL21OadcK`S$`VlxaGvLVGG1I|dpxP@Il?rtx!+T)r>APRxK z)qum5md(IqJ%dE?RI46yFcItpAqkNcOI8R}1wV5KIgSyR2CP{AJ11BCuQ-cQij0_G zOMxdcjzpzEYgq>tE3lbRPkMis>)Ml=G`(JWAL$UZ<0MZvsRc3zVi^eK0+6W%t17hx zR8mRY^(!uJJjGUmzmRJn#TnvO6brq8QWC=h8PAPQVjr`NE#)BIc={{_$tyj^a~y&c zA;k3QDH$5cz89^8SMqV{eM7Zf0p5+(@y;LcE3lL)a%Y68eoBYi^lo{Bk~ zuTj1!E7NS}kX$mDvZMf*BdsxmFF#_%%Z$wlk(E3Qri2p#q@h;9 z9)$q}aUW@Q2cHp*n9nXHV=E4G3JwSfS2$u#C@qJt<+HtJvS*h-xFEu#%H9K**J5sC z1caH2G8Wh_WIHMaLP~NKg&3-YDA)2tEE!m9XG5kuvr`UF92^|H43{w-2VllQpc;fk@j!h0 z%6{0f#C-XrlbqoebSY+1gjkzE5;H~7+{&p0n|gmfy}k5m`lS&MgujvI4O(TuPZj+d zW(Wsu2sH*d$7O4PIce}S5@$!=J$|YZlh%npbk*m7v{)~czT zfW3D7;NHS@V0^M5dJM5>hrAw%G_40Jl}>V4p=1j8nLn+WwzvF{Qw{{b5=6|Z~z1Vqaf9<5A6wM#Am{K!UKqK(M}&Q6H!1!ur_Lzoh3&!Y1QYy z37`H?lB54^0x|)Bo4oim1|CUFEHr-n1Oix%#*Mcu1cQ0en5GCNu11R*75m(P>p=1l);F*$TOxoTdyzUPUZpB($Y%pNDJ zG-v*H{!9Ad6UhGLA{SrFmkwbtrASW5+Rr7(L+a{0+6mGDp=W3euJmJ&E(qM!z|rG!`1@G_7v9mVHTLP;%kp zrBoXtRfxn8V6eu-;WDq-57>0ZHDzg!Se_X{93rVB&>5rdQt27v^It``vh4m-(fW%5L)v&Ooa17&G8t}~Wnb5T&aDE1g zsanNs2(>_=H>&VoUiVsvnOM{-dDsSiFsiJ5dM}D_cJ1yQ$*zNm)Jo*_D0_ui5GY)hs5LEgg;(KU4Rq}%mas3{o_>5X zBaR<>9a-OTA(z38hn@`l&#uffj~yo~^Ec<3)Ni%;#C*MgY{;ydMH$a#*_@E3w5GVu zio%(ejzUQA-+J&(JnlaZCiVq~D0zK(iPBBGYVIl+6Ej+jQzw-aSuE29uoQz7gYlEd zO3b8d$}Ip_2y<{Wq(>RhVEcJOgiRo-R#s*%MNnqwJI|`L)5zWHgLf3Y+k#~=tR-PG z*il}YO^%i{2xK&DdPV};iG@L2q$=u+KvuAMk`!5)`AS&TIS=go)+M#}PBse|7NxM& zYiUT4m6=fwmh2iC`?N@pCXH*gLC8{r6{OXc2|R zxH{5V*rCGaX|u^bL|vM+ca2Gz zA!s(!hqFs%g#1iohN9U`9~U2m55S+9`DlJ~BZkbpYIld-%2~P-gS79lhK;qk% zw3%wQ9}81%idfj3c>F8qPd6oH(yx3Dto^_KIqIgGw4E-cD->k$-03|A)L~Ik@8RmT zRek6wRlBat#U=eJ=-zJ^OMEnTJnM4L8a8H|M{J)IZF#o!&ow8_H%8;gPXzT1Lxx0u z!N&G^n8awo%IqxsJdmrvhw;4l^C?wJx~?7IXe&im9&{)USdweGXFf=F z`7(sI={m|gJY_Z5@a|lCovhiN5yPYD8XhA#HRZyzapGe-i{au-C0QCT%+on;g3bjaX>ae6x9wzNFY&!+c|RYRZXxjEK?9l=b5lzj5e{wyhaa z{PgbS2$AQ7eJg9z-diQ~U(`;;?x(iovfcu{iF>BN)FFj8fx%pTHk=vOZhSQ+H1DVx~D6;vCWZeGP}@bTD5~t zg2AxOXF}WFhu?FPjmpE_4}_;EDh*%7F411P9xIY;+F#~(Nx@`Y=Ldog)e-W0Z^6fm zz)%(TY73zHM%FI3U13*6G+y~PBa(J!ilx=ed_KJw9=BTfn7rHvjhB&l7!_KYW^8*h z{pIdSKe`PFcl8-#b*gj2r^?AFpoGJAAr(0VyJ{B8Buw{pKYbSSWND&ziI9+b4{hmV z@Or-BXL-OV&+r#xyy+&E9`tTJ>+zBdQ9vnyMJ z(ffC8*Q;5$)8A|8cB^3}i$Z`)w2}&MD1m!$^7(n*d@y~rhoR3eeY&T)_6nwS`B3pV zV#)Ot%P z`Snn8P~D7qY?__R%2=|rQN6pTX|1nCl5!uV^$(4mYoe6icDE?hci8C5-Mr%j#A4QE zK^P@VO^1_})>)nQUb&IL#;pJLiS2mh?Q%}+_W$EIso^$}$h+5G@O#O;m* zmM%I%qh%KGS&*(Iq&IPWflIa&Ard@$+F_+bU}BMG?)DJfFci5T_l2e7g3V9twosf} z^@gpkfRvm1GyvSf>4)|ABQL=;)Av-B6MVl{=Q;Rl?@iNeU7;Vl)b^A2lzrUZ<-RZh ztH!8TX#O&`m`7KJSSL}4Js2HqaBHr)#DYprs0noeKj~oJqvah8YpFPnVJ-N`3b{Hwi;rvWJX}r%tx%2WNkv zmy${Fsku}iZW^bCtkNV3$ikbx<(}S2g*gn6r8E_ae^vt6z4r}&xCMr)YkjQqKIpg7 z=Wn{lpbu;G_*rABc1VLSW{-MaTXmf8%Gj+F?8*1CBQCJD*5C1|G!-8t|SBL zltwJWu!A#9FEFSR5?8U@&Af$|giW29ch}y!diZ}zO}h%OJ|it_8OPkl)J%`^O;a1l zcbg2-Cai(Ff3}0CtUu0FrenIC6NdaJt=Ajaw3_x>;&Y$(i=sHEbhD80t^HT7>htl- zwvG$?w+mJ>d%DZi2)ubj51SB1RyxA%1tG7o5x)JmXQ*pG4O|qyU1vM^7W%bmmHK-p zocnT{MJuW{ahFWg>watNeVvuW`r`HMx?M+f^&1Xm-as*8_vNJf+8d&D-=cajEUIq> zeuv}Qeds65&eEu5)}~QCmh*$72PWVRaGLM0s1_LB5rNMHpmj`Ln{)r9yE>Ycx>6&} z7~tY|>k`l>9DBzGK0AZYG2C}VvqE&yy(nzG_jHF0)LF8+)w43xh!4;60;$O2OBI5r z-Pk>X14ZlWUP4|CdS`bc6PUEh*u)DhOIKWqMS<{e5&)YyZAX_ZdsR-> zr=8Z?6X(xE z4OsbB-eKkXAh{hxfYSc^eyfl(z*%^HZo8NsZ@>qpf6kr(J?>f&ziUr?+;EW!A!xZz|xJ@tmR6?f?)K%fc{T=yCH&_M+e`e(KWA zZrbF}z61|Z^yGECMO`<~+8Fq8QIDy067vW|>b^q{t+aw}cj^jh_@(D-56|-^oz{C;#{F---6uU}LJ)eO^|O?Q?OcsQ2^0*iI! z@L`#c-&Fj4*Ew;e+q0M#J?Cvax{ZvqHuip3ms~6W`jb!+P--enI;U`7{)V?hMrpa7}CjB0+@Ap$WRLI$dX9l#3llx(f21#>>daf)5;xYlZ+hSZ_3MMMsH zJix&^W(vr0RTM(i8mKb#y}A`VoA(SS!n5qf5pzo-xGNFKz3#8(`8HWZU-RXhGu9f_5V zQ>=Ygko#yvrTF)0JSskhi0`dTX$f+Js%H?W5tchX*r|HNm7~1O>t-vMDm8%55f}$k z;t$z3;e$MYB|5XZ(n>rDdL*E0z~DozgJNVwl1D)@V6u2ej82(RPkG}o74)z+#)M(* zI-A#tCG-*3b$O3Xpbd|D``MxN)NBz7vUcYEJC03!A@9+y?Cl#5YXxRY$lHQX`@M@q>75$%!9I28jqY)}qorS_hj z5MYtPr%U2DA4j|I?`cendRlsD^9v=cRBNpP%yy;wkM)qODlh+?_{TFN?8euQ#3~5k z6qV*9;>P@}RRqxRlxiyerxw!T<&MFlra*cT$@k8p5Qq|kF(=TkiP}2m;^J3A=1Bs_ z&YFWCc=Dp$bit(QW6O#2V(}|@?{>EFV0gTun{7Q6AmN|`F-(C2c7@0!sTdSy=R1A( z8e|LZjGa2OpWGqVk!6mxyfA`utO?+#==!nZJJDYsC)W~>IMQ+A!+o_&pDGY{0(VH>Zwv>IglnO(lXw4XL+j`YXmoVgtCX6BO(fdI9 zlwyfnzr%P!B%}F)-04z^bp1PyO?)9#(MIV1XV0MskEVE}Lk0<>9hO_OlaoA$Fa}iI zNhAntse%(J2VmNPNY?YtB#tqpl~`tc7sOsr^aqI z;&V`~RY9@CBnP~^K+lK#$n!Q`o&NEXdB)sKAv|$&aPpD>J{7T@;YvxF<{Xa`lgg6t z7GKN0^O4)wkv=vzCURBEcPZ`XJTKTZsnnlWJF-JtbqrDbbCDA%p}>F~YIPv)yi!9# z4FeNOC{{7CA&Io#yZt(JxUJ0SkHuGxc&|vvy{YQJd{CGj&RWa{2XeOmmoONBb2F<= z1-)}JxUJkzjnq+jLv*{!e!O(3A5;?4&*j^+z%j1iDf4Z*UJ9KNRmJKU#*<6?6ZYWLbR#B&AKlps&G_DH#c-3~j->7=bFs zQ28Xgn~5eV5@huekd-zRBr^??hC;Lsd^xvcO$k$y>YE^BcN)?@MUt#00yom*2xL`+ zMN=F{rBGY!=?U%CgU}BDiNoPJzxbDZ9E$8RT}UpQ2;54w)b-;aP6V2LMR{g+R9<^0 z!=F;ZZ+}#E&X=tmDou(lG6+aZn*t4oBotdINK@!z5){wChOVcnXSJ?9-#rb|i#FgS zX-x#%>kHi3<4CIZHi*b7=~HyR_m)yjXHf=)M)iz5rqdEA!7F-qEfDKpHke%upK>69 z@TI|S?*!&#mF2;RAf08+1wd$L28h5-857YdSo*wwpw1N~6?R!}y%PX*$^eWtrKe#! z2IjbktzRvEuQ2IZC0StD-b_3QWJm~Cy*!CXcjbU_lB+8JeeSKtgB@#<`=ZW>P-Qfl zP$03x1adYOLhx`7Q>(D=WB!{K+j5=R+FRI88K%|ErUl7$uD zeNVY`3Js@Bt>I%wh9*1YTIG@4GNi#Hit9kddvcyS+LXx}@_wq&q#t@@{clH9wLq~c ziSr7$t`%rFtBf^LDoQ{#(2`OgpB*PynK{(vPavyr29#)k3a6IiG^!trah)=ptm-9n zCj9hHm5GAWAP6PE0yjYSKjX^8LDCr~6C9Lu=VtB6RHk6L_BjspgWMT_>|{AmLajkj zX|M$3o57<7uh6m9f%t6k*l0Yy2XGI$(!-K}3{{1m+u565jVDT{J(5t1Q^r22FOamH zJCri2Mm~|o_B%bPH56Jk#W01h4B%iu)f(%Q7{QsBmX)=2alf$&dPOA)ZRiF4yK-#*4ny;#M*#xFOuGR zVYOa62e7rHAqpXbq9t4ok=Qbrp+V+1l5MdlE!>}*=4<10x}6|&OL7)K4H3jM0%KJ5 zh@p~6ssAQ&OuA>FQbCwP%IJPb0fF}F0IMIC)w`a-nVAJIms&3ffO z%iT?&5{Mx$QIR@Ju||Qpl7eRWUXa2WbwzcZ>0sHl9~rF9D@?eJ0#K_C)RAI)22n9U zu+`$}r_pLZAV1s-6M6hD{8WC!>ubVt*m>mQelkuHIHAVQXP^)e!g9ycQ}t*H5evt+ z?yeb4!g}^c{YDGuj>s7_(Qu`a;BX2hvspzG!F2E`_JHqD9_nNI5_>K4=$X?=y8ZXz z;d$fSJi&0iy))(@Bjqu|MC2({femBkRae(&4=M~m$wA;$4)x3=4_BbckIUj?X=@dr z5xOx02Cym_l*su?12~bYXsM@Ns%}npN=jS|mu!yo8bys-f}ONT0x*G`TIzyXCXMVD zwg27MIu+uf@!WuDZ;(108%dmmUX^FSXjI6y7NdSUDj8HuqY7Ox-iT|ef9E>H&%zz%uL%FgU>j9JVpe^|68ht?Wj)=qD7-qf%;}&P@xzO7r zt-#&B#2nZR*kSo@l>v%z?KfZ?K*6(G$RJXK>GxVB^7S=k4|g8)EH^huJ{@wlQ!r1S2(q1h$@ixu{Awxy#Q}=KLOs zLma!bA~KFiQLK*Ish;1mqAWKud$Hl(j|K*wmm(GTMi)$V=rz5oCa5CZ^Y05e1cCIA3lRr@MJpyJECDtz}! z-O}n27eMaM0wA%*;!YzXmHAvlx^|mu)v|LK z4CFw_(gj3?s&CeG?RBq7v2iMLf>ha7l~L_F;jk!yL~9L>R6sBnz~{f?9J=(*T(WYG zx#!QTey2YE>(#gN#bZAM3-u%Z|GvI*r~mL_$93}gSN4sge|OM+_j{&Ux>x@uJDvxJ zuHCR^1)r;zefy{ncbYN!(B7A)hU%kkj%RM6N9N3AVOn|FI6Ar4qdr)fQgfoCGULM+3cSooQPb;QZXz+~oreGX;}6=e>KyeS`TS$4`;M=p5qf1?K5MJgVl zL`=q%UP0nO#-f@6wNh!~+RH(z!B|ntZpG$u?2kLo>izvOusZPcdZVkKmD!`OXJ?*N ztX|%~bJ%~|##wS-+kKrm_7>ZlU73BCOP`tFe0Od=*?wu$=dXI!(PXOy^qGz5l^4V( zKe4Kx{XKMN&8tx||7ZTe*rf~t=dwPaHR;+!)$14BNyt}>qlp3f26I@2k5@@#u z^SuQLp}-(l<^1D+p`yuAn3Wem1KNe`C0ThtX>sR!iBb)`Y^&5*I&n2k+P&ynEI;dwJ|P_b$hcvmY|&x05d&Z z#eZUtgqiUEg5}XGJ*ovCqjp~T$>3nOa#H}@S-c`(v76*=O-V{VsX)*Rb%#(BThevSqiJNEE-8{Yg?<3ZM<`3c4)aeiSK=N(OBrkOBU*e{nL%oyy76 z^|&_`0!RZ<8`L6$74(b!F|S0hXj-my2|_;p8%e;I0S!1;&?1I=2pvElwnG=Ltf1X{ z?P88Q)Qh%oevUbL4mcS27lV{ zLC!5c)NA6B7ORhd5)(t&v9eZ`LxS6NKC-dieg;+_@W=l>x{wfX6=*r-86q94SQZ|- zpz*w{i{lM^zkHnf8=xr_>b%5AN2Tnsq6`)0wZOHy3JR@??yZ++i+R6pK9dg}Y?Q?= z&|f7@j|KJ3E%mV{1hA*A(6RBpo`WMiyycu%i`Rf-4b_EOKC+s}koE{~d4% za4Uq=8KMPW!XXYj6$?Yx3fJ^F6W7BVTkMBoV(H`OCfrphi-{r(NDyCJOS2jm)DXhB zk-t9iTF${WF7p0Uk0A~NTj2)b$PwU>!7yt0-sq_d|LM{ zi_jIxP(_E_nxGiOcd-QCt$YCay$puOav*dfHmL2#7IvmVhoU;v2kBLPjC*;^_dXVr zCjy|ZB}lN+mC@C%=|UyNsic;#0s@e^*lW$7?vMYtkuIdR&!ppfd3q3Xb+rw-41`T8 ztUYeUwXMa&edxjlSFZTXAh6SmRleG_;yBGrU6KI0y&44ZFu6jz_s1jUzm#}^kF+2$ z&R02LDAZL&!zsXZWq&b@sdYVU^Ihvz4sQRWzC?AR1!1cCtd_fuYhEqd?PeLYd7Bbm zOu+bKU(3BYz(-z&E@OgaVE}YEix{jH4X8to8v35`EF10Ue*LH0eCs+JLz4%`$ou+6 zz<^rH7On&u9CFKxeblySOOvwZVDTNlJGr|J4!?PdA>R6mO)!#)Fv(H7+;c!BDpoQ$ zwuQPMem9Sm8{f(FQpCl@R!F)Y`??AW&dA7L4b_2tmDoOxx_7ob@977kh-tCeChzEDgNY*;JMX$Z1XjsvWWr+HXbwVMxTojU%H>n z5ybK!DX^P0#amK(L;F%io5-`~wHn#a%zrwhjzwK_^7Ar&x~xy(ftpx-a;9_tcvpKqUT`QhN-VbJ+?IC}T;EBKQBao^ACpUcPc_kJz$ z_ousfKFm07Y~tl;L0RPg`Kk~uihv76i{KnP69BY^6TvuQ!7XgUF^WWwsm!e1jN)tg zy#dvyj+no`0PXpP%L*rfOHXvP4O6E&Zj}HKWq?eXmo+N$b!|VTjwQartrS(74#m^O zE&Z%LK)xxwK&Ot@m1*{k3I!fH(+hZY=4{{) zy2VnweKLg~I%4NGFM&#{?05BhK$1oB&y?8VsSXJ3cbE%L0uFnN1cQN`lWomK_R*K< z%zWq77$Whd#YJBA*icKNU5ipynqf~I%r@{2C`94wVLwBO$Q(+S>^<(0>1@O`giEjiLK|~-5p*)Zm||xunIyBR)O&h zrIg)=#G-;UGCmGBPhXw*9}?op&9nf|bOkhix(8KjsDdm&YC{-kBpq71JOy?5XI}w; zcXbe?v+m9V?Fr9pj+AeuViLC?|xDWYw5@-V|$+evnT)C;vQZV`QSZjMZjhiZZ0Sj zD>a9oK^UXU_J6C&%#T*~WcS{GKYvVi@%&ch&t?QwUY}?oU-;`|%H}q8N+$gNxsgRI zmu!W{*FF{o!+EE+tON1P9KeO56K7$Hi7{=Q9LA^BH2QPL*i-u{`A&R4_iq6ge| z^YnF5HAzlvO4bdsg4aqhzM z=<-S-ZA&J9CeC8f_cl#h1fTYN6*pLAM zNqr?BD6l<4>_01uWd3WIKuvNE(N9-YZ$2b(#N@5!&BoUN30 zsY%kF;&hv$OA5-$uC`Upz)U4Yu$6QBV^O=-dy5r^(;W((jhpYp{`2^Q6VrI*Mq935 zi&2T$4Ye-oSOndSK+)cJg>WsC9Q!sQF*1y8?-;rXGvY2HD0eRbkrobT$9ZgKAlJ+j z3^z5)cB}1;O0PqacNYL&N5YqafT7m>615K%5!y1o@h`X$cM<_RkyN<9gRxWA^=oJl zZ|+j>&+TY?T}0wK2B~lQScrHUM-sW9eT0e3O=bIyczY>C;ywiUDsYZnh(xGl|M@e- zOrqv!Wvs65^&sM$MU=Ig%lLJee~Sc$vZ2caHQ4@wz>@Y2Abhvc27!LsO!X=W@IWhv zX-x*ITShMfL>$(_pX;j7wa2kcH~V=rVxrmc_!1hrc1XZ@DmBSHode zre!n8=y`xNnm(|nV* z{={(xenXi5z1V@_U^$v9??u|+Z<){FgweK@0X=b`!;1n_!0#C+-g=Q&r~Ba+?dTbakpm0QSBKydL1)Q51E0lOHk`8C#;6mC{b;Rx7(q zoEB4*s9GJ|G}`NZNK!miwr%29x`8Lh&pv7$QJVsO6YQlvGhq&G%)^#{107G zDpK&-Y2>1l3KZMccW1=+?w*L1<@+UBwbV?R9;M){Wy4xOaktdccB1yyd(j^3T$`S> zOXUm+HJP~1?ej3rt@Q8yo>?F3IQZ*?-(trKAL&G;!*ecJ=9jmzA!jes70d= zR8}v5P}Wl=f_4N+YUm|p$hX9cUAvO;BPv%~b0uQ78I?N%17ZbwD;Y9I?8}U7EU(S50%p6G?lC4E@ATVvd$%m<~-9QQ+xN33}|OC|i7p+TLUhHs9D`aAS?} zf$}GAm(IYwoy$a!(XPtUpqwqHZSk`XwXRO1y(?#js-!IFMP@U#z520yW4AHo1IlVqZ+;Jv(8IN_(_*cJdZ`wqum>4Hd zQV?kFbs5r%BX{L`T;s7E_!d~=i~e`~)oU_snndm6GGOy@3z^NTd+K>noA|<+<^5N) zWA*|Wl8iTZn}t7cT*ggup^YCCg>H7pJ@v)N=xb%3i6;E>qIqh`(^Q!9kXT~Q5Iv) z-YY|+atus=&hI~eKki;%j$-X}BbFII{+>WKZB~pBka?`BB)8&vM)FuTnTNJBiHVX9nJjdW`+s60i6Icck<& z9*pEme7~G{ub8~^i^3Ju@0R@d>6-`7OcnZ_zvt)ea35QDvj5z;V6)`dQoBH3#C;6S_Ed8D{A1G`gh4hvpEl!6N$Qz-#MnABPIv)&Zt=jtp}^ zz3Z5TQuL4bSah}O1Sy%kC9iG* z+fJ6aNREB9TmK>#&_)1(Kz_gQj_?iMjK)g9NL`g7)LSG(?I zo;z9LZGLiK>c&&SUFzq=Dd@OZ_oCAZ*=;mE{$&q@lA&YA*VIRd-WGp5qK($SXYLKp z_|K6^^$_FnpLu7GGN(dPsfy)T9KzraknBK63;oV?AASx9lK<@PRm$G;F7ITy5yqL5 z?D*xntQDU+eg1abS5{j7843R=#$J41__cj* zu4Y%2cNR-&w8xy!Qw)p0+HM<>dp@vM&U7(4L-}^>xqT&QY#pohbh%|A8s+g?A}v69 z9QtHzL8$w9UDT?Vyf`tB-e2<*uGY}y{AMqaKZbeY>~G15yN_-u#E=d5L@CLiDiiR+ z-TWCzV{AZwHkkXrxAuAEBNH|!(2yJ$z*!mkSB3GMdngyD&sfxB9X9S9W@tXL0)7nc zB^*N{fpp_#i*+B4QK2MPo{#b4gO9&Q{jWS-+Y3gxtY?P*|F$i$`f-#|?@N93SNFK1 zMqUhs@Q<+mf6zpBvObL`^Sz_mWBn{H#X-(jy{fxT(@ z+~p%^LgBFSi(eppfX2Dl>TXPNHkS4Z`vUW;9S?)|XtXIU$to1qDQunlk{$ZLHZ0uk z_j7cszwsS;SBqC zQ_#}Pkre-{|1y!6niL+K@X5Zs6<&=D0{$mYZ{pr#x8|3AKFjHnN*|#m=Hyzn-`G;B zldY)2LOs|t2r?R{vKnU@ywoa3s2(gg`6|$tk%AA7A*c!HkPyL`G<86wt{xZRcGj_; zF!Hv$Hx0c&qU}y_jMO?VhQiGN##o=SFiio&T*&WaoCA60mi#;Aj^TXXQn)K%-myE! z%eJuOcQ;+YzVwE3obdPmgbQi&}%(i|EXYdzc( zyuv_bxXz6*ON*G)$V(`J(vK2nM7|t}jt&fI9u0oCp3xn!K#zies11fe4CfC5=ul_S z9v4Ku9GQ+13~3$>sjv^G%ut+hClj+!sjY zu%R$+nwCspgoRUwqlM0-21ZPW2aYsH28JDu2KC6R71JZ-&kh?;bwEzSg{L#GDJiU; zRtdwvC)SB*QH8EyOc*Q_iqJIc;Noh1ycm4EDhv*F{Z6@o>?SxUr_vq@0nu?~f()xQ zLqWs<6akdPO}fzGv)|-Ugxwge0$~M81M`ezl5-VPI4op_nz`dm;bF^*vXc=uFrohh z9aU1G=G0K2Jj8hpR}^h&LyvIza6(3)7-&X{P^mg#cHWE)mI@}Fc=GJr z1MzsGf(~WSWIcy@3#dS#F!TwcFhD~DS>2A~WFBE&;9x=wnApIx1U*}=wuhLP-uo=VNS2c3=fY&{ysPBy6 zQP{}npxww+;?U5@OV%NPsi_QUiB$vdR}P`LkSkN88xQFl$8mxq0y)AEC`1^jH4;w& z1S=Qqq8unVN3my@os*e=mxeu}H|z^DpKH99F$I0^1V_SV9*(LRBBX2)v`VAO2qj=R z^~xp@m{2hmD|^5Apj;Q@3okY|yb96=FI*Oekl#_mB*Tc(B{B-5LSVw=^9meNSSO4+ z1uVm|^Yut5l;DtIQNu-ui~_XPQ71y$jw~S>{icbKVC)z4bH~{ouoD?NpI0m&3YZG7 zhO~?tTTEcq>=+s&n)9#(aRB7Tp{1e@1-&b8K2){8M{1)Eh761vVot|GK#U7m@dX@j zm~i``!(dY@t6VQ#smf^JFXdi}aMeh8XyG}2_mAL+LU5U z<>fVc>-{*=7?m(&V$_%z2$Wi;mKqKnhG-PiNGr1*1UO&N%kw@zwW?tNN6PY>5i_2Oc`kx2b5NM zD;j9zk!YyHA;Y7F)Dp4LGN9x}tTky^^bUutp*U$}mFwSXvhd4w21&oOyh!e> zbBB4T1I&Syo@l59~2Lki~sL{NbNFab|T9BI8~NW!%!$W1AeIY;N3u(V?aaE7S} z#t%iN7x2hwUeQ+w`}~>wVpGRVYADJvNKKap3k*g9Ake3TNt^1gGR-+4jBd*dHQFZYM8ugT60_sqh zXoXrU!XksnMi%~>Z)l!(FHEaQ8d4FEF>e6g1(?cnoH8)#mQGD3_rtg|Ak2rXiX$Xr z0xTjB364OIZee$Yhdk)(B6tNvrjQy63GyimX5knE9k6l(M9D zfCLIo&_ai4^Oh9U*P*5Yi2523JRBfIjx3oE^ehQb5 z9{QVGQzjA!$RR*u6mWpb1X2`scxQT^*=Sp&<9>!!#t;w@0IS#5A{oFyLwM94aumsU z3;4?99B81VB89S^fw_hN-$fupb z-7U2d#DqH_E7@oUOhKR`8xG{y!8Bws4rTuULX#?p0|HK+j0pjB(LxXdtkhs=u~aQl zWw@c>c%T9pf)NNi2oV%(W-QzbQZ?DgnOh9NlruLSkEPHeB&10Nhrq}QVR+JEzb#6B ztfz8?HjI>^ai>#|VlYMkomFfN8;tw8M1ZjJhjg4$galcoc#uYNi0}*MVdTvX4uDJl zCi0kv8Jg({fE11klw)bhlM+NJ07C_&A!b5W7if0LdVjZ8go&glDP!WD?8KG>B``!z zp(x=RE3XOMl_z@hzB(TTQ_%G4zLEap`j;8A{3Zs8tRT_}Jn{wK$&hFar~n>Hmfy#7 z_MBXDs@|FW0+VXnnAV$zF?<=4ZbbyPEI465(*Nz|n(laoUEwI9S z2!d)Qx7cgZ{QmCg5M#7p0nEkDYN5t!kwaPu2gHM|1z<;^i+3VNtsqb%A_mVW2x9D0%LrOzjp*$X1l?8GqGZKrQxOijo#u?g5Gy*EcQ<88s z8v!E<4Gq9>Ejmf#SB!~(0#c0f38aF01PU#o17YVDx&>ZL4LK(Fm?N|{)Muu-fO>&+ zGvAcO`oJV&2c#BvNLrE52*XMW0&GPd&!|)~oS;!ine@cMbMA70##jciR$!sU8qIPF zHBzPwZwP->`$r!=z`*S!MsO!6&~&I#Xk3P82~ppG6BN-XcgbI*BxdkoN%*AmoBva5X^;g+TI%4Kzr6 zVWHMQfPhRp1mb$B#6X9wNg)wWZ)0cvHqGzuNjAWcqp(UU4EK5sB3#R~sHY$d`hwyt zVd6Y8|HL@d zuywi1RB0OIU8VxvkHd= z)JUmwNv2Hv96Wq{eq8ovd9qjMlfEb=Ad&zHT3IR(r5ZZCQY4Uy5C|1zw-)mFlpIo_ zgxZ4?2yk&&5r|Uip|ow_Au7l*Kot-W0{{j9LPG>L002)^dMYLas{C`GiJ56SPePQy zB;h}~j~$}GVeVyOsKCqzzjf;0fRLF3qN;#1C;)s1>@4e&E>dXC3(jk(`xrZwImjfIPuiItg! zD?1}AGb=lt{Nas%a`C@8JH3An_{Yy&@tv`;pJn;XubtSNm-g_>L>ckXvI8iu{ z65Ih9N-?PCAkE`~RFbt83R z>4gWW)u#8Dx>+pCV&$rP(r^^E7z(9DOG+NLS&bq`MZ}V#jT*5) zxGGY1D=O;~7g{2QE`t<)+4;ln^ve;mihw3pz6{(`Vh4B{fPOJ z$v@g|xkjJ{3?WgyCR8_dhxO|Q93TkDwA2=juY#zY1pnkt2l~g(!aml3wo(itOaa^<~!)TuSsJ- z`c_?<202HaUwYoT7j6?vv?_U<&pmr1@vnAz7<&rZO3zSF2-=jH&lFf@VuN3(iBa3u z7mEz-V~=P}wr!MV7e(l>J<%5vonfqMH9qA{ZKA-{v<9nm+EGW`af0Y)5v{8P&wPM+7BM6TAI722 z1J~_%A|r2R&Ho=_mv14nWzNR3I28~O=9I3+jdqLrcz?2`>Y zC22lnioJ;`oh_d8T{bnHuuIgPNtlp8)&$V5)#1~b)WjL0?~?o`oJ?VCk$Nl9cL@O3 z?4RkQmV#5Q!d8n|T@>4?7)K@gejWsuwgE+nHS5_!>?#K_6n6brCew)OVRYgpN90a{4b zLGM1StU|Uyj&w%KoNTNt`&k5;qS%bnq6^a@$5{tjds-HN>lrOmUt3XVniTcOWoJ8i z%Gw8#an`p1UPAg8i*$BSIuMPJtU{vux0C!)EIiw3E}0ZfR%o7<*^WSog}u!p7$3b75t758PLcCvViK_&D(Tl$lppv$tKU^+4Q@X718@&b)K3t5vXxU60E5 zG{XVL%N|a{w~*;oq)3j`p6;k`oqG(Q#0Nl-k}X{`9-yZU6HO*cObu%Y?*o>w9eMZ6D4AZc5GU?fQks&8Hu z*IG6lUF{I=R#7!DdWX@hV;qRh19C{(79btT#8-s!dv^f@BTijBYLS*pTV<=;G6$KX zF&8k=@*V&|NVZ4HCTYzIE*7x8Imza27 zh*h2_?-xc)s(F}Yca*D^!QnwzWh$pf&Eez-v=$rkwg*#1Yp@4I+_*xkJM{4MRi7k+TQg=}~H&q8NNz6-l=8D5#_ zM8w@cv94vHMEvbQ<=RAJC(ic^zj6cF;xJ|*S8g|-y*6LyaLWl1bS1&&aCu!igv}Qc zxbLhHrjj~<8Q?Zot6~_AyK}6R?wm)h6sd~7Qkj};1pI&B-=q{r{vN!aoc6yh+8oB^ zC)Ol|=YyZlYr@=(@OlY}@73qnZuQ*dHy*h}6EmvJ&iz|Vtis#wUpo=rR?vED;Lf~L zK1Z?Os^83VWVwS7E8_SB(1UDQmoaT$V6?Bzldc!Ft4c=i@!8pF7S>_s+V#Kbs3FQw zC#_Q<9)DF!H06dqCNqiD0)*zRXnVSGeVKNp4WVh^FYtn!Mr&20o~BjDV%%^$$YCqi z&xf;qdVRTELhr_3Pbi6;j`31u_}|-7_<<-@)u0~ z6xXh8v`SUl0dY3NaHwg+Dv;o>Let-#U$+N7Qz>h~gNGQ%Z~qWf!naxtXtJMe1Z^lW zf1OZE-v(9vzAp0%B=nZ9Gi$%DpLGx}UfZw8TIWRREw&_J4P0-D6&`2OXV52G^sw1g zHiXljKr9}s^a5|MaB1syU)(wPD^qvb7Yf+*?#g>}es6?N!?2E>Rs<3WkqFIih_4>X zI{=wKx-Pl;frHQa>d!O4!DSduV+wX*#I1_2gz8>kr4t~)4|nVI+v7Nht4)|<1iDp} zHfpQY_yQX(^b8pK!%$$St0iyO%r=oMFl|t9!`>GHCtpn%OTV+bOwjt89D>slt1lk> zayX2u9y;WLicjBUlj(tuw(AmWa?`o)><#$m^7{LkI1dmtbhViDNH;ok0{ZP~h_ojh z|LM2MFE1}#-DD9=elF1?_Ti94hQtLEIcEvsRL z_A*8O0*+bd<*s-Y<{f*S1JDpy={~*o*|QthVd1+nZ)+792QM?;faY9FH=t{~RXhh< zzS8O=CWqCd&5!4YcxnE?s=7Vi+NOn4=2ep2dw|c!4QPPA$p`%FXUFk)_gi)UmXAm6 zdDV%Rs$%QR+h(MZ)OSOW=L~*!9n;OWM$bK9)FQR3kD%=0;SFkFAG=e$D(%zwy3?tC zdiBlucE(e0xV0a@VgB!DsPWl(uF^Htd$sH8)eYwBS=r!otKTdu!mfCNrhnMI6<(>+ zL7S<;zyRT^_V&$_s?&Y%lN83EzEPMa2j0N^cBH+|*L`JLl$Bbs1J8_TVk^&L{sbZ4 zfq(D*w?p5on!?KdU~?V7rs#%Lyj4LF1*OG3#>8KS&DPqXGB4hd9wugz%{Q*;)Qnz| zkP!V(B=R4qt>}sQGo!D`-O>Z*e(o%R@wU>92$J>fTigT-9w}f$6uqU^5Cjzk8T?(M0z?k8+`W z(rx&rbSv}X5DTKu#>0i3!k<%`IlGT6Wj)PUa;r!=RXV-av=f7DOZS1u81^f@w0&-#?BR znL1z57Fr$N`gQHvgVVhQfyqdG+%6Eq`n7!N!Ee{}^rl#Kdq`Z&I^O3!^WosE?$jhe zUfCB_+=X}CX=W@w!kO?{$lT5HW{nafB1uUGa-Rd|H8za6BxxClZ6-^@!XF$`g6%jW z-IwPPgx>UsM8cKcah$L0P;8EVUl!sOi{kx(j-B!E$nXvGWH#RY)s|{AxDlBp(G(^F zv(9e2O@nHU79%1_Nd|SFMU6E!jF==z8Hjx*fctFvacj~T5J^lj?E9%5tg&LmBuU9Y z?=x=PV$+CPlEr~Y7Lxg;f0T%w#rOUheTkVd`0{H?Yy5nZy9Q>jDg0{#T=KaG3r0M< z46U5K$=BNEuV$U;k^eotb3;4ye+KlKK|xJl9r%7dFvx9wDES-sn0WtEA|Hj7GmRX> zTT}2Bujl{XfT75H=(-e$A(+M!WIR10uv-8v{k&2Rf`9t~qFv&&0<5kev2$7czHpv~8a()B@Q}Is z78^{4R%nC$5^vHe=0veI4qOD12j14z%XIY zIjVHZLXplY7iv#2R$>n27m`|`Y&56-@%SbM2WS`4H6wh~NZnN2_UY(@&wN9RZe@7^ z+&DDAF(J*uGy)z}Y074Z=A;s29_My<{q(}i z+B>z-J6fIlM+mHw-z>j03v|Jf;9^$RCS%jhHT78Id5pj@kTSKqzhSrRh(u%7fc~~= zrz-UH>(BK4K>t1AGe<@Uhd7!dG{8GY!BI#1r|w0^hxI1^Ja+8N?Z7Y+G&LeD14!l} z6Lm&L00^Z*91PPI(v@Un#5e>J74;hjgu-GiV)iU)&+h>NItpTBY+?z$NH^c?ZY?8A zh3M?tO_$TNGaHcPavy+UCtu6H*>5AB`hX0R`2una)2kW#yy`b=?8E&lL7U_e^c(jf zge5@kY@1J%sDw9l#4!PX>Ld<_7SdYHD^KAdTgk6pO(x30}P9=uoRo zOWX`v`=`u)AUcw|p$8C!0ZJl(A|DWC4$3=cb`~Z!%U%#5_?>rB0UbdzGD(vd>>b1^ zEp-}y@ZygZ$|Q` zTDHdfgm4lWh0%~SGP%5h2h`RH1`UuFsMtLuh`v^!v$=Ibq#ej2qTz2^5uA)YdLB-h zykmAEV;{P$pVr`vx7fg}*fBLmHRrS>IDm5F&{B$qgEUm=jt|^Xg~S+-uz-~o`>!}G zP)s;~$}q&#_d~cp4zYwP`*T-Z07Ap>6>4BCI6f;8(31tK;xZ@~VyXAGYe=(_7`~nTd00)GgM-AQ) z05e{WAdOuE0?8xKlIaBND+4Gb8oU)m09!68e*AOAfu)hQiQmL6bz)a6dc(0%3nB1H=!lBAge%1hzt@FQ^w=civ^A- zWPMh2B;_*DOHBfhc~LXil$OjGQgfL#J4A{#Cv402$jT<{W%BK;fEYc%00>VSVQ(qR zhilBf?tN}@3BV0nP#tA3me?BuW{x{z}NrHh&UWO57 zV`Bl#hJeUZc3$zU@dzF0^I`x26?w{cuXLN~ATSg(CnhdM`jZi@--~e&?v}0;ypdx|Q zD%)XXRCpbh*J;x1iWnSW6YQz!)oNa3(hpWZrFtu&^;BZ1$|2=X!9WdY0*=E1vV{Fm z&8>3gxAVC?r(-(y=U)~m)~=EpR6a*nsIRtFJgJY3O>Bt z!$)V!O6Y|l8l%V1ucc4}31<*0PeDjCMN;q+Q@T9zr@jH@HSR}Z8R;OdLl%UkfO8!o zL4xB#W4Ru9gOP?l{?vbt@ajv~p)bW8fCmFNv7n-`kYbsUYT+Y75ztOdGm7T(zi+&F zhMi$Hh%4FA@t3P*ZXCjqN>eP|nlhx)E=X?QAkKv}7~n-dQ;;|G@{*tmK5EC@3b~&A zv}W_i<-|a%x0D{sqM-y|^K{%7wpy9VJ#)jGB-C0{iSpbBZ0!RgT}av3)?8v&JL1Z} zh+QTTA8v_iWz8gp&r0%YG$8+lA+aARB>KTM-#R`?%%N2I-ZrE11A?JjbEIjJ2MS+L z3;&uf7EoGluUsEyGn)`3c=D`K1xTC<`H}Pg!q_PQMbzN$-B@W!0&( z#eV-s*AOWMIrUSYp1I7!Wbj)piG|~bCYjZfP5sSX&C@VpsIl|gkjKr^qBu-bkRmJe z(sHz;mFP;OoC^v@w!$ky|aBK*k@A+DNSFox{CmKmg?b3z{IbqUH51mv0IZaO~pa<2I~uAcl9 zhCVMPC(m2>NHR3V>)I7!smVF#rcx&nj2XF=Yloy*#Tni!A8>;|r61Q|W+!rHDXS z31dk~QCzK%gJYGR`pzI)n#>jAlF8mOHsKN-CD#}tBI$+`s8Rsu+Ng=8G~mO@=Kr6j z?C)=TqH_PhGh62zwKXyL+vL+|hdTAMl#p`eT9BGcA+sZ5^pGH^=~`mpGM$-={}^^A zURH)KKW8H=lckF@#nGJ=sBUtFICnV;6imYvkVYUJ#~h3D2+iXq)nqs%mm|-k?6?*$ zvkL9ld4Px~(#(%B*hvIqr-P@ZR&hMHrm{spPCV9^xX-(_-lQNz|Fh$|T*JwoTKAT; zGGe@ou~QHR76b(}j8l_IosOZAJD02)t~_&%qZ{m5z;ly4BjTVvhgvV)O?6sv0h1E% z##W3_Co-P;KP`VU<;syFi7`6MaopqzSnguprWw)zpb%IO53oZd0O1f20ssI2GeiVK003W9Tqz0xrM&kq(CtCGNgk4!WY$udZA<_< z`-hme(^2JeE8LcqEfe z#$;SG?a4h9!TXfyDegcRSlY)RJc%M!e2K*9T6ALT-bNlmufrrkV^Cm!*&WI-Ah`J@U05htv7&j6N?t%189- zJuh??o&3|SQD+~Wr6cvSm#*fZ{&|s4oBOjrkLuL1KJ-q{+U;|dwY8l(p$)C;P4C){ zu|Im}A3gOy!~UcgViQ58T8o=p2E+;Fp;0Hn9fDTxj}7m)0Do_<%C~Lamdog?s$N#; zG5){u-=g#9hVgM9jC~CLS9^g9)!|p?Qnb#KrB7YysPkBNcK3&`^uuWVy)~{N=QYxy z^}k;_`^z=Dwlw~4p&?g(=SqYf%_4dj!DLRVp9$IPbV?DH?`&7C-LX&hZ-gaxqxfO? zpZL4(w(z2OIzr;-yP`RR()WqdxSm9y6*_g+oiy!YPjzK);uOzErTP@dBM5Yk0M%Nq z7R|61#powHMx0JOiDJd7)hX=E^}Gu&9U{IA|N1@mMfsMrOhWM?iAoP zw6y)}p*lh;G9GxYZ7Q);PUc{G$`2KgUCXU4TLgMciDp_FQfIi2MQZfdbR3c?N}GMQ zyvzH_dMocWo|6Qeq!Mxkw)}D?0$-ac`h_xDS5OE8M66T}lk3e+-d!~M(*n-@riW{} z$Qmukl^3qX#vszBHsvHQ3n}pRB=el@`~0qTv0bODt;}<30Mk@{u7G!0S@sY1YVbzf zTbYa>Jy0A+vkONi)ZxrVys_5WYOR~t;P4yZOY$RZYRO(3xle=`rC7a!g*a=ai0UDl zDGsXcsoSZiR!A~57a7?r?3)|`|Cmrtxo+?+C56pkI;n#n{nc>Oq)PWC)c2>jl1vs~ zzLzhF&xOdb!sC`aGog?t_p|AQnSz3u7$!<)V+1`e&Y+$03~d*F_cmPLve4b_V(d8JIeyq4l1CfJC?aZcfnpS< zfSWyIaYzvlSQu*(NQU~(2474v5e^YKk1*OL8eEj6EH*-f*cC%w3!(2TC}T$8-)o5A zgJ8~r97M?@WK3N>%-pERDs4d-(rYEBB(W`G)_dvfvO_ClHVKcAH`|| z7R=cZ39>O^XDDpN7ikg!Pk5{DROIJYM(tDp!lafw?@d-HVv$NX&M6>g%<)QOPI@cY zcxrJO%eOO2HYW#2wJ;u98lj ze!b}u{(!5Y}W7G zRX(@YdcKFb&Wk%US9w2cn&g$M2RrWnF_QQnz?$LfEQff_X)5Js97Z@W7@+8h!bj5I2Ailk(+`xf--EBCr{h(;OJA)t zP?@&TEmk_qJXsn0=+gi~lN^17doG!J=7^ft2^Jm{#`L2E#fg+S?8r=h<2oCXqC~`< z8f`3=(pD4qrE*%$oeq3UP-lEFZ{La2A5e7~I#xHmBlO_Z*?U>%)YDhI{I^^M^buV; z^q>ws{gxe1#o*#SWig`fAZHe16hup9_u?Ks@wlk%wfAPO6PM(xZTiOAocebV|875# z@Z@}YL2P&lF6$2cPmeiYd9Y8#fiT|JDJyi?G3zF@gl6BNGLLAn{`1d0-CE~;V4Rad zfSqyy@1Wd&Z2S{zl^pQDIOoQ@5d`^rmO@}0yswHOAa_l5I>RP^ImQU{0Hq3K82V|jd^8q zvtVq*5yxr66Ys^oW~tYC7r^8x zL?sD)M0t-R3-fbovkBK=e?iW|I-_4@v(&B5fopUaUJ&}cUgHUmGS|cdyGfY%eh?xe z46S6?Jt$>H|6l5Iteg!X;FOgMk`xp2h>%&la(o(crF`>qNH4FJ#R*w$hm~HPTgB-- zfTfZF0i2F<1=r$`$HTb95Fcse#3u)jRATYSR2fN7MX=yNhTG46M1NLa%B6Fc+U%** zb;bh<+7$=a`mp5TRr;N}sdwfVs)8>4*`Is#RKm}e_}^ck-mB#o`>4OCt1Ax{Fmpah z_JSb~$Q`k>hF+dm6nN>rpW*fjVR`Tc-$Z|KF3f%4fa)fmL9nj##_7R{i2S74{_q!4 zF(Nm);1v;E*D*iHGLude{XtoXQ44X;;^XIy^3XdEC)_!@z4OR}E6+RTLK_FKPXhHO zREmA^iI+#N$x{wUs$Xa+BU4e9l|xv9xzIPG!`Pb;nQ0$kK1%q1pU9SYCdX3T-u#>G z>D?C*VwJQF*uuQ40!4d5UP-FfXlb=s=3bnR2%hZ=@!z|l>&puQb)B{E0IxJ%aM_4g z7pk{`XEa>Ady*Fy6T8eS=Ilwaf0g3FtDk-hAi|E{<%TkHl#sE#X5}aGU8(n{jC&+X~W$Zl%#Eh5ayA-TmR^LSqeET(?VZkA;177 zSqeEdvDT6m`?&tjZo^!RBv^Umh#11bUKA;pTJZ?)XA`@)V&StL!o7PD_krp`=zC!Z zatYI`-u>XDt6PFo9LQx)DsChYi6|Ii7)L3@UB20F@U_yOZ>KP|p+|JeVITcBYpr4P z(l_?1-gRONq{Z55Gx}DV1s>2U9kQV5M6i~lK4hx-h2z%l0|THmA7Lg-tle7ck$4nG z0Y{@Kni{CGB**kpgCN>`uR^n_@3Uv4z;dAQemOVCq;crLtWp%tF9U4BVp#|*nWr3S zk_M?X-Egz5;Z0GBMW&G-&EIVFzBrV|gmfmBY>WsT#wTeiC(MT|lo*XPIu6$bjV3Cc zu)GWyCJrGr1;C*!qG%}!Tye!>Ok-n4_^t{n;#6c9=77ya`z)?@*y_jm;f*>DNuU0m z;*r(ddEr3VP3=HTmI5V{BJR-+@Fbo~ox*@@6php@xIrb-+=_kgPiMo6IrKEOXSGn7 zk^ulvm!;Q+Y^R|R=%L0i#YH2i*~eTdySKWnBTh2@nTPbNXDk$c2Fi6eMk@3XZL;Fo zD-o7k!$B?(wtni#iV)BxsM=(rwM;)-Z)0~yNtHqjD9uNh$R5_EkmMTA$WAOC zgi&^sv0oe&Ru~|aN?5=rnUg+l%*6ciI-VPxZp!DNP37bLrus`Xs=Tw zQQk!50QXJfz)6+@7?WyCf>sEw3S`95dQid!%9XDeCo2YaE>w7G$O4dF^{fM=+|d(n9@lA04UN@yhl*w$k2_EiXlRBmHtVn%}8B}Z*m2w zCV&7+zZCEMyUo;sgIDp2WShaqJ7o7(h#ABxrNo2+l=iPZIdd!bw_QtHFS{@r9XQ!D z`P_h%PQZ(@J-YM>nWu(0ReLzF1ld|Flh+Ze6^ilr_MerXS}Zu_!OCaTfGQ*am9cwJ zNEED)TzZ<3gM!rya`7Xvs4`S%xzuW_Kel9o5&-~|ToUqM;%ZH`+H38h9CA>S%U3v$L^PIJ*gDyINQvLsO~7ECPVT&Bht z!mJj)SM=4ZnPhNMV@a`l0KlbW1OQf+kR%CANqd2esU4mx5F$0v>K*qS_fz1MHUNN9 zO9F~(C1;3kmg2V&D${W#;RtCv2t6;?B=-GoN`3F!P;av^Ae9mTlvq9Ff#{ZmiXCUf zVr3qCrO{?4P4lMinRg<)09HzQ2>{akk)rOEj#CqqAN=D>M-9bZh%Qs;S1RX*ZFJ9g z=z<(N5&N)#w2x-KpYmElSC`AyX6QY;g5*9Zvt$P5rr8EQp2bTyf+JJm^htG)- z5pq@ywnd))n@KnRQ~{#rECNMR+jPp1N(>?jzm%mn1<%0CA~>Sz9*xh z|66io%-)09%47gg{!6#z7=y0F#S_POaS-}ta~L=2D8eS~^0 z_POcm+3h9Hil+TYoMwroQ=k;ym9;1=4V|gmZ!gRIs#TwPl=Rf!(Rs^(^6e*a!U3$? zkK6rK<{2bXXI?NO5^T7`*wN-F9!w{6MzY@P&;R|m|01c>=AFTCpm9^`$Wo*Lt;QlO zBd?MY^SgV{%F#hGDFPME3eSDcD}7R&k(cAs3w+dprKSOpi%GfcV^M|>2c}Srm82tr z(FkdkB^l=D`r8zt4s6u40Jw5O@%yHkM?$C?g|g@}qXY=O|Bslk_|5&Pt4Tx8~A; zmYM}XJ0{q&sgN3D9h6y$5g!OaPEssHmq%)&=GWfW!S@;K{O2w7&Gd`49ZCb{ts_d^;b2|`I zqyRv}VMXN5X)U5KlP&ei)58qD-Alo*U#UNL0FEg6QUDlXB*RH<0aXzuA?u7T0|^wR zy+XaR#b)-(Y&F~Jh2sHHX462WNdYj2LyRpc5POoMfd+9JCJxzPSRb!RH}yF+f7LnD zvs>e7bSQ zq(0PdN(WhL6aYw=jTO5)p}8QdwcR-4LPeumJOkIr|KC0Be7T#I0P+wZ1^|uI0K!B7 zGc;fXWB}A(0Ipw!SE>2#7rGNxjT^P(jvI}m$}ENe@9vV?EGbDyie3HtSpEPYhz72R z0PFz>fwO_OaQ1k&#G7#Se7#sNr$=uKIE6Ts7gtMn3X)Rx`x~!dQ@L@4><=1&8AEGA zO$vf+QQOiO9xFApgX?M=T}-~v&J++O005Z*sF{K@q^q$JhV&7}?h@;Ake-7Z8|ZxZ z6p7`fj#^^B4qrVT zolR^#$8PDdAMp5zX#IjqKYQuDUVEvpzWWf2gb5>8nFOF0;PM>$<0#ZUO$Gc+)1Ljc z^3%kAe)xR+^Y{n){@Tmj2mkQ1C>5LZ`|W*rvn=Th&+PcsUN$np-e0vaD3{2=4EM>@ zmb6cA1UsI{;1Br$i(FmepUwS`mrGl4hQGe%Rx_;qvKPEJ4gMGJ7cW&avHaK&0HO~q zqM5kam;aIZa+F4ma>6|dWBF67e-%>26b=PI)WsTfW0lL4SOR-4cH=(L=>&P$trh)N zT)i(i)!fO|)m904APUj~Qn`6g?6K)F+3q_)2_V`t9!^Rd}3f48(EdS{((&5_c*VlHpsD0HO>nmQ*RIo(*PY zou^qxr2BbnxVP&huR?q0W%K=N6@41SfGC9z&)ykZwR2zc)DH85#s+UW&tat7M`2sz zW)KlchnxD9Ho6ZuoTk^smErrP*_TQ$I50QV)V3r#|<| zSMjbvq_x*+{@<*FZ8BX9OB`Qd&$6kapLU#Eo!|k*!w&DT{}x`+gi05)z_=7CPaWJTnp1C4rY~zn+)Ir z1Jf@x$~PlNyRHTr+fV5UZ& zN71tLWFt;2ij~((cyDiXXK{5C0T5kswhzO3j-5Rjq!F6KI+8=v4t#l3zhm2Khr#Vq zU9O>EcC&jd%_o*jks$%ypOk2T+pa({cn z-{p|DLILLse5`Z+$9Ybi_?5{YLwEZ-WTeE6u>QSEsi|+X?UsSeh{A9M=S=9TXHhV* zBZ}H!Mg)9y!Zi0tjvTm1Tx@jgZt2dlcqJ>OH~_94fk~9qJy*B}YR;1mJB+UT@*`5L z&R<>vt%cl*E1n(&U?uej@X0{XHdD??o2(-F;!_q7o7elGu*@b;<|eitrq;WqF8+k; zMOmEwdan*wt6xU$lCL>C@q(1m&mHu$LPb@L;33j^iB0R7V)59v&xqf+wZUg^wU?G3 z)lny!@CgXskcr<8E+Gr%xcM&GnZlZm4Ib+>B|`nnuE*D2imwC$@EHxCj`LTAd1nqQ zvxt8!XGz$4D}=IGehn+huw!I1?J1!I?t`3qZovi zT06Dg{p$vwzprY`KqNlH;S*iHM$ka?6P5;|YO*@;8}zmuEF&ecwMywC!P@3)0NFq$ zzs=e~5DA~(@O%fUzioeq_~s6L{EexyOR;J;wk5Uy=q~?ga*cO_U5^gssy}rD{h#3x_@bC@dKRQlStUb5gS^ba>LlIZs&fUyz z878#3-?w|SgA`u?GT}2HK7I@N-vRu1kmlk@+0WlsoS#axL$qWkJPK3dmtMtfYd>~6 zQ;g96x-TQOU9w-yg2ShK^^4UjFk0@J!|dA4TwS8UU?C3CAIq1UdSjHM56G9c$VI>9 z&-S&twL0CXzc;fiUSMSh2i9{+Df7TBdF>oUAiOitn=Zf#JbiD+V%f7N@P7NfeVc#P zwZ$wc)d7%r!|Kc5DMLg?cTacCLsREv*lLf{@)aFVsc@1W1V9u82ScxH#Nu{gZilio zOnW_{ohct3-D``xQvQ<=enf$A0CkN#~xb?xVx{#IcPl#79S!Rvw;o@QYbf zsskWz;exTc=kR@d?Mz?2(7k`U?zdi^YNMZy`S0(Bc`7puI`}-D#m7fi2a>cJ9m(*2 z^0gGg{wIG_j~1Q(qF=247rqzQK3e%jEt%I{eXi=>qKJO<%}l70_V_u+~bTFK;VrQ`2j@REswd0W}6YkZi1q zGv9mKpjX8;y@EWDh4NT4JV*9JKfddNry?hNuV1DF4{AP;3<|A!>$Z9|>j+|kER)BY zk%#F4K)Ii{BQo`z%Ta^ph?H-RY2wQHR$SerK3Nct1ykcnPrug1Pt$oEddJNEq%MvD zP4&2zeq*?sSb2HR)c%kCwda~CP4EZd{Zj5AWwH0 znm(WDCo5{-6;3;!=TciB5CEd_EgsDGb?Uo530_^D=ExXw_34}6z+Th>t|YX~|JVaG z(Q2F)@2-a)DO9QgAWzRFtjl!Ap@m)lIkB;8jfV~%{Y@WKX#VLz`F%)nQWyXLZTs9# zx>i!f=V6AR*5pG*ihNBO(~W}ixxV{tg&<8tVQ>Hvq#gJ&DaPEfxw-91?);<s4lU6f{28}6Ny=@(fHQ`+QV^x07%l(^Cu}C@d&!7n z>$6OlCUmHfCc}`z_3TSf){&y6>HtFhESkVF=01jMIcRfbtO+R+#e##OmHkuwTu&`h zvJ}s%ijYsi0g7yy+!3TiNj}PrHc>O47Bq@6)@#4sTK6)48kXY}173+`Dg|KlsnMfJ zCBzd@T3iR_76CwEi9gU?E&}`%3I#wV$h{U^Xxe55E;5{$)Gh)KGk_N6!grmBr%@Ca z0Ko`*l*ruC(H&58Y9?XkOk#2~=8tksv*p*SAmou;0LP3nHWYgy^;%OY@)>PBBV5OU z-qXi>t0Co+Y5>H+TZHTdVaUiCi_RvK2a=Nkbfn7~hP&2$7+3qNc5!mW0|5|naTe#! z9VAjr+B(a%mS{~Pjls8(`>(mfx!rUNLKr$M#7E&$rr=V*hJze4Dds~)&>rPnP2D9@ zm4aBfhF01l#+F|9W_N(P-R zHrPCGm&(?y*1FRW=Au|F08DT7CTurS>eW{1qz;|l21W?2QeA2;JcD!)1#|&EfNLz| zQ1eKb38LudS|DU8XsyONYF&5+5g-cS0-2^zw1NSljvANB91eTQ4U#pb^}C}bj$JuGio8klUe}G{TZZAGl4JF+LRqYqKL-W26j94zTxx~ z1O-4QvD|wtnOg{v0imR0h(M(w*!|mV*wf(u=^l8ZK>&y{v_dKdBuQ9G5%mm_D$a|x z{Y?T4xiuHwt?AkjxF`?+qB1TRHBy!6SowxZ57g8UH!HOcXbQxm;7Nr85o6&WkM&dpnAra;>$Rn{-$` zyDnV&*~dO9&8jXST+ad>LopH6paz+riYX?^O<|oqI2?!KfAyc9J)u4m8;u ze%NTP9WsnczFuOlJwPmog0%pSo(`28)yaqvMjr%M<~3#P%_K;J?1o&EI^}NdH(To0#JAF)hqkk7ZQI+~wR*dj*Cb3bDU7KOfP)F6 zDA)qRh;wM1W^!xW^S%gHP+IL@xl4fx{nD>?p_?67+iw3lgP9a8USMUV1x3-h9%BQw z6@;p%49?A}qAx9+bQ;-JdYGARRIt(Xwc|xZ;S`i7<1BS zqR8Zc=6gkJwcdaIWj|1t<)srjWJs zQ6rkwS{gLnx=sGF&lC;?Kz*CWMQclEng>!`gre|}nQxG~&Q;`L?60@2YuBI)J^Grw zcSV;%-iTti01%?0bj4#c$1`Kf`#G7EF@b6x@IZ?Y5CQ-I05dcML;zr4WL(sZ0iu4t zd%Jr|p(cY#URN<|mn}1h)6W8AcaDNcI4SA=T`d0q5JUr4L;z<11P#I$&N$n=8&^-& z3--bTSBTi0exfYm3*ls}WVWoTRGyUvzS@3&CQ0M8Ao)-hmImGtu_3IWt)$1cM%SPX zty*pBF}08kRgok}oB%)u0BB?m(ZLKQt(46wh1e?0yYB8-T_q6DmlMD!)FXkNT6^Z= zvY^yaD!Y!Imvxur|N9f9r`9vyFXsBKj&tvqSC? zwbS=+{n%q#`u~~jY4&-K`&aqzv3~u3q}gZV_xIPX{YSU%3#qry{BP90Rk82D(|7yc zKYDx5Ui+~>*!f#O2k)zHeXpijg>2U0X!>*>z3$>4zOO+(?(DZcba(&yrS|+9u)WnQ z#8Q^fDQz!cI;QkIO5a$r74~QqkN2VQ`N8klY{|i4EoqBZQeSP$p?n>Hy1g2nGvNTj&j)e}OoVnFe-jVRADd4k=-RtbG zmZaTB72grQguF#jUf@$W%%zk5wtABd-E>?FQx=vX#E;c&SW^fdFG})8q77FtXL^Oy zWYVnpEt(dGIb)UTM|Dyj?_KA3`c5a|qlEr>`Tm2zJ@k}!f8(?7-<;#iXOP{R=4Tr* z^&<(OjHNrJ4Wt@Qg)a{l%dJLouYS(krQUuE_J2G+v6f$tmpXF|dc^6yX-w(GRz|K3 zb3|Dzh&6@K_O4J?8KTQvdiy*xN1*YXmIEh8x|@Hi*pzWtDiohEtXN%n5onY^$wQ2l z%J3BD5`^$E}+lr=+u{M8Kud zBJ}4FYkP7=pa^6GE3y^<5?0iTte}-t{!yk_&aF4uXj119cki70M~rOx>BKRt10Aa9 zkI|$uA?YjiDcd^vev*$vkzw+4G>?|=Dqh9TmGKNjVB#lpBCW^A=lo*<;DlhB?}yc= z7BS=ot-c|WaA>kU=9)XpTr`$AIQaDo?u^0sN$1Qy&Qx%1qkh)$D*Eo0$co+0v>N$4 zPDxHb1zmGL?tReH<=+|3jB|hcB=7cDbSc?T0V_MWOfe-b9Tt+wpZDH)7xF$a_RRRt z=dHVBdI)PV0?lHripkP>3=AbQp)~C1N&LE!|4A=K&v$cCyc1zRp14NCxAKj^Ivjx0 z3f>utZCi;tM&sIwt9|Xxy|vTkYKtSX3D6mfr-`5(&u#tKDjLO32CMxS!h99Kg-h`b zS_bYXQt>a+mqB+!;EKOEasdy#`_0rk3xD_Ee^dT{dZD}Og=bc$KC@<5Yvi9~J+?sw z_L3w6avD<%+Rl#ARdw7ayHQi`tM8Vv)yk*9(8J>+EB}Nqynq&@f87)uX;UX?@))F= zx%756yInf!)Bp5t+3U;SbQbbD;_1=&M1 z&yH;+T_0e-p|8-D7ll7B9_b-B{?U)m-FGw8pJ(rCcH&2iXI9nv9)!SIO+xZ&xI@)O zZ@^Ofgkd&K9}Rcf$tVMJA6$G_TUughe#q3nhnI~agc{!mP2p{lYFfw)lTcHlbr6?0 z@WbIbKBa#`NIwC144q#`J3j{e5X61$#7T+BHwEc7{k0HTY|Qin4AdwjsV6|S^&i(N zQT;x+k{<1#?IYKWkZP?Bv_~m`EhN%zzr4j9`~9ri*}kLQUq0F;2<0b)}AWO}@9G5NF2mV^aSf}3ZsHUm<$e&5K1 zTH?~&9W#`lIzeQe0RcizJ|1s;mHA^nEy_c16pdbsR{QS7I_~S9 zb{gy`W8R#WKa4z6ppVSp&|;cVPt<*IlTxvZduty=4n_`!Q)Z2sMXF&(jld>*%6TJA;WGM(ntZ=AR{ZnPC3?G!#>|~j2`}J( z?)TxmgA!jebW0IWYcPe}EN{JYL(N8i=OQ^C`{G+@1zgroustLO*&w$j*s7o4w{-?L zi`sc*vTlb@8XWNx>ZcM8LmC-V%aGZ2kWWO zOlPsVc@Pmoojw6=UA-j9NR;mpS(aQ{GfEq-D*2Z0w~2#wP3%43=}vvP=LCECD2C7S||9}I+T>567ppAFV&RIy8eM%M27PIRSB*055XFj3;l!X#p}YJtQy?Hz z3g{YLAMP4UW=D6~DyOkhd#&XgO{sT4k!C^)gvD&Ar5k$<<@rTgCB|e+=~}dBaj9fO zb)}o9r|!bFvvV)stZ;gO1Ny*WC7S}&Z7EgrC&9;+S(wizG~~eSH%u|AinM9xt!`4W z*@&O|x#>!aOeta@G;CAZgE;?uq20!ekYrZOT;8-czy~5Pb>pq=+N-ZRZ#MT8nL@-s zXu+m&$j9Vr&SW7OZar6{m12N3w@I&fS*7TG)eS8hJ5|{UArP9eDVAd!n4OltRpeC4 zAhFvDu?X&wVU-HhHoG_=-_48^2+i1aml3j%n7*sL`5SW~hmxVX-hoHvC|(P#-O3#T z6*LD^Af;pn`3S>o!?^hgt_x<2bIfp5VDCU_q`O>M91vg4g%k)1+1|$|LKz;LN!_r% zxhGQM;er{i@kqLFrT0Ee2N2|;nVSNma7)P^%En&VRg&^D0<((A$@>lbQb+?i)Mg&b z#l3e6P{5cax&k2^o6qMLcBgJ=x5&pgKR@roL86|w`P@oDk*fZ4KSrgKAq7H9Hm25N z0(bd$gObF6aLk@}xKm}TGDxHD)Lr0ExA*pxIvv6wG;C9ndi48OE~k?4d{je|-EJB0 z{4_|^awKiJRiWv`O zWQ$6IlOf1e&sa(Bh3m%7;Dwyd<#@4aQz{a62Zkg7q8xT|r3hV6NnLDGA}J*h=b_1) z0;V)nA-hu={YVfxuMM%mN+D_#&`*t((*#avCZ<4x&PE!M#8QEly(9z&1P--KLcX}> zZqL~9<$hBdgg|J_rqDq(_LB)EnX5fniS`RGo?>L32u{y)f%fi%y=YpdKtatYA1$&@ zBQ^7k$4OwaD69f{ubuVN#{x1m0aPFyu{?`t5Euaw_6M)>LF#)&#gah7E;6()r!D3+ z{7)#67sWbF;RcnhMABNIb3zUcJ;KCVB_@xjNSmBVod>ZHnzJeN(Atzt>JXv3i9$-K z2#38ZUe0w?53TM67?VV7GQN@_5zvs@Iw@CyEOsC#KHPF6MJ-w_U0fR{ioxnps&s)u zN;U-%Y9tp`3Z4Ww*)ojxQpXt0lecP;Zcz#223cVwQ~Q1omraHg2vXWf zC3@@)h@d(-!vx5vqJjp67)R`tyCLR6Gd2atF*(SS&5wX2*JcA-37Lw7eMliV)Lr{S z6oe*i3P}cA#s5>OteS%Z=@MR4fx4tho5O#CYaoR)Aq7JDPoY3YBw{87pQ0W;@>AHS z8G^&Mw<>w3b+`}rdAJX;DTCOMImiN3#*k^SmNnL>!DPvE23VZr4 zSLWN`dT8if!61aOQv}kc93Cmd4kk(_fIv-A9hfVd>8_M!gs_#u3rU+)k(W{`wfrT6 zA`ra}LlI+J3q8*+zAWPtBLzZ1Ht-as2EHxAiO`_rQZ3e6L<)45+8+?UxD0T7z8 zDTq#}tc-$~g?PtLBCu5GAnvT`D=qv|?})e1q)mYann5I%N=O47<7lsfrM9 zJ(Y5dzz9v+6a@@VvJzvV!(>>QhzI6@G1v-dEdmJzQ2wFl33QK!eX_6vPnT za>SK+(FWegdmx30g`@RR{nKluxz~Dou0~-|35YD%6oSPDRF{Iu7=URJDjI_X^XhNd za%#Q(=Z8C}iwNY4XTPB1_!$e5O{z0D&iB1_~*lYP|E zc^3gRnNuLW=rrNDdW>GvBgXI?U65C>w$uMQ!5e%$f7F3cqx+SX!lyeDLbleqzENZ zf!mW22{P(-oQA}JIzjT*N)0iPi)sD(I0W$~LJEZFZ1JELQJd8z3#B!TWTc~Pjt&kl zW%?%~`w%CgnVSL;HOP_zl6OwXVnKCM#!>%LAR?!fmsLG@eI`Q+glKFMl@L32n8ZGM zgqIn97}QGP#fVL;!r&C5LbCQO24GIPej=Tj-@LTyr?KsYXb4T%6v_7)2rvaQ5;j8) zVqTNHv{8mjAwSCQ_pbkVlqLi~Xzi!q`VbHT0000qGz3EcU|(ch)Qth6e(rw#?nys3I-Oe6$F<7+Di5Q3G3n9;mJCFJVjywK{nl^w$n2Z{`RiXTdz<$2)@#4t8~wJohx6C({Kwl~ z`}OdzJ?&#Vd!3v3J8f-mWL|r1w-0>UllyDiZ*TptSM}Cc|7+9$iP&MOhdgqGKp7}< zWScVk_V4Q@-*nIW`?W*lgYW;_Uem$1#%gc9?&zOFZ%gl4?8Dao_0Chi^K7>hfA;Qn z?epI|FZ-|iqq{e|&y&CXLq8I|z~R1cPJUIn=jyrf)ULg)zwXxXXBFRn=&@i)%qHa` zR%+M`#ZHORx{s}axTPhOYD{65D&Xvgv-=G@TW>bh?%5zfyoXZ^WrBpP5ZaFON!l|q ztd6mPORWuIdfQa5y$xfxo4G%ga)>H#IusBB;bs|rc~S~a)E)qlgj3)Q#vZFqsa{pJ z{)0gArcMF*05wKTmZ4)@No6Za(d2#2N)A*l>ibu=)U9#ZT*CWsTRB0w^T|YuDl6TKn17WkuV}8k-@5=%~zC%6%X%{R>;_Uf{Smd+av=wWRe+r|1EDm`L@H9z<=_~f$0SE$lPvDk4a-rkTb z@9S&%-~W)Dcnls%uOmud2$1Dp!R4liTeAVX3D5+ z;aMX+sZArb*K4zj4Y71sIPOdY5QqDCa1W?uSr9zPN~(k;Ojn&|;ATLyDP~fO-R6I! z;6v#z(2Wh_jQ+_HE43M8aeA9m%n{-h$l&S=QM9bIzz>a&WBlf=hvCvBqxq6UI`4kIi zMZjBV*K6(xEK(>7Gbm@AAuQl_79M9{Pfj1^3;EPDzR|J)<5ZVf(l*ZBNV>A1a(A0p!0aqM&cvQB zNdRfcu9-QLvtCmC$@3ow4K2%xPv#GPt~`x}5l)5U%d$`L*@LsYnKCF#qjM7{j|QjL?tArQ+Eo}0$z(k; zWs9nc&K#GMlsVM>qU|niY})I&yYjJ8o{VEW`AhD`?n0mcy!7oP+xPZYY5Cr?&Xv2X z+#il(kJf%UK1X))L?e~fBzL`YlApQMCiZZAagOcMosw=xXJX{j&<-YJJ^zpdZuMRs zBUjTmwvG&}m6khAGjp@eY8lQ0&}xvoIKDW)cFQ(-gB(c%e&Wq9YBY+=qz+vfS1k~i zFkNi5zm#IX(dPV=0^G)Xm959ABJb zJ62AiRRR{KRjV?VAA`Tr@+vF-=b~_Jh+S;M+~d=_&24u!^9KeBn4>tpIGJ|PYDj@B zXy?*s9DWsV1@4a=Li5uV>`@j5f6g7Ql}#Gi8Qt7poI^Vj$IYqyDJps~tqvKwaX){{ z$G4BsLC8q&_#G@4TXeT)=XNuEaX;-rFD!UQ7y%@v!O$HCof2U|c~wz}IGKFEa5q13 z6mbUae9Sip_${?^EC>Xdc7Uaxs?+;fopM@p5G}jkn@i+l!xayZHEFOoyLP_6fvE+v zGQMq-E>Dt|{V4y_1WpFg2HHja*2^7uyKQe$@n=V~XK{Azd<OX8 zeu`Yw(Yjm`aew&7>oz;Ho9T-@=+t~aGL}IwBC}NVV+v4oGtZg|Bq)0SdQPPr@|ojj z_k72W?MA2gW}U!LMe;F&67*L)Vf*-?b&C8LBG@fi>a*No>2tI5Up+i~&0RSyZ$koO z9^)wDOxpR>2G|LMa+gn;gypfwO`3kv0#5jftR%08bye~;_h0O#qcJzGLU*)k~-K7zkANT5iuT-kTe|1|t6Vk{eq#}j*FVg*s z()pJoC_>^peD?DE1`0?+MAC8FYvsF&6|TW(`=4v3ZjGHN~Nlz2lbJ$_WG~X zR4j^j3IYfgY0+j)1=e8CCu4a9`+Vc~ipwMeU&6G9i=lQ?U_iJ`6KdMV?^QEz;J}hU z$r}r;SESNm(YR9+KypJ_j$k41jyd7L_hRL3Vv8Hrwkv%_mEIQq83T-4%E(8!R|M2`e9(+EUyHsTa0c(j!FX#bq7)A=sp=6bT1froZ4u>X) z((XLB`sXw6$pUJ$a=i*W6`(6OW@wQQ!_B2$n1)2jr2rxony)-iZ%h`Yg~%U(lOR1E zOL0Kbt*!9Yvyi*D+~#H<&d4khoR=O5C3*t7dOQ0Jxc1`n4c}1t&R0YjKZLy-(@=rB zcO+8puDiH#c77q^9Wu;2fw})u4~Ns9^<$B_3k$2 z*#4M;1jwZTq9U5LIf0g#WaRi?X^%dPM{lhNG#}ZzG3$HvMOL-Pn1E7z~leKp*V@%{fji!2|E9A{NE*yIcEyr#bI!puhBl;DdQWD-uxQH!R*j z!uL+*>~(r|{u0xMN$5|Kr%}c))6@$8yV~PY(+frJw!z=VdWE-Gt<;c_G)(}|ISJZG z^UT980G#l=P|0p{dAORa=Qgj%^x$~}|67|jR_<(_eNbOc@dVbPi3p}>0>HK^j*-bg zLnrP<0Nzo7w7`rpTlFfujgB45HfnDt&x>3-5~79)Ah+o0d!*i$YJ^z)7N=;_vca^x z5+uY70k~}4qE9~C*muL$!wcT-Na=I1?X;NQDgE`@oqz{}kVDK4EQthyQjuh_7*VA7 zV;hI3MO*8wyYlGE|J{6oL^3T?j}#Dt;Oi9SDw!h|S+BV`1}Vs#mdd+W>@&F`%Cu>q zdZ&Ok1LdNMEw2Y8AqcQA)N#uO&F3ur#oFt6>iJu0k$NYM_k7%9f0Q#g5v0Fdlz$?^ z4kV?$5h{m<0In=0rfwq;>)u=`AgIC5Q&x?XGqh77&{!N~ff;r}Q7^G4|HEbU=xh)m z-oPnI@DW}F-b<<&13(aJQi29{BoeDx?`pq_?~b=gAV9o=Qv;uYff8ZQfsiM1=?Q=+ z6?Df*iSrVJUAKmSDDmb_0RRWxA-Ez;5Qu>+v{~h6NbjLeAU95mQ^?ejafml?3e{mT z7&0rA&Ju#Wd{_)i0XY&xk^0xQAA0d2mQ4o&;trfdNrsMN@W;54Op!$l3_yPrIhNcPVxdsWU(TF(pl?11X1z92*cP1HdDU8Z*<1CKj#KiPrBBh0X+MVgsVn z(B{C-G5}tYp_Y5(R8|Our*3Scmg|X!{&wSQET(fb@4(xcGEYMU5X#Y8V<{+UWhrCC z7?_DO3Gdr6xA`+P^ikL`BY+r-CZtpYqC*Hr8AL83@TtHwh-os%#b>u;sgfV!Xp1sP zLj(|~(MX7fpddxUQ|ACjLewE>{EEP}nmV==z+0uA%GZwCY{ug3wKuUNTADQ4ko8!a6leQ48_5V z;s%HyW}^w6kd)>05X3lSJjn!v9bS|#W=SVK5t=)?+XI9UGtvZ;CZn2XHH%sT4hF)Y zdZgM@5?G>cm8Zv@g=&f3_1I>RP>eVe zK$$`YMyJWji#erB@8D7wfoZ<7R#(j^xN*0o1Dp}-m z9`stC9OuE}Z@ysR|N`h6x~Y@d~Ar89}{yZ)Cyn!52W_iXG_eI(;=B)-GKjEOl-0Uos}wtR<3bRyAKO*$^v zVM=p=ga9#ppY$Z5#CNTtZ}M-4gr%VZ2*qg0C?H~@Vp2f$G$2T7&09gL@|PH~w@CW` znEr2MQ2YVQ~ca7^`lC^!0@iXGowLs(@&cCQ>9R zR)+G(_}O7a24e99AEdrwbdX&T5CQ-I05dfNLjV9?RlKN;0Yr7*|3kNhiI&T$Ot#!^ zyP`;^0KEGfa4BvQAKz>I_du`>01*+`T@U~`1G8E7fw%CRIQPWY6COCBrJU=842cs9 zC+;ex>Qu_BU;BlVVpQ&`2!AC?U=L(eGG&a7L5~p{R1@3EUS6XN$+~Q^HON8)MgRl= z0A^<3XsqBs3SzJV5|#+N*1nmamx`4bjU_c4ymTfip%c|w<{1oO~ z4r09j`@dk#g4nt(m)7CE+VqoO{pzXKTx>bN>--*4T1<+`)>?k~L)Z*BN;ul5cOy^Z{r@VG-CyX>jHd$ZSn`qNdCB&t@96Ugw}Y04IA5)>gS!#+A;Zui@p&lm8& z#jmxIvmE5`e;qrV(!$>F{SSMUvG(DaqwX%VKR1~DsmEdDNabTCP-cOx<7-CtBnBlW zl2nPya{9Z!S$p!uUKBa;HLtb(*%XVW)&L>^f~gAS8Bi?G)Xq0jX@RN(sZ3PJaxX!# zryWn4UWC&SECE2GS}dt_%$plxN0p&k1j~=N6xEm-OFA*V#Wj1|t$(ps;qx_3>{tkZ zAeaJDr?w*S$$poKs&mciGV4j^F{AgEb#$y+tX{*-=7!vC3J^^}palRFI*>Nr{gf&d5_DtCv3>zPc*;8U9UmJR+-49OC0OOF`G zdbO{~V}5I3AOM2N3ceLRC%+j!@k1nM8Y-ofi^Hdkf*3u1jn(G%>UKDRfCLBt5N%TB zp*N_AwL4m-!1Po}4LQwGVRYOtoy>=h0l{(r1W^{4LlTnEEPOI@8pb8q?@^rwy3$Kd zYUG{&@)(3b5Pkvg?tyj*XZov&P)1g&p(<&jhI*=`lD**FT7~}Hi`@;5zKRV_Yp@Ui zK`8~e=1p(EG66%`iUuEW+7ja3p}pCoZxkt^3eb>#en_QAr~w-=%43RG1Rsm38jx z{`l0?tVtOPP#$rQnm^)c$Cu-*H27Mm1+CM*W@0-w#R#lmXn-K8^o4j8LABpszAC^S z7t9&{iM#tcDgDLQieI}8Ap{H_5S@d1g#ru46&>J{mRU_iWv0%fB9anWEPuD{1^=q- zJ=XqON+Gm>;RAwR^BG1ztzdY)x!_6ExNvv1Br`!a=}5|YwMWM)@VD4%pF*?&g9ijR zlZ@^5V6`wpCfZ4bKdDacD@7c1vR0ke-nGu%i$tq1C_oUr`$>^^;)X;sJ5qm@5i~|V zuKX^fCAaEcY|GjHFE%&<4O@qjYhRF98uq5nF+U)_MJM0D!6wEt3y#-~BR-XzY6vBE z(lOwdEE;^q)!Y+FKE$ec)O`>aR2DmvKhLUExj`XiOYT-yBfw_eNo{$>#0uNI6;|1hm)sVKInPpb0;mmcT~q4 zBBT%m9Y0L3=9)tm)fk*+dZUNFzc~K%TR)B^i0COx$2Hs`iQ2HPf1M+WFeeMHnb#sr z#ZynmB~oQhR#q`uVk&X@=sM(GDv z9+bPSs|P2!8cUZso-5TB2&OMDR}S>cHAaWA0@BQlQ&Ne-4iP4vX7g!$J>~WQ_k@Q`1lc0#G1YO#r0G~Z=(2jF-oKH` zTcd1GjCDZ-LnZ<$5#uy?@6*UlTlUK06nvF;zaQnZJCX%kV)2*z-Oei;8hCb&Dfsf<)<@`zbZ(w&)g zdf~3E*4A&Er-`rx1S3qGQs=06o7FePokw;hm$uxV>#U*T${ue^XHo}~?__nMArk?| z2v$^)#5m_cChn#kt2m;UuV%eaJ1+JvojW~$*RR6of=e?t=13g~IYpR7UpP1Koe7y3 zrChD=PMnzcWo=PwZEtQzg{d2deb);%`^B{ej^XP{# zh)ON^V{3`w`QH=n%9BEED*9WOBi34X8*DFmB)6NJ?$^ICpDs2-5n~|p ztkgncrpJ*QV?=55i*Du6|9#G#~NZoMy`#y**ElS0 zo?IbBiO7?Usk>r{Xi}c%trEyDl2+@2!S2PIr?PPu%)>luDWi@xdPlJcw{cjTgcKAm zr&8i6xGRv8nsO3D+l?kQ*=+9B@kW{GvC;Jn3(!OMYlhItB}QJw4O(<#S@j6gWtV9d zN%-!T|5^yxM?JMd>*>*0>dK{*to~+<+a*b9j#QYC5#upV1(a)^!52GdaaHsKK!?ys zfh>|)hJuQZz|(U*GeT%gnk2ZC=WITCYdPw1u~ifYQAZDLuG=AEQJDo& zQrexv?YYtgYmRP~dmsWJ3h3dT*RWVlF|Oq!Ig6kkV=igRM&aiQWUKuy7O~+4Z#(aJ zepOst6~jRr(UWL2%aITjlrbcHQ)UeE!5njDK$Hut+#n$iqW&G0OyXJ?WO{}PRj3r4 zQ)8@r6s1Cv&6#QPW8QW69@LNv=WxS@g~*}adn9;@gt;QII1GcNse{ufV;LJUDr(Ey z?c7-!#G{8q*ElSNrCM}3)I6z7pz~(SE{GST!ZO^Bhi{$6THn<}DmQWlDk!rd_6`eF zFa+T^w(i-JJzSKSS4qs3SNp)^vwnCWo|bb04_KVyWQIMHA)qpf>zz9HvaXmH0)bYXo`*pL^=m3mI(7nYY-2p)MiyeEdZY4I& z?L5;|U6VLSu9q^`yU^%>c1F+$>L~yt7o;42E6R17o0bQQ8`XqwmPu9Z zQd((sdvLLj`95>t)B=bA2+%3IW^6FioXbTOESx5GijDeY$?a*+Q>5eo5dcAS1>%~o zOrj#H$0HE+8cC&`JTX)4XthgAgJAGqvqzf-k*I>Ai3$KsbwcGbBd!!nD$FT7#Y9xF z@0gZe8OqhS{^y2+C

807&8`!dFt67*taRSJFswAw{x{?@1@(yX)Y!)}`nn@VcOI zA_9PFt|2>>CYx;&5y!}t?aHK-jA<5^-LV~`XNR$!1^b-h5(p3gATz3`OfpR%EX77U zskO)vWypa&;?Kb0{lmL-b3s7>1Sl0#GD;(qZnT<^6_7%rnOQFg<+L{m%?@YB#=M~o zHqilu5flI{iSo{9y&xf_=TgWMOXAX0Y4et--VtTDjYoHJSK{5r1 zS2pRKMJExQZ!Lmj=LIs;LMBF&|IKzIHXw+AAj1OFc+r`moNfk_JyJ51=U(d|M|!IG z(QNJvf*=U008m*qvSBLsNLxWXkS0^gAWC#@^YqE0^2fj2c3>d@f{Y(tJ6t4al(I7^ zb(zrP;xaN^#KqPR9e)Ox_lN!@Mh`SfL<|s?>L6s>j;>Cgrv~7ZTBMSNM2-;iBT)NpOiM~mgH9GZUT)FQ2@jT70zrWWm@U5 z_e@Tah(+XWFM>{4w;`qQtC8&t;vfjK0Lqg@S7XRn$ZWOdnYCAPvqH?ZNBb=;}UgnvsjZ1 z<2~T!n}|qu(E!z7Ru>c~k0fWY3sDgai}hMMUDq$ z2hmF>n=>&wIuyo1c9Qw<1|&A*oQQ|@a!JRTnNt-DMsoR1G(=E`Yw zUs$Dr&TSKEop?3EnN)F0l)Bj|WXJ;NP5;^gMwnM&fcG%s;vR{m)Pzj1#WPrP)(I!s ziuuSm`fqcgZa5>a#uCWLUi9h7vRCg9rylZEkV6q@v&)AO`*_(=@1H zs=2mVpKq;;RBQoHd5w#FGtlA!_77|gE7J?Yb zX`9u_WW5f&`d^*zfaG0$R@P2mM+rQv0D5l-N1kuG1>X1L+%GK{&rVz4v$$sk&JMg0 zFT4G(t~-04Hs#-*puax$y?S9;&=))EXbnyc{*VjYN7Hv{3aDP|fB6bT`r&CK6L#lL zhtCjx2q+2sA;^AX=v}dB{?MlCw;VFfSzkP-wGme7t-#U56(yGANGp>|`+C|C@`H^Y{ z+YrV4hBTr-?w6Wzclp<{7!h~i}!`y=vYP$bGuxHuJ2IX(cV5t zXr+_GIqbwPv3lH}!rams7xfTSyJ6B#;l_k zvKK|$?uGl>p^qyP)~s$*7Oj~em=xk1oo-hvCC~+yKO~Z^zWA5fBJuG$WoGkY&Hr(G za<7cG1=p-!;&4oMa5rkH*Q*cx;@3E2QBG`!mGu?258I>5gB7EjZPZ1C5F?svLxfs^ z(xfyWZrju0$*+9%$XZW+2&kQ$m}S2a)rl`bnUDnNRNGyk)+F5@CvgT^(t{Y5zOVh{ zg^(pE+Z0^Tjtey3O4)4hd-&eH)%9;%8Bn(exjJs&FAIx7G?mh89$w;?6e}N9C z%U-`JSQZ`ts7H!O`>5yJRCe-ZGBR_qfv4&9MkwVL+&{8&3(L2PRzL>!4^=M80%r1A zV+hg|MeA;lS=Nzg*NjuR^)N#yQbvkir_sbqM^#tq46g~}Z54(fD6sR$UoG!V*1i}y zF(!0>-?Q;pI>}H>4Oas-y*q{`Qa}{1r)+^a$;&+dZ0$^zhrJuMaPhfw@>WyRYe^+( z;U75B-4V_`G|#k~fZHNg2`9TU-}0bBZ|d%ABACsFa!ogVqOB9KbFJ-gfgf`na9Va8 zhk!6J7f8O(HTyBBg%OQXvflGS35+TGR1Ch&xl zG@W>~#JyPjef&nL@$f>MqNYd$_!0+Bj_&7FKGMTTVjK5~D%WBsVBwV@as!m*}5 zJFka&KuA66=6qMPs;fNv@l5vs8J{V1-V@a6?1rBJs4NY@;+!29EI$5hIL3Yora!`7A{UQ z{}MRYLRi*5R|-5pv(h;_9!hRw<@o#$4u*tf)(0ZP3K-Em8t&kWqNNEl$5PJeN_6#( zCe^=8jV&x48x59ZRAE75ez zl-<{xw<$=i?5}es){B|>wwqM1E?K_v?+|^_xCD%i^(Xb2b^SCqwi4c!;nIvWF`Q5OmriS;@O z6)q(i(ncRNI|B;xtOv@_m@vhiH9XJnWVjFrJ}POJrgJnsvG8I_hxJf%9wzb!Pop=_ z;hXqFUD&FNSY4=M4|c~$QQ@TR56z#d{J8XyZRpoPWf!-u zLlnh~_n>HVHEGGL4M-495l?uvrvl|0Wxe@e$6juCVe{-sGXr- zB?FG_^B8Lh&fHm8QIgX$jFRI0@|X-*c$a>`Y4i8e2;)Q7{-_`CWn{XyVfWd2hKbR^ zIkW-JZjOAl`kOSY9KL5tKm4~13L|-@^@^SRLM8v}Y$1AZ{Zj5oyJGdcc;4K&S8p+_ z!lzOhEk8X;r~mRlALw43#J|&yjys0x+4Ev?SN|GrV=9C(nES?5Bw1gX)>=Hx`@DKt zhb64YqS%wuKXWK@p|cs6cNJa>?#fMHFBE~o&WSrdSI~StG*(%&E^v>i2|7st)WKel zP~k`2x!sd#;{Voj1s-q85q3kVBCd~If`xIAQ8F^|7~-|FIkG!*A9m9?q1T=6xPns^ zrWBi0PIPIiVEY{NiQ3OylWC^QM1ZBWGqF0k)UbL|aIAu9u2pyXW`sc8FbJhH&>8Py zx1uCESW{yO0=^ixX-LQ8YDyw~rs&t7v25c_8feGJWvjhmL1ibdER>~ELIpm^P1UtH z!yF-O0Mkdxi&q4hGm|h#*&-u(P@YjURwe5kzeDA6)*CL5XAU|k>^FLZ8jcM+MZQxa zq-d&MiJ=&GdT0A;x&p3!CL%M<~Inbf3jO3*YqWYg6=%R<@U_^bNRoc2=>_kRi#xGnhEqI zxQ|sh268T#jxbJKf7p}3ni$I5sV8WU22-|Kf%IphcOH@yi+T1I=B-QyB@iWr{Oz7I zZpRj^t7p&0169;3N#DRMc#5<}g8AOD?o6_6q8FJ>HnmL#B@$fcAdJtT5;j8g^cxZx zF~zmy6M^Q@QV?xHHAxx3gvI#c(WS1H*)s zknkpy3eBE9!E4FjObiX~e)S{dE7a6K7CWCDn!(XkIQ}&jiOXXIiU-MIPOa*yMxb5O zRkveVYO;fH$VwuZXRBMi2OBb?xi_#dS$G4E=f!rFA(2nn`V4R?Hz=a8f+HBw92$mo zp#1cMWT{gSPqftGhABX33PaAiwGLnp49WhPbRpg-7-PUv!Ya{7(;Y|u4Omxi;`-p6 z`ftX_c&A6B>=p2Bx6Vie*_&E2sfvzjEsh-+JN}EPcD+-a>OtrJ5@N|Hy-Ykt#qt|KqpCL#y#4?ydh)Fiq z}?Ujws|;BcP|K(!p8kR`1PC%ml0N}L~j@+Gp@ z*Zr!OT*hadrn!#JQ{7hOF!dzh>qLTUiq4|MpVK~G%suJ(ed-XQTstO;hC;5Aq6^mq zJTDcUvzz9ii-eIOe|N$;5w7}?ElvT#=$R)UtDGn*=KQau)9b@;#7@d3hifIe7%NF? z=lRj0Rm}ffLBfvi=GS7vvL5l>sa}*Cd2!T6ox4P$l_&-iDC%PH%H}pq52cS1MF0B7 z{>@55roaJm4+2RyVa*{i$%|5bB$_R@nAuAnM zPEzVJ9{-*EMMiObh~O>g6V=XzmwLG-&21aHNyZAy@2|Asip`~c&!3sK-Fo3!9x=}h4sU-t^CWzD*)TCmjObIFvS>XFY&OHZ+R6IQYkIT8!WhTH&s zh_3{Rm9Wrj6T9-$j@8cIb@FW^R$lW%`Ino3i+*ro#BhSoEcJ*+9>OrEjr9ptDs|wZ z`JK85lt^i_OX%^Bm)0>hq|GU zN-Ov4ANM_-cRN|{NiEBTEM_#&$x}+8ReIv)<1xoZg$UhaH*a*{#y1OVm-l1U+HJGO+P0Pde~k(7_Q$kRlklp!O?_Aec4ED7vI#^2wlE+LRgp)XZ2p3_E2AmqcD z65#M~} zRFDWbbuo!P?g^5@*g%xju4Ijcz<$1Xts8Vd9qgzks2`tGYFwi+?o$;y!mOQFPaeZ5 z`vW>p7#i@^JaV>)%%80e{g+mRVnQFuBk%t>QEU(_-<&8@-Nj)L#a<49EkC3!NP5l0 zvczU`GwoS+K8S;@gFkV$1x#Nx=e;0(tRSMI4sHq{xrj$lgdW!>yga$G>R2lwE<`-> zjNcwR?fs^E#nNPze|2^OBbvs)umg`ploc{XVaEbvimO+cRwPzX8dVasH!-W~DJrNi zg6lwtz(H78pad15EET>aP(V|STbk|E*QUg=pFm)?b>c4{C6+mNlMzR#G7I(3{^+co z!MF>I=-n58t#X{jalbBnK5h{DK8W~U?`{*kHJ`j)YI`%NuUOVS(YJtq0RgT!x!uOC z7u9^;^ZsuSBLp97b%er8LGrW_KbVcdsmK$+=kUQ~$=LkvmwPuJeJ<}!^Y~;>eDd-> z@#lOl<~1+w@xIi&dYgKbu5w;$!w4PR|`AfXs?tg4&cXvcz_4G7zxLr0A(kJ#lMt7FXlztqBsr!&6 zj1Q7)Y(@MULe_i_09uWw7AI&)H@KFlTQ@(LZFL(ntf2^ZwVW`0t!?3M3zP2?1QM4i z5j|IgVo2x_t-z#ktJkU(=8GSFZUWgV{cz|GR@<*%tzJ)&A*Y2?9LR8VL(uFEL9*Hi3Pt6= zYmBl=y{^$wj3b7OvT`n$j^?45{>!LQ#ZpTS!|R0!oao_TKe!A66}d{B#;WXMO2>+* z&?0FDKw)m=eSH$qD?BMpgN}iBW!KhPh(x?INy3Gv9Ggev=W#a^^70v-nN-BQ9Gzc| zcrY#OI^9Lej_jW*S^c=Ou3lI;jO&3?|IgEiz&w5VW>P9~1;pN@kSa8Bq&Tw$OD@u> zdZ)v6+<@&^==R@OcIYUSpL>6QaLaM|Rb5-!p}FgQ>X5M375&cci83+3Vs?tv z;oraf8agW-IytRe>^CT9>C^!R7BcrLc8_y`C&Zv|_D5cG$H_3sbUP$%>n;lGa3u`K ztCe~Pb0%xtv*sG@7}X87W-<6k+I<-le`jK@_3{~XkATW`^gwK%f5`I2$YU*yB4Xi2 z6pfvgCHw73#33G}GsR$Lt=?p`&$=siCb$>Fkb0slq142fKP!it)!lpETb)$saw$o| zIc|0MBm}qu^aay+`UFG;CjLqA^(fB$ik!8yTbSr>#`LC+RM?m0#Y!qb(9N~w_c@Sk z>{G1_t`$IFadpDU4XR#7^aH)fLZct_^mcP5194__HZ;SRa~Q}9@Yri!jM9SWIY#{!st5#s<{=*O$s13WF0NF!w>hm8O8Jx+prnWJ z@hhH71Q1=1z9PF(Sw{xgtoJzuPiJsJ&nZ^95qmj#BHzNugLAwF_m(g|fCN zVG*Mdv$laM8xu6fOvT_M&b8oPvDrJom~Oi`6X#BF?T8+gc@OI|1)hkfmR(m*$DEOR}+K2I}#n{kWA(Hu}kvahwEa z%@B&L*UHdvueVn3d!rJ|ziy8_sWdJ$;jY9JSv&|N*s4@#Cd+}43C=d=Fbgg}IIlao z5htK>*BFfJwvRJ0�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 i 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

jf~mnDdH}d zv^P#lXu1^qIS%Fb4wn3;INk&BRZ>lAy}}0_wWCm({OZew|iG9Vukl5w|EQN zH(%+EF+E^0vnlgzvBKHXu58+UD(?GM|BRe_M18bga{u`UDtb`W01YJ#zsV?g^9-y& z(3v)>{gDpG=X}s%X3rUuuVuPt*1Qe`MRcFwMxfjL@4|=(edwmnP z#vNl-g-(e?A_i@qE3Gt7;(%P5Qvi1>&O~YPsToNz*oTTSOR)g#C`C1YAh# zK|mQKut9=h4y_T4Tej4{WTQDPZJ%rwR7xQRK?%kR?X`kTfW$kf*Dqyr%TqezNTaAB zphy5c*Fh^ys6ZkOqgPGfxnpFXO@BLsdF*<}76C$pYW$S-0^Cq21SQF<6as1J!H*~m zp}30@)xOPUrx+)MrBX~}0xpT%5Ii$#u0|fKF%AhyECsxdcyZr&uQ7Om(3Zrc2$*sZ z6gc38+NKmo5Qj+JlJP_>9j1oHc(JfE9#A6J^As|G!4gUV0x6EtlW5$uf++z2KB4GE zV&VjdQ7ZO3mZ*$>roc-A&9MqpK(8pf?GmBA6)WMcQtF|jDcsUlWRD<#BNRjIUW78z zF&U~i2xX}`^TLfg)wMR z>=0f;7zjC`E@89*JE}`7lo{1tsDE^BQvewZF>C9dir3K~T@dh1WLycwlY1lAo_%%y z@pIn{`}lC>hy)SF8lB}!D74DKl~53nr!ok0a@=v4Qd0{`Jg2|^$xa98t3URxVm1$= z5FPD2gIh!)@)9$U^lFTd1QdYCu@`43zm* z6NGqyLSu(clvdW&apW1@+^$dm!};2XfE0EEYRj?~d1ks2@b4lF(16imI7V9%{U z9!m@(+=3pImZx0juN?%B42`VdObvq=03q7TnSkdN7h23jR*ta7JJD!bMwS~WqB7}L z9>x>YCQqLdtQ`e7z^}qs>JX>KXjh%i zG&mPS=l9Mek%l;dwgJz=9AFX8d7g;!{{HTu-tKcRDPnE&;<x-NDdD&en%R&!S7|EL?GZ0fO#FIm#BDD^j5Lb)Wb91oh3t^$zOx`tSDa z!h;cNi;Lz%`H0PS4SW|nTJdH4o1cmL-uogt)TfY!Q;b$g=myTli?6Vr01aT0BRMV7 zl$|vP_1GrBB9-4cmdu*F&Tb2VHtCZ-z7QtlK_XJrlmG`8ZDuKXSTN;JXUUVhR7>1s zvDr(HI6e#F?2j}naK-$TS7COb+J@LIy?`;CV->_N0jU`>dhtN=2@ewA0#4(MvbT5H zTQ2*oEEjE`mlsPUyC}_hbNZ+;U+yT`)$ZiP0 z)-GV2}a}<9%@leRFLB+NiWB zV|F0WI|VgiWd%fni7-}ruUQX@OMzEwWg(c&kP$0zMX}Tzu)d~GVL{vq+bp(nfb$eB z85A>=Lm?@pg#099pxSXvq+VwYG3S8bGToqUxK0X@1UiGn#_*N#QaWM)0ZHzWQ0lA@ zTZA{sNx`@XGL{AIWYagex0H?o>vjNY4HQA7K%u`Qxa=t@p~j-fPQmDo+dsgx&`>Y^s zDbO=!3a-Q*oVHstSorTLSd4ndEmf@*rmkOdy7$HNb12u}kXn zA0&w;neSe1`*RtPI=JxdJC=4xBrk_A*&khdM@uYOG-4M7JudKe2fM#ZGlkmP3Owq7 zZ#GkWEixYkS4*Luc~gKsHrxMi()>EE zi0(MQUi=#Y{FPoPq6(bX938I%LWPP*BmoJ^?uJdyd*kQ(aem7f+C-xO-~=`S1tY*D zhyV*LwGyvF&LA14rK_3Wb=zIu-;8XeGx2$l-YyNuXcfjAPjgDl0E{>pAfbR6r&pTn9UM~*leS23UUDz5Gac&kvX(|`|pC?;qlEzQ;Wo4-Aqu#o|GgU)f;9jUZZ2p-rw6_U0nFx9qZO7 zccYIZ?IGp7 z6!bZmf^eT~5CJ_nnFgrW&|{vn&L@;>_aqcUu#7u$pmkcHwFfAJGRVZR0U8ZboUR>I zSglZE3bVZgphU?N${`cWJ(x2BgjPs&2^m32WD~~XiSZ&XltLz|wLm)!rW@@8Ou~Gu z6xdLdhnZ($Llb1i3az1*5v>sbuTD(7nWU+=$QifwL#S`X``?qwz4%yce(Y@uF6E_x z|0jJVVGM0^isDw`6YK&;f7nTg@B zG&PtFEF)C zMDUo&SI&E)M&~VP08f1#1%J&kZ6p+<1mY2&sNtloJ_hqSrl+?1|F+m+oGn*LjH_!^ zl?*3L$u+^SpEWX zY~SmxbOnA(`y23f=ES3SZI+SDppdbE0}v1c00sauL<2AYP;OQGs!_o8Ze|vL-to50 zEdfgA7zk{TWFK!uLA-4zpadD+5Z`b7_dvAd0BC67tOx)`0o^b!U`Exm9@m8Qgg)Vb z#}M=)4`+cF3Cw^Sw`DFZ$tN7R>7U4Gd;S>{!SFI<8a`Q2EZEYS4jzC&F4{Dv435>v zmfV!mSQ5r@o0%pQAg2h7xBxH%03$O1Mo+An-x|F3+7gKmQ>f6BhN z@@O6xWtEdS@akJ3Uk=iH?P$X~8u)bWVc&;QiC~=&8G|b8$_XE2U)S zJXv#4#z3Y5;an!;PE1zB8X2ygW#~~b)rckxuD!QfjY^G`;&8E*Ax^_Gh!&EGb@^PK zW#~~b)rcl=nFED~5{{s_FbWf<;g29j9l0he0=g2*GNU@G(M@1y5d&KeMI|LUpAKHb zxbE6ITQir(0)EphM^_g9rW#~~b)rcm>dGO%6^9uFz#%zE3Qu?1fzM*`WudSjz_N4nfv4d`O%-AH(_3bIhe0(X7_`^a-9>Yz#%pD zsumk@A$n2y!hw7G3Nz|h*e-rI>xqGZiMY4_B{n!7=D+4FLRI*I3ne{)p5nr4=gP{w z0R7QHg^i3DW#Zlk|2=bS#M8LsfjiD7K1ELV#`}e6zVyrwkg<>tSIv8m3&{Eflg3;p zS59Z^ZJa%()Yy3@zAYZso(un310&E_I2-4l>HlBSlb0TcrG-B3Zt=6H^ZL7{w2IP2 zk>jFADehXwKGwR28D%;x2(OO!h0s|zZ?RY~;g43cq%ONWtZP=AJE#s#JhhNM{jM4e zM1`+e_q)(oIN`BYFf)uKRZ>4!)*Dp_fV!bFrDZ4XF%BP2s;y$bhYu4P3vd7Zf!*(+ zx9@CUv(!UJ-VCoccXm$&u6AjCdZRnPD7#U@a+n&ZHA7SrUv00K=;NlKm8@Zee6}D6}=U z5SA`d*`|b8v78%EY#$r&#VfFRvhY14Q$D)r5t4O8t9c8 zJpI2$Go>(7cmbyO-E`;ze*2Z@6C&sHjOYN3!*_>?g+=Cu-Z>vK`oQf~we*-WGe!_3 ztz2S<-iB`1QASv13m2)dZFKSXLtWWQQR0d5Y*HWHzpwQ=^jCo+ z|8r@ln;l$cEf?KugQfNJPl6f&%-y3I+P0Vmu9Zg&P5hnPw;#^_m`U1(dKQCYf|y&r z=F;GQ>m7GpI&#%FhR`HtP<8LZy0P)N_MdwP3$Aat2oArhyM4289+1A8ey;#x_NSZh zc0Q&UdK=i+jc=AEc;3R~LNYO-WjW0cUSrX7?y2)x?Z~I(>Bs&f*t+sU;Ho( zOb>r=2ixHvUN|})z7`(0+GpE7WqDuboZZIQc3kJ;N;Y0#pzCFT?{8;w>=P~|s3w^% zQ~X3__sd#L+jR}c(Q5g%|B=}=Dg?|aqAM}Q)z_^@OhRVh;c_ifo@?Ti-MLD*>n`2~ z2JPqTuF2LjGMPq{fbnFPHre<(a?(OFC{ipJK{F2UHF7zqJ?#MQ5bRB6{^YLCjd{w> zoD5Nk>q}hu+PAa}+~rYx=CGB>FdZ6c-qj!`ZgVxRmyP4f&goT{T|^1)NuQ_+PaU#T zLQ14>ab!HtnYOcB72D;FrOVFgHJD^Z2^CK{-XVW)-&FV(p0`71nkmWAQd|WDG3nmG zoA2~#xZPV(Z0=@ZDJ@>Z|J}g3?!tE4za95kh$r3;oc^J?XRV!?#U|OSy-a{USquQV zc3c4QZGjDonZwu~`!4jZu^o5Gh9=(2#$y42YL7=|d>{pOZ!UM9G9R9-R2LUfq{a%| zxfFJI=Np>^EV_*$m;TAc+o0zt(n0rK?~$^e9#%NCn;l{j=x!=w6M$v5u?kx=BuHQF zP80^NC}b}+VRgl1Fk=<(T#Z0*GaH))EUt~fIoHcg#5F>6;4Z?@?zqk7b&gA@w6?7# zUGGd|6M$u#vGI37{hiH8yLphO8M@T=5S(#NNdbEiudWKNdI#&*a|^++PGLWHH>>fF zyr);p%1?m&^Xx^+$JFAxQ(s^)j0EYd$QNiab3tY;sO3RC2C<#Ae9kQ4QtT88 zR%6Tu(iAg9fEugZEm^EukWdRjd6rhz_Dl;hAmAZXKfSPw$^k>^ET%cOmvbr3(dtGe{6qvanvli6ypmBrWQ!hJIx>e1^ zj54dCHWg%m&(%N{jaKf+ECnq*sKubGF8!7-Nw1CVh!gj|NS~{)PhFb{dW5asPIV8! zI#kw!3Jl85(%bLUo3fibV|C+)?!mnQwSHaqrs847ig$q)Ga6*nf>0j%Wwd_)*WyP| zGqR`cO6!Fq&K-LzTrC=`+>ludT6s{PK{2mhl8tRGk_knhBsAG3<^d9{Y@KKb%sNNb zzzS5#gAfddK+>mrwLwZw{CMfVN4p+&jiGR{%3Ywv%m$gYpp*wI8SgCIbyaJbU^`Nm zAiWhZ$FGi)Sy)eQ(PHI-%v#XOgLe$IdrlWic6ASZJ3!o(lv3SsW4+OS(reskSQa-A z&;JSs6UH0X?+1q)7v}>X2H}O^Vpn5kjhb=*aQgV_->4y=JYUKI@RO^z&V&;f?M608 z1B~uzD?4W|EPGuC7Y7@24^>%3W-X}YK}-e!S}=J8VOE*)jO7$)jw2xrEG1nnU5QF+ zkx&aqdDK_c=Y>*>NB#7r9q_-JNmFIMlzQ_#`o68@8e1<^S-CiU4{OL> z;9pnL{HW>jY^w(CC}ok9i>mBxD4UVz$)FeemKBj>TQAZx@YbL82suPfL4R<`Tx zRB)A7JvKWGTn?T_QMJ(<=ahy1?Nn9eCHG}I&q3^P;s5s^Y?DWHmE2z(I#qdjC{!=w z4(WMO;rB~hy*f^pq~yzar8?Q#ZwNQ6{yhAOj30+;AV2jJ&{@a! zMRXotD2V?0{a`Ks;?oo9eZ?G`!JgMd4rdI_ zgI72}-`+PafPUJ_Y*n;bOYO;0AI?q$>|W|_OnGwj*UsCme6L)!(7x~LnX|kma__6q z^(rI2S^h$pm)X~Cm;1gl(x&3!A6Nanud3?3%rbtH7ai1R=lor%y8c*6N0S%O*snNy zhznDU%f6(m(xzOVn*WC-`MuuKyaIDtIuPbiwgEJ|z@k8lNDy=Jqk)1fct$c1g*|c< zkSI+}zE^?@DURv6$3m?OEMdVkkRvJ3#NdL`bCx1FD6;&t9y>TTS_@)z!99-0f8>1@ zVT&(mq~QHx=(7-!F;-f*cr!p1YPpvMP*h2T=}yFb4WdY?gDJ3bF+p50YcNLAYSPDm zieswr`Vb-DCBb!*uQHlMDvD5 zIF6gxCEQMY@Z7NsY z2HXUhTVC#gN&{79~F85`vMFIy#f{=<44akW~7|c>s2kK3Gr}YZs zWBclSuP~k(kD$qzqaf&^6>!T*#RhZJ^t6n8Ir(-c8Mz?W10;avsB*t-5S3snHArzw z&#kN&VVH=(kc5Q^{jlv9_q_TOk9v2g!FZKBxsixD1GEW5rd`mQk_mJ)qIHPpLb&s{ zqWi<-bSd9PzNfX@bx3A{awxcr>PNpMP-Y^`B@T-%q<9T$Nt83q2Vs(dLN)uH+zhEu z#R^&H67QuJGMv-lnv6NdY z3IE%LI`MOfKCwB>hs+jE5^t&zy=f0F%1KN+E(?{2K9t1!4_FL@g*&`2{LQ4_um3pe zd@OigP0(`{JA=eT^Fc_g%s}-HP^pvlVua1PGRS$##o)<1d-qR$X_cnmz9;Vxo)XP# z!9YlY@zBP0+ol8}sy*puQ}-FPGFFqqWK2R@P~^yyf)*pBh%{ukFRd(E1Uh0@;|;7i z8wzLa-Qhj9G!R5fF;y|i3bbwtHRiLz#OjAff6@3vvoG)zO zww!Q+{GaG=;aPVSKRdWNYh>sYpE0la;8Hny?7apfA*&^jSi_p~KRXN$ty|#+SH~Ti zL`Ea1mKBi(lS@i~kSREwu`~vy3_Ot$Ur>vJ zFW{8%e=xz%9kCS>bL)DGjem{Xxjb#vYsjCc(mBOVDH~c=?SL=unF#kRyD`{&2UFQ~ z4~jo~D0QG>nRn_Q5PJ#04zuW%Yt!=gV6D5fB=N!2Y9NV0h!l}cLQ?_=7tB3d%NV`! z!Ex|gKX$`8{=o%yp446pkk?u!rlBOllpv^4B>sD`ZQ(y$-1aeZywQ>4?>f)5L=KuY ziQ$5jY(jF<{+??5mW$9I47D$x-h%+=#F-BbA{v88b|=70Az_zggf#1g5|AYsQDK4> zf_#hf;Lt>dG82Z|m&6u}9zZz*$wnCrgLp*alZzf$s99m8eeq__q$(grCXRceje^@J z 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
wh^F+IC?nc&2T7f;)@ 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 z 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 z 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�X^Vh+FLhBZB9 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�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�A8?`#P?#`HZ#;BeqZg&0 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%0DbiOGQWzgK5Na@xrE>44E45DUG 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

I+!U6`Tk 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%0Ds5 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

Bo;@7LD-kc23yX1!#Mrdmb0U(PpPzcp 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

ltx`EC+bG*;1CH>iRt zJ`uJ2CJj1G(!01Zc=X0lP&c@EV+|7>9Dr~Rgaf{(Sd-L-itD3GnzCtYmo~dN(^-LL zF-6F9QXFJlA`lw-HfHdGxQb=R=hh_)(RS%N?&Dd zY>u{L;!p-CF#L@^NNr-|-#QE&M4RcNqx|I0DBG=VZq~c3kMxe`v$hzmnC-kc5tD~w z(F#Sd6hkLb?BzmF^o8#~*(Pa&vjg*|LVCltDZhuqKNimeYvL93QV5v!lX@6)A?YR~ zCa>Ypu(o8*b72$zyR23D|Ix~Jpbx+}wZt8D4cKUctc^1&ZY~NVSSYh`+9qiO`?3fv zvmfaLCk~$wh!{L{j|<@YpBx-_=sUhg&;x&hRB^SoXGaLNZaLh$>DN$ zIzt>ptWZ#kg64|JwRw@@#OI#!uk-(V5ys1TZI4m4v+O?59ESyf0zcbe7J6k;J^^w30Si(&`Mp z*G}(87-oK>ROPL&p)#}23R4>3_?Ii9APe9zC1m1#0VB8}>~TlA&f>W-srrOp!otCn zB?5rxYgh;uO5Uy}8QeX7w93P;wIeT+Z0~+RSE~H|7zT{W>WRc_hFDD`m&JoH)0#~N zw94bJwk!Q*itW`8081yM@&vQQ^PP%`?ev*rKoBjm#3(m8(kcwV@y>D>KQJs+*9aa1 zx!_dc89BQN8Rns}B4?Nsdtc=ySX!MCS>9!Chq%=T#uR+9S2~vzp-d%3P{xwtDB?+x zUv!hxFqGC?xmzOp)(*;N3V5t<>7=E69G4bMjVZiojoOzKM;W6C5dkNzD~xQ-0{X9w z$t>W{)?d=jEJsOsUCpXZEoXMJPaG}hW3OprVPlr;`TgY&|M3`4H2#oCr~JK>r}3=j z%)i61zxQ@7_6w6#vjzumh?T;uRv%Dpu;7`eD z>vkKwzN;_sTQ`h<$p7LPk(g0nhMC2(#wCJTr7vS{HLaW&t@R}4mWibf`PQFXC2)9C zh=c<`#io*)5huY-!h(1rLA?{hmFy)AN>ZS=Y`$uvo(!O-@E@V$Q1^8@9LlS z4&;=__}^l5*fDuHT=1Ijz5!bCs``ao$yt_$kp`K#(R!T?_h_2fdaa!8R%$h(od4Or zN7u)?_xDlPQM;|qOc7OF6r`Q$gX);}l@1bMfQSSHm|w{|-ag(c#eRY4tx}w~I5DSS z?@XXg0RaOlzfB$#pYfoq8?dU-*$qy!c_O?o`Td?r4x=R$i?}&`Ck{E5ZDZN8|JYnX zC_1N`BRXRA&_o^u(ktx;ZThDP*Ye^RE0_U-O`R4KGDE@wVX2W$(!C7jdk2Q*BXShk z3ZHz|HD_MmS}pw(#egbqW3{g_ffVq5&N`MA(iiJ8>1*%uF#eeG82K2;EjHy1&U1T2 zs3I64sCc6~L>z1dDQ8B(5+MoxB4>xi+;*f8e@b)Jku%61M}rlQ>&(ZT5vbU*uAF#| zM1!JwIHXuWEE5hvk~WP8p8^xZVKtcWh37Gu8&W_DybR=!5)ayu6_i8d1BOCmmKwcO zzJJeS^FA+9pp4b~#0D-Kf*3RhH5e-_&uSO~{_zT|GhkX?bWn^GEWu+-C2-j8CsmEd z@f;dPEd0Pq2Is6G!0+CNRx?=o?5qTftAq7f9An4^jE%?{WRGxF!Ex@G=U@W;Ln3Ai|iN^O}j?aWM!?)~g z?Q2#x`rZvNThoruWAG9XDGEN0sCNj+;vkj42{8l~5TjtRAxahvjs$ZlQap5AB}Jyv zGAXt@qB6yk(i$p1^uGHWclVN4w>?g4lRGJ{0*xpblcGFETlaByJ=iPavu{-K;MV^S zP{r%&t?cgLO)o=};=evJ<`s-M1sIxRfWjpd^esKcOi-2qa%~iVvN8C3BU^^A-dg(4 zqJ_k{S=+L9Z)=(#-C$o$^Ook^PZY)EIA%nE7gLBk`0gSv#>!*Q)otp?e`L7$n~&D) z*G9Xz8h-ZnH}Wz3F-=@d-0i(L*MmMX58D4-+&q3>(I%7lfN|dKuI&6aaY8oM^Xlvy zC!R$e;GXqyt`$Y~kL_d3Cj8u7)Bd`>k-Dv+u=a7+Dnyu~%H>MUr#Qiy81?~k%ZvMC zlnesY@fv4X)Y>57jW|-$M8OHgj`v`w0DlduD?5K%d(Ad|ReiF)xWy~%z_T`d^!vAV zn4&eiS3%7yot-0(Q|DDl4Nq`ssPIg2 zX=!j%ht((B3U>L_f?K5Do(@uA`390f7RcVv33G2MCuGP;^K@yQIRRfC6`Ph1qk@8#i~C#SZJ;T92#8u3kjEo7-+5oof?3kxDIw} zfP(8f9cx>kV{2K&>8{EoL4S11=6l z(b}tkeEgs%iUN)uP|hHEP!x9S19Je%iKf}v56%KCCz`QZ(mAn)z(t~Ilyt-Rz$l_A zb8`&j0Hleg&&e{N0+c73WE!jF#Id4r)0htQcow*%M5|p=AoytsONuSJNm224iff8X z8=T<17+EQ18m$Q%IiXCTLI-LgJxsuBKl}#_KuAdT7l)$(b@@|DXdD6%<&Rg^6n2jS z*yVO-DH^(q*!>U?0{{a6GgCx1004h<56XN10b244#WA~^xtZF!#%pZ5ua0Y3*mgkL zAfn9wpOR}=+A=_z-=p#GfWesonwfwq004yrum9fk{<^`-R8J~N2x3?O0FY&KG!laE ziO%K}plMMhbRw~hFlULUOBtdKgEtp|F+qTr0So|$5dh2#+|ii<{JYtvWn14T`1|kPd)sbXi@|SCul>YqMr-#vjylbf7e#JS+mp86x;@@lyxYx4 zu~}_x9=c+~=H;i=YcGyn;ORi`M+!qcR5Af^T;n6pPlyZ|IP(9KaR(#dWQvEVgXOdV z*J_xrORN8T_ky87#*)hKul@G4`JD}L^Cgw(t?cnND7Ws--HG?pWYzk`?d#oJyIVWv7S95vCJcy5-fz9f*?0ms(R2>D z_ciz5xE(_p>I{+*9isS-dGGt-Rbd-rt|jMNqpekZ-eiwPDiy5yVh#b|F>H1)*Y*nI?6?In2H^Lqp0XjYAujGV^-492<$jDf`(BM1y|XSc z>+tt)`381s{T82n*RmF{yM|aIt$W5S@B;3tB9|*0ZUjLM-nMZT`9R8^--b8Y7%<36 zSKYl~S|FP0R=vop3q2Hv#Lym*8XOrQv88r#Lj4f*+99uY6Y=}_)lMq@jK4~zqK}Nn z87h6`<0gdJk_I4-VLZq)BjO{*jy#?!Of@+2vhYG@1tBG40z*7Ag@inFEQu#^jkhXg z*1u?(YkN#7duy-v-q)?sxn2LXjRWOdJoKN|s?}dxev6I8QuKMdyhR}dl?;Cn>Yv>2 zzV}ab?!pA8Q?#8WH!;iPtf}RyUlWg95#`ycn7}~;R{>37lF7-kv;c0P4l>C1d{wbMoj^d)RPjXlg)ORfuE)lwD?^mA-&o&D zRdHicQ&s;>+;kpDz1TV45dpEKnM|gpX~QqQ*R%B7cJ)i1O{*u>7WZWxZ+wJj!yd(_ z_0#9h?o}mm3wd@sI! zVB$RXm@W*RKwGXsuw=Zld4_Kk{K7wm)Qnp#zW5zrBH&~StFTo8!4Fxbm05FGP!V>4 zl9Vh`0*{zijd$bk%YGmCBeOTcexRH%olcpL&R=x-qv`lWQQ0aPsu+2u zRS7&}(TyuOE5pf*-eOfMJahh!45=3K@KYEGB6RKwTmi*nAS;G(77E3(WzGlxP{)Dd z=ogAA6mftkLs^R@A>z=9Kzsxp0Ig!lhW7~;L!J>9LY`DsBG1N-Z&CVrec`R82fw6u z8{`z<=jJxwH5nyic#B~<3GJMT=vS?JGaGtCdWu&c-&$HVCqOBv1D6K zr?7R_D|@{fnP;$H;DWmUagLbGXJ@vRJC{E)>a7)g(D(y?X!!mjidLmq*5=IG38n`u z))SXtfIS0ji)i!ltC!@g09;irZCS4MJGi6xCLL2Q81xJ))rqFya>=8*^}3e(bTc;?_-NYJwnq_z@`^T(IMAnjF#y%G`C&UF1t4ddQt0I3S?Z zQ6`4=uw?1{8@De>r2dyQ6!u@zCsA71BODMx>dF?mU{o%J+!D77;G1i^HDAJ%k26whb~ zpn3?#!}jiVK!fplN;k_aOtJ276ADnhiOlwFNgKP8zuWIlJ-aii`BSYh@pbIFO^X|B zIQZ~0agtytT-qi5;B5jI5;3alkU>2=lhT3ivV~jN@GJ5W3dzU? zsAQ(B33-m8QBp-Ermf90#(jJy)={>mjU&C}%C%O#a2|_QtSDnBSkjkt7k!o72_7eS zn;DT5mPlfuiapD=5G*on?Xs)3#kZYiu57@t1mztAD5mxh1O^pVy6_DeAZ)t}RbyrD zW?ibbuJKpa{ZysahFAagp$v6GnUYm5v|oNO6iN@MtibCqs!cdo&i`mq>b;87HmV_I zm~(s<@n6b7?pMJ}vgtiw2t9;I-7+YFDq(Y2R5RGs6n(>2U0blN^nN@JD2RMvI=6wP z7cgORHd~8zb^%pDCIHRBCH!@pgF&EyUyedYQq7=vr9zwB>EMyRP zCCw1^bJ86%-gen}9O$l=`ogsR);EvxQ^NC!%Ic=xCBHq@*25R^U@M4`Y6uq@pDk*$ zMGh9y*fZrZ{i(zjybYJByF@cfvwj#;n>h=!pg5L7n_MNL${Lhx;~?NNKR#Y>J41qB zPMAa4rA6zrL)>(c4u#W0U1<#T#d0vm<0J2T-%Ef^Lrc;^GQ&PK#(Lb1u$OGj|eut1H&>jxN0LZE4|vdxaOPR9>h z67mWZaW05Ob3c`KUG(PUlA=u7EErwM-|cs&Y1g}RJc~-L-qq_{vmcLi$OWNroDhV!a#CGWLI03sjTJQ9(rfH;h2A|h z&#QR+U0Qqe*v#&}W5&(lLrzB}oFb@EN)HkVpip2x;JLuYVEG#Gm*qI?*(}S`MKq0} z8Aa7^9J3)%PuD!F+C7yg4HGm=dN@T}OMq80cYEFG+V#p=*nAB9*q8R~_ZRVDX^iIn9O|OZu5}rta=aDoi0bLY@cv$1kv9^4#De%9m1ea%QuO=a$)30wzxGzfxPN z=b393^M&}$*_M^&4RfTblgunESmsOs_>Zao%xP8iKW&XulXkalj-`<(|Gm&r1d3p$ zi}HqU%i)=GX3FnM{cgTHOS|aN1uI{Z%45E@ZCiee{kC7XEx=>3W66G^usq(E^N8Fd zy`LMngn-2v^evh5xf>~J_kxTcII0E>IfNSU2sjx6D=f}6va@0hljbzlidK{r)>Scp z#x^5>Y*=Lr_>QH<^g6w1T~X$9YHDESj=_H11_rM?WZ@+8Gr^>xA#bqWQG;Yv@-BH}U>!dMM!OfXX6{ zN64X_;G5|}>EKgYkB-%~L*R z1fH=VqmuX+H1uWbQUcNEhT#B3%tzlZCLpXmiae zYnHeRYqT%wIH~?s&nEOU+1hv9se^)mk|__OSM=O`H*EJuo}h6P=@MLXzQ)1R&z%#l3=Z}qz`}1?0n=jj>TUzWipIxDFJ!OrmgxPgx9$`;!sRTPTW(c3sX5hbOvx7V{8JN} zP=#$Iu2J3qw(H0?0KtmeySlH98YLQealCA{>{fFDxL4>9(hq<89{yI7reBq|B|!YXxsdlVO#hFxi08nudW z<~mN{3eZm<6|KKX@CyPjCED~yvJDEb_w%6K-!_$^{u$jle#!hwF-x~5`;9(V+~5mw z1$gHHrDMZkt|rlO^zttVX%{U~&qtjH*m$qrjE@OUr+9@0v{PHYWi^?FD%mtK?W$!J z-9irYDv9`cL;Z#&uESLuSwv7jhxVV*s zAH9PPu|ZTNR5JEQEDm9R=?B08iVq-Z2^C4r1Do2peWh(L(iIBqyG1O96#Aq$6WxyQ z0e;@TV|_1;s34-i60(h=#r$hE9FY>-QfJ$jmm2Za7w>f4E4SfhqBr-Azq`Lz+zM~ zcu8)|^hULc_C&49`tWvD+uz3V8UE7IOlYOweCGWfhl=Oqo;x?x1ul}~5?7r^#7bdr_tV@3NS-XANv{&7{#*97eItSm? zY?FLXjb9~0yqy>W@(kZ7Yv11&shoeU;&%y4_m_;H*y~o{AyFobHA?|rveL?81m23` zF}hU=CfW|zWr+sFXWT7vlJie7B-3lFeX9dtjCline-hukpV|B71ANI;EK&B?T(jWr zAx8v{EGx8dUf&1wXF$>eEbtZSa4z4x!c;>J9)hVEY27vk)F4i=Hw!eWhq@*;`fzIJ z^p#}o`=dr&8+laMBhOv=JY!OYnYRmqt}N9?1PC0lZDBPK$Tr-XyE=3QZ953)Db6In z>&hybiZ;4`uEt42_?xavJX67sGZg&D1`ru}Hw7jA6NrCFf~bi(c}uRWsYs!cSR_)< zF`3tP)gS(U7hU=>$X*N)qK5ff#1>zObbk5ZsUCM*$~)(Yv2p!Yl@jr%P( zHG6NiQl~d8nL9DBf8naIEE%ia&b&y4;88Gr0vsi82h=Atn*nagh=Wt$EqQei6;8~a z)Oj8r%o0rpg=4a(y~r3n7`<=?`ZH@!L=hrVbFMIHaJI84HA~Jo=hf%`yyM#3pfN*H zXG@juQXtYrIX}m!*!b$rcgTDAN`B%5r+O4HjXgoG4HPFVQARZ?M@kkz!9bz}1nl+; z&|CN>f8=#6OA{6)=n9b(pDj1*9>pXC#IaNU18y^z{E51zxeorsO;aHUCc*LjP;>10 ziT3GHyvjKFFo*>tl?<33vdJ~^QIq|K0Vr9N`>WA!jY^99^8aa& z9ksE+AItmMm+cNY3qMh&1r(2jKfytI2-Z~!6;9;nCix+PYO9(i;r|Rzv4GUVEwhSR zLlFDM;V3u*)f_=b%|-yN3Y#daT_#~^-VLbaCFAN65j0v}-v*3uAo*Q2sD~AL*)$w2 z?4!tf%uj+tQ)#qTArAedc->N;oOZ9YIx9qr0%<8EPr>AkAQtsMla}(274d`ap~qD4 zS~4qM0CErmXLm`~Ghk52FAnurUU}Dkt0el z_VSV5GHEUFaYJ~uCD5_tE!g&m|tn|`3pD% zXC`fcb{8d7Tr#N725$req@k0}nkNs2o#0gNf!#%gfwF+|3~;E=k8^+l1f1pZI%IeZ zCN_a1BpyI{6?9ZM3;Zseb9|G%KF-8*AvnR| z6dlzLWw3+ zj7n+W@7UuLhfM;77C1S6vIl>6D}8U9%^i0TZw&M^@g+V$ySmS|MRsrhK8g#XWZyG} z&^^U8wr;bsLVj^7wM!sSvI3(Ld{426TXicdvNnpY>Q*@FNH$a!a$7*YPgVO$GphUN zmsh*fH#y{JA>Sz;3P)tFhp2eccepuoBlp*q!}p2*68RuFN%i z3Vce)AdN#>YuW-hBip{t&drFI-|}$Ta<~^AXSa^|)F48@;(%T$8uoiU=k=x)z}b%< zeupCylVNZ|${Y+HPc!39@PKImaKiHrIN~%C$@jC-f*OPxN?3vwDh#*Y-Ij83FyEDl z_LdYq1I0;CI=~6;%8DGXRn;?pRgG`qEF9PMeCs$4d(!l_U3!~N>E#6Z$5ylxr}o7Tx3r*#L#5@fxmg-UI7zz-b?)*MR8E$aXTE+gP7!%A{Oz4qc34D3!P zXFJ?6#Z|u6YllM1vHdXjR26V|3~De(_Vo9g1b2N)nxhqn(>QS2G79koaV)_Xi1>Jf zafY?0lsQ*qMBreIIoCypu7}70`btwqeMt#aaK0iui^D@*L?!>9+6_u`8^(y&_4s7K zqo`Zw@=tSJpuvfDr%_728aBhSl~rMtSa(Vj1j-u8)xB$UV~_%Dl`Im)^lbl zX~2S7nkZ&z5(4Y0xt$qz>>}GX2n{Yv9Vh2z1bTc*_W#~CehHT;laTn3bNKP!s=D0z zcSe0-K`gnh*VW8ND#cTgk(h&RkwI#{aGIa}V~Mti(Zq2$Xy=GC$hOHJfZ5mh(>Uzh zCE83DNb{$0+PO+(=c&di=blk)b0^g`Aa*)hl`xn?d%C=xq(sF$%mF=JFBiMu9wC`Ba^&U_o+%+mVjkp~8gd~gIl^xN#}Sn9 z8{uwyJftKQQA?)h#N+4JzqSG%2W(jsK{!HEX;hL5%pMq9dgDF!#{)~#TsqU%aO$ed zQJiF!s%mw0jahIp9zNh1#j$1@=9e;C-xW{yH8LvD$qb-SMyYklm2oRuP@@bhiHnt> zsA2@uoo&j%Tc`@Uzl(d@5b){v^}O}lpSWl~x5^*n{@aM#Zn2>PVK(p6qqYWZFIn8D zael_%h*L_pml1wdH!Hug6cB+q*%m*JXiQKA@R4%>)@Px72{;qf){D+1fpl^5T4Gay zKAWdwspn3l@JO}uh+~kc$$Wdy{KFJyfN=mEIsKjXtkUW-F0Fyv>?PM00c0h=(Y_+l?jzG4a%;kRNK8r2{IARr_I~0BQ#O?h4?bRHmAFu zP;8-$nQ2Zqjukd-Ut6_v`bx5Py-<1(Y;LhzY#N}5$&mGCcfCZCDS^MF#QvnA55M<* zTIs-8+J-c(SLtJDq5{gj?%K;NIxh0H#{6%*nn0(Q7Z9g&r?Cs0%lq#tRV!azl&n(z z>eRzx5anS`*hTHl5`-Wwfa|-atEsTDc#d%dV;31&;>i{#hypp4*|f!P)z0ZF$=chU z`=8Yri$hDCESVHiv9VKDsQW3J>fsKd6$zaMr{)^MdH;|iQ^uWwc3R@wZL8}j7^7{O zkWe~J1O?X?-!JAG+=!8v^PkH&x6T}&(C^4ce=_p8?9S?X`R~SO;Cg#himIr}Fq;6{ z5D)_Z1OPKcMkN3MUu9R-wm?hU9Tc0u-uLY8@puDaLz00kI565cq^ox?%1Hxca1Kh6 z&b+_>(dhz!ks&gg0Du87daYKUA9Oj5v1?1L)FooE{;i`6#LVBhEpD0N(XBF%F<4;f zlRY+|$+{giP}W#~mkk@NpgZ{t0anP$sSdsY22?{;yGN=_^~Cf`^;}?Cpb5R_yXPm+ z2=DHd*WFkrwNkrjaCg-;+Ur$o1zulU<#2Cov*#|<=O|hFy26Mq`l$*UI+t3C{dt}? zijGN>I@r*Vv~+G1=P5TX{NTS5>yD|L>a-D|@)6CL2?qJ-W=%wceDpJ?!a+WI*;DbL zA3Y2zfY6Vg7L`P3M^BZ?w^j*Nk5&9FdN^WnRwA$5&_Nq?;Bxf| zZ<^?S_X=04UAnr0-!*Hjd5T}D7<`Ybu1=`7VyzW#t<>GJ@vf@lsmg@th|t%F>uy}` zM6H_pEe$RWLX-JbsQPF#M2mCFL+P8H1IosCMz>~y!TTDo~h3I}nfd$VWV z7_!raL_}zERwxn@ZxWB-2lyc`g}^! zQo2#)?^Cr1T~aYJo?7+%B~6<~;zT{0RPzev^#}4BHc_|F0y7G8<4hHgE3?o$HElsV zXk{fbd}kStKAlR!QC}GmBVIy!I(jV6M^CE16Tz3l@cfJj{;!F20!Pv(v%coZ=m|XR zc-AnCFbs#OnWzNGpDso*}%u3UF&{CDScetgbaiq3yVJ+NA!g*!3 zg6FXCQ}&GFZq#WiT%1=UJ*O*?tVBO`^F0ZQvB5+J6Rr4&ccu+BvS{ZeN00}G*hXgE zgv75!|3olmAn%`8`dK|ZTHnU0V2X|i3?~55=!rn$S5dmH*PG3a(n@Q4og-6y)xlKgt)&K$!yB5OQ z7O3}rd674IC@z|B&5npj`iMbfELCt=BILoKq-Lvfm8i$<$l~t^i(qaOzCx!ekuO3D zR3bdAOC-?~de^-so%QOghxTg(m#c`L3qWNeQ3Zs=jubF-A;;#XCNfP_emj54{~s!O zDfUDY8b{s2ni+6OVNcXz&P?u{IGsCH)CCx}N(!wi&7|x7Jit7zqp#IW{^6J`<C^qR9LaeaB2YXLM?_Xbt^KX8!>>S7D<~anPQ17D&2eC{aV&ATC_w7M>c*gjV6>l0 z0SQuq>oY%%p{Q)Whe82y9}%~WF2P-t1y_ZV7p)_NkasRh!(gF$p&&WEG^~PeU(*zh zL`24XX)JWNiKs?qy5w4&yAd0$46Gy5Fn%-$jBjLSM1;|NT)W9hfTtB=YJ%XYVSAXV z0tYE_`~g)XM=vH#WMdJF^AV6IQzI8a>FQJg2Ba)uxDTZPhTed*{YGA|-}`~y7Nb@n zW9~#=l6am7w2l*u+R6ZD+)`((4BbG{lQ(xZzZ?TE9RVmP&4 zcqER9ki>~+foy^TFUWZtBs?VvY z=wjS%MG;9W5q@KU`z|o!0*hNBxN86FMy9w5e|lnpDu)aOPc+|(8{kV)5k8+HB*G(# zWcT`e)>?+-b!|taZ^C$WbwFM!JvY6pj*4eVh$0IfT{QKY`&=r;mPp(Xp<|w1BDP<> z?tV&BS{CK~3)kclX311PY`jkDhAaf7KY5c-qS8+~@i=bOT`BmbJPAP_%!@y&?sVQ=B_>cu&O=8>#2X6&x;uIk5$4fV zbpadoP6js$^VBCqgwu0q>29=cS+*n%iE3k!*TKTO2jtkq{@@)%0ANSY0tFKFgm0wd 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 z

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


%QEDB{HtlVJpJ~= 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Π0xTd9u@SK!5P=r4;$W`S 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�yA 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

1D!V}TAc`w< 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�M=qC`<@2mr4tyn4Et@ov7uDWK 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

    ux~;xr61SGb)C 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 z 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 z zOsa>nF6&b}*G)rG#8_~S>F8@I!3jARq;bl!CtxSR0Zq3tH7dacf0y(=#U@ZfrqA6;tvBTW{&yPq(8F6M34LmeEZm4ftY2keelr>0Ll1wP;HDfM)vo{h+SphPGK_l_0 z%mf}|VVNn!=1_!mP;^HJdL8+&S!B{<9>MfvA=L@z7j$CU*(D@3x7c;q(wMFuo%NHq z%7327!V(HR#K#BXfg)0(st`D&L-8^z3$m06e8xUB5ODqV?<0mWDIO;$j;x?fTLpQ< ziK`d}lSMOxhwd($)P@4XnkKMD|GM7DwxSEO^ViV?MAFL&fh0`>R_E8k_Wb+7WabaJ z0@Bg9)?U3f>}OP0va_4_)Nx|)b;O;tx#j71?=)H{1%>v_hrNr|pSj!|772@z3s ze_^i^Jp{%5Dfc_aseje0z`7gHs0s{giXN`&yqaf8w;deAIg&Ajx-Cfo>KX-~3SUvP z_FbiAnUhw)o_j}nTZ7P{3g-CUfKHed>gR(~en*fY z%?dPeK{KbOfvQ)@TV|_dm~MSgnVDE#^fcqg3OLZ)c-%fcQX1fV{GSRXBuqeX`(RK~ zy#oBCRh^&;h0bW;*tzQ1LJ3upYfsG1b0xAcuBHpCkgTAT(m<`7-<~vNtw7Ja5M0|i ztx$6sRo=dQ0+LOwJZ+mj>7BGs4N-D1`~3|_W;fM=%|tH;deZ}Ew_EU(Y-)$~Auo9K zN@v+PQ>lQapB2xxYxEO(pThLoQ7`BoG!zb!En-bRf>HSsp4F`^E{!>sATZu4{oG0w zt~nKu>@vY{w5c=mW^d}RlDjBo84d@*WbY92(;ufRiTwv_F` zxxqCE03(K~Y`-MRPDebZ!di85&ru0ZN zaRmwVm;RVXl<_+wS7vY@>7DlQLb+wF#~EA!3Ri50pW5o*e&~etAZIuZR`UW8_PEL! z)eW4{av+##*^WQ8k62(h`_-n>Hw_(Q{Mis^zZ}mw8Z^4y17}@EJdT?hwVbi1OJTE5 zMdvbmKLy z3gvez?XkGEQ|7f~H$Jprfw1L^^X|Ed~S(Wzo5Yfe1kop@Sq!>beZ6x*Vs9 zC%0&HO)T#?SDfcB%Is9W4MZL{*nqS8x%xfb@b?8I=~`0SG;K^xAWGuOnpa5eOU7LW zgf!KcKg3455p(H})9M1~B=ZGEBwM54wx>pq0Ea1fI9rNm0D;)6W}5BjZWf+Rz|ipx zXrOHsY>0>JXDODY%CeNkXekdg90!Qd_Z)?kSivIY)gXqxI>>-V%z=?sBq(AH;_BJZ zinSfqn+^3>_EO#gl>8MSq-_RG*{(t7oDTn)9SxM5>7@A1xX{>fIsYjkqgUp*AQF~V zn_eOsn+6))11bDXL?hE+QGJ-A-!wG94M@{BjToB-7}^Gol$$2JK21JaT8fi8SHpIhq^^TE-jSXvDA&|J}wxU2hY0~u;Oq0zD0OhqoCI?w=n<4GhCt zY4Gm07lJzu{iBs~Jhwz-w+jB;8P2nfBz1z&tpe0Ofs|g#;RNH&f|DE!$Nl1tR$!Ku z&DKwHNC>1T=J*7sgA+e-RgROl{rE1W;Dc_atIhBC8brL^2BN!+kQ_EOXC^7>spr`} zy0p(Q*0URrfzgUvM_*4I;J~d?p5^y3lFC+Kj(^h6W9j6Q9fETnX?^-^XG#ScyG(E# zOEuQp0FV$60{{j9BSS?n003WQebp_{62pUN-2gr3aow`EP?8dLWlCeVBpzOr!tTkU zwqgvxXJ+4j$n*h#%*+|h06+p9dm*k*?!L3$mw3VIWg$xZiT?o2yNXB1Ff>$p*_I;K zBI(&99knazbx)H~wz}QYjigrhINK|-(m1g^jHJ={xHh%Y(l~K3X{%uI)PM7_x_zLU%B6K>ADZDTs_5WAf7uJ{r43AB2?EY=Kgi>V=1_q z?p_w}xmjb}lmyq})LHKxw^uv7wZy@_+tx!1#hkfK_tsr!gtv}59kT>py!#rFG9vaw z_l>n3)6MT#?YVlf&)q!@bw30wzG?25>dp>ow-uSX>$W@TZtVN5?^TT(()DJQ*HW81 zD!<(ZAaG3MjH0R4im140tr_CLuFPoSDay~Z9$Uj0ae0==v)h8?hUX<2qxwH22M{@I z;XHgR{%38OF>gCL>bytg^Wqc8xo5KLZNPzi*WZ2qK0SauQqQ?`c;6Tw2y4mPiZ>rm zrN#+xnEnTFFu8>gCst|sl}6zSD8emFoR3`}u(I~+pxiBV8gw%Owp+&^>})MN)3*1m*4Aq~FI%zMYw>qL@qi;4Kwu(6tkab;t3m*#8Y7rR z!p!89jI1h?IGcQ`i`PtfZLMklCBM3l?VZ;yAiA3o`|XtdL4wImu1ai+k|?NhNt$HE zXM*F~l-#M@G9TVU2tM8}Urd9PyY2WkKR;$(d|SF=%f+_5T<6;0-Q8Jyr&rjv#dp#0 zD`SR!U61wEWq)mfnf=GG*UWeOT-KjW*xJ@K%rL2=!=d-(*5*5wJ1dM0$7=9tJ9~{i z(~lg+8~JZ)p`^*oxmn>EDJrxhNs1^n+6Eo^VR&!wuP0ke3u|vnY~vF9P)jxpa(cRO z$xIAR%nhTx<>xpGnMF^K^TV_${&&#;D4({XIf5yVRs@5SkA_P)1KY3^5s_Rfb^oC8% zb+Ri-3}NNYRalZGFheP26tFct02f_SDkc+YySUkz94bn83a1lIGk3k&T&_m)B6&*c zcrT-34Tj-NH!x|Ys2tH7-_!K!M<%nZaB?Y%pQS>^MsC7djRB4-8i^AR`B36L_J72$THF-n>67W+$BA4JOu}{!?ZJPg(%tgK5{HmEp6>A);4w>;sl_q z?~EcRqQXcm&lxQk7=N>H`=BI7OmD2yqDO~-nUnxgNQNdVpMN3lrkq5l;zRkM1)mT* zGk34dwYpr`y*Aj_^QK>)UG?j}&${TXmn#WpWImV{Y*%m+jhdUP=vfzK zHa$NSOumLTRfZt*XS@x)qVL^y)k+bq(RYqLze2;OS$^*z?DU!SM(Kv>UpyFJ{q zkz^EUkGsF-;*_c+G?U8|bI)9b*pZb` z#XlTVzLexQ*`!9Pon8$8xGzrr{z;sagOpq~)5|F{ReL<{dd_P)yay5YqbcS=z<_WiEyd`*g^pbXtLBBVD zUZTF>XRfK8P4_opt-yx2yWdmG6RO+ee>o+eQBODb-aQIoZM!!zndd}&a)Oy3@xeg| zdEHvD1L`rIq#0#H5EQ=es#{Tj*gHDbkpHMKos2n%4qG} zv_7)a)Th;%z`YuKlbg3HZ>IF{%Tfz=%`I}iAJ6e>%Jz&~(`3AamQ2~+#;!PUF3awW z%J<5U1$Z|2{b?&0BPkeY9@7tsoQ)|)v?`F^wuNQTTB&ia)kE zTozdTctXS%&11Ih-PT5x#aV2#wIlu&q160kn+kl^{MWU*n_8ef(sR{ZVQyvw)6dHF z)8H3l4XSIOu(FH&#~JZ${;t2GwEETdJ6ri=S*sabx`}OVL1dDsMH8e(iNz+X%(be_ zW;=eP*Ya;BTMJ05l%1AhJ&`LS8V89@t|sg=8LPwy;ERGUdg4+v6fwhf$%Li-^M zOXxLZ!1ED$+oP{(-JGqJZ>HR*UJ`^QjAn(jaj^3WIJU&lj;K5QG^%OOxw)k6wl>l2 zA6@4pG$;@~j?+=!-Z`tbOb|GW+9c{`}vI>@{=F-`iP9_Pk)@p zH08t>`DN}mgSvD~IVMW5gyW&D(6qMXoW|2$NwqMsE6Ps}{UY>js2cNSAn%gZgTDrK zm6Kim8pK!T+v1Qx&gB$74jBwm;1+pV=P72sr>QJ+2!=mRL~E6xk`ZAc8V=1jS=rNC zRelA7y^Pb{;qzh8(;@^MT;nSLvX6@PBlH#N;S%XDD<;yXk-TH135IBGPBcV1-L0OE z4k#TBJ}EZHr<@LALr8;%p$G%=(8}C(`gTx@2IS04L>tQbxyQd zaOlR>24YZ}gI|^N&#F)&0d<+2u+7Um&m;6u_i<+P5y^M9tVKvx7@dUJoje zGW8k+W`3Bg8~T3q8nkDWhkr%0(@dnECiI3Bb(n=b4K6Z6-S&)Lksv?%hf^M+L|0zr zbO1>#Xb;TqE=;Vf^&$NMBmAaTgAWX?c)S2Q*vso6FZ1q1JSfX#LD9zNJYI$#;bp#q z&4)s!QNFihgV?X{ z_s9{2-%RV_^6TzM0i6hp(y{axxM*w-Zsc?nxo&1l?jzyl6p;ldr9{#_+og$I?_;2&P*Xo-KKFQxha-8#QoWdHbH=Z<+-zZP( zoZhch$gg^*)pCx-PLVSC#lrtCUk{RBMfS&H^GOkMfQyIsgplc2Jv@8ozrD!Az{OvC zks_pHwNsg0;p4j$J^X%s*-MKRBpvLIpF0=I0T(#tEMl8<7a4$y$Mw2ukJt5W75UhZ zYNmM{y-WTbz8)sOLaxVRBS|~9!>K8T_;)FKV3-eM0><-y>zSjrHUGc)UuGYZ!w$a} z8B?GJco|~wmuW$;=7Qy3D1*IB85Cunewq>+YWYYEyd3~?y$ zN+K+R7&s%h#46D%h`*hhp6L(wc|m7JTTXdvqH}Cim9W?0YhU;a%TDv0+}&+X7KCRy zucew$vu!bM`Ho*Q%9j-sHx7knFAVUU(OzkDMi2qffv>9l%Uc9!>ikC09IU`$67@8|ynoC_29{y#D z>iAu-Ujd?$F(|KCl>9N+vNnFSpde|oCOAUV4VlA5Ox!1VTaa?3-MUnCQT zf#So}mXsEBnRnA`OEh7rpAIja&4!>q=Yg+?!!txkNi&pF01rurOc59)r-cxvdLSMm zQd1$M3X(!-vUG+BnsPy%iVswSJ41319KvHZ4t?F5CANr#YyAwp)u&^ICqQywHL;vv&7=n(fcGbtjdM#KC!Rs(t= zEmZi!W&Y8B$IUmgJ2$GHNg4m&55j)gombtuukNKKghd`^^e7WSGQ`Pn5wi0Nz}j~` z2D2_QN8f8xZh0ur^|zE90-z2vS{V>QWQal8L=V;2k|79^?53({y~2P7!*NC1 zkQQK!aoAaAbV&l#No^i)?U3Y0qPfqI3f*+|q?V`rzHMY^Xlr?W{1y$;3Y_FHUdf2M zsDLyh)QF;rI2<$5=G%E7Ap#gFUGN!UT6!J{y&`ws1f>y>US0=A2NYRX^(}G#tHUCm zl*kAYj*Jq4&_&SIb@E&`k`$T|*oRC~AVZ*}4Tn9NB|$Pof;eXfh_`#bD>yA%tb8qM{P$J_2K!C+0MD{q`dDlvJf;H3`^$#zOC-9tFM505?kmvg!TUk|qm4f58 zKXu$(dfC$UEhsF8vLCVE#4sH*X^6pEh!@`n>9ZJFTg}$w|4C|V{@w;zI#v8 z%Yx^YDXZHzD7QRchLPy`znwW9Eoj7Jk7Seo<39$Stlf-&h@ApBt{zrdur#NR2Q%`5 zWB36b-h|_Sa?AOH6mA(2b;+yS5}C!{UWWeGmu9%Q)5~?_Z@a=JBO-Ss$CR)~z4cyc zGIyo`Wi$8ufuBI}`h1~y(0;xLA1JG3i_LT_BDY3JuU}ES8^)tO($5b(i_t|?7baF^ zLpY{r4XO@T*?Ug=%M_Y>m{;aGXId*6-|V)2IZ6Gr!go&drnQ&`c3ou|QA9mYgTN>b zp`s@OAE+pW9^bv*mcK36=i97ujF?uCLr`F^7A!+l3nL*c0FrnfMTUdHSBQYD2=Fhj z1|ysy`b8Te0MtTy*()*HLu9!+jhSk#OHOJ^%?KcVldoch?iDr}AzF5lhQJMQ>}nk7 zfDY{)yMtacSGWLyWQYW$b`dTx4cikiip`$}IyXf89P z!TRhIK7(q^k9K@!Rwbg*GWq06t06K>dB@!oP{%Wl-i`5`C!U9M# z|6UV-y~U%hdmaGFA)ttz0yx(j7l5(B7OS4k0fbRRRM?MQ09zJPy7rNWaPE)>wISbP z(oddDlPKDkVa$#LF^F0+Uvjyh$KvgB(R2%!gGq4FixN( zPKG2fhNyr`VM%WcX991Cv{vACNOa3sK-dJByjM&>z#?I`h8 zWmfb>z)H%r!a*nPU|qDVpmm5Q(Tvn9H-v$!#59*zl#yhJDViawgpm-|s>$M^7#RUk zgbW0rQ8FS>DH(_;tA{H{re9UaB(=2Ekfzs+Lia?mGQ^5|At=Px$_ODU)staSmJB=< zB|}g(Hg-uE5mfa=U~mm!(X2D-+@q~Xi>AnoTQa4`pnaD{QZzdoyINYL)d2_IevKHo z0jePx5h|_@^y|~D75GI&g?V&R+S*aO4j{?w_$DzX5|4;h-#WnkE`|bY1*G&{t#qW_ zQVTW)M6}kcZT;8!NTyyZrH@jtEl>eS(Yn$RSM>pBL}YPhNhxd7+Ft-Ujth4JH|v(U z(@}S8koHR>=_;bNO4=c{z}fMw^^O#ll6Dn^|G7_aSUjr_Tkrkb1E^BU;?$^cj*($dmmE%8Wa9|8^h@ApBTOCwhgeN9LdRPi2Wm!TZ+#5Y% z6)`aGpq}-Lp1_N!gg_xIt<`Pic%2?7lOa$DLqLcp5zU(!-TH=EMH zn1gg_S(!N*DFcfjCuw9NEv=T7HKi+U1SAEA$q<9s5RtCl5)@t$MqVLKK#~*`$PjwC z`XgCV3kqZiAY4N{U&JAxK)nDU^@;!=5W~05k*IC;5CDiCnG1+}5Ir({2=^g+WmF;T zf&$ws0wF7+!qtQYsaGci8oQt>V}P&=m);P>$}VRM5Zj$&r03AD@v~d$1ZbK|wk|$` zsdadOVRyGG16U{o$p}OSLIfkd!?uXPi)5(CE5t(9gcP1vgvA-+5Ic@?TAN$pzI6?- zOAHW*9lmJYe2eF;!2rSv)s7ZZ%6m@~&JY~LhJe2IH)THo6#;4M zMF6UMM39A7L?pRaND_NRB#~FdNuw1(N#PYy*6O~F!jjl4Jd=AxP3T|&VMA+F0CW0k zG9QUg000mW0{{R3Gc!ar003`f9+dF_1ZZg-v$k_LcXv?~R0Fk@k^*c-rmz5r|4~XZ zk{xZswyh^q-@gOn001L1Rx|(r31IsYYp2_Nn|crD(^O|ls`yFM;w-F5ns10}bE1y} zR&2V`AQBGNfJ1JQ+@PWE-5W`uK;11%PDu(_f@RM)9|AxvwVW~sA;h7TR3>}}aiq%o z6Gu47$=ebolHUM?003r2;EK)w{T^@IyWifsclT~vUYqOMv$of|-5N4$cALGsuHA_) z)?AWGWWemD%d$mrOj-hhzXJRafg~b+KmZ~v7z|+l7>VTl4iLczd(CsN*6m66)+awP z+*1>+wr;K2HCORne%L%#-%mF8g*)-Kt{BEz{l-Rmj=H{@mcgs*Yx=PI%4);TfN$d) zQTOFNx<+HOb?>M>L&e-7=Ke(dK1Pccu9|DHGwBkw$c#UCegi`y4<9dGvv+&hGW@1c z%sXSM7vDxATyogr+por7%HFX2Ingo`%^vov=lt0@fv5WLnx{{g6FHalt+2akuA=v*D^crje{D@RTv+V26Sd0aJ=flz*YU&OSu4IRy*=N4UY_=AOFC(*ll@@R)@HLN zQC}x5SaH1&c%d-tcOR{_9s?)hUqu}xHp%f-UoZx(v#wy?HA_{^8}+q@9h^%gW?>D- zq~$H13@YCh*!p7!AuVL_y^!&r@MhOE%g(!XC`n3^quc9+_H}O?y5{Sz7fi*p`)$uO zH*+mN@gR_Vbk4{WT6$TA<(T{V=80XTQ=?`fwbB`mln;_{Fpd|h+?_aUCv?+H;o!|) zUoMzVP7p75<}6eiURTh%`{X%Nfy52Vv>L&hgOusCsOPJ@vSlhD`7!4CO85 zbrpPTzFNC)p0B(1Elcf8o|s_K1gK=#WnivW6qZd`nYJ1dOS4rlBAQ{+g~YvUsH6L-0}3>0(Dfz3onBS|RoPY4*3?v0Yt;WeK66DWkP%?hC?w^~>ZCHBVm0e^ zcrkpe=6Au@mwZMnOlCuw+=0a^dovS@D@9R=gFI?Kt@hF}=|oJf{h~}J8<7^2CDM*< z6HOu>9>dE5rX4;^e!-@Ov#!^mbW|%oj0Z0veoKLaR%~KeYi8#Ut&xScFs*b z3dThzV>Tuknn;-J^fa6FswW`>C+)Z3Y}bBu!1t(E_S9iw88QN8afUw1mmpE_E|B5E zf?F!f#4~Ax)FyIhR-!EP{FS>VL=@pKRtWS}&3%f~jKFk;6))Q0N>V9UgYaose+klp zv5JNuX>8+zYbIy#JKtTMQReC~JTr1#RW584SrYI)npi<-PD;DyK`HhL7y%HlHU%i+f%JA1bSyE~{=!Fw;!>nIGPomEu@zDD!lWXhRre!JO24Ktm zcQ&uQbIgX{oP9kDQCiT@QaPDve#a~P$hC{F$%+IFhK>@34&o4gMCN44OaFW_%(+Ty zQgLv#CQ1KThG=J_u~*u_7Y-AqbRh`$iRUqX2YaNZ~~>ukHn?nVJ0cqY7jFs9It4mE&JDB zM;YeeTvN-DQsSH5;q6R=9<*jnCMsMNwQ7Yjr9=`l`8@+}O1)*JR_e!H5T;l$=TrZV zye{kEr_>~@jcKt6pX#S$5j@Hb8@rxCUB$wM3{&62S)z1tZJa4d zQrUwfoA}ISqNGH#^zlb9OSv*Ex_cUU(_ExOM$|iyNry}qE*fuW+JoQ^GyUXZL1Pvc zc;*MHLa!H{uy{y@%u<2Q5JEcwr}UQ(UO}_?nA&ZiuCe5XOhi7e{j>$QDP|H3U^GqJ z9m@rY)+jtoF5$|Tp|~$e%KUiMdBSR4i2SPG%|N5(R-u}_YoB4OSwr{A{MM}S)u({h zc&ee!bLPYX|J3=^eexMUW;Sc%_AXON>KIC0IqE!{q@FSXEBIScpjBzUs0neU;M=XI z;Mf9zYU;8*`d4LNd!X&f0j%&TOmch9+6W_vPoz7KFsptEa8p&^ovNz2@(Noi^p}jl{?0NbhT!x0-S`%O7@a zChF#W^|^VyDhFq6olf~t6Z6ky{>SsxxCHy4X9EsxK|>2~p3R-tGfJU&1bz^)GqdRG zMJ54R=b9#_lVn%ot4(9>J@i1cy<b87)9h0MqJ}a9r(qDg8@NwGS;#Vl&4@Q8rSug+94^C#kYKUHQckuS3B-`iql+isi z0e}@em;r)Ga!L!6e^Nm$?x5!z*MIUNci8xjsZw`{ZtCZ9??Ps1_Pr0;3q_zW_q zgk%KJE?3-@$h5t+zP@%dj~1vuC4Q}}#SAAQGlzD+h^wu{;{cO?>P(KXy0d1Pvt3ndANMe~T;n7mQ~;%)YFJlg2FoLcmNg~GyC!R7yFwxB3?GDu(d*lYmb52uA*oa2O`RWR?m;e4N{y{2DUtb3=fWDPk|86dyGv5Iy;ST@Q_0JD%tRi zQ+ufY%(he(0+ z5AW^*shuHe+-g8}N08zX9IM@V*}xrD1x;+*a$dECPwE=*m$;m|(!T@)vRe{T+!r2~ zn_EOTYS6*+us>h*P|7?ZkRCesu71E_DD$X5Dz<=K{kHD^LM|iy!^*rUkQYi)m-htp zLb$Pkl#r6jyeW_uiWIjKfxJ+V%JLdp8*JTRc$IlIAi5Kv=wmKk+vDUI8l8zU?|+T( z58j~zI*$tngNrXrn9~@LOd32xA=S)hM&OphHX??1oG9AO3D67n#sdmNXWrEr;n)iS zh22Z4u;EDNg#kq&7#MoR*A@YKq1_mOVs6A$*swbD%9bQb$(C0`Ddj)8YaMpzaMV(2J-IhS0=c0l%#t}FkrkS?~6oq6l>?O7^ zjH)3A8h|g){rD0La2(}$l{{~t$n-D|Gy#X6WBVS-%s@87T#0~~h2`4>YBfS8Bgh|i zcj{-bRcFm2HZIDuulD`G5YR+C^a{%gfcfCWuTymLR>`6=M`U$N+8t#Bm)k0tZc>%>;R>!XsDJ7)q4vNdL0d2c=ui>%s!hqrqZ2#|6Lm%eh$-b&96br%f{GOlc zUit#?LLJ+#_)zTO7kk|^2Sajs-#}pqZGv8(H*G;f12M-h3?C>+#ClSf%seX1vI&vq zR#oeMVLCxV<$PE9_Sx!#TtJRUsu*646F3Y{UOW+cd)iU-VVJyDpgk1sUC2;`ULjBy z$_lDd1S~@#sDGTF$$&x*{gdw|9^N_2-J^4dp?T#%F{hRYc2V7muYv`&JrC~c!;78a zC*K}2MpLT%urI<@C*l}K-s?hvB5fY_^C-0LqClOvqIdT*D+?V)v2>QO%$*!<+pT*} zk7_?(1G_uEFhcUufV~iJ1Zg~eb7J6M1@Ji|7ULJ0Nabpy7k0u&@f{dl~=mRCm`vQOBI&b(cWW$KicE_ELBz8!glE zCeT-v!$sYn0^S`!VW)U~hw{Vt>wD**7?eX?F9;Nc*uCn3ml)h=Fcf!&rsB%i<(BH@ z>2CD^_OyvPzdJrdis8cO@@NPaz8z@j6!tmWA^^^uct`3du3D<7p zOIz!!cYbr(27RR0Zi%S%)HyN#zFUWOJ(h`*LT4~!p%p7H4EL;miOlIw-8X75Rvl^c zrrK_Xp@ap-9o{)`baElC9tQWJF~o@T-b87!(PzMJx15p>t6`ON3%X5aR%Fq}8ES_5 z+rgRLCw*#&Tff&u=r&>MTG)@AsRDNzjB-jojDy7r9ETFUt1`r~7dK~N3lhUSCg2D@ zK6bIMCj*YR9#hg^ZDM~PZGQZ4L{%UP+xD*2AHbsMj3e#B+lZ^ihiTD)geDG#7Ofnm z;_eU#mIa$nPLUQa^gk;nKn;cc6&x~&=3yEeGTdvAp?D7@71olH-ujjaQXbk;fN5x& z$uMjRt8zDM$=4XFtwc3<(?XQ;O|RjTM(om~pFzT&(s6zx+@PVPNRTrE@6&*~i>ssw z1z`;W_tS88izB*M1o8S6|5u_}f38a5UjSLm7kW8Sf$l2o!J^Dr1DlNLYHt*UU7RcY%=$9mcqsFeS(8knR{U!p?|& zI&*B=RH5Ye|iR{fv*$X0yOq*zw;ou-g;yQ$Td-iR@rsY-O5 zk%)JjsY!KxOBxyfIv+vFD4TaH+mg3nQb{RBN!ArcZE4sIkkYr>M`bn48{H!r9SlY? zpadEdhWysb#3_Z^uBS?nPWXfH zNSUgl3r4ElaZ}ZfGxYnDWoz`3PBEYr-eW?Ey(3jl8;U5gouV2tqD2>(QE$gXs_r zf*2x*^Gx~Id`^%QBL7~?(H#zxWjMZ0HiP|;^W}cwES!myxLW#2+ZMGY?#KE1TUrFJt*x$Wv3VwC>V?iKtHHjLeC521 z;a$iXB0SCK0Ox33>)AF%VM{U;9M}e^Kvf%?h3_8v$muHfswJ}y(e2|ybg^7|HChvy zXZupe#Vy|rg5Qqwm2-B@=>1bqUkB|uSJY|e)hGN`#b#5jNpLQVH&9NkiE`;pa4Ap) zu#JB8YWlj4ov+R@2q-`ibyq+4Rpo<65mP91Au8%LX9Vp1vrz2u7-S?)G!l<-W)RW3 z4O@juVd1-3{?Y!2i4a6~O{wUQu76g4me>LUmAwAtbAiXo1Ypc1=CPz$ZTi5K zyx;fqok;=mFB>}CYmb?(rDZ_by7aH@!Kgu`HW@HK4dej@5%Fe=9*h~Xs|?$dsyrMg zCGj2L6MqU;{2q%o6gD#Fd0lQ@Z*#$3FQ{K`&-onRwsGjgRx;IXpZgn&=2N~(_mXaj zM>L=3bvUfrzE0J?n3*uA3x*ogawkiuAmZ!6C}oM0JV%fXbA)v;#_ouirY2o!R|b}- zB_@`jqh`$$-2ZQBPG6Qjy zOO=!=NETj68^E%kdr#UYoO;fY7SYfEJ{hW3%0;4_5l6`5sObj>=?dRr?aj6Heq(ETv;4k4IDlgwDx{~1Cz zz-U72d z(##q1|LioNsImls?bIeARO~981yIihDW>pO*tj`7VJh#Zsx_AT6uBviQ_6)O2agd8 zOEJ;MnM_-9h6jmf%JM0hx^w;hx{g&9hv2==NU3guef(_L(@dau$nse@kQmoZt;Utv(tFRZp^Preg zeE2V4UPH(Cm*lvM9o$)p|No60DvkOQGtS0nYhnP+p{}Y4@eFz^({c0X<{_-eP<(Ug z3Ka^;(-l{Vawk!;kC-MyBETY+2=5ZlT0u@n@5eeFUXs6#FOi0U;+z@!&Ai55|0q3U zNOPVG79SW_i5SXVs8m6^i*I+W1M*H4FC3~eJE!JQKRzZ?8)vBKHyJUP$cDoxXIszf z>ROt{!||qQB&fEAQ07A3o(ifhgiZoR1~!UNa+j8Avme>bDG5-n%) z9=1uEKOSi!YWl{SJ@u4B)~S5C#F-)Mdg<2H&R46cuBxby)5caK7^*5p6_Xa0xhxyB zuA6`^D}G$V`>~$#^fX@|&QqwxAu1}znYmqNG^&KHsc)rwvBh8jZ!(f07ge?LSQ3S8 z!7h==rCJ4^^d&Qg7~l)l>P3#WP@th%%Ez7mPr9Xc`U<8666Hs#Kg91N6`Y z9ELop_%B%0T#?<*Yk(yP73``~iNrQUh!f$3eBLA|Q8Z-y32{ct{U~l{hNmA{ZD=!= z=N3|EFhSi#5$_aHF1N*Fd#wVxP>sB9YvT1OjxFA)&6n>p;;op&edA2@F+pB=@c^D( zcWJ70W(#S%@emBWX!3)mjP647Qv5yh?uit~847sJM7`sX!gB_&bPx~&00#gwQZ+CD z0B?1_>I-;~0AQWF+3w!3?JmemQV|)CBv_VlhN>jA`xccsTdi%uxBs5wzW|~$2Q)JP zW?%r5c(3>Gn%g{k%P-X+wOFXXJBpYk? zYCDn}-D7DpSxDoiv!|7D#f`UfB*YpT-{06q8d)grBS|a~_Z+c+FCf6>l--&8{80)lUoVXG73Kqc-^2%e5~x zyY03uK3 z?RuS6AYeiD%I>eB&b#izL|bxFZHxAA#bZ%A!@Q`5+>{r&&L}^8T?uxHldui2UU4~&Mkg!8YXKB%5)%W>2wbs~R z+SbZFOCeM<*vCDea*cJgqK3ofM zl3OPW8`ahKRQ%!o#RKB~{naP8?BqxAJAM}k01$)h{fT;5Vh*wJq2;epb;u(=Z?U6D zc#oZBeQI_`5YuHNcOd{T)C9+1k6X@OJEP-MLvFNUDd?)mLvN3hEG=gRuR}yvxM{}L zPTMy+MY7IaQuU(k`>^h{a;II&jAFV52DRfz1e&&wDB^et(wMSySHga432QPiENgvo z5^WMMV(n|U1ZPc{6q)3wZlWu5Oz-Y}w{NB2eRYbS$l}mW#Ajtu-uGXWPFX?q5<|5|l|bMVo-G zDvR2O#Z;2WZ`3s=YEwAw@nUPj+uobjcCpJUaNAMu3cDn(_Pxjo5@}Y|SMro$S0RF| zm4Xp1Zknw!R#PHIe>k(u;TMmfbg<|O<{1SC`Npn|R3>+YCz(%9*=-G+uOnM@NFPU+dNoYP#z>Z*|KkaM)L4s8oz9x5`} zVzB%5c;5PeQ`__&J*QrTFk)GLcT~UUnahQ{rv!51SRU&Qtq9Hk0nzvf0_*&cg>g)RQ zHjU>=eoil?-Dqc{yq3J=AsucjG2OSLOEU2*opCviHy{8KbCUEd%aSO#X{;a?7k6cl z6Uiqn`d}rS6-i7fWnubWiq2B*BZk1lr+TxvtJyEh&*@Shf8T?GuZ0b+h8r}MJphLP z*YJOSjYL2HdGCB>m|1Q#);Q}zie+hOx#G}@81IRyh%pgfh`;Ao52>x|>E?Z7%Rq|PRFTYY6n{k z5tvrh`%+ff2Y70A?i~|$9dzmD{B@WzsqJB_5%g&bJXadnClbEj=p-0XR4MRaBsHhZUg6mnB;^Wo$5m78=+8My@zKbyv+K#^v+k=n>f1AqpTyEw({&(%3@Y#wL#uSC+5M0a4SYZT7pH^}HG{ zuMsx@F;Isbze5*fI@91r|E~@%l=0yEAN3XXz;;)<5F>22F z9Nm@>*MEH4@qWZLa{X7sqv%n;6csrnopyQhhtjDB2eh0xXYnqi^QJ=vIKx8An@n@V z)PGFS4$d-Z5hiux!n@5*8*T0pmWgQ@Q$maj^HUF-tH3TK&AeX{cVST$Lfst424Q72 zU!N_?)H|g5aeW)UmQ8Eh%IDK1cwU{FLpf{0V0XMY21h{Wu)1Y7`^fkqT83XP3kV|%ZJ-7!v2x5eOp&&c6tbZ%DWJnnI?bKb`+pi&?_p$}LtECVmb<@ofh*O;6vs1MJXOK~E(N_&SE(Q5~GP+4cXG159@V4_@OQdm( z+5x(5a2ZzL`TZF)}iL))TvswA98MVC!r2_1nW9-Z_nLN9>Y=I&2Gr$}5SBSe`7g zAr(nEYZVwAm#$!z)VyO)r^*_=s+$0n^y$t-p0cbNa?B3IKaokx>@he;C@8s9{6UX~ z*Jkz0RT1Ne1!Q&yV7qKYiO|t#x#!?dKQ~qiS{L6dL*6Qm^b3eN{iiBfW#F*S>;l9j zk^wtMN z9pRlm3GSa-PFo&@IbRV!CEuF5Tu-y~B`Pua`Rp=l`k#{xwlD9hL7l8TP%=o{`DkfS z8=Hkn5~Pv@dU(ot`79!(Jj*g=n>Wp=-ukC~#;zf*s#ROcLpzFe*c@G@$EwpmRPAju zs--rn2$hI;wlA*k=^H%L0T zt6$pyN@j-*MrC(X+!wmb^z5KM6b5#!sCWsg z40}YJ=E2NYcj&ZU29bA193^F=fz%<#FGnW0rt4RD?AtVGZGYEH+M4wspH?QW{?odK zXg5G1{Y6YUl6!$+ZoQz_tzNYy)4s;7zl#6q=XK^Q3U-8&Zpeex35EVg56uQq&4pCZ zc+})MRSfvF484+y1v}6;nUSNP3(8gzE!7lT`bd2?7SGoI6DVFG{1D!<*&bF+ z%w=s*n^N%H5x&EO72NcFV%ZO<4Ee7n(*ui}9YA7pprWMbz?w|@DcW>Y^y#2PlaBqY z@ij{wIWH8(J9TFFNCp9+v#>bOqA`oU#l5ENwbsAKo0yTJ(({Rj9i2-42@uz^m_Q4* zeYhA#O;_YCYoZLN==h=O_rQi;429p{1>`;X?`=msw=?iAP&QEx&3Rj=oqCwsv#ZDc z8o;Tmc1s$Rq8W<2Vt1MqqrUe#^{U#wnrU&gof&pcW$S=I3pZDXiu<69I1n$hXh$4- z@=Wi}VN)NjWmK~p9A=R-3q zVJo1`H%)b{O8zt@-ZDSVVX|6Pgc*l2U?W&QmBe)4o;Gy`12L7Q$#IBlY4k;)k`AGP z$ttCXLl8@>-=?hhJAW!UL3r;?^OQ87Tg#=dMjJ*7D27s#{$)Y7MVJncccGnZa&_bW zytH#oCUActpubQO9GN|{sC(El?1*T=T>M0nyv*gX_O*ROT=0hixL!GUCz92a|Kr%1 z5(h$MO#61ZJM6U)3gb{bmEYkc66g!@*Go4b9RuZ)9TYsv<**leM;J#m+$p2!H2pZf};ip znk+2uV-_rAv@NrhiTN8qbT{Ejhh}__8e2G=nTk(hVj9j0Vt>kvsU<3aiFXLBFiI4( zsF>%tdk}$ZeS^gel*3qdKk#^>=rbebXVka^n42%(?UL z(kYr+3I=?_QyXAWO`bd1jb5i!&8FYT} zIm$IV<)I|#rs+<|fBI973op(i-XtxL*WZc`K2KYOG|RoI=aj&j4v!1*S(PLmh204n zFr=S2xz(!iexjzDAQZCl{^I3Xhqv?E7et7s9bCLByz+qunp11JU|GMA;1KMr8a+Rb z{fSPd(0Zk(Vj$1P!cp;(IKf`BCs)*lT&2r(+3%6q-MnqG|CEMx`?@;4s!@lmS!>ui z_P)S1rok)tw-yOwHDGX0Jr=NO@P@8AZ=iRDZUAj*0S%fI#T}n--!P-=9p9>Ya zO!=NSjZqrty#jqxx%|3l6^|hYC@dR=E@5b+P8?sumc=a^noj zfXwaWoTqZnzTRJ|d(3(C_N{(ElZSbLLvg2G1p5MZsawTu!xa zMFhPBbM*gkqhWTc#};-Y^!Ji+X71WxE@nRtu2R#m`zM@d%87f2NMcRyasAXg+nBkW zcH;d)JKoIP_T{6`l1McX^dMylmhw}u5XxBY?^%n752s|ks@#Jf1TjLtP>>y3R)c@I zLgb5`I{&2&9vLrr;1$ZSFYVRsr`ZX3Wgem3>_f))Q}KG*pnUKiS*EC4 z^|_Wd!Me)e&&KmSEX8o4=_8T`M=jdkC*Zs;a*;%I##%nykW|rKEIyi0ZNxMR&?f!hXYjq`=Xj2swvv_FzxU}ya$n8N@Znmq zod)EYFh9NrKyC8{ATY3<;(Z1D@_f-oiFWu;=T^L~xE@D>pN`kLm0=L# z8mSo{ci0A^Lik@TgE1UO?4PL#Ur$-Yw1Hktl=dCvJJNZ-q`S1-`Ms*7?$( zBgBf{Z%R7tgxn4S3IS6>8F(J3Hz*0WL)kYLQt%E~68e^jN}$Qn0KO%nl52P#pd4UB zs3xcZ$^_S-M83Na$+78_I~fCG3WQ!e-&+UexLT7egpL~lzDKGxpjqgf z@(ENzqSlyv!0V>xbpdUVFx;l#b`cX}3M5;1`Pg?lWB_b3P0fC{kzWJpv3UIYvadBO42BQQG(AdiS`K}_GS$2#;MuqjG$EJ-c0^9aj& zWYA@)BI%I;np6eRBSp&fNSF)-93xg_(8vPlkpV9eV4Ld_>F>h03fm4V9 zc9LNy9r}iwhm-?hM09a!(|{GC0huLyQ8fE9Owm#~UnxA5P`^t!MlEp&(!NXVU>l4CkZKU=;|^BM4C=7D~|k3@mGR z5PWHkra#y7p~SdEfZTZcu8H?{J_80_KL-o(4$3!MWBDirO|P=Xlv%c#@=R9eONn6J z*hD}*0)hdNAS>uByAdLQ9umQNL=jn!4DcB;iOv*Cgs~6>%JoS13lYdiEXtsw7`uGz zyFv$=g5K0{TCm>)DUFvm1-ns@LT`yxO*bnks7EAkuE?-ESV_TdGD9fFtto&_C^*H8 zcA;xhNhxls!)4Q13J`%0p&Jm->Dd_+Sy7m+Hr|))T@|ol5iubl%zJ3b*Fd04DDJ(< z%ON&HqF<;3j;Em#8>6nRj_&6II6ZF>r!;yyKM3C?(of^Jc6??TBY++n!M9}9(+^wA zw#$N2L9MRqPkzwV8)~7#_klU5_o2O9GiVCzkO~GPU^mw;*q(+q3BRy-aks%cPP_9I z)FIMfOfsg^LsX7vN2+2exWA7VR}hRk;illYcb}I*fshKoj{1FuxNdE(+rSR`eTKMj zXmFhec8PoVd0{W$K9=mLdbme52=Ykd7bBJ@)DK?+|I8((4z-6q+P~U$aoY2RbvEch z@Df!tUSyRj?SSAkF>Je{GKHv=WJXy@60%l3dQ4a~+91!fj;w|DJY8`sf#Njos7X|# zkg4&yszhpztxY7CCeCLhE3^&$)LfxWE5h!8i0?>nj>4ey`D#*#ELqvsghp)|7K>SU zOZ}Xi!zy3*Ywb^{Yd$T~c>dEjNMCKyj{aH2DL4;e>mi^o)C9*%k4MmP@5ygV-fo^k zC!KN_1X)+hop~-OZcCgFvWPfNl7ueqt?~f;4K${XxM&*WSfojq6`@fTqQ63#Hkzim zh*CDiXnR2J6P6pkVww6LXNO23VCaz}G;0^zW`bPnSep%408{!~x(Q_yx(}7YAS>QR zr32$&NuV-a7Fv`sQIfQJF>R|HcCQ>{au2g-gozmFs8mjqu7iYKLH?Y~K?Qpdmuy)~ zBE@6QC`|DAr;6w-mZWSN&4Z6W?`7B5diJ#CooS{^wo?yyM z1F)jIfUYW(CV){1-8QsU(^MowWw9*;=GL)^zH=n4pXvZ03i@4l-9LO@Z$h?QXQli# z(>Kp4y2I$sQ9tm>+OGe{zb$$2I@Sa&e}6t_w!jn!unTp;@!BJAcftmrU@k5A#SjfF z;@uXs{EGb2-e1}+t^c55h3$~`&4o;Dd@z~3EUR4v~W8Sk%JzQAdg6RK}%G$gk7}COL_yz?0zL} zI5LgQ9R;@LrB-D17t8FiCZs^&l6(M?k%FsK?z9Xvx{-kgeMxtaEL0@hA?%wAsq2h3 zKmA@8J+v7*>zuZBKUZfpa$q&CLm|{F^t{+S^;zcm`hFspi7*`mfGaJ^ZUi7ek4(hM zCjx6uqD;q3#LhSPz?p!79#MfJ2(jNI)l}Nz#w;M9M4pwT zpJMJS3=YNyal9487giW|@EFAKR>FKM3^;fg1n^dWcU^MQFqC3=CWJu>b`zq3y9*mJ zEDD66g{q_~Z3){4B#k$pHA6z35Tp1O&1dG<16WF_*-w8V3Wop~U@wr`l-?qCJ|YT4 z66Sgh`_s_vQ553FE8Peon0Z1J;t{2GqY44g6C^NOq42>d2|Z7T9Qb)86cnMo#s?Q~ zZqKtD!6?6kl4w~`B-7A)x{`QVgd%8|)98+eYz7!4!Gli4h43p>#g?7p(0T~MIlqb;{3htCA zQ5gzKm4!DWlgJQZb`u6PbUowTsVC8<2$L`jg&o-}$KIL^eqYy+62OirVcrTN3lmZp z&_YUsx342;J3>l>x7&46g3=RS(5O;~VIl6mn;|8%Zhro>0vn^Z6QaZ^#3hUaW=;zw zKA=sMB9cV`do*+&??JiJt|6KT zEk&ld>cBgRK`_vF#H9ti@s=1Z8I|-QV5WuAbEuJVqXaNjB`9c5^VjHfOO_j*Rw!C>Z#gGh@?28R)5|}4}+&%iop+bvplI^6*|v&Nh}c#nIy{y zRk!i7gomU~IbL#F6YF1zz=&lDcCK0FbM!R`0y(kC7w_8UAmXUN5cOx&JDWnq5G2E~xHUmXPTL>>iwI;Y=mlCL~vAbpX)ZF(Aj1T#=;eq^;5a{tQeE z0L;u;(E-3A!1V)Wy!{OR;WFukTi>4M8wr7w-001i@ z2?BtSK>z?50V|pVfOkY~@4w%Bcir8$-n&k_ZvSSm_G_EFws%I`cBZ{xwON+cRiFsA zg-Tcv>!2+H5+Dd93Xrsv0-r#F7+-)0;=m7LF)=@)K9O^4D`%AWu}gc?ZgIIyyOmvy zy-&162-Md*cZWUs$CVX2J8!+J_b+19VxvtscD)L5v#KiVYAPxss~vXdpLTY4w&S;J zf0y%OiG#hbdR~Q#l3yh8g<7u}|4$5f^38(wdbqaD1Wl7E{InO#ZE4FQX?r%FJx#R( zUs~L4SABT+ZM zZJqe%{%ac6x(+AgT?$FCuw}w4a~J*YL|f}^;FoQVw00~dm^_H_fQj&RW!`G$)4$8J z67yHtjS*Ek$-G`~725{Xwp(^Z{G0qgE1KIZyj{8awEUDZPp2;4SfSRirV>L;eXYQ6 z$XTnm5Szr`68GWi%5AgWW&pFVKBo&piBjVvTrBsk-HRAp;)$|slq%q=Oebl~dFyJx zzmngIB%XJ$2p8fpQ@;K0dv?~vJ+Im8*ncWwle4YFF13!vA%Yyxwr7OwCE_yIV8)96 zWBWjzYE6YjRZnHA?xw0)qmAV4s0b&4IZF)k^#f^Kzm$*VljrxEKHJK>0m44YCa%q- zQ=j0k+HPOx+!J3AOk>q&m~z=RXe>n(;fap(zxhV-ZxegfvBhE4 zd8WYG4@NX{LLF4yJEg@ulNp_Cq3&zx{-(CNCxyT|-Wt`O?P1H$mzbq$PO)@s z%#Ly_*6I0&yy|L+lj`1mqWBul4!Ns)6j$-jvR>ikUlo;#N z=4%mYJM6UaEwNQwdLZ+*`E!@C!~88g{d>sxHp3T7M6N$E2WqNfWR#)t;8H)eU4@iv z?V79jyIRUxS5fzzEW4EclA8I=IE{A~$-0?N+3e%~svt*IRK_j#@lRE} zabv#-3)x2>^$zd-y<8I5DH{B^B?0bHd7P-x8-&^atXNk4BU3<)uHpI%k zX>+Z|E%b3~w6?XBiK0(8ykXg{w_;l67xP%LEX6+~#1ffUoZ4Gf<+?j+>zdf?_FE+U zZQ2F5;ad(DT3+T%yY&};mnRlwahd5lJu=5ZktB6lPj7?&X}n%IOW^zXdMPLQz^HlA zUrGI$ex3~tb_*e1{c-GAam#!@z+rl6KI~eS2FXWbnlhYF0({I674q8n+x61>FAWD| zv>_<^eM-yg<%IZK*fH1(&nh_--rMon`iKkDUyrV>tiJ8bFX8yk{~I>QU_zVB{6?Tb zW&q62^K0u)d68d*nhyQO&+>0*GzCxh)OMDgR#fw@412s3Z~N4IAsQPQ<6g58N5*U+ z!e|_2N*9TRWqWTMGE?L)iM9Lxs=wmPqw6c|7iZ3k_JG*8@n-sMYoB!$v@Tw?dO8}v z(K-<+y9_5&$vX9o2C?U!D)fL6`9>zqt|yz!!< z;_ec)6;Rm6NiHgooROQ$ZHrl?3h408j96*2$Q2<;7%+#dkkXejPb4zan-!dOwZ54{ z@A=o}9P13E;51|{S$bsKGnBbxyvx%%iylNsblwX!y(-bHSblA8~2t{;h7Roh5TT*A>837HZYZ$f6e5|Z#~hY_=Ke94&ckXT4TK?1WwbrxhvgUqKFRZf5*sR~|i9d@UTXun_etQMK zdm*3l$-lntZ5k&48k7Ob5VxAI=(!`;@AV5k@%fR^+OjVv{eN{~D1*Bg0z=fE03ZK| zI80VJ#+M+sBC$)Xl3SBlmgyB8o2to0#~))WF0Qqv!k;Q$A`IEYuEWA=5$XEwIa=(a z`)$9hyBG1t&@IMD1kn%+oOSoowd*~UwatAjYcZ2or^KdC8(i*4bG$IqacpEQ7kVw3 zX!NbU6}xt%*-COgyuKWL_WGwLF`j$psLoC;v80J6&E4z)pI8$Ssc|7T!K)!NOo`eZ zlZ#JA4GpWh{p>r`J+-%u&P|Rn&MOK`CMbV2|8oUO0usgRVY)S)`pb@S??#>KNC>81 zcfzGm72Y0d=RY(Qe200IeBk}o8qHMlbr2O~EhnPhdymBa zr}%b_od*Ct>P+zt{+O{KZn;C2m}2-J|SHSG*F8C zL-dXGF&Ogw9%$_9QAp+e9?rIY?fBpLH00$8!Sc;RcmpaV+@QJ%?^wl&9Xo#MAd~6( zd|t7*jrs2%&wkr*t1dI_1j-^LP&bRcri5U-{up)JOPS%A=chEj1rZ9~mJX$Ni{z$D-<2&UDhz9?;$0d|!=CvPKj!DghW=aeg0|Xk5SrKty&poK z?7#iyuh~wHjRpntGp>KBcGlOvrd}! zHe7n!rV_hy{OrK^>A4!Ew)BzWE}wZjXJKL!0zR!G@-t53?gY4C1p=#*Jxzw1a6Xe$A&BR8{^rv%0qG zdR{H2x~igee>zDO&9VYSU^rxC#qEHN9Evf~4x*9pi^Was8P#PyVb3VYQE}ajrXBUz zMp#!$&lM|Y2V&ZLY%+Yniu3e-uM~2;XNFR5()QqLLFXBK(@W&#od*w4By)6<$J{O= zTZn@@o`ZtkioibNppM6&;JwuP?sxk=_w@S&dgdVw3PMhq{D#-R;5+?>7Q8bEh$K(a_{>-+b;%*HbLqei#(M2wm0;(2zhPZrZ;dTdeinO- zO$j3r{n8V>5FXfCUjsUu0yK1pszI2)Q1dtYdCaGdrw%ql?Yup^U-#7-H!~HL4I!Vb zD`*I}L4iWf5hUgk1#aM{GJza=O(X;mmI*zy?`1Cs5<{;+uV0icHTd9y0t9IGb zLEg{T6+;T5^A3=EId!jKv0q^MY0p?xL6L8_xE|f0j)!0U<5C}dFqB^WVY6*rbL|wo zrRq4IzCV1wNHkY3IZl_jc~kM%#$LzDW3g)b=PNF~;U@Winu7eW9=ZZqp}f>`STQSBxhfw&8+e&lAZ1 zHb{OpOmY8J;xFL4b`{^JA1wX~EPg@X#xGDa)-z~R5ST#eV$hC*K3?vpXL{?{Z3QY^ ztzCtsWwY3{tZPIa9MkR8PqsjNiac&<9JHdT&)lrt=x<4Z`mfnkgyD6zew)jtaq0QB z9ejG&d{uuSXGt4KCO0Nfv~YVc8tUH#)q~RB+LQr5v{cWIg96an#Q2}~6#A-G@|}^z zH$o)eYTMH+6%Cw()Xxw6n^(hlkF2*qCoiPFlS4_QaC6v&{_kGW-43roRMfHt?ocR}>ne7E;6gy?ZvZ?jmh? zKuGn$IJUQ5Igb`w*YW(rO~q&0p0!n-7soVn!tT>VA*7OdZH>}jWEDHpzX}Y-w&^wN8@n^d{qmI!UrmtxN++VN1Y4*b zeTTSxxq_0?;xvlgiMZgmFQ;w`(w?k|1;xC?#doX)bG?>*j|cpp+<7w_?LKkdX_vZY zX0lG&&~#7^_hObVbp-bd4N0?a?yR0?O(+?zYIs^0+8psN|c!rYSkF zRy=8@bIg~fsk&z|sy=}etEl>xVycWAo)9iQ@3$HhhkSi~2#U>Tw;MQnZqS&jZq&|c_e4aG?=2X9cz58@c%>Naw}&k^YKnm3FD5Qs~#ur1d|!W!3mXg zbV4@l$p@W#$`4Z~6pG>0RLtS|Mg`?J#Z{J;%*_p@E#K?1KX{7X2C8!R{_vz}k)lFC z)Oe{$I&B5YJaLV)=IA4J^0h^k(kP~Fsl2r{Q+1`o0#6&FZZ_2Ob}WMKx9Kio*w7=( z%cOe>ioz4kKR5jX?W*k9x@x;+qO86Dz36|mo6bS_uRY;Q!u{=fInK_Dy~Y26r;aP# z7Up7g0)@e-=+0hp*1DJHOWrg!vrLyX=(Sp;Ec^OTb_=;n?|ximQQURkY%=jFPGA1= z6WozY8ImQV(U;v7AL{q=rEL_Cvd1PU1~1x)K4=aZ8iE}B_G(OqPLpB0YGQb%PSc_- z55+@r7W=9+)eh@aHMYwdsk>Bjg2ol?$yUq2=LpCovulue`;iMvn5i~Pq}TiP`k^To z45)Mnsu0~Ep=S=cZ?My|Rgm5We!MtLlWP}Ke@VKD1xED~ zlI0TT23soFn{A>ph9vl1lY&etSkH?q=CStuFCffdAod5EK`jWyIA7x63*M!=`LJ)8 zUNaWYwCvT@J5D4Gm1Oi<;<6V`o9fuGxc@|-ELjegcnK(ni2Ci-O ziCgUV%f1x1mmZ{4R~p8J7)A~M3Z-AU;sK1)aG zM{BIAUE+c=W~T7_oWA$eO>=N6Gq-yFITKuf1V!la*BMR z(c@Gt>n}tPP`^RWiB`OHOnz%P0}dWApoxE>9`rK)%^8pw-yLFK7lPsbmgpDiBm5uH zFLXulDe{EWui|Q&!no^%Y9ri259dhc30`o$X1Y-oJx&c1`a(-I3w4eDP80e3}KO z(?KcQ(}85N(}6PK>0mP1>wqfk9uJnOPY1$aX$LaiubpJ6{p|Gc_|Ob*>82qVpodJ& zbUvJCGE2rwlIWC8Fl>faMB1MrbS)Ru!)CCZ;=|b{ z^jcibGz|@bGZy)%&p6X*$AMd>3G+5=?ON$~3-kQnM1mEfLqL?d)p4l@zSyca_EpBY zj7YF1q#-qR1$yln_Vpnc?R|A+J+IFDCp6}%mXq;$zu#&754-M4Pl%Pd45z6+obhuh zONDw1$^S`u$nM*d&Y=K<#WKk%xu{oJl^#TehRce(n4!gSS=!LICDz(`4mg}BjO}#^ zWK-{KrpP-vE)7g3jk3t7S(6U2&O8eY`P`OAJM{2NL;C zOcc2t%D&PAgPu(kz3HvFuqV01$!}`BI$rzsm&m$b+O~4pv&}C6FK}^7Wl3Dm?&fXB zOUQ!CPZ@e6OFG9E=N+_ZAN=hb9cW)H+*M-x9_zDS?DcLpA+X@k&=^Pb6PKvWi6yij zcH}5yiML+vs%os-kqP5M(0@nJAgDn@#Q+WlJ-g@o?1rwH0O{a~#+g!19RmN%nffS7 zMVJT*B50wU(}Agq#RZ5whr&kFtZ9nU77Nno%#MV@q4&F)VadfAVNz`>Pqk4d!L+LU z!C_Nj!@i^G-lB*KCasiaRF7^NgMWx(BQ8peOzno}tF-yUW^+P})UJ2T`U43aIPpD;hJQE6pGNH0u6;ZP=7B5R8bN z!w$CIDgwArS%v)2RAh0%PfdRu78x!`C@2lLOohYWEQ!D&x zl&nlX$7o;yafPvhPR$ZiB9c+c+|BI9TxR!BqcMx6(V>6FP@Wm5vWSMD`{oZU?P-!L zxs;OTGoo-yjVooNm8-XLWg4?avnV1qj1Tp9uXL?h&-2Rt8n!PhR_A-xTaOg}#${+2 zrb%ADzAR$`O$^>7nL2Hhr$JNX3X5Nzu15cCsaE~g@1QVI3RY(*Q8c%$r$akM8Wm*C zaR*2E&t{11XzLSJK&*#Do;Ntv_+RqVD^%d?AA~i)2Ix2Q@)v_jaJlK-4ng#veW%Jh z5_VVJPyX3*S(TZzI%YFZD_9zXEbj7~LAl7emRKP$1Ufp95^?NclsJNz9Z&*2Pzh0X zut@(p1SxqSA@`K|f^Z=iVLGCu5k%<$SdaCp?)w)^1|ZY%#j?B(HZ;;hbgkd4S9(43 zn=2)6BZm_L(uiRPcY!p>)4?CH87b}OY7ozZ!i}EM#(rpnVthOVs)Kegj{SB(iyA?| z9h7oCzzjR>45=uGN_B#22qfoW@?9_y`E+6A&q&2T$|6F>`F;l$;7@@d`O`4S@O0zv z{yYn*E*E25qBG27iWs^oU~YzZOxm+Hy#y!S2rcyhQeRBts-j8Z3#04)Z1jbsa z)#&41G)mGA*Y$)Rmg{z9lCc`ya~fKcJ{pcwh_p-R(%74d;o_tUBh>0p)e0##4r=h{{}#c%m5m7=-L zPLirhP6(_j!w&BPQ5B~HK4NVgo$hnDU6rT1?;Uo^D;!n44orfbkgR??Ovip5R-qnH zxqehueIAeeYCGWEEA6uD*8H?E*cR1oLtu3dkq1VB{&^NDZX65?WGA*&p6*t`u!~vI zj8z53m1WGzt`)j{iBbr6I5YXGUPvJ=JKa+$xrJYykSb3xt=rFcbJ&I(7^4_f&k#r^ z2a-K>f9W(%6qSQXvCkLgA;U(z2DBwStzwX;bdnpZUJ6*lfhEKV2SUAQ z&+2bHEMK3L&nQIr;4tB|GuJfzxK)6N;`4(d!p{REvd@7u?dLF!_IaR2PCbOQy&nKJ;x>XeU(@cT1 zJkNV?;uo5RYReHOB9+&zrpR{=%RT5ym^Kwn8H%~esWFGb)O}V=;Y*aYmB4uKJGo_x z+Wd$SG2;{AU4$1#3K`=-Sa5ArwN#ftnp6{|1R^gn4#!g{d7tatS(+S3oECAHr_S%D zA>))d>A*7K=|D2s>0p`dbU>NxbWlwAI(~KfQ|Ns9G zt+Ttb@p-wow8f;!&lzUxAuw}3kR*IMl-#)%+pBp;>+S{JVL~8s-XShb1cgyLIYuy&cRHHP?LhX;9!%BJsk_Kdk(%pPoWvd# zrl%?!j3;Hnhhm21N!CrBqI7L`z{+ukh-^C@dDRYkJBND_Iln@D<%ELSfY2C+l$ksoF#Ynx=YJc*5nX(% z+YC&8Vp{7>Z*z5RZ=F?$$@pNJheQ86@Yrgw&vC7*9%248Xvbu)|97C@f+@M#|JZdn z{P6h|Gf1ZdQ6fVi06w4oEU$Up9%!kj-|MggNP~&05+_7Vn<|I2<;NA1qPsLnzRG`5 z&sqRn{OvfnVWPL8DkCPeQB~BXCQ;P!@Ryu&7z2IlKXQiS=s75JA(*H*JD@HOGRT99 zpr;mPWe0*3Uk5Vf2ZQ;vkaGxSpAKcZ7Yh9pU$o9#&3CdYT;i0fWs6G3P2ygOnXhdS z8a(5^SzW`cIRK?ZW&mbpz={k2 zVF7DDU)JAsd~5ba00{gZe}&A50D}C=9DoGiAPwy%VI!K_O=2t}vfg%(z_QD_7a@qW zq)i+pax59%k5wZb!b?oXWa02_2Blm0Tv}}-EIj*>919C8QyXQ1z=KHyke>h~3;sta64){sWVo4I#uWNq&_W^c0Ft~%qlw)FZY-kxz6&(y$>8n)S| z=j}SgSz6D3RX=e<=OwhVFp4~bVk>@)$vY-~% z_QG#sXSX9;Fj4O=ywHWVB(x@_WLx6DI0I4dggZUVa(}g#zj{|Uf+?7ROnCuRtdCpP zwd)(dWwqRfZ4<4KO`MDzj+70EBjr=e;uOjp;9AGmPMj@c3H?qxBj2Ahip$EIjMNs0 z-1@U(H}-L{i{)l`{#TH<+jcLDHBr=l0k?tvX!hm z`2O;xGp#1m&IjEu_I2x+t!uT`|eC@-Ufa!H#|8LN$MdqM(Z(dh?TrL zc4mI>@AFbLD=f6@y_&Muc8fMCOMv7PfX8)3LCfi}UB zXpH>2?=%;$A-@ZbwzL{Hz7Ftct#rRsaQLgQU`HnjU_yhDVJ}qnGZ{}hUJbS+K>W8^ z9PqD>QRe8LKq0i1t)_2wQGMLw7N{T`be#Zi4u%i_9NRj#p22LLwX@I89Wu_N`r3IP ze@Ky~QA5+Jv}s2ZrNDb{Z{0*hB$&*8Ki_gb51kYJcRruVL!KIC(pH{k5-AD(Qu#6b z+Z4P#lrcT~F1`8SYinz1TqkI`D{!(gAnHR_)@7@}%O-(57*cprd`uxZrMzB~z{t&p zcK#Qe9nQCO3f~RBV`(NI)xP=E%G-oprkqw9jHtgv*h?4*eW}A0f9sT>Pba?{1Gp9|T+7>E}DX8f_m&Qzn<3>%f?%W@d~? z;XFBK{bJ1v5k0@8=XslC0UgCeQo^m<66V@qc~D0it2nYYb3F7&Xs`FBj5xlf@idC) zcJ3=1d3Q}_EjudUFeXBvGjvlhayreqOt%Hg%xLL%K&N^MjEO@&$ll6F*zD?J>EyDw z8-H;p{gGt7A&d;>6h7*G+{N!&!mnmf@B`a7TNbv!v3?ZuKCh47Urk|MLCVFXLS3d( z9D@+WX(P#UV03}y8tM0*Z*8uFoaQ?|9;cFZvg z=fL43$?|4HG$H%>{JJ1ICxQ2U|f)#^S!qvD!-wQKNVZ3(cvxO`@fs<0^`(JDN)vKh4aCL<4Lo- z_qDD?U*m0YOy#f5acgei+ot6~XZiH4yZ8r;v#-+EFjXZGdvDaLtZMXYPo0hrdcPDp zk*$dcLNKHDWm6+x&8|fmtZlfoxz-zpB2GIET_e{!FDlGKH>v#7KX}V+$o;$5dx6IP z140p!NhJpnyl1{CA^#!2KYKe#9>&`?B|mR`vNmfmGr(z3wGzonl2Hn#Y9x{gqWaPa zqxvEb1>Ue!vy+v2&bZ#n3|zNu;}BcmyKTEwgW|Ytr-tf>5bp@b%!$nU9A{*Bu3_S3 zZ1Y|kb;Wa#-Y#ejHRzvBiV97_32XQ{%88;{e2-S(_$UQJJ}!YAA49+mF|ADV>wR`fB#g8g*Z&c|Wvl8a9#B?)pLhAn-(ws4OU)`t|sM0*&v+~cq%=fS5?B-z_z zuqBV?R$h|B**y(g^_Xno6f$^{2wfwYZ9w$WD|xS-!ie((Xu-&rLmhQI4esb@O*0Cg z!iHK+f_^_fTRBGwtK-FCs2_zb_;J`GK1N%gm=2x#9c?wEBs_g|w$Sk!O7}|GMm-E$ z>rvVgnK90z6^OY`EytyO&dru!>+Q}cM=y(#&0%~Vhpl-ex8?vI%3spy@mb{{^(4>V z;~MDx7lN1ceGcnSA>`}39c;~IhXy_JxCfsBFem4M_dpYouu~KKHKR|9%r(QKum$?i z-@z+b$M3o>j(FSm2oaD3-OryV8x-1Yo~o-KCcMdlVOfahIdYfLp@2)1qubb*Gdj&H zICfSwuZeZTu0btoJlmrqvf+Q|y&zW~L2s{-Q1t^Bmrq0u5pyEzO4xxs4qNjmY(v`r%J2lq~HCZY6o=a_`ZWt?(TIKwF@x zv5t{oID&qusE-JcCgD;A$etUO;G`BuVXG04GQQ5;#`BB#!e|9fsN}36-w14tX)ws$ zYn9EhV%m;?mIRc;!4cR(f^jA|Mq6&l@HbL{(g03)^kGqSmW|zJ=cYpdE8Q!d%&0fu z3(-D)2B&ni<`xaVr`Maaic#VI=VoAHS&r_Oo_E1FM_Zl|6F5tO^Nmp8_{J*`a7+SM za;kGgF>pr^iv^Hjz7gH}^Un9iXv<{8_Kj4azHtido2SII9D!~Ix!NyG0yA#g$04@B zcH6SlFzB|yL)^ntcl80A=~>6Q4G*LXWIXh4gXv*@!?k0QCz-=hr=HNMeod|$%}z`h zxtWOAmLsKleF-#BbtDl}w*tmyBftuc1i#dmoJtaR_7l`aO`Y|Se&qKl&8+YzO6rAb^N zHrbRuo9Qar-j@kyu+Pp>_|jjq>V{Z*?AfF9u@fIGHFcLsvgmuTX|=tc?Ya?@1T_~2HR}S zD>9LZ9=7?H&${&=X9ppc3h5p2y(e!!`UeI|mv)+!H~h_0oQ(|N4)|f7H_BUqcL_?j z1Mvc9xt9@sZtu{Q@(xw$BDvo%-;Kl8>RuKF_~p7{QGs9X7_ENfa+{VlBgHpzgBVwh zMLrdjj;Y~CO+On@uZHllKt9jDr6a?hx><4NZLGrC3|&5rlVJJs+0VHhR60~$TJ-70 z^-3O<3%=A6!?MDb5wFM_TETv&PESo08D`sc5cEP)qKYs2#hC>)NRH8GkLb9KhsV_K zL_95bZq3d=FB=5{{!Cf_f7X77n}N4yQ-}8Jt}V72bNsO16P;&W>~GyXwyUK6*7BZn zWv@TJud-ZYwz$yfdr^jh7_MakGGZH>e{ zY&-&uMzWB|hbnup1^@aTmLax4YVfsbEK0vyZ|{HmO=m)%Amii@ItK+`JH*QQ(<7s7)ZC~HdI8{g-E^5ZnB-pvb~IKR`N$)9m&k|W7)}P;Rt0Pf z0`1$WVRG_6`agUhG~bIqZfw__|7)}k-bgkETVYTR)W%_piqzYtOURvz)5ggW-^OAK z*VfT^y5G0_u_diZWB_6C!@Yxz+cqQ3Xq;^rNtRd4VA}hP!&=0jG~7h9b@ zyd3rqqbaE1N2Y&vkFX?NbRuqO=~-D^{eH%v6HjP%3F0MeD;$O`;V5iL#xd*Jc42Um z#GfL-HdPNdx!sW2Aw1f-WvYiS3GyMlK@?_|U|#W;lFjCXz04o7uQ{{(;bxA@rH@{fAzA}c>T=gpN{xIH$-x7)$J zwjVBng?4*g#EYzkrg0LsEsn$1aTK;_;}}(lE4AR^2*)aL$1pGeqH*=k2r7+Z7W}fq zo;@1g+2rBvU8>%m+@qI0w;ZUnBW~&NApYVK93ZuaE44nYw`~k6<$4f#Dp1%c30{No z!bWDW>Cue!+ckz8ySms3e>!*DfAj9+pIm)jr}SI&?LWUoKYJGUNq7Ujh@x#QwjN-X zHWGr@Hl`R7YTS4XX#u=!UF|z|-X13Z-!L=b>WJd9!&YLe1pUNAm0^mF@Lkk0xy9>< zl?oxXcY7`wGNPeiU?ZB&eYWaqLI~l!y`Ak4%!F3BADd$^mumou$$m4ORMs%Pi;J5D zJa@TVFV4totFijq*POcG$DzcfsBTY6n-&cl%hF2O-SPbnE!8`+I1Q=-slnv-vi$n4 zcqUS6+!ab_5!Fi=O8XI@9hWD_Vg1p_V@OC{VH`sa{MnPHWK*H<{f*EN#&UhXU zW5;S*{XdlrDZV@)yio+w2{P%cM3*I8UI_zu7%3hK6JjfB1F}3;agd?Mwo>mArLnCo z2}M0VS9#QPbYQKmkpI||KhG2TA_NmwItEzx?7P+qU%8F*hxrau9cRiutpr%a7IosD zei{!Qaef`+TbWNS`DZElqU|?}6BruUwEdiA%(-zr$ojR%Nzl_WLT)(AzLy z7PnNs^!Mz{;yfD&w;971QOJY^)BiX!cZ|Pg-hiP>h%ErV>4u-8e zur`e{XDh*z`V!ceZtJxzERspPK^$BAT0f5M<*(XGkJj60Aq~jZ!Uo3hv4YT*6hk@; zd`Xr}=2p4O1NUeq_e#ByJz4H1uY~J6;nYk}Ylf0;h}_b#G>P1_Apk zY1gXoIipmfY9%w7eF^wW;Tp{N*HX&>ay;qzF!8k#r~Znn!`W-m{FQ)Kf`^cH5fC`R zKsG#6Pr+Y|*kL?eXZO#B-yiy^dY7&!t2y#)&9DAC1v`}jU$FtevZI7h(09JuM_kw( z2!mD*mGH!d{*RdkXJbG9&LwHCDJn-HPXK7%2!`;@NYhCGwk&z`&rZP{jh5tjqpP^I z+t)(PO2e7hm@|EeEnOD8BE6dTugZ55*ulg(g2Rz{uLuw^^BGz$66kuS4gQ`D9PTK(4!r~_ ziGEulg9YB=9W(BP*xC^`bPr45Wa>-d>FQ%}842KN@US7!rXAtLIGh8z;dv=FJ36`u zr3~YA061F~1=$3~P&Ybc7*aG0m={QTvkz)AN2bbjb&ni^dJQe#cRj0VcGR&SUu8Br z`j_1xP1TdP2HzPg#Cr_l*&z>N}*KQ)rgZo&<9jHosFdUTWQ}xCGvXpE%7MU+4Eo| zTdAY8Sk8hYw`J8r#No#9-r!DjW?zwc|NLm`v8pff3ABUHv@2`uHSC=|mzJngh_S}f zLyGe>2z-r!c+i5&zxowv>Q^m&UI55~=n6D#M{)hPc0E!$GC<{`cc4Sv@s(U`KCO z!h86`zbh=fe&1sLnxW~M2r;&lAe0Iv9-08?cw`z#gls264lBW5(sg1o_5!^#9fddj zy!=&mU-r{j*^tGSFVFIG=yT;U1G8HRAQA$Ae_w8et z1%P5JbiK$PJLrwh1jD?jjQ0bn0V@S{_rRBV%|yFnEonr2?Lh##+&iSefLJql@l1TcNc z2}t_VcBs5jKbxFoGjGa4_#gs-Wq+o*&jd~LCovQpZ6(N0Xx{y#j2D7Rb{Ca^-UT&G zeQbFORw<<*(ryH&&2UlM-W~CaUMT%jRuM|xOd`%4VhehGqog(1%`cx+2zyY!u$IVg=GQZRY?kpa&yL%I7) zhU39h%RMEt>-}^>BfoM4{t`2OZ3#HD34{{`zMw0aG>)*$83+4l(4j$E`mnseS^qGG z$jMC5=sO(FL!~;8Zp&~sV`0D&44&YrjJie;_A>6F_WQq;J6rqCY#286bVYZ_o<{i+E=dVBj#*LQP z?Md1A&rl1Yyn;^u&Cmj$xw|=f+UlSW|5?w*%!q0wT!yFw(I`<_z*Fn-)VsYNe-_zjqB)dZ~vRn|>>y zyHrmbb$?a;mUm<4(;}^3&DcjyD`9hL%20im!1*DV;cO60pTiDxd8%n|%L)T0Jgipk z7+Ty5iQgE|Sc)4TU^F>0iIeRp-<+~0ZQcybHE`)wlK-cbGy zw#;Odrg+gXj55YQA}VK<1pg`VRua6*y2q?q`ZpoQe^<3rYG_${0T#?V;uW(Ew_g~h z<#ZkNSGX})RgqtfSJ_uto6gLoYKIgz2uP)IL~UbeFOi4TenL@?rc@3StyFudusdAI zNH`kWcN-1biF_b~WkHzc@EN0mLIJR9zELZQ=2+TF$cQ?}+F$YJscZlC*dk{L%4Gjs zX@PX;jrZWd3qr`AE-;uAIHbQ_M259*n1)@ThW*E?I`$`6??EMWkZKZ!*8bD2iKR>c ziW}j-#M7mK)@=#%Z7}a@bdwrLiePf}Vy=mBOa$Z@sq|ER(lor~!;WubQSS2>`U70- zho#jq$q+_cFBm02?dD`yI~_Z>oPF>>$j|^peIqf4))TEcg_3CIdGGM4y@$y0C@l#%x>N{Q@2n^LqFf^C2mG(ApVeEprukLSK;(TS> zVX@VzCGHDvGzE(n^xxi9=t?xgiLH3MUv7etsW`8G_?W)AZt$t8$Bc6ysV$7beyZYZ zW+CYWr&^Z~`03Ga*2hy&ul~oe5bSACLD>6Cgw}pZNtZ#!E|_LxyelVoZCGo$ZkTtn z;=T5ST3XUUG--X6^K2svhhP=iTdvNCBC_kcG>;G4;xGd+o|{x19H*(bR7;4+=a+AwP$2fuD-pR z{Zoz@CzwvPzl2Fv`~EqhvycQh`y=2%c;b4?#>wk{zaRFx&_AEV?ugA+HCR2;-V#^% zgg2YNmaQH7x1Uv}>sahRD&k7u=-h7$CX3fm>p*1N^;^<}0ncoXLwIN5Pq>O$QgBPP zz0!XDx37QJV?rgrf}ZG87ZT)o&3EDTHa-r%>h6sI2Td5CAPqz$Z_p5AMGGpUbE#bOPjCX?R7H;n;LqlLf+onbc{Sq8Y zfB@=Cfo%Ireo8`T!k(Q^8ewG4+c0T|K-RWFg;Le+xRUl=fR~G-B<}t7cc!ZH(>$z1 zn*%WiO3TwYJY(RtCJ^Y1%FxamGVC=CBtcdZJ-<NFo}6Wa(K{| zwu(B1ks^va^mYUi%Hn0B2;?BdQN$cy@vxViF2jQk)N>~nTTd-F)yi8k=$CO4{?f>O z8C;i80M)|Gx?f=41ttt{OTiiHQgDW#m=S_$!x|GYJOq!G%_5#AthbcS6^popQRM1kt<@^24Io(VKBpK-_w|>(tgvRwHurI&EOxiBE398U)its1=UT%=6MoLN; z+}gO;03-5C03;9)0{{a6GecB2003`v59)pZK*Zy~n#k|=?!KC)xduusB!%0IO<@2K z?}H`1yAHNt+s5Z5zkdeD1^`HgtY`oL1i78t&&b5Nm{8&PO%JBQ&niIO0#001;{Rx|_v_Xlm;?fbp=+rFFY?sm7`xouo_xy9U; z$+oszyW31!5xJ89K=}g1M`nyLse)l7Kmoi+P(nfwk8m7G)`Nl|exic>7Ay~Ng9up4 zkKJO%Rx?{{^xFyFR;&2jw^7a(c{}ZGcdeaU+O|5l2ky40>$12QM{?b;HCknHX=~DN zE^fOz?LXMgBU$fu+@s0Qx7X8TLYc0iPz9wMy&-E4#?+)4k zVB#5UN^{JBXE<D zF{OvEgf9Qa#y8xzUE(q<@9Gls_G_K^Z5*D3-|8B1smF+o-Ui>w>cmGkF!8%Lj}IHg z3JI}pC9!d8xbwi!UC@pYibcc1^u(eV^&}zKj4_CpP^r;%!J86GSHc~9IQMBxf6JS+ z7wqh|^>v!>Eo+5FAU?Z)5yK!NO`4~={yNsSyxCeVxAo=lyPZOw_II7EZTfG~MyFrc z-ljL+;q7xn&C=(A5_bFstD{RU0mcj)6}pbD=DMY2E8AXX*H#Xs&#pU=Sz{*h z*A2sXku__-jiy^)TVbqYfbfOz74X8aw3U*`*Y+^UxcGz5 z>u=%H-u~m>nx*!m68CGhVU!}|IQiZR79@T>nIk_@{2ai+>k^3#ECXSl$#FU@^U}Hw zjA^2zu{juV2WX(2(+_6C&m{M!mNo+p@aLbF_`ETJ~Akhktgq{ksFU_FHPo zWa6oCpSr&F@AtpVclhF$idN2c+_7?SC@dN9H&F^DGGLOwWjEAWw(UQCvCN#UyT0}N z{k@lGkWuQUU3)}_z7g1jO4rPgArOcZNKFQDh%bYXf+&79Osn5yN7ML1Vr8`?|xJagD9i3l3a@7LRadUoisdJ_YmXoO|Cqhm}C?h)X!3IY%DL) zuoI>Xq{I*_N{r@sesgA7PvxBDZB}+{8<>GU5XttXgv!3gWE_JgOWiI9A1Gy^yMKB% zhx_v_3*U0)rj9@BV;Ilmrz3$`$vBEfll87n*=&&|tV|slJYcsdMwz}r+ir!tvoZJuHY&i8|4f=W8^@Jv!`TN*aJpFUm zig3RmF=p2N$+z%Inve>0K`ZHMM#clfNO z=-xQqo=yJK`b5vdKuyTHcT>Q^6GV&N?%L&B#tJpbY256XPWPTqxb&t_hK3z&uh7up z&&svN82_$-FNKhh-j{>?Hu7b^n^}L2XM%jYruFoDG->ER7_sZXf2l&oLypJ z=w;9vvnyd8!a|GT=a0}d$)hU#+veN~N5t;e{OZwjZE=&>DKX+4a>hJj_wC#{)10z2 zw8ER9q% zmr!^@7;Tx57rZ^PnxMkf89d4FE+5z05ijX)o{gSun(MJNd?@z3V_@r?1~AZq$ih6sq9oJKSp zMh+Bw+_k2LY#|Zzi<}9#1QWJxl2|bTCesbzX?n;7wB`zX>s_>zhNNf6kwji+A>

    +S0-}x3kH}U(KjQd&J>^Na+<05WY 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�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

    --Mzcp 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∓C(}m?RQ@Y` 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­sK#A(mAW zz%B}c{9vm_+|6pTy*P0vuw z@?b@TCbLV~0yGP9^$zNoTjo)JgzG4L?|GqhV#l=vwZK>Up4CbCJ&}(bR%Q!{F6J)= zV!~qJ^Zr;Xj0y}~A73k;a~_MSi-COmcF6h3gsV4kaI&@p4_6~xHsNp1VJ#l%E@m$V zzS8Hc#=<*Hp+};%`9guK@T<6*zZ%-S0@hcfR|Dq9;gNdKxSGEjE4Hn&)07BTiQ?d7 zZ3&0{5w0TfXXnNzqE^wwwnsIIHE@-FpZXFEqv!~d(dv95z~%VmTuxsOb>0DM%TddL zaP?|H=scGLmjieGjqyX24_ER;quK$SWi|tk$q{mBVgMRV`X~d|^+^V-vUprciJ2r^ zGx_VO>w(Ys6Row4&p`|@qXz%vxVqrA0J?poc&W4BBCc><3QSyk~@N&v!suGMJVLy-oM(;X&ko78Pk&R6~*6nEX+ zAek5v2lfHQc9#cRdB| zGdR`Vi#}BC#ApIQ8$)ZWM0o}dYhaHRf*x#OVOzpAfJ1q#WFnO`B#*~zdZK_qF<=ku z1C8b}bbJR!iQm!ZN&@{1E#(zYx#=7@I01#6L}>;d#sdgZivj=1|EdWM`{mf~+-^~3 zjzl2=QOE%#(tspUn6JH_&;z4DRSOMN6jf2k$P(c|G0szCVNCY|P9BkN_juVqpUfemec|Q1uJ{Y${nS62O=>*W*bH?60S}b+Nl1D#u#Yf~`_dCZSO*A{L`^FTlu*rNIi`i@A&CpiT#Rl#)jVeo zEhi|i0yNQEgj`8SND`Y+1OY^lQqxphf=_}fSc($9?XIf1(FXiuT=^ip0M5vpJn2OY zq$R`vTvl8D3?H@Jzn~zQM*@Vka4?Yx)Tc%ou1@|n>_OjEu_{wtF2&*R9r=_2CTE=U z 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�YNB1^jOWRZuRh5DJ~uXEgVR>C1o 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

    ZC5ORfkqTjljx1!*uWBN@Cq7+OC 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

    =b7N6h<>55qhAwz6j<^^?~wsyamh0#co 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

    $d#cj1dd!R(w_)xajZS*?AT-|Heqa?)e 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 z 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 me+!Wv7-~fz=LK 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�Sd^txBeyDS;Bk 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

    Hq4;3qkJ^jP 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�stI`RL4?ugUnL!cCG5WQD9?N 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[_Pl8Mq&sM zBBm0cy%#zV^b`~XB0~I?cr{iJ_MJ6ZogkjT@>e}ABx<_ZTS5ts3 zZhEhl8?*@_8FV-LSF*F~>x;%!RRtLt=@y2FR5GfRm8d`}R>ACwlEME5?8E%SuDp5j zFLqsbef`1I?MYL^fcCqZS)I=H<3vPyHXaz-SDiK8a=&a|j@w#qL|9%IX?%mc4kHTj z*nA`E=_0%>re0p2?E?X*?^@RW$YiW0WhmXeQnM_BB88B_A`@OpR52CrM3oR49z!Io zr^~{wTTSKh{^=?!s}QzZ$GX9RAM;+Mv7oBKLm!BGgH`Fbk+R!Rb8+_n+&;dAfEQFH zo&?9WH1}?MJY^dwCzRum6>g+(Qe{==?_wb)8E9X>8LWLvjQRZB-!kBBFBO%J(0l7f(2&N1OG8ZC~U z+yWBDwhQHVYYlewubZ`f8cvNQDAK9KK1$l2Fxe7-2}+D6EFuIIG({tzzc~?CPmO}4qQy6Ja(;L)g==OFf|va`UE z9v2wymZF1hpiGsE$X+31;;L;bYW688yRCw(sMx3MRy1~1)pXU}|5f_nzcIk!-_q}Y z2n1>S-^ngq1oqW-;N4umKkv^OOBE%?yi4BpLbR18%JZF@ukRWWQo%IfP#o5{#4>ULYvO zPi9e)NJzn5L*S4!6LlUmRn?Svbz?6fi!JKK9kq>DgwD;)B`)>JdS}I6iGk?pA_O93 zlVe#dLpcg%0F|X246KO02rS*dNZ6wJdy*|mcdVuaww%40qQyy97EuYE;wijkypb@i zKK09Nq1K>2*wdtH#boiF-0YjyQY0!V$YpO<&A?vF;apz2hQWipoko}+VuI%` zPmuN#6m{H38CH%&Vy?z0cROuLMB|cR-_Ehgutf z9J7k{lQM1#2X~ST9Z8uMr6vhma-GqRhPIagdVG7POzEm3XI+tSWKfr3pekVm(oI>a zBAYQ`hgVx*7~2a(?89i61F$qIz@N^BSM9&Q(h|{MV$B#?!L(1Qrf{t(aL4;d?2yIg z2qrLGSpvqQ@aj-+?g&wX?!v+ZA8 zI(HwXH<`g{^35`QrcfE}o5pxSULu$?3NWLlGM4b7Oq0%BVX(=nnx@{OT9^5`U>1AM zbRv9FG`OM`0jEeM`;5$Z$cU^!EQ|#74#ZN7+WolJMzXGLn+RMw!EaANnc%-6Q$wzY zwPf=pKE2-xCO6C(X066vICFw*F6d8W&tgBa{3c3@yaEP&cn!-2HDmGS6|pRf zd0VtOBf%6N(2kEfG6iXV2Xk7_hoRq`hs{^b`v0CHs&4O1Z<71iQ{-6l4Y6z0 z{pdIg3gEIopkbmmQ8Zv&5zHv7m?4NfSF<@HBULak$8=?D_(<`*wYP^f=ytw-w%NzI z;%CRV-{HNOKke^i*epcMCwUy$GEvEf`$*ExjdPAi>|;uANQ~VANV8aGfChyS)dfD(h{=za@Ukc>v>B8}G4xK{ero`gIOXu?Ojc zPcvhY0V_oW%OHoWL;d(sf}Tm)CXYBBZ6Dh{x`%g_c4K=j%F`&w zJ~Xg3O&BfC&#gS3@kXh_{O-uI^D7)VcuWfh{nMwF8mAJ@)Pl=d+;RM~G((@Kdj6c5 z%g!al{p+%pu|d*pN$h27-v%b!PH6u={U(sBb36BM_9UTfH^?~;d}IWNFr_?=l7;5p z7qstjlcPvocoC65A*LvfFg9dNm?D&^AtRQ1rH8i*{II>n&$l7>c>$Of?up9k>t|H{ zMW)IDd5gi;N2Z%(2An~2ZduKqSn4m;nL6$PKhIYbyZlf&(IZhlec^5!Y|NE8x+Bje zJ|lZsc$4gWM@1NlX1Jn*9?nw^0ParxvL3<-u}JXsp@_B3?d9gwi9A#%w##}TDu*>d$COR?uCaJ|?l%$L)o(iKIlGQ4}C#c*H)j zCVgitj6w>>%TweIUqoGHTUE*Ehvc0b?{-5Wik_&;J%JkXwNqgBhn`{i=JeqZ6p!&OA6DnqPXu7z5vjZ@0>u zB_zH^HfDEfTqcLJHLcMJ_G)kH++bNGk^`SNT-Z&C34a>-_q=k75c^+N`mC|~b~Ybz zXyw3fJuT9qn}EKe!~gzq-ezO`PuHNKoVzEDi&8#*rU?>L)a@$XucXGb=*$Z1=lP2a z7A$v?TnES2`wRoS%k0_D-ZpUP=4Nn1o3Vn-kIK&syd&zZ7}_ILp*Hl=(0vjmd0J0CyU2nd8kZ_kDW{)_v)c&= zj+#)p>fg3py=z>-j;5LHDd;$j5f#%{wssOks4?X`gwyQ-_p%1%2JL4&^RG`1mgdRh zYShnFy66be){1bdl85n~SV7fRSfbQj8G zGmvA3831?F{y$ij&sP0a!!5~MVyiGFy^?EabcKt-I^!-l#!(Pg2ER~FZYh7rOs`@JI@sf*r zpEfI2YP+bhtYX@hD@%Vo$R;AsrSXrfo5$|I4lQ4YW9YnFW)FMlMkP11xf(nj2{N@8 zYYN?Xi-GB(O5ry`hfDyZQ9bQ;SOxzOpBHW6qc&dM<%T+`6kgaUbrdyk|5qJ8Anypv}OPX!1!-QS@f?_e5_C z&T2xa^Rq3BmfV%6R3;x-<$h_@*pdjvgpF_36j^}VK+O*7Qs0_5Pl|~S=G{R8)c1v+py)HG;(P2>B^G9>WpeW)DuQzuULJ1xQW|t z`*=FPPYF0a9V*+9?aoKFa?I%(-g8vOUwM~N0fDnOf+@39)d!)vx}f53 z{v?9IlF`){f5@drg^%cSkWo9C{fkTm&lZ8G87dxHGXe4W90~C^)US!PcXE|_$^J;; z{-9OIO)IV3S<@Je^2=!NGjNd4juOAh1Si7s^UO~`O@!r79A1Z7vMvliqxzT1ND{6H zL?plop?(o{EX*<%$Z1X*-+H)Hr;Yo*k<@x1h?#llTpb-T%TKNeNAsxvEfqefDafHW zuyiJPGG?WoGZDTsW_kLCJ>ZG>Se;QHtMQaP8?L;GR9gms)98izSko{ox{yeqK>#Gx zlEEZY`}z)D7TDB2myV@cl$`jBfxTH2&UD|t5@ z6#Dy2&AmuJ`_#2hzlf$B`p7@!2+s}?R;+#3IkB%>~sIJH~5~-`O?LRU&-nn;k`!hc}slQ`j_@QklT%o zy^~mE{7e3*|6s(YyHthemMl&3N^(5+!y{rr{lk3~%agVf?W9-uFKsoR3|8KZ-q&9~ zK!YT6wOdhlZ3PX)^Otsj2J*8@(!#*Jv)}lm(52niUqLOtVk;?aWhu7*mbRX(W9$v< z?iZmN3Qk|y4mAwp@Gl}?r#)B3F2xkkqCxsb76OY;2IRSyBK)u5AVWWS<)Jrk_ zktPP@4AS@R?EgsLwB^w0IJQ>PTP&sV35)M;(D!S1=x*PJ8b);^_qh|M?q&^vGQJSf ziC=F+M#C(&9QlNyHap!gFVuRG^z+4iafxAhE|xh{O6G6Z>e9VL+Z(aPUhvP%=rvyg z#CW`;zd_p&FVk%TIr6zq{>@aTFE#+l1?JD_OZq7ypvLImLWqXT7|sp(2{uI;V{tNu z&&IB#8N;E#p{)D`EjZkkjfNG}6%X2yN9Q#x^TYNGdJ^wi0_3gDkac&C7%8$mBViU}-HI4A&xZztlrida4A@jl>!U6aIv< zP+3LVlLEbGdo*|oSz&S8vE}W7u6S{QM_>CFhtiew5Vb8BR&A!*Bd(cni=`t4C0bJA z0E;aS%OX?SQ$%EaDn!2{2S&=#g>3{j`}csT*zp|Q#5*PB5@yOjl9J3zstDa6X;SyW zk(|x+fS+xj^FbAD+Hc^k|2{3m(jH}x_JUEi_mw`BG1|fvV4k|Fh23Ob4lkeLsj{W1 z>*k7y(XJxDu{*ZC=J>6!&}vC>G>6=ZZ z3c(_tT08oCuR=gEX#SapPTGJ7D}L%A{+#q0jX?4ptBSZ^5*bGF|6! zKQ`**KRX}yL$U2cm5er~8-(ltH=z3d*Ji;Rv(_9aT`8*>Dc(-P@9dJv*{2gkencmT z#nGAD?hgbGMIW*}76354z-vAa=daSF%?>3|{}lnUyH;N_4{7J^j4OX`R7zugwE0_J z`)k7vyKgO`%L4?L6q^Fj>5XK%uVkB`GWqxD~M zkUG0B!SJ~9F2l+34YKnOf!dH5#$!-OIH=(7ID;L*jcc3dM=&%hDJCCT^!_1Y~q#^KnhTB9l z`*k#bbx!VJyB>KXRi z`z3cxd7K#&CqPyXKzXIl-~#MFRDI^ZSw4q@@&kQR&7DO8-WRz`0w>9^W*s#7UrNA- zA*37M6F>Wq-{$~`p=?CrDN(p>c@+0GOj&< zm1FqU;15LK@msFP_aFOLXg}UctUN$-`BVaNE9Q}yHx@5FJC?xeSn~)*wPHowZjWaT zubuYgiREj+E_(*>)#WzodJTmTUO)erC5$32zb4$K>z)13m!IN5V^T}iWwrp?bssrgDRU*lHF8zg6c$n+RtHd$K{u^Gs&yozX&YnDm8Xr6l;?LKQba5Xy5!0sRlsw9Fp zAh61}A%ZcOk_eQE5rTJsCTXyL^ES?XdX$)YK4TQ_M($MwAz`GlGzkb<5*Cb$l`1kY zA&F`;Z>9`d&qMQSW)SAuXOGAUd*uuCcjH#PQ5p1R7BPcG{wUZ*DrhLHjjx!FIuxgH z$+Pr6Z8I-(m%UdGK);uZP=7|QO0qDKt%L&AixFf6Wlc$#)4wuh>6D(r4a)5@d(JCK zL@#nhxjEEyxq`+}h!|{|5v;8+NWqa2D1s@P2Cy3n&$I|-cA0zZuDCZtzgMdSRJa(q zRF~zfCVvD0qTg#&WE3bGlB8kev@7$^snB$ReCo2ex#i0z!h$a=5W5-@B#HzOCMv)? zGLt02VHr4`{4*iz-1o`hVe91|D%`5vfkByc)Cf~yp&}>>l^6tK(Nz0MoHXih0U&{` z6I`(PQ!vrz!8-t9@qbSn`22PsyaVe-_|h-wW{3Xhj2vwi@+&I0WHKG6nah=N6;MVd zG9thftU?%x2P^1(%l}Wna(U!Y!qtnv2D=bd6^+Wk28yr>MAs~84$N2rG8W*eNL*L> z?zU}*Aw$FjQnU`3-g9t#d%|+`cX6P+P18(80ww@f=CTn46_!R33&Ac3wM?MFj+=y^ z-K2xM6NU;`uH*^qj3s2kC{&w)ddtcz5ouPY3-w(pb|xm@75^k0?53sEX&!Bya)zci zs!Rw7ZrvEzx=030ut=;3oxka|>bOdH-Ay>Ev|;2aXqNy9Mg~$fT4XSWRzNT>k7*`2?D$U?T(?$;->!8ZwOG6t zxf%*QlyKB#HiqneWN|kd;CPVhzwC&Le3M`I=lgVSRNs@0^$!;V+}>?(?|)HIeShK) z^FKw_?|||Z-@&gljYJr9@iyCZD7c(^-G7e^w=79Kta}~&{+oK-*d!hAfD+9^YoU?; zyC(3WTT|=T2(V*xLVb5%!`CwIeh}|^UcGqswiOD;d>vw8ZIAL#qVt%PMm--jr3ssH(DbP}M&F22=7*L@REaWD3}lhUqRLypYT z^|Zm(fA4H_rVg{8A>(w%SoC?~8o_e%}$|<$L6? zEp#m2nZ%Z$z3y<^Ct#8v2&YzC+7{#AAoVao^l}dfH2eNs~h z>LP79*W|5^K=p0t{r9m!++d&92}(<$NuvB$+I#r{6sZ%YO&&3;P;R} zpb6FT6MeV-3L+$3=f9X7koCj4h1_5pJZ$o&;Lhf?Iw0;sUb#4$?=RX4mpDyT4IB{U zZMn^PuAbKIiGSaZIfe)$YKQ1gzqx|Eq6g@z%y~Adnyje+`3*2fp<}${X0#Up)Eoh( z^&E~OM@QHuE<=weX`XI?RXU4rv0gC~tvbGTne>FiNOft@j4r#fOBp}3`7_9i!z6-^ z^}jZiYfxLk{oxVTJ1H7uMfHETp5s#~hX4Z=P|3aT$`I;Q(aio2|Ak#$A0(`adScHr zj`%*qJa#eFs{RbuZh82A>%Vy2c zlNoxxq`sZLi z{Sk#@G3$>-^;lSskM;Lh)!@T(YF*W!G3#$e_gJv($9j6KtjEWCvcDCICXlI$RjdKQ zl|{iuqKb_uGBc}CTK-3SHoRvKL+k#vUAJ`=i_mL5uSj~Zy2n`WruR|zm+iQ$05A{` z0{{R3Gekrr003`gKb36(lg3q2o50`OWcMU)2~4a4Fd*9qsZ_TMw7ZxxSr|!})g^mX z|Ne}O8~}{WoY4UQG(anfarOJgn?#8=o}@HM6W6-Ho2U_d&p%12vJTEfXw(F|c9SNd zBhlC?=0dlIL_ z5RCu;nE@*r1AzMjzxUsJ+udBd-mTT>XkH1BMOKd4xLnS?m9Jr%nozhw7~hbPHiLBn z32pijCW-|p1hi2qzZ60#R@&ySQ?dz=ko5&15BZJBk2OhDY7~p4Wbs{CU|X}uJpx8; ze!hls@}+*7Z+rVvf;iL&49+!nHMV$yr(P{s+Igg&4o7wfs_z!mP_tciSb;l$VR<)V z)t$sts{mMueOh_NVQ0EomAB)t^IvW!-k0_}>Z&f{R@N=pQ7r57iJNADK)J+%sc*530u8>2=@?;(LPDjrKZ`XkL($T89x2pz9t_~7) ztfIh+xQUK9i>u3exz*-);SJ{`Z}YUaY8o+jx}A-LsTGR8 zISz-P^?Y`5Jns{#e;#p{?~NSZka+Ct26-jUq3OfZ-e!Ks*(*#{1*jqQyQd=+saq;= z)*c{?N{X>4UZyI@jdAy2j__uqO_ItD2uYQwV?ZLrD8dR0sA7mKfq9Uq0#IC1`S0q~ z3YuJVkdZ{~Q_;mq$nHO*pWrwEVRJW#XOd~WaI)j$drL+st=E`9gd(Z3(6vQUAYxYf zA-7o%6FG(|JSMDEJ6x*iT=HV}j$NmR5(5K9drs(uPYFS3)cQ?$8; zZHWB3Qo%6&q#&Q@DB!WpA z1{9KV{YPs9x;MWK?WK3*b}fsdOoaX>_Cx{@sIeq0A{1aC!twHDXqX(QHAz{DCQaj6 z%plFDCmTKrr!@bO=}DxQW%5E)kw>^NOm`^OszqWnZDrKL67i#ozRO(2`vSK+EeIxXThcte2w+N#nRQq&aInyIe^OoTste zrW37*!g2^i?|;GJ+V4?R^Z%6OacaQ=2f!;1LOIm}uJ%4@=VCI{k&06ZkKlwYUZ zC>kAQ70VJ~UtkHw{wQvkYrwj^atUWHjb1$dZ6L;V$lp@-dZ;WD3>=y!6%esRhVjFy z`u+AtsXDHv-vsR?fVJkUAfpYC$Pk=6@7mvy_6WpODT-96K$n4wid6#$s0#&=(UBH} zQyyqA^d$IGNvffa@Ev83DoAvdqDFxSYl|vcA;K0MwMK+NNcX3iKgo{@DHUoqt4)qH z!?qh4wbE%y`v6rtfW!*cs_&&tG4eCI(n~6ORebIwBh@yjoP4m8rNHK^qB|FXp0+C} z7=#?T0=6TmjSG2+L2fSjVA`of%+a?|GUPl7-nzsH4-hM-VGTqlzE|iN=7O zdXs>)o214ysnuHVl;pK5s_ZvwkeKfLjoPTR1u3k`3Y2lCPl|g@X#uu7^9XdscRJ6C zz_3NRKovW4WL2C)#%kUiu?$cczlxs2z2NbaG_csSsN;M_?u_BkKAA>L0RpKA5=sO@ z!+n|fY2XwQs7{jx`bWCvKbgL;6FjJ70diO2!ewp`D4i&_dds z=Lq&|JQIDGI`Mtz&3)q6m@qheF&9U3V>;N{qj+9?4&(N~s~{ox`m7aT%8RwO(z(7o zU*Eks-8u!-wDV}BCrYOiS5C0TV&t{MdQaP0Z?$8mysS1v+qvDU4R5C%uWBt5CZL

    FL4IJT>ebF4zD*JrcQY$3+n2x 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⁢j=q`rKg6czF#R1 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

    Xz7{596w~+LTfe; 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


    <%SCUTon4)$6X~;90BkgOU?s5Q})^1 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%0D4A4^qfo+kfjyT4# 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ǠV#+?f^A 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

    $m3V7&VCg+qTD25HI7y3cIjqRs$pYkE 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

    hrLp6lW$6>3 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

    n~V|Q6m+USMR(Ww5Yag)_>`3Mh1jOWe7q^_pY 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

    EU_17_aD^U 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�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

    H?&KQyMr1!kf{%^Zxlrp-9_tUIS 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%0A@km>c%&Ylxo`$pe0CUH3YUi3O$X4m1>DcakQy; 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

      &!USQ&YaTd#e4*|;?^0;mAW%?WgYZCFfzfdu`f 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 VpK0{}r1LLT*o2W~n=tA!if*IBcKHU~3arFxZnf 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 ~de=t>)3$^O;v-XnnU>m%g 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

      N-}c-JUph-g^G?jq(}| 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

      kz!~Kyfs2Q?TdoJ5P4le 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

      Psb@FGv0xKu~ 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�sTO?MOrkZ@;8 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�MZ`Xg}w_l2X8a4#!VW~lDw&h119(Rzxr+B<{`#}qmpMwE+ z6Xp}Y%JG&v6}v@jrTTpgF0IFd>|gz7Db^m%B^9xoN*_)bgDyp^uMe3JBO0A`xj1=3 zT!FfO@=@F=XJJm0D=@K*tC_0B@BdZzv%{h}&41m};bN)3vIH1Pmlgl9+#5N$Q=)kp4 z)f9dl8tt9@a74EVvghIGu|qUU24y1Gjx;D4U{MK!e^5Dg^?ScF7517g)B)BvRqmt{ z7R1BwUzTJ(pf%<=u10)=ZKIGjGXG<0va!q=a6wO#EC+MG;jlriGsmyE-()PsO=~iw zy-Szg4hE=JwSqV+MrI`OOa$@ltSwibyyZk3REZNswGj_PxVe%2H9R<^@#YzViBW8U zBnA1GX8I|gOR?&xFXj!I4@lTF@cfi-v1I~^Czm4~QszDAzGPwNQbTiQ`EzUBCbu#? zimjqks!uh~>^$`}?w<|O4r<*wh`@c5v7|Qb$&eV7%5OuPOw!Dx@BQp$;fXV;nK|y1 z@GuyatC)XjH}(NF7LL&#OoZP)VnXP#W|I? zu73#$bGaRLQP6SbC`v=b^1pZ4e52mqy;Z7R;t_LWo_2@eLU@u)=ihd?2 zqprlTv$R3v7vW=J6vu>C= zV1eC~{&)?M(VFhr58VHwp*4JajZDm;i4A?ZrqP#gmfX=@S zUo>`MBd-!)4M+*^8D58%BEPrz?aHNndBUK-e&b~I!Sc&~!Cr(P`diOSmvg0V=3=lW zUr`fb$NM?%p6L2D~O7BLc^6LWY-5Ros2wU7x<2q-%X%r6J>Ax^25NF zDmWy*R;N#T5p6&HN8w-0dZw8h%R7h`kC-xU`0?W?Ke=CReQyM{6NndmxBe!y!}$lK zul^H6Kj9f$18p31e?>QBPwjG)^OoYL1_p(8?CUXri->(-(AK`9#8`yc9)(I$rWxIlmA@iukL3w#Ts$S z7v)x#CpOqS`En2a)BT6~?xx9M<7JyCF50+7|3=j~S%#heP^I}D^{Wa$?_mG=lMB?$ zlczU3qe_3nV{$T0)4{xl-dG-p31ENaElK6{r;e8CQ^QKvDAC_Q@hRR?1ElZdVEipt z$@s)>4{9@k9XM|DC7`#O6Tq-QUa)Uwly&l*T%l;aeku%g`||~_gfoecVy2!WQ5^wCkPL!Y z13LrP`Xu?8M2p2j@-r!Gwwl&vtN^H}MO(@MmUF^!aH5RrFgwk;>r4%RR4qS)(K5xo z4R+q~b$WD?IfX&a=~7A>o+e>G6XJs$fk#V;5BNHP<+B}PCRzOo-TZmUf0Eisb<<)f zzCYm(bE%u8U&%g2@MZ2PcVV5`P2S!&vcA<%Svx*pXV4PiYG~Ty>k_qkcZ5M|#1sG6FXYv7S6SIsz*j}F~FM4$y!Pd+Vnx^3JJn!FVRP(TF~lpVg{acwm7l4A{M7!~WA z9wYxiLA{BJ6ojOivVcjz`M0q!Fwzf_>LO?si>JM^1V*!fW~*%5St>JB+kiGx*6W7$ z$G5t*942?A8YSu;?zyj$=9-u$x=3`I+#mKFmRbocpd%T{K;z+Ge{PvayUqic<+(HJI~fHbDSTn22b zY3jVYHbR$;OJyTQO5>B9t=Xw&`m!x-1V2IY6ED%dcRwaf6o$yesk4upqGY}Hu=8jl zD_BvLe?09f)_b>VUQaJblyx#(T9Br3ZX7tl8JE*@Cb$a-yRjk{4^U)~yBC!vJ#rn- z*3q;sf0%kdKSNri%KqZPxcUqpS>XPi{U9m%DcNEGT3Nt}8tjQ3&N zx%{hYGdo@_8i<(wmMnz-Y14VW?6-~y5(Q6?8f=oidP+d`!uQ{6gqYW^sDPkO6C9f) z*h~K^AGjP85PCKO`QJOau{x zT(tC|>G3sFxBTOpVJgowvfQ@&rHzpwgQqlMZ(`v~;=8X?6KFUr{&D$nKYH+q)=D2r z0nA>IC~IYyvn!L9Lekme60w*afYP#(u{;K1-7w#dX*hEYrtL+xI?gN`;A~do(Y<+S zH$U&qTJ#-B+mGA7vc3k6%2bZH`8m=E+%KAT7HQ>q!j~nxBI(jJ@(ow3gC}^aHyL-j zkX*(7FqD@vdXX}ipk!;GfIbo-pcOkA-T)_bR=7x z#sw}x0K-N1#K+;`#lP$_^w9vAM}u3r>gd4|<*hMzR(MU|XZOvKbW+)HsHk zLMFaO6I^kKt&u}IKU;7ozXJ%oZf_U3P}a)834x3Nm9Y%*0%Spso`>5t1g40OX(S|$ z4O#qbidojhlbd|E7b!`%VS|oj%bCz{lsq#~j%J)XK%_-!k&=rD&vc4^hKzQ%WX$~? zgXnjA57}Ao!$bQm84<@4V?dVoj1(btM#=iMMKU*mQ}XN$StK6MInca0cr$V)<1BjW zRt`H%?do22tNH~wg1cp((Bh0ns9sKN9?^*vIT8l&FGU{wY516nXYmZN&`|@WT52`1}BmsBJ6WyB}tW>oq$0 zGr#{Zd)(U?uq1_NXy;UDaJf;G6?IN9ak+kF|6->UY3h}Kv?t@oI|Djo_|7az0Ek1K z^2`B~txC!DrJ&^ta}8Mz1C^|7{@#)ld#+fw9+V}u*fu=X+ZmG4`IjaU44}6LOjJ+= zFxQ*qLQyw|!o03BTZT)lG6I;Au3f)x!BRQ}j?+O#-;2IC9*L+LnI2NrUb;j=6zE^Z zsa)KbNp+V7r;xKal@ph6iGwkq#1ubZKaaL0 z3PbswG|1LK()Yjvx`r$VtLiUj8!=e|2zR{u0?U{}1xx6wN^0&7nXVmfb}J zswCnUs5@J~&fdl+PXEo(e`wo%N zxZI+}FI%m@M9#xUYZcW`j0?jx&cTGvyu|!FXXr0ggo~N4)^0kMJ@4}U3R|-Xi?u~} zKggH<{S-RIKFrHoXA|u@7)LPKv-2>jc*kwcfcfi4G=g0j4-pCa$ggf=I!ggT5Tl4| zg!U6!joMHV=1^%i3PD&8zjb6_1|QPp6_a!PLydsg7k~5s;do#0%Q2yiq(9uGZnt0O zC6@C3+WY_g4Ck}AXx8-GhmEm4BBLLS`$E(!EWY~xH$D8c(w-^=&g z0sE*rhhn1z-0W79I~0K|WP0BCr=@I-Robn!Spobm{wifCI1Fsc#Q31KtMvnRyG>gN&;?#V6C8WLmg-@ zqkOnw?FEjLa5+WHFX302Pk+RTnt2IaDT;b-(h}YpP42gb{DZ4FVa#*L;q}0*3S`7T$4ZUO+2=!& zauxloB3T(QkIJp$enlnD>n-)rF+DjJ==u^NvwN`hUOUWugwM{N7hzw=o`8<0y%Y1x zt5vGDZr8_WI%*j|@4|Mze*3*Tt=&GkMSf55Z7=SYzy2=#eD?A0b=I@~0*SbLUv~c( zuT+!tE6-QF?VtW+h-~$-I4J8Nn=nz1r#U`=|aZfor*}lrrdOkJco~DBPC)0m_$W+ zSrCv2DKc^*k_6*7kXSTSXQ?Ze_cM!qWT>Ob`&{WfNvqg_e{byTxlrG5_+d62d3mzh zPe2g;kQMXwM2rxVGf99zEDW5B#OEMV5Kv`;Q4Hm_t!v!RH1^Jpe+O&!JEUcO4gg6M z|XYMXC%GHbK&g%aJ{!)K@JQCCt3m8%`}uK z6^`%&itOS^iHhPjY{X7yrP)qZCJ&lLBtb9~n8V)#iiid>iXe|8KLbp~Fte3S+-Q2- z5xg<;eZwsNG)N{W)>{9n7wxQ*eE;pmb`2ngT$scP>EE;DomP=Ij*bMe1_BGdx_Gc!;{000dD zVzgua^+pCDL(D-R9U%acg7)eM;Yup&dy0}Kti9f9LX})^JK}V#|Gu4Bw*ODgt$%x# zqy3MU6Ae^UpKAoY1cHNqNG4HVi0acrnyA6-3{vBU@t)n z2q2muAjZBRZz9tHb-=!W&;bBZA3^vizz5GJLy(5;&#Gf*%LcY*t*`af>-uceTR4Zk z*Htj@fCzPaFYgXJa<9#u?sdKH-YjtSw-?;DMO<*#UdwjyB;VZLb=?ko7_n_BpK$BY zRRHcfa6CQP8INLm_vUvCzB_-tlLCTow-(oN+z{MdUEf+-SXp3KF>Hh-!?D^AcrNqC z99x^)vwpj90VhVz%K%Cy0jj8R=CTP~A#6^=(aK%-`(@a}N!YcOlNZI8Mde0mG&!oM zzEKESu#+i94L*2K5xElVejMk&Lt+36}_QY)TiSE$3R0v57F2@XUu zH#v_4Fjx{L#@=tUV_RogItHfZHTLk8d2IZB5}*O%O*5+MKnW|GYaGtK%p2(1s8PLl ziLL`+U1eos=w|C`UOqbfSXA|@OtvJ$8hc61BZ;ITg7&K5=9^%}iF31=+ODf@@?iMx zsJvRQWlUCj5hVOP2|_KDDZ%LB+B2;$YX@1``RsRlsBAH{no`#bV+5u;^pnD$O0nO&EZEFcrJk)V z(*@eKw(b9zd^w{0UmZ^)G1}FtCU_qxxS{L42)k|y-GS~ax^DLGcwjXw>c78iS7RzJ zGl0b|d|MTwibxWM(e0g0usg{86$FK4zD>5)jSVu48`1}7&SRZRpywp6lmUCt(&TqD zjUflXghME+LpLfSJ(Mu^b#|Pcww^Hd@TAzqPq%Cjc3lF)g&i$#6<8;?lD@_zUI<*< zVB8VMPW4q25AJho-*(70QHftkJM{b4X6*v9cP_+T?t1Vwk1^i7IPN4b-m<3lZrv@d zM_qYoZFRjSzJ9Ze5_`&+CZz7T_b#;yGx7SX-1-~BRkqOI|dE9fhE*!U= z2;XYeO0okV?63+l_dFsmkjSw|`CdO3l~`?re0Ziz@a-OCa+VMRyb3~nK`~LqR+pEJ zMwJz7Vq69}ASGxwVIE&S|0ey@A2^fY?AMjk9lqEB)s12{ki-}lLDq{WQ5{s8)u5hh%7>_;zF7kzNJ>-h@3PSIlg1nn zCO0fvIh$}|dNKmuQuA3M2bBtxnedS#P=n+&C9{U3pj21hmkZ@a4kP!uvg?=O~QA8yQA+wrMT!tlLdk6nxs!K5xRzWgR%%{y)_w> zV$@uYVriSxq(mXz_)ATqLa6{nw}hzc6>&7f>>U^Gt6DH`v@p2lp~c%+{8tnyzYn7D zc@*QcE+j}?@xuJJy)F#S4ZJeZ$-{wZfU5rXlx}4M9^WRykP-^Z9*3gO@m5(AU1Qp3 zSK7Vp>iqXEJug;Fnka048O)otfu;Xb4lBN+qKdM!-r?8TTXx(zMNg_Xqcy`d3JGey z&*uN2LXrMkelc)#+ia3czju%kPE3sGNjOob`9ZieNnH9K+20x0OaLP2W2Lzq4xSKd zfMKbiYOkq)Lq*H?9A66(N?ViHcGmDU>vA$>p}So-tO%^CjOw-5(kJ^G_evX zB$YcTNM3L>%ST-S3*SZymuq!KW~!WQ=mF%_0Chl$zwS`x|L)wLns0AToL<9e@uEA( zwRMWMWS*yOU1w64{#ME75Z#&u&ct~W^Kuz_6+D(Qt1b{;Rmxh8qVfPY^$mH5tlC!w zeB0ZNc~)nBzOTf(a-n`o1+eN$b~i>?z^uxikYK7Y5pWQ&IzQN{PBhrXp@m0i;Bd|% zocvlTh04&N$p77`&E?UyGa8Q^c8e$3Iec(uh^A}sZE?42dw=!(geC2U7(oa+cvPv) zYtpbi{Hd!BjQ?6IEi7v+>%OZT1Xj?f^Bh%OyY?{Ms*ybHLXx^>oq$9W`qObS6N8hH zT+XWEFD|sKVoGFY5HbW*va?ghrO%XRN(~G*x?QA2&)N>GmD`Y!LkPUG-Y~nxV>WWH|$PU ztTFr6rr#T$0d7BI4fbgr;S*KeLCC12r;DkHfei1vvey`r*MkF^ShIa2%DxmcO`6QG z;Fa0YP1Em*Dj~_O!4vougjZJIJpR-k>5t)k>S|(Ybc(3$vzj^ZQz<8{9%;(_vy`t; ziEIr&4t3a>2#ea;^M3f`1X15v7dY8S)Qrdk!_2>4sH3M)G-Fv0P@KSU1Dj7^q1y?+ z$Jsr^QtZVGO+}>#PPYb5;6W8tJMGs!(^fQJ`Hpt5@s@d?z*YFI!4vqrj`Dk57yn86 zdpF&hW-OPe|KHn(f~^@7_!WWZTjOqEinKa*6kLC+2=p9f35cON%X^&A;vA=CMFMJ1snc*P{1dVU0goD=cp>(rn+=#ET4ztl$Q_{=|2sS1r7Scy z(;sFaGt8Is)E>HY)mY|}{sFiqWQFgcg|dQrwyPG2Rx+3ol?%f;QbB|Q`%7|Mp}!aE z5CP~=WdB}d=fLQ?a_`st_h0-qzH)PKxjG_;G}Ssw+iki@zoa>eGob$zqf+N1`USi` z2cjeTO4lCua}WKWjJv|NGm!(#&YARd#R~$Yui+OU?y{R$CDsLIWMaA5kT9&VhiH$WDR_sP+40DdAuHwb4Dq=MzRAy?Ft;D!l;cKiM zQxG5Lku1j)G~lkNMD%vL+$ocuB?)H6LhAL*jk=UnV!H)u<(gP(W>A`)Q~~BZ+-v4; z8y}l%1E;nXNEFiP-oTYIxN?$Ajwj++E79`+BeYs|Tx_=vDetSVN;00wP|@MT1xC)y zv2BqX7MEfN2IF1N_af+~roth<*C~?oaIB43XlSg9ku0V)2BZGUdm}n5e>uJ0v(DDtu@RTQ>+Hn7v@;p2TrrpDn)qm)(0Vk**w%=7Fl&gD-|@Kj11 zSa4$eK5S;DXTcK%sA;h#N-D`Tg{D#pcq$U}aP+>QW_t&D7Ud$380pYEHx)RQDw7@* z#?C5t9*o|ewjz>Q7)mv~fkir?f>N;ttbCr5$%#06-y$*->7kHBW4a_@APyBKasjR-IAK!}0q)kf&yu+V(WhqXpZ1*yt0ju+4$1O-Ik?1V^Q%R%gtAKf!|OgPR~` zg*FgVDyhotCJ(3oJ7o+IZBShqy-le^3>4HS`dMe2B6c;7!gn5w-jls9ANoD4bF}!| z=o!o^UYBTyZPJo)M&F6fAt4u1jWRoA>x@igr**)?eX~4Ly8$#lA6NOD9!WYQ{1UC~ z+AS1n%mlKWdXUQOhQ9Yd(PucE9@T3K&mNC+qQajrrkULsSD94pQpyM=int>A^i1#Z zwoIBb6;acc?8G3+{fm8*qT^1H6NRU%!OfoRtf!h)UFYf($vhISSe%O$7#bGd+(R~l zkHUS?!V@1M)Fd@}oYF}WDNelu&`E(MtxOR7%DQ6n$L~wy*%C7T&5M*e^Q?Gkw=&BQ zZNm;JzR0AAqrGk-~~S8JfQ>uj)! zv-1RDwQf!^R3FUfDdilxDM2DKK^9GCLp%LaEZo?uY931^(%N4f{Tz5GOlZjqY)G@{ z5wQ9{CswjX(cOe@bhNYvQjzyA6ctskR!{PmaW6$;bI-Juaxi!=>&g=xgXy;XS@0)< z7vN2Fb3@lUEKpKGLt@a17~VsXB5YOYVmE!O77O=Y-==?%Wx|;)&yw3(+lc?2*yPwPNfWC{RXv#dueZDKrV zMrDx^0_vJsSEFPNniPbZ!-42IH9poFrs0Z0r{X+? zN?V@gyhQBcoz9x9wqv95pGOIE-dX2S<2S*x(YcE(f}*<~{U82V=w7L-D?qH5fq zQ;3kR|ESDi#r+W=w#HR@2uMrFiqaQS_xejzsIa@F`+pf?*|b>_M=Vs`@-OEnR!sq{ zDWBQVd2hj+hZdMpjfrLbv?$gb!pkwt`<-e)UiyV`tOPPXlWO2?^)piKss_s-sLE9I zxm15xXtRE0AF^F_+w=mOK1H@~2*LQqua>gu?H6*1zaTOHES=c6;7$@crCZr^GqVgk z;#b8F>0TF57W%meyTevqYt8{djUkfK{ygXW^yR=+b{keVV+y|N} zsc7tB7{|XtR?(LP9`9YSD1KEA1<*BwTASlPU0HIH>)W^Gf0h9Kk^?~cMR7KSu0GV; z>ZWp@!@VruP zjg9WBs(Y?X&-pcUp5F4?>J-ucRTpi;36J7Dh#Z!sYlT|I+*d_Kqcjc{{6*~O3jhFMQJBQ| z5XOmFx{RzBhs+;wO}efDa6w&D5egk_5VYh4RD>E`n#GQhrDK6+L^2u{Cg|adWP_Bh zamkrM0qGi({D~qklqOx!h*jr=Dl=H2Vq6>*GdY#b z?UFwcWH&PeSc{Z}iZ`Qxgs3R0K+=WgnPp4fMPTN}0Pq$~-MT7p)NB$OyZ=vBL0$er z76@5mKF8(ip9xhj<97~2;w~?WYwGlUMwg|5W8SX>euIsL`GJlDpl~i!E`XxJ7+C=L zy%}oiDt)DxApqnO4|lxQ&bf|4y;7`-nTxWMg0)0y{3L1kIIh1eGn}}OVp9!axBzRs zJ7x|aYP`Szf)qp;cR8Ysh=C(gl`VpZiXgLB>W@~RM<8?((%gK~>$F>uC7%uvA$&7O zYne9MX<9}>1W=O3esszvt$~9nMrwQK01QA#u(XfkObh?(t2{d&)7$*v=OV*|xP?Oy zcIe6_S+QiBGSY*BKUAT@rGX=|tb?;VW3+{LsOXz@S~naOX02`ImzlcF6FvyeW3i3t zsY{;8oqlsCBx_|lb4gBx8y>+t*)27Dq9@Nc#4 z{2X{0jG>T-aVRCB1{7DgRF8Cx$>=!FR6a4e*`r&DLsstdE(-&sMy2Gd^TXod(G8u1 zR1uyhtgA<+)GVI{@4~X%cd)HUo!`k7?StPVl+qMEi=h{U7)m%)w3J08pC(~foQBoD z-Ve$sP(`(CG~JfW5U?VyG`yfqb0hB&#DX!YU=US1T(z}b);dmKd)W639W}(gz&WY@ zN`IwUnPu1KhAAPRg`!gPzrC>kver#4-8mO^DIl?o}*xL|>y#DqpI9l>7S>13(Y z<3VTJIqK5e;cHd{g+E|s+)#>}h%qQE*(F>SO~V<~H_zoa5gNMZY;schZQ_-n?mee{ z(4R=pTx&$O)Lf=P<=C3s+gC<+cM;dc4y!iS_C?u3-N-%-YQtcgSUMLZi=C>M3&The z!Nt`epISu0SgY(Xx~Ug6Yp?QAhM&)68FNSg7xrTuYNi`Up z-QOA=z(8fH8a@%fO$8Noq|JzJ!4`-y@K^H4vjKd3o6T~^^1)IF{IKx>ESr^X7lrC<1cP}Qovsa??0 z0jM(!RY0&#xhTM~XC+JGSO}VbjAS1OVpp>;pmN zt;0cT@IJTnUL5bq!mu}OF9TED!@mpZ>SgW4&2hhT0~66XaCp9NUu`KcFD<&jy|6L) zuxbYG%GC4gQsBReQJlBNU3EQiUbjqjB>B23Vd?U=C)s9>H+uz3H?Fo8EVg!i(U8}9 zG%!Z}812+z?S`md>m2|9Z0_H2V+BVG%xTYIuC9V!ukViz@`}O`a7_E%X680hlK6b<|*L;mUf&!4Ig3N;jD#!+KKokQkDXh2&zD@ zNFDby>?jNuN(ebW5%FaDXA+WMh_}4LYnvsFUmKMDH?$-B2Ybis-}mHr)L&@;<$$-$ z(7HO{e|~oAE6xxr_utey@4g*kEy#15DV&?$p;j1 z03uC`sUxBgf)q@+0 z-+^PZt%0p<+P~!CUr60pAD%BCm$Wf&8d37?jmyQ(B3;Mhx*oXx7p&Xky(AZU?NpAx zf7U(X0+>vsY;X&BeqTO*C9HO;);{pD9^^lJz7g{m9Pi?TN$nH-Wm2Z6X0tvf9*P#pH7~p zxr49y^-fJ|Uhqy>FSnzA^Njnv6|0g(WtD#TU*a-|pE2&tug1C1quw=nCOnz{wO?E4 zs7JOi|Me8e)fX4OH@6%;H)FEWqj4GEUy^;Cud{rA9mjwC2lkq`#dW;fNpX`(f_-(0 z>W@%y^KNRz_YcqSbidL19`}DUg9xduTV2=k(5L^t`u_s@*ptXxJX%xUM%?}2fI%bw zc=a5nSI7!8nt#H*^=A+s$uYRE{y3<=;f=wA6Ib1?lmKwpdB4>=#IWp4c`O{YEjQb4 zAFmGE>^pO_@;zizN_3mC`1q-YMnviXXh`hqC30&~VaxuwDEv)VG=ZHW% z8y}yWPe)NRWuu}as(0BB>SZq4c3=a&^P0Fc19(cBN+_~i7#yX~mwbNXjjtO+Jz4K* zhDp{(1Z%E$v7)ZM%11>?gX3$i=S4AdM`=oaP3^pAE&QpE$HwaI=+mAVm)}t{Jqj$! z{56SM`OeIb6tR%FpZ&7vG+E!J{ggF*3F&#O8HRA{i@eA5Ttbw=LI5ckMgUVKtEXTJ zNC3L_d!TV;_ug){R;@dzCu#FewFqj0;Zx;7rioergfavQq$_eW|8Dta`R0nT)9TDKUk6>14cL{6A)D| zvKZzWl`~^(sTvyKtZT^xpp^YWuC#TfcYKRsL$3_W;BH>waM7ZStMF*H7qwz}c8) zo!`e4_}bYY_q*3&@0aEW;p-1)V3iF|Wb=XWr>{9yRMH)`$#aG_A{JqyV<<3Cv zZ#h;7Y=seTA>DJ)-FL?p<>LGU>OYPXN;iWfshCD|58S0ssPVLICAWrX0dW1mUrcFa)lMbA-?5T&ghV8b%n#(&Rp`W zF;RD3X>ZOi%eFH^zVOEu!8h)q`Gjcc$22S)p>5>A-NNM*)sh=v*J7fm*THZ<7nxp*)9M$6l7JI#FE!Q0&zTV)=$3)>>sMK`#tl4rOzwgJ^urD7Igcz=v}4XgR}Xb znHcDUA(#KxrgqjFSpFKn&g~A-M0;$1Pky!J=aY)L_1Y2IL0MRHzYyx@7xUX4wg{!| z&kw7e{>+I0?Sn9a; zmCOQiiIb0ZDecP8#SIdS&(I6#uO+0l;X$tKtsSIzC?TgAOiq2GGI^u27C9r+q>Otw`aTV zyp`=msOOxWZ8O;;x3{f8R#=lvNJTm_LYpLtkVq#eC=D4v02?k!L1^0w1%F!*5`PH* z0t{Hs07C5e$q8-L6d(t5Tm27=upzX6>>U_J`W8%(%Ot$TbnVAXKmc>}vn#ta!JOypz zMQxWwqOcX(l+8cxTmOZ+=XVO`VM(N={I_GBFP}Uf z_gQW7>JjAKA!qBRuoQje%4qha%KCi{#RF3Qz%ZNnd>W@ z?PJzyId`RT48d=#L-Qx=w~V`Y{U`ZBY3)J&SWLPcBS_b0;b-xupw3sG|az zWaXB-?Y=lSl8t;#`RQIbFct-6#&PvFk{>6p-b3Js*YH{*Fz{jeJR6QP-)|!V>737nI^xxR>(|9OU_oup7amf2@cK7NYF9*jL2_@f3!7ez+ zW2s#2Dfh1)k}c(x@PiwMji7^KT@G*IA~-bOP8jAApc}90hTjMm94Xi({Fs@9WJ()@ zArhju0DE`@_yujRuLuhkO6GlfkGVcH^j(BrfIjIZXMJi>UC>ax=tgF*xva2;ip@|$ zS-IL3F$?@>vDH;zoW6G@VN=@L+-yK(h#))O^q1)F_C=V*sLG~Y z!&Q5|crK-qcD<`p/xLH)CH#z;5)6lesoJ1uFoG@(?Pcb}wO&YE2vVWXti#v!8) z=I*8iqsAPC=#kt}RbNBkav%K-{oMm`k)ADio39`HIu}HUmqW7SYr$;nuHHIvl`ej} z77nP7`)Z`Bw+qdCxt8H8r%OiA_o)rXJGiF<|lTx%Me{T=!=Ol>+2n!oDlw;u+Clh?4S zuM2wpXtQn7WZyFav(fge)<3rtZ^N=rC`jMvJ&wNz=b^l!hWGsQ<-S$HL(ftETb|gf z-$0TppO<1gh~=1JzgToNV~wGR9{xE;UbGYN|KC#9H%Jtg!t2v%MBzD$MHMx30~v~< z;%51e-bI3iaA1Wg4hk#K*6y$`sbp{`9RuQ{#Yr3DfR!aiCc!f-D z17KpY^&_Z5d@C;zk9iG_?p=bvA|0{9=gucn(L-Ig@G5jRdIE@iIxO^~?e0q2Z{1Ql zY}h#6RF_XOLZ@<^?FL^G;OdSQkes$MU!kW{3xMR*i6o*5^}$5|?AZ+@ zQ-o^(G#&s}z6X^L%A;^I{OOglq7r89my#vs=y@s4pO0)GHw9Q0U-1w3Yp;^AU4;JP zpPw=4JgF(gZMAO?y~@B8R*}#&gk|U5Kg-w!Yez?+nALez(8~Onq+L?ai_+E={+zl-Svi4r90r2ea(C4P0UKyqGD)IK&hdy|_vF zRKAMy@Y0=bI+OM&7*Q4un(HRzsQS~65$vx%_FYUJGl?*3^QRY2wL-g#3eS-pkY}jZ z2#ds!`w*)|QUym}Az*02y6t8~_yCN)BF{D4{g|pojiH$!(S?LFB~~!ajI0^8o_QMU1yW

      5Em}l(6_kWI`YfLR>wXSzrB{56cob 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

      Ee=f7 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μH*V#Uq` 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 HQA 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

      ek?PIMREVQ7=-O)+i=0{hwNb+$t>=lx* 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�mRii)>Mp|;H9*7~B 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%0A_@v?c`ru~^sTH+P9+j?m9Um(R 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%0Adm3Rfc1<1PT;3<}k|?GGqfW<7IJx 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

      I zo~63N!SRD=QEC(dJ)(e{QPzeveD8|pxMcBvx)xaBz6ZF2)A`!^L=kfc`nt!WwrM z%PZHoX3-i-{(RL&w>&7+(vfZ4$M*hw^H)8amOAfrguJ#Ms&b_gNhxBkIBT)Gz&^49 z;3g%~`_savCpF;#r@!JNOn>Z)J9V8}DeN}acB6#Qy*KM(QzJ=vy6nCeJD{f_Zgn2A z+4n8Ti^FXxhX3|yIb^xLHV{77{vQL1zxb(vIAOPhyK&0MnuiT2p90TKx08>)VSu`_ zuE1Vy=Uh{5h-8x)^#i7ZU+o86BoH2b+`>1}Xw>P6HBS{AUxzW=8eLljrkA2^+H}mM z>+57gJEW_fXpwFB_Lv5I4Qr@sOW%PyLhtPv6WV%p{ximx8$k%AU&D&i8e5TMeMel8 z_4hDgeBbvY6N=M?uf&4`kM*knzclD{fQ{snv<>^YsLkSCi*KfT|1aSUTbzyyIGX5p z`LI20#faaCPs6x+noF=M|NZSNJhe^jPS}&lO`?M-idC977jd7p7nj!-nLE1lNVFR_%l^XEms@*~u>b z!4kvl!m?)ew{4yT%jAM?Hh5R%Nqqje#y`9L2VD#ZP3@cVc9$G1VLd4Fuy=Q@D$CDT z5I>3C`g`BI{(A3+KHO>5T7@4+p-y;jK26L$$%ayr5);0KZ%{)MyS77Bv-tDRe`ofy zE7c!T-ui_t`8u^-59xI*T|xL!zH6@)4;$hrwpaBZ^X=34=G>w5Z(TI zSg>+)bc)Wi6Bpg=gdQTyy+pj7|8CU2xXM4$vOav$u=}1drC<3lnd5+3O}ilBH-l_# zb6ss6)v@`wdjH|q=JBRUR7i_>WCYCot^TNK?WQ9oA5k-wO|V~vn;bf{`qMBEHHEiz z_YsEE<6=a6lT*1`6@!bZMxyNB4lsO$^Tv%UQ@F_PHZoJUAjIHxdme8tdverTta!AEYxnYdIr>qW#iHmgRMT)Eq9D&6{F`j~LDhZF9OM|yr5 zx-5P5s2$@jjb)4cC2m(Mh9SR=HQ0XF-dJ&dT^ErZ9oP;jSGF@{45I0u%soy;ZBO{Z zfvjMT@Z%#tE}G7Y>j||wvu>ft6}hL(03R9x#jm?XY%JAtdrE`_H&3x! zG+O37w?5)gdc*C>tOGL##mv#ONBOQpQg3crpOH8n7o0rx$ouBP-Pq=I#^6g2p7Zd0 z!7Vtst^QNQXZ##f8RUbNE_h6~f51co-tq=c=Xi}imciZ}{DKFRp!2yT(u89z|1Syaj6LnN zoMgbO*Db({>2T5nU;Rx?!$sD8i>e6-p_C_Rw|H%r{Lz39euIP6?U|V3_#ne`?Bw{Hx5J%%d6#v6DMEXIsy7ukRoeA7z3Qrq=!=Vpb>{lVAp?~mav zT3J3ZQ-U^}rZwa#cVlM$?93yr4fgGgCAIOLO;^$uT1;&^(y!k{Ktcq?rG9BrFCwo|_uG@2x zM8$n48DHW%ZvHp);vHHOvXv>e3C5Q#cW;%L(Kop~oI7f)YI4x-`kK6-7s|(*y+MJY zZ%Frjn{LrlfX98RGIIy+q9!ga*mTky}<>Ap~S=M^06JUH_9^>A9Q2~y_i zySo2j-YQiI zorN>?&Ufz1-C7Z-psO}-Z6K;hI4VvE2<+;zHAb0LXvy`rSXZT5RN+_4VS^z1h~?zF z_Ec0>u5uU%Zwxc^_wfZ%akE7PbzmV{MfWk8e|2dSVhTZrOT4w^sjvI52qkG0-(eSx zw)N4w{T|(+-i-JHPb|kqf3s*<7{;hi$hR0`JHG#u`DnyG8tHxba3?FI0cXOAuEz3v z^gqa{mvgs+YAbga))x_p3mfxJV%iJk$;{R?x{x<&_!r;#Elmv)It=sik|-Hl;DlSY z2;*GOI9nspDaIoierEQ?8lA0UJcFN~<1V6h7Zw0gB&{4;;i8*CMJ=-eQ)(j|O8OkH zbkNK$+2Sl#VA$Bp+r=Rb*LL%XFx@XCSOz^Ox)_7#c#5KS7rDLh5MtCi>yr?HT7y5= z^(M{yzbzf%MNPH{$d@XuQ1W2MaxUKRRV|F&BDTUmg$N|QM$t}T^;F7@1X-gBJ&Xcz z7pQ-@E^cAV`t=Y=Zg+7inW{}(ibpf{9lm-`uHvV-rv7!De@h)y>DzTJHO*LOBm4Ts zfKnj3YRgY76tNlQ@ZbLY%zDTB(frwBO>`vac>*P{ei8GQ#HKqG)*&f}XoT8Ou5mxS z1DbeAtUnnNuZLH4aL%KfC_ztWqo*7S7+?LBH9nV*AnlA6O4Z{dfIMa@RXzC59eRbw;{jJoxcZ$6PuGoNhQFHMRgoV#&eY#`d zCz_wO%8oFk*++n#G7nvQEYdmjoNgeO85KUE+^N}yQS`ryS#@(`qfEiB+*W>fMlU<) zqX8eaqlb!s$6wymo>tbdf^~)D!}Dat_xWLqTi%`K3K+M|*c{VmWs)Dl@TU-ViQQh| zk3RQe+~wK}K#Oq^E|Qgcd##KHn_|>Q>@4foItb)(-K-{;yS8M;F8yZdurf-7e7KlC zlen`J&B%^Pl|H?CgE4D&s}6fJPm?ibIn%a62hu)Y8aO2}Wt(7vN; zfUL|Yx#X71undDbVKyU6dbQ$9^UrL?ebV@s{H{zMYH2sHRwj%=`6nDzM17mWbL>ej-CNIjj7aYHekY2iF#?{=~s}iCor@$VcyJ z%lmtaHGK35hgqp(tIcQLaX**onX~=)-2lL%kJoTo5A5W_=ZN<1-=Hy<;6Zzc^Aw#dn5=T7JoAQf?Hdv!CX&<~gqd5s;*CPkRJ(vGvyR` zu^_O88VNw;$>bbCYRb`_&|1yFyvo2Icw|k0D{8F}M$~+20%bdDyJm#gL9n!%mD&?Q zLurSsf+~r)OmA&LNB!Jwocp5Zk&Y>@BU=P!mPF#g=MD=cLPG<-QG*cqsb4wxFFZ59 z{M+8GRdQ=p`W)?gs}I%xm`|VUR0#dMcITgt-9jwTIDn?b9Irv84=x!*DJ3K$=*8e? zX{?T3q$7x)#}j14(qf3-DOO#85u(aPuSxSb-k-NSJDY4X*0Z!ocqo4|0Dedz2anFxH$Sjbr^(8c;5@(O%aErC0U1!}9tkRwC<$4SzC8km zJ}Ni!i@Nj~nU}f$xP-sR4pglO-d*A;v25kP09<-&Dv-4`~UkFqJ z2El>;%E&huWTF7H#Z|q#^?lh&pDW(kr?vO~>t(!j1LUd>aSnt+1YGtSpcSNZ3W-{5 zhNBoSzP}Mp)?aVmwC|bG(}N=hN}h&#W(+2^2|*zSWYgB5*t$qgSSA^mF5CdD#NZbh^Bd>jStBxDwQWLI8&LC64F^REy)8&(XVzp$ zWj5A3j_H@5dc-e!+nl^unlbu@^l10>@37w%V+^O-7NSw_u^LMbkCmel-y-Rq;eS4z zOArw`wn@sflIs43_((vijX*{_W2w()yQRG}H0K5drI~&pi==8YDg{8M2~nmr?L^W3 z0zX%C<)-3mfPg8`Ko&b4s5cU1m;@R*RML){-OAFa%2s;w9QornNB6d1yNE;q50Rck zq#-ewZdIBq6+J<_h#7l-e$J`=^ao81nq3fs2Av020u=mbWd978+5-X{j-pxaw2s$f;%O@xhE~uDKE}fod}^haKG>5hWVX3Svi`nS}1w z`8P9@JM^A1v-!Eqe8rh>CXw-Uw3)}j|G9|%y@}^1+<)&$8Vg`XO>r&z z^m#4b89wl*pXNAq9QxZ&r{VuL?-vtaBkpx#ghV+FD1j>dM97$k3N+%O$>1XywK;2q zM&gf5^5GKd3>qAn!$TSg4S)eNa0JLJT@BzO5VB@N;6|*(l9y?SL$EZl_K@_~#eb#A?boK_=DajTAgs`iU9bATCm$CkA#V zeZ?lk-g1Vrn1d9mG34tIONx4$C!Z$=b|$^V3LZ4D;T(q32I|$im82p`&M~C>JV&r( z={{IdW-16Bph{3uhRSS-KC@sVZM0#92n`{SASIY72Sl`>=AfSfG4)naYL|Uk=g8W0 z=oGDR{hWESLok(_W>X-j!O(J!f)x*Ws)i#)yFf$Lhz$);g~}>YV~zAnWOs%Vso6-P zU5%qz>GTj57>MBk%myqlQfyGr${XJ~rnGCcR4t9rXb#330wNXL6O@3L6zUM_M!IR- zRJ`nxm@Lq_9-_J3Od-Q~4wlL|fPt+I9eGN{Oh^(V@FJM4JQ{L77zs*04Y9D%rqgZc zwsz5BHh3 z)XeTl^tE7hPAQPMoJ$zqL?Ct|oK_+_HM1sZn?MQ~^T3or14t9J(bNm$*S4gU0T9)R3p}cjm*+f*R4IBX_98>T2@3m`^ zS~48OFp_#xrn)UJB&3EQBqxJ4b&wX-qzR4hg&`W`ayhG+)JK3F;vU^H`ynj| zNs8IxRWLe?J2MiuP>Nyl1@1IVCBK$B^x0XptR46P(=JV>v4qsEFT zIfQ5t3nc++A~kYDEw*Y>lT^}HlyImxnP^smsfh|?q|!S~__U@hb<~{>lWeJ%Af8s3gyq9)*f>u)?i@nEtP4US6 zTwDJ2?FpwOVNoj^E!~1ZvGd3%!IN6e#z;@0o@oGf#F2|fuiX`ODGpGCoJc81a^-Rc z)<_{KHlB%(z69-74|Sj*&7%`l#F~p0#Bw}>gKX4PN;4N?Hvduh2_--|TjM6g9FRel z0_R6LaKsia^z4|r5)Xz>qAYnk6DTtQ!cY_U(_y5lybUsQ;CLFHdIaOaEj7YGe?Z&S z96}8!Bu(6zGIQWKI-ME>g`VvZ8GuuZbqWQYBH=OGh%H3gXvL2aieNFPIAvLfIJ8lX z)2a?AF&ciRtvlNJ@RMre;vExO8Yn}&$ONV;DgF}ujTioQYzLYq9wa7o@u~F!2L|ai zm@^4ZqMeNw{&rFh5K5FPq~S^oK+|*Va@GztV_|w_f`#@SkT*e~my9w}@uFS>d$Z9p z_!3+BdGR;A>&>1x%+*AnffYwzj0de8eClVs`nQ{>cDe;E(l}9kWq#NzwnR{|nc^WN z*LcWpsiT7o0!iw`&FKwLVUhc+kl}Oj$Sf0>};=Mu_d& zC>8Y**KEvL=wtMfLTgmo(4@vI30^&&J3jmEa?S)SG4SGA!=26^NfJ1LTrBjv`1qpk z8Lk3V3^nO{qlSpRpESJJ0x+W$@u-TX29DZ7v87rsNLd1-Okp2`I0kwvho96P5>yp( zIgLhOf@uWYoH4-jddc_{y{3Xhiv>zGq*gkjqLmZy?AcT!oRB$FFQnrd23xFFa%nb* zF>)plA*)$e=j1j?TaPh~1gs>$V$%k4oZWR#*l5DXRjp|Ff*Fk$tZ{kiO99eT2%=HV zf>SCR0JRci3Vx1WQ9c~51cWe7*3QVSk5~o?Nv$GSh+}_=Z@YaOoZhkCA~|eGGvgvf z5OUS_;=uA&+!Uf|62D2>F*U?sskmNAsq`VkrAi!$kyLm5Tv4(GIe4+)K#4iWE-*%$ zK(qEF_mP^$)+)vb0a1Vcd8H04(znFVkV z5x(Tb+i@ysc}HeQ2{{W9n!{$3L z9_H%tX&mOaFK%Xdupn?**=SKwtAGqrJcID_7eaQ81O1R08Rtk~#mVzO&@?}s17zw~Pop)yr)DTXsjr>*%DD!aYP|#I{6qRQ3i6mo(Rn!mhkM#R} zs_?Tk6OW|BAxk{#;=&QZ&d7~aBgw{@fj0Xd;rRMe+*zFSQA-089lY?#fg8Z?P=~FW zSLZxEB<#=seCDjYMV$T-j;ZAZ#___nuii}v^LRlAoAPy62UkME}( zfy(MUoj5rKP^IAt!IHD2O!>xivUbv({h4HcVhX~ zG!TqESisSopaME@ErA)Tda&czFfE$408L(32DHGG_t-}iq+72KqiAu(vs@6 zqgLLWZ)PJqBQM$=2Tdx3uf^?OkzXSh}DTK!$?v_lP7VmJ?H>Pa!BsQF^-b zGckGMGlZZHE=3#*H45q^AAunWP|S|hZ^v@pz4cDq<8j@v^dS#ngMb|Xzux5Z%0{^F0WH{Oo zIiMwh=pH?zx5h|(EI z7!ElR=s+*U(mD+FRqRkmSR#T4Ae$7^>8q1uH+Nx6hc)M4n*n-GBFw{#ho)_Wn35S^MCn9}ANavZ4_ zbV5xKvq-u!3R*n_Qwu%>JVUUgI&wCW9BVUY2Y7gB?NK3JJSS!WUSbp@kg%(QlRQuu z(rn3SG%+A9=Ou*zia4aDLvAu2<**HSJ_5A(cG_Z=5}o1?N(j?XX0xheDk$a-=_~+; zEUm5FTfW6e4h&PI2NB3SkMkq&PBN|`z^5u9wpnfY4G{nU#$2iM)riF-2T}*BJ@AVR zeUtt<^mm8$S4*PDD0bKpwDbeRgD_oPNk+3898zKAouloxAAb4!My^I*(MRda{N@*M zFN0pUwhT$*8%He)BdFm_voKn5y-`YUxL^%3sF2i99N%VDJ#|>^58zgztwkD0lUUgTCHN3@oEl2Ki@xU>5jZ2S;vAAo5VcjctS&Ku zIpRZHunjeHjS!3r6;<*ethE~Cz-Gz8$#Z;Dzz2R5Og~SN>6ymm$h??STI}XbW~`P{ z4(5VjN9s6Os+Rk2B97uUpi?!^n?(jUkf&GRgvnmtkTa-zY zry$rGwP$zoSL$ZF+5jy?n&WctkF7OWF)&gVf``OU78mh3!uU(KF5qU|(8!3TISVVK@IsSuPiT!tl!?m%mN+A_- zJLoYmRavK3g3+^^*K@H!Pm)KDMONU5Bvof#PvvVH@?I8#84gv}ffz2fDxK#Am(Uxl zWj3Mw`Ndwj-Hq{TzuALg4!PDFgSO=i5-%kGd&JmA-T^|3)JZMInizz&f(Yr24FozS zirt`6l&K>vC*-S%Vj`Go4V0Y~o+^PiVNmjK_qhPj^#9h8+N6)xhqjv*{SzMZZ9DmUOHpr`rLeL?&y1gv`n$jS+}S z$O#FlI4o7;wn0mOB506ls2+)>d5lP!DN@z&3kOMnSi}dVKij0YbdWL>T0EO&b1)DP zV&r2WyRr7hKUx@psiqRof{J?m9x&0&h9_~dXpsfpw-Q88Ay@_pZIxhx_@^92f~p}jdd}` z87zP4+Hc${#zkDUPzDw8tKoruHgX`YGUS4Mi4n7`U2_7l`q{Oc=7gs z=Pou+Nc!l^j7y(h^7@)j^UiS&O%wzp6fE=vmmyiRBpQ*VPnwTI=Q7cKrzHF@s5Y{$ zg?#EX+GCZ$Qh_Ety7Y4MfP)?ymC9?ViAJJ zY(e~MNT~@yASgOuRA?%}9^=?!fwJR&pbL|=3E~)AlN^n#jB;?q>Y*eYNoc#%H%0v3 z7jG;0o+=x0glcyG z`oA|R_UiJqGu!T(Lc;-ARCi*nY2!55iEzxQ=Zvo#A-pNT_Cn4VRssYM_s0%q^LHQh#TRDwI% zg3=6`#(FkZF$yKbp`x`0)Na+u5D)?YV*oQm17HAPe{?R&h5-P00+8GC{rAPF9D%l; zk>Lr+n?0bZTL{%}DYmt-dK|89fBz7anFFGsI2!^0Xn=BaRJ2jKHWj= zt`8wIF>boU;U*y_4Z)tJ1`z-NY79nZ0KnABVz#SWQiTb{L}yM`CHci?6aPF_R0P{&!*5n`Ri_-SEtZtbLlp=oO(O| z*v@t8-}{?y>eqB^E%qI@k1oIU`L&#%%->;uzrOvi&A-PU{^qA=7}`DC*Dma<-Fm-% z(fZT&cIex+Cypg`rD74J^#iga}KIR{z`7axCepgYu2b3M1pVr z`sdyLy@7o-t#9<#*xQk^>aisE0{g^d;R?l>fSk3f7B!LUF5pawVM#k@&96H2lVv;W z`*wXCi zPp%iX1gl`i$li^-xxp;#s&|VV^qWM`Z=-bwO^Ebf(Y*BPi_W z!B@kAZ05v$3^CxcXY^X{3pYnYhVJerbj@C)djF)^6eiS5qQt49dZEJcX)t@$?M()W zSjxulceFRBOr{bHURj@(g>5X4s@pZ@s+^m%>CDaSwtTTw^s)Q8?f*3|x4vm^zpm`o zo%(ONv6Z5jWW6RMYmyd8nazgcZ6<7nQe6uf%lUYjSf! zu(QqL(`n#&Tg{d*{lr7k4jQ~^)=to>yC^9f7GWYO8z7;zJ$fU%sFw9MUpeb4=0QP* z&YY=*O_PBnWUL)EN>>*aU^iUw4-E_9=%7GP-3`{ zUMhK!$>hXfG0SYi-nV+89=7_ftQjPe=Gpfb616^sFdEOv#F0)Hih_6&(>yj|L9Vzh zJ+0JxQ_42Y5np7vz2f2JL~KQYL}6H1uyxK(V179 z3$~{o-!pR$g;`8NCMdBGo@#McXj|R>Wq#`X-Aw2TQL|-| z*Gxyb>t(OkY@^MI5O|Gc<99hy!?#Lr3k3GI#1i#>gq-X>WmDe7{sS`Gb^eYc09_Ni zwo|hu4WX1onQdIF6fVYBHU4uZO&SI<2b(}DE!kL9tXRDns0s#$P5D73eT&3)QbEs7kjAlpvb7x zGhZ0AoB0Jj_2$u{?lQgv_&aP<&Q=T{zTq_8-DFCVFh+QvR}GV~4;|lvw~n1p+02XL z=y>i-4Nng#TMp5H%`-|pT=sI^iO6miN4K+|vY^1*%c;b9F~`X1-rW>Z#|&V1<`^;S zlv^jxuDrm4vM&$(Mcbs#PeNh5QfUNpB#PkBtf-fWos#?S{zvn`UVU)P{t))R%_W|` ze+Ru)vA_G~mmQ(|H}~Jy)Yzx1BpVl-fn$QEW!@B86YM{ocpPJ>TVK!Hbm@Ege9X4) zqtCF-Z0PiLyL6wP>#M_h?%KU`-;VFsuOATZBKYu_tj9&c%Xp*AQbZATo0AA7HbG+a z1?5PW_luKzKIHe_3bu{x_Ad8~?S}3xa~457GwPr z>G9)m^Y~4VsfiNwMY_W8$SE^J`#~1b#=v?qIR$Q^OzY&9WZ*hkwRvw&p)=}iDRaJ? zIqpmU@a|V>n`i&u_TRDxum7sxSc(7?l}!7iRE^;iY{*uT(G#7b81O^N%cyy+=#*w6 zk+9Pt$?nQg-(*0@3*Ha3jsZF(dXA9S7WvQO!x_t_zSL{=mOL-HHC-Og8bdlHCzIV% z^k(B>9(s0V43gK&c!#?H^wpm~eilhmr#d!ciJnIvO~p$j4a*p?f#8<&A^&oYN*(IH zH9-V$h35-q0AJ8;Iu1ikY>Gh-slzfwDB1FDF8Nv1d*-Hi&D zPK*p{`V!$E zm1W>ZP;!#vX&SUeFOxbCO%P*-7*Sk%*4v#W;7C()6yQw?yyzz?Ag5E%nAzb|?}8F+ z%3>UXNe*gT{56%5(hqnz?5&z$HueM60Mu~8l4J*dOeAk=@T17~TGn95T%muwzMq_g8l)S(o?sx{po*}|S0L$|T3`Sk7lKcAMb*U8(f zx^GWQ*iU-w+~a=wJEWg}+=5hS?=u1PfxT3RfH#pD?<`T4R#iHwF4K;-ILQbNB}o)^ zyCmq^bsn)mR46t#>G`&$p3|GQLbFpAnMcFGRrGIL3TvvJCKZmw`y;lc%hW1M@zlYf zXFk1~q(3K=+W7kPX4^dU^oMmzmV}0u1wvHY42X9NA%WCSJiWsgLqmJNb+W&zjI9km zvAT1x)A0u9FliCDwSx#}zHgYd0kwM4^peQ#A2lEF~P>U%WFS?iBx*GTAZb8%d&E{Mj&5uE=^uyY= z4SsJ{r%KY979-iLNNPVyA-g@9c6?Bo$w#BsRfBbrFEWRAQyIK*=D$OjOq6PKEcAheAS4lTp1xPDkgo ziOW-lGXBJxYVcjGPeFf4QMG19yVWPar_I$~KvO3xzW=rAcksPc4MljP%v9-AK*K@F z{%IQM{*3=U|CFY@oUy7JYzCR_^oTXp$WVw?yv}3=*Q>se)XV7s9eQUzTf_DEr+(V3 zsooYf!>c*;wLYDW^L=%wY;RzFfB&>|l>m6tEW&3Not@zgIEC)Kvltkjs|A}9=NS0%H{q|7-iS9+VGf0n$ah^J%{Kl9sK+R`U?{i zr|!+QyY;yp!aXaC9`67CB@mPzNCKKus&*sd3*5Ae4Ib03{g&J-D!X(B6 z8FC3xb9ly4`la!6&f{?}$JX7}*}Zf7kM=#P-=5yVXK(JaDFz#yH>he?*8#|T6QE~c zD-pf+B2C|V1Fw{1Go0acVMDf)<~3S$th$2+8h2de|=^{0- zemth@6yfePNVSEHC24x~(1m^6>`a$pG9&jx50c0c!h>u?r1d~*dn2l&vt;8fAes@4 z$^@pd-et*pv=Nb3xzgJHn!U<9(sJ_Q|*8P(=?9(68sjB)VHmEmN0{o=xvho>O77uh)Q1b{|n38qV zIeHCd_)t0O*-u<9YWFPyh9+mFGgEJ06}!X3#W31ObiqsBJ|;77KKYaW)lqro3!Q`L zx8{HO!4E@S$`8sAg0pPVK6R;L?n4@M!83!+>CJpG_De0*EBqIqZ zwNN_K$`OoN`p>cGoOkF^L`_9M);NMnFaDCYpW1q7&=xnsOTN;6mFad0-zxHgvz-3GQ3ouN83}wf+FF$dliuu zflAu=`sTNudGQhoTdjE)>3>(3>J}&EAcvn|+;+)j{Uu)f6egmIG7G!%Gqo;Fo0k0N zwS9P2R^op*d>7W7akN9EI`8!yC2`1wV@&b~V+dj>aet}&tL)Q>^0ik^KA@YMYpShT z$inGo_>aTQmn5U|uC~o9G=h?Pi|9`8wOT<2%LzmQ< z?B_H3&jq~m9{Hb6?yGAb?bK8J9!B$|X-xS-YMLvx_6Sj*T*v|BdbMQ4y16eMDW{`K zsxr+E)c!nLjfu0=O}LeT=*nDT zpQ2C6E)3}nhy2*=vk@iRhHRS zV;>n*9?`%@zt7gCFjTtINQ~Ewsp0XJ&69A*O#OqCY&H}wGa+?bIqQTx^?JH&`@HFc z=zC`#XG_@6dFOM}-y^iu{(8Hos~@$&*d&zkPKp;+$5_`7=^}6Ue&?(MBrbg1*V`QW zkN$U^NK8nc;CZ{-Ry$*`@!aOJ)AFlQ8eb9@Px&U_(C1F?w1hXel6j{rR3#N!eL#N; zNrm~JmmI`-ZSqdNR)3rS`@X3Ly`5@CuQzBftdu<;JV?^m47HrB z^i|?GbwP4ok{VC)1PoUfn?q^2|EO{~rl%o-1;9JglEl2?Mf>Mu&!S(uLJo%8kfu=7 zh5XFHWgCC1dGl_a!-v@J)_fiN6OEr$5dxu{vbxGR4wRSbT>~FtnjW_(gX4%uvl?#> zC~vj9(`=8ap-WW~M>V(8lo>*v$Q}iV4`#|EUb*f`PZd@d;AzWao|=eA&gn_LB9nR` z_sq(5O})W*H4cv??H}+fZ>uTmvcm`>#H^S6_w*P6@%&vE%YjSDr-rCF*PKkg;*XL( zTlj*DzXHJE@Y^{Z9b*Q93e`3@_~CK^rKBZEO{|9N`2BdP3&V;rpyi@=+IUa796*+m z#lDwZPPPrMw7e433!KL_G^v@5j5bu-lr*cct}INL{);E3p#WZm_DPWmo|r>Vj1aJv zURFuFm7sa0%CyUfwOo)tsU#{du7~wK9;xWE73c0V0~aZG@_W*P6>2`ybE zDE3G{4RHrmcilvWDCs>=GDCe}RCY=-?7PTMszCqoUmA=9%k5YjirP>Eo9vqP)wjOK z<;1L#4OW?b3o+W6Hgv4_NHex}V^xxDO;z$`@G`6!XpT0LFR=}Vvjw*`ZKcwwO46*V zWVEnK`7*c`vVjeYV68LiM#^!v991L~VRZ1gcq? z#d@PE$suH|4NHlo0H-=tpKjlQBoVHXBYLqV{!E+GI6s|G`&LI@1Wh&f6ZgtE@7rII zr9=JANe**^(>c&HW%ON3RS(|(G4Oy4LN$=9rx%6+j3uzNs-4NWb%r;qF2MpsV-`~ZKM_`5UHjn>jt`Md3-|__XqCV|7Vf+8sUn8R9ei}zD z_>+O*ZuS(UM(HDqQb}}dC}ni=@%@=mWNIqSz7#h#>T=CG$4uW~kR<`#{oQovWe=Gx zS{|cWe&xE-R?KhLkwfd*Jl6j-t%C^PUrJt~)FWoIlV(Lnc$Fy!!lO{*emu>WB z*j?%U@$2(W2+ff@2<^ki+J=u$WxYzs9o`|k;t!&~Wb0~`Suj+~V-Xc{(lQaM6qb7*+1-iw z>ZiK&PTiJn^J@FK$~>1ftxv(Tb?|MV8{7B+WyU~0h7QT;>&NCcC?_@)BK3wzv1U5n zMKe1lTB+M{X8hd)4q=Sm(?pFjxgPJe6|cH@&m6BidghuMM zp!~R>m!3AuxyPd~e94J?xB1XqXu8-2J@Bme@N<_|K4)ati?XC=P~R#n31mv)sa76A z+EgdUZ5>@|wj$ALn!F02$K=n8VVviaS1NKLnqJO)l6e)$t+19EKlmh&P2-DBPpB7l zdCTfCQ|Kr?G8tzp7p-H$6ZP$UvAUDH*qUS`U!V58j6BFk$PA*bX0%ujnCDz~mt7R* znZAKaD|I-nfRZbv>Ki@!uUjrkPt1>(u&a>f#G2Om%@MzpX^xcXR@u+)^ix~^qhnX` z+>QS3JN33WBC-p=?N(Mla<&6PLMCsN+&g!-c-erW#0 z=qI6W$Umm$bB~nE{KJLG*~w^lxat`{<1-+t;e6`tpH1C2)aP^QTXMm2Q2w1)t6Eq) z=255e`)n`bFa6nlhyi!zK=DpB*Eo%uHp?1Zi2^NZg8|0AbUvSVJ? ze*aWwApMZ}IbE9;*p5bP-T|q4{bhE*jf#Ok%n52$>mb9pB4(7C9U7AUOLZAvX=je z!IY^h_P&KlW4JR0?H0_w%_BB#RQ@=#Z`YkzGIs0jDLi~`Aj&2o8T~|zXUL;@b z%;Y_On@;#>%e}yRR_6P(u=D>?I%$@9tV&}hxh@z;=As~l?N}wad0W$3pZ&nZFIDsM zloaGHk>m<453zxgvop#rN<#9sr?oGxiwif+EWbMGWw`T`Pt$!dXjUHl%JcHJr?n@p z2x`s-UL&(&s^%`GF{2xBk*<-+HQcRIt-Ste@z4E1TVF-<=WE)}uV1)B#>q&=1UeWziuWPjq?>}#j9@e zj~ve4xR-XT4ZYP$CY-HWN57W9lRtW^>Hoiul~dmLi@&;s0ht6pF!NDE>)aTC-dMGx zHcvqRlS#IkRfOX;%al7e7GATPjovdk3Fa`S-n^4ZZG}+{@m_w=HbbmJ)J8Vd(pe>k ze!@s<(%k1{r>)AoXOq%9J@j(LLmuEcj@3N0bg3=*0miI~QkZYXZE zb7O(L0Y80<@#t;@1-%9Y)zJ$C^UnS#{7`DGcHu&Dj!V3FiLr#=4%P98VwBv8gDkj? ztDIXjvcTeLjB;X4mz*&n0X#J6C|DghR158M5@vk5x@LLtN#Lr<9x5jZ!yBF=Ic$kB zt%0lH_7}yQ*p1eqD>+~+y5S{gB3CbnEGQ2dq?UgG=lq8y=ZYcTmS+cJg~3=OXOpZ_ z*Bt>1;3}(jLMfx^bH%vsQ@5(E*Nfc;A(5>coe7oi3P$8h@woRXO|%`SRRT%WI?Nlys{zd&>G%5EaJo#7OoF~x|0$PxTn1{Xb@L4r4;S}f8_y>*V>_%)v@~XHCrp}Vpj@72o|6# z99SpO-IaoJ2{sOs{p%$g#w{fWi(>#{GNlGaSb4IhIw{?m+(1dHxm_erI+Q z;fSCzgwRC=6mxmN2u$2sGBVgz3umRg0Ha)rC+FR97!zTu6=Nh?wp6h%%o3_(;vl4r zQ@{ry8-uL6vlxWLl99x|+C)ZZ2hEOnBNe11g6_kJtPqHYei?>cYQ|oqqo=jkIdqSn z&%<~s{2iOKu^aDIeSJ41ckUS1m3>QuumhgSbX*Jp?_o|TGO^{1PcEtJ=dr4F>a|k- z2?8Q2JXfwA%QXUQID3n%v5AWXy!r8$7Z4nLH-EmAZy&Ili!%jh5Eh{lU59PnUWvw^ z`LtyM*)7{%7%z;q1#=KXMPpF!&;cwa_DY|DUT4{#%b!i0;bNR)8rX8> zaGYfpulfH!{FUv149dT5n=>}w^{f9#El>eHzWR9Hawfx`5JmMn9m$x$%NYGVgaJ! zt|&uEoQx{90r^0>ZW!WQxi)1E5{xvM0tvW3?Px_EoIQmW!ZpL4%Kz*+>+(ts@=-<4 zp>{FlBu4mZ>G8JQ+&~^9{&hjj@V)y%)vz7i!Er`)!3(faq9MhVLGMK;kpUnpxWtQh zw9<7BZKzoUY?USyam`#RY%eMpAIke4r5)$!UUV5>?iAX2poNGvTWO1>@Kh1X#_!rh zH}LxL6QYt->cr4%m31HmHb$`3yO76KK^*v+Cij};4(SorK?j3`xd>59wqS)UaC<)2 zf4Fc-)E~sSbE-b5|G3pCf{)=8IgymshA09URh}U*!38?7JVoI^ZSJrn&4>i}*V$5W zKk${b&hH0K;7Xeer4cZMX;?J50jU9LgoRUDAwdEXpq)ymLQ}96GurmSTW3C%Ks5G* zKfOfa@(V$i(3G~GKmec8iHg(U@Tn^Y9pB1znA;{_iozP$K`3P)Sf2^$kj`Qjs zny3#8CiiGf^!I|Cpn(8OR=DT1b;-wVHR zQ7D=c))g1P3cCX*pjtKI#I_Wyuap(L8OIA-U@Ldk_+WgdPrw6~+q#5n(kxP&0(AR3 z|Bx)*HPeuMJs*Jv(a?%@tpLe09T$2|qaFm73d*N66q{r;&?6#7;J|SX(vsr5j1ciH zAz`S#Y>5<`1~pLt8!q}xtyE-fBR`w@pa_GdSp3CqY7NVZ0whu#@=PLwQ$rnVtK7iHSMIixgb7n5Rnz>$D};fRD0rTP{Gda$I)8U#Rl zR${!*NU_A)D6$Ar7?)s=Z5TRbW707}GFj}eEblc^@GTifQKY8gNfl>mJuy4vk&d=- zM^^@lv2uWE$}HGQA!2a>bF$c3X)E4E6h+JXNs5Gkgc`v$RT1Z)PPko{CxVt(&<4^4 zBU_Q;t|WHp6V*?Z9DFL)AndzUqHGE}cZG2_lt>)|JVfgPwXx=Lx2*xNE9vzPRN}lR zq_{y#<4W(&ISdF*7<@48hgHQi&n4K36jy|akGPC-A%JlVOKdX+)Y>{LwBQ41Efw*R znn>nEH3NfdlaNt8$cq8+Yj8E9ev@wa6DXpB%7dwtQYGV;tInHFnv@N4ziCc<6DU&2 zXovumEU36l#KFnqw+nDIZ#RJU^_}J8&^zpL6vI8sPsTe`0V~mvSqkDq`?qm zponzq(IAj8GVk6tO27p!QDXX|8CM9)#62uq8`<|3o=qnTJNF)12Y@J(+8G58vU=&@ zPC+yVbIf(23+IH$$}BBVDDVS$p$$h6Z*br-$zOxBt~p-27-rOVhi?d0~f1px`@pf%?2bVC6_?yu}cr6ppmi{NC5doYV3z`)6sk?w284J$I?s4J>{a~DxCD<5ibw}NDj-*9k<((K|9mn{|VuCR=$o4;RI1LCE z83j6}#2}YF$Q$A1&>R0_kD)`Rs)!nij47}fG%BHoC5mo*L^H2o0)&QESw4wzL&`+Z zsFZ@&Hg>Y{9L7R+T`-aA%Egs%N$(d=*Htmt(Z+H!Wlm3I;Aby<#n;V%A}6c;{Z?iXTuS4+2UNsA9pL zGzDUWgkVa!m?FqZSJ1dqAUAP~5KD+7d7JcB*`}-or`GwI*ikF!m!;De={*$6ua(n! zl*edJZ!w&T_|O7MCA7%Uly55Rkp%5J@{q2SmRhkdTrpTX>Xrw~@HIV1B(cXH>#UiG z1q#tP3|xxadq_Dz>?0CGC+DRMxpRbs@zhW65u5T~Q!#vPP!N+q29=u)|K@0_xZ{?_n%80&4{R=wlH#NSASAe_4M zQOQVZ9H;_>%s`ZD$hB;;Wpp#%4!IWiOL1e0cgB1XvUuYXfMY5h{G%egm+AgFon5<$ zb(2pP<$hXKO`@IUC>%2F# ztXVVc=s>)-X~#y2{^z-J*5#0EFm-%{Z3ufYH3U=zF&Iu0C|FhQ>elx84qab|)|(xg zcT+L&U#@B2z5L}YcI;of&-t+j`s=8FJ9fMuxY!ze3K1B3aPkT204)C?+#3bT&#mqU zYG{GkP{j&s>GR0GNP_X~9)uWFY>5qbEaispXFV_d&dv5h#mtn0oWn0lS!1qo=oV93 zalU#l;p@M4()28zBO^ru4&a+PAg)fzAL~SGO(o;m&Nn|uALz%vKlk~=|1NkgS$>(+ zGv!9!i(Alql~-~v?n3tJh=Hg%n&HUe8BV*Et6R_i1u^buNj;V;t+ujOu^2fJ(+IsT z^SQg!qS_`gim-4NR9d9sfnIh|bDWI9+pW{3O}6kS`TMROt(W@o@ni7biGcyTGb^DQ zDF%7*mk3$2$(3Icsaz3H=UxRMB5MehxSLt{u_$iZn7VW|dUeknDW$|l<*{LSUgD?Q zFHvhxvs(kEc!c;Y=lDx*eA0F7D#?!T`i6`<#D^>902l-NMi>R%IEv?4PO^R95@0i< zA}D#_(qagLw1>n2r)#{kS3uTXufG32(ElxiIt9>{h;pg7yqoq+&mA<^HpTzptmbz9 z@j@w|#$DNoiTh6lK}h6SySFzJK?`wIhEgmIwWIHyL>}b?y6t2hN`$fIZCtq{UPX;|-n3plikYnENvt)hwV7oFr1 zlsiN%Yr9_fN8gEK*i(z$_p|*szx%-c@LWJtsX!`R0`v6H@+H^VEW*A(lgrJKeS^RazEW&uq)?jaU>&XIz_qlIgeV=g2FTl_bCqIi48uX>$}3^9;7)FP zMVL&mRN=V~I#;8#umTtl$Ed(zGR$HQv0Pib$w8~!v|><_j%iM0QObbQL%71d4Fg6f zRQcMkymPgb7`f^{eRlpYjfj8rL<2e%O9}KAil`Fd1q;e<2vUFXNOIMrl)O_&Vcp@; zl##JWxuo-)thp)%q)2!x3m|LMib|EEamc3PV7Q~gxk@(>dJq-fAOnfYl9K2lf`hT) z?J;WY&-_v_lIDr*E3=7oo$7A4 zpjsf;k*VitJ#?KOFUPGFQV(dE85k$um~fP67E#D1A*)&>WB7QvBBt)r)5taxfei-Z zB|YUH7No+Ir$u^`@zRz<5t1~`ITk9%c2NUV;Z*xDlIa~a7hkBJ9W=IJwwa7is6@$0 zITKbX0@o%xzoOaQc#^~{yf|$aB0{9&iNz(zNw)Ab?0J@ICc-YppiOG!fFQL(sqP09 zBR={h7rW^GngD(%PT4>Hw`TF_vP$OSdK)93K*dkk$>~EGt6(SNG~fpS2|re(m;mjS-ncYyT?ZMxJdiGpHdUf>gLb4Ao^X4`n+hCD@jp@G6qQG!DW8eZ zAyF(~5f?&nYafw5Al)f|IQQ(eWvF%pRt8k>$#z;)4vm>~=76 zJE#ssfcA2ZQ`qP**F!$!Dw|3VFZ7@~lz0aP)=g};{X|FLR12C&mqyPiQ3(hnY0y|8 zK$(f1BXdH3uCumXFm=sDV{RykU=$i#_N{aCgjrM*~r=Uv*Pl|ulQWiV^HRS zR)K55ln~eTffzTXkvyi^S1F{I?XDv+;q>*xYblwryR}jX< zr3GdJv1Ers`gJe9^-)+0zU zfP8fy(w1>dr`<>f$|W-Pl0wnkp@>9`h$jFTwP52Gs3n4`7qOLnWb7k_CLD=rQap>+ zEU!q~upMW496BSR!O5ug-N5vWpe!Y4vQV6QHD$L<$B|@YczLxxEgD2LL?YRgo#-Ll zLS_gSVq(bT%Ox3uL0mi#R9c0n67pdb4FZ_m8nZnr$nt~BTp7Ye)KuuWQ-lo&yQq$` zT2>7d`L_cL_R2ysu#qey_|V9S!9-Rn`JJgSh_?KgX%-G?qc49l={PK8Cs-X8a%n=` zqJmG?Si5rZA6A!JsW*rEXXEH!?{v83W~PL}MFJu5dEzklnF3?ya*-&Ox?Ik~(*K&k zFX5B_{)sJ8G+&2J7wk>%V{g2%`2n#+>?R~+;!@$LJP3-4cp8GZ73ES4(W|m5mHuV1 z)Ejeg%J#xVi3;9VI%H;wjEN!SzH+br&OiR>LMgJ6`s$aS{AXE2m|)1POgk1u6)`6g zrqdV3(}Ox*GGc4K09(!h+)+XJ-D>f^MS5Iq!4!Wj=g$BD5D)_Z1OPKL1TX+#Ut})S zr2sIH1`_u+?{`sm0Y$cDaXD;R*fv<(6ac$>Dy-5%ZEbZby@_!cPl?{2VgaIh@=A8Zc`5)0k?Vr2LGL5Y6%+uM8I-i3xYN51YO=X?9`&g)AK zK;dNIx$%5FkBnB$`$g>57q0mcwR`&T;$bK7-1rABc^1Znyl*)0Tsa?3@Y=N&qA-Sn z5Jww=k3e1-6veU>AgTL4^4u3X9M5tTS-Bn@XNrC@d@c9i3Lb6g{1`Fuad0E>mCITp zaLxevhAk$Savdi6C&8Vc1-dngzVnl(`WkRwaWQCbNvy$6$MA0w=)NHbI=v=8ii0=0 z)QyzTr=l&j#2EvIbliBl0B!fhL9ZN9JhaqtmatWD3p=x1rzG+$V~p@;rq5ZPdF)7P zpyQ$$uvEYpXgsJ}#ALf8q@i59$7`6A5S)!yGw#yQLfBu;^ z@lX8Xn2RhgXMcU7Sm` zKZ1G$qWP50BgzIz>KV$C1yHB>ok(nV0kHc>+~ok5glG!YeTg(&5VYn+rnCkXlxNcg)gOP zt!-eZEeCZ)QanWeeZGRA+Tm_CTbDK$?$Kl2(yB|*fOg9X&I+$O{*r3ud}r%W)>b^1 z4s54(U5ky)x_iLFi@#&~?)^bb58ja%)glAA`aw#UZBHdY-`XG%J2fmD6O^EnE7bu`=>H~k9Iq~dLh7+H z3slG*=)2HT5@RTwQWSFtwW|v&`=VD%z@>3@ydeXgiVnRH5`vmxtk4C&PSr;e{Xb1M zlJYzfk-_Y<)=DrXuvt8XVoMf28A`URzG+1f{C*vy*r!;S5^fcPPN-*@m8ix(qra{W zGC9?*?qQ(uuE&A2UC+yNShQs@)PX)^$`dM9M|E&r!a}Xd^m6EAs?8qj0p_62Y;+XC z{z|^3vUlmCTvuIGgoU2POhAt%W(T_0*vnUQMilfs&_Lv;%MJNx+NV(^@aS?=G8*P3 z1X%uPv11R=fSLhV55`@u-ah!KpP|Z}KG`PL(V5V7hhL|mR}=^? z3D*z;)-#Kn!YfcPPy7ge+L6h%ME5khknk7{7r;;=@eAnfa2Ifw(t|Fa>U1b$Ee~`WDW*hST z+Uz*zPgobyIYTmREH~%4tKDMJ}}XTEq0VocD|B|M9FEwR+)`U#BZIE9$(sP$tc>Rb@GhTzBZ^vNK+Fi-ItgV zw!ERO&(+Kzfx|;%5Z9+2er=60{-jg>sQuJO|r;oO70wPCkA*dkWN>w69^ZA9fJntLnsAYCo@Zg`(401ab`&wSTjdA(bfW=T1Vi2aiLV z1Z!7yF_9QGGMYx6^rCt;oH(nX}IxOyr zMMM6%@tMw!c2MR;w7> zo32?*k@9!AE(y`DP3z2F_m^38HKu00JBdg%n&A}ODF=mhLy%gu9X4xTv@QuYp;KnSZ`x@wD&bYds2yBGg-;PrnAgL zn?TRYL~o6d_KVpLa>iJL$!x!Doy60YeN~7(vky4EBa2Cg$A^KtkHW$1$L5V*%O02>8QyhdQy4z|8 zWu=^9ad(G0qOeX}H@(&{)eX@)J))|Sn>c4@09qOLD$ z8Hf#(cIN%W%w_UFu8M+9EfH0&9_za;!ay&_^A~7{TN2S@WjqxLD~LgJ9n{)wvnyL1 zO>J@=BN=W#pUG64%-cT5Yjh`~x&6ZvptEbob*g12Z|f6@hk=Kz96mU7R!wH*nYOsw zAC5FYz$S}a3!t%2G>K;>G4aGcHn~MGVzw*o)d{(#sV|0Ba^W;PEoGrtB<7DWv$v=2o@=Qo_AtqDuea}| zo{BSTKbP>{lvxaGx@$0rGZDRC+RXH4SrRSX49cY&t1cVM^>J&p@fO!-+6%pJO`CD< zrBI8~302?<4kz_{72UfQ{-ZxfKCSn)fwh}z@}+gSRO>QzkX0r%mfO}`Ua7Uw%yFZr zKF*FUFbG;3$t0#li=Cwe+BER@z_d7AKp9V6z1@ipS2vOpOr|akOD)8f2l8A+fMwd* zA~dpE+EU6F22qH$t~^7bYZ8#FuSY3woT z$P7ySwhmofo|_b!WorEqPb*@*qeP|Vc$SUV>n>iUy-u~Ugf72_y6LxORr;SQ#|_=gX; z>p$CU@#XV*H5Ad!U0Iv0aGj9 z!l~r%f4m1=dnpG^=htbIJUUJJ{8zP89b6TMD`LUXQ392a+=!{f z^_u}5RdfrKZoVXRZj>vWrP7kFj%ociqLi3!y8H(lA?u~ctj8;~M)sLy4Zu`$EtNxn z>Xo^xUB;hE>l>NNaiR95UDKJpO@7dIM&_NH zEl>=rt6E1J*vFQhte+ppURC6;nQs!c2N4A|^I;-SN8SWvMlK=NkD5%^EWWH$eV#h| zR)}$EP{gLFGoM{BU+<e>8eOewZ1Tq`B=q0uQmOQH~R(-Dg)U&Qy#v zrrOHIW=z`AudlBi#W&TY39gu5Sktq0+NY)gx5Y+I%vfN

      JAWVBUH9)XP^u*UzEW5B>iBJD7yrz7(T<(?qLlNFTCqovm^GBF&yq-SpxvD?gs{ zZNI+Kjsq0sB4>4%nQ z(GL^5&`rDebNck*(JS?S>U zQ_EpTu2U3ly{C#1eSfCq(iQAIC;JzDojJWWfh7r6O}TT$<@}WeN}r5ca_PE7rgk)F z@|o}tbNT!OE%lQn<*zlhIOK4s4O3-e%DtJYf^>vy)7UOFD_CaSdfm_^f3e3$+(x0g ztrc&&(}k0}m;FsagzBAZx9Z8IX^f^C(x>LN)6*3qeNpZ`H|S;Dy1p5Qyv{%TO>)4Pj{Bf$T+x`frwNWKbet!s3)dYNQdO{ykXworardf1R-o$>h?*O_GD@~K zy%m~qefpw%6B;q_!^WxJ-d+8R|9kTa-|BhxW@NW*ON*8eUbeZzL=)8Ga%(N5HI7%m z_aeewc{^#Fs-?=i!)B#8)T4E|igZnyO(<$xn(?l{zIgITdNPSP-#p(rxq_RRmCwgF z?N?|h9NZ`Ls0~e%4v>Rn@X+4}Ch$7$0U8#es75TGrdt7ga%$E z(_2=Y2RP*&SAETLv5YD^ksX)zZ2X00F6g@1b$p$tlSF23wY}&aTNk~rG(CEqah5bO zXew>2eV8k4XIo2nB31w5j>4#NC&J=5w{6wlmkoVJmf%MLDYM#S0^{9 z!MNwdd?<}QWGY@HvYy){_DyzdhW8BzFPQ6?uH&z!zhZmT|6$*2qcw0{HtTCOu|2}9 zNrLq+)r&319Jh^A>_@rPO`-PWLhJmDj_`{0^gq+c>dXe20*33crZTXxF?#QpcG(|p z!wViqGnh$aej9SWXcKZW{BuDr9Acpfw{wkr*yx+#U7E?KV*FWVSoyh&fc2-y2k-E= zaJu@jp096qy-rQU*~;`TzTj8j{Rj^m zeB#KbEaqaXE%c=x4Hd!55MMnN0Nx`l?>v+61;gD zrhoH&$h{wb=%Odan-_V~pIZB8{dC;=;WPuvH2dQRfAPV*^Kl1WxdTU!rlJD}Zo-4? z`g;TUzVHQ{xVQ-C&7UG4noh$PKSqJWbeNUM$JC{;RN?rD^2Nt_@Rncs;r-vg_xQ?YjoF6zPX94{n$D^FdzPM!bl+JI znmhk4b5mY^#5h$0-}k%c{iY^1ufDHtZXf^S$iBZm{qvmVJbq>US9rt8D?X^-j_%|1 z`%BYw(l7qMfA764`f=jt_2CSF^c<|Y55iY)Z9NyA`~5!N9>VkS;XavDtzE|A_A zw|?GEml>V#$WR+cCr{MU5AqEQI?%{dUc4w?s(t*!JS_hpKJ+hq@5fJkUiKd|-{?2} zF|{o(MNT*?^T&<9?{{2_qc6@Y8_VLxiJ$RD(S--R$RG1Q?PqyE!)25?IGF$B7efnn zrgTxJCbg{|#tVV`zQ<)@)c^ahG8a0t@tyeoGyR1xY;fW9DVV0?$G-C5TyI(8O1psK8I0cijIFedBkrj(ey3>&1UQS@Gwd zAMz)kqmKW#J*($n*69adWYPRR-}8$_*k!23Yd@BK9P9Ud+~3|$D7i5|JZQAzR{8y#K0hpG( z4mzEOS-O7FI~pgRn?OyR+?Sp|gmcvsdalqnFPZZ=1nNscs)J7kK`WK zLTS3&HrUpXUgMEfFVDb>4tnAJSEC_5vCYgQ*}hmqdNe(roMt8tY^-zYG_%ZU{7dJ2 zv7T&`kOK0!>qSqv@Or(=h+roDk-1;mj|Tll-cd)6jFzY<7wO{*0WRheLNh?gm=XxQ z0m#P4LURWp9Uu+NAB22>JTiw75(5&uuB93E#5LVZ9p=OphWAx{P-GXz59 zfH`vz5(BcCDnw`fHAEBw&c`)j2AEO_ty`L-@ZE=zAnYSz&EFH@uHo{{5++%7?gIR;G0~n}ROJI330o?u946 z_3B$VX=m$|1G!0`gn=7%>-jj_Rm6TC; zsPV0fa>8z=M)`@Bd+&1WC2JAm(l{DD8Du(I=3M9bcP>UBi3zYo>vsw11lqH3Q&2NlwV{Y!3?jI*}Vbht^uD9U#wG%(YMOm|6Lu=Fs zPv*)^mSXMa4(-rW3aov?K$g+LYi5;n(9cVjyNLAPUE$uof7;Ox4B;bdM?kxK){sg_ zwI4NGd#fMTO@Www(dKHlUetv>b%%jBA98NR&9zb2MusO&wZPYX+2lRK2ja^n++p+s zcdd(3ji}1WeHA%^&w{m-{=nV0v^T_cKA$_&>{f>N?gjb2z2Cxo;}2`_VRyqiSHADK z@1K0gt}ZkIl}uj))iZMY0|5c!J}q0t1jX4vxEfpNLR{<_lJ92se35V;mk%JaX^WJE zoD;~2a)lctIJi!0NEcPITL5s285;lt+X%vnLk+fj#LUo^(+op)f;VuQ%Dtm91jIx> zKc(|(6k22L`{L1+W!-GSkY7Nl**ouoh!i<7s}Rm?G!j`j8wl>B9l&uU%km75x#%M~ z+Gyj&Mj?}zplcn~AQS;HY`};$aGb^xVjr@_GGa;B?KlXObpX)qL^3GD>IVtB16v~8 z23~ao*r_l?LEhqa@9ZCVH@Fz?o2lN^joMsNDvCF%525S;5_-$V{^O~u<<&{laUQ0N z2Sy@03P6y|I=Jy_#Ok1FEaW7U2sW!FJ!Kt)Awf2JqUPMGG;$ye)XGDtrGdGdsQtoB zniF>CyA%7gd^p~ z5=A^zTM5!+Xx)P~Q-i7$5gNtA4mi6g&9;aiG$;dF!M83$M)&yjI2n-aSP>ER)g-+e8Q7UTEro|n1&r-`EjJpDoFY4MLpeOd5Jw?3Kr%a=n5n^9 zOEe(GytAH7HU;*o_Ku8p)TbQ6C^-XCptWT%DD{q~q=Q89#qe-HBu-}{W;(6|Pf)2M zpEQ(Pp4SCimmeE_6Nju@gQQqdp#Q-kF;nzAtkwl_Ce|wTl6{ZHA#n|dOuRv+vr4K5 z=`;j-l*dRUs#P-%21qHgWfTOU3b6#_pddNBAb>K#%nX0_q6d(gN*R}K$q{lKM1pGd z;1n?P;bW;jBC0N)FO1~}tHP-vB=cKIv$Kx^FaRcy=p5XfXu#$;j5v&_Fg6&GcpxPN zCjb@;cr`Fy>>~~F@0NRQ^b`}A_9Sgp3P>D{SO(eDJS=$4=fa1>z{SAAz0baP;Vohg zfBz@D2IIYDWYSQf^2yK8y zDMqoeNr(URzk9{Ddd%}gSR;exhBiFLu}aPn&>+MTApi^A&CcvEdjBo`?_LjTla>Q6 zCbqUX3hpVDF_8o_OF7~4|XS&{^x5RVs4dUOdn4z^*?%P?^OFB%3UYAfGJ2T;=$k$As#B2!Z@T6-CiS! zF%XJQ8R{(M&a5Op2yPBEicbl;tVS#{RhqihUa0l8H%A5CT9QE|@uFW2kcdKbVI0|_ z{iU1ZwJ5s-~WzB?9%Zu8MvJ4<9eZm*28za;ltt3tyana*cwWv_*DC zl*mXpc844eth)DT3@4z6D1mewmRJmd^fB-(9z)=>jBX8QfTWi2EgWm+<%h?8d!z0Q z?^q5%F#}V}Cmnb^+Xf7nQ&dEo1&I|tZi4Rw7htTJwk>}MfwtELcFaJbP&Y;c`}_DM z!px)#B11lNlF+HzdZgxnZ-S^cGY>0$q&weK(qxQVTQ~w&KnkhMd5M95gdm~%w0K+K zo*pUXRK>W}FeqC>K;w7-7yn28v`0fMUrfj}`l;gV~!jRbf|(sW;)cEeLQl4q-M;SJQKxgnu#6}kReHDh|*y#sB0gQ8VG5D14EY=_;I8pDV zyqVFGFoV{j!P08cItbLZ$BXUTF!h#D6`0LhvLJTDnUZjwV`}HMiO5(Lry%e785*-- zOC|GRV2qfhp0d@VfMD}DK~xM$4keEvtk1sQeTq@3a2Ob1?PtblI3W}=o3$i-du1dL zF%Sfo2+C-+`LUgn2EA3wWo~$KUipD`_VN--# z+vIe|oIU&PW%CEd>C9d6Pym9)2;e*_uu7{fsL#49!}C@&_i+!m&;)Y;IU%NEFcer; zCzX~J&219IzbthM(VMt`yn|zrIRS7zQbG>JP=a7^&5$_)mR+)$$=Ugu!3cL z*euza9jjN8IltOLXrKTku^Gv<#sa<4gB&VXY6?k15Is_SjessxQWkZ!e8U*pTPBiM zB+C8R_>O7?R;}398;NEC>Ij6Un*!={5#C9x*f?xc3a96yl>!j%6%H$nl%IVV*oaJ? z&R$`7__rFBpfZaxNJzPDVndYoLgh-^Y218Bro{oq}S`C3biDxMD zdG#Penjh)0u^0h?&P2?V0tl8o=qCWR43Pn|0$(zRmc=q|INCw^+2J4{InHMbF^Vv0 z1DX{YOOfuG&J<C|%J<Qn^N~?Y|32El z(L;~Xw#qAm_rR)SrCdwBhrASIgs_jy2}1URL6d=#mcu9rIkjgx0zekbGRe#!Jx($YI~uV>)tD_E4>GoMsg!T~tu%t)74)U{plW z9T^&2{8&sDrS>g3_CX6;3Iw9iX14%|*IXM!vEgWaR99kBiVaw|rv&(3f-J{T&GJaY zG|VfrcV95B^Aj^92QjNPib*Z}szP_FeuFKKI4nI&WQxT=PDqSSc2I(0#+m}Lg$Ih; zG(13~`H{zSM79N^ zs;XB^6p~65iI67FGr^Jq%*P!@BQ@A7E=ChYy<{%Ubly@4P)4Mo9~P*Te`o^=DJOUP6_ zglhpHs#uq>Q zm6Y`4#o)i#H6vylBn$yY+plg=o22%)%F~jF=X7z&mL8{DL&F}`Iks~o(V^mc%k<3b zshApsSoWP3Ci6zZ2S?twVCdaadyO-D(7z^wO-XFW*u{|*8|65vPD_jiR$f9Qaq~?> zeX(#zJY(1blze_MMwbRNK%>RQR=^#EH5d!JOqp3N1g4|;xzAMZVZweTwgYpkcL%r4 zy>A}*!PHvl&VkS3#eQ0(?m~(FRwd2s?^(~ZZ(Brwv4gcZm`tX$Uf-AmE3{$NRgI*=17Ea_u{WPbYp9&fPIV8<|BMGQBAxey11)P&LlSAFMtjaxU&$P6 z6B=r;MO36OV@Mwe#3guP?IOhb?KM|Y&h8H7T>alfWRgB6NGJve&8duCVLb#nEp7t@ zraBwgjCgmvJB&=_eJh}1-d|w|a!C z)XCOT=r^*MTlx#NR?r>3`uXTj}`FGhp8u4LM{J;#HGi z=@#2WC#)E89_)gWB_Okk=SU#ib?ijSB|~@w0XZoaE(HR zB=TfQk1ZdU7$-c`G%9#EBAL9ye1eEu0I7jK8FS26kgqktAY6|O1=+z`Lo!GhAZ3V5 zoZo=a28BlK5WoE*uxJ$TkSP-PJf&v>CRvb?<)%{_eIqacJL;vzj1g^ym<(y3dFIQ`wK{$30v(dT)7R`xL&?5zuO14WdS(8l(C13!t9!W>vWuKnif z9-Ifm-UKhs$~=cf4y2F)6o86!z$p^ffG9-V;C~(W68wFOLX#Jh^Iy$;9ie`3j^ibi zQx3t?e3LRZFO+^IG%*>>lsF7r)GZ2$lVR+G!B4gW$$=n^vkY6nxcy)9{zE$~{?(?* zbZQRrR71H|N+4z=WCIncs3>U)v7s?9*yP5hL=_sSj1(~$BXTEJ)@ZPb5I_(j^Q)`q z9j_!FTOcL3AztXQ_Jrzc4l2jX0}vRd_1*7aV83q)Q8e4dYW$mxQ4`U}-&OstEJ)*L zsHB;$~c2Z;GiT{^BCB-5N?Rz+n~`?dzrN!AV}D3 zu+lwo-(&mUi?xyAAR)X58j{C3QeXm5H3~uqLpo_B)@rl}2ovoeq)MxEdUKFievSrE z0+yE;HHSb%mG6hM3!_BLX+k{M86ad-@D%uT3)d*Lu_=Y9`9_J7#~M)7oJ%!%K{{;I zm`lJAB?E>g-b3cfi*2&Des?ZVXjq6>ka03fC#p)08>}W{g+NbV8%Yydt1Si|rukLu)i;+>*#;T|qX`v=O2e${tP83+S6~Qi{`Mt+$mRsE9 z{#G5Hyq8q&k}IL$Kss zEz}_pl=4_mpuF$;ALn;ZY*13C)8!$sw1f&c%b z;GN^LwzJ-9Fpz4_WxF6UOC@<}uPeefKW;Eo;erw8fmZh<)U{K!}*u>!~sRZi+UhxB6SZ z&Vg{_l0fn=ZGo`hBtf=v=>%7fnV=e`YhXs9 zYch9v0mr4v(jEhYumv28MiqjBEHRi@}h>w z_WX6;=cu;b&?2y#k1Xqg2x479@;WYpR*ah2Ni_g+0)HcO&n?!=i~!r%atwAcZ#K|y zu?kc%4nLLR%QuGYFk9+C#H#+T3tM$SR#yA`uDeH zzZ?GAscnZ=UsnD#_J2r!2|w^p+9j_?e0|Nsq9{ke4NDBCU~fY_FjYa!#fs)AY=hk2{3zHVF6_y_fCQ=!kp?%}V z1S7hO(e4}D3o!4qY}PNTix>avxxe>lJb-dTZ_NkX5gN@#rl@j>!({0id!1}pn6np* zVB8I-cA8{S{`~%nU!@2vNF^AdPPXXRu029tZ>n1qgrPLlQwB#0|4b@+hGCc>iMTXF z>Vm>F$9Y%ASfiqNDpGOUEGDvBfVMftPht(Vpx7GS{D`=Y$}A?6R2u2Cel|2G3D0j* za(-}vii-?mLR%`S=&cdy*6k$Td8#vraTvE$z$}dpp`$W=k5nR|CQG2ve0e{1$p#v* zbVp@@VkD%^ABMdqHWvQ^`;CRHgKUN43I>`dEv$Sb9EmdELTES7x;ap0&_`piN6U{) zBT=&fuW6jZ?cFi?#nv}iRQ2Of;?W96w}QByVf|COoWmqFo&Z5Sik~EHS;k?kr4q*m z5)A?s;wLVJ!}uQH)qiP*{gI+zbQ&a;BYJ{xjwthV7SE(^7Uu2quaKFm4Mnf#Bnxwx z0VQZ!v_TU?sk>t=jD&6Zh}N1Q^f>Ek6ku@}AVtj&m6H%rK=rzBPOz}|iTY8_=THL4N97m2@e85+vKid2>h{lDsSAa*UGKyDzZQT>2ZH{0Hv>4?q4q zUqEBs_M0$eZMl}1|3lENLD(9{sMYnxNNkn;mX%678@`Skqi#G`E__bjILEGimmZnz zC`MHk1~mRhUOf5^84@GHbw`oG33|R=C|gznzK|he170qhV4Gr=`aAaXSk98_IFTBL zyc}r>;=Av&?pv>-j57ik?JHiP-Wa&3aT&$}&uz5~G!k@438E(sa``FuM#*NSk9;{8 zdBjs&K;o3loPf)Nn&v^C8J?AhfNjk2GQy}Ny#?A?Ndl5AP=`y4StriKptC^yMWy0# zVw!&Lel1<45L9F1yy`4@O7pX2LDx~?cg@=3QO(DOLc83j8hWFHsQEw*ercN!UA3} zrj9F~0b(N`@Qifq&!6yUb=sXz)2&TTi>0wxho{9UR@wAAw#Pt>Jr~?-ZSwCuN7Lnn7!Axn&eA5{l_Q-|7e-g8ttM-L2JQ*6tA< zNfxYexC_XNw!Q;HC_Mz#zp~SfX1I|?GDqZ*0YxWC6LefEPA{$r&!Hl2)R~V9|DC>A z-IO`fMjAB~(VW;8G6FSNq=};@*6Sk!SO2puCuzLR!K`{sOO&Z~2vV1FQkc3W!Ltf4 zaTmn*#^e>@i4lYnCX&SV_BU&iBb=BadO0JQIa=A=xEk%?5Ko>Sq97#78qB!i zZS*Bs(LLC7Q$aI6ZNAIZ4vY7L4fSL@<_e=U!vV&~9yZ6fm>NV)kw@&0bsGSw zozkT^v6P_#Z|cI?Mi>=Y#p@4ZfD9nk`2e;~HskEa67jT;gdOTBYY9>NAE#&xg@Cd! z=>nj2X8`B>V`^}KDDw1Vxnj1-a4c`cfYozgV*A;V>Nwj_p2ds+dc~-)GF)U_XUDkf zEVzie0Gtq!Lbkv)AP>OEr)rn`P(@YAHl5q9FeCu6Vf?X7D8@KXA0zwe3%B<~mSd3@ zF1y6b8j*BxM3LY-`Vi}5B!?^>0+R#*Y$Q8I5u$J?Mp5aJ;PJFD;q;cSs@fivW`Fi5 z#u_nIir=atMySM1Bn{RJYFXAH)#)*~?;=e@G$9xPsov#+C+J7c?g%lqXt#}9LwQtf z!LkW9m?w=8#%tnlUmX4-3JVTe^%wg=QW{I5*zmY8f#tovQaYj0x_sZP- z;)|PEjcnr8=b3lb4)n5U_2_8u>*~vIM5|YMRTgzW_Nh={D5J_b) z5UJbhRh+eO!)Ni6_Myqr3sYbj838xP9c3g>*+vxW8gb(2E#O(QbTjhxAb2kSg7UOfPM(3)C;wFY-xLzC|E)4n%YUHO~-XbEsQ8a>@JU8Jd&H9GM6S$Z%UaVL_`VD=_%WBp_GT{I@H%Kfkd zjiINd2QVZ`vcn31D8obG87M9*2zD^)7lAp^((dTi-~}S5R~T`$+4=RS-Nh3@0Atu- zSTu#<@lAUDXp(^%O)QJE?qwlk%J(E7ch$HMbVira!^)QHuqHmXWT%!hvR5{Y)fJ7b znPT3Fgpd7PE&O~9-8@Y^ZT!4$=!SO%B66>Utp+gDh;eT=1_?>dEcaGXf&;amFJqB4 z$ukeT$+^J|wV6M=2gLg*65y-oe_y`6)iwIr0%AUz+D>b zT{v-Xnw?2o1d*$ym(Gpj;LXe|^7_#B?9_yH@60lYO-9md`N$baP9wHW=^_AhhC3E@ zLp+~GLE*Z=4Z*aL8~NQRK@@dvN{fRiU=MIN`Fsc{%}PK=Irg@;fior27IFu~ESZc* zB?A!pbS3r(@pbcxlvGm1EhvF;R-k}m*)!QOVF_X{O6BDTVv_yW^ZQio~b|2YtxvLt?9 zsPLHaP2m~f(7@wXSHCufGyD&3O13YQcg9h>=`WGg0&a2Z#}g)2O>~|_@C@XCMutKUkIDR! zwn2@Sj?y*gTs@hOfswtqu8y9s*<}TptNKtl9GQ214`N<)UHMof92F+_dd&2ZdyuiV8ZE=vZ6Mm(0pMDMmr z#bc^wl>(Z#D^Ziw=!Q~+-IPAvBK&D4W|seVC+%=Ak;*i?ELITl!r>y#y3uv^j+O3v zDV%0Kx?LK?J5%4EOQBOu{_04>>ECw$#T;|IMQ$J)b&Dj0O#PTOScS2t$XwJf{D&A;{G zSXSP4Uky%Q_uYRLu)Hi8+M4>Od%0O{hw7?(c?B?>G6Zx5&C)b!`8FSN6^l*u-u*#0 zvu|Hp`B!Y{)2S>5Ldm1Xg9e=6zKH5}oMiI946AQ_h&Xz5PrIwdfFfegU}X#6P1QHu zZhw+dLC>&W>e`}6op`~0+O<6|#D2FdgObZHB~j<6g8n1UThXN0H*h1%NIw#1=rhx2 zC~0N*^FBUnbbU+g5$;G#(PgVLoG9V8zYNH=j5Lk6;Zr@K^KQdhgv(alF%wVm%e;Qo zC`n20M)7EgxPZA%-LYAsRHtZ7GZ-{FiY)ELW}0^Dn%yQcMw$}eJ(>~cNW!ismJaL~WIG3@-+ZtuL-29HwY>{lQF3xm=8{#GQPnlmg4X=yX`XRlH zBbo58?mS*$u^Tbq>4IVjo+gNrf8v04`V)AjEG@6MX*i8De?d50m zYP2!W;>{zk_;pBV+7$g6tQ?mK`O99O=(-B`kX)kSdD(WE+UmS88pG=|&sCpV*j90) zG?T?^Y-ooR^(nKz=s1GElg7!@$6AN;cG@|9Zbop`0QCS3D@wBF{&>#aw6W>p#37GM|MYMM zDQ4IaUY{x9oo2*cmRC1ND^owmLWNk2z%GcI!_>J`H0pE%^(tp`>RtgV4Q`l;%gw0M z%Gj`L_G~J4m7e3apB#ZrzSYxglp;@e>(O8}^0z)wKMyW0!Y(9?@VJ+2o)UVe4gn%5 z$#r&w^(*X)2tGqflVyf`4D#Y&!_=p>g{)@MO%`oXC*o)%iWw!|F$?TL5{~<08q&$J z(Dv>pU278dP}U25yJSzj<`X@ybQq%pY>wWZo?ecIRlB!dv6H>|9vVfwCw-Z<^jDrs zY(iIwMfMw~jb&tmP*zfE<6tx`CgbH-?x_q-&d#lWz=Vut>3-)7ecpXXviE+=igJ&i zqN^xZM7qgh&O&$3j=GmW$?sMkQoH}m)TxD?eLZt%N%GWG#OTgVSEDUvOhI_{!_#bP z>vQMKz8w-Ia)P7O`}K}WBliiU1S1$*)6a4&ra6Vi+AfL)5 zrU|}jjW9v^MKYBCbW`^Ec|3XNepO@^&*an7t>WPXwz*V#*INH+rjy?sfgcW#!E2Xe zJ=e93V*~1=&6H{i%cBN&NQ7~pZ)~GdN%vm=_UYi@e7%ff!EgyrS3d*MH5phxxq0v1BN0uX2(k8SMA#_)JuJB zTjPiDeC5UB&x1i2buf-4shJwR-o@T+Z{3G+Efw|aPmu-l(N@xq3G%(eWe?oD{Bs{s zu=~0rH&Eu4`-Y0!jW4rb8z$ZhZzpinkwztv-L>^W_ftx;35gt42J&loHTr-3xd3?1 zu07(ft1YbU8B8Cio_X2o_YGE2XWs!H6d`MfJJu;IP*dJwxuzBajM&nL@!qd8;kSB405R zC`jLOcYjw0(+rE*<&Q5S4_3cK>}y^j+mPC3PVQEfF%P&bxa)W&p15gTGUgajLtfZT zia+1rMk;%BhE^+oU@ZVQK*+!CrCSgtr(!`i-nMfFvQBlf6q>FOM~_cSLO-AtDk^c} zTp{iHPb5Gvdc%rmxe36HAh9!aChbJy?U$S>_4B)aS}o}8AbX4TJssQ@Q*U&hOEr;HO{L7MkEQ5%U18M{yRvktyVCw z#IRFIAUBEF$F3+pF9_h3$4wZ}Tp29gEUogtPQdMaX;OT*d52D?TZR@7T9a@iE6oE_ zpB>K7c;Mqf9J^S_QrlPvTRp{lr_q79ZFFU(GLTtXvOQXPlrV1kLE92;m>nuC4SDH6 z@GuyLL^m@fD=%d_ZRaFGyAkzbc#mH8`5NLCSN!+{jII+CaGW<+MUoiS{=U{B$5Z?3!_-VKdJJ zs^XPYYG8pyjoOBO7N(}aLF$(6|IGEBmE@PEawPzN;I1A(VdV;rLvI)|Ni@HsUnoGi z8=oy_M)(Q0;QQG3rnJB+oiqN=d7~?n$Xw)JG0&xZ03h>b`7}rjxrkMk_L`x^VUe7I z&(PU}C|P@jSyR)9+o~rTGn3v!o^Q$?2s`*^Pcr$o+&3VA-&3+Do^uLAq;pxb>_2dJ zkddF29Q^cfk#ALGRhK813o;o5-;d`httfd&5UfMrJ1;gO#juvBrNe^w0bIwOys!<1 zA;Ix5BInrQjj$Z8;D7g$Yh*14^=be6I9;Q4SJdvziw))@%wsvNG7X-3xs&Naa8!=v zS@p{e{^b_{;N$4|HTz#K$y0v$cU?+R^{;7nD=+!pbxQh}lgO61V5NDQHD>9l&|JYO z2*b-zb4M*r=>F6Cve5Xxa;sCQlMNx^VIE2uz;;**f&sQI)k9zRcGIK0 zuELzaa0jWlYQcGOpBy4{i7~|U15-S9ExlX~%xwIuJ0;D}iia;fBd`th)P9(k0(z9e zzSA|Wj}=y2HP7C4PB>PEXFdp%{h8Rg&H}I(e@l^xFr~vhXxOYJl;Da$1Kv$)2SUPQ z(xEfD>%mxrCvlRIio#Dpc3AK3_jbPgblM#GFF7iZ-#pt_PfNs#*6y5SG>K}NLY$M@ z<-&>XPds<6mtXIp_bQBhX_wtBk4{A1&Yt|Azke1e;~~QrK(M#+4}vjhx~p2yx{1p@ zrTAA{BPuE7Gt6p98zRzYM(G{i79e~Q$!&qr%Zce{Nhy}BD?PRF=$r$YJwQs|uDp^O z#kA;mg0p#2PjMnuSk!P8Q5)smeN@YT@UY*#a`6Yrb;aJ_Yr8X`X2&t_8G}}0z5B#! z95q60;MgKfaZAZ%%Yl)6O|34UEaA%@yQ@3lp+o$mol~GMcJMISgjsj!wT5k!0EU$h zqR(ntVVd262+5!P>d{ie*tq}p)RpkqjY+M;eGbp0(|7#ha@#ycW>|m5;twhRnsAJj zyNHG$Ka=~CXN7(}Q2Op_>s7N)qkJ@0ajS{EJ!qVSb`FJJE&JY`_})Z6`}Y@-q=0Xc zbh$un3h+isNsNBlK~`kRGef!?|JYI#X~h8&XSzOr#9J|chJ{dm%PeY`#Z(qaGT44j zW`5&EV1eCEaAe(*bF}$hiF?feQ^w5D%1Fv`SYX^ioy;9AOkKq5kk7_@koL5Xv{f?o zRUjNiW$S}F><)Wot}?0~ssPAl#N3XH5oC2%g${FQWplnLHXfvA$O&(T#aIts!Y}tc zd~J~$lqOY@W|#+h`E#B(rFM(M=~1`4>n`M zwKFHVEz)7D^3WsNSazm8ZhJhJw%bEk+K zDRFqqPPyB4vLUU*$>haO2sZvtu#W~6#ad2GIdR0Cob7q5c)hFY98lD-C^Ujoc<_Uz zw4-I|m}KdUEiI|y_{fP}WbR^}cvUCy&Z}wZ`_PH~-Q0ep@WN;J!5jy-tE#F9Sqqvx zgC35n(JGSL}c!IpI zux8U1XhQba`WB};?jYLVTnM|t&~-J1UC>^SvH?-`SkKpL3t1Mgi&k+-;U$B075Y3aa0UgM8ezP*pxU zZy&>(S7)oq+@)L)#i1|esx%kd0#z#eq3!wO-tYojzM|`h3q5Y>!u+W%>$}dcMJKuUzH;Y?uk;ddiNC0SPkHwQ)2vROL6{m+ji! zYxacsf|m%z+wU`hXSJv{btmwNoXYRs&7Ldmt-Q|C&CdazYc>QnnNZ8dC1)>#xcu@il^oK^&B&j?-Wc8&ep1@r^xJ=rr&?(+rtE?E%WL~DesUykDIqQ&rSLoK zRr%!~$2U!c;(h(=uM&-+e~-ZIoM9%ZuOi5wt8H&t6OVt`*qz9HLi;LQCx^{0w0o(Y zWJ(zZH)CBYq3Jo~UMfxjxzq5ftn1B1VM;!9mmZSy287;J?|6+;^vpcWiJ5M;x7V@} z9>+snnL?+10gZKPw;QZp*i0mHEjQ{+fg9v!Q>qVfYXQ`5+1_0YIfZ_Cx89~Q8?nA` z)aoBu3X1VUt_@QhSk>-j7%BFAu_Y{FcGc*|1o88u@&>SNY`a0@YH8_gAb#Fiew(ZsN`ex8@6bs?N!lUdVj+cq7P`vOTv|tBq~ey9l69pb9tnkj_HiKbFDBxh z=L37TF~McC$d(otCEUL9QMjWF^P=P3OC=a+RG$F;GQeF{Rwsut#|Ll{<-Ye<&jh_hU33rQjyU zkkxI?=Fe5tSDWs|bS3OYzttZ4w2#@*m>EzUbv~N`QAP_*W@5nT#S0G)@TaFF%>Rcl z1vgMUaF)3^i0ZW|vL(K3*jIzNuxm{C%qDZ`4X4hG6ZiT*=tIBv`!|0oW6~*N^AKxZ zPYXu#2(xo3X$e8N<+1(WyuZh4Y`ZZZH-68M4V7jJ3*)jP9J;^%dlTW4zur#LVI7`} zXilTd*Kv8MXmfMF7d4=D6`$FAT8fZ5Z}5=q74RnJ4DqjNOjFLXlVq)F7H4IWKLx>5 z-YfZ(53-!vdhetQz<~3>%nh6}K#QAI(6*8Iu%FrLBt?TJkTcEVsDO@HF7S7m09PUo zQ|^`8@_aZf5~6H;RRbnVNFS+y^iUy45eK$6@Y|aVml3& z!L8{oPr#s<44>k}`fK!j;E|>xRRDdW?jayQ@&~qn`G)-_0x+puxOLe)3%kyu(i{W% z5lAG|pwO(8-MiZ*o7%#Cv-&22cJf;oR>KSe=Y{(Ma@aQY76=v{@dl6FAgYEsMvHDvc$x0U5|Kr02k-7OG2V|Z$4SgEEcE9g2&6b_L zuEF)xE;lYCEBBo%THb&ZYV8SNW$0-1KxQ410{6sFr_=kGL&x)P_k}=!62Apnmbx-p z9RO_%5(t@rU2GrH?JU)8*0eCc()E_Nj`;&c_o;K-wb-n8S=pnv@a8r$cNC_5Le^VT z0)&t%S5LVcL)%$W_yQPS5P69I&Lvf>PSELfal*PcFQdfxP?a2&AHB?WTA`s5M!*M) z4p)0*IkA_4q??q@yEelN$Ux;}=j4z5a!)riXKWQ^{NjzD@^MvM516E=rJ#9=7VWnH z6?O`5wAD4wPBVn@AD z4Q7p|fueC|Ll6@xdZ%_jZ0=lQku!1(u-Len%$BD>!W7V|G6Js?A}Dg-k%H)4($bJ7 ztS&uGrjHekIWjzEUnL?x78d^A0CBWn)5e%8fHXRTT`&$~606Xl1(AtL)iC-~_!0Sb_RX zB7hEs`fe%Hic!Yuf@O=10Z)40IH?U`rbKCThP;}Q_3=oGl}J#G%C$&iV8Hd4#<`R^JQPAs=p7$d zm1jfxQw)|0p}P|ChSI;&cv_$Pqy{iZ#KeWH+#7j%cs&59oWnnxwO8tjT0@Z(=bsIHy0=ia z$jp%bK(pdynV-_Ms=N?#dK#2W1)yIb^=VAd6uu|wNdX81HjX!~>&kSR6tShzZS4kX zKyi~2`5YuW0fQ@TM0=s71Fkj%=C#@~UbBPKMRhA1?cyt7_XRt~>gq~^g{K88=P*Pt z!JBZ5-(t|8s(>JdDuc5U!2ld7uq0bgmJV%=0dZc}m7bssm%xU41eF0}V^Hg$(0UA% zO^l#ax`Ye$A+DS_C8baYA_U8{55P4Fs6g$+CU%)w0gop^1T&FvQ)Xn4ZXvcIOofJc zyAd>HdNQ}<^bG())Dk4Im8L@@oHmH`0nC&jvNYoQh4(1|X8qE%?zm_3m;%%@B&q=n zj0?aob26X800F|rZzW17^#+5TlBNNpYU(fs3@8lOXq^NK%wnyR60H#gJTUT!djV0K z?y(Xy=!NZ{TEHz}F09*7m#lV)jJ*_aeFKmvji!Li`#15ga`G#n?S;@`JY!}7p(61+ zb2`=3iiw{?ow95kAKJCj6R0vJfy!>Q@e@El@kPkDI7>iYyENY{QFr?ij9&yJLfTG@ zaS8fz8Ebddo)^)dy2h z&OhgfKWZi2x3EARr(*XC4?R`^fbcMhdR)wrYr}qq!H53U<=eCdr@Vo# z18wewB6;E*h$)^jGh#GkKYCehsDL2gqcq$xsp9q>IGje(eC(k2X!d%s@vgK3M8TONTgIx`1VDCVu_=I~_&EW8LB@=b2(oZY z<_cp85)eH?NNX@s!^i7WwTsqU_Xl4`$D}>AwbC!AN9m|TnM-Cr3B1? z5fn>lG#s8bumf?Tg3ZwCt%u)C1XQA=xF=hO+eF~E!WsZoQ*45^8H6|^PtzO-3}R-7 z`OKMF>iqi8pXLht?zkKw0Rwxf=0Xg-DifZTnEO(2DWQaA_tKRv1CrDPq0JV#+Nqx} z&RgK1sB0?O8)uWOB)q>8tqAo@K>$~1rothdhlgRC z3q-+2!BrYkn?s>sNHVM;GVI0&Q>A16Q*m1h@A!fdNLL8=Bc_I4tShi|NX4x}c$%81 z1socb#843*;(difC5%K{7uQt+0FbEdPgD3e-@tFR!hjVZap!f=Y6ZeEwf2AG*M8;H zT$l55@4B8-+EhCTXT;?k(pYR00UJ5P3tatnet;3?+z=E(3wWfY#TZpm2of;>00U0a z3l(Cy$}9h(ZMrVFt;97eGpdK2MthM~aIH5E0+HBSHGUO${Ga?L2Gw-0X_C;4D52VM zV*242V>t>|dBf4fjRPb_cOh%LV19RkI3$)1xb%t%Jmq_CHVCi`yQL+p9Su>}UQ2)h zNbG@HoR(zWDeMypHpY92=qhUe{}XWor8~h>@0(BZPMP|LFF=@ft|oUvO( zTH73D*1`j8rn8e8eZ^IO!+`$Cr0$eV;~_^{d$9m`q9frqAiB2}6%sBkIJp(b#wsuu z8)tEzpca_GW8s%rhHRZ)Dua0a&HYB-^LL!CA!IO+P9=mwndJ&hG!6rLmef$#y7(6T zHG)YC7Jv+#Ng5kdbV@8KBEi|{T?)NBOIH+w*!zLDX(%BO3WbC)p`rQ~7_4I><;&f*36jmMNW)QI1Bv zGDgHp0U|nE8X>@+1v7iJVeEu;7&5&;GT}x*Z#)!PJU}>Gt_zs4F@dDmAu)~sB+?D% zMkv1p0ca1|V&BEzE``K7IVT+`fk?^=VwR-CbOizD^BeN85+PAk3{7}qqe?;`h-j!F zU1O(AQUM_{Axl;G{WSP5hTAszRD2~A8z*N*Yq8H$R7C1COlaU7*_~!C_v0J*o1Mo= zrMiLri}Y3W^W@Z(S^3|zCMHh&Pxb)-<3=EyhpgGp4DbxC{k&{k zZJ6~tdtb)a|M*KUe^IpdP$|9gcOQGu9ZPa9PMS>n;gtxlNNr@;CWReak;CFsK6&n! zhEcz#WNAS+_wdwBYp>^q>t7wrR8S!>0ch#-GN#cPM}%im!$Ocq0)-GAq2A^#SS1ng zZH7fj3nH5Yo@AvisDROC)sPXJRv1n_JQ&8{rv-|q6OQ4jW#e+@utdMyu*qb%3OH7W zb$vsV0LY0XnybAx3dquTp^KTR*O@G^c3RO4_zf)}QUpMpw7A$n8yo6itu(UFVIkV+ zfaDg+PrO=kptmST3XnswO;JY!#ab=Vr=em}#@7N3R2hhu1SV4>BOj6BpVvM_ zT^RUx-}7S@&Lpy|pq#q`xnvCkuXckQVtpgSY%DP}(a+JBNc{GGX7|>QecdWTeDKIy z4HZx(N*|R+9*aZ`pod@q7NPeBq32y?^)QDn=F#3cZ3zlJP^LN2yE_tY9D@ z+v!j~zRrcF&AJN+NUT>x;ysE>B_e19ca+{4wQ$P>4A%t-X8lkLk;s8haX14JSVvRl zp;(0(<^8$CE9mCHhii|x_*rxCNC{EI+NtK=A!JKt%G$7hB7=yM9s~aP<>1$jYpj$K zgfqYzoD;u;m;o)AS4&s3hvRstCKSX3A+8b?rAdpuA@vK2ht3&?&VLkUP~ zv@)s1ftlJ%iLz#;wy-r@z?D!vQWrf1Z7pD24!qu4p(jCuUXchf>}0{!HG>%|C*0PX zYnqS5^nP&-OtD6p!2tgbTT?tW5eKk((x(`fJwLkg<^1QQTyZqO1xTVkacR05zZx*k~?wQRa=H^H~~(urv^!}`@f1p zLM~zy1|SsHc?$>{EG=%F&=+Qmf+Z42r9CU1-V-bWnRum@8EG{J;5=J!DQxz{&ZGb_ zBhr=5%U$j%%n@Y$Y(WNofTY#5@0FmgXFY*d5s8sf2(YVSrfiMD3xCBv$E*PNLi&(a z!DDO>hH-&`3x@*=v+R>fE=%yJT22;F;MHF0zFt&AyQ+|J-U{{P)e9} zJQPYnqr_;dLSswsxnVp^UjfL81l&6xAe70J2N8K)poT3CfoM@yfGrjbZI|ir{d#GG zwgw4-=~+Y%ITR>hdejz_7RLdxpjpOPoc0Lp8R@!zjv3w?h%|a3SGI=7)uir)(0MIp zNX{163nd3wb$=i@79!*l;K{^sv%aFrM6}Gl zW!A5?R6D%oTM);63bw!qgcJLV5j8A4>LI`i=M@S811R_$WYoLxwnRXsfK!C#+Q^zn z0P#^wQ&tWQPuJ*k?u$9&Cnd}mJyU&YJo}~KYP6UmIG2D$$4fwMfueGcid~q$EH!hE z^FY>z3kZ!E_mKW`JoGMs5d<5h1VkXQHB-l$m9a~3=z$8uu@}B-_%1>!LJU|Gcr2)@ zt+x0Ku(%|#Nkvi++&^y&7b9o_W5EGjLX{LEoE2!v zL>k1g7Fw4BAFewbNjHkpELRA^Cr(eX5?C2Cx}GV}1VSgy<+EWbpYvch=0@faJk|kA^}kl7Q&bK^6p5i}TQ6-(!8moWW$gsUb=2 zgB0kbh7gfu6NCf8_qr)92A};q$;S6W<^*hrB0pXGQ~LTw;<4-R6tO`eZmxp5v;Y(h z(bOdnRyfum3t5aIxHf}Iu^ShA6}%EtfWsk5k=kXgixCJ`Ds7EQah8MgKt{MFZ4Cor z&<6XzZ-sxDJ0?XiRKYTk{m0T+7VPY#@>+*62s)`Zo&O_jAI3dYp!NA^`WspAh7_p`gVrh7k(}HUk`B zKsu})kN^lHe2|ErO&oA>Re>NK5+b;=Iu8{Z;k^=jk&rMp`i&h{%PER@j6mfztgjaQ zXGEf?+##hEHhcPTo~s>~Gsa^Sje@|gjb%wH+wTk+9o;?pzkz{-c0fu9s4+AC9X&ci zq#oz{V=N0z-{W|6S4brwAZ{2Q!N}|t={vU?iy$Ejc8nn%7(yc)`<(&`K*mcM*aO$1 zP@!Qd^IScsr1~`}&8{&sf=s86*5o=SaCkE9~gKzg66GqIvN{1Z~ z8ltS(on$cugh+&_-l&ht85DI7z34cPa>kr8r6Jr^#e{@7Yf96~!!CCmExMe_ayNof z6sO`REqSn10dHFEfiLb(7*sg-->h8RR`=7Jx@()Ar$6mdq%5k4+$qyi2GrFE#6w_k zV_T>+Q{kB-u^8y871$DB^c16ja^exvI-Lv8Apq`#IIA_)acs%ouc;0Lw z`~HwsXebq2A~_yQ?(=7=j<*7TfkI*(-6`{c7lvXGFlBga#%NBcAkOdWWI05MG+_v3 z2gIp7aN1$840;T}?chJEQ$wFi^N1a|Sm%ry1Vm!PLqRbf>!(}*=no) ze7ttfM}PwpqR15(VUz|6BOp_A4p)Gz`#WVVT2j9VxHYsck0Fk8QXqy5+9@s2FU5eK znGsy04+g+JU|qx>V>p6)7-U+D!$1L>x30wWmL08n6xyyTem7aCURZXpMvx&b#;y~f zMI6dQ4#qzcL#6RI+ff4#82$G42Snz9OIq^pDNJ=8A&8gKpdkK!PiD|5--uP;7?O#F z3>}CV2={tma#lN(Lk7W&1f*YTf3iO45?CN=+Sm@|C{zk>wv1s6+!+{hNiNSd(DU9S z0C4?fknQ6vUUIbc2*+mBi8Q}Pu`D=#2s?cI9(Wha_5V_W>r1wXlfRIE;kkrkrTP*k z^2Y#XOb>)i|4JeGJ-!$48qs7PDm5r3Qsa_BP9Ujx@d}Nth$}Ln2CZz)(KbvCWn^XL z#OWT~0?UX7ILCXN`|#xjtPX@qxuz(@4B$lS?zi2?_iFOygiZR&Ge>(8(mX~z!mYJLyQf72itrW&P z8C4x%SQ#B)cq^SqcymoP*SLig>vm&vR+46kYg6YWs61W)s26+HWr$?E*xBZGt8CbG zP=nfe5`x2+th|6pkYo7XlDM>RZV$i7XCDD_QiHDf(n1YUDx?t1ky2%)2|=e#!bF9H zYS#b;r3Hc+)Fu19TBybM$IAP}g~xv>PG4&9dE~5Du7I?deBTa*?XV;>b4^g{`Z73r z+SxZ*_L+!;N7b+T1}%%c!c3kLy_XTseUT++VhZyBhuV_eCLN|WC`a-fDQgrDx-@q1 zc!|`~?}UdUP_db)8O*CHgg$`wLt=V(000mW0{{a6L^A|6002)^TBw2m zP(O1|gqeUMCzs@|$u*=ORhIy0?jUqyHbvFwQ#9}2fb{@?(ahKo02l)lfM00twgV1$ z5%0p!yjZ{mSP+8P1mcU0M8E>tK@!9h2yXQeERp#AVvDyD5~Jhd;z$zW?Be2L1>@Vt zdLxZqeHz->?!&x|xjuy>#kkuGGm%hpNiiUgZ43aQ0sxU20Gc2G_cTybnrX&>HwKfM zZwt0{2+6ii(pv*ddnA9U|NkEU-g)<5@tOUhg@3;BnICWc#DawsPAZAmji>@~enYy& zwG}GDe zhJXl%QSAcc%R%zoh^%ULT_az9fb-fY+Il_v4ow#qP$J|`a79TXtQHz?-EKxkW(-EM zKvo(-NEUhPnmN&+L6on4?q}dSx^_gO`g&$Vb%K*Vx$AapJ=jmfmEK?puzIHzSw=M_Eu<7KK#V=D;6UOH2QPGFP>wA|rfF zbZoDrqnDr-%jR7lReK?7~giMA@LZn_%?`N?-0Qxf6U zq^O%jB>cHQuG72Wk|!if4(@i4i&w=c$iJ2{E_{#9%WO`8V8kV1whe55byVuRXQmstRj?vU+nl?%<>GUQE|T(YiY0UJ$8 zb9xvQzJ}n_=e|BnMdr65R!_+8a_`NJfwHkFB`{JCh3C8KP@7PVUBqh39qyn*%Js0& z9oKc(qu?~PZ0V!-Y)viA5M2m+#%&ds&)_Nw@xQHkNgkN%&5%%vQy{q-mfdn8h zWaEvJglXA_TRu;WU;_3HOWKSph5(bNpGsQ{lAv`4O-ONnq>0H!b(xY|WD%d?E4=`o zvYc*CjArhOlED!rBiUkQSS0Ix%a%zCZ^fBpO_l2-yi zt;&dD)zU%T?%wElg}%PO->frJ5s*%vQ>8{{pO#-+2|S-s9|hLA$&kM}6-8x);1&)g z$4bq^lc(05{o;OaZl@z`AxGc@>`K@%nUHl95|&EQ8?FK9KdFDs+QA~(I$D{TNWeQi zBm1IOL|NQe*2S>gh3IIySPOkwLKDw|blNY;%Q270jZN#U(PeST;Xd41C&kYD$Xpzm0kB z4Y2CXZ(LhXGgpu{ixLAT-KbyR&^4PsmN2-#N$OU<5XMabDht%QezwL2j%MHn_!9S3 zsmO5$?ec*xQIk2gBtZsWOjceBJ<4s3&bu0$zErxj*xTvdq_QP)GgVd;!iq)X$;aP4 zsl^W~G>3I{uk72|)Ytdp`hCj*(6!l-^f;orzZYAWRWR-%r6i0JN4AfOGY|O9U*6rr zo7-6;M81}w*N=fH$nAoin+TOE7jl-@N~DnxB0;`PW}|Hd;{OkP#Bfs?+cAKQsv_0S z>zCcXsl&FOwBd6uLpw081blL3mfM9EPg%KCb`42k<)S2a>rqNcK@~6dpZ(HByax&S z%CuT&lvx9&@3CJ}fA`3k1NPO% zkX}o>gjDOEJ6G-5mY?G0 z0AieP?A_Dra_eSH*_R>aO>^C zFO-BV*iCh&xkbV$=PCG4b0q?QJht0I!s=piV5LhxZR7Q$2|`IGn?`QD2*YApUkt57 z+{?1`WTJEkMUo6AMcC4-5Yr4b6mY@5U4Yftmd@r2f~pn_o67S53XXi96X$H%EhAc0 zuA)d+jUmd6@_IVdvzpB+-eBpsgYQ;tv4a=)E7-{aBGVfJeFnX5&jNTyV<<5{cb*T% zHAS=Yb9Ov4^BdG}&5b&V+|zTfVVK|Z9-$kn+mU3p>JoRAgl-xi!%n_&(N4QyxR*u3 z3i!hg8BG_H;4{LlPcOBdb4H|=Ejm8{Zm;eJnIK?_H>vImW~tS~6>P^d?IN!xM?o}o zN@sgmo(*QM6>ealB27S22-r}U#P2GstNJmUs`qRN^tjO;i8foPH!T6f4>J;XTU|rL zJn+kBS#4UtrP$2ZF!|FY2`PPP7sgRkEWuk=DhaBxxf8jH6Ts@tuE-IH74xt8sPqq9 zr6B3<_*!$z1*2KI0G0H^l=_jtkt?y>6{zT&%?R*Xk5r;N<9wZ{UAdzG2FGH)wi!l; z$A1$U3WgqLd1_Qc$+A%Pj)JAmsjKzELQ@j_&*H2Fl#5P)?H1nYev-r6mw63{)cR8C z;?qo)aSz;O%p#u%Q7iU2IfSm*JPLv&1-+jsshicO>(Fp(k-c%t$rMDsyvT_RPMGWt zp6*BPp=>M?Cl$1>!Bg4MfG68x7bu|6o@>ho;;UX>hUcCD6}M{0p=B5My-w@yw>sHm zIcAnlpU_QqK*j7&=4ln}3IbYxX{IIEw4xR_j3C0mu7gcK6kLveVrL_l(9SWT7&>!5 zKuKZWJT*L+CQ~Rp-h=>f3;lJ9inj5#j7)ITYN9ff>-2!~p9ELD7MS6sIt9GB8&^>d zOl1L%hBHuvM*_Z`0xNyP$=e9I{QxQtkCuSjH-6l!NK$nsGr_Q6g*lf*xJZeIBjh`W zS^zAaN$yHQ1AFoc(yJc2krau$s2iH5P~{z4L-oMF0GVfy4>k88loOmz*YPYgXj4j9 zjv&>v1l#%=_L}%lZXP`M15UvP6u=at<}M7$;EYfhQv%i9P=h@1z~G@2@WKQt%81o^hvZKW7ei2Q_VqzoT{cMtz40D;50=UxQuVH| zqmM5i#d`Tsxd)&i@(E_eB5dzadU!@&SSfbzmWl5bjzJ=r9{?50k)1Z!6u9Ku71=d6 z@*L7Fl@xPN04V={2PQj9QbS~^J>ATF>Fj67@h;GB1|Klk4c95ziZYggbUqgQRm)!< zrdt1MLdC-umw$ZoF*jKvSem?7{oIiMY7dTt9Bv|cBSySyxzuq_ePStgQLb7*o{@&O z9V@E`w>JcjVm0x(laY*>mtB%~Gi6Ri5Qvqo%MOh8)t9r0)v4?1<5KP3+w;1?xDb%+ zDx6)8cqq3C@6kHI#PglN?RKR38DzQRcz+20Fp)lpO|{G)QTD}ZIO z$0bhF&5Un7`$Nox0tLV3wbLvt?S#u(mpe#j;O2g+R(&u#FacqE|2HPV2DhTbkI&kN z`;Z|`cOngav9?>LSa48LCvsIZuxxV{oS2m{NTo!qZc7$RX z=0>jT7A}%Z~FocteYUbym=az||>|YOo=(VdDQSmptpPTzC!pW2$hP zUqUo;;W%XiOWg3lK2xU)p@b|Cbu<4m37=(cCCK0(+*cKbsGaUE%~bD>jbJb@pVQ|J zUiMj76lTe-LWqn+qR|6UJ0nHftv$28=(tPxcC%90CC|9POk(0ATS7bPx2j_#m^8Xp zEHaelm4I|PSc0-8c;mEQD1AboF1EDFqc28m157=mD-u?%lH_-wr5W->cF&RpH6)8n!kH0z+e*PX6xQZd~Cw1HsBF`T7oX-c)#h z!PT%G82?V0no!j8RzHB6&>hy(r`PSV*QIIuKL`*#8K*Hg)Ya1KkP-*~(qwkrbmbE5}@PlmzCk)Kc5x zs*nkcx$ppt3rk#GP^yFmYHFIo^U=|698?DI(kM;O>dc7u^4ykW`WQcct!bqjeur6- zrrCi0G+&D?Nnc{02qWArLEcO%hGmbFW=)P<$LFz9Z}bNx9E8)>=<76er%KeV@TUv{ zZ7%AD$?}|Rr+m*0H0{Y%tZeIj0H&+4O*_}JH0y4^2*1%or5sNjYAjyjwV<9L9Ezmx zv~mH@(}#Cjsq3n-aS#F$AGz|MI4(L`vL<$7bJR`{tLFd<)pNH4L6e{lV~?dBRLzc~ zt4v>3VbtAh**UZw)HF_!rl!B9+c|2j@BLnD=;~|c(r5Mfn}6cpx#}?Azr5v%Z~Wpf zPW+=UXr$OY`{S*P#Ta&}Z5JzD50%)*?@Ef$(nrFN4cY$kK=j24-Z_k+V`$dPgd>Q~ zlGwEnGWNx$08FXK!2UA)<$m>xH|+Ao<4I4CGPo;a%BJ0v8IT`9%=Y+CxT_H-w5;E3 zC?BxIN`2Mt3tNiN-`oIaAgY7t8RlZtVQ$XJf=VuDAd^lD3frXjokkV1uS3+GWbA6_ zmS0X8;4#th_~p4@V(f3olL%U!e3H(W$}KhZ=0gQ)g`R?RMcu{Dqi3-bvnx_-Tub~I z)hnB;#7^^6LbalA3Q%Hzrr=0CnX-K=B3~K@YSaLP^grX75z~}UXNlEiDrL=oW@b|u zHUrB3(RH9E>o3hxx!B%jT5l%&i}6RjcL?sWb#D?>%VhFg$VD$E5Bm>iO0_a@krS-f z;i!F_Me_>i!TIhpjjoFDhA6&rNfn{VSe1@N%4#BxbD7QK-r>qBzZH31m8&0a-TMFA z(BbZauOtb5LQmmXl8M%fv(q@KsD%p6w__}%TBu9u`fl`Bx=x(>*#qAm9UD3CxPZQK zJWWET*3awF&+Zv0ewuZYR19qpj`#W>jYf83mW&0Y@=y}^azf+FP;_`)oZ5AQ86(CT z@o{)1UftlO>QZEKDrkz&bK;{sZ0v^n z?!yn5y?6HM?)~ut4^^GgqEX3Our8SN|-J z9%+f0cSUK-1}n_UQr(ShDICBooTP+HY4Y&u#bIHeA2{EJpLozZ)WRvyYZb)$BF=Z{ zHB$vi-@(-V^~k329}ICbrVK`H3=A>pcJtcw3YJ%gr5Vos>^GxKw6yoWjUEg7oBYm# zOL-(*sx)S_m_U}hVM=+;>EU&F_*`qgA3htJ*qrs#{^yQnp3V#>=g|P}sQ9vHVakh0 z>2Hi3Dh3_+EuG+o+Q|fP;$F2eHtje5`+?%=lhK4Q6Y}7Z@-T*IcQ--2$dzC+x7{&L z)o2-@>aAO?)xPmA&H<_ms3Re@GBxVF8T&20XiJ=iK*ZyG}PbS>t? zx`wAouVJ~E7?Vo!1OLrcpVa0;g4>j?CN+_BPlm1evGN0x9$Qo*2C0U^FMu8HjyDrP z{1kj2h&G7w8L#2YJG$J-6U`gf0Sl8`m=R;<8MJ9{_1GF`M`DO6F>RKahgNqziVmvc zaGMre&3xxHgff|J$k^~?^yu3oM=XajY`LxlI=xU`H+qxmg<(N(*zPTEX~Ozq5P2|C z-A$UvcGuLUYwYCmR*$P1?i0YwsB%T(QWcXdyy)hd0-rCTtG=4;=~PqdkLi&Qzq?mk zLpx8a_R4#AMwz>NM(ZI2EESfa_XyJ06!T{ls2)E*f6X74H8`8OLY-)QpWl4(;I<=EXVsOcL+VcdCuF26iVZC=5gWA~!?>kn45 zXYg-39X)qpN4BDUs}IL4%HV9gDlcsV{49N%zMipnM($64=70Lru}>SW39?(u6bg?5 zx=Dn)92XhUc65lmtF=S7%`dj|9$UZV&bzQ^ENtz(sGO>$AQ|;6 zfhVc-IrhE0Dhx4Sqh|_%K?gTuk@eCWtTA1o`7Q#Lw!}x7So;MK+8J1y;5E8yL=^fs zOK{2)VZ1U^cdpph*}#}H3&8Q}Y;x=kCUXHY;V+!pRFR_4^B8)H!NnI!LtcQ*uh<#= zD#D~IJEAYy>VWo|46EJ6KDb)T?--EgQ*)rAXlz~P2wNhmoXhFtBTVslZUSLeYInXV zSkK_AU8TOBj;3e6+*(MO2{y_EE2G_*;)~Dc$cgd=E-!|bT>{b8!s!*&Pt6gqcU>x) zLtRV#zUm{j>)2BPDg@3QkGo?&?_w7I|R3|Q$ikiCPC)hZ*uWRJ=(b(Sa zOo3UX#L>~;NhdcPa*SsF_~3zrl2 z*&K%w#+kpwS9^ay&v$(D;;^A==(1U@>$wO@@zKI4FCMV?-?tX=ye>w?Gp5}>%pe&I$L2`=VPx2*@HxRwzf z-I1eTtgMYo!A5_|gD1fFY?;N{(cSC>0y`Z=x-l!BJxS7c$GkIu&sOWu^k;sh*4r(o zmDbfSyg5;h76Jb6*!H5U*&O6aTM6^p86H7CUMHOlWXk1#t_}&s|^0yoL35X7aJcqh3nL93}AzNix?OC-p%7(0=36%b0v@hua zk9bkni+|$@rNo9+pKzLuRu7j4L0()+bg_Ip@1{cPLNKh0!z;9{b~nPuIMlyQfh$*gJt8dX+slmw!;r)*i7we!|h zL0ipEx>4O&HZEXGRH`@I=8)}Jr!z+onY8yiw;pSYbLT&DX7va0FgDbuCka!Pr80cj zWyRjsHe4-m)s-BcJuy%^0vOqP9r|!x1bPBy5q%*w$I2J~oOYb@CiJE^%bc7F)$o=32AYJIjckm2KFt|EbBrr|g@Xe}>Vi zKJvKl{L=m4zs{ZXO3!K#X^5a4t>2yll>PunK)1hqRs3bSJrmE+EzZZhbNU+f{|FPI zIj7Wn{OnOp`9xb@iXc)BJ_2G;l8Q}G}q-jn_&O>S#T@%!xnu2GlI$-#A+Ic#t! z9mZ|_`ZsXUdCkN#g8Pizuk6()j<%zNP6%h*HtFyGyUx582k>56&=Gu@qFjjb!3xaZ zJUkOJMtsH{ZgKi{a*}n{{Rng+`u;s-C8jtHM2nI^r^|_FF^3mF!=mt4FE&dl-sf&urg%xx zqNahsOcgs^=01fSEw0if*s#y!t|e!hQCw1fXJLeaw?T%FS%Hi1Sarf}19J(w=r2Bj zp6qmCmOneo+SaNv))HEUOG_mxIM_ngu9W1Q)Ya`s*z`mX@979$BtqG zdAGo9-iv=#aH}hn;}fsEnP6Ast)wvky_p9TK~-fWCN~v(5+=QgKltzoMjqx}U1`cu zTLSHjX5xh=%_d=ciOIb7YW8Q1Jar7__RMu_j@NiiOR8xFc-Xj{uFjs?Y z#%mZw4@~>kHWF~0){{#<>kqofV?>u~ip@)uBkuuQ8OsOtiHxo76&SSm;DVXO-x<%- z&QaEbUnZI*)}K4Z6MYL@Ox7!7Cehr8?%^*lD{Y~9C zsU(llR$jHi(S##J!f65MnjuA?_rM|{ar`-h)puAGsUz~N1C*dOwRE$6G$^bv z_66YtdzIEHWLL!QUZ7FEcHk!)hrr*xhDVInqDF>T(U>LNvUzYwl0z+y=mtbhBEYD5 zt}>1U8Eh4TiWWz!y&@Yp@!UklO%tJ#%15>H#ai_}q8Jm_RXAlVXCNTS1B&)USN2NU zGGpZH#uOLDVCS%kTgPLK1;&*^ z_&`zBR-4)l@rE6EL=~DqqGavVSfkf)jet||EwVNqLL}IV?b4VAH4v$#tBRl$8}4yE zg`}zQyxk#{2R(3t=ZFo9dU93blmWB^Z`k604#|iELPodCo%Ra zMotqHXYry?s&H!@%Sn<%dP#3bc~4obPiE{;i;>fHB6v?E>&05(^@+5c_qm zUC9~Fc&)Kc>?|c_#X<|cgo^pTB!43$3TEqjXxOt!JjPMg1?iED{Hi~L<&a!@Nmo?2oSa5Y> z4A&{2#dl@L5M_8~(DjZ|-$-Zp>G_`MZQ!)bEg>w!D#zgDS~nku>1fguNTra&S( zT;v0R$v~1dV#+xNG`#aLj)sGn6-Y~!rRGI#V?jmHpcsR4_QkEB zGo#{aY+P$LB>E`KurbsrgbY^MXVjcXIr;qpeLE-DmSe0^JScN=%uoatW4Y!#Z9*^U zFn5Xekfxj{AZ;7M5b^-**%7A(M)bjW8g8sTr^`YRzQfLmLE2I8m((7_(gaTAx#{YA zXlXhT=1J=3o^3~|W$KHCu4n4cFd2$9!W#Q_-?aFWOSt%}!+gh#BSng>r;ur}r^>!% zjJ$-<9VIbsX-tNQbs?ui%C9-C7lX>=YB2^$@lQc@((Uz_riFnHXk^%Q~$7r_F)UJ3t3(O0H_Y z2CSW@#LywiT2QM@ug8>Kgj5yik&bJ94Ov?ulNAk(B#=SjTC79WC_>Hg#9+PaFMwDK zXnW!Dil&TIQ>BKht}D6Nb1j8|Ot~NKP9kcuqFWsjXIRn@qHkH(2PLq@SwIJvLgDEU z)1k(N49a>oW8WyW79Nyp8}=9!+8N4J!2C3M$@i3zAblM52q`4-)-f7E2Xyy#tG2*= z60-z&k8!Eg1|vmXWkQgc0`xd_9TwmarDfg&rVDBF2k6F6kf2}S0tV`=Zd&iR4?t<_ z;fxD8!-B_n)yo1Ira@qP%% z3PD_JX&yw8*l-SJ+~SC$LDggk$pRU7Y@rbruECN}j6L75kk3#pR|tpDE?2#b^$9-5 z*ZA0@;y6gJ8EpGsMbUE*qw(0HsR3`Dqr@;QPmpn?w>~5v?ZFw3>TXJ4rm6H5dB=WX z>C_lG)LfWCJ?DZ^US=DTBrspe}k;n7V+5k zt4~ugI0%N!P?X3MZ<3tHH>Hs%9vm#eXOBCR=yH6#8SxekR901HkuO7{3q>d&OqB(g zz+$q0wx&y?D2t#VE{CGlEF%Y#%ql(%YcYIlnxgg8VZ}{udV@=M^~EoPD9%$w zGIB2h-Oar6M)Km+*e<|$X=AwipZ`vfcE%T`Lu)Fp(83#`%ziVWVG^+dky{Avr64^- z4#*wVFrjJe2t|iai0ms^kR%}oY@^8tZxD|*lq;D~ba(!e=Zx&UqOMDmTE&1Z_}L-o zpu|1#2*}10=f3$6CL^l;SVD36I(jkaBjW~_MMZ<8@SKYx#z79c;u_ReSRc)z9q2|F zg3Q;n(uB7N<3D1NWt&oM4&^vFN;E3^%Sek9p7h4q*Nfoqt>j7(2kH~8D#*(WOj272 zl2?nN1?Y)Fak{7)y7oGJ@GQg_@kg;@lrkYF5#?xnU6n=Hwf9uuhV~SDHKF%;38$29 zMT;mBRb&)r9O^}*FfHTZ#Xvp3zP6U z;=2u>-AsAcTY?6sLdQAHfze&+z(ZAzHiVkm?%qPSe!_ z56(|4#bL@I6uWg8eIQzqaw3hB9)~!aYYYY5&ENd{Z4#%@&id5N&031Kd8zlu`R(iq zhSGtzXc4snIyk)uR49KEDI2ndialRgo{N9&d-TeR@Q0N&a|Nl9tb^(j8RggFLR5i* zs}^f1hdT)inBQj$*PdQer&s`PEqW2O7)!(%G*VPuhmI|VXsJ{dnj1C5ppha4o|5|VX*;s4NGO4E5}}capcRe zO}4e7ppp`ivtlp?iLQthdZx|rsyB=MUE~F;g-{qwRza$kUL-czYc2#Ryjr5#*sT>` zVe)w=Fd_sLR1du8paiBwOP-}75vi)}TZg$nbj$pO!>p`mi*eR=6><;IwwkiX#T~33 zi?!=urMRrn(=hM$V2zH*`A+_?)l4We_P(_zqP z#BPj2Nxqe_{z&x)yGsTybxzwt;;1N z5s->ANc;(E4b>jdEHf{NFc=J;z7eM`_M#q)Lk;0buFj4qdMh^G*LtgKK?#4(N+YMq zmLYB^OC^x6tVVOG$4W4!4n7XlgsyJ2Vy~&xRszwySCU?P1f%|92&1=2p{pC1xQNMG zEsnRBwy2n=Mey-#Zfx^y~5N!!kX)e~mtz-qv zJ8Ix;(_V@xS6M(K>IDi-I==)Zp2De?K?!?;j8r&%rcFIktE}^gg3p``Y4O~BV!t-A z>~Sb+0hx1M-{8k-gSPmkS58aW+fWhSdbLDGY(@F2OALi~hM?!&iT*@VqkpeUpO#b9 zCXTpN8bQSw1p-lpA$jz}%Y=$Ds;zLRsS!@}Tss}|pWixAd3hem|EE^Ng@Y#9ARP}&_i7v%>7 zx;+SS?zBW{AO!iIX^yU9R)au=wm%;JQt$@3GlFm}jRaCb!(ziPI~Gx@DwN!{9X~(_4(;FUW6b*u(qAKLP70s{DT!1@vKjR7_tobg<5lT0MS8T$%LcP2Fn?; zSyenDZ&foFBBjyPtrq8Y03R*iZj;AKVZ3)*PQRHGN?!~Yx^vkU-|rL#bRSp}dqwj} ziXkt~p?yJ>7B8^yr}ihI67`YTd8)Ew^3@z_vjsHM^PzZ&UNl{{&l_f>CHaHALNAMAY=^EJDfIwqKHim#$nD}l%Ca@Rfz^B8t51~tRbq!MTBHi*;DM) zQt;N2lrIuCM9s%O?}`PFIUvy>WWJgZTRA#hlS|HT`AR+=6Vumd#a$I7OngLInHeDt z!dj4QgZJHcy_}Wc=2WVtM3vaHSF(G@2*Qp$E#J%}Ad>5%cyuj86w#1cW1ys2r-j7N zL9*rj1KVHreGtw!#H5aKkOtN5zoDM$_g1bGq{oVRzE5pWV@Ps{BNj0TK@^Ie#{_Nhsk(N;{qy z^)c^DFreYQNuXKi71l!OxHIJNw-ft z^W5;B-i~Hlr)BOFa8xBBPNO~{5wWN_eD%EKttRJaF+Kwb@$bI`ZtcP57T%n-nm_C{ z3D|^Dyjmj+F^&Z-wJAF{>`|KpqSVDeR%xXh?J^Qf5C%stjiM*j(y;*h>o|;V9ujzh z%NSGQ6`v?I2ukgStM#ZFHe5Wm0+Xlzrz0p~0*#|G=gXBaA1=tw^R z+7}}UCTVQvPUECSt%L-31frlfBHBy9?_eh=h9zu7gMQZ8a>Ek;p6)bY649-t)dZTL zcq~X+Ylwv9sDx`D=cJ>KrCEf=4bW51)nN4{`5H!32y9rejuP=5WIpg|OU4r|rlXtq z?-DRXWso94bnIgD#@zVMJ^(`TZ&=CCSpU4Y#`Wz|;HWimLIEj9-0DXt#$CveGtG0n?#Oi|_i?<5vx?ufjju#JTBu))s`DgfKHWtK#mT?%M5~cWg zZ$sM06;(6(ylcBr@S1v7JHy2&#Ev5r+y*W-{tgfk2(GHZiqj>X@HZ1jV{_ZJprU0# z2q%y@*evJ0UOVJ+o!mGG3%3G_weooK^PB$5JsAGL<$0lVRyJKxD}+`BW2(BSS6WGC zlmf8*9|2q?YDHPx>z=x{?@J}l#}SxUr2>G>hX+mti2lHS$~ zA)8xN+3i$+)GraI1yAIh_`8bK#?gwcrXktNM2&$Y1bz}ahTaeNR`3b-GV5*|GO_S|;Oh z84Hallt2;yKm-6HQvfzr1(HGmDg-tp2_Y5V`k<<9t5vH%WX(z3$kV}Q<9O!Is(y5t8hNM(UON-Tjb8hj8leU& zMDv)4`5*)vhO|Np1&P#+KzrX;PR2$dE}Z$k%(xJu+}*v~7gW^u+fVL-xW07fEb21$j; zBPHWRx(^v%5CZM+Z}@jSxp^Gm7vbW;Uk)mqLXl9BWsKC2YKY{$5@mClpvh?9N-f)7Lg76}5fEg6<5Wa;veVR! zhM_jCOaeuT7m<;a1X8_}jhtY4#wdw6p?Mjk;+D=P}&iSZn}W!rcA4D2qaeHg~sFWWjL_B zHykXiTqSr)m9}CGIH>Bkf^t=pq?L02d1;3xW5QP8Ie>?n^{Dr(>;!q{WqdHID$NCr>cgl~z_2Yl*kM zhkB9XNqFCKIf*&2*HaD~X;RB&lGQ|9(go&#ek)_x0`d(?n;8Z6P~$ihBn5&n|r z(`<-WcDYzbJ>TCd*&(uiB#(t(L0p|fTrCGAY^ z*ph_cWO&~cHf*{!i@!#@g3RLE!vsSD0N|lVQh3Z9wlC%?*`iz{B z-dg*gRE-6j|J?s_!x=ooWz|`9+SS-fU2>WxoL;2qso4PNW^J82=$>QlT~1aVE+p;o zau{e{+WNlBU*@iCwgv{sp39I!RZm6;JWWTQ402VVw(}P_v+mGTb_>1!+yA3M#q3P9 z{m9+WN)#d-44Q|{RTi`U_E{;6K)mm99A$HjZ4?hVFxHTrk+vYhyahSlQ@oOF)`MAS zfyJ+eX0mk5-NlA-VF#W5`<59hqbX~m!^CW|ktbB7uAb1O0A7hA_&e$f7a#X02iL^5 zQ+}KWa)Ypp3oJw!Q=Vci%(Ej+A})Tb`kQr0#;{Pd;(~o>)JpMwdE(D^{ya*a( zPK85uWl7K!sf@Iul0)+HsbU=4+AU*GNeZb?2nJuKhsZ93wao(=|jwWv0Bp&`wTIt6XkU@ zLe!`~s#ab&*!PtSyKMkrnXaOA6~Hj1=F|MaG8Bo%R2%((6B0hV--35Q+-HDjQ!2eq zM;t4kiRtj8wUXp2xbRiZvE8#=@F=5_ER`&(j127rbnw^P&8h}5^~wdZg`fOp{e4Bz zi%*A=6_VcOY*K_x#R7U_4#Ooq&j$As_X86n3y`kW0j}vR4&>jJNjpWj9nQ|= z(j&`-eaFq~_%8N6rLzye&N$AAmHhRxVALBB;SY>lPqi>mfirZ0+UgnA_C%hSc# zi@im2R7)ZFSUnrER-)NGuS%l=%~yBI8dJ>DURJzF5CV@w;qQOg_qtbARpt7}n*pq! zvD2Vvt(EGpjm`Q}C=Y0@=lr`B9=H>HzX^_qVa}URt8i_!o^5a#gNXU5$zan$pBRE& z>mc9Ml&n`}j-`aE(4zikMXP~)Ie4ZnA^o*TGa38LAtsJN3{0Bs5Q(ICCH@*F=TiuW ztvef6Ccs&2SBDUwv#M<;O)ZuBpinfuLhfcJ+nzGnSYtB|gbGE4H|r~wT~b8e4y#uQn!UQJWwiyD z=DsfH=n6znp73^cQh3N)MYm?aoZ^+Ow2uUdGzN6-P~8Q>fj^c1YNo4JDRA=V>ozQ8 zmzA4{6kbz=j_QrM9=ChB_uCyWnA1|-hzPQP`HYnG*lG?ntqoklo2Q5b9)U+Gk89is z?vr3m%GJ)$W;Q)I6AwAHtD7V;l0C}3E6AcZ7+2fFY%M{laXFA8p*|&ux*JrpD0XD5 zz&g-a8^ddlAt$zR?F>nFs|?sB%qA1`MP`YC&)SmJ^&pG4FKt7BAzrhg+btWwJQKyD zg#(xTCz^_X&5@vTtZ<}SNc(QH5ur{^4jz;^%iel{kL*)z_FdVN!QjAuQ2*m*3>_ky zqKrgz$%C;9lSb)P^s|!WDYWOOR@u;0xWb%E(4cHtmZ9mU0`=iaA8E*L+4kDqX`=#> zhp~r3axI9Jp`B_rYDsKZOW1EwC?N9D%H+BCl-6o3bKBs8Vh%#cfZMVgW@JY?fmc_w z*(neh+g^ZD@n;DvU{U*qwrZ;WtR-Mbx9L@6U~jOn@Y*%?yh;{rg162>R9Qegu*#wn zkzFfbBJpIfHLyq@*@r%=EpC^tw=J9;7hO|F?UqGP2hm%#Er8gdYznWzEg9-9LEO*e6t1)B!0q+0WM3(wQfV^*Fjr3|Dv;S* z=m>KHo>Sm5@^vu2+SX7Kv)z^_yf9)YJI0*iJ?s`F2!Tt-(W!}rsH$PZQ1%3deJIi8 ztZf_2#ydY^g}kwLEuO79Xq}vFti9*hkhY4jPII7dB(%za-fFAtH2jp+iH$y! zw!9WA_Syg=($M2NV0MYcwqiltyj(>ggGN9-SOy8CX|6h<3Ocu!ZNu znV`p_N#)7KK#ocUud_I&DseV}-=veemdw~oq;|4$Q%!^>skI&|6o8s}Ez!@k{w>I{+vy$2LS>25}mkQ>s6TRGJo#lm@nnRaEs%WRmJqu2# zZ!J=VFcIqlPbb404+1ZN|L@kv;=aiO?8rPL|G&`L)O?)S&DKY^$URkfz{aKp$%a16 z&cHE5k$HO`=pSk~hnqRTA09Uo_kSae-C$Yziu)%AnerNf!NXv&q$F&!?DB9j=xH#A zj2d>B^+P7}X*Q{=R#qs1lt5eOmL`by9(3m|`^;_)+jNr=*@c>d!&h1UxYvvGWvAza z@;5a3H?fnIvjt8%lwzA`+flV<4FNj#YG67?{ku>-uv+fHsRF4Z8%p8#+A1eLN}rOn z@Avl>KvN!TZO17DV@fwC&`+IcQ?!pskNtc#ueYrsN=Tv_B2ccVT+ z>_`=&_38FPHgBnK<8g3MIFDQ9o%`!xHSf5+t`*$~u|e~b$)|p9h2CM};`n0>cNaGb z9zljqm#uv5Id8Vx2`LKf;nk=@=%&;|6?`k09GfYH5YoE(c-4``a6zcYk@Q)wzarDJ;Zv>DOl@y);ZHyRWcb}^4bod zXJk6$>&NmsqP5k(${QDLulxjGVPprkUz|K^?P6)G2D$*LN@*?f+(Anm8t2N7)Vk>6afyl_mz^vKW zwCj3`jL;%t#WQ=VFKeqMyF0h1JKKoFy%|W>etHSL^~Ku=V^YAbSXz)vtID>EzW zgZ(dz90d(CD+#gVrg>VS0~hqHx&*h)o@|LwbPC}6>zq99=IBphwpZ7ZsR>EmB&gw0 zGPaj@T-2V zDwHDhHmkh-9n9_6|35eycu^4DwC}W)-AsEanmQ|6^+aYuulAp}Xa+$#{r?TusDb~2 zYh|HTep)z8OO;j4B`v$@^|VfIJ0#=|4?)xHl52uupL^{yx3l`Zy=6S6%KlflNbDR@ zsj0!Kru)Q55v$8Hb9&c{=ywmXg9p>@Xk2UyOar@-m+5PQ!ZFyDCy09s)If8zlYULC z1fetnyJyzG)Nt(iu37(fd;(?%SCP5Xw1Qev7la(9+`HQJ@xtGJR69DSjV%SvwzDa_ zuSx(t&)~XNIFEYuOSTDPg4)IvXp*XHKwij%uCU6V8*(zUoX~YG?$LJ7_*Ub^{r0?z zcl`~-mgt3e9@El_+jN21>(pyI*W+Da1k_;Yb9^kWT-4%?+p2}CiLIo<$qugkrg-&1 zy1LV3bQtaYt)EC>^~l~%-WjvamL}ZfZ3GM5(LGsQ7OwIJ%&wdcgoocj^HIM^<4r-2 zQ$TExU1n=?jJZ7k(6(u;t?!-Ik3BPrtMGp3TeB*H%<3lhRRCzE)ytoWcXJD1S>gv* z<7AjgL9+tEl{JJwqQ12=nY-RGsUY)7+K+XU(eSTt-zFClYc4aQ!yLZ`fBj0xX>%&t zPCq$b;W+qM8Aaa_;l8k)U9-_-Y+$m_T`4#!H{HO)ZI4#mm1-x{v-PXEmM0`hZDp9O z?lnUeQMiR?|8pwqTRIT9*#GyMzFBuCX`?brRd07~mz$Kyceaf-e?80fwk_Srq!aGQ z0qyRUWLOeNx~bGBZ6No$1er@a30h)GGpG%YK_*q&A=9tu=_W0&E-nF8F(aPpc<;ce z4BHmRnRU=7uq6V0+}2KIwdyqm-u3CdRx*=s7vn7DRhHNrk-@xk0D20pAcCx()a^MU zn$(G^oH?^tr(4e~BEewEyH9Jg5KbD4$vw_WVS``oG| z2ZJ*sg8FSG_h%-uC=BWeb@0(rSBdsOPw^MyEwrG9&O)+k4-*8*T48&Qz5Q z=vTIun(67H7cjS1UP~4o_@>_*l${Ouc9cv|E6vsEO(uQZ58;bU5M~@Z8O&P_YLwA!PAk|b2#4XluDM4tgzI( zBX>tO@;tWz64XRxiyloY@su}3584{t7}5d6nh*xHweZ@W_k+`2f7Ea8ErUl`>cY?) z?{m$%?bIf-b2wc=f%xlt9M6TSHmE0tHtc`X@`sAxquWg;`v?D%>EVZt{&JFcQhiXZ z(WbV@Zs+t(Ms~is`8`luNdHhCf43%IV;>7;8;9g*tBehWsHEG(`+mpY^rE*NhR;2+ zk_P#22EW38;6*%ZLy`X)n{(G$n7Rwy(B0~UZDo5Y@G|c@9eas<5O2J^8Fn~J z+Bq3wQQ}`v_ySUXbr-5ebYzX3K}~6eJ)c*(&zz+pzaJu(04?&qd%K@2d_*SgW%u>s zsf_+@9YU(^VSM|nXr*anZ>vDjsNqk1K3ZR_1a`=Qw-1Sprfp`?+nsUo=bsNlyjoBu z@tU9fSp!1BYw^HIKN;xi8!X^)<+k%=gvttCo(Jd4ScDcPiz7*F_j0;?;inEM^giF+ z!5hfke9)G}#kQ6#6&KNx2L!|-R)J>Ml<&;6zb^aow^7m4kX+t~m@Y8&C)la03Oki4X5H%)I>6g?T`okB5t$TVBsH zgdMzi<#XG?R;XkH|9*IY7Vh06+SJdPhrOTJ?h`D`!nfn&k#a{nIma<1cLTgTCZ)3X z`C*38i=(&At=63fs(WkL6ZrCizcV-X#m}BQ?f(8cLe5`yb>$sV3;SpdIkxIY{!%0N zX2;%Mqs?tQ)%?o0ez~Y_Tz{b)HjoaQs21^b-g%wNljn6R+*deMpH~nsfgrMweR+*P z=6Opv89j2>CsF0u}K#<~UV1_?_2(_Z}qg5cjk< z`JVR&AAimB3khy!LaO<`a@}vv(!i#W#EdU|Bm7}9QvGo=kDT+%AH)CrdwuUbm$TjR zoBbp68QL`Mk9qnO(*Nimq}!3{+#d3?GmWMD?svcP-RkKo^Y#08vp)GHKlj~q>@n2L zoO$nT|02$5v!jo)vi)}@`qN8)(7zA8%KPsb*pXC=uM*R6u-!hGKabj*J2mZS_E+`} zoFOmVac!wj{ttVXJok^UU#ZjbMFzYHQ}xot6Y}P~vxcn zQ9r$8igd6bzv(YSi|my7f=aWJt;0!>=HH(7yLu2*CE|0_X*E`A8^!}ll+n&*JjUW2R>gEUcLHT#! zkhF;?}Lg8S|q1JemI3k!PRm=9`gD(T|x< zDjQ!mKa>ZJ>oh()tBl3z=_6mJH~dtyKzj3s4oR;f892=AqcLh<`)%9hxebV)5PZ&fK*NP_=LF&|L^~%Ci6JI) zW;U~y73};WDsFqWcRYZF$mhj+afVr#!Lf*M*H#a5U`1v5e zR`kQ)_alx7{QA0QmTKJ#E)t~C@*&HWz2}AZA+eUni{bqH_ntTJFJ6e=O3TcC@N>^q z$oC}QnGL>r-U6jw;@Nf%`XhJ5OJnK5=Hwpl@$ME$FF*W##kk9f@E*i2sD7&bsGK<7 zjOP2lSc`CP@$c`oJ%8u!AL9S#UHdp}j0O(;T$kOIk@UVZWXzwtOeOBd5l2>hEpeqZ zx%#UX&t#r^-fo4D*|k+F<~?KA!K)O~bt)%D|D6rq_MC3_JgoXJ3eI=7Frv<;dAoQB z&r_1|`*a-SR2fMz0-vKs?q@1{Bv@|Q+*-3S?&Zu$g0Pv5t-u0aY-Qha@cy@pse%5; z?e@VCxNq^dyZyofQJb0Jq4{ojhug&NeZOh0MYG$sW=y81hPW^IIC8klLkp(lC&2#v z&CBh|(G!oe|DZQ-m&ifMW!yYO8T5QMZ?=1&@cvf03ha9~&liqkV91l!mELDjI_jadx-1a2dm0bsx-Fb0l5QFz@F--Akqi4z-3{4YpOqK=0;vG+~1i^t7SPy zrzLj0!M&otVVv`SYY#2FaShgQ$7tRoLRvNF4!h@RR#SbzFaBR{_0)wHNT zCn&v9>Nhvuc&>WIyklhg~{PfkLn>!YfZoHq=Zv5MyGLT$E zT*Rw{9hBcoNh?K@ZfS zc3SnV;m*kxE@~H!+kQ5meTz5dyg_AE8b4rfzQX>91(fZD(8{T2y$lh=?s3RS)C zH9lgG@SpcPwQ5HF#xKhN5ch_^HUWDwSWPhAP_xuTN@c&(i=q*d?IW;Xd%*6iIx+*% z5Iqt-Dya?D61bI9toRs>60NU~fSLhn#bCaWfKCaVMls|{T*wm<2;rUXbS!84&&L6E zW6nOcp=_=(2U8;_leA>QpAZ&YY8a*N&L=q8ko zBHDrE#&~h^xR^0^+j4usB`dJdbiD{?+*l|yvU|y+L$SJyE)PUT2K;obnbFaN+yJ;* zQV|j)deVC+ij8aNSbzrI+)e))jA6$^kR4L=Z?%D9g2xK zaeGY=K=-gzem=rctB^d{BDz=HdnhcHM56yV9J|In|J7mSKt@qr;#1~l7{nM9hXSP6 zLQIr%H+_rC{p}KZ{;J<ITJ@koJsB*g_(1QxatjGhX69U08(5I5@|fI(=hc_^$|lI&B{jxSSQqUNtDZlCrirM8m?9(4jfexDs_?yjHTx( zsHYWY6**Q)Vgi#^D=(*^YtRNmtY;xx4^r9yc)dl^0mF(vpMmVkL9rGvXcL4hfdvgR1x7<@h=FD=yM2gq#zZ+9Kq=8^ z=yiLBSlwn6QzSh`&^}Bm;<)OOBxcE!tB*MrDve@0A^hiG?F%xu8+zfCunB}Fz+$k@BF`8MKUGL)Yg5o7+>ZY@<&Ovd z$qST?yH9nFtkbCIvAJMTv?GAg(OZq~QYztxta@j6AO0>ZBzld< z+J}@qCnRI^My?Az>a4-XC?MPe4;+Ua@iqlOm6J$(xe0^d*sEss$NbG*gW75^6>w@6 zjE^l;dV#WPsN;?YnQw~w5`BFJj|Z{}B!CmRurn%D_W?Ky1DHkCL;{C!Gact(X6e{% zV~ySjsT{!&dB0`xOvyJA((XLlfY$&01RHi%`&RJ2) zg0HS$wZlEFi8rZt)I?pK=%N!&bcl)*ophp!PCL1RXjw4lfFE z&wx4sQZcI_LMfn-V%aUyAxa$@hZhGH;R(Qa2N=Vv+r#W6tW-h{2Ln8mghoxd3BH3I z!`)ECmBH>0^0gLj1V!U8`yfwlmWMe68Jpc!TJ;E4W}R}<>klpstrkgvFXtT&APJXZ zOrU%Kl|X90h!7;yt(X*X=mc{|BeqyL7Z}O&{vPW0UT=BdE*1GqWafWgBAYtAT^97w zK36Y!-Tvc708upYSRqmf^bHnbF+v6G*B9f0y^G#KJT%9s$id8qZTEFZLWDhqIf?Sn z2LXL6qGT)>CxiRev#7$IfO7$o5Jb~RXqi<5LPNFK@nle8MNlrnA zW<6*+0I<`oMjUKyLDK3kh0g`AMNO*Hj$ycU8;x}bQv9j18swmtY~2B2^@%F@kW+?r z#yCzu6RKNJV^Jk!`kMi2hq%QuhwFo-#X^CM$YvDp)uB3Nbd0DTvvpn2Tsf2!F=3TJ zEC@WIeQE_CNYq5WfM;oHFhmQjnn{qb66<*Dgg$7M5iOW}c`nh$M3l`48M|Pjr+}%L zYdPp`>@Rn8mkhVTS|FIUnWGRb1BUAjt9kk_6U((w{pTb0y=C9VqkCLPi(DG$JBpAs zC3*}Ays53A1mvr{vD00mo(WsD=e6+d%Hme{XbCxDBns|~hEoH>+{iQ(W6oz5d5Qky zjiNVvg)Ct|cwO~KcMo6y4E&4{5rB=QQaaG);@H6niz+PZ3C;(DD-uG)=(PwNEvHG3 z1B}Ty(KrM|KuF0m(EN{muaDmpMd$cyX`uS<%xKUkEEHZEmb0-x8mffYlEc237z_Zb z?BFcv(h4Qg0U&}%u2F(JnD-L8Vc%=xoLEu{Dgex=nqV2S1F1y-H|gwAM93*QYOM`( zt;wngMndSawWjo^b(k?n_)@M)!S^7s1jWLB3%trhwR57xK#gjSqzt2|nb&a5*N@UQ zTnt;v`$C?-rQjiK22z;PDuCyn8a?F_L1QtAfE`W>Ja;h+a7sb>sJel|ojka6Ed3A6 zP|NXphQm7%4E%NwP9I<$gc~QZa-N|9gCOP@z?nAa{IhQ?f$&g4m4Vt;Iiwnk*vq-; zKWg&yj!-N_3x>yRl6Z+A2!=w`3D6)$Yfhq-y76xbje(1UGzAp4Ym7c>vb(wj>(r8R zw3Ap=_)^wZ?nQD4@%K}ZV!@@F;~*Y79d!Yn>jF_)Fe>#3uR)@3kWmf95e~_H;Zj$g zA%%bo(NT1!cqM9G#Tp2;cY0E3C{YW6;ut}JNE*4bNvUXn-&SkMnu6AFAeulbYTO6_ zD&m0YIfi@Yh!(6Fp`Cx4Ek3=1_32p$zlwzBN=1d zwV7C>95*7LoB|Q{S|ylX1IR=+Y@MN3d#5E5fS!>WK(sYcAmC8MS}aUhx5oOS56?7L zFB<(w$a8>WCqp8hNwonqlbsljHZTZ)j!C0JFVHC}(DnerUmpQf?7-uE7@kr$k|U&a zSIQ@D-fNImXDP)!HPbr~PIh3puCfT#SKdE3Rkw%`-Gi_fj#i0FEdt8?{1v}y_16)a z^vRd=3cDkw6vR&)f>Nk5Qt2fSptzE7yB!6^g+1YmjzKT1m|&fP(+bNC)_Aq;<36B9 z6fExwE%hI-;Oidlf8nj4-2wrQSkeGXC5l4`UlQc1GJr%1AedQ#AQH;Powg88CRBzc zG!pj8MDIUgl;|XAW6*d)RmKmg!Xl=dHJk(f;hv9_nRr;C#-MXj28jx4k)R1?#*RyY zkyHQMmPpp;3q4>Sh7jI5ks_jw_XYqsMscyn6E5qs7$ls^t8%<=1Gy!ae&8?$Q0-T9gqv>gF+eW zW{=%F{a;1?-2s5r(A~gOiWT#K(dn#2BB@0fr3KRxRt3LENl#(SOn@Zl11xjKXpu}p zwDmZ`6g0nxaY(X4o{$l>`u19BtP%o+4tkekz7jBx4FQR_VJ_E*VvyDmxF9W0U;(N5 zRH+G#fqw*1=LigTS44L_q-tP>M34)Rx%AUxlgWZomBJE(!rlyo8X6H)IH}{_q0vN3 z)}tvcDfCMe(mR0@6J!I>Y$aL{39%T5c8)0^k&3m%WW6*9>ygk<7-CBF?ok&+K2}P# z5{atGOF&?Jr9uh_=oq!YVCZoKYE>(RB^IWfggLAW;_!vF^eRn*Q)iNb>#fXHmS`+P zawmWuPLHkt`-smGppb?ELL-lr+7h|t0)ku5b^N1v#b|kR1K?wbRBNBB$-nFRL7TB| zIY%%aB`HF2xsdh92>8%TEJDvsRxbTDPVRdLGN+9 zX)1I|Z;0Fh?&IRDQQYU4P(bHLK+nL#!N1u1lqpRd&>CsQ1F8PdUx&%OEG(G_~SOL~IpoUuEN!yHbiXr#Ajh$d3}l{MNX=7ns| z0y|;f@PE4y*ZCJ4*&c*`Z)mQ#-Q%r*uKMV%^I+ykM5vl@EP-x~p369sP^I+HnYG61 z=Dm(VO_T~Snej`6#CC4GRrBC(Nba+a@ch*D%==EqIv5LXbCD%(2A;Xs$n6tcZsU8Rhca8&<6fvg3qLF%y zuZHi$U^q$y>w|5X_5b19xDvis1}39FLIuk)Vl<%IWw4kM0{W0v?1_#sz&77&ci@3u zymv$xn3r#Qy?RJg41;qTOu2S3Xv1KFYc&6J3;-w`3P+qOkR)LyBtj!;IF14HdV1Xm z$hb5hI(MH&5h}SC{m~pj;HVHIy#WK^MAqT39Btd(2!{aE3lk{@kcJ4X-Xpo~Qsl9w z?!F!AjBn>Zfv89#;61iBP$lJ zVIIQgoZ$c}ty~Z(t?;M{#(;<0uzulhI6_oWfP(E0;sVa8zz_t7TP%^tfo;~+Mo(*j=UX7sK`dShkajUh>X?r-7z5Q*6D0?9 zDD(a~XJ2Goc_YL$8Y>v_Ys*p&ObrSUiQ`VLXN~G{O)L z#Fh=D3Ti>-3Icp7g!l&h?xB%y;DOa>tF!eSPq2vr+5d6Rurk~CKTAWFNwEM^IMzT1 z7632~dc~s#JU7>vJ<)@MghO;nVq+Q>1j34dP%7U}l9mG%jbQz@(oAqsIH4vbwUSrT z;~1kZ6m!GTm3b0dCNxrk@WC+f_p-S7clb5Ag#05UGgqmZkvGQScUDDJgb0R8d2=c1 zTG4bCKm{lfasUdMLe!)pX$O@U#l4)WI23Zk?6e+ry4rl{Q!0TU3BF-;3rk!fG(=yz z6`|vlDvb~_nnpvD6eJ13T(6u0awI{@%a9oY+fkNCjD~QHW>QSS8X?5>8Yv|=Y6u2I zX%&t;nw0{H>~#8Ybk#y(pQO}VaG)C4+zYKlC5fFF5!BMFLJ+l-lv8Tmy_5$yf*m(Q zm26q56VAjWifgejf`!*sqf6tN)(eF4WaXNAN*}p+Fzi-=8hx{9&wG10{ zOG9RkMw=A0<_323c7MH*$P+(r@%ifqb7)4|pGAda^#5AasZ@HdXNa#ZVc2G+rbR<+ zL^|I8?UD#qCzw@DX-72J&4AcIsd8Aa&_pW$AJB5w7dqi0Y}6EuFvp@ zJ`+a+QudTPh)zg4B(QI*BSDyJNk48CaGAgo1RA&_(}@;^GIJZQ5sEl2-Ns|2ETJn( zoIISBLSa!j5mapuz&fOAKuwm8>XeuOk>PkNpGWMY54oNAq7zPZ(TOKI=tL8pccTBP zA4&DpzLEID4^6=R5D)_Z1pqQM1U3KwUu9?2t3WP|(k5qe=DR%Zm3aJ?Yy~?gBx#by zdsPFv2*8uV=Oo{MNcA9q)r=Yu0009VOi@7lxLX~pK-2;{Stkzog2<|O-XVsHz~8n^ zJus|nVwq&746>~IKeyZb_7)l2)ZOWlEVjMVbYt}FI~`0QBRe}C8W^^HAFdK?cb_n+ zqV2a+Ll*Bn>F@dm0JBg)000mHjf?@n)s=~`gv8?w!C{PyR*|j#)@uGU4%;|`It@2n z;5YcqeY1c6#ou-RapF9=tHsWf2g_%g-1yFXCs%pxwj9m7=F6UV+S|PIa<#Yp+A}}< z)b4v#C%5g9mc8~Duf6-8VO9BY>aIcL5W&8@mxsd;zYw7V5%^IIn+xX9F~ly!Lw69J z5Xm~Tkr}ZJp9|;EGsG`Mp)*A0#4~d*_t0lCbEG->iNBFIQRck=jP!CQ&Q*2i&NeS+ z(=l=NH-4v4+`RS0&#a_z4!BH=M=lCGc{5BjF3jm;o*WZS{P||KJ#yzC#(kIreWalq?g=vM=WL=;5SE&RuK%T)TExOof8xa%5wj3Qd& z!B9juEJP7uVM*B5=f>=G<6_O9K8;g7ZCNYjzNY+-{Z{Ii>xsap%E;ly`(=N&Wu29LZ745O@kg7d1_?flxU1FPR?*-IYa(K#xZ1v95kf#Zx2 zYwi#%&Cj?Q-tb95s@BVAk*L| zb2WNG82@?xp*0^ry^X5CLp6<1AIv}O0lda^CwoqWv^p56r zqZ{stJk{Ycx7sWoIP`w`9zO3(wNPVPGDZ53hUL|e{vtTR4XlSiCug8Zs5Of<;=@4Y zxWj!#c#%`UFbcVn)#!e=lL0tIxh*)M+4$~X)TeXQmmAMun>OgowDUEWsGW>mP-Ul) z{#5mtAJR}=H9EE!IPkcH)Zh1%TwT?P!Ae?6DD(x3n4A{Iqpd>yz}3@g)SV#7JT;1( z&>5&w)bye1Km21`xU(t5A~vh4iUL}V{&c&gBKLXu3_SL2wpKr+Jk$okOf(S};1+Sh zYD{XSRwy+q)*%m_VTlWO;K$3(;KamE%lmmNbU1CrIBW8hOS$&symd2ob=*7PW8;8H zQI)G|iddpyDm{<5mK7SjReUM5kc7uh-+~xIf|8Qq8D-|xh*j!1Zn&LO@QBc8|1%Rp zks&6#bXM`YHOw(B%F#2@`ZXe3z7tQIm;1;a8!1Pwe<;Re|$dWBp zxMsMj0`$j>RtRC`rzMa**U@g7Yb^1XD*TdYunAq#Z@IAUEK+bh7TURT#*K${wdbO%*OBS=o)aTgf`jPyW% z){=v3*O+B`_Uh-7m*%9ext*)6B_UWf1@K!-fTJk(L5O zSxXzPuxS7aL^5JW^8kr#c>uAjZBZrH;vpjGyEdqX+i!|is*O^TR^3buW6L06Ye~R0 zX~)`z(5qQyWudkuh-%_EoYS!G3HC*8j&5=lNWJ2 z8F>xC5X3u3)I~?KMozkwg+v=@8w9te6-Vk#>8Sw_Oh*-KF8`!U)yReMk-|U<){=y4 zd6HiDpRW`4XO(Vo%}imT4|2+zn;9WHUo`Y&5l)XI5%JzHE&{ zt#B9(m^+B6j={4_$7u&~1(c^<5+FToFH&pE=yhoKe0j9ey z7lbG#5|Ji)fRK&ke*4uB<7^hO_rf?hx&jgJhZRoed72zUKAVcYh_0}D!S3o-?nBCu zX^WA{e) z<+Soi`iLX)ixwT&Y}La)e7rkG>W})>vrTC+5x0`OG0a9y2g#B>ucQ)Y}+g$K&fg7Xamy* zDwS{UCo=EVZxetS#j&x?p=wtcqbz%lKT zQaQhRWP`Dh#f-Y?jXXMb3rv;FH%JdJI`(hqg;Ms?rPS$#1T2=-!Z?s9L+^;LxiUSgo{j$5thH;%iHQ z<+Qy?al(|n(12-63+fH4wtI(~>a>yW4;1QYC6IFQgYCIoag(ncQe08JN7F_js_pTM zIqk4g>dq^5JSuCu>TagltB&NaYMHvcv-+~f;O)**5E&9^tO`0>0rq-sJ|xHM-?_5W z{tWlaiF);rcHVsn=E>aVqVXwsXq5ZN5Z_()5xc5w)8L&Pu-_~OL)D&J_%?)tt+ZPlIlVzrWm6*v;_IBbzcG+I(BQh{zCTMtY=*_goE{15@W!27U zXkS|a+%K-`2D&<$?FT3O0>pEe!xwl$B0J{Z~JOX_FjwbPbzX{uA|8N60`?+6QW4fD}X)#Er`uJcq zGEJbJ?3Hc5!X))h+T0i=Kl5hmiYN1{Pl=2UsBgbW?Xs(~x-uE6-4x?_>+|;IH0#X+ z1(;UDCb>pgxXo^I6%^dbONYx{;BipyzDzwACaPRHj9fT;;@INj*28TE zs)IDE`DSYSR*Q{_6ulZ3N29fN{vRJsPTuk2b0f;i%f{p2_hZPllFx9j#qS?HJgme2 z)8(*VXy>)lZ zlq$IOh1OyVCP6LT0JZ9nD@2J`UWe6>c(>hN=EFn0SF&(SvhK}B}v_1C9%4+Nv+77 zZS8gR;f)inJ3A{U^H-!JNCfBcW=AAU6>DMLIr8jkDWT_UdGn#wc5#h6yzOdhVW>=k zabH`HRz<-i!wAPh2Tjg638E`}*#Z|CG^59puw_ zm_A<%vwAoHvmJ{=3xZI=X6YulbxMcHVq5B44Y)=$79y`XZpJ|B?mFFWtQy_O^fIRA z$wG1I)nbr}c{A8J{`=?*HIpLrH%yCnB93!PDLcIBZBw`5vTv3`Oa1MB<)pRW132-Y z^SK|nbkBt#zW|p=9>beyDrsK7HQQsS@}%kimX(GF5Br;2Jb8>fI#^V3Qewbr%$|D9 zz96v*?ZSQ_1Ld!LdEglM9eg?TbxRE`Bt$aaSHuDJJsn@UmUriCk$QHia+vvs-cX@K zEK21x`ii6AEKUw?3OK820aok`Yfb1N>Fj5xN!@JaC&kdsQB!t7S;A@LB_W_0H%e&% zo2FMdwGMFbI?-+}HO^t9w&-!hdFtYvoXNzvx#qyl>$3-4=?+LhxzgW+_9O9;Y~S;H zW#WbzxZOa|!?F|JF5RIeGdBF1y8Xgt=oR>V-Msq_KtRXF_|~t8{V}kzxvqAMx73%K zCvd1i=woh40 zREEMZvmEteqtTK{NM_s6jr4YwEBg`>`8r(<|FJfEx482-q(s7!Fo~yV##K6&?Pf2X zfCrH!1eMk!;?@3s1+8M&U0cIpWF1~gKmkCuf)T(_BnGO@Z{0vL0nTDqNP{o7z6C4i%>$>9}i_;Qr4xlL*-V4Haz zX$2j7UR7{YIU1l-CWKrhYyp@)Nu&3XeKpj^KJ$iDn0BOg`0F0LcMnjTI>58-dl|q^ z^1C&K$+)gW=!Rqh`fE3nVBl{|+a<`yq?66V#`kQ;UaFKO9Mld((OdwL!p{@)1I8#PTzAM zV4?gLUX(9f+A#7q1oxD>%Fhm+>1{}?x0R(t)QQ9t{l*JETeEdLYL^#iHwL&eOg~^J z?h-aGJ|6HsXXIFU3Y`8tP$YAFJ1|2b+pH@7JFR{N622TqmIpoy`G zTCkQY#?xx;!=D@C%@m2Pz9&Z_Rt$qAzeuq5=?cB%Y&Gfq8b&QnZPx0KcE6DIx??{_uc0-{(yp)+$ zLIju?Ha8vWFMNw{cX+`tCQGyS%Ro7@SxE&j8WTk+>bPwid_nJ}3*L)tb|1{|iKz(A zafEI&xq!DXK-w2mK?3X$ z^fg?ykw+m2bsMK@_Fc;Y_sYDl|jdy385=?yO83Q4LYuFX(%;@ooKB?r{xSXROrbN9#XQLKS zhX}7>4y>|{x-;rnzPd}kYiLx3I*HxyhozgYhRu<_tQc-Y1KusEyX|AzV{QUE7p@jl z%?7A|Ft$p4X7Y(NoN}hBbT?PyOsV*)NQb2+o0OIoa`8CvTs$$ThWcIaY7Wt2VB6a= zYOvS7ox~F77Y+qKWVMAUV6h2TuDbm$4cI54v7u60L8{v8Q7I;`)g&}mUr{wblI^lE zgJ;KGlEj%p_kho2-4`eE?r*l~a4GKbIiS=yDp*BX_n}y$U3O-&iz3a6^fuG?D7%H$ zQZ= zyK2H(=i{DwoQi_Eu$B& z@1Sv2i$Fkjr$T8mEPVDr-X2P-FhQ#NdpdvPK7d=aoOMnH=yF9#JhsVJ%w5u+wuAzP zO1N)aJZ53r({Zz3fKm?jp}(JzTAKg{2k%v@w^<+UyYPV4 z6}Go~3=WOfH}(82AD$x@cM`gIlL6n~d%t8XQNGLi%U0)KVb}P3xayg~_=Oz?8Efv| z7{;`DC1|Uf(&S%q?q{QS7X%W{H*2Opy%LPytc3}RN@5w(vZCLH)Ghq8eE(JtaW1Vh z;e!Kf*@AXOoZj^uOYGRaqq^QE?)wAvSk}o}mLMx1zVG&x8<_B{90_f?v(06<`S!ju zuofw3Go86fMi#2(hlfSp1bZsgCVcWF|n!W{Tdub zV=d?EeO}kqZdrgA)B#w3m(oIvrr?|@L*jQygw00Gc(<1`cir5xuf`G>8ac1Uh*XY> z9ICPai>JOu5aPbIF7yO#zrq(-x5;g#*_deuJ(=Tt(RKyk=zMJ9k~Y{0$x)7USF@No1~cLXHaAE?sT|CU)Ae-TQOz*@NNH zgn{FhxOa+1Iro~D1AZDl5XOeW#rt^7!+8HTcucDnJ+t@eR+!-{aS@@8Qqlp2kiZ%1 z8m^lktfWeVt6y})$CN;CP2FEnXel14g_6ThVUt;n{hB3IO|*#9xt(beuq3vH#TZ)( z$Hu|dvcr`N#$);1jq}&({ahhtM|seMsSO@YS@aHHUoTZSW88ag06v?hHMu5FmEUPL z;4}puUwbpy%&lz@Jhvb4<)VSFxR;y`GYQMp)@u?`5Fq>OFotTDWM)^5H$4q951hX{ zHl)+mY&=cMe*geq6U$aLyje}?7C3>xf6)?wGS!wo%obd&6z+Rye{hs9XKS%}UUw%@ z&@$%Ayq^h?Eo3dafHSct;IT(GuAs80ZRQ@n5$(fiVX18;i?($SAC1||{2Y0=(Xe80 zfd3$1&=*LT8Skq^PTjTA3^+HDOzJQ9SE z=L>#yL-rWz7V4#rG!|1QM*z}WEOv2vWa-x;}7 z>mf^E&@GtWBWiAESXm;e?#vE-zq$slxU<71s`}kln;KKk^1B{9kGpjH;H`FP>+ww? z|6ew=`L`NW7c<{YzVeT{>>}NGX|fF|4HngX3+1dW*ZSVo`b*~PH4{r}rh+LtAYsob zm<58B(8pid!tu~0$wQCLtF*|jAa;J4rf-XJyu-ttHVjHl$A1 zEk3tP4wsC3-Q=uZh3Oqa+MPq0;K%>PgzC?F8r2EBv@XFWOb{ULYI;C|*x2_`4;Pn% zaO64odsx}|6M3Fan8N5IpaiFwj%2t-wu(y2$z>k2g0QA-Z4O3hSpDlA4=2z7gQk}b zi;>0zfKKbf+5m;`Ge0&ftx_<%6W6qt(}4-ot>Y8*V+Jde-aDN#j{bdp@QES_FYLW# zY8S%c{#c!`D`MZ8`?h&_-8ahcJ&qOijdTNpcVX=(2Ex_JxX?nh+0D$bB8&ggS%NyP zqQClGzlr;BQ8e7&xEqnhjH&)!?@)mcf_we8)~lP^$R9_*UEHZpHBA>pPVdG^smJhYz&Hdp>ujiOsWKedjq;eJOUd!oH%mNZ|;2$*1l6y zVM0NG24FoQ8>dRqh-rE+A^6#DbdF>`S;q+k-pO*PI)&!B@j#v+ZH<&USdu@x`0 z?vip_6?4y-LFc1sWOTHY4FD(-VS`}WJa$Xrc=fR%j6IDM*m{!kgU>_a}Q^qVkQ4=Xfv`%jbmH;HS8v2~Lyj)B?5d!4=f`ip-83Fb2)u6HjdE%w^}^&an^re!No<${LMItG^QUdL_`?#9 zz>N!?#9}y8fbJThd3~LxQO9wH#fCYsyrQJMsJyE1ejHUEm~W=Q^VlbuR5_p!VWf%@ z%Y0Z<3>C7l-g>O^EsL@041o#)oB=acS~F9iYJdw3$t7XnMC6`)d9wMrB@E@faNUix zb1CKu0-(O#dP3lNC4t0;3M4>X2IpvmKxx!{8nb{-$p#Nv)fB}UVc)Uc$LeF@XF?me zfbV-*m#1Rn-_GcMna7^fUQY!^G7a)puux@=5J=NQTJEFiA$c%A=osG!hDHo8V(-ox|0LONG!> z;Vi^k`Jxixr57{ir5H_UUGqj`{?;sZ$EYRfbLvw3MK~*=@mjz%h6CnP!=RjF4N~)Y zM`WBPLhau2+_i3OKF*N9V`9RFU=>a|H^l;N>4@-L5(J`9as(L0H+tLiUUWR3Davy| zwa9D-o=KE>5mSW&4$d4VYa7bEj6)@MSdD^n7Xh4e&YFRq6Uk8uowUW98|a#4B$uSA z$hzsUhO=-7FtJ;Y?Ougd6i+C_W=`}au|#?5_jMZ204DWfgv6lG&dP^+hqxuTH06nq zJFtm|D2P)?>nH|kGpez~Y>^xaymDE=>T~k!TxkM5Y3u>MpGb3NFkC?ik_hH$4pPw+ zmmKRt_%eR5NdW}f&W6Ymv}ADZz!-^@2%#(-{_>L#-48j1#SA1l!U`qU^~afQVSxLd znmp3w_W1f%J+y_~yHCoN4grQ^OV5A+O^M!dRe0xx^-ETFy9K-_f+&P=5VdV2#1)zY zAxC{yG(gWf$u^EmpSuNl7rFua2#Qg*6ohF2-3EBZ7S0+|^Yz{JMB%lwAxP~kijCY; zqBMb}>R$Jgm8G9UO*>4`K?)Ym~pkR7qecGhD9YhU_ zhLA56Oi1Wazg^pc#sdhzF^!g%A+8mT^EeAM0f;-1BZjupb->sneyA>tS#YC-Mvyq0Bc;22zpQg1m_{_U`B5_5O{5M zhZP*&tP-r3Ez* zYOZ9|G}K$}P?+JJMJEaZ3PRW*t*}0$*})X!5K9z>^Z|TUh_?1G20$s4R$?2(=w$UM zIU8Z5g@nu)6mhr`W6p6}KpCDW>{g|h&iFQJQhB9!8-(@N>>)xcfCLMI3XCUY9PLd8 zO?GNnJT+h=Mv%iXP(gH%G)PUY!3ehl&!EKoNG(YUC1eUi1n3>{E28p9OLu+|dNZ1g zE!22~Axsvui9qL^pa5tw0Ku#Fztd2zvg;vj@?=KQfKeFm4J+jpcTkCQ1_0){9m>vj zjv!ZPvOrBdETRo6aX6`*{Uo^t3g>nmjLt#g(vp-6SSKe~sJPN02@vSZ9qYubZix&^ z)(p691wp1jHb@V-$N{v~g$(M=fHM7(#NQrjMe2Y@ZguB)&Y)gd=}!MbbH=k>5#pA> zR?#(c8tt(PYyb*dD)dgA=b<<4V+CT?>IDEzqLVRqQGhM_5OJeL{bSae7a zYK0_*0;nER(eefc=ZscL3>UFGM_>gRtk5MVn2UnQkWw#k;mi8D??m3 zYwmw3o|G?NPK|?gpPBjx_L3}LZj{G(jqwNL|IeC8`Zv?*N)s_(cfP;Bs)$uJyqHWp zZ?B!i_=O9reTlKNFtJa(I2MsSP~zp{;bL5QNe>VHxWl_JmGtNDsnac;9y`7;jZh=^ zB>7}zKYQ~x9~}RKeBjSqi_2y_H|9s=)A?xgpEPyd5_{+rod1s>Q_fF%*(qa{TYtdC z$}_$C#2Q@vE#52VKJia?L9@d5x&OsvT-QB))PO2Jr7Gs?l|S*~{BWaQUOA&$e2u7{ zjg{^@`IDqAGxN56->0-k-@=;xs!0FaX(#*bH59l0#Y~+qGUHCTsi#h!J8#Z2uj!6E z%;@u`dn)wt=l6%!isg0w%kS9N17B?P|6U(!+tyQLqS!Ov<(Z%OJF>>qFBh4aM$d6&?=X+24S)xbzO!9@iG+$;e7Uy=VeKD#jWUFyn5y!o-~9Kvh3~)pTTTDa{6SM%_5H?!Z!A83!f1R1Z@%v{%-mYe zRk>=@4tOv4Z}+LY(RcY`A&fB; z=CvP354rS-K5lPsCz5WyCx4>xVjq93!xOfifo(nkYRx75-%~)eE8_31l?-3izLBYZ zS05j#-QojTEz{3Yr;#96Rq=dJa$-|`=L3545WZ#q>C86IF01H|2SOq8yBkFAZY7?s zI&VuIdQ%vpfioA>ONKQc);cT-)Pmm{+LiQYKlm#GgI3z?)yv1~7VTAj4wAwmFqk~~ z44)tOY(A|&+thLRt3y0GYsCy@Kk{(-g${`we)g|SakExO{ezi{^7Hggp&iPn&LSxD zT%Fa+>f)cy7LZSVmS6Uol97Wfo{GM@U=f#F%h1#CnS&66(3MnI6lh;UaY1nmoe4w+ zL^AXy5E~H7(49kcLNq~t4Dk!`(2YdnL^MAxk3-WCxeyK=LqtMU{`=pDHpDJOLr)Ns z5Zhh3R}S-P=10+CmkZ_4$-@rsAUll3#8_YMmqU0Ic=)&YBhT9>boY;yK7R}!8s;6a zO9h0OZK2NZWEA0bIf{mmLpxEe-L+N`CxmcfH>kcz35EbsNO+VKqmD!{Qc^T_Q>$eP zP6>Giczp7bLkJ904ObVHf_S3GBbla!w5=6LNKE6BZn2f`QGh@Qn#p!S@}B?zcRA;G6W=b4gtAhB^`u?DuK zr6uLrq^u~*F$5qe%mFkex7!oA4G_0$cw`iM4e#t*2M@)Sg2@_L=bVJ9DeJ>j1&!Vq zCQ${OgykC6@t(0$V6iHdrU~eD9HS?uQAlDzSSXOxD|#t_=3PlttPvR}rcZ>GULj?w zqHj580_z7f=&9h`7;p;|8KtF!1t@b!rc!jN?1EViTfB7*6}bRuc| z_e#r%1Tg19_U_pVPl6a5wKFh*VTlk?0ny#)7oCYb(-XU)h4}WN8Fg0H80yp}%@mn7 zsCQ68(GF}phC(Hz8~O;lmF>qQPI=j}viZBb{wvnFbB+%M*l|NM|8ezWAH38E?cxZd zhnhn?hyqy`I{va0t_%b?D-(7Vh$sS2my@+GRvPGyRMio!v`g7zZM@$Rq+e6}8U@^j@u2crm_E z^ijZ4B9)m{4i-L(sBk+5GlYy0OMt4d!FtkROe~T}7V}}qL|i9QX4qiTcvRdNVNLcm z9huBvzA?XjiMA3t92Xh@*}Wpb2L-T6_`ed;Hme-=1*ilmER%ETw3uj81{1K$Bexjp z)6+4?6jXGB1h(116TwARFuYB&lZ6ck7_cZ(u%E0mmwm)dmYB2t(Z)IwG1T8H2R@MiUi*$htFqTOY83 zD2+uugTUbcz%hv6IVE0H;^1f@%Le35WeL}KC!CHtyy55pi;^ThZJmY&7S2x|p8Z&t zdcR&+hNAtXhVU6%gVLdTz6bn~0%CyD_B@^6t0@#2xA><`o zbkR5rwvm0OjDtSMQS*Y##GH{@FhHGBDg%&6F|-8F*!m^*eS%346kP~tMi|gAuGrF7 z&@Ze($Pp&-pm~f~6{Jw@0%>Rl#;7H1={F9c^6paZHk)+8ZJ8K*`WHfNLK`SXc#bu+ zen~L=hXlyKbE=n#*WNY%a~EE@=3ekhB#8X(;p}b%+DYxlbj82`5EBz;;7wZIL4ErA zj)}7!ECvA%oM<{D9l*`kre|XOfDBXtiV@};SQM2gdl!&%Gf+furZ|^65vzD(NLH9{ zU~#pEB4Q^@;28#cj3Y}UT1b(cPGItWgGJ?xAuR+TEdm;eQUp|~9MbMoFYCnDqFXG+ z#$sYDEXKxSVk|7i#$sYD_0=N(+Pxu+jG@I?T#TLhWDf9AeEc83!-wntoxU&K?Ay~n zz>}W!@Z;eZBQ@)ZO92AA2mrcR1|mIDP)T)MO;g%Q2-QgsBedp!kFUM_N{^O+N(^2o zgf{|4RRSOx5>X&#SWA*vfrP$_8;u2lgfvYYOFF1~ggrnc^_d>tv6g#l4IpMzP+_t1 zU%1$x2TLK3qVWA;Ycq7$YT;toKoIV2Xc9osG-n~jRmw3P7aJ2RTQ&}7qzzL`Qv~Tb zH#m?j(n)c|>>xrh11)A_bJi$lQRjX&^xCD=D8WVzFg3DMB&7F-DQk|if|@NnkU135 zWgx%ft5(^A`l=aNn!JXK7#v0dj8l6cJcVZZB9tew)@bgBs1(3l;G)zvZUKN%k)lg1 z{ZtCT9MT&ptpVO=w@=E+sGX>YL20*}QmeE8OUil6X*plqV7;umW!GiS^ZOUqZ!1Egd#MS$!cf8j51t z{Cv2LEi+1ga-<7b}>@d@(``C-U<^6Lo{{bRxd*r=4mZ>in-y28*y39Wa9l|=~|!I@Im0SUGK1_7%fmzz!casRDs|~gc3ZpXe;dVOYjc< zMtR;MJk(H+Hoz{C8X&14Dh5j5d|nU#@;|a8sliWWCSS!q-nOqCi911u*7OY01bT`P zSX#WKaQfm9$wC*y&cOhI&hLTUuaoIHN@<|vTB^2+SZKZ|BLq(gielYs$5a3bP(!jZ zvd6}`p3t{z>Gl63b%LUu^kCM?$LZ{qISx?=wbbdUt%q0(&|>bga4U9UmFF+NY8@d@XX<)?s8f1k6`(ZsHRMhUHlK}L{{#2vow8y|){a53UfnRpdk zvT(wm8&{Nr6Yt=>F8p8h;1BRl{IbP!-Na*MU*x>*tPJmI_`shxR|)crjkn$QxYN~L z2j|Z{1kRL-6&~r)`<^ zdZ|($U~IHKY(#A#wL8h(>aJ2){??QCy}Iwi#q^JZx_iLF5QUz6zVkQ_zLRQ1=|BcP zm_L?!!lSgMgD{u^DL4$wXgG!2k;`f;K}t6(hgvfx8qVX9M!s>$0vVGxfsd7qiG#+HYlZJ`;QK%NCd2kL>SZLeBxpEG zsE7*N@RpU)EUsV)K9(8kur#ACDnm!L^-r)St^uf*^Zlj1Cef{hVqzx4JY+g`h^!dQ zUDqH=^eIm&2@CkB!!a`hp8D{=S7RB{x;nv(FB|I|n3fveC|1?)^q2^c4**>Yq><(t z#GTa2l>l8pqQA8HRlgCmBcvWRl8vX@=n9{52m5jxCnE=pVVsg;b%~rZMl~kW#W1UH zLB*2O8dms>#IG^4cOTr~?IuH7*3-d>4Ty9?*2M_=k!&Opp;l^Ck#8&O^~td6lx7^L zj(rtoRLZ1+j$PI^0(;}^Ny5_O-}++mQ8Y0Q%($xjJGtEV^qm*B91MQb=t>>uj3HJz z3bJFuq#`r|pOTE~fCFE;;1@%@aZIw()dbe1j3{a>E{1V@v8ogoG@?jT@4~YDI%vQ; z7E{%ww^Y=aNknhLBS+eF7q*TO3{}=oD99K_hUN35mb9R*DtgWr$(wox)~1x4Fbk`^ zo@MeJDEJz6e)jU7EnO@+$_|(k=RuQ`jpwz?OM)pVxfp5I^|`n1qE-aQ+dx>pFA_pZ zNy$riL_D%tf^TB8efCt=X+=k*PYVn_UhYK)Mo_Es)AXXwBX?HM{oWOFWGc*=$C7h_M$=WflLj^n znyzkN2@V4-8FnGj5JHkr`V)*Zbs9F}NFEg`gG!y$`t#1Lf4jNZ_yuR2xwsC+mWNhx zJt&WHdeNj}y-mnvk_};z9Cx7NF{t@4+8YN5O<~Vi2*y<0YGpg?gIgMp>c#usy(iR< zeW@>lhn10xz5XsSGO#c=u^9OB(9XN1&zJWr;RMr@SON(4Kk_G%m8=FELDxA@( z#b#e`1lsjm*-PAx{X1>O+@kuFk<4h!kiDbxZw(j=L`M~_26Z8Xo)E|k$>ic$y9d-$4SOEtq^Y|qf>SPdbu4)vfv)G;8Zffm2l%uf-)Wuoh~K2@Q-!rAGYsX^BAe77<^nDh1* z9|8lP{#i2{o?x@m3j+bwIUOqUI)};#*U?%TMrxTVU|$Ln4|{zDg)k{IWcpmoGRs$K zRkI~KDvS(W6Xr4ln$=UreN)zvR9pz>g1b_g2ygAyVKV9jMm3<=OY5W&)qw|lg>~SI z^Abkl*e&D)t1*X1Yg=`-jJAT5gkX;UruJ($hj?-v)!}tq`rCR4i^8O7t40~Dyi9UW zIZ@YxR$%b^mCi+}7sXLoAbnBAe2}16t!S2oN-;dWwg{yArUM(4cW)5yuQK~@i@G>z zB|zp9W#(L1ZN@WaA++&1O0i@(BRNolLw!kuL2D6;$c@IvApk-^HkRaw zn);auqqA$0C03;cKC4;Fb1MUFinuPM9Hzu>+2s5qs5(JwdjGUQW1yU59y=k@$s?Ty zBM%ecb*NdadrVB&i|ot?(|EnJFc@sZ^OB@$BpquT!4 zOr%&sD}x5K5;h!7wbPqqC)JD)$CyIcw?x!hFdouO@mAnWGi#;6vtt7=!e6_Dbr4)N zwlVy|QW=qvtCmj`R#@w{HnkzP$NMry88nus5cI9LXP2|Vu#d(2rZJjumbRWZR-wv; zRv+1t$pZ*E1TR~Pv8Jtpe8vr=&<)K(CK(iopq9v)#h^=fh1&SR*bgG;Rg*Mdq}N-3 zYV7)&@#fQqvdv-lPQs7D`+m8@7hm|@WpVeWo9CR|S5RJ-w8DojjSq~p%rlyC5vRdU59ue%^a}_~RWsb4N~1 z1LqywJogTWFG1g;Z@ODc^x?}P@HYc&oKV&k|GYQ_PNo^`9KH9x6wn77CE=aJ`+;{q z@{{)eK0I~u;`4II8yERi^WWotWqpa@k>Fx|UcCCr#bMpwV0T{JU2kxG$A3G2k@0z+ zH~51tUy$H$Ca0h;8->!&&%l<9!=5kr2Ki%T#CKySzBuD=KAr#b?o+<#`J8Re-~EsA zQ#2>rpEqd2SfY$%-wD69d-ESn_k-XbI9$rmfU50+|ZYb$rchjZMNK8DF?`r=F z&T6xx4|1}7HzeB7OaF+w6TQj#?&0iJ@oOA(;aCA5IG=2^Id`7nCw}Wby5|kTeO%0q z`@bdc!|8$Xk}p2==%Ulz_$uS)1c~}`;n{eO-0^Y+y)xs@i|?iB<{#yU%nQmZ{VU&I zpPzX>@ZT)Qo_6#U)yuqA)o zlG2ap3qyb&Ctbu3q>%x>*)Od=O2ma1KFzwc;xB+U+;io)-3w`Ahj_^;f5dU9&YtRKhC$x6F+Y7 z3l*RGFn$~V3r-KRmv8U@WDB29Q{fYA?_X(wOs$GWKj8OIf2O18_cw3Q506JjuG-M_ zkA!aLfw&gu=g?_8*irSE-#kuujsx}caUOdAFwA{V=eRo0oDj;FA6*FL-J`>4a{0}2 zTQC21NuGy8U%!YG?3n+yPJ-oNi>0;mTg?2d`!X+~DFX*0)Hd|#<9?Q;dR82$LLVk* zEq>qSE{{KD#H~G-ybRR3aYqELgae4wH(y?Vr=`$29e(zq&b%4uYN<&Gj}AdxAN6nO)PO^Bt+9Yu6NG*kX5;tt{~2N8h~QF(9}T$qY4gO`<65q%IV z$0F_`D;ExhD_aq85M23+ID_cQiA3VWSDYEntPif2PlAKuAh`0Wu!iICAYOSu4-}}I zLCwmeh&YI@+(k4&B+8wL&WNS_I6SU2Md3lba*8N}c;&-=cobRY-*bG`^n?HI=?K5? z59=bc(=I;Vk}*0gFR>idn_gHxX2$Y(G2H)tAM?`v!V9rm$eGmVeeTric%Gv>^TGDd zyDtxeJJ@;XXW2PEnm-S-AAJPK@msuHxbXKoK0f%us{|*2dMUb2s~kMu%?Jn7STB2`}{MOFR*_dp3faSproDQy;Jb!HiA7)b*_W}#>m&N-VS9+Es z_BB&98*K(%pU0X2r63wEP}eafjeR&8#><>2Y0r*LqSOYNrtRDVU1pV*3=THE3vlD# zI{)PpCJ)i!S=Ugv9sQ-J^0ZN?iBE?jSzE1G^w}o8HNX}lDMqFkxaPFWVP1}AE|6{f zo5MH%jp-MoNRvV$b4jJ(mYrB_sxfPcMx}w$Q%;D@8{)y|WkW+k*tlA=>2<+48nv8> zhV4>bd9T#rGWapOSisp{WqQ`I?2`Y(o#<*&BK`~yi%R;Q?y<a* z`KWNNZyPKz8ofSGZwk|A9OgSvA0fgN**I8UaaX%~gqU*BZ=l<(&5;1~dT;%UQ5IOj zrtx8(cbf#e_Y181`g-{1p;r#j@MJ&rQY9hHTB;5(saoT--yJV)5e--LDs=1kEy?}G z!h*p8h^J9XBhSA^BVgn)RGB~>C?7Lv$b!{w4uWrW=}-l;lp&kV(1D+z#y_O#P?00QRJtcc5wV1c04jnxJQHx`GVy=H!{5~9aE+Zq|#J}bHGygx3Z2Xs}crB`9#J~}Cg$vB2W`;${O&ijk?d1(}VeQsz}tQB3BNy_zqfd=NwaDvZxJ z5_w+A6NiyiHvQ>dKGiwVA#D^%ZvlO|A^Ly)96Y7|2AEaf&#u0`QTF5vG5!kz`^GOC z|IBx&U;5#GpT#$)=xC>C##8HUl}|({H#^j+U?i6Ouhk0u*Z&VT56~Mc_5){;eas8k z9H;r+$7nLhwb{(`k{rpCv*?mE=QAl71~eCiiY_zOT=mcz;W z2dY~EAn#SuW^+48Pt6ncfBR2@8Y#yLE!dAY`JPAQFkv~>igrE`*|&iLO;OjAuOtNK zU-ybfU>JBEdEpn==*Onfdtq}ImemXSyvj+-~GGNNkDcYxJflpuoE z!BNh8fXNgZ4M>)Bu!?$?`KdlevSmA<5w*3Cv9xTf?wwn@XI+2Fbyu?TEx%Q8Zx_lX zL$PUtgWz?V!mOXDdhw{i(~{DCx%DzgnnTcBzu+gCq^M!1vzM;Uwx6GFlg2DbNd-IQ zxZxmJQvF(4xP?H*2J>Hfio%11cizr6i>>?jcF#hvLd#@WPW%uNc)G;i4#8%I45BU+ zk@?i&W+T~_0iahNbEi2_`dWn26j8t(brsMBPCM7k&Sirikp*v7Zq%|2ghOzPBW|rO zKzuUihMt3%w;7*9bhG0u2Y9WW4er%OMxxh1{&TBv=lgN8X)MaKCGved%PZY!I^_8< zOBl@w+(gbdwu^2kH2K$%rC3eSL=tyfw}wk7%<(lhEiU3eWh6n(Lh!h zR|#d%fDXSCk8OK7&FrJniRhASfhpab4`)-o++WBZT!f-NT1l<(%K}4Pk`hwNuV!5? z2t1FPR+h~yJt12-D&*N%93~mHWz$}6o0fN&xf4+Ca$JR{b103hAZ)C3n0`11++$zJ zHCxEpG?h-;`LtBqFl!>_EEvWm$jA*rWQjkqKCc(Gx70?A&j7u6*`4ga+$<1Oak7wuEs_WWhb8_lWbl~`y)rSc zaVM~Ay28aN@SDno9^u73Rsu}RFLB_N|9atDF`L7*OV^2@*pf@kS6_hcd0al&;-Bc3 z(JBX5Rj32%QF+cY`PJpajuqR>&W%tsFKYF1TG5ul%2?NSIeeR4?+Ctb+{e=*?tzeRib^8u1?Q?_9h|v8!8-qABlg20@#-Ap9?{PMc36zp(Z$q zwBK@{AW$tWq&C(HG@T7FGgkZf(AetOCwslA0062Mtvj)h!f9~@)}PujC7AAe(#@wt zaAQlgFM*KWXPpXhKvehs%`M5(esyroeF=WyYFJlwDRtJ5!a#vol|0xM18_}BC03y_ z9VOS(F5GoNbm8nA=tME|SLpxq-QXH?qrGbtu^q-nYGk09mR~~PWW-@STfv#+hHDHV2s2a%D#|Ft`MJofzG+59ZZ+&=!*tuq$Ma1$s}E*dD4+iFAB zcQKzF|MKjzlRqw_vKVZjidv9c1=Uju6GIiF_RVcp4e8|FRFs-28&;7%4~>vd)myZ0w%bT4L|U4*NOU7$2DDGMq*aS9i5=C> z>g(muaHamem^x-qO6dy4Ip?q9IfdwgFjoQ{e(NRn6rWj@?9w{(WX4M`$6*WY?k3J{ zFO%-9J*kc~i8hV%=2pwH9}PSH_-3j5Mdh5k^#){TrtLW{V75o3FIU~qEIpC#awf~U zg^L+?tv{6xmxa)4tirwA^&p#F4_Q*yoo!0ElDTi}qTsxB`l)dFfA%(8A5K|0*sEN# zuczrrE2@`syGxv3mgNy(b~1!uaigPi1M)5v1e>SkXJ1|H(=u|o7jfBO>H)<*URcLKh0C-WH%LN0~X>Q5%UE{+thFNa~|hHF+fDN}6f9ET;i5!a4H zT9g7stvDPVAslRARoXt)I8N+vhcgHC8=}B%7RrJPji=CUikQP#zLw}SL7}eDj-&A# zHT+tAlaDd60)_kt;&wFWo!e>6Pg7>?P!2OtvAC-*fS_=o@Lu2Ng7)Hld}(7*37!|Y zhiL##Kp5dKD6$l+@JKAwflUm(0ieU{ZTlfz8;H{D?Qo}aWn@^>;ivXop$}?Qu^J zXKl2&?C)PF*J-m$%xq_rR-1SvwT4=3^4rN;X;uC7q{`VYnz6E(u((dlzYcrtH0<^I zaYXW0pATTnzGvYKU4YG+73yuRh?P4)Gh0ajLf_Lw(q2|@w=?N#Z3|)TCVC+KuD5|tH!9GVt z7JcvefrgbxFHJ`^ON&LFV)(L}tz4D6o1bLL3bBrZR28oRAt+2$wS;GB$V9bg=GnH< z4k^`C)r9Ian;DWg%v-e`wO|UGA`3EBE%i1znY&_7XrXO9A@SIOr7nwWgKuem_ifDQ z9q%9W_;kygqv*&ks*!ezqST_D=qhor^4_;$V)A;w$p^=Lj>dcD;G1xW>~#Ux9a<1JZE%(> zZBDd$UDc1age=-L5UhJ93oCC!#vtPOYrx!FCS7}UcJFO2Ko0OO$=hB+3$nQQHy9X3 ze?BaIscN-ot#X+1=A(VwlZ~=Ip@{1=&vt`xMuUCUURS>Z<1IdQMlv*s&Z)O;m)e1h z7V*0kib>1&wk$B$dWUMPC@bEwG9zi+pMr%G`^{E2$+U(51Y&`1)^ezlq`Ks0yNWY< zxdoC13-OqHf zwiFDa$e3+wYQ<_GW>Kn^=Fn7x;JHE zgzE%ETa*BzE#@Tb9P+9y6DF^u%8P|kBLFqWSX$UWLm`}lsBINcN7bLSRk_f(6?v;? zw8ukpLPs9qEZjznPCO=#796vK1!+i968jK3bfDDQEi08Cdv#Hg?Df2|wM}pUvOo}^ zp?C$tj?^iLa=n}PVoO;c~A_#{VqON4ybYn^FH29P{!|H zH=dmSTGjWLkH`HYdx!A@tQ^rBro-G}5Xb@)q~uPgg@@0m!7m^AvV>Z8NzcKf0c`E1 zCjo`nS+Q|D&WF?h6^#Mta01e7b14yp;&^VM*vuftS+q8Cij|b)sRVJVK_wRK{cC!| zM7KDcJ`BRb;Sv3T4#>G~321s+Ar(WBJpUaW_)Cnn5r#G$-Ngll5Ew$O&{HB4$)rX} zs1`9jB^V(T5UxGi?Vuoi4yT9|iUl0TQch>$I<*$i$dWRU!(rg!bwhqVf8;iN>kA12SRZvWR04D$RIRm(V5<*({pVL!4cs0DdK+KGpJ2)A+C^K z&=NfM{S949 ztH!4aVU6U4$YJnw;&7Y1^*Kit7LS0^D+v93lkBsUj_ftm~q+m$<`p$JH9PjEvdy8%IhVB)a@5puc(tr*;_hx z`3oMAcoS-2A;clLkOR)~1d9xTN=d0|DV|rwvP`Rx16~1>*#xNus%;|}$JS^mEVbCt z$fRnBIM6yfV>DLn_11fYmI?Z&qPHLykF2)2RY^kK3|Y9?D~%;n3V>e3n62h&5n*1X z!o#5yI)r6A!5a0+2%yny!+I$9{`Vpn)!GMpnfxIX6PPd6Gy_wFP7YJ5zg3-=2p-6ZImc_h9#c(EbGu3nz4MajN zmkV{(ZUYq(*y)K{S)g(+fSfiGZ?c~RlsL*lO6nm%7!}g0MrY{Wh4}Q^{2_9(?)z$u zl~_O_W@+sq-e3%7)Uj7_^$6$Vfa#5fd(l-p zgH4Plk}UdnRcnT8gbGWrwNL~X48<)>0H`4u#B`QFMcDHvLuMa8Nwu|>rV{PaOkprl zOBh3e0;seWP%R>bBu+y>b^*x52;_zK za{+}%Sv+$_YB$ljJkb{<913c*R#U?VgocU%L_r}3f*=)nMk26~IFVz}Nw?E)QC+FO+)a|ER2PREb zZ@BFqKL4P|&I6bnN)tWuQcbWN>xRdf`H>WVyN!b!_MJ?>y(fcE3cPSP zMcz({RG)Oeljp10e%*+F(46YWoHD&^>i!PLK_az69gR$YmObvJ6kRSoT!Q=MZiv$Go>|oY&GB|@*yS5%s)kn zHW%2n7zhr76AVH;F;Rl@P@#dGGYHopkdpH1`P?fE=1HVawW)wlabWK=)=h+qGN;Y@ zB2^_o*Ck%lwKdiV2AaSVDMFx0TU1B{J`hU8*a3-%5FMrqZFAHL80FB3(S06~Sfwew zDa>pPcTocZo^AzBQvhv%snO|O{G)siqgCeX=BIBhQX7+}A-L-X!;2magA?(7Cv&((3_ z!=3QKkABO(cfI>^%mfhNG}chO1}(#ADWV6m5NoOLg>}{jL!y&f6Tm6-s3Rd^QJ;XU zC0Zl+&a4eg98*t~2mOJ-LUwOeB&YLYW5}f-X)-`Xoft3yS84PfsevYR%bXA{iJP*6 zcR`J;g?a#ih)~I6^-C$}d@G1#lP};+v;KRdj80$L;oa^9lCPbKQ_jb(z3{HRy)=!M zLbNt2VIz!jqU?o?NE9NY^6<$FzBml~Xri7#kOo2tKsL&OicIxOJCUFbY<`oxti$f^ zVYjb|Cw`{Q7h}A7b|#~QG*~e)M=Od7Qi&d54?=@5N1lDRFLm0)a-Ha+6Hatdi6=Vf zL=&BKqKi)U{_DM~SBneinirj$`OV57ie0en?ezWa&EEfcG%p4rzrK)vZ1L-~Y$r|6 znnYx^&}|$>Su`L4&L$R)Fp?Xnw4-hLBjj1!`i}SO+0UJLmQhnHMp+3}WH~TBQKQ5exx1 z$VF0Zn0S7$#o;`}MF0!23PG`_cnGe7$ZVt1-Mn&aVu=o#p>ame7Acw#qjgY|GGXLu z*g7SF0~C^o7-CdqAZJRrq6a8wa|MD>&Phu^@{-6jCJBg9QbepH4TG2lP^%+(-B6Ml z2t*W+!b=H(6sw_f)rbQjqZQicFmAcgTwssGd5epn1v#=n0I))wpox?yPTg1%5EOX(9%Q778G?RO5u!Ih>Vy%|-+cB<386c^VTJ zq%cILC4e#z^g3hbP^ko(QD?&unX_gk7#J&*3!(mMuuj#ar%iOCUueK!lf-$5i}i+h znk7<+I+ccr&PnF70BZ#+bkIakVn|9$y7Qc=$G2R89Q>mIki%*W1fY;i#1s`l4B?2N z0oox?%800FQjxXh>yel)W?`o(UZ)D6DW{^7NUR0XpU1k0U=lH_klGp@aGuQQyjTi> z5N2T-qry#ZWIeDzQ1J2cdXxG5xz?Nlpra0<2Qchc0_CWdGU)YeAj#&O2*<*Uz)&z| zPHZ0v%;<820uk04spC(mNabF(HbQ!hKY$W2rV4N1#LSg|p*s&A)GTS5Se?c!=C(Kl za0&$_T8;?L35?SsWq_XVxsNcn5+;?m=QfsanTc9qKFXLB87LPqZg-SWg}SvgdcsJF zfHELdnh&_5E|#Mji5N5vCASm`bYPp6Z5)1?U#wpIhDLr}nCQdrz5MM&aN2n+QxT%T zPHBXgA$c;a@z&0CirG9}9M_zS4U7mFvRNwi+Nu-^5u@h-MAv7eycoQTvOVv%l2)HB zUor)-gnX6}9rWC_!uF}KR)+z=Ssw64b-D?G-11sl6)-YVkcr}Xj&$5ia-`yt{4JD> zxJ_>~&oyI#tl*F9V+v`)l0u|6-XgiqE2)MVz#Dbk>Y)=DJO9{a)fUG04(tb&UA?=) z$=S$DknHBx@7$2SEM6X{b*@AUKMy*hMnsKb2U=_L20xLYTg2#aieAkH$!i+u`brH< zxV7g70!ySb_U6io`4NOE)XMPvQF>89^+;&l=S-8P&;8 z5Xw`fGf{5AR2HVcr^da7!;q>SjBX=B6{Au?q?Qsj5I_#jhJR{Z{3dpH`=|wdMkdWi zQii3HA&ue@qS0vdFhBxh%6(v{zqSXSwIJ~u5KlVw!M-Ox!Xf*NY)n}xlS|@cT1Npu z5ry%ff)uSXWG9;%7I(;;Xr=uZ9Eelj<7irgDKOuN&FgH+_6_|Km#LL2|>N5QcIw zp3k^cX$h7FTMk*>)2-pCH7_>VoZaNZxLL#!uNc>HM}X&hKm$2Un;6(&`+QhVMXK*xKj{C{WVOQfl7<4uW7$N zpg67}!~uk-(W%Jpt$!z84aGU-IFg?btsx9!J=SmtAW-H0&bn&&iv?@vSc?gUdT0I} zSE0YL8uJ)Y8?i@q7po((1y^khAQlBxlA~N{oFf9NX<~d!NKE1<1NM+ ztGB>MEb2Hqi35ZxF^F07hK)<>-0dyB{}*N9R1|uS!tbWhw0Fk|tMoa{my6`TR_?lNKX(U&V@0KOSH42jC7I<22gB5 zYyEjK?xqNABt!@;#4=|$NbEG`&~U7<(SfjDSt#&giJ?NTtzfz9$3|f}3M8x38e$qw zy%9NSK2!o)gm?h68qWl|DKx8XG-S0f!YL34Ist`9=kgd$iI5o62A{P_ONmyUbOuw< zvZO?O86lQXsdCFz?KK1w{r%3Xkr zBy0XS`Jnqa!@>-Kjgn}EwH*MZ2p`NxF1B1WC;87B{rvFaK7ne*g#!4bjv9m;eEAE^r%L0TP1n zwbz=j0oa5MxF(#0`{DA$B5r`fHh>EuxZ4LOBXIFnpSyqnuZX2j#SFaprlz0)`K(Pg zMIPYSKI4JF>f47>$y05e2ZG6Vn~XRoEqF`HzqiMUCU+(6rJ z{Q#}k_a(t%Ksm;zJd}il`t3w$W196ied2)BNa_NHM9_ z9#fa=%l&z1sZN5I{Ub$dYOjNss(XtuNr$k$dgUD-L@D@ap@>g)q6Y^S^1?oGVN;L81=iOL`9!pQ`$~$yZTH76Y>1Te= zL-y%Qq+t@V-eMw}FK8?FAqDWlP@edxGewtPx?fk<{=a=Qsek@2mwJ?^{{PsW{d>sl zik_i!m&khu;+jglf4)y-)>)LAqfCRK>$!tCv&+&Rt7m7_rAII4r)GBQYV`82!{zJc z-uR#Mx{v;eT4@qjj zp?@Eb>J#19qwMpHUbP^nm@erej?Thr{g%TrNffE4SPfE;L_O`-$rb^=cy=$#bP?>afG}snBm<-jJq`5Um$!J zw~B*R2r${0OT_82I6tt51@LbFvm2oH-cWw9+5hfrAr&O=jjiswgcD54NaK~;F|{+n zY)UQG*|9aBR$S6Z(eX^tBwD&tU$J@n*CwoS^cff*c$9l{c%j=7N6AH4k{Fy6g`x=_ zEm!uZ$ghZi3B|`_HiU}>Sgk}$6Y0<`eP#R%C+5%4Ic-NS50^6gAKGj(D@D_^z)#2M zuO)WafWAWI_N^k8r z$TpTU{_`KJ_3S{#=&wVC|An#dQi_p@alVU7HhU8%Df?eijluyFmi%9!wB8E6N(i~_ zWH+p#Q}fx(rB*Mc+jr^eA)R{M;qLW4qq-}_AGQlkUYL*~5L9E^!*OEcoH#G)+mLX8 z{o9i1>vwe_uP|=Z>c#J3GD`P@cvi7dF{IExYTAC#-)`-IUX`>Wd&rNDF zc^F4Hhsn2%qVJ1FiA_v(_|q6Fd=tlRc2Hn4xRKeDeU(LG;yu^QRv%No2z`;CaK!wp zspfIpfEA35$2XdLz>(D(d10&>{w(1LlLtEc;vC#p3p(~wpWe(#XdjPMx`x6e8R5qx zPyZ6OymcdSqq|{eK5lE1@K*Uv>_IL6bNl?^8*}l7?-6#Jp}OAs_9PrRxl5IXz-s`w z_xHb>XXG-=G%keB=zd53phu^<#r1N&&M&V#W-46H)Hy;R24*x$0f+UI5_w?Os4I=d zBe?A0OOf8+e3oD0uT1nZ++0>}S0hH}D#^Rr7SYbqlaH2}(Q_omCu3Idghx@>C)wgi zWWVy_@=8Gj4tKR}CY*kp#e%wS^j-K9O$~{wFxy1ON|%1xm(=$4?LE84ANLl#&;8F& zpYGKDLCYA+yZ6;FS#%mA@h~Gjxq=6!@k;1fa<Zjd?iTq=jBM_@~X}N>V}23G_1pm~*B?bo-d4sVPPap;U1i)FxL1iF~P{ z?jECw%EpCUUwz*tX6?$Nx4fN@nj=VJkQs(HW%%(e|9GT#iKf)NWK0}6U5Q-L_VgFj zU4Mu^em(=twY@oR{8S5EpZfDOE zQylG4cTAc!c%TdoOr0{PEBe~hB)8E$s-u8s%?e%m9t1v{`gf{M))A|IuRZU4{lRey zQ=B=gkrS~_T?w^pkvKA>^Ih6gxyLR`YxeZ942PrBojmd7lqbV^xu5MQiN|Rg8wC8V zOzNiS&3(91h`;?>>oB`4mlBgZqae$~$(o3j{qVrE$l#ym|&j0QF zKZzdha4xe;KiZI^H4|BK!GNB=5Dvu7$QF_E4o6;!Ijb z-D%aMm1Om7Lw4_z)?@?@rAyWWCj~gRp%1mrrCetI#y7|IxBWM{{S^HVV)cvwz{<2< zR|6FR0#1<|HRO@{!qBqrrZ>t?l?56criHfdIPKYS8#zhJm$`UjsBu0KqLuP$8~ z+fLtM$WSW2Cpg9PgOia92r2{uWifSO1k=1xagE4|%d>Di(%7bnbO1pXEeRNiNStvz^E~BR< zCD2g=$F0rc0F)%lBIPH|II96nF4-ltSRhARz!+RxA<{tY7-W*gdnF5yJ)Pe#PW&B5 zbvCrYf zx5RKYRjnv;BDyNd)(vHM)4#-^l6jBM$y0xlyc#EOnMa7!O$??kS2we8RiD3~!Bz{= z$-8-da}kqrHRa60=G*Ff$!bx3F5%#e)Fk!2=Xv+zBXp)jj+I<$7si;ACb@7|a;Y@4 zaNm;lHs(&Guy)3koFaEnDZxaebj&;E7?ZR-D><2v?$!TE-W?MWk7;tVEsaB&=-krV zUU79@z0C`qM4J~kw++>E{0uIv6>r`fw+dsL8Em0AsP9Scdq?tF=QFV^mD@VC8pJci zysjZ{6pm;aT>Bh_z(l#d(hz}+s4A#Aw?V{v=JXc~L-7K@j zL=%k?ZQv}KKyIO}WMsE-8l~X= zGG_0bF+!7^_!=c7c!1%jjZ8S{QnT~P5y~O=!7-k;jZKEtP~L&b zLbwkg;$7SXz5Qv|Bwvx#ZSH1NimNVJJU>*(>df+BkNfa_tA*@Jz7k7S9nR3j3UT~x!2k`)tVb``bk;)8o!0R`g|FhF*~=ql-fz~l z0ORh4<8Dm}hPBFo!~v&c(g|hnsN$3gMsey(W&q)O3}3l4nwjSge|!{3+0x=Su@ob| zqR{L_%xR7^VYYkDq3o*X03wtL@Hk~p@zrlM(8GwJwrXau@jsLCjJd6`@FS!X8}Ski zeVw#%ovjRM5R6&sVWFOvGU!Tw!;nnj)hA!9KG_`9-+}JGXYH40<83e3N}+WAAK8Cn zPPuOMxhxX9 zpLtK`NZI`F@*GxR)X`oT>B((F7Mq{|c5^+Lups@~<>Y(!jqQ#hDbbt{IOaMNk} z*{KR?d^T&2m8SK`oF3GKYdjo0oV{4Y_&U|4+{F5Bj@x^H%#A(Tl|`muqjMBRyr^gdm;`#AVFartD~fJ0QGq}g0z ziyz`I;rCM9gb_;L@4vUy!0Yt?vT9rp`mu;Gq_kuX8q%e_cQv8%8bX{I`~fng)dkfI zh@bN8R2C;r;kwdsBv@(lnGTuhp)@jj%~1+g-REmU6P(+n)4K@r`D>hXO84`A#mf*r z_ng{d-qKKWY=@(KFe9WB8%KStX7@J~p=yKU=T8ycKG4^V_)j?Z8ygf%e^`^3Q#@sU zFOwpWxjG!NZ9ASlDHYlIdkEz=|EEm)HJEiLj+UMMaOg!Y_5SO_F#2X`oXsdqMii$r z>+2<*XS;dZdQ6dV!Zl^`Pa{-uWLRl)nVZOosh;=@R2a>bn8%boI21E?Ll2|L-=5XN zkGF@x6`t&`Ul}G!y(#MhDsh|Nhm^@hF3^z}|m*?oo;_B!&QD?_c5{#No znXe}@mNXgR5>VG{a2;$G(TQdj*eya6E0H2Tk;eFH0QTssD=R3rKO@q|@M+#ILQMV| zr)y^~6U+sZ-}qh*!_=TJhn3XFu0}{EHn|k?_md{b&Qnt8i038s4Nl&IbeDMf>kj>E z$HC(Nl<*aXaBB?f(bXca;MVAq&(r-bJ#%KoZhTEAqs!)Mmp3s(>fL_KfQj^5Gb6Ao zdf2SU!{|tM^OW|T>B6RO(iUnqq!e+CuAgwD=C&towOEPrO(gA_OVTx{=`p09WHei1 zI94}xINMbvAv+l|`Y-JTD9_mTB-F8JIY%uN>rdBw5@MTwKV42%rOqr?9Zq#pst)5A zZi!7S=PZplTS|3*$%SRp{r#~Uv!e6!CY7ZcGd*KvYs>X=||{I z79Eed&t2Hu*YX>9$TMZ-mrEwA9~mOZ%S?1BW>dJ2o~D%+a{-H%1+MF5qu*HmCm7}d z!@EMoXo+a!QX;)8?|WJaVJ6In-Ca5_jfJVDSG@GU-F>vnD{sR_(JVB3n43J;Ak^u# zv(srJ>Z;0j-j$Yg$=>>)ginhb{l~Q$B!#MRp`AIq#gVBBeE@jm%9eUB?WsSiw~u-- z{Hr(sRY0o0)w?R6lc!%z)dSrk4&EPa%~G(9xU^yw(#sVdin_+K4310rxHO-{+i0m0 zEq%TIR(d8q0wZId>M46vxNnceE14K>Ja=mR98|ij3a?F__Uj5GLpSqlt zap)5XRPruWN2mL(S3dbmFz3HY!ok%41FyO8cdJ$U$u)UaKvfxY@SrdnK>@_o>xtUmDD<6Wm&^j!7qa5vYbj=&cIx$6}n2>lXkuq-9^qd&EWj1g_05} z^4<)xLVKg;vaYmqzFAs1AakHP%zNv!>vSxW=~yK0)(rg@O2_5+k4|7kkkQA`WO--P zEPKWl7k1<6L%%kcD_KIR1yKlzO{W+Adxs%vd0#ivL!bQbRxMWsYDyX_B{KZ%^2=F~@V_&jIxy(2s1bM^R|-nbLFGA`&xLHOS@l z`8JsM*SJAGU#A?Bf^c&!Mdj=38F+FNDU+Y2+YfY6Pv20*sZ!nZD&#oWt?hm6uQ{vL zgDGRlYGci>-wkrxCu>C;3t`@7DXY#_xqI;KzVoSlA$j)K)d#hAdZ_B29A=x90le2o zIV9IC1?Mb#A?X`=$%vAvQc?z~t;;HT1O0sg1!mj&&jZv`SF*RM+%z2YD~!uwFM-0e z2Cdj*Rr1yR#WF;WpqiFgAVfL(Gt}9qqa)cGgPhPT=lpcPO-5``oJ(xi*S@2jz6Sih zQ(8F=+E+L?(<(xeRFjD{R~$}SCUYfYjjY!?V3u8U8qPE%!|zm+i9IDlTv$8tC`vt! zpV~_0Bhs3-M!%BGQ%q@knKL_HICIorIpmGP_)~0Qsh{m~mw){1dR{U6 zS@lFps+DKSRn9!zt6Qlk4#+jj0`jn0Kb=53x=jap0&?oqJN(XOcfS*n8C`ujthg)B z#___@nup)QSoI+sj4i=VXuE*-&-iuCY0KK0qh{`$!+ zv8UQsK6j_bd+Bbj8|zsbUViM+mF-SlL6giS3HF?q75HVRfBTwehO`@IT7^_?f2RYL zuWw6pM_9LBV-_U6`A@yxp)DmnMmM7yALc%{b8K(yamV)GH9X6de<*DDZOK3uz@z6n zPA5%;2IYx^SRs3n9d{^lI=iD%UG+*H`9*^$PIH-`9QBONJ|{NaIikt(A^&BIJhU>& zA*AbLS8L2XzCx^Ird0OxCiRgpA>T8vVyQNb#x+gMR?SsDjO$HR;((D2{~RcOD9ib?soY@%_Rr@6s*e`_@@0)8ObnsR?esuf zpp%jIqAh0*UO#bsCZR$3o?#K%#fqD6eqI}jhkVL8Eyus06$?3Bn?{@9QrAd5Go@Kcbk$X{ZQ2YG6bp+}csm8%Eis9Gr+5P6Uh#yv zou?}!+yh&J{i>1m?fzXC=U2;_{7rDUNVn8jYjpNg zI5Ab3cMrAY_srA(IYjM^;w-t$^qarM=1ZKOrfXv;z62dn7xSG8L2*QeBv&GDwU6-P zW;h(fp8CzY=0_n&;(7DYUsfCD*c9e*eXP$uj$f>l)Xv}5-9_cM)gyu{!>#DW)M34x zxbOQ{UmY!_C7)Yt=1MlyE=$NQq>M(sRB{_BNX!#it^HccIp#S=V(-8>^D_OOtZC^h zzZI(V%ZU3Y4L$lTObaBPIJK@wfXHFmX3)G8Ea`gP9x?U9;h9UNjAS|J_@9k7GM>&2hT3ZDY%K zBAlb@89e6Y#e-e{#!)e(o|lTQXrWqD^_+UQni1L7vEu8l0DzpA9$YUoTQh?Y9QF}N zbc|h4DipS3*aB$p!T)CxLQbh9{!i~O zh(fWW;q0r;2sE>?A7vc>V?uhT2$9k@#lt#{mW?f!B4wMGJn%7|CF9&Sq7&|4(9#03zF!I&aZlD~ZfK8r`Eu}kXE zFa5SJeMwuY-)HJxrDvh_xWTwOI1yPJ%@|mFBPTI$Kn9|1$r9Ky4}rs?w4zhL$O0Y< z+x#jRl}(ZkFv$b4g*mL{WASy4;;D83S{$~xV-2g**pLW}Z-yp_kI7yH6f9WmEC5toj#6;ap$8_njXazyTLulwaCS5{Hx`Ptka5|R2EJN)1#_3y z4=FDmGFf8Lg4nU5tp#x;q$0YQVb20crsrbmEn5o~I1o;dm{`|;>8~I=bSvrLJBh7+umWnh3k$wbJk^2;rY~XCLDQ_8$ zjgTwna~P#LTO_%5wfV-Sv`n^G!64*q@uI?p+G5NfDf2bg%W{+}ShPeeJLnW`2!QIG zW7_YT^q_3H#!i*nhz-I(M5eGrz*5bNw==b($zj!KHE)4S!IHhPTIC?bu$FtvYG{Z% zEr)_BQ6l7mf5j-##3!ALcD8Yf;&d)(axf0ILWqRzo|e{tG?!04aYD&J3Sv|dcM2>B zgsG|kpeW-q$EX3+<|Bh z-y(K$BB8yteCAWKCTs{Kkd#+qqB#=uW-9WHkb7u1S{2auwwr?!Vhn9yK?WhT0I?3N z4z86+mI&xFXRi4UsxY%JQ!-wV-cg~&Gz$d?R&#utb{(nc@hE8W_+{vSpU8iCm#_~t z5INW)F?BlMifojEGT?ZQT}Kz#9!W?`vJu+k!jcUO<7yZb+xHM-qEt!n10RX99)ncg zoZ3V2hYT#jC5RRAx5|#|&s&y!3Z(w?$;=Z^E<_xZIOW)j=sC*?Bbc7Zh%t|rk7sHr zz~f=hE%s6t6QDSi$u&@7oP^t^j&q!za&@ZA7rcyHdEV%uvk$Swv2)rJY<~j$PQppfmq*%^GbTS3m zku6aOMpcarSk*x=;N)N-#6A;h(62ezE;$Tz{0a4U}wWM;VD~_TuJMolI z#Igf;#bpqLbRZjCDQfnDHk$<~?7{Ge_!xCKBvqvn&%6L71~3UGUrCSTWCq-LK{^$} zBS{De2qpn3$RgvUG6yW^brw6m5a!?-;DNBYx9mkjlngGte3gNk?A#S3}M}%SpA`+pJHIc%{+bTE?szOQ;v)cD&Mh7|& zL`4_Y3L2$YunD1h`+}X$(F!OR)iW8Pl%QBJU2>7c!@H=ei|ld17b1cHg4zlsN(z-8 zpT0q$Bf~yrwV2Or2`DAz)%gLF&`Nch3BK(QL2D< zfDcl@@2$89MDT(gfl~pDs>{CGMKgp)jw&sqBPh~X5Nd1b=D^5v_W+y~z9Zl|Hi;91 z4N+E?U;&LQjT56Y+;tt~)!~vNbdn15p*i3r`R&r~qjW@UKD*E8GMk zX{-Rag!_mp60sJTDB}afI_iS!)S&R5)~Bd@lxOAGVPb*jCeO3RS0V((s>os6|G_)an;XPEm_o|16~^+DufY^@W5N7 zOCZXdYvbu=CNsGZghK}W3gMcgwg3d1fpYnBS{q*kh!*Q0BvSBhQiZ15J@-BTYX}l~ zD9Weck0e%62HS9L#g+^o6}*QlmXR!tm>7mc!zDJ1;U=dFHXA&2=Mpca3VQd$(OKFR zz8pj$gd3VFBcti#qG~C~NaBVe>QHH3Tm`y=MdJ}7bFB+sMm9JIz{MWO$k5>tDLO*9 z>Zu_j+XVuM&6_bb2@@H>m~`OGt_`XX3VblLvK~dDOk{;&O03X(U0eeW?;n7GnFV7a zk(*uM1X_b zDo*)MpV2CW7NZB9nqpKbl^|AwtC)3aTkCKK6rJMxq>&?R)Wps@Kp+YQ>kR07C<^4< z@NQIvYX~pMm;^}PLF$nZW=={H4q6o4Lij+biN!uF{c%E%xx(u z+DetE2o%B_S|(=v5wR7*7ELiRP(zS(XP|pQbsBI0^l1pVM1gJ(_I_tX- z*38M>+H)JZA-pbB_Cl2qQ}`kX_8<%#n016AH#Bd9RR};iDJa)a!WBC#YST038;PE{ zXFPCozy@UUbZy8;r6Gthjhmgph|nL#I}iX~iPu1)+9GP((-cqw$5c|47b-6^G~mDs z(HdW4r3WmrQb?yLEe1Ehy(j~)m+DSWxkl#R=qZ61;mO;g*xrg*>ZRXKWd5X+_PRXql(leun8fk%!Of)eH7fFv>@@L0Z zei`dub?J{}?gAZ2qK1GabeQWhh73oY+$bj()4kZ~C`d?5q?HFdbjT?}fyJB5w219s zgn06i!K7;wMJ)hTvm(0aP{Q{tUE4(ou<^l=$|<6YmDgbCMt8ul3_QK%)kl3;mKgZm zN-8afAGHFFwMq?H{sf{)G*FRT$+*z)DJc>`uq{wryrz4^7VavL%@V>9IkJS3?ib7I z6KQCLs5?BmA}$03A(r){^@@&!lmOVFPDCUN$0E%rC^=~vQ&y-bi)hUCN^B4jC>MCC zs~n5~$3Rqr2r0rK3tKVzvsjtg^eL-Ew;0PzTxZTAxyjC*BUvQ>ovEebNG%FfvNzBa?{hCERsbtVfmB+ z(=4oR5hy&8DC1I$hfI-MF>;lX;32!v=OR$X{d!c5uTbc~z$(l71I+!<&`OH=O{Jnd zN$?gQrJ$HPKS-iXKM~Rs+?KbZn;h(Bk7Px$&||?=JgZ9<#HnbDHW%WfBUol#Z|ISb z8@er=tf5k2`EwFKf-XnU5w>4Md-+d7frd&+!~^?El_f!tG)0;N3D_8m0B7|^&K)^VOsxvQHTbx{?2GBB9ikV0uC-E1NSS|}%=l)GzbOCYJV&Uv8R#x-OBOGpV< zLlkQv8B&9;vtuBd$Cbe=97!>H2?j`U8ukbwUMnKq$@u=6k_%j;5+PWyH^P87&8^6~ zIl#4vDpF&V<;3EY)FLwtRt)A8z<8(*4X}lGi5qn?f8(q!f&8-lsCj8125ufy?AS$C)^+?8>OO}o>qt4n^CF*l@R=~ zSp@bvyEsdUlv%KqCaaZPBmxKTxGYLO&<`X(=6MJsYbbkC2x$!D$6^s3rxUv^eb-w1 z+^81PEr(+acakj;0}?WRT+VRYUX&vVGV!zWy7+-BpO6XGd67i52fuq0ukOkpz+S(1vHHHXALn zwsnH$XBkvXDph<@NNgDIk;JHAiKm5-;xZFQM3!Ksdu?TW`jR;IER!={ky?O2q(x_b zqvhup?Dr?*KtGX;!RMQ!45O>~xI`}`6k!7r7zGJi>peC06;PB0c#%(W8h)PIUbP8i zeagA6;6*-?#bhW%?4ARK1T7~v7J09>$x@W@8(#znV|3u;ltYU^_CY=6a`_rUZP?+l z^pE^p;m01HwlzhUAqcz+h>T8!V_ZOItKxk!2|J+!KZ4X%Nm$SxNUjiwbPkT*E7Fu( zObPW=QkC0_w35a1U=MT{_3||3UbGT4HCIHJP6oewBw>1e4I)9MA_g{wfI1?g^Wu}y z+jG8qg#Gi82_C^nQ3?LQ^gstSOF3<(coTcwT|2*S&TsqjhaT5LpwF#G^U?mdudUoG z{q)XvsfT;%=mq#Q=V71y?{a8%Dk;bLBcwe);{J_T1Q=63`M{cQV_j_Xig#94(XLR4 ziVCr45mY83Fo5yav6boVUIrYkW6i=0U_F1Nk|K7H(d)LZtGK(4+q@tFAS7GbIaFhM zryeqY#Nf>mm&?3HoSM1)N**hjJ_){yq7pk zz$Bsdk6N^iCs=yQEOZRiTbb1t{_LmP_K8YD0aQB?gkqPRWrjYvuKQ540M!r>0{{g8 zGcyD*002)^I;aZ)cpwK7U7BXjiXzJbc5KU+woREf3ILfqDjZo!Mw0fMfByuk1OcdK z(1-v47~p59LEGC+4fy!ms7=<11AeHy>YY0fh|EE3%VvN-vh{LFOi?1q-4E|trT=rW z%e(C!NwR3O9>-h8y|Zi}knDDHnN@2$K3o&nwh#EovipZwg>T#O{pp@*%JKnQDu4hA z3IIfi0A|Vn)yiT3^wvSH0_B%pcZ0{Y_^6jaPq_;fY}8_+b)(yFPH*s=Z9O zE9A_XPy5^f1CQf{-0}zdmmAKTGx9z&{1DJ0>z0`I=!LQO4#5YAwtn!H>UP5LOgf*JWlh2|o~EdoZOcs^m1@XTvGTO|9y~Ie z;IRJkM_=TwXzkbkVta=cPE+;Ccn+T3K&`!pq6ooZEUXx;NUCN+sKy+RI}SYS5n-ZA zX`S&@WI;7KY*pu!$t*xg*(l>_;iX$y)U*4^{pb!wWDR0sym@pgQ>=x+;V?gM98a-J zaX(}QWz=J8PQc;i2X8;46NMVNn2(Rn%U$!Ntf%qjdGpX( zBe@f6r5TeBr6Y|%Fw$>ec|Me3WoR*nRNl!nIf4HV13DODDq@YBcb8*o);N_IShKNe z@N^KW#ZSq;Cd=#4rL{TyblS*WsW3puZRw_j(OQLQ^pW}llttpSdI~?YuXVT}8AHagmL@4VA-2USqO|UTtumDa zG_i$fju5IPH_&vi0|#Pjgm8Pkjev3b(CIlP+U9tOT>B4ib=A}I`mh|>R67BpNonU` zG25TEAUYJRgC*YOazViqV~)+CYGltZ*V^}O^RHQJX?UN+SwgBX6}BEWql+~zSu3pE zR|uUR-AFyME+q-WuV9{e*~Bpx_Y1Irj_25D%{ftHfKo=zSVGr2T#y+rhpY8Q5|Uqb zrhu^9C3?h;#2(KW5QQa{)VuV9{eNVimZ0)ti7;Tj{i#=6N^ZLrR*eZiK{wGJ2LZ481| zjdFmN2FCK5z}d^!13EUi5lBR#i6b#`bq8R@h;*6=R7?SF4qA$jsN;m%D|^)OZ4>(@ z?(mQS986`JmL9fRF3Sco*_=cy>wrzOjB1l7@bm_S8qh7%>jKMWs>M=ZX>_VEROHIB zM{;4i7(IPeTV)Wr1k26o{4l}b(k5EU1$1;BJ?5Tp`AY3s2O=G_icMl;vPOI>dfX{l zXoSj+pLU|vxjMyuZF;q48MJe$K5PM{Eazg4oPqyH`?AsM)*pk?EM=&ayD|Et%8?ZF z(Rl^nZzzw>Krrp{r$^A(UGB1ja^u^Z=^DLBqqKaiA_R6(!qK*9qmgvl4bnnL1GRKp zLFmhlF&isSdV9mEDheCVDhdPb4EDoYsU0o19qF}|%$}zK(yu}!t7zxuNU~x9m<%M& zTIp5?|LR$O(>2wsFpVmj8|B6ggoCMaK?~yX)o_qTG`4Y*HwjMTq-?HcEFFNikD#(SB0akw>By?n9vhfA8^u+yIO8pL##{e z3eT^spVu|gqq7uvSmn2qQlIUS{M+`Ia=2gJ$4X*LL3S#vgq{G{dNSqcsx-wSeHPmTAGKBgA=>H33dn48*YBcd z0NE89CoA%lM$b*S(iVF?9h$_nS9VJ}bt<<8N5!3gD2}!CTi4-W*feWZuZ_N5ZKzg+ z(L0sK9NZ*bx}eH)p{7+dbNG_luG=W1;*>gRdz>p>TT%Q#Le5Qw^NF=}$lxHm!|9ZsW0FV9eI-f&rO>XWCIr5Udq#CXEZ+6}h1)r#kY~=Mpi+({ zp{Wy6Tt#7@+PG9HyLSbSb5z$WxTKDwWZ51S&3+CQ>?X*zrtHcq%J@j0-Xod|x#kBh zD{{k4*%L>B?NaZ?0K0fc3NTbX!+hCTKC9tTijwY;?xUYpfe# z9`&cfGfz6yY-WV5m3?5Y97(>8s>U6+8Y@gF;poIup$4SW);rC-A*a(eokVgLl-f># zF412+0~hVWENu`z5PntpC2%UX)J>XI%%4qxzFpXoP4Z#PW0Pp7Pfv^F68;`P@yFlz z_G8#kN1l%_s^mGE`TMTiWbCp3?-o_+PsXe$iZPK%TcY|#E-<0AeK};eL59cHl@-F` zTl4yjuzzeSDch#9T?swOZuHxL%EQLPv+!#$+YYkwS@?Ju!0=a>Tq>ra_u9;E=Gn?V zX-xZUnkHJoE64ZBi#r>S^vH)06nejn>5QYe`znctB@Y8Xx%z3h@LhWhA{au-F)O0$ zS{3m$HuG$3r%72}Em+-X^v=o`dE)^4gSQWjPTL-~5;4a!`o>J{D)t$4oGM#wTZ!5p z;v!#SSA6pCL!sy*p%U2B*7I3y(dD`?8rRdB;eH3OaBN9ObK-8qDK(yOjmPs`9Sb zg-9ss$-F9lBh%_l#gp$?TrOGeA>(VgA)b$ejl~kb6Z^M|AL#JgexzFOq)9f^+tMw4 zEYB3Ms5fVox3tAU7a3h{Wd7e};$$JuJNjPWYO7yLZ)ceV_E}d z$)h*a<8OxJLsgqc%F{WbM7J6$;SZ?9y2v5Lg>>kVo{{xNR=)n;OP5y{AR8xyUEseC z2N%N!c%N9=nK<2_6fhbX{O&tfPu#e?sAfh3XrA9NHV-~on>s#$S?1Ker?wL+_th+H zbF`XsEG$Lp@VeXbC_75b5RyrCRf#D^I5p zHYwDh=N>fQLvV2wf=C45-De38fsYsVy;iCRj!#QgB||n#SfLCeUMp07)E3)hCEZoT zp2vJ!#6`P?cNs2IzJ;(eSVMTYTHK&+Hphj2ttDzLHRvwGy)4v_QyR9iG|M3i22mBqKr=)G;vAprm0T&1c)z4MPUGcW+tfwOhsvqfF6Kea2=$# zUhtp#&TaTJ4%^!+3m?cTuU21iEij;A8Cc`KYWkUaRTVUT!n9SD=(^d%o*P$WqP2iC zsR{O==xME0jb9@dVr2;nY^lhPR>_;@yL@j=BJb8V+w0Hx%u5MY6eiX7p+vVz7U;zX z{MF7&K5l7Cn+qn` z0dw^=w>Wui!qZv(EzhEoKU1`m?H*0{GKouVseUBxDr6DW9$&?ht4lR##aPvE?6V0s zQ#qLB9V@j8S4>mNE1R0bWTCP-iEvVytUrkksVDZ`e-KPuyUbkd9E{AIY&_<<7f&uD zcpeyk6+`mL0yu{W=E`}`k9rK7tkiLGN-5QhCKn8XvBhmu!os8*YhmT>_d$exSu^y* z7AbFD%MZute(V~`?xam(Pu#RmULvF${)-XInQ1L}l%Xb3IZG(*BX6-EM3^|pho2;o z1uBePeK>nHypQ89`EePQ0{4S^({x_;CeO8s4t^P<=AOgewO^-!s6K1h7(TVFA!Vj! z1Gvn!+gI|L5-(K7951l+AX4gw_T2Vp(|x<-1zDvuxcZ`%7R3j-*lsc~f(Xy8z@){I z_9)~X(;{kL_oO1wChUPDZDe4ARupo`)V=PGXYeEM$+CBSCzLDGi58;m2rhAekzCYj zYMLe4vvN0xg480a1bkxa~ZjEiy3rhxI?)XVI zDbu{ERyHfkMT7~gBDBL-5lo^1_Oxi+=-b@Zb=M_o7Za9fEK9ZmMKu+w_)=T(Oif#x zf`H!zS5YADEvW=J!?e}(Zyz9nRz$4EzrsfE9<2jjG$u;0YBlik?v*365J4*@P;NG5 zU(@Kh3l`oIPU&oE!Pj_qEf`#cx!VNdINtoOQeNCzB z;Ie|d2{p!ZT21Pqv`XFxyov`C*<+iQOTdiZ2(FG{C+nZDRvlUDw@P_tAcDHsD&jjh z26P1qf=7(8cFmbu9; zXFz|C+j2`MKhs@8`;1yjV`w0PTk(@v9h(W-Z)M&xFP@VllnTw5JxSQ?D%kb(p0>kXBak@205BLax4kFCOUAE;7 zNv27Q*XzBO9B10MPQIea6XPa_&oiZ`G+imb&I0U@^n&pwbC~;h>dV|SZWdO%$8A~;p1gt zU*(s0x;F#+o&t?6W__GvKTb3nm2$@98~-_Lcze7XtUFTOo2=S8t1N&d?aHRZX76}3 zlWRY^=P>viUN~vtrHZTuRgX_r} z2swbz$>hDv%$%PbZW7+8kS+(+#(P7eJaik&JQLA$G=JU=t%C~J{v;;x2sa5h9egk1 z`G;a!x8|tRmRL5?ROtiXO9Y=PE--ABn7b;Js{7amSdHI44=)lkjI^U4SX0_GWn-b$ zu7<`wO=fYhRCd9u2M}qUw!2Nq6z5TO*0A_56@Twbg^Z}B|5E*`~4Ca<#|-iIuvBiZQ|;97~CldNT}f?9|?N+|%d4$C4H z0D&~@MAJa7?=!y)YFvrX94?9!cGu)lNbB?-x8}`QSH+vKdaDw1P1mCXlvcbhO_B?C z(nYT+DJc}xJkj49)WcP_gl%CdVdKH&-bmDYlDd89irr}{JEyni?UThC=qn>b=)gtg znnZvLwaf+*vP#Q5^$pYG}$$(NmJCAD%hOt zOdCYTofLlQMlQg$n}Q8Si0DNz>(9Ats;%w1>egkpVLG?d+Y28Ia6nRijiu!+z;)xtkoY}P$U0qVtFx9c z&-WTuCC_r!8Dfv&8Fr;Q@jktHM2cRs%@)V_DlsF}|9Smvje+vjuDW3q5+RBmVrV(N zpt(R=Y0DFbbA8(_ta*NkCUIw{ACDF%FZ+ixfq!TX^5J&A!vSo3+ilhoG{Sp{+1F7%$qG0Sdbksve1BZA=2M83*YjT2_P zK3=GQ*U&OmVZizPoVAuZUkJCoaIHG1c=6MpV(s*6x9-Zscl(XK!_sE5y^sKEZO`z2 z^hsy!OviUl2W5>!U2~mL`WOiDDq4e+M)f~yH#RWtR0?z(s~g&{uWQ$1@nrXj$kreF z2T44{oWE^@=R8vU+NWC!p~1!aqU5`TmcRkxXo8+CLep0oaJ_sgnK%R)a6Tw1tShb9 zZ4%7jyDXD%{234O^QRm@Z}!FN0-&eF3xJTLN#AdZW)wq5*BxW4CIc}TO-1w&tb^6k zJ(2qiH)n`vw(9IgD)>+aFi~6(3)kl;xA)tMvH)-gXp{P2l06J|*h}JfGz}+) zNZyax1Z#he(=Bk*Hgo$&eBY}q zZ8m*Y9i_a!$u=`aB6BkY% zGWoKjZv}7dp|Pvco)e4v6*XI~1lQ0t>qPIoc1)*%MyE9q#Kmic`QFb~0f0_(r6u<^ zzR{xW^K)Q<70Eq)*Wp!Wysy)}n-K^^H{n=N6t;PQa4GOkl>6m@O!|e#db7dw zXT82lo~msKbF7NVWujFZ%Bu0$O$3jTR#IOcnT>~qZQ<&?tJXFn)a(DonemQmu!|cB z=rn+F?qdRb5HT)vN{%*&!}dd7*j)aYEG#FLPEo8vq!W}9p)sC<0WH|2g$T01AIfjB zJF;`3;|C4?@dI!RdH(V$pEYX`iIIEFKIn$_B%~W4BIa5u!?5&&W#m2wsH&s1!rcM5hB!8}eg>Si8jR)?1~&FhG#-y2%P$@BQvemMz_; zA#DzqXc1v$VopI~jj&n35emgLSQs6;BoKB7tqu0IXyAi??Z9Q)-|Un-UKj-jFs8af z=Oox$EVS<;m=j>-#$BN&AgIU~DUd}^-FZ07DNVLQM}>4+T16ioE)#y@cV(wcw7qXC z*_!{*BI8r3*ZZ#it#?dfJ@i>@Qxu7sj0h;iCFlkX4AJmB`-cQ`oF-zUca+8{URany zT8?psxgL4GaWV4oyYMNlF`408;NwX~@2)oFm2u6fF?Es@i% zm5A3gLeZ47u697bD2zcXD~d|h5JU)rl+Yy=PGg`aKE<)OfWYpb3!afk{)6m2udL5Yc8}5;vN)^8^~2mj22M?EuxRx zlYgiE;M=M9(`>mi*1@D=Sd4^7#DEJBNIw5cURS_7;Vh=Ykf^0GcZ30Cm}4*y2L}0~N~%QO^gu6)y^u)j65Q;50w-n&SkECc zLrc;aoM?P;z@3~{V2%Ku%ZL~qwSswJDZNjL(*qco2198?g7-st(o1_?x*N}}!f>he zI>vKRR=*)wMX`#_lsW<}p#+^aL+%ymTzDJ8d9bp2^6lcq;Pas7fM}Iw7|BpV6A@6-klN;=Jeq}L z;5tL&qx(_VuD@GHFr20V08>s9L9C8KXti>qt3wXU?MEC4=ZXKHD@U05HY2)*hVn0RIUfmQy_UAf|_&NQnq&QLrQJj8g9NzK_c5 zg+mOSxbl$na?OU41U-gBiGm9toJoNfD*|UySqN?O)+cQm-XV{K)1G7%SOFDs6~%@L zdCs`Pk&pB?Ut#!UI9OjCBA)Mue80WotB9Pv%#GXW#+NU3-8lijf_2hS4Pi22(s!s7 z+(?vV-fhT@Q3nd6!7mFOnQ<*%dul~gjwFRC0zNm`Vk<G$ z&y~e$%{rnM!7p!=jA9i=a$t2tL{BtFQ6pzWIRX9WeO;8;dg6Tt#kc=+Wo$%%5bE!Y zO~pzWl)-CjK~U_ZTUg?{!wijuQy-?NIvQi2g)9+ZNxdiD z&WvgIch1K>L|{d+fM91t8T|kO)X0Yj2vMhFUwZn8!s4@ol(wknrRY;PK|jI&_Kl0sPx6!z*O2z`+=a0*0%_3pOij^fzqrFLRS-a>+^b$G_HAx&ojwC@WUy*Pw&`w9G_v&Fud7=FZafecH@_Wral2c zO9Jtbew)I5v&HUy<%9!)mxKu1OKgw04vDz7F=|7IJZB?-lGH;q6k{v8>vR&XFk8b$ zVEMv;8=yVQ^V~u_R7p1H$#hl;Xh%KC>dJxpC7nnz>wPi;M1TrFuot5TEefdp_k&D* zJd5b`Y{i}DAc9oRrhpSs^{3DcYeW%DM-Qua-G>&vF~6<~yw^*9xw0X(m`F_?`X!y zZ2t!KUJm~abZ7AG`o{s7<;U%Pm%y`h|F@unD7nI7BmE2@(s(}|cCi(qq3AjF+n0Gx zG1N&#G)UwWfDR=bposk-M%q!fHbeY=J&d?;OFS;_UnV0~XUp@~?>HRG`h_^jUU-1# zaH^vJKGPj_3ZqURY2tvfPD2FI5Ki*S8Z4o8DGzr{q^RA`P4xfD9uvd=(98;^jof%J z_i$$Z(5qFvhkHL!mFo!DrzsvQp`V6Uogz_95Z>$won{thV2F=9s}M3>p_juYWseF5;Bh-)Od2L**EX!7imk2x~F|%!n8OBKkys zv->-|DA|0YSr_Oc0oPL~Mk>}2Fah%h2A~D=drHkjq7|Ahb41euCM^(h9I#3V23oDO zOrq$Q|G^`uab|Ebrv4__P5pl{N;w~JOXY?<@;8acrC(H{0_dlW;W~MxU%81r$Z5F3 zQ9u?D;@4FpFi|xS$ei?B%3{mDCMOpRL7qzp+AlzTiOX;ecDWr0g^exg<_ZLS%5 zEy7U>#6YGQ&_Rq9(CGjz@p<88TT`BugvDaUq6paO5#XWbcqce#F((58?7(pG)?j5G z!I^Lta-1^^MTGan=w5PV$QZ;#1N#*k2ed~a#$dgNX1=tR0Ecr1x(Ox)seU`>{gM7A z_t3rV*RMYKW(*o#d&d>NQ44!%(O7-fF!Q;~2Y%JFHKot7{YGQ|T+~m_pG*&pq6>*D z=GwaO;V$!K!ktz7g--yc!clz*1EB=%7jFHYSd1t~f8&LPiGAY29rNNx|LUSU z5}v;N^B2Ir2PX8{`Qd$qISog?_O#D_>D(rJ`Q~3mxPLQqaWED*$3JG&6zCv_oyj^Cf2-v z`Tqh_A#3U}Fz)Z8OPP?7tB{PHrNeesna9RG#*cHcaUhYdZgx$*c+{;B*&&7JnCEOZLQzrhbF z=VQL4HH}j{@Q}gQ3CRZKf<4EZfbvRKjE?Tqr87cF6U~>-2Zm!{$!hePV?h*`oHMw z(O_jCojg&0j+-;`!Zhv3hj&=&Y) z58hZD{MOP{M|pX1zvgUB<^HM12JeXfg#C1PV21amx%>MX`#37UbNsSD!5oqC|9v8> z=)&8t1A&pl`D4EN7ekma6y&uZ#}B#kfj{oIH;Luns-36^|AhRqUii5B@Rjl90Ku=e_(VzFxt*`o%eyxVQRg&$NK7B;#?j1bYQurKn`j4?x0mgSK zC!U*Nb?)3tUmwP~>9d-q%R|e!{Qf{YJeXY}1G=?;dX?Xc3~o`?WXB~0>9Sw_6P+Nd zj1~oKF>e(nP*Z>46J5nP=&Il8MaN_o>zsNVWPwS(U~=RhHu!z~o1UV`)#=-JQADIF zdG_jf23eP_gVKK2l}sbNS%F&ZyI!bAw&g4Ve|zN7Z8Wg8AfD4BtdT&u>r9M z-D5-tL?85z5jYSI-9|J(MEdbO9!y5#KsfXn@dHsh?r|TP5jhYJ9Y#bzZ1m(YInf!F z1Le?XL=41+-bHL8IFSeP&@dtgV)WeRJ_;jpARPL{zHi)ti4Md=X9Jl?Jk5b~=tg>C zK|2S|p~i?Fh(k|^$%x129`2zJd%r39xaf!f1=Fv6;6wh4xa+TbBCx0!ohzIyXZ2_ z;~v5N{DHvfZk5CP#_i`cKB4<{&}#v%CVZURd_R80Ug7?cU+#Yr4Ot4n|BwHocPir# z`|;|NT4d(qWaH)I-+uakTa4fj@89ElDPyCV7DsM}r#Waa>BU&-w9rUCB!_VcEoe+$ z{l4=n=G>1~$dPrv#B=d~1BsE(naIV)zLvnjayRx0HhYr^qv*kCJ<%G3X(YFCN=Z*8 zq5`K9SnfFXB)|~8D1g#GQjpkJ0}tj@1D&8dZx9-AfEgS%Uj8*{71+33{645x#wY(gMLX!VJ7S--&cMV^f}_rPqMd;*U>onfTT*xZ}aRRt_KD8t1+< zHrTr(P1eijU=&Flu}LB2%0LW}Mo4FiYor`T!W0d1<08lcef1FMHA-5&M>EL9RAwNN z&x9hp>;Wv-L}GzTNU(#W#ri=01|>&??TTzL6hcbVC5gdu&*9dD1{`A=B9?-Xt$~d~ z#imh~Qxr5fPZAJ*E|`+nqeGZbwStW)5~j(FYk^dCrj&SsBt!_PP)>v)lL#wuih!A( zInM^;%nmGy5>O#MTacqj7%0TMUc_60Ffj-_+&-C!fk`WN8b>jb+B+Esble<-;sR|E zl7<2aMiEMr0;y45Sl9@^#pUpjrm&r0Fw#-DML~*0*m167Lm388^AU{;eU*=sm&1<@ zvj*?`A8{V-pFgtIOpn<}Yn(F?M6yuSg;}6ll%U~MuaPAjgUL9XGRVRr)}XkqoTndg z^Itm@4H)!U!pO>xZXN4=U;i2~Z-UmX4@gFC+35!1JBx=2f6TXk1qXi^!c?Fcd}-!hq{YH&ds$z!D)k zMPS-IRJD=YT^s#&mIR3cDZNtBC&f7B6h;f3un@_X77Y2LJ*w>ohgJ4 zVu+V$grM9b5S&S&RRS*f*7Sv|TdDXO*7}t~dLfFVAfn%yf?6-l1~wv8dhfYgI~E5{ zWchL6mSJCzV+?tj@G!3t6lFcANhpRfjVfFMi8%Iv$HmaTzSUpaT%r^c5=1%3S)BrU z;L$_?q+LKB>pHbyF!}POaY>(n0)G$EZ;Vx*svsdc69MF|9U&<>0#!bd|EkC#v^8+o z*?C`(SQOA9RWr1Ttb$-dC>EB!saOq4rBHyVDF7jq<5NRq0(3rmRK0>S7}n~bnS>xQ zmukaAp1^tlER&SexiIr0aBNk8O!p~x2p&pWl6!W>H14q|o5 zJHzu~S|P9$AeQ1IdJBaRK#SVJkVKqlf3z*kG`%<<(At%Z1_Oyg52oLlkwXL37O1FZ zg2lnh$f5E3>T{At2-ZR-U5yYFH9ZPXX1HWsZR+sd{wSczGciB`2{_XU@&Zd4N|yQP zHDRXWRIEdLPeg!Q6d&@lNv9A71DT+3$oCMZ=m!%kEBb5nPKE%;LxtDpK|z2R5Vay9 z1F(i7hT&!AO<0(i`12KzxD1L?z4@4VGusXG#Mw*hr_u-{a1%MUI>e~ha%WQ<@t9SM zbW{nk^HKukSmlijWkMuGNsB{Vo1rf8+!Y9#w3K0_PfXanauexu3g9gvqwdA`u6G!9 zx;s25`8+)KJvml;t|Hr!+UHO6%5(J?s|>BgIxDZg_9K&X_(q%>)*Wx}aFSHwKC_ z@vE)`1k~@%%Emrg5T?YT9LjST266_#0^qFLD80mm5d4d)Z=5K*8lVY|QzLq+rOsI& zfcA51F;B^rD(r593o=&1hRl_c9{0xUfeuQjVp31Qjy|hR93YE@gd7+JabSco6as|S z87V;>#?u_bXZ4HJU^a)uP;(4qp3>tiXj)?pP(w5n%0kX@7EJsuo=gV88l%RU5OK+Z z8so62YwQc8pb|^MQ9Ks^TmKH>iPA)EmD~$RTKDhVB0UBuw7>csy7>yER{_nPUk%W`Xx z#t$Wko(N02+YAc?muj>K54;!be{XC$s~*082N;*XaqE8@ARRs^w>aokka4;iN(Tlt z3>M%Z6KW(>*(#37)~EyMbXa30FjIPCsUpZ9ZyW%G?ZybRb&2nNlY@(-RvW`b5_|$V zVPk=J0Qs-`oo!=>{$PfvoEXuiH=|~ z^Yy9Rq=N8ZdZ;v90O-OZ3Z-m#-IyFDZ&}6SUg;DB1tLgY(JN>iQya!ePMr+Ye(jAF z(xC{F5fC&mZ4DkjA>}{}P#i{firRZ*$l_m0#bZpUxlz!!7z;QwC>08#gygPg(&>*Y zVbZTFg?=yylp&?Dj))={V0Z2Ft*5I@@3sbPUzfmk)LIFs%{dMX^aa2{Lqt#MkjNRj z%Q+NjyQMMT|#2+_3pjKS6Z_DOhQpJsy25L`i^wHoAMgj0ox z^$f#2M_>1mTPTa!bm@wSw$+hWLx# z_@@`2>y!dQyod;Z@?&P{##Z`y{XAh6=_eL`BhBD|HpILN*Uat1N}Ukct2S1uKpJ+o;&58VETW9VVJ)0%T!D{J(T#()29HFOp6eVapGpJm zH3BKA=kDYj6CX%z{@h8FNnBeb-Hru-8v)QNBaxJzJ5&$|N?8z=a$HU^61GYZQc?-l zOkxNEK(%xt@1z`=EWqRU=ZJU%JMcs3o38LG59Z`7>!pE0>?Z=M5Dajs<480tsCjZe z%3OoPgKQfo`R8DNNsbr=&l zp%@EPP=N>@3#H@Mb1#S(LFWJilM)BU`=#{_h2TkA`IW&TEJzKgW+!hyuoyakP%Z@} zb(Eq0KfMnl4e?{0IJox$!t)Rh40U}RlWE{(R!a~98~Nqh*<>-v%Hi_N8Om2(6d`q> zrW{2hW>%OAi5Q|7sQl~2n(r{U@jrRK7`fU#L#`%rh;1!KOQ?sRNMckJC1?~vdp|=q z?NI%%3l9&GY~e2s^gQro_~#%cQbwKhUSd_38pkyfCAVfVYz@dC?5A(7#sX7J6uh%> zi&v1t0m>0g8iOs!DuRO=mxwZIl}&`_Gj|Fw`tEm5O_VSR7Aokcs8_-$h833Jv5Ghe zMOEc049;^65IbVf){E!NC82fQTCdxWTdUp@N+35IgzPti6$T)wfEfs3p01U%V!-wc z3@}kJ1BD(L5lh2|0;0TzJ3Ij>49wIb^jr)gFJ#0YG}bzXZ~}@`Rssc1Yv`jZiyspN z=f5BQ{x?{Aw)g8bu2}m=rS%XU3rj){is0&ry}3!B zWn9#S00Q6|K;~W9XBL`SkgjERQx#jrzChyd6u2=vZjvANM!EKX{s@W)01?&P4FLc& zfENM@lmOl69tZqDd7m%3fCc;j!Th?w2H8LZKIj=SuFwPre7WntJplK&9UZ`wZ|r#S zNE2|Xi(JaWP$Ty5rKbVm>%BN>ib-xQ?Yi*EUWPrg?q_%qq>xbnzzhJ5%m5fz0d&Cz zv>mAfvY%Eswr<3{-E6xUY;mPVN=ns}D7LQm-2eT4eg8`FFDpNK^8Ot4u{nC0 z897?>xiT_lW;uF7T2K7`=;bf*FVI_0U;U@XFGGL7@zfVS=?@g8PxaAl{Vy#I*GDd* zL!;kQ?WEoz^G?06f9U_6dRI^Xp{DmZw<(UP5l#dNrk-jf<4I{DoC_%5_|uo)?EPf+ zK%IS2FAaT~F8=xc-hNaLN>ytO0f%MFYK~~IcWk8`kwB>i$sZ6Ku1`+vAdu9d7GvtH zX+i{JhG5fk?^bN$vh4~)IZPj1=@!YsrU}Q83bT&wO>{Oh(gd)A*qWp|)xbkmJF%#d zV8>5M0@)I~O`%#*7)u4CHC3om=;~aIs%(lU-oVI$plwx9R`C!`1;;fJ5eXwCLc=tb zN>QmnvoXc1DPp3Y3PNkvLe-K+SXc!yjmYXX6&iBRZAmmqaw`<%x@p?lUsch`RcrR8 zky%KQnsd{$Nq5&!OzWl?la6s}LJqkLtV>P2>MX6PlCRGkFKL$V!_S}WU16DmA9$a1XF>J*C2$cxQsFEv5?Sm{}?t%;%0mi){c>vD8DBRrbV|M0Rz0x)DDk}M-r5KTwqsJl8FYHJEH zL^O)oC06aW3DM-+SS&r2s?GB;#b4C}C5n;7ZO{lOm#ZS}@2PS8dTr~aRK%?R6@?^sKX*T0Vx=?G)%57GHgzX8xiYOi^fx2TY@R-Ho1VSIr&9CEp=oKRlG$!y1tK3;Rjf9ydO^+t+dAX? zS(4dRBhaVP$j-_ei&F+wQ!-TvcWAqQw_8kIcd`;J9fDckByA#Lb=V#`{#w=!BZhF+ zsP5jAnr@wm>gAhfXm#gfblxdor}ODO|4x1Pe6zSlfw!@wAVz+16BRlH1n+6KU;)KK zF<;uhWe({-Ht9@f#+lsLSPQjU+D-* zsX13~iqE~#RqO_xJgbj)>vvdBKeE%% z|6!&B!bDwBvW{Lg-W^UVH$SkdK=9Ft!60|vB%G+qHwG|EN+~EKwpJaEOe>XSF}sD& z(K-7BIyd*3&6Aa4otNFCmot^sY-_UWQ5Q+{Q;oZ<3RKArK+@E9!3973wmDnTI)Ny~ zZSz~Svh*_?z21zSZ9bo`Usv1r(d#i@_iX1ej{7Nb3wxppwf2@n zFOJ)z(RSdoS9I%Adg>I<1nZ}#Kk8+$exIs@U@BMRYD;foV2uny%tI_B(;Oe+Q@ zHAYL2mU?h(Z);^M zLz5%>U1l~jXDc`3OCvg)!hCR>2tkZDRB8=SxxS^S+U4}Jq1e5hq6-`Sh&(4EuR&aW zPQk%rlDPKBR$SXcn4gYWMlJo#46jXi<|2(9pDTdPY%QvbrB|6eeQ$xMcp_A76`^#` zVk>b(l=@alSM`zKsn`){5)?s>LOZ&d<>nXV?W0NfOW(Hmmf{r%R=ooz|_yohRERmFsXO$N9k{*30pe#+d#4{NEf3`L&=LV`Rh2 zP1PShL8^;!9xpAZb>7E6U)oJNIS(F8+4$ttJ6gBw{}4zajcfPEvCb=%xv9x596iC` zyf@n`FX^9}`p7gfQ=b-82dg|fxfvQDXXO%ma zA~xDs)dzuk$j;Pi1%QsQ6=^i1K%h;NieKvKK|<;oIMz&VkLtb9f6H)*S26njGk z1sZ$-s~6m;DJ;CIeruVuSw&Mtzsb$pRj=2}}vK2-`I|J>-ddvMt zdB?EYJ0#w|WcO#UG@7#IboTH(d^YmNJ@V)>vqk2^M^aEW7B(Fdf_|y6r1@IkFMAvf-qsN> ze?lWnW>DoESx28MFJ~e{H=zDAbJ078;r}?4kdmR&bx+ss*xN{P&>I`JniLPAMaykn zHY5R~&%0e`n_tzaOUl`C?pZa_Su$;#G+%ADzEkqVp!l-8m)U(N|7sVslSM zCcX;OIn^O)efqa=nTWAi>3nC`VnIIX|35e7++yz+F7%77puP_`ABCrIx!FwRh3Ak{ zo1ne z#>Q*dMx~$*%cF0uL|Mby{d28tx8+ju=<_l(G+AcdocH<>@9EDUNcnPHSxlvt=$;zZ zU)}Kx7ZAB#T1|-4PWQjuEQ>-!t85?`2>YNca2BX&)z<=z=DEJLn|<@_ie~?m@Fo?v zOuIHG{^6!&O!66fq#@)TEVSJ_f4x67>=L@#<*P5qx#QgNq?RdF7IsJ22$qiETOEtp9NwbLgyt-*-WH zN2Tw(Jybp^+I}^};n%JUWpp+;ms7F=m0xQl4YFT72{FAV*%e=@W$-2Cf58g)>6Ce%^bYIMo}yM`;Xzi+ z`+7SL*PrQ!w_^M6-8*I0r*kvEV)eVAlisqavhx>r6xz@UP_^D4O(RRXnUg%LKIuo+ zFMHbd`M5(p+t997yPDfEREKy+d6dDBb!PWC>IH2xLnEPyzm7>$tmAl zC}X5Mbrx$7q4nL}^Y>j(M1tb!Mhvg#kh0Du#-JAGrRMG-+IRteYHh3 zBBJxZoM8uV4?=smz16jzeq`{ss$Eu74cZVB|9&HChTkId0Q zcWC$HyDohawURv5-tkjemWBjYoRi1vZ&Ix^BIV|EPqVTa`MZ0w18FA3exK4W+lNn` z9Kh|i`%uudymkA8ip`yB84o(Ux7W8`Zf;aUmSL}8s1Y}*T;J+-dd;Q2#--z1qRSS^ znT^fL^Z4XKn`iD*Dv2eDmlppEBnQq9^+Ck0kLcVh-;0d#2v*+@9Q}NXgWBq$^Hc=1&{ z#GCCHbXu}}9++&S&B^y)?{2BzPow$fF? zaMu7qiF;dur2>0H=OE#^&u&CTmMX;yW!7BXqHkllS+>Of{=^{#+#=!j5$7f4W%@>O zELJ^v*1zo*<}tbV zOv}taN2!}amCVsKjP&@oJS?ZHWpjDU$M1Umycf=|+Rda%Zl%1~iQU%ej@&nWCdV#C z3~_)^_dT`m4_aaXfBij!>`C&X%z%F0`@!XIICnUj?Lx4ZT@5!nX#lo%Zn@qf{5wZW z+217DdsU_EO8GuY!3$CPde+|ox)7!E-tVnhSpRk~B{!|ybgd-y*dO!dIFLCip~3iL zd-Ggby{&xo@BNBf@MLN5(tuzYzA#i#NNd~KpChc^^L(rv-M*=b{dInXjS*hCFUOYH z5MNJs2(Sta=FiNG(fw5aZZ8fP|71U7Kl2Uw z^6nKHY*^Svc&8Ho*-StCpVW@FZzmZ1CQ}(>j52XcKt*RaKNMmd;D93A zz4UV*`aMqgF(DH_N=)&?tP~Mm=(0EEUV`xr5LdMDKfA<%yrLQeN>>x*mcy;G@ygd1 zAu$k}an0~miT1m`1Z`f`kqt_zZ+~@k+I=CfAXCKp3HyYrN$R_K3F6&4Ef96_ZS?{* zI)(fkCFOZ5>4peeInZu@_6^k82dm(XyoFU6Zn!E2zxaz+Q>rD~b}o&>*kl!yY4WIy zW8c_uOLLmj><*RX3X0n?&LNF27b+f|N}r-{GPuy?BfVE#?Zu6aqWH3xZ3QYa@eyvHRKocD#k6#ku=T`-up$~kWoJjbf>=P z7YNgDtCgc+_!fXiA+S)T)gumW2BAlkuE|($z z!0cM?aJ?=um|>-4jhB1~}0I~U*B5G{iGzLDzhxe7o$xrs#9{gHVXONAu{ zvc*kbYpfty^IsL^wupK7OL9xtb}+?1xgQ^biVa&v zZj^l`iO?dLlR=b~7d7dS4m5o5={zW7c}tv6ow z)W~Da z#l6WFXMb~uSMRJh?V)C2P;?#BTKgW*BKELd&*54aKk+Kb(-VJ_HrqL2spmc(-oD9P zuQ_X|7)^?^-p_KpOR=>+YY7FGrnXdo;*U%Bnba1Q?O^PVK^%AX^D5iL%E&m3Faahv zR#p&Q#nqt(9h+J)jXkWak{S9qQ`B+Bn1}x#8LP{(FJ3lYXlcOV>ZyC=Sk5G7_dk^Y z<6v*l-x}|;N14#j%;B9pqH28{>!Uf&qm#R|WEwxu8l_vt%*w?FRTqWrs#5W@Id3N3 z>sBK^y$z=InVP!9j-1Dz|3e}=uE#g$%1&ntmZ$CFB6Nh|VK@mtmhlF5642+H&>nz- z!yr;>O!(dbuow|fsgKN?DW*|+|FJdHHwJUyF=tZ`t6m2Fz%w!? zSr*`gIpAn6U!Z&d${zQ^SE7yiaJJoI7 zdt?^uaF4G$zzRnf5WSHKyQ{9mdRvfW8BoGtIfeP$SpiS}3mffR-uPD({}CD@HoRkc zV41`&%8{?7vYXzStH+;`2~aB|jN523Q7MJ`>JPrDQZi1NRjXUzm^LVL`Fz4-cub8` zz@ao5Hk6o9Y`NEdOLx9ASDiD@w`-DopI5I!E1EOdQ{VE6&958R@u`g6Gr^xQho&S%c^oYOfPak3d9wj_>;oj)T=Qo;Riq^=zJ*iV)#4#n`_tzrKQ;jb^;>gXJ z(agvn^798Ndz?ycawv`kuH&wU7Wd7lw|p+G@;Dr_Un9p6{{8Us$D*@`*J^QYVy?BH zJp3NodtZhM_x2>j?!`AnRTQ&X$t;g9*M-nf5ob$3ZzHP@q0gT5s-m~PK95^h=G3B79-I+rrJDXpg zB$JG!cz(!a<>`kQ_X4LP!4u)Jc$^OSD#D8*utup*aQftO8_7)%{`z2?oe%u(3cuhb3@nTEWi1q=*-GF^rBIZ z4sS!;6L8H2kX(;^LS$kJ3MJjUNb|YXgOW-I;s>d{OUX zD<%BItqmW8Bb@ig<41uLKhm84TAucVc`=5_rU}+&$KMCi@v~-T+_0z4=APmHu6@Sg zZCA^$@TIOk>H68NQSM%;U*~CIjitA@akGS-Lz>2VnKxgRN6JIa{8nzrjC;xd|KIhu z+D`lR3vXZXE9Sg)b*JBrtBIukU8NYy6fnKoaj^5_AIhe??h-FtG?Ztw`Z%<^1V zSQ_DHe8(kQKU+#03@r@eWE>CgB*VKl805M8MX6PAi`F@5(4{C#mFJee+n!S1?a3HC zkEr~+TOhkTOo#J4s|u--w@J&v+~D6Of1xD)qLZhnpHTU0`QGq~H?tj=tobP2j?ybD z^T#XxPRwZL&%|4FbfksHc#kflQ+?|Sy`4A~^ZIUFEihpM(dz_Nk(Id<^qKMgt!hEy zm~(U@S*sPlTl?#-03Hh9WLALa z9W5YW@Ts(Oms;Mcc48dFqzId=u(QH4UY~9kx$7evuD^a4{o2M})x8fcvHwUcHR>Q0 z1uEqEHB&@Y_k{|}na|4i<`1HG@S%%xSD3$w^hv(Aquo~i1(R1*5-dXvh(+KK`{#Tw zD%C$7eel%u^}<3zdb-A(+mHPhK9iR;Pp-}MNP(tf{Jm*%$)mH7bepzqd17sKW6BM! zHH%N@#(9^)P@dS*0chrDWE4?o;yUA(j`7Yu*H}^7@yZt3#wZ_$?FVjZym@S`Yw?=K zrqjlA3ZqcX!tJH|SudZ&4E?f7`*tZJ>C~7h6dkkjc|E%fUH;~L>X-h@OyU1Mm9!P+W@^a;ZWMWRHtiS7)$|I2Im!}(#Y9J%?6yXR2k{PFiq6WMiywtg{NPu(VHY2oe+2DP_S`g7*qE zu{;^8tR9I`{udt~ysHVCxHX_*nUx20?Uo#^IVJ@Z6s^hsH+HlcF4{D%?o*Ld%X*-e$<}?iSHeqfwNIRO=1wF+2?~I%|a^K+c|=- zBpy+@F%f8n9KR&72%iaqiH0bkBy+^BA+2n_JrGwC@I-5|9z)Ko9FBNd(3IXRQMndx zzE}wUb6V*-(Ht2*zF)6Qo$Hu;qh%W9oPO?3VK@k=nr8RzjSjFG5TKSCd>FV_RD$X99s)tWMj6|T zZ;lZ6wwU2j=MR+zob#EAYXCu^RB^QS1iwRx2FuhEi@zXJugppV8;yYSgxl9tL*ZEy z-J7N6j$-jJstG1VOEcAwr*&ag76z^8A~pl`sdF>M;uM&;@ zQaO6l6t!-!B!qYwRC$Di*yRX#bsQx!h9cTlJ6((x`9dgAf{CGN1z6qy4vaeH0N^<+ zaQLNsZp(Q+*kKT|9j~Tmg_vtpK2wQECLl9*(Gi z8bZq(7XHZe&zg3um54*hN@d7Hot!YVgEhzJA%8`Xt|bpuW!LgX;Fa1*UZd7 z@dR-+^TlE-G1yUSB?t)^ai!OKM>L!!os)2Hsw+di%8X2%+;5(1hv@-Lzb^fW1HQB4 z9(HO5OQL3C<_5FU&dCi*q(Si?* zj=e}^uQ79)@t+xnZO69B%x>idu38OKcf#OOFU=Dg*<@S}k>-)&_HGMJb&KYmDTfz{@xuD02!88xewj6#u;B z16XSz5Lhcws5TZt)Kc0{!I&^0Scz`TmcyC(7-aHBZLa+5SHARLRGhN~G}02F(pygB z)&e$4dYetb(1cJ#5s}%P^fQdI3JZ-jV`Bzw2u~@b2f$(L4ByY{6hZnIiX#y!W(pPx zk_|@IKn$viO3nC^Jbmq~rN=;@B$-#M=jQjyP#73ft;~)S}7;V-zdPln0F`krC0~~Ol!4*F- z+(xqcrWvX4rDMc$(uhG)1iy0H8aY;RN?55iWoVEY;hCo%lY^2zYA6`N9~K-{rHH27 zB4Th-R(ZyHccDjXjbGbFH79f!xXH+ddl8g-P#Ig@>IY;zVgO<$#xkai z%Qe*RpMJp}E5VXmWWvEvW7L8|dL9_5v?{4Si8j|)cEvk9&B}&A4JWGDOLGXKSaiJ5 zYLZ&*Tr;C=+;RJdpOVQghNz28^$39C#wZA(>coc&e&azBETJ`VmEnz9+WIu2Jr8!i zQ46Q2;uB9Ssn3%$OlPxbK`oZZ`h`O@3YE7Sog3N!*(X)^(0PThl@qM{8o<1x&Ss+W zv+@bC1Ue4r)GhrSK4?dnl%2+&{?gk*nvx!BVpJZ6GUGWXuoUDZ!xoV?Nio7Bz=NE| zff>L?oM)NU;C0A~mJ-*n%}DG^f#G^_1~M1V2(+lLlL1wT#c8skwjoY;O)Z?j5XAf1 zTQRfe)ooN*s%;*{iRLMr7*qp-Pn6G%wMcK*i)2TXMX^l07h}FlWnfR0c-SO&D(!oZ<)n73oAYKZ^oAAU@&!6tG(39 z2+qt_R*#2X?lW(w6%l1f$NI?W0Yh7qYmMh-rk<@d4^K!SQc(O8svW_!wU@qFV?-Ic zpkFlUwMIlu#3Z$*!OBw~vJa|*oY&1vOHE2SuNx4Az!+Qf6AOwtSfy%Fs!l{AK&ffq zD?!@J`q6K}ef|aHV_Q$e=EOJH{{+cs6_)drLJYhHBP3T#q7am3MA?EK5#Vo>9srNe zYO@L$Ds~t?h_0Yf^;gC-^qe^*uKNMR=ji@hot~{f}a*Zy!{!g&y z+k^n1YYlWctE3c6851Oh)$$a~8L55=zy9$38xX?;=bb1?AikkBB&Iy(_lKlM%qlL)$HaJLg2MxR-qm&>8)o}3ieViJrh|9NE|eXE!5KU_WR zK-_zSEgcpE_?sMvslejR>fVZ;#;usZutU@VB65HVI<_#QY{x{s!jZGL6`IR7#K5yL zFmNIt4sT@;wIPlOPbWS_Zhdm%pInKtb#M31njvQ)S_qAX;xx_t76uYEsBwu8;A0{7 zq3_LhW*!i|kXV6_FKzP)oR#b=(#!J!7%jGjj^qT;y!#N6}zJQAepR9F8 zUPBQZ+OB+D0wAY(iieWz5Cmb_@Ts*5QSFtz1Ah(c-NABrunEk62GwK`BIprQ)#eh4v^)qKO^x^5X?Ai}__juB{(_+4 z7(^tPDluX(Na3JXgVnGgRvlo#<8nj?hp(NuW;XL?t}-%V3X=v% z`(_llpKhvJq8aGpy4^mNwHm^9AYqurc636w3fjD2$1^=q{p8VOa!XsqK5}?X4USQb zMgjoNQhl?~#L}qU)&nR@F_{a_AF znHV^epk(kvXj+O@jcf$sEZ?JO5?pgEfkI}t%1tQ&gByx932@hgHRmeFeBGY2>E#%`{k{-5=a zGJDtpk}wd&@JH7iBpq>xD?UHW%Hq|$p*ciH#+0IA>A6y*(=5dY9bKEb7PuO>UHhwy z%{JEIg6$ZeQUpTp4Nx4e{cvmmgSHwY3bGI_6=7K#N{Bl_$~-3tLht5g7fU@;ol%s6 zDJl?l9wzy)>_7sCB6+mG8EZqui)<8B5`du{YM?a7dCSGZ&Imal)rE#I9tgG(XgMMP zS3y7>hShLlp~QisfooRB+s%5VHpyC8Lm{UJjL3gd@sJQwB1P#{$R3kj-uqNahY2 zG=h+-*W0A4|{*E|Qt8sj}{YB*`t#Jjy#(^vl| zLx|D!9^=mPJ{%nh{8Kw zdxlWYjPQN`0HH7Oaky(OP<-jKSSnMj*6+r4`)8_v`M z0}{``!Wis#(J8lsq^yTMQDGBnkI@-%rHumdP>PFnn&<|lLA`32_BwIS=%v3Rk&~DI zk5EbWq{h};9OV1oP9^^EQ!`}B!2za(+(#)WIT%j^6YQ_1R7OVg$!w!L%w-Ix3C2pX zdqSuoQ$##!_)j9H8IbY#23fq&a|S^RD5RhBfNC%SHCj&%*mt5Jq|(f89(QK&;3s`P zXO4ex=<;ItT8UzTWNWB%oFUAxnK(h(bA8UyMr6>d$yj-?M@aAb(g^jbL1H5AIZj&_ zaw1-|Pt)J_&}(tg*x$%w5c?w8d5|PZLOBJe;Oe(h1WJ&ba3uzg3!8RHH#SL_*IKG% z$bbyJ*Ww@-pMvD%3~amv)z-$JZYyw?h-9(25HXH6P;8YaEjYx?%D&A$|Ovdb@VC3 zQ}wp3w{#ytvcz3r)JZ|RR6cT`b=F$l*XC>qEu1K2B!!ll^E+L%;z=W7u{j&AS; z5i>w?-mn?kIVs^&{a;Tw6}3pTvOsTf&ful7BOoI*pb#2HGbW@*ZFAZ=W2o%qkmp+g z=6pV^L|Vkv(@9f06{lS}H|1bXm7pS2BY13w96?}9Ef$?L- zlP-~gAf;x3qFz^}=rKrBWoAYJIt5A$jO%iyflj4xLQ)a*%B_{eaziiPvI9dvVlbYv=fm%Cg z0*@GjnSJ$&aF`(q*9R;?9IJqLf$WyZj#WlEHG>dkq8=F+ zx_D}kl7S&7+CtV7j#bctLQtUwtcf;xLKsiD*;1^jO(S&;R}7PG37SfQ4MZ`;ENk_G zkuK29CCFoyzlpRe`|sE%5j3nwAiSC7kkcYDSqM2+;yX;LNPq*`p*oH;tCMbf#oGhf zERh_mkS0m6UDr)jzMqkTi4`7GJV)L`YZb>TjX1_Z;!qO(K4cGwWatg?}CYzEbkZr~Et!*MX6UhrWFEQH8`RkkRO=8Wkm z1~QuRE4$YUVkD4Iit_*-3l*cT{2gCg-~q>>P+KN+Ko^Fg0@s0Tw#bfEpiBCigGO+c z8hRC|;KYn&x(eb`EQJ24sdO3&nu@9GU7tX}9p<1(Q;3SdvJdj7hy_77fopC62m|@z zT8ZmYsTc*`DoeS3LkqDQ(}QExlBmc~YcZuTT|o)q%C3f=2WCAUD`Zr8-QgoOj>Iw# zpuwPsD*LN_TkbrU1cwDV_Gx`(mwloXQz||XpUU@Dla#Q5k`?gV0fM8dg06sv$TGh^ zTbj}c8krC!WMZZ8Rw1O9g3Bmq+&}w&;l`qs^JIQ=Ug4wr!ZoXcD*BFVe3aOb2(Ca7 z7ctfYB9ReIZW3slqq%Mr5-L`u({}U?U;+oxSWpikB*p*Mo=eUc1(yCm=XWt?qu^{9 zU?Hfo^bQCu6e+#(In5J=Ihxd@52}cOFw)xzPHY@gC}v4wXpo$0Ns~GQP$0G$X=Ae1 z+ZuT(|Y#` zO(ftV2uKFbe?HT&h_z@OmNd9(YB0`ukiV4XfK7JD47oTEW<&M43{v1bsqtXFVD3OU zllA0*02D;$ZBAU3))wiQ3Z8SaLlse2s7T*9ZJXc{QMnl%qO~M;`DE9!QCavdx2=bHFHw-`%h);Zxw(+F0V*q9CE| zlpPA(2KF%tLt8%rvLp)`cHQ+9%I=ZMQ3b*vKP3=#n>E6ILR9KLN(T$KeM zL;Y0DdJZKrp@R%KoHIK@6JceW1UF8xMiB_aP>ZUDR0_~!%z;_KjW3o4ZptzYs2{%M z6$DH{2TUae!DNh9Av=4nxG8}lK@BM>r*J&WbPn)2rNwHCUDVlgz)er00`}Bmh&34P z^ub$&W0rQ%VvbzO*oA;|(h%%COmR=NP3RJ%Q}8$nWze{kVcIIG1|-%e)j}MNi54FL z00(*vBJ>$A0MHN+0|0aYLPG>M003WPK9!dOm6rS}=9PCp*Uj2)lTZ@)60#%}#|$M& zyB95?3xs9}yAJ;SAW|a;L^Xg$2LQ$ZpCOQHC^x$y14M|be|6abCt?U%NOrNInE)W` zwjNwESFl7jeNRi)`M+aj>wY&|lD0NYG=wnkcbFZm%zGauS#7eD!zHWj>@fJMtnPPw zzENy93zPio4N3rs2p9kWXaGiL0Kl-wNR}kzCT+C!^wU}>El}`*+7_V_@d zm4lOm{fXHr;AdrG4|{=S)$GoI3RI(JM9MUl7~L=n!-C7bY-Erkh`=1mF(?5M9^}2` zY=szt8k6KOkt|-(+_-_$p(u$#B#5OW!&szN9mtUCsghQn5b?OnQ( zh;|OkysLjmu1LdcQ6jlWC)QNxv2X7g)u%54|IwCgUKdL_MeU&Nl}(JXIHI=~HZ72Cx!GO4ta?8p+R^(F_~4EZdaElv!-^p7t_; zmq_8MS~ygh_iD<6+7nMPi5or@SOvggEE#l5uw<<*asf4oTOC-W)+VOAR(9*OthH!h zS(m1?EV1P9Jyn`w=$M8bthzuABya|h5>GPH6(M_AsHr*RbYvx=pp_t;_1Qp7mWV1R zOuWix5_bBua$pQM(QJ?DWOTrLOc{|&+ad5|N82)}Hii!{_(fWOMuR-=jzOyc`qqb-lLp{&7NNMtoEnfxys650MyW03+zgShj_s=XSLg|0zHzA zT3FIJ961%I(}h_>r1%I@JKnL?d@P)dm8o9dPc9Dv#39A&FAo3T-pcRmUw?)49?D}H z8#K6VmRS8%qe#WGa_ z1#A$ot#HhIttI1J?5rtp9Nf`~MaQub7!m^gg+Bp7-5)xQ z9|J+75S-x1?IJD0_Y@XG8z-+8VZ z^=~if0{XN4o%yNIDIaIvnw~MQob_VHDbH{G#yq4?1p`WCj(MKuCOm_C#m0xlzQaME zFVbXcW?eLitlpmHtScAMS5Aa}@Xm4YFnC1$(0Ek?-Y*fWy~Ng2l8ICZi%I?rp0P*& zgN>DuB0H%cWK5abI!t5Kn|TBgLv%f|%^HzKj6ArtwiJ%F_vtndXhl zoDdJmvO@apSc1=?2H0VusW=sMD3GwKtOIa~c^TMUthC%rbLZ5#cg~P^835C_o=3!b z1wh26GOF#?rge>QkQx~x5gE%~8aGbGs&*)$rgf}v$f{(+^07oKh=hA?7h1BQeiYit zS;G0Pf@26bWvju6jU5`bArdt7Ug)KcQFnSnfKli6jl2Y@;oGqWwxVI|I4XVo7K};i zjWwkkesH8FR0n0P46U-RG(?ZhQ)k1aK-<-0eMb9Wcn93>B=c4-Z_@-L?I&{8S5u^F7>h*jNd-0*l6@ z+Qaa`U=A0nQXRN!HZ6VlXEn=)9a^;^`jJ^#97tT{9GTnSNTaSTtRu)tLqSn zbz5x;>!KEVtawzJQIhS^?2&Mzj$w--_(bh^uexs~)J|Mlx~;lyKOLAv!v#egk`^eF zt0kh{SxxFo@@ZGm% zWyf;EZC_0@+jWLV_c&WV3JHsBT^AII_gHonRhC5IMjsV@HIQR>YQ%! zn;ZlrA29kJeosTwpZka{j@oyY$(K||RB z$mE;%QvV)H=M>|rk~Lgw0faHvwSkT*MVk?b=V>hgFa;7-hFF7hlt^qXPQcOTHnbJN zHmtd~J8lD}=Lz!2@bcMs{#c0;d8`b7fE_dRnYj%;)S6ruWGs?nqtEX0PIy^RYw;l}Ya*ua#s#*-RktZ- zN^Z8ixX0M$PrA}Ri=kx`=JO43^t;{Qv0Mq>+fhr*mS~4#tgwcr{ZXV=>o`pk=4z#( zwh}F4ITLkz8(qo@Wq9TpyJ5~RBKPlhwFw#Tx0FqTzE6z_G!gGMv7Bby%hw{BW-Iej zO>WD=^fiOHOmK;5xU82=n&x5Jy9F`(Ullh<(cK{L%=C{gNx!kbL04`AGH zI(id~yev5$yR4WXnfnkEhU&x;{XTkY&|{WUJ;QpINN_RgvL^xQjZ4Y^>JeyEBumi=VeqN*tk8pfBAwhUEI8_+t$Dh)bQc`y^9vENYOX%EQLyw(b|+I zrLfouu+SRzCF%ul?;>eKT#;)c3pytV;-j=boLzpL)(%oyVXLK9^S+`N!5l*K}*{oasvP5?Gn^PuTDj z!I*MI0Zf!jS+acQuwa^x252$YW$t}_!ANe$EpEG06@1V&JOiq+YrEk(jhuc~z9i@B z*`^KZc4~0;)IxC|$6F*b-JfngMY7;c6*%&`|C<3{k)g!V$jLptgO}Aaj$>A~$ii!u zXOmf`uu;lO@ZPkmykUO>D_Yh0uTvg+r}3d`zOqKWF|+y{DnK8o96WPb|9o8EK+WQ7<50ifU~ydahE0-)J3HATJ8hRYbzk*>FwrOZjw!G<=2Qd zI|rD$q-Qd)rE3~^VVT@N9`7kavNCZnc(O;5h05OZ_YQzo?}Lz@ z-HlaeOsMG%C;88g0pgK7SU9?$@z-*2uDTaAEI6c3DxT~rWDIGUjw8lKdh@r2>2IP? zE_(4+HStmxUWy|PeqWd3(E{v-7VqcN7zcn zZw*O2E82OE-XRq3GS|?!u|Wlf#i_3>9heIUBc(35-3Xe>R-jk;^R zis=^36q>r;aPk-Rkz^MMck#X-I~W)uu)(xIqIK?5o58!N98A%*8w9LXcPGB1*plL8 z945TSs61%7=~lq4nupm!-@wR>Yu;xdh(8+a8aa#is8(AUV2csaV7rTm9RyD&JPHYe z*52akgKV5Fi@R&H1z>ka^?VoOQn#b`OpA`d%}(oY+%{dv9~|v#x)-gqv8uT2w_ujR zmD~f5Jl+`?)z1c{V!Pj>x|%L3FZ6!4Oc|sTGW}>MVb0e;0UD^4uB;D_jlP``J zA4Y+-BFShMUJ2@zy)F}I_}4WN3`QcdGet=X`0}z7av;mn$1o;Z%y-)wHz!%LeoLE# zt;ue+1;JqOu5vmP$aPy+6SleSN>a=g+alC>P%PLOtQ^p3nWV~x_~xn`X6xa?j(f3H zm3Mu&6v}}K$I0yD)*!W|em^dHtzjv-`!KbX3vo%_r-iW_tVtl4S%h!-E|+5RIxrvS zBy1J$_fA*Fmq&yneZ=c+q}Y1Jyt!HF`>7TG>%40KzK+%~&G)G21chPc9Ba{hKM?yH zdtSfC6i~QW;cwwi2J8wqQaF1>9BAsL`%dX69Y`^k+=dn~PwZXSqgcx9a^PpXxGeS! z4CM}IP{-;uXrbugy^KC3}v@II9WQXd-8O(dvWf}r0iI?e> zv2>m_>mzM{d)1C-AOQ`tikrOE83EknOE@Y8cgmrm*a=pH_es|2hKb3&n8TqDx9Shz!>Y&@)Ot(H@0?Kc-P z;iB(BXn@7>C^mwnK=*`4*9b#@_erfWkS_K9ug{cNWsfh;t6fcKVRST0eK)lxq|Ts|vS=}JSh%6HGWCOGNNge8<(bxy zHyn7BuF_){c}E*%A!Hc;vMTuayg1u#f5XgcNfz%3o8#H{dw=hU+rmK&nQl%yi55t- z2Okz;N}%t&BjUh#`!?^g4VM}*k^9RYpy9h#40lE4ed6EMJbH1xSUm3}hG`RE25Y&Y zbwKQAuNDSuk$vPPXBsyaQ)`IV+D`Z$#JMW5r5;Yxam6KADKXPUe|T z8q%QN2)s1*g$`k?c136PdQB`OZ`W{|S{2SE-u9lBQ0U~-OYZgZLj+y2>YXBM3_i_k zmaUpwr`y}4w&%rxw%%{a`YR7>@6A=;RJXCL0inWm%& z_q(xzgnZ#f#ZIBc9Jqw=Ow7o5-sL_|%zuSdp4U56PnpPhm{?r@a-jCxcYdmtV%_l` zr!WYCoteXx;>%)U6+&m{U2@INwsxWPt7TDoFj|eR7s_qkjX7;o-N_bqIJ$O9Fhtls zeb}bz!o56Jy{h&A>2}iI{-i~k_M{&Xj{mU(w%NM*8ScY<-?n)nz_%?yNxkd^yul9; zPK5d7nOIy{eml2o9usd4++jz~d0CmcG%tU zoY>@JgU&2nVcIDhy~)yKegA7<`_zQKvTDR;r4WAH>?}2C0>a4U+XU;Rz1miwjl)D-ONwY+Wz8TK-qyQ9-u`gxTLF_CDuLV0B@;7^3 zsT2Gc_C_vwYiAt__}F}zEnCT7Jfln0dka&c&v3#zY>B{%Va^Q-@m;@(`ez%blE3eg zis`0Rr8TVA5ug_e>)3oV-B_&Xc@0$u%K1W6S{m&vSk8?YbXoLFnW1ESW zjl?|sY#dfE@G7s>=KLP)c{r9h4SZ`>4m@=XSnulPv6hFpn-|*hO_0ZN@Qz#Aj?C+V ze3CUkpIKL1j!xH#*DAuTTJUIFyAi-R7(N}3m82kj{k0zz)ELl|4MK!3rUO#3H z3S#oTp^d37yM+CGs*T;no9Ab@F_}W$E-aVbem(^1HhJD3PEH#? zxFQetu-;!u?-;yooRZQ z1|OX9`^|Kq6k!c^biA}deFt~oc0y0{+A}|U z@wj~ayAJeb`KJ{4rmnM>osHjF2x~ic_QrZWrrvidGin-dhC`z{NVo|;{$x>c`e)8zd0YFC;Fh#f797{A$6BdLHXSH(C$~g?3N?x{(If= z-S^rG`n>(Z-aPz1ysy=7rs+p^zq9|z&UU#B%b)o1KG=FcRNSv| z*_E*peJ6k7v>|ui+DmzC_GlbfS1xohd~W}iy&s~7n{&VIrc)QC^3PZqV<*qlr7O z+xriju9{?BAKTx7{{{KF@8AvbO>@`xKlizW)81e36WHxq$xh?+x`6}$3&(6PqCuG6;4m%XA1zQ5Kk>6+P zV&Dk;Le@tPBF=X9=i`2sQbi*UXu^3gtz4gnR(`(aHE*@8@3+2s5y>m&aBCiC%$slY zCHtjE&_3zet&u+ZPsvUqFNb79v+gvo2Kk;_cgsYX@$AoDWEX9Tw=bT!I_T?mBqIk~ zTNF%O=YDO{ZriL{{ADbHi4NI=6%tg_6h>b{aZPa;oe4xXL}K(N5!(=p)15|iLNrZ( z81W17(~(5vL}X7clTVWovk-YY8IcQ7dhdIGnGv}VK3zssLTvQqarx01Hw&AmpAoqb zKAlr!5geNf=F?!rFU0A-^!*e@=R)~(7|{!H)1UM1yGrmng-Fw#fzB+R=tBB*lO53@ z%nSMH7?BI{>CL_Q)W_f7r+Po>Kl+VNyZCueUKefXT+>E31tylGeKUqNF$c5u_n)7! zWBc9jd0@7mQX%_WDl?})>fDa1@_zKuyaBEWCwII9($Bebla|Jwgg);P+>aIrNbT}w z5kD{cJ&WL~L3O8Uu{87KcrBg&VT=FC{~8+HTO*^#|N9I5OTN;LzuRnYF1{v4|2+QM z7g%uM?u&|%qZ*c75*N-*f$9 zau?Cvl!qwW`f%%&T2KXY>cXZVz%zukAgrUxL=BC0EgtEpm4vwXcp*||FdUN|Va8qs zxe)2?>j_d3Leh8F>ybDGrSo7W#>Q*`0_&xKJ^KgVLb(aW+T8COSH;$27P>Jq`Np)% zi!f3HC?X-nG?I4d8|HS|XNUBL!kAJgF{@~adTMRa0c+Hra2Ve!3|{r#cJfCDEmlrc zs3a>a66)!21rSUinZ*^Xdm58qwP8X*YQ-I&#rY6>G<8FXV^rOMI3+k`quc(^Yw6a3 zp%6T~Q(sbI5<9peW3)G!(bZa`652S>rwLdPJSKiD6eq$kC`U>6w|H^Uz5!vu01AXt z-`9LsD!vg+;0)xG#)ph`=>&5COaaYvcA539fd!J~V%AuSn8z zyhaMCVHQlJzyh|SslRGF?m&N6?S`B?U>;5hwd4`)5z5D$QW~MMJhE2ndhSv>=y!bmd4lpie2OzgdQA+@Lvu^HtdtmS z8AkfrBzQ&`kp&D1PbU}}=_mx_62$_5D1l#kEKPQFEs2gGNSH^b7j75s+$Pg4UmfiW zFm6C0G-Plla{`T_+8UPxnMw(yrsPAQV`nBoVjUU@H1IL3G{VO<5L;bGz}Da;m(VBu z<-)(W7=5vKsD_53un>7?0a})PVyC1N|1L)T2zs~1+<>cX#K?s}7z5gj03n@s#h0Qz zi%5d_ft=b7Az|i{3oJ3aEluMkr~=arfIXB0zy|GxmJp}N%xmSHTuTjbVWPs8<)FrT z^}KW-Ps9G*MmCE>JiKfi*lA(83xtS%rTSqR0x2lsX^CKj34w%5yhZv$YoQw4MVmyy zje!%uMM-KQs)q(m0(hmd`NS=#%7I86lp_KVD(-$I@$O`?#4*qn?i3IdB2h|1JeNS^ z=YVt}y@Pr|R2uCilyC#hB$nzpQa`7m#40$(VU3|$L7)y`z5yr)A<+Thas=fK>AzSc zCrS#u$^f8~b_ei*adCrSr3}-*u)r$Gmd@y)6brKpvJ7k?Cei6E{ZlW>sk^30^EfxM zsp?k`H7aj)g}&VjFn53xfzV?@0MgV1A*JAcVPTG^7wsHj*qG4xIq4sLoM#is5~!hJ z+cnaKPDzO;fl0{c^_|x*?IMOy5iCsqxiQaF^>Dx zxL4ey++0wgCq3ACo^r&cw>$MSkwGjH!3N5;KtR{E8Y(f$XB+}}II7)7A{NFg*F|3t z$VmV|SH=y%oGQ#Hrh~WeiDC4Gr!dfgH9Sjg& zD5&j&;FqapY7TzU5nZHCTQ5ugq9CXifJjs9L=M4(-vhL+Qm)cm)04FoW~+aRacRkhz(`hAbN^g^npb6GXF;sEN7a9%;5DQe82G=7}TzIvxu$0^5jk9zle-;!k9E!0+isT zSOC0cd1J#$!<69&0&C`qg&4~@e z-$esR*Otp5N9$0HwB~_|NB{_9q!cYw5aY9)qnuJg(0$?@M4PNOa7v__j|5OdBx33= zgbe9gJdj$#qfOOb&xp=hg_9sEWKJZk1{hk}eol&_#qi=-G5{r%1UynxtpPwr63Th7 zQsN`lio{}TAjaG9G;~sp#mc3$jygSOFk=y%5U?4oaM;=eB!(Ho$J7ImhcA@QyZ;mh zUNsdqwI>N;P}1fxjtMmZMWbMTTGfRFV9zZA;}JOVY@8pgakudg@-!_ENqT*G?+jb2 zd)sW$LTDOwwv0h2g`yIVa$FftNkoUBvNBjWTaXhAsK2aX0j{EgV62oWoWv;)u+%5T z(i{EN;+2V3obOy57EbIms68_~==b6W=Gq8Pas4wyWiWlDteQlrszAe7ZB-l$Kok_> zVJ8HT?-_$pTCX{r=9umw$uNMU2jYW)UUMjCYbsHOO98wl1?Q*iEz)5W`Qy-7iUg$c zYY)OsuLV#zpal!`S3O8(qFFbN02W+=sJ>!@NVR}k4Z%2RP>vJ`2+Sr%*B&3WufMeZMtj=&`>_Ve`@C0{D+z!AjAjFA zB0T^g!gK|bB@o<&TgsqR+Jfo{L0w6y6nH2dU{C|%0XbeF6)+)X;mHoXDyAThTEapQ z34;X?0|o^E;EZx5kmpMcM~xH-oM6!gx}T%qQ2;|-D6zs?91$_*%5xpXcuqiEdZfxG z#K>^rWTy~7QW`h_5u!%iBcQ}l1!XO-#w=MlHKC7_c-ZKS;Q_`gIfe_tvCyh4SV54t zrKLJ3H1G0BZOviUY_2^KAhZM#Jm6cy@av-_OxJ9~KM^g<%L-5-DHDml%EN;(S6y+X z08^>7>{Kr$>w#nFf(J$z^JStj34b+v5K{dH=W^C48Dt{Q2b>BOff0mEss1u2Dh`w= zsKa0_gv$Glu~4H3bN~f+5o$=(RC6hD3B;CMDX0!okd$lerRv@lA~gNXWE4bXxS?YR zgiNWl%z3NZop@k(+Ix-lAF+pl1(kEG${hw+kv3=r*Tf4To*^T8@~K1zB=uryKc1)PGRiE56th+l2LNpHs^ zc+z7=(ffNR2b||WX)I=AInpBjwfzyk?;1m1!-u~*bb~X@aGqWq78G-+VP7kdt^9F^ zi_E-62e9z3|(u z&qNCkytv0I9#x?0H(DwahVVv9BMPdRJFNz&@o-=wc1FXAP(c}|(gV{q^x(ws2Pjgl zG@7#(blAYK1bDQP0)#iziC?gx+W#T#cR~yb=2eDhcnwGk0#NE6Ak<&=V+C_xx0{oT z1%=@%bPtU?3eR?)kFnlbsiqkqpG%3hMus@kBiQdT9vO%hItR2+oRU-kcR;OsB1BzxG*uYJ3j(cG0%Vy*glp5^ z0hVk|5%sAJ&QXY$;nV;{v4oUnjVRnj7)^yvE3n=rufE4}B_IM+MH9%ID6w!a&O}7? zkRlL_lWBprPR*Ca7S9-Mn1ANAW{@eqvh+zjNdPo<09z4-wPxp;z!Ewq)a$L3iEyS! z5ze#c%VMzlPeG5I)&c8FA==?I!gv|xSixkL=7_J*qi&iJ1~WHyk3Z6kF}PcHYS#uhFA# z-^m4Q=gvGg=Yz-f=*qH1JL?*SUiYjDv#98DYzCgy+wD5xLZZxMkm9x4>+j0 zRgOSW9U=;bMUYMq7DJSQ(c+7jCicvw=xpZ7-1Gk5YYt!QFXqZ%*AQw8m)455Fj^}b7MhLR4|;;p#USg$jWK)MhVNX07$rz2t`Z+uJS{xz?Hifzjy`F z2zs~1-+%~N@FCVGTi_9-?XQrDfQS1Y&`WqQa&@;9(5Tl!GLW(t&v%2cDiJB8LQIzg zQE6!*g<9d#J}V8eRm)jFuF;fRjM8DmLxr_`SQQ7I8bKr5NWT z5usV22lSoC^^GH}rRzn1G5@~V`nEv+6WYiOhI_LgOY?}ecYo0#LAk}lx<5bk%=vZV z4xwNz7Z9ni(mI`y3yi=P0Cf=JuAo=WTeC;(d7wS$Lw11mL@6nk5wFmgAe>r5t&#yJ zHq_;TUo3%sq36{O0-^qJnQRw;;*kbIDN-nc0?@{RhhCuH=y^Rt0&7pO(o-ox5oJnN zQaUQ#ZSxR8zwJlZJkX)_ND3*eLEI^^s&N27saFUJP{w5m_G`euLXYT~k3opUaSE6c zlp=%rTPUNM?tPc=C3ZTrVc!FNLC@d+&7=}wl!9~PVos4~Y9Ox7XRTf;HsjWsiTw}s z2R(kjb+SQ#mX>9N=n*CwYPHpU3JC(7p|P}c{eI5_!$Y3!-QgmML;io;k(c3+no|I` zHOCYIkVbRuNvPye)*EY&BcKb#IFQsBft*oQ2du?;RNNPI$6z5sd?{77oUZSV_|$N<<_8SC9=%(IDb51-J$iJ%G|8ObVb> zaUjPYr!0;lPRNRGfS5$Qu5vo+!3JqHzGy?a0F)^tG10jq2JIf}Oj%!&Bowp=jM*XK zB_-iTx;Zq;A@(6)LyFCqDNSKQ=AHqVg{TlL4E8bub3$5#@G&v6JL8566knK)c;Q>Nu+*5;AQCJXV!snh zS3u|x(m>FVg(!^gfOE%|4#H#mmY^?03Jdi#r5t`?2P6mx?nkI#VF@Br`icna);giC zg^EKcb#Q^)5^wU%T8{&^_loPJ+7p}93O&V3$DX|m`cOz+oDnZf84~>cO)po%*EcV~ z-hrWN43H>E75=IMLNat!bdbOy_F2Hk502Uq4+-2?Pr$VSA_|6F0R>n9vgho8o){fy z9QtOM4)e5@Tva!z_Q@IiH?8!-x=p%dcf^I0!}Jh5gTK6f7E>ug$9L_320|5NdVy76 z0?|ST1%^TsRn%ivxGG3kH{n3uNN=V44=D_VCK9T=$}t!M1A{-+BwXsNhAEH;jwqUl zAW&G$#0Hcm9m7gtAX>mIz$-5XOF|o$?f*X&MVn0O7Y}Rl+_k6_b!)u)PGKNt1CGp= z?(-)c)HotIOe}V2X^}`d4AP`1r?HNExFT?FLY&Pcf+n&upfFO`1>jmC72aMTIf%4C z1BvKhXq5w=es@2tufyV=A49OR;LwPrMyXnmh8GB>^KmxBq7_U_L8f@Ln=gZy zRxJ_Fbkh_O9rRk{dd4}GFiHu{nNq?C0Q49kNb1+?^pF&$8v&H`VM;2GGNFnB0rOer zxtW-{QB2WLPrV*$lvE?G3iPlzI#mJzx`-u%LB)YYeZ7TXfuP8QD-zbi?>N{BC^17t zo5Y;^0Cpg+ut%0v?X}zs)3Y$#!jcv(^giehlLQ=`t&fsqx%kP(dfE`q{&Il++dJLyaxa@ z001IGU_*5PT7HVC?xrS$@EUK6_glaH&s)b^@^X-fU?!VPm<-))|DNx^9R6#}%Aa!P zd9&VJyJz$9o_yP1RPq!hc;}p*ykH9;QXZ&<2s4k(9m5pX1S^@yyHB`OM@U zjr`vCUh&=k@=jg(;8Wt|^KmjUIrA79Ie0yDz1R1^z{)LW{#@OE4tV(G9vC}6^iod_ zn>+H*GqXNE`}LZcckYQg%*{lGqRi1Dgb+?K00F!wAPCE+T6^h771*9U<+(RIu?s@o zfAascG{iGC<)e9XI?)H(p%-V&U&~gXF=c92B4#2wIyJ zWx?^|uy{rjOAS~%y|Kt4teGoCs<4w_BF=hI&-(E3vT|hRV&%l(ABPSfW@aWH4^|fw zb!I-^u%14>>&i{Mk9D#(R~=u=DFp`kn-)At=|PF9(Zb%esKtfW55mUG*M=~wC}16c zA*(*CRjrB)JQg4kP#`4UQ$wQFWQVdn+&L|;+gUw1O+6K76J-QRqv!u*{lQr0WP z@MH2ZjG5*9$g5duaS#9mRtZ)wfy1=vIfWG6uLkXUqH^9eSx$3MEl*>HDOmxttL>wr zP07&s?IW8Qv&HWA5gE{r^3Alg>y%Wt&B~Y7v8oZnt!Zx%u%^z`G!U>=qxlb~MB>-Z zf$p@bXv|k_BMx4o58jiRnLY!TTQifNE9Dlh z=JDO~Q4GZtUIA3%1b7|AHfXfCR@s5JE3#j!8x%Pdwm~lURwGjf-GuEK^%k9u+e&^2 zkHj|I`1cG2DjbO){h#Q}B*W$k2w3sRcWK+?wigLziw*%o-VG;?I9wBny zx)ImXO9(*pb((bAw6}^=czV1bu`vAjOiY+*eRW)JoC7Qd#a0`83l~;LVf`pwb-8G) zeTRM3S}l$sswW#$wo1Z9-H-yX*rp4k%(QnG9~TNIHY?12Q9xeNSJ7fSQblS~YkD}` zS=3_Z5aH^kVRwP;aSBR5v`8lyjVRd@FsUV>Dam_rVFkSps?E zhQ%~dc|!$9vs0w%M04$_OCyasy%uWBQbW$Y*#g7#(n0#{#3Z(6N?XP=Z7E`T!e(Nu zy^g}DpaNVFJ-J`HGleH7dTjEe{VEn~j3yF=UCLanrtomLmY|kF_kji=c0+!32Dzs3 z#<#3m&I7%54vf*av=g)m_Q4MrIOpD&JQRB8Rif&2_}VHWcw;--&AM#7VyP=GWKjP2 zg%`7n=;=f=E@};3+@{+BpX&8LLMw<9j&dfdZeycvw{bo*8c`a94Yy1zgN?4OO1+M! zVBI(c!wnc_mfJAWAkWWjIRVSat0`zxwwPO=o~LulaqHo&G*B3sxcE3Zf0;7_iH&jL zzowfbpv$xJ-F#_SYOJ%|D@W^65=kqhg}6JKw^s30ZL#7%c>Xb9Rdb+2a*K`rp!-tCY; z1QyZkt4g6?lb8(V*6>H>ZSE#=J5j7+e<$*p=+pUf-2GQIYFWCD)6E7G@vp#I^T0I} zwychbsICQYtg^A?6k(mIytrhn#<<84i;s~O15PAZH^;DZhdv7-9eREIonQ|N? zvzsbu+5^jZYbhx_+Y*%x$gGhy*mdf?Vc5{o@3mE&#?TRM>taHia^1S9aAI8wachfm8MJl<6MU>gT!rYv@W1)2n!RdBL&5I zHY7eG?^q7@4B1c)|Ocp>aA_cN}J*hPYJ+ob$60Axy zU6aP+2Z~k-7`AD=0pNRmI@Y(pE~V;XABULfs9F#fes&H797OV!6|xq_+Q7GBQBfwg za5|&pvUt`(;QmJ*%BFboP08VbgLO>yM3lME%j=_9=qu~PRyGfoC6gbWx8GzWBa^RS zZ0w@D^JQuMbUIVwPIA%DeuvwesW0l)-N)BJ*rDNaHgLp zrqeRhMv@y?=!EoIOy1Epv8>A7tJf;LaLJ0jC1{808JWC~$RQC81{JI-#Z;RyQ6V2} zz8m@5+56YO+uW4(c#U(J$}@|73XPAKS!)~fL0!=A%c@3kY$A(g1`e<$d$va!PVqXa zO~AKH)XBlv_&@nVzWBiura-(bM%wr3yP&ScM8(9fa;lh$L6PcLV6la*>l{sPABC3p5A+vZpoi$(~Hqx}?xGXxpYw#)KD$1L!vh3K7 zgNr@dSy<(%Hz_nSIPV*)g>Tu=+%*?C~RVuzXmoTs=M~0|djF7M&N?)HY}@Yh*1mJ&DOsHfF_uv`$aCDNtYZZR#in<0*LdKQU~hZ(+{4P#vBBPPQ;?}NG~5zxT$}Oa z`6zU`30OFoSy)+GkZAo%QdBOh$!obaB?--TDAV24 zplC+?)o8Z?rgjzM9%JDPidja8##ocD>T!{{sT6?GOiVP+G&BWrFmOIoFQEOMwx;ph zLaD6{q=ZF)vLClF{Nc!`uJfS4fpJlJ5VRDkONQlK66E+%DYxz5D!uL;reeODBuYJ& zXPN8y<}xc{rDlrWC4XDjk_AR$(Agp^f1-8x;+iLpv6sSpYKcD-9G9SWyOJIEFJ~P! zvTJrmNgz`)nZl=%Z)}>n2}goz0ndr*NQ(m6B-=?5V0cI&}|3&iidPrlsgnrk?WG9)4Asmf%2?!XCHS zEOy%#n-BWvp2K4B}j((~^Uj+}T-LXI#N#yv7}xDo1&e7<`jiwc=Uwrx*l# z3fCj$sd7riF+H=@`BoEnV@j2`?#k0B?rlbe%9EGw8g9&q8F_p1J9RTG16Lj!{Hh1eP4f)Z;#u1nbtL!vtp>!}axU z1z`dyF9L0KFt8MRa?vBEDnHgw9XCoa@1qJ?Kdr1;eN=o^*G+<`+S=#x?CKp;LlO@Z zmv8y`2pDG)8U~l}v?GkD}@)T5tIE1tA7*V8AE#0?Dj6F%|vmm$_ zcS))#jtc=vC+1{kU7wVsdK(uAbqC9pBZra2iQ>#n<*8gE=ap_<6O(Rl0Q?(ftH3+` zewFBeKj|ZjV<&2Qk%yemNu_r+-I4*wYV~-Kmbt4QL!}h+wA{<9uT}u80oNe(h{OI0Udx)E84<)dDMOjg*kwB?L*fcxrl@FROK-N=b5+pG@aW@yB?f!^?q zUCGrpbPR%GH>f9C(#e@azn36X^ytI{s3{TfE~^r3PVq#z5|Y$NhdHZDlX0D57{>(j z+b3OvpYBn;#cy4aBbHUCTUuhL;p(i4g6E2HcQr_XEh9Q_?8ezPAkw9ccWL{LX^dG# zmzmWGwq`PRULFo-5L|qgJzFZH<<|cqHQEBb=yd$F1=&>jHjPn=5R5yB78K_l7l`_w z?CR8l42()0jNv|{!QEvLg$EeL_IBR%{!)uS`69YYn+bx`eL?pS)o&KvC-T)2*~suq&g zM+h$YR>yjgd8tK6Iylm`ZJyLH5^q`9wZ3r;R&IRq zEJ6$V?R46fODa8Dbt33G-T1w@#*R`;&5Z+nYC3B)CHAr0K64g&spYAw{rr8j zAdMhMm%BGj0y4;~Dd z)erMFY*FDNXiidYGr0~@$ZLS1zk{Z#QQIaqDFjL-!j_K9SGrA{I4%kgm0l;nlkN<` zS>)7)oCCt<>$ZuP=+Md{GVT39oqDFD6jrfpLnFc#?0e|c+e^!?6<>IhhU=FUG_)X% z9`{4ZCb~)JN@oT|NH%IErM;Zgn2sEuz`l08yxP&p=%z+aub4IFE#Qu=NS3p!GYH*X z1hR_V3P!VF;74<=^qO%~LVG;SfiAC#WHJq`(!pJ^oWDRv36*AYcIrvGZY`rk#q+j8 zCOf2@j4p(Oj-SaruMiO+-M?+NM&2;{wTgKNAkKac4xu*k^0Odt$x9`ZE?LPABG9!j zqC9o2iY-gJ$3GB{FP1e<@i!9U^&!U{2GHhax{~z8w?lOeE?_@_aOQu;V?_m_seZ>D zdD|q;zu;E)FeCu&j`q5H(qT*EN*RfDs{ZBPzutgB*M{LK>}gA9?@Mqz_IoM|Ynm*e zH%0|KWDj{nPf^|7MM9cbcM&Ls9D|O46HzRSt;~2wsU~RK=<85G=h##06K2`)F3e9N zSue08DX){gez%}eLt(HHyD~iiqXPHv5^KDOdQepFbd&+C^+HSR2=F{H{jWs&$z9%L zDzS_CK0bNY$;ab^)AdnX<7-wJ)X18SvgV<8kdH#L~Lt1;r z@??>=Ra4EHPYY>j^Z;`5XCXgdcPvCyZ+ai4$xHMiXT_uH6CWw_2&vl?Vc2!nsTIV+ zx>a-3YziGmFzG6aaJ;uTsvSifrci;~>7`6n+l2(%_4Lm-dcp)l9tSzyqrHYDJ4-k{ zhD3$bHv8%Zrf1;1VNP?G4b zQ+V5}8SCx!K1e5$y#xS`99h-JN*V`s&5!x&O+BW>4AqwAZOO6KD+r;qBcc3!L!_e> zzwYi2n731uoo`#DP#mca1!40dc8>$|z# zz9j*YVzRhd-WqzCVoF`y&%ra*sCN^KE$cT;V(w$@xa!)1Kh}AR;Lp&=!%&D%W{!pW zE){X(_1TC2!}h`)FYUl!igFxuM;uOnpt2nv;O~zYFzM_)>-bhLaqJB@7_{@gD=Wiq zjs9KMYrJQ^x}UU6!OUdC;&*$}IgEGLQt^&(S8^NYNlIp!n*oi2A{1LX-UT;Y1NiHn z9`J&q@3_24)SJ_cN%^hZ8IM}J&@79A~uN`f)ucq#<1!no2K64YjUS6o1)D_f(B zc~N*ywR)v&K;Wo&v-r!Yb~+)RBwx0*&YeZwibpfM-ZFA;4fA7=KJhAw9=D5;Dp^&FIeHm#HvZ<)+3iW|Z1J?trdZ5=+RE+hhJ*%H$} zT;2q$^#J+Yp=)%(iR`T$`{7$ruaJC$)AiHY481VcIoOnPTKk>cS}bUN;>Z3bowt z|IFX+001bZvt=XMTQx)D(dlTOJS_T7cDWJvTc@hp$@adz_}$7oeFbKE3kjA^vg_d% zp0DMqzT@(Epv!kHru3Gc*G={$BBQ-tldIb}I=)b^<=>xT(pDsIJ7kPj`tR^%ce3H? zHYi9AH}0$VS~vR!w~D@iW&Fzto~6zsc7gRzxKav*!Y%jydiVTnujt*2_e*gWjD4A8uyw#L`o zihkasqAVLhkGoHg`t}d|4w~OwPkc-?zCX+p3YW>{&Utc6G3Vd9lb5OK+j(VE6lz-z zJbn?7$st*mT2Y)m2nhcoyaVqe#3-@ER|M zBO-l_ZkxcB9vR<{0hf{`;aJ}6L40goXq^m#k6WE#*T%A6mOCjN zD~ZP+gA83lVlzX&a$JPj6mMTwcJ^CSoX*0~YQvK*b}$IKMu?iiNv=)pS50qv(rLd# zD_M8m%HtA8&8AW!JSO7y$g7d~v+kqOCEw$9gKC?#J<~FU`|>=kw-(Pk1u1jE)kJDV zX~CU}4&>7tG7J}8%`U5;+SimL|8Kb*HtOTj|$8`E#$qLBrXRAGZA^H-)iXEH5 zo~wE?RqxFfxDoKvV*G9%>UF}^t4n>#tYI4=tDLT(r0JEpS=7S{7K7g5E^Y`|eDK5V&5~6CTG0cefC8 zRY&_e`*h&a_M3TQGWw1F-?R2)f<8PrlR4?6eC%b`^s{k%M?Cb&TyU5ul2VmqIB@Ar z6048La=+G+^O-hJDF8A?j(OF|fx8!iW}VzC?1j7195?!-?dfEJMHbN2cBy%eP+ZQ> zR#-;0W|q!)Pq|yez-Eoz{qACuWHYM=4>AkG*u;s)!s5nm;@Nc{Kll3+r4Pdm{&VAh zGgt@7|LOTlG_1(!8r(E^#{Vu?e>(!{n5Rv@AK;DZJ>p@bH_ew*{I5Tgjl-t<1eMi2Sk z*k4vC9@jXAh_EQwIJh{D9H@Ig{`y~p9WUU(&By-z+tHlPeLtipTzqRQ-}~Nq&uHeh z`+DU>R{fd8700`JoSr|2g=ZzdL_s zTjsa_$NJ=&GwyFWyA%@s=s$qm&CwLT>a$D6Y5n-S;5zTM6^eZN!n`@Z9LhI=ce?bM zX-DVsH}1dVS)HqWSjZjX%P9Dlrj)Zc{>X#y!QXp|#qu>I`y^Jn&*V>=w$9D^_d5OV zJ%tD6%YCk=&-`!h{V}~~Ui*I)pFx;HZ-;QGVmUhH|NF!%=)Bso1Ba1E^frCgFAHJB@R!$q6ntQ( z59o3E_Ibk4?f&KQJr7%NYrXQ^9%}F2U;xqjo}Q+^XR71+jtqoqg(rF&zkT|*9cRC* zF>h75LT4X83cJaNGgYoW$DM8ioK?g69pz+mQ)bXZZ`qxP>fGwQ&g=EmnOFJ#fH_p+ zouTsG+&n#e?yWG_MdlE>^PXLPflv5?_VRTUECSpG*FV3XIg5P}`KVPtIYqYN?9|8n zERgY8b3p{lgX`se=$rZen9B^pRqWfJWp zbL&haJDyLSrO)L#J6~6`i+(~`Xg~OBf_d2{864o)(2pVZ+jrY7H#1g!J_8G2qDc01 zg*25k1?h`uE@=+Z8PH_XB&0W>*`!%XcRYtQ%N(O_q;Cx znogQacQl}kw3qh1&2{K>6R(TRQZ(`z*9p;Zfr#Z%-+^I%&CCS>W5oacJ_pA9mlZ<41v0<-pU$1A zs=%lJ%{PeVfwOXaeAW$ve$AVlxC6T&_{5LgJi7%PQcuo)#^(2OPaU{gK&z=fQZ_%2 z=UD2HzMY?gf6#&O!2f6dAKz`qK?fr)CzSEYVKNvnvt{PO%t@mB?2Gbk(5>yO;&;fb zBY&{_V~;KpPUo zYQ)Be%MESp^7{s)WxsMuj*pHbbIL;})D`!#{I_4~#sv7Qy~0_EBua>8T2=Kf5Xvc= zB6dG8K4LtJm*YY{)diY+-J$>9^4TaEwOx>5{;JV0YlK!bwJg`O(l zSxrV^q51KC88O|@wV}74n-$D~n8POmHD_87sU#TFg(&sz1gj6-Rj_U1*u|3O3`Q9( zg$Uz$N5;UoFI+u+Y#8M!#rx>~X_bfpe5Q=+Yi1kByN=uYYX% zFH4$!<^%2aUZlhx)k_o%IWW~S>IV!>sg@GQO*+t4u?yE>A$AOnP9y5428)u8zA%AH zK?Q+yFg`ipHr68hj30!O915j~6EOEki)Bo%G{jN}KtAZ{&`rN>dIcdNf@_fQWCG(w z0VouXV~nx^!rWOz9d1jIewF4(MDd2_xI_yxbN+Ok7?3m)uKu8EKj;hfzxF`B2Uub-YElbcEMd`+b8Xpj|(^F#AcKvHSim9Mzf&zlQTF@q|DI&@{e<@2LTsbtyh|} zusHS!qfsABx@+O?Wj_vUFXR5~glNv2P>|rXw*$_U9w3b88SPYR1O0RV6>!d@p>r>( zr)W%e!BdN2q(oUo00bd01X1c83i*6Dnes1tAC1$l{mewYspvUHSxG8`u&7{nm7h#eb;`?< zgn(PE@jZvm{YF|)AJsgrQRqNE=1U1Oi$oG2K-U~2>!@l=Zc)a>43KahHRWtf~&?B zT4|M@QY5lTqL7;Vo)t_O#--69qj8jB@mI@18ak*s2?ed8x=ATsBDmsU|4im?p<1zA(ZnK?zRvKF2z$qU3bHe@u>ktWHMH6y0l`F#mr@LKOa0cT#UtsECZX-f>5> zSW1_;1v3Jz3KXzA?9;#u0mK;vvn3_BM}^B`jmS(G56EJCqQfx8clG}v04XH%3ol*m*3=3of1pLs3=1kaq{H|uS6 z4UraUKM3VK;4jW0^$$t6k5lL(7>FqWpHin?jt5`_9dh6Umvw!zpj)EHoUwe|ux$7p z?m(U7%vFZLv@iA!E{-fC8!8{a6L;u;J~^dH4e~fbjtyGKtUMV(iMoUP{hTHnF)vX-fnu*A19n{swCS*RjSCd^c)iUAgSN#N&zL&63BnTj*XPno;WL?^Y#8&y7sC^9p^67 ze|I|1`36?uJ=`%E0z04*(&!}CD2Q`2Rsjq8do5kph9y!16~js+q*v05ILJc@f}%oo zh8yU_6I_YJk0^HkY9-!GkAz@IVm;MHO*4(?NmJRu(DOJU$gCVb9@Rw&=2D>=tc^c% z0V#xD@H8`SJ?r`MQt*UP6_g5`8=PSo?D2|9BP8Z<&&eo|)f|PV3sc8N7s;ZUF13B6lCG$k;DUE`SnVAQ`V@WCF8fG*FP&q{vEV!6Q;786Wqy&hr>!;W<5X%bZCz^-8b z*O?!b^}8bjW)=`IWpV;OTT%%=Vnl}N7O_u;<=J+kH`E&tNTer=o|xqt1cbC{>xIWj zlmnZRsXFH4&B_br<;KEltPsv=H>ZfS9yv4*1%pu#T7qC}2>zq^$bnaCp^;}E3(ip$ zwFHR5;xRGaqsB)bNEx9P3~_+!y0`imHE@Ecywyn&c0!v5aZ&Vb)Q1uP20zZ1Gu7sD z^OMJ^Yyffq7BtO9^?*xjv8iuRDP25%;5>QStUI@uU^%5>smd5ikRit~!{yr27Zh>c z5TnNfawVLAsKh`W#Av19jHWzRd*j)MU_7*LT*=rGqX58ywl+~Hh`Mg|_C&$X5Ua;n zadnsV26`lGA?F&-P=F*-iSQ_~z~)RRH~yms*K51LZ8NJU02H*i2Gknlo})YhISsLa zkNVlMU`X52TGUCG5SrB_WN~RlLVpZ3SHL|Qg5s;<#1K+70AeFzo;eL=zyu9eYrJy$ zc|q=6oM3AT!rU%&;E5N4RY;LMb5qNc zN@lFVLkUJ`E|b=oD4pn7+19%uqGKUAg^2QEL-&fnHSTtXvIXcn&{5BIT0jgyVH{ID zPY(Io8oZPeqnwPo@Yw}9>VVd4um(XAyGgHu0DcRbw1DaW7}eMyR=wLuSl~SG3G^*6 z7KC%Ez z+I{Q7(FuSyOcxFXhZGK9JbT9)jaW~OoDCtRiHH)LIvxN(=qzk1L701lHKF9GES#db za4SM_QmCXxf_d>Q8!MUg%n5|v8fdXfteHp)JF;Z zFb)!QTLh{$7AMR03y_akav_3BqJ2eJN;*}S|mhBkWQPtQqqdXHGg}d0*GfpM|Fh{+sV9< zpl$q!g=sVcU?sOl6(i9bDkoSP!PSzGxVum=jI;u-HHJVjU;~M@&I64mzX@;Vh+{!) zV^l63pn~5U8Z&e!)V24(8X?Z0a}qSuJ~l)SB@|VjCN4BaSb@_K#PwXox?qq>16!~X z3oKHc3jt&YDx#fp0+1S8>=Vuf4#F3gnY<@=>5%l-XEEq%V)h=3k&Xx;QdWjwva}^c zdQar%dygQC1i5&8n2d~`S;M*V_K(X^{l0wr#&`LFLPazH8`wfn(1Om)u(umH+w94| zP$V!hQ{kb435nz(j8+Ei0)bO|=|W2OncNx!ZM=Al8p+GW$4lL%;d9Q(e0s-xO)}rZ zc|Kcmxm@){8Th_7JsI>|!`SM*a-#%LSWvl~Yi~X0h5}q5nX&cG`T=tqjYJre1_|N) znB)fD)!W<|@Jpb64ZzJ5@j*bU78nAZ1$(gmnobpj#6!vOkaQuMLy0$_KyD{#d;-Ub z!8yWg9GfW{{!1e#Gpg4x=y(k=0S)t3P2R`=|X0b)GdZ}sS86pW5IJsCEft3_%9`DTNe)sf^S@y4KXc%W~3M(v6Y*^wbTISrR&m(o3l1!}Clp(stXC--@b| z3?dCOp2%^JZL|SciFa7!7!V{jj@G^_Lv;?XEg(HW7Ns4ITJu|H{KX_b&`drjH-Msx zfe+NY3L;NZ8(t|1k!Gz{_}bnAq2ikCwEQGoEtU?h@T!Fe2@p%` z)0`?mSQwHUOD&3mw``8465Cu9eFEhrit`DefWVvvNSWtg%UA-N0=63!Sa$s}y0lz* zFe1#p@5Sl}K2+1L>F{|awM3-|Ycb><*7isbm_s0}VGwIg0C)s;)hVN4M8cWMQ#2Do zr)mnQ3#heo;Q&v$Pn@~9bSj53mWqrY62*5G!0n{a5{?&B2<>7Pmeu~_Ii^oT(#}v{ z;fLMFfCB>*3Vylm>{|Sk5bNEYqnrVf^X#Y;3aq8rVk4mw7eT+hchv#w7_w%#7BX#- z#GwoTLKq;hNHEGlGcgmvpf_IRh(-&nuCp`2rmEkBy2IL<7~%)>M?buw=qz@4NPJnq zY>9*94tVEjnnhlr%f8tp=7_lo=5>~L4&X|mIQDzf{dAO}P@!zJo8C_ijM^Dg>PfLe zaEt(W1tFZ;xX1=J{Cz5Rq~3UZ#r50)q=X9kq$)}lZEkPlEdW6~BRAMUH&cwC6`NWD z+szG*3oIlW4MoRVYc2{Z##SKYHndN_K`$eD?cFbkl16GmI%DrSKYdCDCx9}QAOl6+ zLx?)~|9ukRdGPndEcMJo8}=-+_(_!#F@BQe5c_e-nxT5lnc-3rK(ezJh?#w?c^k6cTCEAGRk$ zyy-cWPF{~=ftgqooc@T)Uf-DqJB~SW;z6ksl~>-Y20uCff7Y+n65)ug^hCf&P{x^z z6<-Nn3XPdv3jkv@r#jAKh(k3BVGT1&=C@eWtiVmrQUCg2?%z$y)N|OQstjE)_h`k2 zh|io_5C-J1f={S}1`W|~iX?%~B+{_0z#w1^T#x0b@CS9vU?16A&LUH5Z?8_m*~VwSL{HnLF1xyKNHb^{>?!51LJ z4cIX~L@A4EOo9=SLLf(CL_PzW0*mHzb)4P>3rZnMUm^9XIlnFN69lEmK{~J)F9#B# z49p-OgzZ_u0akKr#aA4Rf!*mReSG?w zl$vRb(+Nlj4O$*}qA(481*|qXC}AYGT&y4o724M@j3as{s<+jVJv$B{KqQ;Fq*1mErdIXcUVEV#Qi)}ailb3Vt^8;m{K4*MKZegf(8`o zOX0wYs;Sm$4>C-Gx+H>QhE>RmDBgGrWB|F)*3_F5f%JMOy#b+MV$p9Na5Q8JMq&&~k%$Vclg*ldkl7rjDJ!ZvEfyl^(bT2G~^q3R|XZJ!U`jtgNkU{r*!pi~15#!AOhoaBgSGS-TquN!aV zhmmq4hm9-v>boFV^&(BS!fdgPK7S6xN~R=6GEivO|4axpzQs*G1|BYRUl4Iv^teLe)~_v3)`_POXoJ!a0QH9Of_-B?fC5#M*W!c7Z|4WR02Y zhrLw;uS7vL$5IGMUO@Vs@yJ_`J!nW+NN3=i9pT^dNqMU*h9E3PkijYFBi-4LY5P<~ zzv(CUpi}|ZKc|6=XHG<^l#W{^1a<+Nv>f0ul5(n;YX9$s?Zm;$tlqFO))LPYiiIc< z>NsJ?RI9wB&mte=G?GO_E)U1*q>uX-$?;HjR7_WzS zNJJMCNpecaHQMxL5*w%*(=rVVtS==%)|DYc4F#SIm`r&QCwr+;bittJLD~fLLV(8P zJQOHjruTI31SkV&(b*TO@~~EL4y5!1F(^k7>5J!MrNjiDv52`|_Oj>Z(5NjQ0GUEI z&4`LHC7uYnF)mV?sXcDXX!Dy~8_v@v9Rd;@!Zjc$NT(Pm$k@n2O1Mom>pJ!9F%%;Z-S&_Q zFQt`nr43q-3W7H?9H1}|5CZ@O05W6*AOHYgWnR`ef}CW1pB5&*``m71xk^Q-JOwAW zEsXGV_oy5qraKh>{)DRr0ET9)hyVZD0&>3)pwY4^A6yKGz|UxRbQx$d6Wx0@I|to$ozWbeE4235i`G9JjROn%!zx-!EMMP2W{NbFP=s{@&do2kw|F*7APQ4FO&kxPZ14ppTD3%r@4tcL-tS?rG4F3A^+RHQbN-UI zQ(*odedWStVsK@q`8$_q_RQ!VnKV9WR5~DJI{=RCNH*0GtSP{b=z3a1Bhge!$J~qD zTjgy7550Ht#oJ*i3B(ZGdB>&X+d8!4nqk4mYd}0kx<0%2KW;SmcTiYT?OIRqC9-PeqRUxTJHuH1FtxR|GQ5==MEOT+h=wu2Tr`? zi|LG&Ce-zvXymQZfXYmDQG;qbZ;qbs8xP z(K_mfX{5gMj*Y})%pvYm@{a>-Nw%!8@{^tAzzB6)K`|XOvcM41)1ZgXq9czN39Bku z-qLC+&OesyEW<3th8s)}eTkvv77hZt!#KIEroj*^k*H)t4xQ?D0mRh9}pBV1O{BNjFFYioK8kqo(VT34W4MtIZM?3 zrhWgG3L_xQHc<(yLITW2#b(9k$Qva*WM|Zt2fo8`@$j#EXf}<8L9#EIGIZrUP2`58 zBqyze30@mU1#;k6&I;E67!W3bn}ob+hQ7cJhL~A6#2c!DbU5h_TN6nD#|Xj14Bx|7 z)Ix#5#0P_M;CcA@T*$hMHQ~qv`+9I^sB1$WD#67iGGkZ^T+RdIXn)nJ9itP&>~tup zV@L>t9_IzEFzisUve3A@n{V--XfPD{@zZQviL!Ml!Xb^{Yo!UIMk;M-APcgDefk`)Fg{^e=a&ZeO|U%#7udw)4_51cr9FH_E5d#-O)_`F?YS_?ajBbHD?k|krZfH0w&xLU7SJ4fy6 z)lAUra0vJ$$ByrrR8wO9z|yRBmHvHZ0mp{M{WG^5$m|dFQ#dlqyC%Q(ACp`xAx0HU zl)iJuc%7H!D4&j+vHC&(K9%jA-hJeo9d^zK|Hj7dpR)JA)g2LxXSI8rGezKL&d9#g z)NvM`{n8ocrXoy<9Ao*cf7a`#{?+TP*W_Vk;LqjQt$mwzTGJJ^C(@lu!*NP-ty)NK zD?&F0pBH`Ap~`rNM2NW^V#8e1X^x?4HmOruB_Iujpw9P?=dMlRzGmdtLP$f@Kt-5B z%pc~N=+7}Ho^}LtWDf$zyKVpN3&<>)T0-Sy$TVX#@q%$xYrUvQW0=rg@B=3r9YHAT z4&O=lPO^3yrAWgmmC!m$Vj7tly=~;4T0*7>Iu~T8zU%8)oA(s+o*gCXmAST2JC;y9qY1YOW*}!Z$loBk1J;jV~V!K31MtJ8aBG zw8m>XSiSDu+27$?;NClC`@%14$||}Vu}KS@ejWK;+IlGFu?Cf`Z)+-iXBB;XWu?%m zM3w`~Hzlf_u>e-GC9VV2$9bU4W2O%86^)6ZxG;Hj+?KqqAJlB8D?Bq2*Id%sKhsb~ zVo@J~cnJvL+z~=j#&m|k)2E6D%ZEk~;aHp(-J0f`Bnqg-$URy$F>M zzKatGeQ`&N>&9w#%2;m8yB;9@s8YR&92u%Zge3LpECX!q+VphwVX|l;1Mu63S%QtJ z{1D3ImEv@8D#7;ukWjS_6*AGGfzY32Y88%9y^n}BVOjGeKbsapI+cbtO>QN}6|ZBo zL?r7;u+BR}w7R1CY^HK@+3rql53)Y-7nTJ;aIBb2jWmRltCgohbft*~h; zks|FpE-%^vT7K=F7t0L&ftS8!BoizDsx*4flXC-!d$Nfq-9k4+FmPgfY5xEm+& zYzvzyNVqj_jUJ&OF1rln3doN0U!LZ4)ZLzBqRjFH_h^ZV3_a}k-iv>WdxwLDyfEecI7yGyr_exRxky)SjyvFq8E@p1tFzm; zr6QQWeTKsRmyXSO-`EtpQHHm5!gl306{2@FB3q@kN>yL}+5ancIPaSyI>ln{33P^Q zf>ECp$>l;Juhguq5H%@7Zy`dYsXA&6?O9vat){3?R&RGN3)n^%$L?|7ZDL|>V|ctS zFpwsl@n!#?ca?CilDGrOPA1lXG#B>i&J93y2*Rkt#Z}*~K@60}y0s4yiCvTvmOxUq z8$@Z|dTD|aKHZk*M)6obJOdm3eK#P|jSS9*M>!m#bPHF{hfhve1L%n>jRgZ)PHITf zq`W?sgc4=Yn#dr+PD&x8@l#-KHzj)8K@&CSYL1ll%XzE+QQ>HNkApkpi(upSMzr(O z&FOSG^Y9i6Dk>F>y&Sc(O%5)#9CkqhZg18g5H^zsZz(#fcDvXr6cxFpzcOX#nNZx{ zI+rBE{xBo&?-Ah!b3?B>HYn4$8lx7S1SjeGn#1vEsf2luE}V-Z*(B= zu%f=!-H8u@y2{k)$Zq27HElVUMF&TXRZ6Yb*1%iR9Hc5|K?dI^ zxz4%eu6hDUi@+R1clNNoonyP#msq&%8#aYA?my7+b@};Ub|FP>as`}s+UA`c5vs|} z-1Zo5bgFd<&jb=oBtje4BUjFqXS1dOsEn=b)sd$RT|5f z#HG)yIE7nN3MND`QrTI=s@@JPw61MPQ%xI`4a|%v4A4+Dk^X6pRqU1B(lvA-t@Twb zr_kim3JC-0)6~j#eX~QVrG#80i)S05YiP?J^8%xU!cL2kRH3K-bWzEw)>W%6@|}}| zd2)Sl6;dCOkCoG^DT#o>m7Xwx;UArPQKYP$NXiA-lJ`xFkmRlz48qBp3ef=(U z4OK1LWJUAJF6o5jbfRXYTC!}JuKJJo?YPymnYyoh;4|o<)2R`R%6ystwYeU8%~JPY zT!U#F+Q?+Du1W=+P_#aEsK^Ss{u-&Qe_^%lvQkFz{?AG}Y999eWh}~G?yRaR5$xo} zkuSvRtxAgI9^J;NQlDe-aK7a}@}KcIcTQA?>ivQIZ7q(8uq3_bz1kJ}YC7^xxX+Z4 z!24Wn)SeLz<$D%p=iGr@hgR;RS5O8coeH@`=gC)?18hU9bAn?(&q&?Em~_2c z_ry&(hfT)?Q^8%|WUg|HKMR6ssQ|G$6BCQiw+;oKbEcYkOgF>3m4`Tn?y{C`HA#`f ziZv~R;5mm9(NeC!_G+TC<=4-0ihYt%NiF-9e|B|*jyvM-GbfN_t)N)Cun~>nYHm5L zhz)c>OAxwp-O^3#NftZ8#PPj5uv3roSF0l0c${JDj*44`a8=`GJM`x*N!8DZrB1t@ zSpF3@<&r}X()qb{c9-3>#ce_2Es3@2EE2nS$sppfb@y=TvP{flU>g?ul3M9H`-yA9 z*0VoY7IOEnrXSa~Jh3hfmX3=?o+F$vMD&#KN^Wj(opvH-PZqm&%}5K%BvNFAI@723 zoZEE8GS7n^Gzs0$-46ju!6F;dyCQ>!1NTeeMB#tWB!9 zYTC-(mL*!<-29Ctn5#vyCuj7rACr0+5IdzEOgd*BGzFS&&d5F8RmOq(?BTM0c45+8 zV^dnp_aBprxj^3H4!>~g2I<|g6Z@D+Yq3PHDsL#{EXq(TT(;e-%P+HqT#_i@IaR$P zrebWpy(aAhL#Z zIfoL_hKO7~YC7Bcr9n#2`j?E_Rc_QiK&+!~9b9ed)+-~~I+|hZtNM%+56;kTuu_e6 zZzbi?wCo+x;pd5eUfvQIJBi+&Tvuzm1%nv0S+&jL0C%A#26yc@%{j(96oxW6)T@e3ngl| zvu<_O(%$qss_kmuQ*zAo{*Hkf;f3$A!{K6Jz=>%qS{2%RoUgjvAJ@q)K(W7f09g81 z(7`zO_n#iHkq3i|-b8=lSJ%JmZ8*J4ih#p?`4l}VWO6~wp;rstRJt}@>CSq}c2!LG z$uo(;P@0p&EtA}2O%RTx?6$}8Yf0QS8+}`hpR-J@b18#;PKmbX4!MNs9LrT(x&L>3 zUwcw%QP%DruBD{*k1edG)ZKx1W!CDx8gX0Q#ILirH|8PawT*1hewdJsdfs`V|| zmQ9lV?zmmmwjINb0qIO()tWv;FJ~rVB}A%rvZGg3vE8MmyXx0Q3W?TS5bK4jBKzC8 zOr7r6`bc==w)(C%@Y!j=d-C?JQi!$eMU%WA-Nay|!h$;3BRfv5wlxmT-xbCByV(5e zZ(KGS@VB1c7cV6*VqT=l*snTHZ7UpUnA9y2Hd*bVgA$lUSu;KwC^bCzb1c0-~ z?Y9Vf>bl~x(I^lz)={z`Gk?OVKI%CfFr2n3Vg-p8|kg-9?O-fvG?H zTDbpgSQWCYsTO0M{(2z5n6Ubn?}eCm*q1jLh83L=jZh_k+ashZ+&!NZ8SK_pKtzPS zd_OxIgL{Is=vzHT0+S8u?b(Q>2~{;w%n4pZKEssog8;QhV1cG*>OYVJ5k)L z^e-({t|u++%~=p~uQ3bSjqcy_pX*Ek{lYOF>D=CfEqWVO>o$gJ-Y0ljL=A~dsW!D~ zyWb`Q(KotgGLo9J^||`KQO#wksm;r!!l`3yQCPGM3r+aZz}MvBfPRkJKRnwD_HC8- zszcF0FY#O`q2+1eqTli>rLucL18HmEuRQng{mzmy_#YdRGZLY8F@9=!F?w#iaSHj(! zw`F1CtbPmk6&~N;Y+9ck)46Aye4N(La{mg>>awE`__v+AB)ZT`f6i|sy}$F@!r7|f*ErCTuqr)pe$sP0 zXP(0+{ONc!o;OA&=Tb@B{w;T}u-;EL`;|0(zUY1@fy(|la-y#~MShQRcuAtnDf9Dt z^YqY9$%pud|vNwp1$>O{js&ZFNNDN*5(ga`)$0#Ui{@`d}eT|xU%QYgQLWc z^Ss+%QhkumM1LU3_UNGAtX@MFi?N#0Y(;OmL|V5EuIW}C&L3*?O7mv^M}Pm2-|U5} z{Mb4Pm`LHK{qe=m&wKptZq@m3w@*Kzu+8On?~TjVp3j<(dAaUhl;+FiwsJMydB^$h ztndF0)ezq_ztZ@KFZq=NPa5_Z?T#AlB9ozsQ67tG?0~3}MDF8rS?d?XY^k z>f`!$c_PKF_{c?=JxsqX|52-N>nt}ADAvLg)70UUl=Qx%1F>^^BZu^Rt^d{0^m{fI zf6=vg`bg0j9sb_XA{{xZH1uNVuOIn3;>71jP>UBgpf5kXbJeFbvPzzL0FE9%cLtAh z4GyQtXsZc(U%E8`$r@@ILp>gTi1da-Nd0jxRDN#x1V%)9{m=iQH& z!I|v5^s~$yAFZDUuaABN$dOyTIkMpIH+=TsB8W$D3#gi+97kqs#pxitaNqK5{XAt~c5#k+qTYX##JSzSUE6+K>;mKIh}y_qyDHcH z25HiUtjka?(02RaXoj3Wye(s=zsCQ+ZJispRMJby`cB$=ZcMq&@v*O=QkyfcKrh&q zUV7j+{!)MA{<+|l$oXm86*GXkPOih8rPH;%ZmR9;1yi^QzVnIIge?%wM2Hb0ga|J} zAn!zo5h8>LFGAn;tyD1Bo`GK?&CBBQk2l}rh1?&%*$1L#IKJa~FfvNZC&bxomsraN?e6Bc za|^`{XMdi(%0>`iL>gi!!UOCe8b<@%WewaxIM@!3%`Y21@6NJnj0mVyaqLH&vo$pH z!91&-^k66qpEdw{gTL$zvUll=2!>~LiKCv)y_NN45Kt`zp34!2B$zWo(t<9nRtS)> zb!vwYv$1-LwGwC?jL(eFRnR&!m8zkU5@8guJ0fC+DX>gZ^vn^8v6*EJMgcq(W8{R~ zuPg#8xD+#_oYm)%vdO|&%xVM$@)IGU*k}bOeSrZIM(apiU`7PcAdEmGou+fia`w-V z6g3Uj){3xDFH8o0$>MHGT$}Z@2j&wrIhv+wxm&mzP^@m#bTCm%m$W zm(yEqm*-n;m-}38mk(TRmm^$lmp58%mm6AbmoHjvmqS`@mseVCmuul~?Wcg-kpH(a zuky``MpVDO?!KR~w2kYiUI#?$+dG>Kr{`beOuMvB^te4DW5b;Ea|00^%jmW-z?&LzQLxv=-YexxZDrb4+jp=;iFD8S>$a>yt zm{38h!2kqNT5u_n(5DR=W}fzCzKbctglHATQcu;KiW$UU7!gq965JD^n9|M#$!Fu< z;9g^5yI*-oJREGu&pT@?l8LAd9wRgZ!gJ;r)_MRIX{Zk8!x3%C!#n+Im9yIlRCo}x z1)<;rmP%rUkQhiEcuANB-bgGCX)8)ac!fJ_tHsaWGJsIRXg&{w2 z01F@v00e?~h+(8*+SwA}uMy==DdYsgMo$a|D~m%ye4eG&Q_7(ewF8n1R4A$Bag0Y$ z4Ftt5`)XACJxX*(OCG0tN_Kmm{4s1Ry&Wa8dWs1YNG!w1kOUay^-}7!?FZ#AZ zW{3|Bb$gg(Km-z$sHo2W%ugK{H=m$e^^g#uyb5#d*1%}>Sj8?Vj8Tbkoe*p7j#?0h z8f7FFh>hMFrFLs5LRZ{5XV%0Y_vwYnDYYa_LQ>`K#h2Y_D-*TpI|Jjae?O+!wBkonY{<8#O0eJe~!7FwL(P*Cxr}p zEtjoHI3H@0LENy=Y>Cu?$-%dn7W=dz;vR^xTxcxhYiefnM;n<&bz}nxE$% zFx2c(>tY6UYV%_>mIR9IpflCl>r{P-!ls;VyQc6jw(G(b6gSjCH9*X25G_t7(3JTQaxfQ-T+JPCrrKs3%N zLGy1i$W_Y7VN;d!4chwp3d(?x81F*aI#}J~p%x7SNy}R8ivREcf~`lHluEJ3m4 zg;h$c2}Cj1&nt>QMD9o{Na`_IXgmlgh$TU3<)=s+F!pAKcys-?PNu~f?P`g;e zjDvH?cN!oC=mhd0$9{~@uyBdG66X##nXh4-kFH!Bg7gfEV;dmx@*n**eRZt$SW%}E z$Sg=Ofz2HvkzQ*B04fo;gJ)pvaPDz8M|4Oeno&*xZxq^KOWvl03aIEi_x$(p%saXW zLoI~SIIa+q2dUPgBt~oHyXxeuje})nU-LAwq}{|3yA`F@b5U@qCC7B19Yi*qVQh?0X&J?(2I9I9olx(mu`M5ecS> zsHMhoHQ~|j>lMTiEhElDRWm5uLl)vncZ>D^d=RNpVC0|{As}2MyftcL^N^^un_$cg zNaG9c{5dY<%bj$HL4e3Hgq0FS@f>3SMk7HAIU#!7Qz~1%#tsjmCvqChA(*eE`D$s7 zN@#n2Cfltmc-={X`!$*QK{~{M+E_XCv)a;5>F8zfZ_(XbXo$`N9WWp(6HcTN=yA06 zD0^3?wP(A1`@uF%i_gpX)r1gP6t~n*0(eUt0VQjLP$?#pRv8Ot9v*p$b`Pju6}~{O zz!{K3Ymxe`O&Fo5aLYrOl)V{j(Ot-acii7w@$8#&Enl!FuP~W>7Vg{^5KczK#|+#k zBXL<}$3XX0=Wq@0q8kc)MZUfzD`>y|`u_BC?pgBVWltdtH4izcAXr4GnnAw95Q~tG z#*hSIhq2c?PlM*vO$LoS@10011b12ldfc?Cm?4~Rz-m($oBISQh=&isNWO+z?KlbM z;qx`9sh4lIhVZCU@7fxkc({B9$Nz zzU;Fj@IOsXV9c;^DSs?4EOe5VAWha-%>npK1BK`(9$2kL3*m|2#cKNen>h8w$t_3_ zYnGC}8jT2)YG88d&nJx0>ESh>ekZ)0%1rv1+;$8K31sF?T{9J}Nc1|*n3U(U5G}lo z9Ik0BF@%p!fxBy|H^$%$8l3Qwl9%U1Si7H6Xm-vMoh=a0bx>&$fEs05F-QBA}5LUiEW~ zpPx0BCR97a*BC(B#LYTnCHIiOe&jn2A@c~j^Db9GY?TaPQ0DfQQIC{h5Qe9dp`+-T zIeNFv|9ki&p9Y^kb;&AxR+k+y(N!U>!d8QbUVj14W>O)fAx!_5jz)~k-l3(3C68)X z5lleppd35VRt61mDMiMi{*O1Usktj}oAL^CLze_pyC9Skr~@^qV_|Jk7$KxbhtBsE zTzr0x9Jkt6dM1pHwf64c5Mi(rTSml&X@Sg2Xzo2THeq~zspSGiPA@{HSTn6AD&Y9N zVd7EDsI5YJ5ZBJB+|9EAh!7$~2oXYr5FsV#&ApQ$U#)N#%myJsix776qH6{=>n_Rv z-#&=DBg?qd9_!WK@ip0=2`tb?iy<2rardbx)_8_TGluLbd48Fl?ZJ2#MuCdOJ7L3L zPK5+eEs$|zZI+vu!a$rd{CNs)Rq-(CB-o;j3Y|hpj%$#&I|rqh@TFRDXG(%z z6uBaUhEl8?B312($wZbhH?cWeu!Z8Q2oXYr5Ftc}5hB?qP5#2$5D)_Z1OOvL1V8{_ zUt}EBmIYK=lB#>Kzq`75+wBrc3P7+#Ai00bi-OtRzcC&&U}jxO|Namu833XhxFZ7q zVgTI%8MP2QyCDHc2&-oub-;&E1bW5}8At(sRLft6ZY(TVwaw2Y<=wycRptAcByHO6 zrz=HzywlSq(6X`9r-PGacG_??_3a&QE{nDw!`0Zfa?{hc^WF~#AEZEx002V-Fd_y3 zp;i!3CxmlNAfdtuYTFvM7KA(1l!yRUdO&(Z-F|cP{C$hx-#2mj!^CdF@*=*nz4K;n zOHQ)!-}~)rg%_sAq(b82v16HdNL*uPh&MSd-_Nq~aq;Iq84u&n|J3pV7qab*?O~Ta z)Z_b=KG)Y?!n_y%rnEcsiQ3}f;?8}~!!w=6p2ny84u>3e*Y`d=cjBJ7XZsR|BzE2R zI6SelnP;8?i5wHz9N+u!-l==)p5&PvGubTP|F1;c$z13Pi9QN#LWKW z>@+Gr{+Hipz#7N)%f=7<2ao-Exv#|;efKoy#drs*4f{BHW8*8!4GZto^_M96ubU7d^{gdNG2fuYkBSChnKk|gDK8_^-~phZo<($mEGWPq-w}>p*0diG&cQF<9pSkH+Hf&hUpd`U?(BK z)jf*JP)4v4s$`Nhx+=DVT#>@SVD}qw$p*GT`*PMiP{e zn#lcFmN(aWOd?WIj1|J4Uw*9ZIZ)e_*+-g73PPXbVVpqcDp`6Z=M|M#6&SejIx);O zYLR6VnNT)PYL+c)-~>7SB`k=JN9W$heDFwZ%37&is6_`f^Id8!T^-bjghCyz5+o=v zPv^daD2z&+vaXat?Rsekl@hzM^5ers!nR|BHUjy^KALFW6IW=kbOo3aG(yPLq=Q6O z&fi~&XjxgP5hcgYl#!VHC!I$#trBvTqbr1XcAKVRQU%rFsk4qywRHTn*4O|bwyp8V zg64KWl}N_Y_=ZB zMSdlnmW+Bel5AUr9xj>Ua{(>a#E*x`@hO(SY0jfJD;kw{KjD8bqLVdk*)Bt72Gx*D zzGJhwV~LgYLs;k*|Kja_>y3+`>SHfyALykZ&QC-gAcjIsQBUGF2PHSyIP-t7YTf&6 z1sEUv68h5X#ozlzxKF$9FYKY>sc^;Ipx1qJp$ZOhSC#C0(yl%~{6wFXd+@sW_$Kg> z;<=^L%vXCZxUi3T{=(_%&_uclAakULvrDTJnt`D_ey~a z{LOmKnQ+3$`1xQj?;C7OkG$+>m%X2tyWfu=;>e@u=f8`azw8NvB>CU_UXCvwHWtF! z$;v-%lk*!RQj3RZfG#>d=UpYpog+K?_w)1P)<2ad^!iKlnV0U4!AFe0eXquS#{2Nz zzx}_D{KAEW`Qry3;)`%^-n&Tpl00bd-1qi9-xq!O{3nTDN^vI>rlcQMh04#*Z!`A( zxR;blxN{&uZ}eSAL{FzAs;K zESH0C^WE0{eP!xg{@!lJhx^FLdw*T~hB?QP{LA~_@wStfeO%;C{BZdmr80Kt?;r2` zc_VY*i`it6nDGFe#H;<^zv8(uFOTh$KXo2$3(xw(N(Fyg-It~3jYog(re_(A-<7zw ze@+~#PEKD|nj>AgaSt_`=>_tbFs|`(tc7dWxroA1}Ql z(fxkju`u$nB>r)+r~J|L!^XnO5BMMVvn-GEO!c^3%HQz|r^R;4aX}$3$u<`!LYjZ? zveGate*YKp-{#N8^5gxV^eeyciw{XJ7*ibiyMHhE{)NClPFDl{)c1Vo7Yk{A{2s!* z(en%VkCQL%ybI!GP1nGvHSfy*p!xOhGmZaF{ypSRpDg%m%kTXY=~(T5^Ny?J0N2tF z-^jpzmhbY#Mp!b;7mX~@G)Wo;Qgr~yKe(_cm2Ys^83%&VRo~06;d=~6c zc|(bb^V8IC-OZ&1g6WZ6|L=M!!?v|Oheu!O2K1zkg8EY3xiiqI`Wfa_&|-gEf6HO{ z1bUTUp-3NpFt+i_*1}J=;ZbYjj2x^dSY3V)Zdb|LbE!O+EXTI+dULc7g(scU^F0es zKIi>=6uenC9WUs*`s~-|{y)y*&*FNya60Yq{EBf$9Q=Ho_g#4dui?0ypPe5O@Zo-V z11H0_DBQHf3An9X*D)dJM;TOj^96`rZ+87!a}bNex8Gl}J}33LuFrFQpX>Sr*XOxD z&-MHNxEpIdd6>`DeXjp=G~P7sm;2r?^CrE0x}xK)eDU|4+=V#EYMvSQTM|pW(TYNv z)e`>^n28<^xK#drE_c#_+}!=;e+kV^8t=*EQ6e^)7oHIQ)kvEErw&V)17MhBAreOn zV~Mx&7`c0yx!c>k?iGn*I*GgllQ-`+gSjiuizOvA^N{LTlO;?glZ$+KhSsxpUXiBT zVOKsUlxBuTSHF~#9CXSIMQr(2CjK5aP+aHW3QbuPdksZpT7GF$nN2n>L4{o_$K#w)eomG-a%f@pg+jw83i%$^=;YTrl#q$IY&EhAtX0J265WrYiHG2sq zQKsp=IOgt^UKgPtYcd$wU`Q;X2ouSbo!2}}q_bCMs>@CCS3CYa{oALf`7)z@>reWDqA@LDv*$h)t!LhoLRl>#JruF~gB zy}=?O_i0P=S&hjtbvU~5;JgEpX3a<|l{JPM+MId%;eAZ_q@vWjS%$SG#otFa`yq5R8qUNs-jFC!BDxK~Yd65(U8HbUc0xVPd zv|Cs%ai~dxHwoYwg-{?{B8ag^Bl1Htg^Rr)bQYN_s$%NXFVCQ>*RGuleNOlHrrW1|l#*W@(9QW|J@Tbl|&2k*k zC!+@6Jauiw;nAgJZ`~eamOfR?u5$J*FmaquT$l*b1I3D|u6i)f8s%Ls5dGqdUt|AS zzZWfi+PaeNwR9~HuloNyihvB)GJ(0(E5hlj3ukL109vJJ^TDcnKJ} z=$EGtMskNt@H#GjqX!Mz%|qRi;|-;x6<`Qz<$9`*P&TgPE` zJf9qd3;>2CwQWqLLFm9EmskiWx4Q@KR(7#aS5_%?yBR8~Jk#sLViO`&aH0jsNEhmO z)XSPuM!cPQs~l`Co;-QkmTn0A-A2}0{d)LgqFdVxdy9_`%dxJpOdIsC@b;3bvU}HFW8!4~?!G#8C3bc=e5pp*eV) zTyvU?$;L4H2r-M8ta*wJ=y+r6F4siABvIAD(OqCr@r4=f0kKmFots6GBv-0<729!* zU@a{Rip8N=Qx1E_^;PcF4t91v6VgkAa_Vy6#wKezO;NA+ zbnkWoVV6m|7G}BeT_A0Ot%voExZPKFBu(Phw za^ZA5p`DJ@E_)54;kp#_Uv-g>ZW`k~5J>2T)BiSjhVEL%v^VViPbtfmS)qUHUOtb> zZ(SS1(VWWUkiRyt-GHk=32yU)VY(O}*mWDHiMm$%ZlO1atv-U*I`=i_d^&sn}56`*nFkJ~dt2&?1(O>7FdpDr46z zU8584Q>jC|{IU~5A5x;u#$Ke`kcWjE=cQhE zy5;Q&(|h9w&PGF7NCj`bS0bak;Cg`R^26u3a`5nG z7Vh^S6rV|4s@u0xUnKB!zX%I$DpAl+mJhYWmMks4{M}vPycEG%10poN(XZ4EDH5m~ z?h)m=&(NPP`Wh!OCRGvbg(KUN*82s%uf%u8C2uOq z_Vzl@JCHTqpO(ESZ%*+M%ghte9=y{&*T?qWZZ`4hRk!Ut@;Tir7nOsh>bl^^nRAOY zb#iLWJoi4V{c3ZX6Ghl;iL}Nu#qMI_T@ecZ-KS}iqbbHzXt5Ey^-Tj>4;RpA5Jhy7 zBQMN#8bIZBBzINsQ=DDh-Kt{U85$-Ca&(8SQ_4qcdOQ0clGS4BhNlE(cX>s zuHr6^3!^%3toX$~qu3Tia_xV-cPPsM;`-fS$#lCR85f2h%I*@`v_WHP#3MAF1#B6H zxgFo$mB6nMLNL77Hrn2rCQjRWJ5Ie}+3YPw5Z$s{)!&-rWi`5UTkW;CRfxz%@^Q5z zP1X$;!o9QwtcYKPbY!_~OP~k>d9$4tJFU>YzC9S_w~Os2?2TN7>G6Xg?@}1)6l}v) z!^!dD{9jHt;=TvcxVOLOZWEK9(Q={gZqnP4T*piZwMYj?8v(gBxtN=nniy(6t9f47 zyfIMHu8q6bVQU~lVdTGL+jeoK_!zjBpDkgwd2H6GD!WB)b&9isbnmo?~G zCYWL}wjyVQ*LJ#Q9vD~W_*)kpp~3&%eRGRq>m20bNLSsR?%9Xagh%FTS*<{%S0qZ7 z-Kxd~Xdrrbjc<)&%`O6uBGFXV*j8g2+e(J|UFKG7VlblX(5+%@hX$^8NufP`z!w3Y zncD4lYW7xyn`xSL>2a;8Owa~m4u;#Y8LjUEU5Csu8P8behB{_y=2gkSa;Z0D{HJTGES;=U>z49$W1cH!c@Mt6KuZDWt3%46Uq^Y$qrWudWm zBX~*zZZ@-6d8x_aX*nsMZp7Q!7w+)?-Mv4mR~YMkC;%7pet35zHw&UJ(Ip^xj!7=6 zxMBP+Y>ZrdZ$2t*s+fDT%FE?8bRgeMfSZDWCKiN5_ZpL^j%aVcShT4*$jB&;zWp@I ziKS^(B<;N_ge@4}22)Hhyhl{1>;pC~zB-ZAS^?t-8-8qim8qK~N(;;-f zyC@NRZ#@N9-y(W1#f8Sdrq#RxRNq(AIq6|bk>V)pQwVxMQ~j@50BJnOv>GNr`U?SN zhU)b?(8aKAmSn>EC(lu;RwovM@T>zE=#0#{>dIHqxNyID;z)=qYwxnHi*F)hCZzoFV1Y=Gm4dg~i|!`y<+ zIdDzj_ZzO-*lc8_X{HONqnqsFqEYJr5-Rt)<#)qG7c~7y`2b)lwrxi=TL;!yMCJx; zwgt=!;nQtOu)J!mw_Pcpm%110g&)JOGfQ7nGL!4dOsV%Ja{aFaamOom74)u8ElvB* zzj<%rymu!Ki`w$;JX;=a!t*?ia&~_Iy0UbS3#k?L?hr+h+z#Noq`<;lM?*Wa%ZODYqMzdL3cfWHZ><@26?#&LxcMhmiQx!+RzjWAHNbF=_g*ki(Z^aRx zz`1$esvF7b(aCOol~Ilf_~Ne`9leXKdb+sDObQaIt5k-Frl|2h$HUc>ZSRe1_zk6@ z*D4>)6jpp{*$Etf59+5^#d8D?wd<-Ra_yGtbt?VHbGEPUh4LY>)J)GFct` zT6@WR(1`=LOtG2(Hcfr7jJT=SKOj;wjaW{v)zybf&u;BvC1Kum+LZ>+OPx;Et@p!R zdEZBY3k2DpGIFKY4ek(Jz;Wwn5Yx6&>(2e@lLkQ1E3uvNxYnoyC?yTtCknKv4XZFK z&LlEGcOtEYFtCl2r1-W#4jL%&Dj>&&DnU~PPbuDrO_(JsC%HQe5JXk|9GsEmd602P zY>nDJMK1d0*sS`@;*emV7(rlA^xJX!Kx5XPAcdR>d`!%Ui_oP41mM+21T=}H&Vp_? z(qUuj#>GynfY{OWJ?R!43B!i#V1&I^`u?kWwh1x*>dLuc!&lW5#wM+_$+ zju|*uQ6C);)*JNP;p19|kByJMh)b|j7-ITE4q1Q)1L3e3UQL{{3)vp^k$F)E@mLIw z3_B3xV5I-L!CJ9voMmVBJvOE=QZmL_ni{g_0l-WF2mvyu>;NvL#L7=kdt znvT7`ikRRyF6ANylp2qnL|gnvjp(h0oAq7yJs6MsKoM%(PansMmml&!$B}*^EK%a7rQzMk^Yh7E?O!SlW8^622NJeuov3f67)9^{3FV5N)b0 zR_iLLB}UF1vZnzJP$&0Q54`9T+_#*ar%XGV2pK4i0?M2h+KM3LCFcT7#UMpf6`yY9 z94_N~>G@K$=lGmvTGi5e^{1jSnmSWR7FtSg#FGE7Bui0iKn1WwO0P2DX1D}9rKBm! zT1crj2UI41ghvr$<`~onIcWxx>KUWfR2jVT9Aq9#Z@^4ZoWwQQ8Ul472%VH6z;uF- zILhT11uUODw^qeIqg=AWh^he;+@fvh)p76IYRs)V0F?vD+mI823r?{UIwTtOq0}7h%T60LE6cnsAMAi@% z(lS-b&^QKSFoucFyejs(NhdQ?9k3>NBqrD`y%ei-B zQzZIHG*S|@45HlYrA$!`Epl*)oa7{fTVs(_LKO>ColqOC#9Z*R@xZw&S((NUc60~9 zq=|M~nT!iqnx{yKjp{A*34=irvh5nV*D7D=&_IJ`Y|{Pp^f**gBugs;woB2^U(K&^ z?urXsC^O`F$Wp;|+JY@ZZ(b|T$<=j+#=ieEqv8mo7dw~DtLW2_!f9YmWZmqfr2@d- z9@+?qwaA1BN*SCkIBpO{`#D@@wN+|q@|33}Ay7MrLyv%%58ia^GsUV&=>I zVbzI`{QepGhb@UAnr12tiD)PQv6Si3vQVvM&UQ{2l*Mth^YL*XspV5(YCcREu{Qm79L&K4qe%+Dk+7mT(uN`55*QqR|8!0`#SeKA7=F za1=xn%k(e%}RCAqWI^)Wi`3J3(b6Gvd6moE+Nf4eWC^9WM zO?7ikMxI*K=dd;1o_D=lzfCt8d##i@6q8)#o+vgJw~`H}E(k%)sK(#v#jagOJqws| zc*xd{gehK1Ho+W<J*u`hK+HMbh5_XsB`H6j<`z-|u9j~vlc zUPe6$S$5oJ;FHi=6k*yQNJ<_lG(%oOFSJLuZ`}fT47tu*m3N(6(TdbP4TSa}98t7& zlWWyj4VsN*7|DK&bHDIqDX(MK-8Yb^f1bXzS&PZoC%N&iW9fN*U=A#E7G`J*$0S%H zr{FzCP560q(QL+`91^*D;~;b~xw{N+74(LQFT}U{_3Y4dAUILWk&s7~#(-4igcPqH z&B^HqXW!@YqYRWe5#k5V76?JoAZb0`uEe%cCLz;Rt7lM}US0YYJhJfyZ6lTv=NXn^ z7RI+a=GiRfGLCZ2X1N-4rX#Qb5_%G20|YT9TjzMD9^?D5)nQ+%c|=rGm9VAT=ctM#sClsB=UvrGP~7hBNFYgV0`)0mSg1aZhtZ&Npu?b zta5;m_tb>7C>pYa1CgO4HAy-?-MXc~aS!kuFc>?;x8bUX#4EjR8jOQpRHOU)bt-Ek ztOu+8cBrektZ2E$HKcSkJ(gz2^r?}*>t7E1v64uF0wL#$5IiuqTc@?@%ri!3_#Gbm zh?|wK@Ry)dsMRnAl0#|>BVNLc4pE^6vF8J>@fAw|vaARyE!?hWG?L?(GdgJbkM-+^ zPhS0%_GLD9F>S72e$^prL}0RsCG?w`D@jpWPgI1}>1XO#1QLb&P(uwTdQgKL<&Dc| zQAh_w2z2?l$K?TcdVFZrAObmrqr^`@YgP%6G$???*4!hc7#GucYwDWQB|t-sZj6mG zA<0C=X|&gYF^7*=8ve6WkLbT*azt^&$rOnatOhXe8#aEOW$g+#|f-22O5remPh7mF|o zCV{S`(5yLdgC~(vS{==&m9hQ&u{pc(t{>t^H76+Qfe3_Sc(6k?#YlS;)we%ARFG2) zA|2r0b`9$p$Iy(`RQ(~&B1^E zKHJ{ucHOX;l0eoj0)Ygmr)E?@Fg+gZ^wzC6fY*iGj4)0)A)$1@%b*H*YB1dMA3Dc= zy*S!po;B>nMwDQy2b(ClNI^BWityQbtoCPIrX9h0QGm!bAcL5)J>nxN9%$_{(5nKO zGzA>UEgG=30U>#WOW}<&;M&)5uhuKE!xE2!hgWMPTrypN%{|m8F@%GiUGoLHZM^kn z#2h^91j;-oQ({YDN?9=DcBJ>Yy&cxVu{KU=Nx)MKj4&W*Wwwo}ovXAo#({ne{)hSf z^>1=geKNh+nayJD=fN!<1(ssci~yB&bI-0F4|4UN(#r0Kq-82a($H_G)E%|t15cDV zIz+0Is(tLcivP^XF!41SL@~=z5CE_pGHqy$V?<~7R{K{-iHXvJ9i*fLS^+k(2*Q@m z_U0-N34gQ4tn!U!cupkTRC+2R*5HP{M^iCQ*~{EH{qw2WA6LA{I||}V`>phPb@Ls$ zj0<){!y)~Ab*pyV%B37s0#TvN?0^*%a_%EkI|8&Y@Q?iLuqu#JBk+ifq8wIo($uh^ zf?+DACu`4+sIs(zLWfQPK|)dsa9|x+I;}^<(WqUMgkBA4XvkBx)E%0{DWq2x zdsKoa{``G*E7d?SN)2s+j#;mS2(6_(APAyFTvY4h8Gtf-Ld&?%yhTtPG|;Eq&I1gk zMT(6!8Z9lt|J`)8#m6k0zv&wrBiZi6s2XBUW5D-09X5jtRDc+gTh@03=$uFHJye1c z|Ao8P;C)o|BK#sQ1nc0^yY-708oMz-%$LU8`C|>hZ4nDU1rbD#0PNY46&=yQOElX;|10AC{y4aT` z9ceN655b6mXZ-454~w3$zn4dp#w8g*A)rT8`3EqVDDOzlO~tCfu_{|ksKFh3V+xd5 zz@3VUDh~^mb6MV;zW5JE$Hk&s0jUj+D76xS!S?`S1S?UInDR0}!zYPaODtr8IbilA z%nT8F+)l*p#En~mXBh3%y{)elTuC_Q>x4>&>=>o;8oKFWQL3t=tlyFU$W@AJc@Ued z&@>DaDMqR6X9^H3=!~ssh6j%f_&Q3Uz4ea-+y&a11mo@Frs2BPMb3V}F~hK6pVgixJ=iHP6kZav}Q z>*_45dhqEEADlK00eWyJBZ^Hjv7#BrNfS-BrF9dG+QB0UL_@HTGHaaG zs!hz{X)=poYqGLaw9(w+@>5SQ!W%)!2VBrw^=A0-4we+izBcK&Atyiu;)o2GBqbR} zYTyubSZDy8aYosG*@dkZG6QG>$f`Q)O@H2)J~NuH3V*q%_-(J&(i)+Li6o7sq%nX(WC?8thMP8@*?<)X86!m3x#<2MKce5SYA7_%sx>PEo{TSi_(xxwvN+8q~;{QW2G9s=e&nm`yIyAg3pkil*T?QS1nFrupDX zIr}n&10N_c4PzrpR8A$jv6F+vb9xTcba|cjxODp^1bWckYVt8beH`12X3Yp+RB#{| z5-9<+%f%TGB-EI~HV_8Vt6aopgNMNTd6764#h`aRKec;qY?Igw| zI5>eveCz_T;3AnermV)f#RWFF2}~qML8?*K2m({+@=D6BlunUxYAR=#3TJ%&=fnR8 zcWg7xwoIr!o!!epnQ$(9HpDCJh7 z==CAPbMB%^cl#vRgmLjs&pBQH}Mb@NCl#Ssdmc><_`2!n{FenqzCGqlm0 z|A&;&Kj23fh&+?xKKt>=(gS-3R1~~CFqT@Z2Ep`r?4`7J4nI>YIO+z@9%mj~G3)RA zH~WyVtEdTRIIm8~bkR(DIe}6N##RY7S`r#cTX+_&s)`13Ii^#EXw+ma1QLV8>S~d6 zeaJosql@~jwZF!SDW@=sP=}`#F>OHo(GF}g?jrpA|7amwU?(ErQ0SOpu-rMgGEn%) zjs?3ou(uzzpRm;L=xEZaJ?@)2JOSdF3k^L82BnGga!DCgwJnNhe6a8!I#J}(xfcUb z$kL(0gYP;_FN)-0{(XYYS2rPW;2u4KFn>e1c|J^mF0hT(tz8!7v8&u=Q1n^iYVeu# zkEE6un)YRqkhsutH|T-5=wuX>^e^tMP;0%?NXKB?&wT~!Wk87`DuNV57ljCM(MKI< zDK>uYFcd`QB??f9Gh2x4bd)X4Nv`yqxWD#=wCI}-_Z3hj(7tM0NDo#|c)+w6DE6mR zsjg4wI!-M*g96DNDAX!ylAf<1)M<&O1jGO^Y3zg&xUaN`;pk2WwG3Z0+S{jI3sqDp znKgQ-fC_{60CY5+(O(M8a11{DfhUKV?uZ``{Cwo50cFN@KS_ba%@yO5;5mf3&_C9Et{@;w@ZC?$UQZ?P|<9Mp23)YK$T?B}cq> z43REA&o?6sz%*$I;EF^-vDJ0MPbAO~wp2tEaCZ0Y*nTxhf}BH6H3m$$o=|~h1d*E4 z>E~+Y^%`>qS#;m=IS4mMy8nQ9!Wk%6N5wVRKOJ034@cYe{Zm_u6h&E35zEe=T}q(= zE6NQ*oPq9R`Eb)#A5ae;JuV?92@bRnsO?yr*_cb{rWgX$hk8#DDtePx@cCv;LWmYJ z(qPniXo}WKMJY-$2)K03SRz@zQJhW)31sQGR<%hRfeHo5dMqRr6h!z67?$zS)dq8J z9$}awVo$JCB^Y8ZC!o{_rwdYZuA2~H`*sQ$54qq-`(o1234(IX7f-FC5k#e#oKhp; zRujF()qs>z)0M(OUR3Lc-4kPKjEJB>)+~`i)YQo-id(4!H$-u)k9vM3{^dtTL<=qX zN!KT!SOO4s2kB+B94Z0bL~N}Pm$I#J?;H4#k5oJ)u9jEkTT8ltZQAGUA{_OE9yts_ou+mY?*LKgimV=S6 zr2+syK)}C&PNSewZcEf@FX~Vgs&!4YhtM%RAkynph;#KMR>j03HfDR&ih8Wk5*_Yo zi*hzm42jrk(!qv{M0Rb3K$NxSFcR%T5Udut{&g%t_cl+Vxe_Cn9%I2_;QEyf`EVxpc$XuN*tYuZ_{0$?t%8itwpDfD3iaiHaS}_z+Tp@EcE%7;5_%x$)?y7k9bshn zy^1+X&=Qg1#fQj;8?LWe1Y^%O2CIqSF9;11TlG*L)S<&Ijqv~gfDjM@0Av6&Gy_lo zU~gqzl!X8W;2~hPW%~OT+>RjIIF5&kY`RH&)-43vzBeS3kCKb6M}Oz_-vB|H0ihuP zvnT*S1Wq3!U+|MO*30=aK@By#FbKysjAS@yp7!knG*y|JHt!n<400o#}?p=t^ z#HKDTj!NTkmkXsw8ax&c#Rj{3;o(r+^%rgtw{(YTOWc2>>7h0Ffa87$5-I zDIK^wvm|5*-3K;BaII~vwOT-k)Ec#bDkm^bXPe1ynE(IA{d4EiA%5roQ~NLcO~%j8 zt^4QbCtP|@FT|Pp<<4ARSGe&$Ttgo`K5za%_V}~g-+%mX%fI8jIgcJc_ZcFQ-~9L( z?ZHOT&2;EF^iZFdzR=fb=%Dm(J*PwdoGE;^O=Q8Mk+&dMaLIPF=< zHBoT}2|tg=i|64VboukoEyCtbQ?~N8+m^u&oPxz^R<8Ik7N+YlPaxOHPyY3%clp9z zoVnhx`Zl*o-AYaGwO=n>S?hQc>VB$%XP14SYD}g&lsTZ+USG724Ix|}9eOk8Pijh* z$dTK6Zf;|!mI~8^w-oW^)4T^Jg=fe{efa#{e0C4wf*PmacV1d&p~}5moj`P3B4>F9 z)}*{QiAgW8x=oa0nnv4l-Rw2SP5HZ{@{j%CDJvIVbgpI2B=y z4YwwI5>?hNx`eUgBn{n62>{eWj;I~p7TPwR=e@k@c^G+H_!65fNTFQltRHLaM0Kgx zj83?=wFRhdTj$xCu4$59-gS%WNA~k=XUa+VORCk$?`qwSa9k3&@#3}H77@vm>p?xU zURsczJsvTg2|c6s`n@j+k!1CUoZ;7J=(u!AuMBM3aLjiyr8xB9a8^_t#OO=ZQEFicH>Vs-x~S0tau_$r7}tkPFc4QVf0=O&}u4ls-si>Gq;V-o8{Tn7Nc01&3ByKj03ZwGK z44=Ke#T1O=a`6rzHt$JxdeeqFK0Vb(K8+Xl&?TYrQn)0P*Tld!UQjB^(DN-2qivob1 zf=gUk+`j!?%mj^Yk*^Ma9oHv%)@tF*u7nBfk?oR%RMDv7x4T3e8w+&niH>8cq|fcU zWyCF}=!D!MDMcL0d0|&OT^9?WWNLr8<5yK;c5rqttL>(r)-QwUU;H&?WBZnvd&r}5 zmc05ZF>XPp9fBusdQkuLNksS6tqibt@~)k^W2*2ReEL=Jf3k7-Rief*Pju5-3w^5_ zpA?2%1nzw7tP-gg{1yR;7#8X!rkGXjpyFx&>08{lYZKhsfh)H_2U;U4Mk{zbVPUK7 zCqgLW)CiK5$2x7wx7_OMmm*ZbZGIgshB&-1i;cJTu*{xvTO!}JS#QOCU!V{_F|JD7 zlAmMH5?nEW`LN-#K+l3M6G}qv!0}Yj1$e861{@tpb%u^pl|=nq`G<>lw>zcod?j9P zlO=#IG>L~?5L$4N`Y|iPfn#Lgs@VQ+63*Z8<(_$Yc{!YJ;-Qb5J0L#hKMjA^_j*y^ z_cXcg^@Y(jx9^J;bVbH^ayR^+=~t}wR&3;trQlhw8ybD;gi)}kd|*}Y`LHP4PdOB zsXT~x*ftMEw^g&8?~ZfL6oBtopcuK+pN{_Iu68qmv2UhcM>KrWTPug+)DZX`J#U(D8ggA^q@i3%zmHT4dSMP`gGM+vpbD$#?`^+Vd96VO!|uzvFah7{=+8d8LLS2PK8} z$DCoOu}>30ri<+9JvfvWdUWwNKfg-M8}5WjDuLjy>uuDCynozbte3G3G7SIW$*i{@ z?GLV3{89Fq=u(V=&+|rNIqRtltx$OP3lMOXrUSLJ`(8O_>+@S!b=x6sTN34Y;(Cnc z8Y(R@^JBY(d(xOKd+J?0R~81v&JNvQ5+9v7{jDY}}r6yONad)~psa zYnA2X*nVqA$m@^6TQ~GfR*98L@^_1R2Br*!5OOn&Xd;ykecILX*dBX7Ux(GdL+Zq4 z=Z%}zf2!=r331$mE=oMf0f_^+kn=iIF)%38>|K3V2`80Y8ag3P3oS&|Zi)bozsSmG zGLXi6bC-?huXnuwY3Z6I*-vw_=S_ z$Ha&-YHA`>A>S_yGO|W8!l2=hOChwv|{WktcE5|D-d zVv#v>wH+lMYnAzj6SEaS8WdTDnPCuZwAOk?%UnBJS@3UuzI;r~deHS6i{kZB2EdSv zbw9b+o-(_$aE}X88ZEMX8d542 zo9Z~}Ftpk>_AYdkW7$T-$261WZmBm>qL9)>3{= zZTPZ^c5fKOxVVFJt?pH<1WPywrYNVC9=b@*dlOevSp*_l%YzADhYfL8P)hJAW>nH_^y_)k|Og*x49? z?&b6vN2>g!>9y;h@wH3EuYGg9CDbO|>>&$E@$}OVx@YLCN<>|}Vz0?^=rw~w0WM3C z#QXRy?8uY-cBZa7v(r1Rhq61vRSA68N?+3()>HTCVu`f)Jx@e>`Ykf+-@pY4kf7%M zBwZOzLiHP4CRA$>^&dI3A6z>kJqVJ4g)4JwQ=XA$ExBKVE~~CIQPd8# zThvav_eJBv zl`D*;Fq5o(<^r2fgzF*p_S?_ls?B=m=e1)-W&GO5eiqA=o_6c7oOTO&>YS+c72{jEh;1mjige>VbWT-Dyl7s#jbdQm z_jSmIqtnWGKhMKFZ!Cuzmo>8pm6%>8?Tcll)P7Y50AyVZtbAOXLYKEcd``6z-QH7d z-5zDBXou~x*1v||uixuWBDZa6aePeNP|ohR(jxTaMY>^k{viPaD86>@k>uMOTN4m8 zM(w75N>+JYc@Btq$_?4BarX+>`!ZicAI`m#%f-=tiklGd=|SY|mo~O~LmEG^?Oy}4 zXsskdt>4R&yE8GF{ zhPOPGz~;FrH2m(ZKxVjLZlLiUVKy;dAT@-Um^fq_dQ=jw8cS}SCO=ymHREnBDBX62 zcGS1xl!IjZ2b_~?e?46t9d};fZQH`7jYh4eIk2|zHCM%(yMJG}elw8@`%@3PMfwfT zt-F$hwIz@~f>EhN?^ zvPOPCR6j?YvSY8DSI&-mbhgRc2JJhX@AV)o&sFZhA_(s5o!-uHhL2Q|w-)2I#sSY0 zvnd&Da?xfRX;!>6U0nLMdh`UFlm(5v{ z+x;mwizb(HbaxDMVKU-w^W3$Ij1}{f$za$&EAYwNVi4#M$ro~?Onik{At75n$NnJK zHM+>r{lOW*^#0CyuipQ@lvRgth}0!J6b#01&7+4UD(QR2ZtpJAmU~b)>3&3Hg%&+s z=;oZ+F=~nn0A&Uw2$tATI2aGQrIqp2y_Oip0TZ57tUTfi1 z%f3ga?XOxhyyi7IxZgo%?0<929Fh(1Gi?);zMwJ^BmquuYW0#InRp-HkH@Vb*!EnK z;ZTHU$dm4$@+5js3>ognTw_2ep0eg#AN@@FuY6~!nYbTlAlUoxzUs&SBA)`^r=U-X z_n#22&5em>@l0d6Hwg>hZPyr&&l6?Ngmk=QH1>T`zlHCA8ff9swD-iPW5>5iXJ%as z+RW2V!2Jw-Z9Ge2*m__s^*NYNUg!zuwD0=j!Ip9MjWWM&tXCmG8X`M^5hpcxyO@`7 zPp4XJujZ6BM8>w`i>=vfg4?1i@sy`rk{n7tF{rujYW;iH=@xD8D;5JEwyG6Q#Tbk2 zx^>XS(%={XIyS|LDYF7$yAo}b6L$W3tcE6nv-d381?R=e$^ zh?!)s9K_*0_|UU3JxEf*X3Gi-cu>3%d>vO@Y~T)_Oo`h(p89z4Ef*!4$(f@g#sTsB z7WY6UJcQ7y+Bo$2TSvClb}U=qU@xH0iC(wOiUz)D4Z4p^6q!zqu-XI=5WlREGPPe_(bg&einl|h+aE%37^qc!pS{sI{_#m%-^Q$$nI!OgD^NGW z-!r&-PYSq`YZ1$TvbY?bhnEh}dNKA5u$VmhqZurga#F_3Fnc6KnPdasS4PO7TUMrh zU)oNhQ2mZ#K~@TWCmFCkHwX?@Yu)$nokzM$e7bkUUc9WgF`{IdwQQYhR{*$>y->X^ zS+Lr~H_g=e^sii*OF{OHxV~TY-JkxLeC-Hfy;kfOR7-}y6~0_R2hSk8SniYVRr& z|0kIYN}f z)b#0`HZ(9N(18I)+irB_H-#BI&Qb`-tOMHOd^vZNj?_ZO!>#jgk$=_UI+IE3GWgS@ znCh0SP>jM(eX}w5F%X5MTBE?@?n9{Oeqx5z~e z-P73DtlAzr?U~oJ2M#tIMcUgvd&>(9Gat%!3gQIS!d zaP1MXlF+VKz~_n%%)Z1o+1>y_;kgx1^5)y1l?7-0el|L%gFhDKWQ39D`rw*i3QyA5 z;A#AuBBkwzZgUN96e!K<>!(F9?DBG#M<&Q?llRr-T%R6{?`XoE5ThYEN0!}0@ zWxtPHPEnNWh_Oot4qU|+{5$y}V9F`tx$$np-Hjd&^3&k;zd_iw3%rzrjYk|DJQx_% zxsLQsRp0;lD080vb8dM89s93Qv->@_aiXiGinvL+WepB&Jm>#8k}_8}AlOtm*i&T8 zid1|O#KL!!_1{E5OeRxuOm%J}K~t5F!+PibFv(~#T+10@1Zzv*vtA#uPC7zJDThs? zq;+(z;zM`=#A9;I1R9Bp3)>I!Tb2weD&CJ__y0#ir z=Q&b4Rr5Vurq4t2u5Uii7mT?N@5ztxR0yd%b!2_#KF@J^6{Ekwpw|e71Ct+0woH%nBQC<5|7u&U&@P|_IC#-w8o+F z;p(9U+j8uKzBF_wGs%an1+Dyk_10EkZp-!5q4uf|PW)bV0diM+EP+_@Q+4Ui?*QM^ z72tl0+zsvlnUAiMSqQd|Z%d7Dsl3$GZG`yu0(okjC1X3LH56Z0mRJ=Ki+9<{B9<#_X+ zT*+VXmFf)GIUZ4gWR2U;Wc#N0-Qxtbrb>+G|#9ZaP2J(0Xd9cD4iX5PG%$TVLkmd~+7ess-46lJeHo=eUtmy_q= z%7^~*;kSa~rPjqZmmj}7HEbH6r>&c{wAuI8TIIcOOpY&T_)hvdk2GGJ@=NRAZ0&;4 zd)^!d{AH~DC2!f}dV9@V{Ik~PCYb*uiBUgki!-U!qy4!piB2N>qHwZ+&GmOm3dKe_W@1OB3$h+8wLaHc@^z9=s;@&zrX`9r7^xyX|Xl8i#7f><#+15(D%+&qe=wLq4_ zcO}3^B%FC_*aQ|X7KIgFTp{~1rczP~0tm7kT=tDz8wL=8!?3Y zMJyU6i#dx1jGb)IpX=xB=#ex`7#ZbIumm*<6L=5pt-VCX`tg zO)nY6b9tw++_iBP2CC*GBk)D!7=np`VYT4a!6=?zES?sFAg>Tt`b;xk{E=MdDXIS* z2BByf27^RzZy~K5S%jl2g z+#(t@vr?wu4Gz(x*v?IGRX4bpn-HZ1kW7L)W)m-nIFN!1rfe@mMh2sN;|xK`fgKe} zP8XS2#8U*b)<9Vj$qP&}I3f&FoFs_Uz@|lFc`V|j5~((R@)SH^oF>8LSe0lbrD9&< zz#i8k3CA*z%nCk54yOi0+j;AOqK!Ejc5^lmqak??-J#F-;l=|i2^HUtC5jRV%g`ud zI<>Qkajl%Vv2#!?Zl4+wkbe33NWIOG0nSintAa}a+&6A2nqs%C?G<{W?3-Nmeh-wgD<~RvZ7M8oVQ-2oi}26UUSe*D}TQCMMF7z6o<%*h!i2w6!UID6%`55 zo#_|kwQXezeLiH05}8nGC6X4Kl{lVx09-oO98W z;KJFBZ2+o)T;wjfv>iOGLtyDAMa1%892r+CrdVMk5YuE*+7qqjx0y3}Gl+DH^kQd2^B-KlMW02QsWvD!cX?VvAk%%G1wHe6V0qGP5U%v|wYsA8y zx4k6-l9Z2Z-+&~R?_L4e#UBp(I~-VE!6~(fS}GBsK!Yq6%}MJBIvJNza13N!d1N=A z+wjha+i9xEgqbOmYN|BUiH?0@olM$(B$%zF{txjN|w>sR^!YNl8<7bCQ_oT?Sso?+z^6RbAz;j00NH0f|x!P zF+U((DzzhwG*zd~ZfhngH{^r}K`^kV$-aE#tI}$GNGlf_MK(mTc4gI<$jp3#a$T(2?ixH1^7 z7UXMv;|UGWOhy$v7C{~!A{4{`TWf1T)yG6XPmlibXKAUbqYlJ0bqq=!ygd?ekOon3 z<*23|A@)3|qD-}F5nLUFPzFBQDo0}{dj|@NH7C9C<}oK=rUf%CAJ51E2+-ncObW&c zdDoWQ zihdp&?W76?nphD6#bTjk7z{#_g^u_gr1duYWiWD{(0J2FrJ1T}Pk30VnV@pKM7(@; z9zb}khl@{;ISZDw=Qs64LCQB|8rGz>6>o%+zI0vIYnHI&t5dt2dw2udo+v8s-r_?m zU}VLGdmYm4zRzxiAOW<3Dq$Q}aTdrI!CPL?Z6Uapk2ahMY{!lOXa%KPC(TjVGgf!S zsJurg$&zqE?g!VW1z1SA)rd>(9YX;W4SU(OB(3oTDk{z6lqt3WucS2zElgtzp}k#% z$FicfBo;MV>*Slk4fH*|{kF~mXwiCl%N46ZGXdLy|n zDaQkicvR5wZa5MVAPlm>k`Ynxdlf#Z@dSkE!eFJ=PYI@btppsARt^{!NPujP{}9HU znX^R&QEEiJJ|vMCs*3ThAm9+?$^8(x&XW=PK*5D8bNr9J(;>7}yI zEGcNYfnNM=eHiRlsK8&z{lN(;$c=X2L z>j6S6YTsk@V^D=tR9PfX{85Hd=&)?p4kslRRIQRL4Tp{hB64Ao=klO0)DN3Gn-v19 zFla6dA*x03Q0pTV3R%N5kjbK7K{`v&QJ}e;*D$dKKzm7v^o!*d!w|>PmGnpwOqtikl%eB>FPug0%Rkter?%}AjK1`_Us~q z8^`g}TcieAOduQF>PTQLH9i7s4H1h~gmM70o>B~`?p^+FpQ*~maA+^kn3!4;X9Xp~ ziXjos0hI?(-SGMHXbJnUg1yM`gR)PD-YYSTVIgyXO8`X@RX?EqksKwNMO=kt9TL-cMALpaWLeQ7B97!b3L?Zpbi0G^xJlqy?a|V z?R?rmT7*!_MKJ-PH&Jt?fF_-)kiYkKcB)a4WJba(nH+S=`(e>z424KY=2JGg?Kp-BF#tm=?@(M?ZHojE zNIcM4i?+HRx*7Nj0QOEXZcx)6x9H*h7|9R>o{_Bf#WU% z)oQC^ivU|43ou4u&U+YX%iK8<(vc5GYt&Z2rEx%5oC64G4!s;<{S_{$yh3eN?F{JE zgE0_5Ej8gsr?%;lEY)FTUO$U%hEu&OZr6kLA{e-pR)R%k(=HkaYAkR@i)s(@Ly>{& zQpHsyQHUan3Yd08`E3(A-6ouE@XX)YD^o`{CiC;Lpf3|cd;6I1-K+=jwTn3p8Mm(w zTI|kFk5v-!f%kr8;>HxF6$1#T5#V}WXe_vAiT~Y2zI?jO>g()Yl|DPQDGG@|q*S2a z0>l!4?QTEwl4 zrbq~ah0rw$VIDHvJ~X@DTw_|5RvlK90JyRXm;@k!GH@$0NLF|}PgCG6ogO1Lh;0f5 z+r>ozL2`*ulgmGzp&%(5Cd51+geeQHgS8oRh4hY4vAhiahO_97(;D7o-p#E#`h%jv z5c)U9g;q*B+f>gihmEQf$JUAg(|D8SvB@$}TrQeNIy_9DenLyWtb;3|@B*N;H`2}y zCD<#%^@0(Fgj+#lBbUm|3!PU)a4<+Ds;62>K`e?j_kpLTjjr)|T@y#CsRU{%&xQpi z66CCogSB^&%G0s-;^;u&VHENM;yYhZK}AU_WwzcARCn~FpLFxJ1zYJJqz{!h;@3_F zPj7FTQ(M$@UQrpklS62quTQ?>vYmMZ=f|P4oHTJ zzmm&Ru1p2hYdHrgN*YE>MzZ${rd?aBr=g)#B^Xp8jDj2p!dyhg#bUXxAW;Vmm3BA; zR=hV5|F`zcZR)Ckl!zm^du?m-eC>*$okAy^KkD9GW~=<*F(_nJ9Ew>3ZvFrj+#kL3 z+2Oyj*{Y+!$IHj=$rggd0JL2{InohnjM>)PYO4fHq&-73(a?o36UP!@9oX`R-WRDP zbhevseKApISX#wc(*~irRa=m>5*78Rtxb0NdtmtiQza7=$VCAp(MVSAFr62Cgymph zoki&hj%XM}m;r`jdO2n*C~(8q5z=x}JbXd7qhV!KWDplXP+QKMH_W(LghA(Jpw1$3 zlG@n;6hx%NiaD$eh)RqFP!PN^(x?kRZUPU7*bJIgN;Pz8jHh*nxkGs-tQ}Dk0>NbC z(^Z1z`3^EUvx+ed&O})}iSkTbDAuIBAGB-W^ypG$^Ox^&9SVCZ3ggs~DK$*E36kAI zsmyMtl?<6gQ01Wi5#JxIua@UJCg64r>Dp$f?A=Vgxr5Q*KNonBM-8y?P zDOGG|p8Jsj9#c)QJaVCS4Jn4Tev7aziFa1}b`?@xy-fhPBBVspfp4d9IXl0f5XdyvB69%7+9*LI9yX>3rkkUFw#S_ zD@U$sd-PW0%p{0muEg3OfjMEy7P!`DSvy&8MtbCJoVBIJ1kx!Mm8>?%A`pjdsMeOg zKdlyK8*N;*Whg7+Odz4ML<_B8Yu9xM7u%3jwvX+`gsPR)wgd}r%7ns}GQ>cA@s*PJ zZW<_C5wz1AW?)wsoG23>`=EvR@XRgXGaYC6wO_ID;?o-3YM>sNaQw#ySzj=m6}4a` zk@qMy%u=`szYC)6R1D6=gn)q#3K%(%RFO~&D(m)jVYQO!?7^$FDp@8FJltcDWHPZ7 z-$%jOGldA8sxh74efyGkYcq{=N%uw|fER;Wpb9^-=vEe|Bpo{%;`%P`)eMhP32(02 z+WF1`XYW_Gc5N`lc@=aMbbD;pA0VgkImGLlD~KcN;^Dq8M^|vCEu9I!CL5>-qoihO_0&RY)Mw6;xRu znDWLgg0lckHCkF!*6t5~F?Ul`Tf8)J&FBs#rX>RiRs=Zw;LWwhYwF3FcwO=-2WHG9 zfH7WLgs>pBFtSmNMO5pk4}aa&(W}3}`UWr}QuT6L|DqBpoMWpbO#F7BAri8SbJ%ED4x>tZB=DU=r)b4Q8Xp2C}A z=DCw2xI6)dP}Bpw;il$d*V(6%@|FFqh%g9Ik0{Pk2Rjge-b`sag8k_2M8eBsE-(mX zP`5y1KtXh6rPg^`x1_{-z%c#ytCLKH)8v(ySl((%eucra(auRp25KaVv5bxH!sLjHLn<(C)Gb8ij`rY~JLHd;R3C z+_a@-u80AU!q*lNy{moV0g3n*jZX=W8t3BtzVP6jxjC`D-3+*EV`QNeuqtI|8Me8- zY~?RFan|1yT&2F5{C;XZ(tOGe0er33N=}%?MXpDVL7rZW4u&P`-)}X|^4xlrHvrBl zM73{_3K8T=Ne~*CRt9}T_TQEXpAsSy&FwK2U>I>|ISw(X(+Ywz@QAty-7>H5?G=!1O>*FVt`um=mWdN?nZ4{P;7-)X*mJRT+F-_ zms9W;4&u7V#qtrcVWX3xv^jJkOal{Qp%P=P$sn(C?gGzY6~Q9T!j#Un@qx`y#jX(q zvGTNH5=6bqf(nS-^ljxzT4wDRo0ZDcF1kR?=~in3#LKk?+6q3qU>TB8Z8u1(TXngP z?0W|gG+Zm0B`My2xPJWb>zK8upZET6t$q9c>s!rn{(E$0teOX8C{!AYB?GPm2oNkh z=QHtA6FmQx&jcD}bZ1fI^}B&dulTKKSUdyyyWiT$WCf$4i#4v zs0pN#Olv*$v_h#lP2B(YxjTRyKPZzlrV!CgV=dyB+l&|h*#cn}Z+00RIrGz3rpP;X^Vl|=zb8kRQq zD8F}F_a%-Da2w20rmj$hzjq7Wdmg6(2U!67asU2^lnek7&6o`V05w2ffB@!K`|f}e zehI(uT09reC1ME~@FqMMr6L&AAdLWmZL9B}8{o(EGFB1+^U(3d2L;45E-o(CwxXAd zPerobr$~*+UY2H4*4{bE&NoK?|J49y*XMB9bJ-Fj;&kk)L(xe`~8W$m^K`25nvZ}sR_ic1gu*RP)FLqm7!m3wvAnXn;_e2mT-drcj^9^{9Z|M9~;`t<6p zzdh*%Lo!ODc@PrNB-rsbu>rGWvZy0xK1xtJa|?7qQ=(Bh2vrh35)O<&*Y(N;=wpVR zcYoMxVpn*UKv2?xYmtVw3*3eqdL*r7QC7E1BXSRP^bwL2V#%*hFC{{k=f~5|=FwP5P(E}ty(ertCrY}uBoyVBS^>uW>$$+XdCnak zEmud_rFZ0|GwBXwKBMC2msS4CZ-{=2^k1!R_4?n}g;e^8qLGrTJ#EjZ^Jg0*5q0%U zQsrWU>i(F1=RBiq$g&>y`7jr>#vz(QS1{2n;N7+_I-qH>=m|$#nl8K0@bC1Uq!$&W zc8PsJY<1VYHCWAo;LTl%4SUYW?a7`TI%l3anM0^7or@1HyK3pxD8bEHs|u`9gmOam zM6}W9&9{ASBMgma%hGe&H5e~r(5GPWQ9N96-d}#SWYBv8_GEUcsA#m+V-g0&Yr@L} z@yg128*f$jbkF5K>t4Nuo~ZWIP-g*=u7#*z)O>r!PWT*TDOyZyregoqjgfbGrMoHJ z_L3FNEf8fJm~@9W+Sqlk4(@todqTgtl{!tiEfTk$i$c7&M}jm!BzRP8!n&uXol9~< zVRx5_TN8!*?UgH&a5b^FHlY2YXFred)JAgMDgqQkn_#TDjiRbugn;?W4lOu5<6q56 zKcd&I_b|C3Qr!zOrspjMUfVFY*O)>CX??ok4Ql5MZYjZE*no?=fNg}e%N7Bs=c|t#WR?t=&B!^xKw#b(DZwp03s^w?%S=eM9Jq6SiGD?Qw21W-BHoORH{f z5tdw%sYf57t**WmH3|T6g7zQV+Enx)MEq@(bK!wpbI1Fgz+;^#eI+uX%obqKi)xjnKP=Ut&+hj zR`+SDaXSqol}6Es7wyK~mCn@bsVAH*CHVt6HF$vlP6v$8R((n;3l0lrmE6Pt=*3Hx>4*EW%iVQN!*0W zdhP0_LPucDNs+Khee``g0KECEws_yC)eOh3HbmTp6JeS{ZrW_6K3NMaGY$9& zx*l4Ym)xVLzVf9yG}luq`AOm^ettl$Etk-GL`UUz=>i)`J zO=E`{*n-uFarQCD=u=&W@$in;?X~GY&g;)`nXaPYyI*#p$aKGRI$e6ao`BicT^mCZ z5*6jmE!A{20~?2UcZw!GQ+inWFX)A4b(_kXN*_KaHj+8JeT{*H1?CW~7v$}=%(QZT zZu@IVfQWXv<^73(L7)@us4_H+cXNg~)P5LK+^JmV@ncRIjWkp_zOrw}zDk7yT z+2X+sZIf2Upcmt_tKJ)Rc|H5BIeh%B0==;Tg{WI0OE%1PF^ET-z3Ok@n0Du#I?P!# z>FQWI3aro%SaQ|fu|uP3rBx6*yZ4~qaGLy@^Tjr~_~MT1*TEx@c35o1Mp-t+=u9^I z5&qh}a(SuL8c#r0yMpzUOjNp*fidA?qdXOUl6$X{*e-FO-#UsaQLgaiEmpK8+8eIK z5Vr{jB3-uwv$WgR5nE*tLIid6o-NZ%wOtkJ!sp0)eK1+)wO9Vt{G?4q)EZ9X)Nb#1 z$e&%13@oL}q4#$=0}I>$hux(Fr(w?+u^p70c3h=qHNjDos@QP=yJcF#qw_ zwi!#DR^|hrHbfNedQCX>lk9i*=oiwz;vb^jf#g-&mS)w)B7NJ7n_$Ys#y(+pX2aWP z&O=|rO&06A;5ub1I(?6Jk5jQ}mL=T7Gv~`_&TI@?WIw3I8;+)-_^0vGc7IFNNMNSy zgZ?{&3K>`szz{|;)oXDA-jzaT1-?O}z04?lQsSfBST6F{t4Dg_s$xb__<=7YsdC|~cAp!0zaF>*X9hBzVQMOc4# zyT4~S2qU@k>*JEIkcC>Nw}~wZd5N;-xGESc@4^^{Vx;}UzGzaD&-aFeCUNrN$R@XX3Vb!J?vDjo)^~tajAF;)TFv@LS_^|ASvYIhDnZq$=p!HA}MqRcB-|=Ead6VT+^mY zPML3ca$<3a>G$V*-r*_wWE6P%NI~2|VQ@SBHuK^q^!Mg>`Qhys#&WsumbiNv5p6G& zc`W4gg{E;k(pY>?2?N<{mP%FuOA(;XAbSN z$8Yoqb8dW6ukLpCaEKZGe{D`<-pPbuO1<{&o#gAL2HS7!ar~J-$&{yZHjP_kvoYd} z(=%2^DB3k=&+U5;;PCJ!=IvMBFjF0ElCoFlEnQ=n{qvtb`SNE6R}8a5KM_2oBU$@V z3kez~hAG=piAP71fav1avcU&Dio$xQ|MBF4y*63=LIpg4Xw*dT^_?a%Ko@Jb!{w;BD_$AtTV0rRjDUfuG6~wzFQVssjiWFgLKMUU^O|>n#p=w;?m(zx215%IlgziI$ zj4ZN)N>Af;kv#2zG3_;Q$TQm(k(Yd%UF|h)Hwhkd zJByE%Pt|aKMj8R(eYmMFs1Bu)XRpTd;#lZywjw*Szl@c$OiyLsy7L**y7uM}E0fva zg~t!^SxG!q>AGIe;h0PJ-PVS#(x##n3|0hR+8HGq;zjCa#&`M$h6$}chJg^ryL>u8 zgQa*edTnap!0*hi!8uU;HJok~%LCi1H=ih<71Dv>>T2jKnIC&K6D`0fCh9k`v74&~ zZ#IrPTi0$MHZ(HKNJnPh5OT)tL8j;sa^oDDWis16XBYB+KEJ76$?Tzg@k?2U8Y4JMwzZf9r?e6M-J6~>qR#l| zJGh#MTVYI-@C(szbD|T))K-^+a?gTIzJ7c4zhb%A;6k)Z#TheHc6h=kk@@ej`z5=n=u)!l$vokI|$=>~f7Q zuIcX?Z|K)+*MALl@Ni21JtTW~<jgDaK}(^h1~Wz8Vt{^o&paDyGTLhh@AXX7c{fpuSI}!*)l#P*WS_y6BW~!d>{50<@_JBPDxF@(&oTsC@GsFmNIeA37)08-07XF+dzyy$>p?#@k}!HjRpexSeV<*WbU*(Zq3)kL6};u!=8Cd|7dt)aizk zp(+ii}n^|2s?2U`XDam}8oOE)+kAZO8LD z3sqM0-kT*ot-kH#Wd!a!&g~R6zUMkDjsF-PKDbuzOtkKk_N4Yve6cAf9VN`f1**lW z+h4V3aC;=4vm4Bq(V+IE9e&!am@aPiKf=SCg~c<-yNmYlaoKF_ZJJdJ4&I1|WtU&a z!A>wWOdkK8GBk5>`}ed~Y!z=L`!;xW&lY=nB00Toh9?Usyt>Yf97&sb{}*y@m1g~2 zR$026WA`IzqmPz9sZ4$9ntUB$AmDi8w2}C14Fmo5k?%?Z8#9nREE&BfbrF~@Q>~dq zoJ>7#^CB(`-2crrAP0LaI$)Sx`*qtTQHIn+L3g9s-JLkA3?JVHw2f)b$henJIP<96 ze#1kI>KbrNDMjPoc@}?w-B|vdc-?Ir-F;_1q9|q%e@Mu!Yxv>C?A~H?)_A>mb@B#) z_lx&vfrzT}VPeDVPHU9qJlocdV>exa)oH~#s^Fp9?^yiHjBT5!UG4MecOg<5@!+gC z6QgqPFR{$9O*=bVgMnCtS7sKKbgE~|W%yi!x1C(R!R2u3OAWx(E3XFbsB9MvW%;RL29k`)o#weHzL0a##MlqRoMX*0GV>7HWJwz*a_j1HlA?wdFH%dvZX7c&p%&qV2MhP$!G zZ8C<=pi?c4H+A91LTW6JrxXZ(wmG{w_Y<*xL z-nAtB6{h&5tM1jOr(^eM()}07eewWXK%~DH7O9zCQu3`?%o_LR`jzH*pSelZ{krJA z`rPs^$EMU#EC2FktXlfew(GGetw}F#7q~%g<3a}4Mk2sj*Z`o^G?(0~sph42%&V}fU=*_zTZpc66dx;Y1|!Qw;guiaMUL_(%TNQ!TQ=cg zT{LDLpSp92zCt|lHnd>uTxw5J>gnz^KQo@mm3$8?8F_nc>@R(d)82-=$>q^CNZn-k z#?{0p$sivd#$}?*8{9O1L!4<8`Rc}1$>q`YPu-_Z<5uet4G+epWIoyR%ToA1-_n~b zHwFPxqkp_sxt%>4qsD{7`J814uE$miLv+)7BhSmNm|Bgi?bp%uNZq?WyB`k0lzMEl zBlyI1J85J5Uu&HS_roAH*?pet*!$77p4)T>3n+>8>d9t)fsZrIkKKkGxgn$_{1Ocl z%3xTbsa$r(FnwIEjiEM$Y42?z?Z^Ic*iXDHbA8WRt3%3h8l_hizXoE) zkdM~#Cr<800<2=FmrCVw!bzsbFa75imymB^jVnBZc}y`L*p?A4@mDYFzXNW3ehR%q zfAyp@ldYw&aCBoF%0F4ca(Kz*(KSfj9DHWKe16D7{=E+IlMneI@F208yREa7&54Q5 zP<-Rxm>y)sXK!Y_SO)ieELFxeSitDOALz!u4VHKQ_HUyos%}>*erH$PG{!5huETF!9bNC#_33&4Q0?+#Sb|H`~&|TBZ z`?1}|jHGv2LoSZ4cj|=j`VBm_Ts8@in7Oi*i*3ja5(knkwK*%_a2g<+@bAEIk}!vw-SCcXH>0f2>D^c>mZWRK|TH2Kqa? z&2#-O{g4$gtP)UGX95NC3Osd{j;(@AUHt7Bc66HO{*44N@DJ&sbQzQC6iU76YrcN7 zs1vec+b+jV*QC0Wd!C5yS7`Xj`2=D-FUKSrzx_?Tv3&fa_kKL_*JgD`<{&)!+ReF< zi+1uqIJ3XE|Bu;PEf#4~JAGp`2Y2X=U0b;w291dAaE24^@$C&|yev>6qRwZ50$2OV z_RW6Zu7})?kH(63{tS6eDuvkKI?r&dQ`SR0-%W}s-@dmCI$9+z^XUdWCu|Lt{zH-6opc65s8buah;%D+~x zU-ro>IL)r5$_80fLSe9rk4{o$DD=k9$NG-0cj{5*J1<|nV-=f%99N3LAn%8WNRD8< z<3u|(HnCt_HSChhqidPEUOalk@Rdo-3SY|@=7AX(bMG(X-I3#L4nET3(REDSDxTwp zD>GyS*a%wCL#a7g+ZbRnhJQe`_kCKS?dXWiR{W|BG2?IqjRfsXYi9^E;QcOWj=Xc$ z@iLMA_vf z00>0|U4HC4s@WoQ0BE5Y?S1IF&+YppQM_Qv!J*#_)kNl?OxEXG9wb7rs%3Qj=XO1k zBUhK=YwB9kcT_BIcFN1k}|BmeZxGBDm{F{f2DKU~n%Q_}hemg4UUz$rj>Bo}W#73Y>3a;8GN5^z_ zfw8(T@Vno0640d$O-3r1>xVMtyM^==79b8eNlSX!oL-TmLLkrWHK|5*A6_nxD(Z)nw&N(YoIiAl}ncC zVvltFOt6Sdo4FPg7`U?{j=(;KD<_T!$FJfH&|}wwNt`C_)wM-R&Za48#n+Wf_rd@8 zFQBwIi|EGG1A(|C$H7#5F{3{1t&lcFQNUVq5QECVu8=jcy-~(Q3c=r6K{4*lfcn$l z*ZryqsF0!cc#C2;j8XL}lW=R{c`5@?3|07T<{V%9TdZ6r9X$~Z ze(E=8*Qx!`O<7)bbJK?E23&6q3}j5=NSby#g6ozON3AV6nQ%#mFp{_vw4yAOXBt6E zHCN|be`v&q^rT5DGfoB-M=e~0NWvtcSm<$yh)K3*j%)d*MleoGKl9oMRDAAM*gX21FG1+|S7DNPK&phlJEX|DR58LUSP7A_yrUkCij+szY z0c21g+MdY+J*sop-}YnD@~{bsJ6_2ctr0a@jW=dMFMCaGoRLz-3ym$rj$&y@P2g6G zOQ0K{R43G*g=$O3OtnxDFewD<2cWStNwGy>lju~7S)bajvA1>PKsLp=uFjcobYMte zoj5ZoIa%5*bZ=HH190Rui}bkMo&+GaRLh~9ARRt)d;I;o_&gIL))C)x1X*1f6|zku z>_Ga=owvl(P5*`Svg|dNkisK0iV!V^U1U8Zvd_R=>N1$zi)s}49XpB7`~=Cqc~?V} zCi9P*98h{;2b>{MLhTS?%TPJz%rQr7Ur=ejR@&5~H5ije79X}QOGwDh%y1b-Y2s=T zEUg5<73P7F-?(2{Ky)@u;&cj&tU4y(hj1t z1E8CD%gtjEmJA=YyrN`uKshN+uj@jQaXW4ETg$VW3_?p5qt+Z1n%|M}v*YIG|H|fd zI`r((Khc?6H#$9l@}zy0)5@Sghlv&ZDCMr_u8vl|{fuk&m(=P=QZ(3#sUni8$DXsO z`X{d^Ja2uvPfw9@rFR&{pg=7PEwUkv_zF%)&bx$Ccg3kU;nF_>?G(FZNjRpR&jEJs zI=IYQrLluDE*u^G)WIsnP;9g>H?cg}B``e&Bq~daL`;#EW-!pXt8jQ!J5tN@?c+(R z9gIC@2kQ(TkX$IIa`H3LzrDUhd9t(GUZhxOX%x5^D19j%h})O|^r3b%^SvPnhL6~? zuTKk!q8g3(rS=lF^IXi=c;tw(&s4cG=uBL^Q-Lp<7F18yoeP3LZ}4bO z(ks#3{khwkxna~XRIEfU^A3Iwvj!3|DXrss(Hi@?Gdrn+_m3`iiAoa{K_ipk3!Y$; zsiRRZiYZlVi0!Fc@C5e9zg<8_<4bz>cm5ey`aPVr1-3Iq{aLTCp5YGxkW~u35<@tt zFv0a%o85uwKt1B{I%r_yqll6iFv6~@YxiIU>aZpxHQqhnnRwxsN5gsL3XrRNr z`6?#cP`BJz%1s%dsS|=vDi(rspr{e%tV!gG$+v)7fnBOcJ!y@P*HLq<4VZ{Qc-r^F}8~ZDA5Z=&Mk^(;GR5nJ~s;I zCa5eW(ilZ#S#bN1@F}3NDoT@-X}c5E4%~L91pN#Q*zS|O2qg}ah|dvko{U;yGU4sD zPI#YZKpE6dLP|J;b;R_$A6`jC*fXITQTzJBh}#2C2{ztw)T(cx7=$9j*iYqxU^XR# z-}6|efI^e<3POFAqkRQBc@eYYXP4$1=QpN9fU4CAF%SXoBO+^DD#DOdC};mDUhl-ek$<&Ro-gCiKO-!0AGzAwVclYr}|!?;H3Yve3|pRV-}L_4x}LqGQDl~B zo`zT`o(r^h5MMb4zhkzymAPG{03s=HFsPB4o`jLb2Fd_SJ@%hZNJr8qQl1PcBbiuM z_Yj4!07_DmMT3Tq#IFnjZQ>lZfxzR7k^*#|b_FBH$&G&+#lY}?j53128DtOpl%U5f ziHZe-pQQsml<)Uv*P=DvMH7(;hm@UFYOch|h!UKRsfm|H$HEGFAzB(4f+QvFCvK0e zwIg;2|De{|M*5rQV*N=65$7maMeoFX8QD}SX}j^#+xT2tY?eY$OonXjud$Fp3I^=z zc!veV+`s?Uap+`mT1{AS6oI7$r6qVsE;&3<0k!nag+If=s}jlcBR})b{Q2*%MOAfh8!@ux2XmC%wzHjUs4XbDg^9v<*}oayMH_7p>mI2adp6GVezDjAjX z8wv05EScs+Arq>7+1|XoG-pp-hJynQ`f7c6n)=}JD3g{nt+s1X#RTsMELh({IA_)J z`0WPQ%Q*SNv~KP)-Evgftj?3`43By zEzL_G(Xmp`i&J86MXnHbq;OS+Vrh30Z?z=@;HqT!UJ+lfxr6fg&-}@kSNdM;u8#9h zikBrnXb;Yc^)4KFC(X7p;y^nBG52U#dD8^v!Jq%1?CM;zfUESkK(HdFA;manP^Lt& z{-Nn4_zTkw=S%ab37wlp{ zBg?S22+nM4l*DF)`8Z?$zX@-^`c{;H)4CuSxw?u#2~n~wi8785v8dZ+biCOTkgm{y zy7k~uu3E0x62l^-jMx;*0^0(?HJFufAZ$2?!qtaahPFmIke2*^7pYMvs3^JSq`*0m z_+(z3yOS-8xa3Ttbz;p8q<;fl6RyWxhD0aSkXa~9XsHVZC5^*FH{x4Y$!6JFH7$dt z3Q~lWbG}$<(1}7>Gri7BSNP_KzEx-AW+TG+crFbr9Khz#q?{ddvoeXCtNlH>Mm7T@ z0kD2?*7CmA_r%UVfq`^~R?nvwuV=_Kkeb|)JTVnbLaja6YswOaF;R#|7wKEBJF282 z3=W+gn1m7mK>&&oC|y(%s6q>Bh}_*b4zitl@|&yVh6#tnaK+F<%6EYvxt=HYgNb;| zX2n^2s0J~Vq!npw)Y;i{Jag^W7TYMPofMEJC_dLER!v@XNEN$1pk@i7sV)pcq+~JEuts>I?p=M(W9}*` zSWZw;#K69QB{9%f$J^LXPoRZTxE7Wvn;b*OIjg*&s8U)5@!S(TSqB73UaBor!Jt7f zQvY&_n!E^!5}b*4K-^n#DO}czrT3O#Gy>U;&g;}?*2~sr_F|sia&eW#sO4aY$m$Qw zpx-+|E^S{z*l8ix7ZJ&wX%UJsJl590UM)5KL9dpM#wnX-_m0a-2#;V z$vOwgoCGs*n=1=&*jcEExMHb}DK|oI&NQz|UO15m_|63=V$f8L+=adyXUC(h{Li2e zOXLI|(bbMoye89RuMwbFbIubX2PI32%f1KIoYtPdS@hd~O^^jPAxKAWRebv@0TV`v zv$)A7m|{fn+4j-O6`l8!_mW3=oLG3|kO6JwgMyan5T5Q$uP8BWma;#n&tBu)_CM5fqEVssblYzW@n}qM(Ose-(`kC~MSIa7bNeFX_Nl5^dl31L4Y516w z#bne>=QeOD@PL<*a=FGZHxV9|bgc;v*cW;x-MZf8`SG5!zlAk!hVoAYCVMvEIo>8V?v8HXnrSW6COs}KhvNd1iB-j2R55aqM2^YVgqDg z4UnmpZ+=Cv_tR7-qUQlEjBCk;8SqmmZV-al3T2R@SI5rR`R2}?+ixn3pMEG#wD>?g zY3&JEiOtcLW+bzn795_i`UqE@`td8HsYWLBnec1ra~!5HxnxAUu;tVBhy4Kc-Uk_Os!Y3 zD5B=GXK86n9c(NJ(Bilh#~e*YTy=(bz=ovSQ0KXHvk%r`_rFEZgF@$6q^O|tan*rh zak8s~v&m*ic}f7l5D)?Y0{}Bb15f~9UuDkJ!+-)%j6mO3wY{(ykvy~R*<5lm(l!YE zZ(GRKoNUSD-6VHy|NRhD82~DpFdG5@c>q_S0CwpsUBD$=fNO-W!nwj(d|aXjJm7#f z(!}l=Tq8F_iR=GN03XEeZY3VDjT@T|MT15zmzE9C*gn#fxcPnjld-W&3o{;LU>7&q zqkMaYP#dOA1h{|#005aOfDr-!hp1|M+7e(X%U+cNayGEtu)4o<-vlG5Y(YXe_;T<3 z@4vkGH|^T7&;Gym`xA@5?f6&xTlMVOd;bsP<5w?!uurftU3w0UU*FQDbLSlSecqXO z_31nGF#h@Oyq)&57 z`Hh|(f&FT_{q&bUy-k*0U59SHEDIs%X^)S%I%giK9&-Lr1kd8b|-u&nxBFI5X1W=IxoQJh+xn=k9L zOGH?hsat6DU7~c@(}#KbZvXjTJ6)ZZ`T1S_{0Ex5ni$xV0@Sezsup4kwwl9`yWFI# zOd@Nl<;wm%FIUK=HT}(eJ$vf`S7;VJvHafcj`AA)jhCb0CSt>8&A5W1UTe+t+a%$n zHVaJ2E?fHBgzu}CsFm?7PSj7t-c|e!9=TFe&m&@YR1Rqx$&k0R!xgt(>OlLm5ZNV= z+vVSqKR35J8PZ8lyKPZqL^8QWw{0&9E35c_;>jUK)+)xt}`G!u%)@5W#VS(;>l z@;Dp?f6kRl(AA9W@QyfAfndcUW>aCOGtFi@?>a0stSWnVw@Deht=%$c6o%;}T}*ca zh6wJichST-ad*i9?xd(-)v@q&bhe@ylsMH?DkM#tg@7oeyGdHIhzwuK)%Y!ru3O% zwIKY^k)Nb?qdL*psX1pN({8j~2{`7{ovyp&UOT#n*Fb>aFvxRf-@N9PFY2vBn%CA& z>h5t}4mlxMivf$SU8aLGSVv?|3C_lMw?gNgW%S2gk20AOQjm!B#LyP`r*JHIW=?cN z*C4Yu-PfF!Sy?J~4j9}m3F(=aT|{8*csD0Rm8w4>-6%Ft?CkknOZK)5Ut5D!Fh_Pv z#0cXXl?xuw?#O)Zdg7%FRH;rzqg~=zb!J{EtMPb$LOQpPz1H-(w15M*Xx6EVP~_4+ zAt-8aq;)#;vcKv;rmeYo3Dy6%G7a zCKxlM zRTsuY7#oOSO)@mssdpQosBV+g8#TzjNo?JHqmWIgEGAk<7V@9!$VNaVR)T*c#qN22@aw4YJTCA|QCJxFjg|(C3MD!2Qz4idYXC^C$it!yOn9o?-Np|>?}=t7R+6DQjGt^1BudowH5LE(Dz1spvJ zOHb&Z@?ZQr-Tx=V?M#LX1FFO`xphq#=(x5~+$9?{+l_B$?9FFMc>j^9|J<`C4QeVQ ztnF{RdECSULVz{RYPsiBg0xfTZ?ja#KY7nD^6U8?DeXB!M^U%b7!#p=R=z^((Tr!< zmKKYcA=mBCe8qMf6Mmyn%>t%l&uo`gx4VOfO%{g?cLvZiXXoehw=sbI`2jPSc7Bay^`&@I6`Y>CkQheP)CIY%E>{P6<0ER~`?<#Geiu z5)QE;*eIFF%&&)I^AO`8ONS4Fb2WEg5KlwxT3tBX5Hq8@4 z1T|^K+I#PqFYmjVF}m*-CuVT(uIIVie2Kir>ul1yGui(=<$@lYp5@ol5y`N@H#<@z z)|>-kBerto-(8apFZH|1y@leBpDJiF zDLum?WKxm#8F+Zw;u*h&fRThgC1&WoNk=}bA;@B_nn;@EQ4`w&^MM_M!y}pt96W#B z8$2cblas@8p_gygK2r^%A4^G)i>L_{W3sbCJUL8!_=jk3*Z_R8ubfaje!Z!$QY5=w zz9u&LgnM-N>)vSN|y8CIH3ipLu9RTVm! zaAQ2y-$G?TVimbtxJj)@4}uD^U>U?cd#`Lk7P{9?TIQ#7(9gE{a`1NRV4{r{k2IGL z;vuctw^0&fha&IexK&axE_a1)69)HFgS3{O5H{s#aWc&$2>8l*Z0wAU;6mtXHQYb% zlRH3qP-F)TnZCs`J2R6rTtHxDE&JEnUhI<4uX--}gFj5KlT=@`kA)nVm*$qlvT3$| zb#Q5udXYhiP6~$gc9S#nxAyK>z~`C-;F)UN z$WBC>D-Z=|fz!i~PAauch+SQ?%!|%!@`fDpZjPfT;=AxH(u+HJ)Rr9f!mD?STCEQI zmKCHGsP*_EwZ)DWw&S_BE?9c+BB(!@c+5>z7FESd8K?vq6mKUX+A&|@#V#09fNhm% zg29l)6eORG$^4KTrO?r+;WNByzF{)@Q7x$aTg-tw38MChTS32zuBMuCMjao zw^$VbHinMcUExOSY7(8TMa+@O=dI;)SuKVoCurBJF5*Mo%Hg9j}N%ZyT5pDt&+?f$j59Gp{H<3!d>@K*Vu zsj$7kKwbh90xKr`M9!kKZawC>u8GRr!}%ujNPhIdXQr7On8x7pS<(lZxp6{=+|E@m zW0Fkd4m~4JDWlA(7V9DGo;79wk_J&xV3qtUtWjj#$xE9S)zp)jN`X%2@{k1yi3;s7r7g*l7h68o;Yd`Vb%?i-8FQ% zEH*mFyxUkXq^z@SvSP7nfxPX#=utlMGf(Hw{MeP>@+i_a35$lX2RZ>XX55HKT-gK7 zkHV*DH}?rgKl*GY(hJ+)J%}g!_pD)mVp*Xp5Q;wxV)kd+pxO`Xb&Rq9v{@8rs_cbO zrq-D?BeMkv6+R}?f1w0KSc}kTNZT=#BdO>Yd{+nH+~PtayWtRI-yMH#tk^vIDl#DO zed_H3=2in@0&*kH#5H<{3=wOQjYjGd{}Zv*`oU_OqtQVd ziqnO=PMul{?aj-Aa(WE-9Q#+YIr;zGr8joS!G~l2=>P6!&o3Dbx|tSR+^+sU03g6- zVm!p|RdGso`N5uDQ@?@vA_c35eVd;<{c<-ibEB26>TWo86*g zM&(Pjce-8quYUGxuC|Oorqnn>v~8?-#bf3e>A)ef9-Go~E>gMDI#Sal@-YhMpsUuT zM_K;IF^wVARxH64?IX1I`Z-=5wF1X*YJBf!iO43ASG?@b6{m?9$ERq&&FQoWk)uG}xQTIyi-B|bE& z+#!j}1UoYRF&CLAw7YB;57_#9j(=jZas274jn%qJ4RF@yL_)>mz?g4he=^X@b?eZl z7_Q~bR(D8?!{bRb(7cE}!Qp zhMs68o*Z$Z{*zK?9Xdf9diEW9Tv(mlH3~l*vl}>qL^=J}1lO6#hnk1S~?|2UilRk;#%K29-x@SlArCK%Jn7_15NzFnW z;!ZtY69Gf-5enRm%;QIVuwKhK-3z2n=}@<=qauTihQ=m5pZtoL(hEp1jLka1nY3=B zMfIiHJKgHL{Zi(v;e_sz^j{o(DTPXp4`FOBGj{*Qx91qSSsJE;G`HG%^^>hR_3LTJ zPX?DA*`*_7cnFpGBRArRu-$BlGpqgYjIzNeAy+0qr^Jn~ zi2^mp1kPH&IF38*+{){dj$jJ|Bei#n)XB;YWj@9w+|ACA<4br;pWe8$?;h72iJ#-I zaAd^V+|lm=j?hYr; z+~k8DqbBjhN88l3BFp=R44Ap}-h9JF+8xML-dw%Lgo0>y1baN<^t?#6oxys0d~a%+ zbeFvRcY0(6f!yrIRdW!(GM?#fHE7#iIIgZoWjE?xB5zHHPk&N>{J+!|uHq{yNxwGd z1^_g>JVjDg32(uK_1li~c_|0C^rH;>Q4Z8!sVj^8sRqfD_XRqd{`7rEbE8jEJZ7Ua zsL>PWs`4S6{lS9MoFob~;R$uGY(fS2KVGt)QQ?1DyQ*r%f2i8a^Y7$=y5et-#+aHu(*t zhD(P+ectp~wc5Bb_;E1{1y;tpM<42ns*|mU;$!F)ZGRJb%x^||Y zc?yNLL4Q=fZ}h_yKJd#BizhiJYayI{_gP2hpSv|8jwveGYT`ehb}2C?HQ&S41Z3R& zZEY4_>ZNtgzDduWTO**krOhiM8bu!JCgH3`oSA?T{LNJSv&z39`hR4k?@$|g8hn>P zfAHag0GgLB)fB!a8av* z*a%550`vXu#7~XX!8$jadjprFGTaw$mq5*_rerpmH0|AQ8%%AtWndKLB|`fB^@M#z z+Z%N_@u8~VNcEsc&)kj#ex#}pY5kO+K^GV6*U!F(h{1B`UAep}p6fq{ene>nH_N9# z`%`T_`@mh{SgZ^0uLTwUD^i^UhGK_8vFoaAOBxUp7Y7kFlo`FII= z23+Fer2P2u;}kuaX$hY|M3=ONi*aLy>52K`YBrr;#E4vSLGSo3hJQ-26BlWl++Ih- zF2eeCryJc6Q8D?DpYfJVKS$t|Svk_#20ZzsJnFfYaKp)PT<;KkD29$};?Kx9ws$-W z|IGcS@Zpg(zs!DIert0L;W0aEED=cEZT{QB&fg3Pei{fI@gjZ2@;p9!V>GS}|D z);Z_;L|7*5R0X8Fg}JUCK9=L+N50N0KKZ3)Du2cBc)59uKWCea0#xQA6h@(0TXG=+4pmPw(cp9P&pzFwuJ)~*v4l54pkYL8G8|1i({J9|+ zPJ?&$*{QSosE=wtvKg$_!8gRf3CzpbJ_+3BJjq-5R-WyRZ6-#lyHn-OwsR_stieV; z$XYz{mv1=NHyd0wSjv}^Z~GQ>0g-p7bLIPe!d%DT;S=sK@@P4sFU*_~4sBK*$2O@d zfAJT|4mtsmcc=FVPW=3O$<4{uIaNnF+HdWBbkz=FSRGie&zcIzH8^ zM{E3SbKLf8qb7D^rGfm0k6bQgzWUw6!z@G>7x&CvxzExPR?-?T%d-^{%1-!-JLLY4 zk01DBmumOcp}C}Kx^dQYc)*wCV#l~x^p&MCsv68Nn0%2sOVdp338O}D?N*zM*X-x} zrEDy^E{0||OkY;R25c1DoW&;&a8bso*F{c5zork5rzWt3C$Vnt<=N^Sbx!hJB&O&l6=&4(2^t;K*uEA+u^5{SQho|v_`bWa1P}0$v zykDzf9I^G{B%&=B;Ks$T^uH$|rv~xe2TIhV{_&4Bhx8G$B#vYeB^r_!@-@V;A+JOV zgm=62{Q@1M09@7g;hvQiYE2-}R)wuZWb&oZ3?x-7%TD6mD}Vdr@%VpV;VCFsd*((3 zvOoeB4l3A4@K8o@s40K0C8hhELQapAsTpM_{VgTaA&C1>A{rA9>Z^J;GD3d@UuR+C zH2mK>w<~qlD3gF{3_?7C0-u&4oJK zthAs)mOo@7f_HY26n`#86a*N!tmJa!LAbGgb!f@pj9<>FN?RdRW1tC=`Uj4xz=QP) zE5Z+^R<|W@Km9VVRU#0CsGk<$gi#CP=iEvh%zzu5nNm(f7Pnm}E_KEEAwY4cW4$#N zkS~;<@NV@p?L}NmG7dHlTR~`4Z7o3p15yFKJZ$>rwdKCRVkx-d>p&bb61T7|?xgH% zgQR&LS2g{qwIfgMQ>>>H$&+(`sTf4dNo=yn?m0?oo=V5LG+N=W^T8eYj}G*VY|2OJ;9mPkG`cVnaIapkz4u9pMzuY--k~17}i=jiZL+4 z7CS-s0K=Hrj2Q@zw**fNrx*#@b%9`JP-**>`4)rTZ*wx$|F?9EC>BtmlSRP zA@$QLpaomeZA1b$B0^Fx;g)O!RHoc#k&rFi9V2V2r(Q5Yt7D1mSc>r&Sc(?}2GboJ z9LZ!K$)$7F6A=tSOoJx-(h%xNiHPh8u?F3dA~jwpIAI7hwT2Z4=S=HS{A#PTR8oWI15ePXH3nHLMi`{HiFG04C_fS1 z!boThj}h2gGP8Rnyj5b}HOm1NnsP)Zrx|4h#{Lg3z!Rv9 z?F^i$g3&^j%%K$reK6H}IxU7!TBsVudqhPOVJK2^MAbxIAPZ5zJK&<#C@C+MsH>?R zsc>q1L)1VS(hA;5zx)~@68x@Y3o=r>V!Ep&7K0a6ZrJz&)*5h3RR#I?tFAyf&0n zsNl>MO+?;OmGkVCJUPHu5Aj5jNTK2t4HlOM{AM}M(ZS3~MN%q@6$yWsX<5XRIq39jWV zl{NDoqkPXC+x7e1f}M5ij^s!S&j6VOS%^@?oTOQ`&{nmqMa+9LfQ}o-zdVScEh*tI zVLFaeBrO9*D`F#FOc3E<*OOcH6XlV_X=#r{y(`M<=%5BNPO?Fg3MDqzmI`lc2yYZD z8dTFS9R`48Z0nOoV(cbuPm=#(d4+3hFq)AX($<^{ER_*s{D4zhBsfP*aTW5Ai2nLV zd!6S_>v|6jB%2gq=9((SU^1BYa~N8nG6``IRwOp@e2e+adRGIL3z5Z$1=d#gv{#6& zYB}0!+Y~eLs8>p~u;6z$>sl94po>IO#kItMV2G5+rru1nt=39Ub`EB-#d#%GCqaK@ z|9QH}$o{(jm!X}vdW`cz@R>ea;o$5!6o&NTD7BI98SQ^NSne$g7I+1eSEqQ-FDA%Q zlygdnqAb2HI-=lD8EvDOFTUJ^H}=Tb8iPyZ79~eKYNib4xHwTz-grxdM%L}@IexKTJj0rMk0DE z5JAj)qllwUp?KfThMOoN1c(q$8Y$K!*1|xMnsQwNn$fX#`Q5d)#i?T~NBoe9v6Z#J zOdCf^FvW>9?v76TqyWq@og=Ojr@&PiDW{`e4J611XOy&cJ2XFC4B2avNIGE$q73d4 zEK)_NL(ib}y>-o^{}L(y>CPkdDtdCS;#4FMEL0MTdBFn>NVQObnY;LE2j}I^hn0x} z=mAVIKC~tvE47LMm#WmfDK$$)e->LN=TId=NQ%9uwVr~psF<|K-`}L#4idpgmSO_N zD7&Bt%t|1XE#%MQ#Y!YM#HO*u5>gT@1S%r3DOfq&Vm2+cLOs)NxLXCrL<2C8ii=Jb zTgoB#2r~|{>yf6pskzZGmQu`L!L}s^D~$c@slpXpvWf3*)%)`MV#0#b&d%QtF}z9b zw3TZCL1|7kf@)$;9&I@#kQP`nf|J$|zx&vLPyuS8O`p-wlH%||IY2{=2E+v<(U?Mm zV+7sF=BR+x@sF*54gI9$lATk_jFMM>Ok2PW|FsK^vtDg(ek{TEUm{VBixf3H1 zWfmDIpa--TM@M%i@FRQT=m)`H6o?|?u|u@X4t$-2Y}JZl01zFEw^QD-mZa`)8ED}^ z4rxYOD|$1KY1z1UG^n{U9L%W53zET~It8B|w>KZ!doFpTOU;j2$HnITZNSp*vz*v~ zj40xEA;Zzn-O(u+t}bga(qSd?4PS zRd&*h*$n=Fp_B!VSR$Qu%dd*nsxV3`+Jv27ib(%pTH1HylY+P)<(N)vG?j9U1rhNn zhX8usQ*u@o_K>#VoD{+32q7vej7np15MG`;`#LYoFkQxNaM^n!if9H<)-ytqdl7g@ z5XD}yH0eLr9Z(0Yb?6LbgGHcwq4e|Ok&$b0aqjmLSbzx)F9xTuf!@^6E0iH&3KT;e zN2L{ra50cUPJ$y>8AMweQg(sUIAg=01T~7&UlEsMLjci8+e<$o-6)k5N{On#%u6t& ziq4jZpsXQMKCnNCR-E9sHLH~)icpFaO3)GysUUtL(}r)Q8C$y{x8WGdB1i(~xleaK zonpE-Ff2^ODX6F`H%};|NnrGporu^KOsN#E!hi&oArt{;AE;U;=QaspfYM>C*pgm5 z4(zE&Nz9E!ifW8n5`Nwb=vWGP!IC|%WeXUstA-NDJ)1$I2HNjqF7Ge;NsV!50?)>< z+$tdABhY#W{NH;~NH|}Qk&N)b08~8WVF^7xza?1wIZh^8iAR3K<30F(~A$c*5zNlhJV+KN<7l+*j$ETnu{fL z2*R9O0cE6!h&a-L*dp_2AJyLJVZYR1Q3h4$*=pkK0r50?3V0|7!dj-vi1|uJflV5kf(h{6YMb@9@6t}ELHZ5ZYQ#S^?7Ujz0~?8FCA@ePRfMv6>2^NLnQ-X6<6Ggl;RTsX4;)+%(1gP6yU z?Cq69^5*;GNTGAk8Wo|VOA6+cQG{g{Xrhq-``31_Y@k&i^zUEpoi%f!InoSRk0Cz@ z0=d?$9AiXAmn;NIuUBUxzWbV|ER-HD0WwjnZr}8_>xh7$b>TzUU+&%IcUlx?*6v? zVK!V*uSL?jmKCT5eok!SiIPQBBTH|8-@@@aDXBbhD+WwKik2=2sP)Hvq1+>R9VT+4 z$?mrJRspO?N2ekR%ru3ALwau%G$1ZWCQ7}F4H9?_V`?bu5Eo(;2^yL*Oe|}dkcK%q z-*V(^QWLg97Gi>9cnX5NfyKbclX4%!bTICSUG&J7woGjmoQnc4D+4iJ+Cy%GLVi@{ z{4VGMn$$7qS_jm~#lRhDG!_6jK*zte9!VUu6qfKeNY0|*{HpjNFW; zBZ8DB&8s2!9CuePWCD?fxSTV+xD^XZgH#_esvIlb4RT`K==tC|Q3afmA+q!>#(Ay7 zK)K{RQVL-9zF(->l7q&tRZUc$68H+0oVf!@jbPQ}Td!Ad#YzxOfh&3ENNd3=wdd*6=9=40@5r0J*z zX;mxFbV*!c5UWJ3wTXzimDjg>*gN*Bb-j76zNMtbJ%Mp^@aR}h>nO2kjT$APB$hC-rNcSP)Ox4eux37$iE+a6p7HUO6Vq$qD$7zFaWLfTp;>6Cu&Xb=0NZeTpC-oh zUBd?PWZ*GdhP^+mJy~-br>e_cT=Rufhl=s0 zkO!@qN&!_4Q8~l}NxZ(Yn&{jx!jg+~p$5`aD>H%kin%E6SVRnxDKP(|@~!8AiN_)! zx~)o(I>6_ zrT6$+Z<2I8a4rm4WfD{DnCokbr14bTA$^d2L+_^eEl8>6cWT*z#VSDpivz{alHNO$ z(9l@&!nfZL??sYIA+!x0%qv~J6s0Cqkb?|xmHpfy8TQkZogtA#>B>PO2ne-M3rvw~ zOtFxvE*UB%HBtEhnqz^&NQbe5ImKtS>zaA2lx6X^Mpe{I(p1i8RJE)?jwxwWBM|2h zY)U(*F9_9YcWQL?;0P?VQZ?&qd7XijToq(fuvZnE$?cwuP&7&k|Z^VnBIeg zx4;5g@d1`R0*mU!oSB~5KyWeNKTq>4VD=nO#bMzQdzc6$GGvjWTo8=3_YkQZd@CyV zbvKlDH>x@;D;|rq7$TD-h$;ib71@<$U$qfna=~o|eKiUEC$`J%_;`|?m5SC{6ounU zXaBY5J+TCRA$_xF=y3hXB!v?yAYs&c5dD}(=Sf`&#$Iy8^d*aKPxRM=$P52|oZGK@ z&`t_PdUI$}kXeI+215$TFdjiX$D&==*Ea1%rO?HTFvvxoTO@W&jT1{|r4!O+i(Qrx zsbP!+ouoAgLYm}LxTAs*SPLT>17%r_+Nc_gct^hr)4wI?|< z2q}Usrp16sl(iMMsABC9Ekz6d|elS+dY3+&#fEt&*qWEU| zC=|-S+~XEfE&`X>iI}z1y9TqZbA$!i;Av!{V#FAlN;D5-8!TCD{eQrUB1~Z1B-1$hwSYi0EqUQp%)`!#^a!jL6iG{%PR1ovFL z@9(4|Y$q*@u%Jtc@nj;HRx4Nve16qvad*^g_n%8n7-|X)9lbYVf>NmJZ*-J-u;LEd z$Q}R7PX|_NrNj-9`A|$NQB{nlofxyNXlqXPq}m&AA7ELc^nymw;FZ=!xB&;o3 zdM``bXxlr^?i^ykKnl|48cVG?fU^Qx1U=I=Qg5H$PZZWoY7-&Yrt8FqXCPJ+&`_ZA zdV7qx#ss5qZ5|CnB>)xhPA)j@T^zEOr3VA6Bs1IAy5BNNd6gC%Vioc_Nb=&=xMYG3({mCV7B{+Vg9uF|5C8x~05c*009^%}i*ce6$Y6N#9c{_BvKZSN ztC4=ok_RJ0g-k=k%>RAgf6UC`kK&JMe~bSW_#XXihtK@wk)C`nZ}QJvxkb*IcjnEX zb?ei*^o|{wZ~tohUx6RL{rtiHNAw8SU;pdybEAu2_|JnB>zu5&?z2cRi+uj@VO|J^$lFlKJqC{YRJF`o`xKQVGVGvB;o|p&SR~R9FIOBNu-4 z;(Pt`v+CKLdVAhH`Uu*wf387&o;*3($%>j(i$!A;Bt;Wv#POVCJL^YPdYl0IIgXr1 zugI~d?hi)FADf*I8Dwe)Rt5VaQtu~a3*@;s&V|vO3wayRz54P>J^3%wC3ffhIY!#WPtMQq1bX~Zh+w1w?~+im=k=IhM zEff05n||egMSsXWPU;(dtiQU6^Y+(Ua8j;Dc=r6$Tq9e0DT>4uJ$E@ZIG^zlUiIvP z=P;i=xraV@V%Osq$c}qCuEj`d_i)i}>(3>yHm!izgmFx~ew81tbnoBzTPyUR{W{n> z^y_@3Ly6S0UF_3;ck8WVhnv}Hgqje@ARl~6ahKcp3rEc)eHy74*ouqRe$fM>S}@JxApX>_+}Mj10xZr*+qep zMr)UxQbSwUmDIihO~cj2ulqi?vIPnpn3gc@7DOp%6xN$!#(URH?Jdw8TyL-cYo1+R z-41B)?WRNx!Zo_orZu`~h>XhDN0J$}uI>V(dUA~sUGJQ;UeY^8YgUVcOaZW2U9@sn z$-T;w&T+5Cq@!B-sXmOhwNp(>c{Lv>F z4#v!5q5bXVzG{K{x6eT%4g9xkEZ<3Jf;>?ut+_2}S)wp7A^ zJBVhNS!IbcPJXEnge%}m-+<=1Dx~gvEk+e=648G$azsz(duI8=QzzGZsZ>t#H9*^$uWUaHRSuQ8aj=9tPg;*nOw?T6 z8Pef|g^$UrU$^3Qzw+6}p!T%KH9!@+ge`ULf^AvmVrN-vWF?}*;WPHivD}BFpEei1 z$dck~n~}`u^5s+CmbE9i4ByE~zm7JQ3oa4A)&IhTR`wKUuQKZcXnUVl!8hM?uczPR zCKXu0j)3#$<8_qx50Qi+?Y@`Il~n+@#q{nQh6;HYJK6O|o1-v1Oh1T<71)8<5)L@K z--ONtu~}57Eeo3rf6)Q5W|gh-+i&jZVVwCppZS$VIxUz?|Kw~|vEV*dmGGE-QniC* zFPNYT;dVab_v$2}$G0v#seD*pk3S_BZF7*d8raNS+KfhCZjNhfc0gg-j@nGoesW5B zP@s~a&m+4r4ZVyV;*b^O(O4UtnkqkfCjUH_E9%&1bs;4}QHVvxcqq>lc0_0Ucq=vu zsx-M_LuQKXr(FVHU%!gcd>1_%w`uvG@ItyH!Vt%ECP+%nbh>|MHAp4lsqrHl$qlk= zLx!Rc8@mEDnTdTS*X!}4`*m*Z)cXFp3ad@ehgoCH*hoITfB@8)@Y$*&my{VEk zcF~=>^G`iFnb$NDXdfBM`48S(xhH9jU-vTDgjx59)0|Ow`ZECxXJ}g^&tHurc+4im z;0VqK<6iLM6`s{O{>eOfv%5RUaxylVLk1>HUdJGoA>D&;k7OtR?Z2b`nDxUP?XW~} zSy$~jHIv4;Xe%;O3lTeQwkj-Ra%itY$>56G5k6!kiw?k$;ly%aV&b=Q%CGCOU>Q=v zN>RLdeOzRuv|%9Ah}(u-wBwz;uJ5hyeRderJ~%m}b~rZVS2bi-KLrzx?MB;`Bmcd4 zZw-6Y#^{x+mQS&Wa&OA}Pxg;) zs->R!F<@~HKkJj1%kXGgcBoR?%`T{dhjU@_&lkOV_E+UpZ~(|&lK>fxTf@@dQH;)O z9x?XxKXFOM zwLvjRqtfGsP4>V@A|0#Ckv$GD&+a|?V0P*M{zTh46}5!qBiY1;E9>b@8kw!t50w0r z=Jvn{+m7!A9xNu%JSW$eXfI4=V3*kCabGsIFkSAc`n;+A)J8!b#LAH*;>^eg_;__v;hYj2~`l4TUY+0P$01+5B=EvsDPPvBV7-2FPPO9NZ zu4o?iFKY;9umahYkF?J&vY^bLxZL&zv8Ldw*|AZvivPX0!oS(Poy zlE)Aq>yVDiAH%%Th(^P0?W@wyw{ktR z>SkE_8NpaNXfAAx3}GUM%5`LUkM+KQVqMMNF=)}VR5n;OTNdFJCTj; z7>e?PniqJMOeXvgb;wW@S}K~aah5A`xtZ zaBfsDb0wKNP5mM{{889PB6}Gyx#g`*gNSld%zthhrttf@g@za1#wj#YVWROt3OOB( zblXRl1RqLeaWs4B7vpqSlyf?#^X2ZNS$-^Zo1%eb;lZs_!Pziv55^O{MR?fWeU#O0 z|BU}BHcugkXMX-x=Te&h89IemR=RGiHDSAXG;V_C%9>2wdCwl7U-ioFJi3Hklhqz% zRt$4Fk%3T~tI{t=#;T&iZD6vMqj}{#{_lu)^PI(Ayn{65v2`ny;d#3jkL4QNrn$i; z*CW3?rTGt6{_;0nWSec1si93$Q_!jHXE!5T(u!lvu_z$(%yU=8n9Dxie$VY^V5O*` zV*Am?5&QfkuKSG$>n#+fQSTLZAs^VNS9)H4lIaW^hsI>7xJxw@`b&*nx4b`dMSdsI z>k6+>jSg)>H~`}^-#d@;3hkSvz3gU&QueL87yFkQrcv^sCQ9VJ^m}eaQPv5}`8icT zwqqBgfCQOEHD)_nxz-hyTUxh6U#^sFmdvhre@0j`8(K>XGvT{$N7jI}m#V{JQujE6 z@f#;7{kV%8_v2ex0Z8Utr=tL_nKo6Jv1F(d{!Qyy$hR#$0(_MR#YzcIb4|GTFio0z zSVYVk7PYpg%&AlxF^3n5w>x#P%tH6bs>gS6G);sYXpS$0rMO#U>i%+O8(UbxHAS>T zze*s>%w~Dm56vnUNH=XOa2UgxUfN(z#BrE?@cfFQo&1@ELNQ95nFdL!51Tt_7eg`i z=^DD%QTnmF;&qVmFWL!A!_x@Z%)*>If+B=E$BSl&67u$Ye8GY-iyhzI8=#znH=b zyLNhuW$Mt@mp<-#=PPcC1WB0WcyZ4)+Gp(b6Z58bM-S%la!C=}lbe5?(_wchGa3ha zNA9{=R_l)zOZ71=wWFW?=ew-@ccH!hcc0u} z_|uz*^@bTmIzAxgys&odNq)3D_h{YBKlJJ!y4Uc>Prq6^pLTI%^Yp*|B2%ZktKRak zLB6RyJ!6F1tlUWBsBRy?L=D3y(jqzUJ$jSvXa8R2;J0_D6Y*i(pKo&Eh?}%UmWk8E zs#`yFVX)ZvUZyA2j?HiD=_~E%osPJn+8e|G=2?95iX073B(rU47i5NF`%}E~zo#pP z7H0Fzz44ar%!hw#y!&Y6TLICxE<_k{re6C9~dq7#frV7XYcd)kG_1f1IJl90nk{`Wk}Aft8ENp2 zrta0Q_s$fC%sE5n7g&>wYcA1RAI|S${)jrTiqJWq81+Fcu!zv2O!wMXmSTcAJ%L zfTgS&>Ub#r>_Ft7V%Z2U=5tlB4^8P9M9RWdV3S3fsRzoHG;4-Q@{_nTk?`(ekZ42{K_zxuR)f1y7O4ZF*1IbmAHHkLl)2Q z1}{JI?jHHaclqW&T{>RwoXlT#=${8k{NrJwFG!Y~0Z)nAlM|a97&&R2&Bl6q&H(d{ zhea7KEd|_sT`j%#5SJ>)9etp+ z6BD>E^vSU1^mz&u@5QSQE?WG!X|4(Z|MFuG{g*>9`+U6$&7{Y}(Rnzdho3aGH(IC2 z#__w=;CC+g#Io1Z$br)M@5$9u?;n4Uu&YBSf1yid`Fr0|MmyFFL`T%5g-_4o5-oC~ zEfI(RVZ+5fziyhYB9)Kx%I|#AFT3+t@5u}CFdV55YU3XSZRKG&@!}W`jri~UZfW+4 zxbUvuAH~)!+1G1Yl51z3DL)x9Yo0mnAGxKZc$mqy;H_eO)BYS9{?T>!iO0Id8GPx+ zBhN;$jV|#gcgLi$8oRd9ZTA?@;=oORRj~Et`x~u9Qm^E~CTp|5F*^iIHc;C5%?4&} zZs|M@xGVU4<|B`D{2nT&<78jZrY0RswcNx9--lp7+8hFywM*gBNIPuoJMna=BIiFp zPtKw8=Uj09qWzeAaT#p_65cn~7 zWxkL#BR+hohukHT*`7^%qpfm?r*joKbB{dc#c5rw9HOqMCMZzR=qoJ$2bu-4ztjFUN^a3g7j zo%k{-Nb-`Xj?q1zKl05?=#UMC?ddq|A_i?_zVnjgAgv@9_`izBpt!v2m`RMw z=Bo{7p(J|yP(v5b-tt~P(gf}+C?_DKoXu&C(W#1qZ`bMI@ zhh+b2n*Itc2lqD&|NK=VFBr_64{{Qdc{-wNLLMSeF}~L;*)ntPB9avpcecW2H~Lsv zo%_&j8>}ts@%@HAJmx4*7Cj|!Y~9-LOtb3M4Q1$Oe#dgL!IHR#Y`}smEEnf&H2fFL*kd5+&8a?@CntZsbdL0w+uCTzi1TE}82|^& zt`?Dzd%tLBQ<}g_+B4-w*N@umI-E(hWj3bn0!>dlgO#wYv8auP@$}k#6AtoRy(a7s ze>1xOZEO%f_@Y5WT;K_qUM#gtCsX!wc`n}m_(M;V-ixQCOi@TfImJi@uYDPOZUvi{r{ub$T4%uB#3 z%=rqBzN2To*H9_0p(HtUF}|yFANdfHn{HFc>MeIS_Z7M})8J~)%W(Vs{yS{m{$DTHdw^4eneg?rIMjsu#BtxLT(^TPer=CN zCxX63e9wmsJRs2i!%8u$TTPn5Tx}-LX~t)F+07Q5+Q-)bBg7)O72;hGH6HP z7%3!}tKOf&;(<5n@FZ9q$pASTc_qeSmeiJJleZ{erBTxd3Ff?bb0I~oN)LB2rP1q^sp+$rQ1V~Tn92x)O znN{3A{Y0x>g}Y^n_UPctpoTMQE0-2#Sa&E`rBGA)`v>;?Hf1X+j!Z+dPA4X*1(~wd zUAAQ+lVm5WjGQC|Et|3K{n_i#G|g114omHAhYSb{%gzNzD?r)ku$D5CN*LyYKX}C~ z;oyHjWuf{)G7M{nlLV5BCzueVgy!53%o}S7%#e5GoABGNC!nqXqsX0 zuE(gtNI`<9j^eafq{dW4ltd(a(f-J%IM?QSbsgnj>&TPjP|~?ZCxZ>zC5&mbqQTD> zaoaHby)7;;u+v*^U!8~466V^%MRF`=onn}n-U_%&cL{}=Q}9cAzwmD2%Q!)u3J2C zibw_Lppjf91aK&jNm+6nDcBChJ#iiHJzPvj1rH2^C9CeqbByL98iEa68NRkFGpxD{ zwz!oLR~m|tLYivsXDH^HUA)qoXIiyD5u_vug_NP1_<4l;8?F|7LICZ{^s?;kT>)VS zO3-nblt9W)rJPI|^&9P1NSOlL>_D4@szI}CD|`+p=T-niEtK3iRt8z}OnUBMU`xG+ zwYwsIGnnnIt8-iSF-ljWXC(8BrPzuC@E`~tp`_EW`{<1C!Bt@8KGhg>RE!v&t7@W) zG9)5agE75QYL><~s!#4!lc_~lnTm0`@M4hg+)g|YXtvr|P3|_COGH(YnAwV20?C*& zPDUKpLBADzhCPvOQYXhrRY?ry8&OdT11$J~^d@>-ia~gS)5U#NL3~hKIE?cXv>;)e zak_&vEQ^J-}2EFHTh(5OiS)X0aHLQK_~)gsY4Oh z9ve0Pwuo$FvT}RkmmwuF; zSTHf-nO)Tg-uZ479MlmI$l8JVjRvo#trcuTFjtrIKd}H_`F6h&cW>&Ti5du)mV%fl zNl@`#llbvofSs5@6(;?CVLM~{CDZ zjHuwE8TModhTk%@7clQAwQXNjIkh+XQ@nTR%0&N~uvH4AM3U)mcKt_ zbyMOQ(a-N#!S|Yu%S<9!&pw!I03+2dEeKr2qJ@^89M@z$uqZ|-wvsswpM~t!3X2Tn z@}6zlWJ&GM-0LvwYxWpqXIc>+qcq~S?S;cMJy5Uh=d47bjPbhm10a_Ye*B3i8G5^c$f z(UZ<9o*G&xX|pUHk0!~fM-wEr44{gTD5@oGq7`4kilWTQW$pRJOR%#ICj9W#W z`G}{^5pyy5jtWlXc7;?iMFV3AijXEdr$9zyfI2wF&^QCtWtp=FoYGqRkCC>ihR*!(`@OWrjI!>t!9!)EX0&YCCxJu5*D=$tuni&Cz7Ot52;K#jPK%P&0m6TY@txJ)bgHjeQnIp*Pbw#PjL}(y6L3-;uo+9Ux zz));r17~x6u9Uf`NChegDV&HR&5lcZp%sxRJt7#M3iZnHWQ~d%3DOxmT(?9*zM-~b zN55BFs2X}Qdm<#Hp$r5ilEno`vd%>TX>yp1RD_mI^=GS@V~z5tU?7SHMn<$-4xgnl z0eU9Y>QiT_p``dA{hxHq;h7{BDl6*GP{~{b`8DY8F)-)C%ps$a_eTz!Y~x z8YB0I)+Nx%gB_bZ>osMPXYEPGvE#(yDNZXxB+0)pAL&s)e_zbT{9oAS=1KM}#vXxm zN~eXmHTa^MiWy`}j}=zCdPY0q30iw}GK0bkwUGto0le>GZ3&DEIYsO;pZCL;?sV!g z)Pmu@gbcI_i*scN5Vd9OvY6n6?sXD;D*-SoMyZ}zb@9yw zWJ^rcVD`CmP-ai)2pX8m#i)Aa)zat^w@-z8CIfPeIH^Qd0%daMV}D#(l`Feb<<;6! zHm4VfQx@wnXFAIffuU4ypqtUYW=hk`4{PwyNf<$V69SQaHutQju$``7UbII#mpbg{ z_Q#+BS5hYNta?V(hyNDUtg(+a>S-?UJrV`-&KEc&&xFFFHA1F;sPL(^t(v19_UjvQ zagomrg1kK|S5hoKNzTZrf7$RUt`Gz8m}iJxAx67ePckLJLp3o3)s32vkaD>}be1mT=?f#~6zabvV+&}qZVBWvELe9o zcIU>>K-!am5a=^}tMA7C@v8QPt{hHF0aO49W};{y$0P>MSdr9B3GgwENg2K!)QfgaPE8pihCUdFac%MnG4Q?p1O z1E_TH8oN+}L_Aa89(0No$s)03B$Om}*9Mqc8@tG)6gKmdXr+20ra@smNRWt3Jg#%W zyE%HqFieyBaon5Ym1$2}?jTVbbgsxbEiEWnGI@&!^Ox^)ELqRg+J?D{-`!|nGd%Sg zgpDRkyk=zHJLsQAWi=-gEr_+4awKGGkI4v4u4tBKhcmO^AuA9rY>s3pd4WPiaP7%5 z2@&*IHXvzN1VlikXhYVG?$k7;NaGQFpK^#7r??!`lC=Ok;QY^W2eb#^v$kpe~0HP@_;NMV@>$ zV=^(@q}4g|d&gJag-d^PfpqC~PLM^|P@dN;^lzAMZVeuv(v}Hk?@f=C|Ce6xS5n>T z?C|NvSkl}fNr5Q2;w&}ZZBXnIqA$?P)1OFnt*$z!P7LR@WQEAjE0=O7!;3)eR7|sS zH*Wmi+|FLzWxNyNWz<;-xQ!qPVQktR?dXE^&U<}La(2j?sTT_fy$VW+D5Y81C9KJw zlP!Y=p&w}KZfmB9wX|b@RvssT)I~ycY7-suL1Ahipz(Ca>h-+XAPGGJw}@;l1%ZYs zj*c_1WICk#51OZfsu!dz7s}PV2*ZnT57L$_Fz_0U} zp8fW*CSF{awg<%7iJAx{#ROQkOc}@;dVCwLr`3NzH!!IhV39`;o>fL4<&SQrDR%uy z0+4L2L7YN7n_x_iw5Vr#?Q124Y{ox5SnswbwFZ+yEk<{%{0rREDpKceXdnU?ld<(2wvtr1l^wFwoW%EhTdecun^OZhu zJ^bhx-~UzW`R#Zi7hKQ?nX9oxXu1M}*FSarSI7T8am;5rkJ)WHyDm+mo`wO?TiwPc zn_)PBo}Nes7V5Boeph^%1u&+ysKo&^PlKc~wT^O~r3nT}LE^PVRkMd&y=q4euY#uNmsGqX=)Bvfrv>|h?2MSZwpR|*?(x}CWk|J&2gJ%#`hv-NWqRUwix7;DFCLB>3_k2SZ0DslT6m}toe zHj+{UCsvAdSwUx6{YYC3p**)J>%san$R?B$k`uJR_34G7zx3FCIt6vTbDl1Gk!d`j zH&smtN7#bM!}}Pqbmjt%C5wpM0Us#upq|D5Ph&}Le&3V0G_ZCR?4-mv$To~gBZ1(j zx1`Y<6P1%ORt5wU2xejoLY7I>y2tOpJmtU*KsVYAy6q=aiyj z65hZFq0IUeh&Pk)LVd>i%$FXjG6CgIj8Y;=1##}@kPNICP#7ut_{g ztV%+lO|&kiTn3>?k#fp2^uKcQCr>{4%3Cu#NTkvN8Nr2;?t|Ell3@qPl0L#tuJj~% z{(^c5ROS5Z-OZ;zd}#3LFtB`3EmI!s7WvP(gnfssZ8R!N0> zmFZ4L=Vx(nL5Vsq1B!lkg1k=`0ALNDrW5==D{9Yoh^@J8WTq7TE~JoG!k#KotQ4=r!D> zCaBnqkphB=Jt=^sl5!{r4Z^jmN#s9%E6u!+rz0pFBP^DoF@nJ-oHan8Rm`|dcc&y>LDd5CZ@O03%ZbFaTg*WE$061#xMKa~>#}=NN;QloLoJyp|&eohtY~v&qc- zD7Lhd!2P?a{s0h~86z41Fn|IeRO;^?2*9g?cIW_uknm(v9draiNE+F(K|6r7ahQyf z;v~pa_b-4FyZw12lI^o*kmB}fj>NdQv?((p+3GYf;-Tu>lqnGs*Xooh*@4@*FkykF zwIG=R3p=*!-I&k&T$jv-{NJQl<`E^xJF!OVsbL^ z@UVNk?{~)5{S$YT4`YAf!S7%g_#0n=fBwStpRPOm_GP|e@GCRmDh7> z^11k57`){UE+0g05A{0k|fG9;m2T zl1$)W zlrHtC60d&wmLED&Vdktz^T3nRVADm1H5{$aClGwU6<|Youf)ah{u1r|_rCY;+&gAE zM5isj%4e(Itj+sEU%MIS$8PM-J273F&exi<_4T}qm2aXCqnZQ8DsH~!zWch02k-l3 z(3D7?!tf>D&wZE?>7;%8CIE+~K0R|C{OJty8qj~&5A)~cg|9fC%b7Qq+Z_2CTiU$) zzqeUDIEQ>b?o8iM^JU}j`~mo8#FS0JKQQszcTSZ-m-zFa+jSG>xfipOA>2j-O@Ax+ zz5OfCmV9~tj=NWTN8o*9Vx_h{mDs=Q?m5)>#=E~p)5?v)?oPm~Z%!OmMjv0fmgQVB z=F7A1uj%bS%tQ4W=-vLI?_Uq!e7)}9EXTNZ_r>$DFU;M1tjCRx?{V{ueV31A^pA_b z#(7Ra7v+VcxWuxs}%zvEW9gLS-%(V#} zU_a-5$#>8O`KO_RfA9XR<^P`F^iNdB>;F@CJY`?UUJqc%)P3IGp%<%R+2JOynP?`V z{6FsFes=BR`WthJi_Q8Ni`#jte%JnAt?bzB4G9=&-^OYA?^eom-@$>8W_zYT_0g$4 z>ooKi8;_h=7ekLfBDBW`Hd>aS!%bTU2W7neZE(_aC$Pnf8=;dw1aRT!a#)w2*=Xy- z5U!K3?-S+ebNb0M8CiJ<>*QnT;e~vH_ws+$39!y^k-M7uR*X8{_{|qGjl)5N`wU(C zn4hJ5M~{V{q;*4yiT&upTd#$K&i0b60HA%epCym^nm>bQL|X1j zXmx&EJT6*%Z)CUVX)O6B|DmCHp*s0b2@BPfp|hUG!*J*{BQ9L@zE&N3ySV?t;GkzI z>-Hankuolz3x#Hh045p-b&o_o6XJu3NJ60`5!}QaI+8eUq7Eg(Cf~uUOR$My=%~m| zWYFXE@wy3G?oi^1#3nkS#Ttt!QX-p1hBSdUaYK=b$R-k@$r6(}=#|4OLz_U%MH#vT zdM?^%advT4HopIl@>f*T@Ml(hKk6~XQwOe%`8b+m;w#T%?omCcpUsVZYpJ=P`Ooz2 z=Ow=u{txq`E5ZQq-ygnLSMwFCM-d0DaKoq+Be(?`F@#f67tdA*BgQek>S4q>kT|(P zZw5|u>u}z3xieA?6}=HFg(Ep?HsMeQwI`Xjppgra((WBjP9EOa-^D>$IX%xgo+2H#9oU2PPY#a z7gjEDJ&V)G8|vU;ZaU$%#F)(QmXb|i zb=9V89>*40JUtyJ_A3{KiQ|JfZ%|QcOb6cioH8uuG?oPS2)s3q>XlnWh@Ors{~vT4 z7s?->#0?+j`|@Eash`VcT60sD>M)^%bym)?YXUNbxi^)PCczwB-CB1i_T`%ASt&3J zkja`D7HF<(S_qioxxMw$hdqr_h6zug&C)!T8oX!Sm$^rW)($>k4tdOnMruuKJM?!dtr*4VClI8YFV zTGXVsx@;lktC~8@ezYr0wunV%cD711A*YRvE9*1-3_B8*-6!tpL@p&b*eMpajvcGb zOvwyLm%p{cE750HD)gPRlwsEV8vUP`6$4a>Z+o(d3KmwjnzRYtwnUj+ij%)m<+$S+}|- zOK(TL_wKd3Tgqi_U42W@G-?@Au?eb^yI{s_wxxt$ThgKlZ`rMP;mjJ4t;nHiXKf*< zNfr`<&i^3s?8{I1C$y)zls+shL}4+4whUw_yiTYse1ThHtaBufQ2>x7V!G1Y4u`$##rCQ}MzUzF+ph5wVZ(GF0`1XEgh< z;qY9tQ29RIiYaZtqwv8o__p{ou#$RW)$P$puEes0=X#2PR$+%J+rgu^@e%l#_@s#^ zQs#J~<};--EuE$;Mojmeolu&A$A5*7iT;!u7uee#D*A9~3aGRQkY@-0vC&Do*glp< zlRQ73RIVoKzPUns=Taa~}l{s8x52}VjxNb+08T`q%K{Z4!yn@-@rUh1c ztembytsE=-(+0;u$`Y&>=}J_M7wdNpZCIh8Q4!XPnYA6JK(L%C%kW2Md2tDyFU{(b zT&x1w84>+_v(+kdy0U>>vC=TSkUkwQM0EiEXr|EJacdh`gW8svX?2{IXd}t`=~NJF z4)p<<0qS6w2~u3K?L?)Y#?GEm*3%v*6!}$l2Ls)0}B8QpFSJ)p{4nOk81A z$V4xu#Fr;{bi#VLHQKE{LVdG@eWdqio`kw4!Cf=h1AIC#$UiQW)vzpIx@jJqAMG(( zOj|PK)pUZ8`2eodnljv+goD-TR>+AG+Z86GGf_%)u<-YK8+<094fO(S&=>Ua-Z8Ry z^7Rfj+kDk959rB#R^lV^0{+%y++-7M$K4<0y)l6kJ6>b|OrF_&zircrUj0w!*H@ zwS2-4lXY7Lulz};Qk7IXN#A{O%_@2HN-ucyzLd}VcXCNKPZ4e!R#6jo zUo7a(2))RvDECAlNB62dG?PV$<^#8P$kAhH;jhg@d#~?XFCR^|pRiwAtAs$~IHxl4 z5Vt<;wQMkR`<6~yQ$~>YcHvCdj(f>bUqkS_irf2p~A{{c=q=5 z?9=nDetpL^cb#zO(^fm97jtOuLl{vd99rGu-VZAnsAI5~?{Af3@ znUplHxg3^CRlC)Dl$7$2L71>7o;ON{>8~MzQ1I6WJGu_kC>pFgf>eTIM(*+@Rnv#MM|_@GO_D9&9|y zgun`yn6>BRk<**s&oHD)k7z!L>D%|Uf1u%bbK$kNUz@LTyWDhoD_ah>dV1GF7iK%Q zZEd*0wyrB(m%~Pd2syo-9M2?wT;O%kt%U2g4!ezjg|-gNjQ%Ec86}r-3ckvi^UGY& zHm_-S()zoBf-6Jel=XNirDQ)%xv;&@eJ~s{^|LzgQeo~~MIuWnx$esPw_&7$J2S=! zXSrQ(Mr!lZu7<8$wze{2^2DsNGamg{PSfTyL;nktSU8*VQfXp1qRQIsc$o~-OpXy` zHH~jfOGH+u;_*-8Z-uBFYmG(;)D?|X25x;%I97sM&pg^{>?49zyAL`|IBivL2XN)f zJE6(bJlob|gQ5GbMCn8U-56CLGa)56Z|NGL{iGP}2D-d$gQ>JNv|2aRNROCqAsbZP z=HGuLdMcgH3)cK)JoVJ-UC-~53cUZs693l}i9eCryw&Q92ZS>DiQ`^IgnOg<3SPIh zF@GwfAPu2z?ONXmzN+|rZ~?UQ{NKJ={JLv8y7McTcr;M)leWXp`5J)nkSW-6U{#xf z^G+Hr1_Jp{qDsD%Z1Dm>-d6W*mqkrbN%?xwRL%YTRapG`O4n(jji>udsdHHLn`#-v zV5Zgf@lg%TcB`mPQP``AuG6zX# z4W|tS=VWU`fx}A;sLbvT1#0hP7~NT{8ZS;R_eHq}*XtAOx`~=u)}=rUO(zSLs6vsy z&icRS2f~a;(v}l%x+s#ee$E$ukpBBBWOu7F7CPSSz&s-YB+@iQ-JEN|L zQmL1WWASeG5Jx-@U3Wiue!rsljJZ{eUe0v6oRv;gXzrMtxy(&BqD+Xs#a_$({Ip7K z(|oY-N?^#P#+w!x)X0_VK0XF-1u%PDWq7xuJa@=k_j#F1a622qSPNY0cZsLUL-RIg z4odIAjjQvQwuoJJI_Xm495!8rM9q)aX%t}Gq7GYy4|4J`l)Q`I`b@|zA3*u z-HZh@#fE+K@@@>HhtdwX!d{e7SuHm^fzVq^F0_=Gmr3`=;~LBuoj=R`T`UhI+F}gnD9pG$h!&)winjcBJ&%#fOaRYwAsn-6uT zc-X^Pkz9>ai-TWH;>M_lR=XB8wZ0G7DXvW|D~P-pCz3gP%^)EMueNAb9?BqhM9~ql z057a&QBgHdw50v^Z5S=GVYp84j3dAN`U9;W(^C}+2P{kxR6 znuub=HSfKLWBuH;v47Ix_B?T5n}>W8S4;-#lYInqc%j>h+iXPCrn-@ePN?}0utqk% z&Xqx2vdgW)aOeI)^_fBEwrrHHcU8A>)%JW5*=mJR@^kI<3!gK2N&<0I@*@h)u8Pl3 ziJ}@!CP!%_dnadOyq5Gz@PmTpa$_SB>A!}I6c@hsQZvkTSyV(qZ1gp#&=UoZ{&OF< z@fq>5yQt;;Ga+CGv$wql-&f09y2e#)@#JjBFOSuI!DO(>tcWKvDDq$XBl1Jy`1EVr z9S>>#18H_YYDl{Cid|noUHur+R3GX4`CgAtjQ@%Vr%C?kvYqstVc(nkJk@q$eDBzt zrQf%)rWGx#YIP^dS1!QK6eI69})*90Y{4bUqK$0M?X9qR*})!B0IcU_a&lZX(lz-5pZh|l6@uJm-vleg2 zN)r8+`8u;Egbsqb>*&(;_BJgg1*@;O?x~u>$z}HqI|56Cdi3KRXBrpMxSw^u#^waO zCf_T)jYl6F)tV296c>VxwQHP{ik68*US?27V&WfSAeZp}T3mST!Dp1)s)Vb8NJ0Uz zFnq{2-1h_iC&mi{Nl@I*@PJ_@K~!btgF{>~(j*h&fuS9gL4c=xIV7=!w1P!^K{)*X zJVk_yh`fm(oL_c_aFY~ye)FKBM&k29LT>t*M658l?O=iiFe^)vuM?(_2{J=KL(x)( z9;i6n>w;2flVMm;GUj3qg2>IBT;Y)q91Mebon8babWc2AQD3;H11C_|I+K0-`L zG)7JsB1=U{7JvZdc+bmdOnd5Z06en?1UzWukxVUcnHr>_8in@7@k{XkU(4a)A8|t~ zmu$2DW@GX>HY;4<7xLyO=ylsi+_mq@ukghY-hv8GN7?5OL&d`Bj88!)8Z-+dX@4b% zAu8Z>!duw!i)32^;3VvDpIsOqNdqv!h(pwf@R8JK$JBmxtaD`ac|r5lmgdDIn}XY! z&$o@(wgOJo%(%c3;e{|nOqfUtHdXGlubH8UGy_kDpe8l9|I4dkSr?Vj`g-+Yje9PmiopWZm{I&(V; zxP{6Z6ifpOb~;3Vc#U*)Sup-u2!T!DSM_HHOAIN@8?%<6My5BFWjJ^AR(MEX~K|QUigBgSP1traXT{kP^;a z*o73MMl*3KxzOPYZHKJ!{>qFI7L%TRN~y#S)w!aG7vjoej!FWlmCZ_;cWD>f!jq$9 ziE*G4dESod$YCvNASFmgDes^QNJ*Zj5TZaO7#68HhaC!xa{uX*gKNW){7uqEq4dV6 zw9Lqxf&>u5XDCi~rY973#kEmv)Z(`X4HzRNix$=lH&Ov~k(iObiTXLoFLX&8PNPg<6Wh74d|U zP=m(?r$)nFnFq)bDWL?hs*a+o<}Z*~rDjKv=l}4|{LzL$L)G9mR>cXPZY9KADsc3t z9#?ivMb%U^0}y)FD2-y{)5zDT7nUf2j0?J^VrhCyP^01pu^rp)+LIfpYX7SYsg1v_ zv9H;3wVgNgmInHg>l&OXiF7NH2+lXb;RaR&zX#<-nA0xbv76PjiN)cKFj>s`YGr)9 zDbGkpXn3lQN|=td5=e(|Aa*ZJ?ZC++fLgqdiwYVe)V&4>^Mcgc{!w6j_I$L8ZZsao zJS@(`q65PTDVoBH)CqP^OzW3piCSRgswAQ|Pvu6t2PcMamXlT(C;hQ75PTROPY4wp zAQ3TIEd&Ti-~Zdv3Ke_LiW`SNhuo<}8KMs5&iP~c90rO}6vH6hnN%a;3N*<`-A+sn zDNjIL&jRyNBVKW7#qmS!#t>gYI<-Z^hz3(mM7nLwWgJKF$3CBpUO_&7{Wc#Vj zZJ)i#U0&v)BiX%S(Z4~z(Ly-b%x#)8!Ui;hN!z65Li`m?QM8GJ*r2ZJ4jN z0C7>jVavxEe3L+R8#AwmehJRs- zn@R;*i;s$NNQAmy*#hL6O+ql|P%RuQkLi{A2i$ z?1s)(fs}s$3Ux8q)CjS(Pt?AWGqv{~)Z_h6v7jQPNq>qthm01}h{zQmmlxZ~$4>{c zWicitd$v}10D~+S^&o0hP4_+3d{$@k_GT)Ws=SN$G5I1`QJt87Aw^%qJPf&eBKhxS z2v4jQ2GeuuJ63$hUvZOI<(*bOCl#H9IDZEIW?LN?J3gh_vGNk)RGrIZX^s!sr2XtH zF_t^|7dzwvSW+4*gGiA4ndVUvCBcnosmOAZmxy^CR7b=PamSg$S5kM+@jBO)_8jHa zYZoo*2EC%mbr1s!6p2Kh6Ah@U{!piUQyu@dJ|coh8D)eP<7B(ue9GA%p@!`ei}bN}Mhwsdc!TCQ%a{ZWQBYWlR(tl%1%YYWn;KXjzFY zC~Bvx?S@^?L-Mj0d%%%z{X@nU6C`Lhy4hyFV#EmwZZ}T33oI$*a2lSQ2g}m3-p>@z z#zz3 zQ<2m}tnV4)sz<)MRNyRFS-EEfTV`42bE^XAJkM0D(+_6siOrXNix0~J*X|wJ5o@i6nb1R zAYfj@XQfaW{+DL05J|cS1Sh5-nG$LFEWBn2_T}DWro>3m8lqxoJ;a|>4^RctK1J#G%E6|+tfYK#nsqLyVmXWu8<|AhKy*0j z5Qm?X*x-oC7EEn12<}5gX%)O7i+{5K2pK(|CH&*Aqokg66Pv*>K9odV(L<&~^GTs? z9VwU|r%EIqYpg#Q#LUu8*eD%BO7 z>>ZOL&*xr3|Kt%uf6{74hRIah-0Z^AkF*zMQlq#d|dGS5kzz@oLNf1 zmk0|FZ<+&r87;nZU=SsCJF@X@j+d_2mxMDwiv(XA73SQ zC<~csV2n#bblx;RN!rY@qYzpO$u5I?E?`eaLUcjsq$QWEAqfqeCz7hZkjHwflM-X* zbZUVL$u+87MamojAsw5DvGX@*?#xqCYDNq$Ao6MQ5K0+CN_i+%oKr-rf+Ab9;og+# zag)A-*dQ%&Dm4GR(358G~dmSk8ERrEYUop>CkN#OZ7%N6=CI@yGT8hS`-uvkJKcbr? z{v=&tz|j~H92cnOEs(3*1=^ldBk4tDpzNSm`y!zU@$3ofg+do(sP7PI;vY9(_p?NVF{c#c`5z7h)rnpp{@hU5{wgm~P-m=2adguQ{qxWC`;XMB*Q-H-7j1UM&-b8i@ z7lh%>lfi_-`8tM0p(u#9#f71+cS<60Qul(>7gNI6fL0GdRA%X-rYDCLbL*L#J9g|n3!8p@+j?lOooP6n zJGc$oYP_7(uEN<^9y(C3YQ)$I=W0nsxdg?DapV&YJQnm52#6Jkg&D{IL@g=P+6qE= zIaqVN!wxtVvl4d8$92s}m-L-Qv8q+g)+`Z}t zgRmg!%gy#Hy){R#vFfPczv z@V1iR1(*A)h=S*GUS7o)(fP%kkROtKubb)JLh*(k-C?`3Du=+cu`r&(!?8?YTjO}! z&hqu_vemMjsa0=Z-(c_b3(PZl&I)jz@p*#Bw7|I)fn;z@-tpVcNx4+{ooIhiZfC)4 zE4?b%dUAsMEV`?O9*~sT|9HNTK%u{Vd`3zVC*vaajQg9rSOj6>j9gteL)8y9s=+Cr zPbM?nY_dUwT;$h5Dj7G?9M&A|D|Ez6xVeYA;|da80_|gYT4889J?;#uxaTjEK5BRzF6nqd8${L?lGgk-!BoT&x4Ikr9 z`A-R)uWYURTnA2SY9jFFO>Z`S=)XEqZZx)6U247ceTJ(b(BbG;mgogJt2sH6Mdm}* zxbqm%m;&fU!2AJ zhsjEMbS_Kyot7AWK9-4e)M&GM6O(&sXugi?9P8(Yw~Mhtjp`6VoD9ZOqbhwk3qnA; zpZvB7+B_A-P46His8zX^3yK$OiXk|p=gwhLGM9+iWFjXjDp=z~u4-Dwa_oXO*6uVy zaz5tCY$1iI5j4=-*ts&xuV>p}d1ynlq*wJu=7r!uJfnf|pjYJ7c};7s-88P73lM|! z&~O8UHbu}heF^2Ja(H1;Ia7p%%8G}2rttGl)FectS&SAIbt;&xE6@kamSA_Aj�d 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Š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 w!T@Zjy}`jMh~T&c=LG^#JV5k(&-`% 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

      SlF|4`J4noJah?QXZt%Nb85^1=s9X&4w%wM~BjF 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 Jc68*nH~+&b;xYz!ZKL)IqYWZ6Ojd zKIksb)){pV%_{;KEyplsl+NW|3GqPARozAP|2x70glFF^Xlyo~TDl#RXk&xYaGaHW zYJN?PTu_W;DNRz+h!!7JQ(`D74_eHu+?;1vj!I$W;*B1!jQO>Mc)-yNrGYJ=WpKYc z6Po9H&(H~xG4W9hHX>tO}W+ytpO3EB3^1x0$|o6QB+e0`Mr_wV_~3>(iaLqSeM?Tl|pVj)jL|< zDpeTb5SgXU;ia6i1Ci6Fxa)7F&~y00?(OQT+ju^IHHhgHPztd&pbd_s9X@b4Ks-Gu z`PHXV0{%mvgu^oEt2Nqrxq%6)XGvnEKpZ21fe=_TY5g^*j&mWm?u`vwr1t1(P0!{VS=z)4+8~$oV;G_Gb~B0>|(#8+P~US#0Do^ zhcv`8omcTN->(3G5D)_Z1pqQb1U3KwUu9?2j6j!|1wS9j=DWx1Dv^>>=vJ0n68t1S zUX{r1kZ}PHk0bBDwE6%*iezkv0N?=*0nU(@-jD}j(|Z^A2*ICRyTE}zgnYdZfs7ES zSaoIwFETQ+vKt>T=C1x`RowNNmRJhk+4JTEGy1(blrS*5^5ToL4XNxt#Tky|q?Wfd z;Rvv9ebZoy1ekyT04M?gkr{v@D+BNkM7ZU)a|uB(x_2C)dsm{m)VpS>EN9T0TXJVP z@4x^1K1bi%`Ep)f&s0Y@#);3!`14Hs46Qq##fQt$$9^F1~!;N(1Lw+lNshQ@=Jo87d>7)K~ z(Bslj5F}#7u*zw@5OEaui=$*PN@^qj=*z5i^kV8yQu|f((aT47`O)t?;=RATpSCom zYdmK2K%2O>bOT3m#G-`p7!J7FkMUjt+&QXMJKm)EvlZAl3Qrv$(~^OD*lW=$W~ zgPHN-x~6Hbn;U{ol&~D2K6X+%JgSG5HYU)Rd0mHuR9ifjj>97vNYRWVSTe;+PbL?n zF&+Ww9kw{Dkc2iewMwH?3SdNp_$mUN+1NHTUjq&jNv5k!NzR@tgbNFbVNSqA$JTaz zY(#d7&t}+Ek?EhQL{3VSphA)?S>F@UNF;62TG`EPju;(u#A}drJqd$4ZzNu~fsMTm zH4-H3vdj6je45OhJdS%Eo+N_T5wA`^uSy~!Spw_mK8_^W;287E9V$4Ll0%eKf;t_6 z@H7?}(JRN$#M8mVM3!K(OzSzZs|q~&9RaimkERIHoDRBqBA^=ED_wGPnk+h^B#qVa z6ynXaD=inE5uAN-N&wkDWiU3g2n?;xI@Kks$X)BNq#b$$Is)Ef}L`fSJC8vRiHZ_C0E;a)`6W644^iB?!vPQbT?}B z_rCx>uPX1j$4jcEpdl1%!IoifAKBdelkJWCRSVlBEmO+A&8yn+N6~3utLIMa7>`>G zX}wX(+A_6al2s|YRN>O&*q&nr#J~;gZyvIpe`#_`c-|D!#NDIQuXeB0aY|>b>{h;y z7I)I2>5NDy2H`>=1j?QBrEEvBQh1CoV|&i_gUq+7pX;wy7E`fFBhKoeL=z-kJ1``W zo(8owk0;H?apc|mb-tFF4HBWZ^jdZq5da|G*lJM-x(PozK4*R=-B;JalB&06lt@HO zoNx;b{%uNIdMnqGRAfH?4gIOJ`Y=*Xbrwsy(hA}zaHAq3V_BQrQ=)M8^5S=BAAn!6c7MNp2y4lAk^T_NVCkRflid|~tf827L6$FH(mUOF2>PBwW z9M0H$);jmqG)lyPpj{26S;-cPCb$^1tVqSK+)A76-q_kPdilQkZ;=CMXwr*<7~5E~ z8z`Gn+j;vxGs>`=y?>=pbxA`9Y={||sto5W@aZaFKi-i{JSwP}(gEfS!t_KgAEI?Ne> zGGQysM~7&AvnwBOap2wiL5(xq?y9YH>dvqLD#9$=mnuGLRz7WZ>8^vxt*JQT9orJj zn-17;+bK>cCFeiNjeS3ZVZ7rK4Pa@G=}LiZYQ~gy@AQW;p6XlJFyi!cQvoThHX{&R z=L&SsWRa$kRc1Z&5k%XgYi!n$rx`h2t(1Yfo};$xl%-{su>#`Guv-QhDOQxG?Vcp^ z2BXgAb!l&f_EwEZ^{T_NV08cdY&(_Iu)Dd3kyq5>;Vw!sfxDz3D4*ZpI}nkfgT=9` zl;|i1-1s8xsgyiPwRC@F<_+h%Js!Q7{kR-@ zHa?Gj_)*sobT0aA=!#3bGbRIjGgr`~ChbNmZdGDTs3C}vygJjapJd|PZ4BRcY*M0| zpJ(xtdUQyIOq{lxhQSN1?R`$iWafE^?oq1qJ{w3n+eydKoQFB|b&ypL;I@nxUP5zG zye)DMc$CzRD#SSUMoTAOXEF{ZgQtW#Zuf1Z#5(DVPDX)*&0W?7=+RA2okNBhfw#i4 zlK|-P$^?*}ZcCLU+e)}md@A_7n>sWRB_ubz^~4wD{I^vIy1Ay?g14p%mnV^-%)>O< zn5Ap+xotB{6`DTG`WP{Tg;rqd-k=(s|sI@)tr;Igo);}Oz4Bjr>JHG^{ro* z5J_%nvGmvW*L3mGvn)tQKDyW_4l{Oo74ecOc+=7nuOZbvJbn7+SwE^Yg zm!Xz(TGb_;`>ig-(7*C7PngYAHV>i>%trV2lw4%!%6O97|jCu+?^R=Q-0QbTQr4mtPfgX5>&zc~zy-`*Bdxb*h1)>Z0KCmk1j#xWutrK1v>$ z_@;H|21JLd$3)VrMdH|8Z311td-b5wt+NG>n#eZd zUMJ~(b*)fEPNl~0dS49_9CqA}B;2Fho_pOuL$+2aqw!Q>vGg9oP27y%XVm0f0BY-X zdkWhL@uR1|hZ8Ku;46iXcQr+j#`GA1TH11X8^V4qz<7aYFWw-d) zYE(Z8O@O%JB%B)#zhbCt9V^iOSA2QeyNWGJNNG@NQ65{IA$O|oK{Rnykaz)g4-*Fb znut&dlCx4o)g2m&1vQ}f~51Pm}V2>Olb#P zk>Ie#&W=_q)v(^8+ zd;=~?5r6`2ykk1kON&I}Cv<hwq6wvuw-dD`_a)^eHzo@p`_p z;CON;VSn2I8PUdk#BGyCwM@vWBcyk$j_1gZZ1jqkxsoG7*CmW{UE^&7Ubba3)Jfg4 zEBK3+#hWcF0VFAVr0d?x!J=rw5}E-Wa+y2*ju_j$8A zLSZa3s`UwA1zz1qP;mQN|Jc;iaCGxQxY#J{W+D!BBbkay7_VQg)T^$RPMp5Lv}`U2 zlaZ&oX6CVmtM}E4r76IDP%h$pHcyl8=EHljRKhAKUzng&_R7zh&jjHe}KfdcgAr4qe&4qY5-zDoxe$)0f>aB}V`z+$e=Gr3LL-t-s?Wt!{Z6RaUc_eVq7{ zJ}7~$l-Kb&TU==@O=cP}-N{Z}ShVSzANfwY_^9VZlv~ahP@PWHg~w|R6}h491y#+{ z?68#xbli*q8Dl)>roP6vqzhV98*KP~@3B^C^BV8ko?S^qtIutBsnvSM$E{WbcwcbR zi-C>Go*3{(0Bgig+(|%c`Mz`uM0>8J9#-59)>Qd)WZv(tO%cFfaD>aZt?|Wc5Z;4H zYj}Jqu>7v;y3^*G#lGqhE;w>|!O3>h`|g#Gc`95I+-0kNzoSt;;hR5bw(q`sw)1X^ zZ;}LULsjgM)er2|s|_Sdk^6h%CmM~^-CbFv^`&c<{DW)$r5`sVRCRvg4GsxJPE{R( zqYv(v4%I|M&oRWB+vqFsH0zS@gCxpzzOz|}U2jG*1>Pskt6DbeFhBX14W6>}PK2ay zb)w#Bq}p*PyuHg<5_18rfla5x4a+Aw=_=Sho}$^S*I0Md3Y2mZmd|lLZ=aMw@XlMZ zfBPtz{a=;b8|PAdr~^aWjht@2v|AwNY3neI?w#@1yS*TTk9x$=lCP-O`fh2lguqhq zAJy~2n!V>=ejDyn-X|H>-LdzG_`E$=q94_fw(zS}OsjN$@Df#f$Abv(P)#51!98A? zC5}$rCrsK{zj%IBFPd;pTB@CsOk8Prc_rpx;v3L?(&2OzS#{hm`1g{tU!@Vv5pvy$ z8n@znmGn?tRsA=RJu2gKJp^$g^y?L2?96iM6+eF|gHVslzz3RJkNm{Cr z9nRR+k3=i}iGr{55T|O?;_u1Js)~8&THFJn`e6>F1eQ_%q9_#aW%SU--N1 z<@5?lJEmR^9Duzs=bBhW>dAEqEY_5>viPzVw0jPR)xYwS9YUjK7H4zz~@*1^i?aar&{z% zMYiJztB?*VS+GmG-zj8BSU*Y0{QPqX{rQ>Md2i82GczN|&N}!z8}kkG{%^HD(=gf} zTh+NC_e_JZM0L4dPODhXmk2oTT6mN-u!>!?i6)_M62+I~;^t-XLvX{Cw>6n?!)pz> zE}%~&HeJG3-VreuzGHC@iT1w0C!)5_wBonY-rEB30YpB@o5fuu%I`VN$EfOSdqRL+ zMuY6Tf@2Y2?}%5}ZtszHLmDI!1~Y5-OP_-yGekS#fZ633|Czl%`so+>zvqgccCg@y zc=2ixTW*uVqR~nR9MyZYBd8u2{cUVp6RTP`t^jtA@;qwdY=tnBtq6Yw+DggU0yRy! ztdMjAI0n~XVtb>>+-j?Ad#?O1bAW*-x04PGaIK8&?h_4KkLwYZjUdALms&W0hV8ec zM-0)+a$F|@KbNZkHav*)x||W)=dfBW;9#S{zmaVt9!S*P%HC2m32VvAl^?HlwEdqEQbEg`BMTvk%Z?Xh;$^98- zfc?%t{q5|R2QB?AzfAtSVr7q?>6{Z_=y_kOnR;D!#oGmR0xi~_xAeu}8wu+)*D>3P zNbZJ7R zWO@e@y2I&Xz?INSY=xyQN{?2J_<0qttnnpkHNv(vcH?JlkP;5asZHYZs$5A$8gs7t zcETFtP_(FfZjTa6_t%2S?QE4@-p@W5Jms+y#v_cub`kY*#qe?OeovOdRsTa;bVmI`P|-P$PMbAJ_|SbX zUmc}YuB$R}d|G2P1^3ItMu!m16vsAPzIn?hCIv69+e0EQwi@C!i>UOejwZc+hMrAb zcb^EVJ~=xwL$oO#pijSX_bpfFm$usL65#Mgt!qH5vLAf*kh%V2>!f^N3LTD6B&MS= zI72rn-3CN8OJG`Z{hdFjMqpK2*5(Y=()J_~QNf6;I0(rn>jdtz^X79?Yn|LUEsh+e zJog=T;DlTy`GCR>$nMaPaF2D_vW6eJkX z_9oG-+VN1WZcNK?j1F4D3rVBi3K(ADrLX-h&48x2H`KnlNgbs;Z7uq26$e1~he#W- zT8kf-Mt)S#v_o_}0Z=~+YRVcc7shd@=BMxRZ^yF8w(UUM77F0X>g{8;s#tbOW+Y^{qV!* zc14UXrpe-_S4FEbiq_U5!wH4%EBpSLv73Zd{92b|XEnI^V%^guQtiD7)-aweTvb;$ zM93vg;%#biQ=Uf$`z&wN>uom;XPt5AO|egGBlu*K_p)4SRAe_NfOlr zK?m+S9B#(0wYv@7ioNVaI$N$J4ruCT1M4f!T#gFxA^qQ;A6tC(#QbgB zbn4pi_=4fC#8xKT*U6q1sCPcL%bgMCof-TEwZH?Ioq&*hP2i&}R!A5c zciLo$m~2%SxdIjr9(P>I93?n^}V76m1|Bbx9~m*OO=m z8V%`&CNt)Avbi-~zgzT}3%D_9=Jg!l04$3@>LAXhr|z6NEEl8?9f%@RW>!QdniJ5| zgV;r!GD`6LS&v->PEVl$Qj(4l<>8(U1gBD!N)(O4H2gH}`>_F-=zszV>paAgD;&3R z?6yLTniY^&?{rU>$}=l>R3XwE3i)v&0ZuWQ$5`Zr45o{dnbd#&Iw(p_i{T8w?jpi) z42pat7dMsjD^#Yb<~5{b^0+Ar5tn-{vI-BST!08F6R!d%^#MrUoNO3jSA;8lGeYXRHtBKt9;8#u z%)9^l&4xZ3(JE=_)&(%@9HfXMG9&^~X-hQ-QBq^yWT;b008Q6cV3-%j>nNjC`Zf^c(Zs`+ObqRc}33UXeNa)gUzNN$B7ef!`(cAK%+F*`- z#h6sKP(+*go-`E!WJKsfosxo7F~pxHW|dRoXq1=$?-WQ5Hl{GGh>`;8gnC!BeQjJPS5;~WHk_1 z6uzWoUvt+FJzZ;FrJ%4d=|YSG7_nfvqkD>v!g68LLCq3Kr3`svFexX%M&r3%drA-h zsFk7>P&QAIk!z+%k(3l@%SRdt1V~XKktoDbdZ=5na=!F-yDn%FF*9tiDkMA(GM486 zE-$p2U~uR*M?ZV7iwf&%6#s8PS*Rro=S1}w!w?Oarx`%tu$`w!!I?N`zTy44-J<)_ zYZxe(ePzA-;tVM`WIbqSM zL8<+nsDPx+DFZkb3MMfntQJA;qI7ByArfrr6b@|(1ZrtQ;WWwp)jo~j8Fo()CZ`7d zJrKhY4u~>D_`kIIhZW?R$DZE-BTQ)z>3Kq=nfN4dUbuB&EY4Dy{{5SyU+3pr=$iS` z%hW}9=ccUuXV@K&IvbWj`J7rP(s_bH4rGlC8IzPRNvUFgJ{_<2rSp*H@=rjFKm&&> z`C%!73!73R?JA~R6ck`TBrg$sc>Ro@3841e1gtz1kNrWD@Q3H~=@I+Q+s8{oDTAay z7^#IBj^Z9HBE%O5nCU|yEEkHjLhTzs1|f8FV`>r-OC=(2wb0;X(3>K{aUexwl#eig~Ln1`AF{@k|G$9cpbeb|YohUgTX8boK z0*0VZe3?2z2Dgb8R|Q`}k^=QO)2M$?oisRKYooyb5& zomb69|5M+5q@p-6b0|mxs7Pa(_g$)jY!XO9b!yp+6hJSa2PMRc5*aqtW%%3@#B_lo zDC}IWtc@m|U_fX&r*FqWKS-N;W4)+nJja;%n4mYP?~3?DpLhjhcIggB*L*UBBc|NO$2!iH4_M zsS$M1cWn*#J{iEXFcg@8W?VrWUhyTs396y6U>gl#9#k_qM1I{VG;+~FM_qbN1Xt&w zl2*Q{SQZrV?8+Ful)j|r#F}7-VQN&;JB24>j=|yg zeGsaMM1e8M1<+v$5D>(;!5leTK*yf0y?O$qR9I6X;84Ngmum2RUyRY0!IBA$Ibl%( zL#8Q+u)-s+BUf-#c_}3kr<9JiRuF+YT~Y_Qh3RlmkBH(+cw@lMXz^T}_d}bNQbD7! zCIU>U@%|2}GoYbW034$shMFrO#L&BG9aj@}I0=RFd_^9$yj&@iY8fqt zR)wj=dyvt3V}#d^!8w`Anu&>ii0GR7D{C;BqM!seRiZF!xLNE5Y0y72{ z#-Y4eN~|*&i_j1!h|nOs`7;0X0-2!FHY2f?I+*sNfubN5o|>kiN=`+ZeobbzAq8sW zdMKn{8UsMw#R%>{CH-}WgzWz=>KSIPS6=7(kDDmHyT~Zw=yGa4{kn@9A6dS2*u9PT z+-WL&mjPb9gol<;FhtK?0!I!78Uh)OPy_12NaDQiqRtZzDG)$QA$1`e6gQDCzKQF}*( zyQR}v?5JAZktypB<-@a44t;Bdvn`6^`rN*r4gohx??q44D(+PArDorm!caHD00(b@ zH)}5-jNyUJV1}l{JmEu7L>Ib44N^E`CRj@%-q|B_0h{ck>+A01TpVgcIon4&jx+Ks_a)=j0^TA*E&`?(W11lep7WO4n!{*wi@6I*I`~ zoEk0}QG*LaA(Y!3X#TsG((@<8U4Z7N}{t^ykXD@@F4^43t)Y4bB^!b`@rA44`gGK~VDw*)(Bp-cD(evr5AU4i^Mp z^4S@IT8g!LNI!h8^E7YI90L@F5q2muGs+>WHWO4Wh#o2+!y1HE>7AwUAPq*#P}C3f z9LKCG*@$fn62n1la7dq0)JqZQd7|(=9-|5^Uuf@RRzeBVY8`?^4}w@&A=hN-81>Qc z2uEyjGNjyk0`NkD8Z|b3uYxMJP|u`P{Qvl;#Y2OJ?p@#jd&E6TIiB)Jm&psTTV>(R ze>mf?bSi~%ngpGKapCFZr9v|}#YiR6*I+9;4CYqkEr=tj0vQ8xTx11vT>#ZV#M05+ zuZ2H|)Cj7!oXH_HphH2@ObV0)a1l1?0r+s)IX+qMY|+5^$z=yvD9!8-U31YFKILh@ z9*_t(OcMgm(YeEOkA%}g-odhdj|=_a3K%d0vG&(3Q89Fe(lnf`0ZP-zASyKRS`#J5 zlvIs7j_uTZ;Z}jR(BhRy1$o{d*((E`kA$Bm}LJC_U^(Ahj%HD78tG=^}#k5UdhFj)7WF z1b1<8moVZ*V_BO3!oax-0j>2j0iz1ORy@{7DejC7le{)SHX$H8>#{^@s8#}S4=fHa zQi3no+UBz*vjPdQaVehyTA$Z3ViS#l3(G1y1$-8xEEXEAHWQvS;L0Rmu?9Lg65&b9HB=K(azi&*Pv9Q`ZV|o^9 ziBAY)sIMIm+H~+Z^U=7r=*zaJ1Z;&&k9vu7%p;JDp;0ddp5_TeD(x|7vsQ>7%Q@={ zXYeqDm?(4;4+I7tpk>80f~?K2rSTHi9qGsu#*0pt@}gD|D#Gr0CEM~oZe~VKj%{Z5 zyhM{_ywD4kIjIVYBi%1>8yk#F^<&cCb%HZ&>@!tFcB&VbK3Z*(ZwobNNv(`jX{$rR%hqmTguudG1DZ=h3- z22^W3hte*bXq8n){TG2;Xsv`^k5RH~lCVs#u)d#Zu9GNA66T!boH8adv1tIbW*cV` z63mqfd46$3>-w79h9Vp(yEH_E)_ZTjgvY7qCt;hIsO4A=BLWag*3B~%X%KdJi5FC+ z5zH_V#Cy&_1HcoIZfhcCQU!>VGprYTBGb-r24%V!S+?OOXj*HHFe|7`od7*e;+7%O zQYdJC)g!P)vIvy|pPkc?TF^ za@hvcFC>VpIWTF!*+EpQwDMn%NpbuD*;qIGk$0FH;cA4=3zY|R$*w{W2p2LaS(of) z=r#}~o!Vo8*C~lYhh+`k?NBhbN%TuJjQ8yHv8+J^bdIhbCO9EOog{3@x`KWdgXoa} z8ts#cSRKG&&a7!$6DCoYENtmgDT(3YIJW`}#5{m>S};U%5e-0JvPG()0EANPi*XF2 z97-}J@VkwwSCeW$o73eyyRy{qPE%(emaOFTyy<`Klpe+eDYLyV4N z%H-(a8Fqs?OBp4z8e$DxVf|D*r$j?14Zz9}2`mHXmjG-bT!x688<~po_24~}U^|m3s41X?F^{dzKoJxJ@CbJA zxkw2$W`F3gtSo(@GkRnZUV#EO0Dj5ihHkY^axz!RkOfO{S$xAv@l^DSN%|!OIj(TV zke~306!#`8>#@v-eZaG_4X0mfZ|Z|a6*oCC699}09UA|#ZrM@OFT)~*CMA|#|xU;x#pH$-V2 z5;O%G`G(h!nQu7QaXW+%QF;SpMB%MMa|CBTsPmmLT@pAR>5eu`q9<7dCqEHm@Zb2f z@YEF;LU;`|oG_fWNytevLy#F#$Uv}KJE$@vUv->}_mrJkq9G>(2uqB|#+^iPqRnWU zP&_=BkWetYL7HW$4l4@Q^QyEInyC{DwWtQiNB}aDWejpM21J|yNy4pM2rX0kl?I@a>;fUQ zRBHMmp3KPgJEe?b3IL4jJR5*kx&-63HWEum!eKNTQ5gEhi0Ft!hz4LU*>TXZnqo>l zI21|x>c}*V>Bm@&nwNwxSsK!?HCh0Ir%}g(Ud26FT7^<7Ck9|I*}~BccLIa-%#46a z0z3u7Bf)r$qBPwRY}jkoa#=6V0~RAPgeW`%(}UJckr{x$WMNL08l^o9GdT1BD=N@e z$T~n8kS~e9WGX=ER>WT9vPs*-IS z{c%jDnu?@US(L^$k+UiYBOyTm4`esavqWkM9q-^WBSeQXO&du;0w}Bi3?o`#-QR{1*hx9%%u?s1B~}8 zj0PYt*;La!Fdtm6@Pt}W<~|$sODbrcD>eXr$zqm9R=fn&CyaQlqFV0pQHB3_khTH+ zZDtwF10~WpA*L1Q|CN`327yKcFxzZk`hJ((43q~D?qCq6xgDY*2>7110o+Oic7$}4 zcrc8`x}&LHCjvO2+4$91u{s>Z_yB8^6N(1T1k@mtATw-bTUZX{0#~1Cdq7sNRxU|^ z8XzN)H3P!^KiRD_zb`xNH=61WkN{IEDd%(+SXi{i?-XWHjo^p2?nD2|o%!a6Ox=Mw zy(%->G$CBiD0m1Z8IW}A4TKvlR;LlGG&i|5vALN>vwvz|=sZJpt zyx@Uk`yM&}l~(*Aq$@9l90ing-cSpp4D|Fp&|f}p#fIyC`R)6k{4yqKaK0mj`|3tt ztr>l%-OV53=3g4`k<~gH{rrosJi4lv9v@&HGPz?Fky}Of!or>DnT5O6?-W7;;1G`Q zOCLxhdcJV`OVC@!nYEZ3? z(cgRTc^*ELuW#P*s|P(ib7-%J-sQX-b4P}aDM*av@m_i|gu=6P=ttRv{B!3BJz%FE zJr9v%V9O}!i>|s0{ef&oLF%xn9Gppy9{^bYw z|0kdMqjNa7x4%Uno6qH*)xYZNx=81%Q=tAgeoZ+(>bjFgGT;91l6vfQb((zr$=*yF zPV$>uKUAkZ(2rjK`C0C(=v1Fud^3^ci<+XoUiouR{v#vs$u@`AIP1$+;#XcL-P`dW zqgUPQoa zSo--Xej)Za`StI9xE)OS602YLTCwR}{l&FhIR2({CEj`MN4E~bn{(zrdR{U&mv_{U zw3SDS(4Y1G?Pr-E<>BH z{9)_tcS-X^(l^D`JD>Z0#rGFwy~b}@|C;>&GrF~1H_R*{Y~HWi$j<(4C=KX zM-RjFkv;C;z9*i)Svzfb_*_N3J<7j!^){&naN+Dl0_o{_=4E`oMFXK-IYy7*_jCVg zqu1}%e79=X)9WKgk%JsQBIuM59;*vhW+_4eSQDy%sx+AMwp); z@P^8GXQ;f~LV219{aR$^CQX0*A-}G_cqecH``J1Q)-i5GYv{K#>N)!=pG+#ygM|9N zUVS{zLR8V4gFaMbh|hkshQABC(ey8j`H`uzH-P(xjx=71ddt?5^S!Eg>AddRh;*0t zvCRhha~<-w-}GWwy1nvXm-I=jcvA1zfqZ>_-Y3N^n$)AW$XM;NOJpRBn+kjFL2WDA z;$U!Iak|qZHQHqOJX1Zd2dat6_%NH|rp8~_T(GyQ}$Po&0%@c;m33}$8ktkTNc%9(&s2~noB1XknL zPr2>Ox!S#M?c{$Ti5@)g1A7Ah{`$Y>2Zw*utKaikJS+Wgq|P$b0oy z3$<6;q$quHKKX~2UafEZ)u)c5UfTKjO#2;r?dxi5{*gVhe^-h9=9(H5O1QTK+7w#2 zyB_Kte^s5kcFJDr*?o5PnScA}BlP(x)Ny|*@Inuto~Lt3^r5JwPxRaps8eX})F^eR z68Tfl-Js5)Ojl3UxlN!?p}AY2)}c;cPuICmpiiN>W1!fA!#;&`pP?3bR-Vvi4P)c8B!q>rxn$@uS+ z|Nj^N5B;IJtr^*wnY?){{co--KYruKUo`sN9g$yj|2;cXkJ8iU(sJ~o^F2Dtm|#@o z#Ye`rYow~#|C;Vpf<660z{0c=IFWZ~;uXr2xqGS@gRZ@d{gGaE{sp-jWItW0PyE<> zrug z)`cjIpyEhMLDA@vP}&HBF**zVbryhBLu)UbK0_b6;m{zTm`Jm6=0uMr$B#=M6{n7M zL<mpPi-W&e=otb$UCWeXHF0+E2ZE*pT$=N+Rp5OO476C4%vVKuawa0ekj> zF3px|hA-B~vqX_&SkVb)uiA-qdW4{(4HP|AD>IXsFPRaOopka!y7^h$d4AeUcSbi4 zn|*5gonI{V>AOAHET)z|J4OltVUCL;;iR+3)4OVg$3#d$Q_C9Zf@SAsW4^ZrgG*1 z5S%hr!)upmRO6|(zCkc(b@b)5GRwcH(sH!>HV}9nMFwiEn8#%vL+2P&F!6|8q{A|N zD2=S29Gg4OooR<>UDkM6;L^AitQ~I_X-9u!aFH@fD`a8ry#0PZn&kM+M^shHy8P?{ zzqY_4X>AKJ+?w1-#s$m*$CjEmib&SMA_SqHS)kyK8>NYE+<1;1;z*)=qS zB>}UDk(LWulO6}Y`Nd)YI<*hJGb*s$9KN!DoLA*PkWu|!saB7(c*?75~} zn*-5$PrD6KHf2wcoR{6TqQu}|$%nn=SrI1#5yVnf6F3|x$T2Ntj4eVXJkD{tgc08p zyPSP#Kj=-IHZFv^<`HXywvdb`+y+JA%Z}4Vk_`;#O{F$Xq?9G~wso#`!l7m*j$Wzx z7;9de2n~9NwQ`-Q6OEO5u88}Rp(%1v#mpW$<4_H-drI7kM!%Na> zt{%2`vyNb!!d}IStV=XAE%qy-M%yg+1QiPw6mFi6cDs+Ec&WAkpv-LJ18Ri11!a}w z(TxE%9zB!%9Gt8Sz3jYq*s`8*hl)6#ajs?x)nA5MszOniqFv|hwa}f=(yGyxzBgYg zGn*TA?B2Rxr^u*wYxU(6DQu;(i4o=$ZULcQ+hsct3mYi@xif^VZQ__|RuN|+D+i7d zHMp^k{FEGRR(R}s8;%}KZgn#<3khX!o%8AxTB`|hM>zl!Y4*qlK8^0SiPN&v>So!a zIWsi31>uTn`v>_qL|JdmU6{!8co;p<+ws!%`%4ygMuR5WFMjIvhBW|skH(~EYyd}8 zBGUDrS{`ZFc!t%Q3{r%k5lzmav7)55yN+i8XCi1$Gpbn;yr-X}CcA8y1*{-zy0e)n zIiNFX^REfbWjWn*aG@kg7e?9CzU(IT$kChw%~=P+-U35-yCXQ=BYMeF*ivd-1U5$$ zUvweHajW#Mcmr}73@9RDMl#=65ua#x!jg=hX0WrysUWo@xZ5UrlzYsPwYv&dLm+2p zyaM72T*hp&Oyw*yf=gml&qc|8by23IWDjCLS%c}0foG3QL9=r@@^=?sM_0;wB0qnI z(;0+eWkW7=lj&$64}17T0hhjLi`YUowNGZH?Ft3fzVOpq`$xORQCC{;TPW^w*~%(v z6O2dffzKVl=MC5)37bZZ5zn=1*ReUn1(NdFfpURaNfDGnfyzwHchRj*ZCpSOh;&$% zm5?gDPviFpeyGXIO1jDHcrm|&WIXrOt(nY=Gy=fbJR?XlHZxxv(Hos#73r?L>myJ1 zi;aKBZ(Sv01TS}iF;&(c)o;ss7GpBmU%IW^3{6Hg01*sOl2MZdDr_{ryf%v^FesSV zuJx>Yvlc2w+6f)sJ~j+N_$FI1M^T=(%fh=+ELo=Ldmgq+?kuK+#)Ox@Eo3MT&DI6U zW;2a#=H1j=^yTf-6=4xYO+0rS&y9PKO`G3VBSnTXN(hD_!fPfSD7BSd)dJVujV^>N zGK7iJJmiI-V3urQ5?jkI%O{oFgw%5eUu55iMDAcKXn{z-u`!j{V7bj&6m*`Vun%)= zOKCt=pcZDqWZf8Y$?!s(EXJ*!T(r74=46wpYP+t^x>2|Aa2u20CmMMbxw2WJgsl1D z$4e8aZWmV~ZRPGG<7V%MOvx<1Gn(~45`@?wP4VVb+je|;cbQoZU1?g#(D~3+Izt!r z%P%dWFUC>FyZAXbt~Q69W6BMGIafoult+Z*k1`?CAIsMgb}@FLq?w#8PhNCVO%i4U zcu6AwFoBQG!CdW?)B%{a1nIOSJ0Tg)mLNlQV-u$tX)mV~TJt<_onE(SzVzVW#+ zqedI!t2U$qf>dW3*t$V>5RbDGLN<8g*&`!!E(OFMdU4UcvQZak}Zi1TZj}b2<8x@O7()=I*o}r#uJNRW&9siOtwvKy?lIf0E9$Q8HRs+wW2IKHFdB^4L%x&# zE{%qpjJE9L)R@rAvDOfb)s#o>4DqnB>8*FqrOwa#&%#aaOa3X7vb?yGVhHrAk@}Vw zytPffcXk`l%%97&AN+Dn{w2(s-Lr>5{U$yPehlT0T@@|rOrGr0%UMElUZl@8Asu9D zFG`MI>otkzN&o04LebLBisk5l zUVa(bUHToRr}WtU-48H|ZsWy*bZAYeGGD4S2sv6UujBb*FBc}2L(QA!%5Uk7`;EHs z@+H|7L4*I*%}?5(*$3sLBympCF3ZaF=H?(&_EjS`LM9QjO?!uNn(4D_JTn8RM0peBU&+ed z(S&;7WgQRBl+)WvmxQL6gQAkBH5;YGj*{+vQSUxjpEcx$uG+j35&}NAXQ5 z`;W%70ohwyJPG7Y`kng+^E&%6b*-sa@nRk(-B1Yp)`dfFAzjyC z=DUcV%olvG6KPohofl$V3?2;a(Vaw{`|}fKm@=uhJh$qFp0a3>1`NNkTDumXEeUqq zSt0&tU6-%DAyrWLGRKgvg=FURb2GA&`M#xbbmwG$W+5fe4aaxmr+%Vp0(+-O?QK@9 zKlG0_=kSRk!NQXid^5l9rQEV(7V1!~$N7iNbP&3Q*DTBR-S+nNyaXTlZx~G?Ew5nDX{oMY>_;ccQ``4D?gN#J;K4BY z5*b;w`Rdg(EF6a;@vdnDdoEICLjj|s>xfB&RFZ;XoZG#u1)_?}$mz`3XMSSJ`0Jkc znw~Q6c-YhBb)yfKzOdnH@WTIL_os<0v4;Zoe0ogqa-;=oxS^@38d+Z!#AJVv+siFCE{6`Effid;3DKyUqfdyd(yf`$5uRI@hAQ$|+F!X#D^;PNdXR0Y z%7Vxt_ZPtXmXr5;x9JJ!mP4^%A%9JKA?eO$W@$nB3Jng@vqhr=Jnq{#gkef>_&|mM zw%adlOQBiLzUO@`I^_h#Jxb3Q7*`7P!!mEl5nx1k!nOv3@gXqL40vsTQx2CNm5CWG zFWQA2kqi)r+Rw^l==^6bn2~myue|p}##Y<3EEUP^UR&p2E%q(`1qSV+Zeg@@imK@e6-DeD-VAa?JoA!(f#Cnw)4ahx(7W?d_z0#du~r8+I@lETqZ=1bf}m$n8?9_ok#pgt7mc zZr^VAoi}!wBkpDYjp(Rl=I&^+v%*;#_l(-IFJtg1CXymFhjrgA(j~AEpiR9eFa%bf z<{u*cHAJ_OtV{>AhJZt2{qxG_{>4^k=A!R)p{|WScP&Rs*nn_v+V&Z4`_WD~Y|diz z`EAj7Ct1E_U8|q-)u0Pj*mM&X^?Ph{yZ;|U#*?`lYJ$K2k{19cul z*mo8_;r6n#siS;{$#Rw)nB-g#7gu>yU?#A6zoB2z(O~qgw6~`(InN;_Rr>^~*26Dz z`hzO^5&e}=zTx}w1m*80kNBb1`IZV&jatsmxLq*;YXdUFJ)o*-#nIORPLoMzkx3?~ z6!MAO82+;{Wr--(xp`#-&U>08g!wU6b99qHz1`D@8zVP9~(AsW*?PJM|5)MPZ6pIEBZBmJ7_PU~WN zC4YnENyUC^iLO$gt>&853t*v(Ryi1a{s>P!yH8=(%vjY!G%t*f**mFYi?u0~^f5#< zbgVJh#=A=fJFLvEr%}7ts2h%1e@@I5Dwn(OjQtsnEwBP++U|c z$xKmj^u$(Cs?`Am--`v8ys%yPuLGQ+Ax!`mhXA#d$GqytYR7~)6U+kw{TF-kFmQh! z7IX#aJOA>*i#Os5Qo>ckKtmHFJWdp{h2)9GnC0DR|*7ipw=tEz-;LsQEQc_pKK0$dj)* z_a~d9-eF7kt_ywgodU7L$GK*+u+y!Oh3d6bOX(5c2F}P0-AUNZq;Zwqm%o4fbjxr9 z+}0k7+G%NU3wPw(h4kC32#^0hE@j}OWmcz2kaBK!+ko)4&`2)$c$IC$0TVs1-q$^w z3O7h+A}TWHj@a*PaL>PC<_{Nm7+a0COGjG#3^hF6$~>-zNguvz@Xw$1=y@a~#1m$l zagyfJL}N0EuO6gg;d-A=?LAC3Y(>KNqwv6t3=q5qZ7KpJ_BbZbc+80*gB<=6OL%q5 zWf?BalJmOejqn}ojmdCU^OT-jYmdo>!JXMGic{2(({-;-vpc3`Rc%t?Sgj~$wD^0a*p@yX^G?vxo}&p8gfl<=6e_jVakEk9R|lB z8=So!C)n5`n>zz>PwqwM z%nD=>jrRRK9}tHBx58~_+2#mX7V8_H0Q&AFRu1nsz?^RAKh6Lxfkq5Z__i|b)L%%L_0b! zdwSOm2~NOoxE&|JdHC^ps2zp6(xCHUr+UT9<)(w5$X&C1+(!#^G~U2^OBL{rpJ(p_ z$hCi02F1+J@V?-?hJ{5H8oPzKpDyJ*D-Zj@8fy)a0)5aTzB*)n(}tw(9zP&*)$P5^ zP)a=u9>-h?vDTmUC7n8wiNPoZXFiyB?GV6bGY*s`TE5;N4E}Dcjomt^dITTaZ%dBK zLCOxE2i0J%F`=3ZY_klYF^Tf4JJ7VO(9L|*;e>N&zn2Om3xzJ z-ql=-7X@{T_wZLIg72-|X*L;8gjl$4FHPnFV@@yaKFqT)xmocSitf7xmu`M#MvSeG z?jtkgClJC#R+1PX7)t*RuU?#W2Qfts0QtFeV+9o&W{00h8mdw+x3Y617DSO{3{860uK2)eem=rwu z9Qx=HV`7M!qg)LlZoz7ji7FfwS7&5$DgFE6XX^Laxs*KHdHi-*2zdEG+ocgrHJTor zX}`K;$>i&N@>}|4zfO{>Xvy|Q zyhrJ-39y>J(n=!LPPBuuVREA_7p%}L=SJ`o3V{?D&WIp0olz|sV_HNOHrOI(rVHQu z5+qlZ9E$)C%kbVW$uoVFuEFiKfVM@R+3`0zRyLtkAtT_yWQM4)gPk6w?GiYLAF5u{ zbY}0cvV%CC=xEP28XW@5pJ3~3q}>%Y>rsp&$$koyDZmck+@*mcU;{pk#**obe8%*a z-GcqN#@iT7qQm1z107TxG_gapyASyDmPY}#tBC!6DRSHrK?fa>Tf!3@Zj7j{@jMq` zW4iS&ZBr8s3{WC#aE%+7TfgMH6NX=F-Bh70sczL8QjrKaXrs)yMjItIhuU_zVKR@C z!Dl=hzU0j{Vqgc$zE8pGXnLFA`6{D&TYN8OrPB9#eZVF?(m4m0ScuElk&*>l>?fST zqc_Po2PsWN5J8ca#JwIJbrymfz)^xJa65d&7APj&o`5k2Q&=SeMx2rT_d@cp-$u6~ zg_*VrP914B!gsR=!gLk)z2fE$1aYe@-1u*A8e)ZUB&Lqhzy`X7JM$!YXPO&}MXm?d z>7$+aeRZ(vbh-jJ2J;nFs5Rnd!RXxB6s%f$d^?D*ouz>pwnY};_BOun8xf0<=zfl; z13Xx4C{98>-CYq81C2LhrmH6%r+#WjA7G8AYcz2*o&`V*belv<`b6YmJJz^(&n6my z|MlR33QqScqGO=%dVQ=--1bAgkMQ)eCJt`S7R*|}Rl3q823n9wmZc4S&$1wRjeWDG z?&gI**+DqE5;z7c^2D^a>mLOX0AxU$zb^p>#@HNm`g3=13Q-v7+U%NB>f$3$x&~GP zdM>59&Wv~)H2y_o40I`HOwjemPG*F3ww4U>MJjq=);o~=TWZI{_!6Zstv;{Ha2l^Y zPQtUwFbNP|4VLZ*jDb&RIP25CCvKKyWG!ZnfExw7kBmBabSG={_*$0VLDYm1)FY?U z5yMSe1zlG}7qk`LGd>4E40O~)xnU5a%=hYFoSr2$OD7)~fmynxgb&P=Yk!N^A32*P<&ORZTfZO@MevS0cnf2*^=L?FmXE4^yPWhI$y4DudHE zJwnxB?4(T$I8`CX;DjZOK_sxAdoYEl40H!rjXuW<)z5yArRhnmVo`D2e7{@JguyxE zy9|O%G!8jyQ>=FkGVPVF@rZz)pi81+2Nl9fbuCVn&|GIM#0og-9kYc8a4y1@^GyVMy8brP&u;nZKeZ3=t{I0VQ!nN1xQ$e^9C0{Ynf?=(?5^)1vITzM9VYtybAl=YXU;q>`m_#;J zGTIE*x_0r%lrRWMx7KpuF0z-H+=Ro4bjef( zA>Iw33Tqkk3kRU;j3kFVi^C4AA(Kg^b6o6$PrASkGC*nFyr^4`* z=~w`ThE|Il3y9IS(3Lnb0uuV;&Z;vb(I2#)kPg>w6F{1}!CMB1j$skxN(Fs~&YQ4D zQL9nR=sYmwTb^Q|IW%jbMqRxz1LR|jq>V-hgcILIi8zCG-Ba3o3?N#IgNmVdlm{Fg zKqC)%7S9;yI@jbHfR5C?b!_qbL{*uTdgTO%=t_kca6;6|EdgEw9S}OjhEbNk)0c*P z_X`R_m0rsg8WVDTUJzMqE*RP{8DEWCX5}F-03ju9b7j0|29Kpc@-v%IYomB@Dv;5F)rG1J4kghpjl@u8E0(v4BDm z%ww?@TSNhfg|7m9_ln4)H+LX>aRQ4Z3^}1OYap?Nje$LjU_h(syIKC=3?)lKF3iSV zlolCm@CKDMk~?x&ts4j5mE$iYc?Y$wK(WdjyQTOYK?X%V$c5zJ;r&wBOC`%9oQ2(i zhWI((oy;tyDl!pR5C3@)h$Wh1tZ+lP4F%sJ{e0KTO{f(+!>!i9K=_!oIM2PY@Iuz- zwS_@0GsGy;eat6@4h<@mmZx=dGpBmv;LW)$?k@v<0N6!qnYFpCC4VL(SaI2@2PFsXjVZf6{YBYHbYe^BD z_9%6y8lDdlkQl-+>h7iyjM5P3_LS3O#t}lDYy7%A&Bq+*+QvHy5e|YcD0zU8My1YL zn{3)yF1Y^Oam;`bH&&qtXE>GaSSLC${~wK5K}lq&`@bPj!>yba9nT26d)&KJ^Ncn z6C1~XXPpu%xwIJTmCP1AZ>FyC6T2I?hQf((0q@4nAQ@OQjg+pd%jJPGA+B4i&=K6s zk!T3TvVw<=)@GnXOC+{LqOi7pp(HVyRnr&?6C6}u4AZT)K~fgqvcZHAGqlhM1#nOf zaSBcQs2r5Fu1FnQC%aJN>C94Ny$AD%$t*D?X4VLlX+bWeCI0EXC5|g%6Hv@yp`>CY z>zO!jRSdwnv~H$1YBz$6967NjF#`vHkD-79DU}KYsY~e%9*td#?gJFO7|;;N#U7lJ zRHr!M2;rtTgfdteTKb&zrKg@*+6GI-gh-n$d+|(f3}66yqp}Z!1Oc@{R>vdOLnxME zXzhj`WqMEo0P$mmGe!l8og@E8h($v)n)>)=jF0+Qw-_;;Am{6lh3mK{wF8tRdK6b?bIUn_dEacf*(Hs zFb$=ulL~}L!L4sP5cE*l__g)y-3XhNy$^A(5rDpu?E&R_1MRiLS1JL8NUm;Ok}$gT zP(O_aNrXb}x~lZuFvQ2N0jVVi;P~dA=b#X$IP7G?B`jX$d@hGAw;3I}+$@5+QDNp$ zBTE8iSRX$5j7bONkSiQnuljBnh68bW9_=jfgoF*@DG0wMqeff^EPw#S8rUg#c*=$n z6P8qjMIc}tMFK;PQHaKrFA+{1QSB8yr4H5jnQcyv{W&|UUGT5A7lv=~Xu+Nju zokM9ug2v#G_hk!+QJ-d*5>mEPanhZkhe&BEW2q2C&7jdc_o@v$g%_jEiep{4hfI&w zKTCO;{0sd(%A}s{IF~x&Va!cEf*BQtc|%nOQlqlE{QJfJozTiGShgmrZ;bl%n{~hU zlO}cuVI**RNXe1_&OFHjr|S!h{1IkqX+J)ceafWqr`bF6V)1x|FykmE_9+18Xl5pA zr#e712tuD;;@ORx{@mk!A;90gY3*(|Yr8j)D@SxZYs5fViQyt@_818nM0IU*3S(1h za0PJ2=+L+)M(dWFB%o31Y8k@iH6n)M!=}XISt=nDu^ZS4p-9o z{allMEdSag{rPxya49PUxcUCmg6!19&wxrBXqxJ(LTId_i9yt_3^)>c-^YK_}9e_!AJM?aaP%lzP{;j=ng z4?oV7kjO&;m>Y)lKrF1L1MC`FcJ;;Vd*D~`z#m_B917gn z5D9^R)~VksozwM~NR7i16d;jMXu6bBm9r1*)DIBhdElrSNMEu4|C^chC(wEjJU4L9 z7EA`y2@lwTuheW!AV_mgGxL_Yc!HmEQwann($Fx{NC*s)%rS4=K|qv(3k>38lVNUK zvYKWPf_k*mq*}S~Qvods#C2EeSQAgq_rzyE8X^JcPSSMmRk ze{5@WZ5Gq+=0Fr`}{Z$|KedX#R;=&6Q^9P;my#;sj<$X`4>C z(FfeOr|1q9R8R~7heZV^fIykU)npo2J65P4-qA!NEH@TNf9s_@7cuSnMYP1OW&HLw{tcPzTAG4#w7 z+&{gi3L;Wol^+lqX~6=Lb(>bJJH(38j6)4KW_}-j@yLQXsw1Bj`vj%J-}Gfe=7%B;^Hlz z9*dYd-(&aZ)7WI#bX8L0-JU%p^->pfhQWJ z_&|OuqauB*e=RvhRrf2!{yP~ZaLx=3o^uyIab;Lx{_}#YGWlIY86|hZ9KVvjEn%QEL^XkiEw0B-G(y(?9XmDa zFk{w&*a0GEC@c^Wm2!BXe4S!>)W0mc }a9G(Io5fIvMYIe`#bZ3B3pah?C~ z&ngEnwh%9%3VI6iV~rFG4B!z}svw2P+)W)&PBUHZp~$FA924C1n4ivJx25E#Yt)ArJM~!Sm9L&aG|_p%1L_ft*Tbl zh#(lmInPAO%ei@7V&@QE4<=r|AEp5N&pC)fQWkMjiLYp`x0Ve7m}=JTU0U`3p0G;2 zFsLGlA{tNOv9=lk$B>PcyVkz#!MAVmUo7uw7Fr>^R4$B-4!;sb6IRWfKxA{FxjA3n z4uXPtAv6(3tm^YVrHvX-;$FJ5W(`z*M<1D`#i8d^#Q&~zv%m7&VtJVqXyMn;!<1Yw zVj58xrk2KGD7RYPDZ%3U6xv#|?mLzG^P8N*iC=0ZL?e)(ZAMsAj8 zK>9A@_@9PuwTJb@gAEdJGzVy+aZZ-Ey}eo{uJy{#f9KV84t_^EM|PQ`7oDXFbI-Be zL~B>8-9cCXy-!v2`tyao!8e$rkpRTl;cEJloZC1o)11`PHS>NDxtagazBA9uOb9vi zJ7g4TFHAuqCe+6YSz)$*;sbDhzjycU4OE5Vw)SN|@Q#5}2Atv|!m52*Ejd6Uuy-2? zBoGwBa`WN%HZN!#4IoF$v=l|PRjZKVbA28Cn;_0d68rb={{+fS z`t3~h_U-gHf2jd|5zL4v^{R0W$*h`NJu*ydI3ann=dc%kINc*40M3-X5P^OZi|bAZbci6C5Mw_>#_)$3YotR`EY%Pw^_CMtj6*+4 z8W`3pm3K*wv^EB$UNY#ukw#x@f9NYPj^!D^Qw#%)+T+UEpyRcckx~GW77$+8_0Rv5 zk>i}a8&v(us}%={5IQo3T1OrOl{CeAf;+SPOX4dTh&1z(+fxY_$MxCgxgH*yLC6e?2Of2 z35C3?ic==BfQ`^uySK4wFVvvf3izwP^CQM#h=%lzM~$#=>OzW)%i-fTvs-MueJ5w{4&L_OE&So+zYZ^{WwKwc7y2pHADZID7$B zyho|BnuhKDfT1WsNaJ<@;*r>UJ*67Uy{~mA3~rDoerTpvtei+A2uAe)G`6Tn_Y4&j z4)(|sKU5(gguv(Ww1G<$4htsik@{yfw;}|7Lx;|CHmYBispd8o8`ib-<~-#u=y+56H%Q)UE@avMzJ;f2>N_ zg`pd*#>h>b-cpz5kQ{u9Dknh{*tl^2i*Yq%q}=hOMk6%6TdXKvRJVn!`uKeue=9kf zaqpB|M+t?P56aVT6ug7(h!&b4GY=6i^+c_i5B@)(C-TjNHc^ z_fD20lo2A!M9k5x5KkviNwkS@5RIdyAaeXAS`-nQC6UidRckkee5#yNfe|{$#tqFe zCjpW|nnw3eaiP^MMsp3}K%!WV zX@*r~`f$v^jFTwXe12pPR1A8N)1pmSJ- zF+c&ZAVmD;%gInF1z|Vp)GUT+QBbUk8_O@)+Aa7~4(&z*>W93rCL*{!MIgXPHADg_ zj@8G9ATWk#l!KA*3N9f={5)Y4N2-SuI5B~829|)0=Y_-)H4)mU0chwrTB!)7e@0A% z8pr}xtRf-cR}4Uvh!`0WHD9{bAgpe@6$>; ztReD;4?eL&7i0b;tB;lZvvS_vzsMn{hN_Q*%o9D)bHijB$+3`2NR^U|u7lRfNtQ{V zCnDvI>696SkQab~BT3l?P#8F6b;^MqB!QloxFU~If~?*`iGVk<0k0V3uTA15AyPv^ z(Sv@hVzIJ1juu@;tLhq!9EVe@Sm@K5NZ=2GKuQ3TWLC-*Y*e}oExW61Fr})qD4Q4( zK@#_ zPb}yeA`6XGPkw_);Ty4T)?~jY<&; zrrZr0Mj0I$kiHl)iFA=?e9<|u)>^`L6sox+Fic+tl5ANAgFWO>)MZe)qtj;vveE%F zP`Jv?YGM9)J2(`4#i*&Xce48-(kDh4v6qRO^Tx6

      y}F4tjLvdSjP9-Z|E>O%CfY zK`~;8CAqqg0$Pir1+rI?fMwgAKaML8jX#@*;qZ*De!iiHCo1AcmrDM&I@k|A_F0PP zZnE6m4Yr$dOej~`QWzRe2uaQjE6wa84Ekl|d)A$Ym5&XRbZ;JggC4*6q!SA28(-R* z9k|3gSw}}`#wtTDP3tT{+{}EuY3$)4;pejOHnT||9x@2DttW>x z{*kHOU<^f3Mj7;hPp^!u-aLOU zwhM>PyPvYorOz5onGSVzF&;Y(*_U~yL`tYA_WqlftI4o=|77?B6*%26bV z5;RnIXX51Heq{S5lqKfWS=s+S-x{^yJibluncZR7U zMUiD)9M36$IXfyzC4p5gVh3_P#VzRKbv=MRSB!PfU!a?)RTHzgS8I$yo<;X}Y?1XD8 z7+PjzgTU}q_7or^r4ppHD%&t+7-b-A9o%J?qSnf1b;(s|7_pQjXtPM`k(DT|gqE-~ zU@zAxPr2lg89>a$(ZuZIjBU824)Tk%hGlz3RL=^K&PG$wzS4uE*x0v>Vc5-`Xk`Jd z@>r>ev22M#Eh3#2AY8=u3MhWjT^Z_|+zdJf-&Nv1Stbc>0fifT7ALF~6;m2ZiBgVE zZPA!ot3Zu!Q@TLwgT~laz>HENwW(P_$C*mHT7#;zGURO53Yx+aHm4{dErq(bq0BXi z6@gM{BSqK81CG{#um>>*Sa_1y{yo{Yotaojkfvgb-PR>p08A#=#F|NmCyx_E`cH2 zg8mWP`Hrqn654vZ>v6G3HC;HeJxKbodSyapHm4{dO;#B4Fe{kB%$hIlr`40pl{>Ar zRuwDTV=tC;QlVKbceDGf1|Eye@)M46wpGtl2@Hr`@W{)0WZ5#U979YHZIzXcj^P_N zo35J*gxD~2o>ehE7Pk8hlH!P2Yl+@l?ju~?FLRrTy0Obd02#w!oN9~%uWk}6z#4AJ zRsyAM)U9J%Cik!2+fSw*3MJPs56juOzu1dTiCMM7XM9#_8J zT*p+Qc%6t{t|40)W)=;q5Oy?NZs0-~YFMxAHUQgqg)Tt08`#1dPs`!W<77o{PMb7H z;o$*ggErWx>WtRW(s-BIZdA1t2DzwQPzCJwmHx0YDz7JpX~A)%YVxf5i)Do0Krr^8 z@$8D+%$i1}nk#0i)c`tLYHf>qdHbEY=l#54u^O@;UYV#oji9<2&A{ATV6*05{&&Jo zde<-RqQ}bki17TCYIVnZiUBGVYIAi9A*A171TAtDS`E%d&#YYF%U8a@cfoRlYW9!m*TeaT*3_{xU*Wecg-n>)3boNW)9SPtcWd5^# zBRZ}(_|oT2xcp!BGnd&Mahy0Ns}|3BMe@ObxEfVSxJqF?^-J?&Qe^^ot_t%;0!t?8 zv^m$r#kMoh#Kiv+^!#5n%9rR|DKr6(<}_!R(F^uy%6%nkuY?MVtDy)O7-{QAZPs+2 zMbWjyk{)unEGA2Go3PlsuNu0`na`+aHeIw<`W@d|yPhk9lbX+5YY=#q9X54m7{FR- z{#s#!EZa39MznMA+b4EaPCggcktF!d-^7Y*fp4-r0>ob@{fJ|GFNKTM+`@A+iqGM0 zvE*;f-Uscn?zT}|A5*^sty*?dRlBwALJE^@`qqid(hQ(f7FXLeuN(Iu#j0-5>kw+0 zi`wjRZ%Ao^_K}Rw&vFl^38UWLRg2k8b<2l^4P#Kh`E15!J@VH@yKTkRFNKTMI>$QA z6i6j$d~61*p0Uqi+_JjUdd7bV7c+}%+O0f5C#*_QDvyfD(`aEkc7PKL@!w0KV)aS! z1-3oNWs4Mt+V$bN)b>x^Lj*9E0G(@pu!{+1s5*^KTYDK(OPA4GxL}DzTn~OJUaZ#u z9$Zfj)6(_>=UggLyTX2!5Y_B4>q&c0MoT2!T1{Fbkw1;99 zg85abKDbo4#_~mrD-)w!E@+z-c5#N<+056|NCGc1l1f_%PLut_NxE^ zTtv!i@WM$*ZWn?C6hkvX8^(=hZL`+EYCoJW74$8v?yEia&Y2#yHg+dYo}X(7A|qn( z8S{GShQ%Jt=xLqgove?B&M;;$R_!#@K~B=%qq#WN2r=BJ_Ao2{9+zG6N*o}x70q)| zzJosBG-yQO-zKT>bb7$PTISkX-FR14l|1`Ev9<#xU&s~hVs*Z`5& zTs4tsiwTc<+k`ncjD$Of>FY{_Jie)gU?Gds$PjKQ0Z|%j zvXk?&3b$O**R8{$giiA{v)M~>bacM#Td})SoBph);XVvo%R9Xv(U3iO^zJ5-cifRa z;_VEzn%$QdkDCkqKY*;y8hXpgDW-C@y83yeu3YHEIdm+3Wg~%?e0o(f#X)s3cAE!Y zG%aR=QJ!qU<>L5p5m|1&W>z;W2f%c;ymk|O09(KJs+8{UJ8+5M3ax_+hl|6J?T3r$ zZJ1{+2Pc)E7?;fSocMAabKA2try&2Tuo@zN`Z-xs=M(GAVUsNT!PDhzZ`9}%H#ZX- zMLK-9dHQFrn@8x+=5#2x$JV@D0ew70#ld)Z7;C0GEYhH1i^A*>49ES#278x{GoPMj z!NCkyy%^Cm6b6Q9`1Bxf>&3Sd(1iCIOigXoB)H5C3UElG3h`-D4UjF&$acFYgJT6* zIK>u%l=r828Mge`Y-~QRe|CqN$C38N%k{TUIHPM0&1|o9Csq)}eAqGtgr1Da`{L`R69gcp_KFTR<&T*WWEMC`ZI%Qk~%+&R{I;NSY0*hYHa||;t zi7Wgg^KW}aVS>N8Gx5Ye>gb^Z>ozOmB0OS5Hp&MRB5ZCC|uA;rzQ-JhZvemxx zmP^W2-MIAQ##LM4ilg(nglbolql3X&nKW2G*j&aP@l*)N=~k^GFL&>-U7E%gHtXzp zQ`NPzBBD*)$!<18#yii%^Ud;bT=*<%T>RX87Cz=i*O5=nepR_D9o)u!=Z#2c?$@8U z$f2S2SlO~xR?k8&&oz45i~yOBS`BSW9{boV9d2gK`{EfCp1$oKRk8*4v6d?D?K@yXw|yUOQ>Me$&ZGYKmtS@9rhI+#OCQ^jl}9((%OjhV=v|QhBj3yO<tAA552?{k~EX ztX$_#3;!(TyDSECCO(lD$>f>`N<3UVTx+@U_xPa%{yCkxuMfL<>p5)f0+~qq z;y37zoss34Kl+_IIxRg_OTK2junOvCVna=x!U! zcjoVs>AKZc*6Qjf@@A-eBY(Q}%ypw@{L%Yga%Rs}KCI)OaOaf#mrB&NJAdQJ`Qes5 z`Et(JzBFl9#|rz#{&aOCN8jK_e(Za+F8nJexSE9S|F*pgu=mVUpZn?6qT3$&D^u(Q znfhquI`o%5dSSXA8S>ywmnmuIAL_&8BIjEF&iCx{!!LdR^Yoj3)gN5j3sb&9bEV#S z?MLmN0fAm})Z@%uJIm#V6FAV-s_tQTM{uq*pp}}GLJbzqTWT)2`RhqAC*nfE- zejnSpKP>8b7gqmbKP$?6^MBWG?ZQM3CB0Kjy>qr7kNN$DsDJ6Ll>bfs{waf{EXsb5 zVHR?JqCWZaalcV(E9P03#x~!9|26uu?|_Z(O>^t}AN#qK2mfF16WlTS|HnOw>G#|# z1Hdx&e=&DZG47LoVhBct3BC9u@}X)!_2YdzJrU_fzj6=*DVTrs|G?a>?xzi4Anx!9 zv^75St`9w>2=#Uu@?ZBo*#GY6`#sHB^~>qek!-T|`y;j6J*e4&{Tw?D$5^V0=zE(J zo-1ILF5PQ?KSXoY6FaWhpJrj^^aGh89^O2Jm)k#2WanDU>u>rit{r~CPxwOiI(79?78nfHeuMHM3lNcXJ0`k0@EQlu&l)Zrh7l`G=0@w+{@F8wNFP2_#nN6@uH zJt}Mk`DIh)9(sSpWNIaMOx@9a$+g;X^_X;-eYto{XWdC)f%JN3oe}G-^X9$wH;+c_ zQr`Q0wlgx)j73Cy41@hD?yobr{qu8Y`s)8OGcxGGJ(xA5HC-Y^3yH4j93f{&kxe2A zdP9h95=+w^LUfR5oBp@<{#H*%ITAh{21G=JPmYsM7TP4HbZ8>0J?{pmu)k;v)F zqVmKRUyhegx)5_Dd^&~5Bk|Ll#O8v-b0mDagyoe!{ z#s8#KJ9O_JKJFCGSPztj*ZRYFyDtShh*65k&rGH{vwy|W9Qjx8S^Vr6$uh*og~|z# zAfK$|@l($gTXuch6f@ujxd|`tnv(_rc4mJj@2>6_WZ~YaxQGxpl=%g>&KtMa4u|e= zBa=5=2{3$fh2J0xB$fl@MSaf~dc&1J0Kial-eF{sw|vA~3iLd|pfH5^xl$m9&Xt_;FWwS zG_i2Y*s@4BEZrfL{!KP0o^~iyk%)6yNMs93aBv&kDj3_C9;A)?@*Gb^sIOYgQ$?(Y zCE1kV!pnNcuP~#A`-6?8N`C9-pe+uDJ?F=As9a6O9?w_Cye3sH#q*DSFx!Gt3Jj+@ zwG!#af8XHjTxkrncGfRz;MIgVVf2wzcrmkes_{~sy*>e8D=e5so^|riz^f!CbB4U7 z(BPO{+}T-J1Doq$rrF0pm7Ah{CRDk+=M)QcxJODn$=Z8FTzQ0jeHUnf z7pM8Yxc=kE~jTaRlPq1^Ln*}5WywnVv;m4JZ`QpE8h;A+ZX2l8NK(F} zCYf%a)N>tAwaH0Mqg~`XcyIq~coA>fO`{DqfNAwdKZ)88fo$CCu<>;gWkxiTa>mZa zKzy$yLG2j?b1$}0`gl$FW_ElF)-i&DJXpX^tJY(`^ifn0++%3w>P$Mtre}5e2JqHd z4%F+}7T|;0fEuH~Gu-Dzy8MUtblLAiiRv~UNAuk>G8dENL9^mmUh_G z-#8UCb+YU9TW`PR6D+7qEHWI}@gw`WbyNTgBX4OlHWm$u!nt{Wt?>ae%bPvD#=9@GU1{=rwN@t>1+48BNmHnJD(XX1rx#R0Y!9+#PIXIwj@+XT66F{ zdfClznOWL#t&5o8w?!3p8t>9Xz2mO%E`A^TD_!rqyI82$2i>bY56gLd7?{N*2iL%~+js#{aEKeSqZ#AM zHUn2KmyKJUO;8qXuif1nALxexZN%TjOl8AYXe+!d7oCmvjY(L(TT$yHz~k>>2=Q^( z`yh9Z*YV&cw{AE!Mn>9{27~-Q2}Eh84v-ei=B3bRC%bBS6c@x7;g5{Jp0h$Y6~}Qu5}{6F)#j`5 zi7F@%&-Palap)^;lkvyb zeujI+2$n~Ix3{7r5Q}EiEr?zqkRl5VQ;>{;8wNQ(219H|?~BZzfma}^fJ`H>l5n8~ z{gjd_AXH?kJpxE*$BH0{U1!En9Lp(Wxg5)M)CVqrBf#&TEmjnNTu47*` zfU}*@D~RPv5S<%TX_p7EL;-wF8L$ar@Yy1$;hXM3(0!$Kw5rlE>y^4PQxAc)(j0m+`UQE}0xi5%sStlxCwn7AdoI z@>wvTnC&b0HIOO{r(7DKaQjmif>$wVI(pFfiis6R}$;I!iD!^{z&?qnyATFVZOe84+MK1w2aEGVMP)a-|H8_?m zPOw)JOC6-IxYL4%+@YK0R0|N6a_@kcHfj2!?@lcQ14io4Qw`C8E(tX;x>AHn2@{Wl z+(40ZaYPUxFZi<^N*+f*0JSu(86a{7VV-Cy2~CI2QKQ@^ytuX7N>V1xxKm5py)wX#n!r;E;72sO$@Z)ceMwAhJ}@d|Ob67^X`jqT3pJyeI3Mf{uZM{&k&CS$!yk&MHk=E zreIXgL5YSMpo0ma9TKBNb;S_XC7cN%LkqpHc_s7+3M@nkjpTx<_M;m44{j9?Qf^ep ztdLRA=7N$5dDP(kzVFTn%`f(kByv@)c~ zOeNoV)k;nZE;zX?;Ug^d#4(vuN@vjs2%MNG_a-bg3K+j)&8RNkFhhF_Fa#x?5CRyd zOUl;NLzTd$D#-sHi8>y}fQo@rB8zm{PQ33CXquhjg~50c9*hjr`UXqOBv$MU&)y-f z2UPAVz>D^x8BGYF4t6wxIymAgh9%TEp(YZqJ-{bLQTf~GCp@&^QVV*~A!E{sa~%x< zE#XlmD3A~L)I+y6UkyiwzbTCl@R25_CTqc5-!p=eal zyqhDih#{m<=)M|!oZ=nE-7D4b-poKi{u}NO>#9FuKfo6sFTA>0s0GYkeXLINF&b zVF%UDg1nG;sI~*CHx}bPrqd>MW8#y0#gFsGp1ScD90!f=Uml+~G1V9F)>~*;E*N<6 zWyFaJ5)I5_<4<))Hpmv|W#g1c5j@8Kr;hq15kwF~<*WmD8E|ogx7Y?K15xVKnexdG z@!I3_sbTUhxLes9!n2B*Fln*p;YK;LEV|2!%r;w*;9X ze0(_Qkmq&_7V-iz2>?L~XcmmtEA$o|)^?KJ1BpS_=lW|@?5@xuL#do{)5O{@&Q8`o zh5g0^KoB>h2E53f1a2HdC<5w$RUs`>+O7ZKS+P!-2r@MzI4U5J@9Bn^5R_GNDtC_o za==Ic*c>F++C8wD0U86mw4tk{^~$faQ@iOc$_WW{GcQn*%oPk85VRl(BvO*VrQIH$ z_4cemo?)r;LW~U_5Ef{OjZ##voU9C~wycU8bmv^Tv#5dlh+M`P_zQ#Vd9X=)&EBGhN4z*-fg) zi1lx*>3AFoG(r?%P!e~d(}Rj*g^)t(1jNs^O=ebeXM52V@BdZlyi2?xWv4U!}+(T-X)ze5+II&yjcZ*PBu>}gR6&z_O%2>3} z>cnX$CgiAgv(W3N8I%DJQwHj_$`L)6)S_vh4dk9;ri9wP1{5goECK1XGSIA;5;W6J z*2f$)87^c{&NW11J7DVMz-cYgL>)Zs0eBK)q~`l?L?juaF#t!HRXP-^azYbL1d`z; z#6vL$b_hKH)Hvh8qLc2^xTKtT2}Hn)*B54hhH)4J5j=#->(k(4QIeh$ELR}PXsF?k z%M5sLLWAR)O^2LN#FQ}N8=y)SEaeK*U<3ex-34G`r#>|=c zT>K|~8W!l2oO8qGqwrqKtI1h7pGL5ze}R^H5CCa)g+ePbgDqLp6Vf4T12+Y6%5i`w zDOU?Dq7)Q5#wW**@#FQNdx9pngIel7JQOR4996Oo1Xn^0yoGGcKhFocHxeD!ri-yeq9Z-Xj9O z0_1Iq2@oo4_F6)PfMFkGFR3dM^+b3PkQN1kK_yr4!NE*ZI1?-3C3VH(TxcCLjx7WL zG%yRJfzpO39%DFzN!{Xc#pFng4gx*x>}Ms9k}yweBN3Qf?@Efo5Ynhd2%3NcRCoT@ z=et54;eiBYcO}K)ifV$f$c=hcF@!nbMTXQok=a+@vJCf>M$QSIwyTTfl+WI@aT&aQ2`HpT1O%d z>oCb+aMoX9;tP3YIGpx0_@x>j&Kb}H z)52*-caslx@vd1AnbL^N28NMfOgXgW0Bjn_7*YXnT0`Abr%67PL_UT3y_2y7J9St) z`D3FJmag>tesW5J%psWYVx^T#r#K^WMoyxpd8M@n*O*}ZYKOU5dDzt0H;*+GPki`h zPA^=AQwEapoKPz&1dJyEEd^2SMj4lONK%m?4n&eOi*S)#znK!GHI&io&Ux2mg+`79 zS0E?7+?(swCK-MA4qHo#@kk=10CeV`UlN$=2_OX=h$zN^Cper-As`x}nCLC!PDXy9 zM%q>;4^N37L;z_*qXz5@8+Ag1yfFi+(!!-(!A9B0zy&G}vVs^PiUEn^21?xwfF{DR zX$UyThwU}4!`Xxpg?EhUCXE{egFUbs$Rk=X8*;z!3t<4L2muh$at)&ZB7t-r$J8mb zgj(uFHWnmS#{l}V2(7eK5m3ORb|#=WSKkienBW;|^82d_;V>E{Ii|K)D6|Z5u@^n3 zL`ajSd{I7bc1GVlrcf}l%>1=&5vdXNwE?)0aLysZ%pGbJ!xFnCRSb=p+DemI$aRN^ zMl0(eTbi&6WT63IA%H>~A!SWmy`oGgEYe$!U<4Dfs8OEoj0{uK0L2Ial|ySIxf7T88*FaQJVq8fZ261dp>)rU>vT1w1Q|jX z6iFqBDsx>ps$;*F_1(V7kFZMDn6pIB9V3)xcTi zaM(KQa3B|E1hg2EhqIPv!9`n*`Za4f%uJVQB?NoXb5=hRp3Zc^@MdS&d7pR<4n9Cp z?|Lx8s0wofTtho>f(Dtk3Pc51h`=pMj|M<32pUlgnwYHwq3b zsfH>Dq5!D`T&|rXIMqabxcy|AO_!J##_7&;bp7{!zP)2k2YX;rT0gVsqqOsXZb!N; z{eMTv2{^%UEQ3&lDr+k`YOVAN1k{WlBKe1h?AdFm5@+Ibac;sq6w6lf<}STAXQ7uY z`gF7HKA+Jv$076wj$tfQ(GXVKxb(^;)qT}SHP}cpxQYRyFDeNh7*KMgdlUB=@K3b~ zHSx}1z$`oreX|}6o&%{&sa*(}K|GN znCw1Gh(BCRX4vJY-k4dsbXbekfiy-ZE!c1s3<-Z-{M{>Lstr8k7z+bO z5E!^*H$Rr6NNFRQkglSi2(+maQ6$t@gF^Y@XiWnW#DE@zR~Tz`*W4FC>0yqNn zdL4Ee;~>cEJz-28&_78F_T1LKj8&(6&LHQHP=I=zfWXwof)r9AGcC)pKe^DooM;IB zLy(6cYJ?Hsl@q*Q*Q~ID8a$N=D7Ox}ATxu586Z#rytokPE$$1qi{P#!9?S$;S5QFn z&2jS7Ak|P$*OFV;_F(Yin1--IQ&KuZmq!8D_SGPE0*9m+_JKuUfckI6p-n`Apk^i?G;osB^e_k%pQ=m2|{f&SV`)b zU$Iynn!O8&GqI7krHXm>y9I$2{vQ6QI1F90EN91~1tpbjZD2t7F0A^}vk!Ua&lKtruy(egL&O6~0R3`pt3%!fNetx5THfu)JzFI=%giZ1j8Ejkq{hb&?b!I-XKry1hj@~ z{|+j|UHGq@CoAFu3V^IO9f(0|fvOS`Oy9n@4==FLuaOWtBL``K3l?fVA)fZzWAB$B z#r2M^Izn`Cdo3$F;db2!Oj5E?jezG-2v^M)rA<>BBWeV~)F>dSCgqeyX_}r_@L`V< zunTI3H<$*b011I5!bPX{_?+!?}vUv$(-EZr1krfp{G+q_!BU-!V_9CDF9KJOBO= zEExbHqA;5R0CRv&LI_4+BqNamUWDi2x#T`CfJ=A?xPV>LAO;xBtw961fCCJs>;J8U zmsq!v)i{k~O}bQ}G>LWd!ozK>>0Zciz~lNX9IZ{nEn7IQt;8jE8XD-rCB`!VAOZjp zA%L5!1IbCC!kMW^+C&Fc8$M(DTW#4zl32DVfVnA~yP28ZxxfGa?^rCd(yf^r0J5C% zKPSKJ(*=5*C#RqK^mD%cJpHSF2Aw}2`Dfey$-q`ng$L9UZ;>9IhT_ zo?dQKfALSbKfn0Tkaxw;p3_h7{s-gupNrph=M=&>kMyrky{k)y_Ab{iy(6#mlOCSC z&GV?W|FPzR4t5x1tATJ2P)9M5O{a4A2CfWJ$GJIO`JPU7U)dQ69jF{j=F$E2$JHg$ zcVYBb)&8APS;#pcH6vm<25C%X6x6Y@{8g%Yj8OQXe%vE(mdsOEA1_CB=u&$Asg}5q zPh%;o@-O+R%lj8sPpwP(=G8re^bXNGyI>V%X1-IdpYC8=$KSh0`6?5Du94+A0vl;W zRMqy|vG?hNcMn{$UsOMwKImthdhzN#Ymkuf23s}hT{A+(9+@@>0tjcKzjSI`9dSiS z`&u4{mKv;bSt?5Q{PJ)s8ZYb9%oNPvcw7v|D9S}i<=dP`J81Wyep=2{w9sM1Rc5KoYc;hXND*3%9*ruKnwnEKfeDDw7^1so>7X!(rS)1>c31V| zqoro%)HaCRT0*NnX5vNBmyjeM-FPnpN-GlH*CZK_hCfS)W7eu>Kc>*~t+16UAzJwC zYIslGI;QEmM1AS(9QB=k=%S}@@8r1u$wpLA_E4a%g0xd@)mx6%gSMBeUoV@Mwe$MY zI?561IcnlARnXE?l&26zsra%>vxA*`WN%p`uOO}2>S$Amq(};O9LUF?GO#XqSGd{~ zNBiZN*rM=+QxM^#vbym}TDED*Zkp+@0;Jg#9lp^Gd}(=<)t`cDYer@D5=d`TA-9fI zkbX4#@MFq7-!kSSS_>Wa+Ng8d?Jw_rg^RWYl(wrck&9_AZNaCv7;QbV`gCpIMk4UV zr8Nz1GLrBV`M%pudxx}kmas}>o^mL)#i#8c8}t+>zW3Uah&6G@BFV}hEtQwh#d0%N z-`BpiQ}wzCZjjFeL~J^7&PA5a#v?N)%SolSt1M|X<+Ui6HF!Dj4(|RapuFN9y6>x_ zvagNpVGEMt0D$z7Xq=Kw3n@1L)ISeGNYCD z7|+Sj&G)ejn8vy4HNXeAY?q93Ihj)m-mb4O@xicb&n`~nmzK9KS2uabCxCZ+w^}GE zd89i#513p}uP*hoB6B?E4CqeVpfOutP9uYwE}5`;oa)FgZjbA6rkn*4aAt?~6gzZc z*;YM3N?#2{@r%gg`kd*PH1`pNNc!E%6uCq%+srb(*Nej341J7K7hIieDGbO=x4bu+ zrSEIQ5h5|SVaVCAZy1d>`aP$%QrggR)+^slwYoUT<9G?Jc%MS_7fyY-WlKMJN81X{ zroSL9Sj@>4B~6J}J73f_(y2Lf)e61BMQ2t5!n--3#-w{~Ymm9w_v8wO=v^zp&hEhYUm{9K_PMKajjSL9lC^gMQ%%|N$m6zbK)Fg zg;rTnwst}W@)5JPaJ?koqBd6LZ9Vx2P0{gMNBJ0ST=S+&Sk^Fb%=ec?%MZCrAvpn! zKiB2Hfh6wBzU(oCxs2a96QmL1K5NJu4E6T+uQR1b`bq_mC6|X$8cSPko|x|F+pzKD zuYEl;$xV8tMqZXIRRWE2620E)(sv=Wg5Wy)X4czHzilwbYzmx}%qjau8^N1xsTtkr zSyTnvZ0>uG5e_nBTkAK^jY}X*ZR*b|ig!tbt$I9ZY+b?ATvvh$!D*L}XYZC=RLY7s zF@uS_R5EpRG|T5_KGYv6I7g5TPQUEL30L+nJP27pB;&o495C`mbt^vL^!XAt!e=v?>@(Q z_w*7>4dFdu00psGxO<*xm@#pe)|hO~^rTnSlMe9v6s3ic?U7gh=1I+)Fck5|IrKa; zv||x&=(gf9t9pWs=iM*8Cz0B`KT1Pp`wZLm8?Uk>(}Axq3C)H6&Ht`<1vo{VIf&Qe zw&Vf{GjqERxw(|&C1PdommOG?mmoabEuA@VOU-xjr@Nl4_F3eNm^zui_$86f`odnq zGTU97*)U26cMEyG2D0{92^ zHmwVJCOclKLG=4X?M>wzU0q6z_(o_gOYBe``ZPPBdp!m``tw!2_h3hEiYmE9?5ELr zdfl0hC=kuR{5w#au={)No6?8p_13R_><&)K)dpd+TR{?e#a?PmlBx|}`U6*MQ#R%()6$@aemQvVjocz}T-nK0n(qJMOeNv*j$4+yn|rY4 zPMT}dYn(_5#r5c8^D+PXmi_LMI(oQT&p|oD`7D21^iyu=M6ucu*+B`Qy*Y+d3Rv38sz3@uX=k@g59bo-9l{8t^V2` z^de|&RwM}KW^oXgo-;G|avE}1mHiiq;UR*UEU@0qfw#mhhP z)385!W=S27b)S5^X9hVoSdy~bV%=ASK6T$se&WRh_lCc%lt%2>fur-@A?WDSplT=i z3>#HkPfj_bylM#FA>1(C4;)HtNMxoV>*e-3hz9DXd@JYe<)XOk6#ignkt^#URRU=!PVD9Zlxm&A5xJZa4L)1MBhCG_FdrT*QDBg zLM%J*XcdV$IyqV28IP`?r|Q!A=dM(rj9!->MSaGvy?T+koSsJ}w)p2-clJA}oxvts z)UvCw{||=!r}r5D!?;bCwRPT*%2875bJI4eolS&i8LXGVo_kfZ6xFBB%+t*7%+D;^ z$`+&D$+?kIOciGMDXKOC?=yW^ut8t90k^+Ong4JrcWt zH&?xxL)(B_)oC52@h|_yDmPEc{Hd!8vX?W!mg*((xL7uL&CGA^iJb+k8Yb>rc^R*j zdzDx#{C(S`fC6wQnMhSL>uI)@4t-_l6RnPI_m z5UWlNZJrLc<@-pvL{3Lmt*ZA**s$}J<}B>Q(8Z^qiqFaD&PL{}r#8(m@wHu%{RKDz zk=i1X@IJLHoO@~0rRdKGcVO(P;x#*3tn5zYEUByizZM;iZf{ylRJ=V@5!rbP|73fk zhu5%$Uqx%IYPUrQIqvmAV01GccTxe-KyhT|vF%S$$4v`f_je(nh&hpknH93{S0Afd zSw2}`MoWNO9B>PHtTs(N5!?S{r|eEXOfkzuX@fYA7ZTz$YPZaEXo=tnZQI2VyaXPF zqYFVZ~0m{ zyw(zDa+?h))&8xI+nR6lGGN5cm%(as>cDOS?sB8t9 zPQaYPUg|--zL4s_|8v~Ptv7=-O`uXbVT2XefZl&SWu}+!{z*8Q^Gvu*-2N=`h1KLm z>6T3L)DcqxQYPGg-6pBhj_pfi@@zp_ii*&vlkKF2KSRH~EbW}R4eodQy3-loE2RMJ zMATKLQmAO3FkGr|Mi|+1m8SuVPNwf_9KvRyy43f(^WUYqmE2Amb;{W`VW(Wg90lKp zPD@KSQNgSyDvB`zYzr~PR-%Q z^>?NQ6|;T!w#b}XX=9p5QL?tAI8tja6><74PDE zcYtkg&)zhkkhQbz>Vv{B`M5$z?y0{8kD3R0F^`1asi)ufN&>lX^q%T(Z( z984(nF{@Xh6$V!Ro#M*KZ>E?F68kNO^PV|L2yok_eK0|KL#{=JnAjyFD3!tC(<8{z z2h7lm&%%=^pkBOkg-(9$>MF>bOV*Jk&TOI)59B9;SKmh}*D%HCv1^TLyL*iqDBkO= zBsk&gnEFoU+WlxD4~w4g{POGbN^Sq1A^N}J!%B~YVTIS5fKINwboW2bdQf{`eIu*i zgvUA$a+8r=l~>0jde352`Ty=h33l7Jb9{hf>e*D>2IH!uJ5G4Y#lROj@&{%1XzZ*I zdD{oibFYc(b~K%)MqHMhUW^s2ji{<}u1;>rcI#JhZaKp(YoxL#bZdz2Kgfxs_&*Uh zXOQ|766;VsdJk`&=0xQJmB_m3PVZ<#;B%amx5*Xu^d>Q?b&uB?gFHR%_*Q6g+)c7! zm1|hRcguU-1ybxeD0k#F67A62I&qu7S0;Nf#Yf4^3{G*&G#3nf&!gzCt&8gJXa{6# zYg}_Z-ySbb-LB{Cm4^pYv~@9N z>-ZTBOBx!_|BlLe=lS$2XwnNCkD=ytuTd>tR=(9bY+X8a-)lrH{S7W)ah9qX_avBn zf-MUTy|q1mV@FMROL}piUw`Y4x>CpSshx+XQl!pIn=uS|y(X*Ka)BluQ8d1sUQ1=8 zqo|h=yr;Oqa})N9gg^BFwW{6!`8(V43XaIXv?+Wh7R*xMQgu-(U-AUkh4N$5gl0wR zypF>Ev>SY-6?J;*&fQDr?3mz^O!4Gl+LLvhJd5@ciN4U;dge4(T=&9Ra-VEJgyZcb zZBeGMDv|>h_zlbPSdXCs--|_{UWeD|jJfA(3UFJ1eYTqy_R7{ctZtE2rY3eA9=Pua zO^VXqje3AxHotgnKLGBIw6~Ov+(@74UaDe_h8y<4;U48t;Sy%qc|EeD@p5!`zJ7@v zeztfQMcUlst&4#h`Y7&1u9|-=J-MIf)$8RGqQyD_5tlL;Tiu#{L6CZ~fDF zrv_lpffu-*a?bHz&(Bz2>v6P_Y7FufSyr4-&j8 zF9?DHoA&-+hJ#C!(0%&j!J2VARzK(Eow#D!WK9P$IZJM92HpvK9R1Zu|JXb^_;utx zI;kD&KJN$!kJLBJn$IlnDRsKS$DQC)!t~=}EA4n9nNsJ~EzCMl*(2<+NXiBFbrWWy zjZARwOzO~QWY=l@;Op1rQ@b8aR_iW{vby=z*L#{wX&!&1iLL*46nnv&xZQQe1+6Ay zc}0*xv`Ff%O^&ZOxKf{7Za;g!Gxl6l zectn?WER(#x>y6>G&zq5ItGs@pFV*k8FQZJaf5#jL~w~#xN zFU%hP{N2OoAN&8rMwAiVX2;Qn3-5vK&|c_l_bFbgDEf-T^6AJY#k{CFA=>$x;?2dS zv=&$5B$7vDPGLRIiPrss$ZUbT=~aQ&7j!OvA1IV>Q!GfQKPb-X7>!eH>Jj)?#XLNT zU$_kNW3c?SiypH0B%JfW8nd&ra`-c*F^3Ek{2}C7f?8wF^r9NZISExHeVR^ruWAu}# z{JLN20@0ONGJAH*$?eKpI)92`jI8jIRXe?Xyjsk$c)ajXyP|O6F3I0{=^8)97s4y@ zp)!@*a#z9YmG*8PiR2{K>@8n1QT+GJ=hEnvVti3B*BFwuTjitDb6Gj$MF}hIlLWXG zim=WUuCIVTyIv^v!Y7wio+MA}nXh|=w{V1+;_W)~PsTVD@>L~VSH;!kvRyVU-;|#b zQU5yb!mhBYAT~wEe)9`|g}Ldu+CPN&FVuDt4y&@6crRZwM=noQyO!ZndlYZ5F>Fri zi8fKx`f*{}MYaiJBZTK$gy6R5vz*z+slt{1%FgCx$ltHNcs!$d1N`O~QLLPNt9)~7Rj^E+Lxt1^o+Q7CL@YZ z6ym}~b~shIe)qWsz#X57z9bO}-Fvh|X8*JWUKPeOEvux5$x`OIc@p;$-)F#lmF}>~ z;9t1NAM`Qv^82e?Q2zGBi>#z*B;O?-_P7?X_0?)TyNSM-XpD2dAJ8iSMig5@?mzyz zO{&NNa8zrfS&`VC{Cljjdz@)Jt7-LcZ@=YbeZ)N5Om6Wr0cLJ(^@{O`=g!1}ZU4*6 z!p>-q%u}u7y4kAcOHYz@iYL>*WJ8tLeLXp+OLFcc4*W2oYVudsR%@%y$x+KM_RUt;{T zT5I#(Pk-cpf`Pf;+Q;r}nBW~XOXABd zCyYC!$5DvKxge&*cGrQ-Ex$9k@>?!VuLZoVQ1QO`G!ePagSoYQys-AW;{|jFJMJv( zEDVv@V_u0x_`v`A3&Qupbl!DQ6HDsyHgvG7OZ@_TC9%+Eisa&s)qZk^TdOgksbKlkF@LL+oG%&+Sa4W2u9@0PNi2Md{9dSAGm z8J<2%UzydrIYH?__3PAHBMEnc4#i%bYzY29We9R(#JJlTU*4HDRZDJX<@EIZ_`bx9 z`Dv)`O7I5U~P6CCH3R1@)RpxIZf7c?mlF3Ue?l{$FiK0~kZ&ahk*qzkz`M>2%CJw%cm3k*(*kYz>X}(O{b;pb z>@ot$yx4;lD8}kkqKJYxQ3VSll>esoiR%=BGo{?rr~s&tl*m%H^H84NiY;MWq>^&} zo)oxA<6WRFmR2st%E3m2Cv-$-qh5IJOVCSq$)BizeIduyCrA&pe28hd)Ge(cEd zV<;;~bshEiz@Hr83=xbo9tf{~nBMME+9+KQ-t#f7lrI^JaodJRkW8HPH6dDs5 zB^asZ%;>02G|iPuAFrdQ6MnJ?`AVYa0bz6KivpCSVX_7~y5G|maDfoy892pfBL~-Z zU=C~x0j;)@h{)3L%qGQII+9$E%RFGYIZP?Y zL1nCA;Ex$-O5ysj`eX{i(WZ~I&O>E8CvNaz4|ND6mF}t58<3CUVPsj&5cSd9PNTV8uNns+@2#eup=$nY8Jv!Kx&j6oyBzud43 z1?v(*1c8uFt;HdH2RYU}ehpxWuIdq2Wt9T~1BtMWKy*oB9z{MBATY|RN<$*Nd?%ly zCyLTx5Mvkzu9hnq(_zO#Nt-0C9R_elyaR{k=A1Z>GUOM-ypPshyuj9jhnj~a&tjJPk38w+Ql|Z@;RLmCy zZ?K4#1Jg5s&7&k{bb?2KL$GQYhVe{`JO?Ua%K{d#W{kPQK#BeaVe zM_1NP9U&~Ytpb}yJqZ$4&aS#rkcxp3rh8>lo+hO^JxLQCeLnwAH)96y+7E@C#!+Wy zSMFr(?<&kiR53r(QG0w8l)yu3_T3W(0U;uka>$3Kp`hLY!|vtWaw#NQWXwU5F&m%b zY1vSeXQl5EGP^t)pUl>q8GZhxQZp{ymYBSxKY8dHN7W?Fji|V>IE1BWqzS?@Rke|K zfX1EXP8{43*u0_*9x#8@Snc;Z&X@p?--1BF?2&{ciumFPVB=}nb`{82 zqBWEvs+pI?C?~*z-%`(k*2bA}#X_Pv{%GY)#e$#zas)QtU$}w%rT85)t>#rng#n+( zu`(`^%81P7qb@=eSO~BvX}xNJ4%r(>a>%96{3j=v1~3QAB2;v-luK%>+|Hm1h7Dqt zP6!8#7$YI6wx!BMcoY%x!RNQFt%yuv)Xu=Bph^JdZhYP4e#}W@P;_ua(U~%#bwwnp zLl@`k-<^nB=0_;cMXMolI)qHkp&`I%t5n>0!QqyUjk(Jrux@OtiR;B60~RywlLzyR zyo)rEprM&X5v0tnN{=}fdJ4GK>drVw3I>}PqP3K4>CZxShsLjlu#9DIv`{-OM0t%_%@>YIk@CfGYMWIX)JIwisbZ<)!VaWnsxbNHeP@u|Rha{QC{__Mf?+Dwt^`c^%9j=^6dEj`r=F2-z8%Wx#z9)NvbZKI?f6fq9Q+Bu z2ov}eOD{!`GCJY_EDKvb^I@bs*+CdXq*7_PvsC~;#p0QX%?~_90CL@(Ra*yISm{8; zCM&no@N(b!Z$-s8dBDj$QXN&@aH~1DpP~w&xBHI{)o=<%~ zPIOSTL$j&FUc-$NN+9Fq9`^RT z3H1nlRC%Uk2~c$<2XDkP@X%5(PfK{4%nbn{;GMOecPAx`S&UN}Mul7kmjiY|1p7VD z2(0oIKK!6Pb`m^2a!hviihTU;*($#jQK3JRmjb<_RdCG|8yG$|2ykG(i)f%w2Xeo^ zd(a~T`HL}_D7c*&Naf&+$?bp}y@YoOP9DZ(E=Nqyc5a@`wRSu*HxSBrfa#GEYK4H* zLxZCKp-R_5)HQOs0gKvf+I_?8E1^zP!@?nv}0q6P{}s6 zB#;fb@uQf0iLHcDrM0l>udz>SORIr$By37x1tGfLCuw81 zUQkKRL~rqoi8Me37Q``(K|4wqn%J8`OJxDDcB8rJ_M=bn+|7jzmY7-^T~ozb&)YVC zu>5?v;Up@W8q@fr_4g^nx@%B0#zYl6D2fsTFLJ|!xN6X=u}CbbZL)@OFxGOGK|_GS z0>{Zz4G|NLu5<`DXj|n+VdA}8?rW-NAz)IfwebK9 ztqL?3CoLV4Si+69hQuG=wz3E1F{TAdgY75&sqTVfA~yMKENEo^Mpq$+0~Em^&ZErU z00uY`siF=DPwnKI@`nEuZ>k`bf_m%a1fdc{>P*EN{dG!&i4~4OuePM(}wH zD|E!D>_il}0LwHeK2{3iJOf3BAZDDM{TrpQIEGl-t@(=+r1c>6NBKarK}K*kDT z21_VIr2-vILCrBk0I@jV!s(kGdiZGHCu^L}DqqTvWdRr2ds>E(T1yNTQx;WED9zw1 z#f~NV_c%TgM^wfDEpttXkf|_WjSRI@iraE;SXO8nGEXraDp`v4UTK0w*!2muGBFew zfEwaJMFZFLKug-ewra*fh+@ajdvg1)6*1bB*gqH~9zFhGx52jNw3_gEzQhJ9h1G~g zKtX9~4|N<2zCakm;7~KhU&Oh*L~xUzU&9F_ck^tFwtG;v$d;eDOhTp)8eDTu?r`M( z=(?2kV}_U*V}Oz(PzjFfe*`B;6#zkgr82>Hvh-8)v?KICBYkGx!5V;qM;P4(4>VvA zmT2V`Hz2vf(cL?B=pdt;*;0+NEupQQG5`e+#5hUvdlZz6Hm+y+QXIKHb37l5ppI)+ z;IAgkVOjo~^bm3&Ymj36>#aS<<&3?=*w4>MP!Q6P?Cbsqc(Z*-3`U$y4FLE!KSzQ$ z?*BZ?&TQNrGiqw`6b~p^77`$lQduol+_kp=I;n@* zdc^%*|H)UGoWY)xfBZjJKJT-{QjcklX{OUT4+hak))9__-|#WqR^b@bUtedbu}YT| zyac|;abswTWH%bCl#K#ZB_5P^@VvmDzjF@AfrkV^!jT#%OPW9?;H5DXLg#4aPn_WN ztN*i9M!0_F`5xk*NB!phFEzw^=eZV`Jm?3Y93bM5431g+@x~IA(xsz;ZhU@CoT`lE zX6j@RH3ddM7)k-qc2K3q9}4Oa6zu3rQ)w?wb_NK)wsbsbG59Aldq|Pu%8l|A$R(g= zsjtL1i0M;OG?m6UJeaL-B!nTMp`>p^Boc#Dc2OfU92=4$3l$A^wr(++Vh3Q26rK}< zfi(*4JkU9e8Z|mH7VdXT@S}p)tt3%&Ol=Gf8M`%DSdN$IgJtMO^@NU3W}PWohJBw) zPd$#J#NBoCSiwWVvQf@h$ip0M*YPCLF;D|m5EU`V0k`ETZ3da}n0DKMrN%^&l$Zm! zON2J~Z(+4PyY2b1(jwd-=X*gl5|sZ1P;rnU?Hk0g)s-orRl`dX}FlHK?S4&@b2yxoJ74Np@7eLVT3B zF3DH=%LP9SKW8?(bY^tzcdl2fa>(X@f2BSn9sSQw82>T7*-Q>K6LBkpN++4x6?MkO zJdzMepbY{;Txu%0aqk}pGSw7f2mmrI+e#xs+DY;00UYq2N1tX#zoZ#-@j5(u{jqD4 zxpAwbvceDxs5u5hVo&QSAyT|mPFhDrmc1iBQCbAn9-%h=c;|L(5Y~N8lY=80RiQie z&&8#{})G4hyfW~@L?39Dgz5z$4osS+>K*71z0+lrkSN-g0r{h+Maqt zgI9GFKF3}l`!^5it&!HL7|<~mxO4#-gP>#thNaH%42Tf$WJLD_}Vi}*|jx0 zhyqvm6s+2;S75HNAxddSvnu|dT~916Qf#+@;qPGp8dQ1==~tq@a>|3<~ALfJ=e$Dk1%5orWvXn*2M znaAl?_N15p07Y=92+@GzKmaCzqbEjY84^?6PK|9wo=a!c$l}^=xHNrS)}wnUMX?s_(u;mGs9*}N9az_!OPLCl&_4< zlfN1=|Jl!}2kzJTt4@Y_^a8)v6Qn=t$NJ@MEYFDcAn+YzGaeLi10p2A2y$_082_i2XhLyN+mf!kcZAi;}*LhK@m3L<7M#w z>aeCgRnOiJ%&|vK?kG2)$IlbtBm;&DJslVzs$$+QGQpnp8QQwi7-NQQy)wl)qipFi z@C9%N*J?lN0b#bZVK`(C`{Y#Nlq>JdDr_-Z!F$wmq9|4D%#300Cy9F0!ENLax zNEkHldVQD@OQp0D#06CbC8$2+p7fI_H)KCvH8w<0h1FZqL*w{QR}_NQDF)R5-~mqJi+b5h8i(D zC>#L;@HnR4>n*iYLo}SDwT6Jx)dxa)T~mvN$i=4G)L9hynX*xu(!&6P5kXK&X9HfG zGQ3iO&J7>%N|ZN{Y)1-2v^fKD>7h;vx>qW!@3?A}Tl@Hz0=$u<^vpO8VKZ7-gPNg6 zlx`FkAZH!xH+%E%btpkXLb|R>P}oRZb|zG-6~8s`VA)se_Iln3R3IWY!*<{AVr0rI z>A==xG5Tp#_qpE2DFbaY*0`}zIIT;cHr^tZ_CAp33f_hXohU^`(l}5mZl~Pvl{aozwqAAfhL+TlVrdRYhk+A-4{-4+ zr8%D_L2oR2uO!t_v5k9nA#l>h<`P*XH>bEvjIZDA-@Vr)1!TO)X|fANnXapLLjtM^ zLaaJbUG=;$C#`8`Wrk29(MkmK36qjP>Y~S@pc8BvZ7FF_Oj!JOnhvN}7tP z7&ZsjH)_2^k`Bfo7_b?XfU4ug18JceIXR=g5$nB&RBVg&TEZn*5fvgLM(L!nwQ^(K z>v~fq<;$5M9Mm^!&5LMyB8Y4R1ttM<-c^>=hv5wGh?U$=sT*ALvjH^(=cFY2b{W5q zTHYBb1VqAdX(A9c09wtfY*398N35w2t2(H)810{R0kp!s$ z!>MuAfGIV^85F|-$M6T4Eb6{qcHpA}WB^z-F-xk)(kMJ)nnn%g$KPm+T?A^bTf@YW zBDn`6ie_*i{%O;mL>@bCFAuwUs3VR-70iDZEoh`3#HYdo4)}0O-q__pg-{TcT?un) z?$%6#Jpf6AZRD0&w>N~_^G4wm$`ylP15OBDA;6|m5NJK1z!k63hD7Yyh*~-c!xIiR zocotr~^0^Ie1KU8EpbNw;@daKkkbNLKxBknD;Nslej5?@6&akb$ z+17+n_Uw&~i6iZ2A5AKieYaFq+ipvd^KZuD6y)wMmS3s^fdBwA05dZHP+J6=WNOC( zF(3dz0JdqCi@hnnx82(Rb!=@ih<^{?zm4FYZBx(k$vbu*J7Zh2t$AeQzty~l{{Qv# zNBZ0JFY8<1di~h+AxnRJ^i=<3W4-fFU-j4DJjyrh>^$`kyI)JcTGeMf^f>QZea9Xj z*||$!{kcCq_Ua$ac?2tA7*2dOmqL!9nqWbBaMwuw0P2_CdYs*O-miV;we9(9^j^K8 z=RNlQ&+9++H$p$rzdiK(gX;hKS1wbslboX>E(sZ$qZSfj+dTubiE0`9QPQ$6f7+$A z+1)%ZZ&|RlI%PgKF3M$0lPpDo?b9Ae#Ioom#;Z)KSu;8lS-eb)(k|I@$xK)#_~+!) zicxbap?cQBn$c-0a>y8L7HbksbD;A!H{qFxHEWekMM7qY1pRKwJzPm0E4yLu?8KT= z`;r6w{*8U7zFuFnPBMk=hF`T8PzlW<0B^)B&!#@90-<}kYXX%vRIgIf1U{~&QG&>!bVBe_ zpyBVWHH+}Kh8c4UC3kvJrHC_lWH^4fMliR6ZGUZ>yB5`)=1~#e=|PpAV)q@nf7N2K zy19uyIuZ(UnOTfai+YFDyH}_;yGT7|xpw9CW4g=%Q}tDf%*v47bw!;7$lgIA)Vb^A z8UUsh552Rvl&0&UWVLQo>AO26H5gpEVk$Sgx9Gat*#hC*tgR7xtru0gAaG)g&AV}b z-@*`X+`4x)YbuqieC=H>Y8g0VrYl%jxqFGd5SOdAtlR@Ox0<{iJ@4wGQkgIk$O7bo z+`#rl8qh|u-3>DkQ5wa)cT4NBwI{P~SS21=+I<#x{1PmM(r5L~*|4c4#lAKv2|^BR z9`!DmzQg4a9UmE*eDF>iL(8`xp|9SQ1f;TOcoUFNSxSN$Q!SFY44FKsUR=rdU7r|^YFRKwaj~IF zg1brO>W_O3U!$f=B^YxJBi%-SIA$*W2w?1xlBpD&%O9s`wv|$juvqvG=x9QjHY~O#7-`h(d_2AyS*xFvN`b!>v zbgy#Uoo2KJ6;ZeFw;dZcHvhgvK0Oq_>%MZ9@uJt4WtSIe8VXrJySmdx)y3uDLxBcU*1Nw|yh1rbwa5a&Lexmf(Xf!6)lC*ur+pw#p=%dcECK zm$p5WABCv&j1@lc;d#5<7u{KDe4Y#4OdZ?r zxw?yc-g3Iz>x_*NK;6GP!Jp67~W{QG0SwSO967qFZm*Eb_=~ zY#n)Coc1D2+Q#hTuwC5={?+4rBdNnPIo>kQ7;JtcUPTm*3wH7+cU47Ew7=|d4M>E6 zoN>GF4(iDK_rL8Ugk(ObBJ>NdhiHR*6pi$s-Y*yrp8exrO5zlfy5a#v?HlkpsDmHz0Yd=>+!c{`(Vkp@x&w zef|WIX_=#|k$G+<#2pLgV2q3%V_rKW@B+daq%+)CcZ%Tfqb>ZC1Inao-bG*QOScu!n<}ip0)Z<1;sk+Z9FV7!J1V-St_s;TK7h8dHO( zFj6$L*LZW1ITs9sB8TrToIpjOj&Z}9$%7S*Cil0v{<`)f=Jz8*fFv+gyiLesmo{T- z`@d(}xiG+exx=NIsR_(B`Jii!xRAW~C4x6i_kV`8vY|Kaz6l&_vl~oMxT+=2RP1z- z&Aasbx8|*1^=bXO)V?*p{r=-MJ*lWkyl+cy&Cc?1&U`RE-6dt1L65mb3?%)V`6>sI zWF&SqpQec}^4j~l-ZBfie8Oo5Dy4O}3?tv5q7sKPdRRR&-Fm)W_P1SoM|*8rkG$#g zEf+^`f7A2!nR6v?V*_U#!Y*S-qLg2Njymg_dtST)uI0oZDmQD=AhKcq%eV=ZQTO z=k7@duFm(X)&xj8kmqR#kYV;$o_wji%bmGOh;Jnq+6o0cw9GEngAht=JZ*t9|LwcR zOy$C6bC*m`errDElk>U9)@uGEwCo!X64GAht}?MA@o_|~I)TVG5dY=%zH9vvwYOBp z^~Nr6q5RIvRko9T89+49J(u`n+DKcQlwZjb$8@D$x-zcw*!IV>p_u`Pt-r?4X4Iuk zm1x*8OsR)r$lF;N%aAk9wCc5}skZl@B#G=eXZ77Tm#(W%z_C7SrJwfP(ZglE^ol^`rq~q?l)O{siu}PHHisL9KC4PE>{Qmp?wLq!D5uY^g{g~u26S`gjGu%L?QlOuLIJ4T^5FqA%~aEdmWndc&3gp+MDkLpD}_+^ z!=?KlT0xIJPolA8fw;*hzR`fCWl$$|eqZiBwC{6xAtQ}e!ui?hG5~D{(R?OXuup~3 zAQZ%TtvNrvDUs(+soYgQPr39T%(0pl&{tkW5{)P_k+kOlcRJ243wniy6=$7NcJx*& ztx%&kp+~I&;vmSNtwkg(*5pRX3xf0(MxFIZzaLm1VP|B9S#^Fg@U#`bmu~lLyH!|7 z3i2y)1*zkASL`q|v8MiVrKPEgoL7x#ZwXtZ=TwK{1hXf66Dhf|#l(#<`u>+QZGN8K z%R1RE9)i;p=tUyYQ#{K@K2hN-?BmD`QjxeNY3W?2`ea+uqtV&{DvO9)a!yiqC9>t8 z+34H5B$CQH{LVjoPeqPWcy|?32s*(u@y(2yH-sRCG5*-_TROfy2Gz5_&E<=XYd_w& zujhR0UlMZOc(P2hqHUIE0FgC!rP65~Nj)cJtzY%zmHKqjN2<2_sASorMDJM z=wj6=Z)KuUnf>2?Oht@4(q()lvi9oLbym{)KYojb=I)A9snJ<3f1fQ?S|Du+A#O|d z9@EFx2gX-oPg&4Po*5KAW2DHJH=IFHfwT1HWM)5RX20fe4$KFGh(Da;{J2Q*xz8&v z}ndw_8Lqm50|K*Pdt)sBJ$K~|BL=u3t4b3e9XaN3cYIG$dlwwZhKAi^C=Qd$L$+a4SHY|RmzdK zU%I<`Yu=(`s2=l&Z^12Kg`u5v-yg2vUT9{L3lU=?wR$wUcWP$P;&TgOV|A{xebnv~ zVvxl6ONN@2r}unYJomP5!GN2T=h4W2XnCS49c}VM83p=EQtykkJDo@0D}{}BGhDwz z$#U2o*i)?>`=|fauGD|!a_Qof#ydrzC;E?|Qpr^DHaYCKm?6w#Ziy=oR2eA_D1Bnm zspY-&=7S;cJzKOf$sZ#K1z!RdNsAmv7*Q(nv{RH@iV#w6ndK(HBZUgZ#@4I}Hd9*~ z*6H*FODeQ3hQ#oEK#oFR@k&|2g0UHEu^tfj8QQnx8hww@5IqD{EX%tW!we+z?@FzC zGSeZGF-&Y1g0#z}H`*G`gMv5;`O#BbvG+>7;?d%qF`1O|)K$zTwss_EwGdy8wk~vQ z8@pdK*P5~Iy!Ff9jP3R9o;&xyFS#fx1vznknyRfynkLBX=%@}=m4|r4PQH?q!-QJV zX&ezRw;ujwRCOeR1F*nM*7U|OQP*fo7-Ultdn9e6b%aUpMH zPvP~Mqf;cI&llM#uSi6B#*hN&~ zdP9H+9`t^rg|@Rtja*WtQ|^+Mq^^o7gKV8S6ALsb;CY=!;&q#zWaQUMB`rv06lLJ2 z8rcG^w&=G^Y>L0o#}U2>(vFfzTJu8b>Ow&=AM}ilujzr+(8cbNzgE1}p{HchJ)8a_ zqV}gyjD~YErsQ2y1%-hg&aI{xZNidVaanp~>G$W9Y?>sZ@c61Tlg>@|O*KWUx6i_V z3nKP$M^Hi|>l$LYKQ0haE`3v5bD^cvC>iG#) zA>PgU%;ecx;Ma2Agw;srKCp3ktg09^f!+XN?9%wVgU@X~m3laeI-^7mW#gyanZ^l2 z)S;javL}->LoQ=yd4n6z-}(Fz=-A&V7<7l?Um%|0`yTdQTXP#6K2Bm=uZ4s|g*IaO z7wMr40DT<)Zld$}d_OpLSRSLWNus}-{|AE*KT5#-oue`pEaka;zDk@}5&B2N=+8M2 zo$+_w1JwCU6~d*h*{YSx{G*pZwSu4_Xzy@Zj?))fGWQtaB@S{o4#gmoB5t=`v|Q#{pV> zU8x8i9nVMiCUc$qcMC_MfVk$uUp>M0$Cr@iEFZ^PXF_;#Yjhk=g|@3d6PMCP^>QN1 zX=Hu7rfy@-Z%bW)mjs8=YWgE1oOk-Bu@a!WXm34iHXl3W?}?bJ3(#NnDH^~`AyDry zS{R=c5z6G5^w3umB_fW;%J=r`89N*Fv$t#Jbyhrf-rW1t^v_TIR8zI@e*N3$kM{T5 z^9yy_M+z$dob(yo>OGsFOC{#cRmCHn#U`asSxdJOvBWz_hQ>WVzTK)j1CUse{NS;Bakx;0m>TPUc2qWMiXbG!0J|4S)1@ zqPmhzUgX9H^hBZCd7wfB=G}*-y4_Cx%Tq^w1h!<8=v5O%c06@c5nXh0G4g&fA+4T6 zt1oygHi^AJtq9x~)qqEtu=}&;zvbYMJ%6TEfupiX^e(g_(;u!fQ9MHy%HcylWvn+| z(OXQe9G54Ju;sglDn0)pmE)R{*;sGn?tkNYKk5AKPZf_NW|s@ex<7)@a=0TKd>Lo- zxRYfLDlFmUHF926&i;v}h#$Z%4md1vLMmt~X+(Stlre(pesI+aBl()2 zHW&E0XwDUuPAYY$QJm-R+Es*^KzIBn5i>ed5h#BcPz zOHiz$=Eyu6IcEyXfrF{kY{EW*D>%V2&`I8A)k%@(DaqANf1}QdgU;OQ+QtK3+%6PMMoA~87WnyZ@xE4X+; zjU3tXo&M%$J?JGE8PL0R{`ap{=5I#%{=~FXzA|8zEppiwlKQ#=1qAaD1}>feTd=GrD~M5jpg?tk45qF&!MwHIM#aGah;mgHf++CZD#7cPwtKC z!1ar(vkd1w#W?&0wjgT!PzX$MSfdEDmwr(Tb%PX@&|WMOrvM32MFd%p_)@Ueoen0) z;;yOU^jpO_jjR9Sy)(ord$G7$TB>|ntQ!F$S-HyBo(9=u)^ zwB%q(6pWgvQU=jXx zSmQwd&oNZ>q-S?{pfn)&hqV_1fPUgbfngSM zUb|ao*jsqMbtiZGmAz$y%a>((_tK8L+Q(%8s}|AD^(NCCk}vv&&rTTG%I9_A3%&@ z*ovQ27Cg0!L;?4JL6m$a*A}R-kv)+MU0bwC0qy`oDbB5!|MjCePplw}KLs=ZNo9hh ziYUEy=~c!yDq#m0@Wx0h}v8|#@YxdLFaL;c-Y6B zYLRv78G6QLho9(?J$lQ}>B$I{R4^s-#b885)aLQ!jdJ(1hr{3cSK~y|i-6cc4W9^N z3N)FrI!@zQZ(34J#f?dD()Qt+j6((%x)J(Q)YOnbu7%!JKL`iE2_mF=i7L4SdfL26 zDAz&HVc?jxu)#8+98@QWkt#i8Yw+*&kOB`N)??bJw|myfNoR6Up&&!5%>tYSvKU&G zrBh=t)tE3s%~2M{@ZTWvs-_uET2B+-_&!#;?Lvv|XNx#Tyj`oOdD2TeMFwvS7VJO;)KPX#j{shC`M$0HJ!0 z4hfz>&-*9xsv0^+I{hC`Y)UcBq#20Y=Vu6D44Ge&M&wjIfr=^ON`bvac_`U0m>;o2 zFmO0pPn1UFB1ObLj6eY~Qx1{{Pen7@bQ+Jj+9OjnjL4~))e&oyeqO?BvBPrg^a=@c#Vs###V#p!f13oYubFWk_a2>dC{Xvq zcXe~i*Rk~KJ-eSxU^1S%l~0o)>9L3V`s&Xe)shy(Q5D{Cxzo18XF?{$MA@y?$q03G z|9Vqi43s9oL98tz)KcnXh3O4+CuwE7d6$5G97iX;FZ${i6ctG&zZ8|lBaFbOYMEO! zqs-c*(KxGp59r$nbgQ???JA$cqCde?4xtxAK!1J?-Cu$aKm|JtsG4lI5nt!kq(`u- z@);Oy8fxX4kTZn%4gTuX7WSkYJcm& z9(sQC4$dYCDF{v{NTkHpi$(7U=HCNr25&sei+uW*D8DU4iRsA`nqj}8L^(=naZcTu zH&I+|?Eh;==|-+O5Ex zNr1$Tr!+zU@zM%`0w$b1aR`FSt?DwwVxYiqMM*Ld!a`ehX2Idkz%bJV$~)qc+pS_n zl1^s9k6&#e1fvZ_pfCX8zjScddzxQ;-H-WX^$i^T%+`S)lnCFX7gGz7zRp|F+~H!(XEPsXQY>_slX~p^^_(UlG8Y^?!*i;#8p+0?u9+iAc&|) zqayJN%Yj&?&S8^&{orD$x7Z}_QW*&<#i(k2j4P2+MTFqi$#NVBILxal=XU&mNuMoz zddt58VEXWF8l7=b6`d1_BNKV?l3*m2v6hqy@wY%l3R44QWDg>2T1LFOC9}XSN5vFm zDW@_j1qn*K5c_?wXrE)vxZ_l#TvGH@=QcoRf7kqC391mAHRs7Z^k#gLr5{K0GK)ZS8? zK;pMz%dt(|DCSDIVFk#PNFjoFz(FO@Wu?~ll7!~1KPV+Q-wM|a$Z&*Mp(3q09z=t% zt0akejO*h8OW?ev$ju>$SB|Yb-Zyz+cU+v9C9-{@nm4TSv`nNm3~X3v@Ypw7suCoN z>;S8Z!qmiAFuaINl!0nT0g095qC$hxP-$o4aWjjqqzw_FND-KuNnoxj$f8=oIs!7f z5pyE0R8-T3$Cl{4P~^%aaf``w%v%sBvr%=dC5qf~5vYmgl_aQnmW(*S&U3ETxYAe% zOu5B)llICv_}i}v^yWjCdfM|^)iWjY*Yf38H}u570vBQlsiZnir3rrDx+givhKZKc z*T;XJN$i{~jYSw)8)t>$#ph-_phi4M=2-nz1ASicb@MfP3jU5Em4p0*!fN;Wt0j8Q z#ucQJ>)3Hh1Gy3bi;CzRx8(P8i2+tX#%lNR=7#SMhu)?)Tgr+A3N(^rbIL<=oo9?% z<$!?^EgAdCvTRvw^!gT|Y|8~K*h|H@Dg;xK52ERp&Aff=>gl82&LALIkb*>FNJ<(Y zZ(?G}1Q)c)r5bEJ7r~kb&jCz9`OKlz+(+zFlTJlwK1zZgVog(6DeWT)n5*#!#_c;= zboxqN3@CdAVhZ1=cuf$X=nMZo^Sc-E{ZC{9m)q*e^la9rj$O{)$q#GRwA<$%4#Es7 zq(&_)dyQvW=s<$Am}F~a;~g}uV^S!s2{SK5K?Ek}mVkvs+I9y$Q;^+MY^TY?fgd%B0R!KI1m;0^2SRppU{W(jy@7%IqMOi?! z3=Gma7Q_d}i4{@GjfpD@?Nl1WTBJPoAcY*g48x0vq=@P{-AXdexLMR=Ns0d9gh0VE zcm*peV{QSb%V=smYEQH<9l!x41|u@{9tN zAguvnNf>W;=C!SMD80D4xOfNfg)vl+MUs@(6F^IA&!YUPU3srA;*oiq;W{6d5qGrzvDG!{ zp5MjR8pJwa{^HCS8%x#%PdGFM0TK6cB|huLrHo7$nP)gqO*9e~7%z3L2kk1I&U$_o zn|hl#k^Mp(6pcXwuJue@)m+=`y2M!*+KXEEUYskvIwF37|D6-#m3WWt9y8j0G5 z#S&S(YX4A>iliXGxppu`wQY%sR1VxOB&2V#e-@SOGU*aixKu} zGv;O$yvSjshn7hfDt|i+Mm5g34~*YgH|<1^h_p)TVF<`xz$O1VsDY*}ga>teC#S<$ zz5mz9S+PHV#KymTEo}e0J?12J)>q%}E^c@gAVQF2+MWB~UZQ1%?PRwZdsm zOsrnq86}Y_GlfxLt?qK``idgZM&RU}7-VJ~ZO6>wo5^{Z3``57gp}g333!oqdEEkG zO9DkCl~q}8)(8)shb>90~BIjN=49P!m?!B+)6*&9Dh|`YP0_Kd9S{;Q?8H-Qs=HasS+EhiS`;a zwkuB3t?i%B)2Pc_#fj@`VMxwOx{`tg5)FWO0cTj_FsV21vFIExYSi3a5?hpV7|P`t zHDFSan*kN6D+m^sp|jmh--^we_0nf2U)@jP`s>gAw^B*qNXFwpkQh@|Y@345@>~*v z*Y!st)ku^UghiuHcoqY%DY^;pX5Z|#CvC~d_;iREa?gJZ{b2KOm)?cM&irN$RHR29 zflG{ty~i=eLr4s{i&6n!1#6=~%#?JzYArjABUac4DvC8ALB!}#LEEqo(mA*kh!~_= zs}!Sl9#gEnOe6lazH15AMuJ~Uh=J6S#5kC6(;x!Ea|MS1OnI$z8Ez^aGpyc)qZ>dD zidy;X^O~y|V_~om$w+W)5;3aH$IC`>W5UUlAWHAXJFAEml8{_FL=2`)HJ(H1Z^Rj? zCPl;Ph)DXD9Q_r++!@$$EF*xa$2zS&Hpw~7lXme|L@hD)7g=Hx7Yo<(<1bq+IQV-0eCZ~A z&RP~{0KPz2mP&RZviW%_7U{;rDHFG1d^wofsF54!k6ESWNAepE*=t%fFgS zvufb~OKShE1?Z}WWIs!OfMmlSFh#gU3s+DoHdDTNc5gIgX zIQ40-bFH=_zZqnUqcJRqO&y_msl3_`UHR4_3)m1B6(A|fw)s>`jvvUdhH+iy>+=(q zU@SqUB&Yreqv?ROD=M_$T!Y*y_#geCU5V%mH_q5`*30RsMva1}sIuESQyou2)kf?S%w` z13A1(X~%PNUUUIp4iy@Dr~t+e%tlA=|d+64f>a1J6G!?a}Ve0T8GH5 z3!y+#P@Cx0VZa69u)&2wpj=CpB!uFVd^2t$s$@J>AL#AC!u)f5fSNeVCylAYZS7P< zJqhE4$O@*kk^8|RjM-&QCv5$wJfpAg+(IY@$cbl9I?qVtkiSILg{>YHA96-HQ3Rj{ z10O!P*CDN1g|*J|)D)t5l9XBo-7}%UISLh(3a&&_mR08OZlv|+*E?R)YU5d~o@M_qfJqVSr72gR%jrM0MF zeWjeZmNBwW+M}==RD20TP~IInv1Jv)Rq9!Z(SV_MA^t)E)qoE!lF_MTi+&L-ZdZq9LER13Cc_9)}Y_il)=NLQ!CT!{`6H@ab zHJggCSW3P>*!``cvH~Z$ic5S*D&qoxVBKCTd_X}tmlC@fvK6a*{W>D}8MGE9uOJU0 znG&R+I6x;CIL1D1OfA9)z>z-jAg2o)2erqOz|#txV26q4d@{8_k-4ELSu9L!;ei)j z%D&+VY2+^^VrjscNryV(zM=?L3m)ECbFy~hz@kcg``Hvrtj!`*Ns!|d>=A}JRK`Xv z6*Q9-f049jOtH7rJi#pF5D`IPQcYJ%h`bbX94-ODWaXxKD`%({W*sdB)rPWgb?PBl zwt`)hqQa{%Yv{+>@$4i7*$rh^L8 zUrSIHS*{9`9&s|@LQVo1QQc?AfU^s&(}E0`tW=hd(qs%`Rx>%cGb%B{{eFuBrH>Y( z+DmdnoWLm%Ro)aR1yD2io}tRI^h~uTX>gVk@&pKglxQmF9ZQ^0IdOgM&5Y$6v{&VZ zK!HPGEnt^YG#j8yxPuvbitmPwW_%LtKC(ecWTco93#A}*FwqZ@b~3}>CaJ^_N26=f zBp3G}Y!PIyU|l!e6g2Kvu=XcC$vXzfVRpTOUa3y$I}T^ zh|DY_c^(3h^87O&>zea*#z3$Y5<6nYb1}d$VA)~nAqRZqB}UPU>I3Vds&j!ohU+n4 zhWX0`R0oN4Cg6BEonkiN1K^kw1AQN2HWUN?C@gP(wdm^qx(0U}{WKIlX zVP-Ob)4}+Pv}9B(ga!s#R2#rUKaLm;0^(sVw|~vPTh0Sp#=T-I=YnQLTRBB-;9H!aJNH@@eXGyhB< zh_Di&RWvaeDrbjtilKicaMQrRFg{rc`Iz=)z=@=nDT=03>u9=cq-)tko7-IykU3@e zQG|>lXG@p{Tk1yK9)Wn&=&`UF0?ab=@7{;s0M`%@0{{d7GDHM0003W9zA7yORoYGA z`{(ZVW?l&;+#rFhk_xvCB}w}im!kq<9>85U|NamunFAssxFQ1pU;xj+No2Sk?tlru zA+Wa&J>U?CVe7I34KYVRQyO*gDr>2-nPCDMvU|VntN42+8ELe=uB#2H+IpQ`M~%f! z9)?rO#7>@t2invQo+YO1-B~ttTyI9Hgk3VB2)_a{0Kf(SM1}x>iVT{r43w9|mn>2U z3JC6^@4lJ|-qkEB}QX!IR|B`DfCyISmHCk~%4QOm7jeK-Dt+kj* zq8nbT6b$0{9dTf(PBm$f%2$%iJh{Mm3KJhrS|)Yn-}Fu-O>^fUTS*C9`pOAuCK-NS z)^#(+2ObZ9%Eh(U1KF6BA%znQK}MnyF_s)lHDgx`f}Pi&*|l?kBN;OZs(@&!xVFfW zfTsjY(zGe4d;N`F4k1DsQlLw+nHrG_y*HL_T@9j2Pr=&jTJ2g>th5-CN`YbbVoxw`O`QfYMqpdJuFn10oNT41tj& zud=hU5|%5&*p~-!i?Njk);cu?n8GmfByb;h0w2bqnbPgzIC_)bmb|@mqt#s<@jyqt z_Nv>_9o#nc5e|3<_0$ z>$SB)S^1sQr2%xm4V2itJ`g42&2j}rc10N0v1l_ z3-`n$#iYu`;lasc15eoZFV&j;KYPF9mj}_voEf>Q`EpM_9Ns5RHt-)RKvS7cTFX1o zftt~RA=w^wIO1s08&B;aqM$qEb~jn7o9vPpjyI-YhHR`%?2{D1S@>+H)3ZDl@kS3F zmMe2qC#Tl>mkG)w>fAL+8ycEUHmC%-x4MdHZ|-mA>3N^C9%wkraQS3O&Xlvx#?tTD zYr^BUCpNYN$-O=%9u6N?laG&wuE65g4C_|I9vNe1nmjX;`!B1WXBGqI$C>)&CfVA6 zn86OS=dQ=|4OqP>uF0Q!Ghl56%}!wYJ%Q)S<}lC-Acf%ZUJ%UTDA>+O-d2WsoE9My z3!2h11`XvpJ;`+D-MT`orAFT{H*U=bOp^YsMh4iGtP($Na@*v7V2tJFpfnR1Cta0w zAJdd(>}q%;Ss>9g5h@nMW-is8g0zOVQoK1u(x?80t-=rqSfDYoJaBPXRgPo{j*}9< zI~!zpsNtoc+HNFZ_OSRW$@vaWku>7t`D9WV@X6Qgdm!$=@WtME@`d>_XI==cB9@=b zs##;Cr?OL)PMrwr_u}pu(6IV;0O*;7sM&tYk;-=SP4dboW3jN9XR)tD8-Ep6d(XL_}S&&&So|P>7 zmx;{N9UH9890H{_$CsgKeK;%kVFeXjYRTVf5!r?Hpe<$^p;{4H?*;hKeH!QVMavoX zd(Y4(ZM%}SW%O~JAAm&6yKp{D#`%ZkVVyeQTfWk~`CvY81$?Hh(|I>cXzRl~?#Vds zot!zinT_x1g4&1gP38J}0F`WZIEhaJbc=cDy_2ekou!y93sTcLMw#D4WV`{ZNgQ>S$Y`!kUJMqg z{jzhXYFRzsiPXJkeLa?-!zb7iPB;{da%>gH3uG+~)!k>C-t%Y(eutTA&w2x?r-|!m8Zgq><^hDp0Ux2$PVu7C6O`1JtpV z8^xSu&p=849VV?2+|IZ|U9N!;Bxz1vPSIYxiz(aU3v@FdB0}g>3IOR>hmt1;v|rKm zT`>e(iTyD2>%3FDY;Qso*8)r%B(z_r^0YZ*x^L(3#Z5z z)ZpuI3te*(F{T&I0&XX@;R)z;)ab2&5bS*&?#O8!j(kdou}3l!Y0`fy4NF=j*$Ao3 z0h^E0!G~IhAs4i=v0QNNW4l;;UH_1=+YZL8h}`Cy5e6hMY75}w}@rk&J4cI>U}34yc$(l3&Pep*{wPN7Bn zw%tO|*lfs?)5AdTo^DTJ!U=9hGJuWPK9%w*!Lc|(H^{<%1pZf(UCnL zdf&qpCH20oMu`19d6K83#3pUSc4I{P&?cBlT^jRIkykj)PET})PftA@v26xe-gt$s+gHV>BuZD?-(u5lgZ&yYo~LM%hs6OFZE z4HZ5YfxOx!cOxO2o-OYg;KnVMgBk=~|I_n$m#1Kg5@9qoj(s*{LVdpWd+N|Mp^HMH%oQE^o1L^VDM5Yb79+$3ExVLBOo9&>|B zbi2n!(_0>`S%gWTtTr=2qGaZjcVycbp(iwF73F#q-yWSHB;7Rd7@N8n%8c{3r{qCe zY$J}2zkKvuxhMlC4GhLEC1dOPqxsHSA7p>O53g2IwO zx9ZzRI{&VBpWQ^3LiG89vAVA-XS?KNZ%<8`C4p($n$zVPGx7&BBSF_vmfz&St!>dn zjiZ)dmjtJ2XijZGy{@%l%?8^P04%+hB%Lk%8<$$`Yqqr7&FRbxs5nqqS!!4AoaQl5 z_O&^qC)ETxUzc&Df~{$#5l1~3dQQ|f=>+(h-or-%Qb2I+U^@319ScbS2yG_Jko2~V zYm}W(h;38bfM@QfOO^O(vC3Q)v5?Cgu`uo1ls80=i`i3Y-mRAc)@lJVoRTG~*v^%0 zi2ag;(~Swpkko@CRBImDYWp+RkJg<@QH?hClOk1FKwc28Z#^3ni>?c^B!TJJk*G%L z8f77Ev@6^O8EeIvG#ys(m*SGZbnLR!74L8kX8T{Di9!Y1KxwuB1c*$XQb1hoX2yz! zyP=ek&j|8yvvt-?N`pGr7wzP{9Mh|f%$SDIQn^}<+pRTPUmhJCL@5!`vxg59aA>PN z%~6Ae;hu%?2_Z;c;X&@KOV2MvVE)kC8&iT zq@&*DHq0?~bkiT&^l475oQ5o##g(MdYFWHcQoHONK8qd}7Y4jNxVyNx51bbd2OH(# z^kX+Z7XyaK`kF|w`=?e5_su*~&`*oWXU6y0cwt7@#%XP`g}P=Lm;c)rFoF-6FGtrF;nm>b%-~^8%pI5GCq}@B%>O`BWcl!AIrFxl zF63?8>AuBdRwX^dNTV{BPH3!~I5cr(GyEZW9tqcank}jcr_B3GkS9j2pNu#^elY%8 zeYmwpY@2v{DZez1a5KFg7hR_m~Z+>qN*EI~Aq@26r1EawFyA+i}PZ7N*G{ol7 z{-FcG?Q_JLO})SU))H71BdtDE*!>;!#PHWP)^!{V$MMM~P{yIlexZ4!NT=A6BeL&x zjH~0YePrTVL=MB~jjHas;Y=DX8LP`VObL;M&*Rh^{ZCBbJ`DW)E(^_Y&Ue1_t?$T$6@ka+D~k~lJAop zq%|YYp%2BS(d-%Da5X~Y{vMO#*ir3i)&nk=LF;m^3aV5p?#Kp~i?KL`I^7IB?yV12xKg-yL>_RI@o{jneeky~6}ST@ zr3MG<;)k!B9YFILW-bTE9HKL)6Y2j>-;5BcZQt-?2h6xLLG7+vrZShPOb{>H zMV%w}|F5f)Ao>l2o=nHMn7W`VYQy#=lZ}(CCg#@%PVU|{r}q1GJCv;l$JqZ-?(>a4 zlGO!stLy zEVcpEp+&$cK=X|HvR0gZeHDs$_|+LAYP-}ah!l|Bnpzc#vRbcI3T{*A%(1nDduHaZ z%L_<-ncm2<&bQXLekNeO3E8}M=*6Xrl-Tq=nLg@wJI@Y<@!pp6E){k| zB?SK0OvEi+&;GP&!Dw1DRo6bu1%1{Pbw8m%uO@D=LeyW4G=ab_FGUJE4wc38&s|*m z)&=W{X*~;f|2q2cp})eFj(=qntSJyE*Ppjp=)q_CSre~!f7Es0`}J{=w=S@1lN(9m z6yAaQwk7DOj{PSz^!z5ooZAK&NRHzr{h+dF`tr<>Y3X$NQSUga=ZD1kY&CFRQkLBYV3WtBE=pH;kHIzWjeX#d7bhXMNcQE)h2n6NiH>RYLbB zh#9f}clkEizUKXbX2Q1>!ocyvO6%Xo@$V40+?mNt@*d>=f0XV98{Z4ILs4kc+tZhF zH(^Lc`0NFCW@Co2Ep8y!pU~V$Ti=3+)6}g`(=vBi?c5EQM^UlrF|sjq0W#%L|5r0p zwm`rp7o|9a+>ZN!Y`EEi#NHEgTv2hZF(RxwzZk6G%^ z=k{+f>Tb{MG2hZX=K-?%1vQ1U`w_0i=$Y>=w+|>D+czt|i($m9%z5?sA6X*~xWBju zM&K@9Z0d;qND}D;^^Z zVA{xL-reLR7YoYm@xegdYwJLK70*5Mr%%&;NrPYyGl^(UJuXk|Z3>N{(ZBS6uoeB# z^OLqJbOB9X&Y_PBCkATRXj~wxF2Nv$HP5Y{F^oSIw;-T5@VI=UL&G-YW@dHIoy1%y z7N}$H8J!+3yU+yCad>?`ltR>@x;VgX+i|;8-?~+tkZ$g-3w^t4=#ReBh{0UAt9IR$ zBZ|%kf;PFrJ>2-7DmR1BJ#lz#GtdS5`yTm!t~?hCSI5!5wo|OTIrq5RL4taU_QKqWOik zdM)g4OBgOR$e_#23nTCEKU)=FwddwD5aSiE#)?$U@z85w?-g1la`_p~YL7!B*>1m376vie;o0h$i0X^E?YU{P+XNG!58Xw*YiTs^ zQzaRPocyg5tLqkqeHhW|OzAV9+3wSFZu{CsCkP47Sh5Z4*#u7Gu}N*bk*}L=RHJ`R z(0Dh*Vpr-;_cZyM9VVIRK0RW+-mlkwKBxItsjbc0x$;kZ zwCB8>sn3TAu`NxlOS5H^>BYKPm5gTxIvA`fgCZ2BJx>n`3ATRU`8EFb?_lCus^klJ z!*uDO6NhB$+_c?p-uDfs?lQ?oEx8-n!tFQibnuD9IP{a&1PwNnKg}ds(bTa6-BN#U zJ9u<(iN#j*de&TP!tEvWy2qt4w(ag?9c0ztGeK!~eDKtUY1_Ji&Q@-lN~W>@x+$|- z+tt0r$pO~wkSpE{5F&F%!l}jrtq^6)PAG^H6G)noKdi}jy3i+A zq~0D=F%k_cGv%5quG3SUdKlBIO6gq)A2YaIV`~*a;n({G0b%PI3{s0CdR4RfzH2}@ zl4}qJHm0YPX^=>B_e)t~bqo$Rag>%^54bZxO3>}Gft>85lf794H(b)eJnU-7iUWlQ zI%%*_C=7pUXO|$A7GT$`D;A`lMuder^-y^reV(0`8qU`S2rz!iXQTIHWKN78GA zgllQASWzQPTkLqMDP56>ZMYmj0YC_fwoqENDFUkn^Wlh`X|Bh)6+>0roiuF#Tv`ZF z8c7034z4kk#9UXIaMnB*a%)dhSZTRab?)I#u4&arrT|nxtG|V({m_}*Bm?S&=LhP0 zaq9!r>J!Y?4zKLhhik7@*wQGdChJ-LX`^NhjD`!GQh5)uT{O9`A^c_L`U+xkoe19m zHa%<9DLirQ0crFahhO#s)u+U{nhNu&@H(QxMrJ5PV3^d-U1n3-s zb`CVaNGTE!&ux;UrIlXQV(Y*4&Y@?dC;1^_!xKQk37A?W1ip}0y&C-@5+y9qGE;VO z%4D5s8e!lLrZkG*E zxe_bzjA(&Dr4yKqL$7)V`i`+)Vxc#2Z3co=oqWoYVY_4RR*Ius_u_wG72XlkC}+mU z+@#_PfUG-S9AuTh)y?f%50zMLFiJsB%^C_#l@uB5z5ydF_^m>!Ycd_4_{;4)U~RNI6M5hx1-wfN3ny2d-;M z#S&!A6tn5TjiUN|w@(8XvID5o3N1NYND%bDBm7c`^t{6*3n+t%?!&k`?ReYjIO4{o zu~d4cfd! zDTHouNfn%hkQQ-}wgN-SGiQ|BF9Z@jLlGwe)=r71Ca^PT&T^0>q)!SqPxo_hv7T}f z(pshF#&4mjd8O$^Gy*c`wgx|~Cu*Uyj>kBdJLpsidgz}LpkE`?2NQ*5!1LUwQ*+PT zkpRbWs_oVBYp_Kx#7Jxjkzgq*0LcAJ8i)l+XGH44tBjXY?$^tP=8&ma0(&o7q9W*z3?i3Li!7>(40E8n`!FE=r7PL2To?~QOf?iPa%+IC#Q9acO0Jaz2f3S8A zn;sI+okUKntxRB%)Cy>~4jKCa#G17a0l7L0thxm1i*g+9*t_FSAJiSNpt`4ynQki5%WW07ij3TU<9RB`v z8=16pvWMY~$|NiKRsKlWXOU64c(4*GD4i!db&~kx%7>gEVSf||kUwT0)Ws{sz-!^X z`QT&y;DlI%-KWy3Q02^aasr{!*rGYqBO#Kf1YLDRSQNq-53#ct@@B}>Q%*DP!q`)h z_c`ST2o4w!F*gx{?j1MHi-^~0L}cLa$o*lX38phHxeT34xtp3WS|5q8j`Po87bvJ;l7zSSqL(3dm&#PwGArUPI6 z>joeCK*}ljca(P(?eL!?Bw5sM{1!FfLGF7gjghUF>Z9;0dc~6$>cixA!$W1!q|Upy zlRTMkx3WLsr~qhh6kh^Be)0Qx8$alKOG>A_7?eXna`C(kCE>hXa_>_=`svGfCo{kO zd9aUx2|f0HNY03ywm+`-zx&>2;!XH@<7a-^4Hur=NPR!;m-4|0(m5txd?OrrXP3!8 z&8OotA5w<{bu;Wxq`g#15a^5MUbPI8*f_&)RgEu&IdrHzG?gK*^J zaH4kZk_!)udxMGaycs<4AcKd6ONEp1yiWZ1vnIck;G-m1zp?A14D=Qsc0dB)y5cwU z56Ou4$6wxX${&3@|MK8OzSdck+s)tokMgrL>A_#+=~GDgpZp+lPS2aJcuVE(8y-A; z_G&9D^z;XK^FBEpX9wQ&>M_w@p7AT}|KwSbt9@9)P2b5VcuUgC(;t7~!FXUMJ$P|v z_Tme`bWE&*KgORRYZooG@EU(xKf~8?;vJWk$>QIZ_9oiwdsF`@r~OOjmI+q%(!@hU z_0D`^B}-m1q^6_q$?4@!@eipBkX!vD-&9u{U-k2TFCUBB)KgrRdBfi~uD~Co`7FIN zZ`?SOuP-jj8%cLg9wuMtrPsgV{>Nv|KUgw7H%OBggdP ze&`p3Fvw7q*MB5F5X}euxZge}p1DO&e2BusR@>HI@M3?nd2aw9W=|!jrQtKxZ+ue+ z;#>ttH{bVHf9Iq6JxzJ5T6%eX#G^1f{phEO9u8}6emtGRLrqna=_`?4p4?zZzRFMW zADy|#_20RK@5>K2hS_)4aJt-Qe*r3^S`gN9btPfwc)(|O-Jz#|1%B(8@T zM6W`2*b^N7Ke?lGT5U3vK3N{qgH;1m%@jjlKyfv344eT()rtPmSpITBoO46vvAc`tkSjxjCq-Dt?amRER0&MlTmyxQU{i7pLx0R2MBX^kAFt=n zDXURPtj%bBehO2UhQzwUz&2DSf2srY4 z?i5mBDMoD&&=iM&c;{roO~%Rown)FOj-QydTJIRTjEbQFb0`A<9_W-R6J?NzJ+wmu z06bW0>Bl&G`sdSl*esqGJ>T))DShLpej*dC$0%*@Lmy32&lQt(p!NL1iD58#TJ<<& zr15WHG6-eWlt~Z-36vFXXdB>8bpV7ZYz>caiZQTle_t~_XQMA38;md>S_MTZ?cxUF zxm;p~bB?1`Sv>;4hpUGeuJYamj9+Tqq&o#5D&(9Hd8rrLdGGH2kE^-G!ARjj_hW}1 zR9*RAK+dZZ4`TZAp6}+&kuiN3V^=~!nBEY_aNr!ob}+EG$~vNdi-9Jd8VsN_%6HO> zC7O7=U>1uD7KdhqeulH@y^Mn-K)bes<#3Tuv$|QwjUKEIow&PM9wU}mxo<(Wdsdk z{iEf!8*<%%_7@Ab=SjhloWPL?W2taMYHIre2~cSIb}$J-PqkVrskuqGhNR&RK)3=i z^-S73>g3ph$zo5Tz>f@$O8Eg1(`sj6YRQ2xxu7t7{AgU~B*q0sI*@0v_e)gPLJ{Cg zOa%ma9q+R>WuvYT5DBES%se+Btfd5Quu^%bQBy%dVJzGtkCY@g4-#YEK7YF*oXr6W zNDJ!TGfp@bcA6%IjO?qN7Cs}Dn#T4y77J`9jBuIUq!w>1B}u0?j!YqdNQKo>De#WP zp=u;(^Wos@;K;B)%*tT|VhL~Ziku4^#516Rl<^pkPw?a7FlSFyPQIQDIwkXtFIYXi zYJ;VnVial{W3q#Tr*;@4rG`nE@7j>mNx?p7bwZ?Qc4WQ8;Ej+Wjn__?vsYwQN#0Nj zc0i}(mXpHNHGW}bh2By;AQ*|Z(5DRsYTf}cO**flf1Qv4rIyg8AsK3Oo(9xj3c05m zD;`=Tg-0mY$MaR7nnRIVaz6nQNgjdr00U+o62dldlOQsflPvMnz_KPI9AadR0L?_y z8<{bL;CQEecsvXYd>vdb4rq7yNgwg6@%+}|c0wX3hZ5~J#K$y@VVSyH%fQMIDfAqE z*ej-;m<N);VW3V_12AHeup1Jfn&_YDbtEB-HQ?J7*`1|R2C3z+nCX;exAy^2cHw3SG#z>WKYmpGd4jvQbS z;cBY~79o_VrEmnwiEs{ux|4!TTbSc3ZSDuA4=LqcsUr-nRr|Vfy<&f**Yo?=Hyg&rgD!0)Lu7-|Mo5^2|(u;+z7bDb4)m@pZhzILjgJpTd7n72Eu8I zbCjbJI_e?dXTno4RBApXW*0O#{kV~cxqMk)K0DD{-!!a+k9{Y}?-Qkq3nbg0K z0071Cl59hXHg-5?e9%+%t18G_z6k+kj>s#NaHoS~Lp1*#A_AdRkmQIxj(GjArI>Oc z)_5)fDjP1eVM7+?vj}p8fMZG~9%O({au}BgrzaNifvZj1-sXUUj1h5Z&QM6cr$O2t z(=dR}W!=}zw&T1Q69`lm<|%mz&O!{wy!burod9etkYWEKyBk@P-4fb7#5pQ3hPoZj zL6Nm?!Z(tdj>4CtlTxz~Cs9wgO0#@xAWsW`A`vhPpu8U6?U8N$i3GaQxb$ipTgV^( zj=IEv{Ed2OmE2|)e|Dlvol#0*+;KiqB;PC%t*al11{x${n-KP4<&( z7W@gQNqbdl{3nb_Dys5Cn zF%8yW!=xCC1i(2bQ%Jsj__S9qk*LlzkvPl3vmnqjro@c7i-~z7EvTJd_hPiy#HhH+ zP>B+#asIESVNmxCh)5a2aLuGv6Z<0V&;oHn3L_wxDTJ_Stp`pzzr>?%)qnt^kPbK@ zrU7K3NP?}r2&C4#`4_BLKALkVHZ!h;9<4n-kGSDHUF-~!N5jN_TFFJ5eN3G|ZF<}_ zQAq2iOiojsdMTu`TCh2d+9&nn;86FF2kS~3DplGrl5?@fr(&Oo6x>IF$-}j$|5av^IQ`C1LfqozU`9`<$Ns$)S-3!q65?q24+iu}Pux zP^UdWa+gz**R#%6H%Uy+Njc>UXf~4Tka%2snHg|VsWeMsC{t?XPAX;;80Rd=5CJtn z4HZnsA>0E~fK}ksbmE{>Eyvd5KA~7iCX^%Ul5;vF5S2pce}Y%P4Keeo+_`XIMUfo4 zh61uv_5uKtLbGoO?qoQ$A(atc`V%pbzYrRB6=O6PC=Lqg|Jr>Z_iB*@Dm4;XCk{6N z0}1B>=Tk?iAlHFX*H9RZ0|SfK4!}566C8nB0s0J_dD(3Cf1Vqb%0LJ!1!7*~h)_xx zuz2Q3$N5`3)4a%k>JC8?YP8T}=ENg`_8F*1U8u7lpuxgACrF!`E|pFLM6=51DH0e7 zu?b@mHH5X)VrEy|?|Hgus1*WcDf=ZY!9cBtsnQ@k5(T0ZI$fb*YbRb1STN>z<9E(j zXzJ1fIim*UyeeGSLueWuAqKz!ce>qO)v}uP6oE0!ASJzp;?F1`J&1#6lWL%bYCN?d z7YnG^s(}KdRE~g7*Nic>(?Nq|97wpYXtcU2XU87o*LH4!`{xj5hjA@n5~jrA*Npb$ABr*YsUMuz}%Gq$JkXW+3`w9c)Q zfa0hWA&DUHbm5{PCu%GSfyL3LtO{*O3kyTc42kn{=%U&rv4j(Z!YPitoWI$li(Ac$ z+K2B_AfTi{D)^ez^a*QdfI`x|ge-V~ z+;?&p@XlKgbRe=mA8S9STIwQU@MB`DZ~iM#*0n>IqP58Kj+fh^#(5vqAI=FpW7N*E zN|z2=bIz1{ary;42T6n-bs3JM5;Mr7f2Kr75rV%Bq&p*})?$$nIBH!}zZmKy2?~m~ zPZ?}`1Tj{o83GgY%OaRk(ImMmBv4FOTI8Z3WFWwAF&yq?3h@3MN0*lsRyd?Mbk2;!D%XNk6dgMufr1|@$950 z9+G<3-;R-@MdSO@#AyX;q*G}jQW=VeP6rs~gyZ7Sc#T28NcZ88&^-!#f=VT%r5Mdn zRT2_$nR0kdgv0H{#P^hc1BtsFx!bJKSM{A`Nw&5Zx);k=dQD z7mneVfDtVlN*Gp5E=hg5Fo0EIs1{D)k>clHQk_w9>nBcR1e?x{eMFCLCFpQxY{q?Y zZa;=kPr^XOWs^(gvkiP*j8? zNf=In2}~1j$)wj2&9{+~5P=qHuXY91V~^ zsQW2N?8*)C$%HKv9~T=a3+e$4!EYhB65Kk8?6OWKxEtrDf3WRPSuzuh(%Zv-(V@4V;BR(y<4a}pEHn&CJ>5I z7&@4eNuz^ZzQpsM7OXlv!O09`;uP8ew2~OyW3_sfn2h5w1P~73^HF9R6FihFh>;#B zFg_pX+~d`tT51_KTzfNY2rlOAIH5FKL*mk}{b;!^zDHk>eaS)FPQv7OMGd7S!qRGy zalYc`a}~b7FMx~m)Q~QHN0#s2Koz0E6ak=D4YA?Ldo~{pANvV~e*mQvh~){AdZ=pX z`J_Pme^Nm(joX;_(vX@12(KET^+zK8d^Iv~j5UH!x$^^`r|G50s1OFK2o^B8@Tlzi zin@V~8zU;Pr0=8>8t@+gKoAfE00aOtGz2vO08dmps6_zG*J}{Wxdh51kj;}=U7o~So1I2WW3f(7k5jC+PiZz%+kJRN*4u}4Q?2_B zb8YOt!zz-kTo0<4AOa=;Fa-c3GXOPK1~j%HKrBEbAqbRiTi4ycZQk3i+p(phrlLuo zBoZHK;(IRt{_wwvFLvXvJmrn*>Wk%bI^&;I(GKl$T-UHHXszT}g8e^JII zf(0=I86^rk33VkAT49N5OMJ4(Pd@Y2WfUJH|7zq_{2F;UzR$dWNBbN6>cWrmrGGs9 zIM&}sA0soXrPZhSq2OOX{8z@a;U03CXaD%#5yVG7{Md`P+{5Fmk=PNv)MswLYAWTb zO9J*Cq^jxz8>t(km1M7hLZS-7Y4&ATxRnrfMJ5sJnn~(``GyYX<>~4&bu~1ya zKn-y;!-PzPgXu*!#Eg!IIP=%oT~+LEKBV?*XGJ%;5~7fr((U39Dwm!lnHAXpRzyO2 zG}O7&AZbBf3B)36$pNGoZGE)SRl2golXGQ?k4Olgju%#fpjcW&xA(CZI#$;*=dP%_ ze%k`5x1|`fy$T zuM)T-A}&4rZN9y=m%YqD&S+U}>l-hz;Pv!e(d`j4pYdQK90S*qXatnoGQevAW-zc> z`W~4LEs*3pv;os?xhBdCF`j#?h@3-;L>Rfs#tNc(8{lEx1#96mhfdRQ9WD{I`en;V zVR34q;HJ0r9j-k4G(IYByXoNmF=*g+b+R)Mt*Fti#7@Ruo_BtP z6fW)f*P-q_@^#n#+vUQZIzP_Tu;qKW&s*${;xahuE!egQc&n?2&=?L@UE)KZ*jXaA z6z<`*;Wvn74IT;CK~dH$78T)nx=j(IkvSDznsErtV@Xu7E7{(xHfC3vVfNbF*yC|K z=qRmmi@xj6c!>$u&0An}ZI1CE*8qbk5Oa_SOk0z_OE~CGOiqS!ZJ3sz^qix_1DjGB zvt1t7mi8>)M>{08Af6I5%Xzvw`cZI?;uAHvhSmJ+8ijNyiZYZ;VtqiQ(SH&zPcJh{ zLo^CTzhT8r!xAae(V+w*#LIV3Hbyv7Z!eF4;H$!Q5PT~z?NTFE=-m~Jl{hj&9ll>X#9@u0} zC++H?aMP#IrFiTf|Fb!Tl4xh0`LDA@a<|-gs)QlWoTz|UiV*!KmdgzpqnmeO@s{Gg zp7vV=D>7<(3Av%UaV&a8eNi!MGT4txaw|tyBU2+kPfMX)l@DF&@NjEu`sI9@`SI^( z{0eUBvn%ZS$=@CAH)yoV#fIcDw7cnQ-x3W_Nl2~NsX}fv_dSTKhUn36YBDE8hP`u) z4pSkdndkXI_8$BRMISlEToKS=-J(#fZgdR=s{5v5un4*@M=~p?7I(SqCiiX>P{}lb ziB{A_)@vgvxu|M9AzJA9iVGm3v5~}2*VqWXv3eh1Y1Ph@GQ6ZaoN#mF{I8vDVE=Ufa>!%GM6$ruP>5}UmLAiHt5!0Sj z;+Iw;RPkm*zQ6iqHljhHAG+L`8Bki6;-T*uy}I&c{zuxtn~MG!@0qqW5|`LiLt4ql3O>WFaBgOJ>a z*=+wA+Mv+f#n&&zB3oOxDO^7Vq61B6PNLwFe=`TlPU%a$>jRhl(g{)+!uz(qpAv^H z?oOnQLOf940K7~vD3qJ87u-F=)h}?MKlf9(SeVx6NTF*+gq(d5mpU5o@S*o2NrL3C zsdf>$(i;WivJss-_8zGuXpU~zyr_Zu-6-N>kK4u_s>;zfMIE(xtla=j4Ye+clw=ue z54j5wiO@31>*R$&lFuw_lLKIPbTN_$GS~Ba2tC&0DXZR5{~lY*0uD$DlO_PVc2H#8 z#04835Kfj%J+}s2Z6kVK2wC+um;!%pq+cuRb}4RE08DWitZo-|)k()<5dbcPE+G=l zN!<^$Zd4CaH;S|Uf*LWUcTc&KI4dh9j zUsAFvorD%=<`LJQrK70`lc7sH@-C2v76KSGh(^~fdC#+Ca%0|+xmi=@?qjpxRT?7x z+S^9$wfgNHC0owsrYp!h1R>c9FDkcsRp+hTFxh;x{WSV|A#GA&4!Q!mljr_CWf@T= z9O4qtTf(!sRH&9qIXAxFteTpN=~{Cue6qhaq{me@h$`X8p6tBz%l3;`mUrdtAM0F* z2wUQLQ#|b>yd_C?3_>2Qy0hcg&hK)Bz~FBvjh3az)+(OT^_rT(OAP#emK=;moPVeE zR!s!P{Kws!`c3M}bg;0k{U-wlp&TW$Fu*L~4G%G;3X*DQ177@J(dMR02CGMdy@*&| z71W((W7pgE=TF>|eVq0Kz^Mb1r_u{Tm~nlgl-5+snS$1|%h1br61rf2Nu>j_)pz8e zjXvySCYH9>ryxz0IR^LeP4>-3DAk|U^3TbZ&E&?Cb9=bQJAt^|Z={(ipZ%J+5>Ggxav&iG4QQz`ufpw3Xof^TSt9x8|c zWrc9N@_`FER*|>#LFg zs-A9%y+VB2JVnYXDGe7LV0&Fq9f4UPUA8gYNYt!8<+HV)B}AOsvcz1W24TOm=)585 z{OFI|TgcMT&EU-5HC}&5+Q&nC^KWa)lrD`;?#*z76R2ney-Cw!+skMj18r#ADN;3P#g}-P`~oBF0Qn8?6}l)T~N}=0w%F(K^=a4$F*;U zR@+AlF49tVN@PY#D7p0cXi>LB*VI?tOvm!WNZS~QeIraqOG~TFr|R`|X}|q`gj(0K zN-Q0tBjq+?TWX4B@K&K*sE^e+dg(o1T$kp(dtaDbT$_Aw6M4j|5OD7~@wrcY2t|Gb zUqclPI#wnjWA%oCjNKJ&gY`M_)?E>%B($rs`+u?ovdKQFq2^_o(0iHxwx*!b^L{8P zXpyGf+p=HAOu~CByE&w>`>p>DJ|W3A^~B{XbCaZ4f;kKuX?Iga%{KeSY^m!^pS8@T z1B)#}KUf@j>Oo)L*4JIU@r&O^+rMqzz;iqQFSI#M9VhmpR2@x-B^Wd{iYV$T?d{y0 z8q1xDjHZ1_lWXF!O-6ylV6RhTQ%+pcyAMIVZG#t*t0+U6cJU!pBYE~}>1E`GWS`%o zN0Y0_)6UMtp+&++^Q5~|`F?zVVYshwpQ$4HTf{^9`~@cxECRiap1gOn+5E&F_tZfy z=?)Joi3zzp5MDNaEzj3DweM>cweSp8B15^V@dr1#CWAevGC1!lDljP3ta#3F-ON-eb_??XO!7_5;bd}l`NYBxO2TCqY zm34Y0rlEOqNo7Sn*$@8e_6Nl{>%9n;>?0>cRHmfMD@`hfYzJo9ryABY8mu(lS@ws1 z*7oCM+UZ2Vmv>Xg=9d#Not6sd>0?*$kQ-jllsxY}$s8?B{XGj7qKesek?A~bxw6o|i}L=-MQ3zh31iuDGq21ebyR zeyQwYn&KY=KlYC$WY6mHU?_@Vsp(8bMwwE04QSNv&W%v|^Bp}JD!+V?%b7PMrDb0hVH?j*uNMyt)bz%YGDnvevgCrnhb)-Qww;)boa&eV1`D zopW@1sZT%A)|`BUypatQC?)I_gA`Tu2o`3ty#8kwuZSJJ88VnvCC}Xh=%dp~zj$hZngWIAkVi|&q=Qr1hRVdO1)3+RNSYG>C%Y38M;lBnHOMwLE1P9u6OY;StFOS&DB*&!}GI5 zgk+@6($gB_BnvJ*aM9XNIe!c?B+$RBI1Fmi6-Ls4O`06{aMf^WIEd&9w|8PjC4E1I zoAVPoGJDp;KX>V~knCaHrq>VfeC5UB--1E#12y}9kdc$?o$Our)+G{L$u)h$N0CZC zx=ezsyuVL)_<{V1|MX`HcC$BjzhypV4^Xka(Pega97vok06H1l(!!<&6objeK;Vu z5tDMY!Hl~i2l@i$#m$)z=)pJ1m}u9wCP7Ym-!PuS_XgV0`w`F`9q zN1eNgGBJ!GIkzQPWF_Y5-+wrJt9L~Z{aAc1YJAahnEfkfcX@F&+zc)ubL_OcBkvxgpFMP;(h8lF)%zb-OG)ugHJj7h7z1;WFS4{PVGb0J zu1i-xPZdHcpaLs%aL+UxV<=CxKyFGbU@o;-=rWM@8FAA)iWK$&%)eS?@L{VDogQFg zv!bVx<6!c>TS|n%24)<3zUp{vY~k3MB@LbI4PmGJ35^dtd8Tv9B?rhC1&U#^ifJ^J z5W8&i4t>80X}HxE2E-C^D#wFOW`&d1=W_mxy~%oEK)E7ax-2d6zfM3j#u}zlXYY*O zG|OJ%fo#%lMAj}OOg}rFso=!NgE@M!jzOHkVmmS}{+_M{>f6=JN+Ka$S`r>wdCexl zsTSOe&4m(7g$R@+9mi0yXOs}W%ygE{tAgSqIK_G%>+Jb8oU8H2*f6~s3&H=y6;Sma z<0}>)$=P99Wp=hQuRPes5Fj^!2gVxJOgZ^bKZAwUhvI<%V?5+{R^vG&)WMxQ1Z;<+p)i^$L{$~UPG_+GH*Rg<9hCYkR8uP zUqrv}%8fm5JZF~-cxtjR>5vLxld&>c&Bo29z1hoWm48FYE8+6axm%xwVk);6sz|iG ziQ%WTgk{*oU4*T_5~+&SQK^9j7P@NH`I{BgO`C(MEhqm;>rE?4CjRDO0f4~TJsiW{ z6l8{KFwrADg!6DQGX=k!Z{{Q{~CjiTxyw=m~@J7i3*I2hJBwP)VV zY*6o!qK`BJ1(*=uVQ`sP?bbw3j>+z?dxDd6r~LI*|KK>|M=UttuAA6aD#|>N)2Gs* zsSTsm*LobiV?&0&?%ciWaJ(?~(OfFNzNa^J*s2uw)*Q3}Wro8b+m$>7D@iM@F-XsW z=4m}xnxkp5x&4;VJ13bvB1$F@ zr{uPf@G`Dq0Lv@<+7F#qeaO3Z$<5O0)TI6FN&jj4#i`+XIQPZkH;oj7;KtjVQ3cJL zxZJ~vpS4Azc0N20=`9IE#QKD4UE%E(lvk(QVxzNXR~{!&no}bbmdt#}Hu5FKMr<~OyL+&%4y5-E?T@BT@V|88L9+3)V9N>H+>KPg zvaDmwge5agHNY_F?tX;jUm^BfwVRB~pKJ;w`s2tBfwX;h&0^EL{5En}JQ7t8Z~x?Q zDP@ZYoq)cuA>+^CzRy|RU*#K&T{FVoY>^#{G`w+W$#gvooL+W4ht8Hl??3qXG?6@j z7m=j7b8UF=KuQXXMh-@1e2%_{$Qy$(&pxR6pi`7wzg&9_qyR~vzZ7-Ye7=Q=t%TA8}Z*D#-v_aW_Q zA8D&)>Z(9FiprJ-W#}FA%(;5QXH$(vF4)E9)%8G7XIAPrhe9^ui)Q3NYKWY5Y{nW) zsb3y>gj(-4_>&;A_`|GlJfAbX$2IiYIqxqxEN&}kQHhNuH_;f6owLV>7V>V7LpulH zExVD!8}z7qx-jl6vBy70a&(4R9VYBLC6Q>*F)-lCrC~E)60ytFanWAD2!+#~?#>}(y+}5`bs?Fi*y+I4{{r^Qps85SN!T}1ip+MjWq7}<>KJey)=p>@ zr}5wiNo_~c((%ZW8B1DI#qf<2y~*9oI`XPdVxd>l*8HJ~-S*r*((!U<`N13qx2vkE z2w@A_Jnar0Oklq0av2Kv~PGo3|G_kcAyBayI-govRu3rI5ER2dkaeuk94Tae~Qu}dN&kGW%5 zzKSO1`vGe-ZT~phQ3qU@>bQdte-Bc>3GhOjLN5r583o44`lM6-A{2vbDzJqLQCe{- zah#rpsDT7Z!iRw*t@RCedoP0Ze<#0(LKaH4CL&?Ri|?$xJyhw8NaqdYKT3OI?oS3M zL*T?;!581K5gz)s3s#M0MeerMDhfLIr6xS~e$FwDo&|h)9^2Bs*akM#3#jVOPf;Jk zlB$YF2I0l<>Xq4A@_XqP1m7P;oH;RgS7QLm&Q7@e@p6Fu^JRxTs?Jt%BW)&5S-pZb ziV1F=or%;Fh&SKQ4qy}=>Wv)DOcgoj zH-de;`^{dqePCchvGzMkU|H=pJ$2>+kD3DS-p#(N?XAAf*3HiWnyWShHkDAx#w2Gi zjf9yPrjJP%5V$<@E)^Z==w@Y4;E#;$6F(`1Z~1M(=b-|f_jiWP4E+;!?x&n6`n!C3={7 zIRu_t7^akAKr@mpV>H#rJV_-jrgu8J*%9+ncU_o^5B#N}0Ww9;&j!mj z;@{Uv@Me_aM;z6>6xH|1imo{M&bf(PVbtj~7mZ6*7HFXFoTYrFuw=h~)pS2$z}nmF4qm)EaY7RKb)9L`#?1mqWyJl)|(R|rbm3h z7dt)L_Zsj*f~c5UNnCx9dyF1;g3G@e@aV8Sa2^J%ha+cXxol4%aFtcmQP+d(1|8!k_wK1C#7hiyCg*Wdm|^pmel8nqD#= z+g3*pML-a{ej`VfsUZB_*UZm33gJFwBwlCd54?zyR0F@rWCE$nN3IYYJ_$(YivW48 z`S_k}Ol7%+vAM;339gUB6X+oKzDar8QYQwr)!$!~aJr1FJ`QD$55XjjhfvMTwJl#( zyjs2Ossj9V2EHE|A#D{N7WXWP$;u{piw;lN9xwlnOUBXJG9Ig|VJ;JzUOT+NU!+yD zOw(90lR}8;mnfZ#-e3O8hdo)DFX5B|N^W0f;zighL}^bdO4F{yE6TM(*zf#IS4^b{ng{~-*) z)f7#bB`yx4`dtceNhh22l_2iz+c`ej1a6(dgqgAC-v4KQJbh=(*i+hL{t+97NbY%6 zu8sB}Y&fNxmK%idALQnd&-YjZZWr@; zV9M{xbMeN&Myhv&-P3`9nx+KaVX4z##q-PvmVsN&szykY!W(s1 zXGR+#7hMCoQXriKRi7oFnXaRrFQHXHup^C#(Ztq07Oyz`?tHE<0jqqfSb|fs-6y-hVBpqoH+9- zhl!KvuMy^e1_fXzS{~B4ruYF{z<@(klYu4(4|7(Cu)<=j1PMpvjtErt@Z>^xi!hfl zjkVCFHB<{dM<~Swf(R7OszGPTRUeH45?Il!a7hN|8nmffYEqhGAw7F1MIY_` zf`n7mwziYkEgR`dlERx$@Q;$2mq!4M*#&$~ve0$3y{iSv2$^yYmLa@I6{!`|fyI(& z^+0AHl7Tx&C@d$wO9pfhBXbRu1WzCh+J_!pgc684fd>ZcAzE1|f&bRk9*3!B4YZlI zZajXgL8pk1oYlY2 z84}|{RdQ5)^fKFMg-bY{0IP$GhRki)X^>Oq)Gmn|IM4{|ymNG~{<)`{88g=JYUG!A zjwLv(?R~%{H7Er$&;YV^w{P{;3eL7Qz!)ymj;lCh)^|qam`WvluU906HrjM;J>C5Q z9>GXUD-3uQOaUl1m^Ru4%EX-vK_#g1JBItl=0;c{a$AlQ77{mz+2Rycm;hQqM#w9; z2%s8Rq%=B-vpAdJpf7plXk%q28> z0XiLwTn5e^r3Z%gHehsdL3TTcAqt@y+(?;Dhz7sS2}3$>fKuGAv7alWNKSef^(1{2*xUy@(JvVmx!qucX$u29%89KYsUezLO#`Tn|UmfP@y1F307hUVY|RI zD<3*E_jjX0+qkcuCj}v_bOk}yMx5el&dfwYa+sm}q7R!KKK-Nb8-~G41vHWl320RT zlBta9AsC|oCs73^JY}Z)_W}B{fPjZ!%wWns;y7k%Pod`uG7Yv)sr%Gz-GFT}tx9oP zW1S`-1+E%aceGj*0dptwd!u8rtwZm*`~l<%*$ss25Tfpb*&@X}ncQX`)`#Y%Y#W&%>Zn6cLuDv`%2| z5&**XLKM@rFd#t)RUeTA;0=P{N$)!+)gcU&sBO-eH#5>bUXo&^5fo=~Ez+16F#RQQ zZe@-S1?3d^(#Lf~hv|7S3@S_lTdjn9Oge}>iS_-4dq%7`#G*sKahzQvkgkc!7~A4u zW6{*_tZ1J)I40OBgmUzhr$cW_M`s?Se(&-cd?1k%!`&y|;M3#l$v{OM2IAy|&RBcA zu0kNWl863n-r&Dq4u$Unnj|mH{FSy-<$#dV)23tyarOmW-%A8c;&7sn6o^1-uX8Q0t)3dJL3JjG$D#ghiSmuADd}rBDYV1k1D!z%>e}K<&h4c9~fLlP5t0Gm&sp zW@M1?Pi^yf$A9&RR9Loh4UAl3{wao;@B9iLQ z1DA;W+ZbWeCSnvzaF>hc)Mgl<2=axY@{D>GbCh&jMePn4E{8yM)H_#};uyZ6E{N_C$X1{iS6T>Ox|ho)J{b&?-J^g|fTfVguzyPqAaI?cypceR z2ozy_E(-fpA=o1zI&BbI5({@RXg)O+7R%*ig9+qTQ!sk;*8kUe0-K=A2;fjWuGBFf=%T(%3jSop3td@ZX`)3Uw7D0ESl$b0)T*w(sRe8irRPMa2rYTvn`)b z?e%8lWmM+)Zm4cPC!WE$@ml~@oe(*62J*Cjxj7vKhVS5rf-^<8j8w4*fbPiH{0EBq zb2a-x%8ZZ*vT#i13S$Wp5I#aNeqkhrGbsq{O01>|m|)8*JhBhBoC#4ZBR2I2qz^!a zKXEI66IZxxV&?`AU7&=KRYP%DA_8AbB5|yZeVEy@_ibt%T zN|jLp$#+;MZIPjur4*BCJvTaYXp5pnH%S@-V!IOrX+$X|a53FKO$3rc^#5qzT{^sU zZry9?Af|m_iH-sYP$CO}S*m+0VWgTcm>*1O*F-F49c9-7YqXPEjCER)?GT{kiBJ07 zzApURcT#$0zz7PZv>J|28|MM>`-08T>aB<1OaxR&=Zw+yb+<{uue0F;)SY4!w#gvI z8F-rGKx7agJ9?OzSqlC7&!5H$`);`$Aprw>spdiqyebo)mdu?gIFwMrvU_PtmjTIY zg4kw@-0gJA7jdp&U#hfurz2JPMd_SgC_IKBCpIgo#XxS(X-qq@-H;qQOFlHI1-{{< z8!Szgj%*FKj=pEOb1n@F26H|Gl8v2GE4X1Pb`~E!P=crF={r?F?d!OTeLa72UOJJe z;ULd}9aN1V(H-seG)`irrLu|^%4D>BQ}7?+&%h_K&?P;(-IlclbOfj?O(a%o6<|wz zmzfCw{PCUjVncGgiAGn}(kfIkr!BM!rVNl);tyuM$I^uxyfzMJvZ$W@m9;|DGfx4I zel#`w;C(y_TUsCrHVUrNklP#yB|(yB4Ul0~KA$QZ^q7j@T6n<{j7PdfxEe7r^v7BZ zON3O~Dw3n2iCM&@K|u@`@g&|@I90+;v~Y1*B@O@z73OIW|MeU2?L-*70y^%X4o0nB zIK0;HZ~EG@oJaOMFUnoYb77l!2jc)nK)Jt+tDHg_lWjO)D`#$rs^8oXBEpCpk3w_- zgOsWmqDt*XAT}Cc#z}Ueia1f@*?-(NVpo+`-I~rBy+bRb)<_4q$QvzzKWw`y&x%q1 zHNUGtB;8}0C^Q^OzIH#EoPDdYVFjel13^WVA0)eXertkYBzF!t{FVv0<%(`R2zv}R zp|H%m4JGCsOVI&d?0{NGmVw=zmxLO3@r0s{WncYYyN@^Tx)VHAPZZcH^HVQwd{Edt zhCDH-Vbl>U+6S{sRY!Ig#`GzXW=I9?AfVbhJs+AO8N(yzsFM68wPnBM84^K)?krw# zu$82S&^XZ+r7aamHf9CCz7HrF_tTUApZ?e0w)}{Jj0tnK%P&Yn6I2VIb}b1R5C0yG zn5IEULkDc%!smjze+E2CaL4BoDWF&Y9c(wkjD|M|zQdoOXNiyjU0}VR#@!hm%hG7^ zSy`xM-EDL#z?9BdEh4S$jxtqYU~R2oKxiwT`s)U4j~wmp$wVGPq%}8tfcH8AeE)5x>R0^7e0Sj4y3~+yK!%mT3OSY& zz-d<<<)coIVO!!m$=4%jv`~JUfwfM9+$v6KC50rI5MAj9?{r;tEN<^p+G3#uK%^9g z!YGOoyoEs~Vo7@n&M9f==1};(pR#C`jVmzDe2uca3af4zAgN4Kad&?zqoLBDW0(>C zV$#Gwfe=k;lx}kD>5Vb6UXl<&h6>@epAs{=v;}s4x-c2SAPl=-AR!(jtT*11Q23$2 ztZN`0wcEHzySRkF2-04<5E+coyMsHArMk|Sj>QQoUS9_EP=>8 zbwpDX7()`C$f%kS2qG9NQ`f*Lj8syHe#lKVKR;If4B=jz3aXP5qm9@zskNf#87j2& z4kk`;cl2^I{Cm(1q|Juq`KA4%?ZFjv{MXv7mv4R(-ZZZP1(@z0fe;|(hy`2Ygo%mY zR1&ZE5507NGPL#cI&$+c^*iPtkw<>;mR|p&*Nxz3N1OS~{hzzJI{4*Woiv&D!z&PC zk=n_yObR)+S-Wri(J$Kl+A!?*ge-e7P0+8@hHG=@=Jlu!e%-VX`2f>Y4H?5o(`km+ z8Wssp!}uGbCDgU<9;+|{sm-J)U_otz#S^g93>7lkvl=5}#|pj9Jimc4>20IpRDyEx z^D;y)(7X7wmUoBjPyx^CvaWe(1OPRWMsvCMPXQ4EHFPsG>@^k(lbu5}2!25erxY#_ zuq)_N+t^Via;24h4-4N$1~j!$d*aoS0=+~zRe&0bXo^2{ai{R*%KP+V8}@5bvdlee zt`o4@Do9q!1Wu&--rnVwa!Ck5#S*x|_4)6YDn1h!V#unVj%zVxK#Ks9t@9PvNRCa? zN~7lz^j%^;I~PJ{pwginS)*Voy)fL25d{MWbw!iuiy2s2p;(qubg^hl)M>StgYkwy zB~=OH2!Y9z_sVsn&F6U!UHAY0pIJ%9ww!zT1*yq~267D>H(s3w!(uE$HEh$dlhOFm z{Sf=@k7nM~(av}kEk3s7lkN{FBc;X429GeJ($Hg{N79DLbG1KW^@Anyq?l+(u!u#h zP8fJKh(gyf%88=4S&t0vO_sicQ&{+gT&_()aAx;ysE>B_e19ca+{4wRp<}hU|g_ znD9d_H7W!?#NiD@#~PY42*oeVuI-vnyy9jKd(icWlb^5#jFcKhik$pu3*lZeQ`U6- z6d6I3P7Js|V>Row#2O5x2jM^`Am_mECT3C#?bZEL>8}EX$%KGd1Xpp39#~X-rEvp= zw#NZgRa@q1SwQd;8%jY^rj<-B4$Rf;O_Vk(3PqNg;L4~TsSBP0ww5ri2VQS2&=a7+ zvB-oNb~56rn!${f6Ye4WwWCMkz1>^`Q*2QtFo1stt*xG##Q7{>CNOg$b@TcFU$X+d&y-8eBqmY5(3_DFQrPpk-d;;~j{ zq?H(C)6~U*ux%5kliGPY5e9r74y#XDk8s$51rheKlG@V(S60Hl>wvU6NDP#UfQ=PH zWm^n3_iOfdJ*0a!Yx?{pUN|tL-ax#VT5-Y8ajj_KAhAlAV1@I1h;zs!(q1>hfh)4@NHOy%M zL~F7NY>8k1xU>#kua`F0Ymg9Vo|W{FLqP(TM~y+La%>Q5niY%%X>Y*Jk&gYG%+OeM zr11+u1=Y)~q=tpndG2P=&MnwTB^Fo<&j*~k5)fw#6^oRSil-3&m-SgrQmNq5LM@=4 z=8fV-WW_k}UgFBLw4&!kYi8Oqo!6eKFoS(tHpd7G8Nh4Ds`YpxLs%8mD}VydP!tq9 z>dHJi(QT_H5iU8Ky!!l2-O%1ppA3){QiMF1TLi!L>sXLQy>~PvBz+gflI^a z*9mH~PQEJm3_=t_ELf^|wx~g^1o@J{w*YzrR+u9gJ2z_+;e^Tg+=N(IB9e%tA1U$d zna_cXU^K3=$^a3e3JPS-4YXJyE#d(SuFC`;H#^daSBkS0x$O3>W zah{rNdkjtZ>6lWE)DWchL5g(JLkRpbJvRr0{&iDY3_kyN=EL{G<^*hrGCyJaQ~LTw z;<4-R`Lu;B)?(wnR5HS0xbS^x!dcooh11x5JcG_&Cx1qow@VUHGiB}-& zCc!1#W4Wom3{Z?hTB`C)rLC5N9GsH9!fLQ`GEN2#i-|l%8U&EJ1&3|}e9&>HIHMO( zi423R2f(I{P*YWAaAd;v!Gm{787;CC^P-H|Y!`vXRmz$pJwkHn7(hHF8LD3y1b7}< z6XII;6qL9nFrvZ0W?%!%NQbop5`bX@4ifv5!~u)!3WVvX5CN5ydBD)n@2%Jigp{+1 zZ-lbXPT9m;1X8hKdM&}vMr4Y59U@x6wO1c!T;;g*G47+76dZPKECW($yH8|ncr)mC zhxQT%0RAXN)N$8p2^!Ovs2+ zrbKut!ZPuVacDKGMT|4^Me-=`Y ztnG-TyR)U-sHYJOhpOO+w!mq|#!*D3e@hK@Mb-pZJ%uPB9QlN_PG`cy2*5jG&ZI-jiY^f*X@p%~-yBm`pjM87ab+Zxs?p z{=E;)7o6+;5puvyrU~pwc{Ov&i9e5ZVBY8FUvWrYmWU0#5NZ^r z5o2T+BWuViPvtL4dKb z(gqh00T+N9ju1{HAR``x6WQ0VyAeJMJ;M}rtu6@!L~^AG04V?f3=!0b0RVJDXVd5;CU9&3o11OW^}edM>nUnm z47HnC|K0!p$Nz_(_{AqhPr&%bAKRY+vj+IjZ@&J*z>lB)ne^ZJt zwyutTzQ%T@wPvSIKX0i^>9OcP`+uMLXVW|8v*7g5sXws!Klu5ZK%b3J--G}8^b_qo z@sGx~pQr!kpJ5di7X7$84gGG=;M4j4?C*<00+le96dE;y6RU!f#T55{KM4HIW8iwa zYE@Kfx3T~h>1*6+6M5Pm>5Ls5y?`o-4oUZ@iX%T1Q>z|zPE~NY^*<+|4?4Atkf_~# z0}<9}i(6qNTq|)DDtBYT2)*V6=IGmMS5Y`WBnjK8HLy45$d=jyoRd0mOfPUp(MY(S z5`wGLo2OS(98?UOK37TMQw!f3 zaCV8zk>$2X>%u7cSN2&e4>?D{iF}dMmwrPxj2K%ST_@F@fV$z5FJTS+rwpKwN#j;3AnT#e8F?BeU@Lw zcj7||UaGsb3(CA#*~$rqZA02}2H6ga**>#xk1PcG0kPJXnX9X%snbYSJ2lnFB%k{} zNnV0AmDiYkWQ4bHZ?Mk0&;We3P_&z(`|v~b%&gAWU6GxR1En8=zccB#A(MIwY{!`C z6j@lX2T@5|UuC@f$l_~o&?np3shgmu4GTjbyyfy?H!IRzleAvd-9Y3dir#A0dqQq(m-MM z-cZRVJqc`+rLmZ1;n%^f14Gjl`_A?U&-!+!+@)+eq#D^C#~XN)+Y5I|jRZC#d*`+k!P!4eU>2wq2$ zsu8F0>VhvgYsO_H17v;?SJ%wT+0?sQQPf=b_g;xi7ic)*C2t%$I zUQWW=PX|Lc*vi+_)YjqG6=C1wM@KET1N@bv-Zu+V>}V7UowH1}3JUAucxn1yDl=MJ zBr*orO2+|akj|Pm)u@6nGJhct@hGaxG#ncX?n(TPt2%5i?3X5{awK#>RtgcdK_`M)}+3lt7r;hYoY8)xJAZ8gYoR%i!;7#T`AN#bp{6yYswGb`X`G zj!kLwnX9Rz4WJESv2D0}))ZJ-FFwOHJ;@T2u^9wPV+b-+i>$zPCXgHyl5MV07BDO? zn70I;8^Sd1SC#=7KMkcW_gz7^3?z{1KARKsjYu-Hx9TFK!`W^>JXbjZnPhZ_gNtO7 zEZW6mBH@Qcx!$mCnYi?Z$#WeT`ad7S)>VyWU`=mxiCnUnt*o2do)pwJQMwpn8?1aR ziDGV%qC0QTTr{{T8W1bYTj(fEL=G9{Ch$8i9|Y#DieSL;Spck68d1Jl9R!29FamHP ztZx)JeecO;WNymh#8z@rr*+vi!zvSNk8{kY3S$WICWcpGv8ag z(TG9Fk~b8)BzE*-ZC$j4rc$0n8i@YW{mah&66w>>&dfmq-02$I615`Q^Tx^sN5oPD z8*HO7*uFyu&&$rz^3zE6F5i;vh`>8MiqsQ0kZ?2CYB@ULyBzn>b@g^CdNXvj81em@ z+b_-_!x?{ryE(*DoOoNoA}U*6BU^=K__N0V#9gzdW;p)aowwcqo!<54b#*f{0cy-C zMam5x^7RAVv-xWYO!U6c#!dkc`%JoOHkI@}N8fM@d*eC z^ZSy+LU(LO(&NbL{$FijoWZy@l#((^9@)GZ4?gUju*>waG6x>KVdy|TEwVZ<@OPg*OM7asBexK9I!iKoA-$J!NDw2rR?Q;g9&4Nm z8^Ub34Y+{)no?5w*UnmSQ!L?Q)38@1=Ggt1}lpi|H0BD$R&fPjsa-60a`G3$M zg0?YJlE~0fSUIsj2gQKm37S85XG%N9HMp^tj6Bl0j4xuj7F?s5E1~1p80HG(CRzo~ zytvI)3O5yJO98EM1AcSoN1vNVE!Z;E5ehYXf;Wqv&NODS;GXU>xv>8PG50Pm@} z$3gOGPCC(BLI-W7_^3Ro3_ChUdyq#W8BGNvuP3Xa=e`%TWI=8sGsU2)9m0n}pU%P6 zLg6;=BRuNcaKfeHKWOoz;kM!WlLVtA2T!pZ7eay<&zExQJ$R@r0+}-%>Ecta z_2a>}Rz0zUm-j2$$q6FU8v=a}zi!V0cuQj@K|g<<55+ZQsI#0*2hZCaN9J;Cv`*LV zn0ND`q2Rk7(Hq&@2{NU?-DL-vlf~Y!mv30IreevAnTzA_z~MBD0BEZ> z)Y3Qtgo4f{Bbb9y9RxlROKBn5AvSq_fY7u9IyHc~;79X6f!-BRH&pLV-tar0jA||C zbVvYNT7Qk}LEaQIQo|>1Qr(Bm+OB6RMUG9}f@bLsPH3@|ufQ`;5;ri=ktQH1By0pu z5j;vOy1vZj>wO!7JukEdl1&zBjmtps#Z1KA3!JEU=Y9E%giZlFUTa&Y0h`|K_1;pwbGXHM(1=JDzircbm@Vr zS0c(#poVZ(BOq%vQp4^%^NFI4C3gap6OZ|tW=I{}{~2T)7*3dJsksg1+j83{2ttWE z(<*A;p{cQXWU2i2kdnj+z1?y<+)uA~@G`%Ftx}pwFkFGjEbqeLz%25K617Du^J`o& zcr*n`2%4)?r<>EI>d)_Lk+pft$rMDsyvT_xPMGW-pY9`rP`DO}lM30^;3@6s!jo+= zM-iaToovhJUFen3hfgUgPrN_8z?62lc$Rh)E;x3z=LC~kILXZu7cQ;LZ2IIiP zqZBw4WHUyFjBo)c?kU0QcxZ4M3Sr?;Rd{3qKJsL;Oe%F=jFXy{_%7WGOm1lw0e`}E zo-+Bh#Uaqs+r>R}wtb^e0wegOy_%yBrov?084#$sk>|*6%6sOX08sw@4vZa*Tt{xU zx32%)Gf$7_c!Jk3+l?|Qfr>ts`((=&9#vXjYPQ4w7czgs^P4w(BC(oTmpIHpeRT!Q_meggN~b3$J-iu+_A{`%*j5+;LDlh(M+OK zD+5EL{jw#aV)bck`t-GWxHx{hc)P+kofkaij-e=BNq7;s!tWG1N91)Gw}ulwivwtX z1B5qKGdIG#9nRlrZrD{D!5P?*@(;?9t^iNJ7%4G-{~R+JKmo70?er5%J0Z4K_0H1S zw>h7xRh!(7JOJ1p|4oxHb6q!L86);$KBP$F07~O7WE43i!EHri7(lD3MUye}1>aT3 zL3PlrhXdvs?^F=ncU0l5xK=_^73cYHbADZH7HCU{Hd=hDV>u+7p=M9>jUl9V@Y&*^8;SDVY)=4`b z0#~L;s>6rIgo*sOUh=WabK*Abj;X+Df5~VZI&s+qA0ps+e5MB+p@c0Dz%zrHmd}>G zM+a5-9QU(A1+``H*i1Y4X#|FO_?$nl^0M2)r7%2h5<+Gq5{(&%-dQQ)Zta}~N9SF{ zxSN*3?s&rmVHz4A;1cjr-YU$Hznte{v&d4K)B)1uXbH=f;*HUIqVx)VyV%fbeZCp7 z4lwhquE=|(3XYe74<<=&@r}dqm6L2C+o^?Zy7)T2S_1o;nHh()_eWd=m(J(h8Pn^s zJT;xbVaFNBGp?uNnlr0d=O&EXO*yaWBu@v&PkiV<;~ysnbF<7PE<#tDcJg}fa^nt1 z85mbq%h__6{HDU|b+@^Cc9o!S>%WUR^j5=m0{l5;YeG=VTKxcOKX)ffYe8xI`*nj9 zqn|H`$VNOekm>7}hUdj`%V1)jr>tOg`G>zo)uby;Z?RyAy_k>QU~!J&E%%YFXx=%Z z{Hs8$)>OWhN{?NoOP6HeYge(-A?OSy!tBP6b3AJ3s>D+vnOar^)yz%*Y+a57zLwjy zVW3;#JX@kmCX#tHZY6+=m6FQd+*)#bQ58OgF&7DhZfVK|0Odw#yr!)wE*}-`&p~1U zEREdsv(938m*=r0(?|R9XpJo0^jpr7H_ZYxq4`>L7X65Q9E|R^iSlDoG%T8&GHZ9_ zIyR4$d80fip&%}8f3`$Bdag>{_`bp%*ygitmMzE2aLWG7McbBS$J)Bz3t*EP+q8de zrDe7II{0`VDCK$LT4VYLX<{Xmax*?2)vCs=0EMl}X!*%=(*6JEyuMnr10-)6&+{JLY(Q0bIVt zhMuoxr&j&OUmf-D@7!LN!*71`n=d}`4 zsN`}cGU>PgurixO`MMf<=ciMKc#L#>etGUE7<(JCB*IwdpQQ6GwTqr! zeV{;1(6f-Ps9V^%^sIJbb~TD^Y)K!3I(;*>+G?(fpmy|00ZI%|)LV_mQx=fW{z?v1 z$Tf)7e*iP-rp2Ek5-G#Z%B%lW+?r6#7N!ku>y%BRUqGqVuba(!-rS+Lxs9M{aI|}e z+a4qeo?(3b<&ZqkaO4TAB&|HaWr zZmp8hfaD&kB2P+4d|7&KlM7QDPLyM$SSvoxuOzD@yw+U`JU#`D@mbu#%Cz2bm=ulL zB6-|C+)CnGnSy3NpBHznttdBc=rdy<+-ILQz;wNPPw(%yAMmJ#Q+m*^4M`|3Bqfj$ zTcjX@9rw2Wc?L!w*fa<7sDQv@OQ!X2vN%S@m`t|l0v1Kzh9V5hQr(ShNgTi|oTP*) z>hf>u$6;ZgA1L37pLozZ)Wj*!>=ncsBF=Z{HB$sh-@(-V^~k329~^NjgASuM1`e2X zyZLT<1WTzy(vXk;`i&^_9qqdxqtAMN{rzX*r92|8RT?u|Od!jBFeSX@bn*JTeC|0< z3!e?nYwmjK|MQfhSh_RZn?nP*p<>IPg()o}q`^RTuNZdW*i!6mx1B`*Bkr9V|H;5B z9Q@xv>HAGh?J#=*FZ4cc0k}l8^)2b{b@1Y z$$ZeSrYhHJ6H}>Ev6<|-RfD0T|E3~zFx8>?lCIck=4)gwJjlP2wZL?9(C4?gs$4ac zb0&(B`A_n#lW|)MA|~`!*G?J|zW{W&DBer}@Kf>qBU%yYLte$1cXYXvCz>{{0u~;( zF(b#!GHBc0YO+MmkHm;UF>aQbhgf$#st&5-uA3HHy?p01gff|J$k^~?^yu3oM=ggk zY`v}pTD35pIBJtBg<(N&*zPTFX~g+584R*$PH?i;|&PGc3J zEL!NZy1bv}Ap*QF?W>iF>1zAc7ys45&eZA8^VOX_=Kh~ieS^YiB7~HsAUc7MFMUBV zaaMzCJoNeJ^RZ*YxtS-_hQ|L1$9K!g`jztG;rD^=4WF3S-+dk@kDD2qyvS~>9Zx}z z?`}}dRCo>Kzg!%bFW%ld{9ybs2a(zJxT~Erp0}`$?cm>$gJ{d^_c5=s3nPHaJKZin zW3Qd9eC(eQ-_|ttqyB8{?1p-RVJm<_=}`+jfw;|aml116kH}YuX4m~?Kc4|&uE8wr z$|6D=(<^DS%h8Sb9TvBR!<~xI;aUQcO3xp7uTqy^&&#F6mhu>Sp->ANzZr7=l zr3y0NSfJC^f1m-jQ2?i%hocc*&|M*-PRC*iS9wZ|LT7#FjBS?M6AqqH?tf$mlz@Z-U2CRSO&e~BAlvHm=@GXXT(Zy^?7gOMNZTn+rn!iFp z^_*V=Gec~Fs2(nhmvb?t;|&SM4888cQ`DY;S+PpN9lJekYz?K(FxYI62{K2Om_v`< z=i-Ua1T9;XXGFKKkigG#=<4rD&qyHVXCcbwepwNU)OUm5y-!SGe* z;3?baMDHg+mQ<{tn(J$4Jn!tZb~hstd=Ais(}c;H7yzra~Xms*V?6odZz<4@Js6XFyPV4}sim1VlKT)iaF9dZNRk7aVm^_`uv5C*pBOy>6h zcU{TRN)TW-ScC;$ou61HdR~f?MZ}{7lfV&5_;%lrYvb?#fTJaY)SHE3(HH47ru0!t zk-+}S+^%d~OHevGeLdccZoW;0B~Uw$efV*i`%_8Y0I<+~QOuKFd_$lC-#XBPK-?fq zIdpyD+|k{~@o=(j&#-I(tXLYVK*>LL`_vjdh?jN!IGCQWN<3Os5og)>^`L!#@)}YK zd*s`p?uEq9dLr>+vLTnzXW>`#*c%*d!iYY5cWNAlO{h}B_?0pK?7fb>Ud42D0?*pU z^42SCXS>~Jfc^>4N?8)*Xjf)a<9-H@I@uR6?S}FcO|Y@Mdti2}XA6ezY1^~=7b6`G zEEAT@kn8QFZaoV~s8WK{B(S}uR6Ln=^I26jTi8xPQO#qixO6Vrse)`%INq|%Wm3Uafl4K=>Aeun)W>TB}%2jMh%YUehIgvjgukC5un@Egl= zl=BeZz;gZV_jY|wnIqqQnXT}~sdU}U(&4$MnlCq3f5%=r#)MAOg=Kh7{c6+5y9eTG zkLAh<*upoy$%Y?I{3bj z(GyvRB(C<>!3&X6L*TrB&iZ%kCgHpiNYf6^%+6^%SLi;CC4Oaz9Ue*atE+ndq3ffc zt)DD*M7+wtwf1MpVpH)pML-&$3$WlQj!xa4%jkd8O2?-!b{iLIo6K) z&{r@P%WoOa&=3z7S69kB^Wp=knoIWC1|yNEStBEuOrZ=sq~X2xm|H8Gerd|$qs$Zh@li(tsSYhYAtoQUP7W3TfB!}cSxt{LC4 zchlMaBb-hX94FD+lA>sh+JHR6I`H~&MLfa8r{5nJS$FXwi;zcosRt5ANmWfhi0z8P zq%G&_z3~*wrV-Lfa!ZuSn6m$1I7wfu>o9t;ed2>4RsLDHPqNt^H}8XVf=aipdLoLyE>W2Dq+K`7OJ2&h!fQW%a! z-FQFRS5HJc{C)MtF(pVL!sb~pj>jOITRX_{iHFKcOMN#@AW*H&Mf2$C-R3LBgpNa@I9_A4 zlU%qNGVe>I9^Fj-OR{bCA|a3Sg!5QDU=~fO03gm~H5Wt7%_X zT2vWAZSN_MC5-^+$~>Y6{i_{9@@^GG8wa!^#8;%YicO%ddG4u$TA<}Eoj3*DyKn|LU^M{Jj*GET?D(`` z^u&yAB|Vq}_7;`?1(%0FJ;!n7Gook=oHfB_w1!{wqq660Edj=9KDq0&_MC}4NOYv8 zvb;b!@gA_1n0#8F!PwhgjzNhJEtp))obf&F7KJf*Y@$=*@ws3;*0;jNV!u6R9?gc} zUQ%O_F+~@{wGzZFcUOYy{H~MT6&Q*zMD3_oa4BjrBPzVrj_DADte86EgS?E&W^R7x zhMC0KDns_#Be4jBEH^R2)FRC$6>`3DH`6KQL=l1rJRQ-*r73J8;wU8bd4z2c@u6R$ zK$BuQI9D=f!Q#dpN2L`$wIOXpH)KcC6TfGvIDKsF6IC>0L6R9a=%m;hlV@|lL+=y6 zZL3fv_1=T1dB#I#gP`^pD}P!=KL$5PW=|sy70FJtD=dq~gKOR>tdtT;ZO|W}Le_)d zBmuOd-7<05;`St!M%gemimtlJ$S7G7iECJ^{^szM=`%~(>06O_VZs0+&9okL`;ZaP zIAENRYTm5T)H^wgfe}#FS~|IU`nlE~dlYaOy@G3kvP$9C!@v#I6W zlw*}xbfsM>9RigUK?;wZ*zTq6?fdMW40`h-^%$^1hP2CYq9Bb&iLVRRu5x(K!ohV{ z!D1z`hDkVvq;9rFD@zJSyl}c-_E*D9#GpKlI`JKoYwUzD?s&yo;{x&G1xwyFsv6I| z))BXpy>qFoK(85sZUK04@}*V+AXnZ^=$8@exRDGY8>{{7SN8GZ#7YgCIZK0*P<@S4 z6HMwAv^V04Szx?)nNlgsEaIQJAC)tlEuCQ(@C(P`lzqH7tWqw`U0RY8#wS7qn}ldA zhDYjgDMiCDD*W07W4HjYj~ zw*c9`2+3f3wv%Hj)JU`%vOLGP4Q_9eayakIA zJz!AGSBBvTCKU>7x#W2SvQ%j+-5A)%7{yJfoH>h9sm85AEW^oi`6ay(k&0klw1sA) zECvm^2TEBFZS3ObJVkltbE3S!*u>8kXG_EwYlr0+uZfm{rue4If}GbHvmLVlr<+r$ z-@=RFSqW60Y6UzRLwP zaBrN`dU_7`Z{C#kO{`o>K$U~*(~yxlCLr+~qdqWZ;l1dU7 z9@p1i3m#c!ZKWM|nTd7J(8h=xDDwo#$FW(JaSYibniwu+7`utRY(pt&OIm_c<5;cA zCQFJG?qVf~Qlz5FvGO9fk)i^t_L!}5GsWVdvZFOM60Q^*Sbb_{!WgR*GX=`*9BO`~ zzT^{$%bnJ1o-sWsIVl8kQ&40VZMiQyFv5xH&~_#EX{d2csQ*~dm;%m5Kq^bj(nT6s z!NauV?33v3ETVv6q*y+)N>$*#d85yM2D!`ZrOZb(RYeunk1~9~|5a z^0-+D0(aOMF=#s~{ZibsSen3zJa-dkX9u#-K}D;lUCEmR4liSjTdTq#T+vdhw{-zBV&J z2NWUA?N$Xw&{!cThy_@OR6mRXvh7g{*^374_b{LPP)dx%YNtpJMF>zD*SAgM$lAa~ z1*Uzz&YUnqT*hf#Kh=)(-f23BQvzLEEpY7gCFTw})`DDBeubuFB0Q?-kF;DvTX5Ox znapTNB&iH**@7JkMuBUxCl>3Ce*x51Km!YBSKMWcnld${buGz#o?Bqb$g=wphEynU zii&l}&UU0FM6t3U58q(3^GXbgg@DsBroW9L8AA06#*|TPEx0I&J3JUFE&F8(;0zin zRDR05kb90uj6TwO>lBT6gBbfDRhnSCNm~Lw$5~XigSaAUvXRKX0U;br4qEuSQVVT} z>##SZg9W4cNOZ3!0nv0YH-mRp2d&)fI8efRFymv+abhh~!<25cA&$rHI5_&L_pc7; zo)DNMB*MX9hnV_LiD}$#<_Oo?{O5i@N*i3t*g>MTY!8P>Za73UAaOF$|fPBp+y0BZt2=h;`Z4(b#N=)Oa`1(Ri57 zCu2C4TgZ~qY9ESk;NU5ZnYz@2<*E8tssH1Hfu$-f&*HKsOYriJT{L*@l3Sq|eROme z#Rnp3gTO0M#}dh+PhzkJQtouEuUq|xALv{&DYWj-i>C%jsM<;qmP0L}AYzsFpHAxm z2o04O-vlC+Xdan&k&D&f8nC zdEUi0n*nd(U=>}}7HKkMy7+`5!B$!D2V5?Tbt`mf6vYp8#AQ$vn&srsl6l2vVNK?k zq@>nU(OzDFEa)O4v?!#(+F}JZho%%nr?s6m z5N`ozne8NG>Q%(XGUnHYLGZ0sdSMEV+Z8TVUV+K&f zeqBq2(}R*xL3bmOcgjtzgonf5H&u!JeT?a&Yw1CCrszN{G@{V9A}3SacC=n;J@YvV zwPPPg%Z;X73Mo*D6f0>FWo`xI#xz=K@q%-sum2^q_?;b5yx0X{Z!HdiyTxtN9BPn8 zvwiBm*p+B%YUbDj99iY2L5Y{3QW0chv5*o=?O_<0LdN7pse^$Fn>jIA^Yu3tE;=bm z|HnQo1@-<5rQ-+1v}dXGYT1^HF(hD6c8Zp~Qk<_-JFe{ndZRNW0?; z(;+n#SLor5P-eNA&@hSEfk-U`_o9#5R_^WcI#0dICtBUe+1C!Jif~3_VXuW!3P#iC+lKpop%m>dxixGJoB1Rz- zH4-W(;_R&~!m_-l05`9z->C?_%u70@aVuIxkmw+zI^)zYImH-2hbr8dUULm!_gTa5 zv$iXyN<v5e0trxqIV=%z;4 z`D<+??5gmVll9l8znWgB{?Y##6~N_p1LBq$L}MzXh@3(kIc!<$kSiL4uYkfoA9V;G zGy@VvS(CO(WQF-D)pgJ}-W!h1{{r&=(|z5L*}c^Ey~UJ$Z4K-=SiXjpkV&Zb+T^wm zzLII>F2en`po`if#4*Z36((?`UEkM(C<1pYUr&=uq7rim*fc52bFW-g;XXmnwY`cc z2;A9!Chjz%WTarf6eU%}r7zcTcUr!lc$j_;>UC9Sp$Dx4h}+@9lmn%VN#KYxxpq*n z(9Dqk)W?(`pSGhSS^9Xl`Kh(Xin-E(w`dWw0y;Rq2vj705-A(9WrjgtXr5bbxA9La zst9*lMl*Jxk7O8BmdGm46c@D$(_6GyNIBd|OTd#qEnK>4EPY@h-0busX)%_FGHAmz z$_6Q0VQZ&SK#csR;+iXY?`!u?t4a2XM64QH88=#j$C9y>;ERbhb}@g-$|6cYXT+R~ zoP$%UQrK+3T|-jX8tJ3zPule0*d}duD5#`_kgl1d{ux&|HfYWc1Xfl zvVv0OObg;u`9^plDYG@AZH(3mue5yP35*EAg_ZLzIp~4u(Gq7VNQCOD`&MDB58XBX z!{IBl+9J|5J3zTdx?LSn<7y7rjK$6vtgN>cUmDZSHGrd|a&j9#A+}wj4lgjjC3tXb z6w<%7r3lUuMD`<5)`ro!&}lGeG~zc#p(Ni*SbK#0Q-9>g(noxkjoK|vlWC}B5vnk* zu>?)|n8W9HSLd^XxO|T2JomA&P%Sb!D~(|cmbS3(-xg`er1k7q{E|VAE1rrev9=Ni z3R@n?M3S$Kh-f>sJZU_SP#D@1#8HE=kp6l~M9jwxns~&Mj255iQta*9J%+rrIA(R? zWf9J$F$9KMm#RI8Tj9kx>1tRm9EpN-m_go8SZk^Ffo55GK!l}WwDe>6xY&t$GY&R{ zBDpy`ps26ddSB_Stpr8C0)h1qAZp`y|SjwDV|V*Fm?2Cpk~YxYsFhnr?&*4 zc&{YA_XtM)#}G$vl0sQGF>%6^&A#SZk+)5y!uE+v<4RbKcUG;t7{sWzJCKDULfAXD zKlgMcjtCHDPm0#mEtTtH(Az^+&b+M!$TsGw6mp&gFrrAIAjb%C6*u#P9-~Ixa%*J*R`Y3e-km)gS-m`Wh1Eu%s-ePMGh<1lM`%Rp!9P<}l1Hjfc) zc+AH+Pia-X+zrGwL18?M6-yuq=qnrf&}e;_HHR`LwIQHl8-Be*I}xm4jA_5z7hTBu zpaoVv#+Wt-EOm8N;&|S&NLuAB%yKDWuMdSFOP%KN^aT?pWySgnWH5$k*pG5IuSf|^G^7yz^2mA2kZYQfyr39;xyMv z5OP6;#W-GsJ#&Xv=5>ql3Se2uGp~mNR9ut9Vo%u4XSpN28@zEX+0nA1&W*m&ZzBymwkoxtSA6 ze+(D8d)W@(?-T}fA6Oc1Me|9Dp)by%eL8*CG6v}#P8&c` z#-;{iFy^V2v<_B&0-K!>60MX-el(;q=COFDATY&_yGF=%UjO}_)c24OgM~Php4XXG zi3TPb=omS$A*#bggk)3MQ|#1IaMzlYqIGtN%f~+NiUm(OAkiRXzM2qA89H2(JI-(U zT0R^TV+v@+eHA23d_-Eg86ghBT(EY7`!2iQ&dP9ODpgY=N^SY8*}Y=~Va1jfZ)Omb z$#qdYx)vb{XvnRxP*SW@LgMG3S@QP*H??-(hA_M#q;-yiHK=U=5A{{KwUV45JvK}8 zx@ukeAgCdZXH=t{-cT8_f^c3%4l6y|+G+Uf;E_HE40lpbDw;>(kBtr=U0H+(mQ*d2 ztADGR8^16vov})EL1R&DE=cV1rI@em(qA46(9gb-Pzx#NyeB;O~Sni?TR#z%{J!&5)3-uWaK=3D$T)Rn3Uh7%%l zw3n(Ju}JyZY`Fc7J&65(9mVV&vL$rRN-R)HjdXegMPf2;C+)|A$;%(2z~k}{rvP3+ zp}%lY@?rgN?3qavZ9Azgh>o^c1Frev5}BhiiF|@erprMuUhm-~kT3I2Y&Nmzy5^bt zDPs`6;3pfMzi#1ls#pwqyc{swc!_)-@zA7B7djo}9eK!~iYcXRg%~ z5V!}HTY7WXYy9xmBw`ap@uZC)9(xS6+U+x96hL-qr5o-t5=@W=M=y<}C)Lt10D13J z>9Pcr;04Btc)}-p4XaYBA#FX6rT`c3Ez)WUz>bF8H&@DhEFh!LyB0bT)ZR?xqGpG( z2}VRrKG+hS(n-%^#|erE2tn^eL>Fz}wN8Kx!PrnnORR~~{u0@m!!-XA?yX?dp_-|9 z1W2H3EQDF8h->BNgr6U!q=b$RS*p_N=Y4fPSW!5FhSn4#n>?+VM0^L94@BCj@n(zu z&<0N#003YR5CZ@O05dZLHUI!mWG&RC06mZo_`5dDoD@Zt1tr;*FRh=ru>wHmjuAn`RMu8j z-F7o0)UEgbZrS4dC5f_i?|796>-KEAEN%Ne4myf!dmb-M)#^TuVlJpGM&?Uzw9#`H`8#n-%e72+UfQV~xiNX7Z0t zVM!P)O=zXC1Qw>1$%ns1)msv5&5V$$!DLFACI?D2M5Cr`6qSV+Lrx?}<44A=L1eX~ zcGh@;t%0`~^c`S;h{#;S!O-6G@Ha5M@r8{EiT@SCcliZoT_Xd?5wdhcHF#txaE|AN zhpY7{nT;&OYLd$%-g)!$kOpfi|1e=-GdcRS0E*Pov~m$XP@|tqAv5yz@Uq%rsAS=Mev@dLpW1LkB6K7J$^Kml0$cw=dU2xMW7QfPyx>q6l1@lPVimDO3};=n!t zeQ(u~uGLwHhF~>CvKcTibTuf|0D2HJj_e4xTVQOJ&J77J=k#S}|y-#vB?fO!jU5Rz?X1 zGz|cwRr_hzJ~`Q4ALB%gMEi9E$F3v6p~uFN#a*B0N)4^w-a?=UG4G9eH=SV^&0Keh~ZGG zzSu!V8y;3qvmi!wp0K{gpe?%vzluGx4Fv!<)LvQ2$h=I;XhNZxiNd_!-!Sm<@m2P! zCKW?9@rYJAB-=*<n!F9(%M{A-aNf75Tjwz{j1n>J zlG1h1B1%1EFlcN-+d$F=4k~+_FYa7wg>72rSl_bPwdb^HeLA3T-GR{Hp5kL)WvlPN zQoqE>$#sb}r~9@t1E;{iU-t;39r8g6JIcy!qs75S-bB6d@fyoE_yg8pQ9C#f}ym02Y z`Hmd;J1v~5XWKR)@{iUKXs8^h;QzFL+o9}cE$xqZK=+1qWR;J8)eR1-q7x>(IdbHo zGe`nxEj&t@qi6bp)CZ!C)nIKwt*y-lZZk^Q_m+JUls1^QqjsUv38d0^MteRRnJa`! zYq*U(1@8)j|K7&$;WD9kIGge0#*e!n)in}2aK%#!t5)+ESB`>E zy=u^x(*nt6mnm3+96var6!uW&XIVp8n088xGa$1fj3iW6+eXHYu`NTlYAjqpc7W^P zT*6S;-e&vcZyaBESQxoCSlIaK5WhDk?{njahmot}s@<`cX;j47Y9gZ^w8A{pFg$=q z`?2k(8&MdvG#6va78!P0!D*$&@`r@5#k!cgsAy{CuqXTjq$;V>B|3y}wjllg!-=*gXv)q3V{5hG3qK z5LudfJZ$AJ!g1%&ICk^8MEDn1J)ZxWg8l8Cwg1W@&7K%q~MZ;@#84#uBCD4d+Ivk=)ONzEoO{S&pW^g}G9kguTxg$FfLJOO8qSh6)ntaHpptNNPiKwj(i*!Yz^#w3QJSa#_piLW_Yapsf*G<&mK(+&F!DX9}Bb~Hlfi2Z`1AEkdbbpRGJ+D5|_zA%Kg!MXlr z<`R<rXXS0 z1F-2V4&=X)Noz&O9oEj{TAT>>(jy0nfuYS8@?q?HN^2i~opF{ED|qamzziFa&h|D| zc*e&2G*fkAHR6j18noUq`rB%D&}#pXd9SSrJgurVn(g^kniHtNx<=NPVwLu?;zfcB z98HDW|6$+hURV{D>mFYQuzt>3le4u(s{b}r>q(&>qFdoOcnW-NXZU^++z-Q@FP>Jy zW$}8L!O<8a<(ejmBB=C^9UZ=j@l-XeEo>IL?!Q(e>R48@8poG`XY10_V5uA^V!W)A2%63_ysj(ANjrtu24-tYb4Pp zTnyVxQ^rga5NE*O;=Rr}dARCgsiBmvv9Oy8jkq+{-qjrAPW!Y|V3_|P=4X_NdY{)M zQCnbvG2UNwHq=^lN~u8#bZd_Z0x^`qfbfu2XCWH9?TPjoS^mq}rGRXZ(YV~NuUUpr z5wbbHz9ne&>Z#T*6S*`ub~;BiAiMH{*shbpGy5w1H3a1quV}TNB;5xxpk#-3*8&&) zM1HK4u1%$flR0CwWkkD(+(M%(dyUYEz7OnsyOV#x-t~ewZOn}yK@upNje$N@%d4fe zfm3*+6-dCS?{`Q8BUpa&ByW>iwGXs}Sq`rCGo$uylUhckN3wSVIRg(3XK0wdB{4ND zheRad^@XamL0pUJoc8}i1ubWFdOo|K(8aehB-$-9V3e?#O4ApsB?LZaORMpC7Mh%h zhCY|m%#Kh`+c7BNM5Snnz$*W>rs!X5q=_7K9VjOT`PtELh zWlqL@`~6Aye>7)D@lDW1vbt0yT9(n2ut{$tS)MX`K59cPeTkdQQ4~$mwrL5Lo+=O@ zUizv-Mr}`PyQkR(bS{oAP6@_f3dXjoRj75??G}>XvQV<)r?&i#cO%!I3 z5vO}4zSOplHi0x(I@wqdwA&eg8S!2TRA6U&En8GoV^(D_zh@FvNMPx(L~-!7FkY`! zefN_mq8)A|RI3HY1Jx{pYT-K)9ldgwypIPaESbXYbz6?DJ3 zq1|m2w9ND3mLD56aZBqqxkj{Vz;|R?vl|o0cgvRjY)!Tg7L@M!g0?@&DP3z*fn4ll z$-YuVt<+`$V6L7`R3W1?p+uM$@Sg#bldXsOdRqfZ%&l2F;ejzk+A-x2??A3Zf)%(C z8l7G%RJjfeL)sG?_M%LcyJr?C8}9syjqu2?wLDvO&^vkBSbWde(6)-OPII7dBk1KB z)tv2tJ=9m(Y4{=6)1p3;%-$%p<9Ch1JeTar*uTVK;JH=h1Bw0Bx3U&RN~2~8-04|< z9-SOx8K_o!knC_XJtEtQ2aRgSX={6w9WwN=JmBH7u>SuPQl zsM@~E((WNw%wS!`nw4XHLoSXC?#DQY(H0BtgCY{N0j?k!M1hjKf5SqC2e~Yk6Vg=WEcwG z?ykz0qDD=NSm9sXtEUdlnstSJ6gHn5eUCUq7C`B6&1nDKwT!mUl5M1O$zYyJq1@fp zSzcMGTDX}}9Xp-vL2%OgOzN(p%&r$aB`hmkoXm_JEMNDqA4>)m4 z{Ev`AS47=G_p{*!4q7Jworf_pNGH2R8)3 z$F-4G{&ZZ*dHsJUI9U&Ow&N6nv#uLa^Hb;B)a@hDqd(uvYi4T@rAUq)9w>KIE>3Q0 zWpFRbUU?-9>w=DYqkGv+xU!JRUBgr0#%@7(KCze7?BjyMzTozVt(Heh4*HuGK8v}J ze?yJB!?l+T#%kq>A0_t7*8M@X5VWUxATVYjNq}g0rw%gsTX6@2&MOiC2 zIXhIAbr+j)Sxk`_ThFXzW$OC-woI~T=kavs8WM3|1d_GIUgd7?;+=!2fZnwx9MZaF z=0#whm43lKn1+Ue29=eB*zwXltZMgs-9@n+nmfvAq@q90w;OYjh|md%$_;bIAa6%C z(NV#yG7Fj_xZ3riK#0IRdfV~)&Tcbzy9&~!%Nj$Zt)N?7hT)b+Hd%KS^z@!+SB;rN zz{uV%v+Z$M&zXb;YdXC>$Gf65zwXLh5A&*FU4bW|mEnW1X=|j9iEiOWB@9(aeDokO%0+KxpH{Qul2*mOS-8nschow@J!Dm2+vRO)q^nZ*)+3Z~fu-RGNc z&<*g+e{d}@Q z)WH1|xVh}Y5!3W>uEahwRBmy4WnJ%OG4SqscI{xz6^)O%g*mV`nVkMDND_lrd5yZ7 zKoV$)cEGWQkvo(vkbP6NXLQ{w98tag(l&{v$&Ea~n?$XVmutb$cUF~e15W0aQ@XCzUD>V~ zFKYa{-=4Se*1u(J+g(V{16mrQd267&Mg+ALYw4~qg7vWdT#pr(k6PVzo3*et5fxSB zRnEVMo8s4p>FG|B(L%KGw|^qR`i;M;yk@LdTbXc>wUaEkM|ZLxn;snmY#MVFm=C{$ z=bL_##+rg2tpQ;mxf;{PG2iw9K-#79w!U{%kM@iya0TyjzC5cUsHI+ZW7Uo6t@3Bm z-Q7Z1*8CWYd<+vQm{%aWa)vNSw!ao7)7yKKnw3Y?2ChqtUT>{^(_E}xr~`}JxUYsIA5yq?)fcH+ z)sW!Dolz!nmlkz)Gi4M>|1qKmaSf1(AS-Dr6DWob~Vm!9<)U6XasZS4D=*n zK?PYnsmybVXjCU%b8}|1PMDsukk5&T-3sKEr>myj5nD3nsx>;k+Pj2_3OUw5b2C;h zP3yTfnbY#LphXlRStj>0A*@w?uJgR8kqqcqwwIdpaMFvoTO%(;iwgXn?;DiP7o5B8E;o{%FK_m31>N?>aT)4fE0;Ne zNcvVT7$?Kh=cG=tCqU2(82_nmw=AWdA!c{*2fG^KG?5T^+uzTSO^9x8l%AW%tDO?b za>%ZY?wx=u*^|G)vy9+p3N2PNrKEe^tUXX^G{uk|z^o}@z*`fZI|d$3?riY)Er)sF zlWqE8Xiayy=H2${64^PluAo3X_B{^g(p8t!6GIF3KWTYG#p2N0O-9@Q{wL4F4-Ng~ zgxsX}L0eIoGLhWQ>6?u0T=epKpf+*;p*#k=I`~>LRBt;!B+m`ETsg0#+!OEn9e%Tl z-E$mN!@k178=v5Shlz}lDe~7qg4<~CGy z^dykl>Jf+$IbdV><5Ey{0;-O<7e*r>v^371rmVu}Ptx39&Y6&e4;W0p)=%EP-J=zW zB7uMDfj{~Vql&CyLiXG!`su81q(ErY*QaQo@Gmk7uM$^H9%JFFR`EeCHX^o1MZoee2;jKo+5;h>B zP0gLaRLGNURSovlM_`Cac_$&h*V-^lQ@I zJQdx;E6;q;a?pP#2|m2Fj61+Ie(-E0scn8;D` zL>b0^f+(Yt(Z6+fW!QGh0d0x!z}`W_NWZDPR3*ca#kx8?6Jd*XKtj0)C4Sck4v;it z>JRrit`VE`f^EMZmH@{WjE|}tm#SMrGj*fW>v$?An((sy{NqB*?p5#Q0d_teZnu7l zJ<5*uVH2=JCX*J^Qo&E{wmQj-B&|VM=|j=(C63jBm4Y z|8NveUza_6*;A*z_~kFt^uK(4ZO{F;vwh%Jr>GywM?2T-laIae zu^xJZ1fDsC+eg*YfeSb4*moM_Gw%{ezbC$h8%zyy-&wQwOUdc*&rLIb(bQ{@)}g2H{y%>6ZpNq1c#_V$H~sE)->u8Zs}HQ3mCC=|_IH=9 z-=fo;Xz$Gbea>jJ8V_r-r?>L@y-OsF)F1wrf8T$=-lNKVji6qK750VqsnM<6d1>Fj zt+GeozIkz@3#4-Sx9lClJU?Fk+)l3-t?Tl6 zkRJvY0N45izJ1+4?|j(boX4nk^%U3QzQ{L6uD&OM{hr>qFO2-l?;Drmk)}Hzj+GPS zec3<4e16Xue;~0d||(jk|{*rxJZk&`3Rg?Aw7-gR<**vR+ptNfMzEFl+(|E_*+ z7wg+ZIyc3cC!Y52?Z>|r^6$Jq&PsogfAC-%3z6U7mmd{#As%_m)#J{Mt2SAfx5@AF ze{jD2J5*zR)BerkPv0!~Y0OXf6VcHs|A#$S$ndbt55dSo`D4Dw7Y$*?Fp1ZG9D69( z@Ajl))L<*)c%{9c;D!+^a#0j8cmp7OM(lySZz1M+sg@xSiTnS0qb z^^F@N<=4yVBO`cQ{miK%Jsj6P{f{~YkM~rQ=p&O|p4?#Gyqu@$KRR>LQ$DWfhXZJk z_}zgL?;9OXlfZAx@NXJJT$_>V#20OZ?e71r6JV`;qS9LUtxWvf`*}}L6@`OH^H05e z4A0`K$HYNK$p3|l7s;)^cgNiL@~iBd;D5&#MFw>dkJ?&rzP>4$C)8g%BJ48!_p{MS zdLh&@>+$8^v+=@#-Nz?qos@W{PV&WiGd$}3%(^t^kGkl^9%N+kiR$%+L4Jki&oj6> zGv?0rRsUsX1egQ$VATMXa|IF?5M0h2NM}HiIguc|0mSCSf^!EFoe&MqA4q&aJageu zxDg?T1L4ku#16zeC)kNQzB==PsCn(y-k}Hsk1Dl-(5;+j=Tu4+vB*x{l2y6@9+K* z{vQ5q--VIPzLuXdv-fg@o=e74?*lVThm~>5lPO<033^9VY zQq1Fx;Fry=D-!Ef&XuGJk$7PRSp1943|{`!_unu((px{k*6}{l`yY27sxlL9;CD^B z!!2RYuFEXfrk^ukWlR=4ie3zZ567p+#FL?ak;dt)JOI#!(LXeW@ROVAZ&`Pt7rczo zX^xs0kSdQ!>CAI!6sL>|)x^ERYX9(&_^FS*IrUh%S}INe8V;oxArymjbVDsJqjje0 z!FP%LS;)B;D^KOo$%1PoreZ`|{tLoSwq4pJ1wp4_&PK%+4t}G|y$LU%LQ#|UvfHl= zG{%jiO@*u#Z`l=H*_g-my)+sF$XZ~xEW5f+|ZF+p=vCvxEfLnU^AxB8g96m z(h2I0v<_hF1qM?-Hl<%#Tqy`vbEtQJ~32Ov(ul86C9X)rYrV`E`b zw;9?ZJRaVJ6S%Ej(=35KrEzc2N~)&g9Ae_IcC<)BfR+x90L>|uQRIdc;vx%6kBDY= zaDjg!T@2Dl19x5~Ed&Xyb3!MD3P$RPc0_J6r0h%xGVW(jJ-wr0h{goODMhbXL}XyM z^2zXgWX6@mDK+5$?ZZMr?u4l=a(QA!G=GU3YQ)4ehrPGqAR1BU?+$ebvWg-TH^FgX zOuL>Os*q9(2~l3#FkT@c>iY7z_jv1XZ?9p>bGb9Ug2vbZs1>AgfCCSOA%Tw~2I+9} z621w~S?7|)a;O<9s1-ngNZ*lQ!-U*3$ zrvfUmSG?|JX-Eys2{~tLB%@VSK8qN_n!6Nae-SP*R-B4RrZbAA-@xbN$cM-#3a2ze zSrJ4KiYri7aZ46a3 zM~Zr|l&B4oPMzgrUX(jEmbI`vT&!qRI3y#u>kr~kODj?#PRxnKawnBnM5;4hhE_&W z&fd8^;ndBbJWZGy5ETMAhF-=5fDny`$gHy}t5^wc-ZgDWovUY#g7RPPF@C%&O28Cz zSAc1W#(B*^*ysqw8^z@f(X2>wZ;<;rDAqy-ErJjwaHL_TplL`A(a|htCk~yQ@llQj z5K6QfdJPqU^tYLvGD#0lG!B&&@iA;l(pfU)sACR=%43+sYlZdEjb|qg;gIn%>Lh~g zB)HW#puJH+NsoD8ngzbEjtup42K_*&MO-@p0u>E=JJj?-`wBSUFQ;96gI>Jh=opH2 z{{A3;a8)==cE8nDdqOV7QsInN5D?S7;$yW?xSd_L$j%>Vev7~iFgaAD&v!7agNapI zEu&Dp!u{c5+Hsr9X^p9q6k$9VP4wxSvMC@9(DA?WI6ZzlD z(Nwrxlx>=5-9k$C23ZAoc@2lm6B06974((tlu(JX{(Af>!(D4=HC_-Ab1I{!OBMrc zDicLCT<@TWb~t#<8ygBvI4G)lognzoQ3-Y~K&+Sq0?U0{7_A{eFBjON6Hau|i6=Vf zL=&BKqKi)S{9ij_-<=Ia7oF(;7w5%daT9}6B2BQ1sKfQ|hbVBBGarU{i~*I(+MfKc zUq%XMsbJEOae+X*fgn*n}Ix!{ji9*0qBVv-owG&V; zqnFnU%dYCw&nMx?q5bPd^fKRfQg$fKmBwZYuPc@06)Sl&q5sHC3#h?(fDoDltOhA@ z`h^$v)SCh|ELuh0W#huuLl}xMc|GkE$qE>uKw?jHPJlf2y-L3(eIN_!$*A|8vvb0F zfdofL5Sh~hXiHVtLTI(ulTCaQ=nuRC+3vFwVZ!yNT*D-uARV*VG*$qP=`ufCZgin3b z(hxIxfp@O;!-uWrfVs&o{FK+R>Uz-Ep+V2(bW(7HQ3AyvRFtx*@%;2r7wjTDBU1w* zN@#^lT7=bDhf1&XeXFEsMX`(Lf^D2c8H_+%&L&g}2#R^!n_iCodYrt`5HEZJxw^a@ zC1}Yogl`zlTYp`x(uKlLt*-A?a7O;!^MV@W<3Qk3l&sm&gGeZ@W`gpNzw#1JuZhN{ zbX2C~z-K~xslt3f z5E#J$$Xgm&(3?wTOH1XdgrzTtT?{5@JQ1*lfV>&L_`C9e$XMU zq2DZJ<`}$bp=j>Rcql3s3NH=IS?ouK>LIp5F#ebr3;?T*;6o_10*SN$NFY+{l;Do$ zy?ibh_!YUFT2cxi08EvdU>ULlsYL(`>7;_1iZ>a3vI`PeTtZu@^l;&}QmGJX13*kq z6`phXjPmltAdZ*?$U7$no~0OkINfkzM4mvwPJCPgav-5ZgG_U1;JY>&{Ndk%0w7V(ZjBn%U% z5u}Bj5}ZIQ*YThUx_xhlkp+*oG@BGKja<@F`JG(3Wl2dY+9_-;d?srT|NW{G?RW}P zETmLt9L__rqY%nZE;1beqgIdmjg-hSWJ3dAglcj#++gn^BnohJI)u&(?^Ca~SPx?D zPD&~eC1W8_93vEJ1mia^v3D{=xd@uz@Uh?>P zw}$H~OX%k14TE!P^AVzR5Jv!b1-RrIkbU0&psyOJ^@Iy!vdaF#-o5Ll62v1M6jDzz zg6XIbQn)2>pk%$D89fD5>I~Llbp(49#8&8Tn8sUexA!TE8nA#9P^`E2A=sbb*rR)W z{%kmKHlhw#!chbyZjyLM{kY;)xF_AD=rh2!8DCGS`qk|?B z8ZyR6trmHJ6exlB*L&_#hT=VaW`m+h86?iA8GCytM0tf0QacDJqrX-Tuo}BSte^*gQ7OayFoVA z7%MqgIQ|(t5_>6u{Py^fThqY&Qe%Nuh%po-o~6{iNZ1=cL?a<^yvz&k0EjZ z3St;5H1SxjEtp#@Api9i#*3~iPS2Yh02)Jzt^2vJ+z0FnZi;o~JpnB%Nfe6Cg{?kno9~{GqI`nnf6BGhUD8`Hr zG@n@sNO;fi5iaQUA3F|UsDEITR8d0jFo-ZA#M59)iE1FWPGgDmA#ykwta8TeG!An*p`oGNreT_zcT`Abo0})FITqRz^W6Hqk8z#ov0qFo zq0Sq)D~kKQz2R1dm^2S+jz@&33CI%m*7V%PnT9H*htI4J^hT&=IW3|Ks!;}yDJ7%`X~Ul57y@h#zIhiH=)Zp?hvB`w>Gk>|kuVI- zX)xv5#i9*>39Zrl&oJ<*a7Y|*tU!{5nUM&+q}peIIX%5@BxKtP5PdsOBMz7CWqtIt zhvq;8oB(3HH+mqJ$SoY3r{Qum!ot8|VnD?e(gcCsdpxyNiZ|D%xp|19SUA-bYMmko z%$6Lir0gXCMpB5e>DhQR#;Lkx!$o0EI)Ua9%pKIhEn!)w0t(b4m>8T*2tEEk4Bfcp ziYERCPXZgu9Ci07)?y+Bjsk>BBZRiZ5{<1Y=uVArFj*0UJ$YE4Cx#QKaB=~pw8BFw zv}p0QjpzI08d7z3G674r-^XubT#eGTK&_g_WHJH+UZO5MR?3%!h{VRXe}W~iPRd*6~uv46p{J( z2}4ca+`SuN`9rCPz4)qtC;vn|^4VCsc$Lk|pV%R(q-%f!8~~sP3o%52Ud^Z$&jdzc zPtxJ?`e~FQwya@DATTckeR=LDX>2@>5t0i^{uOQnCwiq0_vlJ8j$8Gnm<^*<=1P1` zD5U}6hhpLWf2HFgj|mClRXTHYGn~k0Wt4S@P^d&VXQG&bp0m&@postjNXV3;S``sH zV8lqv-q;bLpd-eom5F1hUrXm=;Ww1P+o6}(3NKk9QPQO-{im#H9FS2of*REz83?9p zO%z}w;Zl}{3=mjX%_40YT8eU{;DXIUn5{KZh;B3xN{G}d40qBi9WpiP1mW21^~C6j zg}**Psj%UfG>NzpTX9NyAS`bnm}!M4YPu;Y_KOA1Vz;jU@z^{2QXR3^r(&mdzYNH|%Be3C3!E z&dI-fB;QsOOjf6~0~+jRKy08?Ijq-cA{78>z~o~DLp@wbL?-CNjEjW=AB0x0_e7FBnNYz=t~K$dI5|gpr<=Hcxw?FGq@oVp~mRRH9E4y5^SN! zQDzDw6%~mQfzt*CtO5WC)M@FUPP+;cafG+=d2aeVc!^Fr(L^Vm=%N!&bP-g zL(zg&?+owTz^23AFZxU2oJ~nqr|cqnt)!DY=zf? zcVaa{K@62WB7EV2sLViI6=uB9qsWd3S&YtT+=3(nk$X*@BpRl+$g3?JaDZ1qN~|1$ z{+X+^Lkp@#gMkhRwM7Y7GNdP1&fo&r!>#HxC;wQmbi8_(5D2LZy(xOw8kK@@qnFgVZ~ zsa_MS_%BI45p}6_%k|n@%XHMjKtjN#Z55t%x4hXyua{HJC@xFJf32O!+&$MD<|mY@ zxR(hP4{^BAZ2!iJ@-$ymwTea|Wf&F&z?zY)~WI(Og`lu^C(4j77)fRHU)PuYAbmPuy6Ahvbt=dH?Z`|go4 z?>9}8(De?}h0?OwX~PhZ>~@+oFl_tBlLXuM@rHV|9XlmLviBZ@m5qEr0RTV*03$O1 zHB|+pkg)+gp*2mayALqsSu1BFX!a^=ka8YJSTVd zk!AcvIGlN@vnWhN!VkF`dnN;LqT?jJ@Hf|EsgM^hf6vPm^3TY(jn z+Y8r1+ww6Mqh^*4X9E(-QFG(Jvxpt_msT!uA4-sA~i<3ZsNFqQ%0fnCdF5E(%HUlqvH<>3ZdC{zzc(hkd=7 zjzX+zlcXw9V60T1P-TgCt{v*lQs%2N@Y%PY-9I#*`Ga648i)&$g-6Q96s?d7b#%oZ z66nlJe7H+5UX}(&ewG5eN3G9svkU818ai?0N|3Ln>X1i$=3@8013ESYY!;EVx~8Zj z8b{LN5!td^gT{(5g$j~zS@gY$AsQ$d7Ij9FnH)qVb*;_`E9ff+0_lHeLb&hyILQ8Q zGMT#U#>B)%lvB}h8;`uuJsc^vJgRWaGdG(A0HN4!+`;ch4Ltef`swh&|2t;Kjo0Rz zhsjlc>Xjeo$IW$w$`VpT%*=){YZ}*$=f+nA=wuSJ zVhD74vI2EOl2pa==@kMSC|ez90E0Q%BQ_Mp&D6+aM?{#w*ImP`&rJeZXr_!Y6l$GX zBRPF&B1b-9@h}!h4RRVKTG!>~82(1v*x?xYr0>vm>O6 zBxci+ywxpA7HJ-{Bn6JcmPwo<@%sWYqt~uxOQR}CMvby5KyW0A=(;$!*#RTNG?^_7 zq{np*LL*s~xd(s-Bn5`UmRg)CX(R6uIa6KTx|m42iTU^#3b#SzrS8PF%5b`l4(l7BP|uKj?@AW$EuCY zuGFJm%v5ID`KRc&--kh>+}K4w(avBtp{Nkpqrx2im$_EL$Xh^n5>$}pDNSS3No2DCA#~Tt;*O2K)0c%YE z6-z=|na0^i7emU+0?uJg67NG^J=m93PQ{&fmwzC8%!;T|Ay2yjk+5ZP9U+#tDCM%v zlvH;#1DI?qvW3uXN<%_$jSa0k7^&F7hyjhq6>l8m%JrrIIc}4Y3WI*nTVp}>PTLSe znDLpG>_5tyM*y8|mz3%`!Ru}(^=sA1dq@!8JH#V|_tx>iBHIFmE0#tBzuh#ufk#C#H z*@bXYTTiRjd9u^%bYGFX-l@-e5Hc4GFNh`BfWxw z#vMVL?wq49fV9#A9JgIks&pslw)B;VfW`ZB)D;=!DDHYT)&mL!w~&OTXiNipFtJB*DlX3P`Nvmb1%7tEa63?{J=j%#c9E zNVB6CV4`R5Lwh{^y+Awd&v!$au4NBs=iZlPo}SxkG?@a7#=Xx~@%^-m*p6&L4c^HP z>!Fvl(#g_+*AkWoXcDkcJ4D^Kry0zxcVEyfbe2&9Zo-;Fb=x%y+G&fW`^cDxji$ln zG>0B)!*at6FQn(rs54K2=}BfocF%y{Il!UJHRHcq+q=?OGm zh`!Er~JbXtlD4w z;=RUBJ*4w9X}aST3n>!`+|*vuHY8A7??k&E#BSg9> zGc&v9$MenB@dxOj(8C1?B&JYyZe~7zchS|*+vJoe-J2^8xw)>#ZM}msL3BMkA>4V) zTzI_V*yQEb!)^wt18Ek@k*K<8x!bNy(Nrt$XwmHB|NG-yx+GqEZtTqdtX2+xUyMxZ z_~-i>e(~T=`7i9kWi+kFIUhUm4ERDanp>KtmpAJ+_c%=XSTFvE2h>Dn=jCJX=69(X z|M4%WkHy@%a*?mWfBZN#ZiP>8%gJF4t<39qL_gJz``I;du`9XeOIV5dJJao`l5c3f zi=3`GIreR~bAQ=uTGa62X!nhBBx8=_>1RT5GO_dQ@!!JPUBs4Qi)e)kJpcQx7=FIr-zvCWcQfKu+x83 z73>!y%`>DB5qUHGlp70%m)?S}o6pdlfa`&ZssJ{D`RS(fMp!6*wwiCr(yoPn%p`BG zlj!c+l8wBeN$toQY2LWu8niQWv;Va`Ga|r?M>|SkGg%|+E{~5_$_Z^>SD8Pt&5Ik{ z(Qa>BV?&h_4EbX9SW>j0L>M6~?V{NL3>>TJF86~RsDA}d1;@be;KHHFTWe@Gp`P)-A_%JP>GR4-WlPG9 z)HG{^!wNY1h6){FaV)DBSQ-Umv2k!yz*T4&T6hTKtQQQS* z38a~ogn=gAD5eE$qG;eYd&9x#M0S_1aSt21QI8|gQx@mv%qPaYGzQ$wesGY=`bGk{ zlmbp^KOG-O_msZlOtmt)lm-NQSbIXm#U}J~)}LTdw?fztzbC)Jn{eM52z^<2pEHZy z9||jR>FSR2mgQB@33zH9`U6hb4-SQq;G$vfLW*aCDa`H7@!2b^y2~fDx^E^#X(kQq z$JD4*1sf3)8*9(v9_omOJ|rBKbO9jsMX;f48{wK%_*%(m}Mel^8n=UsclX>1*SN=yMjwu2EO5SoNrHRi7w0B}H$ zzf38>*shW{vz=*Z&lO?18B(7ak9VX67`!ymypGPd_kMIw-ESscyQZYS5G=a{A2(|b zsaT6|L@8z2b8RGK73A#2NOiOFNQF}8(1Iru68+T`X%s%PukN*#4?QuJteveL{yGOQ z>Vs->vIcO+U&gT01TRscGj1zUy1|(M{+i9Sv+_2!ad}AnGwn*b#lauD{!g{-*?!DQ z5<%c)+rH-7Z!^oGxEk(KbY?g?1Bw#(_?x5;9piIa8}?^6^Vb8zL}$U4mz7Qs*XzR`p6G zeB83rYAS-l)Kc<-&VCK+H?xCVnHwM6$lZjnC&wQvFE5!8dufi$R|OA$X+4{ASI3kq zqV6H~RM$O`xales;HB&rA!k_bzv%DSHmXAvZVWSV6e>Kk6m7l6Aot##(nw=`SW#zahN!M5ohFh~U3r8?14?35psx(3?edom zDmy||JXqAk0)hvpD3wdiq)3+e;J!!+1}C~2as4q*=k(utFSQsD=)!i(jG%ZNnM zPT+~83;*?Au1|mkNLhjpR=}z8Yi9H{b+8H0dSicD3JC-zjZ!5TbyY{&A)GlYxRg$o<&YNe%XAm^^^Q-qA_xy2l zk0EZTY-iXPafYdF*=1Ic@2$W0?QG-?o<^B)$RrRh(ZsU3RQ!&7Ljdd!DeSps=vH|d zDH}2@q5wr}i#Kx}sBQ}|3SMoMW3g24m6@YJaKR>yJ?J_D-kr zGV3Dw6mH;yn6Yo<@$H->n{tK;L?>#OYP1)OVhJQ^+jkO~?Djg#eZ|N)$C>Wa?fP_P z2^VdmdgrG&(gt10z9Gi*DIARzr0MHQ2JLu4m6~B+#&qh%>QZ^uTNaw4oQ=>XLREwZ zJX=&>`WJcT12|%#CY8!`Sz@!$IVwm9t~(@9WFkX8mFei0+*ETp-OkwDYW#qJ;B0D z*d84&K9^>Z28|k5mYNdk;c_i?u|l8(tj;K@aKX9kh4ogfcgAgomsic#4I))3A~E;9 z@N^mWvU$?y6(fy^-rY1EyOB(L&~3m$rBnmev?)}8JX=#=+Np8~PkMbh-Hp~*R%)Xv zrub76jklJRbMiRyTs$@C=KA)?Xg6(>ygEU&4NTj2lQ^G=g#*Hmt@bd5thQ1LM{d3s zCG4A|+B!I`ASn{|T`3-~NG6A_z;^3cB-~|Tt_)wfi5aJgJK}gp>%L2gdw;b}hf8^v z%>k&&>B8}5#Rmfj^|C;dN`BU?Pj421dNU@dtX%fJ`&OTagHQ$_RT@&Z_-VOK%C0dw zQbLuDH9N+VXt#Ju3=#zHkxc$P6Fo_lNW$GUVXkrxF>cl)c4vsdsQlhA^QY3^iiuT? z8}1|NtvVCi^tGC2qVN@|qFQtzFE$&1Z8hGGZD!!sX_z$qe#~b1CLlVsM1M#k0DbtOiwR;coSWd<@>4Rwj>qxJR%Y+Ed)J(Z|?ko-zo| z+}B!RDzV$F^Akhn+_C^=hh-^4!@Be^kmvJa`JE_&b`c23=2l;AkcHD8*4v0SA2R${ zfKTuwCWCgPgtJbhIbAm@ibogPH*;{g;FeOrl9IHy4HdZ1FYBS#F~h`()E;iw4{w=^ zOOZCdn}gBdf5(L*a6Ze_n~k@YcE}R{MPcx=Zj@|NFgOa1&}brK*lcP7{l<3NgJ9wS zFVXY|mz}x2OR$3?nivLa?S{LjbvV=SWYXEf=yF06^5tL&y>MBS>1}Fw)Gz&I*9JBj z-!773%Yw25F-XpbFxQ0_ZoypgW`bJ?J*wvoz`hR^Sb{DzRA*(vm;+q!GExRKJ+j=mZ@&+DgItmGUrU=Ib~t3C=9-D z5jMmRTsA>n_^oVkt1*B=oGJ;ovAVbujr{{OyAXihOQBhLo_!rIT(HvU^)}Ear#CKLK*dhN zXcv8CXln8Igjc;caeynAE*po9#_>Aug!=N`-KMN2zysJ`8Rq8KR~MdL=6aSX!q@Dt zk0sXxTb_bykFo@49y^S|x+NBxUDs95!OROAFkcm0w$(oYB%u%BaqP7WT{DX@W2+E4WB4iT2gGBr(5G@onz@9Mo)EDpd4`$l72v=VSb$Hxu*BU^2naENwJm1- z9J$LpdXmMLKi}(_Qof$MJug4>{Wa`Ui$F5};!)_~VPt1Dc~xEN_M&Mb=55*B*7EU?^t7gmPe)ZIN1X^($Re6UzMttE1>7VcLP&CDon0wp%?mk5D3nUAv)>3V49 zHRCzD-yz%kw!^LyEa9;%@ir5+K+_8ZJuJZC&ggTdPJ=cyO?_E^BX5rAWjpL>8PA+u z_MI0$E`!3kgvxNw-#4=m>5{Bv7lr`!UYr;}dn2%+>$rvFoAQu?@zI1-V1pYYoA$PdGBdT{( zDZSX&dgoP^c!@W4CO=LO1f4l3}B1sS=hDejpVliB=+^IpkZ+^%pLLM z@%$eAn{{>k`t$qp&N1$TV0`SXq|!2jed@;>WT#(}+vfTDC}!#+2^7zqJ! z3T82IXEaQ~$XlA`r*&9+SJO)$b*4b-fgSlN3U2Eri?WorWS8#qLTB?5H zea}t4(t(!w`B*))H|4-j+LjIhhGR?LfB;R2-f>rW@P+k|YMgchd~c3}3E?1W(MY;( zG>1Zt`mJbyzICB(J2HC?UbtWA>g+{mjJBX4NCO5dff zQ%VdKG~4ov*4xr-i;RKUd{E?%_MDamC9B?Q$eKT)_tk3Qa(XR~yxpc_~xB*fM?@)S#RhGK_8HGqq8LKFP#Dw)^jRPp+rJtBQe0ckZ4e-( z)}!WhhLIE!F=J4~<4TP=#AyI!d7`viFFi-~>8wfRmfmj=)LXEJ2(1DVE(j|ypAew9 zHW@V=sA=%jf{hqK4aY(S(m~Q7G_?dH-V}e6H;q85OHwLfR~WrbEn`{4lh+v3@{88n z)@*E{!Xph~7NCFQD#d^jsl@{XHrw)@D4QF0kTy`WRJ4Av1{A{zc~Koyl;r_Hsj!E# z(_tfs6`Cy56ORjOg9;y7j}fT}*rwrButU-5NSs<4x134 z1dgJ%nX_oGRnP;7*kYqs=n|DRZ9gm6vmP%HX;PhpxibQc(vOI1ErMzrHt2!fPnfk~ z69Lyi>!C&gxr2BD!N4bso6*_QFd2TT?Y1;;((=%{BGp z^3T5^it1Id+-j?Cv$5{E`^HqIsD)7g5{!cT+z0pwjL&TB?%c%?Ilvr8)L71S7dPsf zh2Q?vRe#Gk`1jD?aQh#a*Kz2F`4{uMpSR?R@0#c@ zjFj<6^5f8W&d4`6%9zK$Cr`$eI<4p7#c1^Yx4k9Mo*Vojcti7n_8!;{X)y!Tj2hTpic0GKOJ8zb<-gX12@K1Fs;H%{QZ*L*+t;3DwGA2lk$ zu5NmIT$X%c8}f(mi1W+VjU_g+?V60IybsM-EVzsd$etgBmcUVHkW@((vP-n%1!V4>C#fp zzWFR8>V&cSbmY7_fA3z@kZ;WB`K^`k3nteDYnOr z!f#)$;gh(2SMS^yU#{dklS}f;)t!+?=Er>F`zNMv@mc53eHpz9yb#{)AuYw&v-zz^ z$&u>DJP^b$i&gzwrG9l|^DpLeA97du!rDLXP8ueXyeTiAKJMcicYjvYfAoLYtPX|$ z@n9PZkKfRkABmYK`^z)e%AF=xZORdE72gT}LG|U|jTYcH-rvjl(3$)G#PoFjKXt|Q z=u6ov2aF?c^e25sFE+xWp%|}?I4bb{FMM&Q_UOX-CVcYe7eBKQ=7;|6r+22>#BA9c z6Cmo`<>{__s}ibj;y|w}-sn&K^y!{-Q)vlE!59()6R^oDtW%G zIa#s3^MRfD7;nmdb>^8TE+hMw1EcWx?#hq*O%12X&6#3{p4Eo9IT^Hd{tG{$3D)h_ zC|HZJRa!s4XY9E35S!L<(_18zJU22b`HnyK@pw?OT`ExirdFkNJ=aXlZRe81!>veYNJZ+@K zjE(q&v$T@1MKXPiAe1%2-+nmi^D_?n*yod-^lI|p9?TlCimouCBBCq$!-$NCvgi^c zHzL@gSd8w7qKl$2`Xh)hh{tZ68jm6)c_JSjBO)Ru`f+$XsEqfCAH9gZh|G?hB9AsB zaw0r>o1Op7*ON{}M^^)t_)yD<^60|)g41~-A3Y-`A_o6`??*7=C!(V>h|Gw?-kdg% z5+idWJi3hNiCE~*;`5?0l_&DiF`_5p=)Ugzk>v27VZO!mfPY;s{(a}$7`R*q^bb}a z^2~NQesDX@jOk+jJUmuzhd20B`G5ImWjp2L;N(m@d*6BLPZXTSV_l{4|L2H_jq9=e zgvLP!=29pjd|M+79T{DGWR8v@%hFWJXl)Uak)5W(CEj?tL^0t3QXo1~!K6tM*h#I@ zDNH4l8aU!3$HYRAm>RfZu584+Jr;=-EgWrCK&Z%6j)@jKEaO?Lp~wS`l?poGP|Ip( z(zF2_NY7(15Di_&9JT|EdtC7SptM?qP|49#SPId=w3!BhwJ0PQ6ev9N67M8dP7Kx{ zwluWVM7vyUWtp)6*9+ee#zd!?LURFPa;+vU51+#GVDNK83^7UY{E5)jb=yV*ZC#EQvwV*5%NNV&k3Ltq|6P;@W#!2c^VWn3H zv8w7@4jRCEDviChoEw`Mfl85iN|=DMhg6lIOEna#r4T?&*g43(NUI|PK=m5oY~K@2+JVXoC&U8cPWnJJH+uD^BG2?hQ^Je?KiFjXW?$6pO)x30 z#;=}93!&Q+@dOI7kQ&05dsgj8lB>L9Sf~8$*MU*U4PG4l3g+V;X0WG(W#_4IyGkwWzrU72 z+s!n$e=nDTSf;}QqL{!40YY+Phs^0{%d(~DQv1bTy6}=1Dd97nj|h%Rs4@P>gXMrC zXqPKAN_dEnEbF;h$b6l5MRINWVsSg`34#69!S`9%N)NNhfr!EwG!%Pcg$^u*+zEn2 z>@4|4Xg*bpQ>QaOk@4n$zNva(yN>m%e>E3(JgFCt0#@#6oKYia>WV5}l7Z5Vje3(`d}fxv^GI;+@_U1DbqSJ1V9{ zH1_brerK%{dy2P_&c)i{!GjO8aA7KA#u~u|Z%?HVWhIy=u{zjdzykgmMm6ewrHzPa z2?lXs!Az*VP)$h<{e_1i&*UGZC;hfR;zn?0@b}cUjim}<2xk-G<3L7LnZzImqE;HA z;x`>%FUA%MKFU~BRkYLP@@n3u!0;tHuEVX0M{ zqkzi5cH-AaY}|u&#xP6$Wq))ME+hard^Lar3Ph6+|7IcntIPgEs1hj!lLYB3m~&OM zlW9u_d$aYCY0PBnsu)2ESiEL}oUJoe-XbCxn@xnt;s#R;G=R8jNJxRe5Ui7}VfPit zrj4SWBVHi%w%(Df3Ik92%5oLQ5$UV-+Ly>1XP?P%!xfThp#=?uef~ooK~?>X_31#V z-l{)j$9UY>BdiZfa9zM4OgK1j2_jWaVpE`m44^n|#qLL9X^or!o9bn;=mke5BvNgi zH3Y(`&Bq7+*QMPrN|z1S$26r*=&EZh6lt)=c%`r&u(lL}Ry4}A#t9`8SOp>Rqc|8+ z6sK0tUE|r(g-iEPz`h}@{xNW-kjS0A8=#<&tlyb6)rJQ+%CR|77TS80nwMmz7Z(&IVT!DR9q2?-p|yC9D>c|-36`es z>PkQ(!a#;GwT8ZPezDDhj$nyLhB{(_kTSJbszDtHQ~}tGH)@dgsfW9?rj%mn;m_BW zfw884A=D(ah+>Q9&P(@e(fo&NnSah9e=!;V|?1`%YM(v0uUUvqXJyK9fbzDtW+DQo2Ne^E=zjYK+u z-<4J!Yq21EdJSFA?~k}Ln_p_!#e?pcF;sZ}_Ru&TwpxT38xVhgG@2R^F%5D^N0moR z&dKP=XHU7|iL_v9XNo61?FI>+%sdiD!ww=8KGH&0+rvjWh&qunO|M*ffD$9s1y(CN zNWyk)&Bb(_5!Y$qhRmUeF9TYglz@Z1i&K20>)IQJ0+>@qAdH23eW+GrSP`_7Lu*O* zEVNNz8*YGWD7R6-mPo24=YDDN6b^umqwF{D=H620T-G#H=%8tCfRr*V@{z#3{= zNf22I{>+a=T0^OuF{ez^2A-By z7F;W!kdSvDZ@97^@Qz5am?9P65$i%BKA!we{5c*E9}_R=i}MJxd6H2=DTnyZ{RAqG(b9G(JKLMtVc24#hUsEW}? zW3Ncn8LH`Tn7EXZcAC|=v{)ml-aA6aICmMDv6?b7y?*R!pwBb(@8YImEwEA;6i_q3 zf!Ih_65zFj7C&^&>yci|c@H8+)ZULgz)+DkATA&p2C3gFURK|Xk0~SC!Ly32j+tvy z)X#T*$l3_FbeL5iP;I8i2tlQ#ONy({4gnD)VmLYXAkg|9&>M9MJ?JSdlw3;{R#7C) zFA4~8Q^KOy|C%vNK*H1ztPJe6ajvJd=%Ts!wvcwu z3{ce3m!J$b4p9u~Yp+Hxjv)dmg&srvh(dZg$H)SF=nJ$(cQoF|EyHm+%vTU3^?*{R zjYL!KU!R^e2bz{id-dUKFusG+1j93n%asr}h;aBNLv&_NbF9X+N!5Ho<2aR?#M1)xAN0dvJ54X(Hv zPJE-!)V|4SLdL*71alQu6U!Dt?5s*b&^k1O4HG?thUy-{)fPBZslu#{n=X+UBn?tn zoPbPb+X37h>A3(Cg*7_js#$NjMo`Y$GXJM6o`Jow$gwq(Loc!1?THkuEfjF4VhRZu zjV?YOLqEsG_she5J_UR)gl{BH8}ETseAj*q)Pa#xL#!|egDD+}!ph9>zT3RPN3^m> z6A3WhRU!6A3JGQv;{1%GH0ZoM~nblAQLOi{^`-B(k2gA z1&I~1P91hn3MjJJ1(=#X77!2j^P>8jNY$%mhv44VHPT9t(ZE6gGBFSaa1q8@@ z2?b&b2?_DpIP;92?tEq*yxJcxTmWx7@;s@eas&aEE-jiEghn7$j#k1rKG3HLK5dUC z-hir8mewS&du3HoMsc|i1tyJp(*&QkM;oZYMpz7{Wf~L-dSyjDnOG@?c+`<9(ZyjS z0S>CDo=}l7Q4C4yk|Qd#&fZCqMi*eQN@)pWVbw_0iPUhd^InWOWk+mbU=dyARNIL5<-PEP%5z33F%#0o)m{Jj%(@zIMlJ0O0hVp zMa@)VWvQS$XqwpHuXILwZ3Gg~D7M4_1!(3aVW+fCFp#~fH}1Ek(@19VM_)X63%g{f z%yJbVDem(~T@^d2a+0bxFGci7;Ifjn5cUbf=nF8y+fA9wDXCjU%AiWISHJ0V;_)%c zNh#JF9A!T%#z2=?`ic>WGSC#h>NzIvIeP4ZBSAwmGrd^G##Fdkt#%8D)ZSOZm^dr^ z@+4(5GWE0a0KCGYZdCIRb)LWWb&U)?U;c*}hYi_U@um)Hfd@g!;)+PLkP2y|xj0L~B)0{{g8GeiU>003W9y(%dJT+%M^|2DJFt}aBH#||>Mz%NYo*bxVTX=7*w z+yTVInPip|+9o5r{Xoanv3``qxc0jvS}b+uGGB)4^@4+hOShk=u7F zMPzY1hNUF-CPT3a1}N%RSC zOJe>zvj5Iml34t&10TqR<;?PNv9hmm`1iQcjNB!^u35m3C1;mV1tnUz<^j~6rHc;oSEBt8@G zoG-t5PVU?Utb9x?j4b`F-~1{YMQ$ek{tYf3&m{4QzHhHG#F-~oBa`B87kED0phHDT zfg+B4X#~_Lk!QJFP#Z$qO}^FL2@W2Y*D-eOoZ4vgdoM?ho<=r9haDOUh(4r%0KSmHA$`Tj3uH5iUot4NhuL?bWUUnai(&zv?;{J;E$F_ zqDFj;5dJ!mI&@OpK4!|eWJ$DO!7`5~bTt1AZ&600C>AI*H8O$ik;bD+XB-hSSw|y%stGVINk*k{Po3up$+G1O zEU7~h$NyBbo4?QoXN^@aO5WUQ7z^4c#d^sk7dxS%9*d9nw`pWRwKR4 zt_%|54K+j!?ZJMqWI#^?YJM1H$|9UbWG&W5E3_+QozSy`NPA2#t&A7;zKe~UW-=}f zvqq;pAadw6fq?3qhpxO%(6x~LHHGB#%#8Gupsn%6V=?fr#o$CF){Kxo)w0#{N?K+1 zVK;)6Q+8=CMWBs6HBL1~5J}2~buO?gor$KSx5AQ9B(SRSxn8}F5P>jr`0uv1e@ha#Aj*@CVYB*(79x_&`| z7#w^pvzg&BlzLIzlm+b93+81j#A*s{Mxomn7dxuJF>r6@f^r594Gt&#)Jvf*d0H8i zmqe5~Hryhbih@i`qioO-VoFmqrl(K4H1@*@)NGci$vdUiBO@0J zc@xONm6^r7$i>0G_So;n?{M$td8Sl!=Huq&qj5a4KF+ehuuaBeBpoA_SW_A9LLakf z-Y6F-XJ3NKp8p#II<~#fsH_q1w*c> znhyeJnXw!q2&mZbjPPG6wMtxsYylX2rD7t5S3{pFgG}I9*5NnAdt@(Tl(F%13ZR)y zlYtwLIe!d)SRC*AS-EGG>j`9Ks(fe_kzJYmfM5qOWh?RZWL2Pmaf4{IKeLcYN`)k> zvUFn~EFND09v?8KgGhSS6b+Z?_1d7?Wj`~X14*Ima@fODapkr@zud$p-}vBtGWez& z*PQNbr!V!~@uN$m1F19f^Eu#=eRx(1w^a0j%Zu>hv7zppAy5C4 zPRtuWLWPHEJ~yN<#FtY2IZ_|tH^Lu;|35K#@ZX@PhF)V{&wTz$xq{!<;$URpad2Oz zI)28!-pS!%Utk`1kPPE^oxsS!zQOzWtL}gJ;5sLisv{?->o4d+pXXwx7f2b@P`;V| z7#Sb_{+9>G|K(r#HwWtGuFkF5Nc}?pTz)<05B_RPokGqZ`Ul;4c~KS5vf1>;!Ml-n zr^?f-53J4D`rsa_?FZ*{&zLtaf95mbu7)v1HuOeL!S|^|QhMW`Ir#oJMGsz_q&j?! zkWPiw@H6UDJvZ{^O8lLl79Yj?X5u?8EtAW?iSH8YzVYlw)AaeG6F!6~`sm_;`EtHF zL1#UA=;_a&&4>OS@72qjzOVdOtxxrv{+Qa%m!fUiYxIvZe&Fxm7e{Q| z-^?zZXD;rNIEs9E@0N-sD^7~lF2AP2R>Zx$9|@7q9?B0WwN>~CLb zfn2SONI&HFTYs*j>GwBosuwGdk65jx<{v5D(8FOZ)X$~U@EAi?5`D^MmFG81kt_7l z{D)_5dP2q({^o#)xcu%&F8A9UPnYH+%1op89^~ zA1;c@gFx$rdXe#3%k@z|4w9iP7b;HtP9?u9ax==GGUK$CgWdw{JvpNyRmq=C6gXcV zU#&9I@;dnJ1N-!5q!ZI)%4O%`Gskt%pM*uZ8`8{GKvae(V!i?5HpCfo5)ii`*qE_^+zmv> zhz90wAU;DpbKy}qA_5N|!0ICBG$A7Ysoh{X^c-1s!k z_&}M5%*=e)=NI5~e28a$79Ma=Kg5|MbmXFee28a`ARnTH2YQ}1rS^bg<> zao@b}{}}#D`hjD6U|?_Ck6-oOJ}CE#3AOq?&za~wfP@83FOg7c*>uFJ?K4;awZM~B zI}&I9$HjYN*7~Tw7Cu)b&8{B4t(?Re_B58t%{A>d-k3h|`8XO-I`=Q}joc6R&Jh@5J+K5sC+&XiLe;bdXsgh8kPk<+w@NXCYU zJqvkmK5EvwlpF)ngbp!#D}Nz-aClVWJKl}E^VgX^(*~AU^%72gkDmNzSx2I4G&La9 z0}<>Ayv~R83Qf7wlR^ej0oI#6Nh&Q)2^aYxtk7XgN!P7on=oxU3yh#G`I6YsNQGFM zNGCImg$!v1S>za5`CGY|`aP#510QDs7MJ~|GmfgL{46#LQU)_)XL-5}5d^nsl3Yv< z8#?5#$VZKn=&5@PmnX9PL8Bo(43etz))GcDTv0jg)P;qoj3rLLM2T5I=7rhbQm8mZ3@Uv1%P!{ znc91sh|-WUZ>_Qhqb)u5G?0D{?7tn|hcU`2)n|wJEo)t%wZF0!XpJEl|2kJd;`*68 zk%@lP4Ij*U{dYA-LE>$3p(nMTsqm?7CcK1fy8t_GCK?-}_EvmP89rD2xv*Y~Rf9F6 zTN!HsHA<&%XBjP(DbVFJNN$QfY);1tEc)5Lwa7&`o$A^O*Th3R0#+y3Ai$}@qnzge zt!*MN-IO{6MO`<0vS;tuU{{@Gtp*rV;P$A13AQyy8aS29w`3**wn^&i7fK~VIcbA~ zz)fmI>-h8S-E%q^Q!=-&PxD64JAl{r46>C;h4HG_Yz3>qiFAOsN(PynkIGXlT7$jFbGy1};r{`gld#QnnRk(fwPPAycum)jjmVb zZJ0h`s1;t>cLOgcXOs20D1@fFPdy}9MW0q~C8cLpBmnke=4IE1{tzo{ua4ka0hc}d zTbBcpTU`@d#BB`8whJ}}!A0}Yi0z+Mr6;kEb zvo03|aAcH1kwsn|lr0RE@@y=QlMLN5=~cVUe~4zR1QgfVkXom6D3MtK`B>&K`EYi# zukt2ZYo?G9Rkocn`CS6q@UwT@B0I*W$QTMO_^V>jRU&zH%9N>USi972I60tOBIz3! zYJd@e|q_t}Xb^;mUgFTcu#Q~Rll(G|Le1c0_q^2ABLnX|tD z+r^8Z;DHN5M(6=I5tRJ656&BGRf;NxqeGeUebaHu>LH<_Uxa3j!Kj zJ}w(}Ak?<>y<-vAovnu)7wJxQtZ3QFKd;WI=SRnL@xN=P;}pb5`QOqoZ=tV_?2yNw z8asA@)mNsB!RDA<9eKwU*<+&7kbFp8+};GsH#udE&dtr@xxyI(yIAerlHApWpwn=h z`V7PLij2GPiK_$%7M0hz_h1P2e#l$%ft$dQ?8UeIeLvKt-5zOd-0Ilh>pBDnU56XK zs-_5ehO+xPRbG3DkBPy92ZHnY+Nvr0&EmH@RN2}Ut^gkW9qVQ<1I@sX#lZrCY)kS_ zultcMt-!9XCOC<-?{!CzP%T?9e9RztG!hw!XzR*(C)mB%fP1N_t$?u>z&qo>tWvcL zS3d4B4BVe?fi+$c>c+|b?m*Imv_v-#NqOu)*OE8wYzKDkC3uCau(I}2dsasw0KryQ z)iuQcSd&!=D%7UK6I1lHe(dGS&YprE6oY?A|3~ji*Pe6-GEMCx#JkpkYNSa9AZZ3B z%uJC;iD!P;jmi^fz3e#<6a=#R(q<;!*r_=j8JYVZi%5q_%eS3v&-CWy^H*+lvB;O3 zfh^}T0m-?o*4_P*^J)1XV<(-2O_3`6x;Cju1&LLlJ+&cajCE)e?(WqROgB@G4tCg} zid=cHMD(g|>~MOBcfW8PII^ydp8=6#9v&|a|8K7(da|vxzZBY9tF#_;AhOod*QTQ+ zWjnY2<3hgeu;xrYyQwCUye^pdk?tjKP{!$=*|#kZ!Y9E1>YZFXyLd%(8_4si{vs zUY1FAop|L!i!wv1|8JO{$l7@7M3XGjXSP`F>3%mX`sSIP<5y(ieQ>#%DFVcqAh*6b zQD+m00o|pP8jHH?izv<#0NPJQgS&Vl7?p$V<*t-&t^=){UMAzJ$0lAW5nsFO1Tb+j!=OyJ8%CHev?5ybTb@HV zYV)5lFmXC0b4A|EmSMf~FxfVB$XeZ`B?{GhrCn!ttm8nDpRdUPwa&dPndNO5Pfx~` zS#M>xsh(cbsw}u_xw5kRBoyL-6?Menac-^C0U|3`Ls0+@OpR3>Jz(L%*sB?xyBuf&3bth-S-_!D6nagu zkGZeU5*;SU-F39EXgo$uzt-p`4B{bp{EvtiqXF-<-8Ol&%B=lqVWukDMK>G9;J#FN zdT-~V_vSr)Xk$%@O&8Vy*OVRsPcSN8@bWCIf=CRM0Z(6@*6BepoBP^bwO$+;$m5aZ z9nMlPiGtnhdNN?o1b~QbRY<9$@#|g(mF4a*#QC(h)r8_$7&i*^siXy zN2(|Vo=6P~cROKRfou!<m-B>L_%EFBa_9otDk3w$l<$W*Oc5 zZQt$HQP{ryf})b>JbeF)XBMo{d@+qf>@*hDiY=9OfyAz&>`r4WWrbKrL8_M9fshnt zDq6y`8ro59Y&+Zb+99h-Rh_3!v&kVz!<TaD0Z4X-yKpntT{cL^nHs|6N? zenfceQ0=$6wwtUSo?9yb>e5Rx0Qyo`IIW8G<)1E{zDs*?(TJymfeq%D(Q(ZT8)PQ>JmZ zUkO4-E$z7OOZL>QvgWjf?#qCbOk_3P{v{Xl_M5x;eIspb*!O+7Bo2 z?~MV79d(H8HZ4n=HaJ?AHzz$wVfIidLE!H(StfZia$a#CTLT8flCDDrnYDA#0eTg? zBnx-BS{TI@5OIQ5}gN9fpucLo6%*oV6I4nl1vdnyVN*TW<^=?mX(j>+nr+LQ~S$SyvJw_0SH9| z`ccB6SCVzf+jfdGdbtIXO;0r$DRi`RYzL2z^!>8;0~e>>az(Yj*xz8AO(7?{-hEpm z;vsKZ_OVsbH`M!F5NnLVCyIvIx~5iI3Sy6|wIoA}sA4g;wcFC4&H_h^47$-|Ry|6$_@byFRQ8rTqr$=1mV+JO+^}vQaH;dFWgOE*!9%`BL>b< zx&s~cD=OA+HtXvWZorWpdV&?`3AGv=OtlJJ2k6|}d$UI1FKGfo#NQ_B>IU~XYksN) zTsSR=$|*(gM$6J>vJY-sb#Aqbi(1)5v#>_foTIQaK-W||Y^eR8QQHUHl6~uXmj8^N zwHjPZIW&OPT2;FTNnrHiv5na!X)Ej=wMo9&Tu9fB*}BRd(ssL@99!7k7BTVYz?x;@ z(w{io|IX*)VnHmZM+v)0#|N^x{bF z1wmMn(EaV*nM$rH3jk!d)0L)L2~L1;$t$8YP4`wT9_ebkS7o-7 zFG`?5X0_t?Z7PAPHidNG-**Czrd9Wq@Ie3)JeJDW!^$Vw{Wf#!b`_}@|L;&V`KH_; zOGpn=N7~xdK1XKqT_0piH67e9zN=(uzIZ;$`mn`p&S=72wSRX?5pTM&_q|*pp_n2R zP=pbRC_)HD6rqG7i%|RhE1t1)LnRSHFG9%kdFDwGQ~0oPy|O^%5L>=^z4WJl36DfQ z*YrL4xoO#dg8Oz~G~-DRIZV^8=~agk+d5eT+IY7><-I&#K#BKd6m?2yx|cW&9}zNg zUSy-1Wqb~~0s|MKH-nC>h*L_~_EXB#2!yNY%JuaH5#d7rnL#H(_(5AC7r z3zPa1W~ge?T_!yXlg|~kx7~xs@3@s?(QVw;kn^-cAG#z<(^R2-%b<@iV``g9JxjRV z-j%jRuxm^90L09TvXs$8Dyd8oiA6|H1V#@9h-)@d0dTR;u@r+ss({Q`Ywi%Yu4Rcv zmXwDa3R_mVCXQM!>*b@w10W+rVE~$O6s1@M@HRj&K;hwsrTd-m`^uB6I@pO9OlFnw zygMiJMkyn>Z%SwvddQYU^X;&T7$j3z$%!y5>xUqvDX94kP}~Zcqh=s-2o0JvrdR27 zTw6l$1o&M_xZiz@b?Ghy6%rD*K#z)<-A)RaMyD3zwD2G`&oVh1klfm?Cqy9Bw@8M(|?R_Q2GRr!Mj0H8I zA#u5on7PT2fvdS+npc2SN`tz{tpx&%L`EIG24Z1g;NstSSkHvO;OH}P@)->(-S&CF zln4koYCn6UrsyTpQ$raKngy0PsFgWtM#4BV>_49w7w7zmi_%eyGJ>&?9ht5qnZe*pE-zf}mLKP2yUV~Z`h6u)6!d(*W zLWr}t0p}pA%GkjGUV~a3p&VXfNWFbQM#WY#S^Z1rN`Jw_60ZU+EMzz&7m~mko?ww7 zP-!VOEhY0xSlVf{a)2uUP`E)#7Yf&i_#i7Z6c*a+Xyj6~L>y=xoiQ4#?KReWgqA7# zr=Zs$7muvgxm8I*+W=lbp}!1hkFZx7OQsY7y@@f@prJ*ld6x>4dr=4zmhS{;)F&f@ zO0W&=sr(!Mi#OT0EwD{kJENHCj0zfV$BGu&Od8tpHjH&ZhyUe$6)*rV1Z8tj8G)6a z%)k|!Xw=$f%&loW8Bl+J2cX=ul~9#OAqhne+gYyICH&{Ban zoDUVq7$Fb@I>*7^%CK**GHCaUW!C?~P#cBc$UI&59q&i;!0s8y4gy5mD6*VSH=)uZ z7*iW7?4 zt3^A(4GdZVKtk@yKtc@!Kv+o3d^AV}m@65dos9uGz`MVy@%^VQDad0oX%4ZO}q72}dN-#rdjaFf9wi$5cf}psB2^cjp zgN)9<`Z4*Lob$T->du;OjV97W@DxT9wSe&(D1}O50n#EINZe^Ch=oITyQo zf_Ww+@1`i|Q6PA`NtE~**C7Cq7>>Mgf4sde4xMl7P3XHLBP9Zj1ZJw3)^KX^fXGiI zfG{ZHKnSEv(3Hp+BzfdPH1VqiZd?>ClevMKxFD%9ky2tH9_z6PLkj@oMN7SPUsS*{ zLIYn`2@8iP2j(!XKlV306iadEh}3y%VQ3rFJtb_R3o??zwJZ!#JThGDjVfz}loJ4w zT*Ix1Vl+=wPsv5V#EG{$JFhR==+_J`G{*8gA=5uw_#O+m8X3h~&Mw=BLu#Z}UcCvS zgu3BHW{y1J;LKxkp>L;P@WSaFlo2o2O_jG{BE2JL-7hJIA$M5EpUSr&vjFPU&UPfv zoEjK`qXK_HhzKc9<_p>1=#9+a$M5p7@lvK~&S6Fy1ZascvLog;g1HSl!*D1WEnD?0 zh!SK|J6w?(6AH95)W9BtlPJ#xgt=Ws_s_O-i6Ri6!x`oS=mq&kHL z`<#d6W{Z`rHku<{gdtsx!7dUb&2>`exoXsjbB#ueF>R#61keFkW3`x$G9AYj=A3hi z0!64!6*ItVIM_kd+rPd7(Am21g6~DoKqp80iRWYxBk91484wIiY_L zNT&=;Q56P#z-kJKCvu_*)~#<#7JWs^^SDzT!It8{??TY5_5Drm+ZwG2C#y zl_^H>M?TCBZ^9vdS3>dmxrnKENm&$9qUO|ar{1%fRNA1Wj1Gn@jsn`_gorSqFmh}r z&@*R+MjA?@w|5128!j7w+k6;1D|G2mCK+HomcFwn7M*2iL{^fHpqML4NIj%9QIi}n z1n0J;I`Rl#)%DMSu%Lr27Mf(0g`#8P7!6O8H%JwbAkC>2xlzRJkeCYY zbG|+YflRK&;RQ3Yq5wHUK%lU+oKA^YC?ef<5=cP~nyyGnNHk|?MO)Z8+}HLhJT4IU zNR(g)g%%)Aj&p>ri{4ztMg1YzbA?oPoFU7Ald!bv0P{0kMN+}HM5 zg?IAqy$!}#;S!vaxdHHc=K_Obxv0e7nPDksGe7{PP*9@ai0z!lI4M#K=<}ZO2z@hd zPV;-yhU+aOQD&HaG6h8&%4Lk<9W7LsZi!Y<7$gx>2A4|Z0aVn`az-Nri@>4X&6~?b zfP$589A2O1%)a@UX2o4S>g(|6!g)kf+M+B@5rn`YX)>7Obe&mQQuoktWOH{mTp}#s zHK}K7XHwKesGchzjiCYhUhs;_a=M#H}>jNIB z&Nso3YhEj>LPkmq5>Z^wIgUG7j#Qj!p9OIZr?%i>ZW&X^Qg{<;Glg|wMIlieZ;{;R z6;wkE;ElR&_0S27rMY=AQ}OZeakud3_6AG#W+(q64{>6tFQ2|Baz<`n9xoTvHdhXb zD+rrWqoPK+1FbcA1D{CVZbWEsieAk{!D||G{-aJRT-{0(_o{!p)i0>p&<5rMIXweO_v${mM%WmlT44XqACVW*4Yrg#}=g3*q0JO{xYI zboYr6N{Dn)A_l_9q1h0>pz6IZW_tsu27X2sB}Y<*rII0y;t`@zX!9^Z!ec7@ z%v>*Z4?aCq0Y+f&dG*M?=QPsC_l#9cSt*lC;$&J!0YDLj@t%SdtuiDhn;IH-NE~UU z{TCdJ0AdvJ4Dfk0T6R8?2q?XKM5o!_!rx;V?q#=cNFvWRy4zpgGQ`dZV1yAxx@i|` zVG8=@*!v{9M!KntAZ4}%8~bJxg5v+V(upwcuv0uG_v49-8C`H)ud46sf1Y!RTQ)VF2qT8!9R3FbAR}f+V!c*zg=l7b%7mtSG z9CDn?&#Ki316WTr-0+GNmA*5348O3DhK^O3aHzNDZ;|$1)S5QI3WX9ONgrg&z>kJu zfGgU9@f2F{`PR^-UNxTyr>>uUm(0T~g$(?1{t=;LqSY4QjFwxRBSdvRotObEl|#f4 zbnlPaW(WVH;IhxWprHGT83S(|O?#&k5~`k@`DsyBO>dA^5~0yzM1lmc93DkqtJB$t zl+5Eew)32qgXQF%wxf=ZTjGoiwVvt4JxQ22gB5d&+sn!b}m^NQn?yh-A)g zklAUVqr=f*s{&!YvQgl~5<`VwTS>X?$3|f^3P>8JJ;gMfdLnY9IZ_E|5#WK$YCIFr zrlD!J)sxl02&6zF=m!)aoyuc0B|u_I8-3QYZW67!=nbaTWu$m>86nnCskzIlUp0Ub z{r?KY`BV@L-&~1ppxJm3sS-}cUUDzQo|v_(zgtKh3n@Zo=Sjn5fFOk9YJtEi8Jcli zVKO$-e^9Wy2|B`5Q2IH_)SV*;srp=qqUd@U3K)eW%3XkrWt;vp`GI$EhJ_gd8z#}U z_dP&`T^|X7M(Hv7a~{i}fUVe{-GZ#bI}CFQtN=utEKYOZGZDwF0Do{4uLh7f++W`@AIF(J74|AX(WdP#av^Z@_Xh(z~P9&0qx6Bk(7s@ z);oMOMDLKsW2qEN4G|cNh?F>i;aQ*&Q@A%5IF$JBVJe(t{%FGTHdZ3e1yK*oz^K$G zmzqq7yuOsd7v69BbK0-t($xWKYA)Gde$!;Zy^d-_*99oB4rI6=TTXDhmO$JWU4=sW zDR3=l5+4>{cDUH{_$PLJAcrGE+(c=q5Nm8o?#MAQK^a9rC#*$jo%-l~g1+nP^Y1ba zYmN5iMuCxpAaD0= zOBe0g&)gqWkRXPlh7g1*Efd2Exu_;m5#2lOTnIrBp@zh$;|2z`4wZ&NVW4^;&+XQL zq~-nxFrXoze|fY(u$Y!B{7e~VLy=YprIvf5MfG!$%M<4a$ZI6qBQaeP&O}7x4$(F2 z1Y)Nac{sN$Ma! zgDbQa2eyGc@r60G$$6lCo^ZMunpfPgP_T(r1C{|O^slkhC{Yz?anouCH#OCS$_*@7)`Obgz(z^KSyRKqx9?1d1Jt4m0RDRJ&=4+=Nxoc^FZ0 zB_CE|U$NEZ4dt*FNkmZ}Z^g1m$q2kmr;Q(p_2tGEZG zVQMO?mEA+x5DAR*%l<6MS}c$er)txmt0pbBB6I zE*`+S;9D=GAc#aWIqZ)Bm@b_YtM+;cDZ`30fY;lC!ZeeR9Hx#mP8o<1fO7?~_FBjr zQzAwQwophUa-3*Cw#?afr8J_isMcA(o+c0!OlgS_J(f&NHFNdA+?s6;BJkz;&{Nte z!48rIMP6C8M>8WOgnSN_*E!AlOb85u9vVusnZz@MA`xr?*3qyOi`R2>v=FG!h-ONf zr4c>zRZ~erRY%oN)yJG?iBx&AB1;LMtyhblcmw7-g|Re9Wkrawxqjs8qB51V$2KMg zyJ*z(?0mX}$4|~;9C*G&+&GElxi`uSZFoNoj<$*(eZTE6n4556 zNV^%ZoDjzvfKyO#qIs>8p2NUF;w^)DgrdOb5DGJ?Qvu>-61C1tDxX)ERZ2I$kyMwW zkWq}Z;54rW%;ohAa?)4ebhc(zbU) z;rP2<`0UK@aE=r1;j572Wvrb+(1`*A8$ApRELb-73=`U2H%29a`Nm^Fg;1S}_y8~i05d~SG(ZIqNdO8qyaOx;0Z9|2 zCdQJR)|DpE&=j_+N{Siie zyhpG8(7g}s+B|-C|GM^vK9Ak|+{<2{egFA=|97UMhCnT`$b=wB1R;@QRQ@vFzDZar z~WS@z$!@{ew*L-nowI?fKqv^imUc?KrSG>ORuFX68mzAH_?AG!; z20{P5-|TgFcaV4=_rsjKyYmWXp?RIRCaePyn@gUF$R4T*E~p&|enoo@(yO;kmc=v+ z!cie*G`5;2+ns+}rDY5^6{W$tIlX&fqosOH|oCmJ*JUiRX7l9kbztUA)3>TwyPfnlHtQsz`;IJW#$q5Pxds8!xGZgnP z%I|wuGNtG)*cs!w+ku0Ugll;^{)-bOTj7J7!CJV`a5^6=G-x0s>cGcvC!YBT?nBHC zN&l$4J0p^JI%Zf5rzx0-K!i<}9NVG?Va-^hY)==TbssdwNj1E<@i8yD1x@|1BjxbL zj4#UWdq?tj=Q%rxk00qvW?v4wUv#xsk^z!#Ml6ryAAc*D9iWA+XkQ|ufhJuSb^p!& z5`t>iJ-sOI{7CX|oJm|pkRfr6CM3_m&BLp|p9`PLmUJ;$_ZRjmnFlFlF1g8992L1? za}M1-96cjNNqz4~-s|`xolKZo>EYWNdB#mPAIh1pr@ zig!k_m}$*cCNg>5i~k|Kqb8D^I>|*lorb2OmrG}RdB$$x8RcOTHC>F>J=}chHgTCu zU?I#?)EHfBQ1!}M&y*$ip5)!mk8ZORXGcc`4S6}47cT_E!{r9^nbkg@-LrktuRi-z zFI$WH?(|R_ebVO&_Xfi=bGR`{g`CJTN$}u1#%|wF?-4BpF7iuaKSW)P$ZiuX5<=j< zagOgRnfa}p2EJYU?1g}cNjheK!GQM)^L|DyOtI7{CMTY`k+)jNh&bj z{bx||9$Vna6h+a>J!gNs5(u86iWqPQ;!-R2UN^?Mb;nLdyD3Z&45O7W_284lfZKZ_ z43u%xTo}&M2v*LPVoLh(fpW-xxC{x~QZ7U8sW9*GxYvi&^&_h6=~3qoF~gNa?>C5U zCqbF>-@GRKs-tgwHwaTP*OzAf(Af0^O2>NLkI*n%%B1BXvX=0F@9-w8w+Zjdga!g4 z)KaLTXGWzk12VP1>6^xJCJwWRtUPI`ji4fcJr|`030R%)PQT4XzaELCtdGyIlXdDk zyJz0Xi}kp+P9M*F%PqE`vqpo#G~aEVJSZC-yKSWcWL;KWO;(0WqC*DwzYHg3qK+@Gr!YBRPj2oju8niKA!q5ka z+pXDGjPGoYh^an@)m@r#E*6I&nPRgCqouv)Ycg@OV9ViY_%LWvZFJWkr+@Wnvc8Sy z=7iMVyZ@)?z$x3CDL$MuNokjAPGmA+(GR#npx>vmmnW#M(%Cc>XoOvcsWbJH(TgTH z8Gx$lWTd!~!?tLZ7TQe6)Tb$@+Dr~On!(|7kdQE^%-oPn#&6g^EC@NLx!Ie>2xik& zMF=BPT{eqUS55QEH9Mx){FW~mORe#=`2Ne2O$w(Hv@Gyk`nM77$kP?Kqa|4UI2m zEw$FO*_pnd5+5`^PCiavEJXS`)urr&`fiT79h`RXoHN}XHTYl?@@x z(SC=gU4h2E%DBM4un;ajW#FWdY@#X(cezBx&;A`aJMx=pcr>G^Ltdhj+3I3*ojNFV zFT_nBr%e|tzE2IiR{bwm<9yJKMT0@0Ep^b7PUX9(Ig{5fM3coFDCPNCP{UX=7{X3B zc(w}hm5U?OS`HsRDg(@L6( zjZ=wC(qn|5Y3!K8=DdEOB9?3+lS)j(p&{=Xr;Fo3nY6ey$vLOfcK5<6;+Z?cLF=aD z8Kbh5-NRQ?p5Tv@$%aj4oslDK=K^;}Fl#*z`*4iD*&3^pN|RBFCYg2h($2Hpz-`^8 z$~a@HviYYGsyMQ(wOlcEFF#SrBbk8{qp}jbm^ro~$`riehuO)-Weu%G?R$8aC)MgE zk7`;e`vEiB&EZ3n$%;mim-Z?I8#DDNw@?^wo_|04p3wb_C9!;Y+c1AE`INF}L!Medc0V@OE^Z=EL11JuA;De&uUENx2M0ZT?0#WLWJy3^Nz-TY@9(D~HsPkkirL z-KJBkc2Nt=y=yIz7w8%p$7=rjGFEGq=--T_Epv&w#x-3A6|*d6%N&RLMjfVhRY}NB zQW+gDZ3Q@<+pY_EV`w=-Ezt6GsweTf$?zk~=~ZbnlU0xDF)7UsX$5bE=Ze{*Vfsq0 z7EJ8a$36RpZpOv_+xS29{FJ>UzvwLXATiZ5rn}Ux&ktP-zh8&&i%Lhc!esVzh`}RM zlc|ozz(xc_{sD|Y8! zd!b+R)Tz9qdi2)ke(e9D^sDVd-tRv5rM&o|9HEG~U9@7%MDV!0NY)D2o^!&x3C?j} zm+M9*VxkvI35Mr9`@9pK{w@`iom$m#?*mIi$<`^b5%dNEv z4bPQbp{KYpapY^?P{J+@li4m(C@qnz?!h2&v+Q(3C+J0YXDiJ#Tg?pWa*oyV zrq4isVRY7yuXHjidW;5zrj|E0U9xv-$-+)*{kc!(2E1aNJ7(f;JRFR~dUxTBrIu!- zla=g;t!);C!7Gh)EdCMqStt^UX#V^Vq+fo{9Kn^m_+3**-qV7WfR6rz#;m!qgUaKs zoM2J8o7E|qqRwP2FwcS-m`xny1G^2D8d~YDm-w?riDM(MPGeE z6{k|(omm?Vw%0aa2ggqA*;!i4gHmH*)f<|(|JGzTPR0t)7FNBr(iffDbNJ+bzIX}N zA&2$5@6_2JJu`7y4&BY8@RIAc9Q13w0))1}kmQYuWs+o?sj@*{`@dSiNLgWjiEMAI zV5!&WlIy0WCR`L-VO|b}2{ooNXpNoL*mf;)Oo}CGfuVBK2cgbBp&iNAI0VgZ8R&=m zJu>1!#j~_i4XBi8F_Yjb^7ONx-Qy$z7S|Hot)6%xg2TOj~B%ALp)` zHJHpN-N2_A$!)*&ceYKoE=uscHDJv=2x<7c=jq8Z@NquM8|4O>WdrJdrFxk9;69@G z98ZRUPmz(UTux;$i6!$FTXJcyp&2C0bzk|#l3FwdQfj-9^0rAw^y>U4DODf2u|}_? zEz|U0X@1@Vp^Y^}+-5`p&9b66uVLjDTk;)hdegLR7JCZ}`W4>GIkqONp76QGz}^I^ z#V+jtLNqW65i4uLj4Elit4rwg+!E1~M@y5~tLx}Gbq<|Z&)Kg%`-^X*-1Xc$W_j+h z{$Bc{hwOR}|M=du{A2c6^Mp#um2b%q9O7eK->1SmC@&}yl$_b;>Fsv<{8ix)-mO}X zU)gN$*CO(xYp*CpyCs@5esHwrp|`L${TK&tORytaaY-3=e@z*OnJceDkG@@nqo(gP zM?3a1Fq=wSk`A-+rcJ{RE!Ruf$rna?A!21oWt~KuN4X4rMMLTorKs;>D--?R*EyS> z+&&mWuKKQ&oxh;fn|JfKXxR#G&fhS~R2oVg!!A=jchy1}`uk5IImQh2b=|s8KhU*w z=`Vg!WQW%GqxU}X+opK6o@rry=|j)^?r)A7>$8--4BEpg8=bn6CYei9>^U$y@ykws z{LQ_?nhiTP!&93|<2r-)>a{d>gmMczW<;{p|7rCJZz<|%!ARsJR@Giy$1aMr#{R0KYoy_pUonUb^(bCm zN$*8&#B)TOlH%8)!3!IX#`h*ut&+=_PB+yd_`y|As#zO4^~n~V+pvN@5d49*%0zQL5lt#Hb^x0T z`1kux4g^y6|65{{TTcNCqe*Y*F=dbaR51 z->r!FO;C#4-9!Wjj%frZLhPSb z@1xdJl<(Hw_&sZcK|rojA3w$biaY+-K0d6y$_*QSpXf zksJhTl{BZrwYdd8xX_5R)ZVvMqEh(>l7C+S1Qc(E>-GR-_@_BqYweGcRwS()f*O5fhLp<~DUHF(9S>CXLs`2S% z(~Fjo`nmLgk>p+VP+GcQ-uz$Q(jqu5ikVAltT(ikb*rY`U8l`8_}dFy#L-mu@y>jn zlcvx)dDW3PjI-6Fx_51$%kv_hQDr!T=KsY}T}Y)cV_iK$6{g@hxo+zt^sPO_vvf^y z(aiTZzm4yWYvQ(;Q%19w>IzNmm}-W>ZU3WpA9dEqH@L-6)yIuSS#wyX3@=_6oypIv z26E8I*UgzMLOIeYI76z}G{S0{<5ib0!V!;HN%0^-cPHtR8>-nAwFNXId|36E?Gyhf zD+oTyy*aSe`4oSgvfh|aX|MgU`d_(aj5%)AAOxD-TCIyRR-so}Ve{$TD%@~eY||8* znV0g|i5>ehZ@Z5e-C$?ccpY4a2#}c~WClmNXY=YqqFcr++bV;>zJsh}o2!tlkkD?) z@W$`dP+y3AThBye_$uy~+`KbJ)z!zV<2p2*Kr%4Rr{rc;iWyJ8Q66fID)hV)RP02k z=+s3DKFZH+`<>8n&?4$QQ4 z-Q4l>bKVLgprhcg2%67!qdO2k9(S?%F+Fb9g$V!Yyr)tF*vj2G0FR^=8Jhn(E-Swm zrnSP zE$N==4dCZKtiOp@!!Df)7ta3^NNqG2zb#btK7YA^5C5NwsVgfEP~-| zyze`W4fP=(t=o`Jc}wlQTiV&Ns*dHFnyifI@X1JrV$ohbg(y8P{U~*$&it)G#@N_a zjn7uTFCka@_1!v$e*2qOzLIEE_fNN8T#UWbZMt&*_-d)=N6VH1yPwbL)A`KhtZspXXSh?;IaG>f4rNZ1ih=OOj)l6-lV|>8^jJpEkB=xpo|b!~2WV^UB`2woE4G z7aKB_=Yota>-DSg4USxjdux5jL%juBR{+!lycudyPD7)&ol9**%H>|2l0bWX2SOW; zY=7eZA~L2thn|-6_ANf+8mT9Y$1P~5aB-zaw7VVA_vBOMH#_&Yn)m=@Jw?lEi#mB2 znKGa9ew7Y~l@!acS7pI3|BITm6fIaoPiBqU#!mx&{rVM;s^@qE+!vt>^Omp;i-xI} z{$!E0T^;$M*)tTaSOh~$cA-X^JX=rljkRFP!g-FXCWF2Orww*S#FoEiUkRX9mx=tb=ZmiI6S4Ak4 zEY|wzfjiP&+B;|Co2OH2WNPHQfz^qC8cLS!bv+IJEN6nZks#;}U4LbHI5GMZKlNns zI1QE+u29lKXWl%S!54exR*QS2Yx?Y~(^7t7(Vf~SeJFu(*L6FZ7t9~p{Pr$+u6kvQ zmZ}BzS3qd{QUaG$=eE4i@tikVy$Ea(y5ji%1w320gug=$8y{C!iUIj7Ea#00VO>= za`7l?(k{PSX9%gl@-}}oM1ylRG$I}l!~nPaRMcf2A<*a*D|DS3t^D=Fyf@s~^`$z- zeEoYjCUBiEwav3L6X#qWn`pv{&wbf6X#S~M_pFy;7#{ONzIkL4C!B|7xL;$NQa*Dodyc; zxNGwFrgj=fEv41aA2Ih~l)A+BNWg^K2zGeoq%-{yG3z)VBbl16f2Hq^XK`Qs?`%iExKHeq6;O0BWPxgcL-rzi&Upd^vnhNS z<7kP9_LlNIuJ#OWA7$YID#<*q!4gX(gf`_|>@{_( zC>ewzfE)Q}qs#MHDrv3?(V{6er8ES_Al)Wxq|=QvTJ*jk$90KXnMhK+Kq@tcXn%PW z-e}Kt)+(CCIop9%afucM&0LVQLe-L5)G9NK1*2ZJ8DU8#e|V&qHxhxygX%^fZKQ@E zwn(v@iR)wvvLaie5R9rD8MLZ{U}AH*w&yl6(@GD+%o7kF@+5?=Zp6{39u}fe18Yg; zPF5U6V|L;xq0MH)IK^cUgmfSpUb=g|V9mw>ihFQ8B0gqK4oOw11T$|y$pH+4iC0qb z{LbJTk4VP?IV7neVZj6-1z9AV6y{(BU(SNZx59{M13M5l_m>@MXp*7jnQFys@{sWW z&dA$N6%$EZV5RxIxW`sA?id3~k-}~pd4aswRKzWGIf&4#;zUAJQYJF|ysaYR&?=A= zp{uQbHgs?UVN|5pPSCiBRZaly$qNQL@GEp&OwXW{R)S{1P|0BufA2=BCbFXiFNnkf zTxtuD2q`EcHuZ`C4$0lAs!mYRewHiGL92FA^%Anbqz)M#Q;@@)Dx3k94l$?#LmY&( z`)5cOo{sWSsW9FHK1u<+x8ouZ!6|kNPMr&?&A!@2Q;4KB5XlECr^@xBxK@`{2GfvRUyLiyd-#6sQ6~94I6g4#^ow zdu(_q7_Jps2O~|8cZ@2z=49dtHm(xOiWlfBMHXnkg$WP}J?}md4+~z7u;5xX* zi{oPja>7xbIExesWO;jTTz=j%lM7)v)W8owZaJz8pa;(=E}IwJ$Rg0R_y<9eT6ZHV zklmKKcS`Ta*yJrJOM;`4oJBotTecZnLVgr@saGnU4~>=>EJTxI%n4h*cm)HOoiU(vU^OQ$vuU48Yh5(g(SQc0`(5BfjSB77&b! zagc$*JtL5G$Z}It1w_;fLJ+$+1!@{5Vt^C*GMOMXk7i@P6tT!t_rNu9{nJYojC3K3{B%1;qg|({hivMYys>!x-!lUq`AMw3Jh$ z9zQciFm}Kg9^4xzY$p}yh{(@T6;6w?g8|17s=-Q3tB7wC(1UaixqgaBAvV(R5e_wo zw*e4?Lhd>O`ZtOjxq-X_RRSBu3pge^5=4+wB!r!olDC6Cg{nX?P+zv{iETU#owW_D zw=Y-F7mM*ArvX)`8qF|Vi3$(tGvtV-3Z0EZKXg!_kU?i;d!grok%ycc@HuL# z0_MvZ3ITEv7bCF?q0RjKZ9SKftH`@n73XvbZNgtcmT)F@Mc#p{Ds6PjXxvkw^rq+HtOkLo-(n8b4)9t^xWv9 zMopjs6H<)VMgC*QFX`;ya$En+TRf7z3w9)k+5(o+VXVsM8f31sCHG^Y7LiE`2NMnfs2KnRv?k>Y|ig(K#8 z-+{Q6P>yMl6_m`w;AM9acUCyMgQJV`!ayKmNq-uzSV&k2;5#gdXk@`ygc;=}r!51@ zDiviB4bgt3jYNdX1zsvD2P43-5DF@U6k!m~E>9neRf#>HlkKql5!*}0WLd3Qn|#;$03h_o4B_rUxq!(&Y>voVs9BjcH~sZvb*?9xrFj6 zVG=ycN0b6NiM5sv3M9Rlirw}*8wGl*9i$C~d9Y*ndUIDBw?0deqzFR&(PW`xDz*Z70gHm5b?S9UXbIpTEMUetQM*pE_hUubKSGnSNWTS|ZKpVORKb5^= z?_GA)wh1}JYp1v%ohwZXE?t4@@<+N!0Bm973;~kVxXoYI(;?7!{xLG~X~x|8zYhYT zryuY3mI_>+V-obpi@03d$JIm7W{Q5~u5NPKMXA`9f#TeO6iX}UZV@ScvwLDj`LdR_ z1U8lP69$;TxQPsM2_oTSh-xh)LyeN0tpw4FuFqlTk`SYpV2>1{VS*5RrNz3F@%%F< zm$*hHLa|_OgaLn>TakTpfN~R6q(>^tk%%Txi_A1wF_}{Uz!d%@ZraHlrY*aN z^V#;G=DC3x(|Ayat7&=Mfe5)xf>0c#Mu+6OfY@pQDcw^trkE5)l>^$GX+73*!U}?S zQNup&X?4i38KF8~3B(_hMQg3z(Jcj1X2Mp5tcVRK5jl9pWmEF_e~+ZZJOyED4Ruc( zA&r3xmPAD6>2kN&lWc8sqgu$c9F8&ENwh=_NK5&9IpS@2RF5Rf#AoJo@dH;sAtoT@ zMLN0k5E41#qYr5q65Oc@ZblYEKld6TCGr+mA-xhA|Gi|JjbjO|&qR*vAfbcdiVEmc zS-lf{<^7^E0*ps_C-93d)`w2^C}qpb@q&%qX21)j(&bQ z1PDYQv{QD?-w=|+*6($H44bDP^D@g3bW1aYriBnl;CRFf8W@993CD&Op!^8;kjhBa||%m72U22w7geq;K2QZbfva)!-XX^3R>+wNoyx3)E`kV7E+n~#z+Pm;nqsb5-;2WKZX>d zd&GEfjffDbh*&#@e<48;`{%M`#StoG@&Mbus#F?ch_l`#szn)s?@8ua6AfjYN2_4R z=K~5}@w9e)s!0?oM&vDGj|`v&i|X9D0-|EqG=1)hlC#inN-b{gp`sQ({VwEE;rd33Ow4&uguEAq_)O8MN_nhXaCuaoq9rW(Fo7d@6Pm z)$)-3!L&m9@z6RsL?}hVMS8$WuV93kbwcKH&M(Rqd`J>bvrIxqO(ds|MJfQ}23xXKrv>qzK*9|c6 zm`T_aANDmg4df6ON16mFByfn@zkc023E1!-Njw9(u?|4s)7_?vM7NU8rI|pM(4!AK zi&_K#b|OUVm*iNXby4UN7bvOGEo>0?qSf~#PYH@rVx6cl>d?yP5YT%_JT>GaC}Z}7 zMeUK~Dld(5z67TccidV^pr>N0tR9tH-aJqCP=^7VUn#GmrJ(V-lD@1mAl!=*HrGcW zrc~Nu5MwB@V-bCq7mS|Xo1N^~@E=LwF^rUz5Dy%O^QfW9Idff`Y3;_@UG?f;yUJJn z>xGV;&yPT(S9tZUy(_SK>8l=L_5J8r-^0FoKX)GX-uLc;Ca;oupff@*`jYo(#38_s z`Q-y?!jE!mr&6@FvJ7{CLQ_kFfqD$Gwv9wAH9+PX zcn~wXxJ4Ntrt-5>AfA#uB`M(80h7 zVCGnBC;#JJ!MgQV{-n-`N(=BVa)VMeP*?VyP70}&0wDGac1~I?;~)YU;A+3XTua7q2`&nKFt85^nm)1N z*Y}D6#ta7$j-s@Dw|Bc5Ly{MZz{qb&_KHcVc6^dNK99VeM zIDsiL+w!6VOSs%ftq_CL45rTEjq*L-$|{g1_{04rd8ve!OEDH=oeE>YR&MzO!SU%- zaS@KJw1!^-bB`nh3)@n|>KfDoDCjYtgm?<^ikvo)LyB=L;8ZCwM;k8OwdSrT8%l6| zP?8r8S)77YiQ*oxk&4*p+_C!7(yoD&(mkD_-F68?)GjvoSOaT5A10W2`h$(ivQbd7 zc`VE22=F&Am6ls2^S&s#<5ECMXK+wS-iTpFmvJm@; z21uF%Sta<|x3Zw@5nehY*zS`uH*8vX+18gF;nmjOn<5f*R>^s1xHjY zP-B1q6sm%2EA0eKfRY(saqKtI|4(*MjSm2 z)M}HiY4wSZn zE!cnh^yY(8pi&{aV)0c-(r!*SV%J5Tc~m>bkk;BR&s_>PrpJ(ur&JjgEW3i>7JwSI z@8k|7|JeVq?&m8S;*_JHYg9H27nLiD_!2+l-)fFt|!t z0l4Luz#}4c#xfHyJRNnt_pki;VV%geXQLos9wDUHTOc!$#hCeEOOmTUmu3WfXNTE0 zlWNDFa1y};S#QB0;wwoT-P5%Dz=yyT9t5`rqy~fL<`UHk5f|A>I!fN|9HbJvKOfTG*7r5w}p zt!+TGjsi#Kq_}$ zb-bsu$4MtizjyoZ-t%YY@MRqNJ67|?{5S_5@7K|kB(w+_xOPy6VZciu!aG6AWLU%l zeD{5BUX1x+oIEk_3|vR=oLNuq9zfjd-78Z6fsf|D|DFdcI|nZ}D+66H6bHfR^2PEp zYBM~1oa|9tQ~&PV(!ET#E8xbBAN$-96A$KfTybXli~F1z(nt;b=)oC5$TW@R zF@G&6bPSL^ERwujmN*uhYpkM-6G`cqs3U5KXe>7$9$>6athox7jS37xPK_FSBLHO_ zYYaSs6jGyBGh?Tu#sri&iO01u(qbh{T8G0JyOP+WBP)4q)zc8metiQOlCNbPqSzw2 zvapgjbR+_3NJ#{efqSKvglT?}M7A>(%gf^;F^smX@9M`85gBCPk-9l!30vMKs@GOE zQDY1O*mX(RlpfD+xUtv~QnyuFNJ8YSsA#H!M4%j!5GFSaiBFOsD%c*+2}Tm?qmXk9*5xW_RjsKf=%X{{6h$+p58a!NtFMx|6?9V(k7GxnDk5auNkX-^ zjOwT%l5FH4NrxmU+mt0|0G;Pp3{V8_iX=wPnu=N*?1ff4nndk67#J#w2DIZmBaD%R zCt0uRMH}cF5%{XWWX@`OimT)}fU5MUX|{1BSudirBMHu`sWM9m3SP2>3s_K=NOs*y zul12Y*AN#ChZEz)wYlMAy6{&|j|v)HXq z#7@yETc$@CTG|uT2#l>oj#bM%C|c-9L*WL*p_yt-(VntdO-RwiMkiawkWT9MEaW!&`^PPP2u# z5;62OH+F5;v^Az7+OAt#n}^zCH4eqR^uWQNgv*P}N|aB>YiYG%fQK86y^E;10X4gj zJsA%Ug|mf~BJU~W5Dd1f>(VE6%(c+Fn+Dw!vR1KJ*$1!7fYB)}Aq~d1SWRD~q#Ol} z)3Z&ela2=m#2MAhiHnvADGx0jW!n(mQJQ8QwjE*P??CD> zO^2>Qh8JXVAXK1Qkw*bTm#?*6v2s)k(oqponOJWcEKveZi6c2~3~7slVrF4uX5`<- zfs>ny=&#owNXv&LVs4DAe{0Fza?RB#bDBj;Ya3$MFdWFJ^Sg5}FQY31ks8qt4&Uwh z_@^4YFvs4sh5zHf>hGwjhI}C;0&asW5>CRNY^0~mTiYtw#GdWWv;NPHVMl)AB<@7U zMu$olo(xclZ&a9EN$zy1p>eWtJ_r_mW(JiXhlf(+=Di+XcP@0l;3;jSK17n z09B!ABoXR*_Ro$Fz>#2{&^E4GO47B2+kNc{UmF%2b(Y7Xl^iV+c!Xaph3Twrfaww_ zY}~&L&?8_m_~Y~3u=m5nV~dP*C=a&dP##g7#KJn;OwqR-aMTqu$nG$Osz~1DG&i&_ zx4Jz~=~A*%WHyI{h{|Z-wm01AQn+N)klaF}#{qsgGZR>qy zbu8!c0Xuw0Y>2fm5O*2lSLN}tm)1yTOhP@qw~*gBI~pQ@FAX%sUd|*xC)LN4I-9Fy zX-=0(5|(d8c3@f|1dK#8P==+;<;V|(=9m&|d_sfsbqi3JuQfJPtO=%{=+ReLHAu9iokY_it0sUNiiuzzuK$Thf7Mbl9D^*nPX`-?MWBd zi3rm~NCdD`w4%6YG~V|zQ+YZP11@?|B6~#OkrGJBW7-31$Xqe7)CO+y=i)?YZU8Wrb7$+SP(l+Kd>evRyAgv z4JEwK*NE4p^{<+qtpB+ZO$v#+m_pOm4=rzt1pG&^Os`=XvTo7BQWTtO?N3OGE7;zu zthI+MqADpo(bQmC!dy4zxCF;dZOLMxfHIigea$Uyr`LEot6R%6RIq7E<8p#y<4Z)7 zinglfrh5vtL^a1&d8CEhHJZg*JT9ZH+;%FuHs7ouD0DH^Fk74)V>Z&P8{R>TRww=_ zI<(d!Bm$BBv6HiNF)(nlv+^;qDf3wwIl0l0?}yC!aK(;z(&9L=dR!Mz@lA^1#+9ex z2{$OX&}E!Kt7*Dz12U|1eJu#w&pw8*H!DVdu1pYQ{?<(GzxQ2u-@dBx-o;%B0-dW} z@~E5NSaZSZ`#Q8-t}HPy0{s}ix2&NY4Q2z1gSSfAzdR)YU#R*VArl!W?E1la6wFnu zca6Xl_S&{aA`t%Fne7JT&_H8XYw2;E8B7{Sk%PE>&rcG86gw5;XDQ%;RuoQ3`F)hF z5M&G{wgN|{NS9iyJ1M9i0UE@_pNrs9fScJ3APZXGstSn>OoBLC0vcpRXxW(&jA*zC zK_w8atJ;<7j^c{>GTvoc!2a>mTvPb>RAxakfW8OzvhTdID?M-HBg zqu*C>y(+hy9Anhy8VJh{av7W@ZHeO&RdP^*nIDrirwwlLV)dsw*|{uZu`ISQ>Ydaz znTkF|dV-!ODPfgFzyfyA%UEa^GoY-;9nb4h3##0G)!5Yb)3gJ}*+DO3jAfNZ2p~+f zw%Gg49>Ok>PRA&;c;GBMon^8b4e!!;|4^6^cOsRTTbcGMw4(gzse= z0U5AV*wC%BtO*GI4jLKDpKR8~VVPH@Du;9mndwzyNM|^n=(Jd1*)`aX$feVvH>)9X ztVPy@cD!rBJ!MhG=K5>L8nbxI7@%727B6Swi@&WJZW4o9xsDN}SK!(8k&I|eCr*=+ zl6i$9ud{1IJtNUw8%O4P*A>P0OU4iFS?11hVVV=I(m9%WAh~@OfhyNuDQ2j0X$z^0 z&8Tg2(&OoX0r!DEH?UMsb=Ha5DU1a``I(O2`Qjm3-~d?A()0 zoI~#&L)!RU^eS|Hj+`GyLy6-`>T`WFy(su#<%nlk1V~x)v1n|Wybu%nZPIP696qov zP=GN0tVNOJYUA>ZGUv6`t}~;3fbMT+^Nw=L*mEC`dmopX>%N|2-JNfVjXu?iwPgsGT2+SIDrFBEA_j&fJDIQHQ4aFRWL8k~A~j=_ z_IvUY$!)r6Q^06pj&ONjxL#_zx5KM9HcRZDD&2UPaOiJsj!*?$S0=bhczIrV`%JVA zp%e$_EQ83i7I{V@?8H0S&dxU9NiFjr2?NMzU%MQX4`0m7&cxl3ABs6j<1inC6Ee>^ z+Q&;e&TP;wdrJX|vCeSMpKYpO6=u(C)hNe7w53CO(CpWLs94ZfIPQmgb-Lq?uU2+PQt~kcd4u<-4Bl6YL@qG6&AFv)v7K_AnN3Z!>9*mqDh%{Pm54OMq6FTx`DLncvXid8nVp46 zr+A2NkwG0_9#O2XvUYz}(Q~(`$V5_vacsopJIl;cN#*%g@)| z>YNcQPzc9)-9m9iz1We7X13MQ({YTNLms&11cN!G6;Mp?Z#gYtU9zaHmZ!!`uxq?J zFdjlOH;L1-WnrtWPALxC*-^P?n0**E1UGp8Ar+g%3BbPO!~?2Pd>QK=^TIA z^wjPW=|qRz?Okc4i0f8VbZwe&GYOk9^Jd&vyM1LqW6Ho?(|?a9K#iS6 zje$xJ6MkgTYvWSmB2KTewl)pxb6#fM%3=YNXDYpAP|d#FQ%uUsv`roz|2&$eju+5c z`C;AjbchV>gTH@fY45SRpLgxqYu#Pw^>SpHXl=sFup5+SX>-zm{%tw%TJnm~Izglz z1s%0Q8C8$b5UZ$#xT;(~M?<6Y>V68iRl|g>dYiayTDXkIpHH=H^%;Cn%tFNduN%*) z-uSk6wHDWNg2le_Uh?b20FgVvQiN?$1iQ-KPXrQoAfwQSWd(Kxip3_`XwhpvNp5P$ z2a)+x4#2jGitYi}Q)<+=l;ca4H$h_r4J+Yxi&+y06bz@LDt6eRZfT^*m4=(G#I0O) zbt4tL6bMQb!v<4`JL<8+J#G)~yOyzP#{kT_nCn7`8+&?^K`8mAD?W3E(lqFcC!UY7|39mK3p_0qsF;f&y6_fD#7A@A1$Ao_p2C+N^1v{ni(OvBn1n1$(Km&lS8xP_r%Dwq*e`VCm*&W^0A#f#CqHUqbwJ9^ar-UX?e5T zh6&aM7ikRn-UtpxL}oQP?IHoDd^?iW>Q#u%=iIpCJHc$VwEkH>d3cpMH2N5w2(2pT zZ+$vSC2O}Uy>za#b5zB4e?LJE7XE=ZY3rUj+_tlKT?`wch+PTmgLJZiU8Ov5nihb6 zhbB1>ad$ddxZ6c@0{3r`zda3s>cTwRS`Vb+0+;;D5zCW>JxaNU%Q!yU?VDKh6X_g` z?B{i>!IcK$C!4e)Ossj&y`AyI_4Tzn$tvFAIA8PM0lZ<;hO(FQ8O)x0rNDbi@rBW3 zbHeUfui~yDTx=?j%N5phCcTokk4|@C4O;5Iy^z$3CHPZ13Bs^)uk8Dt;VH0T`+;&6>2O%oS@;-O@R)fVcb?D@It5vg1-x*aM_WV+m!^kyt7Y8g{bTCM zq8sIZdTO(*zAEqg2#uxh3BW7dlzFMU+y&JNe4+wIya9_+>1mY^By8I znM}kQ8F-nP^%(H>r>ln_WK#`mv#S~6rMVAoO_%vxBByAN=T51fG0m%^yGymWYKR?@ zjUtFk;0D|8P%8V4IjVak-u%p!fYe0x&nCFvIr!gSynF;dn(bL;JvgK1$hcgtET1L2 z#mE~PTaEnnN^NW&LgJ8y&+Y9;Dz~?T6dX&2rk7JpyxC21pa-=^2WRTp@fYx3!WrG| z2B0ukXdM$Kj{Bc;4UV}(b~iL#jC)SdyGqSKE{=6Uquqk=xDS(V7uqA^oF+@D?;@_%ZU#rz z4=;B+gMnt`|Kzy<_k;0a@_DiC&7gYXZNZ-+14l@KfAk93*IC0TqL{ecZyj6? zgXn{K40quj#RXwsl^tTws~Kv(%Qp1B#^&m=VeS$hgXtewIdG&GNW09tTuf8XFUujE zdjLsm3bkD%DT6-xDc%Up9XD&ido_HF&M)KVlzTek8H;uiu^pygr`*6X#}u+tFKBD*K=1Pgcc$mrXnu|sNPaGUUv%cn58MK$&O3d4A-5*n`)?M( z-a0GcIX<3i=8~uFZ@FbRT*N}WKh5aW<}K<04Ss|#7u?kzyC-r__7^ODRfBn?MW`41nLWK`b&bpi&V04 zs^`}+2~*dz+m<@2s#~8@nhP>_)Nw?t zOGx;sOfPFco;Ok(Z}@w;E;pRr%6>H;%0@{WFw~j3o>-4R=}7}`@)!2ZSD5_=;>`E& z?%Q(M*5?bzjB}!S|I~eMndaMUue<#S(DWVQLiZLMBlg4Mwx#!?qA=i0;U5bPpY7~3 zEwj~#$rfDKwj+&j#fR3HfS@dGXZJ?sk@#dX^?^9pRjmx4s$3c;mR&YSYZX zg;xe|kd>j_tk1Uz5Vh}i+N!-_v1znk=NaMKCd?dxlslmdX8Ka;dEWX!(c)d7cCQWj zVt#!UcaInR#$^Y$FrB{JJM|SCxAKITNq9M4EQQ9+fp;$4OGcs5@DD>gm0Q z7k=J#(9>?FDDl}FP3`Rx1$%Mqd0su;=rz@Gx6@cc(vgxYS1u?+X)d{AueM1*9bv&>)aguslmRKoR^wjRdG{ zZH8nNYU0C%VBX?pb>=*v)BP{&$@o$`F?3(Zfv|-)c)PAY`1T zdaQ+h7+Q6TM>Rlru_r5(v@ijKcwAYm^Bzr=3L+Fxe_%9Viibvx+6gY*&>he~VCQ1c zyC{2o+f8;6qt^RUw*?$3!cYa9bq*k`$_OwcV*m>3LtPH=?eL;x@Qt#j%|!yPrcjJl ztRY|m&J7!Y70m4^G!sOr`CM~^(*h6iHrA>F*4#LBz+FCBCB zBtI$Tf50r481h})w*6XqQ6(sV;p>L$?p40>l8TYjaD}3PEg;0RszzY4Yaoz0>9?0d znSqs?G6gd=w3tX4k{~GectTRDkzdMEmf~jxx;8e~4bAZts5)Yx(+ub!#tN)-rsWV0 znXi$(TyDw~W5NV6Xi?x;<`E~SXJ{ul0x`e?=B&ZtK5Q=eE`pp`401#?)J0zRWylzE zLdYw{9t$)TAqQYbhsM0U`reKY3;+}6MQJ=Fq}n)g*dOh0evjSncYWfEWyY-Gz;{#K z*Rvomw6-ojC z(2ed(A4nr|z3%82FK-w#-eRMi{f+n57XzDhb;gZP{?9>2r90dC>aTeH4@~K>^F#E? zbZ`|y;-*yHHc57uVrZt*wo z@`-7BN1Bf(ul^1DAE13;xJ}M}}fMRgze)y(<5f9!2XO_BZ93cq}~ZB0<$p?BAfcVf4CQxgC@E5uwZxCR=(Tg8% zS+Z~HagYp6U?``4SBLLX+`{tbOgP%Eb8f%+i;nZi)m8cK-sBHuzf$_5Sv`$*!0xWu zMSr{V%=H~y*c<13NoXq6^UfV@C>G3{%tOvZ-(sQw3X^WB4NT3saS`Pbl zdhyQpjH~~xvU#YBE{>H49GsjS>|AX844f%^jHY58ndZM*&v7%py9NeQRJ2CBm@M4I3dufmZ z&e$~Yo@S$VItQgl;fPKOC|3evg*hRktFDvM*a%WI%Z-U32lUjVo!2R8_a4n46jPgl zG)5AN@UjK4UK5E0Dj~xTr55P}c$=5>5w<8Y!AyuMQkN$N%RPi!aT;)pYKU42LbeAc z$rJ)bv7Dly!FeKmw6w*PtR5Z0gsKosN|6Ri#kd+sS!Y6tD@ca)hzj#W4;c|wqZ9x$ zJaeTD#+e*g6eXrYleQpJjWA4zmc59#0%2nicepKb5(AP}>@<&Jj@LRF2lL$=gaQI> z5t5z)2}Ti0lLDz!U09e1!Nw-?5Tvk`U@+2AxJ5yVMA(V0V?!GTkn@v9LZ9W?W#(>V zA@%^iU&BOa{AaHWhJ%Q`r1m+3LBtCcT__7y;Po1^H49lnF&KQqsgo-lVvUL`D+=@> zhCXU1sNsK~%Ncb!%f!a|;Bvo4PTC+dtAo*ObdIh4wYv=wMUWH>8UkdRc-84c}K;~Un#fiwBS}+tw62gG&m^Z0YT;Pce zl_D^09xK{N{jQDlJIjJZmlV?7z>|!qN>SfXncIEcX~(HzKu_UV0>&U?ew z%nAmJ6Z4UI@}0sG4rDx|_2dQ=6x7!@R|=&iP%-;^g9ByAPUbl@!FfIVQ_5cE$(45+ z1Vzg2_h%UWg3(~v+^)~WhrMyy2F{yNak85AJp zgc#|7d7`BRC4npr8q1ILOf^H^Po#i*6hvxURSyue1E-({$e9pu>Gu~OFAuLTC;I?; zAwz5Apu&LX5J4gs1GR=BhOo0Ivo~hhBlijycFqv;nZYT~=e~dsN8JSw>?QS~egsGW zCUR|!_EoSE(xy1xFshd7sS;x6qy)>c${T&ku=Ai2_lEmAp|0`Z6$q5HC<9fWn6P=} zCer2`@&PFcf%fIjW)kRl`gYc6kD`1Y{t7c>b;Vx9=oC!r-^+!SSp}G zQJ`0pl!-d1R^DV@xA~>@-9y#Ex$$QI?pySI;4A&_?-XHO7!C3e{Jz?dnw1iw2b^nN zCWbxiufRoP5$rmJJFvq{|U@9~N~dhD9Ahs?St{_EBjxIUk{^)>)7ODo}LW1RE5p3ItGN zl%^R%p_G9L3Mg{$htfzZynE(7Smf-#fpy3k=X+hN*hRUuNMnbRMAC#MCT&c51eYqc zqz}P8%rTrPJSeJe#Osxt5(KQ`aj$d=nt~A|hjlB298(&`s)zjP+|Dl!$klC@)J7Z! zv-|-t-B#2&IwW#NZaMG`Kvw*1BImRfAR#enCkVBOQAxCnFEuOLGt12g_93{O$yP?d z&7l%uh=m5?ZO9H06%aro4VdB)ef13G0PRzI%mJ0aL8LMkijmAD30>;Y6IketsLT%+FxbQpdM|bi`bT*TZ@6g&IC5uHYKl)7&&R8H9 zstjDaJVP_WowUcu`|*9;QecRe5kXKM%naRlN=xPTCqN>j+q?F7IN$q9ttQJB=1*mV zt#RSUN8$Y@y}Xo03_~UqjssV(chn+@Y6+Dh3a!DqhFGkIgh!C<0Kf%`jRD##3egRO zoKp^jNTsBO+T_eq^G*GnbG^nip8K0e{Gl|*wCqrgWI%$g%pjW;CTOP`1{1l23@Vl* z@JAr$hWo;LiFFU*cVYxqb)*_-OsfSfMJC>gE1tCF;PSjSSr?lLiUU~O2E$X;_eS>67$cWb_ zBem6%s{|l$D^pm;U;_${oF@{Y{TL-w(qN4z0QF6ZP7xmc5RxPGVcO8oE)bN{?W${; zN5Zz}{jh6Q45VrAHADf4x&vF{-;5*!Y(xVx$3jmn5=jk*Gep`3XO#{hC*7Ps@#C4l zhn0tmmx0#Z?i9}?)o7}^y|KP|GkAX6d!yVS*&r{%1Q?tWXfEcM?je>4X_F2?6>J0S zK-QL%B}Ek#^Ph#%_-7vM2!s~Kqf}f&@7tmN3uiN9Xxm~Pu+)Sg?@8(YDM;R^X}ZD& zkANJ4$HUu#Ml|67N|bFi0x46^-pK%Y;N*Pc>*9C1ZRvS)3y3!yz5&DCQtItQ z>Hw(F@Sqs8tjrw9m13%F5+IqR5Uha2=>*E|EoW=U6L7P}xo6Q2%NUX(_$O*z&qk<5Y?y*-oXi4;ffDr}^=d_D`ntanY4e8+t zb@D0$LRhF8P|Z)?WMlBO0HIw97fTLX@|`mDh8f<-Ja3~W$big4Jup`Gb4;aylvyl6 z3vAAp(#|S};av!sVvbn8?4k{+vMzCwj+k0uDkNR~0pU5=3RYlZ?&Ck{Uy?0#o>5to zIYhP=qoveCQY0~}iV~Cx*FCQq3jG65|4eax@4CN4p^3DvC?_Cg(&(KfUPd0!8e%n< zCC6q$T(`(E>SkR!)w8Ii)P+1DWB$h;+22u&dV`oCx z;Jg@cA(AldfsB4c>9iA|fsBIo6^cnHNP7gts>y8GqPtTEI<3lLr4T{y=gjPkQE)7) zziak#52Zratz%k3#29oGy?{$dRbMafDbQUIGcfHZQ)=+R>c zP(`8ZXe>k}<_#V>Jh5Ad%9>NJbk ziRel%XB4Qlh#(C$C4_KBoW2BfXKW2+!SpODM!-gan0HRq0H9NiVx3zmRem}!nwJU6 z!da3qj6i*D!#EyQa@f!x^2($=%Y*QK2uJl4VA~0U5U(TJ2P_sionYYk9y0)C1R;U5E<-1P-cjO;n|bx@@G7#%_MHepE64a&MVj-E2p8W`*Uyl&!7E8(Kj)r zwbZ8of-#%{OYi1snjwsYJ)jRyn+B{5X5y1WcmuWs0TmLVbW9}Fl`!PCdJZ_&j}e1x zayTDpRnVBFymBa^I;)&eEilGC%o**2s7)!b*Z2>$!xPM4n(v33R4Tk+5lA$Ip@l|L zA#`evmr912;&AXi!|QV5WVD_+B;Z?0>BZIX#K;>Bc1Hr0DK4FWhH0CS!| zZsRp&aA-*?Ag}}NDT)@?3%X* zKZ|vaxN{f80o8xXwUUNft{}9&khY1P^DQp-5zR`T8C83IW9JjUW<110Y~NUno_bjR z?KY@XKh=ju2xw^t>n?;bL-Y7qh1Uizz={lfCohM23hnnhjAVaIyCxXUYa0eN$V z9t7g&xWpRC@~V*W+Uf|*UV003K&zkH!&v>PUI6K0_6a8Cm@?EeIt7LZ1HBg+P}J@f z{C>Khl-+!Z{LQ?*NgbgQ;3*U!tp+NtF~}iyr@Av?N5ZaacV}|dakItx zpW^S*Y#0A{>CmI8=9mwN0Ol*Bio!88QH@4YF;VMpe@>36JRaaUsl%X0&LZKZL#1Cbb@-ci4iNh6wd`;nXwJu=Gg(sar0%vEq`wSxr!kmw-m2|%s8|I za^lvL8=Nk5)>&R&xU@MZNAvOnj-X&ed|B?6*k%u=~`c~0aQ`m}2`hocjjVr+H;Y=Cqo*;pn=A*aN78KrP5A z0@WNfgvCkI70xwEzFnl91R_kRkPFkw&u=3{S*Xhdg^3P}i8C|iZna|&R!S74CP7Wj z4mrLr@j5>;xFO^4NGm66a^ba+ohB&EQXSBrM$W{b(u8H?j6-tB)q=setTCXRrW96G zR!{wK+BnmM!(^?D5-OZv1q7MXG!;-nGlqi^+c~A5KQ$F115CFGAkmIh_p}0;YI`ho z=dL#e5WW12(}sSxWIm!QO8KjYI;lGaOWK9t8e*WM31-_JM0{~?JGBpG?003T9eJa`laeuW|dG4f{()2&2s<6>g_}er> z7m|{>WDB4P-X`zc{`(NAnFFGsI2!^0Xn-$(10>Jh+yQ{sK(P1~zDvOpSO5+JfMERA z9t3V;01b$5%=&*%@Z;+bgrDYh@gW1yFpHOFibQ}|?$cVp#$J6IOJcfDp(L2~Esao! zYQG7`I3Qay8Zg92002Y)BqIP|S!6IE0wE=g2IgWA>Y}>)eZT7FS+Ot}!ZN7tx~l)a zzkk>J-$DClpPql{Uv>GTz15E{|7f=sJ1?GAXMLe3rJuV>r_j*PpQZVs-rwK)ub|GX zx{`0*{_nbbpI^Q8t3F_#y7W)I)mwDve?L+)Hv1Yq4}I_SLqjjxtxG4|)L(z;>HPvI z6jKJ5;jI7zl(z^7%IoVgO5{Jkdi1;9y%_y7Y@eF`UAngpuBctFjg_T`-W;q>oiIbn z*Um2?Vl(7amUWfUbK(;pime2=qxvt1&tUG;OKXu^=Fn?uD?%Uozi&5xsQLv80aIKitC^8fH2goEk{Ibk#aJ**b{aLezdc*WFG%aHO#N zB#Lu|*n{hkXoq2l0>rVoy$CqEgQKOP3a5zR)MydMEw`!03QQ+bAjdZM)>-5z#{xkG zouzc=964{@f=3QXFbyQP&NORO7#8-Sv5gZ%U^j|M+(wPI!Lu(^YTc)nLL-r&h(~KC zYJh_^xqY(4Q<~eICv+N2h1LToG7*MR1R_r>Yqdyt;h0>TPKA=yH8>uPlun`rYQ}@) zf0I_wTmc)6wSuyYd4U-6-`R%;Yuy4)cfc%TWc3Q{?ja*ePae!_I`qP+10S`QU^S8~ zH{^Y|aPdK|L5bb7NnQQ72kgn+vj%|76tEfgVh~o}Y+SleVDlf>x7pe+ZJ1btc8z~_ z0G}jo6_h&dvr-0TREz>@rd%q zYYw5GTTtT}kz52^#7st{Hf%4j@QsRNEr!n<6PM~#3IpC?#8g^cS}Qf9vZ!{}N)f01 z`MmpF6znEGagJp~$L@Z8oq>%B4qLk2Gpp&m4;v3;@erL5+<4Cn2#J1?T?ruCfh=vg z-1o4)Jo4e~g_2{nU1Q$AM36_!B1N{*6&;SMt{H<~zME0e5Z}QDEvD4$vV;!mSnuZPN@Y->a{f9%O~jX<`!t#2tc(LXEylmbN0* zVmNCEfMe$^zRF3#v(~~f8M%orS3pi~gDVu?drasw#6PDN1xHJbn3GE z_yGnfpL!r2%`ire2o+?eB6Shqeq0jplY8pw#MHdy4B*64NvdS{E&xKUA|V(p8wbk4 z`qZHm%Z&UsVoMKa$g;lcmp4gIaDW-NUKj|!5pl##Lk|&^k-Le_miP+}bqt=O6uo6O zA>YT~{6$3P_iHkVeW;&|G)w^8N-_VI7B<>2Ees1 zhs>ENr)_!FF;u~O5Mfk7o5wD>p+`^dI`30tL5 zaogO7jFC=_;w>{vm2!38bt>*DAvPFOiS$4`@JS*z4o7l*_GqT$@Qhnxm4LQ{ScGc> z#lSPXFEJWnX3rPcTY#$sDW~9vUoU>#E``ILE?x8MGeu!mO_}s;Uu&6hfzdLzvuzOY zf+GC_I4$y8zXye}EGL7CeFjt587LAe8sH?HRNhVPlRM~r-l+L<`9z~QcP7HbnC*x6k^>wHS-iZ! zRN%^Y3O+exv6bjmC&ei`B%#k-v2OZ9*1drvk$8!Ov6wgpaaX7#0+kr?j)PgqO?}~? zQ)9`KONH3>U|coo(iY_|qUpld%Yn9Hy5cF=R(`d1!O6*`xASJb^yiGa_WJandHc-X zY&`oS8rz;IX^Ql24WTTlYMvP}SLqgXs_=YT;vK09*8>ao#m)i~cHN3>n?Os!rY`%J z@@RatRPF~2rBlk>Ih#%c za|q@^wndNF0-s{0&c zvWkKC7HMt8D})+;?*kYPlD#}KW;o0}F0zs94JB?dV0T^tUJvXKK_I77Zekb?+{Yoy z_lm_^9KHtGs5q6ilDk+tjJLRZV>lTif@T&2cu5_J4iRKWP%_9;tVTc~;Y}x2Ppz3# znIq7xKnIerZoN~#{MGMIoy9I`rz2c3`60uGxB*#C2NFwIwt}Xpor6aWg+!9JS2qq- zFbPAs9mXpn8yS(A*J-;1BjcwFSJm53N56l!EePt*dr7amYyPH3kKUhg?&CS$-ncvf zZcHZHb_FdKvGSU?Deyn17LeeR@M6^ay#fqc8@iwqS2p|{Ptak{l@2_3LX_xMMYms{RGVBz2P-_>P)~0~P5B{BDylEtU_?7JT z-Lh;7U8Z#K{#^zYC1e94HL3_X(c;uK)MKeHaZ5|{`v8G~fkC`w}JGbGJ zz`_S&sD+2Epp1TmYAg&ftJZ3_@v8OYIkJVcXKbUN0c@})P$h$pI1KXwI zL;gA`@oOh~ENZ-z1}*$yvYF+a5-xG9*ag^)kDL32_@kD6iXZx3jnHeY)C82#dC+Mh zPgxRm=(al2pHFv+((LXy7x+Bfo=)N!8KenH&@elM7uRltCytTaKxgQAa^p5&>--3~ z9+DvJ)xQ38<$ot|8`8Qj(gBvaiV>(WCAwvEjS%*>G$)=%Y(usMR_x!e0_)auLxtxW zkBlQgY|9v;nOn$OGPQf%ayymTBO`Em+FIIno{ok(mA_h7@e85d`ENfPru{_<|E*JE5~lYd-5S3 zWD(Q6vJzGZz7U`|uZNu$z5@snptoEx4i2|2FTn5bE)2Zbg_^DV1F6WOC

      Gd>LC-|IaL*zcLzQ(6L=?!ipa3jd#b1K4&um>sbY{PlSlecst zpv#!s!VP_V8e^ypc=8lmu(77nMl#M%u{83?lKKrn5&ajT*{g#SnPK22PfF81wJat4 zqV$SI;a#Lx!Uli*AFv1C+S=nMA2@A3+aX+eE$^ERvCNV6rE!xj*SYG@wVFC|5Y1iu z`eJT!yvHr@a<`WaQGSONt~#((T4}Y)!EL7W>T*v68*y#N>*I3*xkc@J%CPOaI$FAN zkm#E$PEz-y*HK&|58SYSh{8&x{T4__19%~5)&WZDvmpjPSWGL$|jSO&1MucpKH5n70)o) z1X(#Y&XVDJ{MlKThV|KyvMn`+wG5bPSWFM zv7)_B-76xwArTNSu~lF>lhCPf&wa_K@|y)Ck^Yd9Yqx3gl94Wao?=FbR?Lzw8@12V z|Mqm>T|`92W$7E4?8y8R!bSlRdnwpv*Q!7teEXIX_t7klCH9ZHhjPxwKLfuSoDk;r zWd??xRvdi6lwpIk1-ZN?X?mTRs`->>pN(8Y-br*laAF~d;}jWB8CIV)Q^K`0HG>_x z5a8!WGV=U^ced@--i`6e+blduzOlkMjL7%vvqm<7Sm)P2@E34P6C>D|H?dgm1QS2* zf;O&4)<$F{I2}DXXrWA8{=+$zq$e+jm!3?LRnO35_!!JgXq~4{ORkodc3ypmmrsZ8 zq`I3zyenHaLM(zf2#SKgS>?zhGzw*lR)ml3moNMT#|hlOOtTllmMv2%nkR3h0G zbYIBylQ)815i6Z}%%4)0iL#h%AqZI$lZ?;W)7))F%M3R=9)jWH*F0!Kn78ItUdNHV zPvCuhCgQ#3URNoZhyRCTlLNqx6V_Gkktc&S^lWtDP+~@5mZypewj%)<96nD7N)R7i zvFJ4_Y*V8SnS>C+WuR@r&f`Htx|j`nfKeTpXHghG4a3C8NYB%71$y|5*1m-hp?Sa zq0<_N;9@Ytr7l+?Wr03x$|*^fzc#Ple%|j3FGAsgzZUXyESgMK;zDMyDYPxMEaWQz zYP7!iV97|+=*IDWK9XK%X{J+;{_CZFbvZG6`4dkaBtpuP4YFm$30TQFcI{lHTQ=vH zD~X_Cv_A7qVgN667Lsbr-RXMVxsF;!b!fc?;z?lM|LiHf{03>DE~~tmSJ^FhMYRmF zbL4h4y`s>ic>mnbCD~|rD=x9#y$CZQoX>6Tm;f`~CdxhhB}0L!5A^Wub7-X_Lvo&+ z&F8fWwdV2|Pq<7zQ9iFSAA2sz(^CHOCwcY_XE~DsL8B|b!7C+!!Q7;d`W#6Ylu9s+ zk)lPuqF4;5V*J{qDlZA5`}#0aoH+K{-|uqj9DzF^p=u*s!aC=NI4ZhMd{-BQi+o;U_x7N`$O^BlFg%MH2sxyp!=8!(OLwO$gv?a2cE!QRJ7 zJe%XC5LQqtaDHQcHkM(mQYl`ahU|;o_7p1SZFN4mu3DxxjgH-moV48U@+w5)k9g)_ z*nE=t(X1R7*|p|Ic~flo_lOuSPcEIsf8vpdq1}?@H@nK_(0H){9%i$)@@uk3U_UjS zoqO?bA2G|7GjalGK4l}-i?JI~gXE8~WIQ1?5lgG>2_WO?%{%qmgmyiCdH^^wnB7pP zrJFut&#tb(!j5fj7%gRmV$v;z(*}(WX4-UTetSepp!UcFvc=9xrUx~f**H@NU;DJe z$vPFOpYhWu=CopO$G`r2Tc$jS3XszK5*B$Fi;Zhi#+^@4`6(z=kxR6q$%I$<)8>@{ z-DHg?zrc#;6_uqj1(rGh$p20Cq!n|FrwVRUU2bi3E(4ndM@llyo4J}M14AuUFerF@ z!`|_|1TQV?@do+U7bjeu%lpVydh5I!$pG-hueM@eAGizXyYHXn2LKy`1(O-s(06l+Os{A)%3At-5_{P`=oZwYsp;J72>UD zJBeBBRq+4PoPnXGU<{|mpGYb&4z4~vMLld-<05NWj@ROZ!Rqhx=v+CcXJY^V!sS4q zNOi+e@%7O@ed9A}^A75cOs=BYwV+BG*e?Sml4WwQN0YqyhO~9Lv!K+k>1Z2H zAz5>>rk_LXoY!KNO*0OCPRM+$I>XlTZ+CMIW0Rv%O_4PIG$}ia{v>~4_Dic%OUXN> z&XPwNKNlwSBjxs6a*9l#&$%C757_7aPOn42`5$sK8(b>tX*ngmfV+@~2M}peE+5Ov z=;a0yJgSf)Gcy@G81Xv%31C%a1o2TGDj%@#B(2>jJ||vf??M1~W3$no1F2)~nwP20 z$XJuuYDwL?OM?VLQY0itxB&St;3;T!rBh}vOC!)8n z{)gGl?Mp?EOaNXF*GO&raFjWF6i zt}=ZSKOc&;xp;K8zA#J*h12Evh6yL&N9GC9A8V_g=@bukEC~|zT)dMxY>Qu0Lzh?R zT~T{cmlWZZy#7Ro#;a3T>RkR0@k5tz{(95W%+k&PfkE zfY1kNgQz;*QaY!#7BZ1phv^{rnuynNJbiAQ0&|p59xb;Du9<6lxyUeJfMK6K{_=#2 zuJf^bIxq^NSPI6yZoR=;mOXc~Ri6$|h_pTd_>wtz?o7T`v1=DJV`uJP zRe_*Qv&@s`K%a$ti78BaYk>KrwkdH{c%z0@9(4J(##!Vz>uQ@f73t{i=hj+Yf8LCx zLCN_qSD?1X=+({H!kc-FSD>9Kr(Euj)t{XrrAxU`URlKRf|7o3=$*ARx2-_w=sENI zv^zj(G5z#gU*WGq>~65Sumw|*97W&93}?GYFcNHlvF=$kfR!3qnn`ZvpUeam#wK|$ zcdC2HcUi(9PX>@ug?PCzLk^}E#5*(70Ma3=-B2XsZVh8-04sF>mPF4JyVP-H$tLD2 z_!cu?RyK-M8~Y2r z)|2)GVR$%uTwJMdowko)!>)zGY4xV_@XSOv1Gn$v{E;9{3(Vm@my1l9eK!MJkaKw$ z7w(^MGpVhB)ZA9DE)o&|`Z(=}xHk@0bXO9VkrB0Uqd`8i*`8HewmhCbtShv8rru_&5VW@sCwuv`sv{(BO3lSUdL zQ;v~&F^z2zn3tCOY%#rsMEfU*=mRAkAnk;zfU8%_(%!YP$N< zaTp2Oc6{o2(7oN+^gWLoG!Y=vj@P#BW$Te6zriHZkA>4JZ%s%)}> zT;c7n2s4-u{pWjWXJK=%xjdUQgIgz_4TLtwGaYnET5sSVJ2%U6Hzm~Ve?K0m~( z@g>UHVrfJ&8Peviad*frRKj%Y@qKn|7@aaWMiXlQfL&RlL4^v$n2EI41WYxY-9|Vg zXPZ0A$-D}$$$mxyQ{jmlBIH@tE3Iz5rrpTN)~;Ol>PTG>(m|cld#!hP9?S{M{-;3jnYsh(Iw#2wlotvtHjW-HH359gAPC; zQxb)>%83xwX$oOd&=UJi#F~}36$D}#NyUQcw=>^LLM@_j&jf^Jzw4J;8)HCRDkQS2 zuZ9T~DsXs@qzEELcz)h|uDi9KMh=eYKY8c*ZPH*&`piFMvNUG4;oz@tJq&TX_5E>W z8laT8E7os1|5xT~q?$bGCN_A8{AN_fl!T&2g2Vu0p0Bcjar}~f@!#z0|hlR=>HT8 z*pgoErE^V2WhbZ{Kq%Gm6{l71gp+#pKoy8JZAuWR2jV84u$FNt?-i7-4O;dC*ddf) zDG{VXP_*%FC6eCC`+Di!J^4^-crXM?FsKOwC8UZJ(3Ms?<671YvLMQPUd12~g7p=O z5e^t=TSZzhWu=fnG@hu=%Dp35Ku}2UImyOrVxnB{ znwCRBR$nMMUU~+M>SM*^1F?#*p|315R(rCf?>pqj>lqA)WTB{Ih1MmFRX~l9K*bsS z0~INK2jY0m71wD*$I^_3sgNly{(%5aW9f?yIq~{y$am3?NLOw%?eP*^w6RQ_4(>ui z2;cfb<&aEhq`JEGiU9<2JJs?4gdVOw2;ce!#xgpTIvnviEl>cGd@&>t?C)q&CExlr zt(XE%P;2D2t*l50Viq=-G4X9{Cbzy9;Tw#)%T9$_8nhMaSk2HBaU6C*(AM`)`$@s! zTILiNZL6rR8?@{IV~EiEBz^1NT`@|-!DU$AGaUr8i2|`4hra99m&!iT);j&AP%tqN z3A#YW;He=&4)hdESb<-95Gze|Q~L&|QCNEN@W2gQpFEcz|%jcu4px z0t1M)aczZR5X@+&gxhr&2nAS}jbU2=SQHy;BV769_*pvlL3-G%KMd~g=?F=P6;N+- z(#p7oF}NgaZa@m=K%j;RF`j!c0XR#>z0|;@twLH51b@WhWCo~A37qk(Bnk@%rP`#x zVv*GpvHyTnh8?6SVxpJ_7S%K$0Z0&~b!f`Qj(emNRN}z5W0zM3aZnFc z6o8!$XcOfLT_0-)S|f;#06_zy1|*04S`7B80ruL?;US3?jFp zMJL{kfZaOUUsz!Vvor?VS6Fc3QeTxh2^biN@M)|AmI1WMUL*VBMc|&DrLCaaS-F!v zLcmj$^MR(m&4Rnam=zUnz#yj@(t;alYja9=01j;NZ8f-CCZ5D36RYQmw!zp*C7e*D z^Er^lx2NFhx|uIvrRj{sD4DWo!t`9W91cwJZ8*5B;leQa-e6q@uLAGJf(%!W^ay#4 z?{2^lISnMlNsRP|fV$mUP+0&zqY?5O-_nD$CRU`^=>`baL7g`ns9z8UXEq4#`g#s? zy)%fr27H%d1ITHV5-R`$AAFk#ZdzJ}0RU!@lr{w<6tRe_9j(TJE**`y@rEqBcIQwQ zh%Lnn4~5bi3oNRBtMAFcjXTT0^&yn6psy%QDL>afD~hT1NPJHNZa)G7%8=9rs6t>` zcT^RQQMkhwbI8S}J?FFpGp*txqhF0Ou|v#Is9+#3V~vZVgo3U>c+~AsEX7TTX!qt0 zxNH^pnuxd{rx=1UPC&5AD-nS;^dY1Lc}C#)W<|KfjFpSP+z7KfEVkTe3^1@VA_Iqf z83$b4IIx!?t&=HI;8dTW$j}o=}gm#$^QvSS}Hj#1axq89PIz zoBvPW7c&p9zLe_{V`Ua}FND}Qei|eMB$(%_m68oe%=JCJCq9wWRx8NWx$D}|OUaEJX$ zgjFaRXU7bswE=9@kqCPc0BMJ4w`3W{Sr|1lhAr#>sth2blCj!DIE)f}zgm+3aT=#9 zk_tT4Yh(Z)wcA3{f^0o)0Jl2A5T0r*;Sfc*9StnwQBWE+5=k$R>LlhG43&!JIluw% zo*u^1qaiYDADY)gzVXl{v3ZTq_*2kY&r7ehKZ{L9Y_J-{Tq(@^~MWrV)76t z1@5qT(Vo`V*1pjIUJdpA`b-=Q>anvM&f*elAb1UFTxbEEVrBq-{UC>NDfHYVkoa&i zU(}j756~PdATxl!eriEto|&PjbuePP+lD=iv3;LW;AQ}R{SAXz?YOa!U>KB01(TYV z2o7Eq70;M_DLEBKmb3C&{%G0hzLaqGO3@Z8! zy?(19M5i{uSef-GPZu1Sjg>}mEwId~211BLU}|ZDQwmOI&Z02VLKIMQBte9PiI^#z zaj7G2H7>10%d~bQA*N8^uz-DFX-f+4uEI!cHKozg&QOB@AtYuv1gCh=*M)&Y*>we7 zo+BFaY?7U>)aM;CSBl zPB({2OPw70_elwU!x3xIbMn4COzX@u7J{1C7yQ zrv-ox_J#d*yPRntBb5*|3C$jHjQzOUDMYK(p`Ab3mTVY~5SoUe5^p83*#HHuAB5F7 zsiunL4BoSAa|?t*uQ*h=Vu)CX7q@~iu)V$fhYXOJb^rz!2xliq)_S+D)j~=zV-QQQ zNhNgx09S%THHb58pd`z^U*l@dFw9V)ip+y`(Qk;dag5Mj{t9);G~NFaqw)d{ zviD}ttup`|{RIEcBHmu-wvheuII!n`ws%Uuv_!6I6vSf%$Eu(LD-prRjO`a5AYB-0 zh?QjG99|Rqfui=<*r)au81>n$#=B5d5rxSJDy`@DqMbodShw54SEN=n;>0d8byo|g zw9;^@4+<4Q1N58#DEYMu1tqbYOl;*Gij?pI#qsh_a!FqPTK2{azKqVF(h%QHk2zfwL^z^SPw5uO}vb;ULQ`v?AC%v853vr0Jtjm zI|B#i;8NIk8Yet99%9-SNIN*P2iKHCV_g`7kFedOkV2)g?z$ohG)wF7EfKETqqyKc zJZ%n@fg;JI!Uwfi?JQlzs?VsJDKfWX7v|t8*mTB@h)5bXGrGWwrgk4$)^n|PVGcfo zZ3LwncR+CRM4WI9iP08Cd-t?n@ZcY8_r(yNC|bdc9{fPpR@Ma$P+77`b;yBUoe6L&9)VuY$iN4JmJuN6!I9Q@-ESwXpwz7ov zQXse)Byu#uVU<=I&F~ryypy$*Dv=T+$gW2Nq>W~8ZC4X%-`e|ejj-mU5Tb$77=g63 zCl~Q`YlE;GY-$+NUWL7BF9=Z?YG$~{4mn~_mgtFNgG&`4&Lt3-GHv_Q$X77zOO1G| zrC5kDHoeqSbf{s%2LweGKuU%TtjY)tu;F4;E6a?)8&#nVz7>rNFZ6`qxG~Eq>0Z^sGcC{^<-!IVbZQ#KUKyo9N+@hH z82=Gl{mlB_JGnt*a3g*_o@kxKVW44U<17#TNJj0237#V)JARo~;bIN+MfS$()E;A#jcsIc*k^T`cnqR2MgvH8D1}lym;KzJh9&i}`~mxa-COtS z@?rB@1^|S~flwn11Q9II%oz`)BTVa@6yD300Jk!LaJ-T>@65RjhJJ`1I-WcBvCT== z(o6Av`E%I1V5&Hb7d$$8c`y%6Kx`H<)0?#F&^M_PTL1Ei2a>2p{BR!f`9q6y>9+8Pv- z4LJL!N)}FlPTmz?QXxHfBL%(B7GY&;3FnFMX#cYj(mtp#a3X+RMGRO0W->0- z7=aoHAF*uHKxx<17NdGPbhLWSd?gq;pr%1#g3PhYrA)xfINrZ`64j9=7 zi}2B(gIqB$dl+#51H0*FW-lzdeKOB9SRk0nK3VDIPy#S4;h6RuG7Mq|wr3!WX*^p9 zqYNR3-j_4?_|(QSmpu8al@IRI=7B||%u1Nd3X65_U^1~b!s`w7_v=vgCtp1uQuUHP zd1a461oz%(FA9pPR;H|%&O;;;C?<<12gslHxGe}mEaaG(6v1tIqQ#yGAQU%5=vz3@ zDGGvaT4k<>?%}i-Q_?|_5=gZjEo|^s5Gb9I9IF^pQ=r1&5msBPJ7SCQ5Ve_tiPQ;i z=h7s$*!1JHv?Jsz_Cu&sh*gAZOOAJ1Yas~(1le-Va0NzH^sU4Kaw4NS>R1Yi99)!0 z4%M#8fEp{Q?1kDJppK*05#pQ>i8L|y^E?nx<$zp-k?44jBa8JxvZE0i3&2rbm;^RPFMpq-r3twwAGnTUECe{1f-B)=*r`4fE5OEv0N@xQ zR>^u&JE8I;MiXck}rKpW4bOenKB_~UBH7l09y%|hr* z_Ckws+E8k-0(`xoDq%!uG*wV#zyQ3=&4CzUz8)9lVWhFO`Qm+!PFOLmM6tq#)|m@b zREI3sSbWTuNTAtigtA&T0?6ibd>y^X!Dd6l>6oc4Nda+cjK{u_w)M-mOY07se}!Q_fnrh#d+J4xlbDjmYR;+435Q%v zbKR-Pz;zl9JiV7wYlZ01%{-(L%cjt|R<&&5zVIFl1VlErGWCH8q!D*Ef(eNU3Nn{g zfUvn-B!La)hjnZ}SX_7j;zh*ZC+`H*ISxS$`RyE;OT4qB=#|gw>nC?z2zBROI)ZsD zhObzQCJI|ti2nN-LU@noPG&F+c$GjaOtzrvGixxMNj>w&tDqE`Q@w;ALP8dip)or; zdivQM8%>StPq4Z?72tkF`|8x~b>=0bqnf&x81@D8nmRd=0@@}{Q&B5MB{U2Vr=i)h zsA;9K9bd?jeTe~6p`ZR@kqyTpJU%y;mTZ+ay_pboJ!=2XGrhb!!R^mV&rBVMr&#m) zm^>w!R}f0zoMSQ7NeEQUM4T@i%N@OL7?)ntU+wwrZ+K+@NGh5PF z_i72Jgu-gv(>>!c<-p$RuDz}_m@2U|tAfyGr}{6=ac%D0vW($<=H)BpuM$o6ISmkD ziTFTvZf@>8ja2^BzJ(C~uRjsMmp=L=YBYBcvWbg<2^o!-0<4f06TPBnrgM+@ zI2I~7AI@ASf4!_P@0>O4tbb1YIZwXImFCSp^ODyAqDVmDOl71NGpJE=Zs8cDJd9E! zpY+`Jx^gkpk8?y`Q#n<^%oz?u^DazcU|)6XVE-VSC#ze5`PDCejr~ z>A7o0o&gj+a45+eS70L0lB-4-OG&7526VK-QTx^6Lgi#bpa|{5`Y}Wb!^GS;6!oO4rxeDbx=Hs5j$3y!^9)JUk?M_HG5}|q z5p`WO)LIB0n`8rUEZ}hUxZU>(8%9+Ym0ZTEk)$;v&^8vTr0`g)g?a1O%m`R$WR3bv z<8o_;<7G&5r>>;akrtY*yD;ZE20UYa4{N*M++amHs#^G<93B>VE?Ai!+#d(XgX7_& z@E?mCi@5k0dEA&>jJ$jYKDQEIj5o>gV9LYh$0PJyJv-)Ew}zJTjYMCpZ4^P2cCJbB zIHZF2HFO59F8HLVbW`#OBk1VmlIU7kkCWvnQVHZ)YS{|v3NrJVczl@SDDb6-<5e1* z`DXsPYRfKZXOd7GBq&}Ql?5?UsZ^vcp@FAJs(qb>Ch@^71}y3@Xet$G$xDO!N{l7T z!DS|uw2Uo$u!}+jdE^+Krc6jAIvl66h9D@AELJL9H=#9gh#PNlwN=zXIq!Tgp{u*> z)td9Ac1?(87AHQiy7&HhS$sU>sz2O^MZDphOw6ozZ$D1bedWyVv-)$-_b>RaOC23? znMflQs05qQY7}iD79h4Qf7B~3U1)ES{}&EaV5y4XRvmVkg?7{P7eW=_6pR9wAduVKKEg+@_}$q2L*Q7R z;fSTe;^E;i@%^|`Ctm#YzX|(a!ot2+{)F25z|?L;KXdQie7A@E@_WDKr=K_X)Slct z(!s7ixi4SdoZsS8p!vx1WxV-imj-Z+Q(?1B#w+rq(=w{cA)I0Ha$#mV-b~>!=XN^2sFari$vt-SNV+q=S+4soz478nnbYRw_vvZnALB#+ zn)g=O$6wg~i|5<@WoNAuh34l({=B(4|AgJSax8sGFVp@D z_8dQ9{veh7&cEPVEJHnuv6|erq9;eLC-OiAKQ(lI*wXVZto*(Hj8F&p|J5(+!hAc4 z+HQ(dhraFMBTIiP>A!kE;zpCDfAU}(i;3S~m>(&6N&h@^xOp??%A3fvTgG?le`G)X z9jcMPY5oe~pO3Emx%LPC1axHYKek5&{Zf1V0E|r2U;7Rxx9{pLmy z_v`8Qkt1>&`{1*=9*%2new>}fV=YyL`PAjpb2pHqPwmhVru+DR$ed5v%5@W}pXmr`cAQ6StvtU^%IcT)SB_A->>ooms$Fj= zJB&Phx(wajcwlGqNm*@m-m?RIsgC}S!yh>L=o~rQ zj*7gp)0F%Haxl~;d%9|fsu4ximqJ{OIIGSQB4$Ke^_CDjBj~Epg#8)BSBNK`+$OI? zA>~GSbqY~8VyiER%Mn%MzW1vO5jP^MGl&e8ee3B5P_ z>i6DfgwOhZpg)zw`F~sc2R)y_&|o@nf0N~|yqtWMKJ+{Ot2|mPoG;vmCO`2X zkU=$)j^4o`w_~XE2(!nq%o(E1;q&FLVQdUrzN$Bb!c2dgrlCA)G&P)ylWXt z;aK@h+&r8oSyq2ct)31)Z&EAN^Eck`N8BE01REJ*(zK{W6kb$z3gCiM&m{xNN9$ibU#} z44Gp!1xs2$sUWN$%TWUh9ph#3Wcx6`q%Ph?Fm8M@f4kc6n{KFID4kc1Ns*J;#+3avRd*C-P;D5qLc$77_3J*+zF)sZE@=^8Ojwr zCpk&=jcm-?XeYg7b8G#AY|BL!H|=nOoJZQ9WI0*@{Bbb_KcNFOPn?9iT$3b@g2M`6cw=6*$@F- zohM0o<)r?2m3g@8ekBwBB=?4GOp6nKQ0b!6c0(&mx3!ee5ov_cps@5fNCMl0$QFi? zCln0jbUdI`qRNP&1bykQB{ZR0v81Aya#L-!sr#|YiNm-Db>gA&YccO)U%*vn?H+4R z05Wv-&8D$BU5G}KCxw#ZCP8E#=9gv1uw(;cRG!RrZNwdc}F*0P>^n+E{>S>{0S@G|naF^-(R z_HAECD7QV^9!0J_5n8SQK*oeY&6rCb<48nmiwB6IY$HTput^i;Vlirow-zBl<~`Tn zjhUPRun>o*lE}d91|`RSesV$~B`A)b%-pgB6hxvbE$n&%c@qelc8BQ6e2oB!K+9QK zv?u@zv1X4sFEUJ0tdI(#gtm#ws2GLX1E5YC1$-eahKNunI~bMM#1ps$-iKQ(la5sZ zIDA+nPRIn1!gr6uw$vt>mRYk06EV94zlx=;6JUp9o3LXE0M@AM{`f{8!<92Jweo~yWJBcToIUk!pN<~n`DmDSO=sb> zR7!Ev!=C^fE0Wi%{OYe+7{m;AVLD8>J<_DEiA-iJjY)RPw0Ad+ep;=*utgz8 z7pr%&&7Lk#lg_GIx42Vcl4jcrRV3m~SdC1*by#X#TWhH0lxG~;u?$s~I>Z;Eh>$vn zYdJ4#()O`@WzhggsWR!B3JFU0i@ad1%!{cipQjI1tC3K&cX$Jf!Zks|q=7!{FP0RD zXwr87j0c&AsSAy$;i|HVaF$H3r8-rAxxdA}=1dUyoE$<)oENiJP)Up(aDd_g8#qJX ztB~i3(m#D{iV?O53N@D2y`H;XK1V%AyIn3k#9v;^olNQfZr;wq4cSg=qmzBj5biN< z8f`einwAbeea@m38$=Wl^zB)pm$vI_-%8|y9>4Y3^AH80+$thfh}LjgCU~#4NtRZ3 zMp%>eq-{lZjtW7fcW_*DGI%(=*k~-rPC|Ri!l8o0%Xy3Kr1qBVLA#BJNH1=aYpw@d z5F1=ZL`Oaw3fGxFI0D&FvpJJLdTAqwzo?hF4F)@GYsaX7mO{5yPwawOz+%y}nd|Yk2^(&IAFD7%Vn935u8WP{}xQy`-}1 z-5T%l-zJ3$3^qlxHBc66gN}Dhp=8oFoDsh+pk-#UaC6}k3;DeZ zr6PB3_@Q0Gf=V7ax4IU?>Z}dyasFxsk&TU<@FqSBKN}-s7iM2Ne|_}tPz)w>Br$lm zIMqFv?5u6OBCU!7=VPZ;4KTD(aO)MeSD6{K06h&HRn}@QrAa+zoUY=A(GCuoA_wWo zGhdpm2s=P#Vc+;?^_fYf>?qQh3qH9-ZXyZq+}|KAAQwhUCo#`04W0+;S*W`#+@*ly z$B;n4OsN=#(D=I;nJL!23s3DzoE@dK;1AosLfI(DeBE)L2Oxl)o2i%ItS+>|BgO_Pdjc7=WAS|AlOv%PxJ=3CT z16`Hyq2*fHwt}*0G*TEoM#nB6eH+TIhHi7;!PM{lmkm<)d9_$Vik1IJ<7tErjT7n7 ze1ho|OqxXYgqHFs)wUpVdQ6WrYl;iL?k!YtFmo4MB?IhBA482Bj@l^DSk0&k!zD1I6;w28*i1-8Q>9S_8_i|$3+H~g z7~#yBT3DGb{5BQ|RHp%wTzAm28Pvt1Z*I<20RfbpZ3%NB^Bh_>enTzL_`@S>uIMbY zv}`_Ju6F@V%_-#CXjPji@7g{CHnOZ)YW<0!Xz*#mPW?KrCi*vIr z!@VutuZ=k}SIdjU$u|38do2@$LLS(XU(LQz&+)9h=W#QlcLGeXE`JSJ(CX3HFMl4s zlF!XXgx9O2$h|*>I$T0nX4zB=y9Id)s#;$a_*ecrBQn8)>DyK>mGu#3ZZp*OQDmpK z7SFYD!Mi>-L^l)6I_|JK)4R{OunR({ByBC9YdB1>BD|lMT>y8jadB`n1uU1*ovbZH z#mj{_O>J+mm-e-*^o(QOb+o_3qr9z(bVVy-IveU+3)F=$%*s?80gnXy;|^! z#t{>_^z+`>fFI_Si;6ywy(vf zyc=&4FI5nw(H**P$Bkmyi@)JpTT$FZBQV^cS7>t?W*1ws@p|U4sEuU%O&)TYR$X~; zjY_#YN8bCpu;R=0!ZL$)&4Rn~hRNQZgVxJ9V@9!{1gt0-+FXWGF5&QNDvY0GYSCN) z|2Qjf(McV4L9iz%1^m-NNLPEbZASX=vRCVponGR2i)e^}mz^wK>wH|itR~J!HZu#z zhp(wCGb0a!FG`K_!1{EkJ$O*(j&pKedAH2E_N&LWLSA0j6>ju}@h3`lkzt!iri5#B zF&Mdm?(X>cGc|sh&ob7PSxGzbzQ9lvp`TnigQt?@+in}LqH!P95igAqZ~1K~a2H2h zAd(Q}=B!4+-mY%zPNb@2nJp7l^}uFaBwUOACdtX*UYrggpz5^bu(5ntVgk{zgqU(= zxA&YhagBF(wOpZkm%aKN%OZ;uXp1K1lL_`wnG?bBJFOL$IJ&<(k*;Um72jrDJSVQW znO#m?TV^;ZzH;>PTrTt2&1}&W3d%)()oAP|HW)9X@(-B$x+WLY5N$|H{!b^BhJ_2nQ7;B?96^g=d1vJBJ z2%m7XOuaX>?7qda*b;`WZ_^H5+HQ8W;n6=s!CLq=?9KOSU>k2!9YW~7_fut3%GPko zzwc8Erf&pxqM+?-gyW2nTFcJcG8JFqn|k-0SWwHVU_KH`)h6{Fj>{6y1!i(J8Q`BW z|dcjldmfGfyKMQUCmxd*$=fd zHQw-CXIG~#@U7D$=m~XAtF&1V9Z02u&c1|gygqKrb#S%Xj%G8<)>!bZ(--Io*lZEp z>@V{91ZHiBh}>GVTatKhcc0JBePG~QrZ3PFIM^7QwGWbd9_AI155r1Br(11aBB-?; z5%R+Hwsj;0yiGT;x;Qdz;B+ehh14|`((@+5W4|NlOw%>=@#HIFWL;ZfueHW)v8lyv z^exAC>SkyTd~5UtdcuDb1LhFxU7PJ8$6~xTiN}`djg50vHaNEh=E{7l^oe@He-k6( z5GzoLfW#~2&%^RITNp0IV3u-iv4wNIe5>>bdcuAm6Ay(Cbhv|y`Kbmpa{c`h&xO)< zs=aa@L*{$yEEKdhGY$8(&B}Jwq{1{w zSg8vh!8g4sWax zsGaNEnB5z_rD}zyVjm*I=)|zf1n$?=3uG2;khBV4__42p*X;yKf8?KU>(?)|k zsW}6cN!J>Yqv(gRYHei9V)15kI|uO%h*`5Zuog_$ZCA3$-Y4+Zzd@N^+<5k0RuaBZ>{WwpyOfbU?PA>vS4cbO{`o2 zp+iaoJVSe;h*KFN$rcX8s0Hl7TZlBnl+%?m`Gp)XAt1LOpn`%W6xps(gRp9?G0~+^ zcL+H6Ti~8 zL)91{P?C%HsIm!3oK>NN0uHp#1b%yPtRQ!I=Du(OwHt}h7;*#@V*$yYu;Y1R51{4G zlfyd9(OPm<-=qoz1WRr<0QBpdM2CAQ6EB1J1w00SczrCUQiT2P+8JPk^M&*RtG)!H zg$@d=0WKxQGZ8 z4mPo@Rtb^~DJ(=wm<4zR#Q<&TRGP6dz9_*LdgY8JECNQiJM-n(_Fe743QIY2a0Ip- zpJ(B0#yP;D$6|-bi=@g)kVZvejTPKG6>)RJ;)Esfb=Eg zmsto+-a^23%f6!Q6re$YsS7N!Du?n2%`p*jQ$(>y-HlxPJEpagYJ*mT(`N}dfRCMq zM;gI5!>Fqkh-b?61zZO`7I~hrPMwTWLNld=FhT%|j1VMs>vej_3NwuWYWg50mB*=2 zMF9a5S?0Hyn7UC+V|+a(d8krSkGMe6!Q!Y?3Iyo_my87!1`^Wsq8ot(NQEd8tcBij zuoX~Zhl)3eMD79XKwepoEeqP~auG|<%sf&WAR+rC66ffdDG;V+2eo#;gv}CEbBe#e z7_Hkc9;<~?GpN%D;E#nuc{B5lslAdyux0`0zH_XiLUFJ%T7!*JH4;g%iDDXH=88>;AfLzB1G}jP9UL3i zP(&rcC5|enaDGzdMCU{a2lajPnI`N2low5y*J0K315{2Z?`guMQ~kR!6=c`7ouC;)7pX3HIR*I*Sm_* zLPIVg(XK9t;Cr~6GdVU6&o0FB9R+g?^c0F9QbM?4CsdOfw>xB2bsMlt!1_3af1bLj zJppM*_nj<#3M8?f7P=4Nlm^w7YD(R(AE+@k@KFDAr`c zgeV$H(8Xp7=%qrW2$i4+8?vqQknb9AbX`d5MGr{P?7+nz%wiwL0bmyWvsGCSr`~B9 zoW3dOw;r|WD=Na4h^2#h8Kf>e6BpZO@6w=WQx9}c+)2MB(9noNAx=8VOx4`TM&EAa zd}>sV#Te);Hk?HdB8v{FQfW`oas$JRb0bCyX&>_fC!iQPpm4xKp?hN(*lQ(%a)l_g zvG#x5o0$`qJ z36!=W*b0U|N@pB|0cgFAMO=1$k*-Q|(vS)R0MWB{Lmh!L+-=)ufxNbXW+!u+t^UxT zGnnqczj148#>RG}Sj9hh`Ofqyo%yFP|Ccujqoz~RESdKzDWVjLv?bVq4)v`S8@!Ns zOL_6!b7=nO^S#<1%+knjb4jV z8pG{)&Pn=y(jRIJ(NL3*HqcP8SO=i;E)O+FmpW1>IGqy+{GdSQqxh`bOf1q zAqk_<3b>d`!sK>$%glF%jSt6}{h~J>?zA<4C`U@m1iuoqxv?e`im?zu(SrmRbTvO( zcYewIKK>juP}p4B(|3YU5@OGQNwgO@lzkeCZ%Gfs+yt{Qu%XVOI^jxnsO zp^tAp>2<_OltAY7UiFQvQl8-4fYAC51ChJ4yx$HP`Oo_8Z^sV)3a_-#7(sWGgRllj zw1>|E5>mKiK8^l_i?C^kYed{AAQb|w5guMppFsvaR9mL=F0l8;#D7r3X~7Mo$72J$ zTc~1vhQd#%OnKEqh;%+Bg%vE`c^1Amb?CHK!21U)jQp9^GVU}|5IFy|A@nWiz%O!5 zfPt8|JrVE^7^36Tl%k}J7s68aLdpq=p3$)nEr~esied0+ z9sANt6ysaN^B79d1w%0Aw;tOxUAKY=_meq!uV426O#{3JH9+3%k0R(3!GQH_LahiE zj)+is**h=c#s6h*@P8kqJy+J?avjZ`LsxmW)o$Aggi<9NYLYzcPR7!K`5pK?L`&P#{Ip;XypUc>e5;o6=O^d zpA?M?laHDNCHH;cSAOiOtXok_XOQUxRau5hn-&g01cSW+38fZN9OnYf5mYQRJKm#X zFKH7ikrS7R1dn~8Mx2y|zKE2qA5c$p|Dw=&NSCNVGI65uMoFbqX{=HnE8W!qV@BYC z-5o_~$8ET{BAHQwfDjl^o~;6Fh*KyprkNdPyQVN;K2k1-kM1o=z&jSi_U<*b6INWp z`NOj7x(GqbgXqzM5OI-m4)~Dzi-eK@5Yck3l#FPvUk)VCcuR$t0J#eTMNCH^6d6t0 zTIE3L0J^q_%2^S?Fz#obB@C8X{PExz0;l~PWQF~UT1PMd!h{$Y3al?dx8GP~PnfqF zU9X&FLG)ADPT54q^QVR0ANt-Dp!a5>$u3&$ZZ zR|amUa+sdOiWOgjRHX=z6gqDdym^SUAR#i|jRo;U?-&|}F=tCom|hJzIl%qE+_z|f zM8JdK&=>>ZI8{*0xoVJtee)mJ$c@>@Gz9~#p{9%kR0)!EpETVDT0l=+;cy39iP|pB zQ$e$~?YO@phVK~c_6|5Pi8`eQ!?gXKAu1z+X^aX@V7ii+z_^xp5hPM@Qd|2RB*4lD zodG)na||qy4iga8Ri=>=OS0x*!cXoM;x2*52$JU$NzkUNSYN5DI2> zNkKer3hJs2?ug7YnZ_^_W(d$L4nX0A3NB?&&VAk~RfFRk41mlq5wtRo=@vWM06}3l zsOJNmcM1Uqe(;lWR452S*OUo(PFOr_4e>@R&ax;ehEb3*AVz&mHNRNNDBvFWuHK=N zpva5>R5_2t)m0T0&sFjF3P=lEBRcQvSp8G^6a;ubD2p;cHI!tyENlfc@NIGNKLg_C zg6zDaD{ItO&KfTU&UkGBo)Ns;Gz#cJ0PaV$pg7Y39aV$*6?G+tVJN>poQZnSi6c=a zg$N@Y8UUgfE^ziXWAsP|s)P}PvmT@uqqBfgrH5UJY<8LU2gAPAu;6+yz&fM7++wUF zPOdNwX*h|Z`W=cO93wsGU>)#Y!7Wl~9A;+JtdLVBGz~xLKMO};PTMugSOMc-v_&9G zh0ZjTU69$mF@!1W(|&@omTI{IuAmyS0qaZ~!vF0V7;3;}+EEZ(DWOB0Wett0YDeru zvIdr56yjFHlabi~d9uWmZXJdqpfM>wWruh)99CDHfnXy42brp!E`?}baV5$S>Egr%! zC&aSJGxe_+(qSY}z61p@#u6c=3g@Hu;2L(+uv{@VyFL+4P-oqTn}TO|gaO>IK$L-& zGa?%(fxRR&tAh71n&$ukzEV({b`;K6u@G9Ik{WSu7!vcBZ(s%!C3AkELzRx&!#oY! z0*<84afFgo<&XfUe%H+#Mgh&T2DJ$;k|;~RMF1=%0zn}qpNCI+%nC>E9D;xyfUaQm zp{Pd!G@<8an22x`HK>OjG-OKwI3KhIU?MB109|>$7Ue;!mOv4Me5yl1phjSosbi`H zYO7CjSUAHKd0)xrHl#^g`#qh;2ngV8!oW`XfzN3z}d)^hA^1- zAS$I1>u2F$cI26lg2o_EbX4iGl{^!ROwg_x$SJA8NoAy&oLPZbEpE~O>vItD-C+xD zjWDyGt*GEK>?a5>>lXy?5cw!GzT?iQn-X~p7WDM>nRpg zjsy?Go)0J^N={kcxYQb~7hdF;nPI0&eMr`4nblgw=0IvN9x3ZQ05P09$XnBP|XgtO4(A z!->o@fU-9VVA47*VOrkUAWp?$27@R3cZK=RdS%@b(%_pV=eT5;t<^0ctRFK zjn^~&7JrcjNkrNTMIsvuT@=bRnX+Q!L$qWym#s%S8 z49+446q@WL4mCCwx=5KSSW8r>EeGf|+Aj{#p`mJ>Kr{YZ1|5O*|GoA84uyy~djdC% z2B+{FL|wi+SHV?FG9(Sf_4qo3JYbO?T2qPkW%LfMrJ)1V#eor?>>zq80#|23$CPHl zxq<-376u{U4B_yp7A{>D4>l?_Bg3D0Tp=nN;yp+sS3OL4m$-c@r$sZ0E4O}Q{+K_ zI?sjCCsd}wJG|Unv*duCfJ!_uYkJve;Z;$b486=D4=|ldAIxU|aasTj9#|34aiKAa zsW?n9D1cUJ0?IBo`+gv5QVK6;+lvf}rQ~h&SlXB-9-$$!U~cyNbJrYBM;8clfu?!q zfm*ILQZoc%(CBlg&j)Gm!mw{F3L~+>@C)taS>e|90T!iD%zghJBE3V{FQooO1Wy|9 z05D+v0&FSgN@1A$e?5D8w(_+r!jdbrz%x0dZ>SN6ChIEFQM>k57}kubnL%LUsxFG5 z)phn>JwFr&wh#)|+MYS$6+~@0FDMX=1)==f%gM1*CTZqW{5h z8}Da4OPq`+u_oR_0T~PvzF&!Jdjbo^a44yTP(l8V+nOu=VL{_WOey?PmUW@P%b&j1 zh`CU|zCSi(?dt$A%ux|CeLi$db1c~GCo#WmLTiBiEF}@oO&vAXq$l7)EilA*9c6<< z6x_a0?B0qgA(|oZ<{`;SgQg&bQ9C#Yu1H!*=iIIY4pF-?!mO-^3xfz~lWr8zhYoBt zDS3!@Ye?0AW?iq^@=$u7a|d=W@Z3RRn%kyM2sjpJO-u)c=VK@W z>@25vvD(Yv4c@rEE2>0M_a;2eI4VIgzo`m>P7;n1mV_Yyj1p3JGpslka8!b#lnO_0|LLBB*811!NaQwvc%3VEnX38)5W9i|E<^Fb(?TICDbL{qOWSAtEG+%|`S+@DLbzu-GVq5@L~3WzVit z(lK7o&i|=I5aFfS8(-{d(7^Z61x?u^U0o5_h0N%;MkAIbKnUAeW>@Bb?f6PQqS=Ty z3QdV<7Nymp_&jmEf3gJq9;PBE!_dHw$;9Bu?&Dc^mp&HSd~^-(G0;;ZrL?ni%zkvQ zZwNL$XNWlv8qa_X{#`@=4+5E`XR64QTC_jZcZ}p8E}6cJ12314RtY-(J87+H-et$K zN?`1nR~4Ee(kFkk1R2cmOP{`)ai4t#;GYR-Vk3Wg@|#=5j!@dBzs*Vt2h#@n*xm&u zp?uCgRIZtjWgw0TP2PC7*2BI1H5@+)(A1#-GskjTnW7ljlmdn_gn{tSwzP2{lRwh` z2nP@l000006k=pR003M72qL^MM4}4Tn2GN0yZ`^Yxe2o+KbpGXpe4a90KZxB%ZVlvdPAD=3+@U17Y1^7OzfC_?pY)%EySiJ&Y0D@f9W@e3YL~ke+NsoT zcXUI|(@*&CT03~J4GeeHU8{!fr|a+CUP{*j_lm`vRHt>%y({bHna{yo#(2wO&b8HE z`GNZP?TR8Ta#}yzT&?9LYCgD>ZCq26*)~l}=&55a(zd7NrRA0``{~zwxYH*kQRt$2 z(Yx>6taou{URvO7xW2!Q^^c#()14pi;G_@zq5n~}Ed7v~joQ{<`j5b~u~Jh{>Bd_~ z{=`3+%cTp*H`>vajl=r$z0~`HzjyU^#%&o+P0D|&d;`c^^Cu`qFu{Km`k`)$p~zgK zaV?mi9<^K=qi!wT8COrkfC0CZ!%A^2 zZpKoEh2P}9)E6}+#cRmz6g7W4@6xuh67j#D&i(3`MLA4sm_S0$j5ie>2OhK*1z9rQ zqZ9Y1wDpheL+T3YyZ`BX>2J?Z_x$GU)Bf%sR&9Agx=U)i-@VQu&WUQ(#*|WGd-eLG zymIf}#>?#@qId0-NT0=&reCE${uz+D(%{H`tY0@R>kQ<=h9)nqbxDxLKP@ZuTjk^r z)%J@i)W7D>&v32&SoL>T!@3RW3o*caKWgPY07J9=&S;XnPj-;O7)*KEhzWalsuHsp)`js7)+q)fa) zfS{F{n?|YDQjq-?1+o~yJnzl--u-5u@9nG`oYyykvf6Gueq_dO4(_TfKgXu6C^wPi ze+x|HH}u#yuYowUu-(1>#mO$tSg)&p9T>B_vpaSdH+xMF(hri&ozR6?hVG5;D%c@o z`?va^$WvJ987PrOZ<+Jg@-x3?Dn124_Sd+G*xa)H*Uy7w_JBfa@m9!qyUKR-+kxrr zIW=~Zy{}OONMrJgGBUY*cS7!d8ozf`?2=wKZ1h^JN@I+8x34ywep%MlJ_#1O`dy6) zyVeff$4MWQELnt{o$&SEX_HVJk21t0Mi!H{5?5qU+w5;s3^t=T1 zytKXi5w_WC>YkVq;@HKz`lnFs@7~I{4+_$twDp?X^)-9kD^<_`2gP}st()5&JO8Ne z8!1$5V1Uumb=q1B+YSLk+LTq26ztY#KvUA{ zRh$Gp7FZP2aOoH*kVI;nHZ>UFZfO!zv+@`Brm8b;mh)T6!rJ&UnOR%u)MP!or*r$J zdq*O+sru;HAuM_?P0RZ@4wGD&JBP%$rmZoVR}4@_?1pPAHT{VFvSrfL=@-jDE&H?z>EF;dvXcYlO8+_FDT zHo%#vY_X%vRqz-8rSV^{f2Fi>&BuM@`kb-LR6M9h0uczimLR?C~bRe^KzwZ zHlU>ismkn>NW+>IZbwRfLs8MD73&CXJ#A=Pg)?Wdcn@4B zx5Il$D#zqE#0RgIVoC84ho9@u8?5zwVzPE-e|j(|&{utGrk{Bff+!K|5)PQMqbJHU ztV125Qzmsm845-a>{#2paweRT0#NnXsZilg`)Vk-cw^fpp4 z^-xy%v3k|+Wo;r(#3jWHVjT`0FglQeCL{$LHJsO=tTN5&WX^Mbl*4b_@4)p~YNn?q zSh(dL07GRW6vfOKQ(h{UJ;ZOuOd^-l(B+6$k8J%Jbd?F=r{T4Vut%9kxZHnK)^ zUF*(UAJ$Y#hC|-EHk>g+l+BxFSM_M9OU_jUSAzr-eytE30+FnA5YCTfCpXP1%R~QV zI<%M@o0eC5^+pPYzoC07`QujV+BQ&!V@UpZ7yM-G|L>}q(w?#sr&tZL6*ucU2^T@d z#QDq1ZLpu7xSS7Vp2Ovl-M{qj?|4~1q`3|`Q2SPQy#dWLRRoulqzEXdU(PRa%=<^W z1cwSWYvOOx}7YCqpdxTL7X%`)F~W{H745BXhz?Y%QGf(Zo{nM$)9FaqbahcQ9u!_ zv@uNN7FG5{iq+FPRZeM}q5SjsGw>%mCcZa1MNWmU7vKOg^;;W%(I32J-W)M~0DKrXt3b=z2x>2+IZ z@i^uCfp&H7jGObk!X`>~ufRAQ!#$Z9t0%c7vM3gDg+@aocu0`emEpu1;9I599UfJn zV0X6Lqr`#*=3BWLnn~zaL>*l`S=}TO*LbGyxmv>`-$8G`ft5E#YTk|!v7*liG0!>a zJ{D*&HDmaWsvO>B6gyUk=|4mZ!-_Gb$1W(MI_T-t7m$pG)~}({8KNj+Migr?QWG2wl~ z+Ceo0e5kNeTwJqf$s3Y=&0C`D7%%?aGHK4@Sp0Bcy3Q&8iNoZHArU z>3%sJm6sVzmRKnvYx|2H#K5*jq@o%E)F5^v&ATlpr~{B{*c5Jr5|gp)hCu2VL$mRi zqkCj#6{L;n%Nu!pmpFA8cP>2^0TQV3*hprcA{9eA;Tcss;!ch;HuodK89K%l_*btZ zPt!ZJ|ueHv|OtV zY*gpPpkOQ=e`r$@wGM<^+NTf@MOhP*^D@j*>zNIO{oYglC+G2+M8xfnQ;(YW)dxe! zu2rWHCr-CY=6BveS(%!REWuFkELAFU2A}6|W@vjqeW%2|ce0EBisRQMA)`?%j+p{0 z=cv@vG1WgaP_3q0Yjt9F;cw+oGIX!^xXJNe34h?x?{S$%3Ei+v(nuzefJ2@ZGfLsO z|BMqYvC&PBTuyV@E3tbJ1}=&y84_TencY0O!>tbbtw{7%6eqyH zB+r5zxBncBv{f`zdsOT@McI&SG)t5bJtJ=`X1E@0j4`Ql{~6$GM6_35?EZ*-uRRKO z@Tg4iD#kf>u0eP)C1VNW99ylVl`UuTQVMC@Wunmdb{rm^rv5r4S88lq~3NwO{pI2we?@-ASJ$`qdrNvZgG zNf9_boX)j_5KO^{$dRn&^HfjM^BgcO{l@Hqj%gSMo@J>jL|+e2L?k*RQ|_ajR8vsS zxo4S)%!!}D(RVFu<>%7lvvw&QNExkYySO?egqs5> z5YreD1Z0?8MPo@;?jZ^^McNKQrT7`A2FP5twPy&ZpAy-HN}Dby<2o6u)odOEKQ;`< zCVUOUw{4`<14s-|X|cpx7S#EN_f5y1j)(V&Gr%kk^!yP7^#6mNRp;D(ut{ljf-1(_`4&Wc?ksR@;+_+AahhfQ>U8Hy18FKzZik0b<8Xtzq zAad&{`+AJrOhZqgu>ewJMm6L>;$-tki00KurHTZ@>!$dAf}+Z{@CL351{nZ|tKp7> zIjB_@lw zW2Zp06N_UEe~CEJr87~y9Tpab%HaJ3g!D~UeU`DK4Y`Tp+eg|~H=oP3hNT!1TWPRv z55%$_*ZO3^je_?h5my<>vzUxXnZGj`cnhBfktDbZ%4m|yjzET*J}Ovwjir)}#ySx4 zFwI=!Iqpm~Ad>2s8z|v_R=MINMjyd&ydTI}3?sKVib;u-7JROw_DXY^X zNcK%G!ZTuE$wqRj2OykKTXYYsZO1$t{FWE12>S^m!zClJvCl~Zxs0m-_AS84VWOE+hoOS*j?I$6yHa^ds|KxU;xHCvlBM)s zMuk-mB~E8SBSfrLBD0!KZhzyjGTjhK-HCv-X*rcB3AB0$+n|Ghbp&o@Ktl_}QI{rx zA4DexV~`#Jj|sVouUZ7}qcsQ#ETPj#Bzcg^%maG&f8iA$t3b^qJrY|ja?t{o$cMq8JBF^g}(#2AG3x--YTjKz-op6;|$o!MG9b2_%?2;={xWRfQmxa zm=2bp+_KbSq%$e)`my8@RgPXETR`=Zs0C;T}B_phc zs!xqJo+sa_e3Nxa?0`@0D;#S8GHU&p1o{$@Tw~+N$y7&whdzHJ zawm)s$Sr_?8>UaoHi~3Wn`wp>w6}JcV6r;3=y8%BS>(oWmM_4*fOLbO@P5~ zWam~biVe0+{NF$mW;p9>`TB=Pm{o3CG5N_#ihKFR{Av+n){TOG)B0rOqn#nbcTc>$~B3PM~XJ;$0@)&lEH~J@U z-m!&wVosJ_W2F*MEhC6QlZ{W_4Fw)Pw?(Rs(YRDti>og)8B*wuQsHkDN#(cGUQ;D~ zg&_$cBr9rN=;Bk$ZiYm>T@9(JSIp^mR~tHVP0QLwXliduo|PchxD&fCqWJOG$mmV} zxDA@xRcR4u9(+tH$pN*MHqIi<@w z#M8o_U;U>v;zJctEC?A0-N$ROpoLVJ4DKSiGZI#-oOV{o+O9vZBONY&vA(ioj00XG zt^lfKBT2!B>Z`i)xGzchvWOc_s65ZI?*oTfep0^$JY}#m$kx3LYVC}f#7-b_NsCy* zaqeXpS2Eb_pBH}J4jXVn%<$~t`UF9~s3Xj=>UK?NZ9l1H+c=r;m*FK~T``kdR#yxw ztr(7P0kBY}(v{?VyN<=?!F5Jz`~noV zTj8Z>#e7ThCuHBck9(38L?X}BMTGj(j|0ORDv#KZIutRh2KHd1r+*!?hJ{5Zd1bQ1 zrGePyU7_HOgg!5$q`fFPAVb%&mEJW$%|2*qY!l~yA8SIyr#aP-?WYmc+cxYOE}e?m z*GS#tqYLxz09;0}#}JTdT{=Q0diY&ud&^R`kpP(kp=@x0uALB!$>S=%>QJ8BfG>Z8OQK6HFi8RhS&`& z#bbbXWk_J(5yl7XNFKt%R#k98kPRzoaU&_&10-V`GN>_8)B!uFR*gzxTl-!m&jJ!uGAd?p8~}UEoGiU> zUzcC1iG}7&iBcT{j+Mwe@k`gVAWbeSLpw`Jak($pN~|Ia|2}~W_)Eb>(i@lUczT{E z`FgT=p1CL*Q0)H}kJoqe?^f#FI%fMGOKGM1Qr5imE!)C&Bntu{N7gG^{{4kCxL`6; zcncz_}j z^Aqrr@W_5GA{itw9Jm%T3k)$H<~x}ja%6-`2)S#&f>?E#!sT zA-2k{J5Y)iUqg1I>1gVWB{kxVsv#A7HUu&)ja*ABb^)yms#?ei%Xf8~3C}J4hD<@p z7FINnsIgdN!m?e*f{|B69dV15+{q_3q_&|0RY|k5iR^Y`GqF+=|iX(h!E^^&N zG!_233)_eqSn4f*NJDWJz@Bkfdqv4@G~8pxaB<`7rnv?+vzUkDklDIe5q2%w#>Z7` zNK#p3sIxIn4N-!FX6Z@jIU}BNcejrCnK=@L^>fRaku(z<&t2>( z`>;1Fl|_Gq|L*;St-9UDH90^n0U9M@8vUc7+WGB@ynC4{F1(BV3jfHB1Qc=2 zV@nd{!HY=9kjG;v6}$tVYC6({nt!)WwaG@nn2Um=7{;+`E)!&+QGszGrpDb*wrVL^ zTrb$?R0c5eZ~H;2mmvSi+@9n>vSZRl(2D}864xkpG2sNJg0yU5@*XWtP+{1FLa}JV zH0R$dd5+7UqW+NuEX^<>sS&=?@!wcDsKx{jnN6Ip-(a-MpFrh-1Ri8owwdo(WbHD4 zQcvNXH#`HeT?un$)GNa6{@SlTiWR@pS&3nz0xoa&E-B#=ZaG z{^lMrbhH0I83$h2`}41GP6tUtt60|%k}QuX2thIuUnv&bku;M9Y`dcgG9BdIz;71G zg!{DqjL)qk_aoIvz*hgCENtSJxRq;e#!tb0JXsYF`a-R6N#mMeYE!+8)vBWWL3Dze^ zsrW+{k5(bIT8W%(FVw8vNCWlkXq0T(%NffKR4veM?S>_$$w_n8c2tQvjV1fqrt37%4<@iM@VO0^1_V_d&FO z`6`r!DnCgQ7yni1$zql;NlEr~&(^_p-&v;x;I+*l*Gf>u= zB}QOO$<7Zyz=;c`*}>D%UlcZdk$)Cp)BF3$QSUL6ylvB7=C4O1Z4wcg!`@v<#~|cW zMIQp$?_;v0vccQHY!chNWf+WvOno&KsP27XhV&Q1;ZF821$FzfIMbRL5hTSj{lt~F zK`j74e()Z$h(<)0q@x-x*3JNf2-|yr4m-pR5r>MNPV;Hn|4NE9)oFu1_Zj;GQzl>o zld2W#jy)lyIVDQMg;38~Z8ab^Yp8%4uHzA}&E~T);Irkfbmp!hNG%R@XtbVMl(U(g z_RFLVk4Y|O&w{5`on*}ndOgcKSEtrxZ#Ut zi4hC$iEX%;iZ)>tPHBbZh;>L{H5Lw@CqYRJjceb&f32*cDX;ZXGlvmw5VHiWY|EJW zIGh2!kP0CJi8xC0G<<9JzGHk6jZ3(brEvj(>83!`Et&_7xg;r4Li0;}qZ~MBQNqIv za633fDKHJCW6B5p3Ftc6p_vl8HG3l5>+Zxd3SMmKu>7_(RDc^R`$5DD90pvP61&Ja z;XvX<(-IPBV$-BkNOdW74Y4tG#{*b3Qldg9O`I%`r;STnNQ(j8a}LG{Na+b;XtNm> zI4w@lOwomOjG?EA11!k1jZ(^IlH4XoRO;b4B{efbq^=z9b&8n|%g+%uvI%T7Cqh^! zETRNraO4Sz7R`0E`$dex4IF0>7*Q^QPz+h*>dZryrvYn313gH=$TnHAk(DGFc+d`Q zN@7iQ%M3&!3_v&{G=ej_YN6aQYfA(yi9bqm8lmaT7F5yD(yRpdm$cU@9u!)g>}+xZ zNI{I)n&QAP1Ox($IGbpkXh#I$!x4Z5`&3F2Lz)gvg3U^+7K%pBq5CPgmQ-=vQ7j-e zAwXPFP&Ghj1_3IWhK^>2@B1!k)`^)QYx_D9;mn%INr1{pNQa%{{ot5gG>tJ3u8>1XVhA6IM)T>&zoa%BQMvr{)wgh4;AYZjo`8)vXsb?I2c!JbP3{@+PUo z%FvA#vQS&)Kt;j!15Qh&BY}`~Np}M32T~hctPH(sub07QA~ZJ4r3Tfh!YRas4GAh# z4yG|oZLEdiHD6oY4X{9}V^W8>6Aia;AAGIyu(MhC4u01y}`4n8kMH6U?Qgs;mZg4CBGIs+WMW5y{ceL2RV0#E_D5 zRM4H43NS%z)3Pp8CtRgdN&q_&El%qw#wtV5(q?4(Vr!pQbAcPAbw(7?BB0q670S1f z3=q<89jCmW&Ac6i5QtGwcA&~Jx-c(vX%K7sR4yIO2X!RMA*3<^z{q9* zINJfK+ep=6RJx_!oxpWKJ7)u8X-H`!sL~9FGFYPph$$;uc!6n#cB2SjNvZ-ynF_;j zOIs;$1%h9P(Ys{8IZ<;q-lj?aQ7ase46DjrU`YO&mRhwwqZ7;!IU=$30Td`q_T3B zVg)P>I;De4jsS$DiVo9~HKpiGO7k=vYxZ!+GUO+5R9a2b(V0rZ9fAl*tSb)bZp}M* zYXvwpXX0A33k8*yM$*{MIvNoa6$!Y_|110*#q?20WB6hVGDhkIkyK~3q8o{roK1pn z8yB%`3VjX515%bxU1*?ml|z$4Jr&q>%2}LBjtC&ubCcH7lvKiGV$b}>^S@KGh5V!! zS6y9sCF?L2uS)$78OpQH1O&6L5KU9b35ZLY)D8^vN>B#(U_;snAr$)EO$pX~Owr|l zi6@fg886rDn1FB$paqIJol#u_Xs8>hIE~2Q3Rkie4wf#*Amt^EbSgXP_LVgFgSxZ@ z7qu74Cj&HJdr@Z3hqPv`!6?*UI%e1gSIV*s2sx3E#9ILd`IUxg$Wf`|ZgEgSjuaZH zfmAiR%#EHsaL2OB>lauQ(@t2UmxKidyrG*pfHUb5n1x8yQrOb%(z5~d4Ds+A8)tOd z*zR7qCp|y_!yGzQ4DLnkHSbU`;gmaFLj{l$JfH#xcU>92mCEC~4uqm4smxKBt)VI` z$X~H2sxTyf!H|_3K;q73sir_?0fbky%WR=|%Mcb@mc7|$#9FRHNfcxTrITI&2@JZ! zL)GF`<#Myr6;yjB@4_MT&>`uJ=^8dLH;`1s7-GS~PRg+; zvP-B^K(~_ME3{Zd%av^?CJPL6Rs&-EOP06rpoo>4;S6cKCp#}1^KgK-l~NK`L1OD*rggzCqsgi)F&5#ZX`VAo&7}~*q(T!( z2tfowU5AP_76Z5lj9D5x?>bNe9cdf314MZ!4Q_cdUjTQj*ej0bJq|oBh^iIVP&jqM z=^48iZ_Hdso{OiCX?2{;I7|{O(C)>Z0Dg8=jI?`JnG$jcc0MLlb1~ykWiwp3PA!8L z!7wUO%%vbr14p459>nL-V*J(OM92sqD=XfpW>u8K4OcqCQaw*AHT-f(12DV$A(EO) z){Z?8N(jMioe*fG9cMRkkD>t#mGWY2^JcB%h8m&a=&ON zb%p=`^OlVd9y>kmXiE%~#76@uXH}gEB%nb+gy&YngY!-!O<#V0(0?VFf#JbBTzS7~ zYAJ>19YfeMA*1uA`O1+sdr~m8N=+!iC1fBdYD^-JaAyy?Rl#AL32Ns=2Zo%A0*u%~ z7m_wYG8=*kZV9ux#5ZifGj`~wlA%_hnP29H;lY*w|DyuUl$fZFXBnqbi(&;KAqXJ4 zh;rdxfmtpH(+_&w5)8u(dcvv}%ybNqz^NSU@XIZOI_;4+~KySOQPQwL7Xg zMA}Xl2B;R`DJkoNX;HP69o#a;3fY6y^-9V)U2Z8#5OpitPeTQa#E->!cq(TY~q$xl`VFg0ig>ZL>(fogp%Fj z{Z1-GH-TDT2Dm}{`;ZWc>2esME9n4djEiL{KxXpVGNUK!v9I* zkhE?=hz+s=L5NrSlV)Hiv8tuY3(w6Kf0)vOvj*w(Uv`%?BSE7+^MpJOaD`W_BX#0t z!k@#eZS7dDB*LM{oHlirajj?G)6#nl#KV_-}>M+(m4hzM(NTn%l63+fI^Ri{J5ZD$xP#96EX zpk%_L1VL#{O9Hq?1j<;2L^ia*R51ZnW?33R01kzunZen@#X~wRgpI7!6#!ykY)Ygh z%1}5UAdrKF?XyEdzwAN*B9`RSTwoRk&Jf0+G)5t7Tg7%t;$i6|B}QpwNn?cy4Mf(X z9jB!vF&j!~Y_R!xu>=VK8=Krr5TjD-1|z2+WYS6lojGA}Ks370xN0C_@NgajAY>11S<*}H5N-_NS{{s&QDZy2yP)zOPd+#ytfgGjLzU%**loQ5c z&1k8LG<+ z`Tyc_(!LwB>9pX1-&?a>@Zs0^%&Wf4+%9@+!qh+iH^4`^-kLsgZ(8zu9`M4`KHE6o zwxdB)b6bAmp(SYEHhx1m1%lx=WNk$T=b!CUBrJ5d3T)lt~XC{|PFU#Yns<(vwUs=cL(^nno zDS-9A?am7sZR6it`5blK=KI$UT!O9g_3z%4Y}?nH^^RXH{GI1!b}1L?)mHn+$8CF>GwpK6wi_GJD?eorlxwkfKw4VEL)&Ahd z53SDI7C}$k(mgfnmoJ=zL9poycdJIV@2!hVrylbdJBv-ycVzwU&LeN#qs#f{#k7_D z=cK_(IM>p!mPKvcO}Oi#Wq0qCH9lvm2pt@Rr8&dr>4<96D2z2SlWeVwoU`B!@u z@>SnyqE374kuJ4KJ6`$OD_#4N^`HMUfA~(XI`7Z^F$4cvo}U4!cqm>6T)4Ep@W!87 zXun4Lq9M=FtDf&RyG{IC+dJ$pnR{(L&dMLX@#`*A0yF>3gP!x{BZRxqnSm{{&u5Lk zQNHt4%em#YOYft}xdl#?9FeASwu`^wa=xvo-(~C_I*zB?_IMH(9Jv>|a3CEmeJvNt zFk|#;ZO?tzrJZ=LvtROa1Hy;3`CM{8k6)bbIuWqw z817s%mvp_oc95^=)h{*KJN|Wp=HPeTIS0*B@wS=f+iP^AZRym5e!Wg^U)6_w<{yvE zzS?mmulMS=d%eAedw#kF8@2ICpSyEj?UH|U&{wZ7ebPnD(c12BUjFP^2YIHao6uE# zahI0z*d{&ex#C=J_eXd5Z+_bhfrZxW)Mk6pb-DOoUf`mXHu-jQ$k^~cd(#>#!~@;f zVa<2}3%M^^_4fug?f;49OMbnnnI5e|>-64#tL6U8skk3adYSN`f!V_oi!_oEkFTk|FO zZ|&Ka4({BWZiBY&Yj|Y&ZD+2PcUTv1-b~7VUAG15x$nRSd)cy)`JMZN7rlG^;^@py z`<{RJT$3)=s~7#V6_;(rAJ>==a1X8Im(10De9@Bd(&#QTp3Sap`mo3I-Se#TpkK78 zhdytl*EZpsj`%w4YC)(^o89gaH+O<-$#>els`*Z)%dG#6e8_9~+k39OiCcQrt{C|X z4b^cYzq@66==1JMoO<)tJob8>I-Tb;>6d-?H&1={w+&s#(;RdS7weo_i@)(eeoB4cz=s`-wxcpsa*Ytc?BP*6Vw(GuV-P?62)~+~>kAy5t*L>DS(R@iRTs zQEF{|-j37G$@=C`Kk(20ce5jY`pX;r>^KNZKFy)Nv+c*e$&pTV<88f%fA+}JUiY4F zAImFl{5w;Q{AhE#@yD-U^JQ`=Iohe+JZqxYp&dRr*OlO*fPu~BXwP%xPhB>4;$DZf z;oE)e%9pCMAf-5+emwdr9FYl#OTJN`lA9J+VUd4wI-|N0^9lDjC=XXPG-ZQ>y zb@QSQI0Ya0>Mg39XWiI(;b*^Rt`$7u`*~~2?iJF`Ik(4J@tsCTHK*LZ`%2p5PbX<7*XN#5v=j*ATyg@A+z2|>E@TY^&o`$`} z`Py_M|3i-9t5_}4zv(6D!yRp41BK9ay4M-xv>7*nk2LCG-)YB&-J<=GBH`$XWQWu(f9F7Pv(HlIpy+h>h^oU{cce?-aH@S??da`fDLr1FBkZ$ZS&YK+;6b$ z-K83s@9y9J+Uu=Nw$ta{&1*aPv@_23a@%U91z*vB^ynuxez^BPaeqwHi<|DZ)Y!0h zebhm>XBR#C)NLyJL>7T-UA-uX#V|>>7<{~ zb8>Cfx!$k4Xl-6K?2TW%>7&kTs59Q@oo+dOOP=^>>#f*M8o$@udspNCecqwm{%iMn z=xzVp)=#$0gWP7-ethTxRt})dl{jyU9iBfu*TpAo)S8o{$9lOtZswo=eC|OsdERHx zGHuq-fWkqV@)?KA&pCP2y=skpoOIW)>&_Q^zv{iVIjFauaCEnM^?7)3kkH(I5JT+%5KW z&r{%Mp1(Xk)A;u*f8;)IdL_1bxI@3AwQ<^ao9bI}zYZ7cot`&BUtIO0Zgb@7dmjF( z2Af~`_o2T&;M!L;$VIC(*6M+9ogTT8OXfwN^K-*{&K-Kz6khx0+f6oHaJ|1h&-v?hkM6sVAH41L z-g}&b?|ji0o_NJ?zU*)vFq8-M)syev$)Z(%{I!p??OR^JRmJ_!1mgy_BowzpdPR@4Dz! zPi@$y8|8s6K7p^b(G*TEz3c(bb7D@hT^GiJg+Y*vApW8ANZ9IeA2C5y03fD zv|xD<5C8xG01^XsR{#J{04ddkP%%_YJ(`O5yZb)96yAHstCy;}r2l!}|MY!&m86^u z7j(U19- zU{tY^``t0FB7|T-(K4FaONBvN*6q9NY;^mVc?s<>W_ZF=)K!gYJdcA9aJk1HM+0=Y z$B%<1Y5+U6V+mK{K!->$e*l0C0L{#R0Ye$KxR~qQR5WRA1NO>3wzR0OTiWd|>Gplu z+P9{lLgEEP8?R2vxhgh)KNtNl;-G&)yyKgm`<-4p;BvChHp+SX>yh_u%eVaF1Dx&m zmFZHgb7Vv8k9zbL9jNz|b?=*VFE!t#n)BY(ra3nL8Op_ce1rPubX)u9meEN2q`q6% z-$Z*~??)Fo=$@V6?Hly!OU0JB@voiZuD$i%xj{QV?B4~>vje{0>%Cd_(|4`wSPk^1 zn_Kwtrs~&RvUKDpm-c%rl~^Bd3rB-)+vZy>)-#6Z$e|OkM9vjEwU8%U|_26mxw(m{Zn{Rrei?Q}h)ba7zuJF}`G+Jog zwsXPmyeIAZzcT(}x%jtVnyfRt?`3C@V`R`uxij79r6t|2FSDrQkNoZ=2EolQe(ks| zOh*&@)&G5qS@E;p8>WLtdntTd^}SGCK+`^VWKyIwu=IiQq|$@cB^#D z4vcy9x<}nkxO&sq_JhCYjBK^9oA6!EI^d7{I_FG%I@*kCrJvzkY5HtqE3e-*9NXG- z%Lbfl%h0=&Z@Rswi52g=9q&l}>N0&h;;Xf_SbkW4AJax_cHg$bRB9jVe34T4wXU^$ z3wh$+8{WI|uJCpBqZ@Z}!cBCmJ3R3A`{F#|D)*>vG@}Z+b=vJ;^}WJgZFtw>wxtzx z_bFWk_xG-?T#wG{xYpYtz4k*BztuYv_sF~ZULHO!!r`kv{Ez$o(&-Lx#GN{bV{Ou3 z+r zmfueoFP0ml$+q!(j$?4=xnpbzU<2$Vq z7{B8e?aOW5b&Yy-Z+_qg1(7;x*PpwszIa^Ntq;7uF_ZAz_p0qtOVX%2E?0$pMoZf? zw*7QFJ<>+K`7TP<`Hzxu$>$qVe|XXEd&TVzalLC_#AA6R*IRey?WnQ3Pqq&Glzm*F zOO$I^mRd+^<#d(Lfpb+7)P zb-7jT3(vZCpp2K@>+H{0QH6iicg{Jf19-RHiO>3^6Zz!_50X;4*h?y0?%jJ-^E}oI zKJ7TII&a7J_5+@z7W4V}BYpZnv+v#Bec9o!(sx~m7?1zezy59c8tv;l4!*z(_x<*I zZf^S=CSI1iVtcseib0R%j~l58U+c?S)t)uFmA78gAo?i_zihl7w$jDMA2@Sq-)X6n`=m%Md=K|?uT`9oszHH%2(#LA(H^^>`H|h!s#Bpj;bxr(#cdDtxBC%+JuWsc zHr{5PIoj`f(BIDW;EJ#{-TBCR_1WDYQ&w}=>PC?`&V;+H|5LOs`r<}bi`d!wZda64 zBR%&69jJp|YtI$3w`WJ@{m%L5aA>*Jdrmjfxf}Wt?QFGjy3adJCGO~NT)Jsl^v?av z_3qI6_KTNot2(za-P_kWCp+#UczNg6-Kvo4Igm6ca=ps5GCRGU79 zsH_uo<9a^l09))>ALh-Zl^XEcElERf+#Hfw%GyNx`DbT*%kCN#wfm(utPjQGQ=T;W z!p>?t?xA*PxW{{L2SWJc?fEV{-`=p8vwJ||CK@<>1}^cu<48&o5{Tw-W9x^E>d?N(R}75Avk(b~IBWou9Wlcbk5vY5nbs-f_K3cVma! z#`$H3E%TpM6w@-c?o*A|;H~y-1MT7EI)dZkytD&wNAbvcY-7#I^>fqKeRiWf?>Ao0 zxZiL?CH$xs9-_rnbAj(~pelE|cQw)(-Fx@<(Ct*IdXsa5xsa^A?o;kbOWrBKlkp( zj_;(MI)Q$VTE4>Wqh7o=2Fkk^YHy1_3)S(`O)Ir1&)NT<0e$cr#nO-8`nrFca#06x z&;J`uD0JJ7gQ?s5^MS^_cI;6_y;}pxqaV@5Hm4isD(LWMo#P)iXHE)5jbW|N<6+t6 z8jkaWYH-aaUElS$TwYqkhq~0$EzrUpDD_qjho++=-MF&{uIdh3pUKb%?f1{hKA(M7 z=S3Pg51Y5uzPsrDG}F0$_%AOl?`srG9kF`1R#FbLeeYa_9pOgo!Kzn*E`_0 z8{?A|>BFwtCv)ByBW-KC^j!bY6wS>6_}O zW$%)m_h+x@>eOmfM>W?i%|_bslQX(%+Y8rsJmtq*cC)Rws#x{iJDY#>r=QxtkvnPl zoJ>~`?tL1CBd+T9o5`Cy@6YCWC$`xCte=T_U4`#$wfBCKyZILQ$G((o8+Y6q-*Sie zpVZrtE{K8uF5IS_x~}7D*GC@9AwBQ|pYf=DU3$Zb*3+kIyu+sVWVgFU1#H+1zOiE0 zI8vWgAMxUJhOPRMWv|3q9pa7pYSG@;wUw*# zoT7_-QJ%ZjM{A>1{{BRVs`5g{jzZ2c4ZZ8q$`Zq#+aH5c}cI>x)_uWq=Yko@+(9dfPFx|HrNU38$j)+b74 zkNc+w-OoM_ylXdR#i;@t_;b)H`1jwdKH!E*v|F{`Jep_&$ZE|kR%BN#)O=e0Y_zL9 z@Q;u5?miibTC93obR3rL`|ZMW;=i5xWUTRgXV>ld-v1rF(7lRqZy(W6f5h2Kv#avp z5B}lSJPD6(y7wV$T_w z8=A8*;oBBCDsyuS{LkyO5u0JvgLq#}9Q~bX?oKfJ={qdGyAAK|T>IkXww@*5EgNr>Hf?WQ&C1Q-?HFv)MpuP z{?tqkFs0CWG0l&7d(nIJ=vAu8FGt5-`A%>2Xa%~P0_U9aA=!N9&+QM1-=#pWdH?Q| zQ$odGu)n`FalcWa4#P{2?$(DcIaX+}8Y#8r|AzW8vR~*W)0;;6P2gDs5k9RIeg02S z!_C!FoeMvGRL_Z*8IR3)So2Z!$>d*g=N&-nY`B)_5tYx;}leu>|GLBBwy zP+v7;J(oCHOsLT_e1gJ(=t^4G!NL@hnc{w*=rKcXr)4AmROwc&7t0!7` zwc_y16Jr=YONXM%SNyefyI?&qNpJpUyez3DGC@ z&s1~%pC4ac<^E3}L-4S#^~Jzvb<$4%XH<)Z{cBLrU;e6lE|fE(Pc;42DU(n0^8oxV zzbUPvqNJathARD@*XAGJYTLm3At~=GlmYhH|F=Tz`@(4d`~R6e5#&!(Xj>V=bgAF} z)OziAtk2J{`vLvmb?5Y~U*^;aa%l7`Pjh~upuhZom?M)l@{Bsc$3(X_^iG4qna_z{ zelxL8plp#JX^*_`8*<6?x6bq0=j9(FEg7KOhlXoi{bN_l! zmI~-dp?uXSmuH$O`hTd=bQCHEz42vXJ^C;|1v>HJ=s&?^rarK*Pg>3~fwz%ON+xT% z_Mnw;(*O^w!XDsP5AJMmTIR*a-+r4oat55yD)#Lo_`yXtek%|pc3<1L=oWHeh4g=xNHt0Q z;lxsBk$$t2dx#&8ZG{ugwjA!Bp9oK{aI5}Nv0GCvv}W5Q#vb~8%JU0~iqP{r{vq^y zg$Ni|ZdAm+~NI?Tqv7Khk4vEWjwK11E4=L7X9WSQwBg zW0eSGd6;Q4G+NYE^+Ca0hgcaDg&@Yd0u`twe>e&>y21cHuQ26tK*DJb$Y5W+eNL%=UWL zAx=vzxgvldqil%{f@Ye`=IEs>wL1}+Z86Mi%oiF6$l-{x&a9+RA{HklW)Z^^LXbsw z_jdsCx`2%KR0Zr<1`ak&3=VX#x+;OVTO4B)4#NOmI37L#j~j`eXVC{5xb;$&Wns*P zc@GN_zH6I>^Tu&>8A!T7AMNr0UDw<{ys0IZ|I&`W!rAO4on8<=F zt2og3OX6>GY6n>&M9>WflAgbc4a`wFoBt{U0IY#^~*_e3DY_yEr0rgN%;qiW~&d8I?7V zK`|KhJ=vbMG_bphJf=hlq#I;aPDUk!S}N=dfHZ@k4k(N9d#UPUw3?zsW`#UZgFC&_ z$00_^SC?6-29If)3gzCTHP#C;NxtJCH4xvzToRmRFqc39HDZOKzqQezu0z=m{8)dJ zV`yxm$Y`Sc7AN7-Y`lDRiVHcqQCz53CXRHOlXKbK$5Wa9LzXr+KTj2yPmn7%tOypZ zn&nu7)yPy0xiX6d117;tX-a9rLhPtVEDnJTF)I_nMP{0bdo_!KgVYocw;Wt$D`gmL z%%W98YBEDCYob9{Wm*hTiu}wbK?vxSo%?bFshRnn8#6aj-t5eVx14lz!i^&|iZAdjTmGzaM7f~!pO=TJdB?r9G)O$8&CfPVA)ukg3Rf)aD}E)EZ516V6ag*$6Fg11Npv+G%lMiW=jY6%Om%ENhUhhG9Kvz~to|mwX(1;97syT!h4T-& z!mj8RM`Gm}x58VZ?XcDBNMiWewCp4ia}L>w6dAT&4fI5-SrasTPkrnOnoA+x5!Gb^ zs64|HuZvwm&_mZ0mX@=V3MaX6B0q^>NU*@M3^OJu-}7sy2q0j_s)?lng@GqQbP3DV z`C>ePhVG1VO)dy$PIK{;1+vBkapQ15l@2mqAWj7cmj+aLtu^M2`YqPiOo5&N^uKdZ zftpNTH=3}Z%8cT^gHlL4|KuL*{ItvmF-$9uzAR9Lk*EZCL+>2qYAP#PMNS1 zFWQ{MfLX&MXQ`7X-oi4HeLCwVLkM&t3wL5aAE^gx+O){5;*U{FKMO_ zm7CoC`XooqW~u&*d)xL#T)FgAgcn4T@Dn?#9Jp4lD)0(`Xvjn;I+vkWrja^i)hlC} z6}c!DIAhV*k=)-e7-Q>aE843TEw#wx ztp?Y&a(`;tuXpS+Zh?hf#7d`0`)~Qn@;ml7Eo|wtG++aXKn%@_w5?)*$(M zHFoX5MicaSnwP^m5}m*5o}4I|jkjtiAOu%32J+1LOvlrk!8{K2OHA9=D<*q5!|!-e zHCdVX3a3<*uD!FvaH|uk$Qj=xqs zip90#WKA$r=@D$m1l?0gP5`?h#QZo^2f@EP7C)6YvHuejt@%;XDwEteR5Qf5!A%a1 z2)0dlem@`#vpfki`)I`b?aLk355d~9YV27_`Su!=K_DlvQuSk#-_&MQNr)I950S!j zX3MYR)wE%)S*@QO`A=KCNn`YmWWeK&u?f#bqgprY#Gb29Yl&D7hjCK1+QJ$ASS(kS{{s((x=o@SCFoI1pK7LUvR@(9K zm(7;b!jj148J0CuobtwWNj+pE`*!eiT!{ejj`zRCmjr&rm2MJamMx$LFWbi{>CEZ_vVY4&y;R+@us2o#= zOHaNa!>P7@(7Y)QapfQ*a2=JQ+0?5uBOl8x4(sm&?XO_^!5_D*Tt~ehYDBD8%J-~q zSuBW@-b+XOI!^tP@>AvBXS|22ca*#^Ze7$IUKatx*LWHh56(6i!LW-HK|NWRfH}Y@ zYlFw|n1TM+A2e`tb<*qU6zPRPQ+?~eaUahx-td7$BRszz)j_e7JJv|KW_8rov$^?O zHoqc0@14vuTbcMz#MKew`bzS z3ZpQUDDC|`I%HgNtMBnlOH&lq>M^4dgg^3;&{3ub*SZ#P>hFy;orU+FOt|q@m<%Sf z3oXE-5=Kv|Pp7W>d0Y@w%;=Z;_a6U>Zan_z-}T+mDO?wji@&a`XTi2w8OoUGQ-5L@ zdNAghm%4rg+np1hDSsC8TW06^o3~TfEe1|v2C(QxJrGPgiy$|syrNfjXcNz~;1U7E)#$N4JaaJ1 z#k>=Cg&jvkx4TYhe2=1Jj@hgV0MyBmHwyu^y-C)GGPD=O{m)nC9rf%PiN^Wa63sB4tF_sHa#+w-CM<; zrcmG)O{(tQdJ1#vOUyXe@ONZR^Otgpm!3Mr+dIW$u;g&q_5Q}6X-$&{+E^{+N8pE- zS8Rx%-obcAJ={~{L@uO~HWJm9a^1Kjf-CL9gZ)Cp%3jcv*;~cjxWMJ-`o)fb(36nQ z%ow!y(IHRz^;6WpP?-*y#a6D8Q1zwM4o=Kam2#CbPJah#MQUnSq!n>ZA4^bxVKSjNOC7G`Fs9#WYuCs1f1lwo{moPf&O}eCP8}PcIsL41cP@GvjR8#% zT4@o9OAK_V1D0P}T(ub3%y|H0&ZJ{VKMvUa(9}#+>hWh%1S%9%Q~Otw0x};JlOB4u zesR$HkiEU4+uTU?(9skw#AyX^oMS?#0Fy>4xunb9DNmC#`rlqkz?;SREGsR4r|Y;Q zqb?h2fQm|T3`}(s*Q5K2{}9a`0$k4;rfs|~Zu%9b(YVjL=%@Vdwh&T+B>z=W*Hu4->u1aP34J)WKrbqn*2}bL%1tH1yGT#d4(p(oFaOG4$TD1_6 z#xo$mujD99Yq}E=7Mv$8vxwkD8S6M(h9*+X2{F=wu;XH=529YfQD+H3*H)ztPryQdpCs1T(ng${J@9k}Q`6@s>DM&k$oU3g|>xpxKrvjg6pS ztrwJX80~%=6*L=Sh>b_;!W*V}Xc0xK!?7n^Xb1}!vr=Zp2thRoe#@XK*cPu!gdr;+ z7R(emaPbMJHG^3yDp!oANNr_LG=vr@$_QhE)|j!c*NMX`CYP=x?TmtE8)+F6lLQxm zP!lLiA`+*Bp>b?hejK$q&Tlz*X~VM^4{|~W9j#P|U|Js`F|x#!2f!F6J7rlg6tM9_ zf~6KDkpegd;l#24F55DZ_BPo?%q=k4KJEb5I-l`AtvqXD3E;w@K!uELm@uS_@dv^V zq)iptS|kMTihzjFZ z41^8<4gE>LBLS+#*c%s1h^5Uh1Vl^mFrvCFm9iL;(p$F~0B8VNh6-^H1mZdVxDc(z z!?08f1qqG-4mb)?jwP8AVpOji+F&za6e);-K#Lqk2zn#&auiO871~+b?>8x%HoYbg zEylw)M#3=bC+!%$#Jobs7ioI(nzAW&1}GqNUzscUZpqfs*<4z`rPq3Dd#KIkZobPtFI#9_lY z`r}~^8*;aY5;7~Y(WsPTS@j|!Nz{s)V;DNlcpO2UE;I>$yW4C+1SN@`X;cwoPccrK z9$|>};o3afXitafs7?Umn}qd+)O7Z zi-1Ti1*~)^i8WeG%S)x4?jVJmSNcwt-eGuA<6kAVQff6oX}3TtCEqwRftQQ1Atd8a zpr8P2fQUdChqxi01;+j(BY|OreLF(O9UNuquIp4@h-@VT5F8B%9asjSZN< zaIr2^I;8qFPgKl;I$W}VA&IthgL&aYw7CGG3@WTjApoIR>)^_{zdX)tk;2|)S+w*3 zLkPKy11VX8K&+DtOt-wT1Z1sP0?n+_iYV~{$~jOX2;hh?bGa)#h?OS}tp}bg zAOOR_xHw}W!Yt5nq{~atY6=`NR4SaJ7m~?=;Psp`UUC+x4OzUT7zHSSl4+Db&Q6^3ji%fPUaFZwcAuVCmFR;(!50ucdmf1Bhd?612- zOA9cVxh8EAIRsVA2!MPEoDc-2uts&X%ZvLgG6}@9Qa8AhB`QxRlrTiD2*W820Nc#3 z(TNs*z#$ZX<|o!hLSZb6aKZahHgv=eKp16~N_ZG_!ma_NIQ}j;5-i0AX2A_=h_h+y zHVF2Hg)|;+EC8s3xM*J6e)<=%)GE;aDLlhgOMOjUwObj)k3k4dokN9;E zcXJ%WW*85b3M*N_3Ls@`qRoNDatm&wFb@vGCZSo3hbhU#i21Pf2vWMNoPqQd=fvoj zX2~effX2fQ0U_@$WeqfC5K%_YmNvH*fXggkP{Ytv#$%LSKuR2#`%yD0xk6zf6GMY2 z|5U=m&~e6wDT`YiNleXUu?8d4TnzMxpY#^|w zBiB6Xh~kE{*lYxX8Rh}CZ8}f>-_1ps?WG}FNDzQhfBEMQvyma&!n_9JZe zLK4dnmD6%3C{_vPa$=R^w+e#^-1aiVwXnp!d0?&iZCIkg(jbJHzYmK^+RF@KZsEF( z*jv2Yajh#Uj;ww$*z1^M7{HmLp%7v+&u6ll2*hlaZX;}wlT3zm-TwcdQ|>C+ zNq=iP|2GdnbsXhG{y*su{JO|q^(?nC_D9mS{PiWh+`8zoE)%$oHC!>6U{HBTMu-Ii zaq=<3mR>La&0ia>i$1^UZBn)c5CRdWaF!q^G3){^oN`ho zCenT+abnAdyT%n0tHv+@7W20}Lx>cXA;e{sr`5#2DDA*BugEG1EuR z;1&$!sWUJQ=K^4;RlwDOMwJL@@tf>X-=Y@WO5!RR6lKGI$nZ}t*N&i(p%Hbp#Sx(0Dmf5{;Uz_BpY0jM>iFFi91ad<{5Tz3s7rHcB(J|0vZ)9|DnR1bX zv5A4g5`-{70;Qlqn{SOuoPH^Xy**0Oq!~b1mY`x*yk^jp2#s74f@uG%hO%Dh>D~-w zsKNq`h8QD|W^~nc`J8weFe3ZFEiv}&P4{OgMOMuWB>@Pm)7ZtW4iyaq2x@$I56L{j zW~QvE9bix!2o-kC8CFQuX=zo|avG)==k{}E$w)CO0+KVhQXCHB4562Sg-GP6bIKt$ zkmn}aPOxB^tZ-pQU887ppa3)#2SJIjy)nYM8A?$szzVkgpYzmENkGyH%ccJs&kRG_ znll1GiiOm3NC!+Zy}yPrs;$UC05@Lds1kE~l!lZtHML7@GmM5#PJyWm%sB+;pce1= zW3w5`ry04qXAy!d@kihhiJ>1j8072^jiR>)i8wPukOpKr)}chGLJ*5m7w_i3+=e!) z)Jv+lXik7Wok>y}2&WwbwZuTBnULIQLUEwWu$i}B000mW0ssU6Lt_Il0AO!q&XmOf z8Gsmozpu3IcoxSIaU0wwNNTO#2>5SXcDK0+ksr0T?`rw?06`%EBBB5@C;%V^u@iF? zg&?4Aw;?&on65g0k6hI#kkjcDh!^h@D&-aIpz0BAx)q007L)fYDe1T{~{In-gyuWb2>Q!iI`t|6a>i@lZpKkg~qdt;Qfr0|$ZZ!;wKKKM}tcXbkeiC@?^yKQ> zI}g*Z>2T>SD*$2!VXMIaOP%}}4@ zcT|BOiD(xuNROOl(3mc=*r94Ujo8JZ77R>MRUNBgOZZ%RR*oFWJIQ+nvDxDtLTh%Y zeuyMku$24~1coG63FQZyhnk&GoH17Tc$VPMTC0r<XaNnlwB0S+c{9n$wAJMAm0cu8mu%ohS4ZqD3K+k1gA6N?@3n zp@r^LzlTL4hia-~gQ%#ETShe>Yb%W^9u|gnT`d?q#zs-W7b{k+b*gXske+1cQn9h0 zH6T+Fv>9~bRr=zSj*HKxt&>ZVJ4v?F{2rUA9uvnVPFxyfaEH{P>0*6s#$z|6TZ+3vsd;oLik)ja_{65F&8hxp%Cbx3YUg@}`LwYYZe}vCB2`aT^_2Ch>PyM9Go;g?-IOAy zZ@h{MhHm9aHduARc?&8xYjdqUI&!H3MTy@JiQ+SF42^OwWCTA^Kowr1E-&toHiZP- zB7&lENeOdAG^r{+gh-dzsM+bADqfr(!q~^!(n8?ewBr-ms1gjgel@!{&)hR#nm6)d z_0_L_o`yz_W?olL(K?1VQE}i4sZq#Lu$1{=WZHrEbmCvT;@qZQx%1h$Br>)Pc)C%Y zkO0z)Wf$%$?HvoEb5Os&v^1c%$ID5sP*{GsG{v4o5JD0xJ(0R=ONJ4A=3eqbd)}cl z*~jL#t6P?tlk%1%btcY2mFN(0HMb2al$WFhf;HJf@JGqzd7iz3P@eZX9eh2IoT)t7 ze2hk}c1EMG@lfWr3Vj_z&_|Da7{40{f16j|%j9`VC%#Tuzf5|Sc{!dOLqG77@-wER+(Ba+4K_y9qKdM!Uy!e$Mpw#&(6Vk=0iF3M3pa-uP6SXezu2>!B;Em zyuo}=XpR3i)XF+J+#PST_(^;wq7<>E#ITDgJ>I5E!SKo4GQItcy7To-N%zQX9%54$ zm@x6p--H55nN>P0*qzLVp1^Yxt@=oJ^l^Q9(CquD7{O7a#{Pe!vBz3jaCNBd?f8ZnZg?zuR=%ygC2s-@nchpO?$E!ER0A6ASEz<|&XK-{S2B9Q?}Xb^ zy&^VXzdoPSvuXHCj$ykwaynUirGjse7I}TPH0Qx}i`e0Ng}{T!r-^_SCF*RHA}m z4_03CM6q;H&{@>+RZ4(a%=0Qs&L@}EDWyxCLF`Pov`0$apdnDfE%DKU2MlSENkFpP zqU;Z`lX|l-RNH}*YX4zwg(jZ0vGsKHpCdscmKRop_T!2mVY-#?U_QOP_o1Sh!17E}~Ig`_byC#oNerz}4$(Q?0y} zR^f&Qoj6t@D(@4cM0v7ab-4!1oFwC&WqS?^xI+iHYDKT|rghz_6Zdfs+zkEqay=^@ zfzPf+voFr1Fv>45uJJ)~G_}7zheLg~U-$R=)`@RB`@c)xEMo)Cx@=cIN8{D8P@Cx2 z_HO6XXX(=D6CSy)BKw^NMiwt|_m8&`B*AL-bm+x>*)9({SFYU_p`qO0xbUh(e%RH7 zv1h))kwaEc$L!lv@jkG1NB2DnVNibrqkn4<0u}-5LNN^$&Y2nOfM>N5#xq-RuMNI^ z)8%PC*x~OybTZU-bL_o(+f7b^0uVl66Rc1DcQqDRQNtGOkh%VyQXcoEkr5M5e%*UF z{SAU~XRiuJxsTpQCcOHl-Gv}g9?M>@uC3x$XPj9WX?8U1GZJ=T{Np+&ZINc)kGgH< zaN*y|F%nO=={VbBC4BMV8avVYHBs&HT6C*wzJLgeJ6l!o!BwUdj%|_$VBb3AzlJ_L zR==k0a)md-ynD+jv8$oE7$fozBtRqWLL={(dCU}kJpF#mD^D9ctwQzDJu~xe)xUDD zHV#YB=;}f!Ve--o)%Y^-QQgZnNCQ@0_khPCtLCGR)}w^RaV6XN9ifiIM|9`}ecVHv zy5Xz(3tx$)RaW;9-5(ub!f4U;Z6PHeb=!MGCE)|-mbE+IOpt_cl4khSS@|%RLVC6S z;2}9#)YjhxZRA3@9v-FM{+^x)U7je#+26YVOd%aq4GG;-c6ZkXg7#!Mi@xlmnuDka3I zn*>Ig_Z8*gDTviD@_StV<#wGRx4Q#2T;+|amb_X4aHZ|?nAEtEa7!*xeFlTRho@0u zy}bbGovH^ORl%UHMusnMwD?-gSNoSilTBlAAXW?iw3({?wQh->Bh2Ar=1(r`=EMPp6WLuuxrfN*j8ARaS`CewTY{`>eud*o7JDC>C;~B#y&xI!ADca z*{QggT^T{yvJvz58Z||`(z0&AhXgh93i`Xi@xAa>dhUEhV4q@|s zrt%8@=n@|HzJJql*VVW6&k7xE9tJ^0rBEcz$k(cZU!7pY9AdF%Nw01NI~Oj%f8?Z- zmOunHQB8(pzIfF)gW;BkCq?r*Bw8oL{q>9Q3a7CJcCcyEf0%dqK6KyN_K$!2dVR@G z$c?YZ>vwGD{lI|te&ZDkcSqJZ-3tX=*0iyGL&!siokR&Kck3c>>mxb7exm{%tyQfx=3^=dLOAJiTUqphW)i z-f2(ih{;*>-SN^52W4PjztI~!5V}b!k@K08$Bl2EL*_pjC2rtC*7kYf-ROnsqMI+- zOr7#bn!_iY8Hn5_bdK1vAo}>i68^=I&Q%LfVr8`?4!7{@bijZ+NdaXxa&mF@tlKG= z_k~d$iw*JHv$w!o+bzLowx98NnORb__rlD)Pj8_+D=1>S7=d{ohnR%1m;9@K1n-eK zf3)!JmzsX1uDqIkTFPSa`Y6u6G$19t&I} zRmhU}>FsR9ZpyQFb?KL+HwlQ4=ytz7dHRu?U)#M7^^ux-T{>}yd$`}D^vmk=|2g%!|iS-}JkTnT-dpXx`^?REcaD!3t`Q73=p!<1}&L#%%f z;={7Qb8yt0(#{!dG%{nzh07pcVSv81>j z!N;h<u{HodGsW9FP#~?xkZ$2F6^AhbUaZzIjTWoO`+fgD&(;< zdi#EX{b1=q1#P3UXX*COt&dJ#N8H$Ap6XESMBPeGy2Kv zZ=BbCv;UM{Ltg{q$Gv}^fLo16d^RaD;Bg(cvEujZq0Pxs1ov%9lfdhj$lV7R?dU!8 zZ)}XXl3IJf09OxEr*O%Lms~jyZkd`Dpr*JS)+Ic=P2;cb>9<*TSGEc@~-PKxGdHu#Gdc5%CxbTK< zdd3|WVv_yIy@f|xzQ654*^bNWTA%Cj;v5>7Ztl|BcoDl%M9scGtrks9<{KSg%FpN0 z!1wCUw0cMN^OvV}rBAlGrON&5w*jw;_M%>QdtrD|XdhYf$fNUJ(RXklC10Ja*S53#p|!q4T`2F(2ycZMr=q~PS@7ad{J&iQQ>ZWe9wJBP@S=va zHf}|3(nAL1uborHW_@@-h?N5cDNx8F62%y&?=<44y*ifV(jro5P%P>dULr)*VyqY8 z@gb5@uH&Qj+QX?4(==F^7!i*-fD z3PPH7L0}O~7b%$n&(ygU;;C5#DoT&%D=&L5dFDJhHK|Kc@B>mPG@csb8nbCA5F!&g zIOnBxtD3Z6otg&?YaIdzMTJOfnX=VPXd+jk>TfA2o>p$Uhf;+hRY{8wCMM-h(Xotq z3f8ty8gT4bZ=U|2Zu&&i&mo)w6_Bct3L_zBo9r=wFU_YBr$I&@JXV&PjxPYD@sz8Q#75W)AKY zE&a@-W9D*n)g(NnRBQM|im6OQDh1_*TbY&~zd~#Ek(b$0Exo=6Iwb>{zt;rN%Ac$`=z#`H0fURtQj`caU^mB1 z7=bHRV$h}bT$*prO+T!nXT)T~2rM0zXTbR*npdhZ=vUS-j?%7tT#l5Q#v%wl+76gZ zDKefT!Ig2ZTmX(2rLVaZ8JTLbe=`nQ224>9*^@OTv|0caU=HLtO<2 z7K||{Je1lS0~N@_NZj#qCmDPo_0{G*zm>aUe~P5LgLNaU&iD1ZAl zK*|?<*^gp|!uQ^A2KM!@nb$V_#5OgfNo5pQY#K;R(KzZc6vlk5#8c(qj%CbmWE#|Z zh#fJqD|t|098?swQ}1J*eAVze!!!L~Ich{X7a1)Xj6oGqN~P+0NeH6|c)aC|I6c|9 z>|7p+8FoU)1CvCgTai`K2`WrvDaFKN%;E9$#M^mfM~qI1B!mN9hCEa_^_Gngnl~Du zm*^_D@1@`Fp3c;-g$CGt~#6On$FV+OWtaKiQ)6e{)x1-9;`p4KAp4mH}rp%5$ z`tHZFH~jzkdcl?O3Ud|mj7kR+R5L(CW2F_@4Z?3*aVW(~l7uL2nSf$RFH|{D7Emx2 znK6g&#NT*;B=+*8qhV%LuI~kvt+|8|AXHLh5rc#KlM}5ZDyqwm}no-W7_$0!SCZ%RvWxgjAF% zW69=Xb*lnFELKg|ym+YvDE7`u9fwYY(!aNZO{6%Wi94sx-&^lTIva*1VObvQKw1#YdG z2~0T%F``0SiX9VT`(LuXW1EwMfY=c}$WnNb6bePcjOvsgscv@u&xMS>@iCdXbs1>! zD>joL=TKS@g&3hWQXIRLf;) zWm@vcjF~tpjTx3zol?CANeS-61!CJQ?Ltmxs>`oG&{64l9#jt9Pd9CMuV}Ai#cTi0 zeDL@8Ys^*f>6q5;$vO7-P@u?kP_u;)&!iO;vif_iX_OiMIWk1jAYeI025FfxWMx-k z$vnYZK}C6&a~eozg7XKi*}o~;)l2k|lfP!h?~H zX{|m4SR{!#)m*GNOOaFGihC@@j>iw>wY~f}N?PW2UxXNEK2exQTlVRNC){x+h|VNByNGU@XMOO6TZZp*GU`Ed%E)LKs3Y z2}qz?JZQBDCdU3~O{!2YGzu;E7fA>sEpuzn6Un3)qDvq_5hc_sGaSy4?VbRgzH>t- zMs*uAxcXxJ8qbP@wUxhtC`edqvk5{VsNgNZX*p<$j0yITonusP3sC?*(vsb3Ns(PfVsqf=7=rI5_*;?#@5Xzj`;|>xiR4f)FQ6V8~H^B#t?T(`alT89_mY%VH zQXS}6$05~2k~XWfON4n9+T6A-bzlYMOj0S>E07fpMT;Uu!`$q&KyZ3V*@|S^rSytw z7=mPpMSehYLC#RjSekDg>OB@4aJBSxy#f@_ozsS0su@~5kWyL86Wjb5&qs-wRiJu$@(7r^iO#?eCM4NU6yYfnnNZ)$lA^1%+k{d4 z>>w_l42v*x1cEk*P^!-?gdv0ey;gj!W-cdJ(l^V-o5+~WAiXgeFWALT)Q(+Jr{}!| zfzh!NAwht$-#doKOc=j$>!qW5#-V-pApd{1jaU8ECPY6Bc&GI^ukZP&6Efw=8zeg`ilNCvvb+O`$HY`gfmULakD2F28+QWyJHKl{LwlmQgJwh?^BhDa z=2+`AOerw7yY@QJsbW`VIFQthtvG;5#H5T-r}}`{%q15|xO;0%6IY$r&6y8SR>Qf-<1ehA*RvB8;_x{zTW!rXZ#ECeGuHi=Kt}ZE}oX$|5;fw z*;F5y42sRRkBf%{$Yknmw+5SOI>n`ZWytEqDiKP`l*}lnvWMh6*df$wiELIgZs}=< zsCYw&)f7jSRY)^6hc!}Cr1r&EpFFvx;#JQ2?$SykqLmX2$P`#wri3aB5!er^m$ptD zQWVK_lz|5j6^xh?gwe=Q>BUS{wC+ZoDV*x0646eJMT2uHh8haCJ3ZtMEwP^B`of!j zL?|MZFjNN6kRWmp#iB&1wf(5s({TFPS!^Og@eQ%jgRg?fDIP5tJgWf}DoEJ#Ps5ZQ z#375O7TqPDJ!ry!Y8fgsQr&(O=qWF`Hcf_5*D56gz}~Y?B>*|?B1{p5Ux;JM^uyWm z6+$v8%tXRG`Ps24M8Y2lVgrKkXek`9bOL2_x0g~Jmx#@bH0 z%(#gXtP(EJUh75-dni&NDOPh2^C1xY&gO zC?IOa57gOVME1@C#b~s<9kFXM)`JkC-ij2(X0y91_Gn@YYIS!)_~{Bsa19fER3|YF zMV^N^+KPhU0vEB?-{)7SC}c?sBDg;>Ah4#*sVo}0*}muAznSbQl5@0Svg{|(gTleV{An4s6iHlrD!@eo~l!@iEnNuoror@!G?t0x3aKh+Pn zTO(#4FeQ933N*VvqXksFF_6$j+ESHc8IGKYb>i$DT?_l1@IYWfctXRU2ik~RRKVm?pro5?)t17o z4Kd2jk>ieyAQi&)543<%vu z6aRwTgB(x0{xhN1rD@&di3`vmni*z=&Ys`^q^Yr7SSfz(9m+l)Z#F=hgEsiwM46h4 zhGBxKkh*P^m@9*)=#faCFS+wSKklCKO(s;zO`XmmB2~nsh9%n`9f$&h@{2W?-%AOv zTi<>?7)NLG?`z#V4t?OYH`2z5fcg*+0ssU6LsSGO0B~Pru9QoF3ZN>Wcd!3_&^7;P*Biosx*003kLjAjY|+rg``QnoVO+D3v+hC$#aZ05St z+Wn^PYP=|5Ld~4)EK+Zjn#MMW?rSw9#*s_GDttwLT0cdeYJJvwIbY0tIZglP=0iPl z<^z3V=>UAxzbb9oPPgD6~ofVaq^~ zSR;*=i;YBjDe!YPX3%kGGxJd8C;K2sH%s)kz%O}5JGaPgp#GHU`Ybh z4lK2!3=-LS8JS-GNiBJC`TB7CBh+|zdqi4lc&T{(kE1rqg{J*5E`4gLb4os?%6!bp z1ls+~T#y!Nv7{X95gbA4t!@UvcYHBNYtC&ZdL+Gm-A`t}eq$zIXR;R?W-2J!Y8Z8N zg{Vv{ymT_AfzW;uUc(4TF7i6N4uuTWqtl3F`rK3VSA&=-F&Pxm@c~l@-AyUv%!nqH3Y3E8-pWU4^tA;uP*24=I8O`38Y#X2fjyjSA}M)ed!^U z?S`>59p-Y2OeRIr@nev;UtZK*YU-&rRaK)SZ?BAY!zB8m!2OyMS0A!jYJz zvsfPAinb)TA?+%lT$nW0vSgRAv)SVAT>eRcX=9=bqSiiG9nq3FqU-BeiXH+P_E`7ipwADTCnGvPxIh$c6g?2I6Dob{02m?w4w0KeL-R&Z%|Q+REFsE*0@{v~n;mGS{&(?QGxV zy>cSU0dRTaFwWe!TNYzLcP&VY`q$hM6Y3I@(7y5W9T=Ppl>M(cC1`7b8LMkcai$0b zto9<(o;sb&22m?U$e9|FLaLDvs%uM$sG}9m{z#Gf;#N(M_;u^a-KwiEb-{)jqaEw= zWgqoN$0`!6@hBTYIs$s8%f4Q(nVjt0R?akTAIXZilxuAT)=03AzqiC~1Dkd1wR);tV{n)sUbrftGtg(Y8X2QC3!noKIbEep@Y#^x}<| z=Utygdpm)Koz#6d;2)P$Ph3?$dV1TtUF@Cj;4k8$Vfr)jdvUK>lixXW_Eo<mk## z{-iGG8p}tPO+&Z3j(q&)cr~6u9I?~M^yYCj>M3TRe?`=7)AYCKrTK@%i>$<}l`>cN z()e~e{`pM1FKV7eP1`dLeD$oac2&2$!I?=&JZP+MvZMdNZfsqEP6Mnp_j#IVoR)7|V7m2W^jP#k$~9 zF~aIVy#*#hD1=M%3fh}yA+yt++T3(vefj!PTTC*4!&tjrS>-Uq`|Yx$t`li1?1ndt zB(Me?(hvsl)5(+mNZS=|#&<8KSysLT^W2{qIZUJN4d{TQ{usTc?nQ3JI+_Ia;6C!2 z`$GpG>e?BAgDI_ohijm5&u=WI7OSWEV~NQF($vV(3ynPNu_QB!Cgc3U(0!v)_Uwfq z;M(xWmN{qYnD6E6SB&Y;%$capX=r(BlG}|6;W{O*@*3S-7CWQ)8-5!F@S(3^N0^M| z_jYkG=zea31dxSCZj2T2zJ(x~C?R_DCONH-Ntpv<{Mm_X6uN;bsbV3t@vgx1rjGlG z1?S}DsRNSDRX-;kZ)#)_r&zw2 z7GiRyNX=8GgZ{1b*(&mobo8m+66cS+80WrsuFR`Bk~=iw!_=xyK$&fWjgO-0{ZflU zMK(()EVsj(ruEo`TBUC-wYV!x)b6>Ot%T0EZ=@sooeBf(8_;YO8jEy(QySC6`y_Z# zX4h|^7u)E+i;av10rmKjf>p&6=`t7-b3rK_S!@ZW*d@x2N$6o2$0*BX$ah?y+1cqtd!N#au${Tu6*_?uL z0;X>;k$2MVXgh?&uQPf!(#+D(LgzrOuX)qu)CqifL9A_p-b|)wbTNzMYz+ElvlI#2YB)YysF=dyNyv>S!(y8wXsduNsUNz%3 z1G`;qDM5hhZ!+eZF*fDdZ^&dSG<3JapGq2Gr$`n@5u0mcuLWC}w!3fNfP?T$Pc>7$ zd30>PPXFrmtPW{#R&eGdX9)Sm%XJ)ru$`SXkDD1@P1cEbd*ytS+b z@pAG7G_`-VzhBk38>_|=!XVXN7QaJV?T8R>Ww+ebr_(T2ay%l`on|m!=~l0I0n-Z1 z*fsjue<9dVuh^z*f(2r}mnTjL^QTU_-#g^ZdFm|G{dogBykv%AqJ7^I3yXjg6;sMg z=jirA0#moOF7pMvkQ3$6dE?Woe$%m(GKOv}5*_QRHli{M5{Rg^9;{=B4S%@$Br7GF zJCt-G3eASxA-15_Q)7T)R96KeOFmMF-~FghwBPv_nf|=5_l67M@IJ9HwKLs$e+nEr zS??_50>oE!v48Jx{{~;FSK3*5e765wZ(#qg=wk9dUwvdLl$YM)-5|*)U%DRoa8FuY zo!RHMUH`WmQ@j-H9~i_l0L9FIswbN%5wDWv<4!U+GL#NlAL*iRg&-YKPQ-gl%Z`?LS{l4$PM)COHnb5qM zT#V+fUWdu4-k-#l&4|Qht#|3G*?tEK5$*qrD@i=$8H>mn+EJI07}DFahtpqq5P(Uo zXm+K`H@KRQUOz8dNsJ(59K35~STz>KSh4TX0S1I2w{VGLpK^5 zNxl#22-&&2O$@?kN0=W|$9UdLP=2E6(cY$6tS+mfZVUJja|i@qI>4*I{dNf_JuY5A zyD|CnzJ!(`408A$hViwqAKs|m4^y21CSkDJ?P5^9`Pv!h?BouRifm_(HFpJLhQ%D| zHCXL_SP#W6E(TSgEYQhKFG!Y2Nd@C=pdCteF!YPy%pVVLD=XBAas zA?2i+_1g{W=BNegMjSKIDfiO$i|g4eg9Z8uc8(uzHkQ-2NrSx5FM0rsCIcZ0$0();)i(odo;RkKO5o()8 z2jKGZ2@LSE*xFd3OgHe0bgViFw~JPMRX96AI{Nc0Fv}{$vBqa&`xJTyAyoHu3HI!; z{nbg540L==oTBwE3ooD`Y%Du$g4xX{qByc)`fSm!a;`46qO7yK+T%gy-D}<c8vAHs0RPo8A^d|ni4o8I%{!icv%mQF zQ#bhe_nd#}zl?F4r|By>#i#HH$vcKtX*nS3@xv%~U{DeSE@sgxN zHx5DDD(Do2$tuspdi0lk6h2ns@(2?s#w7_mFg~orYxq1uJ|G`PwAG{i7%3K4pCKb~ z=;cNoRc9RM6}|CY6XkyoOp~G4)~aQjt6uxlN}4irJ2GC+ zxw$-#h0Fw+g%yu5yoeJL@9L6<{y1zddtGb8dBjQWfebq|iQ)=|WFVR% z+31LAM@QB*hM9QNvqEri*>~@glI46Nc{VBUh9H8$KzN>vqUSD9jO0roHySnq`@H0f zpKZ_kCLT|0SLSVcPhb86|6}{(cO~{X(OKPj^;>*M*7FwP_j(=iwuCJ>yYWfMB3QSG z1JxqwleF(&UZEm7SrxkH8LM{dx+8W!`mpXEu1g6ov>IQtQl)ZhNVv1@>AjPlrw(j8 z&NvA~-M1!Sy1(zKm&XVSe_A*N`c%VEKfkN1n4Rxnuw=5mO~rkY)xHCMeU-MG#^T0{6$D{2Pwp>sD@2vjgb}@Fm@58R{sA*G znA9~caNmFJfW5W^3u32*g$o+yz3&QH8{j2>tE*?JNZ)~9ka|PCOW1qh-&9#&v@nN{ z;8w*Kq&vm6w^(``On!fh!ranrTOr<9KOP5cJ#26Iz5;bb%lrPB&rFd&EF#g4!FO~& z;rVB{-9^@Vf}G!Xdk2OF@N$F(IkS(UG1~vK{Hw=RhK9&|TdmS@!pom!tr-B$@|#ic zBda$vCoZHw7|%3n3{k43*A`FS=NrKae$SHPuvYe$wKt(l#d+*Xi zDwO19R08A;I0!4oBMM15M`Nr8R1)X8iSBI0KX{7vGCF}+Frf%CIOTiI2-+M06zh!u z$Xg_i#&PAm?Wz7HBX+AFKIdQX6B9ZAiK+9=&sR3weYFfGFaPl~Zo4V!na7KjXyzLa z#>~0O9J$_lej=FPPO{Ja4|L{lH1S01kseqZW(cOFig27qdWlp2TUjkDM3J8UvUGq8 z&N!Y?nc{p3#|VTxHE=S5gUAE$*hjOB0cNKS))BaeDCgr1kZB~USVWgm3)k6l6Bcr2 z0bR(fL}R0cz1~Qn6h%?ki|i-9EsbW8G@B(7C{Hx2LKxyeToD3-I$u`{=Y*HtS(MG@ zl1r$J$r1|hJr1VsitQSG3RXgHq{q5ybE2Fe4U zZCu)K)-%CXdIHo=CkzW1oDlfsLusBo2@WMT6oUfemI7fTFxCvBj3-?1%kT)eVsf+K zfnrHgEYWF4vkvNc6k4SAQfg&S?E+ALFXy;|R~I5>_=iPGs8iHjP|n^X9VbB#2oo8i zKqNw#GpX>%h|(_EZ~aKR9Ip_k0mCO8LX&-Q8U%E}hZfeckwxc{ahp&3sccU`phKwl zwhGO#iP{i^U+{(iY`Nh9nPbZpf`(4Phj3ro)eH?WN=tJL(O-faEwbbhCna)XO=tPX@7bG;%9+*V0dbSE3kCA~cF8EW zWaJzG%K1S6L<1W8jYd$_A$R=m#e~C2ig7eidFsc|3=F`=RtCikIe1Nw*pM)G<84yL zPqoZQ4uJ&%uNk0X2p^Zah(QRld4-e1gg&oUUVHUBlZkn5<9M0SU*#L!wXTnD!|Q~2 zJW(L)gBVzHpyq?*Gn9bAftJIAYfG8EHAz%2@gD57mJ=j|2FCzvgUShraTjA@S)wbc zDS*TvqKMf`fv(W83?=gl#Fs8|QMNNPFFPWWIA*0aPCF1IN@iZ7G**hjib)OxQ2|fB z%+Ip&Oe7i0o;wn64fO!3vxYz+83A-oM?5MYO+=X-QnSACTn1Q66G!=nCCpHn8XJsJ z-h_q>>GYqxG6B)~tI@>I1Nb*OihT!57 z){bbcB5Pe0KVV?9Rpi6J2ZEdum^Yyi1eL@Ef;EHMxJwcRX+fzbjI-KEmXv!93eTxg zFGcO34;)q{YL<|mDlO-jYJ=Y#CK!ZcejmKtRnsr+(SJR00YAeI#41h zG1l?a7hLQ!omo#c*@LJ95Mzq90hDEiz!eeW9j~GF(r3T0tH@)N8a#p{DoR!h(dTNA zP(fFLcLL%>U8&XNhQ%u2(V&Gl#Cyc9i}RR5 z43b=C5lXbcN+sOPGJl+ES_hTJhP@IowPzs9$0(9&t1*DW@6RgEX=JK;*6+0R6pOp8e%ZyYhDu8pthqkN9+YR2HQWBP64Kg|CR9p-c zfej}p=YAJ$k^B?c)me8sm}_oK4PHWH>Bx+X__pT7lXYNQlQFujy2F5(Cz4aZb0 zkqogF-bq2t=HzE*toLW(&1z9;nkqtN}0<#t@KU zXl;kJ(gcmD0ZrjsZ|eciS$IyzZYC~|@ix3O7~St`z`W^iu!1|1pO5z3K7L0|?H0NN zBG-+4?H|~B$hQq46iu@RWj)Rzn864UM->h-a7RKcW64MXL7eXZ7y303EA7=5OVNFb zOfL9#3f7kF+cAN`Q7-_?R%)_m;Q~OyQ&iT(pTtSUvTwv%Cz8AZW8{*W1(HbCggxg< zHWtGO_A{^hWtST);?4)56nawvB|(^JrJ{4>f1fh4HMVL3M?sijLl9yPz0y30Xas!_ zHNNT&_U*7n)HLIXZtVpw4+%@w-JbNL!bFZT@LgSukC-JjLJ|UTJf%$W6MBLOfF+96 zeg(()HS#8cK&6f$1`gt(mP;wY1Lfr;gP-At5nfuh)J#CNp~es=cZQ}skOxc8_BE!c zzlx!9Qd2dOQfmmkYNn!ur5KJv38-hU{EM4M*JdJdPUKo z-N<6)M9gKB8bUp|1M%KL5yV<*;tTLTFF<-$`b9w80qQddenIA`3BujviAiItUysm_r&VCcKcq z;zT9X%@~+4A(}8N&K(p{ii0-bB01B%8eqko=DA;ba!UbgF%(9f(jm8pVu^L-oeQv@Zk3=$G>b>6H!B)FAw9oM@Bu?<_U4PTUFO6LcJ-B(!3(aC#a(yOP> z&~dO=nA<6c6KryV0|IX?Q3YYd_C$LaIpVrfpyOeu2(uVXV~9hoo*OonJP(2Zj54z` zPJq$B=(yM?Vr(e|DT%m7zz`aSAp;8r(s=Q}nJlAk&~dO!h}#U-VZ*}U!oc%1LEgd% zhuCsU|B>ahw*cHiFg*4`T`sH8*f_{5@crAL$a3jB5@9 z`T#*dzP~CqJAm(8CYfpfy4fE9e91^H{l!&DSzhmYRvA%Dd<~c>X#~>{G?L}ff{-ml zF~q}uG5RAc#Xn-8jP$ZM32;P#T4@C+njn=6aSTe)gJ!8m@FzFiX}`8c@)h6u(5a*P z&d;fI_3@z9Rxke42vj~lSwHm;J^GZLOe1XUSyw{m+|d5M>NgiB4VDs$&ITflhJmHD z){iES5U1klE{SckqFK4~a(su-4BBwPvMZ@o*qs=<5`qM--W%$2`;1ri@8_}e=$k5Y z7k^5Q|M^)BL?6)7;{KLp)6K*+$*g_ko7mwwxI!SaAu)<76rmUBxmpt3W0@2=BN%&s z$qfNZZ-KUerG}QTtw{B_M&>ZMW?1b_K@vk_kaGl7B*s$!H&>OY z-!Pe1;sdpEFPf09U9^y-u^eNu!SP3WAu_8wm<{Ab{O{iJ6DQX3Q=9Fz`_`cEmOEcv z!@Oo;e;=RC$u1kRW6qb3{SH8lfhvn66cz*$IOqm2fHoX0a7dQA&4Ct}skyoSIf-Ot z+(ubq;Pe#27)UuVra8<70et|9&#L8i{D$HaKX`&`y!>7UlkIpwo4Da;z-+AAgQCSr za6F-b@0BPsSH*9e=f{tTU3GIyhEroNFOf6h@jEM7zaOuD=vr^$*RBdL9QA*xOMUn7 zQ3)TIn3I5Eb3L^MswrFgR{)?BzEN}u4uUtcV zzQItYz(zr`=S_K}*nhQDkysB}%!Akofk6gC(as{BA#c?8gp|V70Tk;PDdNwu_sNvZ zdZp!I4z*h?1k+u_k|(E+hi1NJh8}-EKid90K0>)J8H7@#XFN{P9>}m3qX{AgBOGtD z(Fl8UmihQDzqyk7ShpSHqr%=_Qi;r0+C->;OBv{BDBN+Rm3VFsLBnS7 z6fq5D2z(wwXa?C$xJ7#H2c%cpX)?ooG5H*K5984BOc?px>LS=+d!@5BAi|)^GpWI0 zu6Ia|iSsp7cmuJU&gYe%Gav*sV#NV~B5QBA5+|Yjg8N5c>%TE6-az^7>x`nG*E zfW8|!Nkh)guLE1jv+gU(TJPHcS-y z2v!>jBxyFiP9LxlhH~b9yv0Vg_u~RuTQQZcbleb(V^UB;3~wzBY20vFT6Y0q_W>&+ zbmcM<=|FQ(i)kbsRLB$!6&5o+b`YZs_%=gdQwPotLN2y@3rk&5ctH%HgyLi}R(Th1 zkN_|c5CQ-M07FCsGyq^5%0D>O17ajsZ+I!CvKk;*ZI@Ko*`~k$k>XDE8fDkZT_RM4f zkpP0&`uioaWZr$Y^?LVdAfxQnc#TsR%&?t09X!aQcYPWeb7`lifh%rWr^m+JC#+TRuABc9@Q2q6&s0uf7{*vZguS&YwaM~a>U1fLIDYF z3$^Kxwun{&Ngyc%GAD!}-2n$m|MjCyGhY75pJ?g*M0Aw1epz(Rq$YkRjc)gxZ;XG% zl*Y$n=452%&Sqt>{?jRFbMj2SB7A0N&CS@pyt{+;FPsT3-Ia&t(LZx@RJc6toDMDh zx5IfR_tITxZp4_Ty!bSa9 zB5PDs6P9D5>e2kC8Fm~Gs)ViiOe2)XV;;vYHz2fMm)Mvb_%DW3Y$pcWxa1=Ns!xIi zUXX4sMCvqy&^9nsJ6DI0=0XEIp@FIxTtvjEDp5F(!I72Ps~g9*wQO!^Rir>cPE?Z~ zL(^s%MZvUUEUQLhQqm4P0SrJ^UgTcGKm?q~5l4ieaKbmfzoFPKoqu&b(I$1WE^@QD zeLkgBhNwm7pLQU{AXNy~7(J*^u+q@Y_6ePAarz@}W*^6$=OW3k347e^oJRxHo7ZQt z{H>@Csys|{>_Pqa)`|d9ZAKicgR1+AMS4p(W0VDDedI^!%%7j3&6~`bJ5-xyHeG(X zQEHRmPo_xoW929K;v&`rAgid38zERwb<3azRE5Pc zN+%mu4|uQG_Emv^TU)9juBt74Zd?r0*q@8h{ypYHXv|w<$gPNYhY*d(^VObimqL(S z>&QAk4UO&p>pz`wXx7Zly)L0O1!=DBIw%{Y)sHjUpV-S<7j0sf%NkLt+@Px1{#DE-OWfR{ zb7%V^hy9#g#FT2Sw6tntAhn=tKu1`G_resY!adg#6+zOE9rxU-6`z43H;;!pi(O=j z2z?gOL&5&2x}klk2)i24a}dw%hbq}wr6R5QiT)FzWaaA*$+}UGpe;lLk#~d%5$z~Y zumo8{sq&WY6D(%@`ssekbiMPo*m9uy_1H<($UJo_t@U1z?FWTYLn6|?-`t~~wpb?9 zy3K*b0wTd0dNiV>N5Pd=7y*!xo9>ZWmc0Cmtl%BTijiNqd@ygEkp z_w3}2P!%YC9k$9{>U}@9+HH|7`lTb$ug0j3REX*LIF*kYz<{{nL26M{GbE%sm^-2E z$dzTwlgpv!+vf7z<;aW9j`aVHg443Ap$ohLRQc-xaWq|Ca5+c+Q{iNj?~Tk}&d!V2 zP8@R9$yBz>3R1r{s=)R0-o-j!&>2|zC_BO*TZM{g;PVJkeYOEY-vl3On7-Wg=9Yo1 zk3x=ETI}`XYI@uz!>S9XK~N>K*I6hQkT;W*wVvFMXF`j7s5^fXm&9(AZ;zuDm#++Qyo zV~vXvyhFHF;<{IDlP&!yv8z3f0ycBiX3 zST6Ve-n*yX%9$*4)2s6sLOuIc>}uBl=u3rOy4kMVVd=m9<8E^gNZb1#&xRJREk#Hn zkp(IR9^G0sKZ`xeLR!+Z9{A4=7?4i0j~gsy+71}O+X(?w1{-o zwyi6fEw4en!r2KwS#5WOR%H>@I>$qxiO>J^S4Y`jsNxmrl;JCM!PamKocQTB`3E9{ zk2p*EE6^cVtsqs4bpmed4XGk-f(A+;;^rQ{@?PX2wEwGbVTRJi-&2xf+~&Xol(sAU zF7dAwUfG(b!RBJc?$?fb{TYAliFJxnybRcV>IhSiN*RDIc%P0QT*+KVcPlGz?~yC9 zA+-KJZT;)}ZEQ;Ivpz~b(5DXLpuFP#s!gy+&V3{rHV26T-=BT>3q!<5T_Q{tvHQ^A zl6)U-bpYJ5MvQNj*tfwTr`y!gxV9I42<|#sNq$fhXsMU$uEP3Q@@fi^m3+ne&T6YrqhA>kvwTR(y%?fD!wn zb_KZi?s5!DuFs0a#+qDauDhC=JH9Ue7i)MxGtYraq94O{B1g(G{4TId}HAv+PCK%Lq6ZE!(- z&2PzaLju+(KQBL5^pEH(?O9egu6<=IKc3#dd;BZdoX{~l`>Zbla^*oc0zDq+ArX?xWjq_h=M^=zw zk14bty3dvjNoYo$_WlQlHuLvA1Ya{4`)%4;cYb%ooHISNrS{}8Vcg$ho0p9jv}Iy9 zo$4p}m{ODt@q)pgB1DvtZ3jnQx)jfPi#T*L0(?l|U;LT8e*&C9kUJnqEkY{zxeW;*lVv&CuW#tg|J}?Lai7 z#o$TC82yma%#6}%Or4wjesn%`kj2~hTFNp`*aR$0tH%Qk z&N#ZSUMF}=CS+Ytznv{PEqdFh%VfBHX`e^=p{;LN0BZcQ=fTP6F=Umyv;;y?)_;@E;6HTTd!q4`&# zF8E-jK>-}(l#Oe+h#H#T`MboA>{x!sy5!jqUUf;G%SYE=xaZpu5Pw%Q_Ei?W6easX9o11><$hlTONchEXtlAiha4+f2 z`$hkMK<1~#KJIJ%>l+P`AkuTp0y~{^31=~~a@^;jrMCKeqW_lB+%ZtV1{YBb{=lY} zP!mGOu)X&(UH*VqARmd9r(`-bf$|863}bS&v#xf9qY`$YJQqoy*(7)B371XI%4d*- zmoT_jh%NzG$Flo;O|Mb?i3T#ar?7ZOp28>2hl8NhyV!U9ZrvB~cLHc3X{pw|i1<{B z27YATc`ioFH))Upz+hNQibQnRw>$|JWtT#10;^=D;B2!rdQ!pLe>qu~J_adbAf0 zEEcoF@4x_XD$cX5T6uy|g-qXA$F%C0j;OBls=s9j6rDIkd9U>#{YhU-qWcvk@~f_N zG~;I#(e9FgDaGK{eD*?xM3ej~>%XEgla1!ig5utONps{wKcky${U?nQzlVmGKK-OU zJsu4wZi?4xca=MP9Lb;UM+*afnA91W&MG??Ze)_BTzV7DGN`hL0e zcr>_imJ@c0v|PR>9kyOa5-^~Rja-2;@9KZL0F+o9I)>=GXe@cQBAz!SLy`{+12z?#l75 zP0jfID=Xqzqbs=l(R~b0KhdG{#QCmqb&Wn89kSWpnauI*+`u^3-oK}(SABVQ%rX?X zL=A`E-A&;TJ_ylHaSt+tslNBA0S!5hMC{6XEXOkphi(__bgYgCwKZI+k|vzpkyj}( zX1-s!NsnF0#E*WZ{X%o0A803^bOZi>(mdZPR@qT4@CfhXeeZ9cM$Al}*>U~YW>D93 z_4{^1cd7BkD@FL!j9Ts9FgBuZ$(K}NT}`${xdGfHiJq_7Y}y})Ih4e_$)l7F_kC!+ z_V`V^Xb}yNPg%Q3=!wh!=J0qYr7S=~rTvewzN{?zqp_pBpi!Bx!GA454yaS*zq>oY zFqqg(Al+o6k#zLBvXh*{_+2psX{Fl({)WZz3FX)L!{!py((sRX1n61%R99Z!TugX% z=|9(z0I+sR-D3LMWvIx!`oHlrGtH%*u?EJ#S5BMdu|L?9ehmJgt_(do|vHUOWL96H5hr&O7I>!4AoK6a0vzHJ){zB@OJ)0`JbdaPz zUu14ufxxaE$fYF$2W{P!m@KYrxfjGVT>{ky<(Slv`66dKC6TDGe!CC|!g%=G%wWQHCxwUEGZm`|tnwSAUa7C-@T+>!TCw(ERruk=1X8UstP6 zP=0JDa8aiJ(VyMoCS}s)&ogt+ra`gmLu9vp{nB3kb?{u3^Z`FFJ6^Ye`wjRJ&8SQt)UQO z#>idv^s*L&S_4Lh8hpTZE_-lFs!nl(_r+D1Bdo|4_JFZdn1ngpC_(Y_pnNYR&5A-f zYaRq3`ShHAM;K#(2#z@u2-lJgJrpZB0{zAw=~aJGRE-rvg)kt@7z>p}6)26U>z#szD*KT5g?7g-vluTDD5s+(p zAovbMFphd_fMD8!bK;`CE5%5w)(R#twdtuXihJev7>T$;hy@`Q!C z-i53HY@CshjTAxL^TbP=R&j`Q~e1V-Wt(8_Wo7yTpcN-~m{9*j5| zREbqJC{06JN@TPkfrehn`B~1%RqBwz2=Qf5gwOTT3?O_}RmH{B7IL`;0QX)>VRtXUn zS`A2#w8|(9^C`z72>U2{vbjI)RMLYOR3Hj436L2mflA}AN1GuX0!G|EwDYOt@kTu$ zEHu=mMUW7vgGp!cRu8V5GiS!`OohfdQ=iy7?_XlN!WR+9UY5Q!B;Dyms`&1CBJfks z-!Ct4-xTY8j{gMN3dkS}B^q>@S9%cf7%@E<3a8FR3@YHUIb+O%{tmq(1@znASOIqS zj`mM9D&ny-eOtq6Kg9xApH(E}EjB zJE7GmL?TgA4$6Z>AV(l)yar*j02R1fOcd_%e@1)!@4C3&*v47S=PqnvWy1d^(c?m{?%11YlI^^|EWqqH1UI}g9o_x9($)d~=0g0rN5u}1k;>Hl~nMzfY zrWwE?p~>@Ij?BhWhY0m~1JT&221m+*9N>DTSKdqa1GOWLaNMNW`B>Ilv0+f+31Ns6 z3p4T72O)4u=j#saIA(ts`qgDKKYuEr;va{-VMHI(7DVf?M1f6r)CxV#ARGkXq(26y zCkVgn@5VW##2Kd+3qgojDtM9{hhXZf!5!j|NXP!GEwKxUr9l)h97aN|B{C>b8SE7> z1~Jx7^RJnkKaZR7mw!^rLI@iOU^vc0)+`b-tx(+CIdB6Prr{-I%}rCTe3CV8t;PJs z4UkJJ_5zg(E4fA-FDx!@szves-**yl;U-^`*n~cP@|6U}{bu~iMdVO_-1hXuPpNzP z`Gq`o0)No3;3@XA_o$gIrxGY}#LftYK@#y~4loLq8SwL`0eO*}Z}PwIIi3qOqY!+mst^{nuS4ahWz)#3>6r~rKPy335rAylH! zfV6m`6RO*`w-Dl$%NJzYWMFh`vwt^SgPfZ;2JW?%rp7F@*}Ch5^_S(2Iic~ zL23?qAe=`lNbwyL-ujOu_;JsS(^d+gxj>X8WS{`S!7}Pckk6342l*y3!Dk3rFZ}I<41UicYSxEy~!&{4E!7x}#fwW>H>(F|9>;#8(%$8BC$G)urSGc)JO-IC$WKIXH|#|K@4$3 z0B;FUF|D+4!TA>F8X4_q*+S~)XtjYE-p__M!UzYl7~O;8N|3*pWc`srFDt22?zACB zqL!#6Rx3o)hmdlq$KA{$80V^^LwqI8{lj4i22ig;DN7sEO11D3Jd96@M(mL|_M|g< zrPLHCy~rY+RtTjelVkBALJ_*nWa5n&xnB334}2wP)Xou6d?83;C|qNDz7BLr>@oK4|5dni6|xM6nTUi$A}7R$qoESaeRf96(v;~Tr2h*6UOa2kXl zru)oAyD&qMim$lfF}~QsAx`VL8In8h_T*JBRfT;R#bOd2l%WA$59z8TAR-aPD&x}^ z6gq5^D=)R(j!jO!lm>YBdy1q@sGDh#(rcRA}iB z#bS-*CeMQ^;{tgx#DH#}f$9`kDU7v1AxcA34gd$c;=PvjKlBnUV_5q8oFplyqc@$I z$JsmnDRpAsCu~0yd-IByyDIEfR4=v27%5;?6GMnrhZHK5*+o*!ENqVatPRNy za_ZCRqq9tWHJ&XTHsiD}sqBDSlx|1M&jrABS?CV~Nu&fS!}4DHA6f!|*Rf89fj^+t z2Yn7Ez{Q9EQlmy<=|g{^M|-1uq+R`vIO%WbPpR2!AvMG@xs_LTG#x2b{O9KPb_o68 z45`K|uTIk-iH-v}$k5b25<)Re;>r1`MpVW}4A65JW<*Kw3=K~ua8fHqJhf6{o_r4a zPi#nbq_&Q)X5@IneA9Sjrl?cdSj<3+jUWo{k&Hr&Vmf9N*Rf&N?Bb=-GVcYM76wV8 z2GYqCWFvrVtPN;-CdvJVAxk8ETKwxzas?*Tq9O_hEyh_uXj2S@s1|FAlmwl{FC>Co zU3~0eTtCKgEXoByb302QMixvUCkODFE@Mz4D)-u?`*E9rC`mvB5sEVT2+0;lk!@zM!VW-)! z(UJlUL6R7vGgF$)v;Y0-w%bs1R{&7+&$1P1lC=$0Q~f)r{s15|Ge$%JU;qUqvBqB3ga%`b85{v8ya_LO z&4La(LK2{W$WRqmV2)(aU|s{{0gtiTK0oQp-0oxrtjebG%L%cvad8Qbwbp64RDjyC zk$zkrOG00bX3hs+xqPIbX?!K0{_)NE z^2~fT{x(jPSCx^?$;Zsj&*jM3jClF_yVtQ}TC)I=LzC|9RS{igo zL5LB_VG+$3>0?m>uYgXgh^A;QtF@ZT5nUCM%V2GJ6`m!R&p(m{w(^`YhzI~`bXo4(gq;13rxUyjS`eXe#wN^(4BC_0F%5Wl&IeOA>RqrLd79k(bE?gbke8X% z(@*Ki%*lU0fAG27(Lbx|lddUTbi;S+TKn{wj!yLnmtTfEH$Rz^pUXFso64W$$ffdI zu3zl$^%qy}kiY{NjEF(ta5V(AJs}CSQ#&4bWihgoS>~6uM6k28MD+~K2*fKgrPqkY z6@L3yq#XdFY#+Vq>}GWQP3){)iLH$<+L@ink`x|YG^xPmk6!=ghJ!m(FK3%1sfzCjBxQV~ zov<#IMfpd7!E`X!BfQQmUMmGV2^{Mr<3O8IMruQFT==UU#fYAzJ~;r#5+vKMy2UYs z6(p5=ViiP*h~1~;Jg?eE#`0e3-&j)+yQJc5$XG`cs{7Gh!n9ygV*8`7?IIU$msTrW z`bp-tdexfic7q9ub>h{N3Vr>uT=KHUrZDdN+pwD}=?Z~KL1-Ev7Kb~YS0b=4j%Q;H zDCfw{_IBL4<^0=ZuejojA|7+!Sig&y6apPuvX6~)KL|(syoMVq@~+xNK@7VlJt>#vejoZrI{;RrylH?(?{)n zXnCSZZtYgs9Gd_wmHKkKgQ!aH)!S@eWIJS-YJ$cfV2-dFT_8m0J%>pUaK1EeBZ~4Z zhi@|J%5-!cz0P#oTKXs0_A>da#a_y}i~8^AiLd{k{YO-dbA5Rk+Wh%!tlgjEsAlAG z<7~41@5Vkg3gJQY_QlA9l}QuHb#|4F4*-oBZHJaaiCIGCB(|UT;4^x_6M!{UN1$9B!t_CE2!MZ(3Q!+i#Rtu4AVzl}h$vtRry}!G(NXpK3SqrAvR!}yKNrYJ?RdZ_`Umw zGDfUnuNCXgj_3XOTQtr3U;s~3kJpGs2o@5)`s63{-O0dx^SI^t$o@WIAMsB!`9NwL z6rXwa6-0m>m|exlBx|u$-GW`v4pn>$C9je2cPNhbNh|H#vkmBLj8DKETm&jrH2Jn} z{V4PC+DUz(P86iQY5{4~K7`n;8{IKtO|wbaH{erQ3G6^8y9Pc@yOE4lqt@lXE{ec< z2XK|n!iJ*CO&qVT7Anc?t4-ZPxAtmuH-kmSc5hc+?At7;>-Z?IeZlhND(F5YO>@lj z6zkP6BAp!QD%tS>58B+;2VV&c1Whl34=-JH-R;z(s7uL`S)FA*7s}y@2UBN^XRRU1TuyT*@%Us7#&LytRNO$lSlTlWqmhk zVW3hoxtq$3nQWc;5wDdn1Wv3$`biWuyzmpl4tb9uEWz&Wl9LDP?EWcN0R?rx>$Sag zj*jl_Wf8sZOM0Q%!ed{K-!e;Ee`!3gyR_9o>%ewhLdTCmSOjoP^3DA%zZ+osip({+ z-8V#mozp(TeEROgns0Xzg><$dKNV{w*?S>iCoUElD79=>jm~# ztmH*J7!p>>l-NsGk*C;Kj}DzPn_CHNl#6w&YclcH6MwV~aFkZ^!mc z^KpGqGnTMdy}4z3%@7_fkzLA*gT(Eu1!QMvQJTQ^b+>|jB)2E->8smL)h6@i>)~i3 ztk>+e?E4mKF8eJdYunhYvv##X!57{4wAH}#-H6=XBBKln->I=BjKFh%#FM>x65FeI z0vcV~hNS>8tqU7gr;FAnuta*n5RDc2+48YXvU-T=4nQbAi}~+1z4hnX!Mo?rE!AYY z{ow5TsSW_m2>G^FFO22%9rotXlerelZsEJyBou=#Siq`w8{1xNKAP<6W+mmnovhVk z7xZfBcC^XW@>Inew)=K#1bPo+4YLLSv5K`d?8eb3#a}>nOE#Y|*Rc~!`NEW4r$uuM z;qF*I$?g*?`+9HK!w0V$uXNTB`k-(&;6z;6|LKpsL%1%&*T~%O!L(X!g9FZf9@X2K zWi5`n$V9kwd;3)x=HnD=pKqt_+s!jyf!arzg-X2`_;iT{kVCoRx?>l@PcIgOq}dmB zmo8&2Ok2GtvU2me`TLl4m)Hsaw-L?zth8xCrJYu^Twq!unDs?(!Bu{~w1xV=3h)~8 zmaj%lAZEH!CSTOloN#3867#Q*bxSjuLQLwt$9nP6idkC0>#30XmDQtp>DyXI`GcvP#=Sma})W|MOlqDH|vF<9|atGfbOv zbL(~ekRShkppx%BQLMmA-|RK+viIK0Zh)7FI5;Y%gdx{A7V@z2^2=mxlVfFMp$Fai#>7O9`$tA*;?pP^Ha{e}`_`+aKr=9BOA zlIrx(pN3z*L$xn9U(3Y((E4emHDDWw*0W}I{5x^}KKCU(OaEGaLVb<)3-I~2L!}dP zY+GPA^xXp4jxOQ~>-8etlr6xPSMBrkEjXt&-}&tm7{p6I$j_lh^wL>wCyroETr$V> zUC^$?KX`C_HeKWX@Akh*^dwk)OB2f`C6MK37)#KB{c--&aCKm&NAYIiI<;-ewKZuMdKKW3v|ppc`)c zj>ZSGG-T%f#!gZVoSH^_x`i7yn1M`lb=H~-_LwhqU_WNXx0vhr4G>?*vg=p4_erA4GMy?*kSpJrUHg2~Mp+N-1IhOfe)*}?C;072;@L!xr5yyXdRFgDkX8cVy ztACT!CZ{SMsFop-yV27kZmORZ(vPg|+|WtI{44yzo%soWj?rYv*hLHWAyRXG<(i7@~c0zTJ8^Ti91jek*j;p7ujJ{5&|q31k*|Wfg@~UZ8dyK z|JUy-k~!l=)ZN_U7_jTv?KVuo=YxCwoU+<`|JIErbslCdX@K_ z-_Q_~*Oa8%-E{)=UYc>^z>RqGse*u;_&lh5g$Abb}%eUoL#V(@(UiKDMiz`xMaB$aXz_1tQH1%*Awn0 z{=?Hl2)Yv&l#W<63+UWgb4e8QPPW*N{G__`=9nKh-uO#+#TYF4Jr}1#iSHz<$DQQg z$S3p7%Ioc9Gf66B~xSb0I+PCxKDh(iBioIvdNKUzC25IW* zbm@yf>0A@;m)~(CYL8ce+rfQNJvP{Fl)n41_dh59`g6JBx{$X|561TI^mFyl>1*F# z-ctK5<$tg0URM2@x%5x)bJq!E{?Ck7xN+_*!&i9@_TEpqEt#2f8Q=MnAD5Z^d0z#C zgZA}Vdt)E`Z(lgz@!|N71Z5e7q1YQ&JJo(|eDPEZiuMfkDdLWV?%sQH4keL<{VQGz z)=UBWfU)a)o8cmIo+tYncwD4}C_c-f(mPHRM3{! zQ@JI+U+*)V{R{2%&wt+ZM?a0_y?58SOBd~E+WYO7^2(pA`RTi3KOar2yAS-XuV4Fk zfkBXA+fvqTS=eJR{dr1Gw>zxh?Ga|DMj|-N^KeY!eOoU802VWX<-pP!C}4^jBQ+=r z12o|(t-c5HBN@58T!4>u5I&4XUfxXJOw2sBW_tP?b7KF)JGMS|Dq!7=p+C+WBW$() z>?!OLc<8@+9w`3qy?MNfyzxJOs6lN@qo$6uKr1cQ+9eS_MKbm~nwa>v4foW1_OAUW z<3UhZn#moQQPGFsS*6AVApzL?(hGotWB#v(Pku6yQ7}Wn*lxfOC=o~}UhSDmO5a7S zU26ZsxDB}4&y4t(p98O%P=LB z3>fv0A)rv!OJadnHFGOul>ca;)w^m8@7&U@qg&XOk)4~(nYZ+z>|HD#oo-l?lXpC*>4OxY+UDZRWAxgPh*O+Gd6fe9Vs5)=to(;-C|BGjG_+PBslt!*7=^E*!-cgl_Am9gKd zrzj#L?1zqLp$H=JJ$o+-ffQ(0;v!V`eQ}5FdOe0e)Hr`H1%C-o`0Zj5 zVZxO6NigOQRGe^_S5+9Ory!ALEn+^$D(g5e5K(`GXowRjgd0pa$Vvm9SAaDzMibWd zj%qbnX}W@P2*MVSDlVc&lnNyZ*QJ%Y`VYBuvok+=a?g!S8_3PH{_)&+f_vTUeM6kQ zK#Kv&C@bnG%CES@N(d)thhLB%6?sBdUV}T+d8jdR|c2LfJ^;l^!Bsy!v$wO&b=N-!r#zz{iYZQxhVW8;LJ zd$mO`jf=TXQjx@gs*C7XV4u}j1A$H$u%jgfDx?K)cT-M6zCLK&TjNgvSOO5pS9arQ}N-IFuBO6jBC*R zOH30hYW3J`kO-h00&xaiU`pV@aj1-P&(c_Dz&HYzK+YG$dmLe5)Pabx#QK<+?a_5m zpFG>q#Br8KKnELvMKzYmxP?egU&DNzu1W$8_Y9N)EJoC04G^apM4v^kpg^bBVT4Wu zh)$ggDTYF!4Vec*B_M`6d$iS@;i0pVdUYljR*5xo3 z9000eS8ETnM4WY`^2Dry$6NKDxNy=>gD^auaKQvIf`<|yq%=Vuge2g;cLC?Zg$^%T@| zuv$sHWV)dyky<_zW`HBiEr)~B$LQ;GK(t*V-d5t;Z7b)LIPWf?&`1@%^J6q*~L zr$U9I0pV$?111-Lt1g{lK&~xN1;n^YOQ3@qW+WOGjH2hB8#l|V?CZF5H?O+QmGR}~ zrm$aL-A~#DtR7)UkN`}A!*vwUAc`oY!Qcug8Poe;7%N*F_N&K;P?&Rra6;8B#g(AR zQbW|@iW3XR9x@kUzdF7ewSt0%N@A@Fe2m3&g*?$I+MUYy?AG6t$bpa#Ce~q{ms1VF zT*LVp5LhB+9h%(z8_u$fK@~?SDRmI7L0&5=qx6zQw9%$Bxz_j7$XJljF&ui&Rpc1Z zFsgP%6bm-2fxPEzeL0UH0T5S=tcYC{%W0k%Zye9Rs5`VsUAIm$4tV{r_+NC7k} zgftoky~lyke2WWt@Zi@bn^P7N=h#8``vf+T3B9;2CsA*ckn1Y|W4FC1*FRM>9K(BhJk}*D!%GPDLC*xTr)2$s#@0 zP!>uxu@?Hnn~{EtJ!&9m)QCQyW{Mb=Fw+!xAnheWv@gz^+2hT)VrZt#)kE)b#0wP> z5Y7LZ+$jL{xdkCt#KlSY{3r#x@eoowum%wjykJo6EjkrBG2d&;RqEuH2*Iy88cejf zGx+?m-AhbPo9-3UOY*+x@{z%s{kB=;{%88trVl!psp2^P%M~ENCxq* zg=JRz!fo|6BR=k^Re!Vg!u}5u-XdO!Xdx~Py$o_;uvLg;I0AAp4%JrAtu~?|`7lB^ zSvW=!E7K?ULZ=7;>(@*=lyQhn*g)Vv9Q95yv$W;I|MU)E`~PszyEyXRXYORS8bvJc zPpwIRSx?h=O}1RbaVaK3V*pJl_b3bFo~jg}Z)8dIfgDc=P3RE;bbIUAeP%$&cv;Ps z+-V@9HL-L&JU+d=mR1oSU^4y&_BeCPlsx})P}myZDPsTefM{w(njCcyrfJX8jN=@D zI(dk(&<8d$;#Yb=S@G1uQue_@}A!WbuL6^uhXqe!a9EtYz; zasUEwmTWRQKbeAGY!sL%lRS$i7{f6DUqGP0ni4(cr^J!QmmFQp`L+4low{|7j*WzHDX1ukch;70(cN5wGr1;@fxrh5o*IxO#Gu9` zf^&(0Mk`;!(I(~G(o@4D+P0!TaDT!vu+=+VoAuM9JEp%nPhEA_ZTKw%@0UFTaiS{KFSy?~hK@zaP;a-y=Jn3k^<<@if_WbDZU)Tb6eELcKqn_vd{^;}ZokzDbKS${0dh`n#p5fCn z{G6ID9QOS&smE_=nd9QpwfsYj;C6Gxwc!u1y^+n^PQlPk)d8N1T>Bk!SEW|X=2aQ`r;qa;BXgXsj7 zn~s<&AvB@nz+Lf1q)o>OC`dW*LmGd((1^U(0Ll;$0ssI2Q$qwM003WQ&eTbOp`SgO zH{Y2fwoM*$*%073u&Br|YCR{-s9%*;==6pMs_nNmiJn^~8cKR5Pv zcklOh?rv3X$h9@wP>l&80SGJrSM0KuAveN8&lUjzHY#eBz|ubpptQ&{CrO@&T%)n^ zNdupP?{!W*vwF?d&cJt=d+2VgxoXHR^XTkWb^q{z%oX+MLvY{n&D?v8hAe*4(_BCC zuadd(>&(sHauE4*9^Gz!l5dFpbLV_KckY)rlh)3x!e2vo`SToFXWsJWu~eorn7Eib zp+qC<50XTZ`UI4thKms^;wXY>lC+X562ZhPwsZ@670Kx%jfD1tzIz%!{d}VSNY@Um z1bk7acIbQ^V8=alFbB;Pj}8X#{JHPE+%a~(LU$k^$?(J*^YcU4KimgBu6Fa8qK>|_ z4=(B(e2tn=$%{;raXt0x99D&~VP3Er#)Z~U8iLmyld_=@kylrWf@oJv=YgXp zB3Qu|3p~_lYV&taAC5Gi$nKHh7{cy89k2r|ArL~G@S!S8vks;FTnxKYmoK7@wf91b zhO)#1ooZOACJdr9u`XdvgT_<*cb#pHZH>Wkw9Wn|=W z;Nii^#Ldgeo5%5H5;hz@ ztRl9p8y2bvNFE=GCAA6GCl3?5igc-+PI3{j5P{O)Q=W_#5Y{Ee3RR~fEScf`bgmtE z=Y7A#8(-IfMdmx*uZo-!s$9%)$0?z@{J&T&d3kcVBr~H)-dNE`IIHx>QR|QyG7qd* zKmpVZq2@$zzV5j)Bqq911Z9g=xfId3178tSiH>#RSDdk=>0++$LL_N|u#~2)xDcEo zjBGe*uG8t`BfqI&~HJx=>r15W5TSOJ9=O(g+Up{PYj z=mNG>JSkDfPiA3|ywzdiyuMf>RZF5Qt`?D4PF)k|V+M5TZX8Eg@-?I2oksTd6xZBTafG8(0dMd-F9o_uERa}t>1d=ea0W!tPEA(E?3k? zpHSFo?kNN1l(BKhNCpDpBXm?*X%z)JKb0uYH#&?%xkHT9D~PO^WCVl^I+|Ksh33Sz z#1dGKDp(iNF9}C*hBiNP{>}P8cDbBfc2!L+=G8Vf$S1s8(kW^Su(W9ni0o_oV|(F} zUMYl{q21>>_tHZvo}+~Bwciv3ALYVpx3V8;t^Q}-XMg@R-sZhq({|aYwBVuR{>2V8 z{^*|RpsHQPG0^>&1O@vvcyDu<5rDzeud6)}_P)TrJw~!7>=knPe0=LiZ4%(UVlCW* z8xh{5@%p#~^W-~b7eX)p7?DKguzs*Qc5D|rq2?9*2=^$!t!g9oleYOhR2g8cRNCzF zPlJ8U-p1L$FV8FCL(f?Oy3PL$%bhCzonpxtzgg@~)nJ|6I!np}SsLi?GTJO8*a{`Y zVQRtWVj+?;jF#OcZv^WE?TUU2{DDlq;wDo$esm(*Ykm9}E{E*Rn%ru!TA1|h?*WKWE4 zm0$eOhPcG0nIJS&a(ss{)eP9;)T*Qhk(J%Z@+NkIrOZu(p(d+zn=R=|fT+(kd6Aey zY!!m#q<=eI)>=gB=SL6rHbVV+rOIg#{#p8>Hc7)5pFuI+pD=({+*U6s3hb@_f+;}# z;MDztrVaSmn=k;QNvgC9S}CHBX|(o5;>qx8WcH2a?&Wn3CXI3vT_cyuiA;;E0wfs7 zMW0nLbiC_0-wU!RnrU@L-yRDsp@hg?GPm!sh4Tj+#;VEm_Ve?j-SWyq za{AJ2nu9eiw*)P-hlc_L3A&|?yTMc!a&Xas0)}-_0LtinY18W~t21k?igdo27ee%@ zzeK^t%f`6(svI}*>@xGX-ez5M&UE45T9>?^Mp6%b___a6yE5;Cq3C}gi4Cr66`KgY zDR*_GfVn9XPDJ?0RXQ}d@G8&$6aF@CKn4Gk=akbPgR}wB2E}C2j>EkWpJ9 z5bb>@hE8GJK=|c;-uu@tQHj&P8E$oVeD|S8ibT$lLk|UMbo(`7zQOnx_J+2*d&gI) z5_hCx?kk%Jsxl2S_NH&J=K*_68Czb{&*2Y3!}LbG)w^RlRDT91Wk!~dxh<=YX#WkY z@2EkLIhqWiTXW&ig5I2VV!I4Wdkxrj616Wwg%{pSpszkozC?2b%Zd#Wt+vg(0(djRg>=nku`m!;2J* zakb$+Sg8|aw%e4&mPWy46i=GSG1V7`Yz5qGvw3G|s&dKO!J`P1D5&IAmBbX@D?v@$ z)tbIE&OWpG5Bi;1Zb$i!cE{*mH*^F#h!M&bBK8dR$+w0*4As5wqH}BR+d@3H@HMfp zdixkb*b+sw&edh_6`0l7@dlB#`+~BuWpJ!XAM%zWOszhF<>Kz0lar1 zVv9+rIE&KAZlg6juYb_Fw)lr^)AN)ogRYIBzU&9#GP}NoarS{{WHMW~xAabVDapXN zhBfqFoY$>JGL(O8#&8)?=61-(Uo-ZoYPL1hm+1|$c1U*w+ z=_rBkw(@cCSUiih)wTs(GPs+VyiB`&SG@3e7eyeP*BI?umR!Kjon4KDDZI~ZvNuxn zH>xKM#11fj?sh9_7l2}Sh&9YOy^DA#WY?Jh+oD3h7n@6h)75q_!kpnoDDCS^1ij^b zeBIAii&h}$-u=2VllR1(=HoGPiaDC3ft61;HnI)D5ZE_*I0Sjc)xdTBm-MJnM{jHl z7)h4$kdC8}0yHR?g7>;@lrd{7$D+TreOoddGI2^I)LKYAscPUg*HC8$-n9ip+0f2@ z3w@imJY05ezkjJ#%{eTBo-G}Kbh_ha7G3lsgsb9KrbcM#o1nD?^}h~RA^np*?bxaJ zeM@sfJ0m=!wsl(R?B=6y+3xqhPoIvYyzRU0J!alJ)2VwH$g7bJ3d8P4WmxH&m zE44+my8ZRKYwZlI49$!F!7dlIHijD|)afz%#$K*)&WFnTn}0Y`Q6C}X?-RrZFTEu$ zo~|>|gA1m{Isa{sV15{1J7|?%%c#Gd-w&8vZV%NB^0IRBaP$6nh7rL@y~U4z$9s{H zB87LIr zd2>ET6ct~4t?6(#2}x7H!Kl}FVBUaxx7&AFZtX*>WDXu)=GE613NQ(8Ks*3$q|Uk} z%JQS=ryww)Wn?|!-%TB;USC9Vd5>;UeWOFBby$;cnVZVToXU~O1BXTM*uT6e3>IB- zDR-4#rZ-Ksm=O4Qk;?>wu3nM$Xegbxbi*!5-GLk0$&5V7SSPL-P1A{XWk9C&0OMj+A^ZstMHANjhB)p{4hiy5{h<}o_8Mc5uL%$P~(iR z89G?SyEplr!3A>WS7O|+x~|@1y=H@F-ntg^jo=ICg^9UFxK_@qD}4nOB*M99sb*(C zrtgbTIHiGi_YZQkZ{`lOIbgA{Lglp7Y+IpNM33Qf>}PMWA( z*nTPaVPhcI&lW7{Et=)-u2THiY5Om#o6x+ma7lje8bMX2wU=95x9l-Xu6QZy@PwId z0wNZh>xp)+R>L?;DT?mVX(;#U{tudcvN+4CYFuHDQPUCF?m%1n={oqr|4T$S5qG1! zyTFGw%^h#xs-oTI|9C$Pbw|S(YtunvrI^p|7+TZ_vtsWCbhsCGr!72hOprhPR_^l19GQcQ85k87EllJCoJv%`*VkBAOj)nu;)VS?Z zddqSOEx}tMrr@@67ns3Fx;lhxrXP__*w>jTr3jbsSTfc=hvJw|Oll9p)qXtEySLuuU)hjR~Km1AAQPQm5Y9tbt=?agl zZFrQdQGktb06=1unhTT!CY@%u2rCU`8n1EAE(pLAsCKmOBgCLCro|{mYidCN!yOPi zJyKESJ=LSIE@%^PnC1eJ6iRL(1Ur$|9OVS;z(MMyGD#{?SmB;xH@iC<*+KF7!95_t zKkXaaR{lnB?zpJ99N*gB5F%PgVoE`vdOH9~q()=~>Uotn{i@HKfB;~l7J{QKhC&l? ziAj_SjfVlEAb2fLe;wqlqmQz6^^b||!N%RimC}{IgA2fhdnkTF^5A%@cqmvqU*#Kh_2Guszh+oj-% zLdD>kr69<79$=$#DOLmlk-b$S0kr`EK)_6t#xICasbF)B#{hJM8GpKc8zly_40t)$ zN-D<^#;`f*PZ~sXirJVY_qiRAuY<%_^Qj2SypaaXVdzKr!e%2XXI8`^6hgTnA}e*+NVI@p%{K%r2MegG4m}P& zi)T&)DJN5HlR$5^2s4F;O9_S=$G8DMWznFXawU16s>TiVkVCR%Gd*;Xgk9wUe zF=VdxQeEv`L}(LxICG!bMbpNE$;GRUwm2*_#t!NJjKd0ob4sGM24ggYRMP|j(paIl zV}S6t*Zhs6*`X`=Bm%j9X!4yEXlNuBL4k?@bfbUC9}XP->pp^52=Bv^X$c+z&d@eQ z4-~|61O_WaN_VYKIcreLQ@jO?7Wi&kl}o|J@0xtrmFi3g-e4Ig5N1|{^NgFIj;pwJ z6KOy$;9KC^Kq~^wT1!>2s(j+ILJ1VdxFAa8AIyC1j}kD%52sD_Z8RO z9v-_P8vBoQX*}H zoK4$h1H~~^54lzXHB~8(VOmTD-cgt{Bz^E&`6WM}~G5+W4y4CRW| zrJH&NR>VuZJ$3)vMxzf_jUz&n4V*w*B=HELk_rO}N+UE!nj}z7ToDl@Dnjz|q;O_t zGD?Mji5-d6S&uj$Tnj%FN=Q)~M!uFf{GRfDY9Mu9C79R@ST7@liD*En;evdgrxiZh z|C>C9;eQ{ck=WU>_I{T-WVH@soG@A}bO?F{D7`wR@|gTuoHrdlvi=Kt%hVKerR8hm zNu1}>&%;V@G{?eCls~T(B8!)ID?8YZj#Zf}gP`6)19k%TE6-CTW}C^RH$SZ(0)bTweVb zm1OSS*v<_JywQF>pz1zX*H)Jb;X$z9&(DPqyWN^R^x@y_)93fP>{IV{RX^M8?{Vxf z&UG?>>3|OW3xRo44qN?5gl0`GwZoK&ry$CQ*WIBAvo)|?|2aoz=jC{EQfOADvv#`g z@m-x=FYeeO9X(VI`kiC@*2DOGLo3IOjHI<^P}VXI^|3Rx@rzTkZ-7%Awjoq7^`W(!>T3<^Us7ZxNm_qvCTAl5tmBn!0og}lTHKE^ANet4{!@UW|Jcv>YbdAMJ|E~B%uiF<#u zpY8P<>GHMYi~nRULUNFCS_;O3S`AoTy`u@wMO-9O0@uCD%YQzXJLQc1d|1E6il-3x z$t<7mgQMP@J1^askIy3w-h82`W8#zx?5uO=VIeOscp+WOHNacv&42Hte?6qdE8Ir( zo)YF>U;q9K-%0EgD?Nl3SSq@7Bw*DsG%_bG*l@4~2|#eyy@I9*=KrUEOj9T>7+@y* z9^vHeYWn?Hj3SeP0kPtu4+$JVwY1@kY-|^Q=MQVh#phOeI}M`fcF*y7x*N!@SmLPtpXlaDCS6^lFI7|nh6ndL1p$>QhrG> zJHhs{+PVB0PrlhD9r$wx&Kv+5tr|9z>E15>l`fwT;H8SR)@b@HCOG2yz{4~#i?rNQ ztpvuHCDhB9%2yX z0=J>M;w7b&rzJ!ZuopXQgjP&1L#EX#2z-?yR*6ISj|l?<8I^;rY^O zz(dR$r6|nO#L456mKe*f|1jRz$)JOGwo9&TE6b zBPB`*PbF|-GEjsjpQ`T(#f?aAj+CrID8`c?}C^R@ab?QcFZf8 zggF62Lt&Ae#xfrjnNBSw+zaCiT3S8w5u{cU0U3ZAJeQ~HrNT;+W=pKBUQhrBS1Y}c ziqA1eE9&_VLSPYwXS4!vQBDr| z;sWt;J29WeERE~3n0nr3DyC?H<&|C&4G|PZ1msRIuqI0-u@0W1lJD>ok&)g5wbck9 zViJV~l$;~LM+EAapAf#I$qZmi*mlmJE^~IJD;Lj~cFNCur7IfOPA}=w!YAY6VP)iG ze`F~r33l?eaCIy=fYn-Kgw!Q5H(>pcA`MXvp$NOJ!F4vyp-XUkO(~3WOymWHjAIOO zD+Je?N0bM(rAfazp&z_viOFvsKQ^LU9rcnfquM_Hay*-7JBgE%$d_27(%1C6Sgu?U zh4KTZ5m5Mje+7a~yqqW_yI2|U8Ma{c000mW0ssX7Q$z$N0AO!q=9Ei-1>hA>?^pA` z12bT?`N-8G$|_D){M~;7oy?I-7GYmqzj^B40D>b1G(-T1PyhmYYiBm#8KA;2pj>H|}3*f_<33CZZjJB2(Tl3eW+ zPLg6fT|81^!s1q!+!UY$=%5S`03ZVZG%^5JUBIzVt5^ ze4Otq&X7xYc;);TtbBZ&Oe`!+PF^opb|S(*p7=pW9-ZH^Cx7PQt-CaT%|Yhqy7XBY z%wKQ)ht4NQm!s#;=H-8L%17tVzw^!a6=8uA=c7pmp$d@)gN#R8N)0d4W%>*M&Ym%B zTzdNU`V1%n%#VkE#*I1seB6njtN+^XsF8R%=XB-pBd-e&U#~aM{@FucGv^;ZKPTtm z(PesmA39q=kg4<+v2R~9>jqK1vQsP*3i(28ecC$*ihBa35R6GgH}<|N*MjBu^rtKp!Q z1|cMD_0=8hqw2?fnev&Lbq;j)ZaT})%+1WKf4vW}1|Jvyb{0?`oYw16quLeJXuqkn zAW^zVelZM#1_4-s1e%;49c$F2Ns+iGawgM|lz>EDiYlJv3TiPCsmZCDO*JBWW{)p> zoT+ZUqh`;{%&dPsjj*8qP7Y8mjgyC!aayToiDp(%qP-QEHm!b{&V#6zMXEFiN`xwD zVSJNdCb@Zxi0#!0G6G6vS#%*-lr}%7c2VfX84ICda#90x6SUD4fdGD1Cam4n1`gUy zecF7I+3Sz=(K|Xb|M{m`WiMG!eEBb4 zlt4}n&4js|6&NAbsB}qIjOHjo0X@_h5V%+e3DLbZ-M^tgnnb;>e36tm&RW+$)}m#c zSL}MEJ=R2{C$5oYFiM_kFydgQ$-L1M1)Pu_$P#|`O#)IQX_HroXslqi{?kF+MUC(> zqjtT7_B15+5L?3Yng{iBx$jHp0Ad@htvHBVLut=nc22r3O)1_3IntTRL0X&2!D}px z4-s)e)-<>T*Qgggit{DWYpb#;uh|4LWqYwmZ58FqMldmQ_sKc+SXLY%mbes-c zVx|gooc7Vuv&Al9yBb`VZj3)(u^uh3lbdZG{vznyYQSd5GuItUR!1tjxaofi_(-zz zaW%KWJ8#)oHyJYdkT!Ow%MyZ#QYda0H{8|PKWzEUiZ+0I4rT075h zISTW&rh1;g|7R+SOAbdpmEs{FUc%G;$dEI60D7AT6y#Ds#0;WwnEu1qJKTXjhvq zqiP^4%+X+ z8gO4u8UK{@HvfE;LqGU02&E17ik&)RLyk!7uv6FSA_eN<+f_`~B_urQPylrfERW^BOotzWT zp*t3@Ta#(8w?#IIQP3AO)UjrS2I=6{KO<0z?rl~}TEJ(M8dEF?WVGADtIuhtH6!i7 zF}5H0SS~xGzQ*g#Mwg_*^>YX<)DZ1FNyzs2ia{#Qx{^D|mXDEF13Nf^)eIi)#Lgw@ zPibqYN#X(ZhJaP`e>@4Pvm%RjZPA?xIR&0B9@$?%11dJR9fuS#KU0hj4Tkvskj@Mk|s z|GAiO%9d6~Ebt1^=w;MSx+WS$RNyB${(M@pZa6Sc;cCx>+@qquu=l!+2oZ;gX=B0d zmyA!V&29K6URupm1LSR-_5;~dLb@pcmdn{kuSf%&6jpbI-e7N05P%UjCs zU%LHv8h5y-4id9egVzl~Pz5{tkM`gVhL_>f^4g&*IuG@NqRX7sl~0Z6(3hz4j%kDS zna_2eW2N*nm*f1+RfWY_`BJ)%duYv&-sWs$tmDXAB%vP+Pj9R>XGmrzVw7)7`!$2X zs5bX=Qa@&Z6X7yt6VXggugiv!*!ed9>4zEyUS1`{F=4 zol?Kt(e|-bX06N8ut*GDzmGT7bgnk<#>%^p;;Oov>FtAF`g=6;tmzu=Ho=Qap6&iz zKD?~&J5i4Io$ep|!M)>3@o{;vTo^5#!dt(cU;nz`t7`5E5M;zKRF=qX-u9u4u=D6v zPSK0?dUG0)o4k8J0Z9h0q&G4N6-t8zCw_=zSFk zypQ)jebjVR?*;g%V5q;B?eV}+fA7-6_C`qek@CH_JkaJOzPGwV%1IpL^%~i+?IYrQ zq&hn8WbkagT6A9Vzjwt^u4}#dHqvgSbgzmH4)<5DRT}92x_49tt&y1T;m9u0@823# zt5eym@YZ=$6BqsMt`K{3ikp*CzVvIP3Yn8wH1zX!sQJA60Ef0JzKf{|D!rXRivdzWYO^6=tzjjC&qX=j5WUft`6>CQ%N?}k%L_*x{~)| z(X1G})_z7PSoj8$of-U+9UzH{(honUwg^v^m>hRzbx44!@7)DM z)q6J?72Yx_2+2JLo(+NTmCFFJL*xfyZg)|(UVLl<(pzhD=-WGbP~MPI;`U_)7M4F; z@n-``N+lS8>L=>evRmH#mKbR#qq5yMyssc3m>Oz8$@1s7vsP^X#ql20+V!pXeM;Ey z9WDBjb;5%Y6@<4lTe(qO+3us%XL4V@;xIn9vki10bk}%#6nzJt(aAA9wQ&&Wd3DJ4 z(fD|R7pL%W7>pKe1kAn%?A`b31i&T7|FXQHyNUZV-(O&@NWn?1da z@Y-V2O20+of5lC4^N%ByVfPi`?u~jy-{$mvKXf)8QCAL+E^_;}*STm9XWRilob~k< z=?yB$CqvOnS5YUI(!s%Gm9zjC>)AKwqq zvE99|dG-SOKIw@aSn@r5*}iQzXw$C#AHE|ammi6Xk$;)`Y+R5mrL9q^+HJ-@g8J>< zrEkuiA8Z4sj`(JyrW3?zZ8&bOSqwIDiFM{ZhCoPFIY0|L;N9_pDnYX*(TtuuqC#oy zR&m`>BaCF~8GtVFj%ufyV@pMg_=^5GVx1a(i3%Jx{<_lN@{8*GGgEtY2Bg`rd$<&j zSjStM9ig+^ED_0%Ek2Ur(_O2zczN3(j{?7IZFt>6Lh;KK>%@N&&+=J_7s0B@^}0#C z;5{+y^y>fZ?I;QHq5*MPY5utNYBvjxoAdSA%U7nMHo7@?9L@(9qo*Ijm4wel_Yn7jHPg0rw zAMp!uetS}aB`Pqh^CM5QkMFw#iyva@U3E9Y>jwYhJOSqctiWz^&nV_ zdE|Vqom;XFvNu8*5#R1rz3X|0r05FqQhYj#5o3cHXgphSgG6vQpaEbLSMrBv;5pZX&8<7&ZW5Ai0wK$My-1I zO5Mo7keaIkwa-h~DYx824cD6Dlj;VzRw_7~*BIlH0MCf2>JbD$|6s?b_^P702QH*A zqIzR0*lFe0AOf@+L?9Y0LJ&h7s>Kd#nTCvr>J$ob5Jw6kV5O~R8VE$%^6D8^7~!IV zH7v;#&`U3f>ULD)3Ysv)6b7ND+<`1|aO{VboQYiynjRL12M@^9vjG7N5MZfTMuHA7 zL1L#()R>M&i9zG{`qe;_7nl%Uz5{nI{C~Ln14-?m5MWeVCBnfAdi-pW{lt<>fwl0? z-g+PRa=t=Hw6O~6^8JSy^A~A>;;%GQzc}|ra^Z2Paj|iJs4%s+pWmbuwV{cpa1_9Z zQ4}>5QDsPuf%^ubM$j#i^#7MakcBnU(Etn<4+vC@nA5TxK^*yA?@>-#OI|5am5vjVv0H@0qLboAx@Bl5wI7DS?o{V8ve}V!@tSp49vKfJBTMi zT!Iw#Wb4rY%|Z)K0I$;Ok1w(q8o8;{R{(}2^mw7!C>E5!Uv(I#@Hz=S+9u!b;H9jj zT<`)Iko2`ay01m;I%^JZNL+TcIk1^L^4R7yEihWCxC)RVMk@y)SfII597142P+#5u zBTG|Iyy^!&iBzHt!Z`%7nnu_zIPshi9 zTz6r8ycV7ZxBK*S-$A?P8IEt0f&cUx)wh#*J@h=A%`4Bd93D*g2QexzQVf>hpsl!t zq><3Ll^4NPNTyKM_vS&XFcBoJiwE!koH1w-YC*4aHb;WGliANP~mGh9%|$7#b%*n z%#&Pn6p#$XQbMgmi3%1WFL(td5HFqmc_jJB35O!znHe_ql|V|3S4vD#TPc#*+jNOb zW6EANiZP_C6^`Sgd@8|;K?M%z>6*8AYb zBiDUDl^3jI`Dg29fwt2C^u!=G(F-6%ruQl<5LkAP^X#_pxp03YOR5@akS2wmRHSkZ zR7hquMG`v%4;&e#<68>H6C{lMN_(8*FYEV_V1H)b-t#|oFc$mhC*0a2L|{+>$Wk0;v9w-6Hu!M_7n8j*&9PC}_Fhpk>&ff(p(iPM zb~dnOsRxj&y^;+ZJ-J&?ME!|-WADLU-s-im&`}1AQZ4idaiP*k7s;hLi|>Ft?4hAi zY%-4Q9zC;@UHZ%#Ym7I%f$oMce0OOl^LF~bpAR=*zwkDwYM@1vTuXad`v7kCVOm6g zfJ#4>hls2X-(|m9Z@P}GmU`PUJ z!A`=0KqSnex2FGNOIahMV&mlTR64x&Y^E0%i?AJW9^f%VTH+d0giDg4Pod=eL(WpL znf3EMMRr6rj0Ue3vP%>(Z^`Ho+HJU_X8oqJ;%HY`)*7)`jfp#f_`x_CyjX6$MPABf zd%b+L5=%gNc?Z;9s=@jqFl6toNK`>s;q6_#3R#TI{#!;?HV%nQ0#ZT=;s}cs4t!{+ z+yRJ#Nwlwcy|PT9sEf*jESmJsnu8qbnV%8er}+y-(uoo4aFKhu!3jw#Xu^Ky)$B zg$RDNI|;%C)0Hy~e!SQHu>K6*PxZmgKc9RCp4VI|#3CaUZJ+==w%`;PG*-CBk{{hq z8{2J>m1?X7Acw_tfhkbH9jC@X44uzr(>P+?zi*XKlRKDM{mR}#&!Kl8-)H_kz2)`i zIKd=!h>u%|fCmi1PI;a8ac)>&?pxd;v~;3i%_ zH_%hz>^Pp!^QriFTlsE6BUk?(brNIE*0^oP(sLaOAxTMbS}F1B=ElJw5Ft zGdc0G=x>Q~VkEgjO3A2@F(P0~w2}uM%aM#aHXi8bJnHCam|_BGP{fpC)sct%Iisc| z+R))@MLa-@-Fe(@>*?FG{=X?MPsN?ga`9qkf8Z|OLV0Q&nadb^9_dS_l#(8+k@Z2& z_L4z_cjjAt4Z=ly-Dz>VnX)ID@ufC^AP8|OSt&6Ahz7#+j3{wU%dqjJrKc0AhP0NV z)gn58Ix$Smn6soz{kJQ*~y;L*?QF|mIcMS1rOqtptgL=_7c&o4s?NM zs?@|A6%rh-!(f{)eC0n1w;pNYI)h)?t;u1kUF%%)!FG9X(_jm!C>VsQ1r802i5PS1 zOqPF++P{WA_I=cJU33Yqb*o_*_+-`y<+24elV;lMwzyNH4hohj!Pa3Z2M`*dzjui| ze0xpc+(%>{o_aXQv{;NSMm$+7=|oy_IGO`O8oT-ET(^;AOG|sx#$u-|v{|OjQa&|G ztQ?L{gzB9>+&IX}GPemuUW}QCBT)|)sY(&&Q>@4+K)fQ`_|Y7RQ;!IcIUsb((R3_b zXsu$HwUdAFevH^qx&4k@Ide9)mL|74ncrP41&*>NzT_XRU}$=z3F2Z|QAesy!V?0G zq$I&Oh;=71$6vyp6@;i4DUhS0R-+JSTZ*90n^-l5>B)x*bQUhWFs_(G!BaYi$eLq< zBddp;<*n{2gA*TVZ@a{-(94!o2qy}y9Tx*_90CicRv^|f39wp{%o?>#BT5khP$YYR z_fB*?ro>g^ywkon=|TR(0x}m~0^+$;fDzHWAVFGDCs^DeZ0fP;tB4|H%&gqvTVM^- zoD*0SsVzt>$At5ygd0wCD3viQMK&3XECFK><-DN+_h4B92ku@R*JZZ(eP3Oc6V67# z4J7~Vvfu?pAqEuzbe-JzEF-UzuLCmKTnBSueIF$r8?V#GYvEjF=G~q#Rz+QTXhc^vT-{x-u~pWr5+!h)mlU8 z0zOd)ni8ELJ?F|5o=K%A4hQm{%>ZsTJ%!n;x># z1BXZgZmrH*03~b@j77+K9fpcakrwMN0b|f!1=lT$3@DqQKZn`B)U!d##NfcF6%G!$ zo+`1p2YLmJThyWi^vKrQB?F0>Xd+se zV>QGBMS=o0vei}~x&6QsPP;xlEDy3=U73~LTqCGh4zBg@e<|3dAy7zB?uQ1qB$B6# z>ta~DbjCmlFq1;&l8V%e1G7#j7T^WmC;Qi`R7H_!0fR-N2XSpVNGg`+SugKQeuF=F z-=%gYgiQ~nQw0=GAq4`ff+bPqwiM(cVHyBH5D)?Y0{~-F1U3L*Uu0U;4FZCG?oTuG z8ZcSll5H(lFSfFM+IXh`k$LCTLY5oLTYUcgAgCh%L_`2Z1pvqZb^;MlfZUlC13vJh z_&K(obpVf`0<3^da)SoG0wYyhT}_L8Kx%EzUo9%P>+WscrYp+YwejNsV{Ngw{~@HL5YOe5|Soq*hno$ zxwX32+VTo=(=Et5b^^yKevLL9+#I}&H<`xIme0lB4^eR35QKCIu$+$wpiBd&s9dWMTa;dW zUw*IU6U##`AMEGI=xKe%)YA9rDSyBF-(2e(w5wdo!-q*n-u*vPsYGAQ zH}`34W$5H){ABovJxGzNZhzpcAtF>7?2su3kgp)pG)xf+J?CIf+LN{vr>Rp)B+&%Q z2bqprCDmdm_|gW^C3%2@lR=3dDv7EpTbHFsZ`GeNJ3AUL zR+hJ=HkM|*SE0%l>-UW1 zdPyZ=QgUw4ak{I|ovY1{-LNHibf>(DC81hIFm~_l*H(|an?%g6DwrpKA2&;xRyvVq z5s{M3THF1Q#nfeC{g2PG(4uy$66&$Jpx$9_%taqynwS`eBJMi zLpwVkmO5rdz}>w19L2fsEC6beWFKB49}BQvkv&qo`&siiax#3mHp?vUll(PF_0tkx z+$##X5DCDqA-9pl;~Q`^!ga13leRQ&%Qb)UF`g&gL7jQniOI-T_Ss^{xL zz@2E2z;%$R4pT}bpaR}(x61H!y{HMoN5m8>h)WJ&AEnjd#D1+`uzP_#C~qP4YpJw;;pV2NNyMq){4NC^cq&?g4kwA8v3PyQUX&hIl+kY|gi`Q0zV^UfuUjO^QX>?(2%8`+$W|`l{Z{u^6!u18V{S$uVgze6E z-$u-|>bCZOi;o^ddHl)E(97q|a^`7r;ZOdJ+x;(~k^cZ*07banj^~iz2E^*)jYfjU zd9SazzKIkNU92tksq^IH&{Ff{2Yow3%9UQfXJvy&ev8Sg%!Q~@Nzm7>+Pw+5>z8bq z(}bEUvvSg@yp?3_0ftAOUQvqprDu9~(0Ql3|DrBuM)=%vAJ5B`x22b{_07t+O6aKG zv-OTtH_6U&I@VcE-t9;-$<~0wfDJ-@>QY-j`aGIkw{n=9T}W^3Dc-5qHodAn#9$8D zpu0H28k|HC=c#S>y_HTNx4ZkPZ+b%jMnJj0x>6S2kIBVBx<;d&6~0S1ZuTdc1J-TG z^X`uCTK0CV>D$fl-<(|@CQ!SuO)`jIvo9+fKjzNTXa14~Wy~$h&V91XK~TnnU=V4_ z7Y-ZUC!*0OlTN9ExwFf%5g9 zh|OKSW^aF81hRY6RQog&%k4R&!OE?%40`jK8^07n?Qi98Sl%Lxy?##_5bY4}?l{iX zz|s_U@mwC)pdWirnW2*(OZjL|(m7k(I5fp+26j6I>r#%^64!}TINk#&r4fyDB&JRsj_< zvd5`y#W0`moX%VP+`Z)t=qS>Mlm-?jvMKOtVY9O{X0- z@^6ASfMh2O3c!*(;p6L00&zvbF_fd8N>5uhVZ8PAAOTR`tt3riaksj?jf#mZY18X} zd_#BaZfUi+Xg`}1WA6}#qicuX^_V)>VN zqH^_U?U=dw)U&ecJ|Sr(!y#lsp9RH279NRxMJUCtpzsLEtejij*F9;=@S?l<5R)0Q zd+Wxpyz6EuwuiO^Glv^u0-&q4xTUiofCHbmLczKmSnCyZ(5^bg^YV|Smrq}rOYac5 zSrzN+dL;3NA(}EQ+`>JLpcOu&EecePRyIUB=!y38*Ha~V9MTOo?xmd4$h$WS$sk;P zU4OvC4td>2J=qn4?LW+%v59woglpBox~^IYd-^_4gqvJL*PHq@fu$5Yr`|_4e-D7c zP#MX!?iiP`r&^#@P^Fa@{S3EZdjDR+nNp%xmmS|jDh#}ntOHRu(H8r4$YATBw3cLf zUFw>>5}3*p8v@^VCZK_PD%fJ--fNzw;Nuqdd89dy{-s;Q>1eOp3IfqQ7~&L}Fd|ar zRDwR)DQL=#U`pnjmbF)zSEhCHN%=OZB$|6kx*t;I=k$KJ z;lF-Wdf2$dm0c4(L&?`e6}Ce+Ejh^GU2Ja3#^c!i=lY(kxoxt<*k4s30(ip;YLc+u z?$Z;syW!SJzTe}+*woyqr_AZq=1&qYLC!6ABM?|4G(9AgS_Oa0WS7xFIZt;fscCIm zWTTGFWls63zkZ)?V=Z9(Q1@!bY~85sS!X}k3>@F0ZYzsIeU^#_jl(IGqn5e5K7#hiaY&kZ$qxO@>pQ(@zH(g=~j1tc|}F_p}ucv z1vdy_6a$hz#4fs+x54!ekKAVP-vbHoOtE>Rg<)Oy1~{%cATWVXi+7> zGdgogy$15g`)`fV!a(?fv3);?uol@FnyB^$_+}Fo<}o&m7B6{la+!&!?o<%H6T<37 zl533)wW`?o|33kWGX1ir|9#vjJ5;jABn&gf)PYH0C+@o5zYh;T!TfoIUv*|L%H?H}8=0{)87)YQq^=qP`c^`=8J^nt}5pdF{tm!o?v819hjTGWn7gg zTtQ8ZlcCPbfLMgHZ%Pc?wJ{w~cAi<@V{a2ysScsr)Zg+5#mG4LF6sCu*|ROGdqc~p$qOL?gq`z`esY#(NzsE&gY*AR;Vq0wBjnwhw? zIC1<8igaesEN+7f8x&f#V8rkxtt}jh8!JBW8O7PZz3FdyW0dz$o&B2>8<42xyM<>1 z1#uMDVv9nT8OP0*7;6$HqBDeaajAF!+yKRG=8=rLV0*(W!c8RM<(!pfx7Nsuq^$I_ zqQ_J2e@8>aqsx(1PSkzb5Nj&v<1G(>T$y`W;U_2P z{b~`0iK9UR;1Etll3S8x?7(H`g>^k|ta+O@^XW;6D!conqsyD$qgbc2vTk<`DnyU> zV&oK=Raemxo~v3341Kt{k?bm-3x>{b0T{lxTfMsSnTM`engBS z7~#*(GOWX8EkCDmTy>3fChkw={iBSFc1BBLfX|bCijRHx5#rAba%6jqm%vcynw`(d zc`{}8!S=#kL3UHDt)EhpLt1v`CWg0F?q-O#cYnGbw%zf|G%g0r88);QEAH*Ls3fk& zR|aL<<&pH5=jkrtRP2@?{jg2>9k5Ik|Ju23h+hb;IZMS>b8%v1FB*Y~eLKeX!?VTn z7sjTeG{!*ub6F#(2gY4@K`p6nyA|=NU9`bWYTcMB9q^c;r|Yin5u6c`Uskg1`#IUP zROmsywlg({vfg7M{*+VJp{C>-HXrw#zj*xT6)PTY7*^_w-=re zxE)n-rt}sd33&5;EsSekGy9xEd+O&q80At9Dit75W+sXVtU31sDi;;yr;lGRZv{CI zDcmSPWC!GJB~(mS7O@y6;#hyY-P&By2nd~=DwTv%3vytmtWIkiu*B7dNCBE5R!Jg4 zPRKBfAhC3VaKzL&nyf*Mj!f|TQ>{bh$}N;{RB^yGVRIENUG82Ar?O$w;Ych{6FL zR3L|W;vyO-L{oqRy6Ii7nB5aH;mW}Xr&EOC+y?f5wF;opAj?=+A4taBdhtU?|IaFa z?lp|@MRK&AY_u+4Vi!Uf8RC);W0zhpd3E)qGXach2%fBpDEgT1zWU{1(cX{@i6Zt?22j z>lUxzN4~bdP^#*8xkOXSlz$iUy+`ib2sq9et@!`hpXV3>v&HnzJg)!!p#P}!onL;R zD>vbps_y0ghuR8JTU34QOY)DRo%}&-s{-9p&F3ed^@sRM`t#YokSw5x``c`*fHyHV4=#S^HU&!Bw4j26AYGZ48IsDiR z-F|LYM)Q{gEtrD;8#6!~07Qx=LJcJZQVD`dmE2IV^Z;!T!Iw||?8%>>r@xEQEF*a)Xb3LHJfv3*oAF06uxwS^46bf>Gfz{Iv=4pr)+SNe6sQXF-lFy zdb7XgI+jej|F@O~KqfJ81a{y9!jLg7#ULn7lBpEpdmJJ z$CBJ+wOv0*?Fcrq2k$iOAlfIKJU#xNELC1cKhT+Dg@?unF4seh=#@FuR0f1c!K3`n zTk_9$O^bynbto@J&vC%~EZK?t9KUQ*%XtWs*)y~JDu zKw}8Qnj?%$ZKBRTlum*uFMy2v zv2`Lpd~w6}FOUC!(v+9G!89Mp{LY$vPteL^<>h58?paR;Lu&C0oJ2{J1}>qDP`PFj z(Dz7KgDCO9fr3clYh@{#Q*rq1tO`>l;0|VzD#VhYfpxZ>>LTMNo;_%GKKN9MK{V1~ zJ*t(um$FxV>ni-O6&~wBL0u0gBT4tcmfTGv5%u@L)_n|g);7AeB5>|5# zNeSC|-~r2VEI7`Vhr?gM--v~d>@u^NqC*F7z`-2DRwyyR5=Iz^sT*KQh&B&aVc2X` zrcp~215?7*s(|#jlB+Nn8H}SH$_9ejb97apC>N2FffaSw+&|4kQ>*Q%iVeN>9} z^DfhR=oeW?tny3uE3PD)c67X%R5b_z=xq=cFknaT(A?H zoifY*3h{?8*qSR~9RSCY0E~CHm6m~^!g)ZD5{=M z9>mt8>fSRZF&G({;wmPhoc)679oir@KI+dpSVA?*rNw@Lq$rH79bkP!4uHV7THHRI zin_E?=H}~!3uAV@JbI(xIy9kE7GtBZhfLzGa0O#48rcH*1wp!@5++)vxmk5skimkK z;A9+38Wg8`L1jT8HGEmd?>E|^rD3M!kZ-Y!86A~4W8#JaK?yNIzOb}9bW??wh6;lb zI5Xup6swGqaga5S;QuJqdpX0Hx*SF_MPUYHIRr$SL^}$5z7ZnQ<1UN-)&j?dK0J2q z=D~3s1PcUCQ!(Z=3yA=pC{>8bn;Bd22HWZI;AHM<>7O5PsSVrrH=BhWI5Lz>U<}oHIh3#VneNiM8wBH3Wth@ z`Ro$@yrH6k&?d1ESa{@VBvw%!MHmEZF}yfhdaK_xQS%N3w$d0K^6SMUmKcJJqf!$1 zqbS$7B(l9LZw}OyGNh8a9t_HnM>(dohN8WxK7TLngYGsGk2)09f0I9-os7(KWNGq` z>eVFxd>9CzwRFHssoFZQS29b&L_?f>ViK{dGylI~eFf~WnOK7FFc&%r2xOp2b`6CD zPZ%`Py9v}1fSjs<*N>c_Asm!okImhB+C zQFW2E^9M&so78F^SVIbZ-TRGIVlp;ZpNw9xS)CPaQCb4{y|A~F5>Q~VE{!{um_5@xUg9sEA z1x^AUw4vI_tSkUEAm2i#Zuha7_ViwWPY4dnVFTawQa6sM0t!Q|r9?b?YSbCBHNs); zcZ0B>`nGm-mTE-DdjG%wqb_?b_z|yoSgtHgGmOL*9ZcEyS-HrvG`VrAwqK45zCVGV5$z|ZU*7CU;uLGRLY>^(wq;<3u*$VsRMJ-GJteNYF2!~ut=F_>|YmO;XZ)V2;VRK+m-Q_*fHNI)?O_G>DM zD&iJO5Ew%mNWBdNChhe?JtDD4N^8{sYaGE+ZYEF_mTN|};e;(KR3TWS7;7L8P?9Ma zgM4Z(JD4kEd+paK zRe*!nq1JfWI?~9jl^iNTQytDcxoHViXBjKtB``Fy5R8>nQ39ldnC7L|an-DhCHRCO zDNkMSmA?~oBK4I0;cprh!l) zG6YyG0&7A>=2eAWDp05SDQ{~!XU~KSLk$Eo%0djUK%ya~5(^PEAT;*M5%>#87?>3&hUQJko)Cf^o4#usBke#<@~2*7>J4 ztSSwymt*j-9oq1$VN0+F*-16v5P3DeqqWaLPHbXe+W?BSQG3cqOd1FwI7chuU7>N+ z7~oA15CZ@N0763qFaTh0RIVx$0xGY&r+vS5`&K6;luLjlph38vw-*K0{YJ%<8J1z| zuHU~Q)yM1@7e7BRZNhd5QhM4a);IJyhLj82k#R? z{yqV}f%UIFG<{ZesGohXRsHREPP6RnvwXt+Qr1u3`bSs#pZWQpy8W$pP7iw1t=Z7$ zU+z5Z=l}Z7=s)DSYkl>^j`7deBL@E2^=I48t61&(efHJ%kNs2YsOM@rblurpO_ttQ zXP>Lp)9BH2PCxZa4E59Qo#BtZfp6FL)_r~9UtO)=E@fjSe)Uc580?o@fA{TPJ@wDi ze!(97Nt5i678C9(B0ATVqR>3vg6|(mx?y$H*RRs_oOATCe|9Ncfxy#Jz-1AZYcgX; zcZ<%3%82;KOPg)=p)>UKvoGa$&NOzGdW$l45RWPn-v~h+RsLIlyWM4;_D6?DrTx4P z3rn}5L!P)%lNu3X5HuL&8on|H-^fm(WjDg>EX~%{&gsz)?D*Jj-StuZMO8$C*^PrnyCoH6uZ0v17&ICz z%3e8Xjb+gDDYY%{7^2Y6 zioOGyxPInS$lU0D(rult4!v!7I;@o40WTL|ciss5$Ldr=1q2{qTF$Ln&HpPiSikc; z?_5enmuvJi5(3Im*AY>;ybdw8la-CwzuTtk&hzx;G$uB~}V?b9UZy|}s98-4r){wDnRU-5zWp2xqu_wP-wUJK%n-B#tJ zeeQ0#YiaM?+&AML-{ViWU+&u)|A&w7zjHqlm;T#o$J6Qfz4s0e!M6JJ^YHY1^S}Po zTZO&(vukX2{6TOS>1D`Dd_6`>V=+1mcOa0 zEVhNh=*Gv`$Zdm()@Klyof}!xovUbZtJo9A@j|CJ($eJFP)A$$K9m%3U<;>x#9W5s zvmLZ8eJv|?A;CumA||(Ul4e8a$0%u4>$`>J_+NrtL1YJ;QY;NT&7{snk6*X&yq|B= z?rpe@IZssX1H2wya-&Z_PdfJfIUZRLkO?JIR!F5|qTy}UKvCt%#(bQPvZqh#t#fsG zWT5to(9f;GAk2Y5%H=P4no;U*Ytt{jo3S+z@-g z>~h|Nt3eg}gL9Qi{6>CXr>#G$shyb{no5}Azi)a4$NB%jn8;cY%zRHSRLF51_S;2$ zJaCyf;g;NYOPP52|KxUak}*DywNksIcOXV%W!PC=?Q2ZiN5;&z?<_x-8FsQ!Aia&K z3&tA=i=avwTle7f9T}}Nj?|$ux@0wOla}pK?#rQJ6>$(+%1n*Y!bI!b&(-i4x@E+e zM7}!|Cj`rH&JXK+oYG-De&1k>F0#hAcLb&=Q*BPQtE(`Lo5$a8^gs=B>mkD>>*w?n zo0rTvcco2PzNxD5{Fnqj)|Ups@++FHB`^R`3ej;xW9Msu#q04pXxDbq3lS&DlS2k`}1%eT5efTU6)F>hqAHo$_8GwKEPR zxH!I6YM%<#zzt<${)Cl*CW!~gz+;7MOAe!u2K5e}-d~qbGq+HL7w!1fkXyBE$Otmw zeNsVf6iQ$XG6NU%U9+{kxVMEcQq_i|=PA#-i*K!ygN`9h*?!zpm#9CwZzS)E0;@H4 z+|^CX8mgk@s(hn;d;f+9cA2d@ppv=fO~$5@Rb|mCtjk{Na~B9_)CnkjjD=rDp-W!% z`C5`RbWm#Idl9tRL@fzn)Ycv79QGVfLQB6FL8+GW$C_xo6fb(Azv1Jmd+d#ODNd5O zDuo=WW#NTiQ>x8;ZJTHl8{MX;+xYXOK?2Cp{WdNH_gh0=5KDu82M%XB1d3t4ToIw{F8QsiNKdMTSox*QEe{+*Tk*qy9^J(_@0$;#zxsbE1@wY6i)0|{Q zAT7bIHIrg+)$TU!#0SV`>-h1Jhn-=XnXX#$0{)XoOBhvL$d6-EZiwQpN(ci@oT3qvd`)C7s)|77*Y*b-xjeRsF)s<;41}g+lbk~Lwx6gPEOc#hcLX-r zq=@5XE!xN7;&*EuI!-<50Jm=XV*62btGE_TgQ8-Mtc;Q&m;Ho>mqK^V^BH5d;BDlS zDT65j=8fVnb3GYKz@Z%K&g!oRM#cOZ?*^5r`cO{su1X04G8_#x@XNz^24?^~-icp? ziFNv98!Gl$<1~!L$7m#c-<*+HIkIyCABeKh)A|$ID@MmrA>UP>9J{yuxExM3tau)T z;DwYlzHBZ^4dRjK&&$;1><2;5rO=f-!*|rE3yj_ySt2#U(+L7LI&v2H&UD&6ye=$P ziyeeRZII2WEQ1)-n*DzM98Ual~tA|Q%2246r}nd zMN`zkWq(6XOOvM8)!VWp%^&IDmRoP;R@=0gdWA#RQ!h$K;@$WkEKh@@x)nYG1Y6Um zwmb#z`b?4` z-`u!zaQ=$;5!E**1^8l9$$F>v1!+$%^tl$s#PL#967yw}_i1pjIB&?%zoMrDu2PNI7JPfdX9fn7G%%G27`0WdanUL?>Em`W($ppkbqLQ&j@}gCKWEDYocxrk7o}CJdyf*l5z)g&S~OB1{MBtb*Xk-q&UYH-9nLf8&=g;DwcUEt^a<2#m%mC) z8PVHRwG`O|#S@O#$_luYFXtJ7aivExzb+PNjsAjfBQkx-Nhlm@8wVP`@Kt-b0_TMv zUfl|-x+RZ!_ncFbw!C#-m}N{NFJLIMc=$!%`O?)?^BoM#ryj-H6vd8kHc3D<&(J3Po0-u?w z2nXJji-=!#UW#9VaDM0^5b+uYs#CXJqotIo)YZ%JsLuW}%+4%X1u)a&Jf9 zEaH+Z-)cp_T2zq!UQR55FFif10vN;A!fyCnYEmY{CW(Zr4F&m&MTU$h#W%;{i2Q}v zlv@3|a=jt}xpLE!yj|R5!@gWwXZsqmIsNxwd4-{?<9Fn*bLw4Z)VsJwj;0guV7H~S ze3fcr2VV$0$a=^;G5h{q8VgOji>l!2v%*so-}8(5Ytk(N@sz(kboE=|)3Gbr`1~<5m%Y(m~zscjZ zi!rvJ`*R5YT3>743*^t>#--onxC25#;jlMFP0)vw-i~XIUL*dI@!Bwv!$ykKoqqA> zcHhPSq=NG`RMMyjf4N&tSF>KoF-9tKysz$Rf|29P3Ag5_xTn7JEOdQ#U%Sh3SkZ~)cK=rSC4lP6nzGcD<4oa{q`taat3=ZC9p7zYah3h#~2fn`iBzLe8Nf4t>8s&iZR zzDNZc2$%EO{<<9)Ir?5^xph6YLaioV{uwYs}acb=BW zuk!a}@U*^uB4Ty}QGq^D$7x z$Mo!l<*nj2`JwoZH*)REC&bIrs4}Sik58F7acjeJRH53dfp_USbZD|k*U?N!oR^*JRtJXUmG-_>eczzI63T7HiDadfq?7kt-=cw zr$W7)_YKFzg%n``C7t-S6D11_qa6bWu9!$e%Z7@g5gwJqI@Dvq^Y2R)Ru-4gnY{uu zaVb)$STqf>E(u!TW?rmejT|{%&qAVD=ULu__G|MysMpLQZvE^ zZiFS0c=X7P#oxK`dY)y$V`1+I8CH?Ha>L9Aot&*1B+)t4Bqx18j%jAd+nt zD`B#EP&~>3(o7zOzom~O4&g;w78js}2|eqHu~ML$qq`lO<)I6Qa-E8~1h~M>+Cs`Y z-Fw$l$c8(N%kX~gp@>C*#55s`m=gxQ#bi+YG^bc?>Lj5erk6lb+SZ@5{oagzLrGBas3*Wx1kC!u^SS zmSj#^Qr}ZE!qZ3-kk369JD{U55iu=Ve0Q1N;c5Y>)aI$&f{G`V*yyChvaAvDmUWck ze%ZHlaEK5ru_gu0!5C7(rqO-iNgG}=5aYYb2`wD17&kJ-LN=i>m4lb9t3Cg>i6psZSM1iJ)BIy;PN!&jVYf8ZUW92=?xQJ>^ zlk*q|dp;9k4nEVMQOk`LGk0<3iy(M=5#kyk39w?5XM`;UXaB_VH*sNwcXR-#z|d(( zq3Xc2CPY?+Aj3N;0e;;yw-U-yij5@>a*+1;9HSt?3F?9DM2PsK8EGCMl(MCH42ty} zqgEQoxJo&#gfT5%d9QeK@EbGdj$yij&BW3%5{@Gjw1AJgCNvl1U~n8-izUbfP%buE z2xeX0GB(o8*CIau20SK?gLy@m_!?}Oqg2-KM38X;@La&)lwW?w;Bk=C&^?tx=hK!R zHVe|0Ay4KK?9M!7=rOew=DC6?z~Xa=x1_L~n5&f#TIxDDN?J=yeua6_U{pJggVuHf z;miMuBVpa*W3jt)-_cS3{|^@J+_ket?7kiQbG{vVYvW5@*lXyH&Z(cNtNx>NQ`ZTe z$Ma*d=(KoV?jk{Q7Ty6JlRHNgoy-df^}x&*1)hGP+)Lk2KTAVerNL#3D0Pm{u&g_B z$Ue~)M6_atuvaRAkDuF)J*#Oz;+cb@uEh)@dNP6uczJPVBh)+e3frN2>~8;g#_Z0W zb{<3a;FG>RLrq^jrfY8fqMIye=d*SFIbA*z?BRH3&)o56(S7v}CLkNu6QnL-o}iHK@<$q(4VM?>qjm6f``xcxO_&A}y0?@WmV#kS}P2E zA~C{hh~oBA{w)}*(dKJu=>6vEGGXq)A3b)&aCc0FH9iPvF?^boAM9T%(0hROAT_SOiykc4J7POU~|lpDTsJND~N9xlS?~!{~Nrf?Upd zIav{lb}rpx->=qd_t~9e`nzKGi2LtLA45;SM$}X3)pTe#c%Q4c=lo;l!N8h%vmpBZ5&Nc2t;j@7#A0VSyS=P)X>iL z>m?;bj}2SQgjl>fLp;wx5YgIFan!3N>YoKaUvWRI0Fhsv5PsB99n zQK)zHbUHLY8fyA2SSu`iZ2oCEoK#07_YyV}g@ZxX);ghgUH8yY3*qeX;NT_RDTs@a_g1ZDD$s z=)Y7{vHceSKP3M5bf`TzUS2rJii0onS^%UYt5#5@n8-X@JU<8*rOSxnH}3t8w-9gz zEGeuYtP-K82|`GfOzEACDM-WdAOghhQ}=fbP=#qJ?gXP?w@(Ogj3cZ{$I8C^EpF%b zQ#A7{i4_>)%@qBq5KW1!7IEmL`Nhd5>iAy`pnLYme)e(&CG_v9tLx9y>DaoN+QCt= z|I5D=XWANOiiklPG5$p-qIx?o3LsK*g5p&}>B~6I93otl=4cv;k>Dw;_V)_Yz!2xD znEOkr@G-WOYOn%YBbg1tbBQhp1)`nHb4gVh{?xkBPv7B^zeK$)7LG|HNGDpP2WW(gZ{gHbg|*&Wu}WtLw;PVHmk75Yb_NR#En@)@Cq|zl4=NZfPpe8xOTti$XL-MaYd_>d~R7*t_VueeNTnb7R^tdq3wh5FNDud1mbS9a=iGl_froD>aj@X$656g@=^fi%e*aBOW@KlxFJ9 z)_U^q!EG||T+o4Z2kBJe`$P0n(>|nk46`}6;>fIn8HF%M6eCz16Q~|fgCosvx&2XP zk7}R4^$i~5v&_@{=sll-4sbO;Zyle{-FzuXAnYL(P&4SET;PI0Woqm2zV!YZa;gi` zdI+-GL9y3XF-XKQ)$+g!k)-mqe8zd$P*iP|RzOQoJ;gvlhxACM*cf%LD5SC!oGF=L zL#Aq=w1h(z4H2H5Fk8_nl)i8m0XUWPD!;#VV=X8?tp^8a(aeFQpBhSIy4o* zU)Eh(RDy`DQ^}QpaKy0=G)CkCDAzPny9-^XtO9FU2;#_ODMctkan(-J12L!Jr__&i z$yMDLG$o>2F5}j`o?!^Zvw~!2VtRUd(O2+be>A#E%l|*&V?~mXOcJ5Q#TsgG@ksKL zu6JEbRV-&T<`~I3hIs;n!a$&=7RVr`;`krBYsNGPWQ#)%(1#N!nZZLdMnH~Rg4@5M zOQX9`OvGDWV>FhD&Q;t?0fsgZqNPVZ-BtXB;f-!qG3x$QNJ60@S2AhEiwi;sYxH3+ z)x)pRU0J3D#fVjqtyfw+7GaDV;3EaiiFH>R{*CTbGoeK!hhWiw1Yo3;W~QR-oVZ## zV_h;;cPva%bW-R1zt>l&on9%tvq`fBZ&yyQ;4TA4>(WoKMktP+*;+2b62i`fC;lFGv;af(}^?371^eT_;mkx>mfl=3NB}f|X=JOQ+yIA= zat0R3U2r8mSUS(a-a$D*D|4KL712Q*zk@5^?EHDR79Q`7>I}#|I&Lx+ZufJGHm6<< zIqXU#2*m}(m9Z5v%Tu0Q`V@9ajV5bzCXm2jBfYXqW{wEr>9Y)=G)-K4x;5sMWCbD7 zHBNfGvv?vxsk0@}kPCCt%6Bpq%rSxl0)h}0s0+fV*ji3ZDZng7&RmK}jY`%g(w0#) zhjd)9rAeDUUSr>)95r&}08eTrS)PM>5Yk8{o`YqSjD;A`Nh3q$(tEu{=84iNOd7)-v%6I}hCduNSJ~#Nw+f_V87g8??99A>24dV$I2>6=RNQCce=}1$o$QBDK z!AK$zb3zSHCX>~^jU%yN z!Etu`1Gr)ginF(-fkrxfr%fkc{gH*2Nfc$oCOPhdT=N-?^Frc;?+oe8G6N~+C?HtW zN}$dIX9rJ}zh%>@kqO@p(>2I^1qW1SGh2$SAZy?r6uk(x`etf`??~vo!ysX}g@okj z3J$(TU@$JyzryEgq{4T@bUz@+c*IH~6uojxiRM9+LkEtDQk@!|@JKb%dkW=3l!-JD zdV~qWNYJtM^o3tH-w1eU4Z^|?6Cgn`cJpA7p%imZkBwF}65%_7I<%T&3+-blYzPW~ zw^Bq{pt^Bnpm%C?!YSb@*oGl&Do6^1FtfENkeewc$w|NOROp0*;2K0N#@49PNn0p7 zn^P(n0^WiB^Z;NG5CQ-M05e1cHvn*7WUiD90g$iFs{h^S?yxFPlBv<;cO;jwcmq(~ zJsC=F6mQ#QDf{=J`~ZN>%-s|KzylZ&k~DYk0)SMXzUm1BzJxE~*8w!DB`yJhfM9Z* z54n|KTkuPjk1u0g?f;kRUT^2aHjy5SsfZV<~xdg-@X~0vzKOf?wfQR{Ae2)y7(W#Rk`o`Exo6W-g%nJ|C{hu4T z^8Sy+=fCIY$zJ@dcF6ZLUv=U!H`RO?`SaQ~pZVv+$N9$AD}3l9&pRuXADfrRk80(k zWE=M0yn0*vug?UV8|ce9bFW-{o@=PaFFBso@buTKjn~V6=f`jP=ieIf*-)0)VbW>s z2?kM80B4vWQmlg%RQvwSWj*pg6`?;dtwLkLF_{=lkFUx%lgkKp`?oRgZLnR(8inKPBu<38f2 z`cA(C{lVFf^@I|ADZCYH#6{@0vY>+`Mj{Xj?8t4Wz1F8}PJPVcFDS~5u`!W@!AxqQ z^|)ZKD1_ZrNt-<-+*`(pGR(Ed)04<|IwCdCi}Sj+V zzE^yea<~I(2vl_8DcUJy8cMuHCwW`=-gnP)x3!tj)9K{QWHO4}-cm`@cQi3b!l#C~ z(=F+i6{sUyk=MQ|D9hoC8D!SGA@b-XU1q|_-ZUY-`axYVz+t4VzOd|+bOmiN2Yubi zq)weNxFd%&ieNm?h*)*V@|Q*@b0L20d7JHp_ys)0+}Wp4&|i-!zjF2cBB(noTb}vv zmLrRIGj{N$+5fl6hdw>~)z$G=uP2e$L&PX11&+w|<;Fn3rPgg-F=|pXb6x66rEURf zqLJ64w4!+I6#`9_Nx~`%D|H_(6&%r!j=w3aBE6?nZ=;*+cIZ+P~FISK+wH%^W9f(uMR|YxTy_)u#Z+!4-Bpf5y+eXZ9Hew zpVhOUHnD%|F8srL>P>95UL1=35sRtCFmgK4yJi@MrzTsqH{Km$x8{RQrWi~f9#Q0* zDCRc7$e(9kvhB@-S%y-hRZ>TJyx9kLh0;zl=j+#+T`d@QNPbFZ}Y)`EmWOE1u$H0G58U*id zI~#8HaL#e{I3N-*3|!tLKtZ8{V$eZ>-3!KM|Z+v;U4rCyev0AUL&_aRaM*ygQtsBf6pNoGLETIhSg_2$+8c&)9tjn*ej z8>T*T@y{R4nfj*z#J{lANCwcdJcbL>4j1~m2*{o1g#vj@@KO@$*L0CS@YoWrjSl+Q z?VGzvAd_ug{s7Lv-k&)CTeZ9MXnu9JPm^^%Nz$(AeT+TmSJKSU%;xY(rDx%loA(** zsewa%nE2{9u1K=UISODs@wEOhwQt-p4&oq+0rvx%L!?`k`$R7J6uUJmqWS&!*@s8> zOPL9uq2LrTsg`u$>}o5TQjX%%1QzYJa*bSrR*Vv7IAdj5>hp@bKPfUV#EK;T?0>|A zM3ubTWGl^16%7GwoX2P|`ZIHS@)c>HQ9=*u{2L?$&m{-X(EW`LrOw zODO_!8tJDixVuMHi5EIO3>`k+Kz0EQV>No@aFVpmKsWo{ygTpNGt4MFWtQp?ax``$ zARkMcvB#aN&D6YN$?U%=YLaYD;>)G0?#YFt?EX&Cb6Sh0$=8O&Qey~~NS5ZS1l<5) zK%KvCD)KbVg8}EI4_rWe(b}JO?fA)&%gd#i)?&<$1Zl**brutT-VVFf z005OfO=2SwEj(Ull|Do{xvY-Vo13|aq4YQ%bvAK|u^>&rGzqGd&e)Qs2aZaT&CQ#V zbXui8B!KC~lzqtUJ}VV*d}Rc>D6%h~FEiXjztEcUQ5EKJek;J?Sge&P>r}i_$$!FJ zvYlN$^BG$e;i+8S4_`M!FDiLi+iL1fsJ+6=`y98&NViij=|!P__EDuh0)9EbogB|9 zVA5*fpmWG0F3KSEVy(ZTFa#m>Z_&8U!#04#0-CQ)fZ{e>Kun*$SrS2&Rj`1!^ zOHR92fCH_*R%JUa!E)eR<+PMMpP&=AP0-2?dtkVr{o)!&Q=DJv9`w=IZxh!{o)f;lF2uHfr>a`)KJ43$g zz(yD6g0!|1oPC5Ok=o)SBGIdHYn9T~gfBx@0Tz;~;q!?rzu1*^bJ4>`c>wNLTf?(3 z+OB;_++$|I=oCg^OT*O7(sDb!Q&+>VCdB;UJN&z-5d7Zw3ZlQ@e&o|2ThP9c@pIkv z){%EktB-vSa$a4J#d;C{?0{v#ey8K$csM})%S(V4@V(Vb{d`})Iv?cDeEc1s`g+#y zU;0mHM1Igyf`*9iWU`v#;8lb|*cX5q?!nb{5Dz++>ns0BN2$5EUM}dvSoY8mo6^BagQw1E81~O zaj$x3z<AzP=MVdsGU-;y_7|FNgs)m(0`|%-Uk$0O{>CicJ z&9-Yv=fmFY*!Gey`8YV$b4r81oUerb0)6vO?GU%QyV0VmT|OCbQz2&O>fDk(bJ!q6O|}Y!p<3=?-=ZnO3dY?JDVQrp!kk-*Vy?xcP9e+ z>~wX=DUIk`qYtN{-I?6ge5_3EDxK?p3s+n1S+wV>!T%f<<|7zK_eMx=B5y`V46LAA zW0IVHMvh*NDoyk8nkEqEz+UvkF9b0cf~S8I8WK(LufPX@9ml$P9zI+=M7n&A&m(V^ zr-MErnN$Evh58(Q#SJxVafF@SD;I`hU-_Q8c~5rk;p$|U4gZQVn&hz9_1HPrSQC7S zI&^ctDQ_sZuWMxwR0d)`37hJunEyICa&a@V0)6;)PF4TrfW`2mS%gBQQ2G(Ty2vsV zbv}7oZ@UpEeDg1#ga8ZF1 za@FA!w-0&%$8m98%D!o=@5)Gk#``O)!RNvu|yO+F#=oq5mF^t29{c>C5Y;0wyN!X~I zLhtW2Ex-hjx?no87t9(@m1y{R_tBr(rJKz|lZ!>(9DJMll7Q6b#$B>qRd9?b?!rf2 z`eYFnA4|aUvjLcL{=F{m`t?dSB5xMPad0OT62hiAw#_R4&Kw zSgZKgPxd?eooCst-`~jky!Y%J;qT-STEHND#$dfcX2_HG7A5)4*e`!-?;r7 zp>|c7dD@|qp_|I3*!aBpm6;lAt@d_o@vRdSXP17WQOZ6jk(NE#KJR+!1A`%Mz?W*6 zDdvRG&pE)lH&>y}mzOf9dfn_d|Iij2a&J2KoK&M7Y(aM}&bQ?PWu8|Gio)t>xY8&>;30*WhGLC3`l zKwSbJE~o+FRNI*UVZTUuCg$o(^J_Oz_!pKxF7|#&1$xno{~*PEHhh=%elrz^le?iELWJ&PDN9=KW=2 z>O1HCivKl$dQ>Y<$^{L#wmTn~fXbv(z{D4ed#BL=2e?UY5*d;0{j6$t`0H2LAOFu+ z;P)+exr&OZ#A_;s=PLP)SefX4uQk6o``1MBx3e1TSE&Mrg;v%##tHq0RkYE46M=GRxJ5k9<=B{L+w z+{h2(Ld!5Ze^_w8K}lpcQK09m_0)~8CfzT0y}RoD1rz%b{-V+w?dAt)si0(69ZV>{ zCoR46;x6I(&EfLxLxTlW%!4}v0Zqg(o? zQU;&Zyz6HFmweUh^zBSR4alXUw#&i!Lg+KzraS=?bYUOhkhZ#5>3jRz4S;}ZrNKZW zG3NHvD?sj{ZHE&uo-%{nA(oFmae84Pg@Yc$>=+V&Hj)yjA0Y5<;{NVu0?APkKl#7kfg2hk=e_ocKS zj-hA@avXMkq#QsYX>d`BEKzR+uIVGXiy=-Gi zMB9!uhDxkd{Fg&vRKXpk&FqNzVG9|QkG>TDy3z%ylk!o+5k$flOUevU7!(LPpLaCG zoLK*boYGNOvk*c^gP24^sf1wY@KU8s%!wQ_V!ZWB@gg70xD#D;xMpC_|w(uSbLayX{{YJM=GvCz*ij2dM|5A9@thaf zF5E2D`H52ZU4d+K6jP8#wXWWN)_!Ki{aS2V4qpEQMZa0sOx%kN3w%qn1WRNA@#76w z)z0s^!u;B;1u_ax2U#aN_XOHU#cPP_|hSqc)60Cgw9%dW90eM!wV-q;d#v}^Xio$~ z>$;-Be<}9}X`_ziG%e>aPH-=n6(BbR0%tJ$wu$=QMTR#l+R5kP^;CkWLT zhAx9cQkcVVtwPv_9ggw~YWf&l3UfjWfYcy-D)&W%@SGGPyD&f}D)Z&1)%1-7Vt}T# z;WOX$$-l46Jq9UjY7eGHG&Px}R*z>LLLgv+sYGJRs1$D%)gB7~lqo5mVi-(5MXJz< z#4<2sGo>e5q6k2Hc}E3NF;BTX`6}6e^_uvEhPVmabhP!qk=oLs(!H+IX z5>hpYI;s;^UBXuatQgx&5vSBhK#T=I7{Dz$a*tw~kGyX?$H`@$(o9v%-)U*ES&Y;c^Helb z4m_myIf#9POu7*`66{C{v@8}+&7C}rYO~=gpjtL_NlsAm5Ys4cP9fcDL9s%wHlwSe zseP*OCq&~OaKY_NtPNT@G2y7y`?j@PDRl!IbRiSAZUZ1`6d`WOUc#s$o_IW$g;&{S z$~*-T4?7a+t>qGey;d14XV7W!_*ui#$;HXYjnd59LvUf*Q;61pDzO@cy~QX7_Xsz| zGk6#b-1;5Q41BQ`({MWn3?qCaz#Q#wuv^&PYil${3cPs>aYkf8++wI@Z6Oa5e5TF+ z9Ot;qSiy6cuZS3JurXVxltdDYqGd>N(&9h%A$!rx$IYq9nRa-Ta2P=-Yb6{2p|u0; zf{c0f@!~&v{rNz47fMgQ2fxlsSlzYG|F&o5Y5ZE6GLze??JvAyR##TbR@}sbP`3mL zM6D7vDI-|)93l*2Urb8BBWDY-N*}o^LIkkkDTXko@Dvy`H70w|@4Re`t=fN>?n#dK zBMaEif7Yjz-3n6iw~kOW#fktaB-)Pd<-VIJ(R!?CX; ziFc!qkQ>IJOcRp;4~dv6rDH&YqnO39ctLXx%GQ$;$m5ac0ecL(>YOu&30rEd2Aa^e ze7~IBkfLi<`xK`)#opiff~O6sC7h0kP=moKhNvK1J*qGdtsx!b;&O?*V>Oyk9%d*B z^u)(C_&hSiQXBy+^|remy*OelV7siv0|;P(f@cCxmyT?nbBz}PN`8kQZl6Q3^G#O% zTVFo2H#_6}sXC4dyhBikLX7aJ8cH;WBW-b5T#e~MR57L0vWu`47J+&TQQ8m{DxNwA zk(g(+fiLUq%2t^f@2~%wBb&|Fwa|dRn)&&czjs=;ikNr&Pqh|8>~@8dTG*AcpTt4z zw?!eSv3l4=MotAm(1L*`?-Ir|00OUbxJYi@D(+K(WNO>S zDCFRV1alb+fmCCd)JZ|GT&eOazn)_Gm1j^%njoRo8ZZcG791pVYw3%Q(h_I=xvH2h zk1&CQLQopEh2%sS;Q2IcRsm8qXFW;0;I?gqA+3WPO`XIWJ(O5Jun6%xM}CVzW4`EP zPUdQBov%DxK32?T9aV~bu*RFc1zbV`GYIz<&@90?NrbW*;ytJtT}t88UmRJ&7XA|~ zhc}zFq~Xq}f-d|Xhb^)jAVw5wVFVAZ2o+nx1%g@tbj92nhgF^Rib(?A#yljNMm1m| zOAT^H%Q4_Gp+yqJ;2--M)$~UFMd1lHFecOB04*cHq6ke<+&Kig=qLtV92Zm;lvNIr z4uV`zzy`u*(%X!3pivdn0rADT@>gmmT~;QYZo}G$p-s}tI98YoaRMRaR}6iP0>D?mL9-|56U7ZA9F`L)88V8>My0yAZ6s>4X6T3 zjw~Yu`l9MIHL2nLJ7E`{GU<-op%7prL?G7|OFRUl48*>G89h?Tz^A5c%|}aFCrODN z^9do6?U)=yyoCeJz{6216^vEZ)Kh6Nb&B34zVO}vgOrvi=TKk=F<1XgNB}n-#oz-i zblVnJSP9~uunmw=P+^w=Yd|x_vD#NRLfiuy#z2_m0K0=U@t$U^2?#5z$vokG{(81* zGa-njfk_M-fJWf<5a9Y#Q+&h=98eHF_Y?dSVD?NKY) zO7x(+46Fce5Oimr}eY{9Xo!yj%YpEBVs(fJ<)B)NH5`@g&9V1JvVdh#~&)D-p+ye zhyMV=5D)_Z0{}Br126zkUsO6M#sDZEZ8`SukARKq#J~#--xSPOuD?V=0{iE)YaJb{r0@Bs%L9J~1RZx)kYw0j*#FkzW7| z0RV`M0MMBMC%ePtJZ+ZnO%|1c5&}RK?ARvfh77{aySqg>k_2+!Wj)(nuD=va`=x*X zo6`QQ{kv9vBz3!gGWM`~Q-5;o!N1u{kM6Hm?A5yUEM0bPKPFAFbmvWd&pe&E&J3%c z-<^y+K5cr$hLKNyovY9NKU?b8Z-08#)gZflT^hO7|Ga|Fa7sJBlhc& z)xSTF>$9i#_g{0t_n+)vIrOK0i;w!7+FyU=SEiGp-jVH}tbDou{npRkv5)qj9eZy& zuDaj1-kY?4@O_(GlZlb=A*??1KiBpb;(<}~$I`R(?|#rw#e*8Ha!OGpkBTKzrKPzz zbT&b3)aV~0&D1o=ea=H#$UxKz;Sv2?hks{E>IhV)j1CEUiFqzVnh%+f?(;a>RUm)VMP4jNQ1rZ1-=hq4Qgu)UI zXq;~7lSuF$GM)D*eGq3Go^m88axbU=5)+E5n3{7%F`~)J>VOC)^0K`s6v&pA_Evl; z_2M+UFis)bn2Ka2#lXZ9jRxAfv8uuwQvk%4`>X~-gkG`@OebiI5ceCMb8M8(#zCu; zy&z%fsK&rc@@YGq|0|V)ZKHu!iLkiZ1={i!DT#x09Rw-KXjCH9q1%KrPc;v*#8zXV zS_x}RDRU;sxt!(_YDzt^Zch@>IN953vFV($k4B~TG^1L=I0aN@MkRf)OdQj^vh+>;LbpJy*(eeCCj!6~RXGu)6S*3w zeg{DOj4y6Ro{0TAjQsUnt-ZFhPJ`8ijC0y?k$o{MlOn~0(4hn^ZIx5nfQ3lf6DJ zp|yPFWiWbm`<>tRa_$4B0{{FQEguiPJ$~VZM&mqP_UHsY{>-ZrQQAfRMi2L@&s|sM zouu&b+0sT7zdE!WF_Z(hp;hsT?5`D%XnxZA@3aw}J& zeH-!2z$s+Q1vWl-q_)}DS5@-ef2Ny29GUm%Klj(G#>kT0qN9q9AA36W%v^tdtL2A@h}YP-$p@t=LYfR)<^53CKC& zDLKD2-cU-QSKUPk+<+S$g!-rj{xv7H!QQed_qpcMSBvUvIk{PBUuBD4?n0jOBz+be zBv^A9?sH)Z`g2VhjB(QGYHtjoj2YrTbQixT1xaDZ&}kLksXUOk%mPcqglIJCeG1u@0^ziF2us-7$0Ab{B<4E3=gwl zA!wZG5}9F@{Y{37_Nw7`Z6L&&c%taTE4_~L#1{*ti@j?TN6OB2HYrypFdSrM07?fl zqCui=izIlWgkC8T_Z?p8GjVK)bT2k0@^g&a!h6dqRN_J5iMQ<<5HAJ3!yDh|b_8g% zl!(AEQ)dF8EU=b}m{HAAW1+~7SddGbWx!V9-gipz0z{AL0EK}eTx3GhRZfoP?vvC^ zLe@t1wC*od=Yl+eGdLerhKP{`Ns~tbDhXp#V`09y^dX}gx!?InD+i3-f@wCYM_F@u z;Rc+u`z0Wd{R?9qmxl?GBSaZ2C*mREWPz@9^oU2{b$Co*Qoq%{rGIE4l!}Ps*4t)F z5oEyHKC*#Ov;bDUa{43N{#Q=Mh3^fDXeNw3TdT}$6s<1^<3`kA+mfMp{x-U(K+?iOKWm-}>SOjjL8~V6Qd?s!yz`gk81;R*f-g`qB3tv=n2@9uh zF>c7;y)IVKUtW&T)we>r52pcA+^M_Uc1AlmtFgGd$u6y#oQB)us#_t@!57>46h@qe z@W#yghkF;~@m&sClE}BPrbTil6UX$ja2gHmRk`2*^)P6n+s!AlI>BLKElKS=h@cP7 zCBV^LQAyto$?QHQg zj0lUE4E!#GIzcfg3|PnqVD0`|H#lK&W4te^WoW1OGw6GA|qdks8Pp#a|&TU=K2^eA~CH9FJ~8WzvehiT7Qh3Mj7L?fgfvL zh@;`W7F#yjQ!a#y$s1KokQ)`+o^f_arrNuE?|Bs4gH`(cU#+!T{ykSN*`xf!_FV4KyvmrhEa((|)tAgyCsEbBf#`riJzPR(V;l18@>)HF!_?7=Y6)<2z zQ9FO;Pr1AKF#&ztZ$$o+CeN=I{kWy?uzHW9+mv7zU!cAZ^7i`a?!2+j*!<0ZLxZJa zb8=)@Tam!&3&)t=?U-N4OwMMSe#5l@0vnUQnKY}vds`X`2PXb_D=<}e5jyE}YX>U;t})tKmw z8e(C#g=a-~v!;g$;yy~|#eAMF^RViK-Fy4;moh2*pP7#B4SffJz8}|4d*f;m${V!4 zj2~`$*{yn=U7Tfsve8cmhBimS{r$_mg$GVWC{tBIFCmH*e3)#>~lbL9%3+0WBR!?JDj z9&TgLk;~GVMaDw8N8d9a^Ecd{XO3k*BZEsD;)74knfx;U&=Q7}=%smyUmNQuVvEwk z>w7&O#^elOOkaP;-A&d^6^Q5!$2V(1vr%I&>3#LeQu_zVoUHmYFTdvxlZLfcGO}R!vvOtJN41$43h&noyi0_z@O`rM z<`>Iu_G@bEL>WiBuxZ_-qNfS9J~4Bv@-@QT%k}WBUg3StHlvpIW#gML(@q$!%6kVl z(mxk3HNN?LvGvWw(#JcjJjruEKd(sTK5LizTZ0z+-q4cJ6S`%!*6RPUt@g$4ek_Uw z&9dNmZb|i9{~U$R(kuTh**cW_}ypu>DV0Mw#bTyeT_%r|`FdtP;hk-FHixn!wDe+2eAP zkUDYp}Ht~<5$vyBBH;zpJ(-}k|CN5A*=e_QzHhw}(N|8=GD z-Q!3N=cBR)WNZevyU-(mWyaR3OQ))_b&E}yr|0H=(LFwE@t8lsZ^+<0v&M(*A#3l! zGVi-H)9v)A#Q%N&RSxyeD9ZozUviV+XyHTdH~5G}w(%xEn!kADH-&i4Upw9ay7e#mOY?-T%-TG@$L_sa4X)^%%mw}9UuISV4yQWh z)ZnkHrTSM|fb?ly=TRRbj~ed$dT~T;y76SEcfqm-96GPAUAFms zS^;i9XJ6E(zbxcqb&!4f<7?Q7(yxw;4btymit~v%o+r}Q04S-dNVO>KkPVZ&|1T1d z`t^tP@5P`VAHHU8t-ZZJ5azjHqPC;0Nmehl+xmlP8!uryCV1RmNqys;+g{|EhDd(i z-d2wFjk9lQ) zZkWg3`22TbPnW}~(-iVG=h2s95tpTRfR8m=zEA8B#=;WT!_>WWf?IvJf%fdLZ*Dy`Xdkxyg@!;BMZrocR9!a#WyZDgJU$f7H7h}||*w3wZBFA`V zR=Ez>@sm=>eyM-w?By0E{h#x)+itE6f%H4&zNYF+c(WZ;sJBfOTsA%}0Kk)*uU=+aim@t8>QF%>eCeG6 z(EoHw5+b0$O~M^tF^B%8swra-9BG<$(??iRcnzB-$L8O!X7kJU+upm^Yt-7&99SpK zk2Qc~zIB#NISoyg^zVMx7DAYogUN;*W+kIm zA{tfbiw2ag^V?D|$ra>~Q^uqowfHneSp8f;Q{eJJpfXEW`Qj;CrazCcOEzERc*e8Sy?-0C8*L63DcQi^rGi1-C~uLDFkR zm<;8;>myTF1$yjXPzx#^NtPhtY;Cn9y>hv%K^c#IOX9pv?NVX(Ml z3U-@n95Pgk6;Y`JwOp}~f5-vlUaEsem2T!$-)(E;$CkX55FvWdhL$t|8J))p$?A_1 z{>4W&7eiX9w{OOmxMgzUm(Hvzqa))A;Ci03gzfi%N!XN#NbD!Bzr(ncDe6Wp8GCW zwx>itf8AH*r1|Ab0KUR!y3WbzeC^Tpa0|z|C4v)F=TcUmndXoNly9wt*2F<|=HMhK zn22Z;T#NtoC1B|yjTox7aSzFT)~q^s4xn~%EzmO*Q$SM(*PK$+x<)Bpc=&n#^rx&2 z7Ou1>ik1t-V``!gAv6!F1Q!zoD+L>q|0e&%7RkMt0$r`vQi5Va#kU44Zq6$)PW_RzXDr>cn zHteEvH(hz;lr#vRSL}5fl&~d2>Im(YJOsk@RY*6Hf+EbQ7@h+qe75V=8Bi3fkpp9@ zjbc4Hmoh8QrruLv>p*tbbKx8tU&ju!hB~Kiu4>QAu7(Tmv6nymar@Q#Oz!!=pbI8C zk4Rwskx!F_2YN(Jy|3h6?yJgaa=obkvptV*OzyIYmkG|XFEiIi{4YD4HIsc2n!|u> z23^<%590#vGq$jX%}kF>TDy2&%UFzW?>pWukAU0JadZ2DHqW?l1pw2l`$`4iHGcpO zIeV$8!1pE%`0anwg~8uppPeLS+ur{azrL-OzWFQ1=ZNLY{c`TRVVVE&LaJ_q^X+{z zUrZDK+Pm*8|NVY?f@6b{RJa_xXla!@9k8pemsW)Xwc@`uZ2zg5HSpykNW`KF3UF_rAP_7jY3z64>P4fJY9*7-PmHq| zq0BqLE0zL`TrsGaU=&cAI3u>C9;GHpN1_HHpm!PYbQux|T8OFR6wfvL`6G-%%GV>I zaKPUaps1?~%*f@$?&J=RWh+ixEEUrjEGp;+AW{Qg_{22`P!voR=I7;OjP3G8iAe4_ zx$SYWRNm8~5tywSx?BF?IT8GLhwfaZ4q_8QX4;3Z53OiO2TD{_R6(J{@JCioCQbt_ zw-j81WGR&%q|}mPqhdw6B?vwzneICWGBW^yY*2GYD{7=~|HKoG6si zorZw^LN3u5;6Ze9Bt@SzAp}WK=#ovl3Iidaa7scBCl1g=-!{laxC~E5fn-xmu%I>= zrXeQOIGB7f6V2N|7I_JTA}2Hzr=V?}LRxB3CXphF7OniK)esIV$wl$rzo3Ay$eBDi*20(9a~ucvqke zJ=kMUv{>jz5zA$2y#=IjcZ+~wa8TnqTLUQ#F)f(|=mbo@WrAu2smZx}&IxiCE`E_k zyx$TrB}ej{GN)e*h_la`Fl8DI0r3HNzFiJRF4<^MlnY6R<0B3PSm8q{jH#k%ISVytR7IXVxZVE6`5~WJCu@nJM~!xQ%1D7jkS&OWPMR5m z00ZE~zPBvwOY73SWfUhNATnGm-k#P^IvnLkFi=2Aj6oQ9 z^&Bg~ltJe-iJ0aB%pzw>((B@7_w6*6l90|?MYm$e>cv=E80UHJZUm>9G*R1aYVjma z8Z?Xeq7)!AKqg_hAt;J^#o}~-4sG4aM!`H;iBbXx36}yX!Nfmpg^tHdg^a-)MEtQj4Wf2f}|+fw8alZ#?e5a zh)(}Au?~jGagrU%Zvpa+hu{z=-k@ zRK*7jIRy!#jBrhz#X;caMu%X0I&xkXRZBPsbC`0OnuJ>Y;R&Kwwml&i%OQB8oh<*c zf2C?ZygX}ak6eBjY6j6%s&p~0?IGYq4?HQSNF|(U!E@HcL>-Zc;C2&vESMCtnL~An z?cyZ}Plt)kQ8IxbsywyVSWEA?*591}-yQA}!DFN(LMuWqz+jMj0xKXfhRRUv0Ka#; zG1D4sMU_bA=@{kzMi_BbRmqTHvHLF)=XBSM`B^{l&X-)(0Q2EM;uOkspV-f2G1iUTyKL- zs>TwGXV4*zRbz~*F%*nprU=)Opvd$s6bR4=&SS-clrGxsIgE40F1bh!YEwLvm~P^#1?$;UtL^4 zuHdKMIq#$5h_Q@wd$9UqN=QsHvXtF54>YuBPLNVL6E_X zwxTfpM_0=bwpyf!OpB&s6}%xA7Oo_$?&bmO@nb9uP641oCUcyWw$l|xoRRqSk>e5b zl&A$x`oM`mj?|$Yxd&{kld29nqC;ZvCk@bGpHUZ#qN9>0f=MV~WD_4kBq+uf$+;7I zk@Zg2`Qh6ffg=EQWXwiX5*T_Mo^iUDKq!eZ{yrbL+35xvL5u{E*)u$^<;`g1gSEN zf*7aaqR1LBZ%zx0LI#2cB@~_|;Zf(A8dR}DHw7f>C`1=L$UafvLez)U`Z%24C(Z>6 z&`v@Wl{~2gu%Q=RIVyxB&d*^{)Q*@!2P_Iz*ipY)uc|189%R>5NQgi#6r35Cm#u=16IBB$a|D`8@=oKWq@Hr`TN9~$! z3YXZ9!88IE3HddG!V_I_^Na4RlwCXeFl|egN}5Tf<-j9xsN zewmbHms7l>p~D5_QzpVdaVPQ4s)J~eU#1mV_~7}#!nv0ry`vZf@R(17F(qYy=)FLS zhABgVrp)Nz24wYKfmV3|P!kj)VUUy@R7~Wb1TC=oyWvI!K#6p6#6;}K;8H_QsU(3h zv>HwgpmC0s75u&|tRtgG;pkf76b7lo$0c-I2EGnc6SOH5l4$GFX0Rp-^aT*8BSX_v zB#?;k){1isRb>bKr=V7|y`>(__#$53{se!Y7JR+PNiuMr7DTwVX`*BqB?dfGfyG{qeF}_G z5D)?Y1OPKc1U3LrUuCY;W`OEfZ&uDZx_MR^w-It0Ir4oaX+A(D_Y5X=iC0Apmv#5w zSp5JXifD|80003D9jF79#4_J*o8XIo;-~!UD_wQ)CddU*;@6<`RImIB_15hRub%FE z&)oZZ;I0YA%350!PU50(*g3lb-=C&qQR&005={YDNIS z9jtZL*4o~-%PJ5eV=KcsVUX(z?!I@s%xdAe-Xpu#_<}tPp@qTsNRYc1KuUlo|AZm_ ze*?V(&MZ==+?VI7-pgBu?yGz1YMnRtsjEl+uRdG1`|97GJ@!wH*=xW4=&l02R$**x zl%mQ(O?iOM2`0%*W52%jy4SPruD!QsFID~Q?~LAQw7ma4@@akRXO27U_t_5r{Q&#d zJUZ9k=gs|7>u*1EW5Z|dcIWx0GvD@8-+k@feMwKv@3U)l3P0byv*8cjf55E?Pn-Co zvhOcVLsy%h&Zjx`4!wJ&LQC(LT-kE}03Z4O*PDCm|DI;M-fx57;;pm_)VN-e*|}}$ z?KO-GF`33v=F#59yujP+1!)8c5S`FliBHcBcNX`okc1h_pj~UrPX(vdA#LFeoC}29 z1^({{{0Ce&1tVp;&LwZXPGDz#+CsfSxwB5X+Gywi!uOQqlf<=W?hng3U~T=p0>wF* zXe)&^!*f|9+-XeoDM$*o87;kitAK<(E!mHd^Uwq-7e&hhlHO{j;f~u(zcbQKd5_Zie8H?;;=6SPsIuUpADeg(As=QfauL?Yc$T7x?( zJE4TD30j@$twdFAm!1fL-w2&PP$TcJtT_eV)+q?;iK_Ee0Q!4Yo6OizQl{9%#(B)g{MM&ntV3n+d3Fa_LGXV*- zudXG%iXv{6nUHViXE+l!SyAWe>6*xj#vDn^%D-qWVNfSnKyO1#sQH|Q_mY5jgZE`@ zGJzr3itxTuSF{R0TY(~8?KzFk6=)Rj7L801Zlwm*YKTkq4MA|1o zp&1zw!{9}5#Ec#b`?_t&G9q;=&j?W4q+4?(UE~M&&?4|Ik&-5S2ed&3P};P@XoH0< zw$9j)ydaoVXx%MJWdVZtW6?_#HDQ2u`VQ^!+Mt&?7nKgQrswe#_yH-Z589B57A@^K zNg733plaUR4P64Yomsi* zim41sgoquWc6OKoUE?LWXnaX#IY1>i=HBW2dQB0MW03jn+Yyj{XseYr65Wvr2Vnia$A%g!Z%_y6f=t2SBTBTl zN;iD(vV@jHULu~m=kLhxEiVl3N93JR^P(?<6m7zM_pZ}P1K$JjDAbe~@wcHBs%SA{ zj8+3?l7`#Qv>P@rrsgkL?S#{e^vRrQ>_%v|-*p2ZwKSO)OTX$5=9AemuqWjxRAisgP)=*OU4Ue{|YTcR}pH z8~NZtTP$jD??|TxTPU*0_;Q-+TpCOYvyV%T9G9JG12{#cOuxKa2qCmD8*N$PrE-m? z;JnI?)^bKh?(52O@>SirB~VvYRt4{eFRu`^D=HUupbebFMUCo`g?3Y+D#1r8D2Uxc z20@ylBHtcQ?nXe<><;N{iX3>p6)W`zaS(sKO-!`Km9VFZwe$Faw zj3AHvl~J&$=wTAdvL_Yz?3p~#U$w(4{RE$Wn@jkkrTWsD>dj_p*?KnmpmHPlt02c@ zWmJo4v^kqR6eBE_4?J6%0S-MO&n#wFcaF{5QSt3R(B=bsK`pl57$qj7Wv^TYH()Fr z@rpchIkz*wX8Z2WM`~hnwYL#O*zj^uFGpFv*_;iK8n9w~9jEOqGYX7QB#!Asajewek7IIUGW1&EVjP4=DYv zPwbW;`eq*Y1fh1L1b;*M9@8{iafEyrZ?w^jKDL=-o`sPzYBvTCNxkewLEh{X6g@TB zQb`9f2NuDSMXt67|M=Wz2AW-78A@|QXlQ2W^w7WVVh{Ezs!=M~T~zwymV6|>2d5SFE9^E>fsvesUyKLkal_qbp zPsXaA7N(y(3e~fB*AR`@xFd&!3;-xBNcsL#Hw~ zPoK{qWcV!&P5iC(pWS_%+iE{t6_G>yw;;p#ATKdQ7un|DpYnHYi554M7Bzp-KJ7}M zJc&p!HWrPsE;kZu@2W|kkSDt&8&oO6jj}WEG_+|mEqL~exxFj`Je7WFCpgjF&#sy= z9d?7GK6*{?$iF;I?#vQ(Sa>!z7vwVEBme`yJb9y`t%;dHvuFpnQ84AbMteJnvjJab zp5?0sU63i5-m(4vT;~?_89!})-5bsA8RRD>SR066$~jx9L7=Abhs@duM{PtH?WG+v zH#?zqW-eo7cj3LgKT9`ztg%-w(>l(jX6pHKy7cXw3LUg``g8o8Jne4IZhku7&1bdV z@!R=W|NOop2O@}<&1`r2ah`kv}*IS-8rw{$gpKKM}cb?^@$q!j*(W>c`nQDCv`5 z#sEb?y1zf`#+(VGKDb>M@(1wv_PFiggVNze_I67qEDJdqtIEV}iLS3L|0?D9S-`ek zGB(NoqLf_4bQ8xU--2W#tL5{dGI8<4g%>Fi-O0Cg*H1i*5a-7F43p?4G9!4=9+QW% znEOwFE{MXqIimFYi`8TNkGa~d8fC~-yclvb<*35uWfxQCDR<)}?Irg2S{lDu*Qq7Z z#Vh#W?e69?zV`WAZUQ`H1uP&Wn5`4*Vy$?X7Y_51Qn+WIM}8;QX})jUv;n?K>}HwA zx(8m-i0EL6C4cs{Mbp;`!ruxHP!-XIuH6C|;g3vh1CKq>m^}BbGV^Ff65Z0OGe>y0 zvLnR)sm@)`%=qBDi^+E(O1j7hv5p6EL>(zjq6;INMjo-tQ|&Q4JCK| zQ`;l)bmh2vGCalTi)7*vg=OS&d~~B5v4()P6unrA$!m9ox3k_Ca{TF{N!)@nsK)< z;(A?W#7lq@-pM{&!TKuxtW*9Df|%}iZtb@;{<1DpC;bN{h_T$~p1TeCsoNo5A}{hR z*Br@u*sry}G7sfEGq{%>C>Ow!V8u}|{P|M}1R6Q|w#nB%FlR!yDJ<6@o#RMV8vpnN zyRpwO!X4xy-@bE)vqohzf6+T^JaaBo%Z^p2F^?a)`xa|B_%R#^s zSy?U(E0R+XZzAxm~`nK_3x?Z-Q8JxuEm5mKhoCI%;nP^#8~_8@IMh*cqik{j6xDjPD-XgBmD0b6*|cXSN;(7C80iGCy5u(yY}xkDZyfpKr{XwdSwB z&!Xhdmx;#;ri{)T&CRSo6NaeawNW&(aN)Tve$(o;@&-f z-PKaA{&Kd@8m{^s>Id!DnBdbov@VHbY@UANXj(HZ%}Iz*vbzGAh{SmtU>^Z9iomZ7Rne@ zQ%#7JwbcHIsuBYEaCzvnwy0@9hz-tkJiLTh#=FJ)(Sel(12TlC7ymak&PAaZ#0wHixKUtTmxeF0z4h z4aVXUS0LCuC9=xzsUPKm=Bkzsk}*(_{RoPEcA`uelq}(g{tGXAnc=V&oJ5v0qT)i; zU@o>uuV4!=aR)_Eii6$_Q56HJB`Qf%GIA6YD~UzC3Ci7URdm)Ns;R`}Y?28v6tCCZ ztY~%4i|8jVpc@+M&|e}dpV7rW8AEX!(?u0c1*vuS#nfrh*$_22l;j|l6U+**;4=^* zVA-?%+yfLtaVmNgq9$+E#Dq7E{=XW6)fS`)B;c`HIBlX)7e@&%5?BD}8kL&EEQ__N6ny!cyTk?@Oni zPHujshsIw0$}V4#AY1PAtT(s_IRU_mt_k9-mPz8JITVd+P2yG2a96pZN)g!Xc3%#uMR94nG>L@76!_UnK-UJ}xS}i8Cu(#UOGrH;cqMR3aZ{xQ z9YxH9;(JDq;_pyLMQ~RhT7#Ja3C-!Ib8 zNtnLRZf0uo5qD@*rqY$tQerg(dq^gQu#~Tb3^s|+`P;E7dZZNYH5glz@~9eBBNy)T#ebEJjPn|*@%lI$ShJYI zgttKDxJ<+|GbIF{CSf_1MvdU$Z7Ay%gqs6N2!haV4V!U?B43&Wgv2gV$5TO zGk#imM|}RG7K$x76Hvk^P$Xa_me&R;wS-X=FZ&C*`LmR5{T7SxwGlyuUmNkp2inr275`^?0`ppQFvK0M2Sv7Wz0>-8*wWf-h@q#r;D;$G@4pJSN zjj6QrXqddG1xHUyOP@D8MA9{i>u^FqhU9>i>w*kyA<@|J0TF=}9jbKzl^w?I=Udiy95mCX7)9+-wOD+Z3BQ*_3Z8$|piA=iwBs z-_58c*lci@ngl2nW0VY8Z^@}Wu3G-L0J;r-@57{8TuX8Mzf$%DR!!Gr>;m=)!AH^W zl+90UG1$}zGGL6Jma7LJDT|`)zI*#<|I+>y-6a6o;6xz+#}B@-H10xkGLMhi z>oOV)bP_~T-~xz>z$g(|2}-m0K%7Q>eDB`LXj2abNfZbaqw6^o3u@x26duJC#eM3q z5`xt!Q>>y@7@xB{Lo$|(a@wb2V~a>?IkTttd|0@D(F#5SNpTHWI=V z^dB@8E=t~XR&#Xy`4&JJP)Ueeumb@SBhx}GDfv(nPGy`w=evjVAD~7INjQ)uU(E<3 zv#L3n1Xa96C{f<7zoEsdO0WR}=B~Fn0gI>N4^pwl+HAJq6HO6lt*5(?z9DNAH_2pN zf<v#dK}3LNkHZnw3Ue$^B&3x*d`**bGKkWX-e~?JvGT zT%C<3Q<`rZd#qJUau?Y%LByDfjCgO-jLNn-PAG>G_Rc1f~EJXcBZg$Cr z;ozC5Xas*Cf@Ql@~sxu+GvRQelPLT@`%XlH503h1SXTxA<>Ef zbaoV@UihenB_;QaYC>xPWu#+za>3AJdojRTw^h^jQIJGUg_I3}Vmd*dQ{c{kg}K5N zgtL3J`0t(4`*r5K|EJ7#?C+%>d$Z@b8~5w6jNgk@3P)0hA;J^`CkuEi(qn=#V+FxD zB+dt4>k(z5`jgqjV~{IeT5|9P7nqECa97DIgzrVWOM)kWa#M+xj5ek>FlI1NMk}1n z;yUrK^+|5m-4aYflOoo&+DUdPZkEZJ0^1XL{Rbp9TFEGRQh^j{>G)N25UZ9LSLzRx zI;R(Umeh{1hjSn1*XmQH_Vt@%FWyg6uG;+h>&Uh3BWm;fVJo>lpA%k%Yc9^Jm~#y_ z*{aE<6#)VQ7kI#NKsM1*VHGcP$g)Yt7DZsNG)~mmQ3XMhaZtKr?kG}5nZG(MKrK?J zfpA`||7!2XUo}CwLr9f5kxnh84r*%MHP?1B<|@l{zx4&ohc={CSJ;5a)L!U z1C3aTd*YkWb!qMrsR6+uDVYZBy+H+2E^(s4gdeR?Ik3m7>L*3TlbZ|?*Iar-PO)DV ziIa?BfEoBtfnxGNy_} zr)cU+d39L2oTG(s+M`@Hv2CSjeM=HRVj*55VtRZWit5U57NtT_A^!}-mh+gBlZi0b z*K#RAmvgA7D+^fw+;zQiDOjBLHEK3Yk|*bs$MvF_L!>USM9nr@>I%$3wkkJpXi3eH zXp3=chsroYk$QhvPsc$bsyVh86B-gO#CpAxq(o}Glrf`_T$JK5ln`4I`O9Jp6w(PZ zjGyZh(f=RYH2BgE3rjnC4R+?pSO29ww^@2!nny#+H-Czm`wcy56q~iiY*6k(lha~Q zW20JZ0&b9YQT0o}5;@c=qbWyCA{BHOSIFw~VAz|I5%Vjfm%?3JG%C>?snie~7*eJV zgo+Qz_0s@}YV_+t71p|SR8k`oC!t^^V}PA8xddtdpm{}{cQccnMKu-@BPAqs5)K}% z1~mu`wr5OKS8?|Ej%U$bMtG4WhX+MVvZ{y~Dh|R+5sAT#ohIn$&`WbKvJ@ShOuqOj zNbNO%2r7|l7 zqJSa-0AzqODEPIA8JhzK5X5KV=X`aaPTK(&paE2V$`l4ys{#Z9Kgv+{8@aH%?W@aT z_ojh2GQ!524k2}5=mEwVW60rAjrTO@U-W0003$ z!hZCCLe}5Zak)|eFbzaS7zL-V0DkA8UvAfZgG^k3`nUec&Rg{!)UAiO>OOQQc5l(v zS2y;4dj7j#R`WA4GJdJ_Uq7+NxahcR`>b7-eX#M8RiLLj&Re#&`)xGquUi$P) zje5?QhJz3qBm#$DQw+nM#I5GT8uFx{k{3stD+*1a2w{i5WF{g#)p>GB2;dSiLfT#0 zl`?m82mcxqQ!y^e#P!a}dr)AT`*{Som_Of}FZRvPO{K|Onv@N<`<^P=<^7((?KBF= z9#%(~$7A~w9toDE*2X!ttR1$NEeR{_DWj652u(6Bwh~q(N;QH~VXa;DOJ2fHyX+|= zk;|w+d4uH0Ymo%6as9B8f!FF@ZWp`fOd*n+Bkj6DOp^=hKI=&&)pyc*SS!;{w%L)O znbkT`-5k@V{->9WIP7!gcF0iY#WM3XvJPFacVSHrv;ThHZ~eizs8g#65(Kgz5E^FR zVI!{i*jA#$5)!6z$DJvRtC*8Wk|0Iw>geL2b+ec2ee81(okGR@J+ z$BUyu;n}dg&$pxL?tQ9X&G7+f9KR*^5kMDbx{!s>r8Pmnu-aW1oUfKW8953m6#ZsN zV)bCMoe3qAw|gN}ur`4aJDysaSocVC3ac;E(&>QMgRdk&y0Xnz6Ew0Sq}`Nuk%@1F zBc8qH)M8~F>-?yEja5z|yb5SOpi>r-ZFdd4hi)0)Avv6TFR1Mc{jyYcMLIxa#k0?9 z|4b|@P$UUTm-he*^0GZMvEeMGV~L~A&G+g;t7&oecl!%N&oV31*rQs^o6E}PtL5TY zWe06*?)~kW&Gvpk+oV>F$RmSl1JE=mXheuqN&&?^TI8u&X`Amumy4wyL;hRxoG?gU zd=2J##yhAWa!J3W|=vxG!S{x|EDUhxnQQ?>>Ll7 z#oP8ORk;f4trxBP-Ks@J zrKSZmRH!#J1lbO=CP~kb0f`LC>g&A1NmW%SDrE|jEKo-W-mhs&3M68glQuN(#P$lo zQ{6liE14PrPn6XKRh8R~lsr@yIMqDndwonRgHN>D%FoGdvPo!^CKT@bXYw{OvvPA- zX(!$`m;!zng%zkAAg{Bpb?+T-*}8YQrcy%^PAQu{Porlk^jo|hiA3a2a>%=2Q?R9| z3@YpPs(1b6%jA~&{N7Z>dKkwsS(|TRWleD8LwBQ8hY!B=Q>btAbkb<0#iP;ID;lgp zG7xbsx*iE-sDR}3y5H-?fF^wMjM|<&S&jU;i=Fwqr{uz3F_awRR;5n1C{m1C~S&g-w_ z{^mx;OvuTy^z1PkZ@GJ&>SG`DcL)5WVE8T>HZUn{ugZlkeDieVqH-DaI6tx$OFB%F zIpE{l?tn91RJUVk$xvq&8Wn7+B>df9PUn`5DPIqk5{|BPlWVEmYQWi5MUtSI!}*x5Q!&GSq8`vonx^PyT8zv2wVHTFedVCNo0G4_-U_{t2ijXClZ zxnd|v<(vLR)5xM*K>Thc9V(=5k2UJ@~OlC{z>kK0#IxUo8nQ zflJfN-lJ1l*`jw}HcU2a@yXqWukcsUBd(=mM*MTcUups_TRg5uV>aVF3Eux)hS#y9 z#S@z^TZ}}y2a*hr&3NIOdaB{SoJk1{U5~rA+hXa)(sA_p^1)9H`K#Mx zjqY?87r}r2+?n_|H-8HYve=Kt&B)5V z#j*l4n1a95i5Yw74m+j< z&TLs;POmYs+_c?<_3}hAOb|Pr;)^<-EyJ(Mjw|+G2l5EA{PZ?0=cS$tJia(p{u4c~T#1 zERu-mG%g`@LQPw|fVPCQiLn6ef5o73Z0+s%Nf^FH+;|OEo%BY8bFcj{31sN;PzqBk zJ%0}nqW5|hw-{O^zRr7PMy=-!~&_FS<*Cq=EE}UW8jkdm-VV$8gtc3idvD~CF z{>>+=-~Td0vyF{6Lyu0d&;Qt|-1pns>aYzS_j&phi^Qu!!L;Rsd>VQ;@(r>G-S+>X zDK#v&9H9bvU6}@a71Ro_R6L0#4YDoEZdLu9O5imIJR1b(wy!qTbVX--Htz$*F)8Fe zx+!Dl>YB>bK0vAnr`X1%A9)46ZY=&6nIR~7wu`l=)f`2%pkCdZ^8SZz_v(UwGj+Zc-m1`iOFG@UKU^c zyMMR*n6(z#k7w-`frLCcX+}@5L?P2PXw%0AaUEfqly|Xtliq9iQVFrOW=5mw_QuRA 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

      6If3lRd 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�HVZBy0k^2Bf< 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≦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 {4U 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

      KPImBo8*@;tXl$H+gS<$5 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

      UZ`jYdE^wv+@W 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 z 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⁣uPS~6B>adno76eOP#C0 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%0AoY+^?OQnVY|P*}x?q4I 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�_UsG2VC)VCQTR{ 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
      EMlEz%kl$>y0mIvMT zXT5sdYf0b{^KR`uO&1%4iryjhQN_6m*8R zEVNDMSHkiP zav7F0kRomE7+3<1#8Tr8V%*fvbC<1e|E6{M7Tx(#^-K$4#p*4Hyr-<#Aq;nm&4TSJ zB8qykQE3H6jr1c7yHana6TbvJ4kg@oj_HXIG72$-Bi&<$LBVv5%gB^r+&^pB8?DPz zKHYrpU<6#y%`@#QZGFtY4cjeEH7GR3VdS;Lswxv{Yu0F1V8;ugD%zLa|5M^EH;5_M}K6$8lJ3>n`G{K z^>+G=f37rW0&`_&SjY?(MB{MEh}RNLzyQZI0gL^ z@jt}85avON^6)fIr2%v}Qqd63d6ZUqN7vLY4wPX&Rb>cDi>;?^@*XyX+1!Ifl_Tl% z))2aqaUo$83`a}^G8DGI7BlGiu->veaBEM(^e#b+4O6aUHCj0)$5A4mZaZq-MRiXd zv7I(*tNvk*C~^maNUs=>jsLb}m&2i>7FFQaum*^%l7}>K3-P|6; z|I{#diBBL|V+aCFq&HUSHOg|0*m36>g}yQL95g=}5Co>_4_pWF9LE$6IYlEu!^K{# zCC+%d_cDy-;qRdUwh#~l00#gwLj)iIaBo!oDpA1YNB3C&chuc9o&<<^u&_`j34v$s z3xn;2byz@m=KT90wB`VaYQU}v0HOiAIS)L-v(N6g3-7}IiCy@G=OEmH*m#mH9P=*Q zl5Ke}mmzZd-)C%p+jBw$c@X2yd^QGal96oTj_w+cK{e5a+K{{6nyv{Z<>0JTq_MyN zga80!W)O=F0hbGHYbzv`FTKvn%TLvq^8L}?*MWpaAYJHeC-b(f7jkxZ?cKbVjWSs6 zP%APB%#Q(&3H;5e2mgLN&wbpl2Ii%n`ERxVQRc67^g47ro!s0^EMGi_UZbI~o!_+2 zM|N8d9es93f3H8!l?y|)9>m`lHhSxSx}`rl@;NK^lt8!`QxS&IU>uyGv~Y{(%*{7{ z`KBusz5o0^Gwrh@Gau;&dgOi)yRiE|?7Qu^?l0TP$-eV0W@jG%%bEAz`yVUB8u$Ha z=HLF?PqbgYzR91?()pq3>+Su^dA+WZEj@vHRPFv>y#=)Y_0Bdrd%KqJRUS)UiWQ8x zxOq6~Z_`;jPd-BhPzP!p2->Z(GGos@RVfLT5ZC}u&K<$Icie1Wyf;TD57Q&DwV(YD zzVyt2tYG$RTH31S-xGfPsq78g_bT+rK@F}-kK&Y+u-H%_Fv*B-u91z$&Y#89N$|eU z<8x^9AN$@;Yp3W+ba?MoA>9?m@!3b~_`dk_v*`50eS>yA{P-K3aUe!W%`Y@G27cSd zYmfq#r+Lu+d6M#eR`l&kkKH1 zcF`cDXN8~`YCzgM>v>bi#-q%!$Z~D#{OvtD>H78_ft~bf2!?Ck+t@9>z0``n&!cDQ zllJ*`uwkHsOsBZWvzDO3n&YIL??~0Nz1sBNnNCJ6MjfoS0F&(Xe3oY$I012b9TAYr zw=rUOOEb?VRmXYYi&O8(9sGvxBHzq2nt1RGq-*1lGM&M>e~ z?i0lb3f5`Sl=E&;!}wl9CR}hn*M7u(HYb8~wV^?j zxRgkKqW$=t-f9w)?xcD7>dAH|+*@Jyb6p{2-_UNNMFD~629#NygeeG~rtl-Q+W3cF>0YKcMJL5zg z?sd&~ywCb%=`{6W@@MLfQqYIVpVpZZeA_Lypur$fM&u#4Bh1She3Alm%qcX_BUkr< z_=sD$^o@O6u8c^AHPW)wd5_Cl84b&}LkYaO<36WRQ*rR@{mDKtL4814R#at|7TlLp;~p}*a8uV8E%yL5Dz8k&=||_ zk1eh>g2=ac4REf_ofoSLaV7ST&;%w$o|OW2=eMwyZ%TF{slt6(x=*p(U)dZZOEVj% zgAK&cUFy|h4-V7IPErMk4<;mW&pqwP>iNqr;k;diS4l7QSe zC+h$CEI$n|o(J`e|2qKusd{^HneE$Kl*mMlq(*;KG|M)yd$BBV@wc+$BXi-|rlDl( zfSA7BsjM&ygY0fg9A#pzo+PyWb(D%Rkg_qn@I>mm;M9kEhT_b{>fWiVRjjATvD0TAVj&_k>`Z(D2tsxnaqKGE>#X=+@pBq z4Up?C;BLR%MPi_W!85gL?7X~7pARd^ikCzi){1U1p&@UwuIWlINC$M;7|61cYdLG^Si%Zu!ui`D{g3&FyZp_Hp z`{9$YDX12WQwFiK*yhJS75~|lXqB1Hjequ1>nlFyWgl2G?7pzS!aS84Hn_~=;-mMb zT-Y#cUDTG*4D?RP7`GogO=k#MSGvm3* z&A9YE?YT6Wp~y=VMHjkNZK}m!0+e{={I!EJ)^;#7HJna0xyf_H5F(^jij-@f0$-Cu zlLNUrrN3Lcu@}$Ai8>qMQl6`ZNFgOs6x}xF3xsG_;y@Df3r<`$w=Vkv9OZKc^UP{? zuKP@6CE|w>QYS?!MYH%1joVAZuKcdjk>H}7QY!31r#Dv*50}G|dx;%INS74PcNa-0 zzm(4BUM1eXd!XQ-w}Fwf04Jqx$EA|mfgy!b6bL1opc2of`4;kzaPxn)A0sdF<_ATm zUQbFYhmr@09Ysi`6y4YNfYb2jcXN6oTkOZZ#Wrl65vAVmwfo3q*+bGP@uCQ~k~fo8 zSL@+L6Gc`EG4oRK%SxHJn4hN%9rfjj?2!q140U?C~4wS$BA>luc2nAOX0HT!#Ukyu^@DC@_3R20z{}0)~n_ z)=KmbNu)%IBBgI3=h8M5NPrcz0X3>v*qa(y0rtT$u3fN0|`<{XiIKVu9C{4 zQgl_eBxQATJfDM%Tnv#&bsjx<(eCA-^c(jQP&6(NR*caecz}10xmlg|8unfkSsal_ zbsjww)*OUX4OT|hpuk#%k$j_I4UeHt1D~`;dr0a!sve}Ci%~ykvBdXH}`R@1q!fG_zZ_r?vai6*?|6Sx};YB&s>6M-X(N($(^)fGW5#%E)^2)*HT#NL5Z&HBm@45}U^^ z2dd2RTBBtq`I297Wf3FD-Fu70gcWBAsVXO_s3Hn6MXA}2brm?Fe0f=sZYk6uvE;~k zAgs~6=9vjhIak$0Ax24$e_s=iLEx zZ2;3)t48OWuNsJQvZ{GPrjm%h4`37A*}!?KmT*@x?-kz(Si!f3XP=@U%*h>-%gvJV zR74c}yDgn=-O%32F$^vv0nh${@m8a;jNE zo|K4T3{4G3gW6oCn21xUqi0|m7^wn#S2j(WN02HcqE*KTJgH__D_zz-cCoM9h_wb9 ze)x%LZ^)*_@)S~rM2Lf1r)QW>q(TQl2hy0$r5a*S)1PkAnq=y=>}1$op{B@(zHNK1*sLvJ?5E_sEXz& zq_vCPxjCm|b_x(Bv^XWS-Tabr?cKn(4GYeEFB?h4w*$XAY92 zFJSVHf)NSKsAW2}Qyfh#gUsQ?=7%1^uXGIVswB}?u>zPt&*_aRYEk0Dkcf%Ji$?0!Y8IJ?2To(vT8q+cyMI&;?aQ1cPQYr56C;H{wZOx&An2 zmQFU>M3quJfy=O)l@=*)zePW1(x&_B(N8xA@OJvlQN{N7h!=SWsl)2;Nm`Bfide{y z)CP05b;hZffTTnyZ(<0Bbx49@!0>Z(zq*cEWRZ_^kXV5^=u2-hP8J9vKzC4!5slS( z`p|){bxK@G3Z>Q%rWiVP=0uAmI%t!KGmX}hkNEV|QUrUP(HNwc)+HU+gH-|uu&pDo zgi?>qH$?sUOISTxT)2-aIfi+WglcaE2M#t4gk=;V2aG14ZP)D5m)1bwqv48|3K*QQ zL~H1ilyEWOTO9|HI=VL}zn!O13uEjKj@}|1L7lx?z*)yoLx8CXIycqjlK%84S~=4N z38oDl2va~wmB@gt!6YDqEXeS2t1+^AF|`tf}r^I5q6Q>5?XeUS7w zuG+iK!YBDQ!TQ|6W!iQLweqh$VPJ=%j;)dtOE;W`CC(@{mn&{>B11c8L;l<`3$I1! z6;ydS;jxN95r~vz>|_>fECF(;XFhDOm7#0>qOT^r%RLsls0|Jr7$MIo0mM2vg*pua z0)&EU!_dal&(F?i>NItez4z9&xo#LjfCLR~wBTS^^niyZkb)=zbMht%!4Vs4davib zt|uFJ`O1M8wJ_*{K))LbFV^hjqAgS+ivO7!Wo zvv~MlPvgCyx&W`HkOZDhYPs2K>t6~|hK0d0rgQJuJ~8$JE)5};Vy$H%=#h~1Ab~^^ zoj+wlOT3Te<2tT2d&dySB8*h)MkNPi^>{)bW3M*+Kc2;p7Ax1U6<*7{x_gomQ4dIUpms zQdRZA!bJlbYmG*n&@PG?7@c>Mm2v6Cx3Ds|PKDWX-(H?-17zhJZlcVLP{Qu^M?Z^p z=Vyt-XDblpAcUPzBfX+vXr!LJQ7tDcQzHvA_FH+W6C_~K34ux`HxH_QxSl)%~~=U0=8Pb)e(s(2*Eo!1tt&#^((iX zd`BjdsR%%X=7t_cm`)?Gqy7}I&(vZWxJzjn70vuw=Z{PzQxSmX=u(@ghf_=O3jsVMXkjRXK5C|HEisk=y@zitm;!Dq8UXo70lr?2Bkj-n_7_PE3 zxQq>NEzTC~apB zCTBHVaq_uAh=r8UDHb7{cSl%jAqU4rosMF0fyBrwzLKc`QN?;lUIsKUw65u{Fj?1? z7znxuBq;>d;*VQi+=w!PV>5?Zjtsae$*3P7)d$UF5N)8iMThRSG|Yn#5CZ@P05d}a zH2_d=RQo6pK*}fEFmHRHZ6F*cM^GE&n3HEBjRJi35AdYhw6+l^zQ2Eh)dv7XBWE=L z01H5R!k_Tq^f*yZ}H30A^+YjLi(rWd_BNqKSsu z|3sZ*kY>TMuG_Y4+csv}wr$()Y1_7K+s3qQ+y2h%v*XylXbSQyN67#s+^5GRPWD{<=2ng>_%+oJoi z>}Rfk?hVta1l`i2OluxL2Td2T=<5w!J>jh%F>kuqYek*lLL`rn<&MV4~V#esy$k^=U(y#uf(a-7-!fjf*xGb?p7vdN{NdyVX z^_~Q0M!a%>AHkK2lbXBqmy(M4z(~exrMCNlu?mj^Gagu%c0bYCOiy%j;QpS_He|6+t6hR5_2& zZ@1Ygy|eYki>2)oAFD!8^ioP5DimHLoiWPP@NWK5H?cSzPSHmAu-W3tu>h+D$b0Q2GAn8ATm+;ir=2rB>{jRy5IE zh}-^Gi*vkfO)XSRpUQkazL*z#!IWVfm5>v?`L1I>2)BEg-d~tK_71xxSB;QYCtiw2 zOY-V+_N{V18m#J_XJrfS8*BEi?gJA|tGlcBcsJC@Z#OEe`4sNzNYDQ6A}{;=H_}9J z)`{jN*th-Ga_UPfL=H8=EX$7Uva~Edp!s8vw&0gmWRHbRY-(5MFTRXVHTNd@&Mx+Lp8m**ZbHK;|$9W_96O(k0Q1 z3)77cHw{%i27t57^k$k(^wPiMxnGDkfP-LFtP->oYIR%4xA}o`30By$zCpW#*cn7M zx(2Y--K7?}uRJY2he*Bml*Td#hl|eC`J%?ZO+ZB|j{kU_Ev1|@v4)p{nLoYk8TE~^ zhLtfoSOQK^DX^ZU#X@A28&^VSBLi9Z!~SYYC)=Eyg3_H%@15&{D_ovcDE~WqeSZ{t z7%1zUzO@#Wm8^xRifz84HvDg)vi9L}$)7JkC%4BU;EPI^kM2=1iD{R-Ra*d(ef7X|zaSdgZg&bIRscfO5!G~D2Gq13vH(hi( z_OwlHSG39BXlRLlW}~Q>bP5gQq%z?({{`9huh_JDZ0teEl}EtFl(EyAHEsW9<7EEf zzW6$o?^J&V`=eJdry0nHwC8c+uSNx;l_w4<@~YLDF|$OB@^&;z~> zT_r~c1J3OB?dFt_{{W3=a1`bmZPyR!r!+B86xmX|OzohqL5#o>JSA6{?{8Gq#(%J_ zXNK8h5CHziyDXDiO8%YM?|U*7zR{4(k4UXLklA$!2x#f`q5 zvO}k>6Mb3Z?O}LH0SwFJ&Fx)KvZpH`1e0U>8BJpo2@MS~VVIzN7q@wMOUoYD=4g=~ zE6?`$zIAfLOPbLijpz*l>hwa9@og88V#lk*HQIh|{_K30HTTMW)8H$#kJBOJZmzLg zv+g+n_h<-M{U)rfP>CUi`B0ktRtK5H+(}7UR-2=zBaNet4daKYvwN7Pdnq{yp7&?n z3(u%qvE*~q7KAJ6`CVv#Vws|<2_?lr_#gjqA85p^53j~ww-tlKy-mZipfW9q4nKNQ z{@>kusc8{+5y<#+H3WUNxhyhYywF=m{bID-r@}(iV}5ayDNutES)NpH=6bmx{s5^~1twV=SXuyyiFVB&izCZT^ZF zHXupH`yL*jztgp;r4I-m6pARw{bR_*QOQHyC~q@8nJ58FAv-bSwx*4-jKt2)dl9G) zd*h!T+J@b*qOJ0PijovT<`l50{1PTcBM=7_RWvyq*n^PQir8t^ru~klN!faGBuNH@ zT6~1;Ac;-)kG2^kf0pUfuMHmA^sA7zB$ecAcsQ9P0?$A<*`n3A2Q$0?LHAA(HXUVu zWI;v8s(C+JoyYpWGai#mxGR>mqJ@!Nk+GmQL&#dh*=b=CNpfw)jF=Ln5G>K*QzW%1 zyPE3KshJO6WNWlExfS@d2EctoR{}I=oWy&5&kbeK^j5Ee zZ4K)V^BM)+-Uc&tT{!)@P>IxVZ zp=#W{%Bv7{MkJI%>Nnh_tpnTfBDks&RVexCc5hVN>4|W|U0q zaH0BLVSivZjmvjiSa$$laqg`?Qa&&5ldcVlbQte>;UiB9Vt1wa*PGk>roasv-7uKz zXOTL}|{K-9cUCgeF zZur~@Vq8UxuFk#nBwt2+xDq4Wd=1rvU;j1wl9jLBRdSyq_#Aldu~g8FpG&|Gtfaa} zh->=74~1`Uu=A`p>2&smXFGe@YSpxiFve?xGHaS#ZDtZwWyU+~I%Tix;pwh3w08Y@ z;J|%g;co119koKOJ7ROrqP#)+F3kgUmZC?fIa14kBRFw{SfllO;#usNSkaEQ#jKdn zuN~Elv#OL}465LEI7U#VbA<(TDidJ^4!k)i&ctX{* zv3cA$G;Zmla5;FpfD2#Ko2Hku+5?fZK@Z_IKZt+9@BTub3-%4Xs2gQW?{PYe5&Ahi z4SXG&0B&Bgo+r2JN=7k+5%$%D$&XfzTF*7F)n4|+j+2{~y5o{W%;zs0UkoZgbXX-( zVllCJpf>Nh;uApfudtZeu%33)kq;6BqYXzs&~qYb%ZGjI1N#0uxAoT??>2sunjK1e z++s}vMl1vZX%l2c57F+LZ-D;nXQ?y!Gc%fIHv2{i|!>#*XxTPX5N z#DI>^jV2~orfiIsd><&V`(ak#(*P;jD3(R`J@zIdIpzvQ76YWiK**d>7G7yFo!to> z&fF&OTolE&xV@`+Y50K+Ru{5kyfo%)K2U4x$239&<1drXsF{rS&JHe04AhiCHl}i$ zP#2AuOyc4BgKSVb+3&&XhVVcc2=#w@q5&t`hQoP|#D+D2 zB=m@awl>$pxJ-VHc)+DRxnA!)keYD9Y0{`0c3&4Wt9SiF1h?~KQz9s?@0iA1 zMS27^h!iW_UlGHtBwG853?BXYj*yMAWH@V6ifkz0DlHm*W0DX_94ltVv9t_IV;V-k zx$F9{Xv(?ysusWz%eua6#Nvl(3KfrxW{$_1K@@(Lq;cV7xIFN^_fv( zbDH@}gwapOQ}(Bs%v{b}ehnUmPPfXKoKYb7_9qKYRA-9Yp*QP}&2zVY1$mQm4Bce1 zrq~JQOcfb;Fg?Tgm0!}mt{I_;e+#IPSuDGROmMzeoP;Q4O9OX0-F!pW3sW1y1ePEl z7O?w@2K0c!C$t~VWqy@LJ`#?W=L6;_$sOM_T)>R_7lqpXnt9VK4G5!pu30!{9_xJb z8YQxeH?e)$WH<&@!#T60R;*);>hVYS?eoX!p}s_N45fTFwWa~ioW>}#I@WCsRPER; zLsrxND-m#WqkG|>97bmR@eryaqe3WnUW`|dY8z&{9dR2g4-k!Anrd*gel`jyU?n46 z(U=|yHcU$C-qQgx5fEr&v<9_8Gfc={oi*2RgoeNo_n;OApmsi0e zb~1jhMEpms>fLcl1#N19BEDk9h$0O#p z3tS_2y>rF(%a?xndrqx`gD?smO1d;qNy$g1Z#y>+IyK}CugJlt0T9#aen4tObH)8()>4!wBKmqhdN19R)2C?M+{^d=J7sH;ZCy!!fSs(wSRPN`-QK7T(ql^y&vNr zQklGF-!ZSN=Uv>Zqsfl@*`+?USA~%7Lxb8$aW<%63}HRCdvHzmnxc1|mYr@t-6UjF ztn?RB))QT{SO4qS4`oh@uR2Om{j2tm_>ZuUKhL2$l1=ci+aY&aB_lXf` zW)LVH;H{7ceKv{{n&ZQ0uS0d-bas&x=64^q3{ZlebD1lHK*Ke2!X_fN;t1MUMJ;Ht zIeBSu6!(VSG{`fMnTbLF%8dgrflf{pCx@*{bjy*5IEgML!u^A&~L?BbYo-_g$#)qyxR1(vXXCJeF1tI<~tSK2#6K= z>@&<#CJ{>+3NwIhj2Im_qQroVk|g7ho_0htf*&+PM{CYT(4kZ~9h9TqqXAkl@T#oW zna06jD9r{RD>mGdngWc~Ub-Fvjm7+E{Yq5!IQ_vXPqd}Zw27{~XfLD?V_|%E@d1HU zf^alud_MiAr>{2cS7J&S9Xq(=G!O}_k%UnXQicWXgi}G=PWx2O*#aCrkV4E9-l3wU zhfJuw=Ej7wcBWK%u12@6Ga(i*P#NO|o{`m7*j1YrqYjY+qY6=D3o%m`9@3efyGJ^| z0&UU~M3s~iNq$arVj2eRsF6s|NI*<&wRy0WW&cxUb9n5kT3JDoD8;X2!^}4j>emiJ znCii&7k@IU9@8Dw5Mc-sil)rVdVNa_5Lj^yFQO#j0AU@!EA{|T$OsG`anBs}3}3-5 zn*P;UyW?z>;Cc_D(cjcUCc=2~2~ze=v8B!N(%H&ON(t3!AskPrpexLrlL>6Lqa5?R zWFc}N0SDS*K|sn8R+SFLZI-2L2ME<7$`H&z}9(S)w1v-!dc%b{Jp4H-t zf1_q-#-W1NKX!v|>vOc@;J~+c?Y?U2(sGuO24#Tyk5`q>k_)Yao#Lc84$9Z`8x4Gq zi6%AgPp*c?_x~R;q+YBDBIW@>EM`Z%_PN z^e+Kuj~OP50j(S)r8zMvi1O{9{yLD!;PyWfex`Pp72F_vbOk~}kPtE(q{R1n_;s(< z-9JBl@K0q%_sMNkRpnw!(#~WsL1@7l>M^y6jlLPqM(N=|7~&G8K>VT}WqfG^NV2Vo zH{|dz;hj+|^YYP#4bIWMLWk*L@faGPi6{-^go%Z)#Awpl{~jL$J3LW3VnG9&v0I@Y z5oVGy@uD<9tHeyrB0W$_zi_8c_G(gc%IPZZK=dSq)g#VH0t()u963Xqn-XsA6iLK` zDFP5m!i}oNuwILKt&PQPyr=Tsdo#LZLC~E5fOO;quLYlu~x%BQzND=}AW0sU&5=EFo}%u+oP;=NzTRNh4ZE z)!qog#hkJ**@Qr?5=LBNgVWQDE{7D#GX_~y#o#(p-$anni(X1K2g*hwoN0V;U_ESW zdl(1Mjax1q<0H~N`ij5qOH- z6Q7A<|8@0PB$dRU=Y2=v{GAYtaGq0)epci&ko7dK^v_{0(v0HKo~RdP1*{j9{@n?` z(-QG*vy+R-dszB8^-@P)k~$FgBwn{f9GUCj?SpvM#rQzjQ=1Y{I`Y0VW!{9Pp!yl2V(6shYq(#c{FAqmh#FvW1_o^ff_ zBK4zw0z^RL9&L_sJ_O5@1P+wlf%&6Y3BWK!N8{V=DWS)u6}g{qzcxQ_!I6Y)VhwxQ zf|!li|Is&6tcL!Ql2Z-;DNTSF(886mhL2X{(7^J{q#Yy~1_ELOVrKyg2zAr8jj~-^ z@jr2HZPo60sh;`SV?-o65Ea2|y@tHVuFKbLyJurFnGk6v;dnAArRA{z7;%s4gM zIZHEl>H988DG_`x;m_HH`4&$h+`eKOMQ?w+Wh4hw?q$QsW1W^V-5392lr$fom3jK`4_->uhwV$>CI)33<6BMqBYc%H`M%+ z<2ZpE>B|krB4{4-g9o)g-`_dWuq%<0okp)Sl=e&-$_VZM)`@UM#)(3x;t^Q?u! z;fde!dzrOdYS9VXaVNZ_>a#PZhi2v-?>;(J*DD89alQ+_c|WxRbJr^wt%K5on|W2A zp%^}#xFi_#e@?wbLC5o}q9V#x+A9-Mmz_}I{ym#9gzzeY^5k&k8wLh>(PV<*SZfq2 zLTph+P+)qopD7NJJ z|9a3buGZYTf#Mu6pEO5-`{l6%U!Dvfs9tz{{O}NJ8*Ej`0X|P(C4Z}1??({#=bfjZ zWOl7Rk4P-(QA*s-q$L}ZTl)4nc_#-UbGdoTM%^xn^ zJkK`LmdaBp14>(T!N3VAzFC(D?u{y)&PaDTNZ)_m&#l;2?JJT+r>3$Dx%E32^^;IC z=JWqj4DsAP(KiZ78iPl||-40Rh%Mg^}p=@9(_0voF zt<|ZW;ztO_|L&GD8ZG=TIQ)EhZ|n)Vl~fJvczD3d@Fha_EU_f=;-mkz4sQE}!w$tO z@OT@;K)n}n-)+v_)1eH>&nmMv+hGN%_kt5G8}pXk22sBQ`A{a7g)_`p;Ulr-z&>mE5L~1*+TrmA1Z->!Zu@3m8-fNut&fR?n`>;;VXRNi6*@70{Y8SAzF7K-$Z&X3D^4dn}A3Fb+3S2n|!B$-5NuK_vb3xz{G zUal+?rRDbeqK}W@Eh}yxMH9~o&v{u~Layoeq+g29fe@#U)*T5#FT>U88oV_w;{mXw zB>T+h#~M@RU$z~KIpCS5u6Kpm7#)A{`c$(~ui=YQ3ahK< zcWY)?@u6FEmh+#gRzO^PI{DSRi~`YG5&*nmEW9iU6XqxffpXcDOQ#|bCE6|Mhno1BB)WUg>R{J-y!XD8g4a zZ&}}Qdk*2Z@Wa5pIWfJ%Wya=Bjw}ycp1iwRg4S6}ivAY4`ft5?4A`=RsP6Cm4L|A= zh?-1H9dMEtp?1T}(Awq_?Kg#5hI zr|4lGzd!W;gn2B#lVjpBhDqRS_0zi5R@U*qi6T}<4BYr;koW~Y2;TPQ7fIN!Sr*h@ zJHq<3YgwibYo2;q$?e`h)OJ%M#qm+n!{Fp}-1l_|@}|*F`#c}VEtmM{OJnDz2lm+g zJNjDZ?LzH{KD=q8Ur`h9m8qHe$?@UagU&la6#VNoHRoY~hYib}^774($N9me>$64U7v4dNv80O! zcFQ4~m-b=T*!I1s=TEh@d;x|T{l}@7_C@~hkog*Kea|>1Xyw1?luCZXN3=PV%Ff5U zo_}u>(q?=PkG4F+F|&T8_ZV7>YlIW!!ob#xx$-dT$BCADc~x+ykNYO>wDk{$k>MbB z|K=oP`sW2*JlQ%{@ZURQkhM`8lTPD3z4CIu{!`+%VAse77+TKBTeZ6E-b9KwJhE*5 zDeb|^dzklYoyw)azG?yz!{gnv73a&bvL}%4zPxjk{?)k!E=JE#c*TG`OYZPnPCXV& zxBlHUb-kaT-8W+BfuAW!=W#l!3jJyKYi5XXt(~Ck2dZ^U(?69F=yhChB1FHhS8h-G z@={s*c>C|`7uOv3OxoRSck82FJEUDbU~k>#fDo)qbR=N^I>|NT;sq8egK_ZIt=CLW z)$Z1Qzu@id)uoFRq6AE#vuZfoMp*Lelbct=?NYst(J0di%A?}iA;RLf<^tckS*^Ss zCnGE4wfi~dhRJ+$1=tXv>ENNSiT5?-jL|`zVoF_L3JmkxuWjxF+Eat2Hxp~*rkv~W zG8I7+zMr{_%`t&8BPk(CpasV73wOnKV$+eS?Sr*Yoc7Wj%7WfktXeM3n$KIFCj2Czp{O3HmB-P$> zL!4x|TEh7JnyEbQSN7}=ng3VJ^cG)^d~ZIi%wLaq^EPm)6Sw5D+joR-%I1HiVdjkl z?(Kc$Aw_w;T7Ta1jzZrzd!=<~c-<3Z7{mIbv#yl^96ZuF$EUJ@S8PJ_=!Y`Fw+0>u zLff^Zt*}Oa-(#8emT!i4I~eM`tm`|e>JI7Av?LJj^R)q0O4yr9byP&;4lGWJP2|up@5f&Wz{ws_jS(Zmzk2W?YK| zL0{^P2<=H?PD~^*7B8f?$O zHCNYbP(s)2{L8q6C{=*y&wB%_;BVUQrL|izxz{b<=3+3@FI;S{^=3&t!`x{xj4-Ly+{gi0Htxj1nP^0O%)eUo0+>CY zJV;srCCPSq@l&s}og~3QYs!CkASA!vF!S{6){yhHso+0j#a8TKjHUPUKd+||kV3ujH!ivFr zNG}f5YlOH$%ix_`083x!hVI1qNzy^uq03%o z&TB9c1!*G+AHWj}QT=$5a|15Z^M=_Cp1s|Cu5{ZM|RUzRvmJ}~4gNM1x z2&aR1+khYFriAPT6GDna1JzdTGbWOvf0v36SBvSvBi}QURS9K4`_Qdr?;BB9hFeLu z>l_DzA5jKAC7`CZCGsC?*qrwMJF(yOV%gvuZXCww--@2r^pVuN3|qIuUx)Q7|8iHQ zWJ=>m3b9QMrk}bts254IZyL(Y@^e)ko&D=a-z=2VJS(sOn2r)TLxv0*O1(Heg=jQ{ zLt($Pug6z*{p~#&I7k*#yCMmxLnzzP2v1+$WSAq>uXbT+pJV&==9IA)cgg#TYm}Wg z*n1+a%|{pVVL-2g2S%i;yoU<&w-r*q3T(%{Fn*}hogxni-}3KT9R-yFAfFaITltIe zWY{~mj08D+Ks#vD>674joc#GbyO-ss0FrOLufeB(EB@^szUf6@4wNvP7JOS_l4P}A zW$qC`MCBVLe}goN7dH+!BduldJwH$8 zkK@Q+wqGMFi<0I#QC#5QhPR5L%RZa|af)p}q=?YQ@}qC_k1PMUOB8hylvf0oEteC6 z{&mgQ&%;YFoEda-i60V9^n2Ce2b$9S3XV;@yme`m!ky+BsD!hQ5tb;zSl;o=GDC1m zFl4h;=*2)z5%C5@AWK}h4VDQ^OywC0njpYRAWp+rWH1$>*0g3-kw`iV0n5_my9yx@ z!fuOG-UZsY6r9KmT>N+VZ3@4nmgo*RV}fNB*jc}OXf&{-XnR*gWe%Z9lBHrYdx!p- z4{z6<^7Eu2Je12ml=5-TtjDR%-KkpXkWYiufFYx{kN z@ZNA-NeCv>g`^D{>*Ci!MBYRc!nz?fM@G2A7Eya2JsYHuV_t}lQ-xLr4Ty#u8APF_-5?MM zn^xCSF}=}MVCUqTe%a^z?Xd8<^Yt?$F?Q-u0&6t`D^52Z8Q^+<9V|(#T$nui`8*tx z{=4;-zL=|1kZs(lRWbu1HgZHB3dp386h#DQS8P0S>Q7cc!pl-L&@-x>B`Y0oLrcs? z37e(3L%IX3LBEj$G`AJcTb9sc5oU072HQCp=xnE) zYgDroE3ou%Bb$$qQebL>>78tZ3%*-MrAAR~FcC}&PAMp4QJW(Q*(UG|?LhCpmPBQo zmJ3~byU(73jY~lEz!Ve2FA8~FBG~ewjnD#cSj3dILMSaF zS~Vi2)Yro8MkC0}?9*q(k&5B8*5o$=q|9R=jXSfz2io+=qw3<8X9 zSI%|LX6Q(V@MJ98ws(Z06{;rJrJ+&=hw(qN+mN@e$fH;_%Zz1E zHjwJ*Y988rAS0rr7ExIfxXD7QN|utxYt#IRi*2f`y2{GV)t6BwC6f}XE zv=SVQ7WSm)6R>GH)+;b&7hYVi`u(43(lz)YZxV z=7x|ji2wbCO&Jni3(9Jc#Tj@c2KTy3BG;?A(i2{%XkweCWOIGC&!2bwRbpZ!$dkEA zK>Z1D?9~Gdk9=SCsJ^uPP$+HUb8i1CNrIN%X~hg_K!jXEjyoKk@ckOJ6cSBq5}xpg z67Gk9OpO8w)vFJ#Xqc>we#xz@0fRIU<{vjg4pD%cC`_mP1xDpQ@PM3^i2b5=F+y?@ zL>2~}H&;OnVPhi}YO3rrTvq&xKS~ziip^18 z78FP>GtVQJbtoM%F=7QSwV|_E?jD1v(})>}gcdSo0{6^#F5xU8nP4KlWplK@bAa%UhyuqFS8vgzv}bGl!`4pN95 zNfJmPSP=~$mAJ|;D5G1KA!&_9njwSt6yQ;T70VzN%Ll)-1%#dk%Vo08@t?+W|e zf`x25eo=RIyM-42u^sb}Atfh~gwCXMgg{<#X6e@h)swGC%gD*ndv6P!&hBPQ&{Gn5 zZbmDjmb>IAhkI*PI_*fu%kX9RrmO{(Z;b`~fZsGZKlk{{w><;Btk)f@ujW=;LMBK4 zOpA6xN2Uqo(Z!$hcu*@Zh6wjNq{HIp5o&$kbH(jh4*!F)$mT7kCzOLCHj_9<*+woF zy!KzB6U*R0tg4TyUCac_PfxzT_nY8acv@$xdu0NJZBb^Dxg@cGu7f5)0s&o6Z532A zm4aeFCo_mhfw#BJ5`)0hES*fa_>2haa}0BO%N&TEI>~Z@gfzBBA>W~7356BQ(`)el z6xV(vTak#6!Ps{WP#h0i(FapQ5xb^Y{Zuch6{x z&c^6Ogz3>zYyP5>2Eh6KcpX`i3p6{g$L zb;0W_S4^R*WqpRCoW0_smQHz!qjQxtr6=|^2-Y(%qXb^Eo&Jb32FwE+y+!2Ry7`= zNt>t!H5ni#kr)MS@W;yr+Nj04lIL!TC?W9lG?5C*O|^9-*WW` zTd^6;W{=JSBtNr4b-lxh<_AiFJs~~_jp}93om@eVC*O3IQ%2eNpfdY_aSzOEIeRf$ zXsv$KPOI$ihH`c$MDT63x|;OTX{A{d@Y;SwieDZ7`*jl|ffK`7uO$=7jEa#Wr7|YT zvJj0YXHC}8D|!TI0kfiH=*MG`)oUCdps`KYO-HWvJ&8IgHL*LNkGmv4R=fvWEPiq; z>|MRf><=TS=g9$MaxELsEXrg9US{!WNQAp%Z&~D>%h(h)NUZKs8Afpph9DhkqoBmr{gQ;&!*S&Zu)wF9UR)u8EXo?5|nq zzBzAsYd`oXk=X*0d8LC7z35*rvFJ-Ew48yw-3@7t=m2QWM1%&jL}LZG#@=5{!xe_8 zcK}=ir4LRJD}@!K(LhpXcoCr4oF^0|ph5!&8a&ww_(Bm2NhL9w;k9d+z5tx6s;3_X zP&m~n0Ww%2`y?ZHEov4WtJ)Q|Ou2GoQ2zwupBp(s76&CKx{zw&5_D+0PPoj5Nu9ko zC!3P1)X(S+5e4yi#+SR~DA7^zM}rpSJw)!o;-wHcFT4cDaP9`$wf^3BZb&exCFnrG zg+QVA|7N9F#s5pNuA#98IZp9cUq9825ZjOd8F%6VeftIVb)v5&2&dQF(mW4?q1trV6;%Yfs z3zo$E4dSH_bn0I~xczR4UO;Pc%B%GAC}4&j^_X|dm!`B_a*ano|2vJ76BQN{F=lyw z)@>;zwc@v2S)TQ&g1Ob1g}I-yU|s>iPqGu3IO-+)C=@@6R`PF_SUmj1`1c~qyd&3B zulkMEIy(Y0jv4!jk*k6e`G=!)>O9Y%0$xPG6CrOgj{3LN>9&_KVcf;Vg`J;EuCP6! zE@B46xJ*dDF_};mqOLE*nq-d>Dw=5wy-?u8BZ4olj6tB{{3+etCUCISk{J&XRAtC| z3>XYN)PuhFvux%?HyTXp@v)*kt;!=AiAm{X*)NhH+XGW2uW!aIUi>&igbT-t$8qeB zSv;PLuP^rmL4h*gnh(wA1nFE==a#ezgj3F30Gp6AovlWKgJFNal4}bR6*i~xo-l9R z#6;B5^ttU+LF_2}OsLHR6FZ1Qm7&cX_UF~%R`#XlZ1M16Iae}RUMO3I4m=ZNkC{^l zT6w@RRWa}Yoj^8Nw}6EsW`Iyf=eMn_wHZNXPB!=`18w) zsLVSNl1r@<9?q~@?AzY5XwYH=fupLFWYC~OpJKSRLl* z#e_?RI!=U`ikzjMyN|*JiQ@U!x72p^9UJIqe=;b@FjY>_qHsgo9!Ro!>y@DJxjwsY zj1-tpcM=pTwq@u|B~Y)zjv8pGd%vRMqNSEP?4OQ43g_=;C>b0?B~8#{eJmg-B(>6} z(+C~@@as|FICW*IM*@{bh~U0){kfb_;beJ2ry_ge!6Yy^$oSGZZ=79WoOFwu`fF5; zC*7T;UWZuf(gagYW@e!~gJnvS#Uww(wiWR?{ytlS$WSyA9}(XnjN#LBs{$K_PZQqu z5^gWUq9lbCWH@!T*1HxokMj!%1+BEi>DV-&MR(j`>eaD2VHw9@s-ylRlRKkGuQVIk zzKjh9{OzFr67lovX9&h1Ck1H&fDw;*0hlPbVz%W5(Thpd+e=l>BjF^sg{M;{UpJN{ zHkPH$wvI?BQ;XCr4G@9^c2yNVW%({i-DdppEeWWa0ft$sA98nUP>e#lnKFlZSf>@4 zH~jfeFRX%hOPk>zt={DrZsRIqm^uz0UhGWm;3?uZ;^Q0fuU5}9@4Zb*TA1RWO+js= zP7#Q04oy$%ZHRx`xJ}J<+Aj}$etvihaZ4+gwIAn?OV!K6XohpZI&TgI$|0vtNxa(S zac%mRM{mw0TY;i5Z`i(C=r21AJq|OxUA+wkGfw$d7AR3-1K2Rw4L)h9(lD!Q>YQ!0 z=G4OPxd7s$@WzL%k%SoMM=sCywd^+)7K3ylvW%f0OLCLDr@=NbD^KN<2~KAgY0vv54Q5sokNVL>Pk2Sr{;+42A4B{}k4;B) zom2@#o3;arM;+cI@TiEStgN)EA67zi7>C8~X|bj`CA7a7vtuvd+7`0*L3e7Qe>xER zzSFS4tSW8Xz);MW$KhphtKxXPa}>JqVV~!kpENPz69?p22RhO;1KZue6u`iCqZpAA zLZ!~lUoaRQHJF^RI@;e#;#rbfXSx(+9rEp_%e)@gW>)!S2WNo6_=@JR!>2R~Mkc0) z$G&FFp_Nto-YMP9V8&hjXg;1YRXCFqaYlD?0@FJD!H6_MB>lN&lC~*KS_6ru3>7*; z*|+JCBVtO*ZO7Xlit8P$kJVAQ-~Xvzba6+_+v!V>$Awt^XV;-*Am1lvvUeLw1AmDpet6-;N|Vn0=>|uMdV&``Jg-$EFZD zb>wX#GwNyrDV9DRrlpQCLx_$+hkN*5_sHNnV{D1`&Tz9jVA>aAC8u!>GEkWFqw4hrtE|j&+aPUJaGV_d z8c5@uS%%WCEiM63g2MKLW4uo&xxW$)tzNOsGgNpxeKpk#K4E<5I=Ee$m`iI-_w9yK zF_4gP@;7%M#splU7gc9j)Sx^>@-%2^kzcG7*OZ+_nWl!n7> zd1!$kllRd&z`0RIawIRFuf+Gu})b(^biKWgoEVY>1}5+BiMtuzx;{uux7P}@93}urUf7x?SWc?& zezAb>j1{}|a_t2bN}O_|lZ@<^w=C4yo^P(FMgL{xBzk*L;#9_*baMXq*I!r1Rl$5^ z@NFyUk8Hp?ZFhm=YB2p(gsOn@~||KCQj-kpzFkqdK2{ zg7`kag}&6Ng{5U|xsr9f|IjDTT0qBY8QV?gc7&(+mR6pT-7Z1)BoihUzzQ+276YL# zHZJOBGZ7cgDb9KR+A8NZNYrqW_-^@-b)|VXRQeVe{jM~$jal^{^K7V|GnZmv!AoKf8<=#Jafjf{zs~kYxqya-8xsD`o%8 z+RV%7{LAm}VCCxBu++doIx7VzQs2U3D6JdAcPCxW=X?j@dny4Q2q<^vP12TNK$0-L z;l2@!<3cTR|KGh{|6M6V)jPNKzO~EJ$Qo_h;cr7MX)V(0s+Am1G3iu@UR43CG`@X$7DM~(6n8@0?5HDru>%F?O6Dp^a(xA zYqMpJrOl*S6G{b5?Ig)JOg>u3aj8=kY_^ccX=mMG6G+9rl%S@zKpF0}TTbaw-6-Ky zx68C&JQ_pH!Yn;;H9gSrP*9UfkmZh<4YFTHBX zxh1vya3utYJQJ{i9|&}(=@A@EZ3)cMj;(=`pp=nB3(NNO_1&}@P1_#+jxIZT7Pn$0 zt>r?o%f87;lhAY79((n$Rb0*E@>{Rt&oKk);8?*Ey)Jc0 z2q)4W7p!qM!1M6^P(-Cz#}qtyVf=?l*CQA=gXt0=436 zZjx7dM>~A$)%u{>z1weTeek+A{XTm$*Oq4NKg+D&8nME^CgP3xIYn*}VEdgR*Q>Ql zwgWVqVI1yKe5i=MAn?V-Txtg006*I6fdi?rC4!QB z$3z(cVDkWr%Chc&wa4~&9l&Op=Z$*Xt{xqYvp)*d%-;Kr0n^s?RvO;_ojN0qG1dFj z&XpUhekfy=w|Q^Hi>MQP{5>-U^7&?OgQBoXWeXY-N(jYMqqP-=MqbV1(r@khK|4y_+0Pzz#R1 zyJY$f%(CWFDrXNX)KMWlygT~PkP382f)dtyw0bkHL0T_$pB$aOXlI5d{@hk#gXZMw z4FARHgXFjKhCT-GdvxFY%fDTDxW{k(J94Gq2~jMK)G$h)y1RMDle4BD$MR^a+0HYg zW|XCXe@8MsJIf~`*>LF+u6oK63_=hb5pl6aj|)Fv;X&<@7*bFuQ=Yx z#rnQe?$E?wZbr|%`|^18lm8upz~45&b)WAmGM3;L;}_sk6s>tyv8SMN#M&cuRb zHkBNFjBmy}LGo_59{Sty1NF@I_-Sw-|GAVqiT@NSjvL+z70yHYbla0fr@;4ie1o@Z z{3`m8_w@WEp6&@mm-CmJUVu5?8*2X&JM8QigRyS2GUI*G>S7p$Kl+=VJ$x+*PPF70 zfj}tJkABXm)YG$=d6i25*-OpRg~{o_HiE)_8Gb@POZ;E5d-AKmAbj$pPr0W`ZA(4^ zbNJsR(!w*F95&!qHE*(VN;iIVCvu0+GmQbwn;bll7aXk{x^}1+D`^6IyTkVK#$l=f z(^n{alRN&_sy-M-UB)>-in;JLahK7QmE)>{-yJ($LNhz+_~TtP*HXB{ll#`f_BZ^J zX2u)&iaZ6dAzi?($|wcQfL?QK9;Hpd-U%!nvI9_ZI(CUyQUfToBXH1 z`io$Se)7%_b%VQ&?)`n}KX2yk z4wq8B2Kp14Vo9+z4j9MXltLq>U5q^X?veT|6Mv@;4dcGt$+Igg*TOV52R8TJz_`ht zaMEu$LS&YC+O88m=W2>nSXE37EYj7p z5Mwjnm6P&nF6RDdoq^HO;}>WCX1AjUIY$JR5O%EXVt&BE82fowNqf_l!UR%Wdoy`h z`=+EjgJ(sjbWpUk8VnT46E5{@t32duS@eEI-+zApefZI{xrT^> z$xt~R6q+=Ja^wC%tS62%&;Ic(_v0A*dadkwEPr?!XG?wTvYLao=E>ov1ec;?m?*T3 zYYyGGddcWI1fHUlmmBzTQ!acKtVPNT772xcSWb>?QIRrjUki18JK-M}1v);6umX{Z zWz=n6%5JEmpb{CmlK9a)wZ!8aO{Zk)m)$Ify!`K+$D2MBsYc-)Tri-)RKOId9$|49 zkXZmptg92<9hA64`3xlHD-8)4`Dx%0=I*`m2OB~tni+3tIRP}&G; zOaPR9zJd`S;LtW0NCiEyyqQAOqSlLSR%&xYd%7UwjR>6?K~=o+M63 zLm-!gIf+gxMD^Gp`H7Y#)W}O5#ad@fb0k3Z?^aD|BV41D8O35_M2s6Ab)ecBq9W%& zqVE}{)&psX1(B1&%ll;zwkjK#5`QJ(lB)*)`f+L3{9(& zMp`7To~P$<`ZcCobWOHikoy2U8vzCs=b!`LfG-44hBH_dq+0}d>tFa1wUj$L1@O*v zPftHhNc*$C4(yIEmG*^!K(26ty2y!T=vdOO;Rve-4UdW;Ty!hzlSPriamFXuV?9#U z9xGgcS@|%nPN}FlL?oGjtp)QCVumXPagh|U-V(pqvxCI4gU+CMs;n+C?3{BDo#Z#kg)`y#hvd~=b7c#_{}D(vHm8i zcp1`cug%R=>N@*Ujz1DR7Z^X4p95WYCR&q-;82JKWJB2$R&ac+y*Xj(R2Sk)&k1TTfp1ZD z6qMpj70xzdj&jA9suE54veo??xkt|5dk~e)z-49&0xokAl&!!qomYwp-HDVUI0|@Q z$;6R+X|UgqOWHFS4PS*Xj#0jJaz=+L!RHPX#xz4Hj?2iMV|RBGYe>e7D}X1)5|)ZB z0N6PX?vws8II3d2!N>bfi>D@dH!?i%eQBG`HhmNi$9T2;$kNDObF8|CMJ#dnixFdp z2X7RtvHj-j>|V=c^!z36mzsQV=BI>rNArYs;z48*2E$5QW_99(I);^k)89_iPxoNs z89(uKO3?G*cNsUn1T==plz}8-S1XKpo8X25SvX3}RVbvy9{xK#eOkC^4xyp;!0=nk z^NY)qroRE&{2rSj(NzOC(kCq#T*WY(jS-OzHTv&Eo-9q;!WjJ_GEvQ&0;IiZHbVOj zj&c)r$^{D@#M>V`>U1^Dw`(Ho*DV??4uBAoEcpB=R6DsU6_Nrr>^?M~#QvuUO@Vw_ zj!qdVh#s%DX4l`OgYH&mvd&p?!ww{6UAdQTL7 zcOh-OQcl*H4^VYUkj43ySWZ(?Dl!8>cNp5!^IJ8bi5MUf zKGxAfYO?J*-re&C;&MVnC4Uuu5k3jV!aZsS{fY)a_A-FaMs$lCk}rl_;}vn&>XRy1 zOq8#t2aCjhbmgqfq3COI95UZX|&!6^Ylx zp55ByYZpOcmCm_AwUL03rC4!c5z__kelAuw{kSs(pQ)230shH5R%^VTXY18X;$yhB zHH~H^g3+7B80(BlA=I>t)V(vvx{`i@f^M7)_)%PFCaW}ZP z*Xwa5tm&99I#ZFU`u9<2y`V*Z5z`r=bJ^zu12nB zhBgYBQOpCz3M@y652UaWI4W#-5@5)3R;QDO;3Rs!e)-*srm#Dx`Fmj}K63phWs%tA zV7#2wk~C~_#)H3ljQ0*K((Z*G^8giA&bWS6dn_IGC}o@_RF$BdJBIxCsja`{QdlXd z3}}dSDCmj593(BOvH@h&MOOT7Z9M@-T>SD~N%IGeeC@PR1(Osp8Fo=(E|C42J$f&7 z>gyHVvz5+QVllyc(sQkMDbZ5m{{ zve)j{0uEz_FyN7zb>fTws!1m$nt)+XP)IiYnWuQk&}ifIClm;5!uRisp2z3QEN^VP zeJJH-@@pa%*O23YG!imIDHSbeG*W{xRPebF8YCH{<~I@>6Jr@f4P^*1nSTz_7i6pn zU;ePjX@-j~0RTO0!b<8yQKOJBpK4vuuIAsVW0Oj+6@`aDqr>nqTfi*|+{AVPdYQ^> zNNI_oM+6a4fWmCohET3cHKn6iL@#h*pxh`fH|RSAkrFUR%z=^*5CYG9r|dByeL!8RIs$1Ab0(i5`GyKuzU~y&Q_rVtQ%IFmRYgyz&?l7%{`C z2sotXXejV!o*>MN0)R#Hp-d&dcYX_i#9%qG{)oU|3UIKHD^s7w#TgE4Hi8Y6aE`;R z)fg~GK$RNt;sLRgJrkp)5D98zW{4WHtc4`{sOJ}In(i{OGEc+%By`D=VHtUb{Ui=T z87?|_C)tTE#RmpMa<~eSFA78p5<9v?J+46OUrYn1glKc0WPk+e9D|MFCt;Z1!@N9Kp2pPufE-q!g?~Xyh6Gs)MD8e(m4Z)MZKzQRCFvQ~GngdanWTVA zEM$}@6_|0Z2}Pk9ysCo}5(z;q)s$TaHYqqp#tKR{h*lIurE#b?SX&QBY$|jtr_IEr zY}j+Y$O_c$Th0B0hV`YoUZy$TzVgGfvZu!LZV z+3QeIAR1f09OP#Uh^sCtmLWldkdRW|xS)bnl5Cj@KZAzhijZ7vdwXLJg2EiNz`K(N zk*NF6T0sYiE02J1QXql=lrmn3L&yU?Md_x-z1_^ZwV`d3J#g<`?IgjsR+B_E3s}kX|PAt(T-6>tEU|c@-Zs4mjvj4ys2klBnDL}$iS3p za22K&&5Bp-C_h4Q33bXfu15E0H6_mgV8uAXCdZu9(3~6A)T&@kO06^qL0f>71$>zQ;!F_q5e zk!**zzn_`t<3ioE9<;NnF1lcPMlSfO*!I2HixQ61tm$yW6B1Gr2S(M+u->3@1_YHy zgJPIJinK-t5Lh`9hN~yyjYNeAdZ^$63+apbpi;>J_7xqWK;6-xi^?d0LPSSM5qDH$ zVsecj5E0Q51-;b!Sv;a}1%*_^fKPS#SN5qK0icR#P(|*iwjpIBK!~EMq;We&IEcAu z5Q2#6iCkV$AOA(y6}vj6qW>TILQz@y|IjPr|A&644j+?C{NI@l)g5DU5B}GldB4{N z^#3P=1nj4-`F|Sd(1Ay<-zrUW+*F8`LcpNwXTDu@NyV=iXdxsC+`!uD|H&ZX0u*8~ zl7IjXK)j*U1%tLPN@ZVA{07U+Jze_YfdB)P>&uvLBFS5f&gq#S4;Qo?jT5upMiI^H zW?@jtjD|z9AovZ`9Jbh&kU*_QWxwfJ6~!(Zm-aPcR)6Ag*a7I60RTWIP*EaCz-42g z2)c*QSoh}oI(YNOBv&liTY00FB%^8p*nTS>7-y|wu9Jd;X2WGmZxOxH37nEY>9>i0 z(5XKNgLA08uY0Jy_ux?bKp;l%O+UhZKaWpLRVcyKx4rdf@M}+e{LYSmh1!nZA2NoV zUDLgEo|{xhW>3<;(DJWp6CJ|q==#e$+zp4l8f{=jfabv?XX%otHcoiL7`@-4}6MGI4~3hFD53CUaJ7^M*ipmsgb}Wr4)9*Nvr6VVQ{xA znmDqC5KbRLba+y_zr^IfcFzwdAeU8)o8djn0!zne9m!JmqZ|4Ofe_sk$$$_af2h}v z1n~eGrsY=BA+S|svmt3d4d|Stgo^O;8IRaBm745clVtg&(au3tow)fw_N@Qfh2R4o z@#wZ>{`*DKu5evLr;tni;6MBqKii9~nOX)sVHEGK!fkah5xm$Sl3Y5y653@1dG97b zgF7KH>AEgqF|}W?g^QqLofLIAyQv_J6B+wvL}M=@fSSwQfG#40x+fLUcIFjUUSMQW z1H~|%v!qLm>_6i<6J}-!tw2>SmPM#q;U&lVa- z(vM5V8Dl`!OeU*nrgGTZB!6OP1)rLv*Uv2DgIy%0mYKe}t9n z3MRWczH;oKlP41?-7+b~*rkmad-uid!X$?mL0Vi1>pI{^>T#+I1H8qo+NE23rnj`p zX;i&~lq-zXz#(8Gd0{_MaryvqwYx(({OSg!w#Gapq7b&sBEyXeg|sZ-PtA?s)~%n~ zOLcu+IfI)Uhk6?UvaAHo_+B5ct21aDLdX0ByvdQ&{507`UlkL#9k3Wrg9 z;v+MWYGw&RE&`H)%GHq4%3=WICEl1x&b?_zwoB^jq5Fb!2T?>R2$WWEWw~m20V$~$ zj*O237?=)+g~o1|KA=2=hJpQ&?p6&ufi)T*hnI7JY$h8 zzuGF>gBZwU4^ybi1qrd?NjXDFCDj6HHYu`$0ThkQfMdjp$}EVqK{z;ICX4)p02waE zu6gd|OZmsS3d9*GwjgYl6GOKg%O0iMgOi#t1FJT|G&mb%#72l~#};QTuyf;ZcpIBl zeQ{1!spi-g?XnaChdZ!TGeRl2 zpA!}m#7HZh;lJ|-t>&|35DqRXfl9ur#2GLh+wfC1$HY~CZYkmHH(Q1$ z0-=Em_XQ<(6ryyHkbU3#JSvSh=Vll)>Oa`<=v=RA`GxZf11ypg?!f=Oou<3lq^rPs z>PK5D$10ZT+Q!c=`u!0+^C)vg!SkBp!$PNBNIfRrNiuk9NJYyS?M|56>d^0en%)c&vs1 zdYTVzB=F(-?5TDMRvv6>CE{kr)kZf{II0>GHCWboF~1qviBL3|^FM#> zkQf+S+I=fZf=RYnp%S~tJGI#L473`1=O+i%t5ao)QmPJyaYl#ph9(pI*V^5GaT`ix8)*N?XM1uZ^yU9Qwve-_J=GR34>nx3CTCNU+){8_?Mx~X*$@radoGFre3PnIRVl`6M~3%~eIAeC!4IC# zxKwpM9wm{3_7{ zwhIGkSDwP6>aErr{Daq4>?4)D|Gk@Cj^W|(#42A`v_y*u%$ap`u5?_nN?uBWalQV{ znj~W2Ph5j+q5sng)Ko$=k z@{Hc3jq}-SG+5<;@>UXGiFPvOdidA#?=E$OQy$flGS|x2+d+*^+|jvR#lq&rUpmKa zUrXlpbbO3=*txm&PMm<&%1-?auK3ev>H0W&9Pw0k&J7e zhy9iG=I{HR0=_)s>EE$x1Wl(T@-qpeIKD4nK|v9A6JTG@R8O@7qpvy#-&cpavn##O zqI%LrQjbyu)T(k(!pP&vLEEaVD`Bis!wzSQXHsJg?+8j)`gv(tYIOM}X@4$3U#^Ay z9W+!mmCs*(eX{v3C`$EpY~~n&7b)4jlSiGkv6IUBqt|#8u-(`ZwuZ@Mp5FBil#Go% zF7Q0*TYFqyIls{BJK=x*Q%C7@cO3t1|9-hwJ5_!(C#G^BN~6`ipYZjicqQf$b}0l} zA}=hPv4+Q$zTqN?SIm63Rx@g&3k;20lVIfMi(kRn)P!iEzXW<~LNS?3Gh&BpwWFty z(b>B=7-QwCTx`p{ve^J2Ua6Z>Y~{G6GOQKmdbgOOqly&$Jy|Fv^PI2hNIhHv?Q=}_ z57cMPC>(rh`CZYOZe4UzBPK5Tl7Tgv zmTKmREg9u`E>Ug!2kd)I+S8X>#5{YQa;px5CmnQ#W${wz0kRh3KZ8Fv55LN`o9Ran z4{H_{@pXkL@zF}sJs|#Zbw6chWjfDx1#?8U?LK>=Gl3#Kh zb+(soa0vC!5i+-;7e8$Im2?HJR3@$?g4xxIuDFV?@{2!+?=N9@+3D{HpK-udSo~%o zB<($Yq&iraSfbb(~Y47{&cpO7j+^C3T&#eV}>Nj07%l{AG zYGM}Dc>FD2hP%|DmFv2@Q+Kh)SDoF{`{GWps`yWj_@m)(IgK9EN?^l+$Cjk096UMR zucQSZ!-l%hXO|v|cD3M=jwvulgvu&CkFH}^xALy-N$U(M?q2ZDkd|lYcQtkF>>%2Q zxaAt7z~+bN#j-3*znyqF3&Wyx!sk2K**u$F{2!kBK6QfS4gANz1w#nmuy%3T9@IcH zXua7*0+pMxNrH~vkf^P+(>MHc>>Luianf0p>)JoN#;qj=R)205L2X_8iR{(9(Zmq= zcR5G!JYR~__`Tjvw*B9HbkyJ})CUC61a)=5=@FL@q!}sK$Bn~ilPjn2OqWRgSz}#U zP8LS!T7d%QZN7a?lA>&NG{^QXM?6h=G<#5*B;L?+wtq-t@4gp>Ei6!MSIj$#TmXUz#iWXqFh|p5k5Mz@MtCE}%ccOAMpCF7>l7x{}~BD%SX* ze}@h?E z9UNc?w$o5g?l?uemMcT9v892Kd%tLN{XTY7>pkG$1;}TOBX}uK5_?o@v_zVJ+cf66 z#{mHAS>Vw)$vta@=wXY2rLGe7tPlC38!A}IyOXKz<1pYgwDK%>BZ}PUcHM+T10Jyw z7_-`7t4IumK~c1rsN(}e!)`-|m(()_JwI<&&|Hj~vB9&2s8pp2;9=P6X?xyf?T@c1f=!Vq#YB}3efA0y$Lil>am^X%utz*b9Uc#>51RNwJoJFxUv6Y{mO%-# zpwu7)9e|7nQWSc59wZ|1TF#V6B41Fj!qFOBUI8U?Dul94;Jbm%2Ps06rec^Nsu}uB2yF&0p1STO zmeyIY;yZL5!C6tS9Ev1m$B2!?o61d<6h@ifmVXfv9(7}^rh9YU7UqL1=f@loz%zhV zDyXIdi|b$)h<=6(Nx5Vg>PNf#`Z-lboYzN*>v`1AWZ)=-JMQLuiHJY_qBg;_ON994`C7hAf6_6$-nW-+BT>oKLyWl#qq{v zgtsZ+ZPN!r=ZPK{BORCe@tKmKhx+~gV)K0Fgw_U{Uz_xyYYRp^SUE8yepBTkEzf>cQEY&U|+S_O!_c3fewAZ@<0Q zGEbD3CMCMw;$_?4_#Q;#gjRj>rwAU7tAYK}Yu@;(T0Bp*FP-qQROlYpkQ;QKc%7)PKY6m?`^%2b zf0r<^(Ay?}!&%Uw6;nkx;aH*iSQLtM%Mt)YIMTL$0BXoVWT^C8F9nPqA|f9|aBv>e z8nIvT#9cJQ$6RiCoM~`YY_NpAn-WF`9+3;e4W5Rq*i$jY8Y)ScmR(vjbruFZ48FVk zKUPBs1?V}#Uz)+$Gu07>B34M)X1rGP1;Y%Lz!)IIz<2B zSqK&l(N_HqN@NZ6U1#r{JDBaJ`0K;Opdo zH|OJn8w9p`Mv5i^=cK9 zx1%rnvd17&95NoWr9^3f6Dk#?>o8;@9&!lVM^zuxdP>2KDU>0?+F>%xFK^+N*3QL? z4|~--DCy~re{FN<5&0Rix`pp0#cgcKP~r!(C144f6M!&ALCSXXRQqN-jf#u77b;v% zTAkv)BCHg=dR?LmBwSO_S*?cSQj!tWs)`*FAqX+cKf|0L>Kv=P#oY2)d?3qW*Xj%Pm)ejzMtjCEPTe9Nut!`rmL(8A@H4#ECj0pq&qjd@s%IR72pM8sFLhpft z0SOK%CBadDIC6O(#;j-!z|~fhXt98r<;+pFj7j$Zlqw`285(2Z8Fir9KLiWTkx!_A> zI)uaNSi17}yrOLmio%3F*&&JmP%4?JVi%KXdt%9m*YaDF)F6Km1kdkTrlwd!j%fel zmZ7yA=L$T)xjfYvVo`PTynG>O+4OBIT1ohBONTKuyyXo<2JdeQp^5n=HHQ&l5Q$8@ zz}R%m=rFRv~Uh((M=*2`BQJ1E#q(GT!4OvDp489E9i<2c!vCFyp|c z11B)A!S?#wjiHGEbpNYvD8d3t0dTN4@l;jqKbJfqf89>$BzCk5L`4>$ImS$4-xmJf zhG+wX^#)Mz^!bZU!UHVCFCqW{)O;Q!AcB{tMhICCyju$15cB;rVs3fxJpg(T(Vrvs zNn8_Jg$uX5Jiqr6u|^{fnPB}8m}7QaxCsFJs^t@Uo6fTl|R zurojj0AOKpU^NBk`c`x%k*BS1U#_fsR6f@d z{x@2aIJFP~+lUdsFfABB(0|kii#NRmxD@vj5T6vBBEd97 zsWgLy>lt+}PV$~;W&Pl8=p4-!ausjE2_T&|!S(Td-|^XB#bq)7J8^1y7JlKKDc5oR zNuX|aBtYhe|MVsH1xG7(;f?EK6LW#Hf&g)EwC8shk9QOQ+V?sRK>&^LqX2c%IG=H1 z{$z0q>y!17G`BOIH*&l$&m-&aOxV=)`V+k49mk59|EwRl5PUQ-)!^1HPu4`*z3ZBi z0!#DTcMmR+jeq72kIvJ2q0M|<5o)Vmg;)q%Ik_g4O9;+7Lu>{JQ6ke75=;oa=?^Sd z-$p(L2bKluOylxiSYt~IyCF2smUt9i1ap&V;`67!c~Y6W@Nz%kV}xdZXD;98&GGG8U$LT zL>OQ-LqbE{MlA?C)mn}Xx~##bcK#i*xKCdXXD-DO2bK&7hYw<%W}>0dVnG{hOB6EJ ztFiD*Z$FIH*O&SrXD^(#98C;3EFD=c5$e)#D{_Ss41x|VT!AQv$W?YDply;b zRp__fu7ZZukN=i^bNrZA2vq_Uyi)>QRrk}~Ut`r8e^=9hx&NBZBCHUb8=@ZCm*Kjq zuIj9TP6KnNw1>49Zg4r*oz@|q-X=(( z=xqmt)4qAAzR`FOH$+cONAQcWpK#ABg_t=da(*kS+?e9)@{r1l((cCFmYhl5NoZ&zPg zwU74@uZp3mh()A}dwS+^PM{@2l#tPGZS@;`<7zhP)M!4p0aL9uNO5T0Un4{PB;X1xg23Z_N)9c^_-D3JyPI}!!Du8Bdaf5+jN%gVf~uw3C}{* zq?SC3#S_QC>vTUnokmKy%iTFVEvLrCY3iB_y0{vOj<6v^w|GN0V~4KS#0Do~drJ3j z&0jOG@mw#nuRfb89u#w#SU^*0?o67icN+|Lf*7HDAH6`Y@ap!ZZNOJ%$Hm8tjGlbU zfFEVVy?yw4klXT~FPF{Y@@PK$%+wIC?*%NsYT9X;&HVY_XnRjKz{BFRcGJFmQz`@g zkX^U6(t1L3cdh%Bw|}%PHEd1kYJtLCc&MA6&}*zmoMS#ux;Xo;S)iOlt8Ih!r;snV z5$)I52MeyWfANeeg`~Q>cc_5vdC?;Ry1R~|oHkqSsx&6t+igF)vO6;#_y(yXVbblB zOQvR>YPV~AV9E35{$Se}}mF}kWQsNV~c4&v; zu;-0qwOey-T4CR5Ne&eBfP&s zD?V}8q^cx9-l^@D63ZnikVHyf-g&{=MA!}KDq*6zF2cbtOh%jPL8#LdBfwrZzH z&$|b-TCabuLT=?@)7MX&f?2_Rh;&5iz}f}p*tN=slP=l!J+6Qk;h-D(%aC|w=&lZ2 z(~4r$+_nNYgO&5|-9(vS4eCHXn(_Pz&?8+R5y%D7oo(Fwt8)l!D@qd@-BYQ&podEQ zl|lZ%G{zbbNP;_TZ-i#rn?-zAK6j>exnKb@)5;KFBTTrE=%VGcp)N=3a2MsIq`OX5 zsi!x22jwiuyPH>%OKr_86*L6xnH=SmUh0oNMYS1MW&t!=$ z0$Ec{4P`(sp3W3s2)wE+Fo_nWY${!FG3d0q`X^SHa<=5b&8W*Z>Lw}fk;1sd#yz83 zKIxW-{eL*u+EK9jq!Ry!^QAWP|Bc zJJ{imcgKPESzUOdN6oCqv#79fLr<(~xi4;QawEBM1t)(D1$6TMc>>|rPBAq!JfL5< zZ+u{cqBzZp;y+OEO?gmsnFli=B!$2Re7H9eoy^iK+P;Y!?(PjSsu-Ck9!<5P^g0oD z3!$9XcU}IgJAMOw{`{5F9o;$nmnaV#taoTP1s z&W2wMO=j7l#h(!S6;At+(mg`beRpT`n?;hB3~@6vBtbO>pF@{rZ0|OOMbF<|Kc~f- zNnC@P9eg{JP?+q{*Go~MecN2C3!bM$=`Sw`?yPN~#i1v<(3Y|4;X{AbgxE!LHI3re zG=&NH-|_&?rqUGg+In^GYG8Qmy9W^(t!8)=W`3b1&T%VFLJ!TG+Gg8V@4=$TQsB5j zWe`mfgH)jG`b&RP*2;b~ zDw)A-J5(Vckh&FyMJqL;fvmlM3*qJYMj>}HCqz3;T!9XBB}BPK*(5)SH|{X9&^W9i zxMsJg2CLYRe}(idUl-ML#olmPu_Re%p;Pspv4EKRH*ghc#{#8gOV0v>&Q&eOb15sD zy-tB`5aK9bS*fTESXJo&iV}BHAptpM62trXSougGX+`Pqz_LJ0N+guiWn@HF;dh;- zR*ZAjbvBWYk6-T(w)d;qgK#k!%epi&+Imo&eZMC^C#2gmd zH9uoNj$~R77M+Xe_duEXFV;ium~s9u+jG=NPKn$&H#-G+FpCU(*Rc+S85ceRr{2W( zpiD8T+KaS*P$`^7<{?9b$Ur9W9MDrStsw1LohpUf6-;MZp#XZmNzK&MvK7nxBuc(< zmJ$j4!KOTg#fR=K3VfyQK(_?)1$YH0jK_MDV28rppe9Y#qCgz?r_m_IHhrZ8u!J0- zTA10u406ety^NM>x}gl|^|ogWzt#G$1#VI~ieEM*YRQQdiX(*mPj^^JB59(T_zjh7 zKjb@1Ex)iOu!y;-Bj(2_^$`ZGP3z$!!?ofR$LVue4C=XvEI?!)QiH9oya+k-)qbi6 z34c@FpE>y%7B_>P>(G>}VIe|5U8DlxDv5(a3NwzO{%K0p$*SWm#QDdkSBhla4~o`8 zX)8w&v8F&@)2)VHj-Ap$WPM{eUDbk%O?!$Q3a~K|#$4;xxsX=l2kD0)5Y4m;6Awz( z$2LY@{D2w3h|R}AjRe9*+xot?2o=-i?O5Ay=6Jn{MSLbKuzu%|>lm@~HJ8UqPzJAP z>42y=J;uCjAY@%8>?H_en5w=-5K42&M!n$d?Cxk$pV7}|faLER+aQJf_7+d6FfQR% z43-7ngC)d~u*O%y+^~Mu*j~TQU*&wd{%m2HGlxUz=7=#$6sMZnfFy`PRb$Cn1qAYFxa&Gb5C)6 zk~IeT6+Hh+H~NLX4Yv|f1p-rv7{k>-QF|T68YD?+0-?D*&WnY+MQekg!_(xywInY3 z2Bgh%%$$)1(nCf}2mz(TggqZ6foGD!MH%EFrxrupz$(KWr{76PMNTyCLPeB3O;5I| zr3UI0QGa}I|V^lg0ite^9Em*?aB;TtB0jByt!(px~WrRO5yT2PpNM-?GhXf1#Zx}gvaRvDHG5aNkLPYv#uU@)n2b71N{ z*y_1*e)&hRU7!Euj{--u%#N_U+{&U}8vcIdz;n6S9Y1BAEb{VqA0GRmMD~(CDyOG} z%;a9OwsczZO@3x+f16#KhtBQS@bULi`$pGwb7n5SF9$VS4iA&!X^4jEu?3-^01_OO zK@iX!l_^6u$Jv$`e1CTD`#0ROb#DHLN#Tm_jFe^&9TooZH#gu)A2cG`MZ?*MUX16y ze*o#*$;!~m>J0bQKkVk4)1(0?Bfa7Y3OYC84oC)Lkm4IcK((hxb7Yvr@Vtn}d;YambybeGWQz{sV-$$h)SNS237w3IW0C*a7P%1DBz z)_qoTtWFAM+moE`4;Jh^o3!^jL7k;ezg3LUVj2MO(*2!W(A?}=42 z*Y33I3*eheORJ5Qc;j+Z4rFUET0@`6^Cmm&# zpew;wpw&SLJZdHr?znS5`SZ_=HS)yq2Z;Y$Qvxr)g`r=k7~lYgH>&woE|eeF-1bKTuJ}F zHqf$E%;&$pQrE#M#Fdy*^s%qP*X#Xv^ui!!G1#riVR5VsKE`oQbo#it9$rTY($bZN ztBYrc?~rAS?U}r-Uo^BO&B@XG5--2l@*l(q-<-z8HvBIhLqAJ54SzdJj=|g+xp8Cf zn8XSp1RMz@7mfg^Y(?G72fY*79;~;hT`FKcFLQy3VddkqbOt-O;ZZ=Ph#=R0lK8qp zdNJFf;gDn#oM_AJ(jvC!P?zOqk8qs);qP$sc6r=-Z{4auk6BSxXS~)k6xb&QKqWGO zIn>)+n?BCGhG!Jtai(Mj%n^!c&%cu5^(;M-1#D55cx|#*ly8@ff1S4CRL=sd99)Av zjzOF;EUX6=@S!;n0|o3XnMqwu$Q|G0OTNRt_p|fZ)qnlRznd4wAnO-MB!_LP zLu`oxC5>f4KQoZQvT5JX*7*7L|E}(rPFJwl#ybZ`@~e-qj%rnqmRgaQxfp9YCuHt=PxUyK(}~kj=LY$hAE< zD957E4ia8txq&ds@RoO{nVVddv&r=|aRk6EpysU5WhCBMDfdXGABsXU?4{4(gY0YR zlm_IX%zzCdAc{y+CZ=jU@fexx9qZwOa2@>VV_1T+zK_l6u?U}Hj3 z7N=P1PnWs$E}VaTfmNlrI$mezz=N%?OC1PWEeorBMp71itnB!$Y?ux7`t4=^9Pqum zCG4=fpRkq|J&qJL2!}(&2U!$XNeH(R5HFE91TLzqTLx1I$CVI7Ax$glR_E(b z4@Ztu2(+-`E`~#zV3DOJT1W;V!@d8h?Ksvkuy+M3hB6#<&J4xT96?o(enLVZXODwy z`{;$%vy&hsI!khFZe^czK#@dAk&F!}ILO0eJezeF@3$e@u>}HXr-q7!@S8XiG{0rLywq z+LX-5oY7?rYpy4S)GOyof05#&bITMIfWt^9c~GX%0c0TOG5|D0 z0A^4CNe#9K4+Ma;UpHR~UkTU=4!{6mgzRzy4G;lXGqWxiWM9y7YB$l6{WdzPZ0p%NP=Uq#d4DZPE zbsn<1Zt#8aFTQe06@CkQ^Zv})!n$Afxc>IIZ!@nbH{V_v6XwGBy}Y-ju6Uv=8oj4*YdQ~fy?N@F-&_aPS(DjTg{YY)eR(Y#_e z1vQ}qg>{BL4LwQ3K6FBz$v>3MS+0hlxfhlVzPR{_D72IkrSDl2;Y$L5-Z8220%|`U z@#`9b@^QK`i$%yu;#ThFMC)hVG;xD1>O#Y45YHKarfYNog)=y9q3Ll1cgf=~Q$jEW z{N^79e%E?c(u6z^k>u$P;|;V<^p7&=#2KmBLvVWY~y^PX}!fR<>D zNi$mSQxnH&^=m`TMPF>unHE0dzG0cy)kB|JfsOn1%seZaUeP~Yu}q~jkOt|&)Br~M zjlb0FeN{6tV|3KSL{x*posm1{%~ox6=7p($?X`hi=A}uDMgY#f&{KzY31+$$ntGWY zErgg~4Q@!yj%cC2rRz%tEAnPY@V^a?WD5$-w5gDeipo?s3mM17OXUCWXXKenrOE|v zx7Lrdi<2GEpEc6;B~$rWzg(U}Ek)A@m2D5)hZd(1cC(KGwqDUv!W2bkH^OgIz3vaD zd3|+-#Ks2ff0>1c-igiJnZvNEU1Z8Xo$sX1>J0<*(ZzW=7{vp;Uic>#MS*1EnX%Q^ z2JR2*o%YJxo$yzx#|(lpnayR1qs*>dYzI`fQ_rF+c{;06U0%Jr6}f)ia8s)AJsB!Z zAjsXURD4nZ$*BhwN6|1loMk%@GA|T)$+y$1|A@DA0D{OR7j>RnT>e+E1A^W_Jrt9r&%lF-Z) zoQ$>itXI^%rvKa=e_Z_jB|V~r5YMN0_Xl(*SFU< z4s~dcSYa{gyjl+-r%V6!H#frJL@`pt2i~3KTH3ixf0Z*>m;a0H=&3Zae5H?cvK{v0 zUKyn)8Yss?BNQ>FTDEqg9By%%(osgopO?_v*|+BLd2u?o4)rlNy6-soZrCqy{AUgP zgl$%?NSlfh+MG;E(9?6kWAyTQHS7G?uZ&d!BfnpKKaMYqpggkI{8KK}9_I~%Ba4O7 z--`>>&H&RxGQX?alg<|@{fVF?AgFR`HMvJR@*Jz}iNQNc^p3V73Hv?8@1MQ5I6Pgyi=TEDtDlc7LFG)Vx&=aX8WN{q5v=E=4pB2cWq z0#W8sHoTOi&1K%*%mf)6B60%6Op^&fZ7;OJYFryL*af`&os4D3LbN-f%4#DhJ=sT4 zKxQp)N}-w7N>Aj-dGcSGA9!bC8B=^)qW>Ma@2&YCf$Dt3^EWs9?>wt1;E%Z2Hdtgp z6D9F+<5CFJRyDmRW(Hh%psm`-UGOCs#RreOiX?G^Ir0CP-g`GmW#06;VfGI;;2po? zs!CiFn(?;_Po%QvU+JeK8Fmu<<8#?H^f<;{KQ82lN9W@zf*OwNP)|XHCX8kLr|8=Y zUSWS+=oo$3#>9N5GZJRuQs?wB;|7{*o$>9b%E|f0<1u68r2fw@@P)HU za4xt%2_kvjhV_sh;u;z2FWqDMYnuMrWSbcm`(<^@HBDJ3q5n z?hdo~zAzS{FLh|9Qm1PMrO4AS|0huwzFbycs+j2XagRSqPy>@=&*f32N3zv@a>K?w z3a^k)8&^AhypG3Mg6{6HtIJ{Bgl26dG$)&=B%~YL;LXI{NVq!VZu7lwlBO1G;5DX@jw4n)4h~s*+)Y z1PGV7LHB5s5z#+#?f{HUnI*T5-PoY6Nj*tRoJ$zfEc!4hoTaFZS&E3mk%|ZSY;ux0 zv*xpR7TANmm9sL+nTE%+A|T726gB8xhjSGX@FV07GuWiO)+_(KXNNHSt(#~!1a$U= zoJeLlj-v5%QV{?@P3{48ojH-oe8$`;Ukh4zYB7R3I9pJ0Uoknk|R}Iq(7;cww^$1&V?`!d0Cc;iw z9E;TbqSUMl4M}Hdda34x zvnldTY8AU|BI%l)qCDwI1`xYP%X`OO*^*Ru$c{D9E5oA|4SHg%`~=n%v||&{GI!5y ziGPKIlb{X@!-!(uV*j1tj=L6nmPW%8WhambTMItSX5hD)+IxAyR}7GBTfr*d9c%pU zE8HxeOw6krvzb0HKZ`DTNQSZUs3y{Yy*>U4JSc`=u7Q1)59a`>XkHt4P?oZZcRDE!T zuRZDd{YG4YGeub$&l)z^4w7)f6kS^jZY3;lu+1EES%U=-L zyDb}BAx&2tZ)M{_UfCa3LA!1%bj)J-5CCl&{Mfm*Z2fyF3?*e8o*{!T;~XX&Uw`f3 zD83D*=4XJI6tJ^H{u7)sNXCEPuBIotTN~h8FWX-?%Swq^BUlZl z=8)4R3p}KuE1phCrdZ1y=b;d0R)t53C9cRP5+jR`j$abfZ)0^v5dZgVnt;3 zGj%R|5}UsRcZqjqFSE9=ZydiuY@V0*SZU8x=y4r66|lN(EtZx2J{W%E0(kA1Y|+J~ zWCf5VDt&xKnM-%G#zjS37qDW|XMmO_wZ36(Tcv^WpDlK1IXc_zwux8{%jOA^|_;L^}5T_qbTC=$hYGj?ykW#5tjpmH90jf z`kZ=K%8FZ-fVa=1VXUj+%YbTSm?gMj5bAJ^{BloWGC9s~heIBZ7fj%m39RUwvTRt) zwq?)7(N^@LyL!Z@_CiL#R9R?SZLsL#Z3Y(4N>*qhO~}Wbv7fcXh3@VqzbY_YJM>O~ zqq#B)6vle&HS@0n2JspJ#9UVRp(HxcQPvnZ6;F>wJH$X0w5w+_$+uZCRU8zDEEH`> z=Hn^GQgrJN{?o>+&N;ugx-o^yZDY_9W)B<6OfxonBeXjBI3v67{<&M#Xtzfvh}dYE zlbTudXF*&4-Q}kQZCFtm1A1c%A4yd7`{*yeb8U=507gDwVw<~j{3Wdm*jfVN0N-rXC%U_AV)guLcfGbxVqd4ITAGvqw)|D;jvz zs71ibE9N9EMp`Y7#*-n`K5DRfXdf7i(U_(-4si$UD_KWc+j*9&EQ_bn4cWWPHceWg zsK?%qzqHjSCGf>2(qaolX)u?Wpo=QgZ=1yQIjy+t-?V|5>$Q9EUg=PQx02)ZFN3p9 zEp+-w+w2g~m7a9t>VyzaY};Jb=WfYl-3OoMdsVE70{C6Fc|KMx?sn{TOHYnnqp!QY z73MI5fd@jqu*~YdWr>5CMp%*EMiYC25gN3GmfjFu?YYU|=`#$Lr{a`@@yL@-*VIW+ z?-V=OCZ>9l0NN68oc4n@9a$!XtXFNy@gwR`g!%=WS@YYVbOwTbZ-KP|V$MylJsA^V zG$yH$TWI3)myXWXZd5Gyfc8--;aQ?%5m zM0h*_=K%nn2mzS4&1S?Y#(O!VR4tomKvPJB5JM#w=Y;A6L`f}YDoE3Z@e@(AYbSLP(C4 zhI=vPVx7dq<-KJ#N^O?UU6pDMuu{`MhM}02OU@7;ZViMgu^=Z>=CMO0389t}PiKK>C6FU=4a8^W{{{jNX6m}*a36}E zjb{NU(#DA$_bgR3j;x+InV??gLGrI_-UrNiFW|*w&H(p8$av&qlTSASf7=bT`=hM; zh-rvcC~I=ey_7+Ni$ zVPKfH97*Lxd8?Z*STYE;N53napn zXD|l=F+>3o{-G;>y~KCl{>yeHHt;tb>uMVEMbr$04jL*#7>O|)d@?=2IAORI?yGW@ z@A&crOr=;GIgoQG)sO}O9(gbZaV@!x`@oQ6p%Za#<6I7@%0sv|5J-^>OMr$M$*BP8 zXy38P5#A9d^hVBroLD3(pN!=l4Po2b_>d-~wf#d)@_VinOmHOS3L``Y$+1E!ouz7q z34ngd14B1abJu=m3^T3mKNXtrlDPhtMUz8O#Gi{=;2R!%NWF?1DFq1X#{x{408#tt z@K3#FBULwcX6q6P87&4%C_RQ*+~1(eNjaP#0y=h>pJnXaci*L@k&p|Bgzubk``;l? zOKBy_}eiex(@@$#YwP z!0iQc|2IM`5HO*$dgT$orJ#fv(RL3EuR#$^zx%?$teL#H=D~5^(s%>(Kf*YJ#+reQ zKzIy*AxS(uNX^<@8ylpS{@WP(Q9D2aq%dh#SPz4z5Ngq}YUN^F3Wj@k?lKPZ81@rB zu*~6rs3|WaR^cW9bbhQO3Bx`GxZGvT@$vuFyzKYtBUdT}T<>LU&`&Mfc*7}(00&Lp z8+FU{>Tnh!z(JEY!(LfdI9-E?aFFB;T)kJ6WwlpV@wUB=)9!JH0G|n}yY2HOnaT@m0Xx_!gd(ch*$7r$k z0}>wg1($oKcif$2`FWDl$^32YBiY=Liq+6KDMT3$71(3}7zr%uL)7qEET`A)m%nKM z_Ra$Y1Th6bNkrjLBel>gjHXl~uj4VYU-Y2Di3!{aq^BvT;#vz78Y&5wc|=C%>HK%E z7HSdF3ht z2{11vBski8l|dQ;lhhQPnJ3F8b5!EIq#{@z>t$$1Nhc6i?=%=ly<$zQZ3L)Nx}i^1 z?(TzbXVrZh627pP2Ol@0S+kvSP_KB3hKjNw6NS-tkzJnZ{JadBkXW2BO9OQWexHU2jvd%~--dJapaq8rN`DAgYmY-a$^te1kfP*7%eEeW(g#A*j zx6sE8PodUCs;~)rXh9kb_`4qO#%?qPgKE;|jaJPex~$5Km=P-=VjO@do;fr}6YA-U zIa!^-vB5)upc?t*H9-22B#=MHYMA;MP3-A7;-{x;v5R4%6OcjQVr$YDjf(7NU|#4BUMt2zO}>p zeX$;7nDcNaBN77$fHIh!3T{@0Aw7W$O*%0BSpIF(g0pdKvW^616@&{$rcP_UR0_W|K&)9-c;w?p z$KQ`2f?)}P0)>NA&K%qtIkvz*g33uUzBIq@?HgpOjY=wI9-IWQz?6j(U`Fh~_~}01`u#Mr$=TAY_FS4~eG`?@2GO^se=V?S;X#JUj`1l<*$%n8O~f zB)Fw}PT*uaQp8qX)f?X1KL(K2(%L`IAjTsEd^JqfkD9u>IJP+b*< zm$~`W0eym@k}I$R0*<*-8sn5k5e95dd$lTeJwnT(_KeH{bedOb=$5Fi%1p*)vHibt}qL!od2Oh#5w5n|ha7 zCcQrul&KTTS_Y8R;)d^t-f9U!@ejh%9!$wRAXuM)tC&P6eQ!u2iL`J+QB;c1xr0XG4__waaRhS$Baoas{37cBnp>nY zAT82RInh{raC0uO^JaSgv~cwDMWg@KbAsEc-s&-U!>;YqcU-#C5p^dK1C%vcX4Kwq z000mW0{{d7Lp1~@002*9R@DoE`qlfU%$&AK1Cb!>QjY~__cmcvlDj00Y9MC%nlpyfES3ZmkTrd=5o4aV&1E7 zr&w&?Pl-_5^%5nC%%yyBLTuPHoZCQdJI!w+$WEuzf@)Z&P9+nstkb7sV4>CrSQJzmxBr^1tTiy3G8!;-Ba{K;AmFrQU z#*2|ZW8~C$GhW;{K29Tsx*Pl#LpvOde4NhnG;g@^fV3A^D=!u3Hr1!spkD2BEz`(R zRo}Vv-%94?luY(t4qtQ3YC zy^>pvOuvyw6@%>ATcHHs;YD6xKgeVP-G<&=!p!RVv~QM?6uKkN#*gI5fwt<20ixC@ z;nK={zL3(P()MIi~UiKsq87*9r{)M(z-#nE0Gm1P&|A3+$S? z;V8dM#>Cv;(%%2#ErEEIr!t;H_P)4lOrdp2t*&{*B+f$;qlzRjMUf^Eq4@}6`I=o+ z@S^(VL9XI-1=EX!sac_FY!)zPOGkj`K&dvQ5r|UMvIL9%G?kz)al3+PMZ%V@JN?p@ z$N&a0K*`z0|g5Ner#3I%4)AQ8ZEa#mubI((@V zY^{mtbiwc?hgnFtkhNflbd;+#(xt^}G^{;}K$3|v6f%9eHH$7ZyC7*1!h)?uO6kkX zfox>FDHw@%0>u%!3JC7{P+H$GU*MO_q$(~KFfB+}c(VMM@m62H3(tJA_5LXY5^PI* zJnYcjT1}iJatp#IoknRhJLKgnJDqcn93QVQ?k_y>cTdij#zElZ;^JUq;@T9CR%*vRy~!s{ zYfaL@JKF$FuuXvwmkSDs#Hg%URUYu=l8~#7H%KT1eGJ=4;Pd^T09zZDJX=voA z?}aSd=`F3~Ix;wAQGG|cE;AMmS94@M((xd|%{goEa5XVhb;0D?Xj$ z{ayXdWZn}CjQM*QAyh)lNT~@2GwM<489x|Iug!-a4IlTv-+bNO!%`}?-=sM539@33 z=7T@*MPbkWgkvM$9GbZKM1Sy6_1Ug1X>WZgb$z+lHsucMFz=3Iw4Npi8zQq$^md+Z zED@5`>1P7l10SRV-b9!TbkB2F+1om*fS(f2zzqPAk%(e`mS|Prc$TUov3|F5FF%s>nG%uU_CB15O%ga_N1*y zm{R+fN~Qe4+k7$fUhEB4^SZz>i0DeCOMxUyAQ_#rDLo)}Fv%rs2qTqItJmy!hjWfl z&q0(_XCe{LBT5XgvZYu*s5w`kIvQmh{MTDGDRmd%L?o4~c2x+0U}00VEKGIvN?;MOa zDMnsR5>M7ayYTBzscdqmY;Ew(QDh2o7FZuA-^o(sW#_bvdu^$;S<@0ERhFw<2Li1; zs>hl)#d@!>FVewl?9&m1v2cDSNPVv)O!YXtxL^JAK1o(iJ0?^JQ1NXOhjzs;J2v(4`I67)B&aBM@hL}_Apd@iavU;R*1_1~238ioD|!l9gMLMZ%l6lp=*RMA zvG0RilI#P5iPfURkY4s=)d%jiUqAH!rw>5e6-MZoX|n}ZG;@;t+QK}crf#`T>>>&q z@Lw*kuCem*=e_0~=NCA3DD68++LkQ$xK$S6L&R${66i!CV+&a~C3f>bai;uXf|@g+ zslB59#2$N5Nn|w#rZqEll4%||8*cuxCclpvYicU>$Xvr33Qd|c>(#mpIOSaMe&7GKa2(siabmhX{RCdFU_Bm0k*7fHYu;J)I z^orJIv#5nV10*0d!=!NWB=O`&edE=-=~EV#z-OOXc~PiV%gi3K6``hsHbHW{+DLg6 zWTpE=(ohE+-DNUzc5+`XOJZv)43MGbq}rv!Z2C-z+Jk3i63!7tZP%UbWKHT5e=Lg@ z#|(#o#n;px1iaC7J80Lmx2z2F2H>7aV_mNO9kOiAe-{Wk_iRNPH07~xDU~jyl4RbG;wx3U{WWZPViT`mZrkR?dVwC4d) z4+PZOivifml=ti!G~){nSJZ8xSw)5TK<-iSfV3|MoSO`XDQJLPP}&?Y|00+TvN=P4 zmZm#&07-7N>_VtfJZ7_YtWlnv7RY?5sf86=&_!b0=nN7>_dem|!~OPkvJi6TAkuZy zDRVU+ zHOTQZPV;A!+7Hiybp6%bVNk3 zDKONZMMV45GJ`5yd@ztzTU4smh9VmQ;{>jYX1qYP0HYezs#xwHTsr+}o22I#=+A$? zpSN9^+2xxZ+iF!^VROse?>`k+0yq@HXoMp*!w1~pOW{-ULF{96|F-HcK2F4q|ZtWI?%HSwxto( zz%-if`C&CkA!5(nfe3nuyxN()nZRv#zV(jl@3qg(d}+dZPly{_qqP~&`<(aWZj+%v z4yf^;bTDkhloXHsD_KCvLF#!Ihku2MN{h^!{|m?AWcOynR^hcCu8~cu5_#DLr}0IJ z73N#S^U|9eRBBoj{$&Hs<_1OS8+u;)?R^w=jq&_{{lOX1N2&*`^eNH^B-Xf6o? zQ734qDLf9G>8GV{0K!zimk07$M0wC!7LAMmoDY>lOsXJgtt@<<%SW6N-1`N%k5RsV z9~eD->sD+_2B%w1m6+Y=DT3B**Flp<7(E~8t}fYHY|kz4pX(`G zu4XJ)Uif^jC;%MuMk##K{SJO}ZT3X;RF~CV!MA7801PuJupC>QPfYS(B7ucAHXPg5 zn_nMS!WDKk0J~fY0mqrQy}KJyh)uqeG`mRGIa<1ztz-7g6abFdPa_M_=55Dx3RchO z>=MnZp=b8m1tWlEJ_RPu=58YO&H66=tB@^-`>PD}`8!7wtJae&gg#U&0^z}mQdQzR z&x>F!sNa2xgZ%&AYZXts@UCUt8s@jb#S7)#CaYA8pER;r{W{fwfg&L=U-mgka<<`` zH0jw8X%DlmwJj%n&?SFCVzsc);vs6NK$Lb!RwlMX)YUb+35=Oo?%GExnqb(t^0235 z4Utm@Kq@V)_mE^9khfKqUhr)5AR~MRct|y>qA{0G!Y)J}a12)L_-oVfRZn@Rn&3^p zOl3=5J3g1#`D)nnwCuY52LD9Rs3rZK(41gN+uc&3f~u{+)d$}Jj+o~iruTDW8-;J_ zz@x4O1^UJY?YH;wyE06tpF5zT7~8HR+I!;o%{i5xRPLyt+~nA&voIwP#V)^ z%^YlWukulmkTk=zvBCXVUwA@*14r}g7>mI9&aL7Z0PRPc1VyODN$OCwunkw+rkKVS zJxuw0ZQp@EIX(I83Gz{mpVTIRvq)BS>URy7%KI`3>$Q*t=@}vU27uzIT}{fuh_-CI zw@2hc?$XQAoQ){E-taY050k`|R-|n{nvA2aPMTC*A*JvH4tusGvfKgSaV1qC?ZMua zvz~_Oe?hHIT2RW=#8&VaC5|yUXg7`6+e-yX3}-H_qNQV@nQ3jWQ9y=QfR2>}lGKIQ zDi%?lURU<2z8153BD{wT(pRL~08qNJ*OeMDF02CEnf?zetv26boLy&&X}T~hM~Iaa zNF3r)L8`I$O@w7#&RM~EHf$>zi%Yj;0bp?@$tG7=fr5TFqUUDYuHlMh76TA`eN_P< zbtNny)9(3PgI1ST?_ufa0s9>pci0sGkN}F4B#!@U($;b6vSbrg1j%Z*>H5(glBce3 z1iPrkO6t?h6t0pjp+JNgb}b47_&MfS!k`HL4EQdF)ou zmZ37x#t|Sfg4mF)%`RA$G?O6>@~m@*9|NmoV^^wl5&)^ARzcDQ@7~Dh+e;U)fLOdg zUB#P?Xi{1LrH=YosMDKYOgSu{WA+w=Ip`H4RmMiJK=%9cur63*W<{}@03Qh3V9A27 zC1m0mYs}b=AX+H_?1sPI=-*v0yW_Sadk0?Tc8t33-nj2mt$+;Y*WCoCy5mTl{o-no zoU4lizc4SN4T8ION|rr3m5)zhYIk_TRxnO5*OY^f{p*sjWDqnK+`dqN~>J0S7Y$@*X9`K|`ekrbJZ8^q#|4(Sl#5!Xf6#OzkR4tk4 zv#_PHx@*ybT=nAY?0(>WX5r$^ym%}O2M@Ia3Ys&7AkVX01^8tzzVlZW5x%)CKn$${ zF*HF!-1>h*0G36GNE5dQ1vLT#$0^4Y#8M4%3ZWFq#*M0$Stx3)M8r;*z%vZ?7)O>y zx{wi3PGF66mc}U3Gj6n$fP@GTB(@P~rAkOqQ*kG^r1PZ`Hnywk^`XxKvzb|M_ZS<0 z)47fmd-_m_fml#|LQDWiR2~0)Mjj$McwWC1Jmq;a;9zq8&n=m}g_ipcHfk4p6 zu7PSc!pcq%MjAQVK_N!ZuoZqZUH8B#ih<5!fCL^hyTu63`8;^9b_%GdLxQe%G{z7_ zKx05w0kE1-97TDez^LvOOe;koybCrdTJBhGLl6W^DGAmYxZoS5(+*9QLMV*4PDH(7 zL*Y@sAi+{8vDQFnAW+HykZ>3Tq`V!@gb)8fxuVFTG_Yu+(9~!MP)WHaNB}uhCf%Jw z2NzbsGy2^R#86i7eFKS$kg0}}BQ5vJ3Qvi{pJze=mZClLV-6Kz;u;yIa{=Iv1Q>ui zxFJ1E;tUrRlQxc=IMg17`!0dKpfLwQggTvNaO^>jN-P0$gho;g;J(gSus4w|KOVHw zlr_Q2(#fJr#PQAjV&1T|R8W=bQr zaIj3KAEpi70(M~pqm0QE2pFZIBkmQ_skD??8B}wKoLoJ`@xRf&44;5vI3TtP?I)Cs zgpN*=;tbSc>R>k>Ls#fiLKuW;ypVIs#AlcwG4cYb^-$;lMI?&uT8=OkS9t4P9Z|f! z9yL9P^dEA2{oS?4^{*jm?7hUJ&^5wV1D#wE(LzEgPiI&H5Y+q+V}N;ZwT$3Vfmu>} zt+G%}g_MGb^ejxe53s{wLPeWV9u6fEsh&Ii;y@r|1&r~AZ0U*MgbNj7;rPi=&0l2HN8Hdx86Ot z`aL+iBN~GhP7(lsA*1r1E1Yu~@K7T<_plDR?G51Pyk_EKjQ3M%vWh7Ih-w*^11D5k zfw0|ER+t42eC&QSEEn8f@ZtG&MfA-VGmrOFAtM;sT=}3)#+juYN_d#z2tw2*4H78` zK-{HKWn_hGPoeL)w6Eb)j;bsS><{*b(!uo?MkrvR;mu;Th5UGB)Z1ls{PkDZFk2j{ zm)294uGOmY=X=9lD!pd7D)Z5J@IXgPYLn_8m!;=OZkdkMQlDaxFu*89y= zO`^*Ya_v{=LW9lip_fMQtP<_}FWELks%(73W$Gijo72Z*@?`d z;ToyFJ!n!AjN@6^z^{(c2X{al;gMPA@AtRiXSDtATXw^^Ec+whfF?fI*p}t~c>ES_ z|6ywcRUhu2;1^D;R=7Hs%K++(rM~^bxC=gixVLAkvKaATJhCsIi5s7fCO+$1{oJ)8 zUJ?3n6G7UTrOLzgnrF%kSGYD)|9D0nz8Pa5pX}+O^G*X(H;k43Mwh;uYlHJt%k3Qf z-s-rx;7ImAe0w*((L!CTuE(l9M}^#;mgg1Gl^NUSN0Y%ON?-xs_Vtr#i29 zJSqHJ>kB{4^fJMrOZf%@r6vt%V+GndtW$GDfyz@k=g==F{c-*a62pzEQjOoNsIv7! ztpc*k8U1!O$&v-g!7&U%u&J%B5&*6A3IyGZCFu5v_C>#w(dC^m;P8|i9;Orq<|DzJ zfJ=~pI!jgxQ?x;Y6&U%9SI5u+UV2&O(USI#F8v4e-Mk|%o;wDy02owSpc4?UCeDB; zN^>PbX`W&l?K%MeFrBZ6)SUpuAsc`RU3!IktHYK(9eHR*-}afTEa4XsCd89fIQ zaT-W;G+j9Y98D4qEBmRBS)gM=?Y%}471uMUgUTU|0s)L=1kEQAkLTU3ETZkrrREXm z@?s)_;46|35myo@XPQPO1S5$jItx1DjOB6U89B=e!r6x(P~?J=YNXaPtpx(1)mWps z!lM{~3};isp|slObZ?HI6y+0guaM1b7Rz=ZY^3;ED8$@?tHj|T4h#Pd?FDw z+Ghhfd;DS|?%}XfOo*$YSSY+Q3Fk0~OD`rwWPHYuR#50HFtf0*TPi_mR9d`42%u7u zXbmZ$QiIn9Mui9&MRL*>-JO5x29)^`xsUWpj4B=?>9!+oYz9fnmEbo!k?UD12Iw@_ zDJ|yE=B)i(VAQ6_s<0wNX47VMVqh}w&#-^m4YRnX8mp~_3FWkk3=j|%1xM1U`~;w} z3)Oz9gf@cljB2CN=cW77Q|m{)Bha^{?1edO{47g`UfMlXb4q4ZgDFH1lVia(5h^J? zT!2yJGA`EWEbgtbSF|mDrQL_$=4DXH^bA^(F#^5q=J;YNH&AqW=m5wdP16cJmQx)O z&Wp1rhdE_NI-MfijhN?23gJZ;j*V-Y<3w>RW|x`Y+1t+lk(u1#OX4@y53o`*xkYp7 zvI0{fC`K5B?u!#2KRYL~%#1-0lMzc{af&B|6$L{;2SVH}@tz5Jy`sPAj7SK}yZ}4B zhg#N8|Kwzl1VD|_d4!k;9!_RowUSJXsQyURPT*8|0=kdzLs1kK3pf}XxdL)3WX_~K z94OF_&x~C!;l=pnoZ2Jadw-hQ3^8kKCJb$oB1xALZnV+}XHx$Y9l8*>;w#(*`RNl#W1DHRAspY6Z|;f92j{~bYzgS#k*V=6V6$ff8*oQEQ8@_?Wq zE1R8Fi@9ZgGak>xBMmjho*@ijq+kK-5g6_b6LnUa3?Wov%{->h<7;E8x2DC3`~Z
      3p_oG<)nVzkPzD7nmIF02g})2G0+fNZ@Z|O}Epq6or-~nk;z?m`rlI1$WK@#IS`eQ--;%Ge9a+F74%wj~TjX0oV zM}l6XeqA~TPd7A+*bCAV9~qb_u<0a45@`SuAoG(673AO)kw|IE_N{B}mGhOyw~B0C z*hF`~E$mfLTaOqTYP4e#S75>X71{eq5CRs}rn(2qW1-^!IIze8$ zkYqgsE`g5EB-k)DGcdr%4yicka}Bf#CX8hP|iMS=y)ix5qcRtYVLUBxH1DX5)h2MS=xJ zi}C2{g@=PJu!h@?2)h??XbNMdm?5l`aild0#&7wkq8kavJ8%Cz@*4h(V0p}-T3wlq)9+2`@_Mh(;`N?@oE*6Dy4U<`p0;w72~mHb&0<-=oYF^nmY5_zn* zj?*atYsQ2{lmJmha~m0U)d2(6(cRtb*6h*?O!mFDwrxC>snHi(1J)hH)cjxF`rEZJ zGdq84{af^_vb}|vg6;A9MK|zcu+T9Gf?}r9oQxP8cnor$N*HfFp@PltY@;zCkfbpI zinGpVj0gf0#b~G&p3Ns94}~HV?hpSy9$vq&@dFJ<*oHa;bxVxV9%Bus3(n1TGt=}~ zcN8522s+MI0HFm^Nxj#2s8B=*EM8b2#TGKy>+9#DPm%urJdOGe5s5=eu94apQ0W;F z#_uVLI}L}k9iM$m-|WWE+hcqYDUR_Iq!&Oc5mqpW;Sdh;Q22C+3Y7sguJ2|!<0_vB z(s|+9A4a4;?aW&$^8Osh=2PzK?#1v9(6H-{$G;COfqG^Jmg0~Y2)IV0hM{P5m=OT> z%93Fa5CQ-I08&E)HUI!$WzN*3fT^F|lXUYyCVs8#S8a>dmY73N0eE*?q_tAagZuBO z{s15|14c6dU;qUIsK9FVN1p)US@1MGoi`^s-~l0s(bo#2fEMuNNWqpOw+RPn)cqf7 zqM(0UlL9o2#p0s|u}n0rIAaYLKp-0ESmVKAs-li)46&Ft(aEvE19*T05CAX)03$L0 zSZ4^F%g3W0QGD6k<*Fl`IM>_#qk9O_NrgvmQ0(Hft6E2TwecBB0nw-%^Gq)#Ny-1; zZ;|@jT#D>|XTrz%!NTYHzUGQNbd8_Kf56AU#L=On$Ig*u=dVlPgQQY*L?8C09w&=t&WS1|Ild8{t@rRoE^?X@p-tfc6)WM{ZK@&xU$9pDO zRip_B8iXQZpAr&N*e5A3mqd(iDYKc2xrv!DmjnjofX8W2G!IXiCuHLDWPN#$W$cO^ zxm%UTlS-)^!xD{Y-Tu#Fb6syr& z^$~qMlFPo|zI@#Z^?&=q2-GmUWXcw3w}bm#C#k9!9t;A66=9LT^pdpl4y>; zK-1#vWrjYx406u!#2?JmV&vSghRBoQ0ES4c7Lt!)XK~>y{4N|HMR1~cuy~Yhy8Z_* z2^9E)e~R|rT{)e$0$3pjy{6mL*jasO{~&NNi$K7{JbWmab0O7X>7{#@8b|rFTOK@T z;{Oi+8a>Gxl_5I#u@+wJG)kx;GUk{!pP^r5u892d-lhjGVNYo!-Sm`=drzE&mBWd3 zmhfB}Fcc)5R~(a_g8Rk>hwwhE)5b`8N;J4y+B_0+XuSJ11wwxmBj0^E_G3qaUg>y8 zPfAM#1ahqn5W*A1A$d?-rbcrD@foC@o;nA(IEeBir-uu}LcL6CWCq1(X9yPl&CW~e zf{J@kgpvj+0g^vYs7ME`h@wkXbN>j8;&AEJ4D7*mlt+-iHbvk}J2$Z7IVcpYt0qB& zw0lX_7Uyd#AujDAMhvhEd4ZzLx~tnwO^S{+<xYbXxmrATYy8eu}V|xe!!~j*-#PV#<6rby7+lpKK--gtRF?;KLwg27+8OaphTF9YT1EsqcS}rbC~;>|8eMBYTA2O2I`${C3)M|h{mV) zDnF-wt?4UW5w!k#w8yc&@x0DtWtca?=&0VJgw?(q>f}ybw=qocia(3PbQ5*^81mw6 z|Etm6kK_;FU*LVgs4Tz@ct&2m2Cpdf32i%2re2-c{J4w{i+oIXzE7jsygeE-*x`lQ zVF8dgeQWih?#zGk@Vj!#5BuhF5a?QEq|W!J>)Mv=U%%M=Z+@Am$G50gm{{J@#xgVv ztB8S=U{NOuyQ@DocfyL zc0;}9*m%VRrOhPNPrzc)qQq`pdA?f3K!XD1FYsTR0lRznOof9rOJC=4+Uf zkpEqx~q39x6Yw-Bo5gc-c4+ z>y&a*J3Z0imaW~8a=Mv8^z`kK+2bdI@HCwcJZDCigc<@6pt<`5vy~DGtF$)M;d8|7JFLXunin0I7mX$7gBa!yIyyV@y}Oj!V))F8ka@*-a@EIYR&E&vb&@#ofi(C486n{*Pg z(fKU0C-4}6EE8xcGI_ zu5nwP6*h1H5=R}*v=Xk-#B`$glsda469bo9R}`Z0Age;TRdI|*Zc+apwFmdi$1C}g zdGd6ukw{Os?I7V+_YYV1$LB2$}RWZZn<$(G*;yekdFs%Xy;c% zT;XOl`SiXOT&iG3x$QAIG%M%pY*Lxf8GtPPX}uQy>d+`8u|{l+-uvMkVOfcZRrh`^<_fn04H;e~VEyIaGeNlZHl zYqhJvcQa&JV9)^UCYJPr*=GX7Xy0#p7SU$*eD=uh{kBt5Y`4d-o&8x{vzKnrZoN@- zqbI#+cF1nU88M$LIOFE*m2PlDlJil3X0iMQcR4?{Ei5z0c}GUtI2<0`NoJ2^f7h^z zMOvg6rMy$_VrFtU+|U35bo0*cbmS>3VCXQs;iN_F-rS3N9Dc{m?Tph6Vr6IrRSiOn9Lj)^4X9IApal0V3*)|+w0V& zw5O|r${KkKB=qlOQFq|aFvm*%Ugq=u3^V_esq&rYRI7*HN z)X^3N1gM})yQjyt(?o$Z7WkFiUO8$e@M@=Y8?K_oBK-QMj(K5$_m|tQ@5?a_?k%V@ zDQNR+A?u6{u8zv>ON&!`wLEZqgV1_NB!k_clA%kOYN@>eoQo6&coU`kK5D$~!N1-^mZA zcjOo@$SS*G&E%$zi7?{AUFOIO83d{uwaU5~iWqx(b-TjKz^H#WU$JQyMSkrzLHayS zqk@mf=b%P`OrHB`#~RjXv<-?hng1#^8&mt+RF8}W-qk;&2Q^!mMcdqgbYuH=DZ_rRI0^jP5Ud;QT-Z+~X@S5S zB6dT{t^b@j1N^TL2?W~z+tz}!ep^X*1L<5RK%x8D?f4_4Vp=){>24wm|3%Dz+}?*} zfdAleC+T*WuHY71V%>;F(TYwYH~#^4TWpZZtrW9Cd{SZsBb-Z*?vWz0P>E znWGI%tva%vvxQQO9Cr?TGgRmdSr%9{K#KnHHFOVIBWL70zJm$7d6T3o5RJsKnRz-l zN@tRiKf08L22kiXfusHN#rLQ0ch0q{KIK0^2MwhBnXj2%gvn7&)hSmHME#v4nBx0C zwm;ev6B7&n9(a>D=KR-uTpwDKBL_o%117^DX@7lkM|b*VCbwyIP3sb!_qR1DF6SL& z!ThOCE`=|_EYt!G<)`YHXfH!HFH-YQFB1S$D%?7lzD#-A3rj~OFtNOmk*}9iDQkXL zb5)h=CG={~^)}Z5Q)1sTTQ5L>1VUORha7)imt)Q{@2aO%wV4nWEIu|TFAfiltA0bY z#DV1QYG@_bim#hmOEseKoJ(ikLG~ zk9w~98A{5Hg^@?}LZum7n3vDBuervNd!6t0{H2i%?v6~<;m+G+f)|xy<;GF1-yIPQ z^&G~%#0Mij>D3q84jpnQzbLily~}M10;=`TThRepGjj_)?$+hvZfcO^q?r2!?%hVD zAjFbrd*v>O*7=`N^I(jY8$3Wb>Htt_8AOtQaWzb&Wel~ai5e1+V<@A>1_oA0dx?T; zs3qyJr2=|AcWMVzhy{TVDhy_sRq`6;84`4JdR8XmSj?^7>((ut^O{pn!n-R*z};;xx8JThE!^w#69#4$pjuOFdxOoClU@4K&rm@EIqRu?qeG~D= z1F_<9ErE!~4VrQdM+qdNlma9xXhAphFEBHHE7W3_&lWl22ZN0gP=OUGN+gJ?9vGJZ zA$&f9)w|5ruWm~+mvd=q7Xe-)se&n#fE#PKiVm=WsSt`RWn8RfwK45s90Mg#7#NdF zP5=@us9R|#?)L5)SV_uKemT()SlH~BN@IZl3Dwas4qp%eLNyXJ$v!duM+@_qc1dCi zV?3|`hn!bQwe6m8x!=;ab;ls-R9mq+7Mn(kvAzqytTH(L7%3jBzaD~=kSj%E28uBp zNSuN3Y15E_gC8R?eO+)C5`agbrxFj6Mu8N_bCl9+Aaz8_teFGLnaE{FDzgTsoCJCh z5;Q&FxK;z8wlQgQObNDJ@WK@SC%Q8mw^~riiu~>|()~0wQ+Ob_27mIOp-%faFi8nl zSnHrk&V4GvVs9h>GfGNmabsgR@%;BXSvv~3ej*N`5XlV|S*^oEq5%XIy;EvCGzq_3 z%FtBpB+OeO!b0K3Qm&zX_F#`6RO#up*)RUF$GwY_;0wEacd^Fq^YlgdnT-0tVRc8e z3M~xV13=#us>nrFYOC6o0Ex8cGl&6{f$`XEXjL_!{=Y!e zE?xksQ+VrBlan`1Ic)z>It&4Xbw7aTb*4?#2({z34ekkTG$h-`t*i%1Dj4z$E8&!? zlmx69CR(kt%(J9Drin*=L(;Ra#<3JF#K4BEFqR7pkr~fe$NP2&TdV`>D7iK8l9_m7 znGnAa#~ZeE9AG&{XaMyxf$|VzEYcwiv&}+G!AcynI3MNwiX6k(LSqyAFi}64Ok@xH z`YfU zAQA|LiB9D$^A%w-N9)sO@uVla{nfN2owNP_!^(cB9(qZ^9M zJ*hywsQ~IyLvBAhpaXQ_|Ez4s^%VS{D#!BzgK>qQIc|8-41y5SLKRa90`l6ZCm=N= zE6C2~qi;5j22Yp9xTDB|U@aCxqi}|=5kg`irT61tDiWSstutx?wEe+b&u`|v(Dw)1 zw2U+VOI}cGC&okw4XSAZD6t4{r2s<-$3M_E*N^|g#d5kfE(+5~UPK6OjA}ty0fyFM zffPsx5I3rbR4Fy1UmJ1>Odz>L7#NmFOZE_|hOi-fpdg+iFj^r>IP~}|JU?2zwJFkk zEc#1;bz7sWpXN=EL3$dH?JN!KVt`L8vJCYN(N17o4*aU~!D$1Dx$GC(f7F|~5G&#` z&NVTt01!@0ORUkP^N`g+R9|=QckBKQ|-|$s? z;M1Ce5Zq#iGKc2(rh$MQahNK|;hG{-lPcx&pW4sGrlMHsEb3#^?nS@AKP$oq{~BVp zK*lbDq5msl2S6I}n-n*(mOG(W*d&w^5TvtV0@RQ#4T&XeJvuCx7}WT9aQ?rRKyN<% z=zOeQp6^G|xgB~k83rdVA!i|nYs&Ik$ir58aPSIdBj1gL4;V45vrDU{oMl#6B99<; zP7L+U92rt`@Ft~(LfGT`QL*&K@JXBdc)@h{`ghw&Xc=TbskT}It*F(dHaKoNudDH_RHroJ^;>Bapr)yQ7b9Ig{*;{cys9B9Zm*t zpdGUY+O@Tt$C!71|8Ui{iM9K8d9sn?6cB2QL2SPvf`!@mO0XDW6C1t(v+oKnvNfAc z|5u3n{<1n=v$JIM!7%R|z|A!nnfnI*LF3Td`HZc?II(acXcf=`=aiyj>NUt0(&6do z54RlM_sM#&ZW3}Z<8#a96yv3wYqCm1>u=V_N=Q&C1AWGM{FHYv^&!E)$SD!P36Hvl zwz1QAB`y!HLZv|xUmb?w|KVxbU}gEo+hY-+dp4iUSqi=aYpi~^QoGy1=SF2*-~0`8 zH!S$KrHSj=zpr-5f?nZ!xZUmGhikH*q@{ra^epf~O#pxp5CQ-O08>K*CjfA7W%E=L zpz3*UlK=0ay8|-ySCX}{)iPTEbM6zg?N;O1ikWlw-%$MkKxhPvXaK+g3It%D>+1s@ z;3K}^qwqQSoSshW6AA=N_yQ3#*={n-WNFK1iV;(+`=5|V_UtWbKo_Z4jR&htDUPNoFIsUH=-Fqp{%V3#*&@_UmjU_kIAyoJNM2k{=em4;^lnv1DJLFORIB$S*lXBJo5;Q$dv1OYZmVFzi|rJ`1V9dP#JCn2 z>tvRm)iYECr=0i(CKm?}?t>R8K(f`I0Wh%Tu>;G@990!L>v;N#iR6LtVB>FebmiE) zTi7B4MGR6Lf+nR5x*@A`51?Xw`pSU_GOZ$cY$KKo4kfNgb1`vQgJfM!oP`^DKaXW? z!yIw2Q&sPWka9(#YxV|fzL%?9WDZYBe6El*EQ(Quw(zw3qg(MrcYbPrMQQXI`byboV{jzFY+bDyrVrlRRY8ry+ zRO?z9rSXR5m*wO_*T+5U7;QxftEx?{Agl3Rt7^9i>^)r-FCsGRJED()rC6c4a(EFh z6jWET1h*D0Lj1l?3Vf*Iz{$dUZ6`+Z1LmLi%++J41`yBf-*az(QfxYMay1@Q2%7Vc zjo^cHzQ>|`GiCb2129WC?_V;jW3b`ZdSgzv{O#OIu#R1=$I8gT(+w^XEQ}30*v^@w zW#4MLs^Z6RW%xK(-X#a!b4~TgaGjMU!mBacfZZN>(CrqHdY2Fo#klY|G;g$FF+ECl zT+F_AJyt3s%Y#%JI+j9~L5C>8iJ`;sM#qr44H%$aFD{8<|a$D>qQSTnDAsD9c0oip0+3f)*mcrl;3w&s(%&v4eWS zzv>Tb8U#Ybeokn+j*4{8u*lLtM@AG_kA2jA3~&$X@7Ob#*4BbnSM&pu;KtEdSdB><}fU5E-c#{-P+`)>DNi-l|kMiX6GOs%2$yw^$ z^0@zzJ4SOY>}M&GYY*HIR{)|YtCt<=3JAPdFAN;(3B{&*kZa@4(^t(FAD;jdNk@~e zuo^k3;Z>)WaE_g#z{##emf&`j4Yh;#XWkQvM9IJq;YR{pwsTjFuEQ3_)`-(14L#dB zk&1g*kuiw|#OIS*gH|5)Qw(8qwbYvX0JCWJX>6p(P#Lpq3tbD%Il@xV;^V~s8D9Vp7n8WVG9mp@>#cswU7{R1W5#BmzX| zlhe0nI6`R(G>x~2Rz3}FRWrAjq_HAnQVob*CIHt<9$1kvsRqO@lSAu2HIzacR&q>^ z1oO~jHy4x6?-K3M?n=d(o0*q~)iifZC6|hh-g@7=Ipj!F`#%4Z?w{;=In!C2OUuwk z@3ZFeFO!eCV@Glc``h$=F`8)j%aZ=tW*>W&b(#^s8+9?WMQF}Ltq{)BU<{CnoF zX1V#C-2QvD79=%rQ60zd*aS+hi_iDf7Q5`|IE(1BXmD3kR8irri@d_r*#H`?ry}Kh z8ugyK$s=JmtI%B(x(<+R>0f+!%tZ}g@Fk@rdPam~%d5B^r4dhh&)bX5 zffQV(L56`=Qi$!CyV$;0XJ19}J|VT(iG&Z~kht)exH2?;DZQUhQBk5fRvyyg8f@`x zeAscyZFmveF#Dw=O>FH>oXAWZnY^0t&pc$WWz_In-eXblg)It)4LA*imhYu-G7Z z{Xm$fkhBUm>g&F8TRoB4<>6kTmPkCW}|&-~+; z3p<~1XUqqNEk9s$^i-?!0^Mr7Q!#>!Rca<{A}}YywwuZ;rz{n5QLBd)aSUr}mJ;7q zhqk+3OB4dj!asOXbBoW{bo@D1PM24fhl%Oh*8-PBYFpEFf0-H>Rs_28yN0^hBR2K8 zuK3qavx~Rffp?F+zH6Jj25;(=;?mGWl~pa#$rRbu#cqTBg?TeqdXei}Yah?%;yu9* zIcH^2eNL^w@q{bW)V88advbTbHRv*~m@PCS*Q&NXIeoI>Bb=}^>*xwVmNhpOH zBs0rw&>_IlDESB z+8SygorpuTn&Ilyu=GsVx2cCB@HlNon)2(-+vwTEz!5aPWbSo9%>cKv*@>9zjeDBY z=+X!Dc&J4^Z6QI6qHF@IZK57{7drZqsrFC)M$7mE7jFaj(8+&Z>$>s#QEXCb46WGm zIUV43k~c&+RLeQSM;hI}DRpK0xL2)PjME?N@7sD|*+uv^v3*FL`Mgsf!Vr7wjUk_O zw;>CkJP+(@EeILv0m*xVH_NVeP)&AW)2-XQ{jW(P3bea`D*$B6WQ3s_`D+@SL|EdZ~8p+ z;J}Uv=j)6*8`HMGPmLRegT=wN`LyF6#1+DITU77HilTaeu8QZr=q{6k7MHDN+SvRl zc=NdGY8jUn9i3JXEL62nZvvT%^lq%Oq+<%kb$;b?zkhy60l~uiy#&f@U(+_=vfi{@ zs98F6_hdtLy1LFgrU1AT&fhV1TZG+)h7@e%|f#RZFOcc1#XW_?Y>dHK3 z(YChPQoD)GMn0$J<;FsdPKRl?-w$d+mcFO!V7a-bo}*?xo(&mzq(1yixf9pWnYC90 zmB7?WZ}nx2Ssu?HjmDG0q4d-EG^u={_hR8ST-#eJ(1=b$3XgHHAs6H`sD~FBV849L zm(I}OKI!?l?sk8JtAT@ue=@ew5<0Y5)qriOw-nbO63+NbajKgZ<8#U9J84;+lS26F zHWQ;=ZWs1}ZZ_>!UI{l2qalQ%sV{XCzThuy%j>vzBfAEh=f%&-S) z1BG7JQx7k<=K3X^xa`a~Z%-@3bvXH7YL#s(GR3tWjh+{R8snP8+(x!eZ)?RD)LvJs z)&y4xmUdzu2C%uYa8GN*d5w!SV{SX)*TfcwkWW^CO^(RtM@?3Y_;FQq2X4AsI473Y zdL!huhju`d0JL0rl~U5I-^c_XfS zSN1Svgsj45+D+QUFTcU4$6;f(enQJN8nlgK`XnI7j)73^G(e^0wR##AlsB}Px9zT= zd8JP2B+#nj;`w4-TV*5Fjx!#8XCPLYB)kclSX|fj7_B{@I%a%r%6rZ9y_g;iuZpQm zj9nWjsvgbaM@a%3kTbn|2IAoIx@bZ@xA&aNDY0wq1(qo-PmMqJt;Bkf4S@J$l6MlZ z3@hdfYH(#vNiCOh2>CrJvpNB^YH%^!xP?9w|G`@j^G8Mk;*d$J)w$H?wx`D9+LzLy z7fZB*wujl!bWJB0XA%n^m!Ha<0+(j-BP0Re_-^3;$*5l|+sm(X|7#kR!Tgklo;z*b z|0aXmI708fZ_&6nHT&{zCp7R8dvoQ_IH%0>b_zQ>)_hihw?{jnQ6)Khv>8B)w{Hdvfke7bM9Sm zKBMd+W}DROT{P8Vn)h3*KkeG5US6ay%P8J%2Je);yQ@6gQd(cUFSYlxRgZ#-?>7q)*<_tS?zbmdi5Kp!n5qo zopR)vA7F3vaY`n9{K4M)apes8@?2SuiRx$fos*(gQi$I9x#-)GH%S{ebJ}b1$yQ6( z(Do*3&2*_2FMcPlo0XM890!EKQ4Q_y~>n1TqqLzG|n-bF%Tc6Jq~ z?*&2NGmJoF;F|B;X8^DklYq?IyAU8el5CLYAhw&HumZtM(Mxl-7)1926Mu(?hlxYJ zkpa@gW2+yy&Ys&uqKRolK9#XMsUZy9fTly$qG%aF0U)Nt%8|(6D8Y*L$q9%ZBy+{k z&!%Da7S5snrzVQRAGuDw7cp2L9I$prw+XEGgp1eEGngVb+5tX!P_u~2tcZA}GJ{B@ ziU_PYQ6d6nD>O%VpC`K05U7YjRZ9t_fr)8=&jUS%QK)uBboq(D6x;*eQt(Y?x7R!3 zxmq~`s5PLjlA6=Rq@}Qs5$7Wsi_BMj$y5G$xGs6Cn3%1p?7XNa9 zku*Yy_(v^iU{9{8x@^mLk=QpjFLd3u!JR>2-}~r|Y>26S?;eS>>~_@}$hi}HrL|2D z8dhUr0ETm^vrEv#6z(}zN*kzHJUl#-QSFz-lZT?pdD zOQ2dI*cOP0HKKrYqRA2zM-yilCK7-HdCh>qLnA1}j0q~r1?XUDO9737P7PjB988>I zm`DJV@6FUyTA4#rZuXMN0|wjBkPu-VLhy?LN%;R?hx(mx7v#X#?GeV0Xd545FO%3% z#NfQpr6Ti2QQ$I(RuYRcM&P*s$Z0tog0$qHj!Rk0ZJuw3=Cz5x&dTsZAWmC`Sj^82n;Tuv6USf3K|KMh z#uF}|qz!93qRC?&f7ba`wH&fyBk~#hO!X)<8Zww zJbs2Bw+9bZ=?)C*9w9X$9kL)mC>YVHXIvDN_kxM`M9nFmYuraYN;wUuTHGNh=HMER zDQl_7o0`NpI@!9s1$@RwJQCZHQhKe#UNOEUZ3MLsEY$@vK|7}l`aC^MDT8H$z z<7unskC@*~8LgsP5L1WXQY7|!r!z!cjg#XjyE9e3_j%F#l%b5rj!uFVfkMoeoJm2z zd0TJ_KzW*u4hj*$)f@+f1|&U{f)#Y<@V=a(aQ;MZF1s^Zh*4Y#Dh^7Hk?NU}3Y8wI zn2<9?R(=xt$n3Z^?nH z)`^syspv+iuuvTmu5J4PODn5D-UKnE=;NQ`G`i;3pi4QDIwgYjASaC zS)5VP!V5d)7a{z;xCp>d(SD;4$$$g#&afz@6hX%dB~+@Pt>bYzKk)R5Pz;25qDa-A zQ*sW-$Ot@*ahGgq8AHzj;Ip36(FJ|LA(VkIg2AA5v>g#ZW7eLamPS&(SkDSgEI}ko z08+}tAWj>Rlvyz1#^RZ{Tp{wzmvE0Ogig~SwOeo}3>2;?qwh7j{UquWQib`xTZL1h z830EIeI5ujhC;0a*wk_);(28FMH0J2siMW#iN_fEn=g zP*S+U9ozo*6bsa8M&M}BFW6`ZRd*a!q={xK?U-7NEsugHR1kGazJHz~MZ^e12oP*L z3aXGbRuqe+B|!&1?LT_z`1uLbYhk%$8bE1&6>Ztvpz2?@-{RD276EAII;*5!Qk< zG7+aI(yArTfD8mCRWlLqCHHclw}8%e#-hQdY&Zr*)GDN8V-ykLK*vz|)2vx3Wq6)R zID|(fi9=@Ns>E8HqnS#@Bq77c9z-r^F?M5= z#^7P1=wsvK-_peZZ(hh^jBdJKga-g1j7N!dxB59?^xFeH<|^K{D#f8+)@CEky^863 z#`TvP>Y@M^TeLO@7ov2~(aeCX^0?B=Eu}~z<%5o_Ab@!%RrMGm1^Luli>XULF<6n5JXT% z41<)CH2L<1H-7y1mIG7a*hZyJIaPs5M5AWMoDP=MctXqflz-SR%yIDRcF6A+)!)>u zsowS)#a=;jb?KuJ9u5*>YKSenXaUFw)a#EhKr@mt&u%Mqy-|(va{@%ilef8klD%@X zFrJ*Y?UZPV^e5)`?N=j<ivWMJaLz>FD~#h59fXZhxpy< zXP^1kMNPS;qKQMbD&q5Xwvp8i!dryQ+ob$J7g48Ezisy z*diEGtB7YNJy~GVM7Fa~rBX}gTnL(wff0sbaMW|kpDHdUvx9hM(g74YNMyTG1AwOz z)F{WrRM5i^+{#4(f8o{*MP$)W+raCi<# zjJ+|z6OqqRL@I(Nvx9hM(gb3x$4O-vKqRP<2Iw8Tf*x*sTod&OM$D>=p8((x5CZ@P z07F9rCIC=gRQsxgKx`CMRC ztLJIX{wB&<(V;C(`c9$X?v=Eh8_wk%RZ;~mLTiOcFTgonFR^cp%#WT=Py3`N{~5Xe zA2H)2s=#2*Iy7UmV#oq2n1UiT#eK5C_rClxOUT*DxI@uB^AGkt%*XZ2epin3&3Q8~ z23{S32gi-^tjC^1WBkBBuAYbs|L}$GZho=<2QIGMD*s!r*R=2Kmy8<+-{q4x1N_5( z-;bH(QIj(e==_Uxr|2i13|=-XSB;ayjk>w;yE!V%5#`JCWHX!9;&QXu@y3&f$oV-P zIr0S!pEEEveTpk9!5?)tShczr%epS8=)9H%Z4x5Kn5>@rYgo!$oC_RZni~s!g-DBu zaUL=9qM84d^FipLPZAL+%4|7cELpsRy-`tBR=j z3QU2P#6zl9r)1qm;N`B%G*GY?#upbu58}dJ-r`-#d8NL>bGyH}qNKd`hDf{=1RR{I zid+*ES4#1_t14ZE;Ws)ycvO%Rb7to9<(r+4>Bn_WW-?5&E@QIgi-#Zj2(g78-8IxL z1v77rt6{9JQ4|!_6}SXhWX4~Gg9$;Ya~|DR2+%(etL*ZCeur~*miFY5TQeHeXxa!bhmPDXcS|w*RtY3rz59#OcCZsz>YW%1ijz%Zv>iaw)Bp0GY(EyESA&YltsjeX`=dtOHy2r(TR zIO%&R8u;`_>zlh@_vq?0S7cmQr^*r~rg4Q+&i-n!J{v8uUtcy$efH;0=O#WE4QGgs z9~-2-MOQq`Gz>)cVPp_hJqU~3TA9<;#m?;w4*cDn{W=L{q~g4WpfAb(r+}Wv;;Kd# zgU+*GU&XASxqY*GT&x8C5k%-Y+@Iy?)3<+^S*42tbEe zH%-UoJQ=RmT2g()dURAZ(bE&4Be=|QW^wVB^dHA;&qCLS4~kb{?Oq))ICr%bC0{K* zt>myuE4j}|*EVxYYuF@gzSvC-u!hp>yCi}{%k@^9RBc=cJnr1$rkU%h4yx{Q-Q0m; z;N9Qg-0$$OaC`Vhm!sT$1`D2nPmn4hcqZr+&n7S0prt_K3W!RKd%X<-e>gU!gjdcA zn||~&X?us=cp2NMf(~toUuH8qoV}S@gDAU2csaXk%V(CkrbmXGURhVzttqaR4*wq< zwl;pk($t1J)aG>k=erfBwh6d8QJ(ELuJNdcE4XD}9YcUm!E}R!w3oM*jokOB^{$Qf z`9WP*6STSt_vzt;=-b4qEo6l@i~w9M9dTyT)5Qj9yB=o$eaihPlPtth44*!OU6!0~ zy>oRD-18KbT0}_VVq9PG;O;MW{q}7aFL#F>jG75;#W=~i@6h$&GHiN9l1G7|X9pF^ zVt8Pj9J$hE0GSE`S58r?JjSC+IyN~2$!pU;2vpX-=4dX71D4Q_oeK7`1+2A2U*tIB zQ6(Fj8-ZlC>ExM-I2sdcjLVeXO}RziUMo#0yNWurk;ZsNN!g})AZ2Z^H$jhaDK&er z^O0#g%*`wA3W?TPS|~;8!q}pu(~gp|&GbOW+W)f;wbHaCk4|EtuaAdCO|MS{WTHrV zoHRCM>64?7Y)3sD^=U$~{{b|@Smhw3hQ^}I`Uu6;ppH_;HZ+}Xl&p`qY?~e}TgD;? zj&-$-B7!!|(EG$-IP26_C{uK!jWWhHO360U14nDbusA!3EA-i9wKbK(eod_fr$`&Q zb?8ikoTsrRNt+#kWIyWmxL~Mko>EzLjhj{yNmNy(&`NgYHr74ZfTh!plKxRkN9ldJ zwX8iQ0N;0Z*)A#_>$M{xCL(H?G!%%AQpQd+ooOu{(bV81+f5JK)xR{+ed@u2@>$Rf+6?E{0vH)bH+q>xTVA%RZHYizvF4|4bV-^=ZSTgQB(943(glQ5kAzxp6a#VG<}FOA zrdwHuF65L<0xSC9l&lop@Kv|Of_K0l*D5*3wA)oRq0=%Y&6!I8=|7Y8*bXq7!Zxn1 zk{)COU!7sYB(hoIACz}LG zSM*FUVguW5>jy1DMxgC>+Ng=x_m&9m($v&r{) z3O&E{K>L)Kv(gKt1C?t+Bs?wks|(gr?(q$;KIwBP{#SBtXo5S6$BMNO$xn|SEOXQ% zpc6>Sc2$2uu+92*7neMwRw9Xy6%c^zn_z$Uv;zd%Tuy~;)ma^()~aW*kPSb|GMyIa zr>o`l{D8<%pI4&|JlE7G*2~spfl7#%r|IcRY<2N_agc_l>1~|ncBNKL_@gC}On(Wr zq4?Wh>}_R&^-yxRtr?_~0NQFSzKPLFN;8!K(tjqWX^f&WN|{uUo-+we`}1y+V$7s~ z^q)y-+nWZJ6lW#^r2b4)+t{qBq&+hdAophk8e)^AlJv|;fZU(iXo}5~O42hX0djvr z;|!Z7m854)0*jAanO$4R>tp2c)X3QO{Q^BnI; zDRp;tmaUPszIAUa_hGaZWLU4!LN^NN&Gq79li_dG_p_RUUDH+j^)6uTtSro2b3$)U zgi+c1n`2Sujd*y`zjAWkbaVD*?xr^^(694g^Wz#V z%<0GESJLu8InHKq5`aDOzo1@wQWhS8{bnAFV-!@GU$Y_62ok;Kds_V@ zH`oZ;KrKzGXSMtWA!;58E=|N<~wfp6l3BgU)%<)Ee;}xNf!m^7WTf-hwAnM`Yy=Z3(e{vP<`i zwm)oyI=jk_|9b3=`4UyOd3InM(H+-qx`(p*m&n-vT7G7^%I2`j*8Uu?DKoy4QsK z`ZX4bp3!;t8KZ|D%KcqmSF`|NTBfi_-hy5)^mAY_zPG57Hp3lr>R2Mg(zAwDP~5l2*Rk|w~B1XN1X*@Uvh1#T|_&gDjX#! zSVmG1)rS|`iyS}C`xk2ZJRz)G$xZPfl(x4Fs_$ts`9=W<;B!LIaZ1Q(B||z2P+L4; zv*%eur^Gh#9oCL!4Q5Thzl|_8UR2*@F*#u>Xb3_-9Ym}P%U=?$gy1Vd8%n&v!7Z{V zBgt})5rs-hs<%-mP>q&TgJk1QhzV~q0#Zw3Vmd+%a-hYr#Hh$z6>|xxr@*1A>A5$B z!%WAKp>9I;Rxr8uR1u|6tTa!Hl%6ECm`IUS2-H~4z`(60NJKg;wo*MO(;^sjA)$EE zlGHVbQ|O~k4J{6WG|-yKgr12+fQwk}9hd_RAO*p+b?z5!q-Sn=@5EAk1Gs3I)75(s zlLt+|7LfIKZBk&{_O_EVJBnJfgS}YM~5#SN#iv`VH zUrdq-H&p<5+3K#MyqjkL(WIM3z_y$8>G8h#qqy`fT0p4W%jRpj98Gi9ZSh}#j%E#V-WkJpv-m(q z=WD)G4IVn0XKde1Dh?gZms>Am&Tl+UhaFF9&muameTE~9MOYnxGw@?#i#?u-xb@(# zcA&YpzHL~_Q*O1M3&uF9am*-8+KWMAE$AL)4g{9i3{W+)B1Wf$0tNF;tKvQE79I}{Yep{Y z&IOd}2(bpx3IxVSYAZ($PzhfI9`gyg#w0<0w0gk(UEhH$3|bYSeXiik-R*ryZi z$T?6g!=$nVXaMm_O#^K};ITC;sI2@HbuMmHF>=}X;ylgCEZXrV z<0g*{qkXtc;Q5Z9EXVfX;FWwxOtQwdx*%te`plm> z+o$nQHLeip88L$s@ff0EgNjh9#n4+pB9X|Yz2QRwV6jWd=K>ZJMeDNEf4O;or4C$< z;x$Md6a=9{S&!&UT96r4P;5v8BBlfu&=G&9xeUv!{s6^*AoPopylp;T@-hdZ+zOyY z1qK|6Goa#1g|NV>QHq&nfcs(di~cvQJ)GEAc0DUY!#Au9?2pI{j&zA@6~SYTqFwe;5S6CUQwl@MD8+DzM>}sF;rx=!MJ!Der4xkV` znSvoE!=knt(~MI;pJV;`cQN^xDrsOZCo?}2rq7I;l^j;%^lm%_=#X0P!#JZUHczWyq z^P8KGy)_DV>Cunws(jOG>{ z;EFBQJJ6F3i-0uHdFHcr_kl+2azDa_{BhJrQ_NBd!Pa!=8W&cQYVhSgqtT{tSIwh8 zP)B0AwH)9XJ1kzroM?#Z4yFoZnb>{EFF${S#*ZrKJCm>dLt1|K*46d}dExdi&|h_1 z7Y^-%`higof*0psz{FUbK`%M1yBDyR5DEbZQouhcY4PB@w$C8sI){* z=YOXo4N4F8Iq&)onc#ENX~nnfJkIl%(m&ZMI-cd{i^o}ZULZ4M(v8oYZ|A~F+N%>^ z@(0ynk(DgYf_^>c8812RI_=}_`{d3KWnD;eRS+;j06`P#{Jmu~kOFq8xtT&Y{`j*nR z_d8dQL>^h~|KJ;jd)Ra~UG$dmd(GXh?@Q8i=aCcIgWVy)YQ@ev6R52?8LOyI6T}P^ zI19$7!oz)~)7op?_OAJ-c(>-=Hk|3}cnUf@GA>BOfWitMAOfMo2|74hK9Kf)CN5Dg z+Iq3u4xS*2E;(X~K5|+F>LSS0DmaWL_Ygi!mF_0i<~0+W%G@(42$5x#5qOKwm>d`^ zG`M9>2)Z8L>`c#7<^eyR~WFFqG~62 zsC@R+i?imt>Tl9=!o}RfpXP?!{j%UfN(80K0aQW{E-H>%wetf{#<8-X6}}8C>1x^E z-D!abdXIo!8>5Wpfc7-if}|@?Bu*# z8%!RZ`!;4a@|Do&Agyl};G!wCl7NL7N^GgdVhEfUG%Y0oNYDTD{(Su$1QS8uaV~No z)N%)Ks+!d~5Jx2|Fs|jGENt6b&2}r#(c(g(n_$xARa0giK%3b!OM{m8Qzn*S#BMH7 z-123w-kB`HIC+32v#)CklWlu;f1j~>s}AqvBrKb={9jR2oRx{=2pH6Jti(CbYM@k$ zk%3`H>Rrb0@4NRd@s`C2xcC4?5Mr?bF$OB=g;-LI11d8OeDobY3Kw*{3xu|w` z?ETDZolE}eJoO5%IcHi*1Xn7?6>KBS@}N+-k+Yaj@%;Ox#R%}QfFR~1Vlg;psi;Lc z(yYna-je?i@1H|j)EB8InKy;ov^mWmkI(RWbM>0a+ti7uSd2A9iKh{j3~82!A_hoa zoTkj%2*2cA>%Q`DXFP#3mSU7gJg%z*bLNmhsxmvz@=2BR^~Yz~q;ndzIVW3c1(ZZn z1+lQeP&u07nhKz0>HOYh#i(Qu(P7HGASp1D(qO|7Ard@i-{RfX&~EJ8`TIClvcbxh^BR|%HiDe3iU`=ySjH*{Mq6Qwf zk=WF06Aud$rxWkt6fN>xA$w6$`D=@gMqI|B3t$T(sRLTDM<&dIQ&{lHV&#$&ih?w9 zQiPy0i6jY9JaauIFb~bUqxC%d)}FlfY{xGKMPYQs;}nmjRRi6aeGXU)+tKE*#&Z<# zI`J5jt2oMPghqY^Wsz%QHxq|Gbl=OpQn;wxg~-L3a$7Sd&cJiC-ulo*Q~7K7z5 zNQ-fiRb$|BG7qlJ?P%d2_#>DAO@sk|}$DS|h7D;8GZNfh2@_wcBq=);#&t zlplRdBERmO|Nf}6sDPcNDRGqou*3|DLJ??8T$2{j-p3AQmns?LQjKSfPE;2PMX_6n zidS&S(ot-%2Y2jhtu#V`fhjVy#up4%jLIWzZO zDJ)Eqy@hM+6qjNotX1O{N~~cC5S$ti{bt_rXxouZsbv5Qg<~*eVvxmZa4zjRKwA(H z0{{j9GeZO=003WQebph*`ZxWiH{Z-s6lq{N0XE@qlWa&5?p`R`t59Tt_mThoh*Tf| z%*>q80RS&TDfwcust+3Q3BSV2@N!R|%?S^9AfWIo&yiFCxs8skTUn2AZ>#!aq<|AO-UN?8ven>FglHR&t1OKAbRE7cA1VI-X;~I5FO(@r8duf;5ozRTl zzwe>(LzM4(`h~@uS5oUPp(d-}u=E#ox@A?`8^Y;G+jv7~Hnpv7P#9mw%PPn0hs>&k})T#w7ljLurfSWcAUL0VcRae!ym~68Adg+%A0l)~AmeQQl6vpD&Qq)5|=%C7Kc_+7_ z^5ZFQ=W8D%l9niI)s20~+H{!`N?_CwVvI{2m=ZF|ANNZwbjUPd5+GdL)FQ>83PETS zlB%7S;}wGlMj6S_=KAStCLr){-b{J2X<_h|Gy!+!e4V8CP-p)fdbvPpC5cXWq0E;` zvstFTE>9`BP&lv!9pVyoi9nA1FqNwfSra>sQN>rxb6KOdT7!!&p366CdCWZAqxE$5 zYl&IxIgfkByR>|ritP%s3DP3VpIJd42iD-IyHM1`fuG@b(MdxRiVFwvlwz&mcq*DJ zBo=64x>9uHQH6I9^tbqK$CXfy^ah&^%q*SbSie-z4;c>B;txnr1I_;$ITj&9;TRlL zDT-VT{o{y_07;UnXxD=}AfjRD=W1pETC8EndX%VNi6L-Z#>5xu!`ZB8Z-}S={MCcD z+}gkdt>+OSoa;)&eQ9jbm_c|)3NJ2(i@w&@)5i63>Zy9ITO0KiPu5el^H3k_kZ!B>jQ7A{QaGG_m=#t&y(Bj&%7uSoX zmNSc+_)p~QQ4{;L8+f>h2QjU9HOQ#DOiUYWmVilbmkWJYLo z=~>AW0}(oll7UYkg-66Yx^-) zl1|roJ!@V~Gn&OG!M}&0#mCpMGS^Gn*Z9n;%T_8Y{jZAbX!u=;64Oh#o7k2#+1=!J z?J70AuIiMXzC$l2sPyH~blrlnB@Tg`+vwCcr~gmyuCp8aJQsQjCj)N zCjOO5B^9%DpQ~ljk_#Vb-{(E7AlZj$(6b&W;GSloz;ahW3^`A$p;Ec7xMkj@oU657=)d>qs90b5_d=$i>ttK#r0vBmuTA zD?(yyr4SaJT9O+GN%AJNVY~R(f!>ILRI3Z9q8HM*O06x2vji*-siXI6+w8ZiLKH3ip$>65tcK1?oO&O9A7674Bg? zD|?85LvGV7E4Br2A*4I!n_{Ga5pLK<4Q~#(2;4o(z`dj!kspPxYSaIHvH}2~(5725 zOI~W*AG4X4noG~j&8xEVkXvZ)@5udJOsS-|?Mi1?bfEtp$9+cl+MsM8HMaGhBzs+ZTsHD!NF{QQ;86|^WfQq zkT^lB5Yp0m*l#Vvdr8kBgx|b-yGJ8n$<1}wx}8l^jJMA7?L{-85FTx)b>nWZ$Cm4y z`GLn#y7=L4g$wk*y7p{`2?3YFEPeXBQywRz=7RsT8l`IStmkA;zl-K);N1O;+!GkRal?MkPpvP5T4ke|FKqO; zbjUSZ;lXZbPx_AcKR(J61*~KjtUC%0HIlUhZ3SsKvmSkmh=$V#m`q!n%DZmeJ|XJ~ z*J`z;CuU8AJ(#q(;hfvAFrG&3#kI+Fmv(Hcyn~5!IkymKR%5Q!b8W?N_&BEF~7xqtq51XFn*1DOB>mo zwl4#fBe}<%vB_1OZ>4J63a@1vEf~$aFIzPuEshy+?%E@v8e2gHXW6!*QV*;230o)J z6LnatoqY?ajBGVo#?$z`=96E>sbe>5OL0mA^x1{5VIi8Wo3r|_aD}trp~F?KsVs}} zxHq#Oro3jtPHRN-(3&Hu7rIZ}Qgu~llhNjF;+Fe4lt05&$3`LG=2EDgf_TW&&c z;|8$EQ!}w@wcoQ1$;Tb(Q!2_VU#`+bcxP2lhxC`P>pfVHN`%J0>|Vp48Ml=Pbo)?` zrH!C^lp`LuTllmYg^Rk2eFU842%)y!y|>uTC6g;kz3msSl!?mqhe%zCW_s*cNJfwBwMNIWOma@FBlT-NtAvYbmPP|FNtZO>UNV=yMv_ z=Hte~>}izvKqECt2E@LThRyhdgfDTFKCM*M#|XF)TgE#v+F+kZ|w z_ib7>M{Vl+b4X|c>!zd?%GM$v*nu>3W4q)~!ch61A%yP##yQ#9$E`oPa33|T*|2X* z5t+k%zx4LbT37!GdxtxFTBQ~JvXdHx>tP#?=iVIF3vB3Tv7bKC3ZGQ8Pc9(tk1VP2 z^kZgDw~1ewR+Kn1$_KI`W4Mm?EYY=fa99TR4M_bJTA-5P)cJAr{jU_nllY;sLK}Pa z=GEQeY%C)U>i@dJisXGCS|HRtu2uvRahdmUt%?0Xr27R(?KN>H7~ zKt@5@a=1CGBvU7z&g~q^jcxbTyH{z|H#(n3sO%+{2qgf(Z-tZ!h|(&`^Ah1Ca~kba z35hEHpmCopfH*($-gBqtsjOog{d9hx;XeE1vs~v)r^Esp^T`j0{3HKs^Ad34k3^7w zb%Ba9nPXtD_6kFg*m8;107^q-g?t9Mo{!!w>jrK!;xuDLnmW1Q(Ub{PiT)t%uFRH! z^W)LVP?8HGlmLn_Q&=*ejHYS*P|-EH07Pz+9-rGO*C$&GPX?BE867OuGS_>~`el4$ z2uK{1A&3RsO8^Y3mF-M;rSs3i4o7W`@Gr6OJgb7{&2Bicogo* zv4Su5s0LL26dHztM_8S@S=XI?H~1OZ-}uwi(vCXft-)N47zQUMakVJvTE1`Z5v zO#USHGzrbD*J(f~xXT#jhKfr)kOQZ&+?*Qzw>in-jLaZFE|Z-1H)RO9R@cp^BfB2VHL zREhy9B@Q{0YlAKmCX+ZsH*@FUW@^0=3?L!kNXVjyu8s{8a;+xZ?-18yFFje!W{zY= z3iuLyj@qyJzTj-slMCP2%q>D2g-XdaRuQn4Fp34z<{YF0u#fydXK?++8VJD9%j=8m z^8VY!1rzikYD7%YsZdD9r8A96kP@*99$#n?-QsxSM;0c65e&_t1X2z0J53S}OiXz| z?7fOcND<3xHohM(h7xeDYp;fcXpI_Mg|J{|%Vy9V6JfX*2h8shHy4mFfS>|z_e$n8 zj!TSFO=PM<4(LC6QluY>DfV7e$O%$dh(Tg5M8M#@3PG7iGND1nG`sZvQ#ls+@>YHZ zfh2P0gjk7;lyZ=?K@|FFb@gsk-qHLa-QMG)9uf1xJ7QpMeYkS~C!5Q3s7w`Va#N)l}z%tRg^4*4zDh zU_ioou{J3TFU*OzQB?mXWo!(ODa!2uRe2`%9vr3dRyiRd60gwKPr0T!7{b;7mK{A4 zGjh3fF^LtNLzPIE5T0Tt3I(WEpCVUI51)i=@WXod5AXI8Wvkfr@z;^cCTxH0{Fk<26m)9-ZkBA>V}*lu)*TJZXbkaf#-;Mh@R z9XTlfT&=P2K?^{XT?By!BZMcEZknmq&n=Nd#@~2~M6P0&5~veDNC#6MjX1L)w33RA z5?He83XTM3sM_y^in^|N{X9{LBmk$|ipR-z!u9vZ_q$Kgr8>+Xdk%&Xhc}XsuiUjG zj3c6xzhBTuZHXdn8gE1vDx`Bt?gNNSTTB;RCh#59#2I@#PRw3bzs7R=zP#6vz9U;vrN|Ey5F(Kf7@}eptvFj#LsVeN1MXjGWM%p``(P>07MT?( zhag!8L<;Yf21)b7MV#}2o^t_WVVWEXuWhR^Eq)IEAO3REYrKZqEi#E}fcQjJ~^fp~fB*Fmf0rc!x> zmSE;y9o4l55#LXTCExa_?9d1p3aF zKL62wIt}1k-Cj49$;v0Jz0V$6xsS;%E_K=T(GOC~9h&@hO4d4(ar4TB)6hjb{ zFeNnzeHoev4z=Gc10U!YVl=hJcn4OtM@0{%U!I>_5K4&tE3RWEozhj3q)aNyb*k#* zkZ7FnA`GC;q=0yqcf{3*J!eA+sm{;DcHHTv5rt#N~iy#W3pz>5sbEw$n zz{oU>?k9*_B@Mvev>5M5ewVO!7=Sf~hP6o(q)rKu+DimCDQP4(_Tc3P^6@G6P<3)Q zFFZmpnXpo9l%B>J1Q}47pp9f;s*{*J;#Vz(JNNDe;qvoo810E6TvLEU5}MY^IGPV(0I3_tl=Iw6E7UzjyaME>?(PMTvv=t%c^zVbw!NoRT%oJ1MhvW z3k=x0Vc=x@z`Osz#pE)f|Hn47w8BJxME_CWc<)`bGNG})iu{9#X{mpY3yVlUoIXJ- zq4x$Xlw&wa-aytJ+dWHL2G+9*${A3O z##|$SL?MAdQSM1tYN`t2-cnP6ffU`o{4FK!@@25%b-QB}hYVGW2rSoBrGXG52vku+ z(hvzGiCpAg?)a9aSntmL8b9EJkMMGGoc$ctMGeqIA#X+ogN*_)2_)wxg3jFsJ~36W zyllQVd$^g@2P#l@02PBXrB34|NOOdDLzNCB&>8eRx;Y?R&)o6;8QW$`@m%yq7fy4?O#Q|lUaFLuBs%+I$f*r9Q>%gMU2P9Q8B`(a3YC)h{!qp$> z)9=FCocug2Volh~sT0Hijj>D_D6~5-_MYe*fNPXwZmHgBJ3gyDYrYDDe>atazt=s2 zklSO5@yP9!7g`8ZHjM$6)sjKi#2?q&uvD zs+_7>`Om0*P;8?{6jNc~oPiXg7@^0?01;?5nuXZ%tl|OhQp5%=<_SQGt=@nXxrO5S zZx%poHhBcZ0g_9I4pX%@5Qg*I#Dtnsc|cm4NS5Xy6};!E5_%EwG9<@R`{U{2+doF|0GUf`Q-&-Uj>+3MW)4tC`Y z;!QTGjPlhAFb8$gCYgi*gtT~{Plk^HSo$O#3+S%rZN#-z?keiD?!W~QN^R4-4h@$Qh->nM<8w2-HcV3rdcOPmTp0A*T) zO{WJRk(*LKKvXswMnM zgpG3PQ@ZB#p=VjQH* z>6dc1!j_wdW}f^!`#@*+U^^U|nYXjKzg(O26)=!Kb?^4w_)zW;?f1SJ?}iu|VE7Oa z0{{R3GgAW~0AOxa=c=lJs*~HBzHe;%cG~x$*6F&Irs1DSDazILW1HP>+VwZEvun}Opb_Z|K0Qqeu zj*tSDWPEW#36e#onwI2bzs%Pw+N zy~;gDma&|h%jCcY;w_{HCtc)ZVCotM!cx$p6jpZP-%mo9F_eRtW?&&`W(&BFPv z7q|A7cjhnLUzPIBCx@3m&dtio;=*BMsd4;p?tFh<;Z5RTb92mJ<;&>iE_^dr%*8$G zA1^w{6N28&&leZYC7zA>@$giwjF@Cq(AU;aCw{SK4$%7Av{{w9!5HtOX%b3J;>dETz^8Fhg16s8(zI^^)j>8 zmy!IM_-y5M&{!w)%Z1nJN?jLTFIaR*%HNk!-BmJq==^!%*RQ?vNBZ8``82cF(Oi}E zX|m3rpN*P9j?iuRHL#J{Dz!QfRJK(%>jmV$#M1a-&Vv&=&N)6kYLrF{N)S3b)sgvueb{Nn2; z6}|QF)rF|}QT5HAGk*skR0rE=J0F9U;EQJB@AOF7PIYqr#@f#zDO@B1UplrVj0Ak) z)SljYCKhmMyk519+;ofU?u%%*^JG_}cMm*f=d zb&P2{`raa=eBdm6F0O$m%EjWz;p1`Sv2m_&AuM7(j=FKNyFi{?g51gxMy-Z%fHDck z9xxhsdr~TvMUvRo{D_L&>ASc%9^aCtktSX=9<-a$7p}Ida6$Ge%OU@&t_i3@v8oP7 zjo32r`7*UVLn|ZJ_ET^rj63!8s=RE$541UuLK~8a&g2|1Pdz;FtQ=vDe0*FCRHJON zhWR?`O2yhE_vC|N;9MAu8=gs173CR&wh`?~R)Qtl@Vz?cQKMN;q=^?b2d!zeTTxIa z2eC&*vK7|GN?S)tGCq@hjS59YCT7%-v|iC3>!g-xVsg;XZCVkA7>NjB=b=4Ujdf;C zkS1Q#9<-a$7p}IdbV2I^TClF#Y!RY@5bV{S_RmEE1Vp)3Cvbo$*P1#MGn25bkq+dN zO(s1%7=y|j38mB;_;1tr3)rz@2WQ-r*xXa*3GRI$J!6Bb=Tr8`C&XGBgu>&ZY}uOq zcA={*4Sq|Cb?2o?^R-1RHqz$nzIf?4-!)!YSzenNGR48 zBzp{sqvNclq^jPl&a$XZIr;=9<4~xcZ>fkhyTqRRyEN8T5u>I+zS~q^xI)2JhcqOk zioi)6=HzM{TNCOY)8sb66mur$Ekjf~xI)3!hcqOkiomuUu?3fwOS9}?iP~Zichswd zi?>^Ds|25C=59aj2hQ!Se>t;Rk1e6wbsLG-=nm-@6@Z}(Kb@{Yv-KSq06!NhRAR7kNNJ=Q*~ zC@mmdiMx@3k(0-X8SLTX<6&Xda9-My8Sfr!JlvOP*gK|FwmsXDJ8*-Xgv?XDHjjLd zo3BAxiigTJNQfROSM5Lus>96m6+P6Nd&`1%)E2Gnwk)znMa0G0$w6x?>=Br`e|qIo zKOeoxfK%nCyWYKT_Kd8)|7$tk?QIyG5j z`)uy`_6b}(JAf>#l)o~U#0uo&JL7^@2J@iWsC#T?Wq~M2+LQ`(nX|@X≤Ys#by)MS*q31{M>borC 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 `BoqX&TGy9_=Jao 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

      T^e>O5w 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 F`!o^%4SzISffLCmYal<{>(C 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
    1. _#ag&JfGRpHnS;-`m4QUDk;G;fRN8ljc z8AsLqwTgg7BuP9Gd)4dJ)0-RD%cPW`LNM8s9U^*$g|9*Oh0*`D>0v*|0e$6-(pL2W zC2NV-M8&~&g`bc}0Mwao$U6~)33=%qOKW?@3JBD`W5iXtQeB;dTi6Fv-@vDze zw2fX3u9EpaEM=;(0AnD_lJ%?9o+ytpF74sM@-BE1(~F4JS*4~FCPmAA51A&LZX%f^ z8HRgZyokv^EhrFCfWV0utK$dAXo452uP@|K%vXaUReE?}x8Y9hfkMcZf%!T<$-XoQ zV{%UhIasXIM1>h>GD?1E=r>5^o=dzscYt5z_Va@DJ;_kwMpoNM$kO;5ZpO^xfh3OS zOs_Z=j%|pq-NuHXH8$v)(TM$-h0A1bPDZ_|DWV8j(3CRAPH!kSXayHF!cx1@THx5` zPw-zYXXm$Z80*w;`RzZ9uG)XVrySJ8Cgrdic!#tdWmaDIZ#ZMP$R4@#OdKcw!-IUR58jC< zYMGqsnyK%iMm-5S8NND%D7%}{m0WA83vS7xn`%*+2r9%{h6C-KikcuR#?)$5#_P7j9;Lc^z zudI&=laO`s4$X_1ZT4;l8z&GlSfcD8cvV(7V2m+rNX7&wx>71ePssXn$+pwjOIEB5 z_>4kG%#_-3Nv2>0Se7(<1i|#N1b54_rP@WHb#$Zqf#F#8)OcC$9R~+p6yIogH$py;>II~%<^)J<3y4lQisL)f;DYP8zWqm#tC_6XIEs6kn#(j?dfCn zax-vcoe3Kx7lI?_b`y>QHj>Qs3(vH#39E(oGjtXcuPv0oMKtVeGf`6 z#PMKk4vK}30r5M!5$wrJrWoa2l{TEnm1dyfcFVGrQp75b%3+IW)ni$L?0qxQve%TR zw&`aYSfT=C%MjJNnq^#CZ52npsdui-*b3A~tImKdpp#IzM%KnX7&VCW=$K)`_&lNM z4Lw3y@=Rpe*#`avh=IPx@GImM>U)?J4$6G$)H*^I>TJleu7q0ZH|3V;n&aPNzK7?c zxHA%%kS;otw5*B3xPQZr%h=iQjHpz?>#)(3u9p!&2^q;VkY$k-t}-;&0&#oCI#5rI z4RMAI*W>#tC1gEMRF$f$>Xgo;9P_}t3syOn+*oNR9WTTa+r~Etcjf!AonBQ|AY##& znt{>+OJfu2<&J@NG50g{rNfZrJd;_rsR0o{M|MXS=e&F%Q7Vmg?vfh)B-+js7%|`Rq6G#El)p}sn|hr{o%zgiZAy1B;Vy!3cB4D z*c%d^e`IK^abr&S_^^q{cYHw9m-o#qi~8@n#(>Cn@?`| z?>5K{(dd+7g6oZHdO+C$U0>&q{ISf;q+`i;;wWo}qshr|z8w#bGA{{6X0#*|RA9kj zEAxeqRfe7o%^T1&u?!oJ2iJSt6MSb4k1AWz#50{$<{+I*IPTYbri3N={)V zHE6nV50VhY?MUmCL^E7MwkT3A#5*IBrYhA>Fmuxhbc6aW2lVQLY#6^6 zCg3}6JJev){A+NVn2e+rkT2r*=|Z|}>_Y?-wn5cYUC7=H>@7m80{H3fY(N5xjsHCl zGg~y#6}ODR$~-@tbsfpF@2-ujeSW9%lJWoQ*q3CW>n{|Oam(?UG7RuF!>zgNiuvs8QE(A6+Krcvpnfg$-)KN)r-jSsTU66YNHIJu=&~aykU|*6YzyQ zvMkk(g8q=dJ8_hV7D#{cia!}8=13+wa>JDGIN7@ZxMlM902$=_UcqaWRq1{*pQ{4J zJdW^;U;3&P{yI|7jb#HBmt3kG@<-i=p&-Cw5RTIor4WE5owydsrJOYaOX&a%A?GhO z5~_X&XPVsl2jm)oqX3Z=hy&rU2?s<{u%*1JrtCSL1tfxrDGn)?3@QXf5mORD8MRa+ zbqeG(0@F*K0u~&!+3FIZH*1p$LAW{5C1g?jS}Zb0Bn06MRw35%QCcvqJIz&yi7+%v z&+2p4VZ~y_;?AZ~0}m;=tp%&G1i3v>VgQm=l2oPxvp9J;X93P@a|i7OHF7x&m)7!m ztxC{j38|)dvT)1;2ModjswZ2Vu@@o$6v7aP2~2TJaApE>9RF%Z8gxV}lupXE)~KgM z0s(}CS-cIL88TBWi-ZM35rh;#pbb$Anpmm3E{^}k7$T^WDCQ)YStD9h65n1FmgYGP zP9OZNK9@&_(w|3n;KpY0`2!12$JX=kIrE}EAv5zI!y1dcRXZUUddV#i*m1OlK!h4V zkt*x}D5zQL(V$&DQxOAGT8pBpn9u=< zZaO7)vFlx{>F5oKfd@(wiOX*V961DI&m;6OO4bmguql~?y`l}sstBKd1Dls*gu z4g+GGQ4A0u+bJ&?&rjmSbMR^W?1noRxZPiQxvS2+?7lRvL9whsR5L}F1AZ@{UU3L3 z4=pWZKOH+W4~q_=^Isb9`{VH&KRH}yH_nF#=FRp;tm%p`5*Lji7Hk&ARkUP1#Yl6a zZ$(oC8$9LG-*V%d`S5QZ@e8{cv2WMQ=h^MVuAlk50a5`?rGQ986d0{^Ku`aaCu~Ky z+Eh7o`&vBsU%r|fSorO?TZ+iIL~x0(QVkf>Vd}tGAUnl~Ee*UkbWil{PJP?*yJ=Q7)wor-y^47VsZwktM zqSm6-xjk+Z^+U6GpEG@7m&m3Wxch>b%RwST!H8F*sRo<1ZVlW0ONdM#T>YfbZND=P$fW^D9w0!u%jy37Xg5fj3-_YbP=Tia5FuDP z8p6c1$gI?+!XJ6+NB>(?j97du?fSD{S8Kluo@YEOhwIKLK*0d$3R^%!YSE%miDLzd z_b2tW!&3Ubwc6W+%*62FeSA+2k0<`uc(wsa(Vz6H8@f@n7zfa$0DL5-^;TGoatMc! z=_4MsKTo&aoX>`0V&{F*x1~A*6$cA*m~WiNv*LS zi*a&Q0fCqYvKSMLdQgYe`@G)9Y*#E+-~An3>(^}_$t9rzdyudM1Jb*mAzVQegd&if zhGpfuZ}xt{+U>8*|ABL7UK zn)$cw-b!I7c#@I}Sq2q|QwR46TJDgQw67=Hk2Pntht}>5^w^|g;E4E zfLl$Dt8AVFVX1!G>2I{+tR(MXjjry ziq=4&VutV}uU}p3Up*1N$NwcGfXWY*As5yn46%SxQxfW+lp#fTk95Nh+Zj6p=48ju zaL3XAqQ*W((b9M-C${z2+etRvF zY)Ya~YegXeaaxp!P^2$HUqdNrN51Si-sqU)+<1x|5?)#>Xj;dy6G4krvs&V*Ed_;K zhE4vom&O)sdakwDsi*#48wg>Ipq)DLLW-UO!;@k`YY*rMV2rI)jnuW-yR6n-?k~mz zdFkrE;<=f_g5J0}sx;IQv65R+(u@lkX=N)!cp?$#i{d;;`tf64y=Rs+J!Sic_D-|G ztKHX2bVrs6fRh(2meh{1bA{Sj5s2l!u=pTqvpN+QMe zQZI(eP$kVNtputEAc~dvrfw#C3p;tzvnRw|W5dMFqQX-ExRPEAvigVs`2M)kDe54c z2urrq6Y%=j-+f5+w!Yl$!~?@wyaY+824cuUY0yH7l8Wl$9a+v#VcTPez=S|ySc^er zc_rgk5fx!+ja+23ml}(OQy;MVGwA0`3&BBb7)(_a2(ghk+&O>B*7_aNJWNYL-f>DN z`iS7Vu|-&=|5K!(1hqWWqQYPuIAW~F`Wb62O`P&SvDfh_DH8<=A_20Pi4X@#iq;em zYFCW5rGSqO>)T*|`fNo^lOkA`nKDtNx7^g#`T)eh=p6i7A){NR4uO9d1Lr`4vbAhA zs33hz4KxccJ{IJsMskZLP+pK@P+^3)JOG3iMXf0+?|Bc9Q4*#E2QaR@A!uCjPCRy;NJ zY=gt1>U!aXECzAv$m^%$Y8SE8XbTMVLD1u@+7v5?0j$Ww9Iv8jSX4>wy-3 z`9hxg_z&Y1{y7_G?3CTk=UGL5lBtX79nIKF#d=&prE^FOO`%z7Bw5pK^&)R~XM@=I z#m~*o{NuNbb>&@8`>L6V*Ok$8f9Mw@p~S2hXpLzx-fCnhxDL*cPB|vj^O5s&H-B7S z&rFFIlW$pC>;l&NuJ0|khwvav4&6Y(THfD$q1)^7C%@;)Ab#iP-8zr3I^Q63_s82# zC)(U%rnol;2iq*B>oXaIJ7ir;imlMLLmwe=$i>>N7JRxBrk1QBz#%*5D#b>LODF)( zwt$I;@#=TLXYSs~dop0yO)%ED}w+5dEVXO;bKX8Eg4!l1n zoUR7`J7jeWm+xT-EW4i!xLR5td~a)aa2lQXXD$fs|E8MO9DO@xtg81uYt;=M`uz{< z^|ikjqQXeqsnLlKXUo8qBYchSR=EoD(0+TXUl;iL29ErHT_=1lcPv`m-9s$dS$Dtw zAC`Kp|w^na&H|_d6PM^hRv8ew=?(j!% z>QTg6@D)Ql?4Ikhch9$Aw(0Wi*VpbYXSrR|#oH8%`4_CLyfF{E>9>o;&u^utAvGZQ zcOOvfr@dcX7q%1?A+SKlaT2MBGbHiF2|Ga-Z8FAAnfOkgZe|C6#f8qnB^cikzF@@K zpgZk%9btZrf_wH9CpJonEQUJJRo=!hs2WD86R#X6NUTK$YE! z#RO#lt(X~7L=YGkni##6Er+u=89COUh?fCoHwP9(FjI(tP_QV{Y^`z<)V0svf8sbl zUCr13ws{ReR{Kr2{U&}PC80GFISvvVvPKnFLZ}g%`Sa#D4^_hZ9-gUvjnIKgC)5aR zAr1uA;cI~Bp0vvv#)uY3c;7lLU<4X5JTIXR1c`^@(KQ-@dodIoKgS}tfZtL;-`-QT zq<3$A%r9Jgsi`MRu%69nHTH;3OeDeOJSO@U62YSOlNB1cjuDgl z?aeYP{2sMg9*r49Q>{}9fSn^@4$vv;ixaNEiqfK~$X|evrK#14Lse&9;1nHp^rlt} zJH#AKhi+#(7y2m}i%Eu<8Z?Y!f-6w7sb>OAGCfbI9@~cBsfk{19gW@o6g{yutZ-S# zQ^>ZugLo;R%_ATOrX$CXI3f3StS!%XI<>!f;7P6bg5<=a%8*VYg^^HjU_4{MqiOK? z9BL+vo0os)LHFWiNTEq!qCr%Z(F;pkw_s@zkb(xN?VdvMD_-rR7&LujbS7OBZEV}- z#Cc-dwry)-CzFY7+qP}nwr$>dzkBbm-m6bn)#>iFdYwL1yLOHMdhWv_hAch=iz;xq zlHB|^`=q$-r#T`2D+3r;yGm!1F`2BUW|Kg5bXwDxL;3y)k>=gVM~!KCN1|GED~U6f zGH2;;6^UHde4{Bzm@+G~lYBt`Ob!amKnof~kO#fk=kRcMqg@7IFzw5Mf7UTp!1EBk z$q;E0NGedo_(9F3Y<23|%>l9V6;bY+R5seXQfEF7h4ChgRxQ%Hw)bC(>$iqjgej6G z@60`e&Hg*huT?Y>e--2+x$8Vd8anlT*BDDS-~MalA2kE}stL!g{7f>TFsfA+6w>m` zGjkh~_dXS)LsOJVBm>&45FFsEtF#*SV*HbzNEafdOu%Bagq$&x@&h^gfQuzAaW{_J zrSwN$|G)Zb96V`jI&uQ!bG$0eUPQ7m%$%{^R+iGTIWQjdn%JgZ1C?Pz2?VLtLcf=d zy35nWaGG4zM`HAUKM!KILLy>she zOGL;FLaQ?UmGB$EtLIEBr0C$qx1R3_Gt+)LMz$$$8u@V^_&X9o)4H;5-wJQN6@}p(=RN3lwZL&XMBN2pQjDi+O zXxuU*3fgod_FI%E&#qTDKOX~RZPIy9=lC~K+kg6L5J18rU=%<=da5tfz5;iq6)@f} zuv-unlM+Tz;iChSz*JkjVn$Ll6cb-=YCk|wd6G2wK$AeA#CDCmer5vC-p}UpXZ>Bb z1R4bS$jd>q-cB9x0ClexH@Et#=j*h+myaU9s~Y5n-tPL$d(4Mf<@(8~X=%AtfOb6| zr=|xLWvg&jPOOcxn7OhdbP+UNLED zX-TvN+^2-xlr)61g9W}j*ITGRKW9nrFTZ{;)UVcG-e75?1g_wH5Kp;jj!%~l;5;rT z=q97S2ObsH)>jV=_K)`VKOMfjX>Md0z`LA%iv2bxO^(e@yjM>A-kFR~<(Z6(<$XfL zoatK-WTLLfWYm_*Q0f#>;h(~ME(&%x#8Ww{p?xtg%jykzs{{8Sw{#LwOfuW86ZL z!Aa*hV-0`JX}e{Eo!7EaZ5TGaxd@x3sR1!+FgZg$k~4l0yOHs*uKA3Aj1RKUyn?#I zWdzKaT1bX?jobS$P?l4Kg)uT>5u3ftgYfO3kg5!(vy~x!bVzT15P(xhHa8M!4L&=E z9)u{d6U8ylnOMUGTLhF!_Sts!9N+cy0NKL~)t6M`dqVtPBa+H*Q^nieDCP9Aw+{Q8 z_0q&;UzQN;C0%ux{OrojtVA`a;3Q^@8iu3swVKk2NiWAh;gK-pm){jjz*~Lai6{%1 zC!L7nseDpgGi}o#-BSDYv8OmOWq$A|fja$%-c~EPDo2yl=ho{@|!{Id!b~MptT{IsKg7 zLUnzY+UdT{@50b0q&V~Mz7A*rDt$wpyZy3JcS*X;`(hETZav>@;8&Zf2j6!gn~i(=`><6>x*_kmk_EyBbIB~anXA5S z*=e(djoBZ>5<|$pvtKJbpxcXDj~nKEH_8wB)_x7QHrP(KQToBQV*cH?Gi?=RS%zMS z?GBdVzK=>PauB(cAA29p{Nq0{fiM*x3;T(HGbzhk#Lc_rK)-C}py@v2wz1>uhSxi-)7>Su2p!#$s2h{ zHi7!3-#gDYgxVfVde%D!P^e#BFXm`da0t>0F`cEB%N3j4QD2G`w(P>|%fnw%`d6;n za${L+aTybEa;xgrehN*u38P(CUrvJDWsp&4j^D-@rZ@V1Qyn9Jr^ZJ=$49aqeHkiD z_T@Q)VNicVyyM%flWsJfup@pu^NRjHJRC5KFf0Pwcs$E7YUtRSK^V2+b&SmUY-wDR z{^Kf9`MT7DdXb&Ync3BH1^imz>!?G|xkPZTmr|_wa2ONR7RT5E!B6z1ef^M}OjEjO zcD&x?N88D4`?;IYO!K`O?791z@$=Kn_Vns%#Z~;tojMz3*9rREICe70U+W>&cx_R( zJY0?AIvci{8~Ckwk$%60M}w`y+4(pnv!^DUXu^e_4rs}tD z9U&G-3}9sN_{5FiF2|SoYYUWVwD}Tvg}PD6wlU)~swlTZIv3!EOSpwIY~K>QLzj>- zCx1ar@0;dQpK#Sb#;<9$$sz-}rniImz9Reb1@RDZQPg#ZxuLe;ZT0u@$;yafH)o?* zL)kjRi@~u>bIPZTmVnycJ#)nOl%K(0b@4T5qXxem^4#?`IQOMt1&3tCZMmNNJH=ha z+9Dy{GIIf&3WRB>F@KP0wk|}qC)fFs-rlA8byrtw{9^m43=|n*vbvH>_atd=(ZGQs zKOHC9Eh~E6ilX|0H4AR~H|4QxK==*CV;KnWWQrwFhY{gn#rJk6S3_yVb`=wD5PaQF zhdM~#94oX_fN4A&SyHqkKNGS}Q+9_)1mZyV$>Knm!LFem-kaY=v~acH(W4OhB@9Zr6ruS5gsa-gz0p9H@_K=~kSV6D9>><;=))f}>RxF`WL(T(4?ys!It~_qK z=|^+4r~&gk=?#Bsf0c>MVxgifl<>RVfwW?c^8Vp@FY$PwV;&tm*C5}rEoUA*kY{0i z4T4g{GZtFTAHnxiKW~1TcPX(p)2iyP?&F)oH@WSA@?`dbrM{bhAMMJ3%38;9&MIQOnVyX>2JF3f=MX#E@x`38e8 zAe#SK+7E|`=(_(y6TQ2+8hW6fqAQS4 zau*xA9J19(sHmo9FqK$suXj1IQh=4gKYRNjhRwwJ_N4C4A`)GcVPD+8_}gh(OGh38 zxY(*+z#|Z2O-4OiF?aFXXo4yO-F~Dl$jyZscp7SQUhD+cpgJ~%`PF5_QWZ&B$}~pz ze+2DLzP;@$(Ox6J^P2oy>eBAGGsk^Ps;-9HcHn`>R)HFInXg<+tA@Mzz<@N9;r{Bf zz!>ObgT&LCLi??XuVK-=Apx0aFgH}Iv&%Yc$RgvayDEg(?qP1YUUjM2C|-vXYmetU zow`Y9cS)xZ&vtmGxqGqK1I|Me`~{>AVOlb_Jp&XIDbW4d$KH)dxj?F@m1%(7;xY2Y z&Wgc+l*rUYZkWxXBMW7!fwmLy`OETcjH3R#LcM ztS$e45shA17c?d@puoCB03|=zNJtb-&&*J5WZ4{0*eHS(;JS?1B$ei-S5h=q1 zODj0Jkbt2oq~PFyq;w@u_3I~TT~f=Vnu&#)SRpCbg-v*hulN_8l_PT8R8ull^|CSa zMC2^gg{BLsh*qK4!1_MV$l={r*h)lIY5 zaG#QsFhD&yR3u-pGTvckV-;Q+%Y&1vy+7tgK0tp#*YGNMc;f*C>m$HzqS_+dF*R2T z%7rm{I97CsNO6Vj91IftwliQhPr)B)6jA2NT*{PMN|6q*`I+>Jj3O=aju4FLz73?O zQVJ@-d4CffT0Tr1OB7e^eZ?$Q&Y4*mYo6V5i-!IS2&v;!Obwa~g9mw)Y3|i18GaZj z_v!s@J5bWS)L%lyS4~2kc#%3f-a%uC9b5&V@me?fvKi29FEq}p;!pJJ4Okd&-ni&F z01|S{lm{*>Y?;Y52}PRTbqk2?zt~*&sS2Rk>p~(f#FORd%qK#DPD%**0x5~R7+iE!PzgpkhNkq?A{M$?%PH&>i{Kat zpxlEFbEAuY%%HO{SAir|BJC??C2K^G6f!FR=a>5()es4pTMkrvpJ-KH%DD;%Mgh!%magSymO0+nFEq-7Pp8Ic0W0|p`^<$p}Dicln}<^=O9 zm4c5mGUbaf&(hReJ{S5Btjj)3y-M;hb3+DYy|epiu(W0T1uQG|1xy? z*Ehc;jL;23w$(zU6w^^_{^hoSL z@o|JrgLS!D-s)Y8a)rI(UJ_F#lT~#sv0(7#0zhMPh!7iv#eqStdZ)x9%&X(0=Xu69 zmI|V+qV(oMp#8z-;BJStNXu4Mb86L$6zNp-f(i)viB7$HdjI!ntSS(;|-hg zjlqzUhN6EjnV$Yj05awL@2)AUcA218rA30!Xu@?kBUMyNailk`QUBj)R9hAYHJFxY z35F~-v`Q*4S1A}a`U3I*Hj%*nJ?J=RL~&4Ru_*E};6yMa63LyQZV2XA=pI}s(c2sF zA-<6b$$>Jgj=Jtc@btVR{vKJF^PkYdJ&6BoHMpZ3z4rfxT=hk2PzmbW;Ad-<(3lX1 z0CxQk4Y zQXM{Z+k&QQef#<#!_vn`S$Kd4SAvo|{;rY=$w__nAWCyto~mZlnDUGKWY%3|pEtb3 zzcIe(%C_wIi@Rj`rrJag{*|gtzu&UgpyWl3p^@(w_g1&W)&z#D`zLUr06jLkhjb3; zLHl`SqkmOid}R^Z@8~i`W`(stPzQZ-*l`DLRoB1MwHE-R0R%!-bE1-R&Td!iw`6{`??-^li%s;w2uBWbn5Ugf!|L&Pdbp?1esarD%shQiPxg8s?ppnU z8q_zSZP;xNKC*@F(|76~;ZI$`WH`jCVr_!Pe!o(TQdbN|AJUY6g;V!A#~Rg+df|q% z3|d4CITR3VdkmU9hO4Z$zT+Cz+ebJJ1e-{bFWdPxDXO`Wa~y1Ha}|iwj>w&oju(ttc{wA{s6}+cT3T;EGZqrWan&M6XXRN9DnbnP>B(*Vb=5BJ{8g z2tD$sgk6*wN z5RfRqO#}!C-XJTFvN7?Cf&HSt`Ii1OXz;Z#7~dTCzV}I>qP6UD%?aSN$oY35QY9ihi$5vm}G0ckcYoW^d5>GqGBbKy#V#*g&5zL(y$R7!4DiSDl2bP(sY>c_+VB0m#Tm5fi4VVz4?ofqOWe=5fxb?vyXN zsmc6gxVb6%)lD(E4BC3gWO1J=hsWWrw%cccDSaD**zKeGX3Fj>E3bb(M;XL>4!z{I zc;d(Y&7lS{z%ZV7TV&nyHVmncL-^f!pzdL=zr~yN5Zmpn4_Q8L{q}J#hzpYV@ta7L z%ES9%XS0LiVv60odB;INy;IHnwaxMg%fMnCt6=! zyV7@?yN{xMYD7g^C3YPWJ)9a)5h%If>-5pf!j&VWjKmX6dwV5u#LiW9{0ktRlMs{0W8$d@hHCorDSuajuEgWL1&kYl@K`mp;4aK2tIT3J503 z6D3FpS~Cl*5jt)*w``Hc{Bo_{~>vGBWB?_{Uybaf`{UVivWjgA~US z)YR0&2l%H(K3ntIJW=mz03q+3v3#84%Bhe3gwEB9BCr4{KlN)hSP#9= z$fz`7D~C&5vr^7SI^`*?UVYi}{DG&=?G;Ke)r^rj)x6oNxne!pl;t9iQYl4M4*(~; z!nuCON6I-T7R9<2s|Ja4jN4>b%WNk`#|k#Ja8I{y1Gs(XV^t=N9XM^id}3&@owb{J z*M8kYV!+a^Rc95Wvw+cVD3``eYYbpNiX^fYR z-#_-6GMi)$akY-b!5hV#!V+rxoNt?_4(W(m5XR2yeGSV7LBWooo!>1~D*h-i0Ocv?i94AM%wTwzR-hCGI`GdFs)^04Q0ndnzcLO&pmxr^| z-TWRzR$x$uVKbNGYgTtwOf1?!J;Sela-Q^DmNRw+hf+Yk-C6ZDnwR7H-5G8MU8d4( z*Eu$e)PiqSv=F3RE3l$$&6wU%u`VNL<3>V8sdHwnEwm-p?=8(aCs_pGsSsR<%|!sY z*hQ!Bw5`M1xN|gygbr_1GJKHxZLTK>Cc-h4V&e)8dvM;U(6|+5V9EVOMdxn2k8K4? zI%+Au(@#4%OXt}(i%?FH_rXg%nIbSwn^Hggvz>w32-v4eQ<}cKiCpL1z*-e87q=|8 zj1P8Q@of^RRcEB;O60-9tYx;zoYl?`j}n7)dqvy0cpUs3UF&QNy-bGP zIBLqA0t9|(^SmQSBpY>=BnfE4lnFJ2QNF~*N_%f_1tmSg*o6m3MCQX~{3Gb1)Z~T* zdV;G>uV4_^^XRy+a9=B)59W&hG1i(Z3(*lpNr8((8z=6XNZ1%raxNN-CrQ2gtJbSi z#`YrIj1Y89dSgZr9Hy)8|$b?HzTG`^g6Q<+y+;=_xu12ZAiOn z`;HyMt-1Q)#Zbhez|i@!!=k-lxwhQ0>6d>Lz}_V9$|2>&`np8Wd^q8Kv6?0TYLW0P zdv*LHDjTTwB!cDIZk07yZxN6NU?lx+#s2IhnUV6oWiIc7(qYb$Xd&JIwwkAtGoSnm zaW6ZZTKFfB6US7AT*RSA4dt-?)VzZmf_zpEWt1roiZWDk*5YXJ`GQN}yLl-DLQ8R` zK2Tqkw(!F%cp*)N`R_}Ja(QS>yjmB32njll9f);-JWa0J`FATPQo`_j-snuyLGNyI zJhQq7!P2|aj>mNmI5bxDU52Ta=CS6g-XwgI-d~ib3+s5Vry6>F6(cJCH$(UYik431 z3P1H3EN`Rwd>t2up=~zAByrgG+11A~M)>~ff%6F-H5wVPKC``6SnfI&W@g1xke`{z zl0)XF7D;{X)f}2R`9ap#RWqN!0y^V2Ysy;F-;%JOZP1l$!XY{exiht>a~rRNoQZyK z^*&#bD7Kx=O1>l@InVQHL;6b>_8v)p?-w3Bx`$d{|Ms)O)vpj=dPnSNW6GvI@R_kR zoW4KDHE&06Qbv0-*Tcx$%oKH(fPN=6u=g2r3Dj=|;=DlpZ8dNeA;hz*R==t8CIjPz zo_4v5oG8|aH2sAB(7^sZBSX;o;Tn`iW*yvI!7Z)wp_D*OlL7_OPsj5{Ne?OO&pTfQ+6u&BE|w8s{4SP5(%$N%@Oi zl@d1*hvH5|A}(?qs`??|qnGcd*1HnwSCv({i9%b1Lm^*#wyBv3hZsq)gte(}nAb6z z|7lRH1AG9wM)-zG6~N5g(F1Ywm!_oS|Kcpvy*Xg>U8eM2zAgcTGyg_f!SOFWWfv>` zUOh$qOHY{KPFg4_76$~Ck_g=noAo>!b2yM{Qq>DbxY@N{xJ=z5r-g$i6l;PF4XJDi z7bZs02d6Ew4_$Ib5%jbCu(UQQrF}vfg+MI990^ue2zeM3vLF+88-uQ^TglTe)qV3a zP!4!c@y8E45n?l;g^rcQR$7CwDc40x;OCLXBMoHKe<_I77BN|P$`lgTA}f;c9~|E@ zq{`$;2c`X`y2<#JcDM%Zx1&_N+@4KsNj$`i0VYu%nPTMj*NVe3)8D-Nq59%3rt?Mx zn39G~HTIbpnHdI5qBN3Ze+T-rJ;8whwZ<|3?{35xbu>aB{)LKZ5v2=r7@1J0iJsUl zlKYn2XbBeBs-WjicWMjTUQI0*Y*v{s!5CDq%NPd=Q2_J3!>~hyhtTcdP%|p-zjf7x zgM-rGef*R7ZK1<|??BhrW8&q+0Sgio&q4WKxf80l_Y2tBZw=@gioxjW-*FoX<9gvl z&<6;O*6j5)ff$r~ckN))iw@Y!s0Q9zxR7L6Eb)O_=PWD)cU_gZiA4b1pu{-a! z?{|JCp!IO(WDR>ijF%H-I(OJ0wJ8XvfI6S<0{}m!{cbzekA(vEH(dMZ|-;%0u_eU!7-J zOF6#7k$8`$D(7#p+f1#$`ChpILhY^LJ+j?F=A3(=T&unjeD{%8YiXCytp~O}R;|+a zUXHKo*_ceP3;j6M&Ap#i$~-#N#Wqh*$1dbDUThsq8K>wN88Nl0pwj-){8p3S&OUTw z^JK&Y-u8Z?(YQFX8%Es5i=@+LIxVkjvT`pd(_f~dq@6b`fcms7P~B)0<5<>KAJFSi zEb2$D3G7VsFs_Q@?(MI5u;DfTM%-7^dmnnVd`5uBEik*?IWJt+D|F-tRd7Qskf<&+ z0JgGQYFkAlTR|P|S=)G{rUlt3%7Hxo=6SOfM>^P{1{inf=tjj^p>20HV5|<QZu7M;)fwso5f(T!ORKcYZ*J&{GcPSTFyX_aQ00 zl2Zgb@_MyC?&G}K&R{fiNrigja=(v-iKEVgr3^kvGcis3P=B=2PxHI8{8+tc`CT*m zZuYde?sA8#=9+e7EgJi|@1&tbGqS|J#HUtDI4;r3+8L*vLcvJjrCNGZ`bn;uFbAK= z?reTP6_yRnBPh{i+R3|^M+T>;wdnD}Gso}JZXPK#0H0zsdnnb#rzxnkUl2Gp#Z?P# z>Os3kb62yCoxGc(N6n~DhQXF=R~|lRRDuTB;2#bA5Q9(YYU$l=8XVHch8uM!s9AeL zp88(15&|xpxmKO&f>PpFBx4!na=f6Hj*tGcVx zC(yKDCLS=HdtgyKTy9aNGKt8=L%12#>jBzIYc9(bMDC%cmuT^%L?DtH0Rr1@d^U=u zgMi#DC)@)0jD>EVa-trK-5wO>*;4Q2yhQ=j64%+&dak!Z085aPFq_(VrZV2^>9+$e z=NfFre5T6G({pCBCpf&7)xdHkb(m*WxGI_2_HBs+aXpWCMY;4(rWHo=dnJA@ zNo2FL$-*oa2OTN82%1Dy+{-#{XA~bHObv?KA;X&(agO-s25<~$p`EA`FLtBmWn%jD zxs>qR7*itfk=0~!G)NniO{lo^C3T+)H+9^cP{Y69To__fYV3KY=~HqblYIn}t^{f? zO@5Tdg9;WWF9qfYFw;UP9cXreDrhDg8i53_!xO2j{Aq7`-=TC(k2W4Fkv*I!3pLho zkf7i0VDETsZlve$rn9)5HT)k6hzMwyOS>(l9Jw^K$<`GDNQu&A5{GH`CTndjZB7>L zcm61hN{TlFk6P5|eN1AnqbN{t;#kKW1-N!9abUp6-&htBMRTiIP)mT&GtY99n9K09}vBveWRB3ePSXLmcTC;FC3M1T)luQqq-~?6fZ%F)@xMT-4 z6A1N?pu7`DiY}!Rtlc-zmo*8G!gwVgy!D>2AZ>7TxjGY%U-!g?s2HsfnP5s@3QFtp zdE`hig^`a-mbJO8ypboiS4hlwAu9$)yb_j4=Rd9xsK_JIp1EJIC51$Q(pJ4tP-=5` zTA@_SP&zE?TUpsio@|?6K3BNQfNv|>Q2+hu+2bu1aD$Nfiy_W=M`0rw$@Iz#9WTbW z%a>iLqF!g^2?`(l;oe-N%KGWfoF&_`iHWK0@v12tD)M9j1n_A@nlcaxAPeGQstM*_ z?#wIy+ObfiNaL|)}V`miwFV~E6_5d(%TbwlOb(rniNN~@bg@uPsSk! zK~Y6UfTJ9?Y(3}x)GSwxG9u)Tq1knPNCXmIo@S(P71d-69Mhofk71*ih3ZL0pn`NS?zVO<0FZTv0cp)qlI0XqJDGRWYr6_=~deKHt2SQ1rN9g)3PpF~+ z>?pnfjrC+4L0rY=%iQCm3=UujyYbELF+>S69R>Na|JhYJxjra=AR=E(qsoaPmL)#m zpTU|EhAZwyP=wVJ%1{Z=V0r|en0-(jWr#x2L^5YoO&63x0!J6_C7J6X$>5)y`O`uh zAumSD{px>x!Q-JK7dzFwfAE_b__fg$$;JxF;V`%&)Ev^ZGu=3g0yi*(04rBJR((1> zy<<}WZD{m8FK{%ja|&O=3)@7qjC{7Kl**_UZO8AQXdH{ealz2wjDLY|Y#kL%`RgpY zg+nRZd|@gTQg~8zQjGN7ttqp4p;2zIM*@W?PXIW?SZQsxSKza3p095n&mcS+bzMIW z9Y`$hoa^p%>}ri*QKgeS0XQ&Kx_l+3v1c}Rg0-+zcx-Q}t1++(=V)@l;O;mpiPVNl zb!8+LEnGaa4Wv|~V7`h0QFBR{bWH%+43tnc6ar&SF7FZ(Xlw4NI;c?O8*DNSrF~v$ zc~`#xwQahd3X41BVI&YbrMD0idQz3Qkysfmqhj^59vBtxR<-FiRvAFDA9_=JK7^S; z7tr1pu<5;cj(!vS-jfx^!AJDMRaTn>5Xv@pA&h0m*{b=6)6H%E!y=<<)6ksRirxY{ z7RqF!D3Ma2_hJWnA4f9(*0(8;hY`clEB~+&cEW!cYxN&C$Iki>AN_aU3_IgLY%;x- z7Hff>gS?N<&^cs@*6{ODK-i)GKsjFk@)h(>^gy`qvAI?+o8t@RUNE{9qz0wyt3amhl6n&;ysiIcAYu1XhP)n3ID?8NfgLdeweAG3D5dIq-1Pn%;HPcR_mhe!Ga_fh(MEGXvpmXg}@3lh+x*h$eWau}JD zKXj3|X=0IMv|96)5SxTXTj%0-B)h9W`$(h`IffFN3C5&o4zcwt3RC$Ksc0^_bkSQ< zOwJsJa#ha{&y{&f!am)Eb5@?sYZm^3l>c#EY$jo9fad@%G6APY(H4#A;N;j@fspC2 z@Aig%;wVbA5=dJJa%qaKW)BUc!PguA%a>aZ@281WcYp67fQ;mqnR-$!2+<(LbP0!o z$>J@3k*xJZLRi6G)Hqq#q5Gh6Djpn?v#D*XT_l*(p$bbel>Sr}Af|vP=G_wU?P+Gs zNpvIr#?b6#}Q7&4j6%>n06NkTy7(<+RO7u^G zTi)#Ys5c{=`WjGSoCygixq-spPCWSZ^c~!bpe(e7+H0l#hZ;#mJy2#1V`@R=$mZGKNqTdt1*>9+jAZayjzzmei=7WvvgRY_ zJwjS00&2`{g;s&FINqu%2~hQqMpyCoH`h3XLPOdc&Ivia!hYxdUig~6;#)m2&_Hss9ffF$Z2$V1K+k&v}v+nWk0mlTN5IxmGsQJS<437>~I!@}^!MmUQ03L78 z!?7g-yhA~ZLk+_rSR{c*^NQ?nWF`DrD-AO+{siZ;VJrlrP!k720U1C6iJ1UZ@4-dX z8^LnI`H%YUa5zY#OAGP7_RYl8j@M(vyOIu~{>=-3*5Yt<^Xg#yt*VxvC@NA6n+!X%jMKDz&Y|9fyS_I96!jh(iw&2JV#2`F?cy4&7-J*{kT z)NdQCx}Wv|Aj|~96e*n2Q3MkoNjt#<$wV^B>f7*Mcbo_xA|~{cS{&GR>%A^%<_NTL zb7RkZ!lDjPKE2jm=d}E-8}G__x&3D7OmVx5U?3bE@|*7*yrGSw(Z7$8;ih!jYH20W zkHPz49Xy-COg}k|b_pB&b~(x&XWzdc<8b~bKy2R5ap8v9(|tYO3*~t~uL4m+Eb+z#t+Tw*;qxcd-JLmuqw@2a zj`Pis>(KCMPfb-Nd^%`8$20ys_B(&1VohC)wAz*rKiljr33KVRlx7*XBvF}(Y*|Kq z!XPoII9QKay{9}}>H-~&-v&3K!twC!Rc>>{oK~*O&WTOL7WfQh5n0cI(^t@-kUsx5 z&{4&u`%fyhlMIiI4MH{S%apv<2>~C4*aw?Qm90|;!Xi3l(RXHdfoDc_B=6EO+jb3B zv=e;c@=O_lGh6>=uobNjYOG|+44Yk^W`jvkdk!nF3&*)>5WA(ebg5hR<&}@wigUYZ zQu~}mvqtIlTZcpMMGcZI8tEZ$yNKnZ6GNSZ;oA+8%88zWI4yfbwR z7i+X(t!=vpwI%(D3j6M#>ec#v_>XQ!ox;qC#cbG-M}sLdL}eNq^a}Xh8>{vELW|_; zvu5drzCW{!IgxfF<|R$NlNs$_L)Ow{4I0Af%LKK4-TuBm3w0M~MO2=42H?6O$=NiP zdNr5C43&haab7zge;c$_>!|p7X+CfUNfiq8Bm~>d0_A3qDLJ0&X5s5fARe04)GO*8 zm+NTisy>QlXEaF!+s4UseGj?OEW-3&66BVq{{~P)lFQ#t1inzlfvymWc01&(S7C=Q z{hi5)#pA4?6|3gco3B?|pEg(2SJAChZnE5AJFS{t^mI%rTf*uKTmo++j^oVvvRYVJKN;#Kdq&vK^OT!#VsAbNYi&AUYkdfB$ku49N#W9_F7g z#QonS$V0jj*u#l^n*zJIMkzL>72@P}yXR^-`-fqQaFwD*e9eFC_sNVKx|F{sF{qTV zlo1|A^`ZmiN4zK%>W|gvLp{-Nn&=6}{KJ7p+P0YUq*{y7&(p++o9e56e18y8wP_dq zlCe~*FH;CJGA3LKN7x|ju2qqSimZ)&rJYypnnNM}b!d;ISe$sqL<~_EH7(ciLm`xW z5{cPvDDFs7#sUC0YAqILat&f=1bQAG?}X>AU;>y6)xv$XTU_R7G5xHkh6JxCSd|r4 znv0Km1EwmbC}v^ms#ZDdfhA>oP=^LD$2E_Ud55wARKzL|pX_dGXqt(mRT&bwCs2~H zomxvZ1s}uNsC%n?K1!-?$g?zSm3>b8_3M99efF|R{>IJw!(*7xC5F=pl^=1T zd(vmHX$b3l#72r1JkGE=r`VbdD~|jDvz)@Iyq0qZUXfxtft%TU#*^smbo%z;u<>`< z9L6w)*p=b}c9uJJ1+8iYZBd~EHW5~ma9g&H@ag>nR)a2E>iIrY4Q2b7#kyM6^7NGb z?2K|HOw$2vhi1RZCj!Fs5(k<#)R*y;|S zALtne%%0k`#nyo4fJVp@d^sZ4IEsKEj)4f8;`9B=?{S0cRfWqq+xh6Qe7-a6M*I45c_uI%VLZOBj=E5n z`4!|JoR0gkjmt}g3^3b|=`Y8mh=`$WNU;3sKjf`}ZE0RsxNaZ0tQGc~agBY?eoSq{ z4o0}Gk)K}t&uMHAFQ7T$!leGEhoz;}*;ujwhpNQ{bESGALA$woBn%2j!3>T_e;+ls3wr=FzpL zDhL^@FN9#smJyWoZ`4?Hfw$cL-cgw{TU3#{ZL#Iqa-Er-@iM85OMR$o=|WgTZZMn^ z942ZdsYH_9vH`iR1kpDxwr#GU)5-gcnc2201gtuf>PK#U=HI>F&;X);TQu63_>H6mBH`>3RO8lE&xt5p;hgS-)by z4wZ*?sWmbic-7|o8v{IPv7`Gu*E!1FSnr=cVFY2sUkyFiWWKUi7ugaQ&-p%h6GC53E0bDp5CSgb3N=p|4Mz-?*WRGij!Rpyw_HavL=mH zKc2ZSi&ES+_?zASdWCkuEFX|bXrw-=?_Mv{HaX9@Vd?(PH2FU2_xn6OHE~q&ZabWi z9_RLvOjkR%xdJa)EQ}2`_O?v+v}092>{_Dj1T9Kehhnx2j4krJRh^r5!MILZ@m%m9 zESeW-8wJuTsIP&3I^5%8TdWM(HGxqxU?1`&gpc}mE1t$KImX^zB|>(&SA^Nzaac|C zM}_dwV3N)BuCE5T0eBfh;P@Y=%J9^zuYEah6_Hx)&Rc%de8Kot+725MvWl6f1ooY! zXVq!=u|*Fu70fc*PBkapa(vC&!Naw%CmS!<;bSO^5?x#|&XHt!yM`ve zUn%w9ZOc2Cjovv(8OHRNE*VS*pm|KVmgGhO3BwGX|Yc2i7^6>^>yO$4_u@TR#L&TWGKGe7aYqkU=|9Bsj_gL|sqc%+AV0)e);?A=+1XOZuZof4aHH2V8p} z$ago_zqbJp;}t#C5kg0gk^(JvDOY{Zq`L-{?L{cyca63~9#}<76gvrGVqMxj$AD%7Y^fPhPDwpEttMmx=2u z>cpOhZzB&`>&iV^zu&4K>kX((#Wm%m@2$Je2yjYKr=c zzn+MMDSELk@EUhvX|Ar8l1?6qF1g0v77aX=&Ka8fW6{n?g4%a4#}mbnSfN1+G3}Fx zKm7FJ=QZ>d6M*T0ugKCZk)6k~J>BhBvjQ>xVDY8VBq3dCxnvC2N|NY^6rvatY463D zn7=WEltw3QM?bWM4q0Ym7+a-;>fV9@jW=)loSO8kLn_RkE?P=Go7g@Gy} z#ANiGWv2a;O24idxIoM;3C)H;mI_0*Vq$@IViYMmjqwcU<0QVlaw?ASH{!NCo`s*h znHj@3yPMYWZto!PZ9MOLli(bsmhGpwbq;h16xS>WEU|GEiD~fSfZE;A!~MfuXYSR1E=*amNRvT7wR>*MJn}f zmSwGX+mz6hX%|fU@8|w9##a16Esp~w^fbzknV~}Clfj!2WF80gpD9jZ2W|Aki%W%Y z#-v!VtU$Lr-)=M5!Q>&0ZaF!Nn7xqZX1mkfH5#YoEn#dBbRJ+dPa+tm;?y)G&48QZ zBP;;Rvj@%T%0IypiZFMk>9M90F9e7wZX5l>yowtzYAitFf8)w)P9QNU1$8Lih0$(r z2D>|FK0-2+#y=rAL8*1c@#q$@snBA=t--O>1ipU>`@1W@zNaX~R+2&f)%Z7gjG1tP zNKQKs^=h){D{{75)C0oU`=d15=oNH=ofsebfD$n&hR#K7DKz;2a%^fCqIxhip$;h) zLYRVZG8`*9zbN*t^_H{I^|QD2sc|Tg;ph`*+hWh69B(D_t1RrOY`hVxF^k73uomJY z{b4I4U6fp;u}K+*$hv>+(^KHcPx~&67iv`Y2f8MUKC$AAYAp;Dy3&dUvL^polC4NEs)K=E z*T7g=xj46yg-ckk!+^fh$fZqJqnI+rL}{#}U0t_sYH1IVyjqO_+u_BJ?q(mQ2%k&z_pZd=jFEPx<*6wjudQ_;@4ZlY*7BdW%pd{W0ZiB`-_7 zNqGO<+HjWFr2jEL7rDA1wJsYu($f!`2?9XK6P9eJ|1DP!^d-6m?k%bOfUL=DmRj#M zzvB7O5bLwgzbVK0`qbBfVBiCxDbMUWdH5`SYs9hKB21)R=^i9!)=C&l$|pihwPjvb zPBl3cJCTj~JH0?7G**cuwj}}gzW^J*klfrvEIfl0^$c{{oYfZl{!*~X!0N2P) z+DAQ17I@25OL#JcK`AZA+or@B!{yD04+=S807~OjZ3s(dKxQIPOVrNkNL2P)F>J}- z6ah2fwo>vSftpCUih{Er(_YDu0DRL{$Ehq0CAN`!wJ5Xu;l3oKhxBKbLl=5>7&nzp zP7;G8pq!=E0C6bjT#z`B0O z5d0G9p(!}4VZ*;W>ePhDd#??ZY!$_bQ3zpZAC#EO!0KSniH>b!IKDS*8ypTe4q6C# zkno>I<34X@ng4+afLwbB7~_|95vh%}ffJs{vXn-uja7j3%}}gW6ij9rS>$7fm~*iF zyf-RS0VjGmJKpI?ze20#%tw?bJUT|6=WcBs_F z4&9#_GQ#$Ss5hT;#TE}ZeH2W3m>2`3D?Yqy1SGy8NaG;RB|1+46H=8d|MaaG30{z{ zL)R(`D9(Ag_dt?}RXiU8%pfqB$?2_Ou`FZ?5Jvri3JbjfJOmCMg`ok>**8ju(+`I(w*#xmyn&Vt?jP78=M)UC4$Koc zcl595{S1tuXcW>gGTouAWR94^f=yONU{UQ_2r4U(ZumLZq8gdQNhx3_!T?PH|IkLH z@C_*z_18(QWNUbnn@I#&0WJqDBs;Q5T~YCwkWIO4YmYJVIE>MW&^|TF3+5J?L}?PE zhFyXN>haASHIxX4dTPxOgkU@p5JFr$sY$}lO{47y=t?vk& zn5>i}L<*|o5wS+l7}dA`%>5?5^~m$x7}A{V&~m0RGdQlam=3AqZcMGk^Hr%; z?r7H5tbQ9)s5-wdUxTe^-^sB((*N5%zURl-y zLDW-`DFa`K&i?~|K!3m2(=So;e?USAC5}C$T#Ck^)7VtJ#8b5Akl?~&`iwgC^s~U! zzds8ILf!cMB4*Rg?=#DG$|(kpRyHt_%I_a6⋘Xs90()6P|(~ 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

      =!br^=y)tnPLY2j7qdK>J7<`_fB_ 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

      P< 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≈Od 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

      8nHUyYNfSaU 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


      ZM!Pm2c16>_QLaXt4T`$s2|3X| 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 ~)1Ak0P9_4D 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%0DxP7vhINhNJVr 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Μ3O%l5}D#s|>J3AhYkr`+4lm|TjDf;pBbhXg1EnYb7|_l?S>AW8Rs%6(ef zNnP$L@f2cM4uxs1je|lEmyC!1OervsXP1o{ne?H#>7h9qtwBSL&GVd}AqMAp=+2a* z^NoSOat08ck~`JbvK0|iuAWPB9Kw;jZ07hT&qP4IA17WhIkM{ytpU0n)D$CtdR&Wj z@Hj_=o}_jgjXH~FAuBqM+R;s!i$x|l+>vyZ%)7jBFHv#y!Y!keB=&-Y>FM;SF~IE8 zo%oCsk`48f*rdYhjd=rxHn-Z0E$Qt}5X`V&_GZOyZKqu>_M`P*(?HrWbNf5!c28@pClgQU~IdVvC0I-8(BqiQhw2Mx? z>=(a->bH$?3&?8!-QSw)9UH;%>I#ekE^%YLF2{X9(~x~uFcH@|JpAjunBW5^k%_Ym zxsBxdVuke!))?n1!5!xznpJ8~(KK+SbJcwK8q_5_;`ET^pJxEwDelwb$R@>pX}T~r z2(Jfy*Rh&@4reWs*j~)Ze9t(nODTC5MHbAI2>dTz2brHXJ%#S^P}_TDM|N$&8r{OO zhP`>G?dA{t9Qt(yN^!R$vzaj*S_fC~Vly|N#hmY$&87~=?oj|F!6yHJZdQ?Hc4LAZ zyku#tj?N=cNr8{idlt>RcOvA8ZNv&`jz<*M+Ka-?Z#$g8L6%qJO$WI>RT=I29irX7O%4g zAS!68UuDI37ZE!cNskU=Rq7wqUVYZPYu*Xew2zhhB2}tB7@SHGsj>L_p z;HyLbC41hJ`77v%%r6SU&L7BohD|aur5<;1HMg`h7h3R3OPsu;AvQ4`T|yVZ(z4l; z@z&gXvXC4QAOrwy5C8xG05l>1KmY)(FH~zqQ4API1gmP@K^=Cp-Lu_*vR7e(E0rmw zMM^1@QYocUN~M%aDU?#60YIt*0BC0Mt_}e20skz!e}^@Z-TY1(0uui4XQCZ?freI+ z>QNhciw2DXkOcIk?e;TF+p_(>Mv*p6ekZH6i^H?dvRf|>58u|;4S`Q&J$2xV)3+_> zf&ow1Y;6~Dfdw!Eb_@Xk01N??$O0hI8Eq)f-+rG8s!V}423Oa!Ct=R)3%AmY(GF|k zIHA3`86284N%HUFm-|kB|0qc~NlT^nOGzZYP5D+X&;RBn%NL{Y&bllIeIIZ;N5- zS$rYuw(m<@et5^`dH3Ag$MR$;ftbLu_Uprf%R{>HT`Ix1Wz}2lwpwXPhKY_x*++2y zb*)d;lU&8u?I)ItQ$|iyP>4{WvnocSEuOUc?Qxv&m@0EI8SF#~Q*?)V$uoE|V$R!? zGx<2edB3|Cju{_H$&0KOJ%s`s=3#cUO2=EIJBLq@2^+B7Lq}`@I8&=vRoN@Rg1>5yq>g%i_ZAwN`Iq!zj z+4jyfzSbhWR1TqGaum_8E0tvmT&5vP{fBp<9fpI)$-!QXXWpq(Fayj=E0t)4k)fFT zW9AXd=nV09pc7@lmAcV&mvkDAH>~wH;5E1ombbyarQ(sXLT1lN@ z9IikP<%^fcm#X)+8hG8%Pgkxv4wgM+4*IA&y_P$fj+TNnfTlFRZA;1Xjdxe~t$9!I zLeSQq$9WKTCh|?;GL+eDD7qg&FP@p+gEJbm>&1G4;&<;IuBtH9d| zrF1mo6r<`6y{MvGTKm_QB9V`Uo#=3m#=8y(jZ^TR->+;-*_4^Uv(MA}7!pee)n*%9 zLnb`^b6=HSSQD0Rf=jhY8?)s)i8u0=Vorn{t4kRtLk?DYK>(2KXUr@`Bz*)@(qi}6 zl)9ADBx&yn&SO!pmxrF5I-@KiDE|jWmNe-LE9%&_kvtyLP-;6~$wLGtmck$DW)hiXqjS(lA~rRQz)4>n*kfiOkhOX22oRHNP6R^UItjbeEPR& zMywFTXag!vhiG9cO2&>Ew&WZ_1wz#{DGD=$uX1b3?dEWM^Qwh>k9gDMvS5q)xy@ICA?;I3-WuY2%$^0jj4HKpY2x7FGb2m3Gy1`a7(cK~@OZEF%rk;<5Uxg_+lcAU0r|u6 z8sd?lD-oH1wof3z5Np~3|M~%}=IX@Fmv_)+&dSarZ1Hc1pffU*r;{jf0uUNX&^tKh z!J97{Lm6?*+o2~8N-8A)_`+d>=wDj^e;Ci$NLNW;o+2)zXk%#4EV37)wP=TR!&fQw zcjM_4GRM(*1pV8gJ&;E7IGT~iQ=|oOj!mRAr_`aEk)<$>r7zljPmZ!o3oa78=%rR~ zOhj%VvS`|zm#)fI-(K3&?C69c@;2Bqo-$&p-$FGxB-%u6)L|6r2#5kKbom8Jb)7gl zMCue~DudMG(Grils;e%9sj1P>jF;x?!UWYB5&ZhDFlVo>cq^)%=h)2EE{cXMdQ#1} z+LzRLshR^bCH`$1lVu zvS_kebIKcBJ!hV=br!?lRsNx0LCa+*uEVq(Twk1>cP-o2s@-}8o<6D3br#S%McRbx z@cUx!xm)bJJMD$h6t!dA@oSXFA_2DUCbP@Q@49GV`#2NjUj55X0$ytD(jP-aJco7@ zW9{;}j=lPVzE!sM4{&;r?F&+;OVgOUvUMo`E>6I|WSDIyF3O`!`EN#u7hK*gApS`E zf?NmT7DH_egyL*{u$pXbraS|tUJLM3`rk%8=@=s+lZfzL$Vi)0((jGdZLT|p+EJ{3 zyP(do%~%`G*kX0Iskp&O7E=qqhegHPjrvAaSxkHj*Q;vWd!>UOsq;e|Zs1XvCBQ7| zuJ5tlE^;~Ug1sZ~we?4%@Evf>A<<>sWOl?0B|xOT`kOKfxj`9uXhHZXrB|1jJ9m}y zh2W+aFtPZcy9&n=7wRq|G9kq|*kQLmK{BAY+mFkPsPOh9GYy)&<>ZGZ7$OfAAMwYPxhnnyb;fR4X?Ud1E|jlPjJje`@2 z1oqwm#UmRJ@KUpHSz5!RMD0@GucrJwf4^azjmPJ9E7$qI#P6*CYgUvFfNlUSh0gq^ z!(*9y7LLHB1h;+Tl;DLNhrUPts;l}-QHGk{Wyj!+Hadf6#4dyo4h40lD%DJm!t&I| zvx%te^BpGne%eT3bZ{{%!8{sP#-|o>Z}7%k;#){?eqg}jvHrC(n>YYDfnh0srN-Z} zZ${#CN)PrY2(E`vC_m4?lNQHEDP)%s6~H*+vV@aWs z;ub)yl$O{C9Xx&vF03qrov^Rdrt^1X8+-$?rS=d5=s)#k^XYVo^i}0c2b}dXLDo^k?xHWJfl;lad z3o#q|cDUD?n{cw|Ze?y3+q>_;vDg#!R%9C3IBL9{-K!#s=(o>6@$>$8d*v#*Y3|d_ z^E4N?V-ZM7zW22V)LtZvCFOKLsYfm>Vzh(SUS$EmJajY-rqaJe$dvRZ)#3!oGR!PX zp56+X{cVXanzJg!mt&Yer$-xqkDuI8Bfl`?QT;dJuj5=VLIP(a%ZV8oO*Z0lNwPwP z)f4+I@+Hmk6wBmkHL5TZq46?Ks-!C%{8&9+YS8p?Xw-On%7dwndx1Q*hdUd>-XJW?#CL_1ry{g$SzHBXnfEBi-$jw?a zbR-d3`>T!3)x^U@Rc7L1Ld8>wArmv6vT}~lLw-j4%b)wd!H8^(U=mbmEpOC<-k%tFjqY4nq_OdJs!^tSM|F&qEb3q)mn!J7aMu zkD89|jWRDF;i9>}uUDQ@yxp>BVAC&Wks(IGGZw_?XqZCf_$yCD8+7!jNX@1WkO#fl zI1#d*-6(I(*9nn`L`nY{GnyDxo(wi*kUa+k8&LQ)55|l#N}j{v4F{7PbbCe*C!VLa zOe#?FCICn*HddrCt^lBH#ka*@`a)=;5Xr^Q_|}tm1Py=^20MsfH0m|Ox2oU8Ushst$XVFn zVm6;%L2WCNa1!&107-Ow(WTQfl70Rc zImhV(W-3Bnlt6AVJ9!#}RY31RP1B^*kzDT0E1(jDkFLY zFC26?f`$z00Ma?FsWbiRu)vZ27XhNh9ju6`YQVF}k>3|1z)DctUNQYxHAGegQXw;v zF!(3cTs7}wEU?JfEO|CM8A?4<&BaO^70(FrFsQ(xj8P80CaRM-P=X#D4xDa4xzH;l zd+{m{tohf~<7y^L)y>#}P-9-3DCzOaDvOPSDMdItB(z#(XK_qO3S0tWG{LF__ri?$ zJTx^oY!;quDC;QbQwrGPm=Kap327V4RF67(!;W65@&NtmWLr$8e=Y!uGpFC>Rw zI`6twKM>(4s_kBKIHZWUW@+%D<3dFMPnemB>+uX`Te^cgIwst2&1QK|qAw+Xzc4x? z!_$g}CjcvqfKAwT3ZZxjKoIKa2L+WGfB!m8^ioxaeY&k63Wj{5BH#xt|JwdPqwyQ|Sj~oxoUAM_w|Dl5NW#=PuG@mZhJc`8HKlYI>*}%W$Zd<3 z!^kF~wMAr2fh%EGVlO7v;rkNrWFF_=TkbzzfPpbUA#_&dCKtD+bOlf{2J|wiWWcqH z;1UDx*CK3Wrd_Rn8H143=>RmWXG|uACJeW*S;-jVAYN0WliNqaYs;2oYZf^ij>A_r z`n$o||G5Ey*sCopm{UR!Q(y&T5c+1-6ljF6CtJoEJS%dt38QC4TN-P8{)9Fua?h6P z#z>BlWdO}ZaD!ZX)Eq%MddZyHXXg;j5wa|yJ*19qs`}su(Q$1r<#T|h6u%8q)4v%? z)uQMpMetA0*urRyUNgZsS{j`(qYR|`nAkLtG(|)~N46nhBbyByQ}xP#G~{#b zrPIF|V3Sshq$$&*|M^8>UZYbZ_eFE;UOPi8`piV*vW`_np8 z4A-!4$ukzMA!BT$=upn<u~MSPccxI7)r(3`8y;FpcGxFg4P*j+|h2~_q_H| z9kEH$muPafRu{gW9uWUC4jEulx&E`MkHUrvEB(}U02787R#V~69zb5i=EgINR9T8R zu#D{`Y2Qme%xb{LaY42ftM*RGb&Zp3l&fcwUSfGR-?(8v71*UMMxQrGI!7<#Y(;&4 zNuFryCjsdKih(v2#Zotyp0xkSrP=^4N4HcSzo9lC(y`OJsQ{H&yGrbRrgoxZ!CxvF zu8QDNI7Hi0sv}xNv=7o-V#jdq5eMlVF=V_$UVq9N;8OD6=DFz|jkVd)Wp+&N9VpfxgNcplU2 zMg%l!b1`m>ySOw^VBbV|ThbaaITtr0Z!Twy53TZs-j3)qZP=Sh;6WH&HfZx_VNB~y z!ey4;2?yWg9Zw+!h?JhU!EpM1WR4rW1pZ{`8_DMA2rDaZ^r*vnB&Yg%xMdtohIafx zs2CnnW3i!d#wh`PQ7`aj&|dIM1iX>ljKK-Y2`dmU%y3ya_XjFuVq$QykEqNo_PfWq=3N7(A6XfHxekf+O_+ zDR?|d;RX@(Fc?^yvE0|>fH{%>&)bz0VfWBLL7sqfL`3CRd&c({p-~tP$-S^-=rK7L z+#J0qhq5I9vPozjl}uF5jbe<#@?3c4=q@jkGQLL$xIvAmwE>6)=Bpeca3S-0(V(9t z4dI03gzk~Sw&zFCyvbTz1Qf_OzhZL}0j`NRgeo|p=3J-O<}7&7xc38{Z>j>gp3TEu4e~kjLm*5_j>|zd3HWXuGjzeUKGeZ2EZP z^Zj26=~wJxK-fYFPmn%nbQrE!p`afKfW)YiDM!#cMc7er6=lVj20KjZ#Q{X6oNX?h z{xL##-+-F=&YVtVN~49M5~qc20u~p4M%^RGKwMGf4UE(kt>4g8ztl1&SM_;ebrRvb zF}+N(@!$FgedD{vP2dk&{`u^}{M`hmV2zY2^iPMdq8F(Nq|v%BQl4lMZo1hVNb`mY z*KyhA{2};txIg17E_xDcLj!g$Ov5lf`yHs(h{{nk7#SEN{N9iuJ210=QLPMvDfVw; zJn=WEDBWY+nB&v&xlDtdQsAJ;5%J9J(i%tqRGH#w2sG*d)!1%DbJ1N8L?Jen(|LG7 zX4?hOj#;Z-3R&Q{ieac51roVw*IO?<(Cp5`6mq_9Mx9zWagqo z9`vima-<~1bMV2agk^OY>FKNOSbfVlykO}|lKYDizXp(rmRE_y7;qVyo%Xi@WEn3! zLXdzEAOrwm5CAX$05l>1KmY(*FBbu|I#jJk6zy!Nvh516v!2bf-3OGb8l;M)QA#P4 zQYocUN~M%aDU?zmr2r5a0W6xpJAebid%yozbS)oFArJ)cw?CWRfCXYu(W2d|rFjVn zgaKF~a!a@RIZkOcK0Kw?ST=u7+R`Qr-#FDdyKLbbUVpB5iixwgvupzio_sC3Br@>8 z+f+(50RRF35CH(0nYg1U18r$Vmj3>C+qG-zvaaIm+Nq9Ao2Jj7FT$D8Tt3GlU7Lq%_&g>o-hu`6 z?l^&h7M#7OFycuLixIUSth{uPKSy==+KQ-P2>a;TV>) zHVM(-_~{SG%Lh2Cx2A{tw2)0q^B-n3ZvaI;mk*?0~NFI={N$Ze5!S|f95&176C@X z2q*`-!qxm=rH3L#kd$Bc75w__`U})b2BFwfxKvfe{tIS58c)Nd?DX9?OzOURG! z_jBxbuCD(6^|OmGniyzcSjiy znAWV^=65#$<);)Nq0!HkK)+tNT1y;IYLK@C^P6s&O7_z=GJo~gZ8*h5Ro_L?FmlGj zkL?7^smFKYTPEeZN3yrj9450NjLGs)#bPcMp}W}r%p9D@%0ypm92uQ^w$z>YXK?dB zo{(at2=J|Y{kwb{wnj=xsqRt=2X6b94bSEgWQ_(&h;yR4_vHqI^#MXO2(mKhdZHBX z?pf*#NgvbeE9$SXJQHm*L0hKUrYsuksAA+TD7X*JLmEP+67RuJ^4xuKkc#<0>Y5 zUc5w>z{&~YrnmyhIkIe0CKf=W^r#(TM8~^L%pJfh$m=uY@+>VT-p5?%RX`pR*o2Jz z#{7#F+y7qUGmV_jYOL8;s*s@2VxMHmcRh9gu9fWRpvvnm&p+j__p)B}#kL>OTSf@d zGWJwLO{VXg44~jcC3F^houja_O70_D0ISSw)~E@@q^Tm{962)jRN@+(xbM+ZWl3c7 z7_;H05}2{8Ba%u1&oxb6Z`N816!66&Me+WsXKO2paS~?y>`A8=iv6L2ti9*484>%u z7ptrHB4%d*y2UEbbRlW{Dt>6Kzy@=p^-mie|EvwATXZq<=aq{+P`*YWz_72`9vFz# z_O+!*gKIx!EelZ{+;F>%XMR%l2v+BBS;|F6jN{fOYrZ4S``%vA9XUzl7_3s}USM3# zL1-J(^XVJED`Nl&j;@-_hq*ttk-qnT8wH8i0eV6pevF-NYsJN26JB0}YNDd}8JjX3 zlfmF7ULz`6Sc$_?6)u0HT_Z1m086lq9>V4QfWERD({4!pGP=8D2h`p5I{t;y%Pp?&F3c$^FLsg`1t%{2_rwg(*2yMx zxv>EM>=g`YL}}!-7dxO7VrQ#>g2CIwo-ob?8F8lI$fx0qo((dGrhL1c6+ZTp^LaPx z@AQxTL(loHnfT~Oc-}0OKidcp|630B@qp^7pD{Rn8{-V1thBs%s$W2_GX@bsV+9CU z?%4Tv>C@1R$c6l@_XEMAGIl-IwwN=9veGsE_S@4df^&!lqBO+4iiUDEuED!}8%As* zBn~k8I9f^Eyo)Lp^m|FLCQ1gBE{xXga6I`6<O;7beke4$aNj!E+MbyDozH}f>h=j@fjl)Kpqk0c1X#SQ+yn2<_d+|@Gx!kJ`_=WjY11n?sM;sB70DOe z+H+fE8CEu-GCW2EG_I=>)dRe=So3ij&9!ZF$Xd>-y;1t7beTF! zKGs_ssvAtKJk?wq5ggLBys_w-(Bo*ymcco^V#6fLuUVvy=Gg4906UHC){1j&8DZ!Y zQT~xE*rx1+>Dc3JV@HD&OJg)bK{hv0h9tIRlu=e2W>#hcSs7urkXg>QrYn}^orHn5 zHDgygVg zVZ)n|8h;r}Xq4JbvVW9Cl>uPw0Nk0?(kiOI!10ZZ2P!(Om4#jEA-Em508KTv(rVls z-x#@0l53Rt1)L7T-zZ7xJb>jWTg`p}Tr<^`sYM)T=`hv~A#skwt;8X648(YLyvBKGsv=yM~4Kz5N+jXv<5Su zvU{lvo|OX6snl4kYUhbqVJS zmL3o4;|x?ZC#gOe>jH8zdU1eetO9g=7PDFKe*JNCl}|!5i^l2857@Zjo@P z`l&&Zbt;l$*-sD>)}wq5Tdh-h9j#tsaU_T9M{>plA>midHmhE>fyD8;pEK4>2Ut-p zr@5Z`7K;3Y_U~k|c0+vvS3V=QzC{PsyC+K#Ehpui2ibHZR<65SS21imU5$RA$t4Q> zQM*lFNynXRh3zYuzZ4xtU_x)n$uoA3;Nq7{R^!IW;BIASUcQ4WMo@i`Z|ok56Q%fB zW~mfGBX>7dy7Y}`{XW`HALg;I;Uxq7deSg~c^h9o*(~W8--!7NnSMyNI3|)f=YK<` z$0{sGZ@~=^jV+Ej!A!1|6#EcDhsRGwo|nm(#|dD^y-({ko%mMFF+lmr%66dqhYW7K z#3#t{&7&hi*+h9Cm69{DqfFGXUXJ<#l9V%B^NwG^#PE)Z3YuTxN%@bdMNO}OWPwdv zpoLqnF(hUnbK&4C-u!nfz-I{zO#^<$$yRsm-8aH?T{(nXJK~ac>bd}+(=4u=#mum7 zT@ABI^-mN*@k(dn^HFMU=$W~mciaSU*JzGB8uuYr*fZwr(TJbzn@2CF6S|K-Xjg<^ zKto%Ppdif`s2b!kmz)XJN1=?OWM4x=HIJ=8`bKypq^fcB_o8HvJ8{wILE{gV2%nnI zFh=LqV${5YppAx@jyfeQ3`~1yLe7W116XO3*aB+7Fu*s8|1{`i%A+zCKOWLzl6Mw} zr3@q`%4P@Ce4;WWG0ve>lc6x4t0j>a&+GksOnWSK1Zn{9i+>~Ep7Zd0(jBHibPe*I zuR8kV9JoD?j?s;#ov347A&vi=6QGEePpCpoazVR6zmgF$UNnKW7>kr_gmCt%R0+Tb zxc;)z_4~%;hf`D{LHp)~^LUXZ6_;~7M8(*QmLWzUI!xuW$!dTK3hwpq2sg+Gkn~PA zR3`os=GjqM)Du6fGv$sY8)EJGGVqZ^oDnGn4LFSDfXs)u!xM_1Atx}Ez*}bnZc_cz zMNw29z64Y;@ORRsL9rkes`?-6JvHij784b7w&FNe(D6=Lf!T>M@-{6a~J zG|DpaT}2jDJS3v6peJYOFKopLpjAumv}tzs^F#AskC}))!V)n{;Pa2mbPX(tW~_q+ z?NqU~C7Hxv!oUbt_Z<@WM3P2dpL{RjL8_RW=STt34%Vr`6`%v++{BxVQ-C3Dz?nf_h|W;#?0fdRcy`KJrT z!^K9zFnhCOq$NfMuv#C3m!TEMVx{bkl3tJ%=qe|iipU-2C<;8Kv_z^|GKBAIOIa8L z@%b>zjs6~;S0m}8LsZT%g|UjSG0|15$5_C!l)Mq!Fi2=wDu?U77zlCA>x_jVh0Cn0 z8eM#At!q|9ngO1b-t3StLc=yCVMA;&X}qT7TG@rk8i!cn2HJt58(}F)cbY@2I(D~( zC`;Bb!7-bXvUCmu4zhwl0MDtvX*Y8IGP;bcHIj3bsj6^q1MOxBQ5_09Vi@BrBe#W< zASQHV?n9hw)wv)nH)^cVmBXK3BLa-Q~ zbE-vKK9N=+a~^IHq$<>R47cm#aiop6>liNS>j~6=dd-i^BW^8Vf#|`8x?=rSE^1%@HLE(Z^)cV#tylO9FAYB`5~FHP>#yZtLGgw zoe7+fb<{+~7^IiqM4=rf37Zs!UArp$bm=0p+_SrIeq|!F_B79c~ zNGSXjiA*i;m8f4j9vK7?M==l-M!?l4cEr z#?Z>hEsHL(2GMomo}`_7ZxpV`Hcc>E&f;5wTVWhW*1_kBNM|V>h}M!$B0FEAyNMr< zLusQP@)R5KhMMmiWxWtDzMw{Y4%SEU5y|YnWC*1LA&PpR1;{4nf@wyc-Sx!0rpcL# zwI8l;CWpc4kLWh?Of-0!BZ5%9#DANd45*E~ka`8UNo0$t98r%N%L=5XLNna2zz4O% zpfOpn6<})YT}&hxmHv{A2Gy;cn`;tc3uBF{jcja`hSgQj<;$a3s}0nRFPpH^Ge#U( zR}nfdBx+d)c^qwS7r;YnHk=U|W9v4lHY$VbHMSFZqidrgai2~jC%j^3ZK6_q#|}Fo zr~s3i=jCN`=V!`{!WM%vVQi+Ru^p@o)|&k@im@B&oFtGf%~-n3pGZ-5-@XZY+hfi!YZdOE7|)z-q-gMK==V4l(IxPV4UlS}+(gtjw!^QHWs~c4sO^Sr zVcQ0_wH@S*FP$v|PK-F%sbbZ(w&P5WWYybhK!+-J?K7?8kV3$nNGahyy+%#MObvUD zpOB87rZg$$ri4h^=mtnCnsm2*SW$&D?xDf%>ipYgyTciGZDjl{YJg43f7+0p-lj{@ z3%sg2+pP3bMc&QCols}!Y=<49Y3y(&JB`)g43Bq0vC+h*hX@;f)q&s0jlb*kaij;} z6BSQf1P1^*#eps`(D;lqgL{b`?^3>a#=wLF?HIcx z6rdq}iNYzl-F0h?@OrU9W2`(@xMD+LE-UwsYjhc7zB;{lLFaoGWzTmcDGp}Eg8=CN zQ#Xg%0da!a0Lqx$vAVFSdriT8?^Q{U$h-l`L*lf`@TDfD(Ki!@3yM#PE12vKedLJ6 zHDgY_7&!P3V==}VNec~O=IlS5`i6W&>mgs_q&snmGo$%0OL+~)sQ_Yn@%0<*+zW#D z@CtZhrtw&nS=C0Hxgo6qD;>y;1I8PXQaRoKEi*{&mu~vnzyxD*DuEGjq{>k4#c>}@ zG5w`j^LF}wy`6|&5KJ{lIf#zR&up>RmV7RVby(^Jtd8LoD}x>wc3fJeF7jkxqBL9W z$t&|<#b1|v9%Dr2g6Zhr9|!DWsK%ASbp9tuC^X;djML^wPR3(+BAYnR#VYcBZ%iLL z`U;GZgy&u%g6PHPuZTc)1?Z@>^pw~SLe*>gq|A5ZGeZA#uZraOOn~U@h=#&ShewLb zhBTumi5h_$q$BYfi5sOOSsRfXrX#@{NFCFW6pqY|)R9OI(2dlQe2&zO)se9d9ELvw zy;1t7imDhB#LldaEO%;;BbgJdSvt%2l#FhNPqb)|Tu*2zCo~SPG)S-~bQKdChu9kA z*%SH-2@S>U2ATGR;DUC8b|gEasUtg*q+y&Bq@?XJs>Ud1a8DyPLOGFplebf(OX1;1 z5SkR}nD$3UP7)+^M@+#i0BHs_Mm1tJl5{ab^~h*+l60{_=-3JDGSxgr$}x9g)V1R} z*zr`{Cbe4DjdDkj2z8dOc$hI{$=-!Z*>a*Okwr5{HK~!nhmmW7B8e+x*MvkOSj@Ev zL?T+yt_g``xu{)}6A7PTU6Tz-OvAe-CK6fW)FutdX5&gGgJ&0~%w6D`oJawV+=?~; z4OZDdC_<-5LV80dRgIjb6N$~SS{q2D4xXBvNal{7n$Sq-44;~UvtJ^qCw|u?MPg9^ zwTVSCR0NU<;h8JcRIT8ep-8faiED@=$sj3`qRt76&asMQwlEzN6bYMg9TOBup@AKf z6p5&jDiexi*HGL`659@80}4wKQya7eRDcj51ORam06+i$G$H^%003GqWB>?Pz=$eD zu86knU95Jy8QHtD&bBZ?m8-kT>>^65lu{|BQc9(iN-305DWw2P01z1gE1F2m00ZE6 z^Pg$^e;5(A;(NXsUlZJf3$TI6#k!&yc>x9p1ZW4y$#(eTywWXxJ;lN`t@z@p18s7_ zC7xf_#S$5wKWp?225;W7up}vQ!fTw{wk*W=1W>@wFeCr~GXq941_0YoYisM17u-AU zptfgha$(A{GhI?I=@X~d^g+fD>O4`b$xo9-Pf0WZ_mltqW$k=v_vxaDK3m0|9aE1# zKP3envMiSNoxf7swxmTG>EjY2C83~Mbzk#tN^vVePI4^i)Jjp6r7JGpvQ%v)SH9lr zYLppOpk^VJ=_RE?zh1HrGK7*#lUmFRP$JuR5CF6?_#MYy&r~pVG;l-LV!p-Y>xa}b zfKq4*i{k==I89}9^h1c3{)B*pO7c>^z=Z9yrslPi?%h58dYC$%!Ga@U9X4R8NbV1) zum~i0<7THQ@)t<*il|^QNc0M+VNoPh!c@Y-NU9Zf!oosEUu*Jr61pYs2s@ z!_v49TNd6x3}3Dmf;SOtSV1Wqfo`b6D*u@+5T8)GFowuVisX^0Y=jkL&!MNHIP3+4 zb!=XQ5iJ;da1|wY7E~t{>f35ypXkfeWX2j|M;k%0UPTSS&<4K3ybRIE0VfnKs^X#h zu>NOY^w57*S)qoJ7F-LNrUrgar4T<<8QOmaG8X;aG3{tW@GES>h|X&P(>kHWo8)C1 zTzKl~VE-u{S10N}H|oeTyGz~OlKGrdAq{Pv6IhmedRT^|ubNbifT$6dS;^Yv0yAIN zN*%sW&?4wyu@UPQ{^0MLUbgkA?Ae>3!RSb@`Wp>2Uv3mzFqxA-}|0{F=sN{bRXwRRaOL{p8j?l$va>tBK>StMTli-b= zxG<8u#$sHuiC*A2i`h_(WRsa2s&Q^9k zF0|w>NSjOW!Hd);dNQJe_`jA01(o^FAMt002^yo(s4T`8DZjriW^eO>|K3fMc*%^l zPt|6zh1CbP2xY>a7mcAUgwrGUIWt=aZAC#(P&46{B42U)=q5)L3JZytlh`936$_h$ zxOgrWoaAWqi)ALkHQ>bpljIt4V(Cfr8<1mBBvg&avD}iXLvAdD#A=wEWaOBY00Rw` z`Ogb#B?sAPgRWrdqKm@^LTi*@Bl-|UxP*9LVDIIu z6A$?%B3UTEpUSh6=+Mt<$J&p2kx- zY$m#*=zxfd&VT;$YmMvo<;%qMh&*TWiho{|I5bW!4F@GSzi0Fs^%N8#>IBq*^S)o1 z@0avFQxnx&WQy{P9fiz;5QCng*JZJ0Ai1%i)>5<| zB5vF=wk-wR|CX;gEld9Ll*nrVf5Vq6MPlAZNXmRog>n8{qz9QLMGV6j*ak8Ov{l<1 z=?J)rL@!;Fb_v-bV4K^;@EE%a8Rgb4X?(J_HkdNVk!mn~K?YH_D@CR%Y-cpXF)Pw9 zvtgNv6IanLioS@JXlJ7pG<>#&Gtzv6J2X&RH;G8I+FYH*b~Rl9eG~dkM@b1ydG8rV ze*LA+k4p#R50ry#XFcU&MLo*(AS!5^i_oxIsYg#E>X;!+{-UvwF07FDALc<^UH*5P zBsd3T!)-2HXr;CzwDBsL`#s%&xRjqr9C4Kz5s^dgI*?2JZyeOZ*r!&gB>w4C&n0#2Hr@boH1jkX>co}HQ9f>A=k@sp3(EjEGc|u} zzG^e#TY3%ufRY3b1Z>gYNa(O&IKs9eK9gqH%U&_K8@*n6DP!ED;UJ#LnX#cvo-lG0 zVucgA4#;#E#w1Fox$*?h4^4T*(#7*oD>zU0d1oR{Eb|IxdV~iAvXEGq-uUUC% zYI5#kW-NRsnEZ{>j@(e*sY#BZ6#G%A=|SsZQ?reo%eFh^xfc`eeR z*ODZDiBq|c*|Av}#J)JU^E;Wo=W8-Ll2!6bX@I|JUZ+x$DVLnA%J4JR7w~i6y^9_E z#4KQ5Wn~t|#pkLduW5i@jZ_nHBQHCBytgG7Pm5fRA)C7IjZm1D?Ok}+r1TkELT@T7 zJ8S?M&CYs7bz))v$C+0{-sM0c3>eyFqzpI49l0vls>!ny>}w-Mpp0vch^r zpivT@8p^|TCr;i!HCQf6Yn*jwJTig09<=WhDEE$kRAqGlbt7XZV>%4gs9r>H-02#a zHg`i$lQyecdK`0~DVwa@;T$aThyejk;ygx4b3)T?4%eI6LQe6zo8cQF z0DJD}U4D8EUP3M37|*d=X&E3&wm}XvJIvLco%+I@Icmo|Df+; zq1bU7&lC2TPGD?DX#Vn4_UtMZjdC&aH_UwGXilo<4Nf5ZMDplqR{ zkb}~P1t!SufQ2K9bN-#f{-f0!+qk_Pkpb+CKf8Nw>zBAZX=Cw=WQ5p)|4sG4Gm0fU zLKla1tKr5_$!L;>eor1?44wu>b>0Zxm+pQ{b@N8!pD$b35Azzw{bTHxOR z-$~V}9ZZgtnkXf~jI0E;=5oa4Gl&Q^g>+tH6nfY(i=7<*);vxDzN7jjKC$JZk$IJw zkqrLiXG$O{6QThz(8pNW$;`*kr~{&+#ZAc~mchXa^AbwvfH1rwlPxWSZ+F(}0^~`p|%{^#vO$^q&_J z8-v>Ny^PGhv_^x_^)H|L#hltx$Xw)X4Ym$y4WvTRP9rnoz%fCng-3BDxx`Yj-bFJE z95i{^AgxEuN>IkUbkFSxb|@ROa|(4R=KhAQ$tnnd!^xRO=UJ_ZB)oGr)tj|2Wh_Mx z$mC32V-&q>k*$iJqG@lG8KVWK--Pu+%)s%~D_p3(=Jy>xs4>10|9DV?Xk)XYW%D;b z7e93|=%H0~8h~&*!6_)on*S9FaS>`~A%V@(|9PhZ>>d2y0IIqFIgJy!+d~Mc1$K*lWuV*AG|iFhdjc8 zzMW*pEIrqg$&rXD9~q(Nk*BwSai?NoXUHKvld&sIiFnc3C}oY8m;g_XV&z=rE2U{Fb>PY z#D?@s(WG47ioUMoHeO?F!%rn|1>gUvz=bAd#vg3>bLBi~j*bPxFl_xeATg$OZmjhHr&uV0cbdvHF7v7BE~we^$Jll>bIY@{ z)3ITj!NFtEJG28451!uyJqTowXZ2P^qya;v{&OL)o^VE&r!D&i)_#^zi&bdG#z6~^ z%`n_f9&el#9Xn*cj5e|rytUT3Ux7G0ZO6hQw^nM4Bh=0h!kZcs2QHg`x}G%F;WJQX zY~6tx7cRcmxkjs0+t@~1rMg5zP0Gvm!>u-IvU$g@+zrjxjN=@SvLOpu<83C9mN%Xa zc#g5`T#Q!-tRxzMaJs{(<`U?g59RaMnuE1gnKr~_1b6YqNNV*7{#;b9>0y)+)}487 zkSmSL;L=y%O);xCmN6da*-m+8p)Qy30`PB761_sqX?Nxp&xRp{%dget-IG5HkO8Io z+Sk^J8LTpIeb$#flvZa0I^)YPO-KaLEolaZVz48t0vOqz`DvNz(R*S48M zakNRqNGrz&tNZew!u#!>VzIKbXOkRAI;+7BVL7Bth>p9r+LY^1d&^D1j-|Kol)PZt ztH|#KDSFVfRO<45`LH5lbKsnAA~RB=`ols#B>35Tr8zmW@$@xNDeKf`SOu)NH7fiN z)N83r{DV1Lde%&C;pzy5H8YwhpxU zZuiBmDcd$%_9i#5n<@S)Xn;`3|J+@eTbV<1ti}9|`K$Al(>mi7?Fk(Qb8KuUJhR}M zis_cWv5d>-OG7d+*_Ffe(RGvA;FeIL;;+OI(P8d?lq+ihz{4Rcm?er|7$sj@H5tET ze0XJg8&IMEo0ImAGs1I2#d{Z$vE!-qnJ!I1REW>cw|opFV>6-^53g8KbsptIM?vD$ zn_9>gg)oP*XhzTQe+)~ zXrNj}{q`Gs(?~k-Agl=%POqyRcAD%bsVw9V9>dT*Q=l4ZH{;?Ut#WOwSSl+78*IL@ zi^v>px*7J(?Rt>IcsI@EbG%-q5+CyRZds}WSvQ)xh}+BUIcDd73388C5z6Ks1}Grg zL3cJs61k%8ZsNEhvr!Js`0eMNKlkg%xb2SmG$<>ezWY@`0 z#f?V`D1YNOBWIPXSsbC3uv`r0h@5fxnbHSB9hj1lULtp7>E`o5B|{&sk;OI_vofH1 z!FjGp$rk`qXi)5gS}1ciq@uOWevnpp#7^@-yyAp!pdSYjB2$E3kXd%LLiA$T|~5~ou3{eNZ9@z`$3{{3!fe$YT&&_hetJXD)k*1(7g@YLY}d^o4gSj zgZDOu2TB~hv6(MXI()JN9>{h4FtdQHA{rESMC?DgfS0B_QEYe-AR|9}kgE_r9ic(i zG5i~t2c`eNQ|Ri=pMjb&TA|N_!`Ln9*&QDP30UrEUN1C5>})8%B8OU^Bx$)*`uCxv;V@Ig@pBtlW|-Qv6zmYadH*X zaVz4Z5)XM%P=aDd#!EKX)<3pMTGBg&yW>Y%3@wjj{DO5n+rU_{=mbxm;~OU3N>r>o4KHpjViDE%UA zaUoth5==UhrGn|mfX2`ar*^km{g02D$q2`rO8G(=_|yMF+e+v4G{{nz7{&LO(yscK zaM(Z8m)`s11%y>4QZS#2`NB;q1_miiVWI2NdfAk1ocf0=`ATj{+LeKL$vR@Ru-Q6_ zy_(gIs?)U}I%o}|rc09fEb(+)_^L+f}Wvff-6+UZBMGq7VDO^Z|`SWuO;VVs3cN=5FiHt zQ4jzC001;106+i$KraXwW;+Iy(16_?b++38&aSrGwtG?8t6WsJI9F5IG%6{jQc9(i zN-305DWy_MfRq40W(2QjATa?9jozRC$ldnmW1xV*{4$~?c>x<>p{iiGS{J;;fZqhr zfimcJfBM5(u z|0niXeGr$-6)4BLSB^Nlyy{ISQrHntD}V zR7WCpxsf{zo^tQ)5>-+EXH2+?v&y5#lW*oC1jwNSHpRaL^L6y9G-;?ny%MHlNjJ&+ z9%eU~N07t8(uVetY%IwOv zraYW$;!VUjlvl>VE#xE?s?L;i|7)?iuB{t*HHM`sAi#|5==U*}Y(Url7#}~!T#7u@)S1={E@f9bMVtZgo zGY|bL2%w%sKPc4ILF%*&fP@;&)2~9oBI}MJI{VZytB}&2me@qt&xx66Bf7rZc)#{9 zzEeTBkxuB}sq{8YDj~~jsM(%77BQYN5tYfF+57Q%AIRR~F0v#6_Fryn*;LZN8b)tSH^sxc`Yz=rXG2*W&7eBSb5Mf@CpP5l zrgS}nl@O5~_f-=M!V(6V$X<|J3)%y%G!$Z!X=CIVw#qz!JG6gL%&SJ`H%|3{RH#Xm z$jv&3XAe4I1`1p%l|PGq>(@5O3{0#wl|-|C2lUsP?nMf=@6obW+9G8vti8@D+63UGR-^^=~?D`?Es1yCApH3_BU2G32LQdpzsCR-`3;d2wTieCI& zq;9g;K$j65@HNn-9!IK8x)kRSuL&-tI);UrpnfI@)>ZOVOrzXfQ);ubSagA@0BivGLpXXQm8`duLvo9uyn7)%F8faN>})4 z?p?in+TSROO+#ZA&c2ID3#Z*-$qbFBrxaN9LBJnr-XPC1h5se(Y&{ny8cKgWmS;vGJ{3+C|){ZWQ%bjaTBV(K^Mi45vvT4?c zT^pJiqH8dbh1b_qDC&*VM|{;B{sri$95*)oAOVwh1A-%LIyvE-+x*WEzz(VZU~DnA zm821BkS)h*HDI`34cT<4TZLod9cv+piP2!&s!Gs)teGo#1oxgpU3+4*RA-U8ZdchDj?_-0#@lmF z!#hzIU(En_YV;iS>y;02s>Y6^ZhUz`Khs-;6GLtE^*9HDVRxpolS#BuYJAvF> z+?8N3t({}Z5r=E%3crLFZm3xxWlmE(O-(H`;s;j7FdB2V%;zgb9bg?08qe7`Yyo7~?hP>%3n>*d;{?mc2u zuF3I{<>^F*S#;N~<8n1Ft6AplWCq1kO?&e16_Jqow7+nTZeK!VbDie?IcGVG8lkIm z@EN9an^yxC9H}nH1n1qQ+{$_Y-bwv~PGK~E6fCdOEjmlZ=mLi4bCBY@FAzQ3)t8KA z4|QRph1E)@4bgI%ZiJmu&0vv@n^!oPu6ia8 z)`gFVPVzzW$zb*T@tMyJQ*SAe{Y!;XbEYN2qhN!BD6lT`Zt%7G^ z#==#8EUjSp3e%#uhRH;kV0c!1R#))DJtK4(wf-2ikvRz=|x#qxMH0 zsRZsJW!PgSeA|2CRB=|A2jI2zgW6;Ly=Ne=*qhw#1qfmn&VE(o$BNm;?)7kmjn+5& zvAZN>hdSPUbTlEkd(`Wl&_s&LLmrNrX=2HT+V>iQ(gui4MqWwRJ-9~-yb)@H;3h5h zN=$b0P3{XQ5Lqk94n#UoU|Cht- ztpy0D=x=G-{g3J5yQngLF_HuwChw&(F}wD?Y0A$X8WYNo3V`0=_rD zE?ACXM#o9QU;n7BP%gUx8c7MXXlV94~V4Pi#*Q!K#@KsvNtSrDea`^ z9Ds3vdj+OqmY%b#(4?wWl_UQzE(j0EBV;e4E3D^&Lu84sC|9HcK9&80nPiwn4D_9G zq_kqgkJc_~$k$Lxb-iW1H**b`$Z9_jOzD+w9seIsLCpirY^Lm3B! z8u=e{Dep|lVX~o;P{d^7Vc{Y=lyJ^%NKL3_RO0L$L!iBrGBGHqk#a9sCnw6Sl7xjm zYI0V#ktIvuD3J_+XRzYMBOoAyx^lMd`*VAF%b1j0E674p=t)01! zP+Lc9Q>~Q(4$gjiXk2{S8t~`EJqj9me4L&)1nlB|Pp! z9ed+38>+!4mDzp26vd{M((57DK*vzERbhW*Q6SIpo}%-PnVT>B>KKeT;G+ZPBq+zs zrd$C1h}k}Ta2{EAT#yWhxS_<%HBp+mf@XNOhtf6M!5QW7t_?G6OQPcmx@JYG9$v?o zq2Ve_1Ar^DD}&~cIr#LOUNN|iK9DHZ4r(`7*3Iv|8gj&EW>jJGQ^G8eDJLx6}QzsV{fNa*R45|P6vp2NG5Saf9VF%NEL}Ac z!uX;eJ%uqUAVf2ec!SIKa16)LtqY_An@Hll%q&A%cG=3d%IcazNrRvkR{pQdBRCN{ znk3ywr!{d2ELtaiF;ua(D`RpT`bij?+r+2^Sg@^PL8DS8FZ1w60LaG9PMnSSbiGhs zZUfmGtazRwpbY?>6_obP59>1|y3y0c@s(r%J4t`gl(Sm<)9vY);d3a#T<>Pb$Ipiz z&IzsCa{&K{PGWHQ0K%a(CtVj@31NFCQ7ExADrRkdctkz6WRfRC5t9z7uNXsE98+GIhO|1UVgjv(j;ijo!m_X$iteQ4aWzJW$(M%cF|fIE zhU_x3xiW_EDzvp^MfA16nX%cLfx*GGO;resqHC2nKLN&MB)o75v##p^IpeuzGSLI< zm^^q_H3EMp{ByjT8Wh-Nl17oDB>7=1A+{2$H<;7R8)GRM=!~{zH^^B6c9FhOsFL`h zVRjwG`Y{GhV^DE6lgk*EpxuRZ$$thDX)B2xuwc}NjuM(L8`8vB2g@6x#$dO}5Ix(N zPDcD!5^r`49^CqhlT2gS@OD)Eu*{jC`m1{`h@#w)^8$QaLR%OY;`VtnaD`R?c9Q>~ z6I!XIu$bJSiG{06C@nEJI%#-)Tq*{Goqj6c7`)Jp1ZX~{u>!z4v-*6ODG7baQMaR} zE5vRHTEl58jd@6k-GI)<0gn)t2HsZaGQs5a8z2~-BX355c>|*0?=X%-Pb+Uln`2um zo1Gneu|W`)N8eUz|FAwhnb*IEc}FQWZLY&_s|@?2!Xo$^D|dZ-=kbUk2H;9Q_KCRF zX%hr)S7m$!5&*5tPbHqx34TUR^zePXXh!Mo>O<0$)n^BVAWU>gqkQ1Al|CIZU^wV& zqBLly5t9hiQu5ly=<$?A~QG-4!e|2C#=_+v6xsFRs zq;AG*SnaAqSsQ6NtPTZl)q3qB4%Xcilc^l7yOAeTIb2)vOr3Z=4ePMF?4WW7c&`cr z-bwv~PHNQ4#9Y{^K8#+l|L&W^n`;=dud$w5n7xX~wYMvGA-EowupHo^WX4xaVWkMd zFjU88h0~-F`j+q(z`~zw?#1a{V{S}y4rdD`b_gU;fjBH~FCrG3-WX{l&jc)|toh8$ zLvbcmD6O$L6S0b3Fb?ExW2LyyzR@Kco414o;W(SbX?4dzS&j;pS^#HR)=EYIJyIML z=zy%$#}}kq5jh^%oE(rmP47dUP1D8XvO0*5pUD`MrqO6!<&aE99h<301vA3rU&x+ zLHF?3`qp=~9%Dp99?oU(w=OQ!AAs*f{z0>~)k1bFgIeIdyE?pHn~LRTqbZtwuDXR4vCONL;Lo+X?F3vVKweRvN{i4)lH}2 z1b4@_pu*}fe9`tOY8l6MEEU5U+=&u$JYz_!mtwM!V$!E)oV2XO%uk}QTE!u3GC9^_ z#`wHSrU3Dz{y`?TLWHE1aWPU~sPQ!8#aPb1)^6ou+%%l*n9Rr3B}dh>+>JtYIBUys z!j5uF%yMmXWyR1AJm$7HYHQJOL+V9|^OSchbK?1N;dOWnlSZT@uqO zba57B=Sd|O7*DLbPOsOJv2KRljL^x&!a~YlV`h^P)ePX5RRDI<|Da}DFj4zq=k;V2 z9pdt=IB0)JQb@A$hUp5aPr-B%w`}Or;iebA_zLLoDtY_ zKEiwoxWX!cJSl%rw6neEd>8?Ko?gzT7EWS*x~;8GR=~ALR>!hnGac z@C?0`Z_qoY3osCgt!&E&8^#eannX=bCR-shBwIK*%uEMoTv^{LCvHx+tFq~v44TpC zrW96|8J5tfCW*~;o`!Wu>nGRnXA{h;Ut-e6I#-f2yWw#i>n>~V4nXV-yw8r3K%hX5 zu8N2p?#Nv}O* z5KZw{cp7h7dgA4kG0nnIRHB|PH&Vi+)BUKkVX0Wg!*t3IX5W9H$g`6P5D5Y^`l4KU z=$xdKh}FE1ok4I?NR%pzN~jq3p@<}2|4XiH3nda(UT5YwVu%IItF)KB+D!G@#O%dr z4pkUw#l%dF+mOhzu)%m8h@Q65cAdIUZ#YCnw-3GH^sEwY=1Nuc4#!z_&ep)1F6I33 zkcMH8GSEeX!Xe~rZ zElFBywbpB`)>^H#&?*2BnL(=>z`K9~zjyw_+c)NHG;1BS;;frK8#Q|)9N1#GT z5i<(E(|$7i`*Q?;_3rnj+Ws{9TQh))+G76S zpOPlgAsbC!C5~t*vFi1uxv}=2%gEK0T>N`n+DlNQ0^_ zJnz`a|4LlT6sEm*7nqv^sh9T!v>oCQW}IRwXSRR5|2WJ@OV1s@mk)$g7GI<0R_5c{YYOv~x0#(z5>J z841kLhyaIUy=Q<;s?pSG*wYJIQqo5_wsz8B0mPNK8lyRxsR~Ew=-$aUmT0i|{e^H8 z_5D5<-N;^mRE5`^$btLPMQC!w*Qm-#f7eurM%1a5--8w_@p<-1Xaj6FDfxOZq6aG| z>3Ci7gUy46?k;NxtEZsm&|awuv3NQa7Q$XI)}Qc@Lm-;6(Md7xUt}RId68Ni59oq&_U*Mop16F{W{U7iZWQ@9@NvQO)`&zfI^uieVZifx|@qLg2;C078nFw!ulSEbuPaA~Y`K5tD6v%)8Y4Pjp5t%V8m%UEWccPgG#y$`$(JeI@;Ea8 zv-PeRc(%53GEk~E&X@6Kn<>rRqzbOPAw+*V`EWzo8Q)L+AD#)>{lkOaX+tv+%dQLl zjNC8h08I*i+qAT{PAz3b#BMV4j>R-yr(+eGu3H-xUu^@ckrrTfgJz>O!q-B~?)|OS zV)Po{LHai`$I|6P>^)nxu;bbk*7MnT;CvSg0P)}ckk4pPAG>;C%iD|D82VEUEPD1Q zNgHHXk>T~fludagr)2~A8--i$<=5yZ)-d)65^_1VV8&s>Cb0dV8qW5UIbgG6WcbC7 ze@TXD2QeM?S!ewAhda`q5!#81|5!aJ$5wb#jO!vD#=>G)C5vYE1OG6g>W|wL{&;PI_4c&s42AFLNTz*9N z^bPSlXcg<~FH+gM1z3#$nfBavC+Qk+xCi$h)PAO366cJnpKQ->AIT5h1=7ZpOb$Xf z@SJ1*&<=CnMg~WhO!mWO89DTx0{)%ojf8f4Yv~+tz5i@Y1To3Mw;R<7Eg&iSc0)Tc zoe2W*=eL>yJBHsGJzF#dAW7YCvzqpKhIxvAj?ezEC8!Db8%CU-7hxd%Lz%)7+~k*h zb4xB0fKT-76Zx7y`{RARpO#1>2#~ zxUa)NS+XCi8TM~?oxNq((sZGvoH%ZUa&Jmc7MG|UkA4bmID*AMq73B5Ks19;O=2KaCEoUmcD2>n}Pe`-aoY&F*t!jWx%72^m zwD?nHxSu`X+}YGe(kYhDPITUrTWP@GOz>P2*_v3IUewQIN?#XXC z^ymo|M~j+9@MUGu9bpazJRwyvx|h<32GWzr4qd6GC#7TJ9f^493DSh0u*k5}&E$#I zd@N-ntoAU;Dk=ZQxk*9=>gE7jskGY+wmgC&bxMl9dCcgVI>diwSzz+0Uf5?_2?6lb z&uw(n{-+QC9rgVeC=Uc!omPPuY00Ndl&qHl8VWnfMA14YSfqSsh+KDMEW7Ig#+Qs5 zuR2kY3E0t53l2Ji?jrV1;E#l4KY})echI1iT}j=q%L;-xqz5}) zf=A3Ac4mqW{VOdyC=|SW)1=Cz3VUxkQgh)DEiswdnh8Ax$Ca1@@wT+nkYgQjTFFqy zG_Hn!Q)k+|qJ@;lBEH6aP>><84e^?*@;&7t1IZg!HqJ7{L}IvebL<)Ij+DvSAEptY zW4!H7a5FIo&xd>HDcF1-`Yl8AcWQm%z(QVM?Pcm!)+`3{6ptt2x`#@Rr z6cM6nB+a-tnT$B{05GM_!g2PJE3>-eeQJEmw zm*r3j&Lh_G6BE*-WpXejwvyODv8B@$bis0+-C162K4i2Jn)UnV!NefLWnL)2vw5EErXlWB9X7gi(3e z#4_4MW(lMO_IAr?fI3S5Hi&8oRxpjEjm?ZYlXJ9jS2ak$50(*ImJdohCrp+&mxd6< z#c6a^j4j>0iqWO4U!v5tcv&E*$l;fZ)EYV~5qR}5j$4CbI}B~OnmmhX8k9X}XV{`* zQ}eHR^M+K%eBw2aQ*=MzrL}{tl~q%3;Ft-c7$|jfsSng`ES19XaxYY8OeK;_Lg?Q7 zo?^h(im^RDca={JMLPID#90c}Vn?5IY%4DJ2fu&n04L^S`~^9Balqa38HSVV-xNx8 zoFt>@i5lvP|=(I6F2#iOf; zM_xhIDz%DeG-RiWvQcQ2sA6q~j>#IvDQ-eiTH&fEv6hHhNo^dM>7Qsale)R9$rMWs zr`PZ?&W{k8v}%fCSP}=hd|jj?(LR>aT$C@-@o%pHkQ>gme<@U@IaEdH=&%DcEQF~FjqAHljFb>JaD6$MfaA68Nh;a z$KR63>M;$lfC`F*cyOLVY)+11`5K&!-&%}f3amijVZ^Jij<9oMWTn-8=XkJq13@zDyFZnr2Kw&{f{ucwaP#upytC6Hyg64P} z?%>9i@)x=^0v%X|$OqDER(X^o=}onh0t40zrM`aTpL}Gn^qS~K9x%Oe zWnB9*gW_5cBZF|Kdmuq*x|5+WqS5jg>wp_+#+1TYTeu$vJJ;SFgNLX4!bs8qwY>~L zZ=?&=f@>YgUVU}i^Z)Z!9aHo!CZUQtBdLhYsyHzgKZqTT&q~b^=3>gx?}~Jp%K?NXqweaQ@j>KHDib2al$>u*G{(S z#xZaJJ4)Gz#;{$;jn?g9h7Gao{JF+#a*SgzPmd}f+f(Kv_zN?RvYwb%*O*Obc18}I z&0s0;PdzE^Ze*ZPzO+_j18`FP+oP-6RmK@|d|OBpX|ms4!)IQhUm(|J|AyLAWEZ>E zR>de3J+`__!TKfN$4jOZh)Jv4%@ITox9u81!^|d)5mt;V-s>dxH`mx*M_IuA4Nm@I z;E3DF(#gI&aJgAn4X&KGysk0%o3|OXK`)aGgr0(>=S+#}Hexr?UuiBbfiPAs#TndL zZ>=zL+`0y=TfF;p4$ao4&A3=2Z(geSx0(UAu+}hc30OMC3DVaJ`ACrTc11g@SJY1I zZPsJ@6HY^IwNCJS4P@U|EjmSMOQ zurxjlLWf&v8`fIxHE$pcML`3_G9+H?aIihU2;KDhw|CoTO&BXsJPPGRADX#`AvzYS z6B?OdT#oDi$*k#sgrjjNxY#)4T2I|F91$x`e_5ezv>bcSYyEsoBv7$))p;$P|;Nj8=JKztG?M)qK(W~k&I~2+)ms^iEKW|ZxM11&fYA~ zsE*FvVDnARk#u-Pr;dC4}kQ2{))TPO}4-5f!NOgb@OZ)RZ5zMP2|~m}^++M0ao19VrdISJac$8BvRo z!>qFe7gE6EdT8AX+PA?3>w^g>Gj+su!~7=YWQBpp>rDian8t*#J9!)dHiNJN<_%Mh z*qd;HgY1M-hk{Lpj$JUim|PRx9%W2p$U?R_`C+*ZJikoUwy#-N#4&ekoT0XZrDZSK}{sUUwt z>QJ(){A0t2Gp55Fq6D9l$Q3qxQuiH892GZw@{%D2PEU-{Zwx`8Gm6x<7%+Uu>5JAw zdz}f44YK#~=na#oz-46PWG8(G-wBf(J3&z&q61|(m(?|&SO-sZNSQ3BzOke3J!*n- zO5Kt6o*rGpC(tD4%Sr7nOfpnkf=7&E0OO}6F}b-WPb&+|4#pN-0o=mg!v0G%lN>c? zu$!!qh08DjL_W1FWXnK2g(jP}YbsvT<`^xQtq}{Mw96wJF*ZpaQ2`X3s&Ns>41{ZD z_Ja0uHlb`Yt-3Ld8)qmG%1z)V<+frtXoBM*E*wKP*)&qr3N<~a)Bt}IOFb>E=<1s3tbE#oXLw_cVwIzgD^u&k) zXHeKIcF0+Y*9Vj7RcDK9Lw_nS^e3hpJ2Al-&M~s!Sxey%g=fZ+qYf@J#LwXumm6~( zOK@Qzqz*i-*pGH253?ZJm&lIvtT!j7k145bH@N<=EKmw7O7kMi*xCw;F&TVYsUS!* z`rv{q%7dR;=|S!;{JABg?0_WV=ToSaxe%~|DO|k7=msEMipbrKK)FO!Q7|}JLsTw2 zlGqrNix0Xs2ww7WCBB4xj~h+Z;biG(g~U-cn@-7zQ5=R+v0>^Cmwb)2n(G$P0GyQn zHmGYLTTjI}Bns?em*Er|-E`TKq6DHu&%{snD2YTl+A5;Vc+C-L5!C^a9D*LiGemL$ zbw^A`BoR@WD0avW;|QtH!Yb!xsl(#qCB_YN9^R1B(-pZcgL{z1yyu+cC{%!?#pjwx z3EG&qpa+*Ka@nYbi;5_2EIw?iQO*w50Qh^+d!T9At@}&?-rIUJKn1Bf!oA|=J=*vS z3-Pp^A^BF=()s*;|SkJW%E2y0Rv$ zTLrGtC$dAClBQHuG`s{7d7`In%%kXnyG90z^Ux~=q0~x{Op2K>qBV_LMgayFlr?n(;rgFb) zA;cIYuHD}&o_000GyfElNvs~+4eGrB01zMq06`D{00aOq697N}0E9m}L`yeE-uu5Zt#R{R`~}l@Qybw;_<*cPJnaU8WKx!}7-hQ8Gy68|zIU_j+WU3Q zT*o~9R>Q43e0-bMSg!c-HP>45!hr9u`eg+xc!FbY=2|5#@$j{G3~m7dyo?C|01yq8 z%mJ7!RDlBLKTg5Q0Siz9Nyw5B12BX;&RK?IRaG5}>L^x3^-0tEGl3y>j0fz9Hd5IU>Ey-E51}z;~GFelyr9 z7t>aO>n}yMXGjmBJMU69jw!66Yb{2w9NWN zzEi)HEM%9|9+W(IEkQHB!E-P~y=?E7miYQ5Xr94xJI1%Y?P}F#+Ztx!SX+2mw^T$D z${N7Xu;XxPcOA^I0mp`Aa{Nriw!o>I0i;?eHBpUt6@o3Z8nHmv9#Z@oc_?tyOp!P6 zw@7wCk-_E-!&$2v(Ui1qHjo_I=P(^JqW6HE!=WgU^9SjoCeDTugU8KM`z#VC?3KeI zB?g{3G?G&EEaNEClFve+g4`5nA2YYLfPd8q8HiZ;uD|C#3KCF*nk6ZCb9Wo)_deVA zB?@|KK7sxCfVlXdsZ53Mx%G0caDe9H51~vnoy>q-iS(aAgWwG6xzI>OgV-&F=;c;u zQnZ$qDjiSZhm@0sMrax)+b&%2n>rUcM0%*#P`qkMqUcAhf#f4@07HHMV`9~9U!X6& zE}XKOzQlZR7pA8dIc~cfv?|(m3J+B)N;bZ-xm!;h4HX1VJwD)x7w*PLxBhLqc}Y_@ z3f!;-1bXkP%E-ihKk61oU#6n($>J|@lAh>RmsAe1bi;R>_s762gjRamx)k^s;x)xR zPbBef;H~}rLV^VAjl+?hVhGw6XTm=F)s5(~maH3cyV}1*USX-SJ(SW(&Tpua9bmZ+ zjtpjWSb0I(Yun|XFTXo3%C$#;Xc}~!VpVk8jvzGHq{!Hi1muIk8F{~oL=27LFko)09G@clX@?yL{!1Muqa+7QmI*Zkn4 zHZ>B1klq!Y#w=XBBEjX|L0XmK?~`363a3qVqvKJi9J*T7#|7T+%0g_uV=}g28~B(yA6+O+;6#4U6p6yg zJYcUpJB_usz0)8zB&jqJIX&`EYA=c(oZ2Hz(HOnkwabkaxb9?)v)_a!Iz7Wr>?%qy zdMh2-l!=V_J)TKjzYe=ucOmu?l07xg?J~-Wp1^&UE{~~K|0}a=g<=vlvnI{SmK=-1 z2Wd2scj2cmX&i|ag#6puc}D%DpNeDZ7|o+o#(AaD8dL_6u`tcGOh=83aW!~GlDUWR zne0UwgJ|&GrenOlTRz6&8?!A%)xZo$TzcLyugZxx3k&s}@5%%Lx}hc?*wzl@tIC^>8W9v~=Pe&XQHHcUI9=-L%TN;$ zQXo&&4BH9*AC|CIsTWLM*=7jzQBJ6RFn(xaV{=)HrIQNmj#AfB<>9KI&LZNT(9&@^ zU}eacV@2Ho=oh60ih5`W{&VFOb8`qUWab373D6mX&K^5IuF#v3He?hu?Co(N=Lv9N z1_#vRs%NWo4Me#wv!l3yr;oD>Twn8&up4@NnNMlpa|hsSsuCIS69?md?cv;a zu7;s+KrN6xYAF!QWuDRvip<7(Nd~lSRB@*A@b`SBi99ia(@Cs3)ibA4@yVd(6vZWV z%0lQkz%>4Qb?_ZO!&)!nDGj1#Bv@+GKUBl&B>$ai<)f2?4Zz%=nuxLk=^Sfse7VBX zt?q`fICWdoAqWTYUh3VQQF1u;13~;2C6|Sz-Uf@OuM_{-;xBpwBvC*ptdZ7mH~XB| z;o@@YIrG2k(+}g}3Cd=(M2Dj!7%A)VZK7I+np{RudI~cTFO&>Taq-;EN63MBdQ&Al zOe#c+L-^S@1HlSOvz46Ku;tcSTUam&zU)*5sVi5_5J+}@V;;!c94 zzBgLsht=A^N}zHj_p<3X>xxnhd49NS78}-hwSW&hJv&>}f~LdTFV5ybql`;|Jehz zh@enQ54@6q-FWqE^lSN79`i*HD{o>hqs&AaumO#vW%$yD*oL6<7J3uS3Xq4i^nY;X(5boicAmV5H@nvt|$XURZs5 zNYl_a$Jw~a)@I?ilntC!a9fwRnU-FOZCr5VJ$1C`K8%q9w*t-O47m}XA`4)_{ZVV; z8uu#S8epoiy5^mC{&^EdzGFEKPdP6396MibC{SGQt=y49_*3mc>;d6{oCc_$9cYul zp32!3BUTuL`Rb7D5IJy@2|fk@NCx&$%%Sw}fJX$hb^l(+l(T2x}c2INxyIP$`IBIWd7bIV- z@UV4gH#+G3x+psgZd+jV!*PbM6FbN{C<05wV)wI=G8J!SHZ{%828csZ|| z3j%0}=W@EZ*~u9m02#m?ieRATVIg4Ji=D#u9ARPTbX=heMSD1JA@^b&?d>Hv z)?5V&kZb$O*|;JwFfH`#kag6_OLR!>DC%xVDat@{ru>*<`_fY~ds7xy!|WPGvG-?I z5fHd0x3mqDY{-L5VoC4hSxA>CI~)#rX?G*!XRG2t@)(jnlPdise}&A?q?Jlca#~0j z+=8CbKY?k4x3d5Gv|s?AQ2#O3>sLeaTZZWa96lScpyvvi3?3e+t1-(hCGjLPIz}bb z-_jR~;S_EL|2V-9bXHwp@L)H+AS%RMBbGQ7qxaKs zEA9lGp$LyZPxbNgMR7Rz29~pkO82t!lX1L#UsWEM7&q-d2 zETiu038!=jt~*+}WE=+`E%DKVLWSn?qox#vj{6n*Z-$hiA<&V=JruJrJAAw;QHrt+ zi=Bc(N*s+n_s*vp%8Hr*YXozwC;NYp1rf(I`5j{x!8s7(+0laq9@V_QNH1R6B`Zg; zXd`z>sgY(=&0gG4DhQfjVN%}g?6@$kg zW$uF?1HcVkQjpX720SU`y2T-C3J`JVS3<9Pt)cWvMRnOX_O*MvmFOo{9y*tDFovS~ zTb{p?CuvNmGn3`%WtqnwZS(2!15>Ks1aXRG zV^fw>ys%4ku>j_;FQTm6|D3RRU8R^P> z9X)OsR^Y>2QMQqXgiIRsIM8TbV0mP&9%Bpw^t-I#5YRPO{gzSJgeFEl^N_gzWE5iU zRKOH&1|N&Z{xoHkiJhcNGbo}iPRM^`NH99ftY)v2voJ-L0hE1HQ?Pg=om~A$9x5Hj z9%K)u4`k-0su={0xoR(1Sdo5)&oQw;L;5AHzA5T7fl8rJ?`TG<+HEUnNo+{6L{*O? z^z8s~gRtrz#)|NbXYo54BLdx~gJNZUa2{TLD_$+cCV#AcK{NWV{>0^_M^Gc?0EcTV;cX?&DUxb7cA=T-|gbfUio7E{XlA@9RSemD8P;|nt$I!Es5%;m}o~e>P z(^!JeV|%eA_E8)yj?<^>)O8_s%h$Vf&@b+=1e~Z;(~;~<%HkckgjZ0v6_AS4JpfnT z{~S3@A7*)y_-?*1Uk)H%^4=!F#~hwK!Nnzla-+mOq?Wp!r!cs+h>{RqLWZQ^84LqC;^69SM zb* zI|Fdq{G_H*hG85We=3s9A?O<&i8;{u@d%_0bx1$@FOcLD?60V!sD-=C46}{mt#{8i zWYBs?H!EOOoZ(>*J&>?|VT8ZJ|q@Z_+ z%AOdWv8;m0Se`2}gFpgf(4V|H%s|-$PrT=uLV)qCBwEP&og+^|im&r4E2y{rcEFnu5pdx*4xmg`GOt3( zCQeZe;09SgW|sY5AubY2LQ=lSWwP|~wGM?9)>kAY^1WntX4bx+2&`NBHE9vX0!Ia| zu>G6rnWp<2-^D$U3d3dyi|&_6;SG)HE+wwzGl!`Hx1UHMAq=c344=v`6d1X87%|Sb zi>w6vDo{+x-pUALSPpKoAf=R|k-eWX;$sz1h>{ahhf%+-_)n?p%mC=ln#$)yO0V-`9(GAU20x~+_L zHzA=US-oy9APhm_T4OJn7{<`>!LEb9E59(y?kPgA>Ahq14+^)6QF~oV$!8C_CklL7zYW* zP{-o{$4KayPW}H#(lYwGx}lCVN=bS*C8IW_fQbkXij4#&*RZ3-WfHD2_Lzxj4DLRd z8A!z)96rM?EwPtBj4Wy~zPQ&odNoFqayj_YG2Ob|jEnp*!%b1SEV`biE*?2CUjx$v zY@68jA_^3L4nds#f2R5=21D)eg~P&=m+S_pUQ)8dvG4+#W7N+YlX_ggBo`+6e4e5! zZFHq4QSZ5$rj;S*bqzoE6(^Sf{`55eSbO&VA$yoNwq2z$eQ-QHmD(oHQuWoNpT&#b z-7smF&hY=4Wn{U~z?LX39z|zmwJ1r3rAtJ7_4KTcQVOT|NWWk`;A3F`&s1kO;+!;0 zXR-&WUrbfG3dvK`d$L<`hV@IVDiHcBrkdW^9;9xk2(AY8OQ|aE!JZ1+J$OsnM{rQJ=h?2chI2Gh1(U(=A6jq8|J*-hu4kuYrDv**{d5VyP1AsQ_E1f7VwI2z)Sk@_io6q(q{dxz#?@T?PA1&OuD$+D zs|Z7%wgW%S#o{0-)y$IGWI5v-YeQ_-mF`zbckXtZ&QnZ#@MamUiLYERurKp!?s17v z^Z#w==CANB$uO@@AmV0AF$WyVaE_e=7yZ4JJT@}k=Zm*J$JkaC=UgaWcwAemB5<24 zdkP#~5c7YBMq~B&_@3m5Y!SZ<|H48o|H;3wJQ>O~&+k%e*zfR|n*Y6^A5KOn|7wi` zq*Sow6ziZfZ&bu0!4VBlZ{0}$T+)SQlQrA7d%fV`Og%wYC}+k)G@7imx>&rSqb9m) zdSv-7ghJA%ZVlSWkf^?|>C_=(hxu(3N~r4^n*IDW&_wZHZKSrgirTOjMY`I`+&{d2 zAUBLrQShz|+`hHMt9rC3eHj`8Y$T-FPAGlsE}#H1n3gVENB6) z&TwBvVT6wW=MdAF#rFRpt0$uP@fKqS!}$8SOV?-zmIsmZh|(8BhwAN`ig+a8$H75Y zBD}ag5Nit$&<4OBU*7?Xmy=g;SQ|(ReY4ng3H<$f!@?$jy{x5k(dzYTHEt)G!5bF~ zS)e;2XcD%dzmYFIS?WbggC0;2xTaeD%ME)Cv=W`wq^pE+%!t<$dDI#LWt>24kUe5e zYm5fqGvt^({zZtu@FFY0@2I@)3-=QVcRtY^_NXuz->f`al5!9LL^rxDHMmbJu&yiK&q)=Ne#-YB~E2E5uJ=R)V=&7wmjRSd?#kQ%c(RC=oI%K%IhW! zcTU$UoOZc{gqG|A-s%TB_~*Caz6xO8Ajq>Ea|&54E6`G=kjfGoKSgNX9v(LgieAt> zM8x3UeQq_-^OS@YTWek`2*V`DkAnum0VR*;Ly~|0s-to<`mjZ!k6zU9=B|SDOLF{} zqDl*%6ikdY(IZfR>&}Rx*o+f519(FJ$FgEgmSMc|Z6QC$_^Y-bJKO#$W?5q0q1m^8358x4 zTmAbcX~Q=Md|bVO%{a_zkz!iP&v6sF8DPB2dINKvK`HP`8e z5b>q9I4L!1oFW8cU+$9&3-AP}qBbLG5(n&-TC=4wLypU93wq#GZGkj>X=iWNVTp1D z%KhUpoa%_KErvM{LOvBdR%K5T6s?bE4drf;!_ZH4;sE4A$fiQZ&e?+i1+=52aX$37 zRz*;;c=T>2du0(?(_8{t1+3f~Q6_S9y+)o~37C7ta|*5@$P);xy~1*s^{Eg zcgkT%x_XsQ=(EyDZ7(zh;Ox%55634q*N&yxL zH)%VL(>b?f*rUs16*AZHC`oEbyleghfAG`ylmGoN<(mv?zHgaZ@6)znL1AEFVPR(Q zW8Y^47s0G=%0m0Al+v$UMY)usu)8p@&_jIxDDepiGZh9ARw}G2%qxrxQwUoX#-F*v z9K%K|Qx7(O!=(nKu#&KAVX0w+FvVb=hM>aP!ld2>G0TI56td6u_pu(7%skce<6smT zS5wB?Z78UIaGAWGEouWz`|XWMMb47a!c)V=@`@ox3ntSSYY>EQq2WU?4NOHm_}W{O z^u>AX-cBxa>jNal-rWfZeFP?AYV=|W9dq4Hde@H)3^wW5P9c0m*nVP)9Gh&gmu;Z) zXYQmk!zVzo@v%D#LJyl+=cY8(=b;iPd;& zCdd3@tiB3J82jEnjyJH}HaJthKs>tnni(5eFe$v*FotG@tYlZj7<$Z5>-hZ=Hx~7c zyU@*kCoLYPeiR`Jy!adF4|uSdyX_562T(>=BrP!I`ZGP&(<;d*{kEYMyIQP5_R)r( zn5czc#2vb&i7I*ha(b}7AxQ7x-=8hscN;6-kw`Gyl}{k)ph5A5{725#SERnDy~+8t zmPq>e$ib4~_fzeW6qqTZikQ>D>t|?_ln`P>1fNU*;*966DBQoQR0splsHemqY(QLKP>*!Z|%gW|46QHXY`rjN9+xG z>S$9E#1u_9|BSD$XR0M~e`z`9k5Y%?IOp5i_q4-UKZiHcr;`t(?Y)f&ze5YQ9^d`I zcA3oP_5bf6d_!s8)`>q)3AY|V8cZo6W!8`IcI}z=|9>FyBB6uJf8X3WMKmkwv3;x} z!F>Hre0C*+mkm6|L+h*D0Qe+6nL;gx?0au$XsRKVw8e=(9fy`%R!2t3Y0xt>y1SAs zej!7_cBhpwkGz?oic$=P!!2h8H}sa9G8xAKm?>0XiVSq7<+9+T^}H#Waf;f;si7(D zmDS9_O@3uf8I0pd%ATq|V`BOn?gJ68%{1MXnfTEZ6-Gd*A*ae|~+@cV|R6qKNiWr*XavPez)V|Y8_|+u4 z)oJqQ;khyavK`Xr^_s~dURi6`unY7wI2AopN-wdvwg|#>N8Dkvj{s~k?b82U29LLR z_cO5L(u}swKE%7}oH&EeQM?6+x!W`L&bfmEvd2_^)lwlMGNZIFp61fnE3eZ4|6@7F z2ku{0Hmav~?VRmBG)-eQ*zWTxgrn3OmqIl!)$yYYkKIn9`P=|21{(dy2+n?XFUNy8 z+lTHZhGx9L!%Yk}=@fs3FH;V*o(fa9xXr&Lv4&G2`q7RQvHlXTHS*K=vb^+Bvbw9P}P5MF5*R93J zql-Ery7(*3T)TsMnHcmc@v7=7qqWDYM2F$&V+RMdDL5V7m=D!dJjZGA4E_*Kj8?fz0Vy@L*6S4)x**&QV8ELB^W+5-Ir3K zsTHpH>qs5=Y#}z)T@7DSva3k=igB%Vitby54Z(EMV;1kXt zl84kbEWkE`AcN`@qyNJR)spY=Up2JxF9{UDPK)!BY|cONhrKMlmt}nBr#ih#K?Qd# z?dn7=1Bcu~{M3mRh3-Y@0C$o*nTgu_@M8+cH}kmMJy

      5?Tnk*Hn^2=)XIsmdE=k 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≦t&;autcp66rkm?U#~DUS)`;I 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

      q2e+Qh& zP=k5}Zy2lQmRSkb0e}gp`lW@x+AvFMi zbPmaqW&wl8=-d4{4V-J-a+LEm67YB9JzG2Va?`6?mdDx z`ML1r+US_+U5KU(e)&v5-+r(s=fh^|qe@0Zsb_<;8vpr?u=BH)#k>y@>U+QRd-vJe zEp8r&HTa_7zIQL;)|km<`>+1BxG(B0MEsSNWkX7rd)>Y`206$1I-Y~b{{7ULMW5Oy zC-SeJ4oGR?3v=sH^cR{*cwV zMv|xUWw%gmFMRL5m*xHFkQbSCnquUF%=QCtpMeDSze{L3$eMQYfejAH!Og}@_puc0 zBXX0!m0Adi5dbeW#5cE;^C#mX#lxA8vS}AOsK7UuLdvl%Kk*43 z|0?i7<=|Mcc)wO!`A-OdJSj`$Q#+VlrxxPeauq*xkZjCO9+5JXM<16DfKft* zKcbWh^TzT=Yt1M6O{lf)Hv$aT>OAV zg8IBQIbcv|?yEpUj!r9-FIxPU&@37 z>#+0!r!oI@6F!uPjBrigulmz8ylE^p@SjJ@#cANxE4Gvzv1WPr>%i{<^`!sRdH3CY z1#R_@x(6x4V6ASSyI!YvsmC5Y=(^AlD7{Bg62ev+z%~eH5H6W zj(>lq5S&sEMFm*CV0aTN_|rc8+p~&-E1NhHd*7LHv((;;5_E;{MK80y%Kc^0F2^u!3OuICw)9kg;ZqVn*Klq%7;BKY) zyaT`U&1@eJbzyfEEnkx6Fo)Z&u_L)xxsWKNC=r;svwx(mAJs1}Y-en6fIT9V#`$&@ zylwN~;AKn|L++~cTmTJ4=GeP2Z5uQr(wk@F@OfFzQI_*i`Evt-vtRn}>_FebI{SwI zWoH^yLN#w{;*BmU~PPeFug4vi8 zn;iHg-uQiSicK{)2RKyxd#@ZK0GeccaVc z`ipjwRJlL|FJ@fOF6P0K$9*5>RS z^ICF#OF_Nz+}xDC+y%TWdl7(fETR1=(2tEaZlBF!g_Qfu=iWS28wD;BowmgL$<=y;tMg$Q4Iv zNu%oeqd||(R=Kh72}S8A<9Wv;7JoG(iVmxL;y|Ib%0`3QNA5%5zynZiabqWAaHuZoJ}G!r|)vLf)NK-Ho))3fZwj;72H zCqe(4>=sNVx}p$3ACCr<(8)on%V0rzX+G$ z4Jy|c1|+$To_U!KSJ=NN3dEn+}V`9mwz`l#_O~vZ*&| zoP1hWti9C8GM97v5)#ZS#?~}DmaG>q?Mr_9s&Bvhi~2t5A_1zQtklRxANkmqbk-z( zpswq+Oy7q%v+cQslD@b8jCdg_f#Vt57A6V~RNL#jJs;g*z>7m(_1mp)yGU9MyWn0L zF;rcmnsI#+F_!{+7bkj!+!iJwiNp0#s-2AA!PR_!&Wg7u54+%f zk6hbV(8EE%k5&vE8DlmjCf(%)@l2y^lQe` zAB;i|t?-T3j-n|EM&t9MGNXyBpkv419};AtG)WGjmNVg`x=r7Mh%lNt^)1zLiH7`r z3836Yv^|`?GZi9WhL$ z_g>Mms5at+rEO}R7Qs+p?t>xarc_Y)YS~Vz^*X%NV-_=zka}N7L9`hy9IbF$U^hWp zzt`-SHH{5sOG8Ryg#@$^Q@1Bd@z?fcj{&6yRH}Wap87OnxTgGw4jnp0d4|$J5u+&w8maBc0+lb}^nJGtN~U?eY;4UI0lr4) zuomQ118X@;T5fV2mEei&igfEAuQO}`+I$aJ77e?=?cV=WtbKRvBIT1p>&V#_^fM=g zTps?m`nE*wT&DAwgv`d7ab2(_z9ersL+!VDjUG)C`Qs&V!sFk2-$-BZwgVcuvEJMy z)(YzSS-)ADW%)ynV3pDLTUBGpQxmbdctUy3O9^ zebH)1^^LhpqF4|oYEcW!8gDq>RwnZtKWXvUa9=!j(=X400^uvL;VfiGKl*vAP;XdF z7gxtb$8bfnI3@eil>_*7ffi*2utq1dV!75afkKlZHR$-s3*1wn?$mMa5O^$ILiIxm zv{p2;Zqdo(AB>U2U`!1q1;~s$F59DRF~(Fd8Sh^O16>-{w9GR!`=oOZE7FU{YhvT6giv6~C1gkrW%`wDGNx59}BgLy~p8+vGoaD~z_ z#+0WssJr8-MqLv_T9=y%*HQ2OxpIl6K0$+ywj^)e~{ptVr@O{y05zjGsHM_!rF+=RV6i-M}Q7(FBO7*(*B z)?I<)Sgv9G^1ksTkY+i^@@Ew zJm=LmJfxB*!s@f#sk?z?NX#C2qepfb$ia5x%`k}y&<{Vvcp5r?P3dK+dYbm%sb!{R ztR%SeJAORte*F}aByx1ll}?XVE?!o56DE}<)r1426>Z zqqH0(IQE390zj5z@1d$hPo4HbI3!;A!APOAb#|L2P?C~R0y0l9bqoM2ew3z$B<=oy z>PS^U5YpcABSh^W{0Cwmu$!&^N&qvV=-`sgY#3T0{}X_&G5?^)YOx*AF6fLI`hWvY z3`|kROm3=0M(l@Jt+@qsU&|vrTs~@TVk?AXZOsW>mdbG|Q3>lTYR0LQo*?*9hz->! zkt4nmk(y`>dUs$fbo;5!*W~2QKhfbJ>6?D^b(Ae60`9Rm?Aqki0ljHGG%BkYPGjnB#oc8ky(va~Wg)W7U;lm0;gm z?vlPm%I~)_E1DWlbV)kqVx*CQLj$q@O)jsb$+t81@4o}Gb9A9Rq9Dp2*_dPsLww&E zSb`$il5VcQc7MC0Hp&REEsoQH}-c?Q|tqLngMa=W8%TopQ4 z7R9&~GN$x5nCBlS-EZb1(f=e!YKa`Vl5|`<`9`{DWJgLH;i}{bpadx>JItFwbU?JR zDh~Ukz7EsH5oeVz!17f#RwyI@;oAZDM4BJiy{4B9&H+VSCZI=yFPnEijZLnnp%pBb z_ExdhG^!!()84IB(xaA>?nBfW6G>BTbBgC#p=`Z)ssh~gde&bYF++)PY0nJ{9i5lE zit)66Umx;=I0)}D8tQzau}nJPL;JGgL?emTcp2{iZx(-eo`1{2?V7Gd$P@Z#LX$Rd z_|gtodtyBMbL34k#D;6+Z{YgD+Y>jvn_h?*DcAB!>Q_AQtf6HDM!G%zEdlm8){LxV zwbYBYkP-b()0M5V(S-BpAv#7o{y35|@;scda9Hx8UrzvfpUChRdX#KX*-L?hh#s4M zdub%k=SRm}A0}Ht8H~Lx3caA-vf{aSQuQ1I>-j}OiEhKLl+2%dzQf4u=3oG2{B?{V z@!6=HrNtYAhV8k;pKNuIhgjg7$o^6>tf*o0V@1mu-Nyyalh_{SfSEhr$^*T{WRP|> za}#$LVwmL&V>2NZoeP>Q9g>nv@1bk%r6r;=fS{p1Um1-UieQEmPfXfjn|n5I;;4S? z&u@9thQAPu4@;teuwTDq(Wqxo6GW0o=7kjw_)zFRAr4s~^u~Id%h+P^iPK>&yrTpj zQsJCvK8pPM`am&)_jBqY9x*5znriP=A8jNq%w&5bWLVPC=+ zT2HyMx`$6ja-r}-!gPA^Us#Ue1O98Y+iY(VE=RxQcHo}( zpqVlX9yddsZ9sk}NFZyu(%|fg`IBbI4fe`aj}3VGz}MMpPNTU&?=`t{^y7*VtZHNz z_l6QeXqIGu{85=#f?mJ;Y8B_D;j=1{D!%}&dlcxkCE3@>31@_~BbCn8 zb4Z~C8R7lxsf7%88EHY2YYAn)=daaNm&_aHSUzr%i1r#Llp_g%@c}X7vj?nCDicFy zt-YT#kqbMZ+Mrq4!fjY~=ERj()Sv0Z8NuOf6i1aliPnshmGo0Pr_ipySh`)>PnHU# zU47f=@(d(JkVS&0{p4e+>v2r!q-(YV9_jy-N=nWKN`o8an_Ukjf!SGOzXM41#mvk* zN-at6xE?S~o0e8`33IfSR=wVq!bwf0yXXZIMf?L8Wd|(R+n?xjpIlM_WPpeTp+wKE z*D1@i4bXRXbhKQ72*3Kt!+V6MM}-hwLm!tU_m%+Em)B58)%qi#9oReNKp zMscYo!X+iN>ZQ0_z%c!&$vceLPUDyLdOTn%3uo%8L8dCADd`;(# zJA-Zwum{|UC5+oC@yJ(?vCtZs62w4WctuR1t=Rw-fbEe&$I=W{2G=#R?yGuFnW2yJ z<7xR>UoTuH_(zDIQ$RU>;VXIVMao|118a=wv!|k9kK5a?9JI6F0cmP%hEC!Ho%0rE= zQ%RKocX?}J{W@`ra0X&q3NWUAhiwvjW1}DT_yYFlQHrt8i5c#3;v}PJxh&2k z!9vkA^U#qEE+kD+S#+48tr<)VY%?RwBe?tqBvD_Ry$*6CmS2y0t|vZv+ZZ#omY!oPvPD9vvpLZ9fbN^BI&=IS*; z1tb};6s*mP686uE(VNe!aG(=l$e3L#M=wX^zacJKO?2S3orzXBfpoh**<+IS;oVdl zU~icEoHUJ1?wd(Om5_kXP|?1}fi3f|Wfq3KRKerPZ|P>{T|T33@kbBBJR_w}x3#G55+!-d=c4^bXa?>YJvxMtbbXev9saP>C=Nchk4V zD~IUHNWu<#{=58}(ojOGXd$`sLzSFM?YH;s>`R}wGFrLRVZZ{blgJO*?!EsW){{X` zV+z36qxp!F)8h`YvU^aWI*Iof!tD1V`9iQj0Bz|w7%WyQONp{L!DJ6+4E@Hk(|IP^ zA*?{hGdf5D-LlFMq#fiE6$9lHx#M+;tue-5<8u~l_j&IOM1pw#+f$q~V`(rIDCATJ z;BK5+QpG&6f99f1-wM=CW0#kS_e;MwVT+o(YcP;P z1yzEYxx8N|wkEKQ5{rmIyYwX*4H@+rFk;{c_DA|WlAeI;aOA3Q-MpvXi(|i+Y{71d z*irl_IbBL{5d{xoz^q_$BSc>Y4+5Yqr4|p=QH4&DMs)mBZ{wICBKfXvlvP3EQ$o>h z-X4}Z)fus@&q2c=(H_JNB?;8Fbo#4dd74jMr|N2;2zt2x%?jbg7c{YQb&^>aTMi*? zMWxV+Wa&WPHTl}tl+nlv5R6N&wZ3XFQtGYffIDL19i^nlG@5xudUm9|IVf9fJc0Y$ znhoi0j`?Ple7j=FIQ-B@J5Vm$d@iQ96N&`xFr;vBv}8|Kc!Ged&h%b_C25m&7K_o) zF#*vY?=pz=aj*yU%`!!}>jMZUF_KiX1LM%H`#qavp zcUN-&!FQV9QaPfw(a9b-l#MNaS&tX+`6djEk?I8|X&0tC8+d_|caXgt2n>)5W*Nii zrQwp`5B15QdaA5%&6H?2)+2g#$J)Ep-~hfbM=$C#P7GksqiHJ8+ZHi%S+qw_-aOl0 zu%Ji1IxVolg@=4qr3ShY|oS{;$|t{JCqAtGOiRyDesTHCRF zi9QrEoi2WpDD;NIwAR#L99aE2wxW_N0b)&s9B40bsAaLbaK_y}?=u5AX zriaq>t-OIa6e(3S8rLP7T)Twq<%~*Kh|0K)G3^zF#vvblpeSJ=rm@T@e~e?tjRM#0 zHK*=)=-b-rJjwU5VvpE!XMAq2uzb6E?|y*N*;3!OSCCXlneGxe#}rWkHGq0RW8p9Q z9>*%bmA+6&zXLdBRH>c$s?E_T8Z$o|@MPEkrIevJ1pa**M~6$s$4dY@V&z-n6y)9_ zZrFO>PV9;qR*OnQ*uPF`Xa*r%rFLl-Scd#=CCl5)RH`V)X&ll8Dv z7uR6>(;i{qo2ve~4|HWfAmC@IseoJ`(0N1a&2=m7sgXD*9!#yqPO=|$U~s`b0myF7 z=gsTo<-5bJfXV8+qiI7f#~xCQ`AQ zU6OHLTi7k5_0%^k)N`^kGaf_IpQ>NS<(~2v4Lr_%!@))z0B71|E^#y;zsrjM%j^&G z+o~4Pm2M1T7$BR8h}(KL56J@FdJM9?D7jIAEg9K+lwl59&-fm{mX-+6yz3N6yFqK$9IF_a@~qDc<49 z9QHZeFnbJV#gLhDR#tW$ODTd?eqY3##z`3A;NpWKu3dU%wl-Ab-W^V7JTcx&JhK?x z(eRPYFN?(ExHx}07tE0hX?e)mmM!q5&QNXG@}Hb!x4+*PB-KX+FL3(-wyLi>jT`>*E@F@&1Du`6Gpz+4 z^~R+3Uou-kZt`|a5&avpfA(e0Ri~w^E*Td`){Rcg!ABEs8^M800?l+_H<41$nzBj( zc{lkC1rPI%5rsz}9ewNa6+&Em+6FF)9fJR=xvYAVy+%QBjI5qIxzPp2lz|P ztjIZ{!vD8OM;rCLXiwdiyBAz)MOxeDCXKqR>!_bvrpsezxc&y`=A;TD*f}fdh69PY z$k{_jjA7s(r(A}rtu#0xSfx@4yFC-?B`sCo zNj53GnPy|dTBxY=aApVrRwZ#@TS}+-ff64*KOM@x<|rkauQ#$m4diX*j(lV|U=T!r zz4LPg3ed*}pYZwE95Jd}%u}%XT0|(~jYZwhm31NDFfY06dY_cXlgV`}w1I?mxa>`u zU@1pWQS3fz7Er*9_(23Lcr(qkCyK=)fb7!m9{+~B644XmU7!UP-NChIePRabHo~ds z6JE%;^cL9@Qd^nTq&K_@!o1Veo?@;O27`m^tVD^)C|m`0;rsOZoHr=X(g9jD$qcfi z@E%;C_Ns#Ok=W*;-w|RH=4Jy1fF{}ER=Cy>#mymT6tq>%t%{Ki7L4h>#1|vkO`u*N zf+yb~>!-KU(1vddzd_DPq`<+Ys^=b_!$mPb6^krsTXuN`7x{;zvZTL-Y^Zvyf+6$Q zU#?rHcjkYMK;!$;88_NjUL7%EX0HMNr{m6rxB@o;P?7w1jOpW_c@Oq=hy3BXGRdtb_R|0aOwIrh@pxR zd$rV6E5+25Y=8Vz)lhRpI+x&pwBV<~AJ`N6zW76;G~QxoZb4|t(bt8AdDox6zCpp& z^uAZtCI-xo^hjb9HGEk)f7kR+yw7PQH^g2G|EBC=6N@B?>d-TOI&n-Np@c|7#Hdd2 zO&0aD?f_e*h9PbnQ*oX(z+0I?L|`NO^MZvlaNnjoC%R>R;)z_MZ-&i4BeiW4)jF3{ zvj%?FzUp-WDdY*%5N9Y@lRGMxNs2yeMQuaT*0E|)_+U`5n`JRjs=aFUIhDDMBBgu3 zR?>j?;D*gL0oDO&@5&KZ$Y-$?uDae;N~DK^cu^i$K$19vI;6>IGXDzBZ>5&5XMw{GFw23)!{du>h+%eC9|AE6Go03H`j?+g z#@@pd#d~e!H=&&m5_dc9LFSW@1rkAZ0m_22f0F0 zAARQoMBi0c-e5^EHPVZWZRSGPBdsuuUV*BxoRnpfr=P|J^TrIxf8bV=C?99Z;t2y3AXU?WQlR~a>vria z-(<}HJ$?Hw$J|Fl6crF?)IEQl;EhPWf@T~^a#-PmvEjCHcsAj*M(g5wM1!guXulzP zkTpi~<>##bvMPDA_8CM!oKhGuaqZ0iFah2}7-q`@?La~aGOyI%$ZK!o9zNF=iGQ=S zOonvWy{X779_kkdWP@9zw_2q|N-{*adG8?@#SqAewCmllh*L(tmTJ%ZM zckJgbJPgK8R4ARES1yjB@e?zYb;2&Teu4TJ?r_ylDh^uqTSm{{1Bc(?M|mzr9ErPrC@F0vyVSBZ-DY1FTU=5KP+7(j>lGJ zU3K-O1xfLVA$7z?@`uVkT_GsH&O?gS^)>-aC^=Q|1hFCq)CJ70+HDFbsc(~Tt;)jy z#0IbVJ7W#!ezGjaKy*{D-y9y>5;Hbgeyx)xd2`y@>Ed|=w$U@dO|t2W@BpbK*)y$V zU@xsDs;>~6!s1rb18L&{kY|+Wgj_#^Q9c>wU`ySlff2BbnqtVjoD`tcBvDMqi|H)d zfJ)~qNrT%d;5WM|;5&AbCypzlh>q+Mp{zDQ*X6&>Z=ah-@ z*tWx)DcmUk9^Fq@oz#%fy-_s6Tf=sfY!1|g#yUsWWXwDmCU z>d>Hk^6un0SMoZGa&?cBTtgE3ZOgZ2U_rTC^p?MtWy8}?NtX0zCPhnnhz3Q4xF6_t7?mVfni6o7FP2>%+0|_FHS<4-+Yy;Vj&r7xc9aGoixjmRrloG zA73FH*ss$|50^YaD(byFUV0$PM2}?0L0T(J*6f_iVN!_}7)=>SR>Xohn{$Pzo=g1( z&CWSZ|8h0bW*$~;)^|>mEv8u>!C zKS~7z5|+Na=pzkO-B<)BWpyTUBoNaYNkvZ5tvzBE=PgGVk1}}6Yb1fP@S=-17U6$On zU?x-T)V`|fSJ&=q*>dIfQH%BbDgu0@BuCqc2 zNk3l6$-&6bJmns^XklTZj>;8g$4kj-2ToaY&;8~7Dv4yf$C8e?U^$Ka131+Bv3|a)x;0U|4Iata zlUPGPTJFSH-`_f%-shes3#<6of8fDL=9-37aS7aKGm)21>X!y$hb?E}$BnKyD)<+? z5SIa9Gge7PNj6O8Zvly^0fNF3tLl*(a7OEGYooH{($6u<^~(;y4GPKjsdDW7anY}V z3`qDJ_HuD+syDzXC=|{k5KVvOwYTm!O`$nsdt@*o~15fAcX;Q zrn1t>RJ*Tj)^CO2mJY-DdO)dG0`}_bn3X#|jpkdV=@{7HBPzG91G; zTVKuFWf<^5Vwvj|g6uLFOE&knBuX7;0>eEyhHV7^S$m!fgj~XI&=3=q3g>PN<9L`hG`8lr z=oh9qN_Z;CiLH^M=-cs$92t8-h!=9Dk^_qUv>dhXZ!+2Y=d!OV8Y;EKk*rg7T$i8VJTkIb!Q5*pu7Gqmx++Mnp875{5j}pg0P%{v|G+3iDLnq zIL-D$x;z7+FE;0~hvn(jQe4M=fuOkhvYe?`Uq4Bo#0`~&{5nBo)6V+wh0`B&WSn9$ z<}yCjGImNvwN{D6VY5-(QD5gPIXpP(D?#gN(1i0CvuGvAK4-V|d;^m+=%MjMYTZ$w zuc({c&P^MbJ{uie_Xfp!9Rl&!kpmEYE*I&q%!m?ra|49w ze-vGHSd(uT{viSqqI6@@BSw!j00qYAF4+hPsnH>*Gy|mv45YieL15$<7IP3!bRE3QIx31xU)I9(kDDaQDK-Qw-LhMsT; zX40&BKK^rMJCwBqmxGO3)sG9TvZs{pdfQ@&i*0j9LU;sdUigy{I@*RuE|D#gvRm-! zW9)vM9RtA*fnmdeC~i0EeU98z&ILa)GHTgx{D^e9Aoh4O!&DDc%yh|fzn(QI%Q{M~aL0_m3P!2)mdWKr zv!&yj)&@ievC)6|L{Vldgk*W#7IV6>{3iveaw$ShV&@ z*Z+k}x5DBSEYps*9pks-4sWReudVBCZ~(eHMr>R<%nOGbB-zrTfJhHowgI?WXY85G zmW;tw+F!F%!mv%2nK^tFBoEpIPMHL-ZM-N$+EMR>#>D^n`&IG2v0#+KktPTYXO9c? zeug~wP4=I$!JyL!m3IjIt|FQdhPC$|4dfkI5pdwfT z{G%z!c&NebiMuVP)Kkwtn|o(`IDkxg(52GU3JYoqsXq~0g2iHe%|5IE;jHE^ z>w0L&jkz+IJhdL={=CDB})9?$YB9>`71U1-u*=hwzTqLOf?=}0oyQs0X%lXfhW0223S8E>=aQT>DHL^L27cf!jS@( zuxL7r*e=RqI)T?5AcTr$Par~y?cuXe`R${@w%%&j;-y*``dq#gQE=pEl~ya8iQe8iCPoe z+ALU#JW=v^v7TBg4KV+!S8}=-oe1h`8wVwso~G&A_pvvoqn4v$a7X#6-qUa@&mpfC z`dm;rE5kQ$xcD9O?D#&0+m|U}lKOY;$G%}F_x*4qx3gZ`BUk^em=7R@1e+uH5H3k? zJQqM?@bp32TxkRShF1=?hWy8i;^6FNwt6|<&pbWQxi@c?o{QqxZn1}Li1&|1dH2vT zus91D*HCEL$D+9;r0Bd<#)KMW#m^OufkuW1Cz@jTsL%~_=5%(i%0Qe-tbFcF^RRM7 zp_+9!yA|9*@t8rzvt)3Qj!S!fcI)`<-lA4kmJSYVfo9j-`%}+$;hFrCE1~-E&5L7X zGEV40I6K7nv*G+hy|fu)P;Bd7)uLtV%h6(ij<$XHXZ~H4^^{v@g%S^8uPR6Mj^C&m zAntO$|lN29CSDz1pZw)(+!N^U3!KRO;e^@Jc>EE@pv!_>v_`VUS>|By5q zcihU{w;)TE0!yU9s%)?UYW5D%)zahS461}Ab4UqPEh_^lN9_xNky;#Q8#Lj+x|_xKfj(nf+&MIfiG7`3gem_B2R_1yVT* z@rYH8nV{{FdlK7XXUYi=OK=o;O5@tK60|>+jIOYBnKPLJBV7q!nWxC1HLu@0m;H=a zJ1ExI#7SnQX?eg>`*VRX$?=kIopF=B-%(Fqblj1hA@rmF;`W{)>AY(fk)|y6gC@i; zXjWX*w-{yn_`PgY233VuX~4uNTn;*H*H(K|r7r*lK?u*ZfD*zuMw&k_)1@*M2M7kg z8MV^Ua-K=v=eZU9H*7y$i%}#uK)(fZmWc36Itr1&#(ZyB7ozF?i_vE?Ij-VTWFGd;hbueB<&FxQ0P0B02ha;S@k0| z?z>4AD;nj)?&_^tK~H(SbcQ68%5&YH_o_k_T}a;6NPu44W)W6_>+ zwWedztaRmxvlu+hdw83qR_MX*!jFIp8Pe+r$5{WWKnz|$a(ZzJ zat=as7nX`E^2zf_7zYA;UXgBxBmLAIc2$0$Y}w}IwW8Tfu?E<*h7f&bV+n0t!A*X=^#YcIA`I-@xNSRZLBw z6=U8P-C}t!XvEX>N$yr|Cx~>g^+ixReaJGt{}s6&965fhTdJNN^STXuo6Q(-T-_jqRRW z$&`)iQzZcPG8!_>#A+el@$*B0DsRA~A%#;;@ZU0xSrBG>N4-jC2z$*`2H9sxtNxwtba1j3(>Oj0@Ka`u79p3ga@P$hS<#XTyEZg#HFDRcC8a=qJpZDq} zwzK9dr@bc+PDGGnhl_J=p*U+dp4w^Q=HASVH8SXb$jDs9(@TxF##WT@^$`>!1d@Ry zykNvQF42s4RkygG+lET+unZ29wPc>3))|k(btTXvbv5c1Mc`ltu1f=TX4yypj<%#} zWUD-SZ06B{An$rYgn(^X=VDR@4L_T{)NCJV8D;AePQxwMvumLWQvdK;*T)_ zJI+P-HTc=9oE7qw)P$t* zTV!hW(T4XB!w-sHuvQlZl-rdxm647$p#~wm59ku$n$Enm#EA`s z&WgR!3Qvv*1SJ`;lDn!l+NGz!p|Cc<6nWse9NbTUSyBe5IAd~XvlA4JqjJ7YZDKXn zhHAB{-hNJ+qbfo8@53@av1^V(DLJ5C@@L;6*|K;$s@7q zPUOTUt$m+nGqB%2F|lcZGT1-Qv_hH)L{f?*O~q)NV+EL)pGolq(%;kZ(C1qR^YVh9 z5Ny{aCpAFBwIk9fDZ^E52Y#=sZkZQ3l4&W6pI z=#IZrDRY2zz$~oh*!5S$KhmhR%I7Q22o_oH3#`~_4*p#P>G$juB4(+qN9L_W+^zX* z+OR;LgPT;x0NFdM{;mhhw;?Jmdb%qzP_cE9f?GV+x{~%Mtk256Gvc(Jn=EdJiv-hV z<1%(Q7eFS!dbNFlT+}Y@QI!FxSTWKGXC(cfGRY`#_V!^pxzXhp1x?OXuJ8UEU1q{J zMsUq=q42xOaUth1M?G4#7|0j4qRI#AQ|Ut@yj%%fq-@8g(@+cMsZK0pW*2p2VgW%_ z&s0ApjryH&mtJZ&3{O(S3qZ5fu6lQ%CI~?E#@Lv}!*dsi|A4E?_)R3kkmM%tQTvP6 zE~Ta-p}T=2&XR|wQ(4a(ReUg*@(oeY2f!F~%THPYVVY(e861)lUq7;%>@nmYf1%pz zxm(I)-h7bT%PSos%|Xxzq2AsRNT~fFltd>-!O!p=J>i(w(<8w_EE0PIioav9HBLfM z&>a;YU4lQ6fxiu{fvxI6RI*r&GE4l^8B85BJQj4|@8RpllG~vh%!Lt@sLiqCvfK_Z8{1I5Bj3>yjFa{%fzc@Nm?&X5DyN2OCFVxw(r%3S4|@f$Ts=m`SX{mz&4Iu zB1ThhHT`$V2%N=22J8%3q%F(`xy?!|Y6 zlPR83H)^u8;2siFai~7UTt-PLWgGQ$+kJzxgL9_xu6Hj%Q&)1l4ZXeA(}*Y7f) zSKICZ?fOCU;weSD$@~a=Z?x?op3prgO;YOk1N5*GeDhVtK`tS2K&=aGEfkB&s4ad` zG-G6e+0iV`hTvvUJ#!y~fIVC&ctCbc zfY-lRkJ1^c&d!Sa%0RGnk6Iw_JAMBrcjP%wCT@YAk(QN!J@w3^orr-KowIYKe%B|I zjX9c+=5g$EKk3^Y5UWGk3@p2lZona>5VszT7^FE5dj`d^4Qk33^)^B|7n0kO>$*U4N@_XeEayf%$ z@_L!Jqu6Up1y}HnTy&fC{DvGY|GX$?XpiGglb_q-(#_@IDAh_aGx=F$vBn;b0|eT?c4`ygHdvJY#< zM18UsONJhMk7gF97|KC1^Nbs%1?^|;`$(D?#gz#C7;pU439IQiF8M=&o{HDCI?Ib8 zxh&rdC#)aB$;F6*!A78X$WE)4QU5)kJ}u~nh|^f`rZ5-A&a&xVj-vB{bWK6X3YWZ-LXjit6MHOQIlpdwj9zwDd7NVwBts78GeQj< zs4IVlq$N^#Hd!1e|JUq+ZjFyOOD5aESLA?-!3-tPag+omyDD?x!K4h4L6Vau{8h0S zX>FK5T#vq1p9VQwpOhNS?3)3j5zH;A1BBd&i#fWzuB>2`8%k|`yArCXzZ}4@jdE$a@WNl>e>*$XAH_ge=VeP?Z#gvv+Luc z_K5keg@OXNGjYT8L6tOn(<|^g3MT`7oO)2kyS|aH!>HQ1tR7+o?#}MwpXodmH;6Zx zsMd2d!KvZjSJig2#$-4O_L+_ni6C=oU~Nh}(M~d>QxfDzIo@;M##F(3q2$e_x>3cZ zXkuF0fmnt;#n6Uif6AIXA?(yZ-xG(2I=TEOLF=xevyJX28eKi&c_4n z+-ib8v@%Q8Nztuql{~a9f|zF&md2_JP+Jz7n)s=`15AuM!4`PWf@b8HXkbxx!}F0Z?3_eHl$BJrezviQcs64)Z6@M(m;RLj8usNalf}0?w3gg zD%RqE>@KZzS3jWhoyhyacs*=u(r|nU+3IJu+6yT*8S*f)dO73fV_Q^w$si6NZtnsj z2T=Yfr895Ei0I_bWk_h%TqhOXsmi5F%e4nEw4KAC^MGYL7eorxL4+y6c7Q;#hK%M@ z7)~C?gU9@{xMo@U7~no2%tiX`EGB7LQ%IAEUgn#O%#p_&bl#7z`!ooQGD;=7y!hcV zEo^2I+RIv#E$?J~5ov>fXnnI0#1n2Csp64~CcDT^YyhZ9-V;^VUmqcB9i!gn=-R6L z@FmjRz*oJ9^5(pmUdtih*{q+*IYB&j;_f^QIyI=|wB)^KT7Ey4E1dOqo2LW!;Mg$U zA1koC+;h*9-k;AOM6}JyL&&B6c=tEjt~9nFOXZ_OrBRJLf06d_0;LzM)JtXI8uSO z9_$<8SuB8a&f}OlX;I1Rg$OU8cIGVaQo8AnB=HAk$g?MNvhz}sfhxVj(5nV~eoN0QF0GZK;wzW69+k)9y`h@?xpWVp4=zPX zE)Va?m*4uz*}?<3{n2_u{>{cI0 z@9DjT^=UxahK)b2$!Zng@ zo+O%moSJt;y)cAFKw9WW-pG>%dU1A&7`s(*Hu4fcS}i#7=tU|+EH z`Rq@}X}7?V>TSSxM5|$D5_uSi3*?a@2FZ7EV$-)#<0tsX#kz&1-ugb|G+HvRZR-VI zv5iK{*DV3PqvS|2(kc7G32!(lCH`$=WAlA-qRnj?w+7?hU(0sUEky>vy{=;2|t>=SppGUW@eZ~IkC7xBL zSdL}L!QW*vl#uFTs;WRdwS{#BP|pyYdhKIgDIPDmMS=mtQ>qRkd3CEnE0QND%?;+Y z%_uD~L(oNY#edd2V(ex8!%B@=Y%Ns?b93EM-feO~TqtNhDjGNlYP#Wmq>0zpB4Zs~ zNzeuo@A)GH2N|Cje5l}Xq6*4zrO5%HWwWa`JZ5Xv(%Z7WNtxH48aC6pKXbvrWBrjs z5gJ4nxK92vju5%#$!S0{Wgid&^cEjvFBK3TBSEnJ8e$Nk$VHUshL309>^fprlIMLO zL`M);d2K&1|3#hBquE4~U7k z&Q_BEUKM|tR;TRRlY{wW8aBYSJPBfYAl2zn|(j3G%WTa6ZMV%*pYDx-&zvme*^biL0N6>lZY)xGVG_AS6mOyC8Hm{ zd^S+e8CsXVVF%i>Z5d-5ljl9gqv9*75mYM+w4#W2;yKt-xyqujchBmaYHm(?yhCa; zLPR(ZuBqpZ(#1XAS+t=l&TCRAk_GFdE%qc@gT4U*>0TP4q_q!~#E8t*#7J&huEoZ1A$7vS&YM%-NzAGj(+!jR|PP6>R%jur@eW7`d+>q;Ir zS=T#fUGfLgT^l%}9q%K*OO=4mRZG*AE|wvHUpLl<*ZwCr6~#;ly)RPn_)W1ciKsK> zO^!lF+W#RdxdfB{6gE06@bauM-$w5$1pzS`)jd>irBnQZjpiK6s1N=D1I5Dzpc30C zvEn`h{V__%_b{`J^z5Sh`m)!aJQZ_QRq+(`gXE12@&fv(NT)i66RLY8JmLkW@Dy0{ zb=zn*csLKwjopeDenzREr%3x`^eyu+LZoSPS?VK{joQ4KDN8qf0sf!y7i+?7-L16Z zA|FUaguNq9*XKP0r6eM@yA#XCd+nAe!nZkwaTHQQ!5F2w}e#O z+r3(HtW_Q}K4c^QsVBCCKM;?fJ`S-m`e+*W0QC8vnDEN5F6M1UnB3w9L)#HeIu^SX zxp4%ItR7&dT&o?1IrXzyJ zXr!#A+G+c5)U`E?#>vU)?l~zcxx$A1!RPbh=q*=8tQ59L1;WQ^R`i49E3k!cSszk| zB)@$hdz@8TT8hI*$MFKSJ$KEmlf;ZT-N(d7FFd72z*7GSKHet&HR2pm?nFP<$}($dBF4wakon4k?k|+(zW0CndQyMJtF(?Pa>R=_ zmJy{+E*p}`jsK?fTLmmKV!k`zJnB#=G(Rkr;cek~R4j)8w?VkUd9teXLr`kbFqvSh z5|^Dc2h1Qnb1RS{nRmkTF~Dy@Gl~DU@3cCNmk?U&dRBQq8*y25fb=os zjKrLcTaHiwww4mc?#sSs9rqS056UW=@JkqmdQs7DyC&O$Cm|Zi_BOu_8>PYHqPi+` zp~IQ*?hC-M(80!vUC5S1Nw&SX^ZNL3yy;`xw+c8$n66zImTjsP&s1?!Wo12>TNnD~ z&n8MSQ>MjG$GO?s&Q(^rE!pJw0VrkXp#~RuQz7!i6;h408hLL2Y>{ zCFpKvKF?4v>Sc*NzGkN#%rK3%s75Jf~@ZRF*XpDa1vOAuWUD z8ih&~&*@bSKJp8rV*3fu%6DN?uqpEl`1)`HT}GF2(WG*4I?Mraa0#OE`r?M*=e@mE zgBda4Bkh2A#F!9Vk`xV+q%Zt$>;NVTxLtae#-ExpFI>8Ks&;+h%U#CLp>M z1Q5n9f!ONu=RCoS@T%PrIvV(#BfWS)x|9sEjcdLS)SB{y|`#eHFXyD zn2G`_ZV47_Ni-o@s_BincuF|y%9^ctv}H9-0Cr!~RWB;5X9ErBCw9*gHF$h2p4QN` zC(d1VYd$`UN(o!YH>Y>!c2Zwf8cF@tdEY(QmS-|>L9-W|BNW{=Xuvk!oD$lo`83F~ zOaWG?(KTuKxKLD&-?V{L66AMr-6=U>oLm@pd7VExzS+y2C=zWyX*m@c+z7+p*FP=PlNRC5u?)zzFVra8D0@n6bw_7$ie5^@u(Y+5 zzRU}dK-YdzKb{mS*ON4bholx|TT-2-A3xK&RYIssmNG6h&`e642B!+t?Ay9~(+`iU z(|{XM_Bg3krSQxk!$MmD?^%I_3@^dj$uxnK&cKwn6Pm-*9R^KCg&O5Q03;&qRo_&} z?Oh5+4Q7u1Ec+)F&Nim%*+Y^W-0KeH!u+2n7FK5fda~=1p9LlrR`zK|&wa8}7pZQM z9xs*`7NmQV7EvXv4if_1>i}q$8ZQ|{yVRD2Nn5dXHLE0dYNqVg5x*r=HW|dZ@7_GG zNhqb~@DO}XnwHq$TB>`QDo8S&D%jXvnrQAMXd|DNDp=R`R=z(`#e^c2-ZjuT@&3C; zja688`EB7-g`T8kvc+t`s#;z0rT2AOFlBY}*-^3zFDjYfTBpOjtM@a5Z8Pa%y$XQm zZFYOI!-L2+`s5kULa&8Hp7s>LvjqlWC!3V_;q56AGkN>hgVOu0=hrsnO@d}$nr;Uw zzyAj`?QI{{`#zPL*rdsGv>`&-nJM5u_usSo4=MhOWB9M;zyEaTb)NnA--$iJ8oM^!*DXZK2-d)za7L0`L@ZU3Jo168a`86mNC@ zTe=5r?;78`#)i*bbzz=AqBuW5ozt4BvS`sehKOfpBd&S!r!u{dR zYQU1fLd}mKkJw5Y$7FJDJ$>zpAtfE@_yK=Sq0k|`NJ0`6*U5g1@?ePiKZ*bTdv;63 z@RryNsob;ky^||t-t716j%g4L^_NPx5B~QZzTPYR_~hM{hR|ScVerAsSqQ6!d&OzC z>-`6YF`ms*BZ`A!7vEy@slNt3`5m&mh^YBYys_1+;~;!PY=cogWti!Ovdvl+xQ;nZa?rmt?qjJQnchWZ>@9l*@#yu;XOZ=FZcrQ-YuG?(W%WXzQdpB z(0Q$uYbzIjI%cJeOLOW`;rd7RQ$Jvj3TZgoLgId!%|Kc=Lzx`tlK*BW`l21<^CbCV zN$Yo2UdgO)^5vFI^LyRhF8QB*v<0;=>EEp$R%cH)xSU(RvT9t3TCu-OijTLv+;c2e zLjQKz;5cypEJKpBN2wU7z1Iv{R*~0v@bB!^>cx;^a;s+P?>{e=E+C1gx#=_29J%nwT{Uo*D&b|B>zl@gbBmeC`Y@Bf~9Y4HsmEJz?`gf{refqooe{f4?{z&pbV^Wxhmm)VDTA?|)F$JH4#vvi7}Np0!?! z7gdM&lze@tYp1q(I9lrH!b@7$d8|I~Zq^CUH?YG!HTls&x4=x|dOOc^8kK}hk zy*gH@qGovJNG}qFf8P4;JGd0e?Z&y0y+aPxWcS^w z7+yWQvU)x;GW;{}h^OyXXz;I}6-yUi&q92`-5K8Bb$9&HZmcjji$0X6Z+juC{kaV9 zXf3<%+pk>97bSaU9L1x0&RtDcX$KD0ZYKD%>K`JDf@EW|@4j8hzMr3-yi%SltXi1V zufM`_C_XjH4mqucl5w9|H=hu?s;k2`ydvS3WjAwbOQJ`*J zF5$0zzyAhE3l7%xRod;f(`U;ZHGg(XHty&zZVC>W9vg1H=C0Yl{2A%nX@zJJDm5#Zl~tcYoBg1v|!NY-Z0iz1Kt~}QCpFX!-&d6d_Oh)dZa*M zI{2RB>9BdxN4|#`vK14-FWr6&e-yO#QZ|J14c`mK2Em9K4(;ihEdx}-=9-;^}3TeYBsr;f}ZK%h6)0!cNv z5EaX#`{!FZ-LBT&+~xqyaVmGFctb|@p)k|)68LPB#0Sjsdg_j{9O`!nswJl0d{6Vf=$`84ypt;A~n&yK-j zezYsQ^snF@(Nxd3C{i?A@mc$?Nd(GmcO)LOe!Wyu+#b*eEtL_5|!<@O!k7g>Wt780i}+p7c>OGqqr17FvDg(#x(L_rd>x z_Cadsoap0Mx&ZqduE^4;5cSoMAgJ30KwibV9fKIiv4RTvBNbNWK8f4bG&j1?vJ|?o z)e=$3bwD9hMd-_*1lcaAnax8N)rv1mN^?(s>3BEFtX{7|#a4pr~U;iO%{q&;)| zh^44hifBbIkeE(w^?iljVBoH_s64|D^K1gpCoW`!(=GQ#Rs2^F`4s>XEIb+yDWvBT zlPBum3+52w5O>+%5K&9BWioEjbx;kw+t+2EyCUWiA8=VPmiOy;-Stz`OPzSq-Lc6n z=Kb`I6?NX%elN3rNW^}MDY~8?vrL=8iW>fAPY-dX?e_v&e30cj#p1>e|Grb!BeJYX zrL%Eai*Tp$y`;M_rEQNrVZY(jaKxW>zP4nn{L?i=B7+`5)MT-NM?6G+xTwZ8#1|-7 zAs)D5A!o;ka-;Fi`ZqHPmwl=tm`FW2K-OXAPTn;Qp9_9EyHa- zba6;a|56ffy^3_4=+a*2A+eG`F2mCLaNPGKSGAsHly*lcK3={2H7h&*0NLINZ27AD}Pq6xqF(ggs+YmbWGJ{POJk z`ZA(4?F;VJk)OZ(U&bdXA+enfS+KgCdTIx2kq)^1UuNrk!4+vP*z}hz@ZZ#fPT(Ht z6|L{#x1QJG=Y&qF+n25+3FHz zRm%=u0byHz=iKzm;EJ)@CRVDg2%~*z4>|U?pD|CamsYxAlM~ZZ>xq2%>Hg}EzA@Qy zvykPU2L&sP+c^4vS1lWVmpk>IuqA*^fYXFWv@mKmBiBykyL%I(1OlwH&%m({M5Q;j zG|K)C6Ds!VmDGPdEBVyJbvMmHAuTeqEwF;^qWp&!px5)yW`MH@0`33cSo=C@5U>**Rei=72#|*BR)-|c$hCH?Q>|MYcpOh1gTp=#c4AZ%8mOd zw7#ro7*kAe5mUI1S9+QDT}v4koh3%wgs=m4dAxyKe06XPjFH~V%xpv4&KfcSx0ssJ zP&;PkyCf(XR*Ll2j&H43jCD!OxkS)TlLnPZ)L`zQ$o8~5nrK~uTE?cMyjJe~_ihR5 z&pM`J_74mAEyod};xj8c z-rF1*dK>7k{@6`Q*4+4eZFYLwVGY1O{N^uGic8rYsuh4u-8RX7+AH4Y%9Kr%sEgC2 zey$WZm)hv7d!is43rmQS9~zQsStuzqQQ@WV{9RKz3$)2)L&A3vV7uep^hWa^-)>j< zb6uLU{tWY_v4<*U-Jr!+gyH(?!~55Yn5m2 z)*hy*b55vlF5q?piPgO%>K|b|chS^cc6t+dj8^za$|L1ehA*p^YKK}T`=e}>Z+{OC z`l*;*u9@Dq9V-4w>rO8_w8KDwp*6|aktuAGRk_~v2>fD3^=8JScjV~1G^Z#RhcbUO3lsi19&t_Xw7_dO+oehUnhd1gtE44@fvK_ zj2g(o81k1Vcr4BDobF%tkMOz~}2Q?o}cz_7DlM`0#6CB`$1-r3H-|t!~heaDfJmu|rCFMAL(} z9J?PtF?0A(Yvqm=Rh+!#RoAXpU?^T9BpU-PBxyEL|xCnAjb{dkMTeM-1(uY^n;zdVCK2WYu? zCM?8s(VpB1SQ%S=UNk|BoDI-p)EBrg+lgWdA5{H_))ZVLm6uPs^KNW!i;DF#$-9F; znWE{jlPrwkJ#V|`g)=(Qv3y3?AI$~SWG=-EQBO*^Xew%y3}j9&T&yx{%0J-QCHkiT zaA4&pYz%|cxl*kphG zm-!2H4%0s?A)f#RsIh?D{PR2hr8Y^_`OGl04}meWEQ!VX388WI-*rB+o!aNZRjT{W z6|r~$bh(7a4}i2pV#`ze+iq@xA1E(7Q>r?Ccec!}4cJqoxOd8jm(-&p=4|e>H?RjB zKREYEA7~c0pYPTBiEep)!$k}TS}a1BaJl(XenV9*k|dA)TRayi4TxlsSMqro#LzwQ zoz&uIe>ZDqg6VCp!X%-5@^N+1xKv+yc?qX-YnWS-Y7Jr%&3`8@|E|n6!c7r*v%Z_R zcU1JgjlBZgGvY(a&*mKt?426=$Z2ccXi6gxA+92l$^p~qs+)guyjQOnhiGhL5iRgd z`W6`Ppk~TlT45Ho5OEQX2A)6dm(n&g9|E`|ZU%AW?(s_#x!DgeqB~#N`s{1!6PP6| zJ68@x>tD!Eczr8{i~uUJ=d2N%O>S&L`!s5{PX~W3huKM#>F1$Xyf6yY(b{?I7k@dI z9^iagA1Xt;wUA3=kDypgTGFb^ZfsIZi=6VTVyfNEcw9_|ytxzIFlWTv-#=|S6TerW zn4dKt1ZjSAK8i+fO4jjQ^(HdvETPe=+hCUygNaRrsalINK8UX%_%0zH8@|GunvU;o zRnIyvW6l3eRmh~bDvnl)1wmJbnh!7%16+-SiNBa`H{M~2UHQqJ<0Wgw;lew-TGy zEqsSd!v23mgMy5V#25FAT@bNDjV4S3Hp%A?_#TlBE@dJ<`vdIjSBZ4Ha!LH1cFoX{ zYUOakw{&pTZ{E*G;!JX@ix^IA2V$zcuHU{#Z0g!|opPN-4)^D*+7#RYc48xod!g}f zsmmpr;+Ke|pS?Mu16>Dy*BkQEM|(_<_*Y&<`;cXT@A)FXlF1h3CmREiRCq6OP z!-}X^yZ}y=(S@d z8Z0dp$Yka0i(9_T(@!QDP)%Z!?aB6ia~etD2!EA>`1&4m0Jq<+5c>sKvCOjm7E1+v?)&DJ`^e^mDWcWK~> zIjJ)2%{KQ2Ia@VC8YH0TeBGYQdJk(NyDx}zAXi7q+VpO!5aH%2EDc$v7JWOP2L%zM zX?yw7YW;RCesW&pe}&9!4J!OzmjhdvgaamA&lgCS*^d^QuXY3XMQazZ;VDu4MEY?V zHFAHnmDosc-D9`?a=?Y5!AhNSid}+g-uz)1@>3oe(*U)NUa?G2;!w#_(9*aKqoEgj zyjr_w3CFDZk@BB>s^_0#YOL+cN`H(`w=7+Z#f|WV6SR<%-;WUss>H+KIri<@+1E{U zbw!>Y-vJRJdnSnIfpxiW4Pid7>!UDF54p1UJuXec6Sz`9zJq{@OU=c(Vw%>niA;D- z^l_4sWZU`I*Wd1nDMyg3UHf~Ea5C&I-v8QQ^etUc489Kyvm5+LCTy=V`?^mv%QT%v zqR}p{4)vt!MY@Aa$Yr7zA}D@H9s6fh;C%d{kafsAl@$(%1&Qcd|Cq(M6WiKccgmu6 z2Y)ev#7r|Mi-v(gTjzeOFIMk6Fi**qPsZE7Cn@BC*e}g7p2G1We)!_U`$sgBRbB)s zP=i1QS3+`wTkoel=b43<`q1}(o@2L6&V8@86wIYOf*A|$^!()`hf9S|io2EW##q7$ z7NbK2VhE*UGb2{+5M!1Y2S?``8se{^rk{HbFSV!_Dr-fV(5W*R2HsDBiH@5=@{UWF zxvF48%XJTF-xwv?+mlR-+A|zF`u?@Q)?Gxb=Q!=URMPB~=g(N<252ZX;|HmoUb_I@SeYEJ6q$<2U@((}DK))y4@=zhB^vBzg363?6e@6vuu0l58qs#?h%24*JQ+uZ~ zDW3;xKlbcc27q}OLNnA*l`g&hr;*5Q#n_*-G9K2wiR(rk$r2V_l(2aHi+JJXp!y3- zRxde_)vPlw=E((z!Oy67cHK+a1Q+HG$H_8(F;I@uM`=vkD5KOtFbXaOLS>DZu_`^$v9Dc%AS9b|fcZH+6G<+&N5^ zTe{ge2-nlH5?9$FzpIQ<6TL0_H~mRlgWm90wgA9h*JWqHmSv?8ic|ku5}j`=9{TE) zC`WCJ*B^wNzKDnzl(EYMk*C(0E*GBMU|p*&XV8Zd-favk>_0KsB%`5DgXx|8!mPvpu z)%CG^{#vy)QlLT026YxUUNo@nH+|kK@(N|yC)w5@ZVvA~1bls(WGmlYX|Ad9o(ZQ8 zv@iOA49ZS+mi?3uh*WFqMEK~}E%h|EeL?4`>#HnWJ>&cH8|NAU6Db>CY1s&J{7$5LN93#Fcr))T zQcb?17aAr*f0JXw^O@In_`lXICM#9m8eYHNV_6o{p3n(T^vD*1=A3^0BN=?Hx|yKG zkQ!;n4Uv<;eQUU63#c?JsW9O9A46CE&x9YwlTg?wV{9X#FvkdUjT+5;ja5SKySbO< zOxDOTSMDn_G`d_#lC!ywIg+c~LMm56zI^=$&kvu^^Ln25^FEq8zA4(ty2hwI81kEZ zK25bLS&_GYU!Wv?Yy5A37gIRpV#(mX!{63?=_b?Q#1U)n9Fas|hT5mj&7@qf+w;{X zMt^VWCTF_tp0}~e&xwg|yArxQI`=ND|J0O)b^p}z(?1@YN?Y<`97O|SjaOcF zeZR6U!DII3?!$cidhPG&+mE}ozcRev%6e8uOTjBkJ52T#6#wS*hPFyK8UzL1n4&6a z-9L=W=T(H9D~zl5nXZ6$&kqL-L%^xusRT?AJUGHiNYVewox3+;mEs{7y9{TLhJ3Nf&42!f6%X?S z!jMJ1RR%zg%|k0S{D(H;5nn{Cf=0k(Yi9@RR%EuwBv-Xk%shz#R>|f(=tS)>%pKt= z^A|c%Hm>dK23EzXiwkVJtC_b<|Mp4AD5@p4F>Rjze!+=b=tds$453x$P{t^ z+1He)8kePU+DRaJD%?)RVf6HV%Sa|jt#5OJvt+(GsH4ZBw?BWuO%_vsrKLXs%OVFK zFRZG}E23H!HtJRPKF-;jifq?i?P(0sb`BrD<5rjb>C+iA38P2}&ZVqrudCH{s4J2R zUr~8QP^DWM3F(bJ+Hz|7Gj9Fwg?{VBJ4zMq&9{eL+LM$~wKp$|?3-{-e_)#JvaQ7R z;rGY(cLib^lD7QiSvj%Ep8&^0yV%Q=a&R| zKi}GX6E6^^+69`XFf5&Rzaf8XECy>&Jl1w`Y90J3`}E7FBB$+(l`rrb zt!L(ioAdL>DFx!c54`2iEr~b?2EO@M=;G48l;|iSLpgtrJKJMfRmfM{t(2^)#Rvn;3U+JWJyid}blUk6nCTwM=LZ#J9y)~) z;ZoEIX_(L}xn#xU{4X_31u+3#7r(TqJgaUqDZ|PCjNg3{cJIN;AlzQ>u9Lz4auvD3 zhjz!&3XiJt&L+`ZwrT4nrzzM z+gFJ!qnip&&7aVE8MH>)Qcb4avZ!f$0PN-Kp;wqYg{55rB2P(u=~q+`)~ccjt^V50 zzu8A3w|)KzoX{n&0(ujd_QjQSJNnkbR7Nd=N;XjczOBthmAY;t3XU^>7e|i#mcD%W zz=u=$VZdp$Q}sPCmLE7_7`Pr3&i!F|`=LA~=n-3D%T@6}k%$)Ro!aVy!f`# z)dS-2``%Gmubz?j6x;)?mh(>*SY#*pvOi?)`+vMwe-#x_&u(vvJlPa0TC1n17-U(&ezt^ACQXif+ z5L%*JZSb%t$fCR!fpOx=;ek)3#9!=A1o?}o8cCaXOgoK6^xv6EZa3?^qKB&aC+(4N*|#6g@@Ffsg2NM z@8`2uyFJ$WE^sJbefsDPxGGpE3!%|;!d$ou?vd20Ur&wAl;vM%4}XcXG3nkF%>-f( zjs1KCh8KP14~!D8VkeUmD`6ZPz1O9<%r2-w~Ih z4Uk{rnr$SxcfV1upAGn&d<*(o)_J1ub#4@@(a~^Q)1>07Xj$@kbB*O>rYwv4#a=O-uiQ{`LInkN;n0Z_rA|H;f7Uvv7&BC>K$~p$zuI1Pzf*? z{;b7Qe(x9a2+A7pXej!`GCyH1p%+Hk*f8rP4b*R~epYe(bW!ku*?Cz3-}bjA>Lx$i zS&RiW799vFFJw#v^QD_jn>N{WaF`{lU({%dVG=?p7-cs9;dT7JVL+TfYE6FlV+x1M#kF3=5uQDyUGu?&(aj! z?tflMWa!(4-ZE0kPOU)8YhM1fH7GC zhLF()mUr&Gb~oYEyTi=lN2j0gnROJp;;+T(k=D-NZ54kw#`M_uubF6uc;#yT;YDZO zQwO#1ZNnJ24^!mqzx8>SZk#+`Pve;TerQby`UlG9|qSiY7=Tz&Xe zA#RGK5DZX;%gkEBJS8Wd3{a1+efxv07}p8ooJvFSR0t)~(c0uiScN@O}`QDXlq{F-iZI#Z!FMqYEH zAv-16c1my7kv&VgfXh5$e?o-Cd$49b@*cxux=# zdH82dFx>_LPY673b5>sx?HGsC1+AG*maHuXuwDe8^=39kEF^U7b$-*7oz^wSx@^s6 z##eUP-M?#cbeYFLho`Ib(++ol{a+~RfdE`u#Nqw=7p)$c1%BgZrAG_VtXJK>bTO=2 zUdb2&$IYvs=a^>iW3l-jn;~(d-&o2;Za;KU)*<V0VupMxIE~PNl0w%_Z$E5r9jdX=()(F%pu6v)d}o0rtIJwwb=qBluc=)K1WnOs1QYO?Gl}^| zy^P(amLUn*O4N+0cPkTL`l@}y$=luCI_3KU!BbomZO7LRK1&#nP ztEO|3w+Y8Z5w?**vBd`GoewVoTFkDNC51?a*cqN;3rI5mW6Z&YjGEP*nlRz2CBjyg z(g&HA%ar>cxUepo+NQewiEj)K@-HkpNy9!6G80*qG7>1w?BhJ&v^~xAP~5>vGw**T zNWzzAq&bpN0>wmm4Fn`*@i>I*vISsZBGc#KI1QL*&Y4&!I-ckH9bqrQ)6{=YQx5Wi zqJOj{$5eW6;J@E4+iMgAi&YS=AMNTPM`9B%n-ilhKl^~Wh|zA$Y?H|5CU0)=Vi#JY zhZuuKcNSG+R#Dnh(`r~{z1REkOb7f z_T@T|!z?VNS=>3?qdwu)O6SL&7wq8zvOcdlPV!AL4tAgH|GMJ|oG;yV@95ZmYpnI# z-Z?4;h$}>3GMy9R+j=*HoTmD6N29)vyzn)@uyOe8UvkKqj>#%Uc|%RBK*Eckt&tM8 ziq~LxvwGJEo($A*%m=4Jikf`0H^Y9IVT&n>&k1l%&>LoVf(*xMi+?vg97sk`YkcY! zjH^!B94JW+1mAxvt5&VpcRnZM*2Nmut4EEjgR$z!o|YiKJX>9s{+=yyW2NnhIj+*l z7Tzn5Z*DBOT+aq{Y^k6URFq|0N2_r8uh$G(+!O-+ub4Ps*Pd_Q)DBGjkf?*fruLU- z#kj$*IrM(|@fsDdciCU z{}j7l+N&KRn)g+6wu1@N83hu6oE}6sy6@L)q-Bmm2v+YF*?cc;rRiq(HE35tz)aKC z`8DM3i@k@6K@xw*Y`?atd$0B(wMT<4mWeA>TOEfj?McL{DrPaazi3=tP+;JKl=N=p z10pD!K;cB3q#tx6!|dm7p<;H71A?#>dmMa-RClc%D7=xCcytJSi#!AjMl4g`v!}5+ zX_%NK~1yMMqN5Gw$!vfE9099thQq;-e%eNxv`g+9aQpxyLc8-eMM*c-t=O=v!c zD~;TEW}=$@+&NXx>{Z(Jr$b;KAzspQ*0h@4s1h)@M)~&-rWq`!8bB zH@rgCeqF}>X{XD#QyRYMa`PcF&#wQTitzZ-Yu_Y9dUow-MDD$3*R<5%?;gTm+TW0W zkcWCL(`#S04o-L!nos;qQ(NXKSa1IxVR@tW_LyVi)8%D`?s~$##J+l)tuQ$Qz58C_ z!^Rh44z=PHSef?{C|QTSg{+$SgI^THy%JJ9Za&aZ3KkwWtF>3o7m4dUUWNFhj%9j} ze_%8XhwD8(I_v=IF0wgUGdH`(n8#%KqeHWqvVob2+xGVFAM$A_G&oV7)Il9;TC)II zhcktv{m)~&)cR=Ml~EnpkrtaU=vLn@LjT8h`{qNd3_9pU;Dtjp06M#}OQifSaekh8 zrdu4l4DW;}6si`58;!CfSIIH&{r~xF#JJIXR0V`CIt30(|Q~+arnG6;C%@qtU%~ z1@#LnRA5AoV$#wM)=BD7DWzid0VV5;N={H@RXHU$29E{NEB~~WEInLA0f@-2~&@7cd zcq|O^YyZ~md>XwW#{89nvvrVyPvp!kgFbJ)7mE9~C#!7!=~Q0I2*^4>`3lWR7QQ1c z)1w+E99HGmuc>z-6C|?Wg(k~*nsNm5o}Y9(n!c{kN%!ElH&QG^V=tlFyAV=}oYIK9 zcPY(hKFZGu>id-HF^40+f5~6dwM$+IqH!So(*k=Xr@YAAc@#=&KWd3U{b0! z;rI2JFLVcq>oD9T$Tao=KGwD|2lN=sHPKB)@V^C=aoJAd;M%UrTllVXq-wG7nmoH_ zPn(Je(&o5mDaq;>-65p4f$(Lno(eAoSkY_KFGF$hpTIT|u^VFa=0?UH>4O!j;gGu7 zP?w0!w@_$8Rx3kjkb5gP`z6rA>8Wkb9Dh<0qBs@1f39zCmdJc6R?bH6ir)yO$lwV* zwmhFV#@R;+3jzeIS0VQjyB2A(X zyZ*}-N?tiFRmDDG$QQuJ{gsJ*-7I+1f3?6tMtBp0vK#L*WqZPrj(kgkFKEpQsEZKijOg>AHAh=kiZF?7Rmp%3hD=Y?Wi0a$*DhhF4+~A@%F*Kyk2fF zE99sRzu(~Bpf=F{m@*hqPpzV?IwrKGIDrul*@iZ%s^GU&RD?uCE1qpj2zf($!Gz-Z zSt=!iQ#@m>l94({O`;>QT!2phEm1%AWUW*{u6`NmgJ;#&II}~KrUoUVLmMXdf$MD0 zuF6y6qOMI4_;kI!1P=Z?q?r4|$=<_oVf&9Kq16BVW>Z(MORw|A1IHfoF=5xPy+&wn zypKd?(tHB0gl!_?EOjvB<8zXn5u)Ot;~1}=LaXA3n5PzNBy!Obf|)1B^Tcnp* z^?G4p>Ll-Wr>{;~TWNeTdkwQPM&AIJ%HQZOU<-5YQ>C(gT3PT99nBNdWb;Kwp99yodnnMG%v$<7 z+-~27_j=oodYa%Fv-3S94tWr>JjXiRZJ?g%q@HRKh~2Za+cARpaTd<&y5McZ{(F|n z`MK|E&4hkdsm}ThF8%H&&Gd4ETEbZcxw`@x#!d?Gz;+D-a_AX7mD-_wG?sn;OUj1c zO%efZiQ?j}a^o{gIU_Q_iKv@vGN{Kf{Qu4Yg-A@09TD3qGPr$3E!%5*LpZNMg9O>x z@LqVz4}H>FJUN*X%k4CBs2z(Bmfi@d|5)WGEu_oLR&KSz*(`p51nb=Y7N6mPNDWK0 z%0O5`qbLll+hHhgp^PFAdME@hzZIC(-Ub*CY`Ng!sTv>`!@)_TxZJTW=MC}?qZR8A zH`w2?1I9C%)3!}A*LugJe2+_-yHH;bS~Yy4ArzpDvhbK?dM?LPE#zZ&RtH1*d}>lV zwf%byzKfD_E5`ZH@ATy-L@}+J34Vsyxk2nc;OhX={m+NiII@W0 z0#Hu3K+4;Llp@01O?HaW$dMyD->JheLEb%^Phe;|{hqhHyP{wIg=V82fx9B-1EV1g zof_vml;?bj4r}KSc8l-k%u5jb$JxlAO{$|y1E1OiulY2FVFOT4GPlk#R)#F4SH~lH z9;u>j0Y48HK;Xf<-W3v^8$pT(&U2iw_$>7#GS!O!r$4@!9LJe;I(ZY5*up){`D*-3 z3H@$7n|@nK{}VKXxPG@WOWs0X-1l1KxSx6fYl7$-(Z>E=e7fvenPE~<74>{lCHqeF zU!o9uA^W!t2iJ5yIT?|K8C5cEq)OiXwkITV%A&9%HPRW_nWeH3ar}0)oe%rsd~n7> zHoD>3mt*y%od$cu<#i1_hDI6G9poQgk*mGsu2R;ie19C8lL4m0kTDp}{gduihN1pU z3DAv#3=HeZ1m{US02C~7?Nz7zAceq4aSbz-90F*EqD9bf;v{nI)ghzAWaJ=d(IO)) zn19l#0$6hK%HeR9nQ;%>F1%t7iz;kQK z^};8FzRMJ!ns!C(tKM3V!QoA*`(u4EwxnJERH*Y=M9lFe54D0bi$?g5d_7tiq>4}9A%wdQ5B+_5pTpK;%%^!f{b2{pTK>bLLy^f zjTC#iE&~ihBs)D8&Wg9`^im^(+4i}ds+ORw(f{^?3B=-y>+d3n&Tsc~=>Cjv$m_Z) zg=-q55dlFc;>552Yt^433kL2E>7I2QMRx7vMljo>z;$RtESeJJ~CI2U+sNxIFPAZOe1{j0^pi9gJw!1^lo3e^_ak{`Qf zEtYDq?q6=(0G6lp1em;VQB)>b!|4wd0+5zZYiK6uuDw70i3=N+5<7zSpUQOSw&GH9 zeSdId9T-Ao-t3yKzHPEE?_bc*pDo(cn^WyoOZ&E3Z7JrzSwVlMsoM;!&`=|Lan9J>7^yid3xz`sSmN=d*D`gqxZ-7+E` zu7b3oIqTf79k1XN%;>gi>Vny~c&RA&E?1D2(didoUOn*SzqgnkA3s|p#$h0dP#KG; zsKF8%nK1iUo2H~xb!EI$6`iEeWxukdI6ZXbKNszKk}Lm30GFXa``B!Nh3yI})D6>X zkU4)jc7Z0V>QCW(`RO^VYsuQs0I2^!C-nEqUA6{xeR8SP8|tEHJ`a=pV<;rWp7 zg*Y0fWlobMm~s`d=4Pdk&S+SFJ0aG7{`pd_-9eSM=ad6#;%Ik;2NY_`~9 zzCBPlp-{@9fT4qY+7%*K0ORj^*d79WYs)+}D5w#jxuX`#*GGvT*rTj8Fg7s0wCeB- zUKg3hyYVXU?Y}9RV$DnAO({s*;?wYk=L>U?Gh?(*h>N}8p(Ra1jlac;yhI$(OZ3Y3 z+cZ%t4X?UWXGOGDAlK|g^e|sgbdbeFS0L107m9RT2_jH`(p6yIE?zLk@_ko5HlOO< zK;g7j>Of41{4JIE_*x=MGPiz)#@9z-xIn$haXCn2!sso^%_6Sy*P%ppI@rs_*fOhV z@0nDg8D2rM?7$+y5T(w2u_gjY{j6~3A`Zu6ewVms`QMJ) z-%^Rw`Xo7(j&Vg`N$D2D_=V|@CA)RkKUh_)llpZSh}^!h_0Mt(W4Sp*qgnAyewW2@ z$KKI|zd1iv6goIWE~-6lNAwXAr9yP!;AVb_O3N9|8%>0m$uiwQRQtL*SeWUAzqAzU zVu5Ey_M{1A2rqCQzq^pXk{$Kt{hVWd;Y+C!K&>7*Iry+?<*Ix>Iji_iJZ)2eCMuBj zDE<0Ori06^htn^m*mYJ%K?g zIbreaRnV-(ZG5?Okn?7n3p46e-Eiqm|->BR`f#jBUj}P)7s*3Y+$7U z<@zAF;xj{n0~xl$@VqZ#3ml$zn_98P5u=d$aNAQ?OJwgE>0li5I9A0o@hPggRgrJ! z6q~Z-bQ7?BB2KN2f_b8wPu5g8;Vlo_;2PSuV-7Wr;GctV+`euJ%#*1SYWGgM5GI_o zWAX0!gl9hGH{GbyO`%`!0qtU*%ZU=}FAe3I5Y2T0DH-w@=^M&_KTRF_a%n6*I)Sud z_%!7KbssdEjO7_-Rr6gKMnhoG_-N;|zVTP#HVrrq*YK+&ETY`ZlX$zZ7l?T zKz~y~hg-aY#401)ZhU95qYck?JvL3_6ylE-AdyobEr)Sl?*_G=nBk^a>^`)rlUK96 zf?__>03{jK1YmVpLIe2XhDy;9i9_wYKj}kkL{Yx`P=Yh7O4cy4ws?~a{La?ODRepk z&R?s66TA&-=W=iJPiH)d73c$W;fc6cE;>S9G)3){b(>mFgl;>wU(o%DlLz{wo=KsKMs(aNbL5^ofB9GJSRUK2f=-38#c&Q5m6zQ-!*|?-6-tTJ86QHQ39;M+ z&;)SRQsH;!mlEvae@R^>_2Upho~li9zy4C16ftcoU{dreH%h;Iwyelfnzk|_N>4d8 zO2_m50xZz40~_vr(qoGrV_n%|{M_UJCRjkNa3&-f-CY4%zQ#Ti^_Q+0NgQ<^j6EUV zOV+hr@gLG`M1T^q=A%XL3k!1^@JWietjMq;PEto_r-E~D+Mm^2bO|~VT8BD%+L@CS z(W7Aeqx;tvs<3!u3%ffatX`1dS#^VjeTC9f%^0Tb>!^n@Jb?&~@}WTf0zLuZu<^>t zn8jcc_|l{cp~*r*T~|=>9&HQU^yqQ#f`Wsa!$kTHLulKhr_1TYWt$6q$KM&(G#Npy z!W-b4n5MWUo4Nob)>$~}8S^7W0aIpDTy<|VP=VikLs;(*hvKcs3U*`iXa}e3Ud9|L z{!b~To;~?A``yjO4NK-kxl-4I%JDa#pfiLcYn-6=%3V=wCFPMnwgj9`IxFpB$$5TzCsL2Odrv|u!8MC=Ba0>u z2OO?i;e5+{Si>h=Ff1G;m&v+SXRkU+YN8M-0PuYYMT5CVP!mAK{~*6WYUymBynJKL5#q9yM`0eM!pa`V-lf#4h;!*G71hR3lH)4Y~Op0qDJ; z&;D*)FZHn~N(0;UnWIvdiLJo!t8_leHY}FPy>gwCImWc;!q+0Nsy?F)YdKP;=;bM4 z1d0#OTpUBYgD$0y(6RkF8$xjVQEy$Vffj-iu$vrz*?^BT17e%-Pvqb>3yOTEA~#x} z@VxYtwU5UtnN^>OIlBXJ*ay0BplbpqA+ELAMLFEiBPN9z#4!OW-n9KbfcwsW}9@D5)I0M7?aqhQh ztp&(|?D1pcE}bl3uqWL+hRqdiNr+uonW}wY3(r6-2-iD%lL=}m5VH{{-gL)wOWQ`Y z3i2_+jR>%?1z542(Sh`2c4S2l&nA^O#bY1%OP|Z;$2GWk^Y=DUX{T7Z14*kobbpIo zRxduB2+lfHlRxQ>kFK-IbK0H`S5a2zIr0J*-Z0tEkL%*xoT9nG`=zt%J)K-x17)Kc zkN99A*zW%}n2EkJL!TOnIG2&c@f&MiidrSB!GJ-;T2H%V$COr|l4$a09bI7_&Q?lN zI(r0Z2E7thR|>c3l#CV#8}1*Q$)_0Ed#c6msIHxF#35_}%cwGM+=~E<*e53)@>G9f z@e=Fm&{|Oypq2{af&WSozgxR@{-S*NWA;wJ0o=-4`i^Jsc#;K2fwDz30@ozvKcNWv zZ{aCfthY*8`3236!k}w#Z(oOc8=&Wij08*l-)WPVx){t65H^`02WZ(up^gyLdgdgq zf!E?$C>$N*Vl$}%j~Y5JklWH37he9=3M}W`>){y~4N{?sK&&tBy;OGUOMDMeyQ)>E zdty>_ToT^Fsz2HzWcE_OSiYoKP#OQE(z$@JZ}hUBvvbQg|-z}5b2$# zYWA$4#mM}kqfq6q-qK+F*iybeTA7fhDZ=Dp+QNP08BVVhk0nGubR5kj$qCN>`B8od>iW5%1 z3-Lr@7@>kMbk*TPY)2-7Uel$j%?do&AtX$Lnq*`wQ!TR7a^sqd>_CUOSC{}uq1c!7 z%QB*`c$sjfb1|A)Dq5#J`P@aXeT!wgRM-Fz?_A^_D+?EYRSUYM%IMu5Ns;VeN>1WD z)P&%d9iFw9dIwEu#^2*kn6Yr<1VXN>4tQHS@I0V&nIN5XiViLPxp9 zlGNK|y{%s<5}osz|P5gFQw!edE6Ur{I5Ns>|Z?^?_blm8T;_T<GNCe$h$_Z+-7K;Fj2&ZJq@yAH9#dAa@u)wf)I;klMMdhcy?_1V~Z)lo< zR+6x)MU{GEmFXHi8jNN28HNP<7 zt{*}=F9ai084inrm1EE7JosMyg$c0(^!V=REh*PNss*kU{egzmlDQEH(f>V&eF08| zzUAD5+%0{&T-7N$RRqcttQ~ncbp1F%caQb=8&omt!I~1Mz zmQhCY)W`xbjP2(%(KvJqR4J)q?kgH-$;Co*yB6`>a8og%cXqX$w=O(OjU}c+e`;KA z(ml~38T_n&F#PR4_s~Q2W0{D_W-3^;1Gi>jYTwu{GV6>TqQ9cNuvo-19U1MREZ9R6 zt)@BBWsehVs_#5Zw5(t)385>eJqy1(ulUV{vy&}(YC)Z|a~GFQzkf=F|Dq6^9L6=N z?1x$%hJ~u!S`q&hk+C2+m_{w14;wXML8?3i@p|0H<5mI;6wY3ix5p)O{<6b0r4;)p zq-oJRSbh|hB#jpnNnP4tV543R3C*u*kbnIvnxoi?ci4ghQ=&OtX?a627!}nngZ4i) zhF|q82l|!+k~z2Q!NPO8_9#QB-e@^2VTkfsAH4UL`NDMjF(7svcSQyHh;ZuHgykXL zDjx;vi(W)Y@N2*kqk{a18%bH0$jTCP>rN3_4SOl~Nc9@PZVq*t*AF1{BBpo0*c^Xr za9)O#4)JSgll-eg&My=9LL0LLj#IUGoQ=u3NNS^JC=NW3(enpHk0Ykvb)1Z8y`S+@ z1ul#em|y5cw>I_P#}$*L;e=?dl=-1~Gs}sQ@g$xqa`HGQ8kjL2RaBAR#u*Rxe%TpB zTG5I6@NvQ^ezYjppZVmMh2a>(_~#s!sxhF81djVO`g8O_k}mvGb~R7~G|*>H8T}$> zajDO{?Tpu_K<%E`QysLwLJ%7FhsR_)-VAzV*gjXq9 zobmBoV!sXK*oZeu3PO2ONM)8jX_%^TxwlSo{M{5g4kNN@aw*r|aMW(GB^#Ri6PC(n zVqGRZAZ1B&r8;C|>&aw zrzm+L%V>rS#R3}4TU^4J`+zvO-S6W8x zv$NX$JMXb3;V-Z;Od}skH9>o!*Ek-z~YR45J?o;viK5P zCpuFEf!)zHSQ!gpb~uH@qvq5Mv{){Bv8}Q9lz?UJb&t8JkuKuOqfGrad$v> z!Nf+?FwIh@uV51ZJkWENj;8S5poJn#ezBYe8j;!PR4874kheO&liNOv5WFMkFp}2}nZ6XrE6gjpej(LUR zTx10aRG!{|ukwq;gr?0xFLfS=l>26+4Rsgw^6U;(`uGbBob_kx+}jWyq!U@^>YYE5 zN_Cj?w!>NS3Gp4-42nNnRQZPt6$YqfV8UDBXt{&rK!`U2HmJd2X326Kp8hd@dHL?e z(LRA|Tu-?o%TTasg*=@?ukcHDbpl{Ad9tX8i?jQC$kCY}>_^3;7OEm?Bk6ov8gm}p z%>vPC{kG-0W@tl}bQ3Cu#n|xBdAk%2qw6uGDMnKSXdYmTOS;M}@7;0dvk$a!Xb~E+ z_Sz4JJiE7QN==T}SG86v_0KR$=R1c;E*^3dZ4jOggfz<)k|rr$$@ zMearsPl3A{+ZL56a#f$}>y=cZI{)o;5Jf4^1E5bWTU}{eEa9tNL<3oIRY(MOE`AgZ zr!^M!O?_iU7F={@YswU#y#;FGC990`=R$mvSLeGOUX+d3(5$Rd9wDVVfvhz8+^7IB@ zZdcGs6i2u$z~ZLDcL+-#bDxcg86kP=3R@6cBg-+iz5jyS-#WFESh*h4n4ba8G+~S zeDQ>vFRJSd4ZRn|QblKZXJ2_GWNH=Xa}-PYl=-!Pe6&(@qc&S5!bK4-&q?X`va>y# zCI1+c!V{B3F4CB*RpFN}Km;;13`VNbfw+^aEV2AsAKvXy%(Cu`A z(}=r`%M)6-084@1$ib6$^16-@j@LnkZxnHwVju&6IdHpK>HYD3w z6_)hXayfTceh0wd|7QLYgr;nsasDn#go44gU5#o=){? zjMV!s6)y6rY{dVz1^znI%#%=}LXo2`Q5&9H3{7!6j`|lxC%w1Xqk~Rn^}4$aK*T)v zbWFP%V1c72^fW9z51y1m233f#fy<@F@VW_>rSqjnb4JeOl{l(73l8WKBG3k|1y!om zBb1js@GHPq^StvN2DnhpkLb_h#Bxa2gug4(j}V*A=LyHL;m!05$HOmKmNynJl#*%r z>Tj-hK_3tgI%*&BiBK`hbh*1C8PAK$1f6>n7l_7Iy)J98O9%eUH*E`uXyNJ$zZw=laz5P_!T3T$hPn5Pj^T|7YAW@e6gR z_9Gp4{kw~QNl9x%{@`|YG{*p~9_@e0zAh7y*ppm@<1ZHUtHd~L44&OowKE;kW37KZ z|DdK6Vzxd3Ed-p>%VPfGoj54hV#}jcTYp1ju^015ph886@nD|$Uh+C_s7t$Zh9;pZ zK>C#OZ&G(ND*t_ds^M1Wl@mKxiF>$#7~|4#TAimg4tbqB)O%T8*zdk z3ImM{W3!kCdMK`p+Gupd_2yIk4D7V1j-*Cx8uSu?#szuAQ=|Z;deu#JO6r&rHcc&z zQ;pnC=iH%H3+k1I|AHxl;Y+<8o4HcioV-hy!zLYnrV0#tPT*>dykPcNbt)5*Li(Zf z9b*j&qorQZi%DJFO2`u-2VtDm&DoJw1>cssbysE|t0*!SfTtzJfR+jV? zyO8J*=4O+lu!|j4BcSI>7U~Aa!nilHI(h)4$3{H4@WeoHXP)~$QfO5r)^SNApnH}+ljQ#mNOW_xR)(tu~BzBqPFVVph70?%0 z#Z%80XTRRaW~=0cjmOJ@FNA&CbVKV2j~K}%XKK7O92tj*HWam5%&0X&+|E^WvXAT0 zUvz$!k&^5o(~t(mE#A}iD-?P5uhE6$2cMSom)LOlD1JE=5RMNZ&pB6+L^IZz?4H1J zbXdxFX!SIUhnN5Km*?jIM~li3a$UwXisp2KPtA5us6j#B;ND$`b{UpCoAVEd@upz0 zB`*EBQS^wY<*CNmAEG|Yv^JoG{^ep;X28HG`Q`AYjB+r$lX_7<=NEcwtH)!N3DDcB zJwQsodgJS=S0Yi|DdRLc?Uc?#>^}W-c&_-xCx|UVZt;0l(WOg_Im=r7bCk0&tr}+g zz1{+cWg8U*S=ip9DV>iXtnlB?+_ClxSwB}#J4)?3!iQdO}b zC<;GB7iNqpZ4dNRG3XnDaEWpXEEoXh(2GSQ=@-aqcs@2r1l1i-&6XYxGd~pm*7k#( zvOiA`H@05EvnQRA zVo`J-iNvT@y)CF2QWtK~UJVP_dy~4+B;{F75AGC4olP0sUnH2Q8S$m3JapN4N~=N> zfl`DjB(^elp88<*~{c!BfKJ)G;CpIm0Ln@@U~Bx}@OjF2n}x+?Yht1h(3v zT$$KYmlhg{h`aNgr{aMpFtR#z*Nmau+=b zgw^mkOo`U=BJAoZKe%RXzS1YdxNN{O`0(20bkDY}14l)tJrNK~ax zL}5<3Xhwe-cS|aah|Bny$p>+8cA@o&;D68qQXJXnIO^+S%V_%PNR~LMR*PSlDPurx zn=x6-`F-nBp_H<)85cI>`#F)=H@W&4GFLz{=^j1-09@msl5irv*rB8j(L1?Q6X)lmdi*Vl6NE?<493`mJL*A3&3Y zO*liX%h!-brK$NzHR~v)TwP!ONC6f8l5#I1Q8m6o+@by-l;EVJ@?<0f*1K0l=%~(1n|`} z>;?gyINkWgXk)T|>BOm7>_*hc=Ob+akNdbWF>jm$r&`v7sG&qG*pAsBT6jE_o&Q=;U^x3(^ao}jyJ0oZ+wK$oX1*4^7V zT;z4fF1e@6>vz)wL118(k!Nhx1L12`a|iM7T19Gsp@4wSs4h+%CoL46_~;wRk>mMz z3TS4)n?LC^$G34NfSn_}8ooo956~1OpmaA>V8VcSF0U7~J9t0llW4l!rn-US0g}aG zvpT7S&5(;=FAG;DPVrRzm0gRb zE3hH=U?&`2Bb&~jO#hT1lC%hURWy}lTC_Fl&GUUz;K0fMk6-7c!|$F&7^-Do(JPHU zU`J1stzcI#En(_0v3HBh@KN>^vHUbHoq?Zw{-Y0Q>LS1zM>6lUI%mh2*%FJ2RF70? zeJfRq#oA*b6M0)SB&tQIU1E{j;f7F511zlXOFRSKD4kPSjc_Snx@4>B%0xF+aMk*#N7ZBj$6ohP@np0*yrvVtpFv zdhD{S*$xZUFopo$9&S^Qd!UwK^cLJ5x1ny&c}6f5ESLbQ1v%#5jYGICYz#x{=IRS$ zKa%W(1$lUBJ<*dfZQkTIe!UiUB2ExdyhYk#NjAmoRh!On>@Ye;B%)AF`;I)=@=GJ# zSo_*&kyc=FwOZvtN>svyADsZB{NBvI4sTgeRVV}}3K20rxsIZ5*S-|8Giqtd@@S6R zxOK2{3|^^xaj|t*(=~KKZO;JftMedy!mj>@u$YV%T?BNW_p_rQ&bc-xFNpAb9ZHji z24I7%ETM`#{qwC};-6qJgr>?`hr2}o);^#kv9Mm_&L1s9MWemq^1=pU&;I~$K##v! zFpgAUgLp`=S~W{a^2M_7&w!{&BWPur8ObV!s4o;bI4Ts72XTb}LcxJSeM3|jkREzy zXvcsq)5?5oUcU4exEw~~2NgSvfi*a02=tN6j=AoL!>kQCa~w8cgK=nUE4Ez<7cCM; zN`>W!8!u-086wE|`2Y1{#$#_@QxCL-0(a{bbO&TAhsaCnXbj#^W$t{;8LNY;&>^>vIm1G zrzmbj!ZB$1Eqce7gM=KN#<23JZbxpgM^*H-3{M)Jvq;_`VpJ5JVc~N@sd%<<$}6ZR zr8pHYL>P)Mjy7x>493G~0%<*t*`iSGEqPInmr7(u<$>@V46g}tXaO=v$!ijwOP+&Z? z7BpW`0~sBE9K=YYr9$}Qkl||Y6PBuY#2QKG5jmzu&0rNqXu;iwhbii7Y%prs+g#@5eF`UZqFGv^l^)kBbu$EZ|`NDtt2(-h2&->A6MgDOFz0p(sC6&N%YG!6DROvO;vfOI*WehN zE<_y_?4Y2AB%^69qXGd|X0tjQ$POU!Dm12}vjHt-GmN0a10T>BAgZ9PF31yyqnHEJ z8f%VW(G?-3Zc*h?Ikbj$g}!P>^4OeBVs>9!rKxPgH&}yCL02KtnYr!I8V`;FbVw=S z7qcOTLwf_pl+Eu`|8 z$Iv=FFNH;p76(z`A?&GW)o`AM!FH9=`Wplf3kP7sym(|gEh^Zegf-wAB)GI2JVE0D zE;SVu>Z3WdqQV9CsAwR_4(o-$_@WTz6lE#A$Ee7eL=8H&HG!f+1LC~meEFMU3oWE5pUGaddK`HUl}a%xe8{3we>_NVRCt6Jvllkb=qDXt55fgGUf8-u zvUYB;M)d>4`i2HBg}&LLN(+k@apP%d)TXk9X!(p-1kthWfV#Qi*$Ic>B$Fz|E?tHe zvLSrLgAHZHP$d4W%CSkNx$$BW zj*}C~pA<~0ounqWQcTZvm|WYW3HDEl%1aaz%$*gJ*^ANyLydsidz=?=iP)-(q)9m+ zMWk%+Od9rHA{w+}QEAnCE^T@*rj2w&CcPbrE-EWahQ&1D-itO}dM`DZnt;&hXcvl! zr^|1^gnH`)fKf!iV{&POMp%$o577Za^xRX}hjEE^N>I7Q^ivIPNq)>lOWC(QA|ftLA`(R_w^_VlvW{2?WMB-6la$l^!_`^(q>XjYIQML>`76( zNil)pCGh(stSzLNTk0lYaV>hk1T4iw?b9ftC#lqFvb{IjEkH@2`|vTT&q-o8lVStCly0$; z-SWJm1s*C;Jx9IcDi{9T;JYb1< zcZq-Cog~t-&!dU(kB;qt`1cNf;K*jh|4Y-UexPX>0 zcvcPAj+-bZF1-OdKHh%=z^c`13updiOE;(R~z?G z={1T8gHDsuofMe-$EdGk$Mi+`S))CmG#ft$z|%c#21KYE>42CzyA6P_z}(hs517+7U;#k2`%w(2 zbq`VQl8ph^?n^!3?mndhK(_sD2IRam>VVk$e+mJ8?~yy8Xd8|ui+2ZfZnf=z`1|_^ z27GXtwSXYpJ}L$T;G7`!761i}Q;ZvGwcGpL9AcK1_5$?!U4h@T-#iSMWXC*}X| zu|I8BO#!}~Ks>$_F*_*TQ1gr7YGT-eHg;)+*utQ()YCV(DulvrczWeA;)#+9C=VXr z_7%p)g9Adj%%kBL9k5-*z`t(S1T+dS)KtfKL7jAyg<1x!P61OewvgpJIVy`r$f84a zuJD=OY>&gj4-_TPKK5!b+B~O^4XFl+R_bsK zB0G#0QE@_H@bHI<&Ctb5;Ng)STd}ls1Ui!wK|P?pQ1wROc*N&%cnxat$S=q*v{Y>| zOA82t0E1#DqJli2AGies^D`Go7IZH)5Rb@rATSL_M#+PmLBXi9T;&xn$Ql(594?40o}7OjuU22E2Gas>Ph8Lar^ zW4J`6=z+e}0xx~w6fkIRAT_=eFJG9B=j%dSAfxu#%7&k6(zD4vqbNbqL4RywF}fG8 zjLO|e4244QkoJ*lfuS~MqjEl_56Y+{sl*kqni>p`P|y%p&{a~YfTQR_(vZx?18Wpe z92CK!&;X&aV|X2!4AKuuZ%{>rUqo)8h^G3c1!VN(H`+s%JRlxKWuxiheR#*Jqf0%I zpFwn?YH%}NLqT0ZuNtJovOFynvz9SdLrZZMg2QAKAr(O9O8KZLhjBa@)Wi4ykH1D4 zO*L-Jjg3WBM#cEdkmWkMDwGvo>m$}F9EHZ$DX>%sKw-9YFIrlQ7!||uK?;?rUV~GB zIg)!J)kUrpRX$m|hP+tgkVpNbvXmSN?qw+$=QQ0n7 z*`RPhc&WzEgVGeNwE^ZJERG%E`y7U1_0TO_s1xX&ki4 z!)P{aM6oO?A_uaCqxkh8zK~Qsh#G$CArlO*3oM%Elm#%lEeKyIu^yyRU%ZVk1z`v5 z!wYbd_^8)=hu=bu+WFiDzJrhy4%!EG1Fp!TaM3%oD#SrGmDT|kScVZc=0?t@Lv2yd zI%*6`@`#v@42K9R7h4qIRK7@dY*ZBvx*k{>o2I2`92Jc651`8yBE!LjL68Tl;6}oN z@Gz1-+zn9+kG2Xy2A5t)noi{KsL+ts$a&2uVGhZmJGMtd|3kg%Gp`$K@R8gG)HW;@ zO}+nrj}r2UX!$a}HA>oXYKjnxz{F1C1@g$W)CXX9$tco`IStfIC%O-hMMc6Lc-hBx zJ7+=*a;_bXQ@D84b|Z2d8kH7$mBmM~l0n`ykXWLV9-#2w5C$ov87U2rrFUAhX=z^000mW0000069#2K001ul%~7Kc zKMYZ$b=0FC#!-e2Mt^D;9yO?=b=039rUrG?qaM_#A9bkFYSa+~5fNGyA|OBkzds-P z`+alpouBaxJSNXda|*k{2_j^&lAU=W8D!wK_+FP;GY|&u++O#EGNQ?Q9iu_y@=gV2 zSY_2#oWKdIsJxpID|Ya5>{f2r2;7j&kBBD%fW`nI002Y)LscLHGY(JE_v?)I{(h+G zeO?KT7o5Pang3ht)*b%)eJsJ>k9YX3XfuMpMZf#q6#ewSeechjZliqGbME$nXLLSm z6Q@u3XVi!MGyVJ8P0fFvQN{9YEWZ8fTlja#%JQGFtjhl_u!qmf->)fuTz!&JTl}|e z2l0hQ>wNXU zT6MTJ5&W$DQJOc)_iDNrl0OJOYh+iSE(Ur%yR)y~^>EUiD6jtMVO39&N5fhwhxnK% z=e#8kNi3Fgvnx#3#p1%ZX~;}V6+6%xpXh$U#RvfZ%y?U)$jHZtmngJGm!mozP58=I z@}<=lkLA^1E{GWZio;cMJ(Bf#t@1V6HMfjjzWTRCh)~tjT0!x(F~mZK3CEk&5&Xj z!?j+d<@fRGTBCZQ@$EzALbr(9QUJZP;$D@v}8EsgT-qiiRNrj0G2WzgV zPs^4#MNJ<6L@2#T8v84qCsy}oRX1X*bvm=}^zPl-WPOd_i=ITGHq7qNG%p_6;uC7I z8aOHKdA-@GKMRAq;vifZeyc*E3F&pc&AJsgnhZk1mdwa@(@kr9u@;=E*{+9dzEsN} zQVOXQA!(wMdI7Z%Wf)ctb37*275}N0zV&`?^?E?co6~2Wt2k zC?k%C8S*{c==f{bjPcai7tgkIN_)m{eO9*KUc;`h)rE(8VQj3?d1Z-kYm^1Gi=(ccm^}mI> z=?hnOx6`Sz_h+LXhFis#HdDz~masz6&q7s?G7Y54|FB+bnj6p8a&=QH={T0M^G(BR z3&(FtNP;0l6*RY8v{Qwj`d@4)pC&48tJmTVrOL*yyhIJmly-I76T;SIJvBMA^oBET zh&~^+vc(+h2OO~9(blQ1Cv3UA<70oEyUUGzB~NRV^>EtobyHanqA39{=WaiBoexCW zj4nBa^&;HM^Dtf}pKX!cT=S{c%OX?l*6$-#rJ2{HL0ihly&KL5T{V3VYIEeI1V8L$ zuZ0oE_h*Vd$!K7HxaMIgO=&9P&rfpS3%iXf7b`)r*2L%aD;aemtXe~JGu)xL;uw4y zjoII-gA1@YmgjuTpGzP8^4WbES9^gI=dVL!jHyYRT3(OdVimhHvo5pyjL>Jae)jur z51U_{&_C9|MbcWUQ&ZkUd9R;pQMt4hy0{u^Hk{!MtyN)4?EKn)Q4&@)ho_&oXE4LJe~l39CrEE@~B;9&}1~VeF`@BUdw&yh%;B5g~jkHAL(c2(H!h z?kp~*_0^|P;a*qZI>U;C&=q-|L)fq>X zF|PU0?d{c{{MzMaSEpBgKiy` zC12VaVx79XTAL_z$M1;E_O$Spi(^{3%<1fz+dPY3O)qJRXGpbXkv^7jJvCp5Hv8#@ zR$s4G^n~WC_G-%JU+@-d8nxlgABg_bk`W@GDBTTz|H)&Y{F<`2yV`TbuQ?x?k?Dpr zev)F4S%1bKOssfoR1B%Htn7Do24`RIEqp#lmM^4U&(?jKe*%HOg|2?8*|xEsJ`*;f zXzkx&i~NRm+h~70+vlAc7RzJ$y~`0>jm?ZNA0wyz8kNxIxh83>=W%_s&fYC-wJD1T z{?}A1*wx7LHR|XLHY-b!dk|}KgV1fpM`DTXIpf3Eq`eyuvqx2a$+Ja8-CJWwdO3= z*Xk4Fq(9H}EF^DBgU-K?RAQwuSi#BEiq}TA8bW(59akI_L`FEYt882#FRUKR{ro%k z__b`{T&m>@<{Aw4=U3ntDlrxJYgA{IV)Ol3$kxx8$bPeWr?SD2OxHuY% zQkkLgbq=ABpK930A6nMogbsB!tC63@h2QgIKf8mQcA@oIVYP#7wTX%abs4XHyvCvR zuhC}~M*sRvrp99P#k&{z!H9i*@EYhtxI`M;YMGYvLd`rH=sZ-52mNE`GfRxt3T?|J zDgIes$o@eFy7^tJ%0`6_oR}Umi_vN|jDzbJ*TPioc{FILw@P98@)9skVaE+i()(_Ej2tD7fiUk@94n-BHd)(Ekx42${~ zHtMuSEXNvNtpxz*``HoIv%LC`rW7p;9GRI7V>vKeXa9cAVcV28u*v0LeuMmQyZ#2{ zXpy(sGGNbjRTyiH?sSgOg(gyAR$Q@@7)trkS~5 z8ViisRQ&sQjo^be{g)9k<@`msx@G8orLx-4e*k9LO@6dH3tLDDAl9yX#+tsiqp`Fz z+^U*mFBQLo5$|H)s)e6FFY?bcCf0)g?B_D!p&^mHQB~4|)MNuKY&tC;!G%V1vxK)bxt(CDdTg5Hay0(yYEa-1aF#ZoY9E-X z?at&pRcNXgI5vR6Xh}YMW8F1dPoYW+j;(%dB^pPg+6FW>p_^L${&f1EiYIy+E$6f< zn>D~Kn!V|5vhE0skw?vWE;MXm{ zHW_qj;laM3%8=-w=%`SnKJq&L)Pxf9!jr zk_%Y9)7EuX$VP^D$gVzEk`k>E;#8NGDKzp7Yj<)p)Ub-Fiq-hTe)eiL#Ho}lD9*Xr zR@=hFtI}j7JR0|Ro&k`RwzOoeTpT>tCREn1I|ISr#Tul9DZfZR*+^KP;?|tj__{4( z{VzkUubNb~zHM6*ZVW_jJB3c6u0|}3N*?`5Yrw##^4LSdU1FyJ0xi2~3;PQ|7wh@l zMg#PVlZ5|Tj$COmu%F|o43`+m1K zZbay(xD?0^Ud9()X+@}2B`s%eYkla)G^ggR*m71~XvcK{REG5L z;XZ`oY_zTYJX-*?aP7E!92Y{i7=8Hv0cs_G`H{t3}c- zvlznFU3Y>GMZ!{`gsjZP(te$*ZCQnd4&FmsT2}P$;yyncqJF|Re{}?^cfdCWyAi4` ztI}FkA@uy=Ysq?(9L$t7{}uw+Zd8g*ql!%Xr87P8xvja6zY5BK|9-#>L_CDa}LH0p6is|#P7 zOj}ydl=VvMTP};{{YvH_#0zMYov~VZ9NbY_vuSI)A!O32^g`oNy7UY=S4E|C*sAP?PBAfEH*6U|%FRy5n+j>%MN;AUu&O#-2#tyb-5@(Ve%j?{l`c)NN ze8^tcXDokdDJcGAXk5Rydc?`k#wLub(q>Ux<#*d-r)V3XLx=^;I9xo=w$Tsa? zg~p-^Wtkz=T9bA|L(^eEg>zk=8q$3gzM9f5fg9gsL$xeuFQ2aH4#i%TA?@|HLcvqi zhiGTFnU~l!5#ec5Ki3>@a!qcXbyll-l^7H@Fzei!7G*nN`gsNp96XRT%d^e8P@@@# zA}oda{FC<+_whLX2Hu@E?mA*@3vMNhh=Y^Q87dYGE>~{B$V-W`?+EAiS2t2$A5_1@ zgG}0#cSA)h%d=pitYceOn;49R4o~^tkJerC$i}=_RjOFM~ zkI>UGtvKObuDW}Dx%PG&EDJ=FVp=$3YdE6C{Zx$Rd3MTi`xiQP7uv^xEb(iS%zt

      19x6jLB}UY5j`^CxmU4xfbIa`Q~xLHNu;BJ048d!_hFy))m{3>hiRv z+zWnThP2t{#|X9+Q;FsGEqtWb1p9dFpP~(CkW%TF6JvAo`77|B>F1C(4A*xIMZy}t z3uEqBC_0l`=i_C4RT46M3LD|&3Y^I6jBeHX;4>`eIHJSB>|ReqDB)+vBA1D=opWbz z>1HpYHH#>l$ugC^L!})^gKPrVro~#=amOU|30a!oC?gEVgo(zhB{(nIgMw0v%zKn@ zTzM6|uf!2bNf-InX*W<`CbStsmr;2!OY65Z7(-24MXsvdZKBgIkf$tk zl=+1`+T&eAbk`fceNw{S&1>zCY(BVbFH%(r?5k!nqAhR#Yp0HZq@-Q?CQRDPS-n}D z#zfVY4QU#}gOy3icu0#z931pCk=GFpuy-f5Pu@6oKT1;jRHz-V%W|95v?$t!Tc-y8 z7Cfw52`ad<4rb+7nx_n7XmSgeuQoCbB*t8f)E|%|&G7vfpGFZvk5OW}Ve+oR`S{+6 zHJMwUkkmScUFek8rMVyM&QX8u;C9?$yHItP*qqD6m?1;j3w(xB)0mnyF-qmx9oCNr zU@Wj@Z1Fv!RC-|?%WGvguizVsJ><#gHm+8Y7TnTX*Yfo@j7_Ti8`7O^Sa9qZRibc} zT!u4B4BO6m-ZVtVk}W?AUgr&(;|aAGi)=rU+Zr^k(fCg$tBZb*1V zl<+EXnCItwC@UhCIXx2n4EO`H`X6s-6Z=914qC&BH~g)z4*~ZhOf44oz(l+qJ?#z_ChRI%=n!C zACHgZ`V?Y=oqi{Tq0|j&8pJg8hWL-4e7QZ|Tnko@B^h9bu&-C;G_@l*v*FLnQNz21 z#^p(m**`j6rucgP?&p{PhofJ2T6`oOLmY-QwK80Igm5MIGPZ1Jg$_@QH@OT89?Bp? z8RA7O^)gwG@O$BUSsdu)3t4hc(idzty+yzJdHs^J#0*z~MsmV>oEYKS8= zAuXx6b*^&rd6sH;<}Z1((J)@(lCjRTu9yFE^6;Bb`iDO3af})cuTyn#kl!ktCdO%F zybbSPQ^V~0bPP&`OwbwH)~l{asZeFX;Md00u+8Jb(`xb#6JvBTJwJ(; zt1AoYD72jCRDCupwPaSKiLxDas|To|axh)uzW)06)1LK7>~t<8{0eJxSR3G9E{+a{ z&>7RSN0GV<7sNPbshW15WpShut-GfXgZ+LYwPsD`hJ(x7k6bpnU&|s9h^rC*(#k&{ zui<3Emt1qY@sozd{zYXJPm-eO^elMfdqM)nyV!??r5QG)`T3lv-c$+&t)kRux;~!; z7MvVW!)`6tPiix>nfk1pSKRH@^AIuceaa{My0C^Xr56&B?GvXXc=W$4k$DN>Snp8` zN_WkWA#K^W8P@_2g@m|j&lx}0^Ruz#L|MF{w=En4b~aOgmNVacuvdwH=`s2)8i#U> zFB@e19OB68uE)MMp40`i@0Y1Q(jYJ?s}xwjn~97%oo>NHiLx(vf0NG=U_ZdEOK3G@ z{fb@nS)AJC2;C)KpM*zI^v_7xL|L_Y!%rbC<+;NWdu`^p3QbALAz_th&y1Du#It(rTX}9sPbnHI-YQ5SD+R(wguZx5c$k<;b|&7`rDLeBMpu?<+FQ zD2s}lPQzt|_-pVFc;22}l3tw}Hl%4t^%gIVVhuTE{lAUd(3`EV9iw)p4VAtErB$t~ z5PpH5rGz%5&)z5WBUMKU;gO*`Sa9+3 zDb{l~4Qb!NO74D)g{^AtrFFyCG(5D$;gR_Xw>4`rZAb>gYLU!Ozga%xPo5+Gr8N!z zfk_CDzE8x@jSfp_X$~kyhJqb6YRPc~vgZj#z*C){6!@-MiIuWH+j?tAI*9c)t)+|*QtB}Ux?TlaZ zVD4!53t!Zq&Fpq|`FX1@%obL+Nv0~kvtxS8f}0wlpZ>G(sLTJex*%=S@l37hO!#SzaAOtijMD#ZsmS^8HX-+~ zOPN|B6|<=A`ivXW{EU3G-uF~vRw`|am0F2=U$qXX>?i&;+?slhBiDw6_^Hn0MoG&! z>>f}317@-x}9XIGYjv>ZZJ$)KllwC|qW-a4> z#Wu@=TYfp582d$>hX_8d1;#K;s;S>7`flVM^4!t3x{p;?7WL*uPlIc}LlKb)vs`Cw zWYC`><=H;uP4Cc-&AEP5R5-Ly*CFm__;tQ4-Rim?Di;sBA|;0Uep=xcgT;Z)^J9y5 zSZdCRdi@El77SclCXK1u81Twc)*$~vP;{urlRS+7C@Qu}tr@l0-uVts3tX zc~*{Oc8oAF)!$E->&ZIhla)Fi72c1sj@v=(1#??bhpF_xD$Vj0ffu%%_e z5tfja6x$0a(2rr`6J=Smd`UrEBlxhVvyiOA48>a((dx04=4EP!%1`cJlc7XeDyz8` z_CwirV*94u@Y>XHW7Is2=Hr;veL2m>BL4FyGL^E)9oEXKVyx?VSdI9X6^PHWTQ3v% zZdtk$@@p2-vm`_V7;X3OV_PH>A))?NRfa-8z^$uoE_)c*HS;1>E9-sSKIi<|q@Bk$ zef!3>)=%h?g2&#=tSlGw4<#MJ*i>+wc!bD0>8Hz7R!f-GEt)l?^W!^FCj-2&xfcE! zI|h>|mR)WBIQXq*Rq{jEvXD249Y5R{Jbm>q_<6q!?)AeKS;6RO!K)+qSn5*jFVB+l zaf~hwp$cSVHQG0%Ix!6Fg`W6nugN(6pK2Jg9)67f-3iLgCCcAQA#L}%jnUWN=<#AK zpK=UNJ%%b@49qjSS;M4#wl^@Z=lBd?^ihmskd#-blND&H_GsLY-PcIFCS^*otyY7A zZHR{JOgB9tX41s28j?`FvygRv-I}uc`RRk56^}(`Uil`L!ou%U=i27_Rue%j>t!@E zNPBW_+jZuB4OQA=Emzfq*3WlN{0RnT7Chozq!yI@6)zs`Xt~ptF7otAd^KwZ0sAE! zsaY!T@WXFKg4YiCBEn@EMy^PgRkgED3tMYQFUy|weOpVEFM$p9qQAmFhaVre9Le*C z3a`ttaCQf6OjX2VhTJtdrl zKQCPh#VR>IGTNgLi5q)uEv)3K)w7zMq(wb9yMJcb_Z6*a)W6s^Wq-hOYi_TW!@*;A zao2+mru0E_kL9&{76*QL(x52Js(YB7Eexb}<-d4XVY6oP`@L)yEzxLo@GC9Uxgpj0 zO>tRYzX+A@P`W$$gLE8>YB%Y(b61iMDHkeX*yZQm&wxlA>w7Rd+{Ko5VR!uX z9t7Nf3!B(_h!)ecI!aCk@~l?oE-@`kL-U4ZYLn$oo6Qccxf=6tYs!*uRH7DqAW9hQ|wjrV4$^Q=qFxhn-Lc}odU3I zjoIBO<6sR3uHbG0@bMXO`w}-6n{uHq>o1>OFJ){^!C%EsnwMy?!@uHskk+!*5lwm# zB3lR2KM$8ZhQwcS8h1E;25tG4visM(;o$YWoxmUT5oNH%ZjrQqRR6!xut9BU30l2M zuxum4|{NRF;=WA z)+V}|_*xKeWTt-7N4v}jXo)h0bG?=0E!4XqLPpb4OmmF2aN24b?9l1*hmNA==6FJN z|3hc6n`*U9-X}npu<3nSclGdUx?DomGaWTo!t`dCsb8Z@gB_NLX^o8yaWC3Z_@)>* zeB7{^L4TSpZIMt*DO%a4tmS!~c_#5*QQuF&8QWGfy7nj=d6sNdpQS3kdBe7^ zkQOZ73OgwKT#q2zgW~i5h6Y1rT1<~QKz{ge{z=yxiWzEu<@H! z!}rpl`-`Cqb{Seu(&Ftax*^SvzCUi`_hU8`l7CypEnnmq zWk3IGc>%MkF#l#?7?}0+nWeTuUM$7EH>6{2ViVM|UC3kY+$WjVX?ci=vZv2)^JSyqMA>MG`1Zv?9LDMr0#2R2_HY-uv%?~EAtk@` z?i^pj_43v1)R4rLmdZ6Wb$K4|N=VkUbz0ibMHQrdTQ{irgPyP^&AMB44`aL7-KV_% z^@S{WT^4aEp$83Vn%WrcmioCCM;x}yHh&GRg+@q}q}I!2EF0hQa4@dYy5Q_X{ZOJd zuhX^xIIZo|x*^N&&C$@MO}kB8L%VKKD-S{P*}>OA5?ATP5Hi2lx)~v<_4vcY{XsWC zb@^=;v0*BK#^;LTud6##QINvFAT}rg=fxTCCed+idN> z`3#Gd74F)F5{&JT{oR*pui(?!;o^UxAiAlavze-k4Ao`bV3g(!8*ZJ$Dwm+*+!KnUs-nyp3kJ~_X|X~vrfL^W71pnQgBR#} z8JE)>ws$KSu8|Ug$b2+uggy+}*Bhe(v>HMfLjBv;)$}(zV(yCthU!5s)NpZNF=}7j zU+-M)TL`sEFuC`4e0$E;8RvR~e(GS)eV+%TTz)|8k#*KW=|fsmCR4VxKG(h342RjZ z1+=WA_H&G#IeOpyi_5>OCX!sIbMBi))cSMWvwaIo*wP+twY0;h&HrOg!tut( z49^AUwQ{O*qwuDN)8SdCq53UzH%9qi{FnbbT=&|%9E=T)x9fyl*{glAP2w=Ibd?-z zn>hVoMxJsVjo4fKFv_GtXYR{hkUw=HOJCmlz9F%i zv71_4x7AuZtLc93uWW zWE)(;t&qi6M<$#|o z-*-J@_s_f-46G#-+bk1w^l7y}{qPj(vzskjG#Ie;-=DJ3I}7!lHW#*^<`FKuJ%#3L zXt7=OeSbE*Iv1lClkuB-z=HC?=TW(a7dz?RP39f4-GqxQWTRLp*`zg{)ehxsZN=fE zbPM)7y&rJA7`0uj5QQGBb2^)d3JqMyR~3ij$O!gJJXu%%a|K+*t);%Vta*=`jGcc_ z4br>6YgRK~PMZe?@|}p<>el{CsZ_F%Tok|Bc5|8|y7t;-h^<<=cs=`9HWv3fj*qs}x?V*#cS^cs-imZGA&Faax*pHyrHxSrfe6`B#uo zeX%m>XBIfSDWTr`51Ff>BEq-$Un418b7wLY6e|5Cw#J#7i*;MUeKpsk`H$JB*asB* zEiAVZiSxj~66|1zd9Hqt>$4L6>Yu#Vr<;7SU-QxaZN`Mcu%~RCiVO5u@r&vssbOZm zxVE@wkt@}zQR5m4D9ic5*{3cPE41p1=-{w85R&cPxisi_YQgI(dTEjPVHMGpV7*^1XrtUBb+2rRni-F zePQZdt-h1JbTn=1Cb>+K%i)h&q69X7W|o+_9G1($YG+W^*5uL|vAb1W zmE??MUL>~>IYwz*d>6y7FNc#+#hm(4MHO-3B*%!8<<-L@?h09IYh~Aw@94y%V%PP7uq>otYkD;ONca;wjwpShwB)A%+cet%BWOjz560b5M;6jDGEs6ZppHe#Qnsafu zUs@p-CO2)9A~^%26is4{SWFgs7|~JEaLX!T4dKQGxPmQ)Ua>;flhu$g|7eKhFH~YJ zcWbLjWZO393uZ6WOslT8!%4=7G>+@RauglJlKt)#?hd)goZ}w<-E5_4VO6`zRv;I*oFVO1iq-|7h#_wFwm~Ki*a%oQpF*8 z?;^LHD@T=^p;=r=8kY-hCCP(X#)!tPLL%x#Z7hj?=~j99F2{ofF2~Ao^z|rMbTw^B ziv(gDlE!zH9!>VU)h)Oww7G~lAlGYdS<2cMP;i!dt08eiUVX>15(iq&cg5N@sX|y@ zujpTaKLnKm`?s$}2i-fmOWv|O)9DvTr z<$yTCB&F+I4Tl^hYHk|yp2y~~Bn})Tr?*@V32T)NhH}05ktLy-MwOVnkB4e5vHT)~KE z>)~;8SSiK5(U2Pov$PqVh|5rME>|ys@%9=aUg@NABCFzfQc|Q}!Qo@eBsn*t%w+Az;oLtyo6sMz<}J-$weZS#07M&MC#1FvZhy>uqA8{j6yU@gQNP z$r7TT;$T%GB;<7E@A?w@dK|I5t8iHq2P3X5$uSVR`Jj~3 zFO1t|jQdt+Uu;)zI$$1_=TftnEC(i;`L406@_Ky#Csvm1zA%iWGPuQRa#%J?FIoHe zTDC;kalVhHFB}=m>RCPiF>l>pYOHr%xhIE7h}R=$w6D}7RF{dS&xT95fU-4+@H1r zr&x{NE**8j;Uz>QU3WB_?f-uJwr^XlQBi`XX@yj+7^O{&4qL1iksxBPpd>ckw%8I; z)k!Fc5PP>qC^2fprnZ``+3NiHp5I^3AJ2K7=iKK!=f1Dc^|?OR<)Kg7b7U`VM(Rd^ zjkRs}4hHQu71>2fU5a_JE>Z$c;`BV?HM!pt`CuvOdbpxL{UbO2{^#%!9MSsbnz9Wd zkL{+mE!FUPJJSxH6Od5D@FfVLqW_E$K+iNS6A1U22>PNYC3rIgCq<2HIg3Hj7DEh~ zoM;5&73sN(Y03T{4Tq6a78a&zWz4tJ_Yh;;;kIH02yJcFUzZ-12uRwHmtC81HXMc5 z=TS2=*xllTU3R03|33dPz@~Ud#r4gFx)xf{kJ>MvoL5%`zNgr~1zsWJ5f2}Vw^}=AYt}~1S<|b=OlKP8(|XQL zk0A=IG4eSjF1MM0)aLYrH=DN5DRGSO3@kc+&U(}`!`=+2U1g!B?5+xD3UatuIbYslt;EFBzv6rDsQORTUOax3&y7mV+^v|Aj zkZ~m#5UgKd=AwY7BqnubtCC0Yc!3KS_4Zt^R zzqQucjraFT?E$>EK2e_|@OQn=VYj7TpI`dcjnvsPFNJiD zveB*fwcvQr`fe>ehm#lz^bWSUkGI-eY{*Ccr7Opo*%XYnIFH!0eC(xvc|8G(sPgtv z)CJYSB}Oh}9jsr6i*t7f87Yi^dQe(1$_XG+%Jd*HRa>fDqL z14u6l0DQrC-Mu+PuF2gJ5Xg^@PI?_uVY~B0%m z5S0`g2~2;z$Sy7jkvbBv%r?4jgusnV>$cCqg?Tug=S?W$kx>@ZNOC*HP_iBr#w*ksjMB#ZR|qAv@-w0+aSr#^KJl93me@Bb68Fp^~{W zcED#zBckXcj`cwOHf(9<#B)uxS;YMehzIVOLur+`QF3;+MJ1YP1 zU+MGdYy`uWT3K;aT60)u>at+H?;6A@Z%y?f(9*Yim2Gaw8jBe>dlur8#q20CMn_O#l*hQ2lnkSVhr znO%%hX;}=Ujaix9R!raWO0s7NtOfEFr;(BzZ!hkV;TyjrlTt_WXB&rl14iv@_O|nW zx*dt{)aw-XCOEY&pZyt^a9agP%ro7Nq`iody(2y*Ss51^lBU>Cibj?#qWpjJ^+d23 z2JHHp%mU&*5h)rDrw+qKSA1$YyT}Lj#J5W?1!?ma?fXUK_PYHnaPnxo<_CwA=xB6X z#8g?VcEggcAb=lc0r9R(@`mC9?m=HPkT8T;`&)_wiYi-L0%|I16@~Z)UH*0<2eTU| z`Ld~n?1fUrjxev`*2UG*oKK$d3tfMIbf(QQLJ{XD=XUGaCHuBEDQVINu-$0iG?00I zwG{uvjVOE{NfL>p0M{C;sHpODfg-Ntu3V;GO$m|qbaoyw*!0pZKfqW~YZBke^`~Ny zrNdSB#b_CJHr~GP>(GlD-vU#O2S=PvD-vf%zLnKbzQ47MtPR5Rq$|*HYuQ-QZFQr^ zu{qi}hSs|GykLS>(jcu$7yG&KbzEs|;^**2eZfmDIj_Gz{CeX@PxrrADXWAim3$xC zS7huV+IW?gHzyF5dVkh4j3Z71Ru5d>_H1?#!Qh~=&$yuR<&l=y*Sd_E@N$emRV6si zuzfhFwsc{ev`xbKSjbihKfLG^@0($pXdLL(4EEKpCKS6yy{8MfuY9T*1euBhcIEi# z!pb&229fCi5hm@H&sg@F1+Lek0SgQ!L?>74gT7Zpja=B#v=8`?~2ok3H=R>4IM?f*vrSpt@M{GtAl@;6RghdFNo8`yU%_=x@vSkf*$(n)$ z##o!7N+wa$xep65R~eQq8U2ndCp#tI%tF7#2*kzvoV#tjIo{M z&p5-gckwu9rE{q%->6Fochn6O9}V~E>U-yTGVLuJa7fx00InS`2LK2 zbe$X;R%LdyLQ7&IjXuO(7=E??XLt06P?@citTJW+@N8heHoQRTU+i3Hhf%ZD3>#Aj zoX-yx^NOwWvhr@N|)0piFB{OD%S+XKK{CHu}!~Y|9BsNFMWA7 zBS)^o*9$<1E367*3Ubt({3T=t&bBDHvkyB~A6!jdccr;o!OTCRh#-9C zDzIWyLqnx($+%qn*iX_6LkW5Ghq&6=VZDDIx&Gzfr^<4z8#`yR`WUai7 z;g~qNA#mOmHkmqyia;@!ky`L1)WP4>u7^NPFwy(GCw?d1H=quSkFzXk8PDCAihfPUY%`4VmHUPHnvS+`1jz*cYs9R2o}28Rmz>1--I`g3SU)+KCL#lP!<2M zvdDcvpCQ7tfnkB$(Z9r{^H1%mFzQHCPOmNtmMr2~hppFvOPLwuz2spI1G(t=jAH&K z1VqwxelhyVP(Q3;&3aWQpC(}{pWprQyGWfbzw}XulSa&#&}iY)2aZu4>uhq3&D%^T zd~!B-TNBN*coY79&);xCUst!x>cylywcGHxOI@N~SgOB-to`s;Bl$(pIOm>|wQPp% zhq$bf?*pTC%-ATNA=0-0Ep1wxN2mLxTQx;%{mz=%VdOfCc^Z~KBk^oX&wgq$hghB! zq_gK)vy|Qx&7?$HOfTqFx5s)y8J)C|)KF`ZyAA2v`zX0t<21Y@N!*LPMk!j3ECnD5 znK*Z6{go1=ViJ?X4b5rQks^{6?y)0ARxW-d9IXX=A&(h`4t^m4hlOr^u-wkB8 zN<0{0H_(#j&tC86KS8nWkqt`kiK+&fFaqN(O#I=Cd%A69NdDny_!a-2$|Z)aULG5( z`}ragNu{%LXba&vp$~<-8ugx9p4dsJE1T;*A!7Ip_QX}Qrozj!^3D#+dZy=+>cIli z9GKRoybnnc_x?+qdSdt=@%(6VuL>OFO~JtuNui$KxCqg$@M1vT>=ja#nr#l>V34r7 z@l_2fpflRAi|Ww$Bo&&ev`B=;iAQ)M?0ChRHCKQg0GFHvC-}2&}0`_KesWO6Lx2mh{#DXi9msjg;lk~UA&V(8@e9F z#!L7bQEFC8S)-a?tqrfp;6NR*6wTF-`CISz2_3IB~Ts^T$SBQh?712 z5}PAyufpt;Mj|s*1PmZjVTYEvm00UYLmX$z$pmRz1b>6e+;6^3Ew`3USHO)YWXgC^ zRQV!QRL9f^75flmR(6r68l30sdZ(LlSiF`J`dz9MEIKb@YVx#+jTd6sFQewr{)_9K z%{@u)2^)jGCG~_?jV>i=iaI1|x_b&XDohXi=Z*NQM(=%?_%OUeAw}3saqhs`m~X)> zMLt9CSx4_SuL)S;=0~_~82Peb?xF;=cxL2Y4Z6Wl;W*@~e_rLb+&$|VzWs zf(SG79nQ5D#p%*&I|@9@$Jyb}+%|epx}fStb;Vl{v?>B`igA_`=PCrt4epR9v%E*pG}~>DdYvE6JzV!fSxb?E8PG|GjP( z`P$UvxG$^Ma!!8D+7Qny*P|(oWB98O7kE;5u88p9-~1D6OeRb*-$UoL77T)BMI#ru zhHY%w{PHRczV8QZ^1JFdX>LgYa)Dlk8R#Zv3a>l7SOmU1?4Kw}Qv68NsDvQ!YCD*F8t0rKs9 zQ+rqhOR`4`)Qxum`Jdjq3doQtVMwc~==a(iHc|}i++ngom>%1zU&O%5rktX84>RZ6 z?32)(;8#ea{l;Q|`47|!z=X5vi!zI|9K6=>^e>+Z=1=ZfT27ILffqpm zDAV~@Ic2^yaAakX{v1SwwzPl#R&AR+GUC56+QZmsz$A zXOV*|-IB1Rpr23D0}=dFsK)kMOBtuf5~;tv(;&%gm2(X}1JRkg0DaRKXi1x-Lb-Ux z-YjGJvJH&%)9h(RrLhC*pNLdr#AM0(r}0%G?BHe8(QBtGMc!~Lz>M)bdIR#_6f0AmwcYIYPVsZ5Bb011 z-jzP#%x9L_IuF5h2k?fe>C4b9jn{@xI&o_yE;2LcE83};*|HVdb^udhUqz&-f_Oo{ zHOMY6Ux-|tGVk(5Ct_mR0UU+q^c!&u+4EcDnJgb{GSHX_Mn~f76uUbk7m@OBy*4Ca zPC0h#RuJn}c9&F5-huObEuVR(tP$-Nl(t%Hv0wl77@wN;)N&iU@3Oj>@1?h>1$&B7 zR-A1cqqm8J^jk=LeU2Uf$CR1&ggw7Xs80Z9OE{eq>O{v48}9#Z*t-Vlh|UICPe~^= zZ-dC4*a?wgz-n>%Lcw0Tk|CjHuR+OM*xCKhq)CNvi?XAr``5YB$&zm*gzBbLaWz=v zV0Lb|ort(cLV&mM-W0-X6A5-D{~P!PgSH1yYq`6_hJ{|5P~S+*8z6xQlMg4)%^t%B z8fzm7h1m6(x%XVr)|kplpj!VM`%|!rrGn_p(s)9VZZRoBIm}MEe#0LFJ;{lq`fyu~ z@TBZLysE;lXD1d`YjfCKutJ*zL2p3R{&l)Y03wG$a6Tx0B3u27|C$|C-%jQ!SG07c zAQdVl0Zk72aW3)aHdcQD!2nA4FZ!~8{S|7_MM{N)Ov8i~X0a8;nsK+@?hH_Q&a9n< z%uzL{l@t~nnGvtX0AlbtW{br8!#ZrRGV#_azqKHzaJ!-!7**zhYu*&WV4Kxa6EF!s++2L0aH+KWFMyvWkQPnFVqPK&`;^{AbsA z7FfLFqS$@zBGDdOLM8t){Ju~fkdtk!r=He*i{TcoJIW~@z z!tG?g5xc~1mG`#?#gB{L@!ocC<$H$&tJVbMyx{DqEA&GzNs)eS>(})tY( z&^v>4%1(6Ta-Bi}8NFCc;KF(0Qx#kX)JV`DrDOnAmQczhKmkf^!(mx4>bh1i!)4sI z4b>k{C)<%{m8j)|^rxq>A;Oj?ESrj#?r64s!@r(sv`){&rc~O5=oWI+Gyrp93@oS3 z8SMO4vj|&U7ZslvpoXjIqo+E8x)P69e=xTnPX;C}5|qMau#!A3AhdZ#kd~(hw?Ub< z?qUU|FoQUCaW>2~A0v0_;A7ZK^nCahUm}U~y28@e(dXR=DV-fzw|$dl!YnG%1Qi$9eceNYB#W$YbI&$bsBsB&r6@UClCI_UOLi( z3@gOQEAA{^OSqawz^3SX-(kXEp8dCqq^DUN1A#s8_0hA>bJu8yi-*bGeddu&OC+d0 zSBYNX0#4YZptNILuqhnQewqGct-b=fy|Uy|g2#!%ct%>6#r2tnqFV-h0rr+VDYZ)$XM2K2M*bQ7p3`SEe@8PmF&NDb4Hn^mpgdJ&ry5XAO3#_Ti00%^KSoAd z%nDx7vDQ4?&u|KGshRA$a6n6pkdhk1s#e?6=C@Eqy7}<3&)7Oc!C0a~5GBal9i78> z*9B=$M03;(Yt>pBD1wdm8T2T8PGRc_BXr7(ywfh4?^B{dNx&*80gfI1w8%Pqeg2*! z=<6H|CGBg&pX@>m1%Ie1<$U;7hP16k(spUeFJ`+e-WnKYQ5^;>rXhOu#SJpe${sXn z90m^5ZAn@FSN$$Z)~TWaS7f~FoIE-!S?AvzJ_V22^swOJ=<<&F6aR~f0a*#CeE z(|5NZ$#yx7X0$fkMqK(%D5Mer%EtXDg=o|7I2B||$d@QIS@D(WzX+_;FV2tN_^SOQ z)4Do`&$_m$lnpHHox+!ApBLfQsAaI6f|=tgwfcg`!O5%cVc(580k(1m(RpE$A%fbt z*iXHJ-<91*Di)hcvB@svE8KAobZ6gMUA|8*Ur80T8eWaz13tzTe@-&tbwh!R(t-I) zwBN-_sQEzr#jK4=-RYD<7V$4iyYwk_(=8j^htd~JXQr=}z~9PwY7L4(7cc6TNuzb! z6|MbEA90M3^ltx}w1L<_S?Td9t8%pl;=P>i@1?+w)yGuB!$gY_v%JWyh2_83&d7Yq zKH?e1FYwH9Crs>2cI=l&JWKbUyWJ!{s5`1usyLZ{_3E4DS(R6}9!?yQxEWr>dwC$m z`liJDALYEBLl1*)o-9?g|MhMu>YDzm)u-ydPlh8cZhroe&fo3kE!6VjS=Rp9HY?E7 z)#i=Lco{{OsqbMu+r9iy?acPGXIb9_+s^))yxP3UQhpUC(0fFvdm4ZA$9I0g1J}s#T2Jbolqt8m`kHka=AN{xWxKE6!&l@*x zpqA*V2tFQu(NgdOMCI80W7x`*c3L#T0!c)!kqvBb6qLenQ)DnWG;&63?qOU+iv4m0xjFFR&hKTGZU1-{no zci!Ws?O6NKzge+XD%aeo)R*aeZ{5oHbzDa-ud3V!edobhzdZBbhXWqR&BN>LPafys zmuCi(k3&A*`S|yd#8S=GTil~@|B5tdcpSKGd!WOaw{xvpl6E?g#U@E7TlUcDw5n zKD;5+E$m$_q*UE(I=Et2)mw1y@Gl~iA3oIyynE}mSWfPPV2xu}hQ~E%gAtR*3a-0r z$f%hfHyMkl`H$C%Q_52VcEnW5np%~a#rpiUcA5yt`1#2kUfCbz&->T>^4?g~qwBw( zEVzQs{@Xo1vLW%ly$BI$sO7tCJI{K4cVjvD%*D!&{``#N`QdPl=e>>9!NYf}s|WwlAjL%0hYmK_1#L)AYxo$3;Z#n;UPmh2cryJ% z=(WG`jh5+OLa%ST-#A(1ZZ7nlD*rd~_A6rNH+zS_zj$tcfBmxg%Wt0BpG#iOd^za* zdSeYe7UFO%opBOtL48LoY}ye5hAgw)wJ;m&4^sza!{}-8aXi6z!_m`~TIr?rjJUP$ zUchH;YiJWLVqx`PbUB$of=>I1x!5aEA!6daYY|ua09B^_8?>|c#3e=Q)dV)6i&OztpxYAEVW6vLdkH_f!d5w6>nRiW+SPx;tf|}>p^S4lxU0F48K4(R#Insi2jV&cB z-kXAau{pk-Y3So4(_=FtD2TZabg8*1aH%$jKXd_B;=SlR*JGwPy)Dux#qR({$Frrx z(OK))s*A)0zWe?U8xxI!NO?{V#2-Z0!CMHK`e|1i+=Q)r+H%6^y+n804i{)jB*t9B za~r+#`RrW;Eb(Os$+xwCby%6X$LPAekY;bZ=m;Anop&vioOk~TD7pj8=J>@kES6Rp z@$%9MTck9nS51bb;W_8A*|^dZhwSw>gpl%y34x8h*c}f%3OrJo*Za`^8vhJ;rt_8S|U#~6bzt6HN+_x zw>8GHF1w;h)+^_;uqCy1|3XEDECiCtvgB38!^&aR|b2E&OlFDz^3yGmHic zS-EbqSN-Z`ou-ZAhe&EiG|IrPBz@|nf3^teKNZ^ukqqBFpfcSl?y*3_4;*L#t|#8P z-#`S`?+bPu6zh=cy@~;mJO=R`a#{w&X!NVUz9@&I0BKVNrPa$NL9D;BMP=Z|xK28p zD%Tut+!m&%*sx~rrOSX=qya6u{?kJCh7!Q%POGUD&#jp{S+OAq%pHF^V9&+uB{9vO zDeZDa>=l*OBJaIpf5@XP5cEsl={X;EI?ilJ~NC7I4 zWr}T5)vTB5fGF#iJeo+BUgx(!%ACLVM_1;4&WZh^ig8AJuIW?b6667IM(4L*>U`-? z3o*fWfyEXRXBy{bN?tOoIGC$IL<^TAchDdDniC$EH9)~h{5Z=AR@W1bs|cq^`iRK6 zn|*iixk!K0l&L(IyU=1h&c0PH_UTVLuiHE>{ZuGTl5rH9C89~yGz?3GgkYu6xwA!> zj@&ZLl}vAOy67m{a9B27(2b!<%16s-1Abb3^H0>C%ZD;5D!_nY3ZNlcJPflRWGK&Z zyTUe9rVn7*;m9m+g!~rW3#%2ggY7MXQ)S7C+}vKB2wGBF9hee(i@hjYg0buMXe+}b zb}}#`@%AkiIlZt}Xq^&)F_Un-u2;~(_0;Lz0cYCy=gT#0N=Ggx*_#npm_}YFvargV z@_uX$4-;W;Zn)jt@P&{28^lzAe8Xyx|0~XlLI=4F$BfmmO*$RAHe)ip`Jwvm64>(q}*h#aSdl~&2(S-B(`4a?r|5UZ?3Ds)j)rfE=BT#TUT_mnQ{ zmGv!L|C%@VN^O#$H$}mZW9>vZWYR1C5TC`?t+mOY1r5n zYEh(^((~WlfbHhiJ}*FpAyNqcr?&6Dp=mhvV@vY8~s&j85#z+rtMIp<3vz3*< zcH^a_PQ$$T7DW+BX?}HLe1onwcajj5M3OC`#*kCW&zwdy_rdPcF>ty%3f+Vk2;~2Q7@XsMR}5TDv_R-C}*Qjy<76L)F!_TfO_FoOpS!x z$(^0BbvvcIMXfya+84?!N?j5e@-C9+h&zo=VfE3SE#j_EM_RiB?WOR)CE3Rm zhm2R95!fE@4jE_)5+sK@$uZ1qTEw?w*7nq-s11t<1WY<=QC&~GOQK$JXn0LVPCPuY zQ7Z4J?d7Dy`R15mwu9m9sfRmSiNjxD$OU9M8+C`27ZV}478TMJNr?_oZZ!5&bjy)t z38R~7W)XMnS*@ekhu(K;_k;xZt6=dcc}t3Vc|a}>VN>&Nc*M6#@pO18=o1QgI3}-V zrGJkOn11@DLm%~kVGY4??mV5y{u1xoOUv}kXv3m&w$rO^lHVKEDiMomzVhyqw)ee* zpQWbG`MVW{X1w=4j5T{mds_5$0cSro9O=|?w$gPCg=`x+YxRPYR_f*Eqw8S&`YJu| z_d_z0NA3bJM9kYJZsbx!uOJdT#GIuuB7E%QNS<-8=azgfURxTd)dwB`G%%bx%_xP; ziA7gs<{AI++vA&#dDOj7*1P#@t9tuNiQxR@MzDZE73-XqMWRcjec@^QfcVn@gM?@2 z>UzS77NhlQ#$sN!g4u=94ay6NA#ORUopJ^5(If23(9j(^%*j(wOez=)71{B}QIy?{ zgRV6`V|YWc(a|9rn(^)woX-w1!GcQA@1k0LtqiKgZdx0+cEQ38T9W}lxo+J9p@f5L zW)<9lbC}*5-7rgL>Y6EoS~ouh`KbC#oE|ttg7J>OYyhNP7OB)V~*4X~iei zt%i73**lIHZ}%79Q)qWx_#VAW+~O`r_MZg`7Q3yFO1tpx`=B)JRL#IehK3C5>FfIX z(&g#`!O%=ua(Em`#t9TW-_(}5)_i^_bF14yx>F|k>@Z}mLanie3q(|6?Jn2Pa-hLB zQq8X!@W*zHrq$Na*TU zE>l~pcMfmpne;qB@?_Qs1JJF4GB$oA^hV~(vpsN(Bx%U=ZriMmD{r4~l4fBW{?rQU zjedVXd1|D{n&0a1JiB4hy2a`fYCF&UDQ+Mf z^~Xi9NQuxoeCdwmP+#jsY=6fQQ1Z8$1BDeDUuX;(1>7@JjE!uVha*96lB);yUd)8*JRLL7={>5b;X04&ZrRd*Zow2Ub4IX1w@)M*3|Dg5` zKov-2KY_a~Rjbxs!Agi~GtyfXM`HXDirvw4VMJ-(Vz?H_#6<{4HK4!73GvJ;ddNs+ zo@|j_yAu{jN$2KD*Xjue^$a2(WVSr`1tB7gjYsh4IarL!zu`GjOCabiR&7^eM(YN# zi!}rDSQ{fIWld2nYq{HbHQMI%@Ho)NZ<=S&-b8;>4tF*$H*bbxyjSyGyS?2=Ff2gE zN)pNdOBs9Mc}1s0$`}BM1y_$!dc)Hi|JA$(L(UDb9r-Y)v}$p+!JWy{doa;`&-a(9 z(@~t5w8+|kI%*XwKfe)x-4wai%7Gz+C!n=T97-CaKTxokd?|^9LKqRAar!)>$)Zj( z+a2Zp@(GE80pSw!Fo9T(9j~cEWA4=OhXGm5AN@p$WLETlMEtCTiEcOoY!Yxn_8vo? zFn`#DYnLSh2xRITPO}kYhz)zER#h=5Ltw@)8X~!$Z@U7}a$@m|XIL+exi*uQTrDgr zf9Q=rPXxA#UO?~oU?PlVysRZ83j^)n8ut^Sy|OVnwc=TINI~hl@}U%1S(NW^uBPt% zy`<|HyHnK^3lkS8WZdq+w%UR*5}DM}RksV+mr#g_Dp6HAp;H;_c*~%f-5KhjixE;Q z`w$H`9_=gCgo_(dJ^`?zb)2kENL_}eJ;cStjzTbz4yc5maTi-T#UmF@k5Qr7enge2 z#h8Y+3hva!3 z?OGev786kRfpk)wRZ|5C1J4-yI`Ui0Fy8vJo?q^Umo|>GrOk?118>#Z{Ol^FgdNi1Sm%P`t} zz@mIKRxK2flVsv4WV2#y^Wem3J^%pjUu@`wMg{>}$9#(Qe#cyX#S~c|c;A9j?MfvV z*RLr<)pMkfZ6eiS3J}sJ5t~QP35x-TxYs;q92)UEwJEyfnZ|2Mh zpHt!DbD?E=cx7AOyzq4LEKzAOgBzmEEK{>pZ6__wZ6ilj_3aA{%0bCUJf{-eR)g${ zLk;NnDOj%RIn!|R0jhjSm*`>y8~;y;MXA#E;T7Kt5!gG{b7%DTk^1hH=K$-n4O!(V z-t#1#?Q!_1RT7pJ8|P-GX)_uPdV5e00~Tzl;s^XmdX#|`@5YmAiAj;wPPpVc=akZ) z%N>1&Ue~G1E#o_D9#)b$j3iGGlwp-XBh@BlZ4!tYnlpzwl1V^gCo?XRom3E9^)@92 z3raaLEX!sHvT{<&+7q(W4uzclaSc0INr6baxtHzZx)EIJ?+4S(4eR+&>ft|7l((f& zC`U0I-7($^Fd4%17nDT`V}@tg0cuQ@*jx7Z(qjsu*I+@icD)x}|x+EgyQ zp}+^+x)l7$`}0qg;M<(tpX0jmNc%fwpH~aW4dUXK8Fs%q4t6H?FM751gQ#6P(t%*# z#aj&x@8$Ep)`F=baa^LZW<1YCFmPhgrxH|<(Tc#?`C7aYPXBO})}>tBN|cT_jBrbm z*&HBQbYBjeng`0*$;0Mm*p$>>A9cv$f7_y2Q<8L7EK)CfCk^iFy@K6=z|Xr=WO&Cp z&iSKXVI|dI`E_ieY2EhKX;kNf>q5<|x&?>ym4sP~tQ0U_Ob-;wdO?MsedhHgP1yoS zsDTJ(Ezq0-xSBH7lP1#jy2+X9Qp@Z!PY1X=dQOqxh^uue0F1rOKzu99*ycVkgB|A| zKDte{ce{GccgeXPsgNI8TidH2UTu+0M(Y*g`IL7s+4L^YQnt0-tUGBz zX%j}}r8L~R!Km`I3L=*9RqGoZ&$h?HHoj>)cRw8e>Rt~{E`YiE1W~&yNb#3pv za$lO8p71)n^~T0VOA7rO|7F*D_Nw7IG}%~_BQ?15nJ8)5~K?MFJhRcaQ{1R zh?nT}p)IE(b%=f3Xb_;SS5ic(Bhm*(^S+=T`n+qm9Y|jpW7yCtFc=H1kwt*pbh>OG z)Qu&_m^zIUsz&DJsVR$pooyL(5@?E2q#IYIVp6PKWUhPx6?z%!b8%bm)yCxm78L>; zAp&#i$nQ(_TMA_9_IC*;-22P^Yzz2@lqOeuZ(V2C7p=Lh_yMbb+?9dbHBYvQ;ehO= zXphh8aE!=0TXqr~3K-Ui`gLqRfNqR^onkJ((xKleo-AHi!Md3nAnre0)1uI{EroS9 z_$ecV20^+TpFl<~w^e}is%j;Gc^nyn z@It4K*ojtI6eQ7mSY03XRYm{MHL19zFEGGn>vRK_ zdQvvBv>uvYgvHDg5x_gET(S~~fhi1BU7L+lC)dZf-aG_~pOglSF{=k<+tznlTIi^> zf*K!87AXRI+-QzEq8F-^x0T^)6hC(g{~E`8(k>?kW5a#XmgVM@_;oJaV{}9Zadj(5 z9uWDM^I>e;tvf%`HR09qmFDOne2=aXK{dUzlxdu=$k$B&O2p0|7JU~J0M3B=1P*TtK^_)SHB9bX!$x%#dNe@N9@?s83uLI|s&^#@d zQpx#bOFMPzls#h2&_77be=hj3tb+c<+7IW49|%6SH+;J0>Ly|*$i6{Lvf?o;x;dg> z+sxE!3$K8z+ev2Haj)y9vPvLk^EUTPYKcDJQe^hBymh3Wd!}QipoLh8xb)sz<`Bmw zj&+-0h#a=x8x6ZVb}_H5#?6}oPSmL*ygd79IC9?ex>{KpVpN7$tj|m%)}p>JSrCg= zJ!gm)px$cDLk)=|_e^O&a+jXwb(Qie?--fRbTVaBljgCmz%H&G3s^Y7 zsL<=Mdn*67b*%+*fbC;@)Z)`h`vWPkhx8Av0v#%5b&6Z0!HoK?jUcuT(H%WyZ&`-iw|`sG5g=^8PI(qR8{eH4%%2`%V`y~zBfCiR@Y<|-d_Nh_F9>5g8{)JFR#ga^;BZ$2$VBbYB@gd51DABcTG-u~ zU@h>*e|`Y3`E5gxJ4>qs7MN?Vh_)82M^dc)N%_tnoDHYd9;F1k!F-!RKCyL;u!JQ! zbmqh$(duDjg{(ns8xs1N-6jjA0p(^(@od}4tK~Uw3D;%B1X&fufZgCUm^}ShXx-zT z4>DOJiGhz1gKKj3-Xr9F@Y$@!Q}LWxf||SpYEJ1@!Z_!3ct3KLGQ9O4BLoIDm{(H- zNwWtUCx`Tcl?D6zsa1#5Z>D$aZH$HmMg9VuHuT%<=O%|&*jk2W!4S3jAL=_Tgk!>_ zJmY*!4yrY14{VxMtCNW|Y*Ot}K&)~7_1072lZnk;gPaIwPbzI&*6tBHmTV;jE%}}x z6GRVm76X0@wochX%d}KfpsN3TNDkF(J>c)KgPwebrf!Jivn*)YUu(+adgBsT!-KL$ zTI=fgM_^FuQ9(a(|Mv2k^pc+8KQ0fWmqsmeMmsX5U~YL^_;S!crT?GvqjJPu@1K7J z{;AqEB6@dL2JaUaS1NRRZ;adhF+yZ4NM&SfD=fHnK2?zZ;k98@4}D?e;ojLT-I*ix zARW=^=hb;NW8u=q(_mkXZm)|U5|CS6)m&p^;|Nfow>G^}+GkUl?J@3%p+LeE$ zvE&bZ>b^tq&#jM6jXDB5H#Svu9-dq6f47V{gp4m8{sgSyKD_Ij@^Jc-^TU|v_L+J6 z+7J5T#3v_~P^^q}yXEde)$#K>i=~!4cW%hULR`Cw_k+wPbWoo?J}He$y{#;GV8MGe z$;eWsxV`(TtVwiy%k3veD|MXC6|hM|()V3DY_dy7QfFR}tu2I^y$0{Z*U$Y~VZ6@Q&B&_NM-cxtE&l&iR(U(ka5LceyHGPq!AaSIruX5TZe< zH_c!F=KKy)NA|U)*wVucM17VYq*T2rq*=Je7lS`dlSS6y2H)K}B5U|jG9K=qA$Oa50z}MeO;LmpgM+=^NTW?RQJ%>zX zziQi9`Kyf^H2?mN`%|`My%fOsGZCRLdIlslF|_raXNjy0RA*hh?otryqHQKS^zs+m zeSDjB^~}dxIf3T>BR6$^ZpMZ83dK)ktZT}cKi5Cmwc7sgy?Sw|&)v(fT@3I4mfv6T zs|;&C)pNf3TC#=V@0j2p9^W*4+{c?l!;#ZrFz9hn_^ zc9O3dT0bvcb))oXkdgGu^}$HCzM0(6v*V-Y|4KjSpG$sl;?I3)yS!Xgk;3Zx9y#we z=B_P#yu+IZzF29_*Q|z9;AFO{tX_R=L@)z~__(`~&8KQu4R52g6+Bp$8P8uKUn^)3 z7iNTXzS^ob-k<*Sd1-f5epBfc|GeT+ms)u2HSPO5mpNSqzpaKYl)uEdMcb~0OzKUOh12?C^a0%X5+wOarJGFV&w%fAZaXtsOJt_nsEDX$F>ibZ;&7J{X2b zJagAd@TdH$IxULqpMFOOy!FLzVEnh7v1rNdqqlfU;A<}v9|>)rohkJ zvUn`!pBa1%G57~ur4i((KNEFuD+n)htLYN2g_5||?|Zxg$`3TyBlm({TZcJl#ul!a z9CWMurBz(in=nh;F{$p1Vr7Q%T1j32w@+Ju-((yxlp_=`&z|YsN`8FTPQylC%=_Iz zj^o&wY88ziZ{8gFMEm&YOaEzn!PtlWL2tZg|Q@Q@Q0QLBAm0nV*jGZ-ZU|4=TzC!NG0_ z=Uw`}6cOJ7Ll?o-WZED~hAm3|kt6&dHMJ{O)~xE0_aoaZ@crOznXVg?Mgwn+RBzy6 z=N?3Z%{j)~Dz6XP0!?^y&C^ZWurmn3ij`|23Nyef@k!VN=PpaM~z! z{QSDwZ^K}C9t-CtcysEh<)Z6_&jr$!X4I~K@X-77Tqrr z>LaPBr4zRIxZ!PLHH+oADVaxprDLI0vU&a3MwbHN8{G{fFADFONc{H_w}0c?Kb22H zMqgSZJuwBE6L)TIwIg2u!D&q7wKE}0)tVEi>pTXkhQB{WJQj=pq(jg;yHeu{KKp+F zZ$Oa0>#$~`2Ke>tGgfGi)Y%_zbF?DfLj=F`O#ZF(wS(p;s*=Unfv z{oJ;6`r(z<#i>@5+TN9-ht!u+Jmc<_GTI0@;1Y$Q?q^wZ67uY1X2GU_ zr%&;~|GcAY4g3SQ@B*hnyWlag~!yo9AG+mD*`#v#nF(o?s^`<7%kAbEx&?)3zU=xSjGs z+ZMvwHL;HBgHJk-d)wx8EsG)7N+IHDU}~Qj!)8&8y~6DCN@x<2fsg00WHhnoZBf#^ z*1b}j1UfkHH$2y5X)r6c^GTd$(z;J-!bPmrs9PkC+1{p3$Fm0!{066T@@)lu_qO|8 zUQ{g*zwEo%KlZHs%`eSn&IORqIE}V?d*vIXkVMt)8p}~WgOxqSA)d2!9VC4A@Zjl~ zrUl&6bDHYe==)d8nJ;4qr-H0njz z{Q>SYx0F*}Pss7v_-1d<={(2+m{V%uPp^F%I@M~^w8CVzji~vZs&1#8x3byNmAbS( zX;nSheElf6l)dCBQcS_irX(1eZ+^_ua6VReDV12*@XRfT zjECys55(Q2d{)4*8YeLErrnka1Q)lu+U+{$loBAHWlx+yKjZzt|6ALRkE21;>>jhK zjO9AlZRLx-q;%n+#cCY*P>`vWH}`YMuuG@8p&ImQN}3Vyw_#+p)! zY~<2=CarB+gb!>rZ#-5Hs5rq(fQvfAlG)F?V4Pk0j#J)uWZ=QpK^>n&M19PHUbsdW zoPPAQoA9N<)uw%}cRW=O0wG#nX6v~{d1ahD$=fH$6CV@abyG%RNjyFnoJ;r2hwiq2 z_HQ1D`mhz}n?mU#)x(v~dTHmgww|J75_RQzZx?EjVS^{h9wCX{e6CZNYp3DCJ4Oo& z|DfYOmj+M*^TDNw_~WvA#01NF!-G*8jJl`0!a4HPE^_Vrs6Wp)5&qIfg_F&iSw75B zpq)`qJ_-I!W{uB2NemwTgl}_IG&Qa(MrVVI{80?al-;X`=amCmbGDIZf~*^+y~P0MAQ*DD^oEOS5NXuF1f$IXdzPSfe!YS%hs_=$QFQYu0akeW|k7 z%B&?2hubV)lIOqu&$DK{?-CQjww1zB0>^1{wR^40mQ&hS=rFbk;B&)EIWDg=;Ah8P zRsa{BV1zhq9p1xilBjw9lJ)Pbp&$t{xaDvdV2;k}ZWV%7AUP9NT3$ATZIiYQtqV&Ik&qf@BYQIbm>!VC$#0mnI2%W9VDoaNR!U%r8F@rHqI zDV~{Aon`W=B>$7gBx70V{}R50`DJoaocm%_>hrCq1aldFmM*~XO?Kn zTiWZIC>=4Tx9C%1vB^!$3WNDm|689UE>CIkY-Km=s~=0Y$Ht>&qD}LXW@(myC79+G z_qq^N4;@N{JZyR5oJM~H_gNoPG``ENzq7yc$6PsG!@yybPmZEq&!zR2169IZjjgaz z@Fly%94BdX*~_|ry4={F>EAeTOviCRcnwaqtG$5kpnRh=YzwRobF2*r2eC^GiL&8` z$5sZWFV(y7wy?IqsI0rQaS9})<@67$V?|p^>6+7=T8FKuy>qe+;9f$S##8jvf{7A} zSptA8!j~SUP92<|0^qjwH(9DIP9f4pIn9_{8#}&aINcuVmlzXfG0ZGIxOTf8Y3^@q zt^Ah%s&_sXPEY}GT2qx-jVOIOdsWwCaBvCc`A2F~JF8jRD6E`QOSM+?vRg`7PH1lx=u{Q|U#g1NtgQcYe7)1# z-&ux(>uhB@W>kYpbF(|SCQD3I_Ru!aMe}>OKjdSZI@F;0t42Sw@kLl+c(Z&3py6>U{B2 z(X7T5f#6#?ye(;T@6Pn>t7KZ48dV8T*d&u?(G1`J-Dzf7RXfXl{bLKM`7%4JpYbsE zS33EeS5mp1s>H43+$@Qd8RiEY;)+VgG3V1c3v;2Y7&sh%6$RRzdNgBkN)4xF+0B7# zqU1*InWv#^B`{ifh-unWm?ulMd9IbvW45rNVXkjS=uBBk@y))z&C+yqdIi{h*6$nG zy`s1%aTp}(_NV`;QPI=t0uz&G+03}#z_p|7sO9b)#^Ps?5Qc(Io^>1FE$lY1@X>pn z>Q8A0HN@G!rk~ijq+KPZcXq;f!xOp2Pcez6(>(SM4$+!;&7EJe2KV6Oso{+8>MfVM zPe9rxmnHFGPJ^F#jVSJbJfXYWORFUzizm#raNSbtYscn+_y77AOk86RUS*T&fx%cT z%3Y_SwGOBgGYXhu-m~3VeWVVYbZp(}f4*&SE6XG2i>DjB)E&}bLh^E+Nk40DbB-y+ zPqS)0@0ZR~x<@bY!@=rY-IVL_b4))7S5|v{0FGoY58HKX3oFFQ@~S$Vq}ONTkK?hQ zb)-xQ5^dj&F$s@KSAkpX*CoWquR*f30ciojz9Y}Q765i(yLY7(Ht8(vjh+i*ta_w_ zjS}*}G<>YZ`e@Nm^rY{Ets+EBlu(dUmk{>E0~G$o1kB=BJef=Dw`3*B+d+Z5M~8N2 zkPyU_+oHJw%RGt6s8e0%|2I5v0qkBx@6%<)j)BDlwy4NUC5xn+{PU_xqoli!!GGPi zO-{=2!}>roJU~uTFhWw01Dvbfd$}-6V?|ZCFTD>3QbMj zWQ)$a!1>Yz>_AXS=5x&c4i^)(C#8y^F4;|4>iRp9_vbd#KF};uMT8Co-jH+V_Se*-*x>R`eB{SfiKOQ~G&LiGn zSqJ*=chP6>W@)cTXEF~1V>wQYLOT3&uS#Q0PNjH0FspZ#vXAUXAfC!9-;Z51`$=}V zbsmXi4aUhbpO>dH*AQ(9Nr5UI9CSGhniVW(;)MDn6)w_lmNlQY=V_KSp`TA>r|uFu za*6@hmX@PtGN4n#WeXsWO;5wX-sx^N*5NR%Na-Yg-t^!Ft1P&RE8p?RC~95jBST}c zWtMQ$E$>AZQ`1qQtY!KePU$DakE5P+CZ27_UV-RBHB&=IcW3YI>$^wZIPG&dF{PhQ z!-UmarBeC?n`9;&hq%@CSG{LF3VSK;c(&W$THb7?m(()r-+1oc?59)loBOs-l}wg8 zga12@9Y0*X?WE=1b@*=bPof`Har(w~-#S#+#x6akxGVp)JzfVxiHE{tqsotiVu$pv zS(piERA-8xc0MV~6C1K93fo>{ohW2TcR#{*NqHAbEQBsCD6At&-}dKSIk?{&a2oaO zVI@tZ$;+{aDyG)cx2T4#6wfhy=#HOL-*}VV*Jzk96;Wq}ActYDIa}evZSB)8#uYWD zBc^MIoGQtCt?OwnCAj7kHA;=Atanhg%KX=k$rrlNoX?$7c`)oKr>jg|+YwbLu_rpW z_qBWcx%;W;@$9w2+UqD=<8I-oc8on$lPbr@SL?$Y{Y^Pno-Y0-v()je_as!;6QVv= z#&zocvnVPBxMe*VxkY>3l&#Dvp0$%2uIJM`qG(x+Jtdo**Lpuf9y!}`Wg01-Y0YB+ zb(yj-c*}yEnTFlJux$tOPp?JbM|<(CQAk7-fuqlp>b}=mc)#p;8%C)C?dG$wmQMaK z(tXmYOh|O%Hw%0B8w+n-V!1~7lTnOC&Ly@i+EA#v_}EJ*FqRssTtNN>Q@ZH03jfvB zwT}G8b?Sw(r7Oskh|9tG1j*p*?{{f!;C3dja3_beHftwVGO#*NQtGUGr{=yQn z!l>a|89R7x*V*5}(%o0tV@I>QOT%q!URvEJwZdQO#V>WYx-;~|jq0kU@P@M|}ZO^}r(;ZC4h9^zAG2>9JU z&wi8-OatLzI>>Cl^rH*klYzH9$zJ+ooo;RCH_ylsE-k=>kT}F@yI<7W3$0wTFJXs#QldmHd-?k z{Jf91aM9_L4!$~f(XTx4ONY}VU){<7hyDBLe)gZ)O%T2>z9D{C@%SZClhS_K_`~r& z5e3;af?7VZUjSoonc>b$E3P7nho8{3_8)#X{v(VIY3xv3;@M^qsvN^i9t+fYab<)z zZas0~ThG=rv__orJ4O4XjHzS7ja`|s?Kq4AUU9r%tw4v5633@iw?@%e#S~k4_iXoI zPZ8ihv|^To6i^f6W*tLsh5H|LsiwkUJ&}u&i2p8W@!=E2GZV?gtjW5>`c^vy`gPW` zS$Ml`iQy5f8`ix14_9uEhBtE*7La}FrwcO7oOe_!WO1%ZV`)@KfI6q$g{wC?mwQxk zBOW>(0AZZ@G!~qsdf=_;^3>2#!59u_Lf3+vq?4dygfhn?nRt#xl<5cQCIff^>X<%L zLO!j3q?6Wp8OlhP8Xtb1>e5elX(pCsuUrXrr`|cNM@1)PD#CbnlK=Jp5ulyb!$AYR zXQ~)qc&HN1iB2~^CIi_rLqicAyT82EQ)Zx%CnTTUTTh{C@XB;DDD3d8WYN>`@T}`7 zsVbG$*-;c!G=(i|G?b%GXHSk5(rG0LVc^NYv7+#!wZKHw-;Z5h@TTr4NDkwBw&hqi z8B;rlS}4;3xVA&xPhI)@sPiSssTnEo=wU9coUd(RQjM8YGM8mL zvI;$!oT5I%Q9i^Me5T%y%h+X&PC*q?1%5m{-jeV5U;KRW=YKsNhO%L(PMmS|?eK$(7jA9q5=mW$VBVJJ(|?OQ;#uq9|WaE+2*OK4q|2 z>z2-QgXcGbxr%$o9kr>;fl9Jv?1q_|*VEbCV`@N@6JyaVYTZPgi<_bvTL)L3aPY!M zbk!~W&O7AbI^EEqNtCSU%4_!Iv+Io|c3hR`J|}jWF(=8uS)(0C!juCN@Vp!OJ->-( zuM_x`_S6yAh^DoC=}=eHf4i`E#gmrnvhlM#=QqnB!j ztfcKv9Vev7@=S+^rHP32BUlrTdo_ zUqDKTpz?ECo@Nxr)a^n*Up`0(`3i`~=}Vz(;Z^$_M-O#rs@(ZZ6i?)Y{gt!hPN0F0 zOOh6~9;!tuIG&t``ovUSg6fAy4)b_w8TuE_ZwWy<(=;iRwvV7t+$v_Vpae7@N5gDt zMQLP|Eb*Sen;z6LjI*RH#g%kim4&VFa!=aGhhb8RGpQOZVKBl7tbD#O5g$HSnxd(7 z-QQI2w=8QsC#B$|z~mz*nml_4mMD@?r^dob<+b@^2A(G+QR1K|943eNjs%@3 z9Ncu6DCuzx>sAS6pAMN$=0lJyY(OI=;ImX1lP9W-RgRkC_7t50zLT2r7-C>nVVg?)A zRvt~0dz#ibG{;S?tjav`El9cS5C0=6|9taU$L8?VW9@unmD|thV%ca4F74-p>Cu)Y z7}-0wr&bSF6c5HjheO|40lJU>C;lCdajb4iAACFBc^o<|TXs9oj-qB#%_n=h`A8?# zj?hBma&VMT31w$X;ZIhhsCZeNNC_)T{ozJ5J3T9@Zh3LUNnDiP-A4$w9{HaPb$ivou zs>$B(uK6aW;#n}}P_~zrC#AHy1G-l_#}t`*;=j%+uNBy)Na|urtd##LGv0^3#K7eA z6&`oTR#I}8bYdJFPL)ldt`%lBQOZ+ZJf!MZzWH1Ro=v2FLtN|Hc5K9yF~h1IsE?>) zUuQl#F0QV$^N#xAg9RM?ce*q@&#@<`R6g)ndp-YO_ngeXGw{MU4zWMCTw$DM z$<(4Oe4XI))mWUmlD{L<&%sev_PcG~>d&JiqAKCvxb3J{t?Z$)3v&r{JxS0cxe)pB zvewfAxDJD1lPd7j>T^_z8S2IxrG(2WhKehk7u$1j7XEhtg@Y{K*6W;G*}9iTZ@z(x zm`)Z;r&hs3t;e1iZt>dTmDAe!A2}9T&hj#=qh!W@;)YY`P^q!A3Mk|vmS+lacJ?&Ly6JLc zDGdFw7ok-^zRrz`8U2~tWkewksy}yRy@K>T8(f=x6r_%axOZz&v}qWMB;aD0X=z47 z$M=_p^HEhSO{V2#DLFRs_E?dm>+<4d17x0kM?hI)H{bllN-M=K zn<@10!^)`DS-^$XraC(oWueAFul`T`>G_8vt-!Jk~m2 zdE!aj%&f@y0h(>|R^V+>!)Pm^37ta;`Z{n?U+0Di)rspVaxCrx30YM>W0X75anrsg zjrH+g<6mT&-;K%p>W}@E5AD_Y{onA`U+2?G8mknYQdxXb^9Yo76HpvZQ0|%Owi`9^ z8{DOJUNMK~If}N{U)8DMCDc-J99G#mp<+`YD6J5@%aT#)MjmCwz-i658BqOx;BseI zFo?Pz{*_^MFCNaw(=Zd0@YZGL9mprdw)WIlC*==_A@%W%+KH~PD*kgXvc>%@W1R5G z%58m}{y2&ysmt)IlI@$qJBL&>!KY#W>jZTC*d!>eTj2ckenQULF1{;;EY=s!I9uqx znF{L2v25U_itF_xIo#6OI;l9rfboQMC+R4U{B(T_stw@}bZn)Ch7`Pjt0%vM=WtF| z#kI0cN)ETqT9cMhiBj;X*uT1XokdA$115d-oeJe1%27TV7gWl$Sw7BIr@r`p1-=Dy zunCzMEL-vS#Ufgrz%<2_A|a6`F4vMe2HESB;!DSR#GUe*-7|&rNt0=9JSwvZCne#p z&(3+e*E(){ybV?nWIuH8on*z_C&a4!qjX1e>sL`~xlgY?j?wwQk zUA+#f%I<}4UHw&36d1FntgoW9b&|kYrMI-U%<8#mlPg%+is?ElfV7a$kCGEBmPP+i zsujSyosMkM@9Jq;^FynzWo3>5MK^SMYH`y?8R8z>uBgu{?=Fhsqzv|To^>ssYLM{H zkuW0gR`fHJxAgqQ-FGsj?m9ki;!RaF5Xl-${&BH+!cez8lik) z+d_9v9~ifY+tlNFPx;<@;fuWADMv(E4jE;7?-V*R~- zw60;IT~G;$l<(i| z3B-NF+@W$<8ft4iWywrTH5y$!46<;y^DV}6%gpq-*7bKVe8)5*3=d)94S*Dal*U5g?O*jGBCn4#h-C|Bh9-m|@ zksYiwdoexw3inxdKG(kmJsHs9Yt(Z)XE_#DoVL4a^XET}-v)Jhn4~Pb+-MaVd|UDI+JZd>2Qz}PYrZ$W;Ci0^Gx&(O|A$t!3{!O_IW8B z_S8P8Q9TdTD-05i276pv`8mbb67p&6IgFlIKjLt8+e`Av;1@2C72WLVjOXuR!OY-4 zq*f?do!wX986)cnDiOJl*9>7%%xk`H@~;1ldem)a0jDva<>#?%tR0=S1_G0aj{NfcP_ zN?rM+7%WO$uwq1gTx=_Al1lHWc}=nft1BSqmQN7V%xc7ll?lr&-;_y!|g*nxy! zY=912t$&h0F?X4fhR&nzVI98WI+#MkHWr>79k^6s!44-U{^duau^BsX*3umykh|S; z)gL^I+=IMctaD&Gu(A5%b@0N68w)89L9o)?^F1shIjpSTunxlO!^Z5;9Z+2N^$vnv z-2ojqOwv3+*Izn74tJcvV~4mG8x7onWXH!k)sj8AjlGzM!R#8=vGDV-VE#9>$9t~>ZD05R2X6LX5{Q*g85#S8 z2Z(Udi#mX64t8S)>b~~@4jf_VKR|&CUfBcDKb&MNHe(0K`-=w1z=1dJfNoB8*FjUR z#qWxn;lquEEr)~JKCFKzkn@G}$?FgP3;MseEF8SIXuZ8hA^E*!d*+W|@_XOF%?%Ll znh$s2{FN6W^COwu+pn-7z49NrKCtFTHUCb5@o&B%!v==s3;1Uag>vklNIv>mm&0iM z_F3b@pM^XuaGe`?uJ~X_^HO)qW)Tky4ua&clsjP^!R{W`x_H(ZpC$wNQbZv zfcy{Z-Cbd!pUnJ+k2||jz6g=+=w%@P*+mvvc3vX9mim`P`8zK{WSw(a;9b~$Ar~X^ zU{Cq)=W9Xc9@ZW7bYW2Mhjjf4eMBdM|1i+Edr2BlXvh` zIS_FNQ@k9Dkn`ww4su+}SRBsw*+CQ!9P8N`Sy@*U78gA~JIKWYUxdgJ^Ew2^J6(5> z;u$W&$c?!=?#T6Q!4u6EJIHv?i@@Ys&K-hWGc9+J<0&aZL2f$U5$4=xl8#G$BP-)6 z%c8cS4syDru@1S|Vh4CU9qW)&iFDTSH#*=B@+2JzIEQ~|xy7z07NN*$-Le*0KUonX zWJ6_v<0?k=*(clAGnCu`b!4_xm$ z2$eg!%ObM4y)5)i`y!{2NU^-}9kE}R9~u1%_z&)H-ehk+fB5ZQ|Lp|Hk9Qe?_8xxg z?+Dr+Ju-Ohy+?laBTQ|)BV+mA`1^QA#@1L_eslj&^ft|(kvjyy4prVkmn*UeLGH8N zcaR`I>>`64{IC|m`3zQe4n-ma&iB_rWKQ-XL5`=}?;wIxwg^FPcisq^{$by**<0w=QvF@8m zg=MATTp1WtXAa)ShK|LQxn}5t8|xO6TkVFqWOj zotc$OXaZlB_!6n1RPM@P_`*kYv|1_7Z7&oi41>B+At0O~gnXOIJ|m}5QM)94r>5Ke z*a2Z;iGT2kHPlu)qZPB{9UV5pJf+78I6c+Gr!bl(kRn294O5DBrpd}2)Wpj66-vYv z0-~OfPa*kaIZp`zHkevxCsV>uRQ$}R6N*co5$!UGP3i?3Pm7`&n4pVfQ<5{O6AwE; zyf^zcWOhyNP8so@{ADVI8rj9;29+i%3=s57#Zxp%E~dicg3<>_ir7LE(w=GNgi529 z`~ewc^Ifv}i51hLhm6&l5qjv0fAJ`?4{sNxbP$4s~X zy{p+*V8vx0^Ql(YvKOhasZKOTPpPz=P4}fTNFh{aSDHYRz@(|DizX&BIRO+UAK+zN{#Lhj1%=%P`wVH`0IO88n#2E1SOeev_sw^cTq8WII<7DU)v_%Ino@PQeY;}Y( zV$u1`N&!@7Dm9oE6*g&QXHwcs%ax6X<|yG;~8{H zA?lbGs%Y|x*m!iAs}o{cfZ~3d zGVNTQ5>O!LrcaRZ7$uEzNeUkj!@aAPnU)ltGF&1O=maWW>P+K@#ReR>%Nq{7o^DyiX2Vz4EB$R}h{K-N!5J}(Gp zq)8P3PphM>ZA>~%`gm$2>CBx}6N@b3E2)DDiLeHvMH6R~c336k2UzfIRQXjxlai?D z6VkF%`B*|&CQCIb8mz7~3Mo)?Qf?so;%s8mRHKb<(P*%yJB1}RjY?XfF?E43OFq^U zuP7=XQ4L96&L%!U$#qeiE3d8-(qLG)+VRAdvIV&oHTQ`r68e^u&1%2knFNjRD~u3=5^Q|FwEJB7^$czH5AHN7FKO&*hy zsN$#GVUvlc6NAK3Fv}^Tg~@PXQW$Ok^gFx7USP6K&rdduk;LbtOn3)1QrO;WnHr3C zix}BaBA2QH;&EaVOz}GdOPiX`cc%q+#hAKeLU7x~a zcK#BjmTL-cn^XxDxu8ZA*{o=&=)_gj1eI`uQ(d2y&L)I3nA)@gPot!$clVewX=*MX zS!F(~2;){$>C|Z=k}S(^NU;D{7=E%7+)*=_7`?wV(-JW4c43+(YU9|XpFl!A;>v~r zyYQutjPADsc3Mhj45QwemM~SH1ZHV~cL^&YSO{64*7Q9wyARmG* z!OLp`QPfElKC_B4@)SvuXouLOjl6@2QN>(TDU415_yIJQ9K1sDr&PmUDxdAsc(9AX z6Fb6g))YOdN~5qcxrCCKsHBCQ!#;`!K{A_Elm%1cv1pNmY4R!C2s`N$Gqo_0t%T+- ztUQ1#DmO16A!YG_qB!fr%`~GGObAXv&1@3O>0_i=>h={Sd8ImiwIW41K2BgldCVz> zViSqMpMI)MO4AghZ9wG?^+`?M6MI>uS5`VFgrb$q1jSS1qGXgwOBRYrB{abRET%WC z=_VJCp)mybYe@*iK?LDXp#kq1yJd8UiRZT zVmj;6ojlH(q^!|SOhY`0VqA7&CvR%k@pKYUqe^uM5rqL(Fx-w=1~i{Muun$Q3sW*p zgwAqVG(VXfOcJ!6wegG9@|9iYO?2Hfy^qZ6A7n}c-qbCm?=*m!?ZwBgfxcg zvX`XdK-qPhD~n14zGRAJAAIwlPSY&QEcHSvrs9yp$tBG;^U>p zMA=co8P=dO2Vg$sjOu$DfmBr&Gdicmv8Xikzl}sqImugd}N}xr|F#fSkpAGZ#%}RvJl_miQH(>A;<* z%PgoDPoK2RtkNfa$frRKCYb;bop%@djGcxqF4<4Y!@fdrfG`lbs2P8lKizlAipZdp zO)8p68zJ~OBD0NMJi)4+-OlqbxyjO4Rq{EEBsEJbQ;W3ZJC;HbVC}TRoUg-RUM%E} zPoks1NOHzc5~7%d;%04PPoBgUDAX3LYd%Sdo_^~~kkc6ugwhJ{sWDvCVM_9;U)o8C z@kPc$rKZAUgp@R_`2;va?bJ&YDKPHsIt8#+mAhO?`J^O@=9Qs%`e4?0StY2(o|Hjm zs4y2E2sx><9l`-=I9GS%!)^VKTAKXFKka`lK3d6IDRwmD~iy>Eqb`cZnLO)7@?^!lOzERK0;1Zl|YlPRObn1Nkfd{d}8jB z#!fe>4KU44$B9imO(=>0_AUYCr>1P)zlh<0o=r+Gj*jHJ+11WL`o_agzM>Fe=a{ zN9(JCzn%qiqc7Bu@C+4SxY0*xsNoGBVhAK^sRip|9}++|PfsQ)Q}fsQmVJSo<+YrF;1V?u$BMnf$m zDjwv?{Ps#>C%K-K03I;8e09jBZ;%~Ap(MtJGd?AQefOeF12%ZYj)jU|&L%*837 zASdBYM5b+!DTz^VoK^tM1F}(S0huQCY3~g@!k3qb3OP@A;~94bv?Q#!57&*SYf?&{iHl@VOi!ty z*5rnprIb!NOI=dw08GB|_!GKQ45Ng1;?!)^QA*3AR+-FX5{rqwVt?^=3{#gS24kgF zfcoYF*q>un9 zk1ppqCw5*!k5fya$dX1#FpH98^`K7*q|Bs{qV6H4Oev2chbb24c0w^_A9@;3wbRop zu*Z^o8dI1Um^>yHMeTSxiRTnX63I}?9uHUY*|g)7O2yb*rdC4<>Qhm`=aghrEtHix zd?h1QLFFlj3P{F@kPw2Im-gg|D7qBgJ_+G#3Mr?6=L7v8A&gf#8p9D)< zNKsXn!lt4F3M<>B!Kj^|aYaH}Ok(lC05Pz-XIcjC#(?P+6y%0nktgq0F8`CuISnbs z#yRmO9XMQ_m{u~Ql~53%QFzy3pb|NKr3Ho6snnYqsTkABT~I0y{nRH7^2*1!!5MIc zQv)#b9lDZ1Q!1>;4ZE{TuoIeDjVpFZd1CHlqLeOyCy%0>1~Qd+)!_A=cM6xU0&<#^ zW|z{JIJKnJ#>eLsabiX4F0md9Nh#)ImVBU3M;aNYnDWVl0ve#GE1L_bnk>aZgT0ZlbdH9Kh?peThfQWF>H?EQ7^nMq_e1;4O7@B;Gx zrAdCAsUlag7G*8z_Z zX&&cEG+I)W#1*}xR2m$h#eri!%nl9GMNX7PFM;kquJP79?q!eG&eVi&ErX#n{MHM;0yit-e)Exk%Mk~>+bl<0k)KuNfwD5;>% zmA&QZ4jfqI2A3n5Yj#lzVyCB8p(OC8D62+~7-NN(<)x(IS+Y)igkk`mJb}tm_EZDc zKw`L;rlx!j3Tf(e7$(w_)Wop7SXmWT1SUw3FF+qmWir{&DV2+SNM@KvWuF*lV?tsg z1$rnAgo#MQDM=s+j1Yt}wD}S%7W<^&O-|%vTKP<4g@PleITbNA!*d`^0{O`SaYsIe zyokA-Pzv6~OALnER2QR?WFSIM^OF|IKsfL;PUY;nahx(QM%7yVRvNsTY7 z`DA)Z4VG0J0u{r`Qy2lJ2S^VmjD(lnMldh!$x~W?*?Y0_Mmd)cgz}!r$EYtUCTe9B zupy-}v_SR(rlG-XxBj}gc|s3G5)-lb0H$V=h)zfJ6f3yW*nA0{qAYm;T0G&*IERqJ zfoW4KUiwMs83i(&7OJwGwU(-W;CKiCneJ~ zRUG;yj3->7o>lbVOsaYbT2XnP(M8uYX9C!Q(s$<4q{5iXsgi6k3Mr()L=#bG^$O8o*r>dL4}@PLs8*O z*(eB~BIr(GBuUbjQuLsd@CyTlCbr6)>62N6B-Zhn_o-+WX9;O)%tuTl79S``ltu;U z8Vbp2@FtGy!-T0cB_MN{ zm;w_eAV4c1aZM$m8Kz-HHAd<_K+V^`7gu6yb7DfVl~f?655k3{LI72lgPV0?MI(uw zoJa@5fz5G5VTDqX6k?Q|seg6cqzO+R zqb^r)AdMt9_M$3wnoNq4Whp2T6v)kKrYL*>J%#biYFZ>pRb0;Lm^>#Yqi9ri;}rcP7tG$-P*mb_13p|pvqVTx8x5gjOvpho2v zE(_@964efqfTA#gA8Ld*5(XzGq(l$J3{T1{9AlMH2Z&gce))zss;oQ~8cZ}XPb#A- zYz~yvp2t2}Csa|NDV0JB17M9)zkqk9HH^{Z`GtxwZ%#efuH?HL;NUp0@BY>g_Qwv9_2bt5CfG@@}z}% z5g6z6Kop8x9Fr)1n3@vR!phI2q!i}VkS78RfzqDi<}RS@Nfr$yPZ~^<+=*5hp(mt? zw89zD5>fzt-{nyj2b4T|!Z1@4#0b#)R2R>}5glT?jAcr5yTqnXfHF+#V6v3t1PG9Z zg_Pdpi4<9g{)a>+@~};-CA^Z{&t;^@YNsW7q7{zEr>Hy@bAYE1qaI!!J(C}DGEa!o zn35+|QQuNP=afC=(~_;xH93?IRwoK(g)+bZFR>{L@k=Rlo>PfY1}PVihOzu`OzacO zil3!;l_hK@B&8f6Da<~|%w%;D1uC(a<*78762JM3QoNLA2ASg&!wP3elm-UqsR?*_ zn9G22FqTZClq@a7S3CKOXkKEXs4+?VqGYFGq%*O?<^Uj{CNsPsC@0hKJ{(=13`2Pe z9c6t|F#d=3QKl^c1U*&&ctD50`HE=3)S%Be7@0;Cqsm|NG$~3^3MQm@2oLLK98b?# z6|(?!RLzNytaE^;Z}}p|C_)%nkSdRC5x`Fdqn%L3Y1W>TC9+EEn4*f3jKKgwg)ogU zrJuu7Dp;LJvZMJ5FX2oW>Q_Pr71hY4lmRO7C9|Ya9EK7BnTM(QP$`6?Nh?w_L@v1$;0G!bOhuF(9MTV84_gh_&mc}o-uhC3YaVoY)M&ZDT$Oq zWnN=xHx%xWR55^29vG#RQcWX55r8y`=VIfSUpg_VD4|NyX$#y`vC5nwz%(Ch#+1tD zX?4_uq$=}K8s-(i&^jrZQlf;Stji}bxj?3jFjW}y8B;7YixS1rb7DdbQ*J(DBBEzd zX&+3bE+pX;&k*1m5I}PVXC)@2MrwS~c8X%R19dr14HaE9Q68lvFR_C1041+R?dqWE z46*>FtTa#D#KkZhkC?dNp6vAqD;Gxe;wwoSK%<;l<&xEnhU7J*p&134LV??<&FnKw z8p$jCMWT3+D=Q3q>D72M8dgG_C$LcxD*T9;FNngPxF%X%rqo2qy9_EMAxxw46#fBo zL%8NNsc1!F(>yg3+flbDjgiYbh$m%=vXByEmQf5(NbRuhTSR7b(vVDzau_l*uSk8IrgF9=!Y&PqfC8)zk_p z!%8vBO`ztOyC=q>PEmzvC^DAL$yg}2L?(ttf!M@Nl19OHo*E{Ak_z+-P1;jfMU_-& z=9JA61+oBm0u$Ml1t7)z)D>^^WiiLnJ(Gs1380Q=7!?K=A<;U>rEQvH3Msi3Q?A6- zfF~4CqRrGVsUeCq9()EXs0dI?NC~kexuKgzgK?dSf})9MQcoHjCyb(+(WN4%IV^(7 zJ21bq#r9~kF~ zVEj_1P-8V|<$FjcR#Ls^bfPM=P-Kjg(=K6NN+dE9eYsUlUXpSAjv7XrkIeRH5v>TQi#G~m~_f8 z$GTabB_`@nr;wr;s)=oqgaCPe|$@2z~wD`wLa zRRqX?Dfm#0vS~S<0VD^j1YcheUWTi_EuwNevI`%g=vMtHm=r4XPRj0R;&6IyhO#!V>laj}l@ ziKybqDxL|KxM1Rou&K>YFqs`^PUDI(G%Gy|2(a-=HJ=(O5+r1Rl90d1l*j_1O*ET$ zMWw>aLY)&Dp<_J6j;#8IPoim2n&uSe0AY#)XwAu1ylI^% zr-I5Kk;7nZCVI`KhE-H3$ zk^wZ5^jz@`YA9g}>d3TdsQsL$WMWK4e90$(iXf>bF{((=DT@Y^J8V)3NN8me(w?BY zKBtCQ%F^(oq=Pa9MsZ%I;nwI16RWd4OnUkzc1Q7CRAQo4d?*aTN-(C1=wiaO06*v2 zb?xrhaUhLOAAg1NBW0;~Nz^`1O%#`5f@N4@3Ugw}lj8&N3vF1#N-C_>6F4avrhsA; z?M0egB~ntN@WW_LFv2HNED6ZOCKcRT$7(bpTpp@uJDQf3s3A#aGp=lcDLXG=3KkwW zP2_1Bq!cnS$x=Ll%|Cto7m5+put>!*EynZCaO4#h0i!KBOzsc5OR11kE3MQjE+sa) z38pkBvQo;!w9MKyyeL;U)W|3xZNv%;vD4UQ3Q;K(vPbxN1VrWF9j!dEeB}PT@@H>z4(riGdMN+D@c&QzUho*^r zVyPH{%BhT{H1aUf06wQIZwXx}w2X#ID|j=hp(xiZVKt;#C6XvYfLWd*^RALEmQJlj zsbnfZ*d}*7F)3bDiPof)v_3%1YEV%kEbsF&jNE0HlJeWmrv`&nGo)^ds1;t7P zm6XyI)>(xSNETydK-mi@iRlZOQV>PK7nt}ZpVvv2v{OR!8XB>HKA1ikW%yExVhlqK zRg+8j#h%DQF=Er#zU%(}CDX41n@_VsFQ8J75Mr5+K`|di{(=&*Gx{Kcx!2P!Eh%hrO2quB z)Y3lE%DSw`lLERTkWBQnMVZrC0(C$lWmIKlK=I7uWwV(RO^XK7J3?v7U=*?x0<6O`uhPWWv}u(T>_wNt8Rn>} zUFtqPtjE3ow<)w%f5q@&a>8eNEY63~@KhVmzXp>YjRrK5tog*+#;GeYiFrkUKz~5- zw^DafLP-;si3w3PsTqb7LltkM*l97)&H|E1FA}nK{dPl8^jbX)?zEjcv2aCoO=K~!o5yk8p_sUb^CjH zf)tuqr(wb|u`#g`H%DK<%u>P%0n2lSFY%ZGI8Wyj5-8d1fTu}5q}zd^tRgy8Q3O<$ zUJ?S-gkl%Dgc=L#ljb(a%xI|m!ii;QWdYRYsb833jU{?A7c+?;3`IBUX|aYeH%wsE zxy6-5V11C3C{190aSJL&sT!Ro#^Q#`ZVhHE8Z@Yfi9C4#wa`U)C>6l~hA66Z3aQM3 zJgLijUMCe&(KUW^7&NUY?k}7zR#&j2PmEtLPS}_ZZW)#&D#R>tpd3cT( z+qgm%zS7BQFgSUn!;?OB6Eqepsc{Mufe`RU6vo`;m9PBLOzP6~vKdcWv;4F%jgZEb z*9c@I1X)Znx_~J#pU(-NJVVWiM^o}A2C;Zb^JR8Yae5IZWfLZM973lHP(~<`r+Zna zEo=`VU zPNr0eaZz_HPE_hypK*z)i~3BOixgrAN<_U(BZJ|RI_h|&ip%yhARGpm>VciG#g6K` zFba~3fYc=K^V1o14*5it)tzb6P+~HE&!eHNPA{H0MG;<=dNQW@EHsLPWHeB5YBb9k z1sL#MpFD}Jqhl`S9nSjIAgd zK=qhL72SYEm88`AOqzvR@|5vZlSQ7SMx%TYDgks+7KZWBq=F_^;PMyIP_y%sIiIpZ2UOlLyP6Q|FjO#TAIRr|zFYNk2O)KQs8 z;?YHTFcsJUW;CtiWAai2vkhy8I^v~FD3;-cC=j4F3#cZNk_srHk`yXYJ~fR^4AP>r z^fb3*CMl;cLc&^M0x+#9g&L%3G&YXQ2gFdOd6wixXULQT1jJ65*rb9G)J~`5#3^2h z4PvQOZMB!-os!helaNnT1W(KPN|V`P4AwBI6zV>V`8wYawRUIVTve=@IcoOnIi^vo~781D51DQ8VzQuxouMG zi;+t@ubr~hISn9zPVVx|Z78t|*Aq?j5;mhEZ+&8=<_in3nbA55r3eA^(x!H-XbLO$ zBp+*cKk6c!@7tt2smqeFp=C7qV3kEaQt|j_S_6}8JXA^)>gqJK3mQzHFcl`jWEX*e zufK%mm7{zTCZ~q+Brc=T=Y3M8^(*=bsV1zDlBWhyrc8ju^$^gB9iCEx@kz~fKr!*^ zFGeqF=sZyfOM|^h!^kBosLYN@svm2mHSFM>m_@7fmpAvY0wAQl2;_^)BG#ERC)p&4 z6;$u6Fy}8n+tUKV0G@~sCZUx(6_Lq@QRXgTn1nPvYQz?u!AzuLPBJQXJ9w%j_ZWiZEWm*B0R|II1 z3CMu6m{MrL80z#=&e1CT^oa@#V?@CdZph8TDUB}muf!5okLywvrA-B(V$OkeT*-a zQvWM!@)>w!67ec=^8Y_x#OF&0oaenx^J2L!g2<7%Iy=bu(~HpLWab@V@vRp8$E*l) zymofIG6#KqSao0*hJzSBtU569!Vu`(xQRIx675D7aioi>P0ZfHO)IhWJ@h~km)Ne!jKb+cS7i^EZC8>Bl(a0C`CXV z^ss{<8Q+Tsx&2&4NV(B&2ZJ0Py+tVGSTuKjb0Vm@(QyYbxj2g*4B2UvaeMT6Xw zm%a#)L+f=B*3V$;b1nkN_0>B;^vxDK$okES(8#TpI|!zSy6zy?FIfa5XS2CS@0k3k z%=ATrTzaI7@HyaJ2f;E(7aioe+j<9JPiqm5+;fs}nWc(5$o7sFA;@*RI}UPb=q|#@ z$qze%?2<1WKT3a9?pw& z1hyVMGTQI=2xGnk+aGi?9`8M!9q0(8J$q!r-&Pif9)sIHsAPoSdnhHKBT@J7kvM<7 zM?LjNDD^=j422?B0-K<+z7#2y?2mu*zyiw{dXL4#jIrhZs9-aMGA{`VAqH4 z58Ylp@c3_UchG&kM+Dv9d+>`j(_}4*mA^WVW89x>lTb87-!>Rz8y!X zhgb*5b>t4fs%E>MT-J?XA7LH&fI6t#!>oe`A#+%ynz=uAd;idOi}3e*gh$*6&fe}a z{_Z^^?D^hU?HhPoBy%hCk}GglU)RmJK=Ua$bHO#Ku<96Gr!!pv~|N0Xg(km~zPP4Nqe-=kerZC) z3rb6xCZJ*_!9^uRcqhhDsx!3!<}0RA3eKX`te6*=n3a`KN5^3ilYl@lKmLn7w!F;sbgeDb$APwCbP07=BzO2TW@N&{$)N7Uq^7~Zg*C(=+}6U%E8+ljkr zr75U#$^emHgsz6x4zd^^xfH!pDZj++tfxt&D5>4lC>mEVqYqVCga^2g%aqa{uYl|j zAPE4G3;@6a06;MSRR93w4@{T0%XCTflIfD!CA*nkCN9Zck}jE>%uCXjq?bvXNhSGa z(#-58-OOH0m$I9rOQx5kOG%fKB$M<>c9L|H>>3E8B0DPtyZ{1!e>48y=l(utCVf7d z8Kz01mq4nnxHKu1l2#-t6j|ha&*UW&=I@plbcNo1UyGL2^WUMqSk^nyDj{)~G%8w4 z(L&Kp1kxm0LesQhU;qFB00sbNW^_S+K5Y8``H$=8>i&AiC%$*?@Ne%-{QvgidkuW% z-~RcY4_{w+`Sp%I{9COO?}?Z3z)d?oY-=a*mH0T{Dop$m1@OPVc3vJA55F9_`nH{F zrueT-CUY;(d-)Nu&z}97IuK>VmEt6(g=H1DdBrlgaQB`M{N!pSb4X!cIP(d&ku1?T zuWYTr5lwNl_*3;Pg~VCH$D2(sQZr*FC97s=pmeCud{uUNcyc_lVgp0}Tg za~qk~Fj^V{6TG`@`e{TNLNt76-ugyw>*TaoeP{9~J!orohe99BijRe!1Pl%$6tyw_f zKc7pN^YwJ&G0tVBCYWUEQXF-woyROwSaAexBTsawfT84uFSDeQ%E`m|)SND6@|;kd zFT9=C(Ppy4AT^~nuK(BM9ff^Nj(|aO{-5q1ah_aJP1(}uKevnIjUc~RQDTo9$}JCK zg>`zNMTr|`Fs`r#Gki3*o%&DiVn}+A{3bKFIU3_iTMyeJCckF)z)x1=_*Dqyl~h40 zpX*(&pO@6~hT1lLj7*M?iDZuct~x4ja?InmLFq|UgQizet&7Ld_)0|O&G9Rp?O0%c&2HA@`gWMC-*l0lf zi}<;gkELrB)@#msAU8bST}Q z6r3|qw+Xw)GTRc5$YXUOEit1UrD<2w%GupgqK}!m;B<)shfczXoI1YGUF@=!ZZt8F z<`l_UvDwBn8-Hecm~nY!@S40r#!p_!wI7d+RGQQ-Qx!j|+9Er~l=*w-hGVIhuAfSk zH<6z7;vsI3Ic@h9)qn>6sNg7_@nSjA?kCe~cL_Iit%b3<0cYi9MzJh3tBl6@gCnE` zbazY=!a8k(xfhXM-j8AWxGGJIUB)%iuyGaNRAu0!8znV5^_hvpbA0lt&!;S z*bzI((z2Svu=1tJZ0sB)NHep2Fn;-8VzR#c#ueP@axEfc7m-adx6g4Z3+R)xa>>#+ zp4^cUIppsf;BAvs9nMD^eiKp~88M{*0i)pqKYTn1e9bGl(YB5{D+8i$Y^Oi@E*?pR zi2OCPm`a0SZ^w^n#wkuW#Oq0aCQFL!?7Oi>I5kEol~RQfcqY62oR=+G@J_~T)>z)y zNtTd=L>c3pB1YE$;X&Q<;LRf;b6DEdOuL}cn=5)>x552BuE#OOG66}OIF-H z(ryHjmacS)A3o3IcfoSfc1 z=Y5QfRfjd31J0#uUoruXUj8AO!*2eCnZL{PmRCyRn~FV?<8WFLc}(Yx?~5kJ*$GOI zxR?;nL1X@;Uwl+)F`e{bEN`((j(MbB?vqU($09eEyY4@+0T$4DP2AYWI0`#yzV?@7 za6E-K_vTI)%K`(nom{R*{7gq63i(IK~!I-PC8jWn=oWV7N5a8n)|ROFT7Y>OG`*qERz@;dGw`E zp6RL_CCHp7db4Bv(#KMNI?vYWgpFlInK}L0cklQT);5jEoOxiCF>*L#=h*H{>7!nW zs=puR<)qM@{_VSX9G+5h!agCG;m&GkM1k9-Gym)lV^W4zzJnPZhlV*%AF{02M<4lQ zdGkqMJot(atq(TMfSIui{~;%s=Ad0M zty%?jeU%RA2WREXNtK3km|#fFWoX6CqrurTy3zmC7st$(iD6kFAO$uDd>=BH9jKB= z!Vx>W;YGvI98o$NCN^Q1yt(IbRv%RwGGb|B@db0khpP5D5n@9-ljPE ztNKbvny2zjH#D~&%nd({$2lSIkdK*$H+vwt_Gh|@EH%c^<;#4e%d$_&>B)^}#uYNj zEYh2zi0+D6`PtgXnO`=S)6~?MM@pA@o2`BWoICZIFG~%FGRgq{i!LdVo9h{~QKc`L zVXP?wBoyb%<5lU?EpRH)%oR&mqio^dHW$(E)XgL8oYy`WGVM?Hlo!9QikEZss5D-j z%s@j#Q-pk$wzpvXQuC+@q;$BOa0NOfiz}r;%@t2Q-s=9sl8{U?n9pFXCw)>5wG)?e z$OB@ApW<-Qn%@8MSZ_3)Km9HqJ)VGgB%ZnHM3A|5`KCn1I6BGp&(bjdKa%RWT^Qd8 zyQAq%9Tv+NT`&2}SjXv-H;LT=0dP2ZOld?U3X=O|{oN5)OC=`W{AXVMlW`;L@B1fw z1bJC3+e%+4<2@fd&31HM5+(;vC-EeP%*(nv8fXavI3Ll8EG&Zaa`O??$R5Xb>GBbr zh3bf&4>8R+X*8uvNMRzhlNq(1ld48+K6W3kJ{glsR+99C{^vBN{-bg6{#Tk=qp*q7 zmQ+GRmAmPMmnm)etmkKIaqYza@7CNRA7xAjF@y6t~ zs7u&kY8927@!d`WnQ7igh{Ouq`*q0joCh@|MMZzInjGIT$_a@iGGF(&hALD#xFh1JzRl&pE>Jl{O@{^`}0U7riNkhU-b< zX8uDG<8wN36jBQ2wD`dvSB^Y+JD-qNQfM|0#KjK(Y0<#xSuvo&zp!fJoXb0YOgBEr z-1%YfS%IU;_Ohr$=i;U+XX zhOXGg|0aux%`1)aO|y0QDJ zWYXk{TKv>Bp3Z#YvEg6CvYf`)(uhfjoT$>3yT`(qV@FICGOXOW>!mT%Vt5S2ETfuF zP-?|1&GCdO!ZJ!>+ejxk3z{m-`D}&rm}*x2qnEE}|1U{#0O^cdOmWVaA7+|OCg*V@ z9?9QTNVpne=|4W^|8q~DmJ8;p>dj>kj}Q=b9`(fHr^e*gP~sXTnkgS?zK{h16e4V&Q~L^GU@#zK-`EN}p-ZlEF+WwEg2}t*iZcBnj&@Zo$MLiqB6o z&E&5H$LjO7PULcy%*}Rxl1lc;|1mjp&mBM0yk?W!P=HHr+AxGr84ef*_rj*QIk;po5 zmKRoQ^)F5;CVVLE0v>YcD!v@4U?&2f@vUKPuhBD*2 zurd_l=X<{Urxx?^$Q&o%ginj<(l`lxUUhQ*@$IIlOMmn--o^!O`Cl=1!Suwj(+cq8 zboh8G_Qx*cOXHE`#PG%#y_d42_yYtmhL*N)aD3xgbY434qv;>~Pvq+K#+1EOWxiIB z$a=>lGDz7@aUXWVsw88Vym7v@7)V(84KjTZB#=4k_{=AFte657-QkVLB(!|NW>umlKLS(%G0ueyGiv!Nk&rt<+Sj!wqo2_O%*+}VrovF{{inEKZg7STsn(z zuI^Z=LoS&=hp%~ZjhDXGCD)`<8NqZStET6{at`RJON`PL*|r~4S^Pox z-zW-%@LKXLo#}qeTkToRW%4!+W(1j(Rj_XV*RVHn6wA;&b%m0qnWuC3n63PCoo4{T z%J#2O)-$_jU_pxL=u1u?tJ}PnV42FBw*IfEdvx1)4+hA5r$QxE0N?y>@!ZR(#`4a0wwfps&7B zCPrCL>3dEkctpw0X}JVn>C95WKYutc&^u3*9!se)Upi*h&tOorc|PjTRNOGEaWObb z(3bl8VeRB=R32=NvP`IxQZb>_?V}#|nK|w*Q!6&+G2yf_6mqugakU;}6};v-n7s~| zwOW6}Pn9p^GQr%gWN##MMebG{RkguZEF)}7oq1&I22+ox&3R;;4l!j{R#KF!zU{KO zg(ll<205#)zV?W@{HdEc9|ADuUoKIx8rLvfwkFI=ak!9{1 z-8Z1-639xHrRd^LZYF#;@@kIb-s_TJgqEMz=-ka^bFFNbr0oLT{2RD-I$id85@Jq^ z%%(Wl4fEqO-ZI+45h}WwOaFJwRWuFadnTR#Wk{LF_&uxV$)wq(H!;mhE;aw|*aXIv z;TUJItz>x)e__y5IZ84nm*1FK7m;(9P!V%B|2nGD#1+iZ$sO{bWYUf(P|%P1S?9Dl z28P1dSIp&@y!oHewsjrXgX=^|+z_SHmXE9Cu)8`^$qRAxu&b?%XLeM)vJ<_J=hzz@ zJ%!1RfZgz3Nkv{b#fM+jztnTbO(=%S6XdM7x)ZjI$8DX(QHm#DnT}zym^$FjV%BPT z=|?qnHY19+ym46Jiz`*nZC^e($|LSb#;xX+<;xm|fjx0|-0P+}PB(wP5-`hD1{AqW zMmeKBizV0A)oo7RI~{V$bjdYQokKqB`&K{81Tz1q-YKE?RM{vF(`)qo zEVx^Y=lmdXQ*`E}!0G%QRm^EfS$pXrZ(i1+KH{5V{E5nrTg+VlfF}Cqr`n_AoS5f> zU6;>>!T|!YwPd;#(-b$M-2bK2L=63;dtrJGF0spfSvGH&oqU)3v6$g8Gkz}HR}ZsF zssRy zO1xjX;?*QRdivCC$gX2}v?%>QM`xQe@s>KM9w<10DY z?zGeVMsr-ur5uGU=CjJ)DD!d4;5_x0xhhl1a9hbAyM(&6rmGpK2h<5N|FcHwlAe`s zJgI1$ZT2}N{=ajvzSR3{M`bg48F)N7-(nv)qfW@oVv`(m|+;_pTA%S6Q)+uxR9C3RM7|r-$at@+~wU=c6h4>MwJe=2<%` zQS25C$4((iVBq*PAAL-2JIrFAH2|ySYDnCDC7bo`LPu#*%=u!M(0xgUlg5x7LzD#w zZjP!|`rgW|S&q1B@C*n-d2&E$=4y;PlXb|GhinD`Och_d0i`cqNs49jRBg=cNsZmb z(hz1atMVv*rFjk*^5ySfQZAG?Uv<^Y<)m(YqP|?pw&OKnXdY~eomsIkzPbhzI-WF1 z#rfy;p{?05uc_R*omki7{lm&&4fOPiRRPW*ip-8rKj<8nvt~0_dyk{D*KHtKOe;ZW zd*DtJnH^t#n8Biw=j?E!?B;fyKhJz}4=m;w+lJ!$R%gY@9Ay=5lv~ zSpP3aHY=WZOt18v2dAr5{iq2GB;))d#&GvSX()NEG%Z4&N(ZN(Xxt`EJhGu)?9|;-xdH#5ePapfw> zRw;AIN``ZV?EfyA=I;Oc!BiX7ocXDFpGyuYtut>jBqh9)7i~P#NmhD2*!cj?GS5`a zh5HXEdx_dJcUC;`%6_bd@7sVtN0V>O8G5H^F5iElM<|+w&)hEvHiqs!h1`S+uVuy1 z^m3c6jC!yyVU7+S4w~cmAE|s9nPoQ7 z2q6rurZe%|yZ8qABv#DgW%qQ4Cby8Y++S`X4HZK`2}@NR--&X0Cq0R8`(P*O;LXpY z?v=jsBl5S6V!m|lY}29|9gcKhmg~zbR!p;(-CN^}A1wRvPfd%Bq ziA_gYaq%l-I?B!VcIJr4hivJmbDzw9DZz@Byv>P(;kY^GVts$TXPn6G7`UZQsAQFS zm`@>gh?N|sRopB+NAWAi*+sH*bi5@s=RSHZ2MK+-?zgc?%H}tQNV>sXDH9t*nH+_1 z*%K>|rt;uoRpsRFFLnHQ-vQ1yl+ls;{ci34G#yVdcU8$Wcc1AewQ{lLS2(eG`HCl; z6TTm%9d?fFY>7&rdAk{_(F!K32-ZA1j(*X~D3W9Hsmq)*b3DG6j;OLInYm)!{B9(f zj+}$^AF++n&H*-N(bxp?7AlhF#KDyF7gRR)rM{Ls$977UT;NPBf}YL|GDo$R>j<=W0W$8Q_~ zOqIB#`54${@#d)Mo$X`0>_#}oUtey_ZoYY>Fup(JZW+j7(=;DU=Q#7dr#^YyL6k{M zD_dD-`}xgONTAQ;xRq= zPD|;(FHe`9V_;9r-3!yim9>B~8gO3O(;Uv%+;YP9Ipr+)FVJjvM=Bs!B}}?QnxAB7 z9!#Cf0+>SZxcgdE zfun5{x`F8&=4$xoGj+jFK07nbM(KDf#(w1qmt4c;Zb#k!$UV-m9vtn?m+9utEKAv( zzxH&MN@d1?*cacWazs5IdaX*2oWq=6nypGenarKJ+@{#g-ddSXUM_6eeM@#jy9_zh zaaD3kZFd=h0_s;eu{M2qg*ke^u&GjKb`(~n+^+h~VVgATVeSSTWj(HCm)-bM99H@- z$7Z_i)R&&UFWhd+#gx0ek~~WQ)+XNBdi@=_D7>(v5<9bJY?V({$Qkl7yWj==rd51k zLhQ|fyB>g4Pu9i*wq3_^)NfUpj8i=B{=|Y9=EvhFaU;sVlw?K5yM8;UN@VJk;P8d^ ze+7AT7|qT@7gGccCJlDE^DDY!TO8)e)H1}n(MnXBfo9B=2vWjl$C`@Hla*k0Z z6g?%QqTQFjs23WKqcZ4l^l=RPP3Pvhi!q4JQ5B|eV|1r4`2k-zdq9R)g0quaJIr46 zSQEF8tjR}^RZ=vg>KX7jeHq33S2Jq~s~qFwVo&GFu#%6As*v~|N5sPT<&@)pg}Lqb zYxD(}$9BTL!Omfn@%)4D%*dIsRjFfI+@j1XQLa_(%znuxGC4Z+upFn0$pQv2(`CIKdUMh!| z>{4+i?xbMQmDTg+H(4ASM@r6kuBm>dyw3X1VaKMaiyxWLm4LI#VkTpyRDTSf7uFx- z9Ss%^^SNxXD&gcRo4F$RYd|KH&QgV^b!NrJw@z-)VcMwpLJeoD#ExZgbt;je3}9CW z+GHg_9O)B&p1pSbB*iTj|~8rPeA;vVpM*DqZR95}O-kGX7UB zONaf;b>Val70`e8{n8{U%qyn$|7{hzaE6pwyvqUeD!b$68^dV78l40E{g;j?gN$rq z;Yc$qVVvd7mdF*3x@bT}K+>AKgSb0t2osTmFs(+X_YUmoS7FWBa$ z(L*W2)k|fF?LS@rZ(pOCcVG zG*cQA+A$rpDZnNxuI1x;cX#PWKI<`MfjP~vmC`EyOpm_Umu7<#an0c@COZFf{CvlL z`W`!jnqV=oRsEq>bEjsZjT>L=i7Z`wxqm90w_hHNYIDptMe^%0zOq>2ur!xT#@W+= za{tu+2N+LTtu38D#kcEza*gB0sj)7*@;Bss5(}5zCQo^U8@V#9<-d92PB~`w#3V~d z#jdon=M8Lk1om{hzgf#9b1ZSV3S^hZ#CH(rCyzP_)?Yqdc zr?ym0E`Z=AlYb;lnyaxK0cj% zTsJwNsTj3?AaVjbHRD)w1` zZ!aIkxXrA!+EN%OtzG%C zs@QrspDz8HOEew&r!Lz^PF*rFj3BpOEE}r{0WWZ%=9Hv!`9?3^Fu14bST(t>++Y2d z%M25hRIeYh&0h9H%9(^q7n>gEqy5V-ODHBPs>pu^RK5tQlv1IXdvNvg8zTq6d>RiK z;+Rl;q886x(wtO624FyWOj`lm`slHO@gpjxxYkI5HwS%>)7xY+h|LBQGPytXe8Hol znw{(;ht2O0Z}Zo@9!y7(c@a1M%{ad^+EoZV$8$hWO|PlQjUyQwbDh!!GgtvrVB;tJ zwnyc7IQj|be{|$bW|ZBmvb0_>2AJCSWVuG?*a4Z-V^Su^5NH2)9&-7}q|+Oe9+!%I z0S`7k77QuAxetzX*TiNU$u8q^K>qq4edq1WKuV#NRIu5ejPxKkE zoJ=a3sfIZ9<6hm5=gVWqm76*slstNjmnl@SXwG`{8CLiof@Rsk%`2FS&B%M?BU%0Y zR`Ps|)<@AlY1!8K=f8c4Gqj(i8}iEiKIIR&%--~-8;&2YWOMy>mO0+Aq1Gyya}_(Y z#%we>oND|$O%!+Z_MCDP|D$FT(cMW-THQyBeR|ecP78VNI@G9g$N!g}$8mv8-EKLP zCUmm>Am^VyufJllm*28sfCX9!BvN-0CTgI+a@tC=hGRoDZbV@5QBbAvg zi`M2QKaHcT9hJ;FqYOyD;mjy|(n$B&OCa`69AMfso9;;lCarXw<5LQ~Imz0Wfi@n14=I?G|Qv}nhyBMrWDiEZCgU&izui` zWtXC6GSdg5H0BYVK#K}}c}FTjrHg5rd89N^f8$ZK&l0j=;%Ut@L|LXyQnQ(vP7AdL zGSuNHwivmra+IT~`35f3aHbAS&i0X(+~MGDLP3hTmy0S)iIZxnI2mq2W)q#v#oKt} zm3cZRAQ4TLt|IBn&E@GX91(>~zVD1}?sr_I!cMD@)w3Ba?t59sF{uPaL;2kJKUK<= zT6sH8z17~eZtU*;;i7HR(}w>t_LHY8TTiI>E%J~<9-X8Q|38q<=RT3{m!rIlkW=Z( z-6p+P)}Bo7hrNtortkjiKHf%=_f|Xdw#io2Aqaj3n*5C$&EA9f#2c+>$6eoI__S1$ zZw%i|>5^PEA8n%u-d7$*+h~|y{1KqO__SK`BhtP*)@A2U{x043yNpX5mpQVRe@pk5j2X&w{rI@DUt~Gka!x0I zbSIjSu)mX&kl~=}#3bb9?&Fe2mh&&^{*rN#xGJ3k48ELWW;79nllCrg&}kI4R!<&4W8mkSxAO`WFYo#PI7 zfAO(ozpH;o_H_N_xXY3L<5u^*(MH=={_2fGyt|h>q!Mr6CzFsZ|2X-x!F#W4A!kMZ~Tkx;wEk5==Ku%e@njQPbMA;*jS z2vc8#&>np;dey&=_ww#+?bwM)NQ49rofAbN4|gXgAwmM4P7~WCFSD1l>fdaMlw|DG zBuPlf;ebhrnatYU#Kg?q^GX~fInU|QnyI#(sMK5xO;6Nn2InQj%4F=TB$JTa%3`9D zr1*Fn?T^EH_AOsE6DJ{%*~^hnd?9PDCQd@jgTcfn$#+m2Eswl<_P8mNlss{`3E!3z zF_5iElP4jNI{ez7pZ#vdj~h`QMloGv71G|AuOaWN$p+Q;1s^}hhR&Tx zA2*9~X)M@!FRXQi9wmz=iySXbo}Tb{>OE}XkIx4kg}9`vzGdvGp2c}n)1KF>24IFI zRzUEhgLv@kFZ%rEX|L!RrY0r7cVx=H;POEmA)fp3&r6MS^-v#AZ||WrM(mgv=rAHf z^awRQg3SGJf=K>tak?)0Q1^Y7K?!PZncuW$>1bW1*fl;he{FBC8^v$1KWuOzxA>F~TW;Q(IC=f=>ZNHd zGWFWG5=iMrhU>dAu9f!gbN+dX2cO`Xr6)0>6U@bMmXgkXTAIRHi@b7uV8eE_`VkvW zFNgPsEv%WtcM--awD*kQ9*3ptIYJW znWL7e8L#DaqMHMW$i7z0!6Qh|cH8N@Rkqm88Y8Gz!4t!u+x!!2_@9NMHykH$b3PWC z4LG6S^1g)>H5l4GDASE3O@u@VMcBpw^ry`B&4P&-=bXYAd z$p(GLI5o>Z0_%bv@;k}XXCl9d&Zd*rS+%eWI4V*n3g{H_pRFge_HBB%oG)~4yo>+6 zE+r$AAa`-@P)6cDTFHq+LuwD7@!p_)N$F_#wu3FZ{HFFR*S!D{90~MsYYP1 zju83g7>CY4o*gIDRhe$5=-0%5v7XgWcgoDy=F7lRhbazRrp#sRYi+9LP?Q;#LJb-R zS^DS7el9m4_7shBfppMgcS?-Pr?g3u8zq{g-Y$i4=W}<~&abWc(D|>jmE<(`LM^`T zC4u^iEYzQLUrIDLmUshXQ!Px21O{8PEA7PZF!`(jfU4DR@W9HMbvgCEH6!8iFtb0K zs=*F|ox?aPqgIblHkV62y;r?*rr9S&vW@B88|GZQ@C&kvAK=Itw|0xI<&-p=+;2Xd zsT}(Q^3~fy5?Q&H?2G3QyF}kVb@_vpg}igG0Q;9jpqa5dG_N1Q2|&wejG4E)w7>!I z-tjq4SJqgbxgc5>x=UN*Kb|-2MC&DgrnBHi_Zp&J=6{LSPViFB9w%P_T|P)5W$4_x zjY_@%NUqnE*$4&dit zTj4ue_sq1j!CWej0#?*DMYwmPbUx)+{k^2{pXFHM9r80k_DxoMycBf+&@77a z*wwd+EsDf}>XSx|gatM#6e*_wo?0iCJ;f<*XiA({5DWw#K(vKOE2^cI62 z@SaUSqWN8(kLnBBDElP{;&-pkcnFxvMChRgvr9FCk$`|sYpw7 z?=a04J_A}!KFq>G(z(PvKAY_dMR$xvj*05)azK9~cSSZBk|tU#l<_02C}=>(@zy6m54wVUraZ)-5WJBsg$dpBs~SUhPA( z-4LV6l{eOJi7j~wk1C%T$ z7l0F$0Di05lx-`&g zh1+snE7u*o>_}WFALc5}a8AL;k)e73<9n&s6<*|Swf|Go`^Yax zQXoIW(kyH26HwdLsTe)6PM~X%nj;Q z7e7#u2tsy67K_^a=u9f9j8c=21)wc7vUHGH&5zHj4XFb#cg;xWrIIgOj&!D_;)(ft zKuP~3;o(gPqh`m# zt5bPm!2dDzEJ9H4H)k5kPZ+;f+8Gm?dIU^$YXcQv*fei<97}IZBt5zihG>3D9=0^ zkl!%L3J*;Zmtxf<9c3$>DP$P8irFaFi5SlHDjz&gjx$8d*}6Ey*_H}F5NfscwSnYi zt)l(atNf`%QujIn`o$@QJC>BMPt|L0wEm6-;r@?Xb@uUjZJUy)UE)_rVITYU(-(VUq|>L&Q)&_miY z^2zBdYA-w1RRX$HRpi97U}B%~*J$2W3M|52_?o^+-*zTdRWTl~ha5g+>-HJXb4=W* zP@@YMK#8e4$dP1)cHL4@t0z(2&ONpT?>vMocWprT*Kyjc!AWIJSNfHlK`-tsfYW?4 zcv#sp7mEB$((vbnou}9{M$q^!{>~9&(EyLNhnx??lbsk z`e<`|M1|~e+qs^E^LhmJ|IAPfmW6iq$Tjm)ir?X$z{OV+mx#!Mnr?8znNeU+qeLs+ zcViUbSX|6zH*a(yYiF-bK(s$aD6hO!rJ@m#sgz!nXkOlfj6GV!%y+7gZY}!^DN_dW z-<6E!=#$upX|nvh!zE~Xy8=@EVHO#SL*(e&CRs|iRXF}`N>p@&@b@`3wx%m|Pvj(K z#LzpGg0Qg~&XcU(y5s4%A~Ak7>Ah0HkA*upjpkuU9w7-siKqy-zOJsf ?+5TnsD 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


      -hwnYQTx{SAl8) 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�H-yNx6Vr>>FhdVUsr%BD>0YC-JG_kI-PlU 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
      U2skT?ye*IyY!^)OI!>A! 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

      #kOZxs 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

      0S-)eyB?!a8zD!q#G&w=LdNVsw06g(N3#I56+R( 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 z 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፳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 z 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ë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

      1EDSDGsQ)SHj=(Ps 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%0DSKaTFZoQE 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 z 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

      <1V~(8CR2Z?eQM6YYsDC-gYIvY%rVlNM0UrYk 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

      tZ8PzNwQrd#+#|0El2}7YH;T|hD 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 literal 0 HcmV?d00001 diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c new file mode 100644 index 0000000000..41184530a4 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c @@ -0,0 +1,993 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal.c + * @author MCD Application Team + * @brief HAL module driver. + * This is the common part of the HAL initialization + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The common HAL driver contains a set of generic and common APIs that can be + used by the PPP peripheral drivers and the user to start using the HAL. + [..] + The HAL contains two APIs' categories: + (+) Common HAL APIs + (+) Services HAL APIs + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup HAL HAL + * @brief HAL module driver. + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** + * @brief STM32H7xx HAL Driver version number V1.3.0 + */ +#define __STM32H7xx_HAL_VERSION_MAIN (0x01) /*!< [31:24] main version */ +#define __STM32H7xx_HAL_VERSION_SUB1 (0x03) /*!< [23:16] sub1 version */ +#define __STM32H7xx_HAL_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */ +#define __STM32H7xx_HAL_VERSION_RC (0x00) /*!< [7:0] release candidate */ +#define __STM32H7xx_HAL_VERSION ((__STM32H7xx_HAL_VERSION_MAIN << 24)\ + |(__STM32H7xx_HAL_VERSION_SUB1 << 16)\ + |(__STM32H7xx_HAL_VERSION_SUB2 << 8 )\ + |(__STM32H7xx_HAL_VERSION_RC)) + +#define IDCODE_DEVID_MASK ((uint32_t)0x00000FFF) +#define VREFBUF_TIMEOUT_VALUE (uint32_t)10 /* 10 ms */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +static __IO uint32_t uwTick; +static uint32_t uwTickPrio = (1UL << __NVIC_PRIO_BITS); /* Invalid PRIO */ +static HAL_TickFreqTypeDef uwTickFreq = HAL_TICK_FREQ_DEFAULT; /* 1KHz */ + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup HAL_Private_Functions HAL Private Functions + * @{ + */ + +/** @defgroup HAL_Group1 Initialization and de-initialization Functions + * @brief Initialization and de-initialization functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initializes the Flash interface the NVIC allocation and initial clock + configuration. It initializes the systick also when timeout is needed + and the backup domain when enabled. + (+) De-Initializes common part of the HAL. + (+) Configure The time base source to have 1ms time base with a dedicated + Tick interrupt priority. + (++) SysTick timer is used by default as source of time base, but user + can eventually implement his proper time base source (a general purpose + timer for example or other time source), keeping in mind that Time base + duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and + handled in milliseconds basis. + (++) Time base configuration function (HAL_InitTick ()) is called automatically + at the beginning of the program after reset by HAL_Init() or at any time + when clock is configured, by HAL_RCC_ClockConfig(). + (++) Source of time base is configured to generate interrupts at regular + time intervals. Care must be taken if HAL_Delay() is called from a + peripheral ISR process, the Tick interrupt line must have higher priority + (numerically lower) than the peripheral interrupt. Otherwise the caller + ISR process will be blocked. + (++) functions affecting time base configurations are declared as __weak + to make override possible in case of other implementations in user file. +@endverbatim + * @{ + */ + +/** + * @brief This function is used to initialize the HAL Library; it must be the first + * instruction to be executed in the main program (before to call any other + * HAL function), it performs the following: + * Configures the SysTick to generate an interrupt each 1 millisecond, + * which is clocked by the HSI (at this stage, the clock is not yet + * configured and thus the system is running from the internal HSI at 16 MHz). + * Set NVIC Group Priority to 4. + * Calls the HAL_MspInit() callback function defined in user file + * "stm32h7xx_hal_msp.c" to do the global low level hardware initialization + * + * @note SysTick is used as time base for the HAL_Delay() function, the application + * need to ensure that the SysTick time base is always set to 1 millisecond + * to have correct HAL operation. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_Init(void) +{ + /* Set Interrupt Group Priority */ + HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); + + /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ + if(HAL_InitTick(TICK_INT_PRIORITY) != HAL_OK) + { + return HAL_ERROR; + } + + /* Init the low level hardware */ + HAL_MspInit(); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief This function de-Initializes common part of the HAL and stops the systick. + * This function is optional. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DeInit(void) +{ + /* Reset of all peripherals */ + __HAL_RCC_AHB3_FORCE_RESET(); + __HAL_RCC_AHB3_RELEASE_RESET(); + + __HAL_RCC_AHB1_FORCE_RESET(); + __HAL_RCC_AHB1_RELEASE_RESET(); + + __HAL_RCC_AHB2_FORCE_RESET(); + __HAL_RCC_AHB2_RELEASE_RESET(); + + __HAL_RCC_AHB4_FORCE_RESET(); + __HAL_RCC_AHB4_RELEASE_RESET(); + + __HAL_RCC_APB3_FORCE_RESET(); + __HAL_RCC_APB3_RELEASE_RESET(); + + __HAL_RCC_APB1L_FORCE_RESET(); + __HAL_RCC_APB1L_RELEASE_RESET(); + + __HAL_RCC_APB1H_FORCE_RESET(); + __HAL_RCC_APB1H_RELEASE_RESET(); + + __HAL_RCC_APB2_FORCE_RESET(); + __HAL_RCC_APB2_RELEASE_RESET(); + + __HAL_RCC_APB4_FORCE_RESET(); + __HAL_RCC_APB4_RELEASE_RESET(); + + /* De-Init the low level hardware */ + HAL_MspDeInit(); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initializes the MSP. + * @retval None + */ +__weak void HAL_MspInit(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitializes the MSP. + * @retval None + */ +__weak void HAL_MspDeInit(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief This function configures the source of the time base. + * The time source is configured to have 1ms time base with a dedicated + * Tick interrupt priority. + * @note This function is called automatically at the beginning of program after + * reset by HAL_Init() or at any time when clock is reconfigured by HAL_RCC_ClockConfig(). + * @note In the default implementation, SysTick timer is the source of time base. + * It is used to generate interrupts at regular time intervals. + * Care must be taken if HAL_Delay() is called from a peripheral ISR process, + * The the SysTick interrupt must have higher priority (numerically lower) + * than the peripheral interrupt. Otherwise the caller ISR process will be blocked. + * The function is declared as __weak to be overwritten in case of other + * implementation in user file. + * @param TickPriority: Tick interrupt priority. + * @retval HAL status + */ +__weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) +{ + /* Configure the SysTick to have interrupt in 1ms time basis*/ + if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) + { + return HAL_ERROR; + } + + /* Configure the SysTick IRQ priority */ + if (TickPriority < (1UL << __NVIC_PRIO_BITS)) + { + HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); + uwTickPrio = TickPriority; + } + else + { + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HAL_Group2 HAL Control functions + * @brief HAL Control functions + * +@verbatim + =============================================================================== + ##### HAL Control functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Provide a tick value in millisecond + (+) Provide a blocking delay in millisecond + (+) Suspend the time base source interrupt + (+) Resume the time base source interrupt + (+) Get the HAL API driver version + (+) Get the device identifier + (+) Get the device revision identifier + (+) Enable/Disable Debug module during SLEEP mode + (+) Enable/Disable Debug module during STOP mode + (+) Enable/Disable Debug module during STANDBY mode + +@endverbatim + * @{ + */ + +/** + * @brief This function is called to increment a global variable "uwTick" + * used as application time base. + * @note In the default implementation, this variable is incremented each 1ms + * in Systick ISR. + * @note This function is declared as __weak to be overwritten in case of other + * implementations in user file. + * @retval None + */ +__weak void HAL_IncTick(void) +{ + uwTick += (uint32_t)uwTickFreq; +} + +/** + * @brief Provides a tick value in millisecond. + * @note This function is declared as __weak to be overwritten in case of other + * implementations in user file. + * @retval tick value + */ +__weak uint32_t HAL_GetTick(void) +{ + return uwTick; +} + +/** + * @brief This function returns a tick priority. + * @retval tick priority + */ +uint32_t HAL_GetTickPrio(void) +{ + return uwTickPrio; +} + +/** + * @brief Set new tick Freq. + * @retval Status + */ +HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq) +{ + HAL_StatusTypeDef status = HAL_OK; + assert_param(IS_TICKFREQ(Freq)); + + if (uwTickFreq != Freq) + { + uwTickFreq = Freq; + + /* Apply the new tick Freq */ + status = HAL_InitTick(uwTickPrio); + } + + return status; +} + +/** + * @brief Return tick frequency. + * @retval tick period in Hz + */ +HAL_TickFreqTypeDef HAL_GetTickFreq(void) +{ + return uwTickFreq; +} + +/** + * @brief This function provides minimum delay (in milliseconds) based + * on variable incremented. + * @note In the default implementation , SysTick timer is the source of time base. + * It is used to generate interrupts at regular time intervals where uwTick + * is incremented. + * @note This function is declared as __weak to be overwritten in case of other + * implementations in user file. + * @param Delay specifies the delay time length, in milliseconds. + * @retval None + */ +__weak void HAL_Delay(uint32_t Delay) +{ + uint32_t tickstart = HAL_GetTick(); + uint32_t wait = Delay; + + /* Add a freq to guarantee minimum wait */ + if (wait < HAL_MAX_DELAY) + { + wait += (uint32_t)(uwTickFreq); + } + + while ((HAL_GetTick() - tickstart) < wait) + { + } +} + +/** + * @brief Suspend Tick increment. + * @note In the default implementation , SysTick timer is the source of time base. It is + * used to generate interrupts at regular time intervals. Once HAL_SuspendTick() + * is called, the the SysTick interrupt will be disabled and so Tick increment + * is suspended. + * @note This function is declared as __weak to be overwritten in case of other + * implementations in user file. + * @retval None + */ +__weak void HAL_SuspendTick(void) +{ + /* Disable SysTick Interrupt */ + SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk; +} + +/** + * @brief Resume Tick increment. + * @note In the default implementation , SysTick timer is the source of time base. It is + * used to generate interrupts at regular time intervals. Once HAL_ResumeTick() + * is called, the the SysTick interrupt will be enabled and so Tick increment + * is resumed. + * @note This function is declared as __weak to be overwritten in case of other + * implementations in user file. + * @retval None + */ +__weak void HAL_ResumeTick(void) +{ + /* Enable SysTick Interrupt */ + SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk; +} + +/** + * @brief Returns the HAL revision + * @retval version : 0xXYZR (8bits for each decimal, R for RC) + */ +uint32_t HAL_GetHalVersion(void) +{ + return __STM32H7xx_HAL_VERSION; +} + +/** + * @brief Returns the device revision identifier. + * @retval Device revision identifier + */ +uint32_t HAL_GetREVID(void) +{ + return((DBGMCU->IDCODE) >> 16); +} + +/** + * @brief Returns the device identifier. + * @retval Device identifier + */ +uint32_t HAL_GetDEVID(void) +{ + return((DBGMCU->IDCODE) & IDCODE_DEVID_MASK); +} + +/** + * @brief Configure the internal voltage reference buffer voltage scale. + * @param VoltageScaling specifies the output voltage to achieve + * This parameter can be one of the following values: + * @arg SYSCFG_VREFBUF_VOLTAGE_SCALE0: VREF_OUT1 around 2.048 V. + * This requires VDDA equal to or higher than 2.4 V. + * @arg SYSCFG_VREFBUF_VOLTAGE_SCALE1: VREF_OUT2 around 2.5 V. + * This requires VDDA equal to or higher than 2.8 V. + * @arg SYSCFG_VREFBUF_VOLTAGE_SCALE2: VREF_OUT3 around 1.5 V. + * This requires VDDA equal to or higher than 1.8 V. + * @arg SYSCFG_VREFBUF_VOLTAGE_SCALE3: VREF_OUT4 around 1.8 V. + * This requires VDDA equal to or higher than 2.1 V. + * @retval None + */ +void HAL_SYSCFG_VREFBUF_VoltageScalingConfig(uint32_t VoltageScaling) +{ + /* Check the parameters */ + assert_param(IS_SYSCFG_VREFBUF_VOLTAGE_SCALE(VoltageScaling)); + + MODIFY_REG(VREFBUF->CSR, VREFBUF_CSR_VRS, VoltageScaling); +} + +/** + * @brief Configure the internal voltage reference buffer high impedance mode. + * @param Mode specifies the high impedance mode + * This parameter can be one of the following values: + * @arg SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE: VREF+ pin is internally connect to VREFINT output. + * @arg SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE: VREF+ pin is high impedance. + * @retval None + */ +void HAL_SYSCFG_VREFBUF_HighImpedanceConfig(uint32_t Mode) +{ + /* Check the parameters */ + assert_param(IS_SYSCFG_VREFBUF_HIGH_IMPEDANCE(Mode)); + + MODIFY_REG(VREFBUF->CSR, VREFBUF_CSR_HIZ, Mode); +} + +/** + * @brief Tune the Internal Voltage Reference buffer (VREFBUF). + * @retval None + */ +void HAL_SYSCFG_VREFBUF_TrimmingConfig(uint32_t TrimmingValue) +{ + /* Check the parameters */ + assert_param(IS_SYSCFG_VREFBUF_TRIMMING(TrimmingValue)); + + MODIFY_REG(VREFBUF->CCR, VREFBUF_CCR_TRIM, TrimmingValue); +} + +/** + * @brief Enable the Internal Voltage Reference buffer (VREFBUF). + * @retval HAL_OK/HAL_TIMEOUT + */ +HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void) +{ + uint32_t tickstart = 0; + + SET_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait for VRR bit */ + while(READ_BIT(VREFBUF->CSR, VREFBUF_CSR_VRR) == RESET) + { + if((HAL_GetTick() - tickstart) > VREFBUF_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + return HAL_OK; +} + +/** + * @brief Disable the Internal Voltage Reference buffer (VREFBUF). + * + * @retval None + */ +void HAL_SYSCFG_DisableVREFBUF(void) +{ + CLEAR_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR); +} + +/** + * @brief Ethernet PHY Interface Selection either MII or RMII + * @param SYSCFG_ETHInterface: Selects the Ethernet PHY interface + * This parameter can be one of the following values: + * @arg SYSCFG_ETH_MII : Select the Media Independent Interface + * @arg SYSCFG_ETH_RMII: Select the Reduced Media Independent Interface + * @retval None + */ +void HAL_SYSCFG_ETHInterfaceSelect(uint32_t SYSCFG_ETHInterface) +{ + /* Check the parameter */ + assert_param(IS_SYSCFG_ETHERNET_CONFIG(SYSCFG_ETHInterface)); + + MODIFY_REG(SYSCFG->PMCR, SYCFG_PMCR_EPIS_SEL, (uint32_t)(SYSCFG_ETHInterface)); +} + + +/** + * @brief Analog Switch control for dual analog pads. + * @param SYSCFG_AnalogSwitch: Selects the analog pad + * This parameter can be one or a combination of the following values: + * @arg SYSCFG_SWITCH_PA0 : Select PA0 analog switch + * @arg SYSCFG_SWITCH_PA1: Select PA1 analog switch + * @arg SYSCFG_SWITCH_PC2 : Select PC2 analog switch + * @arg SYSCFG_SWITCH_PC3: Select PC3 analog switch + * @param SYSCFG_SwitchState: Open or Close the analog switch between dual pads (PXn and PXn_C) + * This parameter can be one or a combination of the following values: + * @arg SYSCFG_SWITCH_PA0_OPEN + * @arg SYSCFG_SWITCH_PA0_CLOSE + * @arg SYSCFG_SWITCH_PA1_OPEN + * @arg SYSCFG_SWITCH_PA1_CLOSE + * @arg SYSCFG_SWITCH_PC2_OPEN + * @arg SYSCFG_SWITCH_PC2_CLOSE + * @arg SYSCFG_SWITCH_PC3_OPEN + * @arg SYSCFG_SWITCH_PC3_CLOSE + * @retval None + */ + +void HAL_SYSCFG_AnalogSwitchConfig(uint32_t SYSCFG_AnalogSwitch , uint32_t SYSCFG_SwitchState ) +{ + /* Check the parameter */ + assert_param(IS_SYSCFG_ANALOG_SWITCH(SYSCFG_AnalogSwitch)); + assert_param(IS_SYSCFG_SWITCH_STATE(SYSCFG_SwitchState)); + + MODIFY_REG(SYSCFG->PMCR, (uint32_t) SYSCFG_AnalogSwitch, (uint32_t)(SYSCFG_SwitchState)); +} + + +/** + * @brief Enables the booster to reduce the total harmonic distortion of the analog + * switch when the supply voltage is lower than 2.7 V. + * @note Activating the booster allows to guaranty the analog switch AC performance + * when the supply voltage is below 2.7 V: in this case, the analog switch + * performance is the same on the full voltage range + * @retval None + */ +void HAL_SYSCFG_EnableBOOST(void) +{ + SET_BIT(SYSCFG->PMCR, SYSCFG_PMCR_BOOSTEN) ; +} + +/** + * @brief Disables the booster + * @note Activating the booster allows to guaranty the analog switch AC performance + * when the supply voltage is below 2.7 V: in this case, the analog switch + * performance is the same on the full voltage range + * @retval None + */ +void HAL_SYSCFG_DisableBOOST(void) +{ + CLEAR_BIT(SYSCFG->PMCR, SYSCFG_PMCR_BOOSTEN) ; +} + + +/** + * @brief BootCM7 address 0 configuration + * @param BootRegister :Specifies the Boot Address register (Address0 or Address1) + * This parameter can be one of the following values: + * @arg SYSCFG_BOOT_ADDR0 : Select the boot address0 + * @arg SYSCFG_BOOT_ADDR1: Select the boot address1 + * @param BootAddress :Specifies the CM7 Boot Address to be loaded in Address0 or Address1 + * @retval None + */ +void HAL_SYSCFG_CM7BootAddConfig(uint32_t BootRegister, uint32_t BootAddress) +{ + /* Check the parameters */ + assert_param(IS_SYSCFG_BOOT_REGISTER(BootRegister)); + assert_param(IS_SYSCFG_BOOT_ADDRESS(BootAddress)); + if ( BootRegister == SYSCFG_BOOT_ADDR0 ) + { + /* Configure CM7 BOOT ADD0 */ + MODIFY_REG(SYSCFG->UR2, SYSCFG_UR2_BOOT_ADD0, ((BootAddress >> 16) << POSITION_VAL(SYSCFG_UR2_BOOT_ADD0))); + } + else + { + /* Configure CM7 BOOT ADD1 */ + MODIFY_REG(SYSCFG->UR3, SYSCFG_UR3_BOOT_ADD1, (BootAddress >> 16)); + } + +} + + +/** + * @brief Enables the I/O Compensation Cell. + * @note The I/O compensation cell can be used only when the device supply + * voltage ranges from 2.4 to 3.6 V. + * @retval None + */ +void HAL_EnableCompensationCell(void) +{ + SET_BIT(SYSCFG->CCCSR, SYSCFG_CCCSR_EN) ; +} + +/** + * @brief Power-down the I/O Compensation Cell. + * @note The I/O compensation cell can be used only when the device supply + * voltage ranges from 2.4 to 3.6 V. + * @retval None + */ +void HAL_DisableCompensationCell(void) +{ + CLEAR_BIT(SYSCFG->CCCSR, SYSCFG_CCCSR_EN) ; +} + + +/** + * @brief To Enable optimize the I/O speed when the product voltage is low. + * @note This bit is active only if PRODUCT_BELOW_25V user option bit is set. It must be + * used only if the product supply voltage is below 2.5 V. Setting this bit when VDD is + * higher than 2.5 V might be destructive. + * @retval None + */ +void HAL_SYSCFG_EnableIOSpeedOptimize(void) +{ + SET_BIT(SYSCFG->CCCSR, SYSCFG_CCCSR_HSLV) ; +} + +/** + * @brief To Disable optimize the I/O speed when the product voltage is low. + * @note This bit is active only if PRODUCT_BELOW_25V user option bit is set. It must be + * used only if the product supply voltage is below 2.5 V. Setting this bit when VDD is + * higher than 2.5 V might be destructive. + * @retval None + */ +void HAL_SYSCFG_DisableIOSpeedOptimize(void) +{ + CLEAR_BIT(SYSCFG->CCCSR, SYSCFG_CCCSR_HSLV) ; +} + +/** + * @brief Code selection for the I/O Compensation cell + * @param SYSCFG_CompCode: Selects the code to be applied for the I/O compensation cell + * This parameter can be one of the following values: + * @arg SYSCFG_CELL_CODE : Select Code from the cell (available in the SYSCFG_CCVR) + * @arg SYSCFG_REGISTER_CODE: Select Code from the SYSCFG compensation cell code register (SYSCFG_CCCR) + * @retval None + */ +void HAL_SYSCFG_CompensationCodeSelect(uint32_t SYSCFG_CompCode) +{ + /* Check the parameter */ + assert_param(IS_SYSCFG_CODE_SELECT(SYSCFG_CompCode)); + MODIFY_REG(SYSCFG->CCCSR, SYSCFG_CCCSR_CS, (uint32_t)(SYSCFG_CompCode)); +} + +/** + * @brief Code selection for the I/O Compensation cell + * @param SYSCFG_PMOSCode: PMOS compensation code + * This code is applied to the I/O compensation cell when the CS bit of the + * SYSCFG_CMPCR is set + * @param SYSCFG_NMOSCode: NMOS compensation code + * This code is applied to the I/O compensation cell when the CS bit of the + * SYSCFG_CMPCR is set + * @retval None + */ +void HAL_SYSCFG_CompensationCodeConfig(uint32_t SYSCFG_PMOSCode, uint32_t SYSCFG_NMOSCode ) +{ + /* Check the parameter */ + assert_param(IS_SYSCFG_CODE_CONFIG(SYSCFG_PMOSCode)); + assert_param(IS_SYSCFG_CODE_CONFIG(SYSCFG_NMOSCode)); + MODIFY_REG(SYSCFG->CCCR, SYSCFG_CCCR_NCC|SYSCFG_CCCR_PCC, (((uint32_t)(SYSCFG_PMOSCode)<< 4)|(uint32_t)(SYSCFG_NMOSCode)) ); +} + + +/** + * @brief Enable the Debug Module during Domain1 SLEEP mode + * @retval None + */ +void HAL_EnableDBGSleepMode(void) +{ + SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_SLEEPD1); +} + +/** + * @brief Disable the Debug Module during Domain1 SLEEP mode + * @retval None + */ +void HAL_DisableDBGSleepMode(void) +{ + CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_SLEEPD1); +} + +/** + * @brief Enable the Debug Module during Domain1 STOP mode + * @retval None + */ +void HAL_EnableDBGStopMode(void) +{ + SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOPD1); +} + +/** + * @brief Disable the Debug Module during Domain1 STOP mode + * @retval None + */ +void HAL_DisableDBGStopMode(void) +{ + CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOPD1); +} + +/** + * @brief Enable the Debug Module during Domain1 STANDBY mode + * @retval None + */ +void HAL_EnableDBGStandbyMode(void) +{ + SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBYD1); +} + +/** + * @brief Disable the Debug Module during Domain1 STANDBY mode + * @retval None + */ +void HAL_DisableDBGStandbyMode(void) +{ + CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBYD1); +} + + + +/** + * @brief Enable the Debug Module during Domain3 STOP mode + * @retval None + */ +void HAL_EnableDomain3DBGStopMode(void) +{ + SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOPD3); +} + +/** + * @brief Disable the Debug Module during Domain3 STOP mode + * @retval None + */ +void HAL_DisableDomain3DBGStopMode(void) +{ + CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOPD3); +} + +/** + * @brief Enable the Debug Module during Domain3 STANDBY mode + * @retval None + */ +void HAL_EnableDomain3DBGStandbyMode(void) +{ + SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBYD3); +} + +/** + * @brief Disable the Debug Module during Domain3 STANDBY mode + * @retval None + */ +void HAL_DisableDomain3DBGStandbyMode(void) +{ + CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBYD3); +} + +/** + * @brief Set the FMC Memory Mapping Swapping config. + * @param BankMapConfig: Defines the FMC Bank mapping configuration. This parameter can be + FMC_SWAPBMAP_DISABLE, FMC_SWAPBMAP_SDRAM_SRAM, FMC_SWAPBMAP_SDRAMB2 + * @retval HAL state + */ +void HAL_SetFMCMemorySwappingConfig(uint32_t BankMapConfig) +{ + /* Check the parameter */ + assert_param(IS_FMC_SWAPBMAP_MODE(BankMapConfig)); + MODIFY_REG(FMC_Bank1->BTCR[0], FMC_BCR1_BMAP, BankMapConfig); +} + +/** + * @brief Get FMC Bank mapping mode. + * @retval The FMC Bank mapping mode. This parameter can be + FMC_SWAPBMAP_DISABLE, FMC_SWAPBMAP_SDRAM_SRAM, FMC_SWAPBMAP_SDRAMB2 +*/ +uint32_t HAL_GetFMCMemorySwappingConfig(void) +{ + return READ_BIT(FMC_Bank1->BTCR[0], FMC_BCR1_BMAP); +} + +/** + * @brief Configure the EXTI input event line edge + * @note No edge configuration for direct lines but for configurable lines:(EXTI_LINE0..EXTI_LINE21), + * EXTI_LINE49,EXTI_LINE51,EXTI_LINE82,EXTI_LINE84,EXTI_LINE85 and EXTI_LINE86. + * @param EXTI_Line: Specifies the EXTI LINE, it can be one of the following values, + * (EXTI_LINE0....EXTI_LINE88)excluding :line45, line81,line83 which are reserved + * @param EXTI_Edge: Specifies EXTI line Edge used. + * This parameter can be one of the following values : + * @arg EXTI_RISING_EDGE : Configurable line, with Rising edge trigger detection + * @arg EXTI_FALLING_EDGE: Configurable line, with Falling edge trigger detection + * @retval None + */ +void HAL_EXTI_EdgeConfig(uint32_t EXTI_Line , uint32_t EXTI_Edge ) +{ + /* Check the parameter */ + assert_param(IS_EXTI_CONFIG_LINE(EXTI_Line)); + assert_param(IS_EXTI_EDGE_LINE(EXTI_Edge)); + + /* Clear Rising Falling edge configuration */ + CLEAR_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI->FTSR1)) + ((EXTI_Line >> 5 ) * 0x20)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + CLEAR_BIT( *(__IO uint32_t *) (((uint32_t) &(EXTI->RTSR1)) + ((EXTI_Line >> 5 ) * 0x20)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + + if( (EXTI_Edge & EXTI_RISING_EDGE) == EXTI_RISING_EDGE) + { + SET_BIT( *(__IO uint32_t *) (((uint32_t) &(EXTI->RTSR1)) + ((EXTI_Line >> 5 ) * 0x20)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + } + if( (EXTI_Edge & EXTI_FALLING_EDGE) == EXTI_FALLING_EDGE) + { + SET_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI->FTSR1)) + ((EXTI_Line >> 5 ) * 0x20)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + } +} + +/** + * @brief Generates a Software interrupt on selected EXTI line. + * @param EXTI_Line: Specifies the EXTI LINE, it can be one of the following values, + * (EXTI_LINE0..EXTI_LINE21),EXTI_LINE49,EXTI_LINE51,EXTI_LINE82,EXTI_LINE84,EXTI_LINE85 and EXTI_LINE86. + * @retval None + */ +void HAL_EXTI_GenerateSWInterrupt(uint32_t EXTI_Line) +{ + /* Check the parameters */ + assert_param(IS_EXTI_CONFIG_LINE(EXTI_Line)); + + SET_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI->SWIER1)) + ((EXTI_Line >> 5 ) * 0x20)), (uint32_t)(1 << (EXTI_Line & 0x1F))); +} + + +/** + * @brief Clears the EXTI's line pending flags for Domain D1 + * @param EXTI_Line: Specifies the EXTI LINE, it can be one of the following values, + * (EXTI_LINE0....EXTI_LINE88)excluding :line45, line81,line83 which are reserved + * @retval None + */ +void HAL_EXTI_D1_ClearFlag(uint32_t EXTI_Line) +{ + /* Check the parameters */ + assert_param(IS_EXTI_D1_LINE(EXTI_Line)); + SET_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI_D1->PR1)) + ((EXTI_Line >> 5 ) * 0x10)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + +} + +/** + * @brief Configure the EXTI input event line for Domain D1 + * @param EXTI_Line: Specifies the EXTI LINE, it can be one of the following values, + * (EXTI_LINE0....EXTI_LINE88)excluding :line45, line81,line83 which are reserved + * @param EXTI_Mode: Specifies which EXTI line is used as interrupt or an event. + * This parameter can be one or a combination of the following values : + * @arg EXTI_MODE_IT : Interrupt Mode selected + * @arg EXTI_MODE_EVT : Event Mode selected + * @param EXTI_LineCmd controls (Enable/Disable) the EXTI line. + + * @retval None + */ +void HAL_EXTI_D1_EventInputConfig(uint32_t EXTI_Line , uint32_t EXTI_Mode, uint32_t EXTI_LineCmd ) +{ + /* Check the parameter */ + assert_param(IS_EXTI_D1_LINE(EXTI_Line)); + assert_param(IS_EXTI_MODE_LINE(EXTI_Mode)); + + if( (EXTI_Mode & EXTI_MODE_IT) == EXTI_MODE_IT) + { + if( EXTI_LineCmd == DISABLE) + { + /* Clear EXTI line configuration */ + CLEAR_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI_D1->IMR1)) + ((EXTI_Line >> 5 ) * 0x10)),(uint32_t)(1 << (EXTI_Line & 0x1F)) ); + } + else + { + SET_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI_D1->IMR1)) + ((EXTI_Line >> 5 ) * 0x10)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + } + } + if( (EXTI_Mode & EXTI_MODE_EVT) == EXTI_MODE_EVT) + { + if( EXTI_LineCmd == DISABLE) + { + /* Clear EXTI line configuration */ + CLEAR_BIT( *(__IO uint32_t *) (((uint32_t) &(EXTI_D1->EMR1)) + ((EXTI_Line >> 5 ) * 0x10)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + } + else + { + SET_BIT( *(__IO uint32_t *) (((uint32_t) &(EXTI_D1->EMR1)) + ((EXTI_Line >> 5 ) * 0x10)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + } + } + +} + + +/** + * @brief Configure the EXTI input event line for Domain D3 + * @param EXTI_Line: Specifies the EXTI LINE, it can be one of the following values, + * (EXTI_LINE0...EXTI_LINE15),(EXTI_LINE19...EXTI_LINE21),EXTI_LINE25, EXTI_LINE34, + * EXTI_LINE35,EXTI_LINE41,(EXTI_LINE48...EXTI_LINE53),EXTI_LINE88 + * @param EXTI_LineCmd controls (Enable/Disable) the EXTI line. + * @param EXTI_ClearSrc: Specifies the clear source of D3 pending event. + * This parameter can be one of the following values : + * @arg BDMA_CH6_CLEAR : BDMA ch6 event selected as D3 domain pendclear source + * @arg BDMA_CH7_CLEAR : BDMA ch7 event selected as D3 domain pendclear source + * @arg LPTIM4_OUT_CLEAR : LPTIM4 out selected as D3 domain pendclear source + * @arg LPTIM5_OUT_CLEAR : LPTIM5 out selected as D3 domain pendclear source + * @retval None + */ +void HAL_EXTI_D3_EventInputConfig(uint32_t EXTI_Line, uint32_t EXTI_LineCmd , uint32_t EXTI_ClearSrc ) +{ + + /* Check the parameter */ + assert_param(IS_EXTI_D3_LINE(EXTI_Line)); + assert_param(IS_EXTI_D3_CLEAR(EXTI_ClearSrc)); + + if( EXTI_LineCmd == DISABLE) + { + /* Clear EXTI line configuration */ + CLEAR_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI->D3PMR1)) + ((EXTI_Line >> 5 ) * 0x20)),(uint32_t)(1 << (EXTI_Line & 0x1F)) ); + } + else + { + SET_BIT(*(__IO uint32_t *) (((uint32_t) &(EXTI->D3PMR1)) +((EXTI_Line >> 5 ) * 0x20)), (uint32_t)(1 << (EXTI_Line & 0x1F))); + } + + + if ( (EXTI_Line>>4)%2 ==0) + { + MODIFY_REG(*(__IO uint32_t *) (((uint32_t) &(EXTI->D3PCR1L)) + ((EXTI_Line >> 5 ) * 0x20)), \ + (uint32_t)(3 << ((EXTI_Line*2) & 0x1F)), (uint32_t)(EXTI_ClearSrc << ((EXTI_Line*2) & 0x1F))) ; + } + + else + { + MODIFY_REG(*(__IO uint32_t *) (((uint32_t) &(EXTI->D3PCR1H)) + ((EXTI_Line >> 5 ) * 0x20)), \ + (uint32_t)(3 << ((EXTI_Line*2) & 0x1F)), (uint32_t)(EXTI_ClearSrc << ((EXTI_Line*2) & 0x1F))) ; + } + +} + + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c new file mode 100644 index 0000000000..92babe65c7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c @@ -0,0 +1,3258 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_adc.c + * @author MCD Application conversion + * @brief This file provides firmware functions to manage the following + * functionalities of the Analog to Digital Convertor (ADC) + * peripheral: + * + Initialization and deinitialization functions + * ++ Initialization and Configuration of ADC + * + Operation functions + * ++ Start, stop, get result of regular conversions of regular + * using 3 possible modes: polling, interruption or DMA. + * + Control functions + * ++ Channels configuration on regular group + * ++ Analog Watchdog configuration + * + State functions + * ++ ADC state machine management + * ++ Interrupts and flags management + * Other functions (extended functions) are available in file + * "stm32h7xx_hal_adc_ex.c". + @verbatim + ============================================================================== + ##### ADC specific features ##### + ============================================================================== + [..] + (+) 16-bit, 14-bit, 12-bit, 10-bit or 8-bit configurable resolution. + + (+) Interrupt generation at the end of regular conversion and in case of + analog watchdog or overrun events. + + (+) Single and continuous conversion modes. + + (+) Scan mode for conversion of several channels sequentially. + + (+) Data alignment with in-built data coherency. + + (+) Programmable sampling time (channel wise) + + (+) External trigger (timer or EXTI) with configurable polarity + + (+) DMA request generation for transfer of conversions data of regular group. + + (+) Configurable delay between conversions in Dual interleaved mode. + + (+) ADC channels selectable single/differential input. + + (+) ADC offset on regular groups. + + (+) ADC calibration + + (+) ADC conversion of regular group. + + (+) ADC supply requirements: 1.62 V to 3.6 V. + + (+) ADC input range: from Vref- (connected to Vssa) to Vref+ (connected to + Vdda or to an external voltage reference). + + ##### How to use this driver ##### + ============================================================================== + [..] + + *** Configuration of top level parameters related to ADC *** + ============================================================ + [..] + + (#) Enable the ADC interface + (++) As prerequisite, ADC clock must be configured at RCC top level. + + (++) Two clock settings are mandatory: + (+++) ADC clock (core clock, also possibly conversion clock). + + (+++) ADC clock (conversions clock). + Two possible clock sources: synchronous clock derived from AHB clock + or asynchronous clock derived from system clock, the PLL2 or the PLL3 running up to 400MHz. + + (+++) Example: + Into HAL_ADC_MspInit() (recommended code location) or with + other device clock parameters configuration: + (+++) __HAL_RCC_ADC_CLK_ENABLE(); (mandatory) + + RCC_ADCCLKSOURCE_PLL2 enable: (optional: if asynchronous clock selected) + (+++) RCC_PeriphClkInitTypeDef RCC_PeriphClkInit; + (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; + (+++) PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2; + (+++) HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit); + + (++) ADC clock source and clock prescaler are configured at ADC level with + parameter "ClockPrescaler" using function HAL_ADC_Init(). + + (#) ADC pins configuration + (++) Enable the clock for the ADC GPIOs + using macro __HAL_RCC_GPIOx_CLK_ENABLE() + (++) Configure these ADC pins in analog mode + using function HAL_GPIO_Init() + + (#) Optionally, in case of usage of ADC with interruptions: + (++) Configure the NVIC for ADC + using function HAL_NVIC_EnableIRQ(ADCx_IRQn) + (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler() + into the function of corresponding ADC interruption vector + ADCx_IRQHandler(). + + (#) Optionally, in case of usage of DMA: + (++) Configure the DMA (DMA channel, mode normal or circular, ...) + using function HAL_DMA_Init(). + (++) Configure the NVIC for DMA + using function HAL_NVIC_EnableIRQ(DMAx_Channelx_IRQn) + (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler() + into the function of corresponding DMA interruption vector + DMAx_Channelx_IRQHandler(). + + *** Configuration of ADC, group regular, channels parameters *** + ================================================================ + [..] + + + (#) Configure the ADC parameters (resolution, data alignment, ...) + and regular group parameters (conversion trigger, sequencer, ...) + using function HAL_ADC_Init(). + + (#) Configure the channels for regular group parameters (channel number, + channel rank into sequencer, ..., into regular group) + using function HAL_ADC_ConfigChannel(). + + (#) Optionally, configure the analog watchdog parameters (channels + monitored, thresholds, ...) + using function HAL_ADC_AnalogWDGConfig(). + + *** Execution of ADC conversions *** + ==================================== + [..] + + + (#) Optionally, perform an automatic ADC calibration to improve the + conversion accuracy + using function HAL_ADCEx_Calibration_Start(). + + (#) ADC driver can be used among three modes: polling, interruption, + transfer by DMA. + + (++) ADC conversion by polling: + (+++) Activate the ADC peripheral and start conversions + using function HAL_ADC_Start() + (+++) Wait for ADC conversion completion + using function HAL_ADC_PollForConversion() + (+++) Retrieve conversion results + using function HAL_ADC_GetValue() + (+++) Stop conversion and disable the ADC peripheral + using function HAL_ADC_Stop() + + (++) ADC conversion by interruption: + (+++) Activate the ADC peripheral and start conversions + using function HAL_ADC_Start_IT() + (+++) Wait for ADC conversion completion by call of function + HAL_ADC_ConvCpltCallback() + (this function must be implemented in user program) + (+++) Retrieve conversion results + using function HAL_ADC_GetValue() + (+++) Stop conversion and disable the ADC peripheral + using function HAL_ADC_Stop_IT() + + (++) ADC conversion with transfer by DMA: + (+++) Activate the ADC peripheral and start conversions + using function HAL_ADC_Start_DMA() + (+++) Wait for ADC conversion completion by call of function + HAL_ADC_ConvCpltCallback() or HAL_ADC_ConvHalfCpltCallback() + (these functions must be implemented in user program) + (+++) Conversion results are automatically transferred by DMA into + destination variable address. + (+++) Stop conversion and disable the ADC peripheral + using function HAL_ADC_Stop_DMA() + + [..] + + + (@) Callback functions must be implemented in user program: + (+@) HAL_ADC_ErrorCallback() + (+@) HAL_ADC_LevelOutOfWindowCallback() (callback of analog watchdog) + (+@) HAL_ADC_ConvCpltCallback() + (+@) HAL_ADC_ConvHalfCpltCallback + + *** Deinitialization of ADC *** + ============================================================ + [..] + + + (#) Disable the ADC interface + (++) ADC clock can be hard reset and disabled at RCC top level. + (++) Hard reset of ADC peripherals + using macro __HAL_RCC_ADCx_FORCE_RESET(), __HAL_RCC_ADCx_RELEASE_RESET(). + (++) ADC clock disable + using the equivalent macro/functions as configuration step. + (+++) Example: + Into HAL_ADC_MspDeInit() (recommended code location) or with + other device clock parameters configuration: + (+++) __HAL_RCC_ADC_CLK_DISABLE(); (if not used anymore) + RCC_ADCCLKSOURCE_CLKP restore: (optional) + (+++) RCC_PeriphClkInitTypeDef RCC_PeriphClkInit; + (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; + (+++) PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_CLKP; + (+++) HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit); + + (#) ADC pins configuration + (++) Disable the clock for the ADC GPIOs + using macro __HAL_RCC_GPIOx_CLK_DISABLE() + + (#) Optionally, in case of usage of ADC with interruptions: + (++) Disable the NVIC for ADC + using function HAL_NVIC_EnableIRQ(ADCx_IRQn) + + (#) Optionally, in case of usage of DMA: + (++) Deinitialize the DMA + using function HAL_DMA_Init(). + (++) Disable the NVIC for DMA + using function HAL_NVIC_EnableIRQ(DMAx_Channelx_IRQn) + + [..] + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup ADC ADC + * @brief ADC HAL module driver + * @{ + */ + +#ifdef HAL_ADC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +/** @defgroup ADC_Private_Constants ADC Private Constants + * @{ + */ + +#define ADC_CFGR_FIELDS_1 ((uint32_t)(ADC_CFGR_RES |\ + ADC_CFGR_CONT | ADC_CFGR_OVRMOD |\ + ADC_CFGR_DISCEN | ADC_CFGR_DISCNUM |\ + ADC_CFGR_EXTEN | ADC_CFGR_EXTSEL)) /*!< ADC_CFGR fields of parameters that can be updated + when no regular conversion is on-going */ + +#define ADC_CFGR_FIELDS_2 ((uint32_t)(ADC_CFGR_DMNGT | ADC_CFGR_AUTDLY)) /*!< ADC_CFGR2 fields of parameters that can be updated when no conversion + (neither regular nor injected) is on-going */ + +#define ADC_CFGR2_FIELDS ((uint32_t)(ADC_CFGR2_ROVSE | ADC_CFGR2_OSR |\ + ADC_CFGR2_OVSS | ADC_CFGR2_TROVS |\ + ADC_CFGR2_ROVSM)) + +#define ADC_CFGR_WD_FIELDS ((uint32_t)(ADC_CFGR_AWD1SGL | ADC_CFGR_JAWD1EN | \ + ADC_CFGR_AWD1EN | ADC_CFGR_AWD1CH)) /*!< ADC_CFGR fields of Analog Watchdog parameters that can be updated when no + conversion (neither regular nor injected) is on-going */ + +#define ADC_OFR_FIELDS ((uint32_t)(ADC_OFR1_OFFSET1 | ADC_OFR1_OFFSET1_CH)) /*!< ADC_OFR fields of parameters that can be updated when no conversion + (neither regular nor injected) is on-going */ + +/* Delay to wait before setting ADEN once ADCAL has been reset + must be at least 4 ADC clock cycles. + Assuming lowest ADC clock (350 KHz according to DS), this + 4 ADC clock cycles duration is equal to + 4 / 350,000 = 0.011 ms. + ADC_ENABLE_TIMEOUT set to 2 is a margin large enough to ensure + the 4 ADC clock cycles have elapsed while waiting for ADRDY + to become 1 */ + #define ADC_ENABLE_TIMEOUT ((uint32_t) 2) /*!< ADC enable time-out value */ + #define ADC_DISABLE_TIMEOUT ((uint32_t) 2) /*!< ADC disable time-out value */ + +/* Timeout to wait for current conversion on going to be completed. */ +/* Timeout fixed to worst case, for 1 channel. */ +/* - maximum sampling time (830.5 adc_clk) */ +/* - ADC resolution (Tsar 16 bits= 16.5 adc_clk) */ +/* - ADC clock with prescaler 256 */ +/* 823 * 256 = 210688 clock cycles max */ +/* Unit: cycles of CPU clock. */ +#define ADC_CONVERSION_TIME_MAX_CPU_CYCLES ((uint32_t) 210688) /*!< ADC conversion completion time-out value */ + + + + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup ADC_Exported_Functions ADC Exported Functions + * @{ + */ + +/** @defgroup ADC_Exported_Functions_Group1 Initialization and deinitialization functions + * @brief ADC Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and deinitialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize and configure the ADC. + (+) Deinitialize the ADC. + +@endverbatim + * @{ + */ +/** + * @brief Initialize the ADC peripheral and regular group according to + * parameters specified in structure "ADC_InitTypeDef". + * @note As prerequisite, ADC clock must be configured at RCC top level + * depending on possible clock sources: PLL2/PLL3 clocks or AHB clock. + * @note Possibility to update parameters on the fly: + * this function initializes the ADC MSP (HAL_ADC_MspInit()) only when + * coming from ADC state reset. Following calls to this function can + * be used to reconfigure some parameters of ADC_InitTypeDef + * structure on the fly, without modifying MSP configuration. If ADC + * MSP has to be modified again, HAL_ADC_DeInit() must be called + * before HAL_ADC_Init(). + * The setting of these parameters is conditioned by ADC state. + * For parameters constraints, see comments of structure + * "ADC_InitTypeDef". + * @note This function configures the ADC within 2 scopes: scope of entire + * ADC and scope of regular group. For parameters details, see comments + * of structure "ADC_InitTypeDef". + * @note Parameters related to common ADC registers (ADC clock mode) are set + * only if all ADCs are disabled. + * If this is not the case, these common parameters setting are + * bypassed without error reporting: it can be the intended behaviour in + * case of update of a parameter of ADC_InitTypeDef on the fly, + * without disabling the other ADCs. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + ADC_Common_TypeDef *tmpADC_Common; + uint32_t tmpCFGR = 0; + __IO uint32_t wait_loop_index = 0; + + /* Check ADC handle */ + if(hadc == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); + assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); + assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); + assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); + assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); + assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv)); + assert_param(IS_ADC_CONVERSIONDATAMGT(hadc->Init.ConversionDataManagement)); + assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); + assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); + assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); + assert_param(IS_FUNCTIONAL_STATE(hadc->Init.OversamplingMode)); + assert_param(IS_FUNCTIONAL_STATE(hadc->Init.BoostMode)); + + if(hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) + { + assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); + assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); + + if (hadc->Init.DiscontinuousConvMode == ENABLE) + { + assert_param(IS_ADC_REGULAR_DISCONT_NUMBER(hadc->Init.NbrOfDiscConversion)); + } + } + + + /* DISCEN and CONT bits can not be set at the same time */ + assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (hadc->Init.ContinuousConvMode == ENABLE))); + + + /* Actions performed only if ADC is coming from state reset: */ + /* - Initialization of ADC MSP */ + if (hadc->State == HAL_ADC_STATE_RESET) + { + /* Init the low level hardware */ + HAL_ADC_MspInit(hadc); + + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + + /* Initialize Lock */ + hadc->Lock = HAL_UNLOCKED; + } + + + /* - Exit from deep-power-down mode and ADC voltage regulator enable */ + /* Exit deep power down mode if still in that state */ + if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_DEEPPWD)) + { + /* Exit deep power down mode */ + CLEAR_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); + + /* System was in deep power down mode, calibration must + be relaunched or a previously saved calibration factor + re-applied once the ADC voltage regulator is enabled */ + } + + + if (HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADVREGEN)) + { + /* Enable ADC internal voltage regulator */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN); + /* Delay for ADC stabilization time */ + /* Wait loop initialization and execution */ + /* Note: Variable divided by 2 to compensate partially */ + /* CPU processing cycles. */ + wait_loop_index = (ADC_STAB_DELAY_US * (SystemCoreClock / (1000000 * 2))); + while(wait_loop_index != 0) + { + wait_loop_index--; + } + } + + + /* Verification that ADC voltage regulator is correctly enabled, whether */ + /* or not ADC is coming from state reset (if any potential problem of */ + /* clocking, voltage regulator would not be enabled). */ + if (HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADVREGEN)) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + tmp_hal_status = HAL_ERROR; + } + + + /* Configuration of ADC parameters if previous preliminary actions are */ + /* correctly completed and if there is no conversion on going on regular */ + /* group (ADC may already be enabled at this point if HAL_ADC_Init() is */ + /* called to update a parameter on the fly). */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL) && + (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) ) + { + + /* Initialize the ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); + + /* Configuration of common ADC parameters */ + + if((hadc->Instance == ADC1) || (hadc->Instance == ADC2)) + { + /* Pointer to the common control register */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + } + else + { + /* Pointer to the common control register */ + tmpADC_Common = ADC3_COMMON_REGISTER(hadc); + } + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated only when ADC is disabled: */ + /* - Multimode clock configuration */ + if ((ADC_IS_ENABLE(hadc) == RESET) && + (ADC_ANY_OTHER_ENABLED(hadc) == RESET) ) + { + /* Reset configuration of ADC common register CCR: */ + /* */ + /* - ADC clock mode and ACC prescaler (CKMODE and PRESC bits)are set */ + /* according to adc->Init.ClockPrescaler. It selects the clock */ + /* source and sets the clock division factor. */ + /* */ + /* Some parameters of this register are not reset, since they are set */ + /* by other functions and must be kept in case of usage of this */ + /* function on the fly (update of a parameter of ADC_InitTypeDef */ + /* without needing to reconfigure all other ADC groups/channels */ + /* parameters): */ + /* - when multimode feature is available, multimode-related */ + /* parameters:DELAY,DUAL(set by API */ + /* HAL_ADCEx_MultiModeConfigChannel()) */ + /* - internal measurement paths: Vbat, temperature sensor, Vref */ + /* (set into HAL_ADC_ConfigChannel() or */ + /* HAL_ADCEx_InjectedConfigChannel() ) */ + + MODIFY_REG(tmpADC_Common->CCR, ADC_CCR_PRESC|ADC_CCR_CKMODE, hadc->Init.ClockPrescaler); + } + + + /* Configuration of ADC: */ + /* - resolution Init.Resolution */ + /* - external trigger to start conversion Init.ExternalTrigConv */ + /* - external trigger polarity Init.ExternalTrigConvEdge */ + /* - continuous conversion mode Init.ContinuousConvMode */ + /* - overrun Init.Overrun */ + /* - discontinuous mode Init.DiscontinuousConvMode */ + /* - discontinuous mode channel count Init.NbrOfDiscConversion */ + tmpCFGR = ( ADC_CFGR_CONTINUOUS(hadc->Init.ContinuousConvMode) | + hadc->Init.Overrun | + hadc->Init.Resolution | + ADC_CFGR_REG_DISCONTINUOUS(hadc->Init.DiscontinuousConvMode) ); + + if (hadc->Init.DiscontinuousConvMode == ENABLE) + { + tmpCFGR |= ADC_CFGR_DISCONTINUOUS_NUM(hadc->Init.NbrOfDiscConversion); + } + + /* Enable external trigger if trigger selection is different of software */ + /* start. */ + /* - external trigger to start conversion Init.ExternalTrigConv */ + /* - external trigger polarity Init.ExternalTrigConvEdge */ + /* Note: parameter ExternalTrigConvEdge set to "trigger edge none" is */ + /* equivalent to software start. */ + if ((hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) + && (hadc->Init.ExternalTrigConvEdge != ADC_EXTERNALTRIGCONVEDGE_NONE)) + { + tmpCFGR |= ( hadc->Init.ExternalTrigConv | hadc->Init.ExternalTrigConvEdge); + } + + /* Update Configuration Register CFGR */ + MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_1, tmpCFGR); + + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated when ADC is disabled or enabled without */ + /* conversion on going on regular and injected groups: */ + /* - Conversion data management Init.ConversionDataManagement */ + /* - LowPowerAutoWait feature Init.LowPowerAutoWait */ + /* - Oversampling parameters Init.Oversampling */ + /* - Boost Mode BoostMode */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) + { + tmpCFGR = ( ADC_CFGR_AUTOWAIT(hadc->Init.LowPowerAutoWait) | + ADC_CFGR_DMACONTREQ(hadc->Init.ConversionDataManagement) ); + + MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_2, tmpCFGR); + + + if (hadc->Init.OversamplingMode == ENABLE) + { + assert_param(IS_ADC_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); + assert_param(IS_ADC_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); + assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); + assert_param(IS_ADC_REGOVERSAMPLING_MODE(hadc->Init.Oversampling.OversamplingStopReset)); + + if ((hadc->Init.ExternalTrigConv == ADC_SOFTWARE_START) + || (hadc->Init.ExternalTrigConvEdge == ADC_EXTERNALTRIGCONVEDGE_NONE)) + { + /* Multi trigger is not applicable to software-triggered conversions */ + assert_param((hadc->Init.Oversampling.TriggeredMode == ADC_TRIGGEREDMODE_SINGLE_TRIGGER)); + } + + + /* Configuration of Oversampler: */ + /* - Oversampling Ratio */ + /* - Right bit shift */ + /* - Leftt bit shift */ + /* - Triggered mode */ + /* - Oversampling mode (continued/resumed) */ + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_FIELDS, + ADC_CFGR2_ROVSE | + (hadc->Init.Oversampling.Ratio << 16) | + hadc->Init.Oversampling.RightBitShift | + hadc->Init.Oversampling.TriggeredMode | + hadc->Init.Oversampling.OversamplingStopReset); + } + else + { + /* Disable Regular OverSampling */ + CLEAR_BIT( hadc->Instance->CFGR2, ADC_CFGR2_ROVSE); + } + + /* Set the LeftShift parameter: it is applied to the final result with or without oversampling */ + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_LSHIFT, hadc->Init.LeftBitShift); + + /* Configure the BOOST Mode */ + if(hadc->Init.BoostMode == ENABLE) + { + SET_BIT(hadc->Instance->CR, ADC_CR_BOOST); + } + else + { + CLEAR_BIT(hadc->Instance->CR, ADC_CR_BOOST); + } + + } /* if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) */ + + /* Configuration of regular group sequencer: */ + /* - if scan mode is disabled, regular channels sequence length is set to */ + /* 0x00: 1 channel converted (channel on regular rank 1) */ + /* Parameter "NbrOfConversion" is discarded. */ + /* Note: Scan mode is not present by hardware on this device, but */ + /* emulated by software for alignment over all STM32 devices. */ + /* - if scan mode is enabled, regular channels sequence length is set to */ + /* parameter "NbrOfConversion" */ + + if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) + { + /* Set number of ranks in regular group sequencer */ + MODIFY_REG(hadc->Instance->SQR1, ADC_SQR1_L, (hadc->Init.NbrOfConversion - (uint8_t)1)); + } + else + { + CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L); + } + + + /* Initialize the ADC state */ + /* Clear HAL_ADC_STATE_BUSY_INTERNAL bit, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); + } + else + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + tmp_hal_status = HAL_ERROR; + } /* if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL) && (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) ) */ + + + /* Return function status */ + return tmp_hal_status; + +} + +/** + * @brief Deinitialize the ADC peripheral registers to their default reset + * values, with deinitialization of the ADC MSP. + * @note Keep in mind that all ADCs use the same clock: disabling + * the clock will reset all ADCs. + * @note By default, HAL_ADC_DeInit() sets DEEPPWD: this saves more power by + * reducing the leakage currents and is particularly interesting before + * entering STOP 1 or STOP 2 modes. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc) +{ + ADC_Common_TypeDef *tmpADC_Common; + + /* Check ADC handle */ + if(hadc == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); + + /* Stop potential conversion on going, on regular and injected groups */ + /* No check on ADC_ConversionStop() return status, if the conversion + stop failed, it is up to HAL_ADC_MspDeInit() to reset the ADC IP */ + ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); + + + /* Disable ADC peripheral if conversions are effectively stopped */ + /* Flush register JSQR: reset the queue sequencer when injected */ + /* queue sequencer is enabled and ADC disabled. */ + /* The software and hardware triggers of the injected sequence are both */ + /* internally disabled just after the completion of the last valid */ + /* injected sequence. */ + SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQM); + + /* Disable the ADC peripheral */ + /* No check on ADC_Disable() return status, if the ADC disabling process + failed, it is up to HAL_ADC_MspDeInit() to reset the ADC IP */ + ADC_Disable(hadc); + + + /* ========== Reset ADC registers ========== */ + /* Reset register IER */ + __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | ADC_IT_AWD1 | + ADC_IT_JQOVF | ADC_IT_OVR | + ADC_IT_JEOS | ADC_IT_JEOC | + ADC_IT_EOS | ADC_IT_EOC | + ADC_IT_EOSMP | ADC_IT_RDY ) ); + + /* Reset register ISR */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | ADC_FLAG_AWD1 | + ADC_FLAG_JQOVF | ADC_FLAG_OVR | + ADC_FLAG_JEOS | ADC_FLAG_JEOC | + ADC_FLAG_EOS | ADC_FLAG_EOC | + ADC_FLAG_EOSMP | ADC_FLAG_RDY ) ); + + /* Reset register CR */ + /* Bits ADC_CR_JADSTP, ADC_CR_ADSTP, ADC_CR_JADSTART, ADC_CR_ADSTART, + ADC_CR_ADCAL, ADC_CR_ADDIS and ADC_CR_ADEN are in access mode "read-set": + no direct reset applicable. + Update CR register to reset value where doable by software */ + CLEAR_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN | ADC_CR_ADCALDIF); + SET_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); + + /* Reset register CFGR */ + CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_AWD1CH | ADC_CFGR_JAUTO | ADC_CFGR_JAWD1EN | + ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL | ADC_CFGR_JQM | + ADC_CFGR_JDISCEN | ADC_CFGR_DISCNUM | ADC_CFGR_DISCEN | + ADC_CFGR_AUTDLY | ADC_CFGR_CONT | ADC_CFGR_OVRMOD | + ADC_CFGR_EXTEN | ADC_CFGR_EXTSEL | + ADC_CFGR_RES | ADC_CFGR_DMNGT); + SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS); + + /* Reset register CFGR2 */ + CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSM | ADC_CFGR2_TROVS | ADC_CFGR2_OVSS | + ADC_CFGR2_OSR | ADC_CFGR2_JOVSE | ADC_CFGR2_ROVSE ); + + /* Reset register SMPR1 */ + CLEAR_BIT(hadc->Instance->SMPR1, ADC_SMPR1_SMP9 | ADC_SMPR1_SMP8 | ADC_SMPR1_SMP7 | + ADC_SMPR1_SMP6 | ADC_SMPR1_SMP5 | ADC_SMPR1_SMP4 | + ADC_SMPR1_SMP3 | ADC_SMPR1_SMP2 | ADC_SMPR1_SMP1 | + ADC_SMPR1_SMP0 ); + + /* Reset register SMPR2 */ + CLEAR_BIT(hadc->Instance->SMPR2, ADC_SMPR2_SMP18 | ADC_SMPR2_SMP17 | ADC_SMPR2_SMP16 | + ADC_SMPR2_SMP15 | ADC_SMPR2_SMP14 | ADC_SMPR2_SMP13 | + ADC_SMPR2_SMP12 | ADC_SMPR2_SMP11 | ADC_SMPR2_SMP10 ); + + /* Reset register LTR1 and HTR1 */ + CLEAR_BIT(hadc->Instance->LTR1, ADC_LTR1_LT1); + CLEAR_BIT(hadc->Instance->HTR1, ADC_HTR1_HT1); + + /* Reset register LTR2 and HTR2*/ + CLEAR_BIT(hadc->Instance->LTR2, ADC_LTR2_LT2); + CLEAR_BIT(hadc->Instance->HTR2, ADC_HTR2_HT2); + + /* Reset register LTR3 and HTR3 */ + CLEAR_BIT(hadc->Instance->LTR3, ADC_LTR3_LT3); + CLEAR_BIT(hadc->Instance->HTR3, ADC_HTR3_HT3); + + /* Reset register SQR1 */ + CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_SQ4 | ADC_SQR1_SQ3 | ADC_SQR1_SQ2 | + ADC_SQR1_SQ1 | ADC_SQR1_L); + + /* Reset register SQR2 */ + CLEAR_BIT(hadc->Instance->SQR2, ADC_SQR2_SQ9 | ADC_SQR2_SQ8 | ADC_SQR2_SQ7 | + ADC_SQR2_SQ6 | ADC_SQR2_SQ5); + + /* Reset register SQR3 */ + CLEAR_BIT(hadc->Instance->SQR3, ADC_SQR3_SQ14 | ADC_SQR3_SQ13 | ADC_SQR3_SQ12 | + ADC_SQR3_SQ11 | ADC_SQR3_SQ10); + + /* Reset register SQR4 */ + CLEAR_BIT(hadc->Instance->SQR4, ADC_SQR4_SQ16 | ADC_SQR4_SQ15); + + /* Register JSQR was reset when the ADC was disabled */ + + /* Reset register DR */ + /* bits in access mode read only, no direct reset applicable*/ + + /* Reset register OFR1 */ + CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_SSATE | ADC_OFR1_OFFSET1_CH | ADC_OFR1_OFFSET1); + /* Reset register OFR2 */ + CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_SSATE | ADC_OFR2_OFFSET2_CH | ADC_OFR2_OFFSET2); + /* Reset register OFR3 */ + CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_SSATE | ADC_OFR3_OFFSET3_CH | ADC_OFR3_OFFSET3); + /* Reset register OFR4 */ + CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_SSATE | ADC_OFR4_OFFSET4_CH | ADC_OFR4_OFFSET4); + + /* Reset registers JDR1, JDR2, JDR3, JDR4 */ + /* bits in access mode read only, no direct reset applicable*/ + + /* Reset register AWD2CR */ + CLEAR_BIT(hadc->Instance->AWD2CR, ADC_AWD2CR_AWD2CH); + + /* Reset register AWD3CR */ + CLEAR_BIT(hadc->Instance->AWD3CR, ADC_AWD3CR_AWD3CH); + + /* Reset register DIFSEL */ + CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_DIFSEL); + + /* Reset register CALFACT */ + CLEAR_BIT(hadc->Instance->CALFACT, ADC_CALFACT_CALFACT_D | ADC_CALFACT_CALFACT_S); + + + /* ========== Reset common ADC registers ========== */ + + /* Software is allowed to change common parameters only when all the other + ADCs are disabled. */ + if ((ADC_IS_ENABLE(hadc) == RESET) && + (ADC_ANY_OTHER_ENABLED(hadc) == RESET) ) + { + /* Reset configuration of ADC common register CCR: + - clock mode: CKMODE, PRESCEN + - multimode related parameters(when this feature is available): DELAY, DUAL + (set into HAL_ADCEx_MultiModeConfigChannel() ) + - internal measurement paths: Vbat, temperature sensor, Vref (set into + HAL_ADC_ConfigChannel() or HAL_ADCEx_InjectedConfigChannel() ) + */ + if((hadc->Instance == ADC1)||(hadc->Instance == ADC2)) + { + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + } + else + { + tmpADC_Common = ADC3_COMMON_REGISTER(hadc); + } + CLEAR_BIT(tmpADC_Common->CCR, ADC_CCR_CKMODE | + ADC_CCR_PRESC | + ADC_CCR_VBATEN | + ADC_CCR_TSEN | + ADC_CCR_VREFEN | + ADC_CCR_DAMDF | + ADC_CCR_DELAY | + ADC_CCR_DUAL ); + + } + + /* DeInit the low level hardware. + + For example: + __HAL_RCC_ADC_FORCE_RESET(); + __HAL_RCC_ADC_RELEASE_RESET(); + __HAL_RCC_ADC_CLK_DISABLE(); + + Keep in mind that all ADCs use the same clock: disabling + the clock will reset all ADCs. + + */ + HAL_ADC_MspDeInit(hadc); + + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + + /* Reset injected channel configuration parameters */ + hadc->InjectionConfig.ContextQueue = 0; + hadc->InjectionConfig.ChannelCount = 0; + + /* Set ADC state */ + hadc->State = HAL_ADC_STATE_RESET; + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + + /* Return function status */ + return HAL_OK; + +} + +/** + * @brief Initialize the ADC MSP. + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADC_MspInit must be implemented in the user file. + */ +} + +/** + * @brief DeInitialize the ADC MSP. + * @param hadc: ADC handle + * @note All ADCs use the same clock: disabling the clock will reset all ADCs. + * @retval None + */ +__weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADC_MspDeInit must be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup ADC_Exported_Functions_Group2 Input and Output operation functions + * @brief ADC IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Start conversion of regular group. + (+) Stop conversion of regular group. + (+) Poll for conversion complete on regular group. + (+) Poll for conversion event. + (+) Get result of regular channel conversion. + (+) Start conversion of regular group and enable interruptions. + (+) Stop conversion of regular group and disable interruptions. + (+) Handle ADC interrupt request + (+) Start conversion of regular group and enable DMA transfer. + (+) Stop conversion of regular group and disable ADC DMA transfer. + +@endverbatim + * @{ + */ + +/** + * @brief Enable ADC, starts conversion of regular group. + * @note Interruptions enabled in this function: None. + * @note Case of multimode enabled(when multimode feature is available): + * if ADC is Slave, ADC is enabled but conversion is not started, + * if ADC is master, ADC is enabled and multimode conversion is started. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + ADC_TypeDef *tmpADC_Master; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Perform ADC enable and conversion start if no conversion is on going */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) + { + /* Process locked */ + __HAL_LOCK(hadc); + + /* Enable the ADC peripheral */ + tmp_hal_status = ADC_Enable(hadc); + + /* Start conversion if ADC is effectively enabled */ + if (tmp_hal_status == HAL_OK) + { + /* State machine update: Check if an injected conversion is ongoing */ + if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) + { + /* Reset ADC error code fields related to regular conversions only */ + CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR|HAL_ADC_ERROR_DMA)); + } + else + { + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + } + /* Clear HAL_ADC_STATE_READY and regular conversion results bits, set HAL_ADC_STATE_REG_BUSY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_READY|HAL_ADC_STATE_REG_EOC|HAL_ADC_STATE_REG_OVR|HAL_ADC_STATE_REG_EOSMP), HAL_ADC_STATE_REG_BUSY); + + /* Reset HAL_ADC_STATE_MULTIMODE_SLAVE bit + - by default if ADC is Master or Independent + - if MultiMode setting is set to independent mode (no dual regular or injected conversions are configured) */ + if (ADC12_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) + { + CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + } + + /* Clear regular group conversion flag and overrun flag */ + /* (To ensure of no unknown state from potential previous ADC operations) */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); + + /* Enable conversion of regular group. */ + /* If software start has been selected, conversion starts immediately. */ + /* If external trigger has been selected, conversion starts at next */ + /* trigger event. */ + /* Case of multimode enabled(when multimode feature is available): */ + /* - if ADC is slave and dual regular conversions are enabled, ADC is */ + /* enabled only (conversion is not started), */ + /* - if ADC is master, ADC is enabled and conversion is started. */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc)) + { + /* Multimode feature is not available or ADC Instance is Independent or Master, + or is not Slave ADC with dual regular conversions enabled. + Then, set HAL_ADC_STATE_INJ_BUSY bit and reset HAL_ADC_STATE_INJ_EOC bit if JAUTO is set. */ + if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != RESET) + { + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); + } + /* Process unlocked */ + __HAL_UNLOCK(hadc); + /* Start ADC */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADSTART); + } + else + { + SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + /* if Master ADC JAUTO bit is set, update Slave State in setting + HAL_ADC_STATE_INJ_BUSY bit and in resetting HAL_ADC_STATE_INJ_EOC bit */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + if (READ_BIT(tmpADC_Master->CFGR, ADC_CFGR_JAUTO) != RESET) + { + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); + + } /* if (READ_BIT(tmpADC_Master->CFGR, ADC_CFGR_JAUTO) != RESET) */ + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } /* if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc)) */ + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } + } + else + { + tmp_hal_status = HAL_BUSY; + } + + /* Return function status */ + return tmp_hal_status; +} + +/** + * @brief Stop ADC conversion of regular group (and injected channels in + * case of auto_injection mode), disable ADC peripheral. + * @note ADC peripheral disable is forcing stop of potential + * conversion on injected group. If injected group is under use, it + * should be preliminarily stopped using HAL_ADCEx_InjectedStop function. + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential conversion on going, on ADC groups regular and injected */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); + + /* Disable ADC peripheral if conversions are effectively stopped */ + if (tmp_hal_status == HAL_OK) + { + /* 2. Disable the ADC peripheral */ + tmp_hal_status = ADC_Disable(hadc); + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Set ADC state */ + /* Clear HAL_ADC_STATE_REG_BUSY and HAL_ADC_STATE_INJ_BUSY bits, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_REG_BUSY|HAL_ADC_STATE_INJ_BUSY), HAL_ADC_STATE_READY); + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status; +} + + + +/** + * @brief Wait for regular group conversion to be completed. + * @param hadc: ADC handle + * @param Timeout: Timeout value in millisecond. + * @note Depending on hadc->Init.EOCSelection, EOS or EOC is + * checked and cleared depending on AUTDLY bit status. + * @note HAL_ADC_PollForConversion() returns HAL_ERROR if EOC is polled in a + * DMA-managed conversions configuration: indeed, EOC is immediately + * reset by the DMA reading the DR register when the converted data is + * available. Therefore, EOC is set for a too short period to be + * reliably polled. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) +{ + uint32_t tickstart = 0; + uint32_t tmp_Flag_EOC = 0x00; + ADC_Common_TypeDef *tmpADC_Common; + ADC_TypeDef *tmpADC_Master; + uint32_t tmp_cfgr = 0x00; + uint32_t tmp_eos_raised = 0x01; /* by default, assume that EOS is set, + tmp_eos_raised will be corrected + accordingly during API execution */ + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* If end of conversion selected to end of sequence conversions */ + if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) + { + tmp_Flag_EOC = ADC_FLAG_EOS; + } + /* If end of conversion selected to end of unitary conversion */ + else /* ADC_EOC_SINGLE_CONV */ + { + /* Check that the ADC is not in a DMA-based configuration. Otherwise, + returns an error. */ + + /* Check whether dual regular conversions are disabled or unavailable. */ + if (ADC_IS_DUAL_REGULAR_CONVERSION_ENABLE(hadc) == RESET) + { + /* Check DMNGT bit in handle ADC CFGR register */ + if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMNGT_0) != RESET) + { + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + return HAL_ERROR; + } + } + else + { + /* Else need to check Common register CCR DAMDF bit field. */ + /* Set pointer to the common control register */ + + /* Pointer to the common control register */ + /* Dual ADC mode, could be only ADC1 or ADC2 */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + + if ((READ_BIT(tmpADC_Common->CCR, ADC_CCR_DAMDF) == ADC_DUALMODEDATAFORMAT_32_10_BITS) + || (READ_BIT(tmpADC_Common->CCR, ADC_CCR_DAMDF) == ADC_DUALMODEDATAFORMAT_8_BITS)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + return HAL_ERROR; + } + } + + /* no DMA transfer detected, polling ADC_FLAG_EOC is possible */ + tmp_Flag_EOC = ADC_FLAG_EOC; + } + + /* Get tick count */ + tickstart = HAL_GetTick(); + + /* Wait until End of Conversion or Sequence flag is raised */ + while (HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_EOC)) + { + /* Check if timeout is disabled (set to infinite wait) */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Update ADC state machine to timeout */ + SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_TIMEOUT; + } + } + } + + /* Next, to clear the polled flag as well as to update the handle State, + EOS is checked and the relevant configuration register is retrieved. */ + /* 1. Check whether or not EOS is set */ + if (HAL_IS_BIT_CLR(hadc->Instance->ISR, ADC_FLAG_EOS)) + { + tmp_eos_raised = 0; + } + /* 2. Check whether or not hadc is the handle of a Slave ADC with dual + regular conversions enabled. */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc)) + { + /* Retrieve handle ADC CFGR register */ + tmp_cfgr = READ_REG(hadc->Instance->CFGR); + } + else + { + /* Retrieve Master ADC CFGR register */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + tmp_cfgr = READ_REG(tmpADC_Master->CFGR); + } + + /* Clear polled flag */ + if (tmp_Flag_EOC == ADC_FLAG_EOS) + { + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOS); + } + else + { + + /* Clear end of conversion EOC flag of regular group if low power feature */ + /* "LowPowerAutoWait " is disabled, to not interfere with this feature */ + /* until data register is read using function HAL_ADC_GetValue(). */ + /* For regular groups, no new conversion will start before EOC is cleared.*/ + /* Note that 1. reading DR clears EOC. */ + /* 2. in multimode with dual regular conversions enabled (when */ + /* multimode feature is available), Master AUTDLY bit is */ + /* checked. */ + if (READ_BIT (tmp_cfgr, ADC_CFGR_AUTDLY) == RESET) + { + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC); + } + } + + + /* Update ADC state machine */ + SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); + /* If 1. EOS is set + 2. conversions are software-triggered + 3. CONT bit is reset (that of handle ADC or Master ADC if applicable) + Then regular conversions are over and HAL_ADC_STATE_REG_BUSY can be reset. + 4. additionally, if no injected conversions are on-going, HAL_ADC_STATE_READY + can be set */ + if ((tmp_eos_raised) + && (ADC_IS_SOFTWARE_START_REGULAR(hadc)) + && (READ_BIT (tmp_cfgr, ADC_CFGR_CONT) == RESET)) + { + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + /* If no injected conversion on-going, set HAL_ADC_STATE_READY bit */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_READY); + } + } + + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Poll for ADC event. + * @param hadc: ADC handle + * @param EventType: the ADC event type. + * This parameter can be one of the following values: + * @arg @ref ADC_EOSMP_EVENT ADC End of Sampling event + * @arg @ref ADC_AWD1_EVENT ADC Analog watchdog 1 event (main analog watchdog, present on all STM32 devices) + * @arg @ref ADC_AWD2_EVENT ADC Analog watchdog 2 event (additional analog watchdog, not present on all STM32 families) + * @arg @ref ADC_AWD3_EVENT ADC Analog watchdog 3 event (additional analog watchdog, not present on all STM32 families) + * @arg @ref ADC_OVR_EVENT ADC Overrun event + * @arg @ref ADC_JQOVF_EVENT ADC Injected context queue overflow event + * @param Timeout: Timeout value in millisecond. + * @note The relevant flag is cleared if found to be set, except for ADC_FLAG_OVR. + * Indeed, the latter is reset only if hadc->Init.Overrun field is set + * to ADC_OVR_DATA_OVERWRITTEN. Otherwise, DR may be potentially overwritten + * by a new converted data as soon as OVR is cleared. + * To reset OVR flag once the preserved data is retrieved, the user can resort + * to macro __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeout) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_EVENT_TYPE(EventType)); + + /* Get tick count */ + tickstart = HAL_GetTick(); + + /* Check selected event flag */ + while(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET) + { + /* Check if timeout is disabled (set to infinite wait) */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Update ADC state machine to timeout */ + SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_TIMEOUT; + } + } + } + + + switch(EventType) + { + /* End Of Sampling event */ + case ADC_EOSMP_EVENT: + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); + + /* Clear the End Of Sampling flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); + + break; + + /* Analog watchdog (level out of window) event */ + /* Note: In case of several analog watchdog enabled, if needed to know */ + /* which one triggered and on which ADCx, test ADC state of Analog Watchdog */ + /* flags HAL_ADC_STATE_AWD/2/3 function. */ + /* For example: "if (HAL_ADC_GetState(hadc1) == HAL_ADC_STATE_AWD) " */ + /* "if (HAL_ADC_GetState(hadc1) == HAL_ADC_STATE_AWD2)" */ + /* "if (HAL_ADC_GetState(hadc1) == HAL_ADC_STATE_AWD3)" */ + case ADC_AWD_EVENT: + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); + + /* Clear ADC analog watchdog flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); + + break; + + /* Check analog watchdog 2 flag */ + case ADC_AWD2_EVENT: + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); + + /* Clear ADC analog watchdog flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); + + break; + + /* Check analog watchdog 3 flag */ + case ADC_AWD3_EVENT: + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); + + /* Clear ADC analog watchdog flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); + + break; + + /* Injected context queue overflow event */ + case ADC_JQOVF_EVENT: + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); + + /* Set ADC error code to Injected context queue overflow */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); + + /* Clear ADC Injected context queue overflow flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); + + break; + + /* Overrun event */ + default: /* Case ADC_OVR_EVENT */ + /* If overrun is set to overwrite previous data, overrun event is not */ + /* considered as an error. */ + /* (cf ref manual "Managing conversions without using the DMA and without */ + /* overrun ") */ + if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) + { + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); + + /* Set ADC error code to overrun */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); + } + else + { + /* Clear ADC Overrun flag only if Overrun is set to ADC_OVR_DATA_OVERWRITTEN + otherwise, data register is potentially overwritten by new converted data as soon + as OVR is cleared. */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); + } + break; + } + + /* Return function status */ + return HAL_OK; +} + + +/** +* @brief Enable ADC, start conversion of regular group with interruption. + * @note Interruptions enabled in this function according to initialization + * setting : EOC (end of conversion), EOS (end of sequence), + * OVR overrun. + * Each of these interruptions has its dedicated callback function. + * @note Case of multimode enabled(when multimode feature is available): + * HAL_ADC_Start_IT() must be called for ADC Slave first, then for + * ADC Master. + * For ADC Slave, ADC is enabled only (conversion is not started). + * For ADC Master, ADC is enabled and multimode conversion is started. + * @note To guarantee a proper reset of all interruptions once all the needed + * conversions are obtained, HAL_ADC_Stop_IT() must be called to ensure + * a correct stop of the IT-based conversions. + * @note By default, HAL_ADC_Start_IT() doesn't enable the End Of Sampling + * interruption. If required (e.g. in case of oversampling with trigger + * mode), the user must + * 1. first clear the EOSMP flag if set with macro __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); + * 2. then enable the EOSMP interrupt with macro __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOSMP); + * before calling HAL_ADC_Start_IT(). + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + ADC_TypeDef *tmpADC_Master; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Perform ADC enable and conversion start if no conversion is on going */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) + { + /* Process locked */ + __HAL_LOCK(hadc); + + /* Enable the ADC peripheral */ + tmp_hal_status = ADC_Enable(hadc); + + /* Start conversion if ADC is effectively enabled */ + if (tmp_hal_status == HAL_OK) + { + /* State machine update: Check if an injected conversion is ongoing */ + if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) + { + /* Reset ADC error code fields related to regular conversions only */ + CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR|HAL_ADC_ERROR_DMA)); + } + else + { + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + } + /* Clear HAL_ADC_STATE_READY and regular conversion results bits, set HAL_ADC_STATE_REG_BUSY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_READY|HAL_ADC_STATE_REG_EOC|HAL_ADC_STATE_REG_OVR|HAL_ADC_STATE_REG_EOSMP), HAL_ADC_STATE_REG_BUSY); + + /* Reset HAL_ADC_STATE_MULTIMODE_SLAVE bit + - by default if ADC is Master or Independent or if multimode feature is not available + - if MultiMode setting is set to independent mode (no dual regular or injected conversions are configured) */ + if (ADC12_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) + { + CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + } + + /* Clear regular group conversion flag and overrun flag */ + /* (To ensure of no unknown state from potential previous ADC operations) */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); + + /* By default, disable all interruptions before enabling the desired ones */ + __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); + + /* Enable required interruptions */ + switch(hadc->Init.EOCSelection) + { + case ADC_EOC_SEQ_CONV: + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOS); + break; + /* case ADC_EOC_SINGLE_CONV */ + default: + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); + break; + } + + /* If hadc->Init.Overrun is set to ADC_OVR_DATA_PRESERVED, only then is + ADC_IT_OVR enabled; otherwise data overwrite is considered as normal + behavior and no CPU time is lost for a non-processed interruption */ + if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) + { + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); + } + + /* Enable conversion of regular group. */ + /* If software start has been selected, conversion starts immediately. */ + /* If external trigger has been selected, conversion starts at next */ + /* trigger event. */ + /* Case of multimode enabled (when multimode feature is available): */ + /* - if ADC is slave and dual regular conversions are enabled, ADC is */ + /* enabled only (conversion is not started), */ + /* - if ADC is master, ADC is enabled and conversion is started. */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc) ) + { + /* Multimode feature is not available or ADC Instance is Independent or Master, + or is not Slave ADC with dual regular conversions enabled. + Then set HAL_ADC_STATE_INJ_BUSY and reset HAL_ADC_STATE_INJ_EOC if JAUTO is set. */ + if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != RESET) + { + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); + + /* Enable as well injected interruptions in case + HAL_ADCEx_InjectedStart_IT() has not been called beforehand. This + allows to start regular and injected conversions when JAUTO is + set with a single call to HAL_ADC_Start_IT() */ + switch(hadc->Init.EOCSelection) + { + case ADC_EOC_SEQ_CONV: + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); + break; + /* case ADC_EOC_SINGLE_CONV */ + default: + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); + break; + } + } /* if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != RESET) */ + /* Process unlocked */ + __HAL_UNLOCK(hadc); + /* Start ADC */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADSTART); + } + else + { + /* hadc is the handle of a Slave ADC with dual regular conversions + enabled. Therefore, ADC_CR_ADSTART is NOT set */ + SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + /* if Master ADC JAUTO bit is set, Slave injected interruptions + are enabled nevertheless (for same reason as above) */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + if (READ_BIT(tmpADC_Master->CFGR, ADC_CFGR_JAUTO) != RESET) + { + /* First, update Slave State in setting HAL_ADC_STATE_INJ_BUSY bit + and in resetting HAL_ADC_STATE_INJ_EOC bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); + /* Next, set Slave injected interruptions */ + switch(hadc->Init.EOCSelection) + { + case ADC_EOC_SEQ_CONV: + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); + break; + /* case ADC_EOC_SINGLE_CONV */ + default: + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); + break; + } + } /* if (READ_BIT(tmpADC_Master->CFGR, ADC_CFGR_JAUTO) != RESET) */ + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } /* if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc) ) */ + } /* if (tmp_hal_status == HAL_OK) */ + else + { + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } + } + else + { + tmp_hal_status = HAL_BUSY; + } + /* Return function status */ + return tmp_hal_status; +} + +/** + * @brief Stop ADC conversion of regular group (and injected group in + * case of auto_injection mode), disable interrution of + * end-of-conversion, disable ADC peripheral. + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential conversion on going, on ADC groups regular and injected */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); + + /* Disable ADC peripheral if conversions are effectively stopped */ + if (tmp_hal_status == HAL_OK) + { + /* Disable ADC end of conversion interrupt for regular group */ + /* Disable ADC overrun interrupt */ + __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); + + /* 2. Disable the ADC peripheral */ + tmp_hal_status = ADC_Disable(hadc); + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Set ADC state */ + ADC_STATE_CLR_SET(hadc->State, + (HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY), + HAL_ADC_STATE_READY); + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status; +} + + +/** + * @brief Enable ADC, start conversion of regular group and transfer result through DMA. + * @note Interruptions enabled in this function: + * overrun (if applicable), DMA half transfer, DMA transfer complete. + * Each of these interruptions has its dedicated callback function. + * @note Case of multimode enabled (when multimode feature is available): HAL_ADC_Start_DMA() + * is designed for single-ADC mode only. For multimode, the dedicated + * HAL_ADCEx_MultiModeStart_DMA() function must be used. + * @param hadc: ADC handle + * @param pData: Destination Buffer address. + * @param Length: Length of data to be transferred from ADC peripheral to memory (in bytes) + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Perform ADC enable and conversion start if no conversion is on going */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) + { + /* Process locked */ + __HAL_LOCK(hadc); + + /* Ensure that dual regular conversions are not enabled or unavailable. */ + /* Otherwise, dedicated API HAL_ADCEx_MultiModeStart_DMA() must be used. */ + if (ADC_IS_DUAL_REGULAR_CONVERSION_ENABLE(hadc) == RESET) + { + /* Enable the ADC peripheral */ + tmp_hal_status = ADC_Enable(hadc); + + /* Start conversion if ADC is effectively enabled */ + if (tmp_hal_status == HAL_OK) + { + /* State machine update: Check if an injected conversion is ongoing */ + if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) + { + /* Reset ADC error code fields related to regular conversions only */ + CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); + } + else + { + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + } + /* Clear HAL_ADC_STATE_READY and regular conversion results bits, set HAL_ADC_STATE_REG_BUSY bit */ + ADC_STATE_CLR_SET(hadc->State, + (HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_ADC_STATE_REG_EOSMP), + HAL_ADC_STATE_REG_BUSY); + + /* Reset HAL_ADC_STATE_MULTIMODE_SLAVE bit + - by default if ADC is Master or Independent or if multimode feature is not available + - if multimode setting is set to independent mode (no dual regular or injected conversions are configured) */ + if (ADC12_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) + { + CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + } + + /* Set the DMA transfer complete callback */ + hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; + + /* Set the DMA half transfer complete callback */ + hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; + + /* Set the DMA error callback */ + hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; + + + /* Manage ADC and DMA start: ADC overrun interruption, DMA start, */ + /* ADC start (in case of SW start): */ + + /* Clear regular group conversion flag and overrun flag */ + /* (To ensure of no unknown state from potential previous ADC */ + /* operations) */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); + + /* With DMA, overrun event is always considered as an error even if + hadc->Init.Overrun is set to ADC_OVR_DATA_OVERWRITTEN. Therefore, + ADC_IT_OVR is enabled. */ + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); + + /* Start the DMA channel */ + HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length); + + /* Enable conversion of regular group. */ + /* Process unlocked */ + __HAL_UNLOCK(hadc); + /* If software start has been selected, conversion starts immediately. */ + /* If external trigger has been selected, conversion will start at next */ + /* trigger event. */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADSTART); + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } /* if (tmp_hal_status == HAL_OK) */ + } + else + { + tmp_hal_status = HAL_ERROR; + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } /* if (ADC_IS_DUAL_REGULAR_CONVERSION_ENABLE(hadc) == RESET) */ + + } + else + { + tmp_hal_status = HAL_BUSY; + } + + /* Return function status */ + return tmp_hal_status; +} + + +/** + * @brief Stop ADC conversion of regular group (and injected group in + * case of auto_injection mode), disable ADC DMA transfer, disable + * ADC peripheral. + * @note ADC peripheral disable is forcing stop of potential + * conversion on injected group. If injected group is under use, it + * should be preliminarily stopped using HAL_ADCEx_InjectedStop function. + * @note Case of multimode enabled (when multimode feature is available): + * HAL_ADC_Stop_DMA() function is dedicated to single-ADC mode only. + * For multimode, the dedicated HAL_ADCEx_MultiModeStop_DMA() API must be used. + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential ADC group regular conversion on going */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); + + /* Disable ADC peripheral if conversions are effectively stopped */ + if (tmp_hal_status == HAL_OK) + { + /* Disable ADC DMA (ADC DMA configuration ADC_CFGR_DMNGT is kept) */ + MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_DMNGT_0 |ADC_CFGR_DMNGT_1, 0); + + /* Disable the DMA channel (in case of DMA in circular mode or stop while */ + /* while DMA transfer is on going) */ + tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); + + /* Check if DMA channel effectively disabled */ + if (tmp_hal_status != HAL_OK) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + } + + /* Disable ADC overrun interrupt */ + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); + + /* 2. Disable the ADC peripheral */ + /* Update "tmp_hal_status" only if DMA channel disabling passed, to keep in */ + /* memory a potential failing status. */ + if (tmp_hal_status == HAL_OK) + { + tmp_hal_status = ADC_Disable(hadc); + } + else + { + ADC_Disable(hadc); + } + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Set ADC state */ + ADC_STATE_CLR_SET(hadc->State, + (HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY), + HAL_ADC_STATE_READY); + } + + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status; +} + + +/** + * @brief Get ADC regular group conversion result. + * @note Reading register DR automatically clears ADC flag EOC + * (ADC group regular end of unitary conversion). + * @note This function does not clear ADC flag EOS + * (ADC group regular end of sequence conversion). + * Occurrence of flag EOS rising: + * - If sequencer is composed of 1 rank, flag EOS is equivalent + * to flag EOC. + * - If sequencer is composed of several ranks, during the scan + * sequence flag EOC only is raised, at the end of the scan sequence + * both flags EOC and EOS are raised. + * To clear this flag, either use function: + * in programming model IT: @ref HAL_ADC_IRQHandler(), in programming + * model polling: @ref HAL_ADC_PollForConversion() + * or @ref __HAL_ADC_CLEAR_FLAG(&hadc, ADC_FLAG_EOS). + * @param hadc: ADC handle + * @retval ADC group regular conversion data + */ +uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc) +{ + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Note: EOC flag is not cleared here by software because automatically */ + /* cleared by hardware when reading register DR. */ + + /* Return ADC converted value */ + return hadc->Instance->DR; +} + + +/** + * @brief Handle ADC interrupt request. + * @param hadc: ADC handle + * @retval None + */ +void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc) +{ + uint32_t overrun_error = 0; /* flag set if overrun occurrence has to be considered as an error */ + ADC_Common_TypeDef *tmpADC_Common; + ADC_TypeDef *tmpADC_Master; + uint32_t tmp_isr = hadc->Instance->ISR; + uint32_t tmp_ier = hadc->Instance->IER; + uint32_t tmp_cfgr = 0x0; + uint32_t tmp_cfgr_jqm = 0x0; + + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); + + + /* ====== Check End of Sampling flag for regular group ===== */ + if (((tmp_isr & ADC_FLAG_EOSMP) == ADC_FLAG_EOSMP) && ((tmp_ier & ADC_IT_EOSMP) == ADC_IT_EOSMP)) + { + /* Update state machine on end of sampling status if not in error state */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) + { + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); + } + + /* End Of Sampling callback */ + HAL_ADCEx_EndOfSamplingCallback(hadc); + + /* Clear regular group conversion flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP ); + } + + /* ====== Check End of Conversion or Sequence flags for regular group ===== */ + if( (((tmp_isr & ADC_FLAG_EOC) == ADC_FLAG_EOC) && ((tmp_ier & ADC_IT_EOC) == ADC_IT_EOC)) || + (((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)) ) + { + /* Update state machine on conversion status if not in error state */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) + { + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); + } + + /* Disable interruption if no further conversion upcoming by regular */ + /* external trigger or by continuous mode, */ + /* and if scan sequence if completed. */ + if(ADC_IS_SOFTWARE_START_REGULAR(hadc)) + { + if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc)) + { + /* check CONT bit directly in handle ADC CFGR register */ + tmp_cfgr = READ_REG(hadc->Instance->CFGR); + } + else + { + /* else need to check Master ADC CONT bit */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + tmp_cfgr = READ_REG(tmpADC_Master->CFGR); + } + + /* Carry on if continuous mode is disabled */ + if (READ_BIT (tmp_cfgr, ADC_CFGR_CONT) != ADC_CFGR_CONT) + { + /* If End of Sequence is reached, disable interrupts */ + if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) ) + { + /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */ + /* ADSTART==0 (no conversion on going) */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) + { + /* Disable ADC end of sequence conversion interrupt */ + /* Note: if Overrun interrupt was enabled with EOC or EOS interrupt */ + /* in HAL_Start_IT(), it isn't disabled here because it can be used */ + /* by overrun IRQ process below. */ + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); + /* Clear HAL_ADC_STATE_REG_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + /* If no injected conversion on-going, set HAL_ADC_STATE_READY bit */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_READY); + } + } + else + { + /* Change ADC state to error state */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + } + } + } /* if (READ_BIT (tmp_cfgr, ADC_CFGR_CONT) != ADC_CFGR_CONT) */ + } /* if(ADC_IS_SOFTWARE_START_REGULAR(hadc) */ + + /* Conversion complete callback */ + /* Note: HAL_ADC_ConvCpltCallback can resort to + if( __HAL_ADC_GET_FLAG(&hadc, ADC_FLAG_EOS)) or + if( __HAL_ADC_GET_FLAG(&hadc, ADC_FLAG_EOC)) to determine whether + interruption has been triggered by end of conversion or end of + sequence. */ + HAL_ADC_ConvCpltCallback(hadc); + + + /* Clear regular group conversion flag */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS) ); + } + + + /* ========== Check End of Conversion flag for injected group ========== */ + if( (((tmp_isr & ADC_FLAG_JEOC) == ADC_FLAG_JEOC) && ((tmp_ier & ADC_IT_JEOC) == ADC_IT_JEOC)) || + (((tmp_isr & ADC_FLAG_JEOS) == ADC_FLAG_JEOS) && ((tmp_ier & ADC_IT_JEOS) == ADC_IT_JEOS)) ) + { + /* Update state machine on conversion status if not in error state */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) + { + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); + } + + + /* Check whether interruptions can be disabled only if + - injected conversions are software-triggered when injected queue management is disabled + OR + - auto-injection is enabled, continuous mode is disabled (CONT = 0) + and regular conversions are software-triggered */ + /* If End of Sequence is reached, disable interrupts */ + if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) + { + + /* First, retrieve proper registers to check */ + /* 1a. Are injected conversions that of a dual Slave ? */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEINJECTED_SLAVE(hadc)) + { + /* hadc is not the handle of a Slave ADC with dual injected conversions enabled: + check JQM bit directly in ADC CFGR register */ + tmp_cfgr_jqm = READ_REG(hadc->Instance->CFGR); + } + else + { + /* hadc is the handle of a Slave ADC with dual injected conversions enabled: + need to check JQM bit of Master ADC CFGR register */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + tmp_cfgr_jqm = READ_REG(tmpADC_Master->CFGR); + } + /* 1b. Is hadc the handle of a Slave ADC with regular conversions enabled? */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc)) + { + /* hadc is not the handle of a Slave ADC with dual regular conversions enabled: + check JAUTO and CONT bits directly in ADC CFGR register */ + tmp_cfgr = READ_REG(hadc->Instance->CFGR); + } + else + { + /* hadc is not the handle of a Slave ADC with dual regular conversions enabled: + check JAUTO and CONT bits of Master ADC CFGR register */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + tmp_cfgr = READ_REG(tmpADC_Master->CFGR); + } + + /* Secondly, check whether JEOC and JEOS interruptions can be disabled */ + if ((ADC_IS_SOFTWARE_START_INJECTED(hadc) && (READ_BIT(tmp_cfgr_jqm, ADC_CFGR_JQM) != ADC_CFGR_JQM)) + && (!((READ_BIT(tmp_cfgr, (ADC_CFGR_JAUTO|ADC_CFGR_CONT)) == (ADC_CFGR_JAUTO|ADC_CFGR_CONT)) && + (ADC_IS_SOFTWARE_START_REGULAR(hadc)))) ) + { + /* Allowed to modify bits ADC_IT_JEOC/ADC_IT_JEOS only if bit */ + /* JADSTART==0 (no conversion on going) */ + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc) == RESET) + { + /* Disable ADC end of sequence conversion interrupt */ + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC | ADC_IT_JEOS); + /* Clear HAL_ADC_STATE_INJ_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); + /* If no regular conversion on-going, set HAL_ADC_STATE_READY bit */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_READY); + } + } + else + { + /* Change ADC state to error state */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + } + } + } /* if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) */ + + /* Injected Conversion complete callback */ + /* Note: HAL_ADCEx_InjectedConvCpltCallback can resort to + if( __HAL_ADC_GET_FLAG(&hadc, ADC_FLAG_JEOS)) or + if( __HAL_ADC_GET_FLAG(&hadc, ADC_FLAG_JEOC)) to determine whether + interruption has been triggered by end of conversion or end of + sequence. */ + HAL_ADCEx_InjectedConvCpltCallback(hadc); + + /* Clear injected group conversion flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC | ADC_FLAG_JEOS); + } + + + /* ========== Check Analog watchdog flag =================================================== */ + + /* ========== Check Analog watchdog 1 flag ========== */ + if (((tmp_isr & ADC_FLAG_AWD1) == ADC_FLAG_AWD1) && ((tmp_ier & ADC_IT_AWD1) == ADC_IT_AWD1)) + { + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); + + /* Level out of window 1 callback */ + HAL_ADC_LevelOutOfWindowCallback(hadc); + /* Clear ADC Analog watchdog flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); + } + + /* ========== Check Analog watchdog 2 flag ========== */ + if (((tmp_isr & ADC_FLAG_AWD2) == ADC_FLAG_AWD2) && ((tmp_ier & ADC_IT_AWD2) == ADC_IT_AWD2)) + { + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); + + /* Level out of window 2 callback */ + HAL_ADCEx_LevelOutOfWindow2Callback(hadc); + /* Clear ADC Analog watchdog flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); + } + + /* ========== Check Analog watchdog 3 flag ========== */ + if (((tmp_isr & ADC_FLAG_AWD3) == ADC_FLAG_AWD3) && ((tmp_ier & ADC_IT_AWD3) == ADC_IT_AWD3)) + { + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); + + /* Level out of window 3 callback */ + HAL_ADCEx_LevelOutOfWindow3Callback(hadc); + /* Clear ADC Analog watchdog flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); + } + + + /* ========== Check Overrun flag ========== */ + if (((tmp_isr & ADC_FLAG_OVR) == ADC_FLAG_OVR) && ((tmp_ier & ADC_IT_OVR) == ADC_IT_OVR)) + { + /* If overrun is set to overwrite previous data (default setting), */ + /* overrun event is not considered as an error. */ + /* (cf ref manual "Managing conversions without using the DMA and without */ + /* overrun ") */ + /* Exception for usage with DMA overrun event always considered as an */ + /* error. */ + + if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) + { + overrun_error = 1; + } + else + { + /* Pointer to the common control register */ + if((hadc->Instance == ADC1) || (hadc->Instance == ADC2)) + { + /* Pointer to the common control register */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + } + else + { + /* Pointer to the common control register */ + tmpADC_Common = ADC3_COMMON_REGISTER(hadc); + } + /* check DMA configuration, depending on MultiMode set or not */ + if (READ_BIT(tmpADC_Common->CCR, ADC_CCR_DUAL) == ADC_MODE_INDEPENDENT) + { + if (HAL_IS_BIT_SET(hadc->Instance->CFGR, ADC_CFGR_DMNGT_0)) + { + overrun_error = 1; + } + } + else + { + /* MultiMode is enabled, Common Control Register DAMDF bits must be checked */ + if (READ_BIT(tmpADC_Common->CCR, ADC_CCR_DAMDF) != RESET) + { + overrun_error = 1; + } + } + } + + if (overrun_error == 1) + { + /* Change ADC state to error state */ + SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); + + /* Set ADC error code to overrun */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); + + /* Error callback */ + HAL_ADC_ErrorCallback(hadc); + } + + /* Clear the Overrun flag, to be done AFTER HAL_ADC_ErrorCallback() since + old data is preserved until OVR is reset */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); + + } + + /* ========== Check Injected context queue overflow flag ========== */ + if (((tmp_isr & ADC_FLAG_JQOVF) == ADC_FLAG_JQOVF) && ((tmp_ier & ADC_IT_JQOVF) == ADC_IT_JQOVF)) + { + /* Change ADC state to overrun state */ + SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); + + /* Set ADC error code to Injected context queue overflow */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); + + /* Clear the Injected context queue overflow flag */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); + + /* Error callback */ + HAL_ADCEx_InjectedQueueOverflowCallback(hadc); + } + +} + +/** + * @brief Conversion complete callback in non-blocking mode + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADC_ConvCpltCallback must be implemented in the user file. + */ +} + +/** + * @brief Conversion DMA half-transfer callback in non-blocking mode + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADC_ConvHalfCpltCallback must be implemented in the user file. + */ +} + +/** + * @brief Analog watchdog 1 callback in non-blocking mode. + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADC_LevelOutOfWindowCallback must be implemented in the user file. + */ +} + +/** + * @brief ADC error callback in non-blocking mode + * (ADC conversion with interruption or transfer by DMA). + * @note In case of error due to overrun when using ADC with DMA transfer + * (HAL ADC handle paramater "ErrorCode" to state "HAL_ADC_ERROR_OVR"): + * - Reinitialize the DMA using function "HAL_ADC_Stop_DMA()". + * - If needed, restart a new ADC conversion using function + * "HAL_ADC_Start_DMA()" + * (this function is also clearing overrun flag) + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADC_ErrorCallback must be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure channels on regular group + (+) Configure the analog watchdog + +@endverbatim + * @{ + */ + + +/** + * @brief Configure a channel to be assigned to ADC group regular. + * @note In case of usage of internal measurement channels: + * Vbat/VrefInt/TempSensor. + * These internal paths can be disabled using function + * HAL_ADC_DeInit(). + * @note Possibility to update parameters on the fly: + * This function initializes channel into ADC group regular, + * following calls to this function can be used to reconfigure + * some parameters of structure "ADC_ChannelConfTypeDef" on the fly, + * without resetting the ADC. + * The setting of these parameters is conditioned to ADC state: + * Refer to comments of structure "ADC_ChannelConfTypeDef". + * @param hadc: ADC handle + * @param sConfig: Structure of ADC channel assigned to ADC group regular. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + ADC_Common_TypeDef *tmpADC_Common; + uint32_t tmpOffsetShifted; + __IO uint32_t wait_loop_index = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_REGULAR_RANK(sConfig->Rank)); + assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime)); + assert_param(IS_ADC_SINGLE_DIFFERENTIAL(sConfig->SingleDiff)); + assert_param(IS_ADC_OFFSET_NUMBER(sConfig->OffsetNumber)); + + /* Check offset range according to oversampling setting */ + if (hadc->Init.OversamplingMode == ENABLE) + { + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), sConfig->Offset/(hadc->Init.Oversampling.Ratio+1U))); + } + else + { + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), sConfig->Offset)); + } + + /* Verification of channel number */ + if (sConfig->SingleDiff != ADC_DIFFERENTIAL_ENDED) + { + assert_param(IS_ADC_CHANNEL(sConfig->Channel)); + } + else + { + if (hadc->Instance == ADC3) + { + assert_param(IS_ADC3_DIFF_CHANNEL(sConfig->Channel)); + } + else if (hadc->Instance == ADC1) + { + assert_param(IS_ADC1_DIFF_CHANNEL(sConfig->Channel)); + } + else + { + assert_param(IS_ADC2_DIFF_CHANNEL(sConfig->Channel)); + } + } + + /* Process locked */ + __HAL_LOCK(hadc); + + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated when ADC is disabled or enabled without */ + /* conversion on going on regular group: */ + /* - Channel number */ + /* - Channel rank */ + /* - Preselection of ADC inputs */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) + { + /* ADC channels preselction */ + hadc->Instance->PCSEL |= (1U << sConfig->Channel); + + /* Regular sequence configuration */ + /* Clear the old SQx bits then set the new ones for the selected rank */ + /* For Rank 1 to 4 */ + if (sConfig->Rank < 5) + { + MODIFY_REG(hadc->Instance->SQR1, + ADC_SQR1_RK(ADC_SQR2_SQ5, sConfig->Rank), + ADC_SQR1_RK(sConfig->Channel, sConfig->Rank)); + } + /* For Rank 5 to 9 */ + else if (sConfig->Rank < 10) + { + MODIFY_REG(hadc->Instance->SQR2, + ADC_SQR2_RK(ADC_SQR2_SQ5, sConfig->Rank), + ADC_SQR2_RK(sConfig->Channel, sConfig->Rank)); + } + /* For Rank 10 to 14 */ + else if (sConfig->Rank < 15) + { + MODIFY_REG(hadc->Instance->SQR3, + ADC_SQR3_RK(ADC_SQR3_SQ10, sConfig->Rank), + ADC_SQR3_RK(sConfig->Channel, sConfig->Rank)); + } + /* For Rank 15 to 16 */ + else + { + MODIFY_REG(hadc->Instance->SQR4, + ADC_SQR4_RK(ADC_SQR4_SQ15, sConfig->Rank), + ADC_SQR4_RK(sConfig->Channel, sConfig->Rank)); + } + + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated when ADC is disabled or enabled without */ + /* conversion on going on regular group: */ + /* - Channel sampling time */ + /* - Channel offset */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) + { + + /* Channel sampling time configuration */ + /* Clear the old sample time then set the new one for the selected channel */ + /* For channels 10 to 18 */ + if (sConfig->Channel >= ADC_CHANNEL_10) + { + MODIFY_REG(hadc->Instance->SMPR2, + ADC_SMPR2(ADC_SMPR2_SMP10, sConfig->Channel), + ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel)); + } + else /* For channels 0 to 9 */ + { + MODIFY_REG(hadc->Instance->SMPR1, + ADC_SMPR1(ADC_SMPR1_SMP0, sConfig->Channel), + ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel)); + } + + + /* Configure the offset: offset enable/disable, channel, offset value, Signed saturation feature */ + + /* Shift the offset in function of the selected ADC resolution. */ + /* Offset has to be left-aligned on bit 15, the LSB (right bits) are set to 0 */ + tmpOffsetShifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, sConfig->Offset); + + switch (sConfig->OffsetNumber) + { + /* Configure offset register i when applicable: */ + /* - Enable offset */ + /* - Set channel number */ + /* - Set offset value */ + /* - Set Right shift after offset application */ + case ADC_OFFSET_1: + MODIFY_REG(hadc->Instance->OFR1, + ADC_OFR_FIELDS, + ADC_OFR_CHANNEL(sConfig->Channel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT1, sConfig->OffsetRightShift); + /* Enable or disable the signed saturation bit */ + if(sConfig->OffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR1, ADC_OFR1_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_SSATE); + } + break; + + case ADC_OFFSET_2: + MODIFY_REG(hadc->Instance->OFR2, + ADC_OFR_FIELDS, + ADC_OFR_CHANNEL(sConfig->Channel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT2, (sConfig->OffsetRightShift)<<1); + /* Enable or disable the signed saturation bit */ + if(sConfig->OffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR2, ADC_OFR2_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_SSATE); + } + break; + + case ADC_OFFSET_3: + MODIFY_REG(hadc->Instance->OFR3, + ADC_OFR_FIELDS, + ADC_OFR_CHANNEL(sConfig->Channel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT3, (sConfig->OffsetRightShift)<<2); + /* Enable or disable the signed saturation bit */ + if(sConfig->OffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR3, ADC_OFR3_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_SSATE); + } + break; + + case ADC_OFFSET_4: + MODIFY_REG(hadc->Instance->OFR4, + ADC_OFR_FIELDS, + ADC_OFR_CHANNEL(sConfig->Channel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT4, (sConfig->OffsetRightShift)<<3); + /* Enable or disable the signed saturation bit */ + if(sConfig->OffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR4, ADC_OFR4_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_SSATE); + } + break; + + /* Case ADC_OFFSET_NONE */ + default : + /* Scan OFR1, OFR2, OFR3, OFR4 to check if the selected channel is enabled. + If this is the case, offset OFRx is disabled since + sConfig->OffsetNumber = ADC_OFFSET_NONE. */ + if (((hadc->Instance->OFR1) & ADC_OFR1_OFFSET1_CH) == ADC_OFR_CHANNEL(sConfig->Channel)) + { + CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_SSATE); + } + if (((hadc->Instance->OFR2) & ADC_OFR2_OFFSET2_CH) == ADC_OFR_CHANNEL(sConfig->Channel)) + { + CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_SSATE); + } + if (((hadc->Instance->OFR3) & ADC_OFR3_OFFSET3_CH) == ADC_OFR_CHANNEL(sConfig->Channel)) + { + CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_SSATE); + } + if (((hadc->Instance->OFR4) & ADC_OFR4_OFFSET4_CH) == ADC_OFR_CHANNEL(sConfig->Channel)) + { + CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_SSATE); + } + break; + } /* switch (sConfig->OffsetNumber) */ + + } /* if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) */ + + + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated only when ADC is disabled: */ + /* - Single or differential mode */ + /* - Internal measurement channels: Vbat/VrefInt/TempSensor */ + if (ADC_IS_ENABLE(hadc) == RESET) + { + /* Configuration of differential mode */ + if (sConfig->SingleDiff != ADC_DIFFERENTIAL_ENDED) + { + /* Disable differential mode (default mode: single-ended) */ + CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_CHANNEL(sConfig->Channel)); + } + else + { + /* Enable differential mode */ + SET_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_CHANNEL(sConfig->Channel)); + + /* Sampling time configuration of channel ADC_IN+1 (negative input) */ + /* Clear the old sample time then set the new one for the selected */ + /* channel. */ + /* For channels 9 to 15 (ADC1, ADC2) or to 11 (ADC3), SMPR2 register + must be configured */ + if (sConfig->Channel >= ADC_CHANNEL_9) + { + MODIFY_REG(hadc->Instance->SMPR2, + ADC_SMPR2(ADC_SMPR2_SMP10, sConfig->Channel +1), + ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel +1)); + } + else /* For channels 0 to 8, SMPR1 must be configured */ + { + MODIFY_REG(hadc->Instance->SMPR1, + ADC_SMPR1(ADC_SMPR1_SMP0, sConfig->Channel +1), + ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel +1)); + } + } + /* Management of internal measurement channels: Vbat/VrefInt/TempSensor. */ + /* If internal channel selected, enable dedicated internal buffers and */ + /* paths. */ + /* Note: these internal measurement paths can be disabled using */ + /* HAL_ADC_DeInit(). */ + + /* Configuration of common ADC parameters */ + if((hadc->Instance == ADC1) || (hadc->Instance == ADC2)) + { + /* Pointer to the common control register */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + } + else + { + /* Pointer to the common control register */ + tmpADC_Common = ADC3_COMMON_REGISTER(hadc); + } + + /* If the requested internal measurement path has already been enabled, */ + /* bypass the configuration processing. */ + if (( (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) && + (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_TSEN)) ) || + ( (sConfig->Channel == ADC_CHANNEL_VBAT_DIV4) && + (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_VBATEN)) ) || + ( (sConfig->Channel == ADC_CHANNEL_VREFINT) && + (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_VREFEN))) + ) + { + /* Configuration of common ADC parameters (continuation) */ + + /* Software is allowed to change common parameters only when all ADCs */ + /* of the common group are disabled. */ + if ((ADC_IS_ENABLE(hadc) == RESET) && + (ADC_ANY_OTHER_ENABLED(hadc) == RESET) ) + { + /* Enable Temperature sensor measurement path (channel 18) */ + /* Note: Temp. sensor internal channels available on ADC3 */ + if ((sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) && ((hadc->Instance == ADC3))) + { + SET_BIT(tmpADC_Common->CCR, ADC_CCR_TSEN); + + /* Wait loop initialization and execution */ + /* Note: Variable divided by 2 to compensate partially */ + /* CPU processing cycles. */ + wait_loop_index = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / (1000000 * 2))); + while(wait_loop_index != 0) + { + wait_loop_index--; + } + } + /* If Channel 18 is selected, enable VBAT measurement path. */ + /* Note: VBAT internal internal channels available on ADC1 and ADC3 */ + else if ((sConfig->Channel == ADC_CHANNEL_VBAT_DIV4) && ((hadc->Instance == ADC3))) + { + SET_BIT(tmpADC_Common->CCR, ADC_CCR_VBATEN); + } + /* If Channel 19 is selected, enable VREFINT measurement path */ + /* Note: VBAT internal internal channels available on ADC1 only */ + else if ((sConfig->Channel == ADC_CHANNEL_VREFINT) && (hadc->Instance == ADC3)) + { + SET_BIT(tmpADC_Common->CCR, ADC_CCR_VREFEN); + } + } + /* If the requested internal measurement path has already been */ + /* enabled and other ADC of the common group are enabled, internal */ + /* measurement paths cannot be enabled. */ + else + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + tmp_hal_status = HAL_ERROR; + } + } + + } /* if (ADC_IS_ENABLE(hadc) == RESET) */ + + } /* if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) */ + + /* If a conversion is on going on regular group, no update on regular */ + /* channel could be done on neither of the channel configuration structure */ + /* parameters. */ + else + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + tmp_hal_status = HAL_ERROR; + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status; +} + + +/** + * @brief Configure the analog watchdog. + * @note Possibility to update parameters on the fly: + * This function initializes the selected analog watchdog, successive + * calls to this function can be used to reconfigure some parameters + * of structure "ADC_AnalogWDGConfTypeDef" on the fly, without resetting + * the ADC. + * The setting of these parameters is conditioned to ADC state. + * For parameters constraints, see comments of structure + * "ADC_AnalogWDGConfTypeDef". + * @note Analog watchdog thresholds can be modified while ADC conversion + * is on going. + * In this case, some constraints must be taken into account: + * the programmed threshold values are effective from the next + * ADC EOC (end of unitary conversion). + * Considering that registers write delay may happen due to + * bus activity, this might cause an uncertainty on the + * effective timing of the new programmed threshold values. + * @param hadc: ADC handle + * @param AnalogWDGConfig: Structure of ADC analog watchdog configuration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* AnalogWDGConfig) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + uint32_t tmpAWDHighThresholdShifted; + uint32_t tmpAWDLowThresholdShifted; + + uint32_t tmpADCFlagAWD2orAWD3; + uint32_t tmpADCITAWD2orAWD3; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_ANALOG_WATCHDOG_NUMBER(AnalogWDGConfig->WatchdogNumber)); + assert_param(IS_ADC_ANALOG_WATCHDOG_MODE(AnalogWDGConfig->WatchdogMode)); + assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode)); + + if((AnalogWDGConfig->WatchdogMode == ADC_ANALOGWATCHDOG_SINGLE_REG) || + (AnalogWDGConfig->WatchdogMode == ADC_ANALOGWATCHDOG_SINGLE_INJEC) || + (AnalogWDGConfig->WatchdogMode == ADC_ANALOGWATCHDOG_SINGLE_REGINJEC) ) + { + assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel)); + } + + + /* Verify if threshold is within the selected ADC resolution */ + /* Check threshold range according to oversampling setting */ + if (hadc->Init.OversamplingMode == ENABLE) + { + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold/(hadc->Init.Oversampling.Ratio+1U))); + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold/(hadc->Init.Oversampling.Ratio+1U))); + } + else + { + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold)); + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold)); + } + + /* Process locked */ + __HAL_LOCK(hadc); + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated when ADC is disabled or enabled without */ + /* conversion on going on regular and injected groups: */ + /* - Analog watchdog channels */ + /* - Analog watchdog thresholds */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) + { + + /* Analog watchdogs configuration */ + if(AnalogWDGConfig->WatchdogNumber == ADC_ANALOGWATCHDOG_1) + { + /* Configuration of analog watchdog: */ + /* - Set the analog watchdog enable mode: regular and/or injected */ + /* groups, one or overall group of channels. */ + /* - Set the Analog watchdog channel (is not used if watchdog */ + /* mode "all channels": ADC_CFGR_AWD1SGL=0). */ + + MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_WD_FIELDS, + AnalogWDGConfig->WatchdogMode | ADC_CFGR_SET_AWD1CH(AnalogWDGConfig->Channel) ); + + /* Shift the offset with respect to the selected ADC resolution: */ + /* Thresholds have to be left-aligned on bit 15, the LSB (right bits) */ + /* are set to 0 */ + tmpAWDHighThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThreshold); + tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThreshold); + + /* Set the high and low thresholds */ + MODIFY_REG(hadc->Instance->LTR1, ADC_LTR2_LT2 , tmpAWDLowThresholdShifted); + MODIFY_REG(hadc->Instance->HTR1, ADC_HTR2_HT2 , tmpAWDHighThresholdShifted); + + /* Clear the ADC Analog watchdog flag (in case left enabled by */ + /* previous ADC operations) to be ready to use for HAL_ADC_IRQHandler() */ + /* or HAL_ADC_PollForEvent(). */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_IT_AWD1); + + /* Configure ADC Analog watchdog interrupt */ + if(AnalogWDGConfig->ITMode == ENABLE) + { + /* Enable the ADC Analog watchdog interrupt */ + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD1); + } + else + { + /* Disable the ADC Analog watchdog interrupt */ + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD1); + } + + /* Update state, clear previous result related to AWD1 */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); + } + /* Case of ADC_ANALOGWATCHDOG_2 and ADC_ANALOGWATCHDOG_3 */ + else + { + /* Shift the threshold with respect to the selected ADC resolution */ + /* have to be left-aligned on bit 15, the LSB (right bits) are set to 0 */ + tmpAWDHighThresholdShifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThreshold); + tmpAWDLowThresholdShifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThreshold); + + if (AnalogWDGConfig->WatchdogNumber == ADC_ANALOGWATCHDOG_2) + { + /* Set the Analog watchdog channel or group of channels. This also */ + /* enables the watchdog. */ + /* Note: Conditional register reset, because several channels can be */ + /* set by successive calls of this function. */ + if (AnalogWDGConfig->WatchdogMode != ADC_ANALOGWATCHDOG_NONE) + { + SET_BIT(hadc->Instance->AWD2CR, ADC_CFGR_SET_AWD23CR(AnalogWDGConfig->Channel)); + } + else + { + CLEAR_BIT(hadc->Instance->AWD2CR, ADC_AWD2CR_AWD2CH); + } + + /* Set the high and low thresholds */ + MODIFY_REG(hadc->Instance->HTR2, ADC_HTR2_HT2, tmpAWDHighThresholdShifted); + MODIFY_REG(hadc->Instance->LTR2, ADC_LTR2_LT2, tmpAWDLowThresholdShifted); + + + /* Set temporary variable to flag and IT of AWD2 or AWD3 for further */ + /* settings. */ + tmpADCFlagAWD2orAWD3 = ADC_FLAG_AWD2; + tmpADCITAWD2orAWD3 = ADC_IT_AWD2; + + /* Update state, clear previous result related to AWD2 */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); + } + /* (AnalogWDGConfig->WatchdogNumber == ADC_ANALOGWATCHDOG_3) */ + else + { + /* Set the Analog watchdog channel or group of channels. This also */ + /* enables the watchdog. */ + /* Note: Conditional register reset, because several channels can be */ + /* set by successive calls of this function. */ + if (AnalogWDGConfig->WatchdogMode != ADC_ANALOGWATCHDOG_NONE) + { + SET_BIT(hadc->Instance->AWD3CR, ADC_CFGR_SET_AWD23CR(AnalogWDGConfig->Channel)); + } + else + { + CLEAR_BIT(hadc->Instance->AWD3CR, ADC_AWD3CR_AWD3CH); + } + + /* Set the high and low thresholds */ + MODIFY_REG(hadc->Instance->HTR3, ADC_HTR3_HT3, tmpAWDHighThresholdShifted); + MODIFY_REG(hadc->Instance->LTR3, ADC_LTR3_LT3, tmpAWDLowThresholdShifted); + /* Set temporary variable to flag and IT of AWD2 or AWD3 for further */ + /* settings. */ + tmpADCFlagAWD2orAWD3 = ADC_FLAG_AWD3; + tmpADCITAWD2orAWD3 = ADC_IT_AWD3; + + /* Update state, clear previous result related to AWD3 */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); + } + + /* Clear the ADC Analog watchdog flag (in case left enabled by */ + /* previous ADC operations) to be ready to use for HAL_ADC_IRQHandler() */ + /* or HAL_ADC_PollForEvent(). */ + __HAL_ADC_CLEAR_FLAG(hadc, tmpADCFlagAWD2orAWD3); + + /* Configure ADC Analog watchdog interrupt */ + if(AnalogWDGConfig->ITMode == ENABLE) + { + __HAL_ADC_ENABLE_IT(hadc, tmpADCITAWD2orAWD3); + } + else + { + __HAL_ADC_DISABLE_IT(hadc, tmpADCITAWD2orAWD3); + } + } + + } + /* If a conversion is on going on regular or injected groups, no update */ + /* could be done on neither of the AWD configuration structure parameters. */ + else + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + tmp_hal_status = HAL_ERROR; + } + + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + + /* Return function status */ + return tmp_hal_status; +} + + +/** + * @} + */ + +/** @defgroup ADC_Exported_Functions_Group4 Peripheral State functions + * @brief ADC Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral state and errors functions ##### + =============================================================================== + [..] This subsection provides functions to get in run-time the status of the + peripheral. + (+) Check the ADC state + (+) Check the ADC error code + +@endverbatim + * @{ + */ + +/** + * @brief Return the ADC handle state. + * @note ADC state machine is managed by bitfields, ADC status must be + * compared with states bits. + * For example: + * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_REG_BUSY)) " + * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_AWD1) ) " + * @param hadc: ADC handle + * @retval ADC handle state (bitfield on 32 bits) + */ +uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc) +{ + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Return ADC Handle state */ + return hadc->State; +} + + +/** + * @brief Return the ADC error code. + * @param hadc: ADC handle + * @retval ADC error code (bitfield on 32 bits) + */ +uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc) +{ + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + return hadc->ErrorCode; +} +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup ADC_Private_Functions ADC Private Functions + * @{ + */ + +/** + * @brief Stop ADC conversion. + * @param hadc: ADC handle + * @param ConversionGroup: ADC group regular and/or injected. + * This parameter can be one of the following values: + * @arg ADC_REGULAR_GROUP ADC regular conversion type. + * @arg ADC_INJECTED_GROUP ADC injected conversion type. + * @arg ADC_REGULAR_INJECTED_GROUP ADC regular and injected conversion type. + * @retval HAL status. + */ +HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc, uint32_t ConversionGroup) +{ + uint32_t tmp_ADC_CR_ADSTART_JADSTART = 0; + uint32_t tickstart = 0; + uint32_t Conversion_Timeout_CPU_cycles = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_CONVERSION_GROUP(ConversionGroup)); + + /* Verification if ADC is not already stopped (on regular and injected */ + /* groups) to bypass this function if not needed. */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc)) + { + /* Particular case of continuous auto-injection mode combined with */ + /* auto-delay mode. */ + /* In auto-injection mode, regular group stop ADC_CR_ADSTP is used (not */ + /* injected group stop ADC_CR_JADSTP). */ + /* Procedure to be followed: Wait until JEOS=1, clear JEOS, set ADSTP=1 */ + /* (see reference manual). */ + if ((HAL_IS_BIT_SET(hadc->Instance->CFGR, ADC_CFGR_JAUTO)) + && (hadc->Init.ContinuousConvMode==ENABLE) + && (hadc->Init.LowPowerAutoWait==ENABLE)) + { + /* Use stop of regular group */ + ConversionGroup = ADC_REGULAR_GROUP; + + /* Wait until JEOS=1 (maximum Timeout: 4 injected conversions) */ + while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == RESET) + { + if (Conversion_Timeout_CPU_cycles >= (ADC_CONVERSION_TIME_MAX_CPU_CYCLES *4)) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + return HAL_ERROR; + } + Conversion_Timeout_CPU_cycles ++; + } + + /* Clear JEOS */ + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS); + } + + /* Stop potential conversion on going on regular group */ + if (ConversionGroup != ADC_INJECTED_GROUP) + { + /* Software is allowed to set ADSTP only when ADSTART=1 and ADDIS=0 */ + if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADSTART) && + HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) ) + { + /* Stop conversions on regular group */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADSTP); + } + } + + /* Stop potential conversion on going on injected group */ + if (ConversionGroup != ADC_REGULAR_GROUP) + { + /* Software is allowed to set JADSTP only when JADSTART=1 and ADDIS=0 */ + if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_JADSTART) && + HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) ) + { + /* Stop conversions on injected group */ + SET_BIT(hadc->Instance->CR, ADC_CR_JADSTP); + } + } + + /* Selection of start and stop bits with respect to the regular or injected group */ + switch(ConversionGroup) + { + case ADC_REGULAR_INJECTED_GROUP: + tmp_ADC_CR_ADSTART_JADSTART = (ADC_CR_ADSTART | ADC_CR_JADSTART); + break; + case ADC_INJECTED_GROUP: + tmp_ADC_CR_ADSTART_JADSTART = ADC_CR_JADSTART; + break; + /* Case ADC_REGULAR_GROUP only*/ + default: + tmp_ADC_CR_ADSTART_JADSTART = ADC_CR_ADSTART; + break; + } + + /* Wait for conversion effectively stopped */ + + + tickstart = HAL_GetTick(); + + while((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != RESET) + { + if((HAL_GetTick()-tickstart) > ADC_STOP_CONVERSION_TIMEOUT) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + return HAL_ERROR; + } + } + + } /* if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc)) */ + + /* Return HAL status */ + return HAL_OK; +} + + + +/** + * @brief Enable the selected ADC. + * @note Prerequisite condition to use this function: ADC must be disabled + * and voltage regulator must be enabled (done into HAL_ADC_Init()). + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc) +{ + uint32_t tickstart = 0; + + /* ADC enable and wait for ADC ready (in case of ADC is disabled or */ + /* enabling phase not yet completed: flag ADC ready not yet set). */ + /* Timeout implemented to not be stuck if ADC cannot be enabled (possible */ + /* causes: ADC clock not running, ...). */ + if (ADC_IS_ENABLE(hadc) == RESET) + { + /* Check if conditions to enable the ADC are fulfilled */ + if (ADC_ENABLING_CONDITIONS(hadc) == RESET) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + return HAL_ERROR; + } + + /* Enable the ADC peripheral */ + ADC_ENABLE(hadc); + + + /* Wait for ADC effectively enabled */ + tickstart = HAL_GetTick(); + + while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET) + { + /* If ADEN bit is set less than 4 ADC clock cycles after the ADCAL bit + has been cleared (after a calibration), ADEN bit is reset by the + calibration logic. + The workaround is to continue setting ADEN until ADRDY is becomes 1. + Additionally, ADC_ENABLE_TIMEOUT is defined to encompass this + 4 ADC clock cycle duration */ + ADC_ENABLE(hadc); + + if((HAL_GetTick()-tickstart) > ADC_ENABLE_TIMEOUT) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + return HAL_ERROR; + } + } + } + + /* Return HAL status */ + return HAL_OK; +} + +/** + * @brief Disable the selected ADC. + * @note Prerequisite condition to use this function: ADC conversions must be + * stopped. + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc) +{ + uint32_t tickstart = 0; + + /* Verification if ADC is not already disabled: */ + /* Note: forbidden to disable ADC (set bit ADC_CR_ADDIS) if ADC is already */ + /* disabled. */ + if (ADC_IS_ENABLE(hadc) != RESET ) + { + /* Check if conditions to disable the ADC are fulfilled */ + if (ADC_DISABLING_CONDITIONS(hadc) != RESET) + { + /* Disable the ADC peripheral */ + ADC_DISABLE(hadc); + } + else + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + return HAL_ERROR; + } + + /* Wait for ADC effectively disabled */ + /* Get tick count */ + tickstart = HAL_GetTick(); + + while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADEN)) + { + if((HAL_GetTick()-tickstart) > ADC_DISABLE_TIMEOUT) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + return HAL_ERROR; + } + } + } + + /* Return HAL status */ + return HAL_OK; +} + + +/** + * @brief DMA transfer complete callback. + * @param hdma: pointer to DMA handle. + * @retval None + */ +void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma) +{ + /* Retrieve ADC handle corresponding to current DMA handle */ + ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Update state machine on conversion status if not in error state */ + if (HAL_IS_BIT_CLR(hadc->State, (HAL_ADC_STATE_ERROR_INTERNAL|HAL_ADC_STATE_ERROR_DMA))) + { + /* Update ADC state machine */ + SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); + /* Is it the end of the regular sequence ? */ + if (HAL_IS_BIT_SET(hadc->Instance->ISR, ADC_FLAG_EOS)) + { + /* Are conversions software-triggered ? */ + if(ADC_IS_SOFTWARE_START_REGULAR(hadc)) + { + /* Is CONT bit set ? */ + if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_CONT) == RESET) + { + /* CONT bit is not set, no more conversions expected */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_READY); + } + } + } + } + else + { + /* DMA End of Transfer interrupt was triggered but conversions sequence + is not over. If DMACFG is set to 0, conversions are stopped. */ + if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMNGT) == RESET) + { + /* DMACFG bit is not set, conversions are stopped. */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_READY); + } + } + } + + /* Conversion complete callback */ + HAL_ADC_ConvCpltCallback(hadc); + } + else /* DMA or internal error occured (or both) */ + { + /* In case of internal error, */ + if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) + { + /* call Error Callback function */ + HAL_ADC_ErrorCallback(hadc); + } + + } + + +} + +/** + * @brief DMA half transfer complete callback. + * @param hdma: pointer to DMA handle. + * @retval None + */ +void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma) +{ + /* Retrieve ADC handle corresponding to current DMA handle */ + ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Half conversion callback */ + HAL_ADC_ConvHalfCpltCallback(hadc); +} + +/** + * @brief DMA error callback + * @param hdma: pointer to DMA handle. + * @retval None + */ +void ADC_DMAError(DMA_HandleTypeDef *hdma) +{ + /* Retrieve ADC handle corresponding to current DMA handle */ + ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Set ADC state */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); + + /* Set ADC error code to DMA error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); + + /* Error callback */ + HAL_ADC_ErrorCallback(hadc); +} + +/** + * @} + */ + +#endif /* HAL_ADC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c new file mode 100644 index 0000000000..c2a67efdf3 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c @@ -0,0 +1,2537 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_adc_ex.c + * @author MCD Application Team + * @brief This file provides firmware functions to manage the following + * functionalities of the Analog to Digital Convertor (ADC) + * peripheral: + * + Operation functions + * ++ Start, stop, get result of conversions of injected + * group, using 2 possible modes: polling, interruption. + * ++ Calibration + * +++ ADC automatic self-calibration + * +++ Calibration factors get or set + * ++ Multimode feature when available + * + Control functions + * ++ Channels configuration on injected group + * + State functions + * ++ Injected group queues management + * Other functions (generic functions) are available in file + * "stm32h7xx_hal_adc.c". + * + @verbatim + ============================================================================== + ##### ADC specific features ##### + ============================================================================== + [..] + (@) Sections "ADC peripheral features" and "How to use this driver" are + available in file of generic functions "stm32h7xx_hal_adc.c". + [..] + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup ADCEx ADCEx + * @brief ADC Extended HAL module driver + * @{ + */ + +#ifdef HAL_ADC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +/** @defgroup ADCEx_Private_Constants ADC Extended Private Constants + * @{ + */ +#define ADC_JSQR_FIELDS ((uint32_t)(ADC_JSQR_JL | ADC_JSQR_JEXTSEL | ADC_JSQR_JEXTEN |\ + ADC_JSQR_JSQ1 | ADC_JSQR_JSQ2 |\ + ADC_JSQR_JSQ3 | ADC_JSQR_JSQ4 )) /*!< ADC_JSQR fields of parameters that can be updated anytime + once the ADC is enabled */ + +#define ADC_CFGR2_INJ_FIELDS ((uint32_t)(ADC_CFGR2_JOVSE | ADC_CFGR2_OSR |\ + ADC_CFGR2_OVSS )) /*!< ADC_CFGR2 injected oversampling parameters that can be updated + when no conversion is on-going (neither regular nor injected) */ + +/* Fixed timeout value for ADC calibration. */ +/* Values defined to be higher than worst cases: low clock frequency, */ +/* maximum prescalers. */ +/* Ex of profile low frequency : f_ADC at 0.35 MHz (minimum value */ +/* according to Data sheet), calibration_time MAX = 112 / f_ADC */ +/* 112 / 350,000 = 0.32 ms */ +/* At maximum CPU speed (200 MHz), this means */ +/* 0.8 ms * 200 MHz = 64000 CPU cycles */ +#define ADC_CALIBRATION_TIMEOUT ((uint32_t) 64000) /*!< ADC calibration time-out value */ +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup ADCEx_Exported_Functions ADC Extended Exported Functions + * @{ + */ + + + +/** @defgroup ADCEx_Exported_Functions_Group1 Extended Input and Output operation functions + * @brief Extended IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + + (+) Perform the ADC self-calibration for single or differential ending. + (+) Get calibration factors for single or differential ending. + (+) Set calibration factors for single or differential ending. + + (+) Start conversion of injected group. + (+) Stop conversion of injected group. + (+) Poll for conversion complete on injected group. + (+) Get result of injected channel conversion. + (+) Start conversion of injected group and enable interruptions. + (+) Stop conversion of injected group and disable interruptions. + + (+) When multimode feature is available, start multimode and enable DMA transfer. + (+) Stop multimode and disable ADC DMA transfer. + (+) Get result of multimode conversion. + + + +@endverbatim + * @{ + */ + +/** + * @brief Perform an ADC automatic self-calibration + * Calibration prerequisite: ADC must be disabled (execute this + * function before HAL_ADC_Start() or after HAL_ADC_Stop() ). + * @param hadc ADC handle + * @param CalibrationMode: Selection of Calibration Mode + * This parameter can be one of the following values: + * @arg ADC_CALIB_OFFSET: ADC calibration in offset mode + * @arg ADC_CALIB_OFFSET_LINEARITY: ADC calibration in Linear offset mode + * @param SingleDiff: Selection of single-ended or differential input + * This parameter can be one of the following values: + * @arg ADC_SINGLE_ENDED: Channel in mode input single ended + * @arg ADC_DIFFERENTIAL_ENDED: Channel in mode input differential ended + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc, uint32_t CalibrationMode, uint32_t SingleDiff) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + uint32_t WaitLoopIndex = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_SINGLE_DIFFERENTIAL(SingleDiff)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* Calibration prerequisite: ADC must be disabled. */ + + /* Disable the ADC (if not already disabled) */ + tmp_hal_status = ADC_Disable(hadc); + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Change ADC state */ + /* Clear HAL_ADC_STATE_REG_BUSY and HAL_ADC_STATE_INJ_BUSY bits, set HAL_ADC_STATE_BUSY_INTERNAL bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_REG_BUSY|HAL_ADC_STATE_INJ_BUSY), HAL_ADC_STATE_BUSY_INTERNAL); + + /* Select calibration mode single ended or differential ended */ + MODIFY_REG(hadc->Instance->CR, ADC_CR_ADCALDIF, SingleDiff); + + /* Select the Linear calibration if enabled */ + MODIFY_REG(hadc->Instance->CR, ADC_CR_ADCALLIN, CalibrationMode); + + /* Start ADC calibration */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADCAL); + + + /* Wait for calibration completion */ + while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADCAL)) + { + WaitLoopIndex++; + if (WaitLoopIndex >= ADC_CALIBRATION_TIMEOUT) + { + /* Update ADC state machine to error */ + /* Clear HAL_ADC_STATE_BUSY_INTERNAL bit, set HAL_ADC_STATE_ERROR_INTERNAL bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_ERROR; + } + } + + /* Clear HAL_ADC_STATE_BUSY_INTERNAL bit, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); + } + else + { + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Note: No need to update variable "tmp_hal_status" here: already set */ + /* to state "HAL_ERROR" by function disabling the ADC. */ + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + +/** + * @brief Get the calibration factor from automatic conversion result. + * @param hadc: ADC handle. + * @param SingleDiff: Selection of single-ended or differential input + * This parameter can be one of the following values: + * @arg @ref ADC_SINGLE_ENDED Channel in mode input single ended + * @arg @ref ADC_DIFFERENTIAL_ENDED Channel in mode input differential ended + * @retval HAL state + */ +uint32_t HAL_ADCEx_Calibration_GetValue(ADC_HandleTypeDef* hadc, uint32_t SingleDiff) +{ + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_SINGLE_DIFFERENTIAL(SingleDiff)); + + /* Return the selected ADC calibration value */ + if (SingleDiff == ADC_DIFFERENTIAL_ENDED) + { + return ADC_CALFACT_DIFF_GET(hadc->Instance->CALFACT); + } + else + { + return ((hadc->Instance->CALFACT) & ADC_CALFACT_CALFACT_S); + } +} + +/** + * @brief Get the calibration factor from automatic conversion result + * @param hadc: ADC handle + * @param LinearCalib_Buffer: Linear calibration factor + * @retval HAL state + */ +HAL_StatusTypeDef HAL_ADCEx_LinearCalibration_GetValue(ADC_HandleTypeDef* hadc, uint32_t* LinearCalib_Buffer) +{ + uint32_t cnt = 0; + uint32_t WaitLoopIndex = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Enable the ADC ADEN = 1 to be able to read the linear calibration factor */ + ADC_Enable(hadc); + + for(cnt = 0; cnt < 6; cnt++) + { + /* Clear LINCALRDYWx */ + CLEAR_BIT(hadc->Instance->CR, ADC_CR_LINCALRDYW6 >> cnt); + /* Wait untill LINCALRDYWx is reset */ + while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_LINCALRDYW6 >> cnt)) + { + WaitLoopIndex++; + if (WaitLoopIndex >= ADC_CALIBRATION_TIMEOUT) + { + return HAL_ERROR; + } + } + + /* Read the ADCx_CALFACT2[29:0] containing the LINCALWx*/ + *(LinearCalib_Buffer + cnt) = hadc->Instance->CALFACT2; + } + return HAL_OK; +} + +/** + * @brief Set the calibration factor to overwrite automatic conversion result, ADC must be enabled and no conversion on going. + * @param hadc: ADC handle. + * @param SingleDiff: Selection of single-ended or differential input. + * This parameter can be one of the following values: + * @arg @ref ADC_SINGLE_ENDED Channel in mode input single ended + * @arg @ref ADC_DIFFERENTIAL_ENDED Channel in mode input differential ended + * @param CalibrationFactor: Calibration factor (coded on 7 bits maximum) + * @retval HAL state + */ +HAL_StatusTypeDef HAL_ADCEx_Calibration_SetValue(ADC_HandleTypeDef* hadc, uint32_t SingleDiff, uint32_t CalibrationFactor) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_SINGLE_DIFFERENTIAL(SingleDiff)); + assert_param(IS_ADC_CALFACT(CalibrationFactor)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* Verification of hardware constraints before modifying the calibration */ + /* factors register: ADC must be enabled, no conversion on going. */ + if ( (ADC_IS_ENABLE(hadc) != RESET) && + (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) ) + { + /* Set the selected ADC calibration value */ + if (SingleDiff == ADC_DIFFERENTIAL_ENDED) + { + MODIFY_REG(hadc->Instance->CALFACT, ADC_CALFACT_CALFACT_D, ADC_CALFACT_DIFF_SET(CalibrationFactor)); + } + else + { + MODIFY_REG(hadc->Instance->CALFACT, ADC_CALFACT_CALFACT_S, CalibrationFactor); + } + } + else + { + /* Update ADC state machine */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + /* Update ADC state machine to error */ + tmp_hal_status = HAL_ERROR; + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + +/** + * @brief Set the linear calibration factor + * @param hadc: ADC handle + * @param LinearCalib_Buffer: Linear calibration factor + * @retval HAL state + */ +HAL_StatusTypeDef HAL_ADCEx_LinearCalibration_SetValue(ADC_HandleTypeDef *hadc, uint32_t* LinearCalib_Buffer) +{ + uint32_t cnt = 0; + __IO uint32_t wait_loop_index = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* - Exit from deep-power-down mode and ADC voltage regulator enable */ + /* Exit deep power down mode if still in that state */ + if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_DEEPPWD)) + { + /* Exit deep power down mode */ + CLEAR_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); + + /* System was in deep power down mode, calibration must + be relaunched or a previously saved calibration factor + re-applied once the ADC voltage regulator is enabled */ + } + + + if (HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADVREGEN)) + { + /* Enable ADC internal voltage regulator */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN); + /* Delay for ADC stabilization time */ + /* Wait loop initialization and execution */ + /* Note: Variable divided by 2 to compensate partially */ + /* CPU processing cycles. */ + wait_loop_index = (ADC_STAB_DELAY_US * (SystemCoreClock / (1000000 * 2))); + while(wait_loop_index != 0) + { + wait_loop_index--; + } + } + + + /* Verification that ADC voltage regulator is correctly enabled, whether */ + /* or not ADC is coming from state reset (if any potential problem of */ + /* clocking, voltage regulator would not be enabled). */ + if (HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADVREGEN)) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Set ADC error code to ADC IP internal error */ + SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); + + return HAL_ERROR; + } + + for(cnt = 0; cnt < 6; cnt++) + { + /* Write the LINCALWx in ADCx_CALFACT2[29:0] */ + hadc->Instance->CALFACT2 = *(LinearCalib_Buffer + cnt); + + /* Set LINCALRDYWx */ + SET_BIT(hadc->Instance->CR, ADC_CR_LINCALRDYW6 >> cnt); + + /* Wait untill LINCALRDYWx is set */ + while(HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_LINCALRDYW6 >> cnt)) + { + wait_loop_index++; + if (wait_loop_index >= ADC_CALIBRATION_TIMEOUT) + { + return HAL_ERROR; + } + } + } + return HAL_OK; +} + +/** + * @brief Enable ADC, start conversion of injected group. + * @note Interruptions enabled in this function: None. + * @note Case of multimode enabled when multimode feature is available: + * HAL_ADCEx_InjectedStart() API must be called for ADC slave first, + * then for ADC master. + * For ADC slave, ADC is enabled only (conversion is not started). + * For ADC master, ADC is enabled and multimode conversion is started. + * @param hadc: ADC handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc)) + { + return HAL_BUSY; + } + else + { + + /* In case of software trigger detection enabled, JQDIS must be set + (which can be done only if ADSTART and JADSTART are both cleared). + If JQDIS is not set at that point, returns an error + - since software trigger detection is disabled. User needs to + resort to HAL_ADCEx_DisableInjectedQueue() API to set JQDIS. + - or (if JQDIS is intentionally reset) since JEXTEN = 0 which means + the queue is empty */ + if ((READ_BIT(hadc->Instance->JSQR, ADC_JSQR_JEXTEN) == RESET) + && (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS) == RESET)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + return HAL_ERROR; + } + + + /* Process locked */ + __HAL_LOCK(hadc); + + /* Enable the ADC peripheral */ + tmp_hal_status = ADC_Enable(hadc); + + /* Start conversion if ADC is effectively enabled */ + if (tmp_hal_status == HAL_OK) + { + /* Check if a regular conversion is ongoing */ + if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_REG_BUSY)) + { + /* Reset ADC error code field related to injected conversions only */ + CLEAR_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); + } + else + { + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + } + /* Update ADC state */ + /* Clear HAL_ADC_STATE_READY and HAL_ADC_STATE_INJ_EOC bits, set HAL_ADC_STATE_INJ_BUSY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_READY|HAL_ADC_STATE_INJ_EOC), HAL_ADC_STATE_INJ_BUSY); + + /* Reset HAL_ADC_STATE_MULTIMODE_SLAVE bit + - by default if ADC is Master or Independent or if multimode feature is not available + - if MultiMode setting is set to independent mode (no dual regular or injected conversions are configured) */ + if (ADC12_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) + { + CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + } + + + /* Clear injected group conversion flag */ + /* (To ensure of no unknown state from potential previous ADC operations) */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_JEOC | ADC_FLAG_JEOS)); + + /* Enable conversion of injected group, if automatic injected conversion */ + /* is disabled. */ + /* If software start has been selected, conversion starts immediately. */ + /* If external trigger has been selected, conversion will start at next */ + /* trigger event. */ + /* Case of multimode enabled (when multimode feature is available): */ + /* if ADC is slave, */ + /* - ADC is enabled only (conversion is not started). */ + /* - if multimode only concerns regular conversion, ADC is enabled */ + /* and conversion is started. */ + /* If ADC is master or independent, */ + /* - ADC is enabled and conversion is started. */ + + /* Are injected conversions that of a dual Slave ? */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEINJECTED_SLAVE(hadc)) + { + /* hadc is not the handle of a Slave ADC with dual injected conversions enabled: + set ADSTART only if JAUTO is cleared */ + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + if (HAL_IS_BIT_CLR(hadc->Instance->CFGR, ADC_CFGR_JAUTO)) + { + SET_BIT(hadc->Instance->CR, ADC_CR_JADSTART) ; + } + } + else + { + /* hadc is the handle of a Slave ADC with dual injected conversions enabled: + ADSTART is not set */ + SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } /* if (tmp_hal_status == HAL_OK) */ + + /* Return function status */ + return tmp_hal_status; + } /* if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc)) */ +} + +/** + * @brief Stop conversion of injected channels and disable ADC peripheral if + * no regular conversion is on going. + * @note If ADC must be disabled and if conversion is on going on + * regular group, function HAL_ADC_Stop must be used to stop both + * injected and regular groups, and disable the ADC. + * @note If injected group mode auto-injection is enabled, + * function HAL_ADC_Stop must be used. + * @note In case of multimode enabled (when multimode feature is available), + * HAL_ADCEx_InjectedStop() must be called for ADC master first, then for ADC slave. + * For ADC master, conversion is stopped and ADC is disabled. + * For ADC slave, ADC is disabled only (conversion stop of ADC master + * has already stopped conversion of ADC slave). + * @param hadc: ADC handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_InjectedStop(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential conversion on going on injected group only. */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_INJECTED_GROUP); + + /* Disable ADC peripheral if injected conversions are effectively stopped */ + /* and if no conversion on regular group is on-going */ + if (tmp_hal_status == HAL_OK) + { + if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) + { + /* 2. Disable the ADC peripheral */ + tmp_hal_status = ADC_Disable(hadc); + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Change ADC state */ + /* Clear HAL_ADC_STATE_REG_BUSY and HAL_ADC_STATE_INJ_BUSY bits, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_REG_BUSY|HAL_ADC_STATE_INJ_BUSY), HAL_ADC_STATE_READY); + } + } + /* Conversion on injected group is stopped, but ADC not disabled since */ + /* conversion on regular group is still running. */ + else + { + /* Clear HAL_ADC_STATE_INJ_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + + + +/** + * @brief Wait for injected group conversion to be completed. + * @param hadc: ADC handle + * @param Timeout: Timeout value in millisecond. + * @note Depending on hadc->Init.EOCSelection, JEOS or JEOC is + * checked and cleared depending on AUTDLY bit status. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) +{ + uint32_t tickstart; + uint32_t tmp_Flag_End = 0x00; + ADC_TypeDef *tmpADC_Master; + uint32_t tmp_cfgr = 0x00; + uint32_t tmp_cfgr_jqm_autdly = 0x00; + uint32_t tmp_jeos_raised = 0x01; /* by default, assume that JEOS is set, + tmp_jeos_raised will be corrected + accordingly during API execution */ + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* If end of sequence selected */ + if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) + { + tmp_Flag_End = ADC_FLAG_JEOS; + } + else /* end of conversion selected */ + { + tmp_Flag_End = ADC_FLAG_JEOC; + } + + /* Get timeout */ + tickstart = HAL_GetTick(); + + /* Wait until End of Conversion or Sequence flag is raised */ + while(HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_End)) + { + /* Check if timeout is disabled (set to infinite wait) */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Update ADC state machine to timeout */ + SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_TIMEOUT; + } + } + } + + /* Next, to clear the polled flag as well as to update the handle State, + JEOS is checked and the relevant configuration registers are retrieved. + JQM, JAUTO and CONT bits will have to be read for the State update, + AUTDLY for JEOS clearing. */ + /* 1. Check whether or not JEOS is set */ + if (HAL_IS_BIT_CLR(hadc->Instance->ISR, ADC_FLAG_JEOS)) + { + tmp_jeos_raised = 0; + } + /* 2. Check whether or not hadc is the handle of a Slave ADC with dual + injected conversions enabled. */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEINJECTED_SLAVE(hadc) == RESET) + { + /* hadc is not the handle of a Slave ADC with dual injected conversions enabled: + check JQM and AUTDLY bits directly in ADC CFGR register */ + tmp_cfgr_jqm_autdly = READ_REG(hadc->Instance->CFGR); + } + else + { + /* hadc is the handle of a Slave ADC with dual injected conversions enabled: + need to check JQM and AUTDLY bits of Master ADC CFGR register */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + tmp_cfgr_jqm_autdly = READ_REG(tmpADC_Master->CFGR); + } + /* 3. Check whether or not hadc is the handle of a Slave ADC with dual + regular conversions enabled. */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(hadc)) + { + /* hadc is not the handle of a Slave ADC with dual regular conversions enabled: + check JAUTO and CONT bits directly in ADC CFGR register */ + tmp_cfgr = READ_REG(hadc->Instance->CFGR); + } + else + { + /* hadc is not the handle of a Slave ADC with dual regular conversions enabled: + check JAUTO and CONT bits of Master ADC CFGR register */ + tmpADC_Master = ADC_MASTER_REGISTER(hadc); + tmp_cfgr = READ_REG(tmpADC_Master->CFGR); + } + + + + /* Clear polled flag */ + if (tmp_Flag_End == ADC_FLAG_JEOS) + { + /* Clear end of sequence JEOS flag of injected group if low power feature */ + /* "LowPowerAutoWait " is disabled, to not interfere with this feature. */ + /* For injected groups, no new conversion will start before JEOS is */ + /* cleared. */ + /* Note that 1. reading ADCx_JDRy clears JEOC. */ + /* 2. in MultiMode with dual injected conversions enabled, */ + /* Master AUTDLY bit must be checked */ + + if (READ_BIT (tmp_cfgr_jqm_autdly, ADC_CFGR_AUTDLY) == RESET) + { + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC); + } + } + else + { + __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC); + } + + + /* Update ADC state machine */ + SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); + /* Are injected conversions over ? This is the case if JEOS is set AND + - injected conversions are software-triggered when injected queue management is disabled + OR + - autoinjection is enabled, continuous mode is disabled, + and regular conversions are software-triggered */ + + if (tmp_jeos_raised) + { + if ((ADC_IS_SOFTWARE_START_INJECTED(hadc) && (READ_BIT(tmp_cfgr_jqm_autdly, ADC_CFGR_JQM) != ADC_CFGR_JQM)) + && (!((READ_BIT(tmp_cfgr, (ADC_CFGR_JAUTO|ADC_CFGR_CONT)) == (ADC_CFGR_JAUTO|ADC_CFGR_CONT)) && + (ADC_IS_SOFTWARE_START_REGULAR(hadc))) )) + { + /* Clear HAL_ADC_STATE_INJ_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); + /* If no regular conversion on-going, set HAL_ADC_STATE_READY bit */ + if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_READY); + } + } + } + + + + /* Return API HAL status */ + return HAL_OK; +} + + + +/** + * @brief Enable ADC, start conversion of injected group with interruption. + * @note Interruptions enabled in this function according to initialization + * setting : JEOC (end of conversion) or JEOS (end of sequence) + * @note Case of multimode enabled (when multimode feature is enabled): + * HAL_ADCEx_InjectedStart_IT() API must be called for ADC slave first, + * then for ADC master. + * For ADC slave, ADC is enabled only (conversion is not started). + * For ADC master, ADC is enabled and multimode conversion is started. + * @param hadc: ADC handle. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc)) + { + return HAL_BUSY; + } + else + { + + /* In case of software trigger detection enabled, JQDIS must be set + (which can be done only if ADSTART and JADSTART are both cleared). + If JQDIS is not set at that point, returns an error + - since software trigger detection is disabled. User needs to + resort to HAL_ADCEx_DisableInjectedQueue() API to set JQDIS. + - or (if JQDIS is intentionally reset) since JEXTEN = 0 which means + the queue is empty */ + if ((READ_BIT(hadc->Instance->JSQR, ADC_JSQR_JEXTEN) == RESET) + && (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS) == RESET)) + { + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hadc); + + /* Enable the ADC peripheral */ + tmp_hal_status = ADC_Enable(hadc); + + /* Start conversion if ADC is effectively enabled */ + if (tmp_hal_status == HAL_OK) + { + /* Check if a regular conversion is ongoing */ + if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_REG_BUSY)) + { + /* Reset ADC error code field related to injected conversions only */ + CLEAR_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); + } + else + { + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + } + /* Clear HAL_ADC_STATE_READY and HAL_ADC_STATE_INJ_EOC bits, set HAL_ADC_STATE_INJ_BUSY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_READY|HAL_ADC_STATE_INJ_EOC), HAL_ADC_STATE_INJ_BUSY); + + /* Reset HAL_ADC_STATE_MULTIMODE_SLAVE bit + - by default if ADC is Master or Independent + - if MultiMode setting is set to independent mode (no dual regular or injected conversions are configured) */ + if (ADC12_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) + { + CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + } + + /* Clear injected group conversion flag */ + /* (To ensure of no unknown state from potential previous ADC operations) */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_JEOC | ADC_FLAG_JEOS)); + + /* Enable ADC Injected context queue overflow interrupt if this feature */ + /* is enabled. */ + if ((hadc->Instance->CFGR & ADC_CFGR_JQM) != RESET) + { + __HAL_ADC_ENABLE_IT(hadc, ADC_FLAG_JQOVF); + } + + /* Enable ADC end of conversion interrupt */ + switch(hadc->Init.EOCSelection) + { + case ADC_EOC_SEQ_CONV: + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); + break; + /* case ADC_EOC_SINGLE_CONV */ + default: + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); + break; + } + + /* Enable conversion of injected group, if automatic injected conversion */ + /* is disabled. */ + /* If software start has been selected, conversion starts immediately. */ + /* If external trigger has been selected, conversion will start at next */ + /* trigger event. */ + /* Case of multimode enabled: */ + /* if ADC is slave, */ + /* - ADC is enabled only (conversion is not started). */ + /* - if multimode only concerns regular conversion, ADC is enabled */ + /* and conversion is started. */ + /* If ADC is master or independent, */ + /* - ADC is enabled and conversion is started. */ + + /* Are injected conversions that of a dual Slave ? */ + if (ADC_INDEPENDENT_OR_NONMULTIMODEINJECTED_SLAVE(hadc)) + { + /* hadc is not the handle of a Slave ADC with dual injected conversions enabled: + set ADSTART only if JAUTO is cleared */ + /* Process unlocked */ + __HAL_UNLOCK(hadc); + if (HAL_IS_BIT_CLR(hadc->Instance->CFGR, ADC_CFGR_JAUTO)) + { + SET_BIT(hadc->Instance->CR, ADC_CR_JADSTART) ; + } + } + else + { + /* hadc is the handle of a Slave ADC with dual injected conversions enabled: + ADSTART is not set */ + SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } + + /* Return function status */ + return tmp_hal_status; +} +} + +/** + * @brief Stop conversion of injected channels, disable interruption of + * end-of-conversion, disable ADC peripheral if no regular conversion + * is on going. + * @note If ADC must be disabled and if conversion is on going on + * regular group, function HAL_ADC_Stop must be used to stop both + * injected and regular groups, and disable the ADC. + * @note If injected group mode auto-injection is enabled, + * function HAL_ADC_Stop must be used. + * @note Case of multimode enabled (when multimode feature is available): + * HAL_ADCEx_InjectedStop_IT() API must be called for ADC master first, + * then for ADC slave. + * For ADC master, conversion is stopped and ADC is disabled. + * For ADC slave, ADC is disabled only (conversion stop of ADC master + * has already stopped conversion of ADC slave). + * @note In case of auto-injection mode, HAL_ADC_Stop() must be used. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential conversion on going on injected group only. */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_INJECTED_GROUP); + + /* Disable ADC peripheral if injected conversions are effectively stopped */ + /* and if no conversion on the other group (regular group) is intended to */ + /* continue. */ + if (tmp_hal_status == HAL_OK) + { + /* Disable ADC end of conversion interrupt for injected channels */ + __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_JEOC | ADC_IT_JEOS | ADC_FLAG_JQOVF)); + + if ((ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)) + { + /* 2. Disable the ADC peripheral */ + tmp_hal_status = ADC_Disable(hadc); + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Change ADC state */ + /* Clear HAL_ADC_STATE_REG_BUSY and HAL_ADC_STATE_INJ_BUSY bits, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_REG_BUSY|HAL_ADC_STATE_INJ_BUSY), HAL_ADC_STATE_READY); + } + } + /* Conversion on injected group is stopped, but ADC not disabled since */ + /* conversion on regular group is still running. */ + else + { + /* Clear HAL_ADC_STATE_INJ_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + +/** + * @brief Enable ADC, start MultiMode conversion and transfer regular results through DMA. + * @note Multimode must have been previously configured using + * HAL_ADCEx_MultiModeConfigChannel() function. + * Interruptions enabled in this function: + * overrun, DMA half transfer, DMA transfer complete. + * Each of these interruptions has its dedicated callback function. + * @note State field of Slave ADC handle is not updated in this configuration: + * user should not rely on it for information related to Slave regular + * conversions. + * @param hadc: ADC handle of ADC master (handle of ADC slave must not be used) + * @param pData: Destination Buffer address. + * @param Length: Length of data to be transferred from ADC peripheral to memory (in bytes). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + ADC_HandleTypeDef tmphadcSlave; + ADC_Common_TypeDef *tmpADC_Common; + + /* Check the parameters */ + assert_param(IS_ADC_MULTIMODE_MASTER_INSTANCE(hadc->Instance)); + assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); + assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); + + if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc)) + { + return HAL_BUSY; + } + else + { + /* Process locked */ + __HAL_LOCK(hadc); + + /* Set a temporary handle of the ADC slave associated to the ADC master */ + ADC_MULTI_SLAVE(hadc, &tmphadcSlave); + + if (tmphadcSlave.Instance == NULL) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_ERROR; + } + + + /* Enable the ADC peripherals: master and slave (in case if not already */ + /* enabled previously) */ + tmp_hal_status = ADC_Enable(hadc); + if (tmp_hal_status == HAL_OK) + { + tmp_hal_status = ADC_Enable(&tmphadcSlave); + } + + /* Start multimode conversion of ADCs pair */ + if (tmp_hal_status == HAL_OK) + { + /* Update Master State */ + /* Clear HAL_ADC_STATE_READY and regular conversion results bits, set HAL_ADC_STATE_REG_BUSY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_READY|HAL_ADC_STATE_REG_EOC|HAL_ADC_STATE_REG_OVR|HAL_ADC_STATE_REG_EOSMP), HAL_ADC_STATE_REG_BUSY); + + + /* Set ADC error code to none */ + ADC_CLEAR_ERRORCODE(hadc); + + + /* Set the DMA transfer complete callback */ + hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; + + /* Set the DMA half transfer complete callback */ + hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; + + /* Set the DMA error callback */ + hadc->DMA_Handle->XferErrorCallback = ADC_DMAError ; + + /* Pointer to the common control register */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + + + /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */ + /* start (in case of SW start): */ + + /* Clear regular group conversion flag and overrun flag */ + /* (To ensure of no unknown state from potential previous ADC operations) */ + __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); + + /* Enable ADC overrun interrupt */ + __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); + + /* Start the DMA channel */ + HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&tmpADC_Common->CDR, (uint32_t)pData, Length); + + /* Enable conversion of regular group. */ + /* Process unlocked */ + __HAL_UNLOCK(hadc); + /* If software start has been selected, conversion starts immediately. */ + /* If external trigger has been selected, conversion will start at next */ + /* trigger event. */ + SET_BIT(hadc->Instance->CR, ADC_CR_ADSTART); + + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hadc); + } + + /* Return function status */ + return tmp_hal_status; + } +} + +/** + * @brief Stop multimode ADC conversion, disable ADC DMA transfer, disable ADC peripheral. + * @note Multimode is kept enabled after this function. MultiMode DMA bits + * (MDMA and DMACFG bits of common CCR register) are maintained. To disable + * Multimode (set with HAL_ADCEx_MultiModeConfigChannel()), ADC must be + * reinitialized using HAL_ADC_Init() or HAL_ADC_DeInit(), or the user can + * resort to HAL_ADCEx_DisableMultiMode() API. + * @note In case of DMA configured in circular mode, function + * HAL_ADC_Stop_DMA() must be called after this function with handle of + * ADC slave, to properly disable the DMA channel. + * @param hadc: ADC handle of ADC master (handle of ADC slave must not be used) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + uint32_t tickstart; + ADC_HandleTypeDef tmphadcSlave; + + /* Check the parameters */ + assert_param(IS_ADC_MULTIMODE_MASTER_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + + /* 1. Stop potential multimode conversion on going, on regular and injected groups */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); + + /* Disable ADC peripheral if conversions are effectively stopped */ + if (tmp_hal_status == HAL_OK) + { + /* Set a temporary handle of the ADC slave associated to the ADC master */ + ADC_MULTI_SLAVE(hadc, &tmphadcSlave); + + if (tmphadcSlave.Instance == NULL) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_ERROR; + } + + /* Procedure to disable the ADC peripheral: wait for conversions */ + /* effectively stopped (ADC master and ADC slave), then disable ADC */ + + /* 1. Wait until ADSTP=0 for ADC master and ADC slave*/ + tickstart = HAL_GetTick(); + + while(ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) || + ADC_IS_CONVERSION_ONGOING_REGULAR(&tmphadcSlave) ) + { + if((HAL_GetTick()-tickstart) > ADC_STOP_CONVERSION_TIMEOUT) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_ERROR; + } + } + + /* Disable the DMA channel (in case of DMA in circular mode or stop */ + /* while DMA transfer is on going) */ + /* Note: DMA channel of ADC slave should be stopped after this function */ + /* with HAL_ADC_Stop_DMA() API. */ + tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); + + /* Check if DMA channel effectively disabled */ + if (tmp_hal_status == HAL_ERROR) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); + } + + /* Disable ADC overrun interrupt */ + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); + + + + /* 2. Disable the ADC peripherals: master and slave */ + /* Update "tmp_hal_status " only if DMA channel disabling passed, to keep in */ + /* memory a potential failing status. */ + if (tmp_hal_status == HAL_OK) + { + /* Check if ADC are effectively disabled */ + if ((ADC_Disable(hadc) == HAL_OK) && + (ADC_Disable(&tmphadcSlave) == HAL_OK) ) + { + tmp_hal_status = HAL_OK; + } + } + else + { + ADC_Disable(hadc); + ADC_Disable(&tmphadcSlave); + } + /* Change ADC state (ADC master) */ + /* Clear HAL_ADC_STATE_REG_BUSY and HAL_ADC_STATE_INJ_BUSY bits, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, (HAL_ADC_STATE_REG_BUSY|HAL_ADC_STATE_INJ_BUSY), HAL_ADC_STATE_READY); + + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + + +/** + * @brief Return the last ADC Master and Slave regular conversions results when in multimode configuration. + * @param hadc: ADC handle of ADC Master (handle of ADC Slave must not be used) + * @retval The converted data values. + */ +uint32_t HAL_ADCEx_MultiModeGetValue(ADC_HandleTypeDef* hadc) +{ + ADC_Common_TypeDef *tmpADC_Common; + + /* Check the parameters */ + assert_param(IS_ADC_MULTIMODE_MASTER_INSTANCE(hadc->Instance)); + + /* Pointer to the common control register */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + + /* Return the multi mode conversion value */ + return tmpADC_Common->CDR; +} + + +/** + * @brief Get ADC injected group conversion result. + * @note Reading register JDRx automatically clears ADC flag JEOC + * (ADC group injected end of unitary conversion). + * @note This function does not clear ADC flag JEOS + * (ADC group injected end of sequence conversion) + * Occurrence of flag JEOS rising: + * - If sequencer is composed of 1 rank, flag JEOS is equivalent + * to flag JEOC. + * - If sequencer is composed of several ranks, during the scan + * sequence flag JEOC only is raised, at the end of the scan sequence + * both flags JEOC and EOS are raised. + * Flag JEOS must not be cleared by this function because + * it would not be compliant with low power features + * (feature low power auto-wait, not available on all STM32 families). + * To clear this flag, either use function: + * in programming model IT: @ref HAL_ADC_IRQHandler(), in programming + * model polling: @ref HAL_ADCEx_InjectedPollForConversion() + * or @ref __HAL_ADC_CLEAR_FLAG(&hadc, ADC_FLAG_JEOS). + * @param hadc: ADC handle + * @param InjectedRank: the converted ADC injected rank. + * This parameter can be one of the following values: + * @arg @ref ADC_INJECTED_RANK_1 ADC group injected rank 1 + * @arg @ref ADC_INJECTED_RANK_2 ADC group injected rank 2 + * @arg @ref ADC_INJECTED_RANK_3 ADC group injected rank 3 + * @arg @ref ADC_INJECTED_RANK_4 ADC group injected rank 4 + * @retval ADC group injected conversion data + */ +uint32_t HAL_ADCEx_InjectedGetValue(ADC_HandleTypeDef* hadc, uint32_t InjectedRank) +{ + uint32_t tmp_jdr = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_INJECTED_RANK(InjectedRank)); + + + /* Get ADC converted value */ + switch(InjectedRank) + { + case ADC_INJECTED_RANK_4: + tmp_jdr = hadc->Instance->JDR4; + break; + case ADC_INJECTED_RANK_3: + tmp_jdr = hadc->Instance->JDR3; + break; + case ADC_INJECTED_RANK_2: + tmp_jdr = hadc->Instance->JDR2; + break; + case ADC_INJECTED_RANK_1: + default: + tmp_jdr = hadc->Instance->JDR1; + break; + } + + /* Return ADC converted value */ + return tmp_jdr; +} + +/** + * @brief Injected conversion complete callback in non-blocking mode. + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADCEx_InjectedConvCpltCallback must be implemented in the user file. + */ +} + + +/** + * @brief Injected context queue overflow callback. + * @note This callback is called if injected context queue is enabled + (parameter "QueueInjectedContext" in injected channel configuration) + and if a new injected context is set when queue is full (maximum 2 + contexts). + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADCEx_InjectedQueueOverflowCallback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADCEx_InjectedQueueOverflowCallback must be implemented in the user file. + */ +} + +/** + * @brief Analog watchdog 2 callback in non-blocking mode. + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADCEx_LevelOutOfWindow2Callback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADCEx_LevelOutOfWindow2Callback must be implemented in the user file. + */ +} + +/** + * @brief Analog watchdog 3 callback in non-blocking mode. + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADCEx_LevelOutOfWindow3Callback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADCEx_LevelOutOfWindow3Callback must be implemented in the user file. + */ +} + + +/** + * @brief End Of Sampling callback in non-blocking mode. + * @param hadc: ADC handle + * @retval None + */ +__weak void HAL_ADCEx_EndOfSamplingCallback(ADC_HandleTypeDef* hadc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hadc); + + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_ADCEx_EndOfSamplingCallback must be implemented in the user file. + */ +} + +/** + * @brief Stop ADC conversion of regular group (and injected channels in + * case of auto_injection mode), disable ADC peripheral if no + * conversion is on going on injected group. + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADCEx_RegularStop(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential regular conversion on going */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); + + /* Disable ADC peripheral if regular conversions are effectively stopped + and if no injected conversions are on-going */ + if (tmp_hal_status == HAL_OK) + { + /* Clear HAL_ADC_STATE_REG_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc) == RESET) + { + /* 2. Disable the ADC peripheral */ + tmp_hal_status = ADC_Disable(hadc); + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Change ADC state */ + /* Clear HAL_ADC_STATE_INJ_BUSY bit, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_READY); + } + } + /* Conversion on injected group is stopped, but ADC not disabled since */ + /* conversion on regular group is still running. */ + else + { + SET_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + + +/** + * @brief Stop ADC conversion of ADC groups regular and injected, + * disable interrution of end-of-conversion, + * disable ADC peripheral if no conversion is on going + * on injected group. + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADCEx_RegularStop_IT(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential regular conversion on going */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); + + /* Disable ADC peripheral if conversions are effectively stopped + and if no injected conversion is on-going */ + if (tmp_hal_status == HAL_OK) + { + /* Clear HAL_ADC_STATE_REG_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + + /* Disable all regular-related interrupts */ + __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); + + /* 2. Disable ADC peripheral if no injected conversions are on-going */ + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc) == RESET) + { + tmp_hal_status = ADC_Disable(hadc); + /* if no issue reported */ + if (tmp_hal_status == HAL_OK) + { + /* Change ADC state */ + /* Clear HAL_ADC_STATE_INJ_BUSY bit, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_READY); + } + } + else + { + SET_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + + +/** + * @brief Stop ADC conversion of regular group (and injected group in + * case of auto_injection mode), disable ADC DMA transfer, disable + * ADC peripheral if no conversion is on going + * on injected group. + * @note HAL_ADCEx_RegularStop_DMA() function is dedicated to single-ADC mode only. + * For multimode (when multimode feature is available), + * HAL_ADCEx_RegularMultiModeStop_DMA() API must be used. + * @param hadc: ADC handle + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_ADCEx_RegularStop_DMA(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + /* 1. Stop potential regular conversion on going */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); + + /* Disable ADC peripheral if conversions are effectively stopped + and if no injected conversion is on-going */ + if (tmp_hal_status == HAL_OK) + { + /* Clear HAL_ADC_STATE_REG_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + + /* Disable ADC DMA */ + MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_DMNGT_0 |ADC_CFGR_DMNGT_1, 0); + + /* Disable the DMA channel (in case of DMA in circular mode or stop while */ + /* while DMA transfer is on going) */ + tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); + + /* Check if DMA channel effectively disabled */ + if (tmp_hal_status != HAL_OK) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); + } + + /* Disable ADC overrun interrupt */ + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); + + /* 2. Disable the ADC peripheral */ + /* Update "tmp_hal_status " only if DMA channel disabling passed, to keep in */ + /* memory a potential failing status. */ + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc) == RESET) + { + if (tmp_hal_status == HAL_OK) + { + tmp_hal_status = ADC_Disable(hadc); + } + else + { + ADC_Disable(hadc); + } + + /* Check if ADC is effectively disabled */ + if (tmp_hal_status == HAL_OK) + { + /* Change ADC state */ + /* Clear HAL_ADC_STATE_INJ_BUSY bit, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_READY); + } + } + else + { + SET_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + + + +/** + * @brief Stop DMA-based MultiMode ADC conversion, disable ADC DMA transfer, disable ADC peripheral if no injected conversion is on-going. + * @note MultiMode is kept enabled after this function. MultiMode DMA bits + * (MDMA and DMACFG bits of common CCR register) are maintained. To disable + * MultiMode (set with HAL_ADCEx_MultiModeConfigChannel()), ADC must be + * reinitialized using HAL_ADC_Init() or HAL_ADC_DeInit(), or the user can + * resort to HAL_ADCEx_DisableMultiMode() API. + * @note In case of DMA configured in circular mode, function + * HAL_ADCEx_RegularStop_DMA() must be called after this function with handle of + * ADC slave, to properly disable the DMA channel. + * @param hadc: ADC handle of ADC master (handle of ADC slave must not be used) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_RegularMultiModeStop_DMA(ADC_HandleTypeDef* hadc) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + uint32_t tickstart; + ADC_HandleTypeDef tmphadcSlave; + + /* Check the parameters */ + assert_param(IS_ADC_MULTIMODE_MASTER_INSTANCE(hadc->Instance)); + + /* Process locked */ + __HAL_LOCK(hadc); + + + /* 1. Stop potential multimode conversion on going, on regular groups */ + tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); + + /* Disable ADC peripheral if conversions are effectively stopped */ + if (tmp_hal_status == HAL_OK) + { + /* Clear HAL_ADC_STATE_REG_BUSY bit */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); + + /* Set a temporary handle of the ADC slave associated to the ADC master */ + ADC_MULTI_SLAVE(hadc, &tmphadcSlave); + + if (tmphadcSlave.Instance == NULL) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_ERROR; + } + + /* Procedure to disable the ADC peripheral: wait for conversions */ + /* effectively stopped (ADC master and ADC slave), then disable ADC */ + + /* 1. Wait until ADSTP=0 for ADC master and ADC slave*/ + tickstart = HAL_GetTick(); + + while(ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) || + ADC_IS_CONVERSION_ONGOING_REGULAR(&tmphadcSlave) ) + { + if((HAL_GetTick()-tickstart) > ADC_STOP_CONVERSION_TIMEOUT) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_ERROR; + } + } + + /* Disable the DMA channel (in case of DMA in circular mode or stop */ + /* while DMA transfer is on going) */ + /* Note: DMA channel of ADC slave should be stopped after this function */ + /* with HAL_ADCEx_RegularStop_DMA() API. */ + tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); + + /* Check if DMA channel effectively disabled */ + if (tmp_hal_status != HAL_OK) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); + } + + /* Disable ADC overrun interrupt */ + __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); + + + + /* 2. Disable the ADC peripherals: master and slave if no injected */ + /* conversion is on-going. */ + /* Update "tmp_hal_status " only if DMA channel disabling passed, to keep in */ + /* memory a potential failing status. */ + if (tmp_hal_status == HAL_OK) + { + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc) == RESET) + { + tmp_hal_status = ADC_Disable(hadc); + if (tmp_hal_status == HAL_OK) + { + if (ADC_IS_CONVERSION_ONGOING_INJECTED(&tmphadcSlave) == RESET) + { + tmp_hal_status = ADC_Disable(&tmphadcSlave); + } + } + } + + if (tmp_hal_status == HAL_OK) + { + /* Both Master and Slave ADC's could be disabled. Update Master State */ + /* Clear HAL_ADC_STATE_INJ_BUSY bit, set HAL_ADC_STATE_READY bit */ + ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_READY); + } + else + { + /* injected (Master or Slave) conversions are still on-going, + no Master State change */ + } + + } + + } + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + +/** + * @} + */ + +/** @defgroup ADCEx_Exported_Functions_Group2 ADC Extended Peripheral Control functions + * @brief ADC Extended Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure channels on injected group + (+) Configure multimode when multimode feature is available + (+) Enable or Disable Injected Queue + (+) Disable ADC voltage regulator + (+) Enter ADC deep-power-down mode + + +@endverbatim + * @{ + */ + +/** + * @brief Configure a channel to be assigned to ADC group injected. + * @note Possibility to update parameters on the fly: + * This function initializes injected group, following calls to this + * function can be used to reconfigure some parameters of structure + * "ADC_InjectionConfTypeDef" on the fly, without resetting the ADC. + * The setting of these parameters is conditioned to ADC state: + * Refer to comments of structure "ADC_InjectionConfTypeDef". + * @note In case of usage of internal measurement channels: + * Vbat/VrefInt/TempSensor. + * These internal paths can be disabled using function + * HAL_ADC_DeInit(). + * @note Caution: For Injected Context Queue use, a context must be fully + * defined before start of injected conversion. All channels are configured + * consecutively for the same ADC instance. Therefore, the number of calls to + * HAL_ADCEx_InjectedConfigChannel() must be equal to the value of parameter + * InjectedNbrOfConversion for each context. + * - Example 1: If 1 context is intended to be used (or if there is no use of the + * Injected Queue Context feature) and if the context contains 3 injected ranks + * (InjectedNbrOfConversion = 3), HAL_ADCEx_InjectedConfigChannel() must be + * called once for each channel (i.e. 3 times) before starting a conversion. + * This function must not be called to configure a 4th injected channel: + * it would start a new context into context queue. + * - Example 2: If 2 contexts are intended to be used and each of them contains + * 3 injected ranks (InjectedNbrOfConversion = 3), + * HAL_ADCEx_InjectedConfigChannel() must be called once for each channel and + * for each context (3 channels x 2 contexts = 6 calls). Conversion can + * start once the 1st context is set, that is after the first three + * HAL_ADCEx_InjectedConfigChannel() calls. The 2nd context can be set on the fly. + * @param hadc: ADC handle + * @param sConfigInjected: Structure of ADC injected group and ADC channel for + * injected group. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel(ADC_HandleTypeDef* hadc, ADC_InjectionConfTypeDef* sConfigInjected) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + ADC_Common_TypeDef *tmpADC_Common; + uint32_t tmpOffsetShifted; + uint32_t WaitLoopIndex = 0; + + + uint32_t tmp_JSQR_ContextQueueBeingBuilt = 0; + + /* Check the parameters */ + assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_INJECTED_RANK(sConfigInjected->InjectedRank)); + assert_param(IS_ADC_SAMPLE_TIME(sConfigInjected->InjectedSamplingTime)); + assert_param(IS_ADC_SINGLE_DIFFERENTIAL(sConfigInjected->InjectedSingleDiff)); + assert_param(IS_ADC_INJECTED_NB_CONV(sConfigInjected->InjectedNbrOfConversion)); + assert_param(IS_FUNCTIONAL_STATE(sConfigInjected->InjectedDiscontinuousConvMode)); + assert_param(IS_FUNCTIONAL_STATE(sConfigInjected->AutoInjectedConv)); + assert_param(IS_FUNCTIONAL_STATE(sConfigInjected->QueueInjectedContext)); + assert_param(IS_ADC_EXTTRIGINJEC_EDGE(sConfigInjected->ExternalTrigInjecConvEdge)); + assert_param(IS_ADC_EXTTRIGINJEC(sConfigInjected->ExternalTrigInjecConv)); + assert_param(IS_ADC_OFFSET_NUMBER(sConfigInjected->InjectedOffsetNumber)); + assert_param(IS_FUNCTIONAL_STATE(sConfigInjected->InjecOversamplingMode)); + + if(hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) + { + assert_param(IS_ADC_INJECTED_RANK(sConfigInjected->InjectedRank)); + assert_param(IS_ADC_INJECTED_NB_CONV(sConfigInjected->InjectedNbrOfConversion)); + assert_param(IS_FUNCTIONAL_STATE(sConfigInjected->InjectedDiscontinuousConvMode)); + } + + /* Check offset range according to oversampling setting */ + if (hadc->Init.OversamplingMode == ENABLE) + { + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), sConfigInjected->InjectedOffset/(hadc->Init.Oversampling.Ratio+1U))); + } + else + { + assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), sConfigInjected->InjectedOffset)); + } + + /* JDISCEN and JAUTO bits can't be set at the same time */ + assert_param(!((sConfigInjected->InjectedDiscontinuousConvMode == ENABLE) && (sConfigInjected->AutoInjectedConv == ENABLE))); + + /* DISCEN and JAUTO bits can't be set at the same time */ + assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (sConfigInjected->AutoInjectedConv == ENABLE))); + + /* Only rank 1 can be configured if there is only one conversion or if Scan conversion mode is disabled */ + assert_param(!(((hadc->Init.ScanConvMode == ADC_SCAN_DISABLE) || (sConfigInjected->InjectedNbrOfConversion == 1) ) && (sConfigInjected->InjectedRank != ADC_INJECTED_RANK_1))); + + + /* Verification of channel number. + For ADC1 and ADC2, channels 1 to 15 are available in differential mode, + channels 16 to 18 can be only used in single-ended mode. + For ADC3, channels 1 to 11 are available in differential mode, + channels 12 to 18 can only be used in single-ended mode. */ + if (sConfigInjected->InjectedSingleDiff != ADC_DIFFERENTIAL_ENDED) + { + assert_param(IS_ADC_CHANNEL(sConfigInjected->InjectedChannel)); + } + else + { + if (hadc->Instance == ADC3) + { + assert_param(IS_ADC3_DIFF_CHANNEL(sConfigInjected->InjectedChannel)); + } + else if(hadc->Instance == ADC2) + { + assert_param(IS_ADC2_DIFF_CHANNEL(sConfigInjected->InjectedChannel)); + } + else + { + assert_param(IS_ADC1_DIFF_CHANNEL(sConfigInjected->InjectedChannel)); + } + } + + /* Process locked */ + __HAL_LOCK(hadc); + + + + /* Configuration of Injected group sequencer. */ + /* Hardware constraint: Must fully define injected context register JSQR */ + /* before make it entering into injected sequencer queue. */ + /* */ + /* - if scan mode is disabled: */ + /* * Injected channels sequence length is set to 0x00: 1 channel */ + /* converted (channel on injected rank 1) */ + /* Parameter "InjectedNbrOfConversion" is discarded. */ + /* * Injected context register JSQR setting is simple: register is fully */ + /* defined on one call of this function (for injected rank 1) and can */ + /* be entered into queue directly. */ + /* - if scan mode is enabled: */ + /* * Injected channels sequence length is set to parameter */ + /* "InjectedNbrOfConversion". */ + /* * Injected context register JSQR setting more complex: register is */ + /* fully defined over successive calls of this function, for each */ + /* injected channel rank. It is entered into queue only when all */ + /* injected ranks have been set. */ + /* Note: Scan mode is not present by hardware on this device, but used */ + /* by software for alignment over all STM32 devices. */ + + if ((hadc->Init.ScanConvMode == ADC_SCAN_DISABLE) || + (sConfigInjected->InjectedNbrOfConversion == 1) ) + { + /* Configuration of context register JSQR: */ + /* - number of ranks in injected group sequencer: fixed to 1st rank */ + /* (scan mode disabled, only rank 1 used) */ + /* - external trigger to start conversion */ + /* - external trigger polarity */ + /* - channel set to rank 1 (scan mode disabled, only rank 1 can be used) */ + + if (sConfigInjected->InjectedRank == ADC_INJECTED_RANK_1) + { + /* Enable external trigger if trigger selection is different of */ + /* software start. */ + /* Note: This configuration keeps the hardware feature of parameter */ + /* ExternalTrigInjecConvEdge "trigger edge none" equivalent to */ + /* software start. */ + if ((sConfigInjected->ExternalTrigInjecConv != ADC_INJECTED_SOFTWARE_START) + && (sConfigInjected->ExternalTrigInjecConvEdge != ADC_EXTERNALTRIGINJECCONV_EDGE_NONE)) + { + tmp_JSQR_ContextQueueBeingBuilt = ( ADC_JSQR_RK(sConfigInjected->InjectedChannel, ADC_INJECTED_RANK_1) | + sConfigInjected->ExternalTrigInjecConv | + sConfigInjected->ExternalTrigInjecConvEdge ); + } + else + { + tmp_JSQR_ContextQueueBeingBuilt = ( ADC_JSQR_RK(sConfigInjected->InjectedChannel, ADC_INJECTED_RANK_1) ); + } + + + MODIFY_REG(hadc->Instance->JSQR, ADC_JSQR_FIELDS, tmp_JSQR_ContextQueueBeingBuilt); + /* For debug and informative reasons, hadc handle saves JSQR setting */ + hadc->InjectionConfig.ContextQueue = tmp_JSQR_ContextQueueBeingBuilt; + + } + } + else + { + /* Case of scan mode enabled, several channels to set into injected group */ + /* sequencer. */ + /* */ + /* Procedure to define injected context register JSQR over successive */ + /* calls of this function, for each injected channel rank: */ + /* 1. Start new context and set parameters related to all injected */ + /* channels: injected sequence length and trigger. */ + + /* if hadc->InjectionConfig.ChannelCount is equal to 0, this is the first */ + /* call of the context under setting */ + if (hadc->InjectionConfig.ChannelCount == 0) + { + /* Initialize number of channels that will be configured on the context */ + /* being built */ + hadc->InjectionConfig.ChannelCount = sConfigInjected->InjectedNbrOfConversion; + /* Handle hadc saves the context under build up over each HAL_ADCEx_InjectedConfigChannel() + call, this context will be written in JSQR register at the last call. + At this point, the context is merely reset */ + hadc->InjectionConfig.ContextQueue = (uint32_t)0x00000000; + + /* Configuration of context register JSQR: */ + /* - number of ranks in injected group sequencer */ + /* - external trigger to start conversion */ + /* - external trigger polarity */ + + /* Enable external trigger if trigger selection is different of */ + /* software start. */ + /* Note: This configuration keeps the hardware feature of parameter */ + /* ExternalTrigInjecConvEdge "trigger edge none" equivalent to */ + /* software start. */ + if ((sConfigInjected->ExternalTrigInjecConv != ADC_INJECTED_SOFTWARE_START) + && (sConfigInjected->ExternalTrigInjecConvEdge != ADC_EXTERNALTRIGINJECCONV_EDGE_NONE)) + { + tmp_JSQR_ContextQueueBeingBuilt = ((sConfigInjected->InjectedNbrOfConversion - (uint32_t)1) | + sConfigInjected->ExternalTrigInjecConv | + sConfigInjected->ExternalTrigInjecConvEdge ); + } + else + { + tmp_JSQR_ContextQueueBeingBuilt = ((sConfigInjected->InjectedNbrOfConversion - (uint32_t)1) ); + } + + + } /* if (hadc->InjectionConfig.ChannelCount == 0) */ + + + /* 2. Continue setting of context under definition with parameter */ + /* related to each channel: channel rank sequence */ + /* Clear the old JSQx bits for the selected rank */ + tmp_JSQR_ContextQueueBeingBuilt &= ~ADC_JSQR_RK(ADC_SQR3_SQ10, sConfigInjected->InjectedRank); + + /* Set the JSQx bits for the selected rank */ + tmp_JSQR_ContextQueueBeingBuilt |= ADC_JSQR_RK(sConfigInjected->InjectedChannel, sConfigInjected->InjectedRank); + + /* Decrease channel count */ + hadc->InjectionConfig.ChannelCount--; + + + /* 3. tmp_JSQR_ContextQueueBeingBuilt is fully built for this HAL_ADCEx_InjectedConfigChannel() + call, aggregate the setting to those already built during the previous + HAL_ADCEx_InjectedConfigChannel() calls (for the same context of course) */ + hadc->InjectionConfig.ContextQueue |= tmp_JSQR_ContextQueueBeingBuilt; + + /* 4. End of context setting: if this is the last channel set, then write context + into register JSQR and make it enter into queue */ + if (hadc->InjectionConfig.ChannelCount == 0) + { + MODIFY_REG(hadc->Instance->JSQR, ADC_JSQR_FIELDS, hadc->InjectionConfig.ContextQueue); + } + + + } + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated when ADC is disabled or enabled without */ + /* conversion on going on injected group: */ + /* - Injected context queue: Queue disable (active context is kept) or */ + /* enable (context decremented, up to 2 contexts queued) */ + /* - Injected discontinuous mode: can be enabled only if auto-injected */ + /* mode is disabled. */ + if (ADC_IS_CONVERSION_ONGOING_INJECTED(hadc) == RESET) + { + /* ADC channels preselection */ + hadc->Instance->PCSEL |= (1U << sConfigInjected->InjectedChannel); + + /* If auto-injected mode is disabled: no constraint */ + if (sConfigInjected->AutoInjectedConv == DISABLE) + { + MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_JQM | ADC_CFGR_JDISCEN, + ADC_CFGR_INJECT_CONTEXT_QUEUE(sConfigInjected->QueueInjectedContext) | + ADC_CFGR_INJECT_DISCCONTINUOUS(sConfigInjected->InjectedDiscontinuousConvMode) ); + } + /* If auto-injected mode is enabled: Injected discontinuous setting is */ + /* discarded. */ + else + { + MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_JQM | ADC_CFGR_JDISCEN, + ADC_CFGR_INJECT_CONTEXT_QUEUE(sConfigInjected->QueueInjectedContext) ); + } + + } + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated when ADC is disabled or enabled without */ + /* conversion on going on regular and injected groups: */ + /* - Automatic injected conversion: can be enabled if injected group */ + /* external triggers are disabled. */ + /* - Channel sampling time */ + /* - Channel offset */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) + { + /* If injected group external triggers are disabled (set to injected */ + /* software start): no constraint */ + if ((sConfigInjected->ExternalTrigInjecConv == ADC_INJECTED_SOFTWARE_START) + || (sConfigInjected->ExternalTrigInjecConvEdge == ADC_EXTERNALTRIGINJECCONV_EDGE_NONE)) + { + if (sConfigInjected->AutoInjectedConv == ENABLE) + { + SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO); + } + else + { + CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO); + } + } + /* If Automatic injected conversion was intended to be set and could not */ + /* due to injected group external triggers enabled, error is reported. */ + else + { + if (sConfigInjected->AutoInjectedConv == ENABLE) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + tmp_hal_status = HAL_ERROR; + } + else + { + CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO); + } + } + + if (sConfigInjected->InjecOversamplingMode == ENABLE) + { + assert_param(IS_ADC_OVERSAMPLING_RATIO(sConfigInjected->InjecOversampling.Ratio)); + assert_param(IS_ADC_RIGHT_BIT_SHIFT(sConfigInjected->InjecOversampling.RightBitShift)); + + /* JOVSE must be reset in case of triggered regular mode */ + assert_param(!(READ_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSE|ADC_CFGR2_TROVS) == (ADC_CFGR2_ROVSE|ADC_CFGR2_TROVS))); + + /* Configuration of Injected Oversampler: */ + /* - Oversampling Ratio */ + /* - Right bit shift */ + /* - Left bit shift */ + + /* Enable OverSampling mode */ + + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_INJ_FIELDS, + ADC_CFGR2_JOVSE | + sConfigInjected->InjecOversampling.Ratio | + sConfigInjected->InjecOversampling.RightBitShift); + } + else + { + /* Disable Regular OverSampling */ + CLEAR_BIT( hadc->Instance->CFGR2, ADC_CFGR2_JOVSE); + } + /* Set the LeftShift parameter: it is applied to the final result with or without oversampling */ + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_LSHIFT, sConfigInjected->InjectedLeftBitShift); + + /* Sampling time configuration of the selected channel */ + /* if ADC_Channel_10 ... ADC_Channel_18 is selected */ + if (sConfigInjected->InjectedChannel >= ADC_CHANNEL_10) + { + /* Clear the old sample time and set the new one */ + MODIFY_REG(hadc->Instance->SMPR2, + ADC_SMPR2(ADC_SMPR2_SMP10, sConfigInjected->InjectedChannel), + ADC_SMPR2(sConfigInjected->InjectedSamplingTime, sConfigInjected->InjectedChannel)); + } + else /* if ADC_Channel_0 ... ADC_Channel_9 is selected */ + { + /* Clear the old sample time and set the new one */ + MODIFY_REG(hadc->Instance->SMPR1, + ADC_SMPR1(ADC_SMPR1_SMP0, sConfigInjected->InjectedChannel), + ADC_SMPR1(sConfigInjected->InjectedSamplingTime, sConfigInjected->InjectedChannel)); + } + + + /* Configure the offset: offset enable/disable, channel, offset value */ + + /* Shift the offset in function of the selected ADC resolution. */ + /* Offset has to be left-aligned on bit 15, the LSB (right bits) are set to 0 */ + tmpOffsetShifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, sConfigInjected->InjectedOffset); + + switch (sConfigInjected->InjectedOffsetNumber) + { + case ADC_OFFSET_1: + /* Configure offset register 1: */ + /* - Enable offset */ + /* - Set channel number */ + /* - Set offset value */ + MODIFY_REG(hadc->Instance->OFR1, + ADC_OFR1_OFFSET1 | ADC_OFR1_OFFSET1_CH, + ADC_OFR_CHANNEL(sConfigInjected->InjectedChannel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT1, sConfigInjected-> InjectedOffsetRightShift); + /* Enable or disable the signed saturation bit */ + if(sConfigInjected->InjectedOffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR1, ADC_OFR1_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_SSATE); + } + break; + + case ADC_OFFSET_2: + /* Configure offset register 2: */ + /* - Enable offset */ + /* - Set channel number */ + /* - Set offset value */ + /* - Set Right shift after offset application */ + MODIFY_REG(hadc->Instance->OFR2, + ADC_OFR2_OFFSET2 | ADC_OFR2_OFFSET2_CH, + ADC_OFR_CHANNEL(sConfigInjected->InjectedChannel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT2, sConfigInjected-> InjectedOffsetRightShift<<1); + /* Enable or disable the signed saturation bit */ + if(sConfigInjected->InjectedOffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR2, ADC_OFR2_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_SSATE); + } + break; + + case ADC_OFFSET_3: + /* Configure offset register 3: */ + /* - Enable offset */ + /* - Set channel number */ + /* - Set offset value */ + /* - Set Right shift after offset application */ + MODIFY_REG(hadc->Instance->OFR3, + ADC_OFR3_OFFSET3 | ADC_OFR3_OFFSET3_CH, + ADC_OFR_CHANNEL(sConfigInjected->InjectedChannel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT3, sConfigInjected-> InjectedOffsetRightShift<<2); + /* Enable or disable the signed saturation bit */ + if(sConfigInjected->InjectedOffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR3, ADC_OFR3_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_SSATE); + } + break; + + case ADC_OFFSET_4: + /* Configure offset register 1: */ + /* - Enable offset */ + /* - Set channel number */ + /* - Set offset value */ + MODIFY_REG(hadc->Instance->OFR4, + ADC_OFR4_OFFSET4 | ADC_OFR4_OFFSET4_CH, + ADC_OFR_CHANNEL(sConfigInjected->InjectedChannel) | tmpOffsetShifted); + MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_RSHIFT4, sConfigInjected-> InjectedOffsetRightShift<<3); + /* Enable or disable the signed saturation bit */ + if(sConfigInjected->InjectedOffsetSignedSaturation != DISABLE) + { + SET_BIT(hadc->Instance->OFR4, ADC_OFR4_SSATE); + } + else + { + CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_SSATE); + } + break; + + /* Case ADC_OFFSET_NONE */ + default : + break; + } + + } /* if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) */ + + + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated only when ADC is disabled: */ + /* - Single or differential mode */ + /* - Internal measurement channels: Vbat/VrefInt/TempSensor */ + if (ADC_IS_ENABLE(hadc) == RESET) + { + /* Configuration of differential mode */ + if (sConfigInjected->InjectedSingleDiff != ADC_DIFFERENTIAL_ENDED) + { + /* Disable differential mode (default mode: single-ended) */ + CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_CHANNEL(sConfigInjected->InjectedChannel)); + } + else + { + /* Enable differential mode */ + SET_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_CHANNEL(sConfigInjected->InjectedChannel)); + + /* Sampling time configuration of channel ADC_IN+1 (negative input) */ + /* For channels 9 to 15 for ADC1, ADC2, 9 to 11 for ADC3 */ + if (sConfigInjected->InjectedChannel >= ADC_CHANNEL_9) + { + /* Clear the old sample time and set the new one */ + MODIFY_REG(hadc->Instance->SMPR2, + ADC_SMPR2(ADC_SMPR2_SMP10, sConfigInjected->InjectedChannel +1), + ADC_SMPR2(sConfigInjected->InjectedSamplingTime, sConfigInjected->InjectedChannel +1)); + } + else /* For channels 0 to 8 */ + { + /* Clear the old sample time and set the new one */ + MODIFY_REG(hadc->Instance->SMPR1, + ADC_SMPR1(ADC_SMPR1_SMP0, sConfigInjected->InjectedChannel +1), + ADC_SMPR1(sConfigInjected->InjectedSamplingTime, sConfigInjected->InjectedChannel +1)); + } + } + + + /* Management of internal measurement channels: Vbat/VrefInt/TempSensor */ + /* internal measurement paths enable: If internal channel selected, */ + /* enable dedicated internal buffers and path. */ + /* Note: these internal measurement paths can be disabled using */ + /* HAL_ADC_deInit(). */ + + /* Configuration of common ADC parameters */ + + if((hadc->Instance == ADC1) || (hadc->Instance == ADC2)) + { + /* Pointer to the common control register */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + } + else + { + /* Pointer to the common control register */ + tmpADC_Common = ADC3_COMMON_REGISTER(hadc); + } + + /* If the requested internal measurement path has already been enabled, */ + /* bypass the configuration processing. */ + if (( (sConfigInjected->InjectedChannel == ADC_CHANNEL_TEMPSENSOR) && + (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_TSEN)) ) || + ( (sConfigInjected->InjectedChannel == ADC_CHANNEL_VBAT_DIV4) && + (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_VBATEN)) ) || + ( (sConfigInjected->InjectedChannel == ADC_CHANNEL_VREFINT) && + (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_VREFEN))) + ) + { + /* Configuration of common ADC parameters (continuation) */ + /* Software is allowed to change common parameters only when all ADCs */ + /* of the common group are disabled. */ + if ((ADC_IS_ENABLE(hadc) == RESET) && + (ADC_ANY_OTHER_ENABLED(hadc) == RESET) ) + { + /* If Channel 17 is selected, enable Temp. sensor measurement path */ + /* Note: Temp. sensor internal channels available only on ADC3 */ + if ((sConfigInjected->InjectedChannel == ADC_CHANNEL_TEMPSENSOR) && + (hadc->Instance == ADC3)) + { + SET_BIT(tmpADC_Common->CCR, ADC_CCR_TSEN); + + /* Delay for temperature sensor stabilization time */ + while(WaitLoopIndex < ADC_TEMPSENSOR_DELAY_US) + { + WaitLoopIndex++; + } + } + /* If Channel 18 is selected, enable VBAT measurement path */ + /* Note: VBAT internal internal channels available only on ADC3 */ + else if ((sConfigInjected->InjectedChannel == ADC_CHANNEL_VBAT_DIV4) && + (hadc->Instance == ADC3)) + { + SET_BIT(tmpADC_Common->CCR, ADC_CCR_VBATEN); + } + /* If Channel 0 is selected, enable VREFINT measurement path */ + /* Note: VREFINT internal channels available only on ADC3 */ + else if ((sConfigInjected->InjectedChannel == ADC_CHANNEL_VREFINT) && + (hadc->Instance == ADC3)) + { + SET_BIT(tmpADC_Common->CCR, ADC_CCR_VREFEN); + } + else + { + /* Discrepancy found out between ADC instance and internal + channel request */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + tmp_hal_status = HAL_ERROR; + } + } + /* If the requested internal measurement path has already been enabled */ + /* and other ADC of the common group are enabled, internal */ + /* measurement paths cannot be enabled. */ + else + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + tmp_hal_status = HAL_ERROR; + } + } + + } /* if (ADC_IS_ENABLE(hadc) == RESET) */ + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + +/** + * @brief Enable ADC multimode and configure multimode parameters + * @note Possibility to update parameters on the fly: + * This function initializes multimode parameters, following + * calls to this function can be used to reconfigure some parameters + * of structure "ADC_MultiModeTypeDef" on the fly, without reseting + * the ADCs. + * The setting of these parameters is conditioned to ADC state. + * For parameters constraints, see comments of structure + * "ADC_MultiModeTypeDef". + * @note To move back configuration from multimode to single mode, ADC must + * be reset (using function HAL_ADC_Init() ). + * @param hadc: Master ADC handle + * @param multimode : Structure of ADC multimode configuration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel(ADC_HandleTypeDef* hadc, ADC_MultiModeTypeDef* multimode) +{ + HAL_StatusTypeDef tmp_hal_status = HAL_OK; + ADC_Common_TypeDef *tmpADC_Common; + ADC_HandleTypeDef tmphadcSlave; + + /* Check the parameters */ + assert_param(IS_ADC_MULTIMODE_MASTER_INSTANCE(hadc->Instance)); + assert_param(IS_ADC_MODE(multimode->Mode)); + if(multimode->Mode != ADC_MODE_INDEPENDENT) + { + assert_param(IS_ADC_DUAL_DATA_MODE(multimode->DualModeData)); + assert_param(IS_ADC_SAMPLING_DELAY(multimode->TwoSamplingDelay)); + } + + /* Process locked */ + __HAL_LOCK(hadc); + + ADC_MULTI_SLAVE(hadc, &tmphadcSlave); + + if (tmphadcSlave.Instance == NULL) + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + return HAL_ERROR; + } + /* Parameters update conditioned to ADC state: */ + /* Parameters that can be updated when ADC is disabled or enabled without */ + /* conversion on going on regular group: */ + /* - Multimode DATA Format configuration */ + if ( (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) + && (ADC_IS_CONVERSION_ONGOING_REGULAR(&tmphadcSlave) == RESET) ) + { + + /* Pointer to the common control register */ + tmpADC_Common = ADC12_COMMON_REGISTER(hadc); + + /* If multimode is selected, configure all multimode paramaters. */ + /* Otherwise, reset multimode parameters (can be used in case of */ + /* transition from multimode to independent mode). */ + if(multimode->Mode != ADC_MODE_INDEPENDENT) + { + MODIFY_REG(tmpADC_Common->CCR, ADC_CCR_DAMDF, multimode->DualModeData); + + /* Parameters that can be updated only when ADC is disabled: */ + /* - Multimode mode selection */ + /* - Multimode delay */ + /* Note: Delay range depends on selected resolution: */ + /* from 1 to 9 clock cycles for 16 bits */ + /* from 1 to 9 clock cycles for 14 bits, */ + /* from 1 to 8 clock cycles for 12 bits */ + /* from 1 to 6 clock cycles for 10 and 8 bits */ + /* If a higher delay is selected, it will be clipped to maximum delay */ + /* range */ + if ((ADC_IS_ENABLE(hadc) == RESET) && + (ADC_IS_ENABLE(&tmphadcSlave) == RESET) ) + { + MODIFY_REG(tmpADC_Common->CCR, ADC_CCR_DUAL | ADC_CCR_DELAY, + multimode->Mode | multimode->TwoSamplingDelay ); + } + } + else /* ADC_MODE_INDEPENDENT */ + { + CLEAR_BIT(tmpADC_Common->CCR, ADC_CCR_DAMDF); + + /* Parameters that can be updated only when ADC is disabled: */ + /* - Multimode mode selection */ + /* - Multimode delay */ + if ((ADC_IS_ENABLE(hadc) == RESET) && + (ADC_IS_ENABLE(&tmphadcSlave) == RESET) ) + { + CLEAR_BIT(tmpADC_Common->CCR, ADC_CCR_DUAL | ADC_CCR_DELAY); + } + } + } + /* If one of the ADC sharing the same common group is enabled, no update */ + /* could be done on neither of the multimode structure parameters. */ + else + { + /* Update ADC state machine to error */ + SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); + + tmp_hal_status = HAL_ERROR; + } + + + /* Process unlocked */ + __HAL_UNLOCK(hadc); + + /* Return function status */ + return tmp_hal_status ; +} + + + +/** + * @brief Enable Injected Queue + * @note This function resets CFGR register JQDIS bit in order to enable the + * Injected Queue. JQDIS can be written only when ADSTART and JDSTART + * are both equal to 0 to ensure that no regulart nor injected + * conversion is ongoing. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_EnableInjectedQueue(ADC_HandleTypeDef* hadc) +{ + /* Parameter can be set only if no conversion is on-going */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) + { + CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS); + + /* Update state, clear previous result related to injected queue overflow */ + CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Disable Injected Queue + * @note This function sets CFGR register JQDIS bit in order to disable the + * Injected Queue. JQDIS can be written only when ADSTART and JDSTART + * are both equal to 0 to ensure that no regulart nor injected + * conversion is ongoing. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_DisableInjectedQueue(ADC_HandleTypeDef* hadc) +{ + /* Parameter can be set only if no conversion is on-going */ + if (ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(hadc) == RESET) + { + SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS); + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + + +/** + * @brief Disable ADC voltage regulator. + * @note Disabling voltage regulator allows to save power. This operation can + * be carried out only when ADC is disabled. + * @note To enable again the voltage regulator, the user is expected to + * resort to HAL_ADC_Init() API. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_DisableVoltageRegulator(ADC_HandleTypeDef* hadc) +{ + /* ADVREGEN can be written only when the ADC is disabled */ + if (ADC_IS_ENABLE(hadc) == RESET) + { + CLEAR_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN); + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Enter ADC deep-power-down mode + * @note This mode is achieved in setting DEEPPWD bit and allows to save power + * in reducing leakage currents. It is particularly interesting before + * entering STOP1 or STOP2 modes. + * @note Setting DEEPPWD automatically clears ADVREGEN bit and disables the + * ADC voltage regulator. This means that this API encompasses + * HAL_ADCEx_DisableVoltageRegulator(). Additionally, the internal + * calibration is lost. + * @note To exit the ADC deep-power-down mode, the user is expected to + * resort to HAL_ADC_Init() API as well as to relaunch a calibration + * with HAL_ADCEx_Calibration_Start() API or to re-apply a previously + * saved calibration factor. + * @param hadc: ADC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ADCEx_EnterADCDeepPowerDownMode(ADC_HandleTypeDef* hadc) +{ + /* DEEPPWD can be written only when the ADC is disabled */ + if (ADC_IS_ENABLE(hadc) == RESET) + { + SET_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @} + */ + +/** + * @} + */ + + + +#endif /* HAL_ADC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c new file mode 100644 index 0000000000..fac0f0f539 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c @@ -0,0 +1,663 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cec.c + * @author MCD Application Team + * @brief CEC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the High Definition Multimedia Interface + * Consumer Electronics Control Peripheral (CEC). + * + Initialization and de-initialization function + * + IO operation function + * + Peripheral Control function + * + * + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The CEC HAL driver can be used as follow: + + (#) Declare a CEC_HandleTypeDef handle structure. + (#) Initialize the CEC low level resources by implementing the HAL_CEC_MspInit ()API: + (##) Enable the CEC interface clock. + (##) CEC pins configuration: + (+++) Enable the clock for the CEC GPIOs. + (+++) Configure these CEC pins as alternate function pull-up. + (##) NVIC configuration if you need to use interrupt process (HAL_CEC_Transmit_IT() + and HAL_CEC_Receive_IT() APIs): + (+++) Configure the CEC interrupt priority. + (+++) Enable the NVIC CEC IRQ handle. + (+++) The specific CEC interrupts (Transmission complete interrupt, + RXNE interrupt and Error Interrupts) will be managed using the macros + __HAL_CEC_ENABLE_IT() and __HAL_CEC_DISABLE_IT() inside the transmit + and receive process. + + (#) Program the Signal Free Time (SFT) and SFT option, Tolerance, reception stop in + in case of Bit Rising Error, Error-Bit generation conditions, device logical + address and Listen mode in the hcec Init structure. + + (#) Initialize the CEC registers by calling the HAL_CEC_Init() API. + + [..] + (@) This API (HAL_CEC_Init()) configures also the low level Hardware (GPIO, CLOCK, CORTEX...etc) + by calling the customed HAL_CEC_MspInit() API. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup CEC CEC + * @brief HAL CEC module driver + * @{ + */ +#ifdef HAL_CEC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup CEC_Private_Constants CEC Private Constants + * @{ + */ +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup CEC_Private_Functions CEC Private Functions + * @{ + */ +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ + +/** @defgroup CEC_Exported_Functions CEC Exported Functions + * @{ + */ + +/** @defgroup CEC_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim +=============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the CEC + (+) The following parameters need to be configured: + (++) SignalFreeTime + (++) Tolerance + (++) BRERxStop (RX stopped or not upon Bit Rising Error) + (++) BREErrorBitGen (Error-Bit generation in case of Bit Rising Error) + (++) LBPEErrorBitGen (Error-Bit generation in case of Long Bit Period Error) + (++) BroadcastMsgNoErrorBitGen (Error-bit generation in case of broadcast message error) + (++) SignalFreeTimeOption (SFT Timer start definition) + (++) OwnAddress (CEC device address) + (++) ListenMode + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the CEC mode according to the specified + * parameters in the CEC_InitTypeDef and creates the associated handle. + * @param hcec: CEC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CEC_Init(CEC_HandleTypeDef *hcec) +{ + /* Check the CEC handle allocation */ + if((hcec == NULL) ||(hcec->Init.RxBuffer == NULL)) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_CEC_ALL_INSTANCE(hcec->Instance)); + assert_param(IS_CEC_SIGNALFREETIME(hcec->Init.SignalFreeTime)); + assert_param(IS_CEC_TOLERANCE(hcec->Init.Tolerance)); + assert_param(IS_CEC_BRERXSTOP(hcec->Init.BRERxStop)); + assert_param(IS_CEC_BREERRORBITGEN(hcec->Init.BREErrorBitGen)); + assert_param(IS_CEC_LBPEERRORBITGEN(hcec->Init.LBPEErrorBitGen)); + assert_param(IS_CEC_BROADCASTERROR_NO_ERRORBIT_GENERATION(hcec->Init.BroadcastMsgNoErrorBitGen)); + assert_param(IS_CEC_SFTOP(hcec->Init.SignalFreeTimeOption)); + assert_param(IS_CEC_LISTENING_MODE(hcec->Init.ListenMode)); + assert_param(IS_CEC_OWN_ADDRESS(hcec->Init.OwnAddress)); + + if(hcec->gState == HAL_CEC_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hcec->Lock = HAL_UNLOCKED; + /* Init the low level hardware : GPIO, CLOCK */ + HAL_CEC_MspInit(hcec); + } + hcec->gState = HAL_CEC_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_CEC_DISABLE(hcec); + + /* Write to CEC Control Register */ + hcec->Instance->CFGR = hcec->Init.SignalFreeTime | hcec->Init.Tolerance | hcec->Init.BRERxStop|\ + hcec->Init.BREErrorBitGen | hcec->Init.LBPEErrorBitGen | hcec->Init.BroadcastMsgNoErrorBitGen |\ + hcec->Init.SignalFreeTimeOption |((uint32_t)(hcec->Init.OwnAddress)<<16U) |\ + hcec->Init.ListenMode; + + /* Enable the following CEC Transmission/Reception interrupts as + * well as the following CEC Transmission/Reception Errors interrupts + * Rx Byte Received IT + * End of Reception IT + * Rx overrun + * Rx bit rising error + * Rx short bit period error + * Rx long bit period error + * Rx missing acknowledge + * Tx Byte Request IT + * End of Transmission IT + * Tx Missing Acknowledge IT + * Tx-Error IT + * Tx-Buffer Underrun IT + * Tx arbitration lost */ + __HAL_CEC_ENABLE_IT(hcec, CEC_IT_RXBR|CEC_IT_RXEND|CEC_IER_RX_ALL_ERR|CEC_IT_TXBR|CEC_IT_TXEND|CEC_IER_TX_ALL_ERR); + + /* Enable the CEC Peripheral */ + __HAL_CEC_ENABLE(hcec); + + hcec->ErrorCode = HAL_CEC_ERROR_NONE; + hcec->gState = HAL_CEC_STATE_READY; + hcec->RxState = HAL_CEC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitializes the CEC peripheral + * @param hcec: CEC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CEC_DeInit(CEC_HandleTypeDef *hcec) +{ + /* Check the CEC handle allocation */ + if(hcec == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_CEC_ALL_INSTANCE(hcec->Instance)); + + hcec->gState = HAL_CEC_STATE_BUSY; + + /* DeInit the low level hardware */ + HAL_CEC_MspDeInit(hcec); + + /* Disable the Peripheral */ + __HAL_CEC_DISABLE(hcec); + + /* Clear Flags */ + __HAL_CEC_CLEAR_FLAG(hcec,CEC_FLAG_TXEND|CEC_FLAG_TXBR|CEC_FLAG_RXBR|CEC_FLAG_RXEND|CEC_ISR_ALL_ERROR); + + /* Disable the following CEC Transmission/Reception interrupts as + * well as the following CEC Transmission/Reception Errors interrupts + * Rx Byte Received IT + * End of Reception IT + * Rx overrun + * Rx bit rising error + * Rx short bit period error + * Rx long bit period error + * Rx missing acknowledge + * Tx Byte Request IT + * End of Transmission IT + * Tx Missing Acknowledge IT + * Tx-Error IT + * Tx-Buffer Underrun IT + * Tx arbitration lost */ + __HAL_CEC_DISABLE_IT(hcec, CEC_IT_RXBR|CEC_IT_RXEND|CEC_IER_RX_ALL_ERR|CEC_IT_TXBR|CEC_IT_TXEND|CEC_IER_TX_ALL_ERR); + + hcec->ErrorCode = HAL_CEC_ERROR_NONE; + hcec->gState = HAL_CEC_STATE_RESET; + hcec->RxState = HAL_CEC_STATE_RESET; + + /* Process Unlock */ + __HAL_UNLOCK(hcec); + + return HAL_OK; +} + +/** + * @brief Initializes the Own Address of the CEC device + * @param hcec: CEC handle + * @param CEC_OwnAddress: The CEC own address. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CEC_SetDeviceAddress(CEC_HandleTypeDef *hcec, uint16_t CEC_OwnAddress) +{ + /* Check the parameters */ + assert_param(IS_CEC_OWN_ADDRESS(CEC_OwnAddress)); + + if ((hcec->gState == HAL_CEC_STATE_READY) && (hcec->RxState == HAL_CEC_STATE_READY)) + { + /* Process Locked */ + __HAL_LOCK(hcec); + + hcec->gState = HAL_CEC_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_CEC_DISABLE(hcec); + + if(CEC_OwnAddress != CEC_OWN_ADDRESS_NONE) + { + hcec->Instance->CFGR |= ((uint32_t)CEC_OwnAddress<<16); + } + else + { + hcec->Instance->CFGR &= ~(CEC_CFGR_OAR); + } + + hcec->gState = HAL_CEC_STATE_READY; + hcec->ErrorCode = HAL_CEC_ERROR_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hcec); + + /* Enable the Peripheral */ + __HAL_CEC_ENABLE(hcec); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief CEC MSP Init + * @param hcec: CEC handle + * @retval None + */ + __weak void HAL_CEC_MspInit(CEC_HandleTypeDef *hcec) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcec); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_CEC_MspInit can be implemented in the user file + */ +} + +/** + * @brief CEC MSP DeInit + * @param hcec: CEC handle + * @retval None + */ + __weak void HAL_CEC_MspDeInit(CEC_HandleTypeDef *hcec) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcec); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_CEC_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup CEC_Exported_Functions_Group2 Input and Output operation functions + * @brief CEC Transmit/Receive functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + This subsection provides a set of functions allowing to manage the CEC data transfers. + + (#) The CEC handle must contain the initiator (TX side) and the destination (RX side) + logical addresses (4-bit long addresses, 0xF for broadcast messages destination) + + (#) The communication is performed using Interrupts. + These API's return the HAL status. + The end of the data processing will be indicated through the + dedicated CEC IRQ when using Interrupt mode. + The HAL_CEC_TxCpltCallback(), HAL_CEC_RxCpltCallback() user callbacks + will be executed respectively at the end of the transmit or Receive process + The HAL_CEC_ErrorCallback() user callback will be executed when a communication + error is detected + + (#) API's with Interrupt are : + (+) HAL_CEC_Transmit_IT() + (+) HAL_CEC_IRQHandler() + + (#) A set of User Callbacks are provided: + (+) HAL_CEC_TxCpltCallback() + (+) HAL_CEC_RxCpltCallback() + (+) HAL_CEC_ErrorCallback() + +@endverbatim + * @{ + */ + +/** + * @brief Send data in interrupt mode + * @param hcec: CEC handle + * @param InitiatorAddress: Initiator address + * @param DestinationAddress: destination logical address + * @param pData: pointer to input byte data buffer + * @param Size: amount of data to be sent in bytes (without counting the header). + * 0 means only the header is sent (ping operation). + * Maximum TX size is 15 bytes (1 opcode and up to 14 operands). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CEC_Transmit_IT(CEC_HandleTypeDef *hcec, uint8_t InitiatorAddress,uint8_t DestinationAddress, uint8_t *pData, uint32_t Size) +{ + /* if the IP isn't already busy and if there is no previous transmission + already pending due to arbitration lost */ + if (hcec->gState == HAL_CEC_STATE_READY) + { + if((pData == NULL ) && (Size > 0)) + { + return HAL_ERROR; + } + + assert_param(IS_CEC_ADDRESS(DestinationAddress)); + assert_param(IS_CEC_ADDRESS(InitiatorAddress)); + assert_param(IS_CEC_MSGSIZE(Size)); + + /* Process Locked */ + __HAL_LOCK(hcec); + hcec->pTxBuffPtr = pData; + hcec->gState = HAL_CEC_STATE_BUSY_TX; + hcec->ErrorCode = HAL_CEC_ERROR_NONE; + + /* initialize the number of bytes to send, + * 0 means only one header is sent (ping operation) */ + hcec->TxXferCount = Size; + + /* in case of no payload (Size = 0), sender is only pinging the system; + Set TX End of Message (TXEOM) bit, must be set before writing data to TXDR */ + if (Size == 0) + { + __HAL_CEC_LAST_BYTE_TX_SET(hcec); + } + /* send header block */ + hcec->Instance->TXDR = ((uint8_t)(InitiatorAddress << CEC_INITIATOR_LSB_POS) |(uint8_t) DestinationAddress); + /* Set TX Start of Message (TXSOM) bit */ + __HAL_CEC_FIRST_BYTE_TX_SET(hcec); + + /* Process Unlocked */ + __HAL_UNLOCK(hcec); + + return HAL_OK; + + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Get size of the received frame. + * @param hcec: CEC handle + * @retval Frame size + */ +uint32_t HAL_CEC_GetLastReceivedFrameSize(CEC_HandleTypeDef *hcec) +{ + return hcec->RxXferSize; +} + +/** + * @brief Change Rx Buffer. + * @param hcec: CEC handle + * @param Rxbuffer: Rx Buffer + * @note This function can be called only inside the HAL_CEC_RxCpltCallback() + * @retval Frame size + */ +void HAL_CEC_ChangeRxBuffer(CEC_HandleTypeDef *hcec, uint8_t* Rxbuffer) +{ + hcec->Init.RxBuffer = Rxbuffer; +} + +/** + * @brief This function handles CEC interrupt requests. + * @param hcec: CEC handle + * @retval None + */ +void HAL_CEC_IRQHandler(CEC_HandleTypeDef *hcec) +{ + /* save interrupts register for further error or interrupts handling purposes */ + uint32_t reg = 0; + reg = hcec->Instance->ISR; + + /*----------------------- Arbitration Lost Management ----------------------*/ + /* CEC TX arbitration error interrupt occurred -----------------------------*/ + if((reg & CEC_FLAG_ARBLST) != RESET) + { + hcec->ErrorCode = HAL_CEC_ERROR_ARBLST; + __HAL_CEC_CLEAR_FLAG(hcec, CEC_FLAG_ARBLST); + } + + /*------------------------------ Rx Management -----------------------------*/ + /* CEC RX byte received interrupt -----------------------------------------*/ + if((reg & CEC_FLAG_RXBR) != RESET) + { + /* reception is starting */ + hcec->RxState = HAL_CEC_STATE_BUSY_RX; + hcec->RxXferSize++; + /* read received byte */ + *hcec->Init.RxBuffer++ = hcec->Instance->RXDR; + __HAL_CEC_CLEAR_FLAG(hcec, CEC_FLAG_RXBR); + } + + /* CEC RX end received interrupt ------------------------------------------*/ + if((reg & CEC_FLAG_RXEND) != RESET) + { + /* clear IT */ + __HAL_CEC_CLEAR_FLAG(hcec, CEC_FLAG_RXEND); + + /* Rx process is completed, restore hcec->RxState to Ready */ + hcec->RxState = HAL_CEC_STATE_READY; + hcec->ErrorCode = HAL_CEC_ERROR_NONE; + hcec->Init.RxBuffer-=hcec->RxXferSize; + HAL_CEC_RxCpltCallback(hcec, hcec->RxXferSize); + hcec->RxXferSize = 0; + } + + /*------------------------------ Tx Management -----------------------------*/ + /* CEC TX byte request interrupt -------------------------------------------*/ + if((reg & CEC_FLAG_TXBR) != RESET) + { + if (hcec->TxXferCount == 0) + { + /* if this is the last byte transmission, set TX End of Message (TXEOM) bit */ + __HAL_CEC_LAST_BYTE_TX_SET(hcec); + hcec->Instance->TXDR = *hcec->pTxBuffPtr++; + } + else + { + hcec->Instance->TXDR = *hcec->pTxBuffPtr++; + hcec->TxXferCount--; + } + /* clear Tx-Byte request flag */ + __HAL_CEC_CLEAR_FLAG(hcec,CEC_FLAG_TXBR); + } + + /* CEC TX end interrupt ----------------------------------------------------*/ + if((reg & CEC_FLAG_TXEND) != RESET) + { + __HAL_CEC_CLEAR_FLAG(hcec, CEC_FLAG_TXEND); + + /* Tx process is ended, restore hcec->gState to Ready */ + hcec->gState = HAL_CEC_STATE_READY; + /* Call the Process Unlocked before calling the Tx call back API to give the + possibility to start again the Transmission under the Tx call back API */ + __HAL_UNLOCK(hcec); + hcec->ErrorCode = HAL_CEC_ERROR_NONE; + HAL_CEC_TxCpltCallback(hcec); + } + + /*------------------------- Rx/Tx Error Management -------------------------*/ + if ((reg & (CEC_ISR_RXOVR|CEC_ISR_BRE|CEC_ISR_SBPE|CEC_ISR_LBPE|CEC_ISR_RXACKE|CEC_ISR_TXUDR|CEC_ISR_TXERR|CEC_ISR_TXACKE)) != 0) + { + hcec->ErrorCode = reg; + __HAL_CEC_CLEAR_FLAG(hcec, HAL_CEC_ERROR_RXOVR|HAL_CEC_ERROR_BRE|CEC_FLAG_LBPE|CEC_FLAG_SBPE|HAL_CEC_ERROR_RXACKE|HAL_CEC_ERROR_TXUDR|HAL_CEC_ERROR_TXERR|HAL_CEC_ERROR_TXACKE); + + if((reg & (CEC_ISR_RXOVR|CEC_ISR_BRE|CEC_ISR_SBPE|CEC_ISR_LBPE|CEC_ISR_RXACKE)) != RESET) + { + hcec->Init.RxBuffer-=hcec->RxXferSize; + hcec->RxXferSize = 0; + hcec->RxState = HAL_CEC_STATE_READY; + } + else if (((reg & (CEC_ISR_TXUDR|CEC_ISR_TXERR|CEC_ISR_TXACKE)) != RESET) && ((reg & CEC_ISR_ARBLST) == RESET)) + { + /* Set the CEC state ready to be able to start again the process */ + hcec->gState = HAL_CEC_STATE_READY; + } + + /* Error Call Back */ + HAL_CEC_ErrorCallback(hcec); + } +} + +/** + * @brief Tx Transfer completed callback + * @param hcec: CEC handle + * @retval None + */ + __weak void HAL_CEC_TxCpltCallback(CEC_HandleTypeDef *hcec) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcec); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_CEC_TxCpltCallback can be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callback + * @param hcec: CEC handle + * @param RxFrameSize: Size of frame + * @retval None + */ +__weak void HAL_CEC_RxCpltCallback(CEC_HandleTypeDef *hcec, uint32_t RxFrameSize) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcec); + UNUSED(RxFrameSize); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_CEC_RxCpltCallback can be implemented in the user file + */ +} + +/** + * @brief CEC error callbacks + * @param hcec: CEC handle + * @retval None + */ + __weak void HAL_CEC_ErrorCallback(CEC_HandleTypeDef *hcec) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcec); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_CEC_ErrorCallback can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup CEC_Exported_Functions_Group3 Peripheral Control function + * @brief CEC control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control function ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the CEC. + (+) HAL_CEC_GetState() API can be helpful to check in run-time the state of the CEC peripheral. + (+) HAL_CEC_GetError() API can be helpful to check in run-time the error of the CEC peripheral. +@endverbatim + * @{ + */ +/** + * @brief return the CEC state + * @param hcec: pointer to a CEC_HandleTypeDef structure that contains + * the configuration information for the specified CEC module. + * @retval HAL state + */ +HAL_CEC_StateTypeDef HAL_CEC_GetState(CEC_HandleTypeDef *hcec) +{ + uint32_t temp1= 0x00U, temp2 = 0x00U; + temp1 = hcec->gState; + temp2 = hcec->RxState; + + return (HAL_CEC_StateTypeDef)(temp1 | temp2); +} + +/** +* @brief Return the CEC error code +* @param hcec : pointer to a CEC_HandleTypeDef structure that contains + * the configuration information for the specified CEC. +* @retval CEC Error Code +*/ +uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec) +{ + return hcec->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_CEC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c new file mode 100644 index 0000000000..0c38b46e48 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c @@ -0,0 +1,848 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_comp.c + * @author MCD Application Team + * @brief COMP HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the COMP peripheral: + * + Initialization and de-initialization functions + * + Start/Stop operation functions in polling mode + * + Start/Stop operation functions in interrupt mode + * + Peripheral control functions + * + Peripheral state functions + @verbatim + ================================================================================ + ##### COMP Peripheral features ##### + ================================================================================ + + [..] + The STM32H7xx device family integrates two analog comparators instances + COMP1 and COMP2: + (#) The COMP input minus (inverting input) and input plus (non inverting input) + can be set to internal references or to GPIO pins + (refer to GPIO list in reference manual). + + (#) The COMP output level is available using HAL_COMP_GetOutputLevel() + and can be redirected to other peripherals: GPIO pins (in mode + alternate functions for comparator), timers. + (refer to GPIO list in reference manual). + + (#) Pairs of comparators instances can be combined in window mode + (2 consecutive instances odd and even COMP and COMP). + + (#) The comparators have interrupt capability through the EXTI controller + with wake-up from sleep and stop modes: + (++) COMP1 is internally connected to EXTI Line 20 + (++) COMP2 is internally connected to EXTI Line 21 + + [..] + From the corresponding IRQ handler, the right interrupt source can be retrieved + using macro __HAL_COMP_COMP1_EXTI_GET_FLAG() and __HAL_COMP_COMP2_EXTI_GET_FLAG(). + + + + ##### How to use this driver ##### + ================================================================================ + [..] + This driver provides functions to configure and program the comparator instances of + STM32H7xx devices. + + To use the comparator, perform the following steps: + + (#) Initialize the COMP low level resources by implementing the HAL_COMP_MspInit(): + (++) Configure the GPIO connected to comparator inputs plus and minus in analog mode + using HAL_GPIO_Init(). + (++) If needed, configure the GPIO connected to comparator output in alternate function mode + using HAL_GPIO_Init(). + (++) If required enable the COMP interrupt by configuring and enabling EXTI line in Interrupt mode and + selecting the desired sensitivity level using HAL_GPIO_Init() function. After that enable the comparator + interrupt vector using HAL_NVIC_EnableIRQ() function. + + (#) Configure the comparator using HAL_COMP_Init() function: + (++) Select the input minus (inverting input) + (++) Select the input plus (non-inverting input) + (++) Select the hysteresis + (++) Select the blanking source + (++) Select the output polarity + (++) Select the power mode + (++) Select the window mode + -@@- HAL_COMP_Init() calls internally __HAL_RCC_SYSCFG_CLK_ENABLE() + to enable internal control clock of the comparators. + However, this is a legacy strategy. + Therefore, for compatibility anticipation, it is recommended to + implement __HAL_RCC_SYSCFG_CLK_ENABLE() in "HAL_COMP_MspInit()". + In STM32H7,COMP clock enable __HAL_RCC_COMP12_CLK_ENABLE() must + be implemented by user in "HAL_COMP_MspInit()". + (#) Reconfiguration on-the-fly of comparator can be done by calling again + function HAL_COMP_Init() with new input structure parameters values. + + (#) Enable the comparator using HAL_COMP_Start() or HAL_COMP_Start_IT()to be enabled + with the interrupt through NVIC of the CPU. + Note: HAL_COMP_Start_IT() must be called after each interrupt otherwise the interrupt + mode will stay disabled. + + (#) Use HAL_COMP_GetOutputLevel() or HAL_COMP_TriggerCallback() + functions to manage comparator outputs(output level or events) + + (#) Disable the comparator using HAL_COMP_Stop() or HAL_COMP_Stop_IT() + to disable the interrupt too. + + (#) De-initialize the comparator using HAL_COMP_DeInit() function. + + (#) For safety purpose, comparator configuration can be locked using HAL_COMP_Lock() function. + The only way to unlock the comparator is a device hardware reset. + @endverbatim + ****************************************************************************** + + Table 1. COMP inputs and output for STM32H7xx devices + +---------------------------------------------------------+ + | | | COMP1 | COMP2 | + |----------------|----------------|-----------|-----------| + | | IO1 | PB0 | PE9 | + | Input plus | IO2 | PB2 | PE11 | + | | | | | + |----------------|----------------|-----------------------| + | | 1/4 VrefInt | Available | Available | + | | 1/2 VrefInt | Available | Available | + | | 3/4 VrefInt | Available | Available | + | Input minus | VrefInt | Available | Available | + | | DAC1 channel 1 | Available | Available | + | | DAC1 channel 2 | Available | Available | + | | IO1 | PB1 | PE10 | + | | IO2 | PC4 | PE7 | + | | | | | + | | | | | + | | | | | + +---------------------------------------------------------+ + | Output | | PC5 (1) | PE8 (1) | + | | | PE12 (1) | PE13 (1) | + | | | TIM (2) | TIM (2) | + +---------------------------------------------------------+ + (1) GPIO must be set to alternate function for comparator + (2) Comparators output to timers is set in timers instances. + + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup COMP COMP + * @brief COMP HAL module driver + * @{ + */ + +#ifdef HAL_COMP_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup COMP_Private_Constants + * @{ + */ + +/* Delay for COMP startup time. */ +/* Note: Delay required to reach propagation delay specification. */ +/* Literal set to maximum value (refer to device datasheet, */ +/* parameter "tSTART"). */ +/* Unit: us */ +#define COMP_DELAY_STARTUP_US ((uint32_t) 80U) /*!< Delay for COMP startup time */ + +/* Delay for COMP voltage scaler stabilization time. */ +/* Literal set to maximum value (refer to device datasheet, */ +/* parameter "tSTART_SCALER"). */ +/* Unit: us */ +#define COMP_DELAY_VOLTAGE_SCALER_STAB_US ((uint32_t) 200U) /*!< Delay for COMP voltage scaler stabilization time */ + + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup COMP_Exported_Functions COMP Exported Functions + * @{ + */ + +/** @defgroup COMP_Exported_Functions_Group1 Initialization/de-initialization functions + * @brief Initialization and de-initialization functions. + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions to initialize and de-initialize comparators + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the COMP according to the specified + * parameters in the COMP_InitTypeDef and initialize the associated handle. + * @note If the selected comparator is locked, initialization can't be performed. + * To unlock the configuration, perform a system reset. + * @param hcomp: COMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_COMP_Init(COMP_HandleTypeDef *hcomp) +{ + uint32_t tmp_csr = 0; + uint32_t exti_line = 0; + uint32_t comp_voltage_scaler_not_initialized = 0; + __IO uint32_t wait_loop_index = 0; + + HAL_StatusTypeDef status = HAL_OK; + + /* Check the COMP handle allocation and lock status */ + if((hcomp == NULL) || (__HAL_COMP_IS_LOCKED(hcomp))) + { + status = HAL_ERROR; + } + else + { + /* Check the parameters */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + assert_param(IS_COMP_INPUT_PLUS(hcomp->Instance, hcomp->Init.NonInvertingInput)); + assert_param(IS_COMP_INPUT_MINUS(hcomp->Instance, hcomp->Init.InvertingInput)); + assert_param(IS_COMP_OUTPUTPOL(hcomp->Init.OutputPol)); + assert_param(IS_COMP_POWERMODE(hcomp->Init.Mode)); + assert_param(IS_COMP_HYSTERESIS(hcomp->Init.Hysteresis)); + assert_param(IS_COMP_BLANKINGSRCE(hcomp->Init.BlankingSrce)); + assert_param(IS_COMP_TRIGGERMODE(hcomp->Init.TriggerMode)); + assert_param(IS_COMP_WINDOWMODE(hcomp->Init.WindowMode)); + + if(hcomp->State == HAL_COMP_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hcomp->Lock = HAL_UNLOCKED; + + /* Init the low level hardware */ + HAL_COMP_MspInit(hcomp); + } + /* Memorize voltage scaler state before initialization */ + comp_voltage_scaler_not_initialized = (READ_BIT(hcomp->Instance->CFGR, COMP_CFGRx_SCALEN) == 0); + + /* Set COMP parameters */ + /* Set INMSEL bits according to hcomp->Init.InvertingInput value */ + /* Set INPSEL bits according to hcomp->Init.NonInvertingInput value */ + /* Set BLANKING bits according to hcomp->Init.BlankingSrce value */ + /* Set HYST bits according to hcomp->Init.Hysteresis value */ + /* Set POLARITY bit according to hcomp->Init.OutputPol value */ + /* Set POWERMODE bits according to hcomp->Init.Mode value */ + + tmp_csr = (hcomp->Init.InvertingInput | \ + hcomp->Init.NonInvertingInput | \ + hcomp->Init.BlankingSrce | \ + hcomp->Init.Hysteresis | \ + hcomp->Init.OutputPol | \ + hcomp->Init.Mode ); + + /* Set parameters in COMP register */ + /* Note: Update all bits except read-only, lock and enable bits */ + MODIFY_REG(hcomp->Instance->CFGR, + COMP_CFGRx_PWRMODE | COMP_CFGRx_INMSEL | COMP_CFGRx_INPSEL | + COMP_CFGRx_WINMODE | COMP_CFGRx_POLARITY | COMP_CFGRx_HYST | + COMP_CFGRx_BLANKING | COMP_CFGRx_BRGEN | COMP_CFGRx_SCALEN, + tmp_csr + ); + + /* Set window mode */ + /* Note: Window mode bit is located into 1 out of the 2 pairs of COMP */ + /* instances. Therefore, this function can update another COMP */ + /* instance that the one currently selected. */ + if(hcomp->Init.WindowMode == COMP_WINDOWMODE_COMP1_INPUT_PLUS_COMMON) + { + SET_BIT(hcomp->Instance->CFGR, COMP_CFGRx_WINMODE); + } + else + { + CLEAR_BIT(hcomp->Instance->CFGR, COMP_CFGRx_WINMODE); + } + /* Delay for COMP scaler bridge voltage stabilization */ + /* Apply the delay if voltage scaler bridge is enabled for the first time */ + if ((READ_BIT(hcomp->Instance->CFGR, COMP_CFGRx_SCALEN) != 0) && + (comp_voltage_scaler_not_initialized != 0) ) + { + /* Wait loop initialization and execution */ + /* Note: Variable divided by 2 to compensate partially */ + /* CPU processing cycles.*/ + + wait_loop_index = (COMP_DELAY_VOLTAGE_SCALER_STAB_US * (SystemCoreClock / (1000000 * 2))); + + while(wait_loop_index != 0) + { + wait_loop_index --; + } + } + + /* Get the EXTI line corresponding to the selected COMP instance */ + exti_line = COMP_GET_EXTI_LINE(hcomp->Instance); + + /* Manage EXTI settings */ + if((hcomp->Init.TriggerMode & (COMP_EXTI_IT | COMP_EXTI_EVENT)) != RESET) + { + /* Configure EXTI rising edge */ + if((hcomp->Init.TriggerMode & COMP_EXTI_RISING) != RESET) + { + SET_BIT(EXTI->RTSR1, exti_line); + } + else + { + CLEAR_BIT(EXTI->RTSR1, exti_line); + } + + /* Configure EXTI falling edge */ + if((hcomp->Init.TriggerMode & COMP_EXTI_FALLING) != RESET) + { + SET_BIT(EXTI->FTSR1, exti_line); + } + else + { + CLEAR_BIT(EXTI->FTSR1, exti_line); + } + /* Clear COMP EXTI pending bit (if any) */ + WRITE_REG(EXTI_D1->PR1, exti_line); + + /* Configure EXTI event mode */ + if((hcomp->Init.TriggerMode & COMP_EXTI_EVENT) != RESET) + { + SET_BIT(EXTI_D1->EMR1, exti_line); + } + else + { + CLEAR_BIT(EXTI_D1->EMR1, exti_line); + } + + /* Configure EXTI interrupt mode */ + if((hcomp->Init.TriggerMode & COMP_EXTI_IT) != RESET) + { + SET_BIT(EXTI_D1->IMR1, exti_line); + } + else + { + CLEAR_BIT(EXTI_D1->IMR1, exti_line); + } + } + else + { + /* Disable EXTI event mode */ + CLEAR_BIT(EXTI_D1->EMR1, exti_line); + + /* Disable EXTI interrupt mode */ + CLEAR_BIT(EXTI_D1->IMR1, exti_line); + } + /* Set HAL COMP handle state */ + /* Note: Transition from state reset to state ready, */ + /* otherwise (coming from state ready or busy) no state update. */ + if (hcomp->State == HAL_COMP_STATE_RESET) + { + + hcomp->State = HAL_COMP_STATE_READY; + } + + } + + return status; +} + +/** + * @brief DeInitialize the COMP peripheral. + * @note Deinitialization cannot be performed if the COMP configuration is locked. + * To unlock the configuration, perform a system reset. + * @param hcomp COMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_COMP_DeInit(COMP_HandleTypeDef *hcomp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the COMP handle allocation and lock status */ + if((hcomp == NULL) || (__HAL_COMP_IS_LOCKED(hcomp))) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + + /* Set COMP_CFGR register to reset value */ + WRITE_REG(hcomp->Instance->CFGR, 0x00000000); + + /* DeInit the low level hardware */ + HAL_COMP_MspDeInit(hcomp); + + /* Set HAL COMP handle state */ + hcomp->State = HAL_COMP_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hcomp); + } + + return status; +} + +/** + * @brief Initialize the COMP MSP. + * @param hcomp COMP handle + * @retval None + */ +__weak void HAL_COMP_MspInit(COMP_HandleTypeDef *hcomp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcomp); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_COMP_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize the COMP MSP. + * @param hcomp COMP handle + * @retval None + */ +__weak void HAL_COMP_MspDeInit(COMP_HandleTypeDef *hcomp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcomp); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_COMP_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup COMP_Exported_Functions_Group2 Start-Stop operation functions + * @brief Start-Stop operation functions. + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Start a Comparator instance without interrupt. + (+) Stop a Comparator instance without interrupt. + (+) Start a Comparator instance with interrupt generation. + (+) Stop a Comparator instance with interrupt generation. + +@endverbatim + * @{ + */ + +/** + * @brief Start the comparator. + * @param hcomp COMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_COMP_Start(COMP_HandleTypeDef *hcomp) +{ + __IO uint32_t wait_loop_index = 0; + + HAL_StatusTypeDef status = HAL_OK; + + /* Check the COMP handle allocation and lock status */ + if((hcomp == NULL) || (__HAL_COMP_IS_LOCKED(hcomp))) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + + if(hcomp->State == HAL_COMP_STATE_READY) + { + /* Enable the selected comparator */ + SET_BIT(hcomp->Instance->CFGR, COMP_CFGRx_EN); + + /* Set HAL COMP handle state */ + hcomp->State = HAL_COMP_STATE_BUSY; + + /* Delay for COMP startup time */ + /* Wait loop initialization and execution */ + /* Note: Variable divided by 2 to compensate partially */ + /* CPU processing cycles. */ + + wait_loop_index = (COMP_DELAY_STARTUP_US * (SystemCoreClock / (1000000 * 2))); + while(wait_loop_index != 0) + { + wait_loop_index--; + } + } + else + { + status = HAL_ERROR; + } + } + + return status; +} + +/** + * @brief Stop the comparator. + * @param hcomp COMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_COMP_Stop(COMP_HandleTypeDef *hcomp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the COMP handle allocation and lock status */ + if((hcomp == NULL) || (__HAL_COMP_IS_LOCKED(hcomp))) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + + if((hcomp->State == HAL_COMP_STATE_BUSY) || + (hcomp->State == HAL_COMP_STATE_READY) ) + { + + /* Disable the selected comparator */ + CLEAR_BIT(hcomp->Instance->CFGR, COMP_CFGRx_EN); + + /* Set HAL COMP handle state */ + hcomp->State = HAL_COMP_STATE_READY; + } + else + { + status = HAL_ERROR; + } + } + + return status; +} + +/** + * @brief Enable the interrupt and start the comparator. + * @param hcomp COMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_COMP_Start_IT(COMP_HandleTypeDef *hcomp) +{ + + __IO uint32_t wait_loop_index = 0; + HAL_StatusTypeDef status = HAL_OK; + + /* Check the COMP handle allocation and lock status */ + if((hcomp == NULL) || (__HAL_COMP_IS_LOCKED(hcomp))) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + /* Set HAL COMP handle state */ + if(hcomp->State == HAL_COMP_STATE_READY) + { + + /* Enable the selected comparator */ + SET_BIT(hcomp->Instance->CFGR, COMP_CFGRx_EN); + /* Enable the Interrupt comparator */ + SET_BIT(hcomp->Instance->CFGR, COMP_CFGRx_ITEN); + + hcomp->State = HAL_COMP_STATE_BUSY; + /* Delay for COMP startup time */ + /* Wait loop initialization and execution */ + /* Note: Variable divided by 2 to compensate partially */ + /* CPU processing cycles. */ + + wait_loop_index = (COMP_DELAY_STARTUP_US * (SystemCoreClock / (1000000 * 2))); + while(wait_loop_index != 0) + { + wait_loop_index--; + } + + } + else + { + status = HAL_ERROR; + } + } + + return status; +} + +/** + * @brief Disable the interrupt and Stop the comparator. + * @param hcomp COMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_COMP_Stop_IT(COMP_HandleTypeDef *hcomp) +{ + HAL_StatusTypeDef status = HAL_OK; + /* Disable the EXTI Line interrupt mode */ + CLEAR_BIT(EXTI_D1->IMR1, COMP_GET_EXTI_LINE(hcomp->Instance)); + /* Disable the Interrupt comparator */ + CLEAR_BIT(hcomp->Instance->CFGR, COMP_CFGRx_ITEN); + + status = HAL_COMP_Stop(hcomp); + + return status; + +} + +/** + * @brief Comparator IRQ Handler. + * @param hcomp COMP handle + * @retval HAL status + */ +void HAL_COMP_IRQHandler(COMP_HandleTypeDef *hcomp) +{ + /* Get the EXTI line corresponding to the selected COMP instance */ + uint32_t exti_line = COMP_GET_EXTI_LINE(hcomp->Instance); + + + /* Check COMP EXTI flag */ + if(READ_BIT(EXTI_D1->PR1, exti_line) != RESET) + { + /* Check whether comparator is in independent or window mode */ + if(READ_BIT(COMP12_COMMON->CFGR, COMP_CFGRx_WINMODE) != RESET) + { + /* Clear COMP EXTI line pending bit of the pair of comparators */ + /* in window mode. */ + /* Note: Pair of comparators in window mode can both trig IRQ when */ + /* input voltage is changing from "out of window" area */ + /* (low or high ) to the other "out of window" area (high or low).*/ + /* Both flags must be cleared to call comparator trigger */ + /* callback is called once. */ + WRITE_REG(EXTI_D1->PR1, (COMP_EXTI_LINE_COMP1 | COMP_EXTI_LINE_COMP2)); + } + else + { + /* Clear COMP EXTI line pending bit */ + WRITE_REG(EXTI_D1->PR1, exti_line); + } + + /* COMP trigger user callback */ + HAL_COMP_TriggerCallback(hcomp); + } + + /* Get COMP interrupt source */ + if (__HAL_COMP_GET_IT_SOURCE(hcomp, COMP_IT_EN) != RESET) + { + + if((__HAL_COMP_GET_FLAG( COMP_FLAG_C1I)) != RESET) + { + /* Clear the COMP channel 1 interrupt flag */ + __HAL_COMP_CLEAR_C1IFLAG(); + + /* Disable COMP interrupt */ + __HAL_COMP_DISABLE_IT(hcomp,COMP_IT_EN); + + } + if((__HAL_COMP_GET_FLAG( COMP_FLAG_C2I)) != RESET) + { + /* Clear the COMP channel 2 interrupt flag */ + __HAL_COMP_CLEAR_C2IFLAG(); + + /* Disable COMP interrupt */ + __HAL_COMP_DISABLE_IT(hcomp,COMP_IT_EN); + + } + + /* Change COMP state */ + hcomp->State = HAL_COMP_STATE_READY; + + /* COMP trigger user callback */ + HAL_COMP_TriggerCallback(hcomp); + } + + +} + +/** + * @} + */ + +/** @defgroup COMP_Exported_Functions_Group3 Peripheral Control functions + * @brief Management functions. + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the comparators. + +@endverbatim + * @{ + */ + +/** + * @brief Lock the selected comparator configuration. + * @note A system reset is required to unlock the comparator configuration. + * @param hcomp COMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_COMP_Lock(COMP_HandleTypeDef *hcomp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the COMP handle allocation and lock status */ + if((hcomp == NULL) || (__HAL_COMP_IS_LOCKED(hcomp))) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + /* Set HAL COMP handle state */ + hcomp->State = ((HAL_COMP_StateTypeDef)(hcomp->State | COMP_STATE_BITFIELD_LOCK)); + } + + if(status == HAL_OK) + { + /* Set the lock bit corresponding to selected comparator */ + __HAL_COMP_LOCK(hcomp); + } + + return status; +} + +/** + * @brief Return the output level (high or low) of the selected comparator. + * @note The output level depends on the selected polarity. + * If the polarity is not inverted: + * - Comparator output is low when the input plus is at a lower + * voltage than the input minus + * - Comparator output is high when the input plus is at a higher + * voltage than the input minus + * If the polarity is inverted: + * - Comparator output is high when the input plus is at a lower + * voltage than the input minus + * - Comparator output is low when the input plus is at a higher + * voltage than the input minus + * @param hcomp COMP handle + * @retval Returns the selected comparator output level: + * @arg @ref COMP_OUTPUT_LEVEL_LOW + * @arg @ref COMP_OUTPUT_LEVEL_HIGH + * + */ +uint32_t HAL_COMP_GetOutputLevel(COMP_HandleTypeDef *hcomp) +{ + /* Check the parameter */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + + if (hcomp->Instance == COMP1) + { + return (uint32_t)(READ_BIT(COMP12->SR, COMP_SR_C1VAL)); + } + else + { + return (uint32_t)((READ_BIT(COMP12->SR, COMP_SR_C2VAL))>> 1); + } +} + +/** + * @brief Comparator callback. + * @param hcomp COMP handle + * @retval None + */ +__weak void HAL_COMP_TriggerCallback(COMP_HandleTypeDef *hcomp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcomp); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_COMP_TriggerCallback should be implemented in the user file + */ +} + + +/** + * @} + */ + +/** @defgroup COMP_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions. + * +@verbatim + =============================================================================== + ##### Peripheral State functions ##### + =============================================================================== + [..] + This subsection permit to get in run-time the status of the peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Return the COMP handle state. + * @param hcomp COMP handle + * @retval HAL state + */ +HAL_COMP_StateTypeDef HAL_COMP_GetState(COMP_HandleTypeDef *hcomp) +{ + /* Check the COMP handle allocation */ + if(hcomp == NULL) + { + return HAL_COMP_STATE_RESET; + } + + /* Check the parameter */ + assert_param(IS_COMP_ALL_INSTANCE(hcomp->Instance)); + + /* Return HAL COMP handle state */ + return hcomp->State; +} +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_COMP_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c new file mode 100644 index 0000000000..f308d30fb3 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c @@ -0,0 +1,529 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cortex.c + * @author MCD Application Team + * @brief CORTEX HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the CORTEX: + * + Initialization and de-initialization functions + * + Peripheral Control functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + + [..] + *** How to configure Interrupts using CORTEX HAL driver *** + =========================================================== + [..] + This section provides functions allowing to configure the NVIC interrupts (IRQ). + The Cortex-M exceptions are managed by CMSIS functions. + + (#) Configure the NVIC Priority Grouping using HAL_NVIC_SetPriorityGrouping() + function according to the following table. + (#) Configure the priority of the selected IRQ Channels using HAL_NVIC_SetPriority(). + (#) Enable the selected IRQ Channels using HAL_NVIC_EnableIRQ(). + (#) please refer to programming manual for details in how to configure priority. + + -@- When the NVIC_PRIORITYGROUP_0 is selected, IRQ preemption is no more possible. + The pending IRQ priority will be managed only by the sub priority. + + -@- IRQ priority order (sorted by highest to lowest priority): + (+@) Lowest preemption priority + (+@) Lowest sub priority + (+@) Lowest hardware priority (IRQ number) + + [..] + *** How to configure Systick using CORTEX HAL driver *** + ======================================================== + [..] + Setup SysTick Timer for time base. + + (+) The HAL_SYSTICK_Config() function calls the SysTick_Config() function which + is a CMSIS function that: + (++) Configures the SysTick Reload register with value passed as function parameter. + (++) Configures the SysTick IRQ priority to the lowest value (0x0F). + (++) Resets the SysTick Counter register. + (++) Configures the SysTick Counter clock source to be Core Clock Source (HCLK). + (++) Enables the SysTick Interrupt. + (++) Starts the SysTick Counter. + + (+) You can change the SysTick Clock source to be HCLK_Div8 by calling the macro + HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK_DIV8) just after the + HAL_SYSTICK_Config() function call. The HAL_SYSTICK_CLKSourceConfig() macro is defined + inside the stm32h7xx_hal_cortex.h file. + + (+) You can change the SysTick IRQ priority by calling the + HAL_NVIC_SetPriority(SysTick_IRQn,...) function just after the HAL_SYSTICK_Config() function + call. The HAL_NVIC_SetPriority() call the NVIC_SetPriority() function which is a CMSIS function. + + (+) To adjust the SysTick time base, use the following formula: + + Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s) + (++) Reload Value is the parameter to be passed for HAL_SYSTICK_Config() function + (++) Reload Value should not exceed 0xFFFFFF + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup CORTEX CORTEX + * @brief CORTEX HAL module driver + * @{ + */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup CORTEX_Exported_Functions CORTEX Exported Functions + * @{ + */ + + +/** @defgroup CORTEX_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + [..] + This section provides the CORTEX HAL driver functions allowing to configure Interrupts + Systick functionalities + +@endverbatim + * @{ + */ + + +/** + * @brief Sets the priority grouping field (preemption priority and subpriority) + * using the required unlock sequence. + * @param PriorityGroup The priority grouping bits length. + * This parameter can be one of the following values: + * @arg NVIC_PRIORITYGROUP_0: 0 bits for preemption priority + * 4 bits for subpriority + * @arg NVIC_PRIORITYGROUP_1: 1 bits for preemption priority + * 3 bits for subpriority + * @arg NVIC_PRIORITYGROUP_2: 2 bits for preemption priority + * 2 bits for subpriority + * @arg NVIC_PRIORITYGROUP_3: 3 bits for preemption priority + * 1 bits for subpriority + * @arg NVIC_PRIORITYGROUP_4: 4 bits for preemption priority + * 0 bits for subpriority + * @note When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible. + * The pending IRQ priority will be managed only by the subpriority. + * @retval None + */ +void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + /* Check the parameters */ + assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); + + /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */ + NVIC_SetPriorityGrouping(PriorityGroup); +} + +/** + * @brief Sets the priority of an interrupt. + * @param IRQn External interrupt number. + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @param PreemptPriority The preemption priority for the IRQn channel. + * This parameter can be a value between 0 and 15 + * A lower priority value indicates a higher priority + * @param SubPriority the subpriority level for the IRQ channel. + * This parameter can be a value between 0 and 15 + * A lower priority value indicates a higher priority. + * @retval None + */ +void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t prioritygroup; + + /* Check the parameters */ + assert_param(IS_NVIC_SUB_PRIORITY(SubPriority)); + assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority)); + + prioritygroup = NVIC_GetPriorityGrouping(); + + NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); +} + +/** + * @brief Enables a device specific interrupt in the NVIC interrupt controller. + * @note To configure interrupts priority correctly, the NVIC_PriorityGroupConfig() + * function should be called before. + * @param IRQn External interrupt number. + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @retval None + */ +void HAL_NVIC_EnableIRQ(IRQn_Type IRQn) +{ + /* Check the parameters */ + assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); + + /* Enable interrupt */ + NVIC_EnableIRQ(IRQn); +} + +/** + * @brief Disables a device specific interrupt in the NVIC interrupt controller. + * @param IRQn External interrupt number. + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @retval None + */ +void HAL_NVIC_DisableIRQ(IRQn_Type IRQn) +{ + /* Check the parameters */ + assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); + + /* Disable interrupt */ + NVIC_DisableIRQ(IRQn); +} + +/** + * @brief Initiates a system reset request to reset the MCU. + * @retval None + */ +void HAL_NVIC_SystemReset(void) +{ + /* System Reset */ + NVIC_SystemReset(); +} + +/** + * @brief Initializes the System Timer and its interrupt, and starts the System Tick Timer. + * Counter is in free running mode to generate periodic interrupts. + * @param TicksNumb Specifies the ticks Number of ticks between two interrupts. + * @retval status - 0 Function succeeded. + * - 1 Function failed. + */ +uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb) +{ + return SysTick_Config(TicksNumb); +} +/** + * @} + */ + +/** @defgroup CORTEX_Exported_Functions_Group2 Peripheral Control functions + * @brief Cortex control functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control the CORTEX + (NVIC, SYSTICK, MPU) functionalities. + + +@endverbatim + * @{ + */ +#if (__MPU_PRESENT == 1) +/** + * @brief Disables the MPU + * @retval None + */ +void HAL_MPU_Disable(void) +{ + /* Make sure outstanding transfers are done */ + __DMB(); + + /* Disable fault exceptions */ + SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; + + /* Disable the MPU and clear the control register*/ + MPU->CTRL = 0; +} + +/** + * @brief Enables the MPU + * @param MPU_Control Specifies the control mode of the MPU during hard fault, + * NMI, FAULTMASK and privileged access to the default memory + * This parameter can be one of the following values: + * @arg MPU_HFNMI_PRIVDEF_NONE + * @arg MPU_HARDFAULT_NMI + * @arg MPU_PRIVILEGED_DEFAULT + * @arg MPU_HFNMI_PRIVDEF + * @retval None + */ +void HAL_MPU_Enable(uint32_t MPU_Control) +{ + /* Enable the MPU */ + MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; + + /* Enable fault exceptions */ + SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; + + /* Ensure MPU setting take effects */ + __DSB(); + __ISB(); +} +/** + * @brief Initializes and configures the Region and the memory to be protected. + * @param MPU_Init Pointer to a MPU_Region_InitTypeDef structure that contains + * the initialization and configuration information. + * @retval None + */ +void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init) +{ + /* Check the parameters */ + assert_param(IS_MPU_REGION_NUMBER(MPU_Init->Number)); + assert_param(IS_MPU_REGION_ENABLE(MPU_Init->Enable)); + + /* Set the Region number */ + MPU->RNR = MPU_Init->Number; + + if ((MPU_Init->Enable) != RESET) + { + /* Check the parameters */ + assert_param(IS_MPU_INSTRUCTION_ACCESS(MPU_Init->DisableExec)); + assert_param(IS_MPU_REGION_PERMISSION_ATTRIBUTE(MPU_Init->AccessPermission)); + assert_param(IS_MPU_TEX_LEVEL(MPU_Init->TypeExtField)); + assert_param(IS_MPU_ACCESS_SHAREABLE(MPU_Init->IsShareable)); + assert_param(IS_MPU_ACCESS_CACHEABLE(MPU_Init->IsCacheable)); + assert_param(IS_MPU_ACCESS_BUFFERABLE(MPU_Init->IsBufferable)); + assert_param(IS_MPU_SUB_REGION_DISABLE(MPU_Init->SubRegionDisable)); + assert_param(IS_MPU_REGION_SIZE(MPU_Init->Size)); + + MPU->RBAR = MPU_Init->BaseAddress; + MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | + ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | + ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | + ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | + ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | + ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | + ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | + ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | + ((uint32_t)MPU_Init->Enable << MPU_RASR_ENABLE_Pos); + } + else + { + MPU->RBAR = 0x00; + MPU->RASR = 0x00; + } +} +#endif /* __MPU_PRESENT */ + +/** + * @brief Gets the priority grouping field from the NVIC Interrupt Controller. + * @retval Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field) + */ +uint32_t HAL_NVIC_GetPriorityGrouping(void) +{ + /* Get the PRIGROUP[10:8] field value */ + return NVIC_GetPriorityGrouping(); +} + +/** + * @brief Gets the priority of an interrupt. + * @param IRQn External interrupt number. + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @param PriorityGroup the priority grouping bits length. + * This parameter can be one of the following values: + * @arg NVIC_PRIORITYGROUP_0: 0 bits for preemption priority + * 4 bits for subpriority + * @arg NVIC_PRIORITYGROUP_1: 1 bits for preemption priority + * 3 bits for subpriority + * @arg NVIC_PRIORITYGROUP_2: 2 bits for preemption priority + * 2 bits for subpriority + * @arg NVIC_PRIORITYGROUP_3: 3 bits for preemption priority + * 1 bits for subpriority + * @arg NVIC_PRIORITYGROUP_4: 4 bits for preemption priority + * 0 bits for subpriority + * @param pPreemptPriority Pointer on the Preemptive priority value (starting from 0). + * @param pSubPriority Pointer on the Subpriority value (starting from 0). + * @retval None + */ +void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint32_t *pSubPriority) +{ + /* Check the parameters */ + assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); + /* Get priority for Cortex-M system or device specific interrupts */ + NVIC_DecodePriority(NVIC_GetPriority(IRQn), PriorityGroup, pPreemptPriority, pSubPriority); +} + +/** + * @brief Sets Pending bit of an external interrupt. + * @param IRQn External interrupt number + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @retval None + */ +void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + /* Check the parameters */ + assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); + + /* Set interrupt pending */ + NVIC_SetPendingIRQ(IRQn); +} + +/** + * @brief Gets Pending Interrupt (reads the pending register in the NVIC + * and returns the pending bit for the specified interrupt). + * @param IRQn External interrupt number. + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @retval status - 0 Interrupt status is not pending. + * - 1 Interrupt status is pending. + */ +uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + /* Check the parameters */ + assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); + + /* Return 1 if pending else 0 */ + return NVIC_GetPendingIRQ(IRQn); +} + +/** + * @brief Clears the pending bit of an external interrupt. + * @param IRQn External interrupt number. + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @retval None + */ +void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + /* Check the parameters */ + assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); + + /* Clear pending interrupt */ + NVIC_ClearPendingIRQ(IRQn); +} + +/** + * @brief Gets active interrupt ( reads the active register in NVIC and returns the active bit). + * @param IRQn External interrupt number + * This parameter can be an enumerator of IRQn_Type enumeration + * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32h7xxxx.h)) + * @retval status - 0 Interrupt status is not pending. + * - 1 Interrupt status is pending. + */ +uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn) +{ + /* Check the parameters */ + assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); + + /* Return 1 if active else 0 */ + return NVIC_GetActive(IRQn); +} + +/** + * @brief Configures the SysTick clock source. + * @param CLKSource specifies the SysTick clock source. + * This parameter can be one of the following values: + * @arg SYSTICK_CLKSOURCE_HCLK_DIV8: AHB clock divided by 8 selected as SysTick clock source. + * @arg SYSTICK_CLKSOURCE_HCLK: AHB clock selected as SysTick clock source. + * @retval None + */ +void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource) +{ + /* Check the parameters */ + assert_param(IS_SYSTICK_CLK_SOURCE(CLKSource)); + if (CLKSource == SYSTICK_CLKSOURCE_HCLK) + { + SysTick->CTRL |= SYSTICK_CLKSOURCE_HCLK; + } + else + { + SysTick->CTRL &= ~SYSTICK_CLKSOURCE_HCLK; + } +} + +/** + * @brief This function handles SYSTICK interrupt request. + * @retval None + */ +void HAL_SYSTICK_IRQHandler(void) +{ + HAL_SYSTICK_Callback(); +} + +/** + * @brief SYSTICK callback. + * @retval None + */ +__weak void HAL_SYSTICK_Callback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SYSTICK_Callback could be implemented in the user file + */ +} + + +/** +* @brief Returns the current CPU ID. +* @retval CPU identifier +*/ +uint32_t HAL_GetCurrentCPUID(void) +{ + return CM7_CPUID; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_CORTEX_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c new file mode 100644 index 0000000000..618b2880f1 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c @@ -0,0 +1,523 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_crc.c + * @author MCD Application Team + * @brief CRC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Cyclic Redundancy Check (CRC) peripheral: + * + Initialization and de-initialization functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + =============================================================================== + ##### CRC How to use this driver ##### + =============================================================================== + [..] + + (#) Enable CRC AHB clock using __HAL_RCC_CRC_CLK_ENABLE(); + + (#) Initialize CRC calculator + (++) specify generating polynomial (IP default or non-default one) + (++) specify initialization value (IP default or non-default one) + (++) specify input data format + (++) specify input or output data inversion mode if any + + (#) Use HAL_CRC_Accumulate() function to compute the CRC value of the + input data buffer starting with the previously computed CRC as + initialization value + + (#) Use HAL_CRC_Calculate() function to compute the CRC value of the + input data buffer starting with the defined initialization value + (default or non-default) to initiate CRC calculation + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup CRC CRC + * @brief CRC HAL module driver. + * @{ + */ + +#ifdef HAL_CRC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static uint32_t CRC_Handle_8(CRC_HandleTypeDef *hcrc, uint8_t pBuffer[], uint32_t BufferLength); +static uint32_t CRC_Handle_16(CRC_HandleTypeDef *hcrc, uint16_t pBuffer[], uint32_t BufferLength); +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup CRC_Exported_Functions CRC Exported Functions + * @{ + */ + +/** @defgroup HAL_CRC_Group1 Initialization/de-initialization functions + * @brief Initialization and Configuration functions. + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the CRC according to the specified parameters + in the CRC_InitTypeDef and create the associated handle + (+) DeInitialize the CRC peripheral + (+) Initialize the CRC MSP + (+) DeInitialize CRC MSP + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the CRC according to the specified + * parameters in the CRC_InitTypeDef and create the associated handle. + * @param hcrc: CRC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRC_Init(CRC_HandleTypeDef *hcrc) +{ + /* Check the CRC handle allocation */ + if(hcrc == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_CRC_ALL_INSTANCE(hcrc->Instance)); + + if(hcrc->State == HAL_CRC_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hcrc->Lock = HAL_UNLOCKED; + /* Init the low level hardware */ + HAL_CRC_MspInit(hcrc); + } + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_BUSY; + + /* check whether or not non-default generating polynomial has been + * picked up by user */ + assert_param(IS_DEFAULT_POLYNOMIAL(hcrc->Init.DefaultPolynomialUse)); + if(hcrc->Init.DefaultPolynomialUse == DEFAULT_POLYNOMIAL_ENABLE) + { + /* initialize IP with default generating polynomial */ + WRITE_REG(hcrc->Instance->POL, DEFAULT_CRC32_POLY); + MODIFY_REG(hcrc->Instance->CR, CRC_CR_POLYSIZE, CRC_POLYLENGTH_32B); + } + else + { + /* initialize CRC IP with generating polynomial defined by user */ + if(HAL_CRCEx_Polynomial_Set(hcrc, hcrc->Init.GeneratingPolynomial, hcrc->Init.CRCLength) != HAL_OK) + { + return HAL_ERROR; + } + } + + /* check whether or not non-default CRC initial value has been + * picked up by user */ + assert_param(IS_DEFAULT_INIT_VALUE(hcrc->Init.DefaultInitValueUse)); + if(hcrc->Init.DefaultInitValueUse == DEFAULT_INIT_VALUE_ENABLE) + { + WRITE_REG(hcrc->Instance->INIT, DEFAULT_CRC_INITVALUE); + } + else + { + WRITE_REG(hcrc->Instance->INIT, hcrc->Init.InitValue); + } + + + /* set input data inversion mode */ + assert_param(IS_CRC_INPUTDATA_INVERSION_MODE(hcrc->Init.InputDataInversionMode)); + MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_IN, hcrc->Init.InputDataInversionMode); + + /* set output data inversion mode */ + assert_param(IS_CRC_OUTPUTDATA_INVERSION_MODE(hcrc->Init.OutputDataInversionMode)); + MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_OUT, hcrc->Init.OutputDataInversionMode); + + /* makes sure the input data format (bytes, halfwords or words stream) + * is properly specified by user */ + assert_param(IS_CRC_INPUTDATA_FORMAT(hcrc->InputDataFormat)); + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief DeInitialize the CRC peripheral. + * @param hcrc: CRC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRC_DeInit(CRC_HandleTypeDef *hcrc) +{ + /* Check the CRC handle allocation */ + if(hcrc == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_CRC_ALL_INSTANCE(hcrc->Instance)); + + /* Check the CRC peripheral state */ + if(hcrc->State == HAL_CRC_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_BUSY; + + /* Reset CRC calculation unit */ + __HAL_CRC_DR_RESET(hcrc); + + /* Reset IDR register content */ + CLEAR_BIT(hcrc->Instance->IDR, CRC_IDR_IDR); + + /* DeInit the low level hardware */ + HAL_CRC_MspDeInit(hcrc); + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_RESET; + + /* Process unlocked */ + __HAL_UNLOCK(hcrc); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initialize the CRC MSP. + * @param hcrc: CRC handle + * @retval None + */ +__weak void HAL_CRC_MspInit(CRC_HandleTypeDef *hcrc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcrc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_CRC_MspInit can be implemented in the user file + */ +} + +/** + * @brief DeInitialize the CRC MSP. + * @param hcrc: CRC handle + * @retval None + */ +__weak void HAL_CRC_MspDeInit(CRC_HandleTypeDef *hcrc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcrc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_CRC_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup HAL_CRC_Group2 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Compute the 7, 8, 16 or 32-bit CRC value of an 8, 16 or 32-bit data buffer + using combination of the previous CRC value and the new one. + + or + + (+) Compute the 7, 8, 16 or 32-bit CRC value of an 8, 16 or 32-bit data buffer + independently of the previous CRC value. + +@endverbatim + * @{ + */ + +/** + * @brief Compute the 7, 8, 16 or 32-bit CRC value of an 8, 16 or 32-bit data buffer + * starting with the previously computed CRC as initialization value. + * @param hcrc: CRC handle + * @param pBuffer: pointer to the input data buffer, exact input data format is + * provided by hcrc->InputDataFormat. + * @param BufferLength: input data buffer length (number of bytes if pBuffer + * type is * uint8_t, number of half-words if pBuffer type is * uint16_t, + * number of words if pBuffer type is * uint32_t). + * @note By default, the API expects a uint32_t pointer as input buffer parameter. + * Input buffer pointers with other types simply need to be cast in uint32_t + * and the API will internally adjust its input data processing based on the + * handle field hcrc->InputDataFormat. + * @retval uint32_t CRC (returned value LSBs for CRC shorter than 32 bits) + */ +uint32_t HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength) +{ + uint32_t index = 0; /* CRC input data buffer index */ + uint32_t temp = 0; /* CRC output (read from hcrc->Instance->DR register) */ + + /* Process locked */ + __HAL_LOCK(hcrc); + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_BUSY; + + switch (hcrc->InputDataFormat) + { + case CRC_INPUTDATA_FORMAT_WORDS: + /* Enter Data to the CRC calculator */ + for(index = 0; index < BufferLength; index++) + { + hcrc->Instance->DR = pBuffer[index]; + } + temp = hcrc->Instance->DR; + break; + + case CRC_INPUTDATA_FORMAT_BYTES: + temp = CRC_Handle_8(hcrc, (uint8_t*)pBuffer, BufferLength); + break; + + case CRC_INPUTDATA_FORMAT_HALFWORDS: + temp = CRC_Handle_16(hcrc, (uint16_t*)pBuffer, BufferLength); + break; + default: + break; + } + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcrc); + + /* Return the CRC computed value */ + return temp; +} + +/** + * @brief Compute the 7, 8, 16 or 32-bit CRC value of an 8, 16 or 32-bit data buffer + * starting with hcrc->Instance->INIT as initialization value. + * @param hcrc: CRC handle + * @param pBuffer: pointer to the input data buffer, exact input data format is + * provided by hcrc->InputDataFormat. + * @param BufferLength: input data buffer length (number of bytes if pBuffer + * type is * uint8_t, number of half-words if pBuffer type is * uint16_t, + * number of words if pBuffer type is * uint32_t). + * @note By default, the API expects a uint32_t pointer as input buffer parameter. + * Input buffer pointers with other types simply need to be cast in uint32_t + * and the API will internally adjust its input data processing based on the + * handle field hcrc->InputDataFormat. + * @retval uint32_t CRC (returned value LSBs for CRC shorter than 32 bits) + */ +uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength) +{ + uint32_t index = 0; /* CRC input data buffer index */ + uint32_t temp = 0; /* CRC output (read from hcrc->Instance->DR register) */ + + /* Process locked */ + __HAL_LOCK(hcrc); + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_BUSY; + + /* Reset CRC Calculation Unit (hcrc->Instance->INIT is + * written in hcrc->Instance->DR) */ + __HAL_CRC_DR_RESET(hcrc); + + switch (hcrc->InputDataFormat) + { + case CRC_INPUTDATA_FORMAT_WORDS: + /* Enter 32-bit input data to the CRC calculator */ + for(index = 0; index < BufferLength; index++) + { + hcrc->Instance->DR = pBuffer[index]; + } + temp = hcrc->Instance->DR; + break; + + case CRC_INPUTDATA_FORMAT_BYTES: + /* Specific 8-bit input data handling */ + temp = CRC_Handle_8(hcrc, (uint8_t*)pBuffer, BufferLength); + break; + + case CRC_INPUTDATA_FORMAT_HALFWORDS: + /* Specific 16-bit input data handling */ + temp = CRC_Handle_16(hcrc, (uint16_t*)pBuffer, BufferLength); + break; + default: + break; + } + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcrc); + + /* Return the CRC computed value */ + return temp; +} + +/** + * @brief Enter 8-bit input data to the CRC calculator. + * Specific data handling to optimize processing time. + * @param hcrc: CRC handle + * @param pBuffer: pointer to the input data buffer + * @param BufferLength: input data buffer length + * @retval uint32_t CRC (returned value LSBs for CRC shorter than 32 bits) + */ +static uint32_t CRC_Handle_8(CRC_HandleTypeDef *hcrc, uint8_t pBuffer[], uint32_t BufferLength) +{ + uint32_t i = 0; /* input data buffer index */ + + /* Processing time optimization: 4 bytes are entered in a row with a single word write, + * last bytes must be carefully fed to the CRC calculator to ensure a correct type + * handling by the IP */ + for(i = 0; i < (BufferLength/4); i++) + { + hcrc->Instance->DR = (uint32_t)(((uint32_t)(pBuffer[4*i])<<24) | ((uint32_t)(pBuffer[4*i+1])<<16) | ((uint32_t)(pBuffer[4*i+2])<<8) | (uint32_t)(pBuffer[4*i+3])); + } + /* last bytes specific handling */ + if((BufferLength%4) != 0) + { + if(BufferLength%4 == 1) + { + *(__IO uint8_t*) (&hcrc->Instance->DR) = pBuffer[4*i]; + } + if(BufferLength%4 == 2) + { + *(__IO uint16_t*) (&hcrc->Instance->DR) = (uint16_t)((uint16_t)((uint16_t)(pBuffer[4*i])<<8) | (uint16_t)(pBuffer[4*i+1])); + } + if(BufferLength%4 == 3) + { + *(__IO uint16_t*) (&hcrc->Instance->DR) = (uint16_t)((uint16_t)((uint16_t)(pBuffer[4*i])<<8) | (uint16_t)(pBuffer[4*i+1])); + *(__IO uint8_t*) (&hcrc->Instance->DR) = pBuffer[4*i+2]; + } + } + + /* Return the CRC computed value */ + return hcrc->Instance->DR; +} + +/** + * @brief Enter 16-bit input data to the CRC calculator. + * Specific data handling to optimize processing time. + * @param hcrc: CRC handle + * @param pBuffer: pointer to the input data buffer + * @param BufferLength: input data buffer length + * @retval uint32_t CRC (returned value LSBs for CRC shorter than 32 bits) + */ +static uint32_t CRC_Handle_16(CRC_HandleTypeDef *hcrc, uint16_t pBuffer[], uint32_t BufferLength) +{ + uint32_t i = 0; /* input data buffer index */ + + /* Processing time optimization: 2 HalfWords are entered in a row with a single word write, + * in case of odd length, last HalfWord must be carefully fed to the CRC calculator to ensure + * a correct type handling by the IP */ + for(i = 0; i < (BufferLength/2); i++) + { + hcrc->Instance->DR = (((uint32_t)(pBuffer[2*i])<<16) | (uint32_t)(pBuffer[2*i+1])); + } + if((BufferLength%2) != 0) + { + *(__IO uint16_t*) (&hcrc->Instance->DR) = pBuffer[2*i]; + } + + /* Return the CRC computed value */ + return hcrc->Instance->DR; +} + +/** + * @} + */ + +/** @defgroup HAL_CRC_Group3 Peripheral State functions + * @brief Peripheral State functions. + * +@verbatim + ============================================================================== + ##### Peripheral State functions ##### + ============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the CRC state. + * @param hcrc: CRC handle + * @retval HAL state + */ +HAL_CRC_StateTypeDef HAL_CRC_GetState(CRC_HandleTypeDef *hcrc) +{ + return hcrc->State; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_CRC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c new file mode 100644 index 0000000000..e573bc58e8 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c @@ -0,0 +1,239 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_crc_ex.c + * @author MCD Application Team + * @brief Extended CRC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the CRC peripheral: + * + Initialization/de-initialization functions + * + @verbatim + ============================================================================== + ##### CRC specific features ##### + ============================================================================== + [..] + (#) Polynomial configuration. + (#) Input data reverse mode. + (#) Output data reverse mode. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup CRCEx + * @brief CRC Extended HAL module driver + * @{ + */ + +#ifdef HAL_CRC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** @addtogroup CRCEx_Exported_Functions + * @{ + */ + +/** @addtogroup CRCEx_Exported_Functions_Group1 + * @brief Extended CRC features functions + * +@verbatim + =============================================================================== + ##### CRC Extended features functions ##### + =============================================================================== + [..] +This subsection provides function allowing to: + (+) Set CRC polynomial if different from default one. + +@endverbatim + * @{ + */ + + +/** + * @brief Initializes the CRC polynomial if different from default one. + * @param hcrc: CRC handle + * @param Pol: CRC generating polynomial (7, 8, 16 or 32-bit long) + * This parameter is written in normal representation, e.g. + * for a polynomial of degree 7, X^7 + X^6 + X^5 + X^2 + 1 is written 0x65 + * for a polynomial of degree 16, X^16 + X^12 + X^5 + 1 is written 0x1021 + * @param PolyLength: CRC polynomial length + * This parameter can be one of the following values: + * @arg CRC_POLYLENGTH_7B: 7-bit long CRC (generating polynomial of degree 7) + * @arg CRC_POLYLENGTH_8B: 8-bit long CRC (generating polynomial of degree 8) + * @arg CRC_POLYLENGTH_16B: 16-bit long CRC (generating polynomial of degree 16) + * @arg CRC_POLYLENGTH_32B: 32-bit long CRC (generating polynomial of degree 32) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set(CRC_HandleTypeDef *hcrc, uint32_t Pol, uint32_t PolyLength) +{ + uint32_t msb = 31; /* polynomial degree is 32 at most, so msb is initialized to max value */ + + /* Check the parameters */ + assert_param(IS_CRC_POL_LENGTH(PolyLength)); + + /* check polynomial definition vs polynomial size: + * polynomial length must be aligned with polynomial + * definition. HAL_ERROR is reported if Pol degree is + * larger than that indicated by PolyLength. + * Look for MSB position: msb will contain the degree of + * the second to the largest polynomial member. E.g., for + * X^7 + X^6 + X^5 + X^2 + 1, msb = 6. */ + while (((Pol & ((uint32_t)(0x1) << msb)) == 0) && (msb-- > 0)) + { + } + + switch (PolyLength) + { + case CRC_POLYLENGTH_7B: + if (msb >= HAL_CRC_LENGTH_7B) + { + return HAL_ERROR; + } + break; + case CRC_POLYLENGTH_8B: + if (msb >= HAL_CRC_LENGTH_8B) + { + return HAL_ERROR; + } + break; + case CRC_POLYLENGTH_16B: + if (msb >= HAL_CRC_LENGTH_16B) + { + return HAL_ERROR; + } + break; + case CRC_POLYLENGTH_32B: + /* no polynomial definition vs. polynomial length issue possible */ + break; + default: + return HAL_ERROR; + } + + /* set generating polynomial */ + WRITE_REG(hcrc->Instance->POL, Pol); + + /* set generating polynomial size */ + MODIFY_REG(hcrc->Instance->CR, CRC_CR_POLYSIZE, PolyLength); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Set the Reverse Input data mode. + * @param hcrc: CRC handle + * @param InputReverseMode: Input Data inversion mode + * This parameter can be one of the following values: + * @arg CRC_INPUTDATA_INVERSION_NONE: no change in bit order (default value) + * @arg CRC_INPUTDATA_INVERSION_BYTE: Byte-wise bit reversal + * @arg CRC_INPUTDATA_INVERSION_HALFWORD: HalfWord-wise bit reversal + * @arg CRC_INPUTDATA_INVERSION_WORD: Word-wise bit reversal + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t InputReverseMode) +{ + /* Check the parameters */ + assert_param(IS_CRC_INPUTDATA_INVERSION_MODE(InputReverseMode)); + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_BUSY; + + /* set input data inversion mode */ + MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_IN, InputReverseMode); + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Set the Reverse Output data mode. + * @param hcrc: CRC handle + * @param OutputReverseMode: Output Data inversion mode + * This parameter can be one of the following values: + * @arg CRC_OUTPUTDATA_INVERSION_DISABLE: no CRC inversion (default value) + * @arg CRC_OUTPUTDATA_INVERSION_ENABLE: bit-level inversion (e.g for a 8-bit CRC: 0xB5 becomes 0xAD) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t OutputReverseMode) +{ + /* Check the parameters */ + assert_param(IS_CRC_OUTPUTDATA_INVERSION_MODE(OutputReverseMode)); + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_BUSY; + + /* set output data inversion mode */ + MODIFY_REG(hcrc->Instance->CR, CRC_CR_REV_OUT, OutputReverseMode); + + /* Change CRC peripheral state */ + hcrc->State = HAL_CRC_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + + + + +/** + * @} + */ + + +/** + * @} + */ + + +#endif /* HAL_CRC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c new file mode 100644 index 0000000000..8fbb5da269 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c @@ -0,0 +1,3707 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cryp.c + * @author MCD Application Team + * @brief CRYP HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Cryptography (CRYP) peripheral: + * + Initialization and de-initialization functions + * + AES processing functions + * + DES processing functions + * + TDES processing functions + * + DMA callback functions + * + CRYP IRQ handler management + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The CRYP HAL driver can be used in CRYP IP as follows: + + (#)Initialize the CRYP low level resources by implementing the HAL_CRYP_MspInit(): + (##) Enable the CRYP interface clock using __HAL_RCC_CRYP_CLK_ENABLE() + (##) In case of using interrupts (e.g. HAL_CRYP_Encrypt_IT()) + (+++) Configure the CRYP interrupt priority using HAL_NVIC_SetPriority() + (+++) Enable the CRYP IRQ handler using HAL_NVIC_EnableIRQ() + (+++) In CRYP IRQ handler, call HAL_CRYP_IRQHandler() + (##) In case of using DMA to control data transfer (e.g. HAL_CRYP_Encrypt_DMA()) + (+++) Enable the DMAx interface clock using __RCC_DMAx_CLK_ENABLE() + (+++) Configure and enable two DMA streams one for managing data transfer from + memory to peripheral (input stream) and another stream for managing data + transfer from peripheral to memory (output stream) + (+++) Associate the initialized DMA handle to the CRYP DMA handle + using __HAL_LINKDMA() + (+++) Configure the priority and enable the NVIC for the transfer complete + interrupt on the two DMA Streams. The output stream should have higher + priority than the input stream HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ() + + (#)Initialize the CRYP according to the specified parameters : + (##) The data type: 1-bit, 8-bit, 16-bit or 32-bit. + (##) The key size: 128, 192 or 256. + (##) The AlgoMode DES/ TDES Algorithm ECB/CBC or AES Algorithm ECB/CBC/CTR/GCM or CCM. + (##) The initialization vector (counter). It is not used in ECB mode. + (##) The key buffer used for encryption/decryption. + (##) The Header used only in AES GCM and CCM Algorithm for authentication. + (##) The HeaderSize The size of header buffer in word. + (##) The B0 block is the first authentication block used only in AES CCM mode. + + (#)Three processing (encryption/decryption) functions are available: + (##) Polling mode: encryption and decryption APIs are blocking functions + i.e. they process the data and wait till the processing is finished, + e.g. HAL_CRYP_Encrypt & HAL_CRYP_Decrypt + (##) Interrupt mode: encryption and decryption APIs are not blocking functions + i.e. they process the data under interrupt, + e.g. HAL_CRYP_Encrypt_IT & HAL_CRYP_Decrypt_IT + (##) DMA mode: encryption and decryption APIs are not blocking functions + i.e. the data transfer is ensured by DMA, + e.g. HAL_CRYP_Encrypt_DMA & HAL_CRYP_Decrypt_DMA + + (#)When the processing function is called at first time after HAL_CRYP_Init() + the CRYP peripheral is configured and processes the buffer in input. + At second call, no need to Initialize the CRYP, user have to get current configuration via + HAL_CRYP_GetConfig() API, then only HAL_CRYP_SetConfig() is requested to set + new parametres, finally user can start encryption/decryption. + + (#)Call HAL_CRYP_DeInit() to deinitialize the CRYP peripheral. + + [..] + The cryptographic processor supports following standards: + (#) The data encryption standard (DES) and Triple-DES (TDES) supported only by CRYP1 IP: + (##)64-bit data block processing + (##) chaining modes supported : + (+++) Electronic Code Book(ECB) + (+++) Cipher Block Chaining (CBC) + (##) keys length supported :64-bit, 128-bit and 192-bit. + (#) The advanced encryption standard (AES) supported by CRYP1: + (##)128-bit data block processing + (##) chaining modes supported : + (+++) Electronic Code Book(ECB) + (+++) Cipher Block Chaining (CBC) + (+++) Counter mode (CTR) + (+++) Galois/counter mode (GCM/GMAC) + (+++) Counter with Cipher Block Chaining-Message(CCM) + (##) keys length Supported : + (+++) for CRYP1 IP: 128-bit, 192-bit and 256-bit. + + [..] This section describes the AES Galois/counter mode (GCM) supported by both CRYP1 IP: + (#) Algorithm supported : + (##) Galois/counter mode (GCM) + (##) Galois message authentication code (GMAC) :is exactly the same as + GCM algorithm composed only by an header. + (#) Four phases are performed in GCM : + (##) Init phase: IP prepares the GCM hash subkey (H) and do the IV processing + (##) Header phase: IP processes the Additional Authenticated Data (AAD), with hash + computation only. + (##) Payload phase: IP processes the plaintext (P) with hash computation + keystream + encryption + data XORing. It works in a similar way for ciphertext (C). + (##) Final phase: IP generates the authenticated tag (T) using the last block of data. + (#) structure of message construction in GCM is defined as below : + (##) 16 bytes Initial Counter Block (ICB)composed of IV and counter + (##) The authenticated header A (also knows as Additional Authentication Data AAD) + this part of the message is only authenticated, not encrypted. + (##) The plaintext message P is both authenticated and encrypted as ciphertext. + GCM standard specifies that ciphertext has same bit length as the plaintext. + (##) The last block is composed of the length of A (on 64 bits) and the length of ciphertext + (on 64 bits) + + [..] This section describe The AES Counter with Cipher Block Chaining-Message + Authentication Code (CCM) supported by both CRYP1 IP: + (#) Specific parameters for CCM : + + (##) B0 block : According to NIST Special Publication 800-38C, + The first block B0 is formatted as follows, where l(m) is encoded in + most-significant-byte first order(see below table 3) + + (+++) Q: a bit string representation of the octet length of P (plaintext) + (+++) q The octet length of the binary representation of the octet length of the payload + (+++) A nonce (N), n The octet length of the where n+q=15. + (+++) Flags: most significant octet containing four flags for control information, + (+++) t The octet length of the MAC. + (##) B1 block (header) : associated data length(a) concatenated with Associated Data (A) + the associated data length expressed in bytes (a) defined as below: + (+++) If 0 < a < 216-28, then it is encoded as [a]16, i.e. two octets + (+++) If 216-28 < a < 232, then it is encoded as 0xff || 0xfe || [a]32, i.e. six octets + (+++) If 232 < a < 264, then it is encoded as 0xff || 0xff || [a]64, i.e. ten octets + (##) CTRx block : control blocks + (+++) Generation of CTR1 from first block B0 information : + equal to B0 with first 5 bits zeroed and most significant bits storing octet + length of P also zeroed, then incremented by one ( see below Table 4) + (+++) Generation of CTR0: same as CTR1 with bit[0] set to zero. + + (#) Four phases are performed in CCM for CRYP1 IP: + (##) Init phase: IP prepares the GCM hash subkey (H) and do the IV processing + (##) Header phase: IP processes the Additional Authenticated Data (AAD), with hash + computation only. + (##) Payload phase: IP processes the plaintext (P) with hash computation + keystream + encryption + data XORing. It works in a similar way for ciphertext (C). + (##) Final phase: IP generates the authenticated tag (T) using the last block of data. + + @endverbatim + + Table 1. Initial Counter Block (ICB) + +-------------------------------------------------------+ + | Initialization vector (IV) | Counter | + |----------------|----------------|-----------|---------| + 127 95 63 31 0 + + + Bit Number Register Contents + ---------- --------------- ----------- + 127 ...96 CRYP_IV1R[31:0] ICB[127:96] + 95 ...64 CRYP_IV1L[31:0] B0[95:64] + 63 ... 32 CRYP_IV0R[31:0] ICB[63:32] + 31 ... 0 CRYP_IV0L[31:0] ICB[31:0], where 32-bit counter= 0x2 + + Table 2. GCM last block definition + + +-------------------------------------------------------------------+ + | Bit[0] | Bit[32] | Bit[64] | Bit[96] | + |-----------|--------------------|-----------|----------------------| + | 0x0 | Header length[31:0]| 0x0 | Payload length[31:0] | + |-----------|--------------------|-----------|----------------------| + + Table 3. B0 block + Octet Number Contents + ------------ --------- + 0 Flags + 1 ... 15-q Nonce N + 16-q ... 15 Q + + the Flags field is formatted as follows: + + Bit Number Contents + ---------- ---------------------- + 7 Reserved (always zero) + 6 Adata + 5 ... 3 (t-2)/2 + 2 ... 0 [q-1]3 + + Table 4. CTRx block + Bit Number Register Contents + ---------- --------------- ----------- + 127 ...96 CRYP_IV1R[31:0] B0[127:96], where Q length bits are set to 0, except for + bit 0 that is set to 1 + 95 ...64 CRYP_IV1L[31:0] B0[95:64] + 63 ... 32 CRYP_IV0R[31:0] B0[63:32] + 31 ... 0 CRYP_IV0L[31:0] B0[31:0], where flag bits set to 0 + + + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#if defined (CRYP) + +/** @defgroup CRYP CRYP + * @brief CRYP HAL module driver. + * @{ + */ + + +#ifdef HAL_CRYP_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup CRYP_Private_Defines + * @{ + */ +#define CRYP_TIMEOUT_KEYPREPARATION 82U /*The latency of key preparation operation is 82 clock cycles.*/ +#define CRYP_TIMEOUT_GCMCCMINITPHASE 299U /* The latency of GCM/CCM init phase to prepare hash subkey is 299 clock cycles.*/ +#define CRYP_TIMEOUT_GCMCCMHEADERPHASE 290U /* The latency of GCM/CCM header phase is 290 clock cycles.*/ + +#define CRYP_PHASE_READY 0x00000001U /*!< CRYP peripheral is ready for initialization. */ +#define CRYP_PHASE_PROCESS 0x00000002U /*!< CRYP peripheral is in processing phase */ + +#define CRYP_PHASE_INIT 0x00000000U /*!< GCM/GMAC (or CCM) init phase */ +#define CRYP_PHASE_HEADER CRYP_CR_GCM_CCMPH_0 /*!< GCM/GMAC or CCM header phase */ +#define CRYP_PHASE_PAYLOAD CRYP_CR_GCM_CCMPH_1 /*!< GCM(/CCM) payload phase */ +#define CRYP_PHASE_FINAL CRYP_CR_GCM_CCMPH /*!< GCM/GMAC or CCM final phase */ +#define CRYP_OPERATINGMODE_ENCRYPT 0x00000000U /*!< Encryption mode */ +#define CRYP_OPERATINGMODE_DECRYPT CRYP_CR_ALGODIR /*!< Decryption */ + + + /* CTR1 information to use in CCM algorithm */ +#define CRYP_CCM_CTR1_0 0x07FFFFFFU +#define CRYP_CCM_CTR1_1 0xFFFFFF00U +#define CRYP_CCM_CTR1_2 0x00000001U + + +/** + * @} + */ + + +/* Private macro -------------------------------------------------------------*/ +/** @addtogroup CRYP_Private_Macros + * @{ + */ + +#define CRYP_SET_PHASE(__HANDLE__, __PHASE__) do{(__HANDLE__)->Instance->CR &= (uint32_t)(~CRYP_CR_GCM_CCMPH);\ + (__HANDLE__)->Instance->CR |= (uint32_t)(__PHASE__);\ + }while(0) + +#define HAL_CRYP_FIFO_FLUSH(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRYP_CR_FFLUSH) + + +/** + * @} + */ + +/* Private struct -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup CRYP_Private_Functions_prototypes + * @{ + */ + +static void CRYP_SetDMAConfig(CRYP_HandleTypeDef *hcryp, uint32_t inputaddr, uint16_t Size, uint32_t outputaddr); +static void CRYP_DMAInCplt(DMA_HandleTypeDef *hdma); +static void CRYP_DMAOutCplt(DMA_HandleTypeDef *hdma); +static void CRYP_DMAError(DMA_HandleTypeDef *hdma); +static void CRYP_SetKey(CRYP_HandleTypeDef *hcryp, uint32_t *Key, uint32_t KeySize); +static HAL_StatusTypeDef CRYP_AES_IT(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_GCMCCM_SetPayloadPhase_IT(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_IT(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_DMA(CRYP_HandleTypeDef *hcryp); +static void CRYP_Workaround(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_AESGCM_Process_DMA(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_AESGCM_Process_IT (CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_AESGCM_Process(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_AESCCM_Process(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_AESCCM_Process_IT(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_AESCCM_Process_DMA(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_AES_ProcessData(CRYP_HandleTypeDef *hcrypt, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_AES_Encrypt(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_AES_Decrypt(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_AES_Decrypt_IT(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_AES_Encrypt_IT(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_AES_Decrypt_DMA(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_TDES_IT(CRYP_HandleTypeDef *hcryp); +static HAL_StatusTypeDef CRYP_WaitOnIFEMFlag(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_WaitOnBUSYFlag(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_WaitOnOFNEFlag(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); +static HAL_StatusTypeDef CRYP_TDES_Process(CRYP_HandleTypeDef *hcryp, uint32_t Timeout); + +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ + +/** @defgroup CRYP_Exported_Functions CRYP Exported Functions + * @{ + */ + + +/** @defgroup CRYP_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief CRYP Initialization and Configuration functions. + * +@verbatim + ======================================================================================== + ##### Initialization, de-initialization and Set and Get configuration functions ##### + ======================================================================================== + [..] This section provides functions allowing to: + (+) Initialize the CRYP + (+) DeInitialize the CRYP + (+) Initialize the CRYP MSP + (+) DeInitialize the CRYP MSP + (+) configure CRYP (HAL_CRYP_SetConfig) with the specified parameters in the CRYP_ConfigTypeDef + Parameters which are configured in This section are : + (++) Key size + (++) Data Type : 32,16, 8 or 1bit + (++) AlgoMode : for CRYP1 IP + ECB and CBC in DES/TDES Standard + ECB,CBC,CTR,GCM/GMAC and CCM in AES Standard. + (+) Get CRYP configuration (HAL_CRYP_GetConfig) from the specified parameters in the CRYP_HandleTypeDef + + +@endverbatim + * @{ + */ + + +/** + * @brief Initializes the CRYP according to the specified + * parameters in the CRYP_ConfigTypeDef and creates the associated handle. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_Init(CRYP_HandleTypeDef *hcryp) +{ + /* Check the CRYP handle allocation */ + if(hcryp == NULL) + { + return HAL_ERROR; + } + + /* Check parameters */ + assert_param(IS_CRYP_KEYSIZE(hcryp->Init.KeySize)); + assert_param(IS_CRYP_DATATYPE(hcryp->Init.DataType)); + assert_param(IS_CRYP_ALGORITHM(hcryp->Init.Algorithm)); + + if(hcryp->State == HAL_CRYP_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hcryp->Lock = HAL_UNLOCKED; + + /* Init the low level hardware */ + HAL_CRYP_MspInit(hcryp); + } + + /* Set the key size(This bit field is �don�t care� in the DES or TDES modes) data type and Algorithm */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_DATATYPE|CRYP_CR_KEYSIZE|CRYP_CR_ALGOMODE, hcryp->Init.DataType | hcryp->Init.KeySize | hcryp->Init.Algorithm); + + /* Reset Error Code field */ + hcryp->ErrorCode = HAL_CRYP_ERROR_NONE; + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Set the default CRYP phase */ + hcryp->Phase = CRYP_PHASE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief De-Initializes the CRYP peripheral. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_CRYP_DeInit(CRYP_HandleTypeDef *hcryp) +{ + /* Check the CRYP handle allocation */ + if(hcryp == NULL) + { + return HAL_ERROR; + } + + /* Set the default CRYP phase */ + hcryp->Phase = CRYP_PHASE_READY; + + /* Reset CrypInCount and CrypOutCount */ + hcryp->CrypInCount = 0; + hcryp->CrypOutCount = 0; + hcryp->CrypHeaderCount =0; + + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* DeInit the low level hardware: CLOCK, NVIC.*/ + HAL_CRYP_MspDeInit(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hcryp); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Configure the CRYP according to the specified + * parameters in the CRYP_ConfigTypeDef + * @param hcryp: pointer to a CRYP_HandleTypeDef structure + * @param pConf: pointer to a CRYP_ConfigTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_SetConfig(CRYP_HandleTypeDef *hcryp, CRYP_ConfigTypeDef *pConf ) +{ + /* Check the CRYP handle allocation */ + if((hcryp == NULL)|| (pConf == NULL) ) + { + return HAL_ERROR; + } + + /* Check parameters */ + assert_param(IS_CRYP_KEYSIZE(pConf->KeySize)); + assert_param(IS_CRYP_DATATYPE(pConf->DataType)); + assert_param(IS_CRYP_ALGORITHM(pConf->Algorithm)); + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Set CRYP parameters */ + hcryp->Init.DataType = pConf->DataType; + hcryp->Init.pKey = pConf->pKey; + hcryp->Init.Algorithm = pConf->Algorithm; + hcryp->Init.KeySize = pConf->KeySize; + hcryp->Init.pInitVect = pConf->pInitVect; + hcryp->Init.Header = pConf->Header; + hcryp->Init.HeaderSize = pConf->HeaderSize; + hcryp->Init.B0 = pConf->B0; + + /* Set the key size(This bit field is �don�t care� in the DES or TDES modes) data type, AlgoMode and operating mode*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_DATATYPE|CRYP_CR_KEYSIZE|CRYP_CR_ALGOMODE, hcryp->Init.DataType | hcryp->Init.KeySize | hcryp->Init.Algorithm); + + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); + + /* Reset Error Code field */ + hcryp->ErrorCode = HAL_CRYP_ERROR_NONE; + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Set the default CRYP phase */ + hcryp->Phase = CRYP_PHASE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); + + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } +} + +/** + * @brief Get CRYP Configuration parameters in associated handle. + * @param pConf: pointer to a CRYP_ConfigTypeDef structure + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_GetConfig(CRYP_HandleTypeDef *hcryp, CRYP_ConfigTypeDef *pConf ) +{ + /* Check the CRYP handle allocation */ + if((hcryp == NULL)|| (pConf == NULL) ) + { + return HAL_ERROR; + } + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Get CRYP parameters */ + pConf->DataType = hcryp->Init.DataType; + pConf->pKey = hcryp->Init.pKey; + pConf->Algorithm = hcryp->Init.Algorithm; + pConf->KeySize = hcryp->Init.KeySize ; + pConf->pInitVect = hcryp->Init.pInitVect; + pConf->Header = hcryp->Init.Header ; + pConf->HeaderSize = hcryp->Init.HeaderSize; + pConf->B0 = hcryp->Init.B0; + + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); + + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } +} +/** + * @brief Initializes the CRYP MSP. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval None + */ +__weak void HAL_CRYP_MspInit(CRYP_HandleTypeDef *hcryp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcryp); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_CRYP_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitializes CRYP MSP. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval None + */ +__weak void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef *hcryp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcryp); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_CRYP_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup CRYP_Exported_Functions_Group2 Encrypt Decrypt functions + * @brief CRYP processing functions. + * +@verbatim + ============================================================================== + ##### Encrypt Decrypt functions ##### + ============================================================================== + [..] This section provides API allowing to Encrypt/Decrypt Data following + Standard DES/TDES or AES, and Algorithm configured by the user: + (+) Standard DES/TDES only supported by CRYP1 IP, below list of Algorithm supported : + (++) Electronic Code Book(ECB) + (++) Cipher Block Chaining (CBC) + (+) Standard AES supported by CRYP1 IP , list of Algorithm supported: + (++) Electronic Code Book(ECB) + (++) Cipher Block Chaining (CBC) + (++) Counter mode (CTR) + (++) Cipher Block Chaining (CBC) + (++) Counter mode (CTR) + (++) Galois/counter mode (GCM) + (++) Counter with Cipher Block Chaining-Message(CCM) + [..] Three processing functions are available: + (+) Polling mode : HAL_CRYP_Encrypt & HAL_CRYP_Decrypt + (+) Interrupt mode : HAL_CRYP_Encrypt_IT & HAL_CRYP_Decrypt_IT + (+) DMA mode : HAL_CRYP_Encrypt_DMA & HAL_CRYP_Decrypt_DMA + +@endverbatim + * @{ + */ + + +/** + * @brief Encryption mode. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Input: Pointer to the input buffer (plaintext) + * @param Size: Length of the plaintext buffer in word. + * @param Output: Pointer to the output buffer(ciphertext) + * @param Timeout: Specify Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_Encrypt(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output, uint32_t Timeout) +{ + uint32_t algo = 0U; + HAL_StatusTypeDef state; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change state Busy */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Reset CrypInCount, CrypOutCount and Initialize pCrypInBuffPtr, pCrypOutBuffPtr and Size parameters*/ + hcryp->CrypInCount = 0U; + hcryp->CrypOutCount = 0U; + hcryp->pCrypInBuffPtr = Input; + hcryp->pCrypOutBuffPtr = Output; + hcryp->Size = Size; + + /* Set Encryption operating mode*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGODIR, CRYP_OPERATINGMODE_ENCRYPT); + + /* algo get algorithm selected */ + algo = hcryp->Instance->CR & CRYP_CR_ALGOMODE; + + switch(algo) + { + case CRYP_DES_ECB: + case CRYP_DES_CBC: + case CRYP_TDES_ECB: + case CRYP_TDES_CBC: + + /*Set Key */ + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+1); + if ((hcryp->Init.Algorithm == CRYP_TDES_ECB) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+5); + } + + /*Set Initialization Vector (IV)*/ + if ((hcryp->Init.Algorithm == CRYP_DES_CBC) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + } + + /* Flush FIFO */ + HAL_CRYP_FIFO_FLUSH(hcryp); + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Statrt DES/TDES encryption process */ + state = CRYP_TDES_Process(hcryp,Timeout); + break; + + case CRYP_AES_ECB: + case CRYP_AES_CBC: + case CRYP_AES_CTR: + + /* AES encryption */ + state = CRYP_AES_Encrypt(hcryp, Timeout); + break; + + case CRYP_AES_GCM: + + /* AES GCM encryption */ + state = CRYP_AESGCM_Process(hcryp, Timeout); + break; + + case CRYP_AES_CCM: + + /* AES CCM encryption */ + state = CRYP_AESCCM_Process(hcryp,Timeout); + break; + + default: + hcryp->ErrorCode |= HAL_CRYP_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + + if (state == HAL_OK) + { + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + } + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Decryption mode. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Input: Pointer to the input buffer (ciphertext ) + * @param Size: Length of the plaintext buffer in word. + * @param Output: Pointer to the output buffer(plaintext) + * @param Timeout: Specify Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_Decrypt(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output, uint32_t Timeout) +{ + HAL_StatusTypeDef state; + uint32_t algo = 0U; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change state Busy */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Reset CrypInCount, CrypOutCount and Initialize pCrypInBuffPtr, pCrypOutBuffPtr and Size parameters*/ + hcryp->CrypInCount = 0U; + hcryp->CrypOutCount = 0U; + hcryp->pCrypInBuffPtr = Input; + hcryp->pCrypOutBuffPtr = Output; + hcryp->Size = Size; + + /* Set Decryption operating mode*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGODIR, CRYP_OPERATINGMODE_DECRYPT); + + /* algo get algorithm selected */ + algo = hcryp->Instance->CR & CRYP_CR_ALGOMODE; + + switch(algo) + { + case CRYP_DES_ECB: + case CRYP_DES_CBC: + case CRYP_TDES_ECB: + case CRYP_TDES_CBC: + + /*Set Key */ + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+1); + if ((hcryp->Init.Algorithm == CRYP_TDES_ECB) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+5); + } + + /*Set Initialization Vector (IV)*/ + if ((hcryp->Init.Algorithm == CRYP_DES_CBC) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + } + + /* Flush FIFO */ + HAL_CRYP_FIFO_FLUSH(hcryp); + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Start DES/TDES decryption process */ + state = CRYP_TDES_Process(hcryp, Timeout); + + break; + + case CRYP_AES_ECB: + case CRYP_AES_CBC: + case CRYP_AES_CTR: + + /* AES decryption */ + state = CRYP_AES_Decrypt(hcryp, Timeout); + break; + + case CRYP_AES_GCM: + + /* AES GCM decryption */ + state = CRYP_AESGCM_Process (hcryp, Timeout) ; + break; + + case CRYP_AES_CCM: + + /* AES CCM decryption */ + state = CRYP_AESCCM_Process(hcryp, Timeout); + break; + + default: + hcryp->ErrorCode |= HAL_CRYP_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + + if (state == HAL_OK) + { + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + } + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Encryption in interrupt mode. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Input: Pointer to the input buffer (plaintext) + * @param Size: Length of the plaintext buffer in word + * @param Output: Pointer to the output buffer(ciphertext) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) +{ + uint32_t algo = 0U; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change state Busy */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Reset CrypInCount, CrypOutCount and Initialize pCrypInBuffPtr, pCrypOutBuffPtr and Size parameters*/ + hcryp->CrypInCount = 0U; + hcryp->CrypOutCount = 0U; + hcryp->pCrypInBuffPtr = Input; + hcryp->pCrypOutBuffPtr = Output; + hcryp->Size = Size; + + /* Set encryption operating mode*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGODIR, CRYP_OPERATINGMODE_ENCRYPT); + + /* algo get algorithm selected */ + algo = (hcryp->Instance->CR & CRYP_CR_ALGOMODE); + + switch(algo) + { + case CRYP_DES_ECB: + case CRYP_DES_CBC: + case CRYP_TDES_ECB: + case CRYP_TDES_CBC: + + /*Set Key */ + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+1); + if ((hcryp->Init.Algorithm == CRYP_TDES_ECB) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+5); + } + /* Set the Initialization Vector*/ + if ((hcryp->Init.Algorithm == CRYP_DES_CBC) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + } + + /* Flush FIFO */ + HAL_CRYP_FIFO_FLUSH(hcryp); + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Enable interrupts */ + __HAL_CRYP_ENABLE_IT(hcryp, CRYP_IT_INI | CRYP_IT_OUTI); + + /* Enable CRYP to start DES/TDES process*/ + __HAL_CRYP_ENABLE(hcryp); + + break; + + case CRYP_AES_ECB: + case CRYP_AES_CBC: + case CRYP_AES_CTR: + + CRYP_AES_Encrypt_IT(hcryp); + break; + + case CRYP_AES_GCM: + + CRYP_AESGCM_Process_IT (hcryp) ; + break; + + case CRYP_AES_CCM: + + CRYP_AESCCM_Process_IT(hcryp); + break; + + default: + hcryp->ErrorCode |= HAL_CRYP_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Decryption in itnterrupt mode. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Input: Pointer to the input buffer (ciphertext ) + * @param Size: Length of the plaintext buffer in word. + * @param Output: Pointer to the output buffer(plaintext) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) +{ + uint32_t algo = 0U; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change state Busy */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Reset CrypInCount, CrypOutCount and Initialize pCrypInBuffPtr, pCrypOutBuffPtr and Size parameters*/ + hcryp->CrypInCount = 0U; + hcryp->CrypOutCount = 0U; + hcryp->pCrypInBuffPtr = Input; + hcryp->pCrypOutBuffPtr = Output; + hcryp->Size = Size; + + /* Set decryption operating mode*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGODIR,CRYP_OPERATINGMODE_DECRYPT); + + /* algo get algorithm selected */ + algo = hcryp->Instance->CR & CRYP_CR_ALGOMODE; + + switch(algo) + { + case CRYP_DES_ECB: + case CRYP_DES_CBC: + case CRYP_TDES_ECB: + case CRYP_TDES_CBC: + + /*Set Key */ + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+1); + if ((hcryp->Init.Algorithm == CRYP_TDES_ECB) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+5); + } + + /* Set the Initialization Vector*/ + if ((hcryp->Init.Algorithm == CRYP_DES_CBC) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + } + /* Flush FIFO */ + HAL_CRYP_FIFO_FLUSH(hcryp); + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Enable interrupts */ + __HAL_CRYP_ENABLE_IT(hcryp, CRYP_IT_INI | CRYP_IT_OUTI); + + /* Enable CRYP and start DES/TDES process*/ + __HAL_CRYP_ENABLE(hcryp); + + break; + + case CRYP_AES_ECB: + case CRYP_AES_CBC: + case CRYP_AES_CTR: + + /* AES decryption */ + CRYP_AES_Decrypt_IT(hcryp); + break; + + case CRYP_AES_GCM: + + /* AES GCM decryption */ + CRYP_AESGCM_Process_IT (hcryp) ; + break; + + case CRYP_AES_CCM: + + /* AES CCMdecryption */ + CRYP_AESCCM_Process_IT(hcryp); + break; + + default: + hcryp->ErrorCode |= HAL_CRYP_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Encryption in DMA mode. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Input: Pointer to the input buffer (plaintext) + * @param Size: Length of the plaintext buffer in word. + * @param Output: Pointer to the output buffer(ciphertext) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) +{ + uint32_t algo = 0U; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change state Busy */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Reset CrypInCount, CrypOutCount and Initialize pCrypInBuffPtr, pCrypOutBuffPtr and Size parameters*/ + hcryp->CrypInCount = 0U; + hcryp->CrypOutCount = 0U; + hcryp->pCrypInBuffPtr = Input; + hcryp->pCrypOutBuffPtr = Output; + hcryp->Size = Size; + + /* Set encryption operating mode*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGODIR, CRYP_OPERATINGMODE_ENCRYPT); + + /* algo get algorithm selected */ + algo = hcryp->Instance->CR & CRYP_CR_ALGOMODE; + + switch(algo) + { + case CRYP_DES_ECB: + case CRYP_DES_CBC: + case CRYP_TDES_ECB: + case CRYP_TDES_CBC: + + /*Set Key */ + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+1); + if ((hcryp->Init.Algorithm == CRYP_TDES_ECB) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+5); + } + + /* Set the Initialization Vector*/ + if ((hcryp->Init.Algorithm == CRYP_DES_CBC) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + } + + /* Flush FIFO */ + HAL_CRYP_FIFO_FLUSH(hcryp); + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Start DMA process transfer for DES/TDES */ + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), (hcryp->Size), (uint32_t)(hcryp->pCrypOutBuffPtr)); + + break; + + case CRYP_AES_ECB: + case CRYP_AES_CBC: + case CRYP_AES_CTR: + + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Set the Initialization Vector IV */ + if (hcryp->Init.Algorithm != CRYP_AES_ECB) + { + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + } + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Start DMA process transfer for AES */ + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), Size, (uint32_t)(hcryp->pCrypOutBuffPtr)); + break; + + case CRYP_AES_GCM: + + /* AES GCM encryption */ + CRYP_AESGCM_Process_DMA (hcryp) ; + break; + + case CRYP_AES_CCM: + + /* AES CCM encryption */ + CRYP_AESCCM_Process_DMA(hcryp); + break; + + default: + hcryp->ErrorCode |= HAL_CRYP_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Decryption in DMA mode. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Input: Pointer to the input buffer (ciphertext ) + * @param Size: Length of the plaintext buffer in word + * @param Output: Pointer to the output buffer(plaintext) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYP_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) +{ + uint32_t algo = 0U; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Change state Busy */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Reset CrypInCount, CrypOutCount and Initialize pCrypInBuffPtr, pCrypOutBuffPtr and Size parameters*/ + hcryp->CrypInCount = 0U; + hcryp->CrypOutCount = 0U; + hcryp->pCrypInBuffPtr = Input; + hcryp->pCrypOutBuffPtr = Output; + hcryp->Size = Size; + + /* Set decryption operating mode*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGODIR, CRYP_OPERATINGMODE_DECRYPT); + + /* algo get algorithm selected */ + algo = hcryp->Instance->CR & CRYP_CR_ALGOMODE; + + switch(algo) + { + case CRYP_DES_ECB: + case CRYP_DES_CBC: + case CRYP_TDES_ECB: + case CRYP_TDES_CBC: + + /*Set Key */ + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+1); + if ((hcryp->Init.Algorithm == CRYP_TDES_ECB) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+5); + } + + /* Set the Initialization Vector*/ + if ((hcryp->Init.Algorithm == CRYP_DES_CBC) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + } + + /* Flush FIFO */ + HAL_CRYP_FIFO_FLUSH(hcryp); + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Start DMA process transfer for DES/TDES */ + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), (hcryp->Size), (uint32_t)(hcryp->pCrypOutBuffPtr)); + break; + + case CRYP_AES_ECB: + case CRYP_AES_CBC: + case CRYP_AES_CTR: + + /* AES decryption */ + CRYP_AES_Decrypt_DMA(hcryp); + break; + + case CRYP_AES_GCM: + + /* AES GCM decryption */ + CRYP_AESGCM_Process_DMA (hcryp) ; + + break; + + case CRYP_AES_CCM: + + /* AES CCM decryption */ + CRYP_AESCCM_Process_DMA(hcryp); + break; + + default: + hcryp->ErrorCode |= HAL_CRYP_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup CRYP_Exported_Functions_Group3 CRYP IRQ handler management + * @brief CRYP IRQ handler. + * +@verbatim + ============================================================================== + ##### CRYP IRQ handler management ##### + ============================================================================== +[..] This section provides CRYP IRQ handler and callback functions. + (+) HAL_CRYP_IRQHandler CRYP interrupt request + (+) HAL_CRYP_InCpltCallback input data transfer complete callback + (+) HAL_CRYP_OutCpltCallback output data transfer complete callback + (+) HAL_CRYP_ErrorCallback CRYP error callback + (+) HAL_CRYP_GetState return the CRYP state + (+) HAL_CRYP_GetError return the CRYP error code +@endverbatim + * @{ + */ + +/** + * @brief This function handles cryptographic interrupt request. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval None + */ +void HAL_CRYP_IRQHandler(CRYP_HandleTypeDef *hcryp) +{ + uint32_t CurrentMode = 0U; + + /*put CRYP_IT_OUTI flag status in CurrentMode variable*/ + CurrentMode = __HAL_CRYP_GET_IT(hcryp, CRYP_IT_OUTI); + + if((__HAL_CRYP_GET_IT(hcryp, CRYP_IT_INI) != RESET)| (CurrentMode != RESET)) + { + if ((hcryp->Init.Algorithm == CRYP_DES_ECB)|| (hcryp->Init.Algorithm == CRYP_DES_CBC) || (hcryp->Init.Algorithm == CRYP_TDES_ECB) || (hcryp->Init.Algorithm == CRYP_TDES_CBC)) + { + CRYP_TDES_IT(hcryp); /* DES or TDES*/ + } + else if((hcryp->Init.Algorithm == CRYP_AES_ECB) || (hcryp->Init.Algorithm == CRYP_AES_CBC) || (hcryp->Init.Algorithm == CRYP_AES_CTR)) + { + CRYP_AES_IT(hcryp); /*AES*/ + } + + else if((hcryp->Init.Algorithm == CRYP_AES_GCM) ||(hcryp->Init.Algorithm == CRYP_CR_ALGOMODE_AES_CCM) ) + { + /* if header phase */ + if ((hcryp->Instance->CR & CRYP_PHASE_HEADER) == CRYP_PHASE_HEADER ) + { + CRYP_GCMCCM_SetHeaderPhase_IT(hcryp); + } + else /* if payload phase */ + { + CRYP_GCMCCM_SetPayloadPhase_IT(hcryp); + } + } + } +} + +/** + * @brief Return the CRYP error code. + * @param hcryp : pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for the CRYP IP + * @retval CRYP error code + */ +uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp) +{ + return hcryp->ErrorCode; +} + +/** + * @brief Returns the CRYP state. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @retval HAL state + */ +HAL_CRYP_STATETypeDef HAL_CRYP_GetState(CRYP_HandleTypeDef *hcryp) +{ + return hcryp->State; +} + +/** + * @brief Input FIFO transfer completed callback. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @retval None + */ +__weak void HAL_CRYP_InCpltCallback(CRYP_HandleTypeDef *hcryp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcryp); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_CRYP_InCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Output FIFO transfer completed callback. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @retval None + */ +__weak void HAL_CRYP_OutCpltCallback(CRYP_HandleTypeDef *hcryp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcryp); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_CRYP_OutCpltCallback could be implemented in the user file + */ +} + +/** + * @brief CRYP error callback. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @retval None + */ + __weak void HAL_CRYP_ErrorCallback(CRYP_HandleTypeDef *hcryp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hcryp); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_CRYP_ErrorCallback could be implemented in the user file + */ +} +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup CRYP_Private_Functions + * @{ + */ + +/** + * @brief Encryption in ECB/CBC Algorithm with DES/TDES standard. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Timeout: Timeout value + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_TDES_Process(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + + uint32_t temp = 0U; /* Temporary CrypOutBuff */ + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + /*Start processing*/ + while((hcryp->CrypInCount < hcryp->Size) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Write plain data and get cipher data */ + if(((hcryp->Instance->SR & CRYP_FLAG_IFNF ) != RESET) && (hcryp->CrypInCount < hcryp->Size)) + { + /* Write the input block in the IN FIFO */ + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + } + + /* Wait for OFNE flag to be raised */ + if(CRYP_WaitOnOFNEFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state & errorCode*/ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + HAL_CRYP_ErrorCallback(hcryp); + } + + if(((hcryp->Instance->SR & CRYP_FLAG_OFNE ) != RESET) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Read the output block from the Output FIFO and put them in temporary Buffer then get CrypOutBuff from temporary buffer */ + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + (hcryp->CrypOutCount)) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + (hcryp->CrypOutCount)) = temp; + hcryp->CrypOutCount++; + } + } + /* Disable CRYP */ + __HAL_CRYP_DISABLE(hcryp); + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief CRYP block input/output data handling under interruption with DES/TDES standard. + * @note The function is called under interruption only, once + * interruptions have been enabled by CRYP_Decrypt_IT() and CRYP_Encrypt_IT(). + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_TDES_IT(CRYP_HandleTypeDef *hcryp) +{ + uint32_t temp = 0U; /* Temporary CrypOutBuff */ + + if(hcryp->State == HAL_CRYP_STATE_BUSY) + { + if((__HAL_CRYP_GET_IT(hcryp, CRYP_IT_INI) != RESET) && (__HAL_CRYP_GET_FLAG(hcryp, CRYP_FLAG_INRIS) != RESET)) + + { + /* Write input block in the IN FIFO */ + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + + if(hcryp->CrypInCount == hcryp->Size) + { + /* Disable interruption */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_INI); + + /* Call the input data transfer complete callback */ + HAL_CRYP_InCpltCallback(hcryp); + } + } + if((__HAL_CRYP_GET_IT(hcryp, CRYP_IT_OUTI) != RESET)&& (__HAL_CRYP_GET_FLAG(hcryp, CRYP_FLAG_OUTRIS) != RESET)) + { + /* Read the output block from the Output FIFO and put them in temporary Buffer then get CrypOutBuff from temporary buffer */ + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + (hcryp->CrypOutCount)) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + (hcryp->CrypOutCount)) = temp; + hcryp->CrypOutCount++; + if(hcryp->CrypOutCount == hcryp->Size) + { + /* Disable interruption */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_OUTI); + + /* Disable CRYP */ + __HAL_CRYP_DISABLE(hcryp); + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Call output transfer complete callback */ + HAL_CRYP_OutCpltCallback(hcryp); + } + } + return HAL_OK; + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } +} + +/** + * @brief Encryption in ECB/CBC & CTR Algorithm with AES Standard + * @param hcryp: pointer to a CRYP_HandleTypeDef structure + * @param Timeout: specify Timeout value + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AES_Encrypt(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + if (hcryp->Init.Algorithm != CRYP_AES_ECB) + { + /* Set the Initialization Vector*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + } + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + while((hcryp->CrypInCount < hcryp->Size) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Write plain Ddta and get cipher data */ + CRYP_AES_ProcessData(hcryp,Timeout); + } + + /* Disable CRYP */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Encryption in ECB/CBC & CTR mode with AES Standard using interrupt mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AES_Encrypt_IT(CRYP_HandleTypeDef *hcryp) +{ + + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + if (hcryp->Init.Algorithm != CRYP_AES_ECB) + { + /* Set the Initialization Vector*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + } + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + if(hcryp->Size != 0U) + { + /* Enable interrupts */ + __HAL_CRYP_ENABLE_IT(hcryp, CRYP_IT_INI | CRYP_IT_OUTI); + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + } + else + { + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Decryption in ECB/CBC & CTR mode with AES Standard + * @param hcryp: pointer to a CRYP_HandleTypeDef structure + * @param Timeout: Specify Timeout value + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AES_Decrypt(CRYP_HandleTypeDef *hcryp, uint32_t Timeout ) +{ + /* Key preparation for ECB/CBC */ + if (hcryp->Init.Algorithm != CRYP_AES_CTR) /*ECB or CBC*/ + { + /* change ALGOMODE to key preparation for decryption*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, CRYP_CR_ALGOMODE_AES_KEY ); + + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + /* Wait for BUSY flag to be raised */ + if(CRYP_WaitOnBUSYFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + /* Turn back to ALGOMODE of the configuration */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, hcryp->Init.Algorithm ); + } + else /*Algorithm CTR */ + { + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + } + + /* Set IV */ + if (hcryp->Init.Algorithm != CRYP_AES_ECB) + { + /* Set the Initialization Vector*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + } + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + while((hcryp->CrypInCount < hcryp->Size) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Write plain data and get cipher data */ + CRYP_AES_ProcessData(hcryp,Timeout); + } + + /* Disable CRYP */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Return function status */ + return HAL_OK; +} +/** + * @brief Decryption in ECB/CBC & CTR mode with AES Standard using interrupt mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AES_Decrypt_IT(CRYP_HandleTypeDef *hcryp) +{ + __IO uint32_t count = 0U; + + /* Key preparation for ECB/CBC */ + if (hcryp->Init.Algorithm != CRYP_AES_CTR) + { + /* change ALGOMODE to key preparation for decryption*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, CRYP_CR_ALGOMODE_AES_KEY ); + + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + /* Wait for BUSY flag to be raised */ + count = CRYP_TIMEOUT_KEYPREPARATION; + do + { + if(count-- == 0U) + { + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while(HAL_IS_BIT_SET(hcryp->Instance->SR, CRYP_FLAG_BUSY)); + + /* Turn back to ALGOMODE of the configuration */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, hcryp->Init.Algorithm ); + } + else /*Algorithm CTR */ + { + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + } + + /* Set IV */ + if (hcryp->Init.Algorithm != CRYP_AES_ECB) + { + /* Set the Initialization Vector*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + } + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + if(hcryp->Size != 0) + { + /* Enable interrupts */ + __HAL_CRYP_ENABLE_IT(hcryp, CRYP_IT_INI | CRYP_IT_OUTI); + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + } + else + { + /* Process locked */ + __HAL_UNLOCK(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + } + /* Return function status */ + return HAL_OK; +} +/** + * @brief Decryption in ECB/CBC & CTR mode with AES Standard using DMA mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AES_Decrypt_DMA(CRYP_HandleTypeDef *hcryp) +{ + __IO uint32_t count = 0U; + + /* Key preparation for ECB/CBC */ + if (hcryp->Init.Algorithm != CRYP_AES_CTR) + { + /* change ALGOMODE to key preparation for decryption*/ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, CRYP_CR_ALGOMODE_AES_KEY ); + + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + /* Wait for BUSY flag to be raised */ + count = CRYP_TIMEOUT_KEYPREPARATION; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while(HAL_IS_BIT_SET(hcryp->Instance->SR, CRYP_FLAG_BUSY)); + + /* Turn back to ALGOMODE of the configuration */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, hcryp->Init.Algorithm ); + } + else /*Algorithm CTR */ + { + /* Set the Key*/ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + } + + if (hcryp->Init.Algorithm != CRYP_AES_ECB) + { + /* Set the Initialization Vector*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + } + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + if(hcryp->Size != 0) + { + /* Set the input and output addresses and start DMA transfer */ + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), hcryp->Size, (uint32_t)(hcryp->pCrypOutBuffPtr)); + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + } + + /* Return function status */ + return HAL_OK; +} + + +/** + * @brief DMA CRYP input data process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void CRYP_DMAInCplt(DMA_HandleTypeDef *hdma) +{ + CRYP_HandleTypeDef* hcryp = (CRYP_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + /* Disable the DMA transfer for input FIFO request by resetting the DIEN bit + in the DMACR register */ + hcryp->Instance->DMACR &= (uint32_t)(~CRYP_DMACR_DIEN); + + /* Call input data transfer complete callback */ + HAL_CRYP_InCpltCallback(hcryp); +} + +/** + * @brief DMA CRYP output data process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void CRYP_DMAOutCplt(DMA_HandleTypeDef *hdma) +{ + CRYP_HandleTypeDef* hcryp = (CRYP_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + /* Disable the DMA transfer for output FIFO request by resetting + the DOEN bit in the DMACR register */ + hcryp->Instance->DMACR &= (uint32_t)(~CRYP_DMACR_DOEN); + if((hcryp->Init.Algorithm & CRYP_AES_GCM) != CRYP_AES_GCM) + { + /* Disable CRYP (not allowed in GCM)*/ + __HAL_CRYP_DISABLE(hcryp); + } + + /* Change the CRYP state to ready */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Call output data transfer complete callback */ + HAL_CRYP_OutCpltCallback(hcryp); +} + +/** + * @brief DMA CRYP communication error callback. + * @param hdma: DMA handle + * @retval None + */ +static void CRYP_DMAError(DMA_HandleTypeDef *hdma) +{ + CRYP_HandleTypeDef* hcryp = (CRYP_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + /* Change the CRYP peripheral state */ + hcryp->State= HAL_CRYP_STATE_READY; + + /* DMA error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_DMA; + + /* Call error callback */ + HAL_CRYP_ErrorCallback(hcryp); +} + +/** + * @brief Set the DMA configuration and start the DMA transfer + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param inputaddr: address of the input buffer + * @param Size: size of the input buffer, must be a multiple of 16. + * @param outputaddr: address of the output buffer + * @retval None + */ +static void CRYP_SetDMAConfig(CRYP_HandleTypeDef *hcryp, uint32_t inputaddr, uint16_t Size, uint32_t outputaddr) +{ + /* Set the CRYP DMA transfer complete callback */ + hcryp->hdmain->XferCpltCallback = CRYP_DMAInCplt; + + /* Set the DMA input error callback */ + hcryp->hdmain->XferErrorCallback = CRYP_DMAError; + + /* Set the CRYP DMA transfer complete callback */ + hcryp->hdmaout->XferCpltCallback = CRYP_DMAOutCplt; + + /* Set the DMA output error callback */ + hcryp->hdmaout->XferErrorCallback = CRYP_DMAError; + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + /* Enable the input DMA Stream */ + HAL_DMA_Start_IT(hcryp->hdmain, inputaddr, (uint32_t)&hcryp->Instance->DIN, Size); + + /* Enable the output DMA Stream */ + HAL_DMA_Start_IT(hcryp->hdmaout, (uint32_t)&hcryp->Instance->DOUT, outputaddr, Size); + + /* Enable In/Out DMA request */ + hcryp->Instance->DMACR = CRYP_DMACR_DOEN | CRYP_DMACR_DIEN; +} + +/** + * @brief Process Data: Write Input data in polling mode and used in AES functions. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Timeout: Specify Timeout value + * @retval None + */ +static HAL_StatusTypeDef CRYP_AES_ProcessData(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + + uint32_t temp = 0U; /* Temporary CrypOutBuff */ + + if(((hcryp->Instance->SR & CRYP_FLAG_IFNF ) != RESET) && (hcryp->CrypInCount < hcryp->Size)) + { + /* Write the input block in the IN FIFO */ + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + } + + /* Wait for OFNE flag to be raised */ + if(CRYP_WaitOnOFNEFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state & error code*/ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + HAL_CRYP_ErrorCallback(hcryp); + } + + if(((hcryp->Instance->SR & CRYP_FLAG_OFNE ) != RESET) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Read the output block from the Output FIFO and put them in temporary buffer then get CrypOutBuff from temporary buffer */ + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Handle CRYP block input/output data handling under interruption. + * @note The function is called under interruption only, once + * interruptions have been enabled by HAL_CRYP_Encrypt_IT or HAL_CRYP_Decrypt_IT. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AES_IT(CRYP_HandleTypeDef *hcryp) +{ + uint32_t temp = 0U; /* Temporary CrypOutBuff */ + + if(hcryp->State == HAL_CRYP_STATE_BUSY) + { + if(((hcryp->Instance->SR & CRYP_FLAG_IFNF ) != RESET) && (hcryp->CrypInCount < hcryp->Size)) + { + /* Write the input block in the IN FIFO */ + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + if(hcryp->CrypInCount == hcryp->Size) + { + /* Disable interrupts */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_INI); + + /* Call the input data transfer complete callback */ + HAL_CRYP_InCpltCallback(hcryp); + } + } + if(((hcryp->Instance->SR & CRYP_FLAG_OFNE ) != RESET) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Read the output block from the output FIFO and put them in temporary buffer then get CrypOutBuff from temporary buffer */ + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + if(hcryp->CrypOutCount == hcryp->Size) + { + /* Disable interrupts */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_OUTI); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Disable CRYP */ + __HAL_CRYP_DISABLE(hcryp); + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Call output transfer complete callback */ + HAL_CRYP_OutCpltCallback(hcryp); + } + } + /* Return function status */ + return HAL_OK; + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } +} + +/** + * @brief Writes Key in Key registers. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Key: Pointer to Key buffer + * @param KeySize: Size of Key + * @retval None + */ +static void CRYP_SetKey(CRYP_HandleTypeDef *hcryp, uint32_t *Key, uint32_t KeySize) +{ + switch(KeySize) + { + case CRYP_KEYSIZE_256B: + hcryp->Instance->K0LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K0RR = *(uint32_t*)(hcryp->Init.pKey+1); + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+5); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+6); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+7); + break; + case CRYP_KEYSIZE_192B: + hcryp->Instance->K1LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K1RR = *(uint32_t*)(hcryp->Init.pKey+1); + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+3); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+4); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+5); + break; + case CRYP_KEYSIZE_128B: + hcryp->Instance->K2LR = *(uint32_t*)(hcryp->Init.pKey); + hcryp->Instance->K2RR = *(uint32_t*)(hcryp->Init.pKey+1); + hcryp->Instance->K3LR = *(uint32_t*)(hcryp->Init.pKey+2); + hcryp->Instance->K3RR = *(uint32_t*)(hcryp->Init.pKey+3); + + break; + default: + break; + } +} + +/** + * @brief Encryption/Decryption process in AES GCM mode and prepare the authentication TAG + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Timeout: Timeout duration + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AESGCM_Process(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + uint32_t payloadlength = 0U; + + /* Reset CrypHeaderCount */ + hcryp->CrypHeaderCount = 0U; + + /****************************** Init phase **********************************/ + + CRYP_SET_PHASE(hcryp,CRYP_PHASE_INIT); + + /* Set the key */ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Set the initialization vector and the counter : Initial Counter Block (ICB)*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /*Wait for the CRYPEN bit to be cleared*/ + while((hcryp->Instance->CR & CRYP_CR_CRYPEN) == CRYP_CR_CRYPEN) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + + /************************ Header phase *************************************/ + + if(CRYP_GCMCCM_SetHeaderPhase(hcryp, Timeout) != HAL_OK) + { + return HAL_ERROR; + } + + /*************************Payload phase ************************************/ + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Disable the CRYP peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Select payload phase once the header phase is performed */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_PAYLOAD); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Write input data and get output Data */ + if ((hcryp->Size % 4U) == 0U) + { + while((hcryp->CrypInCount < hcryp->Size) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Write plain data and get cipher data */ + CRYP_AES_ProcessData(hcryp,Timeout); + + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state & error code */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + } + else + { + payloadlength = (((hcryp->Size)/4U)*4U) ; + + /*Write input block in the IN FIFO without last block */ + while((hcryp->CrypInCount < payloadlength) && (hcryp->CrypOutCount < payloadlength)) + { + /* Write input Data and get output Data */ + CRYP_AES_ProcessData(hcryp,Timeout); + + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + /* Workaround 2 : CRYP1 & AES generates correct TAG for GCM mode only when input block size is multiple of + 128 bits. If lthe size of the last block of payload is inferior to 128 bits, when GCM encryption + is selected, then the TAG message will be wrong.*/ + CRYP_Workaround(hcryp,Timeout); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Encryption/Decryption process in AES GCM mode and prepare the authentication TAG in interrupt mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AESGCM_Process_IT(CRYP_HandleTypeDef *hcryp) +{ + __IO uint32_t count = 0U; + + /* Reset CrypHeaderCount */ + hcryp->CrypHeaderCount =0U; + + /******************************* Init phase *********************************/ + + CRYP_SET_PHASE(hcryp,CRYP_PHASE_INIT); + + /* Set the key */ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Set the initialization vector and the counter : Initial Counter Block (ICB)*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /*Wait for the CRYPEN bit to be cleared*/ + count = CRYP_TIMEOUT_GCMCCMINITPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while((hcryp->Instance->CR & CRYP_CR_CRYPEN) == CRYP_CR_CRYPEN); + + /***************************** Header phase *********************************/ + + /* Select header phase */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_HEADER); + + /* Enable interrupts */ + __HAL_CRYP_ENABLE_IT(hcryp, CRYP_IT_INI); + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + /* Return function status */ + return HAL_OK; +} + + +/** + * @brief Encryption/Decryption process in AES GCM mode and prepare the authentication TAG using DMA + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AESGCM_Process_DMA(CRYP_HandleTypeDef *hcryp) +{ + __IO uint32_t count = 0U; + uint32_t payloadlength = 0U; + + /* Reset CrypHeaderCount */ + hcryp->CrypHeaderCount = 0U; + + /*************************** Init phase ************************************/ + + CRYP_SET_PHASE(hcryp,CRYP_PHASE_INIT); + + /* Set the key */ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Set the initialization vector and the counter : Initial Counter Block (ICB)*/ + hcryp->Instance->IV0LR = *(uint32_t*)(hcryp->Init.pInitVect); + hcryp->Instance->IV0RR = *(uint32_t*)(hcryp->Init.pInitVect+1); + hcryp->Instance->IV1LR = *(uint32_t*)(hcryp->Init.pInitVect+2); + hcryp->Instance->IV1RR = *(uint32_t*)(hcryp->Init.pInitVect+3); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /*Wait for the CRYPEN bit to be cleared*/ + count = CRYP_TIMEOUT_GCMCCMINITPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while((hcryp->Instance->CR & CRYP_CR_CRYPEN) == CRYP_CR_CRYPEN); + + /************************ Header phase *************************************/ + + if(CRYP_GCMCCM_SetHeaderPhase_DMA(hcryp) != HAL_OK) + { + return HAL_ERROR; + } + + /************************ Payload phase ************************************/ + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Disable the CRYP peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Select payload phase once the header phase is performed */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_PAYLOAD); + + if(hcryp->Size != 0U) + { + /* Size should be %4 otherwise Tag will be incorrectly generated for GCM Encryption: + Workaround is implemented in polling mode, so if last block of + payload <128bit don't use DMA mode otherwise TAG is incorrectly generated . */ + /* Set the input and output addresses and start DMA transfer */ + if ((hcryp->Size % 4U) == 0U) + { + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), hcryp->Size, (uint32_t)(hcryp->pCrypOutBuffPtr)); + } + else /*to compute last word<128bits, otherwise it will not be encrypted/decrypted */ + { + payloadlength = (hcryp->Size)+(4-(hcryp->Size)%4U) ; + + /* Set the input and output addresses and start DMA transfer, pCrypOutBuffPtr size should be %4 */ + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), payloadlength, (uint32_t)(hcryp->pCrypOutBuffPtr)); + } + } + else + { + /* Process unLocked */ + __HAL_UNLOCK(hcryp); + + /* Change the CRYP state and phase */ + hcryp->State = HAL_CRYP_STATE_READY; + } + + /* Return function status */ + return HAL_OK; +} + + +/** + * @brief AES CCM encryption/decryption processing in polling mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Timeout: Timeout duration + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AESCCM_Process(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + uint32_t payloadlength =0U; + + /* Reset CrypHeaderCount */ + hcryp->CrypHeaderCount = 0U; + + /********************** Init phase ******************************************/ + + CRYP_SET_PHASE(hcryp,CRYP_PHASE_INIT); + + /* Set the key */ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Set the initialization vector (IV) with CTR1 information */ + hcryp->Instance->IV0LR = (hcryp->Init.B0[0]) & CRYP_CCM_CTR1_0; + hcryp->Instance->IV0RR = hcryp->Init.B0[1]; + hcryp->Instance->IV1LR = hcryp->Init.B0[2]; + hcryp->Instance->IV1RR = (hcryp->Init.B0[3] & CRYP_CCM_CTR1_1)| CRYP_CCM_CTR1_2; + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /*Write B0 packet into CRYP_DR*/ + if(hcryp->Init.DataType == CRYP_DATATYPE_8B) + { + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0)); + hcryp->Instance->DIN = __REV( *(uint32_t*)(hcryp->Init.B0+1)); + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0+2)); + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0+3)); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_16B) + { + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0), 16); + hcryp->Instance->DIN = __ROR( *(uint32_t*)(hcryp->Init.B0+1), 16); + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0+2), 16); + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0+3), 16); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_1B) + { + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0)); + hcryp->Instance->DIN = __RBIT( *(uint32_t*)(hcryp->Init.B0+1)); + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0+2)); + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0+3)); + } + else + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+1); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+2); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+3); + } + /* Get tick */ + tickstart = HAL_GetTick(); + + /*Wait for the CRYPEN bit to be cleared*/ + while((hcryp->Instance->CR & CRYP_CR_CRYPEN) == CRYP_CR_CRYPEN) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + + /************************* Header phase *************************************/ + /* Header block(B1) : associated data length expressed in bytes concatenated + with Associated Data (A)*/ + + if(CRYP_GCMCCM_SetHeaderPhase(hcryp, Timeout) != HAL_OK) + { + return HAL_ERROR; + } + /********************** Payload phase ***************************************/ + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Disable the CRYP peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Select payload phase once the header phase is performed */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_PAYLOAD); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Write input data and get output data */ + if((hcryp->Size % 4U) == 0U) + { + while((hcryp->CrypInCount < hcryp->Size) && (hcryp->CrypOutCount < hcryp->Size)) + { + /* Write plain data and get cipher data */ + CRYP_AES_ProcessData(hcryp,Timeout); + + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + } + else + { + if(hcryp->Size > 4U) + { + payloadlength = (((hcryp->Size)/4)*4) ; + /*Write input block in the IN FIFO without last block */ + while((hcryp->CrypInCount < payloadlength) && (hcryp->CrypOutCount < payloadlength)) + { + /* Write input data and get output data */ + CRYP_AES_ProcessData(hcryp,Timeout); + + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + } + /* CRYP Workaround : CRYP1 generates correct TAG during CCM decryption only when ciphertext blocks size is multiple of + 128 bits. If lthe size of the last block of payload is inferior to 128 bits, when CCM decryption + is selected, then the TAG message will be wrong.*/ + CRYP_Workaround(hcryp,Timeout); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief AES CCM encryption/decryption process in interrupt mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AESCCM_Process_IT(CRYP_HandleTypeDef *hcryp) +{ + __IO uint32_t count = 0U; + + /* Reset CrypHeaderCount */ + hcryp->CrypHeaderCount = 0U; + + /************ Init phase ************/ + + CRYP_SET_PHASE(hcryp,CRYP_PHASE_INIT); + + /* Set the key */ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Set the initialization vector (IV) with CTR1 information */ + hcryp->Instance->IV0LR = (hcryp->Init.B0[0]) & CRYP_CCM_CTR1_0; + hcryp->Instance->IV0RR = hcryp->Init.B0[1]; + hcryp->Instance->IV1LR = hcryp->Init.B0[2]; + hcryp->Instance->IV1RR = (hcryp->Init.B0[3] & CRYP_CCM_CTR1_1)| CRYP_CCM_CTR1_2; + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /*Write the B0 packet into CRYP_DR*/ + if(hcryp->Init.DataType == CRYP_DATATYPE_8B) + { + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0)); + hcryp->Instance->DIN = __REV( *(uint32_t*)(hcryp->Init.B0+1)); + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0+2)); + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0+3)); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_16B) + { + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0), 16); + hcryp->Instance->DIN = __ROR( *(uint32_t*)(hcryp->Init.B0+1), 16); + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0+2), 16); + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0+3), 16); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_1B) + { + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0)); + hcryp->Instance->DIN = __RBIT( *(uint32_t*)(hcryp->Init.B0+1)); + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0+2)); + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0+3)); + } + else + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+1); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+2); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+3); + } + /*Wait for the CRYPEN bit to be cleared*/ + count = CRYP_TIMEOUT_GCMCCMINITPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while((hcryp->Instance->CR & CRYP_CR_CRYPEN) == CRYP_CR_CRYPEN); + + /* Select header phase */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_HEADER); + + /* Enable interrupts */ + __HAL_CRYP_ENABLE_IT(hcryp, CRYP_IT_INI); + + /* Enable CRYP */ + __HAL_CRYP_ENABLE(hcryp); + + /* Return function status */ + return HAL_OK; +} +/** + * @brief AES CCM encryption/decryption process in DMA mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_AESCCM_Process_DMA(CRYP_HandleTypeDef *hcryp) +{ + uint32_t payloadlength = 0U; + __IO uint32_t count = 0U; + + /* Reset CrypHeaderCount */ + hcryp->CrypHeaderCount = 0U; + + /************************** Init phase **************************************/ + + CRYP_SET_PHASE(hcryp,CRYP_PHASE_INIT); + + /* Set the key */ + CRYP_SetKey(hcryp, hcryp->Init.pKey, hcryp->Init.KeySize); + + /* Set the initialization vector (IV) with CTR1 information */ + hcryp->Instance->IV0LR = (hcryp->Init.B0[0]) & CRYP_CCM_CTR1_0; + hcryp->Instance->IV0RR = hcryp->Init.B0[1]; + hcryp->Instance->IV1LR = hcryp->Init.B0[2]; + hcryp->Instance->IV1RR = (hcryp->Init.B0[3] & CRYP_CCM_CTR1_1)| CRYP_CCM_CTR1_2; + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /*Write the B0 packet into CRYP_DR*/ + if(hcryp->Init.DataType == CRYP_DATATYPE_8B) + { + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0)); + hcryp->Instance->DIN = __REV( *(uint32_t*)(hcryp->Init.B0+1)); + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0+2)); + hcryp->Instance->DIN = __REV(*(uint32_t*)(hcryp->Init.B0+3)); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_16B) + { + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0), 16); + hcryp->Instance->DIN = __ROR( *(uint32_t*)(hcryp->Init.B0+1), 16); + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0+2), 16); + hcryp->Instance->DIN = __ROR(*(uint32_t*)(hcryp->Init.B0+3), 16); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_1B) + { + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0)); + hcryp->Instance->DIN = __RBIT( *(uint32_t*)(hcryp->Init.B0+1)); + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0+2)); + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(hcryp->Init.B0+3)); + } + else + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+1); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+2); + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.B0+3); + } + + /*Wait for the CRYPEN bit to be cleared*/ + count = CRYP_TIMEOUT_GCMCCMINITPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while((hcryp->Instance->CR & CRYP_CR_CRYPEN) == CRYP_CR_CRYPEN); + + /********************* Header phase *****************************************/ + + if(CRYP_GCMCCM_SetHeaderPhase_DMA(hcryp) != HAL_OK) + { + return HAL_ERROR; + } + + /******************** Payload phase *****************************************/ + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Disable the CRYP peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Select payload phase once the header phase is performed */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_PAYLOAD); + + if(hcryp->Size != 0U) + { + /* Size should be %4 otherwise Tag will be incorrectly generated for GCM Encryption & CCM Decryption + Workaround is implemented in polling mode, so if last block of + payload <128bit don't use HAL_CRYP_AESGCM_DMA otherwise TAG is incorrectly generated for GCM Encryption. */ + /* Set the input and output addresses and start DMA transfer */ + if ((hcryp->Size % 4U) == 0U) + { + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), hcryp->Size, (uint32_t)(hcryp->pCrypOutBuffPtr)); + } + else + { + payloadlength = (hcryp->Size)+(4-(hcryp->Size %4)) ; + + /* Set the input and output addresses and start DMA transfer, pCrypOutBuffPtr size should be %4*/ + CRYP_SetDMAConfig(hcryp, (uint32_t)( hcryp->pCrypInBuffPtr), payloadlength, (uint32_t)(hcryp->pCrypOutBuffPtr)); + } + } + else /*Size = 0*/ + { + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Change the CRYP state and phase */ + hcryp->State = HAL_CRYP_STATE_READY; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Sets the payload phase in iterrupt mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @retval state + */ +static HAL_StatusTypeDef CRYP_GCMCCM_SetPayloadPhase_IT(CRYP_HandleTypeDef *hcryp) +{ + uint32_t loopcounter = 0U; + uint32_t temp = 0U; /* Temporary CrypOutBuff */ + + /***************************** Payload phase *******************************/ + + if(hcryp->Size == 0U) + { + /* Disable interrupts */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_INI| CRYP_IT_OUTI); + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + } + + else if ((hcryp->Size) - (hcryp->CrypInCount) >= 4) + { + /* Write the input block in the IN FIFO */ + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + if(hcryp->Size == hcryp->CrypInCount) + { + /* Disable interrupts */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_INI); + + /* Call the input data transfer complete callback */ + HAL_CRYP_InCpltCallback(hcryp); + } + if(hcryp->CrypOutCount < hcryp->Size) + { + /* Read the output block from the Output FIFO and put them in temporary buffer then get CrypOutBuff from temporary buffer */ + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + temp = hcryp->Instance->DOUT; + *(uint32_t *)(hcryp->pCrypOutBuffPtr + hcryp->CrypOutCount) = temp; + hcryp->CrypOutCount++; + if (hcryp->Size == hcryp->CrypOutCount) + { + /* Disable interrupts */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_OUTI); + + /* Change the CRYP state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Disable CRYP */ + __HAL_CRYP_DISABLE(hcryp); + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Call output transfer complete callback */ + HAL_CRYP_OutCpltCallback(hcryp); + } + } + } + else if ((hcryp->Size %4U )!= 0U) + { + /* Size should be %4 otherwise TAG will be incorrectly generated for GCM Encryption & CCM Decryption + Workaround is implemented in polling mode, so if last block of + payload <128bit don't use CRYP_AESGCM_Encrypt_IT otherwise TAG is incorrectly generated. */ + + /* Last block optionally pad the data with zeros*/ + for(loopcounter = 0U; loopcounter < (hcryp->Size %4 ); loopcounter++) + { + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + } + while(loopcounter < 4U ) + { + /* Pad the data with zeros to have a complete block */ + hcryp->Instance->DIN = 0x0U; + loopcounter++; + } + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_INI); + + if((hcryp->Instance->SR & CRYP_FLAG_OFNE ) != RESET) + { + for(loopcounter = 0U; loopcounter < 4U; loopcounter++) + { + /* Read the output block from the output FIFO and put them in temporary buffer */ + temp= hcryp->Instance->DOUT; + + /*get CrypOutBuff from temporary buffer */ + *(uint32_t *)(hcryp->pCrypOutBuffPtr + (hcryp->CrypOutCount))=temp; + hcryp->CrypOutCount++; + } + } + if(hcryp->CrypOutCount >= hcryp->Size) + { + /* Disable interrupts */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_OUTI|CRYP_IT_INI); + + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Call output transfer complete callback */ + HAL_CRYP_OutCpltCallback(hcryp); + } + } + + /* Return function status */ + return HAL_OK; +} + + +/** + * @brief Sets the header phase in polling mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module(Header & HeaderSize) + * @param Timeout: Timeout value + * @retval state + */ +static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + uint32_t loopcounter = 0U; + + /***************************** Header phase for GCM/GMAC or CCM *********************************/ + + if((hcryp->Init.HeaderSize != 0U)) + { + /* Select header phase */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_HEADER); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + if ((hcryp->Init.HeaderSize %4U )== 0U) + { + /* HeaderSize %4, no padding */ + for(loopcounter = 0U; (loopcounter < hcryp->Init.HeaderSize); loopcounter+=4) + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + + /* Wait for IFEM to be raised */ + if(CRYP_WaitOnIFEMFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + else + { + /*Write header block in the IN FIFO without last block */ + for(loopcounter = 0U; (loopcounter < ((hcryp->Init.HeaderSize)-(hcryp->Init.HeaderSize %4U ))); loopcounter+= 4U) + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + + /* Wait for IFEM to be raised */ + if(CRYP_WaitOnIFEMFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + /* Last block optionally pad the data with zeros*/ + for(loopcounter = 0U; (loopcounter < (hcryp->Init.HeaderSize %4U )); loopcounter++) + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + } + while(loopcounter <4U ) + { + /* pad the data with zeros to have a complete block */ + hcryp->Instance->DIN = 0x0U; + loopcounter++; + } + /* Wait for CCF IFEM to be raised */ + if(CRYP_WaitOnIFEMFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + /* Wait until the complete message has been processed */ + if(CRYP_WaitOnBUSYFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked & return error */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Sets the header phase when using DMA in process + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module(Header & HeaderSize) + * @retval None + */ +static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_DMA(CRYP_HandleTypeDef *hcryp) +{ + __IO uint32_t count = 0U; + uint32_t loopcounter = 0U; + + /***************************** Header phase for GCM/GMAC or CCM *********************************/ + if((hcryp->Init.HeaderSize != 0U)) + { + /* Select header phase */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_HEADER); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + if ((hcryp->Init.HeaderSize %4U )== 0U) + { + /* HeaderSize %4, no padding */ + for(loopcounter = 0U; (loopcounter < hcryp->Init.HeaderSize); loopcounter+=4) + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + + /* Wait for IFEM to be raised */ + count = CRYP_TIMEOUT_GCMCCMHEADERPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while(HAL_IS_BIT_CLR(hcryp->Instance->SR, CRYP_FLAG_IFEM)); + } + } + else + { + /*Write header block in the IN FIFO without last block */ + for(loopcounter = 0U; (loopcounter < ((hcryp->Init.HeaderSize)-(hcryp->Init.HeaderSize %4 ))); loopcounter+=4) + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + + /* Wait for IFEM to be raised */ + count = CRYP_TIMEOUT_GCMCCMHEADERPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while(HAL_IS_BIT_CLR(hcryp->Instance->SR, CRYP_FLAG_IFEM)); + } + /* Last block optionally pad the data with zeros*/ + for(loopcounter = 0U; (loopcounter < (hcryp->Init.HeaderSize %4U )); loopcounter++) + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + } + while(loopcounter < 4U ) + { + /* Pad the data with zeros to have a complete block */ + hcryp->Instance->DIN = 0x0U; + loopcounter++; + } + /* Wait for IFEM to be raised */ + count = CRYP_TIMEOUT_GCMCCMHEADERPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while(HAL_IS_BIT_CLR(hcryp->Instance->SR, CRYP_FLAG_IFEM)); + } + /* Wait until the complete message has been processed */ + count = CRYP_TIMEOUT_GCMCCMHEADERPHASE; + do + { + if(count-- == 0U) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + while(HAL_IS_BIT_SET(hcryp->Instance->SR, CRYP_FLAG_BUSY)); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Sets the header phase in interrupt mode + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module(Header & HeaderSize) + * @retval None + */ +static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_IT(CRYP_HandleTypeDef *hcryp) +{ + uint32_t loopcounter = 0U; + + /***************************** Header phase *********************************/ + + if(hcryp->Init.HeaderSize == hcryp->CrypHeaderCount) + { + /* Disable interrupts */ + __HAL_CRYP_DISABLE_IT(hcryp, CRYP_IT_INI ); + + /* Disable the CRYP peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Set the phase */ + hcryp->Phase = CRYP_PHASE_PROCESS; + + /* Select payload phase once the header phase is performed */ + CRYP_SET_PHASE(hcryp, CRYP_PHASE_PAYLOAD); + + /* Enable Interrupts */ + __HAL_CRYP_ENABLE_IT(hcryp, CRYP_IT_INI | CRYP_IT_OUTI ); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + } + else if ((hcryp->Init.HeaderSize) - (hcryp->CrypHeaderCount) >= 4U) + + { /* HeaderSize %4, no padding */ + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount ); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header + hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + } + else + { + /* Last block optionally pad the data with zeros*/ + for(loopcounter = 0U; loopcounter < (hcryp->Init.HeaderSize %4U ); loopcounter++) + { + hcryp->Instance->DIN = *(uint32_t*)(hcryp->Init.Header+ hcryp->CrypHeaderCount); + hcryp->CrypHeaderCount++ ; + } + while(loopcounter <4U ) + { + /* Pad the data with zeros to have a complete block */ + hcryp->Instance->DIN = 0x0U; + loopcounter++; + } + } + + /* Return function status */ + return HAL_OK; +} + + +/** + * @brief Workaround used for GCM/CCM mode. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param Timeout: Timeout value + * @retval None + */ +static void CRYP_Workaround(CRYP_HandleTypeDef *hcryp, uint32_t Timeout ) +{ + uint32_t plength = 0U; + uint32_t iv1temp = 0U; + uint32_t temp[4] = {0}; + uint32_t temp2[4]= {0}; + uint32_t intermediate_data[4]={0}; + uint32_t index = 0U; + + /* Workaround 2, case GCM encryption */ + if (hcryp->Init.Algorithm == CRYP_AES_GCM) + { + if((hcryp->Instance->CR & CRYP_CR_ALGODIR) == CRYP_OPERATINGMODE_ENCRYPT) + {/*Workaround in order to properly compute authentication tags while doing + a GCM encryption with the last block of payload size inferior to 128 bits*/ + /* Disable CRYP to start the final phase */ + __HAL_CRYP_DISABLE(hcryp); + + /*Load CRYP_IV1R register content in a temporary variable. Decrement the value + by 1 and reinsert the result in CRYP_IV1R register*/ + hcryp->Instance->IV1RR = 0x5U; + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, CRYP_AES_CTR); + + /* Enable CRYP to start the final phase */ + __HAL_CRYP_ENABLE(hcryp); + } + /* Last block optionally pad the data with zeros*/ + for(index=0; index < (hcryp->Size % 4); index ++) + { + /* Write the last input block in the IN FIFO */ + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + } + while(index < 4U) + { + /* Pad the data with zeros to have a complete block */ + hcryp->Instance->DIN = 0U; + index++; + } + /* Wait for OFNE flag to be raised */ + if(CRYP_WaitOnOFNEFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); + HAL_CRYP_ErrorCallback(hcryp); + } + if(((hcryp->Instance->SR & CRYP_FLAG_OFNE ) != RESET) && (hcryp->CrypOutCount < hcryp->Size)) + { + for(index=0U; index< 4U;index++) + { + /* Read the output block from the output FIFO */ + intermediate_data[index] = hcryp->Instance->DOUT; + + /* Intermediate data buffer to be used in for the workaround*/ + *(uint32_t *)(hcryp->pCrypOutBuffPtr + (hcryp->CrypOutCount))=intermediate_data[index]; + hcryp->CrypOutCount++; + } + } + + if((hcryp->Instance->CR & CRYP_CR_ALGODIR) == CRYP_OPERATINGMODE_ENCRYPT) + { + /*workaround in order to properly compute authentication tags while doing + a GCM encryption with the last block of payload size inferior to 128 bits*/ + /* Change the AES mode to GCM mode and Select Final phase */ + /* configured CHMOD GCM */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, CRYP_AES_GCM); + + /* configured final phase */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_GCM_CCMPH, CRYP_PHASE_FINAL); + + for (index=0U; index < (hcryp->Size % 4U); index ++) + { + /*Write the intermediate_data in the IN FIFO */ + hcryp->Instance->DIN=intermediate_data[index]; + } + while(index < 4U) + { + /* Pad the data with zeros to have a complete block */ + hcryp->Instance->DIN = 0x0U; + index++; + } + /* Wait for OFNE flag to be raised */ + if(CRYP_WaitOnOFNEFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + HAL_CRYP_ErrorCallback(hcryp); + } + + if((hcryp->Instance->SR & CRYP_FLAG_OFNE ) != RESET) + { + for( index=0U; index< 4U;index++) + { + intermediate_data[index]=hcryp->Instance->DOUT; + } + } + } + } /* End of GCM encryption */ + else{ /* Workaround 2, case CCM decryption, in order to properly compute + authentication tags while doing a CCM decryption with the last block + of payload size inferior to 128 bits*/ + + if((hcryp->Instance->CR & CRYP_CR_ALGODIR) == CRYP_OPERATINGMODE_DECRYPT) + { + iv1temp = hcryp->Instance->CSGCMCCM7R; + + /* Disable CRYP to start the final phase */ + __HAL_CRYP_DISABLE(hcryp); + + temp[0]= hcryp->Instance->CSGCMCCM0R; + temp[1]= hcryp->Instance->CSGCMCCM1R; + temp[2]= hcryp->Instance->CSGCMCCM2R; + temp[3]= hcryp->Instance->CSGCMCCM3R; + + hcryp->Instance->IV1RR= iv1temp; + + /* Configured CHMOD CTR */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, CRYP_AES_CTR); + + /* Enable CRYP to start the final phase */ + __HAL_CRYP_ENABLE(hcryp); + } + /* Last block optionally pad the data with zeros*/ + for(index=0; index < (hcryp->Size % 4); index ++) + { + /* Write the last Input block in the IN FIFO */ + hcryp->Instance->DIN = *(uint32_t *)(hcryp->pCrypInBuffPtr + hcryp->CrypInCount ); + hcryp->CrypInCount++; + } + while(index < 4) + { + /* Pad the data with zeros to have a complete block */ + hcryp->Instance->DIN = 0; + index++; + } + /* Wait for OFNE flag to be raised */ + if(CRYP_WaitOnOFNEFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); + HAL_CRYP_ErrorCallback(hcryp); + } + + if(((hcryp->Instance->SR & CRYP_FLAG_OFNE ) != RESET) && (hcryp->CrypOutCount < hcryp->Size)) + { + for(index=0U; index< 4U;index++) + { + /* Read the Output block from the Output FIFO */ + intermediate_data[index] = hcryp->Instance->DOUT; + + /*intermediate data buffer to be used in for the workaround*/ + *(uint32_t *)(hcryp->pCrypOutBuffPtr + (hcryp->CrypOutCount))=intermediate_data[index]; + hcryp->CrypOutCount++; + } + } + + if((hcryp->Instance->CR & CRYP_CR_ALGODIR) == CRYP_OPERATINGMODE_DECRYPT) + { + temp2[0]= hcryp->Instance->CSGCMCCM0R; + temp2[1]= hcryp->Instance->CSGCMCCM1R; + temp2[2]= hcryp->Instance->CSGCMCCM2R; + temp2[3]= hcryp->Instance->CSGCMCCM3R; + + /* configured CHMOD CCM */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_ALGOMODE, CRYP_AES_CCM); + + /* configured Header phase */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_GCM_CCMPH, CRYP_PHASE_HEADER); + + plength=(hcryp->Init.B0[3] & 0x000000FFU); + + /*set to zero the bits corresponding to the padded bits*/ + for(index = (hcryp->Size % 4U); index<4U; index ++) + { + intermediate_data[index] =0U; + } + + if ((plength %4U)==1U) + { + intermediate_data[(hcryp->Size % 4U)-1U] = intermediate_data[(hcryp->Size % 4U)-1U] & 0xFF000000U; + } + if ((plength %4U)==2U) + { + intermediate_data[(hcryp->Size % 4U)-1U] = intermediate_data[(hcryp->Size % 4U)-1U] & 0xFFFF0000U; + } + if ((plength %4U)==3U) + { + intermediate_data[(hcryp->Size % 4U)-1U] = intermediate_data[(hcryp->Size % 4U)-1U] & 0xFFFFFF00U; + } + ; + for(index=0U; index < 4U ; index ++) + { + intermediate_data[index] ^= temp[index]; + intermediate_data[index] ^= temp2[index]; + } + for(index = 0U; index < 4U; index ++) + { + /* Write the last Input block in the IN FIFO */ + hcryp->Instance->DIN = intermediate_data[index] ; + } + + /* Wait for BUSY flag to be raised */ + if(CRYP_WaitOnBUSYFlag(hcryp, Timeout) != HAL_OK) + { + /* Disable the CRYP peripheral clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); + HAL_CRYP_ErrorCallback(hcryp); + } + } + } /* End of CCM WKA*/ + + /* Process Unlocked */ + __HAL_UNLOCK(hcryp); +} + + +/** + * @brief Handle CRYP hardware block Timeout when waiting for IFEM flag to be raised. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_WaitOnIFEMFlag(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Get timeout */ + tickstart = HAL_GetTick(); + + while(HAL_IS_BIT_CLR(hcryp->Instance->SR, CRYP_FLAG_IFEM)) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + return HAL_ERROR; + } + } + } + return HAL_OK; +} +/** + * @brief Handle CRYP hardware block Timeout when waiting for BUSY flag to be raised. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_WaitOnBUSYFlag(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Get timeout */ + tickstart = HAL_GetTick(); + + while(HAL_IS_BIT_SET(hcryp->Instance->SR, CRYP_FLAG_BUSY)) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + return HAL_ERROR; + } + } + } + return HAL_OK; +} + + +/** + * @brief Handle CRYP hardware block Timeout when waiting for OFNE flag to be raised. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef CRYP_WaitOnOFNEFlag(CRYP_HandleTypeDef *hcryp, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Get timeout */ + tickstart = HAL_GetTick(); + + while(HAL_IS_BIT_CLR(hcryp->Instance->SR, CRYP_FLAG_OFNE)) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + return HAL_ERROR; + } + } + } + return HAL_OK; +} + + +/** + * @} + */ + + + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_CRYP_MODULE_ENABLED */ + + +/** + * @} + */ +#endif /* CRYP*/ +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp_ex.c new file mode 100644 index 0000000000..3717bfd2f2 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp_ex.c @@ -0,0 +1,427 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_cryp_ex.c + * @author MCD Application Team + * @brief Extended CRYP HAL module driver + * This file provides firmware functions to manage the following + * functionalities of CRYP extension peripheral: + * + Extended AES processing functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The CRYP extension HAL driver can be used after AES-GCM or AES-CCM + Encryption/Decryption to get the authentication messages. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +#if defined (CRYP) +/** @defgroup CRYPEx CRYPEx + * @brief CRYP Extension HAL module driver. + * @{ + */ + +#ifdef HAL_CRYP_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup CRYPEx_Private_Defines + * @{ + */ + +#define CRYP_PHASE_INIT 0x00000000U +#define CRYP_PHASE_HEADER CRYP_CR_GCM_CCMPH_0 +#define CRYP_PHASE_PAYLOAD CRYP_CR_GCM_CCMPH_1 +#define CRYP_PHASE_FINAL CRYP_CR_GCM_CCMPH + +#define CRYP_OPERATINGMODE_ENCRYPT 0x00000000U +#define CRYP_OPERATINGMODE_DECRYPT CRYP_CR_ALGODIR + +#define CRYPEx_PHASE_PROCESS 0x02U /*!< CRYP peripheral is in processing phase */ +#define CRYPEx_PHASE_FINAL 0x03U /*!< CRYP peripheral is in final phase this is relevant only with CCM and GCM modes */ + + /* CTR0 information to use in CCM algorithm */ +#define CRYP_CCM_CTR0_0 0x07FFFFFFU +#define CRYP_CCM_CTR0_3 0xFFFFFF00U + + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ + + + +/* Exported functions---------------------------------------------------------*/ +/** @addtogroup CRYPEx_Exported_Functions + * @{ + */ + +/** @defgroup CRYPEx_Exported_Functions_Group1 Extended AES processing functions + * @brief CRYPEx Extended processing functions. + * +@verbatim + ============================================================================== + ##### Extended AES processing functions ##### + ============================================================================== + [..] This section provides functions allowing to generate the authentication + TAG in Polling mode + (+)HAL_CRYPEx_AESGCM_GenerateAuthTAG + (+)HAL_CRYPEx_AESCCM_GenerateAuthTAG + they should be used after Encrypt/Decrypt operation. + +@endverbatim + * @{ + */ + + +/** + * @brief generate the GCM authentication TAG. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param AuthTag: Pointer to the authentication buffer + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYPEx_AESGCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + uint64_t headerlength = hcryp->Init.HeaderSize * 32U; /* Header length in bits */ + uint64_t inputlength = (hcryp->Size) * 32U; /* input length in bits */ + uint32_t tagaddr = (uint32_t)AuthTag; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Check if initialization phase has already been performed */ + if(hcryp->Phase == CRYPEx_PHASE_PROCESS) + { + /* Change the CRYP phase */ + hcryp->Phase = CRYPEx_PHASE_FINAL; + } + else /* Initialization phase has not been performed*/ + { + /* Disable the Peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Sequence error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_AUTH_TAG_SEQUENCE; + + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + + /* Disable CRYP to start the final phase */ + __HAL_CRYP_DISABLE(hcryp); + + /* Select final phase */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_GCM_CCMPH, CRYP_PHASE_FINAL); + + /*ALGODIR bit must be set to �0�.*/ + hcryp->Instance->CR &= ~CRYP_CR_ALGODIR; + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /* Write the number of bits in header (64 bits) followed by the number of bits + in the payload */ + if(hcryp->Init.DataType == CRYP_DATATYPE_1B) + { + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = __RBIT((uint32_t)(headerlength)); + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = __RBIT((uint32_t)(inputlength)); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_8B) + { + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = __REV((uint32_t)(headerlength)); + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = __REV((uint32_t)(inputlength)); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_16B) + { + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = __ROR((uint32_t)headerlength, 16U); + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = __ROR((uint32_t)inputlength, 16U); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_32B) + { + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = (uint32_t)(headerlength); + hcryp->Instance->DIN = 0U; + hcryp->Instance->DIN = (uint32_t)(inputlength); + } + + /* Wait for OFNE flag to be raised */ + tickstart = HAL_GetTick(); + while(HAL_IS_BIT_CLR(hcryp->Instance->SR, CRYP_FLAG_OFNE)) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP Peripheral Clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + + /* Read the authentication TAG in the output FIFO */ + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + tagaddr+=4U; + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + tagaddr+=4U; + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + tagaddr+=4U; + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + + /* Disable the peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + } + else + { + /* Busy error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief AES CCM Authentication TAG generation. + * @param hcryp: pointer to a CRYP_HandleTypeDef structure that contains + * the configuration information for CRYP module + * @param AuthTag: Pointer to the authentication buffer + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_CRYPEx_AESCCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout) +{ + uint32_t tagaddr = (uint32_t)AuthTag; + uint32_t ctr0 [4]={0}; + uint32_t ctr0addr = (uint32_t)ctr0; + uint32_t tickstart = 0U; + + if(hcryp->State == HAL_CRYP_STATE_READY) + { + /* Process locked */ + __HAL_LOCK(hcryp); + + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_BUSY; + + /* Check if initialization phase has already been performed */ + if(hcryp->Phase == CRYPEx_PHASE_PROCESS) + { + /* Change the CRYP phase */ + hcryp->Phase = CRYPEx_PHASE_FINAL; + } + else /* Initialization phase has not been performed*/ + { + /* Disable the peripheral */ + __HAL_CRYP_DISABLE(hcryp); + + /* Sequence error code field */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_AUTH_TAG_SEQUENCE; + + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + + /* Disable CRYP to start the final phase */ + __HAL_CRYP_DISABLE(hcryp); + + /* Select final phase & ALGODIR bit must be set to �0�. */ + MODIFY_REG(hcryp->Instance->CR, CRYP_CR_GCM_CCMPH|CRYP_CR_ALGODIR, CRYP_PHASE_FINAL|CRYP_OPERATINGMODE_ENCRYPT); + + /* Enable the CRYP peripheral */ + __HAL_CRYP_ENABLE(hcryp); + + /* Write the counter block in the IN FIFO, CTR0 information from B0 + data has to be swapped according to the DATATYPE*/ + ctr0[0]=(hcryp->Init.B0[0]) & CRYP_CCM_CTR0_0; + ctr0[1]=hcryp->Init.B0[1]; + ctr0[2]=hcryp->Init.B0[2]; + ctr0[3]=hcryp->Init.B0[3] & CRYP_CCM_CTR0_3; + + if(hcryp->Init.DataType == CRYP_DATATYPE_8B) + { + hcryp->Instance->DIN = __REV(*(uint32_t*)(ctr0addr)); + ctr0addr+=4; + hcryp->Instance->DIN = __REV(*(uint32_t*)(ctr0addr)); + ctr0addr+=4; + hcryp->Instance->DIN = __REV(*(uint32_t*)(ctr0addr)); + ctr0addr+=4; + hcryp->Instance->DIN = __REV(*(uint32_t*)(ctr0addr)); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_16B) + { + hcryp->Instance->DIN = __ROR(*(uint32_t*)(ctr0addr), 16U); + ctr0addr+=4; + hcryp->Instance->DIN = __ROR(*(uint32_t*)(ctr0addr), 16U); + ctr0addr+=4; + hcryp->Instance->DIN = __ROR(*(uint32_t*)(ctr0addr), 16U); + ctr0addr+=4; + hcryp->Instance->DIN = __ROR(*(uint32_t*)(ctr0addr), 16U); + } + else if(hcryp->Init.DataType == CRYP_DATATYPE_1B) + { + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(ctr0addr)); + ctr0addr+=4; + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(ctr0addr)); + ctr0addr+=4; + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(ctr0addr)); + ctr0addr+=4; + hcryp->Instance->DIN = __RBIT(*(uint32_t*)(ctr0addr)); + } + else + { + hcryp->Instance->DIN = *(uint32_t*)(ctr0addr); + ctr0addr+=4; + hcryp->Instance->DIN = *(uint32_t*)(ctr0addr); + ctr0addr+=4; + hcryp->Instance->DIN = *(uint32_t*)(ctr0addr); + ctr0addr+=4; + hcryp->Instance->DIN = *(uint32_t*)(ctr0addr);; + } + /* Wait for OFNE flag to be raised */ + tickstart = HAL_GetTick(); + while(HAL_IS_BIT_CLR(hcryp->Instance->SR, CRYP_FLAG_OFNE)) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable the CRYP peripheral Clock */ + __HAL_CRYP_DISABLE(hcryp); + + /* Change state */ + hcryp->ErrorCode |= HAL_CRYP_ERROR_TIMEOUT; + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + return HAL_ERROR; + } + } + } + + /* Read the Auth TAG in the IN FIFO */ + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + tagaddr+=4U; + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + tagaddr+=4U; + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + tagaddr+=4U; + *(uint32_t*)(tagaddr) = hcryp->Instance->DOUT; + + /* Change the CRYP peripheral state */ + hcryp->State = HAL_CRYP_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hcryp); + + /* Disable CRYP */ + __HAL_CRYP_DISABLE(hcryp); + } + else + { + /* Busy error code field */ + hcryp->ErrorCode = HAL_CRYP_ERROR_BUSY; + return HAL_ERROR; + } + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + + +#endif /* HAL_CRYP_MODULE_ENABLED */ + +/** + * @} + */ +#endif /* CRYP*/ +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c new file mode 100644 index 0000000000..770eb296c6 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c @@ -0,0 +1,1176 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dac.c + * @author MCD Application Team + * @brief DAC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Digital to Analog Converter (DAC) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State and Errors functions + * + * + @verbatim + ============================================================================== + ##### DAC Peripheral features ##### + ============================================================================== + [..] + *** DAC Channels *** + ==================== + [..] + STM32H7 devices integrate two 12-bit Digital Analog Converters. + + The 2 converters (i.e. channel1 & channel2) can be used independently or simultaneously (dual mode): + (#) DAC channel1 with DAC_OUT1 (PA4) as output or connected to on-chip + peripherals (ex. OPAMPs, comparators). + (#) DAC channel2 with DAC_OUT2 (PA5) as output or connected to on-chip + peripherals (ex. OPAMPs, comparators). + + *** DAC Triggers *** + ==================== + [..] + Digital to Analog conversion can be non-triggered using DAC_TRIGGER_NONE + and DAC_OUT1/DAC_OUT2 is available once writing to DHRx register. + [..] + Digital to Analog conversion can be triggered by: + (#) External event: EXTI Line 9 (any GPIOx_PIN_9) using DAC_TRIGGER_EXT_IT9. + The used pin (GPIOx_PIN_9) must be configured in input mode. + + + (#) Timers TRGO:TIM1,TIM2,TIM4, TIM5, TIM6, TIM7,TIM8 and TIM15 + (DAC_TRIGGER_T1_TRGO, DAC_TRIGGER_T2_TRGO...) + + (#) Timers TRGO: HRTIM1,LPTIM1,LPTIM2 + (DAC_TRIGGER_HR1_TRGO1,DAC_TRIGGER_HR1_TRGO2,DAC_TRIGGER_LP1_OUT,DAC_TRIGGER_LP2_OUT) + (#) Software using DAC_TRIGGER_SOFTWARE + + *** DAC Buffer mode feature *** + =============================== + [..] + Each DAC channel integrates an output buffer that can be used to + reduce the output impedance, and to drive external loads directly + without having to add an external operational amplifier. + To enable, the output buffer use + sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE; + [..] + (@) Refer to the device datasheet for more details about output + impedance value with and without output buffer. + + *** DAC connect feature *** + =============================== + [..] + Each DAC channel can be connected internally. + To connect, use + sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_ENABLE; + + *** GPIO configurations guidelines *** + ==================================== + [..] + When a DAC channel is used (ex channel1 on PA4) and the other is not + (ex channel2 on PA5 is configured in Analog and disabled). + Channel1 may disturb channel2 as coupling effect. + Note that there is no coupling on channel2 as soon as channel2 is turned on. + Coupling on adjacent channel could be avoided as follows: + when unused PA5 is configured as INPUT PULL-UP or DOWN. + PA5 is configured in ANALOG just before it is turned on. + + *** DAC Sample and Hold feature *** + =================================== + [..] + For each converter, 2 modes are supported: normal mode and + "sample and hold" mode (i.e. low power mode). + In the sample and hold mode, the DAC core converts data, then holds the + converted voltage on a capacitor. When not converting, the DAC cores and + buffer are completely turned off between samples and the DAC output is + tri-stated, therefore reducing the overall power consumption. A new + stabilization period is needed before each new conversion. + [..] + The sample and hold allow setting internal or external voltage @ + low power consumption cost (output value can be at any given rate either + by CPU or DMA). + [..] + The Sample and hold block and registers uses either LSI & run in + several power modes: run mode, sleep mode & stop mode. + + To enable Sample and Hold mode ,enable LSI using HAL_RCC_OscConfig with + RCC_OSCILLATORTYPE_LSI & RCC_LSI_ON parameters. + + Use DAC_InitStructure.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_ENABLE + & DAC_ChannelConfTypeDef.DAC_SampleAndHoldConfig.DAC_SampleTime, + DAC_HoldTime & DAC_RefreshTime. + + + *** DAC calibration feature *** + =================================== + [..] + (#) The 2 converters (channel1 & channel2) provide calibration capabilities. + (++) Calibration aims at correcting some offset of output buffer. + (++) The DAC uses either factory calibration settings OR user defined + calibration (trimming) settings (i.e. trimming mode). + (++) The user defined settings can be figured out using self calibration + handled by HAL_DACEx_SelfCalibrate. + (++) HAL_DACEx_SelfCalibrate: + (+++) Runs automatically the calibration. + (+++) Enables the user trimming mode + (+++) Updates a structure with trimming values with fresh calibration + results. + The user may store the calibration results for larger + (ex monitoring the trimming as a function of temperature + for instance) + + *** DAC wave generation feature *** + =================================== + [..] + Both DAC channels can be used to generate: + (#) Noise wave + (#) Triangle wave + + *** DAC data format *** + ======================= + [..] + The DAC data format can be: + (#) 8-bit right alignment using DAC_ALIGN_8B_R + (#) 12-bit left alignment using DAC_ALIGN_12B_L + (#) 12-bit right alignment using DAC_ALIGN_12B_R + + *** DAC data value to voltage correspondence *** + ================================================ + [..] + The analog output voltage on each DAC channel pin is determined + by the following equation: + [..] + DAC_OUTx = VREF+ * DOR / 4095 + (+) with DOR is the Data Output Register + [..] + VREF+ is the input voltage reference (refer to the device datasheet) + [..] + e.g. To set DAC_OUT1 to 0.7V: + (+) Assuming that VREF+ = 3.3V, DAC_OUT1 = (3.3 * 868) / 4095 = 0.7V + + *** DMA requests *** + ===================== + [..] + A DMA request can be generated when an external trigger (but not + a software trigger) occurs if DMA requests are enabled using + HAL_DAC_Start_DMA(). + DMA requests are mapped as following: + (#) DAC channel1: mapped on DMA_REQUEST_DAC1 + (#) DAC channel2: mapped on DMA_REQUEST_DAC2 + [..] + -@- For Dual mode and specific signal (Triangle and noise) generation please + refer to Extended Features Driver description + + ##### How to use this driver ##### + ============================================================================== + [..] + (+) DAC APB clock must be enabled to get write access to DAC + registers using HAL_DAC_Init() + (+) Configure DAC_OUTx (DAC_OUT1: PA4, DAC_OUT2: PA5) in analog mode. + (+) Configure the DAC channel using HAL_DAC_ConfigChannel() function. + (+) Enable the DAC channel using HAL_DAC_Start() or HAL_DAC_Start_DMA() functions. + + *** Calibration mode IO operation *** + ====================================== + [..] + (+) Retrieve the factory trimming (calibration settings) using HAL_DACEx_GetTrimOffset() + (+) Run the calibration using HAL_DACEx_SelfCalibrate() + (+) Update the trimming while DAC running using HAL_DACEx_SetUserTrimming() + + *** Polling mode IO operation *** + ================================= + [..] + (+) Start the DAC peripheral using HAL_DAC_Start() + (+) To read the DAC last data output value, use the HAL_DAC_GetValue() function. + (+) Stop the DAC peripheral using HAL_DAC_Stop() + + *** DMA mode IO operation *** + ============================== + [..] + (+) Start the DAC peripheral using HAL_DAC_Start_DMA(), at this stage the user specify the length + of data to be transferred at each end of conversion. + (+) At the middle of data transfer HAL_DAC_ConvHalfCpltCallbackCh1()or HAL_DACEx_ConvHalfCpltCallbackCh2() + function is executed and user can add his own code by customization of function pointer + HAL_DAC_ConvHalfCpltCallbackCh1() or HAL_DACEx_ConvHalfCpltCallbackCh2(). + (+) At The end of data transfer HAL_DAC_ConvCpltCallbackCh1()or HAL_DACEx_ConvHalfCpltCallbackCh2() + function is executed and user can add his own code by customization of function pointer + HAL_DAC_ConvCpltCallbackCh1() or HAL_DACEx_ConvHalfCpltCallbackCh2(). + (+) In case of transfer Error, HAL_DAC_ErrorCallbackCh1() function is executed and user can + add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1. + (+) In case of DMA underrun, DAC interruption triggers and execute internal function HAL_DAC_IRQHandler. + HAL_DAC_DMAUnderrunCallbackCh1()or HAL_DACEx_DMAUnderrunCallbackCh2() + function is executed and user can add his own code by customization of function pointer + HAL_DAC_DMAUnderrunCallbackCh1() or HAL_DACEx_DMAUnderrunCallbackCh2()and + add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1(). + (+) Stop the DAC peripheral using HAL_DAC_Stop_DMA() + + *** DAC HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in DAC HAL driver. + + (+) __HAL_DAC_ENABLE : Enable the DAC peripheral + (+) __HAL_DAC_DISABLE : Disable the DAC peripheral + (+) __HAL_DAC_CLEAR_FLAG: Clear the DAC's pending flags + (+) __HAL_DAC_GET_FLAG: Get the selected DAC's flag status + + [..] + (@) You can refer to the DAC HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup DAC DAC + * @brief DAC driver modules + * @{ + */ + +#ifdef HAL_DAC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @addtogroup DAC_Private_Constants DAC Private Constants + * @{ + */ +#define TIMEOUT_DAC_CALIBCONFIG ((uint32_t)1) /* 1ms */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup DAC_Private_Functions DAC Private Functions + * @{ + */ +static void DAC_DMAConvCpltCh1(DMA_HandleTypeDef *hdma); +static void DAC_DMAErrorCh1(DMA_HandleTypeDef *hdma); +static void DAC_DMAHalfConvCpltCh1(DMA_HandleTypeDef *hdma); + +/** + * @} + */ +/* Exported functions ---------------------------------------------------------*/ + +/** @defgroup DAC_Exported_Functions DAC Exported Functions + * @{ + */ + +/** @defgroup DAC_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Initialize and configure the DAC. + (+) De-initialize the DAC. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the DAC peripheral according to the specified parameters + * in the DAC_InitStruct and initialize the associated handle. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_Init(DAC_HandleTypeDef* hdac) +{ + /* Check DAC handle */ + if(hdac == NULL) + { + return HAL_ERROR; + } + /* Check the parameters */ + assert_param(IS_DAC_ALL_INSTANCE(hdac->Instance)); + + if(hdac->State == HAL_DAC_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hdac->Lock = HAL_UNLOCKED; + /* Init the low level hardware */ + HAL_DAC_MspInit(hdac); + } + + /* Initialize the DAC state*/ + hdac->State = HAL_DAC_STATE_BUSY; + + /* Set DAC error code to none */ + hdac->ErrorCode = HAL_DAC_ERROR_NONE; + + /* Initialize the DAC state*/ + hdac->State = HAL_DAC_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Deinitialize the DAC peripheral registers to their default reset values. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_DeInit(DAC_HandleTypeDef* hdac) +{ + /* Check DAC handle */ + if(hdac == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_DAC_ALL_INSTANCE(hdac->Instance)); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_BUSY; + + /* DeInit the low level hardware */ + HAL_DAC_MspDeInit(hdac); + + /* Set DAC error code to none */ + hdac->ErrorCode = HAL_DAC_ERROR_NONE; + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hdac); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initialize the DAC MSP. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DAC_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize the DAC MSP. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DAC_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup DAC_Exported_Functions_Group2 IO operation functions + * @brief IO operation functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Start conversion. + (+) Stop conversion. + (+) Start conversion and enable DMA transfer. + (+) Stop conversion and disable DMA transfer. + (+) Set the specified data holding register value for DAC channel. + + +@endverbatim + * @{ + */ + +/** + * @brief Enable DAC and start conversion of channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel) +{ + + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + + /* Process locked */ + __HAL_LOCK(hdac); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_BUSY; + + /* Enable the Peripheral */ + __HAL_DAC_ENABLE(hdac, Channel); + + if(Channel == DAC_CHANNEL_1) + { + + /* Check if software trigger enabled */ + if((hdac->Instance->CR & (DAC_CR_TEN1 | DAC_CR_TSEL1)) == DAC_CR_TEN1) + { + /* Enable the selected DAC software conversion */ + SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIG1); + } + } + else + { + /* Check if software trigger enabled */ + if((hdac->Instance->CR & (DAC_CR_TEN2 | DAC_CR_TSEL2)) == DAC_CR_TEN2) + { + /* Enable the selected DAC software conversion*/ + SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIG2); + } + } + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdac); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Disable DAC and stop conversion of channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_Stop(DAC_HandleTypeDef* hdac, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + + /* Disable the Peripheral */ + __HAL_DAC_DISABLE(hdac, Channel); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Enable DAC and start conversion of channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @param pData: The destination peripheral Buffer address. + * @param Length: The length of data to be transferred from memory to DAC peripheral + * @param Alignment: Specifies the data alignment for DAC channel. + * This parameter can be one of the following values: + * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected + * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected + * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_Start_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t* pData, uint32_t Length, uint32_t Alignment) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + assert_param(IS_DAC_ALIGN(Alignment)); + + /* Process locked */ + __HAL_LOCK(hdac); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_BUSY; + + if(Channel == DAC_CHANNEL_1) + { + /* Set the DMA transfer complete callback for channel1 */ + hdac->DMA_Handle1->XferCpltCallback = DAC_DMAConvCpltCh1; + + /* Set the DMA half transfer complete callback for channel1 */ + hdac->DMA_Handle1->XferHalfCpltCallback = DAC_DMAHalfConvCpltCh1; + + /* Set the DMA error callback for channel1 */ + hdac->DMA_Handle1->XferErrorCallback = DAC_DMAErrorCh1; + + /* Enable the selected DAC channel1 DMA request */ + SET_BIT(hdac->Instance->CR, DAC_CR_DMAEN1); + + /* Case of use of channel 1 */ + switch(Alignment) + { + case DAC_ALIGN_12B_R: + /* Get DHR12R1 address */ + tmpreg = (uint32_t)&hdac->Instance->DHR12R1; + break; + case DAC_ALIGN_12B_L: + /* Get DHR12L1 address */ + tmpreg = (uint32_t)&hdac->Instance->DHR12L1; + break; + case DAC_ALIGN_8B_R: + /* Get DHR8R1 address */ + tmpreg = (uint32_t)&hdac->Instance->DHR8R1; + break; + default: + break; + } + } + else + { + /* Set the DMA transfer complete callback for channel2 */ + hdac->DMA_Handle2->XferCpltCallback = DAC_DMAConvCpltCh2; + + /* Set the DMA half transfer complete callback for channel2 */ + hdac->DMA_Handle2->XferHalfCpltCallback = DAC_DMAHalfConvCpltCh2; + + /* Set the DMA error callback for channel2 */ + hdac->DMA_Handle2->XferErrorCallback = DAC_DMAErrorCh2; + + /* Enable the selected DAC channel2 DMA request */ + SET_BIT(hdac->Instance->CR, DAC_CR_DMAEN2); + + /* Case of use of channel 2 */ + switch(Alignment) + { + case DAC_ALIGN_12B_R: + /* Get DHR12R2 address */ + tmpreg = (uint32_t)&hdac->Instance->DHR12R2; + break; + case DAC_ALIGN_12B_L: + /* Get DHR12L2 address */ + tmpreg = (uint32_t)&hdac->Instance->DHR12L2; + break; + case DAC_ALIGN_8B_R: + /* Get DHR8R2 address */ + tmpreg = (uint32_t)&hdac->Instance->DHR8R2; + break; + default: + break; + } + } + + /* Enable the DMA Stream */ + if(Channel == DAC_CHANNEL_1) + { + /* Enable the DAC DMA underrun interrupt */ + __HAL_DAC_ENABLE_IT(hdac, DAC_IT_DMAUDR1); + + /* Enable the DMA Stream */ + HAL_DMA_Start_IT(hdac->DMA_Handle1, (uint32_t)pData, tmpreg, Length); + } + else + { + /* Enable the DAC DMA underrun interrupt */ + __HAL_DAC_ENABLE_IT(hdac, DAC_IT_DMAUDR2); + + /* Enable the DMA Stream */ + HAL_DMA_Start_IT(hdac->DMA_Handle2, (uint32_t)pData, tmpreg, Length); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hdac); + /* Enable the Peripheral */ + __HAL_DAC_ENABLE(hdac, Channel); + + + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Disable DAC and stop conversion of channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + + /* Disable the selected DAC channel DMA request */ + hdac->Instance->CR &= ~(DAC_CR_DMAEN1 << Channel); + + /* Disable the Peripheral */ + __HAL_DAC_DISABLE(hdac, Channel); + + /* Disable the DMA stream */ + /* Channel1 is used */ + if (Channel == DAC_CHANNEL_1) + { + /* Disable the DMA stream */ + status = HAL_DMA_Abort(hdac->DMA_Handle1); + /* Disable the DAC DMA underrun interrupt */ + __HAL_DAC_DISABLE_IT(hdac, DAC_IT_DMAUDR1); + } + else /* Channel2 is used for */ + { + /* Disable the DMA stream */ + status = HAL_DMA_Abort(hdac->DMA_Handle2); + /* Disable the DAC DMA underrun interrupt */ + __HAL_DAC_DISABLE_IT(hdac, DAC_IT_DMAUDR2); + } + + /* Check if DMA Channel effectively disabled */ + if (status != HAL_OK) + { + /* Update DAC state machine to error */ + hdac->State = HAL_DAC_STATE_ERROR; + } + else + { + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_READY; + } + + /* Return function status */ + return status; +} + +/** + * @brief Handle DAC interrupt request + * This function uses the interruption of DMA + * underrun. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +void HAL_DAC_IRQHandler(DAC_HandleTypeDef* hdac) +{ + if(__HAL_DAC_GET_IT_SOURCE(hdac, DAC_IT_DMAUDR1)) + { + /* Check underrun flag of DAC channel 1 */ + if(__HAL_DAC_GET_FLAG(hdac, DAC_FLAG_DMAUDR1)) + { + /* Change DAC state to error state */ + hdac->State = HAL_DAC_STATE_ERROR; + + /* Set DAC error code to chanel1 DMA underrun error */ + SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_DMAUNDERRUNCH1); + + /* Clear the underrun flag */ + __HAL_DAC_CLEAR_FLAG(hdac,DAC_FLAG_DMAUDR1); + + /* Disable the selected DAC channel1 DMA request */ + CLEAR_BIT(hdac->Instance->CR, DAC_CR_DMAEN1); + + /* Error callback */ + HAL_DAC_DMAUnderrunCallbackCh1(hdac); + } + } + if(__HAL_DAC_GET_IT_SOURCE(hdac, DAC_IT_DMAUDR2)) + { + /* Check underrun flag of DAC channel 1 */ + if(__HAL_DAC_GET_FLAG(hdac, DAC_FLAG_DMAUDR2)) + { + /* Change DAC state to error state */ + hdac->State = HAL_DAC_STATE_ERROR; + + /* Set DAC error code to channel2 DMA underrun error */ + SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_DMAUNDERRUNCH2); + + /* Clear the underrun flag */ + __HAL_DAC_CLEAR_FLAG(hdac,DAC_FLAG_DMAUDR2); + + /* Disable the selected DAC channel1 DMA request */ + CLEAR_BIT(hdac->Instance->CR, DAC_CR_DMAEN2); + + /* Error callback */ + HAL_DACEx_DMAUnderrunCallbackCh2(hdac); + } + } +} + +/** + * @brief Set the specified data holding register value for DAC channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @param Alignment: Specifies the data alignment. + * This parameter can be one of the following values: + * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected + * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected + * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected + * @param Data: Data to be loaded in the selected data holding register. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Alignment, uint32_t Data) +{ + __IO uint32_t tmp = 0; + + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + assert_param(IS_DAC_ALIGN(Alignment)); + assert_param(IS_DAC_DATA(Data)); + + tmp = (uint32_t)hdac->Instance; + if(Channel == DAC_CHANNEL_1) + { + tmp += DAC_DHR12R1_ALIGNMENT(Alignment); + } + else + { + tmp += DAC_DHR12R2_ALIGNMENT(Alignment); + } + + /* Set the DAC channel selected data holding register */ + *(__IO uint32_t *) tmp = Data; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Conversion complete callback in non-blocking mode for Channel1 + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DAC_ConvCpltCallbackCh1(DAC_HandleTypeDef* hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DAC_ConvCpltCallbackCh1 could be implemented in the user file + */ +} + +/** + * @brief Conversion half DMA transfer callback in non-blocking mode for Channel1 + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DAC_ConvHalfCpltCallbackCh1(DAC_HandleTypeDef* hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DAC_ConvHalfCpltCallbackCh1 could be implemented in the user file + */ +} + +/** + * @brief Error DAC callback for Channel1. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DAC_ErrorCallbackCh1(DAC_HandleTypeDef *hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DAC_ErrorCallbackCh1 could be implemented in the user file + */ +} + +/** + * @brief DMA underrun DAC callback for channel1. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DAC_DMAUnderrunCallbackCh1(DAC_HandleTypeDef *hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DAC_DMAUnderrunCallbackCh1 could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup DAC_Exported_Functions_Group3 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Configure channels. + (+) Get result of conversion. + +@endverbatim + * @{ + */ + + +/** + * @brief Return the last data output value of the selected DAC channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @retval The selected DAC channel data output value. + */ +uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef* hdac, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + + /* Returns the DAC channel data output register value */ + if(Channel == DAC_CHANNEL_1) + { + return hdac->Instance->DOR1; + } + else + { + return hdac->Instance->DOR2; + } +} +/** + * @brief Configure the selected DAC channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param sConfig: DAC configuration structure. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel) +{ + uint32_t tmpreg1 = 0, tmpreg2 = 0; + uint32_t tickstart = 0; + + /* Check the DAC parameters */ + assert_param(IS_DAC_TRIGGER(sConfig->DAC_Trigger)); + assert_param(IS_DAC_OUTPUT_BUFFER_STATE(sConfig->DAC_OutputBuffer)); + assert_param(IS_DAC_CHIP_CONNECTION(sConfig->DAC_ConnectOnChipPeripheral)); + assert_param(IS_DAC_TRIMMING(sConfig->DAC_UserTrimming)); + if ((sConfig->DAC_UserTrimming) == DAC_TRIMMING_USER) + { + assert_param(IS_DAC_TRIMMINGVALUE(sConfig->DAC_TrimmingValue)); + } + assert_param(IS_DAC_SAMPLEANDHOLD(sConfig->DAC_SampleAndHold)); + if ((sConfig->DAC_SampleAndHold) == DAC_SAMPLEANDHOLD_ENABLE) + { + assert_param(IS_DAC_SAMPLETIME(sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime)); + assert_param(IS_DAC_HOLDTIME(sConfig->DAC_SampleAndHoldConfig.DAC_HoldTime)); + assert_param(IS_DAC_REFRESHTIME(sConfig->DAC_SampleAndHoldConfig.DAC_RefreshTime)); + } + assert_param(IS_DAC_CHANNEL(Channel)); + + /* Process locked */ + __HAL_LOCK(hdac); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_BUSY; + + if(sConfig->DAC_SampleAndHold == DAC_SAMPLEANDHOLD_ENABLE) + /* Sample on old configuration */ + { + /* SampleTime */ + if (Channel == DAC_CHANNEL_1) + { + /* Get timeout */ + tickstart = HAL_GetTick(); + + + /* SHSR1 can be written when BWST1 equals RESET */ + while (((hdac->Instance->SR) & DAC_SR_BWST1)!= RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart) > TIMEOUT_DAC_CALIBCONFIG) + { + /* Update error code */ + SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_TIMEOUT); + + /* Change the DMA state */ + hdac->State = HAL_DAC_STATE_TIMEOUT; + + return HAL_TIMEOUT; + } + } + HAL_Delay(1); + hdac->Instance->SHSR1 = sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime; + } + else /* Channel 2 */ + { + /* SHSR2 can be written when BWST2 equals RESET */ + + while (((hdac->Instance->SR) & DAC_SR_BWST2)!= RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart) > TIMEOUT_DAC_CALIBCONFIG) + { + /* Update error code */ + SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_TIMEOUT); + + /* Change the DMA state */ + hdac->State = HAL_DAC_STATE_TIMEOUT; + + return HAL_TIMEOUT; + } + } + HAL_Delay(1); + hdac->Instance->SHSR2 = sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime; + } + /* HoldTime */ + hdac->Instance->SHHR = (sConfig->DAC_SampleAndHoldConfig.DAC_HoldTime)<Instance->SHRR = (sConfig->DAC_SampleAndHoldConfig.DAC_RefreshTime)<DAC_UserTrimming == DAC_TRIMMING_USER) + /* USER TRIMMING */ + { + /* Get the DAC CCR value */ + tmpreg1 = hdac->Instance->CCR; + /* Clear trimming value */ + tmpreg1 &= ~(((uint32_t)(DAC_CCR_OTRIM1)) << Channel); + /* Configure for the selected trimming offset */ + tmpreg2 = sConfig->DAC_TrimmingValue; + /* Calculate CCR register value depending on DAC_Channel */ + tmpreg1 |= tmpreg2 << Channel; + /* Write to DAC CCR */ + hdac->Instance->CCR = tmpreg1; + } + /* else factory trimming is used (factory setting are available at reset)*/ + /* SW Nothing has nothing to do */ + + /* Get the DAC MCR value */ + tmpreg1 = hdac->Instance->MCR; + /* Clear DAC_MCR_MODE2_0, DAC_MCR_MODE2_1 and DAC_MCR_MODE2_2 bits */ + tmpreg1 &= ~(((uint32_t)(DAC_MCR_MODE1)) << Channel); + /* Configure for the selected DAC channel: mode, buffer output & on chip peripheral connect */ + tmpreg2 = (sConfig->DAC_SampleAndHold | sConfig->DAC_OutputBuffer | sConfig->DAC_ConnectOnChipPeripheral); + /* Calculate MCR register value depending on DAC_Channel */ + tmpreg1 |= tmpreg2 << Channel; + /* Write to DAC MCR */ + hdac->Instance->MCR = tmpreg1; + + /* DAC in normal operating mode hence clear DAC_CR_CENx bit */ + CLEAR_BIT (hdac->Instance->CR, DAC_CR_CEN1 << Channel); + + /* Get the DAC CR value */ + tmpreg1 = hdac->Instance->CR; + /* Clear TENx, TSELx, WAVEx and MAMPx bits */ + tmpreg1 &= ~(((uint32_t)(DAC_CR_MAMP1 | DAC_CR_WAVE1 | DAC_CR_TSEL1 | DAC_CR_TEN1)) << Channel); + /* Configure for the selected DAC channel: trigger */ + /* Set TSELx and TENx bits according to DAC_Trigger value */ + tmpreg2 = (sConfig->DAC_Trigger); + /* Calculate CR register value depending on DAC_Channel */ + tmpreg1 |= tmpreg2 << Channel; + + /* Write to DAC CR */ + hdac->Instance->CR = tmpreg1; + + /* Disable wave generation */ + hdac->Instance->CR &= ~(DAC_CR_WAVE1 << Channel); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdac); + + /* Return function status */ + return HAL_OK; +} + + + +/** + * @} + */ + +/** @defgroup DAC_Exported_Functions_Group4 Peripheral State and Errors functions + * @brief Peripheral State and Errors functions + * +@verbatim + ============================================================================== + ##### Peripheral State and Errors functions ##### + ============================================================================== + [..] + This subsection provides functions allowing to + (+) Check the DAC state. + (+) Check the DAC Errors. + +@endverbatim + * @{ + */ + +/** + * @brief return the DAC handle state + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval HAL state + */ +HAL_DAC_StateTypeDef HAL_DAC_GetState(DAC_HandleTypeDef* hdac) +{ + /* Return DAC handle state */ + return hdac->State; +} + +/** + * @brief Return the DAC error code + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval DAC Error Code + */ +uint32_t HAL_DAC_GetError(DAC_HandleTypeDef *hdac) +{ + return hdac->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + + +/** @addtogroup DAC_Private_Functions + * @{ + */ + +/** + * @brief DMA conversion complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void DAC_DMAConvCpltCh1(DMA_HandleTypeDef *hdma) +{ + DAC_HandleTypeDef* hdac = ( DAC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + HAL_DAC_ConvCpltCallbackCh1(hdac); + + hdac->State= HAL_DAC_STATE_READY; +} + +/** + * @brief DMA half transfer complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void DAC_DMAHalfConvCpltCh1(DMA_HandleTypeDef *hdma) +{ + DAC_HandleTypeDef* hdac = ( DAC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + /* Conversion complete callback */ + HAL_DAC_ConvHalfCpltCallbackCh1(hdac); +} + +/** + * @brief DMA error callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void DAC_DMAErrorCh1(DMA_HandleTypeDef *hdma) +{ + DAC_HandleTypeDef* hdac = ( DAC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Set DAC error code to DMA error */ + hdac->ErrorCode |= HAL_DAC_ERROR_DMA; + + HAL_DAC_ErrorCallbackCh1(hdac); + + hdac->State= HAL_DAC_STATE_READY; +} + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_DAC_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c new file mode 100644 index 0000000000..c229dfebfd --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c @@ -0,0 +1,630 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dac_ex.c + * @author MCD Application Team + * @brief Extended DAC HAL module driver. + * This file provides firmware functions to manage the extended + * functionalities of DAC peripheral. + * + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (+) When Dual mode is enabled (i.e DAC Channel1 and Channel2 are used simultaneously) : + Use HAL_DACEx_DualGetValue() to get digital data to be converted and use + HAL_DACEx_DualSetValue() to set digital value to converted simultaneously in Channel 1 and Channel 2. + (+) Use HAL_DACEx_TriangleWaveGenerate() to generate Triangle signal. + (+) Use HAL_DACEx_NoiseWaveGenerate() to generate Noise signal. + + (+) HAL_DACEx_SelfCalibrate to calibrate one DAC channel. + (+) HAL_DACEx_SetUserTrimming to set user trimming value. + (+) HAL_DACEx_GetTrimOffset to retrieve trimming value (factory setting + after reset, user setting if HAL_DACEx_SetUserTrimming have been used + at least one time after reset). + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup DACEx DACEx + * @brief DAC Extended HAL module driver + * @{ + */ + +#ifdef HAL_DAC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup DACEx_Exported_Functions DACEx Exported Functions + * @{ + */ + +/** @defgroup DACEx_Exported_Functions_Group2 IO operation functions + * @brief Extended IO operation functions + * +@verbatim + ============================================================================== + ##### Extended features functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Start conversion with triangle wave generation. + (+) Start conversion with noise wave generation. + (+) Start self calibration. + (+) Set user trimming mode. + (+) Get result of dual mode conversion. + +@endverbatim + * @{ + */ + + + +/** + * @brief Enable or disable the selected DAC channel wave generation. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @param Amplitude: Select max triangle amplitude. + * This parameter can be one of the following values: + * @arg DAC_TRIANGLEAMPLITUDE_1: Select max triangle amplitude of 1 + * @arg DAC_TRIANGLEAMPLITUDE_3: Select max triangle amplitude of 3 + * @arg DAC_TRIANGLEAMPLITUDE_7: Select max triangle amplitude of 7 + * @arg DAC_TRIANGLEAMPLITUDE_15: Select max triangle amplitude of 15 + * @arg DAC_TRIANGLEAMPLITUDE_31: Select max triangle amplitude of 31 + * @arg DAC_TRIANGLEAMPLITUDE_63: Select max triangle amplitude of 63 + * @arg DAC_TRIANGLEAMPLITUDE_127: Select max triangle amplitude of 127 + * @arg DAC_TRIANGLEAMPLITUDE_255: Select max triangle amplitude of 255 + * @arg DAC_TRIANGLEAMPLITUDE_511: Select max triangle amplitude of 511 + * @arg DAC_TRIANGLEAMPLITUDE_1023: Select max triangle amplitude of 1023 + * @arg DAC_TRIANGLEAMPLITUDE_2047: Select max triangle amplitude of 2047 + * @arg DAC_TRIANGLEAMPLITUDE_4095: Select max triangle amplitude of 4095 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude) +{ + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude)); + + /* Process locked */ + __HAL_LOCK(hdac); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_BUSY; + + /* Enable the triangle wave generation for the selected DAC channel */ + MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1)|(DAC_CR_MAMP1))<State = HAL_DAC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdac); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Enable or disable the selected DAC channel wave generation. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @param Amplitude: Unmask DAC channel LFSR for noise wave generation. + * This parameter can be one of the following values: + * @arg DAC_LFSRUNMASK_BIT0: Unmask DAC channel LFSR bit0 for noise wave generation + * @arg DAC_LFSRUNMASK_BITS1_0: Unmask DAC channel LFSR bit[1:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS2_0: Unmask DAC channel LFSR bit[2:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS3_0: Unmask DAC channel LFSR bit[3:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS4_0: Unmask DAC channel LFSR bit[4:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS5_0: Unmask DAC channel LFSR bit[5:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS6_0: Unmask DAC channel LFSR bit[6:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS7_0: Unmask DAC channel LFSR bit[7:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS8_0: Unmask DAC channel LFSR bit[8:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS9_0: Unmask DAC channel LFSR bit[9:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS10_0: Unmask DAC channel LFSR bit[10:0] for noise wave generation + * @arg DAC_LFSRUNMASK_BITS11_0: Unmask DAC channel LFSR bit[11:0] for noise wave generation + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude) +{ + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude)); + + /* Process locked */ + __HAL_LOCK(hdac); + + /* Change DAC state */ + hdac->State = HAL_DAC_STATE_BUSY; + + /* Enable the noise wave generation for the selected DAC channel */ + MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1)|(DAC_CR_MAMP1))<State = HAL_DAC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdac); + + /* Return function status */ + return HAL_OK; +} + + + +/** + * @brief Set the specified data holding register value for dual DAC channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param Alignment: Specifies the data alignment for dual channel DAC. + * This parameter can be one of the following values: + * DAC_ALIGN_8B_R: 8bit right data alignment selected + * DAC_ALIGN_12B_L: 12bit left data alignment selected + * DAC_ALIGN_12B_R: 12bit right data alignment selected + * @param Data1: Data for DAC Channel2 to be loaded in the selected data holding register. + * @param Data2: Data for DAC Channel1 to be loaded in the selected data holding register. + * @note In dual mode, a unique register access is required to write in both + * DAC channels at the same time. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2) +{ + uint32_t data = 0, tmp = 0; + + /* Check the parameters */ + assert_param(IS_DAC_ALIGN(Alignment)); + assert_param(IS_DAC_DATA(Data1)); + assert_param(IS_DAC_DATA(Data2)); + + /* Calculate and set dual DAC data holding register value */ + if (Alignment == DAC_ALIGN_8B_R) + { + data = ((uint32_t)Data2 << 8) | Data1; + } + else + { + data = ((uint32_t)Data2 << 16) | Data1; + } + + tmp = (uint32_t)hdac->Instance; + tmp += DAC_DHR12RD_ALIGNMENT(Alignment); + + /* Set the dual DAC selected data holding register */ + *(__IO uint32_t *)tmp = data; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Conversion complete callback in non-blocking mode for Channel2. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DACEx_ConvCpltCallbackCh2 could be implemented in the user file + */ +} + +/** + * @brief Conversion half DMA transfer callback in non-blocking mode for Channel2. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DACEx_ConvHalfCpltCallbackCh2 could be implemented in the user file + */ +} + +/** + * @brief Error DAC callback for Channel2. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DACEx_ErrorCallbackCh2 could be implemented in the user file + */ +} + +/** + * @brief DMA underrun DAC callback for channel2. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval None + */ +__weak void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdac); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DACEx_DMAUnderrunCallbackCh2 could be implemented in the user file + */ +} + + +/** + * @brief Run the self calibration of one DAC channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param sConfig: DAC channel configuration structure. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @retval Updates DAC_TrimmingValue. , DAC_UserTrimming set to DAC_UserTrimming + * @retval HAL status + * @note Calibration runs about 7 ms. + */ + +HAL_StatusTypeDef HAL_DACEx_SelfCalibrate (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel) +{ + HAL_StatusTypeDef status = HAL_OK; + + __IO uint32_t tmp = 0; + uint32_t trimmingvalue = 0; + uint32_t delta; + + /* store/restore channel configuration structure purpose */ + uint32_t oldmodeconfiguration = 0; + + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + + /* Check the DAC handle allocation */ + /* Check if DAC running */ + if((hdac == NULL) || (hdac->State == HAL_DAC_STATE_BUSY)) + { + status = HAL_ERROR; + } + else + { + /* Process locked */ + __HAL_LOCK(hdac); + + /* Store configuration */ + oldmodeconfiguration = (hdac->Instance->MCR & (DAC_MCR_MODE1 << Channel)); + + /* Disable the selected DAC channel */ + CLEAR_BIT ((hdac->Instance->CR), (DAC_CR_EN1 << Channel)); + + /* Set mode in MCR for calibration */ + MODIFY_REG(hdac->Instance->MCR, (DAC_MCR_MODE1 << Channel), 0); + + /* Set DAC Channel1 DHR register to the middle value */ + + tmp = (uint32_t)hdac->Instance; + if(Channel == DAC_CHANNEL_1) + { + tmp += DAC_DHR12R1_ALIGNMENT(DAC_ALIGN_12B_R); + } + else + { + tmp += DAC_DHR12R2_ALIGNMENT(DAC_ALIGN_12B_R); + } + *(__IO uint32_t *) tmp = 0x0800; + + /* Enable the selected DAC channel calibration */ + /* i.e. set DAC_CR_CENx bit */ + SET_BIT ((hdac->Instance->CR), (DAC_CR_CEN1 << Channel)); + + /* Init trimming counter */ + /* Medium value */ + trimmingvalue = 16; + delta = 8; + while (delta != 0) + { + /* Set candidate trimming */ + MODIFY_REG(hdac->Instance->CCR, (DAC_CCR_OTRIM1<Instance->SR & (DAC_SR_CAL_FLAG1<>= 1; + } + + /* Still need to check if right calibration is current value or one step below */ + /* Indeed the first value that causes the DAC_SR_CAL_FLAGx bit to change from 0 to 1 */ + /* Set candidate trimming */ + MODIFY_REG(hdac->Instance->CCR, (DAC_CCR_OTRIM1<Instance->SR & (DAC_SR_CAL_FLAG1<Instance->CCR, (DAC_CCR_OTRIM1<Instance->CR), (DAC_CR_CEN1 << Channel)); + + sConfig->DAC_TrimmingValue = trimmingvalue; + sConfig->DAC_UserTrimming = DAC_TRIMMING_USER; + + /* Restore configuration */ + MODIFY_REG(hdac->Instance->MCR, (DAC_MCR_MODE1 << Channel), oldmodeconfiguration); + + /* Process unlocked */ + __HAL_UNLOCK(hdac); + } + + return status; +} + +/** + * @} + */ + +/** + * @brief Set the trimming mode and trimming value (user trimming mode applied). + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @param sConfig: DAC configuration structure updated with new DAC trimming value. + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @param NewTrimmingValue: DAC new trimming value + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_DACEx_SetUserTrimming (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel, uint32_t NewTrimmingValue) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_DAC_CHANNEL(Channel)); + assert_param(IS_DAC_NEWTRIMMINGVALUE(NewTrimmingValue)); + + /* Check the DAC handle allocation */ + if(hdac == NULL) + { + status = HAL_ERROR; + } + else + { + + /* Process locked */ + __HAL_LOCK(hdac); + + /* Set new trimming */ + MODIFY_REG(hdac->Instance->CCR, (DAC_CCR_OTRIM1<DAC_UserTrimming = DAC_TRIMMING_USER; + sConfig->DAC_TrimmingValue = NewTrimmingValue; + + /* Process unlocked */ + __HAL_UNLOCK(hdac); + + } + return status; +} + + +/** + * @brief Return the DAC trimming value. + * @param hdac : DAC handle + * @param Channel: The selected DAC channel. + * This parameter can be one of the following values: + * @arg DAC_CHANNEL_1: DAC Channel1 selected + * @arg DAC_CHANNEL_2: DAC Channel2 selected + * @retval Trimming value : range: 0->31 + * + */ + +uint32_t HAL_DACEx_GetTrimOffset (DAC_HandleTypeDef *hdac, uint32_t Channel) +{ + uint32_t trimmingvalue = 0; + + /* Check the DAC handle allocation */ + /* And not in Reset state */ + if((hdac == NULL) || (hdac->State == HAL_DAC_STATE_RESET)) + { + return HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_DAC_CHANNEL(Channel)); + + /* Retrieve trimming */ + trimmingvalue = ((hdac->Instance->CCR & (DAC_CCR_OTRIM1 << Channel)) >> Channel); + } + return trimmingvalue; +} +/** + * @} + */ + + +/** @defgroup DACEx_Exported_Functions_Group3 Peripheral Control functions + * @brief Extended Peripheral Control functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Configure channels. + (+) Set the specified data holding register value for DAC channel. + +@endverbatim + * @{ + */ + +/** + * @brief Return the last data output value of the selected DAC channel. + * @param hdac: pointer to a DAC_HandleTypeDef structure that contains + * the configuration information for the specified DAC. + * @retval The selected DAC channel data output value. + */ +uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac) +{ + uint32_t tmp = 0; + + tmp |= hdac->Instance->DOR1; + + tmp |= hdac->Instance->DOR2 << 16; + + /* Returns the DAC channel data output register value */ + return tmp; +} + +/** + * @} + */ + + +/* Private functions ---------------------------------------------------------*/ +/** @defgroup DACEx_Private_Functions DACEx private functions + * @brief Extended private functions + * @{ + */ + +/** + * @brief DMA conversion complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma) +{ + DAC_HandleTypeDef* hdac = ( DAC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + HAL_DACEx_ConvCpltCallbackCh2(hdac); + + hdac->State= HAL_DAC_STATE_READY; +} + +/** + * @brief DMA half transfer complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma) +{ + DAC_HandleTypeDef* hdac = ( DAC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + /* Conversion complete callback */ + HAL_DACEx_ConvHalfCpltCallbackCh2(hdac); +} + +/** + * @brief DMA error callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma) +{ + DAC_HandleTypeDef* hdac = ( DAC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Set DAC error code to DMA error */ + hdac->ErrorCode |= HAL_DAC_ERROR_DMA; + + HAL_DACEx_ErrorCallbackCh2(hdac); + + hdac->State= HAL_DAC_STATE_READY; +} + +/** + * @} + */ + +#endif /* HAL_DAC_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c new file mode 100644 index 0000000000..07887bb077 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c @@ -0,0 +1,901 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dcmi.c + * @author MCD Application Team + * @brief DCMI HAL module driver + * This file provides firmware functions to manage the following + * functionalities of the Digital Camera Interface (DCMI) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State and Error functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The sequence below describes how to use this driver to capture image + from a camera module connected to the DCMI Interface. + This sequence does not take into account the configuration of the + camera module, which should be made before to configure and enable + the DCMI to capture images. + + (#) Program the required configuration through following parameters: + horizontal and vertical polarity, pixel clock polarity, Capture Rate, + Synchronization Mode, code of the frame delimiter and data width + using HAL_DCMI_Init() function. + + (#) Configure the selected DMA stream to transfer Data from DCMI DR + register to the destination memory buffer. + + (#) Program the required configuration through following parameters: + DCMI mode, destination memory Buffer address and the data length + and enable capture using HAL_DCMI_Start_DMA() function. + + (#) Optionally, configure and Enable the CROP feature to select a rectangular + window from the received image using HAL_DCMI_ConfigCrop() + and HAL_DCMI_EnableCrop() functions + + (#) The capture can be stopped using HAL_DCMI_Stop() function. + + (#) To control DCMI state you can use the function HAL_DCMI_GetState(). + + *** DCMI HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in DCMI HAL driver. + + (+) __HAL_DCMI_ENABLE: Enable the DCMI peripheral. + (+) __HAL_DCMI_DISABLE: Disable the DCMI peripheral. + (+) __HAL_DCMI_GET_FLAG: Get the DCMI pending flags. + (+) __HAL_DCMI_CLEAR_FLAG: Clear the DCMI pending flags. + (+) __HAL_DCMI_ENABLE_IT: Enable the specified DCMI interrupts. + (+) __HAL_DCMI_DISABLE_IT: Disable the specified DCMI interrupts. + (+) __HAL_DCMI_GET_IT_SOURCE: Check whether the specified DCMI interrupt has occurred or not. + + [..] + (@) You can refer to the DCMI HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +/** @defgroup DCMI DCMI + * @brief DCMI HAL module driver + * @{ + */ + +#ifdef HAL_DCMI_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define HAL_TIMEOUT_DCMI_STOP ((uint32_t)1000) /* Set timeout to 1s */ + +#define DCMI_POSITION_CWSIZE_VLINE (uint32_t)POSITION_VAL(DCMI_CWSIZE_VLINE) /*!< Required left shift to set crop window vertical line count */ +#define DCMI_POSITION_CWSTRT_VST (uint32_t)POSITION_VAL(DCMI_CWSTRT_VST) /*!< Required left shift to set crop window vertical start line count */ + +#define DCMI_POSITION_ESCR_LSC (uint32_t)POSITION_VAL(DCMI_ESCR_LSC) /*!< Required left shift to set line start delimiter */ +#define DCMI_POSITION_ESCR_LEC (uint32_t)POSITION_VAL(DCMI_ESCR_LEC) /*!< Required left shift to set line end delimiter */ +#define DCMI_POSITION_ESCR_FEC (uint32_t)POSITION_VAL(DCMI_ESCR_FEC) /*!< Required left shift to set frame end delimiter */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static void DCMI_DMAXferCplt(DMA_HandleTypeDef *hdma); +static void DCMI_DMAError(DMA_HandleTypeDef *hdma); + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup DCMI_Exported_Functions DCMI Exported Functions + * @{ + */ + +/** @defgroup DCMI_Exported_Functions_Group1 Initialization and Configuration functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize and configure the DCMI + (+) De-initialize the DCMI + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the DCMI according to the specified + * parameters in the DCMI_InitTypeDef and create the associated handle. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_Init(DCMI_HandleTypeDef *hdcmi) +{ + /* Check the DCMI peripheral state */ + if(hdcmi == NULL) + { + return HAL_ERROR; + } + + /* Check function parameters */ + assert_param(IS_DCMI_ALL_INSTANCE(hdcmi->Instance)); + assert_param(IS_DCMI_PCKPOLARITY(hdcmi->Init.PCKPolarity)); + assert_param(IS_DCMI_VSPOLARITY(hdcmi->Init.VSPolarity)); + assert_param(IS_DCMI_HSPOLARITY(hdcmi->Init.HSPolarity)); + assert_param(IS_DCMI_SYNCHRO(hdcmi->Init.SynchroMode)); + assert_param(IS_DCMI_CAPTURE_RATE(hdcmi->Init.CaptureRate)); + assert_param(IS_DCMI_EXTENDED_DATA(hdcmi->Init.ExtendedDataMode)); + assert_param(IS_DCMI_MODE_JPEG(hdcmi->Init.JPEGMode)); + + assert_param(IS_DCMI_BYTE_SELECT_MODE(hdcmi->Init.ByteSelectMode)); + assert_param(IS_DCMI_BYTE_SELECT_START(hdcmi->Init.ByteSelectStart)); + assert_param(IS_DCMI_LINE_SELECT_MODE(hdcmi->Init.LineSelectMode)); + assert_param(IS_DCMI_LINE_SELECT_START(hdcmi->Init.LineSelectStart)); + + if(hdcmi->State == HAL_DCMI_STATE_RESET) + { + /* Init the low level hardware */ + HAL_DCMI_MspInit(hdcmi); + } + + /* Change the DCMI state */ + hdcmi->State = HAL_DCMI_STATE_BUSY; + /* Configures the HS, VS, DE and PC polarity */ + hdcmi->Instance->CR &= ~(DCMI_CR_PCKPOL | DCMI_CR_HSPOL | DCMI_CR_VSPOL | DCMI_CR_EDM_0 |\ + DCMI_CR_EDM_1 | DCMI_CR_FCRC_0 | DCMI_CR_FCRC_1 | DCMI_CR_JPEG |\ + DCMI_CR_ESS | DCMI_CR_BSM_0 | DCMI_CR_BSM_1 | DCMI_CR_OEBS |\ + DCMI_CR_LSM | DCMI_CR_OELS); + + hdcmi->Instance->CR |= (uint32_t)(hdcmi->Init.SynchroMode | hdcmi->Init.CaptureRate |\ + hdcmi->Init.VSPolarity | hdcmi->Init.HSPolarity |\ + hdcmi->Init.PCKPolarity | hdcmi->Init.ExtendedDataMode |\ + hdcmi->Init.JPEGMode | hdcmi->Init.ByteSelectMode |\ + hdcmi->Init.ByteSelectStart | hdcmi->Init.LineSelectMode |\ + hdcmi->Init.LineSelectStart); + + if(hdcmi->Init.SynchroMode == DCMI_SYNCHRO_EMBEDDED) + { + hdcmi->Instance->ESCR = (((uint32_t)hdcmi->Init.SyncroCode.FrameStartCode) |\ + ((uint32_t)hdcmi->Init.SyncroCode.LineStartCode << DCMI_POSITION_ESCR_LSC)|\ + ((uint32_t)hdcmi->Init.SyncroCode.LineEndCode << DCMI_POSITION_ESCR_LEC) |\ + ((uint32_t)hdcmi->Init.SyncroCode.FrameEndCode << DCMI_POSITION_ESCR_FEC)); + + } + + /* Enable the Line, Vsync, Error and Overrun interrupts */ + __HAL_DCMI_ENABLE_IT(hdcmi, DCMI_IT_LINE | DCMI_IT_VSYNC | DCMI_IT_ERR | DCMI_IT_OVR); + + /* Update error code */ + hdcmi->ErrorCode = HAL_DCMI_ERROR_NONE; + + /* Initialize the DCMI state*/ + hdcmi->State = HAL_DCMI_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Deinitializes the DCMI peripheral registers to their default reset + * values. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_DCMI_DeInit(DCMI_HandleTypeDef *hdcmi) +{ + /* DeInit the low level hardware */ + HAL_DCMI_MspDeInit(hdcmi); + + /* Update error code */ + hdcmi->ErrorCode = HAL_DCMI_ERROR_NONE; + + /* Initialize the DCMI state*/ + hdcmi->State = HAL_DCMI_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hdcmi); + + return HAL_OK; +} + +/** + * @brief Initializes the DCMI MSP. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval None + */ +__weak void HAL_DCMI_MspInit(DCMI_HandleTypeDef* hdcmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdcmi); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_DCMI_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitializes the DCMI MSP. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval None + */ +__weak void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef* hdcmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdcmi); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_DCMI_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ +/** @defgroup DCMI_Exported_Functions_Group2 IO operation functions + * @brief IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure destination address and data length and + Enables DCMI DMA request and enables DCMI capture + (+) Stop the DCMI capture. + (+) Handles DCMI interrupt request. + +@endverbatim + * @{ + */ + +/** + * @brief Enables DCMI DMA request and enables DCMI capture + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @param DCMI_Mode: DCMI capture mode snapshot or continuous grab. + * @param pData: The destination memory Buffer address (LCD Frame buffer). + * @param Length: The length of capture to be transferred. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_Start_DMA(DCMI_HandleTypeDef* hdcmi, uint32_t DCMI_Mode, uint32_t pData, uint32_t Length) +{ + /* Initialize the second memory address */ + uint32_t SecondMemAddress = 0; + + /* Check function parameters */ + assert_param(IS_DCMI_CAPTURE_MODE(DCMI_Mode)); + + /* Process Locked */ + __HAL_LOCK(hdcmi); + + /* Lock the DCMI peripheral state */ + hdcmi->State = HAL_DCMI_STATE_BUSY; + + /* Enable DCMI by setting DCMIEN bit */ + __HAL_DCMI_ENABLE(hdcmi); + + /* Configure the DCMI Mode */ + hdcmi->Instance->CR &= ~(DCMI_CR_CM); + hdcmi->Instance->CR |= (uint32_t)(DCMI_Mode); + + /* Set the DMA memory0 conversion complete callback */ + hdcmi->DMA_Handle->XferCpltCallback = DCMI_DMAXferCplt; + + /* Set the DMA error callback */ + hdcmi->DMA_Handle->XferErrorCallback = DCMI_DMAError; + + /* Set the dma abort callback */ + hdcmi->DMA_Handle->XferAbortCallback = NULL; + + /* Reset transfer counters value */ + hdcmi->XferCount = 0; + hdcmi->XferTransferNumber = 0; + + if(Length <= 0xFFFF) + { + /* Enable the DMA Stream */ + HAL_DMA_Start_IT(hdcmi->DMA_Handle, (uint32_t)&hdcmi->Instance->DR, (uint32_t)pData, Length); + } + else /* DCMI_DOUBLE_BUFFER Mode */ + { + /* Set the DMA memory1 conversion complete callback */ + hdcmi->DMA_Handle->XferM1CpltCallback = DCMI_DMAXferCplt; + + /* Initialize transfer parameters */ + hdcmi->XferCount = 1; + hdcmi->XferSize = Length; + hdcmi->pBuffPtr = pData; + + /* Get the number of buffer */ + while(hdcmi->XferSize > 0xFFFF) + { + hdcmi->XferSize = (hdcmi->XferSize/2); + hdcmi->XferCount = hdcmi->XferCount*2; + } + + /* Update DCMI counter and transfer number*/ + hdcmi->XferCount = (hdcmi->XferCount - 2); + hdcmi->XferTransferNumber = hdcmi->XferCount; + + /* Update second memory address */ + SecondMemAddress = (uint32_t)(pData + (4*hdcmi->XferSize)); + + /* Start DMA multi buffer transfer */ + HAL_DMAEx_MultiBufferStart_IT(hdcmi->DMA_Handle, (uint32_t)&hdcmi->Instance->DR, (uint32_t)pData, SecondMemAddress, hdcmi->XferSize); + } + + /* Enable Capture */ + hdcmi->Instance->CR |= DCMI_CR_CAPTURE; + + /* Release Lock */ + __HAL_UNLOCK(hdcmi); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Disable DCMI DMA request and Disable DCMI capture + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_Stop(DCMI_HandleTypeDef* hdcmi) +{ + register uint32_t count = HAL_TIMEOUT_DCMI_STOP * (SystemCoreClock /8/1000); + HAL_StatusTypeDef status = HAL_OK; + + /* Process locked */ + __HAL_LOCK(hdcmi); + + /* Lock the DCMI peripheral state */ + hdcmi->State = HAL_DCMI_STATE_BUSY; + + /* Disable Capture */ + hdcmi->Instance->CR &= ~(DCMI_CR_CAPTURE); + + /* Check if the DCMI capture effectively disabled */ + do + { + if (count-- == 0) + { + /* Update error code */ + hdcmi->ErrorCode |= HAL_DCMI_ERROR_TIMEOUT; + + status = HAL_TIMEOUT; + break; + } + } + while((hdcmi->Instance->CR & DCMI_CR_CAPTURE) != 0); + + /* Disable the DCMI */ + __HAL_DCMI_DISABLE(hdcmi); + + /* Disable the DMA */ + HAL_DMA_Abort(hdcmi->DMA_Handle); + + /* Update error code */ + hdcmi->ErrorCode |= HAL_DCMI_ERROR_NONE; + + /* Change DCMI state */ + hdcmi->State = HAL_DCMI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdcmi); + + /* Return function status */ + return status; +} + +/** + * @brief Suspend DCMI capture + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_Suspend(DCMI_HandleTypeDef* hdcmi) +{ + register uint32_t count = HAL_TIMEOUT_DCMI_STOP * (SystemCoreClock /8/1000); + HAL_StatusTypeDef status = HAL_OK; + + /* Process locked */ + __HAL_LOCK(hdcmi); + + if(hdcmi->State == HAL_DCMI_STATE_BUSY) + { + /* Change DCMI state */ + hdcmi->State = HAL_DCMI_STATE_SUSPENDED; + + /* Disable Capture */ + hdcmi->Instance->CR &= ~(DCMI_CR_CAPTURE); + + /* Check if the DCMI capture effectively disabled */ + do + { + if (count-- == 0) + { + /* Update error code */ + hdcmi->ErrorCode |= HAL_DCMI_ERROR_TIMEOUT; + + /* Change DCMI state */ + hdcmi->State = HAL_DCMI_STATE_READY; + + status = HAL_TIMEOUT; + break; + } + } + while((hdcmi->Instance->CR & DCMI_CR_CAPTURE) != 0); + } + /* Process Unlocked */ + __HAL_UNLOCK(hdcmi); + + /* Return function status */ + return status; +} + +/** + * @brief Resume DCMI capture + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_Resume(DCMI_HandleTypeDef* hdcmi) +{ + /* Process locked */ + __HAL_LOCK(hdcmi); + + if(hdcmi->State == HAL_DCMI_STATE_SUSPENDED) + { + /* Change DCMI state */ + hdcmi->State = HAL_DCMI_STATE_BUSY; + + /* Disable Capture */ + hdcmi->Instance->CR |= DCMI_CR_CAPTURE; + } + /* Process Unlocked */ + __HAL_UNLOCK(hdcmi); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Handles DCMI interrupt request. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for the DCMI. + * @retval None + */ +void HAL_DCMI_IRQHandler(DCMI_HandleTypeDef *hdcmi) +{ + uint32_t isr_value = READ_REG(hdcmi->Instance->MISR); + + /* Synchronization error interrupt management *******************************/ + if((isr_value & DCMI_FLAG_ERRRI) == DCMI_FLAG_ERRRI) + { + /* Clear the Synchronization error flag */ + __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_ERRRI); + + /* Update error code */ + hdcmi->ErrorCode |= HAL_DCMI_ERROR_SYNC; + + /* Change DCMI state */ + hdcmi->State = HAL_DCMI_STATE_ERROR; + + /* Set the synchronization error callback */ + hdcmi->DMA_Handle->XferAbortCallback = DCMI_DMAError; + + /* Abort the DMA Transfer */ + HAL_DMA_Abort_IT(hdcmi->DMA_Handle); + } + /* Overflow interrupt management ********************************************/ + if((isr_value & DCMI_FLAG_OVRRI) == DCMI_FLAG_OVRRI) + { + /* Clear the Overflow flag */ + __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_OVRRI); + + /* Update error code */ + hdcmi->ErrorCode |= HAL_DCMI_ERROR_OVR; + + /* Change DCMI state */ + hdcmi->State = HAL_DCMI_STATE_ERROR; + + /* Set the overflow callback */ + hdcmi->DMA_Handle->XferAbortCallback = DCMI_DMAError; + + /* Abort the DMA Transfer */ + HAL_DMA_Abort_IT(hdcmi->DMA_Handle); + } + /* Line Interrupt management ************************************************/ + if((isr_value & DCMI_FLAG_LINERI) == DCMI_FLAG_LINERI) + { + /* Clear the Line interrupt flag */ + __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_LINERI); + + /* Line interrupt Callback */ + HAL_DCMI_LineEventCallback(hdcmi); + } + /* VSYNC interrupt management ***********************************************/ + if((isr_value & DCMI_FLAG_VSYNCRI) == DCMI_FLAG_VSYNCRI) + { + /* Clear the VSYNC flag */ + __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_VSYNCRI); + + /* VSYNC Callback */ + HAL_DCMI_VsyncEventCallback(hdcmi); + } + /* FRAME interrupt management ***********************************************/ + if((isr_value & DCMI_FLAG_FRAMERI) == DCMI_FLAG_FRAMERI) + { + /* When snapshot mode, disable Vsync, Error and Overrun interrupts */ + if((hdcmi->Instance->CR & DCMI_CR_CM) == DCMI_MODE_SNAPSHOT) + { + /* Disable the Line, Vsync, Error and Overrun interrupts */ + __HAL_DCMI_DISABLE_IT(hdcmi, DCMI_IT_LINE | DCMI_IT_VSYNC | DCMI_IT_ERR | DCMI_IT_OVR); + } + + /* Disable the Frame interrupt */ + __HAL_DCMI_DISABLE_IT(hdcmi, DCMI_IT_FRAME); + + /* Clear the End of Frame flag */ + __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_FRAMERI); + + /* Frame Callback */ + HAL_DCMI_FrameEventCallback(hdcmi); + } +} + +/** + * @brief Error DCMI callback. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval None + */ +__weak void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdcmi); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_DCMI_ErrorCallback could be implemented in the user file + */ +} + +/** + * @brief Line Event callback. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval None + */ +__weak void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_DCMI_LineEventCallback could be implemented in the user file + */ +} + +/** + * @brief VSYNC Event callback. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval None + */ +__weak void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdcmi); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_DCMI_VsyncEventCallback could be implemented in the user file + */ +} + +/** + * @brief Frame Event callback. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval None + */ +__weak void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdcmi); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_DCMI_FrameEventCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup DCMI_Exported_Functions_Group3 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== +[..] This section provides functions allowing to: + (+) Configure the CROP feature. + (+) Enable/Disable the CROP feature. + +@endverbatim + * @{ + */ + +/** + * @brief Configure the DCMI CROP coordinate. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @param YSize: DCMI Line number + * @param XSize: DCMI Pixel per line + * @param X0: DCMI window X offset + * @param Y0: DCMI window Y offset + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_ConfigCrop(DCMI_HandleTypeDef *hdcmi, uint32_t X0, uint32_t Y0, uint32_t XSize, uint32_t YSize) +{ + /* Process Locked */ + __HAL_LOCK(hdcmi); + + /* Lock the DCMI peripheral state */ + hdcmi->State = HAL_DCMI_STATE_BUSY; + + /* Check the parameters */ + assert_param(IS_DCMI_WINDOW_COORDINATE(X0)); + assert_param(IS_DCMI_WINDOW_HEIGHT(Y0)); + assert_param(IS_DCMI_WINDOW_COORDINATE(XSize)); + assert_param(IS_DCMI_WINDOW_COORDINATE(YSize)); + + /* Configure CROP */ + hdcmi->Instance->CWSIZER = (XSize | (YSize << DCMI_POSITION_CWSIZE_VLINE)); + hdcmi->Instance->CWSTRTR = (X0 | (Y0 << DCMI_POSITION_CWSTRT_VST)); + + /* Initialize the DCMI state*/ + hdcmi->State = HAL_DCMI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdcmi); + + return HAL_OK; +} + +/** + * @brief Disable the Crop feature. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_DisableCrop(DCMI_HandleTypeDef *hdcmi) +{ + /* Process Locked */ + __HAL_LOCK(hdcmi); + + /* Lock the DCMI peripheral state */ + hdcmi->State = HAL_DCMI_STATE_BUSY; + + /* Disable DCMI Crop feature */ + hdcmi->Instance->CR &= ~(uint32_t)DCMI_CR_CROP; + + /* Change the DCMI state*/ + hdcmi->State = HAL_DCMI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdcmi); + + return HAL_OK; +} + +/** + * @brief Enable the Crop feature. + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DCMI_EnableCrop(DCMI_HandleTypeDef *hdcmi) +{ + /* Process Locked */ + __HAL_LOCK(hdcmi); + + /* Lock the DCMI peripheral state */ + hdcmi->State = HAL_DCMI_STATE_BUSY; + + /* Enable DCMI Crop feature */ + hdcmi->Instance->CR |= (uint32_t)DCMI_CR_CROP; + + /* Change the DCMI state*/ + hdcmi->State = HAL_DCMI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdcmi); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup DCMI_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State and Errors functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to + (+) Check the DCMI state. + (+) Get the specific DCMI error flag. + +@endverbatim + * @{ + */ + +/** + * @brief Return the DCMI state + * @param hdcmi: pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. + * @retval HAL state + */ +HAL_DCMI_StateTypeDef HAL_DCMI_GetState(DCMI_HandleTypeDef *hdcmi) +{ + return hdcmi->State; +} + +/** +* @brief Return the DCMI error code +* @param hdcmi : pointer to a DCMI_HandleTypeDef structure that contains + * the configuration information for DCMI. +* @retval DCMI Error Code +*/ +uint32_t HAL_DCMI_GetError(DCMI_HandleTypeDef *hdcmi) +{ + return hdcmi->ErrorCode; +} + +/** + * @} + */ +/* Private functions ---------------------------------------------------------*/ +/** @defgroup DCMI_Private_Functions DCMI Private Functions + * @{ + */ + /** + * @brief DMA conversion complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void DCMI_DMAXferCplt(DMA_HandleTypeDef *hdma) +{ + uint32_t tmp = 0; + + DCMI_HandleTypeDef* hdcmi = ( DCMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + if(hdcmi->XferCount != 0) + { + /* Update memory 0 address location */ + tmp = ((((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->CR) & DMA_SxCR_CT); + if(((hdcmi->XferCount % 2) == 0) && (tmp != 0)) + { + tmp = ((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->M0AR; + HAL_DMAEx_ChangeMemory(hdcmi->DMA_Handle, (tmp + (8*hdcmi->XferSize)), MEMORY0); + hdcmi->XferCount--; + } + /* Update memory 1 address location */ + else if((((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->CR & DMA_SxCR_CT) == 0) + { + tmp = ((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->M1AR; + HAL_DMAEx_ChangeMemory(hdcmi->DMA_Handle, (tmp + (8*hdcmi->XferSize)), MEMORY1); + hdcmi->XferCount--; + } + } + /* Update memory 0 address location */ + else if((((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->CR & DMA_SxCR_CT) != 0) + { + ((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->M0AR = hdcmi->pBuffPtr; + } + /* Update memory 1 address location */ + else if((((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->CR & DMA_SxCR_CT) == 0) + { + tmp = hdcmi->pBuffPtr; + ((DMA_Stream_TypeDef *)(hdcmi->DMA_Handle->Instance))->M1AR = (tmp + (4*hdcmi->XferSize)); + hdcmi->XferCount = hdcmi->XferTransferNumber; + } + + /* Check if the frame is transferred */ + if(hdcmi->XferCount == hdcmi->XferTransferNumber) + { + /* Enable the Frame interrupt */ + __HAL_DCMI_ENABLE_IT(hdcmi, DCMI_IT_FRAME); + + /* When snapshot mode, set dcmi state to ready */ + if((hdcmi->Instance->CR & DCMI_CR_CM) == DCMI_MODE_SNAPSHOT) + { + hdcmi->State= HAL_DCMI_STATE_READY; + } + } +} + +/** + * @brief DMA error callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void DCMI_DMAError(DMA_HandleTypeDef *hdma) +{ + DCMI_HandleTypeDef* hdcmi = ( DCMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + if(hdcmi->DMA_Handle->ErrorCode != HAL_DMA_ERROR_FE) + { + /* Initialize the DCMI state*/ + hdcmi->State = HAL_DCMI_STATE_READY; + + /* Set DCMI Error Code */ + hdcmi->ErrorCode |= HAL_DCMI_ERROR_DMA; + } + + /* DCMI error Callback */ + HAL_DCMI_ErrorCallback(hdcmi); +} + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_DCMI_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm.c new file mode 100644 index 0000000000..cc27821061 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm.c @@ -0,0 +1,3014 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dfsdm.c + * @author MCD Application Team + * @brief This file provides firmware functions to manage the following + * functionalities of the Digital Filter for Sigma-Delta Modulators + * (DFSDM) peripherals: + * + Initialization and configuration of channels and filters + * + Regular channels configuration + * + Injected channels configuration + * + Regular/Injected Channels DMA Configuration + * + Interrupts and flags management + * + Analog watchdog feature + * + Short-circuit detector feature + * + Extremes detector feature + * + Clock absence detector feature + * + Break generation on analog watchdog or short-circuit event + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + *** Channel initialization *** + ============================== + [..] + (#) User has first to initialize channels (before filters initialization). + (#) As prerequisite, fill in the HAL_DFSDM_ChannelMspInit() : + (++) Enable DFSDMz clock interface with __HAL_RCC_DFSDMz_CLK_ENABLE(). + (++) Enable the clocks for the DFSDMz GPIOS with __HAL_RCC_GPIOx_CLK_ENABLE(). + (++) Configure these DFSDMz pins in alternate mode using HAL_GPIO_Init(). + (++) If interrupt mode is used, enable and configure DFSDMz_FLT0 global + interrupt with HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ(). + (#) Configure the output clock, input, serial interface, analog watchdog, + offset and data right bit shift parameters for this channel using the + HAL_DFSDM_ChannelInit() function. + + *** Channel clock absence detector *** + ====================================== + [..] + (#) Start clock absence detector using HAL_DFSDM_ChannelCkabStart() or + HAL_DFSDM_ChannelCkabStart_IT(). + (#) In polling mode, use HAL_DFSDM_ChannelPollForCkab() to detect the clock + absence. + (#) In interrupt mode, HAL_DFSDM_ChannelCkabCallback() will be called if + clock absence is detected. + (#) Stop clock absence detector using HAL_DFSDM_ChannelCkabStop() or + HAL_DFSDM_ChannelCkabStop_IT(). + (#) Please note that the same mode (polling or interrupt) has to be used + for all channels because the channels are sharing the same interrupt. + (#) Please note also that in interrupt mode, if clock absence detector is + stopped for one channel, interrupt will be disabled for all channels. + + *** Channel short circuit detector *** + ====================================== + [..] + (#) Start short circuit detector using HAL_DFSDM_ChannelScdStart() or + or HAL_DFSDM_ChannelScdStart_IT(). + (#) In polling mode, use HAL_DFSDM_ChannelPollForScd() to detect short + circuit. + (#) In interrupt mode, HAL_DFSDM_ChannelScdCallback() will be called if + short circuit is detected. + (#) Stop short circuit detector using HAL_DFSDM_ChannelScdStop() or + or HAL_DFSDM_ChannelScdStop_IT(). + (#) Please note that the same mode (polling or interrupt) has to be used + for all channels because the channels are sharing the same interrupt. + (#) Please note also that in interrupt mode, if short circuit detector is + stopped for one channel, interrupt will be disabled for all channels. + + *** Channel analog watchdog value *** + ===================================== + [..] + (#) Get analog watchdog filter value of a channel using + HAL_DFSDM_ChannelGetAwdValue(). + + *** Channel offset value *** + ===================================== + [..] + (#) Modify offset value of a channel using HAL_DFSDM_ChannelModifyOffset(). + + *** Filter initialization *** + ============================= + [..] + (#) After channel initialization, user has to init filters. + (#) As prerequisite, fill in the HAL_DFSDM_FilterMspInit() : + (++) If interrupt mode is used , enable and configure DFSDMz_FLTx global + interrupt with HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ(). + Please note that DFSDMz_FLT0 global interrupt could be already + enabled if interrupt is used for channel. + (++) If DMA mode is used, configure DMA with HAL_DMA_Init() and link it + with DFSDMz filter handle using __HAL_LINKDMA(). + (#) Configure the regular conversion, injected conversion and filter + parameters for this filter using the HAL_DFSDM_FilterInit() function. + + *** Filter regular channel conversion *** + ========================================= + [..] + (#) Select regular channel and enable/disable continuous mode using + HAL_DFSDM_FilterConfigRegChannel(). + (#) Start regular conversion using HAL_DFSDM_FilterRegularStart(), + HAL_DFSDM_FilterRegularStart_IT(), HAL_DFSDM_FilterRegularStart_DMA() or + HAL_DFSDM_FilterRegularMsbStart_DMA(). + (#) In polling mode, use HAL_DFSDM_FilterPollForRegConversion() to detect + the end of regular conversion. + (#) In interrupt mode, HAL_DFSDM_FilterRegConvCpltCallback() will be called + at the end of regular conversion. + (#) Get value of regular conversion and corresponding channel using + HAL_DFSDM_FilterGetRegularValue(). + (#) In DMA mode, HAL_DFSDM_FilterRegConvHalfCpltCallback() and + HAL_DFSDM_FilterRegConvCpltCallback() will be called respectively at the + half transfer and at the transfer complete. Please note that + HAL_DFSDM_FilterRegConvHalfCpltCallback() will be called only in DMA + circular mode. + (#) Stop regular conversion using HAL_DFSDM_FilterRegularStop(), + HAL_DFSDM_FilterRegularStop_IT() or HAL_DFSDM_FilterRegularStop_DMA(). + + *** Filter injected channels conversion *** + =========================================== + [..] + (#) Select injected channels using HAL_DFSDM_FilterConfigInjChannel(). + (#) Start injected conversion using HAL_DFSDM_FilterInjectedStart(), + HAL_DFSDM_FilterInjectedStart_IT(), HAL_DFSDM_FilterInjectedStart_DMA() or + HAL_DFSDM_FilterInjectedMsbStart_DMA(). + (#) In polling mode, use HAL_DFSDM_FilterPollForInjConversion() to detect + the end of injected conversion. + (#) In interrupt mode, HAL_DFSDM_FilterInjConvCpltCallback() will be called + at the end of injected conversion. + (#) Get value of injected conversion and corresponding channel using + HAL_DFSDM_FilterGetInjectedValue(). + (#) In DMA mode, HAL_DFSDM_FilterInjConvHalfCpltCallback() and + HAL_DFSDM_FilterInjConvCpltCallback() will be called respectively at the + half transfer and at the transfer complete. Please note that + HAL_DFSDM_FilterInjConvCpltCallback() will be called only in DMA + circular mode. + (#) Stop injected conversion using HAL_DFSDM_FilterInjectedStop(), + HAL_DFSDM_FilterInjectedStop_IT() or HAL_DFSDM_FilterInjectedStop_DMA(). + + *** Filter analog watchdog *** + ============================== + [..] + (#) Start filter analog watchdog using HAL_DFSDM_FilterAwdStart_IT(). + (#) HAL_DFSDM_FilterAwdCallback() will be called if analog watchdog occurs. + (#) Stop filter analog watchdog using HAL_DFSDM_FilterAwdStop_IT(). + + *** Filter extreme detector *** + =============================== + [..] + (#) Start filter extreme detector using HAL_DFSDM_FilterExdStart(). + (#) Get extreme detector maximum value using HAL_DFSDM_FilterGetExdMaxValue(). + (#) Get extreme detector minimum value using HAL_DFSDM_FilterGetExdMinValue(). + (#) Start filter extreme detector using HAL_DFSDM_FilterExdStop(). + + *** Filter conversion time *** + ============================== + [..] + (#) Get conversion time value using HAL_DFSDM_FilterGetConvTimeValue(). + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +#ifdef HAL_DFSDM_MODULE_ENABLED +/** @defgroup DFSDM DFSDM + * @brief DFSDM HAL driver module + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup DFSDM_Private_Define DFSDM Private Define + * @{ + */ +#define DFSDM_CHCFGR1_CLK_DIV_OFFSET POSITION_VAL(DFSDM_CHCFGR1_CKOUTDIV) +#define DFSDM_CHAWSCDR_BKSCD_OFFSET POSITION_VAL(DFSDM_CHAWSCDR_BKSCD) +#define DFSDM_CHAWSCDR_FOSR_OFFSET POSITION_VAL(DFSDM_CHAWSCDR_AWFOSR) +#define DFSDM_CHCFGR2_OFFSET_OFFSET POSITION_VAL(DFSDM_CHCFGR2_OFFSET) +#define DFSDM_CHCFGR2_DTRBS_OFFSET POSITION_VAL(DFSDM_CHCFGR2_DTRBS) +#define DFSDM_FLTFCR_FOSR_OFFSET POSITION_VAL(DFSDM_FLTFCR_FOSR) +#define DFSDM_FLTCR1_MSB_RCH_OFFSET 8 +#define DFSDM_FLTCR2_EXCH_OFFSET POSITION_VAL(DFSDM_FLTCR2_EXCH) +#define DFSDM_FLTCR2_AWDCH_OFFSET POSITION_VAL(DFSDM_FLTCR2_AWDCH) +#define DFSDM_FLTISR_CKABF_OFFSET POSITION_VAL(DFSDM_FLTISR_CKABF) +#define DFSDM_FLTISR_SCDF_OFFSET POSITION_VAL(DFSDM_FLTISR_SCDF) +#define DFSDM_FLTICR_CLRCKABF_OFFSET POSITION_VAL(DFSDM_FLTICR_CLRCKABF) +#define DFSDM_FLTICR_CLRSCDF_OFFSET POSITION_VAL(DFSDM_FLTICR_CLRSCDF) +#define DFSDM_FLTRDATAR_DATA_OFFSET POSITION_VAL(DFSDM_FLTRDATAR_RDATA) +#define DFSDM_FLTJDATAR_DATA_OFFSET POSITION_VAL(DFSDM_FLTJDATAR_JDATA) +#define DFSDM_FLTAWHTR_THRESHOLD_OFFSET POSITION_VAL(DFSDM_FLTAWHTR_AWHT) +#define DFSDM_FLTAWLTR_THRESHOLD_OFFSET POSITION_VAL(DFSDM_FLTAWLTR_AWLT) +#define DFSDM_FLTEXMAX_DATA_OFFSET POSITION_VAL(DFSDM_FLTEXMAX_EXMAX) +#define DFSDM_FLTEXMIN_DATA_OFFSET POSITION_VAL(DFSDM_FLTEXMIN_EXMIN) +#define DFSDM_FLTCNVTIMR_DATA_OFFSET POSITION_VAL(DFSDM_FLTCNVTIMR_CNVCNT) +#define DFSDM_FLTAWSR_HIGH_OFFSET POSITION_VAL(DFSDM_FLTAWSR_AWHTF) +#define DFSDM_MSB_MASK 0xFFFF0000 +#define DFSDM_LSB_MASK 0x0000FFFF +#define DFSDM_CKAB_TIMEOUT 5000 +#define DFSDM1_CHANNEL_NUMBER 8 +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/** @defgroup DFSDM_Private_Variables DFSDM Private Variables + * @{ + */ +__IO uint32_t v_dfsdm1ChannelCounter = 0; +DFSDM_Channel_HandleTypeDef* a_dfsdm1ChannelHandle[DFSDM1_CHANNEL_NUMBER] = {NULL}; +/** + * @} + */ + +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup DFSDM_Private_Functions DFSDM Private Functions + * @{ + */ +static uint32_t DFSDM_GetInjChannelsNbr(uint32_t Channels); +static uint32_t DFSDM_GetChannelFromInstance(DFSDM_Channel_TypeDef* Instance); +static void DFSDM_RegConvStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter); +static void DFSDM_RegConvStop(DFSDM_Filter_HandleTypeDef* hdfsdm_filter); +static void DFSDM_InjConvStart(DFSDM_Filter_HandleTypeDef* hdfsdm_filter); +static void DFSDM_InjConvStop(DFSDM_Filter_HandleTypeDef* hdfsdm_filter); +static void DFSDM_DMARegularHalfConvCplt(DMA_HandleTypeDef *hdma); +static void DFSDM_DMARegularConvCplt(DMA_HandleTypeDef *hdma); +static void DFSDM_DMAInjectedHalfConvCplt(DMA_HandleTypeDef *hdma); +static void DFSDM_DMAInjectedConvCplt(DMA_HandleTypeDef *hdma); +static void DFSDM_DMAError(DMA_HandleTypeDef *hdma); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup DFSDM_Exported_Functions DFSDM Exported Functions + * @{ + */ + +/** @defgroup DFSDM_Exported_Functions_Group1_Channel Channel initialization and de-initialization functions + * @brief Channel initialization and de-initialization functions + * +@verbatim + ============================================================================== + ##### Channel initialization and de-initialization functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the DFSDM channel. + (+) De-initialize the DFSDM channel. +@endverbatim + * @{ + */ + +/** + * @brief Initialize the DFSDM channel according to the specified parameters + * in the DFSDM_ChannelInitTypeDef structure and initialize the associated handle. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + /* Check DFSDM Channel handle */ + if(hdfsdm_channel == NULL) + { + return HAL_ERROR; + } + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + assert_param(IS_FUNCTIONAL_STATE(hdfsdm_channel->Init.OutputClock.Activation)); + assert_param(IS_DFSDM_CHANNEL_INPUT(hdfsdm_channel->Init.Input.Multiplexer)); + assert_param(IS_DFSDM_CHANNEL_DATA_PACKING(hdfsdm_channel->Init.Input.DataPacking)); + assert_param(IS_DFSDM_CHANNEL_INPUT_PINS(hdfsdm_channel->Init.Input.Pins)); + assert_param(IS_DFSDM_CHANNEL_SERIAL_INTERFACE_TYPE(hdfsdm_channel->Init.SerialInterface.Type)); + assert_param(IS_DFSDM_CHANNEL_SPI_CLOCK(hdfsdm_channel->Init.SerialInterface.SpiClock)); + assert_param(IS_DFSDM_CHANNEL_FILTER_ORDER(hdfsdm_channel->Init.Awd.FilterOrder)); + assert_param(IS_DFSDM_CHANNEL_FILTER_OVS_RATIO(hdfsdm_channel->Init.Awd.Oversampling)); + assert_param(IS_DFSDM_CHANNEL_OFFSET(hdfsdm_channel->Init.Offset)); + assert_param(IS_DFSDM_CHANNEL_RIGHT_BIT_SHIFT(hdfsdm_channel->Init.RightBitShift)); + + /* Check that channel has not been already initialized */ + if(a_dfsdm1ChannelHandle[DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance)] != NULL) + { + return HAL_ERROR; + } + + /* Call MSP init function */ + HAL_DFSDM_ChannelMspInit(hdfsdm_channel); + + /* Update the channel counter */ + v_dfsdm1ChannelCounter++; + + /* Configure output serial clock and enable global DFSDM interface only for first channel */ + if(v_dfsdm1ChannelCounter == 1) + { + assert_param(IS_DFSDM_CHANNEL_OUTPUT_CLOCK(hdfsdm_channel->Init.OutputClock.Selection)); + /* Set the output serial clock source */ + DFSDM1_Channel0->CHCFGR1 &= ~(DFSDM_CHCFGR1_CKOUTSRC); + DFSDM1_Channel0->CHCFGR1 |= hdfsdm_channel->Init.OutputClock.Selection; + + /* Reset clock divider */ + DFSDM1_Channel0->CHCFGR1 &= ~(DFSDM_CHCFGR1_CKOUTDIV); + if(hdfsdm_channel->Init.OutputClock.Activation == ENABLE) + { + assert_param(IS_DFSDM_CHANNEL_OUTPUT_CLOCK_DIVIDER(hdfsdm_channel->Init.OutputClock.Divider)); + /* Set the output clock divider */ + DFSDM1_Channel0->CHCFGR1 |= (uint32_t) ((hdfsdm_channel->Init.OutputClock.Divider - 1) << + DFSDM_CHCFGR1_CLK_DIV_OFFSET); + } + + /* enable the DFSDM global interface */ + DFSDM1_Channel0->CHCFGR1 |= DFSDM_CHCFGR1_DFSDMEN; + } + + /* Set channel input parameters */ + hdfsdm_channel->Instance->CHCFGR1 &= ~(DFSDM_CHCFGR1_DATPACK | DFSDM_CHCFGR1_DATMPX | + DFSDM_CHCFGR1_CHINSEL); + hdfsdm_channel->Instance->CHCFGR1 |= (hdfsdm_channel->Init.Input.Multiplexer | + hdfsdm_channel->Init.Input.DataPacking | + hdfsdm_channel->Init.Input.Pins); + + /* Set serial interface parameters */ + hdfsdm_channel->Instance->CHCFGR1 &= ~(DFSDM_CHCFGR1_SITP | DFSDM_CHCFGR1_SPICKSEL); + hdfsdm_channel->Instance->CHCFGR1 |= (hdfsdm_channel->Init.SerialInterface.Type | + hdfsdm_channel->Init.SerialInterface.SpiClock); + + /* Set analog watchdog parameters */ + hdfsdm_channel->Instance->CHAWSCDR &= ~(DFSDM_CHAWSCDR_AWFORD | DFSDM_CHAWSCDR_AWFOSR); + hdfsdm_channel->Instance->CHAWSCDR |= (hdfsdm_channel->Init.Awd.FilterOrder | + ((hdfsdm_channel->Init.Awd.Oversampling - 1) << DFSDM_CHAWSCDR_FOSR_OFFSET)); + + /* Set channel offset and right bit shift */ + hdfsdm_channel->Instance->CHCFGR2 &= ~(DFSDM_CHCFGR2_OFFSET | DFSDM_CHCFGR2_DTRBS); + hdfsdm_channel->Instance->CHCFGR2 |= (((uint32_t) hdfsdm_channel->Init.Offset << DFSDM_CHCFGR2_OFFSET_OFFSET) | + (hdfsdm_channel->Init.RightBitShift << DFSDM_CHCFGR2_DTRBS_OFFSET)); + + /* Enable DFSDM channel */ + hdfsdm_channel->Instance->CHCFGR1 |= DFSDM_CHCFGR1_CHEN; + + /* Set DFSDM Channel to ready state */ + hdfsdm_channel->State = HAL_DFSDM_CHANNEL_STATE_READY; + + /* Store channel handle in DFSDM channel handle table */ + a_dfsdm1ChannelHandle[DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance)] = hdfsdm_channel; + + return HAL_OK; +} + +/** + * @brief De-initialize the DFSDM channel. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelDeInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + /* Check DFSDM Channel handle */ + if(hdfsdm_channel == NULL) + { + return HAL_ERROR; + } + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check that channel has not been already deinitialized */ + if(a_dfsdm1ChannelHandle[DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance)] == NULL) + { + return HAL_ERROR; + } + + /* Disable the DFSDM channel */ + hdfsdm_channel->Instance->CHCFGR1 &= ~(DFSDM_CHCFGR1_CHEN); + + /* Update the channel counter */ + v_dfsdm1ChannelCounter--; + + /* Disable global DFSDM at deinit of last channel */ + if(v_dfsdm1ChannelCounter == 0) + { + DFSDM1_Channel0->CHCFGR1 &= ~(DFSDM_CHCFGR1_DFSDMEN); + } + + /* Call MSP deinit function */ + HAL_DFSDM_ChannelMspDeInit(hdfsdm_channel); + + /* Set DFSDM Channel in reset state */ + hdfsdm_channel->State = HAL_DFSDM_CHANNEL_STATE_RESET; + + /* Reset channel handle in DFSDM channel handle table */ + a_dfsdm1ChannelHandle[DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance)] = (DFSDM_Channel_HandleTypeDef *) NULL; + + return HAL_OK; +} + +/** + * @brief Initialize the DFSDM channel MSP. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval None + */ +__weak void HAL_DFSDM_ChannelMspInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_channel); + + /* NOTE : This function should not be modified, when the function is needed, + the HAL_DFSDM_ChannelMspInit could be implemented in the user file. + */ +} + +/** + * @brief De-initialize the DFSDM channel MSP. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval None + */ +__weak void HAL_DFSDM_ChannelMspDeInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_channel); + + /* NOTE : This function should not be modified, when the function is needed, + the HAL_DFSDM_ChannelMspDeInit could be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group2_Channel Channel operation functions + * @brief Channel operation functions + * +@verbatim + ============================================================================== + ##### Channel operation functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Manage clock absence detector feature. + (+) Manage short circuit detector feature. + (+) Get analog watchdog value. + (+) Modify offset value. +@endverbatim + * @{ + */ + +/** + * @brief This function allows to start clock absence detection in polling mode. + * @note Same mode has to be used for all channels. + * @note If clock is not available on this channel during 5 seconds, + * clock absence detection will not be activated and function + * will return HAL_TIMEOUT error. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStart(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t channel; + uint32_t tickstart; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Get channel number from channel instance */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + + /* Get timeout */ + tickstart = HAL_GetTick(); + + /* Clear clock absence flag */ + while((((DFSDM1_Filter0->FLTISR & DFSDM_FLTISR_CKABF) >> (DFSDM_FLTISR_CKABF_OFFSET + channel)) & 1) != 0) + { + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRCKABF_OFFSET + channel)); + + /* Check the Timeout */ + if((HAL_GetTick()-tickstart) > DFSDM_CKAB_TIMEOUT) + { + /* Set timeout status */ + status = HAL_TIMEOUT; + break; + } + } + + if(status == HAL_OK) + { + /* Start clock absence detection */ + hdfsdm_channel->Instance->CHCFGR1 |= DFSDM_CHCFGR1_CKABEN; + } + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to poll for the clock absence detection. + * @param hdfsdm_channel : DFSDM channel handle. + * @param Timeout : Timeout value in milliseconds. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelPollForCkab(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, + uint32_t Timeout) +{ + uint32_t tickstart; + uint32_t channel; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + return HAL_ERROR; + } + else + { + /* Get channel number from channel instance */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + + /* Get timeout */ + tickstart = HAL_GetTick(); + + /* Wait clock absence detection */ + while((((DFSDM1_Filter0->FLTISR & DFSDM_FLTISR_CKABF) >> (DFSDM_FLTISR_CKABF_OFFSET + channel)) & 1) == 0) + { + /* Check the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Return timeout status */ + return HAL_TIMEOUT; + } + } + } + + /* Clear clock absence detection flag */ + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRCKABF_OFFSET + channel)); + + /* Return function status */ + return HAL_OK; + } +} + +/** + * @brief This function allows to stop clock absence detection in polling mode. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStop(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t channel; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop clock absence detection */ + hdfsdm_channel->Instance->CHCFGR1 &= ~(DFSDM_CHCFGR1_CKABEN); + + /* Clear clock absence flag */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRCKABF_OFFSET + channel)); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start clock absence detection in interrupt mode. + * @note Same mode has to be used for all channels. + * @note If clock is not available on this channel during 5 seconds, + * clock absence detection will not be activated and function + * will return HAL_TIMEOUT error. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStart_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t channel; + uint32_t tickstart; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Get channel number from channel instance */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + + /* Get timeout */ + tickstart = HAL_GetTick(); + + /* Clear clock absence flag */ + while((((DFSDM1_Filter0->FLTISR & DFSDM_FLTISR_CKABF) >> (DFSDM_FLTISR_CKABF_OFFSET + channel)) & 1) != 0) + { + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRCKABF_OFFSET + channel)); + + /* Check the Timeout */ + if((HAL_GetTick()-tickstart) > DFSDM_CKAB_TIMEOUT) + { + /* Set timeout status */ + status = HAL_TIMEOUT; + break; + } + } + + if(status == HAL_OK) + { + /* Activate clock absence detection interrupt */ + DFSDM1_Filter0->FLTCR2 |= DFSDM_FLTCR2_CKABIE; + + /* Start clock absence detection */ + hdfsdm_channel->Instance->CHCFGR1 |= DFSDM_CHCFGR1_CKABEN; + } + } + /* Return function status */ + return status; +} + +/** + * @brief Clock absence detection callback. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval None + */ +__weak void HAL_DFSDM_ChannelCkabCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_channel); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_ChannelCkabCallback could be implemented in the user file + */ +} + +/** + * @brief This function allows to stop clock absence detection in interrupt mode. + * @note Interrupt will be disabled for all channels + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStop_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t channel; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop clock absence detection */ + hdfsdm_channel->Instance->CHCFGR1 &= ~(DFSDM_CHCFGR1_CKABEN); + + /* Clear clock absence flag */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRCKABF_OFFSET + channel)); + + /* Disable clock absence detection interrupt */ + DFSDM1_Filter0->FLTCR2 &= ~(DFSDM_FLTCR2_CKABIE); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start short circuit detection in polling mode. + * @note Same mode has to be used for all channels + * @param hdfsdm_channel : DFSDM channel handle. + * @param Threshold : Short circuit detector threshold. + * This parameter must be a number between Min_Data = 0 and Max_Data = 255. + * @param BreakSignal : Break signals assigned to short circuit event. + * This parameter can be a values combination of @ref DFSDM_BreakSignals. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStart(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, + uint32_t Threshold, + uint32_t BreakSignal) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + assert_param(IS_DFSDM_CHANNEL_SCD_THRESHOLD(Threshold)); + assert_param(IS_DFSDM_BREAK_SIGNALS(BreakSignal)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Configure threshold and break signals */ + hdfsdm_channel->Instance->CHAWSCDR &= ~(DFSDM_CHAWSCDR_BKSCD | DFSDM_CHAWSCDR_SCDT); + hdfsdm_channel->Instance->CHAWSCDR |= ((BreakSignal << DFSDM_CHAWSCDR_BKSCD_OFFSET) | \ + Threshold); + + /* Start short circuit detection */ + hdfsdm_channel->Instance->CHCFGR1 |= DFSDM_CHCFGR1_SCDEN; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to poll for the short circuit detection. + * @param hdfsdm_channel : DFSDM channel handle. + * @param Timeout : Timeout value in milliseconds. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelPollForScd(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, + uint32_t Timeout) +{ + uint32_t tickstart; + uint32_t channel; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + return HAL_ERROR; + } + else + { + /* Get channel number from channel instance */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + + /* Get timeout */ + tickstart = HAL_GetTick(); + + /* Wait short circuit detection */ + while(((DFSDM1_Filter0->FLTISR & DFSDM_FLTISR_SCDF) >> (DFSDM_FLTISR_SCDF_OFFSET + channel)) == 0) + { + /* Check the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Return timeout status */ + return HAL_TIMEOUT; + } + } + } + + /* Clear short circuit detection flag */ + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRSCDF_OFFSET + channel)); + + /* Return function status */ + return HAL_OK; + } +} + +/** + * @brief This function allows to stop short circuit detection in polling mode. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStop(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t channel; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop short circuit detection */ + hdfsdm_channel->Instance->CHCFGR1 &= ~(DFSDM_CHCFGR1_SCDEN); + + /* Clear short circuit detection flag */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRSCDF_OFFSET + channel)); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start short circuit detection in interrupt mode. + * @note Same mode has to be used for all channels + * @param hdfsdm_channel : DFSDM channel handle. + * @param Threshold : Short circuit detector threshold. + * This parameter must be a number between Min_Data = 0 and Max_Data = 255. + * @param BreakSignal : Break signals assigned to short circuit event. + * This parameter can be a values combination of @ref DFSDM_BreakSignals. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStart_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, + uint32_t Threshold, + uint32_t BreakSignal) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + assert_param(IS_DFSDM_CHANNEL_SCD_THRESHOLD(Threshold)); + assert_param(IS_DFSDM_BREAK_SIGNALS(BreakSignal)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Activate short circuit detection interrupt */ + DFSDM1_Filter0->FLTCR2 |= DFSDM_FLTCR2_SCDIE; + + /* Configure threshold and break signals */ + hdfsdm_channel->Instance->CHAWSCDR &= ~(DFSDM_CHAWSCDR_BKSCD | DFSDM_CHAWSCDR_SCDT); + hdfsdm_channel->Instance->CHAWSCDR |= ((BreakSignal << DFSDM_CHAWSCDR_BKSCD_OFFSET) | \ + Threshold); + + /* Start short circuit detection */ + hdfsdm_channel->Instance->CHCFGR1 |= DFSDM_CHCFGR1_SCDEN; + } + /* Return function status */ + return status; +} + +/** + * @brief Short circuit detection callback. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval None + */ +__weak void HAL_DFSDM_ChannelScdCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_channel); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_ChannelScdCallback could be implemented in the user file + */ +} + +/** + * @brief This function allows to stop short circuit detection in interrupt mode. + * @note Interrupt will be disabled for all channels + * @param hdfsdm_channel : DFSDM channel handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelScdStop_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t channel; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop short circuit detection */ + hdfsdm_channel->Instance->CHCFGR1 &= ~(DFSDM_CHCFGR1_SCDEN); + + /* Clear short circuit detection flag */ + channel = DFSDM_GetChannelFromInstance(hdfsdm_channel->Instance); + DFSDM1_Filter0->FLTICR = (1 << (DFSDM_FLTICR_CLRSCDF_OFFSET + channel)); + + /* Disable short circuit detection interrupt */ + DFSDM1_Filter0->FLTCR2 &= ~(DFSDM_FLTCR2_SCDIE); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to get channel analog watchdog value. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval Channel analog watchdog value. + */ +int16_t HAL_DFSDM_ChannelGetAwdValue(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + return (int16_t) hdfsdm_channel->Instance->CHWDATAR; +} + +/** + * @brief This function allows to modify channel offset value. + * @param hdfsdm_channel : DFSDM channel handle. + * @param Offset : DFSDM channel offset. + * This parameter must be a number between Min_Data = -8388608 and Max_Data = 8388607. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_DFSDM_ChannelModifyOffset(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, + int32_t Offset) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_CHANNEL_ALL_INSTANCE(hdfsdm_channel->Instance)); + assert_param(IS_DFSDM_CHANNEL_OFFSET(Offset)); + + /* Check DFSDM channel state */ + if(hdfsdm_channel->State != HAL_DFSDM_CHANNEL_STATE_READY) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Modify channel offset */ + hdfsdm_channel->Instance->CHCFGR2 &= ~(DFSDM_CHCFGR2_OFFSET); + hdfsdm_channel->Instance->CHCFGR2 |= ((uint32_t) Offset << DFSDM_CHCFGR2_OFFSET_OFFSET); + } + /* Return function status */ + return status; +} + +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group3_Channel Channel state function + * @brief Channel state function + * +@verbatim + ============================================================================== + ##### Channel state function ##### + ============================================================================== + [..] This section provides function allowing to: + (+) Get channel handle state. +@endverbatim + * @{ + */ + +/** + * @brief This function allows to get the current DFSDM channel handle state. + * @param hdfsdm_channel : DFSDM channel handle. + * @retval DFSDM channel state. + */ +HAL_DFSDM_Channel_StateTypeDef HAL_DFSDM_ChannelGetState(DFSDM_Channel_HandleTypeDef *hdfsdm_channel) +{ + /* Return DFSDM channel handle state */ + return hdfsdm_channel->State; +} + +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group1_Filter Filter initialization and de-initialization functions + * @brief Filter initialization and de-initialization functions + * +@verbatim + ============================================================================== + ##### Filter initialization and de-initialization functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the DFSDM filter. + (+) De-initialize the DFSDM filter. +@endverbatim + * @{ + */ + +/** + * @brief Initialize the DFSDM filter according to the specified parameters + * in the DFSDM_FilterInitTypeDef structure and initialize the associated handle. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Check DFSDM Channel handle */ + if(hdfsdm_filter == NULL) + { + return HAL_ERROR; + } + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(IS_DFSDM_FILTER_REG_TRIGGER(hdfsdm_filter->Init.RegularParam.Trigger)); + assert_param(IS_FUNCTIONAL_STATE(hdfsdm_filter->Init.RegularParam.FastMode)); + assert_param(IS_FUNCTIONAL_STATE(hdfsdm_filter->Init.RegularParam.DmaMode)); + assert_param(IS_DFSDM_FILTER_INJ_TRIGGER(hdfsdm_filter->Init.InjectedParam.Trigger)); + assert_param(IS_FUNCTIONAL_STATE(hdfsdm_filter->Init.InjectedParam.ScanMode)); + assert_param(IS_FUNCTIONAL_STATE(hdfsdm_filter->Init.InjectedParam.DmaMode)); + assert_param(IS_DFSDM_FILTER_SINC_ORDER(hdfsdm_filter->Init.FilterParam.SincOrder)); + assert_param(IS_DFSDM_FILTER_OVS_RATIO(hdfsdm_filter->Init.FilterParam.Oversampling)); + assert_param(IS_DFSDM_FILTER_INTEGRATOR_OVS_RATIO(hdfsdm_filter->Init.FilterParam.IntOversampling)); + + /* Check parameters compatibility */ + if((hdfsdm_filter->Instance == DFSDM1_Filter0) && + ((hdfsdm_filter->Init.RegularParam.Trigger == DFSDM_FILTER_SYNC_TRIGGER) || + (hdfsdm_filter->Init.InjectedParam.Trigger == DFSDM_FILTER_SYNC_TRIGGER))) + { + return HAL_ERROR; + } + + /* Initialize DFSDM filter variables with default values */ + hdfsdm_filter->RegularContMode = DFSDM_CONTINUOUS_CONV_OFF; + hdfsdm_filter->InjectedChannelsNbr = 1; + hdfsdm_filter->InjConvRemaining = 1; + hdfsdm_filter->ErrorCode = DFSDM_FILTER_ERROR_NONE; + + /* Call MSP init function */ + HAL_DFSDM_FilterMspInit(hdfsdm_filter); + + /* Set regular parameters */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_RSYNC); + if(hdfsdm_filter->Init.RegularParam.FastMode == ENABLE) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_FAST; + } + else + { + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_FAST); + } + + if(hdfsdm_filter->Init.RegularParam.DmaMode == ENABLE) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_RDMAEN; + } + else + { + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_RDMAEN); + } + + /* Set injected parameters */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_JSYNC | DFSDM_FLTCR1_JEXTEN | DFSDM_FLTCR1_JEXTSEL); + if(hdfsdm_filter->Init.InjectedParam.Trigger == DFSDM_FILTER_EXT_TRIGGER) + { + assert_param(IS_DFSDM_FILTER_EXT_TRIG(hdfsdm_filter->Init.InjectedParam.ExtTrigger)); + assert_param(IS_DFSDM_FILTER_EXT_TRIG_EDGE(hdfsdm_filter->Init.InjectedParam.ExtTriggerEdge)); + hdfsdm_filter->Instance->FLTCR1 |= (hdfsdm_filter->Init.InjectedParam.ExtTrigger); + } + + if(hdfsdm_filter->Init.InjectedParam.ScanMode == ENABLE) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_JSCAN; + } + else + { + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_JSCAN); + } + + if(hdfsdm_filter->Init.InjectedParam.DmaMode == ENABLE) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_JDMAEN; + } + else + { + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_JDMAEN); + } + + /* Set filter parameters */ + hdfsdm_filter->Instance->FLTFCR &= ~(DFSDM_FLTFCR_FORD | DFSDM_FLTFCR_FOSR | DFSDM_FLTFCR_IOSR); + hdfsdm_filter->Instance->FLTFCR |= (hdfsdm_filter->Init.FilterParam.SincOrder | + ((hdfsdm_filter->Init.FilterParam.Oversampling - 1) << DFSDM_FLTFCR_FOSR_OFFSET) | + (hdfsdm_filter->Init.FilterParam.IntOversampling - 1)); + + /* Store regular and injected triggers and injected scan mode*/ + hdfsdm_filter->RegularTrigger = hdfsdm_filter->Init.RegularParam.Trigger; + hdfsdm_filter->InjectedTrigger = hdfsdm_filter->Init.InjectedParam.Trigger; + hdfsdm_filter->ExtTriggerEdge = hdfsdm_filter->Init.InjectedParam.ExtTriggerEdge; + hdfsdm_filter->InjectedScanMode = hdfsdm_filter->Init.InjectedParam.ScanMode; + + /* Enable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_DFEN; + + /* Set DFSDM filter to ready state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_READY; + + return HAL_OK; +} + +/** + * @brief De-initializes the DFSDM filter. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_DFSDM_FilterDeInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Check DFSDM filter handle */ + if(hdfsdm_filter == NULL) + { + return HAL_ERROR; + } + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Disable the DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_DFEN); + + /* Call MSP deinit function */ + HAL_DFSDM_FilterMspDeInit(hdfsdm_filter); + + /* Set DFSDM filter in reset state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_RESET; + + return HAL_OK; +} + +/** + * @brief Initializes the DFSDM filter MSP. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +__weak void HAL_DFSDM_FilterMspInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + + /* NOTE : This function should not be modified, when the function is needed, + the HAL_DFSDM_FilterMspInit could be implemented in the user file. + */ +} + +/** + * @brief De-initializes the DFSDM filter MSP. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +__weak void HAL_DFSDM_FilterMspDeInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + + /* NOTE : This function should not be modified, when the function is needed, + the HAL_DFSDM_FilterMspDeInit could be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group2_Filter Filter control functions + * @brief Filter control functions + * +@verbatim + ============================================================================== + ##### Filter control functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Select channel and enable/disable continuous mode for regular conversion. + (+) Select channels for injected conversion. +@endverbatim + * @{ + */ + +/** + * @brief This function allows to select channel and to enable/disable + * continuous mode for regular conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Channel for regular conversion. + * This parameter can be a value of @ref DFSDM_Channel_Selection. + * @param ContinuousMode : Enable/disable continuous mode for regular conversion. + * This parameter can be a value of @ref DFSDM_ContinuousMode. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterConfigRegChannel(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Channel, + uint32_t ContinuousMode) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(IS_DFSDM_REGULAR_CHANNEL(Channel)); + assert_param(IS_DFSDM_CONTINUOUS_MODE(ContinuousMode)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_RESET) && + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_ERROR)) + { + /* Configure channel and continuous mode for regular conversion */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_RCH | DFSDM_FLTCR1_RCONT); + if(ContinuousMode == DFSDM_CONTINUOUS_CONV_ON) + { + hdfsdm_filter->Instance->FLTCR1 |= (uint32_t) (((Channel & DFSDM_MSB_MASK) << DFSDM_FLTCR1_MSB_RCH_OFFSET) | + DFSDM_FLTCR1_RCONT); + } + else + { + hdfsdm_filter->Instance->FLTCR1 |= (uint32_t) ((Channel & DFSDM_MSB_MASK) << DFSDM_FLTCR1_MSB_RCH_OFFSET); + } + /* Store continuous mode information */ + hdfsdm_filter->RegularContMode = ContinuousMode; + } + else + { + status = HAL_ERROR; + } + + /* Return function status */ + return status; +} + +/** + * @brief This function allows to select channels for injected conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Channels for injected conversion. + * This parameter can be a values combination of @ref DFSDM_Channel_Selection. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterConfigInjChannel(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Channel) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(IS_DFSDM_INJECTED_CHANNEL(Channel)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_RESET) && + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_ERROR)) + { + /* Configure channel for injected conversion */ + hdfsdm_filter->Instance->FLTJCHGR = (uint32_t) (Channel & DFSDM_LSB_MASK); + /* Store number of injected channels */ + hdfsdm_filter->InjectedChannelsNbr = DFSDM_GetInjChannelsNbr(Channel); + /* Update number of injected channels remaining */ + hdfsdm_filter->InjConvRemaining = (hdfsdm_filter->InjectedScanMode == ENABLE) ? \ + hdfsdm_filter->InjectedChannelsNbr : 1; + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group3_Filter Filter operation functions + * @brief Filter operation functions + * +@verbatim + ============================================================================== + ##### Filter operation functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Start conversion of regular/injected channel. + (+) Poll for the end of regular/injected conversion. + (+) Stop conversion of regular/injected channel. + (+) Start conversion of regular/injected channel and enable interrupt. + (+) Call the callback functions at the end of regular/injected conversions. + (+) Stop conversion of regular/injected channel and disable interrupt. + (+) Start conversion of regular/injected channel and enable DMA transfer. + (+) Stop conversion of regular/injected channel and disable DMA transfer. + (+) Start analog watchdog and enable interrupt. + (+) Call the callback function when analog watchdog occurs. + (+) Stop analog watchdog and disable interrupt. + (+) Start extreme detector. + (+) Stop extreme detector. + (+) Get result of regular channel conversion. + (+) Get result of injected channel conversion. + (+) Get extreme detector maximum and minimum values. + (+) Get conversion time. + (+) Handle DFSDM interrupt request. +@endverbatim + * @{ + */ + +/** + * @brief This function allows to start regular conversion in polling mode. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if injected conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ)) + { + /* Start regular conversion */ + DFSDM_RegConvStart(hdfsdm_filter); + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to poll for the end of regular conversion. + * @note This function should be called only if regular conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Timeout : Timeout value in milliseconds. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterPollForRegConversion(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Timeout) +{ + uint32_t tickstart; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + return HAL_ERROR; + } + else + { + /* Get timeout */ + tickstart = HAL_GetTick(); + + /* Wait end of regular conversion */ + while((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_REOCF) != DFSDM_FLTISR_REOCF) + { + /* Check the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Return timeout status */ + return HAL_TIMEOUT; + } + } + } + /* Check if overrun occurs */ + if((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_ROVRF) == DFSDM_FLTISR_ROVRF) + { + /* Update error code and call error callback */ + hdfsdm_filter->ErrorCode = DFSDM_FILTER_ERROR_REGULAR_OVERRUN; + HAL_DFSDM_FilterErrorCallback(hdfsdm_filter); + + /* Clear regular overrun flag */ + hdfsdm_filter->Instance->FLTICR = DFSDM_FLTICR_CLRROVRF; + } + /* Update DFSDM filter state only if not continuous conversion and SW trigger */ + if((hdfsdm_filter->RegularContMode == DFSDM_CONTINUOUS_CONV_OFF) && \ + (hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER)) + { + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG) ? \ + HAL_DFSDM_FILTER_STATE_READY : HAL_DFSDM_FILTER_STATE_INJ; + } + /* Return function status */ + return HAL_OK; + } +} + +/** + * @brief This function allows to stop regular conversion in polling mode. + * @note This function should be called only if regular conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop regular conversion */ + DFSDM_RegConvStop(hdfsdm_filter); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start regular conversion in interrupt mode. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if injected conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ)) + { + /* Enable interrupts for regular conversions */ + hdfsdm_filter->Instance->FLTCR2 |= (DFSDM_FLTCR2_REOCIE | DFSDM_FLTCR2_ROVRIE); + + /* Start regular conversion */ + DFSDM_RegConvStart(hdfsdm_filter); + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to stop regular conversion in interrupt mode. + * @note This function should be called only if regular conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Disable interrupts for regular conversions */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_REOCIE | DFSDM_FLTCR2_ROVRIE); + + /* Stop regular conversion */ + DFSDM_RegConvStop(hdfsdm_filter); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start regular conversion in DMA mode. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if injected conversion is ongoing. + * Please note that data on buffer will contain signed regular conversion + * value on 24 most significant bits and corresponding channel on 3 least + * significant bits. + * @param hdfsdm_filter : DFSDM filter handle. + * @param pData : The destination buffer address. + * @param Length : The length of data to be transferred from DFSDM filter to memory. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + int32_t *pData, + uint32_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check destination address and length */ + if((pData == NULL) || (Length == 0)) + { + status = HAL_ERROR; + } + /* Check that DMA is enabled for regular conversion */ + else if((hdfsdm_filter->Instance->FLTCR1 & DFSDM_FLTCR1_RDMAEN) != DFSDM_FLTCR1_RDMAEN) + { + status = HAL_ERROR; + } + /* Check parameters compatibility */ + else if((hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->RegularContMode == DFSDM_CONTINUOUS_CONV_OFF) && \ + (hdfsdm_filter->hdmaReg->Init.Mode == DMA_NORMAL) && \ + (Length != 1)) + { + status = HAL_ERROR; + } + else if((hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->RegularContMode == DFSDM_CONTINUOUS_CONV_OFF) && \ + (hdfsdm_filter->hdmaReg->Init.Mode == DMA_CIRCULAR)) + { + status = HAL_ERROR; + } + /* Check DFSDM filter state */ + else if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ)) + { + /* Set callbacks on DMA handler */ + hdfsdm_filter->hdmaReg->XferCpltCallback = DFSDM_DMARegularConvCplt; + hdfsdm_filter->hdmaReg->XferErrorCallback = DFSDM_DMAError; + hdfsdm_filter->hdmaReg->XferHalfCpltCallback = (hdfsdm_filter->hdmaReg->Init.Mode == DMA_CIRCULAR) ?\ + DFSDM_DMARegularHalfConvCplt : NULL; + + /* Start DMA in interrupt mode */ + if(HAL_DMA_Start_IT(hdfsdm_filter->hdmaReg, (uint32_t)&hdfsdm_filter->Instance->FLTRDATAR, \ + (uint32_t) pData, Length) != HAL_OK) + { + /* Set DFSDM filter in error state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_ERROR; + status = HAL_ERROR; + } + else + { + /* Start regular conversion */ + DFSDM_RegConvStart(hdfsdm_filter); + } + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start regular conversion in DMA mode and to get + * only the 16 most significant bits of conversion. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if injected conversion is ongoing. + * Please note that data on buffer will contain signed 16 most significant + * bits of regular conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @param pData : The destination buffer address. + * @param Length : The length of data to be transferred from DFSDM filter to memory. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularMsbStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + int16_t *pData, + uint32_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check destination address and length */ + if((pData == NULL) || (Length == 0)) + { + status = HAL_ERROR; + } + /* Check that DMA is enabled for regular conversion */ + else if((hdfsdm_filter->Instance->FLTCR1 & DFSDM_FLTCR1_RDMAEN) != DFSDM_FLTCR1_RDMAEN) + { + status = HAL_ERROR; + } + /* Check parameters compatibility */ + else if((hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->RegularContMode == DFSDM_CONTINUOUS_CONV_OFF) && \ + (hdfsdm_filter->hdmaReg->Init.Mode == DMA_NORMAL) && \ + (Length != 1)) + { + status = HAL_ERROR; + } + else if((hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->RegularContMode == DFSDM_CONTINUOUS_CONV_OFF) && \ + (hdfsdm_filter->hdmaReg->Init.Mode == DMA_CIRCULAR)) + { + status = HAL_ERROR; + } + /* Check DFSDM filter state */ + else if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ)) + { + /* Set callbacks on DMA handler */ + hdfsdm_filter->hdmaReg->XferCpltCallback = DFSDM_DMARegularConvCplt; + hdfsdm_filter->hdmaReg->XferErrorCallback = DFSDM_DMAError; + hdfsdm_filter->hdmaReg->XferHalfCpltCallback = (hdfsdm_filter->hdmaReg->Init.Mode == DMA_CIRCULAR) ?\ + DFSDM_DMARegularHalfConvCplt : NULL; + + /* Start DMA in interrupt mode */ + if(HAL_DMA_Start_IT(hdfsdm_filter->hdmaReg, (uint32_t)(&hdfsdm_filter->Instance->FLTRDATAR) + 2, \ + (uint32_t) pData, Length) != HAL_OK) + { + /* Set DFSDM filter in error state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_ERROR; + status = HAL_ERROR; + } + else + { + /* Start regular conversion */ + DFSDM_RegConvStart(hdfsdm_filter); + } + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to stop regular conversion in DMA mode. + * @note This function should be called only if regular conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop current DMA transfer */ + if(HAL_DMA_Abort(hdfsdm_filter->hdmaReg) != HAL_OK) + { + /* Set DFSDM filter in error state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_ERROR; + status = HAL_ERROR; + } + else + { + /* Stop regular conversion */ + DFSDM_RegConvStop(hdfsdm_filter); + } + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to get regular conversion value. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Corresponding channel of regular conversion. + * @retval Regular conversion value + */ +int32_t HAL_DFSDM_FilterGetRegularValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t *Channel) +{ + uint32_t reg = 0; + int32_t value = 0; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(Channel != NULL); + + /* Get value of data register for regular channel */ + reg = hdfsdm_filter->Instance->FLTRDATAR; + + /* Extract channel and regular conversion value */ + *Channel = (reg & DFSDM_FLTRDATAR_RDATACH); + value = ((int32_t)(reg & DFSDM_FLTRDATAR_RDATA) >> DFSDM_FLTRDATAR_DATA_OFFSET); + + /* return regular conversion value */ + return value; +} + +/** + * @brief This function allows to start injected conversion in polling mode. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if regular conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG)) + { + /* Start injected conversion */ + DFSDM_InjConvStart(hdfsdm_filter); + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to poll for the end of injected conversion. + * @note This function should be called only if injected conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Timeout : Timeout value in milliseconds. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterPollForInjConversion(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Timeout) +{ + uint32_t tickstart; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_INJ) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + return HAL_ERROR; + } + else + { + /* Get timeout */ + tickstart = HAL_GetTick(); + + /* Wait end of injected conversions */ + while((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_JEOCF) != DFSDM_FLTISR_JEOCF) + { + /* Check the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Return timeout status */ + return HAL_TIMEOUT; + } + } + } + /* Check if overrun occurs */ + if((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_JOVRF) == DFSDM_FLTISR_JOVRF) + { + /* Update error code and call error callback */ + hdfsdm_filter->ErrorCode = DFSDM_FILTER_ERROR_INJECTED_OVERRUN; + HAL_DFSDM_FilterErrorCallback(hdfsdm_filter); + + /* Clear injected overrun flag */ + hdfsdm_filter->Instance->FLTICR = DFSDM_FLTICR_CLRJOVRF; + } + + /* Update remaining injected conversions */ + hdfsdm_filter->InjConvRemaining--; + if(hdfsdm_filter->InjConvRemaining == 0) + { + /* Update DFSDM filter state only if trigger is software */ + if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) + { + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ) ? \ + HAL_DFSDM_FILTER_STATE_READY : HAL_DFSDM_FILTER_STATE_REG; + } + + /* end of injected sequence, reset the value */ + hdfsdm_filter->InjConvRemaining = (hdfsdm_filter->InjectedScanMode == ENABLE) ? \ + hdfsdm_filter->InjectedChannelsNbr : 1; + } + + /* Return function status */ + return HAL_OK; + } +} + +/** + * @brief This function allows to stop injected conversion in polling mode. + * @note This function should be called only if injected conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_INJ) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop injected conversion */ + DFSDM_InjConvStop(hdfsdm_filter); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start injected conversion in interrupt mode. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if regular conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG)) + { + /* Enable interrupts for injected conversions */ + hdfsdm_filter->Instance->FLTCR2 |= (DFSDM_FLTCR2_JEOCIE | DFSDM_FLTCR2_JOVRIE); + + /* Start injected conversion */ + DFSDM_InjConvStart(hdfsdm_filter); + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to stop injected conversion in interrupt mode. + * @note This function should be called only if injected conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_INJ) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Disable interrupts for injected conversions */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_JEOCIE | DFSDM_FLTCR2_JOVRIE); + + /* Stop injected conversion */ + DFSDM_InjConvStop(hdfsdm_filter); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start injected conversion in DMA mode. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if regular conversion is ongoing. + * Please note that data on buffer will contain signed injected conversion + * value on 24 most significant bits and corresponding channel on 3 least + * significant bits. + * @param hdfsdm_filter : DFSDM filter handle. + * @param pData : The destination buffer address. + * @param Length : The length of data to be transferred from DFSDM filter to memory. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + int32_t *pData, + uint32_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check destination address and length */ + if((pData == NULL) || (Length == 0)) + { + status = HAL_ERROR; + } + /* Check that DMA is enabled for injected conversion */ + else if((hdfsdm_filter->Instance->FLTCR1 & DFSDM_FLTCR1_JDMAEN) != DFSDM_FLTCR1_JDMAEN) + { + status = HAL_ERROR; + } + /* Check parameters compatibility */ + else if((hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->hdmaInj->Init.Mode == DMA_NORMAL) && \ + (Length > hdfsdm_filter->InjConvRemaining)) + { + status = HAL_ERROR; + } + else if((hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->hdmaInj->Init.Mode == DMA_CIRCULAR)) + { + status = HAL_ERROR; + } + /* Check DFSDM filter state */ + else if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG)) + { + /* Set callbacks on DMA handler */ + hdfsdm_filter->hdmaInj->XferCpltCallback = DFSDM_DMAInjectedConvCplt; + hdfsdm_filter->hdmaInj->XferErrorCallback = DFSDM_DMAError; + hdfsdm_filter->hdmaInj->XferHalfCpltCallback = (hdfsdm_filter->hdmaInj->Init.Mode == DMA_CIRCULAR) ?\ + DFSDM_DMAInjectedHalfConvCplt : NULL; + + /* Start DMA in interrupt mode */ + if(HAL_DMA_Start_IT(hdfsdm_filter->hdmaInj, (uint32_t)&hdfsdm_filter->Instance->FLTJDATAR, \ + (uint32_t) pData, Length) != HAL_OK) + { + /* Set DFSDM filter in error state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_ERROR; + status = HAL_ERROR; + } + else + { + /* Start injected conversion */ + DFSDM_InjConvStart(hdfsdm_filter); + } + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start injected conversion in DMA mode and to get + * only the 16 most significant bits of conversion. + * @note This function should be called only when DFSDM filter instance is + * in idle state or if regular conversion is ongoing. + * Please note that data on buffer will contain signed 16 most significant + * bits of injected conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @param pData : The destination buffer address. + * @param Length : The length of data to be transferred from DFSDM filter to memory. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedMsbStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + int16_t *pData, + uint32_t Length) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check destination address and length */ + if((pData == NULL) || (Length == 0)) + { + status = HAL_ERROR; + } + /* Check that DMA is enabled for injected conversion */ + else if((hdfsdm_filter->Instance->FLTCR1 & DFSDM_FLTCR1_JDMAEN) != DFSDM_FLTCR1_JDMAEN) + { + status = HAL_ERROR; + } + /* Check parameters compatibility */ + else if((hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->hdmaInj->Init.Mode == DMA_NORMAL) && \ + (Length > hdfsdm_filter->InjConvRemaining)) + { + status = HAL_ERROR; + } + else if((hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) && \ + (hdfsdm_filter->hdmaInj->Init.Mode == DMA_CIRCULAR)) + { + status = HAL_ERROR; + } + /* Check DFSDM filter state */ + else if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG)) + { + /* Set callbacks on DMA handler */ + hdfsdm_filter->hdmaInj->XferCpltCallback = DFSDM_DMAInjectedConvCplt; + hdfsdm_filter->hdmaInj->XferErrorCallback = DFSDM_DMAError; + hdfsdm_filter->hdmaInj->XferHalfCpltCallback = (hdfsdm_filter->hdmaInj->Init.Mode == DMA_CIRCULAR) ?\ + DFSDM_DMAInjectedHalfConvCplt : NULL; + + /* Start DMA in interrupt mode */ + if(HAL_DMA_Start_IT(hdfsdm_filter->hdmaInj, (uint32_t)(&hdfsdm_filter->Instance->FLTJDATAR) + 2, \ + (uint32_t) pData, Length) != HAL_OK) + { + /* Set DFSDM filter in error state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_ERROR; + status = HAL_ERROR; + } + else + { + /* Start injected conversion */ + DFSDM_InjConvStart(hdfsdm_filter); + } + } + else + { + status = HAL_ERROR; + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to stop injected conversion in DMA mode. + * @note This function should be called only if injected conversion is ongoing. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_INJ) && \ + (hdfsdm_filter->State != HAL_DFSDM_FILTER_STATE_REG_INJ)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Stop current DMA transfer */ + if(HAL_DMA_Abort(hdfsdm_filter->hdmaInj) != HAL_OK) + { + /* Set DFSDM filter in error state */ + hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_ERROR; + status = HAL_ERROR; + } + else + { + /* Stop regular conversion */ + DFSDM_InjConvStop(hdfsdm_filter); + } + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to get injected conversion value. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Corresponding channel of injected conversion. + * @retval Injected conversion value + */ +int32_t HAL_DFSDM_FilterGetInjectedValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t *Channel) +{ + uint32_t reg = 0; + int32_t value = 0; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(Channel != NULL); + + /* Get value of data register for injected channel */ + reg = hdfsdm_filter->Instance->FLTJDATAR; + + /* Extract channel and injected conversion value */ + *Channel = (reg & DFSDM_FLTJDATAR_JDATACH); + value = ((int32_t)(reg & DFSDM_FLTJDATAR_JDATA) >> DFSDM_FLTJDATAR_DATA_OFFSET); + + /* return regular conversion value */ + return value; +} + +/** + * @brief This function allows to start filter analog watchdog in interrupt mode. + * @param hdfsdm_filter : DFSDM filter handle. + * @param awdParam : DFSDM filter analog watchdog parameters. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterAwdStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + DFSDM_Filter_AwdParamTypeDef *awdParam) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(IS_DFSDM_FILTER_AWD_DATA_SOURCE(awdParam->DataSource)); + assert_param(IS_DFSDM_INJECTED_CHANNEL(awdParam->Channel)); + assert_param(IS_DFSDM_FILTER_AWD_THRESHOLD(awdParam->HighThreshold)); + assert_param(IS_DFSDM_FILTER_AWD_THRESHOLD(awdParam->LowThreshold)); + assert_param(IS_DFSDM_BREAK_SIGNALS(awdParam->HighBreakSignal)); + assert_param(IS_DFSDM_BREAK_SIGNALS(awdParam->LowBreakSignal)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_RESET) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_ERROR)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Set analog watchdog data source */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_AWFSEL); + hdfsdm_filter->Instance->FLTCR1 |= awdParam->DataSource; + + /* Set thresholds and break signals */ + hdfsdm_filter->Instance->FLTAWHTR &= ~(DFSDM_FLTAWHTR_AWHT | DFSDM_FLTAWHTR_BKAWH); + hdfsdm_filter->Instance->FLTAWHTR |= (((uint32_t) awdParam->HighThreshold << DFSDM_FLTAWHTR_THRESHOLD_OFFSET) | \ + awdParam->HighBreakSignal); + hdfsdm_filter->Instance->FLTAWLTR &= ~(DFSDM_FLTAWLTR_AWLT | DFSDM_FLTAWLTR_BKAWL); + hdfsdm_filter->Instance->FLTAWLTR |= (((uint32_t) awdParam->LowThreshold << DFSDM_FLTAWLTR_THRESHOLD_OFFSET) | \ + awdParam->LowBreakSignal); + + /* Set channels and interrupt for analog watchdog */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_AWDCH); + hdfsdm_filter->Instance->FLTCR2 |= (((awdParam->Channel & DFSDM_LSB_MASK) << DFSDM_FLTCR2_AWDCH_OFFSET) | \ + DFSDM_FLTCR2_AWDIE); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to stop filter analog watchdog in interrupt mode. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterAwdStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_RESET) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_ERROR)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Reset channels for analog watchdog and deactivate interrupt */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_AWDCH | DFSDM_FLTCR2_AWDIE); + + /* Clear all analog watchdog flags */ + hdfsdm_filter->Instance->FLTAWCFR = (DFSDM_FLTAWCFR_CLRAWHTF | DFSDM_FLTAWCFR_CLRAWLTF); + + /* Reset thresholds and break signals */ + hdfsdm_filter->Instance->FLTAWHTR &= ~(DFSDM_FLTAWHTR_AWHT | DFSDM_FLTAWHTR_BKAWH); + hdfsdm_filter->Instance->FLTAWLTR &= ~(DFSDM_FLTAWLTR_AWLT | DFSDM_FLTAWLTR_BKAWL); + + /* Reset analog watchdog data source */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_AWFSEL); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to start extreme detector feature. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Channels where extreme detector is enabled. + * This parameter can be a values combination of @ref DFSDM_Channel_Selection. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterExdStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Channel) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(IS_DFSDM_INJECTED_CHANNEL(Channel)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_RESET) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_ERROR)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Set channels for extreme detector */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_EXCH); + hdfsdm_filter->Instance->FLTCR2 |= ((Channel & DFSDM_LSB_MASK) << DFSDM_FLTCR2_EXCH_OFFSET); + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to stop extreme detector feature. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DFSDM_FilterExdStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + HAL_StatusTypeDef status = HAL_OK; + __IO uint32_t reg1; + __IO uint32_t reg2; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Check DFSDM filter state */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_RESET) || \ + (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_ERROR)) + { + /* Return error status */ + status = HAL_ERROR; + } + else + { + /* Reset channels for extreme detector */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_EXCH); + + /* Clear extreme detector values */ + reg1 = hdfsdm_filter->Instance->FLTEXMAX; + reg2 = hdfsdm_filter->Instance->FLTEXMIN; + UNUSED(reg1); /* To avoid GCC warning */ + UNUSED(reg2); /* To avoid GCC warning */ + } + /* Return function status */ + return status; +} + +/** + * @brief This function allows to get extreme detector maximum value. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Corresponding channel. + * @retval Extreme detector maximum value + * This value is between Min_Data = -8388608 and Max_Data = 8388607. + */ +int32_t HAL_DFSDM_FilterGetExdMaxValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t *Channel) +{ + uint32_t reg = 0; + int32_t value = 0; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(Channel != NULL); + + /* Get value of extreme detector maximum register */ + reg = hdfsdm_filter->Instance->FLTEXMAX; + + /* Extract channel and extreme detector maximum value */ + *Channel = (reg & DFSDM_FLTEXMAX_EXMAXCH); + value = ((int32_t)(reg & DFSDM_FLTEXMAX_EXMAX) >> DFSDM_FLTEXMAX_DATA_OFFSET); + + /* return extreme detector maximum value */ + return value; +} + +/** + * @brief This function allows to get extreme detector minimum value. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Corresponding channel. + * @retval Extreme detector minimum value + * This value is between Min_Data = -8388608 and Max_Data = 8388607. + */ +int32_t HAL_DFSDM_FilterGetExdMinValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t *Channel) +{ + uint32_t reg = 0; + int32_t value = 0; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + assert_param(Channel != NULL); + + /* Get value of extreme detector minimum register */ + reg = hdfsdm_filter->Instance->FLTEXMIN; + + /* Extract channel and extreme detector minimum value */ + *Channel = (reg & DFSDM_FLTEXMIN_EXMINCH); + value = ((int32_t)(reg & DFSDM_FLTEXMIN_EXMIN) >> DFSDM_FLTEXMIN_DATA_OFFSET); + + /* return extreme detector minimum value */ + return value; +} + +/** + * @brief This function allows to get conversion time value. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval Conversion time value + * @note To get time in second, this value has to be divided by DFSDM clock frequency. + */ +uint32_t HAL_DFSDM_FilterGetConvTimeValue(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + uint32_t reg = 0; + uint32_t value = 0; + + /* Check parameters */ + assert_param(IS_DFSDM_FILTER_ALL_INSTANCE(hdfsdm_filter->Instance)); + + /* Get value of conversion timer register */ + reg = hdfsdm_filter->Instance->FLTCNVTIMR; + + /* Extract conversion time value */ + value = ((reg & DFSDM_FLTCNVTIMR_CNVCNT) >> DFSDM_FLTCNVTIMR_DATA_OFFSET); + + /* return extreme detector minimum value */ + return value; +} + +/** + * @brief This function handles the DFSDM interrupts. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +void HAL_DFSDM_IRQHandler(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Check if overrun occurs during regular conversion */ + if(((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_ROVRF) != 0) && \ + ((hdfsdm_filter->Instance->FLTCR2 & DFSDM_FLTCR2_ROVRIE) != 0)) + { + /* Clear regular overrun flag */ + hdfsdm_filter->Instance->FLTICR = DFSDM_FLTICR_CLRROVRF; + + /* Update error code */ + hdfsdm_filter->ErrorCode = DFSDM_FILTER_ERROR_REGULAR_OVERRUN; + + /* Call error callback */ + HAL_DFSDM_FilterErrorCallback(hdfsdm_filter); + } + /* Check if overrun occurs during injected conversion */ + else if(((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_JOVRF) != 0) && \ + ((hdfsdm_filter->Instance->FLTCR2 & DFSDM_FLTCR2_JOVRIE) != 0)) + { + /* Clear injected overrun flag */ + hdfsdm_filter->Instance->FLTICR = DFSDM_FLTICR_CLRJOVRF; + + /* Update error code */ + hdfsdm_filter->ErrorCode = DFSDM_FILTER_ERROR_INJECTED_OVERRUN; + + /* Call error callback */ + HAL_DFSDM_FilterErrorCallback(hdfsdm_filter); + } + /* Check if end of regular conversion */ + else if(((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_REOCF) != 0) && \ + ((hdfsdm_filter->Instance->FLTCR2 & DFSDM_FLTCR2_REOCIE) != 0)) + { + /* Call regular conversion complete callback */ + HAL_DFSDM_FilterRegConvCpltCallback(hdfsdm_filter); + + /* End of conversion if mode is not continuous and software trigger */ + if((hdfsdm_filter->RegularContMode == DFSDM_CONTINUOUS_CONV_OFF) && \ + (hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER)) + { + /* Disable interrupts for regular conversions */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_REOCIE); + + /* Update DFSDM filter state */ + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG) ? \ + HAL_DFSDM_FILTER_STATE_READY : HAL_DFSDM_FILTER_STATE_INJ; + } + } + /* Check if end of injected conversion */ + else if(((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_JEOCF) != 0) && \ + ((hdfsdm_filter->Instance->FLTCR2 & DFSDM_FLTCR2_JEOCIE) != 0)) + { + /* Call injected conversion complete callback */ + HAL_DFSDM_FilterInjConvCpltCallback(hdfsdm_filter); + + /* Update remaining injected conversions */ + hdfsdm_filter->InjConvRemaining--; + if(hdfsdm_filter->InjConvRemaining == 0) + { + /* End of conversion if trigger is software */ + if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) + { + /* Disable interrupts for injected conversions */ + hdfsdm_filter->Instance->FLTCR2 &= ~(DFSDM_FLTCR2_JEOCIE); + + /* Update DFSDM filter state */ + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ) ? \ + HAL_DFSDM_FILTER_STATE_READY : HAL_DFSDM_FILTER_STATE_REG; + } + /* end of injected sequence, reset the value */ + hdfsdm_filter->InjConvRemaining = (hdfsdm_filter->InjectedScanMode == ENABLE) ? \ + hdfsdm_filter->InjectedChannelsNbr : 1; + } + } + /* Check if analog watchdog occurs */ + else if(((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_AWDF) != 0) && \ + ((hdfsdm_filter->Instance->FLTCR2 & DFSDM_FLTCR2_AWDIE) != 0)) + { + uint32_t reg = 0; + uint32_t threshold = 0; + uint32_t channel = 0; + + /* Get channel and threshold */ + reg = hdfsdm_filter->Instance->FLTAWSR; + threshold = ((reg & DFSDM_FLTAWSR_AWLTF) != 0) ? DFSDM_AWD_LOW_THRESHOLD : DFSDM_AWD_HIGH_THRESHOLD; + if(threshold == DFSDM_AWD_HIGH_THRESHOLD) + { + reg = reg >> DFSDM_FLTAWSR_HIGH_OFFSET; + } + while((reg & 1) == 0) + { + channel++; + reg = reg >> 1; + } + /* Clear analog watchdog flag */ + hdfsdm_filter->Instance->FLTAWCFR = (threshold == DFSDM_AWD_HIGH_THRESHOLD) ? \ + (1 << (DFSDM_FLTAWSR_HIGH_OFFSET + channel)) : \ + (1 << channel); + + /* Call analog watchdog callback */ + HAL_DFSDM_FilterAwdCallback(hdfsdm_filter, channel, threshold); + } + /* Check if clock absence occurs */ + else if((hdfsdm_filter->Instance == DFSDM1_Filter0) && \ + ((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_CKABF) != 0) && \ + ((hdfsdm_filter->Instance->FLTCR2 & DFSDM_FLTCR2_CKABIE) != 0)) + { + uint32_t reg = 0; + uint32_t channel = 0; + + reg = ((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_CKABF) >> DFSDM_FLTISR_CKABF_OFFSET); + + while(channel < DFSDM1_CHANNEL_NUMBER) + { + /* Check if flag is set and corresponding channel is enabled */ + if(((reg & 1) != 0) && (a_dfsdm1ChannelHandle[channel] != NULL)) + { + /* Check clock absence has been enabled for this channel */ + if((a_dfsdm1ChannelHandle[channel]->Instance->CHCFGR1 & DFSDM_CHCFGR1_CKABEN) != 0) + { + /* Clear clock absence flag */ + hdfsdm_filter->Instance->FLTICR = (1 << (DFSDM_FLTICR_CLRCKABF_OFFSET + channel)); + + /* Call clock absence callback */ + HAL_DFSDM_ChannelCkabCallback(a_dfsdm1ChannelHandle[channel]); + } + } + channel++; + reg = reg >> 1; + } + } + /* Check if short circuit detection occurs */ + else if((hdfsdm_filter->Instance == DFSDM1_Filter0) && \ + ((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_SCDF) != 0) && \ + ((hdfsdm_filter->Instance->FLTCR2 & DFSDM_FLTCR2_SCDIE) != 0)) + { + uint32_t reg = 0; + uint32_t channel = 0; + + /* Get channel */ + reg = ((hdfsdm_filter->Instance->FLTISR & DFSDM_FLTISR_SCDF) >> DFSDM_FLTISR_SCDF_OFFSET); + while((reg & 1) == 0) + { + channel++; + reg = reg >> 1; + } + + /* Clear short circuit detection flag */ + hdfsdm_filter->Instance->FLTICR = (1 << (DFSDM_FLTICR_CLRSCDF_OFFSET + channel)); + + /* Call short circuit detection callback */ + HAL_DFSDM_ChannelScdCallback(a_dfsdm1ChannelHandle[channel]); + } +} + +/** + * @brief Regular conversion complete callback. + * @note In interrupt mode, user has to read conversion value in this function + * using HAL_DFSDM_FilterGetRegularValue. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +__weak void HAL_DFSDM_FilterRegConvCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_FilterRegConvCpltCallback could be implemented in the user file. + */ +} + +/** + * @brief Half regular conversion complete callback. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +__weak void HAL_DFSDM_FilterRegConvHalfCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_FilterRegConvHalfCpltCallback could be implemented in the user file. + */ +} + +/** + * @brief Injected conversion complete callback. + * @note In interrupt mode, user has to read conversion value in this function + * using HAL_DFSDM_FilterGetInjectedValue. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +__weak void HAL_DFSDM_FilterInjConvCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_FilterInjConvCpltCallback could be implemented in the user file. + */ +} + +/** + * @brief Half injected conversion complete callback. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +__weak void HAL_DFSDM_FilterInjConvHalfCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_FilterInjConvHalfCpltCallback could be implemented in the user file. + */ +} + +/** + * @brief Filter analog watchdog callback. + * @param hdfsdm_filter : DFSDM filter handle. + * @param Channel : Corresponding channel. + * @param Threshold : Low or high threshold has been reached. + * @retval None + */ +__weak void HAL_DFSDM_FilterAwdCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, + uint32_t Channel, uint32_t Threshold) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + UNUSED(Channel); + UNUSED(Threshold); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_FilterAwdCallback could be implemented in the user file. + */ +} + +/** + * @brief Error callback. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +__weak void HAL_DFSDM_FilterErrorCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdfsdm_filter); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_DFSDM_FilterErrorCallback could be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup DFSDM_Exported_Functions_Group4_Filter Filter state functions + * @brief Filter state functions + * +@verbatim + ============================================================================== + ##### Filter state functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Get the DFSDM filter state. + (+) Get the DFSDM filter error. +@endverbatim + * @{ + */ + +/** + * @brief This function allows to get the current DFSDM filter handle state. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval DFSDM filter state. + */ +HAL_DFSDM_Filter_StateTypeDef HAL_DFSDM_FilterGetState(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + /* Return DFSDM filter handle state */ + return hdfsdm_filter->State; +} + +/** + * @brief This function allows to get the current DFSDM filter error. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval DFSDM filter error code. + */ +uint32_t HAL_DFSDM_FilterGetError(DFSDM_Filter_HandleTypeDef *hdfsdm_filter) +{ + return hdfsdm_filter->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ +/* End of exported functions -------------------------------------------------*/ + +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup DFSDM_Private_Functions DFSDM Private Functions + * @{ + */ + +/** + * @brief DMA half transfer complete callback for regular conversion. + * @param hdma : DMA handle. + * @retval None + */ +static void DFSDM_DMARegularHalfConvCplt(DMA_HandleTypeDef *hdma) +{ + /* Get DFSDM filter handle */ + DFSDM_Filter_HandleTypeDef* hdfsdm_filter = (DFSDM_Filter_HandleTypeDef*) ((DMA_HandleTypeDef*)hdma)->Parent; + + /* Call regular half conversion complete callback */ + HAL_DFSDM_FilterRegConvHalfCpltCallback(hdfsdm_filter); +} + +/** + * @brief DMA transfer complete callback for regular conversion. + * @param hdma : DMA handle. + * @retval None + */ +static void DFSDM_DMARegularConvCplt(DMA_HandleTypeDef *hdma) +{ + /* Get DFSDM filter handle */ + DFSDM_Filter_HandleTypeDef* hdfsdm_filter = (DFSDM_Filter_HandleTypeDef*) ((DMA_HandleTypeDef*)hdma)->Parent; + + /* Call regular conversion complete callback */ + HAL_DFSDM_FilterRegConvCpltCallback(hdfsdm_filter); +} + +/** + * @brief DMA half transfer complete callback for injected conversion. + * @param hdma : DMA handle. + * @retval None + */ +static void DFSDM_DMAInjectedHalfConvCplt(DMA_HandleTypeDef *hdma) +{ + /* Get DFSDM filter handle */ + DFSDM_Filter_HandleTypeDef* hdfsdm_filter = (DFSDM_Filter_HandleTypeDef*) ((DMA_HandleTypeDef*)hdma)->Parent; + + /* Call injected half conversion complete callback */ + HAL_DFSDM_FilterInjConvHalfCpltCallback(hdfsdm_filter); +} + +/** + * @brief DMA transfer complete callback for injected conversion. + * @param hdma : DMA handle. + * @retval None + */ +static void DFSDM_DMAInjectedConvCplt(DMA_HandleTypeDef *hdma) +{ + /* Get DFSDM filter handle */ + DFSDM_Filter_HandleTypeDef* hdfsdm_filter = (DFSDM_Filter_HandleTypeDef*) ((DMA_HandleTypeDef*)hdma)->Parent; + + /* Call injected conversion complete callback */ + HAL_DFSDM_FilterInjConvCpltCallback(hdfsdm_filter); +} + +/** + * @brief DMA error callback. + * @param hdma : DMA handle. + * @retval None + */ +static void DFSDM_DMAError(DMA_HandleTypeDef *hdma) +{ + /* Get DFSDM filter handle */ + DFSDM_Filter_HandleTypeDef* hdfsdm_filter = (DFSDM_Filter_HandleTypeDef*) ((DMA_HandleTypeDef*)hdma)->Parent; + + /* Update error code */ + hdfsdm_filter->ErrorCode = DFSDM_FILTER_ERROR_DMA; + + /* Call error callback */ + HAL_DFSDM_FilterErrorCallback(hdfsdm_filter); +} + +/** + * @brief This function allows to get the number of injected channels. + * @param Channels : bitfield of injected channels. + * @retval Number of injected channels. + */ +static uint32_t DFSDM_GetInjChannelsNbr(uint32_t Channels) +{ + uint32_t nbChannels = 0; + uint32_t tmp; + + /* Get the number of channels from bitfield */ + tmp = (uint32_t) (Channels & DFSDM_LSB_MASK); + while(tmp != 0) + { + if((tmp & 1) != 0) + { + nbChannels++; + } + tmp = (uint32_t) (tmp >> 1); + } + return nbChannels; +} + +/** + * @brief This function allows to get the channel number from channel instance. + * @param Instance : DFSDM channel instance. + * @retval Channel number. + */ +static uint32_t DFSDM_GetChannelFromInstance(DFSDM_Channel_TypeDef* Instance) +{ + uint32_t channel = 0xFF; + + /* Get channel from instance */ + if(Instance == DFSDM1_Channel0) + { + channel = 0; + } + else if(Instance == DFSDM1_Channel1) + { + channel = 1; + } + else if(Instance == DFSDM1_Channel2) + { + channel = 2; + } + else if(Instance == DFSDM1_Channel3) + { + channel = 3; + } + else if(Instance == DFSDM1_Channel4) + { + channel = 4; + } + else if(Instance == DFSDM1_Channel5) + { + channel = 5; + } + else if(Instance == DFSDM1_Channel6) + { + channel = 6; + } + else if(Instance == DFSDM1_Channel7) + { + channel = 7; + } + + return channel; +} + +/** + * @brief This function allows to really start regular conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +static void DFSDM_RegConvStart(DFSDM_Filter_HandleTypeDef* hdfsdm_filter) +{ + /* Check regular trigger */ + if(hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER) + { + /* Software start of regular conversion */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_RSWSTART; + } + else /* synchronous trigger */ + { + /* Disable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_DFEN); + + /* Set RSYNC bit in DFSDM_FLTCR1 register */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_RSYNC; + + /* Enable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_DFEN; + + /* If injected conversion was in progress, restart it */ + if(hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ) + { + if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_JSWSTART; + } + /* Update remaining injected conversions */ + hdfsdm_filter->InjConvRemaining = (hdfsdm_filter->InjectedScanMode == ENABLE) ? \ + hdfsdm_filter->InjectedChannelsNbr : 1; + } + } + /* Update DFSDM filter state */ + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) ? \ + HAL_DFSDM_FILTER_STATE_REG : HAL_DFSDM_FILTER_STATE_REG_INJ; +} + +/** + * @brief This function allows to really stop regular conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +static void DFSDM_RegConvStop(DFSDM_Filter_HandleTypeDef* hdfsdm_filter) +{ + /* Disable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_DFEN); + + /* If regular trigger was synchronous, reset RSYNC bit in DFSDM_FLTCR1 register */ + if(hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SYNC_TRIGGER) + { + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_RSYNC); + } + + /* Enable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_DFEN; + + /* If injected conversion was in progress, restart it */ + if(hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG_INJ) + { + if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_JSWSTART; + } + /* Update remaining injected conversions */ + hdfsdm_filter->InjConvRemaining = (hdfsdm_filter->InjectedScanMode == ENABLE) ? \ + hdfsdm_filter->InjectedChannelsNbr : 1; + } + + /* Update DFSDM filter state */ + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG) ? \ + HAL_DFSDM_FILTER_STATE_READY : HAL_DFSDM_FILTER_STATE_INJ; +} + +/** + * @brief This function allows to really start injected conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +static void DFSDM_InjConvStart(DFSDM_Filter_HandleTypeDef* hdfsdm_filter) +{ + /* Check injected trigger */ + if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SW_TRIGGER) + { + /* Software start of injected conversion */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_JSWSTART; + } + else /* external or synchronous trigger */ + { + /* Disable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_DFEN); + + if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SYNC_TRIGGER) + { + /* Set JSYNC bit in DFSDM_FLTCR1 register */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_JSYNC; + } + else /* external trigger */ + { + /* Set JEXTEN[1:0] bits in DFSDM_FLTCR1 register */ + hdfsdm_filter->Instance->FLTCR1 |= hdfsdm_filter->ExtTriggerEdge; + } + + /* Enable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_DFEN; + + /* If regular conversion was in progress, restart it */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG) && \ + (hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER)) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_RSWSTART; + } + } + /* Update DFSDM filter state */ + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_READY) ? \ + HAL_DFSDM_FILTER_STATE_INJ : HAL_DFSDM_FILTER_STATE_REG_INJ; +} + +/** + * @brief This function allows to really stop injected conversion. + * @param hdfsdm_filter : DFSDM filter handle. + * @retval None + */ +static void DFSDM_InjConvStop(DFSDM_Filter_HandleTypeDef* hdfsdm_filter) +{ + /* Disable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_DFEN); + + /* If injected trigger was synchronous, reset JSYNC bit in DFSDM_FLTCR1 register */ + if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_SYNC_TRIGGER) + { + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_JSYNC); + } + else if(hdfsdm_filter->InjectedTrigger == DFSDM_FILTER_EXT_TRIGGER) + { + /* Reset JEXTEN[1:0] bits in DFSDM_FLTCR1 register */ + hdfsdm_filter->Instance->FLTCR1 &= ~(DFSDM_FLTCR1_JEXTEN); + } + + /* Enable DFSDM filter */ + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_DFEN; + + /* If regular conversion was in progress, restart it */ + if((hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_REG_INJ) && \ + (hdfsdm_filter->RegularTrigger == DFSDM_FILTER_SW_TRIGGER)) + { + hdfsdm_filter->Instance->FLTCR1 |= DFSDM_FLTCR1_RSWSTART; + } + + /* Update remaining injected conversions */ + hdfsdm_filter->InjConvRemaining = (hdfsdm_filter->InjectedScanMode == ENABLE) ? \ + hdfsdm_filter->InjectedChannelsNbr : 1; + + /* Update DFSDM filter state */ + hdfsdm_filter->State = (hdfsdm_filter->State == HAL_DFSDM_FILTER_STATE_INJ) ? \ + HAL_DFSDM_FILTER_STATE_READY : HAL_DFSDM_FILTER_STATE_REG; +} + +/** + * @} + */ +/* End of private functions --------------------------------------------------*/ + +/** + * @} + */ +#endif /* HAL_DFSDM_MODULE_ENABLED */ +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c new file mode 100644 index 0000000000..080e2b5453 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c @@ -0,0 +1,1937 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dma.c + * @author MCD Application Team + * @brief DMA HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Direct Memory Access (DMA) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral State and errors functions + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Enable and configure the peripheral to be connected to the DMA Stream + (except for internal SRAM/FLASH memories: no initialization is + necessary) please refer to Reference manual for connection between peripherals + and DMA requests . + + (#) For a given Stream, program the required configuration through the following parameters: + Transfer Direction, Source and Destination data formats, + Circular, Normal or peripheral flow control mode, Stream Priority level, + Source and Destination Increment mode, FIFO mode and its Threshold (if needed), + Burst mode for Source and/or Destination (if needed) using HAL_DMA_Init() function. + + *** Polling mode IO operation *** + ================================= + [..] + (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source + address and destination address and the Length of data to be transferred + (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this + case a fixed Timeout can be configured by User depending from his application. + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority() + (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ() + (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of + Source address and destination address and the Length of data to be transferred. In this + case the DMA interrupt is configured + (+) Use HAL_DMA_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine + (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can + add his own function by customization of function pointer XferCpltCallback and + XferErrorCallback (i.e a member of DMA handle structure). + [..] + (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of error + detection. + + (#) Use HAL_DMA_Abort() function to abort the current transfer + + -@- In Memory-to-Memory transfer mode, Circular mode is not allowed. + + -@- The FIFO is used mainly to reduce bus usage and to allow data packing/unpacking: it is + possible to set different Data Sizes for the Peripheral and the Memory (ie. you can set + Half-Word data size for the peripheral to access its data register and set Word data size + for the Memory to gain in access time. Each two half words will be packed and written in + a single access to a Word in the Memory). + + -@- When FIFO is disabled, it is not allowed to configure different Data Sizes for Source + and Destination. In this case the Peripheral Data Size will be applied to both Source + and Destination. + + *** DMA HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in DMA HAL driver. + + (+) __HAL_DMA_ENABLE: Enable the specified DMA Stream. + (+) __HAL_DMA_DISABLE: Disable the specified DMA Stream. + (+) __HAL_DMA_GET_FS: Return the current DMA Stream FIFO filled level. + (+) __HAL_DMA_ENABLE_IT: Enable the specified DMA Stream interrupts. + (+) __HAL_DMA_DISABLE_IT: Disable the specified DMA Stream interrupts. + (+) __HAL_DMA_GET_IT_SOURCE: Check whether the specified DMA Stream interrupt has occurred or not. + + [..] + (@) You can refer to the DMA HAL driver header file for more useful macros. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup DMA DMA + * @brief DMA HAL module driver + * @{ + */ + +#ifdef HAL_DMA_MODULE_ENABLED + +/* Private types -------------------------------------------------------------*/ +typedef struct +{ + __IO uint32_t ISR; /*!< DMA interrupt status register */ + __IO uint32_t Reserved0; + __IO uint32_t IFCR; /*!< DMA interrupt flag clear register */ +} DMA_Base_Registers; + +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @addtogroup DMA_Private_Constants + * @{ + */ + #define HAL_TIMEOUT_DMA_ABORT (5U) /* 5 ms */ + +/*D2 DMA to D3 DMA conversion*/ +#define BDMA_PERIPH_TO_MEMORY (0x00000000U) /*!< Peripheral to memory direction */ +#define BDMA_MEMORY_TO_PERIPH ((uint32_t)BDMA_CCR_DIR) /*!< Memory to peripheral direction */ +#define BDMA_MEMORY_TO_MEMORY ((uint32_t)BDMA_CCR_MEM2MEM) /*!< Memory to memory direction */ + +#define D2_TO_D3_DMA_DIRECTION(__D2_DMA_DIRECTION__) (((__D2_DMA_DIRECTION__)== DMA_MEMORY_TO_PERIPH)? BDMA_MEMORY_TO_PERIPH: \ + ((__D2_DMA_DIRECTION__)== DMA_MEMORY_TO_MEMORY)? BDMA_MEMORY_TO_MEMORY: \ + BDMA_PERIPH_TO_MEMORY) + +#define D2_TO_D3_DMA_PERIPHERAL_INC(__D2_PERIPHERAL_INC__) ((__D2_PERIPHERAL_INC__) >> 3U) +#define D2_TO_D3_DMA_MEMORY_INC(__D2_MEMORY_INC__) ((__D2_MEMORY_INC__) >> 3U) + +#define D2_TO_D3_DMA_PDATA_SIZE(__D2_PDATA_SIZE__) ((__D2_PDATA_SIZE__) >> 3U) +#define D2_TO_D3_DMA_MDATA_SIZE(__D2_MDATA_SIZE__) ((__D2_MDATA_SIZE__) >> 3U) + +/*BDMA doesn't support Peripheral flow control mode , force to normal in this case */ +#define D2_TO_D3_DMA_MODE(__D2_MODE__) (((__D2_MODE__) >> 3U) & BDMA_CCR_CIRC) + +#define D2_TO_D3_DMA_PRIORITY(__D2_PRIORITY__) ((__D2_PRIORITY__) >> 4U) + +/** + * @} + */ +/* Private macros ------------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup DMA_Private_Functions + * @{ + */ +static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength); +static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma); +static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma); +static void DMA_CalcDMAMUXChannelBaseAndMask(DMA_HandleTypeDef *hdma); +static void DMA_CalcDMAMUXRequestGenBaseAndMask(DMA_HandleTypeDef *hdma); + +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ +/** @addtogroup DMA_Exported_Functions + * @{ + */ + +/** @addtogroup DMA_Exported_Functions_Group1 + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] + This section provides functions allowing to initialize the DMA Stream source + and destination incrementation and data sizes, transfer direction, + circular/normal mode selection, memory-to-memory mode selection and Stream priority value. + [..] + The HAL_DMA_Init() function follows the DMA configuration procedures as described in + reference manual. + The HAL_DMA_DeInit function allows to deinitialize the DMA stream. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the DMA according to the specified + * parameters in the DMA_InitTypeDef and create the associated handle. + * @param hdma: Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) +{ + uint32_t registerValue = 0U; + uint32_t tickstart = HAL_GetTick(); + DMA_Base_Registers *regs = NULL; + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); + assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); + assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc)); + assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc)); + assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment)); + assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment)); + assert_param(IS_DMA_MODE(hdma->Init.Mode)); + assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); + + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /*DMA2/DMA1 stream , D2 domain*/ + { + + assert_param(IS_DMA_D2_REQUEST(hdma->Init.Request)); + assert_param(IS_DMA_FIFO_MODE_STATE(hdma->Init.FIFOMode)); + /* Check the memory burst, peripheral burst and FIFO threshold parameters only + when FIFO mode is enabled */ + if(hdma->Init.FIFOMode != DMA_FIFOMODE_DISABLE) + { + assert_param(IS_DMA_FIFO_THRESHOLD(hdma->Init.FIFOThreshold)); + assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst)); + assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst)); + } + + /* Allocate lock resource */ + __HAL_UNLOCK(hdma); + + /* Change DMA peripheral state */ + hdma->State = HAL_DMA_STATE_BUSY; + + /* Disable the peripheral */ + __HAL_DMA_DISABLE(hdma); + + /* Check if the DMA Stream is effectively disabled */ + while((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_EN) != RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) + { + /* Update error code */ + hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Get the CR register value */ + registerValue = ((DMA_Stream_TypeDef *)hdma->Instance)->CR; + + /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */ + registerValue &= ((uint32_t)~(DMA_SxCR_MBURST | DMA_SxCR_PBURST | \ + DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \ + DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \ + DMA_SxCR_DIR | DMA_SxCR_CT | DMA_SxCR_DBM)); + + /* Prepare the DMA Stream configuration */ + registerValue |= hdma->Init.Direction | + hdma->Init.PeriphInc | hdma->Init.MemInc | + hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | + hdma->Init.Mode | hdma->Init.Priority; + + /* the Memory burst and peripheral burst are not used when the FIFO is disabled */ + if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) + { + /* Get memory burst and peripheral burst */ + registerValue |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; + } + + /* Write to DMA Stream CR register */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR = registerValue; + + /* Get the FCR register value */ + registerValue = ((DMA_Stream_TypeDef *)hdma->Instance)->FCR; + + /* Clear Direct mode and FIFO threshold bits */ + registerValue &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); + + /* Prepare the DMA Stream FIFO configuration */ + registerValue |= hdma->Init.FIFOMode; + + /* the FIFO threshold is not used when the FIFO mode is disabled */ + if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) + { + /* Get the FIFO threshold */ + registerValue |= hdma->Init.FIFOThreshold; + + /* Check compatibility between FIFO threshold level and size of the memory burst */ + /* for INCR4, INCR8, INCR16 */ + if(hdma->Init.MemBurst != DMA_MBURST_SINGLE) + { + if (DMA_CheckFifoParam(hdma) != HAL_OK) + { + /* Update error code */ + hdma->ErrorCode = HAL_DMA_ERROR_PARAM; + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + + return HAL_ERROR; + } + } + } + + /* Write to DMA Stream FCR */ + ((DMA_Stream_TypeDef *)hdma->Instance)->FCR = registerValue; + + /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate + DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */ + regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); + + /* Clear all interrupt flags */ + regs->IFCR = 0x3FU << hdma->StreamIndex; + } + else if(IS_D3_DMA_INSTANCE(hdma) != RESET) /*Init.Request)); + + /* Allocate lock resource */ + __HAL_UNLOCK(hdma); + + /* Change DMA peripheral state */ + hdma->State = HAL_DMA_STATE_BUSY; + + /* Get the CR register value */ + registerValue = ((BDMA_Channel_TypeDef *)hdma->Instance)->CCR; + + /* Clear PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR and MEM2MEM bits */ + registerValue &= ((uint32_t)~(BDMA_CCR_PL | BDMA_CCR_MSIZE | BDMA_CCR_PSIZE | \ + BDMA_CCR_MINC | BDMA_CCR_PINC | BDMA_CCR_CIRC | \ + BDMA_CCR_DIR | BDMA_CCR_MEM2MEM)); + + /* Prepare the DMA Channel configuration */ + registerValue |= D2_TO_D3_DMA_DIRECTION(hdma->Init.Direction) | + D2_TO_D3_DMA_PERIPHERAL_INC(hdma->Init.PeriphInc) | + D2_TO_D3_DMA_MEMORY_INC(hdma->Init.MemInc) | + D2_TO_D3_DMA_PDATA_SIZE(hdma->Init.PeriphDataAlignment) | + D2_TO_D3_DMA_MDATA_SIZE(hdma->Init.MemDataAlignment) | + D2_TO_D3_DMA_MODE(hdma->Init.Mode) | + D2_TO_D3_DMA_PRIORITY(hdma->Init.Priority); + + /* Write to DMA Channel CR register */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CCR = registerValue; + + /* calculation of the channel index */ + hdma->StreamIndex = (((uint32_t)hdma->Instance - (uint32_t)BDMA_Channel0) / ((uint32_t)BDMA_Channel1 - (uint32_t)BDMA_Channel0)) << 2U; + + } + else + { + hdma->ErrorCode = HAL_DMA_ERROR_PARAM; + hdma->State = HAL_DMA_STATE_ERROR; + + return HAL_ERROR; + } + + /* Initialize parameters for DMAMUX channel : + DMAmuxChannel, DMAmuxChannelStatus and DMAmuxChannelStatusMask + */ + DMA_CalcDMAMUXChannelBaseAndMask(hdma); + + if(hdma->Init.Direction == DMA_MEMORY_TO_MEMORY) + { + /* if memory to memory force the request to 0*/ + hdma->Init.Request = DMA_REQUEST_MEM2MEM; + } + + + /* Set peripheral request to DMAMUX channel */ + hdma->DMAmuxChannel->CCR = (hdma->Init.Request & DMAMUX_CxCR_DMAREQ_ID); + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + /* Initialize parameters for DMAMUX request generator : + if the DMA request is DMA_REQUEST_GENERATOR0 to DMA_REQUEST_GENERATOR7 + */ + + if((hdma->Init.Request >= DMA_REQUEST_GENERATOR0) && (hdma->Init.Request <= DMA_REQUEST_GENERATOR7)) + { + /* Initialize parameters for DMAMUX request generator : + DMAmuxRequestGen, DMAmuxRequestGenStatus and DMAmuxRequestGenStatusMask + */ + DMA_CalcDMAMUXRequestGenBaseAndMask(hdma); + + /* Reset the DMAMUX request generator register*/ + hdma->DMAmuxRequestGen->RGCR = 0U; + + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + } + else + { + hdma->DMAmuxRequestGen = 0U; + hdma->DMAmuxRequestGenStatus = 0U; + hdma->DMAmuxRequestGenStatusMask = 0U; + } + + /* Initialize the error code */ + hdma->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Initialize the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitializes the DMA peripheral + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma) +{ + DMA_Base_Registers *regs = NULL; + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + /* Check the DMA peripheral state */ + if(hdma->State == HAL_DMA_STATE_BUSY) + { + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_BUSY; + + /* Return error status */ + return HAL_ERROR; + } + + /* Disable the selected DMA Streamx */ + __HAL_DMA_DISABLE(hdma); + + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /*DMA2/DMA1 stream , D2 domain*/ + { + /* Reset DMA Streamx control register */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR = 0U; + + /* Reset DMA Streamx number of data to transfer register */ + ((DMA_Stream_TypeDef *)hdma->Instance)->NDTR = 0U; + + /* Reset DMA Streamx peripheral address register */ + ((DMA_Stream_TypeDef *)hdma->Instance)->PAR = 0U; + + /* Reset DMA Streamx memory 0 address register */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M0AR = 0U; + + /* Reset DMA Streamx memory 1 address register */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M1AR = 0U; + + /* Reset DMA Streamx FIFO control register */ + ((DMA_Stream_TypeDef *)hdma->Instance)->FCR = (uint32_t)0x00000021U; + + /* Get DMA steam Base Address */ + regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); + + /* Clear all interrupt flags at correct offset within the register */ + regs->IFCR = 0x3FU << hdma->StreamIndex; + } + else if(IS_D3_DMA_INSTANCE(hdma) != RESET) /*D3 domain BDMA*/ + { + + /* Reset DMA Channel control register */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CCR = 0U; + + /* Reset DMA Channel Number of Data to Transfer register */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CNDTR = 0U; + + /* Reset DMA Channel peripheral address register */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CPAR = 0U; + + /* Reset DMA Channel memory address register */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CMAR = 0U; + + /* Clear all flags */ + BDMA->IFCR = ((BDMA_IFCR_CGIF0) << (hdma->StreamIndex)); + } + + /* Initialize parameters for DMAMUX channel : + DMAmuxChannel, DMAmuxChannelStatus and DMAmuxChannelStatusMask */ + DMA_CalcDMAMUXChannelBaseAndMask(hdma); + + if(hdma->DMAmuxChannel != 0U) + { + /* Resett he DMAMUX channel that corresponds to the DMA stream */ + hdma->DMAmuxChannel->CCR = 0U; + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + } + + if((hdma->Init.Request >= DMA_REQUEST_GENERATOR0) && (hdma->Init.Request <= DMA_REQUEST_GENERATOR7)) + { + /* Initialize parameters for DMAMUX request generator : + DMAmuxRequestGen, DMAmuxRequestGenStatus and DMAmuxRequestGenStatusMask + */ + DMA_CalcDMAMUXRequestGenBaseAndMask(hdma); + + /* Reset the DMAMUX request generator register*/ + hdma->DMAmuxRequestGen->RGCR = 0U; + + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + } + + hdma->DMAmuxRequestGen = 0U; + hdma->DMAmuxRequestGenStatus = 0U; + hdma->DMAmuxRequestGenStatusMask = 0U; + + /* Initialize the error code */ + hdma->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Initialize the DMA state */ + hdma->State = HAL_DMA_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hdma); + + return HAL_OK; +} + +/** + * @} + */ + +/** @addtogroup DMA_Exported_Functions_Group2 + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure the source, destination address and data length and Start DMA transfer + (+) Configure the source, destination address and data length and + Start DMA transfer with interrupt + (+) Register and Unregister DMA callbacks + (+) Abort DMA transfer + (+) Poll for transfer complete + (+) Handle DMA interrupt request + +@endverbatim + * @{ + */ + +/** + * @brief Starts the DMA Transfer. + * @param hdma : pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param SrcAddress: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param DataLength: The length of data to be transferred from source to destination + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_DMA_BUFFER_SIZE(DataLength)); + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hdma); + + if(HAL_DMA_STATE_READY == hdma->State) + { + /* Change DMA peripheral state */ + hdma->State = HAL_DMA_STATE_BUSY; + + /* Initialize the error code */ + hdma->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Disable the peripheral */ + __HAL_DMA_DISABLE(hdma); + + /* Configure the source, destination address and the data length */ + DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); + + /* Enable the Peripheral */ + __HAL_DMA_ENABLE(hdma); + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hdma); + + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_BUSY; + + /* Return error status */ + status = HAL_ERROR; + } + return status; +} + +/** + * @brief Start the DMA Transfer with interrupt enabled. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param SrcAddress: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param DataLength: The length of data to be transferred from source to destination + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_DMA_BUFFER_SIZE(DataLength)); + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hdma); + + if(HAL_DMA_STATE_READY == hdma->State) + { + /* Change DMA peripheral state */ + hdma->State = HAL_DMA_STATE_BUSY; + + /* Initialize the error code */ + hdma->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Disable the peripheral */ + __HAL_DMA_DISABLE(hdma); + + /* Configure the source, destination address and the data length */ + DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); + + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2 */ + { + /* Enable Common interrupts*/ + MODIFY_REG(((DMA_Stream_TypeDef *)hdma->Instance)->CR, (DMA_IT_TC | DMA_IT_TE | DMA_IT_DME | DMA_IT_HT), (DMA_IT_TC | DMA_IT_TE | DMA_IT_DME)); + ((DMA_Stream_TypeDef *)hdma->Instance)->FCR |= DMA_IT_FE; + + if(hdma->XferHalfCpltCallback != NULL) + { + /*Enable Half Transfer IT if corresponding Callback is set*/ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR |= DMA_IT_HT; + } + } + else /* D3 Domain BDMA */ + { + /* Enable Common interrupts*/ + MODIFY_REG(((BDMA_Channel_TypeDef *)hdma->Instance)->CCR, (BDMA_CCR_TCIE | BDMA_CCR_HTIE | BDMA_CCR_TEIE), (BDMA_CCR_TCIE | BDMA_CCR_TEIE)); + + if(hdma->XferHalfCpltCallback != NULL) + { + /*Enable Half Transfer IT if corresponding Callback is set*/ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CCR |= BDMA_CCR_HTIE; + } + } + + /* Check if DMAMUX Synchronization is enabled*/ + if((hdma->DMAmuxChannel->CCR & DMAMUX_CxCR_SE) != 0U) + { + /* Enable DMAMUX sync overrun IT*/ + hdma->DMAmuxChannel->CCR |= DMAMUX_CxCR_SOIE; + } + + if(hdma->DMAmuxRequestGen != 0U) + { + /* if using DMAMUX request generator, enable the DMAMUX request generator overrun IT*/ + /* enable the request gen overrun IT*/ + hdma->DMAmuxRequestGen->RGCR |= DMAMUX_RGxCR_OIE; + + } + + /* Enable the Peripheral */ + __HAL_DMA_ENABLE(hdma); + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hdma); + + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_BUSY; + + /* Return error status */ + status = HAL_ERROR; + } + + return status; +} + +/** + * @brief Aborts the DMA Transfer. + * @param hdma : pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * + * @note After disabling a DMA Stream, a check for wait until the DMA Stream is + * effectively disabled is added. If a Stream is disabled + * while a data transfer is ongoing, the current data will be transferred + * and the Stream will be effectively disabled only after the transfer of + * this single data is finished. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma) +{ + /* calculate DMA base and stream number */ + DMA_Base_Registers *regs = NULL; + __IO uint32_t *enableRegister = NULL; + + uint32_t tickstart = HAL_GetTick(); + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + /* Check the DMA peripheral state */ + if(hdma->State != HAL_DMA_STATE_BUSY) + { + hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + return HAL_ERROR; + } + else + { + /* Disable all the transfer interrupts */ + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2*/ + { + /* Disable DMA All Interrupts */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME | DMA_IT_HT); + ((DMA_Stream_TypeDef *)hdma->Instance)->FCR &= ~(DMA_IT_FE); + + regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; + enableRegister = (__IO uint32_t *)(&(((DMA_Stream_TypeDef *)hdma->Instance)->CR)); + } + else /* D3 domain BDMA*/ + { + /* Disable DMA All Interrupts */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CCR &= ~(BDMA_CCR_TCIE | BDMA_CCR_HTIE | BDMA_CCR_TEIE); + + enableRegister = (__IO uint32_t *)(&(((BDMA_Channel_TypeDef *)hdma->Instance)->CCR)); + } + + /* disable the DMAMUX sync overrun IT*/ + hdma->DMAmuxChannel->CCR &= ~DMAMUX_CxCR_SOIE; + + /* Disable the stream */ + __HAL_DMA_DISABLE(hdma); + + /* Check if the DMA Stream is effectively disabled */ + while(((*enableRegister) & DMA_SxCR_EN) != RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) + { + /* Update error code */ + hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Clear all interrupt flags at correct offset within the register */ + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2*/ + { + regs->IFCR = 0x3FU << hdma->StreamIndex; + } + else /* D3 domain BDMA*/ + { + BDMA->IFCR = ((BDMA_IFCR_CGIF0) << (hdma->StreamIndex)); + } + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + if(hdma->DMAmuxRequestGen != 0U) + { + /* if using DMAMUX request generator, disable the DMAMUX request generator overrun IT*/ + /* disable the request gen overrun IT*/ + hdma->DMAmuxRequestGen->RGCR &= ~DMAMUX_RGxCR_OIE; + + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state*/ + hdma->State = HAL_DMA_STATE_READY; + } + return HAL_OK; +} + +/** + * @brief Aborts the DMA Transfer in Interrupt mode. + * @param hdma : pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) +{ + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + if(hdma->State != HAL_DMA_STATE_BUSY) + { + hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; + return HAL_ERROR; + } + else + { + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2*/ + { + /* Set Abort State */ + hdma->State = HAL_DMA_STATE_ABORT; + + /* Disable the stream */ + __HAL_DMA_DISABLE(hdma); + } + else /* D3 Domain BDMA */ + { + /* Disable DMA All Interrupts */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CCR &= ~(BDMA_CCR_TCIE | BDMA_CCR_HTIE | BDMA_CCR_TEIE); + + /* Disable the channel */ + __HAL_DMA_DISABLE(hdma); + + /* disable the DMAMUX sync overrun IT*/ + hdma->DMAmuxChannel->CCR &= ~DMAMUX_CxCR_SOIE; + + /* Clear all flags */ + BDMA->IFCR = ((BDMA_IFCR_CGIF0) << (hdma->StreamIndex)); + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + if(hdma->DMAmuxRequestGen != 0U) + { + /* if using DMAMUX request generator, disable the DMAMUX request generator overrun IT*/ + /* disable the request gen overrun IT*/ + hdma->DMAmuxRequestGen->RGCR &= ~DMAMUX_RGxCR_OIE; + + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + + /* Call User Abort callback */ + if(hdma->XferAbortCallback != NULL) + { + hdma->XferAbortCallback(hdma); + } + } + } + + return HAL_OK; +} + +/** + * @brief Polling for transfer complete. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param CompleteLevel: Specifies the DMA level complete. + * @note The polling mode is kept in this version for legacy. it is recommanded to use the IT model instead. + * This model could be used for debug purpose. + * @note The HAL_DMA_PollForTransfer API cannot be used in circular and double buffering mode (automatic circular mode). + * @param Timeout: Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef CompleteLevel, uint32_t Timeout) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t cpltlevel_mask = 0U; + uint32_t tickstart = HAL_GetTick(); + + /* IT status register */ + __IO uint32_t *isr_reg = NULL; + /* IT clear flag register */ + __IO uint32_t *ifcr_reg = NULL; + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + if(HAL_DMA_STATE_BUSY != hdma->State) + { + /* No transfer ongoing */ + hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; + __HAL_UNLOCK(hdma); + + return HAL_ERROR; + } + + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2 */ + { + /* Polling mode not supported in circular mode and double buffering mode */ + if ((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_CIRC) != RESET) + { + hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + + /* Get the level transfer complete flag */ + if(CompleteLevel == HAL_DMA_FULL_TRANSFER) + { + /* Transfer Complete flag */ + cpltlevel_mask = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; + } + else + { + /* Half Transfer Complete flag */ + cpltlevel_mask = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; + } + + isr_reg = &(((DMA_Base_Registers *)hdma->StreamBaseAddress)->ISR); + ifcr_reg = &(((DMA_Base_Registers *)hdma->StreamBaseAddress)->IFCR); + } + else /* D3 Domain BDMA */ + { + /* Polling mode not supported in circular mode */ + if ((((BDMA_Channel_TypeDef *)hdma->Instance)->CCR & BDMA_CCR_CIRC) != RESET) + { + hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + + /* Get the level transfer complete flag */ + if(CompleteLevel == HAL_DMA_FULL_TRANSFER) + { + /* Transfer Complete flag */ + cpltlevel_mask = BDMA_FLAG_TC0 << hdma->StreamIndex; + } + else + { + /* Half Transfer Complete flag */ + cpltlevel_mask = BDMA_FLAG_HT0 << hdma->StreamIndex; + } + + isr_reg = &(BDMA->ISR); + ifcr_reg = &(BDMA->IFCR); + } + + while((((*isr_reg) & cpltlevel_mask) == RESET) && ((hdma->ErrorCode & HAL_DMA_ERROR_TE) == RESET)) + { + /* Check for the Timeout (Not applicable in circular mode)*/ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Update error code */ + hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; + + HAL_DMA_Abort(hdma); /* if timeout then abort the current transfer */ + + /* + Note that the Abort function will + - Clear the transfer error flags + - Unlock + - Set the State + */ + + return HAL_ERROR; + } + } + + /*Check for DMAMUX Request generator (if used) overrun status */ + if(hdma->DMAmuxRequestGen != 0U) + { + /* if using DMAMUX request generator Check for DMAMUX request generator overrun */ + if((hdma->DMAmuxRequestGenStatus->RGSR & hdma->DMAmuxRequestGenStatusMask) != 0U) + { + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_REQGEN; + } + } + + /* Check for DMAMUX Synchronization overrun */ + if((hdma->DMAmuxChannelStatus->CSR & hdma->DMAmuxChannelStatusMask) != 0U) + { + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_SYNC; + } + + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2 */ + { + if(((*isr_reg) & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) + { + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_TE; + + /* Clear the transfer error flag */ + (*ifcr_reg) = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; + } + + if(((*isr_reg) & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) + { + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_FE; + + /* Clear the FIFO error flag */ + (*ifcr_reg) = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; + } + + if(((*isr_reg) & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) + { + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_DME; + + /* Clear the Direct Mode error flag */ + (*ifcr_reg) = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; + } + } + else /* D3 Domain BDMA */ + { + if((RESET != (BDMA->ISR & (BDMA_FLAG_TE0 << hdma->StreamIndex)))) + { + /* When a DMA transfer error occurs */ + /* A hardware clear of its EN bits is performed */ + /* Clear all flags */ + BDMA->IFCR |= ((BDMA_ISR_GIF0) << (hdma->StreamIndex)); + + /* Update error code */ + hdma->ErrorCode = HAL_DMA_ERROR_TE; + } + } + } + + + if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) + { + if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) + { + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2 */ + { + HAL_DMA_Abort(hdma); + + /* + Note that the Abort function will + - Disable the DMA + - Clear the transfer error flags + - Unlock + - Set the State + */ + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state */ + hdma->State= HAL_DMA_STATE_READY; + } + + return HAL_ERROR; + } + } + + /* Get the level transfer complete flag */ + if(CompleteLevel == HAL_DMA_FULL_TRANSFER) + { + /* Clear the half transfer and transfer complete flags */ + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2 */ + { + (*ifcr_reg) = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex; + } + else /* D3 Domain BDMA */ + { + BDMA->IFCR |= (BDMA_FLAG_TC0 << hdma->StreamIndex); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + hdma->State = HAL_DMA_STATE_READY; + } + else /*CompleteLevel = HAL_DMA_HALF_TRANSFER*/ + { + /* Clear the half transfer and transfer complete flags */ + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2 */ + { + (*ifcr_reg) = (DMA_FLAG_HTIF0_4) << hdma->StreamIndex; + } + else /* D3 Domain BDMA */ + { + BDMA->IFCR |= (BDMA_FLAG_HT0 << hdma->StreamIndex); + } + } + + return status; +} + +/** + * @brief Handles DMA interrupt request. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval None + */ +void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) +{ + uint32_t tmpisr = 0U; + __IO uint32_t *ccr_reg = NULL; + __IO uint32_t count = 0U; + uint32_t timeout = SystemCoreClock / 9600U; + + /* calculate DMA base and stream number */ + DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; + + tmpisr = regs->ISR; + + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /*D2 domain DMA : DMA1 or DMA2*/ + { + /* Transfer Error Interrupt management ***************************************/ + if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) + { + if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) + { + /* Disable the transfer error interrupt */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR &= ~(DMA_IT_TE); + + /* Clear the transfer error flag */ + regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; + + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_TE; + } + } + /* FIFO Error Interrupt management ******************************************/ + if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) + { + if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) + { + /* Clear the FIFO error flag */ + regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; + + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_FE; + } + } + /* Direct Mode Error Interrupt management ***********************************/ + if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) + { + if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) + { + /* Clear the direct mode error flag */ + regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; + + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_DME; + } + } + /* Half Transfer Complete Interrupt management ******************************/ + if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) + { + if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) + { + /* Clear the half transfer complete flag */ + regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; + + /* Multi_Buffering mode enabled */ + if(((((DMA_Stream_TypeDef *)hdma->Instance)->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) + { + /* Current memory buffer used is Memory 0 */ + if((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_CT) == RESET) + { + if(hdma->XferHalfCpltCallback != NULL) + { + /* Half transfer callback */ + hdma->XferHalfCpltCallback(hdma); + } + } + /* Current memory buffer used is Memory 1 */ + else + { + if(hdma->XferM1HalfCpltCallback != NULL) + { + /* Half transfer callback */ + hdma->XferM1HalfCpltCallback(hdma); + } + } + } + else + { + /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ + if((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_CIRC) == RESET) + { + /* Disable the half transfer interrupt */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR &= ~(DMA_IT_HT); + } + + if(hdma->XferHalfCpltCallback != NULL) + { + /* Half transfer callback */ + hdma->XferHalfCpltCallback(hdma); + } + } + } + } + /* Transfer Complete Interrupt management ***********************************/ + if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) + { + if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) + { + /* Clear the transfer complete flag */ + regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; + + if(HAL_DMA_STATE_ABORT == hdma->State) + { + /* Disable all the transfer interrupts */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); + ((DMA_Stream_TypeDef *)hdma->Instance)->FCR &= ~(DMA_IT_FE); + + if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) + { + ((DMA_Stream_TypeDef *)hdma->Instance)->CR &= ~(DMA_IT_HT); + } + + /* Clear all interrupt flags at correct offset within the register */ + regs->IFCR = 0x3FU << hdma->StreamIndex; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + + if(hdma->XferAbortCallback != NULL) + { + hdma->XferAbortCallback(hdma); + } + return; + } + + if(((((DMA_Stream_TypeDef *)hdma->Instance)->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) + { + /* Current memory buffer used is Memory 0 */ + if((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_CT) == RESET) + { + if(hdma->XferM1CpltCallback != NULL) + { + /* Transfer complete Callback for memory1 */ + hdma->XferM1CpltCallback(hdma); + } + } + /* Current memory buffer used is Memory 1 */ + else + { + if(hdma->XferCpltCallback != NULL) + { + /* Transfer complete Callback for memory0 */ + hdma->XferCpltCallback(hdma); + } + } + } + /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ + else + { + if((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_CIRC) == RESET) + { + /* Disable the transfer complete interrupt */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR &= ~(DMA_IT_TC); + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + } + + if(hdma->XferCpltCallback != NULL) + { + /* Transfer complete callback */ + hdma->XferCpltCallback(hdma); + } + } + } + } + + /* manage error case */ + if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) + { + if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) + { + hdma->State = HAL_DMA_STATE_ABORT; + + /* Disable the stream */ + __HAL_DMA_DISABLE(hdma); + + do + { + if (++count > timeout) + { + break; + } + } + while((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_EN) != RESET); + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + if((((DMA_Stream_TypeDef *)hdma->Instance)->CR & DMA_SxCR_EN) != RESET) + { + /* Change the DMA state to error if DMA disable fails */ + hdma->State = HAL_DMA_STATE_ERROR; + } + else + { + /* Change the DMA state to Ready if DMA disable success */ + hdma->State = HAL_DMA_STATE_READY; + } + } + + if(hdma->XferErrorCallback != NULL) + { + /* Transfer error callback */ + hdma->XferErrorCallback(hdma); + } + } + } + else if(IS_D3_DMA_INSTANCE(hdma) != RESET) /*D3 domain BDMA */ + { + ccr_reg = &(((BDMA_Channel_TypeDef *)hdma->Instance)->CCR); + + /* Half Transfer Complete Interrupt management ******************************/ + if ((RESET != (BDMA->ISR & (BDMA_FLAG_HT0 << hdma->StreamIndex))) && (RESET != ((*ccr_reg) & BDMA_CCR_HTIE))) + { + /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ + if(((*ccr_reg) & BDMA_CCR_CIRC) == 0U) + { + /* Disable the half transfer interrupt */ + (*ccr_reg) &= ~BDMA_CCR_HTIE; + } + /* Clear the half transfer complete flag */ + BDMA->IFCR |= (BDMA_ISR_HTIF0 << hdma->StreamIndex); + + /* DMA peripheral state is not updated in Half Transfer */ + /* but in Transfer Complete case */ + + if(hdma->XferHalfCpltCallback != NULL) + { + /* Half transfer callback */ + hdma->XferHalfCpltCallback(hdma); + } + } + + /* Transfer Complete Interrupt management ***********************************/ + else if ((RESET != (BDMA->ISR & (BDMA_FLAG_TC0 << hdma->StreamIndex))) && (RESET != ((*ccr_reg) & BDMA_CCR_TCIE))) + { + if(((*ccr_reg) & BDMA_CCR_CIRC) == 0U) + { + /* Disable TE & TC */ + (*ccr_reg) &= ~(BDMA_CCR_TEIE | BDMA_CCR_TCIE); + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + } + /* Clear the transfer complete flag */ + BDMA->IFCR |= (BDMA_ISR_TCIF0 << hdma->StreamIndex); + + if(hdma->XferCpltCallback != NULL) + { + /* Transfer complete callback */ + hdma->XferCpltCallback(hdma); + } + } + + /* Transfer Error Interrupt management **************************************/ + else if (( RESET != (BDMA->ISR & (BDMA_FLAG_TE0 << hdma->StreamIndex))) && (RESET != ((*ccr_reg) & BDMA_CCR_TEIE))) + { + /* When a DMA transfer error occurs */ + /* A hardware clear of its EN bits is performed */ + /* Disable ALL DMA IT */ + (*ccr_reg) &= ~(BDMA_CCR_TEIE | BDMA_CCR_TCIE | BDMA_CCR_HTIE); + + /* Clear all flags */ + BDMA->IFCR |= (BDMA_ISR_GIF0 << hdma->StreamIndex); + + /* Update error code */ + hdma->ErrorCode = HAL_DMA_ERROR_TE; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + + if (hdma->XferErrorCallback != NULL) + { + /* Transfer error callback */ + hdma->XferErrorCallback(hdma); + } + } + } +} + +/** + * @brief Register callbacks + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param CallbackID: User Callback identifer + * a DMA_HandleTypeDef structure as parameter. + * @param pCallback: pointer to private callbacsk function which has pointer to + * a DMA_HandleTypeDef structure as parameter. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID, void (* pCallback)(DMA_HandleTypeDef *_hdma)) +{ + + HAL_StatusTypeDef status = HAL_OK; + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hdma); + + if(HAL_DMA_STATE_READY == hdma->State) + { + switch (CallbackID) + { + case HAL_DMA_XFER_CPLT_CB_ID: + hdma->XferCpltCallback = pCallback; + break; + + case HAL_DMA_XFER_HALFCPLT_CB_ID: + hdma->XferHalfCpltCallback = pCallback; + break; + + case HAL_DMA_XFER_M1CPLT_CB_ID: + hdma->XferM1CpltCallback = pCallback; + break; + + case HAL_DMA_XFER_M1HALFCPLT_CB_ID: + hdma->XferM1HalfCpltCallback = pCallback; + break; + + case HAL_DMA_XFER_ERROR_CB_ID: + hdma->XferErrorCallback = pCallback; + break; + + case HAL_DMA_XFER_ABORT_CB_ID: + hdma->XferAbortCallback = pCallback; + break; + + default: + break; + } + } + else + { + /* Return error status */ + status = HAL_ERROR; + } + + /* Release Lock */ + __HAL_UNLOCK(hdma); + + return status; +} + +/** + * @brief UnRegister callbacks + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param CallbackID: User Callback identifer + * a HAL_DMA_CallbackIDTypeDef ENUM as parameter. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the DMA peripheral handle */ + if(hdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hdma); + + if(HAL_DMA_STATE_READY == hdma->State) + { + switch (CallbackID) + { + case HAL_DMA_XFER_CPLT_CB_ID: + hdma->XferCpltCallback = NULL; + break; + + case HAL_DMA_XFER_HALFCPLT_CB_ID: + hdma->XferHalfCpltCallback = NULL; + break; + + case HAL_DMA_XFER_M1CPLT_CB_ID: + hdma->XferM1CpltCallback = NULL; + break; + + case HAL_DMA_XFER_M1HALFCPLT_CB_ID: + hdma->XferM1HalfCpltCallback = NULL; + break; + + case HAL_DMA_XFER_ERROR_CB_ID: + hdma->XferErrorCallback = NULL; + break; + + case HAL_DMA_XFER_ABORT_CB_ID: + hdma->XferAbortCallback = NULL; + break; + + case HAL_DMA_XFER_ALL_CB_ID: + hdma->XferCpltCallback = NULL; + hdma->XferHalfCpltCallback = NULL; + hdma->XferM1CpltCallback = NULL; + hdma->XferM1HalfCpltCallback = NULL; + hdma->XferErrorCallback = NULL; + hdma->XferAbortCallback = NULL; + break; + + default: + status = HAL_ERROR; + break; + } + } + else + { + status = HAL_ERROR; + } + + /* Release Lock */ + __HAL_UNLOCK(hdma); + + return status; +} + +/** + * @} + */ + +/** @addtogroup DMA_Exported_Functions_Group3 + * +@verbatim + =============================================================================== + ##### State and Errors functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to + (+) Check the DMA state + (+) Get error code + +@endverbatim + * @{ + */ + +/** + * @brief Returns the DMA state. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL state + */ +HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma) +{ + return hdma->State; +} + +/** + * @brief Return the DMA error code + * @param hdma : pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval DMA Error Code + */ +uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma) +{ + return hdma->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup DMA_Private_Functions + * @{ + */ + +/** + * @brief Sets the DMA Transfer parameter. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param SrcAddress: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param DataLength: The length of data to be transferred from source to destination + * @retval HAL status + */ +static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) +{ + /* calculate DMA base and stream number */ + DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + if(hdma->DMAmuxRequestGen != 0U) + { + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + } + + if(IS_D2_DMA_INSTANCE(hdma) != RESET) /* D2 Domain DMA : DMA1 or DMA2 */ + { + /* Clear all interrupt flags at correct offset within the register */ + regs->IFCR = 0x3FU << hdma->StreamIndex; + + /* Clear DBM bit */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR &= (uint32_t)(~DMA_SxCR_DBM); + + /* Configure DMA Stream data length */ + ((DMA_Stream_TypeDef *)hdma->Instance)->NDTR = DataLength; + + /* Peripheral to Memory */ + if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) + { + /* Configure DMA Stream destination address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->PAR = DstAddress; + + /* Configure DMA Stream source address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M0AR = SrcAddress; + } + /* Memory to Peripheral */ + else + { + /* Configure DMA Stream source address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->PAR = SrcAddress; + + /* Configure DMA Stream destination address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M0AR = DstAddress; + } + } + else if(IS_D3_DMA_INSTANCE(hdma)) /* D3 Domain BDMA */ + { + /* Clear all flags */ + BDMA->IFCR |= (BDMA_ISR_GIF0 << hdma->StreamIndex); + + /* Configure DMA Channel data length */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CNDTR = DataLength; + + /* Peripheral to Memory */ + if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) + { + /* Configure DMA Channel destination address */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CPAR = DstAddress; + + /* Configure DMA Channel source address */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CMAR = SrcAddress; + } + /* Memory to Peripheral */ + else + { + /* Configure DMA Channel source address */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CPAR = SrcAddress; + + /* Configure DMA Channel destination address */ + ((BDMA_Channel_TypeDef *)hdma->Instance)->CMAR = DstAddress; + } + } +} + +/** + * @brief Returns the DMA Stream base address depending on stream number + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval Stream base address + */ +static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma) +{ + uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; + + /* lookup table for necessary bitshift of flags within status registers */ + static const uint8_t flagBitshiftOffset[8U] = {0U, 6U, 16U, 22U, 0U, 6U, 16U, 22U}; + hdma->StreamIndex = flagBitshiftOffset[stream_number]; + + if (stream_number > 3U) + { + /* return pointer to HISR and HIFCR */ + hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U); + } + else + { + /* return pointer to LISR and LIFCR */ + hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)); + } + + return hdma->StreamBaseAddress; +} + +/** + * @brief Check compatibility between FIFO threshold level and size of the memory burst + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Memory Data size equal to Byte */ + if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE) + { + switch (hdma->Init.FIFOThreshold) + { + case DMA_FIFO_THRESHOLD_1QUARTERFULL: + case DMA_FIFO_THRESHOLD_3QUARTERSFULL: + + if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) + { + status = HAL_ERROR; + } + break; + + case DMA_FIFO_THRESHOLD_HALFFULL: + if (hdma->Init.MemBurst == DMA_MBURST_INC16) + { + status = HAL_ERROR; + } + break; + + case DMA_FIFO_THRESHOLD_FULL: + break; + + default: + break; + } + } + + /* Memory Data size equal to Half-Word */ + else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) + { + switch (hdma->Init.FIFOThreshold) + { + case DMA_FIFO_THRESHOLD_1QUARTERFULL: + case DMA_FIFO_THRESHOLD_3QUARTERSFULL: + status = HAL_ERROR; + break; + + case DMA_FIFO_THRESHOLD_HALFFULL: + if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) + { + status = HAL_ERROR; + } + break; + + case DMA_FIFO_THRESHOLD_FULL: + if (hdma->Init.MemBurst == DMA_MBURST_INC16) + { + status = HAL_ERROR; + } + break; + + default: + break; + } + } + + /* Memory Data size equal to Word */ + else + { + switch (hdma->Init.FIFOThreshold) + { + case DMA_FIFO_THRESHOLD_1QUARTERFULL: + case DMA_FIFO_THRESHOLD_HALFFULL: + case DMA_FIFO_THRESHOLD_3QUARTERSFULL: + status = HAL_ERROR; + break; + + case DMA_FIFO_THRESHOLD_FULL: + if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) + { + status = HAL_ERROR; + } + break; + + default: + break; + } + } + + return status; +} + +/** + * @brief Updates the DMA handle with the DMAMUX channel and status mask depending on stream number + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +static void DMA_CalcDMAMUXChannelBaseAndMask(DMA_HandleTypeDef *hdma) +{ + uint32_t stream_number = 0U; + uint32_t stream_baseaddress = (uint32_t)hdma->Instance; + + if((stream_baseaddress <= ((uint32_t)BDMA_Channel7) ) && \ + (stream_baseaddress >= ((uint32_t)BDMA_Channel0))) + { + /*BDMA Channels are connected to DMAMUX2 channels*/ + stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 8U) / 20U; + hdma->DMAmuxChannel = (DMAMUX_Channel_TypeDef *)((uint32_t)(((uint32_t)DMAMUX2_Channel0) + (stream_number * 4U))); + hdma->DMAmuxChannelStatus = DMAMUX2_ChannelStatus; + hdma->DMAmuxChannelStatusMask = 1U << stream_number; + } + else + { + /*DMA1/DMA2 Streams are connected to DMAMUX1 channels*/ + stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; + + if((stream_baseaddress <= ((uint32_t)DMA2_Stream7) ) && \ + (stream_baseaddress >= ((uint32_t)DMA2_Stream0))) + { + stream_number += 8U; + } + hdma->DMAmuxChannel = (DMAMUX_Channel_TypeDef *)((uint32_t)(((uint32_t)DMAMUX1_Channel0) + (stream_number * 4U))); + hdma->DMAmuxChannelStatus = DMAMUX1_ChannelStatus; + hdma->DMAmuxChannelStatusMask = 1U << stream_number; + } +} + +/** + * @brief Updates the DMA handle with the DMAMUX request generator params + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +static void DMA_CalcDMAMUXRequestGenBaseAndMask(DMA_HandleTypeDef *hdma) +{ + uint32_t stream_baseaddress = (uint32_t)hdma->Instance; + uint32_t request = hdma->Init.Request & DMAMUX_CxCR_DMAREQ_ID; + + if((request >= DMA_REQUEST_GENERATOR0) && (request <= DMA_REQUEST_GENERATOR7)) + { + if((stream_baseaddress <= ((uint32_t)BDMA_Channel7) ) && \ + (stream_baseaddress >= ((uint32_t)BDMA_Channel0))) + { + /*BDMA Channels are connected to DMAMUX2 request generator blocks*/ + hdma->DMAmuxRequestGen = (DMAMUX_RequestGen_TypeDef *)((uint32_t)(((uint32_t)DMAMUX2_RequestGenerator0) + ((request - 1U) * 4U))); + + hdma->DMAmuxRequestGenStatus = DMAMUX2_RequestGenStatus; + } + else + { + /*DMA1 and DMA2 Streams use DMAMUX1 request generator blocks*/ + hdma->DMAmuxRequestGen = (DMAMUX_RequestGen_TypeDef *)((uint32_t)(((uint32_t)DMAMUX1_RequestGenerator0) + ((request - 1U) * 4U))); + + hdma->DMAmuxRequestGenStatus = DMAMUX1_RequestGenStatus; + } + + hdma->DMAmuxRequestGenStatusMask = 1U << (request - 1U); + } +} + +/** + * @} + */ + +#endif /* HAL_DMA_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c new file mode 100644 index 0000000000..29779714f7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c @@ -0,0 +1,1750 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dma2d.c + * @author MCD Application Team + * @brief DMA2D HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the DMA2D peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State and Errors functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Program the required configuration through the following parameters: + the transfer mode, the output color mode and the output offset using + HAL_DMA2D_Init() function. + + (#) Program the required configuration through the following parameters: + the input color mode, the input color, the input alpha value, the alpha mode, + the red/blue swap mode, the inverted alpha mode and the input offset using + HAL_DMA2D_ConfigLayer() function for foreground or/and background layer. + + *** Polling mode IO operation *** + ================================= + [..] + (#) Configure pdata parameter (explained hereafter), destination and data length + and enable the transfer using HAL_DMA2D_Start(). + (#) Wait for end of transfer using HAL_DMA2D_PollForTransfer(), at this stage + user can specify the value of timeout according to his end application. + + *** Interrupt mode IO operation *** + =================================== + [..] + (#) Configure pdata parameter, destination and data length and enable + the transfer using HAL_DMA2D_Start_IT(). + (#) Use HAL_DMA2D_IRQHandler() called under DMA2D_IRQHandler() interrupt subroutine. + (#) At the end of data transfer HAL_DMA2D_IRQHandler() function is executed and user can + add his own function by customization of function pointer XferCpltCallback (member + of DMA2D handle structure). + (#) In case of error, the HAL_DMA2D_IRQHandler() function will call the callback + XferErrorCallback. + + -@- In Register-to-Memory transfer mode, pdata parameter is the register + color, in Memory-to-memory or Memory-to-Memory with pixel format + conversion pdata is the source address. + + -@- Configure the foreground source address, the background source address, + the destination and data length then Enable the transfer using + HAL_DMA2D_BlendingStart() in polling mode and HAL_DMA2D_BlendingStart_IT() + in interrupt mode. + + -@- HAL_DMA2D_BlendingStart() and HAL_DMA2D_BlendingStart_IT() functions + are used if the memory to memory with blending transfer mode is selected. + + (#) Optionally, configure and enable the CLUT using HAL_DMA2D_CLUTLoad() in polling + mode or HAL_DMA2D_CLUTLoad_IT() in interrupt mode. + + (#) Optionally, configure the line watermark in using the API HAL_DMA2D_ProgramLineEvent() + + (#) Optionally, configure the dead time value in the AHB clock cycle inserted between two + consecutive accesses on the AHB master port in using the API HAL_DMA2D_ConfigDeadTime() + and enable/disable the functionality with the APIs HAL_DMA2D_EnableDeadTime() or + HAL_DMA2D_DisableDeadTime(). + + (#) The transfer can be suspended, resumed and aborted using the following + functions: HAL_DMA2D_Suspend(), HAL_DMA2D_Resume(), HAL_DMA2D_Abort(). + + (#) The CLUT loading can be suspended, resumed and aborted using the following + functions: HAL_DMA2D_CLUTLoading_Suspend(), HAL_DMA2D_CLUTLoading_Resume(), + HAL_DMA2D_CLUTLoading_Abort(). + + (#) To control the DMA2D state, use the following function: HAL_DMA2D_GetState(). + + (#) To read the DMA2D error code, use the following function: HAL_DMA2D_GetError(). + + *** DMA2D HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in DMA2D HAL driver : + + (+) __HAL_DMA2D_ENABLE: Enable the DMA2D peripheral. + (+) __HAL_DMA2D_GET_FLAG: Get the DMA2D pending flags. + (+) __HAL_DMA2D_CLEAR_FLAG: Clear the DMA2D pending flags. + (+) __HAL_DMA2D_ENABLE_IT: Enable the specified DMA2D interrupts. + (+) __HAL_DMA2D_DISABLE_IT: Disable the specified DMA2D interrupts. + (+) __HAL_DMA2D_GET_IT_SOURCE: Check whether the specified DMA2D interrupt is enabled or not. + + [..] + (@) You can refer to the DMA2D HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup DMA2D DMA2D + * @brief DMA2D HAL module driver + * @{ + */ + +#ifdef HAL_DMA2D_MODULE_ENABLED + +/* Private types -------------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup DMA2D_Private_Constants DMA2D Private Constants + * @{ + */ + +/** @defgroup DMA2D_TimeOut DMA2D Time Out + * @{ + */ +#define DMA2D_TIMEOUT_ABORT ((uint32_t)1000) /*!< 1s */ +#define DMA2D_TIMEOUT_SUSPEND ((uint32_t)1000) /*!< 1s */ +/** + * @} + */ + +/** @defgroup DMA2D_Shifts DMA2D Shifts + * @{ + */ +#define DMA2D_POSITION_FGPFCCR_CS (uint32_t)POSITION_VAL(DMA2D_FGPFCCR_CS) /*!< Required left shift to set foreground CLUT size */ +#define DMA2D_POSITION_BGPFCCR_CS (uint32_t)POSITION_VAL(DMA2D_BGPFCCR_CS) /*!< Required left shift to set background CLUT size */ + +#define DMA2D_POSITION_FGPFCCR_CCM (uint32_t)POSITION_VAL(DMA2D_FGPFCCR_CCM) /*!< Required left shift to set foreground CLUT color mode */ +#define DMA2D_POSITION_BGPFCCR_CCM (uint32_t)POSITION_VAL(DMA2D_BGPFCCR_CCM) /*!< Required left shift to set background CLUT color mode */ + +#define DMA2D_POSITION_OPFCCR_AI (uint32_t)POSITION_VAL(DMA2D_OPFCCR_AI) /*!< Required left shift to set output alpha inversion */ +#define DMA2D_POSITION_FGPFCCR_AI (uint32_t)POSITION_VAL(DMA2D_FGPFCCR_AI) /*!< Required left shift to set foreground alpha inversion */ +#define DMA2D_POSITION_BGPFCCR_AI (uint32_t)POSITION_VAL(DMA2D_BGPFCCR_AI) /*!< Required left shift to set background alpha inversion */ + +#define DMA2D_POSITION_OPFCCR_RBS (uint32_t)POSITION_VAL(DMA2D_OPFCCR_RBS) /*!< Required left shift to set output Red/Blue swap */ +#define DMA2D_POSITION_FGPFCCR_RBS (uint32_t)POSITION_VAL(DMA2D_FGPFCCR_RBS) /*!< Required left shift to set foreground Red/Blue swap */ +#define DMA2D_POSITION_BGPFCCR_RBS (uint32_t)POSITION_VAL(DMA2D_BGPFCCR_RBS) /*!< Required left shift to set background Red/Blue swap */ + +#define DMA2D_POSITION_AMTCR_DT (uint32_t)POSITION_VAL(DMA2D_AMTCR_DT) /*!< Required left shift to set deadtime value */ + +#define DMA2D_POSITION_FGPFCCR_AM (uint32_t)POSITION_VAL(DMA2D_FGPFCCR_AM) /*!< Required left shift to set foreground alpha mode */ +#define DMA2D_POSITION_BGPFCCR_AM (uint32_t)POSITION_VAL(DMA2D_BGPFCCR_AM) /*!< Required left shift to set background alpha mode */ + +#define DMA2D_POSITION_FGPFCCR_ALPHA (uint32_t)POSITION_VAL(DMA2D_FGPFCCR_ALPHA) /*!< Required left shift to set foreground alpha value */ +#define DMA2D_POSITION_BGPFCCR_ALPHA (uint32_t)POSITION_VAL(DMA2D_BGPFCCR_ALPHA) /*!< Required left shift to set background alpha value */ + +#define DMA2D_POSITION_NLR_PL (uint32_t)POSITION_VAL(DMA2D_NLR_PL) /*!< Required left shift to set pixels per lines value */ + +#define DMA2D_POSITION_FGPFCCR_CSS (uint32_t)POSITION_VAL(DMA2D_FGPFCCR_CSS) /*!< Required left shift to set foreground Chroma sub-sampling */ +/** + * @} + */ + +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup DMA2D_Private_Functions_Prototypes + * @{ + */ +static void DMA2D_SetConfig(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height); +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup DMA2D_Exported_Functions DMA2D Exported Functions + * @{ + */ + +/** @defgroup DMA2D_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize and configure the DMA2D + (+) De-initialize the DMA2D + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the DMA2D according to the specified + * parameters in the DMA2D_InitTypeDef and create the associated handle. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d) +{ + /* Check the DMA2D peripheral state */ + if(hdma2d == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_DMA2D_ALL_INSTANCE(hdma2d->Instance)); + assert_param(IS_DMA2D_MODE(hdma2d->Init.Mode)); + assert_param(IS_DMA2D_CMODE(hdma2d->Init.ColorMode)); + assert_param(IS_DMA2D_OFFSET(hdma2d->Init.OutputOffset)); + + if(hdma2d->State == HAL_DMA2D_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hdma2d->Lock = HAL_UNLOCKED; + /* Init the low level hardware */ + HAL_DMA2D_MspInit(hdma2d); + } + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* DMA2D CR register configuration -------------------------------------------*/ + MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE, hdma2d->Init.Mode); + + /* DMA2D OPFCCR register configuration ---------------------------------------*/ + MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM, hdma2d->Init.ColorMode); + + /* DMA2D OOR register configuration ------------------------------------------*/ + MODIFY_REG(hdma2d->Instance->OOR, DMA2D_OOR_LO, hdma2d->Init.OutputOffset); + + /* DMA2D OPFCCR AI fields setting (Output Alpha Inversion)*/ + MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_AI, (hdma2d->Init.AlphaInverted << DMA2D_POSITION_OPFCCR_AI)); + + MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_RBS,(hdma2d->Init.RedBlueSwap << DMA2D_POSITION_OPFCCR_RBS)); + + + /* Update error code */ + hdma2d->ErrorCode = HAL_DMA2D_ERROR_NONE; + + /* Initialize the DMA2D state*/ + hdma2d->State = HAL_DMA2D_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Deinitializes the DMA2D peripheral registers to their default reset + * values. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval None + */ + +HAL_StatusTypeDef HAL_DMA2D_DeInit(DMA2D_HandleTypeDef *hdma2d) +{ + + /* Check the DMA2D peripheral state */ + if(hdma2d == NULL) + { + return HAL_ERROR; + } + + /* Abort DMA2D transfer if any */ + if ((hdma2d->Instance->CR & DMA2D_CR_START) == DMA2D_CR_START) + { + if (HAL_DMA2D_Abort(hdma2d) != HAL_OK) + { + /* Issue when aborting DMA2D transfer */ + return HAL_ERROR; + } + } + else + { + /* Abort background CLUT loading if any */ + if ((hdma2d->Instance->BGPFCCR & DMA2D_BGPFCCR_START) == DMA2D_BGPFCCR_START) + { + if (HAL_DMA2D_CLUTLoading_Abort(hdma2d, 0) != HAL_OK) + { + /* Issue when aborting background CLUT loading */ + return HAL_ERROR; + } + } + else + { + /* Abort foreground CLUT loading if any */ + if ((hdma2d->Instance->FGPFCCR & DMA2D_FGPFCCR_START) == DMA2D_FGPFCCR_START) + { + if (HAL_DMA2D_CLUTLoading_Abort(hdma2d, 1) != HAL_OK) + { + /* Issue when aborting foreground CLUT loading */ + return HAL_ERROR; + } + } + } + } + + + + /* Carry on with de-initialization of low level hardware */ + HAL_DMA2D_MspDeInit(hdma2d); + + /* Reset DMA2D control registers*/ + hdma2d->Instance->CR = 0; + hdma2d->Instance->FGOR = 0; + hdma2d->Instance->BGOR = 0; + hdma2d->Instance->FGPFCCR = 0; + hdma2d->Instance->BGPFCCR = 0; + hdma2d->Instance->OPFCCR = 0; + + /* Update error code */ + hdma2d->ErrorCode = HAL_DMA2D_ERROR_NONE; + + /* Initialize the DMA2D state*/ + hdma2d->State = HAL_DMA2D_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @brief Initializes the DMA2D MSP. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval None + */ +__weak void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdma2d); + + /* NOTE : This function should not be modified; when the callback is needed, + the HAL_DMA2D_MspInit can be implemented in the user file. + */ +} + +/** + * @brief DeInitializes the DMA2D MSP. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval None + */ +__weak void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdma2d); + + /* NOTE : This function should not be modified; when the callback is needed, + the HAL_DMA2D_MspDeInit can be implemented in the user file. + */ +} + +/** + * @} + */ + + +/** @defgroup DMA2D_Exported_Functions_Group2 IO operation functions + * @brief IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure the pdata, destination address and data size then + start the DMA2D transfer. + (+) Configure the source for foreground and background, destination address + and data size then start a MultiBuffer DMA2D transfer. + (+) Configure the pdata, destination address and data size then + start the DMA2D transfer with interrupt. + (+) Configure the source for foreground and background, destination address + and data size then start a MultiBuffer DMA2D transfer with interrupt. + (+) Abort DMA2D transfer. + (+) Suspend DMA2D transfer. + (+) Resume DMA2D transfer. + (+) Enable CLUT transfer. + (+) Configure CLUT loading then start transfer in polling mode. + (+) Configure CLUT loading then start transfer in interrupt mode. + (+) Abort DMA2D CLUT loading. + (+) Suspend DMA2D CLUT loading. + (+) Resume DMA2D CLUT loading. + (+) Poll for transfer complete. + (+) handle DMA2D interrupt request. + (+) Transfer watermark callback. + (+) CLUT Transfer Complete callback. + + +@endverbatim + * @{ + */ + +/** + * @brief Start the DMA2D Transfer. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param pdata: Configure the source memory Buffer address if + * Memory-to-Memory or Memory-to-Memory with pixel format + * conversion mode is selected, or configure + * the color value if Register-to-Memory mode is selected. + * @param DstAddress: The destination memory Buffer address. + * @param Width: The width of data to be transferred from source to destination (expressed in number of pixels per line). + * @param Height: The height of data to be transferred from source to destination (expressed in number of lines). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_Start(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LINE(Height)); + assert_param(IS_DMA2D_PIXEL(Width)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Configure the source, destination address and the data size */ + DMA2D_SetConfig(hdma2d, pdata, DstAddress, Width, Height); + + /* Enable the Peripheral */ + __HAL_DMA2D_ENABLE(hdma2d); + + return HAL_OK; +} + +/** + * @brief Start the DMA2D Transfer with interrupt enabled. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param pdata: Configure the source memory Buffer address if + * the Memory-to-Memory or Memory-to-Memory with pixel format + * conversion mode is selected, or configure + * the color value if Register-to-Memory mode is selected. + * @param DstAddress: The destination memory Buffer address. + * @param Width: The width of data to be transferred from source to destination (expressed in number of pixels per line). + * @param Height: The height of data to be transferred from source to destination (expressed in number of lines). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_Start_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LINE(Height)); + assert_param(IS_DMA2D_PIXEL(Width)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Configure the source, destination address and the data size */ + DMA2D_SetConfig(hdma2d, pdata, DstAddress, Width, Height); + + /* Enable the transfer complete, transfer error and configuration error interrupts */ + __HAL_DMA2D_ENABLE_IT(hdma2d, DMA2D_IT_TC|DMA2D_IT_TE|DMA2D_IT_CE); + + /* Enable the Peripheral */ + __HAL_DMA2D_ENABLE(hdma2d); + + return HAL_OK; +} + +/** + * @brief Start the multi-source DMA2D Transfer. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param SrcAddress1: The source memory Buffer address for the foreground layer. + * @param SrcAddress2: The source memory Buffer address for the background layer. + * @param DstAddress: The destination memory Buffer address. + * @param Width: The width of data to be transferred from source to destination (expressed in number of pixels per line). + * @param Height: The height of data to be transferred from source to destination (expressed in number of lines). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_BlendingStart(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LINE(Height)); + assert_param(IS_DMA2D_PIXEL(Width)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Configure DMA2D Stream source2 address */ + WRITE_REG(hdma2d->Instance->BGMAR, SrcAddress2); + + /* Configure the source, destination address and the data size */ + DMA2D_SetConfig(hdma2d, SrcAddress1, DstAddress, Width, Height); + + /* Enable the Peripheral */ + __HAL_DMA2D_ENABLE(hdma2d); + + return HAL_OK; +} + +/** + * @brief Start the multi-source DMA2D Transfer with interrupt enabled. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param SrcAddress1: The source memory Buffer address for the foreground layer. + * @param SrcAddress2: The source memory Buffer address for the background layer. + * @param DstAddress: The destination memory Buffer address. + * @param Width: The width of data to be transferred from source to destination (expressed in number of pixels per line). + * @param Height: The height of data to be transferred from source to destination (expressed in number of lines). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_BlendingStart_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LINE(Height)); + assert_param(IS_DMA2D_PIXEL(Width)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Configure DMA2D Stream source2 address */ + WRITE_REG(hdma2d->Instance->BGMAR, SrcAddress2); + + /* Configure the source, destination address and the data size */ + DMA2D_SetConfig(hdma2d, SrcAddress1, DstAddress, Width, Height); + + /* Enable the transfer complete, transfer error and configuration error interrupts */ + __HAL_DMA2D_ENABLE_IT(hdma2d, DMA2D_IT_TC|DMA2D_IT_TE|DMA2D_IT_CE); + + /* Enable the Peripheral */ + __HAL_DMA2D_ENABLE(hdma2d); + + return HAL_OK; +} + +/** + * @brief Abort the DMA2D Transfer. + * @param hdma2d : pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_Abort(DMA2D_HandleTypeDef *hdma2d) +{ + uint32_t tickstart = 0; + + /* Abort the DMA2D transfer */ + /* START bit is reset to make sure not to set it again, in the event the HW clears it + between the register read and the register write by the CPU (writing �0� has no + effect on START bitvalue). */ + MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_ABORT|DMA2D_CR_START, DMA2D_CR_ABORT); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Check if the DMA2D is effectively disabled */ + while((hdma2d->Instance->CR & DMA2D_CR_START) != RESET) + { + if((HAL_GetTick() - tickstart ) > DMA2D_TIMEOUT_ABORT) + { + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; + + /* Change the DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_TIMEOUT; + } + } + + /* Disable the Transfer Complete, Transfer Error and Configuration Error interrupts */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TC|DMA2D_IT_TE|DMA2D_IT_CE); + + /* Change the DMA2D state*/ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @brief Suspend the DMA2D Transfer. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_Suspend(DMA2D_HandleTypeDef *hdma2d) +{ + uint32_t tickstart = 0; + + /* Suspend the DMA2D transfer */ + /* START bit is reset to make sure not to set it again, in the event the HW clears it + between the register read and the register write by the CPU (writing �0� has no + effect on START bitvalue). */ + MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_SUSP|DMA2D_CR_START, DMA2D_CR_SUSP); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Check if the DMA2D is effectively suspended */ + while (((hdma2d->Instance->CR & DMA2D_CR_SUSP) != DMA2D_CR_SUSP) \ + && ((hdma2d->Instance->CR & DMA2D_CR_START) == DMA2D_CR_START)) + { + if((HAL_GetTick() - tickstart ) > DMA2D_TIMEOUT_SUSPEND) + { + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; + + /* Change the DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; + + return HAL_TIMEOUT; + } + } + + /* Check whether or not a transfer is actually suspended and change the DMA2D state accordingly */ + if ((hdma2d->Instance->CR & DMA2D_CR_START) != RESET) + { + hdma2d->State = HAL_DMA2D_STATE_SUSPEND; + } + else + { + /* Make sure SUSP bit is cleared since it is meaningless + when no tranfer is on-going */ + CLEAR_BIT(hdma2d->Instance->CR, DMA2D_CR_SUSP); + } + + return HAL_OK; +} + +/** + * @brief Resume the DMA2D Transfer. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_Resume(DMA2D_HandleTypeDef *hdma2d) +{ + /* Check the SUSP and START bits */ + if((hdma2d->Instance->CR & (DMA2D_CR_SUSP | DMA2D_CR_START)) == (DMA2D_CR_SUSP | DMA2D_CR_START)) + { + /* Ongoing transfer is suspended: change the DMA2D state before resuming */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + } + + /* Resume the DMA2D transfer */ + /* START bit is reset to make sure not to set it again, in the event the HW clears it + between the register read and the register write by the CPU (writing �0� has no + effect on START bitvalue). */ + CLEAR_BIT(hdma2d->Instance->CR, (DMA2D_CR_SUSP|DMA2D_CR_START)); + + return HAL_OK; +} + + +/** + * @brief Enable the DMA2D CLUT Transfer. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_EnableCLUT(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + if(LayerIdx == 0) + { + /* Enable the background CLUT loading */ + SET_BIT(hdma2d->Instance->BGPFCCR, DMA2D_BGPFCCR_START); + } + else + { + /* Enable the foreground CLUT loading */ + SET_BIT(hdma2d->Instance->FGPFCCR, DMA2D_FGPFCCR_START); + } + + return HAL_OK; +} + + +/** + * @brief Start DMA2D CLUT Loading. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param CLUTCfg: Pointer to a DMA2D_CLUTCfgTypeDef structure that contains + * the configuration information for the color look up table. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @note Invoking this API is similar to calling HAL_DMA2D_ConfigCLUT() then HAL_DMA2D_EnableCLUT(). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_CLUTLoad(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LAYER(LayerIdx)); + assert_param(IS_DMA2D_CLUT_CM(CLUTCfg.CLUTColorMode)); + assert_param(IS_DMA2D_CLUT_SIZE(CLUTCfg.Size)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Configure the CLUT of the background DMA2D layer */ + if(LayerIdx == 0) + { + /* Write background CLUT memory address */ + WRITE_REG(hdma2d->Instance->BGCMAR, (uint32_t)CLUTCfg.pCLUT); + + /* Write background CLUT size and CLUT color mode */ + MODIFY_REG(hdma2d->Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM), + ((CLUTCfg.Size << DMA2D_POSITION_BGPFCCR_CS) | (CLUTCfg.CLUTColorMode << DMA2D_POSITION_BGPFCCR_CCM))); + + /* Enable the CLUT loading for the background */ + SET_BIT(hdma2d->Instance->BGPFCCR, DMA2D_BGPFCCR_START); + } + /* Configure the CLUT of the foreground DMA2D layer */ + else + { + /* Write foreground CLUT memory address */ + WRITE_REG(hdma2d->Instance->FGCMAR, (uint32_t)CLUTCfg.pCLUT); + + /* Write foreground CLUT size and CLUT color mode */ + MODIFY_REG(hdma2d->Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), + ((CLUTCfg.Size << DMA2D_POSITION_BGPFCCR_CS) | (CLUTCfg.CLUTColorMode << DMA2D_POSITION_FGPFCCR_CCM))); + + /* Enable the CLUT loading for the foreground */ + SET_BIT(hdma2d->Instance->FGPFCCR, DMA2D_FGPFCCR_START); + } + + return HAL_OK; +} + +/** + * @brief Start DMA2D CLUT Loading with interrupt enabled. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param CLUTCfg: Pointer to a DMA2D_CLUTCfgTypeDef structure that contains + * the configuration information for the color look up table. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_CLUTLoad_IT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LAYER(LayerIdx)); + assert_param(IS_DMA2D_CLUT_CM(CLUTCfg.CLUTColorMode)); + assert_param(IS_DMA2D_CLUT_SIZE(CLUTCfg.Size)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Configure the CLUT of the background DMA2D layer */ + if(LayerIdx == 0) + { + /* Write background CLUT memory address */ + WRITE_REG(hdma2d->Instance->BGCMAR, (uint32_t)CLUTCfg.pCLUT); + + /* Write background CLUT size and CLUT color mode */ + MODIFY_REG(hdma2d->Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM), + ((CLUTCfg.Size << DMA2D_POSITION_BGPFCCR_CS) | (CLUTCfg.CLUTColorMode << DMA2D_POSITION_BGPFCCR_CCM))); + + /* Enable the CLUT Transfer Complete, transfer Error, configuration Error and CLUT Access Error interrupts */ + __HAL_DMA2D_ENABLE_IT(hdma2d, DMA2D_IT_CTC | DMA2D_IT_TE | DMA2D_IT_CE |DMA2D_IT_CAE); + + /* Enable the CLUT loading for the background */ + SET_BIT(hdma2d->Instance->BGPFCCR, DMA2D_BGPFCCR_START); + } + /* Configure the CLUT of the foreground DMA2D layer */ + else + { + /* Write foreground CLUT memory address */ + WRITE_REG(hdma2d->Instance->FGCMAR, (uint32_t)CLUTCfg.pCLUT); + + /* Write foreground CLUT size and CLUT color mode */ + MODIFY_REG(hdma2d->Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), + ((CLUTCfg.Size << DMA2D_POSITION_BGPFCCR_CS) | (CLUTCfg.CLUTColorMode << DMA2D_POSITION_FGPFCCR_CCM))); + + /* Enable the CLUT Transfer Complete, transfer Error, configuration Error and CLUT Access Error interrupts */ + __HAL_DMA2D_ENABLE_IT(hdma2d, DMA2D_IT_CTC | DMA2D_IT_TE | DMA2D_IT_CE |DMA2D_IT_CAE); + + /* Enable the CLUT loading for the foreground */ + SET_BIT(hdma2d->Instance->FGPFCCR, DMA2D_FGPFCCR_START); + } + + return HAL_OK; +} + +/** + * @brief Abort the DMA2D CLUT loading. + * @param hdma2d : Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Abort(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx) +{ + uint32_t tickstart = 0; + __IO uint32_t * reg = &(hdma2d->Instance->BGPFCCR); /* by default, point at background register */ + uint32_t mask = DMA2D_BGPFCCR_START; /* by default, set to background constant */ + + + /* Abort the CLUT loading */ + SET_BIT(hdma2d->Instance->CR, DMA2D_CR_ABORT); + + /* If foreground CLUT loading is considered, update local variables */ + if(LayerIdx == 1) + { + reg = &(hdma2d->Instance->FGPFCCR); + } + + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Check if the CLUT loading is aborted */ + while((*reg & mask) != RESET) + { + if((HAL_GetTick() - tickstart ) > DMA2D_TIMEOUT_ABORT) + { + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; + + /* Change the DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_TIMEOUT; + } + } + + /* Disable the CLUT Transfer Complete, Transfer Error, Configuration Error and CLUT Access Error interrupts */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CTC | DMA2D_IT_TE | DMA2D_IT_CE |DMA2D_IT_CAE); + + /* Change the DMA2D state*/ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @brief Suspend the DMA2D CLUT loading. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Suspend(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx) +{ + uint32_t tickstart = 0; + __IO uint32_t * reg = &(hdma2d->Instance->BGPFCCR); /* by default, point at background register */ + uint32_t mask = DMA2D_BGPFCCR_START; /* by default, set to background constant */ + + + /* Suspend the CLUT loading */ + SET_BIT(hdma2d->Instance->CR, DMA2D_CR_SUSP); + + /* If foreground CLUT loading is considered, update local variables */ + if(LayerIdx == 1) + { + reg = &(hdma2d->Instance->FGPFCCR); + } + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Check if the CLUT loading is suspended */ + while (((hdma2d->Instance->CR & DMA2D_CR_SUSP) != DMA2D_CR_SUSP) \ + && ((*reg & mask) == mask)) + { + if((HAL_GetTick() - tickstart ) > DMA2D_TIMEOUT_SUSPEND) + { + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; + + /* Change the DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; + + return HAL_TIMEOUT; + } + } + + /* Check whether or not a transfer is actually suspended and change the DMA2D state accordingly */ + if ((*reg & mask) != RESET) + { + hdma2d->State = HAL_DMA2D_STATE_SUSPEND; + } + else + { + /* Make sure SUSP bit is cleared since it is meaningless + when no tranfer is on-going */ + CLEAR_BIT(hdma2d->Instance->CR, DMA2D_CR_SUSP); + } + + return HAL_OK; +} + +/** + * @brief Resume the DMA2D CLUT loading. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Resume(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx) +{ + /* Check the SUSP and START bits for background or foreground CLUT loading */ + if(LayerIdx == 0) + { + /* Background CLUT loading suspension check */ + if (((hdma2d->Instance->CR & DMA2D_CR_SUSP) == DMA2D_CR_SUSP) + && ((hdma2d->Instance->BGPFCCR & DMA2D_BGPFCCR_START) == DMA2D_BGPFCCR_START)) + { + /* Ongoing CLUT loading is suspended: change the DMA2D state before resuming */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + } + } + else + { + /* Foreground CLUT loading suspension check */ + if (((hdma2d->Instance->CR & DMA2D_CR_SUSP) == DMA2D_CR_SUSP) + && ((hdma2d->Instance->FGPFCCR & DMA2D_FGPFCCR_START) == DMA2D_FGPFCCR_START)) + { + /* Ongoing CLUT loading is suspended: change the DMA2D state before resuming */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + } + } + + /* Resume the CLUT loading */ + CLEAR_BIT(hdma2d->Instance->CR, DMA2D_CR_SUSP); + + return HAL_OK; +} + + +/** + + * @brief Polling for transfer complete or CLUT loading. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout) +{ + uint32_t tickstart = 0; + __IO uint32_t isrflags = 0x0; + + /* Polling for DMA2D transfer */ + if((hdma2d->Instance->CR & DMA2D_CR_START) != RESET) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + while(__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == RESET) + { + isrflags = READ_REG(hdma2d->Instance->ISR); + if ((isrflags & (DMA2D_FLAG_CE|DMA2D_FLAG_TE)) != RESET) + { + if ((isrflags & DMA2D_FLAG_CE) != RESET) + { + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; + } + if ((isrflags & DMA2D_FLAG_TE) != RESET) + { + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; + } + /* Clear the transfer and configuration error flags */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CE | DMA2D_FLAG_TE); + + /* Change DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_ERROR; + } + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; + + /* Change the DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_TIMEOUT; + } + } + } + } + /* Polling for CLUT loading (foreground or background) */ + if (((hdma2d->Instance->FGPFCCR & DMA2D_FGPFCCR_START) != RESET) || + ((hdma2d->Instance->BGPFCCR & DMA2D_BGPFCCR_START) != RESET)) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + while(__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == RESET) + { + isrflags = READ_REG(hdma2d->Instance->ISR); + if ((isrflags & (DMA2D_FLAG_CAE|DMA2D_FLAG_CE|DMA2D_FLAG_TE)) != RESET) + { + if ((isrflags & DMA2D_FLAG_CAE) != RESET) + { + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CAE; + } + if ((isrflags & DMA2D_FLAG_CE) != RESET) + { + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; + } + if ((isrflags & DMA2D_FLAG_TE) != RESET) + { + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; + } + /* Clear the CLUT Access Error, Configuration Error and Transfer Error flags */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CAE | DMA2D_FLAG_CE | DMA2D_FLAG_TE); + + /* Change DMA2D state */ + hdma2d->State= HAL_DMA2D_STATE_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_ERROR; + } + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; + + /* Change the DMA2D state */ + hdma2d->State= HAL_DMA2D_STATE_TIMEOUT; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_TIMEOUT; + } + } + } + } + + /* Clear the transfer complete and CLUT loading flags */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC|DMA2D_FLAG_CTC); + + /* Change DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} +/** + * @brief Handle DMA2D interrupt request. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval HAL status + */ +void HAL_DMA2D_IRQHandler(DMA2D_HandleTypeDef *hdma2d) +{ + uint32_t isrflags = READ_REG(hdma2d->Instance->ISR); + uint32_t crflags = READ_REG(hdma2d->Instance->CR); + + /* Transfer Error Interrupt management ***************************************/ + if ((isrflags & DMA2D_FLAG_TE) != RESET) + { + if ((crflags & DMA2D_IT_TE) != RESET) + { + /* Disable the transfer Error interrupt */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TE); + + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; + + /* Clear the transfer error flag */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TE); + + /* Change DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + if(hdma2d->XferErrorCallback != NULL) + { + /* Transfer error Callback */ + hdma2d->XferErrorCallback(hdma2d); + } + } + } + /* Configuration Error Interrupt management **********************************/ + if ((isrflags & DMA2D_FLAG_CE) != RESET) + { + if ((crflags & DMA2D_IT_CE) != RESET) + { + /* Disable the Configuration Error interrupt */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CE); + + /* Clear the Configuration error flag */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CE); + + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; + + /* Change DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + if(hdma2d->XferErrorCallback != NULL) + { + /* Transfer error Callback */ + hdma2d->XferErrorCallback(hdma2d); + } + } + } + /* CLUT access Error Interrupt management ***********************************/ + if ((isrflags & DMA2D_FLAG_CAE) != RESET) + { + if ((crflags & DMA2D_IT_CAE) != RESET) + { + /* Disable the CLUT access error interrupt */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CAE); + + /* Clear the CLUT access error flag */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CAE); + + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CAE; + + /* Change DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + if(hdma2d->XferErrorCallback != NULL) + { + /* Transfer error Callback */ + hdma2d->XferErrorCallback(hdma2d); + } + } + } + /* Transfer watermark Interrupt management **********************************/ + if ((isrflags & DMA2D_FLAG_TW) != RESET) + { + if ((crflags & DMA2D_IT_TW) != RESET) + { + /* Disable the transfer watermark interrupt */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TW); + + /* Clear the transfer watermark flag */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TW); + + /* Transfer watermark Callback */ + HAL_DMA2D_LineEventCallback(hdma2d); + } + } + /* Transfer Complete Interrupt management ************************************/ + if ((isrflags & DMA2D_FLAG_TC) != RESET) + { + if ((crflags & DMA2D_IT_TC) != RESET) + { + /* Disable the transfer complete interrupt */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_TC); + + /* Clear the transfer complete flag */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC); + + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_NONE; + + /* Change DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + if(hdma2d->XferCpltCallback != NULL) + { + /* Transfer complete Callback */ + hdma2d->XferCpltCallback(hdma2d); + } + } + } + /* CLUT Transfer Complete Interrupt management ******************************/ + if ((isrflags & DMA2D_FLAG_CTC) != RESET) + { + if ((crflags & DMA2D_IT_CTC) != RESET) + { + /* Disable the CLUT transfer complete interrupt */ + __HAL_DMA2D_DISABLE_IT(hdma2d, DMA2D_IT_CTC); + + /* Clear the CLUT transfer complete flag */ + __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CTC); + + /* Update error code */ + hdma2d->ErrorCode |= HAL_DMA2D_ERROR_NONE; + + /* Change DMA2D state */ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + /* CLUT Transfer complete Callback */ + HAL_DMA2D_CLUTLoadingCpltCallback(hdma2d); + } + } + +} + +/** + * @brief Transfer watermark callback. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval None + */ +__weak void HAL_DMA2D_LineEventCallback(DMA2D_HandleTypeDef *hdma2d) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdma2d); + + /* NOTE : This function should not be modified; when the callback is needed, + the HAL_DMA2D_LineEventCallback can be implemented in the user file. + */ +} + +/** + * @brief CLUT Transfer Complete callback. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval None + */ +__weak void HAL_DMA2D_CLUTLoadingCpltCallback(DMA2D_HandleTypeDef *hdma2d) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdma2d); + + /* NOTE : This function should not be modified; when the callback is needed, + the HAL_DMA2D_CLUTLoadingCpltCallback can be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup DMA2D_Exported_Functions_Group3 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure the DMA2D foreground or background layer parameters. + (+) Configure the DMA2D CLUT transfer. + (+) Configure the line watermark + (+) Configure the dead time value. + (+) Enable or disable the dead time value functionality. + + +@endverbatim + * @{ + */ + +/** + * @brief Configure the DMA2D Layer according to the specified + * parameters in the DMA2D_InitTypeDef and create the associated handle. + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_ConfigLayer(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx) +{ + DMA2D_LayerCfgTypeDef *pLayerCfg = &hdma2d->LayerCfg[LayerIdx]; + + uint32_t regMask = 0, regValue = 0; + + /* Check the parameters */ + assert_param(IS_DMA2D_LAYER(LayerIdx)); + assert_param(IS_DMA2D_OFFSET(pLayerCfg->InputOffset)); + if(hdma2d->Init.Mode != DMA2D_R2M) + { + assert_param(IS_DMA2D_INPUT_COLOR_MODE(pLayerCfg->InputColorMode)); + if(hdma2d->Init.Mode != DMA2D_M2M) + { + assert_param(IS_DMA2D_ALPHA_MODE(pLayerCfg->AlphaMode)); + } + } + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* DMA2D BGPFCR register configuration -----------------------------------*/ + /* Prepare the value to be written to the BGPFCCR register */ + + regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_POSITION_BGPFCCR_AM) | \ + (pLayerCfg->AlphaInverted << DMA2D_POSITION_BGPFCCR_AI) | \ + (pLayerCfg->RedBlueSwap << DMA2D_POSITION_BGPFCCR_RBS); + + regMask = DMA2D_BGPFCCR_CM | DMA2D_BGPFCCR_AM | DMA2D_BGPFCCR_ALPHA | DMA2D_BGPFCCR_AI | DMA2D_BGPFCCR_RBS; + + if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) + { + regValue |= (pLayerCfg->InputAlpha & DMA2D_BGPFCCR_ALPHA); + } + else + { + regValue |= (pLayerCfg->InputAlpha << DMA2D_POSITION_BGPFCCR_ALPHA); + } + + /* Configure the background DMA2D layer */ + if(LayerIdx == 0) + { + /* Write DMA2D BGPFCCR register */ + MODIFY_REG(hdma2d->Instance->BGPFCCR, regMask, regValue); + + /* DMA2D BGOR register configuration -------------------------------------*/ + WRITE_REG(hdma2d->Instance->BGOR, pLayerCfg->InputOffset); + + /* DMA2D BGCOLR register configuration -------------------------------------*/ + if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) + { + WRITE_REG(hdma2d->Instance->BGCOLR, pLayerCfg->InputAlpha & (DMA2D_BGCOLR_BLUE|DMA2D_BGCOLR_GREEN|DMA2D_BGCOLR_RED)); + } + } + /* Configure the foreground DMA2D layer */ + else + { + if(pLayerCfg->InputColorMode == DMA2D_INPUT_YCBCR) + { + regValue |= (pLayerCfg->ChromaSubSampling << DMA2D_POSITION_FGPFCCR_CSS); + regMask |= DMA2D_FGPFCCR_CSS; + } + + /* Write DMA2D FGPFCCR register */ + MODIFY_REG(hdma2d->Instance->FGPFCCR, regMask, regValue); + + /* DMA2D FGOR register configuration -------------------------------------*/ + WRITE_REG(hdma2d->Instance->FGOR, pLayerCfg->InputOffset); + + /* DMA2D FGCOLR register configuration -------------------------------------*/ + if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) + { + WRITE_REG(hdma2d->Instance->FGCOLR, pLayerCfg->InputAlpha & (DMA2D_FGCOLR_BLUE|DMA2D_FGCOLR_GREEN|DMA2D_FGCOLR_RED)); + } + } + /* Initialize the DMA2D state*/ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @brief Configure the DMA2D CLUT Transfer. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param CLUTCfg: Pointer to a DMA2D_CLUTCfgTypeDef structure that contains + * the configuration information for the color look up table. + * @param LayerIdx: DMA2D Layer index. + * This parameter can be one of the following values: + * 0(background) / 1(foreground) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_ConfigCLUT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LAYER(LayerIdx)); + assert_param(IS_DMA2D_CLUT_CM(CLUTCfg.CLUTColorMode)); + assert_param(IS_DMA2D_CLUT_SIZE(CLUTCfg.Size)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Configure the CLUT of the background DMA2D layer */ + if(LayerIdx == 0) + { + /* Write background CLUT memory address */ + WRITE_REG(hdma2d->Instance->BGCMAR, (uint32_t)CLUTCfg.pCLUT); + + /* Write background CLUT size and CLUT color mode */ + MODIFY_REG(hdma2d->Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM), + ((CLUTCfg.Size << DMA2D_POSITION_BGPFCCR_CS) | (CLUTCfg.CLUTColorMode << DMA2D_POSITION_BGPFCCR_CCM))); + } + /* Configure the CLUT of the foreground DMA2D layer */ + else + { + /* Write foreground CLUT memory address */ + WRITE_REG(hdma2d->Instance->FGCMAR, (uint32_t)CLUTCfg.pCLUT); + + /* Write foreground CLUT size and CLUT color mode */ + MODIFY_REG(hdma2d->Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM), + ((CLUTCfg.Size << DMA2D_POSITION_BGPFCCR_CS) | (CLUTCfg.CLUTColorMode << DMA2D_POSITION_FGPFCCR_CCM))); + } + + /* Set the DMA2D state to Ready*/ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + + +/** + * @brief Configure the line watermark. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @param Line: Line Watermark configuration (maximum 16-bit long value expected). + * @note HAL_DMA2D_ProgramLineEvent() API enables the transfer watermark interrupt. + * @note The transfer watermark interrupt is disabled once it has occurred. + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_DMA2D_ProgramLineEvent(DMA2D_HandleTypeDef *hdma2d, uint32_t Line) +{ + /* Check the parameters */ + assert_param(IS_DMA2D_LINEWATERMARK(Line)); + + /* Process locked */ + __HAL_LOCK(hdma2d); + + /* Change DMA2D peripheral state */ + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Sets the Line watermark configuration */ + WRITE_REG(hdma2d->Instance->LWR, Line); + + /* Enable the Line interrupt */ + __HAL_DMA2D_ENABLE_IT(hdma2d, DMA2D_IT_TW); + + /* Initialize the DMA2D state*/ + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @brief Enable DMA2D dead time feature. + * @param hdma2d: DMA2D handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_EnableDeadTime(DMA2D_HandleTypeDef *hdma2d) +{ + /* Process Locked */ + __HAL_LOCK(hdma2d); + + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Set DMA2D_AMTCR EN bit */ + SET_BIT(hdma2d->Instance->AMTCR, DMA2D_AMTCR_EN); + + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @brief Disable DMA2D dead time feature. + * @param hdma2d: DMA2D handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_DisableDeadTime(DMA2D_HandleTypeDef *hdma2d) +{ + /* Process Locked */ + __HAL_LOCK(hdma2d); + + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Clear DMA2D_AMTCR EN bit */ + CLEAR_BIT(hdma2d->Instance->AMTCR, DMA2D_AMTCR_EN); + + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @brief Configure dead time. + * @note The dead time value represents the guaranteed minimum number of cycles between + * two consecutive transactions on the AHB bus. + * @param hdma2d: DMA2D handle. + * @param DeadTime: dead time value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA2D_ConfigDeadTime(DMA2D_HandleTypeDef *hdma2d, uint8_t DeadTime) +{ + /* Process Locked */ + __HAL_LOCK(hdma2d); + + hdma2d->State = HAL_DMA2D_STATE_BUSY; + + /* Set DMA2D_AMTCR DT field */ + MODIFY_REG(hdma2d->Instance->AMTCR, DMA2D_AMTCR_DT, (((uint32_t) DeadTime) << DMA2D_POSITION_AMTCR_DT)); + + hdma2d->State = HAL_DMA2D_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hdma2d); + + return HAL_OK; +} + +/** + * @} + */ + + +/** @defgroup DMA2D_Exported_Functions_Group4 Peripheral State and Error functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State and Errors functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to : + (+) Get the DMA2D state + (+) Get the DMA2D error code + +@endverbatim + * @{ + */ + +/** + * @brief Return the DMA2D state + * @param hdma2d: pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the DMA2D. + * @retval HAL state + */ +HAL_DMA2D_StateTypeDef HAL_DMA2D_GetState(DMA2D_HandleTypeDef *hdma2d) +{ + return hdma2d->State; +} + +/** + * @brief Return the DMA2D error code + * @param hdma2d : pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for DMA2D. + * @retval DMA2D Error Code + */ +uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d) +{ + return hdma2d->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + + +/** @defgroup DMA2D_Private_Functions DMA2D Private Functions + * @{ + */ + +/** + * @brief Set the DMA2D transfer parameters. + * @param hdma2d: Pointer to a DMA2D_HandleTypeDef structure that contains + * the configuration information for the specified DMA2D. + * @param pdata: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param Width: The width of data to be transferred from source to destination. + * @param Height: The height of data to be transferred from source to destination. + * @retval HAL status + */ +static void DMA2D_SetConfig(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height) +{ + uint32_t tmp = 0; + uint32_t tmp1 = 0; + uint32_t tmp2 = 0; + uint32_t tmp3 = 0; + uint32_t tmp4 = 0; + + /* Configure DMA2D data size */ + MODIFY_REG(hdma2d->Instance->NLR, (DMA2D_NLR_NL|DMA2D_NLR_PL), (Height| (Width << DMA2D_POSITION_NLR_PL))); + + /* Configure DMA2D destination address */ + WRITE_REG(hdma2d->Instance->OMAR, DstAddress); + + /* Register to memory DMA2D mode selected */ + if (hdma2d->Init.Mode == DMA2D_R2M) + { + tmp1 = pdata & DMA2D_OCOLR_ALPHA_1; + tmp2 = pdata & DMA2D_OCOLR_RED_1; + tmp3 = pdata & DMA2D_OCOLR_GREEN_1; + tmp4 = pdata & DMA2D_OCOLR_BLUE_1; + + /* Prepare the value to be written to the OCOLR register according to the color mode */ + if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_ARGB8888) + { + tmp = (tmp3 | tmp2 | tmp1| tmp4); + } + else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB888) + { + tmp = (tmp3 | tmp2 | tmp4); + } + else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB565) + { + tmp2 = (tmp2 >> 19); + tmp3 = (tmp3 >> 10); + tmp4 = (tmp4 >> 3 ); + tmp = ((tmp3 << 5) | (tmp2 << 11) | tmp4); + } + else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_ARGB1555) + { + tmp1 = (tmp1 >> 31); + tmp2 = (tmp2 >> 19); + tmp3 = (tmp3 >> 11); + tmp4 = (tmp4 >> 3 ); + tmp = ((tmp3 << 5) | (tmp2 << 10) | (tmp1 << 15) | tmp4); + } + else /* Dhdma2d->Init.ColorMode = DMA2D_OUTPUT_ARGB4444 */ + { + tmp1 = (tmp1 >> 28); + tmp2 = (tmp2 >> 20); + tmp3 = (tmp3 >> 12); + tmp4 = (tmp4 >> 4 ); + tmp = ((tmp3 << 4) | (tmp2 << 8) | (tmp1 << 12) | tmp4); + } + /* Write to DMA2D OCOLR register */ + WRITE_REG(hdma2d->Instance->OCOLR, tmp); + } + else /* M2M, M2M_PFC or M2M_Blending DMA2D Mode */ + { + /* Configure DMA2D source address */ + WRITE_REG(hdma2d->Instance->FGMAR, pdata); + } +} + +/** + * @} + */ +#endif /* HAL_DMA2D_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c new file mode 100644 index 0000000000..96db000824 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c @@ -0,0 +1,636 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_dma_ex.c + * @author MCD Application Team + * @brief DMA Extension HAL module driver + * This file provides firmware functions to manage the following + * functionalities of the DMA Extension peripheral: + * + Extended features functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The DMA Extension HAL driver can be used as follows: + (+) Start a multi buffer transfer using the HAL_DMA_MultiBufferStart() function + for polling mode or HAL_DMA_MultiBufferStart_IT() for interrupt mode. + + (+) Configure the DMA_MUX Synchronization Block using HAL_DMAEx_ConfigMuxSync function. + (+) Configure the DMA_MUX Request Generator Block using HAL_DMAEx_ConfigMuxRequestGenerator function. + Functions HAL_DMAEx_EnableMuxRequestGenerator and HAL_DMAEx_DisableMuxRequestGenerator can then be used + to respectively enable/disable the request generator. + + (+) To handle the DMAMUX Interrupts, the function HAL_DMAEx_MUX_IRQHandler should be called from + the DMAMUX IRQ handler i.e DMAMUX1_OVR_IRQHandler or DMAMUX2_OVR_IRQHandler . + As only one interrupt line is available for all DMAMUX channels and request generators , HAL_DMA_MUX_IRQHandler should be + called with, as parameter, the appropriate DMA handle as many as used DMAs in the user project + (exception done if a given DMA is not using the DMAMUX SYNC block neither a request generator) + + -@- In Memory-to-Memory transfer mode, Multi (Double) Buffer mode is not allowed. + -@- When Multi (Double) Buffer mode is enabled, the transfer is circular by default. + -@- In Multi (Double) buffer mode, it is possible to update the base address for + the AHB memory port on the fly (DMA_SxM0AR or DMA_SxM1AR) when the stream is enabled. + -@- Multi (Double) buffer mode is only possible with D2 DMAs i.e DMA1 or DMA2. not BDMA. + Multi (Double) buffer mode is not possible with D3 BDMA. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup DMAEx DMAEx + * @brief DMA Extended HAL module driver + * @{ + */ + +#ifdef HAL_DMA_MODULE_ENABLED + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private Constants ---------------------------------------------------------*/ +#define DMAMUX_POSITION_CxCR_SE (uint32_t)POSITION_VAL(DMAMUX_CxCR_SE) /*!< Required for left shift of the DMAMUX SYNC enable/disable */ +#define DMAMUX_POSITION_CxCR_EGE (uint32_t)POSITION_VAL(DMAMUX_CxCR_EGE) /*!< Required for left shift of the DMAMUX SYNC EVENT enable/disable */ +/* Private macros ------------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup DMAEx_Private_Functions + * @{ + */ + +static void DMA_MultiBufferSetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength); + +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ + +/** @addtogroup DMAEx_Exported_Functions + * @{ + */ + + +/** @addtogroup DMAEx_Exported_Functions_Group1 + * +@verbatim + =============================================================================== + ##### Extended features functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure the source, destination address and data length and + Start MultiBuffer DMA transfer + (+) Configure the source, destination address and data length and + Start MultiBuffer DMA transfer with interrupt + (+) Change on the fly the memory0 or memory1 address. + (+) Configure the DMA_MUX Synchronization Block using HAL_DMAEx_ConfigMuxSync function. + (+) Configure the DMA_MUX Request Generator Block using HAL_DMAEx_ConfigMuxRequestGenerator function. + (+) Functions HAL_DMAEx_EnableMuxRequestGenerator and HAL_DMAEx_DisableMuxRequestGenerator can then be used + to respectively enable/disable the request generator. + (+) Handle DMAMUX interrupts using HAL_DMAEx_MUX_IRQHandler : should be called from + the DMAMUX IRQ handler i.e DMAMUX1_OVR_IRQHandler or DMAMUX2_OVR_IRQHandler + +@endverbatim + * @{ + */ + + +/** + * @brief Starts the multi_buffer DMA Transfer. + * @param hdma : pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param SrcAddress: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param SecondMemAddress: The second memory Buffer address in case of multi buffer Transfer + * @param DataLength: The length of data to be transferred from source to destination + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength) +{ + HAL_StatusTypeDef status = HAL_OK; + __IO uint32_t *ifcRegister_Base = NULL; /* DMA Stream Interrupt Clear register */ + + /* Check the parameters */ + assert_param(IS_DMA_BUFFER_SIZE(DataLength)); + + /* Memory-to-memory transfer not supported in double buffering mode */ + /* double buffering mode not supported for BDMA (D3 DMA) */ + if ( (IS_D2_DMA_INSTANCE(hdma) == 0U) || (hdma->Init.Direction == DMA_MEMORY_TO_MEMORY)) + { + hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; + status = HAL_ERROR; + } + else + { + /* Process Locked */ + __HAL_LOCK(hdma); + + if(HAL_DMA_STATE_READY == hdma->State) + { + /* Change DMA peripheral state */ + hdma->State = HAL_DMA_STATE_BUSY; + + /* Initialize the error code */ + hdma->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Enable the double buffer mode */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR |= (uint32_t)DMA_SxCR_DBM; + + /* Configure DMA Stream destination address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M1AR = SecondMemAddress; + + /* Configure the source, destination address and the data length */ + DMA_MultiBufferSetConfig(hdma, SrcAddress, DstAddress, DataLength); + + /* Calculate the interrupt clear flag register (IFCR) base address */ + ifcRegister_Base = (uint32_t *)((uint32_t)(hdma->StreamBaseAddress + 8U)); + + /* Clear all flags */ + *ifcRegister_Base = 0x3FU << hdma->StreamIndex; + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + if(hdma->DMAmuxRequestGen != 0U) + { + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + } + + /* Enable the peripheral */ + __HAL_DMA_ENABLE(hdma); + } + else + { + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_BUSY; + + /* Return error status */ + status = HAL_ERROR; + } + } + return status; +} + +/** + * @brief Starts the multi_buffer DMA Transfer with interrupt enabled. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param SrcAddress: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param SecondMemAddress: The second memory Buffer address in case of multi buffer Transfer + * @param DataLength: The length of data to be transferred from source to destination + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength) +{ + HAL_StatusTypeDef status = HAL_OK; + __IO uint32_t *ifcRegister_Base = NULL; /* DMA Stream Interrupt Clear register */ + + /* Check the parameters */ + assert_param(IS_DMA_BUFFER_SIZE(DataLength)); + + /* Memory-to-memory transfer not supported in double buffering mode */ + /* double buffering mode not supported for BDMA (D3 DMA) */ + if( (IS_D2_DMA_INSTANCE(hdma) == 0U) || (hdma->Init.Direction == DMA_MEMORY_TO_MEMORY)) + { + hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hdma); + + if(HAL_DMA_STATE_READY == hdma->State) + { + /* Change DMA peripheral state */ + hdma->State = HAL_DMA_STATE_BUSY; + + /* Initialize the error code */ + hdma->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Enable the Double buffer mode */ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR |= (uint32_t)DMA_SxCR_DBM; + + /* Configure DMA Stream destination address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M1AR = SecondMemAddress; + + /* Configure the source, destination address and the data length */ + DMA_MultiBufferSetConfig(hdma, SrcAddress, DstAddress, DataLength); + + /* Calculate the interrupt clear flag register (IFCR) base address */ + ifcRegister_Base = (uint32_t *)((uint32_t)(hdma->StreamBaseAddress + 8U)); + + /* Clear all flags */ + *ifcRegister_Base = 0x3FU << hdma->StreamIndex; + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + if(hdma->DMAmuxRequestGen != 0U) + { + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + } + + /* Enable Common interrupts*/ + MODIFY_REG(((DMA_Stream_TypeDef *)hdma->Instance)->CR, (DMA_IT_TC | DMA_IT_TE | DMA_IT_DME | DMA_IT_HT), (DMA_IT_TC | DMA_IT_TE | DMA_IT_DME)); + ((DMA_Stream_TypeDef *)hdma->Instance)->FCR |= DMA_IT_FE; + + if(hdma->XferHalfCpltCallback != NULL) + { + /*Enable Half Transfer IT if corresponding Callback is set*/ + ((DMA_Stream_TypeDef *)hdma->Instance)->CR |= DMA_IT_HT; + } + + /* Check if DMAMUX Synchronization is enabled*/ + if((hdma->DMAmuxChannel->CCR & DMAMUX_CxCR_SE) != 0) + { + /* Enable DMAMUX sync overrun IT*/ + hdma->DMAmuxChannel->CCR |= DMAMUX_CxCR_SOIE; + } + + if(hdma->DMAmuxRequestGen != 0U) + { + /* if using DMAMUX request generator, enable the DMAMUX request generator overrun IT*/ + /* enable the request gen overrun IT*/ + hdma->DMAmuxRequestGen->RGCR |= DMAMUX_RGxCR_OIE; + } + + /* Enable the peripheral */ + __HAL_DMA_ENABLE(hdma); + } + else + { + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_BUSY; + + /* Return error status */ + status = HAL_ERROR; + } + return status; +} + +/** + * @brief Change the memory0 or memory1 address on the fly. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param Address: The new address + * @param memory: the memory to be changed, This parameter can be one of + * the following values: + * MEMORY0 / + * MEMORY1 + * @note The MEMORY0 address can be changed only when the current transfer use + * MEMORY1 and the MEMORY1 address can be changed only when the current + * transfer use MEMORY0. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory) +{ + if(memory == MEMORY0) + { + /* change the memory0 address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M0AR = Address; + } + else + { + /* change the memory1 address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M1AR = Address; + } + + return HAL_OK; +} + +/** + * @brief Configure the DMAMUX synchronization parameters for a given DMA stream (instance). + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param pSyncConfig : pointer to HAL_DMA_MuxSyncConfigTypeDef : contains the DMAMUX synchronization parameters + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync(DMA_HandleTypeDef *hdma, HAL_DMA_MuxSyncConfigTypeDef *pSyncConfig) +{ + uint32_t syncSignalID = 0; + uint32_t syncPolarity = 0; + + /* Check the parameters */ + assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); + assert_param(IS_DMAMUX_SYNC_STATE(pSyncConfig->SyncEnable)); + assert_param(IS_DMAMUX_SYNC_EVENT(pSyncConfig->EventEnable)); + assert_param(IS_DMAMUX_SYNC_REQUEST_NUMBER(pSyncConfig->RequestNumber)); + + if(pSyncConfig->SyncEnable == ENABLE) + { + assert_param(IS_DMAMUX_SYNC_POLARITY(pSyncConfig->SyncPolarity)); + + if(IS_D2_DMA_INSTANCE(hdma) != 0U) + { + assert_param(IS_D2_DMAMUX_SYNC_SIGNAL_ID(pSyncConfig->SyncSignalID)); + } + else + { + assert_param(IS_D3_DMAMUX_SYNC_SIGNAL_ID(pSyncConfig->SyncSignalID)); + } + syncSignalID = pSyncConfig->SyncSignalID; + syncPolarity = pSyncConfig->SyncPolarity; + } + + /*Check if the DMA state is ready */ + if(hdma->State == HAL_DMA_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hdma); + + /* Disable the synchronization and event generation before applying a new config */ + CLEAR_BIT(hdma->DMAmuxChannel->CCR,(DMAMUX_CxCR_SE | DMAMUX_CxCR_EGE)); + + /* Set the new synchronization parameters (and keep the request ID filled during the Init)*/ + MODIFY_REG( hdma->DMAmuxChannel->CCR, \ + (~DMAMUX_CxCR_DMAREQ_ID) , \ + (syncSignalID << POSITION_VAL(DMAMUX_CxCR_SYNC_ID)) | \ + ((pSyncConfig->RequestNumber - 1U) << POSITION_VAL(DMAMUX_CxCR_NBREQ)) | \ + syncPolarity | (pSyncConfig->SyncEnable << DMAMUX_POSITION_CxCR_SE) | \ + (pSyncConfig->EventEnable << DMAMUX_POSITION_CxCR_EGE)); + + /* Process Locked */ + __HAL_UNLOCK(hdma); + + return HAL_OK; + } + else + { + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_BUSY; + + /* Return error status */ + return HAL_ERROR; + } +} + +/** + * @brief Configure the DMAMUX request generator block used by the given DMA stream (instance). + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param pRequestGeneratorConfig : pointer to HAL_DMA_MuxRequestGeneratorConfigTypeDef : + * contains the request generator parameters. + * + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMAEx_ConfigMuxRequestGenerator (DMA_HandleTypeDef *hdma, HAL_DMA_MuxRequestGeneratorConfigTypeDef *pRequestGeneratorConfig) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); + + if(IS_D2_DMA_INSTANCE(hdma) != 0U) + { + assert_param(IS_D2_DMAMUX_REQUEST_GEN_SIGNAL_ID(pRequestGeneratorConfig->SignalID)); + } + else + { + assert_param(IS_D3_DMAMUX_REQUEST_GEN_SIGNAL_ID(pRequestGeneratorConfig->SignalID)); + } + + + assert_param(IS_DMAMUX_REQUEST_GEN_POLARITY(pRequestGeneratorConfig->Polarity)); + assert_param(IS_DMAMUX_REQUEST_GEN_REQUEST_NUMBER(pRequestGeneratorConfig->RequestNumber)); + + /* check if the DMA state is ready + and DMA is using a DMAMUX request generator block + */ + if(hdma->DMAmuxRequestGen == 0U) + { + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_PARAM; + + /* error status */ + status = HAL_ERROR; + } + else if((hdma->State == HAL_DMA_STATE_READY) && ((hdma->DMAmuxRequestGen->RGCR & DMAMUX_RGxCR_GE) == 0)) + { + /* RequestGenerator must be disable prior to the configuration i.e GE bit is 0 */ + + /* Process Locked */ + __HAL_LOCK(hdma); + + /* Set the request generator new parameters*/ + hdma->DMAmuxRequestGen->RGCR = pRequestGeneratorConfig->SignalID | \ + ((pRequestGeneratorConfig->RequestNumber - 1U) << POSITION_VAL(DMAMUX_RGxCR_NBREQ))| \ + pRequestGeneratorConfig->Polarity; + /* Process Locked */ + __HAL_UNLOCK(hdma); + + return HAL_OK; + } + else + { + /* Set the error code to busy */ + hdma->ErrorCode = HAL_DMA_ERROR_BUSY; + + /* error status */ + status = HAL_ERROR; + } + + return status; +} + +/** + * @brief Enable the DMAMUX request generator block used by the given DMA stream (instance). + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMAEx_EnableMuxRequestGenerator (DMA_HandleTypeDef *hdma) +{ + /* Check the parameters */ + assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); + + /* check if the DMA state is ready + and DMA is using a DMAMUX request generator block + */ + if((hdma->State != HAL_DMA_STATE_RESET) && (hdma->DMAmuxRequestGen != 0U)) + { + + /* Enable the request generator*/ + hdma->DMAmuxRequestGen->RGCR |= DMAMUX_RGxCR_GE; + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Disable the DMAMUX request generator block used by the given DMA stream (instance). + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMAEx_DisableMuxRequestGenerator (DMA_HandleTypeDef *hdma) +{ + /* Check the parameters */ + assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); + + /* check if the DMA state is ready + and DMA is using a DMAMUX request generator block + */ + if((hdma->State != HAL_DMA_STATE_RESET) && (hdma->DMAmuxRequestGen != 0U)) + { + + /* Disable the request generator*/ + hdma->DMAmuxRequestGen->RGCR &= ~DMAMUX_RGxCR_GE; + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Handles DMAMUX interrupt request. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @retval None + */ +void HAL_DMAEx_MUX_IRQHandler(DMA_HandleTypeDef *hdma) +{ + /* Check for DMAMUX Synchronization overrun */ + if((hdma->DMAmuxChannelStatus->CSR & hdma->DMAmuxChannelStatusMask) != 0U) + { + /* Disable the synchro overrun interrupt */ + hdma->DMAmuxChannel->CCR &= ~DMAMUX_CxCR_SOIE; + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_SYNC; + + if(hdma->XferErrorCallback != NULL) + { + /* Transfer error callback */ + hdma->XferErrorCallback(hdma); + } + } + + if(hdma->DMAmuxRequestGen != 0) + { + /* if using a DMAMUX request generator block Check for DMAMUX request generator overrun */ + if((hdma->DMAmuxRequestGenStatus->RGSR & hdma->DMAmuxRequestGenStatusMask) != 0U) + { + /* Disable the request gen overrun interrupt */ + hdma->DMAmuxRequestGen->RGCR &= ~DMAMUX_RGxCR_OIE; + + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + + /* Update error code */ + hdma->ErrorCode |= HAL_DMA_ERROR_REQGEN; + + if(hdma->XferErrorCallback != NULL) + { + /* Transfer error callback */ + hdma->XferErrorCallback(hdma); + } + } + } +} + + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup DMAEx_Private_Functions + * @{ + */ + +/** + * @brief Set the DMA Transfer parameter. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Stream. + * @param SrcAddress: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param DataLength: The length of data to be transferred from source to destination + * @retval HAL status + */ +static void DMA_MultiBufferSetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) +{ + /* Configure DMA Stream data length */ + ((DMA_Stream_TypeDef *)hdma->Instance)->NDTR = DataLength; + + /* Peripheral to Memory */ + if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) + { + /* Configure DMA Stream destination address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->PAR = DstAddress; + + /* Configure DMA Stream source address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M0AR = SrcAddress; + } + /* Memory to Peripheral */ + else + { + /* Configure DMA Stream source address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->PAR = SrcAddress; + + /* Configure DMA Stream destination address */ + ((DMA_Stream_TypeDef *)hdma->Instance)->M0AR = DstAddress; + } +} + +/** + * @} + */ + +#endif /* HAL_DMA_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth.c new file mode 100644 index 0000000000..a86345dbe0 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth.c @@ -0,0 +1,2601 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_eth.c + * @author MCD Application Team + * @brief ETH HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Ethernet (ETH) peripheral: + * + Initialization and deinitialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State and Errors functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The ETH HAL driver can be used as follows: + + (#)Declare a ETH_HandleTypeDef handle structure, for example: + ETH_HandleTypeDef heth; + + (#)Fill parameters of Init structure in heth handle + + (#)Call HAL_ETH_Init() API to initialize the Ethernet peripheral (MAC, DMA, ...) + + (#)Initialize the ETH low level resources through the HAL_ETH_MspInit() API: + (##) Enable the Ethernet interface clock using + (+++) __HAL_RCC_ETH1MAC_CLK_ENABLE() + (+++) __HAL_RCC_ETH1TX_CLK_ENABLE() + (+++) __HAL_RCC_ETH1RX_CLK_ENABLE() + + (##) Initialize the related GPIO clocks + (##) Configure Ethernet pinout + (##) Configure Ethernet NVIC interrupt (in Interrupt mode) + + (#) Ethernet data reception is asynchronous, so call the following API + to start the listening mode: + (##) HAL_ETH_Start(): + This API starts the MAC and DMA transmission and reception process, + without enabling end of transfer interrupts, in this mode user + has to poll for data availability by calling HAL_ETH_IsRxDataAvailable() + (##) HAL_ETH_Start_IT(): + This API starts the MAC and DMA transmission and reception process, + end of transfer interrupts are enabled in this mode, + HAL_ETH_RxCpltCallback() will be executed when an Ethernet packet is received + + (#) When data is received (HAL_ETH_IsRxDataAvailable() returns 1 or Rx interrupt + occurred), user can call the following APIs to get received data: + (##) HAL_ETH_GetRxDataBuffer(): Get buffer address of received frame + (##) HAL_ETH_GetRxDataLength(): Get received frame length + (##) HAL_ETH_GetRxDataInfo(): Get received frame additional info, + please refer to ETH_RxPacketInfo typedef structure + + (#) For transmission path, two APIs are available: + (##) HAL_ETH_Transmit(): Transmit an ETH frame in blocking mode + (##) HAL_ETH_Transmit_IT(): Transmit an ETH frame in interrupt mode, + HAL_ETH_TxCpltCallback() will be executed when end of transfer occur + + (#) Communication with an external PHY device: + (##) HAL_ETH_ReadPHYRegister(): Read a register from an external PHY + (##) HAL_ETH_WritePHYRegister(): Write data to an external RHY register + + (#) Configure the Ethernet MAC after ETH peripheral initialization + (##) HAL_ETH_GetMACConfig(): Get MAC actual configuration into ETH_MACConfigTypeDef + (##) HAL_ETH_SetMACConfig(): Set MAC configuration based on ETH_MACConfigTypeDef + + (#) Configure the Ethernet DMA after ETH peripheral initialization + (##) HAL_ETH_GetDMAConfig(): Get DMA actual configuration into ETH_DMAConfigTypeDef + (##) HAL_ETH_SetDMAConfig(): Set DMA configuration based on ETH_DMAConfigTypeDef + + -@- The PTP protocol offload APIs are not supported in this driver. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup ETH ETH + * @brief ETH HAL module driver + * @{ + */ +#ifdef HAL_ETH_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup ETH_Private_Constants ETH Private Constants + * @{ + */ +#define ETH_MACCR_MASK ((uint32_t)0xFFFB7F7CU) +#define ETH_MACECR_MASK ((uint32_t)0x3F077FFFU) +#define ETH_MACPFR_MASK ((uint32_t)0x800007FFU) +#define ETH_MACWTR_MASK ((uint32_t)0x0000010FU) +#define ETH_MACTFCR_MASK ((uint32_t)0xFFFF00F2U) +#define ETH_MACRFCR_MASK ((uint32_t)0x00000003U) +#define ETH_MTLTQOMR_MASK ((uint32_t)0x00000072U) +#define ETH_MTLRQOMR_MASK ((uint32_t)0x0000007BU) + +#define ETH_DMAMR_MASK ((uint32_t)0x00007802U) +#define ETH_DMASBMR_MASK ((uint32_t)0x0000D001U) +#define ETH_DMACCR_MASK ((uint32_t)0x00013FFFU) +#define ETH_DMACTCR_MASK ((uint32_t)0x003F1010U) +#define ETH_DMACRCR_MASK ((uint32_t)0x803F0000U) +#define ETH_MACPCSR_MASK (ETH_MACPCSR_PWRDWN | ETH_MACPCSR_RWKPKTEN | \ + ETH_MACPCSR_MGKPKTEN | ETH_MACPCSR_GLBLUCAST | \ + ETH_MACPCSR_RWKPFE) + +/* Timeout values */ +#define ETH_SWRESET_TIMEOUT ((uint32_t)500U) +#define ETH_MDIO_BUS_TIMEOUT ((uint32_t)1000U) + +#define ETH_DMARXNDESCWBF_ERRORS_MASK ((uint32_t)(ETH_DMARXNDESCWBF_DE | ETH_DMARXNDESCWBF_RE | \ + ETH_DMARXNDESCWBF_OE | ETH_DMARXNDESCWBF_RWT |\ + ETH_DMARXNDESCWBF_GP | ETH_DMARXNDESCWBF_CE)) + +#define ETH_MAC_US_TICK ((uint32_t)1000000U) +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup ETH_Private_Macros ETH Private Macros + * @{ + */ +/* Helper macros for TX descriptor handling */ +#define INCR_TX_DESC_INDEX(inx, offset) do {\ + (inx) += (offset);\ + if ((inx) >= ETH_TX_DESC_CNT){\ + (inx) = ((inx) - ETH_TX_DESC_CNT);}\ +} while (0) + +/* Helper macros for RX descriptor handling */ +#define INCR_RX_DESC_INDEX(inx, offset) do {\ + (inx) += (offset);\ + if ((inx) >= ETH_RX_DESC_CNT){\ + (inx) = ((inx) - ETH_RX_DESC_CNT);}\ +} while (0) +/** + * @} + */ +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup ETH_Private_Functions ETH Private Functions + * @{ + */ +static void ETH_MAC_MDIO_ClkConfig(ETH_HandleTypeDef *heth); +static void ETH_SetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTypeDef *macconf); +static void ETH_SetDMAConfig(ETH_HandleTypeDef *heth, ETH_DMAConfigTypeDef *dmaconf); +static void ETH_MACDMAConfig(ETH_HandleTypeDef *heth); +static void ETH_DMATxDescListInit(ETH_HandleTypeDef *heth); +static void ETH_DMARxDescListInit(ETH_HandleTypeDef *heth); +static uint32_t ETH_Prepare_Tx_Descriptors(ETH_HandleTypeDef *heth, ETH_TxPacketConfig *pTxConfig, uint32_t ItMode); +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ +/** @defgroup ETH_Exported_Functions ETH Exported Functions + * @{ + */ + +/** @defgroup ETH_Exported_Functions_Group1 Initialization and deinitialization functions + * @brief Initialization and Configuration functions + * +@verbatim +=============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to initialize and + deinitialize the ETH peripheral: + + (+) User must Implement HAL_ETH_MspInit() function in which he configures + all related peripherals resources (CLOCK, GPIO and NVIC ). + + (+) Call the function HAL_ETH_Init() to configure the selected device with + the selected configuration: + (++) MAC address + (++) Media interface (MII or RMII) + (++) Rx DMA Descriptors Tab + (++) Tx DMA Descriptors Tab + (++) Length of Rx Buffers + + (+) Call the function HAL_ETH_DescAssignMemory() to assign data buffers + for each Rx DMA Descriptor + + (+) Call the function HAL_ETH_DeInit() to restore the default configuration + of the selected ETH peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the Ethernet peripheral registers. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_Init(ETH_HandleTypeDef *heth) +{ + uint32_t tickstart; + + if(heth == NULL) + { + return HAL_ERROR; + } + + /* Check the ETH peripheral state */ + if(heth->gState == HAL_ETH_STATE_RESET) + { + /* Init the low level hardware : GPIO, CLOCK, NVIC. */ + HAL_ETH_MspInit(heth); + } + + heth->gState = HAL_ETH_STATE_BUSY; + + __HAL_RCC_SYSCFG_CLK_ENABLE(); + + if(heth->Init.MediaInterface == HAL_ETH_MII_MODE) + { + HAL_SYSCFG_ETHInterfaceSelect(SYSCFG_ETH_MII); + } + else + { + HAL_SYSCFG_ETHInterfaceSelect(SYSCFG_ETH_RMII); + } + + /* Ethernet Software reset */ + /* Set the SWR bit: resets all MAC subsystem internal registers and logic */ + /* After reset all the registers holds their respective reset values */ + SET_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait for software reset */ + while (READ_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR)) + { + if(((HAL_GetTick() - tickstart ) > ETH_SWRESET_TIMEOUT)) + { + /* Set Error Code */ + heth->ErrorCode = HAL_ETH_ERROR_TIMEOUT; + /* Set State as Error */ + heth->gState = HAL_ETH_STATE_ERROR; + /* Return Error */ + return HAL_ERROR; + } + } + + /*------------------ MDIO CSR Clock Range Configuration --------------------*/ + ETH_MAC_MDIO_ClkConfig(heth); + + /*------------------ MAC LPI 1US Tic Counter Configuration --------------------*/ + WRITE_REG(heth->Instance->MAC1USTCR, ((HAL_RCC_GetHCLKFreq() / ETH_MAC_US_TICK) - 1)); + + /*------------------ MAC, MTL and DMA default Configuration ----------------*/ + ETH_MACDMAConfig(heth); + + /* SET DSL to 64 bit */ + MODIFY_REG(heth->Instance->DMACCR, ETH_DMACCR_DSL, ETH_DMACCR_DSL_64BIT); + + /* Set Receive Buffers Length (must be a multiple of 4) */ + if ((heth->Init.RxBuffLen % 4) != 0) + { + /* Set Error Code */ + heth->ErrorCode = HAL_ETH_ERROR_PARAM; + /* Set State as Error */ + heth->gState = HAL_ETH_STATE_ERROR; + /* Return Error */ + return HAL_ERROR; + } + else + { + MODIFY_REG(heth->Instance->DMACRCR, ETH_DMACRCR_RBSZ, ((heth->Init.RxBuffLen) << 1)); + } + + /*------------------ DMA Tx Descriptors Configuration ----------------------*/ + ETH_DMATxDescListInit(heth); + + /*------------------ DMA Rx Descriptors Configuration ----------------------*/ + ETH_DMARxDescListInit(heth); + + /*--------------------- ETHERNET MAC Address Configuration ------------------*/ + /* Set MAC addr bits 32 to 47 */ + heth->Instance->MACA0HR = ((heth->Init.MACAddr[5] << 8) | heth->Init.MACAddr[4]); + /* Set MAC addr bits 0 to 31 */ + heth->Instance->MACA0LR = ((heth->Init.MACAddr[3] << 24) | (heth->Init.MACAddr[2] << 16) | (heth->Init.MACAddr[1] << 8) | heth->Init.MACAddr[0]); + + heth->ErrorCode = HAL_ETH_ERROR_NONE; + heth->gState = HAL_ETH_STATE_READY; + heth->RxState = HAL_ETH_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitializes the ETH peripheral. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_DeInit(ETH_HandleTypeDef *heth) +{ + /* Set the ETH peripheral state to BUSY */ + heth->gState = HAL_ETH_STATE_BUSY; + + /* De-Init the low level hardware : GPIO, CLOCK, NVIC. */ + HAL_ETH_MspDeInit(heth); + + /* Set ETH HAL state to Disabled */ + heth->gState= HAL_ETH_STATE_RESET; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initializes the ETH MSP. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_MspInit(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitializes ETH MSP. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_MspDeInit(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Assign memory buffers to a DMA Rx descriptor + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param Index : index of the DMA Rx descriptor + * this parameter can be a value from 0x0 to (ETH_RX_DESC_CNT -1) + * @param pBuffer1: address of buffer 1 + * @param pBuffer2: address of buffer 2 if available + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_DescAssignMemory(ETH_HandleTypeDef *heth, uint32_t Index, uint8_t *pBuffer1, uint8_t *pBuffer2) +{ + ETH_DMADescTypeDef *dmarxdesc = (ETH_DMADescTypeDef *)heth->RxDescList.RxDesc[Index]; + + if((pBuffer1 == NULL) || (Index >= ETH_RX_DESC_CNT)) + { + /* Set Error Code */ + heth->ErrorCode = HAL_ETH_ERROR_PARAM; + /* Return Error */ + return HAL_ERROR; + } + + /* write buffer address to RDES0 */ + WRITE_REG(dmarxdesc->DESC0, (uint32_t)pBuffer1); + /* store buffer address */ + WRITE_REG(dmarxdesc->BackupAddr0, (uint32_t)pBuffer1); + /* set buffer address valid bit to RDES3 */ + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_BUF1V); + + if(pBuffer2 != NULL) + { + /* write buffer 2 address to RDES1 */ + WRITE_REG(dmarxdesc->DESC2, (uint32_t)pBuffer2); + /* store buffer 2 address */ + WRITE_REG(dmarxdesc->BackupAddr1, (uint32_t)pBuffer2); + /* set buffer 2 address valid bit to RDES3 */ + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_BUF2V); + } + /* set OWN bit to RDES3 */ + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_OWN); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup ETH_Exported_Functions_Group2 IO operation functions + * @brief ETH Transmit and Receive functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to manage the ETH + data transfer. + +@endverbatim + * @{ + */ + +/** + * @brief Enables Ethernet MAC and DMA reception and transmission + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_Start(ETH_HandleTypeDef *heth) +{ + if(heth->gState == HAL_ETH_STATE_READY) + { + heth->gState = HAL_ETH_STATE_BUSY; + + /* Enable the MAC transmission */ + SET_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + + /* Enable the MAC reception */ + SET_BIT(heth->Instance->MACCR, ETH_MACCR_RE); + + /* Set the Flush Transmit FIFO bit */ + SET_BIT(heth->Instance->MTLTQOMR, ETH_MTLTQOMR_FTQ); + + /* Enable the DMA transmission */ + SET_BIT(heth->Instance->DMACTCR, ETH_DMACTCR_ST); + + /* Enable the DMA reception */ + SET_BIT(heth->Instance->DMACRCR, ETH_DMACRCR_SR); + + /* Clear Tx and Rx process stopped flags */ + heth->Instance->DMACSR |= (ETH_DMACSR_TPS | ETH_DMACSR_RPS); + + heth->gState = HAL_ETH_STATE_READY; + heth->RxState = HAL_ETH_STATE_BUSY_RX; + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Enables Ethernet MAC and DMA reception/transmission in Interrupt mode + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_Start_IT(ETH_HandleTypeDef *heth) +{ + uint32_t descindex = 0, counter; + ETH_DMADescTypeDef *dmarxdesc = (ETH_DMADescTypeDef *)heth->RxDescList.RxDesc[descindex]; + + if(heth->gState == HAL_ETH_STATE_READY) + { + heth->gState = HAL_ETH_STATE_BUSY; + + /* Set IOC bit to all Rx descriptors */ + for(counter= 0; counter < ETH_RX_DESC_CNT; counter++) + { + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_IOC); + INCR_RX_DESC_INDEX(descindex, 1); + dmarxdesc = (ETH_DMADescTypeDef *)heth->RxDescList.RxDesc[descindex]; + } + + /* save IT mode to ETH Handle */ + heth->RxDescList.ItMode = 1U; + + /* Enable the MAC transmission */ + SET_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + + /* Enable the MAC reception */ + SET_BIT(heth->Instance->MACCR, ETH_MACCR_RE); + + /* Set the Flush Transmit FIFO bit */ + SET_BIT(heth->Instance->MTLTQOMR, ETH_MTLTQOMR_FTQ); + + /* Enable the DMA transmission */ + SET_BIT(heth->Instance->DMACTCR, ETH_DMACTCR_ST); + + /* Enable the DMA reception */ + SET_BIT(heth->Instance->DMACRCR, ETH_DMACRCR_SR); + + /* Clear Tx and Rx process stopped flags */ + heth->Instance->DMACSR |= (ETH_DMACSR_TPS | ETH_DMACSR_RPS); + + heth->gState = HAL_ETH_STATE_READY; + heth->RxState = HAL_ETH_STATE_BUSY_RX; + + /* Enable ETH DMA interrupts: + - Tx complete interrupt + - Rx complete interrupt + - Fatal bus interrupt + */ + __HAL_ETH_DMA_ENABLE_IT(heth, (ETH_DMACIER_NIE | ETH_DMACIER_RIE | ETH_DMACIER_TIE | + ETH_DMACIER_FBEE | ETH_DMACIER_AIE)); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Stop Ethernet MAC and DMA reception/transmission + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_Stop(ETH_HandleTypeDef *heth) +{ + if(heth->gState != HAL_ETH_STATE_RESET) + { + /* Set the ETH peripheral state to BUSY */ + heth->gState = HAL_ETH_STATE_BUSY; + + /* Disable the DMA transmission */ + CLEAR_BIT(heth->Instance->DMACTCR, ETH_DMACTCR_ST); + + /* Disable the DMA reception */ + CLEAR_BIT(heth->Instance->DMACRCR, ETH_DMACRCR_SR); + + /* Disable the MAC reception */ + CLEAR_BIT( heth->Instance->MACCR, ETH_MACCR_RE); + + /* Set the Flush Transmit FIFO bit */ + SET_BIT(heth->Instance->MTLTQOMR, ETH_MTLTQOMR_FTQ); + + /* Disable the MAC transmission */ + CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + + heth->gState = HAL_ETH_STATE_READY; + heth->RxState = HAL_ETH_STATE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Stop Ethernet MAC and DMA reception/transmission in Interrupt mode + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_Stop_IT(ETH_HandleTypeDef *heth) +{ + ETH_DMADescTypeDef *dmarxdesc = (ETH_DMADescTypeDef *)heth->RxDescList.RxDesc[0]; + uint32_t index; + + if(heth->gState != HAL_ETH_STATE_RESET) + { + /* Set the ETH peripheral state to BUSY */ + heth->gState = HAL_ETH_STATE_BUSY; + + /* Disable intrrupts: + - Tx complete interrupt + - Rx complete interrupt */ + __HAL_ETH_DMA_DISABLE_IT(heth, (ETH_DMA_NORMAL_IT | ETH_DMA_RX_IT | ETH_DMA_TX_IT)); + + /* Disable the DMA transmission */ + CLEAR_BIT(heth->Instance->DMACTCR, ETH_DMACTCR_ST); + + /* Disable the DMA reception */ + CLEAR_BIT(heth->Instance->DMACRCR, ETH_DMACRCR_SR); + + /* Disable the MAC reception */ + CLEAR_BIT( heth->Instance->MACCR, ETH_MACCR_RE); + + /* Set the Flush Transmit FIFO bit */ + SET_BIT(heth->Instance->MTLTQOMR, ETH_MTLTQOMR_FTQ); + + /* Disable the MAC transmission */ + CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_TE); + + /* Clear IOC bit to all Rx descriptors */ + for(index = 0; index < ETH_RX_DESC_CNT; index++) + { + CLEAR_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_IOC); + } + + heth->RxDescList.ItMode = 0U; + + heth->gState = HAL_ETH_STATE_READY; + heth->RxState = HAL_ETH_STATE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Sends an Ethernet Packet in polling mode. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pTxConfig: Hold the configuration of packet to be transmitted + * @param Timeout: timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_Transmit(ETH_HandleTypeDef *heth, ETH_TxPacketConfig *pTxConfig, uint32_t Timeout) +{ + uint32_t tickstart; + const ETH_DMADescTypeDef *dmatxdesc; + + if(pTxConfig == NULL) + { + heth->ErrorCode |= HAL_ETH_ERROR_PARAM; + return HAL_ERROR; + } + + if(heth->gState == HAL_ETH_STATE_READY) + { + /* Config DMA Tx descriptor by Tx Packet info */ + if (ETH_Prepare_Tx_Descriptors(heth, pTxConfig, 0) != HAL_ETH_ERROR_NONE) + { + /* Set the ETH error code */ + heth->ErrorCode |= HAL_ETH_ERROR_BUSY; + return HAL_ERROR; + } + + dmatxdesc = (ETH_DMADescTypeDef *)(&heth->TxDescList)->TxDesc[heth->TxDescList.CurTxDesc]; + + /* Incr current tx desc index */ + INCR_TX_DESC_INDEX(heth->TxDescList.CurTxDesc, 1); + + /* Start transmission */ + /* issue a poll command to Tx DMA by writing address of next immediate free descriptor */ + WRITE_REG(heth->Instance->DMACTDTPR, (uint32_t)(heth->TxDescList.TxDesc[heth->TxDescList.CurTxDesc])); + + tickstart = HAL_GetTick(); + + /* Wait for data to be transmitted or timeout occured */ + while((dmatxdesc->DESC3 & ETH_DMATXNDESCWBF_OWN) != (uint32_t)RESET) + { + if((heth->Instance->DMACSR & ETH_DMACSR_FBE) != (uint32_t)RESET) + { + heth->ErrorCode |= HAL_ETH_ERROR_DMA; + heth->DMAErrorCode = heth->Instance->DMACSR; + /* Set ETH HAL State to Ready */ + heth->gState = HAL_ETH_STATE_ERROR; + /* Return function status */ + return HAL_ERROR; + } + + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if(((HAL_GetTick() - tickstart ) > Timeout) || (Timeout == 0U)) + { + heth->ErrorCode |= HAL_ETH_ERROR_TIMEOUT; + heth->gState = HAL_ETH_STATE_READY; + return HAL_ERROR; + } + } + } + + /* Set ETH HAL State to Ready */ + heth->gState = HAL_ETH_STATE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Sends an Ethernet Packet in interrupt mode. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pTxConfig: Hold the configuration of packet to be transmitted + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_Transmit_IT(ETH_HandleTypeDef *heth, ETH_TxPacketConfig *pTxConfig) +{ + if(pTxConfig == NULL) + { + return HAL_ERROR; + } + + if(heth->gState == HAL_ETH_STATE_READY) + { + /* Config DMA Tx descriptor by Tx Packet info */ + if (ETH_Prepare_Tx_Descriptors(heth, pTxConfig, 1) != HAL_ETH_ERROR_NONE) + { + heth->ErrorCode = HAL_ETH_ERROR_BUSY; + return HAL_ERROR; + } + + /* Incr current tx desc index */ + INCR_TX_DESC_INDEX(heth->TxDescList.CurTxDesc, 1); + + /* Start transmission */ + /* issue a poll command to Tx DMA by writing address of next immediate free descriptor */ + WRITE_REG(heth->Instance->DMACTDTPR, (uint32_t)(heth->TxDescList.TxDesc[heth->TxDescList.CurTxDesc])); + + return HAL_OK; + + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Checks for received Packets. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval 1: A Packet is received + * 0: no Packet received + */ +uint8_t HAL_ETH_IsRxDataAvailable(ETH_HandleTypeDef *heth) +{ + ETH_RxDescListTypeDef *dmarxdesclist = &heth->RxDescList; + uint32_t descidx = dmarxdesclist->CurRxDesc; + ETH_DMADescTypeDef *dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + uint32_t descscancnt = 0; + uint32_t appdesccnt = 0, firstappdescidx = 0; + + if(dmarxdesclist->AppDescNbr != 0) + { + /* data already received by not yet processed*/ + return 0; + } + + /* Check if descriptor is not owned by DMA */ + while((READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_OWN) == (uint32_t)RESET) && (descscancnt < ETH_RX_DESC_CNT)) + { + descscancnt++; + + /* Check if last descriptor */ + if(READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_LD) != (uint32_t)RESET) + { + /* Increment the number of descriptors to be passed to the application */ + appdesccnt += 1U; + + if(appdesccnt == 1) + { + WRITE_REG(firstappdescidx, descidx); + } + + /* Increment current rx descriptor index */ + INCR_RX_DESC_INDEX(descidx, 1); + + /* Check for Context descriptor */ + /* Get current descriptor address */ + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + + if((READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_OWN) == (uint32_t)RESET) && + (READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_CTXT) != (uint32_t)RESET)) + { + /* Increment the number of descriptors to be passed to the application */ + dmarxdesclist->AppContextDesc = 1; + /* Increment current rx descriptor index */ + INCR_RX_DESC_INDEX(descidx, 1); + } + + /* Fill information to Rx descriptors list */ + dmarxdesclist->CurRxDesc = descidx; + dmarxdesclist->FirstAppDesc = firstappdescidx; + dmarxdesclist->AppDescNbr = appdesccnt; + + /* Return function status */ + return 1; + } + /* Check if first descriptor */ + else if(READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_FD) != (uint32_t)RESET) + { + WRITE_REG(firstappdescidx, descidx); + /* Increment the number of descriptors to be passed to the application */ + appdesccnt = 1U; + + /* Increment current rx descriptor index */ + INCR_RX_DESC_INDEX(descidx, 1U); + /* Get current descriptor address */ + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + } + /* It should be an intermediate descriptor */ + else + { + /* Increment the number of descriptors to be passed to the application */ + appdesccnt += 1U; + + /* Increment current rx descriptor index */ + INCR_RX_DESC_INDEX(descidx, 1U); + /* Get current descriptor address */ + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + } + } + + /* Build Descriptors if an incomplete Packet is received */ + if(appdesccnt > 0) + { + descidx = firstappdescidx; + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + + for(descscancnt = 0; descscancnt < appdesccnt; descscancnt++) + { + WRITE_REG(dmarxdesc->DESC0, dmarxdesc->BackupAddr0); + WRITE_REG(dmarxdesc->DESC3, ETH_DMARXNDESCRF_BUF1V); + + if (READ_REG(dmarxdesc->BackupAddr1) != ((uint32_t)RESET)) + { + WRITE_REG(dmarxdesc->DESC2, dmarxdesc->BackupAddr1); + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_BUF2V); + } + + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_OWN); + + if(dmarxdesclist->ItMode != ((uint32_t)RESET)) + { + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_IOC); + } + + /* Increment rx descriptor index */ + INCR_RX_DESC_INDEX(descidx, 1); + /* Get descriptor address */ + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + } + } + + /* Fill information to Rx descriptors list: No received Packet */ + dmarxdesclist->AppDescNbr = 0U; + + return 0; +} + +/** + * @brief This function gets the buffer address of last received Packet. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param RxBuffer: Pointer to a ETH_BufferTypeDef structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_GetRxDataBuffer(ETH_HandleTypeDef *heth, ETH_BufferTypeDef *RxBuffer) +{ + ETH_RxDescListTypeDef *dmarxdesclist = &heth->RxDescList; + uint32_t descidx = dmarxdesclist->FirstAppDesc; + uint32_t index, accumulatedlen = 0, lastdesclen; + __IO const ETH_DMADescTypeDef *dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + ETH_BufferTypeDef *rxbuff = RxBuffer; + + if(dmarxdesclist->AppDescNbr ==0) + { + if(HAL_ETH_IsRxDataAvailable(heth) == 0) + { + /* No data to be transferred to the application */ + return HAL_ERROR; + } + } + + /* Get intermediate descriptors buffers: in case of the Packet is splitted into multi descriptors */ + for(index = 0; index < (dmarxdesclist->AppDescNbr - 1); index++) + { + /* Both rx descriptor buffers are valid */ + if(dmarxdesc->BackupAddr1 != 0) + { + if(rxbuff == NULL) + { + return HAL_ERROR; + } + + rxbuff->buffer = (uint8_t *) dmarxdesc->BackupAddr0; + rxbuff->len = heth->Init.RxBuffLen; + + rxbuff = (struct __ETH_BufferTypeDef *)rxbuff->next; + + if(rxbuff == NULL) + { + return HAL_ERROR; + } + + rxbuff->buffer = (uint8_t *) dmarxdesc->BackupAddr1; + rxbuff->len = heth->Init.RxBuffLen; + } + /* Only buffer 1 address is valid */ + else + { + rxbuff->buffer = (uint8_t *) dmarxdesc->BackupAddr0; + rxbuff->len = heth->Init.RxBuffLen; + } + + /* get total length until this descriptor */ + accumulatedlen = READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_PL); + + /* Increment to next descriptor */ + INCR_RX_DESC_INDEX(descidx, 1); + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + + /* Point to next buffer */ + rxbuff = (struct __ETH_BufferTypeDef *)rxbuff->next; + } + + /* Get last descriptor buffers */ + if(rxbuff == NULL) + { + return HAL_ERROR; + } + + /* last descriptor data length */ + lastdesclen = READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_PL) - accumulatedlen; + + /* data is in only one buffer */ + if(lastdesclen <= heth->Init.RxBuffLen) + { + rxbuff->buffer = (uint8_t *) dmarxdesc->BackupAddr0; + rxbuff->len = lastdesclen; + } + /* data is in two buffers */ + else if(dmarxdesc->BackupAddr1 != 0) + { + rxbuff->buffer = (uint8_t *) dmarxdesc->BackupAddr0; + rxbuff->len = heth->Init.RxBuffLen; + + rxbuff = (struct __ETH_BufferTypeDef *)rxbuff->next; + + if(rxbuff == NULL) + { + return HAL_ERROR; + } + + rxbuff->buffer = (uint8_t *) dmarxdesc->BackupAddr1; + rxbuff->len = lastdesclen - (heth->Init.RxBuffLen); + } + else /* Buffer 2 not valid*/ + { + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief This function gets the length of last received Packet. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param Length: parameter to hold Rx packet length + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_ETH_GetRxDataLength(ETH_HandleTypeDef *heth, uint32_t *Length) +{ + ETH_RxDescListTypeDef *dmarxdesclist = &heth->RxDescList; + uint32_t descidx = dmarxdesclist->FirstAppDesc; + __IO const ETH_DMADescTypeDef *dmarxdesc; + + if(dmarxdesclist->AppDescNbr ==0) + { + if(HAL_ETH_IsRxDataAvailable(heth) == 0) + { + /* No data to be transferred to the application */ + return HAL_ERROR; + } + } + + /* Get index of last descriptor */ + INCR_RX_DESC_INDEX(descidx, (dmarxdesclist->AppDescNbr-1)); + /* Point to last descriptor */ + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + + *Length = READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_PL); + + return HAL_OK; +} + +/** + * @brief Get the Rx data info (Packet type, VLAN tag, Filters status, ...) + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param RxPacketInfo: parameter to hold info of received buffer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_GetRxDataInfo(ETH_HandleTypeDef *heth, ETH_RxPacketInfo *RxPacketInfo) +{ + ETH_RxDescListTypeDef *dmarxdesclist = &heth->RxDescList; + uint32_t descidx = dmarxdesclist->FirstAppDesc; + __IO const ETH_DMADescTypeDef *dmarxdesc; + + if(dmarxdesclist->AppDescNbr ==0) + { + if(HAL_ETH_IsRxDataAvailable(heth) == 0) + { + /* No data to be transferred to the application */ + return HAL_ERROR; + } + } + + /* Get index of last descriptor */ + INCR_RX_DESC_INDEX(descidx, ((dmarxdesclist->AppDescNbr) - 1U)); + /* Point to last descriptor */ + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descidx]; + + if((dmarxdesc->DESC3 & ETH_DMARXNDESCWBF_ES) != (uint32_t)RESET) + { + RxPacketInfo->ErrorCode = READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_ERRORS_MASK); + } + else + { + if(READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_RS0V)) + { + + if(READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_LT) == ETH_DMARXNDESCWBF_LT_DVLAN) + { + RxPacketInfo->VlanTag = READ_BIT(dmarxdesc->DESC0, ETH_DMARXNDESCWBF_OVT); + RxPacketInfo->InnerVlanTag = READ_BIT(dmarxdesc->DESC0, ETH_DMARXNDESCWBF_IVT) >> 16; + } + else + { + RxPacketInfo->VlanTag = READ_BIT(dmarxdesc->DESC0, ETH_DMARXNDESCWBF_OVT); + } + } + + if(READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_RS1V)) + { + /* Get Payload type */ + RxPacketInfo->PayloadType =READ_BIT( dmarxdesc->DESC1, ETH_DMARXNDESCWBF_PT); + /* Get Header type */ + RxPacketInfo->HeaderType = READ_BIT(dmarxdesc->DESC1, (ETH_DMARXNDESCWBF_IPV4 | ETH_DMARXNDESCWBF_IPV6)); + /* Get Checksum status */ + RxPacketInfo->Checksum = READ_BIT(dmarxdesc->DESC1, (ETH_DMARXNDESCWBF_IPCE | ETH_DMARXNDESCWBF_IPCB | ETH_DMARXNDESCWBF_IPHE)); + } + + if(READ_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCWBF_RS2V)) + { + RxPacketInfo->MacFilterStatus = READ_BIT(dmarxdesc->DESC2, (ETH_DMARXNDESCWBF_HF | ETH_DMARXNDESCWBF_DAF | ETH_DMARXNDESCWBF_SAF | ETH_DMARXNDESCWBF_VF)); + RxPacketInfo->L3FilterStatus = READ_BIT(dmarxdesc->DESC2, (ETH_DMARXNDESCWBF_L3FM | ETH_DMARXNDESCWBF_L3L4FM)); + RxPacketInfo->L4FilterStatus = READ_BIT(dmarxdesc->DESC2, (ETH_DMARXNDESCWBF_L4FM | ETH_DMARXNDESCWBF_L3L4FM)); + } + } + + /* Get the segment count */ + WRITE_REG(RxPacketInfo->SegmentCnt, dmarxdesclist->AppDescNbr); + + return HAL_OK; +} + +/** +* @brief This function gives back Rx Desc of the last received Packet +* to the DMA, so ETH DMA will be able to use these descriptors +* to receive next Packets. +* It should be called after processing the received Packet. +* @param heth: pointer to a ETH_HandleTypeDef structure that contains +* the configuration information for ETHERNET module +* @retval HAL status. +*/ +HAL_StatusTypeDef HAL_ETH_BuildRxDescriptors(ETH_HandleTypeDef *heth) +{ + ETH_RxDescListTypeDef *dmarxdesclist = &heth->RxDescList; + uint32_t descindex = dmarxdesclist->FirstAppDesc; + __IO ETH_DMADescTypeDef *dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descindex]; + uint32_t totalappdescnbr = dmarxdesclist->AppDescNbr; + uint32_t descscan; + + if(dmarxdesclist->AppDescNbr ==0) + { + /* No Rx descriptors to build */ + return HAL_ERROR; + } + + if(dmarxdesclist->AppContextDesc != 0U) + { + /* A context descriptor is available */ + totalappdescnbr += 1; + } + + for(descscan =0; descscan < totalappdescnbr; descscan++) + { + WRITE_REG(dmarxdesc->DESC0, dmarxdesc->BackupAddr0); + WRITE_REG(dmarxdesc->DESC3, ETH_DMARXNDESCRF_BUF1V); + + if (READ_REG(dmarxdesc->BackupAddr1) != 0U) + { + WRITE_REG(dmarxdesc->DESC2, dmarxdesc->BackupAddr1); + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_BUF2V); + } + + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_OWN); + + if(dmarxdesclist->ItMode != 0U) + { + SET_BIT(dmarxdesc->DESC3, ETH_DMARXNDESCRF_IOC); + } + + if(descscan < (dmarxdesclist->AppDescNbr -1)) + { + /* Increment rx descriptor index */ + INCR_RX_DESC_INDEX(descindex, 1); + /* Get descriptor address */ + dmarxdesc = (ETH_DMADescTypeDef *)dmarxdesclist->RxDesc[descindex]; + } + } + + /* Set the Tail pointer address to the last rx descriptor hold by the app */ + WRITE_REG(heth->Instance->DMACRDTPR, (uint32_t)dmarxdesc); + + /* reset the Application desc number */ + WRITE_REG(dmarxdesclist->AppDescNbr, 0); + + return HAL_OK; +} + + +/** + * @brief This function handles ETH interrupt request. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +void HAL_ETH_IRQHandler(ETH_HandleTypeDef *heth) +{ + /* Packet received */ + if (__HAL_ETH_DMA_GET_IT(heth, ETH_DMACSR_RI)) + { + if(__HAL_ETH_DMA_GET_IT_SOURCE(heth, ETH_DMACIER_RIE)) + { + /* Call this function to update handle fields */ + if(HAL_ETH_IsRxDataAvailable(heth) == 1) + { + /* Receive complete callback */ + HAL_ETH_RxCpltCallback(heth); + } + + /* Clear the Eth DMA Rx IT pending bits */ + __HAL_ETH_DMA_CLEAR_IT(heth, ETH_DMACSR_RI | ETH_DMACSR_NIS); + } + } + + /* Packet transmitted */ + if (__HAL_ETH_DMA_GET_IT(heth, ETH_DMACSR_TI)) + { + if(__HAL_ETH_DMA_GET_IT_SOURCE(heth, ETH_DMACIER_TIE)) + { + /* Transfer complete callback */ + HAL_ETH_TxCpltCallback(heth); + + /* Clear the Eth DMA Tx IT pending bits */ + __HAL_ETH_DMA_CLEAR_IT(heth, ETH_DMACSR_TI | ETH_DMACSR_NIS); + } + } + + + /* ETH DMA Error */ + if(__HAL_ETH_DMA_GET_IT(heth, ETH_DMACSR_AIS)) + { + if(__HAL_ETH_DMA_GET_IT_SOURCE(heth, ETH_DMACIER_AIE)) + { + heth->ErrorCode |= HAL_ETH_ERROR_DMA; + + /* if fatal bus error occured */ + if (__HAL_ETH_DMA_GET_IT(heth, ETH_DMACSR_FBE)) + { + /* Get DMA error code */ + heth->DMAErrorCode = __HAL_ETH_DMA_GET_IT(heth, (ETH_DMACSR_FBE | ETH_DMACSR_TPS | ETH_DMACSR_RPS)); + + /* Disable all interrupts */ + __HAL_ETH_DMA_DISABLE_IT(heth, ETH_DMACIER_NIE | ETH_DMACIER_AIE); + + /* Set HAL state to ERROR */ + heth->gState = HAL_ETH_STATE_ERROR; + } + else + { + /* Get DMA error status */ + heth->DMAErrorCode = __HAL_ETH_DMA_GET_IT(heth, (ETH_DMACSR_CDE | ETH_DMACSR_ETI | ETH_DMACSR_RWT | + ETH_DMACSR_RBU | ETH_DMACSR_AIS)); + + /* Clear the interrupt summary flag */ + __HAL_ETH_DMA_CLEAR_IT(heth, (ETH_DMACSR_CDE | ETH_DMACSR_ETI | ETH_DMACSR_RWT | + ETH_DMACSR_RBU | ETH_DMACSR_AIS)); + } + + /* Ethernet Error callback */ + HAL_ETH_DMAErrorCallback(heth); + } + } + + /* ETH MAC Error IT */ + if(__HAL_ETH_MAC_GET_IT(heth, (ETH_MACIER_RXSTSIE | ETH_MACIER_TXSTSIE))) + { + /* Get MAC Rx Tx status and clear Status register pending bit */ + heth->MACErrorCode = READ_REG(heth->Instance->MACRXTXSR); + + heth->gState = HAL_ETH_STATE_ERROR; + + /* Ethernet PMT callback */ + HAL_ETH_MACErrorCallback(heth); + + heth->MACErrorCode = (uint32_t)(0x0U); + } + + /* ETH PMT IT */ + if(__HAL_ETH_MAC_GET_IT(heth, ETH_MAC_PMT_IT)) + { + /* Get MAC Wake-up source and clear the status register pending bit */ + heth->MACWakeUpEvent = READ_BIT(heth->Instance->MACPCSR, (ETH_MACPCSR_RWKPRCVD | ETH_MACPCSR_MGKPRCVD)); + + /* Ethernet PMT callback */ + HAL_ETH_PMTCallback(heth); + + heth->MACWakeUpEvent = (uint32_t)(0x0U); + } + + /* ETH EEE IT */ + if(__HAL_ETH_MAC_GET_IT(heth, ETH_MAC_LPI_IT)) + { + /* Get MAC LPI interrupt source and clear the status register pending bit */ + heth->MACLPIEvent = READ_BIT(heth->Instance->MACPCSR, 0x0000000FU); + + /* Ethernet EEE callback */ + HAL_ETH_EEECallback(heth); + + heth->MACLPIEvent = (uint32_t)(0x0U); + } + + /* check ETH WAKEUP exti flag */ + if(__HAL_ETH_WAKEUP_EXTI_GET_FLAG(ETH_WAKEUP_EXTI_LINE) != RESET) + { + /* Clear ETH WAKEUP Exti pending bit */ + __HAL_ETH_WAKEUP_EXTI_CLEAR_FLAG(ETH_WAKEUP_EXTI_LINE); + /* ETH WAKEUP interrupt user callback */ + HAL_ETH_WakeUpCallback(heth); + } +} + +/** + * @brief Tx Transfer completed callbacks. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_TxCpltCallback(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_TxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callbacks. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Ethernet DMA transfer error callbacks + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_DMAErrorCallback(ETH_HandleTypeDef *heth) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_DMAErrorCallback could be implemented in the user file + */ +} + +/** +* @brief Ethernet MAC transfer error callbacks + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_MACErrorCallback(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_MACErrorCallback could be implemented in the user file + */ +} + +/** + * @brief Ethernet Power Management module IT callback + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_PMTCallback(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_PMTCallback could be implemented in the user file + */ +} + +/** + * @brief Energy Efficient Etherent IT callback + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_EEECallback(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_EEECallback could be implemented in the user file + */ +} + +/** + * @brief ETH WAKEUP interrupt callback + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +__weak void HAL_ETH_WakeUpCallback(ETH_HandleTypeDef *heth) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(heth); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_ETH_WakeUpCallback could be implemented in the user file + */ +} + +/** + * @brief Read a PHY register + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param PHYAddr: PHY port address, must be a value from 0 to 31 + * @param PHYReg: PHY register address, must be a value from 0 to 31 + * @param pRegValue: parameter to hold read value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_ReadPHYRegister(ETH_HandleTypeDef *heth, uint32_t PHYAddr, uint32_t PHYReg, uint32_t *pRegValue) +{ + uint32_t tmpreg, tickstart; + + /* Check for the Busy flag */ + if(READ_BIT(heth->Instance->MACMDIOAR, ETH_MACMDIOAR_MB)) + { + return HAL_ERROR; + } + + /* Get the MACMDIOAR value */ + WRITE_REG(tmpreg, heth->Instance->MACMDIOAR); + + /* Prepare the MDIO Address Register value + - Set the PHY device address + - Set the PHY register address + - Set the read mode + - Set the MII Busy bit */ + + MODIFY_REG(tmpreg, ETH_MACMDIOAR_PA, (PHYAddr <<21)); + MODIFY_REG(tmpreg, ETH_MACMDIOAR_RDA, (PHYReg << 16)); + MODIFY_REG(tmpreg, ETH_MACMDIOAR_MOC, ETH_MACMDIOAR_MOC_RD); + SET_BIT(tmpreg, ETH_MACMDIOAR_MB); + + /* Write the result value into the MDII Address register */ + WRITE_REG(heth->Instance->MACMDIOAR, tmpreg); + + tickstart = HAL_GetTick(); + + /* Wait for the Busy flag */ + while(READ_BIT(heth->Instance->MACMDIOAR, ETH_MACMDIOAR_MB)) + { + if(((HAL_GetTick() - tickstart ) > ETH_MDIO_BUS_TIMEOUT)) + { + return HAL_ERROR; + } + } + + /* Get MACMIIDR value */ + WRITE_REG(*pRegValue, (uint16_t)heth->Instance->MACMDIODR); + + return HAL_OK; +} + + +/** + * @brief Writes to a PHY register. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param PHYAddr: PHY port address, must be a value from 0 to 31 + * @param PHYReg: PHY register address, must be a value from 0 to 31 + * @param RegValue: the value to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_WritePHYRegister(ETH_HandleTypeDef *heth, uint32_t PHYAddr, uint32_t PHYReg, uint32_t RegValue) +{ + uint32_t tmpreg, tickstart; + + /* Check for the Busy flag */ + if(READ_BIT(heth->Instance->MACMDIOAR, ETH_MACMDIOAR_MB)) + { + return HAL_ERROR; + } + + /* Get the MACMDIOAR value */ + WRITE_REG(tmpreg, heth->Instance->MACMDIOAR); + + /* Prepare the MDIO Address Register value + - Set the PHY device address + - Set the PHY register address + - Set the write mode + - Set the MII Busy bit */ + + MODIFY_REG(tmpreg, ETH_MACMDIOAR_PA, (PHYAddr <<21)); + MODIFY_REG(tmpreg, ETH_MACMDIOAR_RDA, (PHYReg << 16)); + MODIFY_REG(tmpreg, ETH_MACMDIOAR_MOC, ETH_MACMDIOAR_MOC_WR); + SET_BIT(tmpreg, ETH_MACMDIOAR_MB); + + + /* Give the value to the MII data register */ + WRITE_REG(ETH->MACMDIODR, (uint16_t)RegValue); + + /* Write the result value into the MII Address register */ + WRITE_REG(ETH->MACMDIOAR, tmpreg); + + tickstart = HAL_GetTick(); + + /* Wait for the Busy flag */ + while(READ_BIT(heth->Instance->MACMDIOAR, ETH_MACMDIOAR_MB)) + { + if(((HAL_GetTick() - tickstart ) > ETH_MDIO_BUS_TIMEOUT)) + { + return HAL_ERROR; + } + } + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup ETH_Exported_Functions_Group3 Peripheral Control functions + * @brief ETH control functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control the ETH + peripheral. + +@endverbatim + * @{ + */ +/** + * @brief Get the configuration of the MAC and MTL subsystems. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param macconf: pointer to a ETH_MACConfigTypeDef structure that will hold + * the configuration of the MAC. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_ETH_GetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTypeDef *macconf) +{ + if (macconf == NULL) + { + return HAL_ERROR; + } + + /* Get MAC parameters */ + macconf->PreambleLength = READ_BIT(heth->Instance->MACCR, ETH_MACCR_PRELEN); + macconf->DeferralCheck = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_DC)>> 4); + macconf->BackOffLimit = READ_BIT(heth->Instance->MACCR, ETH_MACCR_BL); + macconf->RetryTransmission = (FunctionalState)(!(READ_BIT(heth->Instance->MACCR, ETH_MACCR_DR) >> 8)); + macconf->CarrierSenseDuringTransmit = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_DCRS) >> 9); + macconf->ReceiveOwn = (FunctionalState)(!(READ_BIT(heth->Instance->MACCR, ETH_MACCR_DO) >> 10)); + macconf->CarrierSenseBeforeTransmit = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_ECRSFD) >> 11); + macconf->LoopbackMode = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_LM) >> 12); + macconf->DuplexMode = READ_BIT(heth->Instance->MACCR, ETH_MACCR_DM); + macconf->Speed = READ_BIT(heth->Instance->MACCR, ETH_MACCR_FES); + macconf->JumboPacket = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_JE) >> 16); + macconf->Jabber = (FunctionalState)(!(READ_BIT(heth->Instance->MACCR, ETH_MACCR_JD) >>17)); + macconf->Watchdog = (FunctionalState)(!(READ_BIT(heth->Instance->MACCR, ETH_MACCR_WD) >>19)); + macconf->AutomaticPadCRCStrip = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_ACS) >> 20); + macconf->CRCStripTypePacket = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_CST) >> 21); + macconf->Support2KPacket = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_S2KP) >> 22); + macconf->GiantPacketSizeLimitControl = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_GPSLCE) >> 23); + macconf->InterPacketGapVal = READ_BIT(heth->Instance->MACCR, ETH_MACCR_IPG); + macconf->ChecksumOffload = (FunctionalState)(READ_BIT(heth->Instance->MACCR, ETH_MACCR_IPC) >> 27); + macconf->SourceAddrControl = READ_BIT(heth->Instance->MACCR, ETH_MACCR_SARC); + + macconf->GiantPacketSizeLimit = READ_BIT(heth->Instance->MACECR, ETH_MACECR_GPSL); + macconf->CRCCheckingRxPackets = (FunctionalState)(!(READ_BIT(heth->Instance->MACECR, ETH_MACECR_DCRCC) >> 16)); + macconf->SlowProtocolDetect = (FunctionalState)(READ_BIT(heth->Instance->MACECR, ETH_MACECR_SPEN) >> 17); + macconf->UnicastSlowProtocolPacketDetect = (FunctionalState)(READ_BIT(heth->Instance->MACECR, ETH_MACECR_USP) >> 18); + macconf->ExtendedInterPacketGap = (FunctionalState)(READ_BIT(heth->Instance->MACECR, ETH_MACECR_EIPGEN) >> 24); + macconf->ExtendedInterPacketGapVal = READ_BIT(heth->Instance->MACECR, ETH_MACECR_EIPG) >> 25; + + + macconf->ProgrammableWatchdog = (FunctionalState)(READ_BIT(heth->Instance->MACWTR, ETH_MACWTR_PWE) >> 8); + macconf->WatchdogTimeout = READ_BIT(heth->Instance->MACWTR, ETH_MACWTR_WTO); + + macconf->TransmitFlowControl = (FunctionalState)(READ_BIT(heth->Instance->MACTFCR, ETH_MACTFCR_TFE) >> 1); + macconf->ZeroQuantaPause = (FunctionalState)(!(READ_BIT(heth->Instance->MACTFCR, ETH_MACTFCR_DZPQ) >> 7)); + macconf->PauseLowThreshold = READ_BIT(heth->Instance->MACTFCR, ETH_MACTFCR_PLT); + macconf->PauseTime = (READ_BIT(heth->Instance->MACTFCR, ETH_MACTFCR_PT) >> 16); + + + macconf->ReceiveFlowControl = (FunctionalState)READ_BIT(heth->Instance->MACRFCR, ETH_MACRFCR_RFE); + macconf->UnicastPausePacketDetect = (FunctionalState)(READ_BIT(heth->Instance->MACRFCR, ETH_MACRFCR_UP) >> 1); + + macconf->TransmitQueueMode = READ_BIT(heth->Instance->MTLTQOMR, (ETH_MTLTQOMR_TTC | ETH_MTLTQOMR_TSF)); + + macconf->ReceiveQueueMode = READ_BIT(heth->Instance->MTLRQOMR, (ETH_MTLRQOMR_RTC | ETH_MTLRQOMR_RSF)); + macconf->ForwardRxUndersizedGoodPacket = (FunctionalState)(READ_BIT(heth->Instance->MTLRQOMR, ETH_MTLRQOMR_FUP) >> 3); + macconf->ForwardRxErrorPacket = (FunctionalState)(READ_BIT(heth->Instance->MTLRQOMR, ETH_MTLRQOMR_FEP) >> 4); + macconf->DropTCPIPChecksumErrorPacket = (FunctionalState)(!(READ_BIT(heth->Instance->MTLRQOMR, ETH_MTLRQOMR_DISTCPEF) >> 6)); + + return HAL_OK; +} + +/** + * @brief Get the configuration of the DMA. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param dmaconf: pointer to a ETH_DMAConfigTypeDef structure that will hold + * the configuration of the ETH DMA. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_ETH_GetDMAConfig(ETH_HandleTypeDef *heth, ETH_DMAConfigTypeDef *dmaconf) +{ + if (dmaconf == NULL) + { + return HAL_ERROR; + } + + dmaconf->AddressAlignedBeats = (FunctionalState)(READ_BIT(heth->Instance->DMASBMR, ETH_DMASBMR_AAL) >> 12); + dmaconf->BurstMode = READ_BIT(heth->Instance->DMASBMR, ETH_DMASBMR_FB | ETH_DMASBMR_MB); + dmaconf->RebuildINCRxBurst = (FunctionalState)(READ_BIT(heth->Instance->DMASBMR, ETH_DMASBMR_RB)>> 15); + + dmaconf->DMAArbitration = READ_BIT(heth->Instance->DMAMR, (ETH_DMAMR_TXPR |ETH_DMAMR_PR | ETH_DMAMR_DA)); + + dmaconf->PBLx8Mode = (FunctionalState)(READ_BIT(heth->Instance->DMACCR, ETH_DMACCR_8PBL)>> 16); + dmaconf->MaximumSegmentSize = READ_BIT(heth->Instance->DMACCR, ETH_DMACCR_MSS); + + dmaconf->FlushRxPacket = (FunctionalState)(READ_BIT(heth->Instance->DMACRCR, ETH_DMACRCR_RPF) >> 31); + dmaconf->RxDMABurstLength = READ_BIT(heth->Instance->DMACRCR, ETH_DMACRCR_RPBL); + + dmaconf->SecondPacketOperate = (FunctionalState)(READ_BIT(heth->Instance->DMACTCR, ETH_DMACTCR_OSP) >> 4); + dmaconf->TCPSegmentation = (FunctionalState)(READ_BIT(heth->Instance->DMACTCR, ETH_DMACTCR_TSE) >> 12); + dmaconf->TxDMABurstLength = READ_BIT(heth->Instance->DMACTCR, ETH_DMACTCR_TPBL); + + return HAL_OK; +} + +/** + * @brief Set the MAC configuration. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param macconf: pointer to a ETH_MACConfigTypeDef structure that contains + * the configuration of the MAC. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_SetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTypeDef *macconf) +{ + if(macconf == NULL) + { + return HAL_ERROR; + } + + if(heth->RxState == HAL_ETH_STATE_READY) + { + ETH_SetMACConfig(heth, macconf); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Set the ETH DMA configuration. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param dmaconf: pointer to a ETH_DMAConfigTypeDef structure that will hold + * the configuration of the ETH DMA. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_SetDMAConfig(ETH_HandleTypeDef *heth, ETH_DMAConfigTypeDef *dmaconf) +{ + if(dmaconf == NULL) + { + return HAL_ERROR; + } + + if(heth->RxState == HAL_ETH_STATE_READY) + { + ETH_SetDMAConfig(heth, dmaconf); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Configures the Clock range of ETH MDIO interface. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +void HAL_ETH_SetMDIOClockRange(ETH_HandleTypeDef *heth) +{ + uint32_t tmpreg, hclk; + + /* Get the ETHERNET MACMDIOAR value */ + tmpreg = (heth->Instance)->MACMDIOAR; + + /* Clear CSR Clock Range bits */ + tmpreg &= ~ETH_MACMDIOAR_CR; + + /* Get hclk frequency value */ + hclk = HAL_RCC_GetHCLKFreq(); + + /* Set CR bits depending on hclk value */ + if((hclk >= 20000000)&&(hclk < 35000000)) + { + /* CSR Clock Range between 20-35 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV16; + } + else if((hclk >= 35000000)&&(hclk < 60000000)) + { + /* CSR Clock Range between 35-60 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV26; + } + else if((hclk >= 60000000)&&(hclk < 100000000)) + { + /* CSR Clock Range between 60-100 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV42; + } + else if((hclk >= 100000000)&&(hclk < 150000000)) + { + /* CSR Clock Range between 100-150 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV62; + } + else /* (hclk >= 150000000)&&(hclk <= 200000000) */ + { + /* CSR Clock Range between 150-200 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV102; + } + + /* Configure the CSR Clock Range */ + (heth->Instance)->MACMDIOAR = (uint32_t)tmpreg; +} + +/** + * @brief Set the ETH MAC (L2) Filters configuration. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pFilterConfig: pointer to a ETH_MACFilterConfigTypeDef structure that contains + * the configuration of the ETH MAC filters. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_SetMACFilterConfig(ETH_HandleTypeDef *heth, ETH_MACFilterConfigTypeDef *pFilterConfig) +{ + uint32_t filterconfig; + + if(pFilterConfig == NULL) + { + return HAL_ERROR; + } + + filterconfig = (pFilterConfig->PromiscuousMode | + ((uint32_t)pFilterConfig->HashUnicast << 1) | + ((uint32_t)pFilterConfig->HashMulticast << 2) | + ((uint32_t)pFilterConfig->DestAddrInverseFiltering << 3) | + ((uint32_t)pFilterConfig->PassAllMulticast << 4) | + ((uint32_t)!pFilterConfig->BroadcastFilter << 5) | + ((uint32_t)pFilterConfig->SrcAddrInverseFiltering << 8) | + ((uint32_t)pFilterConfig->SrcAddrFiltering << 9) | + ((uint32_t)pFilterConfig->HachOrPerfectFilter << 10) | + ((uint32_t)pFilterConfig->ReceiveAllMode << 31) | + pFilterConfig->ControlPacketsFilter); + + MODIFY_REG(heth->Instance->MACPFR, ETH_MACPFR_MASK, filterconfig); + + return HAL_OK; +} + +/** + * @brief Get the ETH MAC (L2) Filters configuration. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pFilterConfig: pointer to a ETH_MACFilterConfigTypeDef structure that will hold + * the configuration of the ETH MAC filters. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_GetMACFilterConfig(ETH_HandleTypeDef *heth, ETH_MACFilterConfigTypeDef *pFilterConfig) +{ + if(pFilterConfig == NULL) + { + return HAL_ERROR; + } + + pFilterConfig->PromiscuousMode = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_PR)); + pFilterConfig->HashUnicast = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_HUC) >> 1); + pFilterConfig->HashMulticast = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_HMC) >> 2); + pFilterConfig->DestAddrInverseFiltering = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_DAIF) >> 3); + pFilterConfig->PassAllMulticast = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_PM) >> 4); + pFilterConfig->BroadcastFilter = (FunctionalState)(!(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_DBF) >> 5)); + pFilterConfig->ControlPacketsFilter = READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_PCF); + pFilterConfig->SrcAddrInverseFiltering = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_SAIF) >> 8); + pFilterConfig->SrcAddrFiltering = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_SAF) >> 9); + pFilterConfig->HachOrPerfectFilter = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_HPF) >> 10); + pFilterConfig->ReceiveAllMode = (FunctionalState)(READ_BIT(heth->Instance->MACPFR, ETH_MACPFR_RA) >> 31); + + return HAL_OK; +} + +/** + * @brief Set the source MAC Address to be matched. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param AddrNbr: The MAC address to configure + * This parameter must be a value of the following: + * ETH_MAC_ADDRESS1 + * ETH_MAC_ADDRESS2 + * ETH_MAC_ADDRESS3 + * @param pMACAddr: Pointer to MAC address buffer data (6 bytes) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_SetSourceMACAddrMatch(ETH_HandleTypeDef *heth, uint32_t AddrNbr, uint8_t *pMACAddr) +{ + uint32_t macaddrhr, macaddrlr; + + if(pMACAddr == NULL) + { + return HAL_ERROR; + } + + /* Get mac addr high reg offset */ + macaddrhr = ((uint32_t)&(heth->Instance->MACA0HR) + AddrNbr); + /* Get mac addr low reg offset */ + macaddrlr = ((uint32_t)&(heth->Instance->MACA0LR) + AddrNbr); + + /* Set MAC addr bits 32 to 47 */ + (*(__IO uint32_t *)macaddrhr) = ((pMACAddr[5] << 8) | pMACAddr[4]); + /* Set MAC addr bits 0 to 31 */ + (*(__IO uint32_t *)macaddrlr) = ((pMACAddr[3] << 24) | (pMACAddr[2] << 16) | (pMACAddr[1] << 8) | pMACAddr[0]); + + /* Enable address and set source address bit */ + (*(__IO uint32_t *)macaddrhr) |= (ETH_MACAHR_SA | ETH_MACAHR_AE); + + return HAL_OK; +} + +/** + * @brief Set the ETH Hash Table Value. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pHashTable: pointer to a table of two 32 bit values, that contains + * the 64 bits of the hash table. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETH_SetHashTable(ETH_HandleTypeDef *heth, uint32_t *pHashTable) +{ + if(pHashTable == NULL) + { + return HAL_ERROR; + } + + heth->Instance->MACHT0R = pHashTable[0]; + heth->Instance->MACHT1R = pHashTable[1]; + + return HAL_OK; +} + +/** + * @brief Set the VLAN Identifier for Rx packets + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param ComparisonBits: 12 or 16 bit comparison mode + must be a value of @ref ETH_VLAN_Tag_Comparison + * @param VLANIdentifier: VLAN Identifier value + * @retval None + */ +void HAL_ETH_SetRxVLANIdentifier(ETH_HandleTypeDef *heth, uint32_t ComparisonBits, uint32_t VLANIdentifier) +{ + if(ComparisonBits == ETH_VLANTAGCOMPARISON_16BIT) + { + MODIFY_REG(heth->Instance->MACVTR, ETH_MACVTR_VL , VLANIdentifier); + CLEAR_BIT(heth->Instance->MACVTR, ETH_MACVTR_ETV); + } + else + { + MODIFY_REG(heth->Instance->MACVTR, ETH_MACVTR_VL_VID , VLANIdentifier); + SET_BIT(heth->Instance->MACVTR, ETH_MACVTR_ETV); + } +} + +/** + * @brief Enters the Power down mode. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pPowerDownConfig: a pointer to ETH_PowerDownConfigTypeDef structure + * that contains the Power Down configration + * @retval None. + */ +void HAL_ETH_EnterPowerDownMode(ETH_HandleTypeDef *heth, ETH_PowerDownConfigTypeDef *pPowerDownConfig) +{ + uint32_t powerdownconfig; + + powerdownconfig = (((uint32_t)pPowerDownConfig->MagicPacket << 1) | + ((uint32_t)pPowerDownConfig->WakeUpPacket << 2) | + ((uint32_t)pPowerDownConfig->GlobalUnicast << 9) | + ((uint32_t)pPowerDownConfig->WakeUpForward << 10) | + ETH_MACPCSR_PWRDWN); + + /* Enable PMT interrupt */ + __HAL_ETH_MAC_ENABLE_IT(heth, ETH_MACIER_PMTIE); + + MODIFY_REG(heth->Instance->MACPCSR, ETH_MACPCSR_MASK, powerdownconfig); +} + +/** + * @brief Exits from the Power down mode. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None. + */ +void HAL_ETH_ExitPowerDownMode(ETH_HandleTypeDef *heth) +{ + /* clear wake up sources */ + CLEAR_BIT(heth->Instance->MACPCSR, ETH_MACPCSR_RWKPKTEN | ETH_MACPCSR_MGKPKTEN | ETH_MACPCSR_GLBLUCAST | ETH_MACPCSR_RWKPFE); + + if(READ_BIT(heth->Instance->MACPCSR, ETH_MACPCSR_PWRDWN)) + { + /* Exit power down mode */ + CLEAR_BIT(heth->Instance->MACPCSR, ETH_MACPCSR_PWRDWN); + } + + /* Disable PMT interrupt */ + __HAL_ETH_MAC_DISABLE_IT(heth, ETH_MACIER_PMTIE); +} + +/** + * @brief Set the WakeUp filter. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pFilter: pointer to filter registers values + * @param Count: number of filter registers, must be from 1 to 8. + * @retval None. + */ +HAL_StatusTypeDef HAL_ETH_SetWakeUpFilter(ETH_HandleTypeDef *heth, uint32_t *pFilter, uint32_t Count) +{ + uint32_t regindex; + + if(pFilter == NULL) + { + return HAL_ERROR; + } + + /* Reset Filter Pointer */ + SET_BIT(heth->Instance->MACPCSR, ETH_MACPCSR_RWKFILTRST); + + /* Wake up packet filter config */ + for(regindex = 0; regindex < Count; regindex++) + { + /* Write filter regs */ + WRITE_REG(heth->Instance->MACRWKPFR, pFilter[regindex]); + } + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup ETH_Exported_Functions_Group4 Peripheral State and Errors functions + * @brief ETH State and Errors functions + * +@verbatim + ============================================================================== + ##### Peripheral State and Errors functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to return the State of + ETH communication process, return Peripheral Errors occurred during communication + process + + +@endverbatim + * @{ + */ + +/** + * @brief Returns the ETH state. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL state + */ +HAL_ETH_StateTypeDef HAL_ETH_GetState(ETH_HandleTypeDef *heth) +{ + uint32_t gstate, rxstate; + gstate = heth->gState; + rxstate = heth->RxState; + + return (HAL_ETH_StateTypeDef)(gstate | rxstate); +} + +/** + * @brief Returns the ETH error code + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval ETH Error Code + */ +uint32_t HAL_ETH_GetError(ETH_HandleTypeDef *heth) +{ + return heth->ErrorCode; +} + +/** + * @brief Returns the ETH DMA error code + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval ETH DMA Error Code + */ +uint32_t HAL_ETH_GetDMAError(ETH_HandleTypeDef *heth) +{ + return heth->DMAErrorCode; +} + +/** + * @brief Returns the ETH MAC error code + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval ETH MAC Error Code + */ +uint32_t HAL_ETH_GetMACError(ETH_HandleTypeDef *heth) +{ + return heth->MACErrorCode; +} + +/** + * @brief Returns the ETH MAC WakeUp event source + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval ETH MAC WakeUp event source + */ +uint32_t HAL_ETH_GetMACWakeUpSource(ETH_HandleTypeDef *heth) +{ + return heth->MACWakeUpEvent; +} + +/** + * @} + */ + +/** + * @} + */ + +static void ETH_SetMACConfig(ETH_HandleTypeDef *heth, ETH_MACConfigTypeDef *macconf) +{ + uint32_t macregval; + + /*------------------------ MACCR Configuration --------------------*/ + macregval =(macconf->InterPacketGapVal | + macconf->SourceAddrControl | + (uint32_t)(macconf->ChecksumOffload << 27) | + (uint32_t)(macconf->GiantPacketSizeLimitControl << 23) | + (uint32_t)(macconf->Support2KPacket << 22) | + (uint32_t)(macconf->CRCStripTypePacket << 21) | + (uint32_t)(macconf->AutomaticPadCRCStrip << 20) | + (uint32_t)(!macconf->Watchdog << 19) | + (uint32_t)(!macconf->Jabber << 17) | + (uint32_t)(macconf->JumboPacket << 16) | + macconf->Speed | + macconf->DuplexMode | + (uint32_t)(macconf->LoopbackMode << 12) | + (uint32_t)(macconf->CarrierSenseBeforeTransmit << 11)| + (uint32_t)(!macconf->ReceiveOwn << 10)| + (uint32_t)(macconf->CarrierSenseDuringTransmit << 9)| + (uint32_t)(!macconf->RetryTransmission << 8)| + macconf->BackOffLimit | + (uint32_t)(macconf->DeferralCheck << 4)| + macconf->PreambleLength); + + /* Write to MACCR */ + MODIFY_REG(heth->Instance->MACCR, ETH_MACCR_MASK, macregval); + + /*------------------------ MACECR Configuration --------------------*/ + macregval = ((macconf->ExtendedInterPacketGapVal << 25)| + (uint32_t)(macconf->ExtendedInterPacketGap << 24)| + (uint32_t)(macconf->UnicastSlowProtocolPacketDetect << 18)| + (uint32_t)(macconf->SlowProtocolDetect << 17)| + (uint32_t)(!macconf->CRCCheckingRxPackets << 16) | + macconf->GiantPacketSizeLimit); + + /* Write to MACECR */ + MODIFY_REG(heth->Instance->MACECR, ETH_MACECR_MASK, macregval); + + /*------------------------ MACWTR Configuration --------------------*/ + macregval = ((uint32_t)(macconf->ProgrammableWatchdog << 8) | + macconf->WatchdogTimeout); + + /* Write to MACWTR */ + MODIFY_REG(heth->Instance->MACWTR, ETH_MACWTR_MASK, macregval); + + /*------------------------ MACTFCR Configuration --------------------*/ + macregval = ((uint32_t)(macconf->TransmitFlowControl << 1) | + macconf->PauseLowThreshold | + (uint32_t)(!macconf->ZeroQuantaPause << 7) | + (macconf->PauseTime << 16)); + + /* Write to MACTFCR */ + MODIFY_REG(heth->Instance->MACTFCR, ETH_MACTFCR_MASK, macregval); + + /*------------------------ MACRFCR Configuration --------------------*/ + macregval = ((uint32_t)macconf->ReceiveFlowControl | + (uint32_t)(macconf->UnicastPausePacketDetect << 1)); + + /* Write to MACRFCR */ + MODIFY_REG(heth->Instance->MACRFCR, ETH_MACRFCR_MASK, macregval); + + /*------------------------ MTLTQOMR Configuration --------------------*/ + /* Write to MTLTQOMR */ + MODIFY_REG(heth->Instance->MTLTQOMR, ETH_MTLTQOMR_MASK, macconf->TransmitQueueMode); + + /*------------------------ MTLRQOMR Configuration --------------------*/ + macregval = (macconf->ReceiveQueueMode | + (uint32_t)(!macconf->DropTCPIPChecksumErrorPacket << 6) | + (uint32_t)(macconf->ForwardRxErrorPacket << 4) | + (uint32_t)(macconf->ForwardRxUndersizedGoodPacket << 3)); + + /* Write to MTLRQOMR */ + MODIFY_REG(heth->Instance->MTLRQOMR, ETH_MTLRQOMR_MASK, macregval); +} + +static void ETH_SetDMAConfig(ETH_HandleTypeDef *heth, ETH_DMAConfigTypeDef *dmaconf) +{ + uint32_t dmaregval; + + /*------------------------ DMAMR Configuration --------------------*/ + MODIFY_REG(heth->Instance->DMAMR, ETH_DMAMR_MASK, dmaconf->DMAArbitration); + + /*------------------------ DMASBMR Configuration --------------------*/ + dmaregval = ((uint32_t)(dmaconf->AddressAlignedBeats << 12) | + dmaconf->BurstMode | + (uint32_t)(dmaconf->RebuildINCRxBurst << 15)); + + MODIFY_REG(heth->Instance->DMASBMR, ETH_DMASBMR_MASK, dmaregval); + + /*------------------------ DMACCR Configuration --------------------*/ + dmaregval = ((uint32_t)(dmaconf->PBLx8Mode <<16) | + dmaconf->MaximumSegmentSize); + + MODIFY_REG(heth->Instance->DMACCR, ETH_DMACCR_MASK, dmaregval); + + /*------------------------ DMACTCR Configuration --------------------*/ + dmaregval = (dmaconf->TxDMABurstLength | + (uint32_t)(dmaconf->SecondPacketOperate << 4)| + (uint32_t)(dmaconf->TCPSegmentation << 12)); + + MODIFY_REG(heth->Instance->DMACTCR, ETH_DMACTCR_MASK, dmaregval); + + /*------------------------ DMACRCR Configuration --------------------*/ + dmaregval = ((uint32_t)(dmaconf->FlushRxPacket << 31) | + dmaconf->RxDMABurstLength); + + /* Write to DMACRCR */ + MODIFY_REG(heth->Instance->DMACRCR, ETH_DMACRCR_MASK, dmaregval); +} + +/** + * @brief Configures Ethernet MAC and DMA with default parameters. + * called by HAL_ETH_Init() API. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval HAL status + */ +static void ETH_MACDMAConfig(ETH_HandleTypeDef *heth) +{ + ETH_MACConfigTypeDef macDefaultConf; + ETH_DMAConfigTypeDef dmaDefaultConf; + + /*--------------- ETHERNET MAC registers default Configuration --------------*/ + macDefaultConf.AutomaticPadCRCStrip = ENABLE; + macDefaultConf.BackOffLimit = ETH_BACKOFFLIMIT_10; + macDefaultConf.CarrierSenseBeforeTransmit = DISABLE; + macDefaultConf.CarrierSenseDuringTransmit = DISABLE; + macDefaultConf.ChecksumOffload = ENABLE; + macDefaultConf.CRCCheckingRxPackets = ENABLE; + macDefaultConf.CRCStripTypePacket = ENABLE; + macDefaultConf.DeferralCheck = DISABLE; + macDefaultConf.DropTCPIPChecksumErrorPacket = ENABLE; + macDefaultConf.DuplexMode = ETH_FULLDUPLEX_MODE; + macDefaultConf.ExtendedInterPacketGap = DISABLE; + macDefaultConf.ExtendedInterPacketGapVal = 0x0; + macDefaultConf.ForwardRxErrorPacket = DISABLE; + macDefaultConf.ForwardRxUndersizedGoodPacket = DISABLE; + macDefaultConf.GiantPacketSizeLimit = 0x618; + macDefaultConf.GiantPacketSizeLimitControl = DISABLE; + macDefaultConf.InterPacketGapVal = ETH_INTERPACKETGAP_96BIT; + macDefaultConf.Jabber = ENABLE; + macDefaultConf.JumboPacket = DISABLE; + macDefaultConf.LoopbackMode = DISABLE; + macDefaultConf.PauseLowThreshold = ETH_PAUSELOWTHRESHOLD_MINUS_4; + macDefaultConf.PauseTime = 0x0; + macDefaultConf.PreambleLength = ETH_PREAMBLELENGTH_7; + macDefaultConf.ProgrammableWatchdog = DISABLE; + macDefaultConf.ReceiveFlowControl = DISABLE; + macDefaultConf.ReceiveOwn = ENABLE; + macDefaultConf.ReceiveQueueMode = ETH_RECEIVESTOREFORWARD; + macDefaultConf.RetryTransmission = ENABLE; + macDefaultConf.SlowProtocolDetect = DISABLE; + macDefaultConf.SourceAddrControl = ETH_SOURCEADDRESS_REPLACE_ADDR0; + macDefaultConf.Speed = ETH_SPEED_100M; + macDefaultConf.Support2KPacket = DISABLE; + macDefaultConf.TransmitQueueMode = ETH_TRANSMITSTOREFORWARD; + macDefaultConf.TransmitFlowControl = DISABLE; + macDefaultConf.UnicastPausePacketDetect = DISABLE; + macDefaultConf.UnicastSlowProtocolPacketDetect = DISABLE; + macDefaultConf.Watchdog = ENABLE; + macDefaultConf.WatchdogTimeout = ETH_MACWTR_WTO_2KB; + macDefaultConf.ZeroQuantaPause = ENABLE; + + /* MAC default configuration */ + ETH_SetMACConfig(heth, &macDefaultConf); + + /*--------------- ETHERNET DMA registers default Configuration --------------*/ + dmaDefaultConf.AddressAlignedBeats = ENABLE; + dmaDefaultConf.BurstMode = ETH_BURSTLENGTH_FIXED; + dmaDefaultConf.DMAArbitration = ETH_DMAARBITRATION_RX1_TX1; + dmaDefaultConf.FlushRxPacket = DISABLE; + dmaDefaultConf.PBLx8Mode = DISABLE; + dmaDefaultConf.RebuildINCRxBurst = DISABLE; + dmaDefaultConf.RxDMABurstLength = ETH_RXDMABURSTLENGTH_32BEAT; + dmaDefaultConf.SecondPacketOperate = DISABLE; + dmaDefaultConf.TxDMABurstLength = ETH_TXDMABURSTLENGTH_32BEAT; + dmaDefaultConf.TCPSegmentation = DISABLE; + dmaDefaultConf.MaximumSegmentSize = 536; + + /* DMA default configuration */ + ETH_SetDMAConfig(heth, &dmaDefaultConf); +} + +/** + * @brief Configures the Clock range of SMI interface. + * called by HAL_ETH_Init() API. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +static void ETH_MAC_MDIO_ClkConfig(ETH_HandleTypeDef *heth) +{ + uint32_t tmpreg, hclk; + + /* Get the ETHERNET MACMDIOAR value */ + tmpreg = (heth->Instance)->MACMDIOAR; + + /* Clear CSR Clock Range bits */ + tmpreg &= ~ETH_MACMDIOAR_CR; + + /* Get hclk frequency value */ + hclk = HAL_RCC_GetHCLKFreq(); + + /* Set CR bits depending on hclk value */ + if((hclk >= 20000000)&&(hclk < 35000000)) + { + /* CSR Clock Range between 20-35 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV16; + } + else if((hclk >= 35000000)&&(hclk < 60000000)) + { + /* CSR Clock Range between 35-60 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV26; + } + else if((hclk >= 60000000)&&(hclk < 100000000)) + { + /* CSR Clock Range between 60-100 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV42; + } + else if((hclk >= 100000000)&&(hclk < 150000000)) + { + /* CSR Clock Range between 100-150 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV62; + } + else /* (hclk >= 150000000)&&(hclk <= 200000000) */ + { + /* CSR Clock Range between 150-200 MHz */ + tmpreg |= (uint32_t)ETH_MACMDIOAR_CR_DIV102; + } + + /* Configure the CSR Clock Range */ + (heth->Instance)->MACMDIOAR = (uint32_t)tmpreg; +} + +/** + * @brief Initializes the DMA Tx descriptors. + * called by HAL_ETH_Init() API. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +static void ETH_DMATxDescListInit(ETH_HandleTypeDef *heth) +{ + ETH_DMADescTypeDef *dmatxdesc; + uint32_t i; + + /* Fill each DMATxDesc descriptor with the right values */ + for(i=0; i < ETH_TX_DESC_CNT; i++) + { + dmatxdesc = heth->Init.TxDesc + i; + + WRITE_REG(dmatxdesc->DESC0, 0x0); + WRITE_REG(dmatxdesc->DESC1, 0x0); + WRITE_REG(dmatxdesc->DESC2, 0x0); + WRITE_REG(dmatxdesc->DESC3, 0x0); + + WRITE_REG(heth->TxDescList.TxDesc[i], (uint32_t)dmatxdesc); + } + + heth->TxDescList.CurTxDesc = 0; + + /* Set Transmit Descriptor Ring Length */ + WRITE_REG(heth->Instance->DMACTDRLR, (ETH_TX_DESC_CNT -1)); + + /* Set Transmit Descriptor List Address */ + WRITE_REG(heth->Instance->DMACTDLAR, (uint32_t) heth->Init.TxDesc); + + /* Set Transmit Descriptor Tail pointer */ + WRITE_REG(heth->Instance->DMACTDTPR, (uint32_t) heth->Init.TxDesc); +} + +/** + * @brief Initializes the DMA Rx descriptors in chain mode. + * called by HAL_ETH_Init() API. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +static void ETH_DMARxDescListInit(ETH_HandleTypeDef *heth) +{ + ETH_DMADescTypeDef *dmarxdesc; + uint32_t i; + + for(i = 0; i < ETH_RX_DESC_CNT; i++) + { + dmarxdesc = heth->Init.RxDesc + i; + + WRITE_REG(dmarxdesc->DESC0, 0x0); + WRITE_REG(dmarxdesc->DESC1, 0x0); + WRITE_REG(dmarxdesc->DESC2, 0x0); + WRITE_REG(dmarxdesc->DESC3, 0x0); + WRITE_REG(dmarxdesc->BackupAddr0, 0x0); + WRITE_REG(dmarxdesc->BackupAddr1, 0x0); + + /* Set Rx descritors adresses */ + WRITE_REG(heth->RxDescList.RxDesc[i], (uint32_t)dmarxdesc); + } + + WRITE_REG(heth->RxDescList.CurRxDesc, 0); + WRITE_REG(heth->RxDescList.FirstAppDesc, 0); + WRITE_REG(heth->RxDescList.AppDescNbr, 0); + WRITE_REG(heth->RxDescList.ItMode, 0); + WRITE_REG(heth->RxDescList.AppContextDesc, 0); + + /* Set Receive Descriptor Ring Length */ + WRITE_REG(heth->Instance->DMACRDRLR, (ETH_RX_DESC_CNT - 1)); + + /* Set Receive Descriptor List Address */ + WRITE_REG(heth->Instance->DMACRDLAR, (uint32_t) heth->Init.RxDesc); + + /* Set Receive Descriptor Tail pointer Address */ + WRITE_REG(heth->Instance->DMACRDTPR, ((uint32_t)heth->Init.RxDesc + ((ETH_RX_DESC_CNT - 1)*sizeof(ETH_DMADescTypeDef)))); +} + +/** + * @brief Prepare Tx DMA descriptor before transmission. + * called by HAL_ETH_Transmit_IT and HAL_ETH_Transmit_IT() API. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pTxConfig: Tx packet configuration + * @param ItMode: Enable or disable Tx EOT interrept + * @retval Status + */ +static uint32_t ETH_Prepare_Tx_Descriptors(ETH_HandleTypeDef *heth, ETH_TxPacketConfig *pTxConfig, uint32_t ItMode) +{ + ETH_TxDescListTypeDef *dmatxdesclist = &heth->TxDescList; + uint32_t descidx = dmatxdesclist->CurTxDesc; + uint32_t firstdescidx = dmatxdesclist->CurTxDesc; + uint32_t descnbr = 0, idx; + ETH_DMADescTypeDef *dmatxdesc = (ETH_DMADescTypeDef *)dmatxdesclist->TxDesc[descidx]; + + ETH_BufferTypeDef *txbuffer = pTxConfig->TxBuffer; + + /* Current Tx Descriptor Owned by DMA: cannot be used by the application */ + if(READ_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCWBF_OWN) == ETH_DMATXNDESCWBF_OWN) + { + return HAL_ETH_ERROR_BUSY; + } + + /***************************************************************************/ + /***************** Context descriptor configuration (Optional) **********/ + /***************************************************************************/ + /* If VLAN tag is enabled for this packet */ + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_VLANTAG)) + { + /* Set vlan tag value */ + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXCDESC_VT, pTxConfig->VlanTag); + /* Set vlan tag valid bit */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXCDESC_VLTV); + /* Set the descriptor as the vlan input source */ + SET_BIT(heth->Instance->MACVIR, ETH_MACVIR_VLTI); + + /* if inner VLAN is enabled */ + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_INNERVLANTAG)) + { + /* Set inner vlan tag value */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXCDESC_IVT, (pTxConfig->InnerVlanTag << 16)); + /* Set inner vlan tag valid bit */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXCDESC_IVLTV); + + /* Set Vlan Tag control */ + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXCDESC_IVTIR, pTxConfig->InnerVlanCtrl); + + /* Set the descriptor as the inner vlan input source */ + SET_BIT(heth->Instance->MACIVIR, ETH_MACIVIR_VLTI); + /* Enable double VLAN processing */ + SET_BIT(heth->Instance->MACVTR, ETH_MACVTR_EDVLP); + } + } + + /* if tcp segementation is enabled for this packet */ + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_TSO)) + { + /* Set MSS value */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXCDESC_MSS, pTxConfig->MaxSegmentSize); + /* Set MSS valid bit */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXCDESC_TCMSSV); + } + + if((READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_VLANTAG)) || (READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_TSO))) + { + /* Set as context descriptor */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXCDESC_CTXT); + /* Set own bit */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXCDESC_OWN); + /* Increment current tx descriptor index */ + INCR_TX_DESC_INDEX(descidx, 1); + /* Get current descriptor address */ + dmatxdesc = (ETH_DMADescTypeDef *)dmatxdesclist->TxDesc[descidx]; + + descnbr += 1U; + + /* Current Tx Descriptor Owned by DMA: cannot be used by the application */ + if(READ_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCWBF_OWN) == ETH_DMATXNDESCWBF_OWN) + { + dmatxdesc = (ETH_DMADescTypeDef *)dmatxdesclist->TxDesc[firstdescidx]; + /* Clear own bit */ + CLEAR_BIT(dmatxdesc->DESC3, ETH_DMATXCDESC_OWN); + + return HAL_ETH_ERROR_BUSY; + } + } + + /***************************************************************************/ + /***************** Normal descriptors configuration *****************/ + /***************************************************************************/ + + descnbr += 1U; + + /* Set header or buffer 1 address */ + WRITE_REG(dmatxdesc->DESC0, (uint32_t)txbuffer->buffer); + /* Set header or buffer 1 Length */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXNDESCRF_B1L, txbuffer->len); + + if(txbuffer->next != NULL) + { + txbuffer = txbuffer->next; + /* Set buffer 2 address */ + WRITE_REG(dmatxdesc->DESC1, (uint32_t)txbuffer->buffer); + /* Set buffer 2 Length */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXNDESCRF_B2L, (txbuffer->len << 16)); + } + else + { + WRITE_REG(dmatxdesc->DESC1, 0x0); + /* Set buffer 2 Length */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXNDESCRF_B2L, 0x0); + } + + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_TSO)) + { + /* Set TCP Header length */ + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_THL, (pTxConfig->TCPHeaderLen << 19)); + /* Set TCP payload length */ + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_TPL, pTxConfig->PayloadLen); + /* Set TCP Segmentation Enabled bit */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_TSE); + } + else + { + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_FL, pTxConfig->Length); + + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_CSUM)) + { + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_CIC, pTxConfig->ChecksumCtrl); + } + + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_CRCPAD)) + { + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_CPC, pTxConfig->CRCPadCtrl); + } + } + + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_VLANTAG)) + { + /* Set Vlan Tag control */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXNDESCRF_VTIR, pTxConfig->VlanCtrl); + } + + /* Mark it as First Descriptor */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_FD); + /* Mark it as NORMAL descriptor */ + CLEAR_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_CTXT); + /* set OWN bit of FIRST descriptor */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_OWN); + + /* If source address insertion/replacement is enabled for this packet */ + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_SAIC)) + { + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_SAIC, pTxConfig->SrcAddrCtrl); + } + + /* only if the packet is splitted into more than one descriptors > 1 */ + while (txbuffer->next != NULL) + { + /* Increment current tx descriptor index */ + INCR_TX_DESC_INDEX(descidx, 1); + /* Get current descriptor address */ + dmatxdesc = (ETH_DMADescTypeDef *)dmatxdesclist->TxDesc[descidx]; + + /* Current Tx Descriptor Owned by DMA: cannot be used by the application */ + if(READ_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_OWN) == ETH_DMATXNDESCRF_OWN) + { + descidx = firstdescidx; + dmatxdesc = (ETH_DMADescTypeDef *)dmatxdesclist->TxDesc[descidx]; + + /* clear previous desc own bit */ + for(idx = 0; idx < descnbr; idx ++) + { + CLEAR_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_OWN); + + /* Increment current tx descriptor index */ + INCR_TX_DESC_INDEX(descidx, 1); + /* Get current descriptor address */ + dmatxdesc = (ETH_DMADescTypeDef *)dmatxdesclist->TxDesc[descidx]; + } + + return HAL_ETH_ERROR_BUSY; + } + + descnbr += 1U; + + /* Get the next Tx buffer in the list */ + txbuffer = (struct __ETH_BufferTypeDef *)txbuffer->next; + + /* Set header or buffer 1 address */ + WRITE_REG(dmatxdesc->DESC0, (uint32_t)txbuffer->buffer); + /* Set header or buffer 1 Length */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXNDESCRF_B1L, txbuffer->len); + + if (txbuffer->next != NULL) + { + /* Get the next Tx buffer in the list */ + txbuffer = (struct __ETH_BufferTypeDef *)txbuffer->next; + /* Set buffer 2 address */ + WRITE_REG(dmatxdesc->DESC1, (uint32_t)txbuffer->buffer); + /* Set buffer 2 Length */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXNDESCRF_B2L, (txbuffer->len << 16)); + } + else + { + WRITE_REG(dmatxdesc->DESC1, 0x0); + /* Set buffer 2 Length */ + MODIFY_REG(dmatxdesc->DESC2, ETH_DMATXNDESCRF_B2L, 0x0); + } + + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_TSO)) + { + /* Set TCP payload length */ + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_TPL, pTxConfig->PayloadLen); + /* Set TCP Segmentation Enabled bit */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_TSE); + } + else + { + /* Set the packet length */ + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_FL, pTxConfig->Length); + + if(READ_BIT(pTxConfig->Attributes, ETH_TX_PACKETS_FEATURES_CSUM)) + { + /* Checksum Insertion Control */ + MODIFY_REG(dmatxdesc->DESC3, ETH_DMATXNDESCRF_CIC, pTxConfig->ChecksumCtrl); + } + } + + /* Set Own bit */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_OWN); + /* Mark it as NORMAL descriptor */ + CLEAR_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_CTXT); + } + + if(ItMode != ((uint32_t)RESET)) + { + /* Set Interrupt on completition bit */ + SET_BIT(dmatxdesc->DESC2, ETH_DMATXNDESCRF_IOC); + } + else + { + /* Clear Interrupt on completition bit */ + CLEAR_BIT(dmatxdesc->DESC2, ETH_DMATXNDESCRF_IOC); + } + + /* Mark it as LAST descriptor */ + SET_BIT(dmatxdesc->DESC3, ETH_DMATXNDESCRF_LD); + + dmatxdesclist->CurTxDesc = descidx; + + /* Return function status */ + return HAL_ETH_ERROR_NONE; +} + +#endif /* HAL_ETH_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth_ex.c new file mode 100644 index 0000000000..bac9378e86 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth_ex.c @@ -0,0 +1,569 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_eth_ex.c + * @author MCD Application Team + * @brief ETH HAL Extended module driver. + * + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup ETHEx ETHEx + * @brief ETH HAL Extended module driver + * @{ + */ + +#ifdef HAL_ETH_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup ETHEx_Private_Constants ETHEx Private Constants + * @{ + */ +#define ETH_MACL4CR_MASK (ETH_MACL3L4CR_L4PEN | ETH_MACL3L4CR_L4SPM | \ + ETH_MACL3L4CR_L4SPIM | ETH_MACL3L4CR_L4DPM | \ + ETH_MACL3L4CR_L4DPIM) + +#define ETH_MACL3CR_MASK (ETH_MACL3L4CR_L3PEN | ETH_MACL3L4CR_L3SAM | \ + ETH_MACL3L4CR_L3SAIM | ETH_MACL3L4CR_L3DAM | \ + ETH_MACL3L4CR_L3DAIM | ETH_MACL3L4CR_L3HSBM | \ + ETH_MACL3L4CR_L3HDBM) + +#define ETH_MACRXVLAN_MASK (ETH_MACVTR_EIVLRXS | ETH_MACVTR_EIVLS | \ + ETH_MACVTR_ERIVLT | ETH_MACVTR_EDVLP | \ + ETH_MACVTR_VTHM | ETH_MACVTR_EVLRXS | \ + ETH_MACVTR_EVLS | ETH_MACVTR_DOVLTC | \ + ETH_MACVTR_ERSVLM | ETH_MACVTR_ESVL | \ + ETH_MACVTR_VTIM | ETH_MACVTR_ETV) + +#define ETH_MACTXVLAN_MASK (ETH_MACVIR_VLTI | ETH_MACVIR_CSVL | \ + ETH_MACVIR_VLP | ETH_MACVIR_VLC) +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions ---------------------------------------------------------*/ +/** @defgroup ETHEx_Exported_Functions ETH Extended Exported Functions + * @{ + */ + +/** @defgroup ETHEx_Exported_Functions_Group1 Extended features functions + * @brief Extended features functions + * +@verbatim + =============================================================================== + ##### Extended features functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure ARP offload module + (+) Configure L3 and L4 filters + (+) Configure Extended VLAN features + (+) Configure Energy Efficient Ethernet module + +@endverbatim + * @{ + */ + +/** + * @brief Enables ARP Offload. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +void HAL_ETHEx_EnableARPOffload(ETH_HandleTypeDef *heth) +{ + SET_BIT(heth->Instance->MACCR, ETH_MACCR_ARP); +} + +/** + * @brief Disables ARP Offload. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +void HAL_ETHEx_DisableARPOffload(ETH_HandleTypeDef *heth) +{ + CLEAR_BIT(heth->Instance->MACCR, ETH_MACCR_ARP); +} + +/** + * @brief Set the ARP Match IP address + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param IpAddress: IP Address to be matched for incoming ARP requests + * @retval None + */ +void HAL_ETHEx_SetARPAddressMatch(ETH_HandleTypeDef *heth, uint32_t IpAddress) +{ + WRITE_REG(heth->Instance->MACARPAR, IpAddress); +} + +/** + * @brief Configures the L4 Filter, this function allow to: + * set the layer 4 protocol to be matched (TCP or UDP) + * enable/disable L4 source/destination port perfect/inverse match. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param Filter: L4 filter to configured, this parameter must be one of the following + * ETH_L4_FILTER_0 + * ETH_L4_FILTER_1 + * @param pL4FilterConfig: pointer to a ETH_L4FilterConfigTypeDef structure + * that contains L4 filter configuration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETHEx_SetL4FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter , ETH_L4FilterConfigTypeDef *pL4FilterConfig) +{ + __IO uint32_t *configreg = ((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)); + + if(pL4FilterConfig == NULL) + { + return HAL_ERROR; + } + + /* Write configuration to (MACL3L4C0R + filter )register */ + MODIFY_REG(*configreg, ETH_MACL4CR_MASK ,(pL4FilterConfig->Protocol | + pL4FilterConfig->SrcPortFilterMatch | + pL4FilterConfig->DestPortFilterMatch)); + + configreg = ((__IO uint32_t *)(&(heth->Instance->MACL4A0R) + Filter)); + + /* Write configuration to (MACL4A0R + filter )register */ + MODIFY_REG(*configreg, (ETH_MACL4AR_L4DP | ETH_MACL4AR_L4SP) , (pL4FilterConfig->SourcePort | + (pL4FilterConfig->DestinationPort << 16))); + + /* Enable L4 filter */ + SET_BIT(heth->Instance->MACPFR, ETH_MACPFR_IPFE); + + return HAL_OK; +} + +/** + * @brief Configures the L4 Filter, this function allow to: + * set the layer 4 protocol to be matched (TCP or UDP) + * enable/disable L4 source/destination port perfect/inverse match. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param Filter: L4 filter to configured, this parameter must be one of the following + * ETH_L4_FILTER_0 + * ETH_L4_FILTER_1 + * @param pL4FilterConfig: pointer to a ETH_L4FilterConfigTypeDef structure + * that contains L4 filter configuration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETHEx_GetL4FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L4FilterConfigTypeDef *pL4FilterConfig) +{ + if(pL4FilterConfig == NULL) + { + return HAL_ERROR; + } + + /* Get configuration to (MACL3L4C0R + filter )register */ + pL4FilterConfig->Protocol = READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), ETH_MACL3L4CR_L4PEN); + pL4FilterConfig->DestPortFilterMatch = READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), (ETH_MACL3L4CR_L4DPM | ETH_MACL3L4CR_L4DPIM)); + pL4FilterConfig->SrcPortFilterMatch = READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), (ETH_MACL3L4CR_L4SPM | ETH_MACL3L4CR_L4SPIM)); + + /* Get configuration to (MACL3L4C0R + filter )register */ + pL4FilterConfig->DestinationPort = (READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL4A0R) + Filter)), ETH_MACL4AR_L4DP) >> 16); + pL4FilterConfig->SourcePort = READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL4A0R) + Filter)), ETH_MACL4AR_L4SP); + + return HAL_OK; +} + +/** + * @brief Configures the L3 Filter, this function allow to: + * set the layer 3 protocol to be matched (IPv4 or IPv6) + * enable/disable L3 source/destination port perfect/inverse match. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param Filter: L3 filter to configured, this parameter must be one of the following + * ETH_L3_FILTER_0 + * ETH_L3_FILTER_1 + * @param pL3FilterConfig: pointer to a ETH_L3FilterConfigTypeDef structure + * that contains L3 filter configuration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETHEx_SetL3FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L3FilterConfigTypeDef *pL3FilterConfig) +{ + __IO uint32_t *configreg = ((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)); + + if(pL3FilterConfig == NULL) + { + return HAL_ERROR; + } + + /* Write configuration to (MACL3L4C0R + filter )register */ + MODIFY_REG(*configreg, ETH_MACL3CR_MASK, (pL3FilterConfig->Protocol | + pL3FilterConfig->SrcAddrFilterMatch | + pL3FilterConfig->DestAddrFilterMatch | + (pL3FilterConfig->SrcAddrHigherBitsMatch << 6) | + (pL3FilterConfig->DestAddrHigherBitsMatch << 11))); + + /* Check if IPv6 protocol is selected */ + if(pL3FilterConfig->Protocol != ETH_L3_IPV4_MATCH) + { + /* Set the IPv6 address match */ + /* Set Bits[31:0] of 128-bit IP addr */ + *((__IO uint32_t *)(&(heth->Instance->MACL3A0R0R) + Filter)) = pL3FilterConfig->Ip6Addr[0]; + /* Set Bits[63:32] of 128-bit IP addr */ + *((__IO uint32_t *)(&(heth->Instance->MACL3A1R0R) + Filter)) = pL3FilterConfig->Ip6Addr[1]; + /* update Bits[95:64] of 128-bit IP addr */ + *((__IO uint32_t *)(&(heth->Instance->MACL3A2R0R) + Filter)) = pL3FilterConfig->Ip6Addr[2]; + /* update Bits[127:96] of 128-bit IP addr */ + *((__IO uint32_t *)(&(heth->Instance->MACL3A3R0R) + Filter)) = pL3FilterConfig->Ip6Addr[3]; + } + else /* IPv4 protocol is selected */ + { + /* Set the IPv4 source address match */ + *((__IO uint32_t *)(&(heth->Instance->MACL3A0R0R) + Filter)) = pL3FilterConfig->Ip4SrcAddr; + /* Set the IPv4 destination address match */ + *((__IO uint32_t *)(&(heth->Instance->MACL3A1R0R) + Filter)) = pL3FilterConfig->Ip4DestAddr; + } + + return HAL_OK; +} + +/** + * @brief Configures the L3 Filter, this function allow to: + * set the layer 3 protocol to be matched (IPv4 or IPv6) + * enable/disable L3 source/destination port perfect/inverse match. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param Filter: L3 filter to configured, this parameter must be one of the following + * ETH_L3_FILTER_0 + * ETH_L3_FILTER_1 + * @param pL3FilterConfig: pointer to a ETH_L3FilterConfigTypeDef structure + * that will contain the L3 filter configuration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETHEx_GetL3FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L3FilterConfigTypeDef *pL3FilterConfig) +{ + if(pL3FilterConfig == NULL) + { + return HAL_ERROR; + } + + pL3FilterConfig->Protocol = READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), ETH_MACL3L4CR_L3PEN); + pL3FilterConfig->SrcAddrFilterMatch = READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), (ETH_MACL3L4CR_L3SAM | ETH_MACL3L4CR_L3SAIM)); + pL3FilterConfig->DestAddrFilterMatch = READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), (ETH_MACL3L4CR_L3DAM | ETH_MACL3L4CR_L3DAIM)); + pL3FilterConfig->SrcAddrHigherBitsMatch = (READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), ETH_MACL3L4CR_L3HSBM) >> 6); + pL3FilterConfig->DestAddrHigherBitsMatch = (READ_BIT(*((__IO uint32_t *)(&(heth->Instance->MACL3L4C0R) + Filter)), ETH_MACL3L4CR_L3HDBM) >> 11); + + if(pL3FilterConfig->Protocol != ETH_L3_IPV4_MATCH) + { + pL3FilterConfig->Ip6Addr[0] = *((__IO uint32_t *)(&(heth->Instance->MACL3A0R0R) + Filter)); + pL3FilterConfig->Ip6Addr[1] = *((__IO uint32_t *)(&(heth->Instance->MACL3A1R0R) + Filter)); + pL3FilterConfig->Ip6Addr[2] = *((__IO uint32_t *)(&(heth->Instance->MACL3A2R0R) + Filter)); + pL3FilterConfig->Ip6Addr[3] = *((__IO uint32_t *)(&(heth->Instance->MACL3A3R0R) + Filter)); + } + else + { + pL3FilterConfig->Ip4SrcAddr = *((__IO uint32_t *)(&(heth->Instance->MACL3A0R0R) + Filter)); + pL3FilterConfig->Ip4DestAddr = *((__IO uint32_t *)(&(heth->Instance->MACL3A1R0R) + Filter)); + } + + return HAL_OK; +} + +/** + * @brief Enables L3 and L4 filtering process. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None. + */ +void HAL_ETHEx_EnableL3L4Filtering(ETH_HandleTypeDef *heth) +{ + /* Enable L3/L4 filter */ + SET_BIT(heth->Instance->MACPFR, ETH_MACPFR_IPFE); +} + +/** + * @brief Disables L3 and L4 filtering process. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None. + */ +void HAL_ETHEx_DisableL3L4Filtering(ETH_HandleTypeDef *heth) +{ + /* Disable L3/L4 filter */ + CLEAR_BIT(heth->Instance->MACPFR, ETH_MACPFR_IPFE); +} + +/** + * @brief Get the VLAN Configuration for Receive Packets. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pVlanConfig: pointer to a ETH_RxVLANConfigTypeDef structure + * that will contain the VLAN filter configuration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETHEx_GetRxVLANConfig(ETH_HandleTypeDef *heth, ETH_RxVLANConfigTypeDef *pVlanConfig) +{ + if(pVlanConfig == NULL) + { + return HAL_ERROR; + } + + pVlanConfig->InnerVLANTagInStatus = (FunctionalState)(READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_EIVLRXS) >> 31); + pVlanConfig->StripInnerVLANTag = READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_EIVLS); + pVlanConfig->InnerVLANTag = (FunctionalState)(READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_ERIVLT) >> 27); + pVlanConfig->DoubleVLANProcessing = (FunctionalState)(READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_EDVLP) >> 26); + pVlanConfig->VLANTagHashTableMatch = (FunctionalState)(READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_VTHM) >> 25); + pVlanConfig->VLANTagInStatus = (FunctionalState)(READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_EVLRXS) >> 24); + pVlanConfig->StripVLANTag = READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_EVLS); + pVlanConfig->VLANTypeCheck = READ_BIT(heth->Instance->MACVTR, (ETH_MACVTR_DOVLTC | ETH_MACVTR_ERSVLM | ETH_MACVTR_ESVL)); + pVlanConfig->VLANTagInverceMatch = (FunctionalState)(READ_BIT(heth->Instance->MACVTR, ETH_MACVTR_VTIM) >> 17); + + return HAL_OK; +} + +/** + * @brief Set the VLAN Configuration for Receive Packets. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param pVlanConfig: pointer to a ETH_RxVLANConfigTypeDef structure + * that contains VLAN filter configuration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_ETHEx_SetRxVLANConfig(ETH_HandleTypeDef *heth, ETH_RxVLANConfigTypeDef *pVlanConfig) +{ + if(pVlanConfig == NULL) + { + return HAL_ERROR; + } + + /* Write config to MACVTR */ + MODIFY_REG(heth->Instance->MACVTR, ETH_MACRXVLAN_MASK, ((uint32_t)(pVlanConfig->InnerVLANTagInStatus << 31) | + pVlanConfig->StripInnerVLANTag | + (uint32_t)(pVlanConfig->InnerVLANTag << 27) | + (uint32_t)(pVlanConfig->DoubleVLANProcessing << 26) | + (uint32_t)(pVlanConfig->VLANTagHashTableMatch << 25) | + (uint32_t)(pVlanConfig->VLANTagInStatus << 24) | + pVlanConfig->StripVLANTag | + pVlanConfig->VLANTypeCheck | + (uint32_t)(pVlanConfig->VLANTagInverceMatch << 17))); + + return HAL_OK; +} + +/** + * @brief Set the VLAN Hash Table + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param VLANHashTable: VLAN hash table 16 bit value + * @retval None + */ +void HAL_ETHEx_SetVLANHashTable(ETH_HandleTypeDef *heth, uint32_t VLANHashTable) +{ + MODIFY_REG(heth->Instance->MACVHTR, ETH_MACVHTR_VLHT, VLANHashTable); +} + +/** + * @brief Get the VLAN Configuration for Transmit Packets. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param VLANTag: Selects the vlan tag, this parameter must be one of the following + * ETH_OUTER_TX_VLANTAG + * ETH_INNER_TX_VLANTAG + * @param pVlanConfig: pointer to a ETH_TxVLANConfigTypeDef structure + * that will contain the Tx VLAN filter configuration. + * @retval HAL Status. + */ +HAL_StatusTypeDef HAL_ETHEx_GetTxVLANConfig(ETH_HandleTypeDef *heth, uint32_t VLANTag ,ETH_TxVLANConfigTypeDef *pVlanConfig) +{ + if (pVlanConfig == NULL) + { + return HAL_ERROR; + } + + if(VLANTag == ETH_INNER_TX_VLANTAG) + { + pVlanConfig->SourceTxDesc = (FunctionalState)(READ_BIT(heth->Instance->MACIVIR, ETH_MACVIR_VLTI) >> 20); + pVlanConfig->SVLANType = (FunctionalState)(READ_BIT(heth->Instance->MACIVIR, ETH_MACVIR_CSVL) >> 19); + pVlanConfig->VLANTagControl = READ_BIT(heth->Instance->MACIVIR, (ETH_MACVIR_VLP | ETH_MACVIR_VLC)); + } + else + { + pVlanConfig->SourceTxDesc = (FunctionalState)(READ_BIT(heth->Instance->MACVIR, ETH_MACVIR_VLTI) >> 20); + pVlanConfig->SVLANType = (FunctionalState)(READ_BIT(heth->Instance->MACVIR, ETH_MACVIR_CSVL) >> 19); + pVlanConfig->VLANTagControl = READ_BIT(heth->Instance->MACVIR, (ETH_MACVIR_VLP | ETH_MACVIR_VLC)); + } + + return HAL_OK;; +} + +/** + * @brief Set the VLAN Configuration for Transmit Packets. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param VLANTag: Selects the vlan tag, this parameter must be one of the following + * ETH_OUTER_TX_VLANTAG + * ETH_INNER_TX_VLANTAG + * @param pVlanConfig: pointer to a ETH_TxVLANConfigTypeDef structure + * that contains Tx VLAN filter configuration. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_ETHEx_SetTxVLANConfig(ETH_HandleTypeDef *heth, uint32_t VLANTag ,ETH_TxVLANConfigTypeDef *pVlanConfig) +{ + if(VLANTag == ETH_INNER_TX_VLANTAG) + { + MODIFY_REG(heth->Instance->MACIVIR, ETH_MACTXVLAN_MASK, ((uint32_t)(pVlanConfig->SourceTxDesc << 20) | + (uint32_t)(pVlanConfig->SVLANType << 19) | + pVlanConfig->VLANTagControl)); + /* Enable Double VLAN processing */ + SET_BIT(heth->Instance->MACVTR, ETH_MACVTR_EDVLP); + } + else + { + MODIFY_REG(heth->Instance->MACVIR, ETH_MACTXVLAN_MASK, ((uint32_t)(pVlanConfig->SourceTxDesc << 20) | + (uint32_t)(pVlanConfig->SVLANType << 19) | + pVlanConfig->VLANTagControl)); + } + + return HAL_OK; +} + +/** + * @brief Set the VLAN Tag Identifier for Transmit Packets. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param VLANTag: Selects the vlan tag, this parameter must be one of the following + * ETH_OUTER_TX_VLANTAG + * ETH_INNER_TX_VLANTAG + * @param VLANIdentifier: VLAN Identifier 16 bit value + * @retval None + */ +void HAL_ETHEx_SetTxVLANIdentifier(ETH_HandleTypeDef *heth, uint32_t VLANTag ,uint32_t VLANIdentifier) +{ + if(VLANTag == ETH_INNER_TX_VLANTAG) + { + MODIFY_REG(heth->Instance->MACIVIR, ETH_MACVIR_VLT, VLANIdentifier); + } + else + { + MODIFY_REG(heth->Instance->MACVIR, ETH_MACVIR_VLT, VLANIdentifier); + } +} + +/** + * @brief Enables the VLAN Tag Filtering process. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None. + */ +void HAL_ETHEx_EnableVLANProcessing(ETH_HandleTypeDef *heth) +{ + /* Enable VLAN processing */ + SET_BIT(heth->Instance->MACPFR, ETH_MACPFR_VTFE); +} + +/** + * @brief Disables the VLAN Tag Filtering process. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None. + */ +void HAL_ETHEx_DisableVLANProcessing(ETH_HandleTypeDef *heth) +{ + /* Disable VLAN processing */ + CLEAR_BIT(heth->Instance->MACPFR, ETH_MACPFR_VTFE); +} + +/** + * @brief Enters the Low Power Idle (LPI) mode + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @param TxAutomate: Enable/Disbale automate enter/exit LPI mode. + * @param TxClockStop: Enable/Disbale Tx clock stop in LPI mode. + * @retval None + */ +void HAL_ETHEx_EnterLPIMode(ETH_HandleTypeDef *heth, FunctionalState TxAutomate, FunctionalState TxClockStop) +{ + /* Enable LPI Interrupts */ + __HAL_ETH_MAC_ENABLE_IT(heth, ETH_MACIER_LPIIE); + + /* Write to LPI Control register: Enter low power mode */ + MODIFY_REG(heth->Instance->MACLCSR, (ETH_MACLCSR_LPIEN | ETH_MACLCSR_LPITXA | ETH_MACLCSR_LPITCSE), (((uint32_t)TxAutomate << 19) | + ((uint32_t)TxClockStop << 21) | + ETH_MACLCSR_LPIEN)); +} + +/** + * @brief Exits the Low Power Idle (LPI) mode. + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval None + */ +void HAL_ETHEx_ExitLPIMode(ETH_HandleTypeDef *heth) +{ + /* Clear the LPI Config and exit low power mode */ + CLEAR_BIT(heth->Instance->MACLCSR, (ETH_MACLCSR_LPIEN | ETH_MACLCSR_LPITXA | ETH_MACLCSR_LPITCSE)); + + /* Enable LPI Interrupts */ + __HAL_ETH_MAC_DISABLE_IT(heth, ETH_MACIER_LPIIE); +} + + +/** + * @brief Returns the ETH MAC LPI event + * @param heth: pointer to a ETH_HandleTypeDef structure that contains + * the configuration information for ETHERNET module + * @retval ETH MAC WakeUp event + */ +uint32_t HAL_ETHEx_GetMACLPIEvent(ETH_HandleTypeDef *heth) +{ + return heth->MACLPIEvent; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_ETH_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c new file mode 100644 index 0000000000..c4b4c6ae0c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c @@ -0,0 +1,4773 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_fdcan.c + * @author MCD Application Team + * @brief FDCAN HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Flexible DataRate Controller Area Network + * (FDCAN) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Configuration and Control functions + * + Peripheral State and Error functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Initialize the FDCAN peripheral using HAL_FDCAN_Init function. + + (#) If needed , configure the reception filters and optional features using + the following configuration functions: + (++) HAL_FDCAN_ConfigClockCalibration + (++) HAL_FDCAN_ConfigFilter + (++) HAL_FDCAN_ConfigGlobalFilter + (++) HAL_FDCAN_ConfigExtendedIdMask + (++) HAL_FDCAN_ConfigRxFifoOverwrite + (++) HAL_FDCAN_ConfigFifoWatermark + (++) HAL_FDCAN_ConfigRamWatchdog + (++) HAL_FDCAN_ConfigTimestampCounter + (++) HAL_FDCAN_EnableTimestampCounter + (++) HAL_FDCAN_DisableTimestampCounter + (++) HAL_FDCAN_ConfigTimeoutCounter + (++) HAL_FDCAN_EnableTimeoutCounter + (++) HAL_FDCAN_DisableTimeoutCounter + (++) HAL_FDCAN_ConfigTxDelayCompensation + (++) HAL_FDCAN_EnableTxDelayCompensation + (++) HAL_FDCAN_DisableTxDelayCompensation + (++) HAL_FDCAN_TT_ConfigOperation + (++) HAL_FDCAN_TT_ConfigReferenceMessage + (++) HAL_FDCAN_TT_ConfigTrigger + + (#) Start the FDCAN module using HAL_FDCAN_Start function. At this level + the node is active on the bus: it can send and receive messages. + + (#) The following Tx control functions can only be called when the FDCAN + module is started: + (++) HAL_FDCAN_AddMessageToTxFifoQ + (++) HAL_FDCAN_EnableTxBufferRequest + (++) HAL_FDCAN_AbortTxRequest + + (#) When a message is received into the FDCAN message RAM, it can be + retrieved using the HAL_FDCAN_GetRxMessage function. + + (#) Calling the HAL_FDCAN_Stop function stops the FDCAN module by entering + it to initialization mode and re-enabling access to configuration + registers through the configuration functions listed here above. + + (#) All other control functions can be called any time after initialization + phase, no matter if the FDCAN module is started or stoped. + + *** Polling mode operation *** + ============================== + + [..] + (#) Reception and transmission states can be monitored via the following + functions: + (++) HAL_FDCAN_IsRxBufferMessageAvailable + (++) HAL_FDCAN_IsTxBufferMessagePending + (++) HAL_FDCAN_GetRxFifoFillLevel + (++) HAL_FDCAN_GetTxFifoFreeLevel + + *** Interrupt mode operation *** + ================================ + [..] + (#) There are two interrupt lines: line 0 and 1. + By default, all interrupts are assigned to line 0. Interrupt lines + can be configured using HAL_FDCAN_ConfigInterruptLines function. + + (#) Notifications are activated using HAL_FDCAN_ActivateNotification + function. Then, the process can be controlled through one of the + available user callbacks: HAL_FDCAN_xxxCallback. + + @endverbatim + + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup FDCAN FDCAN + * @brief FDCAN HAL module driver + * @{ + */ + +#ifdef HAL_FDCAN_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup FDCAN_Private_Constants + * @{ + */ +#define FDCAN_TIMEOUT_VALUE 10 + +#define FDCAN_TX_EVENT_FIFO_MASK (FDCAN_IR_TEFL | FDCAN_IR_TEFF | FDCAN_IR_TEFW | FDCAN_IR_TEFN) +#define FDCAN_RX_FIFO0_MASK (FDCAN_IR_RF0L | FDCAN_IR_RF0F | FDCAN_IR_RF0W | FDCAN_IR_RF0N) +#define FDCAN_RX_FIFO1_MASK (FDCAN_IR_RF1L | FDCAN_IR_RF1F | FDCAN_IR_RF1W | FDCAN_IR_RF1N) +#define FDCAN_ERROR_MASK (FDCAN_IR_ELO | FDCAN_IR_EP | FDCAN_IR_EW | FDCAN_IR_BO | \ + FDCAN_IR_WDI | FDCAN_IR_PEA | FDCAN_IR_PED | FDCAN_IR_ARA) +#define FDCAN_TT_SCHEDULE_SYNC_MASK (FDCAN_TTIR_SBC | FDCAN_TTIR_SMC | FDCAN_TTIR_CSM | FDCAN_TTIR_SOG) +#define FDCAN_TT_TIME_MARK_MASK (FDCAN_TTIR_RTMI | FDCAN_TTIR_TTMI) +#define FDCAN_TT_GLOBAL_TIME_MASK (FDCAN_TTIR_GTW | FDCAN_TTIR_GTD) +#define FDCAN_TT_DISTURBING_ERROR_MASK (FDCAN_TTIR_GTE | FDCAN_TTIR_TXU | FDCAN_TTIR_TXO | \ + FDCAN_TTIR_SE1 | FDCAN_TTIR_SE2 | FDCAN_TTIR_ELC) +#define FDCAN_TT_FATAL_ERROR_MASK (FDCAN_TTIR_IWT | FDCAN_TTIR_WT | FDCAN_TTIR_AW | FDCAN_TTIR_CER) + +#define FDCAN_ELEMENT_MASK_STDID ((uint32_t)0x1FFC0000U) /* Standard Identifier */ +#define FDCAN_ELEMENT_MASK_EXTID ((uint32_t)0x1FFFFFFFU) /* Extended Identifier */ +#define FDCAN_ELEMENT_MASK_RTR ((uint32_t)0x20000000U) /* Remote Transmission Request */ +#define FDCAN_ELEMENT_MASK_XTD ((uint32_t)0x40000000U) /* Extended Identifier */ +#define FDCAN_ELEMENT_MASK_ESI ((uint32_t)0x80000000U) /* Error State Indicator */ +#define FDCAN_ELEMENT_MASK_TS ((uint32_t)0x0000FFFFU) /* Timestamp */ +#define FDCAN_ELEMENT_MASK_DLC ((uint32_t)0x000F0000U) /* Data Length Code */ +#define FDCAN_ELEMENT_MASK_BRS ((uint32_t)0x00100000U) /* Bit Rate Switch */ +#define FDCAN_ELEMENT_MASK_FDF ((uint32_t)0x00200000U) /* FD Format */ +#define FDCAN_ELEMENT_MASK_EFC ((uint32_t)0x00800000U) /* Event FIFO Control */ +#define FDCAN_ELEMENT_MASK_MM ((uint32_t)0xFF000000U) /* Message Marker */ +#define FDCAN_ELEMENT_MASK_FIDX ((uint32_t)0x7F000000U) /* Filter Index */ +#define FDCAN_ELEMENT_MASK_ANMF ((uint32_t)0x80000000U) /* Accepted Non-matching Frame */ +#define FDCAN_ELEMENT_MASK_ET ((uint32_t)0x00C00000U) /* Event type */ + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +static const uint8_t DLCtoBytes[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 20, 24, 32, 48, 64}; +static const uint8_t CvtEltSize[] = {0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 7}; + +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup FDCAN_Private_Functions_Prototypes + * @{ + */ +static HAL_StatusTypeDef FDCAN_CalcultateRamBlockAddresses(FDCAN_HandleTypeDef *hfdcan); +static HAL_StatusTypeDef FDCAN_CopyMessageToRAM(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTypeDef *pTxHeader, uint8_t *pTxData, uint32_t BufferIndex); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup FDCAN_Exported_Functions FDCAN Exported Functions + * @{ + */ + +/** @defgroup FDCAN_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Initialize and configure the FDCAN. + (+) De-initialize the FDCAN. + (+) Enter FDCAN peripheral in power down mode. + (+) Exit power down mode. + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the FDCAN peripheral according to the specified + * parameters in the FDCAN_InitTypeDef structure. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_Init(FDCAN_HandleTypeDef* hfdcan) +{ + uint32_t tickstart = 0U; + + /* Check FDCAN handle */ + if(hfdcan == NULL) + { + return HAL_ERROR; + } + + /* Check FDCAN instance */ + if(hfdcan->Instance == FDCAN1) + { + hfdcan->ttcan = (TTCAN_TypeDef *)((uint32_t)hfdcan->Instance + 0x100); + } + + /* Check function parameters */ + assert_param(IS_FDCAN_ALL_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_FRAME_FORMAT(hfdcan->Init.FrameFormat)); + assert_param(IS_FDCAN_MODE(hfdcan->Init.Mode)); + assert_param(IS_FUNCTIONAL_STATE(hfdcan->Init.AutoRetransmission)); + assert_param(IS_FUNCTIONAL_STATE(hfdcan->Init.TransmitPause)); + assert_param(IS_FUNCTIONAL_STATE(hfdcan->Init.ProtocolException)); + assert_param(IS_FDCAN_NOMINAL_PRESCALER(hfdcan->Init.NominalPrescaler)); + assert_param(IS_FDCAN_NOMINAL_SJW(hfdcan->Init.NominalSyncJumpWidth)); + assert_param(IS_FDCAN_NOMINAL_TSEG1(hfdcan->Init.NominalTimeSeg1)); + assert_param(IS_FDCAN_NOMINAL_TSEG2(hfdcan->Init.NominalTimeSeg2)); + if(hfdcan->Init.FrameFormat == FDCAN_FRAME_FD_BRS) + { + assert_param(IS_FDCAN_DATA_PRESCALER(hfdcan->Init.DataPrescaler)); + assert_param(IS_FDCAN_DATA_SJW(hfdcan->Init.DataSyncJumpWidth)); + assert_param(IS_FDCAN_DATA_TSEG1(hfdcan->Init.DataTimeSeg1)); + assert_param(IS_FDCAN_DATA_TSEG2(hfdcan->Init.DataTimeSeg2)); + } + assert_param(IS_FDCAN_MAX_VALUE(hfdcan->Init.StdFiltersNbr, 128)); + assert_param(IS_FDCAN_MAX_VALUE(hfdcan->Init.ExtFiltersNbr, 64)); + assert_param(IS_FDCAN_MAX_VALUE(hfdcan->Init.RxFifo0ElmtsNbr, 64)); + if(hfdcan->Init.RxFifo0ElmtsNbr > 0) + { + assert_param(IS_FDCAN_DATA_SIZE(hfdcan->Init.RxFifo0ElmtSize)); + } + assert_param(IS_FDCAN_MAX_VALUE(hfdcan->Init.RxFifo1ElmtsNbr, 64)); + if(hfdcan->Init.RxFifo1ElmtsNbr > 0) + { + assert_param(IS_FDCAN_DATA_SIZE(hfdcan->Init.RxFifo1ElmtSize)); + } + assert_param(IS_FDCAN_MAX_VALUE(hfdcan->Init.RxBuffersNbr, 64)); + if(hfdcan->Init.RxBuffersNbr > 0) + { + assert_param(IS_FDCAN_DATA_SIZE(hfdcan->Init.RxBufferSize)); + } + assert_param(IS_FDCAN_MAX_VALUE(hfdcan->Init.TxEventsNbr, 32)); + assert_param(IS_FDCAN_MAX_VALUE((hfdcan->Init.TxBuffersNbr + hfdcan->Init.TxFifoQueueElmtsNbr), 32)); + if(hfdcan->Init.TxFifoQueueElmtsNbr > 0) + { + assert_param(IS_FDCAN_TX_FIFO_QUEUE_MODE(hfdcan->Init.TxFifoQueueMode)); + } + if((hfdcan->Init.TxBuffersNbr + hfdcan->Init.TxFifoQueueElmtsNbr) > 0) + { + assert_param(IS_FDCAN_DATA_SIZE(hfdcan->Init.TxElmtSize)); + } + + if(hfdcan->State == HAL_FDCAN_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hfdcan->Lock = HAL_UNLOCKED; + + /* Init the low level hardware */ + HAL_FDCAN_MspInit(hfdcan); + } + + /* Exit from Sleep mode */ + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_CSR); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Check Sleep mode acknowledge */ + while((hfdcan->Instance->CCCR & FDCAN_CCCR_CSA) == FDCAN_CCCR_CSA) + { + if((HAL_GetTick() - tickstart) > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Request initialisation */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_INIT); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until the INIT bit into CCCR register is set */ + while((hfdcan->Instance->CCCR & FDCAN_CCCR_INIT) == RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart) > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enable configuration change */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_CCE); + + /* Set the no automatic retransmission */ + if(hfdcan->Init.AutoRetransmission == ENABLE) + { + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_DAR); + } + else + { + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_DAR); + } + + /* Set the transmit pause feature */ + if(hfdcan->Init.TransmitPause == ENABLE) + { + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_TXP); + } + else + { + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_TXP); + } + + /* Set the Protocol Exception Handling */ + if(hfdcan->Init.ProtocolException == ENABLE) + { + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_PXHD); + } + else + { + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_PXHD); + } + + /* Set FDCAN Frame Format */ + MODIFY_REG(hfdcan->Instance->CCCR, FDCAN_FRAME_FD_BRS, hfdcan->Init.FrameFormat); + + /* Set FDCAN Operating Mode: + | Normal | Restricted | Bus | Internal | External + | | Operation | Monitoring | LoopBack | LoopBack + CCCR.TEST | 0 | 0 | 0 | 1 | 1 + CCCR.MON | 0 | 0 | 1 | 1 | 0 + TEST.LBCK | 0 | 0 | 0 | 1 | 1 + CCCR.ASM | 0 | 1 | 0 | 0 | 0 + */ + if(hfdcan->Init.Mode == FDCAN_MODE_RESTRICTED_OPERATION) + { + /* Enable Restricted Operation mode */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_ASM); + } + else if(hfdcan->Init.Mode != FDCAN_MODE_NORMAL) + { + if(hfdcan->Init.Mode != FDCAN_MODE_BUS_MONITORING) + { + /* Enable write access to TEST register */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_TEST); + + /* Enable LoopBack mode */ + SET_BIT(hfdcan->Instance->TEST, FDCAN_TEST_LBCK); + + if(hfdcan->Init.Mode == FDCAN_MODE_INTERNAL_LOOPBACK) + { + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_MON); + } + } + else + { + /* Enable bus monitoring mode */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_MON); + } + } + + /* Set the nominal bit timing register */ + hfdcan->Instance->NBTP = ((((uint32_t)hfdcan->Init.NominalSyncJumpWidth - 1) << 25) | \ + (((uint32_t)hfdcan->Init.NominalTimeSeg1 - 1) << 8) | \ + ((uint32_t)hfdcan->Init.NominalTimeSeg2 - 1) | \ + (((uint32_t)hfdcan->Init.NominalPrescaler - 1) << 16)); + + /* If FD operation with BRS is selected, set the data bit timing register */ + if(hfdcan->Init.FrameFormat == FDCAN_FRAME_FD_BRS) + { + hfdcan->Instance->DBTP = (((uint32_t)hfdcan->Init.DataSyncJumpWidth - 1) | \ + (((uint32_t)hfdcan->Init.DataTimeSeg1 - 1) << 8) | \ + (((uint32_t)hfdcan->Init.DataTimeSeg2 - 1) << 4) | \ + (((uint32_t)hfdcan->Init.DataPrescaler - 1) << 16)); + } + + if(hfdcan->Init.TxFifoQueueElmtsNbr > 0) + { + /* Select between Tx FIFO and Tx Queue operation modes */ + SET_BIT(hfdcan->Instance->TXBC, hfdcan->Init.TxFifoQueueMode); + } + + /* Configure Tx element size */ + if((hfdcan->Init.TxBuffersNbr + hfdcan->Init.TxFifoQueueElmtsNbr) > 0) + { + MODIFY_REG(hfdcan->Instance->TXESC, FDCAN_TXESC_TBDS, CvtEltSize[hfdcan->Init.TxElmtSize]); + } + + /* Configure Rx FIFO 0 element size */ + if(hfdcan->Init.RxFifo0ElmtsNbr > 0) + { + MODIFY_REG(hfdcan->Instance->RXESC, FDCAN_RXESC_F0DS, CvtEltSize[hfdcan->Init.RxFifo0ElmtSize]); + } + + /* Configure Rx FIFO 1 element size */ + if(hfdcan->Init.RxFifo1ElmtsNbr > 0) + { + MODIFY_REG(hfdcan->Instance->RXESC, FDCAN_RXESC_F1DS, (CvtEltSize[hfdcan->Init.RxFifo1ElmtSize] << 4)); + } + + /* Configure Rx buffer element size */ + if(hfdcan->Init.RxBuffersNbr > 0) + { + MODIFY_REG(hfdcan->Instance->RXESC, FDCAN_RXESC_RBDS, (CvtEltSize[hfdcan->Init.RxBufferSize] << 8)); + } + + /* By default operation mode is set to Event-driven communication. + If Time-triggered communication is needed, user should call the + HAL_FDCAN_TT_ConfigOperation function just after the HAL_FDCAN_Init */ + if(hfdcan->Instance == FDCAN1) + { + CLEAR_BIT(hfdcan->ttcan->TTOCF, FDCAN_TTOCF_OM); + } + + /* Calculate each RAM block address */ + FDCAN_CalcultateRamBlockAddresses(hfdcan); + + /* Initialize the error code */ + hfdcan->ErrorCode = HAL_FDCAN_ERROR_NONE; + + /* Initialize the FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Deinitializes the FDCAN peripheral registers to their default reset values. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_DeInit(FDCAN_HandleTypeDef* hfdcan) +{ + /* Check FDCAN handle */ + if(hfdcan == NULL) + { + return HAL_ERROR; + } + + /* Check function parameters */ + assert_param(IS_FDCAN_ALL_INSTANCE(hfdcan->Instance)); + + /* Stop the FDCAN module */ + HAL_FDCAN_Stop(hfdcan); + + /* DeInit the low level hardware */ + HAL_FDCAN_MspDeInit(hfdcan); + + /* Reset the FDCAN ErrorCode */ + hfdcan->ErrorCode = HAL_FDCAN_ERROR_NONE; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_RESET; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initializes the FDCAN MSP. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_MspInit(FDCAN_HandleTypeDef* hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitializes the FDCAN MSP. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_MspDeInit(FDCAN_HandleTypeDef* hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Enter FDCAN peripheral in sleep mode. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_EnterPowerDownMode(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t tickstart = 0U; + + /* Request clock stop */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_CSR); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until FDCAN is ready for power down */ + while((hfdcan->Instance->CCCR & FDCAN_CCCR_CSA) == RESET) + { + if((HAL_GetTick() - tickstart) > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Exit power down mode. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ExitPowerDownMode(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t tickstart = 0U; + + /* Reset clock stop request */ + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_CSR); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until FDCAN exits sleep mode */ + while((hfdcan->Instance->CCCR & FDCAN_CCCR_CSA) == FDCAN_CCCR_CSA) + { + if((HAL_GetTick() - tickstart) > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enter normal operation */ + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_INIT); + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup FDCAN_Exported_Functions_Group2 Configuration functions + * @brief FDCAN Configuration functions. + * +@verbatim + ============================================================================== + ##### Configuration functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) HAL_FDCAN_ConfigClockCalibration : Configure the FDCAN clock calibration unit + (+) HAL_FDCAN_GetClockCalibrationState : Get the clock calibration state + (+) HAL_FDCAN_ResetClockCalibrationState : Reset the clock calibration state + (+) HAL_FDCAN_GetClockCalibrationCounter : Get the clock calibration counters values + (+) HAL_FDCAN_ConfigFilter : Configure the FDCAN reception filters + (+) HAL_FDCAN_ConfigGlobalFilter : Configure the FDCAN global filter + (+) HAL_FDCAN_ConfigExtendedIdMask : Configure the extended ID mask + (+) HAL_FDCAN_ConfigRxFifoOverwrite : Configure the Rx FIFO operation mode + (+) HAL_FDCAN_ConfigFifoWatermark : Configure the FIFO watermark + (+) HAL_FDCAN_ConfigRamWatchdog : Configure the RAM watchdog + (+) HAL_FDCAN_ConfigTimestampCounter : Configure the timestamp counter + (+) HAL_FDCAN_EnableTimestampCounter : Enable the timestamp counter + (+) HAL_FDCAN_DisableTimestampCounter : Disable the timestamp counter + (+) HAL_FDCAN_GetTimestampCounter : Get the timestamp counter value + (+) HAL_FDCAN_ResetTimestampCounter : Reset the timestamp counter to zero + (+) HAL_FDCAN_ConfigTimeoutCounter : Configure the timeout counter + (+) HAL_FDCAN_EnableTimeoutCounter : Enable the timeout counter + (+) HAL_FDCAN_DisableTimeoutCounter : Disable the timeout counter + (+) HAL_FDCAN_GetTimeoutCounter : Get the timeout counter value + (+) HAL_FDCAN_ResetTimeoutCounter : Reset the timeout counter to its start value + (+) HAL_FDCAN_ConfigTxDelayCompensation : Configure the transmitter delay compensation + (+) HAL_FDCAN_EnableTxDelayCompensation : Enable the transmitter delay compensation + (+) HAL_FDCAN_DisableTxDelayCompensation : Disable the transmitter delay compensation + +@endverbatim + * @{ + */ + +/** + * @brief Configure the FDCAN clock calibration unit according to the specified + * parameters in the FDCAN_ClkCalUnitTypeDef structure. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param sCcuConfig: pointer to an FDCAN_ClkCalUnitTypeDef structure that + * contains the clock calibration information + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigClockCalibration(FDCAN_HandleTypeDef* hfdcan, FDCAN_ClkCalUnitTypeDef* sCcuConfig) +{ + /* Check function parameters */ + assert_param(IS_FUNCTIONAL_STATE(sCcuConfig->ClockCalibration)); + if(sCcuConfig->ClockCalibration == DISABLE) + { + assert_param(IS_FDCAN_CKDIV(sCcuConfig->ClockDivider)); + } + else + { + assert_param(IS_FDCAN_MAX_VALUE(sCcuConfig->MinOscClkPeriods, 0xFF)); + assert_param(IS_FDCAN_CALIBRATION_FIELD_LENGTH(sCcuConfig->CalFieldLength)); + assert_param(IS_FDCAN_MIN_VALUE(sCcuConfig->TimeQuantaPerBitTime, 4)); + assert_param(IS_FDCAN_MAX_VALUE(sCcuConfig->TimeQuantaPerBitTime, 0x25)); + assert_param(IS_FDCAN_MAX_VALUE(sCcuConfig->WatchdogStartValue, 0xFFFF)); + } + + /* FDCAN1 should be initialized in order to use clock calibration */ + if(hfdcan->Instance != FDCAN1) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + if(sCcuConfig->ClockCalibration == DISABLE) + { + /* Bypass clock calibration */ + SET_BIT(FDCAN_CCU->CCFG, FDCANCCU_CCFG_BCC); + + /* Configure clock divider */ + MODIFY_REG(FDCAN_CCU->CCFG, FDCANCCU_CCFG_CDIV, sCcuConfig->ClockDivider); + } + else /* sCcuConfig->ClockCalibration == ENABLE */ + { + /* Clock calibration unit generates time quanta clock */ + CLEAR_BIT(FDCAN_CCU->CCFG, FDCANCCU_CCFG_BCC); + + /* Configure clock calibration unit */ + MODIFY_REG(FDCAN_CCU->CCFG, + (FDCANCCU_CCFG_TQBT | FDCANCCU_CCFG_CFL | FDCANCCU_CCFG_OCPM), + (sCcuConfig->TimeQuantaPerBitTime | sCcuConfig->CalFieldLength | (sCcuConfig->MinOscClkPeriods << 8))); + + /* Configure the start value of the calibration watchdog counter */ + MODIFY_REG(FDCAN_CCU->CWD, FDCANCCU_CWD_WDC, sCcuConfig->WatchdogStartValue); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Get the clock calibration state. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval State: clock calibration state (can be a value of @arg FDCAN_calibration_state) + */ +uint32_t HAL_FDCAN_GetClockCalibrationState(FDCAN_HandleTypeDef* hfdcan) +{ + return (FDCAN_CCU->CSTAT & FDCANCCU_CSTAT_CALS); +} + +/** + * @brief Reset the clock calibration state. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ResetClockCalibrationState(FDCAN_HandleTypeDef* hfdcan) +{ + /* Calibration software reset */ + SET_BIT(FDCAN_CCU->CCFG, FDCANCCU_CCFG_SWR); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Get the clock calibration counter value. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param Counter: clock calibration counter. + * This parameter can be a value of @arg FDCAN_calibration_counter. + * @retval Value: clock calibration counter value + */ +uint32_t HAL_FDCAN_GetClockCalibrationCounter(FDCAN_HandleTypeDef* hfdcan, uint32_t Counter) +{ + if(Counter == FDCAN_CALIB_TIME_QUANTA_COUNTER) + { + return ((FDCAN_CCU->CSTAT & FDCANCCU_CSTAT_TQC) >> 18); + } + else if(Counter == FDCAN_CALIB_CLOCK_PERIOD_COUNTER) + { + return (FDCAN_CCU->CSTAT & FDCANCCU_CSTAT_OCPC); + } + else /* Counter == FDCAN_CALIB_WATCHDOG_COUNTER */ + { + return ((FDCAN_CCU->CWD & FDCANCCU_CWD_WDV) >> 16); + } +} + +/** + * @brief Configure the FDCAN reception filter according to the specified + * parameters in the FDCAN_FilterTypeDef structure. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param sFilterConfig: pointer to an FDCAN_FilterTypeDef structure that + * contains the filter configuration information + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigFilter(FDCAN_HandleTypeDef* hfdcan, FDCAN_FilterTypeDef* sFilterConfig) +{ + uint32_t FilterElementW1; + uint32_t FilterElementW2; + uint32_t *FilterAddress; + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check function parameters */ + assert_param(IS_FDCAN_ID_TYPE(sFilterConfig->IdType)); + assert_param(IS_FDCAN_FILTER_CFG(sFilterConfig->FilterConfig)); + if(sFilterConfig->FilterConfig == FDCAN_FILTER_TO_RXBUFFER) + { + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->RxBufferIndex, 63)); + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->IsCalibrationMsg, 1)); + } + + if(sFilterConfig->IdType == FDCAN_STANDARD_ID) + { + /* Check function parameters */ + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->FilterIndex, (hfdcan->Init.StdFiltersNbr - 1))); + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->FilterID1, 0x7FF)); + if(sFilterConfig->FilterConfig != FDCAN_FILTER_TO_RXBUFFER) + { + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->FilterID2, 0x7FF)); + assert_param(IS_FDCAN_STD_FILTER_TYPE(sFilterConfig->FilterType)); + } + + /* Build filter element */ + if(sFilterConfig->FilterConfig == FDCAN_FILTER_TO_RXBUFFER) + { + FilterElementW1 = ((FDCAN_FILTER_TO_RXBUFFER << 27) | + (sFilterConfig->FilterID1 << 16) | + (sFilterConfig->IsCalibrationMsg << 8) | + sFilterConfig->RxBufferIndex ); + } + else + { + FilterElementW1 = ((sFilterConfig->FilterType << 30) | + (sFilterConfig->FilterConfig << 27) | + (sFilterConfig->FilterID1 << 16) | + sFilterConfig->FilterID2 ); + } + + /* Calculate filter address */ + FilterAddress = (uint32_t *)(hfdcan->msgRam.StandardFilterSA + (sFilterConfig->FilterIndex * 4)); + + /* Write filter element to the message RAM */ + *FilterAddress = FilterElementW1; + } + else /* sFilterConfig->IdType == FDCAN_EXTENDED_ID */ + { + /* Check function parameters */ + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->FilterIndex, (hfdcan->Init.ExtFiltersNbr - 1))); + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->FilterID1, 0x1FFFFFFF)); + if(sFilterConfig->FilterConfig != FDCAN_FILTER_TO_RXBUFFER) + { + assert_param(IS_FDCAN_MAX_VALUE(sFilterConfig->FilterID2, 0x1FFFFFFF)); + assert_param(IS_FDCAN_EXT_FILTER_TYPE(sFilterConfig->FilterType)); + } + + /* Build first word of filter element */ + FilterElementW1 = ((sFilterConfig->FilterConfig << 29) | sFilterConfig->FilterID1); + + /* Build second word of filter element */ + if(sFilterConfig->FilterConfig == FDCAN_FILTER_TO_RXBUFFER) + { + FilterElementW2 = sFilterConfig->RxBufferIndex; + } + else + { + FilterElementW2 = ((sFilterConfig->FilterType << 30) | sFilterConfig->FilterID2); + } + + /* Calculate filter address */ + FilterAddress = (uint32_t *)(hfdcan->msgRam.ExtendedFilterSA + (sFilterConfig->FilterIndex * 4 * 2)); + + /* Write filter element to the message RAM */ + *FilterAddress++ = FilterElementW1; + *FilterAddress = FilterElementW2; + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the FDCAN global filter. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param NonMatchingStd: Defines how received messages with 11-bit IDs that + do not match any element of the filter list are treated. + This parameter can be a value of @arg FDCAN_Non_Matching_Frames. + * @param NonMatchingExt: Defines how received messages with 29-bit IDs that + do not match any element of the filter list are treated. + This parameter can be a value of @arg FDCAN_Non_Matching_Frames. + * @param RejectRemoteStd: Enable or disable the remote standard frames rejection. + This parameter can be set to ENABLE or DISABLE. + * @param RejectRemoteExt: Enable or disable the remote extended frames rejection. + This parameter can be set to ENABLE or DISABLE. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigGlobalFilter(FDCAN_HandleTypeDef *hfdcan, + uint32_t NonMatchingStd, + uint32_t NonMatchingExt, + uint32_t RejectRemoteStd, + uint32_t RejectRemoteExt) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_NON_MATCHING(NonMatchingStd)); + assert_param(IS_FDCAN_NON_MATCHING(NonMatchingExt)); + assert_param(IS_FUNCTIONAL_STATE(RejectRemoteStd)); + assert_param(IS_FUNCTIONAL_STATE(RejectRemoteExt)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Configure global filter */ + hfdcan->Instance->GFC = ((NonMatchingStd << 4U) | (NonMatchingExt << 2U) | (RejectRemoteStd << 1U) | RejectRemoteExt); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the extended ID mask. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param Mask: Extended ID Mask. + This parameter must be a number between 0 and 0x1FFFFFFF + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigExtendedIdMask(FDCAN_HandleTypeDef *hfdcan, uint32_t Mask) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_MAX_VALUE(Mask, 0x1FFFFFFF)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Configure the extended ID mask */ + hfdcan->Instance->XIDAM = Mask; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the Rx FIFO operation mode. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param RxFifo: Rx FIFO. + * This parameter can be one of the following values: + * @arg FDCAN_RX_FIFO0: Rx FIFO 0 + * @arg FDCAN_RX_FIFO1: Rx FIFO 1 + * @param OperationMode: operation mode. + * This parameter can be a value of @arg FDCAN_Rx_FIFO_operation_mode. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigRxFifoOverwrite(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo, uint32_t OperationMode) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_RX_FIFO(RxFifo)); + assert_param(IS_FDCAN_RX_FIFO_MODE(OperationMode)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + if(RxFifo == FDCAN_RX_FIFO0) + { + /* Select FIFO 0 Operation Mode */ + MODIFY_REG(hfdcan->Instance->RXF0C, FDCAN_RXF0C_F0OM, OperationMode); + } + else /* RxFifo == FDCAN_RX_FIFO1 */ + { + /* Select FIFO 1 Operation Mode */ + MODIFY_REG(hfdcan->Instance->RXF1C, FDCAN_RXF1C_F1OM, OperationMode); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the FIFO watermark. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param FIFO: select the FIFO to be configured. + * This parameter can be a value of @arg FDCAN_FIFO_watermark. + * @param Watermark: level for FIFO watermark interrupt. + * This parameter must be a number between: + * - 0 and 32, if FIFO is FDCAN_CFG_TX_EVENT_FIFO + * - 0 and 64, if FIFO is FDCAN_CFG_RX_FIFO0 or FDCAN_CFG_RX_FIFO1 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigFifoWatermark(FDCAN_HandleTypeDef *hfdcan, uint32_t FIFO, uint32_t Watermark) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_FIFO_WATERMARK(FIFO)); + if(FIFO == FDCAN_CFG_TX_EVENT_FIFO) + { + assert_param(IS_FDCAN_MAX_VALUE(Watermark, 32)); + } + else /* (FIFO == FDCAN_CFG_RX_FIFO0) || (FIFO == FDCAN_CFG_RX_FIFO1) */ + { + assert_param(IS_FDCAN_MAX_VALUE(Watermark, 64)); + } + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Set the level for FIFO watermark interrupt */ + if(FIFO == FDCAN_CFG_TX_EVENT_FIFO) + { + MODIFY_REG(hfdcan->Instance->TXEFC, FDCAN_TXEFC_EFWM, (Watermark << 24)); + } + else if(FIFO == FDCAN_CFG_RX_FIFO0) + { + MODIFY_REG(hfdcan->Instance->RXF0C, FDCAN_RXF0C_F0WM, (Watermark << 24)); + } + else /* FIFO == FDCAN_CFG_RX_FIFO1 */ + { + MODIFY_REG(hfdcan->Instance->RXF1C, FDCAN_RXF1C_F1WM, (Watermark << 24)); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the RAM watchdog. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param CounterStartValue: Start value of the Message RAM Watchdog Counter, + * This parameter must be a number between 0x00 and 0xFF, + * with the reset value of 0x00 the counter is disabled. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigRamWatchdog(FDCAN_HandleTypeDef *hfdcan, uint32_t CounterStartValue) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_MAX_VALUE(CounterStartValue, 0xFF)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Configure the RAM watchdog counter start value */ + MODIFY_REG(hfdcan->Instance->RWD, FDCAN_RWD_WDC, CounterStartValue); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the timestamp counter. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TimestampPrescaler: Timestamp Counter Prescaler. + * This parameter can be a value of @arg FDCAN_Timestamp_Prescaler. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigTimestampCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimestampPrescaler) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TIMESTAMP_PRESCALER(TimestampPrescaler)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Configure prescaler */ + MODIFY_REG(hfdcan->Instance->TSCC, FDCAN_TSCC_TCP, TimestampPrescaler); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Enable the timestamp counter. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TimestampOperation: Timestamp counter operation. + * This parameter can be a value of @arg FDCAN_Timestamp. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_EnableTimestampCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimestampOperation) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TIMESTAMP(TimestampOperation)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Enable timestamp counter */ + MODIFY_REG(hfdcan->Instance->TSCC, FDCAN_TSCC_TSS, TimestampOperation); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Disable the timestamp counter. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_DisableTimestampCounter(FDCAN_HandleTypeDef *hfdcan) +{ + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Disable timestamp counter */ + CLEAR_BIT(hfdcan->Instance->TSCC, FDCAN_TSCC_TSS); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Get the timestamp counter value. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval Value: Timestamp counter value + */ +uint16_t HAL_FDCAN_GetTimestampCounter(FDCAN_HandleTypeDef *hfdcan) +{ + return (uint16_t)(hfdcan->Instance->TSCV); +} + +/** + * @brief Reset the timestamp counter to zero. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ResetTimestampCounter(FDCAN_HandleTypeDef *hfdcan) +{ + if((hfdcan->Instance->TSCC & FDCAN_TSCC_TSS) != FDCAN_TIMESTAMP_EXTERNAL) + { + /* Reset timestamp counter. + Actually any write operation to TSCV clears the counter */ + CLEAR_REG(hfdcan->Instance->TSCV); + } + else + { + /* Update error code. + Unable to reset external counter */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Configure the timeout counter. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TimeoutOperation: Timeout counter operation. + * This parameter can be a value of @arg FDCAN_Timeout_Operation. + * @param TimeoutPeriod: Start value of the timeout down-counter. + * This parameter must be a number between 0x0000 and 0xFFFF + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigTimeoutCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimeoutOperation, uint32_t TimeoutPeriod) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TIMEOUT(TimeoutOperation)); + assert_param(IS_FDCAN_MAX_VALUE(TimeoutPeriod, 0xFFFF)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Select timeout operation and configure period */ + MODIFY_REG(hfdcan->Instance->TOCC, (FDCAN_TOCC_TOS | FDCAN_TOCC_TOP), (TimeoutOperation | (TimeoutPeriod << 16))); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Enable the timeout counter. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_EnableTimeoutCounter(FDCAN_HandleTypeDef *hfdcan) +{ + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Enable timeout counter */ + SET_BIT(hfdcan->Instance->TOCC, FDCAN_TOCC_ETOC); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Disable the timeout counter. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_DisableTimeoutCounter(FDCAN_HandleTypeDef *hfdcan) +{ + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Disable timeout counter */ + CLEAR_BIT(hfdcan->Instance->TOCC, FDCAN_TOCC_ETOC); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Get the timeout counter value. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval Value: Timeout counter value + */ +uint16_t HAL_FDCAN_GetTimeoutCounter(FDCAN_HandleTypeDef *hfdcan) +{ + return (uint16_t)(hfdcan->Instance->TOCV); +} + +/** + * @brief Reset the timeout counter to its start value. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ResetTimeoutCounter(FDCAN_HandleTypeDef *hfdcan) +{ + if((hfdcan->Instance->TOCC & FDCAN_TOCC_TOS) != FDCAN_TIMEOUT_CONTINUOUS) + { + /* Reset timestamp counter to start value */ + CLEAR_REG(hfdcan->Instance->TOCV); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Unable to reset counter: controlled only by FIFO empty state */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the transmitter delay compensation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TdcOffset: Transmitter Delay Compensation Offset. + * This parameter must be a number between 0x00 and 0xFF. + * @param TdcFilter: Transmitter Delay Compensation Filter Window Length. + * This parameter must be a number between 0x00 and 0xFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan, uint32_t TdcOffset, uint32_t TdcFilter) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_MAX_VALUE(TdcOffset, 0xFF)); + assert_param(IS_FDCAN_MAX_VALUE(TdcFilter, 0xFF)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Configure TDC offset and filter window */ + hfdcan->Instance->TDCR = (TdcFilter | (TdcOffset << 8)); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Enable the transmitter delay compensation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_EnableTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan) +{ + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Enable transmitter delay compensation */ + SET_BIT(hfdcan->Instance->DBTP, FDCAN_DBTP_TDC); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Disable the transmitter delay compensation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_DisableTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan) +{ + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Disable transmitter delay compensation */ + CLEAR_BIT(hfdcan->Instance->DBTP, FDCAN_DBTP_TDC); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @} + */ + +/** @defgroup FDCAN_Exported_Functions_Group3 Control functions + * @brief Control functions + * +@verbatim + ============================================================================== + ##### Control functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) HAL_FDCAN_Start : Start the FDCAN module + (+) HAL_FDCAN_Stop : Stop the FDCAN module and enable access to configuration registers + (+) HAL_FDCAN_AddMessageToTxFifoQ : Add a message to the Tx FIFO/Queue and activate the corresponding transmission request + (+) HAL_FDCAN_AddMessageToTxBuffer : Add a message to a dedicated Tx buffer + (+) HAL_FDCAN_EnableTxBufferRequest : Enable transmission request + (+) HAL_FDCAN_AbortTxRequest : Abort transmission request + (+) HAL_FDCAN_GetRxMessage : Get an FDCAN frame from the Rx Buffer/FIFO zone into the message RAM + (+) HAL_FDCAN_GetTxEvent : Get an FDCAN Tx event from the Tx Event FIFO zone into the message RAM + (+) HAL_FDCAN_GetHighPriorityMessageStatus : Get high priority message status + (+) HAL_FDCAN_GetProtocolStatus : Get protocol status + (+) HAL_FDCAN_GetErrorCounters : Get error counter values + (+) HAL_FDCAN_IsRxBufferMessageAvailable : Check if a new message is received in the selected Rx buffer + (+) HAL_FDCAN_IsTxBufferMessagePending : Check if a transmission request is pending on the selected Tx buffer + (+) HAL_FDCAN_GetRxFifoFillLevel : Return Rx FIFO fill level + (+) HAL_FDCAN_GetTxFifoFreeLevel : Return Tx FIFO free level + (+) HAL_FDCAN_IsRestrictedOperationMode : Check if the FDCAN peripheral entered Restricted Operation Mode + (+) HAL_FDCAN_ExitRestrictedOperationMode : Exit Restricted Operation Mode + +@endverbatim + * @{ + */ + +/** + * @brief Start the FDCAN module. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_Start(FDCAN_HandleTypeDef *hfdcan) +{ + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Change FDCAN peripheral state */ + hfdcan->State = HAL_FDCAN_STATE_BUSY; + + /* Request leave initialisation */ + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_INIT); + + /* Reset the FDCAN ErrorCode */ + hfdcan->ErrorCode = HAL_FDCAN_ERROR_NONE; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Stop the FDCAN module and enable access to configuration registers. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_Stop(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + if(hfdcan->State == HAL_FDCAN_STATE_BUSY) + { + /* Request initialisation */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_INIT); + + /* Wait until the INIT bit into CCCR register is set */ + while((hfdcan->Instance->CCCR & FDCAN_CCCR_INIT) == RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enable configuration change */ + SET_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_CCE); + + /* Change FDCAN peripheral state */ + hfdcan->State = HAL_FDCAN_STATE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_STARTED; + + return HAL_ERROR; + } +} + +/** + * @brief Add a message to the Tx FIFO/Queue and activate the corresponding transmission request + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param pTxHeader: pointer to a FDCAN_TxHeaderTypeDef structure. + * @param pTxData: pointer to a buffer containing the payload of the Tx frame. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_AddMessageToTxFifoQ(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTypeDef *pTxHeader, uint8_t *pTxData) +{ + uint32_t PutIndex; + + /* Check function parameters */ + assert_param(IS_FDCAN_ID_TYPE(pTxHeader->IdType)); + if(pTxHeader->IdType == FDCAN_STANDARD_ID) + { + assert_param(IS_FDCAN_MAX_VALUE(pTxHeader->Identifier, 0x7FF)); + } + else /* pTxHeader->IdType == FDCAN_EXTENDED_ID */ + { + assert_param(IS_FDCAN_MAX_VALUE(pTxHeader->Identifier, 0x1FFFFFFF)); + } + assert_param(IS_FDCAN_FRAME_TYPE(pTxHeader->TxFrameType)); + assert_param(IS_FDCAN_DLC(pTxHeader->DataLength)); + assert_param(IS_FDCAN_ESI(pTxHeader->ErrorStateIndicator)); + assert_param(IS_FDCAN_BRS(pTxHeader->BitRateSwitch)); + assert_param(IS_FDCAN_FDF(pTxHeader->FDFormat)); + assert_param(IS_FDCAN_EFC(pTxHeader->TxEventFifoControl)); + assert_param(IS_FDCAN_MAX_VALUE(pTxHeader->MessageMarker, 0xFF)); + + if(hfdcan->State == HAL_FDCAN_STATE_BUSY) + { + /* Check that the Tx FIFO/Queue has an allocated area into the RAM */ + if((hfdcan->Instance->TXBC & FDCAN_TXBC_TFQS) == 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + + /* Check that the Tx FIFO/Queue is not full */ + if((hfdcan->Instance->TXFQS & FDCAN_TXFQS_TFQF) != 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + else + { + /* Retrieve the Tx FIFO PutIndex */ + PutIndex = ((hfdcan->Instance->TXFQS & FDCAN_TXFQS_TFQPI) >> 16); + + /* Add the message to the Tx FIFO/Queue */ + FDCAN_CopyMessageToRAM(hfdcan, pTxHeader, pTxData, PutIndex); + + /* Activate the corresponding transmission request */ + hfdcan->Instance->TXBAR = (1 << PutIndex); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_STARTED; + + return HAL_ERROR; + } +} + +/** + * @brief Add a message to a dedicated Tx buffer + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param pTxHeader: pointer to a FDCAN_TxHeaderTypeDef structure. + * @param pTxData: pointer to a buffer containing the payload of the Tx frame. + * @param BufferIndex: index of the buffer to be configured. + * This parameter can be a value of @arg FDCAN_Tx_location. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_AddMessageToTxBuffer(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTypeDef *pTxHeader, uint8_t *pTxData, uint32_t BufferIndex) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_ID_TYPE(pTxHeader->IdType)); + if(pTxHeader->IdType == FDCAN_STANDARD_ID) + { + assert_param(IS_FDCAN_MAX_VALUE(pTxHeader->Identifier, 0x7FF)); + } + else /* pTxHeader->IdType == FDCAN_EXTENDED_ID */ + { + assert_param(IS_FDCAN_MAX_VALUE(pTxHeader->Identifier, 0x1FFFFFFF)); + } + assert_param(IS_FDCAN_FRAME_TYPE(pTxHeader->TxFrameType)); + assert_param(IS_FDCAN_DLC(pTxHeader->DataLength)); + assert_param(IS_FDCAN_ESI(pTxHeader->ErrorStateIndicator)); + assert_param(IS_FDCAN_BRS(pTxHeader->BitRateSwitch)); + assert_param(IS_FDCAN_FDF(pTxHeader->FDFormat)); + assert_param(IS_FDCAN_EFC(pTxHeader->TxEventFifoControl)); + assert_param(IS_FDCAN_MAX_VALUE(pTxHeader->MessageMarker, 0xFF)); + assert_param(IS_FDCAN_TX_LOCATION(BufferIndex)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check that the selected buffer has an allocated area into the RAM */ + if(POSITION_VAL(BufferIndex) >= ((hfdcan->Instance->TXBC & FDCAN_TXBC_NDTB) >> 16)) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + + /* Check that there is no transmittion request pending for the selected buffer */ + if((hfdcan->Instance->TXBRP & BufferIndex) != 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PENDING; + + return HAL_ERROR; + } + else + { + /* Add the message to the Tx buffer */ + FDCAN_CopyMessageToRAM(hfdcan, pTxHeader, pTxData, POSITION_VAL(BufferIndex)); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Enable transmission request. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param BufferIndex: buffer index. + * This parameter can be any combination of @arg FDCAN_Tx_location. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_EnableTxBufferRequest(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndex) +{ + if(hfdcan->State == HAL_FDCAN_STATE_BUSY) + { + /* Add transmission request */ + hfdcan->Instance->TXBAR = BufferIndex; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_STARTED; + + return HAL_ERROR; + } +} + +/** + * @brief Abort transmission request + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param BufferIndex: buffer index. + * This parameter can be any combination of @arg FDCAN_Tx_location. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_AbortTxRequest(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndex) +{ + if(hfdcan->State == HAL_FDCAN_STATE_BUSY) + { + /* Add cancellation request */ + hfdcan->Instance->TXBCR = BufferIndex; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_STARTED; + + return HAL_ERROR; + } +} + +/** + * @brief Get an FDCAN frame from the Rx Buffer/FIFO zone into the message RAM. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param RxLocation: Location of the received message to be read. + This parameter can be a value of @arg FDCAN_Rx_location. + * @param pRxHeader: pointer to a FDCAN_RxHeaderTypeDef structure. + * @param pRxData: pointer to a buffer where the payload of the Rx frame will be stored. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_GetRxMessage(FDCAN_HandleTypeDef *hfdcan, uint32_t RxLocation, FDCAN_RxHeaderTypeDef *pRxHeader, uint8_t *pRxData) +{ + uint32_t *RxAddress; + uint8_t *pData; + uint32_t ByteCounter; + uint32_t GetIndex = 0; + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + if(RxLocation == FDCAN_RX_FIFO0) /* Rx element is assigned to the Rx FIFO 0 */ + { + /* Check that the Rx FIFO 0 has an allocated area into the RAM */ + if((hfdcan->Instance->RXF0C & FDCAN_RXF0C_F0S) == 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + + /* Check that the Rx FIFO 0 is not empty */ + if((hfdcan->Instance->RXF0S & FDCAN_RXF0S_F0FL) == 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + else + { + /* Calculate Rx FIFO 0 element address */ + GetIndex = ((hfdcan->Instance->RXF0S & FDCAN_RXF0S_F0GI) >> 8); + RxAddress = (uint32_t *)(hfdcan->msgRam.RxFIFO0SA + (GetIndex * hfdcan->Init.RxFifo0ElmtSize * 4)); + } + } + else if(RxLocation == FDCAN_RX_FIFO1) /* Rx element is assigned to the Rx FIFO 1 */ + { + /* Check that the Rx FIFO 1 has an allocated area into the RAM */ + if((hfdcan->Instance->RXF1C & FDCAN_RXF1C_F1S) == 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + + /* Check that the Rx FIFO 0 is not empty */ + if((hfdcan->Instance->RXF1S & FDCAN_RXF1S_F1FL) == 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + else + { + /* Calculate Rx FIFO 1 element address */ + GetIndex = ((hfdcan->Instance->RXF1S & FDCAN_RXF1S_F1GI) >> 8); + RxAddress = (uint32_t *)(hfdcan->msgRam.RxFIFO1SA + (GetIndex * hfdcan->Init.RxFifo1ElmtSize * 4)); + } + } + else /* Rx element is assigned to a dedicated Rx buffer */ + { + /* Check that the selected buffer has an allocated area into the RAM */ + if(RxLocation >= hfdcan->Init.RxBuffersNbr) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + else + { + /* Calculate Rx buffer address */ + RxAddress = (uint32_t *)(hfdcan->msgRam.RxBufferSA + (RxLocation * hfdcan->Init.RxBufferSize * 4)); + } + } + + /* Retrieve IdType */ + pRxHeader->IdType = *RxAddress & FDCAN_ELEMENT_MASK_XTD; + + /* Retrieve Identifier */ + if(pRxHeader->IdType == FDCAN_STANDARD_ID) /* Standard ID element */ + { + pRxHeader->Identifier = ((*RxAddress & FDCAN_ELEMENT_MASK_STDID) >> 18); + } + else /* Extended ID element */ + { + pRxHeader->Identifier = (*RxAddress & FDCAN_ELEMENT_MASK_EXTID); + } + + /* Retrieve RxFrameType */ + pRxHeader->RxFrameType = (*RxAddress & FDCAN_ELEMENT_MASK_RTR); + + /* Retrieve ErrorStateIndicator */ + pRxHeader->ErrorStateIndicator = (*RxAddress++ & FDCAN_ELEMENT_MASK_ESI); + + /* Retrieve RxTimestamp */ + pRxHeader->RxTimestamp = (*RxAddress & FDCAN_ELEMENT_MASK_TS); + + /* Retrieve DataLength */ + pRxHeader->DataLength = (*RxAddress & FDCAN_ELEMENT_MASK_DLC); + + /* Retrieve BitRateSwitch */ + pRxHeader->BitRateSwitch = (*RxAddress & FDCAN_ELEMENT_MASK_BRS); + + /* Retrieve FDFormat */ + pRxHeader->FDFormat = (*RxAddress & FDCAN_ELEMENT_MASK_FDF); + + /* Retrieve FilterIndex */ + pRxHeader->FilterIndex = ((*RxAddress & FDCAN_ELEMENT_MASK_FIDX) >> 24); + + /* Retrieve NonMatchingFrame */ + pRxHeader->IsFilterMatchingFrame = ((*RxAddress++ & FDCAN_ELEMENT_MASK_ANMF) >> 31); + + /* Retrieve Rx payload */ + pData = (uint8_t *)RxAddress; + for(ByteCounter = 0; ByteCounter < DLCtoBytes[pRxHeader->DataLength >> 16]; ByteCounter++) + { + *pRxData++ = *pData++; + } + + if(RxLocation == FDCAN_RX_FIFO0) /* Rx element is assigned to the Rx FIFO 0 */ + { + /* Acknowledge the Rx FIFO 0 that the oldest element is read so that it increments the GetIndex */ + hfdcan->Instance->RXF0A = GetIndex; + } + else if(RxLocation == FDCAN_RX_FIFO1) /* Rx element is assigned to the Rx FIFO 1 */ + { + /* Acknowledge the Rx FIFO 1 that the oldest element is read so that it increments the GetIndex */ + hfdcan->Instance->RXF1A = GetIndex; + } + else /* Rx element is assigned to a dedicated Rx buffer */ + { + /* Clear the New Data flag of the current Rx buffer */ + if(RxLocation < FDCAN_RX_BUFFER32) + { + hfdcan->Instance->NDAT1 = (1 << RxLocation); + } + else /* FDCAN_RX_BUFFER32 <= RxLocation <= FDCAN_RX_BUFFER63 */ + { + hfdcan->Instance->NDAT2 = (1 << (RxLocation - 0x20)); + } + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Get an FDCAN Tx event from the Tx Event FIFO zone into the message RAM. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param pTxEvent: pointer to a FDCAN_TxEventFifoTypeDef structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_GetTxEvent(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxEventFifoTypeDef *pTxEvent) +{ + uint32_t *TxEventAddress; + uint32_t GetIndex; + + /* Check function parameters */ + assert_param(IS_FDCAN_MIN_VALUE(hfdcan->Init.TxEventsNbr, 1)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check that the Tx Event FIFO has an allocated area into the RAM */ + if((hfdcan->Instance->TXEFC & FDCAN_TXEFC_EFS) == 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + + /* Check that the Tx event FIFO is not empty */ + if((hfdcan->Instance->TXEFS & FDCAN_TXEFS_EFFL) == 0) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + + /* Calculate Tx event FIFO element address */ + GetIndex = ((hfdcan->Instance->TXEFS & FDCAN_TXEFS_EFGI) >> 8); + TxEventAddress = (uint32_t *)(hfdcan->msgRam.TxEventFIFOSA + (GetIndex * 2 * 4)); + + /* Retrieve IdType */ + pTxEvent->IdType = *TxEventAddress & FDCAN_ELEMENT_MASK_XTD; + + /* Retrieve Identifier */ + if(pTxEvent->IdType == FDCAN_STANDARD_ID) /* Standard ID element */ + { + pTxEvent->Identifier = ((*TxEventAddress & FDCAN_ELEMENT_MASK_STDID) >> 18); + } + else /* Extended ID element */ + { + pTxEvent->Identifier = (*TxEventAddress & FDCAN_ELEMENT_MASK_EXTID); + } + + /* Retrieve RxFrameType */ + pTxEvent->TxFrameType = (*TxEventAddress & FDCAN_ELEMENT_MASK_RTR); + + /* Retrieve ErrorStateIndicator */ + pTxEvent->ErrorStateIndicator = (*TxEventAddress++ & FDCAN_ELEMENT_MASK_ESI); + + /* Retrieve RxTimestamp */ + pTxEvent->TxTimestamp = (*TxEventAddress & FDCAN_ELEMENT_MASK_TS); + + /* Retrieve DataLength */ + pTxEvent->DataLength = (*TxEventAddress & FDCAN_ELEMENT_MASK_DLC); + + /* Retrieve BitRateSwitch */ + pTxEvent->BitRateSwitch = (*TxEventAddress & FDCAN_ELEMENT_MASK_BRS); + + /* Retrieve FDFormat */ + pTxEvent->FDFormat = (*TxEventAddress & FDCAN_ELEMENT_MASK_FDF); + + /* Retrieve EventType */ + pTxEvent->EventType = (*TxEventAddress & FDCAN_ELEMENT_MASK_ET); + + /* Retrieve MessageMarker */ + pTxEvent->MessageMarker = ((*TxEventAddress & FDCAN_ELEMENT_MASK_MM) >> 24); + + /* Acknowledge the Tx Event FIFO that the oldest element is read so that it increments the GetIndex */ + hfdcan->Instance->TXEFA = GetIndex; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Get high priority message status. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param HpMsgStatus: pointer to an FDCAN_HpMsgStatusTypeDef structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_GetHighPriorityMessageStatus(FDCAN_HandleTypeDef *hfdcan, FDCAN_HpMsgStatusTypeDef *HpMsgStatus) +{ + HpMsgStatus->FilterList = ((hfdcan->Instance->HPMS & FDCAN_HPMS_FLST) >> 15); + HpMsgStatus->FilterIndex = ((hfdcan->Instance->HPMS & FDCAN_HPMS_FIDX) >> 8); + HpMsgStatus->MessageStorage = (hfdcan->Instance->HPMS & FDCAN_HPMS_MSI); + HpMsgStatus->MessageIndex = (hfdcan->Instance->HPMS & FDCAN_HPMS_BIDX); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Get protocol status. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param ProtocolStatus: pointer to an FDCAN_ProtocolStatusTypeDef structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_GetProtocolStatus(FDCAN_HandleTypeDef *hfdcan, FDCAN_ProtocolStatusTypeDef *ProtocolStatus) +{ + uint32_t StatusReg; + + /* Read the protocol status register */ + StatusReg = READ_REG(hfdcan->Instance->PSR); + + /* Fill the protocol status structure */ + ProtocolStatus->LastErrorCode = (StatusReg & FDCAN_PSR_LEC); + ProtocolStatus->DataLastErrorCode = ((StatusReg & FDCAN_PSR_DLEC) >> 8); + ProtocolStatus->Activity = (StatusReg & FDCAN_PSR_ACT); + ProtocolStatus->ErrorPassive = ((StatusReg & FDCAN_PSR_EP) >> 5); + ProtocolStatus->Warning = ((StatusReg & FDCAN_PSR_EW) >> 6); + ProtocolStatus->BusOff = ((StatusReg & FDCAN_PSR_BO) >> 7); + ProtocolStatus->RxESIflag = ((StatusReg & FDCAN_PSR_RESI) >> 11); + ProtocolStatus->RxBRSflag = ((StatusReg & FDCAN_PSR_RBRS) >> 12); + ProtocolStatus->RxFDFflag = ((StatusReg & FDCAN_PSR_REDL) >> 13); + ProtocolStatus->ProtocolException = ((StatusReg & FDCAN_PSR_PXE) >> 14); + ProtocolStatus->TDCvalue = ((StatusReg & FDCAN_PSR_TDCV) >> 16); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Get error counter values. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param ErrorCounters: pointer to an FDCAN_ErrorCountersTypeDef structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_GetErrorCounters(FDCAN_HandleTypeDef *hfdcan, FDCAN_ErrorCountersTypeDef *ErrorCounters) +{ + uint32_t CountersReg; + + /* Read the error counters register */ + CountersReg = READ_REG(hfdcan->Instance->ECR); + + /* Fill the error counters structure */ + ErrorCounters->TxErrorCnt = (CountersReg & FDCAN_ECR_TEC); + ErrorCounters->RxErrorCnt = ((CountersReg & FDCAN_ECR_REC) >> 8); + ErrorCounters->RxErrorPassive = ((CountersReg & FDCAN_ECR_RP) >> 15); + ErrorCounters->ErrorLogging = ((CountersReg & FDCAN_ECR_CEL) >> 16); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Check if a new message is received in the selected Rx buffer. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param RxBufferIndex: Rx buffer index. + * This parameter must be a number between 0 and 63. + * @retval Status: + * - 0 : No new message on RxBufferIndex. + * - 1 : New message received on RxBufferIndex. + */ +uint32_t HAL_FDCAN_IsRxBufferMessageAvailable(FDCAN_HandleTypeDef *hfdcan, uint32_t RxBufferIndex) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_MAX_VALUE(RxBufferIndex, 63)); + + /* Check new message reception on the selected buffer */ + if(((RxBufferIndex < 32) && ((hfdcan->Instance->NDAT1 & (1 << RxBufferIndex)) == 0)) || + ((RxBufferIndex >= 32) && ((hfdcan->Instance->NDAT2 & (1 << (RxBufferIndex - 0x20))) == 0))) + { + return 0; + } + + /* Clear the New Data flag of the current Rx buffer */ + if(RxBufferIndex < 32) + { + hfdcan->Instance->NDAT1 = (1 << RxBufferIndex); + } + else /* 32 <= RxBufferIndex <= 63 */ + { + hfdcan->Instance->NDAT2 = (1 << (RxBufferIndex - 0x20)); + } + + return 1; +} + +/** + * @brief Check if a transmission request is pending on the selected Tx buffer. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TxBufferIndex: Tx buffer index. + * This parameter can be a value of @arg FDCAN_Tx_location. + * @retval Status: + * - 0 : No pending transmission request on RxBufferIndex. + * - 1 : Pending transmission request on RxBufferIndex. + */ +uint32_t HAL_FDCAN_IsTxBufferMessagePending(FDCAN_HandleTypeDef *hfdcan, uint32_t TxBufferIndex) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TX_LOCATION(TxBufferIndex)); + + /* Check pending transmittion request on the selected buffer */ + if((hfdcan->Instance->TXBRP & TxBufferIndex) == 0) + { + return 0; + } + return 1; +} + +/** + * @brief Return Rx FIFO fill level. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param RxFifo: Rx FIFO. + * This parameter can be one of the following values: + * @arg FDCAN_RX_FIFO0: Rx FIFO 0 + * @arg FDCAN_RX_FIFO1: Rx FIFO 1 + * @retval Level: Rx FIFO fill level. + */ +uint32_t HAL_FDCAN_GetRxFifoFillLevel(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo) +{ + uint32_t FillLevel; + + /* Check function parameters */ + assert_param(IS_FDCAN_RX_FIFO(RxFifo)); + + if(RxFifo == FDCAN_RX_FIFO0) + { + FillLevel = hfdcan->Instance->RXF0S & FDCAN_RXF0S_F0FL; + } + else /* RxFifo == FDCAN_RX_FIFO1 */ + { + FillLevel = hfdcan->Instance->RXF1S & FDCAN_RXF1S_F1FL; + } + + /* Return Rx FIFO fill level */ + return FillLevel; +} + +/** + * @brief Return Tx FIFO free level: number of consecutive free Tx FIFO + * elements starting from Tx FIFO GetIndex. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval Level: Tx FIFO free level. + */ +uint32_t HAL_FDCAN_GetTxFifoFreeLevel(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t FreeLevel; + + FreeLevel = hfdcan->Instance->TXFQS & FDCAN_TXFQS_TFFL; + + /* Return Tx FIFO free level */ + return FreeLevel; +} + +/** + * @brief Check if the FDCAN peripheral entered Restricted Operation Mode. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval Status: + * - 0 : Normal FDCAN operation. + * - 1 : Restricted Operation Mode active. + */ +uint32_t HAL_FDCAN_IsRestrictedOperationMode(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t OperationMode; + + /* Get Operation Mode */ + OperationMode = ((hfdcan->Instance->CCCR & FDCAN_CCCR_ASM) >> 2); + + return OperationMode; +} + +/** + * @brief Exit Restricted Operation Mode. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ExitRestrictedOperationMode(FDCAN_HandleTypeDef *hfdcan) +{ + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Exit Restricted Operation mode */ + CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_ASM); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @} + */ + +/** @defgroup FDCAN_Exported_Functions_Group4 TT Configuration and control functions + * @brief TT Configuration and control functions + * +@verbatim + ============================================================================== + ##### TT Configuration and control functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) HAL_FDCAN_TT_ConfigOperation : Initialize TT operation parameters + (+) HAL_FDCAN_TT_ConfigReferenceMessage : Configure the reference message + (+) HAL_FDCAN_TT_ConfigTrigger : Configure the FDCAN trigger + (+) HAL_FDCAN_TT_SetGlobalTime : Schedule global time adjustment + (+) HAL_FDCAN_TT_SetClockSynchronization : Schedule TUR numerator update + (+) HAL_FDCAN_TT_ConfigStopWatch : Configure stop watch source and polarity + (+) HAL_FDCAN_TT_ConfigRegisterTimeMark : Configure register time mark pulse generation + (+) HAL_FDCAN_TT_EnableRegisterTimeMarkPulse : Enable register time mark pulse generation + (+) HAL_FDCAN_TT_DisableRegisterTimeMarkPulse : Disable register time mark pulse generation + (+) HAL_FDCAN_TT_EnableTriggerTimeMarkPulse : Enable trigger time mark pulse generation + (+) HAL_FDCAN_TT_DisableTriggerTimeMarkPulse : Disable trigger time mark pulse generation + (+) HAL_FDCAN_TT_EnableHardwareGapControl : Enable gap control by input pin fdcan1_evt + (+) HAL_FDCAN_TT_DisableHardwareGapControl : Disable gap control by input pin fdcan1_evt + (+) HAL_FDCAN_TT_EnableTimeMarkGapControl : Enable gap control (finish only) by register time mark interrupt + (+) HAL_FDCAN_TT_DisableTimeMarkGapControl : Disable gap control by register time mark interrupt + (+) HAL_FDCAN_TT_SetNextIsGap : Transmit next reference message with Next_is_Gap = "1" + (+) HAL_FDCAN_TT_SetEndOfGap : Finish a Gap by requesting start of reference message + (+) HAL_FDCAN_TT_ConfigExternalSyncPhase : Configure target phase used for external synchronization + (+) HAL_FDCAN_TT_EnableExternalSynchronization : Synchronize the phase of the FDCAN schedule to an external schedule + (+) HAL_FDCAN_TT_DisableExternalSynchronization : Disable external schedule synchronization + (+) HAL_FDCAN_TT_GetOperationStatus : Get TT operation status + +@endverbatim + * @{ + */ + +/** + * @brief Initialize TT operation parameters. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param pTTParams: pointer to a FDCAN_TT_ConfigTypeDef structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigOperation(FDCAN_HandleTypeDef *hfdcan, FDCAN_TT_ConfigTypeDef *pTTParams) +{ + uint32_t tickstart = 0U; + uint32_t RAMcounter; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_TT_TUR_NUMERATOR(pTTParams->TURNumerator)); + assert_param(IS_FDCAN_TT_TUR_DENOMINATOR(pTTParams->TURDenominator)); + assert_param(IS_FDCAN_TT_TIME_MASTER(pTTParams->TimeMaster)); + assert_param(IS_FDCAN_MAX_VALUE(pTTParams->SyncDevLimit, 7)); + assert_param(IS_FDCAN_MAX_VALUE(pTTParams->InitRefTrigOffset, 127)); + assert_param(IS_FDCAN_MAX_VALUE(pTTParams->TriggerMemoryNbr, 64)); + assert_param(IS_FDCAN_TT_CYCLE_START_SYNC(pTTParams->CycleStartSync)); + assert_param(IS_FDCAN_TT_STOP_WATCH_TRIGGER(pTTParams->StopWatchTrigSel)); + assert_param(IS_FDCAN_TT_EVENT_TRIGGER(pTTParams->EventTrigSel)); + if(pTTParams->TimeMaster == FDCAN_TT_POTENTIAL_MASTER) + { + assert_param(IS_FDCAN_TT_BASIC_CYCLES_NUMBER(pTTParams->BasicCyclesNbr)); + } + if(pTTParams->OperationMode != FDCAN_TT_COMMUNICATION_LEVEL0) + { + assert_param(IS_FDCAN_TT_OPERATION(pTTParams->GapEnable)); + assert_param(IS_FDCAN_MAX_VALUE(pTTParams->AppWdgLimit, 255)); + assert_param(IS_FDCAN_TT_EVENT_TRIGGER_POLARITY(pTTParams->EvtTrigPolarity)); + assert_param(IS_FDCAN_TT_TX_ENABLE_WINDOW(pTTParams->TxEnableWindow)); + assert_param(IS_FDCAN_MAX_VALUE(pTTParams->ExpTxTrigNbr, 4095)); + } + if(pTTParams->OperationMode != FDCAN_TT_COMMUNICATION_LEVEL1) + { + assert_param(IS_FDCAN_TT_TUR_LEVEL_0_2(pTTParams->TURNumerator, pTTParams->TURDenominator)); + assert_param(IS_FDCAN_TT_EXTERNAL_CLK_SYNC(pTTParams->ExternalClkSync)); + assert_param(IS_FDCAN_TT_GLOBAL_TIME_FILTERING(pTTParams->GlobalTimeFilter)); + assert_param(IS_FDCAN_TT_AUTO_CLK_CALIBRATION(pTTParams->ClockCalibration)); + } + else + { + assert_param(IS_FDCAN_TT_TUR_LEVEL_1(pTTParams->TURNumerator, pTTParams->TURDenominator)); + } + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Stop local time in order to enable write access to the other bits of TURCF register */ + CLEAR_BIT(hfdcan->ttcan->TURCF, FDCAN_TURCF_ELT); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until the ELT bit into TURCF register is reset */ + while((hfdcan->ttcan->TURCF & FDCAN_TURCF_ELT) != RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart) > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Configure TUR (Time Unit Ratio) */ + MODIFY_REG(hfdcan->ttcan->TURCF, + (FDCAN_TURCF_NCL | FDCAN_TURCF_DC), + ((pTTParams->TURNumerator - 0x10000) | (pTTParams->TURDenominator << 16))); + + /* Enable local time */ + SET_BIT(hfdcan->ttcan->TURCF, FDCAN_TURCF_ELT); + + /* Configure TT operation */ + MODIFY_REG(hfdcan->ttcan->TTOCF, + (FDCAN_TTOCF_OM | FDCAN_TTOCF_TM | FDCAN_TTOCF_LDSDL | FDCAN_TTOCF_IRTO), + (pTTParams->OperationMode | \ + pTTParams->TimeMaster | \ + (pTTParams->SyncDevLimit << 5) | \ + (pTTParams->InitRefTrigOffset << 8))); + if(pTTParams->OperationMode != FDCAN_TT_COMMUNICATION_LEVEL0) + { + MODIFY_REG(hfdcan->ttcan->TTOCF, + (FDCAN_TTOCF_GEN | FDCAN_TTOCF_AWL | FDCAN_TTOCF_EVTP), + (pTTParams->GapEnable | \ + (pTTParams->AppWdgLimit << 16) | \ + pTTParams->EvtTrigPolarity)); + } + if(pTTParams->OperationMode != FDCAN_TT_COMMUNICATION_LEVEL1) + { + MODIFY_REG(hfdcan->ttcan->TTOCF, + (FDCAN_TTOCF_EECS | FDCAN_TTOCF_EGTF | FDCAN_TTOCF_ECC), + (pTTParams->ExternalClkSync | \ + pTTParams->GlobalTimeFilter | \ + pTTParams->ClockCalibration)); + } + + /* Configure system matrix limits */ + MODIFY_REG(hfdcan->ttcan->TTMLM, FDCAN_TTMLM_CSS, pTTParams->CycleStartSync); + if(pTTParams->OperationMode != FDCAN_TT_COMMUNICATION_LEVEL0) + { + MODIFY_REG(hfdcan->ttcan->TTMLM, + (FDCAN_TTMLM_TXEW | FDCAN_TTMLM_ENTT), + (((pTTParams->TxEnableWindow - 1) << 8) | (pTTParams->ExpTxTrigNbr << 16))); + } + if(pTTParams->TimeMaster == FDCAN_TT_POTENTIAL_MASTER) + { + MODIFY_REG(hfdcan->ttcan->TTMLM, FDCAN_TTMLM_CCM, pTTParams->BasicCyclesNbr); + } + + /* Configure input triggers: Stop watch and Event */ + MODIFY_REG(hfdcan->ttcan->TTTS, + (FDCAN_TTTS_SWTSEL | FDCAN_TTTS_EVTSEL), + (pTTParams->StopWatchTrigSel | pTTParams->EventTrigSel)); + + /* Configure trigger memory start address */ + hfdcan->msgRam.TTMemorySA = (hfdcan->msgRam.EndAddress - SRAMCAN_BASE) / 4; + MODIFY_REG(hfdcan->ttcan->TTTMC, FDCAN_TTTMC_TMSA, (hfdcan->msgRam.TTMemorySA << 2)); + + /* Trigger memory elements number */ + MODIFY_REG(hfdcan->ttcan->TTTMC, FDCAN_TTTMC_TME, (pTTParams->TriggerMemoryNbr << 16)); + + /* Recalculate End Address */ + hfdcan->msgRam.TTMemorySA = SRAMCAN_BASE + (hfdcan->msgRam.TTMemorySA * 4); + hfdcan->msgRam.EndAddress = hfdcan->msgRam.TTMemorySA + (pTTParams->TriggerMemoryNbr * 2 * 4); + + if(hfdcan->msgRam.EndAddress > 0x4000B5FC) /* Last address of the Message RAM */ + { + /* Update error code. + Message RAM overflow */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + else + { + /* Flush the allocated Message RAM area */ + for(RAMcounter = hfdcan->msgRam.TTMemorySA; RAMcounter < hfdcan->msgRam.EndAddress; RAMcounter += 4) + { + *(__IO uint32_t *)(RAMcounter) = 0x00000000; + } + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the reference message. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param IdType: Identifier Type. + * This parameter can be a value of @arg FDCAN_id_type. + * @param Identifier: Reference Identifier. + * This parameter must be a number between: + * - 0 and 0x7FF, if IdType is FDCAN_STANDARD_ID + * - 0 and 0x1FFFFFFF, if IdType is FDCAN_EXTENDED_ID + * @param Payload: Enable or disable the additional payload. + * This parameter can be a value of @arg FDCAN_TT_Reference_Message_Payload. + * This parameter is ignored in case of time slaves. + * If this parameter is set to FDCAN_TT_REF_MESSAGE_ADD_PAYLOAD, the + * following elements are taken from Tx Buffer 0: + * - MessageMarker + * - TxEventFifoControl + * - DataLength + * - Data Bytes (payload): + * - bytes 2-8, for Level 1 + * - bytes 5-8, for Level 0 and Level 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigReferenceMessage(FDCAN_HandleTypeDef *hfdcan, uint32_t IdType, uint32_t Identifier, uint32_t Payload) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_ID_TYPE(IdType)); + if(IdType == FDCAN_STANDARD_ID) + { + assert_param(IS_FDCAN_MAX_VALUE(Identifier, 0x7FF)); + } + else /* IdType == FDCAN_EXTENDED_ID */ + { + assert_param(IS_FDCAN_MAX_VALUE(Identifier, 0x1FFFFFFF)); + } + assert_param(IS_FDCAN_TT_REFERENCE_MESSAGE_PAYLOAD(Payload)); + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Configure reference message identifier type, identifier and payload */ + if(IdType == FDCAN_EXTENDED_ID) + { + MODIFY_REG(hfdcan->ttcan->TTRMC, (FDCAN_TTRMC_RID | FDCAN_TTRMC_XTD | FDCAN_TTRMC_RMPS), (Payload | IdType | Identifier)); + } + else /* IdType == FDCAN_STANDARD_ID */ + { + MODIFY_REG(hfdcan->ttcan->TTRMC, (FDCAN_TTRMC_RID | FDCAN_TTRMC_XTD | FDCAN_TTRMC_RMPS), (Payload | IdType | (Identifier << 18))); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Configure the FDCAN trigger according to the specified + * parameters in the FDCAN_TriggerTypeDef structure. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param sTriggerConfig: pointer to an FDCAN_TriggerTypeDef structure that + * contains the trigger configuration information + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigTrigger(FDCAN_HandleTypeDef* hfdcan, FDCAN_TriggerTypeDef* sTriggerConfig) +{ + uint32_t CycleCode; + uint32_t MessageNumber; + uint32_t TriggerElementW1; + uint32_t TriggerElementW2; + uint32_t *TriggerAddress; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_MAX_VALUE(sTriggerConfig->TriggerIndex, 63)); + assert_param(IS_FDCAN_MAX_VALUE(sTriggerConfig->TimeMark, 0xFFFF)); + assert_param(IS_FDCAN_TT_REPEAT_FACTOR(sTriggerConfig->RepeatFactor)); + if(sTriggerConfig->RepeatFactor != FDCAN_TT_REPEAT_EVERY_CYCLE) + { + assert_param(IS_FDCAN_MAX_VALUE(sTriggerConfig->StartCycle, (sTriggerConfig->RepeatFactor - 1))); + } + assert_param(IS_FDCAN_TT_TM_EVENT_INTERNAL(sTriggerConfig->TmEventInt)); + assert_param(IS_FDCAN_TT_TM_EVENT_EXTERNAL(sTriggerConfig->TmEventExt)); + assert_param(IS_FDCAN_TT_TRIGGER_TYPE(sTriggerConfig->TriggerType)); + assert_param(IS_FDCAN_ID_TYPE(sTriggerConfig->FilterType)); + if((sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_SINGLE ) || + (sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_CONTINUOUS ) || + (sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_ARBITRATION) || + (sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_MERGED )) + { + assert_param(IS_FDCAN_TX_LOCATION(sTriggerConfig->TxBufferIndex)); + } + if(sTriggerConfig->TriggerType == FDCAN_TT_RX_TRIGGER) + { + if(sTriggerConfig->FilterType == FDCAN_STANDARD_ID) + { + assert_param(IS_FDCAN_MAX_VALUE(sTriggerConfig->FilterIndex, 63)); + } + else /* sTriggerConfig->FilterType == FDCAN_EXTENDED_ID */ + { + assert_param(IS_FDCAN_MAX_VALUE(sTriggerConfig->FilterIndex, 127)); + } + } + + if(hfdcan->State == HAL_FDCAN_STATE_READY) + { + /* Calculate cycle code */ + if(sTriggerConfig->RepeatFactor == FDCAN_TT_REPEAT_EVERY_CYCLE) + { + CycleCode = FDCAN_TT_REPEAT_EVERY_CYCLE; + } + else /* sTriggerConfig->RepeatFactor != FDCAN_TT_REPEAT_EVERY_CYCLE */ + { + CycleCode = sTriggerConfig->RepeatFactor + sTriggerConfig->StartCycle; + } + + /* Build first word of trigger element */ + TriggerElementW1 = ((sTriggerConfig->TimeMark << 16) | \ + (CycleCode << 8) | \ + sTriggerConfig->TmEventInt | \ + sTriggerConfig->TmEventExt | \ + sTriggerConfig->TriggerType); + + /* Select message number depending on trigger type (transmission or reception) */ + if(sTriggerConfig->TriggerType == FDCAN_TT_RX_TRIGGER) + { + MessageNumber = sTriggerConfig->FilterIndex; + } + else if((sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_SINGLE ) || + (sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_CONTINUOUS ) || + (sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_ARBITRATION) || + (sTriggerConfig->TriggerType == FDCAN_TT_TX_TRIGGER_MERGED )) + { + MessageNumber = POSITION_VAL(sTriggerConfig->TxBufferIndex); + } + else + { + MessageNumber = 0U; + } + + /* Build second word of trigger element */ + TriggerElementW2 = ((sTriggerConfig->FilterType >> 7) | (MessageNumber << 16)); + + /* Calculate trigger address */ + TriggerAddress = (uint32_t *)(hfdcan->msgRam.TTMemorySA + (sTriggerConfig->TriggerIndex * 4 * 2)); + + /* Write trigger element to the message RAM */ + *TriggerAddress++ = TriggerElementW1; + *TriggerAddress = TriggerElementW2; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_READY; + + return HAL_ERROR; + } +} + +/** + * @brief Schedule global time adjustment for the next reference message. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TimePreset: time preset value. + * This parameter must be a number between: + * - 0x0000 and 0x7FFF, Next_Master_Ref_Mark = Current_Master_Ref_Mark + TimePreset + * or: + * - 0x8001 and 0xFFFF, Next_Master_Ref_Mark = Current_Master_Ref_Mark - (0x10000 - TimePreset) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_SetGlobalTime(FDCAN_HandleTypeDef* hfdcan, uint32_t TimePreset) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_TT_TIME_PRESET(TimePreset)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check that the external clock synchronization is enabled */ + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_EECS) != FDCAN_TTOCF_EECS) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + + /* Check that no global time preset is pending */ + if((hfdcan->ttcan->TTOST & FDCAN_TTOST_WGTD) == FDCAN_TTOST_WGTD) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PENDING; + + return HAL_ERROR; + } + + /* Configure time preset */ + MODIFY_REG(hfdcan->ttcan->TTGTP, FDCAN_TTGTP_TP, TimePreset); + + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Schedule time preset to take effect by the next reference message */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_SGT); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Schedule TUR numerator update for the next reference message. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param NewTURNumerator: new value of the TUR numerator. + * This parameter must be a number between 0x10000 and 0x1FFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_SetClockSynchronization(FDCAN_HandleTypeDef* hfdcan, uint32_t NewTURNumerator) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_TT_TUR_NUMERATOR(NewTURNumerator)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check that the external clock synchronization is enabled */ + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_EECS) != FDCAN_TTOCF_EECS) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + + /* Check that no external clock synchronization is pending */ + if((hfdcan->ttcan->TTOST & FDCAN_TTOST_WECS) == FDCAN_TTOST_WECS) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PENDING; + + return HAL_ERROR; + } + + /* Configure new TUR numerator */ + MODIFY_REG(hfdcan->ttcan->TURCF, FDCAN_TURCF_NCL, (NewTURNumerator - 0x10000)); + + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Schedule TUR numerator update by the next reference message */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_ECS); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Configure stop watch source and polarity. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param Source: stop watch source. + * This parameter can be a value of @arg FDCAN_TT_stop_watch_source. + * @param Polarity: stop watch polarity. + * This parameter can be a value of @arg FDCAN_TT_stop_watch_polarity. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigStopWatch(FDCAN_HandleTypeDef* hfdcan, uint32_t Source, uint32_t Polarity) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_TT_STOP_WATCH_SOURCE(Source)); + assert_param(IS_FDCAN_TT_STOP_WATCH_POLARITY(Polarity)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Select stop watch source and polarity */ + MODIFY_REG(hfdcan->ttcan->TTOCN, (FDCAN_TTOCN_SWS | FDCAN_TTOCN_SWP), (Source | Polarity)); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Configure register time mark pulse generation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TimeMarkSource: time mark source. + * This parameter can be a value of @arg FDCAN_TT_time_mark_source. + * @param TimeMarkValue: time mark value (reference). + * This parameter must be a number between 0 and 0xFFFF. + * @param RepeatFactor: repeat factor of the cycle for which the time mark is valid. + * This parameter can be a value of @arg FDCAN_TT_Repeat_Factor. + * @param StartCycle: index of the first cycle in which the time mark becomes valid. + * This parameter is ignored if RepeatFactor is set to FDCAN_TT_REPEAT_EVERY_CYCLE. + * This parameter must be a number between 0 and RepeatFactor. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigRegisterTimeMark(FDCAN_HandleTypeDef* hfdcan, + uint32_t TimeMarkSource, uint32_t TimeMarkValue, + uint32_t RepeatFactor, uint32_t StartCycle) +{ + uint32_t Counter = 0U; + uint32_t CycleCode; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_TT_REGISTER_TIME_MARK_SOURCE(TimeMarkSource)); + assert_param(IS_FDCAN_MAX_VALUE(TimeMarkValue, 0xFFFF)); + assert_param(IS_FDCAN_TT_REPEAT_FACTOR(RepeatFactor)); + if(RepeatFactor != FDCAN_TT_REPEAT_EVERY_CYCLE) + { + assert_param(IS_FDCAN_MAX_VALUE(StartCycle, (RepeatFactor - 1))); + } + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Disable the time mark compare function */ + CLEAR_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_TMC); + + if(TimeMarkSource != FDCAN_TT_REG_TIMEMARK_DIABLED) + { + /* Calculate cycle code */ + if(RepeatFactor == FDCAN_TT_REPEAT_EVERY_CYCLE) + { + CycleCode = FDCAN_TT_REPEAT_EVERY_CYCLE; + } + else /* RepeatFactor != FDCAN_TT_REPEAT_EVERY_CYCLE */ + { + CycleCode = RepeatFactor + StartCycle; + } + + Counter = 0U; + + /* Wait until the LCKM bit into TTTMK register is reset */ + while((hfdcan->ttcan->TTTMK & FDCAN_TTTMK_LCKM) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Configure time mark value and cycle code */ + hfdcan->ttcan->TTTMK = (TimeMarkValue | (CycleCode << 16)); + + Counter = 0U; + + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Update the register time mark compare source */ + MODIFY_REG(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_TMC, TimeMarkSource); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Enable register time mark pulse generation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_EnableRegisterTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enable Register Time Mark Interrupt output on fdcan1_rtp */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_RTIE); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Disable register time mark pulse generation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_DisableRegisterTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Disable Register Time Mark Interrupt output on fdcan1_rtp */ + CLEAR_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_RTIE); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Enable trigger time mark pulse generation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_EnableTriggerTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enable Trigger Time Mark Interrupt output on fdcan1_tmp */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_TTIE); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Disable trigger time mark pulse generation. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_DisableTriggerTimeMarkPulse(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Disable Trigger Time Mark Interrupt output on fdcan1_rtp */ + CLEAR_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_TTIE); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Enable gap control by input pin fdcan1_evt. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_EnableHardwareGapControl(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enable gap control by pin fdcan1_evt */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_GCS); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Disable gap control by input pin fdcan1_evt. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_DisableHardwareGapControl(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Disable gap control by pin fdcan1_evt */ + CLEAR_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_GCS); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Enable gap control (finish only) by register time mark interrupt. + * The next register time mark interrupt (TTIR.RTMI = "1") will finish + * the Gap and start the reference message. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_EnableTimeMarkGapControl(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enable gap control by register time mark interrupt */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_TMG); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Disable gap control by register time mark interrupt. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_DisableTimeMarkGapControl(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Disable gap control by register time mark interrupt */ + CLEAR_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_TMG); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Transmit next reference message with Next_is_Gap = "1". + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_SetNextIsGap(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check that the node is configured for external event-synchronized TT operation */ + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_GEN) != FDCAN_TTOCF_GEN) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Set Next is Gap */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_NIG); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Finish a Gap by requesting start of reference message. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_SetEndOfGap(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check that the node is configured for external event-synchronized TT operation */ + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_GEN) != FDCAN_TTOCF_GEN) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + + if((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != FDCAN_TT_COMMUNICATION_LEVEL0) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Set Finish Gap */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_FGP); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code. + Feature not supported for TT Level 0 */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_SUPPORTED; + + return HAL_ERROR; + } + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Configure target phase used for external synchronization by event + * trigger input pin fdcan1_evt. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TargetPhase: defines target value of cycle time when a rising edge + * of fdcan1_evt is expected. + * This parameter must be a number between 0 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigExternalSyncPhase(FDCAN_HandleTypeDef *hfdcan, uint32_t TargetPhase) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_MAX_VALUE(TargetPhase, 0xFFFF)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Check that no external schedule synchronization is pending */ + if((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_ESCN) == FDCAN_TTOCN_ESCN) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PENDING; + + return HAL_ERROR; + } + + /* Configure cycle time target phase */ + MODIFY_REG(hfdcan->ttcan->TTGTP, FDCAN_TTGTP_CTP, (TargetPhase << 16)); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Synchronize the phase of the FDCAN schedule to an external schedule + * using event trigger input pin fdcan1_evt. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_EnableExternalSynchronization(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Enable external synchronization */ + SET_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_ESCN); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Disable external schedule synchronization. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_DisableExternalSynchronization(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t Counter = 0U; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Wait until the LCKC bit into TTOCN register is reset */ + while((hfdcan->ttcan->TTOCN & FDCAN_TTOCN_LCKC) != RESET) + { + /* Check for the Timeout */ + if(Counter++ > FDCAN_TIMEOUT_VALUE) + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_TIMEOUT; + + /* Change FDCAN state */ + hfdcan->State = HAL_FDCAN_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Disable external synchronization */ + CLEAR_BIT(hfdcan->ttcan->TTOCN, FDCAN_TTOCN_ESCN); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Get TT operation status. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TTOpStatus: pointer to an FDCAN_TTOperationStatusTypeDef structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_GetOperationStatus(FDCAN_HandleTypeDef *hfdcan, FDCAN_TTOperationStatusTypeDef *TTOpStatus) +{ + uint32_t TTStatusReg; + + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + + /* Read the TT operation status register */ + TTStatusReg = READ_REG(hfdcan->ttcan->TTOST); + + /* Fill the TT operation status structure */ + TTOpStatus->ErrorLevel = (TTStatusReg & FDCAN_TTOST_EL); + TTOpStatus->MasterState = (TTStatusReg & FDCAN_TTOST_MS); + TTOpStatus->SyncState = (TTStatusReg & FDCAN_TTOST_SYS); + TTOpStatus->GTimeQuality = ((TTStatusReg & FDCAN_TTOST_QGTP) >> 6); + TTOpStatus->ClockQuality = ((TTStatusReg & FDCAN_TTOST_QCS) >> 7); + TTOpStatus->RefTrigOffset = ((TTStatusReg & FDCAN_TTOST_RTO) >> 8); + TTOpStatus->GTimeDiscPending = ((TTStatusReg & FDCAN_TTOST_WGTD) >> 22); + TTOpStatus->GapFinished = ((TTStatusReg & FDCAN_TTOST_GFI) >> 23); + TTOpStatus->MasterPriority = ((TTStatusReg & FDCAN_TTOST_TMP) >> 24); + TTOpStatus->GapStarted = ((TTStatusReg & FDCAN_TTOST_GSI) >> 27); + TTOpStatus->WaitForEvt = ((TTStatusReg & FDCAN_TTOST_WFE) >> 28); + TTOpStatus->AppWdgEvt = ((TTStatusReg & FDCAN_TTOST_AWE) >> 29); + TTOpStatus->ECSPending = ((TTStatusReg & FDCAN_TTOST_WECS) >> 30); + TTOpStatus->PhaseLock = ((TTStatusReg & FDCAN_TTOST_SPL) >> 31); + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup FDCAN_Exported_Functions_Group5 Interrupts management + * @brief Interrupts management + * +@verbatim + ============================================================================== + ##### Interrupts management ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) HAL_FDCAN_ConfigInterruptLines : Assign interrupts to either Interrupt line 0 or 1 + (+) HAL_FDCAN_TT_ConfigInterruptLines : Assign TT interrupts to either Interrupt line 0 or 1 + (+) HAL_FDCAN_ActivateNotification : Enable interrupts + (+) HAL_FDCAN_DeactivateNotification : Disable interrupts + (+) HAL_FDCAN_TT_ActivateNotification : Enable TT interrupts + (+) HAL_FDCAN_TT_DeactivateNotification : Disable TT interrupts + (+) HAL_FDCAN_IRQHandler : Handles FDCAN interrupt request + +@endverbatim + * @{ + */ + +/** + * @brief Assign interrupts to either Interrupt line 0 or 1. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param ITList: indicates which interrupts will be assigned to the selected interrupt line. + * This parameter can be any combination of @arg FDCAN_Interrupts. + * @param InterruptLine: Interrupt line. + * This parameter can be a value of @arg FDCAN_Interrupt_Line. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ConfigInterruptLines(FDCAN_HandleTypeDef *hfdcan, uint32_t ITList, uint32_t InterruptLine) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_IT(ITList)); + assert_param(IS_FDCAN_IT_LINE(InterruptLine)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Assign list of interrupts to the selected line */ + if(InterruptLine == FDCAN_INTERRUPT_LINE0) + { + CLEAR_BIT(hfdcan->Instance->ILS, ITList); + } + else /* InterruptLine == FDCAN_INTERRUPT_LINE1 */ + { + SET_BIT(hfdcan->Instance->ILS, ITList); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Assign TT interrupts to either Interrupt line 0 or 1. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TTITList: indicates which interrupts will be assigned to the selected interrupt line. + * This parameter can be any combination of @arg FDCAN_TTInterrupts. + * @param InterruptLine: Interrupt line. + * This parameter can be a value of @arg FDCAN_Interrupt_Line. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ConfigInterruptLines(FDCAN_HandleTypeDef *hfdcan, uint32_t TTITList, uint32_t InterruptLine) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TT_INSTANCE(hfdcan->Instance)); + assert_param(IS_FDCAN_TT_IT(TTITList)); + assert_param(IS_FDCAN_IT_LINE(InterruptLine)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Assign list of interrupts to the selected line */ + if(InterruptLine == FDCAN_INTERRUPT_LINE0) + { + CLEAR_BIT(hfdcan->ttcan->TTILS, TTITList); + } + else /* InterruptLine == FDCAN_INTERRUPT_LINE1 */ + { + SET_BIT(hfdcan->ttcan->TTILS, TTITList); + } + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Enable interrupts. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param ActiveITs: indicates which interrupts will be enabled. + * This parameter can be any combination of @arg FDCAN_Interrupts. + * @param BufferIndexes: Tx Buffer Indexes. + * This parameter can be any combination of @arg FDCAN_Tx_location. + * This parameter is ignored if ActiveITs does not include one of the following: + * - FDCAN_IT_TX_COMPLETE + * - FDCAN_IT_TX_ABORT_COMPLETE + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_ActivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t ActiveITs, uint32_t BufferIndexes) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_IT(ActiveITs)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Enable Interrupt lines */ + if((ActiveITs & hfdcan->Instance->ILS) == RESET) + { + /* Enable Interrupt line 0 */ + SET_BIT(hfdcan->Instance->ILE, FDCAN_INTERRUPT_LINE0); + } + else if((ActiveITs & hfdcan->Instance->ILS) == ActiveITs) + { + /* Enable Interrupt line 1 */ + SET_BIT(hfdcan->Instance->ILE, FDCAN_INTERRUPT_LINE1); + } + else + { + /* Enable Interrupt lines 0 and 1 */ + hfdcan->Instance->ILE = (FDCAN_INTERRUPT_LINE0 | FDCAN_INTERRUPT_LINE1); + } + + if((ActiveITs & FDCAN_IT_TX_COMPLETE) != RESET) + { + /* Enable Tx Buffer Transmission Interrupt to set TC flag in IR register, + but interrupt will only occure if TC is enabled in IE register */ + SET_BIT(hfdcan->Instance->TXBTIE, BufferIndexes); + } + + if((ActiveITs & FDCAN_IT_TX_ABORT_COMPLETE) != RESET) + { + /* Enable Tx Buffer Cancellation Finished Interrupt to set TCF flag in IR register, + but interrupt will only occure if TCF is enabled in IE register */ + SET_BIT(hfdcan->Instance->TXBCIE, BufferIndexes); + } + + /* Enable the selected interrupts */ + __HAL_FDCAN_ENABLE_IT(hfdcan, ActiveITs); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Disable interrupts. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param InactiveITs: indicates which interrupts will be disabled. + * This parameter can be any combination of @arg FDCAN_Interrupts. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_DeactivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t InactiveITs) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_IT(InactiveITs)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Disable the selected interrupts */ + __HAL_FDCAN_DISABLE_IT(hfdcan, InactiveITs); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Enable TT interrupts. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param ActiveTTITs: indicates which TT interrupts will be enabled. + * This parameter can be any combination of @arg FDCAN_TTInterrupts. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_ActivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t ActiveTTITs) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TT_IT(ActiveTTITs)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Enable Interrupt lines */ + if((ActiveTTITs & hfdcan->ttcan->TTILS) == RESET) + { + /* Enable Interrupt line 0 */ + SET_BIT(hfdcan->Instance->ILE, FDCAN_INTERRUPT_LINE0); + } + else if((ActiveTTITs & hfdcan->ttcan->TTILS) == ActiveTTITs) + { + /* Enable Interrupt line 1 */ + SET_BIT(hfdcan->Instance->ILE, FDCAN_INTERRUPT_LINE1); + } + else + { + /* Enable Interrupt lines 0 and 1 */ + hfdcan->Instance->ILE = (FDCAN_INTERRUPT_LINE0 | FDCAN_INTERRUPT_LINE1); + } + + /* Enable the selected TT interrupts */ + __HAL_FDCAN_TT_ENABLE_IT(hfdcan, ActiveTTITs); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Disable TT interrupts. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param InactiveTTITs: indicates which TT interrupts will be disabled. + * This parameter can be any combination of @arg FDCAN_TTInterrupts. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_FDCAN_TT_DeactivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t InactiveTTITs) +{ + /* Check function parameters */ + assert_param(IS_FDCAN_TT_IT(InactiveTTITs)); + + if((hfdcan->State == HAL_FDCAN_STATE_READY) || (hfdcan->State == HAL_FDCAN_STATE_BUSY)) + { + /* Disable the selected TT interrupts */ + __HAL_FDCAN_TT_DISABLE_IT(hfdcan, InactiveTTITs); + + /* Return function status */ + return HAL_OK; + } + else + { + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_NOT_INITIALIZED; + + return HAL_ERROR; + } +} + +/** + * @brief Handles FDCAN interrupt request. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +void HAL_FDCAN_IRQHandler(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t ClkCalibrationITs; + uint32_t TxEventFifoITs; + uint32_t RxFifo0ITs; + uint32_t RxFifo1ITs; + uint32_t ErrStatus; + uint32_t TransmittedBuffers; + uint32_t AbortedBuffers; + uint32_t TTSchedSyncITs; + uint32_t TTTimeMarkITs; + uint32_t TTGlobTimeITs; + uint32_t TTDistErrors; + uint32_t TTFatalErrors; + uint32_t SWTime; + uint32_t SWCycleCount; + + ClkCalibrationITs = (FDCAN_CCU->IR << 30); + ClkCalibrationITs &= (FDCAN_CCU->IE << 30); + TxEventFifoITs = hfdcan->Instance->IR & FDCAN_TX_EVENT_FIFO_MASK; + TxEventFifoITs &= hfdcan->Instance->IE; + RxFifo0ITs = hfdcan->Instance->IR & FDCAN_RX_FIFO0_MASK; + RxFifo0ITs &= hfdcan->Instance->IE; + RxFifo1ITs = hfdcan->Instance->IR & FDCAN_RX_FIFO1_MASK; + RxFifo1ITs &= hfdcan->Instance->IE; + ErrStatus = hfdcan->Instance->IR & FDCAN_ERROR_MASK; + ErrStatus &= hfdcan->Instance->IE; + + /* High Priority Message interrupt management *******************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_RX_HIGH_PRIORITY_MSG) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_RX_HIGH_PRIORITY_MSG) != RESET) + { + /* Disable the High Priority Message interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_RX_HIGH_PRIORITY_MSG); + + /* Clear the High Priority Message flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_RX_HIGH_PRIORITY_MSG); + + /* High Priority Message Callback */ + HAL_FDCAN_HighPriorityMessageCallback(hfdcan); + } + } + + /* Transmission Abort interrupt management **********************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_TX_ABORT_COMPLETE) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_TX_ABORT_COMPLETE) != RESET) + { + /* Disable the Transmission Cancellation interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_TX_ABORT_COMPLETE); + + /* List of aborted monitored buffers */ + AbortedBuffers = hfdcan->Instance->TXBCF; + AbortedBuffers &= hfdcan->Instance->TXBCIE; + + /* Disable the Tx Buffer Cancellation Finished Interrupt */ + CLEAR_BIT(hfdcan->Instance->TXBCIE, AbortedBuffers); + + /* Clear the Transmission Cancellation flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_TX_ABORT_COMPLETE); + + /* Transmission Cancellation Callback */ + HAL_FDCAN_TxBufferAbortCallback(hfdcan, AbortedBuffers); + } + } + + /* Clock calibration unit interrupts management *****************************/ + if(ClkCalibrationITs != 0U) + { + /* Disable the Clock Calibration interrupts */ + __HAL_FDCAN_DISABLE_IT(hfdcan, ClkCalibrationITs); + + /* Clear the Clock Calibration flags */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, ClkCalibrationITs); + + /* Clock Calibration Callback */ + HAL_FDCAN_ClockCalibrationCallback(hfdcan, ClkCalibrationITs); + } + + /* Tx event FIFO interrupts management **************************************/ + if(TxEventFifoITs != 0U) + { + /* Disable the Tx Event FIFO interrupts */ + __HAL_FDCAN_DISABLE_IT(hfdcan, TxEventFifoITs); + + /* Clear the Tx Event FIFO flags */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, TxEventFifoITs); + + /* Tx Event FIFO Callback */ + HAL_FDCAN_TxEventFifoCallback(hfdcan, TxEventFifoITs); + } + + /* Rx FIFO 0 interrupts management ******************************************/ + if(RxFifo0ITs != 0U) + { + /* Disable the Rx FIFO 0 interrupts */ + __HAL_FDCAN_DISABLE_IT(hfdcan, RxFifo0ITs); + + /* Clear the Rx FIFO 0 flags */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, RxFifo0ITs); + + /* Rx FIFO 0 Callback */ + HAL_FDCAN_RxFifo0Callback(hfdcan, RxFifo0ITs); + } + + /* Rx FIFO 1 interrupts management ******************************************/ + if(RxFifo1ITs != 0U) + { + /* Disable the Rx FIFO 1 interrupts */ + __HAL_FDCAN_DISABLE_IT(hfdcan, RxFifo1ITs); + + /* Clear the Rx FIFO 1 flags */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, RxFifo1ITs); + + /* Rx FIFO 1 Callback */ + HAL_FDCAN_RxFifo1Callback(hfdcan, RxFifo1ITs); + } + + /* Tx FIFO empty interrupt management ***************************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_TX_FIFO_EMPTY) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_TX_FIFO_EMPTY) != RESET) + { + /* Disable the Tx FIFO empty interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_TX_FIFO_EMPTY); + + /* Clear the Tx FIFO empty flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_TX_FIFO_EMPTY); + + /* Tx FIFO empty Callback */ + HAL_FDCAN_TxFifoEmptyCallback(hfdcan); + } + } + + /* Transmission Complete interrupt management *******************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_TX_COMPLETE) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_TX_COMPLETE) != RESET) + { + /* Disable the Transmission Complete interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_TX_COMPLETE); + + /* List of transmitted monitored buffers */ + TransmittedBuffers = hfdcan->Instance->TXBTO; + TransmittedBuffers &= hfdcan->Instance->TXBTIE; + + /* Disable the Tx Buffer Transmission Interrupt */ + CLEAR_BIT(hfdcan->Instance->TXBTIE, TransmittedBuffers); + + /* Clear the Transmission Complete flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_TX_COMPLETE); + + /* Transmission Complete Callback */ + HAL_FDCAN_TxBufferCompleteCallback(hfdcan, TransmittedBuffers); + } + } + + /* Rx Buffer New Message interrupt management *******************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_RX_BUFFER_NEW_MESSAGE) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_RX_BUFFER_NEW_MESSAGE) != RESET) + { + /* Disable the Rx Buffer New Message interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_RX_BUFFER_NEW_MESSAGE); + + /* Clear the Rx Buffer New Message flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_RX_BUFFER_NEW_MESSAGE); + + /* Rx Buffer New Message Callback */ + HAL_FDCAN_RxBufferNewMessageCallback(hfdcan); + } + } + + /* Timestamp Wraparound interrupt management ********************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_TIMESTAMP_WRAPAROUND) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_TIMESTAMP_WRAPAROUND) != RESET) + { + /* Disable the Timestamp Wraparound interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_TIMESTAMP_WRAPAROUND); + + /* Clear the Timestamp Wraparound flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_TIMESTAMP_WRAPAROUND); + + /* Timestamp Wraparound Callback */ + HAL_FDCAN_TimestampWraparoundCallback(hfdcan); + } + } + + /* Timeout Occurred interrupt management ************************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_TIMEOUT_OCCURRED) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_TIMEOUT_OCCURRED) != RESET) + { + /* Disable the Timeout Occurred interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_TIMEOUT_OCCURRED); + + /* Clear the Timeout Occurred flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_TIMEOUT_OCCURRED); + + /* Timeout Occurred Callback */ + HAL_FDCAN_TimeoutOccurredCallback(hfdcan); + } + } + + /* Message RAM access failure interrupt management **************************/ + if(__HAL_FDCAN_GET_FLAG(hfdcan, FDCAN_FLAG_RAM_ACCESS_FAILURE) != RESET) + { + if(__HAL_FDCAN_GET_IT_SOURCE(hfdcan, FDCAN_IT_RAM_ACCESS_FAILURE) != RESET) + { + /* Disable the Timeout Occurred interrupt */ + __HAL_FDCAN_DISABLE_IT(hfdcan, FDCAN_IT_RAM_ACCESS_FAILURE); + + /* Clear the Timeout Occurred flag */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, FDCAN_FLAG_RAM_ACCESS_FAILURE); + + /* Update error code */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_RAM_ACCESS; + } + } + + /* Error interrupts management **********************************************/ + if(ErrStatus != 0U) + { + /* Disable the Error interrupts */ + __HAL_FDCAN_DISABLE_IT(hfdcan, ErrStatus); + + /* Clear the Error flags */ + __HAL_FDCAN_CLEAR_FLAG(hfdcan, ErrStatus); + + /* Update error code */ + hfdcan->ErrorCode |= ErrStatus; + } + + if((hfdcan->Instance == FDCAN1) && \ + ((hfdcan->ttcan->TTOCF & FDCAN_TTOCF_OM) != 0)) + { + TTSchedSyncITs = hfdcan->ttcan->TTIR & FDCAN_TT_SCHEDULE_SYNC_MASK; + TTSchedSyncITs &= hfdcan->ttcan->TTIE; + TTTimeMarkITs = hfdcan->ttcan->TTIR & FDCAN_TT_TIME_MARK_MASK; + TTTimeMarkITs &= hfdcan->ttcan->TTIE; + TTGlobTimeITs = hfdcan->ttcan->TTIR & FDCAN_TT_GLOBAL_TIME_MASK; + TTGlobTimeITs &= hfdcan->ttcan->TTIE; + TTDistErrors = hfdcan->ttcan->TTIR & FDCAN_TT_DISTURBING_ERROR_MASK; + TTDistErrors &= hfdcan->ttcan->TTIE; + TTFatalErrors = hfdcan->ttcan->TTIR & FDCAN_TT_FATAL_ERROR_MASK; + TTFatalErrors &= hfdcan->ttcan->TTIE; + + /* TT Schedule Synchronization interrupts management **********************/ + if(TTSchedSyncITs != 0U) + { + /* Disable the TT Schedule Synchronization interrupts */ + __HAL_FDCAN_TT_DISABLE_IT(hfdcan, TTSchedSyncITs); + + /* Clear the TT Schedule Synchronization flags */ + __HAL_FDCAN_TT_CLEAR_FLAG(hfdcan, TTSchedSyncITs); + + /* TT Schedule Synchronization Callback */ + HAL_FDCAN_TT_ScheduleSyncCallback(hfdcan, TTSchedSyncITs); + } + + /* TT Time Mark interrupts management *************************************/ + if(TTTimeMarkITs != 0U) + { + /* Disable the TT Time Mark interrupts */ + __HAL_FDCAN_TT_DISABLE_IT(hfdcan, TTTimeMarkITs); + + /* Clear the TT Time Mark flags */ + __HAL_FDCAN_TT_CLEAR_FLAG(hfdcan, TTTimeMarkITs); + + /* TT Time Mark Callback */ + HAL_FDCAN_TT_TimeMarkCallback(hfdcan, TTTimeMarkITs); + } + + /* TT Stop Watch interrupt management *************************************/ + if(__HAL_FDCAN_TT_GET_FLAG(hfdcan, FDCAN_TT_FLAG_STOP_WATCH) != RESET) + { + if(__HAL_FDCAN_TT_GET_IT_SOURCE(hfdcan, FDCAN_TT_IT_STOP_WATCH) != RESET) + { + /* Disable the TT Stop Watch interrupt */ + __HAL_FDCAN_TT_DISABLE_IT(hfdcan, FDCAN_TT_IT_STOP_WATCH); + + /* Retrieve Stop watch Time and Cycle count */ + SWTime = ((hfdcan->ttcan->TTCPT & FDCAN_TTCPT_SWV) >> 16); + SWCycleCount = hfdcan->ttcan->TTCPT & FDCAN_TTCPT_CCV; + + /* Clear the TT Stop Watch flag */ + __HAL_FDCAN_TT_CLEAR_FLAG(hfdcan, FDCAN_TT_FLAG_STOP_WATCH); + + /* TT Stop Watch Callback */ + HAL_FDCAN_TT_StopWatchCallback(hfdcan, SWTime, SWCycleCount); + } + } + + /* TT Global Time interrupts management ***********************************/ + if(TTGlobTimeITs != 0U) + { + /* Disable the TT Global Time interrupts */ + __HAL_FDCAN_TT_DISABLE_IT(hfdcan, TTGlobTimeITs); + + /* Clear the TT Global Time flags */ + __HAL_FDCAN_TT_CLEAR_FLAG(hfdcan, TTGlobTimeITs); + + /* TT Global Time Callback */ + HAL_FDCAN_TT_GlobalTimeCallback(hfdcan, TTGlobTimeITs); + } + + /* TT Disturbing Error interrupts management ******************************/ + if(TTDistErrors != 0U) + { + /* Disable the TT Disturbing Error interrupts */ + __HAL_FDCAN_TT_DISABLE_IT(hfdcan, TTDistErrors); + + /* Clear the TT Disturbing Error flags */ + __HAL_FDCAN_TT_CLEAR_FLAG(hfdcan, TTDistErrors); + + /* Update error code */ + hfdcan->ErrorCode |= TTDistErrors; + } + + /* TT Fatal Error interrupts management ***********************************/ + if(TTFatalErrors != 0U) + { + /* Disable the TT Fatal Error interrupts */ + __HAL_FDCAN_TT_DISABLE_IT(hfdcan, TTFatalErrors); + + /* Clear the TT Fatal Error flags */ + __HAL_FDCAN_TT_CLEAR_FLAG(hfdcan, TTFatalErrors); + + /* Update error code */ + hfdcan->ErrorCode |= TTFatalErrors; + } + } + + if(hfdcan->ErrorCode != HAL_FDCAN_ERROR_NONE) + { + /* Error Callback */ + HAL_FDCAN_ErrorCallback(hfdcan); + } +} + +/** + * @} + */ + +/** @defgroup FDCAN_Exported_Functions_Group6 Callback functions + * @brief FDCAN Callback functions + * +@verbatim + ============================================================================== + ##### Callback functions ##### + ============================================================================== + [..] + This subsection provides the following callback functions: + (+) HAL_FDCAN_ClockCalibrationCallback + (+) HAL_FDCAN_TxEventFifoCallback + (+) HAL_FDCAN_RxFifo0Callback + (+) HAL_FDCAN_RxFifo1Callback + (+) HAL_FDCAN_TxFifoEmptyCallback + (+) HAL_FDCAN_TxBufferCompleteCallback + (+) HAL_FDCAN_TxBufferAbortCallback + (+) HAL_FDCAN_RxBufferNewMessageCallback + (+) HAL_FDCAN_HighPriorityMessageCallback + (+) HAL_FDCAN_TimestampWraparoundCallback + (+) HAL_FDCAN_TimeoutOccurredCallback + (+) HAL_FDCAN_ErrorCallback + (+) HAL_FDCAN_TTSchedSyncCallback + (+) HAL_FDCAN_TTTimeMarkCallback + (+) HAL_FDCAN_TTStopWatchCallback + (+) HAL_FDCAN_TTGlobalTimeCallback + +@endverbatim + * @{ + */ + +/** + * @brief Clock Calibration callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param ClkCalibrationITs: indicates which Clock Calibration interrupts are signalled. + * This parameter can be any combination of @arg FDCAN_Clock_Calibration_Interrupts. + * @retval None + */ +__weak void HAL_FDCAN_ClockCalibrationCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t ClkCalibrationITs) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(ClkCalibrationITs); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_ClockCalibrationCallback could be implemented in the user file + */ +} + +/** + * @brief Tx Event callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TxEventFifoITs: indicates which Tx Event FIFO interrupts are signalled. + * This parameter can be any combination of @arg FDCAN_Tx_Event_Fifo_Interrupts. + * @retval None + */ +__weak void HAL_FDCAN_TxEventFifoCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TxEventFifoITs) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(TxEventFifoITs); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TxEventFifoCallback could be implemented in the user file + */ +} + +/** + * @brief Rx FIFO 0 callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param RxFifo0ITs: indicates which Rx FIFO 0 interrupts are signalled. + * This parameter can be any combination of @arg FDCAN_Rx_Fifo0_Interrupts. + * @retval None + */ +__weak void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo0ITs) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(RxFifo0ITs); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_RxFifo0Callback could be implemented in the user file + */ +} + +/** + * @brief Rx FIFO 1 callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param RxFifo1ITs: indicates which Rx FIFO 1 interrupts are signalled. + * This parameter can be any combination of @arg FDCAN_Rx_Fifo1_Interrupts. + * @retval None + */ +__weak void HAL_FDCAN_RxFifo1Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo1ITs) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(RxFifo1ITs); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_RxFifo1Callback could be implemented in the user file + */ +} + +/** + * @brief Tx FIFO Empty callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_TxFifoEmptyCallback(FDCAN_HandleTypeDef *hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TxFifoEmptyCallback could be implemented in the user file + */ +} + +/** + * @brief Transmission Complete callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param BufferIndexes: Indexes of the transmitted buffers. + * This parameter can be any combination of @arg FDCAN_Tx_location. + * @retval None + */ +__weak void HAL_FDCAN_TxBufferCompleteCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndexes) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(BufferIndexes); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TxBufferCompleteCallback could be implemented in the user file + */ +} + +/** + * @brief Transmission Cancellation callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param BufferIndexes: Indexes of the aborted buffers. + * This parameter can be any combination of @arg FDCAN_Tx_location. + * @retval None + */ +__weak void HAL_FDCAN_TxBufferAbortCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndexes) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(BufferIndexes); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TxBufferAbortCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Buffer New Message callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_RxBufferNewMessageCallback(FDCAN_HandleTypeDef *hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_RxBufferNewMessageCallback could be implemented in the user file + */ +} + +/** + * @brief Timestamp Wraparound callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_TimestampWraparoundCallback(FDCAN_HandleTypeDef *hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TimestampWraparoundCallback could be implemented in the user file + */ +} + +/** + * @brief Timeout Occurred callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_TimeoutOccurredCallback(FDCAN_HandleTypeDef *hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TimeoutOccurredCallback could be implemented in the user file + */ +} + +/** + * @brief High Priority Message callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_HighPriorityMessageCallback(FDCAN_HandleTypeDef *hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_HighPriorityMessageCallback could be implemented in the user file + */ +} + +/** + * @brief Error callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval None + */ +__weak void HAL_FDCAN_ErrorCallback(FDCAN_HandleTypeDef *hfdcan) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_ErrorCallback could be implemented in the user file + */ +} + +/** + * @brief TT Schedule Synchronization callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TTSchedSyncITs: indicates which TT Schedule Synchronization interrupts are signalled. + * This parameter can be any combination of @arg FDCAN_TTScheduleSynchronization_Interrupts. + * @retval None + */ +__weak void HAL_FDCAN_TT_ScheduleSyncCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TTSchedSyncITs) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(TTSchedSyncITs); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TTSchedSyncCallback could be implemented in the user file + */ +} + +/** + * @brief TT Time Mark callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TTTimeMarkITs: indicates which TT Schedule Synchronization interrupts are signalled. + * This parameter can be any combination of @arg FDCAN_TTTimeMark_Interrupts. + * @retval None + */ +__weak void HAL_FDCAN_TT_TimeMarkCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TTTimeMarkITs) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(TTTimeMarkITs); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TTTimeMarkCallback could be implemented in the user file + */ +} + +/** + * @brief TT Stop Watch callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param SWTime: Time Value captured at the Stop Watch Trigger pin (fdcan1_swt) falling/rising + * edge (as configured via HAL_FDCAN_TTConfigStopWatch). + * This parameter is a number between 0 and 0xFFFF. + * @param SWCycleCount: Cycle count value captured together with SWTime. + * This parameter is a number between 0 and 0x3F. + * @retval None + */ +__weak void HAL_FDCAN_TT_StopWatchCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t SWTime, uint32_t SWCycleCount) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(SWTime); + UNUSED(SWCycleCount); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TTStopWatchCallback could be implemented in the user file + */ +} + +/** + * @brief TT Global Time callback. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param TTGlobTimeITs: indicates which TT Global Time interrupts are signalled. + * This parameter can be any combination of @arg FDCAN_TTGlobalTime_Interrupts. + * @retval None + */ +__weak void HAL_FDCAN_TT_GlobalTimeCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TTGlobTimeITs) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hfdcan); + UNUSED(TTGlobTimeITs); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FDCAN_TTGlobalTimeCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup FDCAN_Exported_Functions_Group7 Peripheral State functions + * @brief FDCAN Peripheral State functions + * +@verbatim + ============================================================================== + ##### Peripheral State functions ##### + ============================================================================== + [..] + This subsection provides functions allowing to : + (+) HAL_FDCAN_GetState() : Return the FDCAN state. + (+) HAL_FDCAN_GetError() : Return the FDCAN error code if any. + +@endverbatim + * @{ + */ +/** + * @brief Return the FDCAN state + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL state + */ +HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef* hfdcan) +{ + /* Return FDCAN state */ + return hfdcan->State; +} + +/** + * @brief Return the FDCAN error code + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval FDCAN Error Code + */ +uint32_t HAL_FDCAN_GetError(FDCAN_HandleTypeDef *hfdcan) +{ + /* Return FDCAN error code */ + return hfdcan->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup FDCAN_Private_Functions + * @{ + */ + +/** + * @brief Calculate each RAM block start address and size + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @retval HAL status + */ +static HAL_StatusTypeDef FDCAN_CalcultateRamBlockAddresses(FDCAN_HandleTypeDef *hfdcan) +{ + uint32_t RAMcounter; + + hfdcan->msgRam.StandardFilterSA = hfdcan->Init.MessageRAMOffset; + + /* Standard filter list start address */ + MODIFY_REG(hfdcan->Instance->SIDFC, FDCAN_SIDFC_FLSSA, (hfdcan->msgRam.StandardFilterSA << 2)); + + /* Standard filter elements number */ + MODIFY_REG(hfdcan->Instance->SIDFC, FDCAN_SIDFC_LSS, (hfdcan->Init.StdFiltersNbr << 16)); + + /* Extended filter list start address */ + hfdcan->msgRam.ExtendedFilterSA = hfdcan->msgRam.StandardFilterSA + hfdcan->Init.StdFiltersNbr; + MODIFY_REG(hfdcan->Instance->XIDFC, FDCAN_XIDFC_FLESA, (hfdcan->msgRam.ExtendedFilterSA << 2)); + + /* Extended filter elements number */ + MODIFY_REG(hfdcan->Instance->XIDFC, FDCAN_XIDFC_LSE, (hfdcan->Init.ExtFiltersNbr << 16)); + + /* Rx FIFO 0 start address */ + hfdcan->msgRam.RxFIFO0SA = hfdcan->msgRam.ExtendedFilterSA + (hfdcan->Init.ExtFiltersNbr * 2); + MODIFY_REG(hfdcan->Instance->RXF0C, FDCAN_RXF0C_F0SA, (hfdcan->msgRam.RxFIFO0SA << 2)); + + /* Rx FIFO 0 elements number */ + MODIFY_REG(hfdcan->Instance->RXF0C, FDCAN_RXF0C_F0S, (hfdcan->Init.RxFifo0ElmtsNbr << 16)); + + /* Rx FIFO 1 start address */ + hfdcan->msgRam.RxFIFO1SA = hfdcan->msgRam.RxFIFO0SA + (hfdcan->Init.RxFifo0ElmtsNbr * hfdcan->Init.RxFifo0ElmtSize); + MODIFY_REG(hfdcan->Instance->RXF1C, FDCAN_RXF1C_F1SA, (hfdcan->msgRam.RxFIFO1SA << 2)); + + /* Rx FIFO 1 elements number */ + MODIFY_REG(hfdcan->Instance->RXF1C, FDCAN_RXF1C_F1S, (hfdcan->Init.RxFifo1ElmtsNbr << 16)); + + /* Rx buffer list start address */ + hfdcan->msgRam.RxBufferSA = hfdcan->msgRam.RxFIFO1SA + (hfdcan->Init.RxFifo1ElmtsNbr * hfdcan->Init.RxFifo1ElmtSize); + MODIFY_REG(hfdcan->Instance->RXBC, FDCAN_RXBC_RBSA, (hfdcan->msgRam.RxBufferSA << 2)); + + /* Tx event FIFO start address */ + hfdcan->msgRam.TxEventFIFOSA = hfdcan->msgRam.RxBufferSA + (hfdcan->Init.RxBuffersNbr * hfdcan->Init.RxBufferSize); + MODIFY_REG(hfdcan->Instance->TXEFC, FDCAN_TXEFC_EFSA, (hfdcan->msgRam.TxEventFIFOSA << 2)); + + /* Tx event FIFO elements number */ + MODIFY_REG(hfdcan->Instance->TXEFC, FDCAN_TXEFC_EFS, (hfdcan->Init.TxEventsNbr << 16)); + + /* Tx buffer list start address */ + hfdcan->msgRam.TxBufferSA = hfdcan->msgRam.TxEventFIFOSA + (hfdcan->Init.TxEventsNbr * 2); + MODIFY_REG(hfdcan->Instance->TXBC, FDCAN_TXBC_TBSA, (hfdcan->msgRam.TxBufferSA << 2)); + + /* Dedicated Tx buffers number */ + MODIFY_REG(hfdcan->Instance->TXBC, FDCAN_TXBC_NDTB, (hfdcan->Init.TxBuffersNbr << 16)); + + /* Tx FIFO/queue start address */ + hfdcan->msgRam.TxFIFOQSA = hfdcan->msgRam.TxBufferSA + (hfdcan->Init.TxBuffersNbr * hfdcan->Init.TxElmtSize); + + /* Tx FIFO/queue elements number */ + MODIFY_REG(hfdcan->Instance->TXBC, FDCAN_TXBC_TFQS, (hfdcan->Init.TxFifoQueueElmtsNbr << 24)); + + hfdcan->msgRam.StandardFilterSA = SRAMCAN_BASE + (hfdcan->Init.MessageRAMOffset * 4); + hfdcan->msgRam.ExtendedFilterSA = hfdcan->msgRam.StandardFilterSA + (hfdcan->Init.StdFiltersNbr * 4); + hfdcan->msgRam.RxFIFO0SA = hfdcan->msgRam.ExtendedFilterSA + (hfdcan->Init.ExtFiltersNbr * 2 * 4); + hfdcan->msgRam.RxFIFO1SA = hfdcan->msgRam.RxFIFO0SA + (hfdcan->Init.RxFifo0ElmtsNbr * hfdcan->Init.RxFifo0ElmtSize * 4); + hfdcan->msgRam.RxBufferSA = hfdcan->msgRam.RxFIFO1SA + (hfdcan->Init.RxFifo1ElmtsNbr * hfdcan->Init.RxFifo1ElmtSize * 4); + hfdcan->msgRam.TxEventFIFOSA = hfdcan->msgRam.RxBufferSA + (hfdcan->Init.RxBuffersNbr * hfdcan->Init.RxBufferSize * 4); + hfdcan->msgRam.TxBufferSA = hfdcan->msgRam.TxEventFIFOSA + (hfdcan->Init.TxEventsNbr * 2 * 4); + hfdcan->msgRam.TxFIFOQSA = hfdcan->msgRam.TxBufferSA + (hfdcan->Init.TxBuffersNbr * hfdcan->Init.TxElmtSize * 4); + + hfdcan->msgRam.EndAddress = hfdcan->msgRam.TxFIFOQSA + (hfdcan->Init.TxFifoQueueElmtsNbr * hfdcan->Init.TxElmtSize * 4); + + if(hfdcan->msgRam.EndAddress > 0x4000B5FC) /* Last address of the Message RAM */ + { + /* Update error code. + Message RAM overflow */ + hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; + + return HAL_ERROR; + } + else + { + /* Flush the allocated Message RAM area */ + for(RAMcounter = hfdcan->msgRam.StandardFilterSA; RAMcounter < hfdcan->msgRam.EndAddress; RAMcounter += 4) + { + *(__IO uint32_t *)(RAMcounter) = 0x00000000; + } + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Copy Tx message to the message RAM. + * @param hfdcan: pointer to an FDCAN_HandleTypeDef structure that contains + * the configuration information for the specified FDCAN. + * @param pTxHeader: pointer to a FDCAN_TxHeaderTypeDef structure. + * @param pTxData: pointer to a buffer containing the payload of the Tx frame. + * @param BufferIndex: index of the buffer to be configured. + * @retval HAL status + */ +static HAL_StatusTypeDef FDCAN_CopyMessageToRAM(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTypeDef *pTxHeader, uint8_t *pTxData, uint32_t BufferIndex) +{ + uint32_t TxElementW1; + uint32_t TxElementW2; + uint32_t *TxAddress; + uint32_t ByteCounter; + + /* Build first word of Tx header element */ + if(pTxHeader->IdType == FDCAN_STANDARD_ID) + { + TxElementW1 = (pTxHeader->ErrorStateIndicator | + FDCAN_STANDARD_ID | + pTxHeader->TxFrameType | + (pTxHeader->Identifier << 18)); + } + else /* pTxHeader->IdType == FDCAN_EXTENDED_ID */ + { + TxElementW1 = (pTxHeader->ErrorStateIndicator | + FDCAN_EXTENDED_ID | + pTxHeader->TxFrameType | + pTxHeader->Identifier); + } + + /* Build second word of Tx header element */ + TxElementW2 = ((pTxHeader->MessageMarker << 24) | + pTxHeader->TxEventFifoControl | + pTxHeader->FDFormat | + pTxHeader->BitRateSwitch | + pTxHeader->DataLength); + + /* Calculate Tx element address */ + TxAddress = (uint32_t *)(hfdcan->msgRam.TxBufferSA + (BufferIndex * hfdcan->Init.TxElmtSize * 4)); + + /* Write Tx element header to the message RAM */ + *TxAddress++ = TxElementW1; + *TxAddress++ = TxElementW2; + + /* Write Tx payload to the message RAM */ + for(ByteCounter = 0; ByteCounter < DLCtoBytes[pTxHeader->DataLength >> 16]; ByteCounter += 4) + { + *TxAddress++ = ((pTxData[ByteCounter+3] << 24) | + (pTxData[ByteCounter+2] << 16) | + (pTxData[ByteCounter+1] << 8) | + pTxData[ByteCounter]); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ +#endif /* HAL_FDCAN_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c new file mode 100644 index 0000000000..7b84a2553a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c @@ -0,0 +1,946 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_flash.c + * @author MCD Application Team + * @brief FLASH HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the internal FLASH memory: + * + Program operations functions + * + Memory Control functions + * + Peripheral Errors functions + * + @verbatim + ============================================================================== + ##### FLASH peripheral features ##### + ============================================================================== + + [..] The Flash memory interface manages CPU AXI I-Code and D-Code accesses + to the Flash memory. It implements the erase and program Flash memory operations + and the read and write protection mechanisms. + + + + [..] The FLASH main features are: + (+) Flash memory read operations + (+) Flash memory program/erase operations + (+) Read / write protections + (+) Option bytes programming + (+) Error code correction (ECC) : Data in flash are 266-bits word + (10 bits added per double word) + + + ##### How to use this driver ##### + ============================================================================== + [..] + This driver provides functions and macros to configure and program the FLASH + memory of all STM32H7xx devices. + + (#) FLASH Memory IO Programming functions: + (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and + HAL_FLASH_Lock() functions + (++) Program functions: double word only + (++) There Two modes of programming : + (+++) Polling mode using HAL_FLASH_Program() function + (+++) Interrupt mode using HAL_FLASH_Program_IT() function + + (#) Interrupts and flags management functions : + (++) Handle FLASH interrupts by calling HAL_FLASH_IRQHandler() + (++) Callback functions are called when the flash operations are finished : + HAL_FLASH_EndOfOperationCallback() when everything is ok, otherwise + HAL_FLASH_OperationErrorCallback() + (++) Get error flag status by calling HAL_FLASH_GetError() + + (#) Option bytes management functions : + (++) Lock and Unlock the option bytes using HAL_FLASH_OB_Unlock() and + HAL_FLASH_OB_Lock() functions + (++) Launch the reload of the option bytes using HAL_FLASH_Launch() function. + In this case, a reset is generated + [..] + In addition to these functions, this driver includes a set of macros allowing + to handle the following operations: + (+) Set the latency + (+) Enable/Disable the FLASH interrupts + (+) Monitor the FLASH flags status + [..] + (@) For any Flash memory program operation (erase or program), the CPU clock frequency + (HCLK) must be at least 1MHz. + (@) The contents of the Flash memory are not guaranteed if a device reset occurs during + a Flash memory operation. + (@) Any attempt to read the Flash memory while it is being written or erased, causes the + bus to stall. Read operations are processed correctly once the program operation has + completed. This means that code or data fetches cannot be performed while a write/erase + operation is ongoing + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup FLASH FLASH + * @brief FLASH HAL module driver + * @{ + */ + +#ifdef HAL_FLASH_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup FLASH_Private_Constants + * @{ + */ +#define FLASH_TIMEOUT_VALUE ((uint32_t)50000U)/* 50 s */ +/** + * @} + */ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +FLASH_ProcessTypeDef pFlash; +/* Private function prototypes -----------------------------------------------*/ +static void FLASH_SetErrorCode(uint32_t Bank); +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup FLASH_Private_Functions FLASH Private functions + * @{ + */ + +/** @defgroup FLASH_Group1 Programming operation functions + * @brief Programming operation functions + * +@verbatim + =============================================================================== + ##### Programming operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the FLASH + program operations. + +@endverbatim + * @{ + */ + +/** + * @brief Program flash word of 256 bits at a specified address + * @param TypeProgram Indicate the way to program at a specified address. + * This parameter can be a value of @ref FLASH_Type_Program + * @param FlashAddress specifies the address to be programmed. + * @param DataAddress specifies the address of data (256 bits) to be programmed + * + * @retval HAL_StatusTypeDef HAL Status + */ +HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t FlashAddress, uint64_t DataAddress) +{ + HAL_StatusTypeDef status = HAL_ERROR; + __IO uint64_t *dest_addr = (__IO uint64_t *)FlashAddress; + __IO uint64_t *src_addr = (__IO uint64_t*)((uint32_t)DataAddress); + uint32_t bank; + uint8_t row_index = 4; + + /* Process Locked */ + __HAL_LOCK(&pFlash); + + /* Check the parameters */ + assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram)); + assert_param(IS_FLASH_PROGRAM_ADDRESS(FlashAddress)); + + if(IS_FLASH_PROGRAM_ADDRESS_BANK1(FlashAddress)) + { + bank = FLASH_BANK_1; + } + else + { + bank = FLASH_BANK_2; + } + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, bank); + + if(status == HAL_OK) + { + if(bank == FLASH_BANK_1) + { + /* Clear bank 1 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1 | FLASH_FLAG_QW_BANK1 | FLASH_FLAG_WBNE_BANK1 | FLASH_FLAG_ALL_ERRORS_BANK1); + + /* Set PG bit */ + SET_BIT(FLASH->CR1, FLASH_CR_PG); + } + else + { + /* Clear bank 2 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2 | FLASH_FLAG_QW_BANK2 | FLASH_FLAG_WBNE_BANK2 | FLASH_FLAG_ALL_ERRORS_BANK2); + + /* Set PG bit */ + SET_BIT(FLASH->CR2, FLASH_CR_PG); + } + + /* Program the 256 bits flash word */ + do + { + *dest_addr++ = *src_addr++; + } while (--row_index != 0); + + __DSB(); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, bank); + + if(bank == FLASH_BANK_1) + { + /* Check FLASH End of Operation flag */ + if (__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_EOP_BANK1)) + { + /* Clear FLASH End of Operation pending bit */ + __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1); + } + + /* If the program operation is completed, disable the PG*/ + CLEAR_BIT(FLASH->CR1, FLASH_CR_PG); + } + else + { + /* Check FLASH End of Operation flag */ + if (__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_EOP_BANK2)) + { + /* Clear FLASH End of Operation pending bit */ + __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2); + } + + /* If the program operation is completed, disable the PG */ + CLEAR_BIT(FLASH->CR2, FLASH_CR_PG); + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + + return status; +} + +/** + * @brief Program flash words of 256 bits at a specified address with interrupt enabled. + * @param TypeProgram Indicate the way to program at a specified address. + * This parameter can be a value of @ref FLASH_Type_Program + * @param FlashAddress specifies the address to be programmed. + * @param DataAddress specifies the address of data (256 bits) to be programmed + * + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t FlashAddress, uint64_t DataAddress) +{ + HAL_StatusTypeDef status = HAL_OK; + __IO uint64_t *dest_addr = (__IO uint64_t*)FlashAddress; + __IO uint64_t *src_addr = (__IO uint64_t*)((uint32_t)DataAddress); + uint32_t bank; + uint8_t row_index = 4; + + /* Process Locked */ + __HAL_LOCK(&pFlash); + + /* Check the parameters */ + assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram)); + assert_param(IS_FLASH_PROGRAM_ADDRESS(FlashAddress)); + + if(IS_FLASH_PROGRAM_ADDRESS_BANK1(FlashAddress)) + { + bank = FLASH_BANK_1; + pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAM_BANK1; + } + else + { + bank = FLASH_BANK_2; + pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAM_BANK2; + } + + /* Set internal variables used by the IRQ handler */ + pFlash.Address = FlashAddress; + + if(bank == FLASH_BANK_1) + { + /* Clear bank 1 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1 | FLASH_FLAG_ALL_ERRORS_BANK1); + + /* Set PG bit */ + SET_BIT(FLASH->CR1, FLASH_CR_PG); + + /* Enable End of Operation and Error interrupts for Bank 1 */ + __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1 | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_BANK1 | \ + FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_BANK1); + } + else + { + /* Clear bank 2 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2 | FLASH_FLAG_ALL_ERRORS_BANK2); + + /* Set PG bit */ + SET_BIT(FLASH->CR2, FLASH_CR_PG); + + /* Enable End of Operation and Error interrupts for Bank2*/ + __HAL_FLASH_ENABLE_IT_BANK2(FLASH_IT_EOP_BANK2 | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_BANK2 | \ + FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2 | FLASH_IT_OPERR_BANK2); + } + + /* Program the 256 bits flash word */ + do + { + *dest_addr++ = *src_addr++; + } while (--row_index != 0); + + return status; +} + +/** + * @brief This function handles FLASH interrupt request. + * @retval None + */ +void HAL_FLASH_IRQHandler(void) +{ + uint32_t temp; + + /* Check FLASH Bank1 End of Operation flag */ + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_SR_EOP) != RESET) + { + if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE_BANK1) + { + /*Nb of sector to erased can be decreased*/ + pFlash.NbSectorsToErase--; + + /* Check if there are still sectors to erase*/ + if(pFlash.NbSectorsToErase != 0) + { + temp = pFlash.Sector; + /*Indicate user which sector has been erased*/ + HAL_FLASH_EndOfOperationCallback(temp); + + /* Clear pending flags (if any) */ + /* Clear bank 1 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1 | FLASH_FLAG_ALL_ERRORS_BANK1); + + /*Increment sector number*/ + temp = ++pFlash.Sector; + FLASH_Erase_Sector(temp, FLASH_BANK_1/*pFlash.Bank*/, pFlash.VoltageForErase); + } + else + { + /*No more sectors to Erase, user callback can be called.*/ + /*Reset Sector and stop Erase sectors procedure*/ + pFlash.Sector = temp = 0xFFFFFFFF; + pFlash.ProcedureOnGoing = FLASH_PROC_NONE; + /* FLASH EOP interrupt user callback */ + HAL_FLASH_EndOfOperationCallback(temp); + /* Clear FLASH End of Operation pending bit */ + __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1); + } + } + else + { + if((pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE_BANK1) || (pFlash.ProcedureOnGoing == FLASH_PROC_ALLBANK_MASSERASE)) + { + /*MassErase ended. Return the selected bank*/ + /* FLASH EOP interrupt user callback */ + HAL_FLASH_EndOfOperationCallback(FLASH_BANK_1); + } + else if(pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAM_BANK1) + { + /*Program ended. Return the selected address*/ + /* FLASH EOP interrupt user callback */ + HAL_FLASH_EndOfOperationCallback(pFlash.Address); + } + + if((pFlash.ProcedureOnGoing != FLASH_PROC_SECTERASE_BANK2) && \ + (pFlash.ProcedureOnGoing != FLASH_PROC_MASSERASE_BANK2)&& \ + (pFlash.ProcedureOnGoing != FLASH_PROC_PROGRAM_BANK2)) + { + pFlash.ProcedureOnGoing = FLASH_PROC_NONE; + /* Clear FLASH End of Operation pending bit */ + __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1); + } + } + } + + /* Check FLASH Bank2 End of Operation flag */ + if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_SR_EOP) != RESET) + { + if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE_BANK2) + { + /*Nb of sector to erased can be decreased*/ + pFlash.NbSectorsToErase--; + + /* Check if there are still sectors to erase*/ + if(pFlash.NbSectorsToErase != 0) + { + temp = pFlash.Sector; + /*Indicate user which sector has been erased*/ + HAL_FLASH_EndOfOperationCallback(temp); + + /* Clear pending flags (if any) */ + /* Clear bank 2 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2 | FLASH_FLAG_ALL_ERRORS_BANK2); + + /*Increment sector number*/ + temp = ++pFlash.Sector; + FLASH_Erase_Sector(temp, FLASH_BANK_2 /*pFlash.Bank*/, pFlash.VoltageForErase); + } + else + { + /*No more sectors to Erase, user callback can be called.*/ + /*Reset Sector and stop Erase sectors procedure*/ + pFlash.Sector = temp = 0xFFFFFFFF; + pFlash.ProcedureOnGoing = FLASH_PROC_NONE; + /* FLASH EOP interrupt user callback */ + HAL_FLASH_EndOfOperationCallback(temp); + /* Clear FLASH End of Operation pending bit */ + __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2); + } + } + else + { + if((pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE_BANK2) || (pFlash.ProcedureOnGoing == FLASH_PROC_ALLBANK_MASSERASE)) + { + /*MassErase ended. Return the selected bank*/ + /* FLASH EOP interrupt user callback */ + HAL_FLASH_EndOfOperationCallback(FLASH_BANK_2); + } + else + { + /*Program ended. Return the selected address*/ + /* FLASH EOP interrupt user callback */ + HAL_FLASH_EndOfOperationCallback(pFlash.Address); + } + + if((pFlash.ProcedureOnGoing != FLASH_PROC_SECTERASE_BANK1) && \ + (pFlash.ProcedureOnGoing != FLASH_PROC_MASSERASE_BANK1)&& \ + (pFlash.ProcedureOnGoing != FLASH_PROC_PROGRAM_BANK1)) + { + pFlash.ProcedureOnGoing = FLASH_PROC_NONE; + /* Clear FLASH End of Operation pending bit */ + __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2); + } + } + } + + /* Check FLASH Bank1 operation error flags */ + if(__HAL_FLASH_GET_FLAG_BANK1((FLASH_FLAG_EOP_BANK1 | FLASH_FLAG_WRPERR_BANK1 | FLASH_FLAG_PGSERR_BANK1 | \ + FLASH_FLAG_STRBER_BANK1R | FLASH_FLAG_INCERR_BANK1 | FLASH_FLAG_OPERR_BANK1)) != RESET) + { + if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE_BANK1) + { + /*return the faulty sector*/ + temp = pFlash.Sector; + pFlash.Sector = 0xFFFFFFFF; + } + else if((pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE_BANK1) || (pFlash.ProcedureOnGoing == FLASH_PROC_ALLBANK_MASSERASE)) + { + /*return the faulty bank*/ + temp = FLASH_BANK_1; + } + else + { + /*return the faulty address*/ + temp = pFlash.Address; + } + + /*Save the Error code*/ + FLASH_SetErrorCode(FLASH_BANK_1); + + /* FLASH error interrupt user callback */ + HAL_FLASH_OperationErrorCallback(temp); + /* Clear FLASH error pending bits */ + __HAL_FLASH_CLEAR_FLAG_BANK1((FLASH_FLAG_EOP_BANK1 | FLASH_FLAG_WRPERR_BANK1 | FLASH_FLAG_PGSERR_BANK1 | \ + FLASH_FLAG_STRBER_BANK1R | FLASH_FLAG_INCERR_BANK1 | FLASH_FLAG_OPERR_BANK1)); + + /*Stop the procedure ongoing*/ + pFlash.ProcedureOnGoing = FLASH_PROC_NONE; + } + + /* Check FLASH Bank2 operation error flags */ + if(__HAL_FLASH_GET_FLAG_BANK2((FLASH_FLAG_EOP_BANK2 | FLASH_FLAG_WRPERR_BANK2 | FLASH_FLAG_PGSERR_BANK2 | \ + FLASH_FLAG_STRBER_BANK2R | FLASH_FLAG_INCERR_BANK2 | FLASH_FLAG_OPERR_BANK2)) != RESET) + + { + if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE_BANK2) + { + /*return the faulty sector*/ + temp = pFlash.Sector; + pFlash.Sector = 0xFFFFFFFF; + } + else if((pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE_BANK2) || (pFlash.ProcedureOnGoing == FLASH_PROC_ALLBANK_MASSERASE)) + { + /*return the faulty bank*/ + temp = FLASH_BANK_2; + } + else + { + /*return the faulty address*/ + temp = pFlash.Address; + } + + /*Save the Error code*/ + FLASH_SetErrorCode(FLASH_BANK_2); + + /* FLASH error interrupt user callback */ + HAL_FLASH_OperationErrorCallback(temp); + /* Clear FLASH error pending bits */ + __HAL_FLASH_CLEAR_FLAG_BANK2((FLASH_FLAG_EOP_BANK2 | FLASH_FLAG_WRPERR_BANK2 | FLASH_FLAG_PGSERR_BANK2 | \ + FLASH_FLAG_STRBER_BANK2R | FLASH_FLAG_INCERR_BANK2 | FLASH_FLAG_OPERR_BANK2)); + + /*Stop the procedure ongoing*/ + pFlash.ProcedureOnGoing = FLASH_PROC_NONE; + } + + if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE) + { + /* Disable Bank1 Operation and Error source interrupt */ + __HAL_FLASH_DISABLE_IT_BANK1(FLASH_IT_EOP_BANK1 | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_BANK1 | \ + FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_BANK1); + + /* Disable Bank2 Operation and Error source interrupt */ + __HAL_FLASH_DISABLE_IT_BANK2(FLASH_IT_EOP_BANK2 | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_BANK2 | \ + FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2 | FLASH_IT_OPERR_BANK2); + + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + } + +} + +/** + * @brief FLASH end of operation interrupt callback + * @param ReturnValue The value saved in this parameter depends on the ongoing procedure + * Mass Erase Bank number which has been requested to erase + * Sectors Erase: Sector which has been erased + * (if 0xFFFFFFFF, it means that all the selected sectors have been erased) + * Program Address which was selected for data program + * @retval None + */ +__weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FLASH_EndOfOperationCallback could be implemented in the user file + */ +} + +/** + * @brief FLASH operation error interrupt callback + * @param ReturnValue The value saved in this parameter depends on the ongoing procedure + * Mass Erase: Bank number which has been requested to erase + * Sectors Erase: Sector number which returned an error + * Program: Address which was selected for data program + * @retval None + */ +__weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_FLASH_OperationErrorCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup FLASH_Group2 Peripheral Control functions + * @brief management functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the FLASH + memory operations. + +@endverbatim + * @{ + */ + +/** + * @brief Unlock the FLASH control registers access + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASH_Unlock(void) +{ + if((READ_BIT(FLASH->CR1, FLASH_CR_LOCK) != RESET) && (READ_BIT(FLASH->CR2, FLASH_CR_LOCK) != RESET)) + { + /* Authorize the FLASH A Registers access */ + WRITE_REG(FLASH->KEYR1, FLASH_KEY1); + WRITE_REG(FLASH->KEYR1, FLASH_KEY2); + + /* Authorize the FLASH B Registers access */ + WRITE_REG(FLASH->KEYR2, FLASH_KEY1); + WRITE_REG(FLASH->KEYR2, FLASH_KEY2); + } + else + { + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief Locks the FLASH control registers access + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASH_Lock(void) +{ + /* Set the LOCK Bit to lock the FLASH A Registers access */ + SET_BIT(FLASH->CR1, FLASH_CR_LOCK); + + /* Set the LOCK Bit to lock the FLASH B Registers access */ + SET_BIT(FLASH->CR2, FLASH_CR_LOCK); + + return HAL_OK; +} + +/** + * @brief Unlock the FLASH Option Control Registers access. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void) +{ + if(READ_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK) != RESET) + { + /* Authorizes the Option Byte register programming */ + WRITE_REG(FLASH->OPTKEYR, FLASH_OPT_KEY1); + WRITE_REG(FLASH->OPTKEYR, FLASH_OPT_KEY2); + } + else + { + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief Lock the FLASH Option Control Registers access. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASH_OB_Lock(void) +{ + /* Set the OPTLOCK Bit to lock the FLASH A and B Option Byte Registers access */ + SET_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK); + + return HAL_OK; +} + +/** + * @brief Launch the option byte loading. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASH_OB_Launch(void) +{ + HAL_StatusTypeDef status = HAL_ERROR; + + /* Set OPTSTRT Bit */ + SET_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTSTART); + + /* Wait for OB change operation to be completed */ + status = FLASH_OB_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); + + return status; +} + +/** + * @} + */ + +/** @defgroup FLASH_Group3 Peripheral State and Errors functions + * @brief Peripheral Errors functions + * +@verbatim + =============================================================================== + ##### Peripheral Errors functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time Errors of the FLASH peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Get the specific FLASH error flag. + * @retval HAL_FLASH_ERRORCode The returned value can be: + * @arg HAL_FLASH_ERROR_NONE: No error set + * + * @arg HAL_FLASH_ERROR_WRP_BANK1: Write Protection Error on Bank 1 + * @arg HAL_FLASH_ERROR_PGS_BANK1 : Program Sequence Error on Bank 1 + * @arg HAL_FLASH_ERROR_STRB_BANK1 : Strobe Error on Bank 1 + * @arg HAL_FLASH_ERROR_INC_BANK1 : Inconsistency Error on Bank 1 + * @arg HAL_FLASH_ERROR_OPE_BANK1 : Operation Error on Bank 1 + * @arg HAL_FLASH_ERROR_RDP_BANK1 : Read Protection Error on Bank 1 + * @arg HAL_FLASH_ERROR_RDS_BANK1 : Read Secured Error on Bank 1 + * @arg HAL_FLASH_ERROR_SNECC_BANK1: SNECC Error on Bank 1 + * @arg HAL_FLASH_ERROR_DBECC_BANK1: Double Detection ECC on Bank 1 + * + * @arg HAL_FLASH_ERROR_WRP_BANK2 : Write Protection Error on Bank 2 + * @arg HAL_FLASH_ERROR_PGS_BANK2 : Program Sequence Error on Bank 2 + * @arg HAL_FLASH_ERROR_STRB_BANK2 : Strobe Error on Bank 2 + * @arg HAL_FLASH_ERROR_INC_BANK2 : Inconsistency Error on Bank 2 + * @arg HAL_FLASH_ERROR_OPE_BANK2 : Operation Error on Bank 2 + * @arg HAL_FLASH_ERROR_RDP_BANK2 : Read Protection Error on Bank 2 + * @arg HAL_FLASH_ERROR_RDS_BANK2 : Read Secured Error on Bank 2 + * @arg HAL_FLASH_ERROR_SNECC_BANK2: SNECC Error on Bank 2 + * @arg HAL_FLASH_ERROR_DBECC_BANK2: Double Detection ECC on Bank 2 +*/ + +uint32_t HAL_FLASH_GetError(void) +{ + return pFlash.ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @brief Wait for a FLASH operation to complete. + * @param Timeout maximum flash operation timeout + * @param Bank flash FLASH_BANK_1 or FLASH_BANK_2 + * @retval HAL_StatusTypeDef HAL Status + */ +HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout, uint32_t Bank) +{ + /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. + Even if the FLASH operation fails, the BUSY flag will be reset and an error + flag will be set */ + + uint32_t bsyflag, errorflag = 0; + uint32_t timeout = HAL_GetTick() + Timeout; + + assert_param(IS_FLASH_BANK_EXCLUSIVE(Bank)); + + if(Bank == FLASH_BANK_1) + { + bsyflag = FLASH_FLAG_BSY_BANK1 | FLASH_FLAG_QW_BANK1; + + if((FLASH->OPTCR & FLASH_OPTCR_SWAP_BANK) == 0) + { + bsyflag |= FLASH_FLAG_WBNE_BANK1; + } + else + { + bsyflag |= FLASH_FLAG_WBNE_BANK2; + } + } + else + { + bsyflag = FLASH_FLAG_BSY_BANK2 | FLASH_FLAG_QW_BANK2; + + if((FLASH->OPTCR & FLASH_OPTCR_SWAP_BANK) == 0) + { + bsyflag |= FLASH_FLAG_WBNE_BANK2; + } + else + { + bsyflag |= FLASH_FLAG_WBNE_BANK1; + } + } + + while(__HAL_FLASH_GET_FLAG(bsyflag)) + { + if(Timeout != HAL_MAX_DELAY) + { + if(HAL_GetTick() >= timeout) + { + return HAL_TIMEOUT; + } + } + } + + if((Bank == FLASH_BANK_1) && ((FLASH->SR1 & FLASH_FLAG_ALL_ERRORS_BANK1) != RESET)) + { + errorflag = FLASH_FLAG_ALL_ERRORS_BANK1; + } + else if((Bank == FLASH_BANK_2) && ((FLASH->SR2 & FLASH_FLAG_ALL_ERRORS_BANK2 & 0x7FFFFFFF) != RESET)) + { + errorflag = FLASH_FLAG_ALL_ERRORS_BANK2; + } + + if(errorflag != 0) + { + /*Save the error code*/ + FLASH_SetErrorCode(Bank); + + /* Clear error programming flags */ + __HAL_FLASH_CLEAR_FLAG(errorflag); + + return HAL_ERROR; + } + + /* If there is an error flag set */ + return HAL_OK; +} + +/** + * @brief Wait for a FLASH Option Bytes change operation to complete. + * @param Timeout maximum flash operation timeout + * @retval HAL_StatusTypeDef HAL Status + */ +HAL_StatusTypeDef FLASH_OB_WaitForLastOperation(uint32_t Timeout) +{ + uint32_t timeout = HAL_GetTick() + Timeout; + + /* Wait for the FLASH Option Bytes change operation to complete by polling on OPT_BUSY flag to be reset.*/ + while(FLASH->OPTSR_CUR & FLASH_OPTSR_OPT_BUSY) + { + if(Timeout != HAL_MAX_DELAY) + { + if(HAL_GetTick() >= timeout) + { + return HAL_TIMEOUT; + } + } + } + if(FLASH->OPTSR_CUR & FLASH_OPTSR_OPTCHANGEERR) + { + /*Save the error code*/ + pFlash.ErrorCode |= HAL_FLASH_ERROR_OB_CHANGE; + + /*Clear the OB error flag*/ + FLASH->OPTCCR |= FLASH_OPTCCR_CLR_OPTCHANGEERR; + + return HAL_ERROR; + } + + /* If there is an error flag set */ + return HAL_OK; +} + +/** + * @brief Set the specific FLASH error flag. + * @retval None + */ +static void FLASH_SetErrorCode(uint32_t Bank) +{ + pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; + + if(Bank == FLASH_BANK_1) + { + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_WRPERR_BANK1)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_PGSERR_BANK1)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_PGS_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_STRBER_BANK1R)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_STRB_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_INCERR_BANK1)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_INC_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_OPERR_BANK1)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_OPE_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_RDPERR_BANK1)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_RDP_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_RDSERR_BANK1)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_RDS_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_SNECCE_BANK1RR)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_SNECC_BANK1; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_DBECCE_BANK1RR)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_DBECC_BANK1; + } + } + else if(Bank == FLASH_BANK_2) + { + if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_WRPERR_BANK2)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_PGSERR_BANK2)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_PGS_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_STRBER_BANK2R)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_STRB_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_INCERR_BANK2)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_INC_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_OPERR_BANK2)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_OPE_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_RDPERR_BANK2)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_RDP_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_RDSERR_BANK2)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_RDS_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_SNECCE_BANK2RR)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_SNECC_BANK2; + } + if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_DBECCE_BANK2RR)) + { + pFlash.ErrorCode |= HAL_FLASH_ERROR_DBECC_BANK2; + } + } +} + +#endif /* HAL_FLASH_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c new file mode 100644 index 0000000000..43a6fbc0c7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c @@ -0,0 +1,1372 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_flash_ex.c + * @author MCD Application Team + * @brief Extended FLASH HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the FLASH extension peripheral: + * + Extended programming operations functions + * + @verbatim + ============================================================================== + ##### Flash Extension features ##### + ============================================================================== + + [..] Comparing to other previous devices, the FLASH interface for STM32H7xx + devices contains the following additional features + + (+) Capacity up to 2 Mbyte with dual bank architecture supporting read-while-write + capability (RWW) + (+) Dual bank memory organization + (+) PCROP protection for all banks + + ##### How to use this driver ##### + ============================================================================== + [..] This driver provides functions to configure and program the FLASH memory + of all STM32H7xx devices. It includes + (#) FLASH Memory Erase functions: + (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and + HAL_FLASH_Lock() functions + (++) Erase function: Erase sector, erase all sectors + (++) There are two modes of erase : + (+++) Polling Mode using HAL_FLASHEx_Erase() + (+++) Interrupt Mode using HAL_FLASHEx_Erase_IT() + + (#) Option Bytes Programming functions: Use HAL_FLASHEx_OBProgram() to : + (++) Set/Reset the write protection per bank + (++) Set the Read protection Level + (++) Set the BOR level + (++) Program the user Option Bytes + (++) PCROP protection configuration and control per bank + (++) Secure area configuration and control per bank + (++) Core Boot address configuration + + (#) FLASH Memory Lock and unlock per Bank: HAL_FLASHEx_Lock_Bank1 and HAL_FLASHEx_Unlock_Bank1 functions + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup FLASHEx FLASHEx + * @brief FLASH HAL Extension module driver + * @{ + */ + +#ifdef HAL_FLASH_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup FLASHEx_Private_Constants + * @{ + */ +#define FLASH_TIMEOUT_VALUE 50000U/* 50 s */ +/** + * @} + */ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +extern FLASH_ProcessTypeDef pFlash; + +/* Private function prototypes -----------------------------------------------*/ + +static void FLASH_MassErase(uint32_t VoltageRange, uint32_t Banks); +void FLASH_Erase_Sector(uint32_t Sector, uint32_t Bank, uint32_t VoltageRange); +static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WRPSector, uint32_t Banks); +static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WRPSector, uint32_t Bank); +static void FLASH_OB_GetWRP(uint32_t *WRPState, uint32_t *WRPSector, uint32_t Bank); +static HAL_StatusTypeDef FLASH_OB_RDPConfig(uint32_t RDPLevel); +static uint32_t FLASH_OB_GetRDP(void); +static HAL_StatusTypeDef FLASH_OB_PCROPConfig(uint32_t PCROConfigRDP, uint32_t PCROPStartAddr, uint32_t PCROPEndAddr, uint32_t Banks); +static void FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr,uint32_t *PCROPEndAddr, uint32_t Bank); +static HAL_StatusTypeDef FLASH_OB_BOR_LevelConfig(uint8_t Level); +static uint32_t FLASH_OB_GetBOR(void); +static HAL_StatusTypeDef FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig); +static uint32_t FLASH_OB_GetUser(void); +static HAL_StatusTypeDef FLASH_OB_BootAddConfig(uint32_t BootOption, uint32_t BootAddress0, uint32_t BootAddress1); +static void FLASH_OB_GetBootAdd(uint32_t *BootAddress0, uint32_t *BootAddress1); +static HAL_StatusTypeDef FLASH_OB_SecureAreaConfig(uint32_t SecureAreaConfig, uint32_t SecureAreaStartAddr, uint32_t SecureAreaEndAddr, uint32_t Banks); +static void FLASH_OB_GetSecureArea(uint32_t *SecureAreaConfig, uint32_t *SecureAreaStartAddr, uint32_t *SecureAreaEndAddr, uint32_t Bank); + + + + + +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup FLASHEx_Private_Functions Extended FLASH Private functions + * @{ + */ + +/** @defgroup FLASHEx_Group1 Extended IO operation functions + * @brief Extended IO operation functions + * +@verbatim + =============================================================================== + ##### Extended programming operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the Extension FLASH + programming operations Operations. + +@endverbatim + * @{ + */ +/** + * @brief Perform a mass erase or erase the specified FLASH memory sectors + * @param[in] pEraseInit pointer to an FLASH_EraseInitTypeDef structure that + * contains the configuration information for the erasing. + * + * @param[out] SectorError pointer to variable that + * contains the configuration information on faulty sector in case of error + * (0xFFFFFFFF means that all the sectors have been correctly erased) + * + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *SectorError) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t index = 0; + + /* Process Locked */ + __HAL_LOCK(&pFlash); + + /* Check the parameters */ + assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase)); + assert_param(IS_VOLTAGERANGE(pEraseInit->VoltageRange)); + assert_param(IS_FLASH_BANK(pEraseInit->Banks)); + + + /* Wait for last operation to be completed */ + if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + } + + if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + + if(status == HAL_OK) + { + /*Initialization of SectorError variable*/ + *SectorError = 0xFFFFFFFF; + + if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) + { + /*Mass erase to be done*/ + FLASH_MassErase(pEraseInit->VoltageRange, pEraseInit->Banks); + + /* Wait for last operation to be completed */ + if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + /* if the erase operation is completed, disable the Bank1 BER Bit */ + FLASH->CR1 &= (~FLASH_CR_BER); + } + if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + /* if the erase operation is completed, disable the Bank2 BER Bit */ + FLASH->CR2 &= (~FLASH_CR_BER); + } + } + else + { + /* Check the parameters */ + assert_param(IS_FLASH_BANK_EXCLUSIVE(pEraseInit->Banks)); + assert_param(IS_FLASH_NBSECTORS(pEraseInit->NbSectors + pEraseInit->Sector)); + + /* Erase by sector by sector to be done*/ + for(index = pEraseInit->Sector; index < (pEraseInit->NbSectors + pEraseInit->Sector); index++) + { + FLASH_Erase_Sector(index, pEraseInit->Banks, pEraseInit->VoltageRange); + + if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + + /* If the erase operation is completed, disable the SER Bit */ + FLASH->CR1 &= (~(FLASH_CR_SER | FLASH_CR_SNB)); + } + if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + + /* If the erase operation is completed, disable the SER Bit */ + FLASH->CR2 &= (~(FLASH_CR_SER | FLASH_CR_SNB)); + } + + if(status != HAL_OK) + { + /* In case of error, stop erase procedure and return the faulty sector*/ + *SectorError = index; + break; + } + } + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + + return status; +} + +/** + * @brief Perform a mass erase or erase the specified FLASH memory sectors with interrupt enabled + * @param pEraseInit pointer to an FLASH_EraseInitTypeDef structure that + * contains the configuration information for the erasing. + * + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(&pFlash); + + /* Check the parameters */ + assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase)); + assert_param(IS_VOLTAGERANGE(pEraseInit->VoltageRange)); + assert_param(IS_FLASH_BANK(pEraseInit->Banks)); + + if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* Clear bank 1 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1 | FLASH_FLAG_ALL_ERRORS_BANK1); + + /* Enable End of Operation and Error interrupts for Bank 1 */ + __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1 | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_BANK1 | \ + FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_BANK1); + } + if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* Clear bank 2 pending flags (if any) */ + __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2 | FLASH_FLAG_ALL_ERRORS_BANK2); + + /* Enable End of Operation and Error interrupts for Bank 2 */ + __HAL_FLASH_ENABLE_IT_BANK2(FLASH_IT_EOP_BANK2 | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_BANK2 | \ + FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2 | FLASH_IT_OPERR_BANK2); + } + + if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) + { + /*Mass erase to be done*/ + if(pEraseInit->Banks == FLASH_BANK_1) + { + pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE_BANK1; + } + else if(pEraseInit->Banks == FLASH_BANK_2) + { + pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE_BANK2; + } + else + { + pFlash.ProcedureOnGoing = FLASH_PROC_ALLBANK_MASSERASE; + } + + FLASH_MassErase(pEraseInit->VoltageRange, pEraseInit->Banks); + } + else + { + /* Erase by sector to be done*/ + + /* Check the parameters */ + assert_param(IS_FLASH_BANK_EXCLUSIVE(pEraseInit->Banks)); + assert_param(IS_FLASH_NBSECTORS(pEraseInit->NbSectors + pEraseInit->Sector)); + + if(pEraseInit->Banks == FLASH_BANK_1) + { + pFlash.ProcedureOnGoing = FLASH_PROC_SECTERASE_BANK1; + } + else + { + pFlash.ProcedureOnGoing = FLASH_PROC_SECTERASE_BANK2; + } + + pFlash.NbSectorsToErase = pEraseInit->NbSectors; + pFlash.Sector = pEraseInit->Sector; + pFlash.VoltageForErase = pEraseInit->VoltageRange; + + /*Erase 1st sector and wait for IT*/ + FLASH_Erase_Sector(pEraseInit->Sector, pEraseInit->Banks, pEraseInit->VoltageRange); + } + + return status; +} + +/** + * @brief Program option bytes + * @param pOBInit pointer to an FLASH_OBInitStruct structure that + * contains the configuration information for the programming. + * + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(&pFlash); + + /* Check the parameters */ + assert_param(IS_OPTIONBYTE(pOBInit->OptionType)); + + pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; + + /*Write protection configuration*/ + if((pOBInit->OptionType & OPTIONBYTE_WRP) == OPTIONBYTE_WRP) + { + assert_param(IS_WRPSTATE(pOBInit->WRPState)); + assert_param(IS_FLASH_BANK(pOBInit->Banks)); + + if(pOBInit->WRPState == OB_WRPSTATE_ENABLE) + { + /*Enable of Write protection on the selected Sector*/ + status = FLASH_OB_EnableWRP(pOBInit->WRPSector,pOBInit->Banks); + } + else + { + /*Disable of Write protection on the selected Sector*/ + status = FLASH_OB_DisableWRP(pOBInit->WRPSector, pOBInit->Banks); + } + if(status != HAL_OK) + { + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + return status; + } + } + + /* Read protection configuration */ + if((pOBInit->OptionType & OPTIONBYTE_RDP) != RESET) + { + /* Configure the Read protection level */ + status = FLASH_OB_RDPConfig(pOBInit->RDPLevel); + if(status != HAL_OK) + { + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + return status; + } + } + + /* User Configuration */ + if((pOBInit->OptionType & OPTIONBYTE_USER) != RESET) + { + /* Configure the user option bytes */ + status = FLASH_OB_UserConfig(pOBInit->USERType, pOBInit->USERConfig); + if(status != HAL_OK) + { + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + return status; + } + } + + /* PCROP Configuration */ + if((pOBInit->OptionType & OPTIONBYTE_PCROP) != RESET) + { + assert_param(IS_FLASH_BANK(pOBInit->Banks)); + + /*Configure the Proprietary code readout protection */ + status = FLASH_OB_PCROPConfig(pOBInit->PCROPConfig, pOBInit->PCROPStartAddr, pOBInit->PCROPEndAddr, pOBInit->Banks); + if(status != HAL_OK) + { + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + return status; + } + + } + + /*BOR Level configuration*/ + if((pOBInit->OptionType & OPTIONBYTE_BOR) == OPTIONBYTE_BOR) + { + status = FLASH_OB_BOR_LevelConfig(pOBInit->BORLevel); + if(status != HAL_OK) + { + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + return status; + } + } + + /*Boot Address configuration*/ + if((pOBInit->OptionType & OPTIONBYTE_BOOTADD) == OPTIONBYTE_BOOTADD) + { + status = FLASH_OB_BootAddConfig(pOBInit->BootConfig, pOBInit->BootAddr0, pOBInit->BootAddr1); + if(status != HAL_OK) + { + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + return status; + } + } + /*Bank1 secure area configuration*/ + if((pOBInit->OptionType & OPTIONBYTE_SECURE_AREA) == OPTIONBYTE_SECURE_AREA) + { + status = FLASH_OB_SecureAreaConfig(pOBInit->SecureAreaConfig, pOBInit->SecureAreaStartAddr, pOBInit->SecureAreaEndAddr,pOBInit->Banks); + if(status != HAL_OK) + { + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + return status; + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(&pFlash); + + return status; +} + +/** + * @brief Get the Option byte configuration + * @note The parameter Banks of the pOBInit structure must be exclusively FLASH_BANK_1 or FLASH_BANK_2 + as this parameter is use to get the given Bank WRP, PCROP and secured area. + * @param pOBInit pointer to an FLASH_OBInitStruct structure that + * contains the configuration information for the programming. + * + * @retval None + */ +void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit) +{ + /* Check the parameters */ + assert_param(IS_FLASH_BANK_EXCLUSIVE(pOBInit->Banks)); + pOBInit->OptionType = (OPTIONBYTE_WRP | OPTIONBYTE_RDP | \ + OPTIONBYTE_USER | OPTIONBYTE_PCROP | \ + OPTIONBYTE_BOR | OPTIONBYTE_BOOTADD | \ + OPTIONBYTE_SECURE_AREA); + + /* Get write protection on the selected area */ + FLASH_OB_GetWRP(&(pOBInit->WRPState), &(pOBInit->WRPSector), pOBInit->Banks); + + /* Get Read protection level */ + pOBInit->RDPLevel = FLASH_OB_GetRDP(); + + /* Get the user option bytes */ + pOBInit->USERConfig = FLASH_OB_GetUser(); + + /* Get the Proprietary code readout protection */ + FLASH_OB_GetPCROP(&(pOBInit->PCROPConfig), &(pOBInit->PCROPStartAddr), &(pOBInit->PCROPEndAddr), pOBInit->Banks); + + /*Get BOR Level*/ + pOBInit->BORLevel = FLASH_OB_GetBOR(); + + /*Get Boot Address*/ + FLASH_OB_GetBootAdd(&(pOBInit->BootAddr0), &(pOBInit->BootAddr1)); + /*Get Bank Secure area*/ + FLASH_OB_GetSecureArea(&(pOBInit->SecureAreaConfig), &(pOBInit->SecureAreaStartAddr), &(pOBInit->SecureAreaEndAddr), pOBInit->Banks); +} + +/** + * @brief Unlock the FLASH Bank1 control registers access + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASHEx_Unlock_Bank1(void) +{ + if(READ_BIT(FLASH->CR1, FLASH_CR_LOCK) != RESET) + { + /* Authorize the FLASH A Registers access */ + WRITE_REG(FLASH->KEYR1, FLASH_KEY1); + WRITE_REG(FLASH->KEYR1, FLASH_KEY2); + } + else + { + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief Locks the FLASH Bank1 control registers access + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASHEx_Lock_Bank1(void) +{ + /* Set the LOCK Bit to lock the FLASH A Registers access */ + SET_BIT(FLASH->CR1, FLASH_CR_LOCK); + return HAL_OK; +} + +/** + * @brief Unlock the FLASH Bank2 control registers access + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASHEx_Unlock_Bank2(void) +{ + if(READ_BIT(FLASH->CR2, FLASH_CR_LOCK) != RESET) + { + /* Authorize the FLASH A Registers access */ + WRITE_REG(FLASH->KEYR2, FLASH_KEY1); + WRITE_REG(FLASH->KEYR2, FLASH_KEY2); + } + else + { + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief Locks the FLASH Bank2 control registers access + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_FLASHEx_Lock_Bank2(void) +{ + /* Set the LOCK Bit to lock the FLASH A Registers access */ + SET_BIT(FLASH->CR2, FLASH_CR_LOCK); + return HAL_OK; +} + +/** + * @brief Full erase of FLASH memory sectors + * @param VoltageRange The device program/erase parallelism. + * This parameter can be one of the following values: + * @arg FLASH_VOLTAGE_RANGE_1 : Flash program/erase by 8 bits + * @arg FLASH_VOLTAGE_RANGE_2 : Flash program/erase by 16 bits + * @arg FLASH_VOLTAGE_RANGE_3 : Flash program/erase by 32 bits + * @arg FLASH_VOLTAGE_RANGE_4 : Flash program/erase by 64 bits + * + * @param Banks Banks to be erased + * This parameter can be one of the following values: + * @arg FLASH_BANK_1: Bank1 to be erased + * @arg FLASH_BANK_2: Bank2 to be erased + * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased + * + * @retval HAL Status + */ +static void FLASH_MassErase(uint32_t VoltageRange, uint32_t Banks) +{ + /* Check the parameters */ + assert_param(IS_FLASH_BANK(Banks)); + assert_param(IS_VOLTAGERANGE(VoltageRange)); + + /* Flash Mass Erase */ + if((Banks & FLASH_BANK_BOTH) == FLASH_BANK_BOTH) + { + /* reset Program/erase VoltageRange for Bank1 */ + FLASH->CR1 &= (~FLASH_CR_PSIZE); + /* Bank1 will be erased, and set voltage range*/ + FLASH->CR1 |= FLASH_CR_BER | VoltageRange; + + FLASH->OPTCR |= FLASH_OPTCR_MER; + + } + else + { + /* Proceed to erase Flash Bank */ + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* reset Program/erase VoltageRange for Bank1 */ + FLASH->CR1 &= (~FLASH_CR_PSIZE); + + /* Bank1 will be erased, and set voltage range*/ + FLASH->CR1 |= FLASH_CR_BER | VoltageRange; + FLASH->CR1 |= FLASH_CR_START; + } + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* reset Program/erase VoltageRange for Bank2 */ + FLASH->CR2 &= (~FLASH_CR_PSIZE); + + /* Bank2 will be erased, and set voltage range*/ + FLASH->CR2 |= FLASH_CR_BER | VoltageRange; + FLASH->CR2 |= FLASH_CR_START; + } + } +} + +/** + * @brief Erase the specified FLASH memory sector + * @param Sector FLASH sector to erase + * @param Banks Banks to be erased + * This parameter can be one of the following values: + * @arg FLASH_BANK_1: Bank1 to be erased + * @arg FLASH_BANK_2: Bank2 to be erased + * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased + * @param VoltageRange The device program/erase parallelism. + * This parameter can be one of the following values: + * @arg FLASH_VOLTAGE_RANGE_1 : Flash program/erase by 8 bits + * @arg FLASH_VOLTAGE_RANGE_2 : Flash program/erase by 16 bits + * @arg FLASH_VOLTAGE_RANGE_3 : Flash program/erase by 32 bits + * @arg FLASH_VOLTAGE_RANGE_4 : Flash program/erase by 62 bits + * + * @retval None + */ +void FLASH_Erase_Sector(uint32_t Sector, uint32_t Banks, uint32_t VoltageRange) +{ + assert_param(IS_FLASH_BANK_EXCLUSIVE(Banks)); + assert_param(IS_VOLTAGERANGE(VoltageRange)); + assert_param(IS_FLASH_SECTOR(Sector)); + + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* reset Program/erase VoltageRange for Bank1 */ + FLASH->CR1 &= ~(FLASH_CR_PSIZE | FLASH_CR_SNB); + + FLASH->CR1 |= (FLASH_CR_SER | VoltageRange | (Sector << POSITION_VAL(FLASH_CR_SNB))); + + FLASH->CR1 |= FLASH_CR_START; + } + + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* reset Program/erase VoltageRange for Bank2 */ + FLASH->CR2 &= ~(FLASH_CR_PSIZE | FLASH_CR_SNB); + + FLASH->CR2 |= (FLASH_CR_SER | VoltageRange | (Sector << POSITION_VAL(FLASH_CR_SNB))); + + FLASH->CR2 |= FLASH_CR_START; + } +} + +/** + * @brief Enable the write protection of the desired bank1 or bank 2 sectors + * @param WRPSector specifies the sector(s) to be write protected. + * This parameter can be one of the following values: + * @arg WRPSector: A combination of OB_WRP_SECTOR_0 to OB_WRP_SECTOR_0 or OB_WRP_SECTOR_All + * + * @param Banks the specific bank to apply WRP sectors + * This parameter can be one of the following values: + * @arg FLASH_BANK_1: WRP enable on specified bank1 sectors + * @arg FLASH_BANK_2: WRP enable on specified bank2 sectors + * @arg FLASH_BANK_BOTH: WRP enable bank1 and bank2 specified sectors + * + * @retval HAL FLASH State + */ +static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WRPSector, uint32_t Banks) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_FLASH_BANK(Banks)); + + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + assert_param(IS_OB_WRP_SECTOR(WRPSector)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + + if(status == HAL_OK) + { + FLASH->WPSN_PRG1 &= (~(WRPSector & FLASH_WPSN_WRPSN)); + } + } + + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + assert_param(IS_OB_WRP_SECTOR(WRPSector)); + + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + + if(status == HAL_OK) + { + FLASH->WPSN_PRG2 &= (~(WRPSector & FLASH_WPSN_WRPSN)); + } + } + + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + } + + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + + return status; +} + +/** + * @brief Disable the write protection of the desired bank1 or bank 2 sectors + * @param WRPSector specifies the sector(s) to disable write protection. + * This parameter can be one of the following values: + * @arg WRPSector: A combination of FLASH_OB_WRP_SECTOR_0 to FLASH_OB_WRP_SECTOR_7 or FLASH_OB_WRP_SECTOR_All + * + * @param Banks the specific bank to apply WRP sectors + * This parameter can be one of the following values: + * @arg FLASH_BANK_1: WRP disable on specified bank1 sectors + * @arg FLASH_BANK_2: WRP disable on specified bank2 sectors + * @arg FLASH_BANK_BOTH: WRP disable bank1 and bank2 specified sectors + * + * @retval HAL FLASH State + */ +static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WRPSector, uint32_t Banks) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_FLASH_BANK(Banks)); + assert_param(IS_OB_WRP_SECTOR(WRPSector)); + + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + + if(status == HAL_OK) + { + FLASH->WPSN_PRG1 |= (WRPSector & FLASH_WPSN_WRPSN); + } + } + + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + + if(status == HAL_OK) + { + FLASH->WPSN_PRG2 |= (WRPSector & FLASH_WPSN_WRPSN); + } + } + + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + } + + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + + return status; +} + +/** + * @brief Get the write protection of the given bank1 or bank 2 sectors + * @param WRPState gives the write protection state on the given bank . + * This parameter can be one of the following values: + * @arg WRPState: OB_WRPSTATE_DISABLE or OB_WRPSTATE_ENABLE + + * @param WRPSector gives the write protected sector(s) on the given bank . + * This parameter can be one of the following values: + * @arg WRPSector: A combination of FLASH_OB_WRP_SECTOR_0 to FLASH_OB_WRP_SECTOR_7 or FLASH_OB_WRP_SECTOR_All + * + * @param Bank the specific bank to apply WRP sectors + * This parameter can be exclusively one of the following values: + * @arg FLASH_BANK_1: Get bank1 WRP sectors + * @arg FLASH_BANK_2: Get bank2 WRP sectors + * @arg FLASH_BANK_BOTH: note allowed in this functions + * + * @retval HAL FLASH State + */ +static void FLASH_OB_GetWRP(uint32_t *WRPState, uint32_t *WRPSector, uint32_t Bank) +{ + uint32_t regvalue = 0; + /* Check the parameters */ + assert_param(IS_FLASH_BANK_EXCLUSIVE(Bank)); + + if((Bank & FLASH_BANK_BOTH) == FLASH_BANK_1) + { + regvalue = FLASH->WPSN_CUR1; + } + + if((Bank & FLASH_BANK_BOTH) == FLASH_BANK_2) + { + regvalue = FLASH->WPSN_CUR2; + } + + (*WRPSector) = (~(regvalue & FLASH_WPSN_WRPSN)) & FLASH_WPSN_WRPSN; + if(*WRPSector == 0) + { + (*WRPState) = OB_WRPSTATE_DISABLE; + } + else + { + (*WRPState) = OB_WRPSTATE_ENABLE; + } +} + +/** + * @brief Set the read protection level. + * + * @note To configure the RDP level, the option lock bit OPTLOCK must be + * cleared with the call of the HAL_FLASH_OB_Unlock() function. + * @note To validate the RDP level, the option bytes must be reloaded + * through the call of the HAL_FLASH_OB_Launch() function. + * @note !!! Warning : When enabling OB_RDP level 2 it's no more possible + * to go back to level 1 or 0 !!! + * + * @param RDPLevel specifies the read protection level. + * This parameter can be one of the following values: + * @arg OB_RDP_LEVEL_0: No protection + * @arg OB_RDP_LEVEL_1: Read protection of the memory + * @arg OB_RDP_LEVEL_2: Full chip protection + * + * @retval HAL status + */ +static HAL_StatusTypeDef FLASH_OB_RDPConfig(uint32_t RDPLevel) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_OB_RDP_LEVEL(RDPLevel)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + + if(status == HAL_OK) + { + /* Configure the RDP level in the option bytes register */ + MODIFY_REG(FLASH->OPTSR_PRG, FLASH_OPTSR_RDP, RDPLevel); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + + return status; +} + +/** + * @brief Get the read protection level. + * @retval RDPLevel specifies the read protection level. + * This parameter can be one of the following values: + * @arg OB_RDP_LEVEL_0: No protection + * @arg OB_RDP_LEVEL_1: Read protection of the memory + * @arg OB_RDP_LEVEL_2: Full chip protection + */ +static uint32_t FLASH_OB_GetRDP(void) +{ + return (FLASH->OPTSR_CUR & FLASH_OPTSR_RDP); +} + +/** + * @brief Program the FLASH User Option Byte. + * + * @note To configure the user option bytes, the option lock bit OPTLOCK must + * be cleared with the call of the HAL_FLASH_OB_Unlock() function. + * + * @note To validate the user option bytes, the option bytes must be reloaded + * through the call of the HAL_FLASH_OB_Launch() function. + * + * @param UserType The FLASH User Option Bytes to be modified : + * a combination of @arg FLASH_OB_USER_Type + * + * @param UserConfig The FLASH User Option Bytes values: + * IWDG_SW(Bit4), WWDG_SW(Bit 5), nRST_STOP(Bit 6), nRST_STDY(Bit 7), + * FZ_IWDG_STOP(Bit 17), FZ_IWDG_SDBY(Bit 18), ST_RAM_SIZE(Bit[19:20]), + * ePcROP_EN(Bit 21), SWAP_BANK_OPT(Bit 31) . + * + * @retval HAL status + */ +static HAL_StatusTypeDef FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig) +{ + uint32_t optr_reg_val = 0; + uint32_t optr_reg_mask = 0; + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_OB_USER_TYPE(UserType)); + + /* Wait for OB change operation to be completed */ + status = FLASH_OB_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); + + if(status == HAL_OK) + { + if((UserType & OB_USER_IWDG1_SW) != RESET) + { + /* IWDG_HW option byte should be modified */ + assert_param(IS_OB_IWDG1_SOURCE(UserConfig & FLASH_OPTSR_IWDG1_SW)); + + /* Set value and mask for IWDG_HW option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_IWDG1_SW); + optr_reg_mask |= FLASH_OPTSR_IWDG1_SW; + } + if((UserType & OB_USER_NRST_STOP_D1) != RESET) + { + /* NRST_STOP option byte should be modified */ + assert_param(IS_OB_STOP_D1_RESET(UserConfig & FLASH_OPTSR_NRST_STOP_D1)); + + /* Set value and mask for NRST_STOP option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_NRST_STOP_D1); + optr_reg_mask |= FLASH_OPTSR_NRST_STOP_D1; + } + + if((UserType & OB_USER_NRST_STDBY_D1) != RESET) + { + /* NRST_STDBY option byte should be modified */ + assert_param(IS_OB_STDBY_D1_RESET(UserConfig & FLASH_OPTSR_NRST_STBY_D1)); + + /* Set value and mask for NRST_STDBY option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_NRST_STBY_D1); + optr_reg_mask |= FLASH_OPTSR_NRST_STBY_D1; + } + + if((UserType & OB_USER_IWDG_STOP) != RESET) + { + /* IWDG_STOP option byte should be modified */ + assert_param(IS_OB_USER_IWDG_STOP(UserConfig & FLASH_OPTSR_FZ_IWDG_STOP)); + + /* Set value and mask for IWDG_STOP option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_FZ_IWDG_STOP); + optr_reg_mask |= FLASH_OPTSR_FZ_IWDG_STOP; + } + + if((UserType & OB_USER_IWDG_STDBY) != RESET) + { + /* IWDG_STDBY option byte should be modified */ + assert_param(IS_OB_USER_IWDG_STDBY(UserConfig & FLASH_OPTSR_FZ_IWDG_SDBY)); + + /* Set value and mask for IWDG_STDBY option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_FZ_IWDG_SDBY); + optr_reg_mask |= FLASH_OPTSR_FZ_IWDG_SDBY; + } + + if((UserType & OB_USER_SECURITY) != RESET) + { + /* SECURITY option byte should be modified */ + assert_param(IS_OB_USER_SECURITY(UserConfig & FLASH_OPTSR_SECURITY)); + + /* Set value and mask for ePcROP_EN option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_SECURITY); + optr_reg_mask |= FLASH_OPTSR_SECURITY; + } + if((UserType & OB_USER_SWAP_BANK) != RESET) + { + /* SWAP_BANK_OPT option byte should be modified */ + assert_param(IS_OB_USER_SWAP_BANK(UserConfig & FLASH_OPTSR_SWAP_BANK_OPT)); + + /* Set value and mask for SWAP_BANK_OPT option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_SWAP_BANK_OPT); + optr_reg_mask |= FLASH_OPTSR_SWAP_BANK_OPT; + } + + if((UserType & OB_USER_IOHSLV) != RESET) + { + /* IOHSLV_OPT option byte should be modified */ + assert_param(IS_OB_USER_IOHSLV(UserConfig & FLASH_OPTSR_IO_HSLV)); + + /* Set value and mask for IOHSLV_OPT option byte */ + optr_reg_val |= (UserConfig & FLASH_OPTSR_IO_HSLV); + optr_reg_mask |= FLASH_OPTSR_IO_HSLV; + } + + /* Configure the option bytes register */ + MODIFY_REG(FLASH->OPTSR_PRG, optr_reg_mask, optr_reg_val); + } + + return status; +} +/** + * @brief Return the FLASH User Option Byte value. + * @retval The FLASH User Option Bytes values + * IWDG_SW(Bit4), WWDG_SW(Bit 5), nRST_STOP(Bit 6), nRST_STDY(Bit 7), + * FZ_IWDG_STOP(Bit 17), FZ_IWDG_SDBY(Bit 18), ST_RAM_SIZE(Bit[19:20]), + * ePcROP_EN(Bit 21), SWAP_BANK_OPT(Bit 31) . + */ +static uint32_t FLASH_OB_GetUser(void) +{ + uint32_t userConfig = READ_REG(FLASH->OPTSR_CUR); + userConfig &= (~(FLASH_OPTSR_BOR_LEV | FLASH_OPTSR_RDP)); + + return userConfig; +} + +/** + * @brief Configure the Proprietary code readout protection of the desired addresses + * + * @note To configure the PCROP options, the option lock bit OPTLOCK must be + * cleared with the call of the HAL_FLASH_OB_Unlock() function. + * @note To validate the PCROP options, the option bytes must be reloaded + * through the call of the HAL_FLASH_OB_Launch() function. + * + * @param PCROPConfig specifies if the PCROP area for the given Bank shall be erased or not + * when RDP level decreased from Level 1 to Level 0. + * This parameter must be a value of @arg FLASH_OB_PCROP_RDP enumeration + * + * @param PCROPStartAddr specifies the start address of the Proprietary code readout protection + * This parameter can be an address between begin and end of the bank + * + * @param PCROPEndAddr specifies the end address of the Proprietary code readout protection + * This parameter can be an address between PCROPStartAddr and end of the bank + * + * @param Banks the specific bank to apply PCROP sectors + * This parameter can be one of the following values: + * @arg FLASH_BANK_1: PCROP on specified bank1 area + * @arg FLASH_BANK_2: PCROP on specified bank2 area + * @arg FLASH_BANK_BOTH: PCROP on specified bank1 and bank2 area (same config will be applied on both banks) + * + * @retval HAL Status + */ +static HAL_StatusTypeDef FLASH_OB_PCROPConfig(uint32_t PCROPConfig, uint32_t PCROPStartAddr, uint32_t PCROPEndAddr, uint32_t Banks) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_FLASH_BANK(Banks)); + assert_param(IS_OB_PCROP_RDP(PCROPConfig)); + assert_param(IS_FLASH_PROGRAM_ADDRESS(PCROPStartAddr)); + assert_param(IS_FLASH_PROGRAM_ADDRESS(PCROPEndAddr)); + + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(PCROPStartAddr)); + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(PCROPEndAddr)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE,FLASH_BANK_1); + + if(status == HAL_OK) + { + /* Configure the Proprietary code readout protection */ + FLASH->PRAR_PRG1 = ((PCROPStartAddr - FLASH_BANK1_BASE) >> 8); + + FLASH->PRAR_PRG1 |= (((PCROPEndAddr - FLASH_BANK1_BASE) >> 8) << POSITION_VAL(FLASH_PRAR_PROT_AREA_END)) ; + + FLASH->PRAR_PRG1 |= PCROPConfig; + + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + } + } + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(PCROPStartAddr)); + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(PCROPEndAddr)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE,FLASH_BANK_2); + + if(status == HAL_OK) + { + FLASH->PRAR_PRG2 = ((PCROPStartAddr - FLASH_BANK2_BASE) >> 8); + + FLASH->PRAR_PRG2 |= (((PCROPEndAddr - FLASH_BANK2_BASE) >> 8) << POSITION_VAL(FLASH_PRAR_PROT_AREA_END)) ; + + FLASH->PRAR_PRG2 |= PCROPConfig; + + /* Wait for last operation to be completed */ + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + } + + return status; +} + +/** + * @brief Get the Proprietary code readout protection configuration on a given Bank + * + * @param PCROPConfig gives if the PCROP area for the given Bank shall be erased or not + * when RDP level decreased from Level 1 to Level 0 or during a mass erase. + * + * @param PCROPStartAddr gives the start address of the Proprietary code readout protection of the bank + * + * @param PCROPEndAddr gives the end address of the Proprietary code readout protection of the bank + * + * @param Bank the specific bank to apply PCROP sectors + * This parameter can be exclusively one of the following values: + * @arg FLASH_BANK_1: PCROP on specified bank1 area + * @arg FLASH_BANK_2: PCROP on specified bank2 area + * @arg FLASH_BANK_BOTH: is not allowed here + * + * @retval HAL Status + */ +static void FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr,uint32_t *PCROPEndAddr, uint32_t Bank) +{ + uint32_t regvalue = 0; + uint32_t bankBase = 0; + + /* Check the parameters */ + assert_param(IS_FLASH_BANK_EXCLUSIVE(Bank)); + + if((Bank & FLASH_BANK_BOTH) == FLASH_BANK_1) + { + regvalue = FLASH->PRAR_CUR1; + bankBase = FLASH_BANK1_BASE; + } + + if((Bank & FLASH_BANK_BOTH) == FLASH_BANK_2) + { + regvalue = FLASH->PRAR_CUR2; + bankBase = FLASH_BANK2_BASE; + } + + + (*PCROPConfig) = (regvalue & FLASH_PRAR_DMEP); + + (*PCROPStartAddr) = ((regvalue & FLASH_PRAR_PROT_AREA_START) << 8) + bankBase; + (*PCROPEndAddr) = (regvalue & FLASH_PRAR_PROT_AREA_END) >> POSITION_VAL(FLASH_PRAR_PROT_AREA_END) ; + (*PCROPEndAddr) = ((*PCROPEndAddr) << 8) + bankBase; +} + +/** + * @brief Set the BOR Level. + * @param Level specifies the Option Bytes BOR Reset Level. + * This parameter can be one of the following values: + * @arg OB_BOR_LEVEL1: Supply voltage ranges from 1.69V - 1.8V + * @arg OB_BOR_LEVEL2: Supply voltage ranges from 1.94V - 2.1V + * @arg OB_BOR_LEVEL3: Supply voltage ranges from 2.30V - 2.49V + * @retval HAL Status + */ +static HAL_StatusTypeDef FLASH_OB_BOR_LevelConfig(uint8_t Level) +{ + HAL_StatusTypeDef status = HAL_OK; + + assert_param(IS_OB_BOR_LEVEL(Level)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + + if(status == HAL_OK) + { + /* Configure BOR_LEV option byte */ + MODIFY_REG(FLASH->OPTSR_PRG, FLASH_OPTSR_BOR_LEV, Level ); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + + return status; +} + +/** + * @brief Get the BOR Level. + * @retval The Option Bytes BOR Reset Level. + * This parameter can be one of the following values: + * @arg OB_BOR_LEVEL1: Supply voltage ranges from 1.69V - 1.8V + * @arg OB_BOR_LEVEL2: Supply voltage ranges from 1.94V - 2.1V + * @arg OB_BOR_LEVEL3: Supply voltage ranges from 2.30V - 2.49V + */ +static uint32_t FLASH_OB_GetBOR(void) +{ + return (FLASH->OPTSR_CUR & FLASH_OPTSR_BOR_LEV); +} + +/** + * @brief Set Boot address + * @param BootOption Boot address option byte to be programmed, + * This parameter must be a value of @ref FLASHEx_OB_BOOT_OPTION + (OB_BOOT_ADD0, OB_BOOT_ADD1 or OB_BOOT_ADD_BOTH) + * + * @param BootAddress0 Specifies the Boot Address 0 + * @param BootAddress1 Specifies the Boot Address 1 + * @retval HAL Status + */ +static HAL_StatusTypeDef FLASH_OB_BootAddConfig(uint32_t BootOption, uint32_t BootAddress0, uint32_t BootAddress1) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_OB_BOOT_ADD_OPTION(BootOption)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + + if(status == HAL_OK) + { + if((BootOption & OB_BOOT_ADD0) == OB_BOOT_ADD0) + { + /* Check the parameters */ + assert_param(IS_BOOT_ADDRESS(BootAddress0)); + + /* Configure BOOT ADD0 */ + MODIFY_REG(FLASH->BOOT_PRG, FLASH_BOOT_ADD0, (BootAddress0 >> 16)); + } + + if((BootOption & OB_BOOT_ADD1) == OB_BOOT_ADD1) + { + /* Check the parameters */ + assert_param(IS_BOOT_ADDRESS(BootAddress1)); + + /* Configure BOOT ADD1 */ + MODIFY_REG(FLASH->BOOT_PRG, FLASH_BOOT_ADD1, BootAddress1 ); + } + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + + return status; +} + +/** + * @brief Get Boot address + * @param BootAddress0 Specifies the Boot Address 0. + * @param BootAddress1 Specifies the Boot Address 1. + * @retval HAL Status + */ +static void FLASH_OB_GetBootAdd(uint32_t *BootAddress0, uint32_t *BootAddress1) +{ + uint32_t regvalue = 0; + + regvalue = FLASH->BOOT_CUR; + + (*BootAddress0) = (regvalue & FLASH_BOOT_ADD0) << 16; + + (*BootAddress1) = (regvalue & FLASH_BOOT_ADD1); + +} + +/** + * @brief Set secure area configuration + * @param SecureAreaConfig specify if the secure area will be deleted or not during next mass-erase, + * + * @param SecureAreaStartAddr Specifies the secure area start address + * @param SecureAreaEndAddr Specifies the secure area end address + * @param Banks Specifies the Bank + * @retval HAL Status + */ +static HAL_StatusTypeDef FLASH_OB_SecureAreaConfig(uint32_t SecureAreaConfig, uint32_t SecureAreaStartAddr, uint32_t SecureAreaEndAddr, uint32_t Banks) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_FLASH_BANK_EXCLUSIVE(Banks)); + assert_param(IS_OB_SECURE_RDP(SecureAreaConfig)); + + if((Banks & FLASH_BANK_1) == FLASH_BANK_1) + { + /* Check the parameters */ + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(SecureAreaStartAddr)); + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(SecureAreaEndAddr)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + + if(status == HAL_OK) + { + /* Configure the secure area */ + FLASH->SCAR_PRG1 = ((SecureAreaStartAddr - FLASH_BANK1_BASE) >> 8); + + FLASH->SCAR_PRG1 |= (((SecureAreaEndAddr - FLASH_BANK1_BASE) >> 8) << POSITION_VAL(FLASH_SCAR_SEC_AREA_END)) ; + + FLASH->SCAR_PRG1 |= (SecureAreaConfig & FLASH_SCAR_DMES); + + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1); + + } + } + if((Banks & FLASH_BANK_2) == FLASH_BANK_2) + { + /* Check the parameters */ + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(SecureAreaStartAddr)); + assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(SecureAreaEndAddr)); + + /* Wait for last operation to be completed */ + status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + + if(status == HAL_OK) + { + /* Configure the secure area */ + FLASH->SCAR_PRG2 = ((SecureAreaStartAddr - FLASH_BANK2_BASE) >> 8); + + FLASH->SCAR_PRG2 |= (((SecureAreaEndAddr - FLASH_BANK2_BASE) >> 8) << POSITION_VAL(FLASH_SCAR_SEC_AREA_END)) ; + + FLASH->SCAR_PRG2 |= (SecureAreaConfig & FLASH_SCAR_DMES); + + status |= FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2); + } + } + + return status; +} + +/** + * @brief Set secure area configuration + * @param SecureAreaConfig specify if the secure area will be deleted or not during next mass-erase, + * + * @param SecureAreaStartAddr Specifies the secure area start address + * @param SecureAreaEndAddr Specifies the secure area end address + * @param Bank Specifies the Bank + * @retval HAL Status + */ +static void FLASH_OB_GetSecureArea(uint32_t *SecureAreaConfig, uint32_t *SecureAreaStartAddr, uint32_t *SecureAreaEndAddr, uint32_t Bank) +{ + uint32_t regvalue = 0; + uint32_t bankBase = 0; + + /* Check the parameters */ + assert_param(IS_FLASH_BANK_EXCLUSIVE(Bank)); + + if((Bank & FLASH_BANK_BOTH) == FLASH_BANK_1) + { + regvalue = FLASH->SCAR_CUR1; + bankBase = FLASH_BANK1_BASE; + } + + if((Bank & FLASH_BANK_BOTH) == FLASH_BANK_2) + { + regvalue = FLASH->SCAR_CUR2; + bankBase = FLASH_BANK2_BASE; + } + + (*SecureAreaConfig) = (regvalue & FLASH_SCAR_DMES); + (*SecureAreaStartAddr) = ((regvalue & FLASH_SCAR_SEC_AREA_START) << 8) + bankBase; + (*SecureAreaEndAddr) = (regvalue & FLASH_SCAR_SEC_AREA_END) >> POSITION_VAL(FLASH_SCAR_SEC_AREA_END) ; + (*SecureAreaEndAddr) = ((*SecureAreaEndAddr) << 8) + bankBase; + +} +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_FLASH_MODULE_ENABLED */ +/** + * @} + */ +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c new file mode 100644 index 0000000000..cfd2bb27d2 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c @@ -0,0 +1,549 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_gpio.c + * @author MCD Application Team + * @brief GPIO HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the General Purpose Input/Output (GPIO) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + @verbatim + ============================================================================== + ##### GPIO Peripheral features ##### + ============================================================================== + [..] + Subject to the specific hardware characteristics of each I/O port listed in the datasheet, each + port bit of the General Purpose IO (GPIO) Ports, can be individually configured by software + in several modes: + (+) Input mode + (+) Analog mode + (+) Output mode + (+) Alternate function mode + (+) External interrupt/event lines + + [..] + During and just after reset, the alternate functions and external interrupt + lines are not active and the I/O ports are configured in input floating mode. + + [..] + All GPIO pins have weak internal pull-up and pull-down resistors, which can be + activated or not. + + [..] + In Output or Alternate mode, each IO can be configured on open-drain or push-pull + type and the IO speed can be selected depending on the VDD value. + + [..] + All ports have external interrupt/event capability. To use external interrupt + lines, the port must be configured in input mode. All available GPIO pins are + connected to the 16 external interrupt/event lines from EXTI0 to EXTI15. + + [..] + The external interrupt/event controller consists of up to 23 edge detectors + (16 lines are connected to GPIO) for generating event/interrupt requests (each + input line can be independently configured to select the type (interrupt or event) + and the corresponding trigger event (rising or falling or both). Each line can + also be masked independently. + + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Enable the GPIO AHB clock using the following function: __HAL_RCC_GPIOx_CLK_ENABLE(). + + (#) Configure the GPIO pin(s) using HAL_GPIO_Init(). + (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure + (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef + structure. + (++) In case of Output or alternate function mode selection: the speed is + configured through "Speed" member from GPIO_InitTypeDef structure. + (++) In alternate mode is selection, the alternate function connected to the IO + is configured through "Alternate" member from GPIO_InitTypeDef structure. + (++) Analog mode is required when a pin is to be used as ADC channel + or DAC output. + (++) In case of external interrupt/event selection the "Mode" member from + GPIO_InitTypeDef structure select the type (interrupt or event) and + the corresponding trigger event (rising or falling or both). + + (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority + mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using + HAL_NVIC_EnableIRQ(). + + (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin(). + + (#) To set/reset the level of a pin configured in output mode use + HAL_GPIO_WritePin()/HAL_GPIO_TogglePin(). + + (#) To lock pin configuration until next reset use HAL_GPIO_LockPin(). + + + (#) During and just after reset, the alternate functions are not + active and the GPIO pins are configured in input floating mode (except JTAG + pins). + + (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose + (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has + priority over the GPIO function. + + (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as + general purpose PH0 and PH1, respectively, when the HSE oscillator is off. + The HSE has priority over the GPIO function. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup GPIO GPIO + * @brief GPIO HAL module driver + * @{ + */ + +#ifdef HAL_GPIO_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private defines ------------------------------------------------------------*/ +/** @addtogroup GPIO_Private_Constants GPIO Private Constants + * @{ + */ +#define GPIO_MODE ((uint32_t)0x00000003) +#define ANALOG_MODE ((uint32_t)0x00000008) +#define EXTI_MODE ((uint32_t)0x10000000) +#define GPIO_MODE_IT ((uint32_t)0x00010000) +#define GPIO_MODE_EVT ((uint32_t)0x00020000) +#define RISING_EDGE ((uint32_t)0x00100000) +#define FALLING_EDGE ((uint32_t)0x00200000) +#define GPIO_OUTPUT_TYPE ((uint32_t)0x00000010) + +#define GPIO_NUMBER ((uint32_t)16) +/** + * @} + */ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup GPIO_Exported_Functions GPIO Exported Functions + * @{ + */ + +/** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] + This section provides functions allowing to initialize and de-initialize the GPIOs + to be ready for use. + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init. + * @param GPIOx: where x can be (A..K) to select the GPIO peripheral. + * @param GPIO_Init: pointer to a GPIO_InitTypeDef structure that contains + * the configuration information for the specified GPIO peripheral. + * @retval None + */ +void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) +{ + uint32_t position = 0x00; + uint32_t ioposition = 0x00; + uint32_t iocurrent = 0x00; + uint32_t temp = 0x00; + EXTI_Core_TypeDef * EXTI_Ptr = EXTI_D1; + + + /* Check the parameters */ + assert_param(IS_GPIO_ALL_INSTANCE(GPIOx)); + assert_param(IS_GPIO_PIN(GPIO_Init->Pin)); + assert_param(IS_GPIO_MODE(GPIO_Init->Mode)); + assert_param(IS_GPIO_PULL(GPIO_Init->Pull)); + + /* Configure the port pins */ + for(position = 0; position < GPIO_NUMBER; position++) + { + /* Get the IO position */ + ioposition = ((uint32_t)0x01) << position; + /* Get the current IO position */ + iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; + + if(iocurrent == ioposition) + { + /*--------------------- GPIO Mode Configuration ------------------------*/ + /* In case of Alternate function mode selection */ + if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) + { + /* Check the Alternate function parameter */ + assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); + + /* Configure Alternate function mapped with the current IO */ + temp = GPIOx->AFR[position >> 3]; + temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; + temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4)); + GPIOx->AFR[position >> 3] = temp; + } + + /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ + temp = GPIOx->MODER; + temp &= ~(GPIO_MODER_MODER0 << (position * 2)); + temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2)); + GPIOx->MODER = temp; + + /* In case of Output or Alternate function mode selection */ + if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) || + (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) + { + /* Check the Speed parameter */ + assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); + /* Configure the IO Speed */ + temp = GPIOx->OSPEEDR; + temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); + temp |= (GPIO_Init->Speed << (position * 2)); + GPIOx->OSPEEDR = temp; + + /* Configure the IO Output Type */ + temp = GPIOx->OTYPER; + temp &= ~(GPIO_OTYPER_OT_0 << position) ; + temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4) << position); + GPIOx->OTYPER = temp; + } + + /* Activate the Pull-up or Pull down resistor for the current IO */ + temp = GPIOx->PUPDR; + temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); + temp |= ((GPIO_Init->Pull) << (position * 2)); + GPIOx->PUPDR = temp; + + /*--------------------- EXTI Mode Configuration ------------------------*/ + /* Configure the External Interrupt or event for the current IO */ + + if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE) + { + /* Enable SYSCFG Clock */ + __HAL_RCC_SYSCFG_CLK_ENABLE(); + + temp = SYSCFG->EXTICR[position >> 2]; + temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03))); + temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03))); + SYSCFG->EXTICR[position >> 2] = temp; + + /* Clear EXTI line configuration */ + temp = EXTI_Ptr->IMR1; + temp &= ~((uint32_t)iocurrent); + if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT) + { + temp |= iocurrent; + } + EXTI_Ptr->IMR1 = temp; + + temp = EXTI_Ptr->EMR1; + temp &= ~((uint32_t)iocurrent); + if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT) + { + temp |= iocurrent; + } + EXTI_Ptr->EMR1 = temp; + + /* Clear Rising Falling edge configuration */ + temp = EXTI->RTSR1; + temp &= ~((uint32_t)iocurrent); + if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE) + { + temp |= iocurrent; + } + EXTI->RTSR1 = temp; + + temp = EXTI->FTSR1; + temp &= ~((uint32_t)iocurrent); + if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE) + { + temp |= iocurrent; + } + EXTI->FTSR1 = temp; + } + } + } +} + +/** + * @brief De-initializes the GPIOx peripheral registers to their default reset values. + * @param GPIOx: where x can be (A..K) to select the GPIO peripheral. + * @param GPIO_Pin: specifies the port bit to be written. + * This parameter can be one of GPIO_PIN_x where x can be (0..15). + * @retval None + */ +void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) +{ + uint32_t position; + uint32_t ioposition = 0x00; + uint32_t iocurrent = 0x00; + uint32_t tmp = 0x00; + + /* Check the parameters */ + assert_param(IS_GPIO_ALL_INSTANCE(GPIOx)); + + /* Configure the port pins */ + for(position = 0; position < GPIO_NUMBER; position++) + { + /* Get the IO position */ + ioposition = ((uint32_t)0x01) << position; + /* Get the current IO position */ + iocurrent = (GPIO_Pin) & ioposition; + + if(iocurrent == ioposition) + { + /*------------------------- GPIO Mode Configuration --------------------*/ + /* Configure IO in Analog Mode */ + GPIOx->MODER |= (GPIO_MODER_MODER0 << (position * 2)); + + /* Configure the default Alternate Function in current IO */ + GPIOx->AFR[position >> 3] &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; + + /* Configure the default value for IO Speed */ + GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); + + /* Configure the default value IO Output Type */ + GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ; + + /* Deactivate the Pull-up and Pull-down resistor for the current IO */ + GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); + + /*------------------------- EXTI Mode Configuration --------------------*/ + tmp = SYSCFG->EXTICR[position >> 2]; + tmp &= (((uint32_t)0x0F) << (4 * (position & 0x03))); + if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)))) + { + /* Configure the External Interrupt or event for the current IO */ + tmp = ((uint32_t)0x0F) << (4 * (position & 0x03)); + SYSCFG->EXTICR[position >> 2] &= ~tmp; + + /* Clear EXTI line configuration */ + EXTI_D1->IMR1 &= ~((uint32_t)iocurrent); + EXTI_D1->EMR1 &= ~((uint32_t)iocurrent); + + + /* Clear Rising Falling edge configuration */ + EXTI->RTSR1 &= ~((uint32_t)iocurrent); + EXTI->FTSR1 &= ~((uint32_t)iocurrent); + } + } + } +} + +/** + * @} + */ + +/** @defgroup GPIO_Exported_Functions_Group2 IO operation functions + * @brief GPIO Read, Write, Toggle, Lock and EXTI management functions. + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + +@endverbatim + * @{ + */ + +/** + * @brief Reads the specified input port pin. + * @param GPIOx: where x can be (A..K) to select the GPIO peripheral. + * @param GPIO_Pin: specifies the port bit to read. + * This parameter can be GPIO_PIN_x where x can be (0..15). + * @retval The input port pin value. + */ +GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) +{ + GPIO_PinState bitstatus; + + /* Check the parameters */ + assert_param(IS_GPIO_PIN(GPIO_Pin)); + + if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET) + { + bitstatus = GPIO_PIN_SET; + } + else + { + bitstatus = GPIO_PIN_RESET; + } + return bitstatus; +} + +/** + * @brief Sets or clears the selected data port bit. + * + * @note This function uses GPIOx_BSRR register to allow atomic read/modify + * accesses. In this way, there is no risk of an IRQ occurring between + * the read and the modify access. + * + * @param GPIOx: where x can be (A..K) to select the GPIO peripheral. + * @param GPIO_Pin: specifies the port bit to be written. + * This parameter can be one of GPIO_PIN_x where x can be (0..15). + * @param PinState: specifies the value to be written to the selected bit. + * This parameter can be one of the GPIO_PinState enum values: + * @arg GPIO_PIN_RESET: to clear the port pin + * @arg GPIO_PIN_SET: to set the port pin + * @retval None + */ +void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) +{ + /* Check the parameters */ + assert_param(IS_GPIO_PIN(GPIO_Pin)); + assert_param(IS_GPIO_PIN_ACTION(PinState)); + + if(PinState != GPIO_PIN_RESET) + { + GPIOx->BSRRL = GPIO_Pin; + } + else + { + GPIOx->BSRRH = GPIO_Pin ; + } +} + +/** + * @brief Toggles the specified GPIO pins. + * @param GPIOx: Where x can be (A..K) to select the GPIO peripheral. + * @param GPIO_Pin: Specifies the pins to be toggled. + * @retval None + */ +void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) +{ + /* Check the parameters */ + assert_param(IS_GPIO_PIN(GPIO_Pin)); + + GPIOx->ODR ^= GPIO_Pin; +} + +/** + * @brief Locks GPIO Pins configuration registers. + * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, + * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH. + * @note The configuration of the locked GPIO pins can no longer be modified + * until the next reset. + * @param GPIOx: where x can be (A..K) to select the GPIO peripheral for STM32H7 family + * @param GPIO_Pin: specifies the port bit to be locked. + * This parameter can be any combination of GPIO_PIN_x where x can be (0..15). + * @retval None + */ +HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) +{ + __IO uint32_t tmp = GPIO_LCKR_LCKK; + + /* Check the parameters */ + assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx)); + assert_param(IS_GPIO_PIN(GPIO_Pin)); + + /* Apply lock key write sequence */ + tmp |= GPIO_Pin; + /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */ + GPIOx->LCKR = tmp; + /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */ + GPIOx->LCKR = GPIO_Pin; + /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */ + GPIOx->LCKR = tmp; + /* Read LCKK bit*/ + tmp = GPIOx->LCKR; + + if((GPIOx->LCKR & GPIO_LCKR_LCKK) != RESET) + { + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Handle EXTI interrupt request. + * @param GPIO_Pin: Specifies the port pin connected to corresponding EXTI line. + * @retval None + */ +void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) +{ + /* EXTI line interrupt detected */ + if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) + { + __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); + HAL_GPIO_EXTI_Callback(GPIO_Pin); + } + + +} + +/** + * @brief EXTI line detection callback. + * @param GPIO_Pin: Specifies the port pin connected to corresponding EXTI line. + * @retval None + */ +__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(GPIO_Pin); + + /* NOTE: This function Should not be modified, when the callback is needed, + the HAL_GPIO_EXTI_Callback could be implemented in the user file + */ +} + +/** + * @} + */ + + +/** + * @} + */ + +#endif /* HAL_GPIO_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash.c new file mode 100644 index 0000000000..cf7102152e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash.c @@ -0,0 +1,2661 @@ +/** + ****************************************************************************** + * @file stm32H7xx_hal_hash.c + * @author MCD Application Team + * @brief HASH HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the HASH peripheral: + * + Initialization and de-initialization methods + * + HASH or HMAC processing in polling mode + * + HASH or HMAC processing in interrupt mode + * + HASH or HMAC processing in DMA mode + * + Peripheral State methods + * + HASH or HMAC processing suspension/resumption + * + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The HASH HAL driver can be used as follows: + + (#)Initialize the HASH low level resources by implementing the HAL_HASH_MspInit(): + (##) Enable the HASH interface clock using __HASH_CLK_ENABLE() + (##) When resorting to interrupt-based APIs (e.g. HAL_HASH_xxx_Start_IT()) + (+++) Configure the HASH interrupt priority using HAL_NVIC_SetPriority() + (+++) Enable the HASH IRQ handler using HAL_NVIC_EnableIRQ() + (+++) In HASH IRQ handler, call HAL_HASH_IRQHandler() API + (##) When resorting to DMA-based APIs (e.g. HAL_HASH_xxx_Start_DMA()) + (+++) Enable the DMAx interface clock using + __DMAx_CLK_ENABLE() + (+++) Configure and enable one DMA stream to manage data transfer from + memory to peripheral (input stream). Managing data transfer from + peripheral to memory can be performed only using CPU. + (+++) Associate the initialized DMA handle to the HASH DMA handle + using __HAL_LINKDMA() + (+++) Configure the priority and enable the NVIC for the transfer complete + interrupt on the DMA Stream: use + HAL_NVIC_SetPriority() and + HAL_NVIC_EnableIRQ() + + (#)Initialize the HASH HAL using HAL_HASH_Init(). This function: + (##) resorts to HAL_HASH_MspInit() for low-level initialization, + (##) configures the data type: 1-bit, 8-bit, 16-bit or 32-bit. + + (#)Three processing schemes are available: + (##) Polling mode: processing APIs are blocking functions + i.e. they process the data and wait till the digest computation is finished, + e.g. HAL_HASH_xxx_Start() for HASH or HAL_HMAC_xxx_Start() for HMAC + (##) Interrupt mode: processing APIs are not blocking functions + i.e. they process the data under interrupt, + e.g. HAL_HASH_xxx_Start_IT() for HASH or HAL_HMAC_xxx_Start_IT() for HMAC + (##) DMA mode: processing APIs are not blocking functions and the CPU is + not used for data transfer i.e. the data transfer is ensured by DMA, + e.g. HAL_HASH_xxx_Start_DMA() for HASH or HAL_HMAC_xxx_Start_DMA() + for HMAC. Note that in DMA mode, a call to HAL_HASH_xxx_Finish() + is then required to retrieve the digest. + + (#)When the processing function is called after HAL_HASH_Init(), the HASH peripheral is + initialized and processes the buffer fed in input. When the input data have all been + fed to the IP, the digest computation can start. + + (#)Multi-buffer processing is possible in polling and DMA mode. + (##) In polling mode, only multi-buffer HASH processing is possible. + API HAL_HASH_xxx_Accumulate() must be called for each input buffer, except for the last one. + User must resort to HAL_HASH_xxx_Start() to enter the last one and retrieve as + well the computed digest. + + (##) In DMA mode, multi-buffer HASH and HMAC processing are possible. + + (+++) HASH processing: once initialization is done, MDMAT bit must be set thru __HAL_HASH_SET_MDMAT() macro. + From that point, each buffer can be fed to the IP thru HAL_HASH_xxx_Start_DMA() API. + Before entering the last buffer, reset the MDMAT bit with __HAL_HASH_RESET_MDMAT() + macro then wrap-up the HASH processing in feeding the last input buffer thru the + same API HAL_HASH_xxx_Start_DMA(). The digest can then be retrieved with a call to + API HAL_HASH_xxx_Finish(). + + (+++) HMAC processing (requires to resort to extended functions): + after initialization, the key and the first input buffer are entered + in the IP with the API HAL_HMACEx_xxx_Step1_2_DMA(). This carries out HMAC step 1 and + starts step 2. + The following buffers are next entered with the API HAL_HMACEx_xxx_Step2_DMA(). At this + point, the HMAC processing is still carrying out step 2. + Then, step 2 for the last input buffer and step 3 are carried out by a single call + to HAL_HMACEx_xxx_Step2_3_DMA(). + + The digest can finally be retrieved with a call to API HAL_HASH_xxx_Finish(). + + + (#)Context swapping. + (##) Two APIs are available to suspend HASH or HMAC processing: + (+++) HAL_HASH_SwFeed_ProcessSuspend() when data are entered by software (polling or IT mode), + (+++) HAL_HASH_DMAFeed_ProcessSuspend() when data are entered by DMA. + + (##) When HASH or HMAC processing is suspended, HAL_HASH_ContextSaving() allows + to save in memory the IP context. This context can be restored afterwards + to resume the HASH processing thanks to HAL_HASH_ContextRestoring(). + + (##) Once the HASH IP has been restored to the same configuration as that at suspension + time, processing can be restarted with the same API call (same API, same handle, + same parameters) as done before the suspension. Relevant parameters to restart at + the proper location are internally saved in the HASH handle. + + (#)Call HAL_HASH_DeInit() to deinitialize the HASH peripheral. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#if defined (HASH) + +/** @defgroup HASH HASH + * @brief HASH HAL module driver. + * @{ + */ + +#ifdef HAL_HASH_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup HASH_Private_Constants HASH Private Constants + * @{ + */ + +/** @defgroup HASH_Digest_Calculation_Status HASH Digest Calculation Status + * @{ + */ +#define HASH_DIGEST_CALCULATION_NOT_STARTED ((uint32_t)0x00000000) /*!< DCAL not set after input data written in DIN register */ +#define HASH_DIGEST_CALCULATION_STARTED ((uint32_t)0x00000001) /*!< DCAL set after input data written in DIN register */ +/** + * @} + */ + +/** @defgroup HASH_Number_Of_CSR_Registers HASH Number of Context Swap Registers + * @{ + */ +#define HASH_NUMBER_OF_CSR_REGISTERS 54 /*!< Number of Context Swap Registers */ +/** + * @} + */ + +/** @defgroup HASH_TimeOut_Value HASH TimeOut Value + * @{ + */ +#define HASH_TIMEOUTVALUE 1000 /*!< Time-out value */ +/** + * @} + */ + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup HASH_Private_Functions HASH Private Functions + * @{ + */ +static void HASH_DMAXferCplt(DMA_HandleTypeDef *hdma); +static void HASH_DMAError(DMA_HandleTypeDef *hdma); +static void HASH_GetDigest(uint8_t *pMsgDigest, uint8_t Size); +static HAL_StatusTypeDef HASH_WaitOnFlagUntilTimeout(HASH_HandleTypeDef *hhash, uint32_t Flag, FlagStatus Status, uint32_t Timeout); +static HAL_StatusTypeDef HASH_WriteData(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size); +static HAL_StatusTypeDef HASH_IT(HASH_HandleTypeDef *hhash); +static uint32_t HASH_Write_Block_Data(HASH_HandleTypeDef *hhash); +static HAL_StatusTypeDef HMAC_Processing(HASH_HandleTypeDef *hhash, uint32_t Timeout); +/** + * @} + */ + +/** @defgroup HASH_Exported_Functions HASH Exported Functions + * @{ + */ + +/** @defgroup HASH_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief HASH Initialization, configuration and call-back functions. + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the HASH according to the specified parameters + in the HASH_InitTypeDef and create the associated handle + (+) DeInitialize the HASH peripheral + (+) Initialize the HASH MCU Specific Package (MSP) + (+) DeInitialize the HASH MSP + + [..] This section provides as well call back functions definitions for user + code to manage: + (+) Input data transfer to IP completion + (+) Calculated digest retrieval completion + (+) Error management + + + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the HASH according to the specified parameters in the + HASH_HandleTypeDef and create the associated handle. + * @note Only MDMAT and DATATYPE bits of HASH IP are set by HAL_HASH_Init(), + * other configuration bits are set by HASH or HMAC processing APIs. + * @note MDMAT bit is systematically reset by HAL_HASH_Init(). To set it for + * multi-buffer HASH processing, user needs to resort to + * __HAL_HASH_SET_MDMAT() macro. For HMAC multi-buffer processing, the + * relevant APIs manage themselves the MDMAT bit. + * @param hhash: HASH handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_Init(HASH_HandleTypeDef *hhash) +{ + /* Check the hash handle allocation */ + if(hhash == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_HASH_DATATYPE(hhash->Init.DataType)); + + if(hhash->State == HAL_HASH_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hhash->Lock = HAL_UNLOCKED; + + /* Init the low level hardware */ + HAL_HASH_MspInit(hhash); + } + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Reset HashInCount, HashITCounter and HashBuffSize */ + hhash->HashInCount = 0; + hhash->HashBuffSize = 0; + hhash->HashITCounter = 0; + /* Reset digest calculation bridle (MDMAT bit control) */ + hhash->DigestCalculationDisable = RESET; + /* Set phase to READY */ + hhash->Phase = HAL_HASH_PHASE_READY; + + /* Set the data type and reset MDMAT bit */ + MODIFY_REG(HASH->CR, HASH_CR_DATATYPE|HASH_CR_MDMAT, hhash->Init.DataType); + + /* Reset HASH handle status */ + hhash->Status = HAL_OK; + + /* Set the HASH state to Ready */ + hhash->State = HAL_HASH_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief DeInitialize the HASH peripheral. + * @param hhash: HASH handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_DeInit(HASH_HandleTypeDef *hhash) +{ + /* Check the HASH handle allocation */ + if(hhash == NULL) + { + return HAL_ERROR; + } + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Set the default HASH phase */ + hhash->Phase = HAL_HASH_PHASE_READY; + + /* Reset HashInCount, HashITCounter and HashBuffSize */ + hhash->HashInCount = 0; + hhash->HashBuffSize = 0; + hhash->HashITCounter = 0; + /* Reset digest calculation bridle (MDMAT bit control) */ + hhash->DigestCalculationDisable = RESET; + + /* DeInit the low level hardware: CLOCK, NVIC.*/ + HAL_HASH_MspDeInit(hhash); + + /* Reset HASH handle status */ + hhash->Status = HAL_OK; + + /* Set the HASH state to Ready */ + hhash->State = HAL_HASH_STATE_RESET; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initialize the HASH MSP. + * @param hhash: HASH handle. + * @retval None + */ +__weak void HAL_HASH_MspInit(HASH_HandleTypeDef *hhash) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhash); + + /* NOTE : This function should not be modified; when the callback is needed, + HAL_HASH_MspInit() can be implemented in the user file. + */ +} + +/** + * @brief DeInitialize the HASH MSP. + * @param hhash: HASH handle. + * @retval None + */ +__weak void HAL_HASH_MspDeInit(HASH_HandleTypeDef *hhash) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhash); + + /* NOTE : This function should not be modified; when the callback is needed, + HAL_HASH_MspDeInit() can be implemented in the user file. + */ +} + +/** + * @brief Input data transfer complete call back. + * @note HAL_HASH_InCpltCallback() is called when the complete input message + * has been fed to the IP. This API is invoked only when input data are + * entered under interruption or thru DMA. + * @note In case of HASH or HMAC multi-buffer DMA feeding case (MDMAT bit set), + * HAL_HASH_InCpltCallback() is called at the end of each buffer feeding + * to the IP. + * @param hhash: HASH handle. + * @retval None + */ +__weak void HAL_HASH_InCpltCallback(HASH_HandleTypeDef *hhash) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhash); + + /* NOTE : This function should not be modified; when the callback is needed, + HAL_HASH_InCpltCallback() can be implemented in the user file. + */ +} + +/** + * @brief Digest computation complete call back. + * @note HAL_HASH_DgstCpltCallback() is used under interruption, is not + * relevant with DMA. + * @param hhash: HASH handle. + * @retval None + */ +__weak void HAL_HASH_DgstCpltCallback(HASH_HandleTypeDef *hhash) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhash); + + /* NOTE : This function should not be modified; when the callback is needed, + HAL_HASH_DgstCpltCallback() can be implemented in the user file. + */ +} + +/** + * @brief Error callback. + * @note Code user can resort to hhash->Status (HAL_ERROR, HAL_TIMEOUT,...) + * to retrieve the error type. + * @param hhash: HASH handle. + * @retval None + */ +__weak void HAL_HASH_ErrorCallback(HASH_HandleTypeDef *hhash) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhash); + + /* NOTE : This function should not be modified; when the callback is needed, + HAL_HASH_ErrorCallback() can be implemented in the user file. + */ +} + + +/** + * @} + */ + +/** @defgroup HASH_Exported_Functions_Group2 HASH processing functions in polling mode + * @brief HASH processing functions using polling mode. + * +@verbatim + =============================================================================== + ##### Polling mode HASH processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in polling mode + the hash value using one of the following algorithms: + (+) MD5 + (++) HAL_HASH_MD5_Start() + (++) HAL_HASH_MD5_Accumulate() + (+) SHA1 + (++) HAL_HASH_SHA1_Start() + (++) HAL_HASH_SHA1_Accumulate() + + [..] For a single buffer to be hashed, user can resort to HAL_HASH_xxx_Start(). + + [..] In case of multi-buffer HASH processing (a single digest is computed while + several buffers are fed to the IP), the user can resort to successive calls + to HAL_HASH_xxx_Accumulate() and wrap-up the digest computation by a call + to HAL_HASH_xxx_Start(). + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the HASH peripheral in MD5 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 16 bytes. + * @param Timeout: Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_MD5_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_MD5); +} + +/** + * @brief If not already done, initialize the HASH peripheral in MD5 mode then + * processes pInBuffer. + * @note Consecutive calls to HAL_HASH_MD5_Accumulate() can be used to feed + * several input buffers back-to-back to the IP that will yield a single + * HASH signature once all buffers have been entered. Wrap-up of input + * buffers feeding and retrieval of digest is done by a call to + * HAL_HASH_MD5_Start(). + * @note Field hhash->Phase of HASH handle is tested to check whether or not + * the IP has already been initialized. + * @note Digest is not retrieved by this API, user must resort to HAL_HASH_MD5_Start() + * to read it, feeding at the same time the last input buffer to the IP. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. Only HAL_HASH_MD5_Start() is able + * to manage the ending buffer with a length in bytes not a multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes, must be a multiple of 4. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_MD5_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Accumulate(hhash, pInBuffer, Size,HASH_ALGOSELECTION_MD5); +} + +/** + * @brief Initialize the HASH peripheral in SHA1 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 20 bytes. + * @param Timeout: Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_SHA1_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA1); +} + +/** + * @brief If not already done, initialize the HASH peripheral in SHA1 mode then + * processes pInBuffer. + * @note Consecutive calls to HAL_HASH_SHA1_Accumulate() can be used to feed + * several input buffers back-to-back to the IP that will yield a single + * HASH signature once all buffers have been entered. Wrap-up of input + * buffers feeding and retrieval of digest is done by a call to + * HAL_HASH_SHA1_Start(). + * @note Field hhash->Phase of HASH handle is tested to check whether or not + * the IP has already been initialized. + * @note Digest is not retrieved by this API, user must resort to HAL_HASH_SHA1_Start() + * to read it, feeding at the same time the last input buffer to the IP. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. Only HAL_HASH_SHA1_Start() is able + * to manage the ending buffer with a length in bytes not a multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes, must be a multiple of 4. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_SHA1_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Accumulate(hhash, pInBuffer, Size,HASH_ALGOSELECTION_SHA1); +} + + +/** + * @} + */ + +/** @defgroup HASH_Exported_Functions_Group3 HASH processing functions in interrupt mode + * @brief HASH processing functions using interrupt mode. + * +@verbatim + =============================================================================== + ##### Interruption mode HASH processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in interrupt mode + the hash value using one of the following algorithms: + (+) MD5 + (++) HAL_HASH_MD5_Start_IT() + (+) SHA1 + (++) HAL_HASH_SHA1_Start_IT() + + [..] API HAL_HASH_IRQHandler() manages each HASH interruption. + + [..] Note that HAL_HASH_IRQHandler() manages as well HASH IP interruptions when in + HMAC processing mode. + + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the HASH peripheral in MD5 mode, next process pInBuffer then + * read the computed digest in interruption mode. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 16 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_MD5_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HASH_Start_IT(hhash, pInBuffer, Size, pOutBuffer,HASH_ALGOSELECTION_MD5); +} + + +/** + * @brief Initialize the HASH peripheral in SHA1 mode, next process pInBuffer then + * read the computed digest in interruption mode. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 20 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_SHA1_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HASH_Start_IT(hhash, pInBuffer, Size, pOutBuffer,HASH_ALGOSELECTION_SHA1); +} + +/** + * @brief Handle HASH interrupt request. + * @param hhash: HASH handle. + * @note HAL_HASH_IRQHandler() handles interrupts in HMAC processing as well. + * @note In case of error reported during the HASH interruption processing, + * HAL_HASH_ErrorCallback() API is called so that user code can + * manage the error. The error type is available in hhash->Status field. + * @retval None + */ +void HAL_HASH_IRQHandler(HASH_HandleTypeDef *hhash) +{ + hhash->Status = HASH_IT(hhash); + if (hhash->Status != HAL_OK) + { + HAL_HASH_ErrorCallback(hhash); + /* After error handling by code user, reset HASH handle HAL status */ + hhash->Status = HAL_OK; + } +} + +/** + * @} + */ + +/** @defgroup HASH_Exported_Functions_Group4 HASH processing functions in DMA mode + * @brief HASH processing functions using DMA mode. + * +@verbatim + =============================================================================== + ##### DMA mode HASH processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in DMA mode + the hash value using one of the following algorithms: + (+) MD5 + (++) HAL_HASH_MD5_Start_DMA() + (++) HAL_HASH_MD5_Finish() + (+) SHA1 + (++) HAL_HASH_SHA1_Start_DMA() + (++) HAL_HASH_SHA1_Finish() + + [..] When resorting to DMA mode to enter the data in the IP, user must resort + to HAL_HASH_xxx_Start_DMA() then read the resulting digest with + HAL_HASH_xxx_Finish(). + + [..] In case of multi-buffer HASH processing, MDMAT bit must first be set before + the successive calls to HAL_HASH_xxx_Start_DMA(). Then, MDMAT bit needs to be + reset before the last call to HAL_HASH_xxx_Start_DMA(). Digest is finally + retrieved thanks to HAL_HASH_xxx_Finish(). + + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the HASH peripheral in MD5 mode then initiate a DMA transfer + * to feed the input buffer to the IP. + * @note Once the DMA transfer is finished, HAL_HASH_MD5_Finish() API must + * be called to retrieve the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_MD5_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_MD5); +} + +/** + * @brief Return the computed digest in MD5 mode. + * @note The API waits for DCIS to be set then reads the computed digest. + * @note HAL_HASH_MD5_Finish() can be used as well to retrieve the digest in + * HMAC MD5 mode. + * @param hhash: HASH handle. + * @param pOutBuffer: pointer to the computed digest. Digest size is 16 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_MD5_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Finish(hhash, pOutBuffer, Timeout); +} + +/** + * @brief Initialize the HASH peripheral in SHA1 mode then initiate a DMA transfer + * to feed the input buffer to the IP. + * @note Once the DMA transfer is finished, HAL_HASH_SHA1_Finish() API must + * be called to retrieve the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_SHA1_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA1); +} + + +/** + * @brief Return the computed digest in SHA1 mode. + * @note The API waits for DCIS to be set then reads the computed digest. + * @note HAL_HASH_SHA1_Finish() can be used as well to retrieve the digest in + * HMAC SHA1 mode. + * @param hhash: HASH handle. + * @param pOutBuffer: pointer to the computed digest. Digest size is 20 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_SHA1_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Finish(hhash, pOutBuffer, Timeout); +} + +/** + * @} + */ + +/** @defgroup HASH_Exported_Functions_Group5 HMAC processing functions in polling mode + * @brief HMAC processing functions using polling mode. + * +@verbatim + =============================================================================== + ##### Polling mode HMAC processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in polling mode + the HMAC value using one of the following algorithms: + (+) MD5 + (++) HAL_HMAC_MD5_Start() + (+) SHA1 + (++) HAL_HMAC_SHA1_Start() + + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the HASH peripheral in HMAC MD5 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 16 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMAC_MD5_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HMAC_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_MD5); +} + +/** + * @brief Initialize the HASH peripheral in HMAC SHA1 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 20 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMAC_SHA1_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HMAC_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA1); +} + +/** + * @} + */ + + +/** @defgroup HASH_Exported_Functions_Group6 HMAC processing functions in interrupt mode + * @brief HMAC processing functions using interrupt mode. + * +@verbatim + =============================================================================== + ##### Interrupt mode HMAC processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in interrupt mode + the HMAC value using one of the following algorithms: + (+) MD5 + (++) HAL_HMAC_MD5_Start_IT() + (+) SHA1 + (++) HAL_HMAC_SHA1_Start_IT() + +@endverbatim + * @{ + */ + + +/** + * @brief Initialize the HASH peripheral in HMAC MD5 mode, next process pInBuffer then + * read the computed digest in interrupt mode. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 16 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMAC_MD5_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HMAC_Start_IT(hhash, pInBuffer, Size, pOutBuffer, HASH_ALGOSELECTION_MD5); +} + +/** + * @brief Initialize the HASH peripheral in HMAC SHA1 mode, next process pInBuffer then + * read the computed digest in interrupt mode. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 20 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMAC_SHA1_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HMAC_Start_IT(hhash, pInBuffer, Size, pOutBuffer, HASH_ALGOSELECTION_SHA1); +} + +/** + * @} + */ + + + +/** @defgroup HASH_Exported_Functions_Group7 HMAC processing functions in DMA mode + * @brief HMAC processing functions using DMA modes. + * +@verbatim + =============================================================================== + ##### DMA mode HMAC processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in DMA mode + the HMAC value using one of the following algorithms: + (+) MD5 + (++) HAL_HMAC_MD5_Start_DMA() + (+) SHA1 + (++) HAL_HMAC_SHA1_Start_DMA() + + [..] When resorting to DMA mode to enter the data in the IP for HMAC processing, + user must resort to HAL_HMAC_xxx_Start_DMA() then read the resulting digest + with HAL_HASH_xxx_Finish(). + +@endverbatim + * @{ + */ + + +/** + * @brief Initialize the HASH peripheral in HMAC MD5 mode then initiate the required + * DMA transfers to feed the key and the input buffer to the IP. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASH_MD5_Finish() API must be called to retrieve + * the computed digest. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note If MDMAT bit is set before calling this function (multi-buffer + * HASH processing case), the input buffer size (in bytes) must be + * a multiple of 4 otherwise, the HASH digest computation is corrupted. + * For the processing of the last buffer of the thread, MDMAT bit must + * be reset and the buffer length (in bytes) doesn't have to be a + * multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMAC_MD5_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_MD5); +} + + +/** + * @brief Initialize the HASH peripheral in HMAC SHA1 mode then initiate the required + * DMA transfers to feed the key and the input buffer to the IP. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASH_SHA1_Finish() API must be called to retrieve + * the computed digest. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note If MDMAT bit is set before calling this function (multi-buffer + * HASH processing case), the input buffer size (in bytes) must be + * a multiple of 4 otherwise, the HASH digest computation is corrupted. + * For the processing of the last buffer of the thread, MDMAT bit must + * be reset and the buffer length (in bytes) doesn't have to be a + * multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMAC_SHA1_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA1); +} + +/** + * @} + */ + +/** @defgroup HASH_Exported_Functions_Group8 Peripheral states functions + * @brief Peripheral State functions. + * +@verbatim + =============================================================================== + ##### Peripheral State methods ##### + =============================================================================== + [..] + This section permits to get in run-time the state and the peripheral handle + status of the peripheral: + (+) HAL_HASH_GetState() + (+) HAL_HASH_GetStatus() + + [..] + Additionally, this subsection provides functions allowing to save and restore + the HASH or HMAC processing context in case of calculation suspension: + (+) HAL_HASH_ContextSaving() + (+) HAL_HASH_ContextRestoring() + + [..] + This subsection provides functions allowing to suspend the HASH processing + (+) when input are fed to the IP by software + (++) HAL_HASH_SwFeed_ProcessSuspend() + (+) when input are fed to the IP by DMA + (++) HAL_HASH_DMAFeed_ProcessSuspend() + + + +@endverbatim + * @{ + */ + +/** + * @brief Return the HASH handle state. + * @note The API yields the current state of the handle (BUSY, READY,...). + * @param hhash: HASH handle. + * @retval HAL HASH state + */ +HAL_HASH_StateTypeDef HAL_HASH_GetState(HASH_HandleTypeDef *hhash) +{ + return hhash->State; +} + + +/** + * @brief Return the HASH HAL status. + * @note The API yields the HAL status of the handle: it is the result of the + * latest HASH processing and allows to report any issue (e.g. HAL_TIMEOUT). + * @param hhash: HASH handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_GetStatus(HASH_HandleTypeDef *hhash) +{ + return hhash->Status; +} + +/** + * @brief Save the HASH context in case of processing suspension. + * @param hhash: HASH handle. + * @param pMemBuffer: pointer to the memory buffer where the HASH context + * is saved. + * @note The IMR, STR, CR then all the CSR registers are saved + * in that order. Only the r/w bits are read to be restored later on. + * @note By default, all the context swap registers (there are + * HASH_NUMBER_OF_CSR_REGISTERS of those) are saved. + * @note pMemBuffer points to a buffer allocated by the user. The buffer size + * must be at least (HASH_NUMBER_OF_CSR_REGISTERS + 3) * 4 uint8 long. + * @retval None + */ +void HAL_HASH_ContextSaving(HASH_HandleTypeDef *hhash, uint8_t* pMemBuffer) +{ + uint32_t mem_ptr = (uint32_t)pMemBuffer; + uint32_t csr_ptr = (uint32_t)HASH->CSR; + uint32_t i = 0; + + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhash); + + /* Save IMR register content */ + *(uint32_t*)(mem_ptr) = READ_BIT(HASH->IMR,HASH_IT_DINI|HASH_IT_DCI); + mem_ptr+=4; + /* Save STR register content */ + *(uint32_t*)(mem_ptr) = READ_BIT(HASH->STR,HASH_STR_NBLW); + mem_ptr+=4; + /* Save CR register content */ + *(uint32_t*)(mem_ptr) = READ_BIT(HASH->CR,HASH_CR_DMAE|HASH_CR_DATATYPE|HASH_CR_MODE|HASH_CR_ALGO|HASH_CR_LKEY|HASH_CR_MDMAT); + mem_ptr+=4; + /* By default, save all CSRs registers */ + for (i = HASH_NUMBER_OF_CSR_REGISTERS; i >0; i--) + { + *(uint32_t*)(mem_ptr) = *(uint32_t*)(csr_ptr); + mem_ptr+=4; + csr_ptr+=4; + } +} + + +/** + * @brief Restore the HASH context in case of processing resumption. + * @param hhash: HASH handle. + * @param pMemBuffer: pointer to the memory buffer where the HASH context + * is stored. + * @note The IMR, STR, CR then all the CSR registers are restored + * in that order. Only the r/w bits are restored. + * @note By default, all the context swap registers (HASH_NUMBER_OF_CSR_REGISTERS + * of those) are restored (all of them have been saved by default + * beforehand). + * @retval None + */ +void HAL_HASH_ContextRestoring(HASH_HandleTypeDef *hhash, uint8_t* pMemBuffer) +{ + uint32_t mem_ptr = (uint32_t)pMemBuffer; + uint32_t csr_ptr = (uint32_t)HASH->CSR; + uint32_t i = 0; + + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhash); + + /* Restore IMR register content */ + WRITE_REG(HASH->IMR, (*(uint32_t*)(mem_ptr))); + mem_ptr+=4; + /* Restore STR register content */ + WRITE_REG(HASH->STR, (*(uint32_t*)(mem_ptr))); + mem_ptr+=4; + /* Restore CR register content */ + WRITE_REG(HASH->CR, (*(uint32_t*)(mem_ptr))); + mem_ptr+=4; + + /* Reset the HASH processor before restoring the Context + Swap Registers (CSR) */ + __HAL_HASH_INIT(); + + /* By default, restore all CSR registers */ + for (i = HASH_NUMBER_OF_CSR_REGISTERS; i >0; i--) + { + WRITE_REG((*(uint32_t*)(csr_ptr)), (*(uint32_t*)(mem_ptr))); + mem_ptr+=4; + csr_ptr+=4; + } +} + + +/** + * @brief Initiate HASH processing suspension when in polling or interruption mode. + * @param hhash: HASH handle. + * @note Set the handle field SuspendRequest to the appropriate value so that + * the on-going HASH processing is suspended as soon as the required + * conditions are met. Note that the actual suspension is carried out + * by the functions HASH_WriteData() in polling mode and HASH_IT() in + * interruption mode. + * @retval None + */ +void HAL_HASH_SwFeed_ProcessSuspend(HASH_HandleTypeDef *hhash) +{ + /* Set Handle Suspend Request field */ + hhash->SuspendRequest = HAL_HASH_SUSPEND; +} + +/** + * @brief Suspend the HASH processing when in DMA mode. + * @param hhash: HASH handle. + * @note When suspension attempt occurs at the very end of a DMA transfer and + * all the data have already been entered in the IP, hhash->State is + * set to HAL_HASH_STATE_READY and the API returns HAL_ERROR. It is + * recommended to wrap-up the processing in reading the digest as usual. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASH_DMAFeed_ProcessSuspend(HASH_HandleTypeDef *hhash) +{ + uint32_t tmp_remaining_DMATransferSize_inWords = 0x0; + uint32_t tmp_initial_DMATransferSize_inWords = 0x0; + + if (hhash->State == HAL_HASH_STATE_READY) + { + return HAL_ERROR; + } + else + { + /* Set State as suspended (it may be required to update it if suspension failed). + The context saving operations must be carried out to be able to resume later on. */ + hhash->State = HAL_HASH_STATE_SUSPENDED; + + /* Clear DMAE bit */ + CLEAR_BIT(HASH->CR,HASH_CR_DMAE); + + /* Wait for DMAS to be reset */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_DMAS, SET, HASH_TIMEOUTVALUE) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Disable DMA channel */ + HAL_DMA_Abort(hhash->hdmain); + + /* At this point, DMA interface is disabled and no transfer is on-going */ + /* Retrieve from the DMA handle how many words remain to be written */ + tmp_remaining_DMATransferSize_inWords = ((DMA_Stream_TypeDef *)hhash->hdmain->Instance)->NDTR; + if (tmp_remaining_DMATransferSize_inWords == 0) + { + /* All the DMA transfer is actually done. Suspension occurred at the very end + of the transfer. Either the digest computation is about to start (HASH case) + or processing is about to move from one step to another (HMAC case). + In both cases, the processing can't be suspended at this point. It is + safer to + - retrieve the low priority block digest before starting the high + priority block processing (HASH case) + - re-attempt a new suspension (HMAC case) + */ + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + else + { + + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) + { + return HAL_TIMEOUT; + } + + + /* Compute how many words were supposed to be transferred by DMA */ + tmp_initial_DMATransferSize_inWords = (hhash->HashInCount%4 ? (hhash->HashInCount+3)/4: hhash->HashInCount/4); + /* Accordingly, update the input pointer that points at the next word to be transferred to the IP by DMA */ + hhash->pHashInBuffPtr += 4 * (tmp_initial_DMATransferSize_inWords - tmp_remaining_DMATransferSize_inWords) ; + /* And store in HashInCount the remaining size to transfer (in bytes) */ + hhash->HashInCount = 4 * tmp_remaining_DMATransferSize_inWords; + + } + + return HAL_OK; + + } +} + + +/** + * @} + */ + + +/** + * @} + */ + +/** @defgroup HASH_Private_Functions HASH Private Functions + * @{ + */ + +/** + * @brief DMA HASH Input Data transfer completion callback. + * @param hdma: DMA handle. + * @note In case of HMAC processing, HASH_DMAXferCplt() initiates + * the next DMA transfer for the following HMAC step. + * @retval None + */ +static void HASH_DMAXferCplt(DMA_HandleTypeDef *hdma) +{ + HASH_HandleTypeDef* hhash = ( HASH_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + uint32_t inputaddr = 0x0; + uint32_t buffersize = 0x0; + + if (hhash->State != HAL_HASH_STATE_SUSPENDED) + { + + /* Disable the DMA transfer */ + CLEAR_BIT(HASH->CR, HASH_CR_DMAE); + + if (READ_BIT(HASH->CR, HASH_CR_MODE) == RESET) + { + /* If no HMAC processing, input data transfer is now over */ + + /* Change the HASH state to ready */ + hhash->State = HAL_HASH_STATE_READY; + + /* Call Input data transfer complete call back */ + HAL_HASH_InCpltCallback(hhash); + } + else + { + /* HMAC processing: depending on the current HMAC step and whether or + not multi-buffer processing is on-going, the next step is initiated + and MDMAT bit is set. */ + + + if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_3) + { + /* This is the end of HMAC processing */ + + /* Change the HASH state to ready */ + hhash->State = HAL_HASH_STATE_READY; + + /* Call Input data transfer complete call back + (note that the last DMA transfer was that of the key + for the outer HASH operation). */ + HAL_HASH_InCpltCallback(hhash); + + return; + } + else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) + { + inputaddr = (uint32_t)hhash->pHashMsgBuffPtr; /* DMA transfer start address */ + buffersize = hhash->HashBuffSize; /* DMA transfer size (in bytes) */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_2; /* Move phase from Step 1 to Step 2 */ + + /* In case of suspension request, save the new starting parameters */ + hhash->HashInCount = hhash->HashBuffSize; /* Initial DMA transfer size (in bytes) */ + hhash->pHashInBuffPtr = hhash->pHashMsgBuffPtr ; /* DMA transfer start address */ + + /* Check whether or not digest calculation must be disabled (in case of multi-buffer HMAC processing) */ + if (hhash->DigestCalculationDisable != RESET) + { + /* Digest calculation is disabled: Step 2 must start with MDMAT bit set, + no digest calculation will be triggered at the end of the input buffer feeding to the IP */ + __HAL_HASH_SET_MDMAT(); + } + } + else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) + { + if (hhash->DigestCalculationDisable != RESET) + { + /* No automatic move to Step 3 as a new message buffer will be fed to the IP + (case of multi-buffer HMAC processing): + DCAL must not be set. + Phase remains in Step 2, MDMAT remains set at this point. + Change the HASH state to ready and call Input data transfer complete call back. */ + hhash->State = HAL_HASH_STATE_READY; + HAL_HASH_InCpltCallback(hhash); + return ; + } + else + { + /* Digest calculation is not disabled (case of single buffer input or last buffer + of multi-buffer HMAC processing) */ + inputaddr = (uint32_t)hhash->Init.pKey; /* DMA transfer start address */ + buffersize = hhash->Init.KeySize; /* DMA transfer size (in bytes) */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_3; /* Move phase from Step 2 to Step 3 */ + /* In case of suspension request, save the new starting parameters */ + hhash->HashInCount = hhash->Init.KeySize; /* Initial size for second DMA transfer (input data) */ + hhash->pHashInBuffPtr = hhash->Init.pKey ; /* address passed to DMA, now entering data message */ + } + } + /* Configure the Number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(buffersize); + + + /* Set the HASH DMA transfert completion call back */ + hhash->hdmain->XferCpltCallback = HASH_DMAXferCplt; + + /* Enable the DMA In DMA Stream */ + HAL_DMA_Start_IT(hhash->hdmain, inputaddr, (uint32_t)&HASH->DIN, (buffersize%4 ? (buffersize+3)/4:buffersize/4)); + + /* Enable DMA requests */ + SET_BIT(HASH->CR, HASH_CR_DMAE); + } + } + + return; +} + +/** + * @brief DMA HASH communication error callback. + * @param hdma: DMA handle. + * @note HASH_DMAError() callback invokes HAL_HASH_ErrorCallback() that + * can contain user code to manage the error. + * @retval None + */ +static void HASH_DMAError(DMA_HandleTypeDef *hdma) +{ + HASH_HandleTypeDef* hhash = ( HASH_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + if (hhash->State != HAL_HASH_STATE_SUSPENDED) + { + /* Set HASH state to ready to prevent any blocking issue in user code + present in HAL_HASH_ErrorCallback() */ + hhash->State= HAL_HASH_STATE_READY; + /* Set HASH handle status to error */ + hhash->Status = HAL_ERROR; + HAL_HASH_ErrorCallback(hhash); + /* After error handling by code user, reset HASH handle HAL status */ + hhash->Status = HAL_OK; + + } +} + +/** + * @brief Feed the input buffer to the HASH IP. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to input buffer. + * @param Size: the size of input buffer in bytes. + * @note HASH_WriteData() regularly reads hhash->SuspendRequest to check whether + * or not the HASH processing must be suspended. If this is the case, the + * processing is suspended when possible and the IP feeding point reached at + * suspension time is stored in the handle for resumption later on. + * @retval HAL status + */ +static HAL_StatusTypeDef HASH_WriteData(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + uint32_t buffercounter; + __IO uint32_t inputaddr = (uint32_t) pInBuffer; + + for(buffercounter = 0; buffercounter < Size; buffercounter+=4) + { + /* Write input data 4 bytes at a time */ + HASH->DIN = *(uint32_t*)inputaddr; + inputaddr+=4; + + /* If the suspension flag has been raised and if the processing is not about + to end, suspend processing */ + if ((hhash->SuspendRequest == HAL_HASH_SUSPEND) && ((buffercounter+4) < Size)) + { + /* Wait for DINIS = 1, which occurs when 16 32-bit locations are free + in the input buffer */ + if (__HAL_HASH_GET_FLAG(HASH_FLAG_DINIS)) + { + /* Reset SuspendRequest */ + hhash->SuspendRequest = HAL_HASH_SUSPEND_NONE; + + /* Depending whether the key or the input data were fed to the IP, the feeding point + reached at suspension time is not saved in the same handle fields */ + if ((hhash->Phase == HAL_HASH_PHASE_PROCESS) || (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2)) + { + /* Save current reading and writing locations of Input and Output buffers */ + hhash->pHashInBuffPtr = (uint8_t *)inputaddr; + /* Save the number of bytes that remain to be processed at this point */ + hhash->HashInCount = Size - (buffercounter + 4); + } + else if ((hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) || (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_3)) + { + /* Save current reading and writing locations of Input and Output buffers */ + hhash->pHashKeyBuffPtr = (uint8_t *)inputaddr; + /* Save the number of bytes that remain to be processed at this point */ + hhash->HashKeyCount = Size - (buffercounter + 4); + } + else + { + /* Unexpected phase: unlock process and report error */ + hhash->State = HAL_HASH_STATE_READY; + __HAL_UNLOCK(hhash); + return HAL_ERROR; + } + + /* Set the HASH state to Suspended and exit to stop entering data */ + hhash->State = HAL_HASH_STATE_SUSPENDED; + + return HAL_OK; + } /* if (__HAL_HASH_GET_FLAG(HASH_FLAG_DINIS)) */ + } /* if ((hhash->SuspendRequest == HAL_HASH_SUSPEND) && ((buffercounter+4) < Size)) */ + } /* for(buffercounter = 0; buffercounter < Size; buffercounter+=4) */ + + /* At this point, all the data have been entered to the IP: exit */ + return HAL_OK; +} + +/** + * @brief Retrieve the message digest. + * @param pMsgDigest: pointer to the computed digest. + * @param Size: message digest size in bytes. + * @retval None + */ +static void HASH_GetDigest(uint8_t *pMsgDigest, uint8_t Size) +{ + uint32_t msgdigest = (uint32_t)pMsgDigest; + + switch(Size) + { + /* Read the message digest */ + case 16: /* MD5 */ + *(uint32_t*)(msgdigest) = __REV(HASH->HR[0]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[1]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[2]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[3]); + break; + case 20: /* SHA1 */ + *(uint32_t*)(msgdigest) = __REV(HASH->HR[0]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[1]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[2]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[3]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[4]); + break; + case 28: /* SHA224 */ + *(uint32_t*)(msgdigest) = __REV(HASH->HR[0]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[1]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[2]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[3]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[4]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH_DIGEST->HR[5]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH_DIGEST->HR[6]); + break; + case 32: /* SHA256 */ + *(uint32_t*)(msgdigest) = __REV(HASH->HR[0]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[1]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[2]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[3]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH->HR[4]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH_DIGEST->HR[5]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH_DIGEST->HR[6]); + msgdigest+=4; + *(uint32_t*)(msgdigest) = __REV(HASH_DIGEST->HR[7]); + break; + default: + break; + } +} + + + +/** + * @brief Handle HASH processing Timeout. + * @param hhash: HASH handle. + * @param Flag: specifies the HASH flag to check. + * @param Status: the Flag status (SET or RESET). + * @param Timeout: Timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef HASH_WaitOnFlagUntilTimeout(HASH_HandleTypeDef *hhash, uint32_t Flag, FlagStatus Status, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + /* Wait until flag is set */ + if(Status == RESET) + { + while(__HAL_HASH_GET_FLAG(Flag) == RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Set State to Ready to be able to restart later on */ + hhash->State = HAL_HASH_STATE_READY; + /* Store time out issue in handle status */ + hhash->Status = HAL_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + return HAL_TIMEOUT; + } + } + } + } + else + { + while(__HAL_HASH_GET_FLAG(Flag) != RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) + { + /* Set State to Ready to be able to restart later on */ + hhash->State = HAL_HASH_STATE_READY; + /* Store time out issue in handle status */ + hhash->Status = HAL_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + return HAL_TIMEOUT; + } + } + } + } + return HAL_OK; +} + + +/** + * @brief HASH processing in interruption mode. + * @param hhash: HASH handle. + * @note HASH_IT() regularly reads hhash->SuspendRequest to check whether + * or not the HASH processing must be suspended. If this is the case, the + * processing is suspended when possible and the IP feeding point reached at + * suspension time is stored in the handle for resumption later on. + * @retval HAL status + */ +static HAL_StatusTypeDef HASH_IT(HASH_HandleTypeDef *hhash) +{ + if (hhash->State == HAL_HASH_STATE_BUSY) + { + /* ITCounter must not be equal to 0 at this point. Report an error if this is the case. */ + if(hhash->HashITCounter == 0) + { + /* Disable Interrupts */ + __HAL_HASH_DISABLE_IT(HASH_IT_DINI|HASH_IT_DCI); + /* HASH state set back to Ready to prevent any issue in user code + present in HAL_HASH_ErrorCallback() */ + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + else if (hhash->HashITCounter == 1) + { + /* This is the first call to HASH_IT, the first input data are about to be + entered in the IP. A specific processing is carried out at this point to + start-up the processing. */ + hhash->HashITCounter = 2; + } + else + { + /* Cruise speed reached, HashITCounter remains equal to 3 until the end of + the HASH processing or the end of the current step for HMAC processing. */ + hhash->HashITCounter = 3; + } + + /* If digest is ready */ + if (__HAL_HASH_GET_FLAG(HASH_FLAG_DCIS)) + { + /* Read the digest */ + HASH_GetDigest(hhash->pHashOutBuffPtr, HASH_DIGEST_LENGTH()); + + /* Disable Interrupts */ + __HAL_HASH_DISABLE_IT(HASH_IT_DINI|HASH_IT_DCI); + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_READY; + /* Call digest computation complete call back */ + HAL_HASH_DgstCpltCallback(hhash); + + return HAL_OK; + } + + /* If IP ready to accept new data */ + if (__HAL_HASH_GET_FLAG(HASH_FLAG_DINIS)) + { + + /* If the suspension flag has been raised and if the processing is not about + to end, suspend processing */ + if ((hhash->SuspendRequest == HAL_HASH_SUSPEND) && (hhash->HashInCount != 0)) + { + /* Disable Interrupts */ + __HAL_HASH_DISABLE_IT(HASH_IT_DINI|HASH_IT_DCI); + + /* Reset SuspendRequest */ + hhash->SuspendRequest = HAL_HASH_SUSPEND_NONE; + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_SUSPENDED; + + return HAL_OK; + } + + /* Enter input data in the IP thru HASH_Write_Block_Data() call and + check whether the digest calculation has been triggered */ + if (HASH_Write_Block_Data(hhash) == HASH_DIGEST_CALCULATION_STARTED) + { + /* Call Input data transfer complete call back + (called at the end of each step for HMAC) */ + HAL_HASH_InCpltCallback(hhash); + + if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) + { + /* Wait until IP is not busy anymore */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) + { + /* Disable Interrupts */ + __HAL_HASH_DISABLE_IT(HASH_IT_DINI|HASH_IT_DCI); + return HAL_TIMEOUT; + } + /* Initialization start for HMAC STEP 2 */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_2; /* Move phase from Step 1 to Step 2 */ + __HAL_HASH_SET_NBVALIDBITS(hhash->HashBuffSize); /* Set NBLW for the input message */ + hhash->HashInCount = hhash->HashBuffSize; /* Set the input data size (in bytes) */ + hhash->pHashInBuffPtr = hhash->pHashMsgBuffPtr; /* Set the input data address */ + hhash->HashITCounter = 1; /* Set ITCounter to 1 to indicate the start of a new phase */ + __HAL_HASH_ENABLE_IT(HASH_IT_DINI); /* Enable IT (was disabled in HASH_Write_Block_Data) */ + } + else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) + { + /* Wait until IP is not busy anymore */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) + { + /* Disable Interrupts */ + __HAL_HASH_DISABLE_IT(HASH_IT_DINI|HASH_IT_DCI); + return HAL_TIMEOUT; + } + /* Initialization start for HMAC STEP 3 */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_3; /* Move phase from Step 2 to Step 3 */ + __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); /* Set NBLW for the key */ + hhash->HashInCount = hhash->Init.KeySize; /* Set the key size (in bytes) */ + hhash->pHashInBuffPtr = hhash->Init.pKey; /* Set the key address */ + hhash->HashITCounter = 1; /* Set ITCounter to 1 to indicate the start of a new phase */ + __HAL_HASH_ENABLE_IT(HASH_IT_DINI); /* Enable IT (was disabled in HASH_Write_Block_Data) */ + } + } /* if (HASH_Write_Block_Data(hhash) == HASH_DIGEST_CALCULATION_STARTED) */ + } /* if (__HAL_HASH_GET_FLAG(HASH_FLAG_DINIS))*/ + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + + +/** + * @brief Write a block of data in HASH IP in interruption mode. + * @param hhash: HASH handle. + * @note HASH_Write_Block_Data() is called under interruption by HASH_IT(). + * @retval HAL status + */ +static uint32_t HASH_Write_Block_Data(HASH_HandleTypeDef *hhash) +{ + uint32_t inputaddr; + uint32_t buffercounter; + uint32_t inputcounter; + uint32_t ret = HASH_DIGEST_CALCULATION_NOT_STARTED; + + /* If there are more than 64 bytes remaining to be entered */ + if(hhash->HashInCount > 64) + { + inputaddr = (uint32_t)hhash->pHashInBuffPtr; + /* Write the Input block in the Data IN register + (16 32-bit words, or 64 bytes are entered) */ + for(buffercounter = 0; buffercounter < 64; buffercounter+=4) + { + HASH->DIN = *(uint32_t*)inputaddr; + inputaddr+=4; + } + /* If this is the start of input data entering, an additional word + must be entered to start up the HASH processing */ + if(hhash->HashITCounter == 2) + { + HASH->DIN = *(uint32_t*)inputaddr; + inputaddr+=4; + if(hhash->HashInCount >= 68) + { + /* There are still data waiting to be entered in the IP. + Decrement buffer counter and set pointer to the proper + memory location for the next data entering round. */ + hhash->HashInCount -= 68; + hhash->pHashInBuffPtr+= 68; + } + else + { + /* All the input buffer has been fed to the HW. */ + hhash->HashInCount = 0; + } + } + else + { + /* 64 bytes have been entered and there are still some remaining: + Decrement buffer counter and set pointer to the proper + memory location for the next data entering round.*/ + hhash->HashInCount -= 64; + hhash->pHashInBuffPtr+= 64; + } + } + else + { + /* 64 or less bytes remain to be entered. This is the last + data entering round. */ + + /* Get the buffer address */ + inputaddr = (uint32_t)hhash->pHashInBuffPtr; + /* Get the buffer counter */ + inputcounter = hhash->HashInCount; + /* Disable Interrupts */ + __HAL_HASH_DISABLE_IT(HASH_IT_DINI); + + /* Write the Input block in the Data IN register */ + for(buffercounter = 0; buffercounter < (inputcounter+3)/4; buffercounter++) + { + HASH->DIN = *(uint32_t*)inputaddr; + inputaddr+=4; + } + /* Start the Digest calculation */ + __HAL_HASH_START_DIGEST(); + /* Return indication that digest calculation has started: + this return value triggers the call to Input data transfer + complete call back as well as the proper transition from + one step to another in HMAC mode. */ + ret = HASH_DIGEST_CALCULATION_STARTED; + /* Reset buffer counter */ + hhash->HashInCount = 0; + } + + /* Return whether or digest calculation has started */ + return ret; +} + +/** + * @brief HMAC processing in polling mode. + * @param hhash: HASH handle. + * @param Timeout: Timeout value. + * @retval HAL status + */ +static HAL_StatusTypeDef HMAC_Processing(HASH_HandleTypeDef *hhash, uint32_t Timeout) +{ + /* Ensure first that Phase is correct */ + if ((hhash->Phase != HAL_HASH_PHASE_HMAC_STEP_1) && (hhash->Phase != HAL_HASH_PHASE_HMAC_STEP_2) && (hhash->Phase != HAL_HASH_PHASE_HMAC_STEP_3)) + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_READY; + + /* Process Unlock */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_ERROR; + } + + /* HMAC Step 1 processing */ + if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) + { + /************************** STEP 1 ******************************************/ + /* Configure the Number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); + + /* Write input buffer in Data register */ + if ((hhash->Status = HASH_WriteData(hhash, hhash->pHashKeyBuffPtr, hhash->HashKeyCount)) != HAL_OK) + { + return hhash->Status; + } + + /* Check whether or not key entering process has been suspended */ + if (hhash->State == HAL_HASH_STATE_SUSPENDED) + { + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + /* Stop right there and return function status */ + return HAL_OK; + } + + /* No processing suspension at this point: set DCAL bit. */ + __HAL_HASH_START_DIGEST(); + + /* Wait for BUSY flag to be cleared */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Move from Step 1 to Step 2 */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_2; + + } + + /* HMAC Step 2 processing. + After phase check, HMAC_Processing() may + - directly start up from this point in resumption case + if the same Step 2 processing was suspended previously + - or fall through from the Step 1 processing carried out hereabove */ + if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) + { + /************************** STEP 2 ******************************************/ + /* Configure the Number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(hhash->HashBuffSize); + + /* Write input buffer in Data register */ + if ((hhash->Status = HASH_WriteData(hhash, hhash->pHashInBuffPtr, hhash->HashInCount)) != HAL_OK) + { + return hhash->Status; + } + + /* Check whether or not data entering process has been suspended */ + if (hhash->State == HAL_HASH_STATE_SUSPENDED) + { + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + /* Stop right there and return function status */ + return HAL_OK; + } + + /* No processing suspension at this point: set DCAL bit. */ + __HAL_HASH_START_DIGEST(); + + /* Wait for BUSY flag to be cleared */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Move from Step 2 to Step 3 */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_3; + /* In case Step 1 phase was suspended then resumed, + set again Key input buffers and size before moving to + next step */ + hhash->pHashKeyBuffPtr = hhash->Init.pKey; + hhash->HashKeyCount = hhash->Init.KeySize; + } + + + /* HMAC Step 3 processing. + After phase check, HMAC_Processing() may + - directly start up from this point in resumption case + if the same Step 3 processing was suspended previously + - or fall through from the Step 2 processing carried out hereabove */ + if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_3) + { + /************************** STEP 3 ******************************************/ + /* Configure the Number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); + + /* Write input buffer in Data register */ + if ((hhash->Status = HASH_WriteData(hhash, hhash->pHashKeyBuffPtr, hhash->HashKeyCount)) != HAL_OK) + { + return hhash->Status; + } + + /* Check whether or not key entering process has been suspended */ + if (hhash->State == HAL_HASH_STATE_SUSPENDED) + { + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + /* Stop right there and return function status */ + return HAL_OK; + } + + /* No processing suspension at this point: start the Digest calculation. */ + __HAL_HASH_START_DIGEST(); + + /* Wait for DCIS flag to be set */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_DCIS, RESET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Read the message digest */ + HASH_GetDigest(hhash->pHashOutBuffPtr, HASH_DIGEST_LENGTH()); + } + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_READY; + + /* Process Unlock */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_OK; +} + + +/** + * @brief Initialize the HASH peripheral, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. + * @param Timeout: Timeout value. + * @param Algorithm: HASH algorithm. + * @retval HAL status + */ +HAL_StatusTypeDef HASH_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout, uint32_t Algorithm) +{ + uint8_t *pInBuffer_tmp; /* input data address, input parameter of HASH_WriteData() */ + uint32_t Size_tmp = 0x0; /* input data size (in bytes), input parameter of HASH_WriteData() */ + + /* Initiate HASH processing in case of start or resumption */ + if((hhash->State == HAL_HASH_STATE_READY) || (hhash->State == HAL_HASH_STATE_SUSPENDED)) + { + /* Check input parameters */ + if ((pInBuffer == NULL) || (Size == 0) || (pOutBuffer == NULL)) + { + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* Check if initialization phase has not been already performed */ + if(hhash->Phase == HAL_HASH_PHASE_READY) + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Select the HASH algorithm, clear HMAC mode and long key selection bit, reset the HASH processor core */ + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_CR_INIT); + + /* Configure the number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(Size); + + /* pInBuffer_tmp and Size_tmp are initialized to be used afterwards as + input parameters of HASH_WriteData() */ + pInBuffer_tmp = pInBuffer; /* pInBuffer_tmp is set to the input data address */ + Size_tmp = Size; /* Size_tmp contains the input data size in bytes */ + + /* Set the phase */ + hhash->Phase = HAL_HASH_PHASE_PROCESS; + } + else if (hhash->Phase == HAL_HASH_PHASE_PROCESS) + { + /* if the IP has already been initialized, two cases are possible */ + + /* Process resumption time ... */ + if (hhash->State == HAL_HASH_STATE_SUSPENDED) + { + /* Since this is resumption, pInBuffer_tmp and Size_tmp are not set + to the API input parameters but to those saved beforehand by HASH_WriteData() + when the processing was suspended */ + pInBuffer_tmp = hhash->pHashInBuffPtr; + Size_tmp = hhash->HashInCount; + } + /* ... or multi-buffer HASH processing end */ + else + { + /* pInBuffer_tmp and Size_tmp are initialized to be used afterwards as + input parameters of HASH_WriteData() */ + pInBuffer_tmp = pInBuffer; + Size_tmp = Size; + /* Configure the number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(Size); + } + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + } + else + { + /* Phase error */ + hhash->State = HAL_HASH_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_ERROR; + } + + + /* Write input buffer in Data register */ + if ((hhash->Status = HASH_WriteData(hhash, pInBuffer_tmp, Size_tmp)) != HAL_OK) + { + return hhash->Status; + } + + /* If the process has not been suspended, carry on to digest calculation */ + if (hhash->State != HAL_HASH_STATE_SUSPENDED) + { + /* Start the Digest calculation */ + __HAL_HASH_START_DIGEST(); + + /* Wait for DCIS flag to be set */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_DCIS, RESET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Read the message digest */ + HASH_GetDigest(pOutBuffer, HASH_DIGEST_LENGTH()); + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_READY; + + } + + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_OK; + + } + else + { + return HAL_BUSY; + } +} + + +/** + * @brief If not already done, initialize the HASH peripheral then + * processes pInBuffer. + * @note Field hhash->Phase of HASH handle is tested to check whether or not + * the IP has already been initialized. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes, must be a multiple of 4. + * @param Algorithm: HASH algorithm. + * @retval HAL status + */ +HAL_StatusTypeDef HASH_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm) +{ + uint8_t *pInBuffer_tmp; /* input data address, input parameter of HASH_WriteData() */ + uint32_t Size_tmp = 0x0; /* input data size (in bytes), input parameter of HASH_WriteData() */ + + /* Make sure the input buffer size (in bytes) is a multiple of 4 */ + assert_param(IS_HASH_POLLING_MULTIBUFFER_SIZE(Size)); + + + /* Initiate HASH processing in case of start or resumption */ + if((hhash->State == HAL_HASH_STATE_READY) || (hhash->State == HAL_HASH_STATE_SUSPENDED)) + { + /* Check input parameters */ + if ((pInBuffer == NULL) || (Size == 0)) + { + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* If resuming the HASH processing */ + if (hhash->State == HAL_HASH_STATE_SUSPENDED) + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Since this is resumption, pInBuffer_tmp and Size_tmp are not set + to the API input parameters but to those saved beforehand by HASH_WriteData() + when the processing was suspended */ + pInBuffer_tmp = hhash->pHashInBuffPtr; /* pInBuffer_tmp is set to the input data address */ + Size_tmp = hhash->HashInCount; /* Size_tmp contains the input data size in bytes */ + + } + else + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* pInBuffer_tmp and Size_tmp are initialized to be used afterwards as + input parameters of HASH_WriteData() */ + pInBuffer_tmp = pInBuffer; /* pInBuffer_tmp is set to the input data address */ + Size_tmp = Size; /* Size_tmp contains the input data size in bytes */ + + /* Check if initialization phase has already be performed */ + if(hhash->Phase == HAL_HASH_PHASE_READY) + { + /* Select the HASH algorithm, clear HMAC mode and long key selection bit, reset the HASH processor core */ + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_CR_INIT); + } + + /* Set the phase */ + hhash->Phase = HAL_HASH_PHASE_PROCESS; + + } + + /* Write input buffer in Data register */ + if ((hhash->Status = HASH_WriteData(hhash, pInBuffer_tmp, Size_tmp)) != HAL_OK) + { + return hhash->Status; + } + + /* If the process has not been suspended, move the state to Ready */ + if (hhash->State != HAL_HASH_STATE_SUSPENDED) + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_READY; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_OK; + + } + else + { + return HAL_BUSY; + } + + +} + + +/** + * @brief Initialize the HASH peripheral, next process pInBuffer then + * read the computed digest in interruption mode. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. + * @param Algorithm: HASH algorithm. + * @retval HAL status + */ +HAL_StatusTypeDef HASH_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Algorithm) +{ + + /* If State is ready or suspended, start or resume IT-based HASH processing */ + if((hhash->State == HAL_HASH_STATE_READY) || (hhash->State == HAL_HASH_STATE_SUSPENDED)) + { + /* Check input parameters */ + if ((pInBuffer == NULL) || (Size == 0) || (pOutBuffer == NULL)) + { + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Initialize IT counter */ + hhash->HashITCounter = 1; + + /* Check if initialization phase has already be performed */ + if(hhash->Phase == HAL_HASH_PHASE_READY) + { + /* Select the HASH algorithm, clear HMAC mode and long key selection bit, reset the HASH processor core */ + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_CR_INIT); + + /* Configure the number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(Size); + + + hhash->HashInCount = Size; /* Counter used to keep track of number of data + to be fed to the IP */ + hhash->pHashInBuffPtr = pInBuffer; /* Points at data which will be fed to the IP at + the next interruption */ + /* In case of suspension, hhash->HashInCount and hhash->pHashInBuffPtr contain + the information describing where the HASH process is stopped. + These variables are used later on to resume the HASH processing at the + correct location. */ + + hhash->pHashOutBuffPtr = pOutBuffer; /* Points at the computed digest */ + } + + /* Set the phase */ + hhash->Phase = HAL_HASH_PHASE_PROCESS; + + /* Process Unlock */ + __HAL_UNLOCK(hhash); + + /* Enable Interrupts */ + __HAL_HASH_ENABLE_IT(HASH_IT_DINI|HASH_IT_DCI); + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_BUSY; + } + +} + + +/** + * @brief Initialize the HASH peripheral then initiate a DMA transfer + * to feed the input buffer to the IP. + * @note If MDMAT bit is set before calling this function (multi-buffer + * HASH processing case), the input buffer size (in bytes) must be + * a multiple of 4 otherwise, the HASH digest computation is corrupted. + * For the processing of the last buffer of the thread, MDMAT bit must + * be reset and the buffer length (in bytes) doesn't have to be a + * multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param Algorithm: HASH algorithm. + * @retval HAL status + */ +HAL_StatusTypeDef HASH_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm) +{ + uint32_t inputaddr; + uint32_t inputSize = 0x0; + + /* Make sure the input buffer size (in bytes) is a multiple of 4 when MDMAT bit is set + (case of multi-buffer HASH processing) */ + assert_param(IS_HASH_DMA_MULTIBUFFER_SIZE(Size)); + + /* If State is ready or suspended, start or resume DMA-based HASH processing */ + if ((hhash->State == HAL_HASH_STATE_READY) || (hhash->State == HAL_HASH_STATE_SUSPENDED)) + { + /* Check input parameters */ + if ( (pInBuffer == NULL ) || (Size == 0) || + /* Check phase coherency. Phase must be + either READY (fresh start) + or PROCESS (multi-buffer HASH management) */ + ((hhash->Phase != HAL_HASH_PHASE_READY) && (!(IS_HASH_PROCESSING(hhash))))) + { + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* If not a resumption case */ + if (hhash->State == HAL_HASH_STATE_READY) + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Check if initialization phase has already been performed. + If Phase is already set to HAL_HASH_PHASE_PROCESS, this means the + API is processing a new input data message in case of multi-buffer HASH + computation. */ + if(hhash->Phase == HAL_HASH_PHASE_READY) + { + /* Select the HASH algorithm, clear HMAC mode and long key selection bit, reset the HASH processor core */ + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_CR_INIT); + + /* Set the phase */ + hhash->Phase = HAL_HASH_PHASE_PROCESS; + } + + /* Configure the Number of valid bits in last word of the message */ + __HAL_HASH_SET_NBVALIDBITS(Size); + + inputaddr = (uint32_t)pInBuffer; /* DMA transfer start address */ + inputSize = Size; /* DMA transfer size (in bytes) */ + + /* In case of suspension request, save the starting parameters */ + hhash->pHashInBuffPtr = pInBuffer; /* DMA transfer start address */ + hhash->HashInCount = Size; /* DMA transfer size (in bytes) */ + + } + /* If resumption case */ + else + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Resumption case, inputaddr and inputSize are not set to the API input parameters + but to those saved beforehand by HAL_HASH_DMAFeed_ProcessSuspend() when the + processing was suspended */ + inputaddr = (uint32_t)hhash->pHashInBuffPtr; /* DMA transfer start address */ + inputSize = hhash->HashInCount; /* DMA transfer size (in bytes) */ + } + + /* Set the HASH DMA transfert complete callback */ + hhash->hdmain->XferCpltCallback = HASH_DMAXferCplt; + /* Set the DMA error callback */ + hhash->hdmain->XferErrorCallback = HASH_DMAError; + + /* Enable the DMA In DMA Stream */ + HAL_DMA_Start_IT(hhash->hdmain, inputaddr, (uint32_t)&HASH->DIN, (inputSize%4 ? (inputSize+3)/4:inputSize/4)); + + /* Enable DMA requests */ + SET_BIT(HASH->CR, HASH_CR_DMAE); + + /* Process Unlock */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_BUSY; + } + +} + +/** + * @brief Return the computed digest. + * @note The API waits for DCIS to be set then reads the computed digest. + * @param hhash: HASH handle. + * @param pOutBuffer: pointer to the computed digest. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HASH_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout) +{ + + if(hhash->State == HAL_HASH_STATE_READY) + { + /* Check parameter */ + if (pOutBuffer == NULL) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* Change the HASH state to busy */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Wait for DCIS flag to be set */ + if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_DCIS, RESET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Read the message digest */ + HASH_GetDigest(pOutBuffer, HASH_DIGEST_LENGTH()); + + /* Change the HASH state to ready */ + hhash->State = HAL_HASH_STATE_READY; + + /* Process UnLock */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_OK; + + } + else + { + return HAL_BUSY; + } + +} + + +/** + * @brief Initialize the HASH peripheral in HMAC mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. + * @param Timeout: Timeout value. + * @param Algorithm: HASH algorithm. + * @retval HAL status + */ +HAL_StatusTypeDef HMAC_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout, uint32_t Algorithm) +{ + + /* If State is ready or suspended, start or resume polling-based HASH processing */ + if((hhash->State == HAL_HASH_STATE_READY) || (hhash->State == HAL_HASH_STATE_SUSPENDED)) + { + /* Check input parameters */ + if ((pInBuffer == NULL) || (Size == 0) || (hhash->Init.pKey == NULL) || (hhash->Init.KeySize == 0) || (pOutBuffer == NULL)) + { + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Check if initialization phase has already be performed */ + if(hhash->Phase == HAL_HASH_PHASE_READY) + { + /* Check if key size is larger than 64 bytes, accordingly set LKEY and the other setting bits */ + if(hhash->Init.KeySize > 64) + { + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_ALGOMODE_HMAC | HASH_HMAC_KEYTYPE_LONGKEY | HASH_CR_INIT); + } + else + { + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_ALGOMODE_HMAC | HASH_CR_INIT); + } + /* Set the phase to Step 1 */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_1; + /* Resort to hhash internal fields to feed the IP. + Parameters will be updated in case of suspension to contain the proper + information at resumption time. */ + hhash->pHashOutBuffPtr = pOutBuffer; /* Output digest address */ + hhash->pHashInBuffPtr = pInBuffer; /* Input data address, HMAC_Processing input parameter for Step 2 */ + hhash->HashInCount = Size; /* Input data size, HMAC_Processing input parameter for Step 2 */ + hhash->HashBuffSize = Size; /* Store the input buffer size for the whole HMAC process */ + hhash->pHashKeyBuffPtr = hhash->Init.pKey; /* Key address, HMAC_Processing input parameter for Step 1 and Step 3 */ + hhash->HashKeyCount = hhash->Init.KeySize; /* Key size, HMAC_Processing input parameter for Step 1 and Step 3 */ + } + + /* Carry out HMAC processing */ + return HMAC_Processing(hhash, Timeout); + + } + else + { + return HAL_BUSY; + } +} + + + +/** + * @brief Initialize the HASH peripheral in HMAC mode, next process pInBuffer then + * read the computed digest in interruption mode. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. + * @param Algorithm: HASH algorithm. + * @retval HAL status + */ +HAL_StatusTypeDef HMAC_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Algorithm) +{ + /* If State is ready or suspended, start or resume IT-based HASH processing */ + if((hhash->State == HAL_HASH_STATE_READY) || (hhash->State == HAL_HASH_STATE_SUSPENDED)) + { + /* Check input parameters */ + if ((pInBuffer == NULL) || (Size == 0) || (hhash->Init.pKey == NULL) || (hhash->Init.KeySize == 0) || (pOutBuffer == NULL)) + { + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Initialize IT counter */ + hhash->HashITCounter = 1; + + /* Check if initialization phase has already be performed */ + if (hhash->Phase == HAL_HASH_PHASE_READY) + { + /* Check if key size is larger than 64 bytes, accordingly set LKEY and the other setting bits */ + if(hhash->Init.KeySize > 64) + { + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_ALGOMODE_HMAC | HASH_HMAC_KEYTYPE_LONGKEY | HASH_CR_INIT); + } + else + { + MODIFY_REG(HASH->CR, HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_ALGOMODE_HMAC | HASH_CR_INIT); + } + + /* Resort to hhash internal fields hhash->pHashInBuffPtr and hhash->HashInCount + to feed the IP whatever the HMAC step. + Lines below are set to start HMAC Step 1 processing where key is entered first. */ + hhash->HashInCount = hhash->Init.KeySize; /* Key size */ + hhash->pHashInBuffPtr = hhash->Init.pKey ; /* Key address */ + + /* Store input and output parameters in handle fields to manage steps transition + or possible HMAC suspension/resumption */ + hhash->pHashKeyBuffPtr = hhash->Init.pKey; /* Key address */ + hhash->pHashMsgBuffPtr = pInBuffer; /* Input message address */ + hhash->HashBuffSize = Size; /* Input message size (in bytes) */ + hhash->pHashOutBuffPtr = pOutBuffer; /* Output digest address */ + + /* Configure the number of valid bits in last word of the key */ + __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); + + /* Set the phase to Step 1 */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_1; + } + else if ((hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) || (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_3)) + { + /* Restart IT-based HASH processing after Step 1 or Step 3 suspension */ + + } + else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) + { + /* Restart IT-based HASH processing after Step 2 suspension */ + + } + else + { + /* Error report as phase incorrect */ + /* Process Unlock */ + __HAL_UNLOCK(hhash); + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + /* Process Unlock */ + __HAL_UNLOCK(hhash); + + /* Enable Interrupts */ + __HAL_HASH_ENABLE_IT(HASH_IT_DINI|HASH_IT_DCI); + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_BUSY; + } + +} + + + +/** + * @brief Initialize the HASH peripheral in HMAC mode then initiate the required + * DMA transfers to feed the key and the input buffer to the IP. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note In case of multi-buffer HMAC processing, the input buffer size (in bytes) must + * be a multiple of 4 otherwise, the HASH digest computation is corrupted. + * Only the length of the last buffer of the thread doesn't have to be a + * multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param Algorithm: HASH algorithm. + * @retval HAL status + */ +HAL_StatusTypeDef HMAC_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint32_t Algorithm) +{ + uint32_t inputaddr; + uint32_t inputSize = 0x0; + + /* Make sure the input buffer size (in bytes) is a multiple of 4 when digest calculation + is disabled (multi-buffer HMAC processing, MDMAT bit to be set) */ + assert_param(IS_HMAC_DMA_MULTIBUFFER_SIZE(hhash, Size)); + + /* If State is ready or suspended, start or resume DMA-based HASH processing */ + if ((hhash->State == HAL_HASH_STATE_READY) || (hhash->State == HAL_HASH_STATE_SUSPENDED)) + { + /* Check input parameters */ + if ((pInBuffer == NULL ) || (Size == 0) || (hhash->Init.pKey == NULL ) || (hhash->Init.KeySize == 0) || + /* Check phase coherency. Phase must be + either READY (fresh start) + or one of HMAC PROCESS steps (multi-buffer HASH management) */ + ((hhash->Phase != HAL_HASH_PHASE_READY) && (!(IS_HMAC_PROCESSING(hhash))))) + { + hhash->State = HAL_HASH_STATE_READY; + return HAL_ERROR; + } + + + /* Process Locked */ + __HAL_LOCK(hhash); + + /* If not a case of resumption after suspension */ + if (hhash->State == HAL_HASH_STATE_READY) + { + /* Check whether or not initialization phase has already be performed */ + if(hhash->Phase == HAL_HASH_PHASE_READY) + { + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Check if key size is larger than 64 bytes, accordingly set LKEY and the other setting bits. + At the same time, ensure MDMAT bit is cleared. */ + if(hhash->Init.KeySize > 64) + { + MODIFY_REG(HASH->CR, HASH_CR_MDMAT|HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_ALGOMODE_HMAC | HASH_HMAC_KEYTYPE_LONGKEY | HASH_CR_INIT); + } + else + { + MODIFY_REG(HASH->CR, HASH_CR_MDMAT|HASH_CR_LKEY|HASH_CR_ALGO|HASH_CR_MODE|HASH_CR_INIT, Algorithm | HASH_ALGOMODE_HMAC | HASH_CR_INIT); + } + + /* Store input aparameters in handle fields to manage steps transition + or possible HMAC suspension/resumption */ + hhash->HashInCount = hhash->Init.KeySize; /* Initial size for first DMA transfer (key size) */ + hhash->pHashKeyBuffPtr = hhash->Init.pKey; /* Key address */ + hhash->pHashInBuffPtr = hhash->Init.pKey ; /* First address passed to DMA (key address at Step 1) */ + hhash->pHashMsgBuffPtr = pInBuffer; /* Input data address */ + hhash->HashBuffSize = Size; /* input data size (in bytes) */ + + /* Set DMA input parameters */ + inputaddr = (uint32_t)(hhash->Init.pKey); /* Address passed to DMA (start by entering Key message) */ + inputSize = hhash->Init.KeySize; /* Size for first DMA transfer (in bytes) */ + + /* Configure the number of valid bits in last word of the key */ + __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); + + /* Set the phase to Step 1 */ + hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_1; + + } + else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) + { + /* Process a new input data message in case of multi-buffer HMAC processing + (this is not a resumption case) */ + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Save input parameters to be able to manage possible suspension/resumption */ + hhash->HashInCount = Size; /* Input message address */ + hhash->pHashInBuffPtr = pInBuffer; /* Input message size in bytes */ + + /* Set DMA input parameters */ + inputaddr = (uint32_t)pInBuffer; /* Input message address */ + inputSize = Size; /* Input message size in bytes */ + + if (hhash->DigestCalculationDisable == RESET) + { + /* This means this is the last buffer of the multi-buffer sequence: DCAL needs to be set. */ + __HAL_HASH_RESET_MDMAT(); + __HAL_HASH_SET_NBVALIDBITS(inputSize); + } + } + else + { + /* Phase not aligned with handle READY state */ + __HAL_UNLOCK(hhash); + /* Return function status */ + return HAL_ERROR; + } + } + else + { + /* Resumption case (phase may be Step 1, 2 or 3) */ + + /* Change the HASH state */ + hhash->State = HAL_HASH_STATE_BUSY; + + /* Set DMA input parameters at resumption location; + inputaddr and inputSize are not set to the API input parameters + but to those saved beforehand by HAL_HASH_DMAFeed_ProcessSuspend() when the + processing was suspended. */ + inputaddr = (uint32_t)(hhash->pHashInBuffPtr); /* Input message address */ + inputSize = hhash->HashInCount; /* Input message size in bytes */ + } + + + /* Set the HASH DMA transfert complete callback */ + hhash->hdmain->XferCpltCallback = HASH_DMAXferCplt; + /* Set the DMA error callback */ + hhash->hdmain->XferErrorCallback = HASH_DMAError; + + /* Enable the DMA In DMA Stream */ + HAL_DMA_Start_IT(hhash->hdmain, inputaddr, (uint32_t)&HASH->DIN, (inputSize%4 ? (inputSize+3)/4:inputSize/4)); + /* Enable DMA requests */ + SET_BIT(HASH->CR, HASH_CR_DMAE); + + /* Process Unlocked */ + __HAL_UNLOCK(hhash); + + /* Return function status */ + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_HASH_MODULE_ENABLED */ +/** + * @} + */ +#endif /* HASH */ +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash_ex.c new file mode 100644 index 0000000000..833953c5cb --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash_ex.c @@ -0,0 +1,930 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hash_ex.c + * @author MCD Application Team + * @brief Extended HASH HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the HASH peripheral for SHA-224 and SHA-256 + * alogrithms: + * + HASH or HMAC processing in polling mode + * + HASH or HMAC processing in interrupt mode + * + HASH or HMAC processing in DMA mode + * Additionally, this file provides functions to manage HMAC + * multi-buffer DMA-based processing for MD-5, SHA-1, SHA-224 + * and SHA-256. + * + * + @verbatim + =============================================================================== + ##### HASH peripheral extended features ##### + =============================================================================== + [..] + The SHA-224 and SHA-256 HASH and HMAC processing can be carried out exactly + the same way as for SHA-1 or MD-5 algorithms. + (#) Three modes are available. + (##) Polling mode: processing APIs are blocking functions + i.e. they process the data and wait till the digest computation is finished, + e.g. HAL_HASHEx_xxx_Start() + (##) Interrupt mode: processing APIs are not blocking functions + i.e. they process the data under interrupt, + e.g. HAL_HASHEx_xxx_Start_IT() + (##) DMA mode: processing APIs are not blocking functions and the CPU is + not used for data transfer i.e. the data transfer is ensured by DMA, + e.g. HAL_HASHEx_xxx_Start_DMA(). Note that in DMA mode, a call to + HAL_HASHEx_xxx_Finish() is then required to retrieve the digest. + + (#)Multi-buffer processing is possible in polling and DMA mode. + (##) In polling mode, only multi-buffer HASH processing is possible. + API HAL_HASHEx_xxx_Accumulate() must be called for each input buffer, except for the last one. + User must resort to HAL_HASHEx_xxx_Start() to enter the last one and retrieve as + well the computed digest. + + (##) In DMA mode, multi-buffer HASH and HMAC processing are possible. + + (+++) HASH processing: once initialization is done, MDMAT bit must be set thru __HAL_HASH_SET_MDMAT() macro. + From that point, each buffer can be fed to the IP thru HAL_HASHEx_xxx_Start_DMA() API. + Before entering the last buffer, reset the MDMAT bit with __HAL_HASH_RESET_MDMAT() + macro then wrap-up the HASH processing in feeding the last input buffer thru the + same API HAL_HASHEx_xxx_Start_DMA(). The digest can then be retrieved with a call to + API HAL_HASHEx_xxx_Finish(). + + (+++) HMAC processing (MD-5, SHA-1, SHA-224 and SHA-256 must all resort to + extended functions): after initialization, the key and the first input buffer are entered + in the IP with the API HAL_HMACEx_xxx_Step1_2_DMA(). This carries out HMAC step 1 and + starts step 2. + The following buffers are next entered with the API HAL_HMACEx_xxx_Step2_DMA(). At this + point, the HMAC processing is still carrying out step 2. + Then, step 2 for the last input buffer and step 3 are carried out by a single call + to HAL_HMACEx_xxx_Step2_3_DMA(). + + The digest can finally be retrieved with a call to API HAL_HASH_xxx_Finish() for + MD-5 and SHA-1, to HAL_HASHEx_xxx_Finish() for SHA-224 and SHA-256. + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#ifdef HAL_HASH_MODULE_ENABLED + +#if defined (HASH) + +/** @defgroup HASHEx HASHEx + * @brief HASH HAL extended module driver. + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup HASHEx_Exported_Functions HASH Extended Exported Functions + * @{ + */ + + +/** @defgroup HASHEx_Exported_Functions_Group1 HASH extended processing functions in polling mode + * @brief HASH extended processing functions using polling mode. + * +@verbatim + =============================================================================== + ##### Polling mode HASH extended processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in polling mode + the hash value using one of the following algorithms: + (+) SHA224 + (++) HAL_HASHEx_SHA224_Start() + (++) HAL_HASHEx_SHA224_Accumulate() + (+) SHA256 + (++) HAL_HASHEx_SHA256_Start() + (++) HAL_HASHEx_SHA256_Accumulate() + + [..] For a single buffer to be hashed, user can resort to HAL_HASH_xxx_Start(). + + [..] In case of multi-buffer HASH processing (a single digest is computed while + several buffers are fed to the IP), the user can resort to successive calls + to HAL_HASHEx_xxx_Accumulate() and wrap-up the digest computation by a call + to HAL_HASHEx_xxx_Start(). + +@endverbatim + * @{ + */ + + +/** + * @brief Initialize the HASH peripheral in SHA224 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 28 bytes. + * @param Timeout: Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA224_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief If not already done, initialize the HASH peripheral in SHA224 mode then + * processes pInBuffer. + * @note Consecutive calls to HAL_HASHEx_SHA224_Accumulate() can be used to feed + * several input buffers back-to-back to the IP that will yield a single + * HASH signature once all buffers have been entered. Wrap-up of input + * buffers feeding and retrieval of digest is done by a call to + * HAL_HASHEx_SHA224_Start(). + * @note Field hhash->Phase of HASH handle is tested to check whether or not + * the IP has already been initialized. + * @note Digest is not retrieved by this API, user must resort to HAL_HASHEx_SHA224_Start() + * to read it, feeding at the same time the last input buffer to the IP. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. Only HAL_HASHEx_SHA224_Start() is able + * to manage the ending buffer with a length in bytes not a multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes, must be a multiple of 4. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA224_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Accumulate(hhash, pInBuffer, Size,HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief Initialize the HASH peripheral in SHA256 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 32 bytes. + * @param Timeout: Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA256_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA256); +} + +/** + * @brief If not already done, initialize the HASH peripheral in SHA256 mode then + * processes pInBuffer. + * @note Consecutive calls to HAL_HASHEx_SHA256_Accumulate() can be used to feed + * several input buffers back-to-back to the IP that will yield a single + * HASH signature once all buffers have been entered. Wrap-up of input + * buffers feeding and retrieval of digest is done by a call to + * HAL_HASHEx_SHA256_Start(). + * @note Field hhash->Phase of HASH handle is tested to check whether or not + * the IP has already been initialized. + * @note Digest is not retrieved by this API, user must resort to HAL_HASHEx_SHA256_Start() + * to read it, feeding at the same time the last input buffer to the IP. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. Only HAL_HASHEx_SHA256_Start() is able + * to manage the ending buffer with a length in bytes not a multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes, must be a multiple of 4. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA256_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Accumulate(hhash, pInBuffer, Size,HASH_ALGOSELECTION_SHA256); +} + + +/** + * @} + */ + +/** @defgroup HASHEx_Exported_Functions_Group2 HASH extended processing functions in interrupt mode + * @brief HASH extended processing functions using interrupt mode. + * +@verbatim + =============================================================================== + ##### Interruption mode HASH extended processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in interrupt mode + the hash value using one of the following algorithms: + (+) SHA224 + (++) HAL_HASHEx_SHA224_Start_IT() + (+) SHA256 + (++) HAL_HASHEx_SHA256_Start_IT() + +@endverbatim + * @{ + */ + + +/** + * @brief Initialize the HASH peripheral in SHA224 mode, next process pInBuffer then + * read the computed digest in interruption mode. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 28 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA224_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HASH_Start_IT(hhash, pInBuffer, Size, pOutBuffer,HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief Initialize the HASH peripheral in SHA256 mode, next process pInBuffer then + * read the computed digest in interruption mode. + * @note Digest is available in pOutBuffer. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 32 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA256_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HASH_Start_IT(hhash, pInBuffer, Size, pOutBuffer,HASH_ALGOSELECTION_SHA256); +} + +/** + * @} + */ + +/** @defgroup HASHEx_Exported_Functions_Group3 HASH extended processing functions in DMA mode + * @brief HASH extended processing functions using DMA mode. + * +@verbatim + =============================================================================== + ##### DMA mode HASH extended processing functionss ##### + =============================================================================== + [..] This section provides functions allowing to calculate in DMA mode + the hash value using one of the following algorithms: + (+) SHA224 + (++) HAL_HASHEx_SHA224_Start_DMA() + (++) HAL_HASHEx_SHA224_Finish() + (+) SHA256 + (++) HAL_HASHEx_SHA256_Start_DMA() + (++) HAL_HASHEx_SHA256_Finish() + + [..] When resorting to DMA mode to enter the data in the IP, user must resort + to HAL_HASHEx_xxx_Start_DMA() then read the resulting digest with + HAL_HASHEx_xxx_Finish(). + + [..] In case of multi-buffer HASH processing, MDMAT bit must first be set before + the successive calls to HAL_HASHEx_xxx_Start_DMA(). Then, MDMAT bit needs to be + reset before the last call to HAL_HASHEx_xxx_Start_DMA(). Digest is finally + retrieved thanks to HAL_HASHEx_xxx_Finish(). + +@endverbatim + * @{ + */ + + + + +/** + * @brief Initialize the HASH peripheral in SHA224 mode then initiate a DMA transfer + * to feed the input buffer to the IP. + * @note Once the DMA transfer is finished, HAL_HASHEx_SHA224_Finish() API must + * be called to retrieve the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA224_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief Return the computed digest in SHA224 mode. + * @note The API waits for DCIS to be set then reads the computed digest. + * @note HAL_HASHEx_SHA224_Finish() can be used as well to retrieve the digest in + * HMAC SHA224 mode. + * @param hhash: HASH handle. + * @param pOutBuffer: pointer to the computed digest. Digest size is 28 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA224_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Finish(hhash, pOutBuffer, Timeout); +} + +/** + * @brief Initialize the HASH peripheral in SHA256 mode then initiate a DMA transfer + * to feed the input buffer to the IP. + * @note Once the DMA transfer is finished, HAL_HASHEx_SHA256_Finish() API must + * be called to retrieve the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA256_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HASH_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA256); +} + +/** + * @brief Return the computed digest in SHA256 mode. + * @note The API waits for DCIS to be set then reads the computed digest. + * @note HAL_HASHEx_SHA256_Finish() can be used as well to retrieve the digest in + * HMAC SHA256 mode. + * @param hhash: HASH handle. + * @param pOutBuffer: pointer to the computed digest. Digest size is 32 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HASHEx_SHA256_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HASH_Finish(hhash, pOutBuffer, Timeout); +} + +/** + * @} + */ + +/** @defgroup HASHEx_Exported_Functions_Group4 HMAC extended processing functions in polling mode + * @brief HMAC extended processing functions using polling mode. + * +@verbatim + =============================================================================== + ##### Polling mode HMAC extended processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in polling mode + the HMAC value using one of the following algorithms: + (+) SHA224 + (++) HAL_HMACEx_SHA224_Start() + (+) SHA256 + (++) HAL_HMACEx_SHA256_Start() + +@endverbatim + * @{ + */ + + + +/** + * @brief Initialize the HASH peripheral in HMAC SHA224 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 28 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA224_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HMAC_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief Initialize the HASH peripheral in HMAC SHA256 mode, next process pInBuffer then + * read the computed digest. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 32 bytes. + * @param Timeout: Timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA256_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer, uint32_t Timeout) +{ + return HMAC_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA256); +} + +/** + * @} + */ + + +/** @defgroup HASHEx_Exported_Functions_Group5 HMAC extended processing functions in interrupt mode + * @brief HMAC extended processing functions using interruption mode. + * +@verbatim + =============================================================================== + ##### Interrupt mode HMAC extended processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in interrupt mode + the HMAC value using one of the following algorithms: + (+) SHA224 + (++) HAL_HMACEx_SHA224_Start_IT() + (+) SHA256 + (++) HAL_HMACEx_SHA256_Start_IT() + +@endverbatim + * @{ + */ + + + +/** + * @brief Initialize the HASH peripheral in HMAC SHA224 mode, next process pInBuffer then + * read the computed digest in interrupt mode. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 28 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA224_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HMAC_Start_IT(hhash, pInBuffer, Size, pOutBuffer, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief Initialize the HASH peripheral in HMAC SHA256 mode, next process pInBuffer then + * read the computed digest in interrupt mode. + * @note Digest is available in pOutBuffer. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @param pOutBuffer: pointer to the computed digest. Digest size is 32 bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA256_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t* pOutBuffer) +{ + return HMAC_Start_IT(hhash, pInBuffer, Size, pOutBuffer, HASH_ALGOSELECTION_SHA256); +} + + + + +/** + * @} + */ + + +/** @defgroup HASHEx_Exported_Functions_Group6 HMAC extended processing functions in DMA mode + * @brief HMAC extended processing functions using DMA mode. + * +@verbatim + =============================================================================== + ##### DMA mode HMAC extended processing functions ##### + =============================================================================== + [..] This section provides functions allowing to calculate in DMA mode + the HMAC value using one of the following algorithms: + (+) SHA224 + (++) HAL_HMACEx_SHA224_Start_DMA() + (+) SHA256 + (++) HAL_HMACEx_SHA256_Start_DMA() + + [..] When resorting to DMA mode to enter the data in the IP for HMAC processing, + user must resort to HAL_HMACEx_xxx_Start_DMA() then read the resulting digest + with HAL_HASHEx_xxx_Finish(). + + +@endverbatim + * @{ + */ + + + +/** + * @brief Initialize the HASH peripheral in HMAC SHA224 mode then initiate the required + * DMA transfers to feed the key and the input buffer to the IP. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASHEx_SHA224_Finish() API must be called to retrieve + * the computed digest. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note If MDMAT bit is set before calling this function (multi-buffer + * HASH processing case), the input buffer size (in bytes) must be + * a multiple of 4 otherwise, the HASH digest computation is corrupted. + * For the processing of the last buffer of the thread, MDMAT bit must + * be reset and the buffer length (in bytes) doesn't have to be a + * multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA224_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief Initialize the HASH peripheral in HMAC SHA224 mode then initiate the required + * DMA transfers to feed the key and the input buffer to the IP. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASHEx_SHA256_Finish() API must be called to retrieve + * the computed digest. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note If MDMAT bit is set before calling this function (multi-buffer + * HASH processing case), the input buffer size (in bytes) must be + * a multiple of 4 otherwise, the HASH digest computation is corrupted. + * For the processing of the last buffer of the thread, MDMAT bit must + * be reset and the buffer length (in bytes) doesn't have to be a + * multiple of 4. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (buffer to be hashed). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA256_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA256); +} + + +/** + * @} + */ + +/** @defgroup HASHEx_Exported_Functions_Group7 Multi-buffer HMAC extended processing functions in DMA mode + * @brief HMAC extended processing functions in multi-buffer DMA mode. + * +@verbatim + =============================================================================== + ##### Multi-buffer DMA mode HMAC extended processing functions ##### + =============================================================================== + [..] This section provides functions to manage HMAC multi-buffer + DMA-based processing for MD5, SHA1, SHA224 and SHA256 algorithms. + (+) MD5 + (++) HAL_HMACEx_MD5_Step1_2_DMA() + (++) HAL_HMACEx_MD5_Step2_DMA() + (++) HAL_HMACEx_MD5_Step2_3_DMA() + (+) SHA1 + (++) HAL_HMACEx_SHA1_Step1_2_DMA() + (++) HAL_HMACEx_SHA1_Step2_DMA() + (++) HAL_HMACEx_SHA1_Step2_3_DMA() + (+) SHA256 + (++) HAL_HMACEx_SHA224_Step1_2_DMA() + (++) HAL_HMACEx_SHA224_Step2_DMA() + (++) HAL_HMACEx_SHA224_Step2_3_DMA() + (+) SHA256 + (++) HAL_HMACEx_SHA256_Step1_2_DMA() + (++) HAL_HMACEx_SHA256_Step2_DMA() + (++) HAL_HMACEx_SHA256_Step2_3_DMA() + + [..] User must first start-up the multi-buffer DMA-based HMAC computation in + calling HAL_HMACEx_xxx_Step1_2_DMA(). This carries out HMAC step 1 and + intiates step 2 with the first input buffer. + + [..] The following buffers are next fed to the IP with a call to the API + HAL_HMACEx_xxx_Step2_DMA(). There may be several consecutive calls + to this API. + + [..] Multi-buffer DMA-based HMAC computation is wrapped up by a call to + HAL_HMACEx_xxx_Step2_3_DMA(). This finishes step 2 in feeding the last input + buffer to the IP then carries out step 3. + + [..] Digest is retrieved by a call to HAL_HASH_xxx_Finish() for MD-5 or + SHA-1, to HAL_HASHEx_xxx_Finish() for SHA-224 or SHA-256. + + [..] If only two buffers need to be consecutively processed, a call to + HAL_HMACEx_xxx_Step1_2_DMA() followed by a call to HAL_HMACEx_xxx_Step2_3_DMA() + is sufficient. + +@endverbatim + * @{ + */ + +/** + * @brief MD5 HMAC step 1 completion and step 2 start in multi-buffer DMA mode. + * @note Step 1 consists in writing the inner hash function key in the IP, + * step 2 consists in writing the message text. + * @note The API carries out the HMAC step 1 then starts step 2 with + * the first buffer entered to the IP. DCAL bit is not automatically set after + * the message buffer feeding, allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_MD5_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = SET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_MD5); +} + +/** + * @brief MD5 HMAC step 2 in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP. + * @note The API carries on the HMAC step 2, applied to the buffer entered as input + * parameter. DCAL bit is not automatically set after the message buffer feeding, + * allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_MD5_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + if (hhash->DigestCalculationDisable != SET) + { + return HAL_ERROR; + } + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_MD5); +} + +/** + * @brief MD5 HMAC step 2 wrap-up and step 3 completion in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP, + * step 3 consists in writing the outer hash function key. + * @note The API wraps up the HMAC step 2 in processing the buffer entered as input + * parameter (the input buffer must be the last one of the multi-buffer thread) + * then carries out HMAC step 3. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASHEx_SHA256_Finish() API must be called to retrieve + * the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_MD5_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = RESET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_MD5); +} + + +/** + * @brief SHA1 HMAC step 1 completion and step 2 start in multi-buffer DMA mode. + * @note Step 1 consists in writing the inner hash function key in the IP, + * step 2 consists in writing the message text. + * @note The API carries out the HMAC step 1 then starts step 2 with + * the first buffer entered to the IP. DCAL bit is not automatically set after + * the message buffer feeding, allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA1_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = SET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA1); +} + +/** + * @brief SHA1 HMAC step 2 in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP. + * @note The API carries on the HMAC step 2, applied to the buffer entered as input + * parameter. DCAL bit is not automatically set after the message buffer feeding, + * allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA1_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + if (hhash->DigestCalculationDisable != SET) + { + return HAL_ERROR; + } + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA1); +} + +/** + * @brief SHA1 HMAC step 2 wrap-up and step 3 completion in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP, + * step 3 consists in writing the outer hash function key. + * @note The API wraps up the HMAC step 2 in processing the buffer entered as input + * parameter (the input buffer must be the last one of the multi-buffer thread) + * then carries out HMAC step 3. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASHEx_SHA256_Finish() API must be called to retrieve + * the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA1_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = RESET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA1); +} + +/** + * @brief SHA224 HMAC step 1 completion and step 2 start in multi-buffer DMA mode. + * @note Step 1 consists in writing the inner hash function key in the IP, + * step 2 consists in writing the message text. + * @note The API carries out the HMAC step 1 then starts step 2 with + * the first buffer entered to the IP. DCAL bit is not automatically set after + * the message buffer feeding, allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA224_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = SET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief SHA224 HMAC step 2 in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP. + * @note The API carries on the HMAC step 2, applied to the buffer entered as input + * parameter. DCAL bit is not automatically set after the message buffer feeding, + * allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA224_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + if (hhash->DigestCalculationDisable != SET) + { + return HAL_ERROR; + } + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief SHA224 HMAC step 2 wrap-up and step 3 completion in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP, + * step 3 consists in writing the outer hash function key. + * @note The API wraps up the HMAC step 2 in processing the buffer entered as input + * parameter (the input buffer must be the last one of the multi-buffer thread) + * then carries out HMAC step 3. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASHEx_SHA256_Finish() API must be called to retrieve + * the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA224_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = RESET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA224); +} + +/** + * @brief SHA256 HMAC step 1 completion and step 2 start in multi-buffer DMA mode. + * @note Step 1 consists in writing the inner hash function key in the IP, + * step 2 consists in writing the message text. + * @note The API carries out the HMAC step 1 then starts step 2 with + * the first buffer entered to the IP. DCAL bit is not automatically set after + * the message buffer feeding, allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA256_Step1_2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = SET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA256); +} + +/** + * @brief SHA256 HMAC step 2 in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP. + * @note The API carries on the HMAC step 2, applied to the buffer entered as input + * parameter. DCAL bit is not automatically set after the message buffer feeding, + * allowing other messages DMA transfers to occur. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note The input buffer size (in bytes) must be a multiple of 4 otherwise, the + * HASH digest computation is corrupted. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA256_Step2_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + if (hhash->DigestCalculationDisable != SET) + { + return HAL_ERROR; + } + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA256); +} + +/** + * @brief SHA256 HMAC step 2 wrap-up and step 3 completion in multi-buffer DMA mode. + * @note Step 2 consists in writing the message text in the IP, + * step 3 consists in writing the outer hash function key. + * @note The API wraps up the HMAC step 2 in processing the buffer entered as input + * parameter (the input buffer must be the last one of the multi-buffer thread) + * then carries out HMAC step 3. + * @note Same key is used for the inner and the outer hash functions; pointer to key and + * key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize. + * @note Once the DMA transfers are finished (indicated by hhash->State set back + * to HAL_HASH_STATE_READY), HAL_HASHEx_SHA256_Finish() API must be called to retrieve + * the computed digest. + * @param hhash: HASH handle. + * @param pInBuffer: pointer to the input buffer (message buffer). + * @param Size: length of the input buffer in bytes. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HMACEx_SHA256_Step2_3_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) +{ + hhash->DigestCalculationDisable = RESET; + return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA256); +} + +/** + * @} + */ + + +/** + * @} + */ + +/** + * @} + */ +#endif /* HASH */ + +#endif /* HAL_HASH_MODULE_ENABLED */ +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hcd.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hcd.c new file mode 100644 index 0000000000..54fa91449f --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hcd.c @@ -0,0 +1,1232 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hcd.c + * @author MCD Application Team + * @brief HCD HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the USB Peripheral Controller: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#)Declare a HCD_HandleTypeDef handle structure, for example: + HCD_HandleTypeDef hhcd; + + (#)Fill parameters of Init structure in HCD handle + + (#)Call HAL_HCD_Init() API to initialize the HCD peripheral (Core, Host core, ...) + + (#)Initialize the HCD low level resources through the HAL_HCD_MspInit() API: + (##) Enable the HCD/USB Low Level interface clock using the following macros + (+++) __OTGFS-OTG_CLK_ENABLE() or __OTGHS-OTG_CLK_ENABLE() + (+++) __OTGHSULPI_CLK_ENABLE() For High Speed Mode + + (##) Initialize the related GPIO clocks + (##) Configure HCD pin-out + (##) Configure HCD NVIC interrupt + + (#)Associate the Upper USB Host stack to the HAL HCD Driver: + (##) hhcd.pData = phost; + + (#)Enable HCD transmission and reception: + (##) HAL_HCD_Start(); + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup HCD HCD + * @brief HCD HAL module driver + * @{ + */ + +#ifdef HAL_HCD_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function ----------------------------------------------------------*/ +/** @defgroup HCD_Private_Functions HCD Private Functions + * @{ + */ +static void HCD_HC_IN_IRQHandler(HCD_HandleTypeDef *hhcd, uint8_t chnum); +static void HCD_HC_OUT_IRQHandler(HCD_HandleTypeDef *hhcd, uint8_t chnum); +static void HCD_RXQLVL_IRQHandler(HCD_HandleTypeDef *hhcd); +static void HCD_Port_IRQHandler(HCD_HandleTypeDef *hhcd); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup HCD_Exported_Functions HCD Exported Functions + * @{ + */ + +/** @defgroup HCD_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the host driver. + * @param hhcd: HCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HCD_Init(HCD_HandleTypeDef *hhcd) +{ + /* Check the HCD handle allocation */ + if(hhcd == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_HCD_ALL_INSTANCE(hhcd->Instance)); + + hhcd->State = HAL_HCD_STATE_BUSY; + + /* Init the low level hardware : GPIO, CLOCK, NVIC... */ + HAL_HCD_MspInit(hhcd); + + /* Disable the Interrupts */ + __HAL_HCD_DISABLE(hhcd); + + /*Init the Core (common init.) */ + USB_CoreInit(hhcd->Instance, hhcd->Init); + + /* Force Host Mode*/ + USB_SetCurrentMode(hhcd->Instance , USB_OTG_HOST_MODE); + + /* Init Host */ + USB_HostInit(hhcd->Instance, hhcd->Init); + + hhcd->State= HAL_HCD_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Initialize a host channel. + * @param hhcd: HCD handle + * @param ch_num: Channel number. + * This parameter can be a value from 1 to 15 + * @param epnum: Endpoint number. + * This parameter can be a value from 1 to 15 + * @param dev_address : Current device address + * This parameter can be a value from 0 to 255 + * @param speed: Current device speed. + * This parameter can be one of these values: + * HCD_SPEED_HIGH: High speed mode, + * HCD_SPEED_FULL: Full speed mode, + * HCD_SPEED_LOW: Low speed mode + * @param ep_type: Endpoint Type. + * This parameter can be one of these values: + * EP_TYPE_CTRL: Control type, + * EP_TYPE_ISOC: Isochronous type, + * EP_TYPE_BULK: Bulk type, + * EP_TYPE_INTR: Interrupt type + * @param mps: Max Packet Size. + * This parameter can be a value from 0 to32K + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HCD_HC_Init(HCD_HandleTypeDef *hhcd, + uint8_t ch_num, + uint8_t epnum, + uint8_t dev_address, + uint8_t speed, + uint8_t ep_type, + uint16_t mps) +{ + HAL_StatusTypeDef status = HAL_OK; + + __HAL_LOCK(hhcd); + + hhcd->hc[ch_num].dev_addr = dev_address; + hhcd->hc[ch_num].max_packet = mps; + hhcd->hc[ch_num].ch_num = ch_num; + hhcd->hc[ch_num].ep_type = ep_type; + hhcd->hc[ch_num].ep_num = epnum & 0x7F; + hhcd->hc[ch_num].ep_is_in = ((epnum & 0x80) == 0x80); + hhcd->hc[ch_num].speed = speed; + + status = USB_HC_Init(hhcd->Instance, + ch_num, + epnum, + dev_address, + speed, + ep_type, + mps); + __HAL_UNLOCK(hhcd); + + return status; +} + +/** + * @brief Halt a host channel. + * @param hhcd: HCD handle + * @param ch_num: Channel number. + * This parameter can be a value from 1 to 15 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HCD_HC_Halt(HCD_HandleTypeDef *hhcd, uint8_t ch_num) +{ + HAL_StatusTypeDef status = HAL_OK; + + __HAL_LOCK(hhcd); + USB_HC_Halt(hhcd->Instance, ch_num); + __HAL_UNLOCK(hhcd); + + return status; +} + +/** + * @brief DeInitialize the host driver. + * @param hhcd: HCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HCD_DeInit(HCD_HandleTypeDef *hhcd) +{ + /* Check the HCD handle allocation */ + if(hhcd == NULL) + { + return HAL_ERROR; + } + + hhcd->State = HAL_HCD_STATE_BUSY; + + /* DeInit the low level hardware */ + HAL_HCD_MspDeInit(hhcd); + + __HAL_HCD_DISABLE(hhcd); + + hhcd->State = HAL_HCD_STATE_RESET; + + return HAL_OK; +} + +/** + * @brief Initialize the HCD MSP. + * @param hhcd: HCD handle + * @retval None + */ +__weak void HAL_HCD_MspInit(HCD_HandleTypeDef *hhcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_HCD_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize the HCD MSP. + * @param hhcd: HCD handle + * @retval None + */ +__weak void HAL_HCD_MspDeInit(HCD_HandleTypeDef *hhcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_HCD_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup HCD_Exported_Functions_Group2 Input and Output operation functions + * @brief HCD IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to manage the USB Host Data + Transfer + +@endverbatim + * @{ + */ + +/** + * @brief Submit a new URB for processing. + * @param hhcd: HCD handle + * @param ch_num: Channel number. + * This parameter can be a value from 1 to 15 + * @param direction: Channel number. + * This parameter can be one of these values: + * 0 : Output / 1 : Input + * @param ep_type: Endpoint Type. + * This parameter can be one of these values: + * EP_TYPE_CTRL: Control type/ + * EP_TYPE_ISOC: Isochronous type/ + * EP_TYPE_BULK: Bulk type/ + * EP_TYPE_INTR: Interrupt type/ + * @param token: Endpoint Type. + * This parameter can be one of these values: + * 0: HC_PID_SETUP / 1: HC_PID_DATA1 + * @param pbuff: pointer to URB data + * @param length: Length of URB data + * @param do_ping: activate do ping protocol (for high speed only). + * This parameter can be one of these values: + * 0 : do ping inactive / 1 : do ping active + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HCD_HC_SubmitRequest(HCD_HandleTypeDef *hhcd, + uint8_t ch_num, + uint8_t direction , + uint8_t ep_type, + uint8_t token, + uint8_t* pbuff, + uint16_t length, + uint8_t do_ping) +{ + hhcd->hc[ch_num].ep_is_in = direction; + hhcd->hc[ch_num].ep_type = ep_type; + + if(token == 0) + { + hhcd->hc[ch_num].data_pid = HC_PID_SETUP; + } + else + { + hhcd->hc[ch_num].data_pid = HC_PID_DATA1; + } + + /* Manage Data Toggle */ + switch(ep_type) + { + case EP_TYPE_CTRL: + if((token == 1) && (direction == 0)) /*send data */ + { + if ( length == 0 ) + { /* For Status OUT stage, Length==0, Status Out PID = 1 */ + hhcd->hc[ch_num].toggle_out = 1; + } + + /* Set the Data Toggle bit as per the Flag */ + if ( hhcd->hc[ch_num].toggle_out == 0) + { /* Put the PID 0 */ + hhcd->hc[ch_num].data_pid = HC_PID_DATA0; + } + else + { /* Put the PID 1 */ + hhcd->hc[ch_num].data_pid = HC_PID_DATA1 ; + } + if(hhcd->hc[ch_num].urb_state != URB_NOTREADY) + { + hhcd->hc[ch_num].do_ping = do_ping; + } + } + break; + + case EP_TYPE_BULK: + if(direction == 0) + { + /* Set the Data Toggle bit as per the Flag */ + if ( hhcd->hc[ch_num].toggle_out == 0) + { /* Put the PID 0 */ + hhcd->hc[ch_num].data_pid = HC_PID_DATA0; + } + else + { /* Put the PID 1 */ + hhcd->hc[ch_num].data_pid = HC_PID_DATA1 ; + } + if(hhcd->hc[ch_num].urb_state != URB_NOTREADY) + { + hhcd->hc[ch_num].do_ping = do_ping; + } + } + else + { + if( hhcd->hc[ch_num].toggle_in == 0) + { + hhcd->hc[ch_num].data_pid = HC_PID_DATA0; + } + else + { + hhcd->hc[ch_num].data_pid = HC_PID_DATA1; + } + } + + break; + case EP_TYPE_INTR: + if(direction == 0) + { + /* Set the Data Toggle bit as per the Flag */ + if ( hhcd->hc[ch_num].toggle_out == 0) + { /* Put the PID 0 */ + hhcd->hc[ch_num].data_pid = HC_PID_DATA0; + } + else + { /* Put the PID 1 */ + hhcd->hc[ch_num].data_pid = HC_PID_DATA1 ; + } + } + else + { + if( hhcd->hc[ch_num].toggle_in == 0) + { + hhcd->hc[ch_num].data_pid = HC_PID_DATA0; + } + else + { + hhcd->hc[ch_num].data_pid = HC_PID_DATA1; + } + } + break; + + case EP_TYPE_ISOC: + hhcd->hc[ch_num].data_pid = HC_PID_DATA0; + break; + } + + hhcd->hc[ch_num].xfer_buff = pbuff; + hhcd->hc[ch_num].xfer_len = length; + hhcd->hc[ch_num].urb_state = URB_IDLE; + hhcd->hc[ch_num].xfer_count = 0 ; + hhcd->hc[ch_num].ch_num = ch_num; + hhcd->hc[ch_num].state = HC_IDLE; + + return USB_HC_StartXfer(hhcd->Instance, &(hhcd->hc[ch_num]), hhcd->Init.dma_enable); +} + +/** + * @brief Handle HCD interrupt request. + * @param hhcd: HCD handle + * @retval None + */ +void HAL_HCD_IRQHandler(HCD_HandleTypeDef *hhcd) +{ + USB_OTG_GlobalTypeDef *USBx = hhcd->Instance; + uint32_t i = 0 , interrupt = 0; + + /* ensure that we are in device mode */ + if (USB_GetMode(hhcd->Instance) == USB_OTG_MODE_HOST) + { + /* avoid spurious interrupt */ + if(__HAL_HCD_IS_INVALID_INTERRUPT(hhcd)) + { + return; + } + + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) + { + /* incorrect mode, acknowledge the interrupt */ + __HAL_HCD_CLEAR_FLAG(hhcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); + } + + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_IISOIXFR)) + { + /* incorrect mode, acknowledge the interrupt */ + __HAL_HCD_CLEAR_FLAG(hhcd, USB_OTG_GINTSTS_IISOIXFR); + } + + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_PTXFE)) + { + /* incorrect mode, acknowledge the interrupt */ + __HAL_HCD_CLEAR_FLAG(hhcd, USB_OTG_GINTSTS_PTXFE); + } + + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_MMIS)) + { + /* incorrect mode, acknowledge the interrupt */ + __HAL_HCD_CLEAR_FLAG(hhcd, USB_OTG_GINTSTS_MMIS); + } + + /* Handle Host Disconnect Interrupts */ + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_DISCINT)) + { + + /* Cleanup HPRT */ + USBx_HPRT0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET |\ + USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG ); + + /* Handle Host Port Interrupts */ + HAL_HCD_Disconnect_Callback(hhcd); + USB_InitFSLSPClkSel(hhcd->Instance ,HCFG_48_MHZ ); + __HAL_HCD_CLEAR_FLAG(hhcd, USB_OTG_GINTSTS_DISCINT); + } + + /* Handle Host Port Interrupts */ + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_HPRTINT)) + { + HCD_Port_IRQHandler (hhcd); + } + + /* Handle Host SOF Interrupts */ + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_SOF)) + { + HAL_HCD_SOF_Callback(hhcd); + __HAL_HCD_CLEAR_FLAG(hhcd, USB_OTG_GINTSTS_SOF); + } + + /* Handle Host channel Interrupts */ + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_HCINT)) + { + interrupt = USB_HC_ReadInterrupt(hhcd->Instance); + for (i = 0; i < hhcd->Init.Host_channels ; i++) + { + if (interrupt & (1 << i)) + { + if ((USBx_HC(i)->HCCHAR) & USB_OTG_HCCHAR_EPDIR) + { + HCD_HC_IN_IRQHandler (hhcd, i); + } + else + { + HCD_HC_OUT_IRQHandler (hhcd, i); + } + } + } + __HAL_HCD_CLEAR_FLAG(hhcd, USB_OTG_GINTSTS_HCINT); + } + + /* Handle Rx Queue Level Interrupts */ + if(__HAL_HCD_GET_FLAG(hhcd, USB_OTG_GINTSTS_RXFLVL)) + { + USB_MASK_INTERRUPT(hhcd->Instance, USB_OTG_GINTSTS_RXFLVL); + + HCD_RXQLVL_IRQHandler (hhcd); + + USB_UNMASK_INTERRUPT(hhcd->Instance, USB_OTG_GINTSTS_RXFLVL); + } + } +} + +/** + * @brief SOF callback. + * @param hhcd: HCD handle + * @retval None + */ +__weak void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_HCD_SOF_Callback could be implemented in the user file + */ +} + +/** + * @brief Connection Event callback. + * @param hhcd: HCD handle + * @retval None + */ +__weak void HAL_HCD_Connect_Callback(HCD_HandleTypeDef *hhcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_HCD_Connect_Callback could be implemented in the user file + */ +} + +/** + * @brief Disconnection Event callback. + * @param hhcd: HCD handle + * @retval None + */ +__weak void HAL_HCD_Disconnect_Callback(HCD_HandleTypeDef *hhcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_HCD_Disconnect_Callback could be implemented in the user file + */ +} + +/** + * @brief Notify URB state change callback. + * @param hhcd: HCD handle + * @param chnum: Channel number. + * This parameter can be a value from 1 to 15 + * @param urb_state: + * This parameter can be one of these values: + * URB_IDLE/ + * URB_DONE/ + * URB_NOTREADY/ + * URB_NYET/ + * URB_ERROR/ + * URB_STALL/ + * @retval None + */ +__weak void HAL_HCD_HC_NotifyURBChange_Callback(HCD_HandleTypeDef *hhcd, uint8_t chnum, HCD_URBStateTypeDef urb_state) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhcd); + UNUSED(chnum); + UNUSED(urb_state); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_HCD_HC_NotifyURBChange_Callback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup HCD_Exported_Functions_Group3 Peripheral Control functions + * @brief Management functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the HCD data + transfers. + +@endverbatim + * @{ + */ + +/** + * @brief Start the host driver. + * @param hhcd: HCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HCD_Start(HCD_HandleTypeDef *hhcd) +{ + __HAL_LOCK(hhcd); + __HAL_HCD_ENABLE(hhcd); + USB_DriveVbus(hhcd->Instance, 1); + __HAL_UNLOCK(hhcd); + return HAL_OK; +} + +/** + * @brief Stop the host driver. + * @param hhcd: HCD handle + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_HCD_Stop(HCD_HandleTypeDef *hhcd) +{ + __HAL_LOCK(hhcd); + USB_StopHost(hhcd->Instance); + __HAL_UNLOCK(hhcd); + return HAL_OK; +} + +/** + * @brief Reset the host port. + * @param hhcd: HCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HCD_ResetPort(HCD_HandleTypeDef *hhcd) +{ + return (USB_ResetPort(hhcd->Instance)); +} + +/** + * @} + */ + +/** @defgroup HCD_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the HCD handle state. + * @param hhcd: HCD handle + * @retval HAL state + */ +HCD_StateTypeDef HAL_HCD_GetState(HCD_HandleTypeDef *hhcd) +{ + return hhcd->State; +} + +/** + * @brief Return URB state for a channel. + * @param hhcd: HCD handle + * @param chnum: Channel number. + * This parameter can be a value from 1 to 15 + * @retval URB state. + * This parameter can be one of these values: + * URB_IDLE/ + * URB_DONE/ + * URB_NOTREADY/ + * URB_NYET/ + * URB_ERROR/ + * URB_STALL + */ +HCD_URBStateTypeDef HAL_HCD_HC_GetURBState(HCD_HandleTypeDef *hhcd, uint8_t chnum) +{ + return hhcd->hc[chnum].urb_state; +} + + +/** + * @brief Return the last host transfer size. + * @param hhcd: HCD handle + * @param chnum: Channel number. + * This parameter can be a value from 1 to 15 + * @retval last transfer size in byte + */ +uint32_t HAL_HCD_HC_GetXferCount(HCD_HandleTypeDef *hhcd, uint8_t chnum) +{ + return hhcd->hc[chnum].xfer_count; +} + +/** + * @brief Return the Host Channel state. + * @param hhcd: HCD handle + * @param chnum: Channel number. + * This parameter can be a value from 1 to 15 + * @retval Host channel state + * This parameter can be one of these values: + * HC_IDLE/ + * HC_XFRC/ + * HC_HALTED/ + * HC_NYET/ + * HC_NAK/ + * HC_STALL/ + * HC_XACTERR/ + * HC_BBLERR/ + * HC_DATATGLERR + */ +HCD_HCStateTypeDef HAL_HCD_HC_GetState(HCD_HandleTypeDef *hhcd, uint8_t chnum) +{ + return hhcd->hc[chnum].state; +} + +/** + * @brief Return the current Host frame number. + * @param hhcd: HCD handle + * @retval Current Host frame number + */ +uint32_t HAL_HCD_GetCurrentFrame(HCD_HandleTypeDef *hhcd) +{ + return (USB_GetCurrentFrame(hhcd->Instance)); +} + +/** + * @brief Return the Host enumeration speed. + * @param hhcd: HCD handle + * @retval Enumeration speed + */ +uint32_t HAL_HCD_GetCurrentSpeed(HCD_HandleTypeDef *hhcd) +{ + return (USB_GetHostSpeed(hhcd->Instance)); +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup HCD_Private_Functions + * @{ + */ +/** + * @brief Handle Host Channel IN interrupt requests. + * @param hhcd: HCD handle + * @param chnum: Channel number. + * This parameter can be a value from 1 to 15 + * @retval none + */ +static void HCD_HC_IN_IRQHandler (HCD_HandleTypeDef *hhcd, uint8_t chnum) +{ + USB_OTG_GlobalTypeDef *USBx = hhcd->Instance; + uint32_t tmpreg = 0; + + if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_AHBERR) + { + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_AHBERR); + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + } + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_ACK) + { + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_ACK); + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_STALL) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + hhcd->hc[chnum].state = HC_STALL; + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_NAK); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_STALL); + USB_HC_Halt(hhcd->Instance, chnum); + } + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_DTERR) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_NAK); + hhcd->hc[chnum].state = HC_DATATGLERR; + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_DTERR); + } + + if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_FRMOR) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_FRMOR); + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_XFRC) + { + + if (hhcd->Init.dma_enable) + { + hhcd->hc[chnum].xfer_count = hhcd->hc[chnum].xfer_len - \ + (USBx_HC(chnum)->HCTSIZ & USB_OTG_HCTSIZ_XFRSIZ); + } + + hhcd->hc[chnum].state = HC_XFRC; + hhcd->hc[chnum].ErrCnt = 0; + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_XFRC); + + + if ((hhcd->hc[chnum].ep_type == EP_TYPE_CTRL)|| + (hhcd->hc[chnum].ep_type == EP_TYPE_BULK)) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_NAK); + + } + else if(hhcd->hc[chnum].ep_type == EP_TYPE_INTR) + { + USBx_HC(chnum)->HCCHAR |= USB_OTG_HCCHAR_ODDFRM; + hhcd->hc[chnum].urb_state = URB_DONE; + HAL_HCD_HC_NotifyURBChange_Callback(hhcd, chnum, hhcd->hc[chnum].urb_state); + } + hhcd->hc[chnum].toggle_in ^= 1; + + } + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_CHH) + { + __HAL_HCD_MASK_HALT_HC_INT(chnum); + + if(hhcd->hc[chnum].state == HC_XFRC) + { + hhcd->hc[chnum].urb_state = URB_DONE; + } + + else if (hhcd->hc[chnum].state == HC_STALL) + { + hhcd->hc[chnum].urb_state = URB_STALL; + } + + else if((hhcd->hc[chnum].state == HC_XACTERR) || + (hhcd->hc[chnum].state == HC_DATATGLERR)) + { + if(hhcd->hc[chnum].ErrCnt++ > 3) + { + hhcd->hc[chnum].ErrCnt = 0; + hhcd->hc[chnum].urb_state = URB_ERROR; + } + else + { + hhcd->hc[chnum].urb_state = URB_NOTREADY; + } + + /* re-activate the channel */ + tmpreg = USBx_HC(chnum)->HCCHAR; + tmpreg &= ~USB_OTG_HCCHAR_CHDIS; + tmpreg |= USB_OTG_HCCHAR_CHENA; + USBx_HC(chnum)->HCCHAR = tmpreg; + } + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_CHH); + HAL_HCD_HC_NotifyURBChange_Callback(hhcd, chnum, hhcd->hc[chnum].urb_state); + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_TXERR) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + hhcd->hc[chnum].ErrCnt++; + hhcd->hc[chnum].state = HC_XACTERR; + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_TXERR); + } + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_NAK) + { + if(hhcd->hc[chnum].ep_type == EP_TYPE_INTR) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + } + else if ((hhcd->hc[chnum].ep_type == EP_TYPE_CTRL)|| + (hhcd->hc[chnum].ep_type == EP_TYPE_BULK)) + { + /* re-activate the channel */ + tmpreg = USBx_HC(chnum)->HCCHAR; + tmpreg &= ~USB_OTG_HCCHAR_CHDIS; + tmpreg |= USB_OTG_HCCHAR_CHENA; + USBx_HC(chnum)->HCCHAR = tmpreg; + } + hhcd->hc[chnum].state = HC_NAK; + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_NAK); + } +} + +/** + * @brief Handle Host Channel OUT interrupt requests. + * @param hhcd: HCD handle + * @param chnum: Channel number. + * This parameter can be a value from 1 to 15 + * @retval none + */ +static void HCD_HC_OUT_IRQHandler (HCD_HandleTypeDef *hhcd, uint8_t chnum) +{ + USB_OTG_GlobalTypeDef *USBx = hhcd->Instance; + uint32_t tmpreg = 0; + + if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_AHBERR) + { + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_AHBERR); + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + } + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_ACK) + { + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_ACK); + + if( hhcd->hc[chnum].do_ping == 1) + { + hhcd->hc[chnum].state = HC_NYET; + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + hhcd->hc[chnum].urb_state = URB_NOTREADY; + } + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_NYET) + { + hhcd->hc[chnum].state = HC_NYET; + hhcd->hc[chnum].ErrCnt= 0; + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_NYET); + + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_FRMOR) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_FRMOR); + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_XFRC) + { + hhcd->hc[chnum].ErrCnt = 0; + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_XFRC); + hhcd->hc[chnum].state = HC_XFRC; + + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_STALL) + { + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_STALL); + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + hhcd->hc[chnum].state = HC_STALL; + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_NAK) + { + hhcd->hc[chnum].ErrCnt = 0; + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + hhcd->hc[chnum].state = HC_NAK; + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_NAK); + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_TXERR) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + hhcd->hc[chnum].state = HC_XACTERR; + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_TXERR); + } + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_DTERR) + { + __HAL_HCD_UNMASK_HALT_HC_INT(chnum); + USB_HC_Halt(hhcd->Instance, chnum); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_NAK); + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_DTERR); + hhcd->hc[chnum].state = HC_DATATGLERR; + } + + + else if ((USBx_HC(chnum)->HCINT) & USB_OTG_HCINT_CHH) + { + __HAL_HCD_MASK_HALT_HC_INT(chnum); + + if(hhcd->hc[chnum].state == HC_XFRC) + { + hhcd->hc[chnum].urb_state = URB_DONE; + if (hhcd->hc[chnum].ep_type == EP_TYPE_BULK) + { + hhcd->hc[chnum].toggle_out ^= 1; + } + } + else if (hhcd->hc[chnum].state == HC_NAK) + { + hhcd->hc[chnum].urb_state = URB_NOTREADY; + } + + else if (hhcd->hc[chnum].state == HC_NYET) + { + hhcd->hc[chnum].urb_state = URB_NOTREADY; + hhcd->hc[chnum].do_ping = 0; + } + + else if (hhcd->hc[chnum].state == HC_STALL) + { + hhcd->hc[chnum].urb_state = URB_STALL; + } + + else if((hhcd->hc[chnum].state == HC_XACTERR) || + (hhcd->hc[chnum].state == HC_DATATGLERR)) + { + if(hhcd->hc[chnum].ErrCnt++ > 3) + { + hhcd->hc[chnum].ErrCnt = 0; + hhcd->hc[chnum].urb_state = URB_ERROR; + } + else + { + hhcd->hc[chnum].urb_state = URB_NOTREADY; + } + + /* re-activate the channel */ + tmpreg = USBx_HC(chnum)->HCCHAR; + tmpreg &= ~USB_OTG_HCCHAR_CHDIS; + tmpreg |= USB_OTG_HCCHAR_CHENA; + USBx_HC(chnum)->HCCHAR = tmpreg; + } + + __HAL_HCD_CLEAR_HC_INT(chnum, USB_OTG_HCINT_CHH); + HAL_HCD_HC_NotifyURBChange_Callback(hhcd, chnum, hhcd->hc[chnum].urb_state); + } +} + +/** + * @brief Handle Rx Queue Level interrupt requests. + * @param hhcd: HCD handle + * @retval none + */ +static void HCD_RXQLVL_IRQHandler (HCD_HandleTypeDef *hhcd) +{ + USB_OTG_GlobalTypeDef *USBx = hhcd->Instance; + uint8_t channelnum =0; + uint32_t pktsts; + uint32_t pktcnt; + uint32_t temp = 0; + uint32_t tmpreg = 0; + + temp = hhcd->Instance->GRXSTSP ; + channelnum = temp & USB_OTG_GRXSTSP_EPNUM; + pktsts = (temp & USB_OTG_GRXSTSP_PKTSTS) >> 17; + pktcnt = (temp & USB_OTG_GRXSTSP_BCNT) >> 4; + + switch (pktsts) + { + case GRXSTS_PKTSTS_IN: + /* Read the data into the host buffer. */ + if ((pktcnt > 0) && (hhcd->hc[channelnum].xfer_buff != (void *)0)) + { + + USB_ReadPacket(hhcd->Instance, hhcd->hc[channelnum].xfer_buff, pktcnt); + + /*manage multiple Xfer */ + hhcd->hc[channelnum].xfer_buff += pktcnt; + hhcd->hc[channelnum].xfer_count += pktcnt; + + if((USBx_HC(channelnum)->HCTSIZ & USB_OTG_HCTSIZ_PKTCNT) > 0) + { + /* re-activate the channel when more packets are expected */ + tmpreg = USBx_HC(channelnum)->HCCHAR; + tmpreg &= ~USB_OTG_HCCHAR_CHDIS; + tmpreg |= USB_OTG_HCCHAR_CHENA; + USBx_HC(channelnum)->HCCHAR = tmpreg; + hhcd->hc[channelnum].toggle_in ^= 1; + } + } + break; + + case GRXSTS_PKTSTS_DATA_TOGGLE_ERR: + break; + case GRXSTS_PKTSTS_IN_XFER_COMP: + case GRXSTS_PKTSTS_CH_HALTED: + default: + break; + } +} + +/** + * @brief Handle Host Port interrupt requests. + * @param hhcd: HCD handle + * @retval None + */ +static void HCD_Port_IRQHandler (HCD_HandleTypeDef *hhcd) +{ + USB_OTG_GlobalTypeDef *USBx = hhcd->Instance; + __IO uint32_t hprt0, hprt0_dup; + + /* Handle Host Port Interrupts */ + hprt0 = USBx_HPRT0; + hprt0_dup = USBx_HPRT0; + + hprt0_dup &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET |\ + USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG ); + + /* Check whether Port Connect detected */ + if((hprt0 & USB_OTG_HPRT_PCDET) == USB_OTG_HPRT_PCDET) + { + if((hprt0 & USB_OTG_HPRT_PCSTS) == USB_OTG_HPRT_PCSTS) + { + USB_MASK_INTERRUPT(hhcd->Instance, USB_OTG_GINTSTS_DISCINT); + HAL_HCD_Connect_Callback(hhcd); + } + hprt0_dup |= USB_OTG_HPRT_PCDET; + + } + + /* Check whether Port Enable Changed */ + if((hprt0 & USB_OTG_HPRT_PENCHNG) == USB_OTG_HPRT_PENCHNG) + { + hprt0_dup |= USB_OTG_HPRT_PENCHNG; + + if((hprt0 & USB_OTG_HPRT_PENA) == USB_OTG_HPRT_PENA) + { + if(hhcd->Init.phy_itface == USB_OTG_EMBEDDED_PHY) + { + if ((hprt0 & USB_OTG_HPRT_PSPD) == (HPRT0_PRTSPD_LOW_SPEED << 17)) + { + USB_InitFSLSPClkSel(hhcd->Instance ,HCFG_6_MHZ ); + } + else + { + USB_InitFSLSPClkSel(hhcd->Instance ,HCFG_48_MHZ ); + } + } + else + { + if(hhcd->Init.speed == HCD_SPEED_FULL) + { + USBx_HOST->HFIR = (uint32_t)60000; + } + } + HAL_HCD_Connect_Callback(hhcd); + + if(hhcd->Init.speed == HCD_SPEED_HIGH) + { + USB_UNMASK_INTERRUPT(hhcd->Instance, USB_OTG_GINTSTS_DISCINT); + } + } + else + { + /* Cleanup HPRT */ + USBx_HPRT0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET |\ + USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG ); + + USB_UNMASK_INTERRUPT(hhcd->Instance, USB_OTG_GINTSTS_DISCINT); + } + } + + /* Check For an overcurrent */ + if((hprt0 & USB_OTG_HPRT_POCCHNG) == USB_OTG_HPRT_POCCHNG) + { + hprt0_dup |= USB_OTG_HPRT_POCCHNG; + } + + /* Clear Port Interrupts */ + USBx_HPRT0 = hprt0_dup; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_HCD_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hrtim.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hrtim.c new file mode 100644 index 0000000000..a96082e8db --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hrtim.c @@ -0,0 +1,7836 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hrtim.c + * @author MCD Application Team + * @brief HRTIM HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the High Resolution Timer (HRTIM) peripheral: + * + HRTIM Initialization + * + Timer Time Base Unit Configuration + * + Simple Time Base Start/Stop + * + Simple Time Base Start/Stop Interrupt + * + Simple Time Base Start/Stop DMA Request + * + Simple Output Compare/PWM Channel Configuration + * + Simple Output Compare/PWM Channel Start/Stop Interrupt + * + Simple Output Compare/PWM Channel Start/Stop DMA Request + * + Simple Input Capture Channel Configuration + * + Simple Input Capture Channel Start/Stop Interrupt + * + Simple Input Capture Channel Start/Stop DMA Request + * + Simple One Pulse Channel Configuration + * + Simple One Pulse Channel Start/Stop Interrupt + * + HRTIM External Synchronization Configuration + * + HRTIM Burst Mode Controller Configuration + * + HRTIM Burst Mode Controller Enabling + * + HRTIM External Events Conditioning Configuration + * + HRTIM Faults Conditioning Configuration + * + HRTIM Faults Enabling + * + HRTIM ADC trigger Configuration + * + Waveform Timer Configuration + * + Waveform Event Filtering Configuration + * + Waveform Dead Time Insertion Configuration + * + Waveform Chopper Mode Configuration + * + Waveform Compare Unit Configuration + * + Waveform Capture Unit Configuration + * + Waveform Output Configuration + * + Waveform Counter Start/Stop + * + Waveform Counter Start/Stop Interrupt + * + Waveform Counter Start/Stop DMA Request + * + Waveform Output Enabling + * + Waveform Output Level Set/Get + * + Waveform Output State Get + * + Waveform Burst DMA Operation Configuration + * + Waveform Burst DMA Operation Start + * + Waveform Timer Counter Software Reset + * + Waveform Capture Software Trigger + * + Waveform Burst Mode Controller Software Trigger + * + Waveform Timer Pre-loadable Registers Update Enabling + * + Waveform Timer Pre-loadable Registers Software Update + * + Waveform Timer Delayed Protection Status Get + * + Waveform Timer Burst Status Get + * + Waveform Timer Push-Pull Status Get + * + Peripheral State Get + @verbatim + ============================================================================== + ##### Simple mode v.s. waveform mode ##### +============================================================================== + [..] The HRTIM HAL API is split into 2 categories: + (#)Simple functions: these functions allow for using a HRTIM timer as a + general purpose timer with high resolution capabilities. + Following simple modes are proposed: + (+)Output compare mode + (+)PWM output mode + (+)Input capture mode + (+)One pulse mode + HRTIM simple modes are managed through the set of functions named + HAL_HRTIM_Simple. These functions are similar in name and usage + to the one defined for the TIM peripheral. When a HRTIM timer operates in + simple mode, only a very limited set of HRTIM features are used. + (#)Waveform functions: These functions allow taking advantage of the HRTIM + flexibility to produce numerous types of control signal. When a HRTIM timer + operates in waveform mode, all the HRTIM features are accessible without + any restriction. HRTIM waveform modes are managed through the set of + functions named HAL_HRTIM_Waveform + +============================================================================== + ##### How to use this driver ##### +============================================================================== + [..] + (#)Initialize the HRTIM low level resources by implementing the + HAL_HRTIM_MspInit() function: + (##)Enable the HRTIM clock source using __HRTIMx_CLK_ENABLE() + (##)Connect HRTIM pins to MCU I/Os + (+++) Enable the clock for the HRTIM GPIOs using the following + function: __GPIOx_CLK_ENABLE() + (+++) Configure these GPIO pins in Alternate Function mode using + HAL_GPIO_Init() + (##)When using DMA to control data transfer (e.g HAL_HRTIM_SimpleBaseStart_DMA()) + (+++)Enable the DMAx interface clock using __DMAx_CLK_ENABLE() + (+++)Initialize the DMA handle + (+++)Associate the initialized DMA handle to the appropriate DMA + handle of the HRTIM handle using __HAL_LINKDMA() + (+++)Initialize the DMA channel using HAL_DMA_Init() + (+++)Configure the priority and enable the NVIC for the transfer + complete interrupt on the DMA channel using HAL_NVIC_SetPriority() + and HAL_NVIC_EnableIRQ() + (##)In case of using interrupt mode (e.g HAL_HRTIM_SimpleBaseStart_IT()) + (+++)Configure the priority and enable the NVIC for the concerned + HRTIM interrupt using HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ() + + (#)Initialize the HRTIM HAL using HAL_HRTIM_Init(). The HRTIM configuration + structure (field of the HRTIM handle) specifies which global interrupt of + whole HRTIM must be enabled (Burst mode period, System fault, Faults). + It also contains the HRTIM external synchronization configuration. HRTIM + can act as a master (generating a synchronization signal) or as a slave + (waiting for a trigger to be synchronized). + + (#) Configure HRTIM resources shared by all HRTIM timers + (##)Burst Mode Controller: + (+++)HAL_HRTIM_BurstModeConfig(): configures the HRTIM burst mode + controller: operating mode (continuous or -shot mode), clock + (source, prescaler) , trigger(s), period, idle duration. + (##)External Events Conditionning: + (+++)HAL_HRTIM_EventConfig(): configures the conditioning of an + external event channel: source, polarity, edge-sensitivity. + External event can be used as triggers (timer reset, input + capture, burst mode, ADC triggers, delayed protection, �) + They can also be used to set or reset timer outputs. Up to + 10 event channels are available. + (+++)HAL_HRTIM_EventPrescalerConfig(): configures the external + event sampling clock (used for digital filtering). + (##)Fault Conditionning: + (+++)HAL_HRTIM_FaultConfig(): configures the conditioning of a + fault channel: source, polarity, edge-sensitivity. Fault + channels are used to disable the outputs in case of an + abnormal operation. Up to 5 fault channels are available. + (+++)HAL_HRTIM_FaultPrescalerConfig(): configures the fault + sampling clock (used for digital filtering). + (+++)HAL_HRTIM_FaultModeCtl(): Enables or disables fault input(s) + circuitry. By default all fault inputs are disabled. + (##)ADC trigger: + (+++)HAL_HRTIM_ADCTriggerConfig(): configures the source triggering + the update of the ADC trigger register and the ADC trigger. + 4 independent triggers are available to start both the regular + and the injected sequencers of the 2 ADCs + + (#) Configure HRTIM timer time base using HAL_HRTIM_TimeBaseConfig(). This + function must be called whatever the HRTIM timer operating mode is + (simple v.s. waveform). It configures mainly: + (##)The HRTIM timer counter operating mode (continuous, one shot) + (##)The HRTIM timer clock prescaler + (##)The HRTIM timer period + (##)The HRTIM timer repetition counter + + (#) If the HRTIM timer operates in simple mode: + (##)Simple time base: HAL_HRTIM_SimpleBaseStart(),HAL_HRTIM_SimpleBaseStop(), + HAL_HRTIM_SimpleBaseStart_IT(),HAL_HRTIM_SimpleBaseStop_IT(), + HAL_HRTIM_SimpleBaseStart_DMA(),HAL_HRTIM_SimpleBaseStop_DMA(). + (##)Simple output compare: HAL_HRTIM_SimpleOCChannelConfig(), + HAL_HRTIM_SimpleOCStart(),HAL_HRTIM_SimpleOCStop(), + HAL_HRTIM_SimpleOCStart_IT(),HAL_HRTIM_SimpleOCStop_IT(), + HAL_HRTIM_SimpleOCStart_DMA(),HAL_HRTIM_SimpleOCStop_DMA(), + (##)Simple PWM output: HAL_HRTIM_SimplePWMChannelConfig(), + HAL_HRTIM_SimplePWMStart(),HAL_HRTIM_SimplePWMStop(), + HAL_HRTIM_SimplePWMStart_IT(),HAL_HRTIM_SimplePWMStop_IT(), + HAL_HRTIM_SimplePWMStart_DMA(),HAL_HRTIM_SimplePWMStop_DMA(), + (##)Simple input capture: HAL_HRTIM_SimpleCaptureChannelConfig(), + HAL_HRTIM_SimpleCaptureStart(),HAL_HRTIM_SimpleCaptureStop(), + HAL_HRTIM_SimpleCaptureStart_IT(),HAL_HRTIM_SimpleCaptureStop_IT(), + HAL_HRTIM_SimpleCaptureStart_DMA(),HAL_HRTIM_SimpleCaptureStop_DMA(). + (##)Simple one pulse: HAL_HRTIM_SimpleOnePulseChannelConfig(), + HAL_HRTIM_SimpleOnePulseStart(),HAL_HRTIM_SimpleOnePulseStop(), + HAL_HRTIM_SimpleOnePulseStart_IT(),HAL_HRTIM_SimpleOnePulseStop_It(). + + (#) If the HRTIM timer operates in waveform mode: + (##)Completes waveform timer configuration + (+++)HAL_HRTIM_WaveformTimerConfig(): configuration of a HRTIM + timer operating in wave form mode mainly consists in: + - Enabling the HRTIM timer interrupts and DMA requests, + - Enabling the half mode for the HRTIM timer, + - Defining how the HRTIM timer reacts to external + synchronization input, + - Enabling the push-pull mode for the HRTIM timer, + - Enabling the fault channels for the HRTIM timer, + - Enabling the deadtime insertion for the HRTIM timer, + - Setting the delayed protection mode for the HRTIM timer + (source and outputs on which the delayed protection are applied), + - Specifying the HRTIM timer update and reset triggers, + - Specifying the HRTIM timer registers update policy (preload enabling, �). + (+++)HAL_HRTIM_TimerEventFilteringConfig(): configures external + event blanking and windowingcircuitry of a HRTIM timer: + - Blanking: to mask external events during a defined + time period + - Windowing: to enable external events only during + a defined time period + (+++)HAL_HRTIM_DeadTimeConfig(): configures the deadtime insertion + unit for a HRTIM timer. Allows to generate a couple of + complementary signals from a single reference waveform, + with programmable delays between active state. + (+++)HAL_HRTIM_ChopperModeConfig(): configures the parameters of + the high-frequency carrier signal added on top of the timing + unit output. Chopper mode can be enabled or disabled for each + timer output separately (see HAL_HRTIM_WaveformOutputConfig()). + (+++)HAL_HRTIM_BurstDMAConfig(): configures the burst DMA burst + controller. Allows having multiple HRTIM registers updated + with a single DMA request. The burst DMA operation is started + by calling HAL_HRTIM_BurstDMATransfer(). + (+++)HAL_HRTIM_WaveformCompareConfig():configures the compare unit + of a HRTIM timer. This operation consists in setting the + compare value and possibly specifying the auto delayed mode + for compare units 2 and 4 (allows to have compare events + generated relatively to capture events). Note that when auto + delayed mode is needed, the capture unit associated to the + compare unit must be configured separately. + (+++)HAL_HRTIM_WaveformCaptureConfig(): configures the capture unit + of a HRTIM timer. This operation consists in specifying the + source(s) triggering the capture (timer register update event, + external event, timer output set/reset event, other HRTIM + timer related events). + (+++)HAL_HRTIM_WaveformOutputConfig(): configuration HRTIM timer + output manly consists in: + - Setting the output polarity (active high or active low), + - Defining the set/reset crossbar for the output, + - Specifying the fault level (active or inactive) in IDLE + and FAULT states., + (##)Set waveform timer output(s) level + (+++)HAL_HRTIM_WaveformSetOutputLevel(): forces the output to its + active or inactive level. For example, when deadtime insertion + is enabled it is necessary to force the output level by software + to have the outputs in a complementary state as soon as the RUN mode is entered. + (##)Enable/Disable waveform timer output(s) + (+++)HAL_HRTIM_WaveformOutputStart(),HAL_HRTIM_WaveformOutputStop(). + (##)Start/Stop waveform HRTIM timer(s). + (+++)HAL_HRTIM_WaveformCounterStart(),HAL_HRTIM_WaveformCounterStop(), + (+++)HAL_HRTIM_WaveformCounterStart_IT(),HAL_HRTIM_WaveformCounterStop_IT(), + (+++)HAL_HRTIM_WaveformCounterStart()_DMA,HAL_HRTIM_WaveformCounterStop_DMA(), + + (##)Burst mode controller enabling: + (+++)HAL_HRTIM_BurstModeCtl(): activates or de-activates the + burst mode controller. + + (##)Some HRTIM operations can be triggered by software: + (+++)HAL_HRTIM_BurstModeSoftwareTrigger(): calling this function + trigs the burst operation. + (+++)HAL_HRTIM_SoftwareCapture(): calling this function trigs the + capture of the HRTIM timer counter. + (+++)HAL_HRTIM_SoftwareUpdate(): calling this function trigs the + update of the pre-loadable registers of the HRTIM timer () + (+++)HAL_HRTIM_SoftwareReset():calling this function resets the + HRTIM timer counter. + + (##)Some functions can be used anytime to retrieve HRTIM timer related + information + (+++)HAL_HRTIM_GetCapturedValue(): returns actual value of the + capture register of the designated capture unit. + (+++)HAL_HRTIM_WaveformGetOutputLevel(): returns actual level + (ACTIVE/INACTIVE) of the designated timer output. + (+++)HAL_HRTIM_WaveformGetOutputState():returns actual state + (IDLE/RUN/FAULT) of the designated timer output. + (+++)HAL_HRTIM_GetDelayedProtectionStatus():returns actual level + (ACTIVE/INACTIVE) of the designated output when the delayed + protection was triggered. + (+++)HAL_HRTIM_GetBurstStatus(): returns the actual status + (ACTIVE/INACTIVE) of the burst mode controller. + (+++)HAL_HRTIM_GetCurrentPushPullStatus(): when the push-pull mode + is enabled for the HRTIM timer (see HAL_HRTIM_WaveformTimerConfig()), + the push-pull indicates on which output the signal is currently + active (e.g signal applied on output 1 and output 2 forced + inactive or vice versa). + (+++)HAL_HRTIM_GetIdlePushPullStatus(): when the push-pull mode + is enabled for the HRTIM timer (see HAL_HRTIM_WaveformTimerConfig()), + the idle push-pull status indicates during which period the + delayed protection request occurred (e.g. protection occurred + when the output 1 was active and output 2 forced inactive or + vice versa). + + (##)Some functions can be used anytime to retrieve actual HRTIM status + (+++)HAL_HRTIM_GetState(): returns actual HRTIM instance HAL state. + + @endverbatim + + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#ifdef HAL_HRTIM_MODULE_ENABLED + +/** @defgroup HRTIM HRTIM + * @brief HRTIM HAL module driver + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup HRTIM_Private_Defines HRTIM Private Define + * @{ + */ +#define HRTIM_FLTR_FLTxEN (HRTIM_FLTR_FLT1EN |\ + HRTIM_FLTR_FLT2EN |\ + HRTIM_FLTR_FLT3EN |\ + HRTIM_FLTR_FLT4EN | \ + HRTIM_FLTR_FLT5EN) + +#define HRTIM_TIMCR_TIMUPDATETRIGGER (HRTIM_TIMUPDATETRIGGER_MASTER |\ + HRTIM_TIMUPDATETRIGGER_TIMER_A |\ + HRTIM_TIMUPDATETRIGGER_TIMER_B |\ + HRTIM_TIMUPDATETRIGGER_TIMER_C |\ + HRTIM_TIMUPDATETRIGGER_TIMER_D |\ + HRTIM_TIMUPDATETRIGGER_TIMER_E) +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/** @defgroup HRTIM_Private_Variables HRTIM Private Variables + * @{ + */ +static uint32_t TimerIdxToTimerId[] = +{ + HRTIM_TIMERID_TIMER_A, + HRTIM_TIMERID_TIMER_B, + HRTIM_TIMERID_TIMER_C, + HRTIM_TIMERID_TIMER_D, + HRTIM_TIMERID_TIMER_E, + HRTIM_TIMERID_MASTER, +}; +/** + * @} + */ + +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup HRTIM_Private_Functions HRTIM Private Functions + * @{ + */ +static void HRTIM_MasterBase_Config(HRTIM_HandleTypeDef * hhrtim, + HRTIM_TimeBaseCfgTypeDef * pTimeBaseCfg); + +static void HRTIM_TimingUnitBase_Config(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + HRTIM_TimeBaseCfgTypeDef * pTimeBaseCfg); + +static void HRTIM_MasterWaveform_Config(HRTIM_HandleTypeDef * hhrtim, + HRTIM_TimerCfgTypeDef * pTimerCfg); + +static void HRTIM_TimingUnitWaveform_Config(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + HRTIM_TimerCfgTypeDef * pTimerCfg); + +static void HRTIM_CompareUnitConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CompareUnit, + HRTIM_CompareCfgTypeDef * pCompareCfg); + +static void HRTIM_CaptureUnitConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit, + uint32_t Event); + +static void HRTIM_OutputConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output, + HRTIM_OutputCfgTypeDef * pOutputCfg); + +static void HRTIM_EventConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t Event, + HRTIM_EventCfgTypeDef * pEventCfg); + +static void HRTIM_TIM_ResetConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Event); + +static uint32_t HRTIM_GetITFromOCMode(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel); + +static uint32_t HRTIM_GetDMAFromOCMode(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel); + +static DMA_HandleTypeDef * HRTIM_GetDMAHandleFromTimerIdx(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx); + +static uint32_t GetTimerIdxFromDMAHandle(DMA_HandleTypeDef *hdma); + +static void HRTIM_ForceRegistersUpdate(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx); + +static void HRTIM_HRTIM_ISR(HRTIM_HandleTypeDef * hhrtim); + +static void HRTIM_Master_ISR(HRTIM_HandleTypeDef * hhrtim); + +static void HRTIM_Timer_ISR(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx); + +static void HRTIM_DMAMasterCplt(DMA_HandleTypeDef *hdma); + +static void HRTIM_DMATimerxCplt(DMA_HandleTypeDef *hdma); + +static void HRTIM_DMAError(DMA_HandleTypeDef *hdma); + +static void HRTIM_BurstDMACplt(DMA_HandleTypeDef *hdma); +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ +/** @defgroup HRTIM_Exported_Functions HRTIM Exported Functions + * @{ + */ + +/** @defgroup HRTIM_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and Time Base Configuration functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize a HRTIM instance + (+) De-initialize a HRTIM instance + (+) Initialize the HRTIM MSP + (+) De-initialize the HRTIM MSP + (+) Configure the time base unit of a HRTIM timer + +@endverbatim + * @{ + */ + +/** + * @brief Initializes a HRTIM instance + * @param hhrtim: pointer to HAL HRTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_Init(HRTIM_HandleTypeDef * hhrtim) +{ + uint8_t timer_idx; + uint32_t hrtim_mcr; + + /* Check the HRTIM handle allocation */ + if(hhrtim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_HRTIM_ALL_INSTANCE(hhrtim->Instance)); + assert_param(IS_HRTIM_IT(hhrtim->Init.HRTIMInterruptResquests)); + + /* Set the HRTIM state */ + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Initialize the DMA handles */ + hhrtim->hdmaMaster = (DMA_HandleTypeDef *)NULL; + hhrtim->hdmaTimerA = (DMA_HandleTypeDef *)NULL; + hhrtim->hdmaTimerB = (DMA_HandleTypeDef *)NULL; + hhrtim->hdmaTimerC = (DMA_HandleTypeDef *)NULL; + hhrtim->hdmaTimerD = (DMA_HandleTypeDef *)NULL; + hhrtim->hdmaTimerE = (DMA_HandleTypeDef *)NULL; + + /* HRTIM output synchronization configuration (if required) */ + if ((hhrtim->Init.SyncOptions & HRTIM_SYNCOPTION_MASTER) != RESET) + { + /* Check parameters */ + assert_param(IS_HRTIM_SYNCOUTPUTSOURCE(hhrtim->Init.SyncOutputSource)); + assert_param(IS_HRTIM_SYNCOUTPUTPOLARITY(hhrtim->Init.SyncOutputPolarity)); + + /* The synchronization output initialization procedure must be done prior + to the configuration of the MCU outputs (done within HAL_HRTIM_MspInit) + */ + if (hhrtim->Instance == HRTIM1) + { + /* Enable the HRTIM peripheral clock */ + __HAL_RCC_HRTIM1_CLK_ENABLE(); + } + + hrtim_mcr = hhrtim->Instance->sMasterRegs.MCR; + + /* Set the event to be sent on the synchronization output */ + hrtim_mcr &= ~(HRTIM_MCR_SYNC_SRC); + hrtim_mcr |= (hhrtim->Init.SyncOutputSource & HRTIM_MCR_SYNC_SRC); + + /* Set the polarity of the synchronization output */ + hrtim_mcr &= ~(HRTIM_MCR_SYNC_OUT); + hrtim_mcr |= (hhrtim->Init.SyncOutputPolarity & HRTIM_MCR_SYNC_OUT); + + /* Update the HRTIM registers */ + hhrtim->Instance->sMasterRegs.MCR = hrtim_mcr; + } + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_HRTIM_MspInit(hhrtim); + + /* HRTIM input synchronization configuration (if required) */ + if ((hhrtim->Init.SyncOptions & HRTIM_SYNCOPTION_SLAVE) != RESET) + { + /* Check parameters */ + assert_param(IS_HRTIM_SYNCINPUTSOURCE(hhrtim->Init.SyncInputSource)); + + hrtim_mcr = hhrtim->Instance->sMasterRegs.MCR; + + /* Set the synchronization input source */ + hrtim_mcr &= ~(HRTIM_MCR_SYNC_IN); + hrtim_mcr |= (hhrtim->Init.SyncInputSource & HRTIM_MCR_SYNC_IN); + + /* Update the HRTIM registers */ + hhrtim->Instance->sMasterRegs.MCR = hrtim_mcr; + } + + /* Initialize the HRTIM state*/ + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Initialize the lock status of the HRTIM HAL API */ + __HAL_UNLOCK(hhrtim); + + /* Tnitialize timer related parameters */ + for (timer_idx = HRTIM_TIMERINDEX_TIMER_A ; + timer_idx <= HRTIM_TIMERINDEX_MASTER ; + timer_idx++) + { + hhrtim->TimerParam[timer_idx].CaptureTrigger1 = HRTIM_CAPTURETRIGGER_NONE; + hhrtim->TimerParam[timer_idx].CaptureTrigger2 = HRTIM_CAPTURETRIGGER_NONE; + hhrtim->TimerParam[timer_idx].InterruptRequests = HRTIM_IT_NONE; + hhrtim->TimerParam[timer_idx].DMARequests = HRTIM_IT_NONE; + hhrtim->TimerParam[timer_idx].DMASrcAddress = 0; + hhrtim->TimerParam[timer_idx].DMASize = 0; + } + + return HAL_OK; +} + +/** + * @brief De-initializes a HRTIM instance + * @param hhrtim: pointer to HAL HRTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_DeInit (HRTIM_HandleTypeDef * hhrtim) +{ + /* Check the HRTIM handle allocation */ + if(hhrtim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_HRTIM_ALL_INSTANCE(hhrtim->Instance)); + + /* Set the HRTIM state */ + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* DeInit the low level hardware */ + HAL_HRTIM_MspDeInit(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief MSP initialization for a HRTIM instance + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_MspInit(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_HRTIM_MspInit could be implemented in the user file + */ +} + +/** + * @brief MSP initialization for a for a HRTIM instance + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_MspDeInit(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_HRTIM_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Configures the time base unit of a timer + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param pTimeBaseCfg: pointer to the time base configuration structure + * @note This function must be called prior starting the timer + * @note The time-base unit initialization parameters specify: + * The timer counter operating mode (continuous, one shot), + * The timer clock prescaler, + * The timer period, + * The timer repetition counter. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_TimeBaseConfig(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + HRTIM_TimeBaseCfgTypeDef * pTimeBaseCfg) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + assert_param(IS_HRTIM_PRESCALERRATIO(pTimeBaseCfg->PrescalerRatio)); + assert_param(IS_HRTIM_MODE(pTimeBaseCfg->Mode)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Set the HRTIM state */ + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + /* Configure master timer time base unit */ + HRTIM_MasterBase_Config(hhrtim, pTimeBaseCfg); + } + else + { + /* Configure timing unit time base unit */ + HRTIM_TimingUnitBase_Config(hhrtim, TimerIdx, pTimeBaseCfg); + } + + /* Set HRTIM state */ + hhrtim->State = HAL_HRTIM_STATE_READY; + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group2 Simple time base mode functions + * @brief Simple time base mode functions. + * +@verbatim + =============================================================================== + ##### Simple time base mode functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Start simple time base + (+) Stop simple time base + (+) Start simple time base and enable interrupt + (+) Stop simple time base and disable interrupt + (+) Start simple time base and enable DMA transfer + (+) Stop simple time base and disable DMA transfer + -@- When a HRTIM timer operates in simple time base mode, the timer + counter counts from 0 to the period value. + +@endverbatim + * @{ + */ + +/** + * @brief Starts the counter of a timer operating in basic time base mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStart(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the counter of a timer operating in basic time base mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStop(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the counter of a timer operating in simple time base mode + * (Timer repetition interrupt is enabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStart_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the repetition interrupt */ + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + __HAL_HRTIM_MASTER_ENABLE_IT(hhrtim, HRTIM_MASTER_IT_MREP); + } + else + { + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_REP); + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the counter of a timer operating in simple time base mode + * (Timer repetition interrupt is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStop_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the repetition interrupt */ + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + __HAL_HRTIM_MASTER_DISABLE_IT(hhrtim, HRTIM_MASTER_IT_MREP); + } + else + { + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_REP); + } + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the counter of a timer operating in simple time base mode + * (Timer repetition DMA request is enabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param SrcAddr: DMA transfer source address + * @param DestAddr: DMA transfer destination address + * @param Length: The length of data items (data size) to be transferred + * from source to destination + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStart_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length) +{ + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + if(hhrtim->State == HAL_HRTIM_STATE_READY) + { + if((SrcAddr == 0 ) || (DestAddr == 0 ) || (Length == 0)) + { + return HAL_ERROR; + } + else + { + hhrtim->State = HAL_HRTIM_STATE_BUSY; + } + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Set the DMA transfer completed callback */ + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + hdma->XferCpltCallback = HRTIM_DMAMasterCplt; + } + else + { + hdma->XferCpltCallback = HRTIM_DMATimerxCplt; + } + + /* Set the DMA error callback */ + hdma->XferErrorCallback = HRTIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hdma, SrcAddr, DestAddr, Length); + + /* Enable the timer repetition DMA request */ + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + __HAL_HRTIM_MASTER_ENABLE_DMA(hhrtim, HRTIM_MASTER_DMA_MREP); + } + else + { + __HAL_HRTIM_TIMER_ENABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_REP); + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the counter of a timer operating in simple time base mode + * (Timer repetition DMA request is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleBaseStop_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + /* Disable the DMA */ + HAL_DMA_Abort(hhrtim->hdmaMaster); + + /* Disable the timer repetition DMA request */ + __HAL_HRTIM_MASTER_DISABLE_DMA(hhrtim, HRTIM_MASTER_DMA_MREP); + } + else + { + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Disable the DMA */ + HAL_DMA_Abort(hdma); + + /* Disable the timer repetition DMA request */ + __HAL_HRTIM_TIMER_DISABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_REP); + } + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group3 Simple output compare mode functions + * @brief Simple output compare functions + * +@verbatim + =============================================================================== + ##### Simple output compare functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure simple output channel + (+) Start simple output compare + (+) Stop simple output compare + (+) Start simple output compare and enable interrupt + (+) Stop simple output compare and disable interrupt + (+) Start simple output compare and enable DMA transfer + (+) Stop simple output compare and disable DMA transfer + -@- When a HRTIM timer operates in simple output compare mode + the output level is set to a programmable value when a match + is found between the compare register and the counter. + Compare unit 1 is automatically associated to output 1 + Compare unit 2 is automatically associated to output 2 + +@endverbatim + * @{ + */ + +/** + * @brief Configures an output in simple output compare mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OCChannel: Timer output + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @param pSimpleOCChannelCfg: pointer to the simple output compare output configuration structure + * @note When the timer operates in simple output compare mode: + * Output 1 is implicitly controlled by the compare unit 1 + * Output 2 is implicitly controlled by the compare unit 2 + * Output Set/Reset crossbar is set according to the selected output compare mode: + * Toggle: SETxyR = RSTxyR = CMPy + * Active: SETxyR = CMPy, RSTxyR = 0 + * Inactive: SETxy =0, RSTxy = CMPy + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCChannelConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel, + HRTIM_SimpleOCChannelCfgTypeDef* pSimpleOCChannelCfg) +{ + uint32_t CompareUnit = 0xFFFFFFFFU; + HRTIM_CompareCfgTypeDef CompareCfg = {0}; + HRTIM_OutputCfgTypeDef OutputCfg = {0}; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OCChannel)); + assert_param(IS_HRTIM_BASICOCMODE(pSimpleOCChannelCfg->Mode)); + assert_param(IS_HRTIM_OUTPUTPOLARITY(pSimpleOCChannelCfg->Polarity)); + assert_param(IS_HRTIM_OUTPUTIDLELEVEL(pSimpleOCChannelCfg->IdleLevel)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Set HRTIM state */ + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure timer compare unit */ + switch (OCChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + CompareUnit = HRTIM_COMPAREUNIT_1; + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + CompareUnit = HRTIM_COMPAREUNIT_2; + } + break; + } + + CompareCfg.CompareValue = pSimpleOCChannelCfg->Pulse; + CompareCfg.AutoDelayedMode = HRTIM_AUTODELAYEDMODE_REGULAR; + CompareCfg.AutoDelayedTimeout = 0; + + HRTIM_CompareUnitConfig(hhrtim, + TimerIdx, + CompareUnit, + &CompareCfg); + + /* Configure timer output */ + OutputCfg.Polarity = pSimpleOCChannelCfg->Polarity; + OutputCfg.IdleLevel = pSimpleOCChannelCfg->IdleLevel; + OutputCfg.FaultLevel = HRTIM_OUTPUTFAULTLEVEL_NONE; + OutputCfg.IdleMode = HRTIM_OUTPUTIDLEMODE_NONE; + OutputCfg.ChopperModeEnable = HRTIM_OUTPUTCHOPPERMODE_DISABLED; + OutputCfg.BurstModeEntryDelayed = HRTIM_OUTPUTBURSTMODEENTRY_REGULAR; + + switch (pSimpleOCChannelCfg->Mode) + { + case HRTIM_BASICOCMODE_TOGGLE: + { + if (CompareUnit == HRTIM_COMPAREUNIT_1) + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1; + } + else + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP2; + } + OutputCfg.ResetSource = OutputCfg.SetSource; + } + break; + case HRTIM_BASICOCMODE_ACTIVE: + { + if (CompareUnit == HRTIM_COMPAREUNIT_1) + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1; + } + else + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP2; + } + OutputCfg.ResetSource = HRTIM_OUTPUTRESET_NONE; + } + break; + case HRTIM_BASICOCMODE_INACTIVE: + { + if (CompareUnit == HRTIM_COMPAREUNIT_1) + { + OutputCfg.ResetSource = HRTIM_OUTPUTRESET_TIMCMP1; + } + else + { + OutputCfg.ResetSource = HRTIM_OUTPUTRESET_TIMCMP2; + } + OutputCfg.SetSource = HRTIM_OUTPUTSET_NONE; + } + break; + } + + HRTIM_OutputConfig(hhrtim, + TimerIdx, + OCChannel, + &OutputCfg); + + /* Set HRTIM state */ + hhrtim->State = HAL_HRTIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Starts the output compare signal generation on the designed timer output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStart(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OCChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= OCChannel; + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the output compare signal generation on the designed timer output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStop(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OCChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= OCChannel; + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the output compare signal generation on the designed timer output + * (Interrupt is enabled (see note note below)). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @note Interrupt enabling depends on the chosen output compare mode + * Output toggle: compare match interrupt is enabled + * Output set active: output set interrupt is enabled + * Output set inactive: output reset interrupt is enabled + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStart_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel) +{ + uint32_t interrupt; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OCChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Get the interrupt to enable (depends on the output compare mode) */ + interrupt = HRTIM_GetITFromOCMode(hhrtim, TimerIdx, OCChannel); + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= OCChannel; + + /* Enable the timer interrupt (depends on the output compare mode) */ + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, interrupt); + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the output compare signal generation on the designed timer output + * (Interrupt is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStop_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel) +{ + uint32_t interrupt; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OCChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= OCChannel; + + /* Get the interrupt to disable (depends on the output compare mode) */ + interrupt = HRTIM_GetITFromOCMode(hhrtim, TimerIdx, OCChannel); + + /* Disable the timer interrupt */ + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, interrupt); + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the output compare signal generation on the designed timer output + * (DMA request is enabled (see note below)). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @param SrcAddr: DMA transfer source address + * @param DestAddr: DMA transfer destination address + * @param Length: The length of data items (data size) to be transferred + * from source to destination + * @note DMA request enabling depends on the chosen output compare mode + * Output toggle: compare match DMA request is enabled + * Output set active: output set DMA request is enabled + * Output set inactive: output reset DMA request is enabled + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStart_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length) +{ + DMA_HandleTypeDef * hdma; + uint32_t dma_request; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OCChannel)); + + if((hhrtim->State == HAL_HRTIM_STATE_BUSY)) + { + return HAL_BUSY; + } + if((hhrtim->State == HAL_HRTIM_STATE_READY)) + { + if((SrcAddr == 0 ) || (DestAddr == 0 ) || (Length == 0)) + { + return HAL_ERROR; + } + else + { + hhrtim->State = HAL_HRTIM_STATE_BUSY; + } + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= OCChannel; + + /* Get the DMA request to enable */ + dma_request = HRTIM_GetDMAFromOCMode(hhrtim, TimerIdx, OCChannel); + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Set the DMA error callback */ + hdma->XferErrorCallback = HRTIM_DMAError ; + + /* Set the DMA transfer completed callback */ + hdma->XferCpltCallback = HRTIM_DMATimerxCplt; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hdma, SrcAddr, DestAddr, Length); + + /* Enable the timer DMA request */ + __HAL_HRTIM_TIMER_ENABLE_DMA(hhrtim, TimerIdx, dma_request); + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the output compare signal generation on the designed timer output + * (DMA request is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOCStop_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel) +{ + DMA_HandleTypeDef * hdma; + uint32_t dma_request; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OCChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= OCChannel; + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Disable the DMA */ + HAL_DMA_Abort(hdma); + + /* Get the DMA request to disable */ + dma_request = HRTIM_GetDMAFromOCMode(hhrtim, TimerIdx, OCChannel); + + /* Disable the timer DMA request */ + __HAL_HRTIM_TIMER_DISABLE_DMA(hhrtim, TimerIdx, dma_request); + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group4 Simple PWM output mode functions + * @brief Simple PWM output functions + +@verbatim + =============================================================================== + ##### Simple PWM output functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure simple PWM output channel + (+) Start simple PWM output + (+) Stop simple PWM output + (+) Start simple PWM output and enable interrupt + (+) Stop simple PWM output and disable interrupt + (+) Start simple PWM output and enable DMA transfer + (+) Stop simple PWM output and disable DMA transfer + -@- When a HRTIM timer operates in simple PWM output mode + the output level is set to a programmable value when a match is + found between the compare register and the counter and reset when + the timer period is reached. Duty cycle is determined by the + comparison value. + Compare unit 1 is automatically associated to output 1 + Compare unit 2 is automatically associated to output 2 + +@endverbatim + * @{ + */ + +/** + * @brief Configures an output in simple PWM mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param PWMChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @param pSimplePWMChannelCfg: pointer to the simple PWM output configuration structure + * @note When the timer operates in simple PWM output mode: + * Output 1 is implicitly controlled by the compare unit 1 + * Output 2 is implicitly controlled by the compare unit 2 + * Output Set/Reset crossbar is set as follows: + * Output 1: SETx1R = CMP1, RSTx1R = PER + * Output 2: SETx2R = CMP2, RST2R = PER + * @note When Simple PWM mode is used the registers preload mechanism is + * enabled (otherwise the behavior is not guaranteed). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMChannelConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel, + HRTIM_SimplePWMChannelCfgTypeDef* pSimplePWMChannelCfg) +{ + uint32_t CompareUnit = 0xFFFFFFFFU; + HRTIM_CompareCfgTypeDef CompareCfg; + HRTIM_OutputCfgTypeDef OutputCfg; + uint32_t hrtim_timcr; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, PWMChannel)); + assert_param(IS_HRTIM_OUTPUTPOLARITY(pSimplePWMChannelCfg->Polarity)); + assert_param(IS_HRTIM_OUTPUTIDLELEVEL(pSimplePWMChannelCfg->IdleLevel)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure timer compare unit */ + switch (PWMChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + CompareUnit = HRTIM_COMPAREUNIT_1; + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + CompareUnit = HRTIM_COMPAREUNIT_2; + } + break; + } + + CompareCfg.CompareValue = pSimplePWMChannelCfg->Pulse; + CompareCfg.AutoDelayedMode = HRTIM_AUTODELAYEDMODE_REGULAR; + CompareCfg.AutoDelayedTimeout = 0; + + HRTIM_CompareUnitConfig(hhrtim, + TimerIdx, + CompareUnit, + &CompareCfg); + + /* Configure timer output */ + OutputCfg.Polarity = pSimplePWMChannelCfg->Polarity; + OutputCfg.IdleLevel = pSimplePWMChannelCfg->IdleLevel; + OutputCfg.FaultLevel = HRTIM_OUTPUTFAULTLEVEL_NONE; + OutputCfg.IdleMode = HRTIM_OUTPUTIDLEMODE_NONE; + OutputCfg.ChopperModeEnable = HRTIM_OUTPUTCHOPPERMODE_DISABLED; + OutputCfg.BurstModeEntryDelayed = HRTIM_OUTPUTBURSTMODEENTRY_REGULAR; + + if (CompareUnit == HRTIM_COMPAREUNIT_1) + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1; + } + else + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP2; + } + OutputCfg.ResetSource = HRTIM_OUTPUTSET_TIMPER; + + HRTIM_OutputConfig(hhrtim, + TimerIdx, + PWMChannel, + &OutputCfg); +/* Enable the registers preload mechanism */ + hrtim_timcr = hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR; + hrtim_timcr |= HRTIM_TIMCR_PREEN; + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR = hrtim_timcr; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the PWM output signal generation on the designed timer output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param PWMChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStart(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, PWMChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= PWMChannel; + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the PWM output signal generation on the designed timer output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param PWMChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStop(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, PWMChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= PWMChannel; + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the PWM output signal generation on the designed timer output + * (The compare interrupt is enabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param PWMChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStart_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, PWMChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= PWMChannel; + + /* Enable the timer interrupt (depends on the PWM output) */ + switch (PWMChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP1); + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP2); + } + break; + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the PWM output signal generation on the designed timer output + * (The compare interrupt is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param PWMChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStop_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, PWMChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= PWMChannel; + + /* Disable the timer interrupt (depends on the PWM output) */ + switch (PWMChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP1); + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP2); + } + break; + } + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the PWM output signal generation on the designed timer output + * (The compare DMA request is enabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param PWMChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @param SrcAddr: DMA transfer source address + * @param DestAddr: DMA transfer destination address + * @param Length: The length of data items (data size) to be transferred + * from source to destination + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStart_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length) +{ + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, PWMChannel)); + + if((hhrtim->State == HAL_HRTIM_STATE_BUSY)) + { + return HAL_BUSY; + } + if((hhrtim->State == HAL_HRTIM_STATE_READY)) + { + if((SrcAddr == 0 ) || (DestAddr == 0 ) || (Length == 0)) + { + return HAL_ERROR; + } + else + { + hhrtim->State = HAL_HRTIM_STATE_BUSY; + } + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= PWMChannel; + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Set the DMA error callback */ + hdma->XferErrorCallback = HRTIM_DMAError ; + + /* Set the DMA transfer completed callback */ + hdma->XferCpltCallback = HRTIM_DMATimerxCplt; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hdma, SrcAddr, DestAddr, Length); + + /* Enable the timer DMA request */ + switch (PWMChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + __HAL_HRTIM_TIMER_ENABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CMP1); + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + __HAL_HRTIM_TIMER_ENABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CMP2); + } + break; + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the PWM output signal generation on the designed timer output + * (The compare DMA request is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param PWMChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimplePWMStop_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t PWMChannel) +{ + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, PWMChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= PWMChannel; + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Disable the DMA */ + HAL_DMA_Abort(hdma); + + /* Disable the timer DMA request */ + switch (PWMChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + __HAL_HRTIM_TIMER_DISABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CMP1); + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + __HAL_HRTIM_TIMER_DISABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CMP2); + } + break; + } + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group5 Simple input capture functions + * @brief Simple input capture functions + +@verbatim + =============================================================================== + ##### Simple input capture functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure simple input capture channel + (+) Start simple input capture + (+) Stop simple input capture + (+) Start simple input capture and enable interrupt + (+) Stop simple input capture and disable interrupt + (+) Start simple input capture and enable DMA transfer + (+) Stop simple input capture and disable DMA transfer + -@- When a HRTIM timer operates in simple input capture mode + the Capture Register (HRTIM_CPT1/2xR) is used to latch the + value of the timer counter counter after a transition detected + on a given external event input. + +@endverbatim + * @{ + */ + +/** + * @brief Configures a simple capture + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureChannel: Capture unit + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @param pSimpleCaptureChannelCfg: pointer to the simple capture configuration structure + * @note When the timer operates in simple capture mode the capture is trigerred + * by the designated external event and GPIO input is implicitly used as event source. + * The cature can be triggered by a rising edge, a falling edge or both + * edges on event channel. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureChannelConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel, + HRTIM_SimpleCaptureChannelCfgTypeDef* pSimpleCaptureChannelCfg) +{ + HRTIM_EventCfgTypeDef EventCfg; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureChannel)); + assert_param(IS_HRTIM_EVENT(pSimpleCaptureChannelCfg->Event)); + assert_param(IS_HRTIM_EVENTPOLARITY(pSimpleCaptureChannelCfg->EventSensitivity, + pSimpleCaptureChannelCfg->EventPolarity)); + assert_param(IS_HRTIM_EVENTSENSITIVITY(pSimpleCaptureChannelCfg->EventSensitivity)); + assert_param(IS_HRTIM_EVENTFILTER(pSimpleCaptureChannelCfg->Event, + pSimpleCaptureChannelCfg->EventFilter)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure external event channel */ + EventCfg.FastMode = HRTIM_EVENTFASTMODE_DISABLE; + EventCfg.Filter = pSimpleCaptureChannelCfg->EventFilter; + EventCfg.Polarity = pSimpleCaptureChannelCfg->EventPolarity; + EventCfg.Sensitivity = pSimpleCaptureChannelCfg->EventSensitivity; + EventCfg.Source = HRTIM_EVENTSRC_1; + + HRTIM_EventConfig(hhrtim, + pSimpleCaptureChannelCfg->Event, + &EventCfg); + + /* Memorize capture trigger (will be configured when the capture is started */ + HRTIM_CaptureUnitConfig(hhrtim, + TimerIdx, + CaptureChannel, + pSimpleCaptureChannelCfg->Event); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables a simple capture on the designed capture unit + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @retval HAL status + * @note The external event triggering the capture is available for all timing + * units. It can be used directly and is active as soon as the timing + * unit counter is enabled. + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStart(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the capture unit trigger */ + switch (CaptureChannel) + { + case HRTIM_CAPTUREUNIT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR = hhrtim->TimerParam[TimerIdx].CaptureTrigger1; + } + break; + case HRTIM_CAPTUREUNIT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR = hhrtim->TimerParam[TimerIdx].CaptureTrigger2; + } + break; + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Disables a simple capture on the designed capture unit + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStop(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the capture unit trigger */ + switch (CaptureChannel) + { + case HRTIM_CAPTUREUNIT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR = HRTIM_CAPTURETRIGGER_NONE; + } + break; + case HRTIM_CAPTUREUNIT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR = HRTIM_CAPTURETRIGGER_NONE; + } + break; + } + + /* Disable the timer counter */ + if ((hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR == HRTIM_CAPTURETRIGGER_NONE) && + (hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR == HRTIM_CAPTURETRIGGER_NONE)) + { + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables a basic capture on the designed capture unit + * (Capture interrupt is enabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStart_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the capture unit trigger */ + switch (CaptureChannel) + { + case HRTIM_CAPTUREUNIT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR = hhrtim->TimerParam[TimerIdx].CaptureTrigger1; + + /* Enable the capture unit 1 interrupt */ + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT1); + } + break; + case HRTIM_CAPTUREUNIT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR = hhrtim->TimerParam[TimerIdx].CaptureTrigger2; + + /* Enable the capture unit 2 interrupt */ + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT2); + } + break; + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Disables a basic capture on the designed capture unit + * (Capture interrupt is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStop_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the capture unit trigger */ + switch (CaptureChannel) + { + case HRTIM_CAPTUREUNIT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR = HRTIM_CAPTURETRIGGER_NONE; + + /* Disable the capture unit 1 interrupt */ + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT1); + } + break; + case HRTIM_CAPTUREUNIT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR = HRTIM_CAPTURETRIGGER_NONE; + + /* Disable the capture unit 2 interrupt */ + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT2); + } + break; + } + + /* Disable the timer counter */ + if ((hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR == HRTIM_CAPTURETRIGGER_NONE) && + (hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR == HRTIM_CAPTURETRIGGER_NONE)) + { + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables a basic capture on the designed capture unit + * (Capture DMA request is enabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @param SrcAddr: DMA transfer source address + * @param DestAddr: DMA transfer destination address + * @param Length: The length of data items (data size) to be transferred + * from source to destination + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStart_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel, + uint32_t SrcAddr, + uint32_t DestAddr, + uint32_t Length) +{ + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Set the DMA error callback */ + hdma->XferErrorCallback = HRTIM_DMAError ; + + /* Set the DMA transfer completed callback */ + hdma->XferCpltCallback = HRTIM_DMATimerxCplt; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hdma, SrcAddr, DestAddr, Length); + + switch (CaptureChannel) + { + case HRTIM_CAPTUREUNIT_1: + { + /* Set the capture unit trigger */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR = hhrtim->TimerParam[TimerIdx].CaptureTrigger1; + + __HAL_HRTIM_TIMER_ENABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CPT1); + } + break; + case HRTIM_CAPTUREUNIT_2: + { + /* Set the capture unit trigger */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR = hhrtim->TimerParam[TimerIdx].CaptureTrigger2; + + /* Enable the timer DMA request */ + __HAL_HRTIM_TIMER_ENABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CPT2); + } + break; + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Disables a basic capture on the designed capture unit + * (Capture DMA request is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleCaptureStop_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureChannel) +{ + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Disable the DMA */ + HAL_DMA_Abort(hdma); + + switch (CaptureChannel) + { + case HRTIM_CAPTUREUNIT_1: + { + /* Reset the capture unit trigger */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR = HRTIM_CAPTURETRIGGER_NONE; + + /* Disable the capture unit 1 DMA request */ + __HAL_HRTIM_TIMER_DISABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CPT1); + } + break; + case HRTIM_CAPTUREUNIT_2: + { + /* Reset the capture unit trigger */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR = HRTIM_CAPTURETRIGGER_NONE; + + /* Disable the capture unit 2 DMA request */ + __HAL_HRTIM_TIMER_DISABLE_DMA(hhrtim, TimerIdx, HRTIM_TIM_DMA_CPT2); + } + break; + } + + /* Disable the timer counter */ + if ((hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR == HRTIM_CAPTURETRIGGER_NONE) && + (hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR == HRTIM_CAPTURETRIGGER_NONE)) + { + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group6 Simple one pulse functions + * @brief Simple one pulse functions + +@verbatim + =============================================================================== + ##### Simple one pulse functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure one pulse channel + (+) Start one pulse generation + (+) Stop one pulse generation + (+) Start one pulse generation and enable interrupt + (+) Stop one pulse generation and disable interrupt + -@- When a HRTIM timer operates in simple one pulse mode + the timer counter is started in response to transition detected + on a given external event input to generate a pulse with a + programmable length after a programmable delay. + +@endverbatim + * @{ + */ + +/** + * @brief Configures an output simple one pulse mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OnePulseChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @param pSimpleOnePulseChannelCfg: pointer to the basic one pulse output configuration structure + * @note When the timer operates in basic one pulse mode: + * the timer counter is implicitely started by the reset event, + * the reset of the timer counter is triggered by the designated external event + * GPIO input is implicitly used as event source, + * Output 1 is implicitly controlled by the compare unit 1, + * Output 2 is implicitly controlled by the compare unit 2. + * Output Set/Reset crossbar is set as follows: + * Output 1: SETx1R = CMP1, RSTx1R = PER + * Output 2: SETx2R = CMP2, RST2R = PER + * @retval HAL status + * @note If HAL_HRTIM_SimpleOnePulseChannelConfig is called for both timer + * outputs, the reset event related configuration data provided in the + * second call will override the reset event related configuration data + * provided in the first call. + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseChannelConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel, + HRTIM_SimpleOnePulseChannelCfgTypeDef* pSimpleOnePulseChannelCfg) +{ + uint32_t CompareUnit = 0xFFFFFFFFU; + HRTIM_CompareCfgTypeDef CompareCfg; + HRTIM_OutputCfgTypeDef OutputCfg; + HRTIM_EventCfgTypeDef EventCfg; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OnePulseChannel)); + assert_param(IS_HRTIM_OUTPUTPOLARITY(pSimpleOnePulseChannelCfg->OutputPolarity)); + assert_param(IS_HRTIM_OUTPUTIDLELEVEL(pSimpleOnePulseChannelCfg->OutputIdleLevel)); + assert_param(IS_HRTIM_EVENT(pSimpleOnePulseChannelCfg->Event)); + assert_param(IS_HRTIM_EVENTPOLARITY(pSimpleOnePulseChannelCfg->EventSensitivity, + pSimpleOnePulseChannelCfg->EventPolarity)); + assert_param(IS_HRTIM_EVENTSENSITIVITY(pSimpleOnePulseChannelCfg->EventSensitivity)); + assert_param(IS_HRTIM_EVENTFILTER(pSimpleOnePulseChannelCfg->Event, + pSimpleOnePulseChannelCfg->EventFilter)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure timer compare unit */ + switch (OnePulseChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + CompareUnit = HRTIM_COMPAREUNIT_1; + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + CompareUnit = HRTIM_COMPAREUNIT_2; + } + break; + } + + CompareCfg.CompareValue = pSimpleOnePulseChannelCfg->Pulse; + CompareCfg.AutoDelayedMode = HRTIM_AUTODELAYEDMODE_REGULAR; + CompareCfg.AutoDelayedTimeout = 0; + + HRTIM_CompareUnitConfig(hhrtim, + TimerIdx, + CompareUnit, + &CompareCfg); + + /* Configure timer output */ + OutputCfg.Polarity = pSimpleOnePulseChannelCfg->OutputPolarity; + OutputCfg.IdleLevel = pSimpleOnePulseChannelCfg->OutputIdleLevel; + OutputCfg.FaultLevel = HRTIM_OUTPUTFAULTLEVEL_NONE; + OutputCfg.IdleMode = HRTIM_OUTPUTIDLEMODE_NONE; + OutputCfg.ChopperModeEnable = HRTIM_OUTPUTCHOPPERMODE_DISABLED; + OutputCfg.BurstModeEntryDelayed = HRTIM_OUTPUTBURSTMODEENTRY_REGULAR; + + if (CompareUnit == HRTIM_COMPAREUNIT_1) + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1; + } + else + { + OutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP2; + } + OutputCfg.ResetSource = HRTIM_OUTPUTSET_TIMPER; + + HRTIM_OutputConfig(hhrtim, + TimerIdx, + OnePulseChannel, + &OutputCfg); + + /* Configure external event channel */ + EventCfg.FastMode = HRTIM_EVENTFASTMODE_DISABLE; + EventCfg.Filter = pSimpleOnePulseChannelCfg->EventFilter; + EventCfg.Polarity = pSimpleOnePulseChannelCfg->EventPolarity; + EventCfg.Sensitivity = pSimpleOnePulseChannelCfg->EventSensitivity; + EventCfg.Source = HRTIM_EVENTSRC_1; + + HRTIM_EventConfig(hhrtim, + pSimpleOnePulseChannelCfg->Event, + &EventCfg); + + /* Configure the timer reset register */ + HRTIM_TIM_ResetConfig(hhrtim, + TimerIdx, + pSimpleOnePulseChannelCfg->Event); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables the simple one pulse signal generation on the designed output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OnePulseChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStart(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OnePulseChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= OnePulseChannel; + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Disables the simple one pulse signal generation on the designed output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OnePulseChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStop(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OnePulseChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= OnePulseChannel; + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables the simple one pulse signal generation on the designed output + * (The compare interrupt is enabled (pulse start)). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OnePulseChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStart_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OnePulseChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the timer output */ + hhrtim->Instance->sCommonRegs.OENR |= OnePulseChannel; + + /* Enable the timer interrupt (depends on the OnePulse output) */ + switch (OnePulseChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP1); + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP2); + } + break; + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Disables the simple one pulse signal generation on the designed output + * (The compare interrupt is disabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param OnePulseChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_SimpleOnePulseStop_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OnePulseChannel) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, OnePulseChannel)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable the timer output */ + hhrtim->Instance->sCommonRegs.ODISR |= OnePulseChannel; + + /* Disable the timer interrupt (depends on the OnePulse output) */ + switch (OnePulseChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP1); + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP2); + } + break; + } + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, TimerIdxToTimerId[TimerIdx]); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group7 Configuration functions + * @brief HRTIM configuration functions + +@verbatim + =============================================================================== + ##### HRTIM configuration functions ##### + =============================================================================== + [..] This section provides functions allowing to configure the HRTIM + resources shared by all the HRTIM timers operating in waveform mode: + (+) Configure the burst mode controller + (+) Configure an external event conditionning + (+) Configure the external events sampling clock + (+) Configure a fault conditionning + (+) Enable or disable fault inputs + (+) Configure the faults sampling clock + (+) Configure an ADC trigger + +@endverbatim + * @{ + */ + +/** + * @brief Configures the burst mode feature of the HRTIM + * @param hhrtim: pointer to HAL HRTIM handle + * @param pBurstModeCfg: pointer to the burst mode configuration structure + * @retval HAL status + * @note This function must be called before starting the burst mode + * controller + */ +HAL_StatusTypeDef HAL_HRTIM_BurstModeConfig(HRTIM_HandleTypeDef * hhrtim, + HRTIM_BurstModeCfgTypeDef* pBurstModeCfg) +{ + uint32_t hrtim_bmcr; + + /* Check parameters */ + assert_param(IS_HRTIM_BURSTMODE(pBurstModeCfg->Mode)); + assert_param(IS_HRTIM_BURSTMODECLOCKSOURCE(pBurstModeCfg->ClockSource)); + assert_param(IS_HRTIM_HRTIM_BURSTMODEPRESCALER(pBurstModeCfg->Prescaler)); + assert_param(IS_HRTIM_BURSTMODEPRELOAD(pBurstModeCfg->PreloadEnable)); + assert_param(IS_HRTIM_BURSTMODETRIGGER(pBurstModeCfg->Trigger)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + hrtim_bmcr = hhrtim->Instance->sCommonRegs.BMCR; + + /* Set the burst mode operating mode */ + hrtim_bmcr &= ~(HRTIM_BMCR_BMOM); + hrtim_bmcr |= pBurstModeCfg->Mode; + + /* Set the burst mode clock source */ + hrtim_bmcr &= ~(HRTIM_BMCR_BMCLK); + hrtim_bmcr |= pBurstModeCfg->ClockSource; + + /* Set the burst mode prescaler */ + hrtim_bmcr &= ~(HRTIM_BMCR_BMPRSC); + hrtim_bmcr |= pBurstModeCfg->Prescaler; + + /* Enable/disable burst mode registers preload */ + hrtim_bmcr &= ~(HRTIM_BMCR_BMPREN); + hrtim_bmcr |= pBurstModeCfg->PreloadEnable; + + /* Set the burst mode trigger */ + hhrtim->Instance->sCommonRegs.BMTRGR = pBurstModeCfg->Trigger; + + /* Set the burst mode compare value */ + hhrtim->Instance->sCommonRegs.BMCMPR = pBurstModeCfg->IdleDuration; + + /* Set the burst mode period */ + hhrtim->Instance->sCommonRegs.BMPER = pBurstModeCfg->Period; + + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.BMCR = hrtim_bmcr; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the conditioning of an external event + * @param hhrtim: pointer to HAL HRTIM handle + * @param Event: external event to configure + * This parameter can be one of the following values: + * @arg HRTIM_EVENT_1: External event 1 + * @arg HRTIM_EVENT_2: External event 2 + * @arg HRTIM_EVENT_3: External event 3 + * @arg HRTIM_EVENT_4: External event 4 + * @arg HRTIM_EVENT_5: External event 5 + * @arg HRTIM_EVENT_6: External event 6 + * @arg HRTIM_EVENT_7: External event 7 + * @arg HRTIM_EVENT_8: External event 8 + * @arg HRTIM_EVENT_9: External event 9 + * @arg HRTIM_EVENT_10: External event 10 + * @param pEventCfg: pointer to the event conditioning configuration structure + * @note This function must be called before starting the timer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_EventConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t Event, + HRTIM_EventCfgTypeDef* pEventCfg) +{ + /* Check parameters */ + assert_param(IS_HRTIM_EVENTSRC(pEventCfg->Source)); + assert_param(IS_HRTIM_EVENTPOLARITY(pEventCfg->Sensitivity, pEventCfg->Polarity)); + assert_param(IS_HRTIM_EVENTSENSITIVITY(pEventCfg->Sensitivity)); + assert_param(IS_HRTIM_EVENTFASTMODE(Event, pEventCfg->FastMode)); + assert_param(IS_HRTIM_EVENTFILTER(Event, pEventCfg->Filter)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure the event channel */ + HRTIM_EventConfig(hhrtim, Event, pEventCfg); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the external event conditioning block prescaler + * @param hhrtim: pointer to HAL HRTIM handle + * @param Prescaler: Prescaler value + * This parameter can be one of the following values: + * @arg HRTIM_EVENTPRESCALER_DIV1: fEEVS=fHRTIM + * @arg HRTIM_EVENTPRESCALER_DIV2: fEEVS=fHRTIM / 2 + * @arg HRTIM_EVENTPRESCALER_DIV4: fEEVS=fHRTIM / 4 + * @arg HRTIM_EVENTPRESCALER_DIV8: fEEVS=fHRTIM / 8 + * @note This function must be called before starting the timer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_EventPrescalerConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t Prescaler) +{ + uint32_t hrtim_eecr3; + + /* Check parameters */ + assert_param(IS_HRTIM_EVENTPRESCALER(Prescaler)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the external event prescaler */ + hrtim_eecr3 = hhrtim->Instance->sCommonRegs.EECR3; + hrtim_eecr3 &= ~(HRTIM_EECR3_EEVSD); + hrtim_eecr3 |= Prescaler; + + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.EECR3 = hrtim_eecr3; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the conditioning of fault input + * @param hhrtim: pointer to HAL HRTIM handle + * @param Fault: fault input to configure + * This parameter can be one of the following values: + * @arg HRTIM_FAULT_1: Fault input 1 + * @arg HRTIM_FAULT_2: Fault input 2 + * @arg HRTIM_FAULT_3: Fault input 3 + * @arg HRTIM_FAULT_4: Fault input 4 + * @arg HRTIM_FAULT_5: Fault input 5 + * @param pFaultCfg: pointer to the fault conditioning configuration structure + * @note This function must be called before starting the timer and before + * enabling faults inputs + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_FaultConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t Fault, + HRTIM_FaultCfgTypeDef* pFaultCfg) +{ + uint32_t hrtim_fltinr1; + uint32_t hrtim_fltinr2; + + /* Check parameters */ + assert_param(IS_HRTIM_FAULT(Fault)); + assert_param(IS_HRTIM_FAULTSOURCE(pFaultCfg->Source)); + assert_param(IS_HRTIM_FAULTPOLARITY(pFaultCfg->Polarity)); + assert_param(IS_HRTIM_FAULTFILTER(pFaultCfg->Filter)); + assert_param(IS_HRTIM_FAULTLOCK(pFaultCfg->Lock)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure fault channel */ + hrtim_fltinr1 = hhrtim->Instance->sCommonRegs.FLTINR1; + hrtim_fltinr2 = hhrtim->Instance->sCommonRegs.FLTINR2; + + switch (Fault) + { + case HRTIM_FAULT_1: + { + hrtim_fltinr1 &= ~(HRTIM_FLTINR1_FLT1P | HRTIM_FLTINR1_FLT1SRC | HRTIM_FLTINR1_FLT1F | HRTIM_FLTINR1_FLT1LCK); + hrtim_fltinr1 |= pFaultCfg->Polarity; + hrtim_fltinr1 |= pFaultCfg->Source; + hrtim_fltinr1 |= pFaultCfg->Filter; + hrtim_fltinr1 |= pFaultCfg->Lock; + } + break; + case HRTIM_FAULT_2: + { + hrtim_fltinr1 &= ~(HRTIM_FLTINR1_FLT2P | HRTIM_FLTINR1_FLT2SRC | HRTIM_FLTINR1_FLT2F | HRTIM_FLTINR1_FLT2LCK); + hrtim_fltinr1 |= (pFaultCfg->Polarity << 8); + hrtim_fltinr1 |= (pFaultCfg->Source << 8); + hrtim_fltinr1 |= (pFaultCfg->Filter << 8); + hrtim_fltinr1 |= (pFaultCfg->Lock << 8); + } + break; + case HRTIM_FAULT_3: + { + hrtim_fltinr1 &= ~(HRTIM_FLTINR1_FLT3P | HRTIM_FLTINR1_FLT3SRC | HRTIM_FLTINR1_FLT3F | HRTIM_FLTINR1_FLT3LCK); + hrtim_fltinr1 |= (pFaultCfg->Polarity << 16); + hrtim_fltinr1 |= (pFaultCfg->Source << 16); + hrtim_fltinr1 |= (pFaultCfg->Filter << 16); + hrtim_fltinr1 |= (pFaultCfg->Lock << 16); + } + break; + case HRTIM_FAULT_4: + { + hrtim_fltinr1 &= ~(HRTIM_FLTINR1_FLT4P | HRTIM_FLTINR1_FLT4SRC | HRTIM_FLTINR1_FLT4F | HRTIM_FLTINR1_FLT4LCK); + hrtim_fltinr1 |= (pFaultCfg->Polarity << 24); + hrtim_fltinr1 |= (pFaultCfg->Source << 24); + hrtim_fltinr1 |= (pFaultCfg->Filter << 24); + hrtim_fltinr1 |= (pFaultCfg->Lock << 24); + } + break; + case HRTIM_FAULT_5: + { + hrtim_fltinr2 &= ~(HRTIM_FLTINR2_FLT5P | HRTIM_FLTINR2_FLT5SRC | HRTIM_FLTINR2_FLT5F | HRTIM_FLTINR2_FLT5LCK); + hrtim_fltinr2 |= pFaultCfg->Polarity; + hrtim_fltinr2 |= pFaultCfg->Source; + hrtim_fltinr2 |= pFaultCfg->Filter; + hrtim_fltinr2 |= pFaultCfg->Lock; + } + break; + default: + break; + } + + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.FLTINR1 = hrtim_fltinr1; + hhrtim->Instance->sCommonRegs.FLTINR2 = hrtim_fltinr2; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the fault conditioning block prescaler + * @param hhrtim: pointer to HAL HRTIM handle + * @param Prescaler: Prescaler value + * This parameter can be one of the following values: + * @arg HRTIM_FAULTPRESCALER_DIV1: fFLTS=fHRTIM + * @arg HRTIM_FAULTPRESCALER_DIV2: fFLTS=fHRTIM / 2 + * @arg HRTIM_FAULTPRESCALER_DIV4: fFLTS=fHRTIM / 4 + * @arg HRTIM_FAULTPRESCALER_DIV8: fFLTS=fHRTIM / 8 + * @retval HAL status + * @note This function must be called before starting the timer and before + * enabling faults inputs + */ +HAL_StatusTypeDef HAL_HRTIM_FaultPrescalerConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t Prescaler) +{ + uint32_t hrtim_fltinr2; + + /* Check parameters */ + assert_param(IS_HRTIM_FAULTPRESCALER(Prescaler)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the external event prescaler */ + hrtim_fltinr2 = hhrtim->Instance->sCommonRegs.FLTINR2; + hrtim_fltinr2 &= ~(HRTIM_FLTINR2_FLTSD); + hrtim_fltinr2 |= Prescaler; + + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.FLTINR2 = hrtim_fltinr2; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables or disables the HRTIMx Fault mode. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Faults: fault input(s) to enable or disable + * This parameter can be any combination of the following values: + * @arg HRTIM_FAULT_1: Fault input 1 + * @arg HRTIM_FAULT_2: Fault input 2 + * @arg HRTIM_FAULT_3: Fault input 3 + * @arg HRTIM_FAULT_4: Fault input 4 + * @arg HRTIM_FAULT_5: Fault input 5 + * @param Enable: Fault(s) enabling + * This parameter can be one of the following values: + * @arg HRTIM_FAULTMODECTL_ENABLED: Fault(s) enabled + * @arg HRTIM_FAULTMODECTL_DISABLED: Fault(s) disabled + * @retval None + */ +void HAL_HRTIM_FaultModeCtl(HRTIM_HandleTypeDef * hhrtim, + uint32_t Faults, + uint32_t Enable) +{ + uint32_t hrtim_fltinr1; + uint32_t hrtim_fltinr2; + + /* Check parameters */ + assert_param(IS_HRTIM_FAULT(Faults)); + assert_param(IS_HRTIM_FAULTMODECTL(Enable)); + + /* Configure fault channel */ + hrtim_fltinr1 = hhrtim->Instance->sCommonRegs.FLTINR1; + hrtim_fltinr2 = hhrtim->Instance->sCommonRegs.FLTINR2; + + if ((Faults & HRTIM_FAULT_1) != RESET) + { + hrtim_fltinr1 &= ~HRTIM_FLTINR1_FLT1E; + hrtim_fltinr1 |= Enable; + } + if ((Faults & HRTIM_FAULT_2) != RESET) + { + hrtim_fltinr1 &= ~HRTIM_FLTINR1_FLT2E; + hrtim_fltinr1 |= (Enable << 8); + } + if ((Faults & HRTIM_FAULT_3) != RESET) + { + hrtim_fltinr1 &= ~HRTIM_FLTINR1_FLT3E; + hrtim_fltinr1 |= (Enable << 16); + } + if ((Faults & HRTIM_FAULT_4) != RESET) + { + hrtim_fltinr1 &= ~HRTIM_FLTINR1_FLT4E; + hrtim_fltinr1 |= (Enable << 24); + } + if ((Faults & HRTIM_FAULT_5) != RESET) + { + hrtim_fltinr2 &= ~HRTIM_FLTINR2_FLT5E; + hrtim_fltinr2 |= Enable; + } + + /* Update the HRTIMx registers */ + hhrtim->Instance->sCommonRegs.FLTINR1 = hrtim_fltinr1; + hhrtim->Instance->sCommonRegs.FLTINR2 = hrtim_fltinr2; +} + +/** + * @brief Configures both the ADC trigger register update source and the ADC + * trigger source. + * @param hhrtim: pointer to HAL HRTIM handle + * @param ADCTrigger: ADC trigger to configure + * This parameter can be one of the following values: + * @arg HRTIM_ADCTRIGGER_1: ADC trigger 1 + * @arg HRTIM_ADCTRIGGER_2: ADC trigger 2 + * @arg HRTIM_ADCTRIGGER_3: ADC trigger 3 + * @arg HRTIM_ADCTRIGGER_4: ADC trigger 4 + * @param pADCTriggerCfg: pointer to the ADC trigger configuration structure + * @retval HAL status + * @note This function must be called before starting the timer + */ +HAL_StatusTypeDef HAL_HRTIM_ADCTriggerConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t ADCTrigger, + HRTIM_ADCTriggerCfgTypeDef* pADCTriggerCfg) +{ + uint32_t hrtim_cr1; + + /* Check parameters */ + assert_param(IS_HRTIM_ADCTRIGGER(ADCTrigger)); + assert_param(IS_HRTIM_ADCTRIGGERUPDATE(pADCTriggerCfg->UpdateSource)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the ADC trigger update source */ + hrtim_cr1 = hhrtim->Instance->sCommonRegs.CR1; + + switch (ADCTrigger) + { + case HRTIM_ADCTRIGGER_1: + { + hrtim_cr1 &= ~(HRTIM_CR1_ADC1USRC); + hrtim_cr1 |= (pADCTriggerCfg->UpdateSource & HRTIM_CR1_ADC1USRC); + + /* Set the ADC trigger 1 source */ + hhrtim->Instance->sCommonRegs.ADC1R = pADCTriggerCfg->Trigger; + } + break; + case HRTIM_ADCTRIGGER_2: + { + hrtim_cr1 &= ~(HRTIM_CR1_ADC2USRC); + hrtim_cr1 |= ((pADCTriggerCfg->UpdateSource << 3) & HRTIM_CR1_ADC2USRC); + + /* Set the ADC trigger 2 source */ + hhrtim->Instance->sCommonRegs.ADC2R = pADCTriggerCfg->Trigger; + } + break; + case HRTIM_ADCTRIGGER_3: + { + hrtim_cr1 &= ~(HRTIM_CR1_ADC3USRC); + hrtim_cr1 |= ((pADCTriggerCfg->UpdateSource << 6) & HRTIM_CR1_ADC3USRC); + + /* Set the ADC trigger 3 source */ + hhrtim->Instance->sCommonRegs.ADC3R = pADCTriggerCfg->Trigger; + } + break; + case HRTIM_ADCTRIGGER_4: + { + hrtim_cr1 &= ~(HRTIM_CR1_ADC4USRC); + hrtim_cr1 |= ((pADCTriggerCfg->UpdateSource << 9) & HRTIM_CR1_ADC4USRC); + + /* Set the ADC trigger 4 source */ + hhrtim->Instance->sCommonRegs.ADC4R = pADCTriggerCfg->Trigger; + } + break; + } + + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.CR1 = hrtim_cr1; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group8 Timer waveform configuration and functions + * @brief HRTIM timer configuration and control functions + +@verbatim + =============================================================================== + ##### HRTIM timer configuration and control functions ##### + =============================================================================== + [..] This section provides functions used to configure and control a + HRTIM timer operating in waveform mode: + (+) Configure HRTIM timer general behavior + (+) Configure HRTIM timer event filtering + (+) Configure HRTIM timer deadtime insertion + (+) Configure HRTIM timer chopper mode + (+) Configure HRTIM timer burst DMA + (+) Configure HRTIM timer compare unit + (+) Configure HRTIM timer capture unit + (+) Configure HRTIM timer output + (+) Set HRTIM timer output level + (+) Enable HRTIM timer output + (+) Disable HRTIM timer output + (+) Start HRTIM timer + (+) Stop HRTIM timer + (+) Start HRTIM timer and enable interrupt + (+) Stop HRTIM timer and disable interrupt + (+) Start HRTIM timer and enable DMA transfer + (+) Stop HRTIM timer and disable DMA transfer + (+) Enable or disable the burst mode controller + (+) Start the burst mode controller (by software) + (+) Trigger a Capture (by software) + (+) Update the HRTIM timer preloadable registers (by software) + (+) Reset the HRTIM timer counter (by software) + (+) Start a burst DMA transfer + (+) Enable timer register update + (+) Disable timer register update + +@endverbatim + * @{ + */ + +/** + * @brief Configures the general behavior of a timer operating in waveform mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param pTimerCfg: pointer to the timer configuration structure + * @note When the timer operates in waveform mode, all the features supported by + * the HRTIM are available without any limitation. + * @retval HAL status + * @note This function must be called before starting the timer + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformTimerConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + HRTIM_TimerCfgTypeDef * pTimerCfg) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + /* Relevant for all HRTIM timers, including the master */ + assert_param(IS_HRTIM_HALFMODE(pTimerCfg->HalfModeEnable)); + assert_param(IS_HRTIM_SYNCSTART(pTimerCfg->StartOnSync)); + assert_param(IS_HRTIM_SYNCRESET(pTimerCfg->ResetOnSync)); + assert_param(IS_HHRTIM_DACSYNC(pTimerCfg->DACSynchro)); + assert_param(IS_HRTIM_PRELOAD(pTimerCfg->PreloadEnable)); + assert_param(IS_HRTIM_TIMERBURSTMODE(pTimerCfg->BurstMode)); + assert_param(IS_HRTIM_UPDATEONREPETITION(pTimerCfg->RepetitionUpdate)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + /* Check parameters */ + assert_param(IS_HRTIM_UPDATEGATING_MASTER(pTimerCfg->UpdateGating)); + assert_param(IS_HRTIM_MASTER_IT(pTimerCfg->InterruptRequests)); + assert_param(IS_HRTIM_MASTER_DMA(pTimerCfg->DMARequests)); + + /* Configure master timer */ + HRTIM_MasterWaveform_Config(hhrtim, pTimerCfg); + } + else + { + /* Check parameters */ + assert_param(IS_HRTIM_UPDATEGATING_TIM(pTimerCfg->UpdateGating)); + assert_param(IS_HRTIM_TIM_IT(pTimerCfg->InterruptRequests)); + assert_param(IS_HRTIM_TIM_DMA(pTimerCfg->DMARequests)); + assert_param(IS_HRTIM_TIMPUSHPULLMODE(pTimerCfg->PushPull)); + assert_param(IS_HRTIM_TIMFAULTENABLE(pTimerCfg->FaultEnable)); + assert_param(IS_HRTIM_TIMFAULTLOCK(pTimerCfg->FaultLock)); + assert_param(IS_HRTIM_TIMDEADTIMEINSERTION(pTimerCfg->PushPull, + pTimerCfg->DeadTimeInsertion)); + assert_param(IS_HRTIM_TIMDELAYEDPROTECTION(pTimerCfg->PushPull, + pTimerCfg->DelayedProtectionMode)); + assert_param(IS_HRTIM_TIMUPDATETRIGGER(pTimerCfg->UpdateTrigger)); + assert_param(IS_HRTIM_TIMRESETTRIGGER(pTimerCfg->ResetTrigger)); + assert_param(IS_HRTIM_TIMUPDATEONRESET(pTimerCfg->ResetUpdate)); + + /* Configure timing unit */ + HRTIM_TimingUnitWaveform_Config(hhrtim, TimerIdx, pTimerCfg); + } + + /* Update timer parameters */ + hhrtim->TimerParam[TimerIdx].InterruptRequests = pTimerCfg->InterruptRequests; + hhrtim->TimerParam[TimerIdx].DMARequests = pTimerCfg->DMARequests; + hhrtim->TimerParam[TimerIdx].DMASrcAddress = pTimerCfg->DMASrcAddress; + hhrtim->TimerParam[TimerIdx].DMADstAddress = pTimerCfg->DMADstAddress; + hhrtim->TimerParam[TimerIdx].DMASize = pTimerCfg->DMASize; + + /* Force a software update */ + HRTIM_ForceRegistersUpdate(hhrtim, TimerIdx); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the event filtering capabilities of a timer (blanking, windowing) + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param Event: external event for which timer event filtering must be configured + * This parameter can be one of the following values: + * @arg HRTIM_EVENT_NONE: Reset timer event filtering configuration + * @arg HRTIM_EVENT_1: External event 1 + * @arg HRTIM_EVENT_2: External event 2 + * @arg HRTIM_EVENT_3: External event 3 + * @arg HRTIM_EVENT_4: External event 4 + * @arg HRTIM_EVENT_5: External event 5 + * @arg HRTIM_EVENT_6: External event 6 + * @arg HRTIM_EVENT_7: External event 7 + * @arg HRTIM_EVENT_8: External event 8 + * @arg HRTIM_EVENT_9: External event 9 + * @arg HRTIM_EVENT_10: External event 10 + * @param pTimerEventFilteringCfg: pointer to the timer event filtering configuration structure + * @note This function must be called before starting the timer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_TimerEventFilteringConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Event, + HRTIM_TimerEventFilteringCfgTypeDef* pTimerEventFilteringCfg) +{ + uint32_t hrtim_eefr; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_EVENT(Event)); + assert_param(IS_HRTIM_TIMEVENTFILTER(pTimerEventFilteringCfg->Filter)); + assert_param(IS_HRTIM_TIMEVENTLATCH(pTimerEventFilteringCfg->Latch)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure timer event filtering capabilities */ + switch (Event) + { + case HRTIM_EVENT_NONE: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1 = 0; + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2 = 0; + } + break; + case HRTIM_EVENT_1: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1; + hrtim_eefr &= ~(HRTIM_EEFR1_EE1FLTR | HRTIM_EEFR1_EE1LTCH); + hrtim_eefr |= (pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1 = hrtim_eefr; + } + break; + case HRTIM_EVENT_2: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1; + hrtim_eefr &= ~(HRTIM_EEFR1_EE2FLTR | HRTIM_EEFR1_EE2LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 6); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1 = hrtim_eefr; + } + break; + case HRTIM_EVENT_3: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1; + hrtim_eefr &= ~(HRTIM_EEFR1_EE3FLTR | HRTIM_EEFR1_EE3LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 12); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1 = hrtim_eefr; + } + break; + case HRTIM_EVENT_4: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1; + hrtim_eefr &= ~(HRTIM_EEFR1_EE4FLTR | HRTIM_EEFR1_EE4LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 18); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1 = hrtim_eefr; + } + break; + case HRTIM_EVENT_5: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1; + hrtim_eefr &= ~(HRTIM_EEFR1_EE5FLTR | HRTIM_EEFR1_EE5LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 24); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR1 = hrtim_eefr; + } + break; + case HRTIM_EVENT_6: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2; + hrtim_eefr &= ~(HRTIM_EEFR2_EE6FLTR | HRTIM_EEFR2_EE6LTCH); + hrtim_eefr |= (pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2 = hrtim_eefr; + } + break; + case HRTIM_EVENT_7: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2; + hrtim_eefr &= ~(HRTIM_EEFR2_EE7FLTR | HRTIM_EEFR2_EE7LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 6); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2 = hrtim_eefr; + } + break; + case HRTIM_EVENT_8: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2; + hrtim_eefr &= ~(HRTIM_EEFR2_EE8FLTR | HRTIM_EEFR2_EE8LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 12); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2 = hrtim_eefr; + } + break; + case HRTIM_EVENT_9: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2; + hrtim_eefr &= ~(HRTIM_EEFR2_EE9FLTR | HRTIM_EEFR2_EE9LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 18); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2 = hrtim_eefr; + } + break; + case HRTIM_EVENT_10: + { + hrtim_eefr = hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2; + hrtim_eefr &= ~(HRTIM_EEFR2_EE10FLTR | HRTIM_EEFR2_EE10LTCH); + hrtim_eefr |= ((pTimerEventFilteringCfg->Filter | pTimerEventFilteringCfg->Latch) << 24); + hhrtim->Instance->sTimerxRegs[TimerIdx].EEFxR2 = hrtim_eefr; + } + break; + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the deadtime insertion feature for a timer + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param pDeadTimeCfg: pointer to the deadtime insertion configuration structure + * @retval HAL status + * @note This function must be called before starting the timer + */ +HAL_StatusTypeDef HAL_HRTIM_DeadTimeConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + HRTIM_DeadTimeCfgTypeDef* pDeadTimeCfg) +{ + uint32_t hrtim_dtr; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_TIMDEADTIME_PRESCALERRATIO(pDeadTimeCfg->Prescaler)); + assert_param(IS_HRTIM_TIMDEADTIME_RISINGSIGN(pDeadTimeCfg->RisingSign)); + assert_param(IS_HRTIM_TIMDEADTIME_RISINGLOCK(pDeadTimeCfg->RisingLock)); + assert_param(IS_HRTIM_TIMDEADTIME_RISINGSIGNLOCK(pDeadTimeCfg->RisingSignLock)); + assert_param(IS_HRTIM_TIMDEADTIME_FALLINGSIGN(pDeadTimeCfg->FallingSign)); + assert_param(IS_HRTIM_TIMDEADTIME_FALLINGLOCK(pDeadTimeCfg->FallingLock)); + assert_param(IS_HRTIM_TIMDEADTIME_FALLINGSIGNLOCK(pDeadTimeCfg->FallingSignLock)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + hrtim_dtr = hhrtim->Instance->sTimerxRegs[TimerIdx].DTxR; + + /* Clear timer deadtime configuration */ + hrtim_dtr &= ~(HRTIM_DTR_DTR | HRTIM_DTR_SDTR | HRTIM_DTR_DTPRSC | + HRTIM_DTR_DTRSLK | HRTIM_DTR_DTRLK | HRTIM_DTR_DTF | + HRTIM_DTR_SDTF | HRTIM_DTR_DTFSLK | HRTIM_DTR_DTFLK); + + /* Set timer deadtime configuration */ + hrtim_dtr |= pDeadTimeCfg->Prescaler; + hrtim_dtr |= pDeadTimeCfg->RisingValue; + hrtim_dtr |= pDeadTimeCfg->RisingSign; + hrtim_dtr |= pDeadTimeCfg->RisingSignLock; + hrtim_dtr |= pDeadTimeCfg->RisingLock; + hrtim_dtr |= (pDeadTimeCfg->FallingValue << 16); + hrtim_dtr |= pDeadTimeCfg->FallingSign; + hrtim_dtr |= pDeadTimeCfg->FallingSignLock; + hrtim_dtr |= pDeadTimeCfg->FallingLock; + + /* Update the HRTIM registers */ + hhrtim->Instance->sTimerxRegs[TimerIdx].DTxR = hrtim_dtr; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the chopper mode feature for a timer + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param pChopperModeCfg: pointer to the chopper mode configuration structure + * @retval HAL status + * @note This function must be called before configuring the timer output(s) + */ +HAL_StatusTypeDef HAL_HRTIM_ChopperModeConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + HRTIM_ChopperModeCfgTypeDef* pChopperModeCfg) +{ + uint32_t hrtim_chpr; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CHOPPER_PRESCALERRATIO(pChopperModeCfg->CarrierFreq)); + assert_param(IS_HRTIM_CHOPPER_DUTYCYCLE(pChopperModeCfg->DutyCycle)); + assert_param(IS_HRTIM_CHOPPER_PULSEWIDTH(pChopperModeCfg->StartPulse)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + hrtim_chpr = hhrtim->Instance->sTimerxRegs[TimerIdx].CHPxR; + + /* Clear timer chopper mode configuration */ + hrtim_chpr &= ~(HRTIM_CHPR_CARFRQ | HRTIM_CHPR_CARDTY | HRTIM_CHPR_STRPW); + + /* Set timer choppe mode configuration */ + hrtim_chpr |= pChopperModeCfg->CarrierFreq; + hrtim_chpr |= (pChopperModeCfg->DutyCycle); + hrtim_chpr |= (pChopperModeCfg->StartPulse); + + /* Update the HRTIM registers */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CHPxR = hrtim_chpr; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the burst DMA controller for a timer + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param RegistersToUpdate: registers to be written by DMA + * This parameter can be any combination of the following values: + * @arg HRTIM_BURSTDMA_CR: HRTIM_MCR or HRTIM_TIMxCR + * @arg HRTIM_BURSTDMA_ICR: HRTIM_MICR or HRTIM_TIMxICR + * @arg HRTIM_BURSTDMA_DIER: HRTIM_MDIER or HRTIM_TIMxDIER + * @arg HRTIM_BURSTDMA_CNT: HRTIM_MCNT or HRTIM_TIMxCNT + * @arg HRTIM_BURSTDMA_PER: HRTIM_MPER or HRTIM_TIMxPER + * @arg HRTIM_BURSTDMA_REP: HRTIM_MREP or HRTIM_TIMxREP + * @arg HRTIM_BURSTDMA_CMP1: HRTIM_MCMP1 or HRTIM_TIMxCMP1 + * @arg HRTIM_BURSTDMA_CMP2: HRTIM_MCMP2 or HRTIM_TIMxCMP2 + * @arg HRTIM_BURSTDMA_CMP3: HRTIM_MCMP3 or HRTIM_TIMxCMP3 + * @arg HRTIM_BURSTDMA_CMP4: HRTIM_MCMP4 or HRTIM_TIMxCMP4 + * @arg HRTIM_BURSTDMA_DTR: HRTIM_TIMxDTR + * @arg HRTIM_BURSTDMA_SET1R: HRTIM_TIMxSET1R + * @arg HRTIM_BURSTDMA_RST1R: HRTIM_TIMxRST1R + * @arg HRTIM_BURSTDMA_SET2R: HRTIM_TIMxSET2R + * @arg HRTIM_BURSTDMA_RST2R: HRTIM_TIMxRST2R + * @arg HRTIM_BURSTDMA_EEFR1: HRTIM_TIMxEEFR1 + * @arg HRTIM_BURSTDMA_EEFR2: HRTIM_TIMxEEFR2 + * @arg HRTIM_BURSTDMA_RSTR: HRTIM_TIMxRSTR + * @arg HRTIM_BURSTDMA_CHPR: HRTIM_TIMxCHPR + * @arg HRTIM_BURSTDMA_OUTR: HRTIM_TIMxOUTR + * @arg HRTIM_BURSTDMA_FLTR: HRTIM_TIMxFLTR + * @retval HAL status + * @note This function must be called before starting the timer + */ +HAL_StatusTypeDef HAL_HRTIM_BurstDMAConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t RegistersToUpdate) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_BURSTDMA(TimerIdx, RegistersToUpdate)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Set the burst DMA timer update register */ + switch (TimerIdx) + { + case HRTIM_TIMERINDEX_TIMER_A: + { + hhrtim->Instance->sCommonRegs.BDTAUPR = RegistersToUpdate; + } + break; + case HRTIM_TIMERINDEX_TIMER_B: + { + hhrtim->Instance->sCommonRegs.BDTBUPR = RegistersToUpdate; + } + break; + case HRTIM_TIMERINDEX_TIMER_C: + { + hhrtim->Instance->sCommonRegs.BDTCUPR = RegistersToUpdate; + } + break; + case HRTIM_TIMERINDEX_TIMER_D: + { + hhrtim->Instance->sCommonRegs.BDTDUPR = RegistersToUpdate; + } + break; + case HRTIM_TIMERINDEX_TIMER_E: + { + hhrtim->Instance->sCommonRegs.BDTEUPR = RegistersToUpdate; + } + break; + case HRTIM_TIMERINDEX_MASTER: + { + hhrtim->Instance->sCommonRegs.BDMUPR = RegistersToUpdate; + } + break; + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the compare unit of a timer operating in waveform mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CompareUnit: Compare unit to configure + * This parameter can be one of the following values: + * @arg HRTIM_COMPAREUNIT_1: Compare unit 1 + * @arg HRTIM_COMPAREUNIT_2: Compare unit 2 + * @arg HRTIM_COMPAREUNIT_3: Compare unit 3 + * @arg HRTIM_COMPAREUNIT_4: Compare unit 4 + * @param pCompareCfg: pointer to the compare unit configuration structure + * @note When auto delayed mode is required for compare unit 2 or compare unit 4, + * application has to configure separately the capture unit. Capture unit + * to configure in that case depends on the compare unit auto delayed mode + * is applied to (see below): + * Auto delayed on output compare 2: capture unit 1 must be configured + * Auto delayed on output compare 4: capture unit 2 must be configured + * @retval HAL status + * @note This function must be called before starting the timer + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCompareConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CompareUnit, + HRTIM_CompareCfgTypeDef* pCompareCfg) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure the compare unit */ + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + switch (CompareUnit) + { + case HRTIM_COMPAREUNIT_1: + { + hhrtim->Instance->sMasterRegs.MCMP1R = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_2: + { + hhrtim->Instance->sMasterRegs.MCMP2R = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_3: + { + hhrtim->Instance->sMasterRegs.MCMP3R = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_4: + { + hhrtim->Instance->sMasterRegs.MCMP4R = pCompareCfg->CompareValue; + } + break; + } + } + else + { + switch (CompareUnit) + { + case HRTIM_COMPAREUNIT_1: + { + /* Set the compare value */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP1xR = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_2: + { + /* Check parameters */ + assert_param(IS_HRTIM_COMPAREUNIT_AUTODELAYEDMODE(CompareUnit, pCompareCfg->AutoDelayedMode)); + + /* Set the compare value */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP2xR = pCompareCfg->CompareValue; + + if (pCompareCfg->AutoDelayedMode != HRTIM_AUTODELAYEDMODE_REGULAR) + { + /* Configure auto-delayed mode */ + /* DELCMP2 bitfield must be reset when reprogrammed from one value */ + /* to the other to reinitialize properly the auto-delayed mechanism */ + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR &= ~HRTIM_TIMCR_DELCMP2; + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR |= pCompareCfg->AutoDelayedMode; + + /* Set the compare value for timeout compare unit (if any) */ + if (pCompareCfg->AutoDelayedMode == HRTIM_AUTODELAYEDMODE_AUTODELAYED_TIMEOUTCMP1) + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP1xR = pCompareCfg->AutoDelayedTimeout; + } + else if (pCompareCfg->AutoDelayedMode == HRTIM_AUTODELAYEDMODE_AUTODELAYED_TIMEOUTCMP3) + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP3xR = pCompareCfg->AutoDelayedTimeout; + } + } + } + break; + case HRTIM_COMPAREUNIT_3: + { + /* Set the compare value */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP3xR = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_4: + { + /* Check parameters */ + assert_param(IS_HRTIM_COMPAREUNIT_AUTODELAYEDMODE(CompareUnit, pCompareCfg->AutoDelayedMode)); + + /* Set the compare value */ + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP4xR = pCompareCfg->CompareValue; + + if (pCompareCfg->AutoDelayedMode != HRTIM_AUTODELAYEDMODE_REGULAR) + { + /* Configure auto-delayed mode */ + /* DELCMP4 bitfield must be reset when reprogrammed from one value */ + /* to the other to reinitialize properly the auto-delayed mechanism */ + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR &= ~HRTIM_TIMCR_DELCMP4; + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR |= (pCompareCfg->AutoDelayedMode << 2); + + /* Set the compare value for timeout compare unit (if any) */ + if (pCompareCfg->AutoDelayedMode == HRTIM_AUTODELAYEDMODE_AUTODELAYED_TIMEOUTCMP1) + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP1xR = pCompareCfg->AutoDelayedTimeout; + } + else if (pCompareCfg->AutoDelayedMode == HRTIM_AUTODELAYEDMODE_AUTODELAYED_TIMEOUTCMP3) + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP3xR = pCompareCfg->AutoDelayedTimeout; + } + } + } + break; + } + } + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the capture unit of a timer operating in waveform mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureUnit: Capture unit to configure + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @param pCaptureCfg: pointer to the compare unit configuration structure + * @retval HAL status + * @note This function must be called before starting the timer + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCaptureConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit, + HRTIM_CaptureCfgTypeDef* pCaptureCfg) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_CAPTURETRIGGER(TimerIdx, pCaptureCfg->Trigger)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure the capture unit */ + switch (CaptureUnit) + { + case HRTIM_CAPTUREUNIT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR = pCaptureCfg->Trigger; + } + break; + case HRTIM_CAPTUREUNIT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR = pCaptureCfg->Trigger; + } + break; + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Configures the output of a timer operating in waveform mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param Output: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @param pOutputCfg: pointer to the timer output configuration structure + * @retval HAL status + * @note This function must be called before configuring the timer and after + * configuring the deadtime insertion feature (if required). + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformOutputConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output, + HRTIM_OutputCfgTypeDef * pOutputCfg) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, Output)); + assert_param(IS_HRTIM_OUTPUTPOLARITY(pOutputCfg->Polarity)); + assert_param(IS_HRTIM_OUTPUTIDLELEVEL(pOutputCfg->IdleLevel)); + assert_param(IS_HRTIM_OUTPUTIDLEMODE(pOutputCfg->IdleMode)); + assert_param(IS_HRTIM_OUTPUTFAULTLEVEL(pOutputCfg->FaultLevel)); + assert_param(IS_HRTIM_OUTPUTCHOPPERMODE(pOutputCfg->ChopperModeEnable)); + assert_param(IS_HRTIM_OUTPUTBURSTMODEENTRY(pOutputCfg->BurstModeEntryDelayed)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Configure the timer output */ + HRTIM_OutputConfig(hhrtim, + TimerIdx, + Output, + pOutputCfg); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Forces the timer output to its active or inactive state + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param Output: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @param OutputLevel: indicates whether the output is forced to its active or inactive level + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUTLEVEL_ACTIVE: output is forced to its active level + * @arg HRTIM_OUTPUTLEVEL_INACTIVE: output is forced to its inactive level + * @retval HAL status + * @note The 'software set/reset trigger' bit in the output set/reset registers + * is automatically reset by hardware + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformSetOutputLevel(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output, + uint32_t OutputLevel) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, Output)); + assert_param(IS_HRTIM_OUTPUTLEVEL(OutputLevel)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Force timer output level */ + switch (Output) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + if (OutputLevel == HRTIM_OUTPUTLEVEL_ACTIVE) + { + /* Force output to its active state */ + hhrtim->Instance->sTimerxRegs[TimerIdx].SETx1R |= HRTIM_SET1R_SST; + } + else + { + /* Force output to its inactive state */ + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx1R |= HRTIM_RST1R_SRT; + } + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + if (OutputLevel == HRTIM_OUTPUTLEVEL_ACTIVE) + { + /* Force output to its active state */ + hhrtim->Instance->sTimerxRegs[TimerIdx].SETx2R |= HRTIM_SET2R_SST; + } + else + { + /* Force output to its inactive state */ + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx2R |= HRTIM_RST2R_SRT; + } + } + break; + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables the generation of the waveform signal on the designated output(s) + * Outputs can be combined (ORed) to allow for simultaneous output enabling. + * @param hhrtim: pointer to HAL HRTIM handle + * @param OutputsToStart: Timer output(s) to enable + * This parameter can be any combination of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformOutputStart(HRTIM_HandleTypeDef * hhrtim, + uint32_t OutputsToStart) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_OUTPUT(OutputsToStart)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the HRTIM outputs */ + hhrtim->Instance->sCommonRegs.OENR |= (OutputsToStart); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Disables the generation of the waveform signal on the designated output(s) + * Outputs can be combined (ORed) to allow for simultaneous output disabling. + * @param hhrtim: pointer to HAL HRTIM handle + * @param OutputsToStop: Timer output(s) to disable + * This parameter can be any combination of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformOutputStop(HRTIM_HandleTypeDef * hhrtim, + uint32_t OutputsToStop) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_OUTPUT(OutputsToStop)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable the HRTIM outputs */ + hhrtim->Instance->sCommonRegs.ODISR |= (OutputsToStop); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the counter of the designated timer(s) operating in waveform mode + * Timers can be combined (ORed) to allow for simultaneous counter start. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer counter(s) to start + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMERID_MASTER + * @arg HRTIM_TIMERID_TIMER_A + * @arg HRTIM_TIMERID_TIMER_B + * @arg HRTIM_TIMERID_TIMER_C + * @arg HRTIM_TIMERID_TIMER_D + * @arg HRTIM_TIMERID_TIMER_E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStart(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERID(Timers)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable timer(s) counter */ + hhrtim->Instance->sMasterRegs.MCR |= (Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the counter of the designated timer(s) operating in waveform mode + * Timers can be combined (ORed) to allow for simultaneous counter stop. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer counter(s) to stop + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMER_MASTER + * @arg HRTIM_TIMER_A + * @arg HRTIM_TIMER_B + * @arg HRTIM_TIMER_C + * @arg HRTIM_TIMER_D + * @arg HRTIM_TIMER_E + * @retval HAL status + * @note The counter of a timer is stopped only if all timer outputs are disabled + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStop(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERID(Timers)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable timer(s) counter */ + hhrtim->Instance->sMasterRegs.MCR &= ~(Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the counter of the designated timer(s) operating in waveform mode + * Timers can be combined (ORed) to allow for simultaneous counter start. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer counter(s) to start + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMERID_MASTER + * @arg HRTIM_TIMERID_A + * @arg HRTIM_TIMERID_B + * @arg HRTIM_TIMERID_C + * @arg HRTIM_TIMERID_D + * @arg HRTIM_TIMERID_E + * @note HRTIM interrupts (e.g. faults interrupts) and interrupts related + * to the timers to start are enabled within this function. + * Interrupts to enable are selected through HAL_HRTIM_WaveformTimerConfig + * function. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStart_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + uint8_t timer_idx; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERID(Timers)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable HRTIM interrupts (if required) */ + __HAL_HRTIM_ENABLE_IT(hhrtim, hhrtim->Init.HRTIMInterruptResquests); + + /* Enable master timer related interrupts (if required) */ + if ((Timers & HRTIM_TIMERID_MASTER) != RESET) + { + __HAL_HRTIM_MASTER_ENABLE_IT(hhrtim, + hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].InterruptRequests); + } + + /* Enable timing unit related interrupts (if required) */ + for (timer_idx = HRTIM_TIMERINDEX_TIMER_A ; + timer_idx < HRTIM_TIMERINDEX_MASTER ; + timer_idx++) + { + if ((Timers & TimerIdxToTimerId[timer_idx]) != RESET) + { + __HAL_HRTIM_TIMER_ENABLE_IT(hhrtim, + timer_idx, + hhrtim->TimerParam[timer_idx].InterruptRequests); + } + } + + /* Enable timer(s) counter */ + hhrtim->Instance->sMasterRegs.MCR |= (Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK;} + +/** + * @brief Stops the counter of the designated timer(s) operating in waveform mode + * Timers can be combined (ORed) to allow for simultaneous counter stop. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer counter(s) to stop + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMER_MASTER + * @arg HRTIM_TIMER_A + * @arg HRTIM_TIMER_B + * @arg HRTIM_TIMER_C + * @arg HRTIM_TIMER_D + * @arg HRTIM_TIMER_E + * @retval HAL status + * @note The counter of a timer is stopped only if all timer outputs are disabled + * @note All enabled timer related interrupts are disabled. + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStop_IT(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + /* ++ WA */ + __IO uint32_t delai = (uint32_t)(0x17F); + /* -- WA */ + + uint8_t timer_idx; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERID(Timers)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Disable HRTIM interrupts (if required) */ + __HAL_HRTIM_DISABLE_IT(hhrtim, hhrtim->Init.HRTIMInterruptResquests); + + /* Disable master timer related interrupts (if required) */ + if ((Timers & HRTIM_TIMERID_MASTER) != RESET) + { + /* Interrupts enable flag must be cleared one by one */ + __HAL_HRTIM_MASTER_DISABLE_IT(hhrtim, hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].InterruptRequests); + } + + /* Disable timing unit related interrupts (if required) */ + for (timer_idx = HRTIM_TIMERINDEX_TIMER_A ; + timer_idx < HRTIM_TIMERINDEX_MASTER ; + timer_idx++) + { + if ((Timers & TimerIdxToTimerId[timer_idx]) != RESET) + { + __HAL_HRTIM_TIMER_DISABLE_IT(hhrtim, timer_idx, hhrtim->TimerParam[timer_idx].InterruptRequests); + } + } + + /* ++ WA */ + do { delai--; } while (delai != 0); + /* -- WA */ + + /* Disable timer(s) counter */ + hhrtim->Instance->sMasterRegs.MCR &= ~(Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts the counter of the designated timer(s) operating in waveform mode + * Timers can be combined (ORed) to allow for simultaneous counter start. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer counter(s) to start + * This parameter can be any combination of the following values: + * HRTIM_TIMER_MASTER + * @arg HRTIM_TIMER_A + * @arg HRTIM_TIMER_B + * @arg HRTIM_TIMER_C + * @arg HRTIM_TIMER_D + * @arg HRTIM_TIMER_E + * @retval HAL status + * @note This function enables the dma request(s) mentionned in the timer + * configuration data structure for every timers to start. + * @note The source memory address, the destination memory address and the + * size of each DMA transfer are specified at timer configuration time + * (see HAL_HRTIM_WaveformTimerConfig) + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStart_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + uint8_t timer_idx; + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERID(Timers)); + + if((hhrtim->State == HAL_HRTIM_STATE_BUSY)) + { + return HAL_BUSY; + } + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + if (((Timers & HRTIM_TIMERID_MASTER) != RESET) && + (hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].DMARequests != 0)) + { + /* Set the DMA error callback */ + hhrtim->hdmaMaster->XferErrorCallback = HRTIM_DMAError ; + + /* Set the DMA transfer completed callback */ + hhrtim->hdmaMaster->XferCpltCallback = HRTIM_DMAMasterCplt; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hhrtim->hdmaMaster, + hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].DMASrcAddress, + hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].DMADstAddress, + hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].DMASize); + + /* Enable the timer DMA request */ + __HAL_HRTIM_MASTER_ENABLE_DMA(hhrtim, + hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].DMARequests); + } + + for (timer_idx = HRTIM_TIMERINDEX_TIMER_A ; + timer_idx < HRTIM_TIMERINDEX_MASTER ; + timer_idx++) + { + if (((Timers & TimerIdxToTimerId[timer_idx]) != RESET) && + (hhrtim->TimerParam[timer_idx].DMARequests != 0)) + { + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, timer_idx); + + /* Set the DMA error callback */ + hdma->XferErrorCallback = HRTIM_DMAError ; + + /* Set the DMA transfer completed callback */ + hdma->XferCpltCallback = HRTIM_DMATimerxCplt; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hdma, + hhrtim->TimerParam[timer_idx].DMASrcAddress, + hhrtim->TimerParam[timer_idx].DMADstAddress, + hhrtim->TimerParam[timer_idx].DMASize); + + /* Enable the timer DMA request */ + __HAL_HRTIM_TIMER_ENABLE_DMA(hhrtim, + timer_idx, + hhrtim->TimerParam[timer_idx].DMARequests); + } + } + + /* Enable the timer counter */ + __HAL_HRTIM_ENABLE(hhrtim, Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Stops the counter of the designated timer(s) operating in waveform mode + * Timers can be combined (ORed) to allow for simultaneous counter stop. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer counter(s) to stop + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMER_MASTER + * @arg HRTIM_TIMER_A + * @arg HRTIM_TIMER_B + * @arg HRTIM_TIMER_C + * @arg HRTIM_TIMER_D + * @arg HRTIM_TIMER_E + * @retval HAL status + * @note The counter of a timer is stopped only if all timer outputs are disabled + * @note All enabled timer related DMA requests are disabled. + */ +HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStop_DMA(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + uint8_t timer_idx; + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERID(Timers)); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + if (((Timers & HRTIM_TIMERID_MASTER) != RESET) && + (hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].DMARequests != 0)) + { + /* Disable the DMA */ + HAL_DMA_Abort(hhrtim->hdmaMaster); + + /* Disable the DMA request(s) */ + __HAL_HRTIM_MASTER_DISABLE_DMA(hhrtim, + hhrtim->TimerParam[HRTIM_TIMERINDEX_MASTER].DMARequests); + } + + for (timer_idx = HRTIM_TIMERINDEX_TIMER_A ; + timer_idx < HRTIM_TIMERINDEX_MASTER ; + timer_idx++) + { + if (((Timers & TimerIdxToTimerId[timer_idx]) != RESET) && + (hhrtim->TimerParam[timer_idx].DMARequests != 0)) + { + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, timer_idx); + + /* Disable the DMA */ + HAL_DMA_Abort(hdma); + + /* Disable the DMA request(s) */ + __HAL_HRTIM_TIMER_DISABLE_DMA(hhrtim, + timer_idx, + hhrtim->TimerParam[timer_idx].DMARequests); + } + } + + /* Disable the timer counter */ + __HAL_HRTIM_DISABLE(hhrtim, Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Enables or disables the HRTIM burst mode controller. + * @param hhrtim: pointer to HAL HRTIM handle + * @param Enable: Burst mode controller enabling + * This parameter can be one of the following values: + * @arg HRTIM_BURSTMODECTL_ENABLED: Burst mode enabled + * @arg HRTIM_BURSTMODECTL_DISABLED: Burst mode disabled + * @retval HAL status + * @note This function must be called after starting the timer(s) + */ +HAL_StatusTypeDef HAL_HRTIM_BurstModeCtl(HRTIM_HandleTypeDef * hhrtim, + uint32_t Enable) +{ + uint32_t hrtim_bmcr; + + /* Check parameters */ + assert_param(IS_HRTIM_BURSTMODECTL(Enable)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable/Disable the burst mode controller */ + hrtim_bmcr = hhrtim->Instance->sCommonRegs.BMCR; + hrtim_bmcr &= ~(HRTIM_BMCR_BME); + hrtim_bmcr |= Enable; + + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.BMCR = hrtim_bmcr; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Triggers the burst mode operation. + * @param hhrtim: pointer to HAL HRTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_BurstModeSoftwareTrigger(HRTIM_HandleTypeDef *hhrtim) +{ + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Software trigger of the burst mode controller */ + hhrtim->Instance->sCommonRegs.BMTRGR |= HRTIM_BMTRGR_SW; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Triggers a software capture on the designed capture unit + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureUnit: Capture unit to trig + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @retval HAL status + * @note The 'software capture' bit in the capure configuration register is + * automatically reset by hardware + */ +HAL_StatusTypeDef HAL_HRTIM_SoftwareCapture(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureUnit)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Force a software capture on concerned capture unit */ + switch (CaptureUnit) + { + case HRTIM_CAPTUREUNIT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xCR |= HRTIM_CPT1CR_SWCPT; + } + break; + case HRTIM_CAPTUREUNIT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xCR |= HRTIM_CPT2CR_SWCPT; + } + break; + } + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Triggers the update of the registers of one or several timers + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: timers concerned with the software register update + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMERUPDATE_MASTER + * @arg HRTIM_TIMERUPDATE_A + * @arg HRTIM_TIMERUPDATE_B + * @arg HRTIM_TIMERUPDATE_C + * @arg HRTIM_TIMERUPDATE_D + * @arg HRTIM_TIMERUPDATE_E + * @retval HAL status + * @note The 'software update' bits in the HRTIM conrol register 2 register are + * automatically reset by hardware + */ +HAL_StatusTypeDef HAL_HRTIM_SoftwareUpdate(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMERUPDATE(Timers)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Force timer(s) registers update */ + hhrtim->Instance->sCommonRegs.CR2 |= Timers; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Triggers the reset of one or several timers + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: timers concerned with the software counter reset + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMERRESET_MASTER + * @arg HRTIM_TIMERRESET_TIMER_A + * @arg HRTIM_TIMERRESET_TIMER_B + * @arg HRTIM_TIMERRESET_TIMER_C + * @arg HRTIM_TIMERRESET_TIMER_D + * @arg HRTIM_TIMERRESET_TIMER_E + * @retval HAL status + * @note The 'software reset' bits in the HRTIM conrol register 2 are + * automatically reset by hardware + */ +HAL_StatusTypeDef HAL_HRTIM_SoftwareReset(HRTIM_HandleTypeDef * hhrtim, + uint32_t Timers) +{ + /* Check parameters */ + assert_param(IS_HRTIM_TIMERRESET(Timers)); + + if(hhrtim->State == HAL_HRTIM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Force timer(s) registers reset */ + hhrtim->Instance->sCommonRegs.CR2 = Timers; + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Starts a burst DMA operation to update HRTIM control registers content + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param BurstBufferAddress: address of the buffer the HRTIM control registers + * content will be updated from. + * @param BurstBufferLength: size (in WORDS) of the burst buffer. + * @retval HAL status + * @note The TimerIdx parameter determines the dma channel to be used by the + * DMA burst controller (see below) + * HRTIM_TIMERINDEX_MASTER: DMA channel 2 is used by the DMA burst controller + * HRTIM_TIMERINDEX_TIMER_A: DMA channel 3 is used by the DMA burst controller + * HRTIM_TIMERINDEX_TIMER_B: DMA channel 4 is used by the DMA burst controller + * HRTIM_TIMERINDEX_TIMER_C: DMA channel 5 is used by the DMA burst controller + * HRTIM_TIMERINDEX_TIMER_D: DMA channel 6 is used by the DMA burst controller + * HRTIM_TIMERINDEX_TIMER_E: DMA channel 7 is used by the DMA burst controller + */ +HAL_StatusTypeDef HAL_HRTIM_BurstDMATransfer(HRTIM_HandleTypeDef *hhrtim, + uint32_t TimerIdx, + uint32_t BurstBufferAddress, + uint32_t BurstBufferLength) +{ + DMA_HandleTypeDef * hdma; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERINDEX(TimerIdx)); + + if((hhrtim->State == HAL_HRTIM_STATE_BUSY)) + { + return HAL_BUSY; + } + if((hhrtim->State == HAL_HRTIM_STATE_READY)) + { + if((BurstBufferAddress == 0 ) || (BurstBufferLength == 0)) + { + return HAL_ERROR; + } + else + { + hhrtim->State = HAL_HRTIM_STATE_BUSY; + } + } + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + /* Get the timer DMA handler */ + hdma = HRTIM_GetDMAHandleFromTimerIdx(hhrtim, TimerIdx); + + /* Set the DMA transfer completed callback */ + hdma->XferCpltCallback = HRTIM_BurstDMACplt; + + /* Set the DMA error callback */ + hdma->XferErrorCallback = HRTIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hdma, + BurstBufferAddress, + (uint32_t)&(hhrtim->Instance->sCommonRegs.BDMADR), + BurstBufferLength); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; +} + +/** + * @brief Enables the transfer from preload to active registers for one + * or several timing units (including master timer). + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer(s) concerned by the register preload enabling command + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMERUPDATE_MASTER + * @arg HRTIM_TIMERUPDATE_A + * @arg HRTIM_TIMERUPDATE_B + * @arg HRTIM_TIMERUPDATE_C + * @arg HRTIM_TIMERUPDATE_D + * @arg HRTIM_TIMERUPDATE_E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_UpdateEnable(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERUPDATE(Timers)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable timer(s) registers update */ + hhrtim->Instance->sCommonRegs.CR1 &= ~(Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; + } + +/** + * @brief Disables the transfer from preload to active registers for one + * or several timing units (including master timer). + * @param hhrtim: pointer to HAL HRTIM handle + * @param Timers: Timer(s) concerned by the register preload disabling command + * This parameter can be any combination of the following values: + * @arg HRTIM_TIMERUPDATE_MASTER + * @arg HRTIM_TIMERUPDATE_A + * @arg HRTIM_TIMERUPDATE_B + * @arg HRTIM_TIMERUPDATE_C + * @arg HRTIM_TIMERUPDATE_D + * @arg HRTIM_TIMERUPDATE_E + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HRTIM_UpdateDisable(HRTIM_HandleTypeDef *hhrtim, + uint32_t Timers) +{ + /* Check the parameters */ + assert_param(IS_HRTIM_TIMERUPDATE(Timers)); + + /* Process Locked */ + __HAL_LOCK(hhrtim); + + hhrtim->State = HAL_HRTIM_STATE_BUSY; + + /* Enable timer(s) registers update */ + hhrtim->Instance->sCommonRegs.CR1 |= (Timers); + + hhrtim->State = HAL_HRTIM_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hhrtim); + + return HAL_OK; + } + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group9 Peripheral state functions + * @brief Peripheral State functions + +@verbatim + =============================================================================== + ##### Peripheral State functions ##### + =============================================================================== + [..] This section provides functions used to get HRTIM or HRTIM timer + specific information: + (+) Get HRTIM HAL state + (+) Get captured value + (+) Get HRTIM timer output level + (+) Get HRTIM timer output state + (+) Get delayed protection status + (+) Get burst status + (+) Get current push-pull status + (+) Get idle push-pull status + +@endverbatim + * @{ + */ + +/** + * @brief return the HRTIM HAL state + * @param hhrtim: pointer to HAL HRTIM handle + * @retval HAL state + */ +HAL_HRTIM_StateTypeDef HAL_HRTIM_GetState(HRTIM_HandleTypeDef* hhrtim) +{ + /* Return ADC state */ + return hhrtim->State; +} + +/** + * @brief Returns actual value of the capture register of the designated capture unit + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param CaptureUnit: Capture unit to trig + * This parameter can be one of the following values: + * @arg HRTIM_CAPTUREUNIT_1: Capture unit 1 + * @arg HRTIM_CAPTUREUNIT_2: Capture unit 2 + * @retval Captured value + */ +uint32_t HAL_HRTIM_GetCapturedValue(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit) +{ + uint32_t captured_value = 0; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + assert_param(IS_HRTIM_CAPTUREUNIT(CaptureUnit)); + + /* Read captured value */ + switch (CaptureUnit) + { + case HRTIM_CAPTUREUNIT_1: + { + captured_value = hhrtim->Instance->sTimerxRegs[TimerIdx].CPT1xR; + } + break; + case HRTIM_CAPTUREUNIT_2: + { + captured_value = hhrtim->Instance->sTimerxRegs[TimerIdx].CPT2xR; + } + break; + } + + return captured_value; +} + +/** + * @brief Returns actual level (active or inactive) of the designated output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param Output: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval Output level + * @note Returned output level is taken before the output stage (chopper, + * polarity). + */ +uint32_t HAL_HRTIM_WaveformGetOutputLevel(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output) +{ + uint32_t output_level = HRTIM_OUTPUTLEVEL_INACTIVE; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, Output)); + + /* Read the output level */ + switch (Output) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + if ((hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxISR & HRTIM_TIMISR_O1CPY) != RESET) + { + output_level = HRTIM_OUTPUTLEVEL_ACTIVE; + } + else + { + output_level = HRTIM_OUTPUTLEVEL_INACTIVE; + } + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + if ((hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxISR & HRTIM_TIMISR_O2CPY) != RESET) + { + output_level = HRTIM_OUTPUTLEVEL_ACTIVE; + } + else + { + output_level = HRTIM_OUTPUTLEVEL_INACTIVE; + } + } + break; + } + + return output_level; +} + +/** + * @brief Returns actual state (RUN, IDLE, FAULT) of the designated output + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param Output: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval Output state + */ +uint32_t HAL_HRTIM_WaveformGetOutputState(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output) +{ + uint32_t output_bit = 0; + uint32_t output_state = HRTIM_OUTPUTSTATE_IDLE; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, Output)); + + /* Set output state according to output control status and output disable status */ + switch (Output) + { + case HRTIM_OUTPUT_TA1: + { + output_bit = HRTIM_OENR_TA1OEN; + } + break; + case HRTIM_OUTPUT_TA2: + { + output_bit = HRTIM_OENR_TA2OEN; + } + break; + case HRTIM_OUTPUT_TB1: + { + output_bit = HRTIM_OENR_TB1OEN; + } + break; + case HRTIM_OUTPUT_TB2: + { + output_bit = HRTIM_OENR_TB2OEN; + } + break; + case HRTIM_OUTPUT_TC1: + { + output_bit = HRTIM_OENR_TC1OEN; + } + break; + case HRTIM_OUTPUT_TC2: + { + output_bit = HRTIM_OENR_TC2OEN; + } + break; + case HRTIM_OUTPUT_TD1: + { + output_bit = HRTIM_OENR_TD1OEN; + } + break; + case HRTIM_OUTPUT_TD2: + { + output_bit = HRTIM_OENR_TD2OEN; + } + break; + case HRTIM_OUTPUT_TE1: + { + output_bit = HRTIM_OENR_TE1OEN; + } + break; + case HRTIM_OUTPUT_TE2: + { + output_bit = HRTIM_OENR_TE2OEN; + } + break; + } + + if ((hhrtim->Instance->sCommonRegs.OENR & output_bit) != RESET) + { + /* Output is enabled: output in RUN state (whatever ouput disable status is)*/ + output_state = HRTIM_OUTPUTSTATE_RUN; + } + else + { + if ((hhrtim->Instance->sCommonRegs.ODSR & output_bit) != RESET) + { + /* Output is disabled: output in FAULT state */ + output_state = HRTIM_OUTPUTSTATE_FAULT; + } + else + { + /* Output is disabled: output in IDLE state */ + output_state = HRTIM_OUTPUTSTATE_IDLE; + } + } + + return(output_state); +} + +/** + * @brief Returns the level (active or inactive) of the designated output + * when the delayed protection was triggered. + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @param Output: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer E - Output 2 + * @retval Delayed protection status + */ +uint32_t HAL_HRTIM_GetDelayedProtectionStatus(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output) +{ + uint32_t delayed_protection_status = HRTIM_OUTPUTLEVEL_INACTIVE; + + /* Check parameters */ + assert_param(IS_HRTIM_TIMER_OUTPUT(TimerIdx, Output)); + + /* Read the delayed protection status */ + switch (Output) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + if ((hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxISR & HRTIM_TIMISR_O1STAT) != RESET) + { + /* Output 1 was active when the delayed idle protection was triggered */ + delayed_protection_status = HRTIM_OUTPUTLEVEL_ACTIVE; + } + else + { + /* Output 1 was inactive when the delayed idle protection was triggered */ + delayed_protection_status = HRTIM_OUTPUTLEVEL_INACTIVE; + } + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + if ((hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxISR & HRTIM_TIMISR_O2STAT) != RESET) + { + /* Output 2 was active when the delayed idle protection was triggered */ + delayed_protection_status = HRTIM_OUTPUTLEVEL_ACTIVE; + } + else + { + /* Output 2 was inactive when the delayed idle protection was triggered */ + delayed_protection_status = HRTIM_OUTPUTLEVEL_INACTIVE; + } + } + break; + } + + return delayed_protection_status; +} + +/** + * @brief Returns the actual status (active or inactive) of the burst mode controller + * @param hhrtim: pointer to HAL HRTIM handle + * @retval Burst mode controller status + */ +uint32_t HAL_HRTIM_GetBurstStatus(HRTIM_HandleTypeDef * hhrtim) +{ + uint32_t burst_mode_status; + + /* Read burst mode status */ + burst_mode_status = (hhrtim->Instance->sCommonRegs.BMCR & HRTIM_BMCR_BMSTAT); + + return burst_mode_status; +} + +/** + * @brief Indicates on which output the signal is currently active (when the + * push pull mode is enabled). + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval Burst mode controller status + */ +uint32_t HAL_HRTIM_GetCurrentPushPullStatus(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + uint32_t current_pushpull_status; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + + /* Read current push pull status */ + current_pushpull_status = (hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxISR & HRTIM_TIMISR_CPPSTAT); + + return current_pushpull_status; +} + + +/** + * @brief Indicates on which output the signal was applied, in push-pull mode, + balanced fault mode or delayed idle mode, when the protection was triggered. + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval Idle Push Pull Status + */ +uint32_t HAL_HRTIM_GetIdlePushPullStatus(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + uint32_t idle_pushpull_status; + + /* Check the parameters */ + assert_param(IS_HRTIM_TIMING_UNIT(TimerIdx)); + + /* Read current push pull status */ + idle_pushpull_status = (hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxISR & HRTIM_TIMISR_IPPSTAT); + + return idle_pushpull_status; +} + +/** + * @} + */ + +/** @defgroup HRTIM_Exported_Functions_Group10 Interrupts handling + * @brief Functions called when HRTIM generates an interrupt + * 7 interrupts can be generated by the master timer: + * - Master timer registers update + * - Synchronization event received + * - Master timer repetition event + * - Master Compare 1 to 4 event + * 14 interrupts can be generated by each timing unit: + * - Delayed protection triggered + * - Counter reset or roll-over event + * - Output 1 and output 2 reset (transition active to inactive) + * - Output 1 and output 2 set (transition inactive to active) + * - Capture 1 and 2 events + * - Timing unit registers update + * - Repetition event + * - Compare 1 to 4 event + * 8 global interrupts are generated for the whole HRTIM: + * - System fault and Fault 1 to 5 (regardless of the timing unit attribution) + * - Burst mode period completed + * +@verbatim + =============================================================================== + ##### HRTIM interrupts handling ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the HRTIM + interrupts: + (+) HRTIM interrupt handler + (+) Callback function called when Fault1 interrupt occurs + (+) Callback function called when Fault2 interrupt occurs + (+) Callback function called when Fault3 interrupt occurs + (+) Callback function called when Fault4 interrupt occurs + (+) Callback function called when Fault5 interrupt occurs + (+) Callback function called when system Fault interrupt occurs + (+) Callback function called when burst mode period interrupt occurs + (+) Callback function called when synchronization input interrupt occurs + (+) Callback function called when a timer register update interrupt occurs + (+) Callback function called when a timer repetition interrupt occurs + (+) Callback function called when a compare 1 match interrupt occurs + (+) Callback function called when a compare 2 match interrupt occurs + (+) Callback function called when a compare 3 match interrupt occurs + (+) Callback function called when a compare 4 match interrupt occurs + (+) Callback function called when a capture 1 interrupt occurs + (+) Callback function called when a capture 2 interrupt occurs + (+) Callback function called when a delayed protection interrupt occurs + (+) Callback function called when a timer counter reset interrupt occurs + (+) Callback function called when a timer output 1 set interrupt occurs + (+) Callback function called when a timer output 1 reset interrupt occurs + (+) Callback function called when a timer output 2 set interrupt occurs + (+) Callback function called when a timer output 2 reset interrupt occurs + (+) Callback function called when a timer output 2 reset interrupt occurs + (+) Callback function called upon completion of a burst DMA transfer + +@endverbatim + * @{ + */ + +/** + * @brief This function handles HRTIM interrupt request. + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be any value of @ref HRTIM_Timer_Index + * @retval None + */ +void HAL_HRTIM_IRQHandler(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* HRTIM interrupts handling */ + if (TimerIdx == HRTIM_TIMERINDEX_COMMON) + { + HRTIM_HRTIM_ISR(hhrtim); + } + else if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + /* Master related interrupts handling */ + HRTIM_Master_ISR(hhrtim); + } + else + { + /* Timing unit related interrupts handling */ + HRTIM_Timer_ISR(hhrtim, TimerIdx); + } + +} + +/** + * @brief Callback function invoked when a fault 1 interrupt occured + * @param hhrtim: pointer to HAL HRTIM handle * @retval None + * @retval None + */ +__weak void HAL_HRTIM_Fault1Callback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Fault1Callback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a fault 2 interrupt occured + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_Fault2Callback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Fault2Callback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a fault 3 interrupt occured + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_Fault3Callback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Fault3Callback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a fault 4 interrupt occured + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_Fault4Callback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Fault4Callback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a fault 5 interrupt occured + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_Fault5Callback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Fault5Callback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a system fault interrupt occured + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_SystemFaultCallback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_SystemFaultCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the end of the burst mode period is reached + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_BurstModePeriodCallback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_BurstModeCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a synchronization input event is received + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_SynchronizationEventCallback(HRTIM_HandleTypeDef * hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Master_SynchronizationEventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when timer registers are updated + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_RegistersUpdateCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Master_RegistersUpdateCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when timer repetition period has elapsed + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_RepetitionEventCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Master_RepetitionEventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer counter matches the value + * programmed in the compare 1 register + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Compare1EventCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Master_Compare1EventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer counter matches the value + * programmed in the compare 2 register + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + */ +__weak void HAL_HRTIM_Compare2EventCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Master_Compare2EventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer counter matches the value + * programmed in the compare 3 register + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Compare3EventCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Master_Compare3EventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer counter matches the value + * programmed in the compare 4 register + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Compare4EventCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Master_Compare4EventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer x capture 1 event occurs + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Capture1EventCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_Capture1EventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer x capture 2 event occurs + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Capture2EventCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_Capture2EventCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the delayed idle or balanced idle mode is + * entered + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_DelayedProtectionCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_DelayedProtectionCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer x counter reset/roll-over + * event occurs + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_CounterResetCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_CounterResetCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer x output 1 is set + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Output1SetCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_Output1SetCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer x output 1 is reset + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Output1ResetCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_Output1ResetCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer x output 2 is set + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Output2SetCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_Output2SetCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when the timer x output 2 is reset + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_Output2ResetCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_Timer_Output2ResetCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a DMA burst transfer is completed + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_MASTER for master timer + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None + */ +__weak void HAL_HRTIM_BurstDMATransferCallback(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + UNUSED(TimerIdx); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_BurstDMATransferCallback could be implenetd in the user file + */ +} + +/** + * @brief Callback function invoked when a DMA error occurs + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +__weak void HAL_HRTIM_ErrorCallback(HRTIM_HandleTypeDef *hhrtim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hhrtim); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HRTIM_ErrorCallback could be implenetd in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup HRTIM_Private_Functions HRTIM Private Functions + * @{ + */ + +/** + * @brief Configures the master timer time base + * @param hhrtim: pointer to HAL HRTIM handle + * @param pTimeBaseCfg: pointer to the time base configuration structure + * @retval None + */ +static void HRTIM_MasterBase_Config(HRTIM_HandleTypeDef * hhrtim, + HRTIM_TimeBaseCfgTypeDef * pTimeBaseCfg) +{ + uint32_t hrtim_mcr; + + /* Configure master timer */ + hrtim_mcr = hhrtim->Instance->sMasterRegs.MCR; + + /* Set the prescaler ratio */ + hrtim_mcr &= (uint32_t) ~(HRTIM_MCR_CK_PSC); + hrtim_mcr |= (uint32_t)pTimeBaseCfg->PrescalerRatio; + + /* Set the operating mode */ + hrtim_mcr &= (uint32_t) ~(HRTIM_MCR_CONT | HRTIM_MCR_RETRIG); + hrtim_mcr |= (uint32_t)pTimeBaseCfg->Mode; + + /* Update the HRTIM registers */ + hhrtim->Instance->sMasterRegs.MCR = hrtim_mcr; + hhrtim->Instance->sMasterRegs.MPER = pTimeBaseCfg->Period; + hhrtim->Instance->sMasterRegs.MREP = pTimeBaseCfg->RepetitionCounter; +} + +/** + * @brief Configures timing unit (timer A to timer E) time base + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param pTimeBaseCfg: pointer to the time base configuration structure + * @retval None + */ +static void HRTIM_TimingUnitBase_Config(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx , + HRTIM_TimeBaseCfgTypeDef * pTimeBaseCfg) +{ + uint32_t hrtim_timcr; + + /* Configure master timing unit */ + hrtim_timcr = hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR; + + /* Set the prescaler ratio */ + hrtim_timcr &= (uint32_t) ~(HRTIM_TIMCR_CK_PSC); + hrtim_timcr |= (uint32_t)pTimeBaseCfg->PrescalerRatio; + + /* Set the operating mode */ + hrtim_timcr &= (uint32_t) ~(HRTIM_TIMCR_CONT | HRTIM_TIMCR_RETRIG); + hrtim_timcr |= (uint32_t)pTimeBaseCfg->Mode; + + /* Update the HRTIM registers */ + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR = hrtim_timcr; + hhrtim->Instance->sTimerxRegs[TimerIdx].PERxR = pTimeBaseCfg->Period; + hhrtim->Instance->sTimerxRegs[TimerIdx].REPxR = pTimeBaseCfg->RepetitionCounter; +} + +/** + * @brief Configures the master timer in waveform mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param pTimerCfg: pointer to the timer configuration data structure + * @retval None + */ +static void HRTIM_MasterWaveform_Config(HRTIM_HandleTypeDef * hhrtim, + HRTIM_TimerCfgTypeDef * pTimerCfg) +{ + uint32_t hrtim_mcr; + uint32_t hrtim_bmcr; + + /* Configure master timer */ + hrtim_mcr = hhrtim->Instance->sMasterRegs.MCR; + hrtim_bmcr = hhrtim->Instance->sCommonRegs.BMCR; + + /* Enable/Disable the half mode */ + hrtim_mcr &= ~(HRTIM_MCR_HALF); + hrtim_mcr |= pTimerCfg->HalfModeEnable; + + /* Enable/Disable the timer start upon synchronization event reception */ + hrtim_mcr &= ~(HRTIM_MCR_SYNCSTRTM); + hrtim_mcr |= pTimerCfg->StartOnSync; + + /* Enable/Disable the timer reset upon synchronization event reception */ + hrtim_mcr &= ~(HRTIM_MCR_SYNCRSTM); + hrtim_mcr |= pTimerCfg->ResetOnSync; + + /* Enable/Disable the DAC synchronization event generation */ + hrtim_mcr &= ~(HRTIM_MCR_DACSYNC); + hrtim_mcr |= pTimerCfg->DACSynchro; + + /* Enable/Disable preload meachanism for timer registers */ + hrtim_mcr &= ~(HRTIM_MCR_PREEN); + hrtim_mcr |= pTimerCfg->PreloadEnable; + + /* Master timer registers update handling */ + hrtim_mcr &= ~(HRTIM_MCR_BRSTDMA); + hrtim_mcr |= (pTimerCfg->UpdateGating << 2); + + /* Enable/Disable registers update on repetition */ + hrtim_mcr &= ~(HRTIM_MCR_MREPU); + hrtim_mcr |= pTimerCfg->RepetitionUpdate; + + /* Set the timer burst mode */ + hrtim_bmcr &= ~(HRTIM_BMCR_MTBM); + hrtim_bmcr |= pTimerCfg->BurstMode; + + /* Update the HRTIM registers */ + hhrtim->Instance->sMasterRegs.MCR = hrtim_mcr; + hhrtim->Instance->sCommonRegs.BMCR = hrtim_bmcr; +} + +/** + * @brief Configures timing unit (timer A to timer E) in waveform mode + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param pTimerCfg: pointer to the timer configuration data structure + * @retval None + */ +static void HRTIM_TimingUnitWaveform_Config(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + HRTIM_TimerCfgTypeDef * pTimerCfg) +{ + uint32_t hrtim_timcr; + uint32_t hrtim_timfltr; + uint32_t hrtim_timoutr; + uint32_t hrtim_timrstr; + uint32_t hrtim_bmcr; + + /* UPDGAT bitfield must be reset before programming a new value */ + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR &= ~(HRTIM_TIMCR_UPDGAT); + + /* Configure timing unit (Timer A to Timer E) */ + hrtim_timcr = hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR; + hrtim_timfltr = hhrtim->Instance->sTimerxRegs[TimerIdx].FLTxR; + hrtim_timoutr = hhrtim->Instance->sTimerxRegs[TimerIdx].OUTxR; + hrtim_timrstr = hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR; + hrtim_bmcr = hhrtim->Instance->sCommonRegs.BMCR; + + /* Enable/Disable the half mode */ + hrtim_timcr &= ~(HRTIM_TIMCR_HALF); + hrtim_timcr |= pTimerCfg->HalfModeEnable; + + /* Enable/Disable the timer start upon synchronization event reception */ + hrtim_timcr &= ~(HRTIM_TIMCR_SYNCSTRT); + hrtim_timcr |= pTimerCfg->StartOnSync; + + /* Enable/Disable the timer reset upon synchronization event reception */ + hrtim_timcr &= ~(HRTIM_TIMCR_SYNCRST); + hrtim_timcr |= pTimerCfg->ResetOnSync; + + /* Enable/Disable the DAC synchronization event generation */ + hrtim_timcr &= ~(HRTIM_TIMCR_DACSYNC); + hrtim_timcr |= pTimerCfg->DACSynchro; + + /* Enable/Disable preload meachanism for timer registers */ + hrtim_timcr &= ~(HRTIM_TIMCR_PREEN); + hrtim_timcr |= pTimerCfg->PreloadEnable; + + /* Timing unit registers update handling */ + hrtim_timcr &= ~(HRTIM_TIMCR_UPDGAT); + hrtim_timcr |= pTimerCfg->UpdateGating; + + /* Enable/Disable registers update on repetition */ + hrtim_timcr &= ~(HRTIM_TIMCR_TREPU); + if (pTimerCfg->RepetitionUpdate == HRTIM_UPDATEONREPETITION_ENABLED) + { + hrtim_timcr |= HRTIM_TIMCR_TREPU; + } + + /* Set the push-pull mode */ + hrtim_timcr &= ~(HRTIM_TIMCR_PSHPLL); + hrtim_timcr |= pTimerCfg->PushPull; + + /* Enable/Disable registers update on timer counter reset */ + hrtim_timcr &= ~(HRTIM_TIMCR_TRSTU); + hrtim_timcr |= pTimerCfg->ResetUpdate; + + /* Set the timer update trigger */ + hrtim_timcr &= ~(HRTIM_TIMCR_TIMUPDATETRIGGER); + hrtim_timcr |= pTimerCfg->UpdateTrigger; + + + /* Enable/Disable the fault channel at timer level */ + hrtim_timfltr &= ~(HRTIM_FLTR_FLTxEN); + hrtim_timfltr |= (pTimerCfg->FaultEnable & HRTIM_FLTR_FLTxEN); + + /* Lock/Unlock fault sources at timer level */ + hrtim_timfltr &= ~(HRTIM_FLTR_FLTLCK); + hrtim_timfltr |= pTimerCfg->FaultLock; + + /* The deadtime cannot be used simultaneously with the push-pull mode */ + if (pTimerCfg->PushPull == HRTIM_TIMPUSHPULLMODE_DISABLED) + { + /* Enable/Disable dead time insertion at timer level */ + hrtim_timoutr &= ~(HRTIM_OUTR_DTEN); + hrtim_timoutr |= pTimerCfg->DeadTimeInsertion; + } + + /* Enable/Disable delayed protection at timer level + Delayed Idle is available whatever the timer operating mode (regular, push-pull) + Balanced Idle is only available in push-pull mode + */ + if (((pTimerCfg->DelayedProtectionMode != HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_BALANCED_EEV6) + && (pTimerCfg->DelayedProtectionMode != HRTIM_TIMER_A_B_C_DELAYEDPROTECTION_BALANCED_EEV7)) + || (pTimerCfg->PushPull == HRTIM_TIMPUSHPULLMODE_ENABLED)) + { + hrtim_timoutr &= ~(HRTIM_OUTR_DLYPRT| HRTIM_OUTR_DLYPRTEN); + hrtim_timoutr |= pTimerCfg->DelayedProtectionMode; + } + + /* Set the timer counter reset trigger */ + hrtim_timrstr = pTimerCfg->ResetTrigger; + + /* Set the timer burst mode */ + switch (TimerIdx) + { + case HRTIM_TIMERINDEX_TIMER_A: + { + hrtim_bmcr &= ~(HRTIM_BMCR_TABM); + hrtim_bmcr |= ( pTimerCfg->BurstMode << 1); + } + break; + case HRTIM_TIMERINDEX_TIMER_B: + { + hrtim_bmcr &= ~(HRTIM_BMCR_TBBM); + hrtim_bmcr |= ( pTimerCfg->BurstMode << 2); + } + break; + case HRTIM_TIMERINDEX_TIMER_C: + { + hrtim_bmcr &= ~(HRTIM_BMCR_TCBM); + hrtim_bmcr |= ( pTimerCfg->BurstMode << 3); + } + break; + case HRTIM_TIMERINDEX_TIMER_D: + { + hrtim_bmcr &= ~(HRTIM_BMCR_TDBM); + hrtim_bmcr |= ( pTimerCfg->BurstMode << 4); + } + break; + case HRTIM_TIMERINDEX_TIMER_E: + { + hrtim_bmcr &= ~(HRTIM_BMCR_TEBM); + hrtim_bmcr |= ( pTimerCfg->BurstMode << 5); + } + break; + } + + /* Update the HRTIM registers */ + hhrtim->Instance->sTimerxRegs[TimerIdx].TIMxCR = hrtim_timcr; + hhrtim->Instance->sTimerxRegs[TimerIdx].FLTxR = hrtim_timfltr; + hhrtim->Instance->sTimerxRegs[TimerIdx].OUTxR = hrtim_timoutr; + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = hrtim_timrstr; + hhrtim->Instance->sCommonRegs.BMCR = hrtim_bmcr; +} + +/** + * @brief Configures a compare unit + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param CompareUnit: Compare unit identifier + * @param pCompareCfg: pointer to the compare unit configuration data structure + * @retval None + */ +static void HRTIM_CompareUnitConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CompareUnit, + HRTIM_CompareCfgTypeDef * pCompareCfg) +{ + if (TimerIdx == HRTIM_TIMERINDEX_MASTER) + { + /* Configure the compare unit of the master timer */ + switch (CompareUnit) + { + case HRTIM_COMPAREUNIT_1: + { + hhrtim->Instance->sMasterRegs.MCMP1R = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_2: + { + hhrtim->Instance->sMasterRegs.MCMP2R = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_3: + { + hhrtim->Instance->sMasterRegs.MCMP3R = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_4: + { + hhrtim->Instance->sMasterRegs.MCMP4R = pCompareCfg->CompareValue; + } + break; + } + } + else + { + /* Configure the compare unit of the timing unit */ + switch (CompareUnit) + { + case HRTIM_COMPAREUNIT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP1xR = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP2xR = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_3: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP3xR = pCompareCfg->CompareValue; + } + break; + case HRTIM_COMPAREUNIT_4: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].CMP4xR = pCompareCfg->CompareValue; + } + break; + } + } +} + +/** + * @brief Configures a capture unit + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param CaptureUnit: Capture unit identifier + * @param Event: Event reference + * @retval None + */ +static void HRTIM_CaptureUnitConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t CaptureUnit, + uint32_t Event) +{ + uint32_t CaptureTrigger = 0xFFFFFFFFU; + + switch (Event) + { + case HRTIM_EVENT_1: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_1; + } + break; + case HRTIM_EVENT_2: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_2; + } + break; + case HRTIM_EVENT_3: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_3; + } + break; + case HRTIM_EVENT_4: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_4; + } + break; + case HRTIM_EVENT_5: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_5; + } + break; + case HRTIM_EVENT_6: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_6; + } + break; + case HRTIM_EVENT_7: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_7; + } + break; + case HRTIM_EVENT_8: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_8; + } + break; + case HRTIM_EVENT_9: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_9; + } + break; + case HRTIM_EVENT_10: + { + CaptureTrigger = HRTIM_CAPTURETRIGGER_EEV_10; + } + break; + } + + switch (CaptureUnit) + { + case HRTIM_CAPTUREUNIT_1: + { + hhrtim->TimerParam[TimerIdx].CaptureTrigger1 = CaptureTrigger; + } + break; + case HRTIM_CAPTUREUNIT_2: + { + hhrtim->TimerParam[TimerIdx].CaptureTrigger2 = CaptureTrigger; + } + break; + } +} + +/** + * @brief Configures the output of a timing unit + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param Output: timing unit output identifier + * @param pOutputCfg: pointer to the output configuration data structure + * @retval None + */ +static void HRTIM_OutputConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Output, + HRTIM_OutputCfgTypeDef * pOutputCfg) +{ + uint32_t hrtim_outr; + uint32_t hrtim_dtr; + + uint32_t shift = 0xFFFFFFFFU; + + hrtim_outr = hhrtim->Instance->sTimerxRegs[TimerIdx].OUTxR; + hrtim_dtr = hhrtim->Instance->sTimerxRegs[TimerIdx].DTxR; + + switch (Output) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + /* Set the output set/reset crossbar */ + hhrtim->Instance->sTimerxRegs[TimerIdx].SETx1R = pOutputCfg->SetSource; + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx1R = pOutputCfg->ResetSource; + + shift = 0; + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + /* Set the output set/reset crossbar */ + hhrtim->Instance->sTimerxRegs[TimerIdx].SETx2R = pOutputCfg->SetSource; + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx2R = pOutputCfg->ResetSource; + + shift = 16; + } + break; + } + + /* Clear output config */ + hrtim_outr &= ~((HRTIM_OUTR_POL1 | + HRTIM_OUTR_IDLM1 | + HRTIM_OUTR_IDLES1| + HRTIM_OUTR_FAULT1| + HRTIM_OUTR_CHP1 | + HRTIM_OUTR_DIDL1) << shift); + + /* Set the polarity */ + hrtim_outr |= (pOutputCfg->Polarity << shift); + + /* Set the IDLE mode */ + hrtim_outr |= (pOutputCfg->IdleMode << shift); + + /* Set the IDLE state */ + hrtim_outr |= (pOutputCfg->IdleLevel << shift); + + /* Set the FAULT state */ + hrtim_outr |= (pOutputCfg->FaultLevel << shift); + + /* Set the chopper mode */ + hrtim_outr |= (pOutputCfg->ChopperModeEnable << shift); + + /* Set the burst mode entry mode : deadtime insertion when entering the idle + state during a burst mode operation is allowed only under the following + conditions: + - the outputs is active during the burst mode (IDLES=1) + - positive deadtimes (SDTR/SDTF set to 0) + */ + if ((pOutputCfg->IdleLevel == HRTIM_OUTPUTIDLELEVEL_ACTIVE) && + ((hrtim_dtr & HRTIM_DTR_SDTR) == RESET) && + ((hrtim_dtr & HRTIM_DTR_SDTF) == RESET)) + { + hrtim_outr |= (pOutputCfg->BurstModeEntryDelayed << shift); + } + + /* Update HRTIM register */ + hhrtim->Instance->sTimerxRegs[TimerIdx].OUTxR = hrtim_outr; +} + +/** + * @brief Configures an external event channel + * @param hhrtim: pointer to HAL HRTIM handle + * @param Event: Event channel identifier + * @param pEventCfg: pointer to the event channel configuration data structure + * @retval None + */ +static void HRTIM_EventConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t Event, + HRTIM_EventCfgTypeDef *pEventCfg) +{ + uint32_t hrtim_eecr1; + uint32_t hrtim_eecr2; + uint32_t hrtim_eecr3; + + /* Configure external event channel */ + hrtim_eecr1 = hhrtim->Instance->sCommonRegs.EECR1; + hrtim_eecr2 = hhrtim->Instance->sCommonRegs.EECR2; + hrtim_eecr3 = hhrtim->Instance->sCommonRegs.EECR3; + + switch (Event) + { + case HRTIM_EVENT_1: + { + hrtim_eecr1 &= ~(HRTIM_EECR1_EE1SRC | HRTIM_EECR1_EE1POL | HRTIM_EECR1_EE1SNS | HRTIM_EECR1_EE1FAST); + hrtim_eecr1 |= pEventCfg->Source; + hrtim_eecr1 |= (pEventCfg->Polarity & HRTIM_EECR1_EE1POL); + hrtim_eecr1 |= pEventCfg->Sensitivity; + /* Update the HRTIM registers (all bitfields but EE1FAST bit) */ + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + /* Update the HRTIM registers (EE1FAST bit) */ + hrtim_eecr1 |= pEventCfg->FastMode; + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + } + break; + case HRTIM_EVENT_2: + { + hrtim_eecr1 &= ~(HRTIM_EECR1_EE2SRC | HRTIM_EECR1_EE2POL | HRTIM_EECR1_EE2SNS | HRTIM_EECR1_EE2FAST); + hrtim_eecr1 |= (pEventCfg->Source << 6); + hrtim_eecr1 |= ((pEventCfg->Polarity << 6) & (HRTIM_EECR1_EE2POL)); + hrtim_eecr1 |= (pEventCfg->Sensitivity << 6); + /* Update the HRTIM registers (all bitfields but EE2FAST bit) */ + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + /* Update the HRTIM registers (EE2FAST bit) */ + hrtim_eecr1 |= (pEventCfg->FastMode << 6); + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + } + break; + case HRTIM_EVENT_3: + { + hrtim_eecr1 &= ~(HRTIM_EECR1_EE3SRC | HRTIM_EECR1_EE3POL | HRTIM_EECR1_EE3SNS | HRTIM_EECR1_EE3FAST); + hrtim_eecr1 |= (pEventCfg->Source << 12); + hrtim_eecr1 |= ((pEventCfg->Polarity << 12) & (HRTIM_EECR1_EE3POL)); + hrtim_eecr1 |= (pEventCfg->Sensitivity << 12); + /* Update the HRTIM registers (all bitfields but EE3FAST bit) */ + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + /* Update the HRTIM registers (EE3FAST bit) */ + hrtim_eecr1 |= (pEventCfg->FastMode << 12); + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + } + break; + case HRTIM_EVENT_4: + { + hrtim_eecr1 &= ~(HRTIM_EECR1_EE4SRC | HRTIM_EECR1_EE4POL | HRTIM_EECR1_EE4SNS | HRTIM_EECR1_EE4FAST); + hrtim_eecr1 |= (pEventCfg->Source << 18); + hrtim_eecr1 |= ((pEventCfg->Polarity << 18) & (HRTIM_EECR1_EE4POL)); + hrtim_eecr1 |= (pEventCfg->Sensitivity << 18); + /* Update the HRTIM registers (all bitfields but EE4FAST bit) */ + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + /* Update the HRTIM registers (EE4FAST bit) */ + hrtim_eecr1 |= (pEventCfg->FastMode << 18); + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + } + break; + case HRTIM_EVENT_5: + { + hrtim_eecr1 &= ~(HRTIM_EECR1_EE5SRC | HRTIM_EECR1_EE5POL | HRTIM_EECR1_EE5SNS | HRTIM_EECR1_EE5FAST); + hrtim_eecr1 |= (pEventCfg->Source << 24); + hrtim_eecr1 |= ((pEventCfg->Polarity << 24) & (HRTIM_EECR1_EE5POL)); + hrtim_eecr1 |= (pEventCfg->Sensitivity << 24); + /* Update the HRTIM registers (all bitfields but EE5FAST bit) */ + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + /* Update the HRTIM registers (EE5FAST bit) */ + hrtim_eecr1 |= (pEventCfg->FastMode << 24); + hhrtim->Instance->sCommonRegs.EECR1 = hrtim_eecr1; + } + break; + case HRTIM_EVENT_6: + { + hrtim_eecr2 &= ~(HRTIM_EECR2_EE6SRC | HRTIM_EECR2_EE6POL | HRTIM_EECR2_EE6SNS); + hrtim_eecr2 |= pEventCfg->Source; + hrtim_eecr2 |= (pEventCfg->Polarity & HRTIM_EECR2_EE6POL); + hrtim_eecr2 |= pEventCfg->Sensitivity; + hrtim_eecr3 &= ~(HRTIM_EECR3_EE6F); + hrtim_eecr3 |= pEventCfg->Filter; + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.EECR2 = hrtim_eecr2; + hhrtim->Instance->sCommonRegs.EECR3 = hrtim_eecr3; + } + break; + case HRTIM_EVENT_7: + { + hrtim_eecr2 &= ~(HRTIM_EECR2_EE7SRC | HRTIM_EECR2_EE7POL | HRTIM_EECR2_EE7SNS); + hrtim_eecr2 |= (pEventCfg->Source << 6); + hrtim_eecr2 |= ((pEventCfg->Polarity << 6) & (HRTIM_EECR2_EE7POL)); + hrtim_eecr2 |= (pEventCfg->Sensitivity << 6); + hrtim_eecr3 &= ~(HRTIM_EECR3_EE7F); + hrtim_eecr3 |= (pEventCfg->Filter << 6); + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.EECR2 = hrtim_eecr2; + hhrtim->Instance->sCommonRegs.EECR3 = hrtim_eecr3; + } + break; + case HRTIM_EVENT_8: + { + hrtim_eecr2 &= ~(HRTIM_EECR2_EE8SRC | HRTIM_EECR2_EE8POL | HRTIM_EECR2_EE8SNS); + hrtim_eecr2 |= (pEventCfg->Source << 12); + hrtim_eecr2 |= ((pEventCfg->Polarity << 12) & (HRTIM_EECR2_EE8POL)); + hrtim_eecr2 |= (pEventCfg->Sensitivity << 12); + hrtim_eecr3 &= ~(HRTIM_EECR3_EE8F); + hrtim_eecr3 |= (pEventCfg->Filter << 12); + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.EECR2 = hrtim_eecr2; + hhrtim->Instance->sCommonRegs.EECR3 = hrtim_eecr3; + } + break; + case HRTIM_EVENT_9: + { + hrtim_eecr2 &= ~(HRTIM_EECR2_EE9SRC | HRTIM_EECR2_EE9POL | HRTIM_EECR2_EE9SNS); + hrtim_eecr2 |= (pEventCfg->Source << 18); + hrtim_eecr2 |= ((pEventCfg->Polarity << 18) & (HRTIM_EECR2_EE9POL)); + hrtim_eecr2 |= (pEventCfg->Sensitivity << 18); + hrtim_eecr3 &= ~(HRTIM_EECR3_EE9F); + hrtim_eecr3 |= (pEventCfg->Filter << 18); + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.EECR2 = hrtim_eecr2; + hhrtim->Instance->sCommonRegs.EECR3 = hrtim_eecr3; + } + break; + case HRTIM_EVENT_10: + { + hrtim_eecr2 &= ~(HRTIM_EECR2_EE10SRC | HRTIM_EECR2_EE10POL | HRTIM_EECR2_EE10SNS); + hrtim_eecr2 |= (pEventCfg->Source << 24); + hrtim_eecr2 |= ((pEventCfg->Polarity << 24) & (HRTIM_EECR2_EE10POL)); + hrtim_eecr2 |= (pEventCfg->Sensitivity << 24); + hrtim_eecr3 &= ~(HRTIM_EECR3_EE10F); + hrtim_eecr3 |= (pEventCfg->Filter << 24); + /* Update the HRTIM registers */ + hhrtim->Instance->sCommonRegs.EECR2 = hrtim_eecr2; + hhrtim->Instance->sCommonRegs.EECR3 = hrtim_eecr3; + } + break; + default: + break; + } +} + +/** + * @brief Configures the timer counter reset + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param Event: Event channel identifier + * @retval None + */ +static void HRTIM_TIM_ResetConfig(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t Event) +{ + switch (Event) + { + case HRTIM_EVENT_1: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_1; + } + break; + case HRTIM_EVENT_2: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_2; + } + break; + case HRTIM_EVENT_3: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_3; + } + break; + case HRTIM_EVENT_4: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_4; + } + break; + case HRTIM_EVENT_5: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_5; + } + break; + case HRTIM_EVENT_6: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_6; + } + break; + case HRTIM_EVENT_7: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_7; + } + break; + case HRTIM_EVENT_8: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_8; + } + break; + case HRTIM_EVENT_9: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_9; + } + break; + case HRTIM_EVENT_10: + { + hhrtim->Instance->sTimerxRegs[TimerIdx].RSTxR = HRTIM_TIMRESETTRIGGER_EEV_10; + } + break; + } +} + +/** + * @brief Returns the interrupt to enable or disable according to the + * OC mode. + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval Interrupt to enable or disable + */ +static uint32_t HRTIM_GetITFromOCMode(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel) +{ + uint32_t hrtim_set; + uint32_t hrtim_reset; + uint32_t interrupt = 0; + + switch (OCChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + /* Retreives actual OC mode and set interrupt accordingly */ + hrtim_set = hhrtim->Instance->sTimerxRegs[TimerIdx].SETx1R; + hrtim_reset = hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx1R; + + if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1)) + { + /* OC mode: HRTIM_BASICOCMODE_TOGGLE */ + interrupt = HRTIM_TIM_IT_CMP1; + } + else if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1) && + (hrtim_reset == 0)) + { + /* OC mode: HRTIM_BASICOCMODE_ACTIVE */ + interrupt = HRTIM_TIM_IT_SET1; + } + else if ((hrtim_set == 0) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1)) + { + /* OC mode: HRTIM_BASICOCMODE_INACTIVE */ + interrupt = HRTIM_TIM_IT_RST1; + } + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + /* Retreives actual OC mode and set interrupt accordingly */ + hrtim_set = hhrtim->Instance->sTimerxRegs[TimerIdx].SETx2R; + hrtim_reset = hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx2R; + + if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2)) + { + /* OC mode: HRTIM_BASICOCMODE_TOGGLE */ + interrupt = HRTIM_TIM_IT_CMP2; + } + else if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2) && + (hrtim_reset == 0)) + { + /* OC mode: HRTIM_BASICOCMODE_ACTIVE */ + interrupt = HRTIM_TIM_IT_SET2; + } + else if ((hrtim_set == 0) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2)) + { + /* OC mode: HRTIM_BASICOCMODE_INACTIVE */ + interrupt = HRTIM_TIM_IT_RST2; + } + } + break; + } + + return interrupt; +} + +/** + * @brief Returns the DMA request to enable or disable according to the + * OC mode. + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @param OCChannel: Timer output + * This parameter can be one of the following values: + * @arg HRTIM_OUTPUT_TA1: Timer A - Output 1 + * @arg HRTIM_OUTPUT_TA2: Timer A - Output 2 + * @arg HRTIM_OUTPUT_TB1: Timer B - Output 1 + * @arg HRTIM_OUTPUT_TB2: Timer B - Output 2 + * @arg HRTIM_OUTPUT_TC1: Timer C - Output 1 + * @arg HRTIM_OUTPUT_TC2: Timer C - Output 2 + * @arg HRTIM_OUTPUT_TD1: Timer D - Output 1 + * @arg HRTIM_OUTPUT_TD2: Timer D - Output 2 + * @arg HRTIM_OUTPUT_TE1: Timer E - Output 1 + * @arg HRTIM_OUTPUT_TE2: Timer E - Output 2 + * @retval DMA request to enable or disable + */ +static uint32_t HRTIM_GetDMAFromOCMode(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx, + uint32_t OCChannel) +{ + uint32_t hrtim_set; + uint32_t hrtim_reset; + uint32_t dma_request = 0; + + switch (OCChannel) + { + case HRTIM_OUTPUT_TA1: + case HRTIM_OUTPUT_TB1: + case HRTIM_OUTPUT_TC1: + case HRTIM_OUTPUT_TD1: + case HRTIM_OUTPUT_TE1: + { + /* Retreives actual OC mode and set dma_request accordingly */ + hrtim_set = hhrtim->Instance->sTimerxRegs[TimerIdx].SETx1R; + hrtim_reset = hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx1R; + + if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1)) + { + /* OC mode: HRTIM_BASICOCMODE_TOGGLE */ + dma_request = HRTIM_TIM_DMA_CMP1; + } + else if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1) && + (hrtim_reset == 0)) + { + /* OC mode: HRTIM_BASICOCMODE_ACTIVE */ + dma_request = HRTIM_TIM_DMA_SET1; + } + else if ((hrtim_set == 0) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP1) == HRTIM_OUTPUTSET_TIMCMP1)) + { + /* OC mode: HRTIM_BASICOCMODE_INACTIVE */ + dma_request = HRTIM_TIM_DMA_RST1; + } + } + break; + case HRTIM_OUTPUT_TA2: + case HRTIM_OUTPUT_TB2: + case HRTIM_OUTPUT_TC2: + case HRTIM_OUTPUT_TD2: + case HRTIM_OUTPUT_TE2: + { + /* Retreives actual OC mode and set dma_request accordingly */ + hrtim_set = hhrtim->Instance->sTimerxRegs[TimerIdx].SETx2R; + hrtim_reset = hhrtim->Instance->sTimerxRegs[TimerIdx].RSTx2R; + + if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2)) + { + /* OC mode: HRTIM_BASICOCMODE_TOGGLE */ + dma_request = HRTIM_TIM_DMA_CMP2; + } + else if (((hrtim_set & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2) && + (hrtim_reset == 0)) + { + /* OC mode: HRTIM_BASICOCMODE_ACTIVE */ + dma_request = HRTIM_TIM_DMA_SET2; + } + else if ((hrtim_set == 0) && + ((hrtim_reset & HRTIM_OUTPUTSET_TIMCMP2) == HRTIM_OUTPUTSET_TIMCMP2)) + { + /* OC mode: HRTIM_BASICOCMODE_INACTIVE */ + dma_request = HRTIM_TIM_DMA_RST2; + } + } + break; + } + + return dma_request; +} + +static DMA_HandleTypeDef * HRTIM_GetDMAHandleFromTimerIdx(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + DMA_HandleTypeDef * hdma = (DMA_HandleTypeDef *)NULL; + + switch (TimerIdx) + { + case HRTIM_TIMERINDEX_MASTER: + { + hdma = hhrtim->hdmaMaster; + } + break; + case HRTIM_TIMERINDEX_TIMER_A: + { + hdma = hhrtim->hdmaTimerA; + } + break; + case HRTIM_TIMERINDEX_TIMER_B: + { + hdma = hhrtim->hdmaTimerB; + } + break; + case HRTIM_TIMERINDEX_TIMER_C: + { + hdma = hhrtim->hdmaTimerC; + } + break; + case HRTIM_TIMERINDEX_TIMER_D: + { + hdma = hhrtim->hdmaTimerD; + } + break; + case HRTIM_TIMERINDEX_TIMER_E: + { + hdma = hhrtim->hdmaTimerE; + } + break; + } + + return hdma; +} + +static uint32_t GetTimerIdxFromDMAHandle(DMA_HandleTypeDef *hdma) +{ + uint32_t timed_idx = 0xFFFFFFFF; + + if (hdma->Init.Request == DMA_REQUEST_HRTIM_MASTER) + { + timed_idx = HRTIM_TIMERINDEX_MASTER; + } + else if (hdma->Init.Request == DMA_REQUEST_HRTIM_TIMER_A) + { + timed_idx = HRTIM_TIMERINDEX_TIMER_A; + } + else if (hdma->Init.Request == DMA_REQUEST_HRTIM_TIMER_B) + { + timed_idx = HRTIM_TIMERINDEX_TIMER_B; + } + else if (hdma->Init.Request == DMA_REQUEST_HRTIM_TIMER_C) + { + timed_idx = HRTIM_TIMERINDEX_TIMER_C; + } + else if (hdma->Init.Request == DMA_REQUEST_HRTIM_TIMER_D) + { + timed_idx = HRTIM_TIMERINDEX_TIMER_D; + } + else if (hdma->Init.Request == DMA_REQUEST_HRTIM_TIMER_E) + { + timed_idx = HRTIM_TIMERINDEX_TIMER_E; + } + + return timed_idx; +} + +/** + * @brief Forces an immediate transfer from the preload to the active + * registers. + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * @retval None + */ +static void HRTIM_ForceRegistersUpdate(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + switch (TimerIdx) + { + case HRTIM_TIMERINDEX_MASTER: + { + hhrtim->Instance->sCommonRegs.CR2 |= HRTIM_CR2_MSWU; + } + break; + case HRTIM_TIMERINDEX_TIMER_A: + { + hhrtim->Instance->sCommonRegs.CR2 |= HRTIM_CR2_TASWU; + } + break; + case HRTIM_TIMERINDEX_TIMER_B: + { + hhrtim->Instance->sCommonRegs.CR2 |= HRTIM_CR2_TBSWU; + } + break; + case HRTIM_TIMERINDEX_TIMER_C: + { + hhrtim->Instance->sCommonRegs.CR2 |= HRTIM_CR2_TCSWU; + } + break; + case HRTIM_TIMERINDEX_TIMER_D: + { + hhrtim->Instance->sCommonRegs.CR2 |= HRTIM_CR2_TDSWU; + } + break; + case HRTIM_TIMERINDEX_TIMER_E: + { + hhrtim->Instance->sCommonRegs.CR2 |= HRTIM_CR2_TESWU; + } + break; + } +} + + +/** + * @brief HRTIM interrupts service routine + * @param hhrtim: pointer to HAL HRTIM handle + * @retval None + */ +static void HRTIM_HRTIM_ISR(HRTIM_HandleTypeDef * hhrtim) +{ + /* Fault 1 event */ + if(__HAL_HRTIM_GET_FLAG(hhrtim, HRTIM_FLAG_FLT1) != RESET) + { + if(__HAL_HRTIM_GET_ITSTATUS(hhrtim, HRTIM_IT_FLT1) != RESET) + { + __HAL_HRTIM_CLEAR_IT(hhrtim, HRTIM_IT_FLT1); + + /* Invoke Fault 1 event callback */ + HAL_HRTIM_Fault1Callback(hhrtim); + } + } + + /* Fault 2 event */ + if(__HAL_HRTIM_GET_FLAG(hhrtim, HRTIM_FLAG_FLT2) != RESET) + { + if(__HAL_HRTIM_GET_ITSTATUS(hhrtim, HRTIM_IT_FLT2) != RESET) + { + __HAL_HRTIM_CLEAR_IT(hhrtim, HRTIM_IT_FLT2); + + /* Invoke Fault 2 event callback */ + HAL_HRTIM_Fault2Callback(hhrtim); + } + } + + /* Fault 3 event */ + if(__HAL_HRTIM_GET_FLAG(hhrtim, HRTIM_FLAG_FLT3) != RESET) + { + if(__HAL_HRTIM_GET_ITSTATUS(hhrtim, HRTIM_IT_FLT3) != RESET) + { + __HAL_HRTIM_CLEAR_IT(hhrtim, HRTIM_IT_FLT3); + + /* Invoke Fault 3 event callback */ + HAL_HRTIM_Fault3Callback(hhrtim); + } + } + + /* Fault 4 event */ + if(__HAL_HRTIM_GET_FLAG(hhrtim, HRTIM_FLAG_FLT4) != RESET) + { + if(__HAL_HRTIM_GET_ITSTATUS(hhrtim, HRTIM_IT_FLT4) != RESET) + { + __HAL_HRTIM_CLEAR_IT(hhrtim, HRTIM_IT_FLT4); + + /* Invoke Fault 4 event callback */ + HAL_HRTIM_Fault4Callback(hhrtim); + } + } + + /* Fault 5 event */ + if(__HAL_HRTIM_GET_FLAG(hhrtim, HRTIM_FLAG_FLT5) != RESET) + { + if(__HAL_HRTIM_GET_ITSTATUS(hhrtim, HRTIM_IT_FLT5) != RESET) + { + __HAL_HRTIM_CLEAR_IT(hhrtim, HRTIM_IT_FLT5); + + /* Invoke Fault 5 event callback */ + HAL_HRTIM_Fault5Callback(hhrtim); + } + } + + /* System fault event */ + if(__HAL_HRTIM_GET_FLAG(hhrtim, HRTIM_FLAG_SYSFLT) != RESET) + { + if(__HAL_HRTIM_GET_ITSTATUS(hhrtim, HRTIM_IT_SYSFLT) != RESET) + { + __HAL_HRTIM_CLEAR_IT(hhrtim, HRTIM_IT_SYSFLT); + + /* Invoke System fault event callback */ + HAL_HRTIM_SystemFaultCallback(hhrtim); + } + } +} + +/** +* @brief Master timer interrupts service routine +* @param hhrtim: pointer to HAL HRTIM handle +* @retval None +*/ +static void HRTIM_Master_ISR(HRTIM_HandleTypeDef * hhrtim) +{ + /* Burst mode period event */ + if(__HAL_HRTIM_GET_FLAG(hhrtim, HRTIM_FLAG_BMPER) != RESET) + { + if(__HAL_HRTIM_GET_ITSTATUS(hhrtim, HRTIM_IT_BMPER) != RESET) + { + __HAL_HRTIM_CLEAR_IT(hhrtim, HRTIM_IT_BMPER); + + /* Invoke Burst mode period event callback */ + HAL_HRTIM_BurstModePeriodCallback(hhrtim); + } + } + + /* Master timer compare 1 event */ + if(__HAL_HRTIM_MASTER_GET_FLAG(hhrtim, HRTIM_MASTER_FLAG_MCMP1) != RESET) + { + if(__HAL_HRTIM_MASTER_GET_ITSTATUS(hhrtim, HRTIM_MASTER_IT_MCMP1) != RESET) + { + __HAL_HRTIM_MASTER_CLEAR_IT(hhrtim, HRTIM_MASTER_IT_MCMP1); + + /* Invoke compare 1 event callback */ + HAL_HRTIM_Compare1EventCallback(hhrtim, HRTIM_TIMERINDEX_MASTER); + } + } + + /* Master timer compare 2 event */ + if(__HAL_HRTIM_MASTER_GET_FLAG(hhrtim, HRTIM_MASTER_FLAG_MCMP2) != RESET) + { + if(__HAL_HRTIM_MASTER_GET_ITSTATUS(hhrtim, HRTIM_MASTER_IT_MCMP2) != RESET) + { + __HAL_HRTIM_MASTER_CLEAR_IT(hhrtim, HRTIM_MASTER_IT_MCMP2); + + /* Invoke compare 2 event callback */ + HAL_HRTIM_Compare2EventCallback(hhrtim, HRTIM_TIMERINDEX_MASTER); + } + } + + /* Master timer compare 3 event */ + if(__HAL_HRTIM_MASTER_GET_FLAG(hhrtim, HRTIM_MASTER_FLAG_MCMP3) != RESET) + { + if(__HAL_HRTIM_MASTER_GET_ITSTATUS(hhrtim, HRTIM_MASTER_IT_MCMP3) != RESET) + { + __HAL_HRTIM_MASTER_CLEAR_IT(hhrtim, HRTIM_MASTER_IT_MCMP3); + + /* Invoke compare 3 event callback */ + HAL_HRTIM_Compare3EventCallback(hhrtim, HRTIM_TIMERINDEX_MASTER); + } + } + + /* Master timer compare 4 event */ + if(__HAL_HRTIM_MASTER_GET_FLAG(hhrtim, HRTIM_MASTER_FLAG_MCMP4) != RESET) + { + if(__HAL_HRTIM_MASTER_GET_ITSTATUS(hhrtim, HRTIM_MASTER_IT_MCMP4) != RESET) + { + __HAL_HRTIM_MASTER_CLEAR_IT(hhrtim, HRTIM_MASTER_IT_MCMP4); + + /* Invoke compare 4 event callback */ + HAL_HRTIM_Compare4EventCallback(hhrtim, HRTIM_TIMERINDEX_MASTER); + } + } + + /* Master timer repetition event */ + if(__HAL_HRTIM_MASTER_GET_FLAG(hhrtim, HRTIM_MASTER_FLAG_MREP) != RESET) + { + if(__HAL_HRTIM_MASTER_GET_ITSTATUS(hhrtim, HRTIM_MASTER_IT_MREP) != RESET) + { + __HAL_HRTIM_MASTER_CLEAR_IT(hhrtim, HRTIM_MASTER_IT_MREP); + + /* Invoke repetition event callback */ + HAL_HRTIM_RepetitionEventCallback(hhrtim, HRTIM_TIMERINDEX_MASTER); + } + } + + /* Synchronization input event */ + if(__HAL_HRTIM_MASTER_GET_FLAG(hhrtim, HRTIM_MASTER_FLAG_SYNC) != RESET) + { + if(__HAL_HRTIM_MASTER_GET_ITSTATUS(hhrtim, HRTIM_MASTER_IT_SYNC) != RESET) + { + __HAL_HRTIM_MASTER_CLEAR_IT(hhrtim, HRTIM_MASTER_IT_SYNC); + + /* Invoke synchronization event callback */ + HAL_HRTIM_SynchronizationEventCallback(hhrtim); + } + } + + /* Master timer registers update event */ + if(__HAL_HRTIM_MASTER_GET_FLAG(hhrtim, HRTIM_MASTER_FLAG_MUPD) != RESET) + { + if(__HAL_HRTIM_MASTER_GET_ITSTATUS(hhrtim, HRTIM_MASTER_IT_MUPD) != RESET) + { + __HAL_HRTIM_MASTER_CLEAR_IT(hhrtim, HRTIM_MASTER_IT_MUPD); + + /* Invoke registers update event callback */ + HAL_HRTIM_RegistersUpdateCallback(hhrtim, HRTIM_TIMERINDEX_MASTER); + } + } +} + +/** + * @brief Timer interrupts service routine + * @param hhrtim: pointer to HAL HRTIM handle + * @param TimerIdx: Timer index + * This parameter can be one of the following values: + * @arg HRTIM_TIMERINDEX_TIMER_A for timer A + * @arg HRTIM_TIMERINDEX_TIMER_B for timer B + * @arg HRTIM_TIMERINDEX_TIMER_C for timer C + * @arg HRTIM_TIMERINDEX_TIMER_D for timer D + * @arg HRTIM_TIMERINDEX_TIMER_E for timer E + * @retval None +*/ +static void HRTIM_Timer_ISR(HRTIM_HandleTypeDef * hhrtim, + uint32_t TimerIdx) +{ + /* Timer compare 1 event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_CMP1) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP1) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP1); + + /* Invoke compare 1 event callback */ + HAL_HRTIM_Compare1EventCallback(hhrtim, TimerIdx); + } + } + + /* Timer compare 2 event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_CMP2) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP2) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP2); + + /* Invoke compare 2 event callback */ + HAL_HRTIM_Compare2EventCallback(hhrtim, TimerIdx); + } + } + + /* Timer compare 3 event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_CMP3) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP3) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP3); + + /* Invoke compare 3 event callback */ + HAL_HRTIM_Compare3EventCallback(hhrtim, TimerIdx); + } + } + + /* Timer compare 4 event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_CMP4) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP4) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CMP4); + + /* Invoke compare 4 event callback */ + HAL_HRTIM_Compare4EventCallback(hhrtim, TimerIdx); + } + } + + /* Timer repetition event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_REP) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_REP) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_REP); + + /* Invoke repetition event callback */ + HAL_HRTIM_RepetitionEventCallback(hhrtim, TimerIdx); + } + } + + /* Timer registers update event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_UPD) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_UPD) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_UPD); + + /* Invoke registers update event callback */ + HAL_HRTIM_RegistersUpdateCallback(hhrtim, TimerIdx); + } + } + + /* Timer capture 1 event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_CPT1) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT1) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT1); + + /* Invoke capture 1 event callback */ + HAL_HRTIM_Capture1EventCallback(hhrtim, TimerIdx); + } + } + + /* Timer capture 2 event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_CPT2) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT2) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_CPT2); + + /* Invoke capture 2 event callback */ + HAL_HRTIM_Capture2EventCallback(hhrtim, TimerIdx); + } + } + + /* Timer ouput 1 set event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_SET1) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_SET1) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_SET1); + + /* Invoke ouput 1 set event callback */ + HAL_HRTIM_Output1SetCallback(hhrtim, TimerIdx); + } + } + + /* Timer ouput 1 reset event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_RST1) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_RST1) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_RST1); + + /* Invoke ouput 1 reset event callback */ + HAL_HRTIM_Output1ResetCallback(hhrtim, TimerIdx); + } + } + + /* Timer ouput 2 set event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_SET2) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_SET2) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_SET2); + + /* Invoke ouput 2 set event callback */ + HAL_HRTIM_Output2SetCallback(hhrtim, TimerIdx); + } + } + + /* Timer ouput 2 reset event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_RST2) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_RST2) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_RST2); + + /* Invoke ouput 2 reset event callback */ + HAL_HRTIM_Output2ResetCallback(hhrtim, TimerIdx); + } + } + + /* Timer reset event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_RST) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_RST) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_RST); + + /* Invoke timer reset callback */ + HAL_HRTIM_CounterResetCallback(hhrtim, TimerIdx); + } + } + + /* Delayed protection event */ + if(__HAL_HRTIM_TIMER_GET_FLAG(hhrtim, TimerIdx, HRTIM_TIM_FLAG_DLYPRT) != RESET) + { + if(__HAL_HRTIM_TIMER_GET_ITSTATUS(hhrtim, TimerIdx, HRTIM_TIM_IT_DLYPRT) != RESET) + { + __HAL_HRTIM_TIMER_CLEAR_IT(hhrtim, TimerIdx, HRTIM_TIM_IT_DLYPRT); + + /* Invoke delayed protection callback */ + HAL_HRTIM_DelayedProtectionCallback(hhrtim, TimerIdx); + } + } +} + +/** + * @brief DMA callback invoked upon master timer related DMA request completion + * @param hdma: pointer to DMA handle. + * @retval None + */ +static void HRTIM_DMAMasterCplt(DMA_HandleTypeDef *hdma) +{ + HRTIM_HandleTypeDef * hrtim = (HRTIM_HandleTypeDef *)((DMA_HandleTypeDef* )hdma)->Parent; + + if ((hrtim->Instance->sMasterRegs.MDIER & HRTIM_MASTER_DMA_MCMP1) != RESET) + { + HAL_HRTIM_Compare1EventCallback(hrtim, HRTIM_TIMERINDEX_MASTER); + } + else if ((hrtim->Instance->sMasterRegs.MDIER & HRTIM_MASTER_DMA_MCMP2) != RESET) + { + HAL_HRTIM_Compare2EventCallback(hrtim, HRTIM_TIMERINDEX_MASTER); + } + else if ((hrtim->Instance->sMasterRegs.MDIER & HRTIM_MASTER_DMA_MCMP3) != RESET) + { + HAL_HRTIM_Compare3EventCallback(hrtim, HRTIM_TIMERINDEX_MASTER); + } + else if ((hrtim->Instance->sMasterRegs.MDIER & HRTIM_MASTER_DMA_MCMP4) != RESET) + { + HAL_HRTIM_Compare4EventCallback(hrtim, HRTIM_TIMERINDEX_MASTER); + } + else if ((hrtim->Instance->sMasterRegs.MDIER & HRTIM_MASTER_DMA_MREP) != RESET) + { + HAL_HRTIM_RepetitionEventCallback(hrtim, HRTIM_TIMERINDEX_MASTER); + } + else if ((hrtim->Instance->sMasterRegs.MDIER & HRTIM_MASTER_DMA_SYNC) != RESET) + { + HAL_HRTIM_SynchronizationEventCallback(hrtim); + } + else if ((hrtim->Instance->sMasterRegs.MDIER & HRTIM_MASTER_DMA_MUPD) != RESET) + { + HAL_HRTIM_RegistersUpdateCallback(hrtim, HRTIM_TIMERINDEX_MASTER); + } +} + +/** + * @brief DMA callback invoked upon timer A..E related DMA request completion + * @param hdma: pointer to DMA handle. + * @retval None + */ +static void HRTIM_DMATimerxCplt(DMA_HandleTypeDef *hdma) +{ + uint8_t timer_idx; + + HRTIM_HandleTypeDef * hrtim = (HRTIM_HandleTypeDef *)((DMA_HandleTypeDef* )hdma)->Parent; + + timer_idx = GetTimerIdxFromDMAHandle(hdma); + + if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_CMP1) != RESET) + { + HAL_HRTIM_Compare1EventCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_CMP2) != RESET) + { + HAL_HRTIM_Compare2EventCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_CMP3) != RESET) + { + HAL_HRTIM_Compare3EventCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_CMP4) != RESET) + { + HAL_HRTIM_Compare4EventCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_REP) != RESET) + { + HAL_HRTIM_RepetitionEventCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_UPD) != RESET) + { + HAL_HRTIM_RegistersUpdateCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_CPT1) != RESET) + { + HAL_HRTIM_Capture1EventCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_CPT2) != RESET) + { + HAL_HRTIM_Capture2EventCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_SET1) != RESET) + { + HAL_HRTIM_Output1SetCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_RST1) != RESET) + { + HAL_HRTIM_Output1ResetCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_SET2) != RESET) + { + HAL_HRTIM_Output2SetCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_RST2) != RESET) + { + HAL_HRTIM_Output2ResetCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_RST) != RESET) + { + HAL_HRTIM_CounterResetCallback(hrtim, timer_idx); + } + else if ((hrtim->Instance->sTimerxRegs[timer_idx].TIMxDIER & HRTIM_TIM_DMA_DLYPRT) != RESET) + { + HAL_HRTIM_DelayedProtectionCallback(hrtim, timer_idx); + } +} + +/** +* @brief DMA error callback +* @param hdma: pointer to DMA handle. +* @retval None +*/ +static void HRTIM_DMAError(DMA_HandleTypeDef *hdma) +{ + HRTIM_HandleTypeDef * hrtim = (HRTIM_HandleTypeDef *)((DMA_HandleTypeDef* )hdma)->Parent; + + HAL_HRTIM_ErrorCallback(hrtim); +} + +/** + * @brief DMA callback invoked upon burst DMA transfer completion + * @param hdma: pointer to DMA handle. + * @retval None + */ +static void HRTIM_BurstDMACplt(DMA_HandleTypeDef *hdma) +{ + HRTIM_HandleTypeDef * hrtim = (HRTIM_HandleTypeDef *)((DMA_HandleTypeDef* )hdma)->Parent; + + HAL_HRTIM_BurstDMATransferCallback(hrtim, GetTimerIdxFromDMAHandle(hdma)); +} + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_HRTIM_MODULE_ENABLED */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + + + diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c new file mode 100644 index 0000000000..5f1c598d87 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c @@ -0,0 +1,372 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_hsem.c + * @author MCD Application Team + * @brief HSEM HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the semaphore peripheral: + * + Semaphore Take function (2-Step Procedure) , non blocking + * + Semaphore FastTake function (1-Step Procedure) , non blocking + * + Semaphore Status check + * + Semaphore Clear Key Set and Get + * + Release and release all functions + * + Semaphore notification enabling and disabling and callnack functions + * + IRQ handler management + * + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#)Take a semaphore In 2-Step mode Using function HAL_HSEM_Take. This function takes as parameters : + (++) the semaphore ID from 0 to 31 + (++) the process ID from 0 to 255 + (#) Fast Take semaphore In 1-Step mode Using function HAL_HSEM_FastTake. This function takes as parameter : + (++) the semaphore ID from 0_ID to 31. Note that the process ID value is implicitly assumed as zero + (#) Check if a semaphore is Taken using function HAL_HSEM_IsSemTaken. This function takes as parameter : + (++) the semaphore ID from 0_ID to 31 + (++) It returns 1 if the given semaphore is taken otherwise (Free) zero. + (#)Release a semaphore using function with HAL_HSEM_Release. This function takes as parameters : + (++) the semaphore ID from 0 to 31 + (++) the process ID from 0 to 255: + (++) Note: If ProcessID and MasterID match, semaphore is freed, and an interrupt + may be generated when enabled (notification activated). If ProcessID or MasterID does not match, + semaphore remains taken (locked). + + (#)Release all semaphores at once taken by a given Master using function HAL_HSEM_Release_All + This function takes as parameters : + (++) the Release Key (value from 0 to 0xFFFF) can be Set or Get respectively by + HAL_HSEM_SetClearKey() or HAL_HSEM_GetClearKey functions + (++) the Master ID: + (++) Note: If the Key and MasterID match, all semaphores taken by the given CPU that corresponds + to MasterID will be freed, and an interrupt may be generated when enabled (notification activated). If the + Key or the MasterID doesn't match, semaphores remains taken (locked). + + (#)Semaphores Release all key functions: + (++) HAL_HSEM_SetClearKey() to set semaphore release all Key + (++) HAL_HSEM_GetClearKey() to get release all Key + (#)Semaphores notification functions : + (++) HAL_HSEM_ActivateNotification to activate a notification callback on + a given semaphores Mask (bitfield). When one or more semaphores defined by the mask are released + the callback HAL_HSEM_FreeCallback will be asserted giving as parameters a mask of the released + semaphores (bitfield). + + (++) HAL_HSEM_DeactivateNotification to deactivate the notification of a given semaphores Mask (bitfield). + (++) See the description of the macro __HAL_HSEM_SEMID_TO_MASK to check how to calculate a semaphore mask + Used by the notification functions + *** HSEM HAL driver macros list *** + ============================================= + [..] Below the list of most used macros in HSEM HAL driver. + + (+) __HAL_HSEM_SEMID_TO_MASK: Helper macro to convert a Semaphore ID to a Mask. + [..] Example of use : + [..] mask = __HAL_HSEM_SEMID_TO_MASK(8) | __HAL_HSEM_SEMID_TO_MASK(21) | __HAL_HSEM_SEMID_TO_MASK(25). + [..] All next macros take as parameter a semaphore Mask (bitfiled) that can be constructed using __HAL_HSEM_SEMID_TO_MASK as the above example. + (+) __HAL_HSEM_ENABLE_IT: Enable the specified semaphores Mask interrupts. + (+) __HAL_HSEM_DISABLE_IT: Disable the specified semaphores Mask interrupts. + (+) __HAL_HSEM_GET_IT: Checks whether the specified semaphore interrupt has occurred or not. + (+) __HAL_HSEM_GET_FLAG: Get the semaphores status release flags. + (+) __HAL_HSEM_CLEAR_FLAG: Clear the semaphores status release flags. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup HSEM HSEM + * @brief HSEM HAL module driver + * @{ + */ + +#ifdef HAL_HSEM_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup HSEM_Exported_Functions HSEM Exported Functions + * @{ + */ + +/** @defgroup HSEM_Exported_Functions_Group1 Take and Release functions + * @brief HSEM Take and Release functions + * +@verbatim + ============================================================================== + ##### HSEM Take and Release functions ##### + ============================================================================== +[..] This section provides functions allowing to: + (+) Take a semaphore with 2 Step method + (+) Fast Take a semaphore with 1 Step method + (+) Check semaphore state Taken or not + (+) Release a semaphore + (+) Release all semaphore at once + +@endverbatim + * @{ + */ + + +/** + * @brief Take a semaphore in 2 Step mode. + * @param SemID: semaphore ID from 0 to 31 + * @param ProcessID: Process ID from 0 to 255 + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID) +{ + /* Check the parameters */ + assert_param(IS_HSEM_SEMID(SemID)); + assert_param(IS_HSEM_PROCESSID(ProcessID)); + + /* First step write R register with MasterID, processID and take bit=1*/ + HSEM->R[SemID] = ((ProcessID & HSEM_R_PROCID) | ((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM_R_MASTERID)) & HSEM_R_MASTERID) | HSEM_R_LOCK); + + /* second step : read the R register . Take achieved if MasterID and processID match and take bit set to 1 */ + if(HSEM->R[SemID] == ((ProcessID & HSEM_R_PROCID) | ((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM_R_MASTERID)) & HSEM_R_MASTERID) | HSEM_R_LOCK)) + { + /*take success when MasterID and ProcessID match and take bit set*/ + return HAL_OK; + } + + /* Semaphore take fails*/ + return HAL_ERROR; +} + +/** + * @brief Fast Take a semaphore with 1 Step mode. + * @param SemID: semaphore ID from 0 to 31 + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_HSEM_FastTake(uint32_t SemID) +{ + /* Check the parameters */ + assert_param(IS_HSEM_SEMID(SemID)); + + /* Read the RLR register to take the semaphore */ + if(HSEM->RLR[SemID] == (((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM_R_MASTERID)) & HSEM_RLR_MASTERID) | HSEM_RLR_LOCK)) + { + /*take success when MasterID match and take bit set*/ + return HAL_OK; + } + + /* Semaphore take fails */ + return HAL_ERROR; +} + +/** + * @brief Check semaphore state Taken or not. + * @param SemID: semaphore ID + * @retval HAL HSEM state + */ +uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID) +{ + return ((HSEM->R[SemID] & HSEM_R_LOCK) != 0U); +} + + +/** + * @brief Release a semaphore. + * @param SemID: semaphore ID from 0 to 31 + * @param ProcessID: Process ID from 0 to 255 + * @retval None +*/ +void HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID) +{ + /* Check the parameters */ + assert_param(IS_HSEM_SEMID(SemID)); + assert_param(IS_HSEM_PROCESSID(ProcessID)); + + /* Clear the semaphore by writing to the R register : the MasterID , the processID and take bit = 0 */ + HSEM->R[SemID] = ((ProcessID & HSEM_R_PROCID) | ((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM_R_MASTERID)) & HSEM_R_MASTERID)); + +} + +/** + * @brief Release All semaphore used by a given Master . + * @param Key: Semaphore Key , value from 0 to 0xFFFF + * @param MasterID: MasterID of the CPU that is using semaphores to be Released + * @retval None +*/ +void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t MasterID) +{ + assert_param(IS_HSEM_KEY(Key)); + assert_param(IS_HSEM_MASTERID(MasterID)); + + HSEM->CR = (((Key << POSITION_VAL(HSEM_KEYR_KEY)) & HSEM_CR_KEY ) | ((MasterID << POSITION_VAL(HSEM_CR_MASTERID)) & HSEM_CR_MASTERID)); +} + +/** + * @} + */ + +/** @defgroup HSEM_Exported_Functions_Group2 HSEM Set and Get Key functions + * @brief HSEM Set and Get Key functions. + * +@verbatim + ============================================================================== + ##### HSEM Set and Get Key functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Set semaphore Key + (+) Get semaphore Key +@endverbatim + + * @{ + */ + +/** + * @brief Set semaphore Key . + * @param Key: Semaphore Key , value from 0 to 0xFFFF + * @retval None +*/ +void HAL_HSEM_SetClearKey(uint32_t Key) +{ + assert_param(IS_HSEM_KEY(Key)); + + MODIFY_REG(HSEM->KEYR, HSEM_KEYR_KEY, (Key << POSITION_VAL(HSEM_KEYR_KEY))); + +} + +/** + * @brief Get semaphore Key . + * @retval Semaphore Key , value from 0 to 0xFFFF +*/ +uint32_t HAL_HSEM_GetClearKey(void) +{ + return (HSEM->KEYR >> POSITION_VAL(HSEM_KEYR_KEY)); +} + +/** + * @} + */ + +/** @defgroup HSEM_Exported_Functions_Group3 HSEM IRQ handler management + * @brief HSEM Notification functions. + * +@verbatim + ============================================================================== + ##### HSEM IRQ handler management and Notification functions ##### + ============================================================================== +[..] This section provides HSEM IRQ handler and Notification function. + +@endverbatim + * @{ + */ + +/** + * @brief Activate Semaphore release Notification for a given Semaphores Mask . + * @param SemMask: Mask of Released semaphores + * @retval Semaphore Key +*/ +void HAL_HSEM_ActivateNotification(uint32_t SemMask) +{ + /*Activate interrupt for CM7 Master */ + HSEM->IER |= SemMask; +} + +/** + * @brief Deactivate Semaphore release Notification for a given Semaphores Mask . + * @param SemMask: Mask of Released semaphores + * @retval Semaphore Key +*/ +void HAL_HSEM_DeactivateNotification(uint32_t SemMask) +{ + + /*Deactivate interrupt for CM7 Master */ + HSEM->IER &= ~SemMask; +} + +/** + * @brief This function handles HSEM interrupt request. + * @retval None +*/ +void HAL_HSEM_IRQHandler(void) +{ + uint32_t statusreg = 0U; + + /* Get the list of masked freed semaphores*/ + statusreg = HSEM->MISR; + + /*Disable Interrupts*/ + HSEM->IER &= ~((uint32_t)statusreg); + + /*Clear Flags*/ + HSEM->ICR |= ((uint32_t)statusreg); + + + /* Call FreeCallback */ + HAL_HSEM_FreeCallback(statusreg); +} + +/** + * @brief Semaphore Released Callback. + * @param SemMask: Mask of Released semaphores + * @retval None + */ +__weak void HAL_HSEM_FreeCallback(uint32_t SemMask) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(SemMask); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_HSEM_FreeCallback can be implemented in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_HSEM_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c new file mode 100644 index 0000000000..b734dc8c10 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c @@ -0,0 +1,4837 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_i2c.c + * @author MCD Application Team + * @brief I2C HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Inter Integrated Circuit (I2C) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral State and Errors functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The I2C HAL driver can be used as follows: + + (#) Declare a I2C_HandleTypeDef handle structure, for example: + I2C_HandleTypeDef hi2c; + + (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API: + (##) Enable the I2Cx interface clock + (##) I2C pins configuration + (+++) Enable the clock for the I2C GPIOs + (+++) Configure I2C pins as alternate function open-drain + (##) NVIC configuration if you need to use interrupt process + (+++) Configure the I2Cx interrupt priority + (+++) Enable the NVIC I2C IRQ Channel + (##) DMA Configuration if you need to use DMA process + (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive stream + (+++) Enable the DMAx interface clock using + (+++) Configure the DMA handle parameters + (+++) Configure the DMA Tx or Rx stream + (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on + the DMA Tx or Rx stream + + (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addressing mode, + Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure. + + (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level Hardware + (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API. + + (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceReady() + + (#) For I2C IO and IO MEM operations, three operation modes are available within this driver : + + *** Polling mode IO operation *** + ================================= + [..] + (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit() + (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive() + (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit() + (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive() + + *** Polling mode IO MEM operation *** + ===================================== + [..] + (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_Write() + (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_Read() + + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Transmit_IT() + (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() + (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receive_IT() + (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() + (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmit_IT() + (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() + (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_IT() + (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() + (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2C_ErrorCallback() + (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() + (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_AbortCpltCallback() + (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro. + This action will inform Master to generate a Stop condition to discard the communication. + + + *** Interrupt mode IO sequential operation *** + =================================== + [..] + (@) These interfaces allow to manage a sequential transfer with a repeated start condition + when a direction change during transfer + [..] + (+) A specific option field manage the different steps of a sequential transfer + (+) Option field values are defined through @ref I2C_XFEROPTIONS and are listed below: + (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functionnal is same as associated interfaces in no sequential mode + (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start condition, address + and data to transfer without a final stop condition + (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a sequence with start condition, address + and data to transfer without a final stop condition, an then permit a call the same master sequential interface + several times (like HAL_I2C_Master_Sequential_Transmit_IT() then HAL_I2C_Master_Sequential_Transmit_IT()) + (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart condition, address + and with new data to transfer if the direction change or manage only the new data to transfer + if no direction change and without a final stop condition in both cases + (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart condition, address + and with new data to transfer if the direction change or manage only the new data to transfer + if no direction change and with a final stop condition in both cases + + (+) Differents sequential I2C interfaces are listed below: + (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using HAL_I2C_Master_Sequential_Transmit_IT() + (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() + (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using HAL_I2C_Master_Sequential_Receive_IT() + (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() + (++) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() + (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_AbortCpltCallback() + (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT() HAL_I2C_DisableListen_IT() + (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and user can + add his own code to check the Address Match Code and the transmission direction request by master (Write/Read). + (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_ListenCpltCallback() + (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using HAL_I2C_Slave_Sequential_Transmit_IT() + (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() + (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using HAL_I2C_Slave_Sequential_Receive_IT() + (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() + (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2C_ErrorCallback() + (++) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() + (++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_AbortCpltCallback() + (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro. + This action will inform Master to generate a Stop condition to discard the communication. + + *** Interrupt mode IO MEM operation *** + ======================================= + [..] + (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address using + HAL_I2C_Mem_Write_IT() + (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MemTxCpltCallback() + (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address using + HAL_I2C_Mem_Read_IT() + (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MemRxCpltCallback() + (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2C_ErrorCallback() + + *** DMA mode IO operation *** + ============================== + [..] + (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using + HAL_I2C_Master_Transmit_DMA() + (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() + (+) Receive in master mode an amount of data in non-blocking mode (DMA) using + HAL_I2C_Master_Receive_DMA() + (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() + (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using + HAL_I2C_Slave_Transmit_DMA() + (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() + (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using + HAL_I2C_Slave_Receive_DMA() + (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() + (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2C_ErrorCallback() + (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() + (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_AbortCpltCallback() + (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro. + This action will inform Master to generate a Stop condition to discard the communication. + + *** DMA mode IO MEM operation *** + ================================= + [..] + (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using + HAL_I2C_Mem_Write_DMA() + (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MemTxCpltCallback() + (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using + HAL_I2C_Mem_Read_DMA() + (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_I2C_MemRxCpltCallback() + (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2C_ErrorCallback() + + + *** I2C HAL driver macros list *** + ================================== + [..] + Below the list of most used macros in I2C HAL driver. + + (+) __HAL_I2C_ENABLE: Enable the I2C peripheral + (+) __HAL_I2C_DISABLE: Disable the I2C peripheral + (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode + (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not + (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag + (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt + (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt + + [..] + (@) You can refer to the I2C HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup I2C I2C + * @brief I2C HAL module driver + * @{ + */ + +#ifdef HAL_I2C_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +/** @defgroup I2C_Private_Define I2C Private Define + * @{ + */ +#define TIMING_CLEAR_MASK ((uint32_t)0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */ +#define I2C_TIMEOUT_ADDR ((uint32_t)10000U) /*!< 10 s */ +#define I2C_TIMEOUT_BUSY ((uint32_t)25U) /*!< 25 ms */ +#define I2C_TIMEOUT_DIR ((uint32_t)25U) /*!< 25 ms */ +#define I2C_TIMEOUT_RXNE ((uint32_t)25U) /*!< 25 ms */ +#define I2C_TIMEOUT_STOPF ((uint32_t)25U) /*!< 25 ms */ +#define I2C_TIMEOUT_TC ((uint32_t)25U) /*!< 25 ms */ +#define I2C_TIMEOUT_TCR ((uint32_t)25U) /*!< 25 ms */ +#define I2C_TIMEOUT_TXIS ((uint32_t)25U) /*!< 25 ms */ +#define I2C_TIMEOUT_FLAG ((uint32_t)25U) /*!< 25 ms */ + +#define MAX_NBYTE_SIZE 255U +#define SlaveAddr_SHIFT 7U +#define SlaveAddr_MSK 0x06U + +/* Private define for @ref PreviousState usage */ +#define I2C_STATE_MSK ((uint32_t)((HAL_I2C_STATE_BUSY_TX | HAL_I2C_STATE_BUSY_RX) & (~HAL_I2C_STATE_READY))) /*!< Mask State define, keep only RX and TX bits */ +#define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE)) /*!< Default Value */ +#define I2C_STATE_MASTER_BUSY_TX ((uint32_t)((HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | HAL_I2C_MODE_MASTER)) /*!< Master Busy TX, combinaison of State LSB and Mode enum */ +#define I2C_STATE_MASTER_BUSY_RX ((uint32_t)((HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | HAL_I2C_MODE_MASTER)) /*!< Master Busy RX, combinaison of State LSB and Mode enum */ +#define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)((HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | HAL_I2C_MODE_SLAVE)) /*!< Slave Busy TX, combinaison of State LSB and Mode enum */ +#define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)((HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | HAL_I2C_MODE_SLAVE)) /*!< Slave Busy RX, combinaison of State LSB and Mode enum */ +#define I2C_STATE_MEM_BUSY_TX ((uint32_t)((HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | HAL_I2C_MODE_MEM)) /*!< Memory Busy TX, combinaison of State LSB and Mode enum */ +#define I2C_STATE_MEM_BUSY_RX ((uint32_t)((HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | HAL_I2C_MODE_MEM)) /*!< Memory Busy RX, combinaison of State LSB and Mode enum */ + + +/* Private define to centralize the enable/disable of Interrupts */ +#define I2C_XFER_TX_IT ((uint32_t)0x00000001U) +#define I2C_XFER_RX_IT ((uint32_t)0x00000002U) +#define I2C_XFER_LISTEN_IT ((uint32_t)0x00000004U) + +#define I2C_XFER_ERROR_IT ((uint32_t)0x00000011U) +#define I2C_XFER_CPLT_IT ((uint32_t)0x00000012U) +#define I2C_XFER_RELOAD_IT ((uint32_t)0x00000012U) +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +#define I2C_GET_DMA_REMAIN_DATA(__HANDLE__) (((__HANDLE__)->Instance == I2C4)? \ + ((((__HANDLE__)->State) == HAL_I2C_STATE_BUSY_TX) ? \ + ((uint32_t)(((BDMA_Channel_TypeDef *)(__HANDLE__)->hdmatx->Instance)->CNDTR)) : \ + ((uint32_t)(((BDMA_Channel_TypeDef *)(__HANDLE__)->hdmarx->Instance)->CNDTR))) : \ + ((((__HANDLE__)->State) == HAL_I2C_STATE_BUSY_TX) ? \ + ((uint32_t)(((DMA_Stream_TypeDef *)(__HANDLE__)->hdmatx->Instance)->NDTR)) : \ + ((uint32_t)(((DMA_Stream_TypeDef *)(__HANDLE__)->hdmarx->Instance)->NDTR)))) + +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ + +/** @defgroup I2C_Private_Functions I2C Private Functions + * @{ + */ +/* Private functions to handle DMA transfer */ +static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma); +static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma); +static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma); +static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma); +static void I2C_DMAError(DMA_HandleTypeDef *hdma); +static void I2C_DMAAbort(DMA_HandleTypeDef *hdma); + +/* Private functions to handle IT transfer */ +static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); +static void I2C_ITMasterSequentialCplt(I2C_HandleTypeDef *hi2c); +static void I2C_ITSlaveSequentialCplt(I2C_HandleTypeDef *hi2c); +static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); +static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); +static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); +static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode); + +/* Private functions to handle IT transfer */ +static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart); +static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart); + +/* Private functions for I2C transfer IRQ handler */ +static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources); +static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources); +static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources); +static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources); + +/* Private functions to handle flags during polling transfer */ +static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagStatus Status, uint32_t Timeout, uint32_t Tickstart); +static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart); +static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart); +static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart); +static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart); + +/* Private functions to centralize the enable/disable of Interrupts */ +static HAL_StatusTypeDef I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest); +static HAL_StatusTypeDef I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest); + +/* Private functions to flush TXDR register */ +static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c); + +/* Private functions to handle start, restart or stop a transfer */ +static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t Mode, uint32_t Request); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup I2C_Exported_Functions I2C Exported Functions + * @{ + */ + +/** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to initialize and + deinitialize the I2Cx peripheral: + + (+) User must Implement HAL_I2C_MspInit() function in which he configures + all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). + + (+) Call the function HAL_I2C_Init() to configure the selected device with + the selected configuration: + (++) Clock Timing + (++) Own Address 1 + (++) Addressing mode (Master, Slave) + (++) Dual Addressing mode + (++) Own Address 2 + (++) Own Address 2 Mask + (++) General call mode + (++) Nostretch mode + + (+) Call the function HAL_I2C_DeInit() to restore the default configuration + of the selected I2Cx peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the I2C according to the specified parameters + * in the I2C_InitTypeDef and initialize the associated handle. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c) +{ + /* Check the I2C handle allocation */ + if(hi2c == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); + assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); + assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); + assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); + assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); + assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); + assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); + assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); + + if(hi2c->State == HAL_I2C_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hi2c->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ + HAL_I2C_MspInit(hi2c); + } + + hi2c->State = HAL_I2C_STATE_BUSY; + + /* Disable the selected I2C peripheral */ + __HAL_I2C_DISABLE(hi2c); + + /*---------------------------- I2Cx TIMINGR Configuration ------------------*/ + /* Configure I2Cx: Frequency range */ + hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK; + + /*---------------------------- I2Cx OAR1 Configuration ---------------------*/ + /* Disable Own Address1 before set the Own Address1 configuration */ + hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN; + + /* Configure I2Cx: Own Address1 and ack own address1 mode */ + if(hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) + { + hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1); + } + else /* I2C_ADDRESSINGMODE_10BIT */ + { + hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1); + } + + /*---------------------------- I2Cx CR2 Configuration ----------------------*/ + /* Configure I2Cx: Addressing Master mode */ + if(hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) + { + hi2c->Instance->CR2 = (I2C_CR2_ADD10); + } + /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */ + hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); + + /*---------------------------- I2Cx OAR2 Configuration ---------------------*/ + /* Disable Own Address2 before set the Own Address2 configuration */ + hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE; + + /* Configure I2Cx: Dual mode and Own Address2 */ + hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | (hi2c->Init.OwnAddress2Masks << 8)); + + /*---------------------------- I2Cx CR1 Configuration ----------------------*/ + /* Configure I2Cx: Generalcall and NoStretch mode */ + hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode); + + /* Enable the selected I2C peripheral */ + __HAL_I2C_ENABLE(hi2c); + + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + hi2c->State = HAL_I2C_STATE_READY; + hi2c->PreviousState = I2C_STATE_NONE; + hi2c->Mode = HAL_I2C_MODE_NONE; + + return HAL_OK; +} + +/** + * @brief DeInitialize the I2C peripheral. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c) +{ + /* Check the I2C handle allocation */ + if(hi2c == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); + + hi2c->State = HAL_I2C_STATE_BUSY; + + /* Disable the I2C Peripheral Clock */ + __HAL_I2C_DISABLE(hi2c); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ + HAL_I2C_MspDeInit(hi2c); + + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + hi2c->State = HAL_I2C_STATE_RESET; + hi2c->PreviousState = I2C_STATE_NONE; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Release Lock */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; +} + +/** + * @brief Initialize the I2C MSP. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize the I2C MSP. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions + * @brief Data transfers functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the I2C data + transfers. + + (#) There are two modes of transfer: + (++) Blocking mode : The communication is performed in the polling mode. + The status of all data processing is returned by the same function + after finishing transfer. + (++) No-Blocking mode : The communication is performed using Interrupts + or DMA. These functions return the status of the transfer startup. + The end of the data processing will be indicated through the + dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + + (#) Blocking mode functions are : + (++) HAL_I2C_Master_Transmit() + (++) HAL_I2C_Master_Receive() + (++) HAL_I2C_Slave_Transmit() + (++) HAL_I2C_Slave_Receive() + (++) HAL_I2C_Mem_Write() + (++) HAL_I2C_Mem_Read() + (++) HAL_I2C_IsDeviceReady() + + (#) No-Blocking mode functions with Interrupt are : + (++) HAL_I2C_Master_Transmit_IT() + (++) HAL_I2C_Master_Receive_IT() + (++) HAL_I2C_Slave_Transmit_IT() + (++) HAL_I2C_Slave_Receive_IT() + (++) HAL_I2C_Mem_Write_IT() + (++) HAL_I2C_Mem_Read_IT() + + (#) No-Blocking mode functions with DMA are : + (++) HAL_I2C_Master_Transmit_DMA() + (++) HAL_I2C_Master_Receive_DMA() + (++) HAL_I2C_Slave_Transmit_DMA() + (++) HAL_I2C_Slave_Receive_DMA() + (++) HAL_I2C_Mem_Write_DMA() + (++) HAL_I2C_Mem_Read_DMA() + + (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: + (++) HAL_I2C_MemTxCpltCallback() + (++) HAL_I2C_MemRxCpltCallback() + (++) HAL_I2C_MasterTxCpltCallback() + (++) HAL_I2C_MasterRxCpltCallback() + (++) HAL_I2C_SlaveTxCpltCallback() + (++) HAL_I2C_SlaveRxCpltCallback() + (++) HAL_I2C_ErrorCallback() + +@endverbatim + * @{ + */ + +/** + * @brief Transmits in master mode an amount of data in blocking mode. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferISR = NULL; + + /* Send Slave Address */ + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_WRITE); + } + + while(hi2c->XferCount > 0U) + { + /* Wait until TXIS flag is set */ + if(I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + /* Write data to TXDR */ + hi2c->Instance->TXDR = (*hi2c->pBuffPtr++); + hi2c->XferCount--; + hi2c->XferSize--; + + if((hi2c->XferSize == 0U) && (hi2c->XferCount!=0U)) + { + /* Wait until TCR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); + } + } + } + + /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ + /* Wait until STOPF flag is set */ + if(I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receives in master mode an amount of data in blocking mode. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferISR = NULL; + + /* Send Slave Address */ + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_READ); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_READ); + } + + while(hi2c->XferCount > 0U) + { + /* Wait until RXNE flag is set */ + if(I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + hi2c->XferSize--; + hi2c->XferCount--; + + if((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U)) + { + /* Wait until TCR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); + } + } + } + + /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ + /* Wait until STOPF flag is set */ + if(I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Transmits in slave mode an amount of data in blocking mode. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferISR = NULL; + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Wait until ADDR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + return HAL_TIMEOUT; + } + + /* Clear ADDR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_ADDR); + + /* If 10bit addressing mode is selected */ + if(hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) + { + /* Wait until ADDR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + return HAL_TIMEOUT; + } + + /* Clear ADDR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_ADDR); + } + + /* Wait until DIR flag is set Transmitter mode */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + return HAL_TIMEOUT; + } + + while(hi2c->XferCount > 0U) + { + /* Wait until TXIS flag is set */ + if(I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Write data to TXDR */ + hi2c->Instance->TXDR = (*hi2c->pBuffPtr++); + hi2c->XferCount--; + } + + /* Wait until STOP flag is set */ + if(I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + /* Normal use case for Transmitter mode */ + /* A NACK is generated to confirm the end of transfer */ + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Clear STOP flag */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_STOPF); + + /* Wait until BUSY flag is reset */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + return HAL_TIMEOUT; + } + + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive in slave mode an amount of data in blocking mode + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferISR = NULL; + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Wait until ADDR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + return HAL_TIMEOUT; + } + + /* Clear ADDR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_ADDR); + + /* Wait until DIR flag is reset Receiver mode */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + return HAL_TIMEOUT; + } + + while(hi2c->XferCount > 0U) + { + /* Wait until RXNE flag is set */ + if(I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + /* Store Last receive data if any */ + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) + { + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + hi2c->XferCount--; + } + + if(hi2c->ErrorCode == HAL_I2C_ERROR_TIMEOUT) + { + return HAL_TIMEOUT; + } + else + { + return HAL_ERROR; + } + } + + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + hi2c->XferCount--; + } + + /* Wait until STOP flag is set */ + if(I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Clear STOP flag */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_STOPF); + + /* Wait until BUSY flag is reset */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) + { + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + return HAL_TIMEOUT; + } + + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size) +{ + uint32_t xfermode = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_IT; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + /* Send Slave Address */ + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_WRITE); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + + /* Enable ERR, TC, STOP, NACK, TXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size) +{ + uint32_t xfermode = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_IT; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + /* Send Slave Address */ + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_READ); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + + /* Enable ERR, TC, STOP, NACK, RXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) +{ + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferSize = hi2c->XferCount; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Slave_ISR_IT; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + + /* Enable ERR, TC, STOP, NACK, TXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) +{ + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferSize = hi2c->XferCount; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Slave_ISR_IT; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + + /* Enable ERR, TC, STOP, NACK, RXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Transmit in master mode an amount of data in non-blocking mode with DMA + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size) +{ + uint32_t xfermode = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_DMA; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + if(hi2c->XferSize > 0U) + { + /* Set the I2C DMA transfer complete callback */ + hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; + + /* Set the DMA error callback */ + hi2c->hdmatx->XferErrorCallback = I2C_DMAError; + + /* Set the unused DMA callbacks to NULL */ + hi2c->hdmatx->XferHalfCpltCallback = NULL; + hi2c->hdmatx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); + + /* Send Slave Address */ + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_WRITE); + + /* Update XferCount value */ + hi2c->XferCount -= hi2c->XferSize; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR and NACK interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); + + /* Enable DMA Request */ + hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; + } + else + { + /* Update Transfer ISR function pointer */ + hi2c->XferISR = I2C_Master_ISR_IT; + + /* Send Slave Address */ + /* Set NBYTES to write and generate START condition */ + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_WRITE); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR, TC, STOP, NACK, TXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive in master mode an amount of data in non-blocking mode with DMA + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size) +{ + uint32_t xfermode = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_DMA; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + if(hi2c->XferSize > 0U) + { + /* Set the I2C DMA transfer complete callback */ + hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; + + /* Set the DMA error callback */ + hi2c->hdmarx->XferErrorCallback = I2C_DMAError; + + /* Set the unused DMA callbacks to NULL */ + hi2c->hdmarx->XferHalfCpltCallback = NULL; + hi2c->hdmarx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, hi2c->XferSize); + + /* Send Slave Address */ + /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + I2C_TransferConfig(hi2c,DevAddress,hi2c->XferSize, xfermode, I2C_GENERATE_START_READ); + + /* Update XferCount value */ + hi2c->XferCount -= hi2c->XferSize; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR and NACK interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); + + /* Enable DMA Request */ + hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; + } + else + { + /* Update Transfer ISR function pointer */ + hi2c->XferISR = I2C_Master_ISR_IT; + + /* Send Slave Address */ + /* Set NBYTES to read and generate START condition */ + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_READ); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR, TC, STOP, NACK, TXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); + } + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) +{ + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferSize = hi2c->XferCount; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Slave_ISR_DMA; + + /* Set the I2C DMA transfer complete callback */ + hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt; + + /* Set the DMA error callback */ + hi2c->hdmatx->XferErrorCallback = I2C_DMAError; + + /* Set the unused DMA callbacks to NULL */ + hi2c->hdmatx->XferHalfCpltCallback = NULL; + hi2c->hdmatx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR, STOP, NACK, ADDR interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); + + /* Enable DMA Request */ + hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive in slave mode an amount of data in non-blocking mode with DMA + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) +{ + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferSize = hi2c->XferCount; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Slave_ISR_DMA; + + /* Set the I2C DMA transfer complete callback */ + hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt; + + /* Set the DMA error callback */ + hi2c->hdmarx->XferErrorCallback = I2C_DMAError; + + /* Set the unused DMA callbacks to NULL */ + hi2c->hdmarx->XferHalfCpltCallback = NULL; + hi2c->hdmarx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, hi2c->XferSize); + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR, STOP, NACK, ADDR interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); + + /* Enable DMA Request */ + hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} +/** + * @brief Write an amount of data in blocking mode to a specific memory address + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Check the parameters */ + assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_MEM; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferISR = NULL; + + /* Send Slave Address and Memory Address */ + if(I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_ERROR; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); + } + + do + { + /* Wait until TXIS flag is set */ + if(I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Write data to TXDR */ + hi2c->Instance->TXDR = (*hi2c->pBuffPtr++); + hi2c->XferCount--; + hi2c->XferSize--; + + if((hi2c->XferSize == 0U) && (hi2c->XferCount!=0U)) + { + /* Wait until TCR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); + } + } + + }while(hi2c->XferCount > 0U); + + /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ + /* Wait until STOPF flag is reset */ + if(I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Read an amount of data in blocking mode from a specific memory address + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Check the parameters */ + assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_MEM; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferISR = NULL; + + /* Send Slave Address and Memory Address */ + if(I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_ERROR; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + + /* Send Slave Address */ + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_READ); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_READ); + } + + do + { + /* Wait until RXNE flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + hi2c->XferSize--; + hi2c->XferCount--; + + if((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U)) + { + /* Wait until TCR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); + } + else + { + hi2c->XferSize = hi2c->XferCount; + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); + } + } + }while(hi2c->XferCount > 0U); + + /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ + /* Wait until STOPF flag is reset */ + if(I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} +/** + * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory address + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + uint32_t xfermode = 0U; + + /* Check the parameters */ + assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_MEM; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_IT; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + /* Send Slave Address and Memory Address */ + if(I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_ERROR; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + I2C_TransferConfig(hi2c,DevAddress, hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + + /* Enable ERR, TC, STOP, NACK, TXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory address + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + uint32_t xfermode = 0U; + + /* Check the parameters */ + assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_MEM; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_IT; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + /* Send Slave Address and Memory Address */ + if(I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_ERROR; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + I2C_TransferConfig(hi2c,DevAddress,hi2c->XferSize, xfermode, I2C_GENERATE_START_READ); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + + /* Enable ERR, TC, STOP, NACK, RXI interrupt */ + /* possible to enable all of these */ + /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ + I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} +/** + * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + uint32_t xfermode = 0U; + + /* Check the parameters */ + assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_MEM; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_DMA; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + /* Send Slave Address and Memory Address */ + if(I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_ERROR; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + + /* Set the I2C DMA transfer complete callback */ + hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; + + /* Set the DMA error callback */ + hi2c->hdmatx->XferErrorCallback = I2C_DMAError; + + /* Set the unused DMA callbacks to NULL */ + hi2c->hdmatx->XferHalfCpltCallback = NULL; + hi2c->hdmatx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); + + /* Send Slave Address */ + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); + + /* Update XferCount value */ + hi2c->XferCount -= hi2c->XferSize; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR and NACK interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); + + /* Enable DMA Request */ + hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be read + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + uint32_t xfermode = 0U; + + /* Check the parameters */ + assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_MEM; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferISR = I2C_Master_ISR_DMA; + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + /* Send Slave Address and Memory Address */ + if(I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_ERROR; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + + /* Set the I2C DMA transfer complete callback */ + hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; + + /* Set the DMA error callback */ + hi2c->hdmarx->XferErrorCallback = I2C_DMAError; + + /* Set the unused DMA callbacks to NULL */ + hi2c->hdmarx->XferHalfCpltCallback = NULL; + hi2c->hdmarx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, hi2c->XferSize); + + /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ + I2C_TransferConfig(hi2c,DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_READ); + + /* Update XferCount value */ + hi2c->XferCount -= hi2c->XferSize; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Enable DMA Request */ + hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* Enable ERR and NACK interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Checks if target device is ready for communication. + * @note This function is used with Memory devices + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param Trials: Number of trials + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + __IO uint32_t I2C_Trials = 0U; + + if(hi2c->State == HAL_I2C_STATE_READY) + { + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + do + { + /* Generate Start */ + hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode,DevAddress); + + /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ + /* Wait until STOPF flag is set or a NACK flag is set*/ + tickstart = HAL_GetTick(); + while((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET) && (hi2c->State != HAL_I2C_STATE_TIMEOUT)) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) + { + /* Device is ready */ + hi2c->State = HAL_I2C_STATE_READY; + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + } + + /* Check if the NACKF flag has not been set */ + if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET) + { + /* Wait until STOPF flag is reset */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Device is ready */ + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + /* Wait until STOPF flag is reset */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Clear STOP Flag, auto generated with autoend*/ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + } + + /* Check if the maximum allowed number of trials has been reached */ + if (I2C_Trials++ == Trials) + { + /* Generate Stop */ + hi2c->Instance->CR2 |= I2C_CR2_STOP; + + /* Wait until STOPF flag is reset */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + } + }while(I2C_Trials < Trials); + + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_TIMEOUT; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Interrupt. + * @note This interface allow to manage repeated start condition when a direction change during transfer + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @arg I2C_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + uint32_t xfermode = 0U; + uint32_t xferrequest = I2C_GENERATE_START_WRITE; + + /* Check the parameters */ + assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_TX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = XferOptions; + hi2c->XferISR = I2C_Master_ISR_IT; + + /* If size > MAX_NBYTE_SIZE, use reload mode */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = hi2c->XferOptions; + } + + /* If transfer direction not change, do not generate Restart Condition */ + /* Mean Previous state is same as current state */ + if(hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) + { + xferrequest = I2C_NO_STARTSTOP; + } + + /* Send Slave Address and set NBYTES to write */ + I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, xferrequest); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Interrupt + * @note This interface allow to manage repeated start condition when a direction change during transfer + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @arg I2C_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + uint32_t xfermode = 0U; + uint32_t xferrequest = I2C_GENERATE_START_READ; + + /* Check the parameters */ + assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY_RX; + hi2c->Mode = HAL_I2C_MODE_MASTER; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferOptions = XferOptions; + hi2c->XferISR = I2C_Master_ISR_IT; + + /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = hi2c->XferOptions; + } + + /* If transfer direction not change, do not generate Restart Condition */ + /* Mean Previous state is same as current state */ + if(hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) + { + xferrequest = I2C_NO_STARTSTOP; + } + + /* Send Slave Address and set NBYTES to read */ + I2C_TransferConfig(hi2c,DevAddress, hi2c->XferSize, xfermode, xferrequest); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode with Interrupt + * @note This interface allow to manage repeated start condition when a direction change during transfer + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @arg I2C_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + /* Check the parameters */ + assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if((hi2c->State & HAL_I2C_STATE_LISTEN) == HAL_I2C_STATE_LISTEN) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ + /* and then toggle the HAL slave RX state to TX state */ + if(hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) + { + /* Disable associated Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); + } + + hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferSize = hi2c->XferCount; + hi2c->XferOptions = XferOptions; + hi2c->XferISR = I2C_Slave_ISR_IT; + + if(I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) + { + /* Clear ADDR flag after prepare the transfer parameters */ + /* This action will generate an acknowledge to the Master */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_ADDR); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* REnable ADDR interrupt */ + I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with Interrupt + * @note This interface allow to manage repeated start condition when a direction change during transfer + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @arg I2C_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + /* Check the parameters */ + assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if((hi2c->State & HAL_I2C_STATE_LISTEN) == HAL_I2C_STATE_LISTEN) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); + + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ + /* and then toggle the HAL slave TX state to RX state */ + if(hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) + { + /* Disable associated Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); + } + + hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; + hi2c->Mode = HAL_I2C_MODE_SLAVE; + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + + /* Enable Address Acknowledge */ + hi2c->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Prepare transfer parameters */ + hi2c->pBuffPtr = pData; + hi2c->XferCount = Size; + hi2c->XferSize = hi2c->XferCount; + hi2c->XferOptions = XferOptions; + hi2c->XferISR = I2C_Slave_ISR_IT; + + if(I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) + { + /* Clear ADDR flag after prepare the transfer parameters */ + /* This action will generate an acknowledge to the Master */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_ADDR); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + /* REnable ADDR interrupt */ + I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Enable the Address listen mode with Interrupt. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c) +{ + if(hi2c->State == HAL_I2C_STATE_READY) + { + hi2c->State = HAL_I2C_STATE_LISTEN; + hi2c->XferISR = I2C_Slave_ISR_IT; + + /* Enable the Address Match interrupt */ + I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Disable the Address listen mode with Interrupt. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c) +{ + /* Declaration of tmp to prevent undefined behavior of volatile usage */ + uint32_t tmp; + + /* Disable Address listen mode only if a transfer is not ongoing */ + if(hi2c->State == HAL_I2C_STATE_LISTEN) + { + tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK; + hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + hi2c->XferISR = NULL; + + /* Disable the Address Match interrupt */ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Abort a master/host I2C process communication with Interrupt. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress) +{ + if(hi2c->Mode == HAL_I2C_MODE_MASTER) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + /* Disable Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); + I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); + + /* Set State at HAL_I2C_STATE_ABORT */ + hi2c->State = HAL_I2C_STATE_ABORT; + + /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */ + /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfer */ + I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Note : The I2C interrupts must be enabled after unlocking current process + to avoid the risk of I2C interrupt handle execution before current + process unlock */ + I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); + + return HAL_OK; + } + else + { + /* Wrong usage of abort function */ + /* This function should be used only in case of abort monitored by master device */ + return HAL_ERROR; + } +} + +/** + * @} + */ + +/** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks + * @{ + */ + +/** + * @brief This function handles I2C event interrupt request. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) +{ + /* Get current IT Flags and IT sources value */ + uint32_t itflags = READ_REG(hi2c->Instance->ISR); + uint32_t itsources = READ_REG(hi2c->Instance->CR1); + + /* I2C events treatment -------------------------------------*/ + if(hi2c->XferISR != NULL) + { + hi2c->XferISR(hi2c, itflags, itsources); + } +} + +/** + * @brief This function handles I2C error interrupt request. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c) +{ + uint32_t itflags = READ_REG(hi2c->Instance->ISR); + uint32_t itsources = READ_REG(hi2c->Instance->CR1); + + /* I2C Bus error interrupt occurred ------------------------------------*/ + if(((itflags & I2C_FLAG_BERR) != RESET) && ((itsources & I2C_IT_ERRI) != RESET)) + { + hi2c->ErrorCode |= HAL_I2C_ERROR_BERR; + + /* Clear BERR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); + } + + /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/ + if(((itflags & I2C_FLAG_OVR) != RESET) && ((itsources & I2C_IT_ERRI) != RESET)) + { + hi2c->ErrorCode |= HAL_I2C_ERROR_OVR; + + /* Clear OVR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); + } + + /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/ + if(((itflags & I2C_FLAG_ARLO) != RESET) && ((itsources & I2C_IT_ERRI) != RESET)) + { + hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO; + + /* Clear ARLO flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); + } + + /* Call the Error Callback in case of Error detected */ + if((hi2c->ErrorCode & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_NONE) + { + I2C_ITError(hi2c, hi2c->ErrorCode); + } +} + +/** + * @brief Master Tx Transfer completed callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_MasterTxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Master Rx Transfer completed callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_MasterRxCpltCallback could be implemented in the user file + */ +} + +/** @brief Slave Tx Transfer completed callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Slave Rx Transfer completed callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Slave Address Match callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param TransferDirection: Master request Transfer Direction (Write/Read), value of @arg I2C_XferOptions_definition + * @param AddrMatchCode: Address Match Code + * @retval None + */ +__weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + UNUSED(TransferDirection); + UNUSED(AddrMatchCode); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_AddrCallback() could be implemented in the user file + */ +} + +/** + * @brief Listen Complete callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_ListenCpltCallback() could be implemented in the user file + */ +} + +/** + * @brief Memory Tx Transfer completed callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_MemTxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Memory Rx Transfer completed callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_MemRxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief I2C error callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_ErrorCallback could be implemented in the user file + */ +} + +/** + * @brief I2C abort callback. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval None + */ +__weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2c); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_I2C_AbortCpltCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions + * @brief Peripheral State, Mode and Error functions + * +@verbatim + =============================================================================== + ##### Peripheral State, Mode and Error functions ##### + =============================================================================== + [..] + This subsection permit to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the I2C handle state. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @retval HAL state + */ +HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c) +{ + /* Return I2C handle state */ + return hi2c->State; +} + +/** + * @brief Returns the I2C Master, Slave, Memory or no mode. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for I2C module + * @retval HAL mode + */ +HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c) +{ + return hi2c->Mode; +} + +/** +* @brief Return the I2C error code. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. +* @retval I2C Error Code +*/ +uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c) +{ + return hi2c->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup I2C_Private_Functions + * @{ + */ + +/** + * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param ITFlags: Interrupt flags to handle. + * @param ITSources: Interrupt sources enabled. + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) +{ + uint16_t devaddress = 0U; + + /* Process Locked */ + __HAL_LOCK(hi2c); + + if(((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET)) + { + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Set corresponding Error Code */ + /* No need to generate STOP, it is automatically done */ + /* Error callback will be send during stop flag treatment */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + + /* Flush TX register */ + I2C_Flush_TXDR(hi2c); + } + else if(((ITFlags & I2C_FLAG_RXNE) != RESET) && ((ITSources & I2C_IT_RXI) != RESET)) + { + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + hi2c->XferSize--; + hi2c->XferCount--; + } + else if(((ITFlags & I2C_FLAG_TXIS) != RESET) && ((ITSources & I2C_IT_TXI) != RESET)) + { + /* Write data to TXDR */ + hi2c->Instance->TXDR = (*hi2c->pBuffPtr++); + hi2c->XferSize--; + hi2c->XferCount--; + } + else if(((ITFlags & I2C_FLAG_TCR) != RESET) && ((ITSources & I2C_IT_TCI) != RESET)) + { + if((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U)) + { + devaddress = (hi2c->Instance->CR2 & I2C_CR2_SADD); + + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP); + } + else + { + hi2c->XferSize = hi2c->XferCount; + if(hi2c->XferOptions != I2C_NO_OPTION_FRAME) + { + I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, hi2c->XferOptions, I2C_NO_STARTSTOP); + } + else + { + I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); + } + } + } + else + { + /* Call TxCpltCallback() if no stop mode is set */ + if(I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) + { + /* Call I2C Master Sequential complete process */ + I2C_ITMasterSequentialCplt(hi2c); + } + else + { + /* Wrong size Status regarding TCR flag event */ + /* Call the corresponding callback to inform upper layer of End of Transfer */ + I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); + } + } + } + else if(((ITFlags & I2C_FLAG_TC) != RESET) && ((ITSources & I2C_IT_TCI) != RESET)) + { + if(hi2c->XferCount == 0U) + { + if(I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) + { + /* Generate a stop condition in case of no transfer option */ + if(hi2c->XferOptions == I2C_NO_OPTION_FRAME) + { + /* Generate Stop */ + hi2c->Instance->CR2 |= I2C_CR2_STOP; + } + else + { + /* Call I2C Master Sequential complete process */ + I2C_ITMasterSequentialCplt(hi2c); + } + } + } + else + { + /* Wrong size Status regarding TC flag event */ + /* Call the corresponding callback to inform upper layer of End of Transfer */ + I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); + } + } + + if(((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET)) + { + /* Call I2C Master complete process */ + I2C_ITMasterCplt(hi2c, ITFlags); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; +} + +/** + * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param ITFlags: Interrupt flags to handle. + * @param ITSources: Interrupt sources enabled. + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) +{ + /* Process locked */ + __HAL_LOCK(hi2c); + + if(((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET)) + { + /* Check that I2C transfer finished */ + /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ + /* Mean XferCount == 0*/ + /* So clear Flag NACKF only */ + if(hi2c->XferCount == 0U) + { + if(((hi2c->XferOptions == I2C_FIRST_AND_LAST_FRAME) || (hi2c->XferOptions == I2C_LAST_FRAME)) && \ + (hi2c->State == HAL_I2C_STATE_LISTEN)) + { + /* Call I2C Listen complete process */ + I2C_ITListenCplt(hi2c, ITFlags); + } + else if((hi2c->XferOptions != I2C_NO_OPTION_FRAME) && (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)) + { + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Flush TX register */ + I2C_Flush_TXDR(hi2c); + + /* Last Byte is Transmitted */ + /* Call I2C Slave Sequential complete process */ + I2C_ITSlaveSequentialCplt(hi2c); + } + else + { + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + } + } + else + { + /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Set ErrorCode corresponding to a Non-Acknowledge */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + } + } + else if(((ITFlags & I2C_FLAG_RXNE) != RESET) && ((ITSources & I2C_IT_RXI) != RESET)) + { + if(hi2c->XferCount > 0U) + { + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + hi2c->XferSize--; + hi2c->XferCount--; + } + + if((hi2c->XferCount == 0U) && \ + (hi2c->XferOptions != I2C_NO_OPTION_FRAME)) + { + /* Call I2C Slave Sequential complete process */ + I2C_ITSlaveSequentialCplt(hi2c); + } + } + else if(((ITFlags & I2C_FLAG_ADDR) != RESET) && ((ITSources & I2C_IT_ADDRI) != RESET)) + { + I2C_ITAddrCplt(hi2c, ITFlags); + } + else if(((ITFlags & I2C_FLAG_TXIS) != RESET) && ((ITSources & I2C_IT_TXI) != RESET)) + { + /* Write data to TXDR only if XferCount not reach "0" */ + /* A TXIS flag can be set, during STOP treatment */ + /* Check if all Datas have already been sent */ + /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */ + if(hi2c->XferCount > 0U) + { + /* Write data to TXDR */ + hi2c->Instance->TXDR = (*hi2c->pBuffPtr++); + hi2c->XferCount--; + hi2c->XferSize--; + } + else + { + if((hi2c->XferOptions == I2C_NEXT_FRAME) || (hi2c->XferOptions == I2C_FIRST_FRAME)) + { + /* Last Byte is Transmitted */ + /* Call I2C Slave Sequential complete process */ + I2C_ITSlaveSequentialCplt(hi2c); + } + } + } + + /* Check if STOPF is set */ + if(((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET)) + { + /* Call I2C Slave complete process */ + I2C_ITSlaveCplt(hi2c, ITFlags); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; +} + +/** + * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param ITFlags: Interrupt flags to handle. + * @param ITSources: Interrupt sources enabled. + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) +{ + uint16_t devaddress = 0U; + uint32_t xfermode = 0U; + + /* Process Locked */ + __HAL_LOCK(hi2c); + + if(((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET)) + { + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Set corresponding Error Code */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + + /* No need to generate STOP, it is automatically done */ + /* But enable STOP interrupt, to treat it */ + /* Error callback will be send during stop flag treatment */ + I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); + + /* Flush TX register */ + I2C_Flush_TXDR(hi2c); + } + else if(((ITFlags & I2C_FLAG_TCR) != RESET) && ((ITSources & I2C_IT_TCI) != RESET)) + { + /* Disable TC interrupt */ + __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI); + + if(hi2c->XferCount != 0U) + { + /* Recover Slave address */ + devaddress = (hi2c->Instance->CR2 & I2C_CR2_SADD); + + /* Prepare the new XferSize to transfer */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + xfermode = I2C_RELOAD_MODE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + xfermode = I2C_AUTOEND_MODE; + } + + /* Set the new XferSize in Nbytes register */ + I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); + + /* Update XferCount value */ + hi2c->XferCount -= hi2c->XferSize; + + /* Enable DMA Request */ + if(hi2c->State == HAL_I2C_STATE_BUSY_RX) + { + hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; + } + else + { + hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; + } + } + else + { + /* Wrong size Status regarding TCR flag event */ + /* Call the corresponding callback to inform upper layer of End of Transfer */ + I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); + } + } + else if(((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET)) + { + /* Call I2C Master complete process */ + I2C_ITMasterCplt(hi2c, ITFlags); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; +} + +/** + * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param ITFlags: Interrupt flags to handle. + * @param ITSources: Interrupt sources enabled. + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) +{ + /* Process locked */ + __HAL_LOCK(hi2c); + + if(((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET)) + { + /* Check that I2C transfer finished */ + /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ + /* Mean XferCount == 0 */ + /* So clear Flag NACKF only */ + if(I2C_GET_DMA_REMAIN_DATA(hi2c) == 0U) + { + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + } + else + { + /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Set ErrorCode corresponding to a Non-Acknowledge */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + } + } + else if(((ITFlags & I2C_FLAG_ADDR) != RESET) && ((ITSources & I2C_IT_ADDRI) != RESET)) + { + /* Clear ADDR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); + } + else if(((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET)) + { + /* Call I2C Slave complete process */ + I2C_ITSlaveCplt(hi2c, ITFlags); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; +} + +/** + * @brief Master sends target device address followed by internal memory address for write request. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param Timeout: Timeout duration + * @param Tickstart Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart) +{ + I2C_TransferConfig(hi2c, DevAddress, MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE); + + /* Wait until TXIS flag is set */ + if(I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* If Memory address size is 8Bit */ + if(MemAddSize == I2C_MEMADD_SIZE_8BIT) + { + /* Send Memory Address */ + hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); + } + /* If Memory address size is 16Bit */ + else + { + /* Send MSB of Memory Address */ + hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); + + /* Wait until TXIS flag is set */ + if(I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Send LSB of Memory Address */ + hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); + } + + /* Wait until TCR flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + +return HAL_OK; +} + +/** + * @brief Master sends target device address followed by internal memory address for read request. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param DevAddress: Target device address + * @param MemAddress: Internal memory address + * @param MemAddSize: Size of internal memory address + * @param Timeout: Timeout duration + * @param Tickstart Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart) +{ + I2C_TransferConfig(hi2c, DevAddress, MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE); + + /* Wait until TXIS flag is set */ + if(I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* If Memory address size is 8Bit */ + if(MemAddSize == I2C_MEMADD_SIZE_8BIT) + { + /* Send Memory Address */ + hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); + } + /* If Memory address size is 16Bit */ + else + { + /* Send MSB of Memory Address */ + hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); + + /* Wait until TXIS flag is set */ + if(I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) + { + if(hi2c->ErrorCode == HAL_I2C_ERROR_AF) + { + return HAL_ERROR; + } + else + { + return HAL_TIMEOUT; + } + } + + /* Send LSB of Memory Address */ + hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); + } + + /* Wait until TC flag is set */ + if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + return HAL_OK; +} + +/** + * @brief I2C Address complete process callback. + * @param hi2c: I2C handle. + * @param ITFlags: Interrupt flags to handle. + * @retval None + */ +static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) +{ + uint8_t transferdirection = 0U; + uint16_t slaveaddrcode = 0U; + uint16_t ownadd1code = 0U; + uint16_t ownadd2code = 0U; + + /* Prevent unused argument(s) compilation warning */ + UNUSED(ITFlags); + + /* In case of Listen state, need to inform upper layer of address match code event */ + if((hi2c->State & HAL_I2C_STATE_LISTEN) == HAL_I2C_STATE_LISTEN) + { + transferdirection = I2C_GET_DIR(hi2c); + slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); + ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); + ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); + + /* If 10bits addressing mode is selected */ + if(hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) + { + if((slaveaddrcode & SlaveAddr_MSK) == ((ownadd1code >> SlaveAddr_SHIFT) & SlaveAddr_MSK)) + { + slaveaddrcode = ownadd1code; + hi2c->AddrEventCount++; + if(hi2c->AddrEventCount == 2U) + { + /* Reset Address Event counter */ + hi2c->AddrEventCount = 0U; + + /* Clear ADDR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_ADDR); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call Slave Addr callback */ + HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); + } + } + else + { + slaveaddrcode = ownadd2code; + + /* Disable ADDR Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call Slave Addr callback */ + HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); + } + } + /* else 7 bits addressing mode is selected */ + else + { + /* Disable ADDR Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call Slave Addr callback */ + HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); + } + } + /* Else clear address flag only */ + else + { + /* Clear ADDR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + } +} + +/** + * @brief I2C Master sequential complete process. + * @param hi2c: I2C handle. + * @retval None + */ +static void I2C_ITMasterSequentialCplt(I2C_HandleTypeDef *hi2c) +{ + /* Reset I2C handle mode */ + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* No Generate Stop, to permit restart mode */ + /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */ + if (hi2c->State == HAL_I2C_STATE_BUSY_TX) + { + hi2c->State = HAL_I2C_STATE_READY; + hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; + hi2c->XferISR = NULL; + + /* Disable Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_MasterTxCpltCallback(hi2c); + } + /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ + else + { + hi2c->State = HAL_I2C_STATE_READY; + hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; + hi2c->XferISR = NULL; + + /* Disable Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_MasterRxCpltCallback(hi2c); + } +} + +/** + * @brief I2C Slave sequential complete process. + * @param hi2c: I2C handle. + * @retval None + */ +static void I2C_ITSlaveSequentialCplt(I2C_HandleTypeDef *hi2c) +{ + /* Reset I2C handle mode */ + hi2c->Mode = HAL_I2C_MODE_NONE; + + if(hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) + { + /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */ + hi2c->State = HAL_I2C_STATE_LISTEN; + hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; + + /* Disable Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the Tx complete callback to inform upper layer of the end of transmit process */ + HAL_I2C_SlaveTxCpltCallback(hi2c); + } + + else if(hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) + { + /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */ + hi2c->State = HAL_I2C_STATE_LISTEN; + hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; + + /* Disable Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the Rx complete callback to inform upper layer of the end of receive process */ + HAL_I2C_SlaveRxCpltCallback(hi2c); + } +} + +/** + * @brief I2C Master complete process. + * @param hi2c: I2C handle. + * @param ITFlags: Interrupt flags to handle. + * @retval None + */ +static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) +{ + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + /* Reset handle parameters */ + hi2c->PreviousState = I2C_STATE_NONE; + hi2c->XferISR = NULL; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + + if((ITFlags & I2C_FLAG_AF) != RESET) + { + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Set acknowledge error code */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + } + + /* Flush TX register */ + I2C_Flush_TXDR(hi2c); + + /* Disable Interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT| I2C_XFER_RX_IT); + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + if((hi2c->ErrorCode != HAL_I2C_ERROR_NONE) || (hi2c->State == HAL_I2C_STATE_ABORT)) + { + /* Call the corresponding callback to inform upper layer of End of Transfer */ + I2C_ITError(hi2c, hi2c->ErrorCode); + } + /* hi2c->State == HAL_I2C_STATE_BUSY_TX */ + else if(hi2c->State == HAL_I2C_STATE_BUSY_TX) + { + hi2c->State = HAL_I2C_STATE_READY; + + if (hi2c->Mode == HAL_I2C_MODE_MEM) + { + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_MemTxCpltCallback(hi2c); + } + else + { + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_MasterTxCpltCallback(hi2c); + } + } + /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ + else if(hi2c->State == HAL_I2C_STATE_BUSY_RX) + { + hi2c->State = HAL_I2C_STATE_READY; + + if (hi2c->Mode == HAL_I2C_MODE_MEM) + { + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + HAL_I2C_MemRxCpltCallback(hi2c); + } + else + { + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + HAL_I2C_MasterRxCpltCallback(hi2c); + } + } +} + +/** + * @brief I2C Slave complete process. + * @param hi2c: I2C handle. + * @param ITFlags: Interrupt flags to handle. + * @retval None + */ +static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) +{ + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Clear ADDR flag */ + __HAL_I2C_CLEAR_FLAG(hi2c,I2C_FLAG_ADDR); + + /* Disable all interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT); + + /* Disable Address Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + /* Flush TX register */ + I2C_Flush_TXDR(hi2c); + + /* If a DMA is ongoing, Update handle size context */ + if(((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) || + ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)) + { + hi2c->XferCount = I2C_GET_DMA_REMAIN_DATA(hi2c); + } + + /* All data are not transferred, so set error code accordingly */ + if(hi2c->XferCount != 0U) + { + /* Set ErrorCode corresponding to a Non-Acknowledge */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + } + + /* Store Last receive data if any */ + if(((ITFlags & I2C_FLAG_RXNE) != RESET)) + { + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + + if((hi2c->XferSize > 0U)) + { + hi2c->XferSize--; + hi2c->XferCount--; + + /* Set ErrorCode corresponding to a Non-Acknowledge */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + } + } + + hi2c->PreviousState = I2C_STATE_NONE; + hi2c->Mode = HAL_I2C_MODE_NONE; + hi2c->XferISR = NULL; + + if(hi2c->ErrorCode != HAL_I2C_ERROR_NONE) + { + /* Call the corresponding callback to inform upper layer of End of Transfer */ + I2C_ITError(hi2c, hi2c->ErrorCode); + + /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ + if(hi2c->State == HAL_I2C_STATE_LISTEN) + { + /* Call I2C Listen complete process */ + I2C_ITListenCplt(hi2c, ITFlags); + } + } + else if(hi2c->XferOptions != I2C_NO_OPTION_FRAME) + { + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ + HAL_I2C_ListenCpltCallback(hi2c); + } + /* Call the corresponding callback to inform upper layer of End of Transfer */ + else if(hi2c->State == HAL_I2C_STATE_BUSY_RX) + { + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the Slave Rx Complete callback */ + HAL_I2C_SlaveRxCpltCallback(hi2c); + } + else + { + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the Slave Tx Complete callback */ + HAL_I2C_SlaveTxCpltCallback(hi2c); + } +} + +/** + * @brief I2C Listen complete process. + * @param hi2c: I2C handle. + * @param ITFlags: Interrupt flags to handle. + * @retval None + */ +static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) +{ + /* Reset handle parameters */ + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->PreviousState = I2C_STATE_NONE; + hi2c->State = HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + hi2c->XferISR = NULL; + + /* Store Last receive data if any */ + if(((ITFlags & I2C_FLAG_RXNE) != RESET)) + { + /* Read data from RXDR */ + (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR; + + if((hi2c->XferSize > 0U)) + { + hi2c->XferSize--; + hi2c->XferCount--; + + /* Set ErrorCode corresponding to a Non-Acknowledge */ + hi2c->ErrorCode |= HAL_I2C_ERROR_AF; + } + } + + /* Disable all Interrupts*/ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); + + /* Clear NACK Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ + HAL_I2C_ListenCpltCallback(hi2c); +} + +/** + * @brief I2C interrupts error process. + * @param hi2c: I2C handle. + * @param ErrorCode: Error code to handle. + * @retval None + */ +static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode) +{ + /* Reset handle parameters */ + hi2c->Mode = HAL_I2C_MODE_NONE; + hi2c->XferOptions = I2C_NO_OPTION_FRAME; + hi2c->XferCount = 0U; + + /* Set new error code */ + hi2c->ErrorCode |= ErrorCode; + + /* Disable Interrupts */ + if((hi2c->State == HAL_I2C_STATE_LISTEN) || + (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) || + (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)) + { + /* Disable all interrupts, except interrupts related to LISTEN state */ + I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT); + + /* keep HAL_I2C_STATE_LISTEN if set */ + hi2c->State = HAL_I2C_STATE_LISTEN; + hi2c->PreviousState = I2C_STATE_NONE; + hi2c->XferISR = I2C_Slave_ISR_IT; + } + else + { + /* Disable all interrupts */ + I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); + + /* If state is an abort treatment on goind, don't change state */ + /* This change will be do later */ + if(hi2c->State != HAL_I2C_STATE_ABORT) + { + /* Set HAL_I2C_STATE_READY */ + hi2c->State = HAL_I2C_STATE_READY; + } + hi2c->PreviousState = I2C_STATE_NONE; + hi2c->XferISR = NULL; + } + + /* Abort DMA TX transfer if any */ + if((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) + { + hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; + + /* Set the I2C DMA Abort callback : + will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ + hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) + { + /* Call Directly XferAbortCallback function in case of error */ + hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); + } + } + /* Abort DMA RX transfer if any */ + else if((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) + { + hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; + + /* Set the I2C DMA Abort callback : + will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ + hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) + { + /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */ + hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); + } + } + else if(hi2c->State == HAL_I2C_STATE_ABORT) + { + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_AbortCpltCallback(hi2c); + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_ErrorCallback(hi2c); + } +} + +/** + * @brief I2C Tx data register flush process. + * @param hi2c: I2C handle. + * @retval None + */ +static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c) +{ + /* If a pending TXIS flag is set */ + /* Write a dummy data in TXDR to clear it */ + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET) + { + hi2c->Instance->TXDR = 0x00U; + } + + /* Flush TX register if not empty */ + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET) + { + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE); + } +} + +/** + * @brief DMA I2C master transmit process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma) +{ + I2C_HandleTypeDef* hi2c = (I2C_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + /* Disable DMA Request */ + hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; + + /* If last transfer, enable STOP interrupt */ + if(hi2c->XferCount == 0U) + { + /* Enable STOP interrupt */ + I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); + } + /* else prepare a new DMA transfer and enable TCReload interrupt */ + else + { + /* Update Buffer pointer */ + hi2c->pBuffPtr += hi2c->XferSize; + + /* Set the XferSize to transfer */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + } + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); + + /* Enable TC interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); + } +} + +/** + * @brief DMA I2C slave transmit process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdma); + + /* No specific action, Master fully manage the generation of STOP condition */ + /* Mean that this generation can arrive at any time, at the end or during DMA process */ + /* So STOP condition should be manage through Interrupt treatment */ +} + +/** + * @brief DMA I2C master receive process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma) +{ + I2C_HandleTypeDef* hi2c = (I2C_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + /* Disable DMA Request */ + hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; + + /* If last transfer, enable STOP interrupt */ + if(hi2c->XferCount == 0U) + { + /* Enable STOP interrupt */ + I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); + } + /* else prepare a new DMA transfer and enable TCReload interrupt */ + else + { + /* Update Buffer pointer */ + hi2c->pBuffPtr += hi2c->XferSize; + + /* Set the XferSize to transfer */ + if(hi2c->XferCount > MAX_NBYTE_SIZE) + { + hi2c->XferSize = MAX_NBYTE_SIZE; + } + else + { + hi2c->XferSize = hi2c->XferCount; + } + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, hi2c->XferSize); + + /* Enable TC interrupts */ + I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); + } +} + +/** + * @brief DMA I2C slave receive process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hdma); + + /* No specific action, Master fully manage the generation of STOP condition */ + /* Mean that this generation can arrive at any time, at the end or during DMA process */ + /* So STOP condition should be manage through Interrupt treatment */ +} + +/** + * @brief DMA I2C communication error callback. + * @param hdma: DMA handle + * @retval None + */ +static void I2C_DMAError(DMA_HandleTypeDef *hdma) +{ + I2C_HandleTypeDef* hi2c = ( I2C_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Disable Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); +} + +/** + * @brief DMA I2C communication abort callback + * (To be called at end of DMA Abort procedure). + * @param hdma: DMA handle. + * @retval None + */ +static void I2C_DMAAbort(DMA_HandleTypeDef *hdma) +{ + I2C_HandleTypeDef* hi2c = ( I2C_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Disable Acknowledge */ + hi2c->Instance->CR2 |= I2C_CR2_NACK; + + /* Reset AbortCpltCallback */ + hi2c->hdmatx->XferAbortCallback = NULL; + hi2c->hdmarx->XferAbortCallback = NULL; + + /* Check if come from abort from user */ + if(hi2c->State == HAL_I2C_STATE_ABORT) + { + hi2c->State = HAL_I2C_STATE_READY; + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_AbortCpltCallback(hi2c); + } + else + { + /* Call the corresponding callback to inform upper layer of End of Transfer */ + HAL_I2C_ErrorCallback(hi2c); + } +} + +/** + * @brief This function handles I2C Communication Timeout. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param Flag: Specifies the I2C flag to check. + * @param Status: The new Flag status (SET or RESET). + * @param Timeout: Timeout duration + * @param Tickstart: Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagStatus Status, uint32_t Timeout, uint32_t Tickstart) +{ + while(__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - Tickstart ) > Timeout)) + { + hi2c->State= HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + } + return HAL_OK; +} + +/** + * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param Timeout: Timeout duration + * @param Tickstart: Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart) +{ + while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) + { + /* Check if a NACK is detected */ + if(I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK) + { + return HAL_ERROR; + } + + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - Tickstart) > Timeout)) + { + hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; + hi2c->State= HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_TIMEOUT; + } + } + } + return HAL_OK; +} + +/** + * @brief This function handles I2C Communication Timeout for specific usage of STOP flag. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param Timeout: Timeout duration + * @param Tickstart: Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart) +{ + while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) + { + /* Check if a NACK is detected */ + if(I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK) + { + return HAL_ERROR; + } + + /* Check for the Timeout */ + if((Timeout == 0U)||((HAL_GetTick() - Tickstart) > Timeout)) + { + hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; + hi2c->State= HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_TIMEOUT; + } + } + return HAL_OK; +} + +/** + * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param Timeout: Timeout duration + * @param Tickstart: Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart) +{ + while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) + { + /* Check if a NACK is detected */ + if(I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK) + { + return HAL_ERROR; + } + + /* Check if a STOPF is detected */ + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) + { + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + hi2c->ErrorCode = HAL_I2C_ERROR_NONE; + hi2c->State= HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_ERROR; + } + + /* Check for the Timeout */ + if((Timeout == 0U)||((HAL_GetTick() - Tickstart) > Timeout)) + { + hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; + hi2c->State= HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_TIMEOUT; + } + } + return HAL_OK; +} + +/** + * @brief This function handles Acknowledge failed detection during an I2C Communication. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param Timeout: Timeout duration + * @param Tickstart: Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart) +{ + if(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) + { + /* Wait until STOP Flag is reset */ + /* AutoEnd should be initiate after AF */ + while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - Tickstart) > Timeout)) + { + hi2c->State= HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + return HAL_TIMEOUT; + } + } + } + + /* Clear NACKF Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); + + /* Clear STOP Flag */ + __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); + + /* Flush TX register */ + I2C_Flush_TXDR(hi2c); + + /* Clear Configuration Register 2 */ + I2C_RESET_CR2(hi2c); + + hi2c->ErrorCode = HAL_I2C_ERROR_AF; + hi2c->State= HAL_I2C_STATE_READY; + hi2c->Mode = HAL_I2C_MODE_NONE; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_ERROR; + } + return HAL_OK; +} + +/** + * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag are set). + * @param hi2c: I2C handle. + * @param DevAddress: Specifies the slave address to be programmed. + * @param Size: Specifies the number of bytes to be programmed. + * This parameter must be a value between 0 and 255. + * @param Mode: New state of the I2C START condition generation. + * This parameter can be one of the following values: + * @arg I2C_RELOAD_MODE: Enable Reload mode . + * @arg I2C_AUTOEND_MODE: Enable Automatic end mode. + * @arg I2C_SOFTEND_MODE: Enable Software end mode. + * @param Request: New state of the I2C START condition generation. + * This parameter can be one of the following values: + * @arg I2C_NO_STARTSTOP: Don't Generate stop and start condition. + * @arg I2C_GENERATE_STOP: Generate stop condition (Size should be set to 0). + * @arg I2C_GENERATE_START_READ: Generate Restart for read request. + * @arg I2C_GENERATE_START_WRITE: Generate Restart for write request. + * @retval None + */ +static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t Mode, uint32_t Request) +{ + /* Check the parameters */ + assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); + assert_param(IS_TRANSFER_MODE(Mode)); + assert_param(IS_TRANSFER_REQUEST(Request)); + + /* update CR2 register */ + MODIFY_REG(hi2c->Instance->CR2, ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | I2C_CR2_START | I2C_CR2_STOP)), \ + (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | (uint32_t)Mode | (uint32_t)Request)); +} + +/** + * @brief Manage the enabling of Interrupts. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param InterruptRequest: Value of @ref I2C_Interrupt_configuration_definition. + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) +{ + uint32_t tmpisr = 0U; + + if((hi2c->XferISR == I2C_Master_ISR_DMA) || \ + (hi2c->XferISR == I2C_Slave_ISR_DMA)) + { + if((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) + { + /* Enable ERR, STOP, NACK and ADDR interrupts */ + tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; + } + + if((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT) + { + /* Enable ERR and NACK interrupts */ + tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; + } + + if((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT) + { + /* Enable STOP interrupts */ + tmpisr |= I2C_IT_STOPI; + } + + if((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT) + { + /* Enable TC interrupts */ + tmpisr |= I2C_IT_TCI; + } + } + else + { + if((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) + { + /* Enable ERR, STOP, NACK, and ADDR interrupts */ + tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; + } + + if((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) + { + /* Enable ERR, TC, STOP, NACK and RXI interrupts */ + tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI; + } + + if((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) + { + /* Enable ERR, TC, STOP, NACK and TXI interrupts */ + tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI; + } + + if((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT) + { + /* Enable STOP interrupts */ + tmpisr |= I2C_IT_STOPI; + } + } + + /* Enable interrupts only at the end */ + /* to avoid the risk of I2C interrupt handle execution before */ + /* all interrupts requested done */ + __HAL_I2C_ENABLE_IT(hi2c, tmpisr); + + return HAL_OK; +} + +/** + * @brief Manage the disabling of Interrupts. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2C. + * @param InterruptRequest: Value of @ref I2C_Interrupt_configuration_definition. + * @retval HAL status + */ +static HAL_StatusTypeDef I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) +{ + uint32_t tmpisr = 0U; + + if((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) + { + /* Disable TC and TXI interrupts */ + tmpisr |= I2C_IT_TCI | I2C_IT_TXI; + + if((hi2c->State & HAL_I2C_STATE_LISTEN) != HAL_I2C_STATE_LISTEN) + { + /* Disable NACK and STOP interrupts */ + tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; + } + } + + if((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) + { + /* Disable TC and RXI interrupts */ + tmpisr |= I2C_IT_TCI | I2C_IT_RXI; + + if((hi2c->State & HAL_I2C_STATE_LISTEN) != HAL_I2C_STATE_LISTEN) + { + /* Disable NACK and STOP interrupts */ + tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; + } + } + + if((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) + { + /* Disable ADDR, NACK and STOP interrupts */ + tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; + } + + if((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT) + { + /* Enable ERR and NACK interrupts */ + tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; + } + + if((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT) + { + /* Enable STOP interrupts */ + tmpisr |= I2C_IT_STOPI; + } + + if((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT) + { + /* Enable TC interrupts */ + tmpisr |= I2C_IT_TCI; + } + + /* Disable interrupts only at the end */ + /* to avoid a breaking situation like at "t" time */ + /* all disable interrupts request are not done */ + __HAL_I2C_DISABLE_IT(hi2c, tmpisr); + + return HAL_OK; +} + +/** + * @} + */ + +#endif /* HAL_I2C_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c new file mode 100644 index 0000000000..0942dce096 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c @@ -0,0 +1,333 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_i2c_ex.c + * @author MCD Application Team + * @brief I2C Extended HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of I2C Extended peripheral: + * + Extended features functions + * + @verbatim + ============================================================================== + ##### I2C peripheral Extended features ##### + ============================================================================== + + [..] Comparing to other previous devices, the I2C interface for STM32H7XX + devices contains the following additional features + + (+) Possibility to disable or enable Analog Noise Filter + (+) Use of a configured Digital Noise Filter + (+) Disable or enable wakeup from Stop modes + (+) Disable or enable Fast Mode Plus + + ##### How to use this driver ##### + ============================================================================== + [..] This driver provides functions to configure Noise Filter and Wake Up Feature + (#) Configure I2C Analog noise filter using the function HAL_I2CEx_ConfigAnalogFilter() + (#) Configure I2C Digital noise filter using the function HAL_I2CEx_ConfigDigitalFilter() + (#) Configure the enable or disable of I2C Wake Up Mode using the functions : + (++) HAL_I2CEx_EnableWakeUp() + (++) HAL_I2CEx_DisableWakeUp() + (#) Configure the enable or disable of fast mode plus driving capability using the functions : + (++) HAL_I2CEx_EnableFastModePlus() + (++) HAL_I2CEx_DisableFastModePlus() + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup I2CEx I2CEx + * @brief I2C Extended HAL module driver + * @{ + */ + +#ifdef HAL_I2C_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup I2CEx_Exported_Functions I2C Extended Exported Functions + * @{ + */ + +/** @defgroup I2CEx_Exported_Functions_Group1 Extended features functions + * @brief Extended features functions + * +@verbatim + =============================================================================== + ##### Extended features functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure Noise Filters + (+) Configure Wake Up Feature + (+) Configure Fast Mode Plus + +@endverbatim + * @{ + */ + +/** + * @brief Configure I2C Analog noise filter. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2Cx peripheral. + * @param AnalogFilter: New state of the Analog filter. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) +{ + /* Check the parameters */ + assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); + assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY; + + /* Disable the selected I2C peripheral */ + __HAL_I2C_DISABLE(hi2c); + + /* Reset I2Cx ANOFF bit */ + hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); + + /* Set analog filter bit*/ + hi2c->Instance->CR1 |= AnalogFilter; + + __HAL_I2C_ENABLE(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Configure I2C Digital noise filter. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2Cx peripheral. + * @param DigitalFilter: Coefficient of digital noise filter between 0x00 and 0x0F. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) +{ + uint32_t tmpreg = 0U; + + /* Check the parameters */ + assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); + assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY; + + /* Disable the selected I2C peripheral */ + __HAL_I2C_DISABLE(hi2c); + + /* Get the old register value */ + tmpreg = hi2c->Instance->CR1; + + /* Reset I2Cx DNF bits [11:8] */ + tmpreg &= ~(I2C_CR1_DNF); + + /* Set I2Cx DNF coefficient */ + tmpreg |= DigitalFilter << 8U; + + /* Store the new register value */ + hi2c->Instance->CR1 = tmpreg; + + __HAL_I2C_ENABLE(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Enable I2C wakeup from stop mode. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2Cx peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp (I2C_HandleTypeDef *hi2c) +{ + /* Check the parameters */ + assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY; + + /* Disable the selected I2C peripheral */ + __HAL_I2C_DISABLE(hi2c); + + /* Enable wakeup from stop mode */ + hi2c->Instance->CR1 |= I2C_CR1_WUPEN; + + __HAL_I2C_ENABLE(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Disable I2C wakeup from stop mode. + * @param hi2c: Pointer to a I2C_HandleTypeDef structure that contains + * the configuration information for the specified I2Cx peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp (I2C_HandleTypeDef *hi2c) +{ + /* Check the parameters */ + assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance)); + + if(hi2c->State == HAL_I2C_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hi2c); + + hi2c->State = HAL_I2C_STATE_BUSY; + + /* Disable the selected I2C peripheral */ + __HAL_I2C_DISABLE(hi2c); + + /* Enable wakeup from stop mode */ + hi2c->Instance->CR1 &= ~(I2C_CR1_WUPEN); + + __HAL_I2C_ENABLE(hi2c); + + hi2c->State = HAL_I2C_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2c); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Enable the I2C fast mode plus driving capability. + * @param ConfigFastModePlus: Selects the pin. + * This parameter can be one of the @ref I2CEx_FastModePlus values + * @retval None + */ +void HAL_I2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus) +{ + /* Check the parameter */ + assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); + + /* Enable SYSCFG clock */ + __HAL_RCC_SYSCFG_CLK_ENABLE(); + + /* Enable fast mode plus driving capability for selected pin */ + SET_BIT(SYSCFG->PMCR, (uint32_t)ConfigFastModePlus); +} + +/** + * @brief Disable the I2C fast mode plus driving capability. + * @param ConfigFastModePlus: Selects the pin. + * This parameter can be one of the @ref I2CEx_FastModePlus values + * @retval None + */ +void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus) +{ + /* Check the parameter */ + assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus)); + + /* Enable SYSCFG clock */ + __HAL_RCC_SYSCFG_CLK_ENABLE(); + + /* Disable fast mode plus driving capability for selected pin */ + CLEAR_BIT(SYSCFG->PMCR, (uint32_t)ConfigFastModePlus); +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_I2C_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s.c new file mode 100644 index 0000000000..8ac79cdafb --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s.c @@ -0,0 +1,1841 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_i2s.c + * @author MCD Application Team + * @brief I2S HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Integrated Interchip Sound (I2S) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral State and Errors functions + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The I2S HAL driver can be used as follow: + + (#) Declare a I2S_HandleTypeDef handle structure. + (#) Initialize the I2S low level resources by implement the HAL_I2S_MspInit() API: + (##) Enable the SPIx interface clock. + (##) I2S pins configuration: + (+++) Enable the clock for the I2S GPIOs. + (+++) Configure these I2S pins as alternate function pull-up. + (##) NVIC configuration if you need to use interrupt process (HAL_I2S_Transmit_IT() + and HAL_I2S_Receive_IT() APIs). + (+++) Configure the I2Sx interrupt priority. + (+++) Enable the NVIC I2S IRQ handle. + (##) DMA Configuration if you need to use DMA process (HAL_I2S_Transmit_DMA() + and HAL_I2S_Receive_DMA() APIs: + (+++) Declare a DMA handle structure for the Tx/Rx channel. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. + (+++) Configure the DMA Tx/Rx Channel. + (+++) Associate the initialized DMA handle to the I2S DMA Tx/Rx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the + DMA Tx/Rx Channel. + + (#) Program the Mode, Standard, Data Format, MCLK Output, Audio frequency and Polarity + using HAL_I2S_Init() function. + + -@- The specific I2S interrupts (Transmission complete interrupt, + RXNE interrupt and Error Interrupts) will be managed using the macros + __HAL_I2S_ENABLE_IT() and __HAL_I2S_DISABLE_IT() inside the transmit and receive process. + -@- Make sure that either: + (+@) External clock source is configured after setting correctly + the define constant EXTERNAL_CLOCK_VALUE in the stm32h7xx_hal_conf.h file. + + Three mode of operations are available within this driver : + + *** Polling mode IO operation *** + ================================= + [..] + (+) Send an amount of data in blocking mode using HAL_I2S_Transmit() + (+) Receive an amount of data in blocking mode using HAL_I2S_Receive() + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Send an amount of data in non blocking mode using HAL_I2S_Transmit_IT() + (+) At transmission end of half transfer HAL_I2S_TxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_TxHalfCpltCallback + (+) At transmission end of transfer HAL_I2S_TxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_TxCpltCallback + (+) Receive an amount of data in non blocking mode using HAL_I2S_Receive_IT() + (+) At reception end of half transfer HAL_I2S_RxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_RxHalfCpltCallback + (+) At reception end of transfer HAL_I2S_RxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_RxCpltCallback + (+) In case of transfer Error, HAL_I2S_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2S_ErrorCallback + + *** DMA mode IO operation *** + ============================== + [..] + (+) Send an amount of data in non blocking mode (DMA) using HAL_I2S_Transmit_DMA() + (+) At transmission end of half transfer HAL_I2S_TxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_TxHalfCpltCallback + (+) At transmission end of transfer HAL_I2S_TxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_TxCpltCallback + (+) Receive an amount of data in non blocking mode (DMA) using HAL_I2S_Receive_DMA() + (+) At reception end of half transfer HAL_I2S_RxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_RxHalfCpltCallback + (+) At reception end of transfer HAL_I2S_RxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_RxCpltCallback + (+) In case of transfer Error, HAL_I2S_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2S_ErrorCallback + (+) Pause the DMA Transfer using HAL_I2S_DMAPause() + (+) Resume the DMA Transfer using HAL_I2S_DMAResume() + (+) Stop the DMA Transfer using HAL_I2S_DMAStop() + + *** I2S HAL driver macros list *** + =================================== + [..] + Below the list of most used macros in I2S HAL driver. + + (+) __HAL_I2S_ENABLE: Enable the specified SPI peripheral (in I2S mode) + (+) __HAL_I2S_DISABLE: Disable the specified SPI peripheral (in I2S mode) + (+) __HAL_I2S_ENABLE_IT : Enable the specified I2S interrupts + (+) __HAL_I2S_DISABLE_IT : Disable the specified I2S interrupts + (+) __HAL_I2S_GET_FLAG: Check whether the specified I2S flag is set or not + + [..] + (@) You can refer to the I2S HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#ifdef HAL_I2S_MODULE_ENABLED + +/** @addtogroup I2S + * @brief I2S HAL module driver + * @{ + */ + + + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup I2S_Private + * @{ + */ +static void I2S_DMATxCplt(DMA_HandleTypeDef *hdma); +static void I2S_DMATxHalfCplt(DMA_HandleTypeDef *hdma); +static void I2S_DMARxCplt(DMA_HandleTypeDef *hdma); +static void I2S_DMARxHalfCplt(DMA_HandleTypeDef *hdma); +static void I2S_DMAError(DMA_HandleTypeDef *hdma); + +static void I2S_TxISR_16BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2S_TxISR_32BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2S_RxISR_16BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2S_RxISR_32BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2S_CloseRx_ISR(I2S_HandleTypeDef *hi2s); +static void I2S_CloseTx_ISR(I2S_HandleTypeDef *hi2s); + +static HAL_StatusTypeDef I2S_WaitFlagStateUntilTimeout(I2S_HandleTypeDef *hi2s, uint32_t Flag, uint32_t State, uint32_t Timeout); + +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ +/** @addtogroup I2S_Exported_Functions I2S Exported Functions + * @{ + */ + +/** @addtogroup I2S_Exported_Functions_Group1 + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to initialize and + de-initialiaze the I2Sx peripheral in simplex mode: + + (+) User must Implement HAL_I2S_MspInit() function in which he configures + all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). + + (+) Call the function HAL_I2S_Init() to configure the selected device with + the selected configuration: + (++) Mode + (++) Standard + (++) Data Format + (++) MCLK Output + (++) Audio frequency + (++) Polarity + (++) First Bit + (++) WS Inversion + (++) IO Swap + (++) Data 24Bit Alignment + (++) Fifo Threshold + (++) Alternate function GPIOs state + (++) Channel length in SLAVE + + (+) Call the function HAL_I2S_DeInit() to restore the default configuration + of the selected I2Sx periperal. + @endverbatim + * @{ + */ + +/** + * @brief Initializes the I2S according to the specified parameters + * in the I2S_InitTypeDef and create the associated handle. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_Init(I2S_HandleTypeDef *hi2s) +{ + uint32_t i2sdiv = 2U, i2sodd = 0U, packetlength = 1U; + uint32_t tmp = 0U, i2sclk = 0U; + + /* Check the I2S handle allocation */ + if(hi2s == NULL) + { + return HAL_ERROR; + } + + /* Check the I2S parameters */ + assert_param(IS_I2S_ALL_INSTANCE(hi2s->Instance)); + assert_param(IS_I2S_MODE(hi2s->Init.Mode)); + assert_param(IS_I2S_STANDARD(hi2s->Init.Standard)); + assert_param(IS_I2S_DATA_FORMAT(hi2s->Init.DataFormat)); + assert_param(IS_I2S_MCLK_OUTPUT(hi2s->Init.MCLKOutput)); + assert_param(IS_I2S_AUDIO_FREQ(hi2s->Init.AudioFreq)); + assert_param(IS_I2S_CPOL(hi2s->Init.CPOL)); + assert_param(IS_I2S_FIRST_BIT(hi2s->Init.FirstBit)); + assert_param(IS_I2S_WS_INVERSION(hi2s->Init.WSInversion)); + assert_param(IS_I2S_IO_SWAP(hi2s->Init.IOSwap)); + assert_param(IS_I2S_DATA_24BIT_ALIGNMENT(hi2s->Init.Data24BitAlignment)); + assert_param(IS_I2S_FIFO_THRESHOLD(hi2s->Init.FifoThreshold)); + assert_param(IS_I2S_MASTER_KEEP_IO_STATE(hi2s->Init.MasterKeepIOState)); + assert_param(IS_I2S_SLAVE_EXTEND_FRE_DETECTION(hi2s->Init.SlaveExtendFREDetection)); + + if(hi2s->State == HAL_I2S_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hi2s->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ + HAL_I2S_MspInit(hi2s); + } + + hi2s->State = HAL_I2S_STATE_BUSY; + + /* Clear I2S configuration register */ + CLEAR_REG(hi2s->Instance->I2SCFGR); + + /* If the default value has to be written, reinitialize i2sdiv and i2sodd */ + if(hi2s->Init.AudioFreq == I2S_AUDIOFREQ_DEFAULT) + { + i2sodd = 0U; + i2sdiv = 2U; + } + /* If the requested audio frequency is not the default, compute the prescaler */ + else + { + /* Check the frame length (For the Prescaler computing) *******************/ + /* Set I2S Packet Length value*/ + if(hi2s->Init.DataFormat != I2S_DATAFORMAT_16B) + { + /* Packet length is 32 bits */ + packetlength = 32U; + } + else + { + /* Packet length is 16 bits */ + packetlength = 16U; + } + + /* I2S standard */ + if(hi2s->Init.Standard <= I2S_STANDARD_LSB) + { + /* In I2S standard packet lenght is multiplied by 2 */ + packetlength = packetlength * 2U; + } + + /* Get the source clock value: based on System Clock value */ + /* SPI1,SPI2 and SPI3 share the same source clock */ + i2sclk = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SPI1); + + /* Compute the Real divider depending on the MCLK output state, with a floating point */ + if(hi2s->Init.MCLKOutput == I2S_MCLKOUTPUT_ENABLE) + { + /* MCLK output is enabled */ + if (hi2s->Init.DataFormat != I2S_DATAFORMAT_16B) + { + tmp = (uint32_t)(((((i2sclk / (packetlength*4)) * 10) / hi2s->Init.AudioFreq)) + 5); + } + else + { + tmp = (uint32_t)(((((i2sclk / (packetlength*8)) * 10) / hi2s->Init.AudioFreq)) + 5); + } + } + else + { + /* MCLK output is disabled */ + tmp = (uint32_t)(((((i2sclk / packetlength) *10 ) / hi2s->Init.AudioFreq)) + 5); + } + + /* Remove the flatting point */ + tmp = tmp / 10U; + + /* Check the parity of the divider */ + i2sodd = (uint32_t)(tmp & (uint32_t)1U); + + /* Compute the i2sdiv prescaler */ + i2sdiv = (uint32_t)((tmp - i2sodd) / 2U); + + /* Get the Mask for the Odd bit I2SCFGR register */ + i2sodd = (uint32_t)(i2sodd << 24U); + } + + /* Test if the divider is 1 or 0 or greater than 0xFF */ + if((i2sdiv < 2U) || (i2sdiv > 0xFFU)) + { + /* Set the default values */ + i2sdiv = 2U; + i2sodd = 0U; + /* Set the error code */ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_PRESCALER); + return HAL_ERROR; + } + + /* Check if the SPI2S is disabled to edit I2SCFGR and CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) == SPI_CR1_SPE) + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + } + + /* Clear and configure SPI2S I2SCFGR register */ + MODIFY_REG(hi2s->Instance->I2SCFGR, (SPI_I2SCFGR_I2SMOD | SPI_I2SCFGR_I2SCFG | \ + SPI_I2SCFGR_I2SSTD | SPI_I2SCFGR_PCMSYNC | \ + SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN | \ + SPI_I2SCFGR_CKPOL | SPI_I2SCFGR_FIXCH | \ + SPI_I2SCFGR_WSINV | SPI_I2SCFGR_DATFMT | \ + SPI_I2SCFGR_I2SDIV | SPI_I2SCFGR_ODD | \ + SPI_I2SCFGR_MCKOE), \ + (SPI_I2SCFGR_I2SMOD | hi2s->Init.Mode | \ + hi2s->Init.Standard | hi2s->Init.DataFormat | \ + hi2s->Init.CPOL | hi2s->Init.SlaveExtendFREDetection | \ + hi2s->Init.WSInversion | hi2s->Init.Data24BitAlignment | \ + (uint32_t)(i2sdiv << 16U) | (uint32_t)(i2sodd) | \ + hi2s->Init.MCLKOutput)); + + /* Clear and configure SPI2S CFG1 register */ + MODIFY_REG(hi2s->Instance->CFG1, SPI_CFG1_FTHLV, (uint32_t)(hi2s->Init.FifoThreshold << 5U)); + + /* Unlock the AF configuration to configure CFG2 register*/ + CLEAR_BIT(hi2s->Instance->CR1 , SPI_CR1_IOLOCK); + + /* Clear and configure SPI2S CFG2 register */ + MODIFY_REG(hi2s->Instance->CFG2, SPI_CFG2_LSBFRST | SPI_CFG2_IOSWP , (hi2s->Init.FirstBit | hi2s->Init.IOSwap)); + + /* Insure that AFCNTR is managed only by Master */ + if (IS_I2S_MASTER(hi2s->Init.Mode)) + { + /* Alternate function GPIOs control */ + MODIFY_REG(hi2s->Instance->CFG2, SPI_CFG2_AFCNTR, (hi2s->Init.MasterKeepIOState)); + } + + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->State= HAL_I2S_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitializes the I2S peripheral + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_DeInit(I2S_HandleTypeDef *hi2s) +{ + /* Check the I2S handle allocation */ + if(hi2s == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_I2S_ALL_INSTANCE(hi2s->Instance)); + + hi2s->State = HAL_I2S_STATE_BUSY; + + /* Disable the I2S Peripheral Clock */ + __HAL_I2S_DISABLE(hi2s); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */ + HAL_I2S_MspDeInit(hi2s); + + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->State = HAL_I2S_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; +} + +/** + * @brief I2S MSP Init + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ + __weak void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_MspInit could be implemented in the user file + */ +} + +/** + * @brief I2S MSP DeInit + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ + __weak void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup I2S_Exported_Functions_Group2 IO operation functions + * @brief Data transfers functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the I2S data + transfers. + + (#) There are two modes of transfer: + (++) Blocking mode : The communication is performed in the polling mode. + The status of all data processing is returned by the same function + after finishing transfer. + (++) No-Blocking mode : The communication is performed using Interrupts + or DMA. These functions return the status of the transfer startup. + The end of the data processing will be indicated through the + dedicated I2S IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + + (#) Blocking mode functions are : + (++) HAL_I2S_Transmit() + (++) HAL_I2S_Receive() + + (#) No-Blocking mode functions with Interrupt are : + (++) HAL_I2S_Transmit_IT() + (++) HAL_I2S_Receive_IT() + + (#) No-Blocking mode functions with DMA are : + (++) HAL_I2S_Transmit_DMA() + (++) HAL_I2S_Receive_DMA() + + (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: + (++) HAL_I2S_TxCpltCallback() + (++) HAL_I2S_TxHalfCpltCallback() + (++) HAL_I2S_RxCpltCallback() + (++) HAL_I2S_RxHalfCpltCallback() + (++) HAL_I2S_ErrorCallback() + +@endverbatim + * @{ + */ + +/** + * @brief Transmit an amount of data in blocking mode + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pData: a 16-bit pointer to data buffer. + * @param Size: number of frames to be sent. + * @param Timeout: Timeout duration + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @note This function can use an Audio Frequency up to 48KHz when I2S Clock Source is 32MHz + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + uint32_t isDataFormat16B = 2U; + + /* Check Mode parameter */ + assert_param(IS_I2S_TX_MODE(hi2s->Init.Mode)); + + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2s); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if(hi2s->State == HAL_I2S_STATE_READY) + { + /* Check the Data Format value */ + if (((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_24B) || + ((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_32B)) + { + isDataFormat16B = 0U; + } + else + { + isDataFormat16B = 1U; + } + + if(!isDataFormat16B) + { + hi2s->TxXferSize = (Size << 1U); + hi2s->TxXferCount = (Size << 1U); + } + else + { + hi2s->TxXferSize = Size; + hi2s->TxXferCount = Size; + } + + /* Set state and reset error code */ + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->State = HAL_I2S_STATE_BUSY_TX; + hi2s->pTxBuffPtr = pData; + + /* Check if the SPI2S is already enabled */ + if((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + if(IS_I2S_MASTER(hi2s->Init.Mode)) + { + hi2s->Instance->CR1 |= SPI_CR1_CSTART; + } + + /* Transmit data in 32 Bit mode */ + if (!isDataFormat16B) + { + while (hi2s->TxXferCount > 0U) + { + /* Wait until TXE flag is set to send data */ + if (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_TXE)) + { + *((__IO uint32_t*)&hi2s->Instance->TXDR) = *((uint32_t*)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint32_t); + hi2s->TxXferCount -= 2U; + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); + HAL_I2S_ErrorCallback(hi2s); + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + } + } + } + /* Transmit data in 16 Bit mode */ + else + { + while (hi2s->TxXferCount > 0U) + { + if (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_TXE)) + { + if ((hi2s->TxXferCount > 1U) && (hi2s->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA)) + { + *((__IO uint32_t*)&hi2s->Instance->TXDR) = *((uint32_t*)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint32_t); + hi2s->TxXferCount -= 2U; + } + else + { + *((__IO uint16_t*)&hi2s->Instance->TXDR) = (*hi2s->pTxBuffPtr++); + hi2s->TxXferCount--; + } + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); + HAL_I2S_ErrorCallback(hi2s); + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + } + } + } + + /* Wait until TXE flag is set, to confirm the end of the transaction */ + if (I2S_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_TXE, RESET, Timeout) != HAL_OK) + { + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); + HAL_I2S_ErrorCallback(hi2s); + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in blocking mode + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pData: a 16-bit pointer to data buffer. + * @param Size: number of frames to be sent. + * @param Timeout: Timeout duration + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @note In I2S Master Receiver mode, just after enabling the peripheral the clock will be generate + * in continuous way and as the I2S is not disabled at the end of the I2S transaction. + * @note This function can use an Audio Frequency up to 44KHz when I2S Clock Source is 32MHz + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_Receive(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + uint32_t isDataFormat16B = 2U; + + /* Check Mode parameter */ + assert_param(IS_I2S_RX_MODE(hi2s->Init.Mode)); + + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2s); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if(hi2s->State == HAL_I2S_STATE_READY) + { + /* Check the Data Format value */ + if (((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_24B) || + ((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_32B)) + { + isDataFormat16B = 0U; + } + else + { + isDataFormat16B = 1U; + } + + if(!isDataFormat16B) + { + hi2s->RxXferSize = (Size << 1U); + hi2s->RxXferCount = (Size << 1U); + } + else + { + hi2s->RxXferSize = Size; + hi2s->RxXferCount = Size; + } + + /* Set state and reset error code */ + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->State = HAL_I2S_STATE_BUSY_RX; + hi2s->pRxBuffPtr = pData; + + /* Check if the SPI2S is already enabled */ + if((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + if(IS_I2S_MASTER(hi2s->Init.Mode)) + { + hi2s->Instance->CR1 |= SPI_CR1_CSTART; + } + + /* Check if Master Receiver mode is selected */ + if((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SCFG) == I2S_MODE_MASTER_RX) + { + /* Clear the Overrun Flag */ + __HAL_I2S_CLEAR_OVRFLAG(hi2s); + } + + /* Receive data in 32 Bit mode */ + if ((!isDataFormat16B)) + { + /* Transfer loop */ + while (hi2s->RxXferCount > 0U) + { + /* Check the RXNE flag */ + if (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_RXNE)) + { + *((uint32_t *)hi2s->pRxBuffPtr) = *((__IO uint32_t *)&hi2s->Instance->RXDR); + hi2s->pRxBuffPtr += sizeof(uint32_t); + hi2s->RxXferCount--; + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); + HAL_I2S_ErrorCallback(hi2s); + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + } + } + } + /* Receive data in 16 Bit mode */ + else + { + /* Transfer loop */ + while (hi2s->RxXferCount > 0U) + { + /* Check the RXNE flag */ + if (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_RXNE)) + { + if (hi2s->Instance->SR & I2S_FLAG_RXWNE) + { + *((uint32_t *)hi2s->pRxBuffPtr) = *((__IO uint32_t *)&hi2s->Instance->RXDR); + hi2s->pRxBuffPtr += sizeof(uint32_t); + hi2s->RxXferCount-=2; + } + else + { + *((uint16_t *)hi2s->pRxBuffPtr) = *((__IO uint16_t *)&hi2s->Instance->RXDR); + hi2s->pRxBuffPtr += sizeof(uint16_t); + hi2s->RxXferCount--; + } + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); + HAL_I2S_ErrorCallback(hi2s); + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + } + } + } + + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } +} + +/** + * @brief Transmit an amount of data in non-blocking mode with Interrupt + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pData: a 16-bit pointer to data buffer. + * @param Size: number of data sample to be sent: + * @note When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S + * configuration phase, the Size parameter means the number of 16-bit data length + * in the transaction and when a 24-bit data frame or a 32-bit data frame is selected + * the Size parameter means the number of 16-bit data length. + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @note This function can use an Audio Frequency up to 48KHz when I2S Clock Source is 32MHz + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) +{ + /* Check Mode parameter */ + assert_param(IS_I2S_TX_MODE(hi2s->Init.Mode)); + + /* Process Locked */ + __HAL_LOCK(hi2s); + + if((pData == NULL) || (Size == 0U)) + { + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + + if (hi2s->State == HAL_I2S_STATE_READY) + { + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } + + /* Set the transaction information */ + hi2s->State = HAL_I2S_STATE_BUSY_TX; + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->pTxBuffPtr = pData; + hi2s->TxXferSize = Size; + hi2s->TxXferCount = Size; + + /* Init field not used in handle to zero */ + hi2s->pRxBuffPtr = NULL; + hi2s->RxXferSize = 0U; + hi2s->RxXferCount = 0U; + hi2s->RxISR = NULL; + + /* Set the function for IT treatment */ + if (hi2s->Init.DataFormat > I2S_DATAFORMAT_16B) + { + hi2s->TxISR = I2S_TxISR_32BIT; + } + else + { + hi2s->TxISR = I2S_TxISR_16BIT; + } + + /* Check if the I2S is already enabled */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + if (IS_I2S_MASTER(hi2s->Init.Mode)) + { + /* Master transfer start */ + SET_BIT(hi2s->Instance->CR1, SPI_CR1_CSTART); + } + + /* Enable TXE and ERR interrupt */ + __HAL_I2S_ENABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR)); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; +} + +/** + * @brief Receive an amount of data in non-blocking mode with Interrupt + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pData: a 16-bit pointer to the Receive data buffer. + * @param Size: number of data sample to be sent: + * @note When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S + * configuration phase, the Size parameter means the number of 16-bit data length + * in the transaction and when a 24-bit data frame or a 32-bit data frame is selected + * the Size parameter means the number of 16-bit data length. + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @note It is recommended to use DMA for the I2S receiver to avoid de-synchronisation + * between Master and Slave otherwise the I2S interrupt should be optimized. + * @note This function can use an Audio Frequency up to 48KHz when I2S Clock Source is 32MHz + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) +{ + /* Check Mode parameter */ + assert_param(IS_I2S_RX_MODE(hi2s->Init.Mode)); + + /* Process Locked */ + __HAL_LOCK(hi2s); + + /* Set the transaction information */ + hi2s->State = HAL_I2S_STATE_BUSY_TX; + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->pRxBuffPtr = pData; + hi2s->RxXferSize = Size; + hi2s->RxXferCount = Size; + + /* Init field not used in handle to zero */ + hi2s->pTxBuffPtr = NULL; + hi2s->TxXferSize = 0U; + hi2s->TxXferCount = 0U; + hi2s->TxISR = NULL; + + /* Set the function for IT treatment */ + if (hi2s->Init.DataFormat > I2S_DATAFORMAT_16B) + { + hi2s->RxISR = I2S_RxISR_32BIT; + } + else + { + hi2s->RxISR = I2S_RxISR_16BIT; + } + + /* Check if the I2S is already enabled */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + if (IS_I2S_MASTER(hi2s->Init.Mode)) + { + /* Master transfer start */ + SET_BIT(hi2s->Instance->CR1, SPI_CR1_CSTART); + } + + /* Enable TXE and ERR interrupt */ + __HAL_I2S_ENABLE_IT(hi2s, (I2S_IT_RXNE | I2S_IT_ERR)); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; +} + +/** + * @brief Transmit an amount of data in non-blocking mode with DMA + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pData: a 16-bit pointer to the Transmit data buffer. + * @param Size: number of data sample to be sent: + * @note When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S + * configuration phase, the Size parameter means the number of 16-bit data length + * in the transaction and when a 24-bit data frame or a 32-bit data frame is selected + * the Size parameter means the number of 16-bit data length. + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) +{ + /* Check Mode parameter */ + assert_param(IS_I2S_TX_MODE(hi2s->Init.Mode)); + + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2s); + + if(hi2s->State == HAL_I2S_STATE_READY) + { + hi2s->pTxBuffPtr = pData; + hi2s->State = HAL_I2S_STATE_BUSY_TX; + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + + if(((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_24B)||\ + ((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_32B)) + { + hi2s->TxXferSize = (Size << 1U); + hi2s->TxXferCount = (Size << 1U); + } + else + { + hi2s->TxXferSize = Size; + hi2s->TxXferCount = Size; + } + + /* Set the I2S Tx DMA Half transfert complete callback */ + hi2s->hdmatx->XferHalfCpltCallback = I2S_DMATxHalfCplt; + + /* Set the I2S Tx DMA transfert complete callback */ + hi2s->hdmatx->XferCpltCallback = I2S_DMATxCplt; + + /* Set the DMA error callback */ + hi2s->hdmatx->XferErrorCallback = I2S_DMAError; + + /* Enable the Tx DMA Channel */ + HAL_DMA_Start_IT(hi2s->hdmatx, (uint32_t)hi2s->pTxBuffPtr, (uint32_t)&hi2s->Instance->TXDR, hi2s->TxXferSize); + + /* Check if the I2S Tx request is already enabled */ + if(HAL_IS_BIT_CLR(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN)) + { + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable Tx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Enable Tx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in non-blocking mode with DMA + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pData: a 16-bit pointer to the Receive data buffer. + * @param Size: number of data sample to be sent: + * @note When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S + * configuration phase, the Size parameter means the number of 16-bit data length + * in the transaction and when a 24-bit data frame or a 32-bit data frame is selected + * the Size parameter means the number of 16-bit data length. + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) +{ + /* Check Mode parameter */ + assert_param(IS_I2S_RX_MODE(hi2s->Init.Mode)); + + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2s); + + if(hi2s->State == HAL_I2S_STATE_READY) + { + hi2s->pRxBuffPtr = pData; + hi2s->State = HAL_I2S_STATE_BUSY_RX; + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + + if(((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_24B)||\ + ((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_32B)) + { + hi2s->RxXferSize = (Size << 1U); + hi2s->RxXferCount = (Size << 1U); + } + else + { + hi2s->RxXferSize = Size; + hi2s->RxXferCount = Size; + } + + /* Set the I2S Rx DMA Half transfert complete callback */ + hi2s->hdmarx->XferHalfCpltCallback = I2S_DMARxHalfCplt; + + /* Set the I2S Rx DMA transfert complete callback */ + hi2s->hdmarx->XferCpltCallback = I2S_DMARxCplt; + + /* Set the DMA error callback */ + hi2s->hdmarx->XferErrorCallback = I2S_DMAError; + + /* Check if Master Receiver mode is selected */ + if((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SCFG) == I2S_MODE_MASTER_RX) + { + /* Clear the Overrun Flag by a read operation to the SPI_DR register followed by a read + access to the SPI_SR register. */ + __HAL_I2S_CLEAR_OVRFLAG(hi2s); + } + + /* Enable the Rx DMA Channel */ + HAL_DMA_Start_IT(hi2s->hdmarx, (uint32_t)&hi2s->Instance->RXDR, (uint32_t)hi2s->pRxBuffPtr, hi2s->RxXferSize); + + /* Check if the I2S Rx request is already enabled */ + if(HAL_IS_BIT_CLR(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN)) + { + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable Rx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Enable Rx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } +} + +/** + * @brief Pauses the audio stream playing from the Media. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_DMAPause(I2S_HandleTypeDef *hi2s) +{ + /* Process Locked */ + __HAL_LOCK(hi2s); + + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Disable the I2S DMA Tx & Rx requests */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Disable the I2S DMA Tx & Rx requests */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; +} + +/** + * @brief Resumes the audio stream playing from the Media. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_DMAResume(I2S_HandleTypeDef *hi2s) +{ + /* Process Locked */ + __HAL_LOCK(hi2s); + + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable the I2S DMA Tx & Rx requests */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Enable the I2S DMA Tx & Rx requests */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN); + } + + /* Enable I2S peripheral */ + __HAL_I2S_ENABLE(hi2s); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; +} + +/** + * @brief Stops the audio stream playing from the Media. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2S_DMAStop(I2S_HandleTypeDef *hi2s) +{ + /* Process Locked */ + __HAL_LOCK(hi2s); + + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Disable the I2S Tx/Rx DMA requests */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Disable the I2S Tx/Rx DMA requests */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + /* Abort the I2S DMA Channel tx */ + if(hi2s->hdmatx != NULL) + { + /* Disable the I2S DMA channel */ + __HAL_DMA_DISABLE(hi2s->hdmatx); + HAL_DMA_Abort(hi2s->hdmatx); + } + /* Abort the I2S DMA Channel rx */ + if(hi2s->hdmarx != NULL) + { + /* Disable the I2S DMA channel */ + __HAL_DMA_DISABLE(hi2s->hdmarx); + HAL_DMA_Abort(hi2s->hdmarx); + } + + /* Disable I2S peripheral */ + __HAL_I2S_DISABLE(hi2s); + + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; +} + +/** + * @brief This function handles I2S interrupt request. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +void HAL_I2S_IRQHandler(I2S_HandleTypeDef *hi2s) +{ + uint32_t itsource = hi2s->Instance->IER; + uint32_t i2ssr = hi2s->Instance->SR; + + /* I2S in mode Receiver ------------------------------------------------*/ + if(((i2ssr & I2S_FLAG_OVR) != I2S_FLAG_OVR) && + ((i2ssr & I2S_FLAG_RXNE) == I2S_FLAG_RXNE) && ((itsource & I2S_IT_RXNE) != RESET)) + { + hi2s->RxISR(hi2s); + return; + } + + /* I2S in mode Transmitter ---------------------------------------------*/ + if(((i2ssr & I2S_FLAG_TXE) == I2S_FLAG_TXE) && ((itsource & I2S_IT_RXNE) != RESET)) + { + hi2s->TxISR(hi2s); + return; + } + + /* I2S interrupt error -------------------------------------------------*/ + if((itsource & I2S_IT_ERR) != RESET) + { + /* I2S Overrun error interrupt occured ---------------------------------*/ + if((i2ssr & I2S_FLAG_OVR) == I2S_FLAG_OVR) + { + /* Disable RXNE and ERR interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_RXNE | I2S_IT_ERR)); + + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_OVR); + } + + /* I2S Underrun error interrupt occured --------------------------------*/ + if((i2ssr & I2S_FLAG_UDR) == I2S_FLAG_UDR) + { + /* Disable TXE and ERR interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR)); + + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_UDR); + } + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + /* Call the Error Callback */ + HAL_I2S_ErrorCallback(hi2s); + } +} + + +/** + * @brief This function handles I2S Communication Timeout. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param Flag: Flag checked + * @param State: Value of the flag expected + * @param Timeout: Duration of the timeout + * @retval HAL status + */ +static HAL_StatusTypeDef I2S_WaitFlagStateUntilTimeout(I2S_HandleTypeDef *hi2s, uint32_t Flag, uint32_t State, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until flag is set */ + while ((__HAL_I2S_GET_FLAG(hi2s, Flag) ? SET : RESET) != State) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Set the I2S State ready */ + hi2s->State= HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_TIMEOUT; + } + } + } + + return HAL_OK; +} + +/** + * @brief Tx Transfer Half completed callbacks + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ + __weak void HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_TxHalfCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Tx Transfer completed callbacks + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ + __weak void HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_TxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer half completed callbacks + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +__weak void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_RxHalfCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callbacks + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +__weak void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief I2S error callbacks + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ + __weak void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_ErrorCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup I2S_Exported_Functions_Group3 Peripheral State and Errors functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State and Errors functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the I2S state + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval HAL state + */ +HAL_I2S_StateTypeDef HAL_I2S_GetState(I2S_HandleTypeDef *hi2s) +{ + return hi2s->State; +} + +/** + * @brief Return the I2S error code + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval I2S Error Code + */ +uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s) +{ + return hi2s->ErrorCode; +} +/** + * @} + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup I2S_Private + * @{ + */ +/** + * @brief DMA I2S transmit process complete callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void I2S_DMATxCplt(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + if(((((DMA_Stream_TypeDef *)hdma->Instance)->CR) & DMA_SxCR_CIRC) == 0U) + { + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Disable Tx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Disable Tx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + hi2s->TxXferCount = 0U; + + if(hi2s->State == HAL_I2S_STATE_BUSY_TX_RX) + { + if(hi2s->RxXferCount == 0U) + { + hi2s->State = HAL_I2S_STATE_READY; + } + } + else + { + hi2s->State = HAL_I2S_STATE_READY; + } + } + HAL_I2S_TxCpltCallback(hi2s); +} + +/** + * @brief DMA I2S transmit process half complete callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + the configuration information for the specified DMA module. + * @retval None + */ +static void I2S_DMATxHalfCplt(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_I2S_TxHalfCpltCallback(hi2s); +} + +/** + * @brief DMA I2S receive process complete callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void I2S_DMARxCplt(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + if(((((DMA_Stream_TypeDef *)hdma->Instance)->CR) & DMA_SxCR_CIRC) == 0U) + { + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Disable Rx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Disable Rx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + hi2s->RxXferCount = 0U; + if(hi2s->State == HAL_I2S_STATE_BUSY_TX_RX) + { + if(hi2s->TxXferCount == 0U) + { + hi2s->State = HAL_I2S_STATE_READY; + } + } + else + { + hi2s->State = HAL_I2S_STATE_READY; + } + } + HAL_I2S_RxCpltCallback(hi2s); +} + +/** + * @brief DMA I2S receive process half complete callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void I2S_DMARxHalfCplt(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_I2S_RxHalfCpltCallback(hi2s); +} + +/** + * @brief DMA I2S communication error callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void I2S_DMAError(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Disable Rx and Tx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, (SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN)); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Disable Rx and Tx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, (SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN)); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + hi2s->TxXferCount = 0U; + hi2s->RxXferCount = 0U; + + hi2s->State= HAL_I2S_STATE_READY; + + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); + HAL_I2S_ErrorCallback(hi2s); +} + +/** + * @brief Manage the 16-bit receive in Interrupt context. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +static void I2S_RxISR_16BIT(struct __I2S_HandleTypeDef *hi2s) +{ + *((uint16_t *)hi2s->pRxBuffPtr) = hi2s->Instance->RXDR; + hi2s->pRxBuffPtr += sizeof(uint16_t); + hi2s->RxXferCount--; + + if (hi2s->RxXferCount == 0U) + { + I2S_CloseRx_ISR(hi2s); + } +} + +/** + * @brief Manage the 32-bit receive in Interrupt context. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +static void I2S_RxISR_32BIT(struct __I2S_HandleTypeDef *hi2s) +{ + *((uint32_t *)hi2s->pRxBuffPtr) = hi2s->Instance->RXDR; + hi2s->pRxBuffPtr += sizeof(uint32_t); + hi2s->RxXferCount--; + + if (hi2s->RxXferCount == 0U) + { + I2S_CloseRx_ISR(hi2s); + } +} + +/** + * @brief Handle the data 16-bit transmit in Interrupt mode. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +static void I2S_TxISR_16BIT(struct __I2S_HandleTypeDef *hi2s) +{ + /* Transmit data in 16 Bit mode */ + *((__IO uint16_t *)&hi2s->Instance->TXDR) = *((uint16_t *)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint16_t); + hi2s->TxXferCount--; + + if (hi2s->TxXferCount == 0U) + { + I2S_CloseTx_ISR(hi2s); + } +} + +/** + * @brief Handle the data 32-bit transmit in Interrupt mode. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +static void I2S_TxISR_32BIT(struct __I2S_HandleTypeDef *hi2s) +{ + /* Transmit data in 16 Bit mode */ + *((__IO uint32_t *)&hi2s->Instance->TXDR) = *((uint32_t *)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint32_t); + hi2s->TxXferCount--; + + if (hi2s->TxXferCount == 0U) + { + I2S_CloseTx_ISR(hi2s); + } +} + +/** + * @brief Handle the end of the RX transaction. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +static void I2S_CloseRx_ISR(I2S_HandleTypeDef *hi2s) +{ + /* Disable RXNE and ERR interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_RXNE | I2S_IT_ERR)); + + /* Clear underrun flag in 1 Line communication mode because transmitted is not feeded */ + if (IS_I2S_FD_MODE(hi2s->Init.Mode)) + { + *((__IO uint8_t *)&hi2s->Instance->TXDR) = 0x01U; + __HAL_I2S_CLEAR_UDRFLAG(hi2s); + } + + hi2s->State = HAL_I2S_STATE_READY; + + if (hi2s->ErrorCode == HAL_I2S_ERROR_NONE) + { + HAL_I2S_RxCpltCallback(hi2s); + } + else + { + HAL_I2S_ErrorCallback(hi2s); + } +} + +/** + * @brief Handle the end of the TX transaction. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +static void I2S_CloseTx_ISR(I2S_HandleTypeDef *hi2s) +{ + /* Disable TXE and ERR interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR)); + + /* Clear overrun flag in 2 Lines communication mode because received is not read */ + if (IS_I2S_FD_MODE(hi2s->Init.Mode)) + { + __HAL_I2S_CLEAR_OVRFLAG(hi2s); + } + + hi2s->State = HAL_I2S_STATE_READY; + if (hi2s->ErrorCode != HAL_SPI_ERROR_NONE) + { + HAL_I2S_ErrorCallback(hi2s); + } + else + { + HAL_I2S_TxCpltCallback(hi2s); + } +} + +/** + * @} + */ +#endif /* HAL_I2S_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s_ex.c new file mode 100644 index 0000000000..c4b8af4fc7 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s_ex.c @@ -0,0 +1,927 @@ + /** + ****************************************************************************** + * @file stm32h7xx_hal_i2s_ex.c + * @author MCD Application Team + * @brief I2S HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of I2S extension peripheral: + * + IO operation functions + * + Peripheral Control functions + * + @verbatim + ============================================================================== + ##### I2S Extension features ##### + ============================================================================== + [..] + (+) In I2S full duplex mode, SPI2S peripheral is able to manage sending and receiving + data simultaneously using two data lines. + @endverbatim + + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + Three operation modes are available within this driver : + + *** Polling mode IO operation *** + ================================= + [..] + (+) Send and receive in the same time an amount of data in blocking mode using HAL_I2SEx_TransmitReceive() + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Send and receive in the same time an amount of data in non blocking mode using HAL_I2SEx_TransmitReceive_IT() + (+) At full duplex transfer end of half transfer HAL_I2SEx_TxRxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2SEx_TxRxHalfCpltCallback + (+) At full duplex transfer end of transfer HAL_I2SEx_TxRxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2SEx_TxRxCpltCallback + (+) In case of transfer Error, HAL_I2S_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2S_ErrorCallback + + *** DMA mode IO operation *** + ============================== + [..] + (+) Send and receive an amount of data in non blocking mode (DMA) using HAL_I2SEx_TransmitReceive_DMA() + (+) At the end of half transfer HAL_I2SEx_TxRxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_TxHalfCpltCallback + (+) At the end of transfer HAL_I2S_TxRxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_I2S_TxCpltCallback + (+) In case of transfer Error, HAL_I2S_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_I2S_ErrorCallback + (+) Pause the DMA Transfer using HAL_I2S_DMAPause() + (+) Resume the DMA Transfer using HAL_I2S_DMAResume() + (+) Stop the DMA Transfer using HAL_I2S_DMAStop() + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#ifdef HAL_I2S_MODULE_ENABLED +/** @defgroup I2SEx I2SEx + * @brief I2S Extended HAL module driver + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/** @defgroup I2SEx_Private_Typedef I2S Extended Private Typedef + * @{ + */ +typedef enum +{ + I2S_USE_I2S = 0x00U, /*!< I2Sx should be used */ + I2S_USE_I2SEXT = 0x01U, /*!< I2Sx_ext should be used */ +}I2S_UseTypeDef; +/** + * @} + */ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup I2SEx_Private_Functions I2S Extended Private Functions + * @{ + */ +static void I2SEx_DMATxRxCplt(DMA_HandleTypeDef *hdma); +static void I2SEx_DMATxRxHalfCplt(DMA_HandleTypeDef *hdma); +static void I2SEx_TxRxDMAError(DMA_HandleTypeDef *hdma); + +static void I2SEx_2linesTxISR_16BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2SEx_2linesTxISR_32BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2SEx_2linesRxISR_16BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2SEx_2linesRxISR_32BIT(struct __I2S_HandleTypeDef *hi2s); +static void I2SEx_CloseRxTx_ISR(I2S_HandleTypeDef *hi2s); + +static HAL_StatusTypeDef I2SEx_WaitFlagStateUntilTimeout(I2S_HandleTypeDef *hi2s, uint32_t Flag, uint32_t State, uint32_t Timeout); + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup I2SEx_Exported_Functions I2S Extended Exported Functions + * @{ + */ + +/** @defgroup I2SEx_Exported_Functions_Group1 I2S Extended IO operation functions + * @brief I2SEx IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the I2S data + transfers. + + (#) There are two modes of transfer: + (++) Blocking mode : The communication is performed in the polling mode. + The status of all data processing is returned by the same function + after finishing transfer. + (++) No-Blocking mode : The communication is performed using Interrupts + or DMA. These functions return the status of the transfer startup. + The end of the data processing will be indicated through the + dedicated I2S IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + + (#) Blocking mode functions are : + (++) HAL_I2SEx_TransmitReceive() + + (#) No-Blocking mode functions with Interrupt are : + (++) HAL_I2SEx_TransmitReceive_IT() + + (#) No-Blocking mode functions with DMA are : + (++) HAL_I2SEx_TransmitReceive_DMA() + + (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: + (++) HAL_I2SEx_TxRxCpltCallback() + (++) HAL_I2SEx_TxRxErrorCallback() + +@endverbatim + * @{ + */ + +/** + * @brief Transmit and Receive an amount of data in blocking mode + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pTxData: a 16-bit pointer to the Transmit data buffer + * @param pRxData: a 16-bit pointer to the Receive data buffer + * @param Size: number of frames to be sent + * @param Timeout: Timeout duration + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @note This function can use an Audio Frequency up to 48KHz when I2S Clock Source is 32MHz + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2SEx_TransmitReceive(I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + uint32_t isDataFormat16B = 2U; + + /* Check Mode parameter */ + assert_param(IS_I2S_FD_MODE(hi2s->Init.Mode)); + + if((pTxData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2s); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if(hi2s->State == HAL_I2S_STATE_READY) + { + /* Check the Data Format value */ + if (((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_24B) || + ((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_32B)) + { + isDataFormat16B = 0U; + } + else + { + isDataFormat16B = 1U; + } + + if(!isDataFormat16B) + { + hi2s->TxXferSize = (Size << 1U); + hi2s->TxXferCount = (Size << 1U); + + hi2s->RxXferSize = (Size << 1U); + hi2s->RxXferCount = (Size << 1U); + } + else + { + hi2s->TxXferSize = Size; + hi2s->TxXferCount = Size; + + hi2s->RxXferSize = Size; + hi2s->RxXferCount = Size; + } + + /* Set state and reset error code */ + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->State = HAL_I2S_STATE_BUSY_TX_RX; + hi2s->pTxBuffPtr = pTxData; + hi2s->pRxBuffPtr = pRxData; + + /* Check if the SPI2S is already enabled */ + if((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable I2S peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + if(IS_I2S_MASTER(hi2s->Init.Mode)) + { + hi2s->Instance->CR1 |= SPI_CR1_CSTART; + } + + /* Transmit and Receive data in 32 Bit mode */ + if (!isDataFormat16B) + { + while ((hi2s->TxXferCount > 0U) || (hi2s->RxXferCount > 0U)) + { + /* Check TXE flag */ + if ((hi2s->TxXferCount > 0U) && (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_TXE))) + { + *((__IO uint32_t *)&hi2s->Instance->TXDR) = *((uint32_t *)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint32_t); + hi2s->TxXferCount --; + } + + /* Check RXNE flag */ + if ((hi2s->RxXferCount > 0U) && (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_RXNE))) + { + *((uint32_t *)hi2s->pRxBuffPtr) = *((__IO uint32_t *)&hi2s->Instance->RXDR); + hi2s->pRxBuffPtr += sizeof(uint32_t); + hi2s->RxXferCount --; + } + + /* Timeout Management */ + if ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout)) + { + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); + HAL_I2S_ErrorCallback(hi2s); + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + } + } + /* Transmit and Receive data in 16 Bit mode */ + else + { + while ((hi2s->TxXferCount > 0U) || (hi2s->RxXferCount > 0U)) + { + /* Check TXE flag */ + if ((hi2s->TxXferCount > 0U) && (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_TXE))) + { + if ( (hi2s->TxXferCount > 1U) && (hi2s->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA)) + { + *((__IO uint32_t *)&hi2s->Instance->TXDR) = *((uint32_t *)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint32_t); + hi2s->TxXferCount-=2; + } + else + { + *((__IO uint16_t *)&hi2s->Instance->TXDR) = *((uint16_t *)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint16_t); + hi2s->TxXferCount--; + } + } + + /* Check RXNE flag */ + if ((hi2s->RxXferCount > 0U) && (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_RXNE))) + { + if (hi2s->Instance->SR & I2S_FLAG_RXWNE) + { + *((uint32_t *)hi2s->pRxBuffPtr) = *((__IO uint32_t *)&hi2s->Instance->RXDR); + hi2s->pRxBuffPtr += sizeof(uint32_t); + hi2s->RxXferCount-=2; + } + else + { + *((uint16_t *)hi2s->pRxBuffPtr) = *((__IO uint16_t *)&hi2s->Instance->RXDR); + hi2s->pRxBuffPtr += sizeof(uint16_t); + hi2s->RxXferCount--; + } + } + + /* Timeout Management */ + if ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout)) + { + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); + HAL_I2S_ErrorCallback(hi2s); + + /* Set the I2S State ready */ + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + } + } + + /* Wait until TXE flag is set, to confirm the end of the transaction */ + if (I2SEx_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_TXE, RESET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + hi2s->State = HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } +} + +/** + * @brief Transmit and Receive an amount of data in non-blocking mode with Interrupt + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pTxData: a 16-bit pointer to the Transmit data buffer. + * @param pRxData: a 16-bit pointer to the Receive data buffer. + * @param Size: number of data sample to be sent: + * @note When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S + * configuration phase, the Size parameter means the number of 16-bit data length + * in the transaction and when a 24-bit data frame or a 32-bit data frame is selected + * the Size parameter means the number of 16-bit data length. + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @note This function can use an Audio Frequency up to 48KHz when I2S Clock Source is 32MHz + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size) +{ + /* Check Mode parameter */ + assert_param(IS_I2S_FD_MODE(hi2s->Init.Mode)); + + /* Process Locked */ + __HAL_LOCK(hi2s); + + if((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) + { + __HAL_UNLOCK(hi2s); + return HAL_ERROR; + } + + if (hi2s->State == HAL_I2S_STATE_READY) + { + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } + + /* Set the transaction information */ + hi2s->State = HAL_I2S_STATE_BUSY_TX; + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + hi2s->pTxBuffPtr = pTxData; + hi2s->TxXferSize = Size; + hi2s->TxXferCount = Size; + + /* Init field not used in handle to zero */ + hi2s->pRxBuffPtr = pRxData; + hi2s->RxXferSize = Size; + hi2s->RxXferCount = Size; + + /* Set the function for IT treatment */ + if (hi2s->Init.DataFormat > I2S_DATAFORMAT_16B) + { + hi2s->RxISR = I2SEx_2linesRxISR_32BIT; + hi2s->TxISR = I2SEx_2linesTxISR_32BIT; + } + else + { + hi2s->RxISR = I2SEx_2linesRxISR_16BIT; + hi2s->TxISR = I2SEx_2linesTxISR_16BIT; + } + + /* Check if the I2S is already enabled */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + if (IS_I2S_MASTER(hi2s->Init.Mode)) + { + /* Master transfer start */ + SET_BIT(hi2s->Instance->CR1, SPI_CR1_CSTART); + } + + /* Enable TXE and ERR interrupt */ + __HAL_I2S_ENABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_RXNE | I2S_IT_ERR)); + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; +} + +/** + * @brief Transmit and Receive an amount of data in non-blocking mode with DMA + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param pTxData: a 16-bit pointer to the Transmit data buffer. + * @param pRxData: a 16-bit pointer to the Receive data buffer. + * @param Size: number of frames to be sent. + * @note The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization + * between Master and Slave(example: audio streaming). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size) +{ + /* Check Mode parameter */ + assert_param(IS_I2S_FD_MODE(hi2s->Init.Mode)); + + if((pTxData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hi2s); + + if(hi2s->State == HAL_I2S_STATE_READY) + { + hi2s->pTxBuffPtr = pTxData; + hi2s->pRxBuffPtr = pRxData; + hi2s->State = HAL_I2S_STATE_BUSY_TX_RX; + hi2s->ErrorCode = HAL_I2S_ERROR_NONE; + + if(((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_24B)||\ + ((hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN)) == I2S_DATAFORMAT_32B)) + { + hi2s->TxXferSize = (Size << 1U); + hi2s->TxXferCount = (Size << 1U); + + hi2s->RxXferSize = (Size << 1U); + hi2s->RxXferCount = (Size << 1U); + } + else + { + hi2s->TxXferSize = Size; + hi2s->TxXferCount = Size; + + hi2s->RxXferSize = Size; + hi2s->RxXferCount = Size; + } + + /* Set the I2S Rx DMA Half transfert complete callback */ + hi2s->hdmarx->XferHalfCpltCallback = I2SEx_DMATxRxHalfCplt; + + /* Set the I2S Rx DMA transfert complete callback */ + hi2s->hdmarx->XferCpltCallback = I2SEx_DMATxRxCplt; + + /* Set the DMA error callback */ + hi2s->hdmarx->XferErrorCallback = I2SEx_TxRxDMAError; + + /* Enable the Rx DMA Channel */ + HAL_DMA_Start_IT(hi2s->hdmarx, (uint32_t)&hi2s->Instance->RXDR, (uint32_t)hi2s->pRxBuffPtr, hi2s->RxXferSize); + + /* Check if the I2S Rx requests are already enabled */ + if(HAL_IS_BIT_CLR(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN)) + { + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable Rx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Enable Rx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + } + + /* Set the I2S Tx DMA transfer callbacks as NULL because the communication closing + is performed in DMA reception callbacks */ + hi2s->hdmatx->XferHalfCpltCallback = NULL; + hi2s->hdmatx->XferCpltCallback = NULL; + hi2s->hdmatx->XferErrorCallback = NULL; + + /* Enable the Tx DMA Channel */ + HAL_DMA_Start_IT(hi2s->hdmatx, (uint32_t)hi2s->pTxBuffPtr, (uint32_t)&hi2s->Instance->TXDR, hi2s->TxXferSize); + + /* Check if the I2S Tx requests are already enabled */ + if(HAL_IS_BIT_CLR(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN)) + { + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Enable Tx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Enable Tx/Rx DMA Request */ + SET_BIT(hi2s->Instance->CFG1, SPI_CFG1_TXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + return HAL_BUSY; + } +} + +/** + * @brief Tx/Rx Transfer half completed callbacks + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +__weak void HAL_I2SEx_TxRxHalfCpltCallback(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_RxHalfCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Tx/Rx Transfer completed callbacks + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @retval None + */ +__weak void HAL_I2SEx_TxRxCpltCallback(I2S_HandleTypeDef *hi2s) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hi2s); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_I2S_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup I2SEx_Private_Functions I2S Extended Private Functions + * @{ + */ + +/** + * @brief DMA I2S transmit receive process complete callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void I2SEx_DMATxRxCplt(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + if(((((DMA_Stream_TypeDef *)hdma->Instance)->CR) & DMA_SxCR_CIRC) == 0U) + { + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Disable Tx/Rx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Disable Rx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + hi2s->TxXferCount = 0U; + hi2s->RxXferCount = 0U; + hi2s->State = HAL_I2S_STATE_READY; + + if (hi2s->ErrorCode != HAL_I2S_ERROR_NONE) + { + HAL_I2S_ErrorCallback(hi2s); + return; + } + } + HAL_I2SEx_TxRxCpltCallback(hi2s); +} + +/** + * @brief DMA I2S transmit receive process half complete callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void I2SEx_DMATxRxHalfCplt(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_I2SEx_TxRxHalfCpltCallback(hi2s); +} + +/** + * @brief DMA I2S communication error callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void I2SEx_TxRxDMAError(DMA_HandleTypeDef *hdma) +{ + I2S_HandleTypeDef* hi2s = (I2S_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + /* Check if the SPI2S is disabled to edit CFG1 register */ + if ((hi2s->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Disable Rx and Tx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, (SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN)); + } + else + { + /* Disable SPI peripheral */ + __HAL_I2S_DISABLE(hi2s); + + /* Disable Rx and Tx DMA Request */ + CLEAR_BIT(hi2s->Instance->CFG1, (SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN)); + + /* Enable SPI peripheral */ + __HAL_I2S_ENABLE(hi2s); + } + + hi2s->TxXferCount = 0U; + hi2s->RxXferCount = 0U; + + hi2s->State= HAL_I2S_STATE_READY; + + /* Set the error code and execute error callback*/ + SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); + HAL_I2S_ErrorCallback(hi2s); +} + +/** + * @brief Rx 16-bit handler for Transmit and Receive in Interrupt mode. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module. + * @retval None + */ +static void I2SEx_2linesRxISR_16BIT(struct __I2S_HandleTypeDef *hi2s) +{ + /* Receive data in 16 Bit mode */ + *((uint16_t *)hi2s->pRxBuffPtr) = hi2s->Instance->RXDR; + hi2s->pRxBuffPtr += sizeof(uint16_t); + hi2s->RxXferCount--; + + if (hi2s->RxXferCount == 0U) + { + /* Disable RXNE interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, I2S_IT_RXNE); + + if (hi2s->TxXferCount == 0U) + { + I2SEx_CloseRxTx_ISR(hi2s); + } + } +} + +/** + * @brief Rx 32-bit handler for Transmit and Receive in Interrupt mode. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module. + * @retval None + */ +static void I2SEx_2linesRxISR_32BIT(struct __I2S_HandleTypeDef *hi2s) +{ + /* Receive data in 32 Bit mode */ + *((uint32_t *)hi2s->pRxBuffPtr) = hi2s->Instance->RXDR; + hi2s->pRxBuffPtr += sizeof(uint32_t); + hi2s->RxXferCount--; + + if (hi2s->RxXferCount == 0U) + { + /* Disable RXNE interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, I2S_IT_RXNE); + + if (hi2s->TxXferCount == 0U) + { + I2SEx_CloseRxTx_ISR(hi2s); + } + } +} + +/** + * @brief Tx 16-bit handler for Transmit and Receive in Interrupt mode. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module. + * @retval None + */ +static void I2SEx_2linesTxISR_16BIT(struct __I2S_HandleTypeDef *hi2s) +{ + /* Transmit data in 16 Bit mode */ + *((__IO uint16_t *)&hi2s->Instance->TXDR) = *((uint16_t *)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint16_t); + hi2s->TxXferCount--; + + /* Enable CRC Transmission */ + if (hi2s->TxXferCount == 0U) + { + /* Disable TXE interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, I2S_IT_TXE); + + if (hi2s->RxXferCount == 0U) + { + I2SEx_CloseRxTx_ISR(hi2s); + } + } +} + +/** + * @brief Tx 32-bit handler for Transmit and Receive in Interrupt mode. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module. + * @retval None + */ +static void I2SEx_2linesTxISR_32BIT(struct __I2S_HandleTypeDef *hi2s) +{ + /* Transmit data in 32 Bit mode */ + *((__IO uint32_t *)&hi2s->Instance->TXDR) = *((uint32_t *)hi2s->pTxBuffPtr); + hi2s->pTxBuffPtr += sizeof(uint32_t); + hi2s->TxXferCount--; + + /* Enable CRC Transmission */ + if (hi2s->TxXferCount == 0U) + { + /* Disable TXE interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, I2S_IT_TXE); + + if (hi2s->RxXferCount == 0U) + { + I2SEx_CloseRxTx_ISR(hi2s); + } + } +} + +/** + * @brief Handle the end of the RXTX transaction. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module. + * @retval None + */ +static void I2SEx_CloseRxTx_ISR(I2S_HandleTypeDef *hi2s) +{ + /* Disable ERR interrupt */ + __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_RXNE | I2S_IT_TXE | I2S_IT_ERR)); + + if (hi2s->ErrorCode == HAL_I2S_ERROR_NONE) + { + if (hi2s->State == HAL_I2S_STATE_BUSY_RX) + { + hi2s->State = HAL_I2S_STATE_READY; + HAL_I2S_RxCpltCallback(hi2s); + } + else + { + hi2s->State = HAL_I2S_STATE_READY; + HAL_I2SEx_TxRxCpltCallback(hi2s); + } + } + else + { + hi2s->State = HAL_I2S_STATE_READY; + HAL_I2S_ErrorCallback(hi2s); + } +} + +/** + * @brief This function handles I2S Communication Timeout. + * @param hi2s: pointer to a I2S_HandleTypeDef structure that contains + * the configuration information for I2S module + * @param Flag: Flag checked + * @param State: Value of the flag expected + * @param Timeout: Duration of the timeout + * @retval HAL status + */ +static HAL_StatusTypeDef I2SEx_WaitFlagStateUntilTimeout(I2S_HandleTypeDef *hi2s, uint32_t Flag, uint32_t State, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until flag is set */ + if(State == RESET) + { + while(__HAL_I2S_GET_FLAG(hi2s, Flag) == RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Set the I2S State ready */ + hi2s->State= HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_TIMEOUT; + } + } + } + } + else + { + while(__HAL_I2S_GET_FLAG(hi2s, Flag) != RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Set the I2S State ready */ + hi2s->State= HAL_I2S_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hi2s); + + return HAL_TIMEOUT; + } + } + } + } + return HAL_OK; +} + +/** + * @} + */ +#endif /* HAL_I2S_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_irda.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_irda.c new file mode 100644 index 0000000000..8448dbfe3a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_irda.c @@ -0,0 +1,2283 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_irda.c + * @author MCD Application Team + * @brief IRDA HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the IrDA (Infrared Data Association) Peripheral + * (IRDA) + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral State and Errors functions + * + Peripheral Control functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The IRDA HAL driver can be used as follows: + + (#) Declare a IRDA_HandleTypeDef handle structure (eg. IRDA_HandleTypeDef hirda). + (#) Initialize the IRDA low level resources by implementing the HAL_IRDA_MspInit() API + in setting the associated USART or UART in IRDA mode: + (++) Enable the USARTx/UARTx interface clock. + (++) USARTx/UARTx pins configuration: + (+++) Enable the clock for the USARTx/UARTx GPIOs. + (+++) Configure these USARTx/UARTx pins (TX as alternate function pull-up, RX as alternate function Input). + (++) NVIC configuration if you need to use interrupt process (HAL_IRDA_Transmit_IT() + and HAL_IRDA_Receive_IT() APIs): + (+++) Configure the USARTx/UARTx interrupt priority. + (+++) Enable the NVIC USARTx/UARTx IRQ handle. + (+++) The specific IRDA interrupts (Transmission complete interrupt, + RXNE interrupt and Error Interrupts) will be managed using the macros + __HAL_IRDA_ENABLE_IT() and __HAL_IRDA_DISABLE_IT() inside the transmit and receive process. + + (++) DMA Configuration if you need to use DMA process (HAL_IRDA_Transmit_DMA() + and HAL_IRDA_Receive_DMA() APIs): + (+++) Declare a DMA handle structure for the Tx/Rx channel. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. + (+++) Configure the DMA Tx/Rx channel. + (+++) Associate the initialized DMA handle to the IRDA DMA Tx/Rx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the DMA Tx/Rx channel. + + (#) Program the Baud Rate, Word Length and Parity and Mode(Receiver/Transmitter), + the normal or low power mode and the clock prescaler in the hirda handle Init structure. + + (#) Initialize the IRDA registers by calling the HAL_IRDA_Init() API: + (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc) + by calling the customized HAL_IRDA_MspInit() API. + + -@@- The specific IRDA interrupts (Transmission complete interrupt, + RXNE interrupt and Error Interrupts) will be managed using the macros + __HAL_IRDA_ENABLE_IT() and __HAL_IRDA_DISABLE_IT() inside the transmit and receive process. + + (#) Three operation modes are available within this driver : + + *** Polling mode IO operation *** + ================================= + [..] + (+) Send an amount of data in blocking mode using HAL_IRDA_Transmit() + (+) Receive an amount of data in blocking mode using HAL_IRDA_Receive() + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Send an amount of data in non-blocking mode using HAL_IRDA_Transmit_IT() + (+) At transmission end of transfer HAL_IRDA_TxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_IRDA_TxCpltCallback() + (+) Receive an amount of data in non-blocking mode using HAL_IRDA_Receive_IT() + (+) At reception end of transfer HAL_IRDA_RxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_IRDA_RxCpltCallback() + (+) In case of transfer Error, HAL_IRDA_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_IRDA_ErrorCallback() + + *** DMA mode IO operation *** + ============================== + [..] + (+) Send an amount of data in non-blocking mode (DMA) using HAL_IRDA_Transmit_DMA() + (+) At transmission half of transfer HAL_IRDA_TxHalfCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_IRDA_TxHalfCpltCallback() + (+) At transmission end of transfer HAL_IRDA_TxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_IRDA_TxCpltCallback() + (+) Receive an amount of data in non-blocking mode (DMA) using HAL_IRDA_Receive_DMA() + (+) At reception half of transfer HAL_IRDA_RxHalfCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_IRDA_RxHalfCpltCallback() + (+) At reception end of transfer HAL_IRDA_RxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_IRDA_RxCpltCallback() + (+) In case of transfer Error, HAL_IRDA_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_IRDA_ErrorCallback() + + *** IRDA HAL driver macros list *** + ==================================== + [..] + Below the list of most used macros in IRDA HAL driver. + + (+) __HAL_IRDA_ENABLE: Enable the IRDA peripheral + (+) __HAL_IRDA_DISABLE: Disable the IRDA peripheral + (+) __HAL_IRDA_GET_FLAG : Check whether the specified IRDA flag is set or not + (+) __HAL_IRDA_CLEAR_FLAG : Clear the specified IRDA pending flag + (+) __HAL_IRDA_ENABLE_IT: Enable the specified IRDA interrupt + (+) __HAL_IRDA_DISABLE_IT: Disable the specified IRDA interrupt + (+) __HAL_IRDA_GET_IT_SOURCE: Check whether or not the specified IRDA interrupt is enabled + + [..] + (@) You can refer to the IRDA HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup IRDA IRDA + * @brief HAL IRDA module driver + * @{ + */ + +#ifdef HAL_IRDA_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup IRDA_Private_Constants IRDA Private Constants + * @{ + */ +#define IRDA_TEACK_REACK_TIMEOUT 1000 /*!< IRDA TX or RX enable acknowledge time-out value */ +#define IRDA_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE \ + | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE)) /*!< UART or USART CR1 fields of parameters set by IRDA_SetConfig API */ +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup IRDA_Private_Functions + * @{ + */ +static HAL_StatusTypeDef IRDA_SetConfig(IRDA_HandleTypeDef *hirda); +static HAL_StatusTypeDef IRDA_CheckIdleState(IRDA_HandleTypeDef *hirda); +static HAL_StatusTypeDef IRDA_WaitOnFlagUntilTimeout(IRDA_HandleTypeDef *hirda, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout); +static void IRDA_EndTxTransfer(IRDA_HandleTypeDef *hirda); +static void IRDA_EndRxTransfer(IRDA_HandleTypeDef *hirda); +static void IRDA_DMATransmitCplt(DMA_HandleTypeDef *hdma); +static void IRDA_DMATransmitHalfCplt(DMA_HandleTypeDef *hdma); +static void IRDA_DMAReceiveCplt(DMA_HandleTypeDef *hdma); +static void IRDA_DMAReceiveHalfCplt(DMA_HandleTypeDef *hdma); +static void IRDA_DMAError(DMA_HandleTypeDef *hdma); +static void IRDA_DMAAbortOnError(DMA_HandleTypeDef *hdma); +static void IRDA_DMATxAbortCallback(DMA_HandleTypeDef *hdma); +static void IRDA_DMARxAbortCallback(DMA_HandleTypeDef *hdma); +static void IRDA_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); +static void IRDA_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); +static HAL_StatusTypeDef IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda); +static HAL_StatusTypeDef IRDA_EndTransmit_IT(IRDA_HandleTypeDef *hirda); +static HAL_StatusTypeDef IRDA_Receive_IT(IRDA_HandleTypeDef *hirda); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup IRDA_Exported_Functions IRDA Exported Functions + * @{ + */ + +/** @defgroup IRDA_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and Configuration functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the USARTx + in asynchronous IRDA mode. + (+) For the asynchronous mode only these parameters can be configured: + (++) Baud Rate + (++) Word Length + (++) Parity: If the parity is enabled, then the MSB bit of the data written + in the data register is transmitted but is changed by the parity bit. + (++) Power mode + (++) Prescaler setting + (++) Receiver/transmitter modes + + [..] + The HAL_IRDA_Init() API follows the USART asynchronous configuration procedures + (details for the procedures are available in reference manual). + +@endverbatim + + Depending on the frame length defined by the M1 and M0 bits (7-bit, + 8-bit or 9-bit), the possible IRDA frame formats are listed in the + following table. + + Table 1. IRDA frame format. + +-----------------------------------------------------------------------+ + | M1 bit | M0 bit | PCE bit | IRDA frame | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 0 | | SB | 8 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 0 | | SB | 9 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 0 | | SB | 7 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | + +-----------------------------------------------------------------------+ + + * @{ + */ + +/** + * @brief Initialize the IRDA mode according to the specified + * parameters in the IRDA_InitTypeDef and initialize the associated handle. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_Init(IRDA_HandleTypeDef *hirda) +{ + /* Check the IRDA handle allocation */ + if(hirda == NULL) + { + return HAL_ERROR; + } + + /* Check the USART/UART associated to the IRDA handle */ + assert_param(IS_IRDA_INSTANCE(hirda->Instance)); + + if(hirda->gState == HAL_IRDA_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hirda->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_IRDA_MspInit(hirda); + } + + hirda->gState = HAL_IRDA_STATE_BUSY; + + /* Disable the Peripheral to update the configuration registers */ + __HAL_IRDA_DISABLE(hirda); + + /* Set the IRDA Communication parameters */ + if (IRDA_SetConfig(hirda) == HAL_ERROR) + { + return HAL_ERROR; + } + + /* In IRDA mode, the following bits must be kept cleared: + - LINEN, STOP and CLKEN bits in the USART_CR2 register, + - SCEN and HDSEL bits in the USART_CR3 register.*/ + CLEAR_BIT(hirda->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN | USART_CR2_STOP)); + CLEAR_BIT(hirda->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL)); + + /* set the UART/USART in IRDA mode */ + hirda->Instance->CR3 |= USART_CR3_IREN; + + /* Enable the Peripheral */ + __HAL_IRDA_ENABLE(hirda); + + /* TEACK and/or REACK to check before moving hirda->gState and hirda->RxState to Ready */ + return (IRDA_CheckIdleState(hirda)); +} + +/** + * @brief DeInitialize the IRDA peripheral. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_DeInit(IRDA_HandleTypeDef *hirda) +{ + /* Check the IRDA handle allocation */ + if(hirda == NULL) + { + return HAL_ERROR; + } + + /* Check the USART/UART associated to the IRDA handle */ + assert_param(IS_IRDA_INSTANCE(hirda->Instance)); + + hirda->gState = HAL_IRDA_STATE_BUSY; + + /* DeInit the low level hardware */ + HAL_IRDA_MspDeInit(hirda); + /* Disable the Peripheral */ + __HAL_IRDA_DISABLE(hirda); + + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + hirda->gState = HAL_IRDA_STATE_RESET; + hirda->RxState = HAL_IRDA_STATE_RESET; + + /* Process Unlock */ + __HAL_UNLOCK(hirda); + + return HAL_OK; +} + +/** + * @brief Initialize the IRDA MSP. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_MspInit(IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_IRDA_MspInit can be implemented in the user file + */ +} + +/** + * @brief DeInitialize the IRDA MSP. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_MspDeInit(IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_IRDA_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup IRDA_Exported_Functions_Group2 IO operation functions + * @brief IRDA Transmit and Receive functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to manage the IRDA data transfers. + + [..] + IrDA is a half duplex communication protocol. If the Transmitter is busy, any data + on the IrDA receive line will be ignored by the IrDA decoder and if the Receiver + is busy, data on the TX from the USART to IrDA will not be encoded by IrDA. + While receiving data, transmission should be avoided as the data to be transmitted + could be corrupted. + + (#) There are two modes of transfer: + (++) Blocking mode: the communication is performed in polling mode. + The HAL status of all data processing is returned by the same function + after finishing transfer. + (++) Non-Blocking mode: the communication is performed using Interrupts + or DMA, these API's return the HAL status. + The end of the data processing will be indicated through the + dedicated IRDA IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + The HAL_IRDA_TxCpltCallback(), HAL_IRDA_RxCpltCallback() user callbacks + will be executed respectively at the end of the Transmit or Receive process + The HAL_IRDA_ErrorCallback() user callback will be executed when a communication error is detected + + (#) Blocking mode APIs are : + (++) HAL_IRDA_Transmit() + (++) HAL_IRDA_Receive() + + (#) Non Blocking mode APIs with Interrupt are : + (++) HAL_IRDA_Transmit_IT() + (++) HAL_IRDA_Receive_IT() + (++) HAL_IRDA_IRQHandler() + + (#) Non Blocking mode functions with DMA are : + (++) HAL_IRDA_Transmit_DMA() + (++) HAL_IRDA_Receive_DMA() + (++) HAL_IRDA_DMAPause() + (++) HAL_IRDA_DMAResume() + (++) HAL_IRDA_DMAStop() + + (#) A set of Transfer Complete Callbacks are provided in Non Blocking mode: + (++) HAL_IRDA_TxHalfCpltCallback() + (++) HAL_IRDA_TxCpltCallback() + (++) HAL_IRDA_RxHalfCpltCallback() + (++) HAL_IRDA_RxCpltCallback() + (++) HAL_IRDA_ErrorCallback() + + (#) Non-Blocking mode transfers could be aborted using Abort API's : + (+) HAL_IRDA_Abort() + (+) HAL_IRDA_AbortTransmit() + (+) HAL_IRDA_AbortReceive() + (+) HAL_IRDA_Abort_IT() + (+) HAL_IRDA_AbortTransmit_IT() + (+) HAL_IRDA_AbortReceive_IT() + + (#) For Abort services based on interrupts (HAL_IRDA_Abortxxx_IT), a set of Abort Complete Callbacks are provided: + (+) HAL_IRDA_AbortCpltCallback() + (+) HAL_IRDA_AbortTransmitCpltCallback() + (+) HAL_IRDA_AbortReceiveCpltCallback() + + (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. + Errors are handled as follows : + (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but error severity is + to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Interrupt mode reception . + Received character is then retrieved and stored in Rx buffer, Error code is set to allow user to identify error type, + and HAL_IRDA_ErrorCallback() user callback is executed. Transfer is kept ongoing on IRDA side. + If user wants to abort it, Abort services should be called by user. + (+) Error is considered as Blocking : Transfer could not be completed properly and is aborted. + This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. + Error code is set to allow user to identify error type, and HAL_IRDA_ErrorCallback() user callback is executed. + +@endverbatim + * @{ + */ + +/** + * @brief Send an amount of data in blocking mode. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @param pData: Pointer to data buffer. + * @param Size: Amount of data to be sent. + * @param Timeout: Specify timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_Transmit(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint16_t* tmp; + uint32_t tickstart = 0U; + + /* Check that a Tx process is not already ongoing */ + if(hirda->gState == HAL_IRDA_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hirda); + + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + hirda->gState = HAL_IRDA_STATE_BUSY_TX; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + hirda->TxXferSize = Size; + hirda->TxXferCount = Size; + while(hirda->TxXferCount > 0) + { + hirda->TxXferCount--; + + if(IRDA_WaitOnFlagUntilTimeout(hirda, IRDA_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + if ((hirda->Init.WordLength == IRDA_WORDLENGTH_9B) && (hirda->Init.Parity == IRDA_PARITY_NONE)) + { + tmp = (uint16_t*) pData; + hirda->Instance->TDR = (*tmp & (uint16_t)0x01FF); + pData += 2; + } + else + { + hirda->Instance->TDR = (*pData++ & (uint8_t)0xFF); + } + } + + if(IRDA_WaitOnFlagUntilTimeout(hirda, IRDA_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* At end of Tx process, restore hirda->gState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in blocking mode. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @param pData: Pointer to data buffer. + * @param Size: Amount of data to be received. + * @param Timeout: Specify timeout value. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_Receive(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint16_t* tmp; + uint16_t uhMask; + uint32_t tickstart = 0U; + + /* Check that a Rx process is not already ongoing */ + if(hirda->RxState == HAL_IRDA_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hirda); + + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + hirda->RxState = HAL_IRDA_STATE_BUSY_RX; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + hirda->RxXferSize = Size; + hirda->RxXferCount = Size; + + /* Computation of the mask to apply to the RDR register + of the UART associated to the IRDA */ + IRDA_MASK_COMPUTATION(hirda); + uhMask = hirda->Mask; + + /* Check data remaining to be received */ + while(hirda->RxXferCount > 0) + { + hirda->RxXferCount--; + + if(IRDA_WaitOnFlagUntilTimeout(hirda, IRDA_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + if ((hirda->Init.WordLength == IRDA_WORDLENGTH_9B) && (hirda->Init.Parity == IRDA_PARITY_NONE)) + { + tmp = (uint16_t*) pData ; + *tmp = (uint16_t)(hirda->Instance->RDR & uhMask); + pData +=2; + } + else + { + *pData++ = (uint8_t)(hirda->Instance->RDR & (uint8_t)uhMask); + } + } + + /* At end of Rx process, restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Send an amount of data in interrupt mode. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @param pData: Pointer to data buffer. + * @param Size: Amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size) +{ + /* Check that a Tx process is not already ongoing */ + if(hirda->gState == HAL_IRDA_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hirda); + + hirda->pTxBuffPtr = pData; + hirda->TxXferSize = Size; + hirda->TxXferCount = Size; + + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + hirda->gState = HAL_IRDA_STATE_BUSY_TX; + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + /* Enable the IRDA Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Enable the IRDA Transmit Data Register Empty Interrupt */ + SET_BIT(hirda->Instance->CR1, USART_CR1_TXEIE); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in interrupt mode. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @param pData: Pointer to data buffer. + * @param Size: Amount of data to be received. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_Receive_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size) +{ + /* Check that a Rx process is not already ongoing */ + if(hirda->RxState == HAL_IRDA_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hirda); + + hirda->pRxBuffPtr = pData; + hirda->RxXferSize = Size; + hirda->RxXferCount = Size; + + /* Computation of the mask to apply to the RDR register + of the UART associated to the IRDA */ + IRDA_MASK_COMPUTATION(hirda); + + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + hirda->RxState = HAL_IRDA_STATE_BUSY_RX; + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + /* Enable the IRDA Parity Error and Data Register not empty Interrupts */ + SET_BIT(hirda->Instance->CR1, USART_CR1_PEIE| USART_CR1_RXNEIE); + + /* Enable the IRDA Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Send an amount of data in DMA mode. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @param pData: pointer to data buffer. + * @param Size: amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_Transmit_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size) +{ + /* Check that a Tx process is not already ongoing */ + if(hirda->gState == HAL_IRDA_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hirda); + + hirda->pTxBuffPtr = pData; + hirda->TxXferSize = Size; + hirda->TxXferCount = Size; + + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + hirda->gState = HAL_IRDA_STATE_BUSY_TX; + + /* Set the IRDA DMA transfer complete callback */ + hirda->hdmatx->XferCpltCallback = IRDA_DMATransmitCplt; + + /* Set the IRDA DMA half transfer complete callback */ + hirda->hdmatx->XferHalfCpltCallback = IRDA_DMATransmitHalfCplt; + + /* Set the DMA error callback */ + hirda->hdmatx->XferErrorCallback = IRDA_DMAError; + + /* Set the DMA abort callback */ + hirda->hdmatx->XferAbortCallback = NULL; + + /* Enable the IRDA transmit DMA channel */ + HAL_DMA_Start_IT(hirda->hdmatx, (uint32_t)hirda->pTxBuffPtr, (uint32_t)&hirda->Instance->TDR, Size); + + /* Clear the TC flag in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_TCF); + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + /* Enable the DMA transfer for transmit request by setting the DMAT bit + in the USART CR3 register */ + SET_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in DMA mode. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @param pData: Pointer to data buffer. + * @param Size: Amount of data to be received. + * @note When the IRDA parity is enabled (PCE = 1) the received data contains + * the parity bit (MSB position). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_Receive_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size) +{ + /* Check that a Rx process is not already ongoing */ + if(hirda->RxState == HAL_IRDA_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hirda); + + hirda->pRxBuffPtr = pData; + hirda->RxXferSize = Size; + + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + hirda->RxState = HAL_IRDA_STATE_BUSY_RX; + + /* Set the IRDA DMA transfer complete callback */ + hirda->hdmarx->XferCpltCallback = IRDA_DMAReceiveCplt; + + /* Set the IRDA DMA half transfer complete callback */ + hirda->hdmarx->XferHalfCpltCallback = IRDA_DMAReceiveHalfCplt; + + /* Set the DMA error callback */ + hirda->hdmarx->XferErrorCallback = IRDA_DMAError; + + /* Set the DMA abort callback */ + hirda->hdmarx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hirda->hdmarx, (uint32_t)&hirda->Instance->RDR, (uint32_t)hirda->pRxBuffPtr, Size); + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + /* Enable the IRDA Parity Error Interrupt */ + SET_BIT(hirda->Instance->CR1, USART_CR1_PEIE); + + /* Enable the IRDA Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Enable the DMA transfer for the receiver request by setting the DMAR bit + in the USART CR3 register */ + SET_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + + +/** + * @brief Pause the DMA Transfer. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda) +{ + /* Process Locked */ + __HAL_LOCK(hirda); + + if ((hirda->gState == HAL_IRDA_STATE_BUSY_TX) && + (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT))) + { + /* Disable the IRDA DMA Tx request */ + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + } + if ((hirda->RxState == HAL_IRDA_STATE_BUSY_RX) && + (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR))) + { + /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hirda->Instance->CR1, USART_CR1_PEIE); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Disable the IRDA DMA Rx request */ + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + return HAL_OK; +} + +/** + * @brief Resume the DMA Transfer. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda) +{ + /* Process Locked */ + __HAL_LOCK(hirda); + + if(hirda->gState == HAL_IRDA_STATE_BUSY_TX) + { + /* Enable the IRDA DMA Tx request */ + SET_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + } + if(hirda->RxState == HAL_IRDA_STATE_BUSY_RX) + { + /* Clear the Overrun flag before resuming the Rx transfer*/ + __HAL_IRDA_CLEAR_OREFLAG(hirda); + + /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */ + SET_BIT(hirda->Instance->CR1, USART_CR1_PEIE); + SET_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Enable the IRDA DMA Rx request */ + SET_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + return HAL_OK; +} + +/** + * @brief Stop the DMA Transfer. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda) +{ + /* The Lock is not implemented on this API to allow the user application + to call the HAL IRDA API under callbacks HAL_IRDA_TxCpltCallback() / HAL_IRDA_RxCpltCallback() / + HAL_IRDA_TxHalfCpltCallback / HAL_IRDA_RxHalfCpltCallback: + indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete + interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of + the stream and the corresponding call back is executed. */ + + /* Stop IRDA DMA Tx request if ongoing */ + if ((hirda->gState == HAL_IRDA_STATE_BUSY_TX) && + (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT))) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + + /* Abort the IRDA DMA Tx channel */ + if(hirda->hdmatx != NULL) + { + HAL_DMA_Abort(hirda->hdmatx); + } + + IRDA_EndTxTransfer(hirda); + } + + /* Stop IRDA DMA Rx request if ongoing */ + if ((hirda->RxState == HAL_IRDA_STATE_BUSY_RX) && + (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR))) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + /* Abort the IRDA DMA Rx channel */ + if(hirda->hdmarx != NULL) + { + HAL_DMA_Abort(hirda->hdmarx); + } + + IRDA_EndRxTransfer(hirda); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing transfers (blocking mode). + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified UART module. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable IRDA Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_IRDA_Abort(IRDA_HandleTypeDef *hirda) +{ + /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Disable the IRDA DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + + /* Abort the IRDA DMA Tx channel : use blocking DMA Abort API (no callback) */ + if(hirda->hdmatx != NULL) + { + /* Set the IRDA DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hirda->hdmatx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hirda->hdmatx); + } + } + + /* Disable the IRDA DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + /* Abort the IRDA DMA Rx channel : use blocking DMA Abort API (no callback) */ + if(hirda->hdmarx != NULL) + { + /* Set the IRDA DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hirda->hdmarx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hirda->hdmarx); + } + } + + /* Reset Tx and Rx transfer counters */ + hirda->TxXferCount = 0; + hirda->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->gState and hirda->RxState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + hirda->RxState = HAL_IRDA_STATE_READY; + + /* Reset Handle ErrorCode to No Error */ + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + return HAL_OK; +} + +/** + * @brief Abort ongoing Transmit transfer (blocking mode). + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified UART module. + * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable IRDA Interrupts (Tx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_IRDA_AbortTransmit(IRDA_HandleTypeDef *hirda) +{ + /* Disable TXEIE and TCIE interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + + /* Disable the IRDA DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + + /* Abort the IRDA DMA Tx channel : use blocking DMA Abort API (no callback) */ + if(hirda->hdmatx != NULL) + { + /* Set the IRDA DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hirda->hdmatx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hirda->hdmatx); + } + } + + /* Reset Tx transfer counter */ + hirda->TxXferCount = 0; + + /* Restore hirda->gState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Abort ongoing Receive transfer (blocking mode). + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified UART module. + * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable IRDA Interrupts (Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_IRDA_AbortReceive(IRDA_HandleTypeDef *hirda) +{ + /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Disable the IRDA DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + /* Abort the IRDA DMA Rx channel : use blocking DMA Abort API (no callback) */ + if(hirda->hdmarx != NULL) + { + /* Set the IRDA DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hirda->hdmarx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hirda->hdmarx); + } + } + + /* Reset Rx transfer counter */ + hirda->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Abort ongoing transfers (Interrupt mode). + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified UART module. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable IRDA Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_IRDA_Abort_IT(IRDA_HandleTypeDef *hirda) +{ + uint32_t abortcplt = 1; + + /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* If DMA Tx and/or DMA Rx Handles are associated to IRDA Handle, DMA Abort complete callbacks should be initialised + before any call to DMA Abort functions */ + /* DMA Tx Handle is valid */ + if(hirda->hdmatx != NULL) + { + /* Set DMA Abort Complete callback if IRDA DMA Tx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT)) + { + hirda->hdmatx->XferAbortCallback = IRDA_DMATxAbortCallback; + } + else + { + hirda->hdmatx->XferAbortCallback = NULL; + } + } + /* DMA Rx Handle is valid */ + if(hirda->hdmarx != NULL) + { + /* Set DMA Abort Complete callback if IRDA DMA Rx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR)) + { + hirda->hdmarx->XferAbortCallback = IRDA_DMARxAbortCallback; + } + else + { + hirda->hdmarx->XferAbortCallback = NULL; + } + } + + /* Disable the IRDA DMA Tx request if enabled */ + if(HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT)) + { + /* Disable DMA Tx at UART level */ + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + + /* Abort the IRDA DMA Tx channel : use non blocking DMA Abort API (callback) */ + if(hirda->hdmatx != NULL) + { + /* IRDA Tx DMA Abort callback has already been initialised : + will lead to call HAL_IRDA_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(hirda->hdmatx) != HAL_OK) + { + hirda->hdmatx->XferAbortCallback = NULL; + } + else + { + abortcplt = 0; + } + } + } + + /* Disable the IRDA DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + /* Abort the IRDA DMA Rx channel : use non blocking DMA Abort API (callback) */ + if(hirda->hdmarx != NULL) + { + /* IRDA Rx DMA Abort callback has already been initialised : + will lead to call HAL_IRDA_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hirda->hdmarx) != HAL_OK) + { + hirda->hdmarx->XferAbortCallback = NULL; + abortcplt = 1; + } + else + { + abortcplt = 0; + } + } + } + + /* if no DMA abort complete callback execution is required => call user Abort Complete callback */ + if (abortcplt == 1) + { + /* Reset Tx and Rx transfer counters */ + hirda->TxXferCount = 0; + hirda->RxXferCount = 0; + + /* Reset errorCode */ + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->gState and hirda->RxState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + hirda->RxState = HAL_IRDA_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_IRDA_AbortCpltCallback(hirda); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing Transmit transfer (Interrupt mode). + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified UART module. + * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable IRDA Interrupts (Tx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_IRDA_AbortTransmit_IT(IRDA_HandleTypeDef *hirda) +{ + /* Disable TXEIE and TCIE interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + + /* Disable the IRDA DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + + /* Abort the IRDA DMA Tx channel : use non blocking DMA Abort API (callback) */ + if(hirda->hdmatx != NULL) + { + /* Set the IRDA DMA Abort callback : + will lead to call HAL_IRDA_AbortCpltCallback() at end of DMA abort procedure */ + hirda->hdmatx->XferAbortCallback = IRDA_DMATxOnlyAbortCallback; + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(hirda->hdmatx) != HAL_OK) + { + /* Call Directly hirda->hdmatx->XferAbortCallback function in case of error */ + hirda->hdmatx->XferAbortCallback(hirda->hdmatx); + } + } + else + { + /* Reset Tx transfer counter */ + hirda->TxXferCount = 0; + + /* Restore hirda->gState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_IRDA_AbortTransmitCpltCallback(hirda); + } + } + else + { + /* Reset Tx transfer counter */ + hirda->TxXferCount = 0; + + /* Restore hirda->gState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_IRDA_AbortTransmitCpltCallback(hirda); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing Receive transfer (Interrupt mode). + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified UART module. + * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable IRDA Interrupts (Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_IRDA_AbortReceive_IT(IRDA_HandleTypeDef *hirda) +{ + /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Disable the IRDA DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + /* Abort the IRDA DMA Rx channel : use non blocking DMA Abort API (callback) */ + if(hirda->hdmarx != NULL) + { + /* Set the IRDA DMA Abort callback : + will lead to call HAL_IRDA_AbortCpltCallback() at end of DMA abort procedure */ + hirda->hdmarx->XferAbortCallback = IRDA_DMARxOnlyAbortCallback; + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hirda->hdmarx) != HAL_OK) + { + /* Call Directly hirda->hdmarx->XferAbortCallback function in case of error */ + hirda->hdmarx->XferAbortCallback(hirda->hdmarx); + } + } + else + { + /* Reset Rx transfer counter */ + hirda->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_IRDA_AbortReceiveCpltCallback(hirda); + } + } + else + { + /* Reset Rx transfer counter */ + hirda->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_IRDA_AbortReceiveCpltCallback(hirda); + } + + return HAL_OK; +} + +/** + * @brief Handle IRDA interrupt request. + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +void HAL_IRDA_IRQHandler(IRDA_HandleTypeDef *hirda) +{ + uint32_t isrflags = READ_REG(hirda->Instance->ISR); + uint32_t cr1its = READ_REG(hirda->Instance->CR1); + uint32_t cr3its; + uint32_t errorflags; + + /* If no error occurs */ + errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE)); + if (errorflags == RESET) + { + /* IRDA in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET)) + { + IRDA_Receive_IT(hirda); + return; + } + } + + /* If some errors occur */ + cr3its = READ_REG(hirda->Instance->CR3); + if( (errorflags != RESET) + && ( ((cr3its & USART_CR3_EIE) != RESET) + || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)) ) + { + /* IRDA parity error interrupt occurred -------------------------------------*/ + if(((isrflags & USART_ISR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET)) + { + __HAL_IRDA_CLEAR_IT(hirda, IRDA_CLEAR_PEF); + + hirda->ErrorCode |= HAL_IRDA_ERROR_PE; + } + + /* IRDA frame error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_IRDA_CLEAR_IT(hirda, IRDA_CLEAR_FEF); + + hirda->ErrorCode |= HAL_IRDA_ERROR_FE; + } + + /* IRDA noise error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_IRDA_CLEAR_IT(hirda, IRDA_CLEAR_NEF); + + hirda->ErrorCode |= HAL_IRDA_ERROR_NE; + } + + /* IRDA Over-Run interrupt occurred -----------------------------------------*/ + if(((isrflags & USART_ISR_ORE) != RESET) && + (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET))) + { + __HAL_IRDA_CLEAR_IT(hirda, IRDA_CLEAR_OREF); + + hirda->ErrorCode |= HAL_IRDA_ERROR_ORE; + } + + /* Call IRDA Error Call back function if need be --------------------------*/ + if(hirda->ErrorCode != HAL_IRDA_ERROR_NONE) + { + /* IRDA in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET)) + { + IRDA_Receive_IT(hirda); + } + + /* If Overrun error occurs, or if any error occurs in DMA mode reception, + consider error as blocking */ + if (((hirda->ErrorCode & HAL_IRDA_ERROR_ORE) != RESET) || + (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR))) + { + /* Blocking error : transfer is aborted + Set the IRDA state ready to be able to start again the process, + Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ + IRDA_EndRxTransfer(hirda); + + /* Disable the IRDA DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + /* Abort the IRDA DMA Rx channel */ + if(hirda->hdmarx != NULL) + { + /* Set the IRDA DMA Abort callback : + will lead to call HAL_IRDA_ErrorCallback() at end of DMA abort procedure */ + hirda->hdmarx->XferAbortCallback = IRDA_DMAAbortOnError; + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hirda->hdmarx) != HAL_OK) + { + /* Call Directly hirda->hdmarx->XferAbortCallback function in case of error */ + hirda->hdmarx->XferAbortCallback(hirda->hdmarx); + } + } + else + { + /* Call user error callback */ + HAL_IRDA_ErrorCallback(hirda); + } + } + else + { + /* Call user error callback */ + HAL_IRDA_ErrorCallback(hirda); + } + } + else + { + /* Non Blocking error : transfer could go on. + Error is notified to user through user error callback */ + HAL_IRDA_ErrorCallback(hirda); + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + } + } + return; + + } /* End if some error occurs */ + + /* IRDA in mode Transmitter ------------------------------------------------*/ + if(((isrflags & USART_ISR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET)) + { + IRDA_Transmit_IT(hirda); + return; + } + + /* IRDA in mode Transmitter (transmission end) -----------------------------*/ + if(((isrflags & USART_ISR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET)) + { + IRDA_EndTransmit_IT(hirda); + return; + } + +} + +/** + * @brief Tx Transfer completed callback. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_TxCpltCallback(IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_IRDA_TxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Tx Half Transfer completed callback. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified USART module. + * @retval None + */ +__weak void HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_IRDA_TxHalfCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_RxCpltCallback(IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_IRDA_RxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Rx Half Transfer complete callback. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_IRDA_RxHalfCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief IRDA error callback. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ + __weak void HAL_IRDA_ErrorCallback(IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_IRDA_ErrorCallback can be implemented in the user file. + */ +} + +/** + * @brief IRDA Abort Complete callback. + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_AbortCpltCallback (IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_IRDA_AbortCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief IRDA Abort Complete callback. + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_AbortTransmitCpltCallback (IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_IRDA_AbortTransmitCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief IRDA Abort Receive Complete callback. + * @param hirda Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +__weak void HAL_IRDA_AbortReceiveCpltCallback (IRDA_HandleTypeDef *hirda) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hirda); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_IRDA_AbortReceiveCpltCallback can be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup IRDA_Exported_Functions_Group4 Peripheral State and Error functions + * @brief IRDA State and Errors functions + * +@verbatim + ============================================================================== + ##### Peripheral State and Error functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to return the State of IrDA + communication process and also return Peripheral Errors occurred during communication process + (+) HAL_IRDA_GetState() API can be helpful to check in run-time the state + of the IRDA peripheral handle. + (+) HAL_IRDA_GetError() checks in run-time errors that could occur during + communication. + +@endverbatim + * @{ + */ + +/** + * @brief Return the IRDA handle state. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL state + */ +HAL_IRDA_StateTypeDef HAL_IRDA_GetState(IRDA_HandleTypeDef *hirda) +{ + /* Return IRDA handle state */ + uint32_t temp1= 0x00, temp2 = 0x00; + temp1 = hirda->gState; + temp2 = hirda->RxState; + + return (HAL_IRDA_StateTypeDef)(temp1 | temp2); +} + +/** + * @brief Return the IRDA handle error code. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval IRDA Error Code + */ +uint32_t HAL_IRDA_GetError(IRDA_HandleTypeDef *hirda) +{ + return hirda->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup IRDA_Private_Functions IRDA Private Functions + * @{ + */ + +/** + * @brief Configure the IRDA peripheral. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval None + */ +static HAL_StatusTypeDef IRDA_SetConfig(IRDA_HandleTypeDef *hirda) +{ + uint32_t tmpreg = 0x00000000; + IRDA_ClockSourceTypeDef clocksource = IRDA_CLOCKSOURCE_UNDEFINED; + HAL_StatusTypeDef ret = HAL_OK; + PLL2_ClocksTypeDef pll2_clocks; + PLL3_ClocksTypeDef pll3_clocks; + + /* Check the communication parameters */ + assert_param(IS_IRDA_BAUDRATE(hirda->Init.BaudRate)); + assert_param(IS_IRDA_WORD_LENGTH(hirda->Init.WordLength)); + assert_param(IS_IRDA_PARITY(hirda->Init.Parity)); + assert_param(IS_IRDA_TX_RX_MODE(hirda->Init.Mode)); + assert_param(IS_IRDA_PRESCALER(hirda->Init.Prescaler)); + assert_param(IS_IRDA_POWERMODE(hirda->Init.PowerMode)); + + /*-------------------------- USART CR1 Configuration -----------------------*/ + /* Configure the IRDA Word Length, Parity and transfer Mode: + Set the M bits according to hirda->Init.WordLength value + Set PCE and PS bits according to hirda->Init.Parity value + Set TE and RE bits according to hirda->Init.Mode value */ + tmpreg = (uint32_t)hirda->Init.WordLength | hirda->Init.Parity | hirda->Init.Mode ; + + MODIFY_REG(hirda->Instance->CR1, IRDA_CR1_FIELDS, tmpreg); + + /*-------------------------- USART CR3 Configuration -----------------------*/ + MODIFY_REG(hirda->Instance->CR3, USART_CR3_IRLP, hirda->Init.PowerMode); + + /*-------------------------- USART GTPR Configuration ----------------------*/ + MODIFY_REG(hirda->Instance->GTPR, USART_GTPR_PSC, hirda->Init.Prescaler); + + /*-------------------------- USART BRR Configuration -----------------------*/ + IRDA_GETCLOCKSOURCE(hirda, clocksource); + switch (clocksource) + { + case IRDA_CLOCKSOURCE_D2PCLK1: + hirda->Instance->BRR = (uint16_t)((HAL_RCC_GetPCLK1Freq() + (hirda->Init.BaudRate/2)) / hirda->Init.BaudRate); + break; + case IRDA_CLOCKSOURCE_D2PCLK2: + hirda->Instance->BRR = (uint16_t)((HAL_RCC_GetPCLK2Freq() + (hirda->Init.BaudRate/2)) / hirda->Init.BaudRate); + break; + case IRDA_CLOCKSOURCE_PLL2Q: + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + hirda->Instance->BRR = (uint16_t)((pll2_clocks.PLL2_Q_Frequency + (hirda->Init.BaudRate/2)) / hirda->Init.BaudRate); + break; + case IRDA_CLOCKSOURCE_PLL3Q: + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + hirda->Instance->BRR = (uint16_t)((pll3_clocks.PLL3_Q_Frequency + (hirda->Init.BaudRate/2)) / hirda->Init.BaudRate); + break; + case IRDA_CLOCKSOURCE_HSI: + hirda->Instance->BRR = (uint16_t)((HSI_VALUE + (hirda->Init.BaudRate/2)) / hirda->Init.BaudRate); + break; + case IRDA_CLOCKSOURCE_CSI: + hirda->Instance->BRR = (uint16_t)((HAL_RCC_GetSysClockFreq() + (hirda->Init.BaudRate/2)) / hirda->Init.BaudRate); + break; + case IRDA_CLOCKSOURCE_LSE: + hirda->Instance->BRR = (uint16_t)((LSE_VALUE + (hirda->Init.BaudRate/2)) / hirda->Init.BaudRate); + break; + case IRDA_CLOCKSOURCE_UNDEFINED: + default: + ret = HAL_ERROR; + break; + } + + return ret; +} + +/** + * @brief Check the IRDA Idle State. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +static HAL_StatusTypeDef IRDA_CheckIdleState(IRDA_HandleTypeDef *hirda) +{ + uint32_t tickstart = 0U; + + /* Initialize the IRDA ErrorCode */ + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + /* Check if the Transmitter is enabled */ + if((hirda->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) + { + /* Wait until TEACK flag is set */ + if(IRDA_WaitOnFlagUntilTimeout(hirda, USART_ISR_TEACK, RESET, tickstart, IRDA_TEACK_REACK_TIMEOUT) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + /* Check if the Receiver is enabled */ + if((hirda->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) + { + if(IRDA_WaitOnFlagUntilTimeout(hirda, USART_ISR_REACK, RESET, tickstart, IRDA_TEACK_REACK_TIMEOUT) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + + /* Initialize the IRDA state*/ + hirda->gState= HAL_IRDA_STATE_READY; + hirda->RxState= HAL_IRDA_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + + return HAL_OK; +} + +/** + * @brief Handle IRDA Communication Timeout. + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @param Flag: specifies the IRDA flag to check. + * @param Status: the new flag status (SET or RESET). The function is locked in a while loop as long as the flag remains set to Status. + * @param Tickstart: tick start value. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef IRDA_WaitOnFlagUntilTimeout(IRDA_HandleTypeDef *hirda, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout) +{ + /* Wait until flag is set */ + while((__HAL_IRDA_GET_FLAG(hirda, Flag) ? SET : RESET) == Status) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick() - Tickstart) > Timeout)) + { + /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE)); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + hirda->gState = HAL_IRDA_STATE_READY; + hirda->RxState = HAL_IRDA_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hirda); + return HAL_TIMEOUT; + } + } + } + return HAL_OK; +} + +/** + * @brief End ongoing Tx transfer on IRDA peripheral (following error detection or Transmit completion). + * @param hirda: IRDA handle. + * @retval None + */ +static void IRDA_EndTxTransfer(IRDA_HandleTypeDef *hirda) +{ + /* Disable TXEIE and TCIE interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + + /* At end of Tx process, restore hirda->gState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; +} + +/** + * @brief End ongoing Rx transfer on IRDA peripheral (following error detection or Reception completion). + * @param hirda: IRDA handle. + * @retval None + */ +static void IRDA_EndRxTransfer(IRDA_HandleTypeDef *hirda) +{ + /* Disable RXNE, PE and ERR interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* At end of Rx process, restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; +} + +/** + * @brief DMA IRDA transmit process complete callback. + * @param hdma: Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void IRDA_DMATransmitCplt(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = ( IRDA_HandleTypeDef* )((DMA_HandleTypeDef*)hdma)->Parent; + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + { + hirda->TxXferCount = 0; + + /* Disable the DMA transfer for transmit request by resetting the DMAT bit + in the IRDA CR3 register */ + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAT); + + /* Enable the IRDA Transmit Complete Interrupt */ + SET_BIT(hirda->Instance->CR1, USART_CR1_TCIE); + } + /* DMA Circular mode */ + else + { + HAL_IRDA_TxCpltCallback(hirda); + } +} + +/** + * @brief DMA IRDA receive process half complete callback. + * @param hdma: Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void IRDA_DMATransmitHalfCplt(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = ( IRDA_HandleTypeDef* )((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_IRDA_TxHalfCpltCallback(hirda); +} + +/** + * @brief DMA IRDA receive process complete callback. + * @param hdma: Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void IRDA_DMAReceiveCplt(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = ( IRDA_HandleTypeDef* )((DMA_HandleTypeDef*)hdma)->Parent; + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + { + hirda->RxXferCount = 0; + + /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Disable the DMA transfer for the receiver request by resetting the DMAR bit + in the IRDA CR3 register */ + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_DMAR); + + /* At end of Rx process, restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; + } + + HAL_IRDA_RxCpltCallback(hirda); +} + +/** + * @brief DMA IRDA receive process half complete callback. + * @param hdma: Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void IRDA_DMAReceiveHalfCplt(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = ( IRDA_HandleTypeDef* )((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_IRDA_RxHalfCpltCallback(hirda); +} + +/** + * @brief DMA IRDA communication error callback. + * @param hdma: Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void IRDA_DMAError(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = ( IRDA_HandleTypeDef* )((DMA_HandleTypeDef*)hdma)->Parent; + + hirda->RxXferCount = 0U; + hirda->TxXferCount = 0U; + + /* Stop IRDA DMA Tx request if ongoing */ + if((hirda->gState == HAL_IRDA_STATE_BUSY_TX) + &&(HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAT))) + { + IRDA_EndTxTransfer(hirda); + } + + /* Stop IRDA DMA Rx request if ongoing */ + if((hirda->RxState == HAL_IRDA_STATE_BUSY_RX) + &&(HAL_IS_BIT_SET(hirda->Instance->CR3, USART_CR3_DMAR))) + { + IRDA_EndRxTransfer(hirda); + } + + hirda->ErrorCode |= HAL_IRDA_ERROR_DMA; + + HAL_IRDA_ErrorCallback(hirda); +} + +/** + * @brief DMA IRDA communication abort callback + * (To be called at end of DMA Abort procedure). + * @param hdma: DMA handle. + * @retval None + */ +static void IRDA_DMAAbortOnError(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = (IRDA_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + hirda->RxXferCount = 0; + hirda->TxXferCount = 0; + + HAL_IRDA_ErrorCallback(hirda); +} + +/** + * @brief DMA IRDA Tx communication abort callback, when initiated by user + * (To be called at end of DMA Tx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Rx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void IRDA_DMATxAbortCallback(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = (IRDA_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + hirda->hdmatx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(hirda->hdmarx != NULL) + { + if(hirda->hdmarx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + hirda->TxXferCount = 0; + hirda->RxXferCount = 0; + + /* Reset errorCode */ + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->gState and hirda->RxState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + hirda->RxState = HAL_IRDA_STATE_READY; + + /* Call user Abort complete callback */ + HAL_IRDA_AbortCpltCallback(hirda); +} + + +/** + * @brief DMA IRDA Rx communication abort callback, when initiated by user + * (To be called at end of DMA Rx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Tx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void IRDA_DMARxAbortCallback(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = (IRDA_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + hirda->hdmarx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(hirda->hdmatx != NULL) + { + if(hirda->hdmatx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + hirda->TxXferCount = 0; + hirda->RxXferCount = 0; + + /* Reset errorCode */ + hirda->ErrorCode = HAL_IRDA_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->gState and hirda->RxState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + hirda->RxState = HAL_IRDA_STATE_READY; + + /* Call user Abort complete callback */ + HAL_IRDA_AbortCpltCallback(hirda); +} + + +/** + * @brief DMA IRDA Tx communication abort callback, when initiated by user by a call to + * HAL_IRDA_AbortTransmit_IT API (Abort only Tx transfer) + * (This callback is executed at end of DMA Tx Abort procedure following user abort request, + * and leads to user Tx Abort Complete callback execution). + * @param hdma DMA handle. + * @retval None + */ +static void IRDA_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = (IRDA_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + hirda->TxXferCount = 0; + + /* Restore hirda->gState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + + /* Call user Abort complete callback */ + HAL_IRDA_AbortTransmitCpltCallback(hirda); +} + +/** + * @brief DMA IRDA Rx communication abort callback, when initiated by user by a call to + * HAL_IRDA_AbortReceive_IT API (Abort only Rx transfer) + * (This callback is executed at end of DMA Rx Abort procedure following user abort request, + * and leads to user Rx Abort Complete callback execution). + * @param hdma DMA handle. + * @retval None + */ +static void IRDA_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) +{ + IRDA_HandleTypeDef* hirda = ( IRDA_HandleTypeDef* )((DMA_HandleTypeDef*)hdma)->Parent; + + hirda->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_IRDA_CLEAR_FLAG(hirda, IRDA_CLEAR_OREF | IRDA_CLEAR_NEF | IRDA_CLEAR_PEF | IRDA_CLEAR_FEF); + + /* Restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; + + /* Call user Abort complete callback */ + HAL_IRDA_AbortReceiveCpltCallback(hirda); +} + +/** + * @brief Send an amount of data in non-blocking mode. + * @note Function is called under interruption only, once + * interruptions have been enabled by HAL_IRDA_Transmit_IT(). + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +static HAL_StatusTypeDef IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda) +{ + uint16_t* tmp; + + /* Check that a Tx process is ongoing */ + if(hirda->gState == HAL_IRDA_STATE_BUSY_TX) + { + if(hirda->TxXferCount == 0) + { + /* Disable the IRDA Transmit Data Register Empty Interrupt */ + CLEAR_BIT(hirda->Instance->CR1, USART_CR1_TXEIE); + + /* Enable the IRDA Transmit Complete Interrupt */ + SET_BIT(hirda->Instance->CR1, USART_CR1_TCIE); + + return HAL_OK; + } + else + { + if ((hirda->Init.WordLength == IRDA_WORDLENGTH_9B) && (hirda->Init.Parity == IRDA_PARITY_NONE)) + { + tmp = (uint16_t*) hirda->pTxBuffPtr; + hirda->Instance->TDR = (*tmp & (uint16_t)0x01FF); + hirda->pTxBuffPtr += 2; + } + else + { + hirda->Instance->TDR = (uint8_t)(*hirda->pTxBuffPtr++ & (uint8_t)0xFF); + } + hirda->TxXferCount--; + + return HAL_OK; + } + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Wrap up transmission in non-blocking mode. + * @param hirda: pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +static HAL_StatusTypeDef IRDA_EndTransmit_IT(IRDA_HandleTypeDef *hirda) +{ + /* Disable the IRDA Transmit Complete Interrupt */ + CLEAR_BIT(hirda->Instance->CR1, USART_CR1_TCIE); + + /* Disable the IRDA Error Interrupt: (Frame error, noise error, overrun error) */ + __HAL_IRDA_DISABLE_IT(hirda, IRDA_IT_ERR); + + /* Tx process is ended, restore hirda->gState to Ready */ + hirda->gState = HAL_IRDA_STATE_READY; + + HAL_IRDA_TxCpltCallback(hirda); + + return HAL_OK; +} + + +/** + * @brief Receive an amount of data in non-blocking mode. + * Function is called under interruption only, once + * interruptions have been enabled by HAL_IRDA_Receive_IT(). + * @param hirda: Pointer to a IRDA_HandleTypeDef structure that contains + * the configuration information for the specified IRDA module. + * @retval HAL status + */ +static HAL_StatusTypeDef IRDA_Receive_IT(IRDA_HandleTypeDef *hirda) +{ + uint16_t* tmp; + uint16_t uhMask = hirda->Mask; + + /* Check that a Rx process is ongoing */ + if(hirda->RxState == HAL_IRDA_STATE_BUSY_RX) + { + + if ((hirda->Init.WordLength == IRDA_WORDLENGTH_9B) && (hirda->Init.Parity == IRDA_PARITY_NONE)) + { + tmp = (uint16_t*) hirda->pRxBuffPtr ; + *tmp = (uint16_t)(hirda->Instance->RDR & uhMask); + hirda->pRxBuffPtr +=2; + } + else + { + *hirda->pRxBuffPtr++ = (uint8_t)(hirda->Instance->RDR & (uint8_t)uhMask); + } + + if(--hirda->RxXferCount == 0) + { + /* Disable the IRDA Parity Error Interrupt and RXNE interrupt */ + CLEAR_BIT(hirda->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + + /* Disable the IRDA Error Interrupt: (Frame error, noise error, overrun error) */ + CLEAR_BIT(hirda->Instance->CR3, USART_CR3_EIE); + + /* Rx process is completed, restore hirda->RxState to Ready */ + hirda->RxState = HAL_IRDA_STATE_READY; + + HAL_IRDA_RxCpltCallback(hirda); + + return HAL_OK; + } + + return HAL_OK; + } + else + { + /* Clear RXNE interrupt flag */ + __HAL_IRDA_SEND_REQ(hirda, IRDA_RXDATA_FLUSH_REQUEST); + + return HAL_BUSY; + } +} + +/** + * @} + */ + +#endif /* HAL_IRDA_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.c new file mode 100644 index 0000000000..ee4f12047a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.c @@ -0,0 +1,280 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_iwdg.c + * @author MCD Application Team + * @brief IWDG HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Independent Watchdog (IWDG) peripheral: + * + Initialization and Start functions + * + IO operation functions + * + @verbatim + ============================================================================== + ##### IWDG Generic features ##### + ============================================================================== + [..] + (+) The IWDG can be started by either software or hardware (configurable + through option byte). + + (+) The IWDG is clocked by Low-Speed clock (LSI) and thus stays active even + if the main clock fails. + + (+) Once the IWDG is started, the LSI is forced ON and both can not be + disabled. The counter starts counting down from the reset value (0xFFF). + When it reaches the end of count value (0x000) a reset signal is + generated (IWDG reset). + + (+) Whenever the key value 0x0000 AAAA is written in the IWDG_KR register, + the IWDG_RLR value is reloaded in the counter and the watchdog reset is + prevented. + + (+) The IWDG is implemented in the VDD voltage domain that is still functional + in STOP and STANDBY mode (IWDG reset can wake-up from STANDBY). + IWDGRST flag in RCC_CSR register can be used to inform when an IWDG + reset occurs. + + (+) Debug mode : When the microcontroller enters debug mode (core halted), + the IWDG counter either continues to work normally or stops, depending + on DBG_IWDG_STOP configuration bit in DBG module, accessible through + __HAL_DBGMCU_FREEZE_IWDG() and __HAL_DBGMCU_UNFREEZE_IWDG() macros + + [..] Min-max timeout value @32KHz (LSI): ~125us / ~32.7s + The IWDG timeout may vary due to LSI frequency dispersion. STM32H7xx + devices provide the capability to measure the LSI frequency (LSI clock + connected internally to TIM16 CH1 input capture). The measured value + can be used to have an IWDG timeout with an acceptable accuracy. + + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Use IWDG using HAL_IWDG_Init() function to : + (++) Enable instance by writing Start keyword in IWDG_KEY register. LSI + clock is forced ON and IWDG counter starts downcounting. + (++) Enable write access to configuration register: IWDG_PR, IWDG_RLR & + IWDG_WINR. + (++) Configure the IWDG prescaler and counter reload value. This reload + value will be loaded in the IWDG counter each time the watchdog is + reloaded, then the IWDG will start counting down from this value. + (++) Wait for status flags to be reset + (++) Depending on window parameter: + (+++) If Window Init parameter is same as Window register value, + nothing more is done but reload counter value in order to exit + function withy exact time base. + (+++) Else modify Window register. This will automatically reload + watchdog counter. + + (#) Then the application program must refresh the IWDG counter at regular + intervals during normal operation to prevent an MCU reset, using + HAL_IWDG_Refresh() function. + + *** IWDG HAL driver macros list *** + ==================================== + [..] + Below the list of most used macros in IWDG HAL driver: + (+) __HAL_IWDG_START: Enable the IWDG peripheral + (+) __HAL_IWDG_RELOAD_COUNTER: Reloads IWDG counter with value defined in + the reload register + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#ifdef HAL_IWDG_MODULE_ENABLED +/** @addtogroup IWDG + * @brief IWDG HAL module driver. + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup IWDG_Private_Defines IWDG Private Defines + * @{ + */ +/* Status register need 5 RC LSI divided by prescaler clock to be updated. With + higher prescaler (256), and according to LSI variation, we need to wait at + least 6 cycles so 48 ms. */ +#define HAL_IWDG_DEFAULT_TIMEOUT 48u +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup IWDG_Exported_Functions + * @{ + */ + +/** @addtogroup IWDG_Exported_Functions_Group1 + * @brief Initialization and Start functions. + * +@verbatim + =============================================================================== + ##### Initialization and Start functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the IWDG according to the specified parameters in the + IWDG_InitTypeDef of associated handle. + (+) Manage Window option. + (+) Once initialization is performed in HAL_IWDG_Init function, Watchdog + is reloaded in order to exit function with correct time base. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the IWDG according to the specified parameters in the + * IWDG_InitTypeDef and start watchdog. Before exiting function, + * watchdog is refreshed in order to have correct time base. + * @param hiwdg pointer to a IWDG_HandleTypeDef structure that contains + * the configuration information for the specified IWDG module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg) +{ + uint32_t tickstart; + + /* Check the IWDG handle allocation */ + if(hiwdg == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_IWDG_ALL_INSTANCE(hiwdg->Instance)); + assert_param(IS_IWDG_PRESCALER(hiwdg->Init.Prescaler)); + assert_param(IS_IWDG_RELOAD(hiwdg->Init.Reload)); + assert_param(IS_IWDG_WINDOW(hiwdg->Init.Window)); + + /* Enable IWDG. LSI is turned on automaticaly */ + __HAL_IWDG_START(hiwdg); + + /* Enable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers by writing + 0x5555 in KR */ + IWDG_ENABLE_WRITE_ACCESS(hiwdg); + + /* Write to IWDG registers the Prescaler & Reload values to work with */ + hiwdg->Instance->PR = hiwdg->Init.Prescaler; + hiwdg->Instance->RLR = hiwdg->Init.Reload; + + /* Check pending flag, if previous update not done, return timeout */ + tickstart = HAL_GetTick(); + + /* Wait for register to be updated */ + while(hiwdg->Instance->SR != RESET) + { + if((HAL_GetTick() - tickstart) > HAL_IWDG_DEFAULT_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* If window parameter is different than current value, modify window + register */ + if(hiwdg->Instance->WINR != hiwdg->Init.Window) + { + /* Write to IWDG WINR the IWDG_Window value to compare with. In any case, + even if window feature is disabled, Watchdog will be reloaded by writing + windows register */ + hiwdg->Instance->WINR = hiwdg->Init.Window; + } + else + { + /* Reload IWDG counter with value defined in the reload register */ + __HAL_IWDG_RELOAD_COUNTER(hiwdg); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + + +/** @addtogroup IWDG_Exported_Functions_Group2 + * @brief IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Refresh the IWDG. + +@endverbatim + * @{ + */ + + +/** + * @brief Refresh the IWDG. + * @param hiwdg pointer to a IWDG_HandleTypeDef structure that contains + * the configuration information for the specified IWDG module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg) +{ + /* Reload IWDG counter with value defined in the reload register */ + __HAL_IWDG_RELOAD_COUNTER(hiwdg); + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_IWDG_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c new file mode 100644 index 0000000000..4924da60ea --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c @@ -0,0 +1,3459 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_jpeg.c + * @author MCD Application Team + * @brief JPEG HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the JPEG encoder/decoder peripheral: + * + Initialization and de-initialization functions + * + JPEG processing functions encoding and decoding + * + JPEG decoding Getting Info and encoding configuration setting + * + JPEG enable/disable header parsing functions (for decoding) + * + JPEG Input/Output Buffer configuration. + * + JPEG callback functions + * + JPEG Abort/Pause/Resume functions + * + JPEG custom quantization tables setting functions + * + IRQ handler management + * + Peripheral State and Error functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Initialize the JPEG peripheral using HAL_JPEG_Init : No initialization parameters are required. + Only the call to HAL_JPEG_Init is necessary to initialize the JPEG peripheral. + + (#) If operation is JPEG encoding use function HAL_JPEG_ConfigEncoding to set + the encoding parameters (mandatory before calling the encoding function). + the application can change the encoding parameter "ImageQuality" from + 1 to 100 to obtain a more or less quality (visual quality vs the original row image), + and inversely more or less jpg file size. + + (#) Note that for decoding operation the JPEG peripheral output data are organized in + YCbCr blocks called MCU (Minimum Coded Unit) as defioned in the JPEG specification + ISO/IEC 10918-1 standard. + It is up to the application to transform these YCbCr blocks to RGB data that can be display. + + Respectively, for Encoding operation the JPEG peripheral input should be organized + in YCbCr MCU blocks. It is up to the application to perform the necessary RGB to YCbCr + MCU blocks transformation before feeding the JPEG peripheral with data. + + (#) Use functions HAL_JPEG_Encode and HAL_JPEG_Decode to start respectively + a JPEG encoding/decoding operation in polling method (blocking). + + (#) Use functions HAL_JPEG_Encode_IT and HAL_JPEG_Decode_IT to start respectively + a JPEG encoding/decoding operation with Interrupt method (not blocking). + + (#) Use functions HAL_JPEG_Encode_DMA and HAL_JPEG_Decode_DMA to start respectively + a JPEG encoding/decoding operation with DMA method (not blocking). + + (#) Callback HAL_JPEG_InfoReadyCallback is asserted if the current operation + is a JPEG decoding to provide the application with JPEG image parameters. + This callback is asserted when the JPEG peripheral successfully parse the + JPEG header. + + (#) Callback HAL_JPEG_GetDataCallback is asserted for both encoding and decoding + operations to inform the application that the input buffer has been + consumed by the peripheral and to ask for a new data chunk if the operation + (encoding/decoding) has not been complete yet. + + (++) This CallBack should be implemented in the application side. It should + call the function HAL_JPEG_ConfigInputBuffer if new input data are available, + or call HAL_JPEG_Pause with parameter XferSelection set to JPEG_PAUSE_RESUME_INPUT + to inform the JPEG HAL driver that the ongoing operation shall pause waiting for the + application to provide a new input data chunk. + Once the application succeed getting new data and if the input has been paused, + the application can call the function HAL_JPEG_ConfigInputBuffer to set the new + input buffer and size, then resume the JPEG HAL input by calling new function HAL_JPEG_Resume. + If the application has ended feeding the HAL JPEG with input data (no more input data), the application + Should call the function HAL_JPEG_ConfigInputBuffer (within the callback HAL_JPEG_GetDataCallback) + with the parameter InDataLength set to zero. + + (++) The mechanism of HAL_JPEG_ConfigInputBuffer/HAL_JPEG_Pause/HAL_JPEG_Resume allows + to the application to provide the input data (for encoding or decoding) by chunks. + If the new input data chunk is not available (because data should be read from an input file + for example) the application can pause the JPEG input (using function HAL_JPEG_Pause) + Once the new input data chunk is available ( read from a file for example), the application + can call the function HAL_JPEG_ConfigInputBuffer to provide the HAL with the new chunk + then resume the JPEG HAL input by calling function HAL_JPEG_Resume. + + (++) The application can call functions HAL_JPEG_ConfigInputBuffer then HAL_JPEG_Resume. + any time (outside the HAL_JPEG_GetDataCallback) Once the new input chunk data available. + However, to keep data coherency, the function HAL_JPEG_Pause must be imperatively called + (if necessary) within the callback HAL_JPEG_GetDataCallback, i.e when the HAL JPEG has ended + Transferring the previous chunk buffer to the JPEG peripheral. + + (#) Callback HAL_JPEG_DataReadyCallback is asserted when the HAL JPEG driver + has filled the given output buffer with the given size. + + (++) This CallBack should be implemented in the application side. It should + call the function HAL_JPEG_ConfigOutputBuffer to provide the HAL JPEG driver + with the new output buffer location and size to be used to store next data chunk. + if the application is not ready to provide the output chunk location then it can + call the function HAL_JPEG_Pause with parameter XferSelection set to "JPEG_PAUSE_RESUME_OUTPUT" + to inform the JPEG HAL driver that it shall pause output data. Once the application + is ready to receive the new data chunk (output buffer location free or available) it should call + the function HAL_JPEG_ConfigOutputBuffer to provide the HAL JPEG driver + with the new output chunk buffer location and size, then call "HAL_JPEG_Resume" + to inform the HAL that it shall resume outputting data in the given output buffer. + + (++) The mechanism of HAL_JPEG_ConfigOutputBuffer/HAL_JPEG_Pause/HAL_JPEG_Resume allows + the application to receive data from the JPEG peripheral by chunks. when a chunk + is received, the application can pause the HAL JPEG output data to be able to process + these received data (YCbCr to RGB conversion in case of decoding or data storage in case + of encoding). + + (++) The application can call functions HAL_JPEG_ ConfigOutputBuffer then HAL_JPEG_Resume. + any time (outside the HAL_JPEG_DataReadyCallback) Once the output data buffer is free to use. + However, to keep data coherency, the function HAL_JPEG_Pause must be imperatively called + (if necessary) within the callback HAL_JPEG_ DataReadyCallback, i.e when the HAL JPEG has ended + Transferring the previous chunk buffer from the JPEG peripheral to the application. + + (#) Callback HAL_JPEG_EncodeCpltCallback is asserted when the HAL JPEG driver has + ended the current JPEG encoding operation, and all output data has been transmitted + to the application. + + (#) Callback HAL_JPEG_DecodeCpltCallback is asserted when the HAL JPEG driver has + ended the current JPEG decoding operation. and all output data has been transmitted + to the application. + + (#) Callback HAL_JPEG_ErrorCallback is asserted when an error occurred during + the current operation. the application can call the function "HAL_JPEG_GetError" + to retrieve the error codes. + + (#) By default the HAL JPEG driver uses the default quantization tables + as provide in the JPEG specification (ISO/IEC 10918-1 standard) for encoding. + User can change these default tables if necessary using the function HAL_JPEG_SetUserQuantTables + Note that for decoding the quantization tables are automatically extracted from + the JPEG header. + + (#) To control JPEG state you can use the following function: HAL_JPEG_GetState() + + *** JPEG HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in JPEG HAL driver. + + (+) __HAL_JPEG_RESET_HANDLE_STATE : Reset JPEG handle state. + (+) __HAL_JPEG_ENABLE : Enable the JPEG peripheral. + (+) __HAL_JPEG_DISABLE : Disable the JPEG peripheral. + (+) __HAL_JPEG_GET_FLAG : Check the specified JPEG status flag. + (+) __HAL_JPEG_CLEAR_FLAG : Clear the specified JPEG status flag. + (+) __HAL_JPEG_ENABLE_IT : Enable the specified JPEG Interrupt. + (+) __HAL_JPEG_DISABLE_IT : Disable the specified JPEG Interrupt. + (+) __HAL_JPEG_GET_IT_SOURCE : returns the state of the specified JPEG Interrupt (Enabled or disabled). + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup JPEG JPEG + * @brief JPEG HAL module driver. + * @{ + */ + +#ifdef HAL_JPEG_MODULE_ENABLED + +/* Private define ------------------------------------------------------------*/ +/** @addtogroup JPEG_Private_Constants + * @{ + */ +#define JPEG_TIMEOUT_VALUE ((uint32_t)1000U) /* 1s */ +#define JPEG_AC_HUFF_TABLE_SIZE ((uint32_t)162U) /* Huffman AC table size : 162 codes*/ +#define JPEG_DC_HUFF_TABLE_SIZE ((uint32_t)12U) /* Huffman AC table size : 12 codes*/ + +#define JPEG_FIFO_SIZE ((uint32_t)16U) /* JPEG Input/Output HW FIFO size in words*/ +#define JPEG_FIFO_TH_SIZE ((uint32_t)8U) /* JPEG Input/Output HW FIFO Threshold in words*/ + +#define JPEG_INTERRUPT_MASK ((uint32_t)0x0000007EU) /* JPEG Interrupt Mask*/ + +#define JPEG_CONTEXT_ENCODE ((uint32_t)0x00000001U) /* JPEG context : operation is encoding*/ +#define JPEG_CONTEXT_DECODE ((uint32_t)0x00000002U) /* JPEG context : operation is decoding*/ +#define JPEG_CONTEXT_OPERATION_MASK ((uint32_t)0x00000003U) /* JPEG context : operation Mask */ + +#define JPEG_CONTEXT_POLLING ((uint32_t)0x00000004U) /* JPEG context : Transfer use Polling */ +#define JPEG_CONTEXT_IT ((uint32_t)0x00000008U) /* JPEG context : Transfer use Interrupt */ +#define JPEG_CONTEXT_DMA ((uint32_t)0x0000000CU) /* JPEG context : Transfer use DMA */ +#define JPEG_CONTEXT_METHOD_MASK ((uint32_t)0x0000000CU) /* JPEG context : Transfer Mask */ + + +#define JPEG_CONTEXT_CONF_ENCODING ((uint32_t)0x00000100U) /* JPEG context : encoding config done */ + +#define JPEG_CONTEXT_PAUSE_INPUT ((uint32_t)0x00001000U) /* JPEG context : Pause Input */ +#define JPEG_CONTEXT_PAUSE_OUTPUT ((uint32_t)0x00002000U) /* JPEG context : Pause Output */ + +#define JPEG_CONTEXT_CUSTOM_TABLES ((uint32_t)0x00004000U) /* JPEG context : Use custom quantization tables */ + +#define JPEG_CONTEXT_ENDING_DMA ((uint32_t)0x00008000U) /* JPEG context : ending with DMA in progress */ + +#define JPEG_PROCESS_ONGOING ((uint32_t)0x00000000U) /* Process is on going */ +#define JPEG_PROCESS_DONE ((uint32_t)0x00000001U) /* Process is done (ends) */ +/** + * @} + */ + +/* Private typedef -----------------------------------------------------------*/ +/** @addtogroup JPEG_Private_Types + * @{ + */ + +/* + JPEG Huffman Table Structure definition : + This implementation of Huffman table structure is compliant with ISO/IEC 10918-1 standard , Annex C Huffman Table specification + */ +typedef struct +{ + /* These two fields directly represent the contents of a JPEG DHT marker */ + uint8_t Bits[16]; /*!< bits[k] = # of symbols with codes of length k bits, this parameter corresponds to BITS list in the Annex C */ + + uint8_t HuffVal[162]; /*!< The symbols, in order of incremented code length, this parameter corresponds to HUFFVAL list in the Annex C */ + + +}JPEG_ACHuffTableTypeDef; + +typedef struct +{ + /* These two fields directly represent the contents of a JPEG DHT marker */ + uint8_t Bits[16]; /*!< bits[k] = # of symbols with codes of length k bits, this parameter corresponds to BITS list in the Annex C */ + + uint8_t HuffVal[12]; /*!< The symbols, in order of incremented code length, this parameter corresponds to HUFFVAL list in the Annex C */ + + +}JPEG_DCHuffTableTypeDef; + +typedef struct +{ + uint8_t CodeLength[JPEG_AC_HUFF_TABLE_SIZE]; /*!< Code length */ + + uint32_t HuffmanCode[JPEG_AC_HUFF_TABLE_SIZE]; /*!< HuffmanCode */ + +}JPEG_AC_HuffCodeTableTypeDef; + +typedef struct +{ + uint8_t CodeLength[JPEG_DC_HUFF_TABLE_SIZE]; /*!< Code length */ + + uint32_t HuffmanCode[JPEG_DC_HUFF_TABLE_SIZE]; /*!< HuffmanCode */ + +}JPEG_DC_HuffCodeTableTypeDef; +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/** @addtogroup JPEG_Private_Variables + * @{ + */ + +static const JPEG_DCHuffTableTypeDef JPEG_DCLUM_HuffTable = +{ + { 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, /*Bits*/ + + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb } /*HUFFVAL */ + +}; + +static const JPEG_DCHuffTableTypeDef JPEG_DCCHROM_HuffTable = +{ + { 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, /*Bits*/ + + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb } /*HUFFVAL */ +}; + +static const JPEG_ACHuffTableTypeDef JPEG_ACLUM_HuffTable = +{ + { 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d }, /*Bits*/ + + { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, /*HUFFVAL */ + 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, + 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, + 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, + 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, + 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, + 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, + 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, + 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, + 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, + 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, + 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, + 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, + 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, + 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, + 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, + 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, + 0xf9, 0xfa } +}; + +static const JPEG_ACHuffTableTypeDef JPEG_ACCHROM_HuffTable = +{ + { 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 }, /*Bits*/ + + { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, /*HUFFVAL */ + 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, + 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, + 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, + 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, + 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, + 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, + 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, + 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, + 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, + 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, + 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, + 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, + 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, + 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, + 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, + 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, + 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, + 0xf9, 0xfa } +}; + + +/* + These are the sample quantization tables given in JPEG spec ISO/IEC 10918-1 standard , section K.1. +*/ +static const uint8_t JPEG_LUM_QuantTable[JPEG_QUANT_TABLE_SIZE] = +{ + 16, 11, 10, 16, 24, 40, 51, 61, + 12, 12, 14, 19, 26, 58, 60, 55, + 14, 13, 16, 24, 40, 57, 69, 56, + 14, 17, 22, 29, 51, 87, 80, 62, + 18, 22, 37, 56, 68, 109, 103, 77, + 24, 35, 55, 64, 81, 104, 113, 92, + 49, 64, 78, 87, 103, 121, 120, 101, + 72, 92, 95, 98, 112, 100, 103, 99 +}; +static const uint8_t JPEG_CHROM_QuantTable[JPEG_QUANT_TABLE_SIZE] = +{ + 17, 18, 24, 47, 99, 99, 99, 99, + 18, 21, 26, 66, 99, 99, 99, 99, + 24, 26, 56, 99, 99, 99, 99, 99, + 47, 66, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99 +}; + +static const uint8_t JPEG_ZIGZAG_ORDER[JPEG_QUANT_TABLE_SIZE] = +{ + 0, 1, 8, 16, 9, 2, 3, 10, + 17, 24, 32, 25, 18, 11, 4, 5, + 12, 19, 26, 33, 40, 48, 41, 34, + 27, 20, 13, 6, 7, 14, 21, 28, + 35, 42, 49, 56, 57, 50, 43, 36, + 29, 22, 15, 23, 30, 37, 44, 51, + 58, 59, 52, 45, 38, 31, 39, 46, + 53, 60, 61, 54, 47, 55, 62, 63 +}; +/** + * @} + */ + +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup JPEG_Private_Functions_Prototypes + * @{ + */ + +static HAL_StatusTypeDef JPEG_Bits_To_SizeCodes(uint8_t *Bits, uint8_t *Huffsize, uint32_t *Huffcode, uint32_t *LastK); +static HAL_StatusTypeDef JPEG_DCHuff_BitsVals_To_SizeCodes(JPEG_DCHuffTableTypeDef *DC_BitsValsTable, JPEG_DC_HuffCodeTableTypeDef *DC_SizeCodesTable); +static HAL_StatusTypeDef JPEG_ACHuff_BitsVals_To_SizeCodes(JPEG_ACHuffTableTypeDef *AC_BitsValsTable, JPEG_AC_HuffCodeTableTypeDef *AC_SizeCodesTable); +static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeDef *HuffTableDC, __IO uint32_t *DCTableAddress); +static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *HuffTableAC, __IO uint32_t *ACTableAddress); +static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *HuffTableAC0, JPEG_DCHuffTableTypeDef *HuffTableDC0 , JPEG_ACHuffTableTypeDef *HuffTableAC1, JPEG_DCHuffTableTypeDef *HuffTableDC1); +static void JPEG_Set_Huff_DHTMem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *HuffTableAC0, JPEG_DCHuffTableTypeDef *HuffTableDC0 , JPEG_ACHuffTableTypeDef *HuffTableAC1, JPEG_DCHuffTableTypeDef *HuffTableDC1); +static HAL_StatusTypeDef JPEG_Set_Quantization_Mem(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable, __IO uint32_t *QTableAddress); +static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg); +static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg); +static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg); + +static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg); +static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg); +static void JPEG_ReadInputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbRequestWords); +static void JPEG_StoreOutputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbOutputWords); +static uint32_t JPEG_GetQuality(JPEG_HandleTypeDef *hjpeg); + +static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg); +static uint32_t JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg); +static uint32_t JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg); +static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg); +static void JPEG_MDMAOutCpltCallback(MDMA_HandleTypeDef *hmdma); +static void JPEG_MDMAInCpltCallback(MDMA_HandleTypeDef *hmdma); +static void JPEG_MDMAErrorCallback(MDMA_HandleTypeDef *hmdma); +static void JPEG_MDMAOutAbortCallback(MDMA_HandleTypeDef *hmdma); +/** + * @} + */ + +/** @defgroup JPEG_Exported_Functions JPEG Exported Functions + * @{ + */ + +/** @defgroup JPEG_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and de-initialization functions. + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the JPEG peripheral and creates the associated handle + (+) DeInitialize the JPEG peripheral + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the JPEG according to the specified + * parameters in the JPEG_InitTypeDef and creates the associated handle. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Init(JPEG_HandleTypeDef *hjpeg) +{ + /*Note : these intermediate variables are used to avoid MISRA warning + regarding rule 11.5 */ + uint32_t acLum_huffmanTableAddr = (uint32_t)(&JPEG_ACLUM_HuffTable); + uint32_t dcLum_huffmanTableAddr = (uint32_t)(&JPEG_DCLUM_HuffTable); + uint32_t acChrom_huffmanTableAddr = (uint32_t)(&JPEG_ACCHROM_HuffTable); + uint32_t dcChrom_huffmanTableAddr = (uint32_t)(&JPEG_DCCHROM_HuffTable); + + /* Check the JPEG handle allocation */ + if(hjpeg == NULL) + { + return HAL_ERROR; + } + + if(hjpeg->State == HAL_JPEG_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hjpeg->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_JPEG_MspInit(hjpeg); + } + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_BUSY; + + /* Start the JPEG Core*/ + __HAL_JPEG_ENABLE(hjpeg); + + /* Stop the JPEG encoding/decoding process*/ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + /* Disable All Interrupts */ + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + + /* Flush input and output FIFOs*/ + hjpeg->Instance->CR |= JPEG_CR_IFF; + hjpeg->Instance->CR |= JPEG_CR_OFF; + + /* Clear all flags */ + __HAL_JPEG_CLEAR_FLAG(hjpeg,JPEG_FLAG_ALL); + + /* init default quantization tables*/ + hjpeg->QuantTable0 = (uint8_t *)((uint32_t)JPEG_LUM_QuantTable); + hjpeg->QuantTable1 = (uint8_t *)((uint32_t)JPEG_CHROM_QuantTable); + hjpeg->QuantTable2 = NULL; + hjpeg->QuantTable3 = NULL; + + /* init the default Huffman tables*/ + if(JPEG_Set_HuffEnc_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)acLum_huffmanTableAddr, (JPEG_DCHuffTableTypeDef *)dcLum_huffmanTableAddr, (JPEG_ACHuffTableTypeDef *)acChrom_huffmanTableAddr, (JPEG_DCHuffTableTypeDef *)dcChrom_huffmanTableAddr) != HAL_OK) + { + hjpeg->ErrorCode = HAL_JPEG_ERROR_HUFF_TABLE; + + return HAL_ERROR; + } + + /* Enable header processing*/ + hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; + + /* Reset JpegInCount and JpegOutCount */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_READY; + + /* Reset the JPEG ErrorCode */ + hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; + + /*Clear the context filelds*/ + hjpeg->Context = 0; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief DeInitializes the JPEG peripheral. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_DeInit(JPEG_HandleTypeDef *hjpeg) +{ + /* Check the JPEG handle allocation */ + if(hjpeg == NULL) + { + return HAL_ERROR; + } + + /* DeInit the low level hardware: CLOCK, NVIC.*/ + HAL_JPEG_MspDeInit(hjpeg); + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_BUSY; + + /* Reset the JPEG ErrorCode */ + hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; + + /* Reset JpegInCount and JpegOutCount */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_RESET; + + /*Clear the context fields*/ + hjpeg->Context = 0; + + /* Release Lock */ + __HAL_UNLOCK(hjpeg); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initializes the JPEG MSP. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +__weak void HAL_JPEG_MspInit(JPEG_HandleTypeDef *hjpeg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitializes JPEG MSP. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +__weak void HAL_JPEG_MspDeInit(JPEG_HandleTypeDef *hjpeg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup JPEG_Exported_Functions_Group2 Configuration functions + * @brief JPEG Configuration functions. + * +@verbatim + ============================================================================== + ##### Configuration functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) HAL_JPEG_ConfigEncoding() : JPEG encoding configuration + (+) HAL_JPEG_GetInfo() : Extract the image configuration from the JPEG header during the decoding + (+) HAL_JPEG_EnableHeaderParsing() : Enable JPEG Header parsing for decoding + (+) HAL_JPEG_DisableHeaderParsing() : Disable JPEG Header parsing for decoding + (+) HAL_JPEG_SetUserQuantTables : Modify the default Quantization tables used for JPEG encoding. + +@endverbatim + * @{ + */ + +/** + * @brief Set the JPEG encoding configuration. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pConf: pointer to a JPEG_ConfTypeDef structure that contains + * the encoding configuration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_ConfigEncoding(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pConf) +{ + uint32_t error = HAL_OK; + uint32_t numberMCU, hfactor, vfactor,hMCU, vMCU; + + /* Check the JPEG handle allocation */ + if( (hjpeg == NULL) || (pConf == NULL) ) + { + return HAL_ERROR; + } + else + { + /* Check the parameters */ + assert_param(IS_JPEG_COLORSPACE(pConf->ColorSpace)); + assert_param(IS_JPEG_CHROMASUBSAMPLING(pConf->ChromaSubsampling)); + assert_param(IS_JPEG_IMAGE_QUALITY(pConf->ImageQuality)); + + /* Process Locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + hjpeg->State = HAL_JPEG_STATE_BUSY; + + hjpeg->Conf.ColorSpace = pConf->ColorSpace; + hjpeg->Conf.ChromaSubsampling = pConf->ChromaSubsampling; + hjpeg->Conf.ImageHeight = pConf->ImageHeight; + hjpeg->Conf.ImageWidth = pConf->ImageWidth; + hjpeg->Conf.ImageQuality = pConf->ImageQuality; + + /* Reset the Color Space : by default only one quantization table is used*/ + hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_COLORSPACE; + + /* Set Number of color components*/ + if(hjpeg->Conf.ColorSpace == JPEG_GRAYSCALE_COLORSPACE) + { + /*Gray Scale is only one component 8x8 blocks i.e 4:4:4*/ + hjpeg->Conf.ChromaSubsampling = JPEG_444_SUBSAMPLING; + + JPEG_SetColorGrayScale(hjpeg); + /* Set quantization table 0*/ + error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); + } + else if(hjpeg->Conf.ColorSpace == JPEG_YCBCR_COLORSPACE) + { + /* + Set the Color Space for YCbCr : 2 quantization tables are used + one for Luminance(Y) and one for both Chrominances (Cb & Cr) + */ + hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_0; + + JPEG_SetColorYCBCR(hjpeg); + + /* Set quantization table 0*/ + error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); + /*By default quantization table 0 for component 0 and quantization table 1 for both components 1 and 2*/ + error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); + + if((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0) /*Use user customized quantization tables , 1 table per component*/ + { + /* use 3 quantization tables , one for each component*/ + hjpeg->Instance->CONFR1 &= (~JPEG_CONFR1_COLORSPACE); + hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_1; + + error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); + + /*Use Quantization 1 table for component 1*/ + hjpeg->Instance->CONFR5 &= (~JPEG_CONFR5_QT); + hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; + + /*Use Quantization 2 table for component 2*/ + hjpeg->Instance->CONFR6 &= (~JPEG_CONFR6_QT); + hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; + } + } + else /* ColorSpace == JPEG_CMYK_COLORSPACE */ + { + JPEG_SetColorCMYK(hjpeg); + + /* Set quantization table 0*/ + error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); + /*By default quantization table 0 for All components*/ + + if((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0) /*Use user customized quantization tables , 1 table per component*/ + { + /* use 4 quantization tables , one for each component*/ + hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE; + + error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); + error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); + error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable3, (hjpeg->Instance->QMEM3)); + + /*Use Quantization 1 table for component 1*/ + hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; + + /*Use Quantization 2 table for component 2*/ + hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; + + /*Use Quantization 3 table for component 3*/ + hjpeg->Instance->CONFR7 |= JPEG_CONFR7_QT; + } + } + + if(error != HAL_OK) + { + hjpeg->ErrorCode = HAL_JPEG_ERROR_QUANT_TABLE; + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Set the JPEG State to ready */ + hjpeg->State = HAL_JPEG_STATE_READY; + + return HAL_ERROR; + } + /* Set the image size*/ + MODIFY_REG(hjpeg->Instance->CONFR1, JPEG_CONFR1_YSIZE, ((hjpeg->Conf.ImageHeight & 0x0000FFFF) << 16)); /* set the number of lines*/ + MODIFY_REG(hjpeg->Instance->CONFR3, JPEG_CONFR3_XSIZE, ((hjpeg->Conf.ImageWidth & 0x0000FFFF) << 16)); /* set the number of pixels per line*/ + + + if(hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) /* 4:2:0*/ + { + hfactor = 16; + vfactor = 16; + } + else if(hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) /* 4:2:2*/ + { + hfactor = 16; + vfactor = 8; + } + else /* Default is 8x8 MCU, 4:4:4*/ + { + hfactor = 8; + vfactor = 8; + } + + hMCU = (hjpeg->Conf.ImageWidth / hfactor); + if((hjpeg->Conf.ImageWidth % hfactor) != 0) + { + hMCU++; /*+1 for horizontal incomplete MCU */ + } + + vMCU = (hjpeg->Conf.ImageHeight / vfactor); + if((hjpeg->Conf.ImageHeight % vfactor) != 0) + { + vMCU++; /*+1 for vertical incomplete MCU */ + } + + numberMCU = (hMCU * vMCU) - 1; /* Bit Field JPEG_CONFR2_NMCU shall be set to NB_MCU - 1*/ + /* Set the number of MCU*/ + hjpeg->Instance->CONFR2 = (numberMCU & JPEG_CONFR2_NMCU); + + hjpeg->Context |= JPEG_CONTEXT_CONF_ENCODING; + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Set the JPEG State to ready */ + hjpeg->State = HAL_JPEG_STATE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Return function status */ + return HAL_BUSY; + } + } +} + +/** + * @brief Extract the image configuration from the JPEG header during the decoding + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pInfo: pointer to a JPEG_ConfTypeDef structure that contains + * The JPEG decoded header informations + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_GetInfo(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo) +{ + uint32_t yblockNb, cBblockNb, cRblockNb; + + /* Check the JPEG handle allocation */ + if((hjpeg == NULL) || (pInfo == NULL)) + { + return HAL_ERROR; + } + + /*Read the conf parameters */ + if((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF_1) + { + pInfo->ColorSpace = JPEG_YCBCR_COLORSPACE; + } + else if((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == 0) + { + pInfo->ColorSpace = JPEG_GRAYSCALE_COLORSPACE; + } + else if((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF) + { + pInfo->ColorSpace = JPEG_CMYK_COLORSPACE; + } + + pInfo->ImageHeight = (hjpeg->Instance->CONFR1 & 0xFFFF0000U) >> 16; + pInfo->ImageWidth = (hjpeg->Instance->CONFR3 & 0xFFFF0000U) >> 16; + + if((pInfo->ColorSpace == JPEG_YCBCR_COLORSPACE) || (pInfo->ColorSpace == JPEG_CMYK_COLORSPACE)) + { + yblockNb = (hjpeg->Instance->CONFR4 & JPEG_CONFR4_NB) >> 4; + cBblockNb = (hjpeg->Instance->CONFR5 & JPEG_CONFR5_NB) >> 4; + cRblockNb = (hjpeg->Instance->CONFR6 & JPEG_CONFR6_NB) >> 4; + + if((yblockNb == 1) && (cBblockNb == 0) && (cRblockNb == 0)) + { + pInfo->ChromaSubsampling = JPEG_422_SUBSAMPLING; /*16x8 block*/ + } + else if((yblockNb == 0) && (cBblockNb == 0) && (cRblockNb == 0)) + { + pInfo->ChromaSubsampling = JPEG_444_SUBSAMPLING; + } + else if((yblockNb == 3) && (cBblockNb == 0) && (cRblockNb == 0)) + { + pInfo->ChromaSubsampling = JPEG_420_SUBSAMPLING; + } + else /*Default is 4:4:4*/ + { + pInfo->ChromaSubsampling = JPEG_444_SUBSAMPLING; + } + } + else + { + pInfo->ChromaSubsampling = JPEG_444_SUBSAMPLING; + } + + pInfo->ImageQuality = JPEG_GetQuality(hjpeg); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Enable JPEG Header parsing for decoding + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for the JPEG. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_EnableHeaderParsing(JPEG_HandleTypeDef *hjpeg) +{ + /* Process locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_BUSY; + + /* Enable header processing*/ + hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; + + /* Process unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_READY; + + return HAL_OK; + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } +} + +/** + * @brief Disable JPEG Header parsing for decoding + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for the JPEG. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_DisableHeaderParsing(JPEG_HandleTypeDef *hjpeg) +{ + /* Process locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_BUSY; + + /* Disable header processing*/ + hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_HDR; + + /* Process unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_READY; + + return HAL_OK; + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } +} + +/** + * @brief Modify the default Quantization tables used for JPEG encoding. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param QTable0 : pointer to uint8_t , define the user quantification table for color component 1. + * If NULL assume no need to update the table and no error return + * @param QTable1 : pointer to uint8_t , define the user quantification table for color component 2. + * If NULL assume no need to update the table and no error return. + * @param QTable2 : pointer to uint8_t , define the user quantification table for color component 3, + * If NULL assume no need to update the table and no error return. + * @param QTable3 : pointer to uint8_t , define the user quantification table for color component 4. + * If NULL assume no need to update the table and no error return. + * + * @retval HAL status + */ + + +HAL_StatusTypeDef HAL_JPEG_SetUserQuantTables(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable0, uint8_t *QTable1, uint8_t *QTable2, uint8_t *QTable3) +{ + /* Process Locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + /* Change the DMA state */ + hjpeg->State = HAL_JPEG_STATE_BUSY; + + hjpeg->Context |= JPEG_CONTEXT_CUSTOM_TABLES; + + hjpeg->QuantTable0 = QTable0; + hjpeg->QuantTable1 = QTable1; + hjpeg->QuantTable2 = QTable2; + hjpeg->QuantTable3 = QTable3; + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Change the DMA state */ + hjpeg->State = HAL_JPEG_STATE_READY; + + /* Return function status */ + return HAL_OK; + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } +} + +/** + * @} + */ + +/** @defgroup JPEG_Exported_Functions_Group3 encoding/decoding processing functions + * @brief processing functions. + * +@verbatim + ============================================================================== + ##### JPEG processing functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) HAL_JPEG_Encode() : JPEG encoding with polling process + (+) HAL_JPEG_Decode() : JPEG decoding with polling process + (+) HAL_JPEG_Encode_IT() : JPEG encoding with interrupt process + (+) HAL_JPEG_Decode_IT() : JPEG decoding with interrupt process + (+) HAL_JPEG_Encode_DMA() : JPEG encoding with DMA process + (+) HAL_JPEG_Decode_DMA() : JPEG decoding with DMA process + (+) HAL_JPEG_Pause() : Pause the Input/Output processing + (+) HAL_JPEG_Resume() : Resume the JPEG Input/Output processing + (+) HAL_JPEG_ConfigInputBuffer() : Config Encoding/Decoding Input Buffer + (+) HAL_JPEG_ConfigOutputBuffer() : Config Encoding/Decoding Output Buffer + (+) HAL_JPEG_Abort() : Aborts the JPEG Encoding/Decoding + +@endverbatim + * @{ + */ + +/** + * @brief Starts JPEG encoding with polling processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pDataInMCU: Pointer to the Input buffer + * @param InDataLength: size in bytes Input buffer + * @param pDataOut: Pointer to the jpeg output data buffer + * @param OutDataLength: size in bytes of the Output buffer + * @param Timeout: Specify Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Encode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataLength, uint8_t *pDataOut, uint32_t OutDataLength, uint32_t Timeout) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param((InDataLength >= 4)); + assert_param((OutDataLength >= 4)); + + /* Check In/out buffer allocation and size */ + if((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) + { + return HAL_ERROR; + } + /* Process locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State != HAL_JPEG_STATE_READY) + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + if((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING ) + { + /*Change JPEG state*/ + hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; + + /*Set the Context to Encode with Polling*/ + hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); + hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_POLLING); + + /* Get tick */ + tickstart = HAL_GetTick(); + /*In/Out Data length must be multiple of 4 Bytes (1 word)*/ + InDataLength = InDataLength - (InDataLength % 4); + OutDataLength = OutDataLength - (OutDataLength % 4); + + /*Store In/out buffers pointers and size*/ + hjpeg->pJpegInBuffPtr = pDataInMCU; + hjpeg->pJpegOutBuffPtr = pDataOut; + hjpeg->InDataLength = InDataLength; + hjpeg->OutDataLength = OutDataLength; + + /*Reset In/out data counter */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /*Init decoding process*/ + JPEG_Init_Process(hjpeg); + + /*JPEG data processing : In/Out FIFO transfer*/ + while((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + + /* Update error code */ + hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /*Change JPEG state*/ + hjpeg->State= HAL_JPEG_STATE_READY; + + return HAL_TIMEOUT; + } + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /*Change JPEG state*/ + hjpeg->State= HAL_JPEG_STATE_READY; + + }else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_ERROR; + } + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts JPEG decoding with polling processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pDataIn: Pointer to the input data buffer + * @param InDataLength: size in bytes Input buffer + * @param pDataOutMCU: Pointer to the Output data buffer + * @param OutDataLength: size in bytes of the Output buffer + * @param Timeout: Specify Timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Decode(JPEG_HandleTypeDef *hjpeg ,uint8_t *pDataIn ,uint32_t InDataLength ,uint8_t *pDataOutMCU ,uint32_t OutDataLength, uint32_t Timeout) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param((InDataLength >= 4)); + assert_param((OutDataLength >= 4)); + + /* Check In/out buffer allocation and size */ + if((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hjpeg); + + /* Get tick */ + tickstart = HAL_GetTick(); + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + /*Change JPEG state*/ + hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; + + /*Set the Context to Decode with Polling*/ + /*Set the Context to Encode with Polling*/ + hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); + hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_POLLING); + + /*In/Out Data length must be multiple of 4 Bytes (1 word)*/ + InDataLength = InDataLength - (InDataLength % 4); + OutDataLength = OutDataLength - (OutDataLength % 4); + + /*Store In/out buffers pointers and size*/ + hjpeg->pJpegInBuffPtr = pDataIn; + hjpeg->pJpegOutBuffPtr = pDataOutMCU; + hjpeg->InDataLength = InDataLength; + hjpeg->OutDataLength = OutDataLength; + + /*Reset In/out data counter */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /*Init decoding process*/ + JPEG_Init_Process(hjpeg); + + /*JPEG data processing : In/Out FIFO transfer*/ + while((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + + /* Update error code */ + hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /*Change JPEG state*/ + hjpeg->State= HAL_JPEG_STATE_READY; + + return HAL_TIMEOUT; + } + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /*Change JPEG state*/ + hjpeg->State= HAL_JPEG_STATE_READY; + + }else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts JPEG encoding with interrupt processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pDataInMCU: Pointer to the Input buffer + * @param InDataLength: size in bytes Input buffer + * @param pDataOut: Pointer to the jpeg output data buffer + * @param OutDataLength: size in bytes of the Output buffer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Encode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataLength, uint8_t *pDataOut, uint32_t OutDataLength) +{ + /* Check the parameters */ + assert_param((InDataLength >= 4)); + assert_param((OutDataLength >= 4)); + + /* Check In/out buffer allocation and size */ + if((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State != HAL_JPEG_STATE_READY) + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } + else + { + if((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING ) + { + /*Change JPEG state*/ + hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; + + /*Set the Context to Encode with IT*/ + hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); + hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_IT); + + /*In/Out Data length must be multiple of 4 Bytes (1 word)*/ + InDataLength = InDataLength - (InDataLength % 4); + OutDataLength = OutDataLength - (OutDataLength % 4); + + /*Store In/out buffers pointers and size*/ + hjpeg->pJpegInBuffPtr = pDataInMCU; + hjpeg->pJpegOutBuffPtr = pDataOut; + hjpeg->InDataLength = InDataLength; + hjpeg->OutDataLength = OutDataLength; + + /*Reset In/out data counter */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /*Init decoding process*/ + JPEG_Init_Process(hjpeg); + + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_ERROR; + } + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts JPEG decoding with interrupt processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pDataIn: Pointer to the input data buffer + * @param InDataLength: size in bytes Input buffer + * @param pDataOutMCU: Pointer to the Output data buffer + * @param OutDataLength: size in bytes of the Output buffer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Decode_IT(JPEG_HandleTypeDef *hjpeg ,uint8_t *pDataIn ,uint32_t InDataLength ,uint8_t *pDataOutMCU ,uint32_t OutDataLength) +{ + /* Check the parameters */ + assert_param((InDataLength >= 4)); + assert_param((OutDataLength >= 4)); + + /* Check In/out buffer allocation and size */ + if((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + /*Change JPEG state*/ + hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; + + /*Set the Context to Decode with IT*/ + hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); + hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_IT); + + /*In/Out Data length must be multiple of 4 Bytes (1 word)*/ + InDataLength = InDataLength - (InDataLength % 4); + OutDataLength = OutDataLength - (OutDataLength % 4); + + /*Store In/out buffers pointers and size*/ + hjpeg->pJpegInBuffPtr = pDataIn; + hjpeg->pJpegOutBuffPtr = pDataOutMCU; + hjpeg->InDataLength = InDataLength; + hjpeg->OutDataLength = OutDataLength; + + /*Reset In/out data counter */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /*Init decoding process*/ + JPEG_Init_Process(hjpeg); + + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts JPEG encoding with DMA processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pDataInMCU: Pointer to the Input buffer + * @param InDataLength: size in bytes Input buffer + * @param pDataOut: Pointer to the jpeg output data buffer + * @param OutDataLength: size in bytes of the Output buffer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Encode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataLength, uint8_t *pDataOut, uint32_t OutDataLength) +{ + /* Check the parameters */ + assert_param((InDataLength >= 4)); + assert_param((OutDataLength >= 4)); + + /* Check In/out buffer allocation and size */ + if((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State != HAL_JPEG_STATE_READY) + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } + else + { + if((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING ) + { + /*Change JPEG state*/ + hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; + + /*Set the Context to Encode with DMA*/ + hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); + hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_DMA); + + /*Store In/out buffers pointers and size*/ + hjpeg->pJpegInBuffPtr = pDataInMCU; + hjpeg->pJpegOutBuffPtr = pDataOut; + hjpeg->InDataLength = InDataLength; + hjpeg->OutDataLength = OutDataLength; + + /*Reset In/out data counter */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /*Init decoding process*/ + JPEG_Init_Process(hjpeg); + + /* JPEG encoding process using DMA */ + JPEG_DMA_StartProcess(hjpeg); + + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_ERROR; + } + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts JPEG decoding with DMA processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pDataIn: Pointer to the input data buffer + * @param InDataLength: size in bytes Input buffer + * @param pDataOutMCU: Pointer to the Output data buffer + * @param OutDataLength: size in bytes of the Output buffer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Decode_DMA(JPEG_HandleTypeDef *hjpeg ,uint8_t *pDataIn ,uint32_t InDataLength ,uint8_t *pDataOutMCU ,uint32_t OutDataLength) +{ + /* Check the parameters */ + assert_param((InDataLength >= 4)); + assert_param((OutDataLength >= 4)); + + /* Check In/out buffer allocation and size */ + if((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hjpeg); + + if(hjpeg->State == HAL_JPEG_STATE_READY) + { + /*Change JPEG state*/ + hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; + + /*Set the Context to Decode with DMA*/ + hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); + hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_DMA); + + /*Store In/out buffers pointers and size*/ + hjpeg->pJpegInBuffPtr = pDataIn; + hjpeg->pJpegOutBuffPtr = pDataOutMCU; + hjpeg->InDataLength = InDataLength; + hjpeg->OutDataLength = OutDataLength; + + /*Reset In/out data counter */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /*Init decoding process*/ + JPEG_Init_Process(hjpeg); + + /* JPEG decoding process using DMA */ + JPEG_DMA_StartProcess(hjpeg); + + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_BUSY; + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Pause the JPEG Input/Output processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param XferSelection: This parameter can be one of the following values : + * JPEG_PAUSE_RESUME_INPUT : Pause Input processing + * JPEG_PAUSE_RESUME_OUTPUT: Pause Output processing + * JPEG_PAUSE_RESUME_INPUT_OUTPUT: Pause Input and Output processing + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Pause(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) +{ + uint32_t mask = 0; + + assert_param(IS_JPEG_PAUSE_RESUME_STATE(XferSelection)); + + if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) + { + if((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) + { + hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; + } + if((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) + { + hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; + } + } + else if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) + { + + if((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) + { + hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; + mask |= (JPEG_IT_IFT | JPEG_IT_IFNF); + } + if((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) + { + hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; + mask |= (JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC); + } + __HAL_JPEG_DISABLE_IT(hjpeg,mask); + + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Resume the JPEG Input/Output processing + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param XferSelection: This parameter can be one of the following values : + * JPEG_PAUSE_RESUME_INPUT : Resume Input processing + * JPEG_PAUSE_RESUME_OUTPUT: Resume Output processing + * JPEG_PAUSE_RESUME_INPUT_OUTPUT: Resume Input and Output processing + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Resume(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) +{ + uint32_t mask = 0; + uint32_t xfrSize = 0; + + assert_param(IS_JPEG_PAUSE_RESUME_STATE(XferSelection)); + + if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) + { + + if((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) + { + hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); + + /*if the MDMA In is triggred with JPEG In FIFO Threshold flag + then MDMA In buffer size is 32 bytes + + else (MDMA In is triggred with JPEG In FIFO not full flag) + then MDMA In buffer size is 4 bytes + */ + xfrSize = hjpeg->hdmain->Init.BufferTransferLength; + + /*MDMA transfer size (BNDTR) must be a multiple of MDMA buffer size (TLEN)*/ + hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % xfrSize); + + if(hjpeg->InDataLength > 0) + { + /* Start DMA FIFO In transfer */ + HAL_MDMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->DIR, hjpeg->InDataLength, 1); + } + } + if((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) + { + hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); + + if((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0) + { + JPEG_DMA_PollResidualData(hjpeg); + } + else + { + /*if the MDMA Out is triggred with JPEG Out FIFO Threshold flag + then MDMA out buffer size is 32 bytes + else (MDMA Out is triggred with JPEG Out FIFO not empty flag) + then MDMA buffer size is 4 bytes + */ + xfrSize = hjpeg->hdmaout->Init.BufferTransferLength; + + /*MDMA transfer size (BNDTR) must be a multiple of MDMA buffer size (TLEN)*/ + hjpeg->OutDataLength = hjpeg->OutDataLength - (hjpeg->OutDataLength % xfrSize); + + /* Start DMA FIFO Out transfer */ + HAL_MDMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuffPtr, hjpeg->OutDataLength, 1); + } + } + } + else if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) + { + if((XferSelection & JPEG_PAUSE_RESUME_INPUT) == JPEG_PAUSE_RESUME_INPUT) + { + hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); + mask |= (JPEG_IT_IFT | JPEG_IT_IFNF); + } + if((XferSelection & JPEG_PAUSE_RESUME_OUTPUT) == JPEG_PAUSE_RESUME_OUTPUT) + { + hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); + mask |= (JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC); + } + __HAL_JPEG_ENABLE_IT(hjpeg,mask); + + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Config Encoding/Decoding Input Buffer. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module. + * @param pNewInputBuffer: Pointer to the new input data buffer + * @param InDataLength: Size in bytes of the new Input data buffer + * @retval HAL status + */ +void HAL_JPEG_ConfigInputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewInputBuffer, uint32_t InDataLength) +{ + hjpeg->pJpegInBuffPtr = pNewInputBuffer; + hjpeg->InDataLength = InDataLength; +} + +/** + * @brief Config Encoding/Decoding Output Buffer. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module. + * @param pNewOutputBuffer: Pointer to the new output data buffer + * @param OutDataLength: Size in bytes of the new Output data buffer + * @retval HAL status + */ +void HAL_JPEG_ConfigOutputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewOutputBuffer, uint32_t OutDataLength) +{ + hjpeg->pJpegOutBuffPtr = pNewOutputBuffer; + hjpeg->OutDataLength = OutDataLength; +} + +/** + * @brief Aborts the JPEG Encoding/Decoding. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_JPEG_Abort(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t tickstart, tmpContext; + + tmpContext = hjpeg->Context; + + /*Reset the Context operation and method*/ + hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA); + + if((tmpContext & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) + { + /* Stop the DMA In/out Xfer*/ + HAL_MDMA_Abort(hjpeg->hdmaout); + HAL_MDMA_Abort(hjpeg->hdmain); + } + + /* Stop the JPEG encoding/decoding process*/ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Check if the JPEG Codec is effectively disabled */ + while(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_COF) != RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart ) > JPEG_TIMEOUT_VALUE) + { + /* Update error code */ + hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; + + /* Change the DMA state */ + hjpeg->State = HAL_JPEG_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + return HAL_TIMEOUT; + } + } + + /* Disable All Interrupts */ + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + + /* Flush input and output FIFOs*/ + hjpeg->Instance->CR |= JPEG_CR_IFF; + hjpeg->Instance->CR |= JPEG_CR_OFF; + + /* Clear all flags */ + __HAL_JPEG_CLEAR_FLAG(hjpeg,JPEG_FLAG_ALL); + + /* Reset JpegInCount and JpegOutCount */ + hjpeg->JpegInCount = 0; + hjpeg->JpegOutCount = 0; + + /*Reset the Context Pause*/ + hjpeg->Context &= ~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT); + + /* Change the DMA state*/ + hjpeg->State = HAL_JPEG_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Return function status */ + return HAL_OK; +} + + +/** + * @} + */ + +/** @defgroup JPEG_Exported_Functions_Group4 JPEG Decode/Encode callback functions + * @brief JPEG process callback functions. + * +@verbatim + ============================================================================== + ##### JPEG Decode and Encode callback functions ##### + ============================================================================== + [..] This section provides callback functions: + (+) HAL_JPEG_InfoReadyCallback() : Decoding JPEG Info ready callback + (+) HAL_JPEG_EncodeCpltCallback() : Encoding complete callback. + (+) HAL_JPEG_DecodeCpltCallback() : Decoding complete callback. + (+) HAL_JPEG_ErrorCallback() : JPEG error callback. + (+) HAL_JPEG_GetDataCallback() : Get New Data chunk callback. + (+) HAL_JPEG_DataReadyCallback() : Decoded/Encoded Data ready callback. + +@endverbatim + * @{ + */ + +/** + * @brief Decoding JPEG Info ready callback. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pInfo: pointer to a JPEG_ConfTypeDef structure that contains + * The JPEG decoded header informations + * @retval None + */ +__weak void HAL_JPEG_InfoReadyCallback(JPEG_HandleTypeDef *hjpeg,JPEG_ConfTypeDef *pInfo) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + UNUSED(pInfo); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_HeaderParsingCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Encoding complete callback. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +__weak void HAL_JPEG_EncodeCpltCallback(JPEG_HandleTypeDef *hjpeg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_EncodeCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Decoding complete callback. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +__weak void HAL_JPEG_DecodeCpltCallback(JPEG_HandleTypeDef *hjpeg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_EncodeCpltCallback could be implemented in the user file + */ +} + +/** + * @brief JPEG error callback. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ + __weak void HAL_JPEG_ErrorCallback(JPEG_HandleTypeDef *hjpeg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_ErrorCallback could be implemented in the user file + */ +} + +/** + * @brief Get New Data chunk callback. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param NbDecodedData: Number of consummed data in the previous chunk in bytes + * @retval None + */ + __weak void HAL_JPEG_GetDataCallback(JPEG_HandleTypeDef *hjpeg, uint32_t NbDecodedData) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + UNUSED(NbDecodedData); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_GetDataCallback could be implemented in the user file + */ +} + +/** + * @brief Decoded/Encoded Data ready callback. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param pDataOut: pointer to the output data buffer + * @param OutDataLength: number in bytes of data available in the specified output buffer + * @retval None + */ +__weak void HAL_JPEG_DataReadyCallback (JPEG_HandleTypeDef *hjpeg, uint8_t *pDataOut, uint32_t OutDataLength) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hjpeg); + UNUSED(pDataOut); + UNUSED(OutDataLength); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_JPEG_DataReadyCallback could be implemented in the user file + */ +} + +/** + * @} + */ + + +/** @defgroup JPEG_Exported_Functions_Group5 JPEG IRQ handler management + * @brief JPEG IRQ handler. + * +@verbatim + ============================================================================== + ##### JPEG IRQ handler management ##### + ============================================================================== + [..] This section provides JPEG IRQ handler function. + (+) HAL_JPEG_IRQHandler() : handles JPEG interrupt request + +@endverbatim + * @{ + */ + +/** + * @brief This function handles JPEG interrupt request. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +void HAL_JPEG_IRQHandler(JPEG_HandleTypeDef *hjpeg) +{ + switch(hjpeg->State) + { + case HAL_JPEG_STATE_BUSY_ENCODING: + case HAL_JPEG_STATE_BUSY_DECODING: + /* continue JPEG data encoding/Decoding*/ + /* JPEG data processing : In/Out FIFO transfer*/ + if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) + { + JPEG_Process(hjpeg); + } + else if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) + { + JPEG_DMA_ContinueProcess(hjpeg); + + } + + break; + + default: + break; + } +} + +/** + * @} + */ + +/** @defgroup JPEG_Exported_Functions_Group6 Peripheral State functions + * @brief Peripheral State functions. + * +@verbatim + ============================================================================== + ##### Peripheral State and Error functions ##### + ============================================================================== + [..] This section provides JPEG State and Errors function. + (+) HAL_JPEG_GetState() : permits to get in run-time the JPEG state. + (+) HAL_JPEG_GetError() : Returns the JPEG error code if any. + +@endverbatim + * @{ + */ + +/** + * @brief Returns the JPEG state. + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval JPEG state + */ +HAL_JPEG_STATETypeDef HAL_JPEG_GetState(JPEG_HandleTypeDef *hjpeg) +{ + return hjpeg->State; +} + +/** +* @brief Return the JPEG error code +* @param hjpeg : pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for the specified JPEG. +* @retval JPEG Error Code +*/ +uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg) +{ + return hjpeg->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + + +/** @addtogroup JPEG_Private_Functions + * @{ + */ + +/** + * @brief Generates Huffman sizes/Codes Table from Bits/vals Table + * @param Bits: pointer to bits table + * @param Huffsize: pointer to sizes table + * @param Huffcode: pointer to codes table + * @param LastK: pointer to last Coeff (table dimmension) + * @retval HAL status + */ +static HAL_StatusTypeDef JPEG_Bits_To_SizeCodes(uint8_t *Bits, uint8_t *Huffsize, uint32_t *Huffcode, uint32_t *LastK) +{ + uint32_t i, p, l, code, si; + + /* Figure C.1: Generation of table of Huffman code sizes */ + p = 0; + for (l = 0; l < 16; l++) + { + i = (uint32_t)Bits[l]; + if ( (p + i) > 256) + { /* check for table overflow */ + return HAL_ERROR; + } + while (i != 0) + { + Huffsize[p++] = (uint8_t) l+1; + i--; + } + } + Huffsize[p] = 0; + *LastK = p; + + /* Figure C.2: Generation of table of Huffman codes */ + code = 0; + si = Huffsize[0]; + p = 0; + while (Huffsize[p] != 0) + { + while (((uint32_t) Huffsize[p]) == si) + { + Huffcode[p++] = code; + code++; + } + /* code must fit in "size" bits (si), no code is allowed to be all ones*/ + if (((uint32_t) code) >= (((uint32_t) 1) << si)) + { + return HAL_ERROR; + } + code <<= 1; + si++; + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Transform a Bits/Vals AC Huffman table to sizes/Codes huffman Table + * that can programmed to the JPEG encoder registers + * @param AC_BitsValsTable: pointer to AC huffman bits/vals table + * @param AC_SizeCodesTable: pointer to AC huffman Sizes/Codes table + * @retval HAL status + */ +static HAL_StatusTypeDef JPEG_ACHuff_BitsVals_To_SizeCodes(JPEG_ACHuffTableTypeDef *AC_BitsValsTable, JPEG_AC_HuffCodeTableTypeDef *AC_SizeCodesTable) +{ + HAL_StatusTypeDef error; + uint8_t huffsize[257]; + uint32_t huffcode[257]; + uint32_t k; + uint32_t l,lsb, msb; + uint32_t lastK; + + error = JPEG_Bits_To_SizeCodes(AC_BitsValsTable->Bits, huffsize, huffcode, &lastK); + if(error != HAL_OK) + { + return error; + } + + /* Figure C.3: Ordering procedure for encoding procedure code tables */ + k=0; + + while(k < lastK) + { + l = AC_BitsValsTable->HuffVal[k]; + if(l == 0) + { + l = 160; /*l = 0x00 EOB code*/ + } + else if(l == 0xF0)/* l = 0xF0 ZRL code*/ + { + l = 161; + } + else + { + msb = (l & 0xF0) >> 4; + lsb = (l & 0x0F); + l = (msb * 10) + lsb - 1; + } + if(l >= JPEG_AC_HUFF_TABLE_SIZE) + { + return HAL_ERROR; /* Huffman Table overflow error*/ + } + else + { + AC_SizeCodesTable->HuffmanCode[l] = huffcode[k]; + AC_SizeCodesTable->CodeLength[l] = huffsize[k] - 1; + k++; + } + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Transform a Bits/Vals DC Huffman table to sizes/Codes huffman Table + * that can programmed to the JPEG encoder registers + * @param DC_BitsValsTable: pointer to DC huffman bits/vals table + * @param DC_SizeCodesTable: pointer to DC huffman Sizes/Codes table + * @retval HAL status + */ +static HAL_StatusTypeDef JPEG_DCHuff_BitsVals_To_SizeCodes(JPEG_DCHuffTableTypeDef *DC_BitsValsTable, JPEG_DC_HuffCodeTableTypeDef *DC_SizeCodesTable) +{ + HAL_StatusTypeDef error; + + uint32_t k; + uint32_t l; + uint32_t lastK; + uint8_t huffsize[257]; + uint32_t huffcode[257]; + error = JPEG_Bits_To_SizeCodes(DC_BitsValsTable->Bits, huffsize, huffcode, &lastK); + if(error != HAL_OK) + { + return error; + } + /* Figure C.3: ordering procedure for encoding procedure code tables */ + k=0; + + while(k < lastK) + { + l = DC_BitsValsTable->HuffVal[k]; + if(l >= JPEG_DC_HUFF_TABLE_SIZE) + { + return HAL_ERROR; /* Huffman Table overflow error*/ + } + else + { + DC_SizeCodesTable->HuffmanCode[l] = huffcode[k]; + DC_SizeCodesTable->CodeLength[l] = huffsize[k] - 1; + k++; + } + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Set the JPEG register with an DC huffman table at the given DC table address + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param HuffTableDC: pointer to DC huffman table + * @param DCTableAddress: Encoder DC huffman table address it could be HUFFENC_DC0 or HUFFENC_DC1. + * @retval HAL status + */ +static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeDef *HuffTableDC, __IO uint32_t *DCTableAddress) +{ + HAL_StatusTypeDef error = HAL_OK; + JPEG_DC_HuffCodeTableTypeDef dcSizeCodesTable; + uint32_t i, lsb, msb; + __IO uint32_t *address, *addressDef; + + if(DCTableAddress == (hjpeg->Instance->HUFFENC_DC0)) + { + address = (hjpeg->Instance->HUFFENC_DC0 + (JPEG_DC_HUFF_TABLE_SIZE/2)); + } + else if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC1)) + { + address = (hjpeg->Instance->HUFFENC_DC1 + (JPEG_DC_HUFF_TABLE_SIZE/2)); + } + else + { + return HAL_ERROR; + } + + if(HuffTableDC != NULL) + { + error = JPEG_DCHuff_BitsVals_To_SizeCodes(HuffTableDC, &dcSizeCodesTable); + if(error != HAL_OK) + { + return error; + } + addressDef = address; + *addressDef = 0x0FFF0FFF; + addressDef++; + *addressDef = 0x0FFF0FFF; + + i = JPEG_DC_HUFF_TABLE_SIZE; + while(i>0) + { + i--; + address --; + msb = ((uint32_t)(((uint32_t)dcSizeCodesTable.CodeLength[i] & 0xF) << 8 )) | ((uint32_t)dcSizeCodesTable.HuffmanCode[i] & 0xFF); + i--; + lsb = ((uint32_t)(((uint32_t)dcSizeCodesTable.CodeLength[i] & 0xF) << 8 )) | ((uint32_t)dcSizeCodesTable.HuffmanCode[i] & 0xFF); + + *address = lsb | (msb << 16); + } + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Set the JPEG register with an AC huffman table at the given AC table address + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param HuffTableAC: pointer to AC huffman table + * @param ACTableAddress: Encoder AC huffman table address it could be HUFFENC_AC0 or HUFFENC_AC1. + * @retval HAL status + */ +static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *HuffTableAC, __IO uint32_t *ACTableAddress) +{ + HAL_StatusTypeDef error = HAL_OK; + JPEG_AC_HuffCodeTableTypeDef acSizeCodesTable; + uint32_t i, lsb, msb; + __IO uint32_t *address, *addressDef; + + if(ACTableAddress == (hjpeg->Instance->HUFFENC_AC0)) + { + address = (hjpeg->Instance->HUFFENC_AC0 + (JPEG_AC_HUFF_TABLE_SIZE/2)); + } + else if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC1)) + { + address = (hjpeg->Instance->HUFFENC_AC1 + (JPEG_AC_HUFF_TABLE_SIZE/2)); + } + else + { + return HAL_ERROR; + } + + if(HuffTableAC != NULL) + { + error = JPEG_ACHuff_BitsVals_To_SizeCodes(HuffTableAC, &acSizeCodesTable); + if(error != HAL_OK) + { + return error; + } + /* Default values settings: 162:167 FFFh , 168:175 FD0h_FD7h */ + /* Locations 162:175 of each AC table contain information used internally by the core */ + + addressDef = address; + for(i=0; i<3; i++) + { + *addressDef = 0x0FFF0FFF; + addressDef++; + } + *addressDef = 0x0FD10FD0; + addressDef++; + *addressDef = 0x0FD30FD2; + addressDef++; + *addressDef = 0x0FD50FD4; + addressDef++; + *addressDef = 0x0FD70FD6; + /* end of Locations 162:175 */ + + + i = JPEG_AC_HUFF_TABLE_SIZE; + while (i > 0) + { + i--; + address--; + msb = ((uint32_t)(((uint32_t)acSizeCodesTable.CodeLength[i] & 0xF) << 8 )) | ((uint32_t)acSizeCodesTable.HuffmanCode[i] & 0xFF); + i--; + lsb = ((uint32_t)(((uint32_t)acSizeCodesTable.CodeLength[i] & 0xF) << 8 )) | ((uint32_t)acSizeCodesTable.HuffmanCode[i] & 0xFF); + + *address = lsb | (msb << 16); + } + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Configure the JPEG encoder register huffman tables to used during + * the encdoing operation + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param HuffTableAC0: AC0 huffman table + * @param HuffTableDC0: DC0 huffman table + * @param HuffTableAC1: AC1 huffman table + * @param HuffTableDC1: DC1 huffman table + * @retval None + */ +static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *HuffTableAC0, JPEG_DCHuffTableTypeDef *HuffTableDC0 , JPEG_ACHuffTableTypeDef *HuffTableAC1, JPEG_DCHuffTableTypeDef *HuffTableDC1) +{ + HAL_StatusTypeDef error = HAL_OK; + + JPEG_Set_Huff_DHTMem(hjpeg, HuffTableAC0, HuffTableDC0, HuffTableAC1, HuffTableDC1); + + if(HuffTableAC0 != NULL) + { + error = JPEG_Set_HuffAC_Mem(hjpeg, HuffTableAC0, (hjpeg->Instance->HUFFENC_AC0)); + if(error != HAL_OK) + { + return error; + } + } + + if(HuffTableAC1 != NULL) + { + error = JPEG_Set_HuffAC_Mem(hjpeg, HuffTableAC1, (hjpeg->Instance->HUFFENC_AC1)); + if(error != HAL_OK) + { + return error; + } + } + + if(HuffTableDC0 != NULL) + { + error = JPEG_Set_HuffDC_Mem(hjpeg, HuffTableDC0, hjpeg->Instance->HUFFENC_DC0); + if(error != HAL_OK) + { + return error; + } + } + + if(HuffTableDC1 != NULL) + { + error = JPEG_Set_HuffDC_Mem(hjpeg, HuffTableDC1, hjpeg->Instance->HUFFENC_DC1); + if(error != HAL_OK) + { + return error; + } + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Configure the JPEG register huffman tables to be included in the JPEG + * file header (used for encoding only) + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param HuffTableAC0: AC0 huffman table + * @param HuffTableDC0: DC0 huffman table + * @param HuffTableAC1: AC1 huffman table + * @param HuffTableDC1: DC1 huffman table + * @retval None + */ +static void JPEG_Set_Huff_DHTMem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *HuffTableAC0, JPEG_DCHuffTableTypeDef *HuffTableDC0 , JPEG_ACHuffTableTypeDef *HuffTableAC1, JPEG_DCHuffTableTypeDef *HuffTableDC1) +{ + uint32_t value, index; + __IO uint32_t *address; + if(HuffTableDC0 != NULL) + { + /* DC0 Huffman Table : BITS*/ + /* DC0 BITS is a 16 Bytes table i.e 4x32bits words from DHTMEM base address to DHTMEM + 3*/ + address = (hjpeg->Instance->DHTMEM + 3); + index = 16; + while(index > 0) + { + + *address = (((uint32_t)HuffTableDC0->Bits[index-1] & 0xFF) << 24)| + (((uint32_t)HuffTableDC0->Bits[index-2] & 0xFF) << 16)| + (((uint32_t)HuffTableDC0->Bits[index-3] & 0xFF) << 8) | + ((uint32_t)HuffTableDC0->Bits[index-4] & 0xFF); + address--; + index -=4; + + } + /* DC0 Huffman Table : Val*/ + /* DC0 VALS is a 12 Bytes table i.e 3x32bits words from DHTMEM base address +4 to DHTMEM + 6 */ + address = (hjpeg->Instance->DHTMEM + 6); + index = 12; + while(index > 0) + { + *address = (((uint32_t)HuffTableDC0->HuffVal[index-1] & 0xFF) << 24)| + (((uint32_t)HuffTableDC0->HuffVal[index-2] & 0xFF) << 16)| + (((uint32_t)HuffTableDC0->HuffVal[index-3] & 0xFF) << 8) | + ((uint32_t)HuffTableDC0->HuffVal[index-4] & 0xFF); + address--; + index -=4; + } + } + + if(HuffTableAC0 != NULL) + { + /* AC0 Huffman Table : BITS*/ + /* AC0 BITS is a 16 Bytes table i.e 4x32bits words from DHTMEM base address + 7 to DHTMEM + 10*/ + address = (hjpeg->Instance->DHTMEM + 10); + index = 16; + while(index > 0) + { + + *address = (((uint32_t)HuffTableAC0->Bits[index-1] & 0xFF) << 24)| + (((uint32_t)HuffTableAC0->Bits[index-2] & 0xFF) << 16)| + (((uint32_t)HuffTableAC0->Bits[index-3] & 0xFF) << 8) | + ((uint32_t)HuffTableAC0->Bits[index-4] & 0xFF); + address--; + index -=4; + + } + /* AC0 Huffman Table : Val*/ + /* AC0 VALS is a 162 Bytes table i.e 41x32bits words from DHTMEM base address + 11 to DHTMEM + 51 */ + /* only Byte 0 and Byte 1 of the last word (@ DHTMEM + 51) belong to AC0 VALS table */ + address = (hjpeg->Instance->DHTMEM + 51); + value = *address & 0xFFFF0000U; + value = value | (((uint32_t)HuffTableAC0->HuffVal[161] & 0xFF) << 8) | ((uint32_t)HuffTableAC0->HuffVal[160] & 0xFF); + *address = value; + + /*continue setting 160 AC0 huffman values */ + address--; /* address = hjpeg->Instance->DHTMEM + 50*/ + index = 160; + while(index > 0) + { + *address = (((uint32_t)HuffTableAC0->HuffVal[index-1] & 0xFF) << 24)| + (((uint32_t)HuffTableAC0->HuffVal[index-2] & 0xFF) << 16)| + (((uint32_t)HuffTableAC0->HuffVal[index-3] & 0xFF) << 8) | + ((uint32_t)HuffTableAC0->HuffVal[index-4] & 0xFF); + address--; + index -=4; + } + } + + if(HuffTableDC1 != NULL) + { + /* DC1 Huffman Table : BITS*/ + /* DC1 BITS is a 16 Bytes table i.e 4x32bits words from DHTMEM + 51 base address to DHTMEM + 55*/ + /* only Byte 2 and Byte 3 of the first word (@ DHTMEM + 51) belong to DC1 Bits table */ + address = (hjpeg->Instance->DHTMEM + 51); + value = *address & 0x0000FFFFU; + value = value | (((uint32_t)HuffTableDC1->Bits[1] & 0xFF) << 24) | (((uint32_t)HuffTableDC1->Bits[0] & 0xFF) << 16); + *address = value; + + /* only Byte 0 and Byte 1 of the last word (@ DHTMEM + 55) belong to DC1 Bits table */ + address = (hjpeg->Instance->DHTMEM + 55); + value = *address & 0xFFFF0000U; + value = value | (((uint32_t)HuffTableDC1->Bits[15] & 0xFF) << 8) | ((uint32_t)HuffTableDC1->Bits[14] & 0xFF); + *address = value; + + /*continue setting 12 DC1 huffman Bits from DHTMEM + 54 down to DHTMEM + 52*/ + address--; + index = 12; + while(index > 0) + { + + *address = (((uint32_t)HuffTableDC1->Bits[index+1] & 0xFF) << 24)| + (((uint32_t)HuffTableDC1->Bits[index] & 0xFF) << 16)| + (((uint32_t)HuffTableDC1->Bits[index-1] & 0xFF) << 8) | + ((uint32_t)HuffTableDC1->Bits[index-2] & 0xFF); + address--; + index -=4; + + } + /* DC1 Huffman Table : Val*/ + /* DC1 VALS is a 12 Bytes table i.e 3x32bits words from DHTMEM base address +55 to DHTMEM + 58 */ + /* only Byte 2 and Byte 3 of the first word (@ DHTMEM + 55) belong to DC1 Val table */ + address = (hjpeg->Instance->DHTMEM + 55); + value = *address & 0x0000FFFF; + value = value | (((uint32_t)HuffTableDC1->HuffVal[1] & 0xFF) << 24) | (((uint32_t)HuffTableDC1->HuffVal[0] & 0xFF) << 16); + *address = value; + + /* only Byte 0 and Byte 1 of the last word (@ DHTMEM + 58) belong to DC1 Val table */ + address = (hjpeg->Instance->DHTMEM + 58); + value = *address & 0xFFFF0000U; + value = value | (((uint32_t)HuffTableDC1->HuffVal[11] & 0xFF) << 8) | ((uint32_t)HuffTableDC1->HuffVal[10] & 0xFF); + *address = value; + + /*continue setting 8 DC1 huffman val from DHTMEM + 57 down to DHTMEM + 56*/ + address--; + index = 8; + while(index > 0) + { + *address = (((uint32_t)HuffTableDC1->HuffVal[index+1] & 0xFF) << 24)| + (((uint32_t)HuffTableDC1->HuffVal[index] & 0xFF) << 16)| + (((uint32_t)HuffTableDC1->HuffVal[index-1] & 0xFF) << 8) | + ((uint32_t)HuffTableDC1->HuffVal[index-2] & 0xFF); + address--; + index -=4; + } + } + + if(HuffTableAC1 != NULL) + { + /* AC1 Huffman Table : BITS*/ + /* AC1 BITS is a 16 Bytes table i.e 4x32bits words from DHTMEM base address + 58 to DHTMEM + 62*/ + /* only Byte 2 and Byte 3 of the first word (@ DHTMEM + 58) belong to AC1 Bits table */ + address = (hjpeg->Instance->DHTMEM + 58); + value = *address & 0x0000FFFFU; + value = value | (((uint32_t)HuffTableAC1->Bits[1] & 0xFF) << 24) | (((uint32_t)HuffTableAC1->Bits[0] & 0xFF) << 16); + *address = value; + + /* only Byte 0 and Byte 1 of the last word (@ DHTMEM + 62) belong to Bits Val table */ + address = (hjpeg->Instance->DHTMEM + 62); + value = *address & 0xFFFF0000U; + value = value | (((uint32_t)HuffTableAC1->Bits[15] & 0xFF) << 8) | ((uint32_t)HuffTableAC1->Bits[14] & 0xFF); + *address = value; + + /*continue setting 12 AC1 huffman Bits from DHTMEM + 61 down to DHTMEM + 59*/ + address--; + index = 12; + while(index > 0) + { + + *address = (((uint32_t)HuffTableAC1->Bits[index+1] & 0xFF) << 24)| + (((uint32_t)HuffTableAC1->Bits[index] & 0xFF) << 16)| + (((uint32_t)HuffTableAC1->Bits[index-1] & 0xFF) << 8) | + ((uint32_t)HuffTableAC1->Bits[index-2] & 0xFF); + address--; + index -=4; + + } + /* AC1 Huffman Table : Val*/ + /* AC1 VALS is a 162 Bytes table i.e 41x32bits words from DHTMEM base address + 62 to DHTMEM + 102 */ + /* only Byte 2 and Byte 3 of the first word (@ DHTMEM + 62) belong to AC1 VALS table */ + address = (hjpeg->Instance->DHTMEM + 62); + value = *address & 0x0000FFFF; + value = value | (((uint32_t)HuffTableAC1->HuffVal[1] & 0xFF) << 24) | (((uint32_t)HuffTableAC1->HuffVal[0] & 0xFF) << 16); + *address = value; + + /*continue setting 160 AC1 huffman values from DHTMEM + 63 to DHTMEM+102 */ + address = (hjpeg->Instance->DHTMEM + 102); + index = 160; + while(index > 0) + { + *address = (((uint32_t)HuffTableAC1->HuffVal[index+1] & 0xFF) << 24)| + (((uint32_t)HuffTableAC1->HuffVal[index] & 0xFF) << 16)| + (((uint32_t)HuffTableAC1->HuffVal[index-1] & 0xFF) << 8) | + ((uint32_t)HuffTableAC1->HuffVal[index-2] & 0xFF); + address--; + index -=4; + } + } +} + +/** + * @brief Configure the JPEG registers with a given quantization table + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param QTable: pointer to an array of 64 bytes giving the quantization table + * @param QTableAddress: destination quantization address in the JPEG peripheral + * it could be QMEM0, QMEM1, QMEM2 or QMEM3 + * @retval None + */ +static HAL_StatusTypeDef JPEG_Set_Quantization_Mem(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable, __IO uint32_t *QTableAddress) +{ + uint32_t i, j, quantRow, quantVal, ScaleFactor; + __IO uint32_t *tableAddress; + + if((QTableAddress == ((hjpeg->Instance->QMEM0))) || + (QTableAddress == ((hjpeg->Instance->QMEM1))) || + (QTableAddress == ((hjpeg->Instance->QMEM2))) || + (QTableAddress == ((hjpeg->Instance->QMEM3)))) + { + tableAddress = QTableAddress; + } + else + { + return HAL_ERROR; + } + + if ((hjpeg->Conf.ImageQuality >= 50) && (hjpeg->Conf.ImageQuality <= 100)) + { + ScaleFactor = 200 - (hjpeg->Conf.ImageQuality * 2); + } + else if (hjpeg->Conf.ImageQuality > 0) + { + ScaleFactor = ((uint32_t) 5000) / ((uint32_t) hjpeg->Conf.ImageQuality); + } + else + { + return HAL_ERROR; + } + + /*Quantization_table = (Standard_quanization_table * ScaleFactor + 50) / 100*/ + i = 0; + while( i < JPEG_QUANT_TABLE_SIZE) + { + quantRow = 0; + for(j=0; j<4; j++) + { + /* Note that the quantization coefficients must be specified in the table in zigzag order */ + quantVal = ((((uint32_t) QTable[JPEG_ZIGZAG_ORDER[i+j]]) * ScaleFactor) + 50) / 100; + + if(quantVal == 0) + { + quantVal = 1; + } + else if (quantVal > 255) + { + quantVal = 255; + } + + quantRow |= ((quantVal & 0xFF) << (8 * j)); + } + + i += 4; + *tableAddress = quantRow; + tableAddress ++; + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Configure the JPEG registers for YCbCr color space + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t ySamplingH; + uint32_t ySamplingV; + uint32_t yblockNb; + + /*Set Number of color components to 3*/ + hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_NF; + hjpeg->Instance->CONFR1 |= JPEG_CONFR1_NF_1; + + /* compute MCU block size and Y, Cb ,Cr sampling factors*/ + if(hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) + { + ySamplingH = JPEG_CONFR4_HSF_1; /* Hs = 2*/ + ySamplingV = JPEG_CONFR4_VSF_1; /* Vs = 2*/ + + yblockNb = 0x30; /* 4 blocks of 8x8*/ + } + else if(hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) + { + ySamplingH = JPEG_CONFR4_HSF_1; /* Hs = 2*/ + ySamplingV = JPEG_CONFR4_VSF_0; /* Vs = 1*/ + + yblockNb = 0x10; /* 2 blocks of 8x8*/ + } + else /*JPEG_444_SUBSAMPLING and default*/ + { + ySamplingH = JPEG_CONFR4_HSF_0; /* Hs = 1*/ + ySamplingV = JPEG_CONFR4_VSF_0; /* Vs = 1*/ + + yblockNb = 0; /* 1 block of 8x8*/ + } + + hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); + hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF_1 | JPEG_CONFR1_NS_1); + + /*Reset CONFR4 register*/ + hjpeg->Instance->CONFR4 = 0; + /*Set Horizental and Vertical sampling factor , number of blocks , Quantization table and Huffman AC/DC tables for component 0*/ + hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB) ); + + /*Reset CONFR5 register*/ + hjpeg->Instance->CONFR5 = 0; + /*Set Horizental and Vertical sampling factor , number of blocks , Quantization table and Huffman AC/DC tables for component 1*/ + hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0 | JPEG_CONFR5_QT_0 | JPEG_CONFR5_HA | JPEG_CONFR5_HD); + + /*Reset CONFR6 register*/ + hjpeg->Instance->CONFR6 = 0; + /*Set Horizental and Vertical sampling factor and number of blocks for component 2*/ + /* In YCBCR , by default, both chrominance components (component 1 and component 2) use the same Quantization table (table 1) */ + /* In YCBCR , both chrominance components (component 1 and component 2) use the same Huffman tables (table 1) */ + hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0 | JPEG_CONFR6_QT_0 | JPEG_CONFR6_HA | JPEG_CONFR6_HD); + +} + +/** + * @brief Configure the JPEG registers for GrayScale color space + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg) +{ + /*Set Number of color components to 1*/ + hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); + + /*in GrayScale use 1 single Quantization table (Table 0)*/ + /*in GrayScale use only one couple of AC/DC huffman table (table 0)*/ + + /*Reset CONFR4 register*/ + hjpeg->Instance->CONFR4 = 0; + /*Set Horizental and Vertical sampling factor , number of blocks , Quantization table and Huffman AC/DC tables for component 0*/ + hjpeg->Instance->CONFR4 |= JPEG_CONFR4_HSF_0 | JPEG_CONFR4_VSF_0 ; +} + +/** + * @brief Configure the JPEG registers for CMYK color space + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t ySamplingH; + uint32_t ySamplingV; + uint32_t yblockNb; + + /*Set Number of color components to 4*/ + hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF | JPEG_CONFR1_NS); + + /* compute MCU block size and Y, Cb ,Cr sampling factors*/ + if(hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) + { + ySamplingH = JPEG_CONFR4_HSF_1; /* Hs = 2*/ + ySamplingV = JPEG_CONFR4_VSF_1; /* Vs = 2*/ + + yblockNb = 0x30; /* 4 blocks of 8x8*/ + } + else if(hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) + { + ySamplingH = JPEG_CONFR4_HSF_1; /* Hs = 2*/ + ySamplingV = JPEG_CONFR4_VSF_0; /* Vs = 1*/ + + yblockNb = 0x10; /* 2 blocks of 8x8*/ + } + else /*JPEG_444_SUBSAMPLING and default*/ + { + ySamplingH = JPEG_CONFR4_HSF_0; /* Hs = 1*/ + ySamplingV = JPEG_CONFR4_VSF_0; /* Vs = 1*/ + + yblockNb = 0; /* 1 block of 8x8*/ + } + + /*Reset CONFR4 register*/ + hjpeg->Instance->CONFR4 = 0; + /*Set Horizental and Vertical sampling factor , number of blocks , Quantization table and Huffman AC/DC tables for component 0*/ + hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB) ); + + /*Reset CONFR5 register*/ + hjpeg->Instance->CONFR5 = 0; + /*Set Horizental and Vertical sampling factor , number of blocks , Quantization table and Huffman AC/DC tables for component 1*/ + hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0); + + /*Reset CONFR6 register*/ + hjpeg->Instance->CONFR6 = 0; + /*Set Horizental and Vertical sampling factor , number of blocks , Quantization table and Huffman AC/DC tables for component 2*/ + hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0); + + /*Reset CONFR7 register*/ + hjpeg->Instance->CONFR7 = 0; + /*Set Horizental and Vertical sampling factor , number of blocks , Quantization table and Huffman AC/DC tables for component 3*/ + hjpeg->Instance->CONFR7 |= (JPEG_CONFR7_HSF_0 | JPEG_CONFR7_VSF_0); +} + +/** + * @brief Init the JPEG encoding/decoding process in case of Polling or Interrupt and DMA + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None + */ +static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg) +{ + /*Reset pause*/ + hjpeg->Context &= (~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)); + + if((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) + { + /*Set JPEG Codec to Decoding mode */ + hjpeg->Instance->CONFR1 |= JPEG_CONFR1_DE; + } + else if((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_ENCODE) + { + /*Set JPEG Codec to Encoding mode */ + hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_DE; + } + + /*Stop JPEG processing */ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + /* Disable All Interrupts */ + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + + /* Flush input and output FIFOs*/ + hjpeg->Instance->CR |= JPEG_CR_IFF; + hjpeg->Instance->CR |= JPEG_CR_OFF; + + /* Clear all flags */ + __HAL_JPEG_CLEAR_FLAG(hjpeg,JPEG_FLAG_ALL); + + /*Start Encoding/Decoding*/ + hjpeg->Instance->CONFR0 |= JPEG_CONFR0_START; + + if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) + { + /*Enable IN/OUT, end of Conversation, and end of header parsing interruptions*/ + __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_IFT | JPEG_IT_IFNF | JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC |JPEG_IT_HPD); + } + else if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) + { + /*Enable End Of Conversation, and End Of Header parsing interruptions*/ + __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC |JPEG_IT_HPD); + + } +} + +/** + * @brief JPEG encoding/decoding process in case of Polling or Interrupt + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval JPEG_PROCESS_DONE if the process has ends else JPEG_PROCESS_ONGOING + */ +static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t tmpContext; + + /*End of header processing flag rised*/ + if(((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) && (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_HPDF) != RESET)) + { + /*Call Header parsing complet callback */ + HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); + /* Reset the ImageQuality */ + hjpeg->Conf.ImageQuality = 0; + /* Note : the image quality is only available at the end of the decoding operation */ + /* at the current stage the calculated image quality is not correct so reset it */ + + /*Call Info Ready callback */ + HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); + + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_IT_HPD); + + /* Clear header processing done flag */ + __HAL_JPEG_CLEAR_FLAG(hjpeg,JPEG_FLAG_HPDF); + } + + /*Input FIFO status handling*/ + if((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0) + { + if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_IFTF) != RESET) + { + /*Input FIFO threshold flag rised*/ + /*4 words (16 bytes) can be written in */ + JPEG_ReadInputData(hjpeg,JPEG_FIFO_TH_SIZE); + } + else if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_IFNFF) != RESET) + { + /*Input FIFO Not Full flag rised*/ + /*32-bit value can be written in */ + JPEG_ReadInputData(hjpeg,1); + } + } + + + /*Output FIFO flag handling*/ + if((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0) + { + if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFTF) != RESET) + { + /*Output FIFO threshold flag rised*/ + /*4 words (16 bytes) can be read out */ + JPEG_StoreOutputData(hjpeg, JPEG_FIFO_TH_SIZE); + } + else if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != RESET) + { + /*Output FIFO Not Empty flag rised*/ + /*32-bit value can be read out */ + JPEG_StoreOutputData(hjpeg, 1); + } + } + + /*End of Conversion handling :i.e EOC flag is high and OFTF low and OFNEF low*/ + if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF | JPEG_FLAG_OFTF | JPEG_FLAG_OFNEF) == JPEG_FLAG_EOCF) + { + /*Stop Encoding/Decoding*/ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + if((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) + { + /* Disable All Interrupts */ + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + } + + /* Clear all flags */ + __HAL_JPEG_CLEAR_FLAG(hjpeg,JPEG_FLAG_ALL); + + /*Call End of conversion callback */ + if(hjpeg->JpegOutCount > 0) + { + /*Output Buffer is not empty, call DecodedDataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + } + + /*Reset Context Operation*/ + tmpContext = hjpeg->Context; + /*Clear all context fields execpt JPEG_CONTEXT_CONF_ENCODING and JPEG_CONTEXT_CUSTOM_TABLES*/ + hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_READY; + + /*Call End of Encoding/Decoding callback */ + if((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) + { + HAL_JPEG_DecodeCpltCallback(hjpeg); + } + else if((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_ENCODE) + { + HAL_JPEG_EncodeCpltCallback(hjpeg); + } + + return JPEG_PROCESS_DONE; + } + + + return JPEG_PROCESS_ONGOING; +} + +/** + * @brief Store some output data from the JPEG peripheral to the output buffer. + * This function is used when the JPEG peripheral has new data to output + * in case of Polling or Interrupt process + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param nbOutputWords: Number of output words (of 32 bits) ready from the JPEG peripheral + * @retval None + */ +static void JPEG_StoreOutputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbOutputWords) +{ + uint32_t index, nBwords, nbBytes , dataword; + + if(hjpeg->OutDataLength >= (hjpeg->JpegOutCount + (nbOutputWords*4))) + { + for(index = 0; index < nbOutputWords; index++) + { + /*Transfer 32 bits from the JPEG output FIFO*/ + dataword = hjpeg->Instance->DOR; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = dataword & 0x000000FF; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1] = (dataword & 0x0000FF00) >> 8; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2] = (dataword & 0x00FF0000) >> 16; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3] = (dataword & 0xFF000000) >> 24; + hjpeg->JpegOutCount += 4; + } + if(hjpeg->OutDataLength == hjpeg->JpegOutCount) + { + /*Output Buffer is full, call DecodedDataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + } + } + else if(hjpeg->OutDataLength > hjpeg->JpegOutCount) + { + nBwords = (hjpeg->OutDataLength - hjpeg->JpegOutCount)/4; + for(index = 0; index < nBwords; index++) + { + /*Transfer 32 bits from the JPEG output FIFO*/ + dataword = hjpeg->Instance->DOR; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = dataword & 0x000000FF; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1] = (dataword & 0x0000FF00) >> 8; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2] = (dataword & 0x00FF0000) >> 16; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3] = (dataword & 0xFF000000) >> 24; + hjpeg->JpegOutCount += 4; + } + if(hjpeg->OutDataLength == hjpeg->JpegOutCount) + { + /*Output Buffer is full, call DecodedDataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + } + else + { + nbBytes = hjpeg->OutDataLength - hjpeg->JpegOutCount; + dataword = hjpeg->Instance->DOR; + for(index = 0; index < nbBytes; index++) + { + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (dataword >> (8*index)) & 0xFF; + hjpeg->JpegOutCount++; + } + /*Output Buffer is full, call DecodedDataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + + nbBytes = 4 - nbBytes; + for(index = nbBytes; index < 4; index++) + { + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (dataword >> (8*index)) & 0xFF; + hjpeg->JpegOutCount++; + } + } + } +} + +/** + * @brief Read some input Data from the input buffer. + * This function is used when the JPEG peripheral needs new data + * in case of Polling or Interrupt process + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @param nbRequestWords: Number of input words (of 32 bits) that the JPE peripheral request + * @retval None + */ +static void JPEG_ReadInputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbRequestWords) +{ + uint32_t nbBytes = 0, nBwords = 0, index = 0, Dataword = 0, inputCount = 0; + + if((hjpeg->InDataLength == 0) || (nbRequestWords == 0)) + { + /* No more Input data : nothing to do*/ + HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_INPUT); + } + else if(hjpeg->InDataLength > hjpeg->JpegInCount) + { + nbBytes = hjpeg->InDataLength - hjpeg->JpegInCount; + } + else if(hjpeg->InDataLength == hjpeg->JpegInCount) + { + /*Call HAL_JPEG_GetDataCallback to get new data */ + HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); + if(hjpeg->InDataLength > 4) + { + hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4); + } + hjpeg->JpegInCount = 0; + nbBytes = hjpeg->InDataLength; + } + if((nbBytes > 0) && ((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0)) + { + nBwords = nbBytes / 4; + if(nBwords >= nbRequestWords) + { + for(index = 0; index < nbRequestWords; index++) + { + inputCount = hjpeg->JpegInCount; + hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount])) | (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount + 1])) << 8) |\ + (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount + 2])) << 16) | (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount + 3])) << 24)); + + hjpeg->JpegInCount += 4; + } + } + else /*nBwords < nbRequestWords*/ + { + if(nBwords > 0) + { + for(index = 0; index < nBwords; index++) + { + inputCount = hjpeg->JpegInCount; + hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount])) | (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount + 1])) << 8) |\ + (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount + 2])) << 16) | (((uint32_t)(hjpeg->pJpegInBuffPtr[inputCount + 3])) << 24)); + + hjpeg->JpegInCount += 4; + } + } + else + { + /* end of file*/ + Dataword = 0; + for(index=0; index< nbBytes; index++) + { + Dataword |= (uint32_t)hjpeg->pJpegInBuffPtr[hjpeg->JpegInCount] << (8 * index); + hjpeg->JpegInCount++; + } + hjpeg->Instance->DIR = Dataword; + } + } + } +} + +/** + * @brief Start the JPEG DMA process (encoding/decoding) + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval JPEG_PROCESS_DONE if process ends else JPEG_PROCESS_ONGOING + */ +static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t inXfrSize, outXfrSize; + + /*if the MDMA In is triggred with JPEG In FIFO Threshold flag + then MDMA In buffer size is 32 bytes + else (MDMA In is triggred with JPEG In FIFO not full flag) + then MDMA In buffer size is 4 bytes + */ + inXfrSize = hjpeg->hdmain->Init.BufferTransferLength; + + /*if the MDMA Out is triggred with JPEG Out FIFO Threshold flag + then MDMA out buffer size is 32 bytes + else (MDMA Out is triggred with JPEG Out FIFO not empty flag) + then MDMA buffer size is 4 bytes + */ + outXfrSize = hjpeg->hdmaout->Init.BufferTransferLength; + + if((hjpeg->InDataLength < inXfrSize) || (hjpeg->OutDataLength < outXfrSize)) + { + return HAL_ERROR; + } + /* Set the JPEG MDMA In transfer complete callback */ + hjpeg->hdmain->XferCpltCallback = JPEG_MDMAInCpltCallback; + /* Set the MDMA In error callback */ + hjpeg->hdmain->XferErrorCallback = JPEG_MDMAErrorCallback; + + /* Set the JPEG MDMA Out transfer complete callback */ + hjpeg->hdmaout->XferCpltCallback = JPEG_MDMAOutCpltCallback; + /* Set the MDMA In error callback */ + hjpeg->hdmaout->XferErrorCallback = JPEG_MDMAErrorCallback; + /* Set the MDMA Out Abort callback */ + hjpeg->hdmaout->XferAbortCallback = JPEG_MDMAOutAbortCallback; + + /*MDMA transfer size (BNDTR) must be a multiple of MDMA buffer size (TLEN)*/ + hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % inXfrSize); + + /*MDMA transfer size (BNDTR) must be a multiple of MDMA buffer size (TLEN)*/ + hjpeg->OutDataLength = hjpeg->OutDataLength - (hjpeg->OutDataLength % outXfrSize); + + + /* Start MDMA FIFO Out transfer */ + HAL_MDMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuffPtr, hjpeg->OutDataLength, 1); + + /* Start DMA FIFO In transfer */ + HAL_MDMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->DIR, hjpeg->InDataLength, 1); + + return HAL_OK; +} + +/** + * @brief Continue the current JPEG DMA process (encoding/decoding) + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval JPEG_PROCESS_DONE if process ends else JPEG_PROCESS_ONGOING + */ +static uint32_t JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg) +{ + /*End of header processing flag rises*/ + if(((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) && (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_HPDF) != RESET)) + { + /*Call Header parsing complete callback */ + HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); + + /* Reset the ImageQuality */ + hjpeg->Conf.ImageQuality = 0; + /* Note : the image quality is only available at the end of the decoding operation */ + /* at the current stage the calculated image quality is not correct so reset it */ + + /*Call Info Ready callback */ + HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); + + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_IT_HPD); + + /* Clear header processing done flag */ + __HAL_JPEG_CLEAR_FLAG(hjpeg,JPEG_FLAG_HPDF); + } + + /*End of Conversion handling*/ + if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) != RESET) + { + hjpeg->Context |= JPEG_CONTEXT_ENDING_DMA; + + /*Stop Encoding/Decoding*/ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + + /* Clear all flags */ + __HAL_JPEG_CLEAR_FLAG(hjpeg,JPEG_FLAG_ALL); + + + if(hjpeg->hdmain->State == HAL_MDMA_STATE_BUSY) + { + /* Stop the MDMA In Xfer*/ + HAL_MDMA_Abort_IT(hjpeg->hdmain); + } + + if(hjpeg->hdmaout->State == HAL_MDMA_STATE_BUSY) + { + /* Stop the MDMA out Xfer*/ + HAL_MDMA_Abort_IT(hjpeg->hdmaout); + } + else + { + return JPEG_DMA_EndProcess(hjpeg); + } + } + + return JPEG_PROCESS_ONGOING; +} + +/** + * @brief Finalize the current JPEG DMA process (encoding/decoding) + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval JPEG_PROCESS_DONE + */ +static uint32_t JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t tmpContext; + hjpeg->JpegOutCount = hjpeg->OutDataLength - (hjpeg->hdmaout->Instance->CBNDTR & MDMA_CBNDTR_BNDT); + + /*if Output Buffer is full, call HAL_JPEG_DataReadyCallback*/ + if(hjpeg->JpegOutCount == hjpeg->OutDataLength) + { + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + } + + /*Check if remaining data in the output FIFO*/ + if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0) + { + if(hjpeg->JpegOutCount > 0) + { + /*Output Buffer is not empty, call DecodedDataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + } + + /*Stop Encoding/Decoding*/ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + tmpContext = hjpeg->Context; + /*Clear all context fileds execpt JPEG_CONTEXT_CONF_ENCODING and JPEG_CONTEXT_CUSTOM_TABLES*/ + hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_READY; + + /*Call End of Encoding/Decoding callback */ + if((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) + { + HAL_JPEG_DecodeCpltCallback(hjpeg); + } + else if((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_ENCODE) + { + HAL_JPEG_EncodeCpltCallback(hjpeg); + } + } + else if((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0) + { + JPEG_DMA_PollResidualData(hjpeg); + + return JPEG_PROCESS_DONE; + } + + return JPEG_PROCESS_ONGOING; +} + +/** + * @brief Poll residual output data when DMA process (encoding/decoding) + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval None. + */ +static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t tmpContext, count = JPEG_FIFO_SIZE, dataOut; + + while((__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != 0) && (count > 0) && ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0)) + { + count--; + + dataOut = hjpeg->Instance->DOR; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = dataOut & 0x000000FF; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1] = (dataOut & 0x0000FF00) >> 8; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2] = (dataOut & 0x00FF0000) >> 16; + hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3] = (dataOut & 0xFF000000) >> 24; + hjpeg->JpegOutCount += 4; + + if(hjpeg->JpegOutCount == hjpeg->OutDataLength) + { + /*Output Buffer is full, call HAL_JPEG_DataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + } + } + + if((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0) + { + /*Stop Encoding/Decoding*/ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + if(hjpeg->JpegOutCount > 0) + { + /*Output Buffer is not empty, call DecodedDataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + hjpeg->JpegOutCount = 0; + } + + tmpContext = hjpeg->Context; + /*Clear all context fileds execpt JPEG_CONTEXT_CONF_ENCODING and JPEG_CONTEXT_CUSTOM_TABLES*/ + hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); + + /* Process Unlocked */ + __HAL_UNLOCK(hjpeg); + + /* Change the JPEG state */ + hjpeg->State = HAL_JPEG_STATE_READY; + + /*Call End of Encoding/Decoding callback */ + if((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) + { + HAL_JPEG_DecodeCpltCallback(hjpeg); + } + else if((tmpContext & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_ENCODE) + { + HAL_JPEG_EncodeCpltCallback(hjpeg); + } + } +} + +/** + * @brief DMA input transfer complete callback + * @param hmdma: pointer to a DMA_HandleTypeDef structure. + * @retval None + */ +static void JPEG_MDMAInCpltCallback(MDMA_HandleTypeDef *hmdma) +{ + uint32_t inXfrSize; + + JPEG_HandleTypeDef* hjpeg = (JPEG_HandleTypeDef*)((MDMA_HandleTypeDef*)hmdma)->Parent; + + /* Disable The JPEG IT so the DMA Input Callback can not be interrupted by the JPEG EOC IT or JPEG HPD IT */ + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + + if(((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) && ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) == 0)) + { + + /*if the MDMA In is triggred with JPEG In FIFO Threshold flag + then MDMA In buffer size is 32 bytes + else (MDMA In is triggred with JPEG In FIFO not full flag) + then MDMA In buffer size is 4 bytes + */ + inXfrSize = hjpeg->hdmain->Init.BufferTransferLength; + + hjpeg->JpegInCount = hjpeg->InDataLength - (hmdma->Instance->CBNDTR & MDMA_CBNDTR_BNDT); + + /*Call HAL_JPEG_GetDataCallback to get new data */ + HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); + + + if(hjpeg->InDataLength >= inXfrSize) + { + /*JPEG Input DMA transfer data number must be multiple of MDMA buffer size + as the destination is a 32 bits register */ + hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % inXfrSize); + + } + else if(hjpeg->InDataLength > 0) + { + /* Transfer the remaining Data, must be multiple of source data size (byte) and destination data size (word) */ + if((hjpeg->InDataLength % 4) != 0) + { + hjpeg->InDataLength = ((hjpeg->InDataLength / 4) + 1) * 4; + } + } + + if(((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0) && (hjpeg->InDataLength > 0)) + { + /* Start MDMA FIFO In transfer */ + HAL_MDMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->DIR, hjpeg->InDataLength, 1); + } + + /* JPEG Conversion still on going : Enable the JPEG IT */ + __HAL_JPEG_ENABLE_IT(hjpeg,JPEG_IT_EOC |JPEG_IT_HPD); + } +} + +/** + * @brief DMA output transfer complete callback + * @param hmdma: pointer to a DMA_HandleTypeDef structure. + * @retval None + */ +static void JPEG_MDMAOutCpltCallback(MDMA_HandleTypeDef *hmdma) +{ + JPEG_HandleTypeDef* hjpeg = (JPEG_HandleTypeDef*)((MDMA_HandleTypeDef*)hmdma)->Parent; + + + /* Disable The JPEG IT so the DMA Output Callback can not be interrupted by the JPEG EOC IT or JPEG HPD IT */ + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + + if(((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) && ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) == 0)) + { + if(__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) == 0) + { + hjpeg->JpegOutCount = hjpeg->OutDataLength - (hmdma->Instance->CBNDTR & MDMA_CBNDTR_BNDT); + + /*Output Buffer is full, call HAL_JPEG_DataReadyCallback*/ + HAL_JPEG_DataReadyCallback (hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); + + if((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0) + { + /* Start MDMA FIFO Out transfer */ + HAL_MDMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuffPtr, hjpeg->OutDataLength, 1); + } + } + + /* JPEG Conversion still on going : Enable the JPEG IT */ + __HAL_JPEG_ENABLE_IT(hjpeg,JPEG_IT_EOC |JPEG_IT_HPD); + } +} + +/** + * @brief DMA Transfer error callback + * @param hmdma: pointer to a DMA_HandleTypeDef structure. + * @retval None + */ +static void JPEG_MDMAErrorCallback(MDMA_HandleTypeDef *hmdma) +{ + JPEG_HandleTypeDef* hjpeg = (JPEG_HandleTypeDef*)((MDMA_HandleTypeDef*)hmdma)->Parent; + + /*Stop Encoding/Decoding*/ + hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; + + /* Disable All Interrupts */ + __HAL_JPEG_DISABLE_IT(hjpeg,JPEG_INTERRUPT_MASK); + + hjpeg->State= HAL_JPEG_STATE_READY; + hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; + HAL_JPEG_ErrorCallback(hjpeg); +} + +/** + * @brief DMA output Abort callback + * @param hmdma: pointer to a DMA_HandleTypeDef structure. + * @retval None + */ +static void JPEG_MDMAOutAbortCallback(MDMA_HandleTypeDef *hmdma) +{ + JPEG_HandleTypeDef* hjpeg = (JPEG_HandleTypeDef*)((MDMA_HandleTypeDef*)hmdma)->Parent; + + if((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0) + { + JPEG_DMA_EndProcess(hjpeg); + } +} + +/** + * @brief Calculate the decoded image quality (from 1 to 100) + * @param hjpeg: pointer to a JPEG_HandleTypeDef structure that contains + * the configuration information for JPEG module + * @retval JPEG image quality from 1 to 100. + */ +static uint32_t JPEG_GetQuality(JPEG_HandleTypeDef *hjpeg) +{ + uint32_t quality = 0; + uint32_t quantRow, quantVal,scale, i, j; + __IO uint32_t *tableAddress = hjpeg->Instance->QMEM0; + + i = 0; + while( i < JPEG_QUANT_TABLE_SIZE) + { + quantRow = *tableAddress; + for(j=0; j<4; j++) + { + quantVal = (quantRow >> (8 * j)) & 0xFF; + if(quantVal == 1) + { + /* if Quantization value = 1 then quality is 100%*/ + quality += 100; + } + else + { + /* Note that the quantization coefficients must be specified in the table in zigzag order */ + scale = (quantVal*100)/((uint32_t) JPEG_LUM_QuantTable[JPEG_ZIGZAG_ORDER[i+j]]); + + if(scale <= 100) + { + quality += (200 - scale)/2; + } + else + { + quality += 5000/scale; + } + } + } + + i += 4; + tableAddress ++; + } + + return (quality/((uint32_t)64)); +} +/** + * @} + */ + +#endif /* HAL_JPEG_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c new file mode 100644 index 0000000000..f58150310e --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c @@ -0,0 +1,1673 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_lptim.c + * @author MCD Application Team + * @brief LPTIM HAL module driver. + * + * This file provides firmware functions to manage the following + * functionalities of the Low Power Timer (LPTIM) peripheral: + * + Initialization and de-initialization functions. + * + Start/Stop operation functions in polling mode. + * + Start/Stop operation functions in interrupt mode. + * + Reading operation functions. + * + Peripheral State functions. + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The LPTIM HAL driver can be used as follows: + + (#)Initialize the LPTIM low level resources by implementing the + HAL_LPTIM_MspInit(): + (++) Enable the LPTIM interface clock using __HAL_RCC_LPTIMx_CLK_ENABLE(). + (++) In case of using interrupts (e.g. HAL_LPTIM_PWM_Start_IT()): + (+++) Configure the LPTIM interrupt priority using HAL_NVIC_SetPriority(). + (+++) Enable the LPTIM IRQ handler using HAL_NVIC_EnableIRQ(). + (+++) In LPTIM IRQ handler, call HAL_LPTIM_IRQHandler(). + + (#)Initialize the LPTIM HAL using HAL_LPTIM_Init(). This function + configures mainly: + (++) The instance: LPTIM1 or LPTIM2. + (++) Clock: the counter clock. + (+++) Source : it can be either the ULPTIM input (IN1) or one of + the internal clock; (APB, LSE, LSI or MSI). + (+++) Prescaler: select the clock divider. + (++) UltraLowPowerClock : To be used only if the ULPTIM is selected + as counter clock source. + (+++) Polarity: polarity of the active edge for the counter unit + if the ULPTIM input is selected. + (+++) SampleTime: clock sampling time to configure the clock glitch + filter. + (++) Trigger: How the counter start. + (+++) Source: trigger can be software or one of the hardware triggers. + (+++) ActiveEdge : only for hardware trigger. + (+++) SampleTime : trigger sampling time to configure the trigger + glitch filter. + (++) OutputPolarity : 2 opposite polarities are possibles. + (++) UpdateMode: specifies whether the update of the autoreload and + the compare values is done immediately or after the end of current + period. + (++) Input1Source: Source selected for input1 (GPIO or comparator output). + (++) Input2Source: Source selected for input2 (GPIO or comparator output). + Input2 is used only for encoder feature so is used only for LPTIM1 instance. + + (#)Six modes are available: + + (++) PWM Mode: To generate a PWM signal with specified period and pulse, + call HAL_LPTIM_PWM_Start() or HAL_LPTIM_PWM_Start_IT() for interruption + mode. + + (++) One Pulse Mode: To generate pulse with specified width in response + to a stimulus, call HAL_LPTIM_OnePulse_Start() or + HAL_LPTIM_OnePulse_Start_IT() for interruption mode. + + (++) Set once Mode: In this mode, the output changes the level (from + low level to high level if the output polarity is configured high, else + the opposite) when a compare match occurs. To start this mode, call + HAL_LPTIM_SetOnce_Start() or HAL_LPTIM_SetOnce_Start_IT() for + interruption mode. + + (++) Encoder Mode: To use the encoder interface call + HAL_LPTIM_Encoder_Start() or HAL_LPTIM_Encoder_Start_IT() for + interruption mode. Only available for LPTIM1 instance. + + (++) Time out Mode: an active edge on one selected trigger input rests + the counter. The first trigger event will start the timer, any + successive trigger event will reset the counter and the timer will + restart. To start this mode call HAL_LPTIM_TimeOut_Start_IT() or + HAL_LPTIM_TimeOut_Start_IT() for interruption mode. + + (++) Counter Mode: counter can be used to count external events on + the LPTIM Input1 or it can be used to count internal clock cycles. + To start this mode, call HAL_LPTIM_Counter_Start() or + HAL_LPTIM_Counter_Start_IT() for interruption mode. + + + (#) User can stop any process by calling the corresponding API: + HAL_LPTIM_Xxx_Stop() or HAL_LPTIM_Xxx_Stop_IT() if the process is + already started in interruption mode. + + (#)De-initialize the LPTIM peripheral using HAL_LPTIM_DeInit(). + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup LPTIM LPTIM + * @brief LPTIM HAL module driver. + * @{ + */ + +#ifdef HAL_LPTIM_MODULE_ENABLED +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup LPTIM_Exported_Functions LPTIM Exported Functions + * @{ + */ + +/** @defgroup LPTIM_Exported_Functions_Group1 Initialization/de-initialization functions + * @brief Initialization and Configuration functions. + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the LPTIM according to the specified parameters in the + LPTIM_InitTypeDef and initialize the associated handle. + (+) DeInitialize the LPTIM peripheral. + (+) Initialize the LPTIM MSP. + (+) DeInitialize the LPTIM MSP. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the LPTIM according to the specified parameters in the + * LPTIM_InitTypeDef and creates the associated handle. + * @param hlptim: LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Init(LPTIM_HandleTypeDef *hlptim) +{ + uint32_t tmpcfgr = 0; + + /* Check the LPTIM handle allocation */ + if(hlptim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + assert_param(IS_LPTIM_CLOCK_SOURCE(hlptim->Init.Clock.Source)); + assert_param(IS_LPTIM_CLOCK_PRESCALER(hlptim->Init.Clock.Prescaler)); + if ((hlptim->Init.Clock.Source) == LPTIM_CLOCKSOURCE_ULPTIM) + { + assert_param(IS_LPTIM_CLOCK_POLARITY(hlptim->Init.UltraLowPowerClock.Polarity)); + assert_param(IS_LPTIM_CLOCK_SAMPLE_TIME(hlptim->Init.UltraLowPowerClock.SampleTime)); + } + assert_param(IS_LPTIM_TRG_SOURCE(hlptim->Init.Trigger.Source)); + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + assert_param(IS_LPTIM_TRIG_SAMPLE_TIME(hlptim->Init.Trigger.SampleTime)); + assert_param(IS_LPTIM_EXT_TRG_POLARITY(hlptim->Init.Trigger.ActiveEdge)); + } + assert_param(IS_LPTIM_OUTPUT_POLARITY(hlptim->Init.OutputPolarity)); + assert_param(IS_LPTIM_UPDATE_MODE(hlptim->Init.UpdateMode)); + assert_param(IS_LPTIM_COUNTER_SOURCE(hlptim->Init.CounterSource)); + + if(hlptim->State == HAL_LPTIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hlptim->Lock = HAL_UNLOCKED; + + /* Init the low level hardware */ + HAL_LPTIM_MspInit(hlptim); + } + + /* Change the LPTIM state */ + hlptim->State = HAL_LPTIM_STATE_BUSY; + + /* Get the LPTIMx CFGR value */ + tmpcfgr = hlptim->Instance->CFGR; + + if ((hlptim->Init.Clock.Source) == LPTIM_CLOCKSOURCE_ULPTIM) + { + tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_CKPOL | LPTIM_CFGR_CKFLT)); + } + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + tmpcfgr &= (uint32_t)(~ (LPTIM_CFGR_TRGFLT | LPTIM_CFGR_TRIGSEL)); + } + + /* Clear CKSEL, PRESC, TRIGEN, TRGFLT, WAVPOL, PRELOAD & COUNTMODE bits */ + tmpcfgr &= (uint32_t)(~(LPTIM_CFGR_CKSEL | LPTIM_CFGR_TRIGEN | LPTIM_CFGR_PRELOAD | + LPTIM_CFGR_WAVPOL | LPTIM_CFGR_PRESC | LPTIM_CFGR_COUNTMODE )); + + /* Set initialization parameters */ + tmpcfgr |= (hlptim->Init.Clock.Source | + hlptim->Init.Clock.Prescaler | + hlptim->Init.OutputPolarity | + hlptim->Init.UpdateMode | + hlptim->Init.CounterSource); + + if ((hlptim->Init.Clock.Source) == LPTIM_CLOCKSOURCE_ULPTIM) + { + tmpcfgr |= (hlptim->Init.UltraLowPowerClock.Polarity | + hlptim->Init.UltraLowPowerClock.SampleTime); + } + + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + /* Enable External trigger and set the trigger source */ + tmpcfgr |= (hlptim->Init.Trigger.Source | + hlptim->Init.Trigger.ActiveEdge | + hlptim->Init.Trigger.SampleTime); + } + + /* Write to LPTIMx CFGR */ + hlptim->Instance->CFGR = tmpcfgr; + + /* Configure LPTIM input sources */ + if((hlptim->Instance == LPTIM1) || (hlptim->Instance == LPTIM2)) + { + /* Check LPTIM1/2 Input1 and Input2 sources */ + assert_param(IS_LPTIM_INPUT1_SOURCE(hlptim->Instance,hlptim->Init.Input1Source)); + assert_param(IS_LPTIM_INPUT2_SOURCE(hlptim->Instance,hlptim->Init.Input2Source)); + + /* Configure LPTIM1/2 Input1 and Input2 sources */ + hlptim->Instance->CFGR2 = (hlptim->Init.Input1Source | hlptim->Init.Input2Source); + } + else + { + if(hlptim->Instance == LPTIM3) + { + /* Check LPTIM2 Input1 source */ + assert_param(IS_LPTIM_INPUT1_SOURCE(hlptim->Instance,hlptim->Init.Input1Source)); + + /* Configure LPTIM2 Input1 source */ + hlptim->Instance->CFGR2 = hlptim->Init.Input1Source; + } + } + /* Change the LPTIM state */ + hlptim->State = HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief DeInitialize the LPTIM peripheral. + * @param hlptim: LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_DeInit(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the LPTIM handle allocation */ + if(hlptim == NULL) + { + return HAL_ERROR; + } + + /* Change the LPTIM state */ + hlptim->State = HAL_LPTIM_STATE_BUSY; + + /* Disable the LPTIM Peripheral Clock */ + __HAL_LPTIM_DISABLE(hlptim); + + /* DeInit the low level hardware: CLOCK, NVIC.*/ + HAL_LPTIM_MspDeInit(hlptim); + + /* Change the LPTIM state */ + hlptim->State = HAL_LPTIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hlptim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Initialize the LPTIM MSP. + * @param hlptim: LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize LPTIM MSP. + * @param hlptim: LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup LPTIM_Exported_Functions_Group2 LPTIM Start-Stop operation functions + * @brief Start-Stop operation functions. + * +@verbatim + ============================================================================== + ##### LPTIM Start Stop operation functions ##### + ============================================================================== + [..] This section provides functions allowing to: + (+) Start the PWM mode. + (+) Stop the PWM mode. + (+) Start the One pulse mode. + (+) Stop the One pulse mode. + (+) Start the Set once mode. + (+) Stop the Set once mode. + (+) Start the Encoder mode. + (+) Stop the Encoder mode. + (+) Start the Timeout mode. + (+) Stop the Timeout mode. + (+) Start the Counter mode. + (+) Stop the Counter mode. + + +@endverbatim + * @{ + */ + +/** + * @brief Start the LPTIM PWM generation. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @param Pulse : Specifies the compare value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_PWM_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Pulse)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Reset WAVE bit to set PWM mode */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE; + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the pulse value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Pulse); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the LPTIM PWM generation. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_PWM_Stop(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the LPTIM PWM generation in interrupt mode. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF + * @param Pulse : Specifies the compare value. + * This parameter must be a value between 0x0000 and 0xFFFF + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_PWM_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Pulse)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Reset WAVE bit to set PWM mode */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE; + + /* Enable Autoreload write complete interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Enable Compare write complete interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPOK); + + /* Enable Autoreload match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Enable Compare match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* If external trigger source is used, then enable external trigger interrupt */ + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + /* Enable external trigger interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_EXTTRIG); + } + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the pulse value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Pulse); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the LPTIM PWM generation in interrupt mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_PWM_Stop_IT(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Disable Autoreload write complete interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Disable Compare write complete interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPOK); + + /* Disable Autoreload match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Disable Compare match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* If external trigger source is used, then disable external trigger interrupt */ + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + /* Disable external trigger interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_EXTTRIG); + } + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the LPTIM One pulse generation. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @param Pulse : Specifies the compare value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Pulse)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Reset WAVE bit to set one pulse mode */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE; + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the pulse value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Pulse); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_SINGLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the LPTIM One pulse generation. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the LPTIM One pulse generation in interrupt mode. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @param Pulse : Specifies the compare value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Pulse)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Reset WAVE bit to set one pulse mode */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_WAVE; + + /* Enable Autoreload write complete interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Enable Compare write complete interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPOK); + + /* Enable Autoreload match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Enable Compare match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* If external trigger source is used, then enable external trigger interrupt */ + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + /* Enable external trigger interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_EXTTRIG); + } + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the pulse value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Pulse); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_SINGLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the LPTIM One pulse generation in interrupt mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_OnePulse_Stop_IT(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Disable Autoreload write complete interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Disable Compare write complete interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPOK); + + /* Disable Autoreload match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Disable Compare match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* If external trigger source is used, then disable external trigger interrupt */ + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + /* Disable external trigger interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_EXTTRIG); + } + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the LPTIM in Set once mode. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @param Pulse : Specifies the compare value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Pulse)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Set WAVE bit to enable the set once mode */ + hlptim->Instance->CFGR |= LPTIM_CFGR_WAVE; + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the pulse value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Pulse); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_SINGLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the LPTIM Set once mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the LPTIM Set once mode in interrupt mode. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @param Pulse : Specifies the compare value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Pulse) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Pulse)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Set WAVE bit to enable the set once mode */ + hlptim->Instance->CFGR |= LPTIM_CFGR_WAVE; + + /* Enable Autoreload write complete interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Enable Compare write complete interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPOK); + + /* Enable Autoreload match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Enable Compare match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* If external trigger source is used, then enable external trigger interrupt */ + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + /* Enable external trigger interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_EXTTRIG); + } + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the pulse value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Pulse); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_SINGLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the LPTIM Set once mode in interrupt mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_SetOnce_Stop_IT(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Disable Autoreload write complete interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Disable Compare write complete interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPOK); + + /* Disable Autoreload match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Disable Compare match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* If external trigger source is used, then disable external trigger interrupt */ + if ((hlptim->Init.Trigger.Source) != LPTIM_TRIGSOURCE_SOFTWARE) + { + /* Disable external trigger interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_EXTTRIG); + } + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the Encoder interface. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Encoder_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t tmpcfgr; + + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(hlptim->Init.Clock.Source == LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC); + assert_param(hlptim->Init.Clock.Prescaler == LPTIM_PRESCALER_DIV1); + assert_param(IS_LPTIM_CLOCK_POLARITY(hlptim->Init.UltraLowPowerClock.Polarity)); + + /* Encoder feature is only available for LPTIM1 instance */ + if ((hlptim->Instance == LPTIM1) || (hlptim->Instance == LPTIM2)) + { + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Get the LPTIMx CFGR value */ + tmpcfgr = hlptim->Instance->CFGR; + + /* Clear CKPOL bits */ + tmpcfgr &= (uint32_t)(~LPTIM_CFGR_CKPOL); + + /* Set Input polarity */ + tmpcfgr |= hlptim->Init.UltraLowPowerClock.Polarity; + + /* Write to LPTIMx CFGR */ + hlptim->Instance->CFGR = tmpcfgr; + + /* Set ENC bit to enable the encoder interface */ + hlptim->Instance->CFGR |= LPTIM_CFGR_ENC; + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + } + else + { + status = HAL_ERROR; + } + + /* Return function status */ + return status; +} + +/** + * @brief Stop the Encoder interface. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Reset ENC bit to disable the encoder interface */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_ENC; + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the Encoder interface in interrupt mode. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Encoder_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t tmpcfgr; + + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(hlptim->Init.Clock.Source == LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC); + assert_param(hlptim->Init.Clock.Prescaler == LPTIM_PRESCALER_DIV1); + assert_param(IS_LPTIM_CLOCK_POLARITY(hlptim->Init.UltraLowPowerClock.Polarity)); + + /* Encoder feature is only available for LPTIM1 instance */ + if (hlptim->Instance == LPTIM1) + { + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Configure edge sensitivity for encoder mode */ + /* Get the LPTIMx CFGR value */ + tmpcfgr = hlptim->Instance->CFGR; + + /* Clear CKPOL bits */ + tmpcfgr &= (uint32_t)(~LPTIM_CFGR_CKPOL); + + /* Set Input polarity */ + tmpcfgr |= hlptim->Init.UltraLowPowerClock.Polarity; + + /* Write to LPTIMx CFGR */ + hlptim->Instance->CFGR = tmpcfgr; + + /* Set ENC bit to enable the encoder interface */ + hlptim->Instance->CFGR |= LPTIM_CFGR_ENC; + + /* Enable "switch to down direction" interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_DOWN); + + /* Enable "switch to up direction" interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_UP); + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + } + else + { + status = HAL_ERROR; + } + + /* Return function status */ + return status; +} + +/** + * @brief Stop the Encoder interface in nterrupt mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Encoder_Stop_IT(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Reset ENC bit to disable the encoder interface */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_ENC; + + /* Disable "switch to down direction" interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_DOWN); + + /* Disable "switch to up direction" interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_UP); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the Timeout function. + * @note The first trigger event will start the timer, any successive + * trigger event will reset the counter and the timer restarts. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @param Timeout : Specifies the TimeOut value to rest the counter. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Timeout)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Set TIMOUT bit to enable the timeout function */ + hlptim->Instance->CFGR |= LPTIM_CFGR_TIMOUT; + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the Timeout value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Timeout); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the Timeout function. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Reset TIMOUT bit to enable the timeout function */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_TIMOUT; + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the Timeout function in interrupt mode. + * @note The first trigger event will start the timer, any successive + * trigger event will reset the counter and the timer restarts. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @param Timeout : Specifies the TimeOut value to rest the counter. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period, uint32_t Timeout) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + assert_param(IS_LPTIM_PULSE(Timeout)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Set TIMOUT bit to enable the timeout function */ + hlptim->Instance->CFGR |= LPTIM_CFGR_TIMOUT; + + /* Enable Compare match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Load the Timeout value in the compare register */ + __HAL_LPTIM_COMPARE_SET(hlptim, Timeout); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the Timeout function in interrupt mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_TimeOut_Stop_IT(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Reset TIMOUT bit to enable the timeout function */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_TIMOUT; + + /* Disable Compare match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_CMPM); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the Counter mode. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Counter_Start(LPTIM_HandleTypeDef *hlptim, uint32_t Period) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* If clock source is not ULPTIM clock and counter source is external, then it must not be prescaled */ + if((hlptim->Init.Clock.Source != LPTIM_CLOCKSOURCE_ULPTIM) && (hlptim->Init.CounterSource == LPTIM_COUNTERSOURCE_EXTERNAL)) + { + /* Check if clock is prescaled */ + assert_param(IS_LPTIM_CLOCK_PRESCALERDIV1(hlptim->Init.Clock.Prescaler)); + /* Set clock prescaler to 0 */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_PRESC; + } + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the Counter mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Counter_Stop(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the Counter mode in interrupt mode. + * @param hlptim : LPTIM handle + * @param Period : Specifies the Autoreload value. + * This parameter must be a value between 0x0000 and 0xFFFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Counter_Start_IT(LPTIM_HandleTypeDef *hlptim, uint32_t Period) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + assert_param(IS_LPTIM_PERIOD(Period)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* If clock source is not ULPTIM clock and counter source is external, then it must not be prescaled */ + if((hlptim->Init.Clock.Source != LPTIM_CLOCKSOURCE_ULPTIM) && (hlptim->Init.CounterSource == LPTIM_COUNTERSOURCE_EXTERNAL)) + { + /* Check if clock is prescaled */ + assert_param(IS_LPTIM_CLOCK_PRESCALERDIV1(hlptim->Init.Clock.Prescaler)); + /* Set clock prescaler to 0 */ + hlptim->Instance->CFGR &= ~LPTIM_CFGR_PRESC; + } + + /* Enable Autoreload write complete interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Enable Autoreload match interrupt */ + __HAL_LPTIM_ENABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Enable the Peripheral */ + __HAL_LPTIM_ENABLE(hlptim); + + /* Load the period value in the autoreload register */ + __HAL_LPTIM_AUTORELOAD_SET(hlptim, Period); + + /* Start timer in continuous mode */ + __HAL_LPTIM_START_CONTINUOUS(hlptim); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the Counter mode in interrupt mode. + * @param hlptim : LPTIM handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LPTIM_Counter_Stop_IT(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + /* Set the LPTIM state */ + hlptim->State= HAL_LPTIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_LPTIM_DISABLE(hlptim); + + /* Disable Autoreload write complete interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARROK); + + /* Disable Autoreload match interrupt */ + __HAL_LPTIM_DISABLE_IT(hlptim, LPTIM_IT_ARRM); + + /* Change the TIM state*/ + hlptim->State= HAL_LPTIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup LPTIM_Exported_Functions_Group3 LPTIM Read operation functions + * @brief Read operation functions. + * +@verbatim + ============================================================================== + ##### LPTIM Read operation functions ##### + ============================================================================== +[..] This section provides LPTIM Reading functions. + (+) Read the counter value. + (+) Read the period (Auto-reload) value. + (+) Read the pulse (Compare)value. +@endverbatim + * @{ + */ + +/** + * @brief Return the current counter value. + * @param hlptim: LPTIM handle + * @retval Counter value. + */ +uint32_t HAL_LPTIM_ReadCounter(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + return (hlptim->Instance->CNT); +} + +/** + * @brief Return the current Autoreload (Period) value. + * @param hlptim: LPTIM handle + * @retval Autoreload value. + */ +uint32_t HAL_LPTIM_ReadAutoReload(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + return (hlptim->Instance->ARR); +} + +/** + * @brief Return the current Compare (Pulse) value. + * @param hlptim: LPTIM handle + * @retval Compare value. + */ +uint32_t HAL_LPTIM_ReadCompare(LPTIM_HandleTypeDef *hlptim) +{ + /* Check the parameters */ + assert_param(IS_LPTIM_INSTANCE(hlptim->Instance)); + + return (hlptim->Instance->CMP); +} + +/** + * @} + */ + + + +/** @defgroup LPTIM_Exported_Functions_Group4 LPTIM IRQ handler and callbacks + * @brief LPTIM IRQ handler. + * +@verbatim + ============================================================================== + ##### LPTIM IRQ handler and callbacks ##### + ============================================================================== +[..] This section provides LPTIM IRQ handler and callback functions called within + the IRQ handler. + +@endverbatim + * @{ + */ + +/** + * @brief Handle LPTIM interrupt request. + * @param hlptim: LPTIM handle + * @retval None + */ +void HAL_LPTIM_IRQHandler(LPTIM_HandleTypeDef *hlptim) +{ + /* Compare match interrupt */ + if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_CMPM) != RESET) + { + if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_CMPM) != RESET) + { + /* Clear Compare match flag */ + __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_CMPM); + + /* Compare match Callback */ + HAL_LPTIM_CompareMatchCallback(hlptim); + } + } + + /* Autoreload match interrupt */ + if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_ARRM) != RESET) + { + if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_ARRM) != RESET) + { + /* Clear Autoreload match flag */ + __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_ARRM); + + /* Autoreload match Callback */ + HAL_LPTIM_AutoReloadMatchCallback(hlptim); + } + } + + /* Trigger detected interrupt */ + if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_EXTTRIG) != RESET) + { + if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_EXTTRIG) != RESET) + { + /* Clear Trigger detected flag */ + __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_EXTTRIG); + + /* Trigger detected callback */ + HAL_LPTIM_TriggerCallback(hlptim); + } + } + + /* Compare write interrupt */ + if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_CMPOK) != RESET) + { + if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_CMPOK) != RESET) + { + /* Clear Compare write flag */ + __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_CMPOK); + + /* Compare write Callback */ + HAL_LPTIM_CompareWriteCallback(hlptim); + } + } + + /* Autoreload write interrupt */ + if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_ARROK) != RESET) + { + if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_ARROK) != RESET) + { + /* Clear Autoreload write flag */ + __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_ARROK); + + /* Autoreload write Callback */ + HAL_LPTIM_AutoReloadWriteCallback(hlptim); + } + } + + /* Direction counter changed from Down to Up interrupt */ + if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_UP) != RESET) + { + if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_UP) != RESET) + { + /* Clear Direction counter changed from Down to Up flag */ + __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_UP); + + /* Direction counter changed from Down to Up Callback */ + HAL_LPTIM_DirectionUpCallback(hlptim); + } + } + + /* Direction counter changed from Up to Down interrupt */ + if(__HAL_LPTIM_GET_FLAG(hlptim, LPTIM_FLAG_DOWN) != RESET) + { + if(__HAL_LPTIM_GET_IT_SOURCE(hlptim, LPTIM_IT_DOWN) != RESET) + { + /* Clear Direction counter changed from Up to Down flag */ + __HAL_LPTIM_CLEAR_FLAG(hlptim, LPTIM_FLAG_DOWN); + + /* Direction counter changed from Up to Down Callback */ + HAL_LPTIM_DirectionDownCallback(hlptim); + } + } +} + +/** + * @brief Compare match callback in non-blocking mode + * @param hlptim : LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_CompareMatchCallback could be implemented in the user file + */ +} + +/** + * @brief Autoreload match callback in non-blocking mode + * @param hlptim : LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_AutoReloadMatchCallback could be implemented in the user file + */ +} + +/** + * @brief Trigger detected callback in non-blocking mode + * @param hlptim : LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_TriggerCallback(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_TriggerCallback could be implemented in the user file + */ +} + +/** + * @brief Compare write callback in non-blocking mode + * @param hlptim : LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_CompareWriteCallback(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_CompareWriteCallback could be implemented in the user file + */ +} + +/** + * @brief Autoreload write callback in non-blocking mode + * @param hlptim : LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_AutoReloadWriteCallback(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_AutoReloadWriteCallback could be implemented in the user file + */ +} + +/** + * @brief Direction counter changed from Down to Up callback in non-blocking mode + * @param hlptim : LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_DirectionUpCallback(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_DirectionUpCallback could be implemented in the user file + */ +} + +/** + * @brief Direction counter changed from Up to Down callback in non-blocking mode + * @param hlptim : LPTIM handle + * @retval None + */ +__weak void HAL_LPTIM_DirectionDownCallback(LPTIM_HandleTypeDef *hlptim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hlptim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_LPTIM_DirectionDownCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup LPTIM_Exported_Functions_Group5 Peripheral State functions + * @brief Peripheral State functions. + * +@verbatim + ============================================================================== + ##### Peripheral State functions ##### + ============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Returns the LPTIM state. + * @param hlptim: LPTIM handle + * @retval HAL state + */ +HAL_LPTIM_StateTypeDef HAL_LPTIM_GetState(LPTIM_HandleTypeDef *hlptim) +{ + /* Return LPTIM handle state */ + return hlptim->State; +} + +/** + * @} + */ + + +/** + * @} + */ + +#endif /* HAL_LPTIM_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c new file mode 100644 index 0000000000..75f1fab255 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c @@ -0,0 +1,1893 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_ltdc.c + * @author MCD Application Team + * @brief LTDC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the LTDC peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State and Errors functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Program the required configuration through the following parameters: + the LTDC timing, the horizontal and vertical polarity, + the pixel clock polarity, Data Enable polarity and the LTDC background color value + using HAL_LTDC_Init() function + + (#) Program the required configuration through the following parameters: + the pixel format, the blending factors, input alpha value, the window size + and the image size using HAL_LTDC_ConfigLayer() function for foreground + or/and background layer. + + (#) Optionally, configure and enable the CLUT using HAL_LTDC_ConfigCLUT() and + HAL_LTDC_EnableCLUT functions. + + (#) Optionally, enable the Dither using HAL_LTDC_EnableDither(). + + (#) Optionally, configure and enable the Color keying using HAL_LTDC_ConfigColorKeying() + and HAL_LTDC_EnableColorKeying functions. + + (#) Optionally, configure LineInterrupt using HAL_LTDC_ProgramLineEvent() + function + + (#) If needed, reconfigure and change the pixel format value, the alpha value + value, the window size, the window position and the layer start address + for foreground or/and background layer using respectively the following + functions: HAL_LTDC_SetPixelFormat(), HAL_LTDC_SetAlpha(), HAL_LTDC_SetWindowSize(), + HAL_LTDC_SetWindowPosition(), HAL_LTDC_SetAddress. + + (#) Variant functions with _NoReload post fix allows to set the LTDC configuration/settings without immediate reload. + This is useful in case when the program requires to modify serval LTDC settings (on one or both layers) + then applying(reload) these settings in one shot by calling the function HAL_LTDC_Reload + + After calling the _NoReload functions to set different color/format/layer settings, + the program can call the function HAL_LTDC_Reload To apply(Reload) these settings. + Function HAL_LTDC_Reload can be called with the parameter ReloadType + set to LTDC_RELOAD_IMMEDIATE if an immediate reload is required. + Function HAL_LTDC_Reload can be called with the parameter ReloadType + set to LTDC_RELOAD_VERTICAL_BLANKING if the reload should be done in the next vertical blanking period, + this option allows to avoid display flicker by applying the new settings during the vertical blanking period. + + + (#) To control LTDC state you can use the following function: HAL_LTDC_GetState() + + *** LTDC HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in LTDC HAL driver. + + (+) __HAL_LTDC_ENABLE: Enable the LTDC. + (+) __HAL_LTDC_DISABLE: Disable the LTDC. + (+) __HAL_LTDC_LAYER_ENABLE: Enable an LTDC Layer. + (+) __HAL_LTDC_LAYER_DISABLE: Disable an LTDC Layer. + (+) __HAL_LTDC_RELOAD_IMMEDIATE_CONFIG: Reload Layer Configuration. + (+) __HAL_LTDC_GET_FLAG: Get the LTDC pending flags. + (+) __HAL_LTDC_CLEAR_FLAG: Clear the LTDC pending flags. + (+) __HAL_LTDC_ENABLE_IT: Enable the specified LTDC interrupts. + (+) __HAL_LTDC_DISABLE_IT: Disable the specified LTDC interrupts. + (+) __HAL_LTDC_GET_IT_SOURCE: Check whether the specified LTDC interrupt has occurred or not. + + [..] + (@) You can refer to the LTDC HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +/** @defgroup LTDC LTDC + * @brief LTDC HAL module driver + * @{ + */ + +#ifdef HAL_LTDC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static void LTDC_SetConfig(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx); +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup LTDC_Exported_Functions LTDC Exported Functions + * @{ + */ + +/** @defgroup LTDC_Exported_Functions_Group1 Initialization and Configuration functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize and configure the LTDC + (+) De-initialize the LTDC + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the LTDC according to the specified parameters in the LTDC_InitTypeDef. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_Init(LTDC_HandleTypeDef *hltdc) +{ + uint32_t tmp = 0, tmp1 = 0; + + /* Check the LTDC peripheral state */ + if(hltdc == NULL) + { + return HAL_ERROR; + } + + /* Check function parameters */ + assert_param(IS_LTDC_ALL_INSTANCE(hltdc->Instance)); + assert_param(IS_LTDC_HSYNC(hltdc->Init.HorizontalSync)); + assert_param(IS_LTDC_VSYNC(hltdc->Init.VerticalSync)); + assert_param(IS_LTDC_AHBP(hltdc->Init.AccumulatedHBP)); + assert_param(IS_LTDC_AVBP(hltdc->Init.AccumulatedVBP)); + assert_param(IS_LTDC_AAH(hltdc->Init.AccumulatedActiveH)); + assert_param(IS_LTDC_AAW(hltdc->Init.AccumulatedActiveW)); + assert_param(IS_LTDC_TOTALH(hltdc->Init.TotalHeigh)); + assert_param(IS_LTDC_TOTALW(hltdc->Init.TotalWidth)); + assert_param(IS_LTDC_HSPOL(hltdc->Init.HSPolarity)); + assert_param(IS_LTDC_VSPOL(hltdc->Init.VSPolarity)); + assert_param(IS_LTDC_DEPOL(hltdc->Init.DEPolarity)); + assert_param(IS_LTDC_PCPOL(hltdc->Init.PCPolarity)); + + if(hltdc->State == HAL_LTDC_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hltdc->Lock = HAL_UNLOCKED; + /* Init the low level hardware */ + HAL_LTDC_MspInit(hltdc); + } + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Configure the HS, VS, DE and PC polarity */ + hltdc->Instance->GCR &= ~(LTDC_GCR_HSPOL | LTDC_GCR_VSPOL | LTDC_GCR_DEPOL | LTDC_GCR_PCPOL); + hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ + hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); + + /* Set Synchronization size */ + hltdc->Instance->SSCR &= ~(LTDC_SSCR_VSH | LTDC_SSCR_HSW); + tmp = (hltdc->Init.HorizontalSync << 16); + hltdc->Instance->SSCR |= (tmp | hltdc->Init.VerticalSync); + + /* Set Accumulated Back porch */ + hltdc->Instance->BPCR &= ~(LTDC_BPCR_AVBP | LTDC_BPCR_AHBP); + tmp = (hltdc->Init.AccumulatedHBP << 16); + hltdc->Instance->BPCR |= (tmp | hltdc->Init.AccumulatedVBP); + + /* Set Accumulated Active Width */ + hltdc->Instance->AWCR &= ~(LTDC_AWCR_AAH | LTDC_AWCR_AAW); + tmp = (hltdc->Init.AccumulatedActiveW << 16); + hltdc->Instance->AWCR |= (tmp | hltdc->Init.AccumulatedActiveH); + + /* Set Total Width */ + hltdc->Instance->TWCR &= ~(LTDC_TWCR_TOTALH | LTDC_TWCR_TOTALW); + tmp = (hltdc->Init.TotalWidth << 16); + hltdc->Instance->TWCR |= (tmp | hltdc->Init.TotalHeigh); + + /* Set the background color value */ + tmp = ((uint32_t)(hltdc->Init.Backcolor.Green) << 8); + tmp1 = ((uint32_t)(hltdc->Init.Backcolor.Red) << 16); + hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); + hltdc->Instance->BCCR |= (tmp1 | tmp | hltdc->Init.Backcolor.Blue); + + /* Enable the Transfer Error and FIFO underrun interrupts */ + __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_TE | LTDC_IT_FU); + + /* Enable LTDC by setting LTDCEN bit */ + __HAL_LTDC_ENABLE(hltdc); + + /* Initialize the error code */ + hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; + + /* Initialize the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief De-initialize the LTDC peripheral. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval None + */ + +HAL_StatusTypeDef HAL_LTDC_DeInit(LTDC_HandleTypeDef *hltdc) +{ + /* DeInit the low level hardware */ + HAL_LTDC_MspDeInit(hltdc); + + /* Initialize the error code */ + hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; + + /* Initialize the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Initialize the LTDC MSP. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval None + */ +__weak void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hltdc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_LTDC_MspInit could be implemented in the user file + */ +} + +/** + * @brief De-initialize the LTDC MSP. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval None + */ +__weak void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hltdc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_LTDC_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup LTDC_Exported_Functions_Group2 IO operation functions + * @brief IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides function allowing to: + (+) Handle LTDC interrupt request + +@endverbatim + * @{ + */ +/** + * @brief Handle LTDC interrupt request. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval HAL status + */ +void HAL_LTDC_IRQHandler(LTDC_HandleTypeDef *hltdc) +{ + /* Transfer Error Interrupt management ***************************************/ + if(__HAL_LTDC_GET_FLAG(hltdc, LTDC_FLAG_TE) != RESET) + { + if(__HAL_LTDC_GET_IT_SOURCE(hltdc, LTDC_IT_TE) != RESET) + { + /* Disable the transfer Error interrupt */ + __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_TE); + + /* Clear the transfer error flag */ + __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_TE); + + /* Update error code */ + hltdc->ErrorCode |= HAL_LTDC_ERROR_TE; + + /* Change LTDC state */ + hltdc->State = HAL_LTDC_STATE_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + /* Transfer error Callback */ + HAL_LTDC_ErrorCallback(hltdc); + } + } + /* FIFO underrun Interrupt management ***************************************/ + if(__HAL_LTDC_GET_FLAG(hltdc, LTDC_FLAG_FU) != RESET) + { + if(__HAL_LTDC_GET_IT_SOURCE(hltdc, LTDC_IT_FU) != RESET) + { + /* Disable the FIFO underrun interrupt */ + __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_FU); + + /* Clear the FIFO underrun flag */ + __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_FU); + + /* Update error code */ + hltdc->ErrorCode |= HAL_LTDC_ERROR_FU; + + /* Change LTDC state */ + hltdc->State = HAL_LTDC_STATE_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + /* Transfer error Callback */ + HAL_LTDC_ErrorCallback(hltdc); + } + } + /* Line Interrupt management ************************************************/ + if(__HAL_LTDC_GET_FLAG(hltdc, LTDC_FLAG_LI) != RESET) + { + if(__HAL_LTDC_GET_IT_SOURCE(hltdc, LTDC_IT_LI) != RESET) + { + /* Disable the Line interrupt */ + __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); + + /* Clear the Line interrupt flag */ + __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_LI); + + /* Change LTDC state */ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + /* Line interrupt Callback */ + HAL_LTDC_LineEventCallback(hltdc); + } + } + /* Register reload Interrupt management ***************************************/ + if(__HAL_LTDC_GET_FLAG(hltdc, LTDC_FLAG_RR) != RESET) + { + if(__HAL_LTDC_GET_IT_SOURCE(hltdc, LTDC_IT_RR) != RESET) + { + /* Disable the register reload interrupt */ + __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_RR); + + /* Clear the register reload flag */ + __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_RR); + + /* Change LTDC state */ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + /* Register reload interrupt Callback */ + HAL_LTDC_ReloadEventCallback(hltdc); + } + } +} + +/** + * @brief Error LTDC callback. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval None + */ +__weak void HAL_LTDC_ErrorCallback(LTDC_HandleTypeDef *hltdc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hltdc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_LTDC_ErrorCallback could be implemented in the user file + */ +} + +/** + * @brief Line Event callback. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval None + */ +__weak void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef *hltdc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hltdc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_LTDC_LineEventCallback could be implemented in the user file + */ +} + +/** + * @brief Reload Event callback. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval None + */ +__weak void HAL_LTDC_ReloadEventCallback(LTDC_HandleTypeDef *hltdc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hltdc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_LTDC_ReloadEvenCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup LTDC_Exported_Functions_Group3 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure the LTDC foreground or/and background parameters. + (+) Set the active layer. + (+) Configure the color keying. + (+) Configure the C-LUT. + (+) Enable / Disable the color keying. + (+) Enable / Disable the C-LUT. + (+) Update the layer position. + (+) Update the layer size. + (+) Update pixel format on the fly. + (+) Update transparency on the fly. + (+) Update address on the fly. + +@endverbatim + * @{ + */ + +/** + * @brief Configure the LTDC Layer according to the specified + * parameters in the LTDC_InitTypeDef and create the associated handle. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param pLayerCfg pointer to a LTDC_LayerCfgTypeDef structure that contains + * the configuration information for the Layer. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_ConfigLayer(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + assert_param(IS_LTDC_HCONFIGST(pLayerCfg->WindowX0)); + assert_param(IS_LTDC_HCONFIGSP(pLayerCfg->WindowX1)); + assert_param(IS_LTDC_VCONFIGST(pLayerCfg->WindowY0)); + assert_param(IS_LTDC_VCONFIGSP(pLayerCfg->WindowY1)); + assert_param(IS_LTDC_PIXEL_FORMAT(pLayerCfg->PixelFormat)); + assert_param(IS_LTDC_ALPHA(pLayerCfg->Alpha)); + assert_param(IS_LTDC_ALPHA(pLayerCfg->Alpha0)); + assert_param(IS_LTDC_BLENDING_FACTOR1(pLayerCfg->BlendingFactor1)); + assert_param(IS_LTDC_BLENDING_FACTOR2(pLayerCfg->BlendingFactor2)); + assert_param(IS_LTDC_CFBLL(pLayerCfg->ImageWidth)); + assert_param(IS_LTDC_CFBLNBR(pLayerCfg->ImageHeight)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Copy new layer configuration into handle structure */ + hltdc->LayerCfg[LayerIdx] = *pLayerCfg; + + /* Configure the LTDC Layer */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Initialize the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Configure the color keying. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param RGBValue the color key value + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Configure the default color values */ + LTDC_LAYER(hltdc, LayerIdx)->CKCR &= ~(LTDC_LxCKCR_CKBLUE | LTDC_LxCKCR_CKGREEN | LTDC_LxCKCR_CKRED); + LTDC_LAYER(hltdc, LayerIdx)->CKCR = RGBValue; + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Load the color lookup table. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param pCLUT pointer to the color lookup table address. + * @param CLUTSize the color lookup table size. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_ConfigCLUT(LTDC_HandleTypeDef *hltdc, uint32_t *pCLUT, uint32_t CLUTSize, uint32_t LayerIdx) +{ + uint32_t tmp = 0; + uint32_t counter = 0; + uint32_t pcounter = 0; + + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + for(counter = 0; (counter < CLUTSize); counter++) + { + if(hltdc->LayerCfg[LayerIdx].PixelFormat == LTDC_PIXEL_FORMAT_AL44) + { + tmp = (((counter + 16*counter) << 24) | ((uint32_t)(*pCLUT) & 0xFF) | ((uint32_t)(*pCLUT) & 0xFF00) | ((uint32_t)(*pCLUT) & 0xFF0000)); + } + else + { + tmp = ((counter << 24) | ((uint32_t)(*pCLUT) & 0xFF) | ((uint32_t)(*pCLUT) & 0xFF00) | ((uint32_t)(*pCLUT) & 0xFF0000)); + } + pcounter = (uint32_t)pCLUT + sizeof(*pCLUT); + pCLUT = (uint32_t *)pcounter; + + /* Specifies the C-LUT address and RGB value */ + LTDC_LAYER(hltdc, LayerIdx)->CLUTWR = tmp; + } + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Enable the color keying. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_EnableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Enable LTDC color keying by setting COLKEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_COLKEN; + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Disable the color keying. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_DisableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Disable LTDC color keying by setting COLKEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR &= ~(uint32_t)LTDC_LxCR_COLKEN; + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Enable the color lookup table. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_EnableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Enable LTDC color lookup table by setting CLUTEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_CLUTEN; + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Disable the color lookup table. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_DisableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Disable LTDC color lookup table by setting CLUTEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR &= ~(uint32_t)LTDC_LxCR_CLUTEN; + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Enable Dither. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_LTDC_EnableDither(LTDC_HandleTypeDef *hltdc) +{ + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Enable Dither by setting DTEN bit */ + LTDC->GCR |= (uint32_t)LTDC_GCR_DEN; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Disable Dither. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_LTDC_DisableDither(LTDC_HandleTypeDef *hltdc) +{ + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Disable Dither by setting DTEN bit */ + LTDC->GCR &= ~(uint32_t)LTDC_GCR_DEN; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Set the LTDC window size. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param XSize LTDC Pixel per line + * @param YSize LTDC Line number + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetWindowSize(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters (Layers parameters)*/ + assert_param(IS_LTDC_LAYER(LayerIdx)); + assert_param(IS_LTDC_CFBLL(XSize)); + assert_param(IS_LTDC_CFBLNBR(YSize)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* update horizontal stop */ + pLayerCfg->WindowX1 = XSize + pLayerCfg->WindowX0; + + /* update vertical stop */ + pLayerCfg->WindowY1 = YSize + pLayerCfg->WindowY0; + + /* Reconfigures the color frame buffer pitch in byte */ + pLayerCfg->ImageWidth = XSize; + + /* Reconfigures the frame buffer line number */ + pLayerCfg->ImageHeight = YSize; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Set the LTDC window position. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param X0 LTDC window X offset + * @param Y0 LTDC window Y offset + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetWindowPosition(LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + assert_param(IS_LTDC_CFBLL(X0)); + assert_param(IS_LTDC_CFBLNBR(Y0)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* update horizontal start/stop */ + pLayerCfg->WindowX0 = X0; + pLayerCfg->WindowX1 = X0 + pLayerCfg->ImageWidth; + + /* update vertical start/stop */ + pLayerCfg->WindowY0 = Y0; + pLayerCfg->WindowY1 = Y0 + pLayerCfg->ImageHeight; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Reconfigure the pixel format. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param Pixelformat new pixel format value. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetPixelFormat(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_PIXEL_FORMAT(Pixelformat)); + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* Reconfigure the pixel format */ + pLayerCfg->PixelFormat = Pixelformat; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Reconfigure the layer alpha value. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param Alpha new alpha value. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetAlpha(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_ALPHA(Alpha)); + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* Reconfigure the Alpha value */ + pLayerCfg->Alpha = Alpha; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} +/** + * @brief Reconfigure the frame buffer Address. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param Address new address value. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetAddress(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* Reconfigure the Address */ + pLayerCfg->FBStartAdress = Address; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Set the Immediate Reload type */ + hltdc->Instance->SRCR = LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Function used to reconfigure the pitch for specific cases where the attached LayerIdx buffer have a width that is + * larger than the one intended to be displayed on screen. Example of a buffer 800x480 attached to layer for which we + * want to read and display on screen only a portion 320x240 taken in the center of the buffer. The pitch in pixels + * will be in that case 800 pixels and not 320 pixels as initially configured by previous call to HAL_LTDC_ConfigLayer(). + * @note This function should be called only after a previous call to HAL_LTDC_ConfigLayer() to modify the default pitch + * configured by HAL_LTDC_ConfigLayer() when required (refer to example described just above). + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LinePitchInPixels New line pitch in pixels to configure for LTDC layer 'LayerIdx'. + * @param LayerIdx LTDC layer index concerned by the modification of line pitch. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetPitch(LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels, uint32_t LayerIdx) +{ + uint32_t tmp = 0; + uint32_t pitchUpdate = 0; + uint32_t pixelFormat = 0; + + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* get LayerIdx used pixel format */ + pixelFormat = hltdc->LayerCfg[LayerIdx].PixelFormat; + + if(pixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) + { + tmp = 4; + } + else if (pixelFormat == LTDC_PIXEL_FORMAT_RGB888) + { + tmp = 3; + } + else if((pixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ + (pixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ + (pixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ + (pixelFormat == LTDC_PIXEL_FORMAT_AL88)) + { + tmp = 2; + } + else + { + tmp = 1; + } + + pitchUpdate = ((LinePitchInPixels * tmp) << 16); + + /* Clear previously set standard pitch */ + LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~LTDC_LxCFBLR_CFBP; + + /* Set the Reload type as immediate update of LTDC pitch configured above */ + LTDC->SRCR |= LTDC_SRCR_IMR; + + /* Set new line pitch value */ + LTDC_LAYER(hltdc, LayerIdx)->CFBLR |= pitchUpdate; + + /* Set the Reload type as immediate update of LTDC pitch configured above */ + LTDC->SRCR |= LTDC_SRCR_IMR; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Define the position of the line interrupt. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param Line Line Interrupt Position. + * @note User application may resort to HAL_LTDC_LineEventCallback() at line interrupt generation. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_ProgramLineEvent(LTDC_HandleTypeDef *hltdc, uint32_t Line) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LIPOS(Line)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Disable the Line interrupt */ + __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); + + /* Set the Line Interrupt position */ + LTDC->LIPCR = (uint32_t)Line; + + /* Enable the Line interrupt */ + __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_LI); + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Reload LTDC Layers configuration. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param ReloadType This parameter can be one of the following values : + * LTDC_RELOAD_IMMEDIATE : Immediate Reload + * LTDC_RELOAD_VERTICAL_BLANKING : Reload in the next Vertical Blanking + * @note User application may resort to HAL_LTDC_ReloadEventCallback() at reload interrupt generation. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_Reload(LTDC_HandleTypeDef *hltdc, uint32_t ReloadType) +{ + /* Check the parameters */ + assert_param(IS_LTDC_RELOAD(ReloadType)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Enable the Reload interrupt */ + __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_RR); + + /* Apply Reload type */ + hltdc->Instance->SRCR = ReloadType; + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Configure the LTDC Layer according to the specified without reloading + * parameters in the LTDC_InitTypeDef and create the associated handle. + * Variant of the function HAL_LTDC_ConfigLayer without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param pLayerCfg pointer to a LTDC_LayerCfgTypeDef structure that contains + * the configuration information for the Layer. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_ConfigLayer_NoReload(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + assert_param(IS_LTDC_HCONFIGST(pLayerCfg->WindowX0)); + assert_param(IS_LTDC_HCONFIGSP(pLayerCfg->WindowX1)); + assert_param(IS_LTDC_VCONFIGST(pLayerCfg->WindowY0)); + assert_param(IS_LTDC_VCONFIGSP(pLayerCfg->WindowY1)); + assert_param(IS_LTDC_PIXEL_FORMAT(pLayerCfg->PixelFormat)); + assert_param(IS_LTDC_ALPHA(pLayerCfg->Alpha)); + assert_param(IS_LTDC_ALPHA(pLayerCfg->Alpha0)); + assert_param(IS_LTDC_BLENDING_FACTOR1(pLayerCfg->BlendingFactor1)); + assert_param(IS_LTDC_BLENDING_FACTOR2(pLayerCfg->BlendingFactor2)); + assert_param(IS_LTDC_CFBLL(pLayerCfg->ImageWidth)); + assert_param(IS_LTDC_CFBLNBR(pLayerCfg->ImageHeight)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Copy new layer configuration into handle structure */ + hltdc->LayerCfg[LayerIdx] = *pLayerCfg; + + /* Configure the LTDC Layer */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Do not set the Immediate Reload */ + + /* Initialize the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Set the LTDC window size without reloading. + * Variant of the function HAL_LTDC_SetWindowSize without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param XSize LTDC Pixel per line + * @param YSize LTDC Line number + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetWindowSize_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters (Layers parameters)*/ + assert_param(IS_LTDC_LAYER(LayerIdx)); + assert_param(IS_LTDC_CFBLL(XSize)); + assert_param(IS_LTDC_CFBLNBR(YSize)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* update horizontal stop */ + pLayerCfg->WindowX1 = XSize + pLayerCfg->WindowX0; + + /* update vertical stop */ + pLayerCfg->WindowY1 = YSize + pLayerCfg->WindowY0; + + /* Reconfigures the color frame buffer pitch in byte */ + pLayerCfg->ImageWidth = XSize; + + /* Reconfigures the frame buffer line number */ + pLayerCfg->ImageHeight = YSize; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Set the LTDC window position without reloading. + * Variant of the function HAL_LTDC_SetWindowPosition without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param X0 LTDC window X offset + * @param Y0 LTDC window Y offset + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetWindowPosition_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + assert_param(IS_LTDC_CFBLL(X0)); + assert_param(IS_LTDC_CFBLNBR(Y0)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* update horizontal start/stop */ + pLayerCfg->WindowX0 = X0; + pLayerCfg->WindowX1 = X0 + pLayerCfg->ImageWidth; + + /* update vertical start/stop */ + pLayerCfg->WindowY0 = Y0; + pLayerCfg->WindowY1 = Y0 + pLayerCfg->ImageHeight; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Reconfigure the pixel format without reloading. + * Variant of the function HAL_LTDC_SetPixelFormat without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDfef structure that contains + * the configuration information for the LTDC. + * @param Pixelformat new pixel format value. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetPixelFormat_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_PIXEL_FORMAT(Pixelformat)); + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* Reconfigure the pixel format */ + pLayerCfg->PixelFormat = Pixelformat; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Reconfigure the layer alpha value without reloading. + * Variant of the function HAL_LTDC_SetAlpha without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param Alpha new alpha value. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetAlpha_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_ALPHA(Alpha)); + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* Reconfigure the Alpha value */ + pLayerCfg->Alpha = Alpha; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Reconfigure the frame buffer Address without reloading. + * Variant of the function HAL_LTDC_SetAddress without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param Address new address value. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetAddress_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx) +{ + LTDC_LayerCfgTypeDef *pLayerCfg; + + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Get layer configuration from handle structure */ + pLayerCfg = &hltdc->LayerCfg[LayerIdx]; + + /* Reconfigure the Address */ + pLayerCfg->FBStartAdress = Address; + + /* Set LTDC parameters */ + LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Function used to reconfigure the pitch for specific cases where the attached LayerIdx buffer have a width that is + * larger than the one intended to be displayed on screen. Example of a buffer 800x480 attached to layer for which we + * want to read and display on screen only a portion 320x240 taken in the center of the buffer. The pitch in pixels + * will be in that case 800 pixels and not 320 pixels as initially configured by previous call to HAL_LTDC_ConfigLayer(). + * @note This function should be called only after a previous call to HAL_LTDC_ConfigLayer() to modify the default pitch + * configured by HAL_LTDC_ConfigLayer() when required (refer to example described just above). + * Variant of the function HAL_LTDC_SetPitch without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LinePitchInPixels New line pitch in pixels to configure for LTDC layer 'LayerIdx'. + * @param LayerIdx LTDC layer index concerned by the modification of line pitch. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_SetPitch_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels, uint32_t LayerIdx) +{ + uint32_t tmp = 0; + uint32_t pitchUpdate = 0; + uint32_t pixelFormat = 0; + + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* get LayerIdx used pixel format */ + pixelFormat = hltdc->LayerCfg[LayerIdx].PixelFormat; + + if(pixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) + { + tmp = 4; + } + else if (pixelFormat == LTDC_PIXEL_FORMAT_RGB888) + { + tmp = 3; + } + else if((pixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ + (pixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ + (pixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ + (pixelFormat == LTDC_PIXEL_FORMAT_AL88)) + { + tmp = 2; + } + else + { + tmp = 1; + } + + pitchUpdate = ((LinePitchInPixels * tmp) << 16); + + /* Clear previously set standard pitch */ + LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~LTDC_LxCFBLR_CFBP; + + /* Set new line pitch value */ + LTDC_LAYER(hltdc, LayerIdx)->CFBLR |= pitchUpdate; + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + + +/** + * @brief Configure the color keying without reloading. + * Variant of the function HAL_LTDC_ConfigColorKeying without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param RGBValue the color key value + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Configure the default color values */ + LTDC_LAYER(hltdc, LayerIdx)->CKCR &= ~(LTDC_LxCKCR_CKBLUE | LTDC_LxCKCR_CKGREEN | LTDC_LxCKCR_CKRED); + LTDC_LAYER(hltdc, LayerIdx)->CKCR = RGBValue; + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Enable the color keying without reloading. + * Variant of the function HAL_LTDC_EnableColorKeying without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_EnableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Enable LTDC color keying by setting COLKEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_COLKEN; + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Disable the color keying without reloading. + * Variant of the function HAL_LTDC_DisableColorKeying without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_DisableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Disable LTDC color keying by setting COLKEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR &= ~(uint32_t)LTDC_LxCR_COLKEN; + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Enable the color lookup table without reloading. + * Variant of the function HAL_LTDC_EnableCLUT without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_EnableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Disable LTDC color lookup table by setting CLUTEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_CLUTEN; + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @brief Disable the color lookup table without reloading. + * Variant of the function HAL_LTDC_DisableCLUT without immediate reload. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: + * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LTDC_DisableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx) +{ + /* Check the parameters */ + assert_param(IS_LTDC_LAYER(LayerIdx)); + + /* Process locked */ + __HAL_LOCK(hltdc); + + /* Change LTDC peripheral state */ + hltdc->State = HAL_LTDC_STATE_BUSY; + + /* Disable LTDC color lookup table by setting CLUTEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR &= ~(uint32_t)LTDC_LxCR_CLUTEN; + + /* Do not set the Immediate Reload */ + + /* Change the LTDC state*/ + hltdc->State = HAL_LTDC_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hltdc); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup LTDC_Exported_Functions_Group4 Peripheral State and Errors functions + * @brief Peripheral State and Errors functions + * +@verbatim + =============================================================================== + ##### Peripheral State and Errors functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to + (+) Check the LTDC handle state. + (+) Get the LTDC handle error code. + +@endverbatim + * @{ + */ + +/** + * @brief Return the LTDC handle state. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @retval HAL state + */ +HAL_LTDC_StateTypeDef HAL_LTDC_GetState(LTDC_HandleTypeDef *hltdc) +{ + return hltdc->State; +} + +/** + * @brief Return the LTDC handle error code. + * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. +* @retval LTDC Error Code +*/ +uint32_t HAL_LTDC_GetError(LTDC_HandleTypeDef *hltdc) +{ + return hltdc->ErrorCode; +} + +/** + * @} + */ + +/** + * @brief Configures the LTDC peripheral + * @param hltdc : Pointer to a LTDC_HandleTypeDef structure that contains + * the configuration information for the LTDC. + * @param pLayerCfg Pointer LTDC Layer Configuration structure + * @param LayerIdx LTDC Layer index. + * This parameter can be one of the following values: LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) + * @retval None + */ +static void LTDC_SetConfig(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx) +{ + uint32_t tmp = 0; + uint32_t tmp1 = 0; + uint32_t tmp2 = 0; + + /* Configure the horizontal start and stop position */ + tmp = ((pLayerCfg->WindowX1 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16)) << 16); + LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); + LTDC_LAYER(hltdc, LayerIdx)->WHPCR = ((pLayerCfg->WindowX0 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16) + 1) | tmp); + + /* Configure the vertical start and stop position */ + tmp = ((pLayerCfg->WindowY1 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP)) << 16); + LTDC_LAYER(hltdc, LayerIdx)->WVPCR &= ~(LTDC_LxWVPCR_WVSTPOS | LTDC_LxWVPCR_WVSPPOS); + LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1) | tmp); + + /* Specifies the pixel format */ + LTDC_LAYER(hltdc, LayerIdx)->PFCR &= ~(LTDC_LxPFCR_PF); + LTDC_LAYER(hltdc, LayerIdx)->PFCR = (pLayerCfg->PixelFormat); + + /* Configure the default color values */ + tmp = ((uint32_t)(pLayerCfg->Backcolor.Green) << 8); + tmp1 = ((uint32_t)(pLayerCfg->Backcolor.Red) << 16); + tmp2 = (pLayerCfg->Alpha0 << 24); + LTDC_LAYER(hltdc, LayerIdx)->DCCR &= ~(LTDC_LxDCCR_DCBLUE | LTDC_LxDCCR_DCGREEN | LTDC_LxDCCR_DCRED | LTDC_LxDCCR_DCALPHA); + LTDC_LAYER(hltdc, LayerIdx)->DCCR = (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2); + + /* Specifies the constant alpha value */ + LTDC_LAYER(hltdc, LayerIdx)->CACR &= ~(LTDC_LxCACR_CONSTA); + LTDC_LAYER(hltdc, LayerIdx)->CACR = (pLayerCfg->Alpha); + + /* Specifies the blending factors */ + LTDC_LAYER(hltdc, LayerIdx)->BFCR &= ~(LTDC_LxBFCR_BF2 | LTDC_LxBFCR_BF1); + LTDC_LAYER(hltdc, LayerIdx)->BFCR = (pLayerCfg->BlendingFactor1 | pLayerCfg->BlendingFactor2); + + /* Configure the color frame buffer start address */ + LTDC_LAYER(hltdc, LayerIdx)->CFBAR &= ~(LTDC_LxCFBAR_CFBADD); + LTDC_LAYER(hltdc, LayerIdx)->CFBAR = (pLayerCfg->FBStartAdress); + + if(pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) + { + tmp = 4; + } + else if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB888) + { + tmp = 3; + } + else if((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ + (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ + (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ + (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_AL88)) + { + tmp = 2; + } + else + { + tmp = 1; + } + + /* Configure the color frame buffer pitch in byte */ + LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); + LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16) | (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 7)); + + /* Configure the frame buffer line number */ + LTDC_LAYER(hltdc, LayerIdx)->CFBLNR &= ~(LTDC_LxCFBLNR_CFBLNBR); + LTDC_LAYER(hltdc, LayerIdx)->CFBLNR = (pLayerCfg->ImageHeight); + + /* Enable LTDC_Layer by setting LEN bit */ + LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_LEN; +} + +/** + * @} + */ + +#endif /* HAL_LTDC_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdios.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdios.c new file mode 100644 index 0000000000..74f16e7a5b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdios.c @@ -0,0 +1,623 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mdios.c + * @author MCD Application Team + * @brief MDIOS HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the MDIOS Peripheral. + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + * + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The MDIOS HAL driver can be used as follow: + + (#) Declare a MDIOS_HandleTypeDef handle structure. + + (#) Initialize the MDIOS low level resources by implementing the HAL_MDIOS_MspInit() API: + (##) Enable the MDIOS interface clock. + (##) MDIOS pins configuration: + (+++) Enable clocks for the MDIOS GPIOs. + (+++) Configure the MDIOS pins as alternate function. + (##) NVIC configuration if you need to use interrupt process: + (+++) Configure the MDIOS interrupt priority. + (+++) Enable the NVIC MDIOS IRQ handle. + + (#) Program the Port Address and the Preamble Check in the Init structure. + + (#) Initialize the MDIOS registers by calling the HAL_MDIOS_Init() API. + + (#) Perform direct slave read/write operations using the following APIs: + (##) Read the value of a DINn register: HAL_MDIOS_ReadReg() + (##) Write a value to a DOUTn register: HAL_MDIOS_WriteReg() + + (#) Get the Master read/write operations flags using the following APIs: + (##) Bit map of DOUTn registers read by Master: HAL_MDIOS_GetReadRegAddress() + (##) Bit map of DINn registers written by Master : HAL_MDIOS_GetWrittenRegAddress() + + (#) Clear the read/write flags using the following APIs: + (##) Clear read flags of a set of registers: HAL_MDIOS_ClearReadRegAddress() + (##) Clear write flags of a set of registers: HAL_MDIOS_ClearWriteRegAddress() + + (#) Enable interrupts on events using HAL_MDIOS_EnableEvents(), when called + the MDIOS will generate an interrupt in the following cases: + (##) a DINn register written by the Master + (##) a DOUTn register read by the Master + (##) an error occur + + (@) A callback is executed for each genereted interrupt, so the driver provide the following + HAL_MDIOS_WriteCpltCallback(), HAL_MDIOS_ReadCpltCallback() and HAL_MDIOS_ErrorCallback() + (@) HAL_MDIOS_IRQHandler() must be called from the MDIOS IRQ Handler, to handle the interrupt + and execute the previous callbacks + + (#) Reset the MDIOS peripheral and all related ressources by calling the HAL_MDIOS_DeInit() API. + (##) HAL_MDIOS_MspDeInit() must be implemented to reset low level ressources + (GPIO, Clocks, NVIC configuration ...) + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +/** @defgroup MDIOS MDIOS + * @brief HAL MDIOS module driver + * @{ + */ +#ifdef HAL_MDIOS_MODULE_ENABLED + + + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define MDIOS_PORT_ADDRESS_SHIFT ((uint32_t)8) +#define MDIOS_ALL_REG_FLAG ((uint32_t)0xFFFFFFFFU) +#define MDIOS_ALL_ERRORS_FLAG ((uint32_t)(MDIOS_SR_PERF | MDIOS_SR_SERF | MDIOS_SR_TERF)) + +#define MDIOS_DIN_BASE_ADDR (MDIOS_BASE + 0x100) +#define MDIOS_DOUT_BASE_ADDR (MDIOS_BASE + 0x180) + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup MDIOS_Exported_Functions MDIOS Exported Functions + * @{ + */ + +/** @defgroup MDIOS_Exported_Functions_Group1 Initialization/de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim +=============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the MDIOS + (+) The following parameters can be configured: + (++) Port Address + (++) Preamble Check + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the MDIOS according to the specified parameters in + * the MDIOS_InitTypeDef and creates the associated handle . + * @param hmdios: pointer to a MDIOS_HandleTypeDef structure that contains + * the configuration information for MDIOS module + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDIOS_Init(MDIOS_HandleTypeDef *hmdios) +{ + uint32_t tmpcr = 0; + + /* Check the MDIOS handle allocation */ + if(hmdios == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_MDIOS_ALL_INSTANCE(hmdios->Instance)); + assert_param(IS_MDIOS_PORTADDRESS(hmdios->Init.PortAddress)); + assert_param(IS_MDIOS_PREAMBLECHECK(hmdios->Init.PreambleCheck)); + + /* Process Locked */ + __HAL_LOCK(hmdios); + + if(hmdios->State == HAL_MDIOS_STATE_RESET) + { + /* Init the low level hardware */ + HAL_MDIOS_MspInit(hmdios); + } + + /* Change the MDIOS state */ + hmdios->State = HAL_MDIOS_STATE_BUSY; + + /* Get the MDIOS CR value */ + tmpcr = hmdios->Instance->CR; + + /* Clear PORT_ADDRESS, DPC and EN bits */ + tmpcr &= ((uint32_t)~(MDIOS_CR_EN | MDIOS_CR_DPC | MDIOS_CR_PORT_ADDRESS)); + + /* Set MDIOS control parametrs and enable the peripheral */ + tmpcr |= (uint32_t)(((hmdios->Init.PortAddress) << MDIOS_PORT_ADDRESS_SHIFT) |\ + (hmdios->Init.PreambleCheck) | \ + (MDIOS_CR_EN)); + + /* Write the MDIOS CR */ + hmdios->Instance->CR = tmpcr; + + /* Change the MDIOS state */ + hmdios->State = HAL_MDIOS_STATE_READY; + + /* Release Lock */ + __HAL_UNLOCK(hmdios); + + /* Return function status */ + return HAL_OK; + +} + +/** + * @brief DeInitializes the MDIOS peripheral. + * @param hmdios: MDIOS handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDIOS_DeInit(MDIOS_HandleTypeDef *hmdios) +{ + /* Check the MDIOS handle allocation */ + if(hmdios == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_MDIOS_ALL_INSTANCE(hmdios->Instance)); + + /* Change the MDIOS state */ + hmdios->State = HAL_MDIOS_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_MDIOS_DISABLE(hmdios); + + /* DeInit the low level hardware */ + HAL_MDIOS_MspDeInit(hmdios); + + /* Change the MDIOS state */ + hmdios->State = HAL_MDIOS_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hmdios); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief MDIOS MSP Init + * @param hmdios: mdios handle + * @retval None + */ + __weak void HAL_MDIOS_MspInit(MDIOS_HandleTypeDef *hmdios) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdios); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MDIOS_MspInit can be implemented in the user file + */ +} + +/** + * @brief MDIOS MSP DeInit + * @param hmdios: mdios handle + * @retval None + */ + __weak void HAL_MDIOS_MspDeInit(MDIOS_HandleTypeDef *hmdios) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdios); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MDIOS_MspDeInit can be implemented in the user file + */ +} + +/** @defgroup MDIOS_Exported_Functions_Group2 IO operation functions + * @brief MDIOS Read/Write functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + This subsection provides a set of functions allowing to manage the MDIOS + read and write operations. + + (#) APIs that allow to the MDIOS to read/write from/to the + values of one of the DINn/DOUTn registers: + (+) Read the value of a DINn register: HAL_MDIOS_ReadReg() + (+) Write a value to a DOUTn register: HAL_MDIOS_WriteReg() + + (#) APIs that provide if there are some Slave registres have been + read or written by the Master: + (+) DOUTn registers read by Master: HAL_MDIOS_GetReadRegAddress() + (+) DINn registers written by Master : HAL_MDIOS_GetWrittenRegAddress() + + (#) APIs that Clear the read/write flags: + (+) Clear read registers flags: HAL_MDIOS_ClearReadRegAddress() + (+) Clear write registers flags: HAL_MDIOS_ClearWriteRegAddress() + + (#) A set of Callbacks are provided: + (+) HAL_MDIOS_WriteCpltCallback() + (+) HAL_MDIOS_ReadCpltCallback() + (+) HAL_MDIOS_ErrorCallback() + +@endverbatim + * @{ + */ + +/** + * @brief Writes to an MDIOS output register + * @param hmdios: mdios handle + * @param RegNum: MDIOS output register address + * @param Data: Data to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDIOS_WriteReg(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum, uint16_t Data) +{ + uint32_t tmpreg; + + /* Check the parameters */ + assert_param(IS_MDIOS_REGISTER(RegNum)); + + /* Process Locked */ + __HAL_LOCK(hmdios); + + /* Get the addr of output register to be written by the MDIOS */ + tmpreg = MDIOS_DOUT_BASE_ADDR + (4 * RegNum); + + /* Write to DOUTn register */ + *((uint32_t *)tmpreg) = Data; + + /* Process Unlocked */ + __HAL_UNLOCK(hmdios); + + return HAL_OK; +} + +/** + * @brief Reads an MDIOS input register + * @param hmdios: mdios handle + * @param RegNum: MDIOS input register address + * @param pData: pointer to Data + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDIOS_ReadReg(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum, uint16_t *pData) +{ + uint32_t tmpreg; + + /* Check the parameters */ + assert_param(IS_MDIOS_REGISTER(RegNum)); + + /* Process Locked */ + __HAL_LOCK(hmdios); + + /* Get the addr of input register to be read by the MDIOS */ + tmpreg = MDIOS_DIN_BASE_ADDR + (4 * RegNum); + + /* Read DINn register */ + *pData = (uint16_t)(*((uint32_t *)tmpreg)); + + /* Process Unlocked */ + __HAL_UNLOCK(hmdios); + + return HAL_OK; +} + +/** + * @brief Gets Written registers by MDIO master + * @param hmdios: mdios handle + * @retval bit map of written registers addresses + */ +uint32_t HAL_MDIOS_GetWrittenRegAddress(MDIOS_HandleTypeDef *hmdios) +{ + return hmdios->Instance->WRFR; +} + +/** + * @brief Gets Read registers by MDIO master + * @param hmdios: mdios handle + * @retval bit map of read registers addresses + */ +uint32_t HAL_MDIOS_GetReadRegAddress(MDIOS_HandleTypeDef *hmdios) +{ + return hmdios->Instance->RDFR; +} + +/** + * @brief Clears Write registers flag + * @param hmdios: mdios handle + * @param RegNum: registers addresses to be cleared + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDIOS_ClearWriteRegAddress(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum) +{ + /* Check the parameters */ + assert_param(IS_MDIOS_REGISTER(RegNum)); + + /* Process Locked */ + __HAL_LOCK(hmdios); + + /* Clear write registers flags */ + hmdios->Instance->CWRFR |= (RegNum); + + /* Release Lock */ + __HAL_UNLOCK(hmdios); + + return HAL_OK; +} + +/** + * @brief Clears Read register flag + * @param hmdios: mdios handle + * @param RegNum: registers addresses to be cleared + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDIOS_ClearReadRegAddress(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum) +{ + /* Check the parameters */ + assert_param(IS_MDIOS_REGISTER(RegNum)); + + /* Process Locked */ + __HAL_LOCK(hmdios); + + /* Clear read registers flags */ + hmdios->Instance->CRDFR |= (RegNum); + + /* Release Lock */ + __HAL_UNLOCK(hmdios); + + return HAL_OK; +} + +/** + * @brief Enables Events for MDIOS peripheral + * @param hmdios: mdios handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDIOS_EnableEvents(MDIOS_HandleTypeDef *hmdios) +{ + /* Process Locked */ + __HAL_LOCK(hmdios); + + /* Enable MDIOS interrupts: Register Write, Register Read and Error ITs */ + __HAL_MDIOS_ENABLE_IT(hmdios, (MDIOS_IT_WRITE | MDIOS_IT_READ | MDIOS_IT_ERROR)); + + /* Process Unlocked */ + __HAL_UNLOCK(hmdios); + + return HAL_OK; +} + +/** + * @brief This function handles MDIOS interrupt request. + * @param hmdios: MDIOS handle + * @retval None + */ +void HAL_MDIOS_IRQHandler(MDIOS_HandleTypeDef *hmdios) +{ + /* Write Register Interrupt enabled ? */ + if(__HAL_MDIOS_GET_IT_SOURCE(hmdios, MDIOS_IT_WRITE) != RESET) + { + /* Write register flag */ + if(HAL_MDIOS_GetWrittenRegAddress(hmdios) != RESET) + { + /* Write callback function */ + HAL_MDIOS_WriteCpltCallback(hmdios); + + /* Clear write register flag */ + HAL_MDIOS_ClearWriteRegAddress(hmdios, MDIOS_ALL_REG_FLAG); + } + } + + /* Read Register Interrupt enabled ? */ + if(__HAL_MDIOS_GET_IT_SOURCE(hmdios, MDIOS_IT_READ) != RESET) + { + /* Read register flag */ + if(HAL_MDIOS_GetReadRegAddress(hmdios) != RESET) + { + /* Read callback function */ + HAL_MDIOS_ReadCpltCallback(hmdios); + + /* Clear read register flag */ + HAL_MDIOS_ClearReadRegAddress(hmdios, MDIOS_ALL_REG_FLAG); + } + } + + /* Error Interrupt enabled ? */ + if(__HAL_MDIOS_GET_IT_SOURCE(hmdios, MDIOS_IT_ERROR) != RESET) + { + /* All Errors Flag */ + if(__HAL_MDIOS_GET_ERROR_FLAG(hmdios, MDIOS_ALL_ERRORS_FLAG) !=RESET) + { + /* Error Callback */ + HAL_MDIOS_ErrorCallback(hmdios); + + /* Clear errors flag */ + __HAL_MDIOS_CLEAR_ERROR_FLAG(hmdios, MDIOS_ALL_ERRORS_FLAG); + } + } + /* check MDIOS WAKEUP exti flag */ + if(__HAL_MDIOS_WAKEUP_EXTI_GET_FLAG(MDIOS_WAKEUP_EXTI_LINE) != RESET) + { + /* Clear MDIOS WAKEUP Exti pending bit */ + __HAL_MDIOS_WAKEUP_EXTI_CLEAR_FLAG(MDIOS_WAKEUP_EXTI_LINE); + /* MDIOS WAKEUP interrupt user callback */ + HAL_MDIOS_WakeUpCallback(hmdios); + } +} + +/** + * @brief Write Complete Callback + * @param hmdios: mdios handle + * @retval None + */ + __weak void HAL_MDIOS_WriteCpltCallback(MDIOS_HandleTypeDef *hmdios) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdios); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MDIOS_WriteCpltCallback can be implemented in the user file + */ +} + +/** + * @brief Read Complete Callback + * @param hmdios: mdios handle + * @retval None + */ + __weak void HAL_MDIOS_ReadCpltCallback(MDIOS_HandleTypeDef *hmdios) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdios); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MDIOS_ReadCpltCallback can be implemented in the user file + */ +} + +/** + * @brief Error Callback + * @param hmdios: mdios handle + * @retval None + */ + __weak void HAL_MDIOS_ErrorCallback(MDIOS_HandleTypeDef *hmdios) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdios); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MDIOS_ErrorCallback can be implemented in the user file + */ +} + +/** + * @brief MDIOS WAKEUP interrupt callback + * @param hmdios: mdios handle + * @retval None + */ +__weak void HAL_MDIOS_WakeUpCallback(MDIOS_HandleTypeDef *hmdios) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdios); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_MDIOS_WakeUpCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup MDIOS_Exported_Functions_Group3 Peripheral Control functions + * @brief MDIOS control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the MDIOS. + (+) HAL_MDIOS_GetState() API, helpful to check in run-time the state. + (+) HAL_MDIOS_GetError() API, returns the errors occured during data transfer. + +@endverbatim + * @{ + */ + +/** + * @brief Gets MDIOS error flags + * @param hmdios: mdios handle + * @retval bit map of occured errors + */ +uint32_t HAL_MDIOS_GetError(MDIOS_HandleTypeDef *hmdios) +{ + /* return errors flags on status register */ + return hmdios->Instance->SR; +} + +/** + * @brief Return the MDIOS HAL state + * @param hmdios: mdios handle + * @retval HAL state + */ +HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios) +{ + /* Return MDIOS state */ + return hmdios->State; +} + +/** + * @} + */ + +/** + * @} + */ + + +/** + * @} + */ +#endif /* HAL_MDIOS_MODULE_ENABLED */ +/** + * @} + */ +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c new file mode 100644 index 0000000000..34f883febf --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c @@ -0,0 +1,1906 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mdma.c + * @author MCD Application Team + * @brief This file provides firmware functions to manage the following + * functionalities of the Master Direct Memory Access (MDMA) peripheral: + * + Initialization/de-initialization functions + * + I/O operation functions + * + Peripheral State and errors functions + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Enable and configure the peripheral to be connected to the MDMA Channel + (except for internal SRAM/FLASH memories: no initialization is + necessary) please refer to Reference manual for connection between peripherals + and MDMA requests. + + (#) + For a given Channel use HAL_MDMA_Init function to program the required configuration through the following parameters: + transfer request , channel priority, data endianness, Source increment, destination increment , + source data size, destination data size, data alignment, source Burst, destination Burst , + buffer Transfer Length, Transfer Trigger Mode (buffer transfer, block transfer, repeated block transfer + or full transfer) source and destination block address offset, mask address and data. + + If using the MDMA in linked list mode then use function HAL_MDMA_LinkedList_CreateNode to fill a transfer node. + Note that parameters given to the function HAL_MDMA_Init corresponds always to the node zero. + Use function HAL_MDMA_LinkedList_AddNode to connect the created node to the linked list at a given position. + User can make a linked list circular using function HAL_MDMA_LinkedList_EnableCircularMode , this function will automatically connect the + last node of the list to the first one in order to make the list circular. + In this case the linked list will loop on node 1 : first node connected after the initial transfer defined by the HAL_MDMA_Init + + -@- The initial transfer itself (node 0 corresponding to the Init). + User can disable the circular mode using function HAL_MDMA_LinkedList_DisableCircularMode, this function will then remove + the connection between last node and first one. + + Function HAL_MDMA_LinkedList_RemoveNode can be used to remove (disconnect) a node from the transfer linked list. + When a linked list is circular (last node connected to first one), if removing node1 (node where the linked list loops), + the linked list remains circular and node 2 becomes the first one. + Note that if the linked list is made circular the transfer will loop infinitely (or until aborted by the user). + + [..] + (+) User can select the transfer trigger mode (parameter TransferTriggerMode) to define the amount of data to be + transfer upon a request : + (++) MDMA_BUFFER_TRANSFER : each request triggers a transfer of BufferTransferLength data + with BufferTransferLength defined within the HAL_MDMA_Init. + (++) MDMA_BLOCK_TRANSFER : each request triggers a transfer of a block + with block size defined within the function HAL_MDMA_Start/HAL_MDMA_Start_IT + or within the current linked list node parameters. + (++) MDMA_REPEAT_BLOCK_TRANSFER : each request triggers a transfer of a number of blocks + with block size and number of blocks defined within the function HAL_MDMA_Start/HAL_MDMA_Start_IT + or within the current linked list node parameters. + (++) MDMA_FULL_TRANSFER : each request triggers a full transfer + all blocks and all nodes(if a linked list has been created using HAL_MDMA_LinkedList_CreateNode \ HAL_MDMA_LinkedList_AddNode). + + *** Polling mode IO operation *** + ================================= + [..] + (+) Use HAL_MDMA_Start() to start MDMA transfer after the configuration of Source + address and destination address and the Length of data to be transferred. + (+) Use HAL_MDMA_PollForTransfer() to poll for the end of current transfer or a transfer level + In this case a fixed Timeout can be configured by User depending from his application. + (+) Use HAL_MDMA_Abort() function to abort the current transfer : blocking method this API returns + when the abort ends or timeout (should not be called from an interrupt service routine). + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Configure the MDMA interrupt priority using HAL_NVIC_SetPriority() + (+) Enable the MDMA IRQ handler using HAL_NVIC_EnableIRQ() + (+) Use HAL_MDMA_Start_IT() to start MDMA transfer after the configuration of + Source address and destination address and the Length of data to be transferred. In this + case the MDMA interrupt is configured. + (+) Use HAL_MDMA_IRQHandler() called under MDMA_IRQHandler() Interrupt subroutine + (+) At the end of data transfer HAL_MDMA_IRQHandler() function is executed and user can + add his own function by customization of function pointer XferCpltCallback and + XferErrorCallback (i.e a member of MDMA handle structure). + + (+) Use HAL_MDMA_Abort_IT() function to abort the current transfer : non-blocking method. This API returns immediately + then the callback XferAbortCallback (if specified by the user) is asserted once the MDMA channel hase effectively aborted. + (could be called from an interrupt service routine). + + (+) Use functions HAL_MDMA_RegisterCallback and HAL_MDMA_UnRegisterCallback respectevely to register unregister user callbacks + from the following list : + (++) XferCpltCallback : transfer complete callback. + (++) XferBufferCpltCallback : buffer transfer complete callback. + (++) XferBlockCpltCallback : block transfer complete callback. + (++) XferRepeatBlockCpltCallback : repeated block transfer complete callback. + (++) XferErrorCallback : transfer error callback. + (++) XferAbortCallback : transfer abort complete callback. + + [..] + (+) If the transfer Request corresponds to SW request (MDMA_REQUEST_SW) User can use function HAL_MDMA_GenerateSWRequest to + trigger requests manually. Function HAL_MDMA_GenerateSWRequest must be used with the following precautions: + (++) This function returns an error if used while the Transfer hase ends or not started. + (++) If used while the current request hase not been served yet (current request transfer on going) + this function returns an error and the new request is ignored. + + Generally this function should be used in conjunctions with the MDMA callbacks: + (++) example 1: + (+++) Configure a transfer with request set to MDMA_REQUEST_SW and trigger mode set to MDMA_BUFFER_TRANSFER + (+++) Register a callback for buffer transfer complete (using callback ID set to HAL_MDMA_XFER_BUFFERCPLT_CB_ID) + (+++) After calling HAL_MDMA_Start_IT the MDMA will issue the transfer of a first BufferTransferLength data. + (+++) When the buffer transfer complete callback is asserted first buffer hase been transferred and user can ask for a new buffer transfer + request using HAL_MDMA_GenerateSWRequest. + + (++) example 2: + (+++) Configure a transfer with request set to MDMA_REQUEST_SW and trigger mode set to MDMA_BLOCK_TRANSFER + (+++) Register a callback for block transfer complete (using callback ID HAL_MDMA_XFER_BLOCKCPLT_CB_ID) + (+++) After calling HAL_MDMA_Start_IT the MDMA will issue the transfer of a first block of data. + (+++) When the block transfer complete callback is asserted the fisrt block hase been transferred and user can ask + for a new block transfer request using HAL_MDMA_GenerateSWRequest. + + [..] Use HAL_MDMA_GetState() function to return the MDMA state and HAL_MDMA_GetError() in case of error detection. + + *** MDMA HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in MDMA HAL driver. + + (+) __HAL_MDMA_ENABLE: Enable the specified MDMA Stream. + (+) __HAL_MDMA_DISABLE: Disable the specified MDMA Stream. + (+) __HAL_MDMA_GET_FLAG: Get the MDMA Stream pending flags. + (+) __HAL_MDMA_CLEAR_FLAG: Clear the MDMA Stream pending flags. + (+) __HAL_MDMA_ENABLE_IT: Enable the specified MDMA Stream interrupts. + (+) __HAL_MDMA_DISABLE_IT: Disable the specified MDMA Stream interrupts. + (+) __HAL_MDMA_GET_IT_SOURCE: Check whether the specified MDMA Stream interrupt has occurred or not. + + [..] + (@) You can refer to the header file of the MDMA HAL driver for more useful macros. + + [..] + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup MDMA MDMA + * @brief MDMA HAL module driver + * @{ + */ + +#ifdef HAL_MDMA_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @addtogroup MDMA_Private_Constants + * @{ + */ +#define HAL_TIMEOUT_MDMA_ABORT ((uint32_t)5U) /* 5 ms */ +#define HAL_MDMA_CHANNEL_SIZE ((uint32_t)0x40U) /* an MDMA instance channel size is 64 byte */ +/** + * @} + */ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup MDMA_Private_Functions_Prototypes + * @{ + */ +static void MDMA_SetConfig(MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount); +static void MDMA_Init(MDMA_HandleTypeDef *hmdma); + +/** + * @} + */ + +/** @addtogroup MDMA_Exported_Functions MDMA Exported Functions + * @{ + */ + +/** @addtogroup MDMA_Exported_Functions_Group1 + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] + This section provides functions allowing to : + Initialize and de-initialize the MDMA channel. + Register and Unregister MDMA callbacks + [..] + The HAL_MDMA_Init() function follows the MDMA channel configuration procedures as described in + reference manual. + The HAL_MDMA_DeInit function allows to deinitialize the MDMA channel. + HAL_MDMA_RegisterCallback and HAL_MDMA_UnRegisterCallback functions allows + respectevely to register/unregister an MDMA callback function. + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the MDMA according to the specified + * parameters in the MDMA_InitTypeDef and create the associated handle. + * @param hmdma: Pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_Init(MDMA_HandleTypeDef *hmdma) +{ + uint32_t tickstart = HAL_GetTick(); + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_MDMA_STREAM_ALL_INSTANCE(hmdma->Instance)); + assert_param(IS_MDMA_PRIORITY(hmdma->Init.Priority)); + assert_param(IS_MDMA_ENDIANNESS_MODE(hmdma->Init.Endianness)); + assert_param(IS_MDMA_REQUEST(hmdma->Init.Request)); + assert_param(IS_MDMA_SOURCE_INC(hmdma->Init.SourceInc)); + assert_param(IS_MDMA_DESTINATION_INC(hmdma->Init.DestinationInc)); + assert_param(IS_MDMA_SOURCE_DATASIZE(hmdma->Init.SourceDataSize)); + assert_param(IS_MDMA_DESTINATION_DATASIZE(hmdma->Init.DestDataSize)); + assert_param(IS_MDMA_DATA_ALIGNMENT(hmdma->Init.DataAlignment)); + assert_param(IS_MDMA_SOURCE_BURST(hmdma->Init.SourceBurst)); + assert_param(IS_MDMA_DESTINATION_BURST(hmdma->Init.DestBurst)); + assert_param(IS_MDMA_BUFFER_TRANSFER_LENGTH(hmdma->Init.BufferTransferLength)); + assert_param(IS_MDMA_TRANSFER_TRIGGER_MODE(hmdma->Init.TransferTriggerMode)); + assert_param(IS_MDMA_BLOCK_ADDR_OFFSET(hmdma->Init.SourceBlockAddressOffset)); + assert_param(IS_MDMA_BLOCK_ADDR_OFFSET(hmdma->Init.DestBlockAddressOffset)); + + + /* Allocate lock resource */ + __HAL_UNLOCK(hmdma); + + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_BUSY; + + /* Disable the MDMA channel */ + __HAL_MDMA_DISABLE(hmdma); + + /* Check if the MDMA channel is effectively disabled */ + while((hmdma->Instance->CCR & MDMA_CCR_EN) != RESET) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_MDMA_ABORT) + { + /* Update error code */ + hmdma->ErrorCode = HAL_MDMA_ERROR_TIMEOUT; + + /* Change the MDMA state */ + hmdma->State = HAL_MDMA_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Init MDMA channel registers */ + MDMA_Init(hmdma); + + /* Reset the MDMA first/last linkedlist node addresses and node counter */ + hmdma->FirstLinkedListNodeAddress = 0; + hmdma->LastLinkedListNodeAddress = 0; + hmdma->LinkedListNodeCounter = 0; + + /* Initialise the error code */ + hmdma->ErrorCode = HAL_MDMA_ERROR_NONE; + + /* Initialize the MDMA state */ + hmdma->State = HAL_MDMA_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitializes the MDMA peripheral + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_DeInit(MDMA_HandleTypeDef *hmdma) +{ + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Check the MDMA peripheral state */ + if(hmdma->State == HAL_MDMA_STATE_BUSY) + { + hmdma->ErrorCode = HAL_MDMA_ERROR_BUSY; + return HAL_ERROR; + } + + /* Disable the selected MDMA Channelx */ + __HAL_MDMA_DISABLE(hmdma); + + /* Reset MDMA Channel control register */ + hmdma->Instance->CCR = 0; + hmdma->Instance->CTCR = 0; + hmdma->Instance->CBNDTR = 0; + hmdma->Instance->CSAR = 0; + hmdma->Instance->CDAR = 0; + hmdma->Instance->CBRUR = 0; + hmdma->Instance->CLAR = 0; + hmdma->Instance->CTBR = 0; + hmdma->Instance->CMAR = 0; + hmdma->Instance->CMDR = 0; + + /* Clear all flags */ + __HAL_MDMA_CLEAR_FLAG(hmdma,(MDMA_FLAG_TE | MDMA_FLAG_CTC | MDMA_FLAG_BRT | MDMA_FLAG_BT | MDMA_FLAG_BFTC)); + + /* Reset the MDMA first/last linkedlist node addresses and node counter */ + hmdma->FirstLinkedListNodeAddress = 0; + hmdma->LastLinkedListNodeAddress = 0; + hmdma->LinkedListNodeCounter = 0; + + /* Initialise the error code */ + hmdma->ErrorCode = HAL_MDMA_ERROR_NONE; + + /* Initialize the MDMA state */ + hmdma->State = HAL_MDMA_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hmdma); + + return HAL_OK; +} + +/** + * @brief Config the Post request Mask address and Mask data + * @param hmdma : pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @param MaskAddress: specifies the address to be updated (written) with MaskData after a request is served. + * @param MaskData: specifies the value to be written to MaskAddress after a request is served. + * MaskAddress and MaskData could be used to automatically clear a peripheral flag when the request is served. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_ConfigPostRequestMask(MDMA_HandleTypeDef *hmdma, uint32_t MaskAddress, uint32_t MaskData) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + /* if HW request set Post Request MaskAddress and MaskData, */ + if((hmdma->Instance->CTCR & MDMA_CTCR_SWRM) == 0) + { + /* Set the HW request clear Mask and Data */ + hmdma->Instance->CMAR = MaskAddress; + hmdma->Instance->CMDR = MaskData; + + /* + -If the request is done by SW : BWM could be set to 1 or 0. + -If the request is done by a peripheral : + If mask address not set (0) => BWM must be set to 0 + If mask address set (different than 0) => BWM could be set to 1 or 0 + */ + if(MaskAddress == 0) + { + hmdma->Instance->CTCR &= ~MDMA_CTCR_BWM; + } + else + { + hmdma->Instance->CTCR |= MDMA_CTCR_BWM; + } + } + else + { + /* Return error status */ + status = HAL_ERROR; + } + } + else + { + /* Return error status */ + status = HAL_ERROR; + } + /* Release Lock */ + __HAL_UNLOCK(hmdma); + + return status; +} + +/** + * @brief Register callbacks + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @param CallbackID: User Callback identifier + * @param pCallback: pointer to callbacsk function. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_RegisterCallback(MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID, void (* pCallback)(MDMA_HandleTypeDef *_hmdma)) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + switch (CallbackID) + { + case HAL_MDMA_XFER_CPLT_CB_ID: + hmdma->XferCpltCallback = pCallback; + break; + + case HAL_MDMA_XFER_BUFFERCPLT_CB_ID: + hmdma->XferBufferCpltCallback = pCallback; + break; + + case HAL_MDMA_XFER_BLOCKCPLT_CB_ID: + hmdma->XferBlockCpltCallback = pCallback; + break; + + case HAL_MDMA_XFER_REPBLOCKCPLT_CB_ID: + hmdma->XferRepeatBlockCpltCallback = pCallback; + break; + + case HAL_MDMA_XFER_ERROR_CB_ID: + hmdma->XferErrorCallback = pCallback; + break; + + case HAL_MDMA_XFER_ABORT_CB_ID: + hmdma->XferAbortCallback = pCallback; + break; + + default: + break; + } + } + else + { + /* Return error status */ + status = HAL_ERROR; + } + + /* Release Lock */ + __HAL_UNLOCK(hmdma); + + return status; +} + +/** + * @brief UnRegister callbacks + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @param CallbackID: User Callback identifier + * a HAL_MDMA_CallbackIDTypeDef ENUM as parameter. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_UnRegisterCallback(MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + switch (CallbackID) + { + case HAL_MDMA_XFER_CPLT_CB_ID: + hmdma->XferCpltCallback = NULL; + break; + + case HAL_MDMA_XFER_BUFFERCPLT_CB_ID: + hmdma->XferBufferCpltCallback = NULL; + break; + + case HAL_MDMA_XFER_BLOCKCPLT_CB_ID: + hmdma->XferBlockCpltCallback = NULL; + break; + + case HAL_MDMA_XFER_REPBLOCKCPLT_CB_ID: + hmdma->XferRepeatBlockCpltCallback = NULL; + break; + + case HAL_MDMA_XFER_ERROR_CB_ID: + hmdma->XferErrorCallback = NULL; + break; + + case HAL_MDMA_XFER_ABORT_CB_ID: + hmdma->XferAbortCallback = NULL; + break; + + case HAL_MDMA_XFER_ALL_CB_ID: + hmdma->XferCpltCallback = NULL; + hmdma->XferBufferCpltCallback = NULL; + hmdma->XferBlockCpltCallback = NULL; + hmdma->XferRepeatBlockCpltCallback = NULL; + hmdma->XferErrorCallback = NULL; + hmdma->XferAbortCallback = NULL; + break; + + default: + status = HAL_ERROR; + break; + } + } + else + { + status = HAL_ERROR; + } + + /* Release Lock */ + __HAL_UNLOCK(hmdma); + + return status; +} + +/** + * @} + */ + +/** @addtogroup MDMA_Exported_Functions_Group2 + * +@verbatim + =============================================================================== + ##### Linked list operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Create a linked list node + (+) Add a node to the MDMA linked list + (+) Remove a node from the MDMA linked list + (+) Enable/Disable linked list circular mode +@endverbatim + * @{ + */ + +/** + * @brief Initializes an MDMA Link Node according to the specified + * parameters in the pMDMA_LinkedListNodeConfig . + * @param pNode: Pointer to a MDMA_LinkNodeTypeDef structure that contains Linked list node + * registers configurations. + * @param pNodeConfig: Pointer to a MDMA_LinkNodeConfTypeDef structure that contains + * the configuration information for the specified MDMA Linked List Node. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_LinkedList_CreateNode(MDMA_LinkNodeTypeDef *pNode, MDMA_LinkNodeConfTypeDef *pNodeConfig) +{ + uint32_t addressMask = 0; + uint32_t blockoffset = 0; + + /* Check the MDMA peripheral state */ + if((pNode == NULL) || (pNodeConfig == NULL)) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_MDMA_PRIORITY(pNodeConfig->Init.Priority)); + assert_param(IS_MDMA_ENDIANNESS_MODE(pNodeConfig->Init.Endianness)); + assert_param(IS_MDMA_REQUEST(pNodeConfig->Init.Request)); + assert_param(IS_MDMA_SOURCE_INC(pNodeConfig->Init.SourceInc)); + assert_param(IS_MDMA_DESTINATION_INC(pNodeConfig->Init.DestinationInc)); + assert_param(IS_MDMA_SOURCE_DATASIZE(pNodeConfig->Init.SourceDataSize)); + assert_param(IS_MDMA_DESTINATION_DATASIZE(pNodeConfig->Init.DestDataSize)); + assert_param(IS_MDMA_DATA_ALIGNMENT(pNodeConfig->Init.DataAlignment)); + assert_param(IS_MDMA_SOURCE_BURST(pNodeConfig->Init.SourceBurst)); + assert_param(IS_MDMA_DESTINATION_BURST(pNodeConfig->Init.DestBurst)); + assert_param(IS_MDMA_BUFFER_TRANSFER_LENGTH(pNodeConfig->Init.BufferTransferLength)); + assert_param(IS_MDMA_TRANSFER_TRIGGER_MODE(pNodeConfig->Init.TransferTriggerMode)); + assert_param(IS_MDMA_BLOCK_ADDR_OFFSET(pNodeConfig->Init.SourceBlockAddressOffset)); + assert_param(IS_MDMA_BLOCK_ADDR_OFFSET(pNodeConfig->Init.DestBlockAddressOffset)); + + assert_param(IS_MDMA_TRANSFER_LENGTH(pNodeConfig->BlockDataLength)); + assert_param(IS_MDMA_BLOCK_COUNT(pNodeConfig->BlockCount)); + + + /*configure next Link node Address Register to zero */ + pNode->CLAR = 0; + + /*Configure the Link Node registers*/ + pNode->CTBR = 0; + pNode->CMAR = 0; + pNode->CMDR = 0; + pNode->Reserved = 0; + + /* write new CTCR Register value */ + pNode->CTCR = pNodeConfig->Init.SourceInc | pNodeConfig->Init.DestinationInc | \ + pNodeConfig->Init.SourceDataSize | pNodeConfig->Init.DestDataSize | \ + pNodeConfig->Init.DataAlignment| pNodeConfig->Init.SourceBurst | \ + pNodeConfig->Init.DestBurst | \ + ((pNodeConfig->Init.BufferTransferLength - 1) << POSITION_VAL(MDMA_CTCR_TLEN)) | \ + pNodeConfig->Init.TransferTriggerMode; + + /* If SW request set the CTCR register to SW Request Mode*/ + if(pNodeConfig->Init.Request == MDMA_REQUEST_SW) + { + pNode->CTCR |= MDMA_CTCR_SWRM; + } + + /* + -If the request is done by SW : BWM could be set to 1 or 0. + -If the request is done by a peripheral : + If mask address not set (0) => BWM must be set to 0 + If mask address set (different than 0) => BWM could be set to 1 or 0 + */ + if((pNodeConfig->Init.Request == MDMA_REQUEST_SW) || (pNodeConfig->PostRequestMaskAddress != 0)) + { + pNode->CTCR |= MDMA_CTCR_BWM; + } + + /* Set the new CBNDTR Register value */ + pNode->CBNDTR = ((pNodeConfig->BlockCount - 1) << POSITION_VAL(MDMA_CBNDTR_BRC)) & MDMA_CBNDTR_BRC; + + /* if block source address offset is negative set the Block Repeat Source address Update Mode to decrement */ + if(pNodeConfig->Init.SourceBlockAddressOffset < 0) + { + pNode->CBNDTR |= MDMA_CBNDTR_BRSUM; + /*write new CBRUR Register value : source repeat block offset */ + blockoffset = (-1 * pNodeConfig->Init.SourceBlockAddressOffset); + pNode->CBRUR = blockoffset & 0x0000FFFFU; + } + else + { + /*write new CBRUR Register value : source repeat block offset */ + pNode->CBRUR = (((uint32_t) pNodeConfig->Init.SourceBlockAddressOffset) & 0x0000FFFFU); + } + + /* if block destination address offset is negative set the Block Repeat destination address Update Mode to decrement */ + if(pNodeConfig->Init.DestBlockAddressOffset < 0) + { + pNode->CBNDTR |= MDMA_CBNDTR_BRDUM; + /*write new CBRUR Register value : destination repeat block offset */ + blockoffset = (-1 * pNodeConfig->Init.DestBlockAddressOffset); + pNode->CBRUR |= ((blockoffset & 0x0000FFFFU) << POSITION_VAL(MDMA_CBRUR_DUV)); + } + else + { + /*write new CBRUR Register value : destination repeat block offset */ + pNode->CBRUR |= (((uint32_t)pNodeConfig->Init.DestBlockAddressOffset) & 0x0000FFFFU) << POSITION_VAL(MDMA_CBRUR_DUV); + } + + /* Configure MDMA Link Node data length */ + pNode->CBNDTR |= pNodeConfig->BlockDataLength; + + /* Configure MDMA Link Node destination address */ + pNode->CDAR = pNodeConfig->DstAddress; + + /* Configure MDMA Link Node Source address */ + pNode->CSAR = pNodeConfig->SrcAddress; + + /* if HW request set the HW request and the requet CleraMask and ClearData MaskData, */ + if(pNodeConfig->Init.Request != MDMA_REQUEST_SW) + { + /* Set the HW request in CTBR register */ + pNode->CTBR = pNodeConfig->Init.Request & MDMA_CTBR_TSEL; + /* Set the HW request clear Mask and Data */ + pNode->CMAR = pNodeConfig->PostRequestMaskAddress; + pNode->CMDR = pNodeConfig->PostRequestMaskData; + } + + addressMask = pNodeConfig->SrcAddress & 0xFF000000U; + if((addressMask == 0x20000000U) || (addressMask == 0x00000000U)) + { + /*The AHBSbus is used as source (read operation) on channel x */ + pNode->CTBR |= MDMA_CTBR_SBUS; + } + + addressMask = pNodeConfig->DstAddress & 0xFF000000U; + if((addressMask == 0x20000000U) || (addressMask == 0x00000000U)) + { + /*The AHB bus is used as destination (write operation) on channel x */ + pNode->CTBR |= MDMA_CTBR_DBUS; + } + + return HAL_OK; +} + +/** + * @brief Connect a node to the linked list. + * @param hmdma : Pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @param pNewNode : Pointer to a MDMA_LinkNodeTypeDef structure that contains Linked list node + * to be add to the list. + * @param pPrevNode : Pointer to the new node position in the linked list or zero to insert the new node + * at the end of the list + * + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_LinkedList_AddNode(MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNewNode, MDMA_LinkNodeTypeDef *pPrevNode) +{ + MDMA_LinkNodeTypeDef *pNode = 0; + uint32_t counter = 0, nodeInserted = 0; + HAL_StatusTypeDef hal_status = HAL_OK; + + /* Check the MDMA peripheral handle */ + if((hmdma == NULL) || (pNewNode == NULL)) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_BUSY; + + /* Check if this is the first node (after the Inititlization node) */ + if((uint32_t)hmdma->FirstLinkedListNodeAddress == 0) + { + if(pPrevNode == NULL) + { + /* if this is the first node after the initialization + connect this node to the node 0 by updating + the MDMA channel CLAR register to this node address */ + hmdma->Instance->CLAR = (uint32_t)pNewNode; + /* Set the MDMA handle First linked List node*/ + hmdma->FirstLinkedListNodeAddress = pNewNode; + + /*reset New node link */ + pNewNode->CLAR = 0; + + /* Update the Handle last node address */ + hmdma->LastLinkedListNodeAddress = pNewNode; + + hmdma->LinkedListNodeCounter = 1; + } + else + { + hal_status = HAL_ERROR; + } + } + else if(hmdma->FirstLinkedListNodeAddress != pNewNode) + { + /* Check if the node to insert already exists*/ + pNode = hmdma->FirstLinkedListNodeAddress; + while((counter < hmdma->LinkedListNodeCounter) && (hal_status == HAL_OK)) + { + if(pNode->CLAR == (uint32_t)pNewNode) + { + hal_status = HAL_ERROR; /* error this node already exist in the linked list and it is not first node */ + } + pNode = (MDMA_LinkNodeTypeDef *)pNode->CLAR; + counter++; + } + + if(hal_status == HAL_OK) + { + /* Check if the previous node is the last one in the current list or zero */ + if((pPrevNode == hmdma->LastLinkedListNodeAddress) || (pPrevNode == 0)) + { + /* insert the new node at the end of the list. */ + pNewNode->CLAR = hmdma->LastLinkedListNodeAddress->CLAR; + hmdma->LastLinkedListNodeAddress->CLAR = (uint32_t)pNewNode; + /* Update the Handle last node address */ + hmdma->LastLinkedListNodeAddress = pNewNode; + /* Increment the linked list node counter */ + hmdma->LinkedListNodeCounter++; + } + else + { + /*insert the new node after the pPreviousNode node */ + pNode = hmdma->FirstLinkedListNodeAddress; + counter = 0; + while((counter < hmdma->LinkedListNodeCounter) && (nodeInserted == 0)) + { + counter++; + if(pNode == pPrevNode) + { + /*Insert the new node after the previous one */ + pNewNode->CLAR = pNode->CLAR; + pNode->CLAR = (uint32_t)pNewNode; + /* Increment the linked list node counter */ + hmdma->LinkedListNodeCounter++; + nodeInserted = 1; + } + else + { + pNode = (MDMA_LinkNodeTypeDef *)pNode->CLAR; + } + } + + if(nodeInserted == 0) + { + hal_status = HAL_ERROR; + } + } + } + } + else + { + hal_status = HAL_ERROR; + } + + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + hmdma->State = HAL_MDMA_STATE_READY; + + return hal_status; + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + /* Return error status */ + return HAL_BUSY; + } +} + +/** + * @brief Disconnect/Remove a node from the transfer linked list. + * @param hmdma : Pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @param pNode : Pointer to a MDMA_LinkNodeTypeDef structure that contains Linked list node + * to be removed from the list. + * + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_LinkedList_RemoveNode(MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNode) +{ + MDMA_LinkNodeTypeDef *ptmpNode = 0; + uint32_t counter = 0, nodeDeleted = 0; + HAL_StatusTypeDef hal_status = HAL_OK; + + /* Check the MDMA peripheral handle */ + if((hmdma == NULL) || (pNode == NULL)) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_BUSY; + + /* If first and last node are null (no nodes in the list) : return error*/ + if(((uint32_t)hmdma->FirstLinkedListNodeAddress == 0) || ((uint32_t)hmdma->LastLinkedListNodeAddress == 0) || (hmdma->LinkedListNodeCounter == 0)) + { + hal_status = HAL_ERROR; + } + else if(hmdma->FirstLinkedListNodeAddress == pNode) /* Deleting first node */ + { + /* Delete 1st node */ + if(hmdma->LastLinkedListNodeAddress == pNode) + { + /*if the last node is at the same time the first one (1 single node after the init node 0) + then update the last node too */ + + hmdma->FirstLinkedListNodeAddress = 0; + hmdma->LastLinkedListNodeAddress = 0; + hmdma->LinkedListNodeCounter = 0; + + hmdma->Instance->CLAR = 0; + } + else + { + if((uint32_t)hmdma->FirstLinkedListNodeAddress == hmdma->LastLinkedListNodeAddress->CLAR) + { + /* if last node is looping to first (circular list) one update the last node connection */ + hmdma->LastLinkedListNodeAddress->CLAR = pNode->CLAR; + } + + /* if deleting the first node after the initialization + connect the next node to the node 0 by updating + the MDMA channel CLAR register to this node address */ + hmdma->Instance->CLAR = pNode->CLAR; + hmdma->FirstLinkedListNodeAddress = (MDMA_LinkNodeTypeDef *)hmdma->Instance->CLAR; + /* Update the Handle node counter */ + hmdma->LinkedListNodeCounter--; + } + } + else /* Deleting any other node */ + { + /*Deleted node is not the first one : find it */ + ptmpNode = hmdma->FirstLinkedListNodeAddress; + while((counter < hmdma->LinkedListNodeCounter) && (nodeDeleted == 0)) + { + counter++; + if(ptmpNode->CLAR == ((uint32_t)pNode)) + { + /* if deleting the last node */ + if(pNode == hmdma->LastLinkedListNodeAddress) + { + /*Update the linked list last node address in the handle*/ + hmdma->LastLinkedListNodeAddress = ptmpNode; + } + /* update the next node link after deleting pMDMA_LinkedListNode */ + ptmpNode->CLAR = pNode->CLAR; + nodeDeleted = 1; + /* Update the Handle node counter */ + hmdma->LinkedListNodeCounter--; + } + else + { + ptmpNode = (MDMA_LinkNodeTypeDef *)ptmpNode->CLAR; + } + } + + if(nodeDeleted == 0) + { + /* last node reashed without finding the node to delete : return error */ + hal_status = HAL_ERROR; + } + } + + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + hmdma->State = HAL_MDMA_STATE_READY; + + return hal_status; + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + /* Return error status */ + return HAL_BUSY; + } +} + +/** + * @brief Make the linked list circular by connecting the last node to the first. + * @param hmdma : Pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_LinkedList_EnableCircularMode(MDMA_HandleTypeDef *hmdma) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_BUSY; + + /* If first and last node are null (no nodes in the list) : return error*/ + if(((uint32_t)hmdma->FirstLinkedListNodeAddress == 0) || ((uint32_t)hmdma->LastLinkedListNodeAddress == 0) || (hmdma->LinkedListNodeCounter == 0)) + { + hal_status = HAL_ERROR; + } + else + { + /* to enable circular mode Last Node should be connected to first node */ + hmdma->LastLinkedListNodeAddress->CLAR = (uint32_t)hmdma->FirstLinkedListNodeAddress; + } + + } + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + hmdma->State = HAL_MDMA_STATE_READY; + + return hal_status; +} + +/** + * @brief Disable the linked list circular mode by setting the last node connection to null + * @param hmdma : Pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_LinkedList_DisableCircularMode(MDMA_HandleTypeDef *hmdma) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_BUSY; + + /* If first and last node are null (no nodes in the list) : return error*/ + if(((uint32_t)hmdma->FirstLinkedListNodeAddress == 0) || ((uint32_t)hmdma->LastLinkedListNodeAddress == 0) || (hmdma->LinkedListNodeCounter == 0)) + { + hal_status = HAL_ERROR; + } + else + { + /* to disable circular mode Last Node should be connected to NULL */ + hmdma->LastLinkedListNodeAddress->CLAR = 0; + } + + } + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + hmdma->State = HAL_MDMA_STATE_READY; + + return hal_status; +} + +/** + * @} + */ + +/** @addtogroup MDMA_Exported_Functions_Group3 + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Configure the source, destination address and data length and Start MDMA transfer + (+) Configure the source, destination address and data length and + Start MDMA transfer with interrupt + (+) Abort MDMA transfer + (+) Poll for transfer complete + (+) Generate a SW request (when Request is set to MDMA_REQUEST_SW) + (+) Handle MDMA interrupt request + +@endverbatim + * @{ + */ + +/** + * @brief Starts the MDMA Transfer. + * @param hmdma : pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @param SrcAddress : The source memory Buffer address + * @param DstAddress : The destination memory Buffer address + * @param BlockDataLength : The length of a block transfer in bytes + * @param BlockCount : The number of a blocks to be transfer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_Start (MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount) +{ + /* Check the parameters */ + assert_param(IS_MDMA_TRANSFER_LENGTH(BlockDataLength)); + assert_param(IS_MDMA_BLOCK_COUNT(BlockCount)); + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_BUSY; + + /* Initialize the error code */ + hmdma->ErrorCode = HAL_MDMA_ERROR_NONE; + + /* Disable the peripheral */ + __HAL_MDMA_DISABLE(hmdma); + + /* Configure the source, destination address and the data length */ + MDMA_SetConfig(hmdma, SrcAddress, DstAddress, BlockDataLength, BlockCount); + + + /* Enable the Peripheral */ + __HAL_MDMA_ENABLE(hmdma); + + + if(hmdma->Init.Request == MDMA_REQUEST_SW) + { + /* activate If SW request mode*/ + hmdma->Instance->CCR |= MDMA_CCR_SWRQ; + } + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + /* Return error status */ + return HAL_BUSY; + } + + return HAL_OK; +} + +/** + * @brief Starts the MDMA Transfer with interrupts enabled. + * @param hmdma : pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @param SrcAddress : The source memory Buffer address + * @param DstAddress : The destination memory Buffer address + * @param BlockDataLength : The length of a block transfer in bytes + * @param BlockCount : The number of a blocks to be transfer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_Start_IT(MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount) +{ + /* Check the parameters */ + assert_param(IS_MDMA_TRANSFER_LENGTH(BlockDataLength)); + assert_param(IS_MDMA_BLOCK_COUNT(BlockCount)); + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmdma); + + if(HAL_MDMA_STATE_READY == hmdma->State) + { + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_BUSY; + + /* Initialize the error code */ + hmdma->ErrorCode = HAL_MDMA_ERROR_NONE; + + /* Disable the peripheral */ + __HAL_MDMA_DISABLE(hmdma); + + /* Configure the source, destination address and the data length */ + MDMA_SetConfig(hmdma, SrcAddress, DstAddress, BlockDataLength, BlockCount); + + /* Enable Common interrupts i.e Transfer Error IT and Channel Transfer Complete IT*/ + __HAL_MDMA_ENABLE_IT(hmdma, (MDMA_IT_TE | MDMA_IT_CTC)); + + if(hmdma->XferBlockCpltCallback != NULL) + { + /* if Block transfer complete Callback is set enable the corresponding IT*/ + __HAL_MDMA_ENABLE_IT(hmdma, MDMA_IT_BT); + } + + if(hmdma->XferRepeatBlockCpltCallback != NULL) + { + /* if Repeated Block transfer complete Callback is set enable the corresponding IT*/ + __HAL_MDMA_ENABLE_IT(hmdma, MDMA_IT_BRT); + } + + if(hmdma->XferBufferCpltCallback != NULL) + { + /* if buffer transfer complete Callback is set enable the corresponding IT*/ + __HAL_MDMA_ENABLE_IT(hmdma, MDMA_IT_BFTC); + } + + /* Enable the Peripheral */ + __HAL_MDMA_ENABLE(hmdma); + + if(hmdma->Init.Request == MDMA_REQUEST_SW) + { + /* activate If SW request mode*/ + hmdma->Instance->CCR |= MDMA_CCR_SWRQ; + } + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + /* Return error status */ + return HAL_BUSY; + } + + return HAL_OK; +} + +/** + * @brief Aborts the MDMA Transfer. + * @param hmdma : pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * + * @note After disabling a MDMA Stream, a check for wait until the MDMA Channel is + * effectively disabled is added. If a Stream is disabled + * while a data transfer is ongoing, the current data will be transferred + * and the Stream will be effectively disabled only after the transfer of + * this single data is finished. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_Abort(MDMA_HandleTypeDef *hmdma) +{ + uint32_t tickstart = HAL_GetTick(); + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + if(HAL_MDMA_STATE_BUSY != hmdma->State) + { + hmdma->ErrorCode = HAL_MDMA_ERROR_NO_XFER; + + /* Process Unlocked */ + __HAL_UNLOCK(hmdma); + + return HAL_ERROR; + } + else + { + /* Disable all the transfer interrupts */ + __HAL_MDMA_DISABLE_IT(hmdma, (MDMA_IT_TE | MDMA_IT_CTC | MDMA_IT_BT | MDMA_IT_BRT | MDMA_IT_BFTC)); + + /* Disable the channel */ + __HAL_MDMA_DISABLE(hmdma); + + /* Check if the MDMA Channel is effectively disabled */ + while((hmdma->Instance->CCR & MDMA_CCR_EN) != 0) + { + /* Check for the Timeout */ + if( (HAL_GetTick() - tickstart ) > HAL_TIMEOUT_MDMA_ABORT) + { + /* Update error code */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hmdma); + + /* Change the MDMA state */ + hmdma->State = HAL_MDMA_STATE_ERROR; + + return HAL_ERROR; + } + } + + /* Clear all interrupt flags */ + __HAL_MDMA_CLEAR_FLAG(hmdma, (MDMA_FLAG_TE | MDMA_FLAG_CTC | MDMA_FLAG_BT | MDMA_FLAG_BRT | MDMA_FLAG_BFTC)); + + /* Process Unlocked */ + __HAL_UNLOCK(hmdma); + + /* Change the MDMA state*/ + hmdma->State = HAL_MDMA_STATE_READY; + } + + return HAL_OK; +} + +/** + * @brief Aborts the MDMA Transfer in Interrupt mode. + * @param hmdma : pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_Abort_IT(MDMA_HandleTypeDef *hmdma) +{ + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + if(HAL_MDMA_STATE_BUSY != hmdma->State) + { + hmdma->ErrorCode = HAL_MDMA_ERROR_NO_XFER; + return HAL_ERROR; + } + else + { + /* Set Abort State */ + hmdma->State = HAL_MDMA_STATE_ABORT; + + /* Disable the stream */ + __HAL_MDMA_DISABLE(hmdma); + } + + return HAL_OK; +} + +/** + * @brief Polling for transfer complete. + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Channel. + * @param CompleteLevel: Specifies the MDMA level complete. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_PollForTransfer(MDMA_HandleTypeDef *hmdma, uint32_t CompleteLevel, uint32_t Timeout) +{ + uint32_t levelFlag = 0, errorFlag = 0; + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_MDMA_LEVEL_COMPLETE(CompleteLevel)); + + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + if(HAL_MDMA_STATE_BUSY != hmdma->State) + { + /* No transfer ongoing */ + hmdma->ErrorCode = HAL_MDMA_ERROR_NO_XFER; + + return HAL_ERROR; + } + + /* Get the level transfer complete flag */ + levelFlag = ((CompleteLevel == HAL_MDMA_FULL_TRANSFER) ? MDMA_FLAG_CTC :\ + (CompleteLevel == HAL_MDMA_BUFFER_TRANSFER)? MDMA_FLAG_BFTC :\ + (CompleteLevel == HAL_MDMA_BLOCK_TRANSFER) ? MDMA_FLAG_BT :\ + MDMA_FLAG_BRT); + + + /* Get timeout */ + tickstart = HAL_GetTick(); + + while(__HAL_MDMA_GET_FLAG(hmdma, levelFlag) == RESET) + { + if((__HAL_MDMA_GET_FLAG(hmdma, MDMA_FLAG_TE) != RESET)) + { + /* Get the transfer error source flag */ + errorFlag = hmdma->Instance->CESR; + + if((errorFlag & MDMA_CESR_TED) == 0) + { + /* Update error code : Read Transfer error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_READ_XFER; + } + else + { + /* Update error code : Write Transfer error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_WRITE_XFER; + } + + if((errorFlag & MDMA_CESR_TEMD) != 0) + { + /* Update error code : Error Mask Data */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_MASK_DATA; + } + + if((errorFlag & MDMA_CESR_TELD) != 0) + { + /* Update error code : Error Linked list */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_LINKED_LIST; + } + + if((errorFlag & MDMA_CESR_ASE) != 0) + { + /* Update error code : Address/Size alignment error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_ALIGNMENT; + } + + if((errorFlag & MDMA_CESR_BSE) != 0) + { + /* Update error code : Block Size error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_BLOCK_SIZE; + } + + HAL_MDMA_Abort(hmdma); /* if error then abort the current transfer */ + + /* + Note that the Abort function will + - Clear the transfer error flags + - Unlock + - Set the State + */ + + return HAL_ERROR; + + } + + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Update error code */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_TIMEOUT; + + HAL_MDMA_Abort(hmdma); /* if timeout then abort the current transfer */ + + /* + Note that the Abort function will + - Clear the transfer error flags + - Unlock + - Set the State + */ + + return HAL_ERROR; + } + } + } + + /* Clear the transfer level flag */ + if(CompleteLevel == HAL_MDMA_BUFFER_TRANSFER) + { + __HAL_MDMA_CLEAR_FLAG(hmdma, MDMA_FLAG_BFTC); + + } + else if(CompleteLevel == HAL_MDMA_BLOCK_TRANSFER) + { + __HAL_MDMA_CLEAR_FLAG(hmdma, (MDMA_FLAG_BFTC | MDMA_FLAG_BT)); + + } + else if(CompleteLevel == HAL_MDMA_REPEAT_BLOCK_TRANSFER) + { + __HAL_MDMA_CLEAR_FLAG(hmdma, (MDMA_FLAG_BFTC | MDMA_FLAG_BT | MDMA_FLAG_BRT)); + } + else if(CompleteLevel == HAL_MDMA_FULL_TRANSFER) + { + __HAL_MDMA_CLEAR_FLAG(hmdma, (MDMA_FLAG_BRT | MDMA_FLAG_BT | MDMA_FLAG_BFTC | MDMA_FLAG_CTC)); + + /* Process unlocked */ + __HAL_UNLOCK(hmdma); + + hmdma->State = HAL_MDMA_STATE_READY; + } + + return HAL_OK; +} + +/** + * @brief Generate an MDMA SW request trigger to activate the request on the given Channel. + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MDMA_GenerateSWRequest(MDMA_HandleTypeDef *hmdma) +{ + /* Check the MDMA peripheral handle */ + if(hmdma == NULL) + { + return HAL_ERROR; + } + + if((hmdma->Instance->CCR & MDMA_CCR_EN) == RESET) + { + /* if no Transfer on going (MDMA enable bit not set) retrun error */ + hmdma->ErrorCode = HAL_MDMA_ERROR_NO_XFER; + return HAL_ERROR; + } + else if(((hmdma->Instance->CISR & MDMA_CISR_CRQA) != RESET) || ((hmdma->Instance->CTCR & MDMA_CTCR_SWRM) == RESET)) + { + /* if an MDMA ongoing request hase not yet ends or if request mode is not SW request retrun error */ + hmdma->ErrorCode = HAL_MDMA_ERROR_BUSY; + return HAL_ERROR; + } + else + { + /* Set the SW request bit to activate the request on the Channel */ + hmdma->Instance->CCR |= MDMA_CCR_SWRQ; + + return HAL_OK; + } +} + +/** + * @brief Handles MDMA interrupt request. + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @retval None + */ +void HAL_MDMA_IRQHandler(MDMA_HandleTypeDef *hmdma) +{ + __IO uint32_t count = 0; + uint32_t timeout = SystemCoreClock / 9600; + + uint32_t generalIntFlag, errorFlag; + + /* General Interrupt Flag management ****************************************/ + generalIntFlag = 1 << (((uint32_t)hmdma->Instance - (uint32_t)(MDMA_Channel0))/HAL_MDMA_CHANNEL_SIZE); + if((MDMA->GISR0 & generalIntFlag) == RESET) + { + return; /* the General interrupt flag for the current channel is down , nothing to do */ + } + + /* Transfer Error Interrupt management ***************************************/ + if((__HAL_MDMA_GET_FLAG(hmdma, MDMA_FLAG_TE) != RESET)) + { + if(__HAL_MDMA_GET_IT_SOURCE(hmdma, MDMA_IT_TE) != RESET) + { + /* Disable the transfer error interrupt */ + __HAL_MDMA_DISABLE_IT(hmdma, MDMA_IT_TE); + + /* Get the transfer error source flag */ + errorFlag = hmdma->Instance->CESR; + + if((errorFlag & MDMA_CESR_TED) == 0) + { + /* Update error code : Read Transfer error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_READ_XFER; + } + else + { + /* Update error code : Write Transfer error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_WRITE_XFER; + } + + if((errorFlag & MDMA_CESR_TEMD) != 0) + { + /* Update error code : Error Mask Data */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_MASK_DATA; + } + + if((errorFlag & MDMA_CESR_TELD) != 0) + { + /* Update error code : Error Linked list */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_LINKED_LIST; + } + + if((errorFlag & MDMA_CESR_ASE) != 0) + { + /* Update error code : Address/Size alignment error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_ALIGNMENT; + } + + if((errorFlag & MDMA_CESR_BSE) != 0) + { + /* Update error code : Block Size error error */ + hmdma->ErrorCode |= HAL_MDMA_ERROR_BLOCK_SIZE; + } + + /* Clear the transfer error flags */ + __HAL_MDMA_CLEAR_FLAG(hmdma, MDMA_FLAG_TE); + } + } + + /* Buffer Transfer Complete Interrupt management ******************************/ + if((__HAL_MDMA_GET_FLAG(hmdma, MDMA_FLAG_BFTC) != RESET)) + { + if(__HAL_MDMA_GET_IT_SOURCE(hmdma, MDMA_IT_BFTC) != RESET) + { + /* Clear the buffer transfer complete flag */ + __HAL_MDMA_CLEAR_FLAG(hmdma, MDMA_FLAG_BFTC); + + if(hmdma->XferBufferCpltCallback != NULL) + { + /* Buffer transfer callback */ + hmdma->XferBufferCpltCallback(hmdma); + } + } + } + + /* Block Transfer Complete Interrupt management ******************************/ + if((__HAL_MDMA_GET_FLAG(hmdma, MDMA_FLAG_BT) != RESET)) + { + if(__HAL_MDMA_GET_IT_SOURCE(hmdma, MDMA_IT_BT) != RESET) + { + /* Clear the block transfer complete flag */ + __HAL_MDMA_CLEAR_FLAG(hmdma, MDMA_FLAG_BT); + + if(hmdma->XferBlockCpltCallback != NULL) + { + /* Block transfer callback */ + hmdma->XferBlockCpltCallback(hmdma); + } + } + } + + /* Repeated Block Transfer Complete Interrupt management ******************************/ + if((__HAL_MDMA_GET_FLAG(hmdma, MDMA_FLAG_BRT) != RESET)) + { + if(__HAL_MDMA_GET_IT_SOURCE(hmdma, MDMA_IT_BRT) != RESET) + { + /* Clear the repeat block transfer complete flag */ + __HAL_MDMA_CLEAR_FLAG(hmdma, MDMA_FLAG_BRT); + + if(hmdma->XferRepeatBlockCpltCallback != NULL) + { + /* Repeated Block transfer callback */ + hmdma->XferRepeatBlockCpltCallback(hmdma); + } + } + } + + /* Channel Transfer Complete Interrupt management ***********************************/ + if((__HAL_MDMA_GET_FLAG(hmdma, MDMA_FLAG_CTC) != RESET)) + { + if(__HAL_MDMA_GET_IT_SOURCE(hmdma, MDMA_IT_CTC) != RESET) + { + /* Disable all the transfer interrupts */ + __HAL_MDMA_DISABLE_IT(hmdma, (MDMA_IT_TE | MDMA_IT_CTC | MDMA_IT_BT | MDMA_IT_BRT | MDMA_IT_BFTC)); + + if(HAL_MDMA_STATE_ABORT == hmdma->State) + { + /* Process Unlocked */ + __HAL_UNLOCK(hmdma); + + /* Change the DMA state */ + hmdma->State = HAL_MDMA_STATE_READY; + + if(hmdma->XferAbortCallback != NULL) + { + hmdma->XferAbortCallback(hmdma); + } + return; + + } + /* Clear the Channel Transfer Complete flag */ + __HAL_MDMA_CLEAR_FLAG(hmdma, MDMA_FLAG_CTC); + + /* Process Unlocked */ + __HAL_UNLOCK(hmdma); + + /* Change MDMA peripheral state */ + hmdma->State = HAL_MDMA_STATE_READY; + + if(hmdma->XferCpltCallback != NULL) + { + /* Channel Transfer Complete callback */ + hmdma->XferCpltCallback(hmdma); + } + } + } + + /* manage error case */ + if(hmdma->ErrorCode != HAL_MDMA_ERROR_NONE) + { + hmdma->State = HAL_MDMA_STATE_ABORT; + + /* Disable the channel */ + __HAL_MDMA_DISABLE(hmdma); + + do + { + if (++count > timeout) + { + break; + } + } + while((hmdma->Instance->CCR & MDMA_CCR_EN) != RESET); + + /* Process Unlocked */ + __HAL_UNLOCK(hmdma); + + if((hmdma->Instance->CCR & MDMA_CCR_EN) != RESET) + { + /* Change the MDMA state to error if MDMA disable fails */ + hmdma->State = HAL_MDMA_STATE_ERROR; + } + else + { + /* Change the MDMA state to Ready if MDMA disable success */ + hmdma->State = HAL_MDMA_STATE_READY; + } + + + if (hmdma->XferErrorCallback != NULL) + { + /* Transfer error callback */ + hmdma->XferErrorCallback(hmdma); + } + } + +} + +/** + * @} + */ + +/** @addtogroup MDMA_Exported_Functions_Group4 + * +@verbatim + =============================================================================== + ##### State and Errors functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to + (+) Check the MDMA state + (+) Get error code + +@endverbatim + * @{ + */ + +/** + * @brief Returns the MDMA state. + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @retval HAL state + */ +HAL_MDMA_StateTypeDef HAL_MDMA_GetState(MDMA_HandleTypeDef *hmdma) +{ + return hmdma->State; +} + +/** + * @brief Return the MDMA error code + * @param hmdma : pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @retval MDMA Error Code + */ +uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma) +{ + return hmdma->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup JPEG_Private_Functions + * @{ + */ + +/** + * @brief Sets the MDMA Transfer parameter. + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified MDMA Stream. + * @param SrcAddress: The source memory Buffer address + * @param DstAddress: The destination memory Buffer address + * @param BlockDataLength : The length of a block transfer in bytes + * @param BlockCount: The number of a blocks to be transfer + * @retval HAL status + */ +static void MDMA_SetConfig(MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount) +{ + uint32_t addressMask; + /* Configure MDMA Channel data length */ + MODIFY_REG(hmdma->Instance->CBNDTR ,MDMA_CBNDTR_BNDT, (BlockDataLength & MDMA_CBNDTR_BNDT)); + + /*Configure the MDMA block repeat count*/ + MODIFY_REG( hmdma->Instance->CBNDTR , MDMA_CBNDTR_BRC , ((BlockCount - 1) << POSITION_VAL(MDMA_CBNDTR_BRC)) & MDMA_CBNDTR_BRC); + + /* Clear all interrupt flags */ + __HAL_MDMA_CLEAR_FLAG(hmdma, MDMA_FLAG_TE | MDMA_FLAG_CTC | MDMA_CISR_BRTIF | MDMA_CISR_BTIF | MDMA_CISR_TCIF); + + /* Configure MDMA Channel destination address */ + hmdma->Instance->CDAR = DstAddress; + + /* Configure MDMA Channel Source address */ + hmdma->Instance->CSAR = SrcAddress; + + addressMask = SrcAddress & 0xFF000000U; + if((addressMask == 0x20000000U) || (addressMask == 0x00000000U)) + { + /*The AHBSbus is used as source (read operation) on channel x */ + hmdma->Instance->CTBR |= MDMA_CTBR_SBUS; + } + else + { + /*The AXI bus is used as source (read operation) on channel x */ + hmdma->Instance->CTBR &= (~MDMA_CTBR_SBUS); + } + + addressMask = DstAddress & 0xFF000000U; + if((addressMask == 0x20000000U) || (addressMask == 0x00000000U)) + { + /*The AHB bus is used as destination (write operation) on channel x */ + hmdma->Instance->CTBR |= MDMA_CTBR_DBUS; + } + else + { + /*The AXI bus is used as destination (write operation) on channel x */ + hmdma->Instance->CTBR &= (~MDMA_CTBR_DBUS); + } + + /* Set the linked list rgeitser to the first node of the list */ + hmdma->Instance->CLAR = (uint32_t)hmdma->FirstLinkedListNodeAddress; +} + +static void MDMA_Init(MDMA_HandleTypeDef *hmdma) +{ + uint32_t blockoffset = 0; + + /* Prepare the MDMA Channel configuration */ + hmdma->Instance->CCR = hmdma->Init.Priority | hmdma->Init.Endianness; + + /* write new CTCR Register value */ + hmdma->Instance->CTCR = hmdma->Init.SourceInc | hmdma->Init.DestinationInc | \ + hmdma->Init.SourceDataSize | hmdma->Init.DestDataSize | \ + hmdma->Init.DataAlignment | hmdma->Init.SourceBurst | \ + hmdma->Init.DestBurst | \ + ((hmdma->Init.BufferTransferLength - 1) << POSITION_VAL(MDMA_CTCR_TLEN)) | \ + hmdma->Init.TransferTriggerMode; + + /* If SW request set the CTCR register to SW Request Mode*/ + if(hmdma->Init.Request == MDMA_REQUEST_SW) + { + /* + -If the request is done by SW : BWM could be set to 1 or 0. + -If the request is done by a peripheral : + If mask address not set (0) => BWM must be set to 0 + If mask address set (different than 0) => BWM could be set to 1 or 0 + */ + hmdma->Instance->CTCR |= (MDMA_CTCR_SWRM | MDMA_CTCR_BWM); + } + + /* Reset CBNDTR Register */ + hmdma->Instance->CBNDTR = 0; + + /* if block source address offset is negative set the Block Repeat Source address Update Mode to decrement */ + if(hmdma->Init.SourceBlockAddressOffset < 0) + { + hmdma->Instance->CBNDTR |= MDMA_CBNDTR_BRSUM; + /*write new CBRUR Register value : source repeat block offset */ + blockoffset = (-1 * hmdma->Init.SourceBlockAddressOffset); + hmdma->Instance->CBRUR = (blockoffset & 0x0000FFFFU); + } + else + { + /*write new CBRUR Register value : source repeat block offset */ + hmdma->Instance->CBRUR = (((uint32_t)hmdma->Init.SourceBlockAddressOffset) & 0x0000FFFFU); + } + + /* if block destination address offset is negative set the Block Repeat destination address Update Mode to decrement */ + if(hmdma->Init.DestBlockAddressOffset < 0) + { + hmdma->Instance->CBNDTR |= MDMA_CBNDTR_BRDUM; + /*write new CBRUR Register value : destination repeat block offset */ + blockoffset = (-1 * hmdma->Init.DestBlockAddressOffset); + hmdma->Instance->CBRUR |= ((blockoffset & 0x0000FFFFU) << POSITION_VAL(MDMA_CBRUR_DUV)); + } + else + { + /*write new CBRUR Register value : destination repeat block offset */ + hmdma->Instance->CBRUR |= (((uint32_t)hmdma->Init.DestBlockAddressOffset) & 0x0000FFFFU) << POSITION_VAL(MDMA_CBRUR_DUV); + } + + /* if HW request set the HW request and the requet CleraMask and ClearData MaskData, */ + if(hmdma->Init.Request != MDMA_REQUEST_SW) + { + /* Set the HW request in CTRB register */ + hmdma->Instance->CTBR = hmdma->Init.Request & MDMA_CTBR_TSEL; + } + else /* SW request : reset the CTBR register */ + { + hmdma->Instance->CTBR = 0; + } + + /*Write Link Address Register*/ + hmdma->Instance->CLAR = 0; +} + +/** + * @} + */ + +#endif /* HAL_MDMA_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c new file mode 100644 index 0000000000..24e5f0468b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c @@ -0,0 +1,2753 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mmc.c + * @author MCD Application Team + * @brief MMC card HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Secure Digital (MMC) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + MMC card Control functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + This driver implements a high level communication layer for read and write from/to + this memory. The needed STM32 hardware resources (SDMMC and GPIO) are performed by + the user in HAL_MMC_MspInit() function (MSP layer). + Basically, the MSP layer configuration should be the same as we provide in the + examples. + You can easily tailor this configuration according to hardware resources. + + [..] + This driver is a generic layered driver for SDMMC memories which uses the HAL + SDMMC driver functions to interface with MMC and eMMC cards devices. + It is used as follows: + + (#)Initialize the SDMMC low level resources by implement the HAL_MMC_MspInit() API: + (##) Enable the SDMMC interface clock using __HAL_RCC_SDMMC_CLK_ENABLE(); + (##) SDMMC pins configuration for MMC card + (+++) Enable the clock for the SDMMC GPIOs using the functions __HAL_RCC_GPIOx_CLK_ENABLE(); + (+++) Configure these SDMMC pins as alternate function pull-up using HAL_GPIO_Init() + and according to your pin assignment; + (##) NVIC configuration if you need to use interrupt process when using DMA transfer. + (+++) Configure the SDMMC interrupt priorities using functions HAL_NVIC_SetPriority(); + (+++) Enable the NVIC SDMMC IRQs using function HAL_NVIC_EnableIRQ() + (+++) SDMMC interrupts are managed using the macros __HAL_MMC_ENABLE_IT() + and __HAL_MMC_DISABLE_IT() inside the communication process. + (+++) SDMMC interrupts pending bits are managed using the macros __HAL_MMC_GET_IT() + and __HAL_MMC_CLEAR_IT() + (##) No general propose DMA Configuration is needed, an Internal DMA for SDMMC IP are used. + + (#) At this stage, you can perform MMC read/write/erase operations after MMC card initialization + + + *** MMC Card Initialization and configuration *** + ================================================ + [..] + To initialize the MMC Card, use the HAL_MMC_Init() function. It Initializes + SDMMC IP (STM32 side) and the MMC Card, and put it into StandBy State (Ready for data transfer). + This function provide the following operations: + + (#) Initialize the SDMMC peripheral interface with defaullt configuration. + The initialization process is done at 400KHz. You can change or adapt + this frequency by adjusting the "ClockDiv" field. + The MMC Card frequency (SDMMC_CK) is computed as follows: + + SDMMC_CK = SDMMCCLK / (2 * ClockDiv) + + In initialization mode and according to the MMC Card standard, + make sure that the SDMMC_CK frequency doesn't exceed 400KHz. + + This phase of initialization is done through SDMMC_Init() and + SDMMC_PowerState_ON() SDMMC low level APIs. + + (#) Initialize the MMC card. The API used is HAL_MMC_InitCard(). + This phase allows the card initialization and identification + and check the MMC Card type (Standard Capacity or High Capacity) + The initialization flow is compatible with MMC standard. + + This API (HAL_MMC_InitCard()) could be used also to reinitialize the card in case + of plug-off plug-in. + + (#) Configure the MMC Card Data transfer frequency. By Default, the card transfer + frequency by adjusting the "ClockDiv" field. + In transfer mode and according to the MMC Card standard, make sure that the + SDMMC_CK frequency doesn't exceed 25MHz and 100MHz in High-speed mode switch. + + (#) Select the corresponding MMC Card according to the address read with the step 2. + + (#) Configure the MMC Card in wide bus mode: 4-bits data. + + *** MMC Card Read operation *** + ============================== + [..] + (+) You can read from MMC card in polling mode by using function HAL_MMC_ReadBlocks(). + This function support only 512-bytes block length (the block size should be + chosen as 512 bytes). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + After this, you have to ensure that the transfer is done correctly. The check is done + through HAL_MMC_GetCardState() function for MMC card state. + + (+) You can read from MMC card in DMA mode by using function HAL_MMC_ReadBlocks_DMA(). + This function support only 512-bytes block length (the block size should be + chosen as 512 bytes). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + + *** MMC Card Write operation *** + =============================== + [..] + (+) You can write to MMC card in polling mode by using function HAL_MMC_WriteBlocks(). + This function support only 512-bytes block length (the block size should be + chosen as 512 bytes). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + + (+) You can write to MMC card in DMA mode by using function HAL_MMC_WriteBlocks_DMA(). + This function support only 512-bytes block length (the block size should be + chosen as 512 byte). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + + *** MMC card CID register *** + ============================ + [..] + (+) The HAL_MMC_GetCardCID() API allows to get the parameters of the CID register. + Some of the CID parameters are useful for card initialization and identification. + + *** MMC HAL driver macros list *** + ================================== + [..] + Below the list of most used macros in MMC HAL driver. + + (+) __HAL_MMC_ENABLE_IT: Enable the MMC device interrupt + (+) __HAL_MMC_DISABLE_IT: Disable the MMC device interrupt + (+) __HAL_MMC_GET_FLAG:Check whether the specified MMC flag is set or not + (+) __HAL_MMC_CLEAR_FLAG: Clear the MMC's pending flags + + [..] + (@) You can refer to the MMC HAL driver header file for more useful macros + + *** Callback registration *** + ============================================= + [..] + The compilation define USE_HAL_MMC_REGISTER_CALLBACKS when set to 1 + allows the user to configure dynamically the driver callbacks. + + Use Functions @ref HAL_MMC_RegisterCallback() to register a user callback, + it allows to register following callbacks: + (+) TxCpltCallback : callback when a transmission transfer is completed. + (+) RxCpltCallback : callback when a reception transfer is completed. + (+) ErrorCallback : callback when error occurs. + (+) AbortCpltCallback : callback when abort is completed. + (+) Read_DMADblBuf0CpltCallback : callback when the DMA reception of first buffer is completed. + (+) Read_DMADblBuf1CpltCallback : callback when the DMA reception of second buffer is completed. + (+) Write_DMADblBuf0CpltCallback : callback when the DMA transmission of first buffer is completed. + (+) Write_DMADblBuf1CpltCallback : callback when the DMA transmission of second buffer is completed. + (+) MspInitCallback : MMC MspInit. + (+) MspDeInitCallback : MMC MspDeInit. + This function takes as parameters the HAL peripheral handle, the Callback ID + and a pointer to the user callback function. + + Use function @ref HAL_MMC_UnRegisterCallback() to reset a callback to the default + weak (surcharged) function. It allows to reset following callbacks: + (+) TxCpltCallback : callback when a transmission transfer is completed. + (+) RxCpltCallback : callback when a reception transfer is completed. + (+) ErrorCallback : callback when error occurs. + (+) AbortCpltCallback : callback when abort is completed. + (+) Read_DMADblBuf0CpltCallback : callback when the DMA reception of first buffer is completed. + (+) Read_DMADblBuf1CpltCallback : callback when the DMA reception of second buffer is completed. + (+) Write_DMADblBuf0CpltCallback : callback when the DMA transmission of first buffer is completed. + (+) Write_DMADblBuf1CpltCallback : callback when the DMA transmission of second buffer is completed. + (+) MspInitCallback : MMC MspInit. + (+) MspDeInitCallback : MMC MspDeInit. + This function) takes as parameters the HAL peripheral handle and the Callback ID. + + By default, after the @ref HAL_MMC_Init and if the state is HAL_MMC_STATE_RESET + all callbacks are reset to the corresponding legacy weak (surcharged) functions. + Exception done for MspInit and MspDeInit callbacks that are respectively + reset to the legacy weak (surcharged) functions in the @ref HAL_MMC_Init + and @ref HAL_MMC_DeInit only when these callbacks are null (not registered beforehand). + If not, MspInit or MspDeInit are not null, the @ref HAL_MMC_Init and @ref HAL_MMC_DeInit + keep and use the user MspInit/MspDeInit callbacks (registered beforehand) + + Callbacks can be registered/unregistered in READY state only. + Exception done for MspInit/MspDeInit callbacks that can be registered/unregistered + in READY or RESET state, thus registered (user) MspInit/DeInit callbacks can be used + during the Init/DeInit. + In that case first register the MspInit/MspDeInit user callbacks + using @ref HAL_MMC_RegisterCallback before calling @ref HAL_MMC_DeInit + or @ref HAL_MMC_Init function. + + When The compilation define USE_HAL_MMC_REGISTER_CALLBACKS is set to 0 or + not defined, the callback registering feature is not available + and weak (surcharged) callbacks are used. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2018 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup MMC MMC + * @brief MMC HAL module driver + * @{ + */ + +#ifdef HAL_MMC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup MMC_Private_Defines + * @{ + */ + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/** @defgroup MMC_Private_Functions MMC Private Functions + * @{ + */ +static uint32_t MMC_InitCard(MMC_HandleTypeDef *hmmc); +static uint32_t MMC_PowerON(MMC_HandleTypeDef *hmmc); +static uint32_t MMC_SendStatus(MMC_HandleTypeDef *hmmc, uint32_t *pCardStatus); +static void MMC_PowerOFF(MMC_HandleTypeDef *hmmc); +static void MMC_Write_IT(MMC_HandleTypeDef *hmmc); +static void MMC_Read_IT(MMC_HandleTypeDef *hmmc); +static HAL_StatusTypeDef MMC_ReadExtCSD(MMC_HandleTypeDef *hmmc, uint32_t *pBlockNbr, uint32_t Timeout); + + +/** + * @} + */ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup MMC_Exported_Functions + * @{ + */ + +/** @addtogroup MMC_Exported_Functions_Group1 + * @brief Initialization and de-initialization functions + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to initialize/de-initialize the MMC + card device to be ready for use. + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the MMC according to the specified parameters in the + MMC_HandleTypeDef and create the associated handle. + * @param hmmc: Pointer to the MMC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_Init(MMC_HandleTypeDef *hmmc) +{ + /* Check the MMC handle allocation */ + if(hmmc == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_SDMMC_ALL_INSTANCE(hmmc->Instance)); + assert_param(IS_SDMMC_CLOCK_EDGE(hmmc->Init.ClockEdge)); + assert_param(IS_SDMMC_CLOCK_POWER_SAVE(hmmc->Init.ClockPowerSave)); + assert_param(IS_SDMMC_BUS_WIDE(hmmc->Init.BusWide)); + assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(hmmc->Init.HardwareFlowControl)); + assert_param(IS_SDMMC_CLKDIV(hmmc->Init.ClockDiv)); + + if(hmmc->State == HAL_MMC_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hmmc->Lock = HAL_UNLOCKED; +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + /* Reset Callback pointers in HAL_MMC_STATE_RESET only */ + hmmc->TxCpltCallback = HAL_MMC_TxCpltCallback; + hmmc->RxCpltCallback = HAL_MMC_RxCpltCallback; + hmmc->ErrorCallback = HAL_MMC_ErrorCallback; + hmmc->AbortCpltCallback = HAL_MMC_AbortCallback; + hmmc->Read_DMADblBuf0CpltCallback = HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback; + hmmc->Read_DMADblBuf1CpltCallback = HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback; + hmmc->Write_DMADblBuf0CpltCallback = HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback; + hmmc->Write_DMADblBuf1CpltCallback = HAL_MMCEx_Write_DMADoubleBuffer1CpltCallback; + + if(hmmc->MspInitCallback == NULL) + { + hmmc->MspInitCallback = HAL_MMC_MspInit; + } + + /* Init the low level hardware */ + hmmc->MspInitCallback(hmmc); +#else + /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ + HAL_MMC_MspInit(hmmc); +#endif + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Initialize the Card parameters */ + if(HAL_MMC_InitCard(hmmc) == HAL_ERROR) + { + return HAL_ERROR; + } + + /* Initialize the error code */ + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Initialize the MMC operation */ + hmmc->Context = MMC_CONTEXT_NONE; + + /* Initialize the MMC state */ + hmmc->State = HAL_MMC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Initializes the MMC Card. + * @param hmmc: Pointer to MMC handle + * @note This function initializes the MMC card. It could be used when a card + re-initialization is needed. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_InitCard(MMC_HandleTypeDef *hmmc) +{ + uint32_t errorstate; + MMC_InitTypeDef Init; + HAL_StatusTypeDef status; + + /* Default SDMMC peripheral configuration for MMC card initialization */ + Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; + Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; + Init.BusWide = SDMMC_BUS_WIDE_1B; + Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; + Init.ClockDiv = SDMMC_INIT_CLK_DIV; + + /* Initialize SDMMC peripheral interface with default configuration */ + status = SDMMC_Init(hmmc->Instance, Init); + if(status == HAL_ERROR) + { + return HAL_ERROR; + } + + /* Set Power State to ON */ + status = SDMMC_PowerState_ON(hmmc->Instance); + if(status == HAL_ERROR) + { + return HAL_ERROR; + } + + /* Identify card operating voltage */ + errorstate = MMC_PowerON(hmmc); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->State = HAL_MMC_STATE_READY; + hmmc->ErrorCode |= errorstate; + return HAL_ERROR; + } + + /* Card initialization */ + errorstate = MMC_InitCard(hmmc); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->State = HAL_MMC_STATE_READY; + hmmc->ErrorCode |= errorstate; + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief De-Initializes the MMC card. + * @param hmmc: Pointer to MMC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_DeInit(MMC_HandleTypeDef *hmmc) +{ + /* Check the MMC handle allocation */ + if(hmmc == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_SDMMC_ALL_INSTANCE(hmmc->Instance)); + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Set MMC power state to off */ + MMC_PowerOFF(hmmc); + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + if(hmmc->MspDeInitCallback == NULL) + { + hmmc->MspDeInitCallback = HAL_MMC_MspDeInit; + } + + /* DeInit the low level hardware */ + hmmc->MspDeInitCallback(hmmc); +#else + /* De-Initialize the MSP layer */ + HAL_MMC_MspDeInit(hmmc); +#endif + + hmmc->ErrorCode = HAL_MMC_ERROR_NONE; + hmmc->State = HAL_MMC_STATE_RESET; + + return HAL_OK; +} + + +/** + * @brief Initializes the MMC MSP. + * @param hmmc: Pointer to MMC handle + * @retval None + */ +__weak void HAL_MMC_MspInit(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_MMC_MspInit could be implemented in the user file + */ +} + +/** + * @brief De-Initialize MMC MSP. + * @param hmmc: Pointer to MMC handle + * @retval None + */ +__weak void HAL_MMC_MspDeInit(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_MMC_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @addtogroup MMC_Exported_Functions_Group2 + * @brief Data transfer functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to manage the data + transfer from/to MMC card. + +@endverbatim + * @{ + */ + +/** + * @brief Reads block(s) from a specified address in a card. The Data transfer + * is managed by polling mode. + * @note This API should be followed by a check on the card state through + * HAL_MMC_GetCardState(). + * @param hmmc: Pointer to MMC handle + * @param pData: pointer to the buffer that will contain the received data + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Number of MMC blocks to read + * @param Timeout: Specify timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_ReadBlocks(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t tickstart = HAL_GetTick(); + uint32_t count, data; + uint32_t add = BlockAdd; + uint8_t *tempbuff = pData; + + if(NULL == pData) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + return HAL_ERROR; + } + + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0; + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hmmc->Instance, BLOCKSIZE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = NumberOfBlocks * BLOCKSIZE; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_ENABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + /* Read block(s) in polling mode */ + if(NumberOfBlocks > 1U) + { + hmmc->Context = MMC_CONTEXT_READ_MULTIPLE_BLOCK; + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hmmc->Instance, add); + } + else + { + hmmc->Context = MMC_CONTEXT_READ_SINGLE_BLOCK; + + /* Read Single Block command */ + errorstate = SDMMC_CmdReadSingleBlock(hmmc->Instance, add); + } + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Poll on SDMMC flags */ + while(!__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DATAEND)) + { + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_RXFIFOHF)) + { + /* Read data from SDMMC Rx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = SDMMC_ReadFIFO(hmmc->Instance); + *tempbuff = (uint8_t)(data & 0xFFU); + tempbuff++; + *tempbuff = (uint8_t)((data >> 8U) & 0xFFU); + tempbuff++; + *tempbuff = (uint8_t)((data >> 16U) & 0xFFU); + tempbuff++; + *tempbuff = (uint8_t)((data >> 24U) & 0xFFU); + tempbuff++; + } + } + + if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_TIMEOUT; + hmmc->State= HAL_MMC_STATE_READY; + return HAL_TIMEOUT; + } + } + + /* Send stop transmission command in case of multiblock read */ + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_DATAEND) && (NumberOfBlocks > 1U)) + { + /* Send stop transmission command */ + errorstate = SDMMC_CmdStopTransfer(hmmc->Instance); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + } + + /* Get error state */ + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_DTIMEOUT)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_DATA_TIMEOUT; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_DCRCFAIL)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_DATA_CRC_FAIL; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_RXOVERR)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_RX_OVERRUN; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + else + { + /* Nothing to do */ + } + + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + + hmmc->State = HAL_MMC_STATE_READY; + + return HAL_OK; + } + else + { + hmmc->ErrorCode |= HAL_MMC_ERROR_BUSY; + return HAL_ERROR; + } +} + +/** + * @brief Allows to write block(s) to a specified address in a card. The Data + * transfer is managed by polling mode. + * @note This API should be followed by a check on the card state through + * HAL_MMC_GetCardState(). + * @param hmmc: Pointer to MMC handle + * @param pData: pointer to the buffer that will contain the data to transmit + * @param BlockAdd: Block Address where data will be written + * @param NumberOfBlocks: Number of MMC blocks to write + * @param Timeout: Specify timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_WriteBlocks(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t tickstart = HAL_GetTick(); + uint32_t count, data; + uint32_t add = BlockAdd; + uint8_t *tempbuff = pData; + + if(NULL == pData) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + return HAL_ERROR; + } + + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0; + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hmmc->Instance, BLOCKSIZE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Write Blocks in Polling mode */ + if(NumberOfBlocks > 1U) + { + hmmc->Context = MMC_CONTEXT_WRITE_MULTIPLE_BLOCK; + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hmmc->Instance, add); + } + else + { + hmmc->Context = MMC_CONTEXT_WRITE_SINGLE_BLOCK; + + /* Write Single Block command */ + errorstate = SDMMC_CmdWriteSingleBlock(hmmc->Instance, add); + } + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = NumberOfBlocks * BLOCKSIZE; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_ENABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + /* Write block(s) in polling mode */ + while(!__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_TXUNDERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DATAEND)) + { + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_TXFIFOHE)) + { + /* Write data to SDMMC Tx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = (uint32_t)(*tempbuff); + tempbuff++; + data |= ((uint32_t)(*tempbuff) << 8U); + tempbuff++; + data |= ((uint32_t)(*tempbuff) << 16U); + tempbuff++; + data |= ((uint32_t)(*tempbuff) << 24U); + tempbuff++; + (void)SDMMC_WriteFIFO(hmmc->Instance, &data); + } + } + + if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_TIMEOUT; + } + } + + /* Send stop transmission command in case of multiblock write */ + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_DATAEND) && (NumberOfBlocks > 1U)) + { + /* Send stop transmission command */ + errorstate = SDMMC_CmdStopTransfer(hmmc->Instance); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + } + + /* Get error state */ + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_DTIMEOUT)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_DATA_TIMEOUT; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_DCRCFAIL)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_DATA_CRC_FAIL; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_TXUNDERR)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_TX_UNDERRUN; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + else + { + /* Nothing to do */ + } + + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + + hmmc->State = HAL_MMC_STATE_READY; + + return HAL_OK; + } + else + { + hmmc->ErrorCode |= HAL_MMC_ERROR_BUSY; + return HAL_ERROR; + } +} + +/** + * @brief Reads block(s) from a specified address in a card. The Data transfer + * is managed in interrupt mode. + * @note This API should be followed by a check on the card state through + * HAL_MMC_GetCardState(). + * @note You could also check the IT transfer process through the MMC Rx + * interrupt event. + * @param hmmc: Pointer to MMC handle + * @param pData: Pointer to the buffer that will contain the received data + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Number of blocks to read. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_ReadBlocks_IT(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + return HAL_ERROR; + } + + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0U; + + hmmc->pRxBuffPtr = pData; + hmmc->RxXferSize = BLOCKSIZE * NumberOfBlocks; + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_ENABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hmmc->Instance, BLOCKSIZE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Read Blocks in IT mode */ + if(NumberOfBlocks > 1U) + { + hmmc->Context = (MMC_CONTEXT_READ_MULTIPLE_BLOCK | MMC_CONTEXT_IT); + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hmmc->Instance, add); + } + else + { + hmmc->Context = (MMC_CONTEXT_READ_SINGLE_BLOCK | MMC_CONTEXT_IT); + + /* Read Single Block command */ + errorstate = SDMMC_CmdReadSingleBlock(hmmc->Instance, add); + } + + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + + __HAL_MMC_ENABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND | SDMMC_FLAG_RXFIFOHF)); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Writes block(s) to a specified address in a card. The Data transfer + * is managed in interrupt mode. + * @note This API should be followed by a check on the card state through + * HAL_MMC_GetCardState(). + * @note You could also check the IT transfer process through the MMC Tx + * interrupt event. + * @param hmmc: Pointer to MMC handle + * @param pData: Pointer to the buffer that will contain the data to transmit + * @param BlockAdd: Block Address where data will be written + * @param NumberOfBlocks: Number of blocks to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_WriteBlocks_IT(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + return HAL_ERROR; + } + + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0U; + + hmmc->pTxBuffPtr = pData; + hmmc->TxXferSize = BLOCKSIZE * NumberOfBlocks; + + /* Enable transfer interrupts */ + __HAL_MMC_ENABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND | SDMMC_FLAG_TXFIFOHE)); + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hmmc->Instance, BLOCKSIZE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Write Blocks in Polling mode */ + if(NumberOfBlocks > 1U) + { + hmmc->Context = (MMC_CONTEXT_WRITE_MULTIPLE_BLOCK| MMC_CONTEXT_IT); + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hmmc->Instance, add); + } + else + { + hmmc->Context = (MMC_CONTEXT_WRITE_SINGLE_BLOCK | MMC_CONTEXT_IT); + + /* Write Single Block command */ + errorstate = SDMMC_CmdWriteSingleBlock(hmmc->Instance, add); + } + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_ENABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Reads block(s) from a specified address in a card. The Data transfer + * is managed by DMA mode. + * @note This API should be followed by a check on the card state through + * HAL_MMC_GetCardState(). + * @note You could also check the DMA transfer process through the MMC Rx + * interrupt event. + * @param hmmc: Pointer MMC handle + * @param pData: Pointer to the buffer that will contain the received data + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Number of blocks to read. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_ReadBlocks_DMA(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + return HAL_ERROR; + } + + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0U; + + hmmc->pRxBuffPtr = pData; + hmmc->RxXferSize = BLOCKSIZE * NumberOfBlocks; + + hmmc->State = HAL_MMC_STATE_BUSY; + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hmmc->Instance, BLOCKSIZE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode = errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Enable transfer interrupts */ + __HAL_MMC_ENABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); + + __SDMMC_CMDTRANS_ENABLE( hmmc->Instance); + hmmc->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_SINGLE_BUFF; + hmmc->Instance->IDMABASE0 = (uint32_t) pData ; + + /* Read Blocks in DMA mode */ + if(NumberOfBlocks > 1U) + { + hmmc->Context = (MMC_CONTEXT_READ_MULTIPLE_BLOCK | MMC_CONTEXT_DMA); + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hmmc->Instance, add); + } + else + { + hmmc->Context = (MMC_CONTEXT_READ_SINGLE_BLOCK | MMC_CONTEXT_DMA); + + /* Read Single Block command */ + errorstate = SDMMC_CmdReadSingleBlock(hmmc->Instance, add); + } + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + __HAL_MMC_DISABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); + hmmc->ErrorCode = errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Writes block(s) to a specified address in a card. The Data transfer + * is managed by DMA mode. + * @note This API should be followed by a check on the card state through + * HAL_MMC_GetCardState(). + * @note You could also check the DMA transfer process through the MMC Tx + * interrupt event. + * @param hmmc: Pointer to MMC handle + * @param pData: pointer to the buffer that will contain the data to transmit + * @param BlockAdd: Block Address where data will be written + * @param NumberOfBlocks: Number of blocks to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_WriteBlocks_DMA(MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + return HAL_ERROR; + } + + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0U; + + hmmc->pTxBuffPtr = pData; + hmmc->TxXferSize = BLOCKSIZE * NumberOfBlocks; + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hmmc->Instance, BLOCKSIZE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + /* Enable transfer interrupts */ + __HAL_MMC_ENABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND)); + + __SDMMC_CMDTRANS_ENABLE( hmmc->Instance); + + hmmc->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_SINGLE_BUFF; + hmmc->Instance->IDMABASE0 = (uint32_t) pData ; + + /* Write Blocks in Polling mode */ + if(NumberOfBlocks > 1U) + { + hmmc->Context = (MMC_CONTEXT_WRITE_MULTIPLE_BLOCK | MMC_CONTEXT_DMA); + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hmmc->Instance, add); + } + else + { + hmmc->Context = (MMC_CONTEXT_WRITE_SINGLE_BLOCK | MMC_CONTEXT_DMA); + + /* Write Single Block command */ + errorstate = SDMMC_CmdWriteSingleBlock(hmmc->Instance, add); + } + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + __HAL_MMC_DISABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND)); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Erases the specified memory area of the given MMC card. + * @note This API should be followed by a check on the card state through + * HAL_MMC_GetCardState(). + * @param hmmc: Pointer to MMC handle + * @param BlockStartAdd: Start Block address + * @param BlockEndAdd: End Block address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_Erase(MMC_HandleTypeDef *hmmc, uint32_t BlockStartAdd, uint32_t BlockEndAdd) +{ + uint32_t errorstate; + uint32_t start_add = BlockStartAdd; + uint32_t end_add = BlockEndAdd; + + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + if(end_add < start_add) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + return HAL_ERROR; + } + + if(end_add > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_BUSY; + + /* Check if the card command class supports erase command */ + if(((hmmc->MmcCard.Class) & SDMMC_CCCC_ERASE) == 0U) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + if((SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_LOCK_UNLOCK_FAILED; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + start_add *= 512U; + end_add *= 512U; + } + + + /* Send CMD35 MMC_ERASE_GRP_START with argument as addr */ + errorstate = SDMMC_CmdEraseStartAdd(hmmc->Instance, start_add); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Send CMD36 MMC_ERASE_GRP_END with argument as addr */ + errorstate = SDMMC_CmdEraseEndAdd(hmmc->Instance, end_add); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Send CMD38 ERASE */ + errorstate = SDMMC_CmdErase(hmmc->Instance); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + hmmc->State = HAL_MMC_STATE_READY; + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief This function handles MMC card interrupt request. + * @param hmmc: Pointer to MMC handle + * @retval None + */ +void HAL_MMC_IRQHandler(MMC_HandleTypeDef *hmmc) +{ + uint32_t errorstate; + uint32_t context = hmmc->Context; + + /* Check for SDMMC interrupt flags */ + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_DATAEND) != RESET) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_FLAG_DATAEND); + + __HAL_MMC_DISABLE_IT(hmmc, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT |\ + SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\ + SDMMC_IT_RXFIFOHF); + + if((context & MMC_CONTEXT_DMA) != 0U) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + __SDMMC_CMDTRANS_DISABLE( hmmc->Instance); + + hmmc->Instance->DLEN = 0; + hmmc->Instance->DCTRL = 0; + hmmc->Instance->IDMACTRL = SDMMC_DISABLE_IDMA ; + + /* Stop Transfer for Write Single/Multi blocks or Read Multi blocks */ + if(((context & MMC_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & MMC_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) + { + errorstate = SDMMC_CmdStopTransfer(hmmc->Instance); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode = errorstate; +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->ErrorCallback(hmmc); +#else + HAL_MMC_ErrorCallback(hmmc); +#endif + } + } + + if(((context & MMC_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & MMC_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->TxCpltCallback(hmmc); +#else + HAL_MMC_TxCpltCallback(hmmc); +#endif + } + + if(((context & MMC_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & MMC_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->RxCpltCallback(hmmc); +#else + HAL_MMC_RxCpltCallback(hmmc); +#endif + } + + hmmc->State = HAL_MMC_STATE_READY; + } + + if((context & MMC_CONTEXT_IT) != 0U) + { + if(((context & MMC_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & MMC_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) + { + errorstate = SDMMC_CmdStopTransfer(hmmc->Instance); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->ErrorCallback(hmmc); +#else + HAL_MMC_ErrorCallback(hmmc); +#endif + } + } + + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + + hmmc->State = HAL_MMC_STATE_READY; + if(((context & MMC_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & MMC_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->RxCpltCallback(hmmc); +#else + HAL_MMC_RxCpltCallback(hmmc); +#endif + } + else + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->TxCpltCallback(hmmc); +#else + HAL_MMC_TxCpltCallback(hmmc); +#endif + } + } + } + + else if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_TXFIFOHE) != RESET) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_FLAG_TXFIFOHE); + + MMC_Write_IT(hmmc); + } + + else if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_RXFIFOHF) != RESET) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_FLAG_RXFIFOHF); + + MMC_Read_IT(hmmc); + } + + else if (__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_DCRCFAIL) != RESET) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_FLAG_DCRCFAIL); + + __HAL_MMC_DISABLE_IT(hmmc, SDMMC_IT_DCRCFAIL); + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->ErrorCallback(hmmc); +#else + HAL_MMC_ErrorCallback(hmmc); +#endif + } + + else if (__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_DTIMEOUT) != RESET) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_FLAG_DTIMEOUT); + + __HAL_MMC_DISABLE_IT(hmmc, SDMMC_IT_DTIMEOUT); + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->ErrorCallback(hmmc); +#else + HAL_MMC_ErrorCallback(hmmc); +#endif + } + + else if (__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_RXOVERR) != RESET) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_FLAG_RXOVERR); + + __HAL_MMC_DISABLE_IT(hmmc, SDMMC_IT_RXOVERR); + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->ErrorCallback(hmmc); +#else + HAL_MMC_ErrorCallback(hmmc); +#endif + } + + else if (__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_TXUNDERR) != RESET) + { + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_FLAG_TXUNDERR); + + __HAL_MMC_DISABLE_IT(hmmc, SDMMC_IT_TXUNDERR); + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->ErrorCallback(hmmc); +#else + HAL_MMC_ErrorCallback(hmmc); +#endif + } + + else if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_IT_IDMABTC) != RESET) + { + if(READ_BIT(hmmc->Instance->IDMACTRL, SDMMC_IDMA_IDMABACT) == 0U) + { + /* Current buffer is buffer0, Transfer complete for buffer1 */ + if((context & MMC_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->Write_DMADblBuf1CpltCallback(hmmc); +#else + HAL_MMCEx_Write_DMADoubleBuffer1CpltCallback(hmmc); +#endif + } + else /* MMC_CONTEXT_READ_MULTIPLE_BLOCK */ + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->Read_DMADblBuf1CpltCallback(hmmc); +#else + HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback(hmmc); +#endif + } + } + else /* MMC_DMA_BUFFER1 */ + { + /* Current buffer is buffer1, Transfer complete for buffer0 */ + if((context & MMC_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->Write_DMADblBuf0CpltCallback(hmmc); +#else + HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback(hmmc); +#endif + } + else /* MMC_CONTEXT_READ_MULTIPLE_BLOCK */ + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->Read_DMADblBuf0CpltCallback(hmmc); +#else + HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback(hmmc); +#endif + } + } + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_IT_IDMABTC); + } + + else + { + /* Nothing to do */ + } +} + +/** + * @brief return the MMC state + * @param hmmc: Pointer to mmc handle + * @retval HAL state + */ +HAL_MMC_StateTypeDef HAL_MMC_GetState(MMC_HandleTypeDef *hmmc) +{ + return hmmc->State; +} + +/** +* @brief Return the MMC error code +* @param hmmc : pointer to a MMC_HandleTypeDef structure that contains + * the configuration information. +* @retval MMC Error Code +*/ +uint32_t HAL_MMC_GetError(MMC_HandleTypeDef *hmmc) +{ + return hmmc->ErrorCode; +} + +/** + * @brief Tx Transfer completed callbacks + * @param hmmc: Pointer to MMC handle + * @retval None + */ +__weak void HAL_MMC_TxCpltCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMC_TxCpltCallback can be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callbacks + * @param hmmc: Pointer MMC handle + * @retval None + */ +__weak void HAL_MMC_RxCpltCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMC_ErrorCallback can be implemented in the user file + */ +} + +/** + * @brief MMC error callbacks + * @param hmmc: Pointer MMC handle + * @retval None + */ +__weak void HAL_MMC_ErrorCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMC_ErrorCallback can be implemented in the user file + */ +} + +/** + * @brief MMC Abort callbacks + * @param hmmc: Pointer MMC handle + * @retval None + */ +__weak void HAL_MMC_AbortCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMC_ErrorCallback can be implemented in the user file + */ +} + +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) +/** + * @brief Register a User MMC Callback + * To be used instead of the weak (surcharged) predefined callback + * @param hmmc : MMC handle + * @param CallbackID : ID of the callback to be registered + * This parameter can be one of the following values: + * @arg @ref HAL_MMC_TX_CPLT_CB_ID MMC Tx Complete Callback ID + * @arg @ref HAL_MMC_RX_CPLT_CB_ID MMC Rx Complete Callback ID + * @arg @ref HAL_MMC_ERROR_CB_ID MMC Error Callback ID + * @arg @ref HAL_MMC_ABORT_CB_ID MMC Abort Callback ID + * @arg @ref HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID MMC DMA Rx Double buffer 0 Callback ID + * @arg @ref HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID MMC DMA Rx Double buffer 1 Callback ID + * @arg @ref HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID MMC DMA Tx Double buffer 0 Callback ID + * @arg @ref HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID MMC DMA Tx Double buffer 1 Callback ID + * @arg @ref HAL_MMC_MSP_INIT_CB_ID MMC MspInit Callback ID + * @arg @ref HAL_MMC_MSP_DEINIT_CB_ID MMC MspDeInit Callback ID + * @param pCallback : pointer to the Callback function + * @retval status + */ +HAL_StatusTypeDef HAL_MMC_RegisterCallback(MMC_HandleTypeDef *hmmc, HAL_MMC_CallbackIDTypeDef CallbackId, pMMC_CallbackTypeDef pCallback) +{ + HAL_StatusTypeDef status = HAL_OK; + + if(pCallback == NULL) + { + /* Update the error code */ + hmmc->ErrorCode |= HAL_MMC_ERROR_INVALID_CALLBACK; + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hmmc); + + if(hmmc->State == HAL_MMC_STATE_READY) + { + switch (CallbackId) + { + case HAL_MMC_TX_CPLT_CB_ID : + hmmc->TxCpltCallback = pCallback; + break; + case HAL_MMC_RX_CPLT_CB_ID : + hmmc->RxCpltCallback = pCallback; + break; + case HAL_MMC_ERROR_CB_ID : + hmmc->ErrorCallback = pCallback; + break; + case HAL_MMC_ABORT_CB_ID : + hmmc->AbortCpltCallback = pCallback; + break; + case HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID : + hmmc->Read_DMADblBuf0CpltCallback = pCallback; + break; + case HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID : + hmmc->Read_DMADblBuf1CpltCallback = pCallback; + break; + case HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID : + hmmc->Write_DMADblBuf0CpltCallback = pCallback; + break; + case HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID : + hmmc->Write_DMADblBuf1CpltCallback = pCallback; + break; + case HAL_MMC_MSP_INIT_CB_ID : + hmmc->MspInitCallback = pCallback; + break; + case HAL_MMC_MSP_DEINIT_CB_ID : + hmmc->MspDeInitCallback = pCallback; + break; + default : + /* Update the error code */ + hmmc->ErrorCode |= HAL_MMC_ERROR_INVALID_CALLBACK; + /* update return status */ + status = HAL_ERROR; + break; + } + } + else if (hmmc->State == HAL_MMC_STATE_RESET) + { + switch (CallbackId) + { + case HAL_MMC_MSP_INIT_CB_ID : + hmmc->MspInitCallback = pCallback; + break; + case HAL_MMC_MSP_DEINIT_CB_ID : + hmmc->MspDeInitCallback = pCallback; + break; + default : + /* Update the error code */ + hmmc->ErrorCode |= HAL_MMC_ERROR_INVALID_CALLBACK; + /* update return status */ + status = HAL_ERROR; + break; + } + } + else + { + /* Update the error code */ + hmmc->ErrorCode |= HAL_MMC_ERROR_INVALID_CALLBACK; + /* update return status */ + status = HAL_ERROR; + } + + /* Release Lock */ + __HAL_UNLOCK(hmmc); + return status; +} + +/** + * @brief Unregister a User MMC Callback + * MMC Callback is redirected to the weak (surcharged) predefined callback + * @param hmmc : MMC handle + * @param CallbackID : ID of the callback to be unregistered + * This parameter can be one of the following values: + * @arg @ref HAL_MMC_TX_CPLT_CB_ID MMC Tx Complete Callback ID + * @arg @ref HAL_MMC_RX_CPLT_CB_ID MMC Rx Complete Callback ID + * @arg @ref HAL_MMC_ERROR_CB_ID MMC Error Callback ID + * @arg @ref HAL_MMC_ABORT_CB_ID MMC Abort Callback ID + * @arg @ref HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID MMC DMA Rx Double buffer 0 Callback ID + * @arg @ref HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID MMC DMA Rx Double buffer 1 Callback ID + * @arg @ref HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID MMC DMA Tx Double buffer 0 Callback ID + * @arg @ref HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID MMC DMA Tx Double buffer 1 Callback ID + * @arg @ref HAL_MMC_MSP_INIT_CB_ID MMC MspInit Callback ID + * @arg @ref HAL_MMC_MSP_DEINIT_CB_ID MMC MspDeInit Callback ID + * @retval status + */ +HAL_StatusTypeDef HAL_MMC_UnRegisterCallback(MMC_HandleTypeDef *hmmc, HAL_MMC_CallbackIDTypeDef CallbackId) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process locked */ + __HAL_LOCK(hmmc); + + if(hmmc->State == HAL_MMC_STATE_READY) + { + switch (CallbackId) + { + case HAL_MMC_TX_CPLT_CB_ID : + hmmc->TxCpltCallback = HAL_MMC_TxCpltCallback; + break; + case HAL_MMC_RX_CPLT_CB_ID : + hmmc->RxCpltCallback = HAL_MMC_RxCpltCallback; + break; + case HAL_MMC_ERROR_CB_ID : + hmmc->ErrorCallback = HAL_MMC_ErrorCallback; + break; + case HAL_MMC_ABORT_CB_ID : + hmmc->AbortCpltCallback = HAL_MMC_AbortCallback; + break; + case HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID : + hmmc->Read_DMADblBuf0CpltCallback = HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback; + break; + case HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID : + hmmc->Read_DMADblBuf1CpltCallback = HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback; + break; + case HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID : + hmmc->Write_DMADblBuf0CpltCallback = HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback; + break; + case HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID : + hmmc->Write_DMADblBuf1CpltCallback = HAL_MMCEx_Write_DMADoubleBuffer1CpltCallback; + break; + case HAL_MMC_MSP_INIT_CB_ID : + hmmc->MspInitCallback = HAL_MMC_MspInit; + break; + case HAL_MMC_MSP_DEINIT_CB_ID : + hmmc->MspDeInitCallback = HAL_MMC_MspDeInit; + break; + default : + /* Update the error code */ + hmmc->ErrorCode |= HAL_MMC_ERROR_INVALID_CALLBACK; + /* update return status */ + status = HAL_ERROR; + break; + } + } + else if (hmmc->State == HAL_MMC_STATE_RESET) + { + switch (CallbackId) + { + case HAL_MMC_MSP_INIT_CB_ID : + hmmc->MspInitCallback = HAL_MMC_MspInit; + break; + case HAL_MMC_MSP_DEINIT_CB_ID : + hmmc->MspDeInitCallback = HAL_MMC_MspDeInit; + break; + default : + /* Update the error code */ + hmmc->ErrorCode |= HAL_MMC_ERROR_INVALID_CALLBACK; + /* update return status */ + status = HAL_ERROR; + break; + } + } + else + { + /* Update the error code */ + hmmc->ErrorCode |= HAL_MMC_ERROR_INVALID_CALLBACK; + /* update return status */ + status = HAL_ERROR; + } + + /* Release Lock */ + __HAL_UNLOCK(hmmc); + return status; +} +#endif + +/** + * @} + */ + +/** @addtogroup MMC_Exported_Functions_Group3 + * @brief management functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control the MMC card + operations and get the related information + +@endverbatim + * @{ + */ + +/** + * @brief Returns information the information of the card which are stored on + * the CID register. + * @param hmmc: Pointer to MMC handle + * @param pCID: Pointer to a HAL_MMC_CIDTypedef structure that + * contains all CID register parameters + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_GetCardCID(MMC_HandleTypeDef *hmmc, HAL_MMC_CardCIDTypeDef *pCID) +{ + pCID->ManufacturerID = (uint8_t)((hmmc->CID[0] & 0xFF000000U) >> 24U); + + pCID->OEM_AppliID = (uint16_t)((hmmc->CID[0] & 0x00FFFF00U) >> 8U); + + pCID->ProdName1 = (((hmmc->CID[0] & 0x000000FFU) << 24U) | ((hmmc->CID[1] & 0xFFFFFF00U) >> 8U)); + + pCID->ProdName2 = (uint8_t)(hmmc->CID[1] & 0x000000FFU); + + pCID->ProdRev = (uint8_t)((hmmc->CID[2] & 0xFF000000U) >> 24U); + + pCID->ProdSN = (((hmmc->CID[2] & 0x00FFFFFFU) << 8U) | ((hmmc->CID[3] & 0xFF000000U) >> 24U)); + + pCID->Reserved1 = (uint8_t)((hmmc->CID[3] & 0x00F00000U) >> 20U); + + pCID->ManufactDate = (uint16_t)((hmmc->CID[3] & 0x000FFF00U) >> 8U); + + pCID->CID_CRC = (uint8_t)((hmmc->CID[3] & 0x000000FEU) >> 1U); + + pCID->Reserved2 = 1U; + + return HAL_OK; +} + +/** + * @brief Returns information the information of the card which are stored on + * the CSD register. + * @param hmmc: Pointer to MMC handle + * @param pCSD: Pointer to a HAL_MMC_CardInfoTypedef structure that + * contains all CSD register parameters + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_GetCardCSD(MMC_HandleTypeDef *hmmc, HAL_MMC_CardCSDTypeDef *pCSD) +{ + uint32_t block_nbr = 0; + + pCSD->CSDStruct = (uint8_t)((hmmc->CSD[0] & 0xC0000000U) >> 30U); + + pCSD->SysSpecVersion = (uint8_t)((hmmc->CSD[0] & 0x3C000000U) >> 26U); + + pCSD->Reserved1 = (uint8_t)((hmmc->CSD[0] & 0x03000000U) >> 24U); + + pCSD->TAAC = (uint8_t)((hmmc->CSD[0] & 0x00FF0000U) >> 16U); + + pCSD->NSAC = (uint8_t)((hmmc->CSD[0] & 0x0000FF00U) >> 8U); + + pCSD->MaxBusClkFrec = (uint8_t)(hmmc->CSD[0] & 0x000000FFU); + + pCSD->CardComdClasses = (uint16_t)((hmmc->CSD[1] & 0xFFF00000U) >> 20U); + + pCSD->RdBlockLen = (uint8_t)((hmmc->CSD[1] & 0x000F0000U) >> 16U); + + pCSD->PartBlockRead = (uint8_t)((hmmc->CSD[1] & 0x00008000U) >> 15U); + + pCSD->WrBlockMisalign = (uint8_t)((hmmc->CSD[1] & 0x00004000U) >> 14U); + + pCSD->RdBlockMisalign = (uint8_t)((hmmc->CSD[1] & 0x00002000U) >> 13U); + + pCSD->DSRImpl = (uint8_t)((hmmc->CSD[1] & 0x00001000U) >> 12U); + + pCSD->Reserved2 = 0U; /*!< Reserved */ + + if(MMC_ReadExtCSD(hmmc, &block_nbr, 0x0FFFFFFFU) != HAL_OK) + { + return HAL_ERROR; + } + + if(hmmc->MmcCard.CardType == MMC_LOW_CAPACITY_CARD) + { + pCSD->DeviceSize = (((hmmc->CSD[1] & 0x000003FFU) << 2U) | ((hmmc->CSD[2] & 0xC0000000U) >> 30U)); + + pCSD->MaxRdCurrentVDDMin = (uint8_t)((hmmc->CSD[2] & 0x38000000U) >> 27U); + + pCSD->MaxRdCurrentVDDMax = (uint8_t)((hmmc->CSD[2] & 0x07000000U) >> 24U); + + pCSD->MaxWrCurrentVDDMin = (uint8_t)((hmmc->CSD[2] & 0x00E00000U) >> 21U); + + pCSD->MaxWrCurrentVDDMax = (uint8_t)((hmmc->CSD[2] & 0x001C0000U) >> 18U); + + pCSD->DeviceSizeMul = (uint8_t)((hmmc->CSD[2] & 0x00038000U) >> 15U); + + hmmc->MmcCard.BlockNbr = (pCSD->DeviceSize + 1U) ; + hmmc->MmcCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); + hmmc->MmcCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); + + hmmc->MmcCard.LogBlockNbr = (hmmc->MmcCard.BlockNbr) * ((hmmc->MmcCard.BlockSize) / 512U); + hmmc->MmcCard.LogBlockSize = 512U; + } + else if(hmmc->MmcCard.CardType == MMC_HIGH_CAPACITY_CARD) + { + hmmc->MmcCard.BlockNbr = block_nbr; + hmmc->MmcCard.LogBlockNbr = hmmc->MmcCard.BlockNbr; + hmmc->MmcCard.BlockSize = 512U; + hmmc->MmcCard.LogBlockSize = hmmc->MmcCard.BlockSize; + } + else + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_UNSUPPORTED_FEATURE; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + pCSD->EraseGrSize = (uint8_t)((hmmc->CSD[2] & 0x00004000U) >> 14U); + + pCSD->EraseGrMul = (uint8_t)((hmmc->CSD[2] & 0x00003F80U) >> 7U); + + pCSD->WrProtectGrSize = (uint8_t)(hmmc->CSD[2] & 0x0000007FU); + + pCSD->WrProtectGrEnable = (uint8_t)((hmmc->CSD[3] & 0x80000000U) >> 31U); + + pCSD->ManDeflECC = (uint8_t)((hmmc->CSD[3] & 0x60000000U) >> 29U); + + pCSD->WrSpeedFact = (uint8_t)((hmmc->CSD[3] & 0x1C000000U) >> 26U); + + pCSD->MaxWrBlockLen= (uint8_t)((hmmc->CSD[3] & 0x03C00000U) >> 22U); + + pCSD->WriteBlockPaPartial = (uint8_t)((hmmc->CSD[3] & 0x00200000U) >> 21U); + + pCSD->Reserved3 = 0; + + pCSD->ContentProtectAppli = (uint8_t)((hmmc->CSD[3] & 0x00010000U) >> 16U); + + pCSD->FileFormatGroup = (uint8_t)((hmmc->CSD[3] & 0x00008000U) >> 15U); + + pCSD->CopyFlag = (uint8_t)((hmmc->CSD[3] & 0x00004000U) >> 14U); + + pCSD->PermWrProtect = (uint8_t)((hmmc->CSD[3] & 0x00002000U) >> 13U); + + pCSD->TempWrProtect = (uint8_t)((hmmc->CSD[3] & 0x00001000U) >> 12U); + + pCSD->FileFormat = (uint8_t)((hmmc->CSD[3] & 0x00000C00U) >> 10U); + + pCSD->ECC= (uint8_t)((hmmc->CSD[3] & 0x00000300U) >> 8U); + + pCSD->CSD_CRC = (uint8_t)((hmmc->CSD[3] & 0x000000FEU) >> 1U); + + pCSD->Reserved4 = 1; + + return HAL_OK; +} + +/** + * @brief Gets the MMC card info. + * @param hmmc: Pointer to MMC handle + * @param pCardInfo: Pointer to the HAL_MMC_CardInfoTypeDef structure that + * will contain the MMC card status information + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_GetCardInfo(MMC_HandleTypeDef *hmmc, HAL_MMC_CardInfoTypeDef *pCardInfo) +{ + pCardInfo->CardType = (uint32_t)(hmmc->MmcCard.CardType); + pCardInfo->Class = (uint32_t)(hmmc->MmcCard.Class); + pCardInfo->RelCardAdd = (uint32_t)(hmmc->MmcCard.RelCardAdd); + pCardInfo->BlockNbr = (uint32_t)(hmmc->MmcCard.BlockNbr); + pCardInfo->BlockSize = (uint32_t)(hmmc->MmcCard.BlockSize); + pCardInfo->LogBlockNbr = (uint32_t)(hmmc->MmcCard.LogBlockNbr); + pCardInfo->LogBlockSize = (uint32_t)(hmmc->MmcCard.LogBlockSize); + + return HAL_OK; +} + +/** + * @brief Enables wide bus operation for the requested card if supported by + * card. + * @param hmmc: Pointer to MMC handle + * @param WideMode: Specifies the MMC card wide bus mode + * This parameter can be one of the following values: + * @arg SDMMC_BUS_WIDE_8B: 8-bit data transfer + * @arg SDMMC_BUS_WIDE_4B: 4-bit data transfer + * @arg SDMMC_BUS_WIDE_1B: 1-bit data transfer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_ConfigWideBusOperation(MMC_HandleTypeDef *hmmc, uint32_t WideMode) +{ + __IO uint32_t count = 0; + SDMMC_InitTypeDef Init; + uint32_t errorstate; + uint32_t response = 0, busy = 0; + + /* Check the parameters */ + assert_param(IS_SDMMC_BUS_WIDE(WideMode)); + + /* Chnage Satte */ + hmmc->State = HAL_MMC_STATE_BUSY; + + if(WideMode == SDMMC_BUS_WIDE_8B) + { + errorstate = SDMMC_CmdSwitch(hmmc->Instance, 0x03B70200); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + } + else if(WideMode == SDMMC_BUS_WIDE_4B) + { + errorstate = SDMMC_CmdSwitch(hmmc->Instance, 0x03B70100); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + } + else if(WideMode == SDMMC_BUS_WIDE_1B) + { + errorstate = SDMMC_CmdSwitch(hmmc->Instance, SDMMC_BUS_WIDE_1B /*0x03B70000*/); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + } + else + { + /* WideMode is not a valid argument*/ + hmmc->ErrorCode |= HAL_MMC_ERROR_PARAM; + } +/* Check for switch error and violation of the trial number of sending CMD 13 */ + while(busy == 0U) + { + if(count == SDMMC_MAX_TRIAL) + { + hmmc->State = HAL_MMC_STATE_READY; + hmmc->ErrorCode |= HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE; + return HAL_ERROR; + } + count++; + + /* While card is not ready for data and trial number for sending CMD13 is not exceeded */ + errorstate = SDMMC_CmdSendStatus(hmmc->Instance, (uint32_t)(((uint32_t)hmmc->MmcCard.RelCardAdd) << 16)); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + + /* Get command response */ + response = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP1); + + /* Get operating voltage*/ + busy = (((response >> 7U) == 1U) ? 0U : 1U); + } + + /* While card is not ready for data and trial number for sending CMD13 is not exceeded */ + count = SDMMC_DATATIMEOUT; + while((response & 0x00000100U) == 0U) + { + if(count == 0U) + { + hmmc->State = HAL_MMC_STATE_READY; + hmmc->ErrorCode |= HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE; + return HAL_ERROR; + } + count--; + + /* While card is not ready for data and trial number for sending CMD13 is not exceeded */ + errorstate = SDMMC_CmdSendStatus(hmmc->Instance, (uint32_t)(((uint32_t)hmmc->MmcCard.RelCardAdd) << 16)); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + + /* Get command response */ + response = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP1); + } + + if(hmmc->ErrorCode != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + else + { + /* Configure the SDMMC peripheral */ + Init.ClockEdge = hmmc->Init.ClockEdge; + Init.ClockPowerSave = hmmc->Init.ClockPowerSave; + Init.BusWide = WideMode; + Init.HardwareFlowControl = hmmc->Init.HardwareFlowControl; + Init.ClockDiv = hmmc->Init.ClockDiv; + (void)SDMMC_Init(hmmc->Instance, Init); + } + + /* Change State */ + hmmc->State = HAL_MMC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Gets the current mmc card data state. + * @param hmmc: pointer to MMC handle + * @retval Card state + */ +HAL_MMC_CardStateTypeDef HAL_MMC_GetCardState(MMC_HandleTypeDef *hmmc) +{ + uint32_t cardstate; + uint32_t errorstate; + uint32_t resp1 = 0; + + errorstate = MMC_SendStatus(hmmc, &resp1); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + + cardstate = ((resp1 >> 9U) & 0x0FU); + + /* Clear all the static flags */ + __SDMMC_CLEAR_FLAG(hmmc->Instance, SDMMC_STATIC_FLAGS); + return (HAL_MMC_CardStateTypeDef)cardstate; +} + +/** + * @brief Abort the current transfer and disable the MMC. + * @param hmmc: pointer to a MMC_HandleTypeDef structure that contains + * the configuration information for MMC module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_Abort(MMC_HandleTypeDef *hmmc) +{ + HAL_MMC_CardStateTypeDef CardState; + + /* DIsable All interrupts */ + __HAL_MMC_DISABLE_IT(hmmc, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ + SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); + + /* Clear All flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + + /* If IDMA Context, disable Internal DMA */ + hmmc->Instance->IDMACTRL = SDMMC_DISABLE_IDMA; + + hmmc->State = HAL_MMC_STATE_READY; + CardState = HAL_MMC_GetCardState(hmmc); + if((CardState == HAL_MMC_CARD_RECEIVING) || (CardState == HAL_MMC_CARD_SENDING)) + { + hmmc->ErrorCode = SDMMC_CmdStopTransfer(hmmc->Instance); + } + if(hmmc->ErrorCode != HAL_MMC_ERROR_NONE) + { + return HAL_ERROR; + } + return HAL_OK; +} + +/** + * @brief Abort the current transfer and disable the MMC (IT mode). + * @param hmmc: pointer to a MMC_HandleTypeDef structure that contains + * the configuration information for MMC module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMC_Abort_IT(MMC_HandleTypeDef *hmmc) +{ + HAL_MMC_CardStateTypeDef CardState; + + /* DIsable All interrupts */ + __HAL_MMC_DISABLE_IT(hmmc, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ + SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); + + /* Clear All flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + + CardState = HAL_MMC_GetCardState(hmmc); + hmmc->State = HAL_MMC_STATE_READY; + if((CardState == HAL_MMC_CARD_RECEIVING) || (CardState == HAL_MMC_CARD_SENDING)) + { + hmmc->ErrorCode = SDMMC_CmdStopTransfer(hmmc->Instance); + } + if(hmmc->ErrorCode != HAL_MMC_ERROR_NONE) + { + return HAL_ERROR; + } + else + { +#if defined (USE_HAL_MMC_REGISTER_CALLBACKS) && (USE_HAL_MMC_REGISTER_CALLBACKS == 1U) + hmmc->AbortCpltCallback(hmmc); +#else + HAL_MMC_AbortCallback(hmmc); +#endif + } + + return HAL_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +/* Private function ----------------------------------------------------------*/ +/** @addtogroup MMC_Private_Functions + * @{ + */ + + +/** + * @brief Initializes the mmc card. + * @param hmmc: Pointer to MMC handle + * @retval MMC Card error state + */ +static uint32_t MMC_InitCard(MMC_HandleTypeDef *hmmc) +{ + HAL_MMC_CardCSDTypeDef CSD; + uint32_t errorstate; + uint16_t mmc_rca = 1; + MMC_InitTypeDef Init; + + /* Check the power State */ + if(SDMMC_GetPowerState(hmmc->Instance) == 0U) + { + /* Power off */ + return HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE; + } + + /* Send CMD2 ALL_SEND_CID */ + errorstate = SDMMC_CmdSendCID(hmmc->Instance); + if(errorstate != HAL_MMC_ERROR_NONE) + { + return errorstate; + } + else + { + /* Get Card identification number data */ + hmmc->CID[0] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP1); + hmmc->CID[1] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP2); + hmmc->CID[2] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP3); + hmmc->CID[3] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP4); + } + + /* Send CMD3 SET_REL_ADDR with argument 0 */ + /* MMC Card publishes its RCA. */ + errorstate = SDMMC_CmdSetRelAdd(hmmc->Instance, &mmc_rca); + if(errorstate != HAL_MMC_ERROR_NONE) + { + return errorstate; + } + + /* Get the MMC card RCA */ + hmmc->MmcCard.RelCardAdd = mmc_rca; + + /* Send CMD9 SEND_CSD with argument as card's RCA */ + errorstate = SDMMC_CmdSendCSD(hmmc->Instance, (uint32_t)(hmmc->MmcCard.RelCardAdd << 16U)); + if(errorstate != HAL_MMC_ERROR_NONE) + { + return errorstate; + } + else + { + /* Get Card Specific Data */ + hmmc->CSD[0U] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP1); + hmmc->CSD[1U] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP2); + hmmc->CSD[2U] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP3); + hmmc->CSD[3U] = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP4); + } + + /* Get the Card Class */ + hmmc->MmcCard.Class = (SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP2) >> 20); + + /* Select the Card */ + errorstate = SDMMC_CmdSelDesel(hmmc->Instance, (uint32_t)(((uint32_t)hmmc->MmcCard.RelCardAdd) << 16)); + if(errorstate != HAL_MMC_ERROR_NONE) + { + return errorstate; + } + + /* Get CSD parameters */ + if (HAL_MMC_GetCardCSD(hmmc, &CSD) != HAL_OK) + { + return hmmc->ErrorCode; + } + + ////////////////////////////////////////////// + /* While card is not ready for data and trial number for sending CMD13 is not exceeded */ + errorstate = SDMMC_CmdSendStatus(hmmc->Instance, (uint32_t)(((uint32_t)hmmc->MmcCard.RelCardAdd) << 16)); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + + /* Configure the SDMMC peripheral */ + Init.ClockEdge = hmmc->Init.ClockEdge; + Init.ClockPowerSave = hmmc->Init.ClockPowerSave; + Init.BusWide = SDMMC_BUS_WIDE_1B; + Init.HardwareFlowControl = hmmc->Init.HardwareFlowControl; + Init.ClockDiv = hmmc->Init.ClockDiv; + (void)SDMMC_Init(hmmc->Instance, Init); + ///////////////////////////////////// + + /* Configure SDMMC peripheral interface */ + //SDMMC_Init(hmmc->Instance, hmmc->Init); + + /* All cards are initialized */ + return HAL_MMC_ERROR_NONE; +} + +/** + * @brief Enquires cards about their operating voltage and configures clock + * controls and stores MMC information that will be needed in future + * in the MMC handle. + * @param hmmc: Pointer to MMC handle + * @retval error state + */ +static uint32_t MMC_PowerON(MMC_HandleTypeDef *hmmc) +{ + __IO uint32_t count = 0; + uint32_t response = 0, validvoltage = 0; + uint32_t errorstate; + + /* CMD0: GO_IDLE_STATE */ + errorstate = SDMMC_CmdGoIdleState(hmmc->Instance); + if(errorstate != HAL_MMC_ERROR_NONE) + { + return errorstate; + } + + while(validvoltage == 0U) + { + if(count++ == SDMMC_MAX_VOLT_TRIAL) + { + return HAL_MMC_ERROR_INVALID_VOLTRANGE; + } + + /* SEND CMD1 APP_CMD with MMC_HIGH_VOLTAGE_RANGE(0xC0FF8000) as argument */ + errorstate = SDMMC_CmdOpCondition(hmmc->Instance, eMMC_HIGH_VOLTAGE_RANGE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + return HAL_MMC_ERROR_UNSUPPORTED_FEATURE; + } + + /* Get command response */ + response = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP1); + + /* Get operating voltage*/ + validvoltage = (((response >> 31U) == 1U) ? 1U : 0U); + } + + /* When power routine is finished and command returns valid voltage */ + if (((response & (0xFF000000U)) >> 24) == 0xC0U) + { + hmmc->MmcCard.CardType = MMC_HIGH_CAPACITY_CARD; + } + else + { + hmmc->MmcCard.CardType = MMC_LOW_CAPACITY_CARD; + } + + return HAL_MMC_ERROR_NONE; +} + +/** + * @brief Turns the SDMMC output signals off. + * @param hmmc: Pointer to MMC handle + * @retval None + */ +static void MMC_PowerOFF(MMC_HandleTypeDef *hmmc) +{ + /* Set Power State to OFF */ + (void)SDMMC_PowerState_OFF(hmmc->Instance); +} + + +/** + * @brief Returns the current card's status. + * @param hmmc: pointer to MMC handle + * @param pCardStatus: pointer to the buffer that will contain the MMC card + * status (Card Status register) + * @retval error state + */ +static uint32_t MMC_SendStatus(MMC_HandleTypeDef *hmmc, uint32_t *pCardStatus) +{ + uint32_t errorstate; + + if(pCardStatus == NULL) + { + return HAL_MMC_ERROR_PARAM; + } + + /* Send Status command */ + errorstate = SDMMC_CmdSendStatus(hmmc->Instance, (uint32_t)(hmmc->MmcCard.RelCardAdd << 16)); + if(errorstate != HAL_MMC_ERROR_NONE) + { + return errorstate; + } + + /* Get MMC card status */ + *pCardStatus = SDMMC_GetResponse(hmmc->Instance, SDMMC_RESP1); + + return HAL_MMC_ERROR_NONE; +} + +/** + * @brief Reads extended CSD register to get the sectors number of the device + * @param hmmc: Pointer to MMC handle + * @param pBlockNbr: Pointer to the read buffer + * @param Timeout: Specify timeout value + * @retval HAL status + */ +HAL_StatusTypeDef MMC_ReadExtCSD(MMC_HandleTypeDef *hmmc, uint32_t *pBlockNbr, uint32_t Timeout) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t tickstart = HAL_GetTick(); + uint32_t count; + uint32_t i = 0; + uint32_t tmp_data; + + hmmc->ErrorCode = HAL_DMA_ERROR_NONE; + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0; + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = 0; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_1B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hmmc->Instance, BLOCKSIZE); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = 512; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_ENABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdSendEXTCSD(hmmc->Instance, 0); + if(errorstate != HAL_MMC_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= errorstate; + hmmc->State = HAL_MMC_STATE_READY; + return HAL_ERROR; + } + + /* Poll on SDMMC flags */ + while(!__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DATAEND)) + { + if(__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_RXFIFOHF)) + { + /* Read data from SDMMC Rx FIFO */ + for(count = 0U; count < 8U; count++) + { + tmp_data = SDMMC_ReadFIFO(hmmc->Instance); + if ((i == 48U) && (count == 5U)) + { + *pBlockNbr = tmp_data; + } + } + i += 8U; + } + + if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) + { + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + hmmc->ErrorCode |= HAL_MMC_ERROR_TIMEOUT; + hmmc->State= HAL_MMC_STATE_READY; + return HAL_TIMEOUT; + } + } + + /* While card is not ready for data and trial number for sending CMD13 is not exceeded */ + errorstate = SDMMC_CmdSendStatus(hmmc->Instance, (uint32_t)(((uint32_t)hmmc->MmcCard.RelCardAdd) << 16)); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->ErrorCode |= errorstate; + } + + /* Clear all the static flags */ + __HAL_MMC_CLEAR_FLAG(hmmc, SDMMC_STATIC_FLAGS); + + hmmc->State = HAL_MMC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Wrap up reading in non-blocking mode. + * @param hmmc: pointer to a MMC_HandleTypeDef structure that contains + * the configuration information. + * @retval None + */ +static void MMC_Read_IT(MMC_HandleTypeDef *hmmc) +{ + uint32_t count, data; + uint8_t* tmp; + + tmp = hmmc->pRxBuffPtr; + + /* Read data from SDMMC Rx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = SDMMC_ReadFIFO(hmmc->Instance); + *tmp = (uint8_t)(data & 0xFFU); + tmp++; + *tmp = (uint8_t)((data >> 8U) & 0xFFU); + tmp++; + *tmp = (uint8_t)((data >> 16U) & 0xFFU); + tmp++; + *tmp = (uint8_t)((data >> 24U) & 0xFFU); + tmp++; + } + + hmmc->pRxBuffPtr = tmp; +} + +/** + * @brief Wrap up writing in non-blocking mode. + * @param hmmc: pointer to a MMC_HandleTypeDef structure that contains + * the configuration information. + * @retval None + */ +static void MMC_Write_IT(MMC_HandleTypeDef *hmmc) +{ + uint32_t count, data; + uint8_t* tmp; + + tmp = hmmc->pTxBuffPtr; + + /* Write data to SDMMC Tx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = (uint32_t)(*tmp); + tmp++; + data |= ((uint32_t)(*tmp) << 8U); + tmp++; + data |= ((uint32_t)(*tmp) << 16U); + tmp++; + data |= ((uint32_t)(*tmp) << 24U); + tmp++; + (void)SDMMC_WriteFIFO(hmmc->Instance, &data); + } + + hmmc->pTxBuffPtr = tmp; +} + +/** + * @brief Read DMA Buffer 0 Transfer completed callbacks + * @param hmmc: MMC handle + * @retval None + */ +__weak void HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMCEx_Read_DMADoubleBuffer0CpltCallback can be implemented in the user file + */ +} + +/** + * @brief Read DMA Buffer 1 Transfer completed callbacks + * @param hmmc: MMC handle + * @retval None + */ +__weak void HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMCEx_Read_DMADoubleBuffer1CpltCallback can be implemented in the user file + */ +} + +/** + * @brief Write DMA Buffer 0 Transfer completed callbacks + * @param hmmc: MMC handle + * @retval None + */ +__weak void HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback can be implemented in the user file + */ +} + +/** + * @brief Write DMA Buffer 1 Transfer completed callbacks + * @param hmmc: MMC handle + * @retval None + */ +__weak void HAL_MMCEx_Write_DMADoubleBuffer1CpltCallback(MMC_HandleTypeDef *hmmc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmmc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_MMCEx_Write_DMADoubleBuffer0CpltCallback can be implemented in the user file + */ +} + + +/** + * @} + */ + +#endif /* HAL_MMC_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c new file mode 100644 index 0000000000..fea217478d --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c @@ -0,0 +1,316 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_mmc_ex.c + * @author MCD Application Team + * @brief MMC card Extended HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Secure Digital (MMC) peripheral: + * + Extended features functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The MMC Extension HAL driver can be used as follows: + (+) Configure Buffer0 and Buffer1 start address and Buffer size using HAL_MMCEx_ConfigDMAMultiBuffer() function. + + (+) Start Read and Write for multibuffer mode using HAL_MMCEx_ReadBlocksDMAMultiBuffer() and HAL_MMCEx_WriteBlocksDMAMultiBuffer() functions. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2018 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup MMCEx MMCEx + * @brief MMC Extended HAL module driver + * @{ + */ + +#ifdef HAL_MMC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup MMCEx_Exported_Functions + * @{ + */ + +/** @addtogroup MMCEx_Exported_Functions_Group1 + * @brief Multibuffer functions + * +@verbatim + ============================================================================== + ##### Multibuffer functions ##### + ============================================================================== + [..] + This section provides functions allowing to configure the multibuffer mode and start read and write + multibuffer mode for MMC HAL driver. + +@endverbatim + * @{ + */ + +/** + * @brief Configure DMA Dual Buffer mode. The Data transfer is managed by an Internal DMA. + * @param hmmc: MMC handle + * @param pDataBuffer0: Pointer to the buffer0 that will contain/receive the transfered data + * @param pDataBuffer1: Pointer to the buffer1 that will contain/receive the transfered data + * @param BufferSize: Size of Buffer0 in Blocks. Buffer0 and Buffer1 must have the same size. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMCEx_ConfigDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t * pDataBuffer0, uint32_t * pDataBuffer1, uint32_t BufferSize) +{ + if(hmmc->State == HAL_MMC_STATE_READY) + { + hmmc->Instance->IDMABASE0= (uint32_t) pDataBuffer0 ; + hmmc->Instance->IDMABASE1= (uint32_t) pDataBuffer1 ; + hmmc->Instance->IDMABSIZE= (uint32_t) BufferSize; + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Reads block(s) from a specified address in a card. The received Data will be stored in Buffer0 and Buffer1. + * Buffer0, Buffer1 and BufferSize need to be configured by function HAL_MMCEx_ConfigDMAMultiBuffer before call this function. + * @param hmmc: MMC handle + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Total number of blocks to read + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMCEx_ReadBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t DmaBase0_reg, DmaBase1_reg; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(hmmc->State == HAL_MMC_STATE_READY) + { + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + DmaBase0_reg = hmmc->Instance->IDMABASE0; + DmaBase1_reg = hmmc->Instance->IDMABASE1; + if ((hmmc->Instance->IDMABSIZE == 0U) || (DmaBase0_reg == 0U) || (DmaBase1_reg == 0U)) + { + hmmc->ErrorCode = HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0; + + hmmc->ErrorCode = HAL_MMC_ERROR_NONE; + hmmc->State = HAL_MMC_STATE_BUSY; + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + hmmc->Instance->DCTRL |= SDMMC_DCTRL_FIFORST; + + __SDMMC_CMDTRANS_ENABLE( hmmc->Instance); + + hmmc->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_DOUBLE_BUFF0; + + __HAL_MMC_ENABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND | SDMMC_FLAG_IDMATE | SDMMC_FLAG_IDMABTC)); + + /* Read Blocks in DMA mode */ + hmmc->Context = (MMC_CONTEXT_READ_MULTIPLE_BLOCK | MMC_CONTEXT_DMA); + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hmmc->Instance, add); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->State = HAL_MMC_STATE_READY; + hmmc->ErrorCode |= errorstate; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } + +} + +/** + * @brief Write block(s) to a specified address in a card. The transfered Data are stored in Buffer0 and Buffer1. + * Buffer0, Buffer1 and BufferSize need to be configured by function HAL_MMCEx_ConfigDMAMultiBuffer before call this function. + * @param hmmc: MMC handle + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Total number of blocks to read + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_MMCEx_WriteBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t DmaBase0_reg, DmaBase1_reg; + uint32_t add = BlockAdd; + + if(hmmc->State == HAL_MMC_STATE_READY) + { + if((BlockAdd + NumberOfBlocks) > (hmmc->MmcCard.LogBlockNbr)) + { + hmmc->ErrorCode |= HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + DmaBase0_reg = hmmc->Instance->IDMABASE0; + DmaBase1_reg = hmmc->Instance->IDMABASE1; + if ((hmmc->Instance->IDMABSIZE == 0U) || (DmaBase0_reg == 0U) || (DmaBase1_reg == 0U)) + { + hmmc->ErrorCode = HAL_MMC_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + /* Initialize data control register */ + hmmc->Instance->DCTRL = 0; + + hmmc->ErrorCode = HAL_MMC_ERROR_NONE; + + hmmc->State = HAL_MMC_STATE_BUSY; + + if ((hmmc->MmcCard.CardType) != MMC_HIGH_CAPACITY_CARD) + { + add *= 512U; + } + + /* Configure the MMC DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hmmc->Instance, &config); + + __SDMMC_CMDTRANS_ENABLE( hmmc->Instance); + + hmmc->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_DOUBLE_BUFF0; + + __HAL_MMC_ENABLE_IT(hmmc, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND | SDMMC_FLAG_IDMATE | SDMMC_FLAG_IDMABTC)); + + /* Write Blocks in DMA mode */ + hmmc->Context = (MMC_CONTEXT_WRITE_MULTIPLE_BLOCK | MMC_CONTEXT_DMA); + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hmmc->Instance, add); + if(errorstate != HAL_MMC_ERROR_NONE) + { + hmmc->State = HAL_MMC_STATE_READY; + hmmc->ErrorCode |= errorstate; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + + +/** + * @brief Change the DMA Buffer0 or Buffer1 address on the fly. + * @param hmmc: pointer to a MMC_HandleTypeDef structure. + * @param Buffer: the buffer to be changed, This parameter can be one of + * the following values: MMC_DMA_BUFFER0 or MMC_DMA_BUFFER1 + * @param pDataBuffer: The new address + * @note The BUFFER0 address can be changed only when the current transfer use + * BUFFER1 and the BUFFER1 address can be changed only when the current + * transfer use BUFFER0. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MMCEx_ChangeDMABuffer(MMC_HandleTypeDef *hmmc, HAL_MMCEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer) +{ + if(Buffer == MMC_DMA_BUFFER0) + { + /* change the buffer0 address */ + hmmc->Instance->IDMABASE0 = (uint32_t)pDataBuffer; + } + else + { + /* change the memory1 address */ + hmmc->Instance->IDMABASE1 = (uint32_t)pDataBuffer; + } + + return HAL_OK; +} + + +/** + * @} + */ + +#endif /* HAL_MMC_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c new file mode 100644 index 0000000000..28c6408185 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c @@ -0,0 +1,1860 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_nand.c + * @author MCD Application Team + * @brief NAND HAL module driver. + * This file provides a generic firmware to drive NAND memories mounted + * as external device. + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + This driver is a generic layered driver which contains a set of APIs used to + control NAND flash memories. It uses the FMC/FSMC layer functions to interface + with NAND devices. This driver is used as follows: + + (+) NAND flash memory configuration sequence using the function HAL_NAND_Init() + with control and timing parameters for both common and attribute spaces. + + (+) Read NAND flash memory maker and device IDs using the function + HAL_NAND_Read_ID(). The read information is stored in the NAND_ID_TypeDef + structure declared by the function caller. + + (+) Access NAND flash memory by read/write operations using the functions + HAL_NAND_Read_Page_8b()/HAL_NAND_Read_SpareArea_8b(), + HAL_NAND_Write_Page_8b()/HAL_NAND_Write_SpareArea_8b(), + HAL_NAND_Read_Page_16b()/HAL_NAND_Read_SpareArea_16b(), + HAL_NAND_Write_Page_16b()/HAL_NAND_Write_SpareArea_16b() + to read/write page(s)/spare area(s). These functions use specific device + information (Block, page size..) predefined by the user in the NAND_DeviceConfigTypeDef + structure. The read/write address information is contained by the Nand_Address_Typedef + structure passed as parameter. + + (+) Perform NAND flash Reset chip operation using the function HAL_NAND_Reset(). + + (+) Perform NAND flash erase block operation using the function HAL_NAND_Erase_Block(). + The erase block address information is contained in the Nand_Address_Typedef + structure passed as parameter. + + (+) Read the NAND flash status operation using the function HAL_NAND_Read_Status(). + + (+) You can also control the NAND device by calling the control APIs HAL_NAND_ECC_Enable()/ + HAL_NAND_ECC_Disable() to respectively enable/disable the ECC code correction + feature or the function HAL_NAND_GetECC() to get the ECC correction code. + + (+) You can monitor the NAND device HAL state by calling the function + HAL_NAND_GetState() + + [..] + (@) This driver is a set of generic APIs which handle standard NAND flash operations. + If a NAND flash device contains different operations and/or implementations, + it should be implemented separately. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + + +#ifdef HAL_NAND_MODULE_ENABLED + +/** @defgroup NAND NAND + * @brief NAND HAL module driver + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private Constants ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions ---------------------------------------------------------*/ + +/** @defgroup NAND_Exported_Functions NAND Exported Functions + * @{ + */ + +/** @defgroup NAND_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * + @verbatim + ============================================================================== + ##### NAND Initialization and de-initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to initialize/de-initialize + the NAND memory + +@endverbatim + * @{ + */ + +/** + * @brief Perform NAND memory Initialization sequence + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param ComSpace_Timing: pointer to Common space timing structure + * @param AttSpace_Timing: pointer to Attribute space timing structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Init(NAND_HandleTypeDef *hnand, FMC_NAND_PCC_TimingTypeDef *ComSpace_Timing, FMC_NAND_PCC_TimingTypeDef *AttSpace_Timing) +{ + /* Check the NAND handle state */ + if(hnand == NULL) + { + return HAL_ERROR; + } + + if(hnand->State == HAL_NAND_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hnand->Lock = HAL_UNLOCKED; + /* Initialize the low level hardware (MSP) */ + HAL_NAND_MspInit(hnand); + } + + /* Initialize NAND control Interface */ + FMC_NAND_Init(hnand->Instance, &(hnand->Init)); + + /* Initialize NAND common space timing Interface */ + FMC_NAND_CommonSpace_Timing_Init(hnand->Instance, ComSpace_Timing, hnand->Init.NandBank); + + /* Initialize NAND attribute space timing Interface */ + FMC_NAND_AttributeSpace_Timing_Init(hnand->Instance, AttSpace_Timing, hnand->Init.NandBank); + + /* Enable the NAND device */ + __FMC_NAND_ENABLE(hnand->Instance); + + /* Enable FMC IP */ + __FMC_ENABLE(); + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Perform NAND memory De-Initialization sequence + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand) +{ + /* Initialize the low level hardware (MSP) */ + HAL_NAND_MspDeInit(hnand); + + /* Configure the NAND registers with their reset values */ + FMC_NAND_DeInit(hnand->Instance, hnand->Init.NandBank); + + /* Reset the NAND controller state */ + hnand->State = HAL_NAND_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief NAND MSP Init + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval None + */ +__weak void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hnand); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_NAND_MspInit could be implemented in the user file + */ +} + +/** + * @brief NAND MSP DeInit + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval None + */ +__weak void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hnand); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_NAND_MspDeInit could be implemented in the user file + */ +} + + +/** + * @brief This function handles NAND device interrupt request. + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval HAL status +*/ +void HAL_NAND_IRQHandler(NAND_HandleTypeDef *hnand) +{ + /* Check NAND interrupt Rising edge flag */ + if(__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_RISING_EDGE)) + { + /* NAND interrupt callback*/ + HAL_NAND_ITCallback(hnand); + + /* Clear NAND interrupt Rising edge pending bit */ + __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_RISING_EDGE); + } + + /* Check NAND interrupt Level flag */ + if(__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_LEVEL)) + { + /* NAND interrupt callback*/ + HAL_NAND_ITCallback(hnand); + + /* Clear NAND interrupt Level pending bit */ + __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_LEVEL); + } + + /* Check NAND interrupt Falling edge flag */ + if(__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FALLING_EDGE)) + { + /* NAND interrupt callback*/ + HAL_NAND_ITCallback(hnand); + + /* Clear NAND interrupt Falling edge pending bit */ + __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_FALLING_EDGE); + } + + /* Check NAND interrupt FIFO empty flag */ + if(__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FEMPT)) + { + /* NAND interrupt callback*/ + HAL_NAND_ITCallback(hnand); + + /* Clear NAND interrupt FIFO empty pending bit */ + __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_FEMPT); + } + +} + +/** + * @brief NAND interrupt feature callback + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval None + */ +__weak void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hnand); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_NAND_ITCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup NAND_Exported_Functions_Group2 Input and Output functions + * @brief Input Output and memory control functions + * + @verbatim + ============================================================================== + ##### NAND Input and Output functions ##### + ============================================================================== + [..] + This section provides functions allowing to use and control the NAND + memory + +@endverbatim + * @{ + */ + +/** + * @brief Read the NAND memory electronic signature + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pNAND_ID: NAND ID structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Read_ID(NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID) +{ + __IO uint32_t data = 0; + __IO uint32_t data1 = 0; + uint32_t deviceAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* Send Read ID command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_READID; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + + /* Read the electronic signature from NAND flash */ + if (hnand->Init.MemoryDataWidth == FMC_NAND_MEM_BUS_WIDTH_8) + { + data = *(__IO uint32_t *)deviceAddress; + + /* Return the data read */ + pNAND_ID->Maker_Id = ADDR_1ST_CYCLE(data); + pNAND_ID->Device_Id = ADDR_2ND_CYCLE(data); + pNAND_ID->Third_Id = ADDR_3RD_CYCLE(data); + pNAND_ID->Fourth_Id = ADDR_4TH_CYCLE(data); + } + else + { + data = *(__IO uint32_t *)deviceAddress; + data1 = *((__IO uint32_t *)deviceAddress + 4); + + /* Return the data read */ + pNAND_ID->Maker_Id = ADDR_1ST_CYCLE(data); + pNAND_ID->Device_Id = ADDR_3RD_CYCLE(data); + pNAND_ID->Third_Id = ADDR_1ST_CYCLE(data1); + pNAND_ID->Fourth_Id = ADDR_3RD_CYCLE(data1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief NAND memory reset + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Reset(NAND_HandleTypeDef *hnand) +{ + uint32_t deviceAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* Send NAND reset command */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = 0xFF; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; + +} + +/** + * @brief Configure the device: Enter the physical parameters of the device + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pDeviceConfig : pointer to NAND_DeviceConfigTypeDef structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_ConfigDevice(NAND_HandleTypeDef *hnand, NAND_DeviceConfigTypeDef *pDeviceConfig) +{ + hnand->Config.PageSize = pDeviceConfig->PageSize; + hnand->Config.SpareAreaSize = pDeviceConfig->SpareAreaSize; + hnand->Config.BlockSize = pDeviceConfig->BlockSize; + hnand->Config.BlockNbr = pDeviceConfig->BlockNbr; + hnand->Config.PlaneSize = pDeviceConfig->PlaneSize; + hnand->Config.PlaneNbr = pDeviceConfig->PlaneNbr; + hnand->Config.ExtraCommandEnable = pDeviceConfig->ExtraCommandEnable; + + return HAL_OK; +} + + +/** + * @brief Read Page(s) from NAND memory block (8-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer : pointer to destination read buffer + * @param NumPageToRead : number of pages to read from block + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Read_Page_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumPageToRead) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0U; + uint32_t deviceAddress = 0, size = 0, numPagesRead = 0, nandAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* NAND raw address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Page(s) read loop */ + while((NumPageToRead != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.PageSize) + ((hnand->Config.PageSize) * numPagesRead); + + /* Send read page command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_TRUE1; + __DSB(); + + + if(hnand->Config.ExtraCommandEnable == ENABLE) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Go back to read mode */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = ((uint8_t)0x00U); + __DSB(); + } + + /* Get Data into Buffer */ + for(; index < size; index++) + { + *(uint8_t *)pBuffer++ = *(uint8_t *)deviceAddress; + } + + /* Increment read pages number */ + numPagesRead++; + + /* Decrement pages to read */ + NumPageToRead--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; + +} + +/** + * @brief Read Page(s) from NAND memory block (16-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer : pointer to destination read buffer. pBuffer should be 16bits aligned + * @param NumPageToRead : number of pages to read from block + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Read_Page_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumPageToRead) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0; + uint32_t deviceAddress = 0, size = 0, numPagesRead = 0, nandAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* NAND raw address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Page(s) read loop */ + while((NumPageToRead != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.PageSize) + ((hnand->Config.PageSize) * numPagesRead); + + /* Send read page command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_TRUE1; + __DSB(); + + if(hnand->Config.ExtraCommandEnable == ENABLE) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Go back to read mode */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = ((uint8_t)0x00U); + __DSB(); + } + + /* Get Data into Buffer */ + for(; index < size; index++) + { + *(uint16_t *)pBuffer++ = *(uint16_t *)deviceAddress; + } + + /* Increment read pages number */ + numPagesRead++; + + /* Decrement pages to read */ + NumPageToRead--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief Write Page(s) to NAND memory block (8-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer : pointer to source buffer to write + * @param NumPageToWrite : number of pages to write to block + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Write_Page_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumPageToWrite) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0; + uint32_t deviceAddress = 0, size = 0, numPagesWritten = 0, nandAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* NAND raw address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Page(s) write loop */ + while((NumPageToWrite != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.PageSize) + ((hnand->Config.PageSize) * numPagesWritten); + + /* Send write page command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE0; + __DSB(); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + /* Write data to memory */ + for(; index < size; index++) + { + *(__IO uint8_t *)deviceAddress = *(uint8_t *)pBuffer++; + __DSB(); + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE_TRUE1; + __DSB(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Increment written pages number */ + numPagesWritten++; + + /* Decrement pages to write */ + NumPageToWrite--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief Write Page(s) to NAND memory block (16-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer : pointer to source buffer to write. pBuffer should be 16bits aligned + * @param NumPageToWrite : number of pages to write to block + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Write_Page_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumPageToWrite) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0; + uint32_t deviceAddress = 0, size = 0, numPagesWritten = 0, nandAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* NAND raw address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Page(s) write loop */ + while((NumPageToWrite != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.PageSize) + ((hnand->Config.PageSize) * numPagesWritten); + + /* Send write page command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE0; + __DSB(); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + /* Write data to memory */ + for(; index < size; index++) + { + *(__IO uint16_t *)deviceAddress = *(uint16_t *)pBuffer++; + __DSB(); + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE_TRUE1; + __DSB(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Increment written pages number */ + numPagesWritten++; + + /* Decrement pages to write */ + NumPageToWrite--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief Read Spare area(s) from NAND memory (8-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer: pointer to source buffer to write + * @param NumSpareAreaToRead: Number of spare area to read + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_NAND_Read_SpareArea_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumSpareAreaToRead) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0U; + uint32_t deviceAddress = 0, size = 0, numSpareAreaRead = 0, nandAddress = 0, columnAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* NAND raw address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Column in page address */ + columnAddress = COLUMN_ADDRESS(hnand); + + /* Spare area(s) read loop */ + while((NumSpareAreaToRead != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.SpareAreaSize) + ((hnand->Config.SpareAreaSize) * numSpareAreaRead); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + /* Send read spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_C; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + /* Send read spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_TRUE1; + __DSB(); + + if(hnand->Config.ExtraCommandEnable == ENABLE) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Go back to read mode */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = ((uint8_t)0x00U); + __DSB(); + } + + /* Get Data into Buffer */ + for(; index < size; index++) + { + *(uint8_t *)pBuffer++ = *(uint8_t *)deviceAddress; + } + + /* Increment read spare areas number */ + numSpareAreaRead++; + + /* Decrement spare areas to read */ + NumSpareAreaToRead--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief Read Spare area(s) from NAND memory (16-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer: pointer to source buffer to write. pBuffer should be 16bits aligned. + * @param NumSpareAreaToRead: Number of spare area to read + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_NAND_Read_SpareArea_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumSpareAreaToRead) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0U; + uint32_t deviceAddress = 0, size = 0, numSpareAreaRead = 0, nandAddress = 0, columnAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* NAND raw address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Column in page address */ + columnAddress = (uint32_t)(COLUMN_ADDRESS(hnand) * 2); + + /* Spare area(s) read loop */ + while((NumSpareAreaToRead != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.SpareAreaSize) + ((hnand->Config.SpareAreaSize) * numSpareAreaRead); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + /* Send read spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_C; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + /* Send read spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_TRUE1; + __DSB(); + + if(hnand->Config.ExtraCommandEnable == ENABLE) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Go back to read mode */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = ((uint8_t)0x00U); + __DSB(); + } + + /* Get Data into Buffer */ + for(; index < size; index++) + { + *(uint16_t *)pBuffer++ = *(uint16_t *)deviceAddress; + } + + /* Increment read spare areas number */ + numSpareAreaRead++; + + /* Decrement spare areas to read */ + NumSpareAreaToRead--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief Write Spare area(s) to NAND memory (8-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer : pointer to source buffer to write + * @param NumSpareAreaTowrite : number of spare areas to write to block + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Write_SpareArea_8b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumSpareAreaTowrite) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0; + uint32_t deviceAddress = 0, size = 0, numSpareAreaWritten = 0, nandAddress = 0, columnAddress =0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the FMC_NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* Page address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Column in page address */ + columnAddress = COLUMN_ADDRESS(hnand); + + /* Spare area(s) write loop */ + while((NumSpareAreaTowrite != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.SpareAreaSize) + ((hnand->Config.SpareAreaSize) * numSpareAreaWritten); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + /* Send write Spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_C; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE0; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + /* Send write Spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE0; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + /* Write data to memory */ + for(; index < size; index++) + { + *(__IO uint8_t *)deviceAddress = *(uint8_t *)pBuffer++; + __DSB(); + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE_TRUE1; + __DSB(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Increment written spare areas number */ + numSpareAreaWritten++; + + /* Decrement spare areas to write */ + NumSpareAreaTowrite--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief Write Spare area(s) to NAND memory (16-bits addressing) + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @param pBuffer : pointer to source buffer to write. pBuffer should be 16bits aligned. + * @param NumSpareAreaTowrite : number of spare areas to write to block + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Write_SpareArea_16b(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumSpareAreaTowrite) +{ + __IO uint32_t index = 0; + uint32_t tickstart = 0; + uint32_t deviceAddress = 0, size = 0, numSpareAreaWritten = 0, nandAddress = 0, columnAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + deviceAddress = NAND_DEVICE; + + /* Update the FMC_NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* NAND raw address calculation */ + nandAddress = ARRAY_ADDRESS(pAddress, hnand); + + /* Column in page address */ + columnAddress = (uint32_t)(COLUMN_ADDRESS(hnand) * 2); + + /* Spare area(s) write loop */ + while((NumSpareAreaTowrite != 0) && (nandAddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) + { + /* update the buffer size */ + size = (hnand->Config.SpareAreaSize) + ((hnand->Config.SpareAreaSize) * numSpareAreaWritten); + + /* Cards with page size <= 512 bytes */ + if((hnand->Config.PageSize) <= 512) + { + /* Send write Spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_C; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE0; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = 0x00; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + else /* (hnand->Config.PageSize) > 512 */ + { + /* Send write Spare area command sequence */ + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_AREA_A; + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE0; + __DSB(); + + if (((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) <= 65535) + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + } + else /* ((hnand->Config.BlockSize)*(hnand->Config.BlockNbr)) > 65535 */ + { + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_1ST_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = COLUMN_2ND_CYCLE(columnAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(nandAddress); + __DSB(); + *(__IO uint8_t *)((uint32_t)(deviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(nandAddress); + __DSB(); + } + } + + /* Write data to memory */ + for(; index < size; index++) + { + *(__IO uint16_t *)deviceAddress = *(uint16_t *)pBuffer++; + __DSB(); + } + + *(__IO uint8_t *)((uint32_t)(deviceAddress | CMD_AREA)) = NAND_CMD_WRITE_TRUE1; + __DSB(); + + /* Read status until NAND is ready */ + while(HAL_NAND_Read_Status(hnand) != NAND_READY) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + if((HAL_GetTick() - tickstart ) > NAND_WRITE_TIMEOUT) + { + return HAL_TIMEOUT; + } + } + + /* Increment written spare areas number */ + numSpareAreaWritten++; + + /* Decrement spare areas to write */ + NumSpareAreaTowrite--; + + /* Increment the NAND address */ + nandAddress = (uint32_t)(nandAddress + 1); + } + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief NAND memory Block erase + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress : pointer to NAND address structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_Erase_Block(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress) +{ + uint32_t DeviceAddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnand); + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Identify the device address */ + DeviceAddress = NAND_DEVICE; + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* Send Erase block command sequence */ + *(__IO uint8_t *)((uint32_t)(DeviceAddress | CMD_AREA)) = NAND_CMD_ERASE0; + __DSB(); + *(__IO uint8_t *)((uint32_t)(DeviceAddress | ADDR_AREA)) = ADDR_1ST_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); + __DSB(); + *(__IO uint8_t *)((uint32_t)(DeviceAddress | ADDR_AREA)) = ADDR_2ND_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); + __DSB(); + *(__IO uint8_t *)((uint32_t)(DeviceAddress | ADDR_AREA)) = ADDR_3RD_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); + __DSB(); + + *(__IO uint8_t *)((uint32_t)(DeviceAddress | CMD_AREA)) = NAND_CMD_ERASE1; + __DSB(); + + /* Update the NAND controller state */ + hnand->State = HAL_NAND_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnand); + + return HAL_OK; +} + +/** + * @brief Increment the NAND memory address + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param pAddress: pointer to NAND address structure + * @retval The new status of the increment address operation. It can be: + * - NAND_VALID_ADDRESS: When the new address is valid address + * - NAND_INVALID_ADDRESS: When the new address is invalid address + */ +uint32_t HAL_NAND_Address_Inc(NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress) +{ + uint32_t status = NAND_VALID_ADDRESS; + + /* Increment page address */ + pAddress->Page++; + + /* Check NAND address is valid */ + if(pAddress->Page == hnand->Config.BlockSize) + { + pAddress->Page = 0; + pAddress->Block++; + + if(pAddress->Block == hnand->Config.PlaneSize) + { + pAddress->Block = 0; + pAddress->Plane++; + + if(pAddress->Plane == (hnand->Config.PlaneSize/ hnand->Config.BlockNbr)) + { + status = NAND_INVALID_ADDRESS; + } + } + } + + return (status); +} +/** + * @} + */ + +/** @defgroup NAND_Exported_Functions_Group3 Peripheral Control functions + * @brief management functions + * +@verbatim + ============================================================================== + ##### NAND Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control dynamically + the NAND interface. + +@endverbatim + * @{ + */ + + +/** + * @brief Enables dynamically NAND ECC feature. + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_ECC_Enable(NAND_HandleTypeDef *hnand) +{ + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the NAND state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* Enable ECC feature */ + FMC_NAND_ECC_Enable(hnand->Instance, hnand->Init.NandBank); + + /* Update the NAND state */ + hnand->State = HAL_NAND_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Disables dynamically FMC_NAND ECC feature. + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_ECC_Disable(NAND_HandleTypeDef *hnand) +{ + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the NAND state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* Disable ECC feature */ + FMC_NAND_ECC_Disable(hnand->Instance, hnand->Init.NandBank); + + /* Update the NAND state */ + hnand->State = HAL_NAND_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Disables dynamically NAND ECC feature. + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @param ECCval: pointer to ECC value + * @param Timeout: maximum timeout to wait + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NAND_GetECC(NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the NAND controller state */ + if(hnand->State == HAL_NAND_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the NAND state */ + hnand->State = HAL_NAND_STATE_BUSY; + + /* Get NAND ECC value */ + status = FMC_NAND_GetECC(hnand->Instance, ECCval, hnand->Init.NandBank, Timeout); + + /* Update the NAND state */ + hnand->State = HAL_NAND_STATE_READY; + + return status; +} + +/** + * @} + */ + + +/** @defgroup NAND_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + ============================================================================== + ##### NAND State functions ##### + ============================================================================== + [..] + This subsection permits to get in run-time the status of the NAND controller + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief return the NAND state + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval HAL state + */ +HAL_NAND_StateTypeDef HAL_NAND_GetState(NAND_HandleTypeDef *hnand) +{ + return hnand->State; +} + +/** + * @brief NAND memory read status + * @param hnand: pointer to a NAND_HandleTypeDef structure that contains + * the configuration information for NAND module. + * @retval NAND status + */ +uint32_t HAL_NAND_Read_Status(NAND_HandleTypeDef *hnand) +{ + uint32_t data = 0; + uint32_t DeviceAddress = 0; + + /* Identify the device address */ + DeviceAddress = NAND_DEVICE; + + /* Send Read status operation command */ + *(__IO uint8_t *)((uint32_t)(DeviceAddress | CMD_AREA)) = NAND_CMD_STATUS; + + /* Read status register data */ + data = *(__IO uint8_t *)DeviceAddress; + + /* Return the status */ + if((data & NAND_ERROR) == NAND_ERROR) + { + return NAND_ERROR; + } + else if((data & NAND_READY) == NAND_READY) + { + return NAND_READY; + } + + return NAND_BUSY; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_NAND_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c new file mode 100644 index 0000000000..4a80fe2bb3 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c @@ -0,0 +1,1045 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_nor.c + * @author MCD Application Team + * @brief NOR HAL module driver. + * This file provides a generic firmware to drive NOR memories mounted + * as external device. + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + This driver is a generic layered driver which contains a set of APIs used to + control NOR flash memories. It uses the FMC layer functions to interface + with NOR devices. This driver is used as follows: + + (+) NOR flash memory configuration sequence using the function HAL_NOR_Init() + with control and timing parameters for both normal and extended mode. + + (+) Read NOR flash memory manufacturer code and device IDs using the function + HAL_NOR_Read_ID(). The read information is stored in the NOR_ID_TypeDef + structure declared by the function caller. + + (+) Access NOR flash memory by read/write data unit operations using the functions + HAL_NOR_Read(), HAL_NOR_Program(). + + (+) Perform NOR flash erase block/chip operations using the functions + HAL_NOR_Erase_Block() and HAL_NOR_Erase_Chip(). + + (+) Read the NOR flash CFI (common flash interface) IDs using the function + HAL_NOR_Read_CFI(). The read information is stored in the NOR_CFI_TypeDef + structure declared by the function caller. + + (+) You can also control the NOR device by calling the control APIs HAL_NOR_WriteOperation_Enable()/ + HAL_NOR_WriteOperation_Disable() to respectively enable/disable the NOR write operation + + (+) You can monitor the NOR device HAL state by calling the function + HAL_NOR_GetState() + [..] + (@) This driver is a set of generic APIs which handle standard NOR flash operations. + If a NOR flash device contains different operations and/or implementations, + it should be implemented separately. + + *** NOR HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in NOR HAL driver. + + (+) NOR_WRITE : NOR memory write data to specified address + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup NOR NOR + * @brief NOR driver modules + * @{ + */ +#ifdef HAL_NOR_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +/** @defgroup NOR_Private_Defines NOR Private Defines + * @{ + */ + +/* Constants to define address to set to write a command */ +#define NOR_CMD_ADDRESS_FIRST (uint16_t)0x0555 +#define NOR_CMD_ADDRESS_FIRST_CFI (uint16_t)0x0055 +#define NOR_CMD_ADDRESS_SECOND (uint16_t)0x02AA +#define NOR_CMD_ADDRESS_THIRD (uint16_t)0x0555 +#define NOR_CMD_ADDRESS_FOURTH (uint16_t)0x0555 +#define NOR_CMD_ADDRESS_FIFTH (uint16_t)0x02AA +#define NOR_CMD_ADDRESS_SIXTH (uint16_t)0x0555 + +/* Constants to define data to program a command */ +#define NOR_CMD_DATA_READ_RESET (uint16_t)0x00F0 +#define NOR_CMD_DATA_FIRST (uint16_t)0x00AA +#define NOR_CMD_DATA_SECOND (uint16_t)0x0055 +#define NOR_CMD_DATA_AUTO_SELECT (uint16_t)0x0090 +#define NOR_CMD_DATA_PROGRAM (uint16_t)0x00A0 +#define NOR_CMD_DATA_CHIP_BLOCK_ERASE_THIRD (uint16_t)0x0080 +#define NOR_CMD_DATA_CHIP_BLOCK_ERASE_FOURTH (uint16_t)0x00AA +#define NOR_CMD_DATA_CHIP_BLOCK_ERASE_FIFTH (uint16_t)0x0055 +#define NOR_CMD_DATA_CHIP_ERASE (uint16_t)0x0010 +#define NOR_CMD_DATA_CFI (uint16_t)0x0098 + +#define NOR_CMD_DATA_BUFFER_AND_PROG (uint8_t)0x25 +#define NOR_CMD_DATA_BUFFER_AND_PROG_CONFIRM (uint8_t)0x29 +#define NOR_CMD_DATA_BLOCK_ERASE (uint8_t)0x30 + +/* Mask on NOR STATUS REGISTER */ +#define NOR_MASK_STATUS_DQ5 (uint16_t)0x0020 +#define NOR_MASK_STATUS_DQ6 (uint16_t)0x0040 + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/** @defgroup NOR_Private_Variables NOR Private Variables + * @{ + */ + +static uint32_t uwNORMemoryDataWidth = NOR_MEMORY_8B; + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup NOR_Exported_Functions NOR Exported Functions + * @{ + */ + +/** @defgroup NOR_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * + @verbatim + ============================================================================== + ##### NOR Initialization and de_initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to initialize/de-initialize + the NOR memory + +@endverbatim + * @{ + */ + +/** + * @brief Perform the NOR memory Initialization sequence + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param Timing: pointer to NOR control timing structure + * @param ExtTiming: pointer to NOR extended mode timing structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_Init(NOR_HandleTypeDef *hnor, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming) +{ + /* Check the NOR handle parameter */ + if(hnor == NULL) + { + return HAL_ERROR; + } + + if(hnor->State == HAL_NOR_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hnor->Lock = HAL_UNLOCKED; + /* Initialize the low level hardware (MSP) */ + HAL_NOR_MspInit(hnor); + } + + /* Initialize NOR control Interface */ + FMC_NORSRAM_Init(hnor->Instance, &(hnor->Init)); + + /* Initialize NOR timing Interface */ + FMC_NORSRAM_Timing_Init(hnor->Instance, Timing, hnor->Init.NSBank); + + /* Initialize NOR extended mode timing Interface */ + FMC_NORSRAM_Extended_Timing_Init(hnor->Extended, ExtTiming, hnor->Init.NSBank, hnor->Init.ExtendedMode); + + /* Enable the NORSRAM device */ + __FMC_NORSRAM_ENABLE(hnor->Instance, hnor->Init.NSBank); + + /* Initialize NOR Memory Data Width*/ + if (hnor->Init.MemoryDataWidth == FMC_NORSRAM_MEM_BUS_WIDTH_8) + { + uwNORMemoryDataWidth = NOR_MEMORY_8B; + } + else + { + uwNORMemoryDataWidth = NOR_MEMORY_16B; + } + + /* Enable FMC IP */ + __FMC_ENABLE(); + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Perform NOR memory De-Initialization sequence + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_DeInit(NOR_HandleTypeDef *hnor) +{ + /* De-Initialize the low level hardware (MSP) */ + HAL_NOR_MspDeInit(hnor); + + /* Configure the NOR registers with their reset values */ + FMC_NORSRAM_DeInit(hnor->Instance, hnor->Extended, hnor->Init.NSBank); + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief NOR MSP Init + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @retval None + */ +__weak void HAL_NOR_MspInit(NOR_HandleTypeDef *hnor) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hnor); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_NOR_MspInit could be implemented in the user file + */ +} + +/** + * @brief NOR MSP DeInit + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @retval None + */ +__weak void HAL_NOR_MspDeInit(NOR_HandleTypeDef *hnor) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hnor); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_NOR_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief NOR MSP Wait for Ready/Busy signal + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param Timeout: Maximum timeout value + * @retval None + */ +__weak void HAL_NOR_MspWait(NOR_HandleTypeDef *hnor, uint32_t Timeout) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hnor); + UNUSED(Timeout); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_NOR_MspWait could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup NOR_Exported_Functions_Group2 Input and Output functions + * @brief Input Output and memory control functions + * + @verbatim + ============================================================================== + ##### NOR Input and Output functions ##### + ============================================================================== + [..] + This section provides functions allowing to use and control the NOR memory + +@endverbatim + * @{ + */ + +/** + * @brief Read NOR flash IDs + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param pNOR_ID : pointer to NOR ID structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_Read_ID(NOR_HandleTypeDef *hnor, NOR_IDTypeDef *pNOR_ID) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Send read ID command */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_THIRD), NOR_CMD_DATA_AUTO_SELECT); + + /* Read the NOR IDs */ + pNOR_ID->Manufacturer_Code = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, MC_ADDRESS); + pNOR_ID->Device_Code1 = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, DEVICE_CODE1_ADDR); + pNOR_ID->Device_Code2 = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, DEVICE_CODE2_ADDR); + pNOR_ID->Device_Code3 = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, DEVICE_CODE3_ADDR); + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief Returns the NOR memory to Read mode. + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_ReturnToReadMode(NOR_HandleTypeDef *hnor) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + NOR_WRITE(deviceaddress, NOR_CMD_DATA_READ_RESET); + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief Read data from NOR memory + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param pAddress: pointer to Device address + * @param pData : pointer to read data + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_Read(NOR_HandleTypeDef *hnor, uint32_t *pAddress, uint16_t *pData) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Send read data command */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_THIRD), NOR_CMD_DATA_READ_RESET); + + /* Read the data */ + *pData = *(__IO uint32_t *)(uint32_t)pAddress; + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief Program data to NOR memory + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param pAddress: Device address + * @param pData : pointer to the data to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_Program(NOR_HandleTypeDef *hnor, uint32_t *pAddress, uint16_t *pData) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Send program data command */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_THIRD), NOR_CMD_DATA_PROGRAM); + + /* Write the data */ + NOR_WRITE(pAddress, *pData); + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief Reads a half-word buffer from the NOR memory. + * @param hnor: pointer to the NOR handle + * @param uwAddress: NOR memory internal address to read from. + * @param pData: pointer to the buffer that receives the data read from the + * NOR memory. + * @param uwBufferSize : number of Half word to read. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_ReadBuffer(NOR_HandleTypeDef *hnor, uint32_t uwAddress, uint16_t *pData, uint32_t uwBufferSize) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Send read data command */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_THIRD), NOR_CMD_DATA_READ_RESET); + + /* Read buffer */ + while( uwBufferSize > 0) + { + *pData++ = *(__IO uint16_t *)uwAddress; + uwAddress += 2; + uwBufferSize--; + } + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief Writes a half-word buffer to the NOR memory. This function must be used + only with S29GL128P NOR memory. + * @param hnor: pointer to the NOR handle + * @param uwAddress: NOR memory internal start write address + * @param pData: pointer to source data buffer. + * @param uwBufferSize: Size of the buffer to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_ProgramBuffer(NOR_HandleTypeDef *hnor, uint32_t uwAddress, uint16_t *pData, uint32_t uwBufferSize) +{ + uint16_t * p_currentaddress = (uint16_t *)NULL; + uint16_t * p_endaddress = (uint16_t *)NULL; + uint32_t lastloadedaddress = 0, deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Initialize variables */ + p_currentaddress = (uint16_t*)((uint32_t)(uwAddress)); + p_endaddress = p_currentaddress + (uwBufferSize-1); + lastloadedaddress = (uint32_t)(uwAddress); + + /* Issue unlock command sequence */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND); + + /* Write Buffer Load Command */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, uwAddress), NOR_CMD_DATA_BUFFER_AND_PROG); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, uwAddress), (uwBufferSize - 1)); + + /* Load Data into NOR Buffer */ + while(p_currentaddress <= p_endaddress) + { + /* Store last loaded address & data value (for polling) */ + lastloadedaddress = (uint32_t)p_currentaddress; + + NOR_WRITE(p_currentaddress, *pData++); + + p_currentaddress ++; + } + + NOR_WRITE((uint32_t)(lastloadedaddress), NOR_CMD_DATA_BUFFER_AND_PROG_CONFIRM); + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; + +} + +/** + * @brief Erase the specified block of the NOR memory + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param BlockAddress : Block to erase address + * @param Address: Device address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_Erase_Block(NOR_HandleTypeDef *hnor, uint32_t BlockAddress, uint32_t Address) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Send block erase command sequence */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_THIRD), NOR_CMD_DATA_CHIP_BLOCK_ERASE_THIRD); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FOURTH), NOR_CMD_DATA_CHIP_BLOCK_ERASE_FOURTH); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIFTH), NOR_CMD_DATA_CHIP_BLOCK_ERASE_FIFTH); + NOR_WRITE((uint32_t)(BlockAddress + Address), NOR_CMD_DATA_BLOCK_ERASE); + + /* Check the NOR memory status and update the controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; + +} + +/** + * @brief Erase the entire NOR chip. + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param Address : Device address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_Erase_Chip(NOR_HandleTypeDef *hnor, uint32_t Address) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Send NOR chip erase command sequence */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_THIRD), NOR_CMD_DATA_CHIP_BLOCK_ERASE_THIRD); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FOURTH), NOR_CMD_DATA_CHIP_BLOCK_ERASE_FOURTH); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIFTH), NOR_CMD_DATA_CHIP_BLOCK_ERASE_FIFTH); + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SIXTH), NOR_CMD_DATA_CHIP_ERASE); + + /* Check the NOR memory status and update the controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief Read NOR flash CFI IDs + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param pNOR_CFI : pointer to NOR CFI IDs structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_Read_CFI(NOR_HandleTypeDef *hnor, NOR_CFITypeDef *pNOR_CFI) +{ + uint32_t deviceaddress = 0; + + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Check the NOR controller state */ + if(hnor->State == HAL_NOR_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Select the NOR device address */ + if (hnor->Init.NSBank == FMC_NORSRAM_BANK1) + { + deviceaddress = NOR_MEMORY_ADRESS1; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK2) + { + deviceaddress = NOR_MEMORY_ADRESS2; + } + else if (hnor->Init.NSBank == FMC_NORSRAM_BANK3) + { + deviceaddress = NOR_MEMORY_ADRESS3; + } + else /* FMC_NORSRAM_BANK4 */ + { + deviceaddress = NOR_MEMORY_ADRESS4; + } + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Send read CFI query command */ + NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST_CFI), NOR_CMD_DATA_CFI); + + /* read the NOR CFI information */ + pNOR_CFI->CFI_1 = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, CFI1_ADDRESS); + pNOR_CFI->CFI_2 = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, CFI2_ADDRESS); + pNOR_CFI->CFI_3 = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, CFI3_ADDRESS); + pNOR_CFI->CFI_4 = *(__IO uint16_t *) NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, CFI4_ADDRESS); + + /* Check the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup NOR_Exported_Functions_Group3 NOR Control functions + * @brief management functions + * +@verbatim + ============================================================================== + ##### NOR Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control dynamically + the NOR interface. + +@endverbatim + * @{ + */ + +/** + * @brief Enables dynamically NOR write operation. + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_WriteOperation_Enable(NOR_HandleTypeDef *hnor) +{ + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Enable write operation */ + FMC_NORSRAM_WriteOperation_Enable(hnor->Instance, hnor->Init.NSBank); + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @brief Disables dynamically NOR write operation. + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_NOR_WriteOperation_Disable(NOR_HandleTypeDef *hnor) +{ + /* Process Locked */ + __HAL_LOCK(hnor); + + /* Update the SRAM controller state */ + hnor->State = HAL_NOR_STATE_BUSY; + + /* Disable write operation */ + FMC_NORSRAM_WriteOperation_Disable(hnor->Instance, hnor->Init.NSBank); + + /* Update the NOR controller state */ + hnor->State = HAL_NOR_STATE_PROTECTED; + + /* Process unlocked */ + __HAL_UNLOCK(hnor); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup NOR_Exported_Functions_Group4 NOR State functions + * @brief Peripheral State functions + * +@verbatim + ============================================================================== + ##### NOR State functions ##### + ============================================================================== + [..] + This subsection permits to get in run-time the status of the NOR controller + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief return the NOR controller state + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @retval NOR controller state + */ +HAL_NOR_StateTypeDef HAL_NOR_GetState(NOR_HandleTypeDef *hnor) +{ + return hnor->State; +} + +/** + * @brief Returns the NOR operation status. + * @param hnor: pointer to a NOR_HandleTypeDef structure that contains + * the configuration information for NOR module. + * @param Address: Device address + * @param Timeout: NOR programming Timeout + * @retval NOR_Status: The returned value can be: HAL_NOR_STATUS_SUCCESS, HAL_NOR_STATUS_ERROR + * or HAL_NOR_STATUS_TIMEOUT + */ +HAL_NOR_StatusTypeDef HAL_NOR_GetStatus(NOR_HandleTypeDef *hnor, uint32_t Address, uint32_t Timeout) +{ + HAL_NOR_StatusTypeDef status = HAL_NOR_STATUS_ONGOING; + uint16_t tmpSR1 = 0, tmpSR2 = 0; + uint32_t tickstart = 0; + + /* Poll on NOR memory Ready/Busy signal ------------------------------------*/ + HAL_NOR_MspWait(hnor, Timeout); + + /* Get the NOR memory operation status -------------------------------------*/ + + /* Get tick */ + tickstart = HAL_GetTick(); + while((status != HAL_NOR_STATUS_SUCCESS ) && (status != HAL_NOR_STATUS_TIMEOUT)) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + status = HAL_NOR_STATUS_TIMEOUT; + } + } + + /* Read NOR status register (DQ6 and DQ5) */ + tmpSR1 = *(__IO uint16_t *)Address; + tmpSR2 = *(__IO uint16_t *)Address; + + /* If DQ6 did not toggle between the two reads then return HAL_NOR_STATUS_SUCCESS */ + if((tmpSR1 & NOR_MASK_STATUS_DQ6) == (tmpSR2 & NOR_MASK_STATUS_DQ6)) + { + return HAL_NOR_STATUS_SUCCESS ; + } + + if((tmpSR1 & NOR_MASK_STATUS_DQ5) == NOR_MASK_STATUS_DQ5) + { + status = HAL_NOR_STATUS_ONGOING; + } + + tmpSR1 = *(__IO uint16_t *)Address; + tmpSR2 = *(__IO uint16_t *)Address; + + /* If DQ6 did not toggle between the two reads then return HAL_NOR_STATUS_SUCCESS */ + if((tmpSR1 & NOR_MASK_STATUS_DQ6) == (tmpSR2 & NOR_MASK_STATUS_DQ6)) + { + return HAL_NOR_STATUS_SUCCESS; + } + if((tmpSR1 & NOR_MASK_STATUS_DQ5) == NOR_MASK_STATUS_DQ5) + { + return HAL_NOR_STATUS_ERROR; + } + } + + /* Return the operation status */ + return status; +} + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_NOR_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp.c new file mode 100644 index 0000000000..c9f8261d20 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp.c @@ -0,0 +1,990 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_opamp.c + * @author MCD Application Team + * @brief OPAMP HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the operational amplifier(s) peripheral: + * + OPAMP configuration + * + OPAMP calibration + * Thanks to + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim +================================================================================ + ##### OPAMP Peripheral Features ##### +================================================================================ + + [..] The device integrates 2 operational amplifiers OPAMP1 & OPAMP2 + + (#) The OPAMP(s) provides several exclusive running modes. + (++) Standalone mode + (++) Programmable Gain Amplifier (PGA) modes + (++) Follower mode + + (#) Each OPAMP(s) can be configured in normal and high speed mode. + + (#) The OPAMP(s) provide(s) calibration capabilities. + (++) Calibration aims at correcting some offset for running mode. + (++) The OPAMP uses either factory calibration settings OR user defined + calibration (trimming) settings (i.e. trimming mode). + (++) The user defined settings can be figured out using self calibration + handled by HAL_OPAMP_SelfCalibrate, HAL_OPAMPEx_SelfCalibrateAll + (++) HAL_OPAMP_SelfCalibrate: + (+++) Runs automatically the calibration in 2 steps. + (90% of VDDA for NMOS transistors, 10% of VDDA for PMOS transistors). + (As OPAMP is Rail-to-rail input/output, these 2 steps calibration is + appropriate and enough in most cases). + (+++) Runs automatically the calibration. + (+++) Enables the user trimming mode + (+++) Updates the init structure with trimming values with fresh calibration + results. + The user may store the calibration results for larger + (ex monitoring the trimming as a function of temperature + for instance) + (+++) HAL_OPAMPEx_SelfCalibrateAll + runs calibration of all OPAMPs in parallel to save search time. + + (#) Running mode: Standalone mode + (++) Gain is set externally (gain depends on external loads). + (++) Follower mode also possible externally by connecting the inverting input to + the output. + + (#) Running mode: Follower mode + (++) No Inverting Input is connected. + + (#) Running mode: Programmable Gain Amplifier (PGA) mode + (Resistor feedback output) + (#) The OPAMP(s) output(s) can be internally connected to resistor feedback + output. + (#) OPAMP gain can be selected as : + + (##) Gain of x2, x4, x8 or x16 for non inverting mode with: + (+++) VREF- referenced. + (+++) Filtering on VINM0, VREF- referenced. + (+++) VINM0 node for bias voltage and VINP0 for input signal. + (+++) VINM0 node for bias voltage and VINP0 for input signal, VINM1 node for filtering. + + (##) Gain of x-1, x-3, x-7 or x-15 for inverting mode with: + (+++) VINM0 node for input signal and VINP0 for bias. + (+++) VINM0 node for input signal and VINP0 for bias voltage, VINM1 node for filtering. + + (#) The OPAMPs inverting input can be selected according to the Reference Manual + "OPAMP functional description" chapter. + + (#) The OPAMPs non inverting input can be selected according to the Reference Manual + "OPAMP functional description" chapter. + + + ##### How to use this driver ##### +================================================================================ + [..] + + *** High speed / normal power mode *** + ============================================ + [..] To run in high speed mode: + + (#) Configure the OPAMP using HAL_OPAMP_Init() function: + (++) Select OPAMP_POWERMODE_HIGHSPEED + (++) Otherwise select OPAMP_POWERMODE_NORMAL + + *** Calibration *** + ============================================ + [..] To run the OPAMP calibration self calibration: + + (#) Start calibration using HAL_OPAMP_SelfCalibrate. + Store the calibration results. + + *** Running mode *** + ============================================ + + [..] To use the OPAMP, perform the following steps: + + (#) Fill in the HAL_OPAMP_MspInit() to + (++) Enable the OPAMP Peripheral clock using macro __HAL_RCC_OPAMP_CLK_ENABLE() + (++) Configure the OPAMP input AND output in analog mode using + HAL_GPIO_Init() to map the OPAMP output to the GPIO pin. + + (#) Configure the OPAMP using HAL_OPAMP_Init() function: + (++) Select the mode + (++) Select the inverting input + (++) Select the non-inverting input + (++) If PGA mode is enabled, Select if inverting input is connected. + (++) Select either factory or user defined trimming mode. + (++) If the user-defined trimming mode is enabled, select PMOS & NMOS trimming values + (typically values set by HAL_OPAMP_SelfCalibrate function). + + (#) Enable the OPAMP using HAL_OPAMP_Start() function. + + (#) Disable the OPAMP using HAL_OPAMP_Stop() function. + + (#) Lock the OPAMP in running mode using HAL_OPAMP_Lock() function. + Caution: On STM32H7, HAL OPAMP lock is software lock only (not + hardware lock as on some other STM32 devices) + + (#) If needed, unlock the OPAMP using HAL_OPAMPEx_Unlock() function. + + *** Running mode: change of configuration while OPAMP ON *** + ============================================ + [..] To Re-configure OPAMP when OPAMP is ON (change on the fly) + (#) If needed, fill in the HAL_OPAMP_MspInit() + (++) This is the case for instance if you wish to use new OPAMP I/O + + (#) Configure the OPAMP using HAL_OPAMP_Init() function: + (++) As in configure case, select first the parameters you wish to modify. + + (#) Change from high speed mode to normal power mode (& vice versa) requires + first HAL_OPAMP_DeInit() (force OPAMP OFF) and then HAL_OPAMP_Init(). + In other words, of OPAMP is ON, HAL_OPAMP_Init can NOT change power mode + alone. + + @endverbatim + ****************************************************************************** + Table 1. OPAMPs inverting/non-inverting inputs for the STM32H7 devices: + + +------------------------------------------------------------------------| + | | | OPAMP1 | OPAMP2 | + |-----------------|---------|----------------------|---------------------| + | Inverting Input | VM_SEL | VINM0-> PC5 | VINM0-> PE8 | + | | | VINM1-> PA7 | VINM1-> PG1 | + | | | Internal: | Internal: | + | | | ADC1_IN9 | OPAMP2_OUT | + | | | ADC2_IN9 | PGA mode | + | | | OPAMP1_OUT | | + | | | PGA mode | | + |-----------------|---------|----------------------|---------------------| + | Non Inverting | VP_SEL | | | + | | | VP0 -> PB0 (GPIO) | VP0 -> PE9 (GPIO) | + | | | Internal: | Internal: | + | Input | | DAC1_int | DAC2_int | + | | | ADC1_IN8 | COMP2_INP | + | | | ADC2_IN8 | | + | | | COMP1_INP | | + +------------------------------------------------------------------------| + + + [..] Table 2. OPAMPs outputs for the STM32H7 devices: + + +------------------------------------------------------------------------- + | | | OPAMP1 | OPAMP2 | + |-----------------|--------|-----------------------|---------------------| + | Output | VOUT | PC4 | PE7 | + | | | & ADC1_IN4| | & COMP2_INN7 if | + | | | ADC2_IN4 |connected internally | + | | | COMP1_INN7 if | | + | | | connected internally | | + |-----------------|--------|-----------------------|---------------------| + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup OPAMP OPAMP + * @brief OPAMP module driver + * @{ + */ + +#ifdef HAL_OPAMP_MODULE_ENABLED + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @addtogroup OPAMP_Private_Constants + * @{ + */ + +/* CSR register reset value */ +#define OPAMP_CSR_RESET_VALUE ((uint32_t)0x00000000) + + +#define OPAMP_CSR_RESET_BITS (OPAMP_CSR_OPAMPxEN | OPAMP_CSR_OPAHSM | OPAMP_CSR_VMSEL \ + | OPAMP_CSR_PGGAIN | OPAMP_CSR_VMSEL | OPAMP_CSR_VPSEL \ + | OPAMP_CSR_CALON | OPAMP_CSR_USERTRIM) +/* CSR Init masks */ + +#define OPAMP_CSR_INIT_MASK_PGA (OPAMP_CSR_OPAHSM | OPAMP_CSR_VMSEL | OPAMP_CSR_PGGAIN | OPAMP_CSR_PGGAIN \ + | OPAMP_CSR_VPSEL | OPAMP_CSR_USERTRIM) + + +#define OPAMP_CSR_INIT_MASK_FOLLOWER (OPAMP_CSR_OPAHSM | OPAMP_CSR_VMSEL| OPAMP_CSR_VPSEL \ + | OPAMP_CSR_USERTRIM) + + +#define OPAMP_CSR_INIT_MASK_STANDALONE (OPAMP_CSR_OPAHSM | OPAMP_CSR_VMSEL | OPAMP_CSR_VPSEL \ + | OPAMP_CSR_VMSEL | OPAMP_CSR_USERTRIM) +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup OPAMP_Exported_Functions OPAMP Exported Functions + * @{ + */ + +/** @defgroup OPAMP_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the OPAMP according to the specified + * parameters in the OPAMP_InitTypeDef and initialize the associated handle. + * @note If the selected opamp is locked, initialization can't be performed. + * To unlock the configuration, perform a system reset. + * @param hopamp: OPAMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t updateotrlpotr = 0; + + /* Check the OPAMP handle allocation and lock status */ + /* Init not allowed if calibration is ongoing */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED) + || (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)) + { + return HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + + /* Set OPAMP parameters */ + assert_param(IS_OPAMP_POWERMODE(hopamp->Init.PowerMode)); + assert_param(IS_OPAMP_FUNCTIONAL_NORMALMODE(hopamp->Init.Mode)); + assert_param(IS_OPAMP_NONINVERTING_INPUT(hopamp->Init.NonInvertingInput)); + + if ((hopamp->Init.Mode) == OPAMP_STANDALONE_MODE) + { + assert_param(IS_OPAMP_INVERTING_INPUT_STANDALONE(hopamp->Init.InvertingInput)); + } + + if ((hopamp->Init.Mode) == OPAMP_PGA_MODE) + { + assert_param(IS_OPAMP_PGA_GAIN(hopamp->Init.PgaGain)); + assert_param(IS_OPAMP_PGACONNECT(hopamp->Init.PgaConnect)); + } + + + assert_param(IS_OPAMP_TRIMMING(hopamp->Init.UserTrimming)); + + if ((hopamp->Init.UserTrimming) == OPAMP_TRIMMING_USER) + { + if (hopamp->Init.PowerMode == OPAMP_POWERMODE_NORMAL) + { + assert_param(IS_OPAMP_TRIMMINGVALUE(hopamp->Init.TrimmingValueP)); + assert_param(IS_OPAMP_TRIMMINGVALUE(hopamp->Init.TrimmingValueN)); + } + else + { + assert_param(IS_OPAMP_TRIMMINGVALUE(hopamp->Init.TrimmingValuePHighSpeed)); + assert_param(IS_OPAMP_TRIMMINGVALUE(hopamp->Init.TrimmingValueNHighSpeed)); + } + } + + if(hopamp->State == HAL_OPAMP_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hopamp->Lock = HAL_UNLOCKED; + } + + /* Call MSP init function */ + HAL_OPAMP_MspInit(hopamp); + + /* Set operating mode */ + CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_CALON); + /* In PGA mode InvertingInput is Not Applicable */ + if (hopamp->Init.Mode == OPAMP_PGA_MODE) + { + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_INIT_MASK_PGA, \ + hopamp->Init.PowerMode | \ + hopamp->Init.Mode | \ + hopamp->Init.PgaGain | \ + hopamp->Init.PgaConnect | \ + hopamp->Init.NonInvertingInput | \ + hopamp->Init.UserTrimming); + } + + if (hopamp->Init.Mode == OPAMP_FOLLOWER_MODE) + { + /* In Follower mode InvertingInput is Not Applicable */ + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_INIT_MASK_FOLLOWER, \ + hopamp->Init.PowerMode | \ + hopamp->Init.Mode | \ + hopamp->Init.NonInvertingInput | \ + hopamp->Init.UserTrimming); + } + + if (hopamp->Init.Mode == OPAMP_STANDALONE_MODE) + { + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_INIT_MASK_STANDALONE, \ + hopamp->Init.PowerMode | \ + hopamp->Init.Mode | \ + hopamp->Init.InvertingInput | \ + hopamp->Init.NonInvertingInput | \ + hopamp->Init.UserTrimming); + } + + if (hopamp->Init.UserTrimming == OPAMP_TRIMMING_USER) + { + /* Set power mode and associated calibration parameters */ + if (hopamp->Init.PowerMode != OPAMP_POWERMODE_HIGHSPEED) + { + /* OPAMP_POWERMODE_NORMAL */ + /* Set calibration mode (factory or user) and values for */ + /* transistors differential pair high (PMOS) and low (NMOS) for */ + /* normal mode. */ + updateotrlpotr = (((hopamp->Init.TrimmingValueP) << (OPAMP_INPUT_NONINVERTING)) \ + | (hopamp->Init.TrimmingValueN)); + MODIFY_REG(hopamp->Instance->OTR, OPAMP_OTR_TRIMOFFSETN | OPAMP_OTR_TRIMOFFSETP, updateotrlpotr); + } + else + { + /* OPAMP_POWERMODE_HIGHSPEED*/ + /* transistors differential pair high (PMOS) and low (NMOS) for */ + /* high speed mode. */ + updateotrlpotr = (((hopamp->Init.TrimmingValuePHighSpeed) << (OPAMP_INPUT_NONINVERTING)) \ + | (hopamp->Init.TrimmingValueNHighSpeed)); + MODIFY_REG(hopamp->Instance->HSOTR, OPAMP_OTR_TRIMOFFSETN | OPAMP_OTR_TRIMOFFSETP, updateotrlpotr); + } + } + + /* Update the OPAMP state*/ + if (hopamp->State == HAL_OPAMP_STATE_RESET) + { + /* From RESET state to READY State */ + hopamp->State = HAL_OPAMP_STATE_READY; + } + /* else: remain in READY or BUSY state (no update) */ + return status; + } +} + +/** + * @brief DeInitialize the OPAMP peripheral + * @note Deinitialization can be performed if the OPAMP configuration is locked. + * (the lock is SW in H7) + * @param hopamp: OPAMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_OPAMP_DeInit(OPAMP_HandleTypeDef *hopamp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the OPAMP handle allocation */ + /* DeInit not allowed if calibration is on going */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + + /* Set OPAMP_CSR register to reset value */ + /* OPAMP shall be disabled first separately */ + + CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN); + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_RESET_BITS, OPAMP_CSR_RESET_VALUE); + + /* DeInit the low level hardware: GPIO, CLOCK and NVIC */ + HAL_OPAMP_MspDeInit(hopamp); + + /* Update the OPAMP state*/ + hopamp->State = HAL_OPAMP_STATE_RESET; + /* Process unlocked */ + __HAL_UNLOCK(hopamp); + + } + + return status; +} + + +/** + * @brief Initialize the OPAMP MSP. + * @param hopamp: OPAMP handle + * @retval None + */ +__weak void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hopamp); + + /* NOTE : This function should not be modified, when the callback is needed, + the function "HAL_OPAMP_MspInit()" must be implemented in the user file. + */ +} + +/** + * @brief DeInitialize OPAMP MSP. + * @param hopamp: OPAMP handle + * @retval None + */ +__weak void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hopamp); + /* NOTE : This function should not be modified, when the callback is needed, + the function "HAL_OPAMP_MspDeInit()" must be implemented in the user file. + */ +} + +/** + * @} + */ + + +/** @defgroup OPAMP_Exported_Functions_Group2 IO operation functions + * @brief IO operation functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the OPAMP + start, stop and calibration actions. + +@endverbatim + * @{ + */ + +/** + * @brief Start the OPAMP. + * @param hopamp: OPAMP handle + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the OPAMP handle allocation */ + /* Check if OPAMP locked */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + + if(hopamp->State == HAL_OPAMP_STATE_READY) + { + /* Enable the selected opamp */ + SET_BIT (hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN); + + /* Update the OPAMP state*/ + /* From HAL_OPAMP_STATE_READY to HAL_OPAMP_STATE_BUSY */ + hopamp->State = HAL_OPAMP_STATE_BUSY; + } + else + { + status = HAL_ERROR; + } + + } + return status; +} + +/** + * @brief Stop the OPAMP. + * @param hopamp: OPAMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the OPAMP handle allocation */ + /* Check if OPAMP locked */ + /* Check if OPAMP calibration ongoing */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED) \ + || (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)) + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + + if(hopamp->State == HAL_OPAMP_STATE_BUSY) + { + /* Disable the selected opamp */ + CLEAR_BIT (hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN); + + /* Update the OPAMP state*/ + /* From HAL_OPAMP_STATE_BUSY to HAL_OPAMP_STATE_READY*/ + hopamp->State = HAL_OPAMP_STATE_READY; + } + else + { + status = HAL_ERROR; + } + } + return status; +} + +/** + * @brief Run the self calibration of one OPAMP. + * @note Calibration is performed in the mode specified in OPAMP init + * structure (mode normal or high-speed). To perform calibration for + * both modes, repeat this function twice after OPAMP init structure + * accordingly updated. + * @param hopamp handle + * @retval Updated offset trimming values (PMOS & NMOS), user trimming is enabled + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp) +{ + + HAL_StatusTypeDef status = HAL_OK; + + uint32_t trimmingvaluen = 0; + uint32_t trimmingvaluep = 0; + uint32_t delta; + uint32_t opampmode; + + __IO uint32_t* tmp_opamp_reg_trimming; /* Selection of register of trimming depending on power mode: OTR or HSOTR */ + + /* Check the OPAMP handle allocation */ + /* Check if OPAMP locked */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)) + { + status = HAL_ERROR; + } + else + { + + /* Check if OPAMP in calibration mode and calibration not yet enable */ + if(hopamp->State == HAL_OPAMP_STATE_READY) + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + assert_param(IS_OPAMP_POWERMODE(hopamp->Init.PowerMode)); + + opampmode = READ_BIT(hopamp->Instance->CSR,OPAMP_CSR_VMSEL); + + /* Use of standalone mode */ + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_VMSEL, OPAMP_STANDALONE_MODE); + /* user trimming values are used for offset calibration */ + SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_USERTRIM); + + /* Select trimming settings depending on power mode */ + if (hopamp->Init.PowerMode == OPAMP_POWERMODE_NORMAL) + { + tmp_opamp_reg_trimming = &hopamp->Instance->OTR; + + } + else + { + /* high speed Mode */ + tmp_opamp_reg_trimming = &hopamp->Instance->HSOTR; + } + + + /* Enable calibration */ + SET_BIT (hopamp->Instance->CSR, OPAMP_CSR_CALON); + + /* Force internal reference on VP */ + SET_BIT (hopamp->Instance->CSR, OPAMP_CSR_FORCEVP); + + /* 1st calibration - N */ + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_90VDDA); + + /* Enable the selected opamp */ + SET_BIT (hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN); + + /* Init trimming counter */ + /* Medium value */ + trimmingvaluen = 16; + delta = 8; + + while (delta != 0) + { + /* Set candidate trimming */ + /* OPAMP_POWERMODE_NORMAL */ + MODIFY_REG(*tmp_opamp_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen); + + /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */ + /* Offset trim time: during calibration, minimum time needed between */ + /* two steps to have 1 mV accuracy */ + HAL_Delay(OPAMP_TRIMMING_DELAY); + + if (READ_BIT(hopamp->Instance->CSR, OPAMP_CSR_CALOUT) != RESET) + { + /* OPAMP_CSR_CALOUT is HIGH try higher trimming */ + trimmingvaluen += delta; + } + else + { + /* OPAMP_CSR_CALOUT is LOW try lower trimming */ + trimmingvaluen -= delta; + } + /* Divide range by 2 to continue dichotomy sweep */ + delta >>= 1; + } + + /* Still need to check if right calibration is current value or one step below */ + /* Indeed the first value that causes the OUTCAL bit to change from 1 to 0 */ + + MODIFY_REG(*tmp_opamp_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen); + + /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */ + /* Offset trim time: during calibration, minimum time needed between */ + /* two steps to have 1 mV accuracy */ + HAL_Delay(OPAMP_TRIMMING_DELAY); + + if ((READ_BIT(hopamp->Instance->CSR, OPAMP_CSR_CALOUT)) != 0) + { + /* Trimming value is actually one value more */ + trimmingvaluen++; + /* Set right trimming */ + MODIFY_REG(*tmp_opamp_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen); + } + + /* 2nd calibration - P */ + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_10VDDA); + + /* Init trimming counter */ + /* Medium value */ + trimmingvaluep = 16; + delta = 8; + + while (delta != 0) + { + /* Set candidate trimming */ + /* OPAMP_POWERMODE_NORMAL */ + MODIFY_REG(*tmp_opamp_reg_trimming, OPAMP_OTR_TRIMOFFSETP, (trimmingvaluep<Instance->CSR, OPAMP_CSR_CALOUT)!= RESET) + { + /* OPAMP_CSR_CALOUT is HIGH try higher trimming */ + trimmingvaluep += delta; + } + else + { + /* OPAMP_CSR_CALOUT is LOW try lower trimming */ + trimmingvaluep -= delta; + } + + /* Divide range by 2 to continue dichotomy sweep */ + delta >>= 1; + } + + /* Still need to check if right calibration is current value or one step below */ + /* Indeed the first value that causes the OUTCAL bit to change from 1 to 0 */ + /* Set candidate trimming */ + MODIFY_REG(*tmp_opamp_reg_trimming, OPAMP_OTR_TRIMOFFSETP, (trimmingvaluep<Instance->CSR, OPAMP_CSR_CALOUT) != RESET) + { + /* Trimming value is actually one value more */ + trimmingvaluep++; + MODIFY_REG(*tmp_opamp_reg_trimming, OPAMP_OTR_TRIMOFFSETP, (trimmingvaluep<Instance->CSR, OPAMP_CSR_CALON); + + /* Disable the OPAMP */ + CLEAR_BIT (hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN); + + /* Set operating mode back */ + CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_FORCEVP); + + /* Self calibration is successful */ + /* Store calibration(user trimming) results in init structure. */ + + /* Set user trimming mode */ + hopamp->Init.UserTrimming = OPAMP_TRIMMING_USER; + + /* Affect calibration parameters depending on mode normal/high speed */ + if (hopamp->Init.PowerMode != OPAMP_POWERMODE_HIGHSPEED) + { + /* Write calibration result N */ + hopamp->Init.TrimmingValueN = trimmingvaluen; + /* Write calibration result P */ + hopamp->Init.TrimmingValueP = trimmingvaluep; + } + else + { + /* Write calibration result N */ + hopamp->Init.TrimmingValueNHighSpeed = trimmingvaluen; + /* Write calibration result P */ + hopamp->Init.TrimmingValuePHighSpeed = trimmingvaluep; + } + /* Restore OPAMP mode after calibration */ + MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_VMSEL, opampmode); + } + + else + { + /* OPAMP can not be calibrated from this mode */ + status = HAL_ERROR; + } + } + return status; +} + +/** + * @} + */ + +/** @defgroup OPAMP_Exported_Functions_Group3 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the OPAMP data + transfers. + + + +@endverbatim + * @{ + */ + +/** + * @brief Lock the selected OPAMP configuration. + * @note On STM32H7, HAL OPAMP lock is software lock only (in + * contrast of hardware lock available on some other STM32 + * devices) + * @param hopamp: OPAMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the OPAMP handle allocation */ + /* Check if OPAMP locked */ + /* OPAMP can be locked when enabled and running in normal mode */ + /* It is meaningless otherwise */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_RESET) \ + || (hopamp->State == HAL_OPAMP_STATE_READY) \ + || (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)\ + || (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)) + + { + status = HAL_ERROR; + } + + else + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + + /* OPAMP state changed to locked */ + hopamp->State = HAL_OPAMP_STATE_BUSYLOCKED; + } + return status; +} + +/** + * @brief Return the OPAMP factory trimming value. + * @note On STM32H7 OPAMP, user can retrieve factory trimming if + * OPAMP has never been set to user trimming before. + * Therefore, this function must be called when OPAMP init + * parameter "UserTrimming" is set to trimming factory, + * and before OPAMP calibration (function + * "HAL_OPAMP_SelfCalibrate()"). + * Otherwise, factory trimming value cannot be retrieved and + * error status is returned. + * @param hopamp : OPAMP handle + * @param trimmingoffset : Trimming offset (P or N) + * This parameter must be a value of @ref OPAMP_FactoryTrimming + * @note Calibration parameter retrieved is corresponding to the mode + * specified in OPAMP init structure (mode normal or high-speed). + * To retrieve calibration parameters for both modes, repeat this + * function after OPAMP init structure accordingly updated. + * @retval Trimming value (P or N): range: 0->31 + * or OPAMP_FACTORYTRIMMING_DUMMY if trimming value is not available + * + */ + +HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset (OPAMP_HandleTypeDef *hopamp, uint32_t trimmingoffset) +{ + HAL_OPAMP_TrimmingValueTypeDef trimmingvalue; + __IO uint32_t* tmp_opamp_reg_trimming; /* Selection of register of trimming depending on power mode: OTR or LPOTR */ + + /* Check the OPAMP handle allocation */ + /* Value can be retrieved in HAL_OPAMP_STATE_READY state */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_RESET) \ + || (hopamp->State == HAL_OPAMP_STATE_BUSY) \ + || (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)\ + || (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)) + { + return OPAMP_FACTORYTRIMMING_DUMMY; + } + else + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + assert_param(IS_OPAMP_FACTORYTRIMMING(trimmingoffset)); + assert_param(IS_OPAMP_POWERMODE(hopamp->Init.PowerMode)); + + /* Check the trimming mode */ + if (READ_BIT(hopamp->Instance->CSR,OPAMP_CSR_USERTRIM)!= RESET) + { + /* This function must called when OPAMP init parameter "UserTrimming" */ + /* is set to trimming factory, and before OPAMP calibration (function */ + /* "HAL_OPAMP_SelfCalibrate()"). */ + /* Otherwise, factory trimming value cannot be retrieved and error */ + /* status is returned. */ + trimmingvalue = OPAMP_FACTORYTRIMMING_DUMMY; + } + else + { + /* Select trimming settings depending on power mode */ + if (hopamp->Init.PowerMode == OPAMP_POWERMODE_NORMAL) + { + tmp_opamp_reg_trimming = &hopamp->Instance->OTR; + } + else + { + tmp_opamp_reg_trimming = &hopamp->Instance->HSOTR; + } + + /* Get factory trimming */ + if (trimmingoffset == OPAMP_FACTORYTRIMMING_P) + { + /* OPAMP_FACTORYTRIMMING_P */ + trimmingvalue = ((*tmp_opamp_reg_trimming) & OPAMP_OTR_TRIMOFFSETP) >> OPAMP_INPUT_NONINVERTING; + } + else + { + /* OPAMP_FACTORYTRIMMING_N */ + trimmingvalue = (*tmp_opamp_reg_trimming) & OPAMP_OTR_TRIMOFFSETN; + } + } + } + return trimmingvalue; +} + +/** + * @} + */ + + +/** @defgroup OPAMP_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Return the OPAMP handle state. + * @param hopamp : OPAMP handle + * @retval HAL state + */ +HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp) +{ + /* Check the OPAMP handle allocation */ + if(hopamp == NULL) + { + return HAL_OPAMP_STATE_RESET; + } + + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + + /* Return OPAMP handle state */ + return hopamp->State; +} + +/** + * @} + */ + +/** + * @} + */ + + /** + * @} + */ + +#endif /* HAL_OPAMP_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp_ex.c new file mode 100644 index 0000000000..c41bfb126a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp_ex.c @@ -0,0 +1,448 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_opamp_ex.c + * @author MCD Application Team + * @brief Extended OPAMP HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the operational amplifier(s)(OPAMP1, OPAMP2 etc) + * peripheral: + * + Extended Initialization and de-initialization functions + * + Extended Peripheral Control functions + * + @verbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup OPAMPEx OPAMPEx + * @brief OPAMP Extended HAL module driver + * @{ + */ + +#ifdef HAL_OPAMP_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup OPAMPEx_Exported_Functions OPAMP Extended Exported Functions + * @{ + */ + +/** @defgroup OPAMPEx_Exported_Functions_Group1 Extended Input and Output operation functions + * @brief Extended operation functions + * +@verbatim + =============================================================================== + ##### Extended IO operation functions ##### + =============================================================================== + [..] + (+) OPAMP Self calibration. + +@endverbatim + * @{ + */ + +/** + * @brief Run the self calibration of 2 OPAMPs in parallel. + * @note Trimming values (PMOS & NMOS) are updated and user trimming is + * enabled is calibration is successful. + * @note Calibration is performed in the mode specified in OPAMP init + * structure (mode normal or low power). To perform calibration for + * both modes, repeat this function twice after OPAMP init structure + * accordingly updated. + * @param hopamp1 handle + * @param hopamp2 handle + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_OPAMPEx_SelfCalibrateAll(OPAMP_HandleTypeDef *hopamp1, OPAMP_HandleTypeDef *hopamp2) +{ + HAL_StatusTypeDef status = HAL_OK; + + uint32_t trimmingvaluen1 = 0; + uint32_t trimmingvaluep1 = 0; + uint32_t trimmingvaluen2 = 0; + uint32_t trimmingvaluep2 = 0; + +/* Selection of register of trimming depending on power mode: OTR or HSOTR */ + __IO uint32_t* tmp_opamp1_reg_trimming; + __IO uint32_t* tmp_opamp2_reg_trimming; + + uint32_t delta; + uint32_t opampmode1; + uint32_t opampmode2; + + if((hopamp1 == NULL) || (hopamp1->State == HAL_OPAMP_STATE_BUSYLOCKED) || \ + (hopamp2 == NULL) || (hopamp2->State == HAL_OPAMP_STATE_BUSYLOCKED)) + { + status = HAL_ERROR; + } + else + { + /* Check if OPAMP in calibration mode and calibration not yet enable */ + if((hopamp1->State == HAL_OPAMP_STATE_READY) && (hopamp2->State == HAL_OPAMP_STATE_READY)) + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp1->Instance)); + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp2->Instance)); + + assert_param(IS_OPAMP_POWERMODE(hopamp1->Init.PowerMode)); + assert_param(IS_OPAMP_POWERMODE(hopamp2->Init.PowerMode)); + + /* Set Calibration mode */ + /* Non-inverting input connected to calibration reference voltage. */ + SET_BIT(hopamp1->Instance->CSR, OPAMP_CSR_FORCEVP); + SET_BIT(hopamp2->Instance->CSR, OPAMP_CSR_FORCEVP); + + /* Save OPAMP mode */ + opampmode1 = READ_BIT(hopamp1->Instance->CSR,OPAMP_CSR_VMSEL); + opampmode2 = READ_BIT(hopamp2->Instance->CSR,OPAMP_CSR_VMSEL); + + /* Use of standalone mode */ + MODIFY_REG(hopamp1->Instance->CSR, OPAMP_CSR_VMSEL, OPAMP_STANDALONE_MODE); + MODIFY_REG(hopamp2->Instance->CSR, OPAMP_CSR_VMSEL, OPAMP_STANDALONE_MODE); + + /* user trimming values are used for offset calibration */ + SET_BIT(hopamp1->Instance->CSR, OPAMP_CSR_USERTRIM); + SET_BIT(hopamp2->Instance->CSR, OPAMP_CSR_USERTRIM); + + /* Select trimming settings depending on power mode */ + if (hopamp1->Init.PowerMode == OPAMP_POWERMODE_NORMAL) + { + tmp_opamp1_reg_trimming = &OPAMP1->OTR; + } + else + { + tmp_opamp1_reg_trimming = &OPAMP1->HSOTR; + } + + if (hopamp2->Init.PowerMode == OPAMP_POWERMODE_NORMAL) + { + tmp_opamp2_reg_trimming = &OPAMP2->OTR; + } + else + { + tmp_opamp2_reg_trimming = &OPAMP2->HSOTR; + } + + /* Enable calibration */ + SET_BIT (hopamp1->Instance->CSR, OPAMP_CSR_CALON); + SET_BIT (hopamp2->Instance->CSR, OPAMP_CSR_CALON); + + /* 1st calibration - N */ + /* Select 90U% VREF */ + MODIFY_REG(hopamp1->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_90VDDA); + MODIFY_REG(hopamp2->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_90VDDA); + + /* Enable the selected opamp */ + SET_BIT (hopamp1->Instance->CSR, OPAMP_CSR_OPAMPxEN); + SET_BIT (hopamp2->Instance->CSR, OPAMP_CSR_OPAMPxEN); + + /* Init trimming counter */ + /* Medium value */ + trimmingvaluen1 = 16; + trimmingvaluen2 = 16; + delta = 8; + + while (delta != 0) + { + /* Set candidate trimming */ + /* OPAMP_POWERMODE_NORMAL */ + MODIFY_REG(*tmp_opamp1_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen1); + MODIFY_REG(*tmp_opamp2_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen2); + + /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */ + /* Offset trim time: during calibration, minimum time needed between */ + /* two steps to have 1 mV accuracy */ + HAL_Delay(OPAMP_TRIMMING_DELAY); + + if (READ_BIT(hopamp1->Instance->CSR, OPAMP_CSR_CALOUT)!= RESET) + { + /* OPAMP_CSR_CALOUT is Low try higher trimming */ + trimmingvaluen1 += delta; + } + else + { + /* OPAMP_CSR_CALOUT is High try lower trimming */ + trimmingvaluen1 -= delta; + } + + if (READ_BIT(hopamp2->Instance->CSR, OPAMP_CSR_CALOUT)!= RESET) + { + /* OPAMP_CSR_CALOUT is Low try higher trimming */ + trimmingvaluen2 += delta; + } + else + { + /* OPAMP_CSR_CALOUT is High try lower trimming */ + trimmingvaluen2 -= delta; + } + /* Divide range by 2 to continue dichotomy sweep */ + delta >>= 1; + } + + /* Still need to check if right calibration is current value or one step below */ + /* Indeed the first value that causes the OUTCAL bit to change from 0 to 1 */ + /* Set candidate trimming */ + MODIFY_REG(*tmp_opamp1_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen1); + MODIFY_REG(*tmp_opamp2_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen2); + + /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */ + /* Offset trim time: during calibration, minimum time needed between */ + /* two steps to have 1 mV accuracy */ + HAL_Delay(OPAMP_TRIMMING_DELAY); + + if ((READ_BIT(hopamp1->Instance->CSR, OPAMP_CSR_CALOUT)) != 0) + { + /* Trimming value is actually one value more */ + trimmingvaluen1++; + MODIFY_REG(*tmp_opamp1_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen1); + } + + if ((READ_BIT(hopamp2->Instance->CSR, OPAMP_CSR_CALOUT)) != 0) + { + /* Trimming value is actually one value more */ + trimmingvaluen2++; + MODIFY_REG(*tmp_opamp2_reg_trimming, OPAMP_OTR_TRIMOFFSETN, trimmingvaluen2); + } + + /* 2nd calibration - P */ + /* Select 10U% VREF */ + MODIFY_REG(hopamp1->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_10VDDA); + MODIFY_REG(hopamp2->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_10VDDA); + + /* Init trimming counter */ + /* Medium value */ + trimmingvaluep1 = 16; + trimmingvaluep2 = 16; + delta = 8; + + while (delta != 0) + { + /* Set candidate trimming */ + /* OPAMP_POWERMODE_NORMAL */ + MODIFY_REG(*tmp_opamp1_reg_trimming, OPAMP_OTR_TRIMOFFSETP, (trimmingvaluep1<Instance->CSR, OPAMP_CSR_CALOUT)!= RESET) + { + /* OPAMP_CSR_CALOUT is Low try higher trimming */ + trimmingvaluep1 += delta; + } + else + { + /* OPAMP_CSR_CALOUT is HIGH try lower trimming */ + trimmingvaluep1 -= delta; + } + + if (READ_BIT(hopamp2->Instance->CSR, OPAMP_CSR_CALOUT)!= RESET) + { + /* OPAMP_CSR_CALOUT is Low try higher trimming */ + trimmingvaluep2 += delta; + } + else + { + /* OPAMP_CSR_CALOUT is High try lower trimming */ + trimmingvaluep2 -= delta; + } + /* Divide range by 2 to continue dichotomy sweep */ + delta >>= 1; + } + + /* Still need to check if right calibration is current value or one step below */ + /* Indeed the first value that causes the OUTCAL bit to change from 1 to 0 */ + /* Set candidate trimming */ + MODIFY_REG(*tmp_opamp1_reg_trimming, OPAMP_OTR_TRIMOFFSETP, (trimmingvaluep1<Instance->CSR, OPAMP_CSR_CALOUT)!= RESET) + { + /* Trimming value is actually one value more */ + trimmingvaluep1++; + MODIFY_REG(*tmp_opamp1_reg_trimming, OPAMP_OTR_TRIMOFFSETP, (trimmingvaluep1<Instance->CSR, OPAMP_CSR_CALOUT)!= RESET) + { + /* Trimming value is actually one value more */ + trimmingvaluep2++; + MODIFY_REG(*tmp_opamp2_reg_trimming, OPAMP_OTR_TRIMOFFSETP, (trimmingvaluep2<Instance->CSR, OPAMP_CSR_CALON); + CLEAR_BIT (hopamp2->Instance->CSR, OPAMP_CSR_CALON); + + /* Disable the OPAMPs */ + CLEAR_BIT (hopamp1->Instance->CSR, OPAMP_CSR_OPAMPxEN); + CLEAR_BIT (hopamp2->Instance->CSR, OPAMP_CSR_OPAMPxEN); + + /* Self calibration is successful */ + /* Store calibration (user trimming) results in init structure. */ + + /* Set user trimming mode */ + hopamp1->Init.UserTrimming = OPAMP_TRIMMING_USER; + hopamp2->Init.UserTrimming = OPAMP_TRIMMING_USER; + + /* Affect calibration parameters depending on mode normal/high speed */ + if (hopamp1->Init.PowerMode != OPAMP_POWERMODE_HIGHSPEED) + { + /* Write calibration result N */ + hopamp1->Init.TrimmingValueN = trimmingvaluen1; + /* Write calibration result P */ + hopamp1->Init.TrimmingValueP = trimmingvaluep1; + } + else + { + /* Write calibration result N */ + hopamp1->Init.TrimmingValueNHighSpeed = trimmingvaluen1; + /* Write calibration result P */ + hopamp1->Init.TrimmingValuePHighSpeed = trimmingvaluep1; + } + + if (hopamp2->Init.PowerMode != OPAMP_POWERMODE_HIGHSPEED) + { + /* Write calibration result N */ + hopamp2->Init.TrimmingValueN = trimmingvaluen2; + /* Write calibration result P */ + hopamp2->Init.TrimmingValueP = trimmingvaluep2; + } + else + { + /* Write calibration result N */ + hopamp2->Init.TrimmingValueNHighSpeed = trimmingvaluen2; + /* Write calibration result P */ + hopamp2->Init.TrimmingValuePHighSpeed = trimmingvaluep2; + + } + /* Update OPAMP state */ + hopamp1->State = HAL_OPAMP_STATE_READY; + hopamp2->State = HAL_OPAMP_STATE_READY; + + /* Restore OPAMP mode after calibration */ + MODIFY_REG(hopamp1->Instance->CSR, OPAMP_CSR_VMSEL, opampmode1); + MODIFY_REG(hopamp2->Instance->CSR, OPAMP_CSR_VMSEL, opampmode2); + } + else + { + /* At least one OPAMP can not be calibrated */ + status = HAL_ERROR; + } + } + return status; +} + +/** + * @} + */ + +/** @defgroup OPAMPEx_Exported_Functions_Group2 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + (+) OPAMP unlock. + +@endverbatim + * @{ + */ + +/** + * @brief Unlock the selected OPAMP configuration. + * @note This function must be called only when OPAMP is in state "locked". + * @param hopamp: OPAMP handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_OPAMPEx_Unlock(OPAMP_HandleTypeDef* hopamp) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the OPAMP handle allocation */ + /* Check if OPAMP locked */ + if((hopamp == NULL) || (hopamp->State == HAL_OPAMP_STATE_RESET) + || (hopamp->State == HAL_OPAMP_STATE_READY) + || (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY) + || (hopamp->State == HAL_OPAMP_STATE_BUSY)) + + { + status = HAL_ERROR; + } + else + { + /* Check the parameter */ + assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance)); + + /* OPAMP state changed to locked */ + hopamp->State = HAL_OPAMP_STATE_BUSY; + } + return status; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_OPAMP_MODULE_ENABLED */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c new file mode 100644 index 0000000000..51e9d02e56 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c @@ -0,0 +1,1348 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pcd.c + * @author MCD Application Team + * @brief PCD HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the USB Peripheral Controller: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The PCD HAL driver can be used as follows: + + (#) Declare a PCD_HandleTypeDef handle structure, for example: + PCD_HandleTypeDef hpcd; + + (#) Fill parameters of Init structure in PCD handle + + (#) Call HAL_PCD_Init() API to initialize the PCD peripheral (Core, Device core, ...) + + (#) Initialize the PCD low level resources through the HAL_PCD_MspInit() API: + (##) Enable the PCD/USB Low Level interface clock using + (+++) __OTGFS-OTG_CLK_ENABLE()/__OTGHS-OTG_CLK_ENABLE(); + (+++) __OTGHSULPI_CLK_ENABLE(); (For High Speed Mode) + + (##) Initialize the related GPIO clocks + (##) Configure PCD pin-out + (##) Configure PCD NVIC interrupt + + (#)Associate the Upper USB device stack to the HAL PCD Driver: + (##) hpcd.pData = pdev; + + (#)Enable PCD transmission and reception: + (##) HAL_PCD_Start(); + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup PCD PCD + * @brief PCD HAL module driver + * @{ + */ + +#ifdef HAL_PCD_MODULE_ENABLED + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** + * USB_OTG_CORE VERSION ID + */ +#define USB_OTG_CORE_ID_310A 0x4F54310A +#define USB_OTG_CORE_ID_320A 0x4F54320A + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup PCD_Private_Macros PCD Private Macros + * @{ + */ +#define PCD_MIN(a, b) (((a) < (b)) ? (a) : (b)) +#define PCD_MAX(a, b) (((a) > (b)) ? (a) : (b)) +/** + * @} + */ + +/* Private functions prototypes ----------------------------------------------*/ +/** @defgroup PCD_Private_Functions PCD Private Functions + * @{ + */ +static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup PCD_Exported_Functions PCD Exported Functions + * @{ + */ + +/** @defgroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the PCD according to the specified + * parameters in the PCD_InitTypeDef and create the associated handle. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd) +{ + uint32_t i = 0; + + /* Check the PCD handle allocation */ + if(hpcd == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); + + hpcd->State = HAL_PCD_STATE_BUSY; + + /* Init the low level hardware : GPIO, CLOCK, NVIC... */ + HAL_PCD_MspInit(hpcd); + + /* Disable the Interrupts */ + __HAL_PCD_DISABLE(hpcd); + + /*Init the Core (common init.) */ + USB_CoreInit(hpcd->Instance, hpcd->Init); + + /* Force Device Mode*/ + USB_SetCurrentMode(hpcd->Instance , USB_OTG_DEVICE_MODE); + + /* Init endpoints structures */ + for (i = 0; i < 15 ; i++) + { + /* Init ep structure */ + hpcd->IN_ep[i].is_in = 1; + hpcd->IN_ep[i].num = i; + hpcd->IN_ep[i].tx_fifo_num = i; + /* Control until ep is activated */ + hpcd->IN_ep[i].type = EP_TYPE_CTRL; + hpcd->IN_ep[i].maxpacket = 0; + hpcd->IN_ep[i].xfer_buff = 0; + hpcd->IN_ep[i].xfer_len = 0; + } + + for (i = 0; i < 15 ; i++) + { + hpcd->OUT_ep[i].is_in = 0; + hpcd->OUT_ep[i].num = i; + hpcd->IN_ep[i].tx_fifo_num = i; + /* Control until ep is activated */ + hpcd->OUT_ep[i].type = EP_TYPE_CTRL; + hpcd->OUT_ep[i].maxpacket = 0; + hpcd->OUT_ep[i].xfer_buff = 0; + hpcd->OUT_ep[i].xfer_len = 0; + + hpcd->Instance->DIEPTXF[i] = 0; + } + + /* Init Device */ + USB_DevInit(hpcd->Instance, hpcd->Init); + + hpcd->State= HAL_PCD_STATE_READY; + + /* Activate LPM */ + if (hpcd->Init.lpm_enable == 1) + { + HAL_PCDEx_ActivateLPM(hpcd); + } + +#if defined (USB_OTG_GCCFG_BCDEN) + /* Activate Battery charging */ + if (hpcd->Init.battery_charging_enable ==1) + { + HAL_PCDEx_ActivateBCD(hpcd); + } +#endif /* USB_OTG_GCCFG_BCDEN */ + + USB_DevDisconnect (hpcd->Instance); + return HAL_OK; +} + +/** + * @brief DeInitializes the PCD peripheral. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd) +{ + /* Check the PCD handle allocation */ + if(hpcd == NULL) + { + return HAL_ERROR; + } + + hpcd->State = HAL_PCD_STATE_BUSY; + + /* Stop Device */ + HAL_PCD_Stop(hpcd); + + /* DeInit the low level hardware */ + HAL_PCD_MspDeInit(hpcd); + + hpcd->State = HAL_PCD_STATE_RESET; + + return HAL_OK; +} + +/** + * @brief Initializes the PCD MSP. + * @param hpcd: PCD handle + * @retval None + */ +__weak void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitializes PCD MSP. + * @param hpcd: PCD handle + * @retval None + */ +__weak void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup PCD_Exported_Functions_Group2 Input and Output operation functions + * @brief Data transfers functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the PCD data + transfers. + +@endverbatim + * @{ + */ + +/** + * @brief Start The USB OTG Device. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) +{ + + USB_DevConnect (hpcd->Instance); + __HAL_PCD_ENABLE(hpcd); + + return HAL_OK; +} + +/** + * @brief Stop The USB OTG Device. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd) +{ + __HAL_LOCK(hpcd); + __HAL_PCD_DISABLE(hpcd); + USB_StopDevice(hpcd->Instance); + USB_DevDisconnect (hpcd->Instance); + __HAL_UNLOCK(hpcd); + return HAL_OK; +} + +/** + * @brief Handle PCD interrupt request. + * @param hpcd: PCD handle + * @retval HAL status + */ +void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + uint32_t i = 0, ep_intr = 0, epint = 0, epnum = 0; + uint32_t fifoemptymsk = 0, temp = 0; + USB_OTG_EPTypeDef *ep = NULL; + uint32_t hclk = 400000000; + + /* ensure that we are in device mode */ + if (USB_GetMode(hpcd->Instance) == USB_OTG_MODE_DEVICE) + { + /* avoid spurious interrupt */ + if(__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) + { + return; + } + + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) + { + /* incorrect mode, acknowledge the interrupt */ + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); + } + + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) + { + epnum = 0; + + /* Read in the device interrupt bits */ + ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); + + while ( ep_intr ) + { + if (ep_intr & 0x1) + { + epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, epnum); + + if(( epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC) + { + CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC); + + /* setup/out transaction management for Core ID >= 310A */ + if (USBx->GSNPSID >= USB_OTG_CORE_ID_310A) + { + if(hpcd->Init.dma_enable == 1) + { + if(USBx_OUTEP(0)->DOEPINT & (1 << 15)) + { + CLEAR_OUT_EP_INTR(epnum, (1 << 15)); + } + } + } + + if(hpcd->Init.dma_enable == 1) + { + hpcd->OUT_ep[epnum].xfer_count = hpcd->OUT_ep[epnum].maxpacket- (USBx_OUTEP(epnum)->DOEPTSIZ & USB_OTG_DOEPTSIZ_XFRSIZ); + hpcd->OUT_ep[epnum].xfer_buff += hpcd->OUT_ep[epnum].maxpacket; + } + + HAL_PCD_DataOutStageCallback(hpcd, epnum); + if(hpcd->Init.dma_enable == 1) + { + if((epnum == 0) && (hpcd->OUT_ep[epnum].xfer_len == 0)) + { + /* this is ZLP, so prepare EP0 for next setup */ + USB_EP0_OutStart(hpcd->Instance, 1, (uint8_t *)hpcd->Setup); + } + } + } + + if(( epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) + { + /* setup/out transaction management for Core ID >= 310A */ + if (USBx->GSNPSID >= USB_OTG_CORE_ID_310A) + { + if(hpcd->Init.dma_enable == 1) + { + if(USBx_OUTEP(0)->DOEPINT & (1 <<15 )) + { + CLEAR_OUT_EP_INTR(epnum, (1 << 15)); + } + } + } + + /* Inform the upper layer that a setup packet is available */ + HAL_PCD_SetupStageCallback(hpcd); + CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP); + } + + if(( epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS) + { + CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS); + } + /* Clear Status Phase Received interrupt */ + if(( epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) + { + CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); + } + } + epnum++; + ep_intr >>= 1; + } + } + + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) + { + /* Read in the device interrupt bits */ + ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); + + epnum = 0; + + while ( ep_intr ) + { + if (ep_intr & 0x1) /* In ITR */ + { + epint = USB_ReadDevInEPInterrupt(hpcd->Instance, epnum); + + if(( epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC) + { + fifoemptymsk = 0x1 << epnum; + USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; + + CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC); + + if (hpcd->Init.dma_enable == 1) + { + hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; + } + + HAL_PCD_DataInStageCallback(hpcd, epnum); + + if (hpcd->Init.dma_enable == 1) + { + /* this is ZLP, so prepare EP0 for next setup */ + if((epnum == 0) && (hpcd->IN_ep[epnum].xfer_len == 0)) + { + /* prepare to rx more setup packets */ + USB_EP0_OutStart(hpcd->Instance, 1, (uint8_t *)hpcd->Setup); + } + } + } + if(( epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC) + { + CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC); + } + if(( epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE) + { + CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE); + } + if(( epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE) + { + CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE); + } + if(( epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD) + { + CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD); + } + if(( epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE) + { + PCD_WriteEmptyTxFifo(hpcd , epnum); + } + } + epnum++; + ep_intr >>= 1; + } + } + + /* Handle Resume Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) + { + /* Clear the Remote Wake-up Signaling */ + USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; + + if(hpcd->LPM_State == LPM_L1) + { + hpcd->LPM_State = LPM_L0; + HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE); + } + else + { + HAL_PCD_ResumeCallback(hpcd); + } + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); + } + + /* Handle Suspend Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) + { + if((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) + { + + HAL_PCD_SuspendCallback(hpcd); + } + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); + } + + /* Handle LPM Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) + { + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); + if( hpcd->LPM_State == LPM_L0) + { + hpcd->LPM_State = LPM_L1; + hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >>2 ; + HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); + } + else + { + HAL_PCD_SuspendCallback(hpcd); + } + } + + /* Handle Reset Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) + { + USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; + USB_FlushTxFifo(hpcd->Instance, 0x10); + + for (i = 0; i < hpcd->Init.dev_endpoints ; i++) + { + USBx_INEP(i)->DIEPINT = 0xFF; + USBx_OUTEP(i)->DOEPINT = 0xFF; + } + USBx_DEVICE->DAINT = 0xFFFFFFFF; + USBx_DEVICE->DAINTMSK |= 0x10001; + + if(hpcd->Init.use_dedicated_ep1) + { + USBx_DEVICE->DOUTEP1MSK |= (USB_OTG_DOEPMSK_STUPM | USB_OTG_DOEPMSK_XFRCM | USB_OTG_DOEPMSK_EPDM); + USBx_DEVICE->DINEP1MSK |= (USB_OTG_DIEPMSK_TOM | USB_OTG_DIEPMSK_XFRCM | USB_OTG_DIEPMSK_EPDM); + } + else + { + USBx_DEVICE->DOEPMSK |= (USB_OTG_DOEPMSK_STUPM | USB_OTG_DOEPMSK_XFRCM | USB_OTG_DOEPMSK_EPDM); + USBx_DEVICE->DIEPMSK |= (USB_OTG_DIEPMSK_TOM | USB_OTG_DIEPMSK_XFRCM | USB_OTG_DIEPMSK_EPDM); + } + + /* Set Default Address to 0 */ + USBx_DEVICE->DCFG &= ~USB_OTG_DCFG_DAD; + + /* setup EP0 to receive SETUP packets */ + USB_EP0_OutStart(hpcd->Instance, hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); + + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); + } + + /* Handle Enumeration done Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) + { + USB_ActivateSetup(hpcd->Instance); + hpcd->Instance->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT; + + if ( USB_GetDevSpeed(hpcd->Instance) == USB_OTG_SPEED_HIGH) + { + hpcd->Init.speed = USB_OTG_SPEED_HIGH; + hpcd->Init.ep0_mps = USB_OTG_HS_MAX_PACKET_SIZE ; + hpcd->Instance->GUSBCFG |= (uint32_t)((USBD_HS_TRDT_VALUE << 10) & USB_OTG_GUSBCFG_TRDT); + } + else + { + hpcd->Init.speed = USB_OTG_SPEED_FULL; + hpcd->Init.ep0_mps = USB_OTG_FS_MAX_PACKET_SIZE ; + + /* The USBTRD is configured according to the tables below, depending on AHB frequency + used by application. In the low AHB frequency range it is used to stretch enough the USB response + time to IN tokens, the USB turnaround time, so to compensate for the longer AHB read access + latency to the Data FIFO */ + + /* Get hclk frequency value */ + hclk = HAL_RCC_GetHCLKFreq(); + + if((hclk >= 14200000)&&(hclk < 15000000)) + { + /* hclk Clock Range between 14.2-15 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0xF << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 15000000)&&(hclk < 16000000)) + { + /* hclk Clock Range between 15-16 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0xE << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 16000000)&&(hclk < 17200000)) + { + /* hclk Clock Range between 16-17.2 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0xD << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 17200000)&&(hclk < 18500000)) + { + /* hclk Clock Range between 17.2-18.5 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0xC << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 18500000)&&(hclk < 20000000)) + { + /* hclk Clock Range between 18.5-20 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0xB << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 20000000)&&(hclk < 21800000)) + { + /* hclk Clock Range between 20-21.8 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0xA << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 21800000)&&(hclk < 24000000)) + { + /* hclk Clock Range between 21.8-24 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0x9 << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 24000000)&&(hclk < 27700000)) + { + /* hclk Clock Range between 24-27.7 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0x8 << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else if((hclk >= 27700000)&&(hclk < 32000000)) + { + /* hclk Clock Range between 27.7-32 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0x7 << 10) & USB_OTG_GUSBCFG_TRDT); + } + + else /* if(hclk >= 32000000) */ + { + /* hclk Clock Range between 32-400 MHz */ + hpcd->Instance->GUSBCFG |= (uint32_t)((0x6 << 10) & USB_OTG_GUSBCFG_TRDT); + } + } + + HAL_PCD_ResetCallback(hpcd); + + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); + } + + /* Handle RxQLevel Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) + { + USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); + temp = USBx->GRXSTSP; + ep = &hpcd->OUT_ep[temp & USB_OTG_GRXSTSP_EPNUM]; + + if(((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_DATA_UPDT) + { + if((temp & USB_OTG_GRXSTSP_BCNT) != 0) + { + USB_ReadPacket(USBx, ep->xfer_buff, (temp & USB_OTG_GRXSTSP_BCNT) >> 4); + ep->xfer_buff += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; + ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; + } + } + else if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_SETUP_UPDT) + { + USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8); + ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; + } + USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); + } + + /* Handle SOF Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) + { + HAL_PCD_SOFCallback(hpcd); + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); + } + + /* Handle Incomplete ISO IN Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) + { + HAL_PCD_ISOINIncompleteCallback(hpcd, epnum); + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); + } + + /* Handle Incomplete ISO OUT Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) + { + HAL_PCD_ISOOUTIncompleteCallback(hpcd, epnum); + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); + } + + /* Handle Connection event Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) + { + HAL_PCD_ConnectCallback(hpcd); + __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); + } + + /* Handle Disconnection event Interrupt */ + if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) + { + temp = hpcd->Instance->GOTGINT; + + if((temp & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET) + { + HAL_PCD_DisconnectCallback(hpcd); + } + hpcd->Instance->GOTGINT |= temp; + } + } +} + +/** + * @brief Data out stage callback. + * @param hpcd: PCD handle + * @param epnum: endpoint number + * @retval None + */ + __weak void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + UNUSED(epnum); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_DataOutStageCallback could be implemented in the user file + */ +} + +/** + * @brief Data IN stage callback. + * @param hpcd: PCD handle + * @param epnum: endpoint number + * @retval None + */ + __weak void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + UNUSED(epnum); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_DataInStageCallback could be implemented in the user file + */ +} +/** + * @brief Setup stage callback. + * @param hpcd: PCD handle + * @retval None + */ + __weak void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_SetupStageCallback could be implemented in the user file + */ +} + +/** + * @brief USB Start Of Frame callback. + * @param hpcd: PCD handle + * @retval None + */ + __weak void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_SOFCallback could be implemented in the user file + */ +} + +/** + * @brief USB Reset callback. + * @param hpcd: PCD handle + * @retval None + */ + __weak void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_ResetCallback could be implemented in the user file + */ +} + + +/** + * @brief Suspend event callback. + * @param hpcd: PCD handle + * @retval None + */ + __weak void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_SuspendCallback could be implemented in the user file + */ +} + +/** + * @brief Resume event callback. + * @param hpcd: PCD handle + * @retval None + */ + __weak void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_ResumeCallback could be implemented in the user file + */ +} + +/** + * @brief Incomplete ISO OUT callback. + * @param hpcd: PCD handle + * @param epnum: endpoint number + * @retval None + */ + __weak void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + UNUSED(epnum); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_ISOOUTIncompleteCallback could be implemented in the user file + */ +} + +/** + * @brief Incomplete ISO IN callback. + * @param hpcd: PCD handle + * @param epnum: endpoint number + * @retval None + */ + __weak void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + UNUSED(epnum); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_ISOINIncompleteCallback could be implemented in the user file + */ +} + +/** + * @brief Connection event callback. + * @param hpcd: PCD handle + * @retval None + */ + __weak void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_ConnectCallback could be implemented in the user file + */ +} + +/** + * @brief Disconnection event callback. + * @param hpcd: PCD handle + * @retval None + */ + __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PCD_DisconnectCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup PCD_Exported_Functions_Group3 Peripheral Control functions + * @brief management functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the PCD data + transfers. + +@endverbatim + * @{ + */ + +/** + * @brief Connect the USB device. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd) +{ + __HAL_LOCK(hpcd); + USB_DevConnect(hpcd->Instance); + __HAL_UNLOCK(hpcd); + return HAL_OK; +} + +/** + * @brief Disconnect the USB device. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd) +{ + __HAL_LOCK(hpcd); + USB_DevDisconnect(hpcd->Instance); + __HAL_UNLOCK(hpcd); + return HAL_OK; +} + +/** + * @brief Set the USB Device address. + * @param hpcd: PCD handle + * @param address: new device address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) +{ + __HAL_LOCK(hpcd); + USB_SetDevAddress(hpcd->Instance, address); + __HAL_UNLOCK(hpcd); + return HAL_OK; +} + +/** + * @brief Open and configure an endpoint. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @param ep_mps: endpoint max packet size + * @param ep_type: endpoint type + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_t ep_type) +{ + HAL_StatusTypeDef ret = HAL_OK; + USB_OTG_EPTypeDef *ep = NULL; + + if ((ep_addr & 0x80) == 0x80) + { + ep = &hpcd->IN_ep[ep_addr & 0x7F]; + } + else + { + ep = &hpcd->OUT_ep[ep_addr & 0x7F]; + } + ep->num = ep_addr & 0x7F; + + ep->is_in = (0x80 & ep_addr) != 0; + ep->maxpacket = ep_mps; + ep->type = ep_type; + if (ep->is_in) + { + /* Assign a Tx FIFO */ + ep->tx_fifo_num = ep->num; + } + /* Set initial data PID. */ + if (ep_type == EP_TYPE_BULK ) + { + ep->data_pid_start = 0; + } + + __HAL_LOCK(hpcd); + USB_ActivateEndpoint(hpcd->Instance , ep); + __HAL_UNLOCK(hpcd); + return ret; +} + + +/** + * @brief Deactivate an endpoint. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) +{ + USB_OTG_EPTypeDef *ep = NULL; + + if ((ep_addr & 0x80) == 0x80) + { + ep = &hpcd->IN_ep[ep_addr & 0x7F]; + } + else + { + ep = &hpcd->OUT_ep[ep_addr & 0x7F]; + } + ep->num = ep_addr & 0x7F; + + ep->is_in = (0x80 & ep_addr) != 0; + + __HAL_LOCK(hpcd); + USB_DeactivateEndpoint(hpcd->Instance , ep); + __HAL_UNLOCK(hpcd); + return HAL_OK; +} + + +/** + * @brief Receive an amount of data. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @param pBuf: pointer to the reception buffer + * @param len: amount of data to be received + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len) +{ + USB_OTG_EPTypeDef *ep = NULL; + + ep = &hpcd->OUT_ep[ep_addr & 0x7F]; + + /*setup and start the Xfer */ + ep->xfer_buff = pBuf; + ep->xfer_len = len; + ep->xfer_count = 0; + ep->is_in = 0; + ep->num = ep_addr & 0x7F; + + if (hpcd->Init.dma_enable == 1) + { + ep->dma_addr = (uint32_t)pBuf; + } + + if ((ep_addr & 0x7F) == 0 ) + { + USB_EP0StartXfer(hpcd->Instance , ep, hpcd->Init.dma_enable); + } + else + { + USB_EPStartXfer(hpcd->Instance , ep, hpcd->Init.dma_enable); + } + + return HAL_OK; +} + +/** + * @brief Get Received Data Size. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @retval Data Size + */ +uint16_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) +{ + return hpcd->OUT_ep[ep_addr & 0xF].xfer_count; +} + +/** + * @brief Send an amount of data. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @param pBuf: pointer to the transmission buffer + * @param len: amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len) +{ + USB_OTG_EPTypeDef *ep = NULL; + + ep = &hpcd->IN_ep[ep_addr & 0x7F]; + + /*setup and start the Xfer */ + ep->xfer_buff = pBuf; + ep->xfer_len = len; + ep->xfer_count = 0; + ep->is_in = 1; + ep->num = ep_addr & 0x7F; + + if (hpcd->Init.dma_enable == 1) + { + ep->dma_addr = (uint32_t)pBuf; + } + + if ((ep_addr & 0x7F) == 0 ) + { + USB_EP0StartXfer(hpcd->Instance , ep, hpcd->Init.dma_enable); + } + else + { + USB_EPStartXfer(hpcd->Instance , ep, hpcd->Init.dma_enable); + } + + return HAL_OK; +} + +/** + * @brief Set a STALL condition over an endpoint. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) +{ + USB_OTG_EPTypeDef *ep = NULL; + + if ((0x80 & ep_addr) == 0x80) + { + ep = &hpcd->IN_ep[ep_addr & 0x7F]; + } + else + { + ep = &hpcd->OUT_ep[ep_addr]; + } + + ep->is_stall = 1; + ep->num = ep_addr & 0x7F; + ep->is_in = ((ep_addr & 0x80) == 0x80); + + + __HAL_LOCK(hpcd); + USB_EPSetStall(hpcd->Instance , ep); + if((ep_addr & 0x7F) == 0) + { + USB_EP0_OutStart(hpcd->Instance, hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); + } + __HAL_UNLOCK(hpcd); + + return HAL_OK; +} + +/** + * @brief Clear a STALL condition over in an endpoint. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) +{ + USB_OTG_EPTypeDef *ep = NULL; + + if ((0x80 & ep_addr) == 0x80) + { + ep = &hpcd->IN_ep[ep_addr & 0x7F]; + } + else + { + ep = &hpcd->OUT_ep[ep_addr]; + } + + ep->is_stall = 0; + ep->num = ep_addr & 0x7F; + ep->is_in = ((ep_addr & 0x80) == 0x80); + + __HAL_LOCK(hpcd); + USB_EPClearStall(hpcd->Instance , ep); + __HAL_UNLOCK(hpcd); + + return HAL_OK; +} + +/** + * @brief Flush an endpoint. + * @param hpcd: PCD handle + * @param ep_addr: endpoint address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) +{ + __HAL_LOCK(hpcd); + + if ((ep_addr & 0x80) == 0x80) + { + USB_FlushTxFifo(hpcd->Instance, ep_addr & 0x7F); + } + else + { + USB_FlushRxFifo(hpcd->Instance); + } + + __HAL_UNLOCK(hpcd); + + return HAL_OK; +} + +/** + * @brief Activate remote wake-up signalling. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + + if((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) + { + /* Activate Remote wake-up signaling */ + USBx_DEVICE->DCTL |= USB_OTG_DCTL_RWUSIG; + } + return HAL_OK; +} + +/** + * @brief De-activate remote wake-up signalling. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + + /* De-activate Remote wake-up signaling */ + USBx_DEVICE->DCTL &= ~(USB_OTG_DCTL_RWUSIG); + return HAL_OK; +} +/** + * @} + */ + +/** @defgroup PCD_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the PCD handle state. + * @param hpcd: PCD handle + * @retval HAL state + */ +PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd) +{ + return hpcd->State; +} + +/** + * @} + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ +/** @addtogroup PCD_Private_Functions + * @{ + */ + +/** + * @brief Check FIFO for the next packet to be loaded. + * @param hpcd: PCD handle + * @param epnum : endpoint number + * @retval HAL status + */ +static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + USB_OTG_EPTypeDef *ep = NULL; + int32_t len = 0U; + uint32_t len32b = 0U; + uint32_t fifoemptymsk = 0U; + + ep = &hpcd->IN_ep[epnum]; + len = ep->xfer_len - ep->xfer_count; + + if (len > ep->maxpacket) + { + len = ep->maxpacket; + } + + + len32b = (len + 3) / 4; + + while ( (USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) > len32b && + ep->xfer_count < ep->xfer_len && + ep->xfer_len != 0) + { + /* Write the FIFO */ + len = ep->xfer_len - ep->xfer_count; + + if (len > ep->maxpacket) + { + len = ep->maxpacket; + } + len32b = (len + 3) / 4; + + USB_WritePacket(USBx, ep->xfer_buff, epnum, len, hpcd->Init.dma_enable); + + ep->xfer_buff += len; + ep->xfer_count += len; + } + + if(len <= 0) + { + fifoemptymsk = 0x1 << epnum; + USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; + + } + + return HAL_OK; +} + +/** + * @} + */ + +#endif /* HAL_PCD_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c new file mode 100644 index 0000000000..04c3eb80b5 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c @@ -0,0 +1,322 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pcd_ex.c + * @author MCD Application Team + * @brief PCD HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the USB Peripheral Controller: + * + Extended features functions + * + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup PCDEx PCDEx + * @brief PCD Extended HAL module driver + * @{ + */ +#ifdef HAL_PCD_MODULE_ENABLED + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions + * @{ + */ + +/** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions + * @brief PCDEx control functions + * +@verbatim + =============================================================================== + ##### Extended features functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Update FIFO configuration + +@endverbatim + * @{ + */ + +/** + * @brief Set Tx FIFO. + * @param hpcd: PCD handle + * @param fifo: The number of Tx fifo + * @param size: Fifo size + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size) +{ + uint8_t i = 0; + uint32_t Tx_Offset = 0; + + /* TXn min size = 16 words. (n : Transmit FIFO index) + When a TxFIFO is not used, the Configuration should be as follows: + case 1 : n > m and Txn is not used (n,m : Transmit FIFO indexes) + --> Txm can use the space allocated for Txn. + case2 : n < m and Txn is not used (n,m : Transmit FIFO indexes) + --> Txn should be configured with the minimum space of 16 words + The FIFO is used optimally when used TxFIFOs are allocated in the top + of the FIFO.Ex: use EP1 and EP2 as IN instead of EP1 and EP3 as IN ones. + When DMA is used 3n * FIFO locations should be reserved for internal DMA registers */ + + Tx_Offset = hpcd->Instance->GRXFSIZ; + + if(fifo == 0) + { + hpcd->Instance->DIEPTXF0_HNPTXFSIZ = (uint32_t)(((uint32_t)size << 16) | Tx_Offset); + } + else + { + Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; + for (i = 0; i < (fifo - 1); i++) + { + Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); + } + + /* Multiply Tx_Size by 2 to get higher performance */ + hpcd->Instance->DIEPTXF[fifo - 1] = (uint32_t)(((uint32_t)size << 16) | Tx_Offset); + } + + return HAL_OK; +} + +/** + * @brief Set Rx FIFO. + * @param hpcd: PCD handle + * @param size: Size of Rx fifo + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) +{ + hpcd->Instance->GRXFSIZ = size; + + return HAL_OK; +} + +/** + * @brief Activate LPM Feature. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + + hpcd->lpm_active = ENABLE; + hpcd->LPM_State = LPM_L0; + USBx->GINTMSK |= USB_OTG_GINTMSK_LPMINTM; + USBx->GLPMCFG |= (USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); + + return HAL_OK; +} + +/** + * @brief De-activate LPM feature. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + + hpcd->lpm_active = DISABLE; + USBx->GINTMSK &= ~USB_OTG_GINTMSK_LPMINTM; + USBx->GLPMCFG &= ~(USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); + + return HAL_OK; +} + +#if defined (USB_OTG_GCCFG_BCDEN) +/** + * @brief Handle Battery Charging Process. + * @param hpcd: PCD handle + * @retval HAL status + */ +void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + uint32_t tickstart = HAL_GetTick(); + + /* Start BCD When device is connected */ + if (USBx_DEVICE->DCTL & USB_OTG_DCTL_SDIS) + { + /* Enable DCD : Data Contact Detect */ + USBx->GCCFG |= USB_OTG_GCCFG_DCDEN; + + /* Wait Detect flag or a timeout is happen*/ + while ((USBx->GCCFG & USB_OTG_GCCFG_DCDET) == 0) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart ) > 1000) + { + HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_ERROR); + return; + } + } + + /* Right response got */ + HAL_Delay(100); + + /* Check Detect flag*/ + if (USBx->GCCFG & USB_OTG_GCCFG_DCDET) + { + HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CONTACT_DETECTION); + } + + /*Primary detection: checks if connected to Standard Downstream Port + (without charging capability) */ + USBx->GCCFG &=~ USB_OTG_GCCFG_DCDEN; + USBx->GCCFG |= USB_OTG_GCCFG_PDEN; + HAL_Delay(100); + + if (!(USBx->GCCFG & USB_OTG_GCCFG_PDET)) + { + /* Case of Standard Downstream Port */ + HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT); + } + else + { + /* start secondary detection to check connection to Charging Downstream + Port or Dedicated Charging Port */ + USBx->GCCFG &=~ USB_OTG_GCCFG_PDEN; + USBx->GCCFG |= USB_OTG_GCCFG_SDEN; + HAL_Delay(100); + + if ((USBx->GCCFG) & USB_OTG_GCCFG_SDET) + { + /* case Dedicated Charging Port */ + HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT); + } + else + { + /* case Charging Downstream Port */ + HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT); + } + } + /* Battery Charging capability discovery finished */ + HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DISCOVERY_COMPLETED); + } +} + +/** + * @brief Activate BatteryCharging feature. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + + hpcd->battery_charging_active = ENABLE; + USBx->GCCFG |= (USB_OTG_GCCFG_BCDEN); + + /* Enable DCD : Data Contact Detect */ + USBx->GCCFG |= USB_OTG_GCCFG_DCDEN; + + return HAL_OK; +} + +/** + * @brief Deactivate BatteryCharging feature. + * @param hpcd: PCD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd) +{ + USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; + hpcd->battery_charging_active = DISABLE; + USBx->GCCFG &= ~(USB_OTG_GCCFG_BCDEN); + return HAL_OK; +} + +/** + * @brief Send BatteryCharging message to user layer callback. + * @param hpcd: PCD handle + * @param msg: LPM message + * @retval HAL status + */ +__weak void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + UNUSED(msg); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_PCDEx_BCD_Callback could be implemented in the user file + */ +} +#endif /* USB_OTG_GCCFG_BCDEN */ + +/** + * @brief Send LPM message to user layer callback. + * @param hpcd: PCD handle + * @param msg: LPM message + * @retval HAL status + */ +__weak void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hpcd); + UNUSED(msg); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_PCDEx_LPM_Callback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_PCD_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c new file mode 100644 index 0000000000..535df1d84a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c @@ -0,0 +1,608 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pwr.c + * @author MCD Application Team + * @brief PWR HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Power Controller (PWR) peripheral: + * + Initialization and de-initialization functions + * + Peripheral Control functions + * + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup PWR PWR + * @brief PWR HAL module driver + * @{ + */ + +#ifdef HAL_PWR_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup PWR_Private_Constants PWR Private Constants + * @{ + */ + +/** @defgroup PWR_PVD_Mode_Mask PWR PVD Mode Mask + * @{ + */ +#define PVD_MODE_IT ((uint32_t)0x00010000U) +#define PVD_MODE_EVT ((uint32_t)0x00020000U) +#define PVD_RISING_EDGE ((uint32_t)0x00000001U) +#define PVD_FALLING_EDGE ((uint32_t)0x00000002U) +#define PVD_RISING_FALLING_EDGE ((uint32_t)0x00000003U) +/** + * @} + */ + +/** + * @} + */ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup PWR_Exported_Functions PWR Exported Functions + * @{ + */ + +/** @defgroup PWR_Exported_Functions_Group1 Initialization and De-Initialization functions + * @brief Initialization and De-Initialization functions + * +@verbatim + =============================================================================== + ##### Initialization and De-Initialization functions ##### + =============================================================================== + [..] + After reset, the backup domain (RTC registers, RTC backup data + registers and backup SRAM) is protected against possible unwanted + write accesses. + To enable access to the RTC Domain and RTC registers, proceed as follows: + (+) Enable the Power Controller (PWR) APB1 interface clock using the + __HAL_RCC_PWR_CLK_ENABLE() macro. + (+) Enable access to RTC domain using the HAL_PWR_EnableBkUpAccess() function. + +@endverbatim + * @{ + */ + +/** + * @brief Deinitialize the HAL PWR peripheral registers to their default reset values. + * @note This functionality is not available in this product. + * The prototype is kept just to maintain compatibility with other products. + * @retval None + */ +void HAL_PWR_DeInit(void) +{ +} + +/** + * @brief Enable access to the backup domain (RTC registers, RTC + * backup data registers and backup SRAM). + * @note If the HSE divided by 2, 3, ..31 is used as the RTC clock, the + * Backup Domain Access should be kept enabled. + * @retval None + */ +void HAL_PWR_EnableBkUpAccess(void) +{ + /* Enable access to RTC and backup registers */ + SET_BIT(PWR->CR1, PWR_CR1_DBP); +} + +/** + * @brief Disable access to the backup domain (RTC registers, RTC + * backup data registers and backup SRAM). + * @note If the HSE divided by 2, 3, ..31 is used as the RTC clock, the + * Backup Domain Access should be kept enabled. + * @retval None + */ +void HAL_PWR_DisableBkUpAccess(void) +{ + /* Disable access to RTC and backup registers */ + CLEAR_BIT(PWR->CR1, PWR_CR1_DBP); +} + +/** + * @} + */ + +/** @defgroup PWR_Exported_Functions_Group2 Peripheral Control functions + * @brief Low Power modes configuration functions + * +@verbatim + + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + + *** PVD configuration *** + ========================= + [..] + (+) The PVD is used to monitor the VDD power supply by comparing it to a + threshold selected by the PVD Level (PLS[7:0] bits in the PWR_CR1 register). + (+) A PVDO flag is available to indicate if VDD is higher or lower + than the PVD threshold. This event is internally connected to the EXTI + line 16 to generate an interrupt if enabled. + It is configurable through __HAL_PWR_PVD_EXTI_ENABLE_IT() macro. + (+) The PVD is stopped in Standby mode. + + *** Wake-up pin configuration *** + ================================ + [..] + (+) Wake-up pin is used to wake up the system from Standby mode. + The pin pull is configurable through the WKUPEPR register to be in No pull-up, Pull-up and Pull-down. + The pin polarity is configurable through the WKUPEPR register to be active on rising or falling edges. + (+) There are up to six Wake-up pin in the STM32H7 devices family. + + *** Low Power modes configuration *** + ===================================== + [..] + The device present 3 principles low-power modes features: + (+) SLEEP mode: Cortex-M7 core stopped and D1, D2 and D3 peripherals kept running. + (+) STOP mode: all clocks are stoppedand the regulator running in main or low power mode. + (+) STANDBY mode: D1, D2 and D3 domains enter DSTANDBY mode and the VCORE supply + regulator is powered off. + + *** SLEEP mode *** + ================== + [..] + (+) Entry: + The Sleep mode is entered by using the HAL_PWR_EnterSLEEPMode(Regulator, SLEEPEntry) + function. + + (++) PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction + (++) PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction + + -@@- The Regulator parameter is not used for the STM32H7 family + and is kept as parameter just to maintain compatibility with the + lower power families (STM32L). + (+) Exit: + Any peripheral interrupt acknowledged by the nested vectored interrupt + controller (NVIC) can wake up the device from Sleep mode. + + *** STOP mode *** + ================= + [..] + In system Stop mode, all clocks in the 1.2V domain are stopped, the PLL, the HSI, + and the HSE RC oscillators are disabled. Internal SRAM and register contents + are preserved. + The voltage regulator can be configured either in normal or low-power mode. + To minimize the consumption In Stop mode, FLASH can be powered off before + entering the Stop mode using the HAL_PWREx_EnableFlashPowerDown() function. + It can be switched on again by software after exiting the Stop mode using + the HAL_PWREx_DisableFlashPowerDown() function. + + (+) Entry: + The Stop mode is entered using the HAL_PWR_EnterSTOPMode(Regulator, STOPEntry) + function with: + (++) Regulator: + (+++) PWR_MAINREGULATOR_ON: Main regulator ON. + (+++) PWR_LOWPOWERREGULATOR_ON: Low Power regulator ON. + (++) STOPEntry: + (+++) PWR_STOPENTRY_WFI: enter STOP mode with WFI instruction + (+++) PWR_STOPENTRY_WFE: enter STOP mode with WFE instruction + (+) Exit: + Any EXTI Line (Internal or External) configured in Interrupt/Event mode. + + *** STANDBY mode *** + ==================== + [..] + (+) + The system Standby mode allows to achieve the lowest power consumption. It is based + on the Cortex-M7 deep sleep mode, with the voltage regulator disabled. + The system is consequently powered off. The PLL, the HSI oscillator and + the HSE oscillator are also switched off. SRAM and register contents are lost + except for the RTC registers, RTC backup registers, backup SRAM and Standby + circuitry. + [..] + The voltage regulator is OFF. + (++) Entry: + (+++) The Standby mode is entered using the HAL_PWR_EnterSTANDBYMode() function. + (++) Exit: + (+++) WKUP pin rising or falling edge, RTC alarm (Alarm A and Alarm B), RTC + wakeup, tamper event, time stamp event, external reset in NRST pin, IWDG reset. + + *** Auto-wakeup (AWU) from low-power mode *** + ============================================= + [..] + (+) The MCU can be woken up from low-power mode by an RTC Alarm event, an RTC + Wakeup event, a tamper event or a time-stamp event, without depending on + an external interrupt (Auto-wakeup mode). + (+) RTC auto-wakeup (AWU) from the STOP and STANDBY modes + (++) To wake up from the Stop mode with an RTC alarm event, it is necessary to + configure the RTC to generate the RTC alarm using the HAL_RTC_SetAlarm_IT() function. + (++) To wake up from the Stop mode with an RTC Tamper or time stamp event, it + is necessary to configure the RTC to detect the tamper or time stamp event using the + HAL_RTCEx_SetTimeStamp_IT() or HAL_RTCEx_SetTamper_IT() functions. + (++) To wake up from the Stop mode with an RTC WakeUp event, it is necessary to + configure the RTC to generate the RTC WakeUp event using the HAL_RTCEx_SetWakeUpTimer_IT() function. + +@endverbatim + * @{ + */ + +/** + * @brief Configure the voltage threshold detected by the Power Voltage Detector(PVD). + * @param sConfigPVD: pointer to an PWR_PVDTypeDef structure that contains the configuration + * information for the PVD. + * @note Refer to the electrical characteristics of your device datasheet for + * more details about the voltage threshold corresponding to each + * detection level. + * @retval None + */ +void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD) +{ + /* Check the parameters */ + assert_param(IS_PWR_PVD_LEVEL(sConfigPVD->PVDLevel)); + assert_param(IS_PWR_PVD_MODE(sConfigPVD->Mode)); + + /* Set PLS[7:5] bits according to PVDLevel value */ + MODIFY_REG(PWR->CR1, PWR_CR1_PLS, sConfigPVD->PVDLevel); + + /* Clear any previous config */ + __HAL_PWR_PVD_EXTI_DISABLE_EVENT(); + __HAL_PWR_PVD_EXTI_DISABLE_IT(); + __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE(); + __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE(); + + /* Configure interrupt mode */ + if((sConfigPVD->Mode & PVD_MODE_IT) == PVD_MODE_IT) + { + __HAL_PWR_PVD_EXTI_ENABLE_IT(); + } + + /* Configure event mode */ + if((sConfigPVD->Mode & PVD_MODE_EVT) == PVD_MODE_EVT) + { + __HAL_PWR_PVD_EXTI_ENABLE_EVENT(); + } + + /* Configure the edge */ + if((sConfigPVD->Mode & PVD_RISING_EDGE) == PVD_RISING_EDGE) + { + __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE(); + } + + if((sConfigPVD->Mode & PVD_FALLING_EDGE) == PVD_FALLING_EDGE) + { + __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE(); + } +} + +/** + * @brief Enable the Power Voltage Detector(PVD). + * @retval None + */ +void HAL_PWR_EnablePVD(void) +{ + /* Enable the power voltage detector */ + SET_BIT(PWR->CR1, PWR_CR1_PVDEN); +} + +/** + * @brief Disable the Power Voltage Detector(PVD). + * @retval None + */ +void HAL_PWR_DisablePVD(void) +{ + /* Disable the power voltage detector */ + CLEAR_BIT(PWR->CR1, PWR_CR1_PVDEN); +} + +/** + * @brief Enable the WakeUp PINx functionality. + * @param WakeUpPinPolarity: Specifies which Wake-Up pin to enable. + * This parameter can be one of the following legacy values, which sets the default: + * polarity detection on high level (rising edge): + * @arg PWR_WAKEUP_PIN1, PWR_WAKEUP_PIN2, PWR_WAKEUP_PIN3, PWR_WAKEUP_PIN4, + * PWR_WAKEUP_PIN5, PWR_WAKEUP_PIN6 or one of the following values where + * the user can explicitly states the enabled pin and the chosen polarity. + * @arg PWR_WAKEUP_PIN1_HIGH or PWR_WAKEUP_PIN1_LOW + * @arg PWR_WAKEUP_PIN2_HIGH or PWR_WAKEUP_PIN2_LOW + * @arg PWR_WAKEUP_PIN3_HIGH or PWR_WAKEUP_PIN3_LOW + * @arg PWR_WAKEUP_PIN4_HIGH or PWR_WAKEUP_PIN4_LOW + * @arg PWR_WAKEUP_PIN5_HIGH or PWR_WAKEUP_PIN5_LOW + * @arg PWR_WAKEUP_PIN6_HIGH or PWR_WAKEUP_PIN6_LOW + * @note PWR_WAKEUP_PINx and PWR_WAKEUP_PINx_HIGH are equivalent. + * @retval None + */ +void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity) +{ + assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinPolarity)); + + /* Enable and Specify the Wake-Up pin polarity and the pull configuration + for the event detection (rising or falling edge) */ + MODIFY_REG(PWR->WKUPEPR, PWR_EWUP_MASK, WakeUpPinPolarity); +} + +/** + * @brief Disable the WakeUp PINx functionality. + * @param WakeUpPinx: Specifies the Power Wake-Up pin to disable. + * This parameter can be one of the following values: + * @arg PWR_WAKEUP_PIN1 + * @arg PWR_WAKEUP_PIN2 + * @arg PWR_WAKEUP_PIN3 + * @arg PWR_WAKEUP_PIN4 + * @arg PWR_WAKEUP_PIN5 + * @arg PWR_WAKEUP_PIN6 + * @retval None + */ +void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx) +{ + assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx)); + + CLEAR_BIT(PWR->WKUPEPR, WakeUpPinx); +} + +/** + * @brief Enter CM7 core to Sleep mode. + * @param Regulator: Specifies the regulator state in SLEEP mode. + * This parameter can be one of the following values: + * @arg PWR_MAINREGULATOR_ON: SLEEP mode with regulator ON + * @arg PWR_LOWPOWERREGULATOR_ON: SLEEP mode with low power regulator ON + * @note This parameter is not used for the STM32H7 family and is kept as parameter + * just to maintain compatibility with the lower power families. + * @param SLEEPEntry: Specifies if SLEEP mode in entered with WFI or WFE instruction. + * This parameter can be one of the following values: + * @arg PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction + * @arg PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction + * @retval None + */ +void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry) +{ + /* Check the parameters */ + assert_param(IS_PWR_REGULATOR(Regulator)); + assert_param(IS_PWR_SLEEP_ENTRY(SLEEPEntry)); + + /* Clear SLEEPDEEP bit of Cortex System Control Register */ + CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPDEEP_Msk)); + + /* Select SLEEP mode entry */ + if(SLEEPEntry == PWR_SLEEPENTRY_WFI) + { + /* Request Wait For Interrupt */ + __WFI(); + } + else + { + /* Request Wait For Event */ + __SEV(); + __WFE(); + __WFE(); + } +} + +/** + * @brief Enter the system to STOP mode. + * @note In System Stop mode, all I/O pins keep the same state as in Run mode. + * @note When exiting System Stop mode by issuing an interrupt or a wakeup event, + * the HSI RC oscillator is selected as default system wakeup clock. + * @note In System STOP mode, when the voltage regulator operates in low power mode, + * an additional startup delay is incurred when the system is waking up. + * By keeping the internal regulator ON during Stop mode, the consumption + * is higher although the startup time is reduced. + * @param Regulator: Specifies the regulator state in Stop mode. + * This parameter can be one of the following values: + * @arg PWR_MAINREGULATOR_ON: Stop mode with regulator ON + * @arg PWR_LOWPOWERREGULATOR_ON: Stop mode with low power regulator ON + * @param STOPEntry: Specifies if Stop mode in entered with WFI or WFE instruction. + * This parameter can be one of the following values: + * @arg PWR_STOPENTRY_WFI: Enter Stop mode with WFI instruction + * @arg PWR_STOPENTRY_WFE: Enter Stop mode with WFE instruction + * @retval None + */ +void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_PWR_REGULATOR(Regulator)); + assert_param(IS_PWR_STOP_ENTRY(STOPEntry)); + + /* Select the regulator state in Stop mode */ + tmpreg = PWR->CR1; + /* Clear PDDS and LPDS bits */ + tmpreg &= (uint32_t)~(PWR_CR1_LPDS); + + /* Set LPDS bit according to Regulator value */ + tmpreg |= Regulator; + + /* Store the new value */ + PWR->CR1 = tmpreg; + + /* Keep DSTOP mode when D1 domain enters Deepsleep */ + CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D1); + + /* Keep DSTOP mode when D2 domain enters Deepsleep */ + CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D2); + + /* Keep DSTOP mode when D3 domain enters Deepsleep */ + CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D3); + + /* Set SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; + + /* Ensure that all instructions done before entering STOP mode */ + __DSB(); + __ISB(); + + /* Select Stop mode entry */ + if(STOPEntry == PWR_STOPENTRY_WFI) + { + /* Request Wait For Interrupt */ + __WFI(); + } + else + { + /* Request Wait For Event */ + __SEV(); + __WFE(); + __WFE(); + } + /* Reset SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +} + +/** + * @brief Enter the system to STANDBY mode. + * @note The system enters Standby mode only when the D1, D2 and D3 domains are in DStandby. + * @note When the System exit STANDBY mode by issuing an interrupt or a wakeup event, + * the HSI RC oscillator is selected as system clock. + * @retval None. + */ +void HAL_PWR_EnterSTANDBYMode(void) +{ + /* Keep DSTANDBY mode when D1 domain enters Deepsleep */ + SET_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D1); + + /* Keep DSTANDBY mode when D2 domain enters Deepsleep */ + SET_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D2); + + /* Keep DSTANDBY mode when D3 domain enters Deepsleep */ + SET_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D3); + + /* Set SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; + + /* This option is used to ensure that store operations are completed */ +#if defined ( __CC_ARM) + __force_stores(); +#endif + /* Request Wait For Interrupt */ + __WFI(); +} + +/** + * @brief Indicate Sleep-On-Exit when returning from Handler mode to Thread mode. + * @note Set SLEEPONEXIT bit of SCR register. When this bit is set, the processor + * re-enters SLEEP mode when an interruption handling is over. + * Setting this bit is useful when the processor is expected to run only on + * interruptions handling. + * @retval None + */ +void HAL_PWR_EnableSleepOnExit(void) +{ + /* Set SLEEPONEXIT bit of Cortex System Control Register */ + SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk)); +} + + +/** + * @brief Disable Sleep-On-Exit feature when returning from Handler mode to Thread mode. + * @note Clears SLEEPONEXIT bit of SCR register. When this bit is set, the processor + * re-enters SLEEP mode when an interruption handling is over. + * @retval None + */ +void HAL_PWR_DisableSleepOnExit(void) +{ + /* Clear SLEEPONEXIT bit of Cortex System Control Register */ + CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk)); +} + +/** + * @brief Enable CORTEX SEVONPEND bit. + * @note Sets SEVONPEND bit of SCR register. When this bit is set, this causes + * WFE to wake up when an interrupt moves from inactive to pended. + * @retval None + */ +void HAL_PWR_EnableSEVOnPend(void) +{ + /* Set SEVONPEND bit of Cortex System Control Register */ + SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk)); +} + +/** + * @brief Disable CORTEX SEVONPEND bit. + * @note Clears SEVONPEND bit of SCR register. When this bit is set, this causes + * WFE to wake up when an interrupt moves from inactive to pended. + * @retval None + */ +void HAL_PWR_DisableSEVOnPend(void) +{ + /* Clear SEVONPEND bit of Cortex System Control Register */ + CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk)); +} + +/** + * @brief This function handles the PWR PVD interrupt request. + * @note This API should be called under the PVD_IRQHandler(). + * @retval None + */ +void HAL_PWR_PVD_IRQHandler(void) +{ + /* PVD EXTI line interrupt detected */ + if(__HAL_PWR_PVD_EXTI_GET_FLAG() != RESET) + { + /* PWR PVD interrupt user callback */ + HAL_PWR_PVDCallback(); + + /* Clear PWR EXTI pending bit */ + __HAL_PWR_PVD_EXTI_CLEAR_FLAG(); + } +} + +/** + * @brief PWR PVD interrupt callback + * @retval None + */ +__weak void HAL_PWR_PVDCallback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWR_PVDCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_PWR_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c new file mode 100644 index 0000000000..7bf6be6226 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c @@ -0,0 +1,1291 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_pwr_ex.c + * @author MCD Application Team + * @brief Extended PWR HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of PWR extension peripheral: + * + Peripheral Extended features functions + * + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup PWREx PWREx + * @brief PWR Extended HAL module driver + * @{ + */ + +#ifdef HAL_PWR_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup PWREx_Private_Constants + * @{ + */ + +/** @defgroup PWREx_AVD_Mode_Mask PWR Extended AVD Mode Mask + * @{ + */ +#define AVD_MODE_IT ((uint32_t)0x00010000U) +#define AVD_MODE_EVT ((uint32_t)0x00020000U) +#define AVD_RISING_EDGE ((uint32_t)0x00000001U) +#define AVD_FALLING_EDGE ((uint32_t)0x00000002U) +#define AVD_RISING_FALLING_EDGE ((uint32_t)0x00000003U) +/** + * @} + */ + +/** @defgroup PWREx_REG_SET_TIMEOUT PWR Extended Flag Setting Time Out Value + * @{ + */ +#define PWR_FLAG_SETTING_DELAY_US ((uint32_t)1000U) +/** + * @} + */ + + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup PWREx_Exported_Functions PWREx Exported Functions + * @{ + */ + +/** @defgroup PWREx_Exported_Functions_Group1 Power supply control functions + * @brief Power supply control functions + * +@verbatim + + =============================================================================== + ##### Power supply control functions ##### + =============================================================================== + + *** Power supply configuration *** + ================================== + [..] + When the system is powered on, the POR monitors VDD supply. Once VDD is above the + POR threshold level, the voltage regulator is enabled in the default supply + configuration: + (+) The Voltage converter output level is set at 1.0 V in accordance with the VOS3 + level configured in PWR D3 domain control register (PWR_D3CR). + (+) The system is kept in reset mode as long as VCORE is not ok. + (+) Once VCORE is ok, the system is taken out of reset and the HSI oscillator is enabled. + (+) Once the oscillator is stable, the system is initialized: Flash memory and option + bytes are loaded and the CPU starts in Run* mode. + (+) The software shall then initialize the system including supply configuration + programming using the HAL_PWREx_ConfigSupply(SupplySource) with: + (++) SupplySource: + (+++) PWR_LDO_SUPPLY: VCORE Power Domains are supplied from the LDO according to + VOS. LDO power mode (Main, LP, Off) will follow system low-power + modes. + (+++) PWR_EXTERNAL_SOURCE_SUPPLY: VCORE supplied from external source and LDO bypassed, + voltage monitoring still active. + (+) Once the supply configuration has been configured, the HAL_PWREx_ConfigSupply + function checks the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) + to guarantee a valid voltage levels: + (++) As long as ACTVOSRDY indicates that voltage levels are invalid, the system is in + limited Run* mode, write accesses to the RAMs are not permitted and VOS shall + not be changed. + (++) Once ACTVOSRDY indicates that voltage levels are valid, the system is in normal + Run mode, write accesses to RAMs are allowed and VOS can be changed. + +@endverbatim + * @{ + */ + +/** + * @brief Configure the system Power Supply. + * @param SupplySource: Specifies the Power Supply source to set after a system startup. + * This parameter can be one of the following values: + * @arg PWR_LDO_SUPPLY The LDO regulator supplies the Vcore Power Domains. + * + * @arg PWR_EXTERNAL_SOURCE_SUPPLY The LDO regulator is Bypassed. + * The Vcore Power Domains are supplied from external source. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_PWREx_ConfigSupply(uint32_t SupplySource) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_PWR_SUPPLY(SupplySource)); + + /* Set the power supply configuration */ + MODIFY_REG(PWR->CR3, PWR_SUPPLY_CONFIG_MASK, SupplySource); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait till voltage level flag is set and supply configuration update flag is reset */ + while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ACTVOSRDY) && __HAL_PWR_GET_FLAG(PWR_FLAG_SCUEN)) + { + if((HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY_US) + { + return HAL_TIMEOUT; + } + } + + return HAL_OK; +} + + +/** + * @brief Get the power supply configuration. + * @retval The supply configuration. + */ +uint32_t HAL_PWREx_GetSupplyConfig(void) +{ + return (PWR->CR3 & PWR_SUPPLY_CONFIG_MASK); +} + + +/** + * @brief Configure the main internal regulator output voltage. + * @param VoltageScaling: Specifies the regulator output voltage to achieve + * a tradeoff between performance and power consumption. + * This parameter can be one of the following values: + * @arg PWR_REGULATOR_VOLTAGE_SCALE1: Regulator voltage output range 1 mode. + * @arg PWR_REGULATOR_VOLTAGE_SCALE2: Regulator voltage output range 2 mode. + * @arg PWR_REGULATOR_VOLTAGE_SCALE3: Regulator voltage output range 3 mode. + * @note When moving from Range 1 to Range 2, the system frequency must be decreased + * before calling HAL_PWREx_ControlVoltageScaling() API. + * When moving from Range 2 to Range 1, the system frequency can be increased + * after calling HAL_PWREx_ControlVoltageScaling() API. + * @note When moving from a Range to an other one, the API waits for VOSRDY flag to be + * set before returning the status. If the flag is not set within 1000 microseconds, + * HAL_TIMEOUT status is reported. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling) +{ + uint32_t tickstart = 0; + + assert_param(IS_PWR_REGULATOR_VOLTAGE(VoltageScaling)); + + /* Set the voltage range */ + MODIFY_REG(PWR->D3CR, PWR_D3CR_VOS, VoltageScaling); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until the VOSRDY flag is set */ + while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) + { + if((HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY_US) + { + return HAL_TIMEOUT; + } + } + + return HAL_OK; +} + +/** + * @brief Get the main internal regulator output voltage. + * Reflecting the last VOS value applied to the PMU. + * @retval The actual applied VOS for VDD11 Voltage Scaling selection. + */ +uint32_t HAL_PWREx_GetVoltageRange(void) +{ + return (PWR->CSR1 & PWR_CSR1_ACTVOS); +} + +/** + * @brief Configure the main internal regulator output voltage in STOP mode. + * @param VoltageScaling: Specifies the regulator output voltage when the system enters + * STOP mode to achieve a tradeoff between performance and power consumption. + * This parameter can be one of the following values: + * @arg PWR_REGULATOR_SVOS_SCALE3: Regulator voltage output range 3 mode. + * @arg PWR_REGULATOR_SVOS_SCALE4: Regulator voltage output range 4 mode. + * @arg PWR_REGULATOR_SVOS_SCALE5: Regulator voltage output range 5 mode. + * @note The Stop mode voltage scaling for SVOS4 and SVOS5 sets the voltage regulator + * in Low-power (LP) mode to further reduce power consumption. + * When preselecting SVOS3, the use of the voltage regulator low-power mode (LP) + * can be selected by LPDS register bit. + * @note The selected SVOS4 and SVOS5 levels add an additional startup delay when exiting + * from system Stop mode. + * @retval HAL Status + */ +HAL_StatusTypeDef HAL_PWREx_ControlStopModeVoltageScaling(uint32_t VoltageScaling) +{ + assert_param(IS_PWR_STOP_MODE_REGULATOR_VOLTAGE(VoltageScaling)); + + /* Set the stop mode voltage range */ + MODIFY_REG(PWR->CR1, PWR_CR1_SVOS, VoltageScaling); + + return HAL_OK; +} + +/** + * @brief Get the main internal regulator output voltage in STOP mode. + * @retval The actual applied VOS for VDD11 Voltage Scaling selection. + */ +uint32_t HAL_PWREx_GetStopModeVoltageRange(void) +{ + return (PWR->CR1 & PWR_CR1_SVOS); +} + +/** + * @} + */ + +/** @defgroup PWREx_Exported_Functions_Group2 Low power control functions + * @brief Low power control functions + * +@verbatim + + =============================================================================== + ##### Low power control functions ##### + =============================================================================== + + *** Domains Low Power modes configuration *** + ============================================= + [..] + The system present 3 principles domains (D1, D2 and D3) that can be operated + in low-power modes (DSTOP or DSTANDBY mode): + + (+) DSTOP mode to enters a domain to STOP mode: + (++) D1 domain and/or D2 domain enters DSTOP mode only when the CPU + subsystem is in CSTOP mode and has allocated peripheral in the domain. + In DSTOP mode the domain bus matrix clock is stopped. + (++) The system enters STOP mode using one of the following scenarios: + (+++) D1 domain enters DSTANDBY mode (powered off) and D2, D3 domains enter DSTOP mode. + (+++) D2 domain enters DSTANDBY mode (powered off) and D1, D3 domains enter DSTOP mode. + (+++) D3 domain enters DSTANDBY mode (powered off) and D1, D2 domains enter DSTOP mode. + (+++) D1 and D2 domains enter DSTANDBY mode (powered off) and D3 domain enters DSTOP mode. + (+++) D1 and D3 domains enter DSTANDBY mode (powered off) and D2 domain enters DSTOP mode. + (+++) D2 and D3 domains enter DSTANDBY mode (powered off) and D1 domain enters DSTOP mode. + (+++) D1, D2 and D3 domains enter DSTOP mode. + (++) When the system enters STOP mode, the clocks are stopped and the regulator is running + in main or low power mode. + (++) D3 domain can be kept in Run mode regardless of the CPU status when enter + STOP mode by using HAL_PWREx_ConfigD3Domain(D3State) function. + + (+) DSTANDBY mode to enters a domain to STANDBY mode: + (++) The DSTANDBY mode is entered when the PDDS_Dn bit in PWR CPU control register + (PWR_CPUCR) for the Dn domain selects Standby mode. + (++) The system enters STANDBY mode only when D1, D2 and D3 domains enter DSTANDBY mode. + Consequently the VCORE supply regulator is powered off. + + *** DSTOP mode *** + ================== + [..] + In DStop mode the domain bus matrix clock is stopped. + The Flash memory can enter low-power Stop mode when it is enabled through FLPS in + PWR_CR1 register. This allows a trade-off between domain DStop restart time and low + power consumption. + [..] + In DStop mode domain peripherals using the LSI or LSE clock and peripherals having a + kernel clock request are still able to operate. + [..] + Before entering DSTOP mode it is recommended to call SCB_CleanDCache function + in order to clean the D-Cache and guarantee the data integrity for the SRAM memories. + + (+) Entry: + The DSTOP mode is entered using the HAL_PWREx_EnterSTOPMode(Regulator, STOPEntry, Domain) + function with: + (++) Regulator: + (+++) PWR_MAINREGULATOR_ON: Main regulator ON. + (+++) PWR_LOWPOWERREGULATOR_ON: Low Power regulator ON. + (++) STOPEntry: + (+++) PWR_STOPENTRY_WFI: enter STOP mode with WFI instruction + (+++) PWR_STOPENTRY_WFE: enter STOP mode with WFE instruction + (++) Domain: + (+++) PWR_D1_DOMAIN: Enters D1 domain to DSTOP mode. + (+++) PWR_D2_DOMAIN: Enters D2 domain to DSTOP mode. + (+++) PWR_D3_DOMAIN: Enters D3 domain to DSTOP mode. + + (+) Exit: + Any EXTI Line (Internal or External) configured in Interrupt/Event mode. + + *** DSTANDBY mode *** + ==================== + [..] + In DStandby mode: + (+) The domain bus matrix clock is stopped. + (+) The domain is powered down and the domain RAM and register contents are lost. + [..] + Before entering DSTANDBY mode it is recommended to call SCB_CleanDCache function + in order to clean the D-Cache and guarantee the data integrity for the SRAM memories. + + (+) Entry: + The DSTANDBY mode is entered using the HAL_PWREx_EnterSTANDBYMode(Domain) function with: + (++) Domain: + (+++) PWR_D1_DOMAIN: Enters D1 domain to DSTANDBY mode. + (+++) PWR_D2_DOMAIN: Enters D2 domain to DSTANDBY mode. + (+++) PWR_D3_DOMAIN: Enters D3 domain to DSTANDBY mode. + + (+) Exit: + WKUP pin rising or falling edge, RTC alarm (Alarm A and Alarm B), RTC + wakeup, tamper event, time stamp event, external reset in NRST pin, IWDG reset. + + *** Keep D3 in RUN mode *** + =========================== + [..] + D3 domain can be kept in Run mode regardless of the CPU status when enter + STOP mode by using HAL_PWREx_ConfigD3Domain(D3State) function with: + (+) D3State: + (++) PWR_D3_DOMAIN_STOP: D3 domain will follow the CPU sub-system mode. + (++) PWR_D3_DOMAIN_RUN: D3 domain remains in Run mode regardless of CPU subsystem mode. + + *** FLASH Power Down configuration **** + ======================================= + [..] + By setting the FLPS bit in the PWR_CR1 register using the HAL_PWREx_EnableFlashPowerDown() + function, the Flash memory also enters power down mode when the device enters Stop mode. + When the Flash memory is in power down mode, an additional startup delay is incurred when + waking up from Stop mode. + + *** Wakeup Pins configuration **** + =================================== + [..] + Wakeup pins allow the system to exit from Standby mode. The configuration of + wakeup pins is done with the HAL_PWREx_EnableWakeUpPin(sPinParams) function with: + (+) sPinParams: structure to enable and configure a wakeup pin: + (++) WakeUpPin: Wakeup pin to be enabled. + (++) PinPolarity: Wakeup pin polarity (rising or falling edge). + (++) PinPull: Wakeup pin pull (no pull, pull-up or pull-down). + [..] + The wakeup pins are internally connected to the EXTI lines [55-60] to generate an interrupt + if enabled. The EXTI lines configuration is done by the HAL_EXTI_Dx_EventInputConfig() functions + defined in the stm32h7xxhal.c file. + [..] + When a wakeup pin event is received the HAL_PWREx_WAKEUP_PIN_IRQHandler is called + and the appropriate flag is set in the PWR_WKUPFR register. Then in the HAL_PWREx_WAKEUP_PIN_IRQHandler + function the wakeup pin flag will be cleared and the appropriate user callback will be called. + The user can add his own code by customization of function pointer HAL_PWREx_WKUPx_Callback. + +@endverbatim + * @{ + */ + +/** + * @brief Enter a Domain to DSTOP mode. + * @note In DStop mode the domain bus matrix clock is stopped. + * @note The system D3 domain enters Stop mode only when the CPU subsystem is in CStop mode, + * the EXTI wakeup sources are inactive and at least one PDDS_Dn bit in PWR CPU + * control register (PWR_CPUCR) for any domain request Stop. + * @note In system D3 domain Stop mode, D1 domain and D2 domain are either in DStop and/or + * DStandby mode. + * @note Before entering DSTOP mode it is recommended to call SCB_CleanDCache function + * in order to clean the D-Cache and guarantee the data integrity for the SRAM memories. + * @note In System Stop mode, the domain peripherals that use the LSI or LSE clock, and the + * peripherals that have a kernel clock request to select HSI or CSI as source, + * are still able to operate. + * @param Regulator: Specifies the regulator state in Stop mode. + * This parameter can be one of the following values: + * @arg PWR_MAINREGULATOR_ON: Stop mode with regulator ON + * @arg PWR_LOWPOWERREGULATOR_ON: Stop mode with low power regulator ON + * @param STOPEntry: Specifies if Stop mode in entered with WFI or WFE instruction. + * This parameter can be one of the following values: + * @arg PWR_STOPENTRY_WFI: Enter DStop mode with WFI instruction + * @arg PWR_STOPENTRY_WFE: Enter DStop mode with WFE instruction + * @param Domain: Specifies the Domain to enter STOP mode. + * This parameter can be one of the following values: + * @arg PWR_D1_DOMAIN: Enter D1 Domain to DSTOP mode. + * @arg PWR_D2_DOMAIN: Enter D2 Domain to DSTOP mode. + * @arg PWR_D3_DOMAIN: Enter D3 Domain to DSTOP mode. + * @retval None + */ +void HAL_PWREx_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry, uint32_t Domain) +{ + /* Check the parameters */ + assert_param(IS_PWR_REGULATOR(Regulator)); + assert_param(IS_PWR_STOP_ENTRY(STOPEntry)); + assert_param(IS_PWR_DOMAIN(Domain)); + + /* Select the regulator state in Stop mode */ + MODIFY_REG(PWR->CR1, PWR_CR1_LPDS, Regulator); + + /* Select the domain Power Down DeepSleep */ + if (Domain == PWR_D1_DOMAIN) + { + /* Keep DSTOP mode when D1 domain enters Deepsleep */ + CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D1); + + + /* Set SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; + + /* Ensure that all instructions done before entering STOP mode */ + __DSB(); + __ISB(); + + /* Select Stop mode entry */ + if(STOPEntry == PWR_STOPENTRY_WFI) + { + /* Request Wait For Interrupt */ + __WFI(); + } + else + { + /* Request Wait For Event */ + __SEV(); + __WFE(); + __WFE(); + } + + /* Reset SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); + } + else if (Domain == PWR_D2_DOMAIN) + { + /* Keep DSTOP mode when D2 domain enters Deepsleep */ + CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D2); + + } + else + { + /* Keep DSTOP mode when D3 domain enters Deepsleep */ + CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D3); + + } +} + +/** + * @brief Enter a Domain to DSTANDBY mode. + * @note The DStandby mode is entered when all PDDS_Dn bits in PWR_CPUCR for the Dn domain + * select Standby mode. When the system enters Standby mode, the voltage regulator + * is disabled. + * @note When D2 or D3 domain is in DStandby mode and the CPU sets the domain PDDS_Dn + * bit to select Stop mode, the domain remains in DStandby mode. The domain will only + * exit DStandby when the CPU allocates a peripheral in the domain. + * @note The system D3 domain enters Standby mode only when the D1 and D2 domain are in + * DStandby. + * @note Before entering DSTANDBY mode it is recommended to call SCB_CleanDCache function + * in order to clean the D-Cache and guarantee the data integrity for the SRAM memories. + * @param Domain: Specifies the Domain to enter to STANDBY mode. + * This parameter can be one of the following values: + * @arg PWR_D1_DOMAIN: Enter D1 Domain to DSTANDBY mode. + * @arg PWR_D2_DOMAIN: Enter D2 Domain to DSTANDBY mode. + * @arg PWR_D3_DOMAIN: Enter D3 Domain to DSTANDBY mode. + * @retval None + */ +void HAL_PWREx_EnterSTANDBYMode(uint32_t Domain) +{ + /* Check the parameters */ + assert_param(IS_PWR_DOMAIN(Domain)); + + /* Select the domain Power Down DeepSleep */ + if (Domain == PWR_D1_DOMAIN) + { + /* Allow DSTANDBY mode when D1 domain enters to Deepsleep */ + SET_BIT(PWR-> CPUCR, PWR_CPUCR_PDDS_D1); + + + /* Set SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; + + /* This option is used to ensure that store operations are completed */ +#if defined ( __CC_ARM) + __force_stores(); +#endif + + /* Request Wait For Interrupt */ + __WFI(); + } + else if (Domain == PWR_D2_DOMAIN) + { + /* Allow DSTANDBY mode when D2 domain enters to Deepsleep */ + SET_BIT(PWR-> CPUCR, PWR_CPUCR_PDDS_D2); + + } + else + { + /* Allow DSTANDBY mode when D3 domain enters to Deepsleep */ + SET_BIT(PWR-> CPUCR, PWR_CPUCR_PDDS_D3); + + } +} + +/** + * @brief Configure the D3 Domain state when the CPU is in low power mode. + * @param D3State: Specifies the D3 state. + * This parameter can be one of the following values: + * @arg PWR_D3_DOMAIN_STOP: D3 domain will follow the CPU sub-system mode. + * @arg PWR_D3_DOMAIN_RUN : D3 domain will stay in RUN mode regardless of the + * CPU sub-system mode. + * @retval None + */ +void HAL_PWREx_ConfigD3Domain(uint32_t D3State) +{ + /* Check the parameters */ + assert_param(IS_D3_STATE(D3State)); + + /* Keep D3 in run mode */ + MODIFY_REG(PWR->CPUCR, PWR_CPUCR_RUN_D3, D3State); +} + + + + + +/** + * @brief Enable the Flash Power Down in Stop mode. + * @retval None + */ +void HAL_PWREx_EnableFlashPowerDown(void) +{ + /* Enable the Flash Power Down */ + SET_BIT(PWR->CR1, PWR_CR1_FLPS); +} + +/** + * @brief Disable the Flash Power Down in Stop mode. + * @retval None + */ +void HAL_PWREx_DisableFlashPowerDown(void) +{ + /* Disable the Flash Power Down */ + CLEAR_BIT(PWR->CR1, PWR_CR1_FLPS); +} + +/** + * @brief Enable the Wake-up PINx functionality. + * @param sPinParams: pointer to an PWREx_WakeupPinTypeDef structure that contains + * the configuration informations for the wake-up Pin. + * @retval None + */ +void HAL_PWREx_EnableWakeUpPin(PWREx_WakeupPinTypeDef *sPinParams) +{ + uint32_t pinConfig; + uint32_t regMask; + const uint32_t pullMask = PWR_WKUPEPR_WKUPPUPD1; + + /* Check the parameters */ + assert_param(IS_PWR_WAKEUP_PIN(sPinParams->WakeUpPin)); + assert_param(IS_PWR_WAKEUP_PIN_POLARITY(sPinParams->PinPolarity)); + assert_param(IS_PWR_WAKEUP_PIN_PULL(sPinParams->PinPull)); + + pinConfig = sPinParams->WakeUpPin | \ + (sPinParams->PinPolarity << (POSITION_VAL(sPinParams->WakeUpPin) + PWR_WAKEUP_PINS_POLARITY_REGISTER_OFFSET)) | \ + (sPinParams->PinPull << ((POSITION_VAL(sPinParams->WakeUpPin) * PWR_WAKEUP_PINS_PULL_POSITION_OFFSET) + PWR_WAKEUP_PINS_PULL_REGISTER_OFFSET)); + + regMask = sPinParams->WakeUpPin | \ + (PWR_WKUPEPR_WKUPP_1 << POSITION_VAL(sPinParams->WakeUpPin)) | \ + (pullMask << (POSITION_VAL(sPinParams->WakeUpPin) * PWR_WAKEUP_PINS_PULL_POSITION_OFFSET)); + + /* Enable and Specify the Wake-Up pin polarity and the pull configuration + for the event detection (rising or falling edge) */ + MODIFY_REG(PWR->WKUPEPR, regMask, pinConfig); + /* Configure the Wakeup Pin EXTI Line */ + MODIFY_REG(EXTI_D1->IMR2, PWR_EXTI_WAKEUP_PINS_MASK, (sPinParams->WakeUpPin << PWR_EXTI_WAKEUP_PINS_PULL_POSITION_OFFSET)); +} + +/** + * @brief Disable the Wake-up PINx functionality. + * @param WakeUpPin: Specifies the Wake-Up pin to be disabled. + * This parameter can be one of the following values: + * @arg PWR_WAKEUP_PIN1: Disable PA0 wake-up PIN. + * @arg PWR_WAKEUP_PIN2: Disable PA2 wake-up PIN.. + * @arg PWR_WAKEUP_PIN3: Disable PI8 wake-up PIN.. + * @arg PWR_WAKEUP_PIN4: Disable PC13 wake-up PIN.. + * @arg PWR_WAKEUP_PIN5: Disable PI11 wake-up PIN.. + * @arg PWR_WAKEUP_PIN6: Disable PC1 wake-up PIN.. + * @retval None + */ +void HAL_PWREx_DisableWakeUpPin(uint32_t WakeUpPin) +{ + /* Check the parameters */ + assert_param(IS_PWR_WAKEUP_PIN(WakeUpPin)); + + /* Disable the WakeUpPin */ + CLEAR_BIT(PWR->WKUPEPR, WakeUpPin); +} + +/** + * @brief Get the Wake-Up Pin flag. + * @param WakeUpFlag: Specifies the Wake-Up PIN flag to check. + * This parameter can be one of the following values: + * @arg PWR_WAKEUP_FLAG1: A wakeup event was received from PA0. + * @arg PWR_WAKEUP_FLAG2: A wakeup event was received from PA2. + * @arg PWR_WAKEUP_FLAG3: A wakeup event was received from PC1. + * @arg PWR_WAKEUP_FLAG4: A wakeup event was received from PC13. + * @arg PWR_WAKEUP_FLAG5: A wakeup event was received from PI8. + * @arg PWR_WAKEUP_FLAG6: A wakeup event was received from PI11. + * @retval The Wake-Up pin flag. + */ +uint32_t HAL_PWREx_GetWakeupFlag(uint32_t WakeUpFlag) +{ + /* Check the parameters */ + assert_param(IS_PWR_WAKEUP_FLAG(WakeUpFlag)); + + return (PWR->WKUPFR & WakeUpFlag); +} + +/** + * @brief Clear the Wake-Up pin flag. + * @param WakeUpFlag: Specifies the Wake-Up PIN flag to clear. + * This parameter can be one of the following values: + * @arg PWR_WAKEUP_FLAG1: Clear the wakeup event received from PA0. + * @arg PWR_WAKEUP_FLAG2: Clear the wakeup event received from PA2. + * @arg PWR_WAKEUP_FLAG3: Clear the wakeup event received from PC1. + * @arg PWR_WAKEUP_FLAG4: Clear the wakeup event received from PC13. + * @arg PWR_WAKEUP_FLAG5: Clear the wakeup event received from PI8. + * @arg PWR_WAKEUP_FLAG6: Clear the wakeup event received from PI11. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_PWREx_ClearWakeupFlag(uint32_t WakeUpFlag) +{ + /* Check the parameters */ + assert_param(IS_PWR_WAKEUP_FLAG(WakeUpFlag)); + + SET_BIT(PWR->WKUPCR, WakeUpFlag); + + if((PWR->WKUPFR & WakeUpFlag) != RESET) + { + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief This function handles the PWR WAKEUP PIN interrupt request. + * @note This API should be called under the WAKEUP_PIN_IRQHandler(). + * @retval None + */ +void HAL_PWREx_WAKEUP_PIN_IRQHandler(void) +{ + /* Wakeup pin EXTI line interrupt detected */ + if(READ_BIT(PWR->WKUPFR, PWR_WKUPFR_WKUPF1) != RESET) + { + /* Clear PWR WKUPF1 flag */ + SET_BIT(PWR->WKUPCR, PWR_WKUPCR_WKUPC1); + + /* PWR WKUP1 interrupt user callback */ + HAL_PWREx_WKUP1_Callback(); + } + else if(READ_BIT(PWR->WKUPFR, PWR_WKUPFR_WKUPF2) != RESET) + { + /* Clear PWR WKUPF2 flag */ + SET_BIT(PWR->WKUPCR, PWR_WKUPCR_WKUPC2); + + /* PWR WKUP2 interrupt user callback */ + HAL_PWREx_WKUP2_Callback(); + } + else if(READ_BIT(PWR->WKUPFR, PWR_WKUPFR_WKUPF3) != RESET) + { + /* Clear PWR WKUPF3 flag */ + SET_BIT(PWR->WKUPCR, PWR_WKUPCR_WKUPC3); + + /* PWR WKUP3 interrupt user callback */ + HAL_PWREx_WKUP3_Callback(); + } + else if(READ_BIT(PWR->WKUPFR, PWR_WKUPFR_WKUPF4) != RESET) + { + /* Clear PWR WKUPF4 flag */ + SET_BIT(PWR->WKUPCR, PWR_WKUPCR_WKUPC4); + + /* PWR WKUP4 interrupt user callback */ + HAL_PWREx_WKUP4_Callback(); + } + else if(READ_BIT(PWR->WKUPFR, PWR_WKUPFR_WKUPF5) != RESET) + { + /* Clear PWR WKUPF5 flag */ + SET_BIT(PWR->WKUPCR, PWR_WKUPCR_WKUPC5); + + /* PWR WKUP5 interrupt user callback */ + HAL_PWREx_WKUP5_Callback(); + } + else + { + /* Clear PWR WKUPF6 flag */ + SET_BIT(PWR->WKUPCR, PWR_WKUPCR_WKUPC6); + + /* PWR WKUP6 interrupt user callback */ + HAL_PWREx_WKUP6_Callback(); + } +} + +/** + * @brief PWR WKUP1 interrupt callback + * @retval None + */ +__weak void HAL_PWREx_WKUP1_Callback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWREx_WKUP1Callback could be implemented in the user file + */ +} + +/** + * @brief PWR WKUP2 interrupt callback + * @retval None + */ +__weak void HAL_PWREx_WKUP2_Callback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWREx_WKUP2Callback could be implemented in the user file + */ +} + +/** + * @brief PWR WKUP3 interrupt callback + * @retval None + */ +__weak void HAL_PWREx_WKUP3_Callback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWREx_WKUP3Callback could be implemented in the user file + */ +} + +/** + * @brief PWR WKUP4 interrupt callback + * @retval None + */ +__weak void HAL_PWREx_WKUP4_Callback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWREx_WKUP4Callback could be implemented in the user file + */ +} + +/** + * @brief PWR WKUP5 interrupt callback + * @retval None + */ +__weak void HAL_PWREx_WKUP5_Callback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWREx_WKUP5Callback could be implemented in the user file + */ +} + +/** + * @brief PWR WKUP6 interrupt callback + * @retval None + */ +__weak void HAL_PWREx_WKUP6_Callback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWREx_WKUP6Callback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup PWREx_Exported_Functions_Group3 Peripherals control functions + * @brief Peripherals control functions + * +@verbatim + + =============================================================================== + ##### Peripherals control functions ##### + =============================================================================== + + *** Main and Backup Regulators configuration *** + ================================================ + [..] + (+) The backup domain includes 4 Kbytes of backup SRAM accessible only from + the CPU, and address in 32-bit, 16-bit or 8-bit mode. Its content is + retained even in Standby or VBAT mode when the low power backup regulator + is enabled. It can be considered as an internal EEPROM when VBAT is + always present. You can use the HAL_PWREx_EnableBkUpReg() function to + enable the low power backup regulator. + (+) When the backup domain is supplied by VDD (analog switch connected to VDD) + the backup SRAM is powered from VDD which replaces the VBAT power supply to + save battery life. + (+) The backup SRAM is not mass erased by a tamper event. It is read + protected to prevent confidential data, such as cryptographic private + key, from being accessed. The backup SRAM can be erased only through + the Flash interface when a protection level change from level 1 to + level 0 is requested. + -@- Refer to the description of Read protection (RDP) in the Flash + programming manual. + (+) The main internal regulator can be configured to have a tradeoff between + performance and power consumption when the device does not operate at + the maximum frequency. This is done through HAL_PWREx_ControlVoltageScaling(VOS) + function which configure the VOS bit in PWR_D3CR register. + (+) The main internal regulator can be configured to operate in Low Power mode + when the system enter STOP mode to further reduce power consumption. + This is done through HAL_PWREx_ControlStopModeVoltageScaling(SVOS) + function which configure the SVOS bit in PWR_CR1 register. + The selected SVOS4 and SVOS5 levels add an additional startup delay when exiting from + system Stop mode. + -@- Refer to the product datasheets for more details. + + *** USB Regulator configuration *** + =================================== + [..] + (+) The USB transceivers are supplied from a dedicated VDD33USB supply that can be + provided either by the integrated USB regulator, or by an external USB supply. + (+) The USB regulator is enabled by HAL_PWREx_EnableUSBReg() function, the VDD33USB + is then provided from the USB regulator. + (+) When the USB regulator is enabled, the VDD33USB supply level detector shall + be enabled through HAL_PWREx_EnableUSBVoltageDetector() function. + (+) The USB regulator is disabled through HAL_PWREx_DisableUSBReg() function and VDD33USB + can be provided from an external supply. In this case VDD33USB and VDD50USB shall + be connected together + + *** VBAT battery charging *** + ============================= + [..] + (+) When VDD is present, the external battery connected to VBAT can be charged through an + internal resistance. VBAT charging can be performed either through a 5 KOhm resistor + or through a 1.5 KOhm resistor. + (+) VBAT charging is enabled by HAL_PWREx_EnableBatteryCharging(ResistorValue) function + with: + (++) ResistorValue: + (+++) PWR_BATTERY_CHARGING_RESISTOR_5: 5 KOhm resistor. + (+++) PWR_BATTERY_CHARGING_RESISTOR_1_5: 1.5 KOhm resistor. + (+) VBAT charging is disabled by HAL_PWREx_DisableBatteryCharging() function. + +@endverbatim + * @{ + */ + +/** + * @brief Enable the Backup Regulator. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PWREx_EnableBkUpReg(void) +{ + uint32_t tickstart = 0; + + /* Enable the Backup regulator */ + SET_BIT(PWR->CR2, PWR_CR2_BREN); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait till Backup regulator ready flag is set */ + while(!__HAL_PWR_GET_FLAG(PWR_FLAG_BRR)) + { + if((HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY_US) + { + return HAL_TIMEOUT; + } + } + return HAL_OK; +} + +/** + * @brief Disable the Backup Regulator. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PWREx_DisableBkUpReg(void) +{ + uint32_t tickstart = 0; + + /* Disable the Backup regulator */ + CLEAR_BIT(PWR->CR2, PWR_CR2_BREN); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait till Backup regulator ready flag is reset */ + while(__HAL_PWR_GET_FLAG(PWR_FLAG_BRR) != RESET) + { + if((HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY_US) + { + return HAL_TIMEOUT; + } + } + return HAL_OK; +} + +/** + * @brief Enable the USB Regulator. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PWREx_EnableUSBReg(void) +{ + uint32_t tickstart = 0; + + /* Enable the USB regulator */ + SET_BIT(PWR->CR3, PWR_CR3_USBREGEN); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait till the USB regulator ready flag is set */ + while(READ_BIT(PWR->CR3, PWR_CR3_USB33RDY) == RESET) + { + if((HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY_US) + { + return HAL_TIMEOUT; + } + } + + return HAL_OK; +} + +/** + * @brief Disable the USB Regulator. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_PWREx_DisableUSBReg(void) +{ + uint32_t tickstart = 0; + + /* Disable the USB regulator */ + CLEAR_BIT(PWR->CR3, PWR_CR3_USBREGEN); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait till the USB regulator ready flag is reset */ + while(READ_BIT(PWR->CR3, PWR_CR3_USB33RDY) != RESET) + { + if((HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY_US) + { + return HAL_TIMEOUT; + } + } + return HAL_OK; +} + +/** + * @brief Enable the USB voltage level detector. + * @retval None + */ +void HAL_PWREx_EnableUSBVoltageDetector(void) +{ + /* Enable the USB voltage detector */ + SET_BIT(PWR->CR3, PWR_CR3_USB33DEN); +} + +/** + * @brief Disable the USB voltage level detector. + * @retval None + */ +void HAL_PWREx_DisableUSBVoltageDetector(void) +{ + /* Disable the USB voltage detector */ + CLEAR_BIT(PWR->CR3, PWR_CR3_USB33DEN); +} + + +/** + * @brief Enable the Battery charging. + * When VDD is present, charge the external battery through an internal resistor. + * @param ResistorValue: Specifies the charging resistor. + * This parameter can be one of the following values: + * @arg PWR_BATTERY_CHARGING_RESISTOR_5: 5 KOhm resistor. + * @arg PWR_BATTERY_CHARGING_RESISTOR_1_5: 1.5 KOhm resistor. + * @retval None + */ +void HAL_PWREx_EnableBatteryCharging(uint32_t ResistorValue) +{ + assert_param(IS_PWR_BATTERY_RESISTOR_SELECT(ResistorValue)); + + /* Specify the charging resistor */ + MODIFY_REG(PWR->CR3, PWR_CR3_VBRS, ResistorValue); + + /* Enable the Battery charging */ + SET_BIT(PWR->CR3, PWR_CR3_VBE); +} + + +/** + * @brief Disable the Battery charging. + * @retval None + */ +void HAL_PWREx_DisableBatteryCharging(void) +{ + /* Disable the Battery charging */ + CLEAR_BIT(PWR->CR3, PWR_CR3_VBE); +} + +/** + * @} + */ + +/** @defgroup PWREx_Exported_Functions_Group4 Power Monitoring functions + * @brief Power Monitoring functions + * +@verbatim + + =============================================================================== + ##### Power Monitoring functions ##### + =============================================================================== + + *** VBAT and Temperature supervision *** + ======================================== + [..] + (+) The VBAT battery voltage supply can be monitored by comparing it with two threshold + levels: VBAThigh and VBATlow. VBATH flag and VBATL flags in the PWR control register 2 + (PWR_CR2), indicate if VBAT is higher or lower than the threshold. + (+) The temperature can be monitored by comparing it with two threshold levels, TEMPhigh + and TEMPlow. TEMPH and TEMPL flags, in the PWR control register 2 (PWR_CR2), + indicate whether the device temperature is higher or lower than the threshold. + (+) The VBAT and the temperature monitoring is enabled by HAL_PWREx_EnableMonitoring() + function and disabled by HAL_PWREx_DisableMonitoring() function. + (+) The HAL_PWREx_GetVBATLevel() function return the VBAT level which can be: + PWR_VBAT_BELOW_LOW_THRESHOLD or PWR_VBAT_ABOVE_HIGH_THRESHOLD or + PWR_VBAT_BETWEEN_HIGH_LOW_THRESHOLD. + (+) The HAL_PWREx_GetTemperatureLevel() function return the Temperature level which + can be: PWR_TEMP_BELOW_LOW_THRESHOLD or PWR_TEMP_ABOVE_HIGH_THRESHOLD or + PWR_TEMP_BETWEEN_HIGH_LOW_THRESHOLD. + + *** AVD configuration *** + ========================= + [..] + (+) The AVD is used to monitor the VDDA power supply by comparing it to a + threshold selected by the AVD Level (ALS[3:0] bits in the PWR_CR1 register). + (+) A AVDO flag is available to indicate if VDDA is higher or lower + than the AVD threshold. This event is internally connected to the EXTI + line 16 to generate an interrupt if enabled. + It is configurable through __HAL_PWR_AVD_EXTI_ENABLE_IT() macro. + (+) The AVD is stopped in System Standby mode. + +@endverbatim + * @{ + */ + +/** + * @brief Enable the VBAT and temperature monitoring. + * @retval HAL status + */ +void HAL_PWREx_EnableMonitoring(void) +{ + /* Enable the VBAT and Temperature monitoring */ + SET_BIT(PWR->CR2, PWR_CR2_MONEN); +} + +/** + * @brief Disable the VBAT and temperature monitoring. + * @retval HAL status + */ +void HAL_PWREx_DisableMonitoring(void) +{ + /* Disable the VBAT and Temperature monitoring */ + CLEAR_BIT(PWR->CR2, PWR_CR2_MONEN); +} + +/** + * @brief Indicate whether the junction temperature is between, above or below the threshold. + * @retval Temperature level. + */ +uint32_t HAL_PWREx_GetTemperatureLevel(void) +{ + uint32_t tempLevel; + uint32_t regValue; + + /* Read the temperature flags */ + regValue = PWR->CR2 & (PWR_CR2_TEMPH | PWR_CR2_TEMPL); + + /* Compare the read value to the temperature threshold */ + if(regValue == PWR_CR2_TEMPL) + { + tempLevel = PWR_TEMP_BELOW_LOW_THRESHOLD; + } + else if(regValue == PWR_CR2_TEMPH) + { + tempLevel = PWR_TEMP_ABOVE_HIGH_THRESHOLD; + } + else + { + tempLevel = PWR_TEMP_BETWEEN_HIGH_LOW_THRESHOLD; + } + + return tempLevel; +} + +/** + * @brief Indicate whether the Battery voltage level is between, above or below the threshold. + * @retval VBAT level. + */ +uint32_t HAL_PWREx_GetVBATLevel(void) +{ + uint32_t VBATLevel; + uint32_t regValue; + + /* Read the VBAT flags */ + regValue = PWR->CR2 & (PWR_CR2_VBATH | PWR_CR2_VBATL); + + /* Compare the read value to the VBAT threshold */ + if(regValue == PWR_CR2_VBATL) + { + VBATLevel = PWR_VBAT_BELOW_LOW_THRESHOLD; + } + else if(regValue == PWR_CR2_VBATH) + { + VBATLevel = PWR_VBAT_ABOVE_HIGH_THRESHOLD; + } + else + { + VBATLevel = PWR_VBAT_BETWEEN_HIGH_LOW_THRESHOLD; + } + + return VBATLevel; +} + +/** + * @brief Configure the analog voltage threshold detected by the Analog Voltage Detector(AVD). + * @param sConfigAVD: pointer to an PWR_AVDTypeDef structure that contains the configuration + * information for the AVD. + * @note Refer to the electrical characteristics of your device datasheet for more details + * about the voltage threshold corresponding to each detection level. + * @retval None + */ +void HAL_PWREx_ConfigAVD(PWREx_AVDTypeDef *sConfigAVD) +{ + /* Check the parameters */ + assert_param(IS_PWR_AVD_LEVEL(sConfigAVD->AVDLevel)); + assert_param(IS_PWR_AVD_MODE(sConfigAVD->Mode)); + + /* Set the ALS[18:17] bits according to AVDLevel value */ + MODIFY_REG(PWR->CR1, PWR_CR1_ALS, sConfigAVD->AVDLevel); + + /* Clear any previous config */ + __HAL_PWR_AVD_EXTI_DISABLE_EVENT(); + __HAL_PWR_AVD_EXTI_DISABLE_IT(); + __HAL_PWR_AVD_EXTI_DISABLE_RISING_EDGE(); + __HAL_PWR_AVD_EXTI_DISABLE_FALLING_EDGE(); + + /* Configure the interrupt mode */ + if(AVD_MODE_IT == (sConfigAVD->Mode & AVD_MODE_IT)) + { + __HAL_PWR_AVD_EXTI_ENABLE_IT(); + } + + /* Configure the event mode */ + if(AVD_MODE_EVT == (sConfigAVD->Mode & AVD_MODE_EVT)) + { + __HAL_PWR_AVD_EXTI_ENABLE_EVENT(); + } + /* Configure the edge */ + if(AVD_RISING_EDGE == (sConfigAVD->Mode & AVD_RISING_EDGE)) + { + __HAL_PWR_AVD_EXTI_ENABLE_RISING_EDGE(); + } + + if(AVD_FALLING_EDGE == (sConfigAVD->Mode & AVD_FALLING_EDGE)) + { + __HAL_PWR_AVD_EXTI_ENABLE_FALLING_EDGE(); + } +} + +/** + * @brief Enable the Analog Voltage Detector(AVD). + * @retval None + */ +void HAL_PWREx_EnableAVD(void) +{ + /* Enable the Analog Voltage Detector */ + SET_BIT(PWR->CR1, PWR_CR1_AVDEN); +} + +/** + * @brief Disable the Analog Voltage Detector(AVD). + * @retval None + */ +void HAL_PWREx_DisableAVD(void) +{ + /* Disable the Analog Voltage Detector */ + CLEAR_BIT(PWR->CR1, PWR_CR1_AVDEN); +} + +/** + * @brief This function handles the PWR PVD/AVD interrupt request. + * @note This API should be called under the PVD_AVD_IRQHandler(). + * @retval None + */ +void HAL_PWREx_PVD_AVD_IRQHandler(void) +{ + /* PVD EXTI line interrupt detected */ + if(READ_BIT(PWR->CR1, PWR_CR1_PVDEN) != RESET) + { + /* Check PWR EXTI flag */ + if(__HAL_PWR_PVD_EXTI_GET_FLAG() != RESET) + { + /* PWR PVD interrupt user callback */ + HAL_PWR_PVDCallback(); + + /* Clear PWR EXTI pending bit */ + __HAL_PWR_PVD_EXTI_CLEAR_FLAG(); + } + } + + /* AVD EXTI line interrupt detected */ + if(READ_BIT(PWR->CR1, PWR_CR1_AVDEN) != RESET) + { + /* Check PWR EXTI flag */ + if(__HAL_PWR_AVD_EXTI_GET_FLAG() != RESET) + { + /* PWR AVD interrupt user callback */ + HAL_PWREx_AVDCallback(); + + /* Clear PWR EXTI pending bit */ + __HAL_PWR_AVD_EXTI_CLEAR_FLAG(); + } + } +} + +/** + * @brief PWR AVD interrupt callback + * @retval None + */ +__weak void HAL_PWREx_AVDCallback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_PWR_AVDCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_PWR_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c new file mode 100644 index 0000000000..95184770b3 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c @@ -0,0 +1,2205 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_qspi.c + * @author MCD Application Team + * @brief QSPI HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the QuadSPI interface (QSPI). + * + Initialization and de-initialization functions + * + Indirect functional mode management + * + Memory-mapped functional mode management + * + Auto-polling functional mode management + * + Interrupts and flags management + * + MDMA channel configuration for indirect functional mode + * + Errors management and abort functionality + * + * + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + *** Initialization *** + ====================== + [..] + (#) As prerequisite, fill in the HAL_QSPI_MspInit() : + (++) Enable QuadSPI clock interface with __HAL_RCC_QSPI_CLK_ENABLE(). + (++) Reset QuadSPI IP with __HAL_RCC_QSPI_FORCE_RESET() and __HAL_RCC_QSPI_RELEASE_RESET(). + (++) Enable the clocks for the QuadSPI GPIOS with __HAL_RCC_GPIOx_CLK_ENABLE(). + (++) Configure these QuadSPI pins in alternate mode using HAL_GPIO_Init(). + (++) If interrupt mode is used, enable and configure QuadSPI global + interrupt with HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ(). + (++) If DMA mode is used, enable the clocks for the QuadSPI MDMA + with __HAL_RCC_MDMA_CLK_ENABLE(), configure MDMA with HAL_MDMA_Init(), + link it with QuadSPI handle using __HAL_LINKDMA(), enable and configure + MDMA global interrupt with HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ(). + (#) Configure the flash size, the clock prescaler, the fifo threshold, the + clock mode, the sample shifting and the CS high time using the HAL_QSPI_Init() function. + + *** Indirect functional mode *** + ================================ + [..] + (#) Configure the command sequence using the HAL_QSPI_Command() or HAL_QSPI_Command_IT() + functions : + (++) Instruction phase : the mode used and if present the instruction opcode. + (++) Address phase : the mode used and if present the size and the address value. + (++) Alternate-bytes phase : the mode used and if present the size and the alternate + bytes values. + (++) Dummy-cycles phase : the number of dummy cycles (mode used is same as data phase). + (++) Data phase : the mode used and if present the number of bytes. + (++) Double Data Rate (DDR) mode : the activation (or not) of this mode and the delay + if activated. + (++) Sending Instruction Only Once (SIOO) mode : the activation (or not) of this mode. + (#) If no data is required for the command, it is sent directly to the memory : + (++) In polling mode, the output of the function is done when the transfer is complete. + (++) In interrupt mode, HAL_QSPI_CmdCpltCallback() will be called when the transfer is complete. + (#) For the indirect write mode, use HAL_QSPI_Transmit(), HAL_QSPI_Transmit_DMA() or + HAL_QSPI_Transmit_IT() after the command configuration : + (++) In polling mode, the output of the function is done when the transfer is complete. + (++) In interrupt mode, HAL_QSPI_FifoThresholdCallback() will be called when the fifo threshold + is reached and HAL_QSPI_TxCpltCallback() will be called when the transfer is complete. + (++) In DMA mode, HAL_QSPI_TxHalfCpltCallback() will be called at the half transfer and + HAL_QSPI_TxCpltCallback() will be called when the transfer is complete. + (#) For the indirect read mode, use HAL_QSPI_Receive(), HAL_QSPI_Receive_DMA() or + HAL_QSPI_Receive_IT() after the command configuration : + (++) In polling mode, the output of the function is done when the transfer is complete. + (++) In interrupt mode, HAL_QSPI_FifoThresholdCallback() will be called when the fifo threshold + is reached and HAL_QSPI_RxCpltCallback() will be called when the transfer is complete. + (++) In DMA mode, HAL_QSPI_RxHalfCpltCallback() will be called at the half transfer and + HAL_QSPI_RxCpltCallback() will be called when the transfer is complete. + + *** Auto-polling functional mode *** + ==================================== + [..] + (#) Configure the command sequence and the auto-polling functional mode using the + HAL_QSPI_AutoPolling() or HAL_QSPI_AutoPolling_IT() functions : + (++) Instruction phase : the mode used and if present the instruction opcode. + (++) Address phase : the mode used and if present the size and the address value. + (++) Alternate-bytes phase : the mode used and if present the size and the alternate + bytes values. + (++) Dummy-cycles phase : the number of dummy cycles (mode used is same as data phase). + (++) Data phase : the mode used. + (++) Double Data Rate (DDR) mode : the activation (or not) of this mode and the delay + if activated. + (++) Sending Instruction Only Once (SIOO) mode : the activation (or not) of this mode. + (++) The size of the status bytes, the match value, the mask used, the match mode (OR/AND), + the polling interval and the automatic stop activation. + (#) After the configuration : + (++) In polling mode, the output of the function is done when the status match is reached. The + automatic stop is activated to avoid an infinite loop. + (++) In interrupt mode, HAL_QSPI_StatusMatchCallback() will be called each time the status match is reached. + + *** Memory-mapped functional mode *** + ===================================== + [..] + (#) Configure the command sequence and the memory-mapped functional mode using the + HAL_QSPI_MemoryMapped() functions : + (++) Instruction phase : the mode used and if present the instruction opcode. + (++) Address phase : the mode used and the size. + (++) Alternate-bytes phase : the mode used and if present the size and the alternate + bytes values. + (++) Dummy-cycles phase : the number of dummy cycles (mode used is same as data phase). + (++) Data phase : the mode used. + (++) Double Data Rate (DDR) mode : the activation (or not) of this mode and the delay + if activated. + (++) Sending Instruction Only Once (SIOO) mode : the activation (or not) of this mode. + (++) The timeout activation and the timeout period. + (#) After the configuration, the QuadSPI will be used as soon as an access on the AHB is done on + the address range. HAL_QSPI_TimeOutCallback() will be called when the timeout expires. + + *** Errors management and abort functionality *** + ================================================= + [..] + (#) HAL_QSPI_GetError() function gives the error raised during the last operation. + (#) HAL_QSPI_Abort() and HAL_QSPI_AbortIT() functions aborts any on-going operation and + flushes the fifo : + (++) In polling mode, the output of the function is done when the transfer + complete bit is set and the busy bit cleared. + (++) In interrupt mode, HAL_QSPI_AbortCpltCallback() will be called when + the transfer complete bi is set. + + *** Control functions *** + ========================= + [..] + (#) HAL_QSPI_GetState() function gives the current state of the HAL QuadSPI driver. + (#) HAL_QSPI_SetTimeout() function configures the timeout value used in the driver. + (#) HAL_QSPI_SetFifoThreshold() function configures the threshold on the Fifo of the QSPI IP. + (#) HAL_QSPI_GetFifoThreshold() function gives the current of the Fifo's threshold + + *** Workarounds linked to Silicon Limitation *** + ==================================================== + [..] + (#) Workarounds Implemented inside HAL Driver + (++) Extra data written in the FIFO at the end of a read transfer + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup QSPI QSPI + * @brief QSPI HAL module driver + * @{ + */ +#ifdef HAL_QSPI_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ + +/* Private define ------------------------------------------------------------*/ +/** @defgroup QSPI_Private_Constants QSPI Private Constants + * @{ + */ +#define QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE ((uint32_t)0x00000000) /*!Instance)); + assert_param(IS_QSPI_CLOCK_PRESCALER(hqspi->Init.ClockPrescaler)); + assert_param(IS_QSPI_FIFO_THRESHOLD(hqspi->Init.FifoThreshold)); + assert_param(IS_QSPI_SSHIFT(hqspi->Init.SampleShifting)); + assert_param(IS_QSPI_FLASH_SIZE(hqspi->Init.FlashSize)); + assert_param(IS_QSPI_CS_HIGH_TIME(hqspi->Init.ChipSelectHighTime)); + assert_param(IS_QSPI_CLOCK_MODE(hqspi->Init.ClockMode)); + assert_param(IS_QSPI_DUAL_FLASH_MODE(hqspi->Init.DualFlash)); + + if (hqspi->Init.DualFlash != QSPI_DUALFLASH_ENABLE ) + { + assert_param(IS_QSPI_FLASH_ID(hqspi->Init.FlashID)); + } + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hqspi->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_QSPI_MspInit(hqspi); + + /* Configure the default timeout for the QSPI memory access */ + HAL_QSPI_SetTimeout(hqspi, HAL_QPSI_TIMEOUT_DEFAULT_VALUE); + } + + /* Configure QSPI FIFO Threshold */ + MODIFY_REG(hqspi->Instance->CR, QUADSPI_CR_FTHRES, + ((hqspi->Init.FifoThreshold - 1) << POSITION_VAL(QUADSPI_CR_FTHRES))); + + /* Wait till BUSY flag reset */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_BUSY, RESET, tickstart, hqspi->Timeout); + + if(status == HAL_OK) + { + /* Configure QSPI Clock Prescaler and Sample Shift */ + MODIFY_REG(hqspi->Instance->CR, (QUADSPI_CR_PRESCALER | QUADSPI_CR_SSHIFT | QUADSPI_CR_FSEL | QUADSPI_CR_DFM), + ((hqspi->Init.ClockPrescaler << POSITION_VAL(QUADSPI_CR_PRESCALER)) | + hqspi->Init.SampleShifting | hqspi->Init.FlashID | hqspi->Init.DualFlash)); + + /* Configure QSPI Flash Size, CS High Time and Clock Mode */ + MODIFY_REG(hqspi->Instance->DCR, (QUADSPI_DCR_FSIZE | QUADSPI_DCR_CSHT | QUADSPI_DCR_CKMODE), + ((hqspi->Init.FlashSize << POSITION_VAL(QUADSPI_DCR_FSIZE)) | + hqspi->Init.ChipSelectHighTime | hqspi->Init.ClockMode)); + + /* Enable the QSPI peripheral */ + __HAL_QSPI_ENABLE(hqspi); + + /* Set QSPI error code to none */ + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + /* Initialize the QSPI state */ + hqspi->State = HAL_QSPI_STATE_READY; + } + + /* Release Lock */ + __HAL_UNLOCK(hqspi); + + /* Return function status */ + return status; +} + +/** + * @brief De-Initialize the QSPI peripheral. + * @param hqspi: QSPI handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_DeInit(QSPI_HandleTypeDef *hqspi) +{ + /* Check the QSPI handle allocation */ + if(hqspi == NULL) + { + return HAL_ERROR; + } + + /* Process locked */ + __HAL_LOCK(hqspi); + + /* Disable the QSPI Peripheral Clock */ + __HAL_QSPI_DISABLE(hqspi); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */ + HAL_QSPI_MspDeInit(hqspi); + + /* Set QSPI error code to none */ + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + /* Initialize the QSPI state */ + hqspi->State = HAL_QSPI_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hqspi); + + return HAL_OK; +} + +/** + * @brief Initialize the QSPI MSP. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_MspInit(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_QSPI_MspInit can be implemented in the user file + */ +} + +/** + * @brief DeInitialize the QSPI MSP. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_QSPI_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup QSPI_Exported_Functions_Group2 Input and Output operation functions + * @brief QSPI Transmit/Receive functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to : + (+) Handle the interrupts. + (+) Handle the command sequence. + (+) Transmit data in blocking, interrupt or DMA mode. + (+) Receive data in blocking, interrupt or DMA mode. + (+) Manage the auto-polling functional mode. + (+) Manage the memory-mapped functional mode. + +@endverbatim + * @{ + */ + +/** + * @brief Handle QSPI interrupt request. + * @param hqspi: QSPI handle + * @retval None + */ +void HAL_QSPI_IRQHandler(QSPI_HandleTypeDef *hqspi) +{ + __IO uint32_t *data_reg; + uint32_t flag = READ_REG(hqspi->Instance->SR); + uint32_t itsource = READ_REG(hqspi->Instance->CR); + + /* QSPI Fifo Threshold interrupt occurred ----------------------------------*/ + if((flag & QSPI_FLAG_FT) && (itsource & QSPI_IT_FT)) + { + data_reg = &hqspi->Instance->DR; + + if(hqspi->State == HAL_QSPI_STATE_BUSY_INDIRECT_TX) + { + /* Transmission process */ + while(__HAL_QSPI_GET_FLAG(hqspi, QSPI_FLAG_FT) != 0) + { + if (hqspi->TxXferCount > 0) + { + /* Fill the FIFO until the threshold is reached */ + *(__IO uint8_t *)data_reg = *hqspi->pTxBuffPtr++; + hqspi->TxXferCount--; + } + else + { + /* No more data available for the transfer */ + /* Disable the QSPI FIFO Threshold Interrupt */ + __HAL_QSPI_DISABLE_IT(hqspi, QSPI_IT_FT); + break; + } + } + } + else if(hqspi->State == HAL_QSPI_STATE_BUSY_INDIRECT_RX) + { + /* Receiving Process */ + while(__HAL_QSPI_GET_FLAG(hqspi, QSPI_FLAG_FT) != 0) + { + if (hqspi->RxXferCount > 0) + { + /* Read the FIFO until the threshold is reached */ + *hqspi->pRxBuffPtr++ = *(__IO uint8_t *)data_reg; + hqspi->RxXferCount--; + } + else + { + /* All data have been received for the transfer */ + /* Disable the QSPI FIFO Threshold Interrupt */ + __HAL_QSPI_DISABLE_IT(hqspi, QSPI_IT_FT); + break; + } + } + } + + /* FIFO Threshold callback */ + HAL_QSPI_FifoThresholdCallback(hqspi); + } + + /* QSPI Transfer Complete interrupt occurred -------------------------------*/ + else if((flag & QSPI_FLAG_TC) && (itsource & QSPI_IT_TC)) + { + /* Clear interrupt */ + WRITE_REG(hqspi->Instance->FCR, QSPI_FLAG_TC); + + /* Disable the QSPI FIFO Threshold, Transfer Error and Transfer complete Interrupts */ + __HAL_QSPI_DISABLE_IT(hqspi, QSPI_IT_TC | QSPI_IT_TE | QSPI_IT_FT); + + /* Transfer complete callback */ + if(hqspi->State == HAL_QSPI_STATE_BUSY_INDIRECT_TX) + { + if (hqspi->Instance->CR & QUADSPI_CR_DMAEN) + { + /* Disable the DMA transfer by clearing the DMAEN bit in the QSPI CR register */ + CLEAR_BIT(hqspi->Instance->CR, QUADSPI_CR_DMAEN); + + /* Disable the MDMA channel */ + __HAL_MDMA_DISABLE(hqspi->hmdma); + } + + /* Change state of QSPI */ + hqspi->State = HAL_QSPI_STATE_READY; + + /* TX Complete callback */ + HAL_QSPI_TxCpltCallback(hqspi); + } + else if(hqspi->State == HAL_QSPI_STATE_BUSY_INDIRECT_RX) + { + if (hqspi->Instance->CR & QUADSPI_CR_DMAEN) + { + /* Disable the DMA transfer by clearing the DMAEN bit in the QSPI CR register */ + CLEAR_BIT(hqspi->Instance->CR, QUADSPI_CR_DMAEN); + + /* Disable the MDMA channel */ + __HAL_MDMA_DISABLE(hqspi->hmdma); + } + else + { + data_reg = &hqspi->Instance->DR; + while(READ_BIT(hqspi->Instance->SR, QUADSPI_SR_FLEVEL) != 0) + { + if (hqspi->RxXferCount > 0) + { + /* Read the last data received in the FIFO until it is empty */ + *hqspi->pRxBuffPtr++ = *(__IO uint8_t *)data_reg; + hqspi->RxXferCount--; + } + else + { + /* All data have been received for the transfer */ + break; + } + } + } + + /* Change state of QSPI */ + hqspi->State = HAL_QSPI_STATE_READY; + + /* RX Complete callback */ + HAL_QSPI_RxCpltCallback(hqspi); + } + else if(hqspi->State == HAL_QSPI_STATE_BUSY) + { + /* Change state of QSPI */ + hqspi->State = HAL_QSPI_STATE_READY; + + /* Command Complete callback */ + HAL_QSPI_CmdCpltCallback(hqspi); + } + else if(hqspi->State == HAL_QSPI_STATE_ABORT) + { + /* Change state of QSPI */ + hqspi->State = HAL_QSPI_STATE_READY; + + if (hqspi->ErrorCode == HAL_QSPI_ERROR_NONE) + { + /* Abort called by the user */ + + /* Abort Complete callback */ + HAL_QSPI_AbortCpltCallback(hqspi); + } + else + { + /* Abort due to an error (eg : MDMA error) */ + + /* Error callback */ + HAL_QSPI_ErrorCallback(hqspi); + } + } + } + + /* QSPI Status Match interrupt occurred ------------------------------------*/ + else if((flag & QSPI_FLAG_SM) && (itsource & QSPI_IT_SM)) + { + /* Clear interrupt */ + WRITE_REG(hqspi->Instance->FCR, QSPI_FLAG_SM); + + /* Check if the automatic poll mode stop is activated */ + if(READ_BIT(hqspi->Instance->CR, QUADSPI_CR_APMS) != 0) + { + /* Disable the QSPI Transfer Error and Status Match Interrupts */ + __HAL_QSPI_DISABLE_IT(hqspi, (QSPI_IT_SM | QSPI_IT_TE)); + + /* Change state of QSPI */ + hqspi->State = HAL_QSPI_STATE_READY; + } + + /* Status match callback */ + HAL_QSPI_StatusMatchCallback(hqspi); + } + + /* QSPI Transfer Error interrupt occurred ----------------------------------*/ + else if((flag & QSPI_FLAG_TE) && (itsource & QSPI_IT_TE)) + { + /* Clear interrupt */ + WRITE_REG(hqspi->Instance->FCR, QSPI_FLAG_TE); + + /* Disable all the QSPI Interrupts */ + __HAL_QSPI_DISABLE_IT(hqspi, QSPI_IT_SM | QSPI_IT_TC | QSPI_IT_TE | QSPI_IT_FT); + + /* Set error code */ + hqspi->ErrorCode |= HAL_QSPI_ERROR_TRANSFER; + + if (hqspi->Instance->CR & QUADSPI_CR_DMAEN) + { + /* Disable the DMA transfer by clearing the DMAEN bit in the QSPI CR register */ + CLEAR_BIT(hqspi->Instance->CR, QUADSPI_CR_DMAEN); + + /* Disable the MDMA channel */ + hqspi->hmdma->XferAbortCallback = QSPI_DMAAbortCplt; + HAL_MDMA_Abort_IT(hqspi->hmdma); + + } + else + { + /* Change state of QSPI */ + hqspi->State = HAL_QSPI_STATE_READY; + + /* Error callback */ + HAL_QSPI_ErrorCallback(hqspi); + } + } + + /* QSPI Timeout interrupt occurred -----------------------------------------*/ + else if((flag & QSPI_FLAG_TO) && (itsource & QSPI_IT_TO)) + { + /* Clear interrupt */ + WRITE_REG(hqspi->Instance->FCR, QSPI_FLAG_TO); + + /* Timeout callback */ + HAL_QSPI_TimeOutCallback(hqspi); + } +} + +/** + * @brief Set the command configuration. + * @param hqspi: QSPI handle + * @param cmd : structure that contains the command configuration information + * @param Timeout : Timeout duration + * @note This function is used only in Indirect Read or Write Modes + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Command(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, uint32_t Timeout) +{ + HAL_StatusTypeDef status = HAL_ERROR; + uint32_t tickstart = HAL_GetTick(); + + /* Check the parameters */ + assert_param(IS_QSPI_INSTRUCTION_MODE(cmd->InstructionMode)); + if (cmd->InstructionMode != QSPI_INSTRUCTION_NONE) + { + assert_param(IS_QSPI_INSTRUCTION(cmd->Instruction)); + } + + assert_param(IS_QSPI_ADDRESS_MODE(cmd->AddressMode)); + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + assert_param(IS_QSPI_ADDRESS_SIZE(cmd->AddressSize)); + } + + assert_param(IS_QSPI_ALTERNATE_BYTES_MODE(cmd->AlternateByteMode)); + if (cmd->AlternateByteMode != QSPI_ALTERNATE_BYTES_NONE) + { + assert_param(IS_QSPI_ALTERNATE_BYTES_SIZE(cmd->AlternateBytesSize)); + } + + assert_param(IS_QSPI_DUMMY_CYCLES(cmd->DummyCycles)); + assert_param(IS_QSPI_DATA_MODE(cmd->DataMode)); + + assert_param(IS_QSPI_DDR_MODE(cmd->DdrMode)); + assert_param(IS_QSPI_DDR_HHC(cmd->DdrHoldHalfCycle)); + assert_param(IS_QSPI_SIOO_MODE(cmd->SIOOMode)); + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_BUSY; + + /* Wait till BUSY flag reset */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_BUSY, RESET, tickstart, Timeout); + + if (status == HAL_OK) + { + /* Call the configuration function */ + QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE); + + if (cmd->DataMode == QSPI_DATA_NONE) + { + /* When there is no data phase, the transfer start as soon as the configuration is done + so wait until TC flag is set to go back in idle state */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC, SET, tickstart, Timeout); + + if (status == HAL_OK) + { + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TC); + + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_READY; + } + + } + else + { + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_READY; + } + } + } + else + { + status = HAL_BUSY; + } + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Return function status */ + return status; +} + +/** + * @brief Set the command configuration in interrupt mode. + * @param hqspi: QSPI handle + * @param cmd : structure that contains the command configuration information + * @note This function is used only in Indirect Read or Write Modes + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Command_IT(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd) +{ + HAL_StatusTypeDef status = HAL_ERROR; + uint32_t tickstart = HAL_GetTick(); + + /* Check the parameters */ + assert_param(IS_QSPI_INSTRUCTION_MODE(cmd->InstructionMode)); + if (cmd->InstructionMode != QSPI_INSTRUCTION_NONE) + { + assert_param(IS_QSPI_INSTRUCTION(cmd->Instruction)); + } + + assert_param(IS_QSPI_ADDRESS_MODE(cmd->AddressMode)); + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + assert_param(IS_QSPI_ADDRESS_SIZE(cmd->AddressSize)); + } + + assert_param(IS_QSPI_ALTERNATE_BYTES_MODE(cmd->AlternateByteMode)); + if (cmd->AlternateByteMode != QSPI_ALTERNATE_BYTES_NONE) + { + assert_param(IS_QSPI_ALTERNATE_BYTES_SIZE(cmd->AlternateBytesSize)); + } + + assert_param(IS_QSPI_DUMMY_CYCLES(cmd->DummyCycles)); + assert_param(IS_QSPI_DATA_MODE(cmd->DataMode)); + + assert_param(IS_QSPI_DDR_MODE(cmd->DdrMode)); + assert_param(IS_QSPI_DDR_HHC(cmd->DdrHoldHalfCycle)); + assert_param(IS_QSPI_SIOO_MODE(cmd->SIOOMode)); + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_BUSY; + + /* Wait till BUSY flag reset */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_BUSY, RESET, tickstart, hqspi->Timeout); + + if (status == HAL_OK) + { + if (cmd->DataMode == QSPI_DATA_NONE) + { + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TE | QSPI_FLAG_TC); + } + + /* Call the configuration function */ + QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE); + + if (cmd->DataMode == QSPI_DATA_NONE) + { + /* When there is no data phase, the transfer start as soon as the configuration is done + so activate TC and TE interrupts */ + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Enable the QSPI Transfer Error Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TE | QSPI_IT_TC); + } + else + { + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + } + else + { + status = HAL_BUSY; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + + /* Return function status */ + return status; +} + +/** + * @brief Transmit an amount of data in blocking mode. + * @param hqspi: QSPI handle + * @param pData: pointer to data buffer + * @param Timeout : Timeout duration + * @note This function is used only in Indirect Write Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Transmit(QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t tickstart = HAL_GetTick(); + __IO uint32_t *data_reg = &hqspi->Instance->DR; + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + if(pData != NULL ) + { + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_INDIRECT_TX; + + /* Configure counters and size of the handle */ + hqspi->TxXferCount = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->TxXferSize = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->pTxBuffPtr = pData; + + /* Configure QSPI: CCR register with functional as indirect write */ + MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE); + + while(hqspi->TxXferCount > 0) + { + /* Wait until FT flag is set to send data */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_FT, SET, tickstart, Timeout); + + if (status != HAL_OK) + { + break; + } + + *(__IO uint8_t *)data_reg = *hqspi->pTxBuffPtr++; + hqspi->TxXferCount--; + } + + if (status == HAL_OK) + { + /* Wait until TC flag is set to go back in idle state */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC, SET, tickstart, Timeout); + + if (status == HAL_OK) + { + /* Clear Transfer Complete bit */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TC); + + } + } + + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_READY; + } + else + { + hqspi->ErrorCode |= HAL_QSPI_ERROR_INVALID_PARAM; + status = HAL_ERROR; + } + } + else + { + status = HAL_BUSY; + } + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + return status; +} + + +/** + * @brief Receive an amount of data in blocking mode. + * @param hqspi: QSPI handle + * @param pData: pointer to data buffer + * @param Timeout : Timeout duration + * @note This function is used only in Indirect Read Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Receive(QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t tickstart = HAL_GetTick(); + uint32_t addr_reg = READ_REG(hqspi->Instance->AR); + __IO uint32_t *data_reg = &hqspi->Instance->DR; + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + if(pData != NULL ) + { + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_INDIRECT_RX; + + /* Configure counters and size of the handle */ + hqspi->RxXferCount = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->RxXferSize = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->pRxBuffPtr = pData; + + /* Configure QSPI: CCR register with functional as indirect read */ + MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_READ); + + /* Start the transfer by re-writing the address in AR register */ + WRITE_REG(hqspi->Instance->AR, addr_reg); + + while(hqspi->RxXferCount > 0) + { + /* Wait until FT or TC flag is set to read received data */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, (QSPI_FLAG_FT | QSPI_FLAG_TC), SET, tickstart, Timeout); + + if (status != HAL_OK) + { + break; + } + + *hqspi->pRxBuffPtr++ = *(__IO uint8_t *)data_reg; + hqspi->RxXferCount--; + } + + if (status == HAL_OK) + { + /* Wait until TC flag is set to go back in idle state */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC, SET, tickstart, Timeout); + + if (status == HAL_OK) + { + /* Clear Transfer Complete bit */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TC); + } + } + + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_READY; + } + else + { + hqspi->ErrorCode |= HAL_QSPI_ERROR_INVALID_PARAM; + status = HAL_ERROR; + } + } + else + { + status = HAL_BUSY; + } + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + return status; +} + +/** + * @brief Send an amount of data in non-blocking mode with interrupt. + * @param hqspi: QSPI handle + * @param pData: pointer to data buffer + * @note This function is used only in Indirect Write Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Transmit_IT(QSPI_HandleTypeDef *hqspi, uint8_t *pData) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + if(pData != NULL ) + { + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_INDIRECT_TX; + + /* Configure counters and size of the handle */ + hqspi->TxXferCount = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->TxXferSize = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->pTxBuffPtr = pData; + + /* Configure QSPI: CCR register with functional as indirect write */ + MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE); + + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TE | QSPI_FLAG_TC); + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Enable the QSPI transfer error, FIFO threshold and transfer complete Interrupts */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TE | QSPI_IT_FT | QSPI_IT_TC); + } + else + { + hqspi->ErrorCode |= HAL_QSPI_ERROR_INVALID_PARAM; + status = HAL_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + } + else + { + status = HAL_BUSY; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + + return status; +} + +/** + * @brief Receive an amount of data in non-blocking mode with interrupt. + * @param hqspi: QSPI handle + * @param pData: pointer to data buffer + * @note This function is used only in Indirect Read Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Receive_IT(QSPI_HandleTypeDef *hqspi, uint8_t *pData) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t addr_reg = READ_REG(hqspi->Instance->AR); + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + if(pData != NULL ) + { + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_INDIRECT_RX; + + /* Configure counters and size of the handle */ + hqspi->RxXferCount = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->RxXferSize = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->pRxBuffPtr = pData; + + /* Configure QSPI: CCR register with functional as indirect read */ + MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_READ); + + /* Start the transfer by re-writing the address in AR register */ + WRITE_REG(hqspi->Instance->AR, addr_reg); + + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TE | QSPI_FLAG_TC); + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Enable the QSPI transfer error, FIFO threshold and transfer complete Interrupts */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TE | QSPI_IT_FT | QSPI_IT_TC); + } + else + { + hqspi->ErrorCode |= HAL_QSPI_ERROR_INVALID_PARAM; + status = HAL_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + } + else + { + status = HAL_BUSY; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + + return status; +} + +/** + * @brief Send an amount of data in non-blocking mode with DMA. + * @param hqspi: QSPI handle + * @param pData: pointer to data buffer + * @note This function is used only in Indirect Write Mode + * @note If MDMA peripheral access is configured as halfword, the number + * of data and the fifo threshold should be aligned on halfword + * @note If MDMA peripheral access is configured as word, the number + * of data and the fifo threshold should be aligned on word + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Transmit_DMA(QSPI_HandleTypeDef *hqspi, uint8_t *pData) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t *tmp; + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + /* Clear the error code */ + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + if(pData != NULL ) + { + + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_INDIRECT_TX; + + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, (QSPI_FLAG_TE | QSPI_FLAG_TC)); + + /* Configure counters and size of the handle */ + hqspi->TxXferCount = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->TxXferSize = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->pTxBuffPtr = pData; + + /* Configure QSPI: CCR register with functional mode as indirect write */ + MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE); + + /* Set the QSPI MDMA transfer complete callback */ + hqspi->hmdma->XferCpltCallback = QSPI_DMATxCplt; + + /* Set the MDMA error callback */ + hqspi->hmdma->XferErrorCallback = QSPI_DMAError; + + /* Clear the MDMA abort callback */ + hqspi->hmdma->XferAbortCallback = NULL; + + if(hqspi->hmdma->Init.DestinationInc != MDMA_DEST_INC_DISABLE) + { + /* Update MDMA handle with the correct DestinationInc and SourceInc field for Write operation */ + hqspi->hmdma->Init.DestinationInc = MDMA_DEST_INC_DISABLE; + hqspi->hmdma->Init.SourceInc = MDMA_SRC_INC_BYTE; + HAL_MDMA_Init(hqspi->hmdma); + } + + /* Enable the QSPI transmit MDMA */ + tmp = (uint32_t*)&pData; + HAL_MDMA_Start_IT(hqspi->hmdma, *(uint32_t*)tmp, (uint32_t)&hqspi->Instance->DR, hqspi->TxXferSize, 1); + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Enable the QSPI transfer error Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TE); + + /* Enable the MDMA transfer by setting the DMAEN bit not needed for MDMA*/ + } + else + { + hqspi->ErrorCode |= HAL_QSPI_ERROR_INVALID_PARAM; + status = HAL_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + } + else + { + status = HAL_BUSY; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + + return status; +} + +/** + * @brief Receive an amount of data in non-blocking mode with DMA. + * @param hqspi: QSPI handle + * @param pData: pointer to data buffer. + * @note This function is used only in Indirect Read Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_Receive_DMA(QSPI_HandleTypeDef *hqspi, uint8_t *pData) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t *tmp; + uint32_t addr_reg = READ_REG(hqspi->Instance->AR); + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + /* Clear the error code */ + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + if(pData != NULL ) + { + + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_INDIRECT_RX; + + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, (QSPI_FLAG_TE | QSPI_FLAG_TC)); + + /* Configure counters and size of the handle */ + hqspi->RxXferCount = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->RxXferSize = READ_REG(hqspi->Instance->DLR) + 1; + hqspi->pRxBuffPtr = pData; + + /* Set the QSPI DMA transfer complete callback */ + hqspi->hmdma->XferCpltCallback = QSPI_DMARxCplt; + + /* Set the MDMA error callback */ + hqspi->hmdma->XferErrorCallback = QSPI_DMAError; + + /* Clear the MDMA abort callback */ + hqspi->hmdma->XferAbortCallback = NULL; + + + /* QSPI need to be configured to indirect mode before starting + the MDMA to avoid primatury triggering for the MDMA transfert */ + /* Configure QSPI: CCR register with functional as indirect read */ + MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_READ); + + + /* Start the transfer by re-writing the address in AR register */ + WRITE_REG(hqspi->Instance->AR, addr_reg); + + if(hqspi->hmdma->Init.DestinationInc != MDMA_DEST_INC_BYTE) + { + /* Update MDMA handle with the correct DestinationInc and SourceInc field for Read operation */ + hqspi->hmdma->Init.DestinationInc = MDMA_DEST_INC_BYTE; + hqspi->hmdma->Init.SourceInc = MDMA_SRC_INC_DISABLE; + HAL_MDMA_Init(hqspi->hmdma); + } + + /* Enable the MDMA */ + tmp = (uint32_t*)&pData; + HAL_MDMA_Start_IT(hqspi->hmdma, (uint32_t)&hqspi->Instance->DR, *(uint32_t*)tmp, hqspi->RxXferSize, 1); + + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Enable the QSPI transfer error Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TE); + + /* Enable the MDMA transfer by setting the DMAEN bit in the QSPI CR register */ + SET_BIT(hqspi->Instance->CR, QUADSPI_CR_DMAEN); + } + else + { + status = HAL_ERROR; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + } + else + { + status = HAL_BUSY; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + + return status; +} + +/** + * @brief Configure the QSPI Automatic Polling Mode in blocking mode. + * @param hqspi: QSPI handle + * @param cmd: structure that contains the command configuration information. + * @param cfg: structure that contains the polling configuration information. + * @param Timeout : Timeout duration + * @note This function is used only in Automatic Polling Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_AutoPolling(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg, uint32_t Timeout) +{ + HAL_StatusTypeDef status = HAL_ERROR; + uint32_t tickstart = HAL_GetTick(); + + /* Check the parameters */ + assert_param(IS_QSPI_INSTRUCTION_MODE(cmd->InstructionMode)); + if (cmd->InstructionMode != QSPI_INSTRUCTION_NONE) + { + assert_param(IS_QSPI_INSTRUCTION(cmd->Instruction)); + } + + assert_param(IS_QSPI_ADDRESS_MODE(cmd->AddressMode)); + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + assert_param(IS_QSPI_ADDRESS_SIZE(cmd->AddressSize)); + } + + assert_param(IS_QSPI_ALTERNATE_BYTES_MODE(cmd->AlternateByteMode)); + if (cmd->AlternateByteMode != QSPI_ALTERNATE_BYTES_NONE) + { + assert_param(IS_QSPI_ALTERNATE_BYTES_SIZE(cmd->AlternateBytesSize)); + } + + assert_param(IS_QSPI_DUMMY_CYCLES(cmd->DummyCycles)); + assert_param(IS_QSPI_DATA_MODE(cmd->DataMode)); + + assert_param(IS_QSPI_DDR_MODE(cmd->DdrMode)); + assert_param(IS_QSPI_DDR_HHC(cmd->DdrHoldHalfCycle)); + assert_param(IS_QSPI_SIOO_MODE(cmd->SIOOMode)); + + assert_param(IS_QSPI_INTERVAL(cfg->Interval)); + assert_param(IS_QSPI_STATUS_BYTES_SIZE(cfg->StatusBytesSize)); + assert_param(IS_QSPI_MATCH_MODE(cfg->MatchMode)); + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_AUTO_POLLING; + + /* Wait till BUSY flag reset */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_BUSY, RESET, tickstart, Timeout); + + if (status == HAL_OK) + { + /* Configure QSPI: PSMAR register with the status match value */ + WRITE_REG(hqspi->Instance->PSMAR, cfg->Match); + + /* Configure QSPI: PSMKR register with the status mask value */ + WRITE_REG(hqspi->Instance->PSMKR, cfg->Mask); + + /* Configure QSPI: PIR register with the interval value */ + WRITE_REG(hqspi->Instance->PIR, cfg->Interval); + + /* Configure QSPI: CR register with Match mode and Automatic stop enabled + (otherwise there will be an infinite loop in blocking mode) */ + MODIFY_REG(hqspi->Instance->CR, (QUADSPI_CR_PMM | QUADSPI_CR_APMS), + (cfg->MatchMode | QSPI_AUTOMATIC_STOP_ENABLE)); + + /* Call the configuration function */ + cmd->NbData = cfg->StatusBytesSize; + QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_AUTO_POLLING); + + /* Wait until SM flag is set to go back in idle state */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_SM, SET, tickstart, Timeout); + + if (status == HAL_OK) + { + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_SM); + + /* Update state */ + hqspi->State = HAL_QSPI_STATE_READY; + } + } + } + else + { + status = HAL_BUSY; + } + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Return function status */ + return status; +} + +/** + * @brief Configure the QSPI Automatic Polling Mode in non-blocking mode. + * @param hqspi: QSPI handle + * @param cmd: structure that contains the command configuration information. + * @param cfg: structure that contains the polling configuration information. + * @note This function is used only in Automatic Polling Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_AutoPolling_IT(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg) +{ + HAL_StatusTypeDef status = HAL_ERROR; + uint32_t tickstart = HAL_GetTick(); + + /* Check the parameters */ + assert_param(IS_QSPI_INSTRUCTION_MODE(cmd->InstructionMode)); + if (cmd->InstructionMode != QSPI_INSTRUCTION_NONE) + { + assert_param(IS_QSPI_INSTRUCTION(cmd->Instruction)); + } + + assert_param(IS_QSPI_ADDRESS_MODE(cmd->AddressMode)); + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + assert_param(IS_QSPI_ADDRESS_SIZE(cmd->AddressSize)); + } + + assert_param(IS_QSPI_ALTERNATE_BYTES_MODE(cmd->AlternateByteMode)); + if (cmd->AlternateByteMode != QSPI_ALTERNATE_BYTES_NONE) + { + assert_param(IS_QSPI_ALTERNATE_BYTES_SIZE(cmd->AlternateBytesSize)); + } + + assert_param(IS_QSPI_DUMMY_CYCLES(cmd->DummyCycles)); + assert_param(IS_QSPI_DATA_MODE(cmd->DataMode)); + + assert_param(IS_QSPI_DDR_MODE(cmd->DdrMode)); + assert_param(IS_QSPI_DDR_HHC(cmd->DdrHoldHalfCycle)); + assert_param(IS_QSPI_SIOO_MODE(cmd->SIOOMode)); + + assert_param(IS_QSPI_INTERVAL(cfg->Interval)); + assert_param(IS_QSPI_STATUS_BYTES_SIZE(cfg->StatusBytesSize)); + assert_param(IS_QSPI_MATCH_MODE(cfg->MatchMode)); + assert_param(IS_QSPI_AUTOMATIC_STOP(cfg->AutomaticStop)); + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_AUTO_POLLING; + + /* Wait till BUSY flag reset */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_BUSY, RESET, tickstart, hqspi->Timeout); + + if (status == HAL_OK) + { + /* Configure QSPI: PSMAR register with the status match value */ + WRITE_REG(hqspi->Instance->PSMAR, cfg->Match); + + /* Configure QSPI: PSMKR register with the status mask value */ + WRITE_REG(hqspi->Instance->PSMKR, cfg->Mask); + + /* Configure QSPI: PIR register with the interval value */ + WRITE_REG(hqspi->Instance->PIR, cfg->Interval); + + /* Configure QSPI: CR register with Match mode and Automatic stop mode */ + MODIFY_REG(hqspi->Instance->CR, (QUADSPI_CR_PMM | QUADSPI_CR_APMS), + (cfg->MatchMode | cfg->AutomaticStop)); + + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TE | QSPI_FLAG_SM); + + /* Call the configuration function */ + cmd->NbData = cfg->StatusBytesSize; + QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_AUTO_POLLING); + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Enable the QSPI Transfer Error and status match Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, (QSPI_IT_SM | QSPI_IT_TE)); + + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + } + else + { + status = HAL_BUSY; + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + } + + /* Return function status */ + return status; +} + +/** + * @brief Configure the Memory Mapped mode. + * @param hqspi: QSPI handle + * @param cmd: structure that contains the command configuration information. + * @param cfg: structure that contains the memory mapped configuration information. + * @note This function is used only in Memory mapped Mode + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_MemoryMapped(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_MemoryMappedTypeDef *cfg) +{ + HAL_StatusTypeDef status = HAL_ERROR; + uint32_t tickstart = HAL_GetTick(); + + /* Check the parameters */ + assert_param(IS_QSPI_INSTRUCTION_MODE(cmd->InstructionMode)); + if (cmd->InstructionMode != QSPI_INSTRUCTION_NONE) + { + assert_param(IS_QSPI_INSTRUCTION(cmd->Instruction)); + } + + assert_param(IS_QSPI_ADDRESS_MODE(cmd->AddressMode)); + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + assert_param(IS_QSPI_ADDRESS_SIZE(cmd->AddressSize)); + } + + assert_param(IS_QSPI_ALTERNATE_BYTES_MODE(cmd->AlternateByteMode)); + if (cmd->AlternateByteMode != QSPI_ALTERNATE_BYTES_NONE) + { + assert_param(IS_QSPI_ALTERNATE_BYTES_SIZE(cmd->AlternateBytesSize)); + } + + assert_param(IS_QSPI_DUMMY_CYCLES(cmd->DummyCycles)); + assert_param(IS_QSPI_DATA_MODE(cmd->DataMode)); + + assert_param(IS_QSPI_DDR_MODE(cmd->DdrMode)); + assert_param(IS_QSPI_DDR_HHC(cmd->DdrHoldHalfCycle)); + assert_param(IS_QSPI_SIOO_MODE(cmd->SIOOMode)); + + assert_param(IS_QSPI_TIMEOUT_ACTIVATION(cfg->TimeOutActivation)); + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + hqspi->ErrorCode = HAL_QSPI_ERROR_NONE; + + /* Update state */ + hqspi->State = HAL_QSPI_STATE_BUSY_MEM_MAPPED; + + /* Wait till BUSY flag reset */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_BUSY, RESET, tickstart, hqspi->Timeout); + + if (status == HAL_OK) + { + /* Configure QSPI: CR register with timeout counter enable */ + MODIFY_REG(hqspi->Instance->CR, QUADSPI_CR_TCEN, cfg->TimeOutActivation); + + if (cfg->TimeOutActivation == QSPI_TIMEOUT_COUNTER_ENABLE) + { + assert_param(IS_QSPI_TIMEOUT_PERIOD(cfg->TimeOutPeriod)); + + /* Configure QSPI: LPTR register with the low-power timeout value */ + WRITE_REG(hqspi->Instance->LPTR, cfg->TimeOutPeriod); + + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TO); + + /* Enable the QSPI TimeOut Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TO); + } + + /* Call the configuration function */ + QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED); + } + } + else + { + status = HAL_BUSY; + } + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Return function status */ + return status; +} + +/** + * @brief Transfer Error callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_ErrorCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_QSPI_ErrorCallback could be implemented in the user file + */ +} + +/** + * @brief Abort completed callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_AbortCpltCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_QSPI_AbortCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Command completed callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_CmdCpltCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_QSPI_CmdCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_RxCpltCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_QSPI_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Tx Transfer completed callback. + * @param hqspi: QSPI handle + * @retval None + */ + __weak void HAL_QSPI_TxCpltCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_QSPI_TxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Half Transfer completed callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_RxHalfCpltCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_QSPI_RxHalfCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Tx Half Transfer completed callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_TxHalfCpltCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_QSPI_TxHalfCpltCallback could be implemented in the user file + */ +} + +/** + * @brief FIFO Threshold callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_FifoThresholdCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_QSPI_FIFOThresholdCallback could be implemented in the user file + */ +} + +/** + * @brief Status Match callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_StatusMatchCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_QSPI_StatusMatchCallback could be implemented in the user file + */ +} + +/** + * @brief Timeout callback. + * @param hqspi: QSPI handle + * @retval None + */ +__weak void HAL_QSPI_TimeOutCallback(QSPI_HandleTypeDef *hqspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hqspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_QSPI_TimeOutCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup QSPI_Exported_Functions_Group3 Peripheral Control and State functions + * @brief QSPI control and State functions + * +@verbatim + =============================================================================== + ##### Peripheral Control and State functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to : + (+) Check in run-time the state of the driver. + (+) Check the error code set during last operation. + (+) Abort any operation. + + +@endverbatim + * @{ + */ + +/** + * @brief Return the QSPI handle state. + * @param hqspi: QSPI handle + * @retval HAL state + */ +HAL_QSPI_StateTypeDef HAL_QSPI_GetState(QSPI_HandleTypeDef *hqspi) +{ + /* Return QSPI handle state */ + return hqspi->State; +} + +/** +* @brief Return the QSPI error code. +* @param hqspi: QSPI handle +* @retval QSPI Error Code +*/ +uint32_t HAL_QSPI_GetError(QSPI_HandleTypeDef *hqspi) +{ + return hqspi->ErrorCode; +} + +/** +* @brief Abort the current transmission. +* @param hqspi: QSPI handle +* @retval HAL status +*/ +HAL_StatusTypeDef HAL_QSPI_Abort(QSPI_HandleTypeDef *hqspi) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t tickstart = HAL_GetTick(); + + /* Check if the state is in one of the busy states */ + if ((hqspi->State & 0x2) != 0) + { + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + if (hqspi->Instance->CR & QUADSPI_CR_DMAEN) + { + /* Disable the DMA transfer by clearing the DMAEN bit in the QSPI CR register */ + CLEAR_BIT(hqspi->Instance->CR, QUADSPI_CR_DMAEN); + + /* Abort MDMA */ + status = HAL_MDMA_Abort(hqspi->hmdma); + if(status != HAL_OK) + { + hqspi->ErrorCode |= HAL_QSPI_ERROR_DMA; + } + } + + /* Configure QSPI: CR register with Abort request */ + SET_BIT(hqspi->Instance->CR, QUADSPI_CR_ABORT); + + /* Wait until TC flag is set to go back in idle state */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC, SET, tickstart, hqspi->Timeout); + + if(status == HAL_OK) + { + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TC); + + /* Wait until BUSY flag is reset */ + status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_BUSY, RESET, tickstart, hqspi->Timeout); + } + + if (status == HAL_OK) + { + /* Update state */ + hqspi->State = HAL_QSPI_STATE_READY; + } + } + + return status; +} + +/** +* @brief Abort the current transmission (non-blocking function) +* @param hqspi: QSPI handle +* @retval HAL status +*/ +HAL_StatusTypeDef HAL_QSPI_Abort_IT(QSPI_HandleTypeDef *hqspi) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check if the state is in one of the busy states */ + if ((hqspi->State & 0x2) != 0) + { + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Update QSPI state */ + hqspi->State = HAL_QSPI_STATE_ABORT; + + /* Disable all interrupts */ + __HAL_QSPI_DISABLE_IT(hqspi, (QSPI_IT_TO | QSPI_IT_SM | QSPI_IT_FT | QSPI_IT_TC | QSPI_IT_TE)); + + if (hqspi->Instance->CR & QUADSPI_CR_DMAEN) + { + /* Disable the DMA transfer by clearing the DMAEN bit in the QSPI CR register */ + CLEAR_BIT(hqspi->Instance->CR, QUADSPI_CR_DMAEN); + + /* Abort MDMA channel */ + hqspi->hmdma->XferAbortCallback = QSPI_DMAAbortCplt; + HAL_MDMA_Abort_IT(hqspi->hmdma); + } + else + { + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TC); + + /* Enable the QSPI Transfer Complete Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TC); + + /* Configure QSPI: CR register with Abort request */ + SET_BIT(hqspi->Instance->CR, QUADSPI_CR_ABORT); + } + } + return status; +} + +/** @brief Set QSPI timeout. + * @param hqspi: QSPI handle. + * @param Timeout: Timeout for the QSPI memory access. + * @retval None + */ +void HAL_QSPI_SetTimeout(QSPI_HandleTypeDef *hqspi, uint32_t Timeout) +{ + hqspi->Timeout = Timeout; +} + +/** @brief Set QSPI Fifo threshold. + * @param hqspi: QSPI handle. + * @param Threshold: Threshold of the Fifo (value between 1 and 16). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_QSPI_SetFifoThreshold(QSPI_HandleTypeDef *hqspi, uint32_t Threshold) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process locked */ + __HAL_LOCK(hqspi); + + if(hqspi->State == HAL_QSPI_STATE_READY) + { + /* Synchronize init structure with new FIFO threshold value */ + hqspi->Init.FifoThreshold = Threshold; + + /* Configure QSPI FIFO Threshold */ + MODIFY_REG(hqspi->Instance->CR, QUADSPI_CR_FTHRES, + ((hqspi->Init.FifoThreshold - 1) << POSITION_VAL(QUADSPI_CR_FTHRES))); + } + else + { + status = HAL_BUSY; + } + + /* Process unlocked */ + __HAL_UNLOCK(hqspi); + + /* Return function status */ + return status; +} + +/** @brief Get QSPI Fifo threshold. + * @param hqspi: QSPI handle. + * @retval Fifo threshold (value between 1 and 16) + */ +uint32_t HAL_QSPI_GetFifoThreshold(QSPI_HandleTypeDef *hqspi) +{ + return ((READ_BIT(hqspi->Instance->CR, QUADSPI_CR_FTHRES) >> POSITION_VAL(QUADSPI_CR_FTHRES)) + 1); +} + +/** + * @} + */ + +/** + * @brief DMA QSPI receive process complete callback. + * @param hmdma: MDMA handle + * @retval None + */ +static void QSPI_DMARxCplt(MDMA_HandleTypeDef *hmdma) +{ + QSPI_HandleTypeDef* hqspi = ( QSPI_HandleTypeDef* )((MDMA_HandleTypeDef* )hmdma)->Parent; + hqspi->RxXferCount = 0; + + /* Enable the QSPI transfer complete Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TC); +} + +/** + * @brief DMA QSPI transmit process complete callback. + * @param hmdma: MDMA handle + * @retval None + */ +static void QSPI_DMATxCplt(MDMA_HandleTypeDef *hmdma) +{ + QSPI_HandleTypeDef* hqspi = ( QSPI_HandleTypeDef* )((MDMA_HandleTypeDef* )hmdma)->Parent; + hqspi->TxXferCount = 0; + + /* Enable the QSPI transfer complete Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TC); +} + +/** + * @brief DMA QSPI communication error callback. + * @param hmdma: MDMA handle + * @retval None + */ +static void QSPI_DMAError(MDMA_HandleTypeDef *hmdma) +{ + QSPI_HandleTypeDef* hqspi = ( QSPI_HandleTypeDef* )((MDMA_HandleTypeDef* )hmdma)->Parent; + + hqspi->RxXferCount = 0; + hqspi->TxXferCount = 0; + hqspi->ErrorCode |= HAL_QSPI_ERROR_DMA; + + /* Disable the MDMA transfer by clearing the DMAEN bit in the QSPI CR register */ + CLEAR_BIT(hqspi->Instance->CR, QUADSPI_CR_DMAEN); + + /* Abort the QSPI */ + HAL_QSPI_Abort_IT(hqspi); +} + +/** + * @brief MDMA QSPI abort complete callback. + * @param hmdma: MDMA handle + * @retval None + */ +static void QSPI_DMAAbortCplt(MDMA_HandleTypeDef *hmdma) +{ + QSPI_HandleTypeDef* hqspi = ( QSPI_HandleTypeDef* )((MDMA_HandleTypeDef* )hmdma)->Parent; + + hqspi->RxXferCount = 0; + hqspi->TxXferCount = 0; + + if(hqspi->State == HAL_QSPI_STATE_ABORT) + { + /* MDMA Abort called by QSPI abort */ + /* Clear interrupt */ + __HAL_QSPI_CLEAR_FLAG(hqspi, QSPI_FLAG_TC); + + /* Enable the QSPI Transfer Complete Interrupt */ + __HAL_QSPI_ENABLE_IT(hqspi, QSPI_IT_TC); + + /* Configure QSPI: CR register with Abort request */ + SET_BIT(hqspi->Instance->CR, QUADSPI_CR_ABORT); + } + else + { + /* MDMA Abort called due to a transfer error interrupt */ + /* Change state of QSPI */ + hqspi->State = HAL_QSPI_STATE_READY; + + /* Error callback */ + HAL_QSPI_ErrorCallback(hqspi); + } +} +/** + * @brief Wait for a flag state until timeout. + * @param hqspi: QSPI handle + * @param Flag: Flag checked + * @param State: Value of the flag expected + * @param tickstart: Tick start value + * @param Timeout: Duration of the timeout + * @retval HAL status + */ +static HAL_StatusTypeDef QSPI_WaitFlagStateUntilTimeout(QSPI_HandleTypeDef *hqspi, uint32_t Flag, + FlagStatus State, uint32_t tickstart, uint32_t Timeout) +{ + /* Wait until flag is in expected state */ + while((FlagStatus)(__HAL_QSPI_GET_FLAG(hqspi, Flag)) != State) + { + /* Check for the Timeout */ + if (Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick() - tickstart) > Timeout)) + { + hqspi->State = HAL_QSPI_STATE_ERROR; + hqspi->ErrorCode |= HAL_QSPI_ERROR_TIMEOUT; + + return HAL_ERROR; + } + } + } + return HAL_OK; +} + +/** + * @brief Configure the communication registers. + * @param hqspi: QSPI handle + * @param cmd: structure that contains the command configuration information + * @param FunctionalMode: functional mode to configured + * This parameter can be one of the following values: + * @arg QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE: Indirect write mode + * @arg QSPI_FUNCTIONAL_MODE_INDIRECT_READ: Indirect read mode + * @arg QSPI_FUNCTIONAL_MODE_AUTO_POLLING: Automatic polling mode + * @arg QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED: Memory-mapped mode + * @retval None + */ +static void QSPI_Config(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, uint32_t FunctionalMode) +{ + assert_param(IS_QSPI_FUNCTIONAL_MODE(FunctionalMode)); + + if ((cmd->DataMode != QSPI_DATA_NONE) && (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED)) + { + /* Configure QSPI: DLR register with the number of data to read or write */ + WRITE_REG(hqspi->Instance->DLR, (cmd->NbData - 1)); + } + + if (cmd->InstructionMode != QSPI_INSTRUCTION_NONE) + { + if (cmd->AlternateByteMode != QSPI_ALTERNATE_BYTES_NONE) + { + /* Configure QSPI: ABR register with alternate bytes value */ + WRITE_REG(hqspi->Instance->ABR, cmd->AlternateBytes); + + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + /*---- Command with instruction, address and alternate bytes ----*/ + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateBytesSize | cmd->AlternateByteMode | + cmd->AddressSize | cmd->AddressMode | cmd->InstructionMode | + cmd->Instruction | FunctionalMode)); + + if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED) + { + /* Configure QSPI: AR register with address value */ + WRITE_REG(hqspi->Instance->AR, cmd->Address); + } + } + else + { + /*---- Command with instruction and alternate bytes ----*/ + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateBytesSize | cmd->AlternateByteMode | + cmd->AddressMode | cmd->InstructionMode | + cmd->Instruction | FunctionalMode)); + } + } + else + { + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + /*---- Command with instruction and address ----*/ + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateByteMode | cmd->AddressSize | cmd->AddressMode | + cmd->InstructionMode | cmd->Instruction | FunctionalMode)); + + if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED) + { + /* Configure QSPI: AR register with address value */ + WRITE_REG(hqspi->Instance->AR, cmd->Address); + } + } + else + { + /*---- Command with only instruction ----*/ + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateByteMode | cmd->AddressMode | + cmd->InstructionMode | cmd->Instruction | FunctionalMode)); + } + } + } + else + { + if (cmd->AlternateByteMode != QSPI_ALTERNATE_BYTES_NONE) + { + /* Configure QSPI: ABR register with alternate bytes value */ + WRITE_REG(hqspi->Instance->ABR, cmd->AlternateBytes); + + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + /*---- Command with address and alternate bytes ----*/ + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateBytesSize | cmd->AlternateByteMode | + cmd->AddressSize | cmd->AddressMode | + cmd->InstructionMode | FunctionalMode)); + + if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED) + { + /* Configure QSPI: AR register with address value */ + WRITE_REG(hqspi->Instance->AR, cmd->Address); + } + } + else + { + /*---- Command with only alternate bytes ----*/ + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateBytesSize | cmd->AlternateByteMode | + cmd->AddressMode | cmd->InstructionMode | FunctionalMode)); + } + } + else + { + if (cmd->AddressMode != QSPI_ADDRESS_NONE) + { + /*---- Command with only address ----*/ + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateByteMode | cmd->AddressSize | + cmd->AddressMode | cmd->InstructionMode | FunctionalMode)); + + if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED) + { + /* Configure QSPI: AR register with address value */ + WRITE_REG(hqspi->Instance->AR, cmd->Address); + } + } + else + { + /*---- Command with only data phase ----*/ + if (cmd->DataMode != QSPI_DATA_NONE) + { + /* Configure QSPI: CCR register with all communications parameters */ + WRITE_REG(hqspi->Instance->CCR, (cmd->DdrMode | cmd->DdrHoldHalfCycle | cmd->SIOOMode | + cmd->DataMode | (cmd->DummyCycles << POSITION_VAL(QUADSPI_CCR_DCYC)) | + cmd->AlternateByteMode | cmd->AddressMode | + cmd->InstructionMode | FunctionalMode)); + } + } + } + } +} + +/** + * @} + */ + +#endif /* HAL_QSPI_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c new file mode 100644 index 0000000000..94c7347e04 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c @@ -0,0 +1,1356 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rcc.c + * @author MCD Application Team + * @brief RCC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Reset and Clock Control (RCC) peripheral: + * + Initialization and de-initialization functions + * + Peripheral Control functions + * + @verbatim + ============================================================================== + ##### RCC specific features ##### + ============================================================================== + [..] + After reset the device is running from Internal High Speed oscillator + (HSI 64MHz) with Flash 0 wait state,and all peripherals are off except + internal SRAM, Flash, JTAG and PWR + (+) There is no pre-scaler on High speed (AHB) and Low speed (APB) buses; + all peripherals mapped on these buses are running at HSI speed. + (+) The clock for all peripherals is switched off, except the SRAM and FLASH. + (+) All GPIOs are in analogue mode , except the JTAG pins which + are assigned to be used for debug purpose. + + [..] + Once the device started from reset, the user application has to: + (+) Configure the clock source to be used to drive the System clock + (if the application needs higher frequency/performance) + (+) Configure the System clock frequency and Flash settings + (+) Configure the AHB and APB buses pre-scalers + (+) Enable the clock for the peripheral(s) to be used + (+) Configure the clock kernel source(s) for peripherals which clocks are not + derived from the System clock through :RCC_D1CCIPR,RCC_D2CCIP1R,RCC_D2CCIP2R + and RCC_D3CCIPR registers + + ##### RCC Limitations ##### + ============================================================================== + [..] + A delay between an RCC peripheral clock enable and the effective peripheral + enabling should be taken into account in order to manage the peripheral read/write + from/to registers. + (+) This delay depends on the peripheral mapping. + (+) If peripheral is mapped on AHB: the delay is 2 AHB clock cycle + after the clock enable bit is set on the hardware register + (+) If peripheral is mapped on APB: the delay is 2 APB clock cycle + after the clock enable bit is set on the hardware register + + [..] + Implemented Workaround: + (+) For AHB & APB peripherals, a dummy read to the peripheral register has been + inserted in each __HAL_RCC_PPP_CLK_ENABLE() macro. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup RCC RCC + * @brief RCC HAL module driver + * @{ + */ + +#ifdef HAL_RCC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/** @defgroup RCC_Private_Macros RCC Private Macros + * @{ + */ +#define __MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define MCO1_GPIO_PORT GPIOA +#define MCO1_PIN GPIO_PIN_8 + +#define __MCO2_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define MCO2_GPIO_PORT GPIOC +#define MCO2_PIN GPIO_PIN_9 + +/** + * @} + */ +/* Private variables ---------------------------------------------------------*/ +/** @defgroup RCC_Private_Variables RCC Private Variables + * @{ + */ + +/** + * @} + */ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup RCC_Exported_Functions RCC Exported Functions + * @{ + */ + +/** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] + This section provides functions allowing to configure the internal/external oscillators + (HSE, HSI, LSE,CSI, LSI,HSI48, PLL, CSS and MCO) and the System buses clocks (SYSCLK, AHB3, AHB1 + AHB2,AHB4,APB3, APB1L, APB1H, APB2, and APB4). + + [..] Internal/external clock and PLL configuration + (#) HSI (high-speed internal), 64 MHz factory-trimmed RC used directly or through + the PLL as System clock source. + (#) CSI is a low-power RC oscillator which can be used directly as system clock, peripheral + clock, or PLL input.But even with frequency calibration, is less accurate than an + external crystal oscillator or ceramic resonator. + (#) LSI (low-speed internal), 32 KHz low consumption RC used as IWDG and/or RTC + clock source. + + (#) HSE (high-speed external), 4 to 48 MHz crystal oscillator used directly or + through the PLL as System clock source. Can be used also as RTC clock source. + + (#) LSE (low-speed external), 32 KHz oscillator used as RTC clock source. + + (#) PLL , The RCC features three independent PLLs (clocked by HSI , HSE or CSI), + featuring three different output clocks and able to work either in integer or Fractional mode. + (++) A main PLL, PLL1, which is generally used to provide clocks to the CPU + and to some peripherals. + (++) Two dedicated PLLs, PLL2 and PLL3, which are used to generate the kernel clock for peripherals. + + + (#) CSS (Clock security system), once enabled and if a HSE clock failure occurs + (HSE used directly or through PLL as System clock source), the System clock + is automatically switched to HSI and an interrupt is generated if enabled. + The interrupt is linked to the Cortex-M NMI (Non-Mask-able Interrupt) + exception vector. + + (#) MCO1 (micro controller clock output), used to output HSI, LSE, HSE, PLL1(PLL1_Q) + or HSI48 clock (through a configurable pre-scaler) on PA8 pin. + + (#) MCO2 (micro controller clock output), used to output HSE, PLL2(PLL2_P), SYSCLK, + LSI, CSI, or PLL1(PLL1_P) clock (through a configurable pre-scaler) on PC9 pin. + + [..] System, AHB and APB buses clocks configuration + (#) Several clock sources can be used to drive the System clock (SYSCLK): CSI,HSI, + HSE and PLL. + The AHB clock (HCLK) is derived from System core clock through configurable + pre-scaler and used to clock the CPU, memory and peripherals mapped + on AHB and APB bus of the 3 Domains (D1, D2, D3) through configurable pre-scalers + and used to clock the peripherals mapped on these buses. You can use + "HAL_RCC_GetSysClockFreq()" function to retrieve system clock frequency. + + -@- All the peripheral clocks are derived from the System clock (SYSCLK) except those + with dual clock domain where kernel source clock could be selected through + RCC_D1CCIPR,RCC_D2CCIP1R,RCC_D2CCIP2R and RCC_D3CCIPR registers. +@endverbatim + * @{ + */ + +/** + * @brief Resets the RCC clock configuration to the default reset state. + * @note The default reset state of the clock configuration is given below: + * - HSI ON and used as system clock source + * - HSE, PLL1, PLL2 and PLL3 OFF + * - AHB, APB Bus pre-scaler set to 1. + * - CSS, MCO1 and MCO2 OFF + * - All interrupts disabled + * @note This function doesn't modify the configuration of the + * - Peripheral clocks + * - LSI, LSE and RTC clocks + * @retval None + */ +void HAL_RCC_DeInit(void) +{ + /* Set HSION bit */ + SET_BIT(RCC->CR, RCC_CR_HSION); + + /* Reset CFGR register */ + CLEAR_REG(RCC->CFGR); + + /* Reset CSION , CSIKERON, HSEON, HSI48ON, HSECSSON,HSIDIV, PLL1ON, PLL2ON, PLL3ON bits */ + CLEAR_BIT(RCC->CR, RCC_CR_HSEON | RCC_CR_HSIKERON| RCC_CR_HSIDIV| RCC_CR_HSIDIVF| RCC_CR_CSION | RCC_CR_CSIKERON | RCC_CR_HSI48ON \ + |RCC_CR_CSSHSEON | RCC_CR_PLL1ON | RCC_CR_PLL1ON | RCC_CR_PLL2ON | RCC_CR_PLL3ON); + + /* Reset D1CFGR register */ + CLEAR_REG(RCC->D1CFGR); + + /* Reset D2CFGR register */ + CLEAR_REG(RCC->D2CFGR); + + /* Reset D3CFGR register */ + CLEAR_REG(RCC->D3CFGR); + + /* Reset PLLCKSELR register */ + CLEAR_REG(RCC->PLLCKSELR); + + /* Reset PLLCFGR register */ + CLEAR_REG(RCC->PLLCFGR); + + /* Reset PLL1DIVR register */ + CLEAR_REG(RCC->PLL1DIVR); + + /* Reset PLL1FRACR register */ + CLEAR_REG(RCC->PLL1FRACR); + + /* Reset PLL2DIVR register */ + CLEAR_REG(RCC->PLL2DIVR); + + /* Reset PLL2FRACR register */ + CLEAR_REG(RCC->PLL2FRACR); + + /* Reset PLL3DIVR register */ + CLEAR_REG(RCC->PLL3DIVR); + + /* Reset PLL3FRACR register */ + CLEAR_REG(RCC->PLL3FRACR); + + /* Reset HSEBYP bit */ + CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); + + /* Disable all interrupts */ + CLEAR_REG(RCC->CICR); +} + +/** + * @brief Initializes the RCC Oscillators according to the specified parameters in the + * RCC_OscInitTypeDef. + * @param RCC_OscInitStruct: pointer to an RCC_OscInitTypeDef structure that + * contains the configuration information for the RCC Oscillators. + * @note The PLL is not disabled when used as system clock. + * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not + * supported by this function. User should request a transition to LSE Off + * first and then LSE On or LSE Bypass. + * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not + * supported by this function. User should request a transition to HSE Off + * first and then HSE On or HSE Bypass. + * @retval HAL status + */ +__weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); + /*------------------------------- HSE Configuration ------------------------*/ + if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) + { + /* Check the parameters */ + assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); + /* When the HSE is used as system clock or clock source for PLL in these cases HSE will not disabled */ + if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSE) || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL1) && ((RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC) == RCC_PLLCKSELR_PLLSRC_HSE))) + { + if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) + { + return HAL_ERROR; + } + } + else + { + /* Set the new HSE configuration ---------------------------------------*/ + __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); + + /* Check the HSE State */ + if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF) + { + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till HSE is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else + { + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till HSE is bypassed or disabled */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + } + /*----------------------------- HSI Configuration --------------------------*/ + if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) + { + /* Check the parameters */ + assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); + assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); + + /* When the HSI is used as system clock it will not disabled */ + if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSI) || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL1) && ((RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC) == RCC_PLLCKSELR_PLLSRC_HSI))) + { + /* When HSI is used as system clock it will not disabled */ + if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState == RCC_HSI_OFF)) + { + return HAL_ERROR; + } + /* Otherwise, just the calibration is allowed */ + else + { + /* Enable the Internal High Speed oscillator (HSI, HSIDIV2,HSIDIV4, or HSIDIV8) */ + __HAL_RCC_HSI_CONFIG(RCC_OscInitStruct->HSIState); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till HSI is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ + __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); + } + } + + else + { + /* Check the HSI State */ + if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF) + { + /* Enable the Internal High Speed oscillator (HSI, HSIDIV2,HSIDIV4, or HSIDIV8) */ + __HAL_RCC_HSI_CONFIG(RCC_OscInitStruct->HSIState); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till HSI is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ + __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); + } + else + { + /* Disable the Internal High Speed oscillator (HSI). */ + __HAL_RCC_HSI_DISABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till HSI is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + } + /*----------------------------- CSI Configuration --------------------------*/ + if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_CSI) == RCC_OSCILLATORTYPE_CSI) + { + /* Check the parameters */ + assert_param(IS_RCC_CSI(RCC_OscInitStruct->CSIState)); + assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->CSICalibrationValue)); + + /* When the CSI is used as system clock it will not disabled */ + if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_CSI) || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL1) && ((RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC) == RCC_PLLCKSELR_PLLSRC_CSI))) + { + /* When CSI is used as system clock it will not disabled */ + if((__HAL_RCC_GET_FLAG(RCC_FLAG_CSIRDY) != RESET) && (RCC_OscInitStruct->CSIState != RCC_CSI_ON)) + { + return HAL_ERROR; + } + /* Otherwise, just the calibration is allowed */ + else + { + /* Adjusts the Internal High Speed oscillator (CSI) calibration value.*/ + __HAL_RCC_CSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->CSICalibrationValue); + } + } + else + { + /* Check the CSI State */ + if((RCC_OscInitStruct->CSIState)!= RCC_CSI_OFF) + { + /* Enable the Internal High Speed oscillator (CSI). */ + __HAL_RCC_CSI_ENABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till CSI is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_CSIRDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > CSI_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + /* Adjusts the Internal High Speed oscillator (CSI) calibration value.*/ + __HAL_RCC_CSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->CSICalibrationValue); + } + else + { + /* Disable the Internal High Speed oscillator (CSI). */ + __HAL_RCC_CSI_DISABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till CSI is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_CSIRDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > CSI_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + } + /*------------------------------ LSI Configuration -------------------------*/ + if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) + { + /* Check the parameters */ + assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); + + /* Check the LSI State */ + if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF) + { + /* Enable the Internal Low Speed oscillator (LSI). */ + __HAL_RCC_LSI_ENABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till LSI is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else + { + /* Disable the Internal Low Speed oscillator (LSI). */ + __HAL_RCC_LSI_DISABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till LSI is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + + /*------------------------------ HSI48 Configuration -------------------------*/ + if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48) + { + /* Check the parameters */ + assert_param(IS_RCC_HSI48(RCC_OscInitStruct->HSI48State)); + + /* Check the HSI48 State */ + if((RCC_OscInitStruct->HSI48State)!= RCC_HSI48_OFF) + { + /* Enable the Internal Low Speed oscillator (HSI48). */ + __HAL_RCC_HSI48_ENABLE(); + + /* Get time-out */ + tickstart = HAL_GetTick(); + + /* Wait till HSI48 is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) == RESET) + { + if((HAL_GetTick() - tickstart ) > HSI48_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else + { + /* Disable the Internal Low Speed oscillator (HSI48). */ + __HAL_RCC_HSI48_DISABLE(); + + /* Get time-out */ + tickstart = HAL_GetTick(); + + /* Wait till HSI48 is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) != RESET) + { + if((HAL_GetTick() - tickstart ) > HSI48_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + /*------------------------------ LSE Configuration -------------------------*/ + if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) + { + /* Check the parameters */ + assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); + + /* Enable write access to Backup domain */ + PWR->CR1 |= PWR_CR1_DBP; + + /* Wait for Backup domain Write protection disable */ + tickstart = HAL_GetTick(); + + while((PWR->CR1 & PWR_CR1_DBP) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > RCC_DBP_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + /* Set the new LSE configuration -----------------------------------------*/ + __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); + /* Check the LSE State */ + if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) + { + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till LSE is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else + { + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till LSE is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + /*-------------------------------- PLL Configuration -----------------------*/ + /* Check the parameters */ + assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); + if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) + { + /* Check if the PLL is used as system clock or not */ + if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_PLL1) + { + if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) + { + /* Check the parameters */ + assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource)); + assert_param(IS_RCC_PLLM_VALUE(RCC_OscInitStruct->PLL.PLLM)); + assert_param(IS_RCC_PLLN_VALUE(RCC_OscInitStruct->PLL.PLLN)); + assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP)); + assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ)); + assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLR)); + + /* Disable the main PLL. */ + __HAL_RCC_PLL_DISABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till PLL is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + /* Configure the main PLL clock source, multiplication and division factors. */ + __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, + RCC_OscInitStruct->PLL.PLLM, + RCC_OscInitStruct->PLL.PLLN, + RCC_OscInitStruct->PLL.PLLP, + RCC_OscInitStruct->PLL.PLLQ, + RCC_OscInitStruct->PLL.PLLR); + + /* Configure PLL PLL1FRACN */ + __HAL_RCC_PLLFRACN_CONFIG(RCC_OscInitStruct->PLL.PLLFRACN); + + /* Select PLL1 input reference frequency range: VCI */ + __HAL_RCC_PLL_VCIRANGE(RCC_OscInitStruct->PLL.PLLRGE) ; + + /* Select PLL1 output frequency range : VCO */ + __HAL_RCC_PLL_VCORANGE(RCC_OscInitStruct->PLL.PLLVCOSEL) ; + + /* Enable PLL System Clock output. */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVP); + + /* Enable PLL1Q Clock output. */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* Enable PLL1R Clock output. */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVR); + + /* Enable PLL1FRACN . */ + __HAL_RCC_PLLFRACN_ENABLE(); + + /* Enable the main PLL. */ + __HAL_RCC_PLL_ENABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till PLL is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else + { + /* Disable the main PLL. */ + __HAL_RCC_PLL_DISABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till PLL is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + else + { + return HAL_ERROR; + } + } + return HAL_OK; +} + +/** + * @brief Initializes the CPU, AHB and APB buses clocks according to the specified + * parameters in the RCC_ClkInitStruct. + * @param RCC_ClkInitStruct: pointer to an RCC_OscInitTypeDef structure that + * contains the configuration information for the RCC peripheral. + * @param FLatency: FLASH Latency, this parameter depend on device selected + * + * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency + * and updated by HAL_InitTick() function called within this function + * + * @note The HSI is used (enabled by hardware) as system clock source after + * start-up from Reset, wake-up from STOP and STANDBY mode, or in case + * of failure of the HSE used directly or indirectly as system clock + * (if the Clock Security System CSS is enabled). + * + * @note A switch from one clock source to another occurs only if the target + * clock source is ready (clock stable after start-up delay or PLL locked). + * If a clock source which is not yet ready is selected, the switch will + * occur when the clock source will be ready. + * You can use HAL_RCC_GetClockConfig() function to know which clock is + * currently used as system clock source. + * @note Depending on the device voltage range, the software has to set correctly + * D1CPRE[3:0] bits to ensure that Domain1 core clock not exceed the maximum allowed frequency + * (for more details refer to section above "Initialization/de-initialization functions") + * @retval None + */ +HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType)); + assert_param(IS_FLASH_LATENCY(FLatency)); + + /* To correctly read data from FLASH memory, the number of wait states (LATENCY) + must be correctly programmed according to the frequency of the CPU clock + (HCLK) and the supply voltage of the device. */ + + /* Increasing the CPU frequency */ + if(FLatency > (FLASH->ACR & FLASH_ACR_LATENCY)) + { + /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ + __HAL_FLASH_SET_LATENCY(FLatency); + + /* Check that the new number of wait states is taken into account to access the Flash + memory by reading the FLASH_ACR register */ + if((FLASH->ACR & FLASH_ACR_LATENCY) != FLatency) + { + return HAL_ERROR; + } + + } + /*-------------------------- HCLK Configuration --------------------------*/ + if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) + { + assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); + MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); + } + + /*------------------------- SYSCLK Configuration -------------------------*/ + if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) + { + assert_param(IS_RCC_SYSCLK(RCC_ClkInitStruct->SYSCLKDivider)); + assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); + MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_D1CPRE, RCC_ClkInitStruct->SYSCLKDivider); + /* HSE is selected as System Clock Source */ + if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) + { + /* Check the HSE ready flag */ + if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) + { + return HAL_ERROR; + } + } + /* PLL is selected as System Clock Source */ + else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) + { + /* Check the PLL ready flag */ + if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) + { + return HAL_ERROR; + } + } + /* CSI is selected as System Clock Source */ + else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_CSI) + { + /* Check the PLL ready flag */ + if(__HAL_RCC_GET_FLAG(RCC_FLAG_CSIRDY) == RESET) + { + return HAL_ERROR; + } + } + /* HSI is selected as System Clock Source */ + else + { + /* Check the HSI ready flag */ + if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) + { + return HAL_ERROR; + } + } + MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, RCC_ClkInitStruct->SYSCLKSource); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) + { + while (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_HSE) + { + if((int32_t) (HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) + { + while (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_PLL1) + { + if((int32_t) (HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_CSI) + { + while (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_CSI) + { + if((int32_t) (HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + else + { + while(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_HSI) + { + if((int32_t) (HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + } + + /* Decreasing the number of wait states because of lower CPU frequency */ + if(FLatency < (FLASH->ACR & FLASH_ACR_LATENCY)) + { + /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ + __HAL_FLASH_SET_LATENCY(FLatency); + + /* Check that the new number of wait states is taken into account to access the Flash + memory by reading the FLASH_ACR register */ + if((FLASH->ACR & FLASH_ACR_LATENCY) != FLatency) + { + return HAL_ERROR; + } + } + + /*-------------------------- D1PCLK1 Configuration ---------------------------*/ + if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_D1PCLK1) == RCC_CLOCKTYPE_D1PCLK1) + { + assert_param(IS_RCC_D1PCLK1(RCC_ClkInitStruct->APB3CLKDivider)); + MODIFY_REG(RCC->D1CFGR, RCC_D1CFGR_D1PPRE, RCC_ClkInitStruct->APB3CLKDivider); + } + + /*-------------------------- PCLK1 Configuration ---------------------------*/ + if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) + { + assert_param(IS_RCC_PCLK1(RCC_ClkInitStruct->APB1CLKDivider)); + MODIFY_REG(RCC->D2CFGR, RCC_D2CFGR_D2PPRE1, (RCC_ClkInitStruct->APB1CLKDivider)); + } + + /*-------------------------- PCLK2 Configuration ---------------------------*/ + if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) + { + assert_param(IS_RCC_PCLK2(RCC_ClkInitStruct->APB2CLKDivider)); + MODIFY_REG(RCC->D2CFGR, RCC_D2CFGR_D2PPRE2, (RCC_ClkInitStruct->APB2CLKDivider)); + } + + + /*-------------------------- D3PCLK1 Configuration ---------------------------*/ + if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_D3PCLK1) == RCC_CLOCKTYPE_D3PCLK1) + { + assert_param(IS_RCC_D3PCLK1(RCC_ClkInitStruct->APB4CLKDivider)); + MODIFY_REG(RCC->D3CFGR, RCC_D2CFGR_D2PPRE1, (RCC_ClkInitStruct->APB4CLKDivider) ); + } + + /* Update the SystemCoreClock global variable */ + SystemCoreClock = HAL_RCC_GetSysClockFreq() >> D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> POSITION_VAL(RCC_D1CFGR_D1CPRE_0)]; + + /* Configure the source of time base considering new system clocks settings*/ + HAL_InitTick (TICK_INT_PRIORITY); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup RCC_Group2 Peripheral Control functions + * @brief RCC clocks control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the RCC Clocks + frequencies. + +@endverbatim + * @{ + */ + +/** + * @brief Selects the clock source to output on MCO1 pin(PA8) or on MCO2 pin(PC9). + * @note PA8/PC9 should be configured in alternate function mode. + * @param RCC_MCOx: specifies the output direction for the clock source. + * This parameter can be one of the following values: + * @arg RCC_MCO1: Clock source to output on MCO1 pin(PA8). + * @arg RCC_MCO2: Clock source to output on MCO2 pin(PC9). + * @param RCC_MCOSource: specifies the clock source to output. + * This parameter can be one of the following values: + * @arg RCC_MCO1SOURCE_HSI: HSI clock selected as MCO1 source + * @arg RCC_MCO1SOURCE_LSE: LSE clock selected as MCO1 source + * @arg RCC_MCO1SOURCE_HSE: HSE clock selected as MCO1 source + * @arg RCC_MCO1SOURCE_PLL1QCLK: PLL1Q clock selected as MCO1 source + * @arg RCC_MCO1SOURCE_HSI48: HSI48 (48MHZ) selected as MCO1 source + * @arg RCC_MCO2SOURCE_SYSCLK: System clock (SYSCLK) selected as MCO2 source + * @arg RCC_MCO2SOURCE_PLL2PCLK: PLL2P clock selected as MCO2 source + * @arg RCC_MCO2SOURCE_HSE: HSE clock selected as MCO2 source + * @arg RCC_MCO2SOURCE_PLLCLK: PLL1P clock selected as MCO2 source + * @arg RCC_MCO2SOURCE_CSICLK: CSI clock selected as MCO2 source + * @arg RCC_MCO2SOURCE_LSICLK: LSI clock selected as MCO2 source + * @param RCC_MCODiv: specifies the MCOx pre-scaler. + * This parameter can be one of the following values: + * @arg RCC_MCODIV_1 up to RCC_MCODIV_15 : divider applied to MCOx clock + * @retval None + */ +void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv) +{ + GPIO_InitTypeDef GPIO_InitStruct; + /* Check the parameters */ + assert_param(IS_RCC_MCO(RCC_MCOx)); + assert_param(IS_RCC_MCODIV(RCC_MCODiv)); + /* RCC_MCO1 */ + if(RCC_MCOx == RCC_MCO1) + { + assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); + + /* MCO1 Clock Enable */ + __MCO1_CLK_ENABLE(); + + /* Configure the MCO1 pin in alternate function mode */ + GPIO_InitStruct.Pin = MCO1_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Alternate = GPIO_AF0_MCO; + HAL_GPIO_Init(MCO1_GPIO_PORT, &GPIO_InitStruct); + + /* Mask MCO1 and MCO1PRE[3:0] bits then Select MCO1 clock source and pre-scaler */ + MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCO1 | RCC_CFGR_MCO1PRE), (RCC_MCOSource | RCC_MCODiv)); + } + else + { + assert_param(IS_RCC_MCO2SOURCE(RCC_MCOSource)); + + /* MCO2 Clock Enable */ + __MCO2_CLK_ENABLE(); + + /* Configure the MCO2 pin in alternate function mode */ + GPIO_InitStruct.Pin = MCO2_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Alternate = GPIO_AF0_MCO; + HAL_GPIO_Init(MCO2_GPIO_PORT, &GPIO_InitStruct); + + /* Mask MCO2 and MCO2PRE[3:0] bits then Select MCO2 clock source and pre-scaler */ + MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCO2 | RCC_CFGR_MCO2PRE), (RCC_MCOSource | (RCC_MCODiv << 7))); + } +} + +/** + * @brief Enables the Clock Security System. + * @note If a failure is detected on the HSE oscillator clock, this oscillator + * is automatically disabled and an interrupt is generated to inform the + * software about the failure (Clock Security System Interrupt, CSSI), + * allowing the MCU to perform rescue operations. The CSSI is linked to + * the Cortex-M NMI (Non-Mask-able Interrupt) exception vector. + * @retval None + */ +void HAL_RCC_EnableCSS(void) +{ + SET_BIT(RCC->CR, RCC_CR_CSSHSEON) ; +} + +/** + * @brief Returns the SYSCLK frequency + * + * @note The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * @note If SYSCLK source is CSI, function returns values based on CSI_VALUE(*) + * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(**) + * @note If SYSCLK source is HSE, function returns values based on HSE_VALUE(***) + * @note If SYSCLK source is PLL, function returns values based on CSI_VALUE(*), + * HSI_VALUE(**) or HSE_VALUE(***) multiplied/divided by the PLL factors. + * @note (*) CSI_VALUE is a constant defined in stm32h7xx_hal_conf.h file (default value + * 4 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * @note (**) HSI_VALUE is a constant defined in stm32h7xx_hal_conf.h file (default value + * 64 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * @note (***) HSE_VALUE is a constant defined in stm32h7xx_hal_conf.h file (default value + * 25 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * @note The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @note This function can be used by the user application to compute the + * baud rate for the communication peripherals or configure other parameters. + * + * @note Each time SYSCLK changes, this function must be called to update the + * right SYSCLK value. Otherwise, any configuration based on this function will be incorrect. + * + * + * @retval SYSCLK frequency + */ +uint32_t HAL_RCC_GetSysClockFreq(void) +{ + uint32_t pllp = 1, pllsource = 0, pllm = 1 ,pllfracen =0 , hsivalue = 0; + float fracn1=0, pllvco = 0; + uint32_t sysclockfreq = 0; + /* Get SYSCLK source -------------------------------------------------------*/ + + switch (RCC->CFGR & RCC_CFGR_SWS) + { + case 0x00: /* HSI used as system clock source */ + + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + sysclockfreq = (uint32_t) (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)); + } + else + { + sysclockfreq = (uint32_t) HSI_VALUE; + } + + break; + + case 0x08: /* CSI used as system clock source */ + sysclockfreq = CSI_VALUE; + break; + + case 0x10: /* HSE used as system clock source */ + sysclockfreq = HSE_VALUE; + break; + + case 0x18: /* PLL1 used as system clock source */ + + /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLLM) * PLLN + SYSCLK = PLL_VCO / PLLR + */ + pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); + pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4) ; + pllfracen = RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN; + fracn1 = (pllfracen* ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3)); + + switch (pllsource) + { + case 0x00: /* HSI used as PLL clock source */ + + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + hsivalue= (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)); + pllvco = ( hsivalue / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + } + else + { + pllvco = (HSI_VALUE / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + } + break; + + case 0x01: /* CSI used as PLL clock source */ + pllvco = (CSI_VALUE / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + + case 0x02: /* HSE used as PLL clock source */ + pllvco = (HSE_VALUE / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + + default: + pllvco = (CSI_VALUE / pllm) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + } + pllp = (((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + 1 ) ; + sysclockfreq = (uint32_t)(pllvco/pllp); + break; + + default: + sysclockfreq = CSI_VALUE; + break; + } + + return sysclockfreq; +} + + +/** + * @brief Returns the HCLK frequency + * @note Each time HCLK changes, this function must be called to update the + * right HCLK value. Otherwise, any configuration based on this function will be incorrect. + * + * @note The SystemD2Clock CMSIS variable is used to store System domain2 Clock Frequency + * and updated within this function + * @retval HCLK frequency + */ +uint32_t HAL_RCC_GetHCLKFreq(void) +{ + SystemD2Clock = (HAL_RCCEx_GetD1SysClockFreq() >> D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> POSITION_VAL(RCC_D1CFGR_HPRE_0)]); + return SystemD2Clock; +} + + +/** + * @brief Returns the PCLK1 frequency + * @note Each time PCLK1 changes, this function must be called to update the + * right PCLK1 value. Otherwise, any configuration based on this function will be incorrect. + * @retval PCLK1 frequency + */ +uint32_t HAL_RCC_GetPCLK1Freq(void) +{ + /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ + return (HAL_RCC_GetHCLKFreq() >> D1CorePrescTable[(RCC->D2CFGR & RCC_D2CFGR_D2PPRE1)>> POSITION_VAL(RCC_D2CFGR_D2PPRE1_0)]); +} + + +/** + * @brief Returns the PCLK2 frequency + * @note Each time PCLK2 changes, this function must be called to update the + * right PCLK2 value. Otherwise, any configuration based on this function will be incorrect. + * @retval PCLK1 frequency + */ +uint32_t HAL_RCC_GetPCLK2Freq(void) +{ + /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ + return (HAL_RCC_GetHCLKFreq() >> D1CorePrescTable[(RCC->D2CFGR & RCC_D2CFGR_D2PPRE2)>> POSITION_VAL(RCC_D2CFGR_D2PPRE2_0)]); +} + +/** + * @brief Configures the RCC_OscInitStruct according to the internal + * RCC configuration registers. + * @param RCC_OscInitStruct: pointer to an RCC_OscInitTypeDef structure that + * will be configured. + * @retval None + */ +void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) +{ + /* Set all possible values for the Oscillator type parameter ---------------*/ + RCC_OscInitStruct->OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_CSI | \ + RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI| RCC_OSCILLATORTYPE_HSI48; + + /* Get the HSE configuration -----------------------------------------------*/ + if((RCC->CR &RCC_CR_HSEBYP) == RCC_CR_HSEBYP) + { + RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS; + } + else if((RCC->CR &RCC_CR_HSEON) == RCC_CR_HSEON) + { + RCC_OscInitStruct->HSEState = RCC_HSE_ON; + } + else + { + RCC_OscInitStruct->HSEState = RCC_HSE_OFF; + } + + /* Get the CSI configuration -----------------------------------------------*/ + if((RCC->CR &RCC_CR_CSION) == RCC_CR_CSION) + { + RCC_OscInitStruct->CSIState = RCC_CSI_ON; + } + else + { + RCC_OscInitStruct->CSIState = RCC_CSI_OFF; + } + + RCC_OscInitStruct->CSICalibrationValue = (uint32_t)((RCC->ICSCR &RCC_ICSCR_CSITRIM) >> POSITION_VAL(RCC_ICSCR_CSITRIM)); + + /* Get the HSI configuration -----------------------------------------------*/ + if((RCC->CR &RCC_CR_HSION) == RCC_CR_HSION) + { + RCC_OscInitStruct->HSIState = RCC_HSI_ON; + } + else + { + RCC_OscInitStruct->HSIState = RCC_HSI_OFF; + } + + RCC_OscInitStruct->HSICalibrationValue = (uint32_t)((RCC->ICSCR &RCC_ICSCR_HSITRIM) >> POSITION_VAL(RCC_ICSCR_HSITRIM)); + + /* Get the LSE configuration -----------------------------------------------*/ + if((RCC->BDCR &RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP) + { + RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS; + } + else if((RCC->BDCR &RCC_BDCR_LSEON) == RCC_BDCR_LSEON) + { + RCC_OscInitStruct->LSEState = RCC_LSE_ON; + } + else + { + RCC_OscInitStruct->LSEState = RCC_LSE_OFF; + } + + /* Get the LSI configuration -----------------------------------------------*/ + if((RCC->CSR &RCC_CSR_LSION) == RCC_CSR_LSION) + { + RCC_OscInitStruct->LSIState = RCC_LSI_ON; + } + else + { + RCC_OscInitStruct->LSIState = RCC_LSI_OFF; + } + + /* Get the HSI48 configuration ---------------------------------------------*/ + if((RCC->CR & RCC_CR_HSI48ON) == RCC_CR_HSI48ON) + { + RCC_OscInitStruct->HSI48State = RCC_HSI48_ON; + } + else + { + RCC_OscInitStruct->HSI48State = RCC_HSI48_OFF; + } + + /* Get the PLL configuration -----------------------------------------------*/ + if((RCC->CR &RCC_CR_PLLON) == RCC_CR_PLLON) + { + RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON; + } + else + { + RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF; + } + RCC_OscInitStruct->PLL.PLLSource = (uint32_t)(RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); + RCC_OscInitStruct->PLL.PLLM = (uint32_t)((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> POSITION_VAL(RCC_PLLCKSELR_DIVM1)); + RCC_OscInitStruct->PLL.PLLN = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) >> POSITION_VAL(RCC_PLL1DIVR_N1))+ 1; + RCC_OscInitStruct->PLL.PLLR = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_R1) >> POSITION_VAL(RCC_PLL1DIVR_R1))+ 1; + RCC_OscInitStruct->PLL.PLLP = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >> POSITION_VAL(RCC_PLL1DIVR_P1))+ 1; + RCC_OscInitStruct->PLL.PLLQ = (uint32_t)((RCC->PLL1DIVR & RCC_PLL1DIVR_Q1) >> POSITION_VAL(RCC_PLL1DIVR_Q1))+ 1; + RCC_OscInitStruct->PLL.PLLRGE = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL1RGE) >> POSITION_VAL(RCC_PLLCFGR_PLL1RGE_1)); + RCC_OscInitStruct->PLL.PLLVCOSEL = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL1VCOSEL) >> POSITION_VAL(RCC_PLLCFGR_PLL1VCOSEL)); +} + +/** + * @brief Configures the RCC_ClkInitStruct according to the internal + * RCC configuration registers. + * @param RCC_ClkInitStruct: pointer to an RCC_ClkInitTypeDef structure that + * will be configured. + * @param pFLatency: Pointer on the Flash Latency. + * @retval None + */ +void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency) +{ + /* Set all possible values for the Clock type parameter --------------------*/ + RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_D1PCLK1 | RCC_CLOCKTYPE_PCLK1 | + RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1 ; + + /* Get the SYSCLK configuration --------------------------------------------*/ + RCC_ClkInitStruct->SYSCLKSource = (uint32_t)(RCC->CFGR & RCC_CFGR_SW); + + /* Get the SYSCLK configuration ----------------------------------------------*/ + RCC_ClkInitStruct->SYSCLKDivider = (uint32_t)(RCC->D1CFGR & RCC_D1CFGR_D1CPRE); + + /* Get the D1HCLK configuration ----------------------------------------------*/ + RCC_ClkInitStruct->AHBCLKDivider = (uint32_t)(RCC->D1CFGR & RCC_D1CFGR_HPRE); + + /* Get the APB3 configuration ----------------------------------------------*/ + RCC_ClkInitStruct->APB3CLKDivider = (uint32_t)(RCC->D1CFGR & RCC_D1CFGR_D1PPRE); + + /* Get the APB1 configuration ----------------------------------------------*/ + RCC_ClkInitStruct->APB1CLKDivider = (uint32_t)(RCC->D2CFGR & RCC_D2CFGR_D2PPRE1); + + /* Get the APB2 configuration ----------------------------------------------*/ + RCC_ClkInitStruct->APB2CLKDivider = (uint32_t)(RCC->D2CFGR & RCC_D2CFGR_D2PPRE2); + + /* Get the APB4 configuration ----------------------------------------------*/ + RCC_ClkInitStruct->APB4CLKDivider = (uint32_t)(RCC->D3CFGR & RCC_D3CFGR_D3PPRE); + + + /* Get the Flash Wait State (Latency) configuration ------------------------*/ + *pFLatency = (uint32_t)(FLASH->ACR & FLASH_ACR_LATENCY); +} + +/** + * @brief This function handles the RCC CSS interrupt request. + * @note This API should be called under the NMI_Handler(). + * @retval None + */ +void HAL_RCC_NMI_IRQHandler(void) +{ + /* Check RCC CSSF flag */ + if(__HAL_RCC_GET_IT(RCC_IT_CSS)) + { + /* RCC Clock Security System interrupt user callback */ + HAL_RCC_CCSCallback(); + + /* Clear RCC CSS pending bit */ + __HAL_RCC_CLEAR_IT(RCC_IT_CSS); + } +} + +/** + * @brief RCC Clock Security System interrupt callback + * @retval none + */ +__weak void HAL_RCC_CCSCallback(void) +{ + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_RCC_CCSCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_RCC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c new file mode 100644 index 0000000000..045d6a4c12 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c @@ -0,0 +1,2652 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rcc_ex.c + * @author MCD Application Team + * @brief Extended RCC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities RCC extension peripheral: + * + Extended Peripheral Control functions + * + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup RCCEx RCCEx + * @brief RCC HAL module driver + * @{ + */ + +#ifdef HAL_RCC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private defines -----------------------------------------------------------*/ +/** @defgroup RCCEx_Private_defines Private Defines + * @{ + */ +#define PLL2_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ +#define PLL3_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ +#define PLL_TIMEOUT_VALUE ((uint32_t)2) /* 2 ms */ + +#define DIVIDER_P_UPDATE 0U +#define DIVIDER_Q_UPDATE 1U +#define DIVIDER_R_UPDATE 2U +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/** @defgroup RCCEx_Private_Macros RCCEx Private Macros + * @{ + */ +/** + * @} + */ + +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static HAL_StatusTypeDef RCCEx_PLL2_Config(RCC_PLL2InitTypeDef *pll2, uint32_t Divider); +static HAL_StatusTypeDef RCCEx_PLL3_Config(RCC_PLL3InitTypeDef *pll3, uint32_t Divider); + + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup RCCEx_Exported_Functions Exported Functions + * @{ + */ + +/** @defgroup RCCEx_Exported_Functions_Group1 Extended Peripheral Control functions + * @brief Extended Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Extended Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the RCC Clocks + frequencies. + [..] + (@) Important note: Care must be taken when HAL_RCCEx_PeriphCLKConfig() is used to + select the RTC clock source; in this case the Backup domain will be reset in + order to modify the RTC Clock source, as consequence RTC registers (including + the backup registers) and RCC_BDCR register are set to their reset values. + +@endverbatim + * @{ + */ +/** + * @brief Initializes the RCC extended peripherals clocks according to the specified + * parameters in the RCC_PeriphCLKInitTypeDef. + * @param PeriphClkInit: pointer to an RCC_PeriphCLKInitTypeDef structure that + * contains the configuration information for the Extended Peripherals + * clocks(SDMMC, CKPER, FMC, QSPI, DSI, SPI45, SPDIF, DFSDM1, FDCAN, SWPMI,SAI23, SAI1, SPI123, + * USART234578, USART16, RNG, HRTIM1, I2C123, USB,CEC, LPTIM1, LPUART1, I2C4, LPTIM2, LPTIM345, ADC, + * SAI4A,SAI4B,SPI6,RTC). + * @note Care must be taken when HAL_RCCEx_PeriphCLKConfig() is used to select + * the RTC clock source; in this case the Backup domain will be reset in + * order to modify the RTC Clock source, as consequence RTC registers (including + * the backup registers) are set to their reset values. + * + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) +{ + uint32_t tmpreg; + uint32_t tickstart; + HAL_StatusTypeDef ret = HAL_OK; /* Intermediate status */ + HAL_StatusTypeDef status = HAL_OK; /* Final status */ + + /*---------------------------- SPDIFRX configuration -------------------------------*/ + + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) + { + + switch(PeriphClkInit->SpdifrxClockSelection) + { + case RCC_SPDIFRXCLKSOURCE_PLL: /* PLL is used as clock source for SPDIFRX*/ + /* Enable SAI Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SPDIFRXCLKSOURCE_PLL2: /* PLL2 is used as clock source for SPDIFRX*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SPDIFRXCLKSOURCE_PLL3: /* PLL3 is used as clock source for SPDIFRX*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SPDIFRXCLKSOURCE_HSI: + /* Internal OSC clock is used as source of SPDIFRX clock*/ + /* SPDIFRX clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SPDIFRX clock*/ + __HAL_RCC_SPDIFRX_CONFIG(PeriphClkInit->SpdifrxClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- SAI1 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) + { + switch(PeriphClkInit->Sai1ClockSelection) + { + case RCC_SAI1CLKSOURCE_PLL: /* PLL is used as clock source for SAI1*/ + /* Enable SAI Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI1CLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI1*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI1CLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI1*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI1CLKSOURCE_PIN: + /* External clock is used as source of SAI1 clock*/ + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI1CLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of SAI1 clock */ + /* SAI1 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SAI1 clock*/ + __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- SAI2/3 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI23) == RCC_PERIPHCLK_SAI23) + { + switch(PeriphClkInit->Sai23ClockSelection) + { + case RCC_SAI23CLKSOURCE_PLL: /* PLL is used as clock source for SAI2/3 */ + /* Enable SAI Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* SAI2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI23CLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2/3 */ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* SAI2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI23CLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2/3 */ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE); + + /* SAI2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI23CLKSOURCE_PIN: + /* External clock is used as source of SAI2/3 clock*/ + /* SAI2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI23CLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of SAI2/3 clock */ + /* SAI2/3 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SAI2/3 clock*/ + __HAL_RCC_SAI23_CONFIG(PeriphClkInit->Sai23ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- SAI4A configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI4A) == RCC_PERIPHCLK_SAI4A) + { + switch(PeriphClkInit->Sai4AClockSelection) + { + case RCC_SAI4ACLKSOURCE_PLL: /* PLL is used as clock source for SAI2*/ + /* Enable SAI Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4ACLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* SAI2 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4ACLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4ACLKSOURCE_PIN: + /* External clock is used as source of SAI2 clock*/ + /* SAI2 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4ACLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of SAI2 clock */ + /* SAI1 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SAI2 clock*/ + __HAL_RCC_SAI4A_CONFIG(PeriphClkInit->Sai4AClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + /*---------------------------- SAI4B configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI4B) == RCC_PERIPHCLK_SAI4B) + { + switch(PeriphClkInit->Sai4BClockSelection) + { + case RCC_SAI4BCLKSOURCE_PLL: /* PLL is used as clock source for SAI2*/ + /* Enable SAI Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4BCLKSOURCE_PLL2: /* PLL2 is used as clock source for SAI2*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* SAI2 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4BCLKSOURCE_PLL3: /* PLL3 is used as clock source for SAI2*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3), DIVIDER_P_UPDATE); + + /* SAI1 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4BCLKSOURCE_PIN: + /* External clock is used as source of SAI2 clock*/ + /* SAI2 clock source configuration done later after clock selection check */ + break; + + case RCC_SAI4BCLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of SAI2 clock */ + /* SAI1 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SAI2 clock*/ + __HAL_RCC_SAI4B_CONFIG(PeriphClkInit->Sai4BClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + /*---------------------------- QSPI configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_QSPI) == RCC_PERIPHCLK_QSPI) + { + switch(PeriphClkInit->QspiClockSelection) + { + case RCC_QSPICLKSOURCE_PLL: /* PLL is used as clock source for QSPI*/ + /* Enable QSPI Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* QSPI clock source configuration done later after clock selection check */ + break; + + case RCC_QSPICLKSOURCE_PLL2: /* PLL2 is used as clock source for QSPI*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE); + + /* QSPI clock source configuration done later after clock selection check */ + break; + + + case RCC_QSPICLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of QSPI clock */ + /* QSPI clock source configuration done later after clock selection check */ + break; + + case RCC_QSPICLKSOURCE_D1HCLK: + /* Domain1 HCLK clock selected as QSPI kernel peripheral clock */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of QSPI clock*/ + __HAL_RCC_QSPI_CONFIG(PeriphClkInit->QspiClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- SPI1/2/3 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPI123) == RCC_PERIPHCLK_SPI123) + { + switch(PeriphClkInit->Spi123ClockSelection) + { + case RCC_SPI123CLKSOURCE_PLL: /* PLL is used as clock source for SPI1/2/3 */ + /* Enable SPI Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* SPI1/2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI123CLKSOURCE_PLL2: /* PLL2 is used as clock source for SPI1/2/3 */ + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* SPI1/2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI123CLKSOURCE_PLL3: /* PLL3 is used as clock source for SPI1/2/3 */ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_P_UPDATE); + + /* SPI1/2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI123CLKSOURCE_PIN: + /* External clock is used as source of SPI1/2/3 clock*/ + /* SPI1/2/3 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI123CLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of SPI1/2/3 clock */ + /* SPI1/2/3 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SPI1/2/3 clock*/ + __HAL_RCC_SPI123_CONFIG(PeriphClkInit->Spi123ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- SPI4/5 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPI45) == RCC_PERIPHCLK_SPI45) + { + switch(PeriphClkInit->Spi45ClockSelection) + { + case RCC_SPI45CLKSOURCE_D2PCLK1: /* D2PCLK1 as clock source for SPI4/5 */ + /* SPI4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI45CLKSOURCE_PLL2: /* PLL2 is used as clock source for SPI4/5 */ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE); + + /* SPI4/5 clock source configuration done later after clock selection check */ + break; + case RCC_SPI45CLKSOURCE_PLL3: /* PLL3 is used as clock source for SPI4/5 */ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE); + /* SPI4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI45CLKSOURCE_HSI: + /* HSI oscillator clock is used as source of SPI4/5 clock*/ + /* SPI4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI45CLKSOURCE_CSI: + /* CSI oscillator clock is used as source of SPI4/5 clock */ + /* SPI4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI45CLKSOURCE_HSE: + /* HSE, oscillator is used as source of SPI4/5 clock */ + /* SPI4/5 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SPI4/5 clock*/ + __HAL_RCC_SPI45_CONFIG(PeriphClkInit->Spi45ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- SPI6 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPI6) == RCC_PERIPHCLK_SPI6) + { + switch(PeriphClkInit->Spi6ClockSelection) + { + case RCC_SPI6CLKSOURCE_D3PCLK1: /* D3PCLK1 as clock source for SPI6*/ + /* SPI6 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI6CLKSOURCE_PLL2: /* PLL2 is used as clock source for SPI6*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE); + + /* SPI6 clock source configuration done later after clock selection check */ + break; + case RCC_SPI6CLKSOURCE_PLL3: /* PLL3 is used as clock source for SPI6*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE); + /* SPI6 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI6CLKSOURCE_HSI: + /* HSI oscillator clock is used as source of SPI6 clock*/ + /* SPI6 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI6CLKSOURCE_CSI: + /* CSI oscillator clock is used as source of SPI6 clock */ + /* SPI6 clock source configuration done later after clock selection check */ + break; + + case RCC_SPI6CLKSOURCE_HSE: + /* HSE, oscillator is used as source of SPI6 clock */ + /* SPI6 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SPI6 clock*/ + __HAL_RCC_SPI6_CONFIG(PeriphClkInit->Spi6ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + +#if defined(FDCAN1) || defined(FDCAN2) + /*---------------------------- FDCAN configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_FDCAN) == RCC_PERIPHCLK_FDCAN) + { + switch(PeriphClkInit->FdcanClockSelection) + { + case RCC_FDCANCLKSOURCE_PLL: /* PLL is used as clock source for FDCAN*/ + /* Enable FDCAN Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* FDCAN clock source configuration done later after clock selection check */ + break; + + case RCC_FDCANCLKSOURCE_PLL2: /* PLL2 is used as clock source for FDCAN*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE); + + /* FDCAN clock source configuration done later after clock selection check */ + break; + + case RCC_FDCANCLKSOURCE_HSE: + /* HSE is used as clock source for FDCAN*/ + /* FDCAN clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of FDCAN clock*/ + __HAL_RCC_FDCAN_CONFIG(PeriphClkInit->FdcanClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + +#endif /*FDCAN1 || FDCAN2*/ + /*---------------------------- FMC configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_FMC) == RCC_PERIPHCLK_FMC) + { + switch(PeriphClkInit->FmcClockSelection) + { + case RCC_FMCCLKSOURCE_PLL: /* PLL is used as clock source for FMC*/ + /* Enable FMC Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* FMC clock source configuration done later after clock selection check */ + break; + + case RCC_FMCCLKSOURCE_PLL2: /* PLL2 is used as clock source for FMC*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE); + + /* FMC clock source configuration done later after clock selection check */ + break; + + + case RCC_FMCCLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of FMC clock */ + /* FMC clock source configuration done later after clock selection check */ + break; + + case RCC_FMCCLKSOURCE_D1HCLK: + /* Domain1 HCLK clock selected as QSPI kernel peripheral clock */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of FMC clock*/ + __HAL_RCC_FMC_CONFIG(PeriphClkInit->FmcClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- RTC configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) + { + /* check for RTC Parameters used to output RTCCLK */ + assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); + + /* Enable write access to Backup domain */ + SET_BIT(PWR->CR1, PWR_CR1_DBP); + + /* Wait for Backup domain Write protection disable */ + tickstart = HAL_GetTick(); + + while((PWR->CR1 & PWR_CR1_DBP) == RESET) + { + if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) + { + ret = HAL_TIMEOUT; + break; + } + } + + if(ret == HAL_OK) + { + /* Reset the Backup domain only if the RTC Clock source selection is modified */ + if((RCC->BDCR & RCC_BDCR_RTCSEL) != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL)) + { + /* Store the content of BDCR register before the reset of Backup Domain */ + tmpreg = (RCC->BDCR & ~(RCC_BDCR_RTCSEL)); + /* RTC Clock selection can be changed only if the Backup Domain is reset */ + __HAL_RCC_BACKUPRESET_FORCE(); + __HAL_RCC_BACKUPRESET_RELEASE(); + /* Restore the Content of BDCR register */ + RCC->BDCR = tmpreg; + } + + /* If LSE is selected as RTC clock source, wait for LSE reactivation */ + if(PeriphClkInit->RTCClockSelection == RCC_RTCCLKSOURCE_LSE) + { + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till LSE is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) + { + if((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) + { + ret = HAL_TIMEOUT; + break; + } + } + } + + if(ret == HAL_OK) + { + __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + else + { + /* set overall return value */ + status |= ret; + } + } + + + /*-------------------------- USART1/6 configuration --------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART16) == RCC_PERIPHCLK_USART16) + { + switch(PeriphClkInit->Usart16ClockSelection) + { + case RCC_USART16CLKSOURCE_D2PCLK2: /* D2PCLK2 as clock source for USART1/6 */ + /* USART1/6 clock source configuration done later after clock selection check */ + break; + + case RCC_USART16CLKSOURCE_PLL2: /* PLL2 is used as clock source for USART1/6 */ + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE); + /* USART1/6 clock source configuration done later after clock selection check */ + break; + + case RCC_USART16CLKSOURCE_PLL3: /* PLL3 is used as clock source for USART1/6 */ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE); + /* USART1/6 clock source configuration done later after clock selection check */ + break; + + case RCC_USART16CLKSOURCE_HSI: + /* HSI oscillator clock is used as source of USART1/6 clock */ + /* USART1/6 clock source configuration done later after clock selection check */ + break; + + case RCC_USART16CLKSOURCE_CSI: + /* CSI oscillator clock is used as source of USART1/6 clock */ + /* USART1/6 clock source configuration done later after clock selection check */ + break; + + case RCC_USART16CLKSOURCE_LSE: + /* LSE, oscillator is used as source of USART1/6 clock */ + /* USART1/6 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of USART1/6 clock */ + __HAL_RCC_USART16_CONFIG(PeriphClkInit->Usart16ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*-------------------------- USART2/3/4/5/7/8 Configuration --------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART234578) == RCC_PERIPHCLK_USART234578) + { + switch(PeriphClkInit->Usart234578ClockSelection) + { + case RCC_USART234578CLKSOURCE_D2PCLK1: /* D2PCLK1 as clock source for USART2/3/4/5/7/8 */ + /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */ + break; + + case RCC_USART234578CLKSOURCE_PLL2: /* PLL2 is used as clock source for USART2/3/4/5/7/8 */ + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE); + /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */ + break; + + case RCC_USART234578CLKSOURCE_PLL3: /* PLL3 is used as clock source for USART2/3/4/5/7/8 */ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE); + /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */ + break; + + case RCC_USART234578CLKSOURCE_HSI: + /* HSI oscillator clock is used as source of USART2/3/4/5/7/8 clock */ + /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */ + break; + + case RCC_USART234578CLKSOURCE_CSI: + /* CSI oscillator clock is used as source of USART2/3/4/5/7/8 clock */ + /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */ + break; + + case RCC_USART234578CLKSOURCE_LSE: + /* LSE, oscillator is used as source of USART2/3/4/5/7/8 clock */ + /* USART2/3/4/5/7/8 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of USART2/3/4/5/7/8 clock */ + __HAL_RCC_USART234578_CONFIG(PeriphClkInit->Usart234578ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*-------------------------- LPUART1 Configuration -------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPUART1) == RCC_PERIPHCLK_LPUART1) + { + switch(PeriphClkInit->Lpuart1ClockSelection) + { + case RCC_LPUART1CLKSOURCE_D3PCLK1: /* D3PCLK1 as clock source for LPUART1 */ + /* LPUART1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPUART1CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPUART1 */ + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_Q_UPDATE); + /* LPUART1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPUART1CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPUART1 */ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE); + /* LPUART1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPUART1CLKSOURCE_HSI: + /* HSI oscillator clock is used as source of LPUART1 clock */ + /* LPUART1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPUART1CLKSOURCE_CSI: + /* CSI oscillator clock is used as source of LPUART1 clock */ + /* LPUART1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPUART1CLKSOURCE_LSE: + /* LSE, oscillator is used as source of LPUART1 clock */ + /* LPUART1 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of LPUART1 clock */ + __HAL_RCC_LPUART1_CONFIG(PeriphClkInit->Lpuart1ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- LPTIM1 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) + { + switch(PeriphClkInit->Lptim1ClockSelection) + { + case RCC_LPTIM1CLKSOURCE_D2PCLK1: /* D2PCLK1 as clock source for LPTIM1*/ + /* LPTIM1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM1CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPTIM1*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* LPTIM1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM1CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPTIM1*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + + /* LPTIM1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM1CLKSOURCE_LSE: + /* External low speed OSC clock is used as source of LPTIM1 clock*/ + /* LPTIM1 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM1CLKSOURCE_LSI: + /* Internal low speed OSC clock is used as source of LPTIM1 clock*/ + /* LPTIM1 clock source configuration done later after clock selection check */ + break; + case RCC_LPTIM1CLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of LPTIM1 clock */ + /* LPTIM1 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of LPTIM1 clock*/ + __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- LPTIM2 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM2) == RCC_PERIPHCLK_LPTIM2) + { + switch(PeriphClkInit->Lptim2ClockSelection) + { + case RCC_LPTIM2CLKSOURCE_D3PCLK1: /* D3PCLK1 as clock source for LPTIM2*/ + /* LPTIM2 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM2CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPTIM2*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* LPTIM2 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM2CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPTIM2*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + + /* LPTIM2 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM2CLKSOURCE_LSE: + /* External low speed OSC clock is used as source of LPTIM2 clock*/ + /* LPTIM2 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM2CLKSOURCE_LSI: + /* Internal low speed OSC clock is used as source of LPTIM2 clock*/ + /* LPTIM2 clock source configuration done later after clock selection check */ + break; + case RCC_LPTIM2CLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of LPTIM2 clock */ + /* LPTIM2 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of LPTIM2 clock*/ + __HAL_RCC_LPTIM2_CONFIG(PeriphClkInit->Lptim2ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*---------------------------- LPTIM345 configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM345) == RCC_PERIPHCLK_LPTIM345) + { + switch(PeriphClkInit->Lptim345ClockSelection) + { + + case RCC_LPTIM345CLKSOURCE_D3PCLK1: /* D3PCLK1 as clock source for LPTIM3/4/5 */ + /* LPTIM3/4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM345CLKSOURCE_PLL2: /* PLL2 is used as clock source for LPTIM3/4/5 */ + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* LPTIM3/4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM345CLKSOURCE_PLL3: /* PLL3 is used as clock source for LPTIM3/4/5 */ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + + /* LPTIM3/4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM345CLKSOURCE_LSE: + /* External low speed OSC clock is used as source of LPTIM3/4/5 clock */ + /* LPTIM3/4/5 clock source configuration done later after clock selection check */ + break; + + case RCC_LPTIM345CLKSOURCE_LSI: + /* Internal low speed OSC clock is used as source of LPTIM3/4/5 clock */ + /* LPTIM3/4/5 clock source configuration done later after clock selection check */ + break; + case RCC_LPTIM345CLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of LPTIM3/4/5 clock */ + /* LPTIM3/4/5 clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of LPTIM3/4/5 clock */ + __HAL_RCC_LPTIM345_CONFIG(PeriphClkInit->Lptim345ClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*------------------------------ I2C1/2/3 Configuration ------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C123) == RCC_PERIPHCLK_I2C123) + { + /* Check the parameters */ + assert_param(IS_RCC_I2C123CLKSOURCE(PeriphClkInit->I2c123ClockSelection)); + + if ((PeriphClkInit->I2c123ClockSelection )== RCC_I2C123CLKSOURCE_PLL3 ) + { + status |= RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + } + + else + { + __HAL_RCC_I2C123_CONFIG(PeriphClkInit->I2c123ClockSelection); + } + + } + + /*------------------------------ I2C4 Configuration ------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4) + { + /* Check the parameters */ + assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection)); + + if ((PeriphClkInit->I2c4ClockSelection) == RCC_I2C4CLKSOURCE_PLL3 ) + { + status |= RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + } + + else + { + __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection); + } + } + + /*---------------------------- ADC configuration -------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC) + { + switch(PeriphClkInit->AdcClockSelection) + { + + case RCC_ADCCLKSOURCE_PLL2: /* PLL2 is used as clock source for ADC*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_P_UPDATE); + + /* ADC clock source configuration done later after clock selection check */ + break; + + case RCC_ADCCLKSOURCE_PLL3: /* PLL3 is used as clock source for ADC*/ + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + + /* ADC clock source configuration done later after clock selection check */ + break; + + case RCC_ADCCLKSOURCE_CLKP: + /* HSI, HSE, or CSI oscillator is used as source of ADC clock */ + /* ADC clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of ADC clock*/ + __HAL_RCC_ADC_CONFIG(PeriphClkInit->AdcClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*------------------------------ USB Configuration -------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USB) == RCC_PERIPHCLK_USB) + { + + switch(PeriphClkInit->UsbClockSelection) + { + case RCC_USBCLKSOURCE_PLL: /* PLL is used as clock source for USB*/ + /* Enable USB Clock output generated form System USB . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* USB clock source configuration done later after clock selection check */ + break; + + case RCC_USBCLKSOURCE_PLL3: /* PLL3 is used as clock source for USB*/ + + ret = RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_Q_UPDATE); + + /* USB clock source configuration done later after clock selection check */ + break; + + case RCC_USBCLKSOURCE_HSI48: + /* HSI48 oscillator is used as source of USB clock */ + /* USB clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of USB clock*/ + __HAL_RCC_USB_CONFIG(PeriphClkInit->UsbClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + + } + + /*------------------------------------- SDMMC Configuration ------------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC) == RCC_PERIPHCLK_SDMMC) + { + /* Check the parameters */ + assert_param(IS_RCC_SDMMC(PeriphClkInit->SdmmcClockSelection)); + + switch(PeriphClkInit->SdmmcClockSelection) + { + case RCC_SDMMCCLKSOURCE_PLL: /* PLL is used as clock source for SDMMC*/ + /* Enable SDMMC Clock output generated form System PLL . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* SDMMC clock source configuration done later after clock selection check */ + break; + + case RCC_SDMMCCLKSOURCE_PLL2: /* PLL2 is used as clock source for SDMMC*/ + + ret = RCCEx_PLL2_Config(&(PeriphClkInit->PLL2),DIVIDER_R_UPDATE); + + /* SDMMC clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of SDMMC clock*/ + __HAL_RCC_SDMMC_CONFIG(PeriphClkInit->SdmmcClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + } + + /*-------------------------------------- LTDC Configuration -----------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC) + { + status |= RCCEx_PLL3_Config(&(PeriphClkInit->PLL3),DIVIDER_R_UPDATE); + } + + /*------------------------------ RNG Configuration -------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RNG) == RCC_PERIPHCLK_RNG) + { + + switch(PeriphClkInit->RngClockSelection) + { + case RCC_RNGCLKSOURCE_PLL: /* PLL is used as clock source for RNG*/ + /* Enable RNG Clock output generated form System RNG . */ + __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL1_DIVQ); + + /* RNG clock source configuration done later after clock selection check */ + break; + + case RCC_RNGCLKSOURCE_LSE: /* LSE is used as clock source for RNG*/ + + /* RNG clock source configuration done later after clock selection check */ + break; + + case RCC_RNGCLKSOURCE_LSI: /* LSI is used as clock source for RNG*/ + + /* RNG clock source configuration done later after clock selection check */ + break; + case RCC_RNGCLKSOURCE_HSI48: + /* HSI48 oscillator is used as source of RNG clock */ + /* RNG clock source configuration done later after clock selection check */ + break; + + default: + ret = HAL_ERROR; + break; + } + + if(ret == HAL_OK) + { + /* Set the source of RNG clock*/ + __HAL_RCC_RNG_CONFIG(PeriphClkInit->RngClockSelection); + } + else + { + /* set overall return value */ + status |= ret; + } + + } + + /*------------------------------ SWPMI1 Configuration ------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SWPMI1) == RCC_PERIPHCLK_SWPMI1) + { + /* Check the parameters */ + assert_param(IS_RCC_SWPMI1CLKSOURCE(PeriphClkInit->Swpmi1ClockSelection)); + + /* Configure the SWPMI1 interface clock source */ + __HAL_RCC_SWPMI1_CONFIG(PeriphClkInit->Swpmi1ClockSelection); + } + + /*------------------------------ HRTIM1 clock Configuration ----------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_HRTIM1) == RCC_PERIPHCLK_HRTIM1) + { + /* Check the parameters */ + assert_param(IS_RCC_HRTIM1CLKSOURCE(PeriphClkInit->Hrtim1ClockSelection)); + + /* Configure the HRTIM1 clock source */ + __HAL_RCC_HRTIM1_CONFIG(PeriphClkInit->Hrtim1ClockSelection); + } + + /*------------------------------ DFSDM1 Configuration ------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1) + { + /* Check the parameters */ + assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection)); + + /* Configure the DFSDM1 interface clock source */ + __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection); + } + + /*------------------------------------ TIM configuration --------------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == RCC_PERIPHCLK_TIM) + { + /* Check the parameters */ + assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection)); + + /* Configure Timer Prescaler */ + __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection); + } + + /*------------------------------------ CKPER configuration --------------------------------------*/ + if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CKPER) == RCC_PERIPHCLK_CKPER) + { + /* Check the parameters */ + assert_param(IS_RCC_CLKPSOURCE(PeriphClkInit->CkperClockSelection)); + + /* Configure the CKPER clock source */ + __HAL_RCC_CLKP_CONFIG(PeriphClkInit->CkperClockSelection); + } + + if (status == HAL_OK) + { + return HAL_OK; + } + return HAL_ERROR; +} + +/** + * @brief Get the RCC_ClkInitStruct according to the internal RCC configuration registers. + * @param PeriphClkInit: pointer to an RCC_PeriphCLKInitTypeDef structure that +* returns the configuration information for the Extended Peripherals clocks : + * (SDMMC, CKPER, FMC, QSPI, DSI, SPI45, SPDIF, DFSDM1, FDCAN, SWPMI,SAI23, SAI1, SPI123, + * USART234578, USART16, RNG,HRTIM1, I2C123, USB,CEC, LPTIM1, LPUART1, I2C4, LPTIM2, LPTIM345, ADC, +* SAI4A,SAI4B,SPI6,RTC,TIM). + * @retval None + */ +void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) +{ + /* Set all possible values for the extended clock type parameter------------*/ + PeriphClkInit->PeriphClockSelection = + RCC_PERIPHCLK_USART16 | RCC_PERIPHCLK_USART234578 | RCC_PERIPHCLK_LPUART1 | RCC_PERIPHCLK_I2C123 | + RCC_PERIPHCLK_I2C4 | RCC_PERIPHCLK_LPTIM1 | RCC_PERIPHCLK_LPTIM2 | RCC_PERIPHCLK_LPTIM345 | + RCC_PERIPHCLK_SAI1 | RCC_PERIPHCLK_SAI23 | RCC_PERIPHCLK_SAI4A | RCC_PERIPHCLK_SAI4B | + RCC_PERIPHCLK_SPI123 | RCC_PERIPHCLK_SPI45 | RCC_PERIPHCLK_SPI6 | RCC_PERIPHCLK_FDCAN | + RCC_PERIPHCLK_SDMMC | RCC_PERIPHCLK_RNG | RCC_PERIPHCLK_USB | RCC_PERIPHCLK_ADC | + RCC_PERIPHCLK_SWPMI1 | RCC_PERIPHCLK_DFSDM1 | RCC_PERIPHCLK_RTC | RCC_PERIPHCLK_CEC | + RCC_PERIPHCLK_FMC | RCC_PERIPHCLK_QSPI | RCC_PERIPHCLK_DSI | RCC_PERIPHCLK_SPDIFRX | + RCC_PERIPHCLK_HRTIM1 | RCC_PERIPHCLK_LTDC | RCC_PERIPHCLK_TIM | RCC_PERIPHCLK_CKPER; + + /* Get the PLL3 Clock configuration -----------------------------------------------*/ + PeriphClkInit->PLL3.PLL3M = (uint32_t)((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM3)>> POSITION_VAL(RCC_PLLCKSELR_DIVM3)); + PeriphClkInit->PLL3.PLL3N = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_N3) >> POSITION_VAL(RCC_PLL3DIVR_N3))+ 1; + PeriphClkInit->PLL3.PLL3R = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_R3) >> POSITION_VAL(RCC_PLL3DIVR_R3))+ 1; + PeriphClkInit->PLL3.PLL3P = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_P3) >> POSITION_VAL(RCC_PLL3DIVR_P3))+ 1; + PeriphClkInit->PLL3.PLL3Q = (uint32_t)((RCC->PLL3DIVR & RCC_PLL3DIVR_Q3) >> POSITION_VAL(RCC_PLL3DIVR_Q3))+ 1; + PeriphClkInit->PLL3.PLL3RGE = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL3RGE) >> POSITION_VAL(RCC_PLLCFGR_PLL3RGE_1)); + PeriphClkInit->PLL3.PLL3VCOSEL = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL3VCOSEL) >> POSITION_VAL(RCC_PLLCFGR_PLL3VCOSEL)); + + /* Get the PLL2 Clock configuration -----------------------------------------------*/ + PeriphClkInit->PLL2.PLL2M = (uint32_t)((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM2)>> POSITION_VAL(RCC_PLLCKSELR_DIVM2)); + PeriphClkInit->PLL2.PLL2N = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_N2) >> POSITION_VAL(RCC_PLL2DIVR_N2))+ 1; + PeriphClkInit->PLL2.PLL2R = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_R2) >> POSITION_VAL(RCC_PLL2DIVR_R2))+ 1; + PeriphClkInit->PLL2.PLL2P = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_P2) >> POSITION_VAL(RCC_PLL2DIVR_P2))+ 1; + PeriphClkInit->PLL2.PLL2Q = (uint32_t)((RCC->PLL2DIVR & RCC_PLL2DIVR_Q2) >> POSITION_VAL(RCC_PLL2DIVR_Q2))+ 1; + PeriphClkInit->PLL2.PLL2RGE = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL2RGE) >> POSITION_VAL(RCC_PLLCFGR_PLL2RGE_1)); + PeriphClkInit->PLL2.PLL2VCOSEL = (uint32_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLL2VCOSEL) >> POSITION_VAL(RCC_PLLCFGR_PLL2VCOSEL)); + + /* Get the USART1 configuration --------------------------------------------*/ + PeriphClkInit->Usart16ClockSelection = __HAL_RCC_GET_USART16_SOURCE(); + /* Get the USART2/3/4/5/7/8 clock source -----------------------------------*/ + PeriphClkInit->Usart234578ClockSelection = __HAL_RCC_GET_USART234578_SOURCE(); + /* Get the LPUART1 clock source --------------------------------------------*/ + PeriphClkInit->Lpuart1ClockSelection = __HAL_RCC_GET_LPUART1_SOURCE(); + /* Get the I2C1/2/3 clock source -------------------------------------------*/ + PeriphClkInit->I2c123ClockSelection = __HAL_RCC_GET_I2C1_SOURCE(); + /* Get the LPTIM1 clock source ---------------------------------------------*/ + PeriphClkInit->Lptim1ClockSelection = __HAL_RCC_GET_LPTIM1_SOURCE(); + /* Get the LPTIM2 clock source ---------------------------------------------*/ + PeriphClkInit->Lptim2ClockSelection = __HAL_RCC_GET_LPTIM2_SOURCE(); + /* Get the LPTIM3/4/5 clock source -----------------------------------------*/ + PeriphClkInit->Lptim345ClockSelection = __HAL_RCC_GET_LPTIM345_SOURCE(); + /* Get the SAI1 clock source -----------------------------------------------*/ + PeriphClkInit->Sai1ClockSelection = __HAL_RCC_GET_SAI1_SOURCE(); + /* Get the SAI2/3 clock source ---------------------------------------------*/ + PeriphClkInit->Sai23ClockSelection = __HAL_RCC_GET_SAI23_SOURCE(); + /* Get the SAI4A clock source ----------------------------------------------*/ + PeriphClkInit->Sai4AClockSelection = __HAL_RCC_GET_SAI4A_SOURCE(); + /* Get the SAI4B clock source ----------------------------------------------*/ + PeriphClkInit->Sai4BClockSelection = __HAL_RCC_GET_SAI4B_SOURCE(); + /* Get the RTC clock source ------------------------------------------------*/ + PeriphClkInit->RTCClockSelection = __HAL_RCC_GET_RTC_SOURCE(); + /* Get the USB clock source ------------------------------------------------*/ + PeriphClkInit->UsbClockSelection = __HAL_RCC_GET_USB_SOURCE(); + /* Get the SDMMC clock source ----------------------------------------------*/ + PeriphClkInit->SdmmcClockSelection = __HAL_RCC_GET_SDMMC_SOURCE(); + /* Get the RNG clock source ------------------------------------------------*/ + PeriphClkInit->RngClockSelection = __HAL_RCC_GET_RNG_SOURCE(); + /* Get the HRTIM1 clock source ---------------------------------------------*/ + PeriphClkInit->Hrtim1ClockSelection = __HAL_RCC_GET_HRTIM1_SOURCE(); + /* Get the ADC clock source ------------------------------------------------*/ + PeriphClkInit->AdcClockSelection = __HAL_RCC_GET_ADC_SOURCE(); + /* Get the SWPMI1 clock source ---------------------------------------------*/ + PeriphClkInit->Swpmi1ClockSelection = __HAL_RCC_GET_SWPMI1_SOURCE(); + /* Get the DFSDM1 clock source ---------------------------------------------*/ + PeriphClkInit->Dfsdm1ClockSelection = __HAL_RCC_GET_DFSDM1_SOURCE(); + /* Get the SPDIFRX clock source --------------------------------------------*/ + PeriphClkInit->SpdifrxClockSelection = __HAL_RCC_GET_SPDIFRX_SOURCE(); + /* Get the SPI1/2/3 clock source -------------------------------------------*/ + PeriphClkInit->Spi123ClockSelection = __HAL_RCC_GET_SPI123_SOURCE(); + /* Get the SPI4/5 clock source ---------------------------------------------*/ + PeriphClkInit->Spi45ClockSelection = __HAL_RCC_GET_SPI45_SOURCE(); + /* Get the SPI6 clock source -----------------------------------------------*/ + PeriphClkInit->Spi6ClockSelection = __HAL_RCC_GET_SPI6_SOURCE(); + /* Get the FDCAN clock source ----------------------------------------------*/ + PeriphClkInit->FdcanClockSelection = __HAL_RCC_GET_FDCAN_SOURCE(); + /* Get the CEC clock source ------------------------------------------------*/ + PeriphClkInit->CecClockSelection = __HAL_RCC_GET_CEC_SOURCE(); + /* Get the FMC clock source ------------------------------------------------*/ + PeriphClkInit->FmcClockSelection = __HAL_RCC_GET_FMC_SOURCE(); + /* Get the QSPI clock source -----------------------------------------------*/ + PeriphClkInit->QspiClockSelection = __HAL_RCC_GET_QSPI_SOURCE(); + + + /* Get the CKPER clock source ----------------------------------------------*/ + PeriphClkInit->CkperClockSelection = __HAL_RCC_GET_CLKP_SOURCE(); + + /* Get the TIM Prescaler configuration -------------------------------------*/ + if ((RCC->CFGR & RCC_CFGR_TIMPRE) == RESET) + { + PeriphClkInit->TIMPresSelection = RCC_TIMPRES_DESACTIVATED; + } + else + { + PeriphClkInit->TIMPresSelection = RCC_TIMPRES_ACTIVATED; + } +} + +/** + * @brief Return the peripheral clock frequency for a given peripheral(SAI..) + * @note Return 0 if peripheral clock identifier not managed by this API + * @param PeriphClk: Peripheral clock identifier + * This parameter can be one of the following values: + * @arg RCC_PERIPHCLK_SAI1 : SAI1 peripheral clock + * @arg RCC_PERIPHCLK_SAI23 : SAI2/3 peripheral clock + * @arg RCC_PERIPHCLK_SAI4A : SAI4A peripheral clock + * @arg RCC_PERIPHCLK_SAI4B : SAI4B peripheral clock + * @arg RCC_PERIPHCLK_SPI123: SPI1/2/3 peripheral clock + * @retval Frequency in KHz + */ +uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk) +{ + PLL1_ClocksTypeDef pll1_clocks; + PLL2_ClocksTypeDef pll2_clocks; + PLL3_ClocksTypeDef pll3_clocks; + + /* This variable is used to store the SAI clock frequency (value in Hz) */ + uint32_t frequency = 0; + /* This variable is used to store the SAI and CKP clock source */ + uint32_t saiclocksource = 0; + uint32_t ckpclocksource = 0; + uint32_t srcclk = 0U; + switch (PeriphClk) + { + case RCC_PERIPHCLK_SAI1: + { + + saiclocksource= __HAL_RCC_GET_SAI1_SOURCE(); + + switch (saiclocksource) + { + case 0: /* PLL1 is the clock source for SAI1 */ + { + HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks); + frequency = pll1_clocks.PLL1_Q_Frequency; + break; + } + case RCC_D2CCIP1R_SAI1SEL_0: /* PLLI2 is the clock source for SAI1 */ + { + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + frequency = pll2_clocks.PLL2_P_Frequency; + break; + } + + case RCC_D2CCIP1R_SAI1SEL_1: /* PLLI3 is the clock source for SAI1 */ + { + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + frequency = pll3_clocks.PLL3_P_Frequency; + break; + } + + case RCC_D2CCIP1R_SAI1SEL_2: /* CKPER is the clock source for SAI1*/ + { + + ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE(); + + if(ckpclocksource== 0) + { + /* In Case the main PLL Source is HSI */ + frequency = HSI_VALUE; + } + + else if(ckpclocksource== RCC_D1CCIPR_CKPERSEL_0) + { + /* In Case the main PLL Source is CSI */ + frequency = CSI_VALUE; + } + + else if (ckpclocksource== RCC_D1CCIPR_CKPERSEL_1) + { + /* In Case the main PLL Source is HSE */ + frequency = HSE_VALUE; + } + + break; + } + + case (RCC_D2CCIP1R_SAI1SEL_0 | RCC_D2CCIP1R_SAI1SEL_1 ): /* External clock is the clock source for SAI1 */ + { + frequency = EXTERNAL_CLOCK_VALUE; + break; + } + default : + { + break; + } + } + break; + } + + case RCC_PERIPHCLK_SAI23: + { + + saiclocksource= __HAL_RCC_GET_SAI23_SOURCE(); + + switch (saiclocksource) + { + case 0: /* PLL1 is the clock source for SAI2/3 */ + { + HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks); + frequency = pll1_clocks.PLL1_Q_Frequency; + break; + } + case RCC_D2CCIP1R_SAI23SEL_0: /* PLLI2 is the clock source for SAI2/3 */ + { + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + frequency = pll2_clocks.PLL2_P_Frequency; + break; + } + + case RCC_D2CCIP1R_SAI23SEL_1: /* PLLI3 is the clock source for SAI2/3 */ + { + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + frequency = pll3_clocks.PLL3_P_Frequency; + break; + } + + case RCC_D2CCIP1R_SAI23SEL_2: /* CKPER is the clock source for SAI2/3 */ + { + + ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE(); + + if(ckpclocksource== 0) + { + /* In Case the main PLL Source is HSI */ + frequency = HSI_VALUE; + } + + else if(ckpclocksource== RCC_D1CCIPR_CKPERSEL_0) + { + /* In Case the main PLL Source is CSI */ + frequency = CSI_VALUE; + } + + else if (ckpclocksource== RCC_D1CCIPR_CKPERSEL_1) + { + /* In Case the main PLL Source is HSE */ + frequency = HSE_VALUE; + } + + break; + } + + case (RCC_D2CCIP1R_SAI23SEL_0 | RCC_D2CCIP1R_SAI23SEL_1 ): /* External clock is the clock source for SAI2/3 */ + { + frequency = EXTERNAL_CLOCK_VALUE; + break; + } + default : + { + break; + } + } + break; + } + + case RCC_PERIPHCLK_SAI4A: + { + + saiclocksource= __HAL_RCC_GET_SAI4A_SOURCE(); + + switch (saiclocksource) + { + case 0: /* PLL1 is the clock source for SAI4A */ + { + HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks); + frequency = pll1_clocks.PLL1_Q_Frequency; + break; + } + case RCC_D3CCIPR_SAI4ASEL_0: /* PLLI2 is the clock source for SAI4A */ + { + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + frequency = pll2_clocks.PLL2_P_Frequency; + break; + } + + case RCC_D3CCIPR_SAI4ASEL_1: /* PLLI3 is the clock source for SAI4A */ + { + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + frequency = pll3_clocks.PLL3_P_Frequency; + break; + } + + case RCC_D3CCIPR_SAI4ASEL_2: /* CKPER is the clock source for SAI4A*/ + { + + ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE(); + + if(ckpclocksource== 0) + { + /* In Case the main PLL Source is HSI */ + frequency = HSI_VALUE; + } + + else if(ckpclocksource== RCC_D1CCIPR_CKPERSEL_0) + { + /* In Case the main PLL Source is CSI */ + frequency = CSI_VALUE; + } + + else if (ckpclocksource== RCC_D1CCIPR_CKPERSEL_1) + { + /* In Case the main PLL Source is HSE */ + frequency = HSE_VALUE; + } + + break; + } + + case (RCC_D3CCIPR_SAI4ASEL_0 | RCC_D3CCIPR_SAI4ASEL_1 ): /* External clock is the clock source for SAI4A */ + { + frequency = EXTERNAL_CLOCK_VALUE; + break; + } + + default : + { + break; + } + } + break; + } + + case RCC_PERIPHCLK_SAI4B: + { + + saiclocksource= __HAL_RCC_GET_SAI4B_SOURCE(); + + switch (saiclocksource) + { + case 0: /* PLL1 is the clock source for SAI4B */ + { + HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks); + frequency = pll1_clocks.PLL1_Q_Frequency; + break; + } + case RCC_D3CCIPR_SAI4BSEL_0: /* PLLI2 is the clock source for SAI4B */ + { + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + frequency = pll2_clocks.PLL2_P_Frequency; + break; + } + + case RCC_D3CCIPR_SAI4BSEL_1: /* PLLI3 is the clock source for SAI4B */ + { + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + frequency = pll3_clocks.PLL3_P_Frequency; + break; + } + + case RCC_D3CCIPR_SAI4BSEL_2: /* CKPER is the clock source for SAI4B*/ + { + + ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE(); + + if(ckpclocksource== 0) + { + /* In Case the main PLL Source is HSI */ + frequency = HSI_VALUE; + } + + else if(ckpclocksource== RCC_D1CCIPR_CKPERSEL_0) + { + /* In Case the main PLL Source is CSI */ + frequency = CSI_VALUE; + } + + else if (ckpclocksource== RCC_D1CCIPR_CKPERSEL_1) + { + /* In Case the main PLL Source is HSE */ + frequency = HSE_VALUE; + } + + break; + } + + case (RCC_D3CCIPR_SAI4BSEL_0 | RCC_D3CCIPR_SAI4BSEL_1 ): /* External clock is the clock source for SAI4B */ + { + frequency = EXTERNAL_CLOCK_VALUE; + break; + } + + default : + { + break; + } + } + break; + } + case RCC_PERIPHCLK_SPI123: + { + /* Get SPI1/2/3 clock source */ + srcclk= __HAL_RCC_GET_SPI123_SOURCE(); + + switch (srcclk) + { + case 0: /* PLL1 is the clock source for I2S */ + { + HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks); + frequency = pll1_clocks.PLL1_Q_Frequency; + break; + } + case RCC_D2CCIP1R_SPI123SEL_0: /* PLL2 is the clock source for I2S */ + { + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + frequency = pll2_clocks.PLL2_P_Frequency; + break; + } + + case RCC_D2CCIP1R_SPI123SEL_1: /* PLL3 is the clock source for I2S */ + { + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + frequency = pll3_clocks.PLL3_P_Frequency; + break; + } + + case RCC_D2CCIP1R_SPI123SEL_2: /* CKPER is the clock source for I2S */ + { + + ckpclocksource= __HAL_RCC_GET_CLKP_SOURCE(); + + if(ckpclocksource== RCC_CLKPSOURCE_HSI) + { + /* In Case the main PLL Source is HSI */ + frequency = HSI_VALUE; + } + + else if(ckpclocksource== RCC_CLKPSOURCE_CSI) + { + /* In Case the main PLL Source is CSI */ + frequency = CSI_VALUE; + } + + else if (ckpclocksource== RCC_CLKPSOURCE_HSE) + { + /* In Case the main PLL Source is HSE */ + frequency = HSE_VALUE; + } + + break; + } + + case (RCC_D2CCIP1R_SPI123SEL_0 | RCC_D2CCIP1R_SPI123SEL_1): /* External clock is the clock source for I2S */ + { + frequency = EXTERNAL_CLOCK_VALUE; + break; + } + default : + { + break; + } + } + break; + } + + } + return frequency; +} + + +/** + * @brief Returns the D1PCLK1 frequency + * @note Each time D1PCLK1 changes, this function must be called to update the + * right D1PCLK1 value. Otherwise, any configuration based on this function will be incorrect. + * @retval D1PCLK1 frequency + */ +uint32_t HAL_RCCEx_GetD1PCLK1Freq(void) +{ + /* Get HCLK source and Compute D1PCLK1 frequency ---------------------------*/ + return (HAL_RCC_GetHCLKFreq() >> D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1PPRE)>> POSITION_VAL(RCC_D1CFGR_D1PPRE_0)]); +} + +/** + * @brief Returns the D3PCLK1 frequency + * @note Each time D3PCLK1 changes, this function must be called to update the + * right D3PCLK1 value. Otherwise, any configuration based on this function will be incorrect. + * @retval D3PCLK1 frequency + */ +uint32_t HAL_RCCEx_GetD3PCLK1Freq(void) +{ + /* Get HCLK source and Compute D3PCLK1 frequency ---------------------------*/ + return (HAL_RCC_GetHCLKFreq() >> D1CorePrescTable[(RCC->D3CFGR & RCC_D3CFGR_D3PPRE)>> POSITION_VAL(RCC_D3CFGR_D3PPRE_0)]); +} +/** +* @brief Returns the PLL2 clock frequencies :PLL2_P_Frequency,PLL2_R_Frequency and PLL2_Q_Frequency + * @note The PLL2 clock frequencies computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * @note The function returns values based on HSE_VALUE, HSI_VALUE or CSI Value multiplied/divided by the PLL factors. + * @note This function can be used by the user application to compute the + * baud-rate for the communication peripherals or configure other parameters. + * + * @note Each time PLL2CLK changes, this function must be called to update the + * right PLL2CLK value. Otherwise, any configuration based on this function will be incorrect. + * @param PLL2_Clocks structure. + * @retval None + */ +void HAL_RCCEx_GetPLL2ClockFreq(PLL2_ClocksTypeDef* PLL2_Clocks) +{ + uint32_t pllsource = 0, pll2m = 1 , pll2fracen = 0, hsivalue = 0; + float fracn2 =0 ,pll2vco = 0; + + /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLL2M) * PLL2N + PLL2xCLK = PLL2_VCO / PLL2x + */ + pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); + pll2m = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM2)>> 12) ; + pll2fracen = RCC->PLLCFGR & RCC_PLLCFGR_PLL2FRACEN; + fracn2 =(pll2fracen* ((RCC->PLL2FRACR & RCC_PLL2FRACR_FRACN2)>> 3)); + + switch (pllsource) + { + + case 0x00: /* HSI used as PLL clock source */ + + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)); + pll2vco = ( hsivalue / pll2m) * ((RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/0x2000) +1 ); + } + else + { + pll2vco = (HSI_VALUE / pll2m) * ((RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/0x2000) +1 ); + } + break; + + case 0x01: /* HSI used as PLL clock source */ + pll2vco = (CSI_VALUE / pll2m) * ((RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/0x2000) +1 ); + break; + + case 0x02: /* HSE used as PLL clock source */ + pll2vco = (HSE_VALUE / pll2m) * ((RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/0x2000) +1 ); + break; + + default: + pll2vco = (CSI_VALUE / pll2m) * ((RCC->PLL2DIVR & RCC_PLL2DIVR_N2) + (fracn2/0x2000) +1 ); + break; + } + PLL2_Clocks->PLL2_P_Frequency = (uint32_t)(pll2vco/(((RCC->PLL2DIVR & RCC_PLL2DIVR_P2) >>9) + 1 )) ; + PLL2_Clocks->PLL2_Q_Frequency = (uint32_t)(pll2vco/(((RCC->PLL2DIVR & RCC_PLL2DIVR_Q2) >>16) + 1 )) ; + PLL2_Clocks->PLL2_R_Frequency = (uint32_t)(pll2vco/(((RCC->PLL2DIVR & RCC_PLL2DIVR_R2) >>24) + 1 )) ; + + +} + +/** +* @brief Returns the PLL3 clock frequencies :PLL3_P_Frequency,PLL3_R_Frequency and PLL3_Q_Frequency + * @note The PLL3 clock frequencies computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * @note The function returns values based on HSE_VALUE, HSI_VALUE or CSI Value multiplied/divided by the PLL factors. + * @note This function can be used by the user application to compute the + * baud-rate for the communication peripherals or configure other parameters. + * + * @note Each time PLL3CLK changes, this function must be called to update the + * right PLL3CLK value. Otherwise, any configuration based on this function will be incorrect. + * @param PLL3_Clocks structure. + * @retval None + */ +void HAL_RCCEx_GetPLL3ClockFreq(PLL3_ClocksTypeDef* PLL3_Clocks) +{ + uint32_t pllsource = 0, pll3m = 1, pll3fracen = 0 , hsivalue =0; + float fracn3 =0 , pll3vco = 0; + /* PLL3_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLL3M) * PLL3N + PLL3xCLK = PLL3_VCO / PLLxR + */ + pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); + pll3m = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM3)>> 20) ; + pll3fracen = RCC->PLLCFGR & RCC_PLLCFGR_PLL3FRACEN; + fracn3 = (pll3fracen* ((RCC->PLL3FRACR & RCC_PLL3FRACR_FRACN3)>> 3)); + switch (pllsource) + { + case 0x00: /* HSI used as PLL clock source */ + + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)); + pll3vco = (hsivalue / pll3m) * ((RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/0x2000) +1 ); + } + else + { + pll3vco = (HSI_VALUE / pll3m) * ((RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/0x2000) +1 ); + } + break; + case 0x01: /* HSI used as PLL clock source */ + pll3vco = (CSI_VALUE / pll3m) * ((RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/0x2000) +1 ); + break; + + case 0x02: /* HSE used as PLL clock source */ + pll3vco = (HSE_VALUE / pll3m) * ((RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/0x2000) +1 ); + break; + + default: + pll3vco = (CSI_VALUE / pll3m) * ((RCC->PLL3DIVR & RCC_PLL3DIVR_N3) + (fracn3/0x2000) +1 ); + break; + } + PLL3_Clocks->PLL3_P_Frequency = (uint32_t)(pll3vco/(((RCC->PLL3DIVR & RCC_PLL3DIVR_P3) >>9) + 1 )) ; + PLL3_Clocks->PLL3_Q_Frequency = (uint32_t)(pll3vco/(((RCC->PLL3DIVR & RCC_PLL3DIVR_Q3) >>16) + 1 )) ; + PLL3_Clocks->PLL3_R_Frequency = (uint32_t)(pll3vco/(((RCC->PLL3DIVR & RCC_PLL3DIVR_R3) >>24) + 1 )) ; + +} + +/** +* @brief Returns the PLL1 clock frequencies :PLL1_P_Frequency,PLL1_R_Frequency and PLL1_Q_Frequency + * @note The PLL1 clock frequencies computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * @note The function returns values based on HSE_VALUE, HSI_VALUE or CSI Value multiplied/divided by the PLL factors. + * @note This function can be used by the user application to compute the + * baud-rate for the communication peripherals or configure other parameters. + * + * @note Each time PLL1CLK changes, this function must be called to update the + * right PLL1CLK value. Otherwise, any configuration based on this function will be incorrect. + * @param PLL1_Clocks structure. + * @retval None + */ +void HAL_RCCEx_GetPLL1ClockFreq(PLL1_ClocksTypeDef* PLL1_Clocks) +{ + uint32_t pllsource = 0, pll1m = 1, pll1fracen = 0, hsivalue=0; + float fracn1, pll1vco =0; + + pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); + pll1m = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4); + pll1fracen = RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN; + fracn1 = (pll1fracen * ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3)); + switch (pllsource) + { + + case 0x00: /* HSI used as PLL clock source */ + + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + hsivalue = (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)); + pll1vco = (hsivalue / pll1m) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + } + else + { + pll1vco = (HSI_VALUE / pll1m) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + } + break; + case 0x01: /* CSI used as PLL clock source */ + pll1vco = (CSI_VALUE / pll1m) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + + case 0x02: /* HSE used as PLL clock source */ + pll1vco = (HSE_VALUE / pll1m) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + + default: + pll1vco = (CSI_VALUE / pll1m) * ((RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/0x2000) +1 ); + break; + } + + PLL1_Clocks->PLL1_P_Frequency = (uint32_t)(pll1vco/(((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + 1 )) ; + PLL1_Clocks->PLL1_Q_Frequency = (uint32_t)(pll1vco/(((RCC->PLL1DIVR & RCC_PLL1DIVR_Q1) >>16) + 1 )) ; + PLL1_Clocks->PLL1_R_Frequency = (uint32_t)(pll1vco/(((RCC->PLL1DIVR & RCC_PLL1DIVR_R1) >>24) + 1 )) ; + +} + +/** + * @brief Returns the main Core frequency + * @note Each time core clock changes, this function must be called to update the + * right system core clock value. Otherwise, any configuration based on this function will be incorrect. + * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency + * and updated within this function + * @retval HCLK frequency + */ +uint32_t HAL_RCCEx_GetD1SysClockFreq(void) +{ + SystemCoreClock = HAL_RCC_GetSysClockFreq() >> D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> POSITION_VAL(RCC_D1CFGR_D1CPRE_0)]; + return SystemCoreClock; +} + +/** + * @brief Enables the LSE Clock Security System. + * @note Prior to enable the LSE Clock Security System, LSE oscillator is to be enabled + * with HAL_RCC_OscConfig() and the LSE oscillator clock is to be selected as RTC + * clock with HAL_RCCEx_PeriphCLKConfig(). + * @retval None + */ +void HAL_RCCEx_EnableLSECSS(void) +{ + SET_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; +} + +/** + * @brief Disables the LSE Clock Security System. + * @note LSE Clock Security System can only be disabled after a LSE failure detection. + * @retval None + */ +void HAL_RCCEx_DisableLSECSS(void) +{ + CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; + /* Disable LSE CSS IT if any */ + __HAL_RCC_DISABLE_IT(RCC_IT_LSECSS); +} + +/** + * @brief Configure the oscillator clock source for wakeup from Stop and CSS backup clock + * @param WakeUpClk: Wakeup clock + * This parameter can be one of the following values: + * @arg RCC_STOP_WAKEUPCLOCK_CSI: CSI oscillator selection + * @arg RCC_STOP_WAKEUPCLOCK_HSI: HSI oscillator selection + * @note This function shall not be called after the Clock Security System on HSE has been + * enabled. + * @retval None + */ +void HAL_RCCEx_WakeUpStopCLKConfig(uint32_t WakeUpClk) +{ + assert_param(IS_RCC_STOP_WAKEUPCLOCK(WakeUpClk)); + + __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(WakeUpClk); +} + +/** + * @brief Configure the oscillator Kernel clock source for wakeup from Stop + * @param WakeUpClk: Kernel Wakeup clock + * This parameter can be one of the following values: + * @arg RCC_STOP_KERWAKEUPCLOCK_CSI: CSI oscillator selection + * @arg RCC_STOP_KERWAKEUPCLOCK_HSI: HSI oscillator selection + * @retval None + */ +void HAL_RCCEx_KerWakeUpStopCLKConfig(uint32_t WakeUpClk) +{ + assert_param(IS_RCC_STOP_KERWAKEUPCLOCK(WakeUpClk)); + + __HAL_RCC_KERWAKEUPSTOP_CLK_CONFIG(WakeUpClk); +} + + + +/** + * @brief Configure WWDG1 to generate a system reset not only CPU reset(default) when a time-out occurs + * @param RCC_WWDGx: WWDGx to be configured + * This parameter can be one of the following values: + * @arg RCC_WWDG1: WWDG1 generates system reset + * @note This bit can be set by software but is cleared by hardware during a system reset + * + * @retval None + */ +void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx) +{ + assert_param(IS_RCC_SCOPE_WWDG(RCC_WWDGx)); + SET_BIT(RCC->GCR, RCC_WWDGx) ; +} + + + +/** @defgroup RCCEx_Exported_Functions_Group3 Extended Clock Recovery System Control functions + * @brief Extended Clock Recovery System Control functions + * +@verbatim + =============================================================================== + ##### Extended Clock Recovery System Control functions ##### + =============================================================================== + [..] + For devices with Clock Recovery System feature (CRS), RCC Extension HAL driver can be used as follows: + + (#) In System clock config, HSI48 needs to be enabled + + (#) Enable CRS clock in IP MSP init which will use CRS functions + + (#) Call CRS functions as follows: + (##) Prepare synchronization configuration necessary for HSI48 calibration + (+++) Default values can be set for frequency Error Measurement (reload and error limit) + and also HSI48 oscillator smooth trimming. + (+++) Macro __HAL_RCC_CRS_RELOADVALUE_CALCULATE can be also used to calculate + directly reload value with target and synchronization frequencies values + (##) Call function HAL_RCCEx_CRSConfig which + (+++) Resets CRS registers to their default values. + (+++) Configures CRS registers with synchronization configuration + (+++) Enables automatic calibration and frequency error counter feature + Note: When using USB LPM (Link Power Management) and the device is in Sleep mode, the + periodic USB SOF will not be generated by the host. No SYNC signal will therefore be + provided to the CRS to calibrate the HSI48 on the run. To guarantee the required clock + precision after waking up from Sleep mode, the LSE or reference clock on the GPIOs + should be used as SYNC signal. + + (##) A polling function is provided to wait for complete synchronization + (+++) Call function HAL_RCCEx_CRSWaitSynchronization() + (+++) According to CRS status, user can decide to adjust again the calibration or continue + application if synchronization is OK + + (#) User can retrieve information related to synchronization in calling function + HAL_RCCEx_CRSGetSynchronizationInfo() + + (#) Regarding synchronization status and synchronization information, user can try a new calibration + in changing synchronization configuration and call again HAL_RCCEx_CRSConfig. + Note: When the SYNC event is detected during the down-counting phase (before reaching the zero value), + it means that the actual frequency is lower than the target (and so, that the TRIM value should be + incremented), while when it is detected during the up-counting phase it means that the actual frequency + is higher (and that the TRIM value should be decremented). + + (#) In interrupt mode, user can resort to the available macros (__HAL_RCC_CRS_XXX_IT). Interrupts will go + through CRS Handler (CRS_IRQn/CRS_IRQHandler) + (++) Call function HAL_RCCEx_CRSConfig() + (++) Enable CRS_IRQn (thanks to NVIC functions) + (++) Enable CRS interrupt (__HAL_RCC_CRS_ENABLE_IT) + (++) Implement CRS status management in the following user callbacks called from + HAL_RCCEx_CRS_IRQHandler(): + (+++) HAL_RCCEx_CRS_SyncOkCallback() + (+++) HAL_RCCEx_CRS_SyncWarnCallback() + (+++) HAL_RCCEx_CRS_ExpectedSyncCallback() + (+++) HAL_RCCEx_CRS_ErrorCallback() + + (#) To force a SYNC EVENT, user can use the function HAL_RCCEx_CRSSoftwareSynchronizationGenerate(). + This function can be called before calling HAL_RCCEx_CRSConfig (for instance in Systick handler) + +@endverbatim + * @{ + */ + +/** + * @brief Start automatic synchronization for polling mode + * @param pInit Pointer on RCC_CRSInitTypeDef structure + * @retval None + */ +void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit) +{ + uint32_t value = 0; + + /* Check the parameters */ + assert_param(IS_RCC_CRS_SYNC_DIV(pInit->Prescaler)); + assert_param(IS_RCC_CRS_SYNC_SOURCE(pInit->Source)); + assert_param(IS_RCC_CRS_SYNC_POLARITY(pInit->Polarity)); + assert_param(IS_RCC_CRS_RELOADVALUE(pInit->ReloadValue)); + assert_param(IS_RCC_CRS_ERRORLIMIT(pInit->ErrorLimitValue)); + assert_param(IS_RCC_CRS_HSI48CALIBRATION(pInit->HSI48CalibrationValue)); + + /* CONFIGURATION */ + + /* Before configuration, reset CRS registers to their default values*/ + __HAL_RCC_CRS_FORCE_RESET(); + __HAL_RCC_CRS_RELEASE_RESET(); + + /* Set the SYNCDIV[2:0] bits according to Pre-scaler value */ + /* Set the SYNCSRC[1:0] bits according to Source value */ + /* Set the SYNCSPOL bit according to Polarity value */ + value = (pInit->Prescaler | pInit->Source | pInit->Polarity); + /* Set the RELOAD[15:0] bits according to ReloadValue value */ + value |= pInit->ReloadValue; + /* Set the FELIM[7:0] bits according to ErrorLimitValue value */ + value |= (pInit->ErrorLimitValue << POSITION_VAL(CRS_CFGR_FELIM)); + WRITE_REG(CRS->CFGR, value); + + /* Adjust HSI48 oscillator smooth trimming */ + /* Set the TRIM[5:0] bits according to RCC_CRS_HSI48CalibrationValue value */ + MODIFY_REG(CRS->CR, CRS_CR_TRIM, (pInit->HSI48CalibrationValue << POSITION_VAL(CRS_CR_TRIM))); + + /* START AUTOMATIC SYNCHRONIZATION*/ + + /* Enable Automatic trimming & Frequency error counter */ + SET_BIT(CRS->CR, CRS_CR_AUTOTRIMEN | CRS_CR_CEN); +} + +/** + * @brief Generate the software synchronization event + * @retval None + */ +void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void) +{ + SET_BIT(CRS->CR, CRS_CR_SWSYNC); +} + +/** + * @brief Return synchronization info + * @param pSynchroInfo Pointer on RCC_CRSSynchroInfoTypeDef structure + * @retval None + */ +void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo) +{ + /* Check the parameter */ + assert_param(pSynchroInfo != NULL); + + /* Get the reload value */ + pSynchroInfo->ReloadValue = (uint32_t)(READ_BIT(CRS->CFGR, CRS_CFGR_RELOAD)); + + /* Get HSI48 oscillator smooth trimming */ + pSynchroInfo->HSI48CalibrationValue = (uint32_t)(READ_BIT(CRS->CR, CRS_CR_TRIM) >> POSITION_VAL(CRS_CR_TRIM)); + + /* Get Frequency error capture */ + pSynchroInfo->FreqErrorCapture = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FECAP) >> POSITION_VAL(CRS_ISR_FECAP)); + + /* Get Frequency error direction */ + pSynchroInfo->FreqErrorDirection = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FEDIR)); +} + +/** +* @brief Wait for CRS Synchronization status. +* @param Timeout Duration of the time-out +* @note Timeout is based on the maximum time to receive a SYNC event based on synchronization +* frequency. +* @note If Time-out set to HAL_MAX_DELAY, HAL_TIMEOUT will be never returned. +* @retval Combination of Synchronization status +* This parameter can be a combination of the following values: +* @arg @ref RCC_CRS_TIMEOUT +* @arg @ref RCC_CRS_SYNCOK +* @arg @ref RCC_CRS_SYNCWARN +* @arg @ref RCC_CRS_SYNCERR +* @arg @ref RCC_CRS_SYNCMISS +* @arg @ref RCC_CRS_TRIMOVF +*/ +uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout) +{ + uint32_t crsstatus = RCC_CRS_NONE; + uint32_t tickstart = 0U; + + /* Get time-out */ + tickstart = HAL_GetTick(); + + /* Wait for CRS flag or time-out detection */ + do + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) + { + crsstatus = RCC_CRS_TIMEOUT; + } + } + /* Check CRS SYNCOK flag */ + if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCOK)) + { + /* CRS SYNC event OK */ + crsstatus |= RCC_CRS_SYNCOK; + + /* Clear CRS SYNC event OK bit */ + __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCOK); + } + + /* Check CRS SYNCWARN flag */ + if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCWARN)) + { + /* CRS SYNC warning */ + crsstatus |= RCC_CRS_SYNCWARN; + + /* Clear CRS SYNCWARN bit */ + __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCWARN); + } + + /* Check CRS TRIM overflow flag */ + if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_TRIMOVF)) + { + /* CRS SYNC Error */ + crsstatus |= RCC_CRS_TRIMOVF; + + /* Clear CRS Error bit */ + __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_TRIMOVF); + } + + /* Check CRS Error flag */ + if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCERR)) + { + /* CRS SYNC Error */ + crsstatus |= RCC_CRS_SYNCERR; + + /* Clear CRS Error bit */ + __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCERR); + } + + /* Check CRS SYNC Missed flag */ + if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCMISS)) + { + /* CRS SYNC Missed */ + crsstatus |= RCC_CRS_SYNCMISS; + + /* Clear CRS SYNC Missed bit */ + __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCMISS); + } + + /* Check CRS Expected SYNC flag */ + if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_ESYNC)) + { + /* frequency error counter reached a zero value */ + __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_ESYNC); + } + } while(RCC_CRS_NONE == crsstatus); + + return crsstatus; +} + +/** + * @brief Handle the Clock Recovery System interrupt request. + * @retval None + */ +void HAL_RCCEx_CRS_IRQHandler(void) +{ + uint32_t crserror = RCC_CRS_NONE; + /* Get current IT flags and IT sources values */ + uint32_t itflags = READ_REG(CRS->ISR); + uint32_t itsources = READ_REG(CRS->CR); + + /* Check CRS SYNCOK flag */ + if(((itflags & RCC_CRS_FLAG_SYNCOK) != RESET) && ((itsources & RCC_CRS_IT_SYNCOK) != RESET)) + { + /* Clear CRS SYNC event OK flag */ + WRITE_REG(CRS->ICR, CRS_ICR_SYNCOKC); + + /* user callback */ + HAL_RCCEx_CRS_SyncOkCallback(); + } + /* Check CRS SYNCWARN flag */ + else if(((itflags & RCC_CRS_FLAG_SYNCWARN) != RESET) && ((itsources & RCC_CRS_IT_SYNCWARN) != RESET)) + { + /* Clear CRS SYNCWARN flag */ + WRITE_REG(CRS->ICR, CRS_ICR_SYNCWARNC); + + /* user callback */ + HAL_RCCEx_CRS_SyncWarnCallback(); + } + /* Check CRS Expected SYNC flag */ + else if(((itflags & RCC_CRS_FLAG_ESYNC) != RESET) && ((itsources & RCC_CRS_IT_ESYNC) != RESET)) + { + /* frequency error counter reached a zero value */ + WRITE_REG(CRS->ICR, CRS_ICR_ESYNCC); + + /* user callback */ + HAL_RCCEx_CRS_ExpectedSyncCallback(); + } + /* Check CRS Error flags */ + else + { + if(((itflags & RCC_CRS_FLAG_ERR) != RESET) && ((itsources & RCC_CRS_IT_ERR) != RESET)) + { + if((itflags & RCC_CRS_FLAG_SYNCERR) != RESET) + { + crserror |= RCC_CRS_SYNCERR; + } + if((itflags & RCC_CRS_FLAG_SYNCMISS) != RESET) + { + crserror |= RCC_CRS_SYNCMISS; + } + if((itflags & RCC_CRS_FLAG_TRIMOVF) != RESET) + { + crserror |= RCC_CRS_TRIMOVF; + } + + /* Clear CRS Error flags */ + WRITE_REG(CRS->ICR, CRS_ICR_ERRC); + + /* user error callback */ + HAL_RCCEx_CRS_ErrorCallback(crserror); + } + } +} + +/** + * @brief RCCEx Clock Recovery System SYNCOK interrupt callback. + * @retval none + */ +__weak void HAL_RCCEx_CRS_SyncOkCallback(void) +{ + /* NOTE : This function should not be modified, when the callback is needed, + the @ref HAL_RCCEx_CRS_SyncOkCallback should be implemented in the user file + */ +} + +/** + * @brief RCCEx Clock Recovery System SYNCWARN interrupt callback. + * @retval none + */ +__weak void HAL_RCCEx_CRS_SyncWarnCallback(void) +{ + /* NOTE : This function should not be modified, when the callback is needed, + the @ref HAL_RCCEx_CRS_SyncWarnCallback should be implemented in the user file + */ +} + +/** + * @brief RCCEx Clock Recovery System Expected SYNC interrupt callback. + * @retval none + */ +__weak void HAL_RCCEx_CRS_ExpectedSyncCallback(void) +{ + /* NOTE : This function should not be modified, when the callback is needed, + the @ref HAL_RCCEx_CRS_ExpectedSyncCallback should be implemented in the user file + */ +} + +/** + * @brief RCCEx Clock Recovery System Error interrupt callback. + * @param Error Combination of Error status. + * This parameter can be a combination of the following values: + * @arg @ref RCC_CRS_SYNCERR + * @arg @ref RCC_CRS_SYNCMISS + * @arg @ref RCC_CRS_TRIMOVF + * @retval none + */ +__weak void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(Error); + + /* NOTE : This function should not be modified, when the callback is needed, + the @ref HAL_RCCEx_CRS_ErrorCallback should be implemented in the user file + */ +} + + +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup RCCEx_Private_functions Private Functions + * @{ + */ + + + +/** + * @brief Configure the PLL2 VCI,VCO ranges, multiplication and division factors and enable it + * @param pll2: Pointer to an RCC_PLL2InitTypeDef structure that + * contains the configuration parameters as well as VCI, VCO clock ranges. + * @param Divider divider parameter to be updated + * @note PLL2 is temporary disable to apply new parameters + * + * @retval HAL status + */ +static HAL_StatusTypeDef RCCEx_PLL2_Config(RCC_PLL2InitTypeDef *pll2, uint32_t Divider) +{ + + uint32_t tickstart; + HAL_StatusTypeDef status = HAL_OK; + assert_param(IS_RCC_PLL2M_VALUE(pll2->PLL2M)); + assert_param(IS_RCC_PLL2N_VALUE(pll2->PLL2N)); + assert_param(IS_RCC_PLL2P_VALUE(pll2->PLL2P)); + assert_param(IS_RCC_PLL2R_VALUE(pll2->PLL2R)); + assert_param(IS_RCC_PLL2Q_VALUE(pll2->PLL2Q)); + + /* Check that PLL2 OSC clock source is already set */ + if(__HAL_RCC_GET_PLL_OSCSOURCE() == RCC_PLLSOURCE_NONE) + { + return HAL_ERROR; + } + + + else + { + /* Disable PLL2. */ + __HAL_RCC_PLL2_DISABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till PLL is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL2RDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > PLL2_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + /* Configure PLL2 multiplication and division factors. */ + __HAL_RCC_PLL2_CONFIG(pll2->PLL2M, + pll2->PLL2N, + pll2->PLL2P, + pll2->PLL2Q, + pll2->PLL2R); + + /* Select PLL2 input reference frequency range: VCI */ + __HAL_RCC_PLL2_VCIRANGE(pll2->PLL2RGE) ; + + /* Select PLL2 output frequency range : VCO */ + __HAL_RCC_PLL2_VCORANGE(pll2->PLL2VCOSEL) ; + + /* Enable the PLL2 clock output */ + if(Divider == DIVIDER_P_UPDATE) + { + __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL2_DIVP); + } + else if(Divider == DIVIDER_Q_UPDATE) + { + __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL2_DIVQ); + } + else + { + __HAL_RCC_PLL2CLKOUT_ENABLE(RCC_PLL2_DIVR); + } + + /* Enable PLL2. */ + __HAL_RCC_PLL2_ENABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till PLL2 is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL2RDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > PLL2_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + } + + + return status; +} + +/** + * @brief Configure the PLL3 VCI,VCO ranges, multiplication and division factors and enable it + * @param pll3: Pointer to an RCC_PLL3InitTypeDef structure that + * contains the configuration parameters as well as VCI, VCO clock ranges. + * @param Divider divider parameter to be updated + * @note PLL3 is temporary disable to apply new parameters + * + * @retval HAL status + */ +static HAL_StatusTypeDef RCCEx_PLL3_Config(RCC_PLL3InitTypeDef *pll3, uint32_t Divider) +{ + uint32_t tickstart; + HAL_StatusTypeDef status = HAL_OK; + assert_param(IS_RCC_PLL3M_VALUE(pll3->PLL3M)); + assert_param(IS_RCC_PLL3N_VALUE(pll3->PLL3N)); + assert_param(IS_RCC_PLL3P_VALUE(pll3->PLL3P)); + assert_param(IS_RCC_PLL3R_VALUE(pll3->PLL3R)); + assert_param(IS_RCC_PLL3Q_VALUE(pll3->PLL3Q)); + + /* Check that PLL3 OSC clock source is already set */ + if(__HAL_RCC_GET_PLL_OSCSOURCE() == RCC_PLLSOURCE_NONE) + { + return HAL_ERROR; + } + + + else + { + /* Disable PLL3. */ + __HAL_RCC_PLL3_DISABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + /* Wait till PLL3 is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL3RDY) != RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > PLL3_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + /* Configure the PLL3 multiplication and division factors. */ + __HAL_RCC_PLL3_CONFIG(pll3->PLL3M, + pll3->PLL3N, + pll3->PLL3P, + pll3->PLL3Q, + pll3->PLL3R); + + /* Select PLL3 input reference frequency range: VCI */ + __HAL_RCC_PLL3_VCIRANGE(pll3->PLL3RGE) ; + + /* Select PLL3 output frequency range : VCO */ + __HAL_RCC_PLL3_VCORANGE(pll3->PLL3VCOSEL) ; + + /* Enable the PLL3 clock output */ + if(Divider == DIVIDER_P_UPDATE) + { + __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL3_DIVP); + } + else if(Divider == DIVIDER_Q_UPDATE) + { + __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL3_DIVQ); + } + else + { + __HAL_RCC_PLL3CLKOUT_ENABLE(RCC_PLL3_DIVR); + } + + /* Enable PLL3. */ + __HAL_RCC_PLL3_ENABLE(); + + /* Get Start Tick*/ + tickstart = HAL_GetTick(); + + /* Wait till PLL3 is ready */ + while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLL3RDY) == RESET) + { + if((int32_t) (HAL_GetTick() - tickstart ) > PLL3_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + } + + + return status; +} + + + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_RCC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c new file mode 100644 index 0000000000..fd643af469 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c @@ -0,0 +1,473 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rng.c + * @author MCD Application Team + * @brief RNG HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Random Number Generator (RNG) peripheral: + * + Initialization/de-initialization functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The RNG HAL driver can be used as follows: + + (#) Enable the RNG controller clock using __HAL_RCC_RNG_CLK_ENABLE() macro + in HAL_RNG_MspInit(). + (#) Activate the RNG peripheral using HAL_RNG_Init() function. + (#) Wait until the 32 bit Random Number Generator contains a valid + random data using (polling/interrupt) mode. + (#) Get the 32 bit random number using HAL_RNG_GenerateRandomNumber() function. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup RNG + * @{ + */ + +#ifdef HAL_RNG_MODULE_ENABLED + + +/* Private types -------------------------------------------------------------*/ +/* Private defines -----------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @addtogroup RNG_Private_Constants + * @{ + */ +#define RNG_TIMEOUT_VALUE 2U +/** + * @} + */ +/* Private macros ------------------------------------------------------------*/ +/* Private functions prototypes ----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @addtogroup RNG_Exported_Functions + * @{ + */ + +/** @addtogroup RNG_Exported_Functions_Group1 + * @brief Initialization and de-initialization functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize the RNG according to the specified parameters + in the RNG_InitTypeDef and create the associated handle + (+) DeInitialize the RNG peripheral + (+) Initialize the RNG MSP + (+) DeInitialize RNG MSP + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the RNG peripheral and creates the associated handle. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RNG_Init(RNG_HandleTypeDef *hrng) +{ + /* Check the RNG handle allocation */ + if(hrng == NULL) + { + return HAL_ERROR; + } + /* Check the parameters */ + assert_param(IS_RNG_ALL_INSTANCE(hrng->Instance)); + assert_param(IS_RNG_CED(hrng->Init.ClockErrorDetection)); + + if(hrng->State == HAL_RNG_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hrng->Lock = HAL_UNLOCKED; + /* Init the low level hardware */ + HAL_RNG_MspInit(hrng); + } + + /* Change RNG peripheral state */ + hrng->State = HAL_RNG_STATE_BUSY; + + /* CED Configuration */ + MODIFY_REG(hrng->Instance->CR, RNG_CR_CED, hrng->Init.ClockErrorDetection); + + /* Enable the RNG Peripheral */ + __HAL_RNG_ENABLE(hrng); + + /* Initialize the RNG state */ + hrng->State = HAL_RNG_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief DeInitializes the RNG peripheral. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RNG_DeInit(RNG_HandleTypeDef *hrng) +{ + /* Check the RNG handle allocation */ + if(hrng == NULL) + { + return HAL_ERROR; + } + /* Disable the RNG Peripheral */ + CLEAR_BIT(hrng->Instance->CR, RNG_CR_IE | RNG_CR_RNGEN |RNG_CR_CED); + + /* Clear RNG interrupt status flags */ + CLEAR_BIT(hrng->Instance->SR, RNG_SR_CEIS | RNG_SR_SEIS); + + /* DeInit the low level hardware */ + HAL_RNG_MspDeInit(hrng); + + /* Update the RNG state */ + hrng->State = HAL_RNG_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hrng); + + /* Return the function status */ + return HAL_OK; +} + +/** + * @brief Initializes the RNG MSP. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval None + */ +__weak void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrng); + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_RNG_MspInit must be implemented in the user file. + */ +} + +/** + * @brief DeInitializes the RNG MSP. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval None + */ +__weak void HAL_RNG_MspDeInit(RNG_HandleTypeDef *hrng) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrng); + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_RNG_MspDeInit must be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @addtogroup RNG_Exported_Functions_Group2 + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Get the 32 bit Random number + (+) Get the 32 bit Random number with interrupt enabled + (+) Handle RNG interrupt request + +@endverbatim + * @{ + */ + +/** + * @brief Generates a 32-bit random number. + * @note Each time the random number data is read the RNG_FLAG_DRDY flag + * is automatically cleared. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @param random32bit: pointer to generated random number variable if successful. + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber(RNG_HandleTypeDef *hrng, uint32_t *random32bit) +{ + uint32_t tickstart = 0U; + HAL_StatusTypeDef status = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(hrng); + + /* Check RNG peripheral state */ + if(hrng->State == HAL_RNG_STATE_READY) + { + /* Change RNG peripheral state */ + hrng->State = HAL_RNG_STATE_BUSY; + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Check if data register contains valid random data */ + while(__HAL_RNG_GET_FLAG(hrng, RNG_FLAG_DRDY) == RESET) + { + if((HAL_GetTick() - tickstart ) > RNG_TIMEOUT_VALUE) + { + hrng->State = HAL_RNG_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrng); + + return HAL_TIMEOUT; + } + } + + /* Get a 32bit Random number */ + hrng->RandomNumber = hrng->Instance->DR; + *random32bit = hrng->RandomNumber; + + hrng->State = HAL_RNG_STATE_READY; + } + else + { + status = HAL_ERROR; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hrng); + + return status; +} + +/** + * @brief Generates a 32-bit random number in interrupt mode. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber_IT(RNG_HandleTypeDef *hrng) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(hrng); + + /* Check RNG peripheral state */ + if(hrng->State == HAL_RNG_STATE_READY) + { + /* Change RNG peripheral state */ + hrng->State = HAL_RNG_STATE_BUSY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrng); + + /* Enable the RNG Interrupts: Data Ready, Clock error, Seed error */ + __HAL_RNG_ENABLE_IT(hrng); + } + else + { + /* Process Unlocked */ + __HAL_UNLOCK(hrng); + + status = HAL_ERROR; + } + + return status; +} + +/** + * @brief Handles RNG interrupt request. + * @note In the case of a clock error, the RNG is no more able to generate + * random numbers because the PLL48CLK clock is not correct. User has + * to check that the clock controller is correctly configured to provide + * the RNG clock and clear the CEIS bit using __HAL_RNG_CLEAR_IT(). + * The clock error has no impact on the previously generated + * random numbers, and the RNG_DR register contents can be used. + * @note In the case of a seed error, the generation of random numbers is + * interrupted as long as the SECS bit is '1'. If a number is + * available in the RNG_DR register, it must not be used because it may + * not have enough entropy. In this case, it is recommended to clear the + * SEIS bit using __HAL_RNG_CLEAR_IT(), then disable and enable + * the RNG peripheral to reinitialize and restart the RNG. + * @note User-written HAL_RNG_ErrorCallback() API is called once whether SEIS + * or CEIS are set. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval None + + */ +void HAL_RNG_IRQHandler(RNG_HandleTypeDef *hrng) +{ + /* RNG clock error interrupt occurred */ + if((__HAL_RNG_GET_IT(hrng, RNG_IT_CEI) != RESET) || (__HAL_RNG_GET_IT(hrng, RNG_IT_SEI) != RESET)) + { + /* Change RNG peripheral state */ + hrng->State = HAL_RNG_STATE_ERROR; + + HAL_RNG_ErrorCallback(hrng); + + /* Clear the clock error flag */ + __HAL_RNG_CLEAR_IT(hrng, RNG_IT_CEI|RNG_IT_SEI); + + } + + /* Check RNG data ready interrupt occurred */ + if(__HAL_RNG_GET_IT(hrng, RNG_IT_DRDY) != RESET) + { + /* Generate random number once, so disable the IT */ + __HAL_RNG_DISABLE_IT(hrng); + + /* Get the 32bit Random number (DRDY flag automatically cleared) */ + hrng->RandomNumber = hrng->Instance->DR; + + if(hrng->State != HAL_RNG_STATE_ERROR) + { + /* Change RNG peripheral state */ + hrng->State = HAL_RNG_STATE_READY; + + /* Data Ready callback */ + HAL_RNG_ReadyDataCallback(hrng, hrng->RandomNumber); + } + } +} + +/** + * @brief Read latest generated random number. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval random value + */ +uint32_t HAL_RNG_ReadLastRandomNumber(RNG_HandleTypeDef *hrng) +{ + return(hrng->RandomNumber); +} + +/** + * @brief Data Ready callback in non-blocking mode. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @param random32bit: generated random number. + * @retval None + */ +__weak void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrng); + UNUSED(random32bit); + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_RNG_ReadyDataCallback must be implemented in the user file. + */ +} + +/** + * @brief RNG error callbacks. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval None + */ +__weak void HAL_RNG_ErrorCallback(RNG_HandleTypeDef *hrng) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrng); + /* NOTE : This function should not be modified. When the callback is needed, + function HAL_RNG_ErrorCallback must be implemented in the user file. + */ +} +/** + * @} + */ + + +/** @addtogroup RNG_Exported_Functions_Group3 + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Returns the RNG state. + * @param hrng: pointer to a RNG_HandleTypeDef structure that contains + * the configuration information for RNG. + * @retval HAL state + */ +HAL_RNG_StateTypeDef HAL_RNG_GetState(RNG_HandleTypeDef *hrng) +{ + return hrng->State; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_RNG_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c new file mode 100644 index 0000000000..549a792018 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c @@ -0,0 +1,1529 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rtc.c + * @author MCD Application Team + * @brief RTC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Real-Time Clock (RTC) peripheral: + * + Initialization + * + Calendar (Time and Date) configuration + * + Alarms (Alarm A and Alarm B) configuration + * + WakeUp Timer configuration + * + TimeStamp configuration + * + Tampers configuration + * + Backup Data Registers configuration + * + RTC Tamper and TimeStamp Pins Selection + * + Interrupts and flags management + * + @verbatim + =============================================================================== + ##### RTC Operating Condition ##### + =============================================================================== + [..] The real-time clock (RTC) and the RTC backup registers can be powered + from the VBAT voltage when the main VDD supply is powered off. + To retain the content of the RTC backup registers and supply the RTC + when VDD is turned off, VBAT pin can be connected to an optional + standby voltage supplied by a battery or by another source. + + ##### Backup Domain Reset ##### + =============================================================================== + [..] The backup domain reset sets all RTC registers and the RCC_BDCR register + to their reset values. + A backup domain reset is generated when one of the following events occurs: + (#) Software reset, triggered by setting the BDRST bit in the + RCC Backup domain control register (RCC_BDCR). + (#) VDD or VBAT power on, if both supplies have previously been powered off. + (#) Tamper detection event resets all data backup registers. + + ##### Backup Domain Access ##### + =================================================================== + [..] After reset, the backup domain (RTC registers, RTC backup data + registers and backup SRAM) is protected against possible unwanted write + accesses. + + [..] To enable access to the RTC Domain and RTC registers, proceed as follows: + (#) Call the function HAL_RCCEx_PeriphCLKConfig with RCC_PERIPHCLK_RTC for + PeriphClockSelection and select RTCClockSelection (LSE, LSI or any HSE divider) + (#) Enable RTC Clock using the __HAL_RCC_RTC_ENABLE() macro. + + ##### How to use RTC Driver ##### + =================================================================== + [..] + (#) Enable the RTC domain access (see description in the section above). + (#) Configure the RTC Prescaler (Asynchronous and Synchronous) and RTC hour + format using the HAL_RTC_Init() function. + + *** Time and Date configuration *** + =================================== + [..] + (#) To configure the RTC Calendar (Time and Date) use the HAL_RTC_SetTime() + and HAL_RTC_SetDate() functions. + (#) To read the RTC Calendar, use the HAL_RTC_GetTime() and HAL_RTC_GetDate() functions. + + *** Alarm configuration *** + =========================== + [..] + (#) To configure the RTC Alarm use the HAL_RTC_SetAlarm() function. + You can also configure the RTC Alarm with interrupt mode using the + HAL_RTC_SetAlarm_IT() function. + (#) To read the RTC Alarm, use the HAL_RTC_GetAlarm() function. + + ##### RTC and low power modes ##### + =================================================================== + [..] The MCU can be woken up from a low power mode by an RTC alternate + function. + [..] The RTC alternate functions are the RTC alarms (Alarm A and Alarm B), + RTC wakeup, RTC tamper event detection and RTC time stamp event detection. + These RTC alternate functions can wake up the system from the Stop and Standby low power + modes. + [..] The system can also wake up from low power modes without depending + on an external interrupt (Auto-wakeup mode), by using the RTC alarm + or the RTC wakeup events. + [..] The RTC provides a programmable time base for waking up from the + Stop or Standby mode at regular intervals. + Wakeup from STOP and Standby modes is possible only when the RTC clock source + is LSE or LSI. + + @endverbatim + + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup RTC RTC + * @brief RTC HAL module driver + * @{ + */ + +#ifdef HAL_RTC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup RTC_Exported_Functions RTC Exported Functions + * @{ + */ + +/** @defgroup RTC_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provide functions allowing to initialize and configure the + RTC Prescaler (Synchronous and Asynchronous), RTC Hour format, disable + RTC registers Write protection, enter and exit the RTC initialization mode, + RTC registers synchronization check and reference clock detection enable. + (#) The RTC Prescaler is programmed to generate the RTC 1Hz time base. + It is split into 2 programmable prescalers to minimize power consumption. + (++) A 7-bit asynchronous prescaler and a 15-bit synchronous prescaler. + (++) When both prescalers are used, it is recommended to configure the + asynchronous prescaler to a high value to minimize power consumption. + (#) All RTC registers are Write protected. Writing to the RTC registers + is enabled by writing a key into the Write Protection register, RTC_WPR. + (#) To configure the RTC Calendar, user application should enter + initialization mode. In this mode, the calendar counter is stopped + and its value can be updated. When the initialization sequence is + complete, the calendar restarts counting after 4 RTCCLK cycles. + (#) To read the calendar through the shadow registers after Calendar + initialization, calendar update or after wakeup from low power modes + the software must first clear the RSF flag. The software must then + wait until it is set again before reading the calendar, which means + that the calendar registers have been correctly copied into the + RTC_TR and RTC_DR shadow registers.The HAL_RTC_WaitForSynchro() function + implements the above software sequence (RSF clear and RSF check). + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the RTC according to the specified parameters + * in the RTC_InitTypeDef structure and initialize the associated handle. + * @param hrtc: RTC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc) +{ + /* Check the RTC peripheral state */ + if(hrtc == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance)); + assert_param(IS_RTC_HOUR_FORMAT(hrtc->Init.HourFormat)); + assert_param(IS_RTC_ASYNCH_PREDIV(hrtc->Init.AsynchPrediv)); + assert_param(IS_RTC_SYNCH_PREDIV(hrtc->Init.SynchPrediv)); + assert_param(IS_RTC_OUTPUT(hrtc->Init.OutPut)); + assert_param(IS_RTC_OUTPUT_REMAP(hrtc->Init.OutPutRemap)); + assert_param(IS_RTC_OUTPUT_POL(hrtc->Init.OutPutPolarity)); + assert_param(IS_RTC_OUTPUT_TYPE(hrtc->Init.OutPutType)); + + if(hrtc->State == HAL_RTC_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hrtc->Lock = HAL_UNLOCKED; + /* Initialize RTC MSP */ + HAL_RTC_MspInit(hrtc); + } + + /* Set RTC state */ + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Set Initialization mode */ + if(RTC_EnterInitMode(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state */ + hrtc->State = HAL_RTC_STATE_ERROR; + + return HAL_ERROR; + } + else + { + /* Clear RTC_CR FMT, OSEL and POL Bits */ + hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL)); + /* Set RTC_CR register */ + hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPutPolarity); + + /* Configure the RTC PRER */ + hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv); + hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << 16); + + /* Exit Initialization mode */ + hrtc->Instance->ISR &= ((uint32_t)~RTC_ISR_INIT); + + hrtc->Instance->OR &= (uint32_t)~(RTC_OR_ALARMOUTTYPE | RTC_OR_OUT_RMP); + hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType | hrtc->Init.OutPutRemap); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; + } +} + +/** + * @brief DeInitialize the RTC peripheral. + * @param hrtc: RTC handle + * @note This function doesn't reset the RTC Backup Data registers. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RTC_ALL_INSTANCE(hrtc->Instance)); + + /* Set RTC state */ + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Set Initialization mode */ + if(RTC_EnterInitMode(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state */ + hrtc->State = HAL_RTC_STATE_ERROR; + + return HAL_ERROR; + } + else + { + /* Reset TR, DR and CR registers */ + hrtc->Instance->TR = (uint32_t)0x00000000; + hrtc->Instance->DR = ((uint32_t)(RTC_DR_WDU_0 | RTC_DR_MU_0 | RTC_DR_DU_0)); + /* Reset All CR bits except CR[2:0] */ + hrtc->Instance->CR &= RTC_CR_WUCKSEL; + + tickstart = HAL_GetTick(); + + /* Wait till WUTWF flag is set and if Time out is reached exit */ + while(((hrtc->Instance->ISR) & RTC_ISR_WUTWF) == (uint32_t)RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state */ + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + return HAL_TIMEOUT; + } + } + + /* Reset all RTC CR register bits */ + hrtc->Instance->CR &= (uint32_t)0x00000000; + hrtc->Instance->WUTR = RTC_WUTR_WUT; + hrtc->Instance->PRER = ((uint32_t)(RTC_PRER_PREDIV_A | 0x000000FF)); + hrtc->Instance->ALRMAR = (uint32_t)0x00000000; + hrtc->Instance->ALRMBR = (uint32_t)0x00000000; + hrtc->Instance->SHIFTR = (uint32_t)0x00000000; + hrtc->Instance->CALR = (uint32_t)0x00000000; + hrtc->Instance->ALRMASSR = (uint32_t)0x00000000; + hrtc->Instance->ALRMBSSR = (uint32_t)0x00000000; + + /* Reset ISR register and exit initialization mode */ + hrtc->Instance->ISR = (uint32_t)0x00000000; + + /* Reset Tamper configuration register */ + hrtc->Instance->TAMPCR = 0x00000000; + + /* Reset Option register */ + hrtc->Instance->OR = 0x00000000; + + /* If RTC_CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ + if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) + { + if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_ERROR; + + return HAL_ERROR; + } + } + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* De-Initialize RTC MSP */ + HAL_RTC_MspDeInit(hrtc); + + hrtc->State = HAL_RTC_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Initialize the RTC MSP. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTC_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize the RTC MSP. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTC_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup RTC_Exported_Functions_Group2 RTC Time and Date functions + * @brief RTC Time and Date functions + * +@verbatim + =============================================================================== + ##### RTC Time and Date functions ##### + =============================================================================== + + [..] This section provides functions allowing to configure Time and Date features + +@endverbatim + * @{ + */ + +/** + * @brief Set RTC current time. + * @param hrtc: RTC handle + * @param sTime: Pointer to Time structure + * @param Format: Specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + assert_param(IS_RTC_DAYLIGHT_SAVING(sTime->DayLightSaving)); + assert_param(IS_RTC_STORE_OPERATION(sTime->StoreOperation)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + if(Format == RTC_FORMAT_BIN) + { + if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) + { + assert_param(IS_RTC_HOUR12(sTime->Hours)); + assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); + } + else + { + sTime->TimeFormat = 0x00; + assert_param(IS_RTC_HOUR24(sTime->Hours)); + } + assert_param(IS_RTC_MINUTES(sTime->Minutes)); + assert_param(IS_RTC_SECONDS(sTime->Seconds)); + + tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ + ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ + ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ + (((uint32_t)sTime->TimeFormat) << 16)); + } + else + { + if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) + { + tmpreg = RTC_Bcd2ToByte(sTime->Hours); + assert_param(IS_RTC_HOUR12(tmpreg)); + assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); + } + else + { + sTime->TimeFormat = 0x00; + assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours))); + } + assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sTime->Minutes))); + assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sTime->Seconds))); + tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ + ((uint32_t)(sTime->Minutes) << 8) | \ + ((uint32_t)sTime->Seconds) | \ + ((uint32_t)(sTime->TimeFormat) << 16)); + } + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Set Initialization mode */ + if(RTC_EnterInitMode(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state */ + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + else + { + /* Set the RTC_TR register */ + hrtc->Instance->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK); + + /* Clear the bits to be configured */ + hrtc->Instance->CR &= ((uint32_t)~RTC_CR_BCK); + + /* Configure the RTC_CR register */ + hrtc->Instance->CR |= (uint32_t)(sTime->DayLightSaving | sTime->StoreOperation); + + /* Exit Initialization mode */ + hrtc->Instance->ISR &= ((uint32_t)~RTC_ISR_INIT); + + /* If CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ + if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) + { + if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + __HAL_UNLOCK(hrtc); + + return HAL_OK; + } +} + +/** + * @brief Get RTC current time. + * @param hrtc: RTC handle + * @param sTime: Pointer to Time structure with Hours, Minutes and Seconds fields returned + * with input format (BIN or BCD), also SubSeconds field returning the + * RTC_SSR register content and SecondFraction field the Synchronous pre-scaler + * factor to be used for second fraction ratio computation. + * @param Format: Specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @note You can use SubSeconds and SecondFraction (sTime structure fields returned) to convert SubSeconds + * value in second fraction ratio with time unit following generic formula: + * Second fraction ratio * time_unit= [(SecondFraction-SubSeconds)/(SecondFraction+1)] * time_unit + * This conversion can be performed only if no shift operation is pending (ie. SHFP=0) when PREDIV_S >= SS + * @note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the values + * in the higher-order calendar shadow registers to ensure consistency between the time and date values. + * Reading RTC current time locks the values in calendar shadow registers until Current date is read + * to ensure consistency between the time and date values. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + + /* Get subseconds structure field from the corresponding register*/ + sTime->SubSeconds = (uint32_t)(hrtc->Instance->SSR); + + /* Get SecondFraction structure field from the corresponding register field*/ + sTime->SecondFraction = (uint32_t)(hrtc->Instance->PRER & RTC_PRER_PREDIV_S); + + /* Get the TR register */ + tmpreg = (uint32_t)(hrtc->Instance->TR & RTC_TR_RESERVED_MASK); + + /* Fill the structure fields with the read parameters */ + sTime->Hours = (uint8_t)((tmpreg & (RTC_TR_HT | RTC_TR_HU)) >> 16); + sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8); + sTime->Seconds = (uint8_t)(tmpreg & (RTC_TR_ST | RTC_TR_SU)); + sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> 16); + + /* Check the input parameters format */ + if(Format == RTC_FORMAT_BIN) + { + /* Convert the time structure parameters to Binary format */ + sTime->Hours = (uint8_t)RTC_Bcd2ToByte(sTime->Hours); + sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes); + sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds); + } + + return HAL_OK; +} + +/** + * @brief Set RTC current date. + * @param hrtc: RTC handle + * @param sDate: Pointer to date structure + * @param Format: specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format) +{ + uint32_t datetmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + if((Format == RTC_FORMAT_BIN) && ((sDate->Month & 0x10U) == 0x10U)) + { + sDate->Month = (uint8_t)((sDate->Month & (uint8_t)~(0x10U)) + (uint8_t)0x0AU); + } + + assert_param(IS_RTC_WEEKDAY(sDate->WeekDay)); + + if(Format == RTC_FORMAT_BIN) + { + assert_param(IS_RTC_YEAR(sDate->Year)); + assert_param(IS_RTC_MONTH(sDate->Month)); + assert_param(IS_RTC_DATE(sDate->Date)); + + datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ + ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ + ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ + ((uint32_t)sDate->WeekDay << 13)); + } + else + { + assert_param(IS_RTC_YEAR(RTC_Bcd2ToByte(sDate->Year))); + datetmpreg = RTC_Bcd2ToByte(sDate->Month); + assert_param(IS_RTC_MONTH(datetmpreg)); + datetmpreg = RTC_Bcd2ToByte(sDate->Date); + assert_param(IS_RTC_DATE(datetmpreg)); + + datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ + (((uint32_t)sDate->Month) << 8) | \ + ((uint32_t)sDate->Date) | \ + (((uint32_t)sDate->WeekDay) << 13)); + } + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Set Initialization mode */ + if(RTC_EnterInitMode(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state*/ + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + else + { + /* Set the RTC_DR register */ + hrtc->Instance->DR = (uint32_t)(datetmpreg & RTC_DR_RESERVED_MASK); + + /* Exit Initialization mode */ + hrtc->Instance->ISR &= ((uint32_t)~RTC_ISR_INIT); + + /* If CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ + if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) + { + if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY ; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; + } +} + +/** + * @brief Get RTC current date. + * @param hrtc: RTC handle + * @param sDate: Pointer to Date structure + * @param Format: Specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the values + * in the higher-order calendar shadow registers to ensure consistency between the time and date values. + * Reading RTC current time locks the values in calendar shadow registers until Current date is read. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format) +{ + uint32_t datetmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + + /* Get the DR register */ + datetmpreg = (uint32_t)(hrtc->Instance->DR & RTC_DR_RESERVED_MASK); + + /* Fill the structure fields with the read parameters */ + sDate->Year = (uint8_t)((datetmpreg & (RTC_DR_YT | RTC_DR_YU)) >> 16); + sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> 8); + sDate->Date = (uint8_t)(datetmpreg & (RTC_DR_DT | RTC_DR_DU)); + sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> 13); + + /* Check the input parameters format */ + if(Format == RTC_FORMAT_BIN) + { + /* Convert the date structure parameters to Binary format */ + sDate->Year = (uint8_t)RTC_Bcd2ToByte(sDate->Year); + sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month); + sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date); + } + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup RTC_Exported_Functions_Group3 RTC Alarm functions + * @brief RTC Alarm functions + * +@verbatim + =============================================================================== + ##### RTC Alarm functions ##### + =============================================================================== + + [..] This section provides functions allowing to configure Alarm feature + +@endverbatim + * @{ + */ +/** + * @brief Set the specified RTC Alarm. + * @param hrtc: RTC handle + * @param sAlarm: Pointer to Alarm structure + * @param Format: Specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format) +{ + uint32_t tickstart = 0; + uint32_t tmpreg = 0, subsecondtmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + assert_param(IS_RTC_ALARM(sAlarm->Alarm)); + assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask)); + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel)); + assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds)); + assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + if(Format == RTC_FORMAT_BIN) + { + if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) + { + assert_param(IS_RTC_HOUR12(sAlarm->AlarmTime.Hours)); + assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); + } + else + { + sAlarm->AlarmTime.TimeFormat = 0x00; + assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours)); + } + assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes)); + assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds)); + + if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) + { + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(sAlarm->AlarmDateWeekDay)); + } + else + { + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(sAlarm->AlarmDateWeekDay)); + } + + tmpreg = (((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Hours) << 16) | \ + ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8) | \ + ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ + ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16) | \ + ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24) | \ + ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ + ((uint32_t)sAlarm->AlarmMask)); + } + else + { + if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) + { + tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours); + assert_param(IS_RTC_HOUR12(tmpreg)); + assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); + } + else + { + sAlarm->AlarmTime.TimeFormat = 0x00; + assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours))); + } + + assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes))); + assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds))); + + if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) + { + tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(tmpreg)); + } + else + { + tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(tmpreg)); + } + + tmpreg = (((uint32_t)(sAlarm->AlarmTime.Hours) << 16) | \ + ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8) | \ + ((uint32_t) sAlarm->AlarmTime.Seconds) | \ + ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16) | \ + ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24) | \ + ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ + ((uint32_t)sAlarm->AlarmMask)); + } + + /* Configure the Alarm A or Alarm B Sub Second registers */ + subsecondtmpreg = (uint32_t)((uint32_t)(sAlarm->AlarmTime.SubSeconds) | (uint32_t)(sAlarm->AlarmSubSecondMask)); + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Configure the Alarm register */ + if(sAlarm->Alarm == RTC_ALARM_A) + { + /* Disable the Alarm A interrupt */ + __HAL_RTC_ALARMA_DISABLE(hrtc); + + /* In case of interrupt mode is used, the interrupt source must disabled */ + __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA); + + tickstart = HAL_GetTick(); + /* Wait till RTC ALRAWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + hrtc->Instance->ALRMAR = (uint32_t)tmpreg; + /* Configure the Alarm A Sub Second register */ + hrtc->Instance->ALRMASSR = subsecondtmpreg; + /* Configure the Alarm state: Enable Alarm */ + __HAL_RTC_ALARMA_ENABLE(hrtc); + } + else + { + /* Disable the Alarm B interrupt */ + __HAL_RTC_ALARMB_DISABLE(hrtc); + + /* In case of interrupt mode is used, the interrupt source must disabled */ + __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRB); + + tickstart = HAL_GetTick(); + /* Wait till RTC ALRBWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + hrtc->Instance->ALRMBR = (uint32_t)tmpreg; + /* Configure the Alarm B Sub Second register */ + hrtc->Instance->ALRMBSSR = subsecondtmpreg; + /* Configure the Alarm state: Enable Alarm */ + __HAL_RTC_ALARMB_ENABLE(hrtc); + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Set the specified RTC Alarm with Interrupt. + * @param hrtc: RTC handle + * @param sAlarm: Pointer to Alarm structure + * @param Format: Specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @note The Alarm register can only be written when the corresponding Alarm + * is disabled (Use the HAL_RTC_DeactivateAlarm()). + * @note The HAL_RTC_SetTime() must be called before enabling the Alarm feature. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format) +{ + uint32_t tickstart = 0; + uint32_t tmpreg = 0, subsecondtmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + assert_param(IS_RTC_ALARM(sAlarm->Alarm)); + assert_param(IS_RTC_ALARM_MASK(sAlarm->AlarmMask)); + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_SEL(sAlarm->AlarmDateWeekDaySel)); + assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(sAlarm->AlarmTime.SubSeconds)); + assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(sAlarm->AlarmSubSecondMask)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + if(Format == RTC_FORMAT_BIN) + { + if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) + { + assert_param(IS_RTC_HOUR12(sAlarm->AlarmTime.Hours)); + assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); + } + else + { + sAlarm->AlarmTime.TimeFormat = 0x00; + assert_param(IS_RTC_HOUR24(sAlarm->AlarmTime.Hours)); + } + assert_param(IS_RTC_MINUTES(sAlarm->AlarmTime.Minutes)); + assert_param(IS_RTC_SECONDS(sAlarm->AlarmTime.Seconds)); + + if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) + { + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(sAlarm->AlarmDateWeekDay)); + } + else + { + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(sAlarm->AlarmDateWeekDay)); + } + tmpreg = (((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Hours) << 16) | \ + ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Minutes) << 8) | \ + ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmTime.Seconds)) | \ + ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16) | \ + ((uint32_t)RTC_ByteToBcd2(sAlarm->AlarmDateWeekDay) << 24) | \ + ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ + ((uint32_t)sAlarm->AlarmMask)); + } + else + { + if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) + { + tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours); + assert_param(IS_RTC_HOUR12(tmpreg)); + assert_param(IS_RTC_HOURFORMAT12(sAlarm->AlarmTime.TimeFormat)); + } + else + { + sAlarm->AlarmTime.TimeFormat = 0x00; + assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours))); + } + + assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes))); + assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds))); + + if(sAlarm->AlarmDateWeekDaySel == RTC_ALARMDATEWEEKDAYSEL_DATE) + { + tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_DATE(tmpreg)); + } + else + { + tmpreg = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); + assert_param(IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(tmpreg)); + } + tmpreg = (((uint32_t)(sAlarm->AlarmTime.Hours) << 16) | \ + ((uint32_t)(sAlarm->AlarmTime.Minutes) << 8) | \ + ((uint32_t) sAlarm->AlarmTime.Seconds) | \ + ((uint32_t)(sAlarm->AlarmTime.TimeFormat) << 16) | \ + ((uint32_t)(sAlarm->AlarmDateWeekDay) << 24) | \ + ((uint32_t)sAlarm->AlarmDateWeekDaySel) | \ + ((uint32_t)sAlarm->AlarmMask)); + } + /* Configure the Alarm A or Alarm B Sub Second registers */ + subsecondtmpreg = (uint32_t)((uint32_t)(sAlarm->AlarmTime.SubSeconds) | (uint32_t)(sAlarm->AlarmSubSecondMask)); + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Configure the Alarm register */ + if(sAlarm->Alarm == RTC_ALARM_A) + { + /* Disable the Alarm A interrupt */ + __HAL_RTC_ALARMA_DISABLE(hrtc); + + /* Clear flag alarm A */ + __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF); + + tickstart = HAL_GetTick(); + /* Wait till RTC ALRAWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + hrtc->Instance->ALRMAR = (uint32_t)tmpreg; + /* Configure the Alarm A Sub Second register */ + hrtc->Instance->ALRMASSR = subsecondtmpreg; + /* Configure the Alarm state: Enable Alarm */ + __HAL_RTC_ALARMA_ENABLE(hrtc); + /* Configure the Alarm interrupt */ + __HAL_RTC_ALARM_ENABLE_IT(hrtc,RTC_IT_ALRA); + } + else + { + /* Disable the Alarm B interrupt */ + __HAL_RTC_ALARMB_DISABLE(hrtc); + + /* Clear flag alarm B */ + __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF); + + tickstart = HAL_GetTick(); + /* Wait till RTC ALRBWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + hrtc->Instance->ALRMBR = (uint32_t)tmpreg; + /* Configure the Alarm B Sub Second register */ + hrtc->Instance->ALRMBSSR = subsecondtmpreg; + /* Configure the Alarm state: Enable Alarm */ + __HAL_RTC_ALARMB_ENABLE(hrtc); + /* Configure the Alarm interrupt */ + __HAL_RTC_ALARM_ENABLE_IT(hrtc, RTC_IT_ALRB); + } + + /* RTC Alarm Interrupt Configuration: EXTI configuration */ + __HAL_RTC_ALARM_EXTI_ENABLE_IT(); + + __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE(); + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Deactivate the specified RTC Alarm. + * @param hrtc: RTC handle + * @param Alarm: Specifies the Alarm. + * This parameter can be one of the following values: + * @arg RTC_ALARM_A: AlarmA + * @arg RTC_ALARM_B: AlarmB + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RTC_ALARM(Alarm)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + if(Alarm == RTC_ALARM_A) + { + /* AlarmA */ + __HAL_RTC_ALARMA_DISABLE(hrtc); + + /* In case of interrupt mode is used, the interrupt source must disabled */ + __HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA); + + tickstart = HAL_GetTick(); + + /* Wait till RTC ALRxWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET) + { + if( (HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + } + else + { + /* AlarmB */ + __HAL_RTC_ALARMB_DISABLE(hrtc); + + /* In case of interrupt mode is used, the interrupt source must disabled */ + __HAL_RTC_ALARM_DISABLE_IT(hrtc,RTC_IT_ALRB); + + tickstart = HAL_GetTick(); + + /* Wait till RTC ALRxWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + } + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Get the RTC Alarm value and masks. + * @param hrtc: RTC handle + * @param sAlarm: Pointer to Date structure + * @param Alarm: Specifies the Alarm. + * This parameter can be one of the following values: + * @arg RTC_ALARM_A: AlarmA + * @arg RTC_ALARM_B: AlarmB + * @param Format: Specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alarm, uint32_t Format) +{ + uint32_t tmpreg = 0, subsecondtmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + assert_param(IS_RTC_ALARM(Alarm)); + + if(Alarm == RTC_ALARM_A) + { + /* AlarmA */ + sAlarm->Alarm = RTC_ALARM_A; + + tmpreg = (uint32_t)(hrtc->Instance->ALRMAR); + subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMASSR ) & RTC_ALRMASSR_SS); + } + else + { + sAlarm->Alarm = RTC_ALARM_B; + + tmpreg = (uint32_t)(hrtc->Instance->ALRMBR); + subsecondtmpreg = (uint32_t)((hrtc->Instance->ALRMBSSR) & RTC_ALRMBSSR_SS); + } + + /* Fill the structure with the read parameters */ + /* ALRMAR/ALRMBR registers have same mapping) */ + sAlarm->AlarmTime.Hours = (uint32_t)((tmpreg & (RTC_ALRMAR_HT | RTC_ALRMAR_HU)) >> 16); + sAlarm->AlarmTime.Minutes = (uint32_t)((tmpreg & (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU)) >> 8); + sAlarm->AlarmTime.Seconds = (uint32_t)(tmpreg & (RTC_ALRMAR_ST | RTC_ALRMAR_SU)); + sAlarm->AlarmTime.TimeFormat = (uint32_t)((tmpreg & RTC_ALRMAR_PM) >> 16); + sAlarm->AlarmTime.SubSeconds = (uint32_t) subsecondtmpreg; + sAlarm->AlarmDateWeekDay = (uint32_t)((tmpreg & (RTC_ALRMAR_DT | RTC_ALRMAR_DU)) >> 24); + sAlarm->AlarmDateWeekDaySel = (uint32_t)(tmpreg & RTC_ALRMAR_WDSEL); + sAlarm->AlarmMask = (uint32_t)(tmpreg & RTC_ALARMMASK_ALL); + + if(Format == RTC_FORMAT_BIN) + { + sAlarm->AlarmTime.Hours = RTC_Bcd2ToByte(sAlarm->AlarmTime.Hours); + sAlarm->AlarmTime.Minutes = RTC_Bcd2ToByte(sAlarm->AlarmTime.Minutes); + sAlarm->AlarmTime.Seconds = RTC_Bcd2ToByte(sAlarm->AlarmTime.Seconds); + sAlarm->AlarmDateWeekDay = RTC_Bcd2ToByte(sAlarm->AlarmDateWeekDay); + } + + return HAL_OK; +} + +/** + * @brief Handle Alarm interrupt request. + * @param hrtc: RTC handle + * @retval None + */ +void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef* hrtc) +{ + + /* Clear the EXTI's line Flag for RTC Alarm */ + __HAL_RTC_ALARM_EXTI_CLEAR_FLAG(); + + /* Get the AlarmA interrupt source enable status */ + if(__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRA) != RESET) + { + /* Get the pending status of the AlarmA Interrupt */ + if(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) != RESET) + { + + /* Clear the AlarmA interrupt pending bit */ + __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF); + + /* AlarmA callback */ + HAL_RTC_AlarmAEventCallback(hrtc); + } + } + + /* Get the AlarmB interrupt source enable status */ + if(__HAL_RTC_ALARM_GET_IT_SOURCE(hrtc, RTC_IT_ALRB) != RESET) + { + /* Get the pending status of the AlarmB Interrupt */ + if(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBF) != RESET) + { + + /* Clear the AlarmB interrupt pending bit */ + __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF); + + /* AlarmB callback */ + HAL_RTCEx_AlarmBEventCallback(hrtc); + } + } + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; +} + +/** + * @brief Alarm A callback. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTC_AlarmAEventCallback could be implemented in the user file + */ +} + +/** + * @brief Handle AlarmA Polling request. + * @param hrtc: RTC handle + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) +{ + + uint32_t tickstart = HAL_GetTick(); + + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAF) == RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + hrtc->State = HAL_RTC_STATE_TIMEOUT; + return HAL_TIMEOUT; + } + } + } + + /* Clear the Alarm interrupt pending bit */ + __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRAF); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup RTC_Exported_Functions_Group4 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to + (+) Wait for RTC Time and Date Synchronization + +@endverbatim + * @{ + */ + +/** + * @brief Wait until the RTC Time and Date registers (RTC_TR and RTC_DR) are + * synchronized with RTC APB clock. + * @note The RTC Resynchronization mode is write protected, use the + * __HAL_RTC_WRITEPROTECTION_DISABLE() before calling this function. + * @note To read the calendar through the shadow registers after Calendar + * initialization, calendar update or after wakeup from low power modes + * the software must first clear the RSF flag. + * The software must then wait until it is set again before reading + * the calendar, which means that the calendar registers have been + * correctly copied into the RTC_TR and RTC_DR shadow registers. + * @param hrtc: RTC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef* hrtc) +{ + uint32_t tickstart = 0; + + /* Clear RSF flag */ + hrtc->Instance->ISR &= (uint32_t)RTC_RSF_MASK; + + tickstart = HAL_GetTick(); + + /* Wait the registers to be synchronised */ + while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup RTC_Exported_Functions_Group5 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to + (+) Get RTC state + +@endverbatim + * @{ + */ +/** + * @brief Return the RTC handle state. + * @param hrtc: RTC handle + * @retval HAL state + */ +HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef* hrtc) +{ + /* Return RTC handle state */ + return hrtc->State; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup RTC_Private_Functions RTC Private functions + * @{ + */ +/** + * @brief Enter the RTC Initialization mode. + * @note The RTC Initialization mode is write protected, use the + * __HAL_RTC_WRITEPROTECTION_DISABLE() before calling this function. + * @param hrtc: RTC handle + * @retval HAL status + */ +HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef* hrtc) +{ + uint32_t tickstart = 0; + + /* Check if the Initialization mode is set */ + if((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) + { + /* Set the Initialization mode */ + hrtc->Instance->ISR = (uint32_t)RTC_INIT_MASK; + + tickstart = HAL_GetTick(); + /* Wait till RTC is in INIT state and if Time out is reached exit */ + while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + return HAL_TIMEOUT; + } + } + } + + return HAL_OK; +} + + +/** + * @brief Convert a 2 digit decimal to BCD format. + * @param Value: Byte to be converted + * @retval Converted byte + */ +uint8_t RTC_ByteToBcd2(uint8_t Value) +{ + uint32_t bcdhigh = 0; + + while(Value >= 10) + { + bcdhigh++; + Value -= 10; + } + + return ((uint8_t)(bcdhigh << 4) | Value); +} + +/** + * @brief Convert from 2 digit BCD to Binary. + * @param Value: BCD value to be converted + * @retval Converted word + */ +uint8_t RTC_Bcd2ToByte(uint8_t Value) +{ + uint32_t tmp = 0; + tmp = ((uint8_t)(Value & (uint8_t)0xF0) >> (uint8_t)0x4) * 10; + return (tmp + (Value & (uint8_t)0x0F)); +} + +/** + * @} + */ + +#endif /* HAL_RTC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c new file mode 100644 index 0000000000..8c360b7d4c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c @@ -0,0 +1,1828 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_rtc_ex.c + * @author MCD Application Team + * @brief Extended RTC HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Real Time Clock (RTC) Extended peripheral: + * + RTC Time Stamp functions + * + RTC Tamper functions + * + RTC Wake-up functions + * + Extended Control functions + * + Extended RTC features functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (+) Enable the RTC domain access. + (+) Configure the RTC Prescaler (Asynchronous and Synchronous) and RTC hour + format using the HAL_RTC_Init() function. + + *** RTC Wakeup configuration *** + ================================ + [..] + (+) To configure the RTC Wakeup Clock source and Counter use the HAL_RTCEx_SetWakeUpTimer() + function. You can also configure the RTC Wakeup timer with interrupt mode + using the HAL_RTCEx_SetWakeUpTimer_IT() function. + (+) To read the RTC WakeUp Counter register, use the HAL_RTCEx_GetWakeUpTimer() + function. + + *** Outputs configuration *** + ============================= + [..] The RTC has 2 different outputs: + (+) RTC_ALARM: this output is used to manage the RTC Alarm A, Alarm B + and WaKeUp signals. + To output the selected RTC signal, use the HAL_RTC_Init() function. + (+) RTC_CALIB: this output is 512Hz signal or 1Hz. + To enable the RTC_CALIB, use the HAL_RTCEx_SetCalibrationOutPut() function. + (+) Two pins can be used as RTC_ALARM or RTC_CALIB (PC13, PB2) managed on + the RTC_OR register. + (+) When the RTC_CALIB or RTC_ALARM output is selected, the RTC_OUT pin is + automatically configured in output alternate function. + + *** Smooth digital Calibration configuration *** + ================================================ + [..] + (+) Configure the RTC Original Digital Calibration Value and the corresponding + calibration cycle period (32s,16s and 8s) using the HAL_RTCEx_SetSmoothCalib() + function. + + *** TimeStamp configuration *** + =============================== + [..] + (+) Enable the RTC TimeStamp using the HAL_RTCEx_SetTimeStamp() function. + You can also configure the RTC TimeStamp with interrupt mode using the + HAL_RTCEx_SetTimeStamp_IT() function. + (+) To read the RTC TimeStamp Time and Date register, use the HAL_RTCEx_GetTimeStamp() + function. + + *** Internal TimeStamp configuration *** + =============================== + [..] + (+) Enable the RTC internal TimeStamp using the HAL_RTCEx_SetInternalTimeStamp() function. + User has to check internal timestamp occurrence using __HAL_RTC_INTERNAL_TIMESTAMP_GET_FLAG. + (+) To read the RTC TimeStamp Time and Date register, use the HAL_RTCEx_GetTimeStamp() + function. + + *** Tamper configuration *** + ============================ + [..] + (+) Enable the RTC Tamper and configure the Tamper filter count, trigger Edge + or Level according to the Tamper filter (if equal to 0 Edge else Level) + value, sampling frequency, NoErase, MaskFlag, precharge or discharge and + Pull-UP using the HAL_RTCEx_SetTamper() function. You can configure RTC Tamper + with interrupt mode using HAL_RTCEx_SetTamper_IT() function. + (+) The default configuration of the Tamper erases the backup registers. To avoid + erase, enable the NoErase field on the RTC_TAMPCR register. + + *** Backup Data Registers configuration *** + =========================================== + [..] + (+) To write to the RTC Backup Data registers, use the HAL_RTCEx_BKUPWrite() + function. + (+) To read the RTC Backup Data registers, use the HAL_RTCEx_BKUPRead() + function. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup RTCEx RTCEx + * @brief RTC Extended HAL module driver + * @{ + */ + +#ifdef HAL_RTC_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup RTCEx_Exported_Functions RTCEx Exported Functions + * @{ + */ + + +/** @defgroup RTCEx_Exported_Functions_Group1 RTC TimeStamp and Tamper functions + * @brief RTC TimeStamp and Tamper functions + * +@verbatim + =============================================================================== + ##### RTC TimeStamp and Tamper functions ##### + =============================================================================== + + [..] This section provide functions allowing to configure TimeStamp feature + +@endverbatim + * @{ + */ + +/** + * @brief Set TimeStamp. + * @note This API must be called before enabling the TimeStamp feature. + * @param hrtc: RTC handle + * @param TimeStampEdge: Specifies the pin edge on which the TimeStamp is + * activated. + * This parameter can be one of the following values: + * @arg RTC_TIMESTAMPEDGE_RISING: the Time stamp event occurs on the + * rising edge of the related pin. + * @arg RTC_TIMESTAMPEDGE_FALLING: the Time stamp event occurs on the + * falling edge of the related pin. + * @param RTC_TimeStampPin: specifies the RTC TimeStamp Pin. + * This parameter can be one of the following values: + * @arg RTC_TIMESTAMPPIN_DEFAULT: PC13 is selected as RTC TimeStamp Pin. + * The RTC TimeStamp Pin is per default PC13, but for reasons of + * compatibility, this parameter is required. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_TIMESTAMP_EDGE(TimeStampEdge)); + assert_param(IS_RTC_TIMESTAMP_PIN(RTC_TimeStampPin)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Get the RTC_CR register and clear the bits to be configured */ + tmpreg = (uint32_t)(hrtc->Instance->CR & (uint32_t)~(RTC_CR_TSEDGE | RTC_CR_TSE)); + + tmpreg|= TimeStampEdge; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Configure the Time Stamp TSEDGE and Enable bits */ + hrtc->Instance->CR = (uint32_t)tmpreg; + + __HAL_RTC_TIMESTAMP_ENABLE(hrtc); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Set TimeStamp with Interrupt. + * @param hrtc: RTC handle + * @note This API must be called before enabling the TimeStamp feature. + * @param TimeStampEdge: Specifies the pin edge on which the TimeStamp is + * activated. + * This parameter can be one of the following values: + * @arg RTC_TIMESTAMPEDGE_RISING: the Time stamp event occurs on the + * rising edge of the related pin. + * @arg RTC_TIMESTAMPEDGE_FALLING: the Time stamp event occurs on the + * falling edge of the related pin. + * @param RTC_TimeStampPin: Specifies the RTC TimeStamp Pin. + * This parameter can be one of the following values: + * @arg RTC_TIMESTAMPPIN_DEFAULT: PC13 is selected as RTC TimeStamp Pin. + * The RTC TimeStamp Pin is per default PC13, but for reasons of + * compatibility, this parameter is required. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp_IT(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_TIMESTAMP_EDGE(TimeStampEdge)); + assert_param(IS_RTC_TIMESTAMP_PIN(RTC_TimeStampPin)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Get the RTC_CR register and clear the bits to be configured */ + tmpreg = (uint32_t)(hrtc->Instance->CR & (uint32_t)~(RTC_CR_TSEDGE | RTC_CR_TSE)); + + tmpreg |= TimeStampEdge; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Configure the Time Stamp TSEDGE and Enable bits */ + hrtc->Instance->CR = (uint32_t)tmpreg; + + __HAL_RTC_TIMESTAMP_ENABLE(hrtc); + + /* Enable IT timestamp */ + __HAL_RTC_TIMESTAMP_ENABLE_IT(hrtc,RTC_IT_TS); + + /* RTC timestamp Interrupt Configuration: EXTI configuration */ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT(); + + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE(); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Deactivate TimeStamp. + * @param hrtc: RTC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_DeactivateTimeStamp(RTC_HandleTypeDef *hrtc) +{ + uint32_t tmpreg = 0; + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* In case of interrupt mode is used, the interrupt source must disabled */ + __HAL_RTC_TIMESTAMP_DISABLE_IT(hrtc, RTC_IT_TS); + + /* Get the RTC_CR register and clear the bits to be configured */ + tmpreg = (uint32_t)(hrtc->Instance->CR & (uint32_t)~(RTC_CR_TSEDGE | RTC_CR_TSE)); + + /* Configure the Time Stamp TSEDGE and Enable bits */ + hrtc->Instance->CR = (uint32_t)tmpreg; + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Set Internal TimeStamp. + * @note This API must be called before enabling the internal TimeStamp feature. + * @param hrtc: pointer to a RTC_HandleTypeDef structure that contains + * the configuration information for RTC. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetInternalTimeStamp(RTC_HandleTypeDef *hrtc) +{ + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Configure the internal Time Stamp Enable bits */ + __HAL_RTC_INTERNAL_TIMESTAMP_ENABLE(hrtc); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + + +/** + * @brief Deactivate Internal TimeStamp. + * @param hrtc: pointer to a RTC_HandleTypeDef structure that contains + * the configuration information for RTC. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_DeactivateInternalTimeStamp(RTC_HandleTypeDef *hrtc) +{ + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + + /* Configure the internal Time Stamp Enable bits */ + __HAL_RTC_INTERNAL_TIMESTAMP_DISABLE(hrtc); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Get the RTC TimeStamp value. + * @param hrtc: RTC handle + * @param sTimeStamp: Pointer to Time structure + * @param sTimeStampDate: Pointer to Date structure + * @param Format: specifies the format of the entered parameters. + * This parameter can be one of the following values: + * @arg RTC_FORMAT_BIN: Binary data format + * @arg RTC_FORMAT_BCD: BCD data format + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef* sTimeStamp, RTC_DateTypeDef* sTimeStampDate, uint32_t Format) +{ + uint32_t tmptime = 0, tmpdate = 0; + + /* Check the parameters */ + assert_param(IS_RTC_FORMAT(Format)); + + /* Get the TimeStamp time and date registers values */ + tmptime = (uint32_t)(hrtc->Instance->TSTR & RTC_TR_RESERVED_MASK); + tmpdate = (uint32_t)(hrtc->Instance->TSDR & RTC_DR_RESERVED_MASK); + + /* Fill the Time structure fields with the read parameters */ + sTimeStamp->Hours = (uint8_t)((tmptime & (RTC_TR_HT | RTC_TR_HU)) >> 16); + sTimeStamp->Minutes = (uint8_t)((tmptime & (RTC_TR_MNT | RTC_TR_MNU)) >> 8); + sTimeStamp->Seconds = (uint8_t)(tmptime & (RTC_TR_ST | RTC_TR_SU)); + sTimeStamp->TimeFormat = (uint8_t)((tmptime & (RTC_TR_PM)) >> 16); + sTimeStamp->SubSeconds = (uint32_t) hrtc->Instance->TSSSR; + + /* Fill the Date structure fields with the read parameters */ + sTimeStampDate->Year = 0; + sTimeStampDate->Month = (uint8_t)((tmpdate & (RTC_DR_MT | RTC_DR_MU)) >> 8); + sTimeStampDate->Date = (uint8_t)(tmpdate & (RTC_DR_DT | RTC_DR_DU)); + sTimeStampDate->WeekDay = (uint8_t)((tmpdate & (RTC_DR_WDU)) >> 13); + + /* Check the input parameters format */ + if(Format == RTC_FORMAT_BIN) + { + /* Convert the TimeStamp structure parameters to Binary format */ + sTimeStamp->Hours = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Hours); + sTimeStamp->Minutes = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Minutes); + sTimeStamp->Seconds = (uint8_t)RTC_Bcd2ToByte(sTimeStamp->Seconds); + + /* Convert the DateTimeStamp structure parameters to Binary format */ + sTimeStampDate->Month = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->Month); + sTimeStampDate->Date = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->Date); + sTimeStampDate->WeekDay = (uint8_t)RTC_Bcd2ToByte(sTimeStampDate->WeekDay); + } + + /* Clear the TIMESTAMP Flags */ + __HAL_RTC_INTERNAL_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_ITSF); + __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSF); + + return HAL_OK; +} + +/** + * @brief Set Tamper. + * @note By calling this API we disable the tamper interrupt for all tampers. + * @param hrtc: RTC handle + * @param sTamper: Pointer to Tamper Structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_TAMPER(sTamper->Tamper)); + assert_param(IS_RTC_TAMPER_TRIGGER(sTamper->Trigger)); + assert_param(IS_RTC_TAMPER_ERASE_MODE(sTamper->NoErase)); + assert_param(IS_RTC_TAMPER_MASKFLAG_STATE(sTamper->MaskFlag)); + assert_param(IS_RTC_TAMPER_FILTER(sTamper->Filter)); + assert_param(IS_RTC_TAMPER_SAMPLING_FREQ(sTamper->SamplingFrequency)); + assert_param(IS_RTC_TAMPER_PRECHARGE_DURATION(sTamper->PrechargeDuration)); + assert_param(IS_RTC_TAMPER_PULLUP_STATE(sTamper->TamperPullUp)); + assert_param(IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(sTamper->TimeStampOnTamperDetection)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Configure the tamper trigger */ + if(sTamper->Trigger != RTC_TAMPERTRIGGER_RISINGEDGE) + { + sTamper->Trigger = (uint32_t)(sTamper->Tamper << 1); + } + + if(sTamper->NoErase != RTC_TAMPER_ERASE_BACKUP_ENABLE) + { + sTamper->NoErase = 0; + if((sTamper->Tamper & RTC_TAMPER_1) != 0) + { + sTamper->NoErase |= RTC_TAMPCR_TAMP1NOERASE; + } + if((sTamper->Tamper & RTC_TAMPER_2) != 0) + { + sTamper->NoErase |= RTC_TAMPCR_TAMP2NOERASE; + } + if((sTamper->Tamper & RTC_TAMPER_3) != 0) + { + sTamper->NoErase |= RTC_TAMPCR_TAMP3NOERASE; + } + } + + if(sTamper->MaskFlag != RTC_TAMPERMASK_FLAG_DISABLE) + { + sTamper->MaskFlag = 0; + if((sTamper->Tamper & RTC_TAMPER_1) != 0) + { + sTamper->MaskFlag |= RTC_TAMPCR_TAMP1MF; + } + if((sTamper->Tamper & RTC_TAMPER_2) != 0) + { + sTamper->MaskFlag |= RTC_TAMPCR_TAMP2MF; + } + if((sTamper->Tamper & RTC_TAMPER_3) != 0) + { + sTamper->MaskFlag |= RTC_TAMPCR_TAMP3MF; + } + } + + tmpreg = ((uint32_t)sTamper->Tamper | (uint32_t)sTamper->Trigger | (uint32_t)sTamper->NoErase |\ + (uint32_t)sTamper->MaskFlag | (uint32_t)sTamper->Filter | (uint32_t)sTamper->SamplingFrequency |\ + (uint32_t)sTamper->PrechargeDuration | (uint32_t)sTamper->TamperPullUp | sTamper->TimeStampOnTamperDetection); + + hrtc->Instance->TAMPCR &= (uint32_t)~((uint32_t)sTamper->Tamper | (uint32_t)(sTamper->Tamper << 1) | (uint32_t)RTC_TAMPCR_TAMPTS |\ + (uint32_t)RTC_TAMPCR_TAMPFREQ | (uint32_t)RTC_TAMPCR_TAMPFLT | (uint32_t)RTC_TAMPCR_TAMPPRCH |\ + (uint32_t)RTC_TAMPCR_TAMPPUDIS | (uint32_t)RTC_TAMPCR_TAMPIE | (uint32_t)RTC_TAMPCR_TAMP1IE |\ + (uint32_t)RTC_TAMPCR_TAMP2IE | (uint32_t)RTC_TAMPCR_TAMP3IE | (uint32_t)RTC_TAMPCR_TAMP1NOERASE |\ + (uint32_t)RTC_TAMPCR_TAMP2NOERASE | (uint32_t)RTC_TAMPCR_TAMP3NOERASE | (uint32_t)RTC_TAMPCR_TAMP1MF |\ + (uint32_t)RTC_TAMPCR_TAMP2MF | (uint32_t)RTC_TAMPCR_TAMP3MF); + + hrtc->Instance->TAMPCR |= tmpreg; + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Set Tamper with interrupt. + * @note By calling this API we force the tamper interrupt for all tampers. + * @param hrtc: RTC handle + * @param sTamper: Pointer to RTC Tamper. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_RTC_TAMPER(sTamper->Tamper)); + assert_param(IS_RTC_TAMPER_INTERRUPT(sTamper->Interrupt)); + assert_param(IS_RTC_TAMPER_TRIGGER(sTamper->Trigger)); + assert_param(IS_RTC_TAMPER_ERASE_MODE(sTamper->NoErase)); + assert_param(IS_RTC_TAMPER_MASKFLAG_STATE(sTamper->MaskFlag)); + assert_param(IS_RTC_TAMPER_FILTER(sTamper->Filter)); + assert_param(IS_RTC_TAMPER_SAMPLING_FREQ(sTamper->SamplingFrequency)); + assert_param(IS_RTC_TAMPER_PRECHARGE_DURATION(sTamper->PrechargeDuration)); + assert_param(IS_RTC_TAMPER_PULLUP_STATE(sTamper->TamperPullUp)); + assert_param(IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(sTamper->TimeStampOnTamperDetection)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Configure the tamper trigger */ + if(sTamper->Trigger != RTC_TAMPERTRIGGER_RISINGEDGE) + { + sTamper->Trigger = (uint32_t)(sTamper->Tamper << 1); + } + + if(sTamper->NoErase != RTC_TAMPER_ERASE_BACKUP_ENABLE) + { + sTamper->NoErase = 0; + if((sTamper->Tamper & RTC_TAMPER_1) != 0) + { + sTamper->NoErase |= RTC_TAMPCR_TAMP1NOERASE; + } + if((sTamper->Tamper & RTC_TAMPER_2) != 0) + { + sTamper->NoErase |= RTC_TAMPCR_TAMP2NOERASE; + } + if((sTamper->Tamper & RTC_TAMPER_3) != 0) + { + sTamper->NoErase |= RTC_TAMPCR_TAMP3NOERASE; + } + } + + if(sTamper->MaskFlag != RTC_TAMPERMASK_FLAG_DISABLE) + { + sTamper->MaskFlag = 0; + if((sTamper->Tamper & RTC_TAMPER_1) != 0) + { + sTamper->MaskFlag |= RTC_TAMPCR_TAMP1MF; + } + if((sTamper->Tamper & RTC_TAMPER_2) != 0) + { + sTamper->MaskFlag |= RTC_TAMPCR_TAMP2MF; + } + if((sTamper->Tamper & RTC_TAMPER_3) != 0) + { + sTamper->MaskFlag |= RTC_TAMPCR_TAMP3MF; + } + } + + tmpreg = ((uint32_t)sTamper->Tamper | (uint32_t)sTamper->Interrupt | (uint32_t)sTamper->Trigger | (uint32_t)sTamper->NoErase |\ + (uint32_t)sTamper->MaskFlag | (uint32_t)sTamper->Filter | (uint32_t)sTamper->SamplingFrequency |\ + (uint32_t)sTamper->PrechargeDuration | (uint32_t)sTamper->TamperPullUp | sTamper->TimeStampOnTamperDetection); + + hrtc->Instance->TAMPCR &= (uint32_t)~((uint32_t)sTamper->Tamper | (uint32_t)(sTamper->Tamper << 1) | (uint32_t)RTC_TAMPCR_TAMPTS |\ + (uint32_t)RTC_TAMPCR_TAMPFREQ | (uint32_t)RTC_TAMPCR_TAMPFLT | (uint32_t)RTC_TAMPCR_TAMPPRCH |\ + (uint32_t)RTC_TAMPCR_TAMPPUDIS | (uint32_t)RTC_TAMPCR_TAMPIE | (uint32_t)RTC_TAMPCR_TAMP1IE |\ + (uint32_t)RTC_TAMPCR_TAMP2IE | (uint32_t)RTC_TAMPCR_TAMP3IE | (uint32_t)RTC_TAMPCR_TAMP1NOERASE |\ + (uint32_t)RTC_TAMPCR_TAMP2NOERASE | (uint32_t)RTC_TAMPCR_TAMP3NOERASE | (uint32_t)RTC_TAMPCR_TAMP1MF |\ + (uint32_t)RTC_TAMPCR_TAMP2MF | (uint32_t)RTC_TAMPCR_TAMP3MF); + + hrtc->Instance->TAMPCR |= tmpreg; + + /* RTC Tamper Interrupt Configuration: EXTI configuration */ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT(); + + + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE(); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Deactivate Tamper. + * @param hrtc: RTC handle + * @param Tamper: Selected tamper pin. + * This parameter can be any combination of RTC_TAMPER_1, RTC_TAMPER_2 and RTC_TAMPER_3. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper) +{ + assert_param(IS_RTC_TAMPER(Tamper)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the selected Tamper pin */ + hrtc->Instance->TAMPCR &= ((uint32_t)~Tamper); + + if ((Tamper & RTC_TAMPER_1) != 0) + { + /* Disable the Tamper1 interrupt */ + hrtc->Instance->TAMPCR &= ((uint32_t)~(RTC_IT_TAMP | RTC_IT_TAMP1)); + } + if ((Tamper & RTC_TAMPER_2) != 0) + { + /* Disable the Tamper2 interrupt */ + hrtc->Instance->TAMPCR &= ((uint32_t)~(RTC_IT_TAMP | RTC_IT_TAMP2)); + } + if ((Tamper & RTC_TAMPER_3) != 0) + { + /* Disable the Tamper3 interrupt */ + hrtc->Instance->TAMPCR &= ((uint32_t)~(RTC_IT_TAMP | RTC_IT_TAMP3)); + } + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Handle TimeStamp interrupt request. + * @param hrtc: RTC handle + * @retval None + */ +void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc) +{ + /* Clear the EXTI's Flag for RTC TimeStamp and Tamper */ + __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG(); + + /* Get the TimeStamp interrupt source enable status */ + if(__HAL_RTC_TIMESTAMP_GET_IT_SOURCE(hrtc, RTC_IT_TS) != RESET) + { + /* Get the pending status of the TIMESTAMP Interrupt */ + if(__HAL_RTC_TIMESTAMP_GET_FLAG(hrtc, RTC_FLAG_TSF) != RESET) + { + + /* TIMESTAMP callback */ + HAL_RTCEx_TimeStampEventCallback(hrtc); + + /* Clear the TIMESTAMP interrupt pending bit */ + __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSF); + } + } + + /* Get the Tamper1 interrupts source enable status */ + if(__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP | RTC_IT_TAMP1) != RESET) + { + /* Get the pending status of the Tamper1 Interrupt */ + if(__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP1F) != RESET) + { + /* Tamper1 callback */ + HAL_RTCEx_Tamper1EventCallback(hrtc); + + /* Clear the Tamper1 interrupt pending bit */ + __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP1F); + } + } + + /* Get the Tamper2 interrupts source enable status */ + if(__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP | RTC_IT_TAMP2) != RESET) + { + /* Get the pending status of the Tamper2 Interrupt */ + if(__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP2F) != RESET) + { + /* Tamper2 callback */ + HAL_RTCEx_Tamper2EventCallback(hrtc); + + /* Clear the Tamper2 interrupt pending bit */ + __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP2F); + } + } + + /* Get the Tamper3 interrupts source enable status */ + if(__HAL_RTC_TAMPER_GET_IT_SOURCE(hrtc, RTC_IT_TAMP | RTC_IT_TAMP3) != RESET) + { + /* Get the pending status of the Tamper3 Interrupt */ + if(__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP3F) != RESET) + { + /* Tamper3 callback */ + HAL_RTCEx_Tamper3EventCallback(hrtc); + + /* Clear the Tamper3 interrupt pending bit */ + __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP3F); + } + } + + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; +} + +/** + * @brief TimeStamp callback. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTCEx_TimeStampEventCallback could be implemented in the user file + */ +} + +/** + * @brief Tamper 1 callback. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTCEx_Tamper1EventCallback could be implemented in the user file + */ +} + +/** + * @brief Tamper 2 callback. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTCEx_Tamper2EventCallback(RTC_HandleTypeDef *hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTCEx_Tamper2EventCallback could be implemented in the user file + */ +} + +/** + * @brief Tamper 3 callback. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTCEx_Tamper3EventCallback(RTC_HandleTypeDef *hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTCEx_Tamper3EventCallback could be implemented in the user file + */ +} + +/** + * @brief Handle TimeStamp polling request. + * @param hrtc: RTC handle + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + while(__HAL_RTC_TIMESTAMP_GET_FLAG(hrtc, RTC_FLAG_TSF) == RESET) + { + if(__HAL_RTC_TIMESTAMP_GET_FLAG(hrtc, RTC_FLAG_TSOVF) != RESET) + { + /* Clear the TIMESTAMP OverRun Flag */ + __HAL_RTC_TIMESTAMP_CLEAR_FLAG(hrtc, RTC_FLAG_TSOVF); + + /* Change TIMESTAMP state */ + hrtc->State = HAL_RTC_STATE_ERROR; + + return HAL_ERROR; + } + + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + hrtc->State = HAL_RTC_STATE_TIMEOUT; + return HAL_TIMEOUT; + } + } + } + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Handle Tamper1 Polling. + * @param hrtc: RTC handle + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + /* Get the status of the Interrupt */ + while(__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP1F)== RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + hrtc->State = HAL_RTC_STATE_TIMEOUT; + return HAL_TIMEOUT; + } + } + } + + /* Clear the Tamper Flag */ + __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP1F); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Handle Tamper2 Polling. + * @param hrtc: RTC handle + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_PollForTamper2Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + /* Get the status of the Interrupt */ + while(__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP2F) == RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + hrtc->State = HAL_RTC_STATE_TIMEOUT; + return HAL_TIMEOUT; + } + } + } + + /* Clear the Tamper Flag */ + __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP2F); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Handle Tamper3 Polling. + * @param hrtc: RTC handle + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_PollForTamper3Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + /* Get the status of the Interrupt */ + while(__HAL_RTC_TAMPER_GET_FLAG(hrtc, RTC_FLAG_TAMP3F) == RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + hrtc->State = HAL_RTC_STATE_TIMEOUT; + return HAL_TIMEOUT; + } + } + } + + /* Clear the Tamper Flag */ + __HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP3F); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup RTCEx_Exported_Functions_Group2 RTC Wake-up functions + * @brief RTC Wake-up functions + * +@verbatim + =============================================================================== + ##### RTC Wake-up functions ##### + =============================================================================== + + [..] This section provide functions allowing to configure Wake-up feature + +@endverbatim + * @{ + */ + +/** + * @brief Set wake up timer. + * @param hrtc: RTC handle + * @param WakeUpCounter: Wake up counter + * @param WakeUpClock: Wake up clock + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock)); + assert_param(IS_RTC_WAKEUP_COUNTER(WakeUpCounter)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /*Check RTC WUTWF flag is reset only when wake up timer enabled*/ + if((hrtc->Instance->CR & RTC_CR_WUTE) != RESET) + { + tickstart = HAL_GetTick(); + + /* Wait till RTC WUTWF flag is reset and if Time out is reached exit */ + while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == SET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + } + __HAL_RTC_WAKEUPTIMER_DISABLE(hrtc); + + tickstart = HAL_GetTick(); + + /* Wait till RTC WUTWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + /* Clear the Wakeup Timer clock source bits in CR register */ + hrtc->Instance->CR &= (uint32_t)~RTC_CR_WUCKSEL; + + /* Configure the clock source */ + hrtc->Instance->CR |= (uint32_t)WakeUpClock; + + /* Configure the Wakeup Timer counter */ + hrtc->Instance->WUTR = (uint32_t)WakeUpCounter; + + /* Enable the Wakeup Timer */ + __HAL_RTC_WAKEUPTIMER_ENABLE(hrtc); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Set wake up timer with interrupt. + * @param hrtc: RTC handle + * @param WakeUpCounter: Wake up counter + * @param WakeUpClock: Wake up clock + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock)); + assert_param(IS_RTC_WAKEUP_COUNTER(WakeUpCounter)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /*Check RTC WUTWF flag is reset only when wake up timer enabled*/ + if((hrtc->Instance->CR & RTC_CR_WUTE) != RESET) + { + tickstart = HAL_GetTick(); + + /* Wait till RTC WUTWF flag is reset and if Time out is reached exit */ + while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == SET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + } + /* Disable the Wake-Up timer */ + __HAL_RTC_WAKEUPTIMER_DISABLE(hrtc); + + /* Clear flag Wake-Up */ + __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); + + tickstart = HAL_GetTick(); + + /* Wait till RTC WUTWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + /* Configure the Wakeup Timer counter */ + hrtc->Instance->WUTR = (uint32_t)WakeUpCounter; + + /* Clear the Wakeup Timer clock source bits in CR register */ + hrtc->Instance->CR &= (uint32_t)~RTC_CR_WUCKSEL; + + /* Configure the clock source */ + hrtc->Instance->CR |= (uint32_t)WakeUpClock; + + + /* RTC WakeUpTimer Interrupt Configuration: EXTI configuration */ + __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT(); + + + __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE(); + /* Configure the Interrupt in the RTC_CR register */ + __HAL_RTC_WAKEUPTIMER_ENABLE_IT(hrtc,RTC_IT_WUT); + + /* Enable the Wakeup Timer */ + __HAL_RTC_WAKEUPTIMER_ENABLE(hrtc); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Deactivate wake up timer counter. + * @param hrtc: RTC handle + * @retval HAL status + */ +uint32_t HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc) +{ + uint32_t tickstart = 0; + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Disable the Wakeup Timer */ + __HAL_RTC_WAKEUPTIMER_DISABLE(hrtc); + + /* In case of interrupt mode is used, the interrupt source must disabled */ + __HAL_RTC_WAKEUPTIMER_DISABLE_IT(hrtc,RTC_IT_WUT); + + tickstart = HAL_GetTick(); + /* Wait till RTC WUTWF flag is set and if Time out is reached exit */ + while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Get wake up timer counter. + * @param hrtc: RTC handle + * @retval Counter value + */ +uint32_t HAL_RTCEx_GetWakeUpTimer(RTC_HandleTypeDef *hrtc) +{ + /* Get the counter value */ + return ((uint32_t)(hrtc->Instance->WUTR & RTC_WUTR_WUT)); +} + +/** + * @brief Handle Wake Up Timer interrupt request. + * @param hrtc: RTC handle + * @retval None + */ +void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc) +{ + /* Clear the EXTI's line Flag for RTC WakeUpTimer */ + __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); + /* Get the pending status of the WAKEUPTIMER Interrupt */ + if(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTF) != RESET) + { + /* Clear the WAKEUPTIMER interrupt pending bit */ + __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); + + /* WAKEUPTIMER callback */ + HAL_RTCEx_WakeUpTimerEventCallback(hrtc); + } + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; +} + +/** + * @brief Wake Up Timer callback. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTCEx_WakeUpTimerEventCallback could be implemented in the user file + */ +} + +/** + * @brief Handle Wake Up Timer Polling. + * @param hrtc: RTC handle + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTF) == RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + return HAL_TIMEOUT; + } + } + } + + /* Clear the WAKEUPTIMER Flag */ + __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; +} + +/** + * @} + */ + + +/** @defgroup RTCEx_Exported_Functions_Group3 Extended Peripheral Control functions + * @brief Extended Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Extended Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides functions allowing to + (+) Write a data in a specified RTC Backup data register + (+) Read a data in a specified RTC Backup data register + (+) Set the Coarse calibration parameters. + (+) Deactivate the Coarse calibration parameters + (+) Set the Smooth calibration parameters. + (+) Configure the Synchronization Shift Control Settings. + (+) Configure the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). + (+) Deactivate the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). + (+) Enable the RTC reference clock detection. + (+) Disable the RTC reference clock detection. + (+) Enable the Bypass Shadow feature. + (+) Disable the Bypass Shadow feature. + +@endverbatim + * @{ + */ + +/** + * @brief Write a data in a specified RTC Backup data register. + * @param hrtc: RTC handle + * @param BackupRegister: RTC Backup data Register number. + * This parameter can be: RTC_BKP_DRx where x can be from 0 to 19 to + * specify the register. + * @param Data: Data to be written in the specified RTC Backup data register. + * @retval None + */ +void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data) +{ + uint32_t tmp = 0; + + /* Check the parameters */ + assert_param(IS_RTC_BKP(BackupRegister)); + + tmp = (uint32_t)&(hrtc->Instance->BKP0R); + tmp += (BackupRegister * 4); + + /* Write the specified register */ + *(__IO uint32_t *)tmp = (uint32_t)Data; +} + +/** + * @brief Read data from the specified RTC Backup data Register. + * @param hrtc: RTC handle + * @param BackupRegister: RTC Backup data Register number. + * This parameter can be: RTC_BKP_DRx where x can be from 0 to 19 to + * specify the register. + * @retval Read value + */ +uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister) +{ + uint32_t tmp = 0; + + /* Check the parameters */ + assert_param(IS_RTC_BKP(BackupRegister)); + + tmp = (uint32_t)&(hrtc->Instance->BKP0R); + tmp += (BackupRegister * 4); + + /* Read the specified register */ + return (*(__IO uint32_t *)tmp); +} + +/** + * @brief Set the Smooth calibration parameters. + * @param hrtc: RTC handle + * @param SmoothCalibPeriod: Select the Smooth Calibration Period. + * This parameter can be can be one of the following values : + * @arg RTC_SMOOTHCALIB_PERIOD_32SEC: The smooth calibration period is 32s. + * @arg RTC_SMOOTHCALIB_PERIOD_16SEC: The smooth calibration period is 16s. + * @arg RTC_SMOOTHCALIB_PERIOD_8SEC: The smooth calibration period is 8s. + * @param SmoothCalibPlusPulses: Select to Set or reset the CALP bit. + * This parameter can be one of the following values: + * @arg RTC_SMOOTHCALIB_PLUSPULSES_SET: Add one RTCCLK pulse every 2*11 pulses. + * @arg RTC_SMOOTHCALIB_PLUSPULSES_RESET: No RTCCLK pulses are added. + * @param SmoothCalibMinusPulsesValue: Select the value of CALM[8:0] bits. + * This parameter can be one any value from 0 to 0x000001FF. + * @note To deactivate the smooth calibration, the field SmoothCalibPlusPulses + * must be equal to SMOOTHCALIB_PLUSPULSES_RESET and the field + * SmoothCalibMinusPulsesValue must be equal to 0. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef* hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmoothCalibMinusPulsesValue) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RTC_SMOOTH_CALIB_PERIOD(SmoothCalibPeriod)); + assert_param(IS_RTC_SMOOTH_CALIB_PLUS(SmoothCalibPlusPulses)); + assert_param(IS_RTC_SMOOTH_CALIB_MINUS(SmoothCalibMinusPulsesValue)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* check if a calibration is pending*/ + if((hrtc->Instance->ISR & RTC_ISR_RECALPF) != RESET) + { + tickstart = HAL_GetTick(); + + /* check if a calibration is pending*/ + while((hrtc->Instance->ISR & RTC_ISR_RECALPF) != RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + } + + /* Configure the Smooth calibration settings */ + hrtc->Instance->CALR = (uint32_t)((uint32_t)SmoothCalibPeriod | (uint32_t)SmoothCalibPlusPulses | (uint32_t)SmoothCalibMinusPulsesValue); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Configure the Synchronization Shift Control Settings. + * @note When REFCKON is set, firmware must not write to Shift control register. + * @param hrtc: RTC handle + * @param ShiftAdd1S: Select to add or not 1 second to the time calendar. + * This parameter can be one of the following values : + * @arg RTC_SHIFTADD1S_SET: Add one second to the clock calendar. + * @arg RTC_SHIFTADD1S_RESET: No effect. + * @param ShiftSubFS: Select the number of Second Fractions to substitute. + * This parameter can be one any value from 0 to 0x7FFF. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef* hrtc, uint32_t ShiftAdd1S, uint32_t ShiftSubFS) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_RTC_SHIFT_ADD1S(ShiftAdd1S)); + assert_param(IS_RTC_SHIFT_SUBFS(ShiftSubFS)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + tickstart = HAL_GetTick(); + + /* Wait until the shift is completed*/ + while((hrtc->Instance->ISR & RTC_ISR_SHPF) != RESET) + { + if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_TIMEOUT; + } + } + + /* Check if the reference clock detection is disabled */ + if((hrtc->Instance->CR & RTC_CR_REFCKON) == RESET) + { + /* Configure the Shift settings */ + hrtc->Instance->SHIFTR = (uint32_t)(uint32_t)(ShiftSubFS) | (uint32_t)(ShiftAdd1S); + + /* If RTC_CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ + if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) + { + if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + } + } + else + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Configure the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). + * @param hrtc: RTC handle + * @param CalibOutput : Select the Calibration output Selection . + * This parameter can be one of the following values: + * @arg RTC_CALIBOUTPUT_512HZ: A signal has a regular waveform at 512Hz. + * @arg RTC_CALIBOUTPUT_1HZ: A signal has a regular waveform at 1Hz. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef* hrtc, uint32_t CalibOutput) +{ + /* Check the parameters */ + assert_param(IS_RTC_CALIB_OUTPUT(CalibOutput)); + + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Clear flags before config */ + hrtc->Instance->CR &= (uint32_t)~RTC_CR_COSEL; + + /* Configure the RTC_CR register */ + hrtc->Instance->CR |= (uint32_t)CalibOutput; + + __HAL_RTC_CALIBRATION_OUTPUT_ENABLE(hrtc); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Deactivate the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). + * @param hrtc: RTC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_DeactivateCalibrationOutPut(RTC_HandleTypeDef* hrtc) +{ + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + __HAL_RTC_CALIBRATION_OUTPUT_DISABLE(hrtc); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Enable the RTC reference clock detection. + * @param hrtc: RTC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_SetRefClock(RTC_HandleTypeDef* hrtc) +{ + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Set Initialization mode */ + if(RTC_EnterInitMode(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state*/ + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + else + { + __HAL_RTC_CLOCKREF_DETECTION_ENABLE(hrtc); + + /* Exit Initialization mode */ + hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Disable the RTC reference clock detection. + * @param hrtc: RTC handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_DeactivateRefClock(RTC_HandleTypeDef* hrtc) +{ + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Set Initialization mode */ + if(RTC_EnterInitMode(hrtc) != HAL_OK) + { + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Set RTC state*/ + hrtc->State = HAL_RTC_STATE_ERROR; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_ERROR; + } + else + { + __HAL_RTC_CLOCKREF_DETECTION_DISABLE(hrtc); + + /* Exit Initialization mode */ + hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; + } + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Enable the Bypass Shadow feature. + * @param hrtc: RTC handle + * @note When the Bypass Shadow is enabled the calendar value are taken + * directly from the Calendar counter. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_EnableBypassShadow(RTC_HandleTypeDef* hrtc) +{ + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Set the BYPSHAD bit */ + hrtc->Instance->CR |= (uint8_t)RTC_CR_BYPSHAD; + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @brief Disable the Bypass Shadow feature. + * @param hrtc: RTC handle + * @note When the Bypass Shadow is enabled the calendar value are taken + * directly from the Calendar counter. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef* hrtc) +{ + /* Process Locked */ + __HAL_LOCK(hrtc); + + hrtc->State = HAL_RTC_STATE_BUSY; + + /* Disable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); + + /* Reset the BYPSHAD bit */ + hrtc->Instance->CR &= ((uint8_t)~RTC_CR_BYPSHAD); + + /* Enable the write protection for RTC registers */ + __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hrtc); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup RTCEx_Exported_Functions_Group4 Extended features functions + * @brief Extended features functions + * +@verbatim + =============================================================================== + ##### Extended features functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) RTC Alarm B callback + (+) RTC Poll for Alarm B request + +@endverbatim + * @{ + */ + +/** + * @brief Alarm B callback. + * @param hrtc: RTC handle + * @retval None + */ +__weak void HAL_RTCEx_AlarmBEventCallback(RTC_HandleTypeDef *hrtc) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hrtc); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_RTCEx_AlarmBEventCallback could be implemented in the user file + */ +} + +/** + * @brief Handle Alarm B Polling request. + * @param hrtc: RTC handle + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRBF) == RESET) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + hrtc->State = HAL_RTC_STATE_TIMEOUT; + return HAL_TIMEOUT; + } + } + } + + /* Clear the Alarm Flag */ + __HAL_RTC_ALARM_CLEAR_FLAG(hrtc, RTC_FLAG_ALRBF); + + /* Change RTC state */ + hrtc->State = HAL_RTC_STATE_READY; + + return HAL_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_RTC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai.c new file mode 100644 index 0000000000..e0d95f6ec5 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai.c @@ -0,0 +1,2330 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sai.c + * @author MCD Application Team + * @brief SAI HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Serial Audio Interface (SAI) peripheral: + * + Initialization/de-initialization functions + * + I/O operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + + [..] + The SAI HAL driver can be used as follows: + + (#) Declare a SAI_HandleTypeDef handle structure (eg. SAI_HandleTypeDef hsai). + (#) Initialize the SAI low level resources by implementing the HAL_SAI_MspInit() API: + (##) Enable the SAI interface clock. + (##) SAI pins configuration: + (+++) Enable the clock for the SAI GPIOs. + (+++) Configure these SAI pins as alternate function pull-up. + (##) NVIC configuration if you need to use interrupt process (HAL_SAI_Transmit_IT() + and HAL_SAI_Receive_IT() APIs): + (+++) Configure the SAI interrupt priority. + (+++) Enable the NVIC SAI IRQ handle. + + (##) DMA Configuration if you need to use DMA process (HAL_SAI_Transmit_DMA() + and HAL_SAI_Receive_DMA() APIs): + (+++) Declare a DMA handle structure for the Tx/Rx stream. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. + (+++) Configure the DMA Tx/Rx Stream. + (+++) Associate the initialized DMA handle to the SAI DMA Tx/Rx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the + DMA Tx/Rx Stream. + + (#) The initialization can be done by two ways + (##) Expert mode : Initialize the structures Init, FrameInit and SlotInit and call HAL_SAI_Init(). + (##) Simplified mode : Initialize the high part of Init Structure and call HAL_SAI_InitProtocol(). + + [..] + (@) The specific SAI interrupts (FIFO request and Overrun underrun interrupt) + will be managed using the macros __HAL_SAI_ENABLE_IT() and __HAL_SAI_DISABLE_IT() + inside the transmit and receive process. + [..] + (@) Make sure that either: + (+@) PLLSAI1CLK output is configured or + (+@) PLLSAI2CLK output is configured or + (+@) PLLSAI3CLK output is configured or + (+@) PLLSAI4ACLK output is configured or + (+@) PLLSAI4BCLK output is configured or + (+@) External clock source is configured after setting correctly + the define constant EXTERNAL_CLOCK_VALUE in the stm32h7xx_hal_conf.h file. + + [..] + (@) In master Tx mode: enabling the audio block immediately generates the bit clock + for the external slaves even if there is no data in the FIFO, However FS signal + generation is conditioned by the presence of data in the FIFO. + + [..] + (@) In master Rx mode: enabling the audio block immediately generates the bit clock + and FS signal for the external slaves. + + [..] + (@) It is mandatory to respect the following conditions in order to avoid bad SAI behavior: + (+@) First bit Offset <= (SLOT size - Data size) + (+@) Data size <= SLOT size + (+@) Number of SLOT x SLOT size = Frame length + (+@) The number of slots should be even when SAI_FS_CHANNEL_IDENTIFICATION is selected. + + [..] + (@) PDM interface can be activated through HAL_SAI_Init function. + Please note that PDM interface is only available for SAIx sub-block A. + PDM microphone delays can be tuned with HAL_SAIEx_ConfigPdmMicDelay function. + + [..] + Three operation modes are available within this driver : + + *** Polling mode IO operation *** + ================================= + [..] + (+) Send an amount of data in blocking mode using HAL_SAI_Transmit() + (+) Receive an amount of data in blocking mode using HAL_SAI_Receive() + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Send an amount of data in non-blocking mode using HAL_SAI_Transmit_IT() + (+) At transmission end of transfer HAL_SAI_TxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SAI_TxCpltCallback() + (+) Receive an amount of data in non-blocking mode using HAL_SAI_Receive_IT() + (+) At reception end of transfer HAL_SAI_RxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SAI_RxCpltCallback() + (+) In case of flag error, HAL_SAI_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_SAI_ErrorCallback() + + *** DMA mode IO operation *** + ============================= + [..] + (+) Send an amount of data in non-blocking mode (DMA) using HAL_SAI_Transmit_DMA() + (+) At transmission end of transfer HAL_SAI_TxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SAI_TxCpltCallback() + (+) Receive an amount of data in non-blocking mode (DMA) using HAL_SAI_Receive_DMA() + (+) At reception end of transfer HAL_SAI_RxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SAI_RxCpltCallback() + (+) In case of flag error, HAL_SAI_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_SAI_ErrorCallback() + (+) Pause the DMA Transfer using HAL_SAI_DMAPause() + (+) Resume the DMA Transfer using HAL_SAI_DMAResume() + (+) Stop the DMA Transfer using HAL_SAI_DMAStop() + + *** SAI HAL driver additional function list *** + =============================================== + [..] + Below the list the others API available SAI HAL driver : + + (+) HAL_SAI_EnableTxMuteMode(): Enable the mute in tx mode + (+) HAL_SAI_DisableTxMuteMode(): Disable the mute in tx mode + (+) HAL_SAI_EnableRxMuteMode(): Enable the mute in Rx mode + (+) HAL_SAI_DisableRxMuteMode(): Disable the mute in Rx mode + (+) HAL_SAI_FlushRxFifo(): Flush the rx fifo. + (+) HAL_SAI_Abort(): Abort the current transfer + + *** SAI HAL driver macros list *** + ================================== + [..] + Below the list of most used macros in SAI HAL driver : + + (+) __HAL_SAI_ENABLE(): Enable the SAI peripheral + (+) __HAL_SAI_DISABLE(): Disable the SAI peripheral + (+) __HAL_SAI_ENABLE_IT(): Enable the specified SAI interrupts + (+) __HAL_SAI_DISABLE_IT(): Disable the specified SAI interrupts + (+) __HAL_SAI_GET_IT_SOURCE(): Check if the specified SAI interrupt source is + enabled or disabled + (+) __HAL_SAI_GET_FLAG(): Check whether the specified SAI flag is set or not + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SAI SAI + * @brief SAI HAL module driver + * @{ + */ + +#ifdef HAL_SAI_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ + +/** @defgroup SAI_Private_Typedefs SAI Private Typedefs + * @{ + */ +typedef enum { + SAI_MODE_DMA, + SAI_MODE_IT +}SAI_ModeTypedef; +/** + * @} + */ + +/* Private define ------------------------------------------------------------*/ + +/** @defgroup SAI_Private_Constants SAI Private Constants + * @{ + */ +#define SAI_FIFO_SIZE 8U +#define SAI_DEFAULT_TIMEOUT 4U /* 4ms */ +#define SAI_LONG_TIMEOUT 1000U +#define SAI_xCR2_MUTECNT_OFFSET POSITION_VAL(SAI_xCR2_MUTECNT) +#define SAI_PDMCR_MICNBR_OFFSET POSITION_VAL(SAI_PDMCR_MICNBR) +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ + +/** @defgroup SAI_Private_Functions SAI Private Functions + * @{ + */ +static void SAI_FillFifo(SAI_HandleTypeDef *hsai); +static uint32_t SAI_InterruptFlag(SAI_HandleTypeDef *hsai, uint32_t mode); +static HAL_StatusTypeDef SAI_InitI2S(SAI_HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot); +static HAL_StatusTypeDef SAI_InitPCM(SAI_HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot); + +static HAL_StatusTypeDef SAI_Disable(SAI_HandleTypeDef *hsai); +static void SAI_Transmit_IT8Bit(SAI_HandleTypeDef *hsai); +static void SAI_Transmit_IT16Bit(SAI_HandleTypeDef *hsai); +static void SAI_Transmit_IT32Bit(SAI_HandleTypeDef *hsai); +static void SAI_Receive_IT8Bit(SAI_HandleTypeDef *hsai); +static void SAI_Receive_IT16Bit(SAI_HandleTypeDef *hsai); +static void SAI_Receive_IT32Bit(SAI_HandleTypeDef *hsai); + +static void SAI_DMATxCplt(DMA_HandleTypeDef *hdma); +static void SAI_DMATxHalfCplt(DMA_HandleTypeDef *hdma); +static void SAI_DMARxCplt(DMA_HandleTypeDef *hdma); +static void SAI_DMARxHalfCplt(DMA_HandleTypeDef *hdma); +static void SAI_DMAError(DMA_HandleTypeDef *hdma); +static void SAI_DMAAbort(DMA_HandleTypeDef *hdma); +/** + * @} + */ + +/* Exported functions ---------------------------------------------------------*/ + +/** @defgroup SAI_Exported_Functions SAI Exported Functions + * @{ + */ + +/** @defgroup SAI_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to initialize and + de-initialize the SAIx peripheral: + + (+) User must implement HAL_SAI_MspInit() function in which he configures + all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). + + (+) Call the function HAL_SAI_Init() to configure the selected device with + the selected configuration: + (++) Mode (Master/slave TX/RX) + (++) Protocol + (++) Data Size + (++) MCLK Output + (++) Audio frequency + (++) FIFO Threshold + (++) Frame Config + (++) Slot Config + (++) PDM Config + + (+) Call the function HAL_SAI_DeInit() to restore the default configuration + of the selected SAI peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the structure FrameInit, SlotInit and the low part of + * Init according to the specified parameters and call the function + * HAL_SAI_Init to initialize the SAI block. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param protocol one of the supported protocol @ref SAI_Protocol + * @param datasize one of the supported datasize @ref SAI_Protocol_DataSize + * the configuration information for SAI module. + * @param nbslot Number of slot. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_InitProtocol(SAI_HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the parameters */ + assert_param(IS_SAI_SUPPORTED_PROTOCOL(protocol)); + assert_param(IS_SAI_PROTOCOL_DATASIZE(datasize)); + + switch(protocol) + { + case SAI_I2S_STANDARD : + case SAI_I2S_MSBJUSTIFIED : + case SAI_I2S_LSBJUSTIFIED : + status = SAI_InitI2S(hsai, protocol, datasize, nbslot); + break; + case SAI_PCM_LONG : + case SAI_PCM_SHORT : + status = SAI_InitPCM(hsai, protocol, datasize, nbslot); + break; + default : + status = HAL_ERROR; + break; + } + + if(status == HAL_OK) + { + status = HAL_SAI_Init(hsai); + } + + return status; +} + +/** + * @brief Initialize the SAI according to the specified parameters. + * in the SAI_InitTypeDef structure and initialize the associated handle. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Init(SAI_HandleTypeDef *hsai) +{ + uint32_t tmpregisterGCR = 0; + uint32_t ckstr_bits = 0; + uint32_t syncen_bits = 0; + SAI_TypeDef *SaiBaseAddress; + + /* Check the SAI handle allocation */ + if(hsai == NULL) + { + return HAL_ERROR; + } + + /* check the instance */ + assert_param(IS_SAI_ALL_INSTANCE(hsai->Instance)); + + /* Check the SAI Block parameters */ + assert_param(IS_SAI_AUDIO_FREQUENCY(hsai->Init.AudioFrequency)); + assert_param(IS_SAI_BLOCK_PROTOCOL(hsai->Init.Protocol)); + assert_param(IS_SAI_BLOCK_MODE(hsai->Init.AudioMode)); + assert_param(IS_SAI_BLOCK_DATASIZE(hsai->Init.DataSize)); + assert_param(IS_SAI_BLOCK_FIRST_BIT(hsai->Init.FirstBit)); + assert_param(IS_SAI_BLOCK_CLOCK_STROBING(hsai->Init.ClockStrobing)); + assert_param(IS_SAI_BLOCK_SYNCHRO(hsai->Init.Synchro)); + assert_param(IS_SAI_BLOCK_OUTPUT_DRIVE(hsai->Init.OutputDrive)); + assert_param(IS_SAI_BLOCK_NODIVIDER(hsai->Init.NoDivider)); + assert_param(IS_SAI_BLOCK_FIFO_THRESHOLD(hsai->Init.FIFOThreshold)); + assert_param(IS_SAI_MONO_STEREO_MODE(hsai->Init.MonoStereoMode)); + assert_param(IS_SAI_BLOCK_COMPANDING_MODE(hsai->Init.CompandingMode)); + assert_param(IS_SAI_BLOCK_TRISTATE_MANAGEMENT(hsai->Init.TriState)); + assert_param(IS_SAI_BLOCK_SYNCEXT(hsai->Init.SynchroExt)); + assert_param(IS_SAI_BLOCK_MCK_OVERSAMPLING(hsai->Init.MckOverSampling)); + + /* Check the SAI Block Frame parameters */ + assert_param(IS_SAI_BLOCK_FRAME_LENGTH(hsai->FrameInit.FrameLength)); + assert_param(IS_SAI_BLOCK_ACTIVE_FRAME(hsai->FrameInit.ActiveFrameLength)); + assert_param(IS_SAI_BLOCK_FS_DEFINITION(hsai->FrameInit.FSDefinition)); + assert_param(IS_SAI_BLOCK_FS_POLARITY(hsai->FrameInit.FSPolarity)); + assert_param(IS_SAI_BLOCK_FS_OFFSET(hsai->FrameInit.FSOffset)); + + /* Check the SAI Block Slot parameters */ + assert_param(IS_SAI_BLOCK_FIRSTBIT_OFFSET(hsai->SlotInit.FirstBitOffset)); + assert_param(IS_SAI_BLOCK_SLOT_SIZE(hsai->SlotInit.SlotSize)); + assert_param(IS_SAI_BLOCK_SLOT_NUMBER(hsai->SlotInit.SlotNumber)); + assert_param(IS_SAI_SLOT_ACTIVE(hsai->SlotInit.SlotActive)); + + /* Check the SAI PDM parameters */ + assert_param(IS_FUNCTIONAL_STATE(hsai->Init.PdmInit.Activation)); + + if(hsai->Init.PdmInit.Activation == ENABLE) + { + /* Check the SAI PDM Microphone pairs number parameter */ + assert_param(IS_SAI_PDM_MIC_PAIRS_NUMBER(hsai->Init.PdmInit.MicPairsNbr)); + + /* Check the SAI PDM clock enable paramater */ + assert_param(IS_SAI_PDM_CLOCK_ENABLE(hsai->Init.PdmInit.ClockEnable)); + + /* The PDM function is intended to be used in conjunction with SAI_A sub-block + configured in TDM MASTER mode. It cannot be used with SAI_B sub-block. + Make sure that the SAI is already operating in TDM master mode before + enabling the PDM interface */ + if(((hsai->Instance != SAI1_Block_A) && (hsai->Instance != SAI2_Block_A) && \ + (hsai->Instance != SAI3_Block_A) && (hsai->Instance != SAI4_Block_A)) || \ + (hsai->Init.AudioMode != SAI_MODEMASTER_RX) || \ + (hsai->Init.Protocol != SAI_FREE_PROTOCOL)) + { + return HAL_ERROR; + } + } + + /* Get the SAI base address according to the SAI handle */ + if((hsai->Instance == SAI1_Block_A) || (hsai->Instance == SAI1_Block_B)) + { + SaiBaseAddress = SAI1; + } + else if((hsai->Instance == SAI2_Block_A) || (hsai->Instance == SAI2_Block_B)) + { + SaiBaseAddress = SAI2; + } + else if((hsai->Instance == SAI3_Block_A) || (hsai->Instance == SAI3_Block_B)) + { + SaiBaseAddress = SAI3; + } + else + { + SaiBaseAddress = SAI4; + } + + if(hsai->State == HAL_SAI_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hsai->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_SAI_MspInit(hsai); + } + + hsai->State = HAL_SAI_STATE_BUSY; + + /* Disable the selected SAI peripheral */ + SAI_Disable(hsai); + + /* SAI PDM Configuration -----------------------------------------*/ + /* Disable PDM interface */ + CLEAR_BIT(SaiBaseAddress->PDMCR, SAI_PDMCR_PDMEN); + + if(hsai->Init.PdmInit.Activation == ENABLE) + { + /* Configure and enable the PDM interface */ + SaiBaseAddress->PDMCR = (hsai->Init.PdmInit.ClockEnable | + ((hsai->Init.PdmInit.MicPairsNbr - 1) << SAI_PDMCR_MICNBR_OFFSET)); + SET_BIT(SaiBaseAddress->PDMCR, SAI_PDMCR_PDMEN); + } + + /* SAI Block Synchro Configuration -----------------------------------------*/ + /* This setting must be done with both audio block (A & B) disabled */ + switch(hsai->Init.SynchroExt) + { + case SAI_SYNCEXT_DISABLE : + tmpregisterGCR = 0; + break; + case SAI_SYNCEXT_OUTBLOCKA_ENABLE : + tmpregisterGCR = SAI_GCR_SYNCOUT_0; + break; + case SAI_SYNCEXT_OUTBLOCKB_ENABLE : + tmpregisterGCR = SAI_GCR_SYNCOUT_1; + break; + default: + break; + } + + switch(hsai->Init.Synchro) + { + case SAI_ASYNCHRONOUS : + { + syncen_bits = 0; + } + break; + case SAI_SYNCHRONOUS : + { + syncen_bits = SAI_xCR1_SYNCEN_0; + } + break; + case SAI_SYNCHRONOUS_EXT_SAI1 : + { + syncen_bits = SAI_xCR1_SYNCEN_1; + } + break; + case SAI_SYNCHRONOUS_EXT_SAI2 : + { + syncen_bits = SAI_xCR1_SYNCEN_1; + tmpregisterGCR |= SAI_GCR_SYNCIN_0; + } + break; + default: + break; + } + + /* Set the SAI Block Synchro Configuration */ + SaiBaseAddress->GCR = tmpregisterGCR; + + if(hsai->Init.AudioFrequency != SAI_AUDIO_FREQUENCY_MCKDIV) + { + uint32_t freq = 0; + uint32_t tmpval; + + if((hsai->Instance == SAI1_Block_A ) || (hsai->Instance == SAI1_Block_B )) + { + freq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SAI1); + } + if((hsai->Instance == SAI2_Block_A ) || (hsai->Instance == SAI2_Block_B )) + { + freq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SAI2); + } + if((hsai->Instance == SAI3_Block_A ) || (hsai->Instance == SAI3_Block_B )) + { + freq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SAI3); + } + if(hsai->Instance == SAI4_Block_A) + { + freq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SAI4A); + } + if(hsai->Instance == SAI4_Block_B) + { + freq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SAI4B); + } + + /* Configure Master Clock using the following formula : + If NOMCK = 1 + MCKDIV[5:0] = SAI_CK_x / (FS * (FRL + 1)) + If NOMCK = 0 + MCKDIV[5:0] = SAI_CK_x / (FS * (OSR + 1) * 256) */ + if(hsai->Init.NoDivider == SAI_MASTERDIVIDER_DISABLE) + { + /* (freq x 10) to keep Significant digits */ + tmpval = (freq * 10) / (hsai->Init.AudioFrequency * hsai->FrameInit.FrameLength); + } + else + { + /* NOMCK = 0 */ + uint32_t tmposr; + + tmposr = (hsai->Init.MckOverSampling == SAI_MCK_OVERSAMPLING_ENABLE)? 2 : 1; + + /* (freq x 10) to keep Significant digits */ + tmpval = (freq * 10) / (hsai->Init.AudioFrequency * tmposr * 256); + } + + hsai->Init.Mckdiv = tmpval / 10; + + /* Round result to the nearest integer */ + if((tmpval % 10) > 8) + { + hsai->Init.Mckdiv += 1; + } + } + + /* Compute CKSTR bits of SAI CR1 according ClockStrobing and AudioMode */ + if((hsai->Init.AudioMode == SAI_MODEMASTER_TX) || (hsai->Init.AudioMode == SAI_MODESLAVE_TX)) + { /* Transmit */ + ckstr_bits = (hsai->Init.ClockStrobing == SAI_CLOCKSTROBING_RISINGEDGE) ? 0 : SAI_xCR1_CKSTR; + } + else + { /* Receive */ + ckstr_bits = (hsai->Init.ClockStrobing == SAI_CLOCKSTROBING_RISINGEDGE) ? SAI_xCR1_CKSTR : 0; + } + + /* SAI Block Configuration -------------------------------------------------*/ + /* SAI CR1 Configuration */ + hsai->Instance->CR1 &=~ (SAI_xCR1_MODE | SAI_xCR1_PRTCFG | SAI_xCR1_DS | \ + SAI_xCR1_LSBFIRST | SAI_xCR1_CKSTR | SAI_xCR1_SYNCEN |\ + SAI_xCR1_MONO | SAI_xCR1_OUTDRIV | SAI_xCR1_DMAEN | \ + SAI_xCR1_NOMCK | SAI_xCR1_MCKDIV); + + hsai->Instance->CR1 |= (hsai->Init.AudioMode | hsai->Init.Protocol | \ + hsai->Init.DataSize | hsai->Init.FirstBit | \ + ckstr_bits | syncen_bits | \ + hsai->Init.MonoStereoMode | hsai->Init.OutputDrive | \ + hsai->Init.NoDivider | (hsai->Init.Mckdiv << 20) | \ + hsai->Init.MckOverSampling); + + /* SAI CR2 Configuration */ + hsai->Instance->CR2 &= ~(SAI_xCR2_FTH | SAI_xCR2_FFLUSH | SAI_xCR2_COMP | SAI_xCR2_CPL); + hsai->Instance->CR2 |= (hsai->Init.FIFOThreshold | hsai->Init.CompandingMode | hsai->Init.TriState); + + /* SAI Frame Configuration -----------------------------------------*/ + hsai->Instance->FRCR &= (~(SAI_xFRCR_FRL | SAI_xFRCR_FSALL | SAI_xFRCR_FSDEF | \ + SAI_xFRCR_FSPOL | SAI_xFRCR_FSOFF)); + hsai->Instance->FRCR |= ((hsai->FrameInit.FrameLength - 1) | \ + hsai->FrameInit.FSOffset | \ + hsai->FrameInit.FSDefinition | \ + hsai->FrameInit.FSPolarity | \ + ((hsai->FrameInit.ActiveFrameLength - 1) << 8)); + + /* SAI Block_x SLOT Configuration ------------------------------------------*/ + /* This register has no meaning in AC 97 and SPDIF audio protocol */ + hsai->Instance->SLOTR &= (~(SAI_xSLOTR_FBOFF | SAI_xSLOTR_SLOTSZ | \ + SAI_xSLOTR_NBSLOT | SAI_xSLOTR_SLOTEN )); + + hsai->Instance->SLOTR |= hsai->SlotInit.FirstBitOffset | hsai->SlotInit.SlotSize | \ + (hsai->SlotInit.SlotActive << 16) | ((hsai->SlotInit.SlotNumber - 1) << 8); + + /* Initialize the error code */ + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + + /* Initialize the SAI state */ + hsai->State= HAL_SAI_STATE_READY; + + /* Release Lock */ + __HAL_UNLOCK(hsai); + + return HAL_OK; +} + +/** + * @brief DeInitialize the SAI peripheral. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_DeInit(SAI_HandleTypeDef *hsai) +{ + SAI_TypeDef *SaiBaseAddress; + + /* Check the SAI handle allocation */ + if(hsai == NULL) + { + return HAL_ERROR; + } + + hsai->State = HAL_SAI_STATE_BUSY; + + /* Disabled All interrupt and clear all the flag */ + hsai->Instance->IMR = 0; + hsai->Instance->CLRFR = 0xFFFFFFFFU; + + /* Disable the SAI PDM interface */ + if((hsai->Instance == SAI1_Block_A) || (hsai->Instance == SAI2_Block_A) || \ + (hsai->Instance == SAI3_Block_A) || (hsai->Instance == SAI4_Block_A)) + { + /* Get the SAI base address according to the SAI handle */ + SaiBaseAddress = (hsai->Instance == SAI1_Block_A) ? SAI1 : \ + ((hsai->Instance == SAI2_Block_A) ? SAI2 : \ + ((hsai->Instance == SAI3_Block_A) ? SAI3 : SAI4)); + + /* Disable PDM interface */ + CLEAR_BIT(SaiBaseAddress->PDMCR, SAI_PDMCR_PDMEN); + } + + /* Disable the SAI */ + SAI_Disable(hsai); + + /* Flush the fifo */ + SET_BIT(hsai->Instance->CR2, SAI_xCR2_FFLUSH); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC and DMA */ + HAL_SAI_MspDeInit(hsai); + + /* Initialize the error code */ + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + + /* Initialize the SAI state */ + hsai->State = HAL_SAI_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hsai); + + return HAL_OK; +} + +/** + * @brief Initialize the SAI MSP. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +__weak void HAL_SAI_MspInit(SAI_HandleTypeDef *hsai) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsai); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SAI_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize the SAI MSP. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +__weak void HAL_SAI_MspDeInit(SAI_HandleTypeDef *hsai) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsai); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SAI_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SAI_Exported_Functions_Group2 IO operation functions + * @brief Data transfers functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to manage the SAI data + transfers. + + (+) There are two modes of transfer: + (++) Blocking mode : The communication is performed in the polling mode. + The status of all data processing is returned by the same function + after finishing transfer. + (++) No-Blocking mode : The communication is performed using Interrupts + or DMA. These functions return the status of the transfer startup. + The end of the data processing will be indicated through the + dedicated SAI IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + + (+) Blocking mode functions are : + (++) HAL_SAI_Transmit() + (++) HAL_SAI_Receive() + + (+) Non Blocking mode functions with Interrupt are : + (++) HAL_SAI_Transmit_IT() + (++) HAL_SAI_Receive_IT() + + (+) Non Blocking mode functions with DMA are : + (++) HAL_SAI_Transmit_DMA() + (++) HAL_SAI_Receive_DMA() + + (+) A set of Transfer Complete Callbacks are provided in non Blocking mode: + (++) HAL_SAI_TxCpltCallback() + (++) HAL_SAI_RxCpltCallback() + (++) HAL_SAI_ErrorCallback() + +@endverbatim + * @{ + */ + +/** + * @brief Transmit an amount of data in blocking mode. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param pData Pointer to data buffer + * @param Size Amount of data to be sent + * @param Timeout Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Transmit(SAI_HandleTypeDef *hsai, uint8_t* pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + if((pData == NULL ) || (Size == 0)) + { + return HAL_ERROR; + } + + if(hsai->State == HAL_SAI_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsai); + + hsai->XferSize = Size; + hsai->XferCount = Size; + hsai->pBuffPtr = pData; + hsai->State = HAL_SAI_STATE_BUSY_TX; + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + + /* Check if the SAI is already enabled */ + if((hsai->Instance->CR1 & SAI_xCR1_SAIEN) == RESET) + { + /* fill the fifo with data before to enabled the SAI */ + SAI_FillFifo(hsai); + /* Enable SAI peripheral */ + __HAL_SAI_ENABLE(hsai); + } + + while(hsai->XferCount > 0) + { + /* Write data if the FIFO is not full */ + if((hsai->Instance->SR & SAI_xSR_FLVL) != SAI_FIFOSTATUS_FULL) + { + if((hsai->Init.DataSize == SAI_DATASIZE_8) && (hsai->Init.CompandingMode == SAI_NOCOMPANDING)) + { + hsai->Instance->DR = (*hsai->pBuffPtr++); + } + else if(hsai->Init.DataSize <= SAI_DATASIZE_16) + { + hsai->Instance->DR = *((uint16_t *)hsai->pBuffPtr); + hsai->pBuffPtr+= 2; + } + else + { + hsai->Instance->DR = *((uint32_t *)hsai->pBuffPtr); + hsai->pBuffPtr+= 4; + } + hsai->XferCount--; + } + else + { + /* Check for the Timeout */ + if((Timeout != HAL_MAX_DELAY) && ((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout))) + { + /* Update error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_TIMEOUT; + + /* Clear all the flags */ + hsai->Instance->CLRFR = 0xFFFFFFFFU; + + /* Disable SAI peripheral */ + SAI_Disable(hsai); + + /* Flush the fifo */ + SET_BIT(hsai->Instance->CR2, SAI_xCR2_FFLUSH); + + /* Change the SAI state */ + hsai->State = HAL_SAI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_ERROR; + } + } + } + + hsai->State = HAL_SAI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in blocking mode. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param pData Pointer to data buffer + * @param Size Amount of data to be received + * @param Timeout Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Receive(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + if((pData == NULL ) || (Size == 0)) + { + return HAL_ERROR; + } + + if(hsai->State == HAL_SAI_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsai); + + hsai->pBuffPtr = pData; + hsai->XferSize = Size; + hsai->XferCount = Size; + hsai->State = HAL_SAI_STATE_BUSY_RX; + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + + /* Check if the SAI is already enabled */ + if((hsai->Instance->CR1 & SAI_xCR1_SAIEN) == RESET) + { + /* Enable SAI peripheral */ + __HAL_SAI_ENABLE(hsai); + } + + /* Receive data */ + while(hsai->XferCount > 0) + { + if((hsai->Instance->SR & SAI_xSR_FLVL) != SAI_FIFOSTATUS_EMPTY) + { + if((hsai->Init.DataSize == SAI_DATASIZE_8) && (hsai->Init.CompandingMode == SAI_NOCOMPANDING)) + { + (*hsai->pBuffPtr++) = hsai->Instance->DR; + } + else if(hsai->Init.DataSize <= SAI_DATASIZE_16) + { + *((uint16_t*)hsai->pBuffPtr) = hsai->Instance->DR; + hsai->pBuffPtr+= 2; + } + else + { + *((uint32_t*)hsai->pBuffPtr) = hsai->Instance->DR; + hsai->pBuffPtr+= 4; + } + hsai->XferCount--; + } + else + { + /* Check for the Timeout */ + if((Timeout != HAL_MAX_DELAY) && ((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout))) + { + /* Update error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_TIMEOUT; + + /* Clear all the flags */ + hsai->Instance->CLRFR = 0xFFFFFFFFU; + + /* Disable SAI peripheral */ + SAI_Disable(hsai); + + /* Flush the fifo */ + SET_BIT(hsai->Instance->CR2, SAI_xCR2_FFLUSH); + + /* Change the SAI state */ + hsai->State = HAL_SAI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_ERROR; + } + } + } + + hsai->State = HAL_SAI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Transmit an amount of data in non-blocking mode with Interrupt. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param pData Pointer to data buffer + * @param Size Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Transmit_IT(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) +{ + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + if(hsai->State == HAL_SAI_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsai); + + hsai->pBuffPtr = pData; + hsai->XferSize = Size; + hsai->XferCount = Size; + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + hsai->State = HAL_SAI_STATE_BUSY_TX; + + if((hsai->Init.DataSize == SAI_DATASIZE_8) && (hsai->Init.CompandingMode == SAI_NOCOMPANDING)) + { + hsai->InterruptServiceRoutine = SAI_Transmit_IT8Bit; + } + else if(hsai->Init.DataSize <= SAI_DATASIZE_16) + { + hsai->InterruptServiceRoutine = SAI_Transmit_IT16Bit; + } + else + { + hsai->InterruptServiceRoutine = SAI_Transmit_IT32Bit; + } + + /* Fill the fifo before starting the communication */ + SAI_FillFifo(hsai); + + /* Enable FRQ and OVRUDR interrupts */ + __HAL_SAI_ENABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + + /* Check if the SAI is already enabled */ + if((hsai->Instance->CR1 & SAI_xCR1_SAIEN) == RESET) + { + /* Enable SAI peripheral */ + __HAL_SAI_ENABLE(hsai); + } + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in non-blocking mode with Interrupt. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param pData Pointer to data buffer + * @param Size Amount of data to be received + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Receive_IT(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) +{ + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + if(hsai->State == HAL_SAI_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsai); + + hsai->pBuffPtr = pData; + hsai->XferSize = Size; + hsai->XferCount = Size; + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + hsai->State = HAL_SAI_STATE_BUSY_RX; + + if((hsai->Init.DataSize == SAI_DATASIZE_8) && (hsai->Init.CompandingMode == SAI_NOCOMPANDING)) + { + hsai->InterruptServiceRoutine = SAI_Receive_IT8Bit; + } + else if(hsai->Init.DataSize <= SAI_DATASIZE_16) + { + hsai->InterruptServiceRoutine = SAI_Receive_IT16Bit; + } + else + { + hsai->InterruptServiceRoutine = SAI_Receive_IT32Bit; + } + + /* Enable TXE and OVRUDR interrupts */ + __HAL_SAI_ENABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + + /* Check if the SAI is already enabled */ + if((hsai->Instance->CR1 & SAI_xCR1_SAIEN) == RESET) + { + /* Enable SAI peripheral */ + __HAL_SAI_ENABLE(hsai); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Pause the audio stream playing from the Media. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_DMAPause(SAI_HandleTypeDef *hsai) +{ + /* Process Locked */ + __HAL_LOCK(hsai); + + /* Pause the audio file playing by disabling the SAI DMA requests */ + hsai->Instance->CR1 &= ~SAI_xCR1_DMAEN; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; +} + +/** + * @brief Resume the audio stream playing from the Media. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_DMAResume(SAI_HandleTypeDef *hsai) +{ + /* Process Locked */ + __HAL_LOCK(hsai); + + /* Enable the SAI DMA requests */ + hsai->Instance->CR1 |= SAI_xCR1_DMAEN; + + /* If the SAI peripheral is still not enabled, enable it */ + if ((hsai->Instance->CR1 & SAI_xCR1_SAIEN) == RESET) + { + /* Enable SAI peripheral */ + __HAL_SAI_ENABLE(hsai); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; +} + +/** + * @brief Stop the audio stream playing from the Media. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_DMAStop(SAI_HandleTypeDef *hsai) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(hsai); + + /* Disable the SAI DMA request */ + hsai->Instance->CR1 &= ~SAI_xCR1_DMAEN; + + /* Abort the SAI Tx DMA Stream */ + if((hsai->hdmatx != NULL) && (hsai->State == HAL_SAI_STATE_BUSY_TX)) + { + if(HAL_DMA_Abort(hsai->hdmatx) != HAL_OK) + { + /* If the DMA Tx errorCode is different from DMA No Transfer then return Error */ + if(hsai->hdmatx->ErrorCode != HAL_DMA_ERROR_NO_XFER) + { + status = HAL_ERROR; + } + } + } + + /* Abort the SAI Rx DMA Stream */ + if((hsai->hdmarx != NULL) && (hsai->State == HAL_SAI_STATE_BUSY_RX)) + { + if(HAL_DMA_Abort(hsai->hdmarx) != HAL_OK) + { + /* If the DMA Rx errorCode is different from DMA No Transfer then return Error */ + if(hsai->hdmarx->ErrorCode != HAL_DMA_ERROR_NO_XFER) + { + status = HAL_ERROR; + } + } + } + + /* Disable SAI peripheral */ + SAI_Disable(hsai); + + /* Set hsai state to ready */ + hsai->State = HAL_SAI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return status; +} + +/** + * @brief Abort the current transfer and disable the SAI. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Abort(SAI_HandleTypeDef *hsai) +{ + /* Process Locked */ + __HAL_LOCK(hsai); + + /* Check SAI DMA is enabled or not */ + if((hsai->Instance->CR1 & SAI_xCR1_DMAEN) == SAI_xCR1_DMAEN) + { + /* Disable the SAI DMA request */ + hsai->Instance->CR1 &= ~SAI_xCR1_DMAEN; + + /* Abort the SAI DMA Streams */ + if(hsai->hdmatx != NULL) + { + if(HAL_DMA_Abort(hsai->hdmatx) != HAL_OK) + { + return HAL_ERROR; + } + } + + if(hsai->hdmarx != NULL) + { + if(HAL_DMA_Abort(hsai->hdmarx) != HAL_OK) + { + return HAL_ERROR; + } + } + } + + /* Disabled All interrupt and clear all the flag */ + hsai->Instance->IMR = 0; + hsai->Instance->CLRFR = 0xFFFFFFFFU; + + /* Disable SAI peripheral */ + SAI_Disable(hsai); + + /* Flush the fifo */ + SET_BIT(hsai->Instance->CR2, SAI_xCR2_FFLUSH); + + hsai->State = HAL_SAI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; +} + +/** + * @brief Transmit an amount of data in non-blocking mode with DMA. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param pData Pointer to data buffer + * @param Size Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Transmit_DMA(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) +{ + uint32_t tickstart = HAL_GetTick(); + + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + if(hsai->State == HAL_SAI_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsai); + + hsai->pBuffPtr = pData; + hsai->XferSize = Size; + hsai->XferCount = Size; + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + hsai->State = HAL_SAI_STATE_BUSY_TX; + + /* Set the SAI Tx DMA Half transfer complete callback */ + hsai->hdmatx->XferHalfCpltCallback = SAI_DMATxHalfCplt; + + /* Set the SAI TxDMA transfer complete callback */ + hsai->hdmatx->XferCpltCallback = SAI_DMATxCplt; + + /* Set the DMA error callback */ + hsai->hdmatx->XferErrorCallback = SAI_DMAError; + + /* Set the DMA Tx abort callback */ + hsai->hdmatx->XferAbortCallback = NULL; + + /* Enable the Tx DMA Stream */ + if(HAL_DMA_Start_IT(hsai->hdmatx, (uint32_t)hsai->pBuffPtr, (uint32_t)&hsai->Instance->DR, hsai->XferSize) != HAL_OK) + { + __HAL_UNLOCK(hsai); + return HAL_ERROR; + } + + /* Enable the interrupts for error handling */ + __HAL_SAI_ENABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_DMA)); + + /* Enable SAI Tx DMA Request */ + hsai->Instance->CR1 |= SAI_xCR1_DMAEN; + + /* Wait untill FIFO is not empty */ + while((hsai->Instance->SR & SAI_xSR_FLVL) == SAI_FIFOSTATUS_EMPTY) + { + /* Check for the Timeout */ + if((HAL_GetTick() - tickstart) > SAI_LONG_TIMEOUT) + { + /* Update error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_TIMEOUT; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_TIMEOUT; + } + } + + /* Check if the SAI is already enabled */ + if((hsai->Instance->CR1 & SAI_xCR1_SAIEN) == RESET) + { + /* Enable SAI peripheral */ + __HAL_SAI_ENABLE(hsai); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in non-blocking mode with DMA. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param pData Pointer to data buffer + * @param Size Amount of data to be received + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_Receive_DMA(SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) +{ + + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + if(hsai->State == HAL_SAI_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsai); + + hsai->pBuffPtr = pData; + hsai->XferSize = Size; + hsai->XferCount = Size; + hsai->ErrorCode = HAL_SAI_ERROR_NONE; + hsai->State = HAL_SAI_STATE_BUSY_RX; + + /* Set the SAI Rx DMA Half transfer complete callback */ + hsai->hdmarx->XferHalfCpltCallback = SAI_DMARxHalfCplt; + + /* Set the SAI Rx DMA transfer complete callback */ + hsai->hdmarx->XferCpltCallback = SAI_DMARxCplt; + + /* Set the DMA error callback */ + hsai->hdmarx->XferErrorCallback = SAI_DMAError; + + /* Set the DMA Rx abort callback */ + hsai->hdmarx->XferAbortCallback = NULL; + + /* Enable the Rx DMA Stream */ + if(HAL_DMA_Start_IT(hsai->hdmarx, (uint32_t)&hsai->Instance->DR, (uint32_t)hsai->pBuffPtr, hsai->XferSize) != HAL_OK) + { + __HAL_UNLOCK(hsai); + return HAL_ERROR; + } + + /* Check if the SAI is already enabled */ + if((hsai->Instance->CR1 & SAI_xCR1_SAIEN) == RESET) + { + /* Enable SAI peripheral */ + __HAL_SAI_ENABLE(hsai); + } + + /* Enable the interrupts for error handling */ + __HAL_SAI_ENABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_DMA)); + + /* Enable SAI Rx DMA Request */ + hsai->Instance->CR1 |= SAI_xCR1_DMAEN; + + /* Process Unlocked */ + __HAL_UNLOCK(hsai); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Enable the Tx mute mode. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param val value sent during the mute @ref SAI_Block_Mute_Value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_EnableTxMuteMode(SAI_HandleTypeDef *hsai, uint16_t val) +{ + assert_param(IS_SAI_BLOCK_MUTE_VALUE(val)); + + if(hsai->State != HAL_SAI_STATE_RESET) + { + CLEAR_BIT(hsai->Instance->CR2, SAI_xCR2_MUTEVAL | SAI_xCR2_MUTE); + SET_BIT(hsai->Instance->CR2, SAI_xCR2_MUTE | val); + return HAL_OK; + } + return HAL_ERROR; +} + +/** + * @brief Disable the Tx mute mode. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_DisableTxMuteMode(SAI_HandleTypeDef *hsai) +{ + if(hsai->State != HAL_SAI_STATE_RESET) + { + CLEAR_BIT(hsai->Instance->CR2, SAI_xCR2_MUTEVAL | SAI_xCR2_MUTE); + return HAL_OK; + } + return HAL_ERROR; +} + +/** + * @brief Enable the Rx mute detection. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param callback function called when the mute is detected. + * @param counter number a data before mute detection max 63. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_EnableRxMuteMode(SAI_HandleTypeDef *hsai, SAIcallback callback, uint16_t counter) +{ + assert_param(IS_SAI_BLOCK_MUTE_COUNTER(counter)); + + if(hsai->State != HAL_SAI_STATE_RESET) + { + /* set the mute counter */ + CLEAR_BIT(hsai->Instance->CR2, SAI_xCR2_MUTECNT); + SET_BIT(hsai->Instance->CR2, (uint32_t)((uint32_t)counter << SAI_xCR2_MUTECNT_OFFSET)); + hsai->mutecallback = callback; + /* enable the IT interrupt */ + __HAL_SAI_ENABLE_IT(hsai, SAI_IT_MUTEDET); + return HAL_OK; + } + return HAL_ERROR; +} + +/** + * @brief Disable the Rx mute detection. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAI_DisableRxMuteMode(SAI_HandleTypeDef *hsai) +{ + if(hsai->State != HAL_SAI_STATE_RESET) + { + /* set the mutecallback to NULL */ + hsai->mutecallback = (SAIcallback)NULL; + /* enable the IT interrupt */ + __HAL_SAI_DISABLE_IT(hsai, SAI_IT_MUTEDET); + return HAL_OK; + } + return HAL_ERROR; +} + +/** + * @brief Handle SAI interrupt request. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +void HAL_SAI_IRQHandler(SAI_HandleTypeDef *hsai) +{ + if(hsai->State != HAL_SAI_STATE_RESET) + { + uint32_t itflags = hsai->Instance->SR; + uint32_t itsources = hsai->Instance->IMR; + uint32_t cr1config = hsai->Instance->CR1; + uint32_t tmperror; + + /* SAI Fifo request interrupt occured ------------------------------------*/ + if(((itflags & SAI_xSR_FREQ) == SAI_xSR_FREQ) && ((itsources & SAI_IT_FREQ) == SAI_IT_FREQ)) + { + hsai->InterruptServiceRoutine(hsai); + } + /* SAI Overrun error interrupt occurred ----------------------------------*/ + else if(((itflags & SAI_FLAG_OVRUDR) == SAI_FLAG_OVRUDR) && ((itsources & SAI_IT_OVRUDR) == SAI_IT_OVRUDR)) + { + /* Clear the SAI Overrun flag */ + __HAL_SAI_CLEAR_FLAG(hsai, SAI_FLAG_OVRUDR); + /* Get the SAI error code */ + tmperror = ((hsai->State == HAL_SAI_STATE_BUSY_RX) ? HAL_SAI_ERROR_OVR : HAL_SAI_ERROR_UDR); + /* Change the SAI error code */ + hsai->ErrorCode |= tmperror; + /* the transfer is not stopped, we will forward the information to the user and we let the user decide what needs to be done */ + HAL_SAI_ErrorCallback(hsai); + } + /* SAI mutedet interrupt occurred ----------------------------------*/ + else if(((itflags & SAI_FLAG_MUTEDET) == SAI_FLAG_MUTEDET) && ((itsources & SAI_IT_MUTEDET) == SAI_IT_MUTEDET)) + { + /* Clear the SAI mutedet flag */ + __HAL_SAI_CLEAR_FLAG(hsai, SAI_FLAG_MUTEDET); + /* call the call back function */ + if(hsai->mutecallback != (SAIcallback)NULL) + { + /* inform the user that an RX mute event has been detected */ + hsai->mutecallback(); + } + } + /* SAI AFSDET interrupt occurred ----------------------------------*/ + else if(((itflags & SAI_FLAG_AFSDET) == SAI_FLAG_AFSDET) && ((itsources & SAI_IT_AFSDET) == SAI_IT_AFSDET)) + { + /* Change the SAI error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_AFSDET; + + /* Check SAI DMA is enabled or not */ + if((cr1config & SAI_xCR1_DMAEN) == SAI_xCR1_DMAEN) + { + /* Abort the SAI DMA Streams */ + if(hsai->hdmatx != NULL) + { + /* Set the DMA Tx abort callback */ + hsai->hdmatx->XferAbortCallback = SAI_DMAAbort; + + /* Abort DMA in IT mode */ + HAL_DMA_Abort_IT(hsai->hdmatx); + } + else if(hsai->hdmarx != NULL) + { + /* Set the DMA Rx abort callback */ + hsai->hdmarx->XferAbortCallback = SAI_DMAAbort; + + /* Abort DMA in IT mode */ + HAL_DMA_Abort_IT(hsai->hdmarx); + } + } + else + { + /* Abort SAI */ + HAL_SAI_Abort(hsai); + + /* Set error callback */ + HAL_SAI_ErrorCallback(hsai); + } + } + /* SAI LFSDET interrupt occurred ----------------------------------*/ + else if(((itflags & SAI_FLAG_LFSDET) == SAI_FLAG_LFSDET) && ((itsources & SAI_IT_LFSDET) == SAI_IT_LFSDET)) + { + /* Change the SAI error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_LFSDET; + + /* Check SAI DMA is enabled or not */ + if((cr1config & SAI_xCR1_DMAEN) == SAI_xCR1_DMAEN) + { + /* Abort the SAI DMA Streams */ + if(hsai->hdmatx != NULL) + { + /* Set the DMA Tx abort callback */ + hsai->hdmatx->XferAbortCallback = SAI_DMAAbort; + + /* Abort DMA in IT mode */ + HAL_DMA_Abort_IT(hsai->hdmatx); + } + else if(hsai->hdmarx != NULL) + { + /* Set the DMA Rx abort callback */ + hsai->hdmarx->XferAbortCallback = SAI_DMAAbort; + + /* Abort DMA in IT mode */ + HAL_DMA_Abort_IT(hsai->hdmarx); + } + } + else + { + /* Abort SAI */ + HAL_SAI_Abort(hsai); + + /* Set error callback */ + HAL_SAI_ErrorCallback(hsai); + } + } + /* SAI WCKCFG interrupt occurred ----------------------------------*/ + else if(((itflags & SAI_FLAG_WCKCFG) == SAI_FLAG_WCKCFG) && ((itsources & SAI_IT_WCKCFG) == SAI_IT_WCKCFG)) + { + /* Change the SAI error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_WCKCFG; + + /* Check SAI DMA is enabled or not */ + if((cr1config & SAI_xCR1_DMAEN) == SAI_xCR1_DMAEN) + { + /* Abort the SAI DMA Streams */ + if(hsai->hdmatx != NULL) + { + /* Set the DMA Tx abort callback */ + hsai->hdmatx->XferAbortCallback = SAI_DMAAbort; + + /* Abort DMA in IT mode */ + HAL_DMA_Abort_IT(hsai->hdmatx); + } + else if(hsai->hdmarx != NULL) + { + /* Set the DMA Rx abort callback */ + hsai->hdmarx->XferAbortCallback = SAI_DMAAbort; + + /* Abort DMA in IT mode */ + HAL_DMA_Abort_IT(hsai->hdmarx); + } + } + else + { + /* If WCKCFG occurs, SAI audio block is automatically disabled */ + /* Disable all interrupts and clear all flags */ + hsai->Instance->IMR = 0U; + hsai->Instance->CLRFR = 0xFFFFFFFFU; + /* Set the SAI state to ready to be able to start again the process */ + hsai->State = HAL_SAI_STATE_READY; + + /* Initialize XferCount */ + hsai->XferCount = 0U; + + /* SAI error Callback */ + HAL_SAI_ErrorCallback(hsai); + } + } + /* SAI CNRDY interrupt occurred ----------------------------------*/ + else if(((itflags & SAI_FLAG_CNRDY) == SAI_FLAG_CNRDY) && ((itsources & SAI_IT_CNRDY) == SAI_IT_CNRDY)) + { + /* Clear the SAI CNRDY flag */ + __HAL_SAI_CLEAR_FLAG(hsai, SAI_FLAG_CNRDY); + /* Change the SAI error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_CNREADY; + /* the transfer is not stopped, we will forward the information to the user and we let the user decide what needs to be done */ + HAL_SAI_ErrorCallback(hsai); + } + else + { + /* Nothing to do */ + } + } +} + +/** + * @brief Tx Transfer completed callback. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +__weak void HAL_SAI_TxCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsai); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SAI_TxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Tx Transfer Half completed callback. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +__weak void HAL_SAI_TxHalfCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsai); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SAI_TxHalfCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +__weak void HAL_SAI_RxCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsai); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SAI_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer half completed callback. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +__weak void HAL_SAI_RxHalfCpltCallback(SAI_HandleTypeDef *hsai) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsai); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SAI_RxHalfCpltCallback could be implemented in the user file + */ +} + +/** + * @brief SAI error callback. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +__weak void HAL_SAI_ErrorCallback(SAI_HandleTypeDef *hsai) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsai); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SAI_ErrorCallback could be implemented in the user file + */ +} + +/** + * @} + */ + + +/** @defgroup SAI_Exported_Functions_Group3 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + =============================================================================== + ##### Peripheral State and Errors functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the SAI handle state. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval HAL state + */ +HAL_SAI_StateTypeDef HAL_SAI_GetState(SAI_HandleTypeDef *hsai) +{ + return hsai->State; +} + +/** +* @brief Return the SAI error code. +* @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for the specified SAI Block. +* @retval SAI Error Code +*/ +uint32_t HAL_SAI_GetError(SAI_HandleTypeDef *hsai) +{ + return hsai->ErrorCode; +} +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup SAI_Private_Functions + * @brief Private functions + * @{ + */ + +/** + * @brief Initialize the SAI I2S protocol according to the specified parameters + * in the SAI_InitTypeDef and create the associated handle. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param protocol one of the supported protocol. + * @param datasize one of the supported datasize @ref SAI_Protocol_DataSize. + * @param nbslot number of slot minimum value is 2 and max is 16. + * the value must be a multiple of 2. + * @retval HAL status + */ +static HAL_StatusTypeDef SAI_InitI2S(SAI_HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot) +{ + hsai->Init.Protocol = SAI_FREE_PROTOCOL; + hsai->Init.FirstBit = SAI_FIRSTBIT_MSB; + /* Compute ClockStrobing according AudioMode */ + if((hsai->Init.AudioMode == SAI_MODEMASTER_TX) || (hsai->Init.AudioMode == SAI_MODESLAVE_TX)) + { /* Transmit */ + hsai->Init.ClockStrobing = SAI_CLOCKSTROBING_FALLINGEDGE; + } + else + { /* Receive */ + hsai->Init.ClockStrobing = SAI_CLOCKSTROBING_RISINGEDGE; + } + hsai->FrameInit.FSDefinition = SAI_FS_CHANNEL_IDENTIFICATION; + hsai->SlotInit.SlotActive = SAI_SLOTACTIVE_ALL; + hsai->SlotInit.FirstBitOffset = 0; + hsai->SlotInit.SlotNumber = nbslot; + + /* in IS2 the number of slot must be even */ + if((nbslot & 0x1) != 0 ) + { + return HAL_ERROR; + } + + switch(protocol) + { + case SAI_I2S_STANDARD : + hsai->FrameInit.FSPolarity = SAI_FS_ACTIVE_LOW; + hsai->FrameInit.FSOffset = SAI_FS_BEFOREFIRSTBIT; + break; + case SAI_I2S_MSBJUSTIFIED : + case SAI_I2S_LSBJUSTIFIED : + hsai->FrameInit.FSPolarity = SAI_FS_ACTIVE_HIGH; + hsai->FrameInit.FSOffset = SAI_FS_FIRSTBIT; + break; + default : + return HAL_ERROR; + } + + /* Frame definition */ + switch(datasize) + { + case SAI_PROTOCOL_DATASIZE_16BIT: + hsai->Init.DataSize = SAI_DATASIZE_16; + hsai->FrameInit.FrameLength = 32*(nbslot/2); + hsai->FrameInit.ActiveFrameLength = 16*(nbslot/2); + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_16B; + break; + case SAI_PROTOCOL_DATASIZE_16BITEXTENDED : + hsai->Init.DataSize = SAI_DATASIZE_16; + hsai->FrameInit.FrameLength = 64*(nbslot/2); + hsai->FrameInit.ActiveFrameLength = 32*(nbslot/2); + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_32B; + break; + case SAI_PROTOCOL_DATASIZE_24BIT: + hsai->Init.DataSize = SAI_DATASIZE_24; + hsai->FrameInit.FrameLength = 64*(nbslot/2); + hsai->FrameInit.ActiveFrameLength = 32*(nbslot/2); + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_32B; + break; + case SAI_PROTOCOL_DATASIZE_32BIT: + hsai->Init.DataSize = SAI_DATASIZE_32; + hsai->FrameInit.FrameLength = 64*(nbslot/2); + hsai->FrameInit.ActiveFrameLength = 32*(nbslot/2); + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_32B; + break; + default : + return HAL_ERROR; + } + if(protocol == SAI_I2S_LSBJUSTIFIED) + { + if (datasize == SAI_PROTOCOL_DATASIZE_16BITEXTENDED) + { + hsai->SlotInit.FirstBitOffset = 16; + } + if (datasize == SAI_PROTOCOL_DATASIZE_24BIT) + { + hsai->SlotInit.FirstBitOffset = 8; + } + } + return HAL_OK; +} + +/** + * @brief Initialize the SAI PCM protocol according to the specified parameters + * in the SAI_InitTypeDef and create the associated handle. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param protocol one of the supported protocol + * @param datasize one of the supported datasize @ref SAI_Protocol_DataSize + * @param nbslot number of slot minimum value is 1 and the max is 16. + * @retval HAL status + */ +static HAL_StatusTypeDef SAI_InitPCM(SAI_HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot) +{ + hsai->Init.Protocol = SAI_FREE_PROTOCOL; + hsai->Init.FirstBit = SAI_FIRSTBIT_MSB; + /* Compute ClockStrobing according AudioMode */ + if((hsai->Init.AudioMode == SAI_MODEMASTER_TX) || (hsai->Init.AudioMode == SAI_MODESLAVE_TX)) + { /* Transmit */ + hsai->Init.ClockStrobing = SAI_CLOCKSTROBING_RISINGEDGE; + } + else + { /* Receive */ + hsai->Init.ClockStrobing = SAI_CLOCKSTROBING_FALLINGEDGE; + } + hsai->FrameInit.FSDefinition = SAI_FS_STARTFRAME; + hsai->FrameInit.FSPolarity = SAI_FS_ACTIVE_HIGH; + hsai->FrameInit.FSOffset = SAI_FS_BEFOREFIRSTBIT; + hsai->SlotInit.FirstBitOffset = 0; + hsai->SlotInit.SlotNumber = nbslot; + hsai->SlotInit.SlotActive = SAI_SLOTACTIVE_ALL; + + switch(protocol) + { + case SAI_PCM_SHORT : + hsai->FrameInit.ActiveFrameLength = 1; + break; + case SAI_PCM_LONG : + hsai->FrameInit.ActiveFrameLength = 13; + break; + default : + return HAL_ERROR; + } + + switch(datasize) + { + case SAI_PROTOCOL_DATASIZE_16BIT: + hsai->Init.DataSize = SAI_DATASIZE_16; + hsai->FrameInit.FrameLength = 16 * nbslot; + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_16B; + break; + case SAI_PROTOCOL_DATASIZE_16BITEXTENDED : + hsai->Init.DataSize = SAI_DATASIZE_16; + hsai->FrameInit.FrameLength = 32 * nbslot; + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_32B; + break; + case SAI_PROTOCOL_DATASIZE_24BIT : + hsai->Init.DataSize = SAI_DATASIZE_24; + hsai->FrameInit.FrameLength = 32 * nbslot; + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_32B; + break; + case SAI_PROTOCOL_DATASIZE_32BIT: + hsai->Init.DataSize = SAI_DATASIZE_32; + hsai->FrameInit.FrameLength = 32 * nbslot; + hsai->SlotInit.SlotSize = SAI_SLOTSIZE_32B; + break; + default : + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief Fill the fifo. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static void SAI_FillFifo(SAI_HandleTypeDef *hsai) +{ + /* fill the fifo with data before to enabled the SAI */ + while(((hsai->Instance->SR & SAI_xSR_FLVL) != SAI_FIFOSTATUS_FULL) && (hsai->XferCount > 0)) + { + if((hsai->Init.DataSize == SAI_DATASIZE_8) && (hsai->Init.CompandingMode == SAI_NOCOMPANDING)) + { + hsai->Instance->DR = (*hsai->pBuffPtr++); + } + else if(hsai->Init.DataSize <= SAI_DATASIZE_16) + { + hsai->Instance->DR = *((uint32_t *)hsai->pBuffPtr); + hsai->pBuffPtr+= 2; + } + else + { + hsai->Instance->DR = *((uint32_t *)hsai->pBuffPtr); + hsai->pBuffPtr+= 4; + } + hsai->XferCount--; + } +} + +/** + * @brief Return the interrupt flag to set according the SAI setup. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @param mode SAI_MODE_DMA or SAI_MODE_IT + * @retval the list of the IT flag to enable + */ +static uint32_t SAI_InterruptFlag(SAI_HandleTypeDef *hsai, uint32_t mode) +{ + uint32_t tmpIT = SAI_IT_OVRUDR; + + if(mode == SAI_MODE_IT) + { + tmpIT|= SAI_IT_FREQ; + } + + if((hsai->Init.Protocol == SAI_AC97_PROTOCOL) && + ((hsai->Init.AudioMode == SAI_MODESLAVE_RX) || (hsai->Init.AudioMode == SAI_MODEMASTER_RX))) + { + tmpIT|= SAI_IT_CNRDY; + } + + if((hsai->Init.AudioMode == SAI_MODESLAVE_RX) || (hsai->Init.AudioMode == SAI_MODESLAVE_TX)) + { + tmpIT|= SAI_IT_AFSDET | SAI_IT_LFSDET; + } + else + { + /* hsai has been configured in master mode */ + tmpIT|= SAI_IT_WCKCFG; + } + return tmpIT; +} + +/** + * @brief Disable the SAI and wait for the disabling. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static HAL_StatusTypeDef SAI_Disable(SAI_HandleTypeDef *hsai) +{ + register uint32_t count = SAI_DEFAULT_TIMEOUT * (SystemCoreClock /7/1000); + HAL_StatusTypeDef status = HAL_OK; + + /* Disable the SAI instance */ + __HAL_SAI_DISABLE(hsai); + + do + { + /* Check for the Timeout */ + if (count-- == 0) + { + /* Update error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_TIMEOUT; + status = HAL_TIMEOUT; + break; + } + } while((hsai->Instance->CR1 & SAI_xCR1_SAIEN) != RESET); + + return status; +} + +/** + * @brief Tx Handler for Transmit in Interrupt mode 8-Bit transfer. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static void SAI_Transmit_IT8Bit(SAI_HandleTypeDef *hsai) +{ + if(hsai->XferCount == 0) + { + /* Handle the end of the transmission */ + /* Disable FREQ and OVRUDR interrupts */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + hsai->State = HAL_SAI_STATE_READY; + HAL_SAI_TxCpltCallback(hsai); + } + else + { + /* Write data on DR register */ + hsai->Instance->DR = (*hsai->pBuffPtr++); + hsai->XferCount--; + } +} + +/** + * @brief Tx Handler for Transmit in Interrupt mode for 16-Bit transfer. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static void SAI_Transmit_IT16Bit(SAI_HandleTypeDef *hsai) +{ + if(hsai->XferCount == 0) + { + /* Handle the end of the transmission */ + /* Disable FREQ and OVRUDR interrupts */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + hsai->State = HAL_SAI_STATE_READY; + HAL_SAI_TxCpltCallback(hsai); + } + else + { + /* Write data on DR register */ + hsai->Instance->DR = *(uint16_t *)hsai->pBuffPtr; + hsai->pBuffPtr+=2; + hsai->XferCount--; + } +} + +/** + * @brief Tx Handler for Transmit in Interrupt mode for 32-Bit transfer. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static void SAI_Transmit_IT32Bit(SAI_HandleTypeDef *hsai) +{ + if(hsai->XferCount == 0) + { + /* Handle the end of the transmission */ + /* Disable FREQ and OVRUDR interrupts */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + hsai->State = HAL_SAI_STATE_READY; + HAL_SAI_TxCpltCallback(hsai); + } + else + { + /* Write data on DR register */ + hsai->Instance->DR = *(uint32_t *)hsai->pBuffPtr; + hsai->pBuffPtr+=4; + hsai->XferCount--; + } +} + +/** + * @brief Rx Handler for Receive in Interrupt mode 8-Bit transfer. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static void SAI_Receive_IT8Bit(SAI_HandleTypeDef *hsai) +{ + /* Receive data */ + (*hsai->pBuffPtr++) = hsai->Instance->DR; + hsai->XferCount--; + + /* Check end of the transfer */ + if(hsai->XferCount == 0) + { + /* Disable TXE and OVRUDR interrupts */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + + /* Clear the SAI Overrun flag */ + __HAL_SAI_CLEAR_FLAG(hsai, SAI_FLAG_OVRUDR); + + hsai->State = HAL_SAI_STATE_READY; + HAL_SAI_RxCpltCallback(hsai); + } +} + +/** + * @brief Rx Handler for Receive in Interrupt mode for 16-Bit transfer. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static void SAI_Receive_IT16Bit(SAI_HandleTypeDef *hsai) +{ + /* Receive data */ + *(uint16_t*)hsai->pBuffPtr = hsai->Instance->DR; + hsai->pBuffPtr+=2; + hsai->XferCount--; + + /* Check end of the transfer */ + if(hsai->XferCount == 0) + { + /* Disable TXE and OVRUDR interrupts */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + + /* Clear the SAI Overrun flag */ + __HAL_SAI_CLEAR_FLAG(hsai, SAI_FLAG_OVRUDR); + + hsai->State = HAL_SAI_STATE_READY; + HAL_SAI_RxCpltCallback(hsai); + } +} +/** + * @brief Rx Handler for Receive in Interrupt mode for 32-Bit transfer. + * @param hsai pointer to a SAI_HandleTypeDef structure that contains + * the configuration information for SAI module. + * @retval None + */ +static void SAI_Receive_IT32Bit(SAI_HandleTypeDef *hsai) +{ + /* Receive data */ + *(uint32_t*)hsai->pBuffPtr = hsai->Instance->DR; + hsai->pBuffPtr+=4; + hsai->XferCount--; + + /* Check end of the transfer */ + if(hsai->XferCount == 0) + { + /* Disable TXE and OVRUDR interrupts */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_IT)); + + /* Clear the SAI Overrun flag */ + __HAL_SAI_CLEAR_FLAG(hsai, SAI_FLAG_OVRUDR); + + hsai->State = HAL_SAI_STATE_READY; + HAL_SAI_RxCpltCallback(hsai); + } +} + +/** + * @brief DMA SAI transmit process complete callback. + * @param hdma pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SAI_DMATxCplt(DMA_HandleTypeDef *hdma) +{ + SAI_HandleTypeDef* hsai = (SAI_HandleTypeDef*)((DMA_HandleTypeDef* )hdma)->Parent; + + if(hdma->Init.Mode != DMA_CIRCULAR) + { + hsai->XferCount = 0; + + /* Disable SAI Tx DMA Request */ + hsai->Instance->CR1 &= (uint32_t)(~SAI_xCR1_DMAEN); + + /* Stop the interrupts error handling */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_DMA)); + + hsai->State= HAL_SAI_STATE_READY; + } + HAL_SAI_TxCpltCallback(hsai); +} + +/** + * @brief DMA SAI transmit process half complete callback. + * @param hdma pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SAI_DMATxHalfCplt(DMA_HandleTypeDef *hdma) +{ + SAI_HandleTypeDef* hsai = (SAI_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_SAI_TxHalfCpltCallback(hsai); +} + +/** + * @brief DMA SAI receive process complete callback. + * @param hdma pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SAI_DMARxCplt(DMA_HandleTypeDef *hdma) +{ + SAI_HandleTypeDef* hsai = ( SAI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + if(hdma->Init.Mode != DMA_CIRCULAR) + { + /* Disable Rx DMA Request */ + hsai->Instance->CR1 &= (uint32_t)(~SAI_xCR1_DMAEN); + hsai->XferCount = 0; + + /* Stop the interrupts error handling */ + __HAL_SAI_DISABLE_IT(hsai, SAI_InterruptFlag(hsai, SAI_MODE_DMA)); + + hsai->State = HAL_SAI_STATE_READY; + } + HAL_SAI_RxCpltCallback(hsai); +} + +/** + * @brief DMA SAI receive process half complete callback + * @param hdma pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SAI_DMARxHalfCplt(DMA_HandleTypeDef *hdma) +{ + SAI_HandleTypeDef* hsai = (SAI_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_SAI_RxHalfCpltCallback(hsai); +} +/** + * @brief DMA SAI communication error callback. + * @param hdma pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SAI_DMAError(DMA_HandleTypeDef *hdma) +{ + SAI_HandleTypeDef* hsai = ( SAI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + if((hsai->hdmatx->ErrorCode == HAL_DMA_ERROR_TE) || (hsai->hdmarx->ErrorCode == HAL_DMA_ERROR_TE)) + { + /* Disable the SAI DMA request */ + hsai->Instance->CR1 &= ~SAI_xCR1_DMAEN; + + /* Disable SAI peripheral */ + SAI_Disable(hsai); + + /* Set the SAI state ready to be able to start again the process */ + hsai->State = HAL_SAI_STATE_READY; + + /* Initialize XferCount */ + hsai->XferCount = 0U; + } + + /* Ignore DMA FIFO error */ + if(HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_FE) + { + /* Set SAI error code */ + hsai->ErrorCode |= HAL_SAI_ERROR_DMA; + + /* SAI error Callback */ + HAL_SAI_ErrorCallback(hsai); + } +} + +/** + * @brief DMA SAI Abort callback. + * @param hdma pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SAI_DMAAbort(DMA_HandleTypeDef *hdma) +{ + SAI_HandleTypeDef* hsai = ( SAI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Disable DMA request */ + hsai->Instance->CR1 &= ~SAI_xCR1_DMAEN; + + /* Disable all interrupts and clear all flags */ + hsai->Instance->IMR = 0U; + hsai->Instance->CLRFR = 0xFFFFFFFFU; + + if(hsai->ErrorCode != HAL_SAI_ERROR_WCKCFG) + { + /* Disable SAI peripheral */ + SAI_Disable(hsai); + + /* Flush the fifo */ + SET_BIT(hsai->Instance->CR2, SAI_xCR2_FFLUSH); + } + /* Set the SAI state to ready to be able to start again the process */ + hsai->State = HAL_SAI_STATE_READY; + + /* Initialize XferCount */ + hsai->XferCount = 0U; + + /* SAI error Callback */ + HAL_SAI_ErrorCallback(hsai); +} + +/** + * @} + */ + +#endif /* HAL_SAI_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai_ex.c new file mode 100644 index 0000000000..a0c06da555 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai_ex.c @@ -0,0 +1,138 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sai_ex.c + * @author MCD Application Team + * @brief SAI Extended HAL module driver. + * This file provides firmware functions to manage the following + * functionality of the SAI Peripheral Controller: + * + Modify PDM microphone delays. + * + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +#ifdef HAL_SAI_MODULE_ENABLED + +/** @defgroup SAIEx SAIEx + * @brief SAI Extended HAL module driver + * @{ + */ + +/* Private types -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ + +#define SAI_PDM_DELAY_MASK 0x77U +#define SAI_PDM_DELAY_OFFSET 8U +#define SAI_PDM_RIGHT_DELAY_OFFSET 4U + +/* Private macros ------------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup SAIEx_Exported_Functions SAIEx Extended Exported Functions + * @{ + */ + +/** @defgroup SAIEx_Exported_Functions_Group1 Peripheral Control functions + * @brief SAIEx control functions + * +@verbatim + =============================================================================== + ##### Extended features functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Modify PDM microphone delays + +@endverbatim + * @{ + */ + +/** + * @brief Configure PDM microphone delays. + * @param hsai SAI handle. + * @param pdmMicDelay Microphone delays configuration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SAIEx_ConfigPdmMicDelay(SAI_HandleTypeDef *hsai, SAIEx_PdmMicDelayParamTypeDef *pdmMicDelay) +{ + HAL_StatusTypeDef status = HAL_OK; + SAI_TypeDef *SaiBaseAddress = NULL; + + /* Get the SAI base address according to the SAI handle */ + SaiBaseAddress = (hsai->Instance == SAI1_Block_A) ? SAI1 : \ + ((hsai->Instance == SAI2_Block_A) ? SAI2 : \ + ((hsai->Instance == SAI3_Block_A) ? SAI3 : \ + ((hsai->Instance == SAI4_Block_A) ? SAI4 : \ + NULL))); + if((SaiBaseAddress != NULL) && (hsai->State != HAL_SAI_STATE_RESET)) + { + /* Check microphone delay parameters */ + assert_param(IS_SAI_PDM_MIC_PAIRS_NUMBER(pdmMicDelay->MicPair)); + assert_param(IS_SAI_PDM_MIC_DELAY(pdmMicDelay->LeftDelay)); + assert_param(IS_SAI_PDM_MIC_DELAY(pdmMicDelay->RightDelay)); + + /* Reset current delays for specified microphone */ + SaiBaseAddress->PDMDLY &= ~(SAI_PDM_DELAY_MASK << (SAI_PDM_DELAY_OFFSET * (pdmMicDelay->MicPair - 1))); + + /* Apply new microphone delays */ + SaiBaseAddress->PDMDLY |= (((pdmMicDelay->RightDelay << SAI_PDM_RIGHT_DELAY_OFFSET) | pdmMicDelay->LeftDelay) << \ + (SAI_PDM_DELAY_OFFSET * (pdmMicDelay->MicPair - 1))); + } + else + { + status = HAL_ERROR; + } + return status; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_SAI_MODULE_ENABLED */ +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c new file mode 100644 index 0000000000..41d0b32315 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c @@ -0,0 +1,3081 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sd.c + * @author MCD Application Team + * @brief SD card HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Secure Digital (SD) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + This driver implements a high level communication layer for read and write from/to + this memory. The needed STM32 hardware resources (SDMMC and GPIO) are performed by + the user in HAL_SD_MspInit() function (MSP layer). + Basically, the MSP layer configuration should be the same as we provide in the + examples. + You can easily tailor this configuration according to hardware resources. + + [..] + This driver is a generic layered driver for SDMMC memories which uses the HAL + SDMMC driver functions to interface with SD and uSD cards devices. + It is used as follows: + + (#)Initialize the SDMMC low level resources by implement the HAL_SD_MspInit() API: + (##) Enable the SDMMC interface clock using __HAL_RCC_SDMMC_CLK_ENABLE(); + (##) SDMMC pins configuration for SD card + (+++) Enable the clock for the SDMMC GPIOs using the functions __HAL_RCC_GPIOx_CLK_ENABLE(); + (+++) Configure these SDMMC pins as alternate function pull-up using HAL_GPIO_Init() + and according to your pin assignment; + (##) NVIC configuration if you need to use interrupt process when using DMA transfer. + (+++) Configure the SDMMC interrupt priorities using functions HAL_NVIC_SetPriority(); + (+++) Enable the NVIC SDMMC IRQs using function HAL_NVIC_EnableIRQ() + (+++) SDMMC interrupts are managed using the macros __HAL_SD_ENABLE_IT() + and __HAL_SD_DISABLE_IT() inside the communication process. + (+++) SDMMC interrupts pending bits are managed using the macros __HAL_SD_GET_IT() + and __HAL_SD_CLEAR_IT() + (##) No general propose DMA Configuration is needed, an Internal DMA for SDMMC IP are used. + + (#) At this stage, you can perform SD read/write/erase operations after SD card initialization + + + *** SD Card Initialization and configuration *** + ================================================ + [..] + To initialize the SD Card, use the HAL_SD_Init() function. It Initializes + the SD Card and put it into StandBy State (Ready for data transfer). + This function provide the following operations: + + (#) Apply the SD Card initialization process at 400KHz and check the SD Card + type (Standard Capacity or High Capacity). You can change or adapt this + frequency by adjusting the "ClockDiv" field. + The SD Card frequency (SDMMC_CK) is computed as follows: + + SDMMC_CK = SDMMCCLK / (2 * ClockDiv) + + In initialization mode and according to the SD Card standard, + make sure that the SDMMC_CK frequency doesn't exceed 400KHz. + + (#) Get the SD CID and CSD data. All these information are managed by the SDCardInfo + structure. This structure provide also ready computed SD Card capacity + and Block size. + + -@- These information are stored in SD handle structure in case of future use. + + (#) Configure the SD Card Data transfer frequency. You can change or adapt this + frequency by adjusting the "ClockDiv" field. + In transfer mode and according to the SD Card standard, make sure that the + SDMMC_CK frequency doesn't exceed 25MHz and 100MHz in High-speed mode switch. + + (#) Select the corresponding SD Card according to the address read with the step 2. + + (#) Configure the SD Card in wide bus mode: 4-bits data. + + *** SD Card Read operation *** + ============================== + [..] + (+) You can read from SD card in polling mode by using function HAL_SD_ReadBlocks(). + This function support only 512-bytes block length (the block size should be + chosen as 512 bytes). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + + (+) You can read from SD card in DMA mode by using function HAL_SD_ReadBlocks_DMA(). + This function support only 512-bytes block length (the block size should be + chosen as 512 bytes). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + + *** SD Card Write operation *** + =============================== + [..] + (+) You can write to SD card in polling mode by using function HAL_SD_WriteBlocks(). + This function support only 512-bytes block length (the block size should be + chosen as 512 bytes). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + + (+) You can write to SD card in DMA mode by using function HAL_SD_WriteBlocks_DMA(). + This function support only 512-bytes block length (the block size should be + chosen as 512 byte). + You can choose either one block read operation or multiple block read operation + by adjusting the "NumberOfBlocks" parameter. + + *** SD card status *** + ====================== + [..] + (+) At any time, you can check the SD Card status and get the SD card state + by using the HAL_SD_GetStatusInfo() function. This function checks first if the + SD card is still connected and then get the internal SD Card transfer state. + + *** SD HAL driver macros list *** + ================================== + [..] + Below the list of most used macros in SD HAL driver. + + (+) __HAL_SD_ENABLE_IT: Enable the SD device interrupt + (+) __HAL_SD_DISABLE_IT: Disable the SD device interrupt + (+) __HAL_SD_GET_FLAG:Check whether the specified SD flag is set or not + (+) __HAL_SD_CLEAR_FLAG: Clear the SD's pending flags + + (@) You can refer to the SD HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2018 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @addtogroup SD + * @{ + */ + +#ifdef HAL_SD_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @addtogroup SD_Private_Defines + * @{ + */ + +/** + * @} + */ + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/** @defgroup SD_Private_Functions SD Private Functions + * @{ + */ +static uint32_t SD_InitCard(SD_HandleTypeDef *hsd); +static uint32_t SD_PowerON(SD_HandleTypeDef *hsd); +static uint32_t SD_SendSDStatus(SD_HandleTypeDef *hsd, uint32_t *pSDstatus); +static uint32_t SD_SendStatus(SD_HandleTypeDef *hsd, uint32_t *pCardStatus); +static uint32_t SD_WideBus_Enable(SD_HandleTypeDef *hsd); +static uint32_t SD_WideBus_Disable(SD_HandleTypeDef *hsd); +static uint32_t SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR); +static void SD_PowerOFF(SD_HandleTypeDef *hsd); +static void SD_Write_IT(SD_HandleTypeDef *hsd); +static void SD_Read_IT(SD_HandleTypeDef *hsd); +static uint32_t SD_HighSpeed(SD_HandleTypeDef *hsd); +#if (USE_SD_TRANSCEIVER != 0U) +static uint32_t SD_UltraHighSpeed(SD_HandleTypeDef *hsd); +#endif /* USE_SD_TRANSCEIVER */ +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SD_Exported_Functions + * @{ + */ + +/** @addtogroup SD_Exported_Functions_Group1 + * @brief Initialization and de-initialization functions + * +@verbatim + ============================================================================== + ##### Initialization and de-initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to initialize/de-initialize the SD + card device to be ready for use. + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the SD according to the specified parameters in the + SD_HandleTypeDef and create the associated handle. + * @param hsd: Pointer to the SD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_Init(SD_HandleTypeDef *hsd) +{ + HAL_SD_CardStatusTypedef CardStatus; + uint32_t speedgrade, unitsize; + uint32_t tickstart; + + /* Check the SD handle allocation */ + if(hsd == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance)); + assert_param(IS_SDMMC_CLOCK_EDGE(hsd->Init.ClockEdge)); + assert_param(IS_SDMMC_CLOCK_POWER_SAVE(hsd->Init.ClockPowerSave)); + assert_param(IS_SDMMC_BUS_WIDE(hsd->Init.BusWide)); + assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(hsd->Init.HardwareFlowControl)); + assert_param(IS_SDMMC_CLKDIV(hsd->Init.ClockDiv)); + + if(hsd->State == HAL_SD_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hsd->Lock = HAL_UNLOCKED; + /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ + HAL_SD_MspInit(hsd); + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Initialize the Card parameters */ + if (HAL_SD_InitCard(hsd) != HAL_OK) + { + return HAL_ERROR; + } + + if( HAL_SD_GetCardStatus(hsd, &CardStatus) != HAL_OK) + { + return HAL_ERROR; + } + /* Get Initial Card Speed from Card Status*/ + speedgrade = CardStatus.UhsSpeedGrade; + unitsize = CardStatus.UhsAllocationUnitSize; + if ((hsd->SdCard.CardType == CARD_SDHC_SDXC) && ((speedgrade != 0U) || (unitsize != 0U))) + { + hsd->SdCard.CardSpeed = CARD_ULTRA_HIGH_SPEED; + } + else + { + if (hsd->SdCard.CardType == CARD_SDHC_SDXC) + { + hsd->SdCard.CardSpeed = CARD_HIGH_SPEED; + } + else + { + hsd->SdCard.CardSpeed = CARD_NORMAL_SPEED; + } + + } + /* Configure the bus wide */ + if(HAL_SD_ConfigWideBusOperation(hsd, hsd->Init.BusWide) != HAL_OK) + { + return HAL_ERROR; + } +#if (USE_SD_TRANSCEIVER != 0U) + if((hsd->SdCard.CardSpeed == CARD_ULTRA_HIGH_SPEED) || + (hsd->SdCard.CardType == CARD_SDHC_SDXC)) + { + hsd->Instance->CLKCR |= 0x00100000U; + /* Enable High Speed */ + if(SD_UltraHighSpeed(hsd) != HAL_SD_ERROR_NONE) + { + return HAL_ERROR; + } + } + else if (hsd->SdCard.CardSpeed == CARD_HIGH_SPEED) + { + /* Enable High Speed */ + if(SD_HighSpeed(hsd) != HAL_SD_ERROR_NONE) + { + return HAL_ERROR; + } + } + else + { + /* Normal Speed mode, Nothing todo */ + } +#else + if((hsd->SdCard.CardSpeed == CARD_ULTRA_HIGH_SPEED) || + (hsd->SdCard.CardSpeed == CARD_HIGH_SPEED) || + (hsd->SdCard.CardType == CARD_SDHC_SDXC)) + { + /* Enable High Speed */ + if(SD_HighSpeed(hsd) != HAL_SD_ERROR_NONE) + { + return HAL_ERROR; + } + } +#endif /* USE_SD_TRANSCEIVER */ + + + /* Verify that SD card is ready to use after Initialization */ + tickstart = HAL_GetTick(); + while((HAL_SD_GetCardState(hsd) != HAL_SD_CARD_TRANSFER)) + { + if((HAL_GetTick()-tickstart) >= SDMMC_DATATIMEOUT) + { + hsd->ErrorCode = HAL_SD_ERROR_TIMEOUT; + hsd->State= HAL_SD_STATE_READY; + return HAL_TIMEOUT; + } + } + + /* Initialize the error code */ + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + /* Initialize the SD operation */ + hsd->Context = SD_CONTEXT_NONE; + + /* Initialize the SD state */ + hsd->State = HAL_SD_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Initializes the SD Card. + * @param hsd: Pointer to SD handle + * @note This function initializes the SD card. It could be used when a card + re-initialization is needed. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_InitCard(SD_HandleTypeDef *hsd) +{ + uint32_t errorstate; + HAL_StatusTypeDef status; + SD_InitTypeDef Init; + + /* Default SDMMC peripheral configuration for SD card initialization */ + Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; + Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; + Init.BusWide = SDMMC_BUS_WIDE_1B; + Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; + Init.ClockDiv = SDMMC_INIT_CLK_DIV; + +#if (USE_SD_TRANSCEIVER != 0U) || defined (USE_SD_DIRPOL) + /* Set Transceiver polarity */ + hsd->Instance->POWER |= SDMMC_POWER_DIRPOL; +#endif /* USE_SD_TRANSCEIVER */ + + /* Initialize SDMMC peripheral interface with default configuration */ + status = SDMMC_Init(hsd->Instance, Init); + if(status != HAL_OK) + { + return HAL_ERROR; + } + + /* Set Power State to ON */ + status = SDMMC_PowerState_ON(hsd->Instance); + if(status != HAL_OK) + { + return HAL_ERROR; + } + + /* Identify card operating voltage */ + errorstate = SD_PowerON(hsd); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->State = HAL_SD_STATE_READY; + hsd->ErrorCode |= errorstate; + return HAL_ERROR; + } + + /* Card initialization */ + errorstate = SD_InitCard(hsd); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->State = HAL_SD_STATE_READY; + hsd->ErrorCode |= errorstate; + return HAL_ERROR; + } + + return HAL_OK; +} + +/** + * @brief De-Initializes the SD card. + * @param hsd: Pointer to SD handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_DeInit(SD_HandleTypeDef *hsd) +{ + /* Check the SD handle allocation */ + if(hsd == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance)); + + hsd->State = HAL_SD_STATE_BUSY; + +#if (USE_SD_TRANSCEIVER != 0U) + /* Desactivate the 1.8V Mode */ + HAL_SD_DriveTransceiver_1_8V_Callback(RESET); +#endif /* USE_SD_TRANSCEIVER */ + + /* Set SD power state to off */ + SD_PowerOFF(hsd); + + /* De-Initialize the MSP layer */ + HAL_SD_MspDeInit(hsd); + + hsd->ErrorCode = HAL_SD_ERROR_NONE; + hsd->State = HAL_SD_STATE_RESET; + + return HAL_OK; +} + + +/** + * @brief Initializes the SD MSP. + * @param hsd: Pointer to SD handle + * @retval None + */ +__weak void HAL_SD_MspInit(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SD_MspInit could be implemented in the user file + */ +} + +/** + * @brief De-Initialize SD MSP. + * @param hsd: Pointer to SD handle + * @retval None + */ +__weak void HAL_SD_MspDeInit(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SD_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @addtogroup SD_Exported_Functions_Group2 + * @brief Data transfer functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to manage the data + transfer from/to SD card. + +@endverbatim + * @{ + */ + +/** + * @brief Reads block(s) from a specified address in a card. The Data transfer + * is managed by polling mode. + * @note This API should be followed by a check on the card state through + * HAL_SD_GetCardState(). + * @param hsd: Pointer to SD handle + * @param pData: pointer to the buffer that will contain the received data + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Number of SD blocks to read + * @param Timeout: Specify timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_ReadBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t tickstart = HAL_GetTick(); + uint32_t count, data; + uint32_t add = BlockAdd; + uint8_t *tempbuff = pData; + + if(NULL == pData) + { + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + return HAL_ERROR; + } + + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0U; + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = NumberOfBlocks * BLOCKSIZE; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + + /* Read block(s) in polling mode */ + if(NumberOfBlocks > 1U) + { + hsd->Context = SD_CONTEXT_READ_MULTIPLE_BLOCK; + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); + } + else + { + hsd->Context = SD_CONTEXT_READ_SINGLE_BLOCK; + + /* Read Single Block command */ + errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); + } + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Poll on SDMMC flags */ + while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DATAEND)) + { + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF)) + { + /* Read data from SDMMC Rx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = SDMMC_ReadFIFO(hsd->Instance); + *tempbuff = (uint8_t)(data & 0xFFU); + tempbuff++; + *tempbuff = (uint8_t)((data >> 8U) & 0xFFU); + tempbuff++; + *tempbuff = (uint8_t)((data >> 16U) & 0xFFU); + tempbuff++; + *tempbuff = (uint8_t)((data >> 24U) & 0xFFU); + tempbuff++; + } + } + + if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT; + hsd->State= HAL_SD_STATE_READY; + return HAL_TIMEOUT; + } + } + __SDMMC_CMDTRANS_DISABLE( hsd->Instance); + + /* Send stop transmission command in case of multiblock read */ + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) && (NumberOfBlocks > 1U)) + { + if(hsd->SdCard.CardType != CARD_SECURED) + { + /* Send stop transmission command */ + errorstate = SDMMC_CmdStopTransfer(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + } + } + + /* Get error state */ + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else + { + /* Nothing to do */ + } + + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + hsd->State = HAL_SD_STATE_READY; + + return HAL_OK; + } + else + { + hsd->ErrorCode |= HAL_SD_ERROR_BUSY; + return HAL_ERROR; + } +} + +/** + * @brief Allows to write block(s) to a specified address in a card. The Data + * transfer is managed by polling mode. + * @note This API should be followed by a check on the card state through + * HAL_SD_GetCardState(). + * @param hsd: Pointer to SD handle + * @param pData: pointer to the buffer that will contain the data to transmit + * @param BlockAdd: Block Address where data will be written + * @param NumberOfBlocks: Number of SD blocks to write + * @param Timeout: Specify timeout value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_WriteBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t tickstart = HAL_GetTick(); + uint32_t count, data; + uint32_t add = BlockAdd; + uint8_t *tempbuff = pData; + + if(NULL == pData) + { + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + return HAL_ERROR; + } + + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0U; + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = NumberOfBlocks * BLOCKSIZE; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + + /* Write Blocks in Polling mode */ + if(NumberOfBlocks > 1U) + { + hsd->Context = SD_CONTEXT_WRITE_MULTIPLE_BLOCK; + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); + } + else + { + hsd->Context = SD_CONTEXT_WRITE_SINGLE_BLOCK; + + /* Write Single Block command */ + errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); + } + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Write block(s) in polling mode */ + while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DATAEND)) + { + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXFIFOHE)) + { + /* Write data to SDMMC Tx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = (uint32_t)(*tempbuff); + tempbuff++; + data |= ((uint32_t)(*tempbuff) << 8U); + tempbuff++; + data |= ((uint32_t)(*tempbuff) << 16U); + tempbuff++; + data |= ((uint32_t)(*tempbuff) << 24U); + tempbuff++; + (void)SDMMC_WriteFIFO(hsd->Instance, &data); + } + } + + if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_TIMEOUT; + } + } + __SDMMC_CMDTRANS_DISABLE( hsd->Instance); + + /* Send stop transmission command in case of multiblock write */ + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) && (NumberOfBlocks > 1U)) + { + if(hsd->SdCard.CardType != CARD_SECURED) + { + /* Send stop transmission command */ + errorstate = SDMMC_CmdStopTransfer(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + } + } + + /* Get error state */ + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR)) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else + { + /* Nothing to do */ + } + + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + hsd->State = HAL_SD_STATE_READY; + + return HAL_OK; + } + else + { + hsd->ErrorCode |= HAL_SD_ERROR_BUSY; + return HAL_ERROR; + } +} + +/** + * @brief Reads block(s) from a specified address in a card. The Data transfer + * is managed in interrupt mode. + * @note This API should be followed by a check on the card state through + * HAL_SD_GetCardState(). + * @note You could also check the IT transfer process through the SD Rx + * interrupt event. + * @param hsd: Pointer to SD handle + * @param pData: Pointer to the buffer that will contain the received data + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Number of blocks to read. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_ReadBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + return HAL_ERROR; + } + + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0U; + + hsd->pRxBuffPtr = pData; + hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks; + + __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND | SDMMC_FLAG_RXFIFOHF)); + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + + /* Read Blocks in IT mode */ + if(NumberOfBlocks > 1U) + { + hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_IT); + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); + } + else + { + hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_IT); + + /* Read Single Block command */ + errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); + } + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Writes block(s) to a specified address in a card. The Data transfer + * is managed in interrupt mode. + * @note This API should be followed by a check on the card state through + * HAL_SD_GetCardState(). + * @note You could also check the IT transfer process through the SD Tx + * interrupt event. + * @param hsd: Pointer to SD handle + * @param pData: Pointer to the buffer that will contain the data to transmit + * @param BlockAdd: Block Address where data will be written + * @param NumberOfBlocks: Number of blocks to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_WriteBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + return HAL_ERROR; + } + + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0U; + + hsd->pTxBuffPtr = pData; + hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks; + + /* Enable transfer interrupts */ + __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND | SDMMC_FLAG_TXFIFOHE)); + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + + /* Write Blocks in Polling mode */ + if(NumberOfBlocks > 1U) + { + hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK| SD_CONTEXT_IT); + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); + } + else + { + hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_IT); + + /* Write Single Block command */ + errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); + } + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Reads block(s) from a specified address in a card. The Data transfer + * is managed by DMA mode. + * @note This API should be followed by a check on the card state through + * HAL_SD_GetCardState(). + * @note You could also check the DMA transfer process through the SD Rx + * interrupt event. + * @param hsd: Pointer SD handle + * @param pData: Pointer to the buffer that will contain the received data + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Number of blocks to read. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_ReadBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + return HAL_ERROR; + } + + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0U; + + hsd->pRxBuffPtr = pData; + hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks; + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + + /* Enable transfer interrupts */ + __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); + + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + hsd->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_SINGLE_BUFF; + hsd->Instance->IDMABASE0 = (uint32_t) pData ; + + /* Read Blocks in DMA mode */ + if(NumberOfBlocks > 1U) + { + hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA); + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); + } + else + { + hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_DMA); + + /* Read Single Block command */ + errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); + } + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Writes block(s) to a specified address in a card. The Data transfer + * is managed by DMA mode. + * @note This API should be followed by a check on the card state through + * HAL_SD_GetCardState(). + * @note You could also check the DMA transfer process through the SD Tx + * interrupt event. + * @param hsd: Pointer to SD handle + * @param pData: Pointer to the buffer that will contain the data to transmit + * @param BlockAdd: Block Address where data will be written + * @param NumberOfBlocks: Number of blocks to write + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t add = BlockAdd; + + if(NULL == pData) + { + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + return HAL_ERROR; + } + + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0U; + + hsd->pTxBuffPtr = pData; + hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks; + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Set Block Size for Card */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + + /* Enable transfer interrupts */ + __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND)); + + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + + hsd->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_SINGLE_BUFF; + hsd->Instance->IDMABASE0 = (uint32_t) pData ; + + /* Write Blocks in Polling mode */ + if(NumberOfBlocks > 1U) + { + hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA); + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); + } + else + { + hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_DMA); + + /* Write Single Block command */ + errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); + } + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND)); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Erases the specified memory area of the given SD card. + * @note This API should be followed by a check on the card state through + * HAL_SD_GetCardState(). + * @param hsd: Pointer to SD handle + * @param BlockStartAdd: Start Block address + * @param BlockEndAdd: End Block address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_Erase(SD_HandleTypeDef *hsd, uint32_t BlockStartAdd, uint32_t BlockEndAdd) +{ + uint32_t errorstate; + uint32_t start_add = BlockStartAdd; + uint32_t end_add = BlockEndAdd; + + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + if(end_add < start_add) + { + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + return HAL_ERROR; + } + + if(end_add > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_BUSY; + + /* Check if the card command class supports erase command */ + if(((hsd->SdCard.Class) & SDMMC_CCCC_ERASE) == 0U) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_LOCK_UNLOCK_FAILED; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Get start and end block for high capacity cards */ + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + start_add *= 512U; + end_add *= 512U; + } + + /* According to sd-card spec 1.0 ERASE_GROUP_START (CMD32) and erase_group_end(CMD33) */ + if(hsd->SdCard.CardType != CARD_SECURED) + { + /* Send CMD32 SD_ERASE_GRP_START with argument as addr */ + errorstate = SDMMC_CmdSDEraseStartAdd(hsd->Instance, start_add); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + /* Send CMD33 SD_ERASE_GRP_END with argument as addr */ + errorstate = SDMMC_CmdSDEraseEndAdd(hsd->Instance, end_add); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + } + + /* Send CMD38 ERASE */ + errorstate = SDMMC_CmdErase(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + hsd->State = HAL_SD_STATE_READY; + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief This function handles SD card interrupt request. + * @param hsd: Pointer to SD handle + * @retval None + */ +void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd) +{ + uint32_t errorstate; + uint32_t context = hsd->Context; + + /* Check for SDMMC interrupt flags */ + if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_DATAEND) != RESET) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DATAEND); + + __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT |\ + SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\ + SDMMC_IT_RXFIFOHF); + + __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_IDMABTC); + __SDMMC_CMDTRANS_DISABLE( hsd->Instance); + + if((context & SD_CONTEXT_IT) != 0U) + { + if(((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) + { + errorstate = SDMMC_CmdStopTransfer(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->ErrorCode |= errorstate; + HAL_SD_ErrorCallback(hsd); + } + } + + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + hsd->State = HAL_SD_STATE_READY; + if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) + { + HAL_SD_RxCpltCallback(hsd); + } + else + { + HAL_SD_TxCpltCallback(hsd); + } + } + else if((context & SD_CONTEXT_DMA) != 0U) + { + hsd->Instance->DLEN = 0; + hsd->Instance->DCTRL = 0; + hsd->Instance->IDMACTRL = SDMMC_DISABLE_IDMA; + + /* Stop Transfer for Write Single/Multi blocks or Read Multi blocks */ + if((context & SD_CONTEXT_READ_SINGLE_BLOCK) == 0U) + { + errorstate = SDMMC_CmdStopTransfer(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->ErrorCode |= errorstate; + HAL_SD_ErrorCallback(hsd); + } + } + + hsd->State = HAL_SD_STATE_READY; + if(((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) + { + HAL_SD_TxCpltCallback(hsd); + } + if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) + { + HAL_SD_RxCpltCallback(hsd); + } + } + else + { + /* Nothing to do */ + } + } + + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_TXFIFOHE) != RESET) + { + SD_Write_IT(hsd); + } + + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_RXFIFOHF) != RESET) + { + SD_Read_IT(hsd); + } + + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_TXUNDERR) != RESET) + { + /* Set Error code */ + if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_DCRCFAIL) != RESET) + { + hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; + } + if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_DTIMEOUT) != RESET) + { + hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; + } + if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_RXOVERR) != RESET) + { + hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; + } + if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_TXUNDERR) != RESET) + { + hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; + } + + /* Clear All flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + /* Disable all interrupts */ + __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ + SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); + + __SDMMC_CMDTRANS_DISABLE( hsd->Instance); + hsd->Instance->DCTRL |= SDMMC_DCTRL_FIFORST; + hsd->Instance->CMD |= SDMMC_CMD_CMDSTOP; + hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); + hsd->Instance->CMD &= ~(SDMMC_CMD_CMDSTOP); + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DABORT); + + if((context & SD_CONTEXT_IT) != 0U) + { + /* Set the SD state to ready to be able to start again the process */ + hsd->State = HAL_SD_STATE_READY; + HAL_SD_ErrorCallback(hsd); + } + else if((context & SD_CONTEXT_DMA) != 0U) + { + if(hsd->ErrorCode != HAL_SD_ERROR_NONE) + { + /* Disable Internal DMA */ + __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_IDMABTC); + hsd->Instance->IDMACTRL = SDMMC_DISABLE_IDMA; + + /* Set the SD state to ready to be able to start again the process */ + hsd->State = HAL_SD_STATE_READY; + HAL_SD_ErrorCallback(hsd); + } + } + else + { + /* Nothing to do */ + } + } + + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_IT_IDMABTC) != RESET) + { + if(READ_BIT(hsd->Instance->IDMACTRL, SDMMC_IDMA_IDMABACT) == 0U) + { + /* Current buffer is buffer0, Transfer complete for buffer1 */ + if((hsd->Context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) + { + HAL_SDEx_Write_DMADoubleBuffer1CpltCallback(hsd); + } + else /* SD_CONTEXT_READ_MULTIPLE_BLOCK */ + { + HAL_SDEx_Read_DMADoubleBuffer1CpltCallback(hsd); + } + } + else /* SD_DMA_BUFFER1 */ + { + /* Current buffer is buffer1, Transfer complete for buffer0 */ + if((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) + { + HAL_SDEx_Write_DMADoubleBuffer0CpltCallback(hsd); + } + else /* SD_CONTEXT_READ_MULTIPLE_BLOCK */ + { + HAL_SDEx_Read_DMADoubleBuffer0CpltCallback(hsd); + } + } + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_IDMABTC); + } + else + { + /* Nothing to do */ + } +} + +/** + * @brief return the SD state + * @param hsd: Pointer to sd handle + * @retval HAL state + */ +HAL_SD_StateTypeDef HAL_SD_GetState(SD_HandleTypeDef *hsd) +{ + return hsd->State; +} + +/** +* @brief Return the SD error code +* @param hsd : Pointer to a SD_HandleTypeDef structure that contains + * the configuration information. +* @retval SD Error Code +*/ +uint32_t HAL_SD_GetError(SD_HandleTypeDef *hsd) +{ + return hsd->ErrorCode; +} + +/** + * @brief Tx Transfer completed callbacks + * @param hsd: Pointer to SD handle + * @retval None + */ +__weak void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SD_TxCpltCallback can be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callbacks + * @param hsd: Pointer SD handle + * @retval None + */ +__weak void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SD_RxCpltCallback can be implemented in the user file + */ +} + +/** + * @brief SD error callbacks + * @param hsd: Pointer SD handle + * @retval None + */ +__weak void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SD_ErrorCallback can be implemented in the user file + */ +} + +/** + * @brief SD Abort callbacks + * @param hsd: Pointer SD handle + * @retval None + */ +__weak void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SD_AbortCallback can be implemented in the user file + */ +} + +#if (USE_SD_TRANSCEIVER != 0U) +/** + * @brief Enable/Disable the SD Transceiver 1.8V Mode Callback. + * @param status: Voltage Switch State + * @retval None + */ +__weak void HAL_SD_DriveTransceiver_1_8V_Callback(FlagStatus status) +{ + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SD_EnableTransceiver could be implemented in the user file + */ +} +#endif /* USE_SD_TRANSCEIVER */ + + +/** + * @} + */ + +/** @addtogroup SD_Exported_Functions_Group3 + * @brief management functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control the SD card + operations and get the related information + +@endverbatim + * @{ + */ + +/** + * @brief Returns information the information of the card which are stored on + * the CID register. + * @param hsd: Pointer to SD handle + * @param pCID: Pointer to a HAL_SD_CIDTypedef structure that + * contains all CID register parameters + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_GetCardCID(SD_HandleTypeDef *hsd, HAL_SD_CardCIDTypedef *pCID) +{ + pCID->ManufacturerID = (uint8_t)((hsd->CID[0] & 0xFF000000U) >> 24U); + + pCID->OEM_AppliID = (uint16_t)((hsd->CID[0] & 0x00FFFF00U) >> 8U); + + pCID->ProdName1 = (((hsd->CID[0] & 0x000000FFU) << 24U) | ((hsd->CID[1] & 0xFFFFFF00U) >> 8U)); + + pCID->ProdName2 = (uint8_t)(hsd->CID[1] & 0x000000FFU); + + pCID->ProdRev = (uint8_t)((hsd->CID[2] & 0xFF000000U) >> 24U); + + pCID->ProdSN = (((hsd->CID[2] & 0x00FFFFFFU) << 8U) | ((hsd->CID[3] & 0xFF000000U) >> 24U)); + + pCID->Reserved1 = (uint8_t)((hsd->CID[3] & 0x00F00000U) >> 20U); + + pCID->ManufactDate = (uint16_t)((hsd->CID[3] & 0x000FFF00U) >> 8U); + + pCID->CID_CRC = (uint8_t)((hsd->CID[3] & 0x000000FEU) >> 1U); + + pCID->Reserved2 = 1U; + + return HAL_OK; +} + +/** + * @brief Returns information the information of the card which are stored on + * the CSD register. + * @param hsd: Pointer to SD handle + * @param pCSD: Pointer to a HAL_SD_CardInfoTypedef structure that + * contains all CSD register parameters + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_GetCardCSD(SD_HandleTypeDef *hsd, HAL_SD_CardCSDTypedef *pCSD) +{ + pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U); + + pCSD->SysSpecVersion = (uint8_t)((hsd->CSD[0] & 0x3C000000U) >> 26U); + + pCSD->Reserved1 = (uint8_t)((hsd->CSD[0] & 0x03000000U) >> 24U); + + pCSD->TAAC = (uint8_t)((hsd->CSD[0] & 0x00FF0000U) >> 16U); + + pCSD->NSAC = (uint8_t)((hsd->CSD[0] & 0x0000FF00U) >> 8U); + + pCSD->MaxBusClkFrec = (uint8_t)(hsd->CSD[0] & 0x000000FFU); + + pCSD->CardComdClasses = (uint16_t)((hsd->CSD[1] & 0xFFF00000U) >> 20U); + + pCSD->RdBlockLen = (uint8_t)((hsd->CSD[1] & 0x000F0000U) >> 16U); + + pCSD->PartBlockRead = (uint8_t)((hsd->CSD[1] & 0x00008000U) >> 15U); + + pCSD->WrBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00004000U) >> 14U); + + pCSD->RdBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00002000U) >> 13U); + + pCSD->DSRImpl = (uint8_t)((hsd->CSD[1] & 0x00001000U) >> 12U); + + pCSD->Reserved2 = 0U; /*!< Reserved */ + + if(hsd->SdCard.CardType == CARD_SDSC) + { + pCSD->DeviceSize = (((hsd->CSD[1] & 0x000003FFU) << 2U) | ((hsd->CSD[2] & 0xC0000000U) >> 30U)); + + pCSD->MaxRdCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x38000000U) >> 27U); + + pCSD->MaxRdCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x07000000U) >> 24U); + + pCSD->MaxWrCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x00E00000U) >> 21U); + + pCSD->MaxWrCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x001C0000U) >> 18U); + + pCSD->DeviceSizeMul = (uint8_t)((hsd->CSD[2] & 0x00038000U) >> 15U); + + hsd->SdCard.BlockNbr = (pCSD->DeviceSize + 1U) ; + hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); + hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); + + hsd->SdCard.LogBlockNbr = (hsd->SdCard.BlockNbr) * ((hsd->SdCard.BlockSize) / 512U); + hsd->SdCard.LogBlockSize = 512U; + } + else if(hsd->SdCard.CardType == CARD_SDHC_SDXC) + { + /* Byte 7 */ + pCSD->DeviceSize = (((hsd->CSD[1] & 0x0000003FU) << 16U) | ((hsd->CSD[2] & 0xFFFF0000U) >> 16U)); + + hsd->SdCard.BlockNbr = ((pCSD->DeviceSize + 1U) * 1024U); + hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; + hsd->SdCard.BlockSize = 512U; + hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; + } + else + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + + pCSD->EraseGrSize = (uint8_t)((hsd->CSD[2] & 0x00004000U) >> 14U); + + pCSD->EraseGrMul = (uint8_t)((hsd->CSD[2] & 0x00003F80U) >> 7U); + + pCSD->WrProtectGrSize = (uint8_t)(hsd->CSD[2] & 0x0000007FU); + + pCSD->WrProtectGrEnable = (uint8_t)((hsd->CSD[3] & 0x80000000U) >> 31U); + + pCSD->ManDeflECC = (uint8_t)((hsd->CSD[3] & 0x60000000U) >> 29U); + + pCSD->WrSpeedFact = (uint8_t)((hsd->CSD[3] & 0x1C000000U) >> 26U); + + pCSD->MaxWrBlockLen= (uint8_t)((hsd->CSD[3] & 0x03C00000U) >> 22U); + + pCSD->WriteBlockPaPartial = (uint8_t)((hsd->CSD[3] & 0x00200000U) >> 21U); + + pCSD->Reserved3 = 0; + + pCSD->ContentProtectAppli = (uint8_t)((hsd->CSD[3] & 0x00010000U) >> 16U); + + pCSD->FileFormatGroup = (uint8_t)((hsd->CSD[3] & 0x00008000U) >> 15U); + + pCSD->CopyFlag = (uint8_t)((hsd->CSD[3] & 0x00004000U) >> 14U); + + pCSD->PermWrProtect = (uint8_t)((hsd->CSD[3] & 0x00002000U) >> 13U); + + pCSD->TempWrProtect = (uint8_t)((hsd->CSD[3] & 0x00001000U) >> 12U); + + pCSD->FileFormat = (uint8_t)((hsd->CSD[3] & 0x00000C00U) >> 10U); + + pCSD->ECC= (uint8_t)((hsd->CSD[3] & 0x00000300U) >> 8U); + + pCSD->CSD_CRC = (uint8_t)((hsd->CSD[3] & 0x000000FEU) >> 1U); + + pCSD->Reserved4 = 1; + + return HAL_OK; +} + +/** + * @brief Gets the SD status info. + * @param hsd: Pointer to SD handle + * @param pStatus: Pointer to the HAL_SD_CardStatusTypedef structure that + * will contain the SD card status information + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_GetCardStatus(SD_HandleTypeDef *hsd, HAL_SD_CardStatusTypedef *pStatus) +{ + uint32_t sd_status[16]; + uint32_t errorstate; + + errorstate = SD_SendSDStatus(hsd, sd_status); + if(errorstate != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->ErrorCode |= errorstate; + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else + { + pStatus->DataBusWidth = (uint8_t)((sd_status[0] & 0xC0U) >> 6U); + + pStatus->SecuredMode = (uint8_t)((sd_status[0] & 0x20U) >> 5U); + + pStatus->CardType = (uint16_t)(((sd_status[0] & 0x00FF0000U) >> 8U) | ((sd_status[0] & 0xFF000000U) >> 24U)); + + pStatus->ProtectedAreaSize = (((sd_status[1] & 0xFFU) << 24U) | ((sd_status[1] & 0xFF00U) << 8U) | + ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U) >> 24U)); + + pStatus->SpeedClass = (uint8_t)(sd_status[2] & 0xFFU); + + pStatus->PerformanceMove = (uint8_t)((sd_status[2] & 0xFF00U) >> 8U); + + pStatus->AllocationUnitSize = (uint8_t)((sd_status[2] & 0xF00000U) >> 20U); + + pStatus->EraseSize = (uint16_t)(((sd_status[2] & 0xFF000000U) >> 16U) | (sd_status[3] & 0xFFU)); + + pStatus->EraseTimeout = (uint8_t)((sd_status[3] & 0xFC00U) >> 10U); + + pStatus->EraseOffset = (uint8_t)((sd_status[3] & 0x0300U) >> 8U); + + pStatus->UhsSpeedGrade = (uint8_t)((sd_status[3] & 0x00F0U) >> 4U); + pStatus->UhsAllocationUnitSize = (uint8_t)(sd_status[3] & 0x000FU) ; + pStatus->VideoSpeedClass = (uint8_t)((sd_status[4] & 0xFF000000U) >> 24U); + } + + return HAL_OK; +} + +/** + * @brief Gets the SD card info. + * @param hsd: Pointer to SD handle + * @param pCardInfo: Pointer to the HAL_SD_CardInfoTypeDef structure that + * will contain the SD card status information + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_GetCardInfo(SD_HandleTypeDef *hsd, HAL_SD_CardInfoTypeDef *pCardInfo) +{ + pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType); + pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); + pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); + pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); + pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); + pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); + pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); + pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); + + return HAL_OK; +} + +/** + * @brief Enables wide bus operation for the requested card if supported by + * card. + * @param hsd: Pointer to SD handle + * @param WideMode: Specifies the SD card wide bus mode + * This parameter can be one of the following values: + * @arg SDMMC_BUS_WIDE_8B: 8-bit data transfer + * @arg SDMMC_BUS_WIDE_4B: 4-bit data transfer + * @arg SDMMC_BUS_WIDE_1B: 1-bit data transfer + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_ConfigWideBusOperation(SD_HandleTypeDef *hsd, uint32_t WideMode) +{ + SDMMC_InitTypeDef Init; + uint32_t errorstate; + + /* Check the parameters */ + assert_param(IS_SDMMC_BUS_WIDE(WideMode)); + + /* Change State */ + hsd->State = HAL_SD_STATE_BUSY; + + if(hsd->SdCard.CardType != CARD_SECURED) + { + if(WideMode == SDMMC_BUS_WIDE_8B) + { + hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; + } + else if(WideMode == SDMMC_BUS_WIDE_4B) + { + errorstate = SD_WideBus_Enable(hsd); + + hsd->ErrorCode |= errorstate; + } + else if(WideMode == SDMMC_BUS_WIDE_1B) + { + errorstate = SD_WideBus_Disable(hsd); + + hsd->ErrorCode |= errorstate; + } + else + { + /* WideMode is not a valid argument*/ + hsd->ErrorCode |= HAL_SD_ERROR_PARAM; + } + } + else + { + /* MMC Card does not support this feature */ + hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; + } + + if(hsd->ErrorCode != HAL_SD_ERROR_NONE) + { + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + hsd->State = HAL_SD_STATE_READY; + return HAL_ERROR; + } + else + { + /* Configure the SDMMC peripheral */ + Init.ClockEdge = hsd->Init.ClockEdge; + Init.ClockPowerSave = hsd->Init.ClockPowerSave; + Init.BusWide = WideMode; + Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; + + /* Check if user Clock div < Normal speed 25Mhz, no change in Clockdiv */ + if(hsd->Init.ClockDiv >= SDMMC_NSpeed_CLK_DIV) + { + Init.ClockDiv = hsd->Init.ClockDiv; + } + else if (hsd->SdCard.CardSpeed == CARD_ULTRA_HIGH_SPEED) + { + /* UltraHigh speed SD card,user Clock div */ + Init.ClockDiv = hsd->Init.ClockDiv; + } + else if (hsd->SdCard.CardSpeed == CARD_HIGH_SPEED) + { + /* High speed SD card, Max Frequency = 50Mhz */ + Init.ClockDiv = SDMMC_HSpeed_CLK_DIV; + } + else + { + /* No High speed SD card, Max Frequency = 25Mhz */ + Init.ClockDiv = SDMMC_NSpeed_CLK_DIV; + } + + (void)SDMMC_Init(hsd->Instance, Init); + } + + /* Change State */ + hsd->State = HAL_SD_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Gets the current sd card data state. + * @param hsd: pointer to SD handle + * @retval Card state + */ +HAL_SD_CardStateTypedef HAL_SD_GetCardState(SD_HandleTypeDef *hsd) +{ + uint32_t cardstate; + uint32_t errorstate; + uint32_t resp1 = 0; + + errorstate = SD_SendStatus(hsd, &resp1); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->ErrorCode |= errorstate; + } + + cardstate = ((resp1 >> 9U) & 0x0FU); + + return (HAL_SD_CardStateTypedef)cardstate; +} + +/** + * @brief Abort the current transfer and disable the SD. + * @param hsd: pointer to a SD_HandleTypeDef structure that contains + * the configuration information for SD module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_Abort(SD_HandleTypeDef *hsd) +{ + HAL_SD_CardStateTypedef CardState; + + /* DIsable All interrupts */ + __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ + SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); + + /* Clear All flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + + /* If IDMA Context, disable Internal DMA */ + hsd->Instance->IDMACTRL = SDMMC_DISABLE_IDMA; + + hsd->State = HAL_SD_STATE_READY; + + /* Initialize the SD operation */ + hsd->Context = SD_CONTEXT_NONE; + + CardState = HAL_SD_GetCardState(hsd); + if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) + { + hsd->ErrorCode = SDMMC_CmdStopTransfer(hsd->Instance); + } + if(hsd->ErrorCode != HAL_SD_ERROR_NONE) + { + return HAL_ERROR; + } + return HAL_OK; +} + +/** + * @brief Abort the current transfer and disable the SD (IT mode). + * @param hsd: pointer to a SD_HandleTypeDef structure that contains + * the configuration information for SD module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd) +{ + HAL_SD_CardStateTypedef CardState; + + /* Disable All interrupts */ + __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ + SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); + + /* If IDMA Context, disable Internal DMA */ + hsd->Instance->IDMACTRL = SDMMC_DISABLE_IDMA; + + /* Clear All flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + CardState = HAL_SD_GetCardState(hsd); + hsd->State = HAL_SD_STATE_READY; + + if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) + { + hsd->ErrorCode = SDMMC_CmdStopTransfer(hsd->Instance); + } + + if(hsd->ErrorCode != HAL_SD_ERROR_NONE) + { + return HAL_ERROR; + } + else + { + HAL_SD_AbortCallback(hsd); + } + + return HAL_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +/* Private function ----------------------------------------------------------*/ +/** @addtogroup SD_Private_Functions + * @{ + */ + + +/** + * @brief Initializes the sd card. + * @param hsd: Pointer to SD handle + * @retval SD Card error state + */ +static uint32_t SD_InitCard(SD_HandleTypeDef *hsd) +{ + HAL_SD_CardCSDTypedef CSD; + uint32_t errorstate; + uint16_t sd_rca = 1; + + /* Check the power State */ + if(SDMMC_GetPowerState(hsd->Instance) == 0U) + { + /* Power off */ + return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; + } + + if(hsd->SdCard.CardType != CARD_SECURED) + { + /* Send CMD2 ALL_SEND_CID */ + errorstate = SDMMC_CmdSendCID(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + else + { + /* Get Card identification number data */ + hsd->CID[0] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); + hsd->CID[1] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); + hsd->CID[2] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); + hsd->CID[3] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); + } + } + + if(hsd->SdCard.CardType != CARD_SECURED) + { + /* Send CMD3 SET_REL_ADDR with argument 0 */ + /* SD Card publishes its RCA. */ + errorstate = SDMMC_CmdSetRelAdd(hsd->Instance, &sd_rca); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + } + if(hsd->SdCard.CardType != CARD_SECURED) + { + /* Get the SD card RCA */ + hsd->SdCard.RelCardAdd = sd_rca; + + /* Send CMD9 SEND_CSD with argument as card's RCA */ + errorstate = SDMMC_CmdSendCSD(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + else + { + /* Get Card Specific Data */ + hsd->CSD[0] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); + hsd->CSD[1] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); + hsd->CSD[2] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); + hsd->CSD[3] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); + } + } + + /* Get the Card Class */ + hsd->SdCard.Class = (SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2) >> 20); + + /* Get CSD parameters */ + if (HAL_SD_GetCardCSD(hsd, &CSD) != HAL_OK) + { + return HAL_SD_ERROR_UNSUPPORTED_FEATURE; + } + + /* Select the Card */ + errorstate = SDMMC_CmdSelDesel(hsd->Instance, (uint32_t)(((uint32_t)hsd->SdCard.RelCardAdd) << 16)); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* All cards are initialized */ + return HAL_SD_ERROR_NONE; +} + +/** + * @brief Enquires cards about their operating voltage and configures clock + * controls and stores SD information that will be needed in future + * in the SD handle. + * @param hsd: Pointer to SD handle + * @retval error state + */ +static uint32_t SD_PowerON(SD_HandleTypeDef *hsd) +{ + __IO uint32_t count = 0; + uint32_t response = 0, validvoltage = 0; + uint32_t errorstate; +#if (USE_SD_TRANSCEIVER != 0U) + uint32_t tickstart = HAL_GetTick(); +#endif /* USE_SD_TRANSCEIVER */ + + /* CMD0: GO_IDLE_STATE */ + errorstate = SDMMC_CmdGoIdleState(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */ + errorstate = SDMMC_CmdOperCond(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->SdCard.CardVersion = CARD_V1_X; + } + else + { + hsd->SdCard.CardVersion = CARD_V2_X; + } + + /* SEND CMD55 APP_CMD with RCA as 0 */ + errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); + if(errorstate != HAL_SD_ERROR_NONE) + { + return HAL_SD_ERROR_UNSUPPORTED_FEATURE; + } + else + { + /* SD CARD */ + /* Send ACMD41 SD_APP_OP_COND with Argument 0x80100000 */ + while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U)) + { + /* SEND CMD55 APP_CMD with RCA as 0 */ + errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Send CMD41 */ + errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACITY | SD_SWITCH_1_8V_CAPACITY); + if(errorstate != HAL_SD_ERROR_NONE) + { + return HAL_SD_ERROR_UNSUPPORTED_FEATURE; + } + + /* Get command response */ + response = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); + + /* Get operating voltage*/ + validvoltage = (((response >> 31U) == 1U) ? 1U : 0U); + + count++; + } + + if(count >= SDMMC_MAX_VOLT_TRIAL) + { + return HAL_SD_ERROR_INVALID_VOLTRANGE; + } + + if((response & SDMMC_HIGH_CAPACITY) == SDMMC_HIGH_CAPACITY) /* (response &= SD_HIGH_CAPACITY) */ + { + hsd->SdCard.CardType = CARD_SDHC_SDXC; +#if (USE_SD_TRANSCEIVER != 0U) + if((response & SD_SWITCH_1_8V_CAPACITY) == SD_SWITCH_1_8V_CAPACITY) + { + hsd->SdCard.CardSpeed = CARD_ULTRA_HIGH_SPEED; + + /* Start switching procedue */ + hsd->Instance->POWER |= SDMMC_POWER_VSWITCHEN; + + /* Send CMD11 to switch 1.8V mode */ + errorstate = SDMMC_CmdVoltageSwitch(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Check to CKSTOP */ + while(( hsd->Instance->STA & SDMMC_FLAG_CKSTOP) != SDMMC_FLAG_CKSTOP) + { + if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) + { + return HAL_SD_ERROR_TIMEOUT; + } + } + + /* Clear CKSTOP Flag */ + hsd->Instance->ICR = SDMMC_FLAG_CKSTOP; + + /* Check to BusyD0 */ + if(( hsd->Instance->STA & SDMMC_FLAG_BUSYD0) != SDMMC_FLAG_BUSYD0) + { + /* Error when activate Voltage Switch in SDMMC IP */ + return SDMMC_ERROR_UNSUPPORTED_FEATURE; + } + else + { + /* Enable Transceiver Switch PIN */ + HAL_SD_DriveTransceiver_1_8V_Callback(SET); + + /* Switch ready */ + hsd->Instance->POWER |= SDMMC_POWER_VSWITCH; + + /* Check VSWEND Flag */ + while(( hsd->Instance->STA & SDMMC_FLAG_VSWEND) != SDMMC_FLAG_VSWEND) + { + if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) + { + return HAL_SD_ERROR_TIMEOUT; + } + } + + /* Clear VSWEND Flag */ + hsd->Instance->ICR = SDMMC_FLAG_VSWEND; + + /* Check BusyD0 status */ + if(( hsd->Instance->STA & SDMMC_FLAG_BUSYD0) == SDMMC_FLAG_BUSYD0) + { + /* Error when enabling 1.8V mode */ + return HAL_SD_ERROR_INVALID_VOLTRANGE; + } + /* Switch to 1.8V OK */ + + /* Disable VSWITCH FLAG from SDMMC IP */ + hsd->Instance->POWER = 0x13U; + + /* Clean Status flags */ + hsd->Instance->ICR = 0xFFFFFFFFU; + } + + hsd->SdCard.CardSpeed = CARD_ULTRA_HIGH_SPEED; + } +#endif /* USE_SD_TRANSCEIVER */ + } + } + + return HAL_SD_ERROR_NONE; +} + +/** + * @brief Turns the SDMMC output signals off. + * @param hsd: Pointer to SD handle + * @retval None + */ +static void SD_PowerOFF(SD_HandleTypeDef *hsd) +{ + /* Set Power State to OFF */ + (void)SDMMC_PowerState_OFF(hsd->Instance); +} + +/** + * @brief Send Status info command. + * @param hsd: pointer to SD handle + * @param pSDstatus: Pointer to the buffer that will contain the SD card status + * SD Status register) + * @retval error state + */ +static uint32_t SD_SendSDStatus(SD_HandleTypeDef *hsd, uint32_t *pSDstatus) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t tickstart = HAL_GetTick(); + uint32_t count; + uint32_t *pData = pSDstatus; + + /* Check SD response */ + if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) + { + return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; + } + + /* Set block size for card if it is not equal to current block size for card */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, 64); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->ErrorCode |= HAL_SD_ERROR_NONE; + return errorstate; + } + + /* Send CMD55 */ + errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16)); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->ErrorCode |= HAL_SD_ERROR_NONE; + return errorstate; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = 64; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_ENABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + + /* Send ACMD13 (SD_APP_STAUS) with argument as card's RCA */ + errorstate = SDMMC_CmdStatusRegister(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->ErrorCode |= HAL_SD_ERROR_NONE; + return errorstate; + } + + /* Get status data */ + while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DATAEND)) + { + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF)) + { + for(count = 0U; count < 8U; count++) + { + *pData = SDMMC_ReadFIFO(hsd->Instance); + pData++; + } + } + + if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) + { + return HAL_SD_ERROR_TIMEOUT; + } + } + + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) + { + return HAL_SD_ERROR_DATA_TIMEOUT; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) + { + return HAL_SD_ERROR_DATA_CRC_FAIL; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) + { + return HAL_SD_ERROR_RX_OVERRUN; + } + else + { + /* Nothing to do */ + } + + while ((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DPSMACT))) + { + *pData = SDMMC_ReadFIFO(hsd->Instance); + pData++; + + if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) + { + return HAL_SD_ERROR_TIMEOUT; + } + } + + /* Clear all the static status flags*/ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + return HAL_SD_ERROR_NONE; +} + +/** + * @brief Returns the current card's status. + * @param hsd: Pointer to SD handle + * @param pCardStatus: pointer to the buffer that will contain the SD card + * status (Card Status register) + * @retval error state + */ +static uint32_t SD_SendStatus(SD_HandleTypeDef *hsd, uint32_t *pCardStatus) +{ + uint32_t errorstate; + + if(pCardStatus == NULL) + { + return HAL_SD_ERROR_PARAM; + } + + /* Send Status command */ + errorstate = SDMMC_CmdSendStatus(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16)); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Get SD card status */ + *pCardStatus = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); + + return HAL_SD_ERROR_NONE; +} + +/** + * @brief Enables the SDMMC wide bus mode. + * @param hsd: pointer to SD handle + * @retval error state + */ +static uint32_t SD_WideBus_Enable(SD_HandleTypeDef *hsd) +{ + uint32_t scr[2] = {0, 0}; + uint32_t errorstate; + + if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) + { + return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; + } + + /* Get SCR Register */ + errorstate = SD_FindSCR(hsd, scr); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* If requested card supports wide bus operation */ + if((scr[1] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO) + { + /* Send CMD55 APP_CMD with argument as card's RCA.*/ + errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16)); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ + errorstate = SDMMC_CmdBusWidth(hsd->Instance, 2); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + return HAL_SD_ERROR_NONE; + } + else + { + return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; + } +} + +/** + * @brief Disables the SDMMC wide bus mode. + * @param hsd: Pointer to SD handle + * @retval error state + */ +static uint32_t SD_WideBus_Disable(SD_HandleTypeDef *hsd) +{ + uint32_t scr[2] = {0, 0}; + uint32_t errorstate; + + if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) + { + return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; + } + + /* Get SCR Register */ + errorstate = SD_FindSCR(hsd, scr); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* If requested card supports 1 bit mode operation */ + if((scr[1] & SDMMC_SINGLE_BUS_SUPPORT) != SDMMC_ALLZERO) + { + /* Send CMD55 APP_CMD with argument as card's RCA */ + errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16)); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Send ACMD6 APP_CMD with argument as 0 for single bus mode */ + errorstate = SDMMC_CmdBusWidth(hsd->Instance, 0); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + return HAL_SD_ERROR_NONE; + } + else + { + return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; + } +} + + +/** + * @brief Finds the SD card SCR register value. + * @param hsd: Pointer to SD handle + * @param pSCR: pointer to the buffer that will contain the SCR value + * @retval error state + */ +static uint32_t SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t tickstart = HAL_GetTick(); + uint32_t index = 0; + uint32_t tempscr[2] = {0, 0}; + uint32_t *scr = pSCR; + + /* Set Block Size To 8 Bytes */ + errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Send CMD55 APP_CMD with argument as card's RCA */ + errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)((hsd->SdCard.RelCardAdd) << 16)); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = 8; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_ENABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + + /* Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ + errorstate = SDMMC_CmdSendSCR(hsd->Instance); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DBCKEND | SDMMC_FLAG_DATAEND)) + { + if((!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOE)) && (index == 0U)) + { + tempscr[0] = SDMMC_ReadFIFO(hsd->Instance); + tempscr[1] = SDMMC_ReadFIFO(hsd->Instance); + index++; + } + + + if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) + { + return HAL_SD_ERROR_TIMEOUT; + } + } + + if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT); + + return HAL_SD_ERROR_DATA_TIMEOUT; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL); + + return HAL_SD_ERROR_DATA_CRC_FAIL; + } + else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR); + + return HAL_SD_ERROR_RX_OVERRUN; + } + else + { + /* No error flag set */ + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ + ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); + scr++; + *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ + ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); + + } + + return HAL_SD_ERROR_NONE; +} + +/** + * @brief Wrap up reading in non-blocking mode. + * @param hsd: pointer to a SD_HandleTypeDef structure that contains + * the configuration information. + * @retval None + */ +static void SD_Read_IT(SD_HandleTypeDef *hsd) +{ + uint32_t count, data; + uint8_t* tmp; + + tmp = hsd->pRxBuffPtr; + + /* Read data from SDMMC Rx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = SDMMC_ReadFIFO(hsd->Instance); + *tmp = (uint8_t)(data & 0xFFU); + tmp++; + *tmp = (uint8_t)((data >> 8U) & 0xFFU); + tmp++; + *tmp = (uint8_t)((data >> 16U) & 0xFFU); + tmp++; + *tmp = (uint8_t)((data >> 24U) & 0xFFU); + tmp++; + } + + hsd->pRxBuffPtr = tmp; +} + +/** + * @brief Wrap up writing in non-blocking mode. + * @param hsd: pointer to a SD_HandleTypeDef structure that contains + * the configuration information. + * @retval None + */ +static void SD_Write_IT(SD_HandleTypeDef *hsd) +{ + uint32_t count, data; + uint8_t* tmp; + + tmp = hsd->pTxBuffPtr; + + /* Write data to SDMMC Tx FIFO */ + for(count = 0U; count < 8U; count++) + { + data = (uint32_t)(*tmp); + tmp++; + data |= ((uint32_t)(*tmp) << 8U); + tmp++; + data |= ((uint32_t)(*tmp) << 16U); + tmp++; + data |= ((uint32_t)(*tmp) << 24U); + tmp++; + (void)SDMMC_WriteFIFO(hsd->Instance, &data); + } + + hsd->pTxBuffPtr = tmp; +} + +uint32_t SD_HighSpeed(SD_HandleTypeDef *hsd) +{ + uint32_t errorstate = HAL_SD_ERROR_NONE; + SDMMC_DataInitTypeDef sdmmc_datainitstructure; + uint32_t SD_hs[16] = {0}; + uint32_t count, loop = 0 ; + uint32_t Timeout = HAL_GetTick(); + + if(hsd->SdCard.CardSpeed == CARD_NORMAL_SPEED) + { + /* Standard Speed Card <= 12.5Mhz */ + return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; + } + + if(hsd->SdCard.CardSpeed == CARD_HIGH_SPEED) + { + /* Initialize the Data control register */ + hsd->Instance->DCTRL = 0; + errorstate = SDMMC_CmdBlockLength(hsd->Instance, 64); + + if (errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + sdmmc_datainitstructure.DataTimeOut = SDMMC_DATATIMEOUT; + sdmmc_datainitstructure.DataLength = 64; + sdmmc_datainitstructure.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B ; + sdmmc_datainitstructure.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + sdmmc_datainitstructure.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + sdmmc_datainitstructure.DPSM = SDMMC_DPSM_ENABLE; + + if ( SDMMC_ConfigData(hsd->Instance, &sdmmc_datainitstructure) != HAL_OK) + { + return (HAL_SD_ERROR_GENERAL_UNKNOWN_ERR); + } + + + errorstate = SDMMC_CmdSwitch(hsd->Instance,SDMMC_SDR25_SWITCH_PATTERN); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DBCKEND| SDMMC_FLAG_DATAEND )) + { + if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF)) + { + for (count = 0U; count < 8U; count++) + { + SD_hs[(8U*loop)+count] = SDMMC_ReadFIFO(hsd->Instance); + } + loop ++; + } + + if((HAL_GetTick()-Timeout) >= SDMMC_DATATIMEOUT) + { + hsd->ErrorCode = HAL_SD_ERROR_TIMEOUT; + hsd->State= HAL_SD_STATE_READY; + return HAL_SD_ERROR_TIMEOUT; + } + } + + if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT); + + errorstate = 0; + + return errorstate; + } + else if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL); + + errorstate = SDMMC_ERROR_DATA_CRC_FAIL; + + return errorstate; + } + else if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR); + + errorstate = SDMMC_ERROR_RX_OVERRUN; + + return errorstate; + } + else + { + /* No error flag set */ + } + + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + + /* Test if the switch mode HS is ok */ + if ((((uint8_t*)SD_hs)[13] & 2U) != 2U) + { + errorstate = SDMMC_ERROR_UNSUPPORTED_FEATURE; + } + + } + + return errorstate; +} + +#if (USE_SD_TRANSCEIVER != 0U) +/** + * @brief Switches the SD card to High Speed mode. + * This API must be used after "Transfer State" + * @note This operation should be followed by the configuration + * of PLL to have SDMMCCK clock between 50 and 120 MHz + * @param hsd: SD handle + * @retval SD Card error state + */ +uint32_t SD_UltraHighSpeed(SD_HandleTypeDef *hsd) +{ + uint32_t errorstate = HAL_SD_ERROR_NONE; + SDMMC_DataInitTypeDef sdmmc_datainitstructure; + uint32_t SD_hs[16] = {0}; + uint32_t count, loop = 0 ; + uint32_t Timeout = HAL_GetTick(); + + if(hsd->SdCard.CardSpeed == CARD_NORMAL_SPEED) + { + /* Standard Speed Card <= 12.5Mhz */ + return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; + } + + if(hsd->SdCard.CardSpeed == CARD_ULTRA_HIGH_SPEED) + { + /* Initialize the Data control register */ + hsd->Instance->DCTRL = 0; + errorstate = SDMMC_CmdBlockLength(hsd->Instance, 64); + + if (errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + sdmmc_datainitstructure.DataTimeOut = SDMMC_DATATIMEOUT; + sdmmc_datainitstructure.DataLength = 64; + sdmmc_datainitstructure.DataBlockSize = SDMMC_DATABLOCK_SIZE_64B ; + sdmmc_datainitstructure.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + sdmmc_datainitstructure.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + sdmmc_datainitstructure.DPSM = SDMMC_DPSM_ENABLE; + + if ( SDMMC_ConfigData(hsd->Instance, &sdmmc_datainitstructure) != HAL_OK) + { + return (HAL_SD_ERROR_GENERAL_UNKNOWN_ERR); + } + + errorstate = SDMMC_CmdSwitch(hsd->Instance, SDMMC_SDR104_SWITCH_PATTERN); + if(errorstate != HAL_SD_ERROR_NONE) + { + return errorstate; + } + + while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DBCKEND| SDMMC_FLAG_DATAEND )) + { + if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF)) + { + for (count = 0U; count < 8U; count++) + { + SD_hs[(8U*loop)+count] = SDMMC_ReadFIFO(hsd->Instance); + } + loop ++; + } + + if((HAL_GetTick()-Timeout) >= SDMMC_DATATIMEOUT) + { + hsd->ErrorCode = HAL_SD_ERROR_TIMEOUT; + hsd->State= HAL_SD_STATE_READY; + return HAL_SD_ERROR_TIMEOUT; + } + } + + if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT); + + errorstate = 0; + + return errorstate; + } + else if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL); + + errorstate = SDMMC_ERROR_DATA_CRC_FAIL; + + return errorstate; + } + else if (__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) + { + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR); + + errorstate = SDMMC_ERROR_RX_OVERRUN; + + return errorstate; + } + else + { + /* No error flag set */ + } + + /* Clear all the static flags */ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); + + /* Test if the switch mode HS is ok */ + if ((((uint8_t*)SD_hs)[13] & 2U) != 2U) + { + errorstate = SDMMC_ERROR_UNSUPPORTED_FEATURE; + } + else + { + HAL_SD_DriveTransceiver_1_8V_Callback(SET); +#if defined (DLYB_SDMMC1) || defined (DLYB_SDMMC2) + /* Enable DelayBlock IP */ + /* SDMMC_FB_CLK tuned feedback clock selected as receive clock, for SDR104 */ + MODIFY_REG(hsd->Instance->CLKCR, SDMMC_CLKCR_SELCLKRX,SDMMC_CLKCR_SELCLKRX_1); + if (DelayBlock_Enable(DLYB_SDMMC1) != HAL_OK) + { + return (HAL_SD_ERROR_GENERAL_UNKNOWN_ERR); + } +#endif /* (DLYB_SDMMC1) || (DLYB_SDMMC2) */ + } + } + + return errorstate; +} +#endif /* USE_SD_TRANSCEIVER */ + +/** + * @brief Read DMA Buffer 0 Transfer completed callbacks + * @param hsd: SD handle + * @retval None + */ +__weak void HAL_SDEx_Read_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SDEx_Read_DMADoubleBuffer0CpltCallback can be implemented in the user file + */ +} + +/** + * @brief Read DMA Buffer 1 Transfer completed callbacks + * @param hsd: SD handle + * @retval None + */ +__weak void HAL_SDEx_Read_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SDEx_Read_DMADoubleBuffer1CpltCallback can be implemented in the user file + */ +} + +/** + * @brief Write DMA Buffer 0 Transfer completed callbacks + * @param hsd: SD handle + * @retval None + */ +__weak void HAL_SDEx_Write_DMADoubleBuffer0CpltCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SDEx_Write_DMADoubleBuffer0CpltCallback can be implemented in the user file + */ +} + +/** + * @brief Write DMA Buffer 1 Transfer completed callbacks + * @param hsd: SD handle + * @retval None + */ +__weak void HAL_SDEx_Write_DMADoubleBuffer1CpltCallback(SD_HandleTypeDef *hsd) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsd); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SDEx_Write_DMADoubleBuffer0CpltCallback can be implemented in the user file + */ +} + + +/** + * @} + */ + +#endif /* HAL_SD_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c new file mode 100644 index 0000000000..a82e8fc6a2 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c @@ -0,0 +1,318 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sd_ex.c + * @author MCD Application Team + * @brief SD card Extended HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Secure Digital (SD) peripheral: + * + Extended features functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The SD Extension HAL driver can be used as follows: + (+) Configure Buffer0 and Buffer1 start address and Buffer size using HAL_SDEx_ConfigDMAMultiBuffer() function. + + (+) Start Read and Write for multibuffer mode using HAL_SDEx_ReadBlocksDMAMultiBuffer() and HAL_SDEx_WriteBlocksDMAMultiBuffer() functions. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2018 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SDEx SDEx + * @brief SD Extended HAL module driver + * @{ + */ + +#ifdef HAL_SD_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @addtogroup SDEx_Exported_Functions + * @{ + */ + +/** @addtogroup SDEx_Exported_Functions_Group1 + * @brief Multibuffer functions + * +@verbatim + ============================================================================== + ##### Multibuffer functions ##### + ============================================================================== + [..] + This section provides functions allowing to configure the multibuffer mode and start read and write + multibuffer mode for SD HAL driver. + +@endverbatim + * @{ + */ + +/** + * @brief Configure DMA Dual Buffer mode. The Data transfer is managed by an Internal DMA. + * @param hsd: SD handle + * @param pDataBuffer0: Pointer to the buffer0 that will contain/receive the transfered data + * @param pDataBuffer1: Pointer to the buffer1 that will contain/receive the transfered data + * @param BufferSize: Size of Buffer0 in Blocks. Buffer0 and Buffer1 must have the same size. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t *pDataBuffer0, uint32_t *pDataBuffer1, uint32_t BufferSize) +{ + if(hsd->State == HAL_SD_STATE_READY) + { + hsd->Instance->IDMABASE0= (uint32_t) pDataBuffer0; + hsd->Instance->IDMABASE1= (uint32_t) pDataBuffer1; + hsd->Instance->IDMABSIZE= (uint32_t) (BLOCKSIZE * BufferSize); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Reads block(s) from a specified address in a card. The received Data will be stored in Buffer0 and Buffer1. + * Buffer0, Buffer1 and BufferSize need to be configured by function HAL_SDEx_ConfigDMAMultiBuffer before call this function. + * @param hsd: SD handle + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Total number of blocks to read + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t DmaBase0_reg, DmaBase1_reg; + uint32_t add = BlockAdd; + + if(hsd->State == HAL_SD_STATE_READY) + { + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + DmaBase0_reg = hsd->Instance->IDMABASE0; + DmaBase1_reg = hsd->Instance->IDMABASE1; + if ((hsd->Instance->IDMABSIZE == 0U) || (DmaBase0_reg == 0U) || (DmaBase1_reg == 0U)) + { + hsd->ErrorCode = HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0; + /* Clear old Flags*/ + __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); + + hsd->ErrorCode = HAL_SD_ERROR_NONE; + hsd->State = HAL_SD_STATE_BUSY; + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + + hsd->Instance->DCTRL |= SDMMC_DCTRL_FIFORST; + + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + + hsd->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_DOUBLE_BUFF0; + + __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND | SDMMC_IT_IDMABTC)); + + /* Read Blocks in DMA mode */ + hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA); + + /* Read Multi Block command */ + errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->State = HAL_SD_STATE_READY; + hsd->ErrorCode |= errorstate; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } + +} + +/** + * @brief Write block(s) to a specified address in a card. The transfered Data are stored in Buffer0 and Buffer1. + * Buffer0, Buffer1 and BufferSize need to be configured by function HAL_SDEx_ConfigDMAMultiBuffer before call this function. + * @param hsd: SD handle + * @param BlockAdd: Block Address from where data is to be read + * @param NumberOfBlocks: Total number of blocks to read + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks) +{ + SDMMC_DataInitTypeDef config; + uint32_t errorstate; + uint32_t DmaBase0_reg, DmaBase1_reg; + uint32_t add = BlockAdd; + + if(hsd->State == HAL_SD_STATE_READY) + { + if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) + { + hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + DmaBase0_reg = hsd->Instance->IDMABASE0; + DmaBase1_reg = hsd->Instance->IDMABASE1; + if ((hsd->Instance->IDMABSIZE == 0U) || (DmaBase0_reg == 0U) || (DmaBase1_reg == 0U)) + { + hsd->ErrorCode = HAL_SD_ERROR_ADDR_OUT_OF_RANGE; + return HAL_ERROR; + } + + /* Initialize data control register */ + hsd->Instance->DCTRL = 0; + + hsd->ErrorCode = HAL_SD_ERROR_NONE; + + hsd->State = HAL_SD_STATE_BUSY; + + if(hsd->SdCard.CardType != CARD_SDHC_SDXC) + { + add *= 512U; + } + + /* Configure the SD DPSM (Data Path State Machine) */ + config.DataTimeOut = SDMMC_DATATIMEOUT; + config.DataLength = BLOCKSIZE * NumberOfBlocks; + config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; + config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; + config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; + config.DPSM = SDMMC_DPSM_DISABLE; + (void)SDMMC_ConfigData(hsd->Instance, &config); + + __SDMMC_CMDTRANS_ENABLE( hsd->Instance); + + hsd->Instance->IDMACTRL = SDMMC_ENABLE_IDMA_DOUBLE_BUFF0; + + __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR | SDMMC_IT_DATAEND | SDMMC_IT_IDMABTC)); + + /* Write Blocks in DMA mode */ + hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA); + + /* Write Multi Block command */ + errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); + if(errorstate != HAL_SD_ERROR_NONE) + { + hsd->State = HAL_SD_STATE_READY; + hsd->ErrorCode |= errorstate; + return HAL_ERROR; + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + + +/** + * @brief Change the DMA Buffer0 or Buffer1 address on the fly. + * @param hsd: pointer to a SD_HandleTypeDef structure. + * @param Buffer: the buffer to be changed, This parameter can be one of + * the following values: SD_DMA_BUFFER0 or SD_DMA_BUFFER1 + * @param pDataBuffer: The new address + * @note The BUFFER0 address can be changed only when the current transfer use + * BUFFER1 and the BUFFER1 address can be changed only when the current + * transfer use BUFFER0. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer) +{ + if(Buffer == SD_DMA_BUFFER0) + { + /* change the buffer0 address */ + hsd->Instance->IDMABASE0 = (uint32_t)pDataBuffer; + } + else + { + /* change the memory1 address */ + hsd->Instance->IDMABASE1 = (uint32_t)pDataBuffer; + } + + return HAL_OK; +} + + +/** + * @} + */ + +#endif /* HAL_SD_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c new file mode 100644 index 0000000000..d43356c60a --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c @@ -0,0 +1,860 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sdram.c + * @author MCD Application Team + * @brief SDRAM HAL module driver. + * This file provides a generic firmware to drive SDRAM memories mounted + * as external device. + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + This driver is a generic layered driver which contains a set of APIs used to + control SDRAM memories. It uses the FMC layer functions to interface + with SDRAM devices. + The following sequence should be followed to configure the FMC to interface + with SDRAM memories: + + (#) Declare a SDRAM_HandleTypeDef handle structure, for example: + SDRAM_HandleTypeDef hdsram + + (++) Fill the SDRAM_HandleTypeDef handle "Init" field with the allowed + values of the structure member. + + (++) Fill the SDRAM_HandleTypeDef handle "Instance" field with a predefined + base register instance for NOR or SDRAM device + + (#) Declare a FMC_SDRAM_TimingTypeDef structure; for example: + FMC_SDRAM_TimingTypeDef Timing; + and fill its fields with the allowed values of the structure member. + + (#) Initialize the SDRAM Controller by calling the function HAL_SDRAM_Init(). This function + performs the following sequence: + + (##) MSP hardware layer configuration using the function HAL_SDRAM_MspInit() + (##) Control register configuration using the FMC SDRAM interface function + FMC_SDRAM_Init() + (##) Timing register configuration using the FMC SDRAM interface function + FMC_SDRAM_Timing_Init() + (##) Program the SDRAM external device by applying its initialization sequence + according to the device plugged in your hardware. This step is mandatory + for accessing the SDRAM device. + + (#) At this stage you can perform read/write accesses from/to the memory connected + to the SDRAM Bank. You can perform either polling or DMA transfer using the + following APIs: + (++) HAL_SDRAM_Read()/HAL_SDRAM_Write() for polling read/write access + (++) HAL_SDRAM_Read_DMA()/HAL_SDRAM_Write_DMA() for DMA read/write transfer + + (#) You can also control the SDRAM device by calling the control APIs HAL_SDRAM_WriteOperation_Enable()/ + HAL_SDRAM_WriteOperation_Disable() to respectively enable/disable the SDRAM write operation or + the function HAL_SDRAM_SendCommand() to send a specified command to the SDRAM + device. The command to be sent must be configured with the FMC_SDRAM_CommandTypeDef + structure. + + (#) You can continuously monitor the SDRAM device HAL state by calling the function + HAL_SDRAM_GetState() + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SDRAM SDRAM + * @brief SDRAM driver modules + * @{ + */ +#ifdef HAL_SDRAM_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ +/** @defgroup SDRAM_Exported_Functions SDRAM Exported Functions + * @{ + */ + +/** @defgroup SDRAM_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * + @verbatim + ============================================================================== + ##### SDRAM Initialization and de_initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to initialize/de-initialize + the SDRAM memory + +@endverbatim + * @{ + */ + +/** + * @brief Performs the SDRAM device initialization sequence. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param Timing: Pointer to SDRAM control timing structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Init(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_TimingTypeDef *Timing) +{ + /* Check the SDRAM handle parameter */ + if(hsdram == NULL) + { + return HAL_ERROR; + } + + if(hsdram->State == HAL_SDRAM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hsdram->Lock = HAL_UNLOCKED; + /* Initialize the low level hardware (MSP) */ + HAL_SDRAM_MspInit(hsdram); + } + + /* Initialize the SDRAM controller state */ + hsdram->State = HAL_SDRAM_STATE_BUSY; + + /* Initialize SDRAM control Interface */ + FMC_SDRAM_Init(hsdram->Instance, &(hsdram->Init)); + + /* Initialize SDRAM timing Interface */ + FMC_SDRAM_Timing_Init(hsdram->Instance, Timing, hsdram->Init.SDBank); + + /* Enable FMC IP */ + __FMC_ENABLE(); + + /* Update the SDRAM controller state */ + hsdram->State = HAL_SDRAM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Perform the SDRAM device initialization sequence. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_DeInit(SDRAM_HandleTypeDef *hsdram) +{ + /* Initialize the low level hardware (MSP) */ + HAL_SDRAM_MspDeInit(hsdram); + + /* Configure the SDRAM registers with their reset values */ + FMC_SDRAM_DeInit(hsdram->Instance, hsdram->Init.SDBank); + + /* Reset the SDRAM controller state */ + hsdram->State = HAL_SDRAM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + +/** + * @brief SDRAM MSP Init. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval None + */ +__weak void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef *hsdram) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsdram); + + /* NOTE: This function Should not be modified, when the callback is needed, + the HAL_SDRAM_MspInit could be implemented in the user file + */ +} + +/** + * @brief SDRAM MSP DeInit. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval None + */ +__weak void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef *hsdram) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsdram); + + /* NOTE: This function Should not be modified, when the callback is needed, + the HAL_SDRAM_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief This function handles SDRAM refresh error interrupt request. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval HAL status +*/ +void HAL_SDRAM_IRQHandler(SDRAM_HandleTypeDef *hsdram) +{ + /* Check SDRAM interrupt Rising edge flag */ + if(__FMC_SDRAM_GET_FLAG(hsdram->Instance, FMC_SDRAM_FLAG_REFRESH_IT)) + { + /* SDRAM refresh error interrupt callback */ + HAL_SDRAM_RefreshErrorCallback(hsdram); + + /* Clear SDRAM refresh error interrupt pending bit */ + __FMC_SDRAM_CLEAR_FLAG(hsdram->Instance, FMC_SDRAM_FLAG_REFRESH_ERROR); + } +} + +/** + * @brief SDRAM Refresh error callback. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval None + */ +__weak void HAL_SDRAM_RefreshErrorCallback(SDRAM_HandleTypeDef *hsdram) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsdram); + + /* NOTE: This function Should not be modified, when the callback is needed, + the HAL_SDRAM_RefreshErrorCallback could be implemented in the user file + */ +} + +/** + * @brief DMA transfer complete callback. + * @param hmdma: pointer to a MDMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +__weak void HAL_SDRAM_DMA_XferCpltCallback(MDMA_HandleTypeDef *hmdma) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdma); + + /* NOTE: This function Should not be modified, when the callback is needed, + the HAL_SDRAM_DMA_XferCpltCallback could be implemented in the user file + */ +} + +/** + * @brief DMA transfer complete error callback. + * @param hmdma: DMA handle + * @retval None + */ +__weak void HAL_SDRAM_DMA_XferErrorCallback(MDMA_HandleTypeDef *hmdma) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdma); + + /* NOTE: This function Should not be modified, when the callback is needed, + the HAL_SDRAM_DMA_XferErrorCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SDRAM_Exported_Functions_Group2 Input and Output functions + * @brief Input Output and memory control functions + * + @verbatim + ============================================================================== + ##### SDRAM Input and Output functions ##### + ============================================================================== + [..] + This section provides functions allowing to use and control the SDRAM memory + +@endverbatim + * @{ + */ + +/** + * @brief Reads 8-bit data buffer from the SDRAM memory. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Read_8b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize) +{ + __IO uint8_t *pSdramAddress = (uint8_t *)pAddress; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if(hsdram->State == HAL_SDRAM_STATE_PRECHARGED) + { + return HAL_ERROR; + } + + /* Read data from source */ + for(; BufferSize != 0; BufferSize--) + { + *pDstBuffer = *(__IO uint8_t *)pSdramAddress; + pDstBuffer++; + pSdramAddress++; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + + +/** + * @brief Writes 8-bit data buffer to SDRAM memory. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Write_8b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize) +{ + __IO uint8_t *pSdramAddress = (uint8_t *)pAddress; + uint32_t tmp = 0; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + tmp = hsdram->State; + + if(tmp == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if((tmp == HAL_SDRAM_STATE_PRECHARGED) || (tmp == HAL_SDRAM_STATE_WRITE_PROTECTED)) + { + return HAL_ERROR; + } + + /* Write data to memory */ + for(; BufferSize != 0; BufferSize--) + { + *(__IO uint8_t *)pSdramAddress = *pSrcBuffer; + pSrcBuffer++; + pSdramAddress++; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + + +/** + * @brief Reads 16-bit data buffer from the SDRAM memory. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Read_16b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize) +{ + __IO uint16_t *pSdramAddress = (uint16_t *)pAddress; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if(hsdram->State == HAL_SDRAM_STATE_PRECHARGED) + { + return HAL_ERROR; + } + + /* Read data from source */ + for(; BufferSize != 0; BufferSize--) + { + *pDstBuffer = *(__IO uint16_t *)pSdramAddress; + pDstBuffer++; + pSdramAddress++; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + +/** + * @brief Writes 16-bit data buffer to SDRAM memory. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Write_16b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize) +{ + __IO uint16_t *pSdramAddress = (uint16_t *)pAddress; + uint32_t tmp = 0; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + tmp = hsdram->State; + + if(tmp == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if((tmp == HAL_SDRAM_STATE_PRECHARGED) || (tmp == HAL_SDRAM_STATE_WRITE_PROTECTED)) + { + return HAL_ERROR; + } + + /* Write data to memory */ + for(; BufferSize != 0; BufferSize--) + { + *(__IO uint16_t *)pSdramAddress = *pSrcBuffer; + pSrcBuffer++; + pSdramAddress++; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + +/** + * @brief Reads 32-bit data buffer from the SDRAM memory. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Read_32b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize) +{ + __IO uint32_t *pSdramAddress = (uint32_t *)pAddress; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if(hsdram->State == HAL_SDRAM_STATE_PRECHARGED) + { + return HAL_ERROR; + } + + /* Read data from source */ + for(; BufferSize != 0; BufferSize--) + { + *pDstBuffer = *(__IO uint32_t *)pSdramAddress; + pDstBuffer++; + pSdramAddress++; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + +/** + * @brief Writes 32-bit data buffer to SDRAM memory. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Write_32b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize) +{ + __IO uint32_t *pSdramAddress = (uint32_t *)pAddress; + uint32_t tmp = 0; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + tmp = hsdram->State; + + if(tmp == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if((tmp == HAL_SDRAM_STATE_PRECHARGED) || (tmp == HAL_SDRAM_STATE_WRITE_PROTECTED)) + { + return HAL_ERROR; + } + + /* Write data to memory */ + for(; BufferSize != 0; BufferSize--) + { + *(__IO uint32_t *)pSdramAddress = *pSrcBuffer; + pSrcBuffer++; + pSdramAddress++; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + +/** + * @brief Reads a Words data from the SDRAM memory using DMA transfer. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Read_DMA(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize) +{ + uint32_t tmp = 0; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + tmp = hsdram->State; + + if(tmp == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if(tmp == HAL_SDRAM_STATE_PRECHARGED) + { + return HAL_ERROR; + } + + /* Configure DMA user callbacks */ + hsdram->hmdma->XferCpltCallback = HAL_SDRAM_DMA_XferCpltCallback; + hsdram->hmdma->XferErrorCallback = HAL_SDRAM_DMA_XferErrorCallback; + + /* Enable the DMA Stream */ + HAL_MDMA_Start_IT(hsdram->hmdma, (uint32_t)pAddress, (uint32_t)pDstBuffer, (uint32_t)(BufferSize * 4), 1); + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + +/** + * @brief Writes a Words data buffer to SDRAM memory using DMA transfer. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_Write_DMA(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize) +{ + uint32_t tmp = 0; + + /* Process Locked */ + __HAL_LOCK(hsdram); + + /* Check the SDRAM controller state */ + tmp = hsdram->State; + + if(tmp == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + else if((tmp == HAL_SDRAM_STATE_PRECHARGED) || (tmp == HAL_SDRAM_STATE_WRITE_PROTECTED)) + { + return HAL_ERROR; + } + + /* Configure DMA user callbacks */ + hsdram->hmdma->XferCpltCallback = HAL_SDRAM_DMA_XferCpltCallback; + hsdram->hmdma->XferErrorCallback = HAL_SDRAM_DMA_XferErrorCallback; + + /* Enable the DMA Stream */ + HAL_MDMA_Start_IT(hsdram->hmdma, (uint32_t)pSrcBuffer, (uint32_t)pAddress, (uint32_t)(BufferSize * 4), 1); + + /* Process Unlocked */ + __HAL_UNLOCK(hsdram); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup SDRAM_Exported_Functions_Group3 Control functions + * @brief management functions + * +@verbatim + ============================================================================== + ##### SDRAM Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control dynamically + the SDRAM interface. + +@endverbatim + * @{ + */ + +/** + * @brief Enables dynamically SDRAM write protection. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_WriteProtection_Enable(SDRAM_HandleTypeDef *hsdram) +{ + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_BUSY; + + /* Enable write protection */ + FMC_SDRAM_WriteProtection_Enable(hsdram->Instance, hsdram->Init.SDBank); + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_WRITE_PROTECTED; + + return HAL_OK; +} + +/** + * @brief Disables dynamically SDRAM write protection. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_WriteProtection_Disable(SDRAM_HandleTypeDef *hsdram) +{ + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_BUSY; + + /* Disable write protection */ + FMC_SDRAM_WriteProtection_Disable(hsdram->Instance, hsdram->Init.SDBank); + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Sends Command to the SDRAM bank. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param Command: SDRAM command structure + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_SendCommand(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_CommandTypeDef *Command, uint32_t Timeout) +{ + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_BUSY; + + /* Send SDRAM command */ + FMC_SDRAM_SendCommand(hsdram->Instance, Command, Timeout); + + /* Update the SDRAM controller state state */ + if(Command->CommandMode == FMC_SDRAM_CMD_PALL) + { + hsdram->State = HAL_SDRAM_STATE_PRECHARGED; + } + else + { + hsdram->State = HAL_SDRAM_STATE_READY; + } + + return HAL_OK; +} + +/** + * @brief Programs the SDRAM Memory Refresh rate. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param RefreshRate: The SDRAM refresh rate value + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_ProgramRefreshRate(SDRAM_HandleTypeDef *hsdram, uint32_t RefreshRate) +{ + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_BUSY; + + /* Program the refresh rate */ + FMC_SDRAM_ProgramRefreshRate(hsdram->Instance ,RefreshRate); + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Sets the Number of consecutive SDRAM Memory auto Refresh commands. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @param AutoRefreshNumber: The SDRAM auto Refresh number + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SDRAM_SetAutoRefreshNumber(SDRAM_HandleTypeDef *hsdram, uint32_t AutoRefreshNumber) +{ + /* Check the SDRAM controller state */ + if(hsdram->State == HAL_SDRAM_STATE_BUSY) + { + return HAL_BUSY; + } + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_BUSY; + + /* Set the Auto-Refresh number */ + FMC_SDRAM_SetAutoRefreshNumber(hsdram->Instance ,AutoRefreshNumber); + + /* Update the SDRAM state */ + hsdram->State = HAL_SDRAM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Returns the SDRAM memory current mode. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval The SDRAM memory mode. + */ +uint32_t HAL_SDRAM_GetModeStatus(SDRAM_HandleTypeDef *hsdram) +{ + /* Return the SDRAM memory current mode */ + return(FMC_SDRAM_GetModeStatus(hsdram->Instance, hsdram->Init.SDBank)); +} + +/** + * @} + */ + +/** @defgroup SDRAM_Exported_Functions_Group4 State functions + * @brief Peripheral State functions + * +@verbatim + ============================================================================== + ##### SDRAM State functions ##### + ============================================================================== + [..] + This subsection permits to get in run-time the status of the SDRAM controller + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Returns the SDRAM state. + * @param hsdram: pointer to a SDRAM_HandleTypeDef structure that contains + * the configuration information for SDRAM module. + * @retval HAL state + */ +HAL_SDRAM_StateTypeDef HAL_SDRAM_GetState(SDRAM_HandleTypeDef *hsdram) +{ + return hsdram->State; +} + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_SDRAM_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard.c new file mode 100644 index 0000000000..43a1bb1d86 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard.c @@ -0,0 +1,2341 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_smartcard.c + * @author MCD Application Team + * @brief SMARTCARD HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the SMARTCARD peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State and Error functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The SMARTCARD HAL driver can be used as follows: + + (#) Declare a SMARTCARD_HandleTypeDef handle structure (eg. SMARTCARD_HandleTypeDef hsmartcard). + (#) Associate a USART to the SMARTCARD handle hsmartcard. + (#) Initialize the SMARTCARD low level resources by implementing the HAL_SMARTCARD_MspInit() API: + (++) Enable the USARTx interface clock. + (++) USART pins configuration: + (+++) Enable the clock for the USART GPIOs. + (+++) Configure the USART pins (TX as alternate function pull-up, RX as alternate function Input). + (++) NVIC configuration if you need to use interrupt process (HAL_SMARTCARD_Transmit_IT() + and HAL_SMARTCARD_Receive_IT() APIs): + (+++) Configure the USARTx interrupt priority. + (+++) Enable the NVIC USART IRQ handle. + (++) DMA Configuration if you need to use DMA process (HAL_SMARTCARD_Transmit_DMA() + and HAL_SMARTCARD_Receive_DMA() APIs): + (+++) Declare a DMA handle structure for the Tx/Rx channel. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. + (+++) Configure the DMA Tx/Rx channel. + (+++) Associate the initialized DMA handle to the SMARTCARD DMA Tx/Rx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the DMA Tx/Rx channel. + + (#) Program the Baud Rate, Parity, Mode(Receiver/Transmitter), clock enabling/disabling and accordingly, + the clock parameters (parity, phase, last bit), prescaler value, guard time and NACK on transmission + error enabling or disabling in the hsmartcard handle Init structure. + + (#) If required, program SMARTCARD advanced features (TX/RX pins swap, TimeOut, auto-retry counter,...) + in the hsmartcard handle AdvancedInit structure. + + (#) Initialize the SMARTCARD registers by calling the HAL_SMARTCARD_Init() API: + (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc) + by calling the customized HAL_SMARTCARD_MspInit() API. + [..] + (@) The specific SMARTCARD interrupts (Transmission complete interrupt, + RXNE interrupt and Error Interrupts) will be managed using the macros + __HAL_SMARTCARD_ENABLE_IT() and __HAL_SMARTCARD_DISABLE_IT() inside the transmit and receive process. + + [..] + [..] Three operation modes are available within this driver : + + *** Polling mode IO operation *** + ================================= + [..] + (+) Send an amount of data in blocking mode using HAL_SMARTCARD_Transmit() + (+) Receive an amount of data in blocking mode using HAL_SMARTCARD_Receive() + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Send an amount of data in non-blocking mode using HAL_SMARTCARD_Transmit_IT() + (+) At transmission end of transfer HAL_SMARTCARD_TxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMARTCARD_TxCpltCallback() + (+) Receive an amount of data in non-blocking mode using HAL_SMARTCARD_Receive_IT() + (+) At reception end of transfer HAL_SMARTCARD_RxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMARTCARD_RxCpltCallback() + (+) In case of transfer Error, HAL_SMARTCARD_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_SMARTCARD_ErrorCallback() + + *** DMA mode IO operation *** + ============================== + [..] + (+) Send an amount of data in non-blocking mode (DMA) using HAL_SMARTCARD_Transmit_DMA() + (+) At transmission end of transfer HAL_SMARTCARD_TxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMARTCARD_TxCpltCallback() + (+) Receive an amount of data in non-blocking mode (DMA) using HAL_SMARTCARD_Receive_DMA() + (+) At reception end of transfer HAL_SMARTCARD_RxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMARTCARD_RxCpltCallback() + (+) In case of transfer Error, HAL_SMARTCARD_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_SMARTCARD_ErrorCallback() + + *** SMARTCARD HAL driver macros list *** + ======================================== + [..] + Below the list of most used macros in SMARTCARD HAL driver. + + (+) __HAL_SMARTCARD_GET_FLAG : Check whether or not the specified SMARTCARD flag is set + (+) __HAL_SMARTCARD_CLEAR_FLAG : Clear the specified SMARTCARD pending flag + (+) __HAL_SMARTCARD_ENABLE_IT: Enable the specified SMARTCARD interrupt + (+) __HAL_SMARTCARD_DISABLE_IT: Disable the specified SMARTCARD interrupt + (+) __HAL_SMARTCARD_GET_IT_SOURCE: Check whether or not the specified SMARTCARD interrupt is enabled + + [..] + (@) You can refer to the SMARTCARD HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SMARTCARD SMARTCARD + * @brief HAL SMARTCARD module driver + * @{ + */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup SMARTCARD_Private_Constants SMARTCARD Private Constants + * @{ + */ +#define SMARTCARD_TEACK_REACK_TIMEOUT 1000 /*!< SMARTCARD TX or RX enable acknowledge time-out value */ + +#define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | \ + USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8 | \ + USART_CR1_FIFOEN)) /*!< USART CR1 fields of parameters set by SMARTCARD_SetConfig API */ +#define USART_CR2_CLK_FIELDS ((uint32_t)(USART_CR2_CLKEN|USART_CR2_CPOL|USART_CR2_CPHA|USART_CR2_LBCL)) /*!< SMARTCARD clock-related USART CR2 fields of parameters */ +#define USART_CR2_FIELDS ((uint32_t)(USART_CR2_RTOEN|USART_CR2_CLK_FIELDS|USART_CR2_STOP)) /*!< USART CR2 fields of parameters set by SMARTCARD_SetConfig API */ +#define USART_CR3_FIELDS ((uint32_t)(USART_CR3_ONEBIT|USART_CR3_NACK|USART_CR3_SCARCNT|\ + USART_CR3_TXFTCFG|USART_CR3_RXFTCFG)) /*!< USART CR3 fields of parameters set by SMARTCARD_SetConfig API */ +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup SMARTCARD_Private_Functions + * @{ + */ +static HAL_StatusTypeDef SMARTCARD_SetConfig(SMARTCARD_HandleTypeDef *hsmartcard); +static void SMARTCARD_AdvFeatureConfig(SMARTCARD_HandleTypeDef *hsmartcard); +static HAL_StatusTypeDef SMARTCARD_CheckIdleState(SMARTCARD_HandleTypeDef *hsmartcard); +static HAL_StatusTypeDef SMARTCARD_WaitOnFlagUntilTimeout(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout); +static void SMARTCARD_EndTxTransfer(SMARTCARD_HandleTypeDef *hsmartcard); +static void SMARTCARD_EndRxTransfer(SMARTCARD_HandleTypeDef *hsmartcard); +static void SMARTCARD_DMATransmitCplt(DMA_HandleTypeDef *hdma); +static void SMARTCARD_DMAReceiveCplt(DMA_HandleTypeDef *hdma); +static void SMARTCARD_DMAError(DMA_HandleTypeDef *hdma); +static void SMARTCARD_DMAAbortOnError(DMA_HandleTypeDef *hdma); +static void SMARTCARD_DMATxAbortCallback(DMA_HandleTypeDef *hdma); +static void SMARTCARD_DMARxAbortCallback(DMA_HandleTypeDef *hdma); +static void SMARTCARD_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); +static void SMARTCARD_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); +static HAL_StatusTypeDef SMARTCARD_Transmit_IT(SMARTCARD_HandleTypeDef *hsmartcard); +static HAL_StatusTypeDef SMARTCARD_EndTransmit_IT(SMARTCARD_HandleTypeDef *hsmartcard); +static HAL_StatusTypeDef SMARTCARD_Receive_IT(SMARTCARD_HandleTypeDef *hsmartcard); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup SMARTCARD_Exported_Functions SMARTCARD Exported Functions + * @{ + */ + +/** @defgroup SMARTCARD_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and Configuration functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the USARTx + associated to the SmartCard. + (+) These parameters can be configured: + (++) Baud Rate + (++) Parity: parity should be enabled, frame Length is fixed to 8 bits plus parity + (++) Receiver/transmitter modes + (++) Synchronous mode (and if enabled, phase, polarity and last bit parameters) + (++) Prescaler value + (++) Guard bit time + (++) NACK enabling or disabling on transmission error + + (+) The following advanced features can be configured as well: + (++) TX and/or RX pin level inversion + (++) data logical level inversion + (++) RX and TX pins swap + (++) RX overrun detection disabling + (++) DMA disabling on RX error + (++) MSB first on communication line + (++) Time out enabling (and if activated, timeout value) + (++) Block length + (++) Auto-retry counter + [..] + The HAL_SMARTCARD_Init() API follows the USART synchronous configuration procedures + (details for the procedures are available in reference manual). + +@endverbatim + + The USART frame format is given in the following table: + + Table 1. USART frame format. + +---------------------------------------------------------------+ + | M1M0 bits | PCE bit | USART frame | + |-----------------------|---------------------------------------| + | 01 | 1 | | SB | 8 bit data | PB | STB | | + +---------------------------------------------------------------+ + + + * @{ + */ + +/** + * @brief Initialize the SMARTCARD mode according to the specified + * parameters in the SMARTCARD_HandleTypeDef and initialize the associated handle. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_Init(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Check the SMARTCARD handle allocation */ + if(hsmartcard == NULL) + { + return HAL_ERROR; + } + + /* Check the USART associated to the SMARTCARD handle */ + assert_param(IS_SMARTCARD_INSTANCE(hsmartcard->Instance)); + + if(hsmartcard->gState == HAL_SMARTCARD_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hsmartcard->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_SMARTCARD_MspInit(hsmartcard); + } + + hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY; + + /* Disable the Peripheral to set smartcard mode */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + /* In SmartCard mode, the following bits must be kept cleared: + - LINEN in the USART_CR2 register, + - HDSEL and IREN bits in the USART_CR3 register.*/ + CLEAR_BIT(hsmartcard->Instance->CR2, USART_CR2_LINEN); + CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN)); + + /* set the USART in SMARTCARD mode */ + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_SCEN); + + /* Set the SMARTCARD Communication parameters */ + if (SMARTCARD_SetConfig(hsmartcard) == HAL_ERROR) + { + return HAL_ERROR; + } + + /* Set the SMARTCARD transmission completion indication */ + SMARTCARD_TRANSMISSION_COMPLETION_SETTING(hsmartcard); + + if (hsmartcard->AdvancedInit.AdvFeatureInit != SMARTCARD_ADVFEATURE_NO_INIT) + { + SMARTCARD_AdvFeatureConfig(hsmartcard); + } + + /* Enable the Peripheral */ + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + /* TEACK and/or REACK to check before moving hsmartcard->gState and hsmartcard->RxState to Ready */ + return (SMARTCARD_CheckIdleState(hsmartcard)); +} + +/** + * @brief DeInitialize the SMARTCARD peripheral. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_DeInit(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Check the SMARTCARD handle allocation */ + if(hsmartcard == NULL) + { + return HAL_ERROR; + } + + /* Check the USART/UART associated to the SMARTCARD handle */ + assert_param(IS_SMARTCARD_INSTANCE(hsmartcard->Instance)); + + hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY; + + /* Disable the Peripheral */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + WRITE_REG(hsmartcard->Instance->CR1, 0x0); + WRITE_REG(hsmartcard->Instance->CR2, 0x0); + WRITE_REG(hsmartcard->Instance->CR3, 0x0); + WRITE_REG(hsmartcard->Instance->RTOR, 0x0); + WRITE_REG(hsmartcard->Instance->GTPR, 0x0); + + /* DeInit the low level hardware */ + HAL_SMARTCARD_MspDeInit(hsmartcard); + + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + hsmartcard->gState = HAL_SMARTCARD_STATE_RESET; + hsmartcard->RxState = HAL_SMARTCARD_STATE_RESET; + + /* Process Unlock */ + __HAL_UNLOCK(hsmartcard); + + return HAL_OK; +} + +/** + * @brief Initialize the SMARTCARD MSP. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_MspInit(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_MspInit can be implemented in the user file + */ +} + +/** + * @brief DeInitialize the SMARTCARD MSP. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_MspDeInit(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SMARTCARD_Exported_Functions_Group2 IO operation functions + * @brief SMARTCARD Transmit and Receive functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to manage the SMARTCARD data transfers. + + [..] + Smartcard is a single wire half duplex communication protocol. + The Smartcard interface is designed to support asynchronous protocol Smartcards as + defined in the ISO 7816-3 standard. The USART should be configured as: + (+) 8 bits plus parity: where M=1 and PCE=1 in the USART_CR1 register + (+) 1.5 stop bits when transmitting and receiving: where STOP=11 in the USART_CR2 register. + + [..] + (+) There are two modes of transfer: + (++) Blocking mode: The communication is performed in polling mode. + The HAL status of all data processing is returned by the same function + after finishing transfer. + (++) Non-Blocking mode: The communication is performed using Interrupts + or DMA, the relevant API's return the HAL status. + The end of the data processing will be indicated through the + dedicated SMARTCARD IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + (++) The HAL_SMARTCARD_TxCpltCallback(), HAL_SMARTCARD_RxCpltCallback() user callbacks + will be executed respectively at the end of the Transmit or Receive process + The HAL_SMARTCARD_ErrorCallback() user callback will be executed when a communication + error is detected. + + (+) Blocking mode APIs are : + (++) HAL_SMARTCARD_Transmit() + (++) HAL_SMARTCARD_Receive() + + (+) Non Blocking mode APIs with Interrupt are : + (++) HAL_SMARTCARD_Transmit_IT() + (++) HAL_SMARTCARD_Receive_IT() + (++) HAL_SMARTCARD_IRQHandler() + + (+) Non Blocking mode functions with DMA are : + (++) HAL_SMARTCARD_Transmit_DMA() + (++) HAL_SMARTCARD_Receive_DMA() + + (+) A set of Transfer Complete Callbacks are provided in non Blocking mode: + (++) HAL_SMARTCARD_TxCpltCallback() + (++) HAL_SMARTCARD_RxCpltCallback() + (++) HAL_SMARTCARD_ErrorCallback() + + (#) Non-Blocking mode transfers could be aborted using Abort API's : + (+) HAL_SMARTCARD_Abort() + (+) HAL_SMARTCARD_AbortTransmit() + (+) HAL_SMARTCARD_AbortReceive() + (+) HAL_SMARTCARD_Abort_IT() + (+) HAL_SMARTCARD_AbortTransmit_IT() + (+) HAL_SMARTCARD_AbortReceive_IT() + + (#) For Abort services based on interrupts (HAL_SMARTCARD_Abortxxx_IT), a set of Abort Complete Callbacks are provided: + (+) HAL_SMARTCARD_AbortCpltCallback() + (+) HAL_SMARTCARD_AbortTransmitCpltCallback() + (+) HAL_SMARTCARD_AbortReceiveCpltCallback() + + (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. + Errors are handled as follows : + (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but error severity is + to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Interrupt mode reception . + Received character is then retrieved and stored in Rx buffer, Error code is set to allow user to identify error type, + and HAL_SMARTCARD_ErrorCallback() user callback is executed. Transfer is kept ongoing on SMARTCARD side. + If user wants to abort it, Abort services should be called by user. + (+) Error is considered as Blocking : Transfer could not be completed properly and is aborted. + This concerns Frame Error in Interrupt mode tranmission, Overrun Error in Interrupt mode reception and all errors in DMA mode. + Error code is set to allow user to identify error type, and HAL_SMARTCARD_ErrorCallback() user callback is executed. + +@endverbatim + * @{ + */ + +/** + * @brief Send an amount of data in blocking mode. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param pData pointer to data buffer. + * @param Size amount of data to be sent. + * @param Timeout Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Check that a Tx process is not already ongoing */ + if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY_TX; + + /* Disable the Peripheral first to update mode for TX master */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + /* Disable Rx, enable Tx */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); + SET_BIT(hsmartcard->Instance->RQR, SMARTCARD_RXDATA_FLUSH_REQUEST); + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TE); + + /* Enable the Peripheral */ + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + hsmartcard->TxXferSize = Size; + hsmartcard->TxXferCount = Size; + + while(hsmartcard->TxXferCount > 0) + { + hsmartcard->TxXferCount--; + if(SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, SMARTCARD_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + hsmartcard->Instance->TDR = (*pData++ & (uint8_t)0xFF); + } + if(SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, SMARTCARD_TRANSMISSION_COMPLETION_FLAG(hsmartcard), RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + /* Re-enable Rx at end of transmission if initial mode is Rx/Tx */ + if(hsmartcard->Init.Mode == SMARTCARD_MODE_TX_RX) + { + /* Disable the Peripheral first to update modes */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); + /* Enable the Peripheral */ + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + } + + /* At end of Tx process, restore hsmartcard->gState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in blocking mode. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param pData pointer to data buffer. + * @param Size amount of data to be received. + * @param Timeout Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + /* Check that a Rx process is not already ongoing */ + if(hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + hsmartcard->RxState = HAL_SMARTCARD_STATE_BUSY_RX; + + /* Init tickstart for timeout managment*/ + tickstart = HAL_GetTick(); + + hsmartcard->RxXferSize = Size; + hsmartcard->RxXferCount = Size; + + /* Check the remain data to be received */ + while(hsmartcard->RxXferCount > 0) + { + hsmartcard->RxXferCount--; + + if(SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, SMARTCARD_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + *pData++ = (uint8_t)(hsmartcard->Instance->RDR & (uint8_t)0x00FF); + } + + /* At end of Rx process, restore hsmartcard->RxState to Ready */ + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Send an amount of data in interrupt mode. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param pData pointer to data buffer. + * @param Size amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_Transmit_IT(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size) +{ + /* Check that a Tx process is not already ongoing */ + if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY_TX; + + hsmartcard->pTxBuffPtr = pData; + hsmartcard->TxXferSize = Size; + hsmartcard->TxXferCount = Size; + + /* Disable the Peripheral first to update mode for TX master */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + /* Disable Rx, enable Tx */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); + SET_BIT(hsmartcard->Instance->RQR, SMARTCARD_RXDATA_FLUSH_REQUEST); + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TE); + + /* Enable the Peripheral */ + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + /* Enable the SMARTCARD Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + /* Enable the TX FIFO threshold interrupt (if FIFO mode is enabled) or + Transmit Data Register Empty interrupt (if FIFO mode is Disabled). + */ + if (READ_BIT(hsmartcard->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_TXFTIE); + } + else + { + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TXEIE); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in interrupt mode. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param pData pointer to data buffer. + * @param Size amount of data to be received. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_Receive_IT(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size) +{ + /* Check that a Rx process is not already ongoing */ + if(hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + hsmartcard->RxState = HAL_SMARTCARD_STATE_BUSY_RX; + + hsmartcard->pRxBuffPtr = pData; + hsmartcard->RxXferSize = Size; + hsmartcard->RxXferCount = Size; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + /* Enable the SMARTCARD Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + /* Enable the SMARTCARD Parity Error interupt and RX FIFO Threshold interrupt + (if FIFO mode is enabled) or Data Register Not Empty interrupt + (if FIFO mode is disabled). + */ + if (READ_BIT(hsmartcard->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_RXFTIE); + } + else + { + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Send an amount of data in DMA mode. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param pData pointer to data buffer. + * @param Size amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_Transmit_DMA(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size) +{ + /* Check that a Tx process is not already ongoing */ + if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY_TX; + + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + hsmartcard->pTxBuffPtr = pData; + hsmartcard->TxXferSize = Size; + hsmartcard->TxXferCount = Size; + + /* Disable the Peripheral first to update mode for TX master */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + /* Disable Rx, enable Tx */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); + SET_BIT(hsmartcard->Instance->RQR, SMARTCARD_RXDATA_FLUSH_REQUEST); + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TE); + + /* Enable the Peripheral */ + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + + /* Set the SMARTCARD DMA transfer complete callback */ + hsmartcard->hdmatx->XferCpltCallback = SMARTCARD_DMATransmitCplt; + + /* Set the SMARTCARD error callback */ + hsmartcard->hdmatx->XferErrorCallback = SMARTCARD_DMAError; + + /* Set the DMA abort callback */ + hsmartcard->hdmatx->XferAbortCallback = NULL; + + /* Enable the SMARTCARD transmit DMA channel */ + HAL_DMA_Start_IT(hsmartcard->hdmatx, (uint32_t)hsmartcard->pTxBuffPtr, (uint32_t)&hsmartcard->Instance->TDR, Size); + + /* Clear the TC flag in the ICR register */ + CLEAR_BIT(hsmartcard->Instance->ICR, USART_ICR_TCCF); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + /* Enable the UART Error Interrupt: (Frame error) */ + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + /* Enable the DMA transfer for transmit request by setting the DMAT bit + in the SMARTCARD associated USART CR3 register */ + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in DMA mode. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param pData pointer to data buffer. + * @param Size amount of data to be received. + * @note The SMARTCARD-associated USART parity is enabled (PCE = 1), + * the received data contain the parity bit (MSB position). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARD_Receive_DMA(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16_t Size) +{ + /* Check that a Rx process is not already ongoing */ + if(hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) + { + if((pData == NULL) || (Size == 0)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + hsmartcard->RxState = HAL_SMARTCARD_STATE_BUSY_RX; + + hsmartcard->pRxBuffPtr = pData; + hsmartcard->RxXferSize = Size; + + /* Set the SMARTCARD DMA transfer complete callback */ + hsmartcard->hdmarx->XferCpltCallback = SMARTCARD_DMAReceiveCplt; + + /* Set the SMARTCARD DMA error callback */ + hsmartcard->hdmarx->XferErrorCallback = SMARTCARD_DMAError; + + /* Set the DMA abort callback */ + hsmartcard->hdmarx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(hsmartcard->hdmarx, (uint32_t)&hsmartcard->Instance->RDR, (uint32_t)hsmartcard->pRxBuffPtr, Size); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + /* Enable the SMARTCARD Parity Error Interrupt */ + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); + + /* Enable the SMARTCARD Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + /* Enable the DMA transfer for the receiver request by setting the DMAR bit + in the SMARTCARD associated USART CR3 register */ + SET_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Abort ongoing transfers (blocking mode). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable SMARTCARD Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SMARTCARD_Abort(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable RTOIE, EOBIE, TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE | USART_CR1_RTOIE | USART_CR1_EOBIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); + + /* Disable the SMARTCARD DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); + + /* Abort the SMARTCARD DMA Tx channel : use blocking DMA Abort API (no callback) */ + if(hsmartcard->hdmatx != NULL) + { + /* Set the SMARTCARD DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hsmartcard->hdmatx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hsmartcard->hdmatx); + } + } + + /* Disable the SMARTCARD DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); + + /* Abort the SMARTCARD DMA Rx channel : use blocking DMA Abort API (no callback) */ + if(hsmartcard->hdmarx != NULL) + { + /* Set the SMARTCARD DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hsmartcard->hdmarx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hsmartcard->hdmarx); + } + } + + /* Reset Tx and Rx transfer counters */ + hsmartcard->TxXferCount = 0; + hsmartcard->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->gState and hsmartcard->RxState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* Reset Handle ErrorCode to No Error */ + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + + return HAL_OK; +} + +/** + * @brief Abort ongoing Transmit transfer (blocking mode). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable SMARTCARD Interrupts (Tx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable TXEIE, TXFTIE and TCIE interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_TXFTIE); + + /* Check if a receive process is ongoing or not. If not disable ERR IT */ + if(hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) + { + /* Disable the SMARTCARD Error Interrupt: (Frame error) */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + } + + /* Disable the SMARTCARD DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); + + /* Abort the SMARTCARD DMA Tx channel : use blocking DMA Abort API (no callback) */ + if(hsmartcard->hdmatx != NULL) + { + /* Set the SMARTCARD DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hsmartcard->hdmatx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hsmartcard->hdmatx); + } + } + + /* Reset Tx transfer counter */ + hsmartcard->TxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_FEF); + + /* Restore hsmartcard->gState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Abort ongoing Receive transfer (blocking mode). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable SMARTCARD Interrupts (Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable RTOIE, EOBIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE | USART_CR1_EOBIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); + + /* Check if a Transmit process is ongoing or not. If not disable ERR IT */ + if(hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + /* Disable the SMARTCARD Error Interrupt: (Frame error) */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + } + + /* Disable the SMARTCARD DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); + + /* Abort the SMARTCARD DMA Rx channel : use blocking DMA Abort API (no callback) */ + if(hsmartcard->hdmarx != NULL) + { + /* Set the SMARTCARD DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + hsmartcard->hdmarx->XferAbortCallback = NULL; + + HAL_DMA_Abort(hsmartcard->hdmarx); + } + } + + /* Reset Rx transfer counter */ + hsmartcard->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->RxState to Ready */ + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Abort ongoing transfers (Interrupt mode). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable SMARTCARD Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SMARTCARD_Abort_IT(SMARTCARD_HandleTypeDef *hsmartcard) +{ + uint32_t abortcplt = 1; + + /* Disable RTOIE, EOBIE, TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE | USART_CR1_RTOIE | USART_CR1_EOBIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); + + /* If DMA Tx and/or DMA Rx Handles are associated to SMARTCARD Handle, DMA Abort complete callbacks should be initialised + before any call to DMA Abort functions */ + /* DMA Tx Handle is valid */ + if(hsmartcard->hdmatx != NULL) + { + /* Set DMA Abort Complete callback if SMARTCARD DMA Tx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) + { + hsmartcard->hdmatx->XferAbortCallback = SMARTCARD_DMATxAbortCallback; + } + else + { + hsmartcard->hdmatx->XferAbortCallback = NULL; + } + } + /* DMA Rx Handle is valid */ + if(hsmartcard->hdmarx != NULL) + { + /* Set DMA Abort Complete callback if SMARTCARD DMA Rx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) + { + hsmartcard->hdmarx->XferAbortCallback = SMARTCARD_DMARxAbortCallback; + } + else + { + hsmartcard->hdmarx->XferAbortCallback = NULL; + } + } + + /* Disable the SMARTCARD DMA Tx request if enabled */ + if(HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) + { + /* Disable DMA Tx at UART level */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); + + /* Abort the SMARTCARD DMA Tx channel : use non blocking DMA Abort API (callback) */ + if(hsmartcard->hdmatx != NULL) + { + /* SMARTCARD Tx DMA Abort callback has already been initialised : + will lead to call HAL_SMARTCARD_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(hsmartcard->hdmatx) != HAL_OK) + { + hsmartcard->hdmatx->XferAbortCallback = NULL; + } + else + { + abortcplt = 0; + } + } + } + + /* Disable the SMARTCARD DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); + + /* Abort the SMARTCARD DMA Rx channel : use non blocking DMA Abort API (callback) */ + if(hsmartcard->hdmarx != NULL) + { + /* SMARTCARD Rx DMA Abort callback has already been initialised : + will lead to call HAL_SMARTCARD_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hsmartcard->hdmarx) != HAL_OK) + { + hsmartcard->hdmarx->XferAbortCallback = NULL; + abortcplt = 1; + } + else + { + abortcplt = 0; + } + } + } + + /* if no DMA abort complete callback execution is required => call user Abort Complete callback */ + if (abortcplt == 1) + { + /* Reset Tx and Rx transfer counters */ + hsmartcard->TxXferCount = 0; + hsmartcard->RxXferCount = 0; + + /* Reset errorCode */ + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->gState and hsmartcard->RxState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_SMARTCARD_AbortCpltCallback(hsmartcard); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing Transmit transfer (Interrupt mode). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable SMARTCARD Interrupts (Tx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit_IT(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable TXEIE, TXFTIE and TCIE interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_TXFTIE); + + /* Check if a receive process is ongoing or not. If not disable ERR IT */ + if(hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) + { + /* Disable the SMARTCARD Error Interrupt: (Frame error) */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + } + + /* Disable the SMARTCARD DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); + + /* Abort the SMARTCARD DMA Tx channel : use non blocking DMA Abort API (callback) */ + if(hsmartcard->hdmatx != NULL) + { + /* Set the SMARTCARD DMA Abort callback : + will lead to call HAL_SMARTCARD_AbortCpltCallback() at end of DMA abort procedure */ + hsmartcard->hdmatx->XferAbortCallback = SMARTCARD_DMATxOnlyAbortCallback; + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(hsmartcard->hdmatx) != HAL_OK) + { + /* Call Directly hsmartcard->hdmatx->XferAbortCallback function in case of error */ + hsmartcard->hdmatx->XferAbortCallback(hsmartcard->hdmatx); + } + } + else + { + /* Reset Tx transfer counter */ + hsmartcard->TxXferCount = 0; + + /* Restore hsmartcard->gState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_SMARTCARD_AbortTransmitCpltCallback(hsmartcard); + } + } + else + { + /* Reset Tx transfer counter */ + hsmartcard->TxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_FEF); + + /* Restore hsmartcard->gState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_SMARTCARD_AbortTransmitCpltCallback(hsmartcard); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing Receive transfer (Interrupt mode). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable SMARTCARD Interrupts (Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive_IT(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable RTOIE, EOBIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE | USART_CR1_EOBIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); + + /* Check if a Transmit process is ongoing or not. If not disable ERR IT */ + if(hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + /* Disable the SMARTCARD Error Interrupt: (Frame error) */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + } + + /* Disable the SMARTCARD DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); + + /* Abort the SMARTCARD DMA Rx channel : use non blocking DMA Abort API (callback) */ + if(hsmartcard->hdmarx != NULL) + { + /* Set the SMARTCARD DMA Abort callback : + will lead to call HAL_SMARTCARD_AbortCpltCallback() at end of DMA abort procedure */ + hsmartcard->hdmarx->XferAbortCallback = SMARTCARD_DMARxOnlyAbortCallback; + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hsmartcard->hdmarx) != HAL_OK) + { + /* Call Directly hsmartcard->hdmarx->XferAbortCallback function in case of error */ + hsmartcard->hdmarx->XferAbortCallback(hsmartcard->hdmarx); + } + } + else + { + /* Reset Rx transfer counter */ + hsmartcard->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->RxState to Ready */ + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_SMARTCARD_AbortReceiveCpltCallback(hsmartcard); + } + } + else + { + /* Reset Rx transfer counter */ + hsmartcard->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->RxState to Ready */ + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_SMARTCARD_AbortReceiveCpltCallback(hsmartcard); + } + + return HAL_OK; +} + +/** + * @brief Handle SMARTCARD interrupt requests. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +void HAL_SMARTCARD_IRQHandler(SMARTCARD_HandleTypeDef *hsmartcard) +{ + uint32_t isrflags = READ_REG(hsmartcard->Instance->ISR); + uint32_t cr1its = READ_REG(hsmartcard->Instance->CR1); + uint32_t cr3its; + uint32_t errorflags; + + /* If no error occurs */ + errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | USART_ISR_RTOF)); + if (errorflags == RESET) + { + /* SMARTCARD in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET)) + { + SMARTCARD_Receive_IT(hsmartcard); + /* Clear RXNE interrupt flag done by reading RDR in SMARTCARD_Receive_IT() */ + return; + } + } + + /* If some errors occur */ + cr3its = READ_REG(hsmartcard->Instance->CR3); + if( (errorflags != RESET) + && ( ((cr3its & USART_CR3_EIE) != RESET) + || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != RESET)) ) + { + /* SMARTCARD parity error interrupt occurred -------------------------------------*/ + if(((isrflags & USART_ISR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET)) + { + __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_PEF); + + hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_PE; + } + + /* SMARTCARD frame error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_FEF); + + hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_FE; + } + + /* SMARTCARD noise error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_NEF); + + hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_NE; + } + + /* SMARTCARD Over-Run interrupt occurred -----------------------------------------*/ + if(((isrflags & USART_ISR_ORE) != RESET) && + (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET))) + { + __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_OREF); + + hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_ORE; + } + + /* SMARTCARD receiver timeout interrupt occurred -----------------------------------------*/ + if(((isrflags & USART_ISR_RTOF) != RESET) && ((cr1its & USART_CR1_RTOIE) != RESET)) + { + __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_RTOF); + + hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_RTO; + } + + /* Call SMARTCARD Error Call back function if need be --------------------------*/ + if(hsmartcard->ErrorCode != HAL_SMARTCARD_ERROR_NONE) + { + /* SMARTCARD in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET)) + { + SMARTCARD_Receive_IT(hsmartcard); + } + + /* If Error is to be considered as blocking : + - Receiver Timeout error in Reception + - Overrun error in Reception + - any error occurs in DMA mode reception + */ + if ( ((hsmartcard->ErrorCode & (HAL_SMARTCARD_ERROR_RTO | HAL_SMARTCARD_ERROR_ORE)) != RESET) + || (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR))) + { + /* Blocking error : transfer is aborted + Set the SMARTCARD state ready to be able to start again the process, + Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ + SMARTCARD_EndRxTransfer(hsmartcard); + + /* Disable the SMARTCARD DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); + + /* Abort the SMARTCARD DMA Rx channel */ + if(hsmartcard->hdmarx != NULL) + { + /* Set the SMARTCARD DMA Abort callback : + will lead to call HAL_SMARTCARD_ErrorCallback() at end of DMA abort procedure */ + hsmartcard->hdmarx->XferAbortCallback = SMARTCARD_DMAAbortOnError; + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hsmartcard->hdmarx) != HAL_OK) + { + /* Call Directly hsmartcard->hdmarx->XferAbortCallback function in case of error */ + hsmartcard->hdmarx->XferAbortCallback(hsmartcard->hdmarx); + } + } + else + { + /* Call user error callback */ + HAL_SMARTCARD_ErrorCallback(hsmartcard); + } + } + else + { + /* Call user error callback */ + HAL_SMARTCARD_ErrorCallback(hsmartcard); + } + } + /* other error type to be considered as blocking : + - Frame error in Transmission + */ + else if ((hsmartcard->gState == HAL_SMARTCARD_STATE_BUSY_TX) && ((hsmartcard->ErrorCode & HAL_SMARTCARD_ERROR_FE) != RESET)) + { + /* Blocking error : transfer is aborted + Set the SMARTCARD state ready to be able to start again the process, + Disable Tx Interrupts, and disable Tx DMA request, if ongoing */ + SMARTCARD_EndTxTransfer(hsmartcard); + + /* Disable the SMARTCARD DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); + + /* Abort the SMARTCARD DMA Tx channel */ + if(hsmartcard->hdmatx != NULL) + { + /* Set the SMARTCARD DMA Abort callback : + will lead to call HAL_SMARTCARD_ErrorCallback() at end of DMA abort procedure */ + hsmartcard->hdmatx->XferAbortCallback = SMARTCARD_DMAAbortOnError; + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(hsmartcard->hdmatx) != HAL_OK) + { + /* Call Directly hsmartcard->hdmatx->XferAbortCallback function in case of error */ + hsmartcard->hdmatx->XferAbortCallback(hsmartcard->hdmatx); + } + } + else + { + /* Call user error callback */ + HAL_SMARTCARD_ErrorCallback(hsmartcard); + } + } + else + { + /* Call user error callback */ + HAL_SMARTCARD_ErrorCallback(hsmartcard); + } + } + else + { + /* Non Blocking error : transfer could go on. + Error is notified to user through user error callback */ + HAL_SMARTCARD_ErrorCallback(hsmartcard); + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + } + } + return; + + } /* End if some error occurs */ + + /* SMARTCARD in mode Receiver, end of block interruption ------------------------*/ + if(((isrflags & USART_ISR_EOBF) != RESET) && ((cr1its & USART_CR1_EOBIE) != RESET)) + { + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + __HAL_UNLOCK(hsmartcard); + HAL_SMARTCARD_RxCpltCallback(hsmartcard); + /* Clear EOBF interrupt after HAL_SMARTCARD_RxCpltCallback() call for the End of Block information + * to be available during HAL_SMARTCARD_RxCpltCallback() processing */ + __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_EOBF); + return; + } + + /* SMARTCARD in mode Transmitter ------------------------------------------------*/ + if(((isrflags & USART_ISR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET)) + { + SMARTCARD_Transmit_IT(hsmartcard); + return; + } + + /* SMARTCARD in mode Transmitter (transmission end) ------------------------*/ + if((__HAL_SMARTCARD_GET_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication) != RESET) &&(__HAL_SMARTCARD_GET_IT_SOURCE(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication) != RESET)) + { + SMARTCARD_EndTransmit_IT(hsmartcard); + return; + } +} + +/** + * @brief Tx Transfer completed callback. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_TxCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_TxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_RxCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_RxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief SMARTCARD error callback. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_ErrorCallback(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_ErrorCallback can be implemented in the user file. + */ +} + +/** + * @brief SMARTCARD Abort Complete callback. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_AbortCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_AbortCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief SMARTCARD Abort Complete callback. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_AbortTransmitCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_AbortTransmitCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief SMARTCARD Abort Receive Complete callback. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +__weak void HAL_SMARTCARD_AbortReceiveCpltCallback (SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmartcard); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMARTCARD_AbortReceiveCpltCallback can be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup SMARTCARD_Exported_Functions_Group4 Peripheral State and Errors functions + * @brief SMARTCARD State and Errors functions + * +@verbatim + ============================================================================== + ##### Peripheral State and Errors functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to return the State of SmartCard + handle and also return Peripheral Errors occurred during communication process + (+) HAL_SMARTCARD_GetState() API can be helpful to check in run-time the state + of the SMARTCARD peripheral. + (+) HAL_SMARTCARD_GetError() checks in run-time errors that could occur during + communication. + +@endverbatim + * @{ + */ + +/** + * @brief Return the SMARTCARD handle state. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval SMARTCARD handle state + */ +HAL_SMARTCARD_StateTypeDef HAL_SMARTCARD_GetState(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Return SMARTCARD handle state */ + uint32_t temp1= 0x00, temp2 = 0x00; + temp1 = hsmartcard->gState; + temp2 = hsmartcard->RxState; + + return (HAL_SMARTCARD_StateTypeDef)(temp1 | temp2); +} + +/** + * @brief Return the SMARTCARD handle error code. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval SMARTCARD handle Error Code +*/ +uint32_t HAL_SMARTCARD_GetError(SMARTCARD_HandleTypeDef *hsmartcard) +{ + return hsmartcard->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup SMARTCARD_Private_Functions SMARTCARD Private Functions + * @{ + */ + +/** + * @brief Configure the SMARTCARD associated USART peripheral. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval HAL status + */ +static HAL_StatusTypeDef SMARTCARD_SetConfig(SMARTCARD_HandleTypeDef *hsmartcard) +{ + uint32_t tmpreg = 0x0U; + SMARTCARD_ClockSourceTypeDef clocksource = SMARTCARD_CLOCKSOURCE_UNDEFINED; + HAL_StatusTypeDef ret = HAL_OK; + PLL2_ClocksTypeDef pll2_clocks; + PLL3_ClocksTypeDef pll3_clocks; + + /* Check the parameters */ + assert_param(IS_SMARTCARD_INSTANCE(hsmartcard->Instance)); + assert_param(IS_SMARTCARD_BAUDRATE(hsmartcard->Init.BaudRate)); + assert_param(IS_SMARTCARD_WORD_LENGTH(hsmartcard->Init.WordLength)); + assert_param(IS_SMARTCARD_STOPBITS(hsmartcard->Init.StopBits)); + assert_param(IS_SMARTCARD_PARITY(hsmartcard->Init.Parity)); + assert_param(IS_SMARTCARD_MODE(hsmartcard->Init.Mode)); + assert_param(IS_SMARTCARD_POLARITY(hsmartcard->Init.CLKPolarity)); + assert_param(IS_SMARTCARD_PHASE(hsmartcard->Init.CLKPhase)); + assert_param(IS_SMARTCARD_LASTBIT(hsmartcard->Init.CLKLastBit)); + assert_param(IS_SMARTCARD_ONE_BIT_SAMPLE(hsmartcard->Init.OneBitSampling)); + assert_param(IS_SMARTCARD_NACK(hsmartcard->Init.NACKEnable)); + assert_param(IS_SMARTCARD_TIMEOUT(hsmartcard->Init.TimeOutEnable)); + assert_param(IS_SMARTCARD_AUTORETRY_COUNT(hsmartcard->Init.AutoRetryCount)); + assert_param(IS_SMARTCARD_FIFO_MODE_STATE(hsmartcard->Init.FIFOMode)); + if (hsmartcard->Init.FIFOMode == UART_FIFOMODE_ENABLE) + { + assert_param(IS_SMARTCARD_TXFIFO_THRESHOLD(hsmartcard->Init.TXFIFOThreshold)); + assert_param(IS_SMARTCARD_RXFIFO_THRESHOLD(hsmartcard->Init.RXFIFOThreshold)); + } + + /*-------------------------- USART CR1 Configuration -----------------------*/ + /* In SmartCard mode, M and PCE are forced to 1 (8 bits + parity). + * Oversampling is forced to 16 (OVER8 = 0). + * Configure the Parity and Mode: + * set PS bit according to hsmartcard->Init.Parity value + * set TE and RE bits according to hsmartcard->Init.Mode value */ + tmpreg = (uint32_t) hsmartcard->Init.Parity | hsmartcard->Init.Mode; + tmpreg |= (uint32_t) hsmartcard->Init.WordLength; + tmpreg |= (uint32_t) hsmartcard->Init.FIFOMode; + MODIFY_REG(hsmartcard->Instance->CR1, USART_CR1_FIELDS, tmpreg); + + /*-------------------------- USART CR2 Configuration -----------------------*/ + tmpreg = hsmartcard->Init.StopBits; + /* Synchronous mode is activated by default */ + tmpreg |= (uint32_t) USART_CR2_CLKEN | hsmartcard->Init.CLKPolarity; + tmpreg |= (uint32_t) hsmartcard->Init.CLKPhase | hsmartcard->Init.CLKLastBit; + tmpreg |= (uint32_t) hsmartcard->Init.TimeOutEnable; + MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_FIELDS, tmpreg); + + /*-------------------------- USART CR3 Configuration -----------------------*/ + /* Configure + * - one-bit sampling method versus three samples' majority rule + * according to hsmartcard->Init.OneBitSampling + * - NACK transmission in case of parity error according + * to hsmartcard->Init.NACKEnable + * - autoretry counter according to hsmartcard->Init.AutoRetryCount + * - set TXFTCFG bit according to hsmartcard->Init.TXFIFOThreshold value + * - set RXFTCFG bit according to hsmartcard->Init.RXFIFOThreshold value */ + tmpreg = (uint32_t) hsmartcard->Init.OneBitSampling | hsmartcard->Init.NACKEnable; + tmpreg |= ((uint32_t)hsmartcard->Init.AutoRetryCount << SMARTCARD_CR3_SCARCNT_LSB_POS); + tmpreg |= ((uint32_t)hsmartcard->Init.TXFIFOThreshold | (uint32_t)hsmartcard->Init.RXFIFOThreshold ); + MODIFY_REG(hsmartcard->Instance-> CR3,USART_CR3_FIELDS, tmpreg); + + /*-------------------------- USART GTPR Configuration ----------------------*/ + tmpreg = (hsmartcard->Init.Prescaler | ((uint32_t)hsmartcard->Init.GuardTime << SMARTCARD_GTPR_GT_LSB_POS)); + MODIFY_REG(hsmartcard->Instance->GTPR, (USART_GTPR_GT|USART_GTPR_PSC), tmpreg); + + /*-------------------------- USART RTOR Configuration ----------------------*/ + tmpreg = ((uint32_t)hsmartcard->Init.BlockLength << SMARTCARD_RTOR_BLEN_LSB_POS); + if (hsmartcard->Init.TimeOutEnable == SMARTCARD_TIMEOUT_ENABLE) + { + assert_param(IS_SMARTCARD_TIMEOUT_VALUE(hsmartcard->Init.TimeOutValue)); + tmpreg |= (uint32_t) hsmartcard->Init.TimeOutValue; + } + MODIFY_REG(hsmartcard->Instance->RTOR, (USART_RTOR_RTO|USART_RTOR_BLEN), tmpreg); + + /*-------------------------- USART BRR Configuration -----------------------*/ + SMARTCARD_GETCLOCKSOURCE(hsmartcard, clocksource); + switch (clocksource) + { + case SMARTCARD_CLOCKSOURCE_D2PCLK1: + hsmartcard->Instance->BRR = (uint16_t)((HAL_RCC_GetPCLK1Freq() + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + break; + case SMARTCARD_CLOCKSOURCE_D2PCLK2: + hsmartcard->Instance->BRR = (uint16_t)((HAL_RCC_GetPCLK2Freq() + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + break; + case SMARTCARD_CLOCKSOURCE_PLL2Q: + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + hsmartcard->Instance->BRR = (uint16_t)((pll2_clocks.PLL2_Q_Frequency + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + break; + case SMARTCARD_CLOCKSOURCE_PLL3Q: + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + hsmartcard->Instance->BRR = (uint16_t)((pll3_clocks.PLL3_Q_Frequency + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + break; + case SMARTCARD_CLOCKSOURCE_HSI: + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + hsmartcard->Instance->BRR = (uint16_t)(((HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)) + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + } + else + { + hsmartcard->Instance->BRR = (uint16_t)((HSI_VALUE + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + } + break; + case SMARTCARD_CLOCKSOURCE_CSI: + hsmartcard->Instance->BRR = (uint16_t)((CSI_VALUE + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + break; + case SMARTCARD_CLOCKSOURCE_LSE: + hsmartcard->Instance->BRR = (uint16_t)((LSE_VALUE + (hsmartcard->Init.BaudRate/2)) / hsmartcard->Init.BaudRate); + break; + case SMARTCARD_CLOCKSOURCE_UNDEFINED: + default: + ret = HAL_ERROR; + break; + } + + return ret; +} + + +/** + * @brief Configure the SMARTCARD associated USART peripheral advanced features. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +static void SMARTCARD_AdvFeatureConfig(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Check whether the set of advanced features to configure is properly set */ + assert_param(IS_SMARTCARD_ADVFEATURE_INIT(hsmartcard->AdvancedInit.AdvFeatureInit)); + + /* if required, configure TX pin active level inversion */ + if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_TXINVERT_INIT)) + { + assert_param(IS_SMARTCARD_ADVFEATURE_TXINV(hsmartcard->AdvancedInit.TxPinLevelInvert)); + MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_TXINV, hsmartcard->AdvancedInit.TxPinLevelInvert); + } + + /* if required, configure RX pin active level inversion */ + if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_RXINVERT_INIT)) + { + assert_param(IS_SMARTCARD_ADVFEATURE_RXINV(hsmartcard->AdvancedInit.RxPinLevelInvert)); + MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_RXINV, hsmartcard->AdvancedInit.RxPinLevelInvert); + } + + /* if required, configure data inversion */ + if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_DATAINVERT_INIT)) + { + assert_param(IS_SMARTCARD_ADVFEATURE_DATAINV(hsmartcard->AdvancedInit.DataInvert)); + MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_DATAINV, hsmartcard->AdvancedInit.DataInvert); + } + + /* if required, configure RX/TX pins swap */ + if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_SWAP_INIT)) + { + assert_param(IS_SMARTCARD_ADVFEATURE_SWAP(hsmartcard->AdvancedInit.Swap)); + MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_SWAP, hsmartcard->AdvancedInit.Swap); + } + + /* if required, configure RX overrun detection disabling */ + if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT)) + { + assert_param(IS_SMARTCARD_OVERRUN(hsmartcard->AdvancedInit.OverrunDisable)); + MODIFY_REG(hsmartcard->Instance->CR3, USART_CR3_OVRDIS, hsmartcard->AdvancedInit.OverrunDisable); + } + + /* if required, configure DMA disabling on reception error */ + if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT)) + { + assert_param(IS_SMARTCARD_ADVFEATURE_DMAONRXERROR(hsmartcard->AdvancedInit.DMADisableonRxError)); + MODIFY_REG(hsmartcard->Instance->CR3, USART_CR3_DDRE, hsmartcard->AdvancedInit.DMADisableonRxError); + } + + /* if required, configure MSB first on communication line */ + if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_MSBFIRST_INIT)) + { + assert_param(IS_SMARTCARD_ADVFEATURE_MSBFIRST(hsmartcard->AdvancedInit.MSBFirst)); + MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_MSBFIRST, hsmartcard->AdvancedInit.MSBFirst); + } + +} + +/** + * @brief Check the SMARTCARD Idle State. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval HAL status + */ +static HAL_StatusTypeDef SMARTCARD_CheckIdleState(SMARTCARD_HandleTypeDef *hsmartcard) +{ + uint32_t tickstart = 0; + + /* Initialize the SMARTCARD ErrorCode */ + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + + /* Init tickstart for timeout managment*/ + tickstart = HAL_GetTick(); + + /* Check if the Transmitter is enabled */ + if((hsmartcard->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) + { + /* Wait until TEACK flag is set */ + if(SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, USART_ISR_TEACK, RESET, tickstart, SMARTCARD_TEACK_REACK_TIMEOUT) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + /* Check if the Receiver is enabled */ + if((hsmartcard->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) + { + /* Wait until REACK flag is set */ + if(SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, USART_ISR_REACK, RESET, tickstart, SMARTCARD_TEACK_REACK_TIMEOUT) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + + /* Initialize the SMARTCARD states */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + return HAL_OK; +} + +/** + * @brief Handle SMARTCARD Communication Timeout. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param Flag Specifies the SMARTCARD flag to check. + * @param Status The new Flag status (SET or RESET). + * @param Tickstart Tick start value + * @param Timeout Timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef SMARTCARD_WaitOnFlagUntilTimeout(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout) +{ + /* Wait until flag is set */ + while((__HAL_SMARTCARD_GET_FLAG(hsmartcard, Flag) ? SET : RESET) == Status) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-Tickstart) > Timeout)) + { + /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + return HAL_TIMEOUT; + } + } + } + return HAL_OK; +} + + +/** + * @brief End ongoing Tx transfer on SMARTCARD peripheral (following error detection or Transmit completion). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +static void SMARTCARD_EndTxTransfer(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable TXEIE, TCIE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + /* At end of Tx process, restore hsmartcard->gState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; +} + + +/** + * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception completion). + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval None + */ +static void SMARTCARD_EndRxTransfer(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + /* At end of Rx process, restore hsmartcard->RxState to Ready */ + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; +} + + +/** + * @brief DMA SMARTCARD transmit process complete callback. + * @param hdma Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SMARTCARD_DMATransmitCplt(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = (SMARTCARD_HandleTypeDef*)(hdma->Parent); + hsmartcard->TxXferCount = 0; + + /* Disable the DMA transfer for transmit request by resetting the DMAT bit + in the SMARTCARD associated USART CR3 register */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); + + /* Enable the SMARTCARD Transmit Complete Interrupt */ + __HAL_SMARTCARD_ENABLE_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication); +} + +/** + * @brief DMA SMARTCARD receive process complete callback. + * @param hdma Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SMARTCARD_DMAReceiveCplt(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = (SMARTCARD_HandleTypeDef*)(hdma->Parent); + hsmartcard->RxXferCount = 0; + + /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + + /* Disable the DMA transfer for the receiver request by resetting the DMAR bit + in the SMARTCARD associated USART CR3 register */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); + + /* At end of Rx process, restore hsmartcard->RxState to Ready */ + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + HAL_SMARTCARD_RxCpltCallback(hsmartcard); +} + +/** + * @brief DMA SMARTCARD communication error callback. + * @param hdma Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SMARTCARD_DMAError(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = (SMARTCARD_HandleTypeDef*)(hdma->Parent); + + /* Stop SMARTCARD DMA Tx request if ongoing */ + if ( (hsmartcard->gState == HAL_SMARTCARD_STATE_BUSY_TX) + &&(HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) ) + { + hsmartcard->TxXferCount = 0; + SMARTCARD_EndTxTransfer(hsmartcard); + } + + /* Stop SMARTCARD DMA Rx request if ongoing */ + if ( (hsmartcard->RxState == HAL_SMARTCARD_STATE_BUSY_RX) + &&(HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) ) + { + hsmartcard->RxXferCount = 0; + SMARTCARD_EndRxTransfer(hsmartcard); + } + + hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_DMA; + HAL_SMARTCARD_ErrorCallback(hsmartcard); +} + +/** + * @brief DMA SMARTCARD communication abort callback, when initiated by HAL services on Error + * (To be called at end of DMA Abort procedure following error occurrence). + * @param hdma DMA handle. + * @retval None + */ +static void SMARTCARD_DMAAbortOnError(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = (SMARTCARD_HandleTypeDef*)(hdma->Parent); + hsmartcard->RxXferCount = 0; + hsmartcard->TxXferCount = 0; + + HAL_SMARTCARD_ErrorCallback(hsmartcard); +} + +/** + * @brief DMA SMARTCARD Tx communication abort callback, when initiated by user + * (To be called at end of DMA Tx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Rx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void SMARTCARD_DMATxAbortCallback(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = (SMARTCARD_HandleTypeDef* )(hdma->Parent); + + hsmartcard->hdmatx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(hsmartcard->hdmarx != NULL) + { + if(hsmartcard->hdmarx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + hsmartcard->TxXferCount = 0; + hsmartcard->RxXferCount = 0; + + /* Reset errorCode */ + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->gState and hsmartcard->RxState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* Call user Abort complete callback */ + HAL_SMARTCARD_AbortCpltCallback(hsmartcard); +} + + +/** + * @brief DMA SMARTCARD Rx communication abort callback, when initiated by user + * (To be called at end of DMA Rx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Tx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void SMARTCARD_DMARxAbortCallback(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = (SMARTCARD_HandleTypeDef* )(hdma->Parent); + + hsmartcard->hdmarx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(hsmartcard->hdmatx != NULL) + { + if(hsmartcard->hdmatx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + hsmartcard->TxXferCount = 0; + hsmartcard->RxXferCount = 0; + + /* Reset errorCode */ + hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->gState and hsmartcard->RxState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* Call user Abort complete callback */ + HAL_SMARTCARD_AbortCpltCallback(hsmartcard); +} + + +/** + * @brief DMA SMARTCARD Tx communication abort callback, when initiated by user by a call to + * HAL_SMARTCARD_AbortTransmit_IT API (Abort only Tx transfer) + * (This callback is executed at end of DMA Tx Abort procedure following user abort request, + * and leads to user Tx Abort Complete callback execution). + * @param hdma DMA handle. + * @retval None + */ +static void SMARTCARD_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = (SMARTCARD_HandleTypeDef*)(hdma->Parent); + + hsmartcard->TxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_FEF); + + /* Restore hsmartcard->gState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + /* Call user Abort complete callback */ + HAL_SMARTCARD_AbortTransmitCpltCallback(hsmartcard); +} + +/** + * @brief DMA SMARTCARD Rx communication abort callback, when initiated by user by a call to + * HAL_SMARTCARD_AbortReceive_IT API (Abort only Rx transfer) + * (This callback is executed at end of DMA Rx Abort procedure following user abort request, + * and leads to user Rx Abort Complete callback execution). + * @param hdma DMA handle. + * @retval None + */ +static void SMARTCARD_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) +{ + SMARTCARD_HandleTypeDef* hsmartcard = ( SMARTCARD_HandleTypeDef* )(hdma->Parent); + + hsmartcard->RxXferCount = 0; + + /* Clear the Error flags in the ICR register */ + __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_OREF | SMARTCARD_CLEAR_NEF | SMARTCARD_CLEAR_PEF | SMARTCARD_CLEAR_FEF | SMARTCARD_CLEAR_RTOF | SMARTCARD_CLEAR_EOBF); + + /* Restore hsmartcard->RxState to Ready */ + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + /* Call user Abort complete callback */ + HAL_SMARTCARD_AbortReceiveCpltCallback(hsmartcard); +} + +/** + * @brief Send an amount of data in non-blocking mode. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * Function called under interruption only, once + * interruptions have been enabled by HAL_SMARTCARD_Transmit_IT() + * @retval HAL status + */ +static HAL_StatusTypeDef SMARTCARD_Transmit_IT(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Check that a Tx process is ongoing */ + if (hsmartcard->gState == HAL_SMARTCARD_STATE_BUSY_TX) + { + if(hsmartcard->TxXferCount == 0) + { + /* Disable the SMARTCARD Transmit Data Register Empty Interrupt */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_TXEIE); + + /* Enable the SMARTCARD Transmit Complete Interrupt */ + __HAL_SMARTCARD_ENABLE_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication); + + return HAL_OK; + } + else + { + hsmartcard->Instance->TDR = (*hsmartcard->pTxBuffPtr++ & (uint8_t)0xFF); + hsmartcard->TxXferCount--; + + return HAL_OK; + } + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Wrap up transmission in non-blocking mode. + * @param hsmartcard Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval HAL status + */ +static HAL_StatusTypeDef SMARTCARD_EndTransmit_IT(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Disable the SMARTCARD Transmit Complete Interrupt */ + __HAL_SMARTCARD_DISABLE_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication); + + /* Check if a receive process is ongoing or not. If not disable ERR IT */ + if(hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) + { + /* Disable the SMARTCARD Error Interrupt: (Frame error) */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + } + + /* Re-enable Rx at end of transmission if initial mode is Rx/Tx */ + if(hsmartcard->Init.Mode == SMARTCARD_MODE_TX_RX) + { + /* Disable the Peripheral first to update modes */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); + /* Enable the Peripheral */ + SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); + } + + /* Tx process is ended, restore hsmartcard->gState to Ready */ + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + HAL_SMARTCARD_TxCpltCallback(hsmartcard); + + return HAL_OK; +} + +/** + * @brief Receive an amount of data in non-blocking mode. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * Function called under interruption only, once + * interruptions have been enabled by HAL_SMARTCARD_Receive_IT(). + * @retval HAL status + */ +static HAL_StatusTypeDef SMARTCARD_Receive_IT(SMARTCARD_HandleTypeDef *hsmartcard) +{ + /* Check that a Rx process is ongoing */ + if (hsmartcard->RxState == HAL_SMARTCARD_STATE_BUSY_RX) + { + *hsmartcard->pRxBuffPtr++ = (uint8_t)(hsmartcard->Instance->RDR & (uint8_t)0xFF); + + if(--hsmartcard->RxXferCount == 0) + { + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RXNEIE); + + /* Check if a transmit process is ongoing or not. If not disable ERR IT */ + if(hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + /* Disable the SMARTCARD Error Interrupt: (Frame error, noise error, overrun error) */ + CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); + } + + /* Disable the SMARTCARD Parity Error Interrupt */ + CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); + + hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; + + HAL_SMARTCARD_RxCpltCallback(hsmartcard); + + return HAL_OK; + } + + return HAL_OK; + } + else + { + /* Clear RXNE interrupt flag */ + __HAL_SMARTCARD_SEND_REQ(hsmartcard, SMARTCARD_RXDATA_FLUSH_REQUEST); + + return HAL_BUSY; + } +} + +/** + * @} + */ + +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard_ex.c new file mode 100644 index 0000000000..b5ec810891 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard_ex.c @@ -0,0 +1,206 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_smartcard_ex.c + * @author MCD Application Team + * @brief SMARTCARD HAL module driver. + * This file provides extended firmware functions to manage the following + * functionalities of the SmartCard. + * + Initialization and de-initialization functions + * + Peripheral Control functions + * + * + @verbatim + ============================================================================= + ##### SMARTCARD peripheral extended features ##### + ============================================================================= + [..] + The Extended SMARTCARD HAL driver can be used as follows: + + (#) After having configured the SMARTCARD basic features with HAL_SMARTCARD_Init(), + then program SMARTCARD advanced features if required (TX/RX pins swap, TimeOut, + auto-retry counter,...) in the hsmartcard AdvancedInit structure. + + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SMARTCARDEx SMARTCARDEx + * @brief SMARTCARD Extended HAL module driver + * @{ + */ +#ifdef HAL_SMARTCARD_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup SMARTCARDEx_Exported_Functions SMARTCARD Extended Exported Functions + * @{ + */ + +/** @defgroup SMARTCARDEx_Exported_Functions_Group1 Extended Peripheral Control functions + * @brief Extended control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the SMARTCARD. + (+) HAL_SMARTCARDEx_BlockLength_Config() API allows to configure the Block Length on the fly + (+) HAL_SMARTCARDEx_TimeOut_Config() API allows to configure the receiver timeout value on the fly + (+) HAL_SMARTCARDEx_EnableReceiverTimeOut() API enables the receiver timeout feature + (+) HAL_SMARTCARDEx_DisableReceiverTimeOut() API disables the receiver timeout feature + +@endverbatim + * @{ + */ + +/** + * @brief Update on the fly the SMARTCARD block length in RTOR register. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param BlockLength: SMARTCARD block length (8-bit long at most) + * @retval None + */ +void HAL_SMARTCARDEx_BlockLength_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t BlockLength) +{ + MODIFY_REG(hsmartcard->Instance->RTOR, USART_RTOR_BLEN, ((uint32_t)BlockLength << SMARTCARD_RTOR_BLEN_LSB_POS)); +} + +/** + * @brief Update on the fly the receiver timeout value in RTOR register. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @param TimeOutValue: receiver timeout value in number of baud blocks. The timeout + * value must be less or equal to 0x00FFFFFF. + * @retval None + */ +void HAL_SMARTCARDEx_TimeOut_Config(SMARTCARD_HandleTypeDef *hsmartcard, uint32_t TimeOutValue) +{ + assert_param(IS_SMARTCARD_TIMEOUT_VALUE(hsmartcard->Init.TimeOutValue)); + MODIFY_REG(hsmartcard->Instance->RTOR, USART_RTOR_RTO, TimeOutValue); +} + +/** + * @brief Enable the SMARTCARD receiver timeout feature. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARDEx_EnableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard) +{ + + if(hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY; + + /* Set the USART RTOEN bit */ + SET_BIT(hsmartcard->Instance->CR2, USART_CR2_RTOEN); + + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Disable the SMARTCARD receiver timeout feature. + * @param hsmartcard: Pointer to a SMARTCARD_HandleTypeDef structure that contains + * the configuration information for the specified SMARTCARD module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMARTCARDEx_DisableReceiverTimeOut(SMARTCARD_HandleTypeDef *hsmartcard) +{ + + if(hsmartcard->gState == HAL_SMARTCARD_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsmartcard); + + hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY; + + /* Clear the USART RTOEN bit */ + CLEAR_BIT(hsmartcard->Instance->CR2, USART_CR2_RTOEN); + + hsmartcard->gState = HAL_SMARTCARD_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmartcard); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smbus.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smbus.c new file mode 100644 index 0000000000..dadb37ff18 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smbus.c @@ -0,0 +1,2037 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_smbus.c + * @author MCD Application Team + * @brief SMBUS HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the System Management Bus (SMBus) peripheral, + * based on I2C principles of operation : + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral State and Errors functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The SMBUS HAL driver can be used as follows: + + (#) Declare a SMBUS_HandleTypeDef handle structure, for example: + SMBUS_HandleTypeDef hsmbus; + + (#)Initialize the SMBUS low level resources by implementing the HAL_SMBUS_MspInit() API: + (++) Enable the SMBUSx interface clock + (++) SMBUS pins configuration + (+++) Enable the clock for the SMBUS GPIOs + (+++) Configure SMBUS pins as alternate function open-drain + (++) NVIC configuration if you need to use interrupt process + (+++) Configure the SMBUSx interrupt priority + (+++) Enable the NVIC SMBUS IRQ Channel + + (#) Configure the Communication Clock Timing, Bus Timeout, Own Address1, Master Addressing Mode, + Dual Addressing mode, Own Address2, Own Address2 Mask, General call, Nostretch mode, + Peripheral mode and Packet Error Check mode in the hsmbus Init structure. + + (#) Initialize the SMBUS registers by calling the HAL_SMBUS_Init() API: + (++) These API's configures also the low level Hardware GPIO, CLOCK, CORTEX...etc) + by calling the customized HAL_SMBUS_MspInit(&hsmbus) API. + + (#) To check if target device is ready for communication, use the function HAL_SMBUS_IsDeviceReady() + + (#) For SMBUS IO operations, only one mode of operations is available within this driver + + *** Interrupt mode IO operation *** + =================================== + [..] + (+) Transmit in master/host SMBUS mode an amount of data in non-blocking mode using HAL_SMBUS_Master_Transmit_IT() + (++) At transmission end of transfer HAL_SMBUS_MasterTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMBUS_MasterTxCpltCallback() + (+) Receive in master/host SMBUS mode an amount of data in non-blocking mode using HAL_SMBUS_Master_Receive_IT() + (++) At reception end of transfer HAL_SMBUS_MasterRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMBUS_MasterRxCpltCallback() + (+) Abort a master/host SMBUS process communication with Interrupt using HAL_SMBUS_Master_Abort_IT() + (++) The associated previous transfer callback is called at the end of abort process + (++) mean HAL_SMBUS_MasterTxCpltCallback() in case of previous state was master transmit + (++) mean HAL_SMBUS_MasterRxCpltCallback() in case of previous state was master receive + (+) Enable/disable the Address listen mode in slave/device or host/slave SMBUS mode + using HAL_SMBUS_EnableListen_IT() HAL_SMBUS_DisableListen_IT() + (++) When address slave/device SMBUS match, HAL_SMBUS_AddrCallback() is executed and user can + add his own code to check the Address Match Code and the transmission direction request by master/host (Write/Read). + (++) At Listen mode end HAL_SMBUS_ListenCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMBUS_ListenCpltCallback() + (+) Transmit in slave/device SMBUS mode an amount of data in non-blocking mode using HAL_SMBUS_Slave_Transmit_IT() + (++) At transmission end of transfer HAL_SMBUS_SlaveTxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMBUS_SlaveTxCpltCallback() + (+) Receive in slave/device SMBUS mode an amount of data in non-blocking mode using HAL_SMBUS_Slave_Receive_IT() + (++) At reception end of transfer HAL_SMBUS_SlaveRxCpltCallback() is executed and user can + add his own code by customization of function pointer HAL_SMBUS_SlaveRxCpltCallback() + (+) Enable/Disable the SMBUS alert mode using HAL_SMBUS_EnableAlert_IT() HAL_SMBUS_DisableAlert_IT() + (++) When SMBUS Alert is generated HAL_SMBUS_ErrorCallback() is executed and user can + add his own code by customization of function pointer HAL_SMBUS_ErrorCallback() + to check the Alert Error Code using function HAL_SMBUS_GetError() + (+) Get HAL state machine or error values using HAL_SMBUS_GetState() or HAL_SMBUS_GetError() + (+) In case of transfer Error, HAL_SMBUS_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_SMBUS_ErrorCallback() + to check the Error Code using function HAL_SMBUS_GetError() + + *** SMBUS HAL driver macros list *** + ================================== + [..] + Below the list of most used macros in SMBUS HAL driver. + + (+) __HAL_SMBUS_ENABLE: Enable the SMBUS peripheral + (+) __HAL_SMBUS_DISABLE: Disable the SMBUS peripheral + (+) __HAL_SMBUS_GET_FLAG : Checks whether the specified SMBUS flag is set or not + (+) __HAL_SMBUS_CLEAR_FLAG : Clears the specified SMBUS pending flag + (+) __HAL_SMBUS_ENABLE_IT: Enables the specified SMBUS interrupt + (+) __HAL_SMBUS_DISABLE_IT: Disables the specified SMBUS interrupt + + [..] + (@) You can refer to the SMBUS HAL driver header file for more useful macros + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SMBUS SMBUS + * @brief SMBUS HAL module driver + * @{ + */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @defgroup SMBUS_Private_Define SMBUS Private Constants + * @{ + */ +#define TIMING_CLEAR_MASK ((uint32_t)0xF0FFFFFF) /*Instance)); + assert_param(IS_SMBUS_ANALOG_FILTER(hsmbus->Init.AnalogFilter)); + assert_param(IS_SMBUS_OWN_ADDRESS1(hsmbus->Init.OwnAddress1)); + assert_param(IS_SMBUS_ADDRESSING_MODE(hsmbus->Init.AddressingMode)); + assert_param(IS_SMBUS_DUAL_ADDRESS(hsmbus->Init.DualAddressMode)); + assert_param(IS_SMBUS_OWN_ADDRESS2(hsmbus->Init.OwnAddress2)); + assert_param(IS_SMBUS_OWN_ADDRESS2_MASK(hsmbus->Init.OwnAddress2Masks)); + assert_param(IS_SMBUS_GENERAL_CALL(hsmbus->Init.GeneralCallMode)); + assert_param(IS_SMBUS_NO_STRETCH(hsmbus->Init.NoStretchMode)); + assert_param(IS_SMBUS_PEC(hsmbus->Init.PacketErrorCheckMode)); + assert_param(IS_SMBUS_PERIPHERAL_MODE(hsmbus->Init.PeripheralMode)); + + if(hsmbus->State == HAL_SMBUS_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hsmbus->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC */ + HAL_SMBUS_MspInit(hsmbus); + } + + hsmbus->State = HAL_SMBUS_STATE_BUSY; + + /* Disable the selected SMBUS peripheral */ + __HAL_SMBUS_DISABLE(hsmbus); + + /*---------------------------- SMBUSx TIMINGR Configuration ------------------------*/ + /* Configure SMBUSx: Frequency range */ + hsmbus->Instance->TIMINGR = hsmbus->Init.Timing & TIMING_CLEAR_MASK; + + /*---------------------------- SMBUSx TIMEOUTR Configuration ------------------------*/ + /* Configure SMBUSx: Bus Timeout */ + hsmbus->Instance->TIMEOUTR &= ~I2C_TIMEOUTR_TIMOUTEN; + hsmbus->Instance->TIMEOUTR &= ~I2C_TIMEOUTR_TEXTEN; + hsmbus->Instance->TIMEOUTR = hsmbus->Init.SMBusTimeout; + + /*---------------------------- SMBUSx OAR1 Configuration -----------------------*/ + /* Configure SMBUSx: Own Address1 and ack own address1 mode */ + hsmbus->Instance->OAR1 &= ~I2C_OAR1_OA1EN; + + if(hsmbus->Init.OwnAddress1 != 0U) + { + if(hsmbus->Init.AddressingMode == SMBUS_ADDRESSINGMODE_7BIT) + { + hsmbus->Instance->OAR1 = (I2C_OAR1_OA1EN | hsmbus->Init.OwnAddress1); + } + else /* SMBUS_ADDRESSINGMODE_10BIT */ + { + hsmbus->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hsmbus->Init.OwnAddress1); + } + } + + /*---------------------------- SMBUSx CR2 Configuration ------------------------*/ + /* Configure SMBUSx: Addressing Master mode */ + if(hsmbus->Init.AddressingMode == SMBUS_ADDRESSINGMODE_10BIT) + { + hsmbus->Instance->CR2 = (I2C_CR2_ADD10); + } + /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process) */ + /* AUTOEND and NACK bit will be manage during Transfer process */ + hsmbus->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); + + /*---------------------------- SMBUSx OAR2 Configuration -----------------------*/ + /* Configure SMBUSx: Dual mode and Own Address2 */ + hsmbus->Instance->OAR2 = (hsmbus->Init.DualAddressMode | hsmbus->Init.OwnAddress2 | (hsmbus->Init.OwnAddress2Masks << 8U)); + + /*---------------------------- SMBUSx CR1 Configuration ------------------------*/ + /* Configure SMBUSx: Generalcall and NoStretch mode */ + hsmbus->Instance->CR1 = (hsmbus->Init.GeneralCallMode | hsmbus->Init.NoStretchMode | hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode | hsmbus->Init.AnalogFilter); + + /* Enable Slave Byte Control only in case of Packet Error Check is enabled and SMBUS Peripheral is set in Slave mode */ + if( (hsmbus->Init.PacketErrorCheckMode == SMBUS_PEC_ENABLE) + && ( (hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE) || (hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE_ARP) ) ) + { + hsmbus->Instance->CR1 |= I2C_CR1_SBC; + } + + /* Enable the selected SMBUS peripheral */ + __HAL_SMBUS_ENABLE(hsmbus); + + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + hsmbus->PreviousState = HAL_SMBUS_STATE_READY; + hsmbus->State = HAL_SMBUS_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitialize the SMBUS peripheral. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_DeInit(SMBUS_HandleTypeDef *hsmbus) +{ + /* Check the SMBUS handle allocation */ + if(hsmbus == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_SMBUS_ALL_INSTANCE(hsmbus->Instance)); + + hsmbus->State = HAL_SMBUS_STATE_BUSY; + + /* Disable the SMBUS Peripheral Clock */ + __HAL_SMBUS_DISABLE(hsmbus); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ + HAL_SMBUS_MspDeInit(hsmbus); + + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + hsmbus->PreviousState = HAL_SMBUS_STATE_RESET; + hsmbus->State = HAL_SMBUS_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hsmbus); + + return HAL_OK; +} + +/** + * @brief Initialize the SMBUS MSP. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_MspInit(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize the SMBUS MSP. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_MspDeInit(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_MspDeInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SMBUS_Exported_Functions_Group2 Input and Output operation functions + * @brief Data transfers functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the SMBUS data + transfers. + + (#) Blocking mode function to check if device is ready for usage is : + (++) HAL_SMBUS_IsDeviceReady() + + (#) There is only one mode of transfer: + (++) Non-Blocking mode : The communication is performed using Interrupts. + These functions return the status of the transfer startup. + The end of the data processing will be indicated through the + dedicated SMBUS IRQ when using Interrupt mode. + + (#) Non-Blocking mode functions with Interrupt are : + (++) HAL_SMBUS_Master_Transmit_IT() + (++) HAL_SMBUS_Master_Receive_IT() + (++) HAL_SMBUS_Slave_Transmit_IT() + (++) HAL_SMBUS_Slave_Receive_IT() + (++) HAL_SMBUS_EnableListen_IT() + (++) HAL_SMBUS_DisableListen_IT() + (++) HAL_SMBUS_EnableAlert_IT() + (++) HAL_SMBUS_DisableAlert_IT() + + (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: + (++) HAL_SMBUS_MasterTxCpltCallback() + (++) HAL_SMBUS_MasterRxCpltCallback() + (++) HAL_SMBUS_SlaveTxCpltCallback() + (++) HAL_SMBUS_SlaveRxCpltCallback() + (++) HAL_SMBUS_AddrCallback() + (++) HAL_SMBUS_ListenCpltCallback() + (++) HAL_SMBUS_ErrorCallback() + +@endverbatim + * @{ + */ + +/** + * @brief Transmit in master/host SMBUS mode an amount of data in non-blocking mode with Interrupt. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @ref SMBUS_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_Master_Transmit_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + /* Check the parameters */ + assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if(hsmbus->State == HAL_SMBUS_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsmbus); + + hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_TX; + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + /* Prepare transfer parameters */ + hsmbus->pBuffPtr = pData; + hsmbus->XferCount = Size; + hsmbus->XferOptions = XferOptions; + + /* In case of Quick command, remove autoend mode */ + /* Manage the stop generation by software */ + if(hsmbus->pBuffPtr == NULL) + { + hsmbus->XferOptions &= ~SMBUS_AUTOEND_MODE; + } + + if(Size > MAX_NBYTE_SIZE) + { + hsmbus->XferSize = MAX_NBYTE_SIZE; + } + else + { + hsmbus->XferSize = Size; + } + + /* Send Slave Address */ + /* Set NBYTES to write and reload if size > MAX_NBYTE_SIZE and generate RESTART */ + if( (hsmbus->XferSize == MAX_NBYTE_SIZE) && (hsmbus->XferSize < hsmbus->XferCount) ) + { + SMBUS_TransferConfig(hsmbus,DevAddress,hsmbus->XferSize, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), SMBUS_GENERATE_START_WRITE); + } + else + { + /* If transfer direction not change, do not generate Restart Condition */ + /* Mean Previous state is same as current state */ + if((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_TX) && (IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(hsmbus->XferOptions) == 0)) + { + SMBUS_TransferConfig(hsmbus,DevAddress,hsmbus->XferSize, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); + } + /* Else transfer direction change, so generate Restart with new transfer direction */ + else + { + /* Convert OTHER_xxx XferOptions if any */ + SMBUS_ConvertOtherXferOptions(hsmbus); + + /* Handle Transfer */ + SMBUS_TransferConfig(hsmbus,DevAddress,hsmbus->XferSize, hsmbus->XferOptions, SMBUS_GENERATE_START_WRITE); + } + + /* If PEC mode is enable, size to transmit manage by SW part should be Size-1 byte, corresponding to PEC byte */ + /* PEC byte is automatically sent by HW block, no need to manage it in Transmit process */ + if(SMBUS_GET_PEC_MODE(hsmbus) != RESET) + { + hsmbus->XferSize--; + hsmbus->XferCount--; + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Note : The SMBUS interrupts must be enabled after unlocking current process + to avoid the risk of SMBUS interrupt handle execution before current + process unlock */ + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_TX); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive in master/host SMBUS mode an amount of data in non-blocking mode with Interrupt. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param DevAddress: Target device address + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @ref SMBUS_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_Master_Receive_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + /* Check the parameters */ + assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if(hsmbus->State == HAL_SMBUS_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsmbus); + + hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_RX; + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + + /* Prepare transfer parameters */ + hsmbus->pBuffPtr = pData; + hsmbus->XferCount = Size; + hsmbus->XferOptions = XferOptions; + + /* In case of Quick command, remove autoend mode */ + /* Manage the stop generation by software */ + if(hsmbus->pBuffPtr == NULL) + { + hsmbus->XferOptions &= ~SMBUS_AUTOEND_MODE; + } + + if(Size > MAX_NBYTE_SIZE) + { + hsmbus->XferSize = MAX_NBYTE_SIZE; + } + else + { + hsmbus->XferSize = Size; + } + + /* Send Slave Address */ + /* Set NBYTES to write and reload if size > MAX_NBYTE_SIZE and generate RESTART */ + if( (hsmbus->XferSize == MAX_NBYTE_SIZE) && (hsmbus->XferSize < hsmbus->XferCount) ) + { + SMBUS_TransferConfig(hsmbus,DevAddress,hsmbus->XferSize, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), SMBUS_GENERATE_START_READ); + } + else + { + /* If transfer direction not change, do not generate Restart Condition */ + /* Mean Previous state is same as current state */ + if((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_RX) && (IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(hsmbus->XferOptions) == 0)) + { + SMBUS_TransferConfig(hsmbus,DevAddress,hsmbus->XferSize, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); + } + /* Else transfer direction change, so generate Restart with new transfer direction */ + else + { + /* Convert OTHER_xxx XferOptions if any */ + SMBUS_ConvertOtherXferOptions(hsmbus); + + /* Handle Transfer */ + SMBUS_TransferConfig(hsmbus,DevAddress,hsmbus->XferSize, hsmbus->XferOptions, SMBUS_GENERATE_START_READ); + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Note : The SMBUS interrupts must be enabled after unlocking current process + to avoid the risk of SMBUS interrupt handle execution before current + process unlock */ + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_RX); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Abort a master/host SMBUS process communication with Interrupt. + * @note This abort can be called only if state is ready + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param DevAddress: Target device address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_Master_Abort_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress) +{ + if(hsmbus->State == HAL_SMBUS_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hsmbus); + + /* Keep the same state as previous */ + /* to perform as well the call of the corresponding end of transfer callback */ + if(hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_TX) + { + hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_TX; + } + else if(hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_RX) + { + hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_RX; + } + else + { + /* Wrong usage of abort function */ + /* This function should be used only in case of abort monitored by master device */ + return HAL_ERROR; + } + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + + /* Set NBYTES to 1 to generate a dummy read on SMBUS peripheral */ + /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfer */ + SMBUS_TransferConfig(hsmbus, DevAddress, 1U, SMBUS_AUTOEND_MODE, SMBUS_NO_STARTSTOP); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Note : The SMBUS interrupts must be enabled after unlocking current process + to avoid the risk of SMBUS interrupt handle execution before current + process unlock */ + if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) + { + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_TX); + } + else if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) + { + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_RX); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Transmit in slave/device SMBUS mode an amount of data in non-blocking mode with Interrupt. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @ref SMBUS_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_Slave_Transmit_IT(SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + /* Check the parameters */ + assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if(hsmbus->State == HAL_SMBUS_STATE_LISTEN) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR | SMBUS_IT_TX); + + /* Process Locked */ + __HAL_LOCK(hsmbus); + + hsmbus->State |= HAL_SMBUS_STATE_SLAVE_BUSY_TX; + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + + /* Set SBC bit to manage Acknowledge at each bit */ + hsmbus->Instance->CR1 |= I2C_CR1_SBC; + + /* Enable Address Acknowledge */ + hsmbus->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Prepare transfer parameters */ + hsmbus->pBuffPtr = pData; + hsmbus->XferCount = Size; + hsmbus->XferOptions = XferOptions; + + /* Convert OTHER_xxx XferOptions if any */ + SMBUS_ConvertOtherXferOptions(hsmbus); + + if(Size > MAX_NBYTE_SIZE) + { + hsmbus->XferSize = MAX_NBYTE_SIZE; + } + else + { + hsmbus->XferSize = Size; + } + + /* Set NBYTES to write and reload if size > MAX_NBYTE_SIZE and generate RESTART */ + if( (hsmbus->XferSize == MAX_NBYTE_SIZE) && (hsmbus->XferSize < hsmbus->XferCount) ) + { + SMBUS_TransferConfig(hsmbus, 0U,hsmbus->XferSize, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), SMBUS_NO_STARTSTOP); + } + else + { + /* Set NBYTE to transmit */ + SMBUS_TransferConfig(hsmbus, 0U,hsmbus->XferSize, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); + + /* If PEC mode is enable, size to transmit should be Size-1 byte, corresponding to PEC byte */ + /* PEC byte is automatically sent by HW block, no need to manage it in Transmit process */ + if(SMBUS_GET_PEC_MODE(hsmbus) != RESET) + { + hsmbus->XferSize--; + hsmbus->XferCount--; + } + } + + /* Clear ADDR flag after prepare the transfer parameters */ + /* This action will generate an acknowledge to the HOST */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus,SMBUS_FLAG_ADDR); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Note : The SMBUS interrupts must be enabled after unlocking current process + to avoid the risk of SMBUS interrupt handle execution before current + process unlock */ + /* REnable ADDR interrupt */ + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_TX | SMBUS_IT_ADDR); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Receive in slave/device SMBUS mode an amount of data in non-blocking mode with Interrupt. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param XferOptions: Options of Transfer, value of @ref SMBUS_XferOptions_definition + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_Slave_Receive_IT(SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions) +{ + /* Check the parameters */ + assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); + + if(hsmbus->State == HAL_SMBUS_STATE_LISTEN) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR | SMBUS_IT_RX); + + /* Process Locked */ + __HAL_LOCK(hsmbus); + + hsmbus->State |= HAL_SMBUS_STATE_SLAVE_BUSY_RX; + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + + /* Set SBC bit to manage Acknowledge at each bit */ + hsmbus->Instance->CR1 |= I2C_CR1_SBC; + + /* Enable Address Acknowledge */ + hsmbus->Instance->CR2 &= ~I2C_CR2_NACK; + + /* Prepare transfer parameters */ + hsmbus->pBuffPtr = pData; + hsmbus->XferSize = Size; + hsmbus->XferCount = Size; + hsmbus->XferOptions = XferOptions; + + /* Convert OTHER_xxx XferOptions if any */ + SMBUS_ConvertOtherXferOptions(hsmbus); + + /* Set NBYTE to receive */ + /* If XferSize equal "1", or XferSize equal "2" with PEC requested (mean 1 data byte + 1 PEC byte */ + /* no need to set RELOAD bit mode, a ACK will be automatically generated in that case */ + /* else need to set RELOAD bit mode to generate an automatic ACK at each byte Received */ + /* This RELOAD bit will be reset for last BYTE to be receive in SMBUS_Slave_ISR */ + if((hsmbus->XferSize == 1U) || ((hsmbus->XferSize == 2U) && (SMBUS_GET_PEC_MODE(hsmbus) != RESET))) + { + SMBUS_TransferConfig(hsmbus, 0U, hsmbus->XferSize, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); + } + else + { + SMBUS_TransferConfig(hsmbus, 0U, 1U, hsmbus->XferOptions | SMBUS_RELOAD_MODE, SMBUS_NO_STARTSTOP); + } + + /* Clear ADDR flag after prepare the transfer parameters */ + /* This action will generate an acknowledge to the HOST */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus,SMBUS_FLAG_ADDR); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Note : The SMBUS interrupts must be enabled after unlocking current process + to avoid the risk of SMBUS interrupt handle execution before current + process unlock */ + /* REnable ADDR interrupt */ + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_ADDR); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Enable the Address listen mode with Interrupt. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_EnableListen_IT(SMBUS_HandleTypeDef *hsmbus) +{ + hsmbus->State = HAL_SMBUS_STATE_LISTEN; + + /* Enable the Address Match interrupt */ + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_ADDR); + + return HAL_OK; +} + +/** + * @brief Disable the Address listen mode with Interrupt. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_DisableListen_IT(SMBUS_HandleTypeDef *hsmbus) +{ + /* Disable Address listen mode only if a transfer is not ongoing */ + if(hsmbus->State == HAL_SMBUS_STATE_LISTEN) + { + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Disable the Address Match interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Enable the SMBUS alert mode with Interrupt. + * @param hsmbus : pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUSx peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_EnableAlert_IT(SMBUS_HandleTypeDef *hsmbus) +{ + /* Enable SMBus alert */ + hsmbus->Instance->CR1 |= I2C_CR1_ALERTEN; + + /* Clear ALERT flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ALERT); + + /* Enable Alert Interrupt */ + SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_ALERT); + + return HAL_OK; +} +/** + * @brief Disable the SMBUS alert mode with Interrupt. + * @param hsmbus : pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUSx peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_DisableAlert_IT(SMBUS_HandleTypeDef *hsmbus) +{ + /* Enable SMBus alert */ + hsmbus->Instance->CR1 &= ~I2C_CR1_ALERTEN; + + /* Disable Alert Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ALERT); + + return HAL_OK; +} + +/** + * @brief Check if target device is ready for communication. + * @note This function is used with Memory devices + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param DevAddress: Target device address + * @param Trials: Number of trials + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + __IO uint32_t SMBUS_Trials = 0U; + + if(hsmbus->State == HAL_SMBUS_STATE_READY) + { + if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_BUSY) != RESET) + { + return HAL_BUSY; + } + + /* Process Locked */ + __HAL_LOCK(hsmbus); + + hsmbus->State = HAL_SMBUS_STATE_BUSY; + hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; + + do + { + /* Generate Start */ + hsmbus->Instance->CR2 = SMBUS_GENERATE_START(hsmbus->Init.AddressingMode,DevAddress); + + /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ + /* Wait until STOPF flag is set or a NACK flag is set*/ + tickstart = HAL_GetTick(); + while((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_STOPF) == RESET) && (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF) == RESET) && (hsmbus->State != HAL_SMBUS_STATE_TIMEOUT)) + { + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) + { + /* Device is ready */ + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + return HAL_TIMEOUT; + } + } + } + + /* Check if the NACKF flag has not been set */ + if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF) == RESET) + { + /* Wait until STOPF flag is reset */ + if(SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Clear STOP Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); + + /* Device is ready */ + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + return HAL_OK; + } + else + { + /* Wait until STOPF flag is reset */ + if(SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Clear NACK Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); + + /* Clear STOP Flag, auto generated with autoend*/ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); + } + + /* Check if the maximum allowed number of trials has been reached */ + if (SMBUS_Trials++ == Trials) + { + /* Generate Stop */ + hsmbus->Instance->CR2 |= I2C_CR2_STOP; + + /* Wait until STOPF flag is reset */ + if(SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Clear STOP Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); + } + }while(SMBUS_Trials < Trials); + + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + return HAL_TIMEOUT; + } + else + { + return HAL_BUSY; + } +} +/** + * @} + */ + +/** @defgroup SMBUS_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks + * @{ + */ + +/** + * @brief Handle SMBUS event interrupt request. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +void HAL_SMBUS_EV_IRQHandler(SMBUS_HandleTypeDef *hsmbus) +{ + uint32_t tmpisrvalue = 0U; + + /* Use a local variable to store the current ISR flags */ + /* This action will avoid a wrong treatment due to ISR flags change during interrupt handler */ + tmpisrvalue = SMBUS_GET_ISR_REG(hsmbus); + + /* SMBUS in mode Transmitter ---------------------------------------------------*/ + if (((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET)) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, (SMBUS_IT_TCI| SMBUS_IT_STOPI| SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET)) + { + /* Slave mode selected */ + if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) + { + SMBUS_Slave_ISR(hsmbus); + } + /* Master mode selected */ + else if((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_TX) == HAL_SMBUS_STATE_MASTER_BUSY_TX) + { + SMBUS_Master_ISR(hsmbus); + } + } + + /* SMBUS in mode Receiver ----------------------------------------------------*/ + if (((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET)) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, (SMBUS_IT_TCI| SMBUS_IT_STOPI| SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET)) + { + /* Slave mode selected */ + if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) + { + SMBUS_Slave_ISR(hsmbus); + } + /* Master mode selected */ + else if((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_RX) == HAL_SMBUS_STATE_MASTER_BUSY_RX) + { + SMBUS_Master_ISR(hsmbus); + } + } + + /* SMBUS in mode Listener Only --------------------------------------------------*/ + if (((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET)) + && ((__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_ADDRI) != RESET) || (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_STOPI) != RESET) || (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_NACKI) != RESET))) + { + if (hsmbus->State == HAL_SMBUS_STATE_LISTEN) + { + SMBUS_Slave_ISR(hsmbus); + } + } +} + +/** + * @brief Handle SMBUS error interrupt request. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +void HAL_SMBUS_ER_IRQHandler(SMBUS_HandleTypeDef *hsmbus) +{ + /* SMBUS Bus error interrupt occurred ------------------------------------*/ + if((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_BERR) != RESET) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_ERRI) != RESET)) + { + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BERR; + + /* Clear BERR flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_BERR); + } + + /* SMBUS Over-Run/Under-Run interrupt occurred ----------------------------------------*/ + if((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_OVR) != RESET) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_ERRI) != RESET)) + { + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_OVR; + + /* Clear OVR flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_OVR); + } + + /* SMBUS Arbitration Loss error interrupt occurred ------------------------------------*/ + if((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_ARLO) != RESET) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_ERRI) != RESET)) + { + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ARLO; + + /* Clear ARLO flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ARLO); + } + + /* SMBUS Timeout error interrupt occurred ---------------------------------------------*/ + if((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TIMEOUT) != RESET) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_ERRI) != RESET)) + { + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BUSTIMEOUT; + + /* Clear TIMEOUT flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TIMEOUT); + } + + /* SMBUS Alert error interrupt occurred -----------------------------------------------*/ + if((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_ALERT) != RESET) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_ERRI) != RESET)) + { + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ALERT; + + /* Clear ALERT flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ALERT); + } + + /* SMBUS Packet Error Check error interrupt occurred ----------------------------------*/ + if((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_PECERR) != RESET) && (__HAL_SMBUS_GET_IT_SOURCE(hsmbus, SMBUS_IT_ERRI) != RESET)) + { + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_PECERR; + + /* Clear PEC error flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_PECERR); + } + + /* Call the Error Callback in case of Error detected */ + if((hsmbus->ErrorCode != HAL_SMBUS_ERROR_NONE)&&(hsmbus->ErrorCode != HAL_SMBUS_ERROR_ACKF)) + { + /* Do not Reset the HAL state in case of ALERT error */ + if((hsmbus->ErrorCode & HAL_SMBUS_ERROR_ALERT) != HAL_SMBUS_ERROR_ALERT) + { + if(((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) + || ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX)) + { + /* Reset only HAL_SMBUS_STATE_SLAVE_BUSY_XX */ + /* keep HAL_SMBUS_STATE_LISTEN if set */ + hsmbus->PreviousState = HAL_SMBUS_STATE_READY; + hsmbus->State = HAL_SMBUS_STATE_LISTEN; + } + } + + /* Call the Error callback to prevent upper layer */ + HAL_SMBUS_ErrorCallback(hsmbus); + } +} + +/** + * @brief Master Tx Transfer completed callback. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_MasterTxCpltCallback(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_MasterTxCpltCallback() could be implemented in the user file + */ +} + +/** + * @brief Master Rx Transfer completed callback. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_MasterRxCpltCallback(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_MasterRxCpltCallback() could be implemented in the user file + */ +} + +/** @brief Slave Tx Transfer completed callback. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_SlaveTxCpltCallback(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_SlaveTxCpltCallback() could be implemented in the user file + */ +} + +/** + * @brief Slave Rx Transfer completed callback. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_SlaveRxCpltCallback(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_SlaveRxCpltCallback() could be implemented in the user file + */ +} + +/** + * @brief Slave Address Match callback. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param TransferDirection: Master request Transfer Direction (Write/Read) + * @param AddrMatchCode: Address Match Code + * @retval None + */ +__weak void HAL_SMBUS_AddrCallback(SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + UNUSED(TransferDirection); + UNUSED(AddrMatchCode); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_AddrCallback() could be implemented in the user file + */ +} + +/** + * @brief Listen Complete callback. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_ListenCpltCallback(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_ListenCpltCallback() could be implemented in the user file + */ +} + +/** + * @brief SMBUS error callback. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval None + */ +__weak void HAL_SMBUS_ErrorCallback(SMBUS_HandleTypeDef *hsmbus) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsmbus); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SMBUS_ErrorCallback() could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SMBUS_Exported_Functions_Group3 Peripheral State and Errors functions + * @brief Peripheral State and Errors functions + * +@verbatim + =============================================================================== + ##### Peripheral State and Errors functions ##### + =============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the SMBUS handle state. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval HAL state + */ +uint32_t HAL_SMBUS_GetState(SMBUS_HandleTypeDef *hsmbus) +{ + /* Return SMBUS handle state */ + return hsmbus->State; +} + +/** +* @brief Return the SMBUS error code. +* @param hsmbus : pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. +* @retval SMBUS Error Code +*/ +uint32_t HAL_SMBUS_GetError(SMBUS_HandleTypeDef *hsmbus) +{ + return hsmbus->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup SMBUS_Private_Functions SMBUS Private Functions + * @brief Data transfers Private functions + * @{ + */ + +/** + * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval HAL status + */ +static HAL_StatusTypeDef SMBUS_Master_ISR(SMBUS_HandleTypeDef *hsmbus) +{ + uint16_t DevAddress; + + /* Process Locked */ + __HAL_LOCK(hsmbus); + + if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF) != RESET) + { + /* Clear NACK Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); + + /* Set corresponding Error Code */ + /* No need to generate STOP, it is automatically done */ + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Call the Error callback to prevent upper layer */ + HAL_SMBUS_ErrorCallback(hsmbus); + } + else if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_STOPF) != RESET) + { + /* Call the corresponding callback to inform upper layer of End of Transfer */ + if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) + { + /* Disable Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); + + /* Clear STOP Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + SMBUS_RESET_CR2(hsmbus); + + /* Flush remaining data in Fifo register in case of error occurs before TXEmpty */ + /* Disable the selected SMBUS peripheral */ + __HAL_SMBUS_DISABLE(hsmbus); + + hsmbus->PreviousState = HAL_SMBUS_STATE_READY; + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* REenable the selected SMBUS peripheral */ + __HAL_SMBUS_ENABLE(hsmbus); + + HAL_SMBUS_MasterTxCpltCallback(hsmbus); + } + else if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) + { + /* Store Last receive data if any */ + if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) + { + /* Read data from RXDR */ + (*hsmbus->pBuffPtr++) = hsmbus->Instance->RXDR; + + if((hsmbus->XferSize > 0U)) + { + hsmbus->XferSize--; + hsmbus->XferCount--; + } + } + + /* Disable Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); + + /* Clear STOP Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); + + /* Clear Configuration Register 2 */ + SMBUS_RESET_CR2(hsmbus); + + hsmbus->PreviousState = HAL_SMBUS_STATE_READY; + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + HAL_SMBUS_MasterRxCpltCallback(hsmbus); + } + } + else if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) + { + /* Read data from RXDR */ + (*hsmbus->pBuffPtr++) = hsmbus->Instance->RXDR; + hsmbus->XferSize--; + hsmbus->XferCount--; + } + else if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TXIS) != RESET) + { + /* Write data to TXDR */ + hsmbus->Instance->TXDR = (*hsmbus->pBuffPtr++); + hsmbus->XferSize--; + hsmbus->XferCount--; + } + else if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TCR) != RESET) + { + if((hsmbus->XferSize == 0U)&&(hsmbus->XferCount != 0U)) + { + DevAddress = (hsmbus->Instance->CR2 & I2C_CR2_SADD); + + if(hsmbus->XferCount > MAX_NBYTE_SIZE) + { + SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), SMBUS_NO_STARTSTOP); + hsmbus->XferSize = MAX_NBYTE_SIZE; + } + else + { + hsmbus->XferSize = hsmbus->XferCount; + SMBUS_TransferConfig(hsmbus,DevAddress,hsmbus->XferSize, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); + /* If PEC mode is enable, size to transmit should be Size-1 byte, corresponding to PEC byte */ + /* PEC byte is automatically sent by HW block, no need to manage it in Transmit process */ + if(SMBUS_GET_PEC_MODE(hsmbus) != RESET) + { + hsmbus->XferSize--; + hsmbus->XferCount--; + } + } + } + else if((hsmbus->XferSize == 0U)&&(hsmbus->XferCount == 0U)) + { + /* Call TxCpltCallback() if no stop mode is set */ + if(SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) + { + /* Call the corresponding callback to inform upper layer of End of Transfer */ + if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) + { + /* Disable Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); + hsmbus->PreviousState = hsmbus->State; + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + HAL_SMBUS_MasterTxCpltCallback(hsmbus); + } + else if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) + { + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); + hsmbus->PreviousState = hsmbus->State; + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + HAL_SMBUS_MasterRxCpltCallback(hsmbus); + } + } + } + } + else if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TC) != RESET) + { + if(hsmbus->XferCount == 0U) + { + /* Specific use case for Quick command */ + if(hsmbus->pBuffPtr == NULL) + { + /* Generate a Stop command */ + hsmbus->Instance->CR2 |= I2C_CR2_STOP; + } + /* Call TxCpltCallback() if no stop mode is set */ + else if(SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) + { + /* No Generate Stop, to permit restart mode */ + /* The stop will be done at the end of transfer, when SMBUS_AUTOEND_MODE enable */ + + /* Call the corresponding callback to inform upper layer of End of Transfer */ + if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) + { + /* Disable Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); + hsmbus->PreviousState = hsmbus->State; + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + HAL_SMBUS_MasterTxCpltCallback(hsmbus); + } + else if(hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) + { + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); + hsmbus->PreviousState = hsmbus->State; + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + HAL_SMBUS_MasterRxCpltCallback(hsmbus); + } + } + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + return HAL_OK; +} +/** + * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @retval HAL status + */ +static HAL_StatusTypeDef SMBUS_Slave_ISR(SMBUS_HandleTypeDef *hsmbus) +{ + uint8_t TransferDirection = 0U; + uint16_t SlaveAddrCode = 0U; + + /* Process Locked */ + __HAL_LOCK(hsmbus); + + if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF) != RESET) + { + /* Check that SMBUS transfer finished */ + /* if yes, normal use case, a NACK is sent by the HOST when Transfer is finished */ + /* Mean XferCount == 0*/ + /* So clear Flag NACKF only */ + if(hsmbus->XferCount == 0U) + { + /* Clear NACK Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + } + else + { + /* if no, error use case, a Non-Acknowledge of last Data is generated by the HOST*/ + /* Clear NACK Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); + + /* Set HAL State to "Idle" State, mean to LISTEN state */ + /* So reset Slave Busy state */ + hsmbus->PreviousState = hsmbus->State; + hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); + hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); + + /* Disable RX/TX Interrupts, keep only ADDR Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); + + /* Set ErrorCode corresponding to a Non-Acknowledge */ + hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Call the Error callback to prevent upper layer */ + HAL_SMBUS_ErrorCallback(hsmbus); + } + } + else if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_ADDR) != RESET) + { + TransferDirection = SMBUS_GET_DIR(hsmbus); + SlaveAddrCode = SMBUS_GET_ADDR_MATCH(hsmbus); + + /* Disable ADDR interrupt to prevent multiple ADDRInterrupt*/ + /* Other ADDRInterrupt will be treat in next Listen use case */ + __HAL_SMBUS_DISABLE_IT(hsmbus, SMBUS_IT_ADDRI); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Call Slave Addr callback */ + HAL_SMBUS_AddrCallback(hsmbus, TransferDirection, SlaveAddrCode); + } + else if((__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) || (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TCR) != RESET)) + { + if( (hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) + { + /* Read data from RXDR */ + (*hsmbus->pBuffPtr++) = hsmbus->Instance->RXDR; + hsmbus->XferSize--; + hsmbus->XferCount--; + + if(hsmbus->XferCount == 1U) + { + /* Receive last Byte, can be PEC byte in case of PEC BYTE enabled */ + /* or only the last Byte of Transfer */ + /* So reset the RELOAD bit mode */ + hsmbus->XferOptions &= ~SMBUS_RELOAD_MODE; + SMBUS_TransferConfig(hsmbus, 0U ,1U , hsmbus->XferOptions, SMBUS_NO_STARTSTOP); + } + else if(hsmbus->XferCount == 0U) + { + /* Last Byte is received, disable Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); + + /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_RX, keep only HAL_SMBUS_STATE_LISTEN */ + hsmbus->PreviousState = hsmbus->State; + hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Call the Rx complete callback to inform upper layer of the end of receive process */ + HAL_SMBUS_SlaveRxCpltCallback(hsmbus); + } + else + { + /* Set Reload for next Bytes */ + SMBUS_TransferConfig(hsmbus, 0U, 1U, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), SMBUS_NO_STARTSTOP); + + /* Ack last Byte Read */ + hsmbus->Instance->CR2 &= ~I2C_CR2_NACK; + } + } + else if( (hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) + { + if((hsmbus->XferSize == 0U)&&(hsmbus->XferCount != 0U)) + { + if(hsmbus->XferCount > MAX_NBYTE_SIZE) + { + SMBUS_TransferConfig(hsmbus, 0U, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), SMBUS_NO_STARTSTOP); + hsmbus->XferSize = MAX_NBYTE_SIZE; + } + else + { + hsmbus->XferSize = hsmbus->XferCount; + SMBUS_TransferConfig(hsmbus, 0U, hsmbus->XferSize, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); + /* If PEC mode is enable, size to transmit should be Size-1 byte, corresponding to PEC byte */ + /* PEC byte is automatically sent by HW block, no need to manage it in Transmit process */ + if(SMBUS_GET_PEC_MODE(hsmbus) != RESET) + { + hsmbus->XferSize--; + hsmbus->XferCount--; + } + } + } + } + } + else if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TXIS) != RESET) + { + /* Write data to TXDR only if XferCount not reach "0" */ + /* A TXIS flag can be set, during STOP treatment */ + /* Check if all Data have already been sent */ + /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */ + if(hsmbus->XferCount > 0U) + { + /* Write data to TXDR */ + hsmbus->Instance->TXDR = (*hsmbus->pBuffPtr++); + hsmbus->XferCount--; + hsmbus->XferSize--; + } + + if(hsmbus->XferCount == 0U) + { + /* Last Byte is Transmitted */ + /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_TX, keep only HAL_SMBUS_STATE_LISTEN */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); + hsmbus->PreviousState = hsmbus->State; + hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Call the Tx complete callback to inform upper layer of the end of transmit process */ + HAL_SMBUS_SlaveTxCpltCallback(hsmbus); + } + } + + /* Check if STOPF is set */ + if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_STOPF) != RESET) + { + if((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) + { + /* Store Last receive data if any */ + if(__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) + { + /* Read data from RXDR */ + (*hsmbus->pBuffPtr++) = hsmbus->Instance->RXDR; + + if((hsmbus->XferSize > 0U)) + { + hsmbus->XferSize--; + hsmbus->XferCount--; + } + } + + /* Disable RX and TX Interrupts */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); + + /* Disable ADDR Interrupt */ + SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR); + + /* Disable Address Acknowledge */ + hsmbus->Instance->CR2 |= I2C_CR2_NACK; + + /* Clear Configuration Register 2 */ + SMBUS_RESET_CR2(hsmbus); + + /* Clear STOP Flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); + + /* Clear ADDR flag */ + __HAL_SMBUS_CLEAR_FLAG(hsmbus,SMBUS_FLAG_ADDR); + + hsmbus->XferOptions = 0U; + hsmbus->PreviousState = hsmbus->State; + hsmbus->State = HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + /* Call the Listen Complete callback, to prevent upper layer of the end of Listen use case */ + HAL_SMBUS_ListenCpltCallback(hsmbus); + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + return HAL_OK; +} +/** + * @brief Manage the enabling of Interrupts. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param InterruptRequest : Value of @ref SMBUS_Interrupt_configuration_definition. + * @retval HAL status + */ +static HAL_StatusTypeDef SMBUS_Enable_IRQ(SMBUS_HandleTypeDef *hsmbus, uint16_t InterruptRequest) +{ + uint32_t tmpisr = 0U; + + if((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT) + { + /* Enable ERR interrupt */ + tmpisr |= SMBUS_IT_ERRI; + } + + if((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) + { + /* Enable ADDR, STOP interrupt */ + tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_ERRI; + } + + if((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) + { + /* Enable ERR, TC, STOP, NACK, RXI interrupt */ + tmpisr |= SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_TXI; + } + + if((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) + { + /* Enable ERR, TC, STOP, NACK, TXI interrupt */ + tmpisr |= SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_RXI; + } + + /* Enable interrupts only at the end */ + /* to avoid the risk of SMBUS interrupt handle execution before */ + /* all interrupts requested done */ + __HAL_SMBUS_ENABLE_IT(hsmbus, tmpisr); + + return HAL_OK; +} +/** + * @brief Manage the disabling of Interrupts. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param InterruptRequest : Value of @ref SMBUS_Interrupt_configuration_definition. + * @retval HAL status + */ +static HAL_StatusTypeDef SMBUS_Disable_IRQ(SMBUS_HandleTypeDef *hsmbus, uint16_t InterruptRequest) +{ + uint32_t tmpisr = 0U; + + if( ((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT) && (hsmbus->State == HAL_SMBUS_STATE_READY) ) + { + /* Disable ERR interrupt */ + tmpisr |= SMBUS_IT_ERRI; + } + + if((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) + { + /* Disable TC, STOP, NACK, TXI interrupt */ + tmpisr |= SMBUS_IT_TCI | SMBUS_IT_TXI; + + if((SMBUS_GET_ALERT_ENABLED(hsmbus) == RESET) + && ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) + { + /* Disable ERR interrupt */ + tmpisr |= SMBUS_IT_ERRI; + } + + if((hsmbus->State & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) + { + /* Disable STOPI, NACKI */ + tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; + } + } + + if((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) + { + /* Disable TC, STOP, NACK, RXI interrupt */ + tmpisr |= SMBUS_IT_TCI | SMBUS_IT_RXI; + + if((SMBUS_GET_ALERT_ENABLED(hsmbus) == RESET) + && ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) + { + /* Disable ERR interrupt */ + tmpisr |= SMBUS_IT_ERRI; + } + + if((hsmbus->State & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) + { + /* Disable STOPI, NACKI */ + tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; + } + } + + if((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) + { + /* Enable ADDR, STOP interrupt */ + tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI; + + if(SMBUS_GET_ALERT_ENABLED(hsmbus) == RESET) + { + /* Disable ERR interrupt */ + tmpisr |= SMBUS_IT_ERRI; + } + } + + /* Disable interrupts only at the end */ + /* to avoid a breaking situation like at "t" time */ + /* all disable interrupts request are not done */ + __HAL_SMBUS_DISABLE_IT(hsmbus, tmpisr); + + return HAL_OK; +} +/** + * @brief Handle SMBUS Communication Timeout. + * @param hsmbus : Pointer to a SMBUS_HandleTypeDef structure that contains + * the configuration information for the specified SMBUS. + * @param Flag: specifies the SMBUS flag to check. + * @param Status: The new Flag status (SET or RESET). + * @param Timeout: Timeout duration + * @retval HAL status + */ +static HAL_StatusTypeDef SMBUS_WaitOnFlagUntilTimeout(SMBUS_HandleTypeDef *hsmbus, uint32_t Flag, FlagStatus Status, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + + /* Wait until flag is set */ + if(Status == RESET) + { + while(__HAL_SMBUS_GET_FLAG(hsmbus, Flag) == RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) + { + hsmbus->PreviousState = hsmbus->State; + hsmbus->State= HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + return HAL_TIMEOUT; + } + } + } + } + else + { + while(__HAL_SMBUS_GET_FLAG(hsmbus, Flag) != RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) + { + hsmbus->PreviousState = hsmbus->State; + hsmbus->State= HAL_SMBUS_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hsmbus); + + return HAL_TIMEOUT; + } + } + } + } + return HAL_OK; +} + +/** + * @brief Handle SMBUSx communication when starting transfer or during transfer (TC or TCR flag are set). + * @param hsmbus: SMBUS handle. + * @param DevAddress: specifies the slave address to be programmed. + * @param Size: specifies the number of bytes to be programmed. + * This parameter must be a value between 0 and 255. + * @param Mode: new state of the SMBUS START condition generation. + * This parameter can be one or a combination of the following values: + * @arg SMBUS_NO_MODE: No specific mode enabled. + * @arg SMBUS_RELOAD_MODE: Enable Reload mode. + * @arg SMBUS_AUTOEND_MODE: Enable Automatic end mode. + * @arg SMBUS_SOFTEND_MODE: Enable Software end mode and Reload mode. + * @param Request: new state of the SMBUS START condition generation. + * This parameter can be one of the following values: + * @arg SMBUS_NO_STARTSTOP: Don't Generate stop and start condition. + * @arg SMBUS_GENERATE_STOP: Generate stop condition (Size should be set to 0). + * @arg SMBUS_GENERATE_START_READ: Generate Restart for read request. + * @arg SMBUS_GENERATE_START_WRITE: Generate Restart for write request. + * @retval None + */ +static void SMBUS_TransferConfig(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t Size, uint32_t Mode, uint32_t Request) +{ + /* Check the parameters */ + assert_param(IS_SMBUS_ALL_INSTANCE(hsmbus->Instance)); + assert_param(IS_SMBUS_TRANSFER_MODE(Mode)); + assert_param(IS_SMBUS_TRANSFER_REQUEST(Request)); + + /* update CR2 register */ + MODIFY_REG(hsmbus->Instance->CR2, ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | I2C_CR2_START | I2C_CR2_STOP | I2C_CR2_PECBYTE)), \ + (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | (uint32_t)Mode | (uint32_t)Request)); +} + +/** + * @brief Convert SMBUSx OTHER_xxx XferOptions to functionnal XferOptions. + * @param hsmbus SMBUS handle. + * @retval None + */ +static void SMBUS_ConvertOtherXferOptions(SMBUS_HandleTypeDef *hsmbus) +{ + /* if user set XferOptions to SMBUS_OTHER_FRAME_NO_PEC */ + /* it request implicitly to generate a restart condition */ + /* set XferOptions to SMBUS_FIRST_FRAME */ + if(hsmbus->XferOptions == SMBUS_OTHER_FRAME_NO_PEC) + { + hsmbus->XferOptions = SMBUS_FIRST_FRAME; + } + /* else if user set XferOptions to SMBUS_OTHER_FRAME_WITH_PEC */ + /* it request implicitly to generate a restart condition */ + /* set XferOptions to SMBUS_FIRST_FRAME | SMBUS_SENDPEC_MODE */ + else if(hsmbus->XferOptions == SMBUS_OTHER_FRAME_WITH_PEC) + { + hsmbus->XferOptions = SMBUS_FIRST_FRAME | SMBUS_SENDPEC_MODE; + } + /* else if user set XferOptions to SMBUS_OTHER_AND_LAST_FRAME_NO_PEC */ + /* it request implicitly to generate a restart condition */ + /* then generate a stop condition at the end of transfer */ + /* set XferOptions to SMBUS_FIRST_AND_LAST_FRAME_NO_PEC */ + else if(hsmbus->XferOptions == SMBUS_OTHER_AND_LAST_FRAME_NO_PEC) + { + hsmbus->XferOptions = SMBUS_FIRST_AND_LAST_FRAME_NO_PEC; + } + /* else if user set XferOptions to SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC */ + /* it request implicitly to generate a restart condition */ + /* then generate a stop condition at the end of transfer */ + /* set XferOptions to SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC */ + else if(hsmbus->XferOptions == SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC) + { + hsmbus->XferOptions = SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC; + } +} +/** + * @} + */ + +#endif /* HAL_SMBUS_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spdifrx.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spdifrx.c new file mode 100644 index 0000000000..5d933cfe83 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spdifrx.c @@ -0,0 +1,1264 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_spdifrx.c + * @author MCD Application Team + * @brief This file provides firmware functions to manage the following + * functionalities of the SPDIFRX audio interface: + * + Initialization and Configuration + * + Data transfers functions + * + DMA transfers management + * + Interrupts and flags management + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The SPDIFRX HAL driver can be used as follow: + + (#) Declare SPDIFRX_HandleTypeDef handle structure. + (#) Initialize the SPDIFRX low level resources by implement the HAL_SPDIFRX_MspInit() API: + (##) Enable the SPDIFRX interface clock. + (##) SPDIFRX pins configuration: + (+++) Enable the clock for the SPDIFRX GPIOs. + (+++) Configure these SPDIFRX pins as alternate function pull-up. + (##) NVIC configuration if you need to use interrupt process (HAL_SPDIFRX_ReceiveControlFlow_IT() and HAL_SPDIFRX_ReceiveDataFlow_IT() API's). + (+++) Configure the SPDIFRX interrupt priority. + (+++) Enable the NVIC SPDIFRX IRQ handle. + (##) DMA Configuration if you need to use DMA process (HAL_SPDIFRX_ReceiveDataFlow_DMA() and HAL_SPDIFRX_ReceiveControlFlow_DMA() API's). + (+++) Declare a DMA handle structure for the reception of the Data Flow channel. + (+++) Declare a DMA handle structure for the reception of the Control Flow channel. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure CtrlRx/DataRx with the required parameters. + (+++) Configure the DMA Channel. + (+++) Associate the initialized DMA handle to the SPDIFRX DMA CtrlRx/DataRx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the + DMA CtrlRx/DataRx channel. + + (#) Program the input selection, re-tries number, wait for activity, channel status selection, data format, stereo mode and masking of user bits + using HAL_SPDIFRX_Init() function. + + -@- The specific SPDIFRX interrupts (RXNE/CSRNE and Error Interrupts) will be managed using the macros + __SPDIFRX_ENABLE_IT() and __SPDIFRX_DISABLE_IT() inside the receive process. + -@- Make sure that ck_spdif clock is configured. + + (#) Three operation modes are available within this driver : + + *** Polling mode for reception operation (for debug purpose) *** + ================================================================ + [..] + (+) Receive data flow in blocking mode using HAL_SPDIFRX_ReceiveDataFlow() + (+) Receive control flow of data in blocking mode using HAL_SPDIFRX_ReceiveControlFlow() + + *** Interrupt mode for reception operation *** + ========================================= + [..] + (+) Receive an amount of data (Data Flow) in non blocking mode using HAL_SPDIFRX_ReceiveDataFlow_IT() + (+) Receive an amount of data (Control Flow) in non blocking mode using HAL_SPDIFRX_ReceiveControlFlow_IT() + (+) At reception end of half transfer HAL_SPDIFRX_RxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_SPDIFRX_RxHalfCpltCallback + (+) At reception end of transfer HAL_SPDIFRX_RxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_SPDIFRX_RxCpltCallback + (+) In case of transfer Error, HAL_SPDIFRX_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_SPDIFRX_ErrorCallback + + *** DMA mode for reception operation *** + ======================================== + [..] + (+) Receive an amount of data (Data Flow) in non blocking mode (DMA) using HAL_SPDIFRX_ReceiveDataFlow_DMA() + (+) Receive an amount of data (Control Flow) in non blocking mode (DMA) using HAL_SPDIFRX_ReceiveControlFlow_DMA() + (+) At reception end of half transfer HAL_SPDIFRX_RxHalfCpltCallback is executed and user can + add his own code by customization of function pointer HAL_SPDIFRX_RxHalfCpltCallback + (+) At reception end of transfer HAL_SPDIFRX_RxCpltCallback is executed and user can + add his own code by customization of function pointer HAL_SPDIFRX_RxCpltCallback + (+) In case of transfer Error, HAL_SPDIFRX_ErrorCallback() function is executed and user can + add his own code by customization of function pointer HAL_SPDIFRX_ErrorCallback + (+) Stop the DMA Transfer using HAL_SPDIFRX_DMAStop() + + *** SPDIFRX HAL driver macros list *** + ============================================= + [..] + Below the list of most used macros in USART HAL driver. + (+) __HAL_SPDIFRX_IDLE: Disable the specified SPDIFRX peripheral (IDEL State) + (+) __HAL_SPDIFRX_SYNC: Enable the synchronization state of the specified SPDIFRX peripheral (SYNC State) + (+) __HAL_SPDIFRX_RCV: Enable the receive state of the specified SPDIFRX peripheral (RCV State) + (+) __HAL_SPDIFRX_ENABLE_IT : Enable the specified SPDIFRX interrupts + (+) __HAL_SPDIFRX_DISABLE_IT : Disable the specified SPDIFRX interrupts + (+) __HAL_SPDIFRX_GET_FLAG: Check whether the specified SPDIFRX flag is set or not. + + [..] + (@) You can refer to the SPDIFRX HAL driver header file for more useful macros + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ +#if defined (SPDIFRX) + +/** @defgroup SPDIFRX SPDIFRX + * @brief SPDIFRX HAL module driver + * @{ + */ + +#ifdef HAL_SPDIFRX_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define SPDIFRX_TIMEOUT_VALUE 0xFFFFU + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup SPDIFRX_Private_Functions + * @{ + */ +static void SPDIFRX_DMARxCplt(DMA_HandleTypeDef *hdma); +static void SPDIFRX_DMARxHalfCplt(DMA_HandleTypeDef *hdma); +static void SPDIFRX_DMACxCplt(DMA_HandleTypeDef *hdma); +static void SPDIFRX_DMACxHalfCplt(DMA_HandleTypeDef *hdma); +static void SPDIFRX_DMAError(DMA_HandleTypeDef *hdma); +static void SPDIFRX_ReceiveControlFlow_IT(SPDIFRX_HandleTypeDef *hspdif); +static void SPDIFRX_ReceiveDataFlow_IT(SPDIFRX_HandleTypeDef *hspdif); +static HAL_StatusTypeDef SPDIFRX_WaitOnFlagUntilTimeout(SPDIFRX_HandleTypeDef *hspdif, uint32_t Flag, FlagStatus Status, uint32_t Timeout, uint32_t tickstart); +/** + * @} + */ +/* Exported functions ---------------------------------------------------------*/ + +/** @defgroup SPDIFRX_Exported_Functions SPDIFRX Exported Functions + * @{ + */ + +/** @defgroup SPDIFRX_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * + @verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to initialize and + de-initialize the SPDIFRX peripheral: + + (+) User must Implement HAL_SPDIFRX_MspInit() function in which he configures + all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). + + (+) Call the function HAL_SPDIFRX_Init() to configure the SPDIFRX peripheral with + the selected configuration: + (++) Input Selection (IN0, IN1,...) + (++) Maximum allowed re-tries during synchronization phase + (++) Wait for activity on SPDIF selected input + (++) Channel status selection (from channel A or B) + (++) Data format (LSB, MSB, ...) + (++) Stereo mode + (++) User bits masking (PT,C,U,V,...) + + (+) Call the function HAL_SPDIFRX_DeInit() to restore the default configuration + of the selected SPDIFRXx peripheral. + @endverbatim + * @{ + */ + +/** + * @brief Initializes the SPDIFRX according to the specified parameters + * in the SPDIFRX_InitTypeDef and create the associated handle. + * @param hspdif: SPDIFRX handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_Init(SPDIFRX_HandleTypeDef *hspdif) +{ + uint32_t tmpreg = 0; + + /* Check the SPDIFRX handle allocation */ + if(hspdif == NULL) + { + return HAL_ERROR; + } + + /* Check the SPDIFRX parameters */ + assert_param(IS_STEREO_MODE(hspdif->Init.StereoMode)); + assert_param(IS_SPDIFRX_INPUT_SELECT(hspdif->Init.InputSelection)); + assert_param(IS_SPDIFRX_MAX_RETRIES(hspdif->Init.Retries)); + assert_param(IS_SPDIFRX_WAIT_FOR_ACTIVITY(hspdif->Init.WaitForActivity)); + assert_param(IS_SPDIFRX_CHANNEL(hspdif->Init.ChannelSelection)); + assert_param(IS_SPDIFRX_DATA_FORMAT(hspdif->Init.DataFormat)); + assert_param(IS_PREAMBLE_TYPE_MASK(hspdif->Init.PreambleTypeMask)); + assert_param(IS_CHANNEL_STATUS_MASK(hspdif->Init.ChannelStatusMask)); + assert_param(IS_VALIDITY_MASK(hspdif->Init.ValidityBitMask)); + assert_param(IS_PARITY_ERROR_MASK(hspdif->Init.ParityErrorMask)); + assert_param(IS_SYMBOL_CLOCK_GEN(hspdif->Init.SymbolClockGen)); + assert_param(IS_SYMBOL_CLOCK_GEN(hspdif->Init.BackupSymbolClockGen)); + + if(hspdif->State == HAL_SPDIFRX_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hspdif->Lock = HAL_UNLOCKED; + /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ + HAL_SPDIFRX_MspInit(hspdif); + } + + /* SPDIFRX peripheral state is BUSY*/ + hspdif->State = HAL_SPDIFRX_STATE_BUSY; + + /* Disable SPDIFRX interface (IDLE State) */ + __HAL_SPDIFRX_IDLE(hspdif); + + /* Reset the old SPDIFRX CR configuration */ + tmpreg = hspdif->Instance->CR; + + tmpreg &= ~((uint16_t) SPDIFRX_CR_RXSTEO | SPDIFRX_CR_DRFMT | SPDIFRX_CR_PMSK | + SPDIFRX_CR_VMSK | SPDIFRX_CR_CUMSK | SPDIFRX_CR_PTMSK | + SPDIFRX_CR_CHSEL | SPDIFRX_CR_NBTR | SPDIFRX_CR_WFA | + SPDIFRX_CR_CKSEN | SPDIFRX_CR_CKSBKPEN | + SPDIFRX_CR_INSEL); + + /* Sets the new configuration of the SPDIFRX peripheral */ + tmpreg |= ((uint16_t) hspdif->Init.StereoMode | + hspdif->Init.InputSelection | + hspdif->Init.Retries | + hspdif->Init.WaitForActivity | + hspdif->Init.ChannelSelection | + hspdif->Init.DataFormat | + hspdif->Init.PreambleTypeMask | + hspdif->Init.ChannelStatusMask | + hspdif->Init.ValidityBitMask | + hspdif->Init.SymbolClockGen | + hspdif->Init.BackupSymbolClockGen | + hspdif->Init.ParityErrorMask + ); + + hspdif->Instance->CR = tmpreg; + + hspdif->ErrorCode = HAL_SPDIFRX_ERROR_NONE; + + /* SPDIFRX peripheral state is READY*/ + hspdif->State = HAL_SPDIFRX_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitializes the SPDIFRX peripheral + * @param hspdif: SPDIFRX handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_DeInit(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Check the SPDIFRX handle allocation */ + if(hspdif == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_SPDIFRX_ALL_INSTANCE(hspdif->Instance)); + + hspdif->State = HAL_SPDIFRX_STATE_BUSY; + + /* Disable SPDIFRX interface (IDLE state) */ + __HAL_SPDIFRX_IDLE(hspdif); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */ + HAL_SPDIFRX_MspDeInit(hspdif); + + hspdif->ErrorCode = HAL_SPDIFRX_ERROR_NONE; + + /* SPDIFRX peripheral state is RESET*/ + hspdif->State = HAL_SPDIFRX_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hspdif); + + return HAL_OK; +} + +/** + * @brief SPDIFRX MSP Init + * @param hspdif: SPDIFRX handle + * @retval None + */ +__weak void HAL_SPDIFRX_MspInit(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspdif); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SPDIFRX_MspInit could be implemented in the user file + */ +} + +/** + * @brief SPDIFRX MSP DeInit + * @param hspdif: SPDIFRX handle + * @retval None + */ +__weak void HAL_SPDIFRX_MspDeInit(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspdif); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SPDIFRX_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Sets the SPDIFRX dtat format according to the specified parameters + * in the SPDIFRX_InitTypeDef. + * @param hspdif: SPDIFRX handle + * @param sDataFormat: SPDIFRX data format + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_SetDataFormat(SPDIFRX_HandleTypeDef *hspdif, SPDIFRX_SetDataFormatTypeDef sDataFormat) +{ + uint32_t tmpreg = 0; + + /* Check the SPDIFRX handle allocation */ + if(hspdif == NULL) + { + return HAL_ERROR; + } + + /* Check the SPDIFRX parameters */ + assert_param(IS_STEREO_MODE(sDataFormat.StereoMode)); + assert_param(IS_SPDIFRX_DATA_FORMAT(sDataFormat.DataFormat)); + assert_param(IS_PREAMBLE_TYPE_MASK(sDataFormat.PreambleTypeMask)); + assert_param(IS_CHANNEL_STATUS_MASK(sDataFormat.ChannelStatusMask)); + assert_param(IS_VALIDITY_MASK(sDataFormat.ValidityBitMask)); + assert_param(IS_PARITY_ERROR_MASK(sDataFormat.ParityErrorMask)); + + /* Reset the old SPDIFRX CR configuration */ + tmpreg = hspdif->Instance->CR; + + if(((tmpreg & SPDIFRX_STATE_RCV) == SPDIFRX_STATE_RCV) && + (((tmpreg & SPDIFRX_CR_DRFMT) != sDataFormat.DataFormat) || + ((tmpreg & SPDIFRX_CR_RXSTEO) != sDataFormat.StereoMode))) + { + return HAL_ERROR; + } + + tmpreg &= ~((uint16_t) SPDIFRX_CR_RXSTEO | SPDIFRX_CR_DRFMT | SPDIFRX_CR_PMSK | + SPDIFRX_CR_VMSK | SPDIFRX_CR_CUMSK | SPDIFRX_CR_PTMSK); + + /* Sets the new configuration of the SPDIFRX peripheral */ + tmpreg |= ((uint16_t) sDataFormat.StereoMode | + sDataFormat.DataFormat | + sDataFormat.PreambleTypeMask | + sDataFormat.ChannelStatusMask | + sDataFormat.ValidityBitMask | + sDataFormat.ParityErrorMask); + + hspdif->Instance->CR = tmpreg; + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup SPDIFRX_Exported_Functions_Group2 IO operation functions + * @brief Data transfers functions + * +@verbatim +=============================================================================== + ##### IO operation functions ##### +=============================================================================== + [..] + This subsection provides a set of functions allowing to manage the SPDIFRX data + transfers. + + (#) There is two mode of transfer: + (++) Blocking mode : The communication is performed in the polling mode. + The status of all data processing is returned by the same function + after finishing transfer. + (++) No-Blocking mode : The communication is performed using Interrupts + or DMA. These functions return the status of the transfer start-up. + The end of the data processing will be indicated through the + dedicated SPDIFRX IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + + (#) Blocking mode functions are : + (++) HAL_SPDIFRX_ReceiveDataFlow() + (++) HAL_SPDIFRX_ReceiveControlFlow() + (+@) Do not use blocking mode to receive both control and data flow at the same time. + + (#) No-Blocking mode functions with Interrupt are : + (++) HAL_SPDIFRX_ReceiveControlFlow_IT() + (++) HAL_SPDIFRX_ReceiveDataFlow_IT() + + (#) No-Blocking mode functions with DMA are : + (++) HAL_SPDIFRX_ReceiveControlFlow_DMA() + (++) HAL_SPDIFRX_ReceiveDataFlow_DMA() + + (#) A set of Transfer Complete Callbacks are provided in No_Blocking mode: + (++) HAL_SPDIFRX_RxCpltCallback() + (++) HAL_SPDIFRX_ErrorCallback() + +@endverbatim +* @{ +*/ + + +/** + * @brief Receives an amount of data (Data Flow) in blocking mode. + * @param hspdif: pointer to SPDIFRX_HandleTypeDef structure that contains + * the configuration information for SPDIFRX module. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be received + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + if(hspdif->State == HAL_SPDIFRX_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hspdif); + + hspdif->State = HAL_SPDIFRX_STATE_BUSY; + + /* Start synchronisation */ + __HAL_SPDIFRX_SYNC(hspdif); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until SYNCD flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_SYNCD, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Start reception */ + __HAL_SPDIFRX_RCV(hspdif); + + /* Receive data flow */ + while(Size > 0U) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until RXNE flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + (*pData++) = hspdif->Instance->DR; + Size--; + } + + /* SPDIFRX ready */ + hspdif->State = HAL_SPDIFRX_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receives an amount of data (Control Flow) in blocking mode. + * @param hspdif: pointer to a SPDIFRX_HandleTypeDef structure that contains + * the configuration information for SPDIFRX module. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be received + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + if(hspdif->State == HAL_SPDIFRX_STATE_READY) + { + /* Process Locked */ + __HAL_LOCK(hspdif); + + hspdif->State = HAL_SPDIFRX_STATE_BUSY; + + /* Start synchronization */ + __HAL_SPDIFRX_SYNC(hspdif); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until SYNCD flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_SYNCD, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Start reception */ + __HAL_SPDIFRX_RCV(hspdif); + + /* Receive control flow */ + while(Size > 0U) + { + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until CSRNE flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_CSRNE, RESET, Timeout, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + (*pData++) = hspdif->Instance->CSR; + Size--; + } + + /* SPDIFRX ready */ + hspdif->State = HAL_SPDIFRX_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data (Data Flow) in non-blocking mode with Interrupt + * @param hspdif: SPDIFRX handle + * @param pData: a 32-bit pointer to the Receive data buffer. + * @param Size: number of data sample to be received . + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_IT(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + + if((hspdif->State == HAL_SPDIFRX_STATE_READY) || (hspdif->State == HAL_SPDIFRX_STATE_BUSY_CX)) + { + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hspdif); + + hspdif->pRxBuffPtr = pData; + hspdif->RxXferSize = Size; + hspdif->RxXferCount = Size; + + hspdif->ErrorCode = HAL_SPDIFRX_ERROR_NONE; + + /* Check if a receive process is ongoing or not */ + hspdif->State = HAL_SPDIFRX_STATE_BUSY_RX; + + + /* Enable the SPDIFRX PE Error Interrupt */ + __HAL_SPDIFRX_ENABLE_IT(hspdif, SPDIFRX_IT_PERRIE); + + /* Enable the SPDIFRX OVR Error Interrupt */ + __HAL_SPDIFRX_ENABLE_IT(hspdif, SPDIFRX_IT_OVRIE); + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + /* Enable the SPDIFRX RXNE interrupt */ + __HAL_SPDIFRX_ENABLE_IT(hspdif, SPDIFRX_IT_RXNE); + + if (((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != SPDIFRX_STATE_SYNC) || ((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != 0x00U)) + { + /* Start synchronization */ + __HAL_SPDIFRX_SYNC(hspdif); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until SYNCD flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_SYNCD, RESET, SPDIFRX_TIMEOUT_VALUE, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Start reception */ + __HAL_SPDIFRX_RCV(hspdif); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data (Control Flow) with Interrupt + * @param hspdif: SPDIFRX handle + * @param pData: a 32-bit pointer to the Receive data buffer. + * @param Size: number of data sample (Control Flow) to be received : + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow_IT(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + + if((hspdif->State == HAL_SPDIFRX_STATE_READY) || (hspdif->State == HAL_SPDIFRX_STATE_BUSY_RX)) + { + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hspdif); + + hspdif->pCsBuffPtr = pData; + hspdif->CsXferSize = Size; + hspdif->CsXferCount = Size; + + hspdif->ErrorCode = HAL_SPDIFRX_ERROR_NONE; + + /* Check if a receive process is ongoing or not */ + hspdif->State = HAL_SPDIFRX_STATE_BUSY_CX; + + + /* Enable the SPDIFRX PE Error Interrupt */ + __HAL_SPDIFRX_ENABLE_IT(hspdif, SPDIFRX_IT_PERRIE); + + /* Enable the SPDIFRX OVR Error Interrupt */ + __HAL_SPDIFRX_ENABLE_IT(hspdif, SPDIFRX_IT_OVRIE); + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + /* Enable the SPDIFRX CSRNE interrupt */ + __HAL_SPDIFRX_ENABLE_IT(hspdif, SPDIFRX_IT_CSRNE); + + if (((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != SPDIFRX_STATE_SYNC) || ((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != 0x00U)) + { + /* Start synchronization */ + __HAL_SPDIFRX_SYNC(hspdif); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until SYNCD flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_SYNCD, RESET, SPDIFRX_TIMEOUT_VALUE, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Start reception */ + __HAL_SPDIFRX_RCV(hspdif); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data (Data Flow) mode with DMA + * @param hspdif: SPDIFRX handle + * @param pData: a 32-bit pointer to the Receive data buffer. + * @param Size: number of data sample to be received : + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_DMA(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + if((hspdif->State == HAL_SPDIFRX_STATE_READY) || (hspdif->State == HAL_SPDIFRX_STATE_BUSY_CX)) + { + hspdif->pRxBuffPtr = pData; + hspdif->RxXferSize = Size; + hspdif->RxXferCount = Size; + + /* Process Locked */ + __HAL_LOCK(hspdif); + + hspdif->ErrorCode = HAL_SPDIFRX_ERROR_NONE; + hspdif->State = HAL_SPDIFRX_STATE_BUSY_RX; + + /* Set the SPDIFRX Rx DMA Half transfer complete callback */ + hspdif->hdmaDrRx->XferHalfCpltCallback = SPDIFRX_DMARxHalfCplt; + + /* Set the SPDIFRX Rx DMA transfer complete callback */ + hspdif->hdmaDrRx->XferCpltCallback = SPDIFRX_DMARxCplt; + + /* Set the DMA error callback */ + hspdif->hdmaDrRx->XferErrorCallback = SPDIFRX_DMAError; + + /* Enable the DMA request */ + HAL_DMA_Start_IT(hspdif->hdmaDrRx, (uint32_t)&hspdif->Instance->DR, (uint32_t)hspdif->pRxBuffPtr, Size); + + /* Enable RXDMAEN bit in SPDIFRX CR register for data flow reception*/ + hspdif->Instance->CR |= SPDIFRX_CR_RXDMAEN; + + if (((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != SPDIFRX_STATE_SYNC) || ((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != 0x00U)) + { + /* Start synchronization */ + __HAL_SPDIFRX_SYNC(hspdif); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until SYNCD flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_SYNCD, RESET, SPDIFRX_TIMEOUT_VALUE, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Start reception */ + __HAL_SPDIFRX_RCV(hspdif); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data (Control Flow) with DMA + * @param hspdif: SPDIFRX handle + * @param pData: a 32-bit pointer to the Receive data buffer. + * @param Size: number of data (Control Flow) sample to be received : + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow_DMA(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size) +{ + uint32_t tickstart = 0U; + + if((pData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + if((hspdif->State == HAL_SPDIFRX_STATE_READY) || (hspdif->State == HAL_SPDIFRX_STATE_BUSY_RX)) + { + hspdif->pCsBuffPtr = pData; + hspdif->CsXferSize = Size; + hspdif->CsXferCount = Size; + + /* Process Locked */ + __HAL_LOCK(hspdif); + + hspdif->ErrorCode = HAL_SPDIFRX_ERROR_NONE; + hspdif->State = HAL_SPDIFRX_STATE_BUSY_CX; + + /* Set the SPDIFRX Rx DMA Half transfer complete callback */ + hspdif->hdmaCsRx->XferHalfCpltCallback = SPDIFRX_DMACxHalfCplt; + + /* Set the SPDIFRX Rx DMA transfer complete callback */ + hspdif->hdmaCsRx->XferCpltCallback = SPDIFRX_DMACxCplt; + + /* Set the DMA error callback */ + hspdif->hdmaCsRx->XferErrorCallback = SPDIFRX_DMAError; + + /* Enable the DMA request */ + HAL_DMA_Start_IT(hspdif->hdmaCsRx, (uint32_t)&hspdif->Instance->CSR, (uint32_t)hspdif->pCsBuffPtr, Size); + + /* Enable CBDMAEN bit in SPDIFRX CR register for control flow reception*/ + hspdif->Instance->CR |= SPDIFRX_CR_CBDMAEN; + + if (((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != SPDIFRX_STATE_SYNC) || ((SPDIFRX->CR & SPDIFRX_CR_SPDIFEN) != 0x00U)) + { + /* Start synchronization */ + __HAL_SPDIFRX_SYNC(hspdif); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until SYNCD flag is set */ + if(SPDIFRX_WaitOnFlagUntilTimeout(hspdif, SPDIFRX_FLAG_SYNCD, RESET, SPDIFRX_TIMEOUT_VALUE, tickstart) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* Start reception */ + __HAL_SPDIFRX_RCV(hspdif); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief stop the audio stream receive from the Media. + * @param hspdif: SPDIFRX handle + * @retval None + */ +HAL_StatusTypeDef HAL_SPDIFRX_DMAStop(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Process Locked */ + __HAL_LOCK(hspdif); + + /* Disable the SPDIFRX DMA requests */ + hspdif->Instance->CR &= (uint16_t)(~SPDIFRX_CR_RXDMAEN); + hspdif->Instance->CR &= (uint16_t)(~SPDIFRX_CR_CBDMAEN); + + /* Disable the SPDIFRX DMA channel */ + __HAL_DMA_DISABLE(hspdif->hdmaDrRx); + __HAL_DMA_DISABLE(hspdif->hdmaCsRx); + + /* Disable SPDIFRX peripheral */ + __HAL_SPDIFRX_IDLE(hspdif); + + hspdif->State = HAL_SPDIFRX_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + return HAL_OK; +} + +/** + * @brief This function handles SPDIFRX interrupt request. + * @param hspdif: SPDIFRX handle + * @retval HAL status + */ +void HAL_SPDIFRX_IRQHandler(SPDIFRX_HandleTypeDef *hspdif) +{ + /* SPDIFRX in mode Data Flow Reception ------------------------------------------------*/ + if((__HAL_SPDIFRX_GET_FLAG(hspdif, SPDIFRX_FLAG_RXNE) != RESET) && (__HAL_SPDIFRX_GET_IT_SOURCE(hspdif, SPDIFRX_IT_RXNE) != RESET)) + { + __HAL_SPDIFRX_CLEAR_IT(hspdif, SPDIFRX_IT_RXNE); + SPDIFRX_ReceiveDataFlow_IT(hspdif); + } + + /* SPDIFRX in mode Control Flow Reception ------------------------------------------------*/ + if((__HAL_SPDIFRX_GET_FLAG(hspdif, SPDIFRX_FLAG_CSRNE) != RESET) && (__HAL_SPDIFRX_GET_IT_SOURCE(hspdif, SPDIFRX_IT_CSRNE) != RESET)) + { + __HAL_SPDIFRX_CLEAR_IT(hspdif, SPDIFRX_IT_CSRNE); + SPDIFRX_ReceiveControlFlow_IT(hspdif); + } + + /* SPDIFRX Overrun error interrupt occurred ---------------------------------*/ + if((__HAL_SPDIFRX_GET_FLAG(hspdif, SPDIFRX_FLAG_OVR) != RESET) && (__HAL_SPDIFRX_GET_IT_SOURCE(hspdif, SPDIFRX_IT_OVRIE) != RESET)) + { + __HAL_SPDIFRX_CLEAR_IT(hspdif, SPDIFRX_FLAG_OVR); + + /* Change the SPDIFRX error code */ + hspdif->ErrorCode |= HAL_SPDIFRX_ERROR_OVR; + + /* the transfer is not stopped */ + HAL_SPDIFRX_ErrorCallback(hspdif); + } + + /* SPDIFRX Parity error interrupt occurred ---------------------------------*/ + if((__HAL_SPDIFRX_GET_FLAG(hspdif, SPDIFRX_FLAG_PERR) != RESET) && (__HAL_SPDIFRX_GET_IT_SOURCE(hspdif, SPDIFRX_IT_PERRIE) != RESET)) + { + __HAL_SPDIFRX_CLEAR_IT(hspdif, SPDIFRX_FLAG_PERR); + + /* Change the SPDIFRX error code */ + hspdif->ErrorCode |= HAL_SPDIFRX_ERROR_PE; + + /* the transfer is not stopped */ + HAL_SPDIFRX_ErrorCallback(hspdif); + } +} + +/** + * @brief Rx Transfer (Data flow) half completed callbacks + * @param hspdif: SPDIFRX handle + * @retval None + */ +__weak void HAL_SPDIFRX_RxHalfCpltCallback(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspdif); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SPDIFRX_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer (Data flow) completed callbacks + * @param hspdif: SPDIFRX handle + * @retval None + */ +__weak void HAL_SPDIFRX_RxCpltCallback(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspdif); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SPDIFRX_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx (Control flow) Transfer half completed callbacks + * @param hspdif: SPDIFRX handle + * @retval None + */ +__weak void HAL_SPDIFRX_CxHalfCpltCallback(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspdif); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SPDIFRX_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief Rx Transfer (Control flow) completed callbacks + * @param hspdif: SPDIFRX handle + * @retval None + */ +__weak void HAL_SPDIFRX_CxCpltCallback(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspdif); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SPDIFRX_RxCpltCallback could be implemented in the user file + */ +} + +/** + * @brief SPDIFRX error callbacks + * @param hspdif: SPDIFRX handle + * @retval None + */ +__weak void HAL_SPDIFRX_ErrorCallback(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspdif); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SPDIFRX_ErrorCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SPDIFRX_Exported_Functions_Group3 Peripheral State and Errors functions + * @brief Peripheral State functions + * +@verbatim +=============================================================================== +##### Peripheral State and Errors functions ##### +=============================================================================== +[..] +This subsection permit to get in run-time the status of the peripheral +and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the SPDIFRX state + * @param hspdif : SPDIFRX handle + * @retval HAL state + */ +HAL_SPDIFRX_StateTypeDef HAL_SPDIFRX_GetState(SPDIFRX_HandleTypeDef *hspdif) +{ + return hspdif->State; +} + +/** + * @brief Return the SPDIFRX error code + * @param hspdif : SPDIFRX handle + * @retval SPDIFRX Error Code + */ +uint32_t HAL_SPDIFRX_GetError(SPDIFRX_HandleTypeDef *hspdif) +{ + return hspdif->ErrorCode; +} + +/** + * @} + */ + +/** + * @brief DMA SPDIFRX receive process (Data flow) complete callback + * @param hdma : DMA handle + * @retval None + */ +static void SPDIFRX_DMARxCplt(DMA_HandleTypeDef *hdma) +{ + SPDIFRX_HandleTypeDef* hspdif = ( SPDIFRX_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Disable Rx DMA Request */ + if(hdma->Init.Mode != DMA_CIRCULAR) + { + hspdif->Instance->CR &= (uint16_t)(~SPDIFRX_CR_RXDMAEN); + hspdif->RxXferCount = 0; + hspdif->State = HAL_SPDIFRX_STATE_READY; + } + HAL_SPDIFRX_RxCpltCallback(hspdif); +} + +/** + * @brief DMA SPDIFRX receive process (Data flow) half complete callback + * @param hdma : DMA handle + * @retval None + */ +static void SPDIFRX_DMARxHalfCplt(DMA_HandleTypeDef *hdma) +{ + SPDIFRX_HandleTypeDef* hspdif = (SPDIFRX_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_SPDIFRX_RxHalfCpltCallback(hspdif); +} + + +/** + * @brief DMA SPDIFRX receive process (Control flow) complete callback + * @param hdma : DMA handle + * @retval None + */ +static void SPDIFRX_DMACxCplt(DMA_HandleTypeDef *hdma) +{ + SPDIFRX_HandleTypeDef* hspdif = ( SPDIFRX_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Disable Cb DMA Request */ + hspdif->Instance->CR &= (uint16_t)(~SPDIFRX_CR_CBDMAEN); + hspdif->CsXferCount = 0; + + hspdif->State = HAL_SPDIFRX_STATE_READY; + HAL_SPDIFRX_CxCpltCallback(hspdif); +} + +/** + * @brief DMA SPDIFRX receive process (Control flow) half complete callback + * @param hdma : DMA handle + * @retval None + */ +static void SPDIFRX_DMACxHalfCplt(DMA_HandleTypeDef *hdma) +{ + SPDIFRX_HandleTypeDef* hspdif = (SPDIFRX_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_SPDIFRX_CxHalfCpltCallback(hspdif); +} + +/** + * @brief DMA SPDIFRX communication error callback + * @param hdma : DMA handle + * @retval None + */ +static void SPDIFRX_DMAError(DMA_HandleTypeDef *hdma) +{ + SPDIFRX_HandleTypeDef* hspdif = ( SPDIFRX_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Disable Rx and Cb DMA Request */ + hspdif->Instance->CR &= (uint16_t)(~(SPDIFRX_CR_RXDMAEN | SPDIFRX_CR_CBDMAEN)); + hspdif->RxXferCount = 0; + + hspdif->State= HAL_SPDIFRX_STATE_READY; + + /* Set the error code and execute error callback*/ + hspdif->ErrorCode |= HAL_SPDIFRX_ERROR_DMA; + HAL_SPDIFRX_ErrorCallback(hspdif); +} + +/** + * @brief Receive an amount of data (Data Flow) with Interrupt + * @param hspdif: SPDIFRX handle + * @retval None + */ +static void SPDIFRX_ReceiveDataFlow_IT(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Receive data */ + (*hspdif->pRxBuffPtr++) = hspdif->Instance->DR; + hspdif->RxXferCount--; + + if(hspdif->RxXferCount == 0) + { + /* Disable RXNE/PE and OVR interrupts */ + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_OVRIE | SPDIFRX_IT_PERRIE | SPDIFRX_IT_RXNE); + + hspdif->State = HAL_SPDIFRX_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + HAL_SPDIFRX_RxCpltCallback(hspdif); + } +} + +/** + * @brief Receive an amount of data (Control Flow) with Interrupt + * @param hspdif: SPDIFRX handle + * @retval None + */ +static void SPDIFRX_ReceiveControlFlow_IT(SPDIFRX_HandleTypeDef *hspdif) +{ + /* Receive data */ + (*hspdif->pCsBuffPtr++) = hspdif->Instance->CSR; + hspdif->CsXferCount--; + + if(hspdif->CsXferCount == 0) + { + /* Disable CSRNE interrupt */ + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_CSRNE); + + hspdif->State = HAL_SPDIFRX_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + HAL_SPDIFRX_CxCpltCallback(hspdif); + } +} + +/** + * @brief This function handles SPDIFRX Communication Timeout. + * @param hspdif: SPDIFRX handle + * @param Flag: Flag checked + * @param Status: Value of the flag expected + * @param Timeout: Duration of the timeout + * @param tickstart: Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef SPDIFRX_WaitOnFlagUntilTimeout(SPDIFRX_HandleTypeDef *hspdif, uint32_t Flag, FlagStatus Status, uint32_t Timeout, uint32_t tickstart) +{ + /* Wait until flag is set */ + if(Status == RESET) + { + while(__HAL_SPDIFRX_GET_FLAG(hspdif, Flag) == RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */ + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_RXNE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_CSRNE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_PERRIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_OVRIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_SBLKIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_SYNCDIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_IFEIE); + + hspdif->State= HAL_SPDIFRX_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + return HAL_TIMEOUT; + } + } + } + } + else + { + while(__HAL_SPDIFRX_GET_FLAG(hspdif, Flag) != RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) + { + /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */ + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_RXNE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_CSRNE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_PERRIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_OVRIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_SBLKIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_SYNCDIE); + __HAL_SPDIFRX_DISABLE_IT(hspdif, SPDIFRX_IT_IFEIE); + + hspdif->State= HAL_SPDIFRX_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hspdif); + + return HAL_TIMEOUT; + } + } + } + } + return HAL_OK; +} + +/** + * @} + */ +#endif /* SPDIFRX */ +#endif /* HAL_SPDIFRX_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c new file mode 100644 index 0000000000..4d9f0de717 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c @@ -0,0 +1,3137 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_spi.c + * @author MCD Application Team + * @brief SPI HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Serial Peripheral Interface (SPI) peripheral: + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + The SPI HAL driver can be used as follows: + + (#) Declare a SPI_HandleTypeDef handle structure, for example: + SPI_HandleTypeDef hspi; + + (#)Initialize the SPI low level resources by implementing the HAL_SPI_MspInit() API: + (##) Enable the SPIx interface clock + (##) SPI pins configuration + (+++) Enable the clock for the SPI GPIOs + (+++) Configure these SPI pins as alternate function push-pull + (##) NVIC configuration if you need to use interrupt process + (+++) Configure the SPIx interrupt priority + (+++) Enable the NVIC SPI IRQ handle + (##) DMA Configuration if you need to use DMA process + (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive Stream/Channel + (+++) Enable the DMAx clock + (+++) Configure the DMA handle parameters + (+++) Configure the DMA Tx or Rx Stream/Channel + (+++) Associate the initialized hdma_tx handle to the hspi DMA Tx or Rx handle + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the DMA Tx or Rx Stream/Channel + + (#) Program the Mode, BidirectionalMode , Data size, Baudrate Prescaler, NSS + management, Clock polarity and phase, FirstBit and CRC configuration in the hspi Init structure. + + (#) Initialize the SPI registers by calling the HAL_SPI_Init() API: + (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc) + by calling the customized HAL_SPI_MspInit() API. + + [..] + Circular mode restriction: + (+) The DMA circular mode cannot be used when the SPI is configured in these modes: + (++) Master 2Lines RxOnly + (++) Master 1Line Rx + (+) The CRC feature is not managed when the DMA circular mode is enabled + (+) The functions HAL_SPI_DMAPause()/ HAL_SPI_DMAResume() are not supported. Return always + HAL_ERROR with ErrorCode set to HAL_SPI_ERROR_NOT_SUPPORTED. + Those functions are maintained for backward compatibility reasons. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SPI SPI + * @brief SPI HAL module driver + * @{ + */ +#ifdef HAL_SPI_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private defines -----------------------------------------------------------*/ +/** @defgroup SPI_Private_Constants SPI Private Constants + * @{ + */ +#define SPI_DEFAULT_TIMEOUT 100U +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup SPI_Private_Functions SPI Private Functions + * @{ + */ +static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma); +static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma); +static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma); +static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma); +static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma); +static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma); +static void SPI_DMAError(DMA_HandleTypeDef *hdma); +static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma); +static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma); +static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma); +static HAL_StatusTypeDef SPI_WaitOnFlagUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, FlagStatus FlagStatus, + uint32_t Timeout, uint32_t Tickstart); +static void SPI_TxISR_8BIT(SPI_HandleTypeDef *hspi); +static void SPI_TxISR_16BIT(SPI_HandleTypeDef *hspi); +static void SPI_TxISR_32BIT(SPI_HandleTypeDef *hspi); +static void SPI_RxISR_8BIT(SPI_HandleTypeDef *hspi); +static void SPI_RxISR_16BIT(SPI_HandleTypeDef *hspi); +static void SPI_RxISR_32BIT(SPI_HandleTypeDef *hspi); +static void SPI_2linesRxISR_8BIT(SPI_HandleTypeDef *hspi); +static void SPI_2linesTxISR_8BIT(SPI_HandleTypeDef *hspi); +static void SPI_2linesTxISR_16BIT(SPI_HandleTypeDef *hspi); +static void SPI_2linesTxISR_32BIT(SPI_HandleTypeDef *hspi); +static void SPI_2linesRxISR_16BIT(SPI_HandleTypeDef *hspi); +static void SPI_2linesRxISR_32BIT(SPI_HandleTypeDef *hspi); +static void SPI_AbortTransfer(SPI_HandleTypeDef *hspi); +static void SPI_CloseTransfer(SPI_HandleTypeDef *hspi); +static uint32_t SPI_GetPacketSize(SPI_HandleTypeDef *hspi); + + +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup SPI_Exported_Functions SPI Exported Functions + * @{ + */ + +/** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to initialize and + de-initialize the SPIx peripheral: + + (+) User must implement HAL_SPI_MspInit() function in which he configures + all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). + + (+) Call the function HAL_SPI_Init() to configure the selected device with + the selected configuration: + (++) Mode + (++) Direction + (++) Data Size + (++) Clock Polarity and Phase + (++) NSS Management + (++) BaudRate Prescaler + (++) FirstBit + (++) TIMode + (++) CRC Calculation + (++) CRC Polynomial if CRC enabled + (++) CRC Length, used only with Data8 and Data16 + (++) FIFO reception threshold + (++) FIFO transmission threshold + + (+) Call the function HAL_SPI_DeInit() to restore the default configuration + of the selected SPIx peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the SPI according to the specified parameters + * in the SPI_InitTypeDef and initialize the associated handle. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi) +{ + uint32_t crc_length = 0; + uint32_t packet_length = 0; + + /* Check the SPI handle allocation */ + if (hspi == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance)); + assert_param(IS_SPI_MODE(hspi->Init.Mode)); + assert_param(IS_SPI_DIRECTION(hspi->Init.Direction)); + assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize)); + assert_param(IS_SPI_FIFOTHRESHOLD(hspi->Init.FifoThreshold)); + assert_param(IS_SPI_NSS(hspi->Init.NSS)); + assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode)); + assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); + assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit)); + assert_param(IS_SPI_TIMODE(hspi->Init.TIMode)); + if (hspi->Init.TIMode == SPI_TIMODE_DISABLE) + { + assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); + assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); + } +#if (USE_SPI_CRC != 0U) + assert_param(IS_SPI_CRC_CALCULATION(hspi->Init.CRCCalculation)); + if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) + { + assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial)); + assert_param(IS_SPI_CRC_LENGTH(hspi->Init.CRCLength)); + assert_param(IS_SPI_CRC_INITIALIZATION_PATTERN(hspi->Init.TxCRCInitializationPattern)); + assert_param(IS_SPI_CRC_INITIALIZATION_PATTERN(hspi->Init.RxCRCInitializationPattern)); + } +#else + hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; +#endif /* USE_SPI_CRC */ + + /* Verify that the SPI instance supports Data Size higher than 16bits */ + if ((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (hspi->Init.DataSize > SPI_DATASIZE_16BIT)) + { + return HAL_ERROR; + } + + /* Verify that the SPI instance supports requested data packing */ + packet_length = SPI_GetPacketSize(hspi); + if (((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_LOWEND_FIFO_SIZE )) || + (( IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_HIGHEND_FIFO_SIZE)) ) + { + return HAL_ERROR; + } + +#if (USE_SPI_CRC != 0U) + if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) + { + /* Verify that the SPI instance supports CRC Length higher than 16bits */ + if ((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (hspi->Init.CRCLength > SPI_CRC_LENGTH_16BIT)) + { + return HAL_ERROR; + } + + /* Align the CRC Length on the data size */ + if (hspi->Init.CRCLength == SPI_CRC_LENGTH_DATASIZE) + { + crc_length = (hspi->Init.DataSize >> SPI_CFG1_DSIZE_Pos) << SPI_CFG1_CRCSIZE_Pos; + } + else + { + crc_length = hspi->Init.CRCLength; + } + + /* Verify that the CRC Length is higher than DataSize */ + if ((hspi->Init.DataSize >> SPI_CFG1_DSIZE_Pos) > (crc_length >> SPI_CFG1_CRCSIZE_Pos)) + { + return HAL_ERROR; + } + } +#endif /* USE_SPI_CRC */ + + if (hspi->State == HAL_SPI_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hspi->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC... */ + HAL_SPI_MspInit(hspi); + } + + hspi->State = HAL_SPI_STATE_BUSY; + + /* Disable the selected SPI peripheral */ + __HAL_SPI_DISABLE(hspi); + + /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/ + /* Configure : SPI Mode, Communication Mode, Clock polarity and phase, NSS management, + Communication speed, First bit, CRC calculation state, CRC Length */ + + if ((hspi->Init.NSS == SPI_NSS_SOFT) && (hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) + { + SET_BIT(hspi->Instance->CR1, SPI_CR1_SSI); + } + + /* SPIx CFG1 Configuration */ + WRITE_REG(hspi->Instance->CFG1, (hspi->Init.BaudRatePrescaler | hspi->Init.CRCCalculation | crc_length | + hspi->Init.FifoThreshold | hspi->Init.DataSize)); + + /* SPIx CFG2 Configuration */ + WRITE_REG(hspi->Instance->CFG2, (hspi->Init.NSSPMode | hspi->Init.TIMode | hspi->Init.NSSPolarity | + hspi->Init.NSS | hspi->Init.CLKPolarity | hspi->Init.CLKPhase | + hspi->Init.FirstBit | hspi->Init.Mode | hspi->Init.MasterInterDataIdleness | + hspi->Init.Direction | hspi->Init.MasterSSIdleness | hspi->Init.IOSwap)); + +#if (USE_SPI_CRC != 0U) + /*---------------------------- SPIx CRCPOLY Configuration ------------------*/ + /* Configure : CRC Polynomial */ + if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) + { + /* Initialize TXCRC Pattern Initial Value */ + if (hspi->Init.TxCRCInitializationPattern == SPI_CRC_INITIALIZATION_ALL_ONE_PATTERN) + SET_BIT(hspi->Instance->CR1, SPI_CR1_TCRCINI); + else + CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_TCRCINI); + + /* Initialize RXCRC Pattern Initial Value */ + if (hspi->Init.RxCRCInitializationPattern == SPI_CRC_INITIALIZATION_ALL_ONE_PATTERN) + SET_BIT(hspi->Instance->CR1, SPI_CR1_RCRCINI); + else + CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_RCRCINI); + + /* Enable 33/17 bits CRC computation */ + if (((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (crc_length == SPI_CRC_LENGTH_16BIT)) || + ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (crc_length == SPI_CRC_LENGTH_32BIT)) ) + SET_BIT(hspi->Instance->CR1, SPI_CR1_CRC33_17); + else + CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_CRC33_17); + + /* Write CRC polynomial in SPI Register */ + WRITE_REG(hspi->Instance->CRCPOLY, hspi->Init.CRCPolynomial); + } +#endif /* USE_SPI_CRC */ + + /* Insure that Underrun configuration is managed only by Salve */ + if (hspi->Init.Mode == SPI_MODE_SLAVE) + { + /* Set Default Underrun configuration */ +#if (USE_SPI_CRC != 0U) + if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_DISABLE) +#endif + { + MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRDET, SPI_CFG1_UDRDET_0); + } + MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRCFG, SPI_CFG1_UDRCFG_1); + } + +#if defined(SPI_I2SCFGR_I2SMOD) + /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */ + CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD); +#endif /* SPI_I2SCFGR_I2SMOD */ + + /* Insure that AFCNTR is managed only by Master */ + if ((hspi->Init.Mode & SPI_MODE_MASTER) == SPI_MODE_MASTER) + { + /* Alternate function GPIOs control */ + MODIFY_REG(hspi->Instance->CFG2, SPI_CFG2_AFCNTR, (hspi->Init.MasterKeepIOState)); + } + + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->State = HAL_SPI_STATE_READY; + + return HAL_OK; +} + +/** + * @brief De-Initialize the SPI peripheral. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi) +{ + /* Check the SPI handle allocation */ + if (hspi == NULL) + { + return HAL_ERROR; + } + + /* Check SPI Instance parameter */ + assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance)); + + hspi->State = HAL_SPI_STATE_BUSY; + + /* Disable the SPI Peripheral Clock */ + __HAL_SPI_DISABLE(hspi); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */ + HAL_SPI_MspDeInit(hspi); + + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->State = HAL_SPI_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hspi); + + return HAL_OK; +} + +/** + * @brief Initialize the SPI MSP. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_MspInit should be implemented in the user file + */ +} + +/** + * @brief De-Initialize the SPI MSP. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_MspDeInit should be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SPI_Exported_Functions_Group2 IO operation functions + * @brief Data transfers functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the SPI + data transfers. + + [..] The SPI supports master and slave mode : + + (#) There are two modes of transfer: + (##) Blocking mode: The communication is performed in polling mode. + The HAL status of all data processing is returned by the same function + after finishing transfer. + (##) No-Blocking mode: The communication is performed using Interrupts + or DMA, These APIs return the HAL status. + The end of the data processing will be indicated through the + dedicated SPI IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + The HAL_SPI_TxCpltCallback(), HAL_SPI_RxCpltCallback() and HAL_SPI_TxRxCpltCallback() user callbacks + will be executed respectively at the end of the transmit or Receive process + The HAL_SPI_ErrorCallback()user callback will be executed when a communication error is detected + + (#) APIs provided for these 2 transfer modes (Blocking mode or Non blocking mode using either Interrupt or DMA) + exist for 1Line (simplex) and 2Lines (full duplex) modes. + +@endverbatim + * @{ + */ + +/** + * @brief Transmit an amount of data in blocking mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pData: pointer to data buffer + * @param Size: amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(hspi->Init.Direction)); + + /* Process Locked */ + __HAL_LOCK(hspi); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if (hspi->State != HAL_SPI_STATE_READY) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Set the transaction information */ + hspi->State = HAL_SPI_STATE_BUSY_TX; + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pTxBuffPtr = (uint8_t *)pData; + hspi->TxXferSize = Size; + hspi->TxXferCount = Size; + + /*Init field not used in handle to zero */ + hspi->pRxBuffPtr = NULL; + hspi->RxXferSize = 0U; + hspi->RxXferCount = 0U; + hspi->TxISR = NULL; + hspi->RxISR = NULL; + + /* Configure communication direction : 1Line */ + if (hspi->Init.Direction == SPI_DIRECTION_1LINE) + { + SPI_1LINE_TX(hspi); + } + + /* Set the number if data at current transfer */ + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Transmit data in 32 Bit mode */ + if (hspi->Init.DataSize > SPI_DATASIZE_16BIT) + { + /* Transmit data in 32 Bit mode */ + while (hspi->TxXferCount > 0U) + { + /* Wait until TXE flag is set to send data */ + if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) + { + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount--; + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + } + /* Transmit data in 16 Bit mode */ + else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) + { + /* Transmit data in 16 Bit mode */ + while (hspi->TxXferCount > 0U) + { + /* Wait until TXE flag is set to send data */ + if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) + { + if ( (hspi->TxXferCount > 1U) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA)) + { + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount-=2; + } + else + { + *((__IO uint16_t *)&hspi->Instance->TXDR) = *((uint16_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint16_t); + hspi->TxXferCount--; + } + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + } + /* Transmit data in 8 Bit mode */ + else + { + while (hspi->TxXferCount > 0U) + { + /* Wait until TXE flag is set to send data */ + if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) + { + if ((hspi->TxXferCount > 3U) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_03DATA)) + { + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount-=4; + } + else if ((hspi->TxXferCount > 1U) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA)) + { + *((__IO uint16_t *)&hspi->Instance->TXDR) = *((uint16_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint16_t); + hspi->TxXferCount-=2; + } + else + { + *((__IO uint8_t *)&hspi->Instance->TXDR) = *((uint8_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint8_t); + hspi->TxXferCount--; + } + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + } + + /* Wait for Tx (and CRC) data to be sent */ + if (SPI_WaitOnFlagUntilTimeout(hspi, SPI_FLAG_EOT, RESET, tickstart, Timeout) != HAL_OK) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); + } + + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + hspi->State = HAL_SPI_STATE_READY; + + if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) + { + return HAL_ERROR; + } + return HAL_OK; +} + +/** + * @brief Receive an amount of data in blocking mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pData: pointer to data buffer + * @param Size: amount of data to be received + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = 0U; + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(hspi->Init.Direction)); + + if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES)) + { + hspi->State = HAL_SPI_STATE_BUSY_RX; + /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line */ + return HAL_SPI_TransmitReceive(hspi, pData, pData, Size, Timeout); + } + + /* Process Locked */ + __HAL_LOCK(hspi); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if (hspi->State != HAL_SPI_STATE_READY) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Set the transaction information */ + hspi->State = HAL_SPI_STATE_BUSY_RX; + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pRxBuffPtr = (uint8_t *)pData; + hspi->RxXferSize = Size; + hspi->RxXferCount = Size; + + /*Init field not used in handle to zero */ + hspi->pTxBuffPtr = NULL; + hspi->TxXferSize = 0U; + hspi->TxXferCount = 0U; + hspi->RxISR = NULL; + hspi->TxISR = NULL; + + /* Configure communication direction: 1Line */ + if (hspi->Init.Direction == SPI_DIRECTION_1LINE) + { + SPI_1LINE_RX(hspi); + } + + /* Set the number if data at current transfer */ + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Receive data in 32 Bit mode */ + if (hspi->Init.DataSize > SPI_DATASIZE_16BIT) + { + /* Transfer loop */ + while (hspi->RxXferCount > 0U) + { + /* Check the RXWNE/EOT flag */ + if (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_EOT)) + { + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount--; + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + } + /* Receive data in 16 Bit mode */ + else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) + { + /* Transfer loop */ + while (hspi->RxXferCount > 0U) + { + /* Check the RXWNE/FRLVL flag */ + if (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_FRLVL)) + { + if (hspi->Instance->SR & SPI_FLAG_RXWNE) + { + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount-=2; + } + else + { + *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint16_t); + hspi->RxXferCount--; + } + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + } + /* Receive data in 8 Bit mode */ + else + { + /* Transfer loop */ + while (hspi->RxXferCount > 0U) + { + /* Check the RXWNE/FRLVL flag */ + if (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_FRLVL)) + { + if (hspi->Instance->SR & SPI_FLAG_RXWNE) + { + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount-=4; + } + else if ((hspi->Instance->SR & SPI_FLAG_FRLVL) > SPI_FRLVL_QUARTER_FULL) + { + *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint16_t); + hspi->RxXferCount-=2; + } + else + { + *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint8_t); + hspi->RxXferCount--; + } + } + else + { + /* Timeout management */ + if ((Timeout == 0U) || ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout))) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + } + +#if (USE_SPI_CRC != 0U) + if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) + { + /* Wait for crc data to be received */ + if (SPI_WaitOnFlagUntilTimeout(hspi, SPI_FLAG_EOT, RESET, tickstart, Timeout) != HAL_OK) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); + } + } +#endif /* USE_SPI_CRC */ + + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + hspi->State = HAL_SPI_STATE_READY; + + if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) + { + return HAL_ERROR; + } + return HAL_OK; +} + +/** + * @brief Transmit and Receive an amount of data in blocking mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pTxData: pointer to transmission data buffer + * @param pRxData: pointer to reception data buffer + * @param Size: amount of data to be sent and received + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, + uint32_t Timeout) +{ + uint32_t tickstart = 0U; + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); + + /* Process Locked */ + __HAL_LOCK(hspi); + + /* Init tickstart for timeout management*/ + tickstart = HAL_GetTick(); + + if (!((hspi->State == HAL_SPI_STATE_READY) || \ + ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->State == HAL_SPI_STATE_BUSY_RX)))) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ + if (hspi->State != HAL_SPI_STATE_BUSY_RX) + { + hspi->State = HAL_SPI_STATE_BUSY_TX_RX; + } + + /* Set the transaction information */ + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pRxBuffPtr = (uint8_t *)pRxData; + hspi->RxXferCount = Size; + hspi->RxXferSize = Size; + hspi->pTxBuffPtr = (uint8_t *)pTxData; + hspi->TxXferCount = Size; + hspi->TxXferSize = Size; + + /*Init field not used in handle to zero */ + hspi->RxISR = NULL; + hspi->TxISR = NULL; + + /* Set the number if data at current transfer */ + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + + __HAL_SPI_ENABLE(hspi); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Transmit and Receive data in 32 Bit mode */ + if (hspi->Init.DataSize > SPI_DATASIZE_16BIT) + { + while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) + { + /* Check TXE flag */ + if ((hspi->TxXferCount > 0U) && (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))) + { + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount --; + } + + /* Check RXWNE/EOT flag */ + if ((hspi->RxXferCount > 0U) && (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_EOT))) + { + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount --; + } + + if ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout)) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + /* Transmit and Receive data in 16 Bit mode */ + else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) + { + while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) + { + /* Check TXE flag */ + if ((hspi->TxXferCount > 0U) && (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))) + { + if ( (hspi->TxXferCount > 1U) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA)) + { + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount-=2; + } + else + { + *((__IO uint16_t *)&hspi->Instance->TXDR) = *((uint16_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint16_t); + hspi->TxXferCount--; + } + } + + /* Check RXWNE/FRLVL flag */ + if ((hspi->RxXferCount > 0U) && (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_FRLVL))) + { + if (hspi->Instance->SR & SPI_FLAG_RXWNE) + { + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount-=2; + } + else + { + *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint16_t); + hspi->RxXferCount--; + } + } + + if ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout)) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + /* Transmit and Receive data in 8 Bit mode */ + else + { + while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) + { + /* check TXE flag */ + if ((hspi->TxXferCount > 0U) && (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))) + { + if ((hspi->TxXferCount > 3U) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_03DATA)) + { + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount-=4; + } + else if ((hspi->TxXferCount > 1U) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA)) + { + *((__IO uint16_t *)&hspi->Instance->TXDR) = *((uint16_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint16_t); + hspi->TxXferCount-=2; + } + else + { + *((__IO uint8_t *)&hspi->Instance->TXDR) = *((uint8_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint8_t); + hspi->TxXferCount--; + } + } + + /* Wait until RXWNE/FRLVL flag is reset */ + if ((hspi->RxXferCount > 0U) && (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_FRLVL))) + { + if (hspi->Instance->SR & SPI_FLAG_RXWNE) + { + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount-=4; + } + else if ((hspi->Instance->SR & SPI_FLAG_FRLVL) > SPI_FRLVL_QUARTER_FULL) + { + *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint16_t); + hspi->RxXferCount-=2; + } + else + { + *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint8_t); + hspi->RxXferCount--; + } + } + + if ((Timeout != HAL_MAX_DELAY) && ((HAL_GetTick() - tickstart) >= Timeout)) + { + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT); + hspi->State = HAL_SPI_STATE_READY; + return HAL_ERROR; + } + } + } + + /* Wait for Tx/Rx (and CRC) data to be sent/received */ + if (SPI_WaitOnFlagUntilTimeout(hspi, SPI_FLAG_EOT, RESET, tickstart, Timeout) != HAL_OK) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); + } + + /* Call standard close procedure with error check */ + SPI_CloseTransfer(hspi); + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + hspi->State = HAL_SPI_STATE_READY; + + if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) + { + return HAL_ERROR; + } + return HAL_OK; +} + +/** + * @brief Transmit an amount of data in non-blocking mode with Interrupt. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pData: pointer to data buffer + * @param Size: amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(hspi->Init.Direction)); + + /* Process Locked */ + __HAL_LOCK(hspi); + + if ((pData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if (hspi->State != HAL_SPI_STATE_READY) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Set the transaction information */ + hspi->State = HAL_SPI_STATE_BUSY_TX; + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pTxBuffPtr = (uint8_t *)pData; + hspi->TxXferSize = Size; + hspi->TxXferCount = Size; + + /* Init field not used in handle to zero */ + hspi->pRxBuffPtr = NULL; + hspi->RxXferSize = 0U; + hspi->RxXferCount = 0U; + hspi->RxISR = NULL; + + /* Set the function for IT treatment */ + if (hspi->Init.DataSize > SPI_DATASIZE_16BIT) + { + hspi->TxISR = SPI_TxISR_32BIT; + } + else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) + { + hspi->TxISR = SPI_TxISR_16BIT; + } + else + { + hspi->TxISR = SPI_TxISR_8BIT; + } + + /* Configure communication direction : 1Line */ + if (hspi->Init.Direction == SPI_DIRECTION_1LINE) + { + SPI_1LINE_TX(hspi); + } + + /* Set the number if data at current transfer */ + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + /* Enable EOT, TXE and UDR interrupt */ + __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_TXE | SPI_IT_UDR | SPI_IT_FRE | SPI_IT_MODF)); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @brief Receive an amount of data in non-blocking mode with Interrupt. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pData: pointer to data buffer + * @param Size: amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(hspi->Init.Direction)); + + if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER)) + { + hspi->State = HAL_SPI_STATE_BUSY_RX; + /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line */ + return HAL_SPI_TransmitReceive_IT(hspi, pData, pData, Size); + } + + /* Process Locked */ + __HAL_LOCK(hspi); + + if (hspi->State != HAL_SPI_STATE_READY) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Set the transaction information */ + hspi->State = HAL_SPI_STATE_BUSY_RX; + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pRxBuffPtr = (uint8_t *)pData; + hspi->RxXferSize = Size; + hspi->RxXferCount = Size; + + /* Init field not used in handle to zero */ + hspi->pTxBuffPtr = NULL; + hspi->TxXferSize = 0U; + hspi->TxXferCount = 0U; + hspi->TxISR = NULL; + + /* Set the function for IT treatment */ + if (hspi->Init.DataSize > SPI_DATASIZE_16BIT) + { + hspi->RxISR = SPI_RxISR_32BIT; + } + else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) + { + hspi->RxISR = SPI_RxISR_16BIT; + } + else + { + hspi->RxISR = SPI_RxISR_8BIT; + } + + /* Configure communication direction : 1Line */ + if (hspi->Init.Direction == SPI_DIRECTION_1LINE) + { + SPI_1LINE_RX(hspi); + } + + /* Note : The SPI must be enabled after unlocking current process + to avoid the risk of SPI interrupt handle execution before current + process unlock */ + + /* Set the number if data at current transfer */ + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + /* Enable EOT, RXNE and OVR interrupt */ + __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_RXNE | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF)); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @brief Transmit and Receive an amount of data in non-blocking mode with Interrupt. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pTxData: pointer to transmission data buffer + * @param pRxData: pointer to reception data buffer + * @param Size: amount of data to be sent and received + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); + + /* Process locked */ + __HAL_LOCK(hspi); + + if (!((hspi->State == HAL_SPI_STATE_READY) || \ + ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->State == HAL_SPI_STATE_BUSY_RX)))) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ + if (hspi->State != HAL_SPI_STATE_BUSY_RX) + { + hspi->State = HAL_SPI_STATE_BUSY_TX_RX; + } + + /* Set the transaction information */ + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pTxBuffPtr = (uint8_t *)pTxData; + hspi->TxXferSize = Size; + hspi->TxXferCount = Size; + hspi->pRxBuffPtr = (uint8_t *)pRxData; + hspi->RxXferSize = Size; + hspi->RxXferCount = Size; + + /* Set the function for IT treatment */ + if (hspi->Init.DataSize > SPI_DATASIZE_16BIT) + { + hspi->RxISR = SPI_2linesRxISR_32BIT; + hspi->TxISR = SPI_2linesTxISR_32BIT; + } + else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) + { + hspi->RxISR = SPI_2linesRxISR_16BIT; + hspi->TxISR = SPI_2linesTxISR_16BIT; + } + else + { + hspi->RxISR = SPI_2linesRxISR_8BIT; + hspi->TxISR = SPI_2linesTxISR_8BIT; + } + + /* Set the number if data at current transfer */ + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + /* Enable EOT, TXE, RXNE, UDR and OVR interrupt */ + __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_UDR | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF)); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @brief Transmit an amount of data in non-blocking mode with DMA. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pData: pointer to data buffer + * @param Size: amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(hspi->Init.Direction)); + + /* Process Locked */ + __HAL_LOCK(hspi); + + if (hspi->State != HAL_SPI_STATE_READY) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Set the transaction information */ + hspi->State = HAL_SPI_STATE_BUSY_TX; + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pTxBuffPtr = (uint8_t *)pData; + hspi->TxXferSize = Size; + hspi->TxXferCount = Size; + + /* Init field not used in handle to zero */ + hspi->pRxBuffPtr = NULL; + hspi->TxISR = NULL; + hspi->RxISR = NULL; + hspi->RxXferSize = 0U; + hspi->RxXferCount = 0U; + + /* Configure communication direction : 1Line */ + if (hspi->Init.Direction == SPI_DIRECTION_1LINE) + { + SPI_1LINE_TX(hspi); + } + + /* Packing mode management is enabled by the DMA settings */ + if (((hspi->Init.DataSize > SPI_DATASIZE_16BIT) && (hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_WORD)) || \ + ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_HALFWORD) && \ + (hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_WORD)))) + { + /* Restriction the DMA data received is not allowed in this mode */ + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Adjust XferCount according to DMA alignement / Data size */ + if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT) + { + if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) + { + hspi->TxXferCount = (hspi->TxXferCount + 1U) >> 1U; + } + if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->TxXferCount = (hspi->TxXferCount + 3U) >> 2U; + } + } + else if (hspi->Init.DataSize <= SPI_DATASIZE_16BIT) + { + if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->TxXferCount = (hspi->TxXferCount + 1U) >> 1U; + } + } + + /* Set the SPI TxDMA Half transfer complete callback */ + hspi->hdmatx->XferHalfCpltCallback = SPI_DMAHalfTransmitCplt; + + /* Set the SPI TxDMA transfer complete callback */ + hspi->hdmatx->XferCpltCallback = SPI_DMATransmitCplt; + + /* Set the DMA error callback */ + hspi->hdmatx->XferErrorCallback = SPI_DMAError; + + /* Set the DMA AbortCpltCallback */ + hspi->hdmatx->XferAbortCallback = NULL; + + /* Clear TXDMAEN bit*/ + CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN); + + /* Enable the Tx DMA Stream/Channel */ + HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instance->TXDR, hspi->TxXferCount); + + /* Set the number if data at current transfer */ + if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR) + { + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, 0); + } + else + { + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + } + + /* Enable Tx DMA Request */ + SET_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN); + + /* Enable the SPI Error Interrupt Bit */ + __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_UDR | SPI_IT_FRE | SPI_IT_MODF)); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @brief Receive an amount of data in non-blocking mode with DMA. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pData: pointer to data buffer + * @note When the CRC feature is enabled the pData Length must be Size + 1. + * @param Size: amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(hspi->Init.Direction)); + + if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER)) + { + hspi->State = HAL_SPI_STATE_BUSY_RX; + /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line */ + return HAL_SPI_TransmitReceive_DMA(hspi, pData, pData, Size); + } + + /* Process Locked */ + __HAL_LOCK(hspi); + + if (hspi->State != HAL_SPI_STATE_READY) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Set the transaction information */ + hspi->State = HAL_SPI_STATE_BUSY_RX; + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pRxBuffPtr = (uint8_t *)pData; + hspi->RxXferSize = Size; + hspi->RxXferCount = Size; + + /*Init field not used in handle to zero */ + hspi->RxISR = NULL; + hspi->TxISR = NULL; + hspi->TxXferSize = 0U; + hspi->TxXferCount = 0U; + + /* Configure communication direction : 1Line */ + if (hspi->Init.Direction == SPI_DIRECTION_1LINE) + { + SPI_1LINE_RX(hspi); + } + + /* Packing mode management is enabled by the DMA settings */ + if (((hspi->Init.DataSize > SPI_DATASIZE_16BIT) && (hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_WORD)) || \ + ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_HALFWORD) && \ + (hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_WORD)))) + { + /* Restriction the DMA data received is not allowed in this mode */ + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Clear RXDMAEN bit */ + CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN); + + /* Adjust XferCount according to DMA alignement / Data size */ + if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT) + { + if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) + { + hspi->RxXferCount = (hspi->RxXferCount + 1U) >> 1U; + } + if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->RxXferCount = (hspi->RxXferCount + 3U) >> 2U; + } + } + else if (hspi->Init.DataSize <= SPI_DATASIZE_16BIT) + { + if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->RxXferCount = (hspi->RxXferCount + 1U) >> 1U; + } + } + + /* Set the SPI RxDMA Half transfer complete callback */ + hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt; + + /* Set the SPI Rx DMA transfer complete callback */ + hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; + + /* Set the DMA error callback */ + hspi->hdmarx->XferErrorCallback = SPI_DMAError; + + /* Set the DMA AbortCpltCallback */ + hspi->hdmarx->XferAbortCallback = NULL; + + /* Enable the Rx DMA Stream/Channel */ + HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->RXDR, (uint32_t)hspi->pRxBuffPtr, hspi->RxXferCount); + + /* Set the number if data at current transfer */ + if (hspi->hdmarx->Init.Mode == DMA_CIRCULAR) + { + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, 0); + } + else + { + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + } + + /* Enable Rx DMA Request */ + SET_BIT(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN); + + /* Enable the SPI Error Interrupt Bit */ + __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF)); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @brief Transmit and Receive an amount of data in non-blocking mode with DMA. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param pTxData: pointer to transmission data buffer + * @param pRxData: pointer to reception data buffer + * @note When the CRC feature is enabled the pRxData Length must be Size + 1 + * @param Size: amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, + uint16_t Size) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Check Direction parameter */ + assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); + + /* Process locked */ + __HAL_LOCK(hspi); + + if (!((hspi->State == HAL_SPI_STATE_READY) || + ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->State == HAL_SPI_STATE_BUSY_RX)))) + { + errorcode = HAL_BUSY; + __HAL_UNLOCK(hspi); + return errorcode; + } + + if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) + { + errorcode = HAL_ERROR; + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ + if (hspi->State != HAL_SPI_STATE_BUSY_RX) + { + hspi->State = HAL_SPI_STATE_BUSY_TX_RX; + } + + /* Set the transaction information */ + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + hspi->pTxBuffPtr = (uint8_t *)pTxData; + hspi->TxXferSize = Size; + hspi->TxXferCount = Size; + hspi->pRxBuffPtr = (uint8_t *)pRxData; + hspi->RxXferSize = Size; + hspi->RxXferCount = Size; + + /* Init field not used in handle to zero */ + hspi->RxISR = NULL; + hspi->TxISR = NULL; + + /* Reset the Tx/Rx DMA bits */ + CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN); + + /* Packing mode management is enabled by the DMA settings */ + if (((hspi->Init.DataSize > SPI_DATASIZE_16BIT) && (hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_WORD)) || \ + ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_HALFWORD) && \ + (hspi->hdmarx->Init.MemDataAlignment != DMA_MDATAALIGN_WORD)))) + { + /* Restriction the DMA data received is not allowed in this mode */ + errorcode = HAL_ERROR; + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Adjust XferCount according to DMA alignement / Data size */ + if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT) + { + if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) + { + hspi->TxXferCount = (hspi->TxXferCount + 1U) >> 1U; + } + if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->TxXferCount = (hspi->TxXferCount + 3U) >> 2U; + } + if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) + { + hspi->RxXferCount = (hspi->RxXferCount + 1U) >> 1U; + } + if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->RxXferCount = (hspi->RxXferCount + 3U) >> 2U; + } + } + else if (hspi->Init.DataSize <= SPI_DATASIZE_16BIT) + { + if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->TxXferCount = (hspi->TxXferCount + 1U) >> 1U; + } + if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD) + { + hspi->RxXferCount = (hspi->RxXferCount + 1U) >> 1U; + } + } + + /* Check if we are in Rx only or in Rx/Tx Mode and configure the DMA transfer complete callback */ + if (hspi->State == HAL_SPI_STATE_BUSY_RX) + { + /* Set the SPI Rx DMA Half transfer complete callback */ + hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt; + hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; + } + else + { + /* Set the SPI Tx/Rx DMA Half transfer complete callback */ + hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt; + hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt; + } + + /* Set the DMA error callback */ + hspi->hdmarx->XferErrorCallback = SPI_DMAError; + + /* Set the DMA AbortCallback */ + hspi->hdmarx->XferAbortCallback = NULL; + + /* Enable the Rx DMA Stream/Channel */ + HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->RXDR, (uint32_t)hspi->pRxBuffPtr, hspi->RxXferCount); + + /* Enable Rx DMA Request */ + SET_BIT(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN); + + /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing + is performed in DMA reception complete callback */ + hspi->hdmatx->XferHalfCpltCallback = NULL; + hspi->hdmatx->XferCpltCallback = NULL; + hspi->hdmatx->XferErrorCallback = NULL; + hspi->hdmatx->XferAbortCallback = NULL; + + /* Enable the Tx DMA Stream/Channel */ + HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instance->TXDR, hspi->TxXferCount); + + if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR) + { + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, 0); + } + else + { + MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size); + } + + /* Enable Tx DMA Request */ + SET_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN); + + /* Enable the SPI Error Interrupt Bit */ + __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_OVR | SPI_IT_UDR | SPI_IT_FRE | SPI_IT_MODF)); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + + if (hspi->Init.Mode == SPI_MODE_MASTER) + { + /* Master transfer start */ + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @brief Abort ongoing transfer (blocking mode). + * @param hspi SPI handle. + * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx), + * started in Interrupt or DMA mode. + * @note This procedure performs following operations : + * + Disable SPI Interrupts (depending of transfer direction) + * + Disable the DMA transfer in the peripheral register (if enabled) + * + Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * + Set handle State to READY. + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi) +{ + HAL_StatusTypeDef errorcode; + __IO uint32_t count; + + /* Process locked */ + __HAL_LOCK(hspi); + + /* Set hspi->state to aborting to avoid any interaction */ + hspi->State = HAL_SPI_STATE_ABORT; + + /* Initialized local variable */ + errorcode = HAL_OK; + count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); + + /* If master communication on going, make sure current frame is done before closing the connection */ + if (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART)) + { + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSUSP); + do + { + if (count-- == 0U) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); + break; + } + } + while (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART)); + } + + /* Disable the SPI DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN)) + { + if (hspi->hdmatx != NULL) + { + /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */ + hspi->hdmatx->XferAbortCallback = NULL; + + /* Abort DMA Tx Handle linked to SPI Peripheral */ + if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK) + { + if (HAL_DMA_GetError(hspi->hdmatx) == HAL_DMA_ERROR_TIMEOUT) + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + } + } + } + } + + /* Disable the SPI DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN)) + { + if (hspi->hdmarx != NULL) + { + /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */ + hspi->hdmarx->XferAbortCallback = NULL; + + /* Abort DMA Rx Handle linked to SPI Peripheral */ + if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK) + { + if (HAL_DMA_GetError(hspi->hdmarx) == HAL_DMA_ERROR_TIMEOUT) + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + } + } + } + } + + /* Proceed with abort procedure */ + SPI_AbortTransfer(hspi); + + /* Check error during Abort procedure */ + if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT) + { + /* return HAL_Error in case of error during Abort procedure */ + errorcode = HAL_ERROR; + } + else + { + /* Reset errorCode */ + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + + /* Restore hspi->state to ready */ + hspi->State = HAL_SPI_STATE_READY; + + return errorcode; +} + +/** + * @brief Abort ongoing transfer (Interrupt mode). + * @param hspi SPI handle. + * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx), + * started in Interrupt or DMA mode. + * @note This procedure performs following operations : + * + Disable SPI Interrupts (depending of transfer direction) + * + Disable the DMA transfer in the peripheral register (if enabled) + * + Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * + Set handle State to READY + * + At abort completion, call user abort complete callback. + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi) +{ + HAL_StatusTypeDef errorcode; + __IO uint32_t count; + uint32_t dma_tx_abort_done = 1, dma_rx_abort_done = 1; + + /* Set hspi->state to aborting to avoid any interaction */ + hspi->State = HAL_SPI_STATE_ABORT; + + /* Initialized local variable */ + errorcode = HAL_OK; + count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); + + /* If master communication on going, make sure current frame is done before closing the connection */ + if (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART)) + { + SET_BIT(hspi->Instance->CR1, SPI_CR1_CSUSP); + do + { + if (count-- == 0U) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); + break; + } + } + while (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART)); + } + + /* Reset Callbacks */ + hspi->hdmarx->XferAbortCallback = NULL; + hspi->hdmatx->XferAbortCallback = NULL; + + /* If DMA Tx and/or DMA Rx Handles are associated to SPI Handle, DMA Abort complete callbacks should be initialised + before any call to DMA Abort functions */ + + if ((hspi->hdmatx != NULL) && HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN)) + { + /* Set DMA Abort Complete callback if UART DMA Tx request if enabled */ + hspi->hdmatx->XferAbortCallback = SPI_DMATxAbortCallback; + } + + if ((hspi->hdmarx != NULL) && HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN)) + { + /* Set DMA Abort Complete callback if UART DMA Rx request if enabled */ + hspi->hdmarx->XferAbortCallback = SPI_DMARxAbortCallback; + } + + /* Disable the SPI DMA Tx request if enabled */ + if ((hspi->hdmatx != NULL) && HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN)) + { + dma_tx_abort_done = 0; + + /* Abort DMA Tx Handle linked to SPI Peripheral */ + if (HAL_DMA_Abort_IT(hspi->hdmatx) != HAL_OK) + { + if (HAL_DMA_GetError(hspi->hdmatx) == HAL_DMA_ERROR_NO_XFER) + { + dma_tx_abort_done = 1; + hspi->hdmatx->XferAbortCallback = NULL; + } + } + } + + /* Disable the SPI DMA Rx request if enabled */ + if ((hspi->hdmarx != NULL) && HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN)) + { + dma_rx_abort_done = 0; + + /* Abort DMA Rx Handle linked to SPI Peripheral */ + if (HAL_DMA_Abort_IT(hspi->hdmarx) != HAL_OK) + { + if (HAL_DMA_GetError(hspi->hdmarx) == HAL_DMA_ERROR_NO_XFER) + { + dma_rx_abort_done = 1; + hspi->hdmarx->XferAbortCallback = NULL; + } + } + } + + /* If no running DMA transfer, finish cleanup and call callbacks */ + if ((dma_tx_abort_done == 1) && (dma_rx_abort_done == 1)) + { + /* Proceed with abort procedure */ + SPI_AbortTransfer(hspi); + + /* Check error during Abort procedure */ + if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT) + { + /* return HAL_Error in case of error during Abort procedure */ + errorcode = HAL_ERROR; + } + else + { + /* Reset errorCode */ + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + } + + /* Restore hspi->state to ready */ + hspi->State = HAL_SPI_STATE_READY; + + /* Call user Abort complete callback */ + HAL_SPI_AbortCpltCallback(hspi); + } + + return errorcode; +} + +/** + * @brief Pause the DMA Transfer. + * This API is supported, it is maintained for backward compatibility. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for the specified SPI module. + * @retval HAL_ERROR + */ +HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi) +{ + /* Set error code to not supported */ + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_NOT_SUPPORTED); + + return HAL_ERROR; +} + +/** + * @brief Resume the DMA Transfer. + * This API is supported, it is maintained for backward compatibility. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for the specified SPI module. + * @retval HAL_ERROR + */ +HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi) +{ + /* Set error code to not supported */ + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_NOT_SUPPORTED); + + return HAL_ERROR; +} + +/** + * @brief Stop the DMA Transfer. + * This API is supported, it is maintained for backward compatibility. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for the specified SPI module. + * @retval HAL_ERROR + */ +HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi) +{ + /* Set error code to not supported */ + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_NOT_SUPPORTED); + + return HAL_ERROR; +} + +/** + * @brief Handle SPI interrupt request. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for the specified SPI module. + * @retval None + */ +void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi) +{ + uint32_t itsource = hspi->Instance->IER; + uint32_t itflag = hspi->Instance->SR; + uint32_t trigger = itsource & itflag; + uint32_t cfg1 = hspi->Instance->CFG1; + uint32_t handled = 0; + + HAL_SPI_StateTypeDef State = hspi->State; + + /* SPI in mode Receiver ----------------------------------------------------*/ + if (HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR) && HAL_IS_BIT_SET(trigger, SPI_FLAG_RXNE)) + { + hspi->RxISR(hspi); + handled = 1; + } + + /* SPI in mode Transmitter -------------------------------------------------*/ + if (HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR) && HAL_IS_BIT_SET(trigger, SPI_FLAG_TXE)) + { + hspi->TxISR(hspi); + handled = 1; + } + + if (handled != 0) + return; + + /* SPI End Of Transfer: DMA or IT based transfer */ + if (HAL_IS_BIT_SET(trigger, SPI_FLAG_EOT)) + { + /* Clear EOT/TXTF/SUSP flag */ + __HAL_SPI_CLEAR_EOTFLAG(hspi); + __HAL_SPI_CLEAR_TXTFFLAG(hspi); + __HAL_SPI_CLEAR_SUSPFLAG(hspi); + + /* Disable EOT interrupt */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_EOT); + + /* DMA Normal Mode */ + if( HAL_IS_BIT_CLR(cfg1, SPI_CFG1_TXDMAEN|SPI_CFG1_RXDMAEN) || // IT based transfer is done + ((State != HAL_SPI_STATE_BUSY_RX) && (hspi->hdmatx->Init.Mode == DMA_NORMAL)) || // DMA is used in normal mode + ((State != HAL_SPI_STATE_BUSY_TX) && (hspi->hdmarx->Init.Mode == DMA_NORMAL)) ) // DMA is used in normal mode + { + /* For the IT based receive extra polling maybe required for last packet */ + if (HAL_IS_BIT_CLR(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN|SPI_CFG1_RXDMAEN)) + { + /* Pooling remaining data */ + while (hspi->RxXferCount != 0) + { + /* Receive data in 32 Bit mode */ + if (hspi->Init.DataSize > SPI_DATASIZE_16BIT) + { + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + } + /* Receive data in 16 Bit mode */ + else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) + { + *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint16_t); + } + /* Receive data in 8 Bit mode */ + else + { + *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint8_t); + } + hspi->RxXferCount--; + } + } + + /* Call SPI Standard close procedure */ + SPI_CloseTransfer(hspi); + + hspi->State = HAL_SPI_STATE_READY; + if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) + { + HAL_SPI_ErrorCallback(hspi); + return; + } + } + + /* Call appropriate user callback */ + if (State == HAL_SPI_STATE_BUSY_TX_RX) + { + HAL_SPI_TxRxCpltCallback(hspi); + } + else if (State == HAL_SPI_STATE_BUSY_RX) + { + HAL_SPI_RxCpltCallback(hspi); + } + else if (State == HAL_SPI_STATE_BUSY_TX) + { + HAL_SPI_TxCpltCallback(hspi); + } + return; + } + + if (HAL_IS_BIT_SET(itsource, SPI_FLAG_EOT) && HAL_IS_BIT_SET(itflag, SPI_FLAG_SUSP )) + { + /* Abort on going, clear SUSP flag to avoid infinit looping */ + __HAL_SPI_CLEAR_SUSPFLAG(hspi); + + return; + } + + /* SPI in Error Treatment --------------------------------------------------*/ + if ((trigger & (SPI_FLAG_MODF | SPI_FLAG_OVR | SPI_FLAG_FRE | SPI_FLAG_UDR)) != RESET) + { + /* SPI Overrun error interrupt occurred ----------------------------------*/ + if ((trigger & SPI_FLAG_OVR) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR); + __HAL_SPI_CLEAR_OVRFLAG(hspi); + } + + /* SPI Mode Fault error interrupt occurred -------------------------------*/ + if ((trigger & SPI_FLAG_MODF) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF); + __HAL_SPI_CLEAR_MODFFLAG(hspi); + } + + /* SPI Frame error interrupt occurred ------------------------------------*/ + if ((trigger & SPI_FLAG_FRE) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE); + __HAL_SPI_CLEAR_FREFLAG(hspi); + } + + /* SPI Underrun error interrupt occurred ------------------------------------*/ + if ((trigger & SPI_FLAG_UDR) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_UDR); + __HAL_SPI_CLEAR_UDRFLAG(hspi); + } + + if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) + { + /* Disable SPI peripheral */ + __HAL_SPI_DISABLE(hspi); + + /* Disable all interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_EOT | SPI_IT_RXNE | SPI_IT_TXE | SPI_IT_MODF | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_UDR); + + /* Disable the SPI DMA requests if enabled */ + if (HAL_IS_BIT_SET(cfg1, SPI_CFG1_TXDMAEN|SPI_CFG1_RXDMAEN)) + { + /* Disable the SPI DMA requests */ + CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN); + + /* Abort the SPI DMA Rx channel */ + if (hspi->hdmarx != NULL) + { + /* Set the SPI DMA Abort callback : + will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */ + hspi->hdmarx->XferAbortCallback = SPI_DMAAbortOnError; + HAL_DMA_Abort_IT(hspi->hdmarx); + } + /* Abort the SPI DMA Tx channel */ + if (hspi->hdmatx != NULL) + { + /* Set the SPI DMA Abort callback : + will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */ + hspi->hdmatx->XferAbortCallback = SPI_DMAAbortOnError; + HAL_DMA_Abort_IT(hspi->hdmatx); + } + } + else + { + /* Restore hspi->State to Ready */ + hspi->State = HAL_SPI_STATE_READY; + + /* Call user error callback */ + HAL_SPI_ErrorCallback(hspi); + } + } + return; + } +} + +/** + * @brief Tx Transfer completed callback. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_TxCpltCallback should be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_RxCpltCallback should be implemented in the user file + */ +} + +/** + * @brief Tx and Rx Transfer completed callback. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_TxRxCpltCallback should be implemented in the user file + */ +} + +/** + * @brief Tx Half Transfer completed callback. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_TxHalfCpltCallback should be implemented in the user file + */ +} + +/** + * @brief Rx Half Transfer completed callback. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file + */ +} + +/** + * @brief Tx and Rx Half Transfer callback. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file + */ +} + +/** + * @brief SPI error callback. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +__weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_ErrorCallback should be implemented in the user file + */ + /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes + and user can use HAL_SPI_GetError() API to check the latest error occurred + */ +} + +/** + * @brief SPI Abort Complete callback. + * @param hspi SPI handle. + * @retval None + */ +__weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hspi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SPI_AbortCpltCallback can be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions + * @brief SPI control functions + * +@verbatim + =============================================================================== + ##### Peripheral State and Errors functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the SPI. + (+) HAL_SPI_GetState() API can be helpful to check in run-time the state of the SPI peripheral + (+) HAL_SPI_GetError() check in run-time Errors occurring during communication +@endverbatim + * @{ + */ + +/** + * @brief Return the SPI handle state. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval SPI state + */ +HAL_SPI_StateTypeDef HAL_SPI_GetState(SPI_HandleTypeDef *hspi) +{ + /* Return SPI handle state */ + return hspi->State; +} + +/** + * @brief Return the SPI error code. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval SPI error code in bitmap format + */ +uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi) +{ + /* Return SPI ErrorCode */ + return hspi->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup SPI_Private_Functions + * @brief Private functions + * @{ + */ + +/** + * @brief DMA SPI transmit process complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + if (hspi->State != HAL_SPI_STATE_ABORT) + { + if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR) + { + HAL_SPI_TxCpltCallback(hspi); + } + else + { + /* Enable EOT interrupt */ + __HAL_SPI_ENABLE_IT(hspi, SPI_IT_EOT); + } + } +} + +/** + * @brief DMA SPI receive process complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + if (hspi->State != HAL_SPI_STATE_ABORT) + { + if (hspi->hdmarx->Init.Mode == DMA_CIRCULAR) + { + HAL_SPI_RxCpltCallback(hspi); + } + else + { + /* Enable EOT interrupt */ + __HAL_SPI_ENABLE_IT(hspi, SPI_IT_EOT); + } + } +} + +/** + * @brief DMA SPI transmit receive process complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + if (hspi->State != HAL_SPI_STATE_ABORT) + { + if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR) + { + HAL_SPI_TxRxCpltCallback(hspi); + } + else + { + /* Enable EOT interrupt */ + __HAL_SPI_ENABLE_IT(hspi, SPI_IT_EOT); + } + } +} + +/** + * @brief DMA SPI half transmit process complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + HAL_SPI_TxHalfCpltCallback(hspi); +} + +/** + * @brief DMA SPI half receive process complete callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + HAL_SPI_RxHalfCpltCallback(hspi); +} + +/** + * @brief DMA SPI half transmit receive process complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + HAL_SPI_TxRxHalfCpltCallback(hspi); +} + +/** + * @brief DMA SPI communication error callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void SPI_DMAError(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + /* if DMA error is FIFO error ignore it */ + if(HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_FE) + { + /* Call SPI standard close procedure */ + SPI_CloseTransfer(hspi); + + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); + hspi->State = HAL_SPI_STATE_READY; + HAL_SPI_ErrorCallback(hspi); + } +} + +/** + * @brief DMA SPI communication abort callback, when initiated by HAL services on Error + * (To be called at end of DMA Abort procedure following error occurrence). + * @param hdma DMA handle. + * @retval None + */ +static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + hspi->RxXferCount = 0U; + hspi->TxXferCount = 0U; + + /* Restore hspi->State to Ready */ + hspi->State = HAL_SPI_STATE_READY; + + HAL_SPI_ErrorCallback(hspi); +} + +/** + * @brief DMA SPI Tx communication abort callback, when initiated by user + * (To be called at end of DMA Tx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Rx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + hspi->hdmatx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if (hspi->hdmarx != NULL) + { + if (hspi->hdmarx->XferAbortCallback != NULL) + { + return; + } + } + + /* Call the Abort procedure */ + SPI_AbortTransfer(hspi); + + /* Restore hspi->State to Ready */ + hspi->State = HAL_SPI_STATE_READY; + + /* Call user Abort complete callback */ + HAL_SPI_AbortCpltCallback(hspi); +} + +/** + * @brief DMA SPI Rx communication abort callback, when initiated by user + * (To be called at end of DMA Rx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Tx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma) +{ + SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; + + hspi->hdmarx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if (hspi->hdmatx != NULL) + { + if (hspi->hdmatx->XferAbortCallback != NULL) + { + return; + } + } + + /* Call the Abort procedure */ + SPI_AbortTransfer(hspi); + + /* Restore hspi->State to Ready */ + hspi->State = HAL_SPI_STATE_READY; + + /* Call user Abort complete callback */ + HAL_SPI_AbortCpltCallback(hspi); +} + +/** + * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_2linesRxISR_8BIT(SPI_HandleTypeDef *hspi) +{ + /* Receive data in 8 Bit mode */ + *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint8_t); + hspi->RxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->RxXferCount == 0U) + { + /* Disable RXNE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); + } +} + + +/** + * @brief Rx 16-bit handler for Transmit and Receive in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_2linesRxISR_16BIT(SPI_HandleTypeDef *hspi) +{ + /* Receive data in 16 Bit mode */ + *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint16_t); + hspi->RxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->RxXferCount == 0U) + { + /* Disable RXNE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); + } +} + + +/** + * @brief Rx 32-bit handler for Transmit and Receive in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_2linesRxISR_32BIT(SPI_HandleTypeDef *hspi) +{ + /* Receive data in 32 Bit mode */ + *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->RxXferCount == 0U) + { + /* Disable RXNE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); + } +} + + +/** + * @brief Tx 8-bit handler for Transmit and Receive in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_2linesTxISR_8BIT(SPI_HandleTypeDef *hspi) +{ + /* Transmit data in 8 Bit mode */ + *(__IO uint8_t *)&hspi->Instance->TXDR = *((uint8_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint8_t); + hspi->TxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->TxXferCount == 0U) + { + /* Disable TXE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); + } +} + + +/** + * @brief Tx 16-bit handler for Transmit and Receive in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_2linesTxISR_16BIT(SPI_HandleTypeDef *hspi) +{ + /* Transmit data in 16 Bit mode */ + *((__IO uint16_t *)&hspi->Instance->TXDR) = *((uint16_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint16_t); + hspi->TxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->TxXferCount == 0U) + { + /* Disable TXE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); + } +} + + +/** + * @brief Tx 32-bit handler for Transmit and Receive in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_2linesTxISR_32BIT(SPI_HandleTypeDef *hspi) +{ + /* Transmit data in 32 Bit mode */ + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->TxXferCount == 0U) + { + /* Disable TXE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); + } +} + + +/** + * @brief Manage the receive 8-bit in Interrupt context. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_RxISR_8BIT(SPI_HandleTypeDef *hspi) +{ + *((uint8_t *)hspi->pRxBuffPtr) = (*(__IO uint8_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint8_t); + hspi->RxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->RxXferCount == 0U) + { + /* Disable RXNE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); + } +} + + +/** + * @brief Manage the 16-bit receive in Interrupt context. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_RxISR_16BIT(SPI_HandleTypeDef *hspi) +{ + *((uint16_t *)hspi->pRxBuffPtr) = (*(__IO uint16_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint16_t); + hspi->RxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->RxXferCount == 0U) + { + /* Disable RXNE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); + } +} + + +/** + * @brief Manage the 32-bit receive in Interrupt context. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_RxISR_32BIT(SPI_HandleTypeDef *hspi) +{ + *((uint32_t *)hspi->pRxBuffPtr) = (*(__IO uint32_t *)&hspi->Instance->RXDR); + hspi->pRxBuffPtr += sizeof(uint32_t); + hspi->RxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->RxXferCount == 0U) + { + /* Disable RXNE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); + } +} + + +/** + * @brief Handle the data 8-bit transmit in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_TxISR_8BIT(SPI_HandleTypeDef *hspi) +{ + *(__IO uint8_t *)&hspi->Instance->TXDR = *((uint8_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint8_t); + hspi->TxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->TxXferCount == 0U) + { + /* Disable TXE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); + } +} + +/** + * @brief Handle the data 16-bit transmit in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_TxISR_16BIT(SPI_HandleTypeDef *hspi) +{ + /* Transmit data in 16 Bit mode */ + *((__IO uint16_t *)&hspi->Instance->TXDR) = *((uint16_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint16_t); + hspi->TxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->TxXferCount == 0U) + { + /* Disable TXE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); + } +} + +/** + * @brief Handle the data 32-bit transmit in Interrupt mode. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_TxISR_32BIT(SPI_HandleTypeDef *hspi) +{ + /* Transmit data in 16 Bit mode */ + *((__IO uint32_t *)&hspi->Instance->TXDR) = *((uint32_t *)hspi->pTxBuffPtr); + hspi->pTxBuffPtr += sizeof(uint32_t); + hspi->TxXferCount--; + + /* Disable IT if no more data excepted */ + if (hspi->TxXferCount == 0U) + { + /* Disable TXE interrupts */ + __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); + } +} + +/** + * @brief Abort Transfer and clear flags. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_AbortTransfer(SPI_HandleTypeDef *hspi) +{ + /* Disable SPI peripheral */ + __HAL_SPI_DISABLE(hspi); + + /* Disable ITs */ + __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_UDR | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF)); + + /* Clear the Status flags in the SR register */ + __HAL_SPI_CLEAR_EOTFLAG(hspi); + __HAL_SPI_CLEAR_TXTFFLAG(hspi); + + /* Disable Tx DMA Request */ + CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN|SPI_CFG1_RXDMAEN); + + /* Clear the Error flags in the SR register */ + __HAL_SPI_CLEAR_OVRFLAG(hspi); + __HAL_SPI_CLEAR_UDRFLAG(hspi); + __HAL_SPI_CLEAR_FREFLAG(hspi); + __HAL_SPI_CLEAR_MODFFLAG(hspi); + __HAL_SPI_CLEAR_SUSPFLAG(hspi); + +#if (USE_SPI_CRC != 0U) + __HAL_SPI_CLEAR_CRCERRFLAG(hspi); +#endif /* USE_SPI_CRC */ + + hspi->TxXferCount = 0U; + hspi->RxXferCount = 0U; +} + + +/** + * @brief Close Transfer and clear flags. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval HAL_ERROR: if any error detected +* HAL_OK: if nothing detected + */ +static void SPI_CloseTransfer(SPI_HandleTypeDef *hspi) +{ + uint32_t itflag = hspi->Instance->SR; + + __HAL_SPI_CLEAR_EOTFLAG(hspi); + __HAL_SPI_CLEAR_TXTFFLAG(hspi); + + /* Disable SPI peripheral */ + __HAL_SPI_DISABLE(hspi); + + /* Disable ITs */ + __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_UDR | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF)); + + /* Disable Tx DMA Request */ + CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN|SPI_CFG1_RXDMAEN); + + /* Report UnderRun error for non RX Only communication */ + if (hspi->State != HAL_SPI_STATE_BUSY_RX) + { + if ((itflag & SPI_FLAG_UDR) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_UDR); + __HAL_SPI_CLEAR_UDRFLAG(hspi); + } + } + + /* Report OverRun error for non TX Only communication */ + if (hspi->State != HAL_SPI_STATE_BUSY_TX) + { + if ((itflag & SPI_FLAG_OVR) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR); + __HAL_SPI_CLEAR_OVRFLAG(hspi); + } + +#if (USE_SPI_CRC != 0U) + /* Check if CRC error occurred */ + if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) + { + if ((itflag & SPI_FLAG_CRCERR) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); + __HAL_SPI_CLEAR_CRCERRFLAG(hspi); + } + } +#endif /* USE_SPI_CRC */ + } + + /* SPI Mode Fault error interrupt occurred -------------------------------*/ + if ((itflag & SPI_FLAG_MODF) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF); + __HAL_SPI_CLEAR_MODFFLAG(hspi); + } + + /* SPI Frame error interrupt occurred ------------------------------------*/ + if ((itflag & SPI_FLAG_FRE) != RESET) + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE); + __HAL_SPI_CLEAR_FREFLAG(hspi); + } + + hspi->TxXferCount = 0U; + hspi->RxXferCount = 0U; +} + +/** + * @brief Handle SPI Communication Timeout. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param Flag: SPI flag to check + * @param Status: flag state to check + * @param Timeout: Timeout duration + * @param Tickstart: Tick start value + * @retval HAL status + */ +static HAL_StatusTypeDef SPI_WaitOnFlagUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, FlagStatus Status, + uint32_t Tickstart, uint32_t Timeout) +{ + /* Wait until flag is set */ + while((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) == Status) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick()-Tickstart) > Timeout)) + { + return HAL_TIMEOUT; + } + } + } + return HAL_OK; +} + +/** + * @brief Compute configurated packet size from fifo prespective. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval Packet size occuppied in the fifo + */ +static uint32_t SPI_GetPacketSize(SPI_HandleTypeDef *hspi) +{ + uint32_t fifo_threashold = (hspi->Init.FifoThreshold>>SPI_CFG1_FTHLV_Pos) + 1; + uint32_t data_size = (hspi->Init.DataSize >>SPI_CFG1_DSIZE_Pos) + 1; + + /* Convert data size to Byte */ + data_size = (data_size+7)/8; + + return data_size * fifo_threashold; +} + + +/** + * @} + */ + +#endif /* HAL_SPI_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c new file mode 100644 index 0000000000..d23559ea20 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c @@ -0,0 +1,243 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_spi_ex.c + * @author MCD Application Team + * @brief Extended SPI HAL module driver. + * This file provides firmware functions to manage the following + * SPI peripheral extended functionalities : + * + IO operation functions + * + Peripheral Control functions + * + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SPIEx SPIEx + * @brief SPI Extended HAL module driver + * @{ + */ +#ifdef HAL_SPI_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private defines -----------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup SPIEx_Exported_Functions SPIEx Exported Functions + * @{ + */ + +/** @defgroup SPIEx_Exported_Functions_Group1 IO operation functions + * @brief Data transfers functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] + This subsection provides a set of extended functions to manage the SPI + data transfers. + + (#) SPIEx function: + (++) HAL_SPIEx_FlushRxFifo() + (++) HAL_SPIEx_FlushRxFifo() + (++) HAL_SPIEx_EnableLockConfiguration() + (++) HAL_SPIEx_ConfigureUnderrun() + +@endverbatim + * @{ + */ + +/** + * @brief Flush the RX fifo. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for the specified SPI module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPIEx_FlushRxFifo(SPI_HandleTypeDef *hspi) +{ + __IO uint32_t tmpreg; + uint8_t count = 0; + while ( ((hspi->Instance->SR & SPI_FLAG_FRLVL) != SPI_FRLVL_EMPTY) || ((hspi->Instance->SR & SPI_FLAG_RXWNE) == SPI_FLAG_RXWNE)) + { + count+=4; + tmpreg = hspi->Instance->RXDR; + UNUSED(tmpreg); /* To avoid GCC warning */ + + if (IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) + { + if(count > SPI_HIGHEND_FIFO_SIZE) + { + return HAL_TIMEOUT; + } + } + else + { + if(count > SPI_LOWEND_FIFO_SIZE) + { + return HAL_TIMEOUT; + } + } + } + return HAL_OK; +} + + +/** + * @brief Enable the Lock for the AF configuration of associated IOs + * and write protect the Content of Configuartion register 2 + * when SPI is enabled + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +HAL_StatusTypeDef HAL_SPIEx_EnableLockConfiguration(SPI_HandleTypeDef *hspi) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(hspi); + + if (hspi->State != HAL_SPI_STATE_READY) + { + errorcode = HAL_BUSY; + hspi->State = HAL_SPI_STATE_READY; + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Check if the SPI is disabled to edit IOLOCK bit */ + if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + SET_BIT(hspi->Instance->CR1 , SPI_CR1_IOLOCK); + } + else + { + /* Disable SPI peripheral */ + __HAL_SPI_DISABLE(hspi); + + SET_BIT(hspi->Instance->CR1 , SPI_CR1_IOLOCK); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + } + + hspi->State = HAL_SPI_STATE_READY; + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @brief Configure the UNDERRUN condition and behavior of slave transmitter. + * @param hspi: pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @param UnderrunDetection : Detection of underrun condition at slave transmitter + * This parameter can be a value of @ref SPI_Underrun_Detection. + * @param UnderrunBehaviour : Behavior of slave transmitter at underrun condition + * This parameter can be a value of @ref SPI_Underrun_Behaviour. + * @retval None + */ +HAL_StatusTypeDef HAL_SPIEx_ConfigureUnderrun(SPI_HandleTypeDef *hspi, uint32_t UnderrunDetection, uint32_t UnderrunBehaviour) +{ + HAL_StatusTypeDef errorcode = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(hspi); + + /* Check State and Insure that Underrun configuration is managed only by Salve */ + if ((hspi->State != HAL_SPI_STATE_READY) || (hspi->Init.Mode != SPI_MODE_SLAVE)) + { + errorcode = HAL_BUSY; + hspi->State = HAL_SPI_STATE_READY; + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; + } + + /* Check the parameters */ + assert_param(IS_SPI_UNDERRUN_DETECTION(UnderrunDetection)); + assert_param(IS_SPI_UNDERRUN_BEHAVIOUR(UnderrunBehaviour)); + + /* Check if the SPI is disabled to edit CFG1 register */ + if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) + { + /* Configure Underrun fields */ + MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRDET, UnderrunDetection); + MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRCFG, UnderrunBehaviour); + } + else + { + /* Disable SPI peripheral */ + __HAL_SPI_DISABLE(hspi); + + /* Configure Underrun fields */ + MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRDET, UnderrunDetection); + MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRCFG, UnderrunBehaviour); + + /* Enable SPI peripheral */ + __HAL_SPI_ENABLE(hspi); + } + + + hspi->State = HAL_SPI_STATE_READY; + /* Process Unlocked */ + __HAL_UNLOCK(hspi); + return errorcode; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_SPI_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c new file mode 100644 index 0000000000..5eae6511cd --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c @@ -0,0 +1,691 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_sram.c + * @author MCD Application Team + * @brief SRAM HAL module driver. + * This file provides a generic firmware to drive SRAM memories + * mounted as external device. + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + This driver is a generic layered driver which contains a set of APIs used to + control SRAM memories. It uses the FMC layer functions to interface + with SRAM devices. + The following sequence should be followed to configure the FMC to interface + with SRAM/PSRAM memories: + + (#) Declare a SRAM_HandleTypeDef handle structure, for example: + SRAM_HandleTypeDef hsram; and: + + (++) Fill the SRAM_HandleTypeDef handle "Init" field with the allowed + values of the structure member. + + (++) Fill the SRAM_HandleTypeDef handle "Instance" field with a predefined + base register instance for NOR or SRAM device + + (++) Fill the SRAM_HandleTypeDef handle "Extended" field with a predefined + base register instance for NOR or SRAM extended mode + + (#) Declare two FMC_NORSRAM_TimingTypeDef structures, for both normal and extended + mode timings; for example: + FMC_NORSRAM_TimingTypeDef Timing and FMC_NORSRAM_TimingTypeDef ExTiming; + and fill its fields with the allowed values of the structure member. + + (#) Initialize the SRAM Controller by calling the function HAL_SRAM_Init(). This function + performs the following sequence: + + (##) MSP hardware layer configuration using the function HAL_SRAM_MspInit() + (##) Control register configuration using the FMC NORSRAM interface function + FMC_NORSRAM_Init() + (##) Timing register configuration using the FMC NORSRAM interface function + FMC_NORSRAM_Timing_Init() + (##) Extended mode Timing register configuration using the FMC NORSRAM interface function + FMC_NORSRAM_Extended_Timing_Init() + (##) Enable the SRAM device using the macro __FMC_NORSRAM_ENABLE() + + (#) At this stage you can perform read/write accesses from/to the memory connected + to the NOR/SRAM Bank. You can perform either polling or DMA transfer using the + following APIs: + (++) HAL_SRAM_Read()/HAL_SRAM_Write() for polling read/write access + (++) HAL_SRAM_Read_DMA()/HAL_SRAM_Write_DMA() for DMA read/write transfer + + (#) You can also control the SRAM device by calling the control APIs HAL_SRAM_WriteOperation_Enable()/ + HAL_SRAM_WriteOperation_Disable() to respectively enable/disable the SRAM write operation + + (#) You can continuously monitor the SRAM device HAL state by calling the function + HAL_SRAM_GetState() + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SRAM SRAM + * @brief SRAM driver modules + * @{ + */ +#ifdef HAL_SRAM_MODULE_ENABLED +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup SRAM_Exported_Functions SRAM Exported Functions + * @{ + */ + +/** @defgroup SRAM_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions. + * + @verbatim + ============================================================================== + ##### SRAM Initialization and de_initialization functions ##### + ============================================================================== + [..] This section provides functions allowing to initialize/de-initialize + the SRAM memory + +@endverbatim + * @{ + */ + +/** + * @brief Performs the SRAM device initialization sequence + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param Timing: Pointer to SRAM control timing structure + * @param ExtTiming: Pointer to SRAM extended mode timing structure + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming) +{ + /* Check the SRAM handle parameter */ + if(hsram == NULL) + { + return HAL_ERROR; + } + + if(hsram->State == HAL_SRAM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hsram->Lock = HAL_UNLOCKED; + /* Initialize the low level hardware (MSP) */ + HAL_SRAM_MspInit(hsram); + } + + /* Initialize SRAM control Interface */ + FMC_NORSRAM_Init(hsram->Instance, &(hsram->Init)); + + /* Initialize SRAM timing Interface */ + FMC_NORSRAM_Timing_Init(hsram->Instance, Timing, hsram->Init.NSBank); + + /* Initialize SRAM extended mode timing Interface */ + FMC_NORSRAM_Extended_Timing_Init(hsram->Extended, ExtTiming, hsram->Init.NSBank, hsram->Init.ExtendedMode); + + /* Enable the NORSRAM device */ + __FMC_NORSRAM_ENABLE(hsram->Instance, hsram->Init.NSBank); + + /* Enable FMC IP */ + __FMC_ENABLE(); + + return HAL_OK; +} + +/** + * @brief Performs the SRAM device De-initialization sequence. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram) +{ + /* De-Initialize the low level hardware (MSP) */ + HAL_SRAM_MspDeInit(hsram); + + /* Configure the SRAM registers with their reset values */ + FMC_NORSRAM_DeInit(hsram->Instance, hsram->Extended, hsram->Init.NSBank); + + hsram->State = HAL_SRAM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief SRAM MSP Init. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval None + */ +__weak void HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsram); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SRAM_MspInit could be implemented in the user file + */ +} + +/** + * @brief SRAM MSP DeInit. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval None + */ +__weak void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef *hsram) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hsram); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SRAM_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief DMA transfer complete callback. + * @param hmdma: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval None + */ +__weak void HAL_SRAM_DMA_XferCpltCallback(MDMA_HandleTypeDef *hmdma) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdma); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SRAM_DMA_XferCpltCallback could be implemented in the user file + */ +} + +/** + * @brief DMA transfer complete error callback. + * @param hmdma: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval None + */ +__weak void HAL_SRAM_DMA_XferErrorCallback(MDMA_HandleTypeDef *hmdma) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hmdma); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_SRAM_DMA_XferErrorCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SRAM_Exported_Functions_Group2 Input Output and memory control functions + * @brief Input Output and memory control functions + * + @verbatim + ============================================================================== + ##### SRAM Input and Output functions ##### + ============================================================================== + [..] + This section provides functions allowing to use and control the SRAM memory + +@endverbatim + * @{ + */ + +/** + * @brief Reads 8-bit buffer from SRAM memory. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize) +{ + __IO uint8_t * psramaddress = (uint8_t *)pAddress; + + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Read data from memory */ + for(; BufferSize != 0; BufferSize--) + { + *pDstBuffer = *(__IO uint8_t *)psramaddress; + pDstBuffer++; + psramaddress++; + } + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Writes 8-bit buffer to SRAM memory. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize) +{ + __IO uint8_t * psramaddress = (uint8_t *)pAddress; + + /* Check the SRAM controller state */ + if(hsram->State == HAL_SRAM_STATE_PROTECTED) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Write data to memory */ + for(; BufferSize != 0; BufferSize--) + { + *(__IO uint8_t *)psramaddress = *pSrcBuffer; + pSrcBuffer++; + psramaddress++; + } + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Reads 16-bit buffer from SRAM memory. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize) +{ + __IO uint16_t * psramaddress = (uint16_t *)pAddress; + + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Read data from memory */ + for(; BufferSize != 0; BufferSize--) + { + *pDstBuffer = *(__IO uint16_t *)psramaddress; + pDstBuffer++; + psramaddress++; + } + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Writes 16-bit buffer to SRAM memory. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize) +{ + __IO uint16_t * psramaddress = (uint16_t *)pAddress; + + /* Check the SRAM controller state */ + if(hsram->State == HAL_SRAM_STATE_PROTECTED) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Write data to memory */ + for(; BufferSize != 0; BufferSize--) + { + *(__IO uint16_t *)psramaddress = *pSrcBuffer; + pSrcBuffer++; + psramaddress++; + } + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Reads 32-bit buffer from SRAM memory. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize) +{ + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Read data from memory */ + for(; BufferSize != 0; BufferSize--) + { + *pDstBuffer = *(__IO uint32_t *)pAddress; + pDstBuffer++; + pAddress++; + } + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Writes 32-bit buffer to SRAM memory. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize) +{ + /* Check the SRAM controller state */ + if(hsram->State == HAL_SRAM_STATE_PROTECTED) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Write data to memory */ + for(; BufferSize != 0; BufferSize--) + { + *(__IO uint32_t *)pAddress = *pSrcBuffer; + pSrcBuffer++; + pAddress++; + } + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Reads a Words data from the SRAM memory using DMA transfer. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to read start address + * @param pDstBuffer: Pointer to destination buffer + * @param BufferSize: Size of the buffer to read from memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize) +{ + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Configure DMA user callbacks */ + hsram->hmdma->XferCpltCallback = HAL_SRAM_DMA_XferCpltCallback; + hsram->hmdma->XferErrorCallback = HAL_SRAM_DMA_XferErrorCallback; + + /* Enable the DMA Stream */ + HAL_MDMA_Start_IT(hsram->hmdma, (uint32_t)pAddress, (uint32_t)pDstBuffer, (uint32_t)(BufferSize * 4), 1); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Writes a Words data buffer to SRAM memory using DMA transfer. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @param pAddress: Pointer to write start address + * @param pSrcBuffer: Pointer to source buffer to write + * @param BufferSize: Size of the buffer to write to memory + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize) +{ + /* Check the SRAM controller state */ + if(hsram->State == HAL_SRAM_STATE_PROTECTED) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Configure DMA user callbacks */ + hsram->hmdma->XferCpltCallback = HAL_SRAM_DMA_XferCpltCallback; + hsram->hmdma->XferErrorCallback = HAL_SRAM_DMA_XferErrorCallback; + + /* Enable the DMA Stream */ + HAL_MDMA_Start_IT(hsram->hmdma, (uint32_t)pSrcBuffer, (uint32_t)pAddress, (uint32_t)(BufferSize * 4), 1); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup SRAM_Exported_Functions_Group3 Control functions + * @brief Control functions + * +@verbatim + ============================================================================== + ##### SRAM Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control dynamically + the SRAM interface. + +@endverbatim + * @{ + */ + +/** + * @brief Enables dynamically SRAM write operation. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram) +{ + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Enable write operation */ + FMC_NORSRAM_WriteOperation_Enable(hsram->Instance, hsram->Init.NSBank); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_READY; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @brief Disables dynamically SRAM write operation. + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram) +{ + /* Process Locked */ + __HAL_LOCK(hsram); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_BUSY; + + /* Disable write operation */ + FMC_NORSRAM_WriteOperation_Disable(hsram->Instance, hsram->Init.NSBank); + + /* Update the SRAM controller state */ + hsram->State = HAL_SRAM_STATE_PROTECTED; + + /* Process unlocked */ + __HAL_UNLOCK(hsram); + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup SRAM_Exported_Functions_Group4 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + ============================================================================== + ##### SRAM State functions ##### + ============================================================================== + [..] + This subsection permits to get in run-time the status of the SRAM controller + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Returns the SRAM controller state + * @param hsram: pointer to a SRAM_HandleTypeDef structure that contains + * the configuration information for SRAM module. + * @retval HAL state + */ +HAL_SRAM_StateTypeDef HAL_SRAM_GetState(SRAM_HandleTypeDef *hsram) +{ + return hsram->State; +} + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_SRAM_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_swpmi.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_swpmi.c new file mode 100644 index 0000000000..919afae2b0 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_swpmi.c @@ -0,0 +1,1532 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_swpmi.c + * @author MCD Application Team + * @brief SWPMI HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Single Wire Protocol Master Interface (SWPMI). + * + Initialization and Configuration + * + Data transfers functions + * + DMA transfers management + * + Interrupts and flags management + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The SWPMI HAL driver can be used as follows: + + (#) Declare a SWPMI_HandleTypeDef handle structure (eg. SWPMI_HandleTypeDef hswpmi). + + (#) Initialize the SWPMI low level resources by implementing the HAL_SWPMI_MspInit() API: + (##) Enable the SWPMIx interface clock with __HAL_RCC_SWPMIx_CLK_ENABLE(). + (##) SWPMI IO configuration: + (+++) Enable the clock for the SWPMI GPIO. + (+++) Configure these SWPMI pins as alternate function pull-up. + (##) NVIC configuration if you need to use interrupt process (HAL_SWPMI_Transmit_IT() + and HAL_SWPMI_Receive_IT() APIs): + (+++) Configure the SWPMIx interrupt priority with HAL_NVIC_SetPriority(). + (+++) Enable the NVIC SWPMI IRQ handle with HAL_NVIC_EnableIRQ(). + + (##) DMA Configuration if you need to use DMA process (HAL_SWPMI_Transmit_DMA() + and HAL_SWPMI_Receive_DMA() APIs): + (+++) Declare a DMA handle structure for the Tx/Rx channels. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure with the required + Tx/Rx parameters. + (+++) Configure the DMA Tx/Rx channels and requests. + (+++) Associate the initialized DMA handle to the SWPMI DMA Tx/Rx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete + interrupt on the DMA Tx/Rx channels. + + (#) Program the Bite Rate, Tx Buffering mode, Rx Buffering mode in the Init structure. + + (#) Enable the SWPMI peripheral by calling the HAL_SWPMI_Init() function. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SWPMI SWPMI + * @brief HAL SWPMI module driver + * @{ + */ +#ifdef HAL_SWPMI_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private constants ---------------------------------------------------------*/ +/** @addtogroup SWPMI_Private_Constants SWPMI Private Constants + * @{ + */ +#define SWPMI_TIMEOUT_VALUE ((uint32_t) 22000U) + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static void SWPMI_DMATransmitCplt(DMA_HandleTypeDef *hdma); +static void SWPMI_DMATxHalfCplt(DMA_HandleTypeDef *hdma); +static void SWPMI_DMAReceiveCplt(DMA_HandleTypeDef *hdma); +static void SWPMI_DMARxHalfCplt(DMA_HandleTypeDef *hdma); +static void SWPMI_DMAError(DMA_HandleTypeDef *hdma); +static void SWPMI_DMAAbortOnError(DMA_HandleTypeDef *hdma); +static HAL_StatusTypeDef SWPMI_Transmit_IT(SWPMI_HandleTypeDef *hswpmi); +static HAL_StatusTypeDef SWPMI_EndTransmit_IT(SWPMI_HandleTypeDef *hswpmi); +static HAL_StatusTypeDef SWPMI_Receive_IT(SWPMI_HandleTypeDef *hswpmi); +static HAL_StatusTypeDef SWPMI_EndReceive_IT(SWPMI_HandleTypeDef *hswpmi); +static HAL_StatusTypeDef SWPMI_EndTransmitReceive_IT(SWPMI_HandleTypeDef *hswpmi); +static HAL_StatusTypeDef SWPMI_WaitOnFlagSetUntilTimeout(SWPMI_HandleTypeDef *hswpmi, uint32_t Flag, uint32_t Tickstart, uint32_t Timeout); + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup SWPMI_Exported_Functions SWPMI Exported Functions + * @{ + */ + +/** @defgroup SWPMI_Exported_Group1 Initialization/de-initialization methods + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] This section provides functions allowing to: + (+) Initialize and configure the SWPMI peripheral. + (+) De-initialize the SWPMI peripheral. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the SWPMI peripheral according to the specified parameters in the SWPMI_InitTypeDef. + * @param hswpmi: SWPMI handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_Init(SWPMI_HandleTypeDef *hswpmi) +{ + uint32_t tickstart = HAL_GetTick(); + HAL_StatusTypeDef status = HAL_OK; + + /* Check the SWPMI handle allocation */ + if(hswpmi == NULL) + { + status = HAL_ERROR; + } + else + { + /* Check the parameters */ + assert_param(IS_SWPMI_VOLTAGE_CLASS(hswpmi->Init.VoltageClass)); + assert_param(IS_SWPMI_BITRATE_VALUE(hswpmi->Init.BitRate)); + assert_param(IS_SWPMI_TX_BUFFERING_MODE(hswpmi->Init.TxBufferingMode)); + assert_param(IS_SWPMI_RX_BUFFERING_MODE(hswpmi->Init.RxBufferingMode)); + + if(hswpmi->State == HAL_SWPMI_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + hswpmi->Lock = HAL_UNLOCKED; + /* Init the low level hardware : GPIO, CLOCK, CORTEX */ + HAL_SWPMI_MspInit(hswpmi); + } + + hswpmi->State = HAL_SWPMI_STATE_BUSY; + + /* Disable SWPMI interface */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + + /* Apply Voltage class selection */ + MODIFY_REG(hswpmi->Instance->OR, SWPMI_OR_CLASS, hswpmi->Init.VoltageClass); + + /* Configure the BRR register (Bitrate) */ + WRITE_REG(hswpmi->Instance->BRR, hswpmi->Init.BitRate); + + /* Apply SWPMI CR configuration */ + MODIFY_REG(hswpmi->Instance->CR, \ + SWPMI_CR_RXDMA | SWPMI_CR_TXDMA | SWPMI_CR_RXMODE | SWPMI_CR_TXMODE, \ + hswpmi->Init.TxBufferingMode | hswpmi->Init.RxBufferingMode); + + hswpmi->ErrorCode = HAL_SWPMI_ERROR_NONE; + hswpmi->State = HAL_SWPMI_STATE_READY; + /*Enable the SWPMI transceiver.*/ + __HAL_SWPMI_TRANSCEIVER_ENABLE(hswpmi); + /* Wait on TXBEF flag to be able to start a second transfer */ + if(SWPMI_WaitOnFlagSetUntilTimeout(hswpmi, SWPMI_FLAG_RDYF, tickstart, SWPMI_TIMEOUT_VALUE) != HAL_OK) + { + status = HAL_TIMEOUT; + } + /* Enable SWPMI peripheral if not */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + } + + return status; +} + +/** + * @brief De-initialize the SWPMI peripheral. + * @param hswpmi: SWPMI handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_DeInit(SWPMI_HandleTypeDef *hswpmi) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Check the SWPMI handle allocation */ + if(hswpmi == NULL) + { + status = HAL_ERROR; + } + else + { + /* Check the parameters */ + assert_param(IS_SWPMI_INSTANCE(hswpmi->Instance)); + + hswpmi->State = HAL_SWPMI_STATE_BUSY; + + /* Disable SWPMI interface */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + + /* Disable SWPMI transceiver */ + __HAL_SWPMI_TRANSCEIVER_DISABLE(hswpmi); + + /* DeInit the low level hardware */ + HAL_SWPMI_MspDeInit(hswpmi); + + hswpmi->ErrorCode = HAL_SWPMI_ERROR_NONE; + + hswpmi->State = HAL_SWPMI_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(hswpmi); + } + + return status; +} + +/** + * @brief Initialize the SWPMI MSP. + * @param hswpmi: SWPMI handle + * @retval None + */ +__weak void HAL_SWPMI_MspInit(SWPMI_HandleTypeDef *hswpmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hswpmi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SWPMI_MspInit can be implemented in the user file + */ +} + +/** + * @brief DeInitialize the SWPMI MSP. + * @param hswpmi: SWPMI handle + * @retval None + */ +__weak void HAL_SWPMI_MspDeInit(SWPMI_HandleTypeDef *hswpmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hswpmi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SWPMI_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SWPMI_Exported_Group2 IO operation methods + * @brief SWPMI Transmit/Receive functions + * +@verbatim + =============================================================================== + ##### IO operation methods ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the SWPMI + data transfers. + + (#) There are two modes of transfer: + (++) Blocking mode: The communication is performed in polling mode. + The HAL status of all data processing is returned by the same function + after finishing transfer. + (++) Non-Blocking mode: The communication is performed using Interrupts + or DMA. The end of the data processing will be indicated through the + dedicated SWPMI Interrupt handler (HAL_SWPMI_IRQHandler()) when using Interrupt mode or + the selected DMA channel interrupt handler when using DMA mode. + The HAL_SWPMI_TxCpltCallback(), HAL_SWPMI_RxCpltCallback() user callbacks + will be executed respectively at the end of the transmit or receive process. + The HAL_SWPMI_ErrorCallback() user callback will be executed when a communication error is detected. + + (#) Blocking mode API's are: + (++) HAL_SWPMI_Transmit() + (++) HAL_SWPMI_Receive() + + (#) Non-Blocking mode API's with Interrupt are: + (++) HAL_SWPMI_Transmit_IT() + (++) HAL_SWPMI_Receive_IT() + (++) HAL_SWPMI_IRQHandler() + + (#) Non-Blocking mode API's with DMA are: + (++) HAL_SWPMI_Transmit_DMA() + (++) HAL_SWPMI_Receive_DMA() + (++) HAL_SWPMI_DMAPause() + (++) HAL_SWPMI_DMAResume() + (++) HAL_SWPMI_DMAStop() + + (#) A set of Transfer Complete Callbacks are provided in Non-Blocking mode: + (++) HAL_SWPMI_TxHalfCpltCallback() + (++) HAL_SWPMI_TxCpltCallback() + (++) HAL_SWPMI_RxHalfCpltCallback() + (++) HAL_SWPMI_RxCpltCallback() + (++) HAL_SWPMI_ErrorCallback() + + (#) The capability to launch the above IO operations in loopback mode for + user application verification: + (++) HAL_SWPMI_EnableLoopback() + (++) HAL_SWPMI_DisableLoopback() + +@endverbatim + * @{ + */ + +/** + * @brief Transmit an amount of data in blocking mode. + * @param hswpmi: pointer to a SWPMI_HandleTypeDef structure that contains + * the configuration information for SWPMI module. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_Transmit(SWPMI_HandleTypeDef *hswpmi, uint32_t* pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + HAL_StatusTypeDef status = HAL_OK; + + if((pData == NULL ) || (Size == 0)) + { + status = HAL_ERROR; + } + else + { + /* Process Locked */ + __HAL_LOCK(hswpmi); + + if((hswpmi->State == HAL_SWPMI_STATE_READY) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_RX)) + { + /* Check if a non-blocking receive process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_READY) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX; + + /* Disable any transmitter interrupts */ + __HAL_SWPMI_DISABLE_IT(hswpmi, SWPMI_IT_TCIE | SWPMI_IT_TIE | SWPMI_IT_TXUNRIE | SWPMI_IT_TXBEIE); + + /* Disable any transmitter flags */ + __HAL_SWPMI_CLEAR_FLAG(hswpmi, SWPMI_FLAG_TXBEF | SWPMI_FLAG_TXUNRF | SWPMI_FLAG_TCF); + + /* Enable SWPMI peripheral if not */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + } + else + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX_RX; + } + + do + { + /* Wait the TXE to write data */ + if(HAL_IS_BIT_SET(hswpmi->Instance->ISR, SWPMI_FLAG_TXE)) + { + hswpmi->Instance->TDR = (*pData++); + Size--; + } + else + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick() - tickstart) > Timeout)) + { + status = HAL_TIMEOUT; + break; + } + } + } + } while(Size != 0); + + /* Wait on TXBEF flag to be able to start a second transfer */ + if(SWPMI_WaitOnFlagSetUntilTimeout(hswpmi, SWPMI_FLAG_TXBEF, tickstart, Timeout) != HAL_OK) + { + status = HAL_TIMEOUT; + } + + if(status == HAL_OK) + { + /* Check if a non-blocking receive Process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_RX; + } + else + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + } + } + else + { + status = HAL_BUSY; + } + } + + if((status != HAL_OK) && (status != HAL_BUSY)) + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + return status; +} + +/** + * @brief Receive an amount of data in blocking mode. + * @param hswpmi: pointer to a SWPMI_HandleTypeDef structure that contains + * the configuration information for SWPMI module. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be received + * @param Timeout: Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_Receive(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint32_t tickstart = HAL_GetTick(); + HAL_StatusTypeDef status = HAL_OK; + + if((pData == NULL ) || (Size == 0)) + { + status = HAL_ERROR; + } + else + { + /* Process Locked */ + __HAL_LOCK(hswpmi); + + if((hswpmi->State == HAL_SWPMI_STATE_READY) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_TX)) + { + /* Check if a non-blocking transmit process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_READY) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_RX; + + /* Disable any receiver interrupts */ + CLEAR_BIT(hswpmi->Instance->IER, SWPMI_IT_SRIE | SWPMI_IT_RIE | SWPMI_IT_RXBERIE | SWPMI_IT_RXOVRIE | SWPMI_IT_RXBFIE); + + /* Enable SWPMI peripheral if not */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + } + else + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX_RX; + } + + do + { + /* Wait the RXNE to read data */ + if(HAL_IS_BIT_SET(hswpmi->Instance->ISR, SWPMI_FLAG_RXNE)) + { + (*pData++) = hswpmi->Instance->RDR; + Size--; + } + else + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick() - tickstart) > Timeout)) + { + status = HAL_TIMEOUT; + break; + } + } + } + } while(Size != 0); + + if(status == HAL_OK) + { + if(HAL_IS_BIT_SET(hswpmi->Instance->ISR, SWPMI_FLAG_RXBFF)) + { + /* Clear RXBFF at end of reception */ + WRITE_REG(hswpmi->Instance->ICR, SWPMI_FLAG_RXBFF); + } + + /* Check if a non-blocking transmit Process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX; + } + else + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + } + } + else + { + status = HAL_BUSY; + } + } + + if((status != HAL_OK) && (status != HAL_BUSY)) + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + return status; +} + +/** + * @brief Transmit an amount of data in non-blocking mode with interrupt. + * @param hswpmi: pointer to a SWPMI_HandleTypeDef structure that contains + * the configuration information for SWPMI module. + * @param pData: Pointer to data buffer + * @param Size: Amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_Transmit_IT(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef status = HAL_OK; + + if((pData == NULL ) || (Size == 0)) + { + status = HAL_ERROR; + } + else + { + /* Process Locked */ + __HAL_LOCK(hswpmi); + + if((hswpmi->State == HAL_SWPMI_STATE_READY) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_RX)) + { + /* Update handle */ + hswpmi->pTxBuffPtr = pData; + hswpmi->TxXferSize = Size; + hswpmi->TxXferCount = Size; + hswpmi->ErrorCode = HAL_SWPMI_ERROR_NONE; + + /* Check if a receive process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_READY) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX; + + /* Enable SWPMI peripheral if not */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + } + else + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX_RX; + } + + /* Enable the SWPMI transmit underrun error */ + __HAL_SWPMI_ENABLE_IT(hswpmi, SWPMI_IT_TXUNRIE); + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + /* Enable the SWPMI interrupts: */ + /* - Transmit data register empty */ + /* - Transmit buffer empty */ + /* - Transmit/Reception completion */ + __HAL_SWPMI_ENABLE_IT(hswpmi, SWPMI_IT_TIE | SWPMI_IT_TXBEIE | SWPMI_IT_TCIE); + } + else + { + status = HAL_BUSY; + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + } + } + + return status; +} + +/** + * @brief Receive an amount of data in non-blocking mode with interrupt. + * @param hswpmi: SWPMI handle + * @param pData: pointer to data buffer + * @param Size: amount of data to be received + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_Receive_IT(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef status = HAL_OK; + + if((pData == NULL ) || (Size == 0)) + { + status = HAL_ERROR; + } + else + { + /* Process Locked */ + __HAL_LOCK(hswpmi); + + if((hswpmi->State == HAL_SWPMI_STATE_READY) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_TX)) + { + /* Update handle */ + hswpmi->pRxBuffPtr = pData; + hswpmi->RxXferSize = Size; + hswpmi->RxXferCount = Size; + hswpmi->ErrorCode = HAL_SWPMI_ERROR_NONE; + + /* Check if a transmit process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_READY) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_RX; + + /* Enable SWPMI peripheral if not */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + } + else + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX_RX; + } + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + /* Enable the SWPMI slave resume */ + /* Enable the SWPMI Data Register not empty Interrupt, receive CRC Error, receive overrun and RxBuf Interrupt */ + /* Enable the SWPMI Transmit/Reception completion */ + __HAL_SWPMI_ENABLE_IT(hswpmi, SWPMI_IT_RIE | SWPMI_IT_RXBERIE | SWPMI_IT_RXOVRIE | SWPMI_IT_RXBFIE); + } + else + { + status = HAL_BUSY; + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + } + } + + return status; +} + +/** + * @brief Transmit an amount of data in non-blocking mode with DMA interrupt. + * @param hswpmi: SWPMI handle + * @param pData: pointer to data buffer + * @param Size: amount of data to be sent + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_Transmit_DMA(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef status = HAL_OK; + + if((pData == NULL ) || (Size == 0)) + { + status = HAL_ERROR; + } + else + { + /* Process Locked */ + __HAL_LOCK(hswpmi); + + if((hswpmi->State == HAL_SWPMI_STATE_READY) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_RX)) + { + /* Update handle */ + hswpmi->pTxBuffPtr = pData; + hswpmi->TxXferSize = Size; + hswpmi->TxXferCount = Size; + hswpmi->ErrorCode = HAL_SWPMI_ERROR_NONE; + + /* Check if a receive process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_READY) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX; + + /* Enable SWPMI peripheral if not */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + } + else + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX_RX; + } + + /* Set the SWPMI DMA transfer complete callback */ + hswpmi->hdmatx->XferCpltCallback = SWPMI_DMATransmitCplt; + + /* Set the SWPMI DMA Half transfer complete callback */ + hswpmi->hdmatx->XferHalfCpltCallback = SWPMI_DMATxHalfCplt; + + /* Set the DMA error callback */ + hswpmi->hdmatx->XferErrorCallback = SWPMI_DMAError; + + /* Enable the SWPMI transmit DMA Stream */ + HAL_DMA_Start_IT(hswpmi->hdmatx, (uint32_t)hswpmi->pTxBuffPtr, (uint32_t)&hswpmi->Instance->TDR, Size); + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + /* Enable the SWPMI transmit underrun error */ + __HAL_SWPMI_ENABLE_IT(hswpmi, SWPMI_IT_TXUNRIE); + + /* Enable the DMA transfer for transmit request by setting the TXDMA bit + in the SWPMI CR register */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_TXDMA); + } + else + { + status = HAL_BUSY; + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + } + } + + return status; +} + +/** + * @brief Receive an amount of data in non-blocking mode with DMA interrupt. + * @param hswpmi: SWPMI handle + * @param pData: pointer to data buffer + * @param Size: amount of data to be received + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SWPMI_Receive_DMA(SWPMI_HandleTypeDef *hswpmi, uint32_t *pData, uint16_t Size) +{ + HAL_StatusTypeDef status = HAL_OK; + + if((pData == NULL ) || (Size == 0)) + { + status = HAL_ERROR; + } + else + { + /* Process Locked */ + __HAL_LOCK(hswpmi); + + if((hswpmi->State == HAL_SWPMI_STATE_READY) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_TX)) + { + /* Update handle */ + hswpmi->pRxBuffPtr = pData; + hswpmi->RxXferSize = Size; + hswpmi->ErrorCode = HAL_SWPMI_ERROR_NONE; + + /* Check if a transmit process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_READY) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_RX; + + /* Enable SWPMI peripheral if not */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + } + else + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX_RX; + } + + /* Set the SWPMI DMA transfer complete callback */ + hswpmi->hdmarx->XferCpltCallback = SWPMI_DMAReceiveCplt; + + /* Set the SWPMI DMA Half transfer complete callback */ + hswpmi->hdmarx->XferHalfCpltCallback = SWPMI_DMARxHalfCplt; + + /* Set the DMA error callback */ + hswpmi->hdmarx->XferErrorCallback = SWPMI_DMAError; + + /* Enable the DMA request */ + HAL_DMA_Start_IT(hswpmi->hdmarx, (uint32_t)&hswpmi->Instance->RDR, (uint32_t)hswpmi->pRxBuffPtr, Size); + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + /* Enable the SWPMI receive CRC Error and receive overrun interrupts */ + __HAL_SWPMI_ENABLE_IT(hswpmi, SWPMI_IT_RXBERIE | SWPMI_IT_RXOVRIE); + + /* Enable the DMA transfer for the receiver request by setting the RXDMA bit + in the SWPMI CR register */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_RXDMA); + } + else + { + status = HAL_BUSY; + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + } + } + + return status; +} + +/** + * @brief Stop all DMA transfers. + * @param hswpmi: SWPMI handle + * @retval HAL_OK + */ +HAL_StatusTypeDef HAL_SWPMI_DMAStop(SWPMI_HandleTypeDef *hswpmi) +{ + /* Process Locked */ + __HAL_LOCK(hswpmi); + + /* Disable the SWPMI Tx/Rx DMA requests */ + CLEAR_BIT(hswpmi->Instance->CR, (SWPMI_CR_TXDMA | SWPMI_CR_RXDMA)); + + /* Abort the SWPMI DMA tx channel */ + if(hswpmi->hdmatx != NULL) + { + HAL_DMA_Abort(hswpmi->hdmatx); + } + /* Abort the SWPMI DMA rx channel */ + if(hswpmi->hdmarx != NULL) + { + HAL_DMA_Abort(hswpmi->hdmarx); + } + + /* Disable SWPMI interface */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT); + + hswpmi->State = HAL_SWPMI_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + return HAL_OK; +} + + +/** + * @brief Enable the Loopback mode. + * @param hswpmi: SWPMI handle + * @note Loopback mode is to be used only for test purposes + * @retval HAL_OK / HAL_BUSY + */ +HAL_StatusTypeDef HAL_SWPMI_EnableLoopback(SWPMI_HandleTypeDef *hswpmi) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(hswpmi); + + /* Check SWPMI not enabled */ + if(READ_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT) != RESET) + { + status = HAL_BUSY; + } + else + { + /* Set Loopback */ + SET_BIT(hswpmi->Instance->CR, SWPMI_CR_LPBK); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + return status; +} + +/** + * @brief Disable the Loopback mode. + * @param hswpmi: SWPMI handle + * @note Loopback mode is to be used only for test purposes + * @retval HAL_OK / HAL_BUSY + */ +HAL_StatusTypeDef HAL_SWPMI_DisableLoopback(SWPMI_HandleTypeDef *hswpmi) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Process Locked */ + __HAL_LOCK(hswpmi); + + /* Check SWPMI not enabled */ + if(READ_BIT(hswpmi->Instance->CR, SWPMI_CR_SWPACT) != RESET) + { + status = HAL_BUSY; + } + else + { + /* Reset Loopback */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_LPBK); + } + + /* Process Unlocked */ + __HAL_UNLOCK(hswpmi); + + return status; +} + +/** + * @} + */ + +/** @defgroup SWPMI_Exported_Group3 SWPMI IRQ handler and callbacks + * @brief SWPMI IRQ handler. + * +@verbatim + ============================================================================== + ##### SWPMI IRQ handler and callbacks ##### + ============================================================================== +[..] This section provides SWPMI IRQ handler and callback functions called within + the IRQ handler. + +@endverbatim + * @{ + */ + +/** + * @brief Handle SWPMI interrupt request. + * @param hswpmi: SWPMI handle + * @retval None + */ +void HAL_SWPMI_IRQHandler(SWPMI_HandleTypeDef *hswpmi) +{ + + uint32_t regisr = READ_REG(hswpmi->Instance->ISR); + uint32_t regier = READ_REG(hswpmi->Instance->IER); + uint32_t errcode = HAL_SWPMI_ERROR_NONE; + + /* SWPMI CRC error interrupt occurred --------------------------------------*/ + if(((regisr & SWPMI_FLAG_RXBERF) != RESET) && ((regier & SWPMI_IT_RXBERIE) != RESET)) + { + /* Disable Receive CRC interrupt */ + CLEAR_BIT(hswpmi->Instance->IER, SWPMI_IT_RXBERIE | SWPMI_IT_RXBFIE); + /* Clear Receive CRC and Receive buffer full flag */ + WRITE_REG(hswpmi->Instance->ICR, SWPMI_FLAG_RXBERF | SWPMI_FLAG_RXBFF); + + errcode |= HAL_SWPMI_ERROR_CRC; + } + + /* SWPMI Over-Run interrupt occurred -----------------------------------------*/ + if(((regisr & SWPMI_FLAG_RXOVRF) != RESET) && ((regier & SWPMI_IT_RXOVRIE) != RESET)) + { + /* Disable Receive overrun interrupt */ + CLEAR_BIT(hswpmi->Instance->IER, SWPMI_IT_RXOVRIE); + /* Clear Receive overrun flag */ + WRITE_REG(hswpmi->Instance->ICR, SWPMI_FLAG_RXOVRF); + + errcode |= HAL_SWPMI_ERROR_OVR; + } + + /* SWPMI Under-Run interrupt occurred -----------------------------------------*/ + if(((regisr & SWPMI_FLAG_TXUNRF) != RESET) && ((regier & SWPMI_IT_TXUNRIE) != RESET)) + { + /* Disable Transmit under run interrupt */ + CLEAR_BIT(hswpmi->Instance->IER, SWPMI_IT_TXUNRIE); + /* Clear Transmit under run flag */ + WRITE_REG(hswpmi->Instance->ICR, SWPMI_FLAG_TXUNRF); + + errcode |= HAL_SWPMI_ERROR_UDR; + } + + /* Call SWPMI Error Call back function if needed --------------------------*/ + if(errcode != HAL_SWPMI_ERROR_NONE) + { + hswpmi->ErrorCode |= errcode; + + if((errcode & HAL_SWPMI_ERROR_UDR) != RESET) + { + /* Check TXDMA transfer to abort */ + if(HAL_IS_BIT_SET(hswpmi->Instance->CR, SWPMI_CR_TXDMA)) + { + /* Disable DMA TX at SWPMI level */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_TXDMA); + + /* Abort the USART DMA Tx channel */ + if(hswpmi->hdmatx != NULL) + { + /* Set the SWPMI Tx DMA Abort callback : + will lead to call HAL_SWPMI_ErrorCallback() at end of DMA abort procedure */ + hswpmi->hdmatx->XferAbortCallback = SWPMI_DMAAbortOnError; + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(hswpmi->hdmatx) != HAL_OK) + { + /* Call Directly hswpmi->hdmatx->XferAbortCallback function in case of error */ + hswpmi->hdmatx->XferAbortCallback(hswpmi->hdmatx); + } + } + else + { + /* Set the SWPMI state ready to be able to start again the process */ + hswpmi->State = HAL_SWPMI_STATE_READY; + + HAL_SWPMI_ErrorCallback(hswpmi); + } + } + else + { + /* Set the SWPMI state ready to be able to start again the process */ + hswpmi->State = HAL_SWPMI_STATE_READY; + + HAL_SWPMI_ErrorCallback(hswpmi); + } + } + else + { + /* Check RXDMA transfer to abort */ + if(HAL_IS_BIT_SET(hswpmi->Instance->CR, SWPMI_CR_RXDMA)) + { + /* Disable DMA RX at SWPMI level */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_RXDMA); + + /* Abort the USART DMA Rx channel */ + if(hswpmi->hdmarx != NULL) + { + /* Set the SWPMI Rx DMA Abort callback : + will lead to call HAL_SWPMI_ErrorCallback() at end of DMA abort procedure */ + hswpmi->hdmarx->XferAbortCallback = SWPMI_DMAAbortOnError; + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(hswpmi->hdmarx) != HAL_OK) + { + /* Call Directly hswpmi->hdmarx->XferAbortCallback function in case of error */ + hswpmi->hdmarx->XferAbortCallback(hswpmi->hdmarx); + } + } + else + { + /* Set the SWPMI state ready to be able to start again the process */ + hswpmi->State = HAL_SWPMI_STATE_READY; + + HAL_SWPMI_ErrorCallback(hswpmi); + } + } + else + { + /* Set the SWPMI state ready to be able to start again the process */ + hswpmi->State = HAL_SWPMI_STATE_READY; + + HAL_SWPMI_ErrorCallback(hswpmi); + } + } + } + + /* SWPMI in mode Receiver ---------------------------------------------------*/ + if(((regisr & SWPMI_FLAG_RXNE) != RESET) && ((regier & SWPMI_IT_RIE) != RESET)) + { + SWPMI_Receive_IT(hswpmi); + } + + /* SWPMI in mode Transmitter ------------------------------------------------*/ + if(((regisr & SWPMI_FLAG_TXE) != RESET) && ((regier & SWPMI_IT_TIE) != RESET)) + { + SWPMI_Transmit_IT(hswpmi); + } + + /* SWPMI in mode Transmitter (Transmit buffer empty) ------------------------*/ + if(((regisr & SWPMI_FLAG_TXBEF) != RESET) && ((regier & SWPMI_IT_TXBEIE) != RESET)) + { + SWPMI_EndTransmit_IT(hswpmi); + } + + /* SWPMI in mode Receiver (Receive buffer full) -----------------------------*/ + if(((regisr & SWPMI_FLAG_RXBFF) != RESET) && ((regier & SWPMI_IT_RXBFIE) != RESET)) + { + SWPMI_EndReceive_IT(hswpmi); + } + + /* Both Transmission and reception complete ---------------------------------*/ + if(((regisr & SWPMI_FLAG_TCF) != RESET) && ((regier & SWPMI_IT_TCIE) != RESET)) + { + SWPMI_EndTransmitReceive_IT(hswpmi); + } +} + +/** + * @brief Tx Transfer completed callback. + * @param hswpmi: SWPMI handle + * @retval None + */ +__weak void HAL_SWPMI_TxCpltCallback(SWPMI_HandleTypeDef *hswpmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hswpmi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SWPMI_TxCpltCallback is to be implemented in the user file + */ +} + +/** + * @brief Tx Half Transfer completed callback. + * @param hswpmi: SWPMI handle + * @retval None + */ +__weak void HAL_SWPMI_TxHalfCpltCallback(SWPMI_HandleTypeDef *hswpmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hswpmi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_SWPMI_TxHalfCpltCallback is to be implemented in the user file + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param hswpmi: SWPMI handle + * @retval None + */ +__weak void HAL_SWPMI_RxCpltCallback(SWPMI_HandleTypeDef *hswpmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hswpmi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SWPMI_RxCpltCallback is to be implemented in the user file + */ +} + +/** + * @brief Rx Half Transfer completed callback. + * @param hswpmi: SWPMI handle + * @retval None + */ +__weak void HAL_SWPMI_RxHalfCpltCallback(SWPMI_HandleTypeDef *hswpmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hswpmi); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_SWPMI_RxHalfCpltCallback is to be implemented in the user file + */ +} + +/** + * @brief SWPMI error callback. + * @param hswpmi: SWPMI handle + * @retval None + */ +__weak void HAL_SWPMI_ErrorCallback(SWPMI_HandleTypeDef *hswpmi) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hswpmi); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_SWPMI_ErrorCallback is to be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup SWPMI_Exported_Group4 Peripheral Control methods + * @brief SWPMI control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control methods ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the SWPMI. + (+) HAL_SWPMI_GetState() API is helpful to check in run-time the state of the SWPMI peripheral + (+) HAL_SWPMI_GetError() API is helpful to check in run-time the error state of the SWPMI peripheral +@endverbatim + * @{ + */ + +/** + * @brief Return the SWPMI handle state. + * @param hswpmi: SWPMI handle + * @retval HAL state + */ +HAL_SWPMI_StateTypeDef HAL_SWPMI_GetState(SWPMI_HandleTypeDef *hswpmi) +{ + /* Return SWPMI handle state */ + return hswpmi->State; +} + +/** +* @brief Return the SWPMI error code. +* @param hswpmi : pointer to a SWPMI_HandleTypeDef structure that contains + * the configuration information for the specified SWPMI. +* @retval SWPMI Error Code +*/ +uint32_t HAL_SWPMI_GetError(SWPMI_HandleTypeDef *hswpmi) +{ + return hswpmi->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/* Private functions ---------------------------------------------------------*/ + +/** @defgroup SWPMI_Private_Functions SWPMI Private Functions + * @{ + */ + +/** + * @brief Transmit an amount of data in interrupt mode. + * @note Function called under interruption only, once interruptions have been enabled by HAL_SWPMI_Transmit_IT() + * @param hswpmi: SWPMI handle + * @retval HAL status + */ +static HAL_StatusTypeDef SWPMI_Transmit_IT(SWPMI_HandleTypeDef *hswpmi) +{ + HAL_StatusTypeDef status = HAL_OK; + + if ((hswpmi->State == HAL_SWPMI_STATE_BUSY_TX) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX)) + { + if(hswpmi->TxXferCount == 0) + { + /* Disable the SWPMI TXE and Underrun Interrupts */ + CLEAR_BIT(hswpmi->Instance->IER, (SWPMI_IT_TIE | SWPMI_IT_TXUNRIE)); + } + else + { + hswpmi->Instance->TDR = (uint32_t)(*hswpmi->pTxBuffPtr++); + hswpmi->TxXferCount--; + } + } + else + { + status = HAL_BUSY; + } + + return status; +} + +/** + * @brief Wraps up transmission in non-blocking mode. + * @param hswpmi: SWPMI handle + * @retval HAL status + * @retval HAL status + */ +static HAL_StatusTypeDef SWPMI_EndTransmit_IT(SWPMI_HandleTypeDef *hswpmi) +{ + /* Clear the SWPMI Transmit buffer empty Flag */ + WRITE_REG(hswpmi->Instance->ICR, SWPMI_FLAG_TXBEF); + /* Disable the all SWPMI Transmit Interrupts */ + CLEAR_BIT(hswpmi->Instance->IER, SWPMI_IT_TIE | SWPMI_IT_TXUNRIE | SWPMI_IT_TXBEIE); + + /* Check if a receive Process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_RX; + } + else + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + + HAL_SWPMI_TxCpltCallback(hswpmi); + + return HAL_OK; +} + +/** + * @brief Receive an amount of data in interrupt mode. + * @note Function called under interruption only, once interruptions have been enabled by HAL_SWPMI_Receive_IT() + * @param hswpmi: SWPMI handle + * @retval HAL status + */ +static HAL_StatusTypeDef SWPMI_Receive_IT(SWPMI_HandleTypeDef *hswpmi) +{ + HAL_StatusTypeDef status = HAL_OK; + + if((hswpmi->State == HAL_SWPMI_STATE_BUSY_RX) || (hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX)) + { + *hswpmi->pRxBuffPtr++ = (uint32_t)(hswpmi->Instance->RDR); + + if(--hswpmi->RxXferCount == 0) + { + /* Wait for RXBFF flag to update state */ + HAL_SWPMI_RxCpltCallback(hswpmi); + } + } + else + { + status = HAL_BUSY; + } + + return status; +} + +/** + * @brief Wraps up reception in non-blocking mode. + * @param hswpmi: SWPMI handle + * @retval HAL status + * @retval HAL status + */ +static HAL_StatusTypeDef SWPMI_EndReceive_IT(SWPMI_HandleTypeDef *hswpmi) +{ + /* Clear the SWPMI Receive buffer full Flag */ + WRITE_REG(hswpmi->Instance->ICR, SWPMI_FLAG_RXBFF); + /* Disable the all SWPMI Receive Interrupts */ + CLEAR_BIT(hswpmi->Instance->IER, SWPMI_IT_RIE | SWPMI_IT_RXBERIE | SWPMI_IT_RXOVRIE | SWPMI_IT_RXBFIE); + + /* Check if a transmit Process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX; + } + else + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + + return HAL_OK; +} + +/** + * @brief Wraps up transmission and reception in non-blocking mode. + * @param hswpmi: SWPMI handle + * @retval HAL status + * @retval HAL status + */ +static HAL_StatusTypeDef SWPMI_EndTransmitReceive_IT(SWPMI_HandleTypeDef *hswpmi) +{ + /* Clear the SWPMI Transmission Complete Flag */ + WRITE_REG(hswpmi->Instance->ICR, SWPMI_FLAG_TCF); + /* Disable the SWPMI Transmission Complete Interrupt */ + CLEAR_BIT(hswpmi->Instance->IER, SWPMI_IT_TCIE); + + /* Check if a receive Process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_RX; + } + else if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX) + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + + return HAL_OK; +} + +/** + * @brief DMA SWPMI transmit process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void SWPMI_DMATransmitCplt(DMA_HandleTypeDef *hdma) +{ + SWPMI_HandleTypeDef* hswpmi = ( SWPMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + uint32_t tickstart = 0; + + /* DMA Normal mode*/ + if(((((DMA_Stream_TypeDef *)hdma->Instance)->CR) & DMA_SxCR_CIRC) != SET) + { + hswpmi->TxXferCount = 0; + + /* Disable the DMA transfer for transmit request by setting the TXDMA bit + in the SWPMI CR register */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_TXDMA); + + /* Init tickstart for timeout managment*/ + tickstart = HAL_GetTick(); + + /* Wait the TXBEF */ + if(SWPMI_WaitOnFlagSetUntilTimeout(hswpmi, SWPMI_FLAG_TXBEF, tickstart, SWPMI_TIMEOUT_VALUE) != HAL_OK) + { + /* Timeout occurred */ + HAL_SWPMI_ErrorCallback(hswpmi); + } + else + { + /* No Timeout */ + /* Check if a receive process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_RX; + } + else + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + + HAL_SWPMI_TxCpltCallback(hswpmi); + } + } + /* DMA Circular mode */ + else + { + HAL_SWPMI_TxCpltCallback(hswpmi); + } +} + +/** + * @brief DMA SWPMI transmit process half complete callback. + * @param hdma : DMA handle + * @retval None + */ +static void SWPMI_DMATxHalfCplt(DMA_HandleTypeDef *hdma) +{ + SWPMI_HandleTypeDef* hswpmi = (SWPMI_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_SWPMI_TxHalfCpltCallback(hswpmi); +} + + +/** + * @brief DMA SWPMI receive process complete callback. + * @param hdma: DMA handle + * @retval None + */ +static void SWPMI_DMAReceiveCplt(DMA_HandleTypeDef *hdma) +{ + SWPMI_HandleTypeDef* hswpmi = ( SWPMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* DMA Normal mode*/ + if(((((DMA_Stream_TypeDef *)hdma->Instance)->CR) & DMA_SxCR_CIRC) == RESET) + { + hswpmi->RxXferCount = 0; + + /* Disable the DMA transfer for the receiver request by setting the RXDMA bit + in the SWPMI CR register */ + CLEAR_BIT(hswpmi->Instance->CR, SWPMI_CR_RXDMA); + + /* Check if a transmit Process is ongoing or not */ + if(hswpmi->State == HAL_SWPMI_STATE_BUSY_TX_RX) + { + hswpmi->State = HAL_SWPMI_STATE_BUSY_TX; + } + else + { + hswpmi->State = HAL_SWPMI_STATE_READY; + } + } + HAL_SWPMI_RxCpltCallback(hswpmi); +} + +/** + * @brief DMA SWPMI receive process half complete callback. + * @param hdma : DMA handle + * @retval None + */ +static void SWPMI_DMARxHalfCplt(DMA_HandleTypeDef *hdma) +{ + SWPMI_HandleTypeDef* hswpmi = (SWPMI_HandleTypeDef*)((DMA_HandleTypeDef*)hdma)->Parent; + + HAL_SWPMI_RxHalfCpltCallback(hswpmi); +} + +/** + * @brief DMA SWPMI communication error callback. + * @param hdma: DMA handle + * @retval None + */ +static void SWPMI_DMAError(DMA_HandleTypeDef *hdma) +{ + SWPMI_HandleTypeDef* hswpmi = ( SWPMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Update handle */ + hswpmi->RxXferCount = 0; + hswpmi->TxXferCount = 0; + hswpmi->State= HAL_SWPMI_STATE_READY; + hswpmi->ErrorCode |= HAL_SWPMI_ERROR_DMA; + + HAL_SWPMI_ErrorCallback(hswpmi); +} +/** + * @brief DMA SWPMI communication abort callback. + * @param hdma: DMA handle + * @retval None + */ +static void SWPMI_DMAAbortOnError(DMA_HandleTypeDef *hdma) +{ + SWPMI_HandleTypeDef* hswpmi = ( SWPMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + /* Update handle */ + hswpmi->RxXferCount = 0; + hswpmi->TxXferCount = 0; + hswpmi->State= HAL_SWPMI_STATE_READY; + + HAL_SWPMI_ErrorCallback(hswpmi); +} + +/** + * @brief Handle SWPMI Communication Timeout. + * @param hswpmi: SWPMI handle + * @param Flag: specifies the SWPMI flag to check. + * @param Tickstart Tick start value + * @param Timeout timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef SWPMI_WaitOnFlagSetUntilTimeout(SWPMI_HandleTypeDef *hswpmi, uint32_t Flag, uint32_t Tickstart, uint32_t Timeout) +{ + HAL_StatusTypeDef status = HAL_OK; + + /* Wait until flag is set */ + while(!(HAL_IS_BIT_SET(hswpmi->Instance->ISR, Flag))) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0) || ((HAL_GetTick()-Tickstart) > Timeout)) + { + hswpmi->State = HAL_SWPMI_STATE_READY; + + status = HAL_TIMEOUT; + break; + } + } + } + + return status; +} + +/** + * @} + */ + +#endif /* HAL_SWPMI_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c new file mode 100644 index 0000000000..9d1e01362b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c @@ -0,0 +1,5704 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_tim.c + * @author MCD Application Team + * @brief TIM HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Timer (TIM) peripheral: + * + Time Base Initialization + * + Time Base Start + * + Time Base Start Interruption + * + Time Base Start DMA + * + Time Output Compare/PWM Initialization + * + Time Output Compare/PWM Channel Configuration + * + Time Output Compare/PWM Start + * + Time Output Compare/PWM Start Interruption + * + Time Output Compare/PWM Start DMA + * + Time Input Capture Initialization + * + Time Input Capture Channel Configuration + * + Time Input Capture Start + * + Time Input Capture Start Interruption + * + Time Input Capture Start DMA + * + Time One Pulse Initialization + * + Time One Pulse Channel Configuration + * + Time One Pulse Start + * + Time Encoder Interface Initialization + * + Time Encoder Interface Start + * + Time Encoder Interface Start Interruption + * + Time Encoder Interface Start DMA + * + Commutation Event configuration with Interruption and DMA + * + Time OCRef clear configuration + * + Time External Clock configuration + @verbatim + ============================================================================== + ##### TIM Generic features ##### + ============================================================================== + [..] The Timer features include: + (#) 16-bit (32-bit for TIM2/TIM5) up, down, up/down auto-reload counter. + (#) 16-bit programmable prescaler allowing dividing (also on the fly) the + counter clock frequency either by any factor between 1 and 65536. + (#) Up to 4 independent channels for: + (++) Input Capture + (++) Output Compare + (++) PWM generation (Edge and Center-aligned Mode) + (++) One-pulse mode output + + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Initialize the TIM low level resources by implementing the following functions + depending on the selected feature: + (++) Time Base : HAL_TIM_Base_MspInit() + (++) Input Capture : HAL_TIM_IC_MspInit() + (++) Output Compare : HAL_TIM_OC_MspInit() + (++) PWM generation : HAL_TIM_PWM_MspInit() + (++) One-pulse mode output : HAL_TIM_OnePulse_MspInit() + (++) Encoder mode output : HAL_TIM_Encoder_MspInit() + + (#) Initialize the TIM low level resources : + (##) Enable the TIM interface clock using __HAL_RCC_TIMx_CLK_ENABLE(); + (##) TIM pins configuration + (+++) Enable the clock for the TIM GPIOs using the following function: + __HAL_RCC_GPIOx_CLK_ENABLE(); + (+++) Configure these TIM pins in Alternate function mode using HAL_GPIO_Init(); + + (#) The external Clock can be configured, if needed (the default clock is the + internal clock from the APBx), using the following function: + HAL_TIM_ConfigClockSource, the clock configuration should be done before + any start function. + (#) Configure the TIM in the desired functioning mode using one of the + Initialization function of this driver: + (++) HAL_TIM_Base_Init: to use the Timer to generate a simple time base. + (++) HAL_TIM_OC_Init and HAL_TIM_OC_ConfigChannel: to use the Timer to generate an + Output Compare signal. + (++) HAL_TIM_PWM_Init and HAL_TIM_PWM_ConfigChannel: to use the Timer to generate a + PWM signal. + (++) HAL_TIM_IC_Init and HAL_TIM_IC_ConfigChannel: to use the Timer to measure an + external signal. + (++) HAL_TIM_OnePulse_Init and HAL_TIM_OnePulse_ConfigChannel: to use the Timer + in One Pulse Mode. + (++) HAL_TIM_Encoder_Init: to use the Timer Encoder Interface. + (#) Activate the TIM peripheral using one of the start functions depending from the feature used: + (++) Time Base : HAL_TIM_Base_Start(), HAL_TIM_Base_Start_DMA(), HAL_TIM_Base_Start_IT(). + (++) Input Capture : HAL_TIM_IC_Start(), HAL_TIM_IC_Start_DMA(), HAL_TIM_IC_Start_IT(). + (++) Output Compare : HAL_TIM_OC_Start(), HAL_TIM_OC_Start_DMA(), HAL_TIM_OC_Start_IT(). + (++) PWM generation : HAL_TIM_PWM_Start(), HAL_TIM_PWM_Start_DMA(), HAL_TIM_PWM_Start_IT(). + (++) One-pulse mode output : HAL_TIM_OnePulse_Start(), HAL_TIM_OnePulse_Start_IT(). + (++) Encoder mode output : HAL_TIM_Encoder_Start(), HAL_TIM_Encoder_Start_DMA(), HAL_TIM_Encoder_Start_IT(). + (#) The DMA Burst is managed with the two following functions: + (++)HAL_TIM_DMABurst_WriteStart(). + (++)HAL_TIM_DMABurst_ReadStart(). + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup TIM TIM + * @brief TIM HAL module driver + * @{ + */ + +#ifdef HAL_TIM_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static void TIM_OC5_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config); +static void TIM_OC6_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config); +static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter); +static void TIM_TI2_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, + uint32_t TIM_ICFilter); +static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter); +static void TIM_TI3_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, + uint32_t TIM_ICFilter); +static void TIM_TI4_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, + uint32_t TIM_ICFilter); +static void TIM_ITRx_SetConfig(TIM_TypeDef* TIMx, uint16_t InputTriggerSource); +static void TIM_DMAPeriodElapsedCplt(DMA_HandleTypeDef *hdma); +static void TIM_DMATriggerCplt(DMA_HandleTypeDef *hdma); +static void TIM_SlaveTimer_SetConfig(TIM_HandleTypeDef *htim, + TIM_SlaveConfigTypeDef * sSlaveConfig); + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup TIM_Exported_Functions TIM Exported Functions + * @{ + */ + +/** @defgroup TIM_Exported_Functions_Group1 Time Base functions + * @brief TIM Time Base functions + * +@verbatim + ============================================================================== + ##### TIM Time Base functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the TIM Time base. + (+) De-initialize the TIM Time base. + (+) Start the TIM Time Base. + (+) Stop the TIM Time Base. + (+) Start the TIM Time Base and enable interrupt. + (+) Stop the TIM Time Base and disable interrupt. + (+) Start the TIM Time Base and enable DMA transfer. + (+) Stop the TIM Time Base and disable DMA transfer. + +@endverbatim + * @{ + */ +/** + * @brief Initialize the TIM Time base Unit according to the specified + * parameters in the TIM_HandleTypeDef and initialize the associated handle. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim) +{ + /* Check the TIM handle allocation */ + if(htim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); + assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); + + if(htim->State == HAL_TIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + htim->Lock = HAL_UNLOCKED; + /* Init the low level hardware : GPIO, CLOCK, NVIC */ + HAL_TIM_Base_MspInit(htim); + } + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Set the Time Base configuration */ + TIM_Base_SetConfig(htim->Instance, &htim->Init); + + /* Initialize the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitialize the TIM Base peripheral + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_Base_DeInit(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Disable the TIM Peripheral Clock */ + __HAL_TIM_DISABLE(htim); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ + HAL_TIM_Base_MspDeInit(htim); + + /* Change TIM state */ + htim->State = HAL_TIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM Time Base MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_Base_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize TIM Time Base MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_Base_MspDeInit could be implemented in the user file + */ +} + + +/** + * @brief Starts the TIM Time Base generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Change the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Time Base generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Time Base generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + /* Enable the TIM Update interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Time Base generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + /* Disable the TIM Update interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_UPDATE); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Time Base generation in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param pData: The source Buffer address. + * @param Length: The length of data to be transferred from memory to peripheral. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMA_INSTANCE(htim->Instance)); + + if(htim->State == HAL_TIM_STATE_BUSY) + { + return HAL_BUSY; + } + else if(htim->State == HAL_TIM_STATE_READY) + { + if((pData == 0 ) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_UPDATE]->XferCpltCallback = TIM_DMAPeriodElapsedCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_UPDATE]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_UPDATE], (uint32_t)pData, (uint32_t)&htim->Instance->ARR, Length); + + /* Enable the TIM Update DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_UPDATE); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Time Base generation in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMA_INSTANCE(htim->Instance)); + + /* Disable the TIM Update DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_UPDATE); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group2 Time Output Compare functions + * @brief Time Output Compare functions + * +@verbatim + ============================================================================== + ##### TIM Output Compare functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the TIM Output Compare. + (+) De-initialize the TIM Output Compare. + (+) Start the TIM Output Compare. + (+) Stop the TIM Output Compare. + (+) Start the TIM Output Compare and enable interrupt. + (+) Stop the TIM Output Compare and disable interrupt. + (+) Start the TIM Output Compare and enable DMA transfer. + (+) Stop the TIM Output Compare and disable DMA transfer. + +@endverbatim + * @{ + */ +/** + * @brief Initialize the TIM Output Compare according to the specified + * parameters in the TIM_HandleTypeDef and initialize the associated handle. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef* htim) +{ + /* Check the TIM handle allocation */ + if(htim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); + assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); + + if(htim->State == HAL_TIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + htim->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_OC_MspInit(htim); + } + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Init the base time for the Output Compare */ + TIM_Base_SetConfig(htim->Instance, &htim->Init); + + /* Initialize the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitialize the TIM peripheral + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_OC_DeInit(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Disable the TIM Peripheral Clock */ + __HAL_TIM_DISABLE(htim); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_OC_MspDeInit(htim); + + /* Change TIM state */ + htim->State = HAL_TIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM Output Compare MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_OC_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize TIM Output Compare MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_OC_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Starts the TIM Output Compare signal generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OC_Start(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + /* Enable the Output compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Output Compare signal generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + /* Disable the Output compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Output Compare signal generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Enable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Enable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Enable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Enable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC4); + } + break; + + default: + break; + } + + /* Enable the Output compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Output Compare signal generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Disable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC4); + } + break; + + default: + break; + } + + /* Disable the Output compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Output Compare signal generation in DMA mode. + * @param htim : TIM Output Compare handle + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @param pData: The source Buffer address. + * @param Length: The length of data to be transferred from memory to TIM peripheral + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + if(htim->State == HAL_TIM_STATE_BUSY) + { + return HAL_BUSY; + } + else if((htim->State) == (HAL_TIM_STATE_READY)) + { + if(((uint32_t)pData == 0 ) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->CCR1, Length); + + /* Enable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->CCR2, Length); + + /* Enable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->CCR3,Length); + + /* Enable the TIM Capture/Compare 3 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC4], (uint32_t)pData, (uint32_t)&htim->Instance->CCR4, Length); + + /* Enable the TIM Capture/Compare 4 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC4); + } + break; + + default: + break; + } + + /* Enable the Output compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Output Compare signal generation in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Disable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC4); + } + break; + + default: + break; + } + + /* Disable the Output compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group3 Time PWM functions + * @brief Time PWM functions + * +@verbatim + ============================================================================== + ##### TIM PWM functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the TIM PWM mode. + (+) De-initialize the TIM PWM mode. + (+) Start the TIM PWM mode. + (+) Stop the TIM PWM mode. + (+) Start the TIM PWM mode and enable interrupt. + (+) Stop the TIM PWM mode and disable interrupt. + (+) Start the TIM PWM mode and enable DMA transfer. + (+) Stop the TIM PWM mode and disable DMA transfer. + +@endverbatim + * @{ + */ +/** + * @brief Initialize the TIM PWM mode according to the specified + * parameters in the TIM_HandleTypeDef and initialize the associated handle. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim) +{ + /* Check the TIM handle allocation */ + if(htim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); + assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); + + if(htim->State == HAL_TIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + htim->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_PWM_MspInit(htim); + } + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Init the base time for the PWM */ + TIM_Base_SetConfig(htim->Instance, &htim->Init); + + /* Initialize the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitialize the TIM peripheral + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_PWM_DeInit(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Disable the TIM Peripheral Clock */ + __HAL_TIM_DISABLE(htim); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_PWM_MspDeInit(htim); + + /* Change TIM state */ + htim->State = HAL_TIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM PWM MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_PWM_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize TIM PWM MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_PWM_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Starts the PWM signal generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + /* Enable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the PWM signal generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + /* Disable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the PWM signal generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Enable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Enable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Enable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Enable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC4); + } + break; + + default: + break; + } + + /* Enable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the PWM signal generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT (TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Disable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC4); + } + break; + + default: + break; + } + + /* Disable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM PWM signal generation in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @param pData: The source Buffer address. + * @param Length: The length of data to be transferred from memory to TIM peripheral + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + if((htim->State) == (HAL_TIM_STATE_BUSY)) + { + return HAL_BUSY; + } + else if((htim->State) == (HAL_TIM_STATE_READY)) + { + if(((uint32_t)pData == 0 ) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->CCR1, Length); + + /* Enable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->CCR2, Length); + + /* Enable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->CCR3,Length); + + /* Enable the TIM Output Capture/Compare 3 request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC4], (uint32_t)pData, (uint32_t)&htim->Instance->CCR4, Length); + + /* Enable the TIM Capture/Compare 4 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC4); + } + break; + + default: + break; + } + + /* Enable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM PWM signal generation in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Disable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC4); + } + break; + + default: + break; + } + + /* Disable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group4 Time Input Capture functions + * @brief Time Input Capture functions + * +@verbatim + ============================================================================== + ##### TIM Input Capture functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the TIM Input Capture. + (+) De-initialize the TIM Input Capture. + (+) Start the TIM Input Capture mode. + (+) Stop the TIM Input Capture mode. + (+) Start the TIM Input Capture mode and enable interrupt. + (+) Stop the TIM Input Capture mode and disable interrupt. + (+) Start the TIM Input Capture mode and enable DMA transfer. + (+) Stop the TIM Input Capture mode and disable DMA transfer. + +@endverbatim + * @{ + */ +/** + * @brief Initialize the TIM Input Capture Time base according to the specified + * parameters in the TIM_HandleTypeDef and initialize the associated handle. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_IC_Init(TIM_HandleTypeDef *htim) +{ + /* Check the TIM handle allocation */ + if(htim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); + assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); + + if(htim->State == HAL_TIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + htim->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_IC_MspInit(htim); + } + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Init the base time for the input capture */ + TIM_Base_SetConfig(htim->Instance, &htim->Init); + + /* Initialize the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitialize the TIM peripheral + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_IC_DeInit(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Disable the TIM Peripheral Clock */ + __HAL_TIM_DISABLE(htim); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_IC_MspDeInit(htim); + + /* Change TIM state */ + htim->State = HAL_TIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM Input Capture MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_IC_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize TIM Input Capture MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_IC_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Starts the TIM Input Capture measurement. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_IC_Start (TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + /* Enable the Input Capture channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Input Capture measurement. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_IC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + /* Disable the Input Capture channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Input Capture measurement in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_IC_Start_IT (TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Enable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Enable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Enable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Enable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC4); + } + break; + + default: + break; + } + /* Enable the Input Capture channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Input Capture measurement in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_IC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Disable the TIM Capture/Compare 4 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC4); + } + break; + + default: + break; + } + + /* Disable the Input Capture channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Input Capture measurement on in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @param pData: The destination Buffer address. + * @param Length: The length of data to be transferred from TIM peripheral to memory. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_IC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + assert_param(IS_TIM_DMA_CC_INSTANCE(htim->Instance)); + + if((htim->State) == (HAL_TIM_STATE_BUSY)) + { + return HAL_BUSY; + } + else if((htim->State) == (HAL_TIM_STATE_READY)) + { + if((pData == 0 ) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)&htim->Instance->CCR1, (uint32_t)pData, Length); + + /* Enable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)&htim->Instance->CCR2, (uint32_t)pData, Length); + + /* Enable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)&htim->Instance->CCR3, (uint32_t)pData, Length); + + /* Enable the TIM Capture/Compare 3 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC4], (uint32_t)&htim->Instance->CCR4, (uint32_t)pData, Length); + + /* Enable the TIM Capture/Compare 4 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC4); + } + break; + + default: + break; + } + + /* Enable the Input Capture channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Input Capture measurement on in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); + assert_param(IS_TIM_DMA_CC_INSTANCE(htim->Instance)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + case TIM_CHANNEL_4: + { + /* Disable the TIM Capture/Compare 4 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC4); + } + break; + + default: + break; + } + + /* Disable the Input Capture channel */ + TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group5 Time One Pulse functions + * @brief Time One Pulse functions + * +@verbatim + ============================================================================== + ##### TIM One Pulse functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the TIM One Pulse mode. + (+) De-initialize the TIM One Pulse mode. + (+) Start the TIM One Pulse mode. + (+) Stop the TIM One Pulse mode. + (+) Start the TIM One Pulse mode and enable interrupt. + (+) Stop the TIM One Pulse mode and disable interrupt. + (+) Start the TIM One Pulse mode and enable DMA transfer. + (+) Stop the TIM One Pulse mode and disable DMA transfer. + +@endverbatim + * @{ + */ +/** + * @brief Initialize the TIM One Pulse mode according to the specified + * parameters in the TIM_HandleTypeDef and initialize the associated handle. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param OnePulseMode: Select the One pulse mode. + * This parameter can be one of the following values: + * @arg TIM_OPMODE_SINGLE: Only one pulse will be generated. + * @arg TIM_OPMODE_REPETITIVE: Repetitive pulses will be generated. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_t OnePulseMode) +{ + /* Check the TIM handle allocation */ + if(htim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); + assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); + assert_param(IS_TIM_OPM_MODE(OnePulseMode)); + + if(htim->State == HAL_TIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + htim->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_OnePulse_MspInit(htim); + } + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Configure the Time base in the One Pulse Mode */ + TIM_Base_SetConfig(htim->Instance, &htim->Init); + + /* Reset the OPM Bit */ + htim->Instance->CR1 &= ~TIM_CR1_OPM; + + /* Configure the OPM Mode */ + htim->Instance->CR1 |= OnePulseMode; + + /* Initialize the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitialize the TIM One Pulse mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Disable the TIM Peripheral Clock */ + __HAL_TIM_DISABLE(htim); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ + HAL_TIM_OnePulse_MspDeInit(htim); + + /* Change TIM state */ + htim->State = HAL_TIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM One Pulse MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_OnePulse_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize TIM One Pulse MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_OnePulse_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Starts the TIM One Pulse signal generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param OutputChannel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OnePulse_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(OutputChannel); + + /* Enable the Capture compare and the Input Capture channels + (in the OPM Mode the two possible channels that can be used are TIM_CHANNEL_1 and TIM_CHANNEL_2) + if TIM_CHANNEL_1 is used as output, the TIM_CHANNEL_2 will be used as input and + if TIM_CHANNEL_1 is used as input, the TIM_CHANNEL_2 will be used as output + in all combinations, the TIM_CHANNEL_1 and TIM_CHANNEL_2 should be enabled together + + No need to enable the counter, it's enabled automatically by hardware + (the counter starts in response to a stimulus and generate a pulse */ + + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM One Pulse signal generation. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param OutputChannel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OnePulse_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(OutputChannel); + + /* Disable the Capture compare and the Input Capture channels + (in the OPM Mode the two possible channels that can be used are TIM_CHANNEL_1 and TIM_CHANNEL_2) + if TIM_CHANNEL_1 is used as output, the TIM_CHANNEL_2 will be used as input and + if TIM_CHANNEL_1 is used as input, the TIM_CHANNEL_2 will be used as output + in all combinations, the TIM_CHANNEL_1 and TIM_CHANNEL_2 should be disabled together */ + + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM One Pulse signal generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param OutputChannel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(OutputChannel); + + /* Enable the Capture compare and the Input Capture channels + (in the OPM Mode the two possible channels that can be used are TIM_CHANNEL_1 and TIM_CHANNEL_2) + if TIM_CHANNEL_1 is used as output, the TIM_CHANNEL_2 will be used as input and + if TIM_CHANNEL_1 is used as input, the TIM_CHANNEL_2 will be used as output + in all combinations, the TIM_CHANNEL_1 and TIM_CHANNEL_2 should be enabled together + + No need to enable the counter, it's enabled automatically by hardware + (the counter starts in response to a stimulus and generate a pulse */ + + /* Enable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + + /* Enable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Enable the main output */ + __HAL_TIM_MOE_ENABLE(htim); + } + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM One Pulse signal generation in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param OutputChannel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(OutputChannel); + + /* Disable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + + /* Disable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + + /* Disable the Capture compare and the Input Capture channels + (in the OPM Mode the two possible channels that can be used are TIM_CHANNEL_1 and TIM_CHANNEL_2) + if TIM_CHANNEL_1 is used as output, the TIM_CHANNEL_2 will be used as input and + if TIM_CHANNEL_1 is used as input, the TIM_CHANNEL_2 will be used as output + in all combinations, the TIM_CHANNEL_1 and TIM_CHANNEL_2 should be disabled together */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + + if(IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) + { + /* Disable the Main Output */ + __HAL_TIM_MOE_DISABLE(htim); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group6 Time Encoder functions + * @brief TIM Encoder functions + * +@verbatim + ============================================================================== + ##### TIM Encoder functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the TIM Encoder. + (+) De-initialize the TIM Encoder mode. + (+) Start the Time Encoder mode. + (+) Stop the Time Encoder mode. + (+) Start the Time Encoder mode and enable interrupt. + (+) Stop the Time Encoder mode and disable interrupt. + (+) Start the Time Encoder mode and enable DMA transfer. + (+) Stop the Time Encoder mode and disable DMA transfer. + +@endverbatim + * @{ + */ +/** + * @brief Initialize the TIM Encoder Interface and initialize the associated handle. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sConfig: TIM Encoder Interface configuration structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim, TIM_Encoder_InitTypeDef* sConfig) +{ + uint32_t tmpsmcr = 0; + uint32_t tmpccmr1 = 0; + uint32_t tmpccer = 0; + + /* Check the TIM handle allocation */ + if(htim == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + assert_param(IS_TIM_ENCODER_MODE(sConfig->EncoderMode)); + assert_param(IS_TIM_IC_SELECTION(sConfig->IC1Selection)); + assert_param(IS_TIM_IC_SELECTION(sConfig->IC2Selection)); + assert_param(IS_TIM_IC_POLARITY(sConfig->IC1Polarity)); + assert_param(IS_TIM_IC_POLARITY(sConfig->IC2Polarity)); + assert_param(IS_TIM_IC_PRESCALER(sConfig->IC1Prescaler)); + assert_param(IS_TIM_IC_PRESCALER(sConfig->IC2Prescaler)); + assert_param(IS_TIM_IC_FILTER(sConfig->IC1Filter)); + assert_param(IS_TIM_IC_FILTER(sConfig->IC2Filter)); + + if(htim->State == HAL_TIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + htim->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_TIM_Encoder_MspInit(htim); + } + + /* Set the TIM state */ + htim->State= HAL_TIM_STATE_BUSY; + + /* Reset the SMS bits */ + htim->Instance->SMCR &= ~TIM_SMCR_SMS; + + /* Configure the Time base in the Encoder Mode */ + TIM_Base_SetConfig(htim->Instance, &htim->Init); + + /* Get the TIMx SMCR register value */ + tmpsmcr = htim->Instance->SMCR; + + /* Get the TIMx CCMR1 register value */ + tmpccmr1 = htim->Instance->CCMR1; + + /* Get the TIMx CCER register value */ + tmpccer = htim->Instance->CCER; + + /* Set the encoder Mode */ + tmpsmcr |= sConfig->EncoderMode; + + /* Select the Capture Compare 1 and the Capture Compare 2 as input */ + tmpccmr1 &= ~(TIM_CCMR1_CC1S | TIM_CCMR1_CC2S); + tmpccmr1 |= (sConfig->IC1Selection | (sConfig->IC2Selection << 8)); + + /* Set the Capture Compare 1 and the Capture Compare 2 prescalers and filters */ + tmpccmr1 &= ~(TIM_CCMR1_IC1PSC | TIM_CCMR1_IC2PSC); + tmpccmr1 &= ~(TIM_CCMR1_IC1F | TIM_CCMR1_IC2F); + tmpccmr1 |= sConfig->IC1Prescaler | (sConfig->IC2Prescaler << 8); + tmpccmr1 |= (sConfig->IC1Filter << 4) | (sConfig->IC2Filter << 12); + + /* Set the TI1 and the TI2 Polarities */ + tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC2P); + tmpccer &= ~(TIM_CCER_CC1NP | TIM_CCER_CC2NP); + tmpccer |= sConfig->IC1Polarity | (sConfig->IC2Polarity << 4); + + /* Write to TIMx SMCR */ + htim->Instance->SMCR = tmpsmcr; + + /* Write to TIMx CCMR1 */ + htim->Instance->CCMR1 = tmpccmr1; + + /* Write to TIMx CCER */ + htim->Instance->CCER = tmpccer; + + /* Initialize the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + return HAL_OK; +} + + +/** + * @brief DeInitialize the TIM Encoder interface + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_Encoder_DeInit(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Disable the TIM Peripheral Clock */ + __HAL_TIM_DISABLE(htim); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ + HAL_TIM_Encoder_MspDeInit(htim); + + /* Change TIM state */ + htim->State = HAL_TIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM Encoder Interface MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_Encoder_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize TIM Encoder Interface MSP. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_Encoder_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Starts the TIM Encoder Interface. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + /* Enable the encoder interface channels */ + switch (Channel) + { + case TIM_CHANNEL_1: + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + } + break; + case TIM_CHANNEL_2: + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + } + break; + default : + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + } + break; + } + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Encoder Interface. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Encoder_Stop(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + /* Disable the Input Capture channels 1 and 2 + (in the EncoderInterface the two possible channels that can be used are TIM_CHANNEL_1 and TIM_CHANNEL_2) */ + switch (Channel) + { + case TIM_CHANNEL_1: + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + } + break; + case TIM_CHANNEL_2: + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + } + break; + default : + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + } + break; + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Encoder Interface in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Encoder_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + /* Enable the encoder interface channels */ + /* Enable the capture compare Interrupts 1 and/or 2 */ + switch (Channel) + { + case TIM_CHANNEL_1: + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + } + break; + case TIM_CHANNEL_2: + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + } + break; + default : + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + } + break; + } + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Encoder Interface in interrupt mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Encoder_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + /* Disable the Input Capture channels 1 and 2 + (in the EncoderInterface the two possible channels that can be used are TIM_CHANNEL_1 and TIM_CHANNEL_2) */ + if(Channel == TIM_CHANNEL_1) + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + + /* Disable the capture compare Interrupts 1 */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + } + else if(Channel == TIM_CHANNEL_2) + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + + /* Disable the capture compare Interrupts 2 */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + } + else + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + + /* Disable the capture compare Interrupts 1 and 2 */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Encoder Interface in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected + * @param pData1: The destination Buffer address for Input Capture Channel1. + * @param pData2: The destination Buffer address for Input Capture Channel2. + * @param Length: The length of data to be transferred from TIM peripheral to memory. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Encoder_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData1, uint32_t *pData2, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMA_CC_INSTANCE(htim->Instance)); + + if(htim->State == HAL_TIM_STATE_BUSY) + { + return HAL_BUSY; + } + else if(htim->State == HAL_TIM_STATE_READY) + { + if((((pData1 == 0) || (pData2 == 0) )) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)&htim->Instance->CCR1, (uint32_t )pData1, Length); + + /* Enable the TIM Input Capture DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Enable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + } + break; + + case TIM_CHANNEL_2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError; + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)&htim->Instance->CCR2, (uint32_t)pData2, Length); + + /* Enable the TIM Input Capture DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Enable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + } + break; + + case TIM_CHANNEL_ALL: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)&htim->Instance->CCR1, (uint32_t)pData1, Length); + + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)&htim->Instance->CCR2, (uint32_t)pData2, Length); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Enable the Capture compare channel */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); + + /* Enable the TIM Input Capture DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + /* Enable the TIM Input Capture DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + default: + break; + } + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Encoder Interface in DMA mode. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMA_CC_INSTANCE(htim->Instance)); + + /* Disable the Input Capture channels 1 and 2 + (in the EncoderInterface the two possible channels that can be used are TIM_CHANNEL_1 and TIM_CHANNEL_2) */ + if(Channel == TIM_CHANNEL_1) + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + + /* Disable the capture compare DMA Request 1 */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + } + else if(Channel == TIM_CHANNEL_2) + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + + /* Disable the capture compare DMA Request 2 */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2); + } + else + { + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_DISABLE); + + /* Disable the capture compare DMA Request 1 and 2 */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2); + } + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ +/** @defgroup TIM_Exported_Functions_Group7 TIM IRQ handler management + * @brief IRQ handler management + * +@verbatim + ============================================================================== + ##### IRQ handler management ##### + ============================================================================== + [..] + This section provides TIM IRQ handler function. + +@endverbatim + * @{ + */ +/** + * @brief This function handles TIM interrupts requests. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) +{ + /* Capture compare 1 event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) !=RESET) + { + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1); + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; + + /* Input capture event */ + if((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00) + { + HAL_TIM_IC_CaptureCallback(htim); + } + /* Output compare event */ + else + { + HAL_TIM_OC_DelayElapsedCallback(htim); + HAL_TIM_PWM_PulseFinishedCallback(htim); + } + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; + } + } + } + /* Capture compare 2 event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2); + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; + /* Input capture event */ + if((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00) + { + HAL_TIM_IC_CaptureCallback(htim); + } + /* Output compare event */ + else + { + HAL_TIM_OC_DelayElapsedCallback(htim); + HAL_TIM_PWM_PulseFinishedCallback(htim); + } + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; + } + } + /* Capture compare 3 event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3); + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; + /* Input capture event */ + if((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00) + { + HAL_TIM_IC_CaptureCallback(htim); + } + /* Output compare event */ + else + { + HAL_TIM_OC_DelayElapsedCallback(htim); + HAL_TIM_PWM_PulseFinishedCallback(htim); + } + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; + } + } + /* Capture compare 4 event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4); + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; + /* Input capture event */ + if((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00) + { + HAL_TIM_IC_CaptureCallback(htim); + } + /* Output compare event */ + else + { + HAL_TIM_OC_DelayElapsedCallback(htim); + HAL_TIM_PWM_PulseFinishedCallback(htim); + } + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; + } + } + /* TIM Update event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); + HAL_TIM_PeriodElapsedCallback(htim); + } + } + /* TIM Break input event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); + HAL_TIMEx_BreakCallback(htim); + } + } + /* TIM Break input2 event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); + HAL_TIMEx_BreakCallback(htim); + } + } + /* TIM Trigger detection event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); + HAL_TIM_TriggerCallback(htim); + } + } + /* TIM commutation event */ + if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) + { + if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) !=RESET) + { + __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); + HAL_TIMEx_CommutationCallback(htim); + } + } +} + +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group8 Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Configure The Input/Output channels for Output Compare, PWM, Input Capture + or One Pulse mode. + (+) Configure External Clock source. + (+) Configure Complementary channels, break features and dead time. + (+) Configure Master and the Slave synchronization. + (+) Configure the DMA Burst Mode. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the TIM Output Compare Channels according to the specified + * parameters in the TIM_OC_InitTypeDef. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sConfig: TIM Output Compare configuration structure. + * @param Channel : TIM Channels to configure. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @arg TIM_CHANNEL_5: TIM Channel 5 selected + * @arg TIM_CHANNEL_6: TIM Channel 6 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim, + TIM_OC_InitTypeDef* sConfig, + uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CHANNELS(Channel)); + assert_param(IS_TIM_OC_MODE(sConfig->OCMode)); + assert_param(IS_TIM_OC_POLARITY(sConfig->OCPolarity)); + + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Check the parameters */ + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + + /* Configure the TIM Channel 1 in Output Compare */ + TIM_OC1_SetConfig(htim->Instance, sConfig); + } + break; + + case TIM_CHANNEL_2: + { + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + /* Configure the TIM Channel 2 in Output Compare */ + TIM_OC2_SetConfig(htim->Instance, sConfig); + } + break; + + case TIM_CHANNEL_3: + { + /* Check the parameters */ + assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); + + /* Configure the TIM Channel 3 in Output Compare */ + TIM_OC3_SetConfig(htim->Instance, sConfig); + } + break; + + case TIM_CHANNEL_4: + { + /* Check the parameters */ + assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); + + /* Configure the TIM Channel 4 in Output Compare */ + TIM_OC4_SetConfig(htim->Instance, sConfig); + } + break; + + case TIM_CHANNEL_5: + { + /* Check the parameters */ + assert_param(IS_TIM_CC5_INSTANCE(htim->Instance)); + + /* Configure the TIM Channel 5 in Output Compare */ + TIM_OC5_SetConfig(htim->Instance, sConfig); + } + break; + + case TIM_CHANNEL_6: + { + /* Check the parameters */ + assert_param(IS_TIM_CC6_INSTANCE(htim->Instance)); + + /* Configure the TIM Channel 6 in Output Compare */ + TIM_OC6_SetConfig(htim->Instance, sConfig); + } + break; + + default: + break; + } + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM Input Capture Channels according to the specified + * parameters in the TIM_IC_InitTypeDef. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sConfig: TIM Input Capture configuration structure. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_IC_ConfigChannel(TIM_HandleTypeDef *htim, TIM_IC_InitTypeDef* sConfig, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + assert_param(IS_TIM_IC_POLARITY(sConfig->ICPolarity)); + assert_param(IS_TIM_IC_SELECTION(sConfig->ICSelection)); + assert_param(IS_TIM_IC_PRESCALER(sConfig->ICPrescaler)); + assert_param(IS_TIM_IC_FILTER(sConfig->ICFilter)); + + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + if (Channel == TIM_CHANNEL_1) + { + /* TI1 Configuration */ + TIM_TI1_SetConfig(htim->Instance, + sConfig->ICPolarity, + sConfig->ICSelection, + sConfig->ICFilter); + + /* Reset the IC1PSC Bits */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC; + + /* Set the IC1PSC value */ + htim->Instance->CCMR1 |= sConfig->ICPrescaler; + } + else if (Channel == TIM_CHANNEL_2) + { + /* TI2 Configuration */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + TIM_TI2_SetConfig(htim->Instance, + sConfig->ICPolarity, + sConfig->ICSelection, + sConfig->ICFilter); + + /* Reset the IC2PSC Bits */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_IC2PSC; + + /* Set the IC2PSC value */ + htim->Instance->CCMR1 |= (sConfig->ICPrescaler << 8); + } + else if (Channel == TIM_CHANNEL_3) + { + /* TI3 Configuration */ + assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); + + TIM_TI3_SetConfig(htim->Instance, + sConfig->ICPolarity, + sConfig->ICSelection, + sConfig->ICFilter); + + /* Reset the IC3PSC Bits */ + htim->Instance->CCMR2 &= ~TIM_CCMR2_IC3PSC; + + /* Set the IC3PSC value */ + htim->Instance->CCMR2 |= sConfig->ICPrescaler; + } + else + { + /* TI4 Configuration */ + assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); + + TIM_TI4_SetConfig(htim->Instance, + sConfig->ICPolarity, + sConfig->ICSelection, + sConfig->ICFilter); + + /* Reset the IC4PSC Bits */ + htim->Instance->CCMR2 &= ~TIM_CCMR2_IC4PSC; + + /* Set the IC4PSC value */ + htim->Instance->CCMR2 |= (sConfig->ICPrescaler << 8); + } + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM PWM channels according to the specified + * parameters in the TIM_OC_InitTypeDef. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sConfig: TIM PWM configuration structure. + * @param Channel : TIM Channels to be configured. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @arg TIM_CHANNEL_5: TIM Channel 5 selected + * @arg TIM_CHANNEL_6: TIM Channel 6 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, + TIM_OC_InitTypeDef* sConfig, + uint32_t Channel) +{ + + + /* Check the parameters */ + assert_param(IS_TIM_CHANNELS(Channel)); + assert_param(IS_TIM_PWM_MODE(sConfig->OCMode)); + assert_param(IS_TIM_OC_POLARITY(sConfig->OCPolarity)); + + assert_param(IS_TIM_FAST_STATE(sConfig->OCFastMode)); + + + + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Check the parameters */ + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + + /* Configure the Channel 1 in PWM mode */ + TIM_OC1_SetConfig(htim->Instance, sConfig); + + /* Set the Preload enable bit for channel1 */ + htim->Instance->CCMR1 |= TIM_CCMR1_OC1PE; + + /* Configure the Output Fast mode */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_OC1FE; + htim->Instance->CCMR1 |= sConfig->OCFastMode; + } + break; + + case TIM_CHANNEL_2: + { + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + /* Configure the Channel 2 in PWM mode */ + TIM_OC2_SetConfig(htim->Instance, sConfig); + + /* Set the Preload enable bit for channel2 */ + htim->Instance->CCMR1 |= TIM_CCMR1_OC2PE; + + /* Configure the Output Fast mode */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_OC2FE; + htim->Instance->CCMR1 |= sConfig->OCFastMode << 8; + } + break; + + case TIM_CHANNEL_3: + { + /* Check the parameters */ + assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); + + /* Configure the Channel 3 in PWM mode */ + TIM_OC3_SetConfig(htim->Instance, sConfig); + + /* Set the Preload enable bit for channel3 */ + htim->Instance->CCMR2 |= TIM_CCMR2_OC3PE; + + /* Configure the Output Fast mode */ + htim->Instance->CCMR2 &= ~TIM_CCMR2_OC3FE; + htim->Instance->CCMR2 |= sConfig->OCFastMode; + } + break; + + case TIM_CHANNEL_4: + { + /* Check the parameters */ + assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); + + /* Configure the Channel 4 in PWM mode */ + TIM_OC4_SetConfig(htim->Instance, sConfig); + + /* Set the Preload enable bit for channel4 */ + htim->Instance->CCMR2 |= TIM_CCMR2_OC4PE; + + /* Configure the Output Fast mode */ + htim->Instance->CCMR2 &= ~TIM_CCMR2_OC4FE; + htim->Instance->CCMR2 |= sConfig->OCFastMode << 8; + } + break; + + case TIM_CHANNEL_5: + { + /* Check the parameters */ + assert_param(IS_TIM_CC5_INSTANCE(htim->Instance)); + + /* Configure the Channel 5 in PWM mode */ + TIM_OC5_SetConfig(htim->Instance, sConfig); + + /* Set the Preload enable bit for channel5*/ + htim->Instance->CCMR3 |= TIM_CCMR3_OC5PE; + + /* Configure the Output Fast mode */ + htim->Instance->CCMR3 &= ~TIM_CCMR3_OC5FE; + htim->Instance->CCMR3 |= sConfig->OCFastMode; + } + break; + + case TIM_CHANNEL_6: + { + /* Check the parameters */ + assert_param(IS_TIM_CC6_INSTANCE(htim->Instance)); + + /* Configure the Channel 5 in PWM mode */ + TIM_OC6_SetConfig(htim->Instance, sConfig); + + /* Set the Preload enable bit for channel6 */ + htim->Instance->CCMR3 |= TIM_CCMR3_OC6PE; + + /* Configure the Output Fast mode */ + htim->Instance->CCMR3 &= ~TIM_CCMR3_OC6FE; + htim->Instance->CCMR3 |= sConfig->OCFastMode << 8; + } + break; + + default: + break; + } + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initialize the TIM One Pulse Channels according to the specified + * parameters in the TIM_OnePulse_InitTypeDef. + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sConfig: TIM One Pulse configuration structure. + * @param OutputChannel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @param InputChannel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_OnePulse_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OnePulse_InitTypeDef* sConfig, uint32_t OutputChannel, uint32_t InputChannel) +{ + TIM_OC_InitTypeDef temp1; + + /* Check the parameters */ + assert_param(IS_TIM_OPM_CHANNELS(OutputChannel)); + assert_param(IS_TIM_OPM_CHANNELS(InputChannel)); + + if(OutputChannel != InputChannel) + { + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Extract the Output compare configuration from sConfig structure */ + temp1.OCMode = sConfig->OCMode; + temp1.Pulse = sConfig->Pulse; + temp1.OCPolarity = sConfig->OCPolarity; + temp1.OCNPolarity = sConfig->OCNPolarity; + temp1.OCIdleState = sConfig->OCIdleState; + temp1.OCNIdleState = sConfig->OCNIdleState; + + switch (OutputChannel) + { + case TIM_CHANNEL_1: + { + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + + TIM_OC1_SetConfig(htim->Instance, &temp1); + } + break; + case TIM_CHANNEL_2: + { + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + TIM_OC2_SetConfig(htim->Instance, &temp1); + } + break; + default: + break; + } + switch (InputChannel) + { + case TIM_CHANNEL_1: + { + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + + TIM_TI1_SetConfig(htim->Instance, sConfig->ICPolarity, + sConfig->ICSelection, sConfig->ICFilter); + + /* Reset the IC1PSC Bits */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC; + + /* Select the Trigger source */ + htim->Instance->SMCR &= ~TIM_SMCR_TS; + htim->Instance->SMCR |= TIM_TS_TI1FP1; + + /* Select the Slave Mode */ + htim->Instance->SMCR &= ~TIM_SMCR_SMS; + htim->Instance->SMCR |= TIM_SLAVEMODE_TRIGGER; + } + break; + case TIM_CHANNEL_2: + { + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + TIM_TI2_SetConfig(htim->Instance, sConfig->ICPolarity, + sConfig->ICSelection, sConfig->ICFilter); + + /* Reset the IC2PSC Bits */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_IC2PSC; + + /* Select the Trigger source */ + htim->Instance->SMCR &= ~TIM_SMCR_TS; + htim->Instance->SMCR |= TIM_TS_TI2FP2; + + /* Select the Slave Mode */ + htim->Instance->SMCR &= ~TIM_SMCR_SMS; + htim->Instance->SMCR |= TIM_SLAVEMODE_TRIGGER; + } + break; + + default: + break; + } + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; + } + else + { + return HAL_ERROR; + } +} + +/** + * @brief Configure the DMA Burst to transfer Data from the memory to the TIM peripheral + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param BurstBaseAddress: TIM Base address from when the DMA will starts the Data write. + * This parameters can be on of the following values: + * @arg TIM_DMABASE_CR1 + * @arg TIM_DMABASE_CR2 + * @arg TIM_DMABASE_SMCR + * @arg TIM_DMABASE_DIER + * @arg TIM_DMABASE_SR + * @arg TIM_DMABASE_EGR + * @arg TIM_DMABASE_CCMR1 + * @arg TIM_DMABASE_CCMR2 + * @arg TIM_DMABASE_CCER + * @arg TIM_DMABASE_CNT + * @arg TIM_DMABASE_PSC + * @arg TIM_DMABASE_ARR + * @arg TIM_DMABASE_RCR + * @arg TIM_DMABASE_CCR1 + * @arg TIM_DMABASE_CCR2 + * @arg TIM_DMABASE_CCR3 + * @arg TIM_DMABASE_CCR4 + * @arg TIM_DMABASE_BDTR + * @arg TIM_DMABASE_DCR + * @param BurstRequestSrc: TIM DMA Request sources. + * This parameters can be on of the following values: + * @arg TIM_DMA_UPDATE: TIM update Interrupt source + * @arg TIM_DMA_CC1: TIM Capture Compare 1 DMA source + * @arg TIM_DMA_CC2: TIM Capture Compare 2 DMA source + * @arg TIM_DMA_CC3: TIM Capture Compare 3 DMA source + * @arg TIM_DMA_CC4: TIM Capture Compare 4 DMA source + * @arg TIM_DMA_COM: TIM Commutation DMA source + * @arg TIM_DMA_TRIGGER: TIM Trigger DMA source + * @param BurstBuffer: The Buffer address. + * @param BurstLength: DMA Burst length. This parameter can be one value + * between TIM_DMABURSTLENGTH_1TRANSFER and TIM_DMABURSTLENGTH_18TRANSFERS. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, + uint32_t* BurstBuffer, uint32_t BurstLength) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMABURST_INSTANCE(htim->Instance)); + assert_param(IS_TIM_DMA_BASE(BurstBaseAddress)); + assert_param(IS_TIM_DMA_SOURCE(BurstRequestSrc)); + assert_param(IS_TIM_DMA_LENGTH(BurstLength)); + + if(htim->State == HAL_TIM_STATE_BUSY) + { + return HAL_BUSY; + } + else if(htim->State == HAL_TIM_STATE_READY) + { + if((BurstBuffer == 0 ) && (BurstLength > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + switch(BurstRequestSrc) + { + case TIM_DMA_UPDATE: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_UPDATE]->XferCpltCallback = TIM_DMAPeriodElapsedCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_UPDATE]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_UPDATE], (uint32_t)BurstBuffer, (uint32_t)&htim->Instance->DMAR, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)BurstBuffer, (uint32_t)&htim->Instance->DMAR, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)BurstBuffer, (uint32_t)&htim->Instance->DMAR, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC3: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)BurstBuffer, (uint32_t)&htim->Instance->DMAR, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC4: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC4], (uint32_t)BurstBuffer, (uint32_t)&htim->Instance->DMAR, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_COM: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_COMMUTATION]->XferCpltCallback = HAL_TIMEx_DMACommutationCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_COMMUTATION]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_COMMUTATION], (uint32_t)BurstBuffer, (uint32_t)&htim->Instance->DMAR, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_TRIGGER: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_TRIGGER]->XferCpltCallback = TIM_DMATriggerCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_TRIGGER]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_TRIGGER], (uint32_t)BurstBuffer, (uint32_t)&htim->Instance->DMAR, ((BurstLength) >> 8) + 1); + } + break; + default: + break; + } + /* configure the DMA Burst Mode */ + htim->Instance->DCR = BurstBaseAddress | BurstLength; + + /* Enable the TIM DMA Request */ + __HAL_TIM_ENABLE_DMA(htim, BurstRequestSrc); + + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM DMA Burst mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param BurstRequestSrc: TIM DMA Request sources to disable + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMA_SOURCE(BurstRequestSrc)); + + /* Abort the DMA transfer (at least disable the DMA channel) */ + switch(BurstRequestSrc) + { + case TIM_DMA_UPDATE: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_UPDATE]); + } + break; + case TIM_DMA_CC1: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC1]); + } + break; + case TIM_DMA_CC2: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC2]); + } + break; + case TIM_DMA_CC3: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC3]); + } + break; + case TIM_DMA_CC4: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC4]); + } + break; + case TIM_DMA_COM: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_COMMUTATION]); + } + break; + case TIM_DMA_TRIGGER: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_TRIGGER]); + } + break; + default: + break; + } + + /* Disable the TIM Update DMA request */ + __HAL_TIM_DISABLE_DMA(htim, BurstRequestSrc); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Configure the DMA Burst to transfer Data from the TIM peripheral to the memory + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param BurstBaseAddress: TIM Base address from when the DMA will starts the Data read. + * This parameters can be on of the following values: + * @arg TIM_DMABASE_CR1 + * @arg TIM_DMABASE_CR2 + * @arg TIM_DMABASE_SMCR + * @arg TIM_DMABASE_DIER + * @arg TIM_DMABASE_SR + * @arg TIM_DMABASE_EGR + * @arg TIM_DMABASE_CCMR1 + * @arg TIM_DMABASE_CCMR2 + * @arg TIM_DMABASE_CCER + * @arg TIM_DMABASE_CNT + * @arg TIM_DMABASE_PSC + * @arg TIM_DMABASE_ARR + * @arg TIM_DMABASE_RCR + * @arg TIM_DMABASE_CCR1 + * @arg TIM_DMABASE_CCR2 + * @arg TIM_DMABASE_CCR3 + * @arg TIM_DMABASE_CCR4 + * @arg TIM_DMABASE_BDTR + * @arg TIM_DMABASE_DCR + * @param BurstRequestSrc: TIM DMA Request sources. + * This parameters can be on of the following values: + * @arg TIM_DMA_UPDATE: TIM update Interrupt source + * @arg TIM_DMA_CC1: TIM Capture Compare 1 DMA source + * @arg TIM_DMA_CC2: TIM Capture Compare 2 DMA source + * @arg TIM_DMA_CC3: TIM Capture Compare 3 DMA source + * @arg TIM_DMA_CC4: TIM Capture Compare 4 DMA source + * @arg TIM_DMA_COM: TIM Commutation DMA source + * @arg TIM_DMA_TRIGGER: TIM Trigger DMA source + * @param BurstBuffer: The Buffer address. + * @param BurstLength: DMA Burst length. This parameter can be one value + * between: TIM_DMABurstLength_1Transfer and TIM_DMABurstLength_18Transfers. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, + uint32_t *BurstBuffer, uint32_t BurstLength) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMABURST_INSTANCE(htim->Instance)); + assert_param(IS_TIM_DMA_BASE(BurstBaseAddress)); + assert_param(IS_TIM_DMA_SOURCE(BurstRequestSrc)); + assert_param(IS_TIM_DMA_LENGTH(BurstLength)); + + if((htim->State) == (HAL_TIM_STATE_BUSY)) + { + return HAL_BUSY; + } + else if((htim->State) == (HAL_TIM_STATE_READY)) + { + if((BurstBuffer == 0 ) && (BurstLength > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + switch(BurstRequestSrc) + { + case TIM_DMA_UPDATE: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_UPDATE]->XferCpltCallback = TIM_DMAPeriodElapsedCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_UPDATE]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_UPDATE], (uint32_t)&htim->Instance->DMAR, (uint32_t)BurstBuffer, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)&htim->Instance->DMAR, (uint32_t)BurstBuffer, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)&htim->Instance->DMAR, (uint32_t)BurstBuffer, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC3: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)&htim->Instance->DMAR, (uint32_t)BurstBuffer, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_CC4: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC4]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC4], (uint32_t)&htim->Instance->DMAR, (uint32_t)BurstBuffer, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_COM: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_COMMUTATION]->XferCpltCallback = HAL_TIMEx_DMACommutationCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_COMMUTATION]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_COMMUTATION], (uint32_t)&htim->Instance->DMAR, (uint32_t)BurstBuffer, ((BurstLength) >> 8) + 1); + } + break; + case TIM_DMA_TRIGGER: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_TRIGGER]->XferCpltCallback = TIM_DMATriggerCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_TRIGGER]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable t he DMA Stream */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_TRIGGER], (uint32_t)&htim->Instance->DMAR, (uint32_t)BurstBuffer, ((BurstLength) >> 8) + 1); + } + break; + default: + break; + } + + /* configure the DMA Burst Mode */ + htim->Instance->DCR = BurstBaseAddress | BurstLength; + + /* Enable the TIM DMA Request */ + __HAL_TIM_ENABLE_DMA(htim, BurstRequestSrc); + + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stop the DMA burst reading + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param BurstRequestSrc: TIM DMA Request sources to disable. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc) +{ + /* Check the parameters */ + assert_param(IS_TIM_DMA_SOURCE(BurstRequestSrc)); + + /* Abort the DMA transfer (at least disable the DMA channel) */ + switch(BurstRequestSrc) + { + case TIM_DMA_UPDATE: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_UPDATE]); + } + break; + case TIM_DMA_CC1: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC1]); + } + break; + case TIM_DMA_CC2: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC2]); + } + break; + case TIM_DMA_CC3: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC3]); + } + break; + case TIM_DMA_CC4: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_CC4]); + } + break; + case TIM_DMA_COM: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_COMMUTATION]); + } + break; + case TIM_DMA_TRIGGER: + { + HAL_DMA_Abort(htim->hdma[TIM_DMA_ID_TRIGGER]); + } + break; + default: + break; + } + + /* Disable the TIM Update DMA request */ + __HAL_TIM_DISABLE_DMA(htim, BurstRequestSrc); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Generate a software event + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param EventSource: specifies the event source. + * This parameter can be one of the following values: + * @arg TIM_EVENTSOURCE_UPDATE: Timer update Event source + * @arg TIM_EVENTSOURCE_CC1: TIM Capture Compare 1 Event source + * @arg TIM_EVENTSOURCE_CC2: TIM Capture Compare 2 Event source + * @arg TIM_EVENTSOURCE_CC3: TIM Capture Compare 3 Event source + * @arg TIM_EVENTSOURCE_CC4: TIM Capture Compare 4 Event source + * @arg TIM_EVENTSOURCE_COM: TIM COM event source + * @arg TIM_EVENTSOURCE_TRIGGER: TIM Trigger Event source + * @arg TIM_EVENTSOURCE_BREAK: TIM Break event source + * @arg TIM_EVENTSOURCE_BREAK2: TIM Break2 event source + * @note TIM6 and TIM7 can only generate an update event. + * @note TIM_EVENTSOURCE_COM, TIM_EVENTSOURCE_BREAK and TIM_EVENTSOURCE_BREAK2 are used only with TIM1 and TIM8. + * @retval HAL status + */ + +HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + assert_param(IS_TIM_EVENT_SOURCE(EventSource)); + + /* Process Locked */ + __HAL_LOCK(htim); + + /* Change the TIM state */ + htim->State = HAL_TIM_STATE_BUSY; + + /* Set the event sources */ + htim->Instance->EGR = EventSource; + + /* Change the TIM state */ + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Configures the OCRef clear feature + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sClearInputConfig: pointer to a TIM_ClearInputConfigTypeDef structure that + * contains the OCREF clear feature and parameters for the TIM peripheral. + * @param Channel: specifies the TIM Channel. + * This parameter can be one of the following values: + * @arg TIM_Channel_1: TIM Channel 1 + * @arg TIM_Channel_2: TIM Channel 2 + * @arg TIM_Channel_3: TIM Channel 3 + * @arg TIM_Channel_4: TIM Channel 4 + * @arg TIM_Channel_5: TIM Channel 5 + * @arg TIM_Channel_6: TIM Channel 6 + * @retval None + */ +HAL_StatusTypeDef HAL_TIM_ConfigOCrefClear(TIM_HandleTypeDef *htim, + TIM_ClearInputConfigTypeDef *sClearInputConfig, + uint32_t Channel) +{ + uint32_t tmpsmcr = 0; + + /* Check the parameters */ + assert_param(IS_TIM_OCXREF_CLEAR_INSTANCE(htim->Instance)); + assert_param(IS_TIM_CLEARINPUT_SOURCE(sClearInputConfig->ClearInputSource)); + + /* Process Locked */ + __HAL_LOCK(htim); + + switch (sClearInputConfig->ClearInputSource) + { + case TIM_CLEARINPUTSOURCE_NONE: + { + /* Get the TIMx SMCR register value */ + tmpsmcr = htim->Instance->SMCR; + + /* Clear the ETR Bits */ + tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); + + /* Set TIMx_SMCR */ + htim->Instance->SMCR = tmpsmcr; + } + break; + + case TIM_CLEARINPUTSOURCE_ETR: + { + /* Check the parameters */ + assert_param(IS_TIM_CLEARINPUT_POLARITY(sClearInputConfig->ClearInputPolarity)); + assert_param(IS_TIM_CLEARINPUT_PRESCALER(sClearInputConfig->ClearInputPrescaler)); + assert_param(IS_TIM_CLEARINPUT_FILTER(sClearInputConfig->ClearInputFilter)); + + TIM_ETR_SetConfig(htim->Instance, + sClearInputConfig->ClearInputPrescaler, + sClearInputConfig->ClearInputPolarity, + sClearInputConfig->ClearInputFilter); + + } + break; + + default: + break; + } + + switch (Channel) + { + case TIM_CHANNEL_1: + { + if(sClearInputConfig->ClearInputState != RESET) + { + /* Enable the OCREF clear feature for Channel 1 */ + htim->Instance->CCMR1 |= TIM_CCMR1_OC1CE; + } + else + { + /* Disable the OCREF clear feature for Channel 1 */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_OC1CE; + } + } + break; + case TIM_CHANNEL_2: + { + if(sClearInputConfig->ClearInputState != RESET) + { + /* Enable the OCREF clear feature for Channel 2 */ + htim->Instance->CCMR1 |= TIM_CCMR1_OC2CE; + } + else + { + /* Disable the OCREF clear feature for Channel 2 */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_OC2CE; + } + } + break; + case TIM_CHANNEL_3: + { + if(sClearInputConfig->ClearInputState != RESET) + { + /* Enable the OCREF clear feature for Channel 3 */ + htim->Instance->CCMR2 |= TIM_CCMR2_OC3CE; + } + else + { + /* Disable the OCREF clear feature for Channel 3 */ + htim->Instance->CCMR2 &= ~TIM_CCMR2_OC3CE; + } + } + break; + case TIM_CHANNEL_4: + { + if(sClearInputConfig->ClearInputState != RESET) + { + /* Enable the OCREF clear feature for Channel 4 */ + htim->Instance->CCMR2 |= TIM_CCMR2_OC4CE; + } + else + { + /* Disable the OCREF clear feature for Channel 4 */ + htim->Instance->CCMR2 &= ~TIM_CCMR2_OC4CE; + } + } + break; + case TIM_CHANNEL_5: + { + if(sClearInputConfig->ClearInputState != RESET) + { + /* Enable the OCREF clear feature for Channel 1 */ + htim->Instance->CCMR3 |= TIM_CCMR3_OC5CE; + } + else + { + /* Disable the OCREF clear feature for Channel 1 */ + htim->Instance->CCMR3 &= ~TIM_CCMR3_OC5CE; + } + } + break; + case TIM_CHANNEL_6: + { + if(sClearInputConfig->ClearInputState != RESET) + { + /* Enable the OCREF clear feature for Channel 1 */ + htim->Instance->CCMR3 |= TIM_CCMR3_OC6CE; + } + else + { + /* Disable the OCREF clear feature for Channel 1 */ + htim->Instance->CCMR3 &= ~TIM_CCMR3_OC6CE; + } + } + break; + default: + break; + } + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configures the clock source to be used + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sClockSourceConfig: pointer to a TIM_ClockConfigTypeDef structure that + * contains the clock source information for the TIM peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef * sClockSourceConfig) +{ + uint32_t tmpsmcr = 0; + + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Check the parameters */ + assert_param(IS_TIM_CLOCKSOURCE(sClockSourceConfig->ClockSource)); + + /* Reset the SMS, TS, ECE, ETPS and ETRF bits */ + tmpsmcr = htim->Instance->SMCR; + tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); + tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); + htim->Instance->SMCR = tmpsmcr; + + switch (sClockSourceConfig->ClockSource) + { + case TIM_CLOCKSOURCE_INTERNAL: + { + assert_param(IS_TIM_INSTANCE(htim->Instance)); + /* Disable slave mode to clock the prescaler directly with the internal clock */ + htim->Instance->SMCR &= ~TIM_SMCR_SMS; + } + break; + + case TIM_CLOCKSOURCE_ETRMODE1: + { + /* Check whether or not the timer instance supports external trigger input mode 1 (ETRF)*/ + assert_param(IS_TIM_CLOCKSOURCE_ETRMODE1_INSTANCE(htim->Instance)); + + /* Check ETR input conditioning related parameters */ + assert_param(IS_TIM_CLOCKPRESCALER(sClockSourceConfig->ClockPrescaler)); + assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); + assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); + + /* Configure the ETR Clock source */ + TIM_ETR_SetConfig(htim->Instance, + sClockSourceConfig->ClockPrescaler, + sClockSourceConfig->ClockPolarity, + sClockSourceConfig->ClockFilter); + /* Get the TIMx SMCR register value */ + tmpsmcr = htim->Instance->SMCR; + /* Reset the SMS and TS Bits */ + tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); + /* Select the External clock mode1 and the ETRF trigger */ + tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1); + /* Write to TIMx SMCR */ + htim->Instance->SMCR = tmpsmcr; + } + break; + + case TIM_CLOCKSOURCE_ETRMODE2: + { + /* Check whether or not the timer instance supports external trigger input mode 2 (ETRF)*/ + assert_param(IS_TIM_CLOCKSOURCE_ETRMODE2_INSTANCE(htim->Instance)); + /* Check ETR input conditioning related parameters */ + assert_param(IS_TIM_CLOCKPRESCALER(sClockSourceConfig->ClockPrescaler)); + assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); + assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); + + /* Configure the ETR Clock source */ + TIM_ETR_SetConfig(htim->Instance, + sClockSourceConfig->ClockPrescaler, + sClockSourceConfig->ClockPolarity, + sClockSourceConfig->ClockFilter); + /* Enable the External clock mode2 */ + htim->Instance->SMCR |= TIM_SMCR_ECE; + } + break; + + case TIM_CLOCKSOURCE_TI1: + { + /* Check whether or not the timer instance supports external clock mode 1 */ + assert_param(IS_TIM_CLOCKSOURCE_TIX_INSTANCE(htim->Instance)); + + /* Check TI1 input conditioning related parameters */ + assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); + assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); + + TIM_TI1_ConfigInputStage(htim->Instance, + sClockSourceConfig->ClockPolarity, + sClockSourceConfig->ClockFilter); + TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1); + } + break; + case TIM_CLOCKSOURCE_TI2: + { + /* Check whether or not the timer instance supports external clock mode 1 (ETRF)*/ + assert_param(IS_TIM_CLOCKSOURCE_TIX_INSTANCE(htim->Instance)); + + /* Check TI2 input conditioning related parameters */ + assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); + assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); + + TIM_TI2_ConfigInputStage(htim->Instance, + sClockSourceConfig->ClockPolarity, + sClockSourceConfig->ClockFilter); + TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2); + } + break; + case TIM_CLOCKSOURCE_TI1ED: + { + /* Check whether or not the timer instance supports external clock mode 1 */ + assert_param(IS_TIM_CLOCKSOURCE_TIX_INSTANCE(htim->Instance)); + + /* Check TI1 input conditioning related parameters */ + assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); + assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); + + TIM_TI1_ConfigInputStage(htim->Instance, + sClockSourceConfig->ClockPolarity, + sClockSourceConfig->ClockFilter); + TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED); + } + break; + case TIM_CLOCKSOURCE_ITR0: + { + /* Check whether or not the timer instance supports internal trigger input */ + assert_param(IS_TIM_CLOCKSOURCE_ITRX_INSTANCE(htim->Instance)); + + TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_ITR0); + } + break; + case TIM_CLOCKSOURCE_ITR1: + { + /* Check whether or not the timer instance supports internal trigger input */ + assert_param(IS_TIM_CLOCKSOURCE_ITRX_INSTANCE(htim->Instance)); + + TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_ITR1); + } + break; + case TIM_CLOCKSOURCE_ITR2: + { + /* Check whether or not the timer instance supports internal trigger input */ + assert_param(IS_TIM_CLOCKSOURCE_ITRX_INSTANCE(htim->Instance)); + + TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_ITR2); + } + break; + case TIM_CLOCKSOURCE_ITR3: + { + /* Check whether or not the timer instance supports internal trigger input */ + assert_param(IS_TIM_CLOCKSOURCE_ITRX_INSTANCE(htim->Instance)); + + TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_ITR3); + } + break; + + default: + break; + } + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Selects the signal connected to the TI1 input: direct from CH1_input + * or a XOR combination between CH1_input, CH2_input & CH3_input + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param TI1_Selection: Indicate whether or not channel 1 is connected to the + * output of a XOR gate. + * This parameter can be one of the following values: + * @arg TIM_TI1SELECTION_CH1: The TIMx_CH1 pin is connected to TI1 input + * @arg TIM_TI1SELECTION_XORCOMBINATION: The TIMx_CH1, CH2 and CH3 + * pins are connected to the TI1 input (XOR combination) + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_ConfigTI1Input(TIM_HandleTypeDef *htim, uint32_t TI1_Selection) +{ + uint32_t tmpcr2 = 0; + + /* Check the parameters */ + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + assert_param(IS_TIM_TI1SELECTION(TI1_Selection)); + + /* Get the TIMx CR2 register value */ + tmpcr2 = htim->Instance->CR2; + + /* Reset the TI1 selection */ + tmpcr2 &= ~TIM_CR2_TI1S; + + /* Set the TI1 selection */ + tmpcr2 |= TI1_Selection; + + /* Write to TIMxCR2 */ + htim->Instance->CR2 = tmpcr2; + + return HAL_OK; +} + +/** + * @brief Configures the TIM in Slave mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sSlaveConfig: pointer to a TIM_SlaveConfigTypeDef structure that + * contains the selected trigger (internal trigger input, filtered + * timer input or external trigger input) and the Slave mode + * (Disable, Reset, Gated, Trigger, External clock mode 1). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchronization(TIM_HandleTypeDef *htim, TIM_SlaveConfigTypeDef * sSlaveConfig) +{ + /* Check the parameters */ + assert_param(IS_TIM_SLAVE_INSTANCE(htim->Instance)); + assert_param(IS_TIM_SLAVE_MODE(sSlaveConfig->SlaveMode)); + assert_param(IS_TIM_TRIGGER_SELECTION(sSlaveConfig->InputTrigger)); + + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + TIM_SlaveTimer_SetConfig(htim, sSlaveConfig); + + /* Disable Trigger Interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_TRIGGER); + + /* Disable Trigger DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_TRIGGER); + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configures the TIM in Slave mode in interrupt mode + * @param htim: TIM handle. + * @param sSlaveConfig: pointer to a TIM_SlaveConfigTypeDef structure that + * contains the selected trigger (internal trigger input, filtered + * timer input or external trigger input) and the Slave mode + * (Disable, Reset, Gated, Trigger, External clock mode 1). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchronization_IT(TIM_HandleTypeDef *htim, + TIM_SlaveConfigTypeDef * sSlaveConfig) +{ + /* Check the parameters */ + assert_param(IS_TIM_SLAVE_INSTANCE(htim->Instance)); + assert_param(IS_TIM_SLAVE_MODE(sSlaveConfig->SlaveMode)); + assert_param(IS_TIM_TRIGGER_SELECTION(sSlaveConfig->InputTrigger)); + + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + TIM_SlaveTimer_SetConfig(htim, sSlaveConfig); + + /* Enable Trigger Interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_TRIGGER); + + /* Disable Trigger DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_TRIGGER); + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} +/** + * @brief Read the captured value from Capture Compare unit + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param Channel : TIM Channels to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval Captured value + */ +uint32_t HAL_TIM_ReadCapturedValue(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + uint32_t tmpreg = 0; + + __HAL_LOCK(htim); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Check the parameters */ + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + + /* Return the capture 1 value */ + tmpreg = htim->Instance->CCR1; + + break; + } + case TIM_CHANNEL_2: + { + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + + /* Return the capture 2 value */ + tmpreg = htim->Instance->CCR2; + + break; + } + + case TIM_CHANNEL_3: + { + /* Check the parameters */ + assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); + + /* Return the capture 3 value */ + tmpreg = htim->Instance->CCR3; + + break; + } + + case TIM_CHANNEL_4: + { + /* Check the parameters */ + assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); + + /* Return the capture 4 value */ + tmpreg = htim->Instance->CCR4; + + break; + } + + default: + break; + } + + __HAL_UNLOCK(htim); + return tmpreg; +} + +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group9 TIM Callbacks functions + * @brief TIM Callbacks functions + * +@verbatim + ============================================================================== + ##### TIM Callbacks functions ##### + ============================================================================== + [..] + This section provides TIM callback functions: + (+) TIM Period elapsed callback + (+) TIM Output Compare callback + (+) TIM Input capture callback + (+) TIM Trigger callback + (+) TIM Error callback + +@endverbatim + * @{ + */ + +/** + * @brief Period elapsed callback in non blocking mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the __HAL_TIM_PeriodElapsedCallback could be implemented in the user file + */ + +} +/** + * @brief Output Compare callback in non blocking mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the __HAL_TIM_OC_DelayElapsedCallback could be implemented in the user file + */ +} +/** + * @brief Input Capture callback in non blocking mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the __HAL_TIM_IC_CaptureCallback could be implemented in the user file + */ +} + +/** + * @brief PWM Pulse finished callback in non blocking mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the __HAL_TIM_PWM_PulseFinishedCallback could be implemented in the user file + */ +} + +/** + * @brief Hall Trigger detection callback in non blocking mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_TriggerCallback could be implemented in the user file + */ +} + +/** + * @brief TIM error callback in non blocking mode + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval None + */ +__weak void HAL_TIM_ErrorCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIM_ErrorCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup TIM_Exported_Functions_Group10 Peripheral State functions + * @brief Peripheral State functions + * +@verbatim + ============================================================================== + ##### Peripheral State functions ##### + ============================================================================== + [..] + This subsection permits to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the TIM Base handle state + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL state + */ +HAL_TIM_StateTypeDef HAL_TIM_Base_GetState(TIM_HandleTypeDef *htim) +{ + return htim->State; +} + +/** + * @brief Return the TIM Output Compare handle state + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL state + */ +HAL_TIM_StateTypeDef HAL_TIM_OC_GetState(TIM_HandleTypeDef *htim) +{ + return htim->State; +} + +/** + * @brief Return the TIM PWM handle state + * @param htim: TIM handle + * @retval HAL state + */ +HAL_TIM_StateTypeDef HAL_TIM_PWM_GetState(TIM_HandleTypeDef *htim) +{ + return htim->State; +} + +/** + * @brief Return the TIM Input Capture handle state + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL state + */ +HAL_TIM_StateTypeDef HAL_TIM_IC_GetState(TIM_HandleTypeDef *htim) +{ + return htim->State; +} + +/** + * @brief Return the TIM One Pulse Mode handle state + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL state + */ +HAL_TIM_StateTypeDef HAL_TIM_OnePulse_GetState(TIM_HandleTypeDef *htim) +{ + return htim->State; +} + +/** + * @brief Return the TIM Encoder Mode state + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @retval HAL state + */ +HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(TIM_HandleTypeDef *htim) +{ + return htim->State; +} + +/** + * @} + */ + +/** + * @brief TIM DMA error callback + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +void HAL_TIM_DMAError(DMA_HandleTypeDef *hdma) +{ + TIM_HandleTypeDef* htim = ( TIM_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + htim->State= HAL_TIM_STATE_READY; + + HAL_TIM_ErrorCallback(htim); +} + +/** + * @brief TIM DMA Delay Pulse complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +void HAL_TIM_DMADelayPulseCplt(DMA_HandleTypeDef *hdma) +{ + TIM_HandleTypeDef* htim = ( TIM_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + htim->State= HAL_TIM_STATE_READY; + + if (hdma == htim->hdma[TIM_DMA_ID_CC1]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; + } + else if (hdma == htim->hdma[TIM_DMA_ID_CC2]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; + } + else if (hdma == htim->hdma[TIM_DMA_ID_CC3]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; + } + else if (hdma == htim->hdma[TIM_DMA_ID_CC4]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; + } + + HAL_TIM_PWM_PulseFinishedCallback(htim); + + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; +} +/** + * @brief TIM DMA Capture complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +void HAL_TIM_DMACaptureCplt(DMA_HandleTypeDef *hdma) +{ + TIM_HandleTypeDef* htim = ( TIM_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + htim->State= HAL_TIM_STATE_READY; + + if (hdma == htim->hdma[TIM_DMA_ID_CC1]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; + } + else if (hdma == htim->hdma[TIM_DMA_ID_CC2]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; + } + else if (hdma == htim->hdma[TIM_DMA_ID_CC3]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; + } + else if (hdma == htim->hdma[TIM_DMA_ID_CC4]) + { + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; + } + + HAL_TIM_IC_CaptureCallback(htim); + + htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; +} + +/** + * @brief TIM DMA Period Elapse complete callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void TIM_DMAPeriodElapsedCplt(DMA_HandleTypeDef *hdma) +{ + TIM_HandleTypeDef* htim = ( TIM_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + htim->State= HAL_TIM_STATE_READY; + + HAL_TIM_PeriodElapsedCallback(htim); +} + +/** + * @brief TIM DMA Trigger callback. + * @param hdma: pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA module. + * @retval None + */ +static void TIM_DMATriggerCplt(DMA_HandleTypeDef *hdma) +{ + TIM_HandleTypeDef* htim = ( TIM_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + htim->State= HAL_TIM_STATE_READY; + + HAL_TIM_TriggerCallback(htim); +} + +/** + * @brief Time Base configuration + * @param TIMx: TIM periheral + * @param Structure: TIM Base configuration structure + * @retval None + */ +void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure) +{ + uint32_t tmpcr1 = 0; + tmpcr1 = TIMx->CR1; + + /* Set TIM Time Base Unit parameters ---------------------------------------*/ + if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) + { + /* Select the Counter Mode */ + tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); + tmpcr1 |= Structure->CounterMode; + } + + if(IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) + { + /* Set the clock division */ + tmpcr1 &= ~TIM_CR1_CKD; + tmpcr1 |= (uint32_t)Structure->ClockDivision; + } + + /* Set the auto-reload preload */ + MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); + TIMx->CR1 = tmpcr1; + + /* Set the Autoreload value */ + TIMx->ARR = (uint32_t)Structure->Period ; + + /* Set the Prescaler value */ + TIMx->PSC = (uint32_t)Structure->Prescaler; + + if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) + { + /* Set the Repetition Counter value */ + TIMx->RCR = Structure->RepetitionCounter; + } + + /* Generate an update event to reload the Prescaler + and the repetition counter(only for TIM1 and TIM8) value immediatly */ + TIMx->EGR = TIM_EGR_UG; +} + +/** + * @brief TIM Output Compare 1 configuration + * @param TIMx to select the TIM peripheral + * @param OC_Config: The Output configuration structure + * @retval None + */ +void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) +{ + uint32_t tmpccmrx = 0; + uint32_t tmpccer = 0; + uint32_t tmpcr2 = 0; + + /* Disable the Channel 1: Reset the CC1E Bit */ + TIMx->CCER &= ~TIM_CCER_CC1E; + + /* Get the TIMx CCER register value */ + tmpccer = TIMx->CCER; + /* Get the TIMx CR2 register value */ + tmpcr2 = TIMx->CR2; + + /* Get the TIMx CCMR1 register value */ + tmpccmrx = TIMx->CCMR1; + + /* Reset the Output Compare Mode Bits */ + tmpccmrx &= ~TIM_CCMR1_OC1M; + tmpccmrx &= ~TIM_CCMR1_CC1S; + /* Select the Output Compare Mode */ + tmpccmrx |= OC_Config->OCMode; + + /* Reset the Output Polarity level */ + tmpccer &= ~TIM_CCER_CC1P; + /* Set the Output Compare Polarity */ + tmpccer |= OC_Config->OCPolarity; + + if(IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_1)) + { + /* Check parameters */ + assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); + + /* Reset the Output N Polarity level */ + tmpccer &= ~TIM_CCER_CC1NP; + /* Set the Output N Polarity */ + tmpccer |= OC_Config->OCNPolarity; + /* Reset the Output N State */ + tmpccer &= ~TIM_CCER_CC1NE; + } + + if(IS_TIM_BREAK_INSTANCE(TIMx)) + { + /* Check parameters */ + assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); + assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); + + /* Reset the Output Compare and Output Compare N IDLE State */ + tmpcr2 &= ~TIM_CR2_OIS1; + tmpcr2 &= ~TIM_CR2_OIS1N; + /* Set the Output Idle state */ + tmpcr2 |= OC_Config->OCIdleState; + /* Set the Output N Idle state */ + tmpcr2 |= OC_Config->OCNIdleState; + } + /* Write to TIMx CR2 */ + TIMx->CR2 = tmpcr2; + + /* Write to TIMx CCMR1 */ + TIMx->CCMR1 = tmpccmrx; + + /* Set the Capture Compare Register value */ + TIMx->CCR1 = OC_Config->Pulse; + + /* Write to TIMx CCER */ + TIMx->CCER = tmpccer; +} + +/** + * @brief TIM Output Compare 2 configuration + * @param TIMx to select the TIM peripheral + * @param OC_Config: The Output configuration structure + * @retval None + */ +void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) +{ + uint32_t tmpccmrx = 0; + uint32_t tmpccer = 0; + uint32_t tmpcr2 = 0; + + /* Disable the Channel 2: Reset the CC2E Bit */ + TIMx->CCER &= ~TIM_CCER_CC2E; + + /* Get the TIMx CCER register value */ + tmpccer = TIMx->CCER; + /* Get the TIMx CR2 register value */ + tmpcr2 = TIMx->CR2; + + /* Get the TIMx CCMR1 register value */ + tmpccmrx = TIMx->CCMR1; + + /* Reset the Output Compare mode and Capture/Compare selection Bits */ + tmpccmrx &= ~TIM_CCMR1_OC2M; + tmpccmrx &= ~TIM_CCMR1_CC2S; + + /* Select the Output Compare Mode */ + tmpccmrx |= (OC_Config->OCMode << 8); + + /* Reset the Output Polarity level */ + tmpccer &= ~TIM_CCER_CC2P; + /* Set the Output Compare Polarity */ + tmpccer |= (OC_Config->OCPolarity << 4); + + if(IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_2)) + { + assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); + assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); + + /* Reset the Output N Polarity level */ + tmpccer &= ~TIM_CCER_CC2NP; + /* Set the Output N Polarity */ + tmpccer |= (OC_Config->OCNPolarity << 4); + /* Reset the Output N State */ + tmpccer &= ~TIM_CCER_CC2NE; + + } + + if(IS_TIM_BREAK_INSTANCE(TIMx)) + { + /* Check parameters */ + assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); + assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); + + /* Reset the Output Compare and Output Compare N IDLE State */ + tmpcr2 &= ~TIM_CR2_OIS2; + tmpcr2 &= ~TIM_CR2_OIS2N; + /* Set the Output Idle state */ + tmpcr2 |= (OC_Config->OCIdleState << 2); + /* Set the Output N Idle state */ + tmpcr2 |= (OC_Config->OCNIdleState << 2); + } + + /* Write to TIMx CR2 */ + TIMx->CR2 = tmpcr2; + + /* Write to TIMx CCMR1 */ + TIMx->CCMR1 = tmpccmrx; + + /* Set the Capture Compare Register value */ + TIMx->CCR2 = OC_Config->Pulse; + + /* Write to TIMx CCER */ + TIMx->CCER = tmpccer; +} + +/** + * @brief TIM Output Compare 3 configuration + * @param TIMx to select the TIM peripheral + * @param OC_Config: The output configuration structure + * @retval None + */ +void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) +{ + uint32_t tmpccmrx = 0; + uint32_t tmpccer = 0; + uint32_t tmpcr2 = 0; + + /* Disable the Channel 3: Reset the CC2E Bit */ + TIMx->CCER &= ~TIM_CCER_CC3E; + + /* Get the TIMx CCER register value */ + tmpccer = TIMx->CCER; + /* Get the TIMx CR2 register value */ + tmpcr2 = TIMx->CR2; + + /* Get the TIMx CCMR2 register value */ + tmpccmrx = TIMx->CCMR2; + + /* Reset the Output Compare mode and Capture/Compare selection Bits */ + tmpccmrx &= ~TIM_CCMR2_OC3M; + tmpccmrx &= ~TIM_CCMR2_CC3S; + /* Select the Output Compare Mode */ + tmpccmrx |= OC_Config->OCMode; + + /* Reset the Output Polarity level */ + tmpccer &= ~TIM_CCER_CC3P; + /* Set the Output Compare Polarity */ + tmpccer |= (OC_Config->OCPolarity << 8); + + if(IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_3)) + { + assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); + assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); + + /* Reset the Output N Polarity level */ + tmpccer &= ~TIM_CCER_CC3NP; + /* Set the Output N Polarity */ + tmpccer |= (OC_Config->OCNPolarity << 8); + /* Reset the Output N State */ + tmpccer &= ~TIM_CCER_CC3NE; + } + + if(IS_TIM_BREAK_INSTANCE(TIMx)) + { + /* Check parameters */ + assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); + assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); + + /* Reset the Output Compare and Output Compare N IDLE State */ + tmpcr2 &= ~TIM_CR2_OIS3; + tmpcr2 &= ~TIM_CR2_OIS3N; + /* Set the Output Idle state */ + tmpcr2 |= (OC_Config->OCIdleState << 4); + /* Set the Output N Idle state */ + tmpcr2 |= (OC_Config->OCNIdleState << 4); + } + + /* Write to TIMx CR2 */ + TIMx->CR2 = tmpcr2; + + /* Write to TIMx CCMR2 */ + TIMx->CCMR2 = tmpccmrx; + + /* Set the Capture Compare Register value */ + TIMx->CCR3 = OC_Config->Pulse; + + /* Write to TIMx CCER */ + TIMx->CCER = tmpccer; +} + +/** + * @brief TIM Output Compare 4 configuration + * @param TIMx to select the TIM peripheral + * @param OC_Config: The Output configuration structure + * @retval None + */ +void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) +{ + uint32_t tmpccmrx = 0; + uint32_t tmpccer = 0; + uint32_t tmpcr2 = 0; + + /* Disable the Channel 4: Reset the CC4E Bit */ + TIMx->CCER &= ~TIM_CCER_CC4E; + + /* Get the TIMx CCER register value */ + tmpccer = TIMx->CCER; + /* Get the TIMx CR2 register value */ + tmpcr2 = TIMx->CR2; + + /* Get the TIMx CCMR2 register value */ + tmpccmrx = TIMx->CCMR2; + + /* Reset the Output Compare mode and Capture/Compare selection Bits */ + tmpccmrx &= ~TIM_CCMR2_OC4M; + tmpccmrx &= ~TIM_CCMR2_CC4S; + + /* Select the Output Compare Mode */ + tmpccmrx |= (OC_Config->OCMode << 8); + + /* Reset the Output Polarity level */ + tmpccer &= ~TIM_CCER_CC4P; + /* Set the Output Compare Polarity */ + tmpccer |= (OC_Config->OCPolarity << 12); + + if(IS_TIM_BREAK_INSTANCE(TIMx)) + { + assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); + + /* Reset the Output Compare IDLE State */ + tmpcr2 &= ~TIM_CR2_OIS4; + /* Set the Output Idle state */ + tmpcr2 |= (OC_Config->OCIdleState << 6); + } + + /* Write to TIMx CR2 */ + TIMx->CR2 = tmpcr2; + + /* Write to TIMx CCMR2 */ + TIMx->CCMR2 = tmpccmrx; + + /* Set the Capture Compare Register value */ + TIMx->CCR4 = OC_Config->Pulse; + + /* Write to TIMx CCER */ + TIMx->CCER = tmpccer; +} + +/** + * @brief TIM Output Compare 5 configuration + * @param TIMx to select the TIM peripheral + * @param OC_Config: The Output configuration structure + * @retval None + */ +static void TIM_OC5_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) +{ + uint32_t tmpccmrx = 0; + uint32_t tmpccer = 0; + uint32_t tmpcr2 = 0; + + /* Disable the output: Reset the CCxE Bit */ + TIMx->CCER &= ~TIM_CCER_CC5E; + + /* Get the TIMx CCER register value */ + tmpccer = TIMx->CCER; + /* Get the TIMx CR2 register value */ + tmpcr2 = TIMx->CR2; + /* Get the TIMx CCMR1 register value */ + tmpccmrx = TIMx->CCMR3; + + /* Reset the Output Compare Mode Bits */ + tmpccmrx &= ~(TIM_CCMR3_OC5M); + /* Select the Output Compare Mode */ + tmpccmrx |= OC_Config->OCMode; + + /* Reset the Output Polarity level */ + tmpccer &= ~TIM_CCER_CC5P; + /* Set the Output Compare Polarity */ + tmpccer |= (OC_Config->OCPolarity << 16); + + if(IS_TIM_BREAK_INSTANCE(TIMx)) + { + /* Reset the Output Compare IDLE State */ + tmpcr2 &= ~TIM_CR2_OIS5; + /* Set the Output Idle state */ + tmpcr2 |= (OC_Config->OCIdleState << 8); + } + /* Write to TIMx CR2 */ + TIMx->CR2 = tmpcr2; + + /* Write to TIMx CCMR3 */ + TIMx->CCMR3 = tmpccmrx; + + /* Set the Capture Compare Register value */ + TIMx->CCR5 = OC_Config->Pulse; + + /* Write to TIMx CCER */ + TIMx->CCER = tmpccer; +} + +/** + * @brief TIM Output Compare 6 configuration + * @param TIMx to select the TIM peripheral + * @param OC_Config: The Output configuration structure + * @retval None + */ +static void TIM_OC6_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) +{ + uint32_t tmpccmrx = 0; + uint32_t tmpccer = 0; + uint32_t tmpcr2 = 0; + + /* Disable the output: Reset the CCxE Bit */ + TIMx->CCER &= ~TIM_CCER_CC6E; + + /* Get the TIMx CCER register value */ + tmpccer = TIMx->CCER; + /* Get the TIMx CR2 register value */ + tmpcr2 = TIMx->CR2; + /* Get the TIMx CCMR1 register value */ + tmpccmrx = TIMx->CCMR3; + + /* Reset the Output Compare Mode Bits */ + tmpccmrx &= ~(TIM_CCMR3_OC6M); + /* Select the Output Compare Mode */ + tmpccmrx |= (OC_Config->OCMode << 8); + + /* Reset the Output Polarity level */ + tmpccer &= (uint32_t)~TIM_CCER_CC6P; + /* Set the Output Compare Polarity */ + tmpccer |= (OC_Config->OCPolarity << 20); + + if(IS_TIM_BREAK_INSTANCE(TIMx)) + { + /* Reset the Output Compare IDLE State */ + tmpcr2 &= ~TIM_CR2_OIS6; + /* Set the Output Idle state */ + tmpcr2 |= (OC_Config->OCIdleState << 10); + } + + /* Write to TIMx CR2 */ + TIMx->CR2 = tmpcr2; + + /* Write to TIMx CCMR3 */ + TIMx->CCMR3 = tmpccmrx; + + /* Set the Capture Compare Register value */ + TIMx->CCR6 = OC_Config->Pulse; + + /* Write to TIMx CCER */ + TIMx->CCER = tmpccer; +} + +/** + * @brief TIM Slave mode configuration + * @param htim: pointer to a TIM_HandleTypeDef structure that contains + * the configuration information for TIM module. + * @param sSlaveConfig: The slave configuration structure + * @retval None + */ +static void TIM_SlaveTimer_SetConfig(TIM_HandleTypeDef *htim, + TIM_SlaveConfigTypeDef * sSlaveConfig) +{ + uint32_t tmpsmcr = 0; + uint32_t tmpccmr1 = 0; + uint32_t tmpccer = 0; + + /* Get the TIMx SMCR register value */ + tmpsmcr = htim->Instance->SMCR; + + /* Reset the Trigger Selection Bits */ + tmpsmcr &= ~TIM_SMCR_TS; + /* Set the Input Trigger source */ + tmpsmcr |= sSlaveConfig->InputTrigger; + + /* Reset the slave mode Bits */ + tmpsmcr &= ~TIM_SMCR_SMS; + /* Set the slave mode */ + tmpsmcr |= sSlaveConfig->SlaveMode; + + /* Write to TIMx SMCR */ + htim->Instance->SMCR = tmpsmcr; + + /* Configure the trigger prescaler, filter, and polarity */ + switch (sSlaveConfig->InputTrigger) + { + case TIM_TS_ETRF: + { + /* Check the parameters */ + assert_param(IS_TIM_CLOCKSOURCE_ETRMODE1_INSTANCE(htim->Instance)); + assert_param(IS_TIM_TRIGGERPRESCALER(sSlaveConfig->TriggerPrescaler)); + assert_param(IS_TIM_TRIGGERPOLARITY(sSlaveConfig->TriggerPolarity)); + assert_param(IS_TIM_TRIGGERFILTER(sSlaveConfig->TriggerFilter)); + /* Configure the ETR Trigger source */ + TIM_ETR_SetConfig(htim->Instance, + sSlaveConfig->TriggerPrescaler, + sSlaveConfig->TriggerPolarity, + sSlaveConfig->TriggerFilter); + } + break; + + case TIM_TS_TI1F_ED: + { + /* Check the parameters */ + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + assert_param(IS_TIM_TRIGGERFILTER(sSlaveConfig->TriggerFilter)); + + /* Disable the Channel 1: Reset the CC1E Bit */ + tmpccer = htim->Instance->CCER; + htim->Instance->CCER &= ~TIM_CCER_CC1E; + tmpccmr1 = htim->Instance->CCMR1; + + /* Set the filter */ + tmpccmr1 &= ~TIM_CCMR1_IC1F; + tmpccmr1 |= ((sSlaveConfig->TriggerFilter) << 4); + + /* Write to TIMx CCMR1 and CCER registers */ + htim->Instance->CCMR1 = tmpccmr1; + htim->Instance->CCER = tmpccer; + + } + break; + + case TIM_TS_TI1FP1: + { + /* Check the parameters */ + assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); + assert_param(IS_TIM_TRIGGERPOLARITY(sSlaveConfig->TriggerPolarity)); + assert_param(IS_TIM_TRIGGERFILTER(sSlaveConfig->TriggerFilter)); + + /* Configure TI1 Filter and Polarity */ + TIM_TI1_ConfigInputStage(htim->Instance, + sSlaveConfig->TriggerPolarity, + sSlaveConfig->TriggerFilter); + } + break; + + case TIM_TS_TI2FP2: + { + /* Check the parameters */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + assert_param(IS_TIM_TRIGGERPOLARITY(sSlaveConfig->TriggerPolarity)); + assert_param(IS_TIM_TRIGGERFILTER(sSlaveConfig->TriggerFilter)); + + /* Configure TI2 Filter and Polarity */ + TIM_TI2_ConfigInputStage(htim->Instance, + sSlaveConfig->TriggerPolarity, + sSlaveConfig->TriggerFilter); + } + break; + + case TIM_TS_ITR0: + { + /* Check the parameter */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + } + break; + + case TIM_TS_ITR1: + { + /* Check the parameter */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + } + break; + + case TIM_TS_ITR2: + { + /* Check the parameter */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + } + break; + + case TIM_TS_ITR3: + { + /* Check the parameter */ + assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); + } + break; + + default: + break; + } +} + +/** + * @brief Configure the TI1 as Input. + * @param TIMx to select the TIM peripheral. + * @param TIM_ICPolarity : The Input Polarity. + * This parameter can be one of the following values: + * @arg TIM_ICPolarity_Rising + * @arg TIM_ICPolarity_Falling + * @arg TIM_ICPolarity_BothEdge + * @param TIM_ICSelection: specifies the input to be used. + * This parameter can be one of the following values: + * @arg TIM_ICSelection_DirectTI: TIM Input 1 is selected to be connected to IC1. + * @arg TIM_ICSelection_IndirectTI: TIM Input 1 is selected to be connected to IC2. + * @arg TIM_ICSelection_TRC: TIM Input 1 is selected to be connected to TRC. + * @param TIM_ICFilter: Specifies the Input Capture Filter. + * This parameter must be a value between 0x00 and 0x0F. + * @retval None + * @note TIM_ICFilter and TIM_ICPolarity are not used in INDIRECT mode as TI2FP1 + * (on channel2 path) is used as the input signal. Therefore CCMR1 must be + * protected against un-initialized filter and polarity values. + */ +void TIM_TI1_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, + uint32_t TIM_ICFilter) +{ + uint32_t tmpccmr1 = 0; + uint32_t tmpccer = 0; + + /* Disable the Channel 1: Reset the CC1E Bit */ + TIMx->CCER &= ~TIM_CCER_CC1E; + tmpccmr1 = TIMx->CCMR1; + tmpccer = TIMx->CCER; + + /* Select the Input */ + if(IS_TIM_CC2_INSTANCE(TIMx) != RESET) + { + tmpccmr1 &= ~TIM_CCMR1_CC1S; + tmpccmr1 |= TIM_ICSelection; + } + else + { + tmpccmr1 |= TIM_CCMR1_CC1S_0; + } + + /* Set the filter */ + tmpccmr1 &= ~TIM_CCMR1_IC1F; + tmpccmr1 |= ((TIM_ICFilter << 4) & TIM_CCMR1_IC1F); + + /* Select the Polarity and set the CC1E Bit */ + tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); + tmpccer |= (TIM_ICPolarity & (TIM_CCER_CC1P | TIM_CCER_CC1NP)); + + /* Write to TIMx CCMR1 and CCER registers */ + TIMx->CCMR1 = tmpccmr1; + TIMx->CCER = tmpccer; +} + +/** + * @brief Configure the Polarity and Filter for TI1. + * @param TIMx to select the TIM peripheral. + * @param TIM_ICPolarity : The Input Polarity. + * This parameter can be one of the following values: + * @arg TIM_ICPolarity_Rising + * @arg TIM_ICPolarity_Falling + * @arg TIM_ICPolarity_BothEdge + * @param TIM_ICFilter: Specifies the Input Capture Filter. + * This parameter must be a value between 0x00 and 0x0F. + * @retval None + */ +static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) +{ + uint32_t tmpccmr1 = 0; + uint32_t tmpccer = 0; + + /* Disable the Channel 1: Reset the CC1E Bit */ + tmpccer = TIMx->CCER; + TIMx->CCER &= ~TIM_CCER_CC1E; + tmpccmr1 = TIMx->CCMR1; + + /* Set the filter */ + tmpccmr1 &= ~TIM_CCMR1_IC1F; + tmpccmr1 |= (TIM_ICFilter << 4); + + /* Select the Polarity and set the CC1E Bit */ + tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); + tmpccer |= TIM_ICPolarity; + + /* Write to TIMx CCMR1 and CCER registers */ + TIMx->CCMR1 = tmpccmr1; + TIMx->CCER = tmpccer; +} + +/** + * @brief Configure the TI2 as Input. + * @param TIMx to select the TIM peripheral + * @param TIM_ICPolarity : The Input Polarity. + * This parameter can be one of the following values: + * @arg TIM_ICPolarity_Rising + * @arg TIM_ICPolarity_Falling + * @arg TIM_ICPolarity_BothEdge + * @param TIM_ICSelection: specifies the input to be used. + * This parameter can be one of the following values: + * @arg TIM_ICSelection_DirectTI: TIM Input 2 is selected to be connected to IC2. + * @arg TIM_ICSelection_IndirectTI: TIM Input 2 is selected to be connected to IC1. + * @arg TIM_ICSelection_TRC: TIM Input 2 is selected to be connected to TRC. + * @param TIM_ICFilter: Specifies the Input Capture Filter. + * This parameter must be a value between 0x00 and 0x0F. + * @retval None + * @note TIM_ICFilter and TIM_ICPolarity are not used in INDIRECT mode as TI1FP2 + * (on channel1 path) is used as the input signal. Therefore CCMR1 must be + * protected against un-initialized filter and polarity values. + */ +static void TIM_TI2_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, + uint32_t TIM_ICFilter) +{ + uint32_t tmpccmr1 = 0; + uint32_t tmpccer = 0; + + /* Disable the Channel 2: Reset the CC2E Bit */ + TIMx->CCER &= ~TIM_CCER_CC2E; + tmpccmr1 = TIMx->CCMR1; + tmpccer = TIMx->CCER; + + /* Select the Input */ + tmpccmr1 &= ~TIM_CCMR1_CC2S; + tmpccmr1 |= (TIM_ICSelection << 8); + + /* Set the filter */ + tmpccmr1 &= ~TIM_CCMR1_IC2F; + tmpccmr1 |= ((TIM_ICFilter << 12) & TIM_CCMR1_IC2F); + + /* Select the Polarity and set the CC2E Bit */ + tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); + tmpccer |= ((TIM_ICPolarity << 4) & (TIM_CCER_CC2P | TIM_CCER_CC2NP)); + + /* Write to TIMx CCMR1 and CCER registers */ + TIMx->CCMR1 = tmpccmr1 ; + TIMx->CCER = tmpccer; +} + +/** + * @brief Configure the Polarity and Filter for TI2. + * @param TIMx to select the TIM peripheral. + * @param TIM_ICPolarity : The Input Polarity. + * This parameter can be one of the following values: + * @arg TIM_ICPolarity_Rising + * @arg TIM_ICPolarity_Falling + * @arg TIM_ICPolarity_BothEdge + * @param TIM_ICFilter: Specifies the Input Capture Filter. + * This parameter must be a value between 0x00 and 0x0F. + * @retval None + */ +static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) +{ + uint32_t tmpccmr1 = 0; + uint32_t tmpccer = 0; + + /* Disable the Channel 2: Reset the CC2E Bit */ + TIMx->CCER &= ~TIM_CCER_CC2E; + tmpccmr1 = TIMx->CCMR1; + tmpccer = TIMx->CCER; + + /* Set the filter */ + tmpccmr1 &= ~TIM_CCMR1_IC2F; + tmpccmr1 |= (TIM_ICFilter << 12); + + /* Select the Polarity and set the CC2E Bit */ + tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); + tmpccer |= (TIM_ICPolarity << 4); + + /* Write to TIMx CCMR1 and CCER registers */ + TIMx->CCMR1 = tmpccmr1 ; + TIMx->CCER = tmpccer; +} + +/** + * @brief Configure the TI3 as Input. + * @param TIMx to select the TIM peripheral + * @param TIM_ICPolarity : The Input Polarity. + * This parameter can be one of the following values: + * @arg TIM_ICPolarity_Rising + * @arg TIM_ICPolarity_Falling + * @arg TIM_ICPolarity_BothEdge + * @param TIM_ICSelection: specifies the input to be used. + * This parameter can be one of the following values: + * @arg TIM_ICSelection_DirectTI: TIM Input 3 is selected to be connected to IC3. + * @arg TIM_ICSelection_IndirectTI: TIM Input 3 is selected to be connected to IC4. + * @arg TIM_ICSelection_TRC: TIM Input 3 is selected to be connected to TRC. + * @param TIM_ICFilter: Specifies the Input Capture Filter. + * This parameter must be a value between 0x00 and 0x0F. + * @retval None + * @note TIM_ICFilter and TIM_ICPolarity are not used in INDIRECT mode as TI3FP4 + * (on channel1 path) is used as the input signal. Therefore CCMR2 must be + * protected against un-initialized filter and polarity values. + */ +static void TIM_TI3_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, + uint32_t TIM_ICFilter) +{ + uint32_t tmpccmr2 = 0; + uint32_t tmpccer = 0; + + /* Disable the Channel 3: Reset the CC3E Bit */ + TIMx->CCER &= ~TIM_CCER_CC3E; + tmpccmr2 = TIMx->CCMR2; + tmpccer = TIMx->CCER; + + /* Select the Input */ + tmpccmr2 &= ~TIM_CCMR2_CC3S; + tmpccmr2 |= TIM_ICSelection; + + /* Set the filter */ + tmpccmr2 &= ~TIM_CCMR2_IC3F; + tmpccmr2 |= ((TIM_ICFilter << 4) & TIM_CCMR2_IC3F); + + /* Select the Polarity and set the CC3E Bit */ + tmpccer &= ~(TIM_CCER_CC3P | TIM_CCER_CC3NP); + tmpccer |= ((TIM_ICPolarity << 8) & (TIM_CCER_CC3P | TIM_CCER_CC3NP)); + + /* Write to TIMx CCMR2 and CCER registers */ + TIMx->CCMR2 = tmpccmr2; + TIMx->CCER = tmpccer; +} + +/** + * @brief Configure the TI4 as Input. + * @param TIMx to select the TIM peripheral + * @param TIM_ICPolarity : The Input Polarity. + * This parameter can be one of the following values: + * @arg TIM_ICPolarity_Rising + * @arg TIM_ICPolarity_Falling + * @arg TIM_ICPolarity_BothEdge + * @param TIM_ICSelection: specifies the input to be used. + * This parameter can be one of the following values: + * @arg TIM_ICSelection_DirectTI: TIM Input 4 is selected to be connected to IC4. + * @arg TIM_ICSelection_IndirectTI: TIM Input 4 is selected to be connected to IC3. + * @arg TIM_ICSelection_TRC: TIM Input 4 is selected to be connected to TRC. + * @param TIM_ICFilter: Specifies the Input Capture Filter. + * This parameter must be a value between 0x00 and 0x0F. + * @retval None + * @note TIM_ICFilter and TIM_ICPolarity are not used in INDIRECT mode as TI4FP3 + * (on channel1 path) is used as the input signal. Therefore CCMR2 must be + * protected against un-initialized filter and polarity values. + */ +static void TIM_TI4_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, + uint32_t TIM_ICFilter) +{ + uint32_t tmpccmr2 = 0; + uint32_t tmpccer = 0; + + /* Disable the Channel 4: Reset the CC4E Bit */ + TIMx->CCER &= ~TIM_CCER_CC4E; + tmpccmr2 = TIMx->CCMR2; + tmpccer = TIMx->CCER; + + /* Select the Input */ + tmpccmr2 &= ~TIM_CCMR2_CC4S; + tmpccmr2 |= (TIM_ICSelection << 8); + + /* Set the filter */ + tmpccmr2 &= ~TIM_CCMR2_IC4F; + tmpccmr2 |= ((TIM_ICFilter << 12) & TIM_CCMR2_IC4F); + + /* Select the Polarity and set the CC4E Bit */ + tmpccer &= ~(TIM_CCER_CC4P | TIM_CCER_CC4NP); + tmpccer |= ((TIM_ICPolarity << 12) & (TIM_CCER_CC4P | TIM_CCER_CC4NP)); + + /* Write to TIMx CCMR2 and CCER registers */ + TIMx->CCMR2 = tmpccmr2; + TIMx->CCER = tmpccer ; +} + +/** + * @brief Selects the Input Trigger source + * @param TIMx to select the TIM peripheral + * @param InputTriggerSource: The Input Trigger source. + * This parameter can be one of the following values: + * @arg TIM_TS_ITR0: Internal Trigger 0 + * @arg TIM_TS_ITR1: Internal Trigger 1 + * @arg TIM_TS_ITR2: Internal Trigger 2 + * @arg TIM_TS_ITR3: Internal Trigger 3 + * @arg TIM_TS_TI1F_ED: TI1 Edge Detector + * @arg TIM_TS_TI1FP1: Filtered Timer Input 1 + * @arg TIM_TS_TI2FP2: Filtered Timer Input 2 + * @arg TIM_TS_ETRF: External Trigger input + * @retval None + */ +static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint16_t InputTriggerSource) +{ + uint32_t tmpsmcr = 0; + + /* Get the TIMx SMCR register value */ + tmpsmcr = TIMx->SMCR; + /* Reset the TS Bits */ + tmpsmcr &= ~TIM_SMCR_TS; + /* Set the Input Trigger source and the slave mode*/ + tmpsmcr |= InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1; + /* Write to TIMx SMCR */ + TIMx->SMCR = tmpsmcr; +} +/** + * @brief Configures the TIMx External Trigger (ETR). + * @param TIMx to select the TIM peripheral + * @param TIM_ExtTRGPrescaler: The external Trigger Prescaler. + * This parameter can be one of the following values: + * @arg TIM_ETRPRESCALER_DIV1 : ETRP Prescaler OFF. + * @arg TIM_ETRPRESCALER_DIV2 : ETRP frequency divided by 2. + * @arg TIM_ETRPRESCALER_DIV4 : ETRP frequency divided by 4. + * @arg TIM_ETRPRESCALER_DIV8 : ETRP frequency divided by 8. + * @param TIM_ExtTRGPolarity: The external Trigger Polarity. + * This parameter can be one of the following values: + * @arg TIM_ETRPOLARITY_INVERTED : active low or falling edge active. + * @arg TIM_ETRPOLARITY_NONINVERTED : active high or rising edge active. + * @param ExtTRGFilter: External Trigger Filter. + * This parameter must be a value between 0x00 and 0x0F + * @retval None + */ +void TIM_ETR_SetConfig(TIM_TypeDef* TIMx, uint32_t TIM_ExtTRGPrescaler, + uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter) +{ + uint32_t tmpsmcr = 0; + + tmpsmcr = TIMx->SMCR; + + /* Reset the ETR Bits */ + tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); + + /* Set the Prescaler, the Filter value and the Polarity */ + tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8))); + + /* Write to TIMx SMCR */ + TIMx->SMCR = tmpsmcr; +} + +/** + * @brief Enables or disables the TIM Capture Compare Channel x. + * @param TIMx to select the TIM peripheral + * @param Channel: specifies the TIM Channel + * This parameter can be one of the following values: + * @arg TIM_Channel_1: TIM Channel 1 + * @arg TIM_Channel_2: TIM Channel 2 + * @arg TIM_Channel_3: TIM Channel 3 + * @arg TIM_Channel_4: TIM Channel 4 + * @param ChannelState: specifies the TIM Channel CCxE bit new state. + * This parameter can be: TIM_CCx_ENABLE or TIM_CCx_Disable. + * @retval None + */ +void TIM_CCxChannelCmd(TIM_TypeDef* TIMx, uint32_t Channel, uint32_t ChannelState) +{ + uint32_t tmp = 0; + + /* Check the parameters */ + assert_param(IS_TIM_CC1_INSTANCE(TIMx)); + assert_param(IS_TIM_CHANNELS(Channel)); + + tmp = TIM_CCER_CC1E << Channel; + + /* Reset the CCxE Bit */ + TIMx->CCER &= ~tmp; + + /* Set or reset the CCxE Bit */ + TIMx->CCER |= (uint32_t)(ChannelState << Channel); +} + +/** + * @} + */ +#endif /* HAL_TIM_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c new file mode 100644 index 0000000000..4afd4eacf4 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c @@ -0,0 +1,2088 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_tim_ex.c + * @author MCD Application Team + * @brief TIM HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Timer Extended peripheral: + * + Time Hall Sensor Interface Initialization + * + Time Hall Sensor Interface Start + * + Time Complementary signal bread and dead time configuration + * + Time Master and Slave synchronization configuration + * + Time Output Compare/PWM Channel Configuration (for channels 5 and 6) + * + Time OCRef clear configuration + * + Timer remapping capabilities configuration + @verbatim + ============================================================================== + ##### TIM Extended features ##### + ============================================================================== + [..] + The Timer Extended features include: + (#) Complementary outputs with programmable dead-time for : + (++) Output Compare + (++) PWM generation (Edge and Center-aligned Mode) + (++) One-pulse mode output + (#) Synchronization circuit to control the timer with external signals and to + interconnect several timers together. + (#) Break input to put the timer output signals in reset state or in a known state. + (#) Supports incremental (quadrature) encoder and hall-sensor circuitry for + positioning purposes + + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Initialize the TIM low level resources by implementing the following functions + depending from feature used : + (++) Complementary Output Compare : HAL_TIM_OC_MspInit(). + (++) Complementary PWM generation : HAL_TIM_PWM_MspInit(). + (++) Complementary One-pulse mode output : HAL_TIM_OnePulse_MspInit(). + (++) Hall Sensor output : HAL_TIM_HallSensor_MspInit(). + + (#) Initialize the TIM low level resources : + (##) Enable the TIM interface clock using __HAL_RCC_TIMx_CLK_ENABLE(); + (##) TIM pins configuration + (+++) Enable the clock for the TIM GPIOs using the following function: + __HAL_RCC_GPIOx_CLK_ENABLE(); + (+++) Configure these TIM pins in Alternate function mode using HAL_GPIO_Init(); + + (#) The external Clock can be configured, if needed (the default clock is the + internal clock from the APBx), using the following function: + HAL_TIM_ConfigClockSource, the clock configuration should be done before + any start function. + + (#) Configure the TIM in the desired functioning mode using one of the + initialization function of this driver: + (++) HAL_TIMEx_HallSensor_Init and HAL_TIMEx_ConfigCommutationEvent: to use the + Timer Hall Sensor Interface and the commutation event with the corresponding + Interrupt and DMA request if needed (Note that One Timer is used to interface + with the Hall sensor Interface and another Timer should be used to use + the commutation event). + + (#) Activate the TIM peripheral using one of the start functions: + (++) Complementary Output Compare : HAL_TIMEx_OCN_Start(), HAL_TIMEx_OCN_Start_DMA(), HAL_TIMEx_OC_Start_IT(). + (++) Complementary PWM generation : HAL_TIMEx_PWMN_Start(), HAL_TIMEx_PWMN_Start_DMA(), HAL_TIMEx_PWMN_Start_IT(). + (++) Complementary One-pulse mode output : HAL_TIMEx_OnePulseN_Start(), HAL_TIMEx_OnePulseN_Start_IT(). + (++) Hall Sensor output : HAL_TIMEx_HallSensor_Start(), HAL_TIMEx_HallSensor_Start_DMA(), HAL_TIMEx_HallSensor_Start_IT(). + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** +*/ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup TIMEx TIMEx + * @brief TIM Extended HAL module driver + * @{ + */ + +#ifdef HAL_TIM_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define BDTR_BKF_SHIFT (16) +#define BDTR_BK2F_SHIFT (20) +#define TIMx_ETRSEL_MASK ((uint32_t)0x003C000) +#define TIMx_TIxSEL_MASK ((uint32_t)0x000000F) +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static void TIM_CCxNChannelCmd(TIM_TypeDef* TIMx, uint32_t Channel, uint32_t ChannelNState); + +/* Private functions ---------------------------------------------------------*/ + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup TIMEx_Exported_Functions TIM Extended Exported Functions + * @{ + */ + +/** @defgroup TIMEx_Exported_Functions_Group1 Extended Timer Hall Sensor functions + * @brief TIM Hall Sensor functions + * +@verbatim + ============================================================================== + ##### TIM Hall Sensor functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure TIM HAL Sensor. + (+) De-initialize TIM HAL Sensor. + (+) Start the Hall Sensor Interface. + (+) Stop the Hall Sensor Interface. + (+) Start the Hall Sensor Interface and enable interrupts. + (+) Stop the Hall Sensor Interface and disable interrupts. + (+) Start the Hall Sensor Interface and enable DMA transfers. + (+) Stop the Hall Sensor Interface and disable DMA transfers. + +@endverbatim + * @{ + */ +/** + * @brief Initializes the TIM Hall Sensor Interface and initialize the associated handle. + * @param htim: TIM Encoder Interface handle + * @param sConfig: TIM Hall Sensor configuration structure. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, TIM_HallSensor_InitTypeDef* sConfig) +{ + TIM_OC_InitTypeDef OC_Config; + + /* Check the TIM handle allocation */ + if(htim == NULL) + { + return HAL_ERROR; + } + + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); + assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); + assert_param(IS_TIM_IC_POLARITY(sConfig->IC1Polarity)); + assert_param(IS_TIM_IC_PRESCALER(sConfig->IC1Prescaler)); + assert_param(IS_TIM_IC_FILTER(sConfig->IC1Filter)); + + if(htim->State == HAL_TIM_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + htim->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ + HAL_TIMEx_HallSensor_MspInit(htim); + } + + /* Set the TIM state */ + htim->State = HAL_TIM_STATE_BUSY; + + /* Configure the Time base in the Encoder Mode */ + TIM_Base_SetConfig(htim->Instance, &htim->Init); + + /* Configure the Channel 1 as Input Channel to interface with the three Outputs of the Hall sensor */ + TIM_TI1_SetConfig(htim->Instance, sConfig->IC1Polarity, TIM_ICSELECTION_TRC, sConfig->IC1Filter); + + /* Reset the IC1PSC Bits */ + htim->Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC; + /* Set the IC1PSC value */ + htim->Instance->CCMR1 |= sConfig->IC1Prescaler; + + /* Enable the Hall sensor interface (XOR function of the three inputs) */ + htim->Instance->CR2 |= TIM_CR2_TI1S; + + /* Select the TIM_TS_TI1F_ED signal as Input trigger for the TIM */ + htim->Instance->SMCR &= ~TIM_SMCR_TS; + htim->Instance->SMCR |= TIM_TS_TI1F_ED; + + /* Use the TIM_TS_TI1F_ED signal to reset the TIM counter each edge detection */ + htim->Instance->SMCR &= ~TIM_SMCR_SMS; + htim->Instance->SMCR |= TIM_SLAVEMODE_RESET; + + /* Program channel 2 in PWM 2 mode with the desired Commutation_Delay*/ + OC_Config.OCFastMode = TIM_OCFAST_DISABLE; + OC_Config.OCIdleState = TIM_OCIDLESTATE_RESET; + OC_Config.OCMode = TIM_OCMODE_PWM2; + OC_Config.OCNIdleState = TIM_OCNIDLESTATE_RESET; + OC_Config.OCNPolarity = TIM_OCNPOLARITY_HIGH; + OC_Config.OCPolarity = TIM_OCPOLARITY_HIGH; + OC_Config.Pulse = sConfig->Commutation_Delay; + + TIM_OC2_SetConfig(htim->Instance, &OC_Config); + + /* Select OC2REF as trigger output on TRGO: write the MMS bits in the TIMx_CR2 + register to 101 */ + htim->Instance->CR2 &= ~TIM_CR2_MMS; + htim->Instance->CR2 |= TIM_TRGO_OC2REF; + + /* Initialize the TIM state*/ + htim->State= HAL_TIM_STATE_READY; + + return HAL_OK; +} + +/** + * @brief DeInitialize the TIM Hall Sensor interface + * @param htim: TIM Hall Sensor handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_INSTANCE(htim->Instance)); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Disable the TIM Peripheral Clock */ + __HAL_TIM_DISABLE(htim); + + /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ + HAL_TIMEx_HallSensor_MspDeInit(htim); + + /* Change TIM state */ + htim->State = HAL_TIM_STATE_RESET; + + /* Release Lock */ + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Initializes the TIM Hall Sensor MSP. + * @param htim: TIM handle + * @retval None + */ +__weak void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIMEx_HallSensor_MspInit could be implemented in the user file + */ +} + +/** + * @brief DeInitialize TIM Hall Sensor MSP. + * @param htim: TIM handle + * @retval None + */ +__weak void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIMEx_HallSensor_MspDeInit could be implemented in the user file + */ +} + +/** + * @brief Starts the TIM Hall Sensor Interface. + * @param htim : TIM Hall Sensor handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + + /* Enable the Input Capture channels 1 + (in the Hall Sensor Interface the Three possible channels that can be used are TIM_CHANNEL_1, TIM_CHANNEL_2 and TIM_CHANNEL_3) */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Hall sensor Interface. + * @param htim : TIM Hall Sensor handle + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + + /* Disable the Input Capture channels 1, 2 and 3 + (in the Hall Sensor Interface the Three possible channels that can be used are TIM_CHANNEL_1, TIM_CHANNEL_2 and TIM_CHANNEL_3) */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Hall Sensor Interface in interrupt mode. + * @param htim : TIM Hall Sensor handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + + /* Enable the capture compare Interrupts 1 event */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + + /* Enable the Input Capture channels 1 + (in the Hall Sensor Interface the Three possible channels that can be used are TIM_CHANNEL_1, TIM_CHANNEL_2 and TIM_CHANNEL_3) */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Hall Sensor Interface in interrupt mode. + * @param htim : TIM handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + + /* Disable the Input Capture channels 1 + (in the Hall Sensor Interface the Three possible channels that can be used are TIM_CHANNEL_1, TIM_CHANNEL_2 and TIM_CHANNEL_3) */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + + /* Disable the capture compare Interrupts event */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Hall Sensor Interface in DMA mode. + * @param htim : TIM Hall Sensor handle. + * @param pData: The destination Buffer address. + * @param Length: The length of data to be transferred from TIM peripheral to memory. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + + if((htim->State) == (HAL_TIM_STATE_BUSY)) + { + return HAL_BUSY; + } + else if((htim->State) == (HAL_TIM_STATE_READY)) + { + if(((uint32_t)pData == 0 ) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + /* Enable the Input Capture channels 1 + (in the Hall Sensor Interface the Three possible channels that can be used are TIM_CHANNEL_1, TIM_CHANNEL_2 and TIM_CHANNEL_3) */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); + + /* Set the DMA Input Capture 1 Callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMACaptureCplt; + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable the DMA channel for Capture 1*/ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)&htim->Instance->CCR1, (uint32_t)pData, Length); + + /* Enable the capture compare 1 Interrupt */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Hall Sensor Interface in DMA mode. + * @param htim : TIM handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim) +{ + /* Check the parameters */ + assert_param(IS_TIM_XOR_INSTANCE(htim->Instance)); + + /* Disable the Input Capture channels 1 + (in the Hall Sensor Interface the Three possible channels that can be used are TIM_CHANNEL_1, TIM_CHANNEL_2 and TIM_CHANNEL_3) */ + TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE); + + + /* Disable the capture compare Interrupts 1 event */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup TIMEx_Exported_Functions_Group2 Extended Timer Complementary Output Compare functions + * @brief TIM Complementary Output Compare functions + * +@verbatim + ============================================================================== + ##### TIM Complementary Output Compare functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Start the Complementary Output Compare/PWM. + (+) Stop the Complementary Output Compare/PWM. + (+) Start the Complementary Output Compare/PWM and enable interrupts. + (+) Stop the Complementary Output Compare/PWM and disable interrupts. + (+) Start the Complementary Output Compare/PWM and enable DMA transfers. + (+) Stop the Complementary Output Compare/PWM and disable DMA transfers. + +@endverbatim + * @{ + */ + +/** + * @brief Starts the TIM Output Compare signal generation on the complementary + * output. + * @param htim : TIM Output Compare handle + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + /* Enable the Capture compare channel N */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Output Compare signal generation on the complementary + * output. + * @param htim : TIM handle + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + /* Disable the Capture compare channel N */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE); + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Output Compare signal generation in interrupt mode + * on the complementary output. + * @param htim : TIM OC handle + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Enable the TIM Output Compare interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Enable the TIM Output Compare interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Enable the TIM Output Compare interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3); + } + break; + + default: + break; + } + + /* Enable the TIM Break interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_BREAK); + + /* Enable the Capture compare channel N */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Output Compare signal generation in interrupt mode + * on the complementary output. + * @param htim : TIM Output Compare handle. + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + uint32_t tmpccer = 0; + + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Output Compare interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Output Compare interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Output Compare interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3); + } + break; + + default: + break; + } + + /* Disable the Capture compare channel N */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE); + + /* Disable the TIM Break interrupt (only if no more channel is active) */ + tmpccer = htim->Instance->CCER; + if ((tmpccer & (TIM_CCER_CC1NE | TIM_CCER_CC2NE | TIM_CCER_CC3NE)) == RESET) + { + __HAL_TIM_DISABLE_IT(htim, TIM_IT_BREAK); + } + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM Output Compare signal generation in DMA mode + * on the complementary output. + * @param htim : TIM Output Compare handle + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @param pData: The source Buffer address. + * @param Length: The length of data to be transferred from memory to TIM peripheral + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + if((htim->State) == (HAL_TIM_STATE_BUSY)) + { + return HAL_BUSY; + } + else if((htim->State) == (HAL_TIM_STATE_READY)) + { + if(((uint32_t)pData == 0 ) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->CCR1, Length); + + /* Enable the TIM Output Compare DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->CCR2, Length); + + /* Enable the TIM Output Compare DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: +{ + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->CCR3,Length); + + /* Enable the TIM Output Compare DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + default: + break; + } + + /* Enable the Capture compare channel N */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM Output Compare signal generation in DMA mode + * on the complementary output. + * @param htim : TIM Output Compare handle + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Output Compare DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Output Compare DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Output Compare DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + default: + break; + } + + /* Disable the Capture compare channel N */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE); + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup TIMEx_Exported_Functions_Group3 Extended Timer Complementary PWM functions + * @brief TIM Complementary PWM functions + * +@verbatim + ============================================================================== + ##### TIM Complementary PWM functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Start the Complementary PWM. + (+) Stop the Complementary PWM. + (+) Start the Complementary PWM and enable interrupts. + (+) Stop the Complementary PWM and disable interrupts. + (+) Start the Complementary PWM and enable DMA transfers. + (+) Stop the Complementary PWM and disable DMA transfers. + (+) Start the Complementary Input Capture measurement. + (+) Stop the Complementary Input Capture. + (+) Start the Complementary Input Capture and enable interrupts. + (+) Stop the Complementary Input Capture and disable interrupts. + (+) Start the Complementary Input Capture and enable DMA transfers. + (+) Stop the Complementary Input Capture and disable DMA transfers. + (+) Start the Complementary One Pulse generation. + (+) Stop the Complementary One Pulse. + (+) Start the Complementary One Pulse and enable interrupts. + (+) Stop the Complementary One Pulse and disable interrupts. + +@endverbatim + * @{ + */ + +/** + * @brief Starts the PWM signal generation on the complementary output. + * @param htim : TIM handle + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + /* Enable the complementary PWM output */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the PWM signal generation on the complementary output. + * @param htim : TIM handle + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @arg TIM_CHANNEL_4: TIM Channel 4 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + /* Disable the complementary PWM output */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE); + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the PWM signal generation in interrupt mode on the + * complementary output. + * @param htim : TIM handle + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Enable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Enable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Enable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3); + } + break; + + default: + break; + } + + /* Enable the TIM Break interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_BREAK); + + /* Enable the complementary PWM output */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the PWM signal generation in interrupt mode on the + * complementary output. + * @param htim : TIM handle + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT (TIM_HandleTypeDef *htim, uint32_t Channel) +{ + uint32_t tmpccer = 0; + + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3); + } + break; + + default: + break; + } + + /* Disable the complementary PWM output */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE); + + /* Disable the TIM Break interrupt (only if no more channel is active) */ + tmpccer = htim->Instance->CCER; + if ((tmpccer & (TIM_CCER_CC1NE | TIM_CCER_CC2NE | TIM_CCER_CC3NE)) == RESET) + { + __HAL_TIM_DISABLE_IT(htim, TIM_IT_BREAK); + } + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Start the TIM PWM signal generation in DMA mode on the + * complementary output + * @param htim : TIM handle + * @param Channel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @param pData: The source Buffer address. + * @param Length: The length of data to be transferred from memory to TIM peripheral + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + if((htim->State) == (HAL_TIM_STATE_BUSY)) + { + return HAL_BUSY; + } + else if((htim->State) == (HAL_TIM_STATE_READY)) + { + if(((uint32_t)pData == 0 ) && (Length > 0)) + { + return HAL_ERROR; + } + else + { + htim->State = HAL_TIM_STATE_BUSY; + } + } + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->CCR1, Length); + + /* Enable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->CCR2, Length); + + /* Enable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Set the DMA Period elapsed callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = HAL_TIM_DMADelayPulseCplt; + + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = HAL_TIM_DMAError ; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->CCR3,Length); + + /* Enable the TIM Capture/Compare 3 DMA request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + default: + break; + } + + /* Enable the complementary PWM output */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Enable the Peripheral */ + __HAL_TIM_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM PWM signal generation in DMA mode on the complementary + * output + * @param htim : TIM handle + * @param Channel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @arg TIM_CHANNEL_3: TIM Channel 3 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel)); + + switch (Channel) + { + case TIM_CHANNEL_1: + { + /* Disable the TIM Capture/Compare 1 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1); + } + break; + + case TIM_CHANNEL_2: + { + /* Disable the TIM Capture/Compare 2 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2); + } + break; + + case TIM_CHANNEL_3: + { + /* Disable the TIM Capture/Compare 3 DMA request */ + __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3); + } + break; + + default: + break; + } + + /* Disable the complementary PWM output */ + TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE); + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Change the htim state */ + htim->State = HAL_TIM_STATE_READY; + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup TIMEx_Exported_Functions_Group4 Extended Timer Complementary One Pulse functions + * @brief TIM Complementary One Pulse functions + * +@verbatim + ============================================================================== + ##### TIM Complementary One Pulse functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Start the Complementary One Pulse generation. + (+) Stop the Complementary One Pulse. + (+) Start the Complementary One Pulse and enable interrupts. + (+) Stop the Complementary One Pulse and disable interrupts. + +@endverbatim + * @{ + */ + +/** + * @brief Starts the TIM One Pulse signal generation on the complemetary + * output. + * @param htim : TIM One Pulse handle + * @param OutputChannel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel) + { + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel)); + + /* Enable the complementary One Pulse output */ + TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Stops the TIM One Pulse signal generation on the complementary + * output. + * @param htim : TIM One Pulse handle + * @param OutputChannel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel) +{ + + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel)); + + /* Disable the complementary One Pulse output */ + TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_DISABLE); + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Starts the TIM One Pulse signal generation in interrupt mode on the + * complementary channel. + * @param htim : TIM One Pulse handle + * @param OutputChannel : TIM Channel to be enabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel)); + + /* Enable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1); + + /* Enable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2); + + /* Enable the complementary One Pulse output */ + TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_ENABLE); + + /* Enable the Main Ouput */ + __HAL_TIM_MOE_ENABLE(htim); + + /* Return function status */ + return HAL_OK; + } + +/** + * @brief Stops the TIM One Pulse signal generation in interrupt mode on the + * complementary channel. + * @param htim : TIM One Pulse handle + * @param OutputChannel : TIM Channel to be disabled. + * This parameter can be one of the following values: + * @arg TIM_CHANNEL_1: TIM Channel 1 selected + * @arg TIM_CHANNEL_2: TIM Channel 2 selected + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel) +{ + /* Check the parameters */ + assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel)); + + /* Disable the TIM Capture/Compare 1 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); + + /* Disable the TIM Capture/Compare 2 interrupt */ + __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2); + + /* Disable the complementary One Pulse output */ + TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_DISABLE); + + /* Disable the Main Ouput */ + __HAL_TIM_MOE_DISABLE(htim); + + /* Disable the Peripheral */ + __HAL_TIM_DISABLE(htim); + + /* Return function status */ + return HAL_OK; +} + +/** + * @} + */ +/** @defgroup TIMEx_Exported_Functions_Group5 Extended Peripheral Control functions + * @brief Peripheral Control functions + * +@verbatim + ============================================================================== + ##### Peripheral Control functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Configure the commutation event in case of use of the Hall sensor interface. + (+) Configure Output channels for OC and PWM mode. + (+) Configure Complementary channels, break features and dead time. + (+) Configure Master synchronization. + (+) Configure timer remapping capabilities. + (+) Enable or disable channel grouping + +@endverbatim + * @{ + */ +/** + * @brief Configure the TIM commutation event sequence. + * @note: this function is mandatory to use the commutation event in order to + * update the configuration at each commutation detection on the TRGI input of the Timer, + * the typical use of this feature is with the use of another Timer(interface Timer) + * configured in Hall sensor interface, this interface Timer will generate the + * commutation at its TRGO output (connected to Timer used in this function) each time + * the TI1 of the Interface Timer detect a commutation at its input TI1. + * @param htim: TIM handle + * @param InputTrigger : the Internal trigger corresponding to the Timer Interfacing with the Hall sensor. + * This parameter can be one of the following values: + * @arg TIM_TS_ITR0: Internal trigger 0 selected + * @arg TIM_TS_ITR1: Internal trigger 1 selected + * @arg TIM_TS_ITR2: Internal trigger 2 selected + * @arg TIM_TS_ITR3: Internal trigger 3 selected + * @arg TIM_TS_NONE: No trigger is needed + * @param CommutationSource : the Commutation Event source. + * This parameter can be one of the following values: + * @arg TIM_COMMUTATION_TRGI: Commutation source is the TRGI of the Interface Timer + * @arg TIM_COMMUTATION_SOFTWARE: Commutation source is set by software using the COMG bit + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource) +{ + /* Check the parameters */ + assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance)); + assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger)); + + __HAL_LOCK(htim); + + if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) || + (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3)) + { + /* Select the Input trigger */ + htim->Instance->SMCR &= ~TIM_SMCR_TS; + htim->Instance->SMCR |= InputTrigger; + } + + /* Select the Capture Compare preload feature */ + htim->Instance->CR2 |= TIM_CR2_CCPC; + /* Select the Commutation event source */ + htim->Instance->CR2 &= ~TIM_CR2_CCUS; + htim->Instance->CR2 |= CommutationSource; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configure the TIM commutation event sequence with interrupt. + * @note: this function is mandatory to use the commutation event in order to + * update the configuration at each commutation detection on the TRGI input of the Timer, + * the typical use of this feature is with the use of another Timer(interface Timer) + * configured in Hall sensor interface, this interface Timer will generate the + * commutation at its TRGO output (connected to Timer used in this function) each time + * the TI1 of the Interface Timer detect a commutation at its input TI1. + * @param htim: TIM handle + * @param InputTrigger : the Internal trigger corresponding to the Timer Interfacing with the Hall sensor. + * This parameter can be one of the following values: + * @arg TIM_TS_ITR0: Internal trigger 0 selected + * @arg TIM_TS_ITR1: Internal trigger 1 selected + * @arg TIM_TS_ITR2: Internal trigger 2 selected + * @arg TIM_TS_ITR3: Internal trigger 3 selected + * @arg TIM_TS_NONE: No trigger is needed + * @param CommutationSource : the Commutation Event source. + * This parameter can be one of the following values: + * @arg TIM_COMMUTATION_TRGI: Commutation source is the TRGI of the Interface Timer + * @arg TIM_COMMUTATION_SOFTWARE: Commutation source is set by software using the COMG bit + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource) +{ + /* Check the parameters */ + assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance)); + assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger)); + + __HAL_LOCK(htim); + + if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) || + (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3)) + { + /* Select the Input trigger */ + htim->Instance->SMCR &= ~TIM_SMCR_TS; + htim->Instance->SMCR |= InputTrigger; + } + + /* Select the Capture Compare preload feature */ + htim->Instance->CR2 |= TIM_CR2_CCPC; + /* Select the Commutation event source */ + htim->Instance->CR2 &= ~TIM_CR2_CCUS; + htim->Instance->CR2 |= CommutationSource; + + /* Enable the Commutation Interrupt Request */ + __HAL_TIM_ENABLE_IT(htim, TIM_IT_COM); + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configure the TIM commutation event sequence with DMA. + * @note: this function is mandatory to use the commutation event in order to + * update the configuration at each commutation detection on the TRGI input of the Timer, + * the typical use of this feature is with the use of another Timer(interface Timer) + * configured in Hall sensor interface, this interface Timer will generate the + * commutation at its TRGO output (connected to Timer used in this function) each time + * the TI1 of the Interface Timer detect a commutation at its input TI1. + * @note: The user should configure the DMA in his own software, in This function only the COMDE bit is set. + * @param htim: TIM handle + * @param InputTrigger : the Internal trigger corresponding to the Timer Interfacing with the Hall sensor. + * This parameter can be one of the following values: + * @arg TIM_TS_ITR0: Internal trigger 0 selected + * @arg TIM_TS_ITR1: Internal trigger 1 selected + * @arg TIM_TS_ITR2: Internal trigger 2 selected + * @arg TIM_TS_ITR3: Internal trigger 3 selected + * @arg TIM_TS_NONE: No trigger is needed + * @param CommutationSource : the Commutation Event source. + * This parameter can be one of the following values: + * @arg TIM_COMMUTATION_TRGI: Commutation source is the TRGI of the Interface Timer + * @arg TIM_COMMUTATION_SOFTWARE: Commutation source is set by software using the COMG bit + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource) +{ + /* Check the parameters */ + assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance)); + assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger)); + + __HAL_LOCK(htim); + + if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) || + (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3)) + { + /* Select the Input trigger */ + htim->Instance->SMCR &= ~TIM_SMCR_TS; + htim->Instance->SMCR |= InputTrigger; + } + + /* Select the Capture Compare preload feature */ + htim->Instance->CR2 |= TIM_CR2_CCPC; + /* Select the Commutation event source */ + htim->Instance->CR2 &= ~TIM_CR2_CCUS; + htim->Instance->CR2 |= CommutationSource; + + /* Enable the Commutation DMA Request */ + /* Set the DMA Commutation Callback */ + htim->hdma[TIM_DMA_ID_COMMUTATION]->XferCpltCallback = HAL_TIMEx_DMACommutationCplt; + /* Set the DMA error callback */ + htim->hdma[TIM_DMA_ID_COMMUTATION]->XferErrorCallback = HAL_TIM_DMAError; + + /* Enable the Commutation DMA Request */ + __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_COM); + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configures the TIM in master mode. + * @param htim: TIM handle. + * @param sMasterConfig: pointer to a TIM_MasterConfigTypeDef structure that + * contains the selected trigger output (TRGO) and the Master/Slave + * mode. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, + TIM_MasterConfigTypeDef * sMasterConfig) +{ + uint32_t tmpcr2; + uint32_t tmpsmcr; + + /* Check the parameters */ + assert_param(IS_TIM_MASTER_INSTANCE(htim->Instance)); + assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger)); + assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode)); + + /* Check input state */ + __HAL_LOCK(htim); + + /* Get the TIMx CR2 register value */ + tmpcr2 = htim->Instance->CR2; + + /* Get the TIMx SMCR register value */ + tmpsmcr = htim->Instance->SMCR; + + /* If the timer supports ADC synchronization through TRGO2, set the master mode selection 2 */ + if (IS_TIM_TRGO2_INSTANCE(htim->Instance)) + { + /* Check the parameters */ + assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2)); + + /* Clear the MMS2 bits */ + tmpcr2 &= ~TIM_CR2_MMS2; + /* Select the TRGO2 source*/ + tmpcr2 |= sMasterConfig->MasterOutputTrigger2; + } + + /* Reset the MMS Bits */ + tmpcr2 &= ~TIM_CR2_MMS; + /* Select the TRGO source */ + tmpcr2 |= sMasterConfig->MasterOutputTrigger; + + /* Reset the MSM Bit */ + tmpsmcr &= ~TIM_SMCR_MSM; + /* Set master mode */ + tmpsmcr |= sMasterConfig->MasterSlaveMode; + + /* Update TIMx CR2 */ + htim->Instance->CR2 = tmpcr2; + + /* Update TIMx SMCR */ + htim->Instance->SMCR = tmpsmcr; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configures the Break feature, dead time, Lock level, OSSI/OSSR State + * and the AOE(automatic output enable). + * @param htim: TIM handle + * @param sBreakDeadTimeConfig: pointer to a TIM_ConfigBreakDeadConfigTypeDef structure that + * contains the BDTR Register configuration information for the TIM peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, + TIM_BreakDeadTimeConfigTypeDef * sBreakDeadTimeConfig) +{ + uint32_t tmpbdtr = 0; + + /* Check the parameters */ + assert_param(IS_TIM_BREAK_INSTANCE(htim->Instance)); + assert_param(IS_TIM_OSSR_STATE(sBreakDeadTimeConfig->OffStateRunMode)); + assert_param(IS_TIM_OSSI_STATE(sBreakDeadTimeConfig->OffStateIDLEMode)); + assert_param(IS_TIM_LOCK_LEVEL(sBreakDeadTimeConfig->LockLevel)); + assert_param(IS_TIM_DEADTIME(sBreakDeadTimeConfig->DeadTime)); + assert_param(IS_TIM_BREAK_STATE(sBreakDeadTimeConfig->BreakState)); + assert_param(IS_TIM_BREAK_POLARITY(sBreakDeadTimeConfig->BreakPolarity)); + assert_param(IS_TIM_BREAK_FILTER(sBreakDeadTimeConfig->BreakFilter)); + assert_param(IS_TIM_AUTOMATIC_OUTPUT_STATE(sBreakDeadTimeConfig->AutomaticOutput)); + + /* Check input state */ + __HAL_LOCK(htim); + + /* Set the Lock level, the Break enable Bit and the Polarity, the OSSR State, + the OSSI State, the dead time value and the Automatic Output Enable Bit */ + + /* Set the BDTR bits */ + MODIFY_REG(tmpbdtr, TIM_BDTR_DTG, sBreakDeadTimeConfig->DeadTime); + MODIFY_REG(tmpbdtr, TIM_BDTR_LOCK, sBreakDeadTimeConfig->LockLevel); + MODIFY_REG(tmpbdtr, TIM_BDTR_OSSI, sBreakDeadTimeConfig->OffStateIDLEMode); + MODIFY_REG(tmpbdtr, TIM_BDTR_OSSR, sBreakDeadTimeConfig->OffStateRunMode); + MODIFY_REG(tmpbdtr, TIM_BDTR_BKE, sBreakDeadTimeConfig->BreakState); + MODIFY_REG(tmpbdtr, TIM_BDTR_BKP, sBreakDeadTimeConfig->BreakPolarity); + MODIFY_REG(tmpbdtr, TIM_BDTR_AOE, sBreakDeadTimeConfig->AutomaticOutput); + MODIFY_REG(tmpbdtr, TIM_BDTR_BKF, (sBreakDeadTimeConfig->BreakFilter << BDTR_BKF_SHIFT)); + + if (IS_TIM_BKIN2_INSTANCE(htim->Instance)) + { + assert_param(IS_TIM_BREAK2_STATE(sBreakDeadTimeConfig->Break2State)); + assert_param(IS_TIM_BREAK2_POLARITY(sBreakDeadTimeConfig->Break2Polarity)); + assert_param(IS_TIM_BREAK_FILTER(sBreakDeadTimeConfig->Break2Filter)); + + /* Set the BREAK2 input related BDTR bits */ + MODIFY_REG(tmpbdtr, TIM_BDTR_BK2F, (sBreakDeadTimeConfig->Break2Filter << BDTR_BK2F_SHIFT)); + MODIFY_REG(tmpbdtr, TIM_BDTR_BK2E, sBreakDeadTimeConfig->Break2State); + MODIFY_REG(tmpbdtr, TIM_BDTR_BK2P, sBreakDeadTimeConfig->Break2Polarity); + } + + /* Set TIMx_BDTR */ + htim->Instance->BDTR = tmpbdtr; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configures the break input source. + * @param htim: TIM handle. + * @param BreakInput: Break input to configure. + * This parameter can be one of the following values: + * @arg TIM_BREAKINPUT_BRK: Timer break input + * @arg TIM_BREAKINPUT_BRK2: Timer break 2 input + * @param sBreakInputConfig: Break input source configuration + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_ConfigBreakInput(TIM_HandleTypeDef *htim, + uint32_t BreakInput, + TIMEx_BreakInputConfigTypeDef *sBreakInputConfig) + +{ + uint32_t tmporx = 0; + uint32_t bkin_enable_mask = 0; + uint32_t bkin_polarity_mask = 0; + uint32_t bkin_enable_bitpos = 0; + uint32_t bkin_polarity_bitpos = 0; + + /* Check the parameters */ + assert_param(IS_TIM_BREAK_INSTANCE(htim->Instance)); + assert_param(IS_TIM_BREAKINPUT(BreakInput)); + assert_param(IS_TIM_BREAKINPUTSOURCE(sBreakInputConfig->Source)); + assert_param(IS_TIM_BREAKINPUTSOURCE_STATE(sBreakInputConfig->Enable)); + if (sBreakInputConfig->Source != TIM_BREAKINPUTSOURCE_DFSDM1) + { + assert_param(IS_TIM_BREAKINPUTSOURCE_POLARITY(sBreakInputConfig->Polarity)); + } + + /* Check input state */ + __HAL_LOCK(htim); + + switch(sBreakInputConfig->Source) + { + case TIM_BREAKINPUTSOURCE_BKIN: + { + bkin_enable_mask = TIM1_AF1_BKINE; + bkin_enable_bitpos = 0; + bkin_polarity_mask = TIM1_AF1_BKINP; + bkin_polarity_bitpos = 9; + } + break; + case TIM_BREAKINPUTSOURCE_COMP1: + { + bkin_enable_mask = TIM1_AF1_BKCMP1E; + bkin_enable_bitpos = 1; + bkin_polarity_mask = TIM1_AF1_BKCMP1P; + bkin_polarity_bitpos = 10; + } + break; + case TIM_BREAKINPUTSOURCE_COMP2: + { + bkin_enable_mask = TIM1_AF1_BKCMP2E; + bkin_enable_bitpos = 2; + bkin_polarity_mask = TIM1_AF1_BKCMP2P; + bkin_polarity_bitpos = 11; + } + break; + case TIM_BREAKINPUTSOURCE_DFSDM1: + { + bkin_enable_mask = TIM1_AF1_BKDFBK0E; + bkin_enable_bitpos = 8; + } + break; + + default: + break; + } + + switch(BreakInput) + { + case TIM_BREAKINPUT_BRK: + { + /* Get the TIMx_OR2 register value */ + tmporx = htim->Instance->AF1; + + /* Enable the break input */ + tmporx &= ~bkin_enable_mask; + tmporx |= (sBreakInputConfig->Enable << bkin_enable_bitpos) & bkin_enable_mask; + + /* Set the break input polarity */ + if (sBreakInputConfig->Source != TIM_BREAKINPUTSOURCE_DFSDM1) + { + tmporx &= ~bkin_polarity_mask; + tmporx |= (sBreakInputConfig->Polarity << bkin_polarity_bitpos) & bkin_polarity_mask; + } + + /* Set TIMx_OR2 */ + htim->Instance->AF1 = tmporx; + } + break; + case TIM_BREAKINPUT_BRK2: + { + /* Get the TIMx_OR3 register value */ + tmporx = htim->Instance->AF2; + + /* Enable the break input */ + tmporx &= ~bkin_enable_mask; + tmporx |= (sBreakInputConfig->Enable << bkin_enable_bitpos) & bkin_enable_mask; + + /* Set the break input polarity */ + if (sBreakInputConfig->Source != TIM_BREAKINPUTSOURCE_DFSDM1) + { + tmporx &= ~bkin_polarity_mask; + tmporx |= (sBreakInputConfig->Polarity << bkin_polarity_bitpos) & bkin_polarity_mask; + } + + /* Set TIMx_OR3 */ + htim->Instance->AF2 = tmporx; + } + break; + default: + break; + } + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configures the TIMx Remapping input capabilities. + * @param htim: TIM handle. + * @param Remap: specifies the TIM remapping source. + * For TIM1, the parameter is one of the following values: + * @arg TIM_TIM1_ETR_GPIO: TIM1_ETR is connected to GPIO + * @arg TIM_TIM1_ETR_COMP1: TIM1_ETR is connected to COMP1 output + * @arg TIM_TIM1_ETR_COMP2: TIM1_ETR is connected to COMP2 output + * @arg TIM_TIM1_ETR_ADC1_AWD1: TIM1_ETR is connected to ADC1 AWD1 + * @arg TIM_TIM1_ETR_ADC1_AWD2: TIM1_ETR is connected to ADC1 AWD2 + * @arg TIM_TIM1_ETR_ADC1_AWD3: TIM1_ETR is connected to ADC1 AWD3 + * @arg TIM_TIM1_ETR_ADC3_AWD1: TIM1_ETR is connected to ADC3 AWD1 + * @arg TIM_TIM1_ETR_ADC3_AWD2: TIM1_ETR is connected to ADC3 AWD2 + * @arg TIM_TIM1_ETR_ADC3_AWD3: TIM1_ETR is connected to ADC3 AWD3: + * + * For TIM2, the parameter is one of the following values: + * @arg TIM_TIM2_ETR_GPIO: TIM2_ETR is connected to GPIO + * @arg TIM_TIM2_ETR_COMP1: TIM2_ETR is connected to COMP1 output + * @arg TIM_TIM2_ETR_COMP2: TIM2_ETR is connected to COMP2 output + * @arg TIM_TIM2_ETR_LSE: TIM2_ETR is connected to LSE + * @arg TIM_TIM2_ETR_SAI1_FSA: TIM2_ETR is connected to SAI1 FS_A + * @arg TIM_TIM2_ETR_SAI1_FSB: TIM2_ETR is connected to SAI1 FS_B + * + * For TIM3, the parameter is one of the following values: + * @arg TIM_TIM3_ETR_GPIO: TIM3_ETR is connected to GPIO + * @arg TIM_TIM3_ETR_COMP1: TIM3_ETR is connected to COMP1 output + * + * For TIM5, the parameter is one of the following values: + * @arg TIM_TIM5_ETR_GPIO: TIM5_ETR is connected to GPIO + * @arg TIM_TIM5_ETR_SAI2_FSA: TIM5_ETR is connected to SAI2 FS_A + * @arg TIM_TIM5_ETR_SAI2_FSB: TIM5_ETR is connected to SAI2 FS_B + * + * For TIM8, the parameter is one of the following values: + * @arg TIM_TIM8_ETR_GPIO: TIM8_ETR is connected to GPIO + * @arg TIM_TIM8_ETR_COMP1: TIM8_ETR is connected to COMP1 output + * @arg TIM_TIM8_ETR_COMP2: TIM8_ETR is connected to COMP2 output + * @arg TIM_TIM8_ETR_ADC2_AWD1: TIM8_ETR is connected to ADC2 AWD1 + * @arg TIM_TIM8_ETR_ADC2_AWD2: TIM8_ETR is connected to ADC2 AWD2 + * @arg TIM_TIM8_ETR_ADC2_AWD3: TIM8_ETR is connected to ADC2 AWD3 + * @arg TIM_TIM8_ETR_ADC3_AWD1: TIM8_ETR is connected to ADC3 AWD1 + * @arg TIM_TIM8_ETR_ADC3_AWD2: TIM8_ETR is connected to ADC3 AWD2 + * @arg TIM_TIM8_ETR_ADC3_AWD3: TIM8_ETR is connected to ADC3 AWD3 + * + * + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap) +{ + uint32_t tmpor2 = 0; + + __HAL_LOCK(htim); + + /* Check parameters */ + assert_param(IS_TIM_ETRSEL_INSTANCE(htim->Instance)); + assert_param(IS_TIM_ETRREMAP(Remap)); + + tmpor2 = htim->Instance->AF1; + tmpor2 &= ~TIMx_ETRSEL_MASK; + tmpor2 |= (Remap & TIMx_ETRSEL_MASK); + + /* Set TIMx_OR2 */ + htim->Instance->AF1 = tmpor2; + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + +/** + * @brief Configures the TIMx input Selection capabilities. + * @param htim: TIM handle. + * @param TISelection : parameter of the TIM_TISelectionStruct structure. + * @param Channel: specifies the channels that will be selected for configuration: + * @arg TIM_CHANNEL_1: TIM Channel 1 + * @arg TIM_CHANNEL_2: TIM Channel 2 + * @arg TIM_CHANNEL_3: TIM Channel 3 + * @arg TIM_CHANNEL_4: TIM Channel 4 + * + * TISelection parameter of the TIM_TISelectionStruct structure is detailed as follows: + * For TIM1, the parameter is one of the following values: + * @arg TIM_TIM1_TI1_GPIO: TIM1 TI1 is connected to GPIO + * @arg TIM_TIM1_TI1_COMP1: TIM1 TI1 is connected to COMP1 output + * + * For TIM2, the parameter is one of the following values: + * @arg TIM_TIM2_TI4_GPIO: TIM2 TI4 is connected to GPIO + * @arg TIM_TIM2_TI4_COMP1: TIM2 TI4 is connected to COMP1 output + * @arg TIM_TIM2_TI4_COMP2: TIM2 TI4 is connected to COMP2 output + * @arg TIM_TIM2_TI4_COMP1_COMP2: TIM2 TI4 is connected to logical OR between COMP1 and COMP2 output + * + * For TIM3, the parameter is one of the following values: + * @arg TIM_TIM3_TI1_GPIO: TIM3 TI1 is connected to GPIO + * @arg TIM_TIM3_TI1_COMP1: TIM3 TI1 is connected to COMP1 output + * @arg TIM_TIM3_TI1_COMP2: TIM3 TI1 is connected to COMP2 output + * @arg TIM_TIM3_TI1_COMP1_COMP2: TIM3 TI1 is connected to logical OR between COMP1 and COMP2 output + * + * For TIM5, the parameter is one of the following values: + * @arg TIM_TIM5_TI1_GPIO: TIM5 TI1 is connected to GPIO + * @arg TIM_TIM5_TI1_CAN_TMP: TIM5 TI1 is connected to CAN TMP + * @arg TIM_TIM5_TI1_CAN_RTP: TIM5 TI1 is connected to CAN RTP + * + * For TIM8, the parameter is one of the following values: + * @arg TIM_TIM8_TI1_GPIO: TIM8 TI1 is connected to GPIO + * @arg TIM_TIM8_TI1_COMP2: TIM8 TI1 is connected to COMP2 output + * + * For TIM15, the parameter is one of the following values: + * @arg TIM_TIM15_TI1_GPIO: TIM15 TI1 is connected to GPIO + * @arg TIM_TIM15_TI1_TIM2: TIM15 TI1 is connected to TIM2 CH1 + * @arg TIM_TIM15_TI1_TIM3: TIM15 TI1 is connected to TIM3 CH1 + * @arg TIM_TIM15_TI1_TIM4: TIM15 TI1 is connected to TIM4 CH1 + * @arg TIM_TIM15_TI1_LSE: TIM15 TI1 is connected to LSE + * @arg TIM_TIM15_TI1_CSI: TIM15 TI1 is connected to CSI + * @arg TIM_TIM15_TI1_MCO2: TIM15 TI1 is connected to MCO2 + * @arg TIM_TIM15_TI2_GPIO: TIM15 TI2 is connected to GPIO + * @arg TIM_TIM15_TI2_TIM2: TIM15 TI2 is connected to TIM2 CH2 + * @arg TIM_TIM15_TI2_TIM3: TIM15 TI2 is connected to TIM3 CH2 + * @arg TIM_TIM15_TI2_TIM4: TIM15 TI2 is connected to TIM4 CH2 + * + * For TIM16, the parameter can have the following values: + * @arg TIM_TIM16_TI1_GPIO: TIM16 TI1 is connected to GPIO + * @arg TIM_TIM16_TI1_LSI: TIM16 TI1 is connected to LSI + * @arg TIM_TIM16_TI1_LSE: TIM16 TI1 is connected to LSE + * @arg TIM_TIM16_TI1_RTC: TIM16 TI1 is connected to RTC wakeup interrupt + * + * For TIM17, the parameter can have the following values: + * @arg TIM_TIM17_TI1_GPIO: TIM17 TI1 is connected to GPIO + * @arg TIM_TIM17_TI1_SPDIFFS: TIM17 TI1 is connected to SPDIF FS + * @arg TIM_TIM17_TI1_HSE_1MHZ: TIM17 TI1 is connected to HSE 1MHz + * @arg TIM_TIM17_TI1_MCO1: TIM17 TI1 is connected to MCO1 + * + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_TISelection(TIM_HandleTypeDef *htim, uint32_t TISelection , uint32_t Channel) +{ + uint32_t tmptisel = 0; + + __HAL_LOCK(htim); + + /* Check parameters */ + assert_param(IS_TIM_TISEL_INSTANCE(htim->Instance)); + assert_param(IS_TIM_TISEL(TISelection)); + + tmptisel = htim->Instance->TISEL; + + tmptisel &= ~(TIMx_TIxSEL_MASK << (Channel << 2)); + tmptisel |= (TISelection); + + /* Set TIMx_TISEL */ + htim->Instance->TISEL = tmptisel; + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} +/** + * @brief Group channel 5 and channel 1, 2 or 3 + * @param htim: TIM handle. + * @param Channels: specifies the reference signal(s) the OC5REF is combined with. + * This parameter can be any combination of the following values: + * TIM_GROUPCH5_NONE: No effect of OC5REF on OC1REFC, OC2REFC and OC3REFC + * TIM_GROUPCH5_OC1REFC: OC1REFC is the logical AND of OC1REFC and OC5REF + * TIM_GROUPCH5_OC2REFC: OC2REFC is the logical AND of OC2REFC and OC5REF + * TIM_GROUPCH5_OC3REFC: OC3REFC is the logical AND of OC3REFC and OC5REF + * @retval HAL status + */ +HAL_StatusTypeDef HAL_TIMEx_GroupChannel5(TIM_HandleTypeDef *htim, uint32_t Channels) +{ + /* Check parameters */ + assert_param(IS_TIM_COMBINED3PHASEPWM_INSTANCE(htim->Instance)); + assert_param(IS_TIM_GROUPCH5(Channels)); + + /* Process Locked */ + __HAL_LOCK(htim); + + htim->State = HAL_TIM_STATE_BUSY; + + /* Clear GC5Cx bit fields */ + htim->Instance->CCR5 &= ~(TIM_CCR5_GC5C3|TIM_CCR5_GC5C2|TIM_CCR5_GC5C1); + + /* Set GC5Cx bit fields */ + htim->Instance->CCR5 |= Channels; + + htim->State = HAL_TIM_STATE_READY; + + __HAL_UNLOCK(htim); + + return HAL_OK; +} + + +/** + * @} + */ + +/** @defgroup TIMEx_Exported_Functions_Group6 Extended Callbacks functions + * @brief Extended Callbacks functions + * +@verbatim + ============================================================================== + ##### Extended Callbacks functions ##### + ============================================================================== + [..] + This section provides Extended TIM callback functions: + (+) TIM Commutation callback + (+) TIM Break callback + +@endverbatim + * @{ + */ + +/** + * @brief Hall commutation changed callback in non blocking mode + * @param htim : TIM handle + * @retval None + */ +__weak void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIMEx_CommutationCallback could be implemented in the user file + */ +} + +/** + * @brief Hall Break detection callback in non blocking mode + * @param htim : TIM handle + * @retval None + */ +__weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(htim); + + /* NOTE : This function Should not be modified, when the callback is needed, + the HAL_TIMEx_BreakCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup TIMEx_Exported_Functions_Group7 Extended Peripheral State functions + * @brief Extended Peripheral State functions + * +@verbatim + ============================================================================== + ##### Extended Peripheral State functions ##### + ============================================================================== + [..] + This subsection permit to get in run-time the status of the peripheral + and the data flow. + +@endverbatim + * @{ + */ + +/** + * @brief Return the TIM Hall Sensor interface state + * @param htim: TIM Hall Sensor handle + * @retval HAL state + */ +HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim) +{ + return htim->State; +} + +/** + * @} + */ + +/** + * @brief TIM DMA Commutation callback. + * @param hdma : pointer to DMA handle. + * @retval None + */ +void HAL_TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma) +{ + TIM_HandleTypeDef* htim = ( TIM_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + htim->State= HAL_TIM_STATE_READY; + + HAL_TIMEx_CommutationCallback(htim); +} + +/** + * @brief Enables or disables the TIM Capture Compare Channel xN. + * @param TIMx to select the TIM peripheral + * @param Channel: specifies the TIM Channel + * This parameter can be one of the following values: + * @arg TIM_Channel_1: TIM Channel 1 + * @arg TIM_Channel_2: TIM Channel 2 + * @arg TIM_Channel_3: TIM Channel 3 + * @param ChannelNState: specifies the TIM Channel CCxNE bit new state. + * This parameter can be: TIM_CCxN_ENABLE or TIM_CCxN_Disable. + * @retval None + */ +static void TIM_CCxNChannelCmd(TIM_TypeDef* TIMx, uint32_t Channel, uint32_t ChannelNState) +{ + uint32_t tmp = 0; + + tmp = TIM_CCER_CC1NE << Channel; + + /* Reset the CCxNE Bit */ + TIMx->CCER &= ~tmp; + + /* Set or reset the CCxNE Bit */ + TIMx->CCER |= (uint32_t)(ChannelNState << Channel); +} + +/** + * @} + */ + +#endif /* HAL_TIM_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c new file mode 100644 index 0000000000..cd2811b62f --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c @@ -0,0 +1,2914 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_uart.c + * @author MCD Application Team + * @brief UART HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART). + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + * + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The UART HAL driver can be used as follows: + + (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart). + (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API: + (++) Enable the USARTx interface clock. + (++) UART pins configuration: + (+++) Enable the clock for the UART GPIOs. + (+++) Configure these UART pins as alternate function pull-up. + (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT() + and HAL_UART_Receive_IT() APIs): + (+++) Configure the USARTx interrupt priority. + (+++) Enable the NVIC USART IRQ handle. + (++) UART interrupts handling: + -@@- The specific UART interrupts (Transmission complete interrupt, + RXNE interrupt and Error Interrupts) are managed using the macros + __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit and receive processes. + (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA() + and HAL_UART_Receive_DMA() APIs): + (+++) Declare a DMA handle structure for the Tx/Rx channel. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. + (+++) Configure the DMA Tx/Rx channel. + (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the DMA Tx/Rx channel. + + (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware + flow control and Mode (Receiver/Transmitter) in the huart handle Init structure. + + (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...) + in the huart handle AdvancedInit structure. + + (#) For the UART asynchronous mode, initialize the UART registers by calling + the HAL_UART_Init() API. + + (#) For the UART Half duplex mode, initialize the UART registers by calling + the HAL_HalfDuplex_Init() API. + + (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers + by calling the HAL_LIN_Init() API. + + (#) For the UART Multiprocessor mode, initialize the UART registers + by calling the HAL_MultiProcessor_Init() API. + + (#) For the UART RS485 Driver Enabled mode, initialize the UART registers + by calling the HAL_RS485Ex_Init() API. + + [..] + (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Init(), + also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by + calling the customized HAL_UART_MspInit() API. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup UART UART + * @brief HAL UART module driver + * @{ + */ + +#ifdef HAL_UART_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup UART_Private_Constants UART Private Constants + * @{ + */ +#define UART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | \ + USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8| \ + USART_CR1_FIFOEN )) /*!< UART or USART CR1 fields of parameters set by UART_SetConfig API */ + +#define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE | USART_CR3_ONEBIT| \ + USART_CR3_TXFTCFG | USART_CR3_RXFTCFG )) /*!< UART or USART CR3 fields of parameters set by UART_SetConfig API */ + +#define UART_LPUART_BRR_MIN ((uint32_t)0x00000300) /* LPUART BRR minimum authorized value */ +#define UART_LPUART_BRR_MAX ((uint32_t)0x000FFFFF) /* LPUART BRR maximum authorized value */ +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup UART_Private_Functions + * @{ + */ +static void UART_EndTxTransfer(UART_HandleTypeDef *huart); +static void UART_EndRxTransfer(UART_HandleTypeDef *huart); +static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma); +static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); +static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); +static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); +static void UART_DMAError(DMA_HandleTypeDef *hdma); +static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma); +static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); +static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); +static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); +static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); +static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart); +static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart); +static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup UART_Exported_Functions UART Exported Functions + * @{ + */ + +/** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim +=============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the USARTx or the UARTy + in asynchronous mode. + (+) For the asynchronous mode the parameters below can be configured: + (++) Baud Rate + (++) Word Length + (++) Stop Bit + (++) Parity: If the parity is enabled, then the MSB bit of the data written + in the data register is transmitted but is changed by the parity bit. + (++) Hardware flow control + (++) Receiver/transmitter modes + (++) Over Sampling Method + (++) One-Bit Sampling Method + (+) For the asynchronous mode, the following advanced features can be configured as well: + (++) TX and/or RX pin level inversion + (++) data logical level inversion + (++) RX and TX pins swap + (++) RX overrun detection disabling + (++) DMA disabling on RX error + (++) MSB first on communication line + (++) auto Baud rate detection + [..] + The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API + follow respectively the UART asynchronous, UART Half duplex, UART LIN mode + and UART multiprocessor mode configuration procedures (details for the procedures + are available in reference manual). + +@endverbatim + + Depending on the frame length defined by the M1 and M0 bits (7-bit, + 8-bit or 9-bit), the possible UART formats are listed in the + following table. + + Table 1. UART frame format. + +-----------------------------------------------------------------------+ + | M1 bit | M0 bit | PCE bit | UART frame | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 0 | | SB | 8 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 0 | | SB | 9 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 0 | | SB | 7 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | + +-----------------------------------------------------------------------+ + + * @{ + */ + +/** + * @brief Initialize the UART mode according to the specified + * parameters in the UART_InitTypeDef and initialize the associated handle. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) +{ + /* Check the UART handle allocation */ + if(huart == NULL) + { + return HAL_ERROR; + } + + if(huart->Init.HwFlowCtl != UART_HWCONTROL_NONE) + { + /* Check the parameters */ + assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance)); + } + else + { + /* Check the parameters */ + assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance))); + } + + if(huart->gState == HAL_UART_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + huart->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_UART_MspInit(huart); + } + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + /* Set the UART Communication parameters */ + if (UART_SetConfig(huart) == HAL_ERROR) + { + return HAL_ERROR; + } + + if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) + { + UART_AdvFeatureConfig(huart); + } + + /* In asynchronous mode, the following bits must be kept cleared: + - LINEN and CLKEN bits in the USART_CR2 register, + - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ + CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); + CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); + + /* Enable the Peripheral */ + __HAL_UART_ENABLE(huart); + + /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ + return (UART_CheckIdleState(huart)); +} + +/** + * @brief Initialize the half-duplex mode according to the specified + * parameters in the UART_InitTypeDef and creates the associated handle. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) +{ + /* Check the UART handle allocation */ + if(huart == NULL) + { + return HAL_ERROR; + } + + /* Check UART instance */ + assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); + + if(huart->gState == HAL_UART_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + huart->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_UART_MspInit(huart); + } + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + /* Set the UART Communication parameters */ + if (UART_SetConfig(huart) == HAL_ERROR) + { + return HAL_ERROR; + } + + if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) + { + UART_AdvFeatureConfig(huart); + } + + /* In half-duplex mode, the following bits must be kept cleared: + - LINEN and CLKEN bits in the USART_CR2 register, + - SCEN and IREN bits in the USART_CR3 register.*/ + CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); + CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); + + /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ + SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); + + /* Enable the Peripheral */ + __HAL_UART_ENABLE(huart); + + /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ + return (UART_CheckIdleState(huart)); +} + + +/** + * @brief Initialize the LIN mode according to the specified + * parameters in the UART_InitTypeDef and creates the associated handle . + * @param huart: UART handle. + * @param BreakDetectLength: specifies the LIN break detection length. + * This parameter can be one of the following values: + * @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection + * @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) +{ + /* Check the UART handle allocation */ + if(huart == NULL) + { + return HAL_ERROR; + } + + /* Check the LIN UART instance */ + assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); + /* Check the Break detection length parameter */ + assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); + + /* LIN mode limited to 16-bit oversampling only */ + if(huart->Init.OverSampling == UART_OVERSAMPLING_8) + { + return HAL_ERROR; + } + /* LIN mode limited to 8-bit data length */ + if(huart->Init.WordLength != UART_WORDLENGTH_8B) + { + return HAL_ERROR; + } + + if(huart->gState == HAL_UART_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + huart->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_UART_MspInit(huart); + } + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + /* Set the UART Communication parameters */ + if (UART_SetConfig(huart) == HAL_ERROR) + { + return HAL_ERROR; + } + + if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) + { + UART_AdvFeatureConfig(huart); + } + + /* In LIN mode, the following bits must be kept cleared: + - LINEN and CLKEN bits in the USART_CR2 register, + - SCEN and IREN bits in the USART_CR3 register.*/ + CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); + CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); + + /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ + SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); + + /* Set the USART LIN Break detection length. */ + MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); + + /* Enable the Peripheral */ + __HAL_UART_ENABLE(huart); + + /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ + return (UART_CheckIdleState(huart)); +} + + +/** + * @brief Initialize the multiprocessor mode according to the specified + * parameters in the UART_InitTypeDef and initialize the associated handle. + * @param huart: UART handle. + * @param Address: UART node address (4-, 6-, 7- or 8-bit long). + * @param WakeUpMethod: specifies the UART wakeup method. + * This parameter can be one of the following values: + * @arg UART_WAKEUPMETHOD_IDLELINE: WakeUp by an idle line detection + * @arg UART_WAKEUPMETHOD_ADDRESSMARK: WakeUp by an address mark + * @note If the user resorts to idle line detection wake up, the Address parameter + * is useless and ignored by the initialization function. + * @note If the user resorts to address mark wake up, the address length detection + * is configured by default to 4 bits only. For the UART to be able to + * manage 6-, 7- or 8-bit long addresses detection, the API + * HAL_MultiProcessorEx_AddressLength_Set() must be called after + * HAL_MultiProcessor_Init(). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod) +{ + /* Check the UART handle allocation */ + if(huart == NULL) + { + return HAL_ERROR; + } + + /* Check the wake up method parameter */ + assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); + + if(huart->gState == HAL_UART_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + huart->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_UART_MspInit(huart); + } + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + /* Set the UART Communication parameters */ + if (UART_SetConfig(huart) == HAL_ERROR) + { + return HAL_ERROR; + } + + if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) + { + UART_AdvFeatureConfig(huart); + } + + /* In multiprocessor mode, the following bits must be kept cleared: + - LINEN and CLKEN bits in the USART_CR2 register, + - SCEN, HDSEL and IREN bits in the USART_CR3 register. */ + CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); + CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); + + if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) + { + /* If address mark wake up method is chosen, set the USART address node */ + MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)); + } + + /* Set the wake up method by setting the WAKE bit in the CR1 register */ + MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); + + /* Enable the Peripheral */ + __HAL_UART_ENABLE(huart); + + /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ + return (UART_CheckIdleState(huart)); +} + + +/** + * @brief DeInitialize the UART peripheral. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) +{ + /* Check the UART handle allocation */ + if(huart == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance))); + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + huart->Instance->CR1 = 0x0U; + huart->Instance->CR2 = 0x0U; + huart->Instance->CR3 = 0x0U; + + /* DeInit the low level hardware */ + HAL_UART_MspDeInit(huart); + + huart->ErrorCode = HAL_UART_ERROR_NONE; + huart->gState = HAL_UART_STATE_RESET; + huart->RxState = HAL_UART_STATE_RESET; + + /* Process Unlock */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + +/** + * @brief Initialize the UART MSP. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_MspInit can be implemented in the user file + */ +} + +/** + * @brief DeInitialize the UART MSP. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup UART_Exported_Functions_Group2 IO operation functions + * @brief UART Transmit/Receive functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + This subsection provides a set of functions allowing to manage the UART asynchronous + and Half duplex data transfers. + + (#) There are two mode of transfer: + (+) Blocking mode: The communication is performed in polling mode. + The HAL status of all data processing is returned by the same function + after finishing transfer. + (+) Non-Blocking mode: The communication is performed using Interrupts + or DMA, These API's return the HAL status. + The end of the data processing will be indicated through the + dedicated UART IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks + will be executed respectively at the end of the transmit or Receive process + The HAL_UART_ErrorCallback()user callback will be executed when a communication error is detected + + (#) Blocking mode API's are : + (+) HAL_UART_Transmit() + (+) HAL_UART_Receive() + + (#) Non-Blocking mode API's with Interrupt are : + (+) HAL_UART_Transmit_IT() + (+) HAL_UART_Receive_IT() + (+) HAL_UART_IRQHandler() + + (#) Non-Blocking mode API's with DMA are : + (+) HAL_UART_Transmit_DMA() + (+) HAL_UART_Receive_DMA() + (+) HAL_UART_DMAPause() + (+) HAL_UART_DMAResume() + (+) HAL_UART_DMAStop() + + (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: + (+) HAL_UART_TxHalfCpltCallback() + (+) HAL_UART_TxCpltCallback() + (+) HAL_UART_RxHalfCpltCallback() + (+) HAL_UART_RxCpltCallback() + (+) HAL_UART_ErrorCallback() + + (#) Non-Blocking mode transfers could be aborted using Abort API's : + (+) HAL_UART_Abort() + (+) HAL_UART_AbortTransmit() + (+) HAL_UART_AbortReceive() + (+) HAL_UART_Abort_IT() + (+) HAL_UART_AbortTransmit_IT() + (+) HAL_UART_AbortReceive_IT() + + (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Callbacks are provided: + (+) HAL_UART_AbortCpltCallback() + (+) HAL_UART_AbortTransmitCpltCallback() + (+) HAL_UART_AbortReceiveCpltCallback() + + (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. + Errors are handled as follows : + (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but error severity is + to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Interrupt mode reception . + Received character is then retrieved and stored in Rx buffer, Error code is set to allow user to identify error type, + and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART side. + If user wants to abort it, Abort services should be called by user. + (+) Error is considered as Blocking : Transfer could not be completed properly and is aborted. + This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. + Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() user callback is executed. + + -@- In the Half duplex communication, it is forbidden to run the transmit + and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. + +@endverbatim + * @{ + */ + +/** + * @brief Send an amount of data in blocking mode. + * @param huart: UART handle. + * @param pData: Pointer to data buffer. + * @param Size: Amount of data to be sent. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint16_t* tmp; + uint32_t tickstart = 0U; + + /* Check that a Tx process is not already ongoing */ + if(huart->gState == HAL_UART_STATE_READY) + { + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->ErrorCode = HAL_UART_ERROR_NONE; + huart->gState = HAL_UART_STATE_BUSY_TX; + + /* Init tickstart for timeout managment*/ + tickstart = HAL_GetTick(); + + huart->TxXferSize = Size; + huart->TxXferCount = Size; + while(huart->TxXferCount > 0U) + { + huart->TxXferCount--; + if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) + { + tmp = (uint16_t*) pData; + huart->Instance->TDR = (*tmp & (uint16_t)0x01FFU); + pData += 2U; + } + else + { + huart->Instance->TDR = (*pData++ & (uint8_t)0xFFU); + } + } + if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* At end of Tx process, restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in blocking mode. + * @param huart: UART handle. + * @param pData: pointer to data buffer. + * @param Size: amount of data to be received. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) +{ + uint16_t* tmp; + uint16_t uhMask; + uint32_t tickstart = 0; + + /* Check that a Rx process is not already ongoing */ + if(huart->RxState == HAL_UART_STATE_READY) + { + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->ErrorCode = HAL_UART_ERROR_NONE; + huart->RxState = HAL_UART_STATE_BUSY_RX; + + /* Init tickstart for timeout managment*/ + tickstart = HAL_GetTick(); + + huart->RxXferSize = Size; + huart->RxXferCount = Size; + + /* Computation of UART mask to apply to RDR register */ + UART_MASK_COMPUTATION(huart); + uhMask = huart->Mask; + + /* as long as data have to be received */ + while(huart->RxXferCount > 0U) + { + huart->RxXferCount--; + if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) + { + tmp = (uint16_t*) pData ; + *tmp = (uint16_t)(huart->Instance->RDR & uhMask); + pData +=2U; + } + else + { + *pData++ = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); + } + } + + /* At end of Rx process, restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Send an amount of data in interrupt mode. + * @param huart: UART handle. + * @param pData: pointer to data buffer. + * @param Size: amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) +{ + /* Check that a Tx process is not already ongoing */ + if(huart->gState == HAL_UART_STATE_READY) + { + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->pTxBuffPtr = pData; + huart->TxXferSize = Size; + huart->TxXferCount = Size; + + huart->ErrorCode = HAL_UART_ERROR_NONE; + huart->gState = HAL_UART_STATE_BUSY_TX; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + /* Enable the TX FIFO threshold interrupt (if FIFO mode is enabled) or + Transmit Data Register Empty interrupt (if FIFO mode is Disabled). + */ + if (READ_BIT(huart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + SET_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); + } + else + { + SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in interrupt mode. + * @param huart: UART handle. + * @param pData: pointer to data buffer. + * @param Size: amount of data to be received. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) +{ + /* Check that a Rx process is not already ongoing */ + if(huart->RxState == HAL_UART_STATE_READY) + { + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->pRxBuffPtr = pData; + huart->RxXferSize = Size; + huart->RxXferCount = Size; + + /* Computation of UART mask to apply to RDR register */ + UART_MASK_COMPUTATION(huart); + + huart->ErrorCode = HAL_UART_ERROR_NONE; + huart->RxState = HAL_UART_STATE_BUSY_RX; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(huart->Instance->CR3, USART_CR3_EIE); + + /* Enable the UART Parity Error interupt and RX FIFO Threshold interrupt + (if FIFO mode is enabled) or Data Register Not Empty interrupt + (if FIFO mode is disabled). + */ + if (READ_BIT(huart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); + SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); + } + else + { + SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Send an amount of data in DMA mode. + * @param huart: UART handle. + * @param pData: pointer to data buffer. + * @param Size: amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) +{ + /* Check that a Tx process is not already ongoing */ + if(huart->gState == HAL_UART_STATE_READY) + { + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->pTxBuffPtr = pData; + huart->TxXferSize = Size; + huart->TxXferCount = Size; + + huart->ErrorCode = HAL_UART_ERROR_NONE; + huart->gState = HAL_UART_STATE_BUSY_TX; + + /* Set the UART DMA transfer complete callback */ + huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; + + /* Set the UART DMA Half transfer complete callback */ + huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; + + /* Set the DMA error callback */ + huart->hdmatx->XferErrorCallback = UART_DMAError; + + /* Set the DMA abort callback */ + huart->hdmatx->XferAbortCallback = NULL; + + /* Enable the UART transmit DMA channel */ + HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->TDR, Size); + + /* Clear the TC flag in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + /* Enable the DMA transfer for transmit request by setting the DMAT bit + in the UART CR3 register */ + SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in DMA mode. + * @param huart: UART handle. + * @param pData: pointer to data buffer. + * @param Size: amount of data to be received. + * @note When the UART parity is enabled (PCE = 1), the received data contain + * the parity bit (MSB position). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) +{ + /* Check that a Rx process is not already ongoing */ + if(huart->RxState == HAL_UART_STATE_READY) + { + if((pData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->pRxBuffPtr = pData; + huart->RxXferSize = Size; + + huart->ErrorCode = HAL_UART_ERROR_NONE; + huart->RxState = HAL_UART_STATE_BUSY_RX; + + /* Set the UART DMA transfer complete callback */ + huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; + + /* Set the UART DMA Half transfer complete callback */ + huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; + + /* Set the DMA error callback */ + huart->hdmarx->XferErrorCallback = UART_DMAError; + + /* Set the DMA abort callback */ + huart->hdmarx->XferAbortCallback = NULL; + + /* Enable the DMA channel */ + HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPtr, Size); + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + /* Enable the UART Parity Error Interrupt */ + SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); + + /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(huart->Instance->CR3, USART_CR3_EIE); + + /* Enable the DMA transfer for the receiver request by setting the DMAR bit + in the UART CR3 register */ + SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Pause the DMA Transfer. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + + if ((huart->gState == HAL_UART_STATE_BUSY_TX) && + (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))) + { + /* Disable the UART DMA Tx request */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + } + if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && + (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))) + { + /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); + + /* Disable the UART DMA Rx request */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + } + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + +/** + * @brief Resume the DMA Transfer. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + + if(huart->gState == HAL_UART_STATE_BUSY_TX) + { + /* Enable the UART DMA Tx request */ + SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); + } + if(huart->RxState == HAL_UART_STATE_BUSY_RX) + { + /* Clear the Overrun flag before resuming the Rx transfer */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); + + /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */ + SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); + SET_BIT(huart->Instance->CR3, USART_CR3_EIE); + + /* Enable the UART DMA Rx request */ + SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); + } + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + +/** + * @brief Stop the DMA Transfer. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) +{ + /* The Lock is not implemented on this API to allow the user application + to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() / + HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: + indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete + interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of + the stream and the corresponding call back is executed. */ + + /* Stop UART DMA Tx request if ongoing */ + if ((huart->gState == HAL_UART_STATE_BUSY_TX) && + (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + + /* Abort the UART DMA Tx channel */ + if(huart->hdmatx != NULL) + { + HAL_DMA_Abort(huart->hdmatx); + } + + UART_EndTxTransfer(huart); + } + + /* Stop UART DMA Rx request if ongoing */ + if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && + (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the UART DMA Rx channel */ + if(huart->hdmarx != NULL) + { + HAL_DMA_Abort(huart->hdmarx); + } + + UART_EndRxTransfer(huart); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing transfers (blocking mode). + * @param huart UART handle. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable UART Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) +{ + /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); + + /* Disable the UART DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + + /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ + if(huart->hdmatx != NULL) + { + /* Set the UART DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + huart->hdmatx->XferAbortCallback = NULL; + + HAL_DMA_Abort(huart->hdmatx); + } + } + + /* Disable the UART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ + if(huart->hdmarx != NULL) + { + /* Set the UART DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + huart->hdmarx->XferAbortCallback = NULL; + + HAL_DMA_Abort(huart->hdmarx); + } + } + + /* Reset Tx and Rx transfer counters */ + huart->TxXferCount = 0U; + huart->RxXferCount = 0U; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->gState and huart->RxState to Ready */ + huart->gState = HAL_UART_STATE_READY; + huart->RxState = HAL_UART_STATE_READY; + + /* Reset Handle ErrorCode to No Error */ + huart->ErrorCode = HAL_UART_ERROR_NONE; + + return HAL_OK; +} + +/** + * @brief Abort ongoing Transmit transfer (blocking mode). + * @param huart UART handle. + * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable UART Interrupts (Tx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) +{ + /* Disable TCIE, TXEIE and TXFTIE interrupts */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE | USART_CR1_TXEIE); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); + + /* Disable the UART DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + + /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ + if(huart->hdmatx != NULL) + { + /* Set the UART DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + huart->hdmatx->XferAbortCallback = NULL; + + HAL_DMA_Abort(huart->hdmatx); + } + } + + /* Reset Tx transfer counter */ + huart->TxXferCount = 0U; + + /* Restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Abort ongoing Receive transfer (blocking mode). + * @param huart UART handle. + * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable UART Interrupts (Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) +{ + /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupt */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); + + /* Disable the UART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ + if(huart->hdmarx != NULL) + { + /* Set the UART DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + huart->hdmarx->XferAbortCallback = NULL; + + HAL_DMA_Abort(huart->hdmarx); + } + } + + /* Reset Rx transfer counter */ + huart->RxXferCount = 0U; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Abort ongoing transfers (Interrupt mode). + * @param huart UART handle. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable UART Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) +{ + uint32_t abortcplt = 1U; + + /* Disable interrupts */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_TCIE | USART_CR1_RXNEIE); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); + + /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks should be initialised + before any call to DMA Abort functions */ + /* DMA Tx Handle is valid */ + if(huart->hdmatx != NULL) + { + /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) + { + huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; + } + else + { + huart->hdmatx->XferAbortCallback = NULL; + } + } + /* DMA Rx Handle is valid */ + if(huart->hdmarx != NULL) + { + /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) + { + huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; + } + else + { + huart->hdmarx->XferAbortCallback = NULL; + } + } + + /* Disable the UART DMA Tx request if enabled */ + if(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) + { + /* Disable DMA Tx at UART level */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + + /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ + if(huart->hdmatx != NULL) + { + /* UART Tx DMA Abort callback has already been initialised : + will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) + { + huart->hdmatx->XferAbortCallback = NULL; + } + else + { + abortcplt = 0U; + } + } + } + + /* Disable the UART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ + if(huart->hdmarx != NULL) + { + /* UART Rx DMA Abort callback has already been initialised : + will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) + { + huart->hdmarx->XferAbortCallback = NULL; + abortcplt = 1U; + } + else + { + abortcplt = 0U; + } + } + } + + /* if no DMA abort complete callback execution is required => call user Abort Complete callback */ + if (abortcplt == 1U) + { + /* Reset Tx and Rx transfer counters */ + huart->TxXferCount = 0U; + huart->RxXferCount = 0U; + + /* Reset errorCode */ + huart->ErrorCode = HAL_UART_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->gState and huart->RxState to Ready */ + huart->gState = HAL_UART_STATE_READY; + huart->RxState = HAL_UART_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_UART_AbortCpltCallback(huart); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing Transmit transfer (Interrupt mode). + * @param huart UART handle. + * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable UART Interrupts (Tx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) +{ + /* Disable interrupts */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE | USART_CR1_TXEIE); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); + + /* Disable the UART DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + + /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ + if(huart->hdmatx != NULL) + { + /* Set the UART DMA Abort callback : + will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ + huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) + { + /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ + huart->hdmatx->XferAbortCallback(huart->hdmatx); + } + } + else + { + /* Reset Tx transfer counter */ + huart->TxXferCount = 0U; + + /* Restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_UART_AbortTransmitCpltCallback(huart); + } + } + else + { + /* Reset Tx transfer counter */ + huart->TxXferCount = 0U; + + /* Restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_UART_AbortTransmitCpltCallback(huart); + } + + return HAL_OK; +} + +/** + * @brief Abort ongoing Receive transfer (Interrupt mode). + * @param huart UART handle. + * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable UART Interrupts (Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) +{ + /* Disable ERR (Frame error, noise error, overrun error) interrupt */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); + + /* Disable the UART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ + if(huart->hdmarx != NULL) + { + /* Set the UART DMA Abort callback : + will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ + huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) + { + /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ + huart->hdmarx->XferAbortCallback(huart->hdmarx); + } + } + else + { + /* Reset Rx transfer counter */ + huart->RxXferCount = 0U; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_UART_AbortReceiveCpltCallback(huart); + } + } + else + { + /* Reset Rx transfer counter */ + huart->RxXferCount = 0U; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_UART_AbortReceiveCpltCallback(huart); + } + + return HAL_OK; +} + +/** + * @brief Handle UART interrupt request. + * @param huart: UART handle. + * @retval None + */ +void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) +{ + uint32_t isrflags = READ_REG(huart->Instance->ISR); + uint32_t cr1its = READ_REG(huart->Instance->CR1); + uint32_t cr3its = READ_REG(huart->Instance->CR3); + uint32_t errorflags; + + /* If no error occurs */ + errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE)); + if (errorflags == RESET) + { + /* UART in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) + && ( ((cr1its & USART_CR1_RXNEIE) != RESET) + || ((cr3its & USART_CR3_RXFTIE) != RESET)) ) + { + UART_Receive_IT(huart); + return; + } + } + + /* If some errors occur */ + if( (errorflags != RESET) + && ( ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != RESET) + || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET))) + { + /* UART parity error interrupt occurred -------------------------------------*/ + if(((isrflags & USART_ISR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET)) + { + __HAL_UART_CLEAR_IT(huart, UART_CLEAR_PEF); + + huart->ErrorCode |= HAL_UART_ERROR_PE; + } + + /* UART frame error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_UART_CLEAR_IT(huart, UART_CLEAR_FEF); + + huart->ErrorCode |= HAL_UART_ERROR_FE; + } + + /* UART noise error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_UART_CLEAR_IT(huart, UART_CLEAR_NEF); + + huart->ErrorCode |= HAL_UART_ERROR_NE; + } + + /* UART Over-Run interrupt occurred -----------------------------------------*/ + if( ((isrflags & USART_ISR_ORE) != RESET) + &&( ((cr1its & USART_CR1_RXNEIE) != RESET) || + ((cr3its & USART_CR3_RXFTIE) != RESET) || + ((cr3its & USART_CR3_EIE) != RESET)) ) + { + __HAL_UART_CLEAR_IT(huart, UART_CLEAR_OREF); + + huart->ErrorCode |= HAL_UART_ERROR_ORE; + } + + /* Call UART Error Call back function if need be --------------------------*/ + if(huart->ErrorCode != HAL_UART_ERROR_NONE) + { + /* UART in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) + && ( ((cr1its & USART_CR1_RXNEIE) != RESET) + || ((cr3its & USART_CR3_RXFTIE) != RESET)) ) + { + UART_Receive_IT(huart); + } + + /* If Overrun error occurs, or if any error occurs in DMA mode reception, + consider error as blocking */ + if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || + (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))) + { + /* Blocking error : transfer is aborted + Set the UART state ready to be able to start again the process, + Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ + UART_EndRxTransfer(huart); + + /* Disable the UART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the UART DMA Rx channel */ + if(huart->hdmarx != NULL) + { + /* Set the UART DMA Abort callback : + will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ + huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) + { + /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ + huart->hdmarx->XferAbortCallback(huart->hdmarx); + } + } + else + { + /* Call user error callback */ + HAL_UART_ErrorCallback(huart); + } + } + else + { + /* Call user error callback */ + HAL_UART_ErrorCallback(huart); + } + } + else + { + /* Non Blocking error : transfer could go on. + Error is notified to user through user error callback */ + HAL_UART_ErrorCallback(huart); + huart->ErrorCode = HAL_UART_ERROR_NONE; + } + } + return; + + } /* End if some error occurs */ + + /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ + if(((isrflags & USART_ISR_WUF) != RESET) && ((cr3its & USART_CR3_WUFIE) != RESET)) + { + __HAL_UART_CLEAR_IT(huart, UART_CLEAR_WUF); + /* Set the UART state ready to be able to start again the process */ + huart->gState = HAL_UART_STATE_READY; + huart->RxState = HAL_UART_STATE_READY; + HAL_UARTEx_WakeupCallback(huart); + return; + } + + /* UART in mode Transmitter ------------------------------------------------*/ + if(((isrflags & USART_ISR_TXE) != RESET) + && ( ((cr1its & USART_CR1_TXEIE) != RESET) + || ((cr3its & USART_CR3_TXFTIE) != RESET)) ) + { + UART_Transmit_IT(huart); + return; + } + + /* UART in mode Transmitter (transmission end) -----------------------------*/ + if(((isrflags & USART_ISR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET)) + { + UART_EndTransmit_IT(huart); + return; + } + + /* UART TX FIFO Empty -----------------------------------------------------*/ + if(((isrflags & USART_ISR_TXFE) != RESET) && ((cr1its & USART_CR1_TXFEIE) != RESET)) + { + CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXFEIE); + } +} + +/** + * @brief Tx Transfer completed callback. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_TxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Tx Half Transfer completed callback. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_UART_TxHalfCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_RxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Rx Half Transfer completed callback. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_UART_RxHalfCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief UART error callback. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_ErrorCallback can be implemented in the user file. + */ +} + +/** + * @brief UART Abort Complete callback. + * @param huart UART handle. + * @retval None + */ +__weak void HAL_UART_AbortCpltCallback (UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_AbortCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief UART Abort Complete callback. + * @param huart UART handle. + * @retval None + */ +__weak void HAL_UART_AbortTransmitCpltCallback (UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief UART Abort Receive Complete callback. + * @param huart UART handle. + * @retval None + */ +__weak void HAL_UART_AbortReceiveCpltCallback (UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions + * @brief UART control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the UART. + (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode + (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode + (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode + (+) UART_SetConfig() API configures the UART peripheral + (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features + (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization + (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter + (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver + (+) HAL_LIN_SendBreak() API transmits the break characters +@endverbatim + * @{ + */ + +/** + * @brief Enable UART in mute mode (does not mean UART enters mute mode; + * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + + huart->gState = HAL_UART_STATE_BUSY; + + /* Enable USART mute mode by setting the MME bit in the CR1 register */ + SET_BIT(huart->Instance->CR1, USART_CR1_MME); + + huart->gState = HAL_UART_STATE_READY; + + return (UART_CheckIdleState(huart)); +} + +/** + * @brief Disable UART mute mode (does not mean the UART actually exits mute mode + * as it may not have been in mute mode at this very moment). + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable USART mute mode by clearing the MME bit in the CR1 register */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); + + huart->gState = HAL_UART_STATE_READY; + + return (UART_CheckIdleState(huart)); +} + +/** + * @brief Enter UART mute mode (means UART actually enters mute mode). + * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. + * @param huart: UART handle. + * @retval None + */ +void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) +{ + __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); +} + +/** + * @brief Enable the UART transmitter and disable the UART receiver. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + huart->gState = HAL_UART_STATE_BUSY; + + /* Clear TE and RE bits */ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); + /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */ + SET_BIT(huart->Instance->CR1, USART_CR1_TE); + + huart->gState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + +/** + * @brief Enable the UART receiver and disable the UART transmitter. + * @param huart: UART handle. + * @retval HAL status. + */ +HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + huart->gState = HAL_UART_STATE_BUSY; + + /* Clear TE and RE bits */ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); + /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */ + SET_BIT(huart->Instance->CR1, USART_CR1_RE); + + huart->gState = HAL_UART_STATE_READY; + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + + +/** + * @brief Transmit break characters. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) +{ + /* Check the parameters */ + assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->gState = HAL_UART_STATE_BUSY; + + /* Send break characters */ + SET_BIT(huart->Instance->RQR, UART_SENDBREAK_REQUEST); + + huart->gState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + + +/** + * @} + */ + +/** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions + * @brief UART Peripheral State functions + * +@verbatim + ============================================================================== + ##### Peripheral State and Error functions ##### + ============================================================================== + [..] + This subsection provides functions allowing to : + (+) Return the UART handle state. + (+) Return the UART handle error code + +@endverbatim + * @{ + */ + +/** + * @brief Return the UART handle state. + * @param huart Pointer to a UART_HandleTypeDef structure that contains + * the configuration information for the specified UART. + * @retval HAL state + */ +HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart) +{ + uint32_t temp1= 0x00U, temp2 = 0x00U; + temp1 = huart->gState; + temp2 = huart->RxState; + + return (HAL_UART_StateTypeDef)(temp1 | temp2); +} + +/** + * @brief Return the UART handle error code. + * @param huart Pointer to a UART_HandleTypeDef structure that contains + * the configuration information for the specified UART. + * @retval UART Error Code +*/ +uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart) +{ + return huart->ErrorCode; +} +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup UART_Private_Functions UART Private Functions + * @{ + */ + +/** + * @brief Configure the UART peripheral. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) +{ + uint32_t tmpreg = 0x00000000U; + UART_ClockSourceTypeDef clocksource = UART_CLOCKSOURCE_UNDEFINED; + uint16_t brrtemp = 0x0000U; + uint16_t usartdiv = 0x0000U; + HAL_StatusTypeDef ret = HAL_OK; + PLL2_ClocksTypeDef pll2_clocks; + PLL3_ClocksTypeDef pll3_clocks; + /* Check the parameters */ + assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); + assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); + if(UART_INSTANCE_LOWPOWER(huart)) + { + assert_param(IS_LPUART_STOPBITS(huart->Init.StopBits)); + } + else + { + assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); + assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); + } + + assert_param(IS_UART_PARITY(huart->Init.Parity)); + assert_param(IS_UART_MODE(huart->Init.Mode)); + assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); + assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); + assert_param(IS_UART_PRESCALER(huart->Init.Prescaler)); + assert_param(IS_UART_FIFO_MODE_STATE(huart->Init.FIFOMode)); + if (huart->Init.FIFOMode == UART_FIFOMODE_ENABLE) + { + assert_param(IS_UART_TXFIFO_THRESHOLD(huart->Init.TXFIFOThreshold)); + assert_param(IS_UART_RXFIFO_THRESHOLD(huart->Init.RXFIFOThreshold)); + } + + /*-------------------------- USART CR1 Configuration -----------------------*/ + /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure + * the UART Word Length, Parity, Mode and oversampling: + * set the M bits according to huart->Init.WordLength value + * set PCE and PS bits according to huart->Init.Parity value + * set TE and RE bits according to huart->Init.Mode value + * set OVER8 bit according to huart->Init.OverSampling value */ + tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.OverSampling ; + tmpreg |= (uint32_t)huart->Init.FIFOMode; + MODIFY_REG(huart->Instance->CR1, UART_CR1_FIELDS, tmpreg); + + /*-------------------------- USART CR2 Configuration -----------------------*/ + /* Configure the UART Stop Bits: Set STOP[13:12] bits according + * to huart->Init.StopBits value */ + MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); + + /*-------------------------- USART CR3 Configuration -----------------------*/ + /* Configure + * - UART HardWare Flow Control: set CTSE and RTSE bits according + * to huart->Init.HwFlowCtl value + * - one-bit sampling method versus three samples' majority rule according + * to huart->Init.OneBitSampling (not applicable to LPUART) + * - set TXFTCFG bit according to husart->Init.TXFIFOThreshold value + * - set RXFTCFG bit according to husart->Init.RXFIFOThreshold value */ + tmpreg = (uint32_t)huart->Init.HwFlowCtl; + + if (!(UART_INSTANCE_LOWPOWER(huart))) + { + tmpreg |= huart->Init.OneBitSampling; + } + + if (huart->Init.FIFOMode == UART_FIFOMODE_ENABLE) + { + tmpreg |= ((uint32_t)huart->Init.TXFIFOThreshold | (uint32_t)huart->Init.RXFIFOThreshold); + } + + MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); + +/*-------------------------- USART PRESC Configuration -----------------------*/ + /* Configure + * - UART Clock Prescaler : set PRESCALER according to huart->Init.Prescaler value */ + MODIFY_REG(huart->Instance->PRESC, USART_PRESC_PRESCALER, huart->Init.Prescaler); + + /*-------------------------- USART BRR Configuration -----------------------*/ + UART_GETCLOCKSOURCE(huart, clocksource); + + /* Check LPUART instance */ + if(UART_INSTANCE_LOWPOWER(huart)) + { + /* Retrieve frequency clock */ + tmpreg = 0U; + + switch (clocksource) + { + case UART_CLOCKSOURCE_D3PCLK1: + tmpreg = HAL_RCCEx_GetD3PCLK1Freq(); + break; + case UART_CLOCKSOURCE_PLL2: + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + tmpreg = pll2_clocks.PLL2_Q_Frequency; + break; + case UART_CLOCKSOURCE_PLL3: + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + tmpreg = pll3_clocks.PLL3_Q_Frequency; + break; + case UART_CLOCKSOURCE_HSI: + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + tmpreg = (uint32_t) (HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> 3U)); + } + else + { + tmpreg = (uint32_t) HSI_VALUE; + } + break; + case UART_CLOCKSOURCE_CSI: + tmpreg =(uint32_t) CSI_VALUE; + break; + case UART_CLOCKSOURCE_LSE: + tmpreg = (uint32_t) LSE_VALUE; + break; + case UART_CLOCKSOURCE_UNDEFINED: + default: + ret = HAL_ERROR; + break; + } + + /* if proper clock source reported */ + if (tmpreg != 0U) + { + /* ensure that Frequency clock is in the range [3 * baudrate, 4096 * baudrate] */ + if ( (tmpreg < (3 * huart->Init.BaudRate) ) || + (tmpreg > (4096 * huart->Init.BaudRate) )) + { + ret = HAL_ERROR; + } + else + { + switch (clocksource) + { + case UART_CLOCKSOURCE_D3PCLK1: + tmpreg = (uint32_t)(UART_DIV_LPUART(HAL_RCCEx_GetD3PCLK1Freq(), huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_PLL2: + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + tmpreg = (uint32_t)(UART_DIV_LPUART(pll2_clocks.PLL2_Q_Frequency, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_PLL3: + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + tmpreg = (uint32_t)(UART_DIV_LPUART(pll3_clocks.PLL3_Q_Frequency, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_HSI: + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + tmpreg = (uint32_t)(UART_DIV_LPUART((HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)), huart->Init.BaudRate, huart->Init.Prescaler)); + } + else + { + tmpreg = (uint32_t)(UART_DIV_LPUART(HSI_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + } + break; + case UART_CLOCKSOURCE_CSI: + tmpreg = (uint32_t)(UART_DIV_LPUART(CSI_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_LSE: + tmpreg = (uint32_t)(UART_DIV_LPUART(LSE_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_UNDEFINED: + default: + ret = HAL_ERROR; + break; + } + + if ((tmpreg >= UART_LPUART_BRR_MIN) && (tmpreg <= UART_LPUART_BRR_MAX)) + { + huart->Instance->BRR = tmpreg; + } + else + { + ret = HAL_ERROR; + } + } /* if ( (tmpreg < (3 * huart->Init.BaudRate) ) || (tmpreg > (4096 * huart->Init.BaudRate) )) */ + } /* if (tmpreg != 0) */ + } + /* Check UART Over Sampling to set Baud Rate Register */ + else if (huart->Init.OverSampling == UART_OVERSAMPLING_8) + { + switch (clocksource) + { + case UART_CLOCKSOURCE_D2PCLK1: + usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_D2PCLK2: + usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_PLL2: + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + usartdiv = (uint16_t)(UART_DIV_SAMPLING8(pll2_clocks.PLL2_Q_Frequency, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_PLL3: + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + usartdiv = (uint16_t)(UART_DIV_SAMPLING8(pll3_clocks.PLL3_Q_Frequency, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_HSI: + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + usartdiv = (uint16_t)(UART_DIV_SAMPLING8((HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)), huart->Init.BaudRate, huart->Init.Prescaler)); + } + else + { + usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HSI_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + } + break; + case UART_CLOCKSOURCE_CSI: + usartdiv = (uint16_t)(UART_DIV_SAMPLING8(CSI_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_LSE: + usartdiv = (uint16_t)(UART_DIV_SAMPLING8(LSE_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_UNDEFINED: + default: + ret = HAL_ERROR; + break; + } + + brrtemp = usartdiv & 0xFFF0U; + brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); + huart->Instance->BRR = brrtemp; + } + else + { + switch (clocksource) + { + case UART_CLOCKSOURCE_D2PCLK1: + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_D2PCLK2: + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_PLL2: + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(pll2_clocks.PLL2_Q_Frequency, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_PLL3: + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(pll3_clocks.PLL3_Q_Frequency, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_HSI: + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16((HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)), huart->Init.BaudRate, huart->Init.Prescaler)); + } + else + { + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(HSI_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + } + break; + case UART_CLOCKSOURCE_CSI: + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(CSI_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_LSE: + huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(LSE_VALUE, huart->Init.BaudRate, huart->Init.Prescaler)); + break; + case UART_CLOCKSOURCE_UNDEFINED: + default: + ret = HAL_ERROR; + break; + } + } + + return ret; +} + +/** + * @brief Configure the UART peripheral advanced features. + * @param huart: UART handle. + * @retval None + */ +void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) +{ + /* Check whether the set of advanced features to configure is properly set */ + assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); + + /* if required, configure TX pin active level inversion */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) + { + assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); + MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); + } + + /* if required, configure RX pin active level inversion */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) + { + assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); + MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); + } + + /* if required, configure data inversion */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) + { + assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); + MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); + } + + /* if required, configure RX/TX pins swap */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) + { + assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); + MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); + } + + /* if required, configure RX overrun detection disabling */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) + { + assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); + MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); + } + + /* if required, configure DMA disabling on reception error */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) + { + assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); + MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); + } + + /* if required, configure auto Baud rate detection scheme */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) + { + assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); + assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); + MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); + /* set auto Baudrate detection parameters if detection is enabled */ + if(huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) + { + assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); + MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); + } + } + + /* if required, configure MSB first on communication line */ + if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) + { + assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); + MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); + } +} + +/** + * @brief Check the UART Idle State. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) +{ + uint32_t tickstart = 0U; + + /* Initialize the UART ErrorCode */ + huart->ErrorCode = HAL_UART_ERROR_NONE; + + /* Init tickstart for timeout managment*/ + tickstart = HAL_GetTick(); + + /* Check if the Transmitter is enabled */ + if((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) + { + /* Wait until TEACK flag is set */ + if(UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + /* Check if the Receiver is enabled */ + if((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) + { + /* Wait until REACK flag is set */ + if(UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + + /* Initialize the UART State */ + huart->gState = HAL_UART_STATE_READY; + huart->RxState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + +/** + * @brief Handle UART Communication Timeout. + * @param huart: UART handle. + * @param Flag Specifies the UART flag to check + * @param Status Flag status (SET or RESET) + * @param Tickstart Tick start value + * @param Timeout Timeout duration + * @retval HAL status + */ +HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout) +{ + /* Wait until flag is set */ + while((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick()-Tickstart) > Timeout)) + { + /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE)); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); + + huart->gState = HAL_UART_STATE_READY; + huart->RxState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_TIMEOUT; + } + } + } + return HAL_OK; +} + + +/** + * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit completion). + * @param huart: UART handle. + * @retval None + */ +static void UART_EndTxTransfer(UART_HandleTypeDef *huart) +{ + /* Disable TXEIE and TCIE interrupts */ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + + /* At end of Tx process, restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; +} + + +/** + * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception completion). + * @param huart: UART handle. + * @retval None + */ +static void UART_EndRxTransfer(UART_HandleTypeDef *huart) +{ + /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); + + /* At end of Rx process, restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; +} + + +/** + * @brief DMA UART transmit process complete callback. + * @param hdma: DMA handle. + * @retval None + */ +static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent); + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + { + huart->TxXferCount = 0U; + + /* Disable the DMA transfer for transmit request by resetting the DMAT bit + in the UART CR3 register */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + + /* Enable the UART Transmit Complete Interrupt */ + SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); + } + /* DMA Circular mode */ + else + { + HAL_UART_TxCpltCallback(huart); + } + +} + +/** + * @brief DMA UART transmit process half complete callback. + * @param hdma : DMA handle. + * @retval None + */ +static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent); + + HAL_UART_TxHalfCpltCallback(huart); +} + +/** + * @brief DMA UART receive process complete callback. + * @param hdma: DMA handle. + * @retval None + */ +static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent); + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + { + huart->RxXferCount = 0U; + + /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); + + /* Disable the DMA transfer for the receiver request by resetting the DMAR bit + in the UART CR3 register */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + + /* At end of Rx process, restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + } + + HAL_UART_RxCpltCallback(huart); +} + +/** + * @brief DMA UART receive process half complete callback. + * @param hdma : DMA handle. + * @retval None + */ +static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent); + + HAL_UART_RxHalfCpltCallback(huart); +} + +/** + * @brief DMA UART communication error callback. + * @param hdma: DMA handle. + * @retval None + */ +static void UART_DMAError(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent); + + /* if DMA error is FIFO error ignore it */ + if(HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_FE) + { + /* Stop UART DMA Tx request if ongoing */ + if ( (huart->gState == HAL_UART_STATE_BUSY_TX) + &&(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) ) + { + huart->TxXferCount = 0U; + UART_EndTxTransfer(huart); + } + + /* Stop UART DMA Rx request if ongoing */ + if ( (huart->RxState == HAL_UART_STATE_BUSY_RX) + &&(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ) + { + huart->RxXferCount = 0U; + UART_EndRxTransfer(huart); + } + + huart->ErrorCode |= HAL_UART_ERROR_DMA; + HAL_UART_ErrorCallback(huart); + } +} + +/** + * @brief DMA UART communication abort callback + * (To be called at end of DMA Abort procedure). + * @param hdma: DMA handle. + * @retval None + */ +static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent); + huart->RxXferCount = 0U; + huart->TxXferCount = 0U; + + HAL_UART_ErrorCallback(huart); +} + +/** + * @brief DMA UART Tx communication abort callback, when initiated by user + * (To be called at end of DMA Tx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Rx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef* )(hdma->Parent); + + huart->hdmatx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(huart->hdmarx != NULL) + { + if(huart->hdmarx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + huart->TxXferCount = 0U; + huart->RxXferCount = 0U; + + /* Reset errorCode */ + huart->ErrorCode = HAL_UART_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->gState and huart->RxState to Ready */ + huart->gState = HAL_UART_STATE_READY; + huart->RxState = HAL_UART_STATE_READY; + + /* Call user Abort complete callback */ + HAL_UART_AbortCpltCallback(huart); +} + + +/** + * @brief DMA UART Rx communication abort callback, when initiated by user + * (To be called at end of DMA Rx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Tx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef* )(hdma->Parent); + + huart->hdmarx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(huart->hdmatx != NULL) + { + if(huart->hdmatx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + huart->TxXferCount = 0U; + huart->RxXferCount = 0U; + + /* Reset errorCode */ + huart->ErrorCode = HAL_UART_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->gState and huart->RxState to Ready */ + huart->gState = HAL_UART_STATE_READY; + huart->RxState = HAL_UART_STATE_READY; + + /* Call user Abort complete callback */ + HAL_UART_AbortCpltCallback(huart); +} + + +/** + * @brief DMA UART Tx communication abort callback, when initiated by user by a call to + * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) + * (This callback is executed at end of DMA Tx Abort procedure following user abort request, + * and leads to user Tx Abort Complete callback execution). + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent); + + huart->TxXferCount = 0U; + + /* Restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; + + /* Call user Abort complete callback */ + HAL_UART_AbortTransmitCpltCallback(huart); +} + +/** + * @brief DMA UART Rx communication abort callback, when initiated by user by a call to + * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) + * (This callback is executed at end of DMA Rx Abort procedure following user abort request, + * and leads to user Rx Abort Complete callback execution). + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) +{ + UART_HandleTypeDef* huart = ( UART_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; + + huart->RxXferCount = 0U; + + /* Clear the Error flags in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); + + /* Restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + + /* Call user Abort complete callback */ + HAL_UART_AbortReceiveCpltCallback(huart); +} + +/** + * @brief Send an amount of data in interrupt mode. + * @note Function is called under interruption only, once + * interruptions have been enabled by HAL_UART_Transmit_IT(). + * @param huart: UART handle. + * @retval HAL status + */ +static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart) +{ + uint16_t* tmp; + + /* Check that a Tx process is ongoing */ + if (huart->gState == HAL_UART_STATE_BUSY_TX) + { + if(huart->TxXferCount == 0U) + { + /* Disable the TX FIFO threshold interrupt (if FIFO mode is enabled) or + Transmit Data Register Empty interrupt (if FIFO mode is Disabled). + */ + if (READ_BIT(huart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); + } + else + { + CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); + } + + /* Enable the UART Transmit Complete Interrupt */ + SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); + + return HAL_OK; + } + else + { + if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) + { + tmp = (uint16_t*) huart->pTxBuffPtr; + huart->Instance->TDR = (*tmp & (uint16_t)0x01FFU); + huart->pTxBuffPtr += 2U; + } + else + { + huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0xFFU); + } + huart->TxXferCount--; + + return HAL_OK; + } + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Wrap up transmission in non-blocking mode. + * @param huart: pointer to a UART_HandleTypeDef structure that contains + * the configuration information for the specified UART module. + * @retval HAL status + */ +static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart) +{ + /* Disable the UART Transmit Complete Interrupt */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); + + /* Tx process is ended, restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; + + HAL_UART_TxCpltCallback(huart); + + return HAL_OK; +} + + +/** + * @brief Receive an amount of data in interrupt mode. + * @note Function is called under interruption only, once + * interruptions have been enabled by HAL_UART_Receive_IT() + * @param huart: UART handle. + * @retval HAL status + */ +static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart) +{ + uint16_t* tmp; + uint16_t uhMask = huart->Mask; + uint16_t uhdata; + + /* Check that a Rx process is ongoing */ + if(huart->RxState == HAL_UART_STATE_BUSY_RX) + { + uhdata = (uint16_t) READ_REG(huart->Instance->RDR); + if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) + { + tmp = (uint16_t*) huart->pRxBuffPtr ; + *tmp = (uint16_t)(uhdata & uhMask); + huart->pRxBuffPtr +=2; + } + else + { + *huart->pRxBuffPtr++ = (uint8_t)(uhdata & (uint8_t)uhMask); + } + + if(--huart->RxXferCount == 0U) + { + /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + + /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); + + /* Rx process is completed, restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + + HAL_UART_RxCpltCallback(huart); + + return HAL_OK; + } + + return HAL_OK; + } + else + { + /* Clear RXNE interrupt flag */ + __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); + + return HAL_BUSY; + } +} + +/** + * @} + */ + +#endif /* HAL_UART_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c new file mode 100644 index 0000000000..6e9efff87b --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c @@ -0,0 +1,504 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_uart_ex.c + * @author MCD Application Team + * @brief Extended UART HAL module driver. + * This file provides firmware functions to manage the following extended + * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART). + * + Initialization and de-initialization functions + * + Peripheral Control functions + * + * + @verbatim + ============================================================================== + ##### UART peripheral extended features ##### + ============================================================================== + + (#) Declare a UART_HandleTypeDef handle structure. + + (#) For the UART RS485 Driver Enable mode, initialize the UART registers + by calling the HAL_RS485Ex_Init() API. + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup UARTEx UARTEx + * @brief UART Extended HAL module driver + * @{ + */ + +#ifdef HAL_UART_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @defgroup UARTEx_Private_Functions UARTEx Private Functions + * @{ + */ +static void UARTEx_Wakeup_AddressConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelection); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup UARTEx_Exported_Functions UARTEx Exported Functions + * @{ + */ + +/** @defgroup UARTEx_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Extended Initialization and Configuration Functions + * +@verbatim +=============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the USARTx or the UARTy + in asynchronous mode. + (+) For the asynchronous mode the parameters below can be configured: + (++) Baud Rate + (++) Word Length + (++) Stop Bit + (++) Parity: If the parity is enabled, then the MSB bit of the data written + in the data register is transmitted but is changed by the parity bit. + (++) Hardware flow control + (++) Receiver/transmitter modes + (++) Over Sampling Method + (++) One-Bit Sampling Method + (+) For the asynchronous mode, the following advanced features can be configured as well: + (++) TX and/or RX pin level inversion + (++) data logical level inversion + (++) RX and TX pins swap + (++) RX overrun detection disabling + (++) DMA disabling on RX error + (++) MSB first on communication line + (++) auto Baud rate detection + [..] + The HAL_RS485Ex_Init() API follows the UART RS485 mode configuration + procedures (details for the procedures are available in reference manual). + +@endverbatim + + Depending on the frame length defined by the M1 and M0 bits (7-bit, + 8-bit or 9-bit), the possible UART formats are listed in the + following table. + + Table 1. UART frame format. + +-----------------------------------------------------------------------+ + | M1 bit | M0 bit | PCE bit | UART frame | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 0 | | SB | 8 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 0 | | SB | 9 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 0 | | SB | 7 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | + +-----------------------------------------------------------------------+ + + * @{ + */ + +/** + * @brief Initialize the RS485 Driver enable feature according to the specified + * parameters in the UART_InitTypeDef and creates the associated handle. + * @param huart: UART handle. + * @param Polarity: select the driver enable polarity. + * This parameter can be one of the following values: + * @arg UART_DE_POLARITY_HIGH: DE signal is active high + * @arg UART_DE_POLARITY_LOW: DE signal is active low + * @param AssertionTime: Driver Enable assertion time: + * 5-bit value defining the time between the activation of the DE (Driver Enable) + * signal and the beginning of the start bit. It is expressed in sample time + * units (1/8 or 1/16 bit time, depending on the oversampling rate) + * @param DeassertionTime: Driver Enable deassertion time: + * 5-bit value defining the time between the end of the last stop bit, in a + * transmitted message, and the de-activation of the DE (Driver Enable) signal. + * It is expressed in sample time units (1/8 or 1/16 bit time, depending on the + * oversampling rate). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_RS485Ex_Init(UART_HandleTypeDef *huart, uint32_t Polarity, uint32_t AssertionTime, uint32_t DeassertionTime) +{ + uint32_t temp = 0x0U; + + /* Check the UART handle allocation */ + if(huart == NULL) + { + return HAL_ERROR; + } + /* Check the Driver Enable UART instance */ + assert_param(IS_UART_DRIVER_ENABLE_INSTANCE(huart->Instance)); + + /* Check the Driver Enable polarity */ + assert_param(IS_UART_DE_POLARITY(Polarity)); + + /* Check the Driver Enable assertion time */ + assert_param(IS_UART_ASSERTIONTIME(AssertionTime)); + + /* Check the Driver Enable deassertion time */ + assert_param(IS_UART_DEASSERTIONTIME(DeassertionTime)); + + if(huart->gState == HAL_UART_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + huart->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK, CORTEX */ + HAL_UART_MspInit(huart); + } + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + /* Set the UART Communication parameters */ + if (UART_SetConfig(huart) == HAL_ERROR) + { + return HAL_ERROR; + } + + if(huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) + { + UART_AdvFeatureConfig(huart); + } + + /* Enable the Driver Enable mode by setting the DEM bit in the CR3 register */ + SET_BIT(huart->Instance->CR3, USART_CR3_DEM); + + /* Set the Driver Enable polarity */ + MODIFY_REG(huart->Instance->CR3, USART_CR3_DEP, Polarity); + + /* Set the Driver Enable assertion and deassertion times */ + temp = (AssertionTime << UART_CR1_DEAT_ADDRESS_LSB_POS); + temp |= (DeassertionTime << UART_CR1_DEDT_ADDRESS_LSB_POS); + MODIFY_REG(huart->Instance->CR1, (USART_CR1_DEDT|USART_CR1_DEAT), temp); + + /* Enable the Peripheral */ + __HAL_UART_ENABLE(huart); + + /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ + return (UART_CheckIdleState(huart)); +} + + +/** + * @} + */ + +/** @defgroup UARTEx_Exported_Functions_Group3 Peripheral Control functions + * @brief Extended Peripheral Control functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] This section provides the following functions: + (+) HAL_UARTEx_EnableClockStopMode() API enables the UART clock (HSI or LSE only) during stop mode + (+) HAL_UARTEx_DisableClockStopMode() API disables the above functionality + (+) HAL_MultiProcessorEx_AddressLength_Set() API optionally sets the UART node address + detection length to more than 4 bits for multiprocessor address mark wake up. + (+) HAL_UARTEx_StopModeWakeUpSourceConfig() API defines the wake-up from stop mode + trigger: address match, Start Bit detection or RXNE bit status. + (+) HAL_UARTEx_EnableStopMode() API enables the UART to wake up the MCU from stop mode + (+) HAL_UARTEx_DisableStopMode() API disables the above functionality + (+) HAL_UARTEx_WakeupCallback() called upon UART wakeup interrupt + + +@endverbatim + * @{ + */ + + + + +/** + * @brief By default in multiprocessor mode, when the wake up method is set + * to address mark, the UART handles only 4-bit long addresses detection; + * this API allows to enable longer addresses detection (6-, 7- or 8-bit + * long). + * @note Addresses detection lengths are: 6-bit address detection in 7-bit data mode, + * 7-bit address detection in 8-bit data mode, 8-bit address detection in 9-bit data mode. + * @param huart: UART handle. + * @param AddressLength: this parameter can be one of the following values: + * @arg UART_ADDRESS_DETECT_4B: 4-bit long address + * @arg UART_ADDRESS_DETECT_7B: 6-, 7- or 8-bit long address + * @retval HAL status + */ +HAL_StatusTypeDef HAL_MultiProcessorEx_AddressLength_Set(UART_HandleTypeDef *huart, uint32_t AddressLength) +{ + /* Check the UART handle allocation */ + if(huart == NULL) + { + return HAL_ERROR; + } + + /* Check the address length parameter */ + assert_param(IS_UART_ADDRESSLENGTH_DETECT(AddressLength)); + + huart->gState = HAL_UART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + /* Set the address length */ + MODIFY_REG(huart->Instance->CR2, USART_CR2_ADDM7, AddressLength); + + /* Enable the Peripheral */ + __HAL_UART_ENABLE(huart); + + /* TEACK and/or REACK to check before moving huart->gState to Ready */ + return (UART_CheckIdleState(huart)); +} + + +/** + * @brief Set Wakeup from Stop mode interrupt flag selection. + * @param huart: UART handle. + * @param WakeUpSelection: address match, Start Bit detection, RXNE bit status + * or RX/TX FIFO related event. + * This parameter can be one of the following values: + * @arg @ref UART_WAKEUP_ON_ADDRESS + * @arg @ref UART_WAKEUP_ON_STARTBIT + * @arg @ref UART_WAKEUP_ON_READDATA_NONEMPTY + * @arg @ref UART_WAKEUP_ON_RXFIFO_THRESHOLD + * @arg @ref UART_WAKEUP_ON_RXFIFO_FULL + * @arg @ref UART_WAKEUP_ON_TXFIFO_THRESHOLD + * @arg @ref UART_WAKEUP_ON_TXFIFO_EMPTY + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UARTEx_StopModeWakeUpSourceConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelection) +{ + HAL_StatusTypeDef status = HAL_OK; + uint32_t tickstart = 0U; + + /* check the wake-up from stop mode UART instance */ + assert_param(IS_UART_WAKEUP_FROMSTOP_INSTANCE(huart->Instance)); + /* check the wake-up selection parameter */ + assert_param(IS_UART_WAKEUP_SELECTION(WakeUpSelection.WakeUpEvent)); + + /* Process Locked */ + __HAL_LOCK(huart); + + huart->gState = HAL_UART_STATE_BUSY; + + switch (WakeUpSelection.WakeUpEvent) + { + case UART_WAKEUP_ON_ADDRESS: + case UART_WAKEUP_ON_STARTBIT: + case UART_WAKEUP_ON_READDATA_NONEMPTY: + /* Disable the Peripheral */ + __HAL_UART_DISABLE(huart); + + /* Set the wake-up selection scheme */ + MODIFY_REG(huart->Instance->CR3, USART_CR3_WUS, WakeUpSelection.WakeUpEvent); + + + if (WakeUpSelection.WakeUpEvent == UART_WAKEUP_ON_ADDRESS) + { + UARTEx_Wakeup_AddressConfig(huart, WakeUpSelection); + } + + /* Enable the Peripheral */ + __HAL_UART_ENABLE(huart); + + /* Init tickstart for timeout managment*/ + tickstart = HAL_GetTick(); + + /* Wait until REACK flag is set */ + if(UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK) + { + status = HAL_TIMEOUT; + } + else + { + /* Initialize the UART State */ + huart->gState = HAL_UART_STATE_READY; + } + break; + + case UART_WAKEUP_ON_RXFIFO_THRESHOLD: + /* Enable RXFT interrupt */ + SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); + huart->gState = HAL_UART_STATE_READY; + break; + + case UART_WAKEUP_ON_RXFIFO_FULL: + /* Enable RXFF interrupt */ + SET_BIT(huart->Instance->CR1, USART_CR1_RXFFIE); + huart->gState = HAL_UART_STATE_READY; + break; + + case UART_WAKEUP_ON_TXFIFO_THRESHOLD: + /* Enable TXFT interrupt */ + SET_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); + huart->gState = HAL_UART_STATE_READY; + break; + + case UART_WAKEUP_ON_TXFIFO_EMPTY: + /* Enable TXFE interrupt */ + SET_BIT(huart->Instance->CR1, USART_CR1_TXFEIE); + huart->gState = HAL_UART_STATE_READY; + break; + + default: + break; + } + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return status; +} + + +/** + * @brief Enable UART Stop Mode. + * @note The UART is able to wake up the MCU from Stop mode as long as UART clock is HSI or LSE. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UARTEx_EnableStopMode(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + + huart->gState = HAL_UART_STATE_BUSY; + + /* Set UESM bit */ + SET_BIT(huart->Instance->CR1, USART_CR1_UESM); + + huart->gState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + +/** + * @brief Disable UART Stop Mode. + * @param huart: UART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UARTEx_DisableStopMode(UART_HandleTypeDef *huart) +{ + /* Process Locked */ + __HAL_LOCK(huart); + + huart->gState = HAL_UART_STATE_BUSY; + + /* Clear UESM bit */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_UESM); + + huart->gState = HAL_UART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + + return HAL_OK; +} + +/** + * @brief UART wakeup from Stop mode callback. + * @param huart: UART handle. + * @retval None + */ +__weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(huart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_UARTEx_WakeupCallback can be implemented in the user file. + */ +} + +/** + * @} + */ + +/** + * @} + */ + +/** @addtogroup UARTEx_Private_Functions + * @{ + */ + +/** + * @brief Initialize the UART wake-up from stop mode parameters when triggered by address detection. + * @param huart: UART handle. + * @param WakeUpSelection: UART wake up from stop mode parameters. + * @retval None + */ +static void UARTEx_Wakeup_AddressConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelection) +{ + assert_param(IS_UART_ADDRESSLENGTH_DETECT(WakeUpSelection.AddressLength)); + + /* Set the USART address length */ + MODIFY_REG(huart->Instance->CR2, USART_CR2_ADDM7, WakeUpSelection.AddressLength); + + /* Set the USART address node */ + MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)WakeUpSelection.Address << UART_CR2_ADDRESS_LSB_POS)); +} + +/** + * @} + */ + +#endif /* HAL_UART_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c new file mode 100644 index 0000000000..f8b0b4f6d8 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c @@ -0,0 +1,2430 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_usart.c + * @author MCD Application Team + * @brief USART HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Universal Synchronous/Asynchronous Receiver Transmitter + * Peripheral (USART). + * + Initialization and de-initialization functions + * + IO operation functions + * + Peripheral Control functions + * + Peripheral State and Error functions + * + @verbatim + =============================================================================== + ##### How to use this driver ##### + =============================================================================== + [..] + The USART HAL driver can be used as follows: + + (#) Declare a USART_HandleTypeDef handle structure (eg. USART_HandleTypeDef husart). + (#) Initialize the USART low level resources by implementing the HAL_USART_MspInit() API: + (++) Enable the USARTx interface clock. + (++) USART pins configuration: + (+++) Enable the clock for the USART GPIOs. + (+++) Configure these USART pins as alternate function pull-up. + (++) NVIC configuration if you need to use interrupt process (HAL_USART_Transmit_IT(), + HAL_USART_Receive_IT() and HAL_USART_TransmitReceive_IT() APIs): + (+++) Configure the USARTx interrupt priority. + (+++) Enable the NVIC USART IRQ handle. + (++) USART interrupts handling: + -@@- The specific USART interrupts (Transmission complete interrupt, + RXNE interrupt and Error Interrupts) will be managed using the macros + __HAL_USART_ENABLE_IT() and __HAL_USART_DISABLE_IT() inside the transmit and receive process. + (++) DMA Configuration if you need to use DMA process (HAL_USART_Transmit_DMA() + HAL_USART_Receive_DMA() and HAL_USART_TransmitReceive_DMA() APIs): + (+++) Declare a DMA handle structure for the Tx/Rx channel. + (+++) Enable the DMAx interface clock. + (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. + (+++) Configure the DMA Tx/Rx channel. + (+++) Associate the initialized DMA handle to the USART DMA Tx/Rx handle. + (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on the DMA Tx/Rx channel. + + (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware + flow control and Mode (Receiver/Transmitter) in the husart handle Init structure. + + (#) Initialize the USART registers by calling the HAL_USART_Init() API: + (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc) + by calling the customized HAL_USART_MspInit(&husart) API. + + [..] + (@) To configure and enable/disable the USART to wake up the MCU from stop mode, resort to UART API's + HAL_UARTEx_StopModeWakeUpSourceConfig(), HAL_UARTEx_EnableStopMode() and + HAL_UARTEx_DisableStopMode() in casting the USART handle to UART type UART_HandleTypeDef. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup USART USART + * @brief HAL USART Synchronous module driver + * @{ + */ + +#ifdef HAL_USART_MODULE_ENABLED + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/** @defgroup USART_Private_Constants USART Private Constants + * @{ + */ +#define USART_DUMMY_DATA ((uint16_t) 0xFFFF) /*!< USART transmitted dummy data */ +#define USART_TEACK_REACK_TIMEOUT ((uint32_t) 1000) /*!< USART TX or RX enable acknowledge time-out value */ +#define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | \ + USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8|\ + USART_CR1_FIFOEN )) /*!< USART CR1 fields of parameters set by USART_SetConfig API */ +#define USART_CR2_FIELDS ((uint32_t)(USART_CR2_CPHA | USART_CR2_CPOL |USART_CR2_DIS_NSS|\ + USART_CR2_CLKEN | USART_CR2_LBCL | USART_CR2_STOP|\ + USART_CR2_SLVEN)) /*!< USART CR2 fields of parameters set by USART_SetConfig API */ +#define USART_CR3_FIELDS ((uint32_t)(USART_CR3_TXFTCFG | USART_CR3_RXFTCFG )) /*!< USART CR3 fields of parameters set by USART_SetConfig API */ + +/** + * @} + */ + +/* Private macros ------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/** @addtogroup USART_Private_Functions + * @{ + */ +static void USART_EndTransfer(USART_HandleTypeDef *husart); +static void USART_DMATransmitCplt(DMA_HandleTypeDef *hdma); +static void USART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); +static void USART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); +static void USART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); +static void USART_DMAError(DMA_HandleTypeDef *hdma); +static void USART_DMAAbortOnError(DMA_HandleTypeDef *hdma); +static void USART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); +static void USART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); +static HAL_StatusTypeDef USART_WaitOnFlagUntilTimeout(USART_HandleTypeDef *husart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout); +static HAL_StatusTypeDef USART_SetConfig(USART_HandleTypeDef *husart); +static HAL_StatusTypeDef USART_CheckIdleState(USART_HandleTypeDef *husart); +static HAL_StatusTypeDef USART_Transmit_IT(USART_HandleTypeDef *husart); +static HAL_StatusTypeDef USART_EndTransmit_IT(USART_HandleTypeDef *husart); +static HAL_StatusTypeDef USART_Receive_IT(USART_HandleTypeDef *husart); +static HAL_StatusTypeDef USART_TransmitReceive_IT(USART_HandleTypeDef *husart); +/** + * @} + */ + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup USART_Exported_Functions USART Exported Functions + * @{ + */ + +/** @defgroup USART_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and Configuration functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to initialize the USART + in asynchronous and in synchronous modes. + (+) For the asynchronous mode only these parameters can be configured: + (++) Baud Rate + (++) Word Length + (++) Stop Bit + (++) Parity: If the parity is enabled, then the MSB bit of the data written + in the data register is transmitted but is changed by the parity bit. + (++) USART polarity + (++) USART phase + (++) USART LastBit + (++) Receiver/transmitter modes + + [..] + The HAL_USART_Init() function follows the USART synchronous configuration + procedure (details for the procedure are available in reference manual). + +@endverbatim + + Depending on the frame length defined by the M1 and M0 bits (7-bit, + 8-bit or 9-bit), the possible USART formats are listed in the + following table. + + Table 1. USART frame format. + +-----------------------------------------------------------------------+ + | M1 bit | M0 bit | PCE bit | USART frame | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 0 | | SB | 8 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 0 | | SB | 9 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 0 | | SB | 7 bit data | STB | | + |---------|---------|-----------|---------------------------------------| + | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | + +-----------------------------------------------------------------------+ + + * @{ + */ + +/** + * @brief Initialize the USART mode according to the specified + * parameters in the USART_InitTypeDef and initialize the associated handle. + * @param husart: USART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart) +{ + /* Check the USART handle allocation */ + if(husart == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_USART_INSTANCE(husart->Instance)); + + if(husart->State == HAL_USART_STATE_RESET) + { + /* Allocate lock resource and initialize it */ + husart->Lock = HAL_UNLOCKED; + + /* Init the low level hardware : GPIO, CLOCK */ + HAL_USART_MspInit(husart); + } + + husart->State = HAL_USART_STATE_BUSY; + + /* Disable the Peripheral */ + __HAL_USART_DISABLE(husart); + + /* Set the Usart Communication parameters */ + if (USART_SetConfig(husart) == HAL_ERROR) + { + return HAL_ERROR; + } + + /* In Synchronous mode, the following bits must be kept cleared: + - LINEN bit in the USART_CR2 register + - HDSEL, SCEN and IREN bits in the USART_CR3 register.*/ + CLEAR_BIT(husart->Instance->CR2, USART_CR2_LINEN); + CLEAR_BIT(husart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); + + /* In Synchronous Slave mode, the following bits must be kept cleared: + - CLKEN bits in the USART_CR2 register, */ + if (husart->Init.SlaveMode) + { + CLEAR_BIT(husart->Instance->CR2, USART_CR2_CLKEN); + } + + /* Enable the Peripheral */ + __HAL_USART_ENABLE(husart); + + /* TEACK and/or REACK to check before moving husart->State to Ready */ + return (USART_CheckIdleState(husart)); +} + +/** + * @brief DeInitialize the USART peripheral. + * @param husart: USART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_DeInit(USART_HandleTypeDef *husart) +{ + /* Check the USART handle allocation */ + if(husart == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_USART_INSTANCE(husart->Instance)); + + husart->State = HAL_USART_STATE_BUSY; + + husart->Instance->CR1 = 0x0U; + husart->Instance->CR2 = 0x0U; + husart->Instance->CR3 = 0x0U; + + /* DeInit the low level hardware */ + HAL_USART_MspDeInit(husart); + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_RESET; + + /* Process Unlock */ + __HAL_UNLOCK(husart); + + return HAL_OK; +} + +/** + * @brief Initialize the USART MSP. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_MspInit(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_USART_MspInit can be implemented in the user file + */ +} + +/** + * @brief DeInitialize the USART MSP. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_MspDeInit(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_USART_MspDeInit can be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup USART_Exported_Functions_Group2 IO operation functions + * @brief USART Transmit and Receive functions + * +@verbatim + =============================================================================== + ##### IO operation functions ##### + =============================================================================== + [..] This subsection provides a set of functions allowing to manage the USART synchronous + data transfers. + + [..] The USART supports master mode only: it cannot receive or send data related to an input + clock (SCLK is always an output). + + (#) There are two modes of transfer: + (++) Blocking mode: The communication is performed in polling mode. + The HAL status of all data processing is returned by the same function + after finishing transfer. + (++) No-Blocking mode: The communication is performed using Interrupts + or DMA, These API's return the HAL status. + The end of the data processing will be indicated through the + dedicated USART IRQ when using Interrupt mode or the DMA IRQ when + using DMA mode. + The HAL_USART_TxCpltCallback(), HAL_USART_RxCpltCallback() and HAL_USART_TxRxCpltCallback() user callbacks + will be executed respectively at the end of the transmit or Receive process + The HAL_USART_ErrorCallback()user callback will be executed when a communication error is detected + + (#) Blocking mode API's are : + (++) HAL_USART_Transmit()in simplex mode + (++) HAL_USART_Receive() in full duplex receive only + (++) HAL_USART_TransmitReceive() in full duplex mode + + (#) Non-Blocking mode API's with Interrupt are : + (++) HAL_USART_Transmit_IT()in simplex mode + (++) HAL_USART_Receive_IT() in full duplex receive only + (++) HAL_USART_TransmitReceive_IT()in full duplex mode + (++) HAL_USART_IRQHandler() + + (#) No-Blocking mode API's with DMA are : + (++) HAL_USART_Transmit_DMA()in simplex mode + (++) HAL_USART_Receive_DMA() in full duplex receive only + (++) HAL_USART_TransmitReceive_DMA() in full duplex mode + (++) HAL_USART_DMAPause() + (++) HAL_USART_DMAResume() + (++) HAL_USART_DMAStop() + + (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: + (++) HAL_USART_TxCpltCallback() + (++) HAL_USART_RxCpltCallback() + (++) HAL_USART_TxHalfCpltCallback() + (++) HAL_USART_RxHalfCpltCallback() + (++) HAL_USART_ErrorCallback() + (++) HAL_USART_TxRxCpltCallback() + + (#) Non-Blocking mode transfers could be aborted using Abort API's : + (+) HAL_USART_Abort() + (+) HAL_USART_Abort_IT() + + (#) For Abort services based on interrupts (HAL_USART_Abort_IT), a Abort Complete Callbacks is provided: + (+) HAL_USART_AbortCpltCallback() + + (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. + Errors are handled as follows : + (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but error severity is + to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Interrupt mode reception . + Received character is then retrieved and stored in Rx buffer, Error code is set to allow user to identify error type, + and HAL_USART_ErrorCallback() user callback is executed. Transfer is kept ongoing on USART side. + If user wants to abort it, Abort services should be called by user. + (+) Error is considered as Blocking : Transfer could not be completed properly and is aborted. + This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. + Error code is set to allow user to identify error type, and HAL_USART_ErrorCallback() user callback is executed. + +@endverbatim + * @{ + */ + +/** + * @brief Simplex send an amount of data in blocking mode. + * @param husart: USART handle. + * @param pTxData: Pointer to data buffer. + * @param Size: Amount of data to be sent. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size, uint32_t Timeout) +{ + uint16_t* tmp; + uint32_t tickstart = 0U; + + if(husart->State == HAL_USART_STATE_READY) + { + if((pTxData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(husart); + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_TX; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + husart->TxXferSize = Size; + husart->TxXferCount = Size; + + /* Check the remaining data to be sent */ + while(husart->TxXferCount > 0U) + { + husart->TxXferCount--; + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) pTxData; + husart->Instance->TDR = (*tmp & (uint16_t)0x01FFU); + pTxData += 2U; + } + else + { + husart->Instance->TDR = (*pTxData++ & (uint8_t)0xFFU); + } + } + + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + /* At end of Tx process, restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in blocking mode. + * @note To receive synchronous data, dummy data are simultaneously transmitted. + * @param husart: USART handle. + * @param pRxData: Pointer to data buffer. + * @param Size: Amount of data to be received. + * @param Timeout: Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout) +{ + uint16_t* tmp; + uint16_t uhMask; + uint32_t tickstart = 0U; + + if(husart->State == HAL_USART_STATE_READY) + { + if((pRxData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(husart); + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_RX; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + husart->RxXferSize = Size; + husart->RxXferCount = Size; + + /* Computation of USART mask to apply to RDR register */ + USART_MASK_COMPUTATION(husart); + uhMask = husart->Mask; + + /* as long as data have to be received */ + while(husart->RxXferCount > 0U) + { + husart->RxXferCount--; + + if (husart->Init.SlaveMode == USART_SLAVEMODE_DISABLE) + { + /* Wait until TC flag is set to send dummy byte in order to generate the + * clock for the slave to send data. + * Whatever the frame length (7, 8 or 9-bit long), the same dummy value + * can be written for all the cases. */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + husart->Instance->TDR = (USART_DUMMY_DATA & (uint16_t)0x0FFU); + } + + /* Wait for RXNE Flag */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) pRxData ; + *tmp = (uint16_t)(husart->Instance->RDR & uhMask); + pRxData +=2U; + } + else + { + *pRxData++ = (uint8_t)(husart->Instance->RDR & (uint8_t)uhMask); + } + } + + /* At end of Rx process, restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Full-Duplex Send and Receive an amount of data in blocking mode. + * @param husart: USART handle. + * @param pTxData: pointer to TX data buffer. + * @param pRxData: pointer to RX data buffer. + * @param Size: amount of data to be sent (same amount to be received). + * @param Timeout: Timeout duration. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_TransmitReceive(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout) +{ + uint16_t* tmp; + uint16_t uhMask; + uint32_t tickstart = 0U; + + if(husart->State == HAL_USART_STATE_READY) + { + if((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(husart); + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_RX; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + husart->RxXferSize = Size; + husart->TxXferSize = Size; + husart->TxXferCount = Size; + husart->RxXferCount = Size; + + /* Computation of USART mask to apply to RDR register */ + USART_MASK_COMPUTATION(husart); + uhMask = husart->Mask; + + if (husart->Init.SlaveMode == USART_SLAVEMODE_ENABLE) + { + husart->TxXferCount--; + + /* Wait until TXE flag is set to send data */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) pTxData; + husart->Instance->TDR = (*tmp & uhMask); + pTxData += 2U; + } + else + { + husart->Instance->TDR = (*pTxData++ & (uint8_t)uhMask); + } + } + + /* Check the remain data to be sent */ + while(husart->TxXferCount > 0U) + { + husart->TxXferCount--; + husart->RxXferCount--; + + /* Wait until TXE flag is set to send data */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) pTxData; + husart->Instance->TDR = (*tmp & uhMask); + pTxData += 2U; + } + else + { + husart->Instance->TDR = (*pTxData++ & (uint8_t)uhMask); + } + + /* Wait for RXNE Flag */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) pRxData ; + *tmp = (uint16_t)(husart->Instance->RDR & uhMask); + pRxData +=2U; + } + else + { + *pRxData++ = (uint8_t)(husart->Instance->RDR & (uint8_t)uhMask); + } + } + + if (husart->Init.SlaveMode == USART_SLAVEMODE_ENABLE) + { + husart->RxXferCount--; + + /* Wait for RXNE Flag */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) + { + return HAL_TIMEOUT; + } + + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) pRxData ; + *tmp = (uint16_t)(husart->Instance->RDR & uhMask); + pRxData +=2U; + } + else + { + *pRxData++ = (uint8_t)(husart->Instance->RDR & (uint8_t)uhMask); + } + } + + /* At end of TxRx process, restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Send an amount of data in interrupt mode. + * @param husart: USART handle. + * @param pTxData: pointer to data buffer. + * @param Size: amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_Transmit_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size) +{ + if(husart->State == HAL_USART_STATE_READY) + { + if((pTxData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(husart); + + husart->pTxBuffPtr = pTxData; + husart->TxXferSize = Size; + husart->TxXferCount = Size; + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_TX; + + /* The USART Error Interrupts: (Frame error, noise error, overrun error) + are not managed by the USART Transmit Process to avoid the overrun interrupt + when the usart mode is configured for transmit and receive "USART_MODE_TX_RX" + to benefit for the frame error and noise interrupts the usart mode should be + configured only for transmit "USART_MODE_TX" */ + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + /* Enable the TX FIFO threshold interrupt (if FIFO mode is enabled) or + Transmit Data Register Empty interrupt (if FIFO mode is Disabled). + */ + if (READ_BIT(husart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + SET_BIT(husart->Instance->CR3, USART_CR3_TXFTIE); + } + else + { + SET_BIT(husart->Instance->CR1, USART_CR1_TXEIE); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in interrupt mode. + * @note To receive synchronous data, dummy data are simultaneously transmitted. + * @param husart: USART handle. + * @param pRxData: pointer to data buffer. + * @param Size: amount of data to be received. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_Receive_IT(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size) +{ + if(husart->State == HAL_USART_STATE_READY) + { + if((pRxData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(husart); + + husart->pRxBuffPtr = pRxData; + husart->RxXferSize = Size; + husart->RxXferCount = Size; + + USART_MASK_COMPUTATION(husart); + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_RX; + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + /* Enable the USART Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Enable the USART Parity Error interupt and RX FIFO Threshold interrupt + (if FIFO mode is enabled) or Data Register Not Empty interrupt + (if FIFO mode is disabled). + */ + if (READ_BIT(husart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + SET_BIT(husart->Instance->CR1, USART_CR1_PEIE); + SET_BIT(husart->Instance->CR3, USART_CR3_RXFTIE); + } + else + { + SET_BIT(husart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); + } + + if (husart->Init.SlaveMode == USART_SLAVEMODE_DISABLE) + { + /* Send dummy byte in order to generate the clock for the Slave to send the next data */ + if(husart->Init.WordLength == USART_WORDLENGTH_9B) + { + husart->Instance->TDR = (USART_DUMMY_DATA & (uint16_t)0x01FFU); + } + else + { + husart->Instance->TDR = (USART_DUMMY_DATA & (uint16_t)0x00FFU); + } + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Full-Duplex Send and Receive an amount of data in interrupt mode. + * @param husart: USART handle. + * @param pTxData: pointer to TX data buffer. + * @param pRxData: pointer to RX data buffer. + * @param Size: amount of data to be sent (same amount to be received). + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_TransmitReceive_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) +{ + + if(husart->State == HAL_USART_STATE_READY) + { + if((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(husart); + + husart->pRxBuffPtr = pRxData; + husart->RxXferSize = Size; + husart->RxXferCount = Size; + husart->pTxBuffPtr = pTxData; + husart->TxXferSize = Size; + husart->TxXferCount = Size; + + /* Computation of USART mask to apply to RDR register */ + USART_MASK_COMPUTATION(husart); + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_TX_RX; + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + /* Enable the USART Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Enable the USART Parity Error interupt and RX/TX FIFO Threshold interrupts + (if FIFO mode is enabled) or Receive Data Register Not Empty and Transmit + Data Register Empty Interrupts (if FIFO mode is disabled). + */ + if (READ_BIT(husart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + SET_BIT(husart->Instance->CR1, USART_CR1_PEIE); + SET_BIT(husart->Instance->CR3, USART_CR3_RXFTIE | USART_CR3_TXFTIE); + } + else + { + SET_BIT(husart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE | USART_CR1_TXEIE); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } + +} + +/** + * @brief Send an amount of data in DMA mode. + * @param husart: USART handle. + * @param pTxData: pointer to data buffer. + * @param Size: amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_Transmit_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size) +{ + uint32_t *tmp; + + if(husart->State == HAL_USART_STATE_READY) + { + if((pTxData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(husart); + + husart->pTxBuffPtr = pTxData; + husart->TxXferSize = Size; + husart->TxXferCount = Size; + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_TX; + + /* Set the USART DMA transfer complete callback */ + husart->hdmatx->XferCpltCallback = USART_DMATransmitCplt; + + /* Set the USART DMA Half transfer complete callback */ + husart->hdmatx->XferHalfCpltCallback = USART_DMATxHalfCplt; + + /* Set the DMA error callback */ + husart->hdmatx->XferErrorCallback = USART_DMAError; + + /* Enable the USART transmit DMA channel */ + tmp = (uint32_t*)&pTxData; + HAL_DMA_Start_IT(husart->hdmatx, *(uint32_t*)tmp, (uint32_t)&husart->Instance->TDR, Size); + + /* Clear the TC flag in the ICR register */ + __HAL_USART_CLEAR_FLAG(husart, USART_CLEAR_TCF); + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + /* Enable the DMA transfer for transmit request by setting the DMAT bit + in the USART CR3 register */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Receive an amount of data in DMA mode. + * @param husart: USART handle. + * @param pRxData: pointer to data buffer. + * @param Size: amount of data to be received. + * @note When the USART parity is enabled (PCE = 1), the received data contain + * the parity bit (MSB position). + * @note The USART DMA transmit channel must be configured in order to generate the clock for the slave. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_Receive_DMA(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size) +{ + uint32_t *tmp; + + /* Check that a Rx process is not already ongoing */ + if(husart->State == HAL_USART_STATE_READY) + { + if((pRxData == NULL ) || (Size == 0U)) + { + return HAL_ERROR; + } + + /* Process Locked */ + __HAL_LOCK(husart); + + husart->pRxBuffPtr = pRxData; + husart->RxXferSize = Size; + husart->pTxBuffPtr = pRxData; + husart->TxXferSize = Size; + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_RX; + + /* Set the USART DMA Rx transfer complete callback */ + husart->hdmarx->XferCpltCallback = USART_DMAReceiveCplt; + + /* Set the USART DMA Half transfer complete callback */ + husart->hdmarx->XferHalfCpltCallback = USART_DMARxHalfCplt; + + /* Set the USART DMA Rx transfer error callback */ + husart->hdmarx->XferErrorCallback = USART_DMAError; + + /* Enable the USART receive DMA channel */ + tmp = (uint32_t*)&pRxData; + HAL_DMA_Start_IT(husart->hdmarx, (uint32_t)&husart->Instance->RDR, *(uint32_t*)tmp, Size); + + if (husart->Init.SlaveMode == USART_SLAVEMODE_DISABLE) + { + /* Enable the USART transmit DMA channel: the transmit channel is used in order + to generate in the non-blocking mode the clock to the slave device, + this mode isn't a simplex receive mode but a full-duplex receive mode */ + /* Set the USART DMA Tx Complete and Error callback to Null */ + husart->hdmatx->XferErrorCallback = NULL; + husart->hdmatx->XferHalfCpltCallback = NULL; + husart->hdmatx->XferCpltCallback = NULL; + HAL_DMA_Start_IT(husart->hdmatx, *(uint32_t*)tmp, (uint32_t)&husart->Instance->TDR, Size); + } + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + /* Enable the USART Parity Error Interrupt */ + SET_BIT(husart->Instance->CR1, USART_CR1_PEIE); + + /* Enable the USART Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Enable the DMA transfer for the receiver request by setting the DMAR bit + in the USART CR3 register */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAR); + + if (husart->Init.SlaveMode == USART_SLAVEMODE_DISABLE) + { + /* Enable the DMA transfer for transmit request by setting the DMAT bit + in the USART CR3 register */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAT); + } + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Full-Duplex Transmit Receive an amount of data in non-blocking mode. + * @param husart: USART handle. + * @param pTxData: pointer to TX data buffer. + * @param pRxData: pointer to RX data buffer. + * @param Size: amount of data to be received/sent. + * @note When the USART parity is enabled (PCE = 1) the data received contain the parity bit. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) +{ + uint32_t *tmp; + + if(husart->State == HAL_USART_STATE_READY) + { + if((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) + { + return HAL_ERROR; + } + /* Process Locked */ + __HAL_LOCK(husart); + + husart->pRxBuffPtr = pRxData; + husart->RxXferSize = Size; + husart->pTxBuffPtr = pTxData; + husart->TxXferSize = Size; + + husart->ErrorCode = HAL_USART_ERROR_NONE; + husart->State = HAL_USART_STATE_BUSY_TX_RX; + + /* Set the USART DMA Rx transfer complete callback */ + husart->hdmarx->XferCpltCallback = USART_DMAReceiveCplt; + + /* Set the USART DMA Half transfer complete callback */ + husart->hdmarx->XferHalfCpltCallback = USART_DMARxHalfCplt; + + /* Set the USART DMA Tx transfer complete callback */ + husart->hdmatx->XferCpltCallback = USART_DMATransmitCplt; + + /* Set the USART DMA Half transfer complete callback */ + husart->hdmatx->XferHalfCpltCallback = USART_DMATxHalfCplt; + + /* Set the USART DMA Tx transfer error callback */ + husart->hdmatx->XferErrorCallback = USART_DMAError; + + /* Set the USART DMA Rx transfer error callback */ + husart->hdmarx->XferErrorCallback = USART_DMAError; + + /* Enable the USART receive DMA channel */ + tmp = (uint32_t*)&pRxData; + HAL_DMA_Start_IT(husart->hdmarx, (uint32_t)&husart->Instance->RDR, *(uint32_t*)tmp, Size); + + /* Enable the USART transmit DMA channel */ + tmp = (uint32_t*)&pTxData; + HAL_DMA_Start_IT(husart->hdmatx, *(uint32_t*)tmp, (uint32_t)&husart->Instance->TDR, Size); + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + /* Enable the USART Parity Error Interrupt */ + SET_BIT(husart->Instance->CR1, USART_CR1_PEIE); + + /* Enable the USART Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Clear the TC flag in the ICR register */ + __HAL_USART_CLEAR_FLAG(husart, USART_CLEAR_TCF); + + /* Enable the DMA transfer for the receiver request by setting the DMAR bit + in the USART CR3 register */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAR); + + /* Enable the DMA transfer for transmit request by setting the DMAT bit + in the USART CR3 register */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAT); + + return HAL_OK; + } + else + { + return HAL_BUSY; + } +} + +/** + * @brief Pause the DMA Transfer. + * @param husart: USART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_DMAPause(USART_HandleTypeDef *husart) +{ + /* Process Locked */ + __HAL_LOCK(husart); + + if( (husart->State == HAL_USART_STATE_BUSY_TX) && + (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAT))) + { + /* Disable the USART DMA Tx request */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAT); + } + else if( (husart->State == HAL_USART_STATE_BUSY_RX) || + (husart->State == HAL_USART_STATE_BUSY_TX_RX) ) + { + if (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAT)) + { + /* Disable the USART DMA Tx request */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAT); + } + if (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAR)) + { + /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(husart->Instance->CR1, USART_CR1_PEIE); + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Disable the USART DMA Rx request */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAR); + } + } + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + return HAL_OK; +} + +/** + * @brief Resume the DMA Transfer. + * @param husart: USART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_DMAResume(USART_HandleTypeDef *husart) +{ + /* Process Locked */ + __HAL_LOCK(husart); + + if(husart->State == HAL_USART_STATE_BUSY_TX) + { + /* Enable the USART DMA Tx request */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAT); + } + else if( (husart->State == HAL_USART_STATE_BUSY_RX) || + (husart->State == HAL_USART_STATE_BUSY_TX_RX) ) + { + /* Clear the Overrun flag before resuming the Rx transfer*/ + __HAL_USART_CLEAR_FLAG(husart, USART_CLEAR_OREF); + + /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */ + SET_BIT(husart->Instance->CR1, USART_CR1_PEIE); + SET_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Enable the USART DMA Rx request before the DMA Tx request */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAR); + + /* Enable the USART DMA Tx request */ + SET_BIT(husart->Instance->CR3, USART_CR3_DMAT); + } + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + return HAL_OK; +} + +/** + * @brief Stop the DMA Transfer. + * @param husart: USART handle. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_USART_DMAStop(USART_HandleTypeDef *husart) +{ + /* The Lock is not implemented on this API to allow the user application + to call the HAL USART API under callbacks HAL_USART_TxCpltCallback() / HAL_USART_RxCpltCallback() / + HAL_USART_TxHalfCpltCallback / HAL_USART_RxHalfCpltCallback: + indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete + interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of + the stream and the corresponding call back is executed. */ + + /* Disable the USART Tx/Rx DMA requests */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAT); + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the USART DMA tx channel */ + if(husart->hdmatx != NULL) + { + HAL_DMA_Abort(husart->hdmatx); + } + /* Abort the USART DMA rx channel */ + if(husart->hdmarx != NULL) + { + HAL_DMA_Abort(husart->hdmarx); + } + + USART_EndTransfer(husart); + husart->State = HAL_USART_STATE_READY; + + return HAL_OK; +} + +/** + * @brief Abort ongoing transfers (blocking mode). + * @param husart USART handle. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable USART Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_USART_Abort(USART_HandleTypeDef *husart) +{ + /* Disable RXNE, PE, TXE, TC, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(husart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); + + /* Disable the USART DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAT)) + { + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAT); + + /* Abort the USART DMA Tx channel : use blocking DMA Abort API (no callback) */ + if(husart->hdmatx != NULL) + { + /* Set the USART DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + husart->hdmatx->XferAbortCallback = NULL; + + HAL_DMA_Abort(husart->hdmatx); + } + } + + /* Disable the USART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the USART DMA Rx channel : use blocking DMA Abort API (no callback) */ + if(husart->hdmarx != NULL) + { + /* Set the USART DMA Abort callback to Null. + No call back execution at end of DMA abort procedure */ + husart->hdmarx->XferAbortCallback = NULL; + + HAL_DMA_Abort(husart->hdmarx); + } + } + + /* Reset Tx and Rx transfer counters */ + husart->TxXferCount = 0U; + husart->RxXferCount = 0U; + + /* Clear the Error flags in the ICR register */ + __HAL_USART_CLEAR_FLAG(husart, USART_CLEAR_OREF | USART_CLEAR_NEF | USART_CLEAR_PEF | USART_CLEAR_FEF); + + /* Restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + /* Reset Handle ErrorCode to No Error */ + husart->ErrorCode = HAL_USART_ERROR_NONE; + + return HAL_OK; +} + +/** + * @brief Abort ongoing transfers (Interrupt mode). + * @param husart USART handle. + * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or DMA mode. + * This procedure performs following operations : + * - Disable USART Interrupts (Tx and Rx) + * - Disable the DMA transfer in the peripheral register (if enabled) + * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) + * - Set handle State to READY + * - At abort completion, call user abort complete callback + * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be + * considered as completed only when user abort complete callback is executed (not when exiting function). + * @retval HAL status +*/ +HAL_StatusTypeDef HAL_USART_Abort_IT(USART_HandleTypeDef *husart) +{ + uint32_t abortcplt = 1U; + + /* Disable RXNE, PE, TXE, TC, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); + CLEAR_BIT(husart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE)); + + /* If DMA Tx and/or DMA Rx Handles are associated to USART Handle, DMA Abort complete callbacks should be initialised + before any call to DMA Abort functions */ + /* DMA Tx Handle is valid */ + if(husart->hdmatx != NULL) + { + /* Set DMA Abort Complete callback if USART DMA Tx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAT)) + { + husart->hdmatx->XferAbortCallback = USART_DMATxAbortCallback; + } + else + { + husart->hdmatx->XferAbortCallback = NULL; + } + } + /* DMA Rx Handle is valid */ + if(husart->hdmarx != NULL) + { + /* Set DMA Abort Complete callback if USART DMA Rx request if enabled. + Otherwise, set it to NULL */ + if(HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAR)) + { + husart->hdmarx->XferAbortCallback = USART_DMARxAbortCallback; + } + else + { + husart->hdmarx->XferAbortCallback = NULL; + } + } + + /* Disable the USART DMA Tx request if enabled */ + if(HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAT)) + { + /* Disable DMA Tx at USART level */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAT); + + /* Abort the USART DMA Tx channel : use non blocking DMA Abort API (callback) */ + if(husart->hdmatx != NULL) + { + /* USART Tx DMA Abort callback has already been initialised : + will lead to call HAL_USART_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA TX */ + if(HAL_DMA_Abort_IT(husart->hdmatx) != HAL_OK) + { + husart->hdmatx->XferAbortCallback = NULL; + } + else + { + abortcplt = 0U; + } + } + } + + /* Disable the USART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAR); + + /* Abort the USART DMA Rx channel : use non blocking DMA Abort API (callback) */ + if(husart->hdmarx != NULL) + { + /* USART Rx DMA Abort callback has already been initialised : + will lead to call HAL_USART_AbortCpltCallback() at end of DMA abort procedure */ + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(husart->hdmarx) != HAL_OK) + { + husart->hdmarx->XferAbortCallback = NULL; + abortcplt = 1U; + } + else + { + abortcplt = 0U; + } + } + } + + /* if no DMA abort complete callback execution is required => call user Abort Complete callback */ + if (abortcplt == 1U) + { + /* Reset Tx and Rx transfer counters */ + husart->TxXferCount = 0U; + husart->RxXferCount = 0U; + + /* Reset errorCode */ + husart->ErrorCode = HAL_USART_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_USART_CLEAR_FLAG(husart, USART_CLEAR_OREF | USART_CLEAR_NEF | USART_CLEAR_PEF | USART_CLEAR_FEF); + + /* Restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + /* As no DMA to be aborted, call directly user Abort complete callback */ + HAL_USART_AbortCpltCallback(husart); + } + + return HAL_OK; +} + +/** + * @brief Handle USART interrupt request. + * @param husart USART handle. + * @retval None + */ +void HAL_USART_IRQHandler(USART_HandleTypeDef *husart) +{ + uint32_t isrflags = READ_REG(husart->Instance->ISR); + uint32_t cr1its = READ_REG(husart->Instance->CR1); + uint32_t cr3its = READ_REG(husart->Instance->CR3); + uint32_t errorflags; + + /* If no error occurs */ + errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | USART_ISR_UDR)); + if (errorflags == RESET) + { + /* USART in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) + && (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_RXFTIE) != RESET))) + { + if(husart->State == HAL_USART_STATE_BUSY_RX) + { + USART_Receive_IT(husart); + } + else + { + USART_TransmitReceive_IT(husart); + } + return; + } + } + + /* If some errors occur */ + if((errorflags != RESET) + && (((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != RESET) + || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET))) + { + /* USART parity error interrupt occurred -------------------------------------*/ + if(((isrflags & USART_ISR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET)) + { + __HAL_USART_CLEAR_IT(husart, USART_CLEAR_PEF); + + husart->ErrorCode |= HAL_USART_ERROR_PE; + } + + /* USART frame error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_USART_CLEAR_IT(husart, USART_CLEAR_FEF); + + husart->ErrorCode |= HAL_USART_ERROR_FE; + } + + /* USART noise error interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_USART_CLEAR_IT(husart, USART_CLEAR_NEF); + + husart->ErrorCode |= HAL_USART_ERROR_NE; + } + + /* USART Over-Run interrupt occurred -----------------------------------------*/ + if(((isrflags & USART_ISR_ORE) != RESET) + && (((cr1its & USART_CR1_RXNEIE) != RESET) + || ((cr3its & USART_CR3_RXFTIE) != RESET) + || ((cr3its & USART_CR3_EIE) != RESET))) + { + __HAL_USART_CLEAR_IT(husart, USART_CLEAR_OREF); + + husart->ErrorCode |= HAL_USART_ERROR_ORE; + } + + /* USART Under-Run interrupt occurred --------------------------------------*/ + if(((isrflags & USART_ISR_UDR) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) + { + __HAL_USART_CLEAR_IT(husart, USART_CLEAR_UDRCF); + husart->ErrorCode |= HAL_USART_ERROR_UDR; + } + + /* Call USART Error Call back function if need be --------------------------*/ + if(husart->ErrorCode != HAL_USART_ERROR_NONE) + { + /* USART in mode Receiver ---------------------------------------------------*/ + if(((isrflags & USART_ISR_RXNE) != RESET) + && (((cr1its & USART_CR1_RXNEIE) != RESET) + || ((cr3its & USART_CR3_RXFTIE) != RESET))) + { + if(husart->State == HAL_USART_STATE_BUSY_RX) + { + USART_Receive_IT(husart); + } + else + { + USART_TransmitReceive_IT(husart); + } + } + + /* If Overrun error occurs, or if any error occurs in DMA mode reception, + consider error as blocking */ + if (((husart->ErrorCode & HAL_USART_ERROR_ORE) != RESET) || + (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAR))) + { + /* Blocking error : transfer is aborted + Set the USART state ready to be able to start again the process, + Disable Interrupts, and disable DMA requests, if ongoing */ + USART_EndTransfer(husart); + + /* Disable the USART DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(husart->Instance->CR3, USART_CR3_DMAR)) + { + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAR | USART_CR3_DMAR); + + /* Abort the USART DMA Tx channel */ + if(husart->hdmatx != NULL) + { + /* Set the USART Tx DMA Abort callback to NULL : no callback + executed at end of DMA abort procedure */ + husart->hdmatx->XferAbortCallback = NULL; + + /* Abort DMA TX */ + HAL_DMA_Abort_IT(husart->hdmatx); + } + + /* Abort the USART DMA Rx channel */ + if(husart->hdmarx != NULL) + { + /* Set the USART Rx DMA Abort callback : + will lead to call HAL_USART_ErrorCallback() at end of DMA abort procedure */ + husart->hdmarx->XferAbortCallback = USART_DMAAbortOnError; + + /* Abort DMA RX */ + if(HAL_DMA_Abort_IT(husart->hdmarx) != HAL_OK) + { + /* Call Directly husart->hdmarx->XferAbortCallback function in case of error */ + husart->hdmarx->XferAbortCallback(husart->hdmarx); + } + } + else + { + /* Call user error callback */ + HAL_USART_ErrorCallback(husart); + } + } + else + { + /* Call user error callback */ + HAL_USART_ErrorCallback(husart); + } + } + else + { + /* Non Blocking error : transfer could go on. + Error is notified to user through user error callback */ + HAL_USART_ErrorCallback(husart); + husart->ErrorCode = HAL_USART_ERROR_NONE; + } + } + return; + + } /* End if some error occurs */ + + + /* USART in mode Transmitter ------------------------------------------------*/ + if(((isrflags & USART_ISR_TXE) != RESET) + && (((cr1its & USART_CR1_TXEIE) != RESET) + || ((cr3its & USART_CR3_TXFTIE) != RESET))) + { + if(husart->State == HAL_USART_STATE_BUSY_TX) + { + USART_Transmit_IT(husart); + } + else + { + USART_TransmitReceive_IT(husart); + } + return; + } + + /* USART in mode Transmitter (transmission end) -----------------------------*/ + if(((isrflags & USART_ISR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET)) + { + USART_EndTransmit_IT(husart); + return; + } + + /* USART TX FIFO Empty -----------------------------------------------------*/ + if(((isrflags & USART_ISR_TXFE) != RESET) && ((cr1its & USART_CR1_TXFEIE) != RESET)) + { + CLEAR_BIT(husart->Instance->CR1, USART_CR1_TXFEIE); + } +} + +/** + * @brief Tx Transfer completed callback. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_USART_TxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Tx Half Transfer completed callback. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_TxHalfCpltCallback(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_USART_TxHalfCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Rx Transfer completed callback. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_USART_RxCpltCallback can be implemented in the user file. + */ +} + +/** + * @brief Rx Half Transfer completed callback. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_USART_RxHalfCpltCallback can be implemented in the user file + */ +} + +/** + * @brief Tx/Rx Transfers completed callback for the non-blocking process. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_TxRxCpltCallback(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_USART_TxRxCpltCallback can be implemented in the user file + */ +} + +/** + * @brief USART error callback. + * @param husart: USART handle. + * @retval None + */ +__weak void HAL_USART_ErrorCallback(USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_USART_ErrorCallback can be implemented in the user file. + */ +} + +/** + * @brief USART Abort Complete callback. + * @param husart USART handle. + * @retval None + */ +__weak void HAL_USART_AbortCpltCallback (USART_HandleTypeDef *husart) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(husart); + + /* NOTE : This function should not be modified, when the callback is needed, + the HAL_USART_AbortCpltCallback can be implemented in the user file. + */ +} + +/** + * @} + */ + +/** @defgroup USART_Exported_Functions_Group4 Peripheral State and Error functions + * @brief USART Peripheral State and Error functions + * +@verbatim + ============================================================================== + ##### Peripheral State and Error functions ##### + ============================================================================== + [..] + This subsection provides functions allowing to : + (+) Return the USART handle state + (+) Return the USART handle error code + +@endverbatim + * @{ + */ + + +/** + * @brief Return the USART handle state. + * @param husart : pointer to a USART_HandleTypeDef structure that contains + * the configuration information for the specified USART. + * @retval USART handle state + */ +HAL_USART_StateTypeDef HAL_USART_GetState(USART_HandleTypeDef *husart) +{ + return husart->State; +} + +/** + * @brief Return the USART error code. + * @param husart : pointer to a USART_HandleTypeDef structure that contains + * the configuration information for the specified USART. + * @retval USART handle Error Code + */ +uint32_t HAL_USART_GetError(USART_HandleTypeDef *husart) +{ + return husart->ErrorCode; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup USART_Private_Functions USART Private Functions + * @{ + */ + +/** + * @brief End ongoing transfer on USART peripheral (following error detection or Transfer completion). + * @param husart USART handle. + * @retval None + */ +static void USART_EndTransfer(USART_HandleTypeDef *husart) +{ + /* Disable RXNE, PE, TXE, TC, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(husart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE)); + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); + + /* At end of process, restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; +} + +/** + * @brief DMA USART transmit process complete callback. + * @param hdma DMA handle. + * @retval None + */ +static void USART_DMATransmitCplt(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef*)(hdma->Parent); + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + { + husart->TxXferCount = 0U; + + if(husart->State == HAL_USART_STATE_BUSY_TX) + { + /* Disable the DMA transfer for transmit request by resetting the DMAT bit + in the USART CR3 register */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAT); + + /* Enable the USART Transmit Complete Interrupt */ + SET_BIT(husart->Instance->CR1, USART_CR1_TCIE); + } + } + /* DMA Circular mode */ + else + { + if(husart->State == HAL_USART_STATE_BUSY_TX) + { + HAL_USART_TxCpltCallback(husart); + } + } +} + +/** + * @brief DMA USART transmit process half complete callback. + * @param hdma : DMA handle. + * @retval None + */ +static void USART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef*)(hdma->Parent); + + HAL_USART_TxHalfCpltCallback(husart); +} + +/** + * @brief DMA USART receive process complete callback. + * @param hdma: DMA handle. + * @retval None + */ +static void USART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef*)(hdma->Parent); + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + { + husart->RxXferCount = 0U; + + /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(husart->Instance->CR1, USART_CR1_PEIE); + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Disable the DMA RX transfer for the receiver request by resetting the DMAR bit + in USART CR3 register */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAR); + /* similarly, disable the DMA TX transfer that was started to provide the + clock to the slave device */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_DMAT); + + if(husart->State == HAL_USART_STATE_BUSY_RX) + { + HAL_USART_RxCpltCallback(husart); + } + /* The USART state is HAL_USART_STATE_BUSY_TX_RX */ + else + { + HAL_USART_TxRxCpltCallback(husart); + } + husart->State= HAL_USART_STATE_READY; + } + /* DMA circular mode */ + else + { + if(husart->State == HAL_USART_STATE_BUSY_RX) + { + HAL_USART_RxCpltCallback(husart); + } + /* The USART state is HAL_USART_STATE_BUSY_TX_RX */ + else + { + HAL_USART_TxRxCpltCallback(husart); + } + } + +} + +/** + * @brief DMA USART receive process half complete callback. + * @param hdma : DMA handle. + * @retval None + */ +static void USART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef*)(hdma->Parent); + + HAL_USART_RxHalfCpltCallback(husart); +} + +/** + * @brief DMA USART communication error callback. + * @param hdma: DMA handle. + * @retval None + */ +static void USART_DMAError(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef*)(hdma->Parent); + + husart->RxXferCount = 0U; + husart->TxXferCount = 0U; + USART_EndTransfer(husart); + + husart->ErrorCode |= HAL_USART_ERROR_DMA; + husart->State= HAL_USART_STATE_READY; + + HAL_USART_ErrorCallback(husart); +} + +/** + * @brief DMA USART communication abort callback, when initiated by HAL services on Error + * (To be called at end of DMA Abort procedure following error occurrence). + * @param hdma: DMA handle. + * @retval None + */ +static void USART_DMAAbortOnError(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef*)(hdma->Parent); + husart->RxXferCount = 0U; + husart->TxXferCount = 0U; + + HAL_USART_ErrorCallback(husart); +} + +/** + * @brief DMA USART Tx communication abort callback, when initiated by user + * (To be called at end of DMA Tx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Rx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void USART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef* )(hdma->Parent); + + husart->hdmatx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(husart->hdmarx != NULL) + { + if(husart->hdmarx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + husart->TxXferCount = 0U; + husart->RxXferCount = 0U; + + /* Reset errorCode */ + husart->ErrorCode = HAL_USART_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_USART_CLEAR_FLAG(husart, USART_CLEAR_OREF | USART_CLEAR_NEF | USART_CLEAR_PEF | USART_CLEAR_FEF); + + /* Restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + /* Call user Abort complete callback */ + HAL_USART_AbortCpltCallback(husart); +} + + +/** + * @brief DMA USART Rx communication abort callback, when initiated by user + * (To be called at end of DMA Rx Abort procedure following user abort request). + * @note When this callback is executed, User Abort complete call back is called only if no + * Abort still ongoing for Tx DMA Handle. + * @param hdma DMA handle. + * @retval None + */ +static void USART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) +{ + USART_HandleTypeDef* husart = (USART_HandleTypeDef* )(hdma->Parent); + + husart->hdmarx->XferAbortCallback = NULL; + + /* Check if an Abort process is still ongoing */ + if(husart->hdmatx != NULL) + { + if(husart->hdmatx->XferAbortCallback != NULL) + { + return; + } + } + + /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ + husart->TxXferCount = 0U; + husart->RxXferCount = 0U; + + /* Reset errorCode */ + husart->ErrorCode = HAL_USART_ERROR_NONE; + + /* Clear the Error flags in the ICR register */ + __HAL_USART_CLEAR_FLAG(husart, USART_CLEAR_OREF | USART_CLEAR_NEF | USART_CLEAR_PEF | USART_CLEAR_FEF); + + /* Restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + /* Call user Abort complete callback */ + HAL_USART_AbortCpltCallback(husart); +} + + +/** + * @brief Handle USART Communication Timeout. + * @param husart: USART handle. + * @param Flag: specifies the USART flag to check. + * @param Status: the Flag status (SET or RESET). + * @param Tickstart: tick start value. + * @param Timeout: timeout duration. + * @retval HAL status + */ +static HAL_StatusTypeDef USART_WaitOnFlagUntilTimeout(USART_HandleTypeDef *husart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout) +{ + /* Wait until flag is set */ + while((__HAL_USART_GET_FLAG(husart, Flag) ? SET : RESET) == Status) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout)) + { + /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */ + CLEAR_BIT(husart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE)); + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE); + + husart->State= HAL_USART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + return HAL_TIMEOUT; + } + } + } + + return HAL_OK; +} + +/** + * @brief Configure the USART peripheral. + * @param husart: USART handle. + * @retval HAL status + */ +static HAL_StatusTypeDef USART_SetConfig(USART_HandleTypeDef *husart) +{ + uint32_t tmpreg = 0x0U; + USART_ClockSourceTypeDef clocksource = USART_CLOCKSOURCE_UNDEFINED; + HAL_StatusTypeDef ret = HAL_OK; + uint16_t brrtemp = 0x0000U; + uint16_t usartdiv = 0x0000U; + PLL2_ClocksTypeDef pll2_clocks; + PLL3_ClocksTypeDef pll3_clocks; + + /* Check the parameters */ + assert_param(IS_USART_POLARITY(husart->Init.CLKPolarity)); + assert_param(IS_USART_PHASE(husart->Init.CLKPhase)); + assert_param(IS_USART_LASTBIT(husart->Init.CLKLastBit)); + assert_param(IS_USART_BAUDRATE(husart->Init.BaudRate)); + assert_param(IS_USART_WORD_LENGTH(husart->Init.WordLength)); + assert_param(IS_USART_STOPBITS(husart->Init.StopBits)); + assert_param(IS_USART_PARITY(husart->Init.Parity)); + assert_param(IS_USART_MODE(husart->Init.Mode)); + assert_param(IS_USART_PRESCALER(husart->Init.Prescaler)); + assert_param(IS_USART_NSS(husart->Init.NSS)); + assert_param(IS_USART_SLAVEMODE(husart->Init.SlaveMode)); + assert_param(IS_USART_FIFO_MODE_STATE(husart->Init.FIFOMode)); + if (husart->Init.FIFOMode == USART_FIFOMODE_ENABLE) + { + assert_param(IS_USART_TXFIFO_THRESHOLD(husart->Init.TXFIFOThreshold)); + assert_param(IS_USART_RXFIFO_THRESHOLD(husart->Init.RXFIFOThreshold)); + } + + /*-------------------------- USART CR1 Configuration -----------------------*/ + /* Clear M, PCE, PS, TE and RE bits and configure + * the USART Word Length, Parity and Mode: + * set the M bits according to husart->Init.WordLength value + * set PCE and PS bits according to husart->Init.Parity value + * set TE and RE bits according to husart->Init.Mode value + * force OVER8 to 1 to allow to reach the maximum speed (Fclock/8) */ + tmpreg = (uint32_t)husart->Init.WordLength | husart->Init.Parity | husart->Init.Mode | USART_CR1_OVER8; + tmpreg |= (uint32_t)husart->Init.FIFOMode; + MODIFY_REG(husart->Instance->CR1, USART_CR1_FIELDS, tmpreg); + + /*---------------------------- USART CR2 Configuration ---------------------*/ + /* Clear and configure the USART Clock, CPOL, CPHA, LBCL and STOP bits: + * set CPOL bit according to husart->Init.CLKPolarity value + * set CPHA bit according to husart->Init.CLKPhase value + * set DIS_NSS bit according to husart->Init.NSS value + * set LBCL bit according to husart->Init.CLKLastBit value + * set STOP[13:12] bits according to husart->Init.StopBits value + * set SlaveMode bit according to husart->Init.SlaveMode value */ + tmpreg = (uint32_t)(USART_CLOCK_ENABLE); + tmpreg |= ((uint32_t)husart->Init.CLKPolarity | (uint32_t)husart->Init.CLKPhase | (uint32_t)husart->Init.NSS); + tmpreg |= ((uint32_t)husart->Init.CLKLastBit | (uint32_t)husart->Init.StopBits | (uint32_t)husart->Init.SlaveMode); + MODIFY_REG(husart->Instance->CR2, USART_CR2_FIELDS, tmpreg); + + /*-------------------------- USART CR3 Configuration -----------------------*/ + /* Clear and configure the TXFTCFG & RXFTCFG bits: + * set TXFTCFG bit according to husart->Init.TXFIFOThreshold value + * set RXFTCFG bit according to husart->Init.RXFIFOThreshold value */ + if (husart->Init.FIFOMode == USART_FIFOMODE_ENABLE) + { + tmpreg = ((uint32_t)husart->Init.TXFIFOThreshold | (uint32_t)husart->Init.RXFIFOThreshold ); + MODIFY_REG(husart->Instance->CR3, USART_CR3_FIELDS, tmpreg); + } + + /*-------------------------- USART PRESC Configuration -----------------------*/ + /* Configure + * - USART Clock Prescaler : set PRESCALER according to husart->Init.Prescaler value */ + MODIFY_REG(husart->Instance->PRESC, USART_PRESC_PRESCALER, husart->Init.Prescaler); + + /*-------------------------- USART BRR Configuration -----------------------*/ + /* BRR is filled-up according to OVER8 bit setting which is forced to 1 */ + USART_GETCLOCKSOURCE(husart, clocksource); + switch (clocksource) + { + case USART_CLOCKSOURCE_D2PCLK1: + usartdiv = (uint16_t)(USART_DIV_SAMPLING8(HAL_RCC_GetPCLK1Freq(), husart->Init.BaudRate, husart->Init.Prescaler)); + break; + case USART_CLOCKSOURCE_D2PCLK2: + usartdiv = (uint16_t)(USART_DIV_SAMPLING8(HAL_RCC_GetPCLK2Freq(), husart->Init.BaudRate, husart->Init.Prescaler)); + break; + case USART_CLOCKSOURCE_PLL2: + HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); + usartdiv = (uint16_t)(USART_DIV_SAMPLING8(pll2_clocks.PLL2_Q_Frequency, husart->Init.BaudRate, husart->Init.Prescaler)); + break; + case USART_CLOCKSOURCE_PLL3: + HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); + usartdiv = (uint16_t)(USART_DIV_SAMPLING8(pll3_clocks.PLL3_Q_Frequency, husart->Init.BaudRate, husart->Init.Prescaler)); + break; + case USART_CLOCKSOURCE_HSI: + if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) + { + usartdiv = (uint16_t)(USART_DIV_SAMPLING8((HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER()>> 3)), husart->Init.BaudRate, husart->Init.Prescaler)); + } + else + { + usartdiv = (uint16_t)(USART_DIV_SAMPLING8(HSI_VALUE, husart->Init.BaudRate, husart->Init.Prescaler)); + } + break; + case USART_CLOCKSOURCE_CSI: + usartdiv = (uint16_t)(USART_DIV_SAMPLING8(CSI_VALUE, husart->Init.BaudRate, husart->Init.Prescaler)); + break; + case USART_CLOCKSOURCE_LSE: + usartdiv = (uint16_t)(USART_DIV_SAMPLING8(LSE_VALUE, husart->Init.BaudRate, husart->Init.Prescaler)); + break; + case USART_CLOCKSOURCE_UNDEFINED: + default: + ret = HAL_ERROR; + break; + } + + brrtemp = usartdiv & 0xFFF0U; + brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); + husart->Instance->BRR = brrtemp; + + return ret; +} + +/** + * @brief Check the USART Idle State. + * @param husart: USART handle. + * @retval HAL status + */ +static HAL_StatusTypeDef USART_CheckIdleState(USART_HandleTypeDef *husart) +{ + uint32_t tickstart = 0U; + + /* Initialize the USART ErrorCode */ + husart->ErrorCode = HAL_USART_ERROR_NONE; + + /* Init tickstart for timeout managment */ + tickstart = HAL_GetTick(); + + /* Check if the Transmitter is enabled */ + if((husart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) + { + /* Wait until TEACK flag is set */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_ISR_TEACK, RESET, tickstart, USART_TEACK_REACK_TIMEOUT) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + /* Check if the Receiver is enabled */ + if((husart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) + { + /* Wait until REACK flag is set */ + if(USART_WaitOnFlagUntilTimeout(husart, USART_ISR_REACK, RESET, tickstart, USART_TEACK_REACK_TIMEOUT) != HAL_OK) + { + /* Timeout occurred */ + return HAL_TIMEOUT; + } + } + + /* Initialize the USART state*/ + husart->State= HAL_USART_STATE_READY; + + /* Process Unlocked */ + __HAL_UNLOCK(husart); + + return HAL_OK; +} + +/** + * @brief Simplex send an amount of data in non-blocking mode. + * @note Function called under interruption only, once + * interruptions have been enabled by HAL_USART_Transmit_IT(). + * @note The USART errors are not managed to avoid the overrun error. + * @param husart: USART handle. + * @retval HAL status + */ +static HAL_StatusTypeDef USART_Transmit_IT(USART_HandleTypeDef *husart) +{ + uint16_t* tmp; + + if(husart->TxXferCount == 0U) + { + /* Disable the TX FIFO threshold interrupt (if FIFO mode is enabled) or + Transmit Data Register Empty interrupt (if FIFO mode is Disabled). + */ + if (READ_BIT(husart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + CLEAR_BIT(husart->Instance->CR3, USART_CR3_TXFTIE); + } + else + { + CLEAR_BIT(husart->Instance->CR1, USART_CR1_TXEIE); + } + + /* Enable the USART Transmit Complete Interrupt */ + SET_BIT(husart->Instance->CR1, USART_CR1_TCIE); + + return HAL_OK; + } + else + { + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) husart->pTxBuffPtr; + husart->Instance->TDR = (*tmp & (uint16_t)0x01FFU); + husart->pTxBuffPtr += 2U; + } + else + { + husart->Instance->TDR = (uint8_t)(*husart->pTxBuffPtr++ & (uint8_t)0xFFU); + } + + husart->TxXferCount--; + + return HAL_OK; + } +} + + +/** + * @brief Wraps up transmission in non-blocking mode. + * @param husart: pointer to a USART_HandleTypeDef structure that contains + * the configuration information for the specified USART module. + * @retval HAL status + */ +static HAL_StatusTypeDef USART_EndTransmit_IT(USART_HandleTypeDef *husart) +{ + /* Disable the USART Transmit Complete Interrupt */ + CLEAR_BIT(husart->Instance->CR1, USART_CR1_TCIE); + + /* Disable the USART Error Interrupt: (Frame error, noise error, overrun error) */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Tx process is ended, restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + HAL_USART_TxCpltCallback(husart); + + return HAL_OK; +} + + +/** + * @brief Simplex receive an amount of data in non-blocking mode. + * @note Function called under interruption only, once + * interruptions have been enabled by HAL_USART_Receive_IT(). + * @param husart: USART handle + * @retval HAL status + */ +static HAL_StatusTypeDef USART_Receive_IT(USART_HandleTypeDef *husart) +{ + uint16_t* tmp; + uint16_t uhMask = husart->Mask; + + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) husart->pRxBuffPtr; + *tmp = (uint16_t)(husart->Instance->RDR & uhMask); + husart->pRxBuffPtr += 2U; + } + else + { + *husart->pRxBuffPtr++ = (uint8_t)(husart->Instance->RDR & (uint8_t)uhMask); + } + + if (husart->Init.SlaveMode == USART_SLAVEMODE_DISABLE) + { + /* Send dummy byte in order to generate the clock for the Slave to Send the next data */ + husart->Instance->TDR = (USART_DUMMY_DATA & (uint16_t)0x00FFU); + } + + if(--husart->RxXferCount == 0U) + { + /* Disable the USART Parity Error Interrupt and RXNE interrupt*/ + CLEAR_BIT(husart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + + /* Disable the USART Error Interrupt: (Frame error, noise error, overrun error) */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Rx process is completed, restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + HAL_USART_RxCpltCallback(husart); + + return HAL_OK; + } + + return HAL_OK; +} + +/** + * @brief Full-Duplex Send receive an amount of data in full-duplex mode (non-blocking). + * @note Function called under interruption only, once + * interruptions have been enabled by HAL_USART_TransmitReceive_IT(). + * @param husart: USART handle. + * @retval HAL status + */ +static HAL_StatusTypeDef USART_TransmitReceive_IT(USART_HandleTypeDef *husart) +{ + uint16_t* tmp; + uint16_t uhMask = husart->Mask; + + if(husart->TxXferCount != 0x00U) + { + if(__HAL_USART_GET_FLAG(husart, USART_FLAG_TXE) != RESET) + { + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) husart->pTxBuffPtr; + husart->Instance->TDR = (uint16_t)(*tmp & uhMask); + husart->pTxBuffPtr += 2U; + } + else + { + husart->Instance->TDR = (uint8_t)(*husart->pTxBuffPtr++ & (uint8_t)uhMask); + } + husart->TxXferCount--; + + /* Check the latest data transmitted */ + if(husart->TxXferCount == 0U) + { + /* Disable the TX FIFO threshold interrupt (if FIFO mode is enabled) or + Transmit Data Register Empty interrupt (if FIFO mode is Disabled) */ + if (READ_BIT(husart->Instance->CR1, USART_CR1_FIFOEN) != RESET) + { + CLEAR_BIT(husart->Instance->CR3, USART_CR3_TXFTIE); + } + else + { + CLEAR_BIT(husart->Instance->CR1, USART_CR1_TXEIE); + } + } + } + } + + if(husart->RxXferCount != 0x00U) + { + if(__HAL_USART_GET_FLAG(husart, USART_FLAG_RXNE) != RESET) + { + if((husart->Init.WordLength == USART_WORDLENGTH_9B) && (husart->Init.Parity == USART_PARITY_NONE)) + { + tmp = (uint16_t*) husart->pRxBuffPtr; + *tmp = (uint16_t)(husart->Instance->RDR & uhMask); + husart->pRxBuffPtr += 2U; + } + else + { + *husart->pRxBuffPtr++ = (uint8_t)(husart->Instance->RDR & (uint8_t)uhMask); + } + husart->RxXferCount--; + } + } + + /* Check the latest data received */ + if(husart->RxXferCount == 0U) + { + /* Disable the USART Parity Error Interrupt and RXNE interrupt*/ + CLEAR_BIT(husart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); + + /* Disable the USART Error Interrupt: (Frame error, noise error, overrun error) */ + CLEAR_BIT(husart->Instance->CR3, USART_CR3_EIE); + + /* Rx process is completed, restore husart->State to Ready */ + husart->State = HAL_USART_STATE_READY; + + HAL_USART_TxRxCpltCallback(husart); + + return HAL_OK; + } + + return HAL_OK; +} + +/** + * @} + */ + +#endif /* HAL_USART_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c new file mode 100644 index 0000000000..5d6b303b79 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c @@ -0,0 +1,320 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_wwdg.c + * @author MCD Application Team + * @brief WWDG HAL module driver. + * This file provides firmware functions to manage the following + * functionalities of the Window Watchdog (WWDG) peripheral: + * + Initialization and Configuration function + * + IO operation functions + @verbatim + ============================================================================== + ##### WWDG specific features ##### + ============================================================================== + [..] + Once enabled the WWDG generates a system reset on expiry of a programmed + time period, unless the program refreshes the counter (T[6;0] downcounter) + before reaching 0x3F value (i.e. a reset is generated when the counter + value rolls over from 0x40 to 0x3F). + + (+) An MCU reset is also generated if the counter value is refreshed + before the counter has reached the refresh window value. This + implies that the counter must be refreshed in a limited window. + + (+) Once enabled the WWDG cannot be disabled except by a system reset. + + (+) WWDGRST flag in RCC_CSR register informs when a WWDG reset has + occurred (check available with __HAL_RCC_GET_FLAG(RCC_FLAG_WWDGRST)). + + (+) The WWDG downcounter input clock is derived from the APB clock divided + by a programmable prescaler. + + (+) WWDG downcounter clock (Hz) = PCLK1 / (4096 * Prescaler) + + (+) WWDG timeout (ms) = (1000 * (T[5;0] + 1)) / (WWDG downcounter clock) + where T[5;0] are the lowest 6 bits of downcounter. + + (+) WWDG Counter refresh is allowed between the following limits : + (++) min time (ms) = (1000 * (T[5;0] - Window)) / (WWDG downcounter clock) + (++) max time (ms) = (1000 * (T[5;0] - 0x40)) / (WWDG downcounter clock) + + (+) Min-max timeout value @80 MHz(PCLK1): ~51.2 us / ~26.22 ms + + (+) The Early Wakeup Interrupt (EWI) can be used if specific safety + operations or data logging must be performed before the actual reset is + generated. When the downcounter reaches the value 0x40, an EWI interrupt + is generated and the corresponding interrupt service routine (ISR) can + be used to trigger specific actions (such as communications or data + logging), before resetting the device. + In some applications, the EWI interrupt can be used to manage a software + system check and/or system recovery/graceful degradation, without + generating a WWDG reset. In this case, the corresponding interrupt + service routine (ISR) should reload the WWDG counter to avoid the WWDG + reset, then trigger the required actions. + Note:When the EWI interrupt cannot be served, e.g. due to a system lock + in a higher priority task, the WWDG reset will eventually be generated. + + (+) Debug mode : When the microcontroller enters debug mode (core halted), + the WWDG counter either continues to work normally or stops, depending + on DBG_WWDG_STOP configuration bit in DBG module, accessible through + __HAL_DBGMCU_FREEZE_WWDG() and __HAL_DBGMCU_UNFREEZE_WWDG() macros + + ##### How to use this driver ##### + ============================================================================== + [..] + (+) Enable WWDG APB1 clock using __HAL_RCC_WWDG_CLK_ENABLE(). + + (+) Set the WWDG prescaler, refresh window, counter value and Early Wakeup + Interrupt mode using using HAL_WWDG_Init() function. + This enables WWDG peripheral and the downcounter starts downcounting + from given counter value. + Init function can be called again to modify all watchdog parameters, + however if EWI mode has been set once, it can't be clear until next + reset. + + (+) The application program must refresh the WWDG counter at regular + intervals during normal operation to prevent an MCU reset using + HAL_WWDG_Refresh() function. This operation must occur only when + the counter is lower than the window value already programmed. + + (+) if Early Wakeup Interrupt mode is enable an interrupt is generated when + the counter reaches 0x40. User can add his own code in weak function + HAL_WWDG_EarlyWakeupCallback(). + + *** WWDG HAL driver macros list *** + ================================== + [..] + Below the list of most used macros in WWDG HAL driver. + + (+) __HAL_WWDG_GET_IT_SOURCE: Check the selected WWDG's interrupt source. + (+) __HAL_WWDG_GET_FLAG: Get the selected WWDG's flag status. + (+) __HAL_WWDG_CLEAR_FLAG: Clear the WWDG's pending flags. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +#ifdef HAL_WWDG_MODULE_ENABLED +/** @defgroup WWDG WWDG + * @brief WWDG HAL module driver. + * @{ + */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup WWDG_Exported_Functions WWDG Exported Functions + * @{ + */ + +/** @defgroup WWDG_Exported_Functions_Group1 Initialization and Configuration functions + * @brief Initialization and Configuration functions. + * +@verbatim + ============================================================================== + ##### Initialization and Configuration functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and start the WWDG according to the specified parameters + in the WWDG_InitTypeDef of associated handle. + (+) Initialize the WWDG MSP. + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the WWDG according to the specified. + * parameters in the WWDG_InitTypeDef of associated handle. + * @param hwwdg pointer to a WWDG_HandleTypeDef structure that contains + * the configuration information for the specified WWDG module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_WWDG_Init(WWDG_HandleTypeDef *hwwdg) +{ + /* Check the WWDG handle allocation */ + if(hwwdg == NULL) + { + return HAL_ERROR; + } + + /* Check the parameters */ + assert_param(IS_WWDG_ALL_INSTANCE(hwwdg->Instance)); + assert_param(IS_WWDG_PRESCALER(hwwdg->Init.Prescaler)); + assert_param(IS_WWDG_WINDOW(hwwdg->Init.Window)); + assert_param(IS_WWDG_COUNTER(hwwdg->Init.Counter)); + assert_param(IS_WWDG_EWI_MODE(hwwdg->Init.EWIMode)); + + /* Init the low level hardware */ + HAL_WWDG_MspInit(hwwdg); + + /* Set WWDG Counter */ + WRITE_REG(hwwdg->Instance->CR, (WWDG_CR_WDGA | hwwdg->Init.Counter)); + + /* Set WWDG Prescaler and Window */ + WRITE_REG(hwwdg->Instance->CFR, (hwwdg->Init.EWIMode | hwwdg->Init.Prescaler | hwwdg->Init.Window)); + + /* Return function status */ + return HAL_OK; +} + + +/** + * @brief Initialize the WWDG MSP. + * @param hwwdg pointer to a WWDG_HandleTypeDef structure that contains + * the configuration information for the specified WWDG module. + * @note When rewriting this function in user file, mechanism may be added + * to avoid multiple initialize when HAL_WWDG_Init function is called + * again to change parameters. + * @retval None + */ +__weak void HAL_WWDG_MspInit(WWDG_HandleTypeDef *hwwdg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hwwdg); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_WWDG_MspInit could be implemented in the user file + */ +} + +/** + * @} + */ + +/** @defgroup WWDG_Exported_Functions_Group2 IO operation functions + * @brief IO operation functions + * +@verbatim + ============================================================================== + ##### IO operation functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Refresh the WWDG. + (+) Handle WWDG interrupt request and associated function callback. + +@endverbatim + * @{ + */ + +/** + * @brief Refresh the WWDG. + * @param hwwdg pointer to a WWDG_HandleTypeDef structure that contains + * the configuration information for the specified WWDG module. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_WWDG_Refresh(WWDG_HandleTypeDef *hwwdg) +{ + /* Write to WWDG CR the WWDG Counter value to refresh with */ + WRITE_REG(hwwdg->Instance->CR, (hwwdg->Init.Counter)); + + /* Return function status */ + return HAL_OK; +} + +/** + * @brief Handle WWDG interrupt request. + * @note The Early Wakeup Interrupt (EWI) can be used if specific safety operations + * or data logging must be performed before the actual reset is generated. + * The EWI interrupt is enabled by calling HAL_WWDG_Init function with + * EWIMode set to WWDG_EWI_ENABLE. + * When the downcounter reaches the value 0x40, and EWI interrupt is + * generated and the corresponding Interrupt Service Routine (ISR) can + * be used to trigger specific actions (such as communications or data + * logging), before resetting the device. + * @param hwwdg pointer to a WWDG_HandleTypeDef structure that contains + * the configuration information for the specified WWDG module. + * @retval None + */ +void HAL_WWDG_IRQHandler(WWDG_HandleTypeDef *hwwdg) +{ + /* Check if Early Wakeup Interrupt is enable */ + if(__HAL_WWDG_GET_IT_SOURCE(hwwdg, WWDG_IT_EWI) != RESET) + { + /* Check if WWDG Early Wakeup Interrupt occurred */ + if(__HAL_WWDG_GET_FLAG(hwwdg, WWDG_FLAG_EWIF) != RESET) + { + /* Clear the WWDG Early Wakeup flag */ + __HAL_WWDG_CLEAR_FLAG(hwwdg, WWDG_FLAG_EWIF); + + /* Early Wakeup callback */ + HAL_WWDG_EarlyWakeupCallback(hwwdg); + } + } +} + + +/** + * @brief WWDG Early Wakeup callback. + * @param hwwdg pointer to a WWDG_HandleTypeDef structure that contains + * the configuration information for the specified WWDG module. + * @retval None + */ +__weak void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef* hwwdg) +{ + /* Prevent unused argument(s) compilation warning */ + UNUSED(hwwdg); + + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_WWDG_EarlyWakeupCallback could be implemented in the user file + */ +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* HAL_WWDG_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c new file mode 100644 index 0000000000..fd0fb9b50f --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c @@ -0,0 +1,188 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_delayblock.c + * @author MCD Application Team + * @brief DelayBlock Low Layer HAL module driver. + * + * This file provides firmware functions to manage the following + * functionalities of the Delay Block peripheral: + * + input clock frequency range 25MHz to 208MHz + * + up to 12 oversampling phases + * + @verbatim + ============================================================================== + ##### DelayBlock peripheral features ##### + ============================================================================== + [..] The Delay block is used to generate an Output clock which is de-phased from the Input + clock. The phase of the Output clock is programmed by FW. The Output clock is then used + to clock the receive data in i.e. a SDMMC or QSPI interface. + The delay is Voltage and Temperature dependent, which may require FW to do re-tuning + and recenter the Output clock phase to the receive data. + + [..] The Delay Block features include the following: + (+) Input clock frequency range 25MHz to 208MHz. + (+) Up to 12 oversampling phases. + + ##### How to use this driver ##### + ============================================================================== + [..] + This driver is a considered as a driver of service for external devices drivers + that interfaces with the DELAY peripheral. + The DelayBlock_Enable() function, enables the DelayBlock instance, configure the delay line length + and configure the Output clock phase. + The DelayBlock_Disable() function, disables the DelayBlock instance by setting DEN flag to 0. + + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup DELAYBLOCK_LL DELAYBLOCK_LL + * @brief Low layer module for Delay Block + * @{ + */ + +#if defined(HAL_SD_MODULE_ENABLED) || defined(HAL_QSPI_MODULE_ENABLED) + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup DelayBlock_LL_Exported_Functions Delay Block Low Layer Exported Functions + * @{ + */ + +/** @defgroup HAL_DELAY_LL_Group1 Initialization de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization and de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + +@endverbatim + * @{ + */ + + +/** + * @brief Enable the Delay Block instance. + * @param DLYBx: Pointer to DLYB instance. + * @retval HAL status + */ +HAL_StatusTypeDef DelayBlock_Enable(DLYB_TypeDef *DLYBx) +{ + uint32_t i=0,N=0, lng=0, tuningOn = 1; + + assert_param(IS_DLYB_ALL_INSTANCE(DLYBx)); + + DLYBx->CR = DLYB_CR_DEN | DLYB_CR_SEN; + + while((tuningOn != 0) && (i < DLYB_MAX_UNIT)) + { + + DLYBx->CFGR = 12 | (i << 8); + HAL_Delay(1); + if(((DLYBx->CFGR & DLYB_CFGR_LNGF) != 0) + && ((DLYBx->CFGR & DLYB_CFGR_LNG) != 0) + && ((DLYBx->CFGR & DLYB_CFGR_LNG) != (DLYB_CFGR_LNG_11 | DLYB_CFGR_LNG_10))) + { + tuningOn = 0; + } + i++; + + } + + if(DLYB_MAX_UNIT != i) + { + + lng = (DLYBx->CFGR & DLYB_CFGR_LNG) >> 16; + N = 10; + while((N>0) && ((lng >> N) == 0)) + { + N--; + } + if(0 != N) + { + MODIFY_REG(DLYBx->CFGR, DLYB_CFGR_SEL, ((N/2)+1)); + + /* Disable Selection phase */ + DLYBx->CR = DLYB_CR_DEN; + return HAL_OK; + } + } + + /* Disable DLYB */ + DelayBlock_Disable(DLYBx); + return HAL_ERROR; + +} + +/** + * @brief Disable the Delay Block instance. + * @param DLYBx: Pointer to DLYB instance. + * @retval HAL status + */ +HAL_StatusTypeDef DelayBlock_Disable(DLYB_TypeDef *DLYBx) +{ + /* Disable DLYB */ + DLYBx->CR = 0; + return HAL_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +#endif /* (HAL_SD_MODULE_ENABLED) & (HAL_QSPI_MODULE_ENABLED)*/ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c new file mode 100644 index 0000000000..709b09222c --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c @@ -0,0 +1,1097 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_fmc.c + * @author MCD Application Team + * @brief FMC Low Layer HAL module driver. + * + * This file provides firmware functions to manage the following + * functionalities of the Flexible Memory Controller (FMC) peripheral memories: + * + Initialization/de-initialization functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### FMC peripheral features ##### + ============================================================================== + [..] The Flexible memory controller (FMC) includes three memory controllers: + (+) The NOR/PSRAM memory controller + (+) The NAND memory controller + (+) The Synchronous DRAM (SDRAM) controller + + [..] The FMC functional block makes the interface with synchronous and asynchronous static + memories and SDRAM memories. Its main purposes are: + (+) to translate AHB transactions into the appropriate external device protocol + (+) to meet the access time requirements of the external memory devices + + [..] All external memories share the addresses, data and control signals with the controller. + Each external device is accessed by means of a unique Chip Select. The FMC performs + only one access at a time to an external device. + The main features of the FMC controller are the following: + (+) Interface with static-memory mapped devices including: + (++) Static random access memory (SRAM) + (++) Read-only memory (ROM) + (++) NOR Flash memory/OneNAND Flash memory + (++) PSRAM (4 memory banks) + (++) NAND Flash memory with ECC hardware to check up to 8 Kbytes of data + (+) Interface with synchronous DRAM (SDRAM) memories + (+) Independent Chip Select control for each memory bank + (+) Independent configuration for each memory bank + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup FMC_LL FMC Low Layer + * @brief FMC driver modules + * @{ + */ + +#if defined (HAL_SRAM_MODULE_ENABLED) || defined(HAL_NOR_MODULE_ENABLED) || defined(HAL_NAND_MODULE_ENABLED) || defined(HAL_SDRAM_MODULE_ENABLED) + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup FMC_LL_Exported_Functions FMC Low Layer Exported Functions + * @{ + */ + +/** @defgroup FMC_LL_Exported_Functions_NORSRAM FMC Low Layer NOR SRAM Exported Functions + * @brief NORSRAM Controller functions + * + @verbatim + ============================================================================== + ##### How to use NORSRAM device driver ##### + ============================================================================== + + [..] + This driver contains a set of APIs to interface with the FMC NORSRAM banks in order + to run the NORSRAM external devices. + + (+) FMC NORSRAM bank reset using the function FMC_NORSRAM_DeInit() + (+) FMC NORSRAM bank control configuration using the function FMC_NORSRAM_Init() + (+) FMC NORSRAM bank timing configuration using the function FMC_NORSRAM_Timing_Init() + (+) FMC NORSRAM bank extended timing configuration using the function + FMC_NORSRAM_Extended_Timing_Init() + (+) FMC NORSRAM bank enable/disable write operation using the functions + FMC_NORSRAM_WriteOperation_Enable()/FMC_NORSRAM_WriteOperation_Disable() + + +@endverbatim + * @{ + */ + +/** @defgroup FMC_LL_NORSRAM_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * + @verbatim + ============================================================================== + ##### Initialization and de_initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the FMC NORSRAM interface + (+) De-initialize the FMC NORSRAM interface + (+) Configure the FMC clock and associated GPIOs + +@endverbatim + * @{ + */ + +/** + * @brief Initialize the FMC_NORSRAM device according to the specified + * control parameters in the FMC_NORSRAM_InitTypeDef + * @param Device: Pointer to NORSRAM device instance + * @param Init: Pointer to NORSRAM Initialization structure + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef* Init) +{ + uint32_t tmpr = 0; + + /* Check the parameters */ + assert_param(IS_FMC_NORSRAM_DEVICE(Device)); + assert_param(IS_FMC_NORSRAM_BANK(Init->NSBank)); + assert_param(IS_FMC_MUX(Init->DataAddressMux)); + assert_param(IS_FMC_MEMORY(Init->MemoryType)); + assert_param(IS_FMC_NORSRAM_MEMORY_WIDTH(Init->MemoryDataWidth)); + assert_param(IS_FMC_BURSTMODE(Init->BurstAccessMode)); + assert_param(IS_FMC_WAIT_POLARITY(Init->WaitSignalPolarity)); + assert_param(IS_FMC_WAIT_SIGNAL_ACTIVE(Init->WaitSignalActive)); + assert_param(IS_FMC_WRITE_OPERATION(Init->WriteOperation)); + assert_param(IS_FMC_WAITE_SIGNAL(Init->WaitSignal)); + assert_param(IS_FMC_EXTENDED_MODE(Init->ExtendedMode)); + assert_param(IS_FMC_ASYNWAIT(Init->AsynchronousWait)); + assert_param(IS_FMC_WRITE_BURST(Init->WriteBurst)); + assert_param(IS_FMC_CONTINOUS_CLOCK(Init->ContinuousClock)); + assert_param(IS_FMC_WRITE_FIFO(Init->WriteFifo)); + assert_param(IS_FMC_PAGESIZE(Init->PageSize)); + + /* Get the BTCR register value */ + tmpr = Device->BTCR[Init->NSBank]; + + /* Clear MBKEN, MUXEN, MTYP, MWID, FACCEN, BURSTEN, WAITPOL, WAITCFG, WREN, + WAITEN, EXTMOD, ASYNCWAIT, CBURSTRW and CCLKEN bits */ + tmpr &= ((uint32_t)~(FMC_BCR1_MBKEN | FMC_BCR1_MUXEN | FMC_BCR1_MTYP | \ + FMC_BCR1_MWID | FMC_BCR1_FACCEN | FMC_BCR1_BURSTEN | \ + FMC_BCR1_WAITPOL | FMC_BCR1_CPSIZE | FMC_BCR1_WAITCFG | \ + FMC_BCR1_WREN | FMC_BCR1_WAITEN | FMC_BCR1_EXTMOD | \ + FMC_BCR1_ASYNCWAIT | FMC_BCR1_CBURSTRW | FMC_BCR1_CCLKEN | FMC_BCR1_WFDIS)); + + /* Set NORSRAM device control parameters */ + tmpr |= (uint32_t)(Init->DataAddressMux |\ + Init->MemoryType |\ + Init->MemoryDataWidth |\ + Init->BurstAccessMode |\ + Init->WaitSignalPolarity |\ + Init->WaitSignalActive |\ + Init->WriteOperation |\ + Init->WaitSignal |\ + Init->ExtendedMode |\ + Init->AsynchronousWait |\ + Init->WriteBurst |\ + Init->ContinuousClock |\ + Init->PageSize |\ + Init->WriteFifo); + + if(Init->MemoryType == FMC_MEMORY_TYPE_NOR) + { + tmpr |= (uint32_t)FMC_NORSRAM_FLASH_ACCESS_ENABLE; + } + + Device->BTCR[Init->NSBank] = tmpr; + + /* Configure synchronous mode when Continuous clock is enabled for bank2..4 */ + if((Init->ContinuousClock == FMC_CONTINUOUS_CLOCK_SYNC_ASYNC) && (Init->NSBank != FMC_NORSRAM_BANK1)) + { + Device->BTCR[FMC_NORSRAM_BANK1] |= (uint32_t)(Init->ContinuousClock); + } + if(Init->NSBank != FMC_NORSRAM_BANK1) + { + Device->BTCR[FMC_NORSRAM_BANK1] |= (uint32_t)(Init->WriteFifo); + } + + return HAL_OK; +} + + +/** + * @brief DeInitialize the FMC_NORSRAM peripheral + * @param Device: Pointer to NORSRAM device instance + * @param ExDevice: Pointer to NORSRAM extended mode device instance + * @param Bank: NORSRAM bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NORSRAM_DeInit(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_EXTENDED_TypeDef *ExDevice, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_NORSRAM_DEVICE(Device)); + assert_param(IS_FMC_NORSRAM_EXTENDED_DEVICE(ExDevice)); + assert_param(IS_FMC_NORSRAM_BANK(Bank)); + + /* Disable the FMC_NORSRAM device */ + __FMC_NORSRAM_DISABLE(Device, Bank); + + /* De-initialize the FMC_NORSRAM device */ + /* FMC_NORSRAM_BANK1 */ + if(Bank == FMC_NORSRAM_BANK1) + { + Device->BTCR[Bank] = 0x000030DB; + } + /* FMC_NORSRAM_BANK2, FMC_NORSRAM_BANK3 or FMC_NORSRAM_BANK4 */ + else + { + Device->BTCR[Bank] = 0x000030D2; + } + + Device->BTCR[Bank + 1] = 0x0FFFFFFF; + ExDevice->BWTR[Bank] = 0x0FFFFFFF; + + return HAL_OK; +} + + +/** + * @brief Initialize the FMC_NORSRAM Timing according to the specified + * parameters in the FMC_NORSRAM_TimingTypeDef + * @param Device: Pointer to NORSRAM device instance + * @param Timing: Pointer to NORSRAM Timing structure + * @param Bank: NORSRAM bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NORSRAM_Timing_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank) +{ + uint32_t tmpr = 0; + + /* Check the parameters */ + assert_param(IS_FMC_NORSRAM_DEVICE(Device)); + assert_param(IS_FMC_ADDRESS_SETUP_TIME(Timing->AddressSetupTime)); + assert_param(IS_FMC_ADDRESS_HOLD_TIME(Timing->AddressHoldTime)); + assert_param(IS_FMC_DATASETUP_TIME(Timing->DataSetupTime)); + assert_param(IS_FMC_TURNAROUND_TIME(Timing->BusTurnAroundDuration)); + assert_param(IS_FMC_CLK_DIV(Timing->CLKDivision)); + assert_param(IS_FMC_DATA_LATENCY(Timing->DataLatency)); + assert_param(IS_FMC_ACCESS_MODE(Timing->AccessMode)); + assert_param(IS_FMC_NORSRAM_BANK(Bank)); + + /* Get the BTCR register value */ + tmpr = Device->BTCR[Bank + 1]; + + /* Clear ADDSET, ADDHLD, DATAST, BUSTURN, CLKDIV, DATLAT and ACCMOD bits */ + tmpr &= ((uint32_t)~(FMC_BTR1_ADDSET | FMC_BTR1_ADDHLD | FMC_BTR1_DATAST | \ + FMC_BTR1_BUSTURN | FMC_BTR1_CLKDIV | FMC_BTR1_DATLAT | \ + FMC_BTR1_ACCMOD)); + + /* Set FMC_NORSRAM device timing parameters */ + tmpr |= (uint32_t)(Timing->AddressSetupTime |\ + ((Timing->AddressHoldTime) << 4) |\ + ((Timing->DataSetupTime) << 8) |\ + ((Timing->BusTurnAroundDuration) << 16) |\ + (((Timing->CLKDivision)-1) << 20) |\ + (((Timing->DataLatency)-2) << 24) |\ + (Timing->AccessMode) + ); + + Device->BTCR[Bank + 1] = tmpr; + + /* Configure Clock division value (in NORSRAM bank 1) when continuous clock is enabled */ + if(HAL_IS_BIT_SET(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN)) + { + tmpr = (uint32_t)(Device->BTCR[FMC_NORSRAM_BANK1 + 1] & ~(((uint32_t)0x0F) << 20)); + tmpr |= (uint32_t)(((Timing->CLKDivision)-1) << 20); + Device->BTCR[FMC_NORSRAM_BANK1 + 1] = tmpr; + } + + return HAL_OK; +} + +/** + * @brief Initialize the FMC_NORSRAM Extended mode Timing according to the specified + * parameters in the FMC_NORSRAM_TimingTypeDef + * @param Device: Pointer to NORSRAM device instance + * @param Timing: Pointer to NORSRAM Timing structure + * @param Bank: NORSRAM bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NORSRAM_Extended_Timing_Init(FMC_NORSRAM_EXTENDED_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank, uint32_t ExtendedMode) +{ + uint32_t tmpr = 0; + + /* Check the parameters */ + assert_param(IS_FMC_EXTENDED_MODE(ExtendedMode)); + + /* Set NORSRAM device timing register for write configuration, if extended mode is used */ + if(ExtendedMode == FMC_EXTENDED_MODE_ENABLE) + { + /* Check the parameters */ + assert_param(IS_FMC_NORSRAM_EXTENDED_DEVICE(Device)); + assert_param(IS_FMC_ADDRESS_SETUP_TIME(Timing->AddressSetupTime)); + assert_param(IS_FMC_ADDRESS_HOLD_TIME(Timing->AddressHoldTime)); + assert_param(IS_FMC_DATASETUP_TIME(Timing->DataSetupTime)); + assert_param(IS_FMC_TURNAROUND_TIME(Timing->BusTurnAroundDuration)); + assert_param(IS_FMC_CLK_DIV(Timing->CLKDivision)); + assert_param(IS_FMC_DATA_LATENCY(Timing->DataLatency)); + assert_param(IS_FMC_ACCESS_MODE(Timing->AccessMode)); + assert_param(IS_FMC_NORSRAM_BANK(Bank)); + + /* Get the BWTR register value */ + tmpr = Device->BWTR[Bank]; + + /* Clear ADDSET, ADDHLD, DATAST, BUSTURN, CLKDIV, DATLAT and ACCMOD bits */ + tmpr &= ((uint32_t)~(FMC_BWTR1_ADDSET | FMC_BWTR1_ADDHLD | FMC_BWTR1_DATAST | \ + FMC_BWTR1_BUSTURN | FMC_BWTR1_ACCMOD)); + + tmpr |= (uint32_t)(Timing->AddressSetupTime |\ + ((Timing->AddressHoldTime) << 4) |\ + ((Timing->DataSetupTime) << 8) |\ + ((Timing->BusTurnAroundDuration) << 16) |\ + (Timing->AccessMode)); + + Device->BWTR[Bank] = tmpr; + } + else + { + Device->BWTR[Bank] = 0x0FFFFFFF; + } + + return HAL_OK; +} +/** + * @} + */ + +/** @addtogroup FMC_LL_NORSRAM_Private_Functions_Group2 + * @brief management functions + * +@verbatim + ============================================================================== + ##### FMC_NORSRAM Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control dynamically + the FMC NORSRAM interface. + +@endverbatim + * @{ + */ + +/** + * @brief Enables dynamically FMC_NORSRAM write operation. + * @param Device: Pointer to NORSRAM device instance + * @param Bank: NORSRAM bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Enable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_NORSRAM_DEVICE(Device)); + assert_param(IS_FMC_NORSRAM_BANK(Bank)); + + /* Enable write operation */ + Device->BTCR[Bank] |= FMC_WRITE_OPERATION_ENABLE; + + return HAL_OK; +} + +/** + * @brief Disables dynamically FMC_NORSRAM write operation. + * @param Device: Pointer to NORSRAM device instance + * @param Bank: NORSRAM bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_NORSRAM_DEVICE(Device)); + assert_param(IS_FMC_NORSRAM_BANK(Bank)); + + /* Disable write operation */ + Device->BTCR[Bank] &= ~FMC_WRITE_OPERATION_ENABLE; + + return HAL_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup FMC_LL_Exported_Functions_NAND FMC Low Layer NAND Exported Functions + * @brief NAND Controller functions + * + @verbatim + ============================================================================== + ##### How to use NAND device driver ##### + ============================================================================== + [..] + This driver contains a set of APIs to interface with the FMC NAND banks in order + to run the NAND external devices. + + (+) FMC NAND bank reset using the function FMC_NAND_DeInit() + (+) FMC NAND bank control configuration using the function FMC_NAND_Init() + (+) FMC NAND bank common space timing configuration using the function + FMC_NAND_CommonSpace_Timing_Init() + (+) FMC NAND bank attribute space timing configuration using the function + FMC_NAND_AttributeSpace_Timing_Init() + (+) FMC NAND bank enable/disable ECC correction feature using the functions + FMC_NAND_ECC_Enable()/FMC_NAND_ECC_Disable() + (+) FMC NAND bank get ECC correction code using the function FMC_NAND_GetECC() + +@endverbatim + * @{ + */ + +/** @defgroup FMC_LL_NAND_Exported_Functions_Group1 Initialization and de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and de_initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the FMC NAND interface + (+) De-initialize the FMC NAND interface + (+) Configure the FMC clock and associated GPIOs + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the FMC_NAND device according to the specified + * control parameters in the FMC_NAND_HandleTypeDef + * @param Device: Pointer to NAND device instance + * @param Init: Pointer to NAND Initialization structure + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NAND_Init(FMC_NAND_TypeDef *Device, FMC_NAND_InitTypeDef *Init) +{ + uint32_t tmpr = 0; + + /* Check the parameters */ + assert_param(IS_FMC_NAND_DEVICE(Device)); + assert_param(IS_FMC_NAND_BANK(Init->NandBank)); + assert_param(IS_FMC_WAIT_FEATURE(Init->Waitfeature)); + assert_param(IS_FMC_NAND_MEMORY_WIDTH(Init->MemoryDataWidth)); + assert_param(IS_FMC_ECC_STATE(Init->EccComputation)); + assert_param(IS_FMC_ECCPAGE_SIZE(Init->ECCPageSize)); + assert_param(IS_FMC_TCLR_TIME(Init->TCLRSetupTime)); + assert_param(IS_FMC_TAR_TIME(Init->TARSetupTime)); + + /* Get the NAND bank 3 register value */ + tmpr = Device->PCR; + + /* Clear PWAITEN, PBKEN, PTYP, PWID, ECCEN, TCLR, TAR and ECCPS bits */ + tmpr &= ((uint32_t)~(FMC_PCR_PWAITEN | FMC_PCR_PBKEN | \ + FMC_PCR_PWID | FMC_PCR_ECCEN | FMC_PCR_TCLR | \ + FMC_PCR_TAR | FMC_PCR_ECCPS)); + + /* Set NAND device control parameters */ + tmpr |= (uint32_t)(Init->Waitfeature |\ + Init->MemoryDataWidth |\ + Init->EccComputation |\ + Init->ECCPageSize |\ + ((Init->TCLRSetupTime) << 9) |\ + ((Init->TARSetupTime) << 13)); + + /* NAND bank 3 registers configuration */ + Device->PCR = tmpr; + + return HAL_OK; + +} + +/** + * @brief Initializes the FMC_NAND Common space Timing according to the specified + * parameters in the FMC_NAND_PCC_TimingTypeDef + * @param Device: Pointer to NAND device instance + * @param Timing: Pointer to NAND timing structure + * @param Bank: NAND bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NAND_CommonSpace_Timing_Init(FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank) +{ + uint32_t tmpr = 0; + + /* Check the parameters */ + assert_param(IS_FMC_NAND_DEVICE(Device)); + assert_param(IS_FMC_SETUP_TIME(Timing->SetupTime)); + assert_param(IS_FMC_WAIT_TIME(Timing->WaitSetupTime)); + assert_param(IS_FMC_HOLD_TIME(Timing->HoldSetupTime)); + assert_param(IS_FMC_HIZ_TIME(Timing->HiZSetupTime)); + assert_param(IS_FMC_NAND_BANK(Bank)); + + /* Get the NAND bank 3 register value */ + tmpr = Device->PMEM; + + /* Clear MEMSETx, MEMWAITx, MEMHOLDx and MEMHIZx bits */ + tmpr &= ((uint32_t)~(FMC_PMEM_MEMSET3 | FMC_PMEM_MEMWAIT3 | FMC_PMEM_MEMHOLD3 | \ + FMC_PMEM_MEMHIZ3)); + /* Set FMC_NAND device timing parameters */ + tmpr |= (uint32_t)(Timing->SetupTime |\ + ((Timing->WaitSetupTime) << 8) |\ + ((Timing->HoldSetupTime) << 16) |\ + ((Timing->HiZSetupTime) << 24) + ); + + /* NAND bank 3 registers configuration */ + Device->PMEM = tmpr; + + return HAL_OK; +} + +/** + * @brief Initializes the FMC_NAND Attribute space Timing according to the specified + * parameters in the FMC_NAND_PCC_TimingTypeDef + * @param Device: Pointer to NAND device instance + * @param Timing: Pointer to NAND timing structure + * @param Bank: NAND bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NAND_AttributeSpace_Timing_Init(FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank) +{ + uint32_t tmpr = 0; + + /* Check the parameters */ + assert_param(IS_FMC_NAND_DEVICE(Device)); + assert_param(IS_FMC_SETUP_TIME(Timing->SetupTime)); + assert_param(IS_FMC_WAIT_TIME(Timing->WaitSetupTime)); + assert_param(IS_FMC_HOLD_TIME(Timing->HoldSetupTime)); + assert_param(IS_FMC_HIZ_TIME(Timing->HiZSetupTime)); + assert_param(IS_FMC_NAND_BANK(Bank)); + + /* Get the NAND bank 3 register value */ + tmpr = Device->PATT; + + /* Clear ATTSETx, ATTWAITx, ATTHOLDx and ATTHIZx bits */ + tmpr &= ((uint32_t)~(FMC_PATT_ATTSET3 | FMC_PATT_ATTWAIT3 | FMC_PATT_ATTHOLD3 | \ + FMC_PATT_ATTHIZ3)); + /* Set FMC_NAND device timing parameters */ + tmpr |= (uint32_t)(Timing->SetupTime |\ + ((Timing->WaitSetupTime) << 8) |\ + ((Timing->HoldSetupTime) << 16) |\ + ((Timing->HiZSetupTime) << 24)); + + /* NAND bank 3 registers configuration */ + Device->PATT = tmpr; + + return HAL_OK; +} + +/** + * @brief DeInitializes the FMC_NAND device + * @param Device: Pointer to NAND device instance + * @param Bank: NAND bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NAND_DeInit(FMC_NAND_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_NAND_DEVICE(Device)); + assert_param(IS_FMC_NAND_BANK(Bank)); + + /* Disable the NAND Bank */ + __FMC_NAND_DISABLE(Device); + + /* Set the FMC_NAND_BANK3 registers to their reset values */ + Device->PCR = 0x00000018U; + Device->SR = 0x00000040U; + Device->PMEM = 0xFCFCFCFCU; + Device->PATT = 0xFCFCFCFCU; + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HAL_FMC_NAND_Group3 Control functions + * @brief management functions + * +@verbatim + ============================================================================== + ##### FMC_NAND Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control dynamically + the FMC NAND interface. + +@endverbatim + * @{ + */ + + +/** + * @brief Enables dynamically FMC_NAND ECC feature. + * @param Device: Pointer to NAND device instance + * @param Bank: NAND bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NAND_ECC_Enable(FMC_NAND_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_NAND_DEVICE(Device)); + assert_param(IS_FMC_NAND_BANK(Bank)); + + /* Enable ECC feature */ + Device->PCR |= FMC_PCR_ECCEN; + + return HAL_OK; +} + + +/** + * @brief Disables dynamically FMC_NAND ECC feature. + * @param Device: Pointer to NAND device instance + * @param Bank: NAND bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NAND_ECC_Disable(FMC_NAND_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_NAND_DEVICE(Device)); + assert_param(IS_FMC_NAND_BANK(Bank)); + + /* Disable ECC feature */ + Device->PCR &= ~FMC_PCR_ECCEN; + + return HAL_OK; +} + +/** + * @brief Disables dynamically FMC_NAND ECC feature. + * @param Device: Pointer to NAND device instance + * @param ECCval: Pointer to ECC value + * @param Bank: NAND bank number + * @param Timeout: Timeout wait value + * @retval HAL status + */ +HAL_StatusTypeDef FMC_NAND_GetECC(FMC_NAND_TypeDef *Device, uint32_t *ECCval, uint32_t Bank, uint32_t Timeout) +{ + uint32_t tickstart = 0; + + /* Check the parameters */ + assert_param(IS_FMC_NAND_DEVICE(Device)); + assert_param(IS_FMC_NAND_BANK(Bank)); + + /* Get tick */ + tickstart = HAL_GetTick(); + + /* Wait until FIFO is empty */ + while(__FMC_NAND_GET_FLAG(Device, Bank, FMC_FLAG_FEMPT) == RESET) + { + /* Check for the Timeout */ + if(Timeout != HAL_MAX_DELAY) + { + if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) + { + return HAL_TIMEOUT; + } + } + } + + /* Get the ECCR register value */ + *ECCval = (uint32_t)Device->ECCR; + + return HAL_OK; +} + +/** + * @} + */ + +/** + * @} + */ + +/** @defgroup FMC_LL_SDRAM + * @brief SDRAM Controller functions + * + @verbatim + ============================================================================== + ##### How to use SDRAM device driver ##### + ============================================================================== + [..] + This driver contains a set of APIs to interface with the FMC SDRAM banks in order + to run the SDRAM external devices. + + (+) FMC SDRAM bank reset using the function FMC_SDRAM_DeInit() + (+) FMC SDRAM bank control configuration using the function FMC_SDRAM_Init() + (+) FMC SDRAM bank timing configuration using the function FMC_SDRAM_Timing_Init() + (+) FMC SDRAM bank enable/disable write operation using the functions + FMC_SDRAM_WriteOperation_Enable()/FMC_SDRAM_WriteOperation_Disable() + (+) FMC SDRAM bank send command using the function FMC_SDRAM_SendCommand() + +@endverbatim + * @{ + */ + +/** @addtogroup FMC_LL_SDRAM_Private_Functions_Group1 + * @brief Initialization and Configuration functions + * +@verbatim + ============================================================================== + ##### Initialization and de_initialization functions ##### + ============================================================================== + [..] + This section provides functions allowing to: + (+) Initialize and configure the FMC SDRAM interface + (+) De-initialize the FMC SDRAM interface + (+) Configure the FMC clock and associated GPIOs + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the FMC_SDRAM device according to the specified + * control parameters in the FMC_SDRAM_InitTypeDef + * @param Device: Pointer to SDRAM device instance + * @param Init: Pointer to SDRAM Initialization structure + * @retval HAL status + */ +HAL_StatusTypeDef FMC_SDRAM_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_InitTypeDef *Init) +{ + uint32_t tmpr1 = 0; + uint32_t tmpr2 = 0; + + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_SDRAM_BANK(Init->SDBank)); + assert_param(IS_FMC_COLUMNBITS_NUMBER(Init->ColumnBitsNumber)); + assert_param(IS_FMC_ROWBITS_NUMBER(Init->RowBitsNumber)); + assert_param(IS_FMC_SDMEMORY_WIDTH(Init->MemoryDataWidth)); + assert_param(IS_FMC_INTERNALBANK_NUMBER(Init->InternalBankNumber)); + assert_param(IS_FMC_CAS_LATENCY(Init->CASLatency)); + assert_param(IS_FMC_WRITE_PROTECTION(Init->WriteProtection)); + assert_param(IS_FMC_SDCLOCK_PERIOD(Init->SDClockPeriod)); + assert_param(IS_FMC_READ_BURST(Init->ReadBurst)); + assert_param(IS_FMC_READPIPE_DELAY(Init->ReadPipeDelay)); + + /* Set SDRAM bank configuration parameters */ + if (Init->SDBank != FMC_SDRAM_BANK2) + { + tmpr1 = Device->SDCR[FMC_SDRAM_BANK1]; + + /* Clear NC, NR, MWID, NB, CAS, WP, SDCLK, RBURST, and RPIPE bits */ + tmpr1 &= ((uint32_t)~(FMC_SDCR1_NC | FMC_SDCR1_NR | FMC_SDCR1_MWID | \ + FMC_SDCR1_NB | FMC_SDCR1_CAS | FMC_SDCR1_WP | \ + FMC_SDCR1_SDCLK | FMC_SDCR1_RBURST | FMC_SDCR1_RPIPE)); + + tmpr1 |= (uint32_t)(Init->ColumnBitsNumber |\ + Init->RowBitsNumber |\ + Init->MemoryDataWidth |\ + Init->InternalBankNumber |\ + Init->CASLatency |\ + Init->WriteProtection |\ + Init->SDClockPeriod |\ + Init->ReadBurst |\ + Init->ReadPipeDelay + ); + Device->SDCR[FMC_SDRAM_BANK1] = tmpr1; + } + else /* FMC_Bank2_SDRAM */ + { + tmpr1 = Device->SDCR[FMC_SDRAM_BANK1]; + + /* Clear SDCLK, RBURST, and RPIPE bits */ + tmpr1 &= ((uint32_t)~(FMC_SDCR1_SDCLK | FMC_SDCR1_RBURST | FMC_SDCR1_RPIPE)); + + tmpr1 |= (uint32_t)(Init->SDClockPeriod |\ + Init->ReadBurst |\ + Init->ReadPipeDelay); + + tmpr2 = Device->SDCR[FMC_SDRAM_BANK2]; + + /* Clear NC, NR, MWID, NB, CAS, WP, SDCLK, RBURST, and RPIPE bits */ + tmpr2 &= ((uint32_t)~(FMC_SDCR1_NC | FMC_SDCR1_NR | FMC_SDCR1_MWID | \ + FMC_SDCR1_NB | FMC_SDCR1_CAS | FMC_SDCR1_WP | \ + FMC_SDCR1_SDCLK | FMC_SDCR1_RBURST | FMC_SDCR1_RPIPE)); + + tmpr2 |= (uint32_t)(Init->ColumnBitsNumber |\ + Init->RowBitsNumber |\ + Init->MemoryDataWidth |\ + Init->InternalBankNumber |\ + Init->CASLatency |\ + Init->WriteProtection); + + Device->SDCR[FMC_SDRAM_BANK1] = tmpr1; + Device->SDCR[FMC_SDRAM_BANK2] = tmpr2; + } + + return HAL_OK; +} + +/** + * @brief Initializes the FMC_SDRAM device timing according to the specified + * parameters in the FMC_SDRAM_TimingTypeDef + * @param Device: Pointer to SDRAM device instance + * @param Timing: Pointer to SDRAM Timing structure + * @param Bank: SDRAM bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_SDRAM_Timing_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_TimingTypeDef *Timing, uint32_t Bank) +{ + uint32_t tmpr1 = 0; + uint32_t tmpr2 = 0; + + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_LOADTOACTIVE_DELAY(Timing->LoadToActiveDelay)); + assert_param(IS_FMC_EXITSELFREFRESH_DELAY(Timing->ExitSelfRefreshDelay)); + assert_param(IS_FMC_SELFREFRESH_TIME(Timing->SelfRefreshTime)); + assert_param(IS_FMC_ROWCYCLE_DELAY(Timing->RowCycleDelay)); + assert_param(IS_FMC_WRITE_RECOVERY_TIME(Timing->WriteRecoveryTime)); + assert_param(IS_FMC_RP_DELAY(Timing->RPDelay)); + assert_param(IS_FMC_RCD_DELAY(Timing->RCDDelay)); + assert_param(IS_FMC_SDRAM_BANK(Bank)); + + /* Set SDRAM device timing parameters */ + if (Bank != FMC_SDRAM_BANK2) + { + tmpr1 = Device->SDTR[FMC_SDRAM_BANK1]; + + /* Clear TMRD, TXSR, TRAS, TRC, TWR, TRP and TRCD bits */ + tmpr1 &= ((uint32_t)~(FMC_SDTR1_TMRD | FMC_SDTR1_TXSR | FMC_SDTR1_TRAS | \ + FMC_SDTR1_TRC | FMC_SDTR1_TWR | FMC_SDTR1_TRP | \ + FMC_SDTR1_TRCD)); + + tmpr1 |= (uint32_t)(((Timing->LoadToActiveDelay)-1) |\ + (((Timing->ExitSelfRefreshDelay)-1) << 4) |\ + (((Timing->SelfRefreshTime)-1) << 8) |\ + (((Timing->RowCycleDelay)-1) << 12) |\ + (((Timing->WriteRecoveryTime)-1) <<16) |\ + (((Timing->RPDelay)-1) << 20) |\ + (((Timing->RCDDelay)-1) << 24)); + Device->SDTR[FMC_SDRAM_BANK1] = tmpr1; + } + else /* FMC_Bank2_SDRAM */ + { + tmpr1 = Device->SDTR[FMC_SDRAM_BANK1]; + + /* Clear TRC and TRP bits */ + tmpr1 &= ((uint32_t)~(FMC_SDTR1_TRC | FMC_SDTR1_TRP)); + + tmpr1 |= (uint32_t)((((Timing->RowCycleDelay)-1) << 12) |\ + (((Timing->RPDelay)-1) << 20)); + + tmpr2 = Device->SDTR[FMC_SDRAM_BANK2]; + + /* Clear TMRD, TXSR, TRAS, TRC, TWR, TRP and TRCD bits */ + tmpr2 &= ((uint32_t)~(FMC_SDTR1_TMRD | FMC_SDTR1_TXSR | FMC_SDTR1_TRAS | \ + FMC_SDTR1_TRC | FMC_SDTR1_TWR | FMC_SDTR1_TRP | \ + FMC_SDTR1_TRCD)); + + tmpr2 |= (uint32_t)(((Timing->LoadToActiveDelay)-1) |\ + (((Timing->ExitSelfRefreshDelay)-1) << 4) |\ + (((Timing->SelfRefreshTime)-1) << 8) |\ + (((Timing->WriteRecoveryTime)-1) <<16) |\ + (((Timing->RCDDelay)-1) << 24)); + + Device->SDTR[FMC_SDRAM_BANK1] = tmpr1; + Device->SDTR[FMC_SDRAM_BANK2] = tmpr2; + } + + return HAL_OK; +} + +/** + * @brief DeInitializes the FMC_SDRAM peripheral + * @param Device: Pointer to SDRAM device instance + * @retval HAL status + */ +HAL_StatusTypeDef FMC_SDRAM_DeInit(FMC_SDRAM_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_SDRAM_BANK(Bank)); + + /* De-initialize the SDRAM device */ + Device->SDCR[Bank] = 0x000002D0; + Device->SDTR[Bank] = 0x0FFFFFFF; + Device->SDCMR = 0x00000000; + Device->SDRTR = 0x00000000; + Device->SDSR = 0x00000000; + + return HAL_OK; +} + +/** + * @} + */ + +/** @addtogroup FMC_LL_SDRAMPrivate_Functions_Group2 + * @brief management functions + * +@verbatim + ============================================================================== + ##### FMC_SDRAM Control functions ##### + ============================================================================== + [..] + This subsection provides a set of functions allowing to control dynamically + the FMC SDRAM interface. + +@endverbatim + * @{ + */ + +/** + * @brief Enables dynamically FMC_SDRAM write protection. + * @param Device: Pointer to SDRAM device instance + * @param Bank: SDRAM bank number + * @retval HAL status + */ +HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Enable(FMC_SDRAM_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_SDRAM_BANK(Bank)); + + /* Enable write protection */ + Device->SDCR[Bank] |= FMC_SDRAM_WRITE_PROTECTION_ENABLE; + + return HAL_OK; +} + +/** + * @brief Disables dynamically FMC_SDRAM write protection. + * @param hsdram: FMC_SDRAM handle + * @retval HAL status + */ +HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Disable(FMC_SDRAM_TypeDef *Device, uint32_t Bank) +{ + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_SDRAM_BANK(Bank)); + + /* Disable write protection */ + Device->SDCR[Bank] &= ~FMC_SDRAM_WRITE_PROTECTION_ENABLE; + + return HAL_OK; +} + +/** + * @brief Send Command to the FMC SDRAM bank + * @param Device: Pointer to SDRAM device instance + * @param Command: Pointer to SDRAM command structure + * @param Timing: Pointer to SDRAM Timing structure + * @param Timeout: Timeout wait value + * @retval HAL state + */ +HAL_StatusTypeDef FMC_SDRAM_SendCommand(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_CommandTypeDef *Command, uint32_t Timeout) +{ + __IO uint32_t tmpr = 0; + + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_COMMAND_MODE(Command->CommandMode)); + assert_param(IS_FMC_COMMAND_TARGET(Command->CommandTarget)); + assert_param(IS_FMC_AUTOREFRESH_NUMBER(Command->AutoRefreshNumber)); + assert_param(IS_FMC_MODE_REGISTER(Command->ModeRegisterDefinition)); + + /* Set command register */ + tmpr = (uint32_t)((Command->CommandMode) |\ + (Command->CommandTarget) |\ + (((Command->AutoRefreshNumber)-1) << 5) |\ + ((Command->ModeRegisterDefinition) << 9) + ); + + Device->SDCMR = tmpr; + + + return HAL_OK; +} + + +/** + * @brief Program the SDRAM Memory Refresh rate. + * @param Device: Pointer to SDRAM device instance + * @param RefreshRate: The SDRAM refresh rate value. + * @retval HAL state + */ +HAL_StatusTypeDef FMC_SDRAM_ProgramRefreshRate(FMC_SDRAM_TypeDef *Device, uint32_t RefreshRate) +{ + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_REFRESH_RATE(RefreshRate)); + + /* Set the refresh rate in command register */ + Device->SDRTR |= (RefreshRate<<1); + + return HAL_OK; +} + +/** + * @brief Set the Number of consecutive SDRAM Memory auto Refresh commands. + * @param Device: Pointer to SDRAM device instance + * @param AutoRefreshNumber: Specifies the auto Refresh number. + * @retval HAL state + */ +HAL_StatusTypeDef FMC_SDRAM_SetAutoRefreshNumber(FMC_SDRAM_TypeDef *Device, uint32_t AutoRefreshNumber) +{ + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_AUTOREFRESH_NUMBER(AutoRefreshNumber)); + + /* Set the Auto-refresh number in command register */ + Device->SDCMR |= (AutoRefreshNumber << 5); + + return HAL_OK; +} + +/** + * @brief Returns the indicated FMC SDRAM bank mode status. + * @param Device: Pointer to SDRAM device instance + * @param Bank: Defines the FMC SDRAM bank. This parameter can be + * FMC_Bank1_SDRAM or FMC_Bank2_SDRAM. + * @retval The FMC SDRAM bank mode status, could be on of the following values: + * FMC_SDRAM_NORMAL_MODE, FMC_SDRAM_SELF_REFRESH_MODE or + * FMC_SDRAM_POWER_DOWN_MODE. + */ +uint32_t FMC_SDRAM_GetModeStatus(FMC_SDRAM_TypeDef *Device, uint32_t Bank) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_FMC_SDRAM_DEVICE(Device)); + assert_param(IS_FMC_SDRAM_BANK(Bank)); + + /* Get the corresponding bank mode */ + if(Bank == FMC_SDRAM_BANK1) + { + tmpreg = (uint32_t)(Device->SDSR & FMC_SDSR_MODES1); + } + else + { + tmpreg = ((uint32_t)(Device->SDSR & FMC_SDSR_MODES2) >> 2); + } + + /* Return the mode status */ + return tmpreg; +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +#endif /* HAL_SRAM_MODULE_ENABLED || HAL_NOR_MODULE_ENABLED || HAL_NAND_MODULE_ENABLED || HAL_SDRAM_MODULE_ENABLED */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c new file mode 100644 index 0000000000..aaa783a150 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c @@ -0,0 +1,1586 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_sdmmc.c + * @author MCD Application Team + * @brief SDMMC Low Layer HAL module driver. + * + * This file provides firmware functions to manage the following + * functionalities of the SDMMC peripheral: + * + Initialization/de-initialization functions + * + I/O operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### SDMMC peripheral features ##### + ============================================================================== + [..] The SD/SDMMC MMC card host interface (SDMMC) provides an interface between the AHB + peripheral bus and MultiMedia cards (MMCs), SD memory cards, SDMMC cards and CE-ATA + devices. + + [..] The SDMMC features include the following: + (+) Full compliance with MultiMediaCard System Specification Version 4.51. Card support + for three different databus modes: 1-bit (default), 4-bit and 8-bit. + (+) Full compatibility with previous versions of MultiMediaCards (backward compatibility). + (+) Full compliance with SD memory card specifications version 4.1. + (SDR104 SDMMC_CK speed limited to maximum allowed IO speed, SPI mode and + UHS-II mode not supported). + (+) Full compliance with SDIO card specification version 4.0. Card support + for two different databus modes: 1-bit (default) and 4-bit. + (SDR104 SDMMC_CK speed limited to maximum allowed IO speed, SPI mode and + UHS-II mode not supported). + (+) Data transfer up to 208 Mbyte/s for the 8 bit mode. (depending maximum allowed IO speed). + (+) Data and command output enable signals to control external bidirectional drivers + + ##### How to use this driver ##### + ============================================================================== + [..] + This driver is a considered as a driver of service for external devices drivers + that interfaces with the SDMMC peripheral. + According to the device used (SD card/ MMC card / SDMMC card ...), a set of APIs + is used in the device's driver to perform SDMMC operations and functionalities. + + This driver is almost transparent for the final user, it is only used to implement other + functionalities of the external device. + + [..] + (+) The SDMMC clock is coming from output of PLL1_Q or PLL2_R. + Before start working with SDMMC peripheral make sure that the PLL is well configured. + The SDMMC peripheral uses two clock signals: + (++) PLL1_Q bus clock (default after reset) + (++) PLL2_R bus clock + + (+) Enable/Disable peripheral clock using RCC peripheral macros related to SDMMC + peripheral. + + (+) Enable the Power ON State using the SDMMC_PowerState_ON(SDMMCx) + function and disable it using the function SDMMC_PowerState_OFF(SDMMCx). + + (+) Enable/Disable the peripheral interrupts using the macros __SDMMC_ENABLE_IT(hSDMMC, IT) + and __SDMMC_DISABLE_IT(hSDMMC, IT) if you need to use interrupt mode. + + (+) When using the DMA mode + (++) Configure the IDMA mode (Single buffer or double) + (++) Configure the buffer address + (++) Configure Data Path State Machine + + (+) To control the CPSM (Command Path State Machine) and send + commands to the card use the SDMMC_SendCommand(SDMMCx), + SDMMC_GetCommandResponse() and SDMMC_GetResponse() functions. First, user has + to fill the command structure (pointer to SDMMC_CmdInitTypeDef) according + to the selected command to be sent. + The parameters that should be filled are: + (++) Command Argument + (++) Command Index + (++) Command Response type + (++) Command Wait + (++) CPSM Status (Enable or Disable). + + -@@- To check if the command is well received, read the SDMMC_CMDRESP + register using the SDMMC_GetCommandResponse(). + The SDMMC responses registers (SDMMC_RESP1 to SDMMC_RESP2), use the + SDMMC_GetResponse() function. + + (+) To control the DPSM (Data Path State Machine) and send/receive + data to/from the card use the SDMMC_DataConfig(), SDMMC_GetDataCounter(), + SDMMC_ReadFIFO(), SDMMC_WriteFIFO() and SDMMC_GetFIFOCount() functions. + + *** Read Operations *** + ======================= + [..] + (#) First, user has to fill the data structure (pointer to + SDMMC_DataInitTypeDef) according to the selected data type to be received. + The parameters that should be filled are: + (++) Data TimeOut + (++) Data Length + (++) Data Block size + (++) Data Transfer direction: should be from card (To SDMMC) + (++) Data Transfer mode + (++) DPSM Status (Enable or Disable) + + (#) Configure the SDMMC resources to receive the data from the card + according to selected transfer mode (Refer to Step 8, 9 and 10). + + (#) Send the selected Read command (refer to step 11). + + (#) Use the SDMMC flags/interrupts to check the transfer status. + + *** Write Operations *** + ======================== + [..] + (#) First, user has to fill the data structure (pointer to + SDMMC_DataInitTypeDef) according to the selected data type to be received. + The parameters that should be filled are: + (++) Data TimeOut + (++) Data Length + (++) Data Block size + (++) Data Transfer direction: should be to card (To CARD) + (++) Data Transfer mode + (++) DPSM Status (Enable or Disable) + + (#) Configure the SDMMC resources to send the data to the card according to + selected transfer mode. + + (#) Send the selected Write command. + + (#) Use the SDMMC flags/interrupts to check the transfer status. + + *** Command management operations *** + ===================================== + [..] + (#) The commands used for Read/Write/Erase operations are managed in + separate functions. + Each function allows to send the needed command with the related argument, + then check the response. + By the same approach, you could implement a command and check the response. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2018 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_HAL_Driver + * @{ + */ + +/** @defgroup SDMMC_LL SDMMC Low Layer + * @brief Low layer module for SD + * @{ + */ + +#if defined (HAL_SD_MODULE_ENABLED) || defined (HAL_MMC_MODULE_ENABLED) + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static uint32_t SDMMC_GetCmdError(SDMMC_TypeDef *SDMMCx); +static uint32_t SDMMC_GetCmdResp1(SDMMC_TypeDef *SDMMCx, uint8_t SD_CMD, uint32_t Timeout); +static uint32_t SDMMC_GetCmdResp2(SDMMC_TypeDef *SDMMCx); +static uint32_t SDMMC_GetCmdResp3(SDMMC_TypeDef *SDMMCx); +static uint32_t SDMMC_GetCmdResp7(SDMMC_TypeDef *SDMMCx); +static uint32_t SDMMC_GetCmdResp6(SDMMC_TypeDef *SDMMCx, uint8_t SD_CMD, uint16_t *pRCA); + +/* Exported functions --------------------------------------------------------*/ + +/** @defgroup SDMMC_LL_Exported_Functions SDMMC Low Layer Exported Functions + * @{ + */ + +/** @defgroup HAL_SDMMC_LL_Group1 Initialization de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization/de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the SDMMC according to the specified + * parameters in the SDMMC_InitTypeDef and create the associated handle. + * @param SDMMCx: Pointer to SDMMC register base + * @param Init: SDMMC initialization structure + * @retval HAL status + */ +HAL_StatusTypeDef SDMMC_Init(SDMMC_TypeDef *SDMMCx, SDMMC_InitTypeDef Init) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_SDMMC_ALL_INSTANCE(SDMMCx)); + assert_param(IS_SDMMC_CLOCK_EDGE(Init.ClockEdge)); + assert_param(IS_SDMMC_CLOCK_POWER_SAVE(Init.ClockPowerSave)); + assert_param(IS_SDMMC_BUS_WIDE(Init.BusWide)); + assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(Init.HardwareFlowControl)); + assert_param(IS_SDMMC_CLKDIV(Init.ClockDiv)); + + /* Set SDMMC configuration parameters */ + tmpreg |= (Init.ClockEdge |\ + Init.ClockPowerSave |\ + Init.BusWide |\ + Init.HardwareFlowControl |\ + Init.ClockDiv + ); + + /* Write to SDMMC CLKCR */ + MODIFY_REG(SDMMCx->CLKCR, CLKCR_CLEAR_MASK, tmpreg); + + return HAL_OK; +} + + +/** + * @} + */ + +/** @defgroup HAL_SDMMC_LL_Group2 IO operation functions + * @brief Data transfers functions + * +@verbatim + =============================================================================== + ##### I/O operation functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the SDMMC data + transfers. + +@endverbatim + * @{ + */ + +/** + * @brief Read data (word) from Rx FIFO in blocking mode (polling) + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_ReadFIFO(SDMMC_TypeDef *SDMMCx) +{ + /* Read data from Rx FIFO */ + return (SDMMCx->FIFO); +} + +/** + * @brief Write data (word) to Tx FIFO in blocking mode (polling) + * @param SDMMCx: Pointer to SDMMC register base + * @param pWriteData: pointer to data to write + * @retval HAL status + */ +HAL_StatusTypeDef SDMMC_WriteFIFO(SDMMC_TypeDef *SDMMCx, uint32_t *pWriteData) +{ + /* Write data to FIFO */ + SDMMCx->FIFO = *pWriteData; + + return HAL_OK; +} + +/** + * @} + */ + +/** @defgroup HAL_SDMMC_LL_Group3 Peripheral Control functions + * @brief management functions + * +@verbatim + =============================================================================== + ##### Peripheral Control functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to control the SDMMC data + transfers. + +@endverbatim + * @{ + */ + +/** + * @brief Set SDMMC Power state to ON. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +HAL_StatusTypeDef SDMMC_PowerState_ON(SDMMC_TypeDef *SDMMCx) +{ + /* Set power state to ON */ + SDMMCx->POWER |= SDMMC_POWER_PWRCTRL; + + /* 1ms: required power up waiting time before starting the SD initialization + sequence */ + HAL_Delay(2); + + return HAL_OK; +} + +/** + * @brief Set SDMMC Power state to Power-Cycle. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +HAL_StatusTypeDef SDMMC_PowerState_Cycle(SDMMC_TypeDef *SDMMCx) +{ + /* Set power state to Power Cycle*/ + SDMMCx->POWER |= SDMMC_POWER_PWRCTRL_1; + + return HAL_OK; +} + +/** + * @brief Set SDMMC Power state to OFF. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +HAL_StatusTypeDef SDMMC_PowerState_OFF(SDMMC_TypeDef *SDMMCx) +{ + /* Set power state to OFF */ + SDMMCx->POWER &= ~(SDMMC_POWER_PWRCTRL); + + return HAL_OK; +} + +/** + * @brief Get SDMMC Power state. + * @param SDMMCx: Pointer to SDMMC register base + * @retval Power status of the controller. The returned value can be one of the + * following values: + * - 0x00: Power OFF + * - 0x02: Power UP + * - 0x03: Power ON + */ +uint32_t SDMMC_GetPowerState(SDMMC_TypeDef *SDMMCx) +{ + return (SDMMCx->POWER & SDMMC_POWER_PWRCTRL); +} + +/** + * @brief Configure the SDMMC command path according to the specified parameters in + * SDMMC_CmdInitTypeDef structure and send the command + * @param SDMMCx: Pointer to SDMMC register base + * @param Command: pointer to a SDMMC_CmdInitTypeDef structure that contains + * the configuration information for the SDMMC command + * @retval HAL status + */ +HAL_StatusTypeDef SDMMC_SendCommand(SDMMC_TypeDef *SDMMCx, SDMMC_CmdInitTypeDef *Command) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_SDMMC_CMD_INDEX(Command->CmdIndex)); + assert_param(IS_SDMMC_RESPONSE(Command->Response)); + assert_param(IS_SDMMC_WAIT(Command->WaitForInterrupt)); + assert_param(IS_SDMMC_CPSM(Command->CPSM)); + + /* Set the SDMMC Argument value */ + SDMMCx->ARG = Command->Argument; + + /* Set SDMMC command parameters */ + tmpreg |= (uint32_t)(Command->CmdIndex |\ + Command->Response |\ + Command->WaitForInterrupt |\ + Command->CPSM); + + /* Write to SDMMC CMD register */ + MODIFY_REG(SDMMCx->CMD, CMD_CLEAR_MASK, tmpreg); + + return HAL_OK; +} + +/** + * @brief Return the command index of last command for which response received + * @param SDMMCx: Pointer to SDMMC register base + * @retval Command index of the last command response received + */ +uint8_t SDMMC_GetCommandResponse(SDMMC_TypeDef *SDMMCx) +{ + return (uint8_t)(SDMMCx->RESPCMD); +} + + +/** + * @brief Return the response received from the card for the last command + * @param SDMMCx: Pointer to SDMMC register base + * @param Response: Specifies the SDMMC response register. + * This parameter can be one of the following values: + * @arg SDMMC_RESP1: Response Register 1 + * @arg SDMMC_RESP2: Response Register 2 + * @arg SDMMC_RESP3: Response Register 3 + * @arg SDMMC_RESP4: Response Register 4 + * @retval The Corresponding response register value + */ +uint32_t SDMMC_GetResponse(SDMMC_TypeDef *SDMMCx, uint32_t Response) +{ + uint32_t tmp; + + /* Check the parameters */ + assert_param(IS_SDMMC_RESP(Response)); + + /* Get the response */ + tmp = (uint32_t)(&(SDMMCx->RESP1)) + Response; + + return (*(__IO uint32_t *) tmp); +} + +/** + * @brief Configure the SDMMC data path according to the specified + * parameters in the SDMMC_DataInitTypeDef. + * @param SDMMCx: Pointer to SDMMC register base + * @param Data : pointer to a SDMMC_DataInitTypeDef structure + * that contains the configuration information for the SDMMC data. + * @retval HAL status + */ +HAL_StatusTypeDef SDMMC_ConfigData(SDMMC_TypeDef *SDMMCx, SDMMC_DataInitTypeDef* Data) +{ + uint32_t tmpreg = 0; + + /* Check the parameters */ + assert_param(IS_SDMMC_DATA_LENGTH(Data->DataLength)); + assert_param(IS_SDMMC_BLOCK_SIZE(Data->DataBlockSize)); + assert_param(IS_SDMMC_TRANSFER_DIR(Data->TransferDir)); + assert_param(IS_SDMMC_TRANSFER_MODE(Data->TransferMode)); + assert_param(IS_SDMMC_DPSM(Data->DPSM)); + + /* Set the SDMMC Data TimeOut value */ + SDMMCx->DTIMER = Data->DataTimeOut; + + /* Set the SDMMC DataLength value */ + SDMMCx->DLEN = Data->DataLength; + + /* Set the SDMMC data configuration parameters */ + tmpreg |= (uint32_t)(Data->DataBlockSize |\ + Data->TransferDir |\ + Data->TransferMode |\ + Data->DPSM); + + /* Write to SDMMC DCTRL */ + MODIFY_REG(SDMMCx->DCTRL, DCTRL_CLEAR_MASK, tmpreg); + + return HAL_OK; + +} + +/** + * @brief Returns number of remaining data bytes to be transferred. + * @param SDMMCx: Pointer to SDMMC register base + * @retval Number of remaining data bytes to be transferred + */ +uint32_t SDMMC_GetDataCounter(SDMMC_TypeDef *SDMMCx) +{ + return (SDMMCx->DCOUNT); +} + +/** + * @brief Get the FIFO data + * @param SDMMCx: Pointer to SDMMC register base + * @retval Data received + */ +uint32_t SDMMC_GetFIFOCount(SDMMC_TypeDef *SDMMCx) +{ + return (SDMMCx->FIFO); +} + +/** + * @brief Sets one of the two options of inserting read wait interval. + * @param SDMMCx: Pointer to SDMMC register base + * @param SDMMC_ReadWaitMode: SDMMC Read Wait operation mode. + * This parameter can be: + * @arg SDMMC_READ_WAIT_MODE_CLK: Read Wait control by stopping SDMMCCLK + * @arg SDMMC_READ_WAIT_MODE_DATA2: Read Wait control using SDMMC_DATA2 + * @retval None + */ +HAL_StatusTypeDef SDMMC_SetSDMMCReadWaitMode(SDMMC_TypeDef *SDMMCx, uint32_t SDMMC_ReadWaitMode) +{ + /* Check the parameters */ + assert_param(IS_SDMMC_READWAIT_MODE(SDMMC_ReadWaitMode)); + + /* Set SDMMC read wait mode */ + MODIFY_REG(SDMMCx->DCTRL, SDMMC_DCTRL_RWMOD, SDMMC_ReadWaitMode); + + return HAL_OK; +} + +/** + * @} + */ + + +/** @defgroup HAL_SDMMC_LL_Group4 Command management functions + * @brief Data transfers functions + * +@verbatim + =============================================================================== + ##### Commands management functions ##### + =============================================================================== + [..] + This subsection provides a set of functions allowing to manage the needed commands. + +@endverbatim + * @{ + */ + +/** + * @brief Send the Data Block Lenght command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdBlockLength(SDMMC_TypeDef *SDMMCx, uint32_t BlockSize) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)BlockSize; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_BLOCKLEN; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SET_BLOCKLEN, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Read Single Block command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdReadSingleBlock(SDMMC_TypeDef *SDMMCx, uint32_t ReadAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Read Multi Block command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdReadMultiBlock(SDMMC_TypeDef *SDMMCx, uint32_t ReadAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_MULT_BLOCK; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_MULT_BLOCK, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Write Single Block command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdWriteSingleBlock(SDMMC_TypeDef *SDMMCx, uint32_t WriteAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Write Multi Block command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdWriteMultiBlock(SDMMC_TypeDef *SDMMCx, uint32_t WriteAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_MULT_BLOCK, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Start Address Erase command for SD and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdSDEraseStartAdd(SDMMC_TypeDef *SDMMCx, uint32_t StartAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)StartAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_ERASE_GRP_START; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_ERASE_GRP_START, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the End Address Erase command for SD and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdSDEraseEndAdd(SDMMC_TypeDef *SDMMCx, uint32_t EndAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)EndAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_ERASE_GRP_END; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_ERASE_GRP_END, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Start Address Erase command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdEraseStartAdd(SDMMC_TypeDef *SDMMCx, uint32_t StartAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)StartAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ERASE_GRP_START; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_ERASE_GRP_START, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the End Address Erase command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdEraseEndAdd(SDMMC_TypeDef *SDMMCx, uint32_t EndAdd) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = (uint32_t)EndAdd; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ERASE_GRP_END; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_ERASE_GRP_END, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Erase command and check the response + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdErase(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Set Block Size for Card */ + sdmmc_cmdinit.Argument = 0; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ERASE; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_ERASE, SDMMC_MAXERASETIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Stop Transfer command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdStopTransfer(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD12 STOP_TRANSMISSION */ + sdmmc_cmdinit.Argument = 0; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_STOP_TRANSMISSION; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + + __SDMMC_CMDSTOP_ENABLE(SDMMCx); + __SDMMC_CMDTRANS_DISABLE(SDMMCx); + + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_STOP_TRANSMISSION, SDMMC_STOPTRANSFERTIMEOUT); + + __SDMMC_CMDSTOP_DISABLE(SDMMCx); + + return errorstate; +} + +/** + * @brief Send the Select Deselect command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @param addr: Address of the card to be selected + * @retval HAL status + */ +uint32_t SDMMC_CmdSelDesel(SDMMC_TypeDef *SDMMCx, uint64_t Addr) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD7 SDMMC_SEL_DESEL_CARD */ + sdmmc_cmdinit.Argument = (uint32_t)Addr; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEL_DESEL_CARD; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEL_DESEL_CARD, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Go Idle State command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdGoIdleState(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = 0; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_GO_IDLE_STATE; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_NO; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdError(SDMMCx); + + return errorstate; +} + +/** + * @brief Send the Operating Condition command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdOperCond(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD8 to verify SD card interface operating condition */ + /* Argument: - [31:12]: Reserved (shall be set to '0') + - [11:8]: Supply Voltage (VHS) 0x1 (Range: 2.7-3.6 V) + - [7:0]: Check Pattern (recommended 0xAA) */ + /* CMD Response: R7 */ + sdmmc_cmdinit.Argument = SDMMC_CHECK_PATTERN; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_HS_SEND_EXT_CSD; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp7(SDMMCx); + + return errorstate; +} + +/** + * @brief Send the Application command to verify that that the next command + * is an application specific com-mand rather than a standard command + * and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @param Argument: Command Argument + * @retval HAL status + */ +uint32_t SDMMC_CmdAppCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = (uint32_t)Argument; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_CMD; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + /* If there is a HAL_ERROR, it is a MMC card, else + it is a SD card: SD card 2.0 (voltage range mismatch) + or SD card 1.x */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_APP_CMD, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the command asking the accessed card to send its operating + * condition register (OCR) + * @param SDMMCx: Pointer to SDMMC register base + * @param Argument: Command Argument + * @retval HAL status + */ +uint32_t SDMMC_CmdAppOperCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = Argument; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_OP_COND; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp3(SDMMCx); + + return errorstate; +} + +/** + * @brief Send the Bus Width command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @param BusWidth: BusWidth + * @retval HAL status + */ +uint32_t SDMMC_CmdBusWidth(SDMMC_TypeDef *SDMMCx, uint32_t BusWidth) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = (uint32_t)BusWidth; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_SD_SET_BUSWIDTH; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_APP_SD_SET_BUSWIDTH, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Send SCR command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdSendSCR(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD51 SD_APP_SEND_SCR */ + sdmmc_cmdinit.Argument = 0; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_SEND_SCR; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_APP_SEND_SCR, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Send CID command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdSendCID(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD2 ALL_SEND_CID */ + sdmmc_cmdinit.Argument = 0; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ALL_SEND_CID; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp2(SDMMCx); + + return errorstate; +} + +/** + * @brief Send the Send CSD command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @param Argument: Command Argument + * @retval HAL status + */ +uint32_t SDMMC_CmdSendCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD9 SEND_CSD */ + sdmmc_cmdinit.Argument = Argument; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_CSD; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp2(SDMMCx); + + return errorstate; +} + +/** + * @brief Send the Send CSD command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @param pRCA: Card RCA + * @retval HAL status + */ +uint32_t SDMMC_CmdSetRelAdd(SDMMC_TypeDef *SDMMCx, uint16_t *pRCA) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD3 SD_CMD_SET_REL_ADDR */ + sdmmc_cmdinit.Argument = 0; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_REL_ADDR; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp6(SDMMCx, SDMMC_CMD_SET_REL_ADDR, pRCA); + + return errorstate; +} + +/** + * @brief Send the Status command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @param Argument: Command Argument + * @retval HAL status + */ +uint32_t SDMMC_CmdSendStatus(SDMMC_TypeDef *SDMMCx, uint32_t Argument) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = Argument; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_STATUS; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEND_STATUS, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Status register command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @retval HAL status + */ +uint32_t SDMMC_CmdStatusRegister(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = 0; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_STATUS; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_APP_STATUS, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Sends host capacity support information and activates the card's + * initialization process. Send SDMMC_CMD_SEND_OP_COND command + * @param SDIOx: Pointer to SDIO register base + * @parame Argument: Argument used for the command + * @retval HAL status + */ +uint32_t SDMMC_CmdOpCondition(SDMMC_TypeDef *SDMMCx, uint32_t Argument) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = Argument; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_OP_COND; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp3(SDMMCx); + + return errorstate; +} + +/** + * @brief Checks switchable function and switch card function. SDMMC_CMD_HS_SWITCH comand + * @param SDIOx: Pointer to SDIO register base + * @parame Argument: Argument used for the command + * @retval HAL status + */ +uint32_t SDMMC_CmdSwitch(SDMMC_TypeDef *SDMMCx, uint32_t Argument) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD6 to activate SDR50 Mode and Power Limit 1.44W */ + /* CMD Response: R1 */ + sdmmc_cmdinit.Argument = Argument; /* SDMMC_SDR25_SWITCH_PATTERN;*/ + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_HS_SWITCH; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_HS_SWITCH, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the command asking the accessed card to send its operating + * condition register (OCR) + * @param None + * @retval HAL status + */ +uint32_t SDMMC_CmdVoltageSwitch(SDMMC_TypeDef *SDMMCx) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + sdmmc_cmdinit.Argument = 0x00000000; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_VOLTAGE_SWITCH; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_VOLTAGE_SWITCH, SDMMC_CMDTIMEOUT); + + return errorstate; +} + +/** + * @brief Send the Send EXT_CSD command and check the response. + * @param SDMMCx: Pointer to SDMMC register base + * @param Argument: Command Argument + * @retval HAL status + */ +uint32_t SDMMC_CmdSendEXTCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument) +{ + SDMMC_CmdInitTypeDef sdmmc_cmdinit; + uint32_t errorstate; + + /* Send CMD9 SEND_CSD */ + sdmmc_cmdinit.Argument = Argument; + sdmmc_cmdinit.CmdIndex = SDMMC_CMD_HS_SEND_EXT_CSD; + sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; + sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; + sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; + (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); + + /* Check for error conditions */ + errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_HS_SEND_EXT_CSD,SDMMC_CMDTIMEOUT); + + return errorstate; +} + + +/** + * @} + */ + +/* Private function ----------------------------------------------------------*/ +/** @addtogroup SD_Private_Functions + * @{ + */ + +/** + * @brief Checks for error conditions for CMD0. + * @param hsd: SD handle + * @retval SD Card error state + */ +static uint32_t SDMMC_GetCmdError(SDMMC_TypeDef *SDMMCx) +{ + /* 8 is the number of required instructions cycles for the below loop statement. + The SDMMC_CMDTIMEOUT is expressed in ms */ + register uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); + + do + { + if (count-- == 0U) + { + return SDMMC_ERROR_TIMEOUT; + } + + }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDSENT)); + + /* Clear all the static flags */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); + + return SDMMC_ERROR_NONE; +} + +/** + * @brief Checks for error conditions for R1 response. + * @param hsd: SD handle + * @param SD_CMD: The sent command index + * @retval SD Card error state + */ +static uint32_t SDMMC_GetCmdResp1(SDMMC_TypeDef *SDMMCx, uint8_t SD_CMD, uint32_t Timeout) +{ + uint32_t response_r1; + + /* 8 is the number of required instructions cycles for the below loop statement. + The Timeout is expressed in ms */ + register uint32_t count = Timeout * (SystemCoreClock / 8U /1000U); + + do + { + if (count-- == 0U) + { + return SDMMC_ERROR_TIMEOUT; + } + + }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT | SDMMC_FLAG_BUSYD0END)); + + if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) + { + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); + + return SDMMC_ERROR_CMD_RSP_TIMEOUT; + } + else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) + { + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); + + return SDMMC_ERROR_CMD_CRC_FAIL; + } + else + { + /* Nothing to do */ + } + + /* Clear all the static flags */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); + + /* Check response received is of desired command */ + if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) + { + return SDMMC_ERROR_CMD_CRC_FAIL; + } + + /* We have received response, retrieve it for analysis */ + response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); + + if((response_r1 & SDMMC_OCR_ERRORBITS) == SDMMC_ALLZERO) + { + return SDMMC_ERROR_NONE; + } + else if((response_r1 & SDMMC_OCR_ADDR_OUT_OF_RANGE) == SDMMC_OCR_ADDR_OUT_OF_RANGE) + { + return SDMMC_ERROR_ADDR_OUT_OF_RANGE; + } + else if((response_r1 & SDMMC_OCR_ADDR_MISALIGNED) == SDMMC_OCR_ADDR_MISALIGNED) + { + return SDMMC_ERROR_ADDR_MISALIGNED; + } + else if((response_r1 & SDMMC_OCR_BLOCK_LEN_ERR) == SDMMC_OCR_BLOCK_LEN_ERR) + { + return SDMMC_ERROR_BLOCK_LEN_ERR; + } + else if((response_r1 & SDMMC_OCR_ERASE_SEQ_ERR) == SDMMC_OCR_ERASE_SEQ_ERR) + { + return SDMMC_ERROR_ERASE_SEQ_ERR; + } + else if((response_r1 & SDMMC_OCR_BAD_ERASE_PARAM) == SDMMC_OCR_BAD_ERASE_PARAM) + { + return SDMMC_ERROR_BAD_ERASE_PARAM; + } + else if((response_r1 & SDMMC_OCR_WRITE_PROT_VIOLATION) == SDMMC_OCR_WRITE_PROT_VIOLATION) + { + return SDMMC_ERROR_WRITE_PROT_VIOLATION; + } + else if((response_r1 & SDMMC_OCR_LOCK_UNLOCK_FAILED) == SDMMC_OCR_LOCK_UNLOCK_FAILED) + { + return SDMMC_ERROR_LOCK_UNLOCK_FAILED; + } + else if((response_r1 & SDMMC_OCR_COM_CRC_FAILED) == SDMMC_OCR_COM_CRC_FAILED) + { + return SDMMC_ERROR_COM_CRC_FAILED; + } + else if((response_r1 & SDMMC_OCR_ILLEGAL_CMD) == SDMMC_OCR_ILLEGAL_CMD) + { + return SDMMC_ERROR_ILLEGAL_CMD; + } + else if((response_r1 & SDMMC_OCR_CARD_ECC_FAILED) == SDMMC_OCR_CARD_ECC_FAILED) + { + return SDMMC_ERROR_CARD_ECC_FAILED; + } + else if((response_r1 & SDMMC_OCR_CC_ERROR) == SDMMC_OCR_CC_ERROR) + { + return SDMMC_ERROR_CC_ERR; + } + else if((response_r1 & SDMMC_OCR_STREAM_READ_UNDERRUN) == SDMMC_OCR_STREAM_READ_UNDERRUN) + { + return SDMMC_ERROR_STREAM_READ_UNDERRUN; + } + else if((response_r1 & SDMMC_OCR_STREAM_WRITE_OVERRUN) == SDMMC_OCR_STREAM_WRITE_OVERRUN) + { + return SDMMC_ERROR_STREAM_WRITE_OVERRUN; + } + else if((response_r1 & SDMMC_OCR_CID_CSD_OVERWRITE) == SDMMC_OCR_CID_CSD_OVERWRITE) + { + return SDMMC_ERROR_CID_CSD_OVERWRITE; + } + else if((response_r1 & SDMMC_OCR_WP_ERASE_SKIP) == SDMMC_OCR_WP_ERASE_SKIP) + { + return SDMMC_ERROR_WP_ERASE_SKIP; + } + else if((response_r1 & SDMMC_OCR_CARD_ECC_DISABLED) == SDMMC_OCR_CARD_ECC_DISABLED) + { + return SDMMC_ERROR_CARD_ECC_DISABLED; + } + else if((response_r1 & SDMMC_OCR_ERASE_RESET) == SDMMC_OCR_ERASE_RESET) + { + return SDMMC_ERROR_ERASE_RESET; + } + else if((response_r1 & SDMMC_OCR_AKE_SEQ_ERROR) == SDMMC_OCR_AKE_SEQ_ERROR) + { + return SDMMC_ERROR_AKE_SEQ_ERR; + } + else + { + return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; + } +} + +/** + * @brief Checks for error conditions for R2 (CID or CSD) response. + * @param hsd: SD handle + * @retval SD Card error state + */ +static uint32_t SDMMC_GetCmdResp2(SDMMC_TypeDef *SDMMCx) +{ + /* 8 is the number of required instructions cycles for the below loop statement. + The SDMMC_CMDTIMEOUT is expressed in ms */ + register uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); + + do + { + if (count-- == 0U) + { + return SDMMC_ERROR_TIMEOUT; + } + + }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)); + + if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) + { + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); + + return SDMMC_ERROR_CMD_RSP_TIMEOUT; + } + else if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) + { + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); + + return SDMMC_ERROR_CMD_CRC_FAIL; + } + else + { + /* No error flag set */ + /* Clear all the static flags */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); + } + + return SDMMC_ERROR_NONE; +} + +/** + * @brief Checks for error conditions for R3 (OCR) response. + * @param hsd: SD handle + * @retval SD Card error state + */ +static uint32_t SDMMC_GetCmdResp3(SDMMC_TypeDef *SDMMCx) +{ + /* 8 is the number of required instructions cycles for the below loop statement. + The SDMMC_CMDTIMEOUT is expressed in ms */ + register uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); + + do + { + if (count-- == 0U) + { + return SDMMC_ERROR_TIMEOUT; + } + + }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)); + + if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) + { + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); + + return SDMMC_ERROR_CMD_RSP_TIMEOUT; + } + else + { + /* Clear all the static flags */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); + } + + return SDMMC_ERROR_NONE; +} + +/** + * @brief Checks for error conditions for R6 (RCA) response. + * @param hsd: SD handle + * @param SD_CMD: The sent command index + * @param pRCA: Pointer to the variable that will contain the SD card relative + * address RCA + * @retval SD Card error state + */ +static uint32_t SDMMC_GetCmdResp6(SDMMC_TypeDef *SDMMCx, uint8_t SD_CMD, uint16_t *pRCA) +{ + uint32_t response_r1; + + /* 8 is the number of required instructions cycles for the below loop statement. + The SDMMC_CMDTIMEOUT is expressed in ms */ + register uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); + + do + { + if (count-- == 0U) + { + return SDMMC_ERROR_TIMEOUT; + } + + }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)); + + if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) + { + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); + + return SDMMC_ERROR_CMD_RSP_TIMEOUT; + } + else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) + { + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); + + return SDMMC_ERROR_CMD_CRC_FAIL; + } + else + { + /* Nothing to do */ + } + + /* Check response received is of desired command */ + if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) + { + return SDMMC_ERROR_CMD_CRC_FAIL; + } + + /* Clear all the static flags */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); + + /* We have received response, retrieve it. */ + response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); + + if((response_r1 & (SDMMC_R6_GENERAL_UNKNOWN_ERROR | SDMMC_R6_ILLEGAL_CMD | SDMMC_R6_COM_CRC_FAILED)) == SDMMC_ALLZERO) + { + *pRCA = (uint16_t) (response_r1 >> 16); + + return SDMMC_ERROR_NONE; + } + else if((response_r1 & SDMMC_R6_ILLEGAL_CMD) == SDMMC_R6_ILLEGAL_CMD) + { + return SDMMC_ERROR_ILLEGAL_CMD; + } + else if((response_r1 & SDMMC_R6_COM_CRC_FAILED) == SDMMC_R6_COM_CRC_FAILED) + { + return SDMMC_ERROR_COM_CRC_FAILED; + } + else + { + return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; + } +} + +/** + * @brief Checks for error conditions for R7 response. + * @param hsd: SD handle + * @retval SD Card error state + */ +static uint32_t SDMMC_GetCmdResp7(SDMMC_TypeDef *SDMMCx) +{ + /* 8 is the number of required instructions cycles for the below loop statement. + The SDMMC_CMDTIMEOUT is expressed in ms */ + register uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); + + do + { + if (count-- == 0U) + { + return SDMMC_ERROR_TIMEOUT; + } + + }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)); + + if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) + { + /* Card is SD V2.0 compliant */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); + + return SDMMC_ERROR_CMD_RSP_TIMEOUT; + } + + else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) + { + /* Card is SD V2.0 compliant */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); + + return SDMMC_ERROR_CMD_CRC_FAIL; + } + else + { + /* Nothing to do */ + } + + if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDREND)) + { + /* Card is SD V2.0 compliant */ + __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CMDREND); + } + + return SDMMC_ERROR_NONE; + +} + +/** + * @} + */ + +#endif /* HAL_SD_MODULE_ENABLED || HAL_MMC_MODULE_ENABLED */ +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c new file mode 100644 index 0000000000..e1d573f5c2 --- /dev/null +++ b/system/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c @@ -0,0 +1,1697 @@ +/** + ****************************************************************************** + * @file stm32h7xx_ll_usb.c + * @author MCD Application Team + * @brief USB Low Layer HAL module driver. + * + * This file provides firmware functions to manage the following + * functionalities of the USB Peripheral Controller: + * + Initialization/de-initialization functions + * + I/O operation functions + * + Peripheral Control functions + * + Peripheral State functions + * + @verbatim + ============================================================================== + ##### How to use this driver ##### + ============================================================================== + [..] + (#) Fill parameters of Init structure in USB_OTG_CfgTypeDef structure. + + (#) Call USB_CoreInit() API to initialize the USB Core peripheral. + + (#) The upper HAL HCD/PCD driver will call the right routines for its internal processes. + + @endverbatim + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2017 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/** @addtogroup STM32H7xx_LL_USB_DRIVER + * @{ + */ + +#if defined (HAL_PCD_MODULE_ENABLED) || defined (HAL_HCD_MODULE_ENABLED) + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx); + +/* Exported functions --------------------------------------------------------*/ +/** @defgroup LL_USB_Exported_Functions USB Low Layer Exported Functions + * @{ + */ + +/** @defgroup LL_USB_Group1 Initialization/de-initialization functions + * @brief Initialization and Configuration functions + * +@verbatim + =============================================================================== + ##### Initialization/de-initialization functions ##### + =============================================================================== + [..] This section provides functions allowing to: + +@endverbatim + * @{ + */ + +/** + * @brief Initializes the USB Core + * @param USBx: USB Instance + * @param cfg : pointer to a USB_OTG_CfgTypeDef structure that contains + * the configuration information for the specified USBx peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) +{ + if (cfg.phy_itface == USB_OTG_ULPI_PHY) + { + + USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); + + /* Init The ULPI Interface */ + USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL); + + /* Select vbus source */ + USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_ULPIEVBUSD | USB_OTG_GUSBCFG_ULPIEVBUSI); + if(cfg.use_external_vbus == 1) + { + USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD; + } + /* Reset after a PHY select */ + USB_CoreReset(USBx); + } + else /* FS interface (embedded Phy) */ + { + + /* Select FS Embedded PHY */ + USBx->GUSBCFG |= USB_OTG_GUSBCFG_PHYSEL; + + /* Reset after a PHY select and set Host mode */ + USB_CoreReset(USBx); + + /* Deactivate the power down*/ + USBx->GCCFG = USB_OTG_GCCFG_PWRDWN; + } + + if(cfg.dma_enable == ENABLE) + { + USBx->GAHBCFG |= (USB_OTG_GAHBCFG_HBSTLEN_1 | USB_OTG_GAHBCFG_HBSTLEN_2); + USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; + } + + return HAL_OK; +} + +/** + * @brief USB_EnableGlobalInt + * Enables the controller's Global Int in the AHB Config reg + * @param USBx : Selected device + * @retval HAL status + */ +HAL_StatusTypeDef USB_EnableGlobalInt(USB_OTG_GlobalTypeDef *USBx) +{ + USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; + return HAL_OK; +} + + +/** + * @brief USB_DisableGlobalInt + * Disable the controller's Global Int in the AHB Config reg + * @param USBx : Selected device + * @retval HAL status +*/ +HAL_StatusTypeDef USB_DisableGlobalInt(USB_OTG_GlobalTypeDef *USBx) +{ + USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; + return HAL_OK; +} + +/** + * @brief USB_SetCurrentMode : Set functional mode + * @param USBx : Selected device + * @param mode : current core mode + * This parameter can be one of these values: + * @arg USB_OTG_DEVICE_MODE: Peripheral mode + * @arg USB_OTG_HOST_MODE: Host mode + * @arg USB_OTG_DRD_MODE: Dual Role Device mode + * @retval HAL status + */ +HAL_StatusTypeDef USB_SetCurrentMode(USB_OTG_GlobalTypeDef *USBx , USB_OTG_ModeTypeDef mode) +{ + USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD); + + if ( mode == USB_OTG_HOST_MODE) + { + USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD; + } + else if ( mode == USB_OTG_DEVICE_MODE) + { + USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD; + } + HAL_Delay(50); + + return HAL_OK; +} + +/** + * @brief USB_DevInit : Initializes the USB_OTG controller registers + * for device mode + * @param USBx : Selected device + * @param cfg : pointer to a USB_OTG_CfgTypeDef structure that contains + * the configuration information for the specified USBx peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef USB_DevInit (USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) +{ + uint32_t i = 0; + + /*Activate VBUS Sensing B */ + USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; + + if (cfg.vbus_sensing_enable == 0) + { + /*Deactivate VBUS Sensing B */ + USBx->GCCFG &= ~ USB_OTG_GCCFG_VBDEN; + + /* B-peripheral session valid override enable*/ + USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN; + USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL; + } + + /* Restart the Phy Clock */ + USBx_PCGCCTL = 0; + + /* Device mode configuration */ + USBx_DEVICE->DCFG |= DCFG_FRAME_INTERVAL_80; + + if(cfg.phy_itface == USB_OTG_ULPI_PHY) + { + if(cfg.speed == USB_OTG_SPEED_HIGH) + { + /* Set High speed phy */ + USB_SetDevSpeed (USBx , USB_OTG_SPEED_HIGH); + } + else + { + /* set High speed phy in Full speed mode */ + USB_SetDevSpeed (USBx , USB_OTG_SPEED_HIGH_IN_FULL); + } + } + else + { + /* Set Full speed phy */ + USB_SetDevSpeed (USBx , USB_OTG_SPEED_FULL); + } + + /* Flush the FIFOs */ + USB_FlushTxFifo(USBx , 0x10); /* all Tx FIFOs */ + USB_FlushRxFifo(USBx); + + /* Clear all pending Device Interrupts */ + USBx_DEVICE->DIEPMSK = 0; + USBx_DEVICE->DOEPMSK = 0; + USBx_DEVICE->DAINT = 0xFFFFFFFF; + USBx_DEVICE->DAINTMSK = 0; + + for (i = 0; i < cfg.dev_endpoints; i++) + { + if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) + { + USBx_INEP(i)->DIEPCTL = (USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK); + } + else + { + USBx_INEP(i)->DIEPCTL = 0; + } + + USBx_INEP(i)->DIEPTSIZ = 0; + USBx_INEP(i)->DIEPINT = 0xFF; + } + + for (i = 0; i < cfg.dev_endpoints; i++) + { + if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) + { + USBx_OUTEP(i)->DOEPCTL = (USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK); + } + else + { + USBx_OUTEP(i)->DOEPCTL = 0; + } + + USBx_OUTEP(i)->DOEPTSIZ = 0; + USBx_OUTEP(i)->DOEPINT = 0xFF; + } + + USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM); + + if (cfg.dma_enable == 1) + { + /*Set threshold parameters */ + USBx_DEVICE->DTHRCTL = (USB_OTG_DTHRCTL_TXTHRLEN_8 | USB_OTG_DTHRCTL_RXTHRLEN_8); + USBx_DEVICE->DTHRCTL |= (USB_OTG_DTHRCTL_RXTHREN | USB_OTG_DTHRCTL_ISOTHREN | USB_OTG_DTHRCTL_NONISOTHREN | 0x08000000); + + i= USBx_DEVICE->DTHRCTL; + } + + /* Disable all interrupts. */ + USBx->GINTMSK = 0; + + /* Clear any pending interrupts */ + USBx->GINTSTS = 0xBFFFFFFF; + + /* Enable the common interrupts */ + if (cfg.dma_enable == DISABLE) + { + USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; + } + + /* Enable interrupts matching to the Device mode ONLY */ + USBx->GINTMSK |= (USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST |\ + USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT |\ + USB_OTG_GINTMSK_OEPINT | USB_OTG_GINTMSK_IISOIXFRM|\ + USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM); + + if(cfg.Sof_enable) + { + USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM; + } + + if (cfg.vbus_sensing_enable == ENABLE) + { + USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT); + } + + return HAL_OK; +} + + +/** + * @brief USB_OTG_FlushTxFifo : Flush a Tx FIFO + * @param USBx : Selected device + * @param num : FIFO number + * This parameter can be a value from 1 to 15 + 15 means Flush all Tx FIFOs + * @retval HAL status + */ +HAL_StatusTypeDef USB_FlushTxFifo (USB_OTG_GlobalTypeDef *USBx, uint32_t num ) +{ + uint32_t count = 0; + + USBx->GRSTCTL = ( USB_OTG_GRSTCTL_TXFFLSH |(uint32_t)( num << 6)); + + do + { + if (++count > 200000) + { + return HAL_TIMEOUT; + } + } + while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH); + + return HAL_OK; +} + + +/** + * @brief USB_FlushRxFifo : Flush Rx FIFO + * @param USBx : Selected device + * @retval HAL status + */ +HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx) +{ + uint32_t count = 0; + + USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; + + do + { + if (++count > 200000) + { + return HAL_TIMEOUT; + } + } + while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH); + + return HAL_OK; +} + +/** + * @brief USB_SetDevSpeed :Initializes the DevSpd field of DCFG register + * depending the PHY type and the enumeration speed of the device. + * @param USBx : Selected device + * @param speed : device speed + * This parameter can be one of these values: + * @arg USB_OTG_SPEED_HIGH: High speed mode + * @arg USB_OTG_SPEED_HIGH_IN_FULL: High speed core in Full Speed mode + * @arg USB_OTG_SPEED_FULL: Full speed mode + * @arg USB_OTG_SPEED_LOW: Low speed mode + * @retval Hal status + */ +HAL_StatusTypeDef USB_SetDevSpeed(USB_OTG_GlobalTypeDef *USBx , uint8_t speed) +{ + USBx_DEVICE->DCFG |= speed; + return HAL_OK; +} + +/** + * @brief USB_GetDevSpeed :Return the Dev Speed + * @param USBx : Selected device + * @retval speed : device speed + * This parameter can be one of these values: + * @arg USB_OTG_SPEED_HIGH: High speed mode + * @arg USB_OTG_SPEED_FULL: Full speed mode + * @arg USB_OTG_SPEED_LOW: Low speed mode + */ +uint8_t USB_GetDevSpeed(USB_OTG_GlobalTypeDef *USBx) +{ + uint8_t speed = 0; + + if((USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD) == DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ) + { + speed = USB_OTG_SPEED_HIGH; + } + else if (((USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD) == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ)|| + ((USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD) == DSTS_ENUMSPD_FS_PHY_48MHZ)) + { + speed = USB_OTG_SPEED_FULL; + } + else if((USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD) == DSTS_ENUMSPD_LS_PHY_6MHZ) + { + speed = USB_OTG_SPEED_LOW; + } + + return speed; +} + +/** + * @brief Activate and configure an endpoint + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @retval HAL status + */ +HAL_StatusTypeDef USB_ActivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) +{ + if (ep->is_in == 1) + { + USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & ((1 << (ep->num))); + + if (((USBx_INEP(ep->num)->DIEPCTL) & USB_OTG_DIEPCTL_USBAEP) == 0) + { + USBx_INEP(ep->num)->DIEPCTL |= ((ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ ) | (ep->type << 18 ) |\ + ((ep->num) << 22 ) | (USB_OTG_DIEPCTL_SD0PID_SEVNFRM) | (USB_OTG_DIEPCTL_USBAEP)); + } + + } + else + { + USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((1 << (ep->num)) << 16); + + if (((USBx_OUTEP(ep->num)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0) + { + USBx_OUTEP(ep->num)->DOEPCTL |= ((ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ ) | (ep->type << 18 ) |\ + (USB_OTG_DIEPCTL_SD0PID_SEVNFRM)| (USB_OTG_DOEPCTL_USBAEP)); + } + } + return HAL_OK; +} +/** + * @brief Activate and configure a dedicated endpoint + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @retval HAL status + */ +HAL_StatusTypeDef USB_ActivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) +{ + static __IO uint32_t debug = 0; + + /* Read DEPCTLn register */ + if (ep->is_in == 1) + { + if (((USBx_INEP(ep->num)->DIEPCTL) & USB_OTG_DIEPCTL_USBAEP) == 0) + { + USBx_INEP(ep->num)->DIEPCTL |= ((ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ ) | (ep->type << 18 ) |\ + ((ep->num) << 22 ) | (USB_OTG_DIEPCTL_SD0PID_SEVNFRM) | (USB_OTG_DIEPCTL_USBAEP)); + } + + + debug |= ((ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ ) | (ep->type << 18 ) |\ + ((ep->num) << 22 ) | (USB_OTG_DIEPCTL_SD0PID_SEVNFRM) | (USB_OTG_DIEPCTL_USBAEP)); + + USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_IEPM & ((1 << (ep->num))); + } + else + { + if (((USBx_OUTEP(ep->num)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0) + { + USBx_OUTEP(ep->num)->DOEPCTL |= ((ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ ) | (ep->type << 18 ) |\ + ((ep->num) << 22 ) | (USB_OTG_DOEPCTL_USBAEP)); + + debug = (uint32_t)(((uint32_t )USBx) + USB_OTG_OUT_ENDPOINT_BASE + (0)*USB_OTG_EP_REG_SIZE); + debug = (uint32_t )&USBx_OUTEP(ep->num)->DOEPCTL; + debug |= ((ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ ) | (ep->type << 18 ) |\ + ((ep->num) << 22 ) | (USB_OTG_DOEPCTL_USBAEP)); + } + + USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_OEPM & ((1 << (ep->num)) << 16); + } + + return HAL_OK; +} +/** + * @brief De-activate and de-initialize an endpoint + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @retval HAL status + */ +HAL_StatusTypeDef USB_DeactivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) +{ + /* Read DEPCTLn register */ + if (ep->is_in == 1) + { + USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & ((1 << (ep->num)))); + USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & ((1 << (ep->num)))); + USBx_INEP(ep->num)->DIEPCTL &= ~ USB_OTG_DIEPCTL_USBAEP; + } + else + { + + USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((1 << (ep->num)) << 16)); + USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((1 << (ep->num)) << 16)); + USBx_OUTEP(ep->num)->DOEPCTL &= ~USB_OTG_DOEPCTL_USBAEP; + } + return HAL_OK; +} + +/** + * @brief De-activate and de-initialize a dedicated endpoint + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @retval HAL status + */ +HAL_StatusTypeDef USB_DeactivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) +{ + /* Read DEPCTLn register */ + if (ep->is_in == 1) + { + USBx_INEP(ep->num)->DIEPCTL &= ~ USB_OTG_DIEPCTL_USBAEP; + USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & ((1 << (ep->num)))); + } + else + { + USBx_OUTEP(ep->num)->DOEPCTL &= ~USB_OTG_DOEPCTL_USBAEP; + USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((1 << (ep->num)) << 16)); + } + return HAL_OK; +} + +/** + * @brief USB_EPStartXfer : setup and starts a transfer over an EP + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @param dma: USB dma enabled or disabled + * This parameter can be one of these values: + * 0 : DMA feature not used + * 1 : DMA feature used + * @retval HAL status + */ +HAL_StatusTypeDef USB_EPStartXfer(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep, uint8_t dma) +{ + uint16_t pktcnt = 0; + + /* IN endpoint */ + if (ep->is_in == 1) + { + /* Zero Length Packet? */ + if (ep->xfer_len == 0) + { + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); + USBx_INEP(ep->num)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1 << 19)) ; + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); + } + else + { + /* Program the transfer size and packet count + * as follows: xfersize = N * maxpacket + + * short_packet pktcnt = N + (short_packet + * exist ? 1 : 0) + */ + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); + USBx_INEP(ep->num)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (((ep->xfer_len + ep->maxpacket -1)/ ep->maxpacket) << 19)) ; + USBx_INEP(ep->num)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); + + if (ep->type == EP_TYPE_ISOC) + { + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT); + USBx_INEP(ep->num)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1 << 29)); + } + } + + if (dma == 1) + { + USBx_INEP(ep->num)->DIEPDMA = (uint32_t)(ep->dma_addr); + } + else + { + if (ep->type != EP_TYPE_ISOC) + { + /* Enable the Tx FIFO Empty Interrupt for this EP */ + if (ep->xfer_len > 0) + { + USBx_DEVICE->DIEPEMPMSK |= 1 << ep->num; + } + } + } + + if (ep->type == EP_TYPE_ISOC) + { + if ((USBx_DEVICE->DSTS & ( 1 << 8 )) == 0) + { + USBx_INEP(ep->num)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; + } + else + { + USBx_INEP(ep->num)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; + } + } + + /* EP enable, IN data in FIFO */ + USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); + + if (ep->type == EP_TYPE_ISOC) + { + USB_WritePacket(USBx, ep->xfer_buff, ep->num, ep->xfer_len, dma); + } + } + else /* OUT endpoint */ + { + /* Program the transfer size and packet count as follows: + * pktcnt = N + * xfersize = N * maxpacket + */ + USBx_OUTEP(ep->num)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); + USBx_OUTEP(ep->num)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); + + if (ep->xfer_len == 0) + { + USBx_OUTEP(ep->num)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket); + USBx_OUTEP(ep->num)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1 << 19)) ; + } + else + { + pktcnt = (ep->xfer_len + ep->maxpacket -1)/ ep->maxpacket; + USBx_OUTEP(ep->num)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (pktcnt << 19)); + USBx_OUTEP(ep->num)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt)); + } + + if (dma == 1) + { + USBx_OUTEP(ep->num)->DOEPDMA = (uint32_t)ep->xfer_buff; + } + + if (ep->type == EP_TYPE_ISOC) + { + if ((USBx_DEVICE->DSTS & ( 1 << 8 )) == 0) + { + USBx_OUTEP(ep->num)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM; + } + else + { + USBx_OUTEP(ep->num)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; + } + } + /* EP enable */ + USBx_OUTEP(ep->num)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); + } + return HAL_OK; +} + +/** + * @brief USB_EP0StartXfer : setup and starts a transfer over the EP 0 + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @param dma: USB dma enabled or disabled + * This parameter can be one of these values: + * 0 : DMA feature not used + * 1 : DMA feature used + * @retval HAL status + */ +HAL_StatusTypeDef USB_EP0StartXfer(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep, uint8_t dma) +{ + /* IN endpoint */ + if (ep->is_in == 1) + { + /* Zero Length Packet? */ + if (ep->xfer_len == 0) + { + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); + USBx_INEP(ep->num)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1 << 19)) ; + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); + } + else + { + /* Program the transfer size and packet count + * as follows: xfersize = N * maxpacket + + * short_packet pktcnt = N + (short_packet + * exist ? 1 : 0) + */ + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); + USBx_INEP(ep->num)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); + + if(ep->xfer_len > ep->maxpacket) + { + ep->xfer_len = ep->maxpacket; + } + USBx_INEP(ep->num)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1 << 19)) ; + USBx_INEP(ep->num)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); + + } + + if (dma == 1) + { + USBx_INEP(ep->num)->DIEPDMA = (uint32_t)(ep->dma_addr); + } + else + { + /* Enable the Tx FIFO Empty Interrupt for this EP */ + if (ep->xfer_len > 0U) + { + USBx_DEVICE->DIEPEMPMSK |= 1U << (ep->num); + } + } + + /* EP enable, IN data in FIFO */ + USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); + } + else /* OUT endpoint */ + { + /* Program the transfer size and packet count as follows: + * pktcnt = N + * xfersize = N * maxpacket + */ + USBx_OUTEP(ep->num)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); + USBx_OUTEP(ep->num)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); + + if (ep->xfer_len > 0U) + { + ep->xfer_len = ep->maxpacket; + } + + USBx_OUTEP(ep->num)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19U)); + USBx_OUTEP(ep->num)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); + + + if (dma == 1) + { + USBx_OUTEP(ep->num)->DOEPDMA = (uint32_t)(ep->xfer_buff); + } + + /* EP enable */ + USBx_OUTEP(ep->num)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); + } + return HAL_OK; +} + +/** + * @brief USB_WritePacket : Writes a packet into the Tx FIFO associated + * with the EP/channel + * @param USBx : Selected device + * @param src : pointer to source buffer + * @param ch_ep_num : endpoint or host channel number + * @param len : Number of bytes to write + * @param dma: USB dma enabled or disabled + * This parameter can be one of these values: + * 0 : DMA feature not used + * 1 : DMA feature used + * @retval HAL status + */ +HAL_StatusTypeDef USB_WritePacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uint16_t len, uint8_t dma) +{ + uint32_t count32b= 0 , i= 0; + + if (dma == 0) + { + count32b = (len + 3) / 4; + for (i = 0; i < count32b; i++) + { + USBx_DFIFO(ch_ep_num) = *((__packed uint32_t *)src); + src += 4; + } + } + return HAL_OK; +} + +/** + * @brief USB_ReadPacket : read a packet from the Tx FIFO associated + * with the EP/channel + * @param USBx : Selected device + * @param src : source pointer + * @param ch_ep_num : endpoint or host channel number + * @param len : Number of bytes to read + * @param dma: USB dma enabled or disabled + * This parameter can be one of these values: + * 0 : DMA feature not used + * 1 : DMA feature used + * @retval pointer to destination buffer + */ +void *USB_ReadPacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *dest, uint16_t len) +{ + uint32_t i=0; + uint32_t count32b = (len + 3) / 4; + + for ( i = 0; i < count32b; i++) + { + *(__packed uint32_t *)dest = USBx_DFIFO(0); + dest += 4; + + } + return ((void *)dest); +} + +/** + * @brief USB_EPSetStall : set a stall condition over an EP + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @retval HAL status + */ +HAL_StatusTypeDef USB_EPSetStall(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep) +{ + if (ep->is_in == 1) + { + if (((USBx_INEP(ep->num)->DIEPCTL) & USB_OTG_DIEPCTL_EPENA) == 0) + { + USBx_INEP(ep->num)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS); + } + USBx_INEP(ep->num)->DIEPCTL |= USB_OTG_DIEPCTL_STALL; + } + else + { + if (((USBx_OUTEP(ep->num)->DOEPCTL) & USB_OTG_DOEPCTL_EPENA) == 0) + { + USBx_OUTEP(ep->num)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS); + } + USBx_OUTEP(ep->num)->DOEPCTL |= USB_OTG_DOEPCTL_STALL; + } + return HAL_OK; +} + + +/** + * @brief USB_EPClearStall : Clear a stall condition over an EP + * @param USBx : Selected device + * @param ep: pointer to endpoint structure + * @retval HAL status + */ +HAL_StatusTypeDef USB_EPClearStall(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) +{ + if (ep->is_in == 1) + { + USBx_INEP(ep->num)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; + if (ep->type == EP_TYPE_INTR || ep->type == EP_TYPE_BULK) + { + USBx_INEP(ep->num)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */ + } + } + else + { + USBx_OUTEP(ep->num)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; + if (ep->type == EP_TYPE_INTR || ep->type == EP_TYPE_BULK) + { + USBx_OUTEP(ep->num)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */ + } + } + return HAL_OK; +} + +/** + * @brief USB_StopDevice : Stop the usb device mode + * @param USBx : Selected device + * @retval HAL status + */ +HAL_StatusTypeDef USB_StopDevice(USB_OTG_GlobalTypeDef *USBx) +{ + uint32_t i; + + /* Clear Pending interrupt */ + for (i = 0; i < 15 ; i++) + { + USBx_INEP(i)->DIEPINT = 0xFF; + USBx_OUTEP(i)->DOEPINT = 0xFF; + } + USBx_DEVICE->DAINT = 0xFFFFFFFF; + + /* Clear interrupt masks */ + USBx_DEVICE->DIEPMSK = 0; + USBx_DEVICE->DOEPMSK = 0; + USBx_DEVICE->DAINTMSK = 0; + + /* Flush the FIFO */ + USB_FlushRxFifo(USBx); + USB_FlushTxFifo(USBx , 0x10 ); + + return HAL_OK; +} + +/** + * @brief USB_SetDevAddress : Stop the usb device mode + * @param USBx : Selected device + * @param address : new device address to be assigned + * This parameter can be a value from 0 to 255 + * @retval HAL status + */ +HAL_StatusTypeDef USB_SetDevAddress (USB_OTG_GlobalTypeDef *USBx, uint8_t address) +{ + USBx_DEVICE->DCFG &= ~ (USB_OTG_DCFG_DAD); + USBx_DEVICE->DCFG |= (address << 4) & USB_OTG_DCFG_DAD ; + + return HAL_OK; +} + +/** + * @brief USB_DevConnect : Connect the USB device by enabling the pull-up/pull-down + * @param USBx : Selected device + * @retval HAL status + */ +HAL_StatusTypeDef USB_DevConnect (USB_OTG_GlobalTypeDef *USBx) +{ + USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS ; + HAL_Delay(3); + + return HAL_OK; +} + +/** + * @brief USB_DevDisconnect : Disconnect the USB device by disabling the pull-up/pull-down + * @param USBx : Selected device + * @retval HAL status + */ +HAL_StatusTypeDef USB_DevDisconnect (USB_OTG_GlobalTypeDef *USBx) +{ + USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS ; + HAL_Delay(3); + + return HAL_OK; +} + +/** + * @brief USB_ReadInterrupts: return the global USB interrupt status + * @param USBx : Selected device + * @retval HAL status + */ +uint32_t USB_ReadInterrupts (USB_OTG_GlobalTypeDef *USBx) +{ + uint32_t v = 0; + + v = USBx->GINTSTS; + v &= USBx->GINTMSK; + return v; +} + +/** + * @brief USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status + * @param USBx : Selected device + * @retval HAL status + */ +uint32_t USB_ReadDevAllOutEpInterrupt (USB_OTG_GlobalTypeDef *USBx) +{ + uint32_t v; + v = USBx_DEVICE->DAINT; + v &= USBx_DEVICE->DAINTMSK; + return ((v & 0xffff0000) >> 16); +} + +/** + * @brief USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status + * @param USBx : Selected device + * @retval HAL status + */ +uint32_t USB_ReadDevAllInEpInterrupt (USB_OTG_GlobalTypeDef *USBx) +{ + uint32_t v; + v = USBx_DEVICE->DAINT; + v &= USBx_DEVICE->DAINTMSK; + return ((v & 0xFFFF)); +} + +/** + * @brief Returns Device OUT EP Interrupt register + * @param USBx : Selected device + * @param epnum : endpoint number + * This parameter can be a value from 0 to 15 + * @retval Device OUT EP Interrupt register + */ +uint32_t USB_ReadDevOutEPInterrupt (USB_OTG_GlobalTypeDef *USBx , uint8_t epnum) +{ + uint32_t v; + v = USBx_OUTEP(epnum)->DOEPINT; + v &= USBx_DEVICE->DOEPMSK; + return v; +} + +/** + * @brief Returns Device IN EP Interrupt register + * @param USBx : Selected device + * @param epnum : endpoint number + * This parameter can be a value from 0 to 15 + * @retval Device IN EP Interrupt register + */ +uint32_t USB_ReadDevInEPInterrupt (USB_OTG_GlobalTypeDef *USBx , uint8_t epnum) +{ + uint32_t v, msk, emp; + + msk = USBx_DEVICE->DIEPMSK; + emp = USBx_DEVICE->DIEPEMPMSK; + msk |= ((emp >> epnum) & 0x1) << 7; + v = USBx_INEP(epnum)->DIEPINT & msk; + return v; +} + +/** + * @brief USB_ClearInterrupts: clear a USB interrupt + * @param USBx : Selected device + * @param interrupt : interrupt flag + * @retval None + */ +void USB_ClearInterrupts (USB_OTG_GlobalTypeDef *USBx, uint32_t interrupt) +{ + USBx->GINTSTS |= interrupt; +} + +/** + * @brief Returns USB core mode + * @param USBx : Selected device + * @retval return core mode : Host or Device + * This parameter can be one of these values: + * 0 : Host + * 1 : Device + */ +uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx) +{ + return ((USBx->GINTSTS ) & 0x1); +} + + +/** + * @brief Activate EP0 for Setup transactions + * @param USBx : Selected device + * @retval HAL status + */ +HAL_StatusTypeDef USB_ActivateSetup (USB_OTG_GlobalTypeDef *USBx) +{ + /* Set the MPS of the IN EP based on the enumeration speed */ + USBx_INEP(0)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ; + + if((USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD) == DSTS_ENUMSPD_LS_PHY_6MHZ) + { + USBx_INEP(0)->DIEPCTL |= 3; + } + USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK; + + return HAL_OK; +} + + +/** + * @brief Prepare the EP0 to start the first control setup + * @param USBx : Selected device + * @param dma: USB dma enabled or disabled + * This parameter can be one of these values: + * 0 : DMA feature not used + * 1 : DMA feature used + * @param psetup : pointer to setup packet + * @retval HAL status + */ +HAL_StatusTypeDef USB_EP0_OutStart(USB_OTG_GlobalTypeDef *USBx, uint8_t dma, uint8_t *psetup) +{ + USBx_OUTEP(0)->DOEPTSIZ = 0; + USBx_OUTEP(0)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1 << 19)) ; + USBx_OUTEP(0)->DOEPTSIZ |= (3 * 8); + USBx_OUTEP(0)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; + + if (dma == 1) + { + USBx_OUTEP(0)->DOEPDMA = (uint32_t)psetup; + /* EP enable */ + USBx_OUTEP(0)->DOEPCTL = 0x80008000; + } + + return HAL_OK; +} + + +/** + * @brief Reset the USB Core (needed after USB clock settings change) + * @param USBx : Selected device + * @retval HAL status + */ +static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx) +{ + uint32_t count = 0; + + /* Wait for AHB master IDLE state. */ + do + { + if (++count > 200000) + { + return HAL_TIMEOUT; + } + } + while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0); + + /* Core Soft Reset */ + count = 0; + USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; + + do + { + if (++count > 200000) + { + return HAL_TIMEOUT; + } + } + while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); + + return HAL_OK; +} + + +/** + * @brief USB_HostInit : Initializes the USB OTG controller registers + * for Host mode + * @param USBx : Selected device + * @param cfg : pointer to a USB_OTG_CfgTypeDef structure that contains + * the configuration information for the specified USBx peripheral. + * @retval HAL status + */ +HAL_StatusTypeDef USB_HostInit (USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) +{ + uint32_t i; + + /* Restart the Phy Clock */ + USBx_PCGCCTL = 0; + + /*Activate VBUS Sensing B */ + USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; + + /* Disable the FS/LS support mode only */ + if((cfg.speed == USB_OTG_SPEED_FULL)&& + (USBx != USB2_OTG_FS)) + { + USBx_HOST->HCFG |= USB_OTG_HCFG_FSLSS; + } + else + { + USBx_HOST->HCFG &= ~(USB_OTG_HCFG_FSLSS); + } + + /* Make sure the FIFOs are flushed. */ + USB_FlushTxFifo(USBx, 0x10 ); /* all Tx FIFOs */ + USB_FlushRxFifo(USBx); + + /* Clear all pending HC Interrupts */ + for (i = 0; i < cfg.Host_channels; i++) + { + USBx_HC(i)->HCINT = 0xFFFFFFFF; + USBx_HC(i)->HCINTMSK = 0; + } + + /* Enable VBUS driving */ + USB_DriveVbus(USBx, 1); + + HAL_Delay(200); + + /* Disable all interrupts. */ + USBx->GINTMSK = 0; + + /* Clear any pending interrupts */ + USBx->GINTSTS = 0xFFFFFFFF; + + if(USBx == USB2_OTG_FS) + { + /* set Rx FIFO size */ + USBx->GRXFSIZ = (uint32_t )0x80; + USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t )(((0x60 << 16)& USB_OTG_NPTXFD) | 0x80); + USBx->HPTXFSIZ = (uint32_t )(((0x40 << 16)& USB_OTG_HPTXFSIZ_PTXFD) | 0xE0); + } + else + { + /* set Rx FIFO size */ + USBx->GRXFSIZ = (uint32_t )0x200; + USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t )(((0x100 << 16)& USB_OTG_NPTXFD) | 0x200); + USBx->HPTXFSIZ = (uint32_t )(((0xE0 << 16)& USB_OTG_HPTXFSIZ_PTXFD) | 0x300); + } + + /* Enable the common interrupts */ + if (cfg.dma_enable == DISABLE) + { + USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; + } + + /* Enable interrupts matching to the Host mode ONLY */ + USBx->GINTMSK |= (USB_OTG_GINTMSK_PRTIM | USB_OTG_GINTMSK_HCIM |\ + USB_OTG_GINTMSK_SOFM |USB_OTG_GINTSTS_DISCINT|\ + USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM); + + return HAL_OK; +} + +/** + * @brief USB_InitFSLSPClkSel : Initializes the FSLSPClkSel field of the + * HCFG register on the PHY type and set the right frame interval + * @param USBx : Selected device + * @param freq : clock frequency + * This parameter can be one of these values: + * HCFG_48_MHZ : Full Speed 48 MHz Clock + * HCFG_6_MHZ : Low Speed 6 MHz Clock + * @retval HAL status + */ +HAL_StatusTypeDef USB_InitFSLSPClkSel(USB_OTG_GlobalTypeDef *USBx , uint8_t freq) +{ + USBx_HOST->HCFG &= ~(USB_OTG_HCFG_FSLSPCS); + USBx_HOST->HCFG |= (freq & USB_OTG_HCFG_FSLSPCS); + + if (freq == HCFG_48_MHZ) + { + USBx_HOST->HFIR = (uint32_t)48000; + } + else if (freq == HCFG_6_MHZ) + { + USBx_HOST->HFIR = (uint32_t)6000; + } + return HAL_OK; +} + +/** +* @brief USB_OTG_ResetPort : Reset Host Port + * @param USBx : Selected device + * @retval HAL status + * @note : (1)The application must wait at least 10 ms + * before clearing the reset bit. + */ +HAL_StatusTypeDef USB_ResetPort(USB_OTG_GlobalTypeDef *USBx) +{ + __IO uint32_t hprt0; + + hprt0 = USBx_HPRT0; + + hprt0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET |\ + USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG ); + + USBx_HPRT0 = (USB_OTG_HPRT_PRST | hprt0); + HAL_Delay (100); /* See Note #1 */ + USBx_HPRT0 = ((~USB_OTG_HPRT_PRST) & hprt0); + return HAL_OK; +} + +/** + * @brief USB_DriveVbus : activate or de-activate vbus + * @param state : VBUS state + * This parameter can be one of these values: + * 0 : VBUS Active + * 1 : VBUS Inactive + * @retval HAL status +*/ +HAL_StatusTypeDef USB_DriveVbus (USB_OTG_GlobalTypeDef *USBx, uint8_t state) +{ + __IO uint32_t hprt0; + + hprt0 = USBx_HPRT0; + + hprt0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET |\ + USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG ); + + if (((hprt0 & USB_OTG_HPRT_PPWR) == 0 ) && (state == 1 )) + { + USBx_HPRT0 = (USB_OTG_HPRT_PPWR | hprt0); + } + if (((hprt0 & USB_OTG_HPRT_PPWR) == USB_OTG_HPRT_PPWR) && (state == 0 )) + { + USBx_HPRT0 = ((~USB_OTG_HPRT_PPWR) & hprt0); + } + return HAL_OK; +} + +/** + * @brief Return Host Core speed + * @param USBx : Selected device + * @retval speed : Host speed + * This parameter can be one of these values: + * @arg USB_OTG_SPEED_HIGH: High speed mode + * @arg USB_OTG_SPEED_FULL: Full speed mode + * @arg USB_OTG_SPEED_LOW: Low speed mode + */ +uint32_t USB_GetHostSpeed (USB_OTG_GlobalTypeDef *USBx) +{ + __IO uint32_t hprt0; + + hprt0 = USBx_HPRT0; + return ((hprt0 & USB_OTG_HPRT_PSPD) >> 17); +} + +/** + * @brief Return Host Current Frame number + * @param USBx : Selected device + * @retval current frame number +*/ +uint32_t USB_GetCurrentFrame (USB_OTG_GlobalTypeDef *USBx) +{ + return (USBx_HOST->HFNUM & USB_OTG_HFNUM_FRNUM); +} + +/** + * @brief Initialize a host channel + * @param USBx : Selected device + * @param ch_num : Channel number + * This parameter can be a value from 1 to 15 + * @param epnum : Endpoint number + * This parameter can be a value from 1 to 15 + * @param dev_address : Current device address + * This parameter can be a value from 0 to 255 + * @param speed : Current device speed + * This parameter can be one of these values: + * @arg USB_OTG_SPEED_HIGH: High speed mode + * @arg USB_OTG_SPEED_FULL: Full speed mode + * @arg USB_OTG_SPEED_LOW: Low speed mode + * @param ep_type : Endpoint Type + * This parameter can be one of these values: + * @arg EP_TYPE_CTRL: Control type + * @arg EP_TYPE_ISOC: Isochronous type + * @arg EP_TYPE_BULK: Bulk type + * @arg EP_TYPE_INTR: Interrupt type + * @param mps : Max Packet Size + * This parameter can be a value from 0 to32K + * @retval HAL state + */ +HAL_StatusTypeDef USB_HC_Init(USB_OTG_GlobalTypeDef *USBx, + uint8_t ch_num, + uint8_t epnum, + uint8_t dev_address, + uint8_t speed, + uint8_t ep_type, + uint16_t mps) +{ + + /* Clear old interrupt conditions for this host channel. */ + USBx_HC(ch_num)->HCINT = 0xFFFFFFFF; + + /* Enable channel interrupts required for this transfer. */ + switch (ep_type) + { + case EP_TYPE_CTRL: + case EP_TYPE_BULK: + + USBx_HC(ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM |\ + USB_OTG_HCINTMSK_STALLM |\ + USB_OTG_HCINTMSK_TXERRM |\ + USB_OTG_HCINTMSK_DTERRM |\ + USB_OTG_HCINTMSK_AHBERR |\ + USB_OTG_HCINTMSK_NAKM ; + + if (epnum & 0x80) + { + USBx_HC(ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_BBERRM; + } + else + { + if(USBx != USB2_OTG_FS) + { + USBx_HC(ch_num)->HCINTMSK |= (USB_OTG_HCINTMSK_NYET | USB_OTG_HCINTMSK_ACKM); + } + } + break; + + case EP_TYPE_INTR: + USBx_HC(ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM |\ + USB_OTG_HCINTMSK_STALLM |\ + USB_OTG_HCINTMSK_TXERRM |\ + USB_OTG_HCINTMSK_DTERRM |\ + USB_OTG_HCINTMSK_NAKM |\ + USB_OTG_HCINTMSK_AHBERR |\ + USB_OTG_HCINTMSK_FRMORM ; + + if (epnum & 0x80) + { + USBx_HC(ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_BBERRM; + } + + break; + case EP_TYPE_ISOC: + + USBx_HC(ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM |\ + USB_OTG_HCINTMSK_ACKM |\ + USB_OTG_HCINTMSK_AHBERR |\ + USB_OTG_HCINTMSK_FRMORM ; + + if (epnum & 0x80) + { + USBx_HC(ch_num)->HCINTMSK |= (USB_OTG_HCINTMSK_TXERRM | USB_OTG_HCINTMSK_BBERRM); + } + break; + } + + /* Enable the top level host channel interrupt. */ + USBx_HOST->HAINTMSK |= (1 << ch_num); + + /* Make sure host channel interrupts are enabled. */ + USBx->GINTMSK |= USB_OTG_GINTMSK_HCIM; + + /* Program the HCCHAR register */ + USBx_HC(ch_num)->HCCHAR = (((dev_address << 22) & USB_OTG_HCCHAR_DAD) |\ + (((epnum & 0x7F)<< 11) & USB_OTG_HCCHAR_EPNUM)|\ + ((((epnum & 0x80) == 0x80)<< 15) & USB_OTG_HCCHAR_EPDIR)|\ + (((speed == HPRT0_PRTSPD_LOW_SPEED)<< 17) & USB_OTG_HCCHAR_LSDEV)|\ + ((ep_type << 18) & USB_OTG_HCCHAR_EPTYP)|\ + (mps & USB_OTG_HCCHAR_MPSIZ)); + + if (ep_type == EP_TYPE_INTR) + { + USBx_HC(ch_num)->HCCHAR |= USB_OTG_HCCHAR_ODDFRM ; + } + + return HAL_OK; +} + +/** + * @brief Start a transfer over a host channel + * @param USBx : Selected device + * @param hc : pointer to host channel structure + * @param dma: USB dma enabled or disabled + * This parameter can be one of the these values: + * 0 : DMA feature not used + * 1 : DMA feature used + * @retval HAL state + */ +#if defined (__CC_ARM) /*!< ARM Compiler */ +#pragma O0 +#elif defined (__GNUC__) /*!< GNU Compiler */ +#pragma GCC optimize ("O0") +#endif /* __CC_ARM */ +HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma) +{ + uint8_t is_oddframe = 0; + uint16_t len_words = 0; + uint16_t num_packets = 0; + uint16_t max_hc_pkt_count = 256; + uint32_t tmpreg = 0; + + if((USBx != USB2_OTG_FS) && (hc->speed == USB_OTG_SPEED_HIGH)) + { + if((dma == 0) && (hc->do_ping == 1)) + { + USB_DoPing(USBx, hc->ch_num); + return HAL_OK; + } + else if(dma == 1) + { + USBx_HC(hc->ch_num)->HCINTMSK &= ~(USB_OTG_HCINTMSK_NYET | USB_OTG_HCINTMSK_ACKM); + hc->do_ping = 0; + } + } + + /* Compute the expected number of packets associated to the transfer */ + if (hc->xfer_len > 0) + { + num_packets = (hc->xfer_len + hc->max_packet - 1) / hc->max_packet; + + if (num_packets > max_hc_pkt_count) + { + num_packets = max_hc_pkt_count; + hc->xfer_len = num_packets * hc->max_packet; + } + } + else + { + num_packets = 1; + } + if (hc->ep_is_in) + { + hc->xfer_len = num_packets * hc->max_packet; + } + + /* Initialize the HCTSIZn register */ + USBx_HC(hc->ch_num)->HCTSIZ = (((hc->xfer_len) & USB_OTG_HCTSIZ_XFRSIZ)) |\ + ((num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) |\ + (((hc->data_pid) << 29) & USB_OTG_HCTSIZ_DPID); + + if (dma) + { + /* xfer_buff MUST be 32-bits aligned */ + USBx_HC(hc->ch_num)->HCDMA = (uint32_t)hc->xfer_buff; + } + + is_oddframe = (USBx_HOST->HFNUM & 0x01) ? 0 : 1; + USBx_HC(hc->ch_num)->HCCHAR &= ~USB_OTG_HCCHAR_ODDFRM; + USBx_HC(hc->ch_num)->HCCHAR |= (is_oddframe << 29); + + /* Set host channel enable */ + tmpreg = USBx_HC(hc->ch_num)->HCCHAR; + tmpreg &= ~USB_OTG_HCCHAR_CHDIS; + tmpreg |= USB_OTG_HCCHAR_CHENA; + USBx_HC(hc->ch_num)->HCCHAR = tmpreg; + + if (dma == 0) /* Slave mode */ + { + if((hc->ep_is_in == 0) && (hc->xfer_len > 0)) + { + switch(hc->ep_type) + { + /* Non periodic transfer */ + case EP_TYPE_CTRL: + case EP_TYPE_BULK: + + len_words = (hc->xfer_len + 3) / 4; + + /* check if there is enough space in FIFO space */ + if(len_words > (USBx->HNPTXSTS & 0xFFFF)) + { + /* need to process data in nptxfempty interrupt */ + USBx->GINTMSK |= USB_OTG_GINTMSK_NPTXFEM; + } + break; + /* Periodic transfer */ + case EP_TYPE_INTR: + case EP_TYPE_ISOC: + len_words = (hc->xfer_len + 3) / 4; + /* check if there is enough space in FIFO space */ + if(len_words > (USBx_HOST->HPTXSTS & 0xFFFF)) /* split the transfer */ + { + /* need to process data in ptxfempty interrupt */ + USBx->GINTMSK |= USB_OTG_GINTMSK_PTXFEM; + } + break; + + default: + break; + } + + /* Write packet into the Tx FIFO. */ + USB_WritePacket(USBx, hc->xfer_buff, hc->ch_num, hc->xfer_len, 0); + } + } + + return HAL_OK; +} + +/** + * @brief Read all host channel interrupts status + * @param USBx : Selected device + * @retval HAL state + */ +uint32_t USB_HC_ReadInterrupt (USB_OTG_GlobalTypeDef *USBx) +{ + return ((USBx_HOST->HAINT) & 0xFFFF); +} + +/** + * @brief Halt a host channel + * @param USBx : Selected device + * @param hc_num : Host Channel number + * This parameter can be a value from 1 to 15 + * @retval HAL state + */ +HAL_StatusTypeDef USB_HC_Halt(USB_OTG_GlobalTypeDef *USBx , uint8_t hc_num) +{ + uint32_t count = 0; + + /* Check for space in the request queue to issue the halt. */ + if (((USBx_HC(hc_num)->HCCHAR) & (HCCHAR_CTRL << 18)) || ((USBx_HC(hc_num)->HCCHAR) & (HCCHAR_BULK << 18))) + { + USBx_HC(hc_num)->HCCHAR |= USB_OTG_HCCHAR_CHDIS; + + if ((USBx->HNPTXSTS & 0xFFFF) == 0) + { + USBx_HC(hc_num)->HCCHAR &= ~USB_OTG_HCCHAR_CHENA; + USBx_HC(hc_num)->HCCHAR |= USB_OTG_HCCHAR_CHENA; + USBx_HC(hc_num)->HCCHAR &= ~USB_OTG_HCCHAR_EPDIR; + do + { + if (++count > 1000) + { + break; + } + } + while ((USBx_HC(hc_num)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA); + } + else + { + USBx_HC(hc_num)->HCCHAR |= USB_OTG_HCCHAR_CHENA; + } + } + else + { + USBx_HC(hc_num)->HCCHAR |= USB_OTG_HCCHAR_CHDIS; + + if ((USBx_HOST->HPTXSTS & 0xFFFF) == 0) + { + USBx_HC(hc_num)->HCCHAR &= ~USB_OTG_HCCHAR_CHENA; + USBx_HC(hc_num)->HCCHAR |= USB_OTG_HCCHAR_CHENA; + USBx_HC(hc_num)->HCCHAR &= ~USB_OTG_HCCHAR_EPDIR; + do + { + if (++count > 1000) + { + break; + } + } + while ((USBx_HC(hc_num)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA); + } + else + { + USBx_HC(hc_num)->HCCHAR |= USB_OTG_HCCHAR_CHENA; + } + } + + return HAL_OK; +} + +/** + * @brief Initiate Do Ping protocol + * @param USBx : Selected device + * @param hc_num : Host Channel number + * This parameter can be a value from 1 to 15 + * @retval HAL state + */ +HAL_StatusTypeDef USB_DoPing(USB_OTG_GlobalTypeDef *USBx , uint8_t ch_num) +{ + uint8_t num_packets = 1; + uint32_t tmpreg = 0; + + USBx_HC(ch_num)->HCTSIZ = ((num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) |\ + USB_OTG_HCTSIZ_DOPING; + + /* Set host channel enable */ + tmpreg = USBx_HC(ch_num)->HCCHAR; + tmpreg &= ~USB_OTG_HCCHAR_CHDIS; + tmpreg |= USB_OTG_HCCHAR_CHENA; + USBx_HC(ch_num)->HCCHAR = tmpreg; + + return HAL_OK; +} + +/** + * @brief Stop Host Core + * @param USBx : Selected device + * @retval HAL state + */ +HAL_StatusTypeDef USB_StopHost(USB_OTG_GlobalTypeDef *USBx) +{ + uint8_t i; + uint32_t count = 0; + uint32_t value; + + USB_DisableGlobalInt(USBx); + + /* Flush FIFO */ + USB_FlushTxFifo(USBx, 0x10); + USB_FlushRxFifo(USBx); + + /* Flush out any leftover queued requests. */ + for (i = 0; i <= 15; i++) + { + + value = USBx_HC(i)->HCCHAR ; + value |= USB_OTG_HCCHAR_CHDIS; + value &= ~USB_OTG_HCCHAR_CHENA; + value &= ~USB_OTG_HCCHAR_EPDIR; + USBx_HC(i)->HCCHAR = value; + } + + /* Halt all channels to put them into a known state. */ + for (i = 0; i <= 15; i++) + { + value = USBx_HC(i)->HCCHAR ; + + value |= USB_OTG_HCCHAR_CHDIS; + value |= USB_OTG_HCCHAR_CHENA; + value &= ~USB_OTG_HCCHAR_EPDIR; + + USBx_HC(i)->HCCHAR = value; + do + { + if (++count > 1000) + { + break; + } + } + while ((USBx_HC(i)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA); + } + + /* Clear any pending Host interrupts */ + USBx_HOST->HAINT = 0xFFFFFFFF; + USBx->GINTSTS = 0xFFFFFFFF; + USB_EnableGlobalInt(USBx); + return HAL_OK; +} +/** + * @} + */ + +#endif /* defined (HAL_PCD_MODULE_ENABLED) || defined (HAL_HCD_MODULE_ENABLED) */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + + + + + + From 80755aee17046313e003361e571a1bbb00cc3e77 Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 10:45:45 +0800 Subject: [PATCH 30/38] [STM32H7xx]Building Supported (Has ERROR) --- cores/arduino/stm32/stm32_def.h | 2 ++ cores/arduino/stm32/stm32_def_build.h | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/cores/arduino/stm32/stm32_def.h b/cores/arduino/stm32/stm32_def.h index 9fac51eac1..fa70b795d2 100644 --- a/cores/arduino/stm32/stm32_def.h +++ b/cores/arduino/stm32/stm32_def.h @@ -22,6 +22,8 @@ #include "stm32l1xx.h" #elif defined(STM32L4xx) #include "stm32l4xx.h" +#elif defined(STM32H7xx) +#include "stm32h7xx.h" #else #error "STM32YYxx chip series is not defined in boards.txt." #endif diff --git a/cores/arduino/stm32/stm32_def_build.h b/cores/arduino/stm32/stm32_def_build.h index 1478742b7a..2a8a1c7a90 100644 --- a/cores/arduino/stm32/stm32_def_build.h +++ b/cores/arduino/stm32/stm32_def_build.h @@ -289,6 +289,12 @@ #define CMSIS_STARTUP_FILE "startup_stm32l4s7xx.s" #elif defined(STM32L4S9xx) #define CMSIS_STARTUP_FILE "startup_stm32l4s9xx.s" +#elif defined(STM32H743xx) +#define CMSIS_STARTUP_FILE "startup_stm32h743xx.s" +#elif defined(STM32H750xx) +#define CMSIS_STARTUP_FILE "startup_stm32h750xx.s" +#elif defined(STM32H753xx) +#define CMSIS_STARTUP_FILE "startup_stm32h753xx.s" #else #error UNKNOWN CHIP #endif From 843a166949025e747e98bf8f7d3bbfffcae3c997 Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 10:47:34 +0800 Subject: [PATCH 31/38] [NUCLEO-H743ZI] Add source for TEST STM32H7xx Buid --- boards.txt | 12 + variants/NUCLEO_H743ZI/PeripheralPins.c | 521 ++++++++++++++++++++ variants/NUCLEO_H743ZI/PinNamesVar.h | 25 + variants/NUCLEO_H743ZI/ldscript.ld | 173 +++++++ variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h | 431 ++++++++++++++++ variants/NUCLEO_H743ZI/variant.cpp | 220 +++++++++ variants/NUCLEO_H743ZI/variant.h | 194 ++++++++ 7 files changed, 1576 insertions(+) create mode 100644 variants/NUCLEO_H743ZI/PeripheralPins.c create mode 100644 variants/NUCLEO_H743ZI/PinNamesVar.h create mode 100644 variants/NUCLEO_H743ZI/ldscript.ld create mode 100644 variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h create mode 100644 variants/NUCLEO_H743ZI/variant.cpp create mode 100644 variants/NUCLEO_H743ZI/variant.h diff --git a/boards.txt b/boards.txt index b35eb34b8d..2d6f4c0426 100644 --- a/boards.txt +++ b/boards.txt @@ -109,6 +109,18 @@ Nucleo_144.menu.pnum.NUCLEO_L4R5ZI-P.build.product_line=STM32L4R5xx Nucleo_144.menu.pnum.NUCLEO_L4R5ZI-P.build.variant=NUCLEO_L4R5ZI Nucleo_144.menu.pnum.NUCLEO_L4R5ZI-P.build.cmsis_lib_gcc=arm_cortexM4l_math +# NUCLEO_H743ZI board 2048KByte FLASH, 1056KByte RAM +Nucleo_144.menu.pnum.NUCLEO_H743ZI=Nucleo H743ZI +Nucleo_144.menu.pnum.NUCLEO_H743ZI.node=NODE_FH743ZI +Nucleo_144.menu.pnum.NUCLEO_H743ZI.upload.maximum_size=2097152 +Nucleo_144.menu.pnum.NUCLEO_H743ZI.upload.maximum_data_size=1081344 +Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.mcu=cortex-m7 -mfpu=fpv4-sp-d16 -mfloat-abi=hard +Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.board=NUCLEO_H743ZI +Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.series=STM32F7xx +Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.product_line=STM32H743xx +Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.variant=NUCLEO_H743ZI +Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.cmsis_lib_gcc=arm_cortexM7l_math + # Upload menu Nucleo_144.menu.upload_method.MassStorage=Mass Storage Nucleo_144.menu.upload_method.MassStorage.upload.protocol= diff --git a/variants/NUCLEO_H743ZI/PeripheralPins.c b/variants/NUCLEO_H743ZI/PeripheralPins.c new file mode 100644 index 0000000000..8650fa0015 --- /dev/null +++ b/variants/NUCLEO_H743ZI/PeripheralPins.c @@ -0,0 +1,521 @@ +/* + ******************************************************************************* + * Copyright (c) 2018, STMicroelectronics + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************* + * Automatically generated from STM32H743ZITx.xml + */ +#include "Arduino.h" +#include "PeripheralPins.h" + +/* ===== + * Note: Commented lines are alternative possibilities which are not used per default. + * If you change them, you will have to know what you do + * ===== + */ + +//*** ADC *** + +#ifdef HAL_ADC_MODULE_ENABLED +const PinMap PinMap_ADC[] = { + {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)}, // ADC1_INP16 + {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)}, // ADC1_INN16 + {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // ADC1_INP17 + {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_INP14 + {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_INP14 + {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_INP15 + {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_INP15 + {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC1_INP18 + {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC2_INP18 + {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC1_INN18 + {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 19, 0)}, // ADC1_INP19 + {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC2_INN18 + {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 19, 0)}, // ADC2_INP19 + {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_INP3 + {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_INP3 + {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_INN3 + {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_INP7 + {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_INN3 + {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_INP7 + {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_INN5 + {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_INP9 + {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_INN5 + {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_INP9 + {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_INP5 + {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_INP5 + {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_INP10 + {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_INP10 + {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_INP10 + {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_INN10 + {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_INP11 + {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_INN10 + {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_INP11 + {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_INN10 + {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_INP11 + {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_INN1 + {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_INP0 + {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_INP1 + {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_INP4 + {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_INP4 + {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_INN4 + {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_INP8 + {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_INN4 + {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_INP8 + {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_INP5 + {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_INN5 + {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_INP9 + {PF_5, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_INP4 + {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_INN4 + {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_INP8 + {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_INP3 + {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_INN3 + {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_INP7 + {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_INP2 + {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_INN2 + {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_INP6 + {PF_11, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_INP2 + {PF_12, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_INN2 + {PF_12, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_INP6 + {PF_13, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_INP2 + {PF_14, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_INN2 + {PF_14, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_INP6 + {NC, NP, 0} +}; +#endif + +//*** DAC *** + +#ifdef HAL_DAC_MODULE_ENABLED +const PinMap PinMap_DAC[] = { + {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC1_OUT1 + {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC1_OUT2 + {NC, NP, 0} +}; +#endif + +//*** I2C *** + +#ifdef HAL_I2C_MODULE_ENABLED +const PinMap PinMap_I2C_SDA[] = { + {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + {PB_7, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + {PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + {PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + {PF_15, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_I2C_MODULE_ENABLED +const PinMap PinMap_I2C_SCL[] = { + {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + {PB_6, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + {PB_8, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + {PF_14, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {NC, NP, 0} +}; +#endif + +//*** PWM *** + +#ifdef HAL_TIM_MODULE_ENABLED +const PinMap PinMap_PWM[] = { + {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 + {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 + {PA_1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 1)}, // TIM15_CH1N + {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 + {PA_2, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 0)}, // TIM15_CH1 + {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 + {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 + {PA_3, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 2, 0)}, // TIM15_CH2 + {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N + {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 + {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N + {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 + {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 + {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 + {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N + {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N + {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + {PB_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM16, 1, 1)}, // TIM16_CH1N + {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 + {PB_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM17, 1, 1)}, // TIM17_CH1N + {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + {PB_8, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM16, 1, 0)}, // TIM16_CH1 + {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PB_9, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM17, 1, 0)}, // TIM17_CH1 + {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 + {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N + {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM12, 1, 0)}, // TIM12_CH1 + {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N + {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM12, 2, 0)}, // TIM12_CH2 + {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 + {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 + {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 + {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 + {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 + {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PE_4, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 1)}, // TIM15_CH1N + {PE_5, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 0)}, // TIM15_CH1 + {PE_6, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 2, 0)}, // TIM15_CH2 + {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 + {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {PF_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM16, 1, 0)}, // TIM16_CH1 + {PF_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM17, 1, 0)}, // TIM17_CH1 + {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 + {PF_8, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM16, 1, 1)}, // TIM16_CH1N + {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 + {PF_9, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM17, 1, 1)}, // TIM17_CH1N + {NC, NP, 0} +}; +#endif + +//*** SERIAL *** + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_TX[] = { + {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PA_9, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PA_12, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + {PA_15, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + {PB_4, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + {PB_6, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART)}, + {PB_6, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PB_9, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PB_13, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + {PB_14, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, + {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + {PD_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PE_1, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PF_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_RX[] = { + {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PA_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + {PA_10, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PA_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + {PB_3, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + {PB_5, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + {PB_7, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART)}, + {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PB_8, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PB_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + {PB_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, + {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PD_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_RTS[] = { + {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PA_12, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PB_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PF_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +const PinMap PinMap_UART_CTS[] = { + {PA_11, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PB_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PF_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + {NC, NP, 0} +}; +#endif + +//*** SPI *** + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_MOSI[] = { + {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PA_7, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_2, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, + {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, + {PB_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, + {PD_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PE_14, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_9, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PF_11, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PG_14, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_MISO[] = { + {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PA_6, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PB_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PG_9, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PG_12, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_SCLK[] = { + {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PA_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PA_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PA_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PB_3, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PD_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PE_2, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PG_11, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PG_13, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +const PinMap PinMap_SPI_SSEL[] = { + {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PA_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PA_11, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + {PA_15, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI6)}, + {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, + {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {PF_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, + {PG_8, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, + {PG_10, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + {NC, NP, 0} +}; +#endif + +//*** CAN *** + +#ifdef HAL_CAN_MODULE_ENABLED +const PinMap PinMap_CAN_RD[] = { + {PA_9, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PA_11, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PB_5, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PB_8, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PB_12, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PD_0, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PD_4, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PD_6, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PD_9, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PE_0, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_CAN_MODULE_ENABLED +const PinMap PinMap_CAN_TD[] = { + {PA_10, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PA_12, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PB_6, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PB_7, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PB_9, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PB_13, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PD_1, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PD_5, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {PD_10, CANFD2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + {PE_1, CANFD1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {NC, NP, 0} +}; +#endif + +//*** ETHERNET *** + +#ifdef HAL_ETH_MODULE_ENABLED +const PinMap PinMap_Ethernet[] = { + {PA_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS + {PA_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_REF_CLK|ETH_RX_CLK + {PA_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDIO + {PA_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL + {PA_7, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS_DV|ETH_RX_DV + {PA_9, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_ER + {PB_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 + {PB_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD3 + {PB_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_ER + {PB_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT + {PB_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 + {PB_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER + {PB_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN + {PB_12, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 + {PB_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + {PC_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDC + {PC_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD2 + {PC_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_CLK + {PC_4, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD0 + {PC_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD1 + {PE_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 + {PG_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT + {PG_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN + {PG_12, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 + {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + {NC, NP, 0} +}; +#endif + +//*** QUADSPI *** + +#ifdef HAL_QSPI_MODULE_ENABLED +const PinMap PinMap_QUADSPI[] = { + {PA_1, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 + {PB_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_CLK + {PB_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS + {PB_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_NCS + {PC_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO0 + {PC_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO1 + {PC_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK2_NCS + {PD_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO0 + {PD_12, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO1 + {PD_13, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 + {PE_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO2 + {PE_7, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO0 + {PE_8, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO1 + {PE_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO2 + {PE_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO3 + {PF_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 + {PF_7, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO2 + {PF_8, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO0 + {PF_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO1 + {PF_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_CLK + {PG_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS + {PG_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK2_IO2 + {PG_14, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK2_IO3 + {NC, NP, 0} +}; +#endif diff --git a/variants/NUCLEO_H743ZI/PinNamesVar.h b/variants/NUCLEO_H743ZI/PinNamesVar.h new file mode 100644 index 0000000000..fcc6d968b2 --- /dev/null +++ b/variants/NUCLEO_H743ZI/PinNamesVar.h @@ -0,0 +1,25 @@ + /* SYS_WKUP */ +#ifdef PWR_WAKEUP_PIN1 + SYS_WKUP1 = PA_0, /* SYS_WKUP0 */ +#endif +#ifdef PWR_WAKEUP_PIN2 + SYS_WKUP2 = PA_2, /* SYS_WKUP1 */ +#endif +#ifdef PWR_WAKEUP_PIN3 + SYS_WKUP3 = PC_13, /* SYS_WKUP2 */ +#endif +#ifdef PWR_WAKEUP_PIN4 + SYS_WKUP4 = NC, +#endif +#ifdef PWR_WAKEUP_PIN5 + SYS_WKUP5 = NC, +#endif +#ifdef PWR_WAKEUP_PIN6 + SYS_WKUP6 = PC_1, /* SYS_WKUP5 */ +#endif +#ifdef PWR_WAKEUP_PIN7 + SYS_WKUP7 = NC, +#endif +#ifdef PWR_WAKEUP_PIN8 + SYS_WKUP8 = NC, +#endif diff --git a/variants/NUCLEO_H743ZI/ldscript.ld b/variants/NUCLEO_H743ZI/ldscript.ld new file mode 100644 index 0000000000..65274992e6 --- /dev/null +++ b/variants/NUCLEO_H743ZI/ldscript.ld @@ -0,0 +1,173 @@ +/* +***************************************************************************** +** + +** File : LinkerScript.ld +** +** Abstract : Linker script for STM32H743ZITx Device with +** 2048KByte FLASH, 1056KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** +** Distribution: The file is distributed as is, without any warranty +** of any kind. +** +** (c)Copyright Ac6. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Ac6 permit registered System Workbench for MCU users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the System Workbench for MCU toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20020000; /* end of RAM */ +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ +DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K +RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K +RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K +RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K +ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K +FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data goes into FLASH */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >DTCMRAM AT> FLASH + + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >DTCMRAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >DTCMRAM + + + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} + + diff --git a/variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h b/variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h new file mode 100644 index 0000000000..f41c114b55 --- /dev/null +++ b/variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h @@ -0,0 +1,431 @@ +/** + ****************************************************************************** + * @file stm32h7xx_hal_conf_template.h + * @brief HAL configuration template file. + * This file should be copied to the application folder and renamed + * to stm32h7xx_hal_conf.h. + ****************************************************************************** + * @attention + * + *

      © COPYRIGHT(c) 2018 STMicroelectronics

      + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_HAL_CONF_H +#define __STM32H7xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED + +#define HAL_ADC_MODULE_ENABLED +/* #define HAL_FDCAN_MODULE_ENABLED */ +/* #define HAL_CEC_MODULE_ENABLED */ +/* #define HAL_COMP_MODULE_ENABLED */ +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +#define HAL_DAC_MODULE_ENABLED +/* #define HAL_DCMI_MODULE_ENABLED */ +/* #define HAL_DMA2D_MODULE_ENABLED */ +#define HAL_ETH_MODULE_ENABLED +/* #define HAL_NAND_MODULE_ENABLED */ +/* #define HAL_NOR_MODULE_ENABLED */ +/* #define HAL_SRAM_MODULE_ENABLED */ +/* #define HAL_SDRAM_MODULE_ENABLED */ +/* #define HAL_HASH_MODULE_ENABLED */ +/* #define HAL_HRTIM_MODULE_ENABLED */ +/* #define HAL_HSEM_MODULE_ENABLED */ +/* #define HAL_JPEG_MODULE_ENABLED */ +/* #define HAL_OPAMP_MODULE_ENABLED */ +/* #define HAL_I2S_MODULE_ENABLED */ +/* #define HAL_SMBUS_MODULE_ENABLED */ +/* #define HAL_IWDG_MODULE_ENABLED */ +/* #define HAL_LPTIM_MODULE_ENABLED */ +/* #define HAL_LTDC_MODULE_ENABLED */ +#define HAL_QSPI_MODULE_ENABLED +/* #define HAL_RNG_MODULE_ENABLED */ +/* #define HAL_RTC_MODULE_ENABLED */ +/* #define HAL_SAI_MODULE_ENABLED */ +/* #define HAL_SD_MODULE_ENABLED */ +/* #define HAL_MMC_MODULE_ENABLED */ +/* #define HAL_SPDIFRX_MODULE_ENABLED */ +#define HAL_SPI_MODULE_ENABLED +/* #define HAL_SWPMI_MODULE_ENABLED */ +#define HAL_TIM_MODULE_ENABLED +#define HAL_UART_MODULE_ENABLED +/* #define HAL_USART_MODULE_ENABLED */ +/* #define HAL_IRDA_MODULE_ENABLED */ +/* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_PCD_MODULE_ENABLED +/* #define HAL_HCD_MODULE_ENABLED */ +/* #define HAL_DFSDM_MODULE_ENABLED */ +/* #define HAL_DSI_MODULE_ENABLED */ +/* #define HAL_JPEG_MODULE_ENABLED */ +/* #define HAL_MDIOS_MODULE_ENABLED */ +/* #define HAL_EXTI_MODULE_ENABLED */ +#define HAL_GPIO_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_MDMA_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_HSEM_MODULE_ENABLED + +/* ########################## Oscillator Values adaptation ####################*/ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) +#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz : FPGA case fixed to 60MHZ */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal oscillator (CSI) default value. + * This value is the default CSI value after Reset. + */ +#if !defined (CSI_VALUE) + #define CSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* CSI_VALUE */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief External Low Speed oscillator (LSE) value. + * This value is used by the UART, RTC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External oscillator in Hz*/ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/** + * @brief External clock source for I2S peripheral + * This value is used by the I2S HAL module to compute the I2S clock source + * frequency, this source is inserted directly through I2S_CKIN pad. + */ +#if !defined (EXTERNAL_CLOCK_VALUE) + #define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the External clock in Hz*/ +#endif /* EXTERNAL_CLOCK_VALUE */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */ +#define USE_RTOS 0U + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* ################## SPI peripheral configuration ########################## */ + +/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver +* Activated: CRC code is present inside driver +* Deactivated: CRC code cleaned from driver +*/ + +#define USE_SPI_CRC 0U + +/* ################## ETH peripheral configuration ########################## */ + +#define ETH_TX_DESC_CNT ((uint32_t)4) /* Tx Descriptor Length */ +#define ETH_RX_DESC_CNT ((uint32_t)4) /* Rx Descriptor Length */ + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32h7xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED + #include "stm32h7xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32h7xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32h7xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_HASH_MODULE_ENABLED + #include "stm32h7xx_hal_hash.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_DCMI_MODULE_ENABLED + #include "stm32h7xx_hal_dcmi.h" +#endif /* HAL_DCMI_MODULE_ENABLED */ + +#ifdef HAL_DMA2D_MODULE_ENABLED + #include "stm32h7xx_hal_dma2d.h" +#endif /* HAL_DMA2D_MODULE_ENABLED */ + +#ifdef HAL_DFSDM_MODULE_ENABLED + #include "stm32h7xx_hal_dfsdm.h" +#endif /* HAL_DFSDM_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED + #include "stm32h7xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32h7xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32h7xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_FDCAN_MODULE_ENABLED + #include "stm32h7xx_hal_fdcan.h" +#endif /* HAL_FDCAN_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED + #include "stm32h7xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_COMP_MODULE_ENABLED + #include "stm32h7xx_hal_comp.h" +#endif /* HAL_COMP_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32h7xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED + #include "stm32h7xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32h7xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "stm32h7xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_HRTIM_MODULE_ENABLED + #include "stm32h7xx_hal_hrtim.h" +#endif /* HAL_HRTIM_MODULE_ENABLED */ + +#ifdef HAL_HSEM_MODULE_ENABLED + #include "stm32h7xx_hal_hsem.h" +#endif /* HAL_HSEM_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED + #include "stm32h7xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED + #include "stm32h7xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED + #include "stm32h7xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32h7xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32h7xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32h7xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_JPEG_MODULE_ENABLED + #include "stm32h7xx_hal_jpeg.h" +#endif /* HAL_JPEG_MODULE_ENABLED */ + +#ifdef HAL_MDIOS_MODULE_ENABLED + #include "stm32h7xx_hal_mdios.h" +#endif /* HAL_MDIOS_MODULE_ENABLED */ + +#ifdef HAL_MDMA_MODULE_ENABLED + #include "stm32h7xx_hal_mdma.h" +#endif /* HAL_MDMA_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED +#include "stm32h7xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_LTDC_MODULE_ENABLED +#include "stm32h7xx_hal_ltdc.h" +#endif /* HAL_LTDC_MODULE_ENABLED */ + +#ifdef HAL_OPAMP_MODULE_ENABLED +#include "stm32h7xx_hal_opamp.h" +#endif /* HAL_OPAMP_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32h7xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_QSPI_MODULE_ENABLED + #include "stm32h7xx_hal_qspi.h" +#endif /* HAL_QSPI_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED + #include "stm32h7xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32h7xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SAI_MODULE_ENABLED + #include "stm32h7xx_hal_sai.h" +#endif /* HAL_SAI_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED + #include "stm32h7xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_MMC_MODULE_ENABLED + #include "stm32h7xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + +#ifdef HAL_SDRAM_MODULE_ENABLED + #include "stm32h7xx_hal_sdram.h" +#endif /* HAL_SDRAM_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32h7xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_SPDIFRX_MODULE_ENABLED + #include "stm32h7xx_hal_spdifrx.h" +#endif /* HAL_SPDIFRX_MODULE_ENABLED */ + +#ifdef HAL_SWPMI_MODULE_ENABLED + #include "stm32h7xx_hal_swpmi.h" +#endif /* HAL_SWPMI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32h7xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32h7xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32h7xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED + #include "stm32h7xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32h7xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + #include "stm32h7xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32h7xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32h7xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED + #include "stm32h7xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_HAL_CONF_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/variants/NUCLEO_H743ZI/variant.cpp b/variants/NUCLEO_H743ZI/variant.cpp new file mode 100644 index 0000000000..7e71e463c8 --- /dev/null +++ b/variants/NUCLEO_H743ZI/variant.cpp @@ -0,0 +1,220 @@ +/* + Copyright (c) 2011 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "variant.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Pin number +const PinName digitalPin[] = { + PG_9, //D0 + PG_14, //D1 + PF_15, //D2 + PE_13, //D3 + PF_14, //D4 + PE_11, //D5 + PE_9, //D6 + PF_13, //D7 + PF_12, //D8 + PD_15, //D9 + PD_14, //D10 + PA_7, //D11 + PA_6, //D12 + PA_5, //D13 + PB_9, //D14 + PB_8, //D15 + PC_6, //D16 + PB_15, //D17 + PB_13, //D18 + PB_12, //D19 + PA_15, //D20 + PC_7, //D21 + PB_5, //D22 + PB_3, //D23 + PA_4, //D24 + PB_4, //D25 + PB_6, //D26 + PB_2, //D27 + PD_13, //D28 + PD_12, //D29 + PD_11, //D30 + PE_2, //D31 + PA_0, //D32 + PB_0, //D33 - LED_GREEN + PE_0, //D34 + PB_11, //D35 + PB_10, //D36 + PE_15, //D37 + PE_14, //D38 + PE_12, //D39 + PE_10, //D40 + PE_7, //D41 + PE_8, //D42 + PC_8, //D43 + PC_9, //D44 + PC_10, //D45 + PC_11, //D46 + PC_12, //D47 + PD_2, //D48 + PG_2, //D49 + PG_3, //D50 + PD_7, //D51 + PD_6, //D52 + PD_5, //D53 + PD_4, //D54 + PD_3, //D55 + PE_2, //D56 + PE_4, //D57 + PE_5, //D58 + PE_6, //D59 + PE_3, //D60 + PF_8, //D61 + PF_7, //D62 + PF_9, //D63 + PG_1, //D64 + PG_0, //D65 + PD_1, //D66 + PD_0, //D67 + PF_0, //D68 + PF_1, //D69 + PF_2, //D70 + PA_7, //D71 + NC, //D72 + PB_7, //D73 - LED_BLUE + PB_14, //D74 - LED_RED + PC_13, //D75 - USER_BTN + PD_9, //D76 - Serial Rx + PD_8, //D77 - Serial Tx + PA_3, //D78/A0 + PC_0, //D79/A1 + PC_3, //D80/A2 + PF_3, //D81/A3 + PF_5, //D82/A4 + PF_10, //D83/A5 + PB_1, //D84/A6 + PC_2, //D85/A7 + PF_4, //D86/A8 + PF_6, //D87/A9 + // Duplicated pins in order to be aligned with PinMap_ADC + PA_7, //D88/A10 = D11 + PA_6, //D89/A11 = D12 + PA_5, //D90/A12 = D13 + PA_4, //D91/A13 = D24 + PA_0, //D92/A14 = D32 + PF_8, //D93/A15 = D61 + PF_7, //D94/A16 = D62 + PF_9 //D95/A17 = D63 +}; + +#ifdef __cplusplus +} +#endif + +// ---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief System Clock Configuration + * SYSCLK = 400MHz + * @retval None + */ +WEAK void SystemClock_Config(void) +{ + + RCC_OscInitTypeDef RCC_OscInitStruct; + RCC_ClkInitTypeDef RCC_ClkInitStruct; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct; + + /**Supply configuration update enable + */ + MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0); + + /**Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + while ((PWR->D3CR & (PWR_D3CR_VOSRDY)) != PWR_D3CR_VOSRDY) + { + + } + /**Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; + RCC_OscInitStruct.HSI48State = RCC_HSI48_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLM = 1; + RCC_OscInitStruct.PLL.PLLN = 100; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 4; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + /**Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3|RCC_PERIPHCLK_USB; + PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1; + PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + { + _Error_Handler(__FILE__, __LINE__); + } + + /**Configure the Systick interrupt time + */ + HAL_SYSTICK_Config(SystemCoreClock/1000); + + /**Configure the Systick + */ + HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); + + /* SysTick_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); +} + +#ifdef __cplusplus +} +#endif diff --git a/variants/NUCLEO_H743ZI/variant.h b/variants/NUCLEO_H743ZI/variant.h new file mode 100644 index 0000000000..14686e6031 --- /dev/null +++ b/variants/NUCLEO_H743ZI/variant.h @@ -0,0 +1,194 @@ +/* + Copyright (c) 2011 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _VARIANT_ARDUINO_STM32_ +#define _VARIANT_ARDUINO_STM32_ + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ +#include "PeripheralPins.h" + +#ifdef __cplusplus +extern "C"{ +#endif // __cplusplus + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ +extern const PinName digitalPin[]; + +enum { + PG9, //D0 + PG14, //D1 + PF15, //D2 + PE13, //D3 + PF14, //D4 + PE11, //D5 + PE9, //D6 + PF13, //D7 + PF12, //D8 + PD15, //D9 + PD14, //D10 + PA7, //D11 + PA6, //D12 + PA5, //D13 + PB9, //D14 + PB8, //D15 + PC6, //D16 + PB15, //D17 + PB13, //D18 + PB12, //D19 + PA15, //D20 + PC7, //D21 + PB5, //D22 + PB3, //D23 + PA4, //D24 + PB4, //D25 + PB6, //D26 + PB2, //D27 + PD13, //D28 + PD12, //D29 + PD11, //D30 + PE2, //D31 + PA0, //D32 + PB0, //D33 - LEDGREEN + PE0, //D34 + PB11, //D35 + PB10, //D36 + PE15, //D37 + PE14, //D38 + PE12, //D39 + PE10, //D40 + PE7, //D41 + PE8, //D42 + PC8, //D43 + PC9, //D44 + PC10, //D45 + PC11, //D46 + PC12, //D47 + PD2, //D48 + PG2, //D49 + PG3, //D50 + PD7, //D51 + PD6, //D52 + PD5, //D53 + PD4, //D54 + PD3, //D55 + PE2_2,//D56 + PE4, //D57 + PE5, //D58 + PE6, //D59 + PE3, //D60 + PF8, //D61 + PF7, //D62 + PF9, //D63 + PG1, //D64 + PG0, //D65 + PD1, //D66 + PD0, //D67 + PF0, //D68 + PF1, //D69 + PF2, //D70 + PA7_2,//D71 + NC_1, //D72 + PB7, //D73 - LEDBLUE + PB14, //D74 - LEDRED + PC13, //D75 - USERBTN + PD9, //D76 - Serial Rx + PD8, //D77 - Serial Tx + PA3, //D78/A0 + PC0, //D79/A1 + PC3, //D80/A2 + PF3, //D81/A3 + PF5, //D82/A4 + PF10, //D83/A5 + PB1, //D84/A6 + PC2, //D85/A7 + PF4, //D86/A8 + PF6, //D87/A9 + // Duplicated pins in order to be aligned with PinMapADC + PA7_3, //D88/A10 = D11 + PA6_2, //D89/A11 = D12 + PA5_2, //D90/A12 = D13 + PA4_2, //D91/A13 = D24 + PA0_2, //D92/A14 = D32 + PF8_2, //D93/A15 = D61 + PF7_2, //D94/A16 = D62 + PF9_2, //D95/A17 = D63 + PEND +}; + +// This must be a literal with the same value as PEND +#define NUM_DIGITAL_PINS 96 +// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS +#define NUM_ANALOG_INPUTS 18 +#define NUM_ANALOG_FIRST 78 + +// On-board LED pin number +#define LED_BUILTIN PB0 +#define LED_GREEN LED_BUILTIN +#define LED_BLUE PB7 +#define LED_RED PB14 + +// On-board user button +#define USER_BTN PC13 + +// Timer Definitions +// Do not use timer used by PWM pins when possible. See PinMap_PWM. +#define TIMER_TONE TIM6 + +// Do not use basic timer: OC is required +#define TIMER_SERVO TIM2 //TODO: advanced-control timers don't work + +// UART Definitions +#define SERIAL_UART_INSTANCE 3 //Connected to ST-Link + +// Serial pin used for console (ex: stlink) +// Rerquired by Firmata +#define PIN_SERIAL_RX PD9 +#define PIN_SERIAL_TX PD8 + +#ifdef __cplusplus +} // extern "C" +#endif +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_HARDWARE Serial +#endif + +#endif /* _VARIANT_ARDUINO_STM32_ */ From 3fa697b48c2d06181f7bd7bd7130b571638cfb9f Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 10:49:57 +0800 Subject: [PATCH 32/38] [NUCLEO-H743ZI]Fix board --- boards.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards.txt b/boards.txt index 2d6f4c0426..3629748f91 100644 --- a/boards.txt +++ b/boards.txt @@ -116,7 +116,7 @@ Nucleo_144.menu.pnum.NUCLEO_H743ZI.upload.maximum_size=2097152 Nucleo_144.menu.pnum.NUCLEO_H743ZI.upload.maximum_data_size=1081344 Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.mcu=cortex-m7 -mfpu=fpv4-sp-d16 -mfloat-abi=hard Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.board=NUCLEO_H743ZI -Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.series=STM32F7xx +Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.series=STM32H7xx Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.product_line=STM32H743xx Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.variant=NUCLEO_H743ZI Nucleo_144.menu.pnum.NUCLEO_H743ZI.build.cmsis_lib_gcc=arm_cortexM7l_math From fd0740079a1452c3e29b164bbbeae21c62c53ddc Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 11:22:34 +0800 Subject: [PATCH 33/38] [STM32H7xx]ADC Build Field Fix SAMPLINGTIME Define --- cores/arduino/stm32/analog.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cores/arduino/stm32/analog.c b/cores/arduino/stm32/analog.c index 3fc76384ca..f66d671926 100644 --- a/cores/arduino/stm32/analog.c +++ b/cores/arduino/stm32/analog.c @@ -83,6 +83,21 @@ #error "ADC SAMPLINGTIME could not be defined" #endif +/* STM32H7xx */ +#if defined(ADC_RESOLUTION_16B) +#define SAMPLINGTIME ADC_RESOLUTION_16B; +#if defined(ADC_RESOLUTION_14B) +#define SAMPLINGTIME ADC_RESOLUTION_14B; +#if defined(ADC_RESOLUTION_12B) +#define SAMPLINGTIME ADC_RESOLUTION_12B; +#if defined(ADC_RESOLUTION_10B) +#define SAMPLINGTIME ADC_RESOLUTION_10B; +#if defined(ADC_RESOLUTION_8B) +#define SAMPLINGTIME ADC_RESOLUTION_8B; +#else +#error "ADC SAMPLINGTIME could not be defined" +#endif + #ifndef STM32F1xx #ifdef ADC_CLOCK_SYNC_PCLK_DIV2 #define ADC_CLOCK_DIV ADC_CLOCK_SYNC_PCLK_DIV2 From 6c134c44ed9b0367bdb9915f42154a2957e8b314 Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 11:30:41 +0800 Subject: [PATCH 34/38] [STM32H7xx]Fix SAMPLINGTIME not define --- cores/arduino/stm32/analog.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/cores/arduino/stm32/analog.c b/cores/arduino/stm32/analog.c index f66d671926..50fa950dbf 100644 --- a/cores/arduino/stm32/analog.c +++ b/cores/arduino/stm32/analog.c @@ -79,21 +79,17 @@ #define SAMPLINGTIME ADC_SAMPLETIME_16CYCLES; #elif defined(ADC_SAMPLETIME_12CYCLES_5) #define SAMPLINGTIME ADC_SAMPLETIME_12CYCLES_5; -#else -#error "ADC SAMPLINGTIME could not be defined" -#endif - /* STM32H7xx */ -#if defined(ADC_RESOLUTION_16B) -#define SAMPLINGTIME ADC_RESOLUTION_16B; +#elif defined(ADC_RESOLUTION_16B) +#define SAMPLINGTIME ADC_RESOLUTION_16B; #if defined(ADC_RESOLUTION_14B) -#define SAMPLINGTIME ADC_RESOLUTION_14B; +#define SAMPLINGTIME ADC_RESOLUTION_14B; #if defined(ADC_RESOLUTION_12B) -#define SAMPLINGTIME ADC_RESOLUTION_12B; +#define SAMPLINGTIME ADC_RESOLUTION_12B; #if defined(ADC_RESOLUTION_10B) -#define SAMPLINGTIME ADC_RESOLUTION_10B; +#define SAMPLINGTIME ADC_RESOLUTION_10B; #if defined(ADC_RESOLUTION_8B) -#define SAMPLINGTIME ADC_RESOLUTION_8B; +#define SAMPLINGTIME ADC_RESOLUTION_8B; #else #error "ADC SAMPLINGTIME could not be defined" #endif From 3cb4039d5b4879776408fae7435fc31f1c5c587b Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 13:51:00 +0800 Subject: [PATCH 35/38] [NUCLEO-H743ZI]Fix UART redefine --- variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h b/variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h index f41c114b55..fdeb50ea1a 100644 --- a/variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h +++ b/variants/NUCLEO_H743ZI/stm32h7xx_hal_conf.h @@ -85,7 +85,7 @@ #define HAL_SPI_MODULE_ENABLED /* #define HAL_SWPMI_MODULE_ENABLED */ #define HAL_TIM_MODULE_ENABLED -#define HAL_UART_MODULE_ENABLED +/* #define HAL_UART_MODULE_ENABLED */ /* #define HAL_USART_MODULE_ENABLED */ /* #define HAL_IRDA_MODULE_ENABLED */ /* #define HAL_SMARTCARD_MODULE_ENABLED */ From da3cbf24bb0c4d8a8164267755324b7179aa4aba Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 17:01:20 +0800 Subject: [PATCH 36/38] [STM32H7xx]SAMPLINGTIME fix --- cores/arduino/stm32/analog.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/cores/arduino/stm32/analog.c b/cores/arduino/stm32/analog.c index 50fa950dbf..cca1246f2a 100644 --- a/cores/arduino/stm32/analog.c +++ b/cores/arduino/stm32/analog.c @@ -80,16 +80,20 @@ #elif defined(ADC_SAMPLETIME_12CYCLES_5) #define SAMPLINGTIME ADC_SAMPLETIME_12CYCLES_5; /* STM32H7xx */ -#elif defined(ADC_RESOLUTION_16B) -#define SAMPLINGTIME ADC_RESOLUTION_16B; -#if defined(ADC_RESOLUTION_14B) -#define SAMPLINGTIME ADC_RESOLUTION_14B; -#if defined(ADC_RESOLUTION_12B) -#define SAMPLINGTIME ADC_RESOLUTION_12B; -#if defined(ADC_RESOLUTION_10B) -#define SAMPLINGTIME ADC_RESOLUTION_10B; -#if defined(ADC_RESOLUTION_8B) -#define SAMPLINGTIME ADC_RESOLUTION_8B; +#elif defined(ADC_SAMPLETIME_2CYCLES_5) +#define SAMPLINGTIME ADC_SAMPLETIME_2CYCLES_5; +#elif defined(ADC_SAMPLETIME_8CYCLES_5) +#define SAMPLINGTIME ADC_SAMPLETIME_8CYCLES_5; +#elif defined(ADC_SAMPLETIME_16CYCLES_5) +#define SAMPLINGTIME ADC_SAMPLETIME_16CYCLES_5; +#elif defined(ADC_SAMPLETIME_32CYCLES_5) +#define SAMPLINGTIME ADC_SAMPLETIME_32CYCLES_5; +#elif defined(ADC_SAMPLETIME_64CYCLES_5) +#define SAMPLINGTIME ADC_SAMPLETIME_64CYCLES_5; +#elif defined(ADC_SAMPLETIME_387CYCLES_5) +#define SAMPLINGTIME ADC_SAMPLETIME_387CYCLES_5; +#elif defined(ADC_SAMPLETIME_810CYCLES_5) +#define SAMPLINGTIME ADC_SAMPLETIME_810CYCLES_5; #else #error "ADC SAMPLINGTIME could not be defined" #endif From 158212f358d8e8cd5e14ffdf009a11d6e3466797 Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 17:32:55 +0800 Subject: [PATCH 37/38] [STM32H7xx]Fix ADC config ERROR --- cores/arduino/stm32/analog.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/cores/arduino/stm32/analog.c b/cores/arduino/stm32/analog.c index cca1246f2a..c9514a6513 100644 --- a/cores/arduino/stm32/analog.c +++ b/cores/arduino/stm32/analog.c @@ -449,8 +449,8 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) #ifdef __HAL_RCC_ADC_CLK_ENABLE __HAL_RCC_ADC_CLK_ENABLE(); #endif -/* For STM32F1xx, ADC prescaler is confgured in SystemClock_Config (variant.cpp) */ -#if defined(__HAL_RCC_ADC_CONFIG) && !defined(STM32F1xx) +/* For STM32F1xx & STM32H7xx, ADC prescaler is confgured in SystemClock_Config (variant.cpp) */ +#if defined(__HAL_RCC_ADC_CONFIG) && !defined(STM32F1xx) && !defined(STM32H7xx) /* ADC Periph interface clock configuration */ __HAL_RCC_ADC_CONFIG(RCC_ADCCLKSOURCE_SYSCLK); #endif @@ -580,9 +580,13 @@ uint16_t adc_read_value(PinName pin) AdcHandle.Init.Resolution = ADC_RESOLUTION_12B; /* 12-bit resolution for converted data */ AdcHandle.Init.EOCSelection = ADC_EOC_SINGLE_CONV; /* EOC flag picked-up to indicate conversion end */ AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; /* Parameter discarded because software trigger chosen */ +#ifndef STM32H7xx AdcHandle.Init.DMAContinuousRequests = DISABLE; /* DMA one-shot mode selected (not applied to this example) */ #endif +#endif +#ifndef STM32H7xx AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT; /* Right-alignment for converted data */ +#endif AdcHandle.Init.ScanConvMode = DISABLE; /* Sequencer disabled (ADC conversion on only 1 channel: channel set on rank 1) */ AdcHandle.Init.ContinuousConvMode = DISABLE; /* Continuous mode disabled to have only 1 conversion at each conversion trig */ AdcHandle.Init.DiscontinuousConvMode = DISABLE; /* Parameter discarded because sequencer is disabled */ @@ -599,11 +603,20 @@ uint16_t adc_read_value(PinName pin) AdcHandle.Init.SamplingTime = SAMPLINGTIME; #endif #else -#ifdef STM32F3xx +#if defined (STM32F3xx) || defined (STM32H7xx) AdcHandle.Init.LowPowerAutoWait = DISABLE; /* Auto-delayed conversion feature disabled */ #endif AdcHandle.Init.NbrOfConversion = 1; /* Specifies the number of ranks that will be converted within the regular group sequencer. */ +#ifdef STM32H7xx + AdcHandle.Init.NbrOfDiscConversion = 1; + AdcHandle.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR; + AdcHandle.Init.Overrun = ADC_OVR_DATA_PRESERVED; + AdcHandle.Init.Overrun = ADC_LEFTBITSHIFT_NONE; + AdcHandle.Init.BoostMode = DISABLE; + AdcHandle.Init.OversamplingMode = DISABLE; +#elif AdcHandle.Init.NbrOfDiscConversion = 0; /* Parameter discarded because sequencer is disabled */ +#endif #endif g_current_pin = pin; /* Needed for HAL_ADC_MspInit*/ @@ -833,20 +846,3 @@ void pwm_stop(PinName pin) * @} */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -#ifdef __cplusplus -} -#endif - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ From 5ca3e293bebd29227532d9f83b23d6d4d59230ca Mon Sep 17 00:00:00 2001 From: davidanger Date: Thu, 23 Aug 2018 17:34:17 +0800 Subject: [PATCH 38/38] [NUCLEO-H743ZI]Fix SYS_WKUP missing PIN --- variants/NUCLEO_H743ZI/PinNamesVar.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/variants/NUCLEO_H743ZI/PinNamesVar.h b/variants/NUCLEO_H743ZI/PinNamesVar.h index fcc6d968b2..b1b66d5508 100644 --- a/variants/NUCLEO_H743ZI/PinNamesVar.h +++ b/variants/NUCLEO_H743ZI/PinNamesVar.h @@ -9,10 +9,10 @@ SYS_WKUP3 = PC_13, /* SYS_WKUP2 */ #endif #ifdef PWR_WAKEUP_PIN4 - SYS_WKUP4 = NC, + SYS_WKUP4 = PI_8, #endif #ifdef PWR_WAKEUP_PIN5 - SYS_WKUP5 = NC, + SYS_WKUP5 = PI_11, #endif #ifdef PWR_WAKEUP_PIN6 SYS_WKUP6 = PC_1, /* SYS_WKUP5 */

      XNSu10p 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 z%0D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

      5Uo{&pwz?GLp{U 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%0AWNb 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 @LGv>w>!B%)#T5(bVd4vj31vM9JI3 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ⓈgfIHQAXy7P97{vMix4T;;4SKTIwBhh@ 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≪ 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
      rzc>!9e>DsxpxUy7bu`vY!+LN!CY9!I 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�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�)-o0`~dveEiG!&WjlPtl5ahOYhmX3^2KPuOEqQ&TALGrK89 z3M)73adcT!#XM>ZI)7}IXjG^<#l-8x!`GfQy`=61J&l^bNsXi%ie0*FnZ{&KzAQGv zjEK8&TQNIkh(ldp@ZumSigqai`w9^dz4+LD?RAWuipZd$cD5j&);ps}G?}OyP3K4U zfkLw{>Fg2@rf@4%H)qn?{5#QxM5rLbQ5b2`1{<7M^cjaM_EOBoo>+52+xu(T`Ba){ z5>6Ig_cm>i;rg?)_uywUB7xk90)6gqA(CkX zTt~p>$si-Sw3p12;*BO#XA;z(gVLJUZ|fjo)?DD2yx(G>1#N}G_t|Bwb)nKg56*yT zpu~tX4g~w4WxSlie)fBZ(`#%AW-RMfCmTezozO|A7#$*?`DWW1L>nc5W()uYeM4o{yY$7oPAYD`r& zt+?&l!UJ?&U=9ZQwLk4jnA#e~r}8J2R$Erb!Xh#NUHL}eu(lVgV7njGARvjpp6Hwg zN?mjujyUyDk*hv6=xJdiOwmyfqccm3)>!x$ZgajD*u5ZUDEPw(k>Sae!pD!z!J%8;?;x39Aak*W_(lF32^l z7un5reHeff)#Nprm(C4v&K6P3D?@ONF=^>fahExbvgbEoG0eF1lp6ntiH*u1=}YBI zw4SW|GlQHqp8Jv8Psr@_^4{uA%S;$gsrl(_+tOEqAyGJ)68mbt09+l!Qth>>9xac8 zDLh-q;qMMEX(gYxag=Cu!RF#&MoGtlTj`B~8R*Z@_tf<+b`7PDto2-=tytwyB^p!3 zYF6yP2OO_AaWLv$Uoo03%=H2@ZZdX6rnRi0s_2Rwd zM$Nk&<9eCd2#BFK%C^8M%h2`NeRH!6B%BEKKATI>s-C!WB;wMzkW9FkQ;piQcy$(= zas60K=US!<@sbN;Xv0CsKtoHCgb?F80F&lEH^sh#ij1wLX)%46f8EgR_xi>fho0Rf zIWL~kkD$5IdYr=)jxb(j40D6tzMYfW9A~P$``Dz>*{s)rCeFzaZA!Aj5mb7sEZyxu;M;VUu3YHK>ie>*sWh#*%?Tcv z*xy}Y=b4xA=&vjNnXxpO#TqOJ;z)!XllIih0)%`qZ23B4ME(CvTm#)YZh_PhiTsNp zompCQEk}sMCJSWKV-}4TuW`)Oq;UIpl&&3SRn4YqH^UAy&!(S*k1o49WEjr0*9MTi zH%W)sZh_3{8ZPqHeau@5>-=JbN7+@yXJ_ISh&W!Q1P^U|9Pg&GWo3s7DSR;(H+0wT zQw0pXK8y2(Ku?U*VKIa)My(fYpeJh;#;2 zlzJw6ye1WC%iINfPHHf&b@BO*PsT1$C%5!;$Ouw_8f=6KOL0%<-JB`*Igek(9t$8?5Kp59)YQoAL0Kjf zZ9I~VOJD9fu=22qxOs2^epDtYL@PS}(kW_5qAG*Bz(+?m#nE2nU=GAW@iIHpr?iuK zj8W1$1shPMT8;Ni1~jHJMOGN~YSe3t%P8Q(q`JelX+FEcJ-Z5jYmcfN%H0W0h_!t; z1kE)ch-GNpZC=T;JPQ?uA@C5o?u?--ZCEgZ55LH6A-^)*XAbky@P-TGH6aX@z&h|* z5_*x@Ds}|0fL^p}p0%{B+jh|-G2yiExHw~mt&xz9a>ea4lIs*340*-`t)r|XH)_K|yNUCyj>~EuSNV3K#UOa+);5s~Kx55(<#EWC$&i@#wd=0M-%TMmXrULu{L z5apTymz;G+ya(T0xNC<};rl!_tf9<1={ybEOi-vWL7`i`1>LA|rW$ALqNc{FJgsAo z97Cxkuf-E6lV}=j=op9j__s2|ju~Or^<9&~bI+RGz(lOp={s=#!QpKKgO5{?DxlrB zp)9zl&tQ74JnH}M3wRa7xEQxq9op4nN?l&usHFj2}nQp2K_O78^A_kfCCHNf%Mp$xpz0f}+`|T@~_L(ggnZiJRqy|#^k+b=Hpb#V5oEYc=g>SZ} zVOoe#+ot<@3b;Z`=jV;x2s)!zd@I-`cI9~Xw^MMHf4~ciVeF9PJUdx2jR&L!qR|B- zJ!&(EG6F>%s`$j<1qUUB+y|Hh$Wx_@L_x#dQg+}p9JiM0&({nB9m3D(7DI-9Q^_VH z7w#fwgmdNC^Qe(+XE~nQnhx1!tfPEk8PvxDnWo7FB$a6B(q3nw1vee45yqqwsW04m zZJ3ABbFBiBkKtEsl7ntjyUTWXqhMP)gyZ)$xnk5VNE*XkW%vL0bNp$Q1(;;9(i^cG zkcVX0I^1QOcLC3J@rJF+pNLqzHHS7I<@EA}%J%D`^D98`B{iM7iVyLG>;atf?%}2s z`KtS4HCmxzbli!EEbtxN5xifv*k&$(oY$Tu^cV#Pg|xE03TrpN$8evl5A(-lmYm|a zTC3Vw#R?OvYPPc3qMUZ<6)Pr}&>Wy*9+rBJ6c&p0fb<`JFCUkW1quq0icFltf($QgV|+@QLjj;+-UbvT zE(1Q+t{2eU=}cg=RNo@iK$P7rsT;?89d3yeW5Y2r&>VKD4^@?wB5*odeGzaT>Q-H8 z;L=A2XHiksQOOB)$Gl}5Wk=fy{Cw;!nDkG*xfPGkPUc+!D}C#kFm4%9U(}&9VxXbGzDfqL4x$54MO>T+@Q-MY4qy z5oI~Ka&f@ZXlbl0C$mR-)BLPju2n-%P0X|qrWLFXqR}WjYms0Fl5_4v%aKi6b#9BC zS;@mYzD?zAxvFyIv^}B;r~4Q(M5_Q?}1UwI_)RRJ#zaeQb9_T+Y-*sZc@75Z3b!%lTx1~%G`Fcu5Su6 z6hwuLrbkS$ocHYG+jwY~Jp0mR15_meekilf=(X}A=0(bUqRP(*JJ6CodoiDIQ;3EHQdR9UPeh{lq_iskgNi3*Iz&O*ld zWxd8JFQr!>+|KoPoXvsvkj(I$7I=a)7@06kZ8Nr#V%R6&h1PW~v+;?d)@}EPyRC?v zwD*|xL%*Dp?#I`iCto&U-0MG%<>$H0=`WP;=K)x}PM)E$lv9-3sbxaCMl+#V(jY7e zDR;R-TH_&0H9tiW?8QKxMzM`_GTVupSN$q^sCRMp$3HfSv}}pR;1WdJ0h9iedf#@` zn`2hs1eIgQ;>5>>m*jEDo0pF`jhsDamwFqcy~RAW zQ|mbOc;~qJ4nCK?%cJOfYj7=-0^g#~X zKoHmEOVk@_CEny7Xy%3`MA@bHlq=6_FDRUGx{X=k zJU8N=0~nwKOcO5bTyG&DV~)4Nw)gz-eO&Ejy|+^E2&ndwD-BOMtD^uG?ZIn)|%Kbo(`-q8Br?Oh$WIAvqm*J!cyvJx|-VA6I{>uF-f0))C8R#bpv2Vj@334p<3`7bg|kiM+lN|gBUxswp$V(#tB=vzEJs|*b=L{n*14R)z7pi1bvQ^=H7*=xbXXl@z! z?DHdj7XCNu>U1(=j5xgk)D3;vd7r5PtKIu2@vW?*JNe?3QJmyhOYIxT>l7H9uDq&M!ypP_nt%@~AH7ZEALZrkd1V+^Utx*ly! z^g0?{>rH{+PSX^J{d-orL~kMsQ|XSdmD^^fk>A&I&D%t_>Y3|mTn3=fMo6pY^{U;K z$tSUqL)i+FI2`Jk8ESc{$tk^x6*H7dafe0e3~)*!;pli49-lsk)nXlw3ZP>gu7F09 z3(>A`AklI#ZF*L%A&K&1Mc}cJtmDq74~|ZG0fGBI{TtGfh)X~y?!VIgXLFXSlo7-n z*dc}>(^0F<{@krC9#Mh2O#ulf{AZK`f7o1jibD*_RRB}9LlXDw@XZIc&PeF*0PCe= z;NK4l7z7dMi1N%5B#tfvVT)wUiM+kygf2c>BsSSjh_IY0JPX=D5La>d?$<{6`r*2A zAQ0f}09T=EgKPuehYzF4n){fQ?Q9T)7HWQD{79fj8MxtPT}?)t&iDanb=5>6c^{(B z;X_)Ar2*IOCys+x9-iQ4$W$XqLH3el8mRryT527PWBy$gdxLsdX;@&6>!pG@B)j;q zH*AO?0>;I~$r2%JU9=HEThTJ#a)?;MBhEd9|FO<(*nqOh?n#&dWY-p1JTW)BFG@Bj zDgowOAao!aqh~V5Y62qzvuF-6DdgO$2Sy9o*tR~E!;b;FMDDvt(c{o34@ZiksFvbD z&h{zj(XOtVt_ERoY8bFa!ggk|szq^#1`9U$rk$a8H^^kfax7<=)6fm{dYm9n9*N=P zrJPyciwZJXKedWJx8EeVpLRRdBUakB^^vYS*k*^_4>QQpr_M|=(5xwJcDmlPT`p=)w%ECwbB44?)i~cbt1j-W?Sk8sA)$7Isl%7>c{jZ(X)b%~$ce?RbilE@7&-YRo_$bn zzHTjlq@;B2;vc6#ATFUnj#euy8-Jg8HnAX3*2EJIwysFOH;oye4INo$YD5nQj)}$- zB-ZQf2Gb0-rrogP3b_E}D!3cbhhIp)OU^lVwz6|4*0O^s2fQ@Mc*Bdd)$zl1_*>zV z=xC}K+C+oPT*tPvrPhwI;c8J&`PUO(wYjpmMW=;r_|>qwW-P!^!fBUwNcKt_q8uZ4 z9;Hcsa}rj%{HPG=D;N)V(pBo|u&Tb11MjtM)sn8!TO}3dFnv1z=4r?{=GguflFXhg z9X)fCcv>Tja1@DQXUnK@)z`zo)^7wWa_UjL{0I{L=csxHyjAgfy@mxA7Es|EJnnvWc%WaSW`{A{$8V7~x_Q6IdB5b=bnjSvy@w}g7Nxyhu;yDe@ zQ$c~wiP0v|4B}&UhBFRE{TiW4;q|3*c~(?sBqq6VO-Okd8BO3>9#)+&Fm$%iMw3l> z2Lj{;{ZM27hCxbl4wQt*ruNw8jSyPq`yy+RRI;iqw$K2%CZl${wFxgyc8T4u?Fld2 zNOsEAdgF})%$g-d*FG1ItVL^&%CjbS!rCB7CmaG!hw z-9nTiB#g{JDq<(CGCvT{5~&2&!hiH=31ki-?T0fJh#ICHJTzgupy~HK+s()pRBXHC zf$P)`v8B|b1kBw9`H%*{CNHowV;!rt$U4l*M_b7xN0Wx00-|*5m=4Qqi2;oukIrRg z4_AG?qJ9its0G%%JyVE5Tw<);vg!S$-nw@FbdXnUKrM1qBQ5|P2)LUi-m&u~6$DH%5>>Q=P ze-VBeeu*yPB9@A`sjaYohsA8kh1kW(9(qry&D!&-){0vhVxErF_^b_)t!q4?SKIe*CYD#0mU;s3!#&@OQh! zlMzqT=K7|Nf9E@{9m&nf>PB>CY`C2}Mm>wir9-aT>e1}S0X^dcr%LrQ2OcK&2syjw z8rHiz9KO6Mij=D+p+MlcN6Ab=w{lEUb|KHJe0*#|o>yE^Xh+E>9A53nzka;CNtXA> zrwSxxUHeVTGvntl2o`4yQ3IhN$cVRd2YYyaX8V?^MSSKaMk7f7G7nN;(bHT`JnS`Y z?P7e{buk8Ch}+J0TctGQX_(;5>k=vA-{9t{QPzsv>$}8UYJRWwVhy*b;T}V` zw;<5CuKMwAPIEsG7HV-RO2bkYFFu}nh}0Md?Lo#;?G3e%HW{OAs)Y$lb8e1dx5?Zj zw@J-GHfe#%C6{fO?tvN4^K7nc#5!&W>&6p`ja#Buq@H_G-PK~JxoNWTic%V|n|dQq zDe@Rxwk@n_>-?u9f-zK8XveHY7Dl2gG4323YdQB5@O9U`-0J^=bvKu>xT#@Z{pC62 z8_C2NDk$luyxORfg{@&vNR32}WZE{;n;F7!sMwFNKr68G3`6Te6Rk+1W!3ICT97EC z;C;CiauI8habt|gusf3)E226>_Z>85#Gt@K8)B$c<#Ls2b+j}_5m1!$6tsNI2xRve z+cnJKU`5>8M^wDV9jVV^S~zj2oYjp+IRaJPh#OR{fk865rMv>;3_xT^LpvM$ynZim zD~~>V{I5=9($Go+{)oe@d4`tj`W5S4JY%?3d@^mCk#BPBnRTT!7j{Z`b?N~{v~~zv zxU3#KqSSZFg)`Tq`L833qA5|u-N)}StpN`CLGvqc@ zxMuK&JC@lVu|vPxmD>CAX*X>t3*-qjI9k$Y zsu31r+ZJ-SR$55G+w^Vq;AvuWezuY8@pCQcJiJ_Tz*LoyadqP*be3rAY#EkoFe@us zvx|$;I!@mlDgo5O&}AqcY_Ez!7s4Yw6C3;hj6MD)e3z)D})J@6czTW;k$CA zS4GZUs(W^Y#}9?&SBiz;Yn3JT`Q6oE0@37?o{1yQAv;ZRobFTw4y!Hx_!n zKGZ{nIglc_$V(~R5Ye0{v<@LSndakfsxkxxKfw!Jp z4s-mmwG~Uq#SLm+Y^`Xh*tO109KQJFh9g_GK4x9BcBPmb8Fn&XTn7_ zySC-TjCzZ6*!MTrdZRJcYca@qO8WjuFb_nvB#nqZ_ZEVzZV;r0jWhy8`M@en!WJP`%20fMIDfF?;-oY}=sCCOVg3$vX5gOLU8ka9sm8SMjJa*jb{o1gwQIu~ z8o(|_*owl<4DWv0>)PjU94aqsVOm=1X$$U@EK2$1Y?%U^Zu}vpbMZwS;J>xi0+yJe!aN2ZAEZd=m=?8Ex0`8d;D;cW|l&n6`dPIGbX1)p}!gKp4yKBiPl zem5>`bl0mljazjwOe|@*KAKaaML!!J<0KM8ZNO4L;EvbWW?@Z(xkRT`SOj7Ee7ck7 znr*}s34cKQL$(IJA>Jw8GD0Sf_lE_S*m$YjCv#a!ky|e;t$!pL&9FnW#sR9}j@~_; zYy15U_!`5aI7kYCaC9S*^ZZlIW$(LxB=cg8dfzLlp;>j`=#RCHHhi6a)gB3Y5IeK! z&U0@R$A0p$;M5o+{B-6Ws4Gw>nxBk}8PCCUYhv$~_P4Pi5z7@BK3UXy=B6BXk~w@M zh!?z7anx0ZHDtkeHXP#`MdkKP4}S<{IxH#dufv7oI_Inj%Ph4!suQWRV< z?=vz=B0LorUCYQxhmAqvW^J(;+s5`OIS+E&-F%a&+iuG?DRT=JQ;yT2^?ts!KDUt1 z<9z0lpX%b8dexaFs*H-8M_=<-$Kqt)+|(%(rusTj=1neN;GVM4(~`zX5c+Q1T!7~c zX#z}%(wc7|Gv$R(-;i1`J@2YJ<(5f}e^@FWJL2`>>BhajiA|QI+{IfzFKW@1g zi;m_RsDr)^X2~ByRiU4Y9?)K6V<6iZmXZ4Ptzit@jdD0-8%9BBWsVm}S9!+gjjZ&7 zs{D7?u#PQlPqN3hw*|~`U!WXyx2HQxWl%=ly3@~FwAVy#;i?_(4#xZp7 zea0t)c$a$+6w&bTJu8KrGnb-l&fBqmpTuG-j04o^WJiweU9&TjjMN=2$-P&dmJNY7 zSen7&<0Vje{ETV1$!b@vx>9DL4m`O62MYl8Bj}JJCf7+v7x2~xfb;B%^(A8B9vbQT z<2-%A6uq-dHI`e0g{Y6++hPxojiiA`{>0bvEY31C%&;T04K6ueYiyicif317P!%P( z1i9@iP;f$5rwfG0c03~*6&D+2)2<*wzo%UfK;VK9K+V9bai60F(yD>Ht|$}K@IZeO z&O(~Lb|s(9h&q225lm=(!fgwAs70NJ`e5_KI2j6L<2wGsWz*QZ5Lj)U!o&((Jmahu z{8R{&(EjE58n{?J6i+gVgUUvPA>s6q3CP*vy5rd1QBA1`CN76vFJ#f2T3fLeVf(_t)KodU76# z+_zB(LxZqpO$6KX3qX$cwWG4n1eE*oZ=<%sXrG6sEx7^fQx=vV%Z$P6tC$Hnvued< zP_?P(sdqyyt(U3LI9BmxhpsNvzPmMc3z`!vlyB*w8-tz6;ki9CW#zwiUAl9Fx)c?M zT9X>%5#>QauC|iBCe`*pNTm{Sf_E=s#idNHQ$z12IUj6n-Jpu7-;Y(ibQv|DRLLwBQ{_Z|$l42|9O9;3TipjGS|e zWy}G}L23iS!&Pa_SCU@G%#!r<9L@(k0#)ltPG2uHUoQYYd{Q9#QZDbkmkjl^XhPzk zgmc8pY!4TFBM&fkVm?gn5@c=)ytB~2=eTQ}7BvYVwV8IsX{_UI)2yp322@FF4vXH~ z5(owLCr2QRT4E*1sx_)1spzMW)TCtgL|Ys1LPU(E3fn$mU$#PRVAFC%u~m)3KHnjx zAb7Osng}vJ3+%goS zwpvkdoQhE+a=vu!P_0s*`QeOwY}RSo1*5Kwg9O*Qp;WlfKc-QNW|**iZkh1MKxgS} z>#3W0Sz-mUk8ChnaW7UKM4$sA$!i=u_90|jKs2JDKokYly(zLiiN&sLQ^iXf<*sYu z_1%~OeDb>CVqn;jgj(3vUXOJFYgfx>o9b@S!0h2`H*SVSHU%165o1)%%2-k^*tlIj z>O$CB3{F^EdrQVhx~><6j{|)gIIt?3&K&`da(LnK=^e1nQ74{kw51R$l`Z<1NCPBHg6FgWzNoMs( zuz1w;YBFA)d|H@#JeI|ZG_y5M@ZclW#f%d`O4<6zL7bWc8S!Zmsdg@*hf??f$$$1q z!n28xi2;vmu?b$i2HBYa9As-mN|fgK9Z0dPi%x!R5{TM>Jl!*}UQ5d)|6E_v8fJi= zwcl3P4G!_gQ}y{-kj<-$w%zW|yp5KFhQ3YfsWF}e_f?j$HqWvv0%64|y45ITo80$? zfVsjh^F`V$Pm($CF+p2#vw8{E68?ip*}jA%*xpkD7Gq{gG)YIZ%|>%1I7-c-xh*R} za?aTp_KC2b9E#u`Z|*}QBnpv0wNu|rVgFC0+X8C2@v&jBlSW`KGTlsLUlE-*U}NX z^uMrbrQGoR{=0ScYyMaA!5iQ$AFvO<0e_u+BOW+XO^ck)0TKDa+1?ab={dDUFcjni z0t#t%3tX`;Y%JmLBuh&6b*?lL0^(i6v&oX?N>WGl=sa5I#^%69V3X4h*zc-d2X zhZ1nLKy_YFTQMGS0YDW6W_v=(?;^F&Vd0n72Zng&3t@cV^vaBo9!S{6(fpCG+z9gn z@3Ub90uO-iAH-c}e2Adh1s=aJcRdI^uLD>8&CV=;ed9MSY2WbxQTGJiNZ$Y-@8b)b ziR;DQ_H|H90blZmW20*RfMrJT{H4FzgyqSvKPN=scvMCo;otTY&tw47fp@_3uN<7} z?fH+2tL7B^%HD>-9Ps%8*<=3<`Qy^xNP0g%{yi0^jUW7hocZt$eleM)U|)kW)!>o- ze2v@-^8Y=|v2Q;V7(u?kp8y=pfOmJ~{p$Uy%LgEP2Fytm-){;>pAukE!tuU2k5U{Ub!ZR)5SRyRpaBkgA`uB2_0ZAf9~nI=pa{$G{y@(k15#k@ZxB4{504#adId%(*ke)tht3Dg zi066Fjr=a+6aFo8(}n5H^_QaTJPoc!K4d-ghKLfMdfJcMoP^~UJ5Q2fm&0H$x6kAq zeqgkiaAEqy(6|SE2f~Nb^tTWu*F(RP!3OX=!FZeDr<@kHCbq>Z_CIQ^erU z0OZhtVwk@?uRdw@^Nn5_EE#t-Ss2B956Qg-@*56+!2g5prS09p1noJKl_*Uzz_!Fq zY}Y@hbt`{W(lOtHS7AyZxB@|G>hV_)@JhpRuW!9zyQj)W;d}$+8qjM+0(Kd_wYK$$ z+iaEwHZ~^4fY$g51l?qx1@VGsYrXQ9i;yzKL~ArKG_)`=h&E_uvDmgXM)+1wyD2T$ zU@4Cm>-?9-VWVcFw$_z+%J;`IL3#W$f132s5X&0cZ+-GH439PNjDQ(55`0K-df0Qr zt!KPtx1f#k6OJ~2A+P>wcLHV0;BSDx@}G;@@BJ>y^fSUb0mL7b<%~=W(Z2#Dud6Q{ zGA=>=M7+wEFfwmxL-f}CD=K*Dq3MReW>!{4Ouo9cBN4XuE!xfNx8Ffj5r1KUem1!nyn(=z{(Bjo@NyF4%Eans+cn5Qo| zsQ#+|AUhzB)@J~?$YsX-VwA^lW`I54P<+q6{lN}56+PMD!{)ClM@fgy7!1t(=f{7> z%*Kn2l>g9QpO31+slR@auf>AdN3B|>XJU1QVlRTj25`T6$s98J_{w|Hr{^$@%QP&1 z%9f(7)Fmye|poV0mDWfrzva%gci3kdNgJM2m35Q{6I9| zKQYM=U4&P-x!LiLQOp@qQcmlef_XR?6)h)`?Mtdjm2btXIo^RXuQzh4Q`?SQ=bO? z%!->mdd!vamHz?p{eHC2^}nX+_|0$tKS030$Ed8)%R;8ouPib2Fa=0j8Te;sGCp5) zCH?DCD8r(FFUP!LT_fok7q5Q>F)HJN{y%W&q4xR&^R_|;HopcSL;u*>-osw239t8h zAHpWsp!LlwB=L|-v(fhW3tW1^Jn1QxmVcI|H;})}3TSPhiW|Fh2y3{n_*db1L%AHVe(uQcIZ_WM35)5Pegyl2qTYb-(fFB+?T?J#}E zu=(3BwdvojaJa9aefH&+mTTPu4p0n!J3N-ztk$nRm2o_vd9<%6E+zvSUlz(Wnu@T7 z^7+$hc-Uyb#Mj(ifXr`vYmtL%{u&osf6Ca#w?1-jW$!K-rdW<>;tP82@az(q3AxDKYIlV#i=B3|nidZ}g0C%Xyf3YlU3)>oOXE zueZ395qJGazV*Y(OL(GZ#21k^dGl~0^3wA5?^P_2Kg$d7FSvr=dGVltuj5Cp7xH>p zfe&MloPJ+uqRCcht&070Wk23wgY1X%_J6%D;ACdp_JPm8ZsUy#OBkCSJ^J3K`dOXP zRNf4z)_vk1Bke-XEg-)At!MFV=JzMQ#iO1W<;dXA&iJjk(*t4U_y)ep%(RNExcZ;W zK-B)9#*){J3)KH&7~|(ZDPw9_?El@1F8<1g-J0xp--pq!qPWMIK9+YG+o`GxR2>&1m&f7K6bXC~u)7=>Gjeey-%ANj1eaVO*TkYo3+QpH2K z*2w?s{#0gtzN%d@y7>FeGc#>c!! z`jzZtwIn|x+pK-vENgZR{88z8S-@|biI4P)OKbn|SxH{WczMYNhCen()$zeQqsI2y z-}-QVlb4x(nBUfV)%lA!z+W$GZm05W+n(Uo+T`JHeHBk}hmV2L;PJSVga!j^T}MNc zw~9cM9+{a)i(jFx`I}`AWoGq%7%Z{DUzG8(6Y2l`&EJVB9=r0Mot*rd;5`DvguQ9$Yi~BI* zVlTd#-~V5PU3b3F?~4nVFe-iZ7QNIGGiGQw2Z%*Fnisg5TwW#T^pTmMYzZO0qR4E)Sr#8#`M{$GZarH}Ui z5NOLaDlRHlK4|}32L5Y5-s2yJDY#~EVEVcK2@0@}=gVSS%g_FfKh^kI6{e^mH%LWRsYib=wGVoN17S<6%V_d%S?Xz8wYHW`!8>z}0v8x+O*H^urt;y>|BeQ(gt2DA;me#5Hd zfuB2Sl)+eb_eN$uPusq`sQGypf$I;|53>m4mp=!w&Rd^N(~k7L7UDAW-yXC)Vt-~* z&VkQUYxJhekNyf9!9(1PS0qoCl_~iJZ_=CdM)g;W^1NzEW47hLW=C6k*AH1q< z_--wc-t4~>{p$n1#l=bv>3J-x@to9{C`v~DL~BH<{4SV^G>!Z%<3aam69+Dqq+wcf z^{xQMZ;A|k%+a_#aN9o?s`^sC@edS7w$llS@xPM$5&d=vF-ecR*aP5dF8bkSN9uq6 z@nFO8V94W`#lBIdG}r6D%zpcLOM}J^3l9eUu4sFKRnL?lKA-sN?NbYCedRxv8UC*a z+RyGFEXo@8_}f?ePu+=(Z;N9-4B727^VUBv-(W6hZnf4hfqhnW<6C(B3@?%6ZAbdm z|6e5Q1;E%3KSkvAvZx)7Xz@{9ND4Js36x5m1_Y>c#kl|qOb`H3WW)ll-MFYZ46LgS zNx^WAbAWu@6W(?2W7ZMsfdZ4(%5$G4UY)a9XOx#&jB(F-Wa4ndnrzGwLnzMElb>rm zxMTfI`e05Tz2ELYiuUGk-vwfZid0RGq%n*vKCuOO;^a#jEk%dRRh%0^j5eki*HHrF zZp)o~VVIZ5>C9P1^!JNOv<^n_z-Fbouk1dR`0-;X!Nu`6BMPK9bFb9kriT*Mwom!{ zn6mq@I>G1sh_V=ynGU@oFKQDBQLp?XRST(_-(-`mp?3|WG$C@2Cp%(UD74%n>@_Hq z5$`dCOOa$#tGXh1q?479CGYNi{;aIiBfDySGd1sKeqgqwCzPH>&4oKzyz`rV_Cy7H zuAO1)@WXX7(DeLo0(+2Xlln6+5cpt8!l=|+NP8pyxJzoHYD*DSe>#Q1w#Eoj)9DJG@2!M^)x1^azNVLXg=wx253I1KA=Y1)#>h zW(r;sauTr`bQ;Mw)1vG#$8jrS?c+lRg1YORlu=NbHi?^+wE^gTE0A>L2RH75wE~r+Rj81Mr*E7?3KiWL+(lw2}Q~-KzZhvZo-)@ zxJs#tXD=+(nGqL$c6Ilfh$JzgxwZ&;54Xak-Z^91mc*fki$^e{L-MFFq^wr?ebfjSjN6? zMJn|ookZB)5iH;?Pv#pc>tXjzin7EiqTcyLZULaZ+w)@bqzkXHVWZ~Ef4_;%IW9yb zh28PX!tA0F)b4}Sm`x`iz#`nRx z*@E;mY5gGou`Xdq|HMENl%bA**EhpWaKJiADIeX+4sb-WA08Q5q`doVLht7Tgt-Dx zJ*6a`MQ*<_3GbXYs!06M&Z^_GE}b81V#yrKKu;{0D@GRz$i^>Y4pZC)T>iVf@569I z*hCm3g7rJ?AiMykNQB$A_wq#HE=B^Ic*!a~#ba&C_B{n*A+kadMtUIGo2aO#rSfci zR`JY}^(L6z601shl~1FKG+xL)Q`E5_RI}J-q?>uz8K*0jqdmu~!kDbqp)fAog8ysz z=Ak!jB$5IlyOFdbCEr)Q`7JIFwMhIvF={0$v_l?gZj?=7R(@Ajd3{ydAPb+$k!j&X zSi((G$kJ7tkJsU&ydB9VH|moxyLMbKLZ@f^`YSnG|O zl0P95nP;*KD*2ZLkNj1Fw`80CF0tc-yylb;j^()|WdAN=9(uc(f)~#_rt;5eNOvyH zJ;Sz1o|OyORbNia86f65c5yRMt*d#SWh}0Rp{b+&j@Tkl%QDeaBj*LeVCLo_ES#v3 z<{cm(YJ3NuBIZEZ{=sTh>}eGR18!4Z5-+)*&i5)-I$5oE%BRULD-KOxk>9-_>W4=s z5R3N5nf`sFT>Zh^wNp!3H9&>7+1{5cH%O|Lzv93S7Ent7G;4Qdb1P{_yd1J+Q@5L! zWKHb3jK&{tA|nyUO8t0GS(wmd>2Fb0!=cOui;na|zK?*3rwT;xyDPj{qQXU9Uu5oLZ!F$_H+mGS+iaNuu!dCy0X z2Q(u?z}*NSh!9UgW&U5{>2(CZA~X1bC7|?Lr2Jl>&=m&5odfwS z;hy_hdc8%dRCsX=8~>nH{*qR7f+<;eE@nTBINn{MDBn_-;~Ud35`IR>Xb`?-F_HEq zDIe_X&Ztg!t_1m8P6pEGJ;HPE)9)NDJRm=vUl-QoMblzp+OkOZ=Y0Kv+n%u*6dM-I zG;V}jLBSX;mN4p4%hdFI{RJ+`6J@n0i@8Yfs#cNzO z3UIAW`#1=}Qb6$Ey5PiU9k+L3S+PFV>PAAiidi#IM!bP(!pydnGZUU|*mK82^a6w= zNqB-zW`w>WH>}l3FoefkbB+O`@L)7mUegl2!-1!L_){P-*A)Bjs?v4Zq> zFlo|&!%Ot58-rZ?E}Sh$jY8;M{)X=F4mE$`^PA9o@OKBl;^vy*VdpO(J#g#(W%ZHY z_*C%01I}Md`mf>e!QUWy)M8e;!|~tyzQagi1_J&aF&+@Al_rB+foT$ey&_oq#;_zA zCV#Gx!Q;94gWksumge=p*`WpucGAbcOYlqgT=gNmqtKEiA6#uIc|O8#4nLn0CjXaB zA8#dmTDeP5TUa0qUwmB1A^mj%sHGk6ufR5Zhza(gBp~8Syu9AbkHm7clH#9qo5T60 zH17QhE=m!W?9+?oO~8h?cfDzOAw6wnEH5s;byeNyg7t9P$RwVmY2Fmj%>xowcyq%$ z$p`w>!?d3}J1!9K>9Vh{-ZyR)sqO+{Uq35mY)zhrDD!Q0W}l3S3V@zSIqV8RS8n<& z5N^HweK-Y+S0ms?1BaZjk#nfW?<;A_j;3W1IHvn_>Dn2&fV&Ox%emkK$N;p~pa7VE zE&=jwUK;!Q@?|&^Q?%{3H<8--&o3B5HFSjM$Q4l!UHW0^9`Ln^DJ%2t)Ws;}ob)ZTsG-6u;Oaa0Oyq-E;i_ryAgHtAIlvQE0gp zX0(3JipD?eII>{zQx=LL2;kLaS;s%irLrykq-onE$`hU+pV? zPEA*i+6Y03$wTBut3?V@H z#*s?op~1);_u_kCBf95Sq`g7APuuBPHj$!^%w-Qy9;CdqR?NPG1SA`tS)B%IrrhLDD(*Zf&$UQ<7U=P{T-wuXQcfcjGaF?kcxl@uGwf$`0NT) zc5wV7YJjBCMayQEjO?&pbqcQ+f=kHDRg}@h5*2l~Z$hc9d_bRJmmJQl)L$ zDW??CyD$(RCDy5AKLqoy0vcD;qzZ9(LfybUjl92kl>^jRI%`_9Y=tZ4>&bSfgO=_? z1wOSG3rVw_TrXh0Hb~RS0_SQzTAc5M_)P(4>w_XB!t?gh`vkb63VA#L#pyr5P*$PT zlA!R*9Lp1N+k__}MxDR;{z5OGNOr);gk{mL$sG?N@2UPe#xWAyR~4nhqWe}0L!rv& z-@%n^8=Iv)3sGmUeF5C#=K!mcl3w|!Nqau9*5`0OU`dt#9_a%AHdT?{dlKbFL7wAF zB++?4V2kPJjCuj0mDmD+Jc&hU?t}7E$V-9@H^&7sRW5v2_&WVv)m?5F>T%sc8~Pz* z*CPrNYMj9@fJ-%i^9)7y*AYZ8;*^Y8S>04#g(;bO0>g_0Ska^e(>EcP-sRY_{^(2Y z3+*@T82K;JXcYH%e>g2bwXP{~QPar~dVp*l5*NM;>`A5_;gSnWUuJcS9;(!Xe zzk#2V{gx7hwfaDjA{hI+aVroAg#;b^w~*|0ythX%R5LFAebDp3rXQkuLaX6BC95c+ z$@Yws-J=&DHUeX8BIFxn3)bgTM9Hh5QP+nql%MS|LGyG`!45nx zd?_fw^iH|@3A-dXbfHI*8Dk;XS}CHq#URHuzNk=WMuKvbv=+bp|9Hg@YSvlopR6ZRD(d^9@*LylG4b$PsHNLI+D32|3 zxvPjH8UY%OMkjpEa?Mf_oVFI&y9;JvetVZ|e)|KvtQ(=Gt)2j{{uAk7;m>)|ABnhz zSRL(;u1C=_KVmnj^_@0c2+AE(LX70lAP~4JXqR1!1nf;OI&u<=y2-a+)Cf}@LXq^Z z3k3el$71XYsMdeWzxf33b4N|bF1U?HbRZn-P=EaxG*@~h0ha*-+OT=@vY+6=;1kqs z+Mde-A8-XjEB&MQ`%%*#l@HMllgpHiQd3oD4h|kq&CZZ!e=l@s-tzRiF2`#VcrCvb zyO>uZz9%5AiiKA`HxqrHKRGdrjWb0$EK2i;Ux<0<$7wz_In)t-6Y9MY5BQO8;4tBT z$zcazQJfW2yZ;*IQns9y&kdLP|L)6Cnq<(2T;9YS!C70e2(;j!+I^uSq@fJ1S~qrJ zCaDPSgwes~opj-dfEAj%#%JmGUI7hIgp5h3LIcgl*Zj2+!k+{WHkZPw2-GV7*SZ2m%X3UBJ0001gA8YTnJLTxo)`(J0f>P@DEC@jB9%CW&w)-fn zx7}|fwC(+8ZPx8R#Fp;%x472rzEf;0?SE=Y+ui4dW3rA1H`-F#gXqGT)$N!pTx4`Q z0s}I_7#j#mNHPWoO50S{1_|4evY-GU5C8xJ07N4M1>aEaZgbm3Fh-J!@Q4DUG%ybW zkdm-PJb_+G`ash93EYpxJ?m|CUJ9xAbc;Isos(g>^sbvLrs-ANq3*hztO>@|N98ox zhb#Fdl05uYLhdl#iv3agZ{1|p9dhpqELzEkg;mgOrEUe*#QAKP2E-SEKTp`+n$Zff=;cytMD zj$T)mCBS~a6K>^^gBvoASIazeWvl+22s{+e!g~hyG6#^64aRUxqiBhVq{V&Z5CU)L z1imh@?o3<}Cc|x^N$5Fw@OWPa2m$uI^fao58?jLeSJQcyJ>%dQ_)kNS8V!>IuEOu z7bg9A(LKG7b}t@<4T(1{QYq+&d>zYe)%)sdFai4_s-3U4pSQxQ7fwqg(@Ht;&RwQD zU4V0y(z9KGnv2QmbRI>pY!cK zDT#lWvYw|a^`H$Oh!?9`4_k(HFPcF7my(U3^6Xw~TO&2E6uNcmn`i`lic^<+QRmSrVKIe3YGN10}ypW zDLdls;uS~~GJxHS;+tTb9^x60B4q9~e#(n*B3#nfX;kZ`zfU$&apjfx z-?iO$1;JoD+wVC!5J3$bK(Q2VJVmZG71?TrURZbFhw!DFka$cHO_=8X*YH%`xzP2S zICg?VXEcwj+R;9^?`vsy5DihiltCNXN_j#^D$VXXo8Ly9o1=Km4M0w(Z1#i`|AIf{ z)XD9Qp-hoMxT_gkO|*CHL@BOi$*}e9i`VFcoJ-h`f5BFetBIGhTP~)LO@TTI-DxqL zqs)rwekW|?azyAOn^!ko&X#9+(`>`H-NV~)XV|(klPge{IwIogkgU4A^uG0-??$i{ z$plFpoMNR=+#>f2d(iQIwO&MlpfeRjO>k(@D<6=aCSc0ju0M>U20Rueu(3`%?Tl>3 z4c&-~MB~*u4uzuS*6nw`n%LvSvYiwV+OJ>QiOiJ>Y8rEh{y6$2y`R4i5$1PO;& z-O}Z9>QYP>TWYxn$rc!(j^|X+sE63WyL2?Gy^FcJxVmQdsfyc^#>xj)isl@&jskh^ zhi3R=6X^>19L%f%J1KA2Yd7Alc1OL5J;&ARRcx|kj1Md%^*Nj@zpJE+-kcOY>F9|t zp0NRbO+hj9_8(5fx+s--#lGspaOss}&jCzOQq*s^!GP$a?SZtDOkOkfD)S->aJ?@q z=w5L(n;rr#+m+OxgRY-AF2WzB;IW?2h;%CZ6RSW0d9TkonB3f$3&M`@`$|^&`|#ye z8<#k#ET+lY?GHgaxcr!twW`X`=UcMA3r0f?AJKs6YGNz7?|pCi5`j9eB!1Q@-fK?B z=Thvw+*#0TeS*?kWncd9REHPps6Zsba=&KpOgeqU1dTPA??TQ-zd~^*lq5qp^Jbxx zsT1x&e#`oHZ5()!blv`&DmqK8M497}eBw+p&e)s(?h0fh}vDH`0wsWgq%yNcJCMl8Y8xgmyXg?pb!k7R9DT zQ2}vP95Dg;#MOcd$FQNd-2`XQlk}3K<+Y9Vn#+P5eFWFVFR&?-Bn-JkDvX|{gGkgX zsX;7}%*rO|u}c05w`1vdH;u}>{A109*4Rns##V2ZGK(mzfj(E_UpQkWNtyHAU{&QP znmtAaoS*lt38A3`g>nXCD@tax;MvQ@Cj@q1%Uf|%m+~=t)S_H4x||<3R2lmkqFl&o z{eJc$>IlcZI}dAdLA^Ikme9xcwl6QRw>Ura^qe>sq%}_WZre&ast2vMdIM@RL5}@u z4Ia+x@^NV){?yN}p!9`o@sYl2lYIG?0X&t@MxDR^76m1UvXKl$131B5BEENBzP^jU zD0yNt2Hqh&un;GL6{b3*^ew$|2%Ov=CZw0e*RFwJ>zYZcrMa1u`ImV!1CUdq$pmia z6S@9t8rvCR@zwhMnc25Z&Xer2HM9?~{50PI(IDPUU-a|RxVw~!+a!vL;3PwuaGXrf zO+--z3)*w=RI~!41$yu*IcYBs7Upc*xK3k8I~X$QT3Qcx)emzS2T&R7mE_NgqT0js4Z=q7CY zH2o){_TiM@%u*rf_3VIgzPZdg$w(t1TV~wyfYK&z`A4Fh zUXbQU6n~vhPlX?mx(p&UZQOmyt@mcghW7ObQ}XHovSzKn1;pSpu2L#LjBc*4z_F0@tEA)CgR!K z-;?T{C74|uYVJ_P0p*jV`qbo0X6-9$# z+Q<&eT2pAe35CX|72tv-OJy6z?VIVX%Wx&xj@*?LyF93~K? zVV;yn;8wOe?0(R2;QQK)KPDG1f7mVDpEhNA7+uvCVJJzlz<$TkPm+g=ES?SP<+c6< za64L$QWCt{5CO1-)%tM?uFYvS$Oa2V)L1o0&f*C$oC%}|MVT0oa*pm9T5!f?2-e@U zYw#!|+xZ@oQ_gcwA=T-Pl7>PMq(Li6BOjj}>vpIa$+Z8Sf6~N^9=S&-a1>T*hHO}J z^LUS90D1^nrLO^qbn|hr(48bBRFFq~dp0p(a>?JJu2uOBDy)*vK1jnAjkm@g6ZPu) z@T9Yp2ntRrO3bH?)K%~T>r5rqC zhlFj9b#SoN1g+7x%QD`b z?jbo+qip72g&r>y)m}n9wu0Q8rAb_rv@-` z{Ock|VvAwIT`}&NugpOetrmO0JdVQmb;lx#EXZ9dscNZiR&wtIQ+Az}Kfj9N?c_F` z_9P|g%8se$@1o5d&fKD!Z`9an+^;f6G zue2ruQuZ5Q5(=|7x{KSmwd|2$e;1RaFy5K49WIF^&KmD+z|?Me)V><+UHuEP?^tp+ zo-VCsp;9yMMPG^Eo^N|c0fZ6^u6d~W*v{cJk-!!h;bd^B- z=AR)L8DE#yuZQW>6?fq4D*MrLPkqMKEe$l$Wkn`MK+Z~zq$E&6hzqo#EFgtH zQUszSNv?XbbXFZA064bZ z!r+RElngtNdD*rP|HqIs5=u#l^~Y4#hgY8p{d*IXprB}HmsHr5CcMGBEr6gV(SmeY zmMO;hF&{6iI}vpV(8jd;(Y^f*%&$uXcmGnI$mD+j;-8UXjD}N%Ch;J^4@a6--03Ny zCcJGEmW3tQh+uVqfYitG@e=UaF#A>ykfCiBQhYqBrja?{o~WZW0eM|_0*VY%?O+$t z13TCdqT$PG6Loywws}?DA-;^7kq??mA4wu#B^bKIcy=c@VOZ^OOrU9jrKwo8&Z_1# zo^XyTH3*vidXE+~FnUE(fy`3&OOWqwL8UERUvz=k7hrRnAA$=Q3zppM8ug%&(MupxlOM5JBT>-9fbPNA1FGl&S!5C%Wdt z29B*Xo)RH8Q|fV}r5*9}p@sN&lgqPiQxb5VpABn--2gCIz1IYh9#!yQX*r?=>xfg_ zg?qwYzQ@Q?G>DVsVfcVILJO6;n<6q*eaucAr0$6fH!c zBUiNYL?(9cz2XBKNyn$0x)OLFMvcw~>7^H%C(zSx&hk1$OSi-2A@31rXqYyrQ3$V7OY_jmJ7d)xwbM~xuwi@b(&Xk zQ|EPTAbYROxV9Q@kujI&y7qC688qxVZdB+tEvG-iuxZcUCa3^3Z-Rg+DGz_jweTL_ zTnaYh*-&gf*L139hp{3;e!p_Eq}E=Ua5=KGOARmfHo&H}thom_cQn*6O-=20dd7S9 zLf@FJq*meNHLAEA6bqzE?l2&7%sdE(D|}IgkRDTf+~C-$${1?G72F&$K+j^xaP`cP z78Is(3TQ>%;{V936#sa_Q(G=tH=WzT>)3AJ{zFq~JaqgUpG;z)^G5@ZIJRVita4?N zP#^`B6`p_soQ~8OL8~~ua<_Gp3Moo%Iz`)vcDwewq@z(zgc}=sKSg(BP0D_*H$vOF zdgD5>Bq4&BYiySVw@57gt72SnXu^)q#O7Ao!R`j8OURQdgF&w^LR*#0Z9F$_kFL4t zxjI5RgSDb^$#U#Wo@eL>Y8R6YoIY**7F`jhdPqz5q!PB{^lR9}F~$M9lA$$B;nR1- zfs|_^9A2Rg6c?EaW^w_i9r&zP#wVaVb52%M?lLbO1VyGWFr*_OUtJw&V7H=7VJ2X@ zE_|wqzNJm4|14JSt$3r1cyu84tnM_H?9Bd1gU`niy&0D#c8%#IPx(=*iR*efb{9)P zvSC&~bg8;VtkvQY_iG%BtL(Vf5j*DQmw`4c4Q++uP6ANxuT=xiE_MZKPlpoQ2V}yS zg_uCCCmNrZ5DNg+0fK-JsFgpkMWLHX2BY_mF3b~MBH6&Kyp|o3Tp`g-edt9*P zAuzT+$6pWozW!A>pLhc0DReQJ@mPX_Z8=8}K*21zmn1qgiNvzQeBOG30(U1zgnxnQ zN(90REAhJ}eWW%_g~-SLiANdg`ibE7y-S{EN%P1>a=WrU;PO$ks$os?d~T^6PGvDq zxc@S8k~msk(}o4IUbhSsFP6zGw$5x|<^*PwmuC41W*iKXP&BGB29RTYU9&v}Gme>O}#bGZ-*4|eF9 zdrw2#7s?|$cq{GVFLSX!vdbFl_zCO6t6B;J=O(x7p@xWU2PaCas%o4$ej8JfiirCr zWX~zu<>ec!A{hyJUlWa+T>$QsiyPgrhKf@eONL5rv15jVT!`Dg*nhr*X8TX;*1Xk{ zF;&sd`DTk?z^0Dn7QDN-aw(T;r~J!+HfD=I?bLXCb)?n>swCRs3Tp@z&{MVXXc-pa z$(t6bQ|N{rcmulYIC+Rb$59N%|Ev+e>-b*;kW>Y{d!6s}>;>Rh$n^UxIR2dcWWEZq79~C&ccfls!>d z+1$9(T@X#G(#YL_HYQ3+Y1-X@l2V#TtK=ZMgT0BrRgvf@I`_;_M^??R2%V({XVQ@F zV{ujZhwgqFKz@z`4XDT^;ZoG3N!tVhBYAV9r9dL1Vr7_mhDrkfb~eMym9UJ95+G9$ zzKCu!j@Z#{Gfi{Kruk57R7T39^CMVlDn%2KR)`dW@*E-H+p+kG&Ar0QHeb@TVrJw^-H zRmeB_;8)Xwbc-g?Oi=2r5rJ+>2AloKTx!wRt}n9~1CDuP15g8R;LD{qEggwqh3cKP z=A``24o~lnmZ)~Vh9)1tv!<%V-d(iy2|2Fe0^Kr?m1Q%ENu5*W6sJGMUvE1#V$h<5 z?75t}x@9a$^)i1M+|p3mAg3qIxMXS>53;VqNw(bF=7Y1WyV7gU96|kS8e5c%A_KF= zS%w@bu5kCY^zeD!v;#IX=^wu%76n_A+bR4Kuv@{tii) zeUGL%lC}Su6y5Xa))AG1&vv!)x|;I=CObMey~_;RaYKxd+^pEIMh4zPpeSCj@jCQQ zwGu1%MmK+@PsxyM{K#dh=$V=#?;3-CZ@Q+1vjVX|!!eNjA)DZn!JwCFQP+64PCE*8 zA}mwVZlX0%;LOggzGiZM4!%-zS*2yr)!m+T4Z7kZd-=N!u{%)YcKW%`d$VP+jY7lZ zP3RqzS+R+Vl~ zv8^1U#@6Y#TyX^33_UoLoN$(Tn}O^}id}6uC|TrsLBuICi~ z7bo_+Gtw-R`z~^VMije{imgiSzBOY<_eDHm@9I8g+}naYje{lCpt9bY)8fIKr^e7F z%;-q(^zQn@2_ffqpKV&EFUwT9@2D%ByKfeGM48Jwo;lCC;O)BB$gQfKUYceNbc-bN zr9Gq9N1??p@e980S`RpSp0-BeZjwf$HIP7dC~ek@@Xh1uvFTF+GBMsu_z>JHQyT z6|=3p2Ci8JELB%%n+w0snXu^1`sEfmhNln8z2-eRwj`R4F8r83fjoeAb@lRCIQQg* zU0SJIZ@65+$J-UvZ=g9aMV;Xs8q}BNyc$0Gez%T~Db9~DWeid2b*P%`9IP7fMD*rp zm+P~T@$Sh05v1d1UJ$0Dm$hm~{Fy*U@di~VH%BdGMw2iYioL6~@;K)`pX+j-@m%!S zUNig|oTnC)JM8^A@0&jx%GGmg6tzWdRO;TLdB>2CV>D=7@4OCzc2BDqL@s5LHfZ1I z3f79zBz&BZ@F#i(yMr7Tk`!FnvSl^caWzEjVBY(uw$xsJmnH0kru8XDwsTa?Kar;y zq(d6I>(tf9i|(6PPf3Ao@@32O+Tg;YG&3^W@0-RVv{9buYxR}l_4t@O74kHcdnFCj z#fMc>+`5x<2hXJV$|o`#lpP!+EmfX;xHIO3p}5?qh0%R!)EMsgVO2I)vxg`AknV>( zzK63bJtgv)jq|4ZzWin{G)mMkM|{a5MF#>!{uki+wHgklc@5!M z3`4i=&~4f(@Deyfh$|09VO7Q)M!bav_#}9i{)A&cX8BZZD5`=V}xq2ck zfjAV4Z23QrKEyf`m$Y6tn&0yA=)G4}5UQv=YekRDc${#JNRjd!D*N=d#U{ITww&|>!$vTyw9oKjVcQB^F64#yD>8v3JT; zLcDw}*9AkLbZ>R(+{6IL-d^O=f;kkeH@KOM8@cmDRC3oONDx~xZ?!WJ(e>{~G%{l< z?Z{0K#yYEGQ?D(`p!s2q&8y)zbth-8W^b%#9t@#RFS>UM&co4m^_R(dkm}gEjI8n# zhQq7afDiE(lgH$#XkB=&23~(8OT(qjuj%t+TfOs?l_)Lr$gF&gx<>yWXWzDEDF*q~ zZdKJ2hw-#~uRHRsGXx}^U8?~QLyX=! zG0VJ@hx5y2R6I8`IG@ZkN$;LM8`^m>!Jd!Z<%u4Jj-<-S4Na62{51BTh0|cdO7eaCu5&_)~K-nS!^_nkt*sQM+q9t{s%YBG1*P zw+OpZj^9|-3w48}A-R-P9WrNL8U^h}5}4xM)uHA~P zg25IrbEbphH4-YEIql#8Gj=sM`kc9zh!fGfIYQ*Lqk`Pxko1{SB0W15dZ;Fu2DH3M zwiRdt0w#pE+@jJ*SjqxoK$Vt3Rn=EsFB%wp12GZA}4O)u8 zRNNsgm%dMVE7Q$BQjWK}gVeh@bn2_KxL7O`O*kwv<^vj#wiFDky;c!ORA+aFy&#-I z(rEU8O?46jcW++!|7Iu3zPpqTnK)jx5p;HLDYf{OZtYh(@ z*%fdXZJj=O4OGiiqS1>U6DV-CCuR>$u7)6@A(A1WL$MuaH?zY8RqNMvadK&rmZk}1 zQGn6obHVPQlZ%OojicD<7a9cFDf-3DP=dn-D_+4|KXt{0V--ak$bKMX z!W8w3&*?qViQFj0w_Ngc)9X}_t1_MJq^m~FPRp6>Lp5MBPP)9>j-Af4v8@d~5AaND zXPZlgCNofNMeq6Xxtuw(1J2oDm}c{>03={E8N3Ory-!!I?s7UgEDKKFWOUGWPGoWh zcdX(~1i~_es$X#S4Rpf<7na2JkXEzY3s1sk2oSBci9vu08!Y%39Sj;l)fN-^Ua8e+ z+QVgzW-pe)9HT|sb`jgUacEPW>pCLd9GB09nun*)AdkNyPl7iJqem`trnp$Q(dBss zN>gOz)yFZj9W`BK?(InTDddWBeTqw}5iS&Zo8aY%9NL)jv<0dF}ekT{x2&gg| zDQ4pAY>(gCf%DLi1il6P;1kaRD%R>fgx4yr0v?5d2BSQmqReS)Ox=*It^xR}(el@+ zcmea%$TtL_BwH9uPCX1Si1Uq*k`s-erJ>1e&h(W*1XH@jB9UMqT&{+MMl zsv``9o^WY~QD02mt%yWKvW4*J*DV;vw})DJ!lgx5`L^wMsPK+HpF6{r(j&i zAV$rouM?z&qV9L=8lmz9K)}C*=pD(ZI`JL_5z1<*Ii{g&zBI@S+S}`|UCCVFwpQe5 z014uKRIIDHkSHNKZ#OdTj`>|hv)y^%T83ENQz7|G*ykczSAO>x+B4gZMH@^jD)x@q z01L_woKuM%UT&?)$^GbO$1 z1>wg3wdl~3+)^}XE3jx@@a6Lf5ozRh@6YNN>h||<>R5>8F6HfFtv?W*idcFRU`4<7 zG2WDj?c+krL}sWOTj{_=(Q*A^0#OsLLu|S9YbQp~542Dtkzu)9u%v7uz=&*%T*JGCMhNdeAbh!>A?4N1 z0;}lM7rsXgvP7XHsf|}d5>r5PmiNKco-t!#LIn2K9bUVcbL75wMu|i`0tE@a2EBjv zNP~uI+7T((AE$iV@J-y$elv9kL#?rB!h3{90AdiQ{BB^0svF2n$x}g_LT}p zc#P;-JH#&I)_6O^H@~BzKkmgtyLX|SeN0la6H;p9BObHt%+KW|YuSO}?4r2K|1ckn zpwCe+UnH12>~-~ijoGz6(|a6mw!ZWG=vpg}+sw!P>In#0z2kpa?l83gDL~f0Sj(K$ z%70f_Wx1Z zKv6k4{!u4jXT2a&(8U(_qUkUsd;@M5_Mi_4#m|% z1=r5TZ}ro;bfmW+B{% zQX}Si!f_vK3#l|`y#?KFAAp0Dxy~@{6`6ysa?;}~^?5xnDW}8M=I31vrzH22^n%6| zkPLRv@UC0^U7_WvJ^Lt4ip9~){ zI)^@=qefsB9;NvbRWs9+=LjNm%5tLlL=~ThX!4JiL=!!eLKCU<%o}=w?oATq1L)qr zD3^BBQNe&v9QBq<8Rj{Tj@jC65~uf!35Mo*zOfUDu@uymF9kiXl|9Mdoh-5&K1$*> zezI%`S;$xOb~TAglkvmYE=&jdf>1@uTK%czWIIc*E5#r|$BPs5WKwS2TRz50ZhUT_ zp1L*`$2r^yd|dWp(30^vt`wM3Y-zE%wZi@MS4+!XJAjee|^!8ftrW7n4K;}CcWq$1G(PBYjiSS9gT!`eKY_*I=Y z4C6wBv8Q7@!cmcN@aFWv47m+SV54cixuZ3@ZgKQ0y$&G^Gx+nEQ%wElc@Ab-3QG?37zDinKJ>*vh)Q}OGIhrQLjolwy zAsj+a5oOLw}}u^F*yqC8{00B-MB(dn(#qC5C53Onfd>DlI1|s3R)zo z?=Gx@&-u`EgsR&w^m577eWFJ_&xzW6k-ph!q-#Zni^}!pKBpUMp1W1f z*w_X?@F$#8TKYagD%7?8de%%IYJMc_&zC<{4y4nU2g*n;pF!nU*8b=bb?f8zHv^(ke$rT^?lstSi`16~G+B`+!w<1T+c>9UEtjEr<73a5}3Kj^{lTEX)^AqD0J1F*e zY|6{lYo^(n%q@w2f-Kpe8=GF!_j;L9SViGvbC49^cbcgPxV?%sZ9=s53X;&HR|WFa z6{`-@;o;w@sjCOzXa9H9mX}!#eb@5P0H7Ha@$v7Ae|aXTdd3RU;9rCwNs-3AEQpar zp)i1*@B(;EbpY2Q1!&h_1!;V4#20!*;B}tBW)PKX_;1$K*H?Zp4opYT%d6KH`VWO+ zU@yE~Q!gQg1Ku*&QeO2!r0;X}pg;Ri&)Tk%$3tH9-^o@!yl`(=g;Vnry?~p0nDU{| zi>v;!-*HyG#MVlEv#+nWO`aA1@&6WGn7;WM0%W@4yxtpgRPOHA!9vRFp+353m6t#@ zKzWDQ9?@5V)XjXpiM%uRvX_493BYz7x{q!zb<0%5l7|1??b=-BJf#eCvKn4@k0if|`A9ijnXFc_kefIE>La>o#9}B6zth$6Df%Fnj2%BoA*NgWvIJ4@5*Fuk^J(awwrF zzJ(1Z?r2zj5;#L2*{4@t7Rj=}0AEDxix}27Fbiwp$i>Nf5Uvq<=p8RK;vTeO^T0t_ z5!j~{cNOaebIE=7Abr{@{&7_cyD|zml2uzV@^1q2b8XsZJDd4+4{xV{_Yhl6;2p*t zvV$D)x80E#fJyw~2ut5XFc8U)6Sbuxs@IU$z`?i>WYNVT3L*pGwTa&yLc}|_Y-^XB zzJpC!I|j1dQ4dx`RHP%2OFZOPKFx&yl3fb`b>PM4(BwQ}j8*7|8H>i^mcDHW;kmO4 zZBAjj=Do`HkXd{`Y+gaE3yD_FTmKeoPY%?@2>l4|0yDU6X(ih;wtydB^&!&fnAu=( z*Ws9kY{|sVGE*t?m{X|mOQ6tnQQvDy|L6ML7N$vGL?GO*c7<(buV$xn3%hS*`P7&drRu8 zXMyl5bgy^Y-@ZIS^ZNIV$2Y zy{e^v8|7d4+&}g{07~8`G|LuT1+FUrts0U*kdz}}0E$v6txRpfTugv`+5M6pMu?K;4 zAbwYW|Isd=k42T4dGlZoeJt>3SKl6S5n5vTUnuUcTK`}AmR;-etIz&M%AQMK9VybhmJ56Zw|7>vYtia^X=Zj_<%J7u`6so2uV#41Pp8uI!J%vmmi2|EsTAQu&c1PF?;@+~qs2c4< z+!Fy`S>ETfddtNF6~gda5laSK35PWMps5k_fk72~UVZaLOeeB%m`kxs!9WEPEZCae zydu4CZ!Eqm@0UZuPq4z9=peG=v^Y2S1JbXL0B zIX~BAUta=Q@p7T4^IkR29UP?(TiK=|aUsxGsh`Caqz6_+Qw%vk5pTD9dzD4N_Jx|E zm6<%%mF0^;HS+%bJgp67Qc%9ua&Bc@%VV;wY-(Zm$CEaypKG^n>6YcvZhu77aB=M-*^Vir4JfK1Q#L8N<9dj2;(NC=gC{0?aBSD-@*hsF zpSlI{2a*%=i@nS}L3bnddaNiKxJV2}o@{I3f|fqFQ30?W@}3q!X?!ct%G6w$nsjqK zt_n{e)}E3WJFI{IvvQuzLA7TP#rN){*?Yi4YYQ7Qv?HzW99F)WHyM$EQxr^fe#v2lt)k@=knVk2i2COG@>_HDJ&^+M;g23cR4d?8lfc=G5d#Vay=n1A{1b zJu^z&DVq9db7jcfDt;$xdfh8+#awU&af|RSoJz@EfUFh;BkY3J#{cD3&}@g+mXu1a z7a%&qlosN6czUm#NeuT%eUIKF?73)UKG1g*#N@X3`}>j?Uh2^2g3q;W->tBE_eFK@ z!rb)~b=q?r3f^gBt|vLDKG!+0)E%QuswU203pr=(2+^e@IY5~gY?m}McE0ej$Ow~GaQb*2a(vdo^)lW z&}0eq>E3HhqJj>uSTlh{?}6o)$ndPlJbUOttC3FdI@L-IcB}{?a-vfzk>*pqr(`+` zXbsj@;_=*Z)n(eLoz>68T?oa2&jN)*8raF#R$>>dAA{1+$Me_SCi^~IlGwWu(`eay z{Rqs;_M};Pg4CjdXQ+O}-4nuby9Dvr!-3iHar)o`VEw&qzqR}dY?OUQcr~@ z#nq`1$Q?vA2vc%~B4*rxiqDsbBI}iEfG7S2rbA#!T$BB1S5j<0snYDyY7c{j8Q@8Q|`hU-C>dZaho6ojWW9?H>y3EmXTg!FBv zR^CrIR0A}mJFD~BSXa1&y!W=2ogBjX(o#+$n`p-j0@Z z?aIPu@8rHZr^IGxALdI{6Fb4L$(GhQ<;$BSQ%ML9Od=x}bLf@Q;qmfEy-3wG!(si- z&E3l#Uoq;V!XRadYn3i^VhwP9m zA)i5OGIlw|gnYuDCZ92s;Y~a|71(Xr1{Y$Y=>@6Wb^0poVcK@2x&^#OaI9bjWBWw^ zJ4&lC^pT779CQeXuxP>iy&ESTWgG3uQ_k0AhPkEF_ppw-G@4(4UV)l-F(FS*hy6(P{RYysa0wf1uNc(Q>Q9au-1HQYCBQuUPC zcHW6lHgSF--B;^MqhzBP9SDX`cK9s&s8VKCgC+pUd%i%FR=A%pc9+@^ZRk5)1C|P& zURY|?Y|Bqus1SaL{34RTEaaC*+9rZlbbj32)gI07Q1;vglMjx2FG}@XF}J!CP5}}H zY2lpR7l`z^5=Cr!HZ`Yai8@PoL%a6F5Cc@G0y_e?KJxFq_7CLYu8C_B=+lOdhY_$+ zROD795oVZpjk3@<91J`qSAc^kBXvo+8MWNry@Ttw$Nv*K8dcru`u|9zWtYsNf)Ji- zX2~bODx{3Z;fSwtMj|X$eLNzwH6jP6mZ{RwI=bPuW7vUq5B=k$)Dn^~Wr_XqQsiFy zsq>4)X~eRqH|33W=k^d!&=fsd!bNC&ZXQ!-n7!EGEMB1-0r52$CxexX(TX1VcOA{V z9p0}G;_o6Qw6uMy>KA?ON^KaPV~0X2YTxB;cJ4SGL1XOnKz|(vVMaK}#%`Svgb1R# zuJdwm8y6G*|HH+U-9^l0 zaAThHt~stT)}VnI7zfZil_~|@O4{l%M0`M$^Zh3nG{m^1a*vLZx5*qux@wrPImH@a zb|wWdp?7-;T#jnsBP02ky4AB%Vkk*l`SM~rouMC^SR>Dk_a9)c(@mwL%XBRqt&V$? z$3k)wR5=_|KKIX-rybTN6R?qP8pu^>FSP+=kh#?2VQ;petExK$0F(A{47F7~yJ0P1 zv=t67*>{e3MYhq^H5qETKN4m9HU{{2N9$iq?ZdkA>m%MGBSOhqJ0H$78|yV5a~nbP z3qmB|jGf`A^0@-1etR+=SY%gjl4dflF6dR2QO1E|I#a)cg;M0blaz#if#r&#?!Yo!Qs+rRzq7Rv z1eWfRjoJ7w#=VK&70`kAGRyG~DDFoGhQlPV%7IA@Mgu48=n_(DR)4buZs;1LRqu64 zJ@Y^vDG>!`h8xL*ard&ArVIp3S}O=1Q%{?Z4TvpMDI1gY%J?e2RF!m=H-!dvU$?rF zK22P1!>8Sp6Ohf+DGAN(;aFIPv- z-0p{&_G(p~oz$^jw}V+ElUadvl`~G3>B$NAo_a1%cc;FX_NUKedl0A#*zfp-fb*l9 zmmHfpmoNsA z+A^iSECmLxrJ(?n=C{XA(SgoJ>&R(0&Pfx|ukO59n!+gIb^I;uA~^Rg9k;WoAmZ?p z{5|dTY3_>w_86v&cGI4SbdzDb$*@N(HvppEm<$7rFj?D)_8VSdhQ<9%%o&2|%JslN zJ1)qyZwaux${B|ninO%<#(dlHm45UlhL1rz$dFR&VwY$Tf?cjHJB&laFx1?~ppiG< zkLLNu!>LS3N_JI4+I!^&-@Ci@z`YT2$9Q8aL=TSUk<#39ThrvTwRSu3a%z?``iifm zkV)4dD-gep7nPRcJmlXXZ?nI-M_AHQQ>#y1`NhdCHxY+qKu^#vNB|#Nl4^hFtqwi8 zXTHFU5p70j`K5^tWAbQRzo=qts0+k*Ul+#jlid9aq;l{-*=sveKyI|e8@C)Pcv?c9@<-S5oI0GL8M`I#8j z%*>HTy=0{ueTodRi9VV6g`!%Z6MZ7T4fMO)w&=bruZDEKXmG>MW}s9LAJ&_m27rJhb9;Q|`>2j|{1f4^-tM8aQ)3PChE3VE z&`q27dEODUPosRj7RkJ8a%%N&!df!MQOt3?-7*lSF%BADY4HkU{K5XaCWA9TBjW^EYtqot=hO$Jfc*%9zSfvku z;Zv=nG|M|O=TVOS%~4H^`gj>ivdv%Ylg~f(r<}QFztNEQ_uSs0K}a1o zZ{=Cj>7V_&4Y(Rt-S7Dh$=$Jy^_%xcF!ek>a&QQUV#@|w*ZZF^43oXlJp27m1>3J; zIp6oOWVD9Aa&ef@XD`=2{#Ly~>&xpG&!v2j$!gYXeJk)kjzZtN+}J<_GBTX5ru_3g za}s~eA?IJwFQO($TmKw}KIrnl*_UPN=y`_zMi~s4Ajx%>f037YLH}x<_sF6n2bI=yLGYh!)40*_x z=P)(kw`|#lr_MIW@j1BxBJ1)a4G?Xb`i}>Uhx#frqtDJwe-G(dPnkFyH8-|u+DDP` zOQ&=CzD_cn+Op#~-=#Y?&tzl_8}Z1;K04Y4%r6&AJ;?qxFq4mUBKm~-@N2Ue`!DX- zg9V}X51#hm{c4;ee;XU7(np~0=o+={J+z*^qx$1mJ|A-h|A$he4b7u7`n}|zYyZj!q;pN@>VEbr&Q|-CFv+mY1zxBUc?d7nuHePM1b}sVZ6Z=mS zPKxn&e`khir()~mU%z_3aB1VZ1FIWj+8>Ny_fAbD4t+E+2&unvs!uG<4sRnDUY)K-2-_a)+0{7`1{>)D_7V33PWo7U&MW+&#k?;M8pIh*o$>_6NMe)gXkitW&hJv(#b*bMM}rz<&! zF*TJn#J4*V#^#^KLusjGGJbTFp=rakcNTNpamk;(Lib-A+1kT@`yCp`)Bm86*6}lA z=qw!w3?Ho((@X%wnrr^0f8`M2DVg(p;YTcv*?j*NVB%ctf9Wl{Jz>8GVd0i-QrB|- zrM?kk=S#Ga+`q8F?)w>@*Iwd&Xr|xPY~9|owr0Zz9GkP5FfrV+X#$n?93TBlB-nG! zp2NHUI|MPA$#{QLVCZ@ty`M6{O1Ra&{+%tFE@@cy8^f4?O@53g?cdG-W73PDN1cFr z*vReUfPGfE()h8th34&_@pC;j!RyDN(A3|Y=!cpaew+jCRT2B&4ULV{w&6!61s5%u zU(o<%a?$m#G-TaBslF_cYyq%~TBS0e`XK=0=|1jzf)) z86?>qKe29*H)_-92{4!byiJqYeWGjsNv0GYdM(0QOYBQ^wuD4V91EAMo?nw>wJN!wWMHJTe2f8;sro zPPSIqC>!yM!Har|gBw(Ty`~#KI6&~Y)zpsl8RB@;8Re_19Z z^mZ~r$Fx7(Mz}X;o}JzsTS}4UIGh723nkPTllOQ(v_|*q!G1 z=wOY>v3VKlJSTJd>h7@^{sY$p1a`rwo_y-R#kG`&k`C zg~vHJ_cUe(zy9~u5yy>Bm4)mfx;x4eWVtiGuiw5Y6dWV?_=Y{m}g^u7U%kr zo74?J@RDE56k&xw^f}J~+%;iY9rJwR&2#@){B6i>oAJcgXIAKa-;)iJKg|X|0jJ3O zixzv&5v@Ob$(v;J`L6ZSu zdz>7TURVE1j(P3>BHc>{?)lWX=-9m$+Yf5^K2y1R?b_CdUAANMUvoR`Z5c~^xc|n4 z;Llz+1s{H8hyKx514e%4R?Td3Sr!uN9$oyuj_ow|AI$&~i!}f}j3TdU z`A{C7Ik>7u!dFy`!-{mq=HW|AZYt)Dxz0m1*h>mt6=9nLGlbwgl3Q7w-+o#Iu_153 z9><_HMq2V`Nzov^#p27Xk-dQ4{aw6hasl8aSU4H|2R^Sa0g5$^{z;|k)KQ_T%Zwck zJbfqYqT)!{k~o;F4%%9zZ(@$Sk-MwP3A)VDWV&hYXVmRr^$2PS zFeX}1T6Z12$uPRjn8hE|f}TN&?EXKE&8Bmt$V0+UQ&~vfhzh{Or{WR`HJ68-4ug`G z&SN)*CT3N21WkopDsqJ+Z$R7y8*YY2Tym;ds>|cvX*7h&}3tcGM75Uc-I09 zhV5J8jo6}UVHafKRR!$RL1>_n}MJ91cquTkbGEpD76#@%}6oL|c zOx4WmP@>+N-ji}P*!-AsT(mmeE$f;}{-gmIa@FYX1@uQ!D#bS=+MwFB2)ng~HB?a( z`-Tv#5tZj$Oa9>3rM791SY&rg)||oyh1=*ZK(x!LW4RYo+dPs8Y?sK@7vzfIP^c9T zS`G&Td>Q?a2IqEHfMo7}kq7j$6Z~;NgPJTciEmAWrplnFQAQecXjQ^bzUBydwXZ1v)b<=+AkDLf&3m^#u+p8(_cijhGh;8 zm;!#=A=Tl}Amx8xHN>OhxE-2pc7Czf+%q**HT3Wq%kic~6Y&)xuWtaUqO;X%w_K$v zMxSFw!BAyV>K-l^GlGeKYCTY&07$s2Rso6WKN>b9egh`t&dr@Pb-MaG%5-yTaNe~Wys4I=^X(imuXeE@%ek>_!rCy=fY{P0kH)(x z0F?!1q~LVb`bQPB1Se32A{h;tL?ZP5a7T7qVhsz~F@q$oB$A^T&iNM=XR8jihGz5U zIlRwhT)Z>DqwbM0g)2&Mq+Do=_U?}{E?G=NomM5@>SXb@Au|=NGkPtVAsdmN!2(=| za|izoZ+wn+sClM|m@g!vR2g()o#Yh&iqmveB_jV|5Pg(n#3Y9Kq7WHL=KsH6yND{c z4W7K64rh%HCT+OGS^wjs)wlJn5U@TPDAmp0J%yBP!EqSuvT?VKsJ`6*Ex>^v+CF!3 zv?(o`tsawprl`!De2mMbC7NV# zAqpd%lZ!1BVHuVGSfvG=`5&K^ZQhV}ZTrEjy$Uu51|}F>qDt0&xmWDt<#qqV``A~r z-l^bpE0U>uHk&kyHYKdAuarMjs8M%UjiNO+LU&-5Iy=2V731z%$!=?@CmYz~ zUd(R3gO7X0MAiQp$Hl)hsgQjM6j9B5R;In9g5|~)w(d8^-8_Wy90#jq&AP>1Yx?x0 zXC`IRF=#i~hMqJqtq5@IdM}pSTI2+pcQ5AwGD354dk*eA5p7uCB*^r#KfVX|pY5z7 ziSQr0YQt!ImnxBJDOrlS3}S3cOYjG%n3a%C9JgzLr&-k2Vh7y(1~}1zk&Ftu0PVT@l>@VBS^)Y)rs9 zi<5Du-o<`pAni2|JDpHN3B@p+NTwC_Hc1o{bn25c90&=nL_vok;OcP}N8^qlr($f| zus>%D;-_9757VJ;F*SqY2qHord(6`XpgBnlh3}(}#mhA77eJeaS|VI^tfo`~%yq&| zNBiLM)6gaoRNa65@W;_xD_n!OZZe6qbubYr&^X`8IF7ZCmQojmnpAhpXmV+SUoo_Cz zANww27kfN`Z29^?1#-$arjvA9WnOxpW&Vfa^xP{^;7L452i>kiUGj;V=HGuswL%?Y));ZPZd9^!R%n_S*GL%elp$8R(HaD|bCgfa58k3wl+aS$-8+GVbpU3eKErYi%IdSrZbEDpwQL9=I#jpbna! zRT}L*sqZ06OiiC#12y3O_qpuH)*SLyNyyuf{cwv)P`6Q}pF9pMQio@*d7~e|Xb7oh9vmZS<2mkZdzfFk2(cEv8)T-)urZ{0dAIDl3?$B(`?&ckOA!L&2|=EADwuym-G|F9U9m!OR}qy^a6P3w!4AFV zo)s!x?yEY^-b|@WI+DVL$L*l?Z@qp#jZfm#l40`>F89yJD8xUDtp@F?i0!PD7T8xf zXS-vvNK5-_Y-%(`9Qmmc{pPnp$5@Qa0bymFcr0;Q^7-H^)e(o~O8S73&+|&IiaV5J z$G5E1R_S`TF1}C(W+w%fw0C4k)pMjF65QsRSZFSzK%npPM9gc5>YP0!Jk`p&xHARv zV-_-swN{%>npLT2>F<6wh9%mXt_rI_ z3x@6FCS$Q`+MKcSsHoO82={W0lm#wH&oK;h{X2v0!*tzGKGeaIz*6a!3R?2QUwzWA zT9cz#GTZVhSFoI+9k#rx(V<;6fF0g?hO?2yi&D>0vI*6cTPUXo#&d+Jw!EvvhDu0U zld5$~a2|;$G(p2!>ICd6SQ#{B4ekb0Qfa0Px0jw^NZxIAuISxCltU{~!`3YbK(7%% z$56_nQ(ad?6HRKt2LKl+>hn@_!CuB?Lb$bBdKe9&in7vVU?YroK)z-TNl*?|kjM&p z|6lfsQ;yuODf^OP@G2!*X7IJp=qXWN#SW!`WDST}K7H^QpjLF(TlhI?+JpeKBU2&R z0G#lW!C;H~p0f0xJfq4f5W}!aDz|HXVcV!e}T%O~t%{#Hz_<1&|g_JBe=zwiZ>)qpLFPRr!(ESFXl z#9(hmXHH$H30^KfT12mg5L6xGl+qWX=R73lCe0v1-qRx{xFHRmaVQl zf#cF;K_Yi0@%lZMwK+9%orSi?pZ*pE;!+q|$Roj9Q&JSu3OnlEKvLEg#ViK|YP7p3 z7RccHG<0R;d`)YTMz&(ZH>wOzC-+Jwvrs&xA4uI~FmHz|1c@$@NzaYT7^qvXEmtU! z*(PFI+1Muqnf=XN)308 zVx4j&T`$?u7y-M6CJ35iDM|& zSviuJQHU1c?T~g)B2}!(^w#S~{-rJszDO&xopMbQ0iT2gBDp!MUl1dXot^#=&+i}moe99G#dQVfPvVZ(0x^& z)W|Ai0vTmo=8h*C_4Z~1Xm-nPC01oF?`tCFDw9cnv>(_wOB(#f1Q5q`>(`9&)U~5`lw<=$1pM0u>S2?fj<@h1b5Gbr z8E#DY8{##euuq*DOiAX|hk`$8E&j`uSK1ZfJPH$92a_wPAHmuGyLrsSEO6pnL0|#N zMq|Z7y~s}eR=Ps|E5`)pwsPgg96i3yg}=|ZGPCW_-}X@av~RrSg32hmG4CsKwO@!_i_>^CqtfT5@)GguGK`3ojP+4@`Zhw`0n>fuO;llzX9Dc=C9q%buz%b9FFzp%6s=(OJAz8?9B2R1#V_hm3}=t6e3u} z?igWPY;)xe(fwX@BL1(W-kBzHwgOc#hTAjBWj1f-zSFE$MeAL?J&SS76^LA65EeF@ zm)-A8yA-~X=#$1)c9yN*&kR%=mR6f!XeU zjCS)3&6tNfaS5eW_P}Ch)p?7ct+fLW zJA3sww0&8*KLM0rshNzGb}|1>JiVzuk>c8a=0ySsLYyqYyqOR2yEY@c@169YrV(&e z5DBKC-SJ(Ft8ot0buE%2~s@`)vZlC_*{lxap?QoR`u*s z0=MBu59V4|2p{VGLj$!E>N=hlJokijmZFOFa9GqQReUn8M{}#hUM9|VtEYGH!dnSW z`Z)yUt8>4omE{qFGy|IZiz9n~k+v5e1z=m%Ww`g2c=aYo_P8iDQb z*ygbdoZXHnPmE-#%3iA209QR+G>!TBp2!XH$8=}NRf?eP)+uH|h|i7(!4?C8l0F9D zYvs$(uMg_$e7VxC(_#m$+Qmc7Lt$a0s#%O@`nabt4cn=cq1| z6W?7^C*5?GZS%(_RyoBGy;gY!6xXYV&)WOKg*qsoqO)rPq(eIq@ zyC=QS-|aXS%)SvT_~paoeC`PKd%DnjH$%NjeUf?Zpm?kcHhqc#l^W$QFAy+G{VFxc z-8mP&ck7qOD~aDRcEsmHu>vl9vAnzIjs>P%KkUuH@6#4ejp11Pu??i6Rl|pjC~dGD z9-F(sk{A-=1TnhgEtca2EaL8P!r#4#8R#3dKW~RKRDZ7f^MqH^vH^G8V)yk+F9221 z@3l3`FNGbm2ekn%K6+X9pSdtIcmW-o7Qh`cOX<`VIwHb}e*FUZE#&$0`!R9RH=23TiAG9rFhbtK(_k#y$8Me_cl0>%a6n+c}TTK-PF)_AbAiW5M4@wu6T(5V{yE zd9Mf|oU>j4H|Vy30zAL)M6?E^4W|mXq|eqq4qM9I0N^rRXvLwu6RP^eYNz%$^s?&R z@G{Fn5xJ3`dUbvKE_%urh1DeA;N+@az9_x-;E_iC{6tow*gXLtQ=>{RaseJVAJOoT z9#K_S_?xn4wAy20#~u5L5=K*Rwk1FJn6>c8%8L|!WEPo|?MRlul6Q9+zqHXUy&U;X zJF_e>eQ=NLybQ?a`l{#3C*$?o9^;9~Ui$Tl?K#k4*5ruClU{WD1C9PXR+~Z5kw}$O z5fq6zae|`#ZhjIa*K5pE7UlO0wiGOGD$Lpbv_fmYXAvdw`pHy3^M_FHHDh<7p469! zVDk<=jxFaPd-#0;3GVCy6RGk1;hL2{598)eA2T?}K<`PXB+CpUC?$QaNh%oX)$LSqws5jcJahexgO^EuEAf=K~$l z9pW|S!e8%FcS`;AN$iA4IR9%Pz%qFXe)u&s!X>0d3C$-Bwh<8_obek@bu!Cy)hC^r zuaJ9*_pFuR*&7A5#bN3(3R}#%HtTI_IWtu;7b(hr4`{X1O1-$n0gCL>PpG6?(ZB4qDK&rz??NCn6Hf0 zwlP=LMQ=5fhi^f|NNuU(0!`)v3Kklv(eUp{xP&Z}Nf)SG1r2mxZ7=fmwBs%6eQ%Kn z2TM_sMxsqr59z&s@;n1zv0Abm_4S`|UZ3Ahfk}p~QxaBIt_vroDE~?Aa@Rg2Dk32y z;*OTYbmcY4-IlBK{6q$S-7BTyc>Sx*#8;5fkNohJUcRb=v8;2xv$f~oWameDpXAmV z3*4k<{!XbpYTkY@FmTZ1(zatSgi&4grl~xzz|5&O=qKZ}<7_5CZ@; zk$u80KDve1T^D}ri&l2A?=NYk7RaTRrYrRR*IAk@V?Ym)N6lT4;4)s9ckS56_rUv< zaK3uhhV1Sy#YrWPNehvliNU!hqG89=QC+@KJdzJfTJkUW%LQK+V{05P_`VXkHt_>9 z$IGF6JaE2O?H*960!X8^Xp1Le@YHe*XJSFE~RboqixS2i9RC&r}m#j_jjAnrcole?+vgRejx!0(-kz%Er>ut-hc z*ad&e6|=`>Yqdr*N(%Su6hS3<7!D1t)=MLlV`HwZ@1Cw|)ZJdb~L+?zNKb5?lH1YH=Lo+?GC1p8QBW;8uz^ zmcr!AGRJ=vztX4Fr&qmyk^msgphbOQvNOTE^?c47 zZ3So&HeukW@oZLsRLs9*COas*+ob%o2svndGkJ4Ed(a9(R;UA_5+Qb2GjgmoDf#H+ zvS(n=zgKh5ltYx#3&QpEPrP}y0PJ!Ok=6#KKX7E?ri>IidePiKwPnSKN^l5tIO8Vl z>m&K@LiKA+LzGJX(nLvF6n(k8JT?lA&A>2Mu834&GyKT@M1l4yp^#yx9c^*6Zu`fB zxWYfY{c|P}Z0~I|_Ko#o&SB5J)BkRD8ie znbl^tMEjlG71xrrEY-dVcU7Y0DcWi)Y?sAo zxPrbUfKU33iw4MyvtmjK|L!2VqSTH5oSd-aq2q;qYm4i4(tQq+`zsXfqgcc*&&r8L zt+D6R11aUojAO&xzMOGhCvT$0%*1es2D=hs8Xsn^bZWHGRx>q#SUDbuX5cg#=Q9A4 zdoqVac5c}jV@OHr&jN?|@?#fz^prmo)Bp7iCr+-iSc!n3-v6I_fI*`qm|Y|)T5b5H z0WQ2Wi699ZE8HC_@hr41ZheU!|GJV#ZpLQLt`L@d9OM>Hj1#Z_iR~)vy>EB#O;zLu z`AeJ~ZAsL0H^gkz<*oc5?EP*PrStT)bB`ggY1K5D81x4cL81wSps1|Ek0lG|kRB=( z&d=nd08AD#*1)$$LSGcnY88)u$A_UKlcp5uHOL1y8^`h-d(woOdkoUUb5+S*WEl_+bF-4eHGcBU>?c3@zadhmkUo%ZIjLFCaS@c_VpwvBaSbd210B- zG{`hh8YBg~hOuFE=92k6zY*F6M?nlz!)M{d?{Sx!xQL#5j$7p7!2q3_I3ef=?>%D) zj2Ru1mU?!yK~b>Vh{ zSqgK8zPp_3N1SKSq$9c8Y}cu({iKSZ3Et=2YBZu+uGo%p98b@$zlU*i2o>|_)SXst z5#M<|qDZ!2FYg_FVF#g#ibuzgoc1)UES-&*R*+K0sXIk7J($#4CC6aT4pktbA|gNO#E(+|y^D@N;i)Mvr&tsE}FrYIlg0X9OGPlGcLZ zDO@80!pS_qDz{){vXlxg?mL@gQb$(3vtei^IjhNpqDi|*U9&M&81jxj?wOZUymAp< z?3Gmy^3{1t!aK=51Lq~E_%fChO_-bSR@4vYk9#u$P%nSU%HDbFSoLPEig%)+(qky0 z*XE2lxufKnXDsUqhF^IrMd(%qw8P48t896;_{bf;ng6AUf`IbB-q=|*#w7)c1jn18 zg!q~-Y!(lf_K2y8@W18d=cS&gH!}NcrSD`)#Np>EW>v6dED$&u%X&$sGCinqZu9<% zhRd3B$34BnlkyQoyVI*TZ{oujdSgg;HF(}s=}1|P=Oc}tRbkXAdU&f?y7o=8c*MsY zVcl5z|GY(0jB?P@oNu_JarrWxL42&{XxYq^U2lK;=Do8$C}Oc2D12QiP79m)OKOo( zjzH~*Cht-(l-I0Y7fxAY%`9J>Pm*Wfdm}xU#Bj3~(u)GAdx%E|`!CK;JZ{m5x2tGF zEY4R{ycAPR0`d~>8(YG$&&CmHavpB)x2>gp#!-o*(RVhbJDkfBlMmyiDA-9cs0P}e z)QA!5XmRn-$L4=%Ns&FtGvXDJuMfmpZ2ljI0VN{mGWE$!4SZ|<^Z+nG&%dG+l_8&E znRDWub8aS2u6(E8;;Artd%jB7tt6erq;e;peqCu^#CIE%5*aQ0RE(-uMt~}Qi!H`= zVkVuG?KnGlF8v}9cX4QA6H;yKSX zP$McZ=4U5cv>f*tM@KUmcUh{-S!FHR0zm?e4d@cPu(~JQ>AALZm(5yn`^~!d-a@Zq z>0`-GZUtIC+SL$JUG|>5Wf}L3Bl(cZc&ib+EzL{j0R>`Lh0_=gcRMl;i$?zS_FHX% z{Yl&og-f!>73O%}jVbxDuQt}jO6BTkACeNk@UtzKe#L~fB_H)m_Cy@JuB7aIjE8*o zEu%TJgz6r+f95-|$Tc}s^ES^Fg?e9O*r$2EnjN)U7eEKVz0?)ciM8F93~k$t0Cd5? zN}cK_;s@svH-CCSc*Ex2yyMPxXr1j9ti<$)99u(PpqsYK{?co8{EL3;42nG8^k}{R z4E8odoDE~sh9_`ivYs5`XR(u=e0To55i!|Uu}ZVS$zq{XI(m{-&L-e>;C4c8X^GDo zOJ$XMe02cOcjL`(Id)!M#y?U{79uGEOevKY8@Lwnb_&!%r){qk)r~Uq_}KX%9c!)< z?~*RZC?K5!+rebjnwfAf+*>i09b+Ptn#Iu_Tt3UQ?p{XKQrht)hRJaR-mNViilmE< zg};#Vuj}~c%_j#ylbexa3oIDk<&9n9CR=8{4_8OeR50hL*8+s5J-vL7=U&uPcLY7;tu7N^lk99r6L8KNmoH`DMvRe^4+=&lZ&Dv8h=_dWlJgw zl{c=BD!hzb$zUBw!%=5iH3{VG=o>`s{+%@`MJa)wevMhcYjvK>LFLT3xxQ)2Y{!n` zI>``tZOoV!jiR0WUcZo02>yf>ezd(|{)}6yxYVZPaE0tT7C@<0{-q?D$0|cERYSI4 zt;DO>VDcOIXQ{Vh^~-fNLtoATt!5%grFdV&rj5H-Zgj>GP{?pa7jbnPW*{#)AXj=A zJ6L~r(& zsqWkP20d-x4Fy4FT?Y4QUle&&06C>vAD!AdwK! zw$zWyZ`!=tocmQ0arbDmJ=tI|vP=j^K+tlVx4 z2x8)If{mxyr|R6)6x?w_y`824^}(6#9+r7ma(8H{N6x%Z8MN*&U8QvPm$bDVjXnIpANVlcOD- zT?x38SEO`zsFP=B*W`#3tS}{1fvs(j#p5S9jCsf6+=a4Om!b=u5+0$-BHS;uKD zE66KrP|msnd=Y44y{%@58U*d5(isH`Rx~a_YQ>rkZrI&?=;@_WTwuICXgxlFdoADXg9&lij=;AWkA2MKhc^~=*reZ7G!k7H44zzckKW{d z(KuBz5{;3rA(SVGkIi{MvMI{dwa-!X!Hryz1kxwid+rNGSCI3VHqO=l=}zGe!za^* z2(*Zm`uvJdin9WQkmkPDlbP`#5KO6c=rngV=*vqc;?6_MI_wb4*Ugh4lQkzneM2GW z3~aUt{Ux22VX(+AYa*1YV0YehEO9p7Tg`8-j~H2Z1{F|scafq^SSVFj*8ttJsV7XS zUN=zGpVT+&w~GeOZk-K}sg-p|KB>M#H_Q5{i;hjD`-ZI?a+8+2k7mWVG5!n>D`}|G zW8yO%-gR78Fx87M;UMEX5W(A&+P>%thQkCLb#9aKg!XQ6yu6^|yw1Xi+;%YuUlJ)z z9k)s$g4zK!;mr`sgpz&F4{s1ESLy(c1+{8C=PIc}H-fs0JuQ9!hDJI4SeCd;*6gYh z-4-KqBe=T$#ETmp926e~tlpcu#%_sR(;JTXbGCK>uwjF_q_3ax-0e040`WtO^oB@C zF2J?c-QJn-OH^Z`o*S3)jH@9VSpwRpwB-HSA%R+e+D-YIdRR)$s{IFy)ODk=X;u%&B8 zydUiG@RY21bY`sk!7>j&)dandDq|p*je$2}(`t5ShLm|s%%4%hT_icWQTP%{QpA84AdWvMRZ`?uGv zH*PXok1DsbtJZv7H%joc@@9BuT>&oYrNZsEW+JFbkNjDsbHZ5kSksG`^zZ~d58AD`J+%tXgItGTcg7Q3q~_+csoKGIBk`jY<~~Q$@3zOaYoxcwMa{+~dI#yW zz~n^yG8m9b_N^Vp^YyBdv1ooE*Cn_|w0`A5mW}+#kN4xqwD;kKJk8~Xy|Yh|+4jQo zS&KPl(Y zm=`y#%pl`&-r}*G@3&7Ws_a=CM!G#xcax+P@&{S=OIMAWJ*&rzHs9O`ZONficc9d9 zV`W;#O))W4+pGV4f4J1@tMk5RL=`0Q)mT!k&B1__Rmv&ZvF5xVLq6DSykB2tVAB`i zGP*bP?N}rwVbEolwuZbWQkf5qhGJ`%q3q_kH$IH>iJrCP=v-=!Xip}R;Z+nH7h8zK z;=9W8@0k!~4QukDbDMrwBXmFJ(e*_8^?q)G^)pD0(mFY|^NQTl#w|UQ1Qb>F4*PEfA_P7a8chlpkYEWRsHC0dDB6n_r(9 z!y3zGB5riS*Sk?ys0HN1bP}9{+_93(&RF*u11s!TZA@{I^OL5{Hgl^%u_AYuR!aj? z;4dV!O-&oOu6Tn|L2c&g1lE*rQIyY@cT-8f>#~VXtvJ79x~?8qrJ8&V86 ztevOna21Fs2I+^8EIU-3%J%(eLv8(pJDmu9luCmvQvu1cy1BxsQ0 zQxU$|VxNoA;~Z_vcdZac)}F4vif|0YY@CK@q!O8_#c?Bn5F#|88@&cWgj`5B5sk;UeD|wQRzfSeXOJCRA&-~Im>Cdw0E(!~`^}pjY>imR8>;f*a z_S37yUFDG*oGG%GV0PojCxf%&Sa96P$eOJSjA=KD`2OIPdfW6jny5^^wu9P*EX;QG z>AoqFazV8L(-7=5XVsGyXq_{W<_)b4&VL?*jc0XpLM!uSQFwD&7E&FXQH{7(D~6&T znN3<_3&VR2syZC>be(_7i7;$)^3rAgmjIPQaa)V*?Y9G~3r>T<_a3I##(joDuyUo)vpHQN16^IAGjTV84G~nYuJe|gI;`lia!;_dM;8WZG2JaEBkh2= z5fSsn-Pr8Fap^&gcg<$J<{6sStyHUI^}T#vt_~LUI^4Fn0J$}# zcR_K5vc`=F^}(#1qQO2UHr8Ptn^qw+;pT9{5Vqx2%bVFv&_?gw@-}^@rb7HLUU`M> zOl?oU1S~kI178zV$T7o`GlfN3i87mF-Oj*|pfU${7u_Mt4t~|6habI9frbXH-J{6p zQCH`B5xQv0P6Wi2J}4UwI<}IFG!*Z(jKCg5L&tfDFtE43|I~l*C4;v#jeXI;1}_lBO-M)krP$$B-~DypzuC;l&lBP z+)|PZ`vV7ZQ|1HbWu^FDR3B0nRrr~37B>sI_yV}B*o346sCTlmLZ?+48jO?=qE$JBf@mh*(l92tV=Ipgus!7(Bl963wW$JEg!8a94 zf}%(hAvs3>4MgQKGX8?z?GM5qDLh672%19B3*`^FE}29pEv!#+Ti``ROU~-0qeLp~ zl173C|pFbZjU+qc?esYcw#-O-T3^HS#T!K=9%O*BL(j@prxH0liLo^ec>Dun(6!y)gN z{G3czJ2y`OKJ0ryEW}kwl@F-wqg@G$$&$zlBEB6F0hDK?qYgy0M$}Bw=C!4V71#wfU`)ZzB*;S_A#BVv??`kJWfYt3x^3BN9=rHJqbu|N! za~IZto+h0V2kVFO0Y-juYMW7MwCkbWV&^d2vVggBtDMg&*1W-v?L?Im+^7Y68?~ssm2QF#2W!3i zp*p0Zl5bR~odb9vu>?cAVvo^}C!t!$(%SNp03|~pu7W;Ke0?NI zt==vLNN8~Uo;ZxFkiaFOL-5`tbSkIT2R^kx<6NCLf$CkI5vcYRNI4#LtyS9uZ%gVhwx=c*8sif@#%O|B+3-cT zro#4V)W~EDKF<3^Nh4rYP~ZUI|5eqBNuP$urt<87>^V!hqo!f|nw>RELqg@-ort*u zoOkAxEeJ_Fs?nlI4~tYZw^%t!HwLGw6e+n3lz%443Ux&RRyFIz^lnsxA%k} zu18g`QMR`bpIqDiY@;*}5LRS*1Avfjke>(0pKsiDe$5NxQdD>WrFUScYPq889i zTPK$=URI^I zCnYIhoM?lvsI5gV-&Ii-F2QyyY;4ckFN?5VU@<622j@DV-PrYQ3C-*81IfKMd&H5V01QtDb_%2<(wSoWUy;@3hbJ| z)hf!DDJ_zwm8JW#z2t)^vC;ZLAw9RMN6BKqpSbX^;8xd)ZP`|;NmW<4Y%m2l*{qk{1CUUxAj~qUsfns;CBMYe$CC2q z!NnqIHx+o~uCq`3{F(l^=l8YKx%Yqxjd=fzSFr?ZO#_JR6M_{r24pzp>4~4AkT88z z_84DhugP=j%^-J_K)k7_-h+gR%GnuFWaoyT5!iM+_P|_?9|I(4$YA!pPsJbTWuue? z>fsov23JVmNLe=Ws`t!;e%c(hA^!%yl&-Bs3~CwjHxo^Fd?QRMkVPUrBmm%n1a2so zXo$RSPY@;!96IPIXIi#ylaYv~mqym?p4Y`h9_oAvrwAB8`fATlRz4hsU(D8H-b$~A zXX+`r!8ZZ)Kpj{^DDfkeGj1&k6mb}LhkeKP6;Nt^Ha z>@o#{{M^}1e1TXj-k^8_xtnhaSw)7p$H~4~fVTn|Z1|!}SmbRI+J5aJCNd)&=V;kN%JXG+AZT-i!K@O_mGwBsu;6uzk z8i_n|4P=UGI4_<#fZ?(7us{)Equ_~wjl5KiA{uGPyhDhZpoU({|0w+ z?X*~FX6<>%lP!$3*b*KF5eU0Xt>=J z#Z~3iFY3Io{(viVS8um5WJfvND(!b8#yHJXgYdEC3E) z6tlYmo6 zuElY%kayT*Y2t7wT0Jnao?@u?Y#%U)u-JK<8Mh5^b~)rFTasYQICl|uncx?62^b%P zK*Q&{%B4SciN%Ck1kqR`?0tBd*(m1Z%n!2qW=u)^Zd`dpwRO*uhr*s0XrT1>EQFiv z_-G{sc*{*?IuR@!iA$}-7SvJ}A)4gS@KQ>Hm3x8ue-z+U&KL&A@{?wXuwDP}4!t4# z?D{8n-6#x}8Y~<=xkp(YN42xmcKP-52bj7V&OXDWfW8JzcE7e=StozOe^8wIX>I-;RZVM732s=1 z1J0kKTCyo@`{)Y-`rwTfPXVa4vhYcfIG@BT?j;W#8QP)?PkdS=fBSNjdZ%;&=SvI| z5MetDOGmjarCR>0_s|&<}?->j7CD$G^^So7k)vCc$WR&&{lHbhHTj7Ks(EmojMI5E+)u8 z0}1yOPc=7}5jD}1JOwgPMJ134Ke#nl%KIJx;<2Gl0PV-i6_6rGeULK#bEnn&Dl#wv zzByVdFV!D>jTAyuevwadB&OEu9<^M#X-r64Qd2f>VJP?aU`oZDk)xzjSBmYX&io&M za$lD2|AI$#lep>0MvCgU6XIl59f83w!#H~8wI@7P83 zX}mxzPF*7qQ^S9N#uYS}S?S9Sxggx5n_)S5{Qd(Ku-YQ3gYq1eBm%QkM(f>rkf@b) z=ViU-T;`^?n##GG(IY*tsmJAPyIAV`#)+Kd*!)1c7XL~yLoBkL77Qc|DB2<(K zRT)Bt$NnW8htzdBg9flyO8y~Lg$5?*KpevNa7?%zUH84tl|vRJY%-{xv-Qy|N};h^ zcU7FJzQ5Ft?-Dg(t|yIW$Nw7W1&MVhnN?zQ{m+>J=g9xjw4xp|spZPqwwg=if>o&W zi&>ckBB-~x%1rH?SzDA~TyE(7d0cLq0tnof-L+>dRV`B01Wa|A53RJ~+Z4&EYw@M# zBV$TPX6-%J1=!Q2Xg3G2;(1-FVX3EV6w=u0m#TG0m5Y#aZp`xQV`p&WPhL2rqv%nz z%+!WmiHB^jcMG;Om7_!>mxJ!x%@v4geCAIdkts-`O&O=_(c;c8YzhIh!IrJZVl7d^ z3UUk-jKoLLf%K4s;(ddM{OXr{7#)-^(Pvi(FTX6h0G~LzF7=CqE5JJp7s(e0Pz=6L zx>(ThF4C_O=0qR+Ik755@;!7lUevDy=HdLu^6NT2W^h%%2z1s#9nCL+Z14j8gP=&O zi}U>XdjDD;XL*C_UnB9<=Zipu>dhC5SbFO}wk_1i7gu@SS0PJ9^lXrCe)^f>(R{4u znS9x+j}5#D{es@5FW35gYTj_WB(^`GG~|oUzwa}$pclXcPuSOFPm7xcrhoc(vxtn- z7h(W7RK+8-gKY2vfhi*)Xt*HO`o*40@aEnz$I$Zpz@~UvyB~wNWllQ^KL=7kY!4Pf zBp2`;i;KcZMHF6N%Cm24o=eT0{|Yt zrVDo;Mir3-d&yG3xk1Usg0B^VEe(AKa6iB{Sr0tag-5oZ)&@Mp-&S;Q-av&f0y4;# z{u9o$?%V|@h?e&EW@Ji%eNSYaqB=p%u>@QErCbWb-S?OrXpLo01Tej+9#t{i;1IlS zM0hkC2ggd;M64|?Ao&xq!omOy`{;*$mEqI-{#z#asB9~52!bLG4#1}^JtSM)CPFVy z6hpgUERiL8p6?mC0A%R{2Q|#xwh{w`Y?yt!NF)lHDg@0MT&}dnOgY=|G;v*8Sfz;O zH}$N!RKOlHA0hD#SmJgAcbKg`=|GfhwkeEEfe7zL`e^=h6FCLZkO0eq;_jy4edR*p zke@lwpyL&{i)v*aO+0{hWfE&&^(ncEr{z}w0dwl*foT*J4+pE%j`B6T@HgJKPlJMW z0+&(56N;)Mg@N5Gn^coM(_Yn(!0VpVCcqUW3sKH^B|>KXbgszBnyX+zN+51xWxoVW z&oWc%J--Fs&H?(@=lAOu7p}W{!eMhNQ~+k|kvY|;3C(YA96F%Avx$(3)1?aYWHX6= zTnD0*Y(y;pV#s=q9JY_(DfAzdq+zA>N_jEW%gbnj7}_Hk-?;hiV5duW(75j)k}e?ZfqEenK)zKbg)l?8_5^ouiI>5#E$_M*kaVVUzF8>*rC&Z6H=>- zD=ddGf9SKp+WMAh5zTwo3W5G>%zS&Iby3M-btG46X;T5rZVp$zC#DpN$@@Za#fXN4 zMMH>tS*p}06VbYw_;X7-CV`?-9bun!70**NVHgwx_Wj_6bTaq)Ec~ll(5O=R6NR^U zyr_9s;$fWIyB2=dF}lww>p2&VQ^--%kx4I0xE9JQ5m8-^QTXd%zRR2kmYc}>TGKg~ zIW^@_5^&{xJq%2hLTg6q1Ver3e#3@I>6zlEkyzx>r5dqjxHKWFjqJ%A4fs9l!*0WZ z9e+aX896+3ZJJt@PT?pzwSHe0xw{~%7|(U%M}S~OilI+X#ZT6dP$L}s41fcTeApU& z8}rd)wsif!YHG6qxnk(^4LrO2T|)vSS&#J{5K2EsIdTk*FE)$VAij(8ozM5fU&K-O z9cTV`y-!?1yE0N-wjlX17KEoky2%x1QO9KxGp|cdm0Jbf*CDoor#!| z_PX33BB`6>5{jT3CZs>s65JEjg!fLQ%OXulCs?LTJnU6eK%O;MR-xBE%g3?=^ylat z7-3rE;p~D@J!mmOPLb5vrRY!#imeQ6#5t{Uq(76CDxyg;*8Ca|q_1|#1IxIV+$Li< zfWC5FE){iUYXBUinT}TKm4I!uE;wAe*9$vHpSeKz*tgOh{2n!((_|PFO`}ujI5GOc zaElMV9q5eDONLL$$nZy3c&c})4d=tLE2DBn8nUBuap)%Ay3Xo`ZW)j=6%CUq8xYq` zM$;wepdN-yFQ2fM(CixaX<@ENv+)5;MZ-1`dn!-PG( z=eFp?;;3%UGTHfk2y>pAD!ibPiFy_3sZY}BOWZ475G6qnG=$3SYETq~)+H`6lLA`De*L5exop}Z9(5~$*=+sz2cI_}n zM8YEz-&xJy@gdQZmQT#$?Fj*(jOc)YAzZaPx4~l=%Wh>NF8GhdK-3 zXcZg6H}$GD6O#Lz5B5ON57zv+;x8ODT~kY?{z7-Ei(4H*6WmZusXb9Ss))#uErp4m zk6Sq-6I*?it zxWSTBjjvHyJ}V}_uibcM?hc}iF4If!L=zW!v4(|ra0lK0RcVbK%H*X_nG?ABextC(mxJ}Y9XgU(X4SA8AYP=gj=Ex7U{J@Mjc z$qfz3BTe)WPUcwIgag^Qhj3|07bN;yN?*sXm(cDBfK}jCO-{ANW3XwhyH@0!MnjmZ z6^*b1l=*YEXc^qyXiY6xVc722wdhsQo!ne)k-D5y8M`YI5ixjghApM;3_=wjo~F3` ziQGc^t=%6)UZwTx5GYcN0e99@97419oJdyy^KD< zVgyZ}&nM`UhbD=elMCj5u0y1Mg^ui@g~L@4Pq2bKgU2Fagt!7Obq&uN8t2JxP#`D4 zSOA^B|AEJeLrgU%f_w?gM&F#`O4H*oZyjhTb&l+Tq+(`DO6KbfkMMeG3(E<#y94gs zg}PzkCGu^qE6;lOUMr2-9k9BswxJ8S;e5&sy8IpBJ24+M$|%=~OHoVjr-@t%U^DFraWI*nt8pX9Id;+R7pY~cGf6~v zol6(bl#59bEPQ9a_}NNCY;4Bi=O7BJk+sn7HjXiO$@_Z#L&_#=Epz=OD5BM;&YM1B zQ^p5xPvWYJrT4?(mSpU)00Tz#-%GB7EHsb64rf`h$30S>h?sKI1F z>}V>h_iAq1ff$Kh;ad*Zo}fXn2ohChUCzX}W*XNEN;)QE#7@#z3G^V4r!0 zeGa=@T7x*QNvti)Le`?x(*-^^?laD?M(3I-_*%S!y{URD!*u!pskA`dr`WJk)(Oz` z{DJ{`YhLkt_eAy%fKuYa)(!T9$wXqF*1Y5T8BTNp)ixNgz7U+!q7{#Ld>8 z6l2OK%4S%TtMiGv@L0Z_LK}-_)H0-avWw4Tl%8tw5x{d_Zo@Kl%jauMNQc z4VFdJ;@7}nqI!J+^aIGub3elY9&VKZ6HW4qKWm=Y0EeeGOwl$9ew@@{rObP#=DnX6 zs~F!pO#d|BloQ`l$4!j~e+^+j`V5j9&1rz}uk+h4Q*%hef290lW5Hj`+2d1Y{AKH{ zBf&_p;f5xBW66xZ_xNjkGOT4z^lg2Gt;Lfbc7-uEI2vs2#mbnzZ)ACxBNlY)l+gDF z|0)Vc#O~}o+->V;u#Den@pE5mhM7`TUB^4fR(>@e_`K5GV9CtZ zmwS`P=6J?GCcWPLU!a%$zlar4vElQ-leB;P+Tahy)A+OWcDsCRN9TJDx5(_Ece-hn z@g^V6W?kF#)=g5aO=;HYwHR;zyHi85JL<1*Jkp+OdE@hj3617qf1wTj@q9FBaPHg2 z49GG)^AG;y{5kOxJj(O6nLoetf>?;g?>1|&vfwd8t`%k(CnT~12?X7yocw{ zTgn_5{$YjZ=u>_>220PpbBQv`w}$?ZrZQf3g8gwXMe)2J;c;S9pJBuAzs(KLV>PhH z@BXq)gOiSs@$CP3Jvs80ZSjQsuo-%&; zkrralKU+hFxAa2(Z`+L=<-KF;6eb&LIp6Qp|36Op!+R$TU*#jsA1eAN{}<)nA)3B1 z8{0ODA?NTTmIOYZoRXqycGlF`()+`t*gQu>Mj789kp~c`F^%`b#@|J}g(w_kXMvt7|cCzM^RQ zrC+RQyx`~`&=2eJQ6scqdnG@=W7C8)@*scL_>lVV^z=jbRR;BdGlTJCvo=rPtAwAH z@k9GP=)T3Nxn3F7@;|PA)0NK$`6d=G`gjdw`wON27jzCDVAc!&pwkF%L)+fQ(X&{e zc+qFEPih;!%e-6Yom(`H0YCYBMGk^*^f;!6eLVZfw=OlkbNBElyLt2dCaV8mMwZms;u$%FH=W5pKr#d zX4RkFa0lb2hKv64ukW|aeSOQ#;mnNO{(+Nn`DSP{*u~{7|H`e*{jU^9=>__E-5Z|! zS+k6m8Mps3rQr9L+W-5bzW!0v6z$_b@OSfTPif=5A5;7PIC>6dgrUU+Up$wf%_p^L zfM#p({h3jHOm80_NYMhfZ8Go=c z%(u;hjsIxz5z_6%aZZiRzrGYe9>pHwq7BDdZGElry72IVEsAmu?JxAR6oS9VXw$)qH1*P4_hkm!A8tKdO02c zH5)Sbo8InT=GkX|m_8Ui^mx?_4{&(ZW-|ZOmELe3H|}RSksWSD-Z?f$`w}pIbx<>D zX|2zjX_KCBy}nsGiv|M2tIp;vjc^r~>9oZe4j-L5k69coBesgag(bc0?Saewr}W+2 z=ZO=J;aq>Ld7@|f8=Mn*%w{S7Gex#*YOl~}wWL4Qi64D7dHz4w1EQPz1#3jLL+qIL z*BdiaDFU8E{R}Q_4VeFYY7WOB_QcdF51unS>W0z~|88jK zwnN@FJof$nI*zT$Wai`i{uNuywIAMW5d3XV1l&Q+_{ebH>*+|g`Z5O38f)zZ{fZe$ z{xSbX#NOC3d}FwOK>Tg$p63gP(H<9nno)sT0~2n({~Nmc2oNpT?BYd@joV*i6FXhS z|C8~LY#4n{$4E1+XV8E2>IXfuqy93z2c6t^e)NGrFew@}{>0G#m2rZlvCcmJa&0)T zaE9$2SJ8j41wG@viZ|b|@Bi4W&^+XZ_ZZT@IAEc@_fH_!_}*7&^6jFz-kckI6Ok@7e# z{3pF^UNQH++jnweZnOUtpW`()iJo`)YS!q!yK;v7X;=-V_aC13JEpKnmH?s|)9>Mi z2DRXGS)vDQf}U^xvbi?KuPjgA_xv%Q&;My78|C}t`uDpI%>jNn!w!G{bV;zr;(|vYE78OQ%(IYk&$UVyE9a(Lj`E@5%d$W zP}Q7z#z_mnr`;6o)N0GK=DOsroO!sUC=F~*OkIaA57N?9-frz@pY$St>#j?vIDsEI45b`pXsBsmCxw@N$FVns?KKLK|blv2Ea zv@##LMWP9z>n%c9!37%Ebh~4jVK5fqlYne|>(dG>kQ+W9TmqFk6~YF1yY#uc##^G9 zF72h1v%r@OB0A>*%kFCr1#}aQK;2jCwxwmWQJ}g=yYJ*pr55U+I|J|ukkV7@@#R}o zNnIa|Lne%Axr@0>IFP_e6{{daFdXSI{d}c$3#jK|2fn>ToB#M!Ta?~JLW8cdmxHXX zs--R7W^nd26hpbUuBr#U)okNyoP={L70+ntnaV*)DKhLA&6(A`Yu;5&aA!=7PjA{_ z(?HrRq*>>nRb{9{>@+5(X;y>7z&lQA>j5z&iz7+n55*CcUd9XrCN5W`oh?i4yaSFg z=7lNg8jhc_XT)K6P--&eZ8tIyWYp;`f`#PU3K9CDA~j35^oqw@mds!?-g6X?JT~Bm z1_Do2ky6*c)gtq1lb)qyHDwCG+^4RK*hPAF2dN_WWp;f^@gfC?nDWr|5^6)Saj$uc z(gNL!Cw0^)3PP42SX&@z<4(VDYbr!Z7`xZVvRee9jj#BIsMY)NhFhNwR3eDvZ)Vuj z!gM4Bwh05gR-PHiY|?+Q``RI^q%yx$6v@+d^zugpY{)oo!zBR1yL>tfu zl_*$}8o-T75TbwR=6&?Yle3#CqS@wWjMJ)Ph=~iM5Po??&G*q6&)jx|oT> zF3L3V1{X!vNQiSYXw+Axpl;^z#wS|eykY_}Pht0ULN&(6XH=W_9CA63bn2}3?TOo+ zdpfv_Q>+%L-vDWGbGS0RUi0woq$IBzM-+_OFxB%>J-{yV>Uuih>OTg7#+}r`hT4Sa zPJ~K*p8CUuDZJMeO<^*usJ1?4p{AIFm=%7~SW~HrpRX0EQCVfx%mvOTKMcV*jHI!` zfvq|dD?~d0a->*?weZQ-9wv-V+2PwC3czP`U_U*@O1LhaVjm99L$E$ONu@t+jz4B~ zps6Oooc7kaPk0)&?a~4=wjKHrYJtKAVDibhD%Y}6vCyX{T~s1e??JMOGnaA7A+qf0 z6Oz|CGYymp=R@sQYfY%mG=UwJZ92~4t{A=wNrxf>0V8Zs-qHoyQ1!8miVOj8Ypsug z>Z%R*5*MgmNksJcp|$|ifoAggcouN#Bk{MH{Rc?;I5lygki$F5mffoKN1gQ0+tQi> zw64`>ro4N`Wf5LP4R72p{V=|uiUjvFbi6TnlcCr_3aKfHA`A>^5W;=uxK)l|!Sbhz z2i=`juwomP9LU|O+B04{q5fxpZ0A*-%9zM*m?c%_LV3nH7IKKd5_FeJ8y|rO1h@+R zcpUAPvP;5;1BG7bXepqsGFo!h-O!4UxQo$G4*67RS4t9~jEQgG*U|-^@Tc-*Db>jj z(R`>9k2+P4bT!=u79o#LM{7_jD%f@UuNOIyg&e^4qI)%?$7z=93nUf$1lslyO`X!xDAdIrQle|x z5k6@eV>D#tYC}(4t8W^BeO{4qfIELi-0A`iH&* zalN*HX!i|mxMP>7Ut#~hc5|dd`+!r(-`c+wBI&`m(!+0T%cz<*COv_Kutr)*GN-Ax zGyXEb%N_E|KWY=}-xy00M=11Wa())LcWfggdB9zz$+tR6NUOqMM=_(?W)L z%~LkWTRkbGTLs=Y2J zvK{W?ek~7EjH!h}<0`X6$rjF2;l=LrfsO*HU6F{S1#Xy-1oOOsMA-JUB{iY%RZWNO zJ(Pwes#X@fS~s1s6y1(xVQRMNM42#O*hHt6$>d6C?M4nx5}4G_2({P4j10|iK>j}M zK5Y)H*;^vJnpxQqbdO~SebZ8fs{u2|3KTX^LR|*XAVkYcC`wVab-|#DgKAb#s_LZ} z(&BxJ){LJec!l6zWE$-{GDG})*0LSR6|%Tyx&(n?e7m!OFz{A$ld(jqX!UGpZ#Q-N zBM6M(QLcErkz(2|!IiJ0)+#MsrK^THd0h6224uzk3V>A1AMGGFHs2Nu!$(c7B;%#P zZLPVh&XI@p1qEUhT_jp2P?q_zhhz57p#Q`+5h{FS^>*7`tcEV3M-d zIfdp{b6mW3?k2Kf*GyNuAB-0CnqGN|*M_I~`k{fm zmAWNO(aN=ru|MT(MyK(os(S&Xzm$`H;7FwJUvu=|H;49is-GTE!3&nc(0`Ag7#GJ}Ac z<+_BWs_yntN2NQuZRh+pp%x*k)AeQTRXU>ZYRU-RfO5(aa$`MaN zxV<%||I+o$d@tpn+tV;Ewz3RqAsz;~%?=5CFL?m9O)ZQ}%$V^@tWi^)H(4^9Lz|01 zEqE4AK{7=H;1>>`P#agPRI5RZ0943z@9IXaTmu~};4?%|V8|2!0hBWa*msE@?opAu^%u=|tL8*^Y=!8jS0JdzbsjY%nL z8Y*;dCNn5uK+6G02$v!;Rql1R0Dq70RiczK-VapIOGyK$F^IU%At;8hzz^sf!naABg4cKPTxR@My;GcIf*(TnAIhJ}C^P0PgL(njwLLfRdU) zZB5yl_cY(@9NabNA4u-az8v(aF$1JyyG zbJ8I{AkXOYf^u6?{N-v71F;+t+#fpb0I?!b)V7KZj;*gcAE0ceNc zL!B&uVz{!oI|4TS(Mdj@3Q068ZU#NQl9FcWA3e(8ZRwJAFjpdiddsgxq&#jb5I3JW zUh@Ry=bE4V>K%x0ppe9U^DBB%i?&#*xLyFly!8-bF@pW&xj%M9q!It~m;9c-BiSuE5M7f0njk~UDw@&O!JQz?J-hZoic>tmHJ zWX)dwD2pTL=igMz>h(E2k-+r@qQ2J6uJQnv;uz*Xt`x7dJ)K)o@-70oOdr4ks&UEw zP8LwaB(1Oz%DxU9WB`fEV{-y5;x7K{!QoEep0lh#3|Cji@vcI~fCA7EiiM;wll>n^*c;p8%9_Ro^#;6CMCCeGxcAKeC9g zjOB>3!T?|L?JVM+b^b)fBLe)(7qK$CBZUUs-&RZ>ln`qVJEjG773u}~(H7zojYnX@ z-%-8Og?~R7wvYi>@D}nPx%2neT|B@A4No{~y6@O6Ua|um@j}o7vB8r0#SjL*Ph&Kb zhaqZ9#ZxaHFMxyn^`nqOiVzhf4!;ipww+rp@m7wTel%sz7|3=+Jx<}I!eap~@snS8 zG!z0G#>mQ+vJm^nci7zX#^j1rY=b#kXD&lwZUS)ffELKnt->?8zK&Zd6 zB*r%{{adVUIZ#6@J>u;MGvGi9Z0doqFsNTP6(8yKvu!>wp!PB^$QY;)OfkW$KZ~rh zSpfgo=>ag`pa{==kCGn}q6rm#1BWlLZ@~kAIt;XFU@Uyqn%iLLThk*Dmg&_SDFdWV z8krn9NT9AdUAfton>mh5bNzfJhkQr84qyNGiFnxVrZv#kz7#zgginfQ%X6ZYg~;C6 zz(qQAd5u8&J*bGl>W2j=m=s5J7VQ}ZZ-B5`BfmgwUjL)-N~0w5E&mq<@G zJ^;8w?T*e2xfB9Kc#IULcQ_z$3A#GXMV6UxIZ{N!b=XVwtQeZoN((_wM9pb7?-%xXSTQbpl z!QcKLq7+<@Ptei;2VB{a)v%-)5n9V}@T6fZ=591gk;o+>H^~RUP#v>J8r;t*K*Yc; zY*M)Eg&Q|fsGaFrhx5SK%&*u^iV8|YK{A>%&0NvYv{oW9 zi5j0CqBYToB-h-yqJ-As)wLf>GT)m6rnl#YQ@BH?uC`yW#}aO(=_t+gT78DjE~9J< z3Fi3qeQi*8>EYZsoBW*!fF*R3bR>&aawJ4`YDE*8WJ9fOo=^HC7As6UW{;vsFT{u2 zcF{T-kFeat6uG#)44Zh^j;@}7co@jCTEV^L2uwlObQjihnbKrCal*+xlPb8>o<(N~ zm!iJAvs;x-qa|Aowp6t^SoEB|w0WV~>agqc&}u0DuQ#1lpb0aXIgV88(E9O=O_0o; zEmC0p{a6?sIYPVfT_+56{>sP6Q(cY{a^2E);Ay{{ouV3IIg};~P=Ov3e0Hxmj0Dkn zcIp)oM;9nNVW1B43n(vU*w!0cAA1%awT~kX;FfaY7GcKPIncuA?iSb|l-+~yd{J0g zAqwXP27O+Ij<`xGN#)73l!&?Z|WpQw~JEJHMFr%&Rkey3}I4e=K zV~O~1H=p$#n<$nGy_NkVmPPErJq}&ytgpncE=wXhz8LQL*i9~!+Vqs){xamjh8Pmc zAWCvurrZ3Sed=mA;i{9Kw6TPB;cvM_w|g2)G;&+JCr~x7j;y~VwH|X@(ywxW96#jeXOj!AbGx&z^qv%DOh@KajTOP_%mokf}Kx}Bg>Kad)^x1BM z-vr6YEen~VJGU!Mh5A=pJ4)c{Y;jA#=IctDW%~5YWy`e~@d0hGp_OQz%#Y8bbo2^$ zfw>JBTBopVa6mfMOcVi+Z?X>Unh_l+^O+Vd(ZLZ0V3=4%Zs29=hfVY^(@G&l^ou#@~sSX4zcLvmL^g}*j9z* zO8T$8A><1%RTmSsIc7WIX*&esgs(nF$ToKBc)*yOC|cJaqU%BoRQ5OSxv_2HTXo`DcK9Td^?E?CgvxByQr^o)0 zf@Sfnxh4&>x&BI(A&kdrh2sR<>ixtYk=q9zER}z#XfAgiC&JZ{cy!! z(b)WI?xFNeE{m)O30wQ^-{zX5benQ$Lw5&%ve`e9andrZUWj4&{}-(3U>Yxp1Jjqd z1ML`uQAl^oZ2?p*VVtWq1qfpExf=hK{3&(6(l6`De@fP;^s2Zdr(J)_ z|2MBt!HtRc;Cb)lz3=nIsvyk2tKYSNpZz+tCtfe?haP+Bzo+Z^1v>j>OzfN)r>3PRtnR?8nmQtig7J>g+E(7kT09_7PbNZZ+8EfRF5txS->^vG%d5JoIdh z23>@%%p}68h1Idq1+Pv)mSufyrG5_WJJ(MZSfq`@tmz zqAnrZz40;3n;%@978}bYa#80@eXLKM=f=Lt*RPTGk7|P2rJjGXxgJ_AmOo(Pc2J!v zZ=Ak^JD;~A*&!Ee1r--XXb~gVheOrv%I%}%OSkeyZs!T_L};UU#M=(e!u9aDYkWa_ z9l5Z>#!s7|oQ8+OsQwJKAF;{fK;oYHT}wpLInph=P;+kkqHu}(ej#f7KmO?pSN(m- z>Ty=}{6F%4=3lb8Re1ZathZTICI7$=ko0}(ezfa&XFcunqU(Mxpu_%iu2ou1!?66J z^RGT82~EA;ta z_u&1ZxFGGJ`X}9c(7l@fCf@B~c>xgP0NtDU3j5u4CDG`-8&b}fEYIB{8CPK8UKSup zJogXCSS0d0uLa~uumF|ahefV?2iUEEsSw^?0lGClJ#ZCGJ>L?25Hky)<-=bQOE|*v z0mL3uMz(xdBI%IMp8D>X4w|t;D+%C!B|t1rES_z#j$l%^^>`)})Op*9DqMGSWg=wN zXEKKyI2u20t5)1mzGlSqf|HRb--UA>wv-8)0*MT#<`))rLR)P}_pvtVjx`h-|9cEa zsF`JGKi*-h-jCZb6e`LR+Ptk`7-yZBOOegfWht%|aI;HTDgy-A=tZaWBxR!RBhHgj z-8=7 zSaPmww!5+Z@FrJBC3}6VXwLZVWK70BvF+6*m3tJjx(&DMLo_c#=aXYbfRp`%M$WE*j%ZInRpA{wK$??G<89SP?%7rREL!T*A z9jH8(=a6I|>?%ajE!UM2Siy&i`eEvmMZ`H|HAwgGozos2)KnFd-qDN;qov8e1y%iA zbQ#XDfNOLsTT}v&FTXw5yZyE3ldAC#uB`-a&sdIJcWwng#h{%U!ogsvss%IQz%WOl`k$LN5S4WO;pEE*HuM+Vq`=R6!^(Wo4xo8uT@j@ zWH#)wCqzN{7NOy4EQ?g(a+VcW;5+%*p=$xlP?WAY%9{Qh?4a%Q)71+BsH9XSPqQR* zAz?eoNLIXklP}RH0e0jvv4!Z2d10C=={b(ZPjeqvnLp%tyGXx2rR_{x=&_aAi&`nA z1^we2+;&1|=mC0r0?+>?5PV$njCbeJA1)76nJt5biv!@3_}n|_^~NepahKg7hV-+6 zv#Es@Rn8JdmUO5;*oBc`Oci8_u++OMm#)`s6R2xfxU4v)J(uIW^o+6M02+a<9e_@g zwYvr5b#}vb9KNSTIMaf-tON##9-O^!^MD{ zCNd^K-p=;o#7%qif_Ubfa9I0ub1CiM&jg%CB8^tjCy%W&?ExWFwp!GVV3%rVVRLke z$Dmde*izJD`Ei+dZI0Lk%PsS+YHK2nLi#I>313{9P>H~YuHUDSNssgHF4`l^gJt$4 zSt2r9bY+5`cE?^C>2{eHg4hO`i4cQ{n&4e*Z`##(-=@boOgvBK7`HXS+^lpbJi28r zxBKLJWiC*5OTCE7Z07TJLz`#E%)yLJsO`?kKbn4w{S#E2E+>bJ6KC7i$2Gr>qdw5CM^UEBz zLwwt;X9le`<$q?U%7cYJh*gH>$O2xgh@bR$Wj z6~-xmpuX!nLo4Ueu@5NxtTgvQ!=|J2IZ)^FQ7<#~o!145*Wn>MQ;u@+N4;HYO?!Ul zzuI#Z$asj{o#b;M7wQL|ei=~~U+U>{WjX13ma7T#1BmHnBNteKk$QG#m3o5^aAvM% zt=*Ng1J#?ZJ=0dDXh2RpX%M}rQ(*_tdkbhX&s$z|O!X3ud#i11Ees0TLiX)S!FC;K zpH?)OtS6MobemnuhEV(CF`g2`KGncE8r$X&{Ln@B`U`IEWFMV=ZHBKW!e*<(GMpeI zAvrc)-I-!~CPasQe}mL0M5Qg!+fgN2MxbiYXo4W2X5f_;7Q2MeiF`!Sr)#^BjChwU z7$M1CB4>fc*1c%)o7wFXAJK*+x1dTJa^pQ`kuFN!G=E_Zu%Z&Vf+|poMpR2AN)y9ON}Lice#wl)gYu$<5Cbq zmd6GVac?(ZX7|_NZcT!XQF0hu##i%z$=Ho&CTE-Iz7N=jJHkkMjyn)_*1c7(7FM$X zmouO9o;7WN4<-C^!|%|4?%w#)builkidYV{Kr!{|i&qX|Br~RQbx8H?N?=tP;x;@L z-Rt%8NPcDA?iY8lIOOyQbcAqBzd+FoO2_o>M);}l;1MR;T#I&}Vq(YHZN<}|^EGvz zkAu&hSk|*=O+DjnoR`+=NH0xS*NSyFE%D~JR@k!ZtU-Sitzr*K?aoZ#W}d|nUhSvI zc1?5%bvb_A8@6;6Q<+IwiQH~Zc#H4Bd1GW-qKmKI7EQtJ(Qb%zxHnntLe9624865U|LA%X?ah1MX1nN}*U_xa94p%LLw*ITrkL^Rs98rgEEu6f z+gC=ksvod(dcD3FcLF9tT|ZjZm7%oU(SmXrR=y%|s&V;@kP~^_xz%>C;uOzXfbw%R zLzO-AhtWIxj@obsGL5gP6Kc#{qLmd*Z?6e@AFDZA%toHf_B=fiK`BRWf&jNKVV03b zW65yGN~AT;-u1h#NGNi|{djK8tNl}gF#rWKI4>2qTC?Z4*3hG$w5z01Ueatx!-2|8 z)Ra`bbm>YdlgxU?yk&3?w zpD~gIbPW1Qsto=_w!is=7LAUlGuqtD_td9vLcvq?n=~G@vCT~vIlSccilSRuixJP$ zEh@1D#6fJ2cb~{u@F?trU{@)X34UhyUqWFut&x_R2t&D6M8E6Ez&+o`MBlG% znEHZ!E!PQ7waY_#D9iEc{pz-az7-YHuT*^=!M%Z#zuCf~mg+hh#`9yRLW}Y+d)K>D z+$qEM_e3VWGq^ab+Cs2aL$+xIk4YFMD~Z1YsJfXjPhIwfF1os7885mV9U3i6suKTY z%NK6V_1IlE8txdgJ~yL?P_U@aR1}vO<$^Imk!@p4?>u)lHVuXNk|!)X7j}L>jGx1K z3FKa9O1DrI`6g@#rM{~tqIVAGd0)-1MsldvlIRUFX7}5;kMgWXWkdzzMQ@v2TcegR z!j6G!o|qfPwJI@3x|A)cnCp14ip#YOIScU9dZ5gBrKUHc5m6)v!5#i7sh%5hqz%j) zZR&8DchOCiK^vd{ zX#LF*awl!Wyv7ncuV2hZkWN<{mp}po7#57_I%)fBH?e81zDgj4iXBi)a)GHh!xKRb z&^>D>B9i*J(mM|VVE_{SObmn+M%pDylb==~|cwA=^O`*bZ;9-CmC#Osr#jy-l?h58@ zUH#buY36y{N}`ac{IZ%DZ1e>pI>fwJC(a+2Dr=D3KV7xukA1~X#+myBH$F@&}UkW)DUIE-#ztr-U*%gn6LkF*VCx$hM+tU4s$+K^p^ z;KR8ySMHBItWaQu-vEQeMbwlkyiMh>kX*)cn0V4suC#yQ5&y_>#^Gex`xNoBYz4?L z_*I`E2JV19;8BpON_ur+Cxdd3g1kM- z-JFR-K<^$@xfacx)4!A-2tnay$WeA6purnEPfj#gTfFT6Eui>=ZPHGwQ3^U;;@;yW zK|L)e4PYT80Yp>nFwNABVQwTflFPH5Y?x7qL-W<=R$X&z0c08N&NH>?27>fvP@(SE z%vbZx^UG~8^&`0i{8F|?-B@%ws;)SxKu@Dkx0`xhi13#kv>bPH)RWX3xIi#(G%t;5 z9SVocv>~?*c#OBF(YEK z3>g&L2JtEP14r9e6Sn#^J8iH5jtcW4ZLqH}MMSSHl^wh~$4Q!FUm}EMVH$O#snNr3 zbGdG>=!j^bnE75EZVf;XfiKuia&1WA%@hQo&;KHzN&aH-FJf0YTNk@o51+iK;~ZP# z6fxsCc&g5$%qAc08KSmmuLs7$@8ms|>x&X$0ZwYM(wVUY3OI?mO1uu0?VK`RE>WI5 z(PI46Hc?A2brU?e**r&12{h>niWLyO)YH|A@nF#wcxO91^Xcx(oz#D2)KU8SE2D2P zc8=mm&3Xp=J9?s&&f{D)zs^vlK@i3MAn-TOf(HvSdADCgKjh zUDwwx=C5{m=)!43s*N@1@#tX9HcJ3*b1UFeN#ot+Lf=d7k!`zW;0nqU2ds{Z$c@tK zAJ$w_jZhL8?*_Ye_HAR^42M6VXb3q6-TJH|;9Mq)<4dLSG&n&_Ve6)@Wdzm@nL80j zwKZ~HgN+Sc%BRvAfh~YtwF=Z_eN4SdA08YkESr5zLsVAa0td~YSneGiH@Ek|)C9TK z3l_Syu)kTl*TtvnSF)?KEDbISFAn7iWkG-U+P7Hv(Im2EKZ&&P{4(1e;s5j)nO5!7 zqAdc^(eCTk0wc@3Ocf8OgD6SXW3!(+Z3N=*#f1D5PAr?Qa?km5$C-=S8fdG&M$uv02Y0TKTPtK zSsw2}03F_4*JqozP!X)Y>V?HF{LuQUy(~}A9?)b^zWM4uM7^y71J@Tw`e3=H6qo*qfpHS_MYtjF`FhzmX)LIFryu$HTyZGR3k{6jzz#b|AR_s$ zj}#KLf*RspX7_yNBt;vXvWyxh~UUIR9CAE`TI7+WIDFLI%~EnMz`Uq?F zY|2AlFB1HpzT;?nf7gi{y#VLuzXtdzcZq*Eig6K3zf~qqxy$-YB=2)wkJSc!WIg}D z2AY`mEb^eaqMwPZ<`*#dNWC6%amHo#@(RM-y;Yl{8F6r>P&$W5Mkub`p%-Xpx=kOH{^ zlKx`XqO4FhPZSBQb}+#q@>g&!fTAqmR<)7GP~w4v_+_jk%%R$s+6U_67g$=4ppzoF zZ(;9=0iVq0e}kd@0%q3AgGBe0@EOYv#6Z4T$*;X%@_z)-EQ%coG^md{5piHmR`b{a z3M~rJ`#}ar+D}ukvI86Q!!4NLWJkc6JY>fb^uHG%zi~wYeXaUx>=$hK2YohT;9EBH zDBHY>tpW<z_ko^VSg3ZHHNGPH5XJwp7=DzE6%zA)pD?(B@N3&I z_*+7c#yk--jF-S>D}eZgsW9}1#<5Ha10(UN!Ds;YF~WcJrPs`+g8VuRNcLSEI=Ay#Sq9(o^}nRK;*5$zIwhefy8om zMd%*PKJ};j$;n)V58S30T1_w{Jhn&BXBuNBx+xm7gxXTSDa2d`OexyVoht zLg|Dq$p>o*Q1iA=mz`_R#()0dyLqVmPrg0*hBu#q|5!-@4rsy0q(zX!CJU}AZj~bO!ZufS5n6L^l3O2 z=^}c8{rZ;dx>z4D`=@acUtKjQF$vNe3G6)r@AHi7b&5iu`uo{{TI-josJ*|x2c3Un zD;_B(7=%Ccnr%n{?Erxm_FNtyFYmIyf7wF-4pu$ji=JQdcoBQ`rAin2O3&;2qEgH} z7}J|9>46bv&Ag-!uo#G~3$$Mt`Lgh;KOFcMU^99N4IalboZ#IfhX(GQDlQpJPpj>0 zD|PDj_D^n*G4#kb0p*d}K=?o*$$t0-AQ@vn;2qyzciI4-Yxz+{e?NA5yq@S1JLx35V_&L>bCYbF$a&rR>1}KXOY_d0G0u*`S;FAE#8377kBsfftK#~T?Elp ze^WNI|Jx$4W?x5@X3Q%qZ&4FB+R}kvb||GaO6UZ43h|IAXSm5zd?hw z%OC5&t8gH~gE;{^n+#wq`I z^3c%`)z#8-H(+R-72xKpfa3UICs7 zl{+7cFdywj0(ARQ*kyqJ`L_ZUJQR7o=9-)9J;^m*G8#YvjwU@nXn-U3aQ6!J){9Sf z4Kw(o4%u1NZo`WA?*Rcka2jz8fhP`g)Bk|M*YrRi>_JR~4At38h&}#@r_=!hw%L-3 zlAn5iZGoVN5N%Og%ci%WD$t`IOmQ8ipWf57ppUampQu;gr1A(`4c{9V08OtL%XSt8 zgnX2YYb5&4LOq-xbLvLGI}Zs39vh|WpjUx{J0lJsjEtwHi-23BgSEo~a_F(lfp6v$ zT;Y}ki&li!C0nIdZjd`vB>m$*QFMGAU64ZFhB1W;3orZ;vvA5oSEBfAyLYJh`6K| z?zwr;0jkgS&2&uOR^z22Q&Z|@Cai83&j*JRz^yIFMplV&cosKVQ3(3;$=Ug5?|V~- z5yZ~0|1{q=JiP)Y`^ISPc{}TpIrjbta=4Z7TYHfjBeuVbEtC%2-r5;$)0@0ux9b%% zyRGcQXH{P2&NpHjsd(;PcD*l$+d`QI=jM0FH72C7>LX>>I`O}2gel!i5K37J?H-c=c7nYnwaR(xPdfiZGb=6XF~*BX?f z9>!om3K|@0Q2DY1@PZqKI=Q!0wW~{3nrxy7o(|KwdECQr>svziecm-mrOHj`u8^BL;y$OQin5`Cc%29lK2e8o0B4P3{6CW~c zGON>X0oEJcuPG9{nj*pXLT3aM8~LXcqkPPDLE9wvmD@IfsvNK5x`$e+%oJf-!-)rUd~zYD=yn~U6LJ4>H&OEp zwuw+dTbk7gQiCjf|MZxL`xAEwJOQYJhKU)H`Zl|u-V~VV%H@_GknJee8JaMU8ne0O`a8hWcrx9asLa7L=l|+7fm5@wd?tUR-g4bWeI)HJf&Iv z0UAa0U65}+6N5wQ?1dj^!(~Q(=LgEhtNvfJ(^yKrAEwL(>O<;d_gnHPeq>=T#5dmeK8NF5 z-r@VlBA<@U_*dKq;_V-i6Au3Vv%c~DC?+JRfOfdhhXmjt{zH#hWENzRu$eq$I~JYD{saBzz}HD?eFOIs?FD~`hJ|GL-@aCiQV85Plnusz zUe6Hf0(D3QOE1$dodWyoL?K-G&z;Bj*Cj&4NcaX1XXT&imk0!j$I9fXOZI>7Z6T9K z_%jj$aNm2Vc?sf^VFh~wALA^dR#53*({;W-dqSz`?@#BBCm$blB=6`2!ao?IiunKl3J`D( z002P%P$K{UUjV9A)!!tk(IkiqLSP11Jf>gKsPUmq79N+aV ziV)5()%d?k{VlCpU~Fb+h-LuJ3IO{L-}kq5)^@U`vD84IA~_O7UhTC3WxSf~9gIb9 ztdqB_EZcT&7}vLbPWq^^+hw1zDnr#>O$$OkrWcKv4u)TOlC; zXk4*i7_>>mCIA2k17h$Jo`XOz000C4Xod=)?Sbv~UAAMHVKSx~5lFaz6jTQUV(Jed ze+0v0zZdx59*DUg=t41}v@w~gwuu7ARs{>H%fxDn$$$)wa;;ZuD8`dKi|lOnstGm! zBKFH&XOajVGCl?(_GZik^)^Q??PA(KhyWDd&E-HTjKt=ODib)co|)qDzTXb$Htm}D z)B+rhM`P1r=GM>@4!M881k+?;$<8WrDrwCOs`4n`wlu}0Ejm0Jl*Q7VjGTv2av~U4 zIe9^z5;*YGWegCO+l%PTIc|(FBfA1R1!ORFo(tb`OMVe%4~t|PLzZ7!wI5j~vew=d zlBc0dKx#|tp=m?)K@2ubwqo2GSSjvK=*VHe7^|wV5+v|4s=WE4(xMt|`>ncAyFK`KG9R@9KUr0)W#Nobf-ez31_mu z{Vbyq?Mr6D-^IYO!%O0A!^uRCItH5~+gcSgmgDA&C0F=$Z!3}uT9|adDhe}}SgAN5 zNM@8s#nvl7W51i`iz0yF-hs=5T$P;GVPi$g6w#G-F0#e1p-qrPdNE^4rK1_zy@YRO zt&7rr(2Mp}Nr7lVl7T*h_y$ql&fezjR20(1tnrH2ZcL;c@bw3VUa3k7Kv@pcrF572 za}3Xllav*t`|{MYGzH)5?2}qTq&WzIIJY|d9I3R9v7~!xQr$D8xa;2hW1Xc{J8pge zaYT-oJpTNWkkJ~oj3CJLzVszmxOgk#zSXyFSw$*gP{f0lJ`|(^p@}Bd>nCWbI4n?Ia?jYmDfxEX*PR?3 zs>E{}Fe(hv{QH7k4$#BV@EFet_G#RTmIuV#v|M~qN4PIKF4p`@#o9=lRQVb~IK~6F zwUwuMJQd@!?OkdBmpg4|?zkpI?A)F^K5+yx7JLWZ_h&97`ah(0*-)D#}~m{y(v4ASDa{N=o@K0?WUYO ze((1duXEL_mUaACWP{?CgfO?dyA+j#Si@;mfP-dE9YXi7fUK$hES*sxQ|>8q6_aD- zk_yF6ubDBS6GMk7RKt)M)h+tlr{Z2KNq)Dim3ZL5o9dXFTHh~a&;@bZGnH7P$8znm zY`Yuu!3qZlk>uRu7H@Ryet8c3gIQ+qLktmR^75{Q2fAt$EUtEsl;i>1a&5$|WvLAC zdo}~2S)9aHCf-XfVKhgYf4|NOeBhIdI2Kxj>cKoXoxOK50$49^ZfjZN+29ir*vG#? zMm?o>1n%ouqXILEXgo=o?8(^dH{-0f1C6m(J(qo+=dRv$cM*L{x`5Z{4LNEW5WK<^ zEAL5+N%_D!k|jVROp7pjN-o1ZkjyUQDke4y4%Bjo&xh$IS`smo1(8WJH6$nS_OB>+ z!?g;vTq14BrLJPs#$Q^QQk2$W9XIKo!@p}*y}#u!1?=H7)e)$*VidK1MnZyaih;~k zI;{hE&Ym`5H@=);p@LsA>*MovY9wnEDR%*m0Di%)Rqn=F#x(qc$b6XQJ;<1lTu|RL z5JEUySW=}0s^Ud@6^)D4ViXaqx}2~zT?aykVTLJWnMu=!ITv&y$X_sZ+qB1S<}^A> zjNeN`nWb1umwXc_Qwkv(b^AC2g36$TUDEA0iZ$4kDc{Vs_|D%hL@$t`1d+`r=v2WA z?=f9u23_R3Ith`$l-tD^2oZfn*X7oTz{Suby36D4aNT`$6C}l{WT2p2k9oJQ(`h8C zGsTHj)uC>p@VH-HK8YP|WuX%>G+B=N|Vo5BDKbW7o zWe;;5Z*)+HD`Li^$&bYV)yprY$LfNfx;{n>f9e4_z5^HN3fisQy}EY?Yoh}#0z!L4 z5e>Qfwf8u7Fg0pE=kHH2RFFOhX@m8nP351{3w&D>G~NtH}$E? z>3h7_v?bW8%;Tn3d#dHUyX!!kCw$5?{0pdcoX*Njl$R?oU>Y{I0BDNJdC2fk`5=PDC;BvcUUDpR;^o`{< zdo$LwMq9thLj!yhWq{w6nF8%b&4A!5t2-M1n(b=Ah{6deB?a6ek(8EDu^wzIm|TEU zjt1+x?Sm2|3?oS&jSvck%3gZqXChu7P2Ls7P5OC_j%$Lq<*Ty>T|llpl?NH+({lr_ z8z$F2bx+VPofnB&ZgY*lt>F6}*JS-%)BM-3BwcANejp`tGfsPMl>hg7p7u}H)xj(H zB%j(0&7I`e-TD8Qi+Nv^?jc)EW!yQb&&Df{N%=NY`@KNfz< z12uy=IbmJVW`5}34z%Zg_XcVI=j+>ED4&NPa@ju~wfFvXSmeLXr{9HKH|Re$jFHpN zzh_SDP5S!~$tQlKgMN9eega{Jb^U~V>mZwe?T#w?=6sa;+f*MY86(g6c9vRr7e4el zGb{L~VYnJ69!igO$nA)J=hk={3Kx75|I>DWc+C%0Z`bCb03-~}w5Bi>FNC)*3BA*q zx_R>^pt>~%wna8=%?sTf%XiJc{7)sc%-xqfOT?*8`)^eS3;M@p{B*;mx662_B|Gjyad-Sf|3-$9Om1E!Z?Zf-|_?%>#AwfQMpX_v;5dYmU2tE(gVx79zy1YyE z_>Xye<|j_xOzc^Yj^Cb6vzf=8dY6dE;}&D+(-HTr?5a2=r%e{C(sNHtmsKpEM^!}B zXO{oUM0+!zbdToh=@!bLq-sE9?5- zW=#{L&n;uICLZELzYEmV)bkOC{VT~izxsN()nSJJ)UW-do9W^m%t+RB*7um7CD6=I zp6o|k?(o0Uo%)CVYdnx}pvFVm8)ZxCM$_u&d#rutLnEip{-yS)pV@+`)31K=Sb1ji zl+VK^2Wc6$P(ob6|Ywqm0DmU)58lsabKnLLVX zQn>uRDSYT!aWmr&TukGz!#31rk76x)R;smx&0INA%7+r*+{#-ysy0JnUf6QA3gZ+P zC|3_K{dtLC(rxdm@{>9EWKNaE8?0}hu`SP02#aMwb=xsh(>x+N+*;FC z{b~zQWGK)i$wFrypaRxH=|Za*PI;}5K_{Cs4UYX*$%>VM)jR+{bxLnX!|{dd^W#QU z49F5UE?URU)$VHBDCMhMoFvr@tJ@c;JzkqbRt7}pP8jo`wPU2s<@5WF>_Ql=;g?mj z2U=#76qzYw+EokM7d+}My-8xOwovR;AbfM@5<3nXcQF}-)LY3uL%wp0b&PaAGy^U{ zv1ZyHSa@yo&9HKmGNBogttys0jBCSU+Ql)phhk(sxKX>VUiUT*^H#r!K!K=SrRKWs zwUPJuEV^3vIv^7)3#=Elqx1A0n_6(pmD-wAC_MY z)!~P1vadU ze5@Pj_V*}lzuw>jCEvi@+@U|YF-R5baxe@1-+pn%)^)GantCdFFZEjQbD2E(Y)Q2Q zlM$tW9|hZE?MwUj?T)I>R!RATjhAZu6iV5%bif{|cfnc`rL6Lal=)X!^tF!UzoMnCZ9Rp25WlT=C{@Q!%@=>7n^n1i>PnQe z!0lfL@;#8*3bn2(xb|HDI$Vx-y$(3bcRjqTMQ^dN%g$2=KvbGI`Q#l@ElZlEs=$pfCL4KWUWmr#xhwGh;*NCNVx@hq1;3qGk z)`4ZWd^|q5Q&TlS5A2kWs3Cn%6UdX)fLL^gXk6Cbu&-59T)s;{E9h^d{8wQuNS> z06olc_e!?Y_CD{c4o6*HRbG-F?FD@#oH*s#--!ERN zk3v%2N(AnK;`7JI$wpv(>MIBnibKHaMPCbEk<;2+!-+>Y78`0AxaexgNnL7(le-;=CQJ?TvE!}HwRqPbuZnawxeFA`=cu_eSfzSR?pBx(zHdbAsT*hKKx?u+#`Gv*Q(&DcWPLk(>=Ze-ukaIPy_CWCn& z-C1r~YWP|4Cc9}*s!wg@HTa8{KK5<9?#b8bd9*v(kidsZMgb z^R!1L3DjTisIY9jj+wt>3$+Ba5B93pKJ{}$F_y4v*(_HQI4DdY-s>`DKGt>tI0@}$ zEfLX8o2_8D8Jb-RFdkhO!>CyoY<-!9{3(N(T&MZMzT@UeNnhx3PzG1FilA=XNJL!A z({(xkobA_(12{ZhFbsTBU#(OPPO^Ce*|2jV=?a89OkU%eDCy z@xn};MY0KNE`t}vLTyn`e3&SBY(FWxIeQ*?zUi3^d3u;wcDNa6p{)%mnLg)1vLp-+ z-KxOK;+~rk>gCbm0GZs%-Hl~;&wx8~%Zr?`X4-yvGtIWHWG#5`!*%=}A5oi$%_I85 zi8d2X7iZgVf7JC-%;s?Ep;h6yi;Bgc6k}2e$3@x;Hamt>b1t@$J^UgN%uMjjskV3& zZhJHWY0IivWcj3EC9Xzh1pyjORO)%pt5Cu)$QMb?DyDe)lrRrw06yFJt`mXG#et{n z-Ybchf_h2Kcx=Oev7OUako)@uU`0?8}(Psbt6~b(pWJG56z0|De(X?K+eCY9NuMtBRO>u zPiMEsUnHomrHB$iJ%mwN9+&uDju5ya{*v(i$-J-b#@6Z? zP`dTS5FtaYluF&`Gd48W+#xGSX(mtY&LK^e=7khTukLgD_!p$uYBV|(v(&A9%3rgY zyzam`^Q3E-)vJ~K zl5J!+5&NXEB*bAu)St?3^8WCbkr~B^ZrW}oJx1MIdj|Nc%4zy6!iVQ+$c}x?ls_Dd zVj<35t>kL6GRtq_fJ(PRQ9*b73nsKBZnf;gY9W2qKBRU1crgW_Ll4?>#Y3)*bjsNc zBNMqjfTB!SX_Ez;SNzS19i=c_c-$Ug!UAluA#^>$z# z3?i;{Yssvbc05v_#|IBa*upkJxI7*2A3M|icf6K5^BsI+Qa+0IW`=qeKR!Uy9maLn ziK2##42^VSR)!^wD5HtUf(}wly!=G9jid&0Pi(P9&P;0PX`$8QeM@dN;IIU3pfp_A z$A}uu=6y_(gs-y0L#6_ELdxr8D=^FXQ(_^*UBytt|6ie{Q3yGgWjeebwxG z$U8Xfmn#ZXrc=R1t1}xm<821V>_nJ{+O{D!FQ<}&p!}dFI94~RTAU%t+x};s0!9fL zPVUN6PvVlzfd6oR>PEj;dv}R2oglemuZN{J;?nlv3ClcS>U}%kr~_fVL2Tz((gtwu zEv38i0teeM0xV^c8U-8OdYO;G_A25*#ChWh!Qk;_X!Fv(zz###nm0@+#cN_u%`p)r zstokW1TpIHwCT7cY{jNRFew9UYLZ%1wR~O=$(B)ttCto8f2yr__ToU5!fx1AWzV~@ zx3=lUr+tvCi1NB8?K5?r1n>oI5!>q4y=8&(jFlNrLw8loJn=c|4{B&qjG(|%7}CKg zyivqhjSkMu^H*}{+{=&UuCK`7f5h<2>rYymESFsR4b_sDr_5z6=nPZmt!glLEVG%* zHx5f>WJT`b+pXDYzj3SQ;r(r#(bKv`tr4@sU^BvSa%mshsNsB~2gh+~a?beDYIqCc z%8!Vz<<#Zaf*YUC5_)%Ive)iwv|Xb@7-Rm zG%6mkO2>cW1^!20%!#!UnbWyS%ijlpjgpV`jwb2jFVFVaeipUhTKNx_Sxz{Xv31p? zVc=hIf8TSkTsJ#Z6jHThKb4>_nY}C8wNDSnl3y;*TagdD9Tp9xL50^MO-Q5a>l5u* zD$^V0-Z&XI=PiOeUv{N_TawpkZ1Dwh^WJ_fxCUE7X6#0t5iwH|=vOeA^E|}O0f&|M zrQHsMniV>YDSaZ%afH8S*`d2?)mk;B)07mPf`LhwHYRKD%+FDe z?r__C836QiEdzQ8827UhGdp*XYbRWwU}1Agb1IC!#UN)j-Ip0;FFHDrKWkgI!g*9g zPX?ER(OFWgQb`f9WFq;*i%Fn}jW~HkPD=+yyeLeSjB*fipqFH`Ims96PTVE{^C{c` zf3y?XaP30Ou&WXI4P5jTi!6x>pN1+<`PtmGn#PVcQe|aA*AEQtC6XgV4Bto~Y(>Px zF0mEzKujK)qyDPqJH9kH|T*D*_jeA}Dt)OfEy(CB9>X{ikz4dJFq69E! z%8|h*jA#Q2b5v_i|HvAE-jxBoNG)#qye~?)f}9NpC>bpb3GlL~-h38ofI~1BY%DJb zXMC`{K0f{z-|Glz3 z_HA-9N$hFiiYr6VIYx{CV@#X5n}XDEn@lK6%qZ=}LZIKhP5`_9>Z--zXI0^I@U1W9 zM{;tRW9Gskattl^t5jUp)8j^m&09;(hqPT_QV@nve84W%rdO1v4)RPF9j@VhqpV&?|Uxc8^>0^4*lovT%1twF@% zsjB3=!9cu>Vui<;g{ML)B--Ut2$GNr2-Is+{E;iSg$e+wO~wIj+%X{Yoz4Tqs7OIz z3skgI#qEPtYh8AI^SNd)+xTbW?r-y6n=$dAE=gD4gX2{d?;8ml{3PG9CP>j0)@fu! z3%tVq2@EH>nU8SAs*~eA2b4Qn~O5BuA|X4 zrq0sEJ|^ghnXq5XfAZb%>v1bPOj$JDj_nECt<4IqHLOL*+mRG!!bsF-sI5~4S;jnT z3|O#%X{C!xE;%c<6iFqEn^MTS5p|(u2&gDJG^UaVGTOa2)hBC9x;u*x$nsDnAl5i?Mie1m}PqqlS4>)?vG@;gfD^Wcho5gyH4 z44{*I0FA{7_RP8d^V8K#tkF@o?-g5mcO@;1slfX4bQ`m(5Z=wfbwrs`;0MzHxj>eB z1|E~y)gFh#FfTv)y<9`;Ly%62W}vIzzu}xwce*+i)$JgME-9%S>SL_tN?*rm`8e0& zRMuTcr<(!E?gO~B2e}01C0A$#auN|4K4QG9WgC)l@s#zV+ z&$|8Zu5wmdQfIPuu$l`EIh%g6d$?MgTy5CqTV@>Yin%veBosm?zpQg_?+klL1_cEt z_AH+03C+ff6IrEyYHer8M?xc2)`;^;O=`2mi;X#L7U^mvfbUl1Wm4hdSl3c$!gt6M zDYq*_&V1>dMu-S;@-SQ2pkOwilj=+<4B$azYnVZ`croHIukO;LerUaIkFXr5*ES!do=*Uu*TuHneQO>0BrH` zqk%z(8I)8TOHif}D@1C8p>5@xDY|}P5=ZhEI8Mm6_GC6z#lTxUI{Q9-`tielk`Lku z-r|{fcjNvrmhTqXzo~zy{H(XhjaK2U05l}M7LU9W$hN)RFMcna)lBI2SnkDpfggJZ zPx#F&Up|TG$Glyl&S)l@4vW_X$f55^ecv8D=l1K5h*`U*3$Yx6D%X3VnNRgTI`0{y z{8UP}4jgr$2Yt>`&)qZ<)!M|I*Ytr+=FL|$|3V~R5Lm;1K&&~NK40_O*cd+huV?U- zks~PYldDo7V$}J>>%+#+^X)oyISWOj<%h(p=>Vzt?_#(NAI0>iZ-3SWn|>0;fAd41 z_l%2F`RN(`zAyCiR2f6IJ{*>BDIzzgdOz?NG5q4K*rw^~r#FHs(um03|GCqY`W>}o zFk<#&QY7=|M-K+{x-2*Xg#%D5SZ-PL-93KQafRrqECBGf^!cdkwx55D{bzwl_J`rR*Jm*2;Xl|uqO#-J<)frnw*8WR-H}qm zVQ}$T?2DbmLCYsQx4Ay1*h+ck92))j?PvuGeE6_KXj7Ue3Z|1nCsq)>{udho`_itx?V=0R!qK+2vo zi!;rT5vGmsmY(&<1oXbxhts-dlUmK8_9%OQ-KN7qC%}rqM#CBFXg~|TmjLBgF9qDR z7sYVqeNr>$XB;v`&T%WncXStTk)-=sqf7i7i7Aoa9Ro2W*}`=RG~u%-$(xaqX=}ce zB+WQ`;T?+M37xUoi?0b>dom}@fC98^VX&c6mwd}jhOz}VF5)`BM~VQATBBz(O? z;26b} znj}|*cTC0V4%H&ek(*e)3E}kUf*uEmy&2G$eY9HGqZbG)uaGrwauKEbbO~<9h3+I* z(nSftVyT;!mqDepw$epJ@fqYQb(S{ReupEjY7c6un*a33bpO&j$OL|vYS7}>&MGt0 z(e9D9hL&buT;Mx(1UCTuu#En==n*6=t7ABJM40M|pX&G|?5iOxZ$vP4$$>LR^9sB| ze!ZHX3e!DN$BBxNPDdeDo`CE&bJ3($tf_PH&|}Q0Gxy#`MDLf0;Zak1-ydJrAM$-W znQQfzl4l7xtHk}fafIBU;%_jQvLGIz5S0jJoCPP!;ZSEq&&jis<U!X?V&L3*5g3LA zWO|stUEwapv)VWK1q&NpE5^*O-td5~IY$zj0o_|JXRN1$@$(%V;Jk0`7o85$fqJ^4 z=H~j#>qygb^LKRMT;?n#s`zlroI=v>f(xQ6X`tP(SvlKs5|}ZF_glOLzXwBaDZ^Hy zRhbFu$=4p5HrA&P_xn$+Q4a9aB3l(0wf#2k_Tc$#R!lC6B!NMI$EIU^colK(BG0HO z*KZsjvoVo?S{&f&Env;Uxy=)hWlAd0ZD<&Jia?HO&TO5^cDpI_7v{RCd>?W8siInj zr9N!l!*^VaHP$0cVhV%$zNh<{NPTxP2ei2)9|Tew*$pXKHKN_#`YI_|n5r0J#Db2V z`qNEuB+YEvhVHgjtH}fv{FA1{ZHi1$$ly`-UacHXq;v3$uDEY{?Q#8fcH`criHAv= z9?uLF52biDb%HFRmKK4$2Q%~cuj3ztznWYkgve0|0~&KNQ>Z$;fb`AaO*~WiW5%jK zryXsnZdxZJlxguidP(vn3~7y@K%_0b?%c>0*wQf^Z%a6ylXtr0(i&IuiC|&mt&V6xO{}XiGX#Ml1!iIJ$ON}F^-~6}wHLiXp;cjVv)Eu3_jCQ~$i_nH!N&eQOoi#$TeoPbR1&Nww#_|efgK8mjtOuWMX&x>yD9%-@O{g)?^=IU1df?XUc8!R@52|jj(2JOk6-v zep=27Uz2tKB?;Vfi#WmZOmwlXGK@=w0pNJvs765Eu;Wc&OOQhx8kH3)RskGA zF`K@Y$8*3C!q^qjtq`XT;g-4(WR{?~rrE7VdC7Cx( z>IE|jmr#J;%gJO(Jfmv&K^Dt7q>MVjV5U11kp^SZoQP$#DcX{=gI+uQT<#l<-rEBW}72ycJkY|Q>GtF3SM%WEOP%_zfk>tQLk1rBJ8jg5qy=F;2|Mb z77a~2>_q^-wm=cFL=P@=JvB^8o{iB;4m0Locx)y0^@+H`|Lk*t%NC)4?@}MV_b9b5 zwftHw7bkIU?KLHtbb9cAv_a?9aDbdg^K4=q2$%IdvAPd%CgIjkJZwK)&BP-K;We}s zc5~vU_DQdBBHP4Z8u3r?Ihdw9l_nJxU}W8T!YUF3<8>20lE@*Ms{_D8Wby!sZ+H~DMDKesQV(Y^BNlBF)~at24M z^DsFO!GK_zu7P8WpkA4O$v6PQ&)sA36GY!9CRvg4#21v&3d1(5Vmx-KZ1mKC9e5tW zn^xKS@(?-IC%}b>n5(JqHpcqS=U?5l_2xqT^eql-aIT&8yDOf|NZAL?D(x3~L+`T~ zmHzVrv$Ly-bvH%P#`v` z+u6}b`)m|@%?bTe05wDW_R`V{bJIOW^XKXKjMzEF)Qd$`_wEx!`}?aABhtS<)IqzH@?Ys%Jmczx4Lq~r~c(^yY54n@O+TuAX2JJ!)T2jR+cvqyu`Rbb3&CU^k{GLbR+-m-~)w@@6TLqq=NlQ)v7K!ex0H&vF=>quU=+df9;l z?WR&{@%JUY1R zMiWwq$4GUp7b^8c7Y1uCe5;pY2g^`)Ke}m=n=jppb|VrPMCb`cg%$jsH5SQu;?SIU z<0C(8bXoKx<%G<5X&rW_?_Q-_nR75G9q#N&XphZ*qW>B&=VXX#O zzYR@dBe!dU?3mHG`)TR4fz8j;;qWA=hLd$wI{w;!jp|po8n8=L(}bXYR(X|dpJ|=` zwstKyn2xBo=*COyi;QS+XR~SyK>^J-)~hDo6m9)47=14;%1UQxN~yY6?Y)vp*|Xp zIrj_I1SBmY@`r$?g?*c0V`64q0EbU=`i;^v>;taz(#ziUVOBw$uTVp_l)VtQ?)}Ao zTR}nYRgRSRC_c0TqwvHWtN{y=>pW6C!_ZGK4~t?slcJs+pfvP{LfJxjFUx*eaa^}1L4x@i8-8E}m{t?s=q>70FO zo~P&RcMBV7H!_QnZcJur7ky15U|-r6bOttFRub3R|L*V;JtC~qAN<8?qS{D6a@M&A zM`?iu{d8KY(J9&-`3o+Q@-eH^w9msCTI3U_aU`= zUZ_>ZzRb`&$){NZVOn(_U*ow-Z$d#T>|ehr81*tfQ=W5E_SVzmiERQPmHqmS_MrVy zll{c+div8g!N6)se-??bUv<`=d{T5GJFEcY7iaPNHWq=h3!L|sp03{&O6Q}zuA1`q zZ$2~`&u%p#|3A$Oq~6^v6e5xE4k_rtLeDXR45lQ;3lFi;QdAAk4uw5`#dxEIlzm|MZxtFuRX;a_nNGXYAUH_H5rh|*K``)ew_>>w(t^LXvAY4)AV+l=#14N=~=OQ2yBq()NGZWa8P1CNREwHJJPTVU2-b z43AVCX)ke;XJ8*;A6@{_i@~aI+P1!k^RFUsq$OtrrrO1o;mMwdr{4FP$Vn=Pp%lnz zP@`$$Ir3~4Mn!^!g?pr|54#=^J%OpUdx2kvDV%6QKf!3wvg=&9Iz1bL6nxWR>-cmj zqT~~Q9Y(>D5t?$%5%dVE?eK7;^+B+uw-43FPrTAt?O$`JCPT;%`y7WlgBEQziHr{6 z`3EWRvBQ+k+n^qQQvm*hQ%^h##lB&m5e?-Yqos>S92C^Efz#c#SsJodxh zUF~_n!=pe?TkXxs|MaHUi1J0HGuWKuv)w-(8mD2Skb1=ZOV^4%OGrD;@jsj(v%w4B zwA2*C|Ic01;ChT5v-~y9JF6D9m1dDKZBjF=*Nb}8i|?>hh#UpQubaI?J>qQn%*8QPVODZgQ^Lv4lr#)y^drS1A3GXd7fydE4_w|DFe$h z92^;(m)_|$yo(PeNgM`9&z}68PhhB_X(HldF=LQlsh$I3&!^TFgA=CMwGyowAjW`(DLe;NSZuvB5WQ43b-BvvcZKznF z^@=~i6Ujh0VYuio!P9n8{i=a0!d&>nO_0TKGgp&tv4-C^n}ZwR>Z;)GaY z)@ONW`$RPL<+{CAl;u%oBsn9xBtqV0hgvnuSS@4xIC-^EcW8!jBxhJ8cy2%LL-(_a zB$N|NSH^6R+Ft5=YD9CuQgrY=TVck@lr1z^SAS4`WO1Q8ciV%M<#t#150^@DR74ov zvD#3{vn%REl;)}+0MY+7@+T*iZN;*N^6kP+>&hpA)q6y~QEbZe&h-IjQi&=ZAW7;K z(rxHC0s?E_4uD7hd#inYW7?kMnAHysmPfldTy+i2AUZA@a&% z0(FrBf$@l%#uX??(QAjr^^h`6mNDys`B#>~>{p|-Syb<6{*s({f+P}1xxtSPkPkuWuSg@cg`5&-Y*{QR1K6ZixSu?{ ztQ@7FpvTJbZZJp$w@#Yx25lrgarAUOkkLlz36?$}Qu@#VsAQuD$N3GdiFxulKUb-R0HRWW^&jb`K3@C+1Z# z$*T1LNAy1ZITt0W9#|X;nSm;1RT7~O0&ZG7UW9O2gbiCntfiifY_Um7N5=>4^jmGn z4Sz}tKDx;lM=%bHkU=gL`8EL|!V^QMAJ`?Ml#@+Zkva3wSTFg$FO*hd+zaix@W%M4 zFYiY2KwJ2sF^9wL=VN4iU{@0ucj4WGuo~Z}kq$ElP@);=w&2avd$Cr# zv0Jl4KsSoxP#l1zLCA&C-9fUO$Bb=<(lx(hafpowHGBY6-*Pwwlno&Wl+itGuSVki z?;sPW9Q>tRw*aZc-`U}#T*BW>G@m&`LqTN#4gn#Ldo_Thwbq^de#}40Mh=bv2v9BX zk-{eE40j`_9N@qb!XMuRAE0c2XQLYds15A}UBO4&n$80e6qmCOl+qLB&OavPXAF|b z`=jO|W!u9Z8XuoEv;ep8Gn>3ojy?2|zf^vNk4W-?1|j5(%(1(RT|xI!7#oVteJE;Y z8^dy2wWKwKZt4tPbx;H9(v^JF%O*b;IDp0VBm&+3#i`fA6iwqP;@J0;u!Lgi!hZ;9 zDcwPtDOweyV9*ni9r*gcZo>YimqGG0-iV;lG|xaJLvU!JL2iIhNIiDZFo^{w#L-p< zqn(AMG-v=CfkvnHN4bD0n{a9{{B0dGyR71$qu@2uz}rKP#ZwR13yh*2AbdJ3S3igd z5Myy!M0{Mv@8iH@#BdX12%G}6em@q8A3z9Og!v)@upkE`A%jE%NPYCz7RpL!Ucsi- ziK+UH?b&ha#4uKrT+n8VcX26vX{=AVgIVh~PA`cm!WFNzL7`d~0paTM!J8f+ZY*!H zs}FU=i>Cv&|I2tpz4WSR36f|mqA^9X`J_NTrxVBLlVamTl*KIfE?m!qmj&$!%9nNL zg3GQFlP~uYtuFZ{`dkLxlzC_oH_d+)9R?sSiOw_?&HN&F6G`hx9cO9G@>$HPC)Su2 zF66O=X#zXmXi~a3HN27HFbGrL65>dABBh<=KFXPb(mVfLcb8ckZkoAFm@M4QD~&`B z4b|eyzR!HGIFSyT_zj(8@5D!w@0mI@48Jrr^}CYxB=slE-ZXDJI4ZAty(Z;QD!Mfw z7$NE?dhcS=k;;z_k!VN~czT*u;W(=cG=@_hC=W~p2Mmyca5~M3S2)@U;Rp_&X&Wto z9kBl+U*aEBZhU+O00xQuo3l&MEl+-j$cqz!F-MS~J-$i+=%MO2cyJ4ZWSZ7B!z0K| zWepJJJ2{&Tct>zJkz&{gGG>p5iJVq-n*gty#aDXT8xpd34NS6Bqb^F9PbbUP*$7+k zG%Y^qJI=#dKL>~b8o{I|2KjOcfB*PHN$Dd5!*@%yKIPz}L~fs+ zQ_@V7h}`akFa+-KP~vi`XSluN(3*x3R0t*u3MD2Wz<=v`Dl?H5>l{*z@CYkym6r&j18D?l4g?xr2PRQlEWB;mz zO#Vj^=C3SN1M>xZyM7FqgaL7{8rB9Kpi5Xm!2YS|WjH(UUw z@q?5Qy~+-9Cu#srfx#p9bPW(p%V+UV%h_ z2b3KLFR2ORfr)4i2dfdSEMBV}nl_ZSL<9Z*I+V~A0C9=;8v<$(i+N) zkXnKleAYljG~dIv8=8h4luoou=(D&&58?2gc7H1^<`-U_ zK%%j-X1#Dg;RKDd9T(*qTB3on2EDLL+@i7Dfw;dzshNkGywJJRtRC1_Uyu+9 zU=R>qk>>nZ2m2~WB!o*)Un1Ee|Xh})3~KdIixik;8WtC>*LnZ)dOPm*nMF_)=Ow{NAR{%d80Y|_gIZE?^%g4@#(1O`C4vT0eE~uYi89bjBA*S^lw~*y1 z1j8k3mKug3&;rNUC8=lls5E~P5?l4D4l)`;#F-LMvuL!c+YKnVFRIP^UYmsk&%vZi zP*rH9c9{ww>`v@|PIG}?pIt}y0GX@EFeR?N+_1gh{w4T;S@7%{TDaffxZ#EIq<{Qf z-SYwKFA3L&d6)anB)nQnT7R@X?w!S2dTVN}s3Ry|fR?M+m#v-KQDxlfbB;0z3i-fv zCU-Hxi9CPj)mCx#7}yT;XIJw2Khi()M6@a?w@F3%a3v>L)sLT33>V6j;=5vMV#*#W z;q?{SwqV$v%IMZZIf>b29|k;ylAP<8kluwO)XL-Ia*u!|jbiusJAQR9NiZxzK4qv; z2f#ai2(g!h_n=D$yJ9E$9x_Cr>DCYC1tm}S2dLvrE|hO!rYz2^FE^)AxU%xK8L>`G z!;tM1bS|sRgt_Jn0}OA#ffMyo6R{9f=fXP3>og5&SmJZ7g6Z}JRxelE#Ii1&_ zw#9%iiR+%qnSCdaGBr%S_jr{w`)?>Xc%jb4E<2{V0AI|LSKA6h^;I|+nGak$Kxq1h zF_BL9d8iYOpj9F%VN^l2pKmK4h4g)C#yxZeP|HfPLzrw(kUJ32B!)Z(YB*X60l~ij2iUR%y2ECY%R^V)F``%DhO78)h$nFw6D6S^j&wJamcR zgN&pRr*XQrIJ8srJT=A_#)OLIxVtfLyRUY#E~W)1fW~R*S!Bp@H@X!b%Ku(-sxqfL zI~`roVR>(h3tFfyy$}nl+_j+HqYC_Iy-c<&#dgen*q7db7dg=DqaA8O;--CYBO{mG zvo`T^4XwN>W2q`?^6RMMLWLT&;!$t8eI6gKD^%3`tou_-4GXr#bl{P6ZSV>$T+a?o zxny5p?`?ocwV-1n&>DH@hGQYY6EF&o@@)HiGFQ%Lwv83iMmFDzIDJg6LJqXrzTJLy z+}4A5K#cZ!YN=Y^7;VSqNAaWDcv!MA;`lHb)rHX%&uH9~mG+VgJ8Y?W^??l|qHQ@s4TB%ARh&bz(9!gvVx|-E(Lxp4%nIPNkQ_s7&*Zw4FUXz(xvWFn<*Dn zNvY7P5!IpT?e6h*=X#tTOz|L?y@B+3|5>B4PN*)hEDv1PYn7xM9LthD`f#T*Pfwu- zTyJS(tI6LPcNx7k4IEs`JL+mr-i$hpkGvKWH{BYekNN&qVOFwt?(c_032LtTHtQ5yU8m;f{&C;SS zRPK++hu$j6=doQX$Q!g-oh8q;B#!w8ZJlNz1t)La1NhRe+R90N78a_fnB~%yvH88@ zfGREoVT=*PMa1$`$Oi!KlnsH*i%FQt!Y(Gh%qL?^LEd7F%Ro^M?J%M*g=jHgX)n^M z_*39epsl(lh)JHmP!HevI}{nP_vbyG!QaV-?*<_F38tG8(*1u*I!Kc?lj852<#Re* zsAr@*Lop;c)4uU}g_oF^54dTzBCv?;jH`6{b3Jfo?yCJ1FQkQZV1^gvBP|AOJsYc?kYM zJv<}RcOr;vnCAltR*``LlrwR1*y;hommU@1wfL#dV!CdKdZRt&2UC^@YQCrn+|DD; z${!vGQsx1r%WM08+=S3^^H1<4@*R%DYi~|r_J2sKM|dCysg11R9*>IlX-Ce%l_Qa# zfk?;CMhb>#{vTtXh5tjwllmi35I)PN5cBj(b+sjCk!ol#zxIzY@EFQk84J6VRGC-J**gqUOv~tpQ~Roc}cfF zPC0=QtuI>dxA^YpF0gKXgg?l(+wVLQZ+w6~*A&4=iW<&#({!XO40Q+Venya*f|-5| zrqibX>GH?j=LRjIPxi3=Yo`6x{3$@Oozb($Uk+Pk8;$LB{XHC>R}YmJ!k%`I6+XiJ z!=-(*0IlP!Nx^^+IU4z5X4$0r7bx(VO*03hCbah=*=)2ID_e)dDQf3>Kns z6kA{NOKai7^`dCOy|9FRd!=#Ys0@s-p$Ph2_uN;j0Xa#QO-qK#=+Y>oWVpN_W#O9XQDmeC%=(>uF(!n)Z>5OrG>G2 z*rJx4ZcTf!uY+33|34D6{WD$k(1p~=`ey%k(i! z83kX<`1pLrH!Ftk^BKnJkH>iUSExs|pS$xnQRw{p9_Q)tRG*Ab#~KyryNZYKqkS&j zvj-~he<7@RxFA+|$uL$k_RgP9g5ZfuPtqaLDLU2ky{cCF3cu*K{6CoG)@Anp0~K20 zLlVkoH+`;HUuF)ma5;5Y?@K!i=imnrR@3jOh#$0~fe>?%eoytBj;T97(&>Pd(ozFg z4=Lfrhew>#6qiEM?|%T#tX=T+Y4?99VaO8}entOiQQ9+hw#kl_(bo;#_5c^LmK>vT69f-llHTfT8Qi{Pv^$dt7_Rr@FI0 zx9~F{CBE~R65M@D<$c!$?fu6KE~n{_4|9J3{HEq6c^;#S|M$mk{Smwxe(xaIO~y`0 z2k*eQ6Fo?c`U_~1`S<_U!9$;_Rlh=}0KZZ*z70}>`~Bfx%{t831mEo=T9%J?(ZS?jUe7XvwDQrTa|kQtbPi8m3%V~v%V8GhW)1^07-N_e^uRy^JiD>H9`h{W$qekuFR z9-ChZ^xaWQIbzom_v%#p> z^VdCpJmHJo9kne|QpvNii*ZjQF zGUBX;H`P`WXEFR$aZQ}>5|r+}!xo#M8tHfB!@F-_&u5jq5q}nw?yvW7ktcqrWwiVK zHF24(Q` zO&+~%p70Ff@Z_As=^3!Xz0A;zL{aryzkV@wdM$ewP?s(yXsG5!v zPL~BdBhMhGj#E`;clGxiq5n{M_xqTN1#^_uCr@EDS3XnyMN^^E;WNpd{Vzi6jREa^ z>Zr}~I6DH$1uNbn{;)=U-&75=nI!d&pwr<3v<5rgP-BuO zlCH!49H&8?xwC+?XMrma$IuZ+GzsB`^IwU>sxsXIE4aAy$aP|HQKN6T7_e>+++1i7 z5U?Q0an49wH?Jj2QXnr?*?T|};sc^x_;6lT1F-+q;$0~~hqssCZkj{p?X+v;Kob-f zNMkStrONWThDY?w+JkTSkT!QXa=0qwL54+b#%5|CwALhsmNQcG0fq*>5ys>)eQ?SIg$C22lW-B!H(7k3jiQPNJzEDx1mQ5L4XI40^(P=2c=#(y9Wn@4 zf~<_HvZoj7VU=X{wkANXG&3^UqzAHeC*V|56J9AG%gy$?@?*}?1fxWj`A5bNJ@w8%iNr9;Wh0>AneoQGQ)P_p|P>LX;MMLO8bS9?IN2#>| znGynQ49!@BXmSH%H;S1g4nzaeBElf@^JGxkjd$h*qLgS%S^_W!CN`}zyAHHzC^)JY zR4RQ3t8ETvj_zLx$)mGGjfjUFpuBm`G&qz^u*y*sr%F)E^ah~Q@y6fu4x&)=h#rN(KA4FFsgtE<5%0g6!cmnVJkbB3zEz^X}f3?C$Ea)<#_<j`n;`U@CcnKwNJRo@JUasrC zTkrtD$C{s5MdfR@Pckr+G?R|?|N7>How{v%ar$yYASQ_(CL~>twwsuEVXuq^lCAgB z(xxqI;CS(>*Nzz3r3%9Rt;U)*VT9dwLAApF)$X$c|e$nO6uy?8S;4x6C4urUMIf$5u8 zH@Ol)Dt?Q*vFVQkfsa7D%GzG&xQ@BGnzIH2^06eX5~nstCNImR(Ac45_%YA%Nh-@p z^@cZn0`Qi;JnZ8jrq@+OOI{V(kIOR{@Q$K=qVjGgLQ0no-qyhGb0iIIuRLwLWAmddN039&h)E|GB zBgd%4gN!=8ijsHET_fftONoW;Yn;%I5DTM; zHG4yD*fisI3JC7@7gRkKlr5y9O>;5AtKLC>O$cnd&?lyTWts1WWn!&S3E)wQqj0EZ z(|FlycugM4h7Np5W}_JsVMW0^u-Zw|QY-Z#e;_(e$ZAs^FU5?ccY!F0PQube2+1@y zjpMakjgbnuOic~mlslBV`7L33fi~PE)8j)EkQ9R2cib!9I|p{%#rMp8UT7$CoKQAs zO&)E8EMQ8ec$*ySX{6-`!ZT(NdMjxQDs1w!*@(6Gc;bfvC%As7Y_CbW^{?zxnVc3Q z-`kGM9PvS{21~9i^0)HRicEA`K1wPN;9yY2gSmd1C;rHX=h=_M7MpQ?bl1n}b(bQ3 zEeAufA?&z&tdg{OSr<#SckzifA@z}Vyk%p>amC3<7bH{5ZB$2IwiAr>xR^}OC|3e(zPzCH2Qz=Z6 zm2gs^L18bTnU59)|0!!6T8u>up~&j$qX!pOQ4|Y|l78cIS~nOO-1r|m(VZ^;oeP3V zs5;#O1y_c_U8n40$^SSc8|}A8k&Go^TyI8DNOFZIzaB=QD20p+t7CR?04PA$zkf?o z)J|5`1yie#ltiD!44?Sg$nAxKE~`pk<~Si0Mip+8zi|zwfU||(qI^IwRKPrk9gJ{| zj?10=8Jm(v;y?)X!D0$HMI!Og-ii$v-nmRIidz_cE*KRRx+PjG=Pb!+Whs=C8(g~RYL|duFcjTbcUma2_MtP! zDaeZ=M;+2C%h3iDU?&G{|8o}9MknUtMKMKhJbytuPD8UQsA(dL6P$6Iw&1C|Is>M9 z{6%J!F3xKykZyIgE`7>{UR>L1^xd!H#OdjDTu>l+8(tR@!N7ETHUcda9XeF{nw|<0 zcQbH47YS~?6bBv{#`2kBdt7%-EM|+9yxd5x*B4L30lC~N8eNlpT~y~NaKytf6rYp5 zCR~&1h^?S2D@VacwIy%nq>5l-(T|=>nsS`ig0&KwWpBB%vDTQpxIi5EF4p_@?v?g^ z^Zm%msfNiklrmFc_La&a$VYo4K0bZtcFtPyQD)_X_>i=8K7vkUc^GX|D3cTdBoc*O zyE`Zn&^+grYv6a^GFKM^p$ZQV0P3!R4hG>m>g?9iNj>=h=wX2PJ@U7UV^hz=(0?j{ z+O=sQuR}niYVH_SS!-^7V+p!2Th1R{yxxI!Y0{=)TC00yytmduj9Y@Q8IN*%w38D> zWXnx?yCYsmZ)m)K6*$-9i$ykkg-kUNgj`^QR0pY%i{rejGD6<66!PXcTNb1tC^wuQ zAKf-q9(b-blVQJ*F%f^ErYgOnJw$z!*v#tS$f)Y&oN-*zqRQCK%xhGvX1*%Q?e?`M z9Ng9&Zn!;UpHTcQqijOGZ%fm=d3Se>b{i%?6cuA2jij2bRY)_^M$wYtn2wnns*-H9 zbYkjtO8%4gpP~kO+gUZb0ADH!{A=kd^?1vRP^d}tWPLSgA0@Hs-&#m!aXbXEZ!g#( zbLgZWbT(uV`^~*0USTBc$csyn5p)Iofjn2|Kf5bLE=IM6m!^$FK>!CqY6=-(-cgms z1{B3Ddu#3q=qMPr(QH^xt#T{Iuw{8mP~PDyJ@(G@>z-=h%?W8pUcyPuM_Vfe7;O0$ z8XT?zN=Zq1m^+O4R@ZZL|3Z6~;iyg)8zlqTg=ja{C3cvH+}f!5;~D+%eGo*62+k0G z0em?X5VwK9Omtq^E)5ikN>)4v#U2A0PO6?LRz1>^HDVTtlmuWEJ)a;14dd??xMend z;<3S&Ne)OX`N-8z_#!8UN+fDaG2!k+l%!_5XsZ0Mv-1h8H5v`}N>Dr}`mdWECSlSu zw2&OzvLkrT-lZ=yl?}Q1u;m7!eZ;@YGc)Wbqd}PgjfVLuEWHS3zIq$$eY{l78=uRh zXrT%Aw%0GrwHO+~ukke6uRb(yGU*{(%ATcmXD6u)$xyNV?#hlPpP=-c*#ie?pKxO* zk=~*+d`AGs`d(Ht7rHjlTx0VW%y$H&>?9HQ#9CI&z3m5J?#(vGUCUTzwCwH^@*)|s zsM0O^N7HMallkj9uf6Ijpcmfk*ac!}z{KXSxWseii!*u;0TK|5`-+#)u8f&{KD(3; zX$Uo9=Pw^b(Un-5+(u=0s?vw?!hWpN*aLu<;q9rI2y(ejES{Xi2u{zetrCHqBFOWC z9md#QASS2HTghxG_wa$`IV=YD9}~qRnaSXH$VhwRN~}gGl5sRoYL1H0rf4*-{aLDV z|8mT84_kLNdC)4uu^>tw8xr^8naNt9lb@#6k!wgC2qO^O=xCDW1S%+r6LIDnKzZBrK|8Jh9Wu z9iDwc0&pe`hvKjG(xiR-oafwC;k^CltMP|YY|wnTp}{}oQbgd}e);`y`7QE1enKUj zK9-Jy>_JN{*TF(ep4lX|Nc-gn35(%|De&n$VIi!-{ISd02VDQ@_uf!FD>e18xb+k5 z-us64ddtd@IZa7dawU33ctA?#Q2z(FOS|hVD7_r{ zhMQY!d+wfW;)Tqm@wgd@a?JMUALn-_$`uSL<%Ya7S;JiA^n$dLb*gj7l z##}u)J9D*lA)c=shhD=Rn;4dW0N0_vCGAfz0f~%7y>Sscs=9-}r5tw1@789_hdVG6 zrWlfqdHq{^c{VL7kn=OQ#3B9GV&?UrCFyhf1sIQ0g_)r%Q)qma9Z{Rn2yV>PO5E7N z)I&MIPK|GcZTvp5w1zAf-i#)ty;jlmGq^}B!dk# z(^tG+<2W*I0|S*zo3Bl?S*udCN929k_cZe1XHimqGg;h0)Y-Y4)Y}CwrRv=|i zGS*9F7s^Jdrci($2k9xUE_V^saWA~xGmxi`JVtn~A^H)WY8#R| zX5_W+F-TV0n!S^*?tpA_(K7!1iQh1J4=Z&AlLtu{#C~o(6qHKtvlIZlX)`&E3}7(r^)_v`GSKEk_!PIdW-dY|sLIs7bYKA9$t%4-D33r% z35?N%_Jf9MR$}U=0ijs4Z_Xj)ZlW>3ZEXs0RHl+&AHfKAfzNemlV>qi+OsNw(mN2i zPrJz)nsw3`fyZz)IqzlDS;(n-Npz#N7b+he)}Pw~${aNj*D|}wKZ#CnOX?&k! ze|`ab((qI2`|yM>{6bDH=95u(pY(u+&U@h{ZFo|^vd9K#re)R`=PU@1dc;_lIrKmVsZBH57IUqveeLWt=w+;W!_rzQ%YH5 z%q$1Ku^mB4zHm!^U3jTzJ2Izu8`%$z1ZYCbeiaFCeXrck=6e7s`V79s6p@ax4`lN! z^=PhaN~^~z5=IGipINPEVyuVQO+uXST&t{lK%FeYB;R9hyfwpX>S0L}jC`IJ+Ss## zYn;KkZp=~dreio{%c5$_bM6Q?$9pdP>7-AJ*{KZI%i=XcQ$67A+hFjiSnj56EkHrI zW;}=Ohz?f6>|*2%93=2K`g_Sg23yg`gnAw%83;4c03u}T00Vlcvlo@n-UI$aq$SGl z4X%s_Pg6uL;1<)S+$0%GDBB*!QFJQ#8rt%!qveY%sE+v7>}V4BgIIXHwlv${vm6K6 z9b46lUA& zn9yp4U})d@nMp#ng+Z?9uqrFz-fUlx+@tq4m%yR+WhNlsUZDQn5}SIJT-iCc6Jj!R zJoKHVUz%c;%gi=lD@>LJ^aqIWj$OQsWaQljOJuO6n0xc@b9w*6AKj#&o~jG1#1GC&kJSd7*ZGS``!ZFfDP zi%gYorYtLgF|go{>4Y(V>_$5nq|9NX9)3Jgb-xOoHaEHE$SRw$?IB~8;UkV&Gik|Q zHqARt;wp&(aDhWjX$mfzQBMZIEjKB1FC!E-Ya@+%#C;M{eM0261$QUS#mZ2f0_6Yn zy8er6Vax5sxlvUIs|-?--g-Pw=X%w^VYl0wi?4Q0tI@Z)6(a^q4$CNAI%X(K%~;8v zG#|0k1Auo^bWJ+oFCUj7D$e`lk(+o1_ADOT2hYa=g|q{wym2T(#{{|vYAYN8TDSdw zDJ&UtE(3({3RiL#|MCIXj#`32!qJ()+U>~M-vzeS1; zPGPmRW&+LWRJS`df{d5(nHi-vQd}y+GiU7?12qUQ9Mhvv3AF6^EylV~hp`2zKw#JZ z9-L;Hji|TBrx!9<%#;W+0b~9q4=IG8vq1!9mh?r9rS#7QG~`QOFJ(=QZT;PC&tZ-$ z&1c^wwG)mA$la9~qjn_A2Xnm|uZrUyYm#$?m13s}tZ0hp*+Rx0ub2}}V%UXV(OWIY zq(5Akq$~};LAQyEOjAds`Tt%35@SX98bgMBq?frTy|=C?D-xB4LLu%{+@!EzJ2u*3 zSWEfLT0Es_JOf@9ROXe62V9YvRo1r@QY!WhMu!#VRYS z$uCxnm18cr%FE?pvjO+7MY4RtQ>%eeR)iXB@mj-|!B>H1YrFy=6(7ru5KVTnAo-6< zUWX`vkMR{(_(bz}RNUZk3q|cD#^AN@wX&rQc|2iG18;s5DzvDw%*NX)n2n{c&m6^x zyN)8%URTAMG-8Q-{;T_+u-Cf@PTlscuau{BAk~`c;s!Eit-r^?PJQx*U#O1Kevw<)ajFWXjMQ**rOx$BQ8k zMqI}+?_j_&m~c}|^3PzAe;Alk5GBZywRn=_C2MOnx1`0FK)#sk$Ql;1^*7zjs&u6G zMuPByguV@1;DGCF{&(j1oH3;^BsboWw_CY5lY+SpCh!z4Qe9na&Vn$deU-i~OIj~> zgJyGXyoigHT0#pnIXopknq@BK(hW3}mrqVTJ=U%s{0Vo4*z@ zqx}hy&WfHXZf>rTa7S4KI%Lyy|8qe6GPF`oPf3A3yf-{MHl>nwWH6U$%R4C-A){E# zrR1OyLCnYO2r0G4*ETjbxeb;Hs%b5Ol4J!wWeLV}2Eb7J)&7G)q}!j27OYt#$@NnN{stS#BfSCPpihJ#Jri z6L$i^2SyBRzAE&ABe~Z&08}_7JGFhv+aWRBvJf?xVG7XOZa7j_JI#WZost~;fn6Cm znY@T_C4&oKb?)*$c7|jO^CjV=UP}{YPWi{Jwo6^grYXlxwxJ4Fzq+TH_Nx!T6v%p{ z02LOi;3bvL>eOC^59EOYYmiIwBvg*1%+N|I8M(e^W+9G_bN!b9m%WMf=Xzu){IJJe zoEP40vC4_$OfmL$d27Lpn2VcFbC?`3Yknox0_d3dx;1Oj!lY|sKU^>RQ@8y!c|>fO zf(g+O;#w2=Cle%aX3Jljw(f>ivD3&Jlj5`uzLIB{=jUZW7wk8uvrf?(>xO0=2&wa_DY^o38xbgK4?{1FxN*# zM&~TsCRJ`dF7BAsV^nU0gIT4=WGHUNp}zzS9bp07=50S>1@dXVd#6WYMNxB1cdr{L z(8{&MHr(cCj*rN9ZoAo^U5|5Yk@PtpHs+bO24rj}ihlj8!vRwGit7!nInYrvk9O7k zVwuJK@K7VydHJ7gzrugIEX?O;?`0>{$jpy6FNNy!r@iUQ&+zzlnd+GjDyke`Q~%XQ zd`gL7ggW(DK%L|JFggXVuL1?LK~343}uj{MA-+zX)RrCRrKH zOBI79VgEXgr@!&6{_k%bjn!cdNAKuZ{2X@bfOY+nV4t|l)$i9&NgeKRo%Z#^EEF+D z>y=0PA3e54j@A<~Z@g{9{Itr_tk}VxCq*l^JE{wVt(eO*iFV^xfUiPc$LTt#hUfyQ zi{B(@XmdKO0L(eOxQ{Ng{T{W|{#SOT`*UhsUs7lNuOptvAU)d2rq9{RaIW=J7wurm6Zj4tuAFYia zcT0k3bU#}|9kSfpDP#yl@3I{pg9Ids(`o0Ywkliy|d@7&YykMo|KUJE|$ z|A|mBi?-lb<>Efagf>}O_prg5y;iCq=A2kvm}$Qaep{P}1~ z#t-Au{~UbzG8ZI&vTc)hK!E$%X&!&z0^0lO_d4%p%C1aD{|&+8J(b~eb|~-q?pA8X9dkBJFzY}>K#E5z;?R(-=; z0|SZz4T`UVg?*YB&a~o?fwoIoBd{#{<98*saZO^}wG$S2&FNHf1`-W1k7=WI{@MO& zjf8fO;K2NkszlS-(88*{zV0Iy`Nesn1tH4whiCWBW#!d$ zh0Jq+UH%Re$*5e=U#HiNh#Vjp&YMuro-;nmy5+ut8ec4+e2Jfnj`#lE{Ts_8f2#`k z)c^l;*HBmSg~)2iQa^kL4KgGBtp&s;Xf(@BVj#|MA}GevoZN;Shf@tN zc4N3S6i4-_%^!p_V|zAS$L8Ev*-yoB?@?RA=GpXy6zsFHIN<_7*3jpPzwu-(%! z2zt{^A#{53p!O~5A;BFK@O9c(&>~(8#5Y=s`xl4iwo!xr?)Ile@PmAiJaZUxsG3CQ zBmbl2Pj|0e-ArMicPy$32%cQ|t@4O!cbfNh>W1R2Wb;gF%}g9`b6l2L@;(og zt~nACAYF4xRzk<`2?Jzxcc-oiWDc%O?-nt)6{*~Ze*5AsSC6FA6Kllnn}QVPoFbbH zVm%6^KI4E7mdz&{$+?W$##3KB2ohU=3KvpUliXSDsiPZ0QwO5Ua4Wi_gj3_lI~MYo zNi4lY5#FV)-Bi;ZOo|}g!I3OyldrL)(E6@gf(scc-vQ_9=Kn5n(3g)+cxMqWBqGc# z!VMwvZU|ja{|4FQhKx1X{ZRks_=j_6F)}Z3JNfam4n6!pMzQ#~B547f1!ech02=A} zjt6lfzA3%jqxjZ5w?&Tu6yuqWMY^uO+D+gJ!VD!{vn?YsBv(3afwjKCeN=O-{R^K1 z_xLT|C4>;{jNC2Y$pH|DOwQv)`BuD=L4w2gsKi?ua1GtuySOR=#}~rUANs;DdZBtP za7SXJdQd;pVWP=5uRdMP{ zRb5ibDOGYxRj4Ubrgyjs_I0mjQrCV;NUCT=&Z-aqtjrK>O|q_HQg6D}-^QGW#pm)I4hDBC~0=Gu?8N>KH{IA zO9_OoEc6HJ==hmAzNsIN``I~rx1Smq_ujpUKyRoKC;%!b0ss&q0Zy4EiG5zoB2y2x zf4}9kE+O^4lW)<*;LU_wC91yVHm~<0Sbqda$V|PiIy_tA~&^3J|_CUl}Y0&nY^EnOp8Wo{!VgOs8~CWHr8}%EaB78rng@+lxv1P z^E<9Z)SXvJnkh4)Ka+8Ws8+6$zmAvg9NAq`|7^^8Nz|j6$ig!-xirOeK$(K~!H;(K zOwyUit^U8RK!)zLc1)n_a)|FVuS+r@%X z?f>KMO;WM-9fg_jUvqpTVj5+@$3IZVdJ|5Cc~muX#6kApNVu zJm4kEWKXLYtbRiFQ`(6t>1Zj7G?kUF%VG2Xa(H;4g7S&1nW>wHH*8b}=`19T$hi#l zvmOJZ8c%zZ1DMq8rZ-fv8T%aE*npYO`mGVJ_V~f2qe>(f1?TtF#y|bD`H3BbFn;*)J-%eb+OKn5us}^P^Ox8EOta@xFbb4}i(e(7A zvzz=)?+^4)k=2|rs3)%b#`y{Vf7$J>y^b5?6)WlgTG@o(CASgW^7D3p*Vb1jF_~QL zKLMGz;DxY8@@E$E{lU4e@3)=ww=8CGdgj%VPjOUKGr#`b>2fkRccLq8ir-Za8AG+L z239%g*z%{pd-yuRce^3ciArX%=EFW5&$$ZBe)ryL$vF>W7eqStOv!W7g5P{8<`|8I z$}SVuHC6BeC^W#=uz3Kc#BMd54E`?ZG=WfAuTBCte_2~v0-SJckHN}77VN_Gbe6f? zhgp&h@wyk8q~+p)t?IptJ^Nagy=2(fWfJytML9q5RjujNTBoT=8+gT8scE-8%}jI~ zy4UHp2czcuQScqt;mOqrhZIUo=7}S>!|JU+aUMF>NwP1M+kt@$sV=prsuVXKX0^GF zuWTHYp43f?9Wfl0PU=BI%q6Dj;fwW7uep=f!VPggZ$ImAWulq6hbA2it#}ZK=+lUqI6CUrkq4@`a18e(;cUMCLz;15$` zrV_W0Qtfu0{Z5WB?7Wu4nHjxD{Z?MtjtTDhG}{foOj6ul&O5}IR}JWEj#4$&t;6m{ zvM5ee?l|01Ln|GYy1&7EPsuv%n6x=c#ZN+abJog2^pVuRz?V+e&)`MyNzcWUj{~v} zb(-$-`zxek@a2AL)p5_~OleJCn-5Qy59;9-Vcd0jQZ930$0WyvJ!UxU$4hykO0=8^orhDHNAG`mdS?CcI|K zSj`!vBjjwf@A%XIKMsUevvq*#j#FkP8BBM1Yp{?)o6fN_*#*r}Ia6if?geJX>K^a~ zjyMK(S^&C-7fRM{*gI?wec@@$_M2C;XD)NqB@T}wgsn}eo@B^a=bu_EH9Crg$Y^Yr$R;%aq4WL-~rs?M}}mpf9{t-R(-u3kG?;CEjgburMu_AzOf2?dj<* zhSJ^oOUdca@AYC?Qhojnf&do zbF4-MtiJ~C%_9}@E1_d}x*jg;R0geejcaDrSbdfvJIvn*>eF?os=9KaUC)&I*sAu7 zv^+FKQqv1!==ND%)Zfb}bKrdhb^x-!7RkrL_O_7nY4Pkhgl^z!c9Wd`#dzt&7h%?CX9y3DUPD^@*^7s&pX%9s0ctiiaJ_RKoM2#w8BmzFu?zgioTu*I3}>V7^Y2Dq1Nkz3y8i8byfrO zX6@wnq9KWj%X$4}x51R~QQ?V@UKUq=ZXmCVgba!Wm!m0ngu88bpN|Wn-U{qto~O_e zF;v69snD_3M(|lRuU~EZ(qP0C)>o(US|c zd>o2+Wkk;YI9Givctk{+er*Pu0z9&?!4?7ILB^Mg&KHhwEfOk*ul1HQwQKILoJ9>B zjZDFKbO+{t6-=AZTy69Xr!yYdVmeC-x508TTcL7Ao+3Wlp_PD~q4c7i^TfB^AY(mf z$Deoxi_M3-P;L^p8m5>Zjg?EAN?DOWojVOvhy{FjC5lu_%NP_>LcbTp^wRl9tA@#wm8fkH2ZJ4*UUv`M~-$d!SL zT|EmFEbj=<$@dqakQCQ*PuD%85SiFBk~~M}sJTC-y)V2yE{}sS>qL z)r=ua8UWVVYvRU)pkEeWQv)m@t#pSjP70z4QBX+jzeP?(#7fsdgWnLp)G8ZQCxy`# zfL{I%PlQ#m?=C3WxEHlxi;s1RCr{8YK=$KmqUDv4ft*}=a0}7z5?5`sC=cKQnm+U@ zC{pVhTxgYtf{HXIq_W^52VIJzN$N0-k-ZImRA?Aw8Lg)=cyGYvlGmbD_~x^(Q7PJ~ z&jKK%$}9mrs{8kIsA}cob;$ug=mcaU|^pQn((=v4bmaQ{{e;%T$kd>$#C)DG>&q|;V!X^m~Dk^6JCr^J0)H2*S zK{gCbE4rDmE>+aba|<@{Xdy;i;-*o}6saw;>;&g$)odxdJvg%{Qwer~9p{7x1>jxP zT83Oy@2Y)YXBILnX8BrfOz^7?Ni=eh-t)x1vo2^>#T-%F7LX}zUa$!lqk^rA;3S(l zU!N9oR(A`a#>z^gbSNOITfM@`0`Me=Ip{vM`o8uoNUh5kI9WJ)dbCirmtUg?!*ljS zmIjI3W2I34BIM_R>?r;4DHSdXH+MVgM^ZrDVn9U~#NbJz=dO+?ZbxQFaKT9ecoL?i!P{1P`#X1XmQ46L%3$Dbu*8jz?vVdHsh zsj%Hz%Yt4~#($9AF3BvWu}7){E(5aY%uO+NM76{}m~?tigKUqWy?p1tbf#R*AS|Jj zQwP7UQ|JecM{dM=m*kB@OCXvttzX_BA>u^0gAZ@#^{pQNvO8aA;bvh`4+_)%G8`)*}~366QO6ENgaPF zg?JZwKtL$CqRUhHWsu56j|z;D7Q%EZ726k!2rTUUC1&d$g=H6kkT7PvJTvW9g>^LO zg!h^vLPiQ@bf3O(SHK05j6h<_po-yS0eR3~nu#+rD}Y{jRfRYpGGQVo+Oa;qRSFbJ zpT;1hkwy$z(i91)qva05iFRxCD%|v%s3oZ|$S2Q`&_2nc3lZ)@gI9a+#?(WYW~hZ! z(_DDL=Qm8_{l%6PZ-KFy-mEhkXSvl*2{w?awwMQvvPLvDsX~s$e`|_pYb-G6JI&Lj zJIUrELbzk7lDP%eN$YefG*Ra2ihzyf{B^1z!%m=BMYOf_;wRyE;xvRi)%hBkUhk3a zENLqly}9J-soacv~CP2uaLMD+?{frio613v8Z~t?j3R-sUpJSiC7C+Q|Tm zxVMV5@YkYL7By7C<0+k){RS(O9hR2NaIlg%$Dbyf2k?vzXsj%%#e~*@O7={jn=0m5 zK&w=Gsw?0fV3$)^REY_&)~dBR9z3|cV5PLewC>~)k3uEL9B z^Bx8eM5DXooTeLua42J?#NvpbCLL{ATLsq%4zf0a*lV;cuEMcn1dT30iRRzNZ^Sw_ z%|0(Qo>uGoWJB*Bp&jYreVulU(y@UTn#mR?M>D`i6%Eo(AXLWMUBhPuZo82&;3Z3R zEZB<1j=5|s08y~xMTOmnY&_w8Wv^OeT+&9z!jF-a5?cI)zH~UdmJ}#48=ZDU(Tpou zj`+vsy-+O2CK@6YAd?{K(9y`s>NSU!u1Z(Og(=2gHtf27PSU53w!;SY_?DxJM%3uA z(G=f61pSo}fTVl=B#p?x`1=E1${rupoYtTN;Q0e$3_UG-PD=#1zat0&11QTL(^G=6 zH{w9>ss{EL^Ig(T(hE{cHTDtsh>Ofc@5Z8-YPe9BueqXIZcaWoRo)YqwUEt6$VaB4 zYD4iX`xtz@2-!5b)>N&sm?|LX2+rLVI~7$NQh7WR0TtftdZ$>_p%;In(e$(Pnrp8)xkiXy6$fVHCM04Nstj8@RWgnI1 zWjn~Jrz7UR?X+Y?ijxno5^u~BwMmy(2gycqSN2IZ-{VslShZ7Pp5{^pC>M-M|FA2q zrb|}kGu}VPfR|SMvHhnan&VO&+VD3`mW@*x9@#nmsZmyZdJ`(?UrLS)@JOhn_iPUS zlDgV-i~mqkA2uEZe}M3BuQ#tOYfQ_S3G*{uI@>{D_pK%{}db;T* zprpa=k+q!j!{!O1kU))Cc=lD3DlF#<WOW z2=Bg`pc3$UzR$v+$*f{{ zpH0k_jql1>RY#K@#9Ms_ln_Fm#*414PT{{KdzYe%Sr0{B>3p0I?0D^D(iWEK0fs0+XYJg zdFUty)B51Xx)$RbfxfUz8cxJ{ID*b~4p#C0lBmKEew$OcxY5B0h#N?(0_!8U6>=Nh zpP0JQ7z@;mYF)@WT#T)XYzhfKH$UQIz5=Y7n0XVwyR>T0Am)DfZ>6e`{0HPuh&6|k z;I=1Z9~AjBO@og)$9rSEa4DJuZ&g{4eFQVxm)cYk@;C&mk}|#1TUPZ^K}2k8NPnuZV>oVt6S-sN0XIXzDu;l z-H1Kj))uPMC309jJRS`8Li$f0)cx6S@7<3aw#-EDf0w3B@1T`PALV3vI=uBhZV8>l z`%kYWD?jqkKtH{|YeGkho!(m~bliG(hGd1VrFXVSx=dl0LsiLC#Z{`$z`bTmiWU+mh%H|F|2x=E!Wm;vF|y#4j)a7*hAi=w3P5r~}B-VF`qG zGE3Qhpb|akVW2D(g0EeLqAsby<=7pyTo5+8U?I^FkwsW0^GeHe2-^s>g6O(ZMV0du zuv9Syk}_X%Z(riecdGUQ7m;6m5Y2VJYPagTZ#-XVGNj#pcT6wZp?2c^iN6!=IRR9n z{7-s-{IYJ6|8xtCZfrHNT_8gjCQ%y&GsoWXb(x4h2!M#-(0r*f7meh zmXkzBF(wfk{3=wLXj02$<7rkv-RojTE%H1+R6*of?gijE9EW0{hCImu8SAgb^AclQSe zW2sgjc}gVzsFo_X$xL&Ar)00q_Wl@)U3t+pCDOIuSCWae$!+rzR7rl0y#Dm$_2al! zBY9XcqwC+!x&}#Qb~aa9id_@M)A(i5e#>B}02NA;8&9P!pnDZzQ(F^6GSTv_rX)F> zSwG1)4aoULbt%$6fBIY3x)?~p_y61fPXnA7c$1J!`YJRexsTqlGGhHxHhNryD-wt+ z(b*JDz8xCcxN(BsK+V6Z4)uwSLuZrBe|MGYM%I9@g%fk!NB8yom}0eu0eO?egU_1R zJS!R}=x6~4!f(D5=qAr0Pi^`6>(_a=dJ|m29dJCgoWP?hte+uA-bVK(&q1%J2KsjN z^C7Q-S)4YlNjIJ)2jGv@yNYu^YHwFHmL2Z*vtII=j3 zgY}=u~gLA@J(vC?CwBnnhM@>t@iX|nYv4?939e+HmIT--nXH(iy zv7=gw=!*gRx$rw+4ihD^@uc(cVX*7THAhF`24(Ixh*j};quCd-My*Rg;WOpg33VrQ zM>%0hq8%kW9)w4WwuT1w-IYrdr(al^#T%X-cO(0Pr*YQ%BiBHm6waw3h@dQFi3ETi z7Sy0H?6w^1h#N;D17KQ6OhZS#LuRb%C+!LZU1(1O1cP8mJ%RE0TQeZ8MSzOFd5!jq z-yE3SY%>Z@UIWCe0}C=6$G?wibR6>zfRv{a)Ft`kAwJ_Ocff?GRRXrXIcFi2;zl>R znBWsm04?pyUA0k!^Cu44%>61_w2ccIFi_)CkTcNsN5e@Vk(YtbhRixTF$}689*TmwKa8>$ZiEgft(R&o=xNm zx$FZ1LQEnpyD3~zM{foRC>kj8@RnXhu@eI*AW(xenTVyQ`Ep=9P?|}JI~6LZljFFA zkA~{r78ybQ`&LMRAmA-e|?bXCA`9H1fB zEA0VS@2^bP&u-_^)rZRyGF^ZyDAn2ttBc*yC?QTo!iRwk>7rbcjw)$93pXmHe6L_G zomJNu>$y{>mAn;Z1a3TR(Pf59b@aF|pBeN8{DaZQpV=LalC|zQc=3X@pBB6iuM*iFaB>M6F%MyTu1h z1JAjTr4vro1MWfQPs-8>MP_Ka%*Rzr70ap_K%SkCLkBGi8tMff;){{UzniBD_aYK} z6%RA37+VW%f)6*U@<#5w8N+uYHQ4ORj6y+e0H^-jjwQ0dR#RBCOWxJSL{E%rXM=pP zEJ9m0)MsXn@H4SZdW!S4PDO)_rSe)Ss6%mfP!)vNof%efEg+^r`&`wZmmkq9O$7L& zFZ*Z*C_~sqG!M#NWTubxlSNszkdr2Uqgb)F&W8B*^DT=K>?$;PRJ3)7mj=yz?Fco- z5q&(u4<2B`oOB1g?SPq4_wmCxieQn;u=ov=ra^V9xvU+V^ZM*M$9u0zx9Vfp3^sG_ z1J@}u5c1m5m%-o)ftE`KHsf@0QXS9`Nd<$k7BR>PK&Ok$i+#SxdEq>AH`pwhClUA@B`V7uD!`lC^f^^mY}X4PO3ER0l#Gb0_Y2_9BKzk8mS zi0*NNl<6AdMl2O=9X?=>bNn6ta+`k3 zw~PV60$HB3C2!yvBeCplbJ*wMI3ob04mw3IqQE$8NETzuX!*@{uL|y)c|;4OoKgNW zjU%S=`LkIMaNYJcJx0xNng(qeSyZk-lZF;^EqJJ*yk05?HpCHVv=Nk&tq`s+LWma0 zWV!3IiRQKpWSzogvjbe3S2V2)QhLV)3?OP%hANZ@xB}XtHgfssRr;~ZY+1#Z!udzM zjvtI&quw7B^PC8_-_xNA z(xjnm(mU2vu+ zj$7*?bQwNY^M3L_r`%q;)F-zUbehDD#_R_8ub?ZCCupE6WQhO;AXF?bH-apZ!Ue(Z4Z9inWL+M8Sh@z7b)%*v#YDgW**f} zRd#@h=$6ig+d>W>Iw&W-u{sQJfXIkZ!2&QYs}a%=X_CMT)v;E3Pj%Cu3ZW;!-~@H$ zkjZceh2B>U&SyZY*dei6T>Ow}1xW!ut~xf_!Rw>n9kSY$Q{xwxnI*Go8xXZBTg0oqt5 z**5YX3H#c2o)r(T%AqOf=o3|}%aEDydE!cBghErejjtXMOnGaJ!Mmm2&hX>MdfZyto%~gYA*;Z*vgAoozk7EV1SyT6*`t ze@=~h9HfhSY+!ZD-&=bkZ(u-srPamaYRg^Et%;#NGp5P03H=Pj`hfKBolVC>1kSXL z?;vHx*TM$7*cpP2e^y$)+S|1$$mzV}8$1v1vBxECAYX9}^&C=q*K|C`?wvYg!^Q#L z4^0KT7n}zZ6D%wWYo_9RzGvGLZ@h;{rQJ37eGWzI#!~gICpw)oi}HWlMz;BG&n zg@-2-(nTi_weSIGW4=0D^_&3RU~DRC<7(W>nq{KF?%}SY7NIl*KvoG|1G6fC4Qt)R zVYUT@PtXcPGz7ScVmUx0?;>++g#7(c~bUa0_B= zpXT_0^Er`ka9Ify&3d{t7hWZ~8)Wy2eHj!ptv%>o&E9(qZODSk^2s%9#?x?x8(mc$ zC7SqcfHwtNO(`Va8x&HeRi+4OfuDO%!U8_p9BeT$_o|AR4#(U^7i)$^DMMY0?@rBd z#jSbHJ5=WhZNWs@_|SzQvPFntRt*~rVW822jRPO}L!*8Il-ZQ1K<41C*WIiDkJt+Y zyO^VMg2T*!84QRndPVRC3CPi%7#@%u^84bQY8zuBf@KSUC}Y4T1?39{$iK1D-*6k5 zn>x}Se~bqyuBk!A)>F+-{=s?en(!PEy;BTdI7GaPwq5%&aDRNce{$SDdzH8cAh z0IX12dWWI2CzF>z86cN$pTrp|v2kSeaUfP@Xv+kU5W==*e?r(k`~WsU$-ga5OkE(N z2@V12G_Q6;XbVj$Q~Kvo(HqwdLdy^VN&xASciAIB+6tL`e8^aDm-b)HlodM==uknh z1wVv^>^7rU5u*#btx-$`#A*PO>~7l*Ggd@@CzyxssEKqeJW4@q@P<@Fkdg-RIVd)% z00AK)bfTx9Sjo27&4Db?Yr(U!$u!l-Cz1i93Io9lpXn%Mp$dKwnnD`NQZ3-4p$3gA zW-<;HssK{qbF(lL0o2E!0XPfx=V$C55OhHxGnA)0tGTAl;&|y11o5l24IhfkS^G)O zWW34eS`bGdF13J1%T>y~n0`x)vpud|2dAsMPRHV&xnB5l{>%pUs#epsNU zYt;WMa+KiC)C~UqdzzLogopLAJ{166crqpVcH!JC2wW^{r6~nvYYXjzUc;zl^eu60 zIUR}gY7QEMCdHP>f8cBM8Fvm3*kVIwU*4tQob;S8w-}v6!|2HaeI6QDpaR28l3 zG%JedZHCQR&9)jS&YJyRWX$Xj(Mz+JW`2&o3qDVsD=S|=l?8NY1i(Y;0MZfEvsoX| z+-xnR_t#gAbtAot!C#<>NYZzqM0CA%6C@GNTF4N2Tg9p_RhIH(b-5dl;-9Y4Rss-ha)fc0d*z!bpOo{ zFS_I}<=u<~Gh_o0DsHcsZ`WCuBwQ+Jo6uKzhli((ec$DjZ;6#zMsy7HO_<$t;VNzS z*{Tc)*UPhGnD!CU&|-6JsBke*E}mlU267sz z&~u$@7=&jS%GGd%n2$mYfT~7F1_#WPMQlS?(TM-#5;h@%o+ z5@z1ydZYnG+ZqmOsG+xoL^a?)2)7Q`IQ#3`mb-XvL)gBa!3AmJ+jvJe3=(GJ+(GYX zOLUKZ3^Rgm#rgX!CcWWReCF?KZgSfH{Mg9xqogrH_q7Q%M`NGJ^4Rq`#2OevqM?I$4Sdi|d8p^*F{fM4k3B7u1^mMmr(`p_0a30xw z(|=8;@kLnHTED+opl5~9?qQ{HdUJ9g7nbkyzH(Ub6-R&K&zGd%5BE@{hRTJbl7slR z7ow=3f4Lz=m$e`bG!RWunhGi-ej3s}tp276B$HmMe_>#UC%=$@Oi#q!C;z}QiSS#y z=I}d9=o8du=34w_Qo8$iDJFCuhHCW^U)gk@Xe`JwY*Po+PX^IS;{SOx62{i7FJU6R z9r`pzfZieOJ@Fn%3rB*K;SiE0llL10JAMqEC7Le;arVerD4L1)7B zIQeMl=?UD4%%hQZ2VZ3slrSZKo3x7fMP?mNf7@M)vhAJE*gXW&)Zl*M|M*GD0n;0| zRgpeWZH~m+{wp)7)A0sZvM_evsjZ=;5t)|eYtidSjfKx=W2Dqh_sOTZ8TypM-04N# zYZFt{B?!ElYh=#!SeJbz^;__K#*@Oj#6o#vauxOL83KMn5>j^fLPHHF0Quypek9fO zotmm>&bN{nfa=g`^l$Lss0t7HnmUgg2 zHYRI)RK;dG^v0tFKlh+u_6bw#U8mw1W$-%f?5yAJw~H#F)N;LmMWrQGq?eYzRZtD^ zv39zQRHf^%t_r3{KI=qfM~iI^+?mrRwliyH34SY-cU=EuN|(zXJeKH$|3g+#8+ziYs=wejRFjlz%lP6 zJ4G`+jb3|MSF0^-8|n1_jX1&E9uqgKThGp>as@3>^*u)_IuLA&gRLpz44<5m|Ar#T zY38JdV6*sg@R+iW&GtP%T8j0lCljQHL6KT>XYFO=_Fip34Z#xhaCydtM7Z7 z)WcgjrOfHwY%whr-EEF`t!{VlarkHs$Z?n)sQ&l#`3K1@SQ5=kAk5rZm^#A+H z>G^Tl4%pPUJ^vHJ7JLPkK*hjBA3G+-Xp^KxmGm#OM{EDJOO)+bn@0a_pbhd%MRe%C zdB7bG`CDa1(rFzM#c5iH-?b5g@hrY-6Cl0vr;_+&8zqp(&T^Y`)*ZPwsz}3!6G=U5 zxin|ANss^DNNOvl6Sn`?tBW!Xl1*RJERND|WR1mt{`=-WswLGE+Oej2+y*MscA9?# zOI;^p6AnhXJNii|hw?S`$;Qr-#&4|l=AZBk)2*?D$yDcTwB6ppPJQHiAj7FE4i3(* z4r&s-U21A@9<>(REZ5JMhT3_$l$^IQj(5YEau~VoKD84MMA|p9eZ^(VpKuWdS#d*BK z73r>Zn@D-l3GJOA*8Oj-i&3L9KlR}v?1+q2RVWji?SaLcn-vu>Tmr`3WW`4(2U)kt zKDwHDNwNCuyVVukeLJro;+EzPxCH4sei~wOQttPBJ2gzGW%J67W>y!hynfoz^N~2y zD{3f$#h1qK(^n*iNl|9FxgPPs1nmwu0O$#{zm%k1(gY%Gh+tSH}N$-@CVl1Lvfd zioVJA9Cz?wh2jwzC)BapmkVgy^Borz;0p--;ZwaoXUO7>3q@b zOg9zM5qgUk2Cq@z17229h34Bfvf~AH68`6AEjp93!0jFzyb(Nb5TLbeh=eT(BG@c2 zL!Ba5bR^EbO;7l897p}99_LdpWvcjOb4?rY2zA#uFR?qP(tuqR?i_DPs(s2I9zAin z9i^NS>Q$eDFuvxii00^c%K6KE)Y?#(yMKD8Lc6QcO~&Lx*QrO=Q-YZl&?<3Gp+gt3 z1u!f0j;^OiRZlt+^F*5>cf048`_<8^IP!D8p7VpZ3RLF$on`^{6q5(|3GU7(Rs-}? zXS3Lf{s&CUlAG6AWo1wN%sO{{&b?GR3ZMF6XdRiXJUe=xim%Z%#~ba$%@z0JSRprc z(!!^0bu&J6S*|?Mobg;XAxb0|EZ-p|d>}ZhAv&=2c3n@~?U1+E3*vbc9fS?3*V;=+ zWp4{96`4nNK{2_7wN@RD3mRM4l1b_pFREEU|5ePmtzmd!as<;j-JpPaSrAU%^9kVbhDAl*j?^gKV zXCPFAI~#5vOg@$OoTU^FiuNV#SF@snAQ8df7%p=lBZ~*hh}nbHaOwvvNlu&KTV5Vk z;49G)`+|Zh3}PJaL-lnRiCSF}o8bQTr|9rosi<>po)u7Y`UQX5{M9Vgf1L&~`##;U zf3)neC^JtZf@S{o;(dANtpHm9&wi9=L8*fvuy(DEZn{JhN^>DRnUyL*RNzne3IIm| zN`>!IWf`r@HXKF9aB$~uTJg% z`$1?h^nQIzcj2%aJ)6w$I3_w$QOr;j!)z9k45suAI8Z~(z+Mv^`qzFCD$xPYWHCv? zi8_2wAgKzvRAb(Ms2b|CG!y8Lh)6y=b{^0b@a0}d>`J9kL-C~aKCfh4Kyvv>BvUT@ zb)b?xVLUn4M&^-750r!Gu0Coq_&wDP+~yuC#bB2XDq&G+qp<^*WU%o+Un8%}Vq5{d zQSb6)BxfL7%bt5{spX5X)iUh{wj{|Y@ROn;+sR9yx>!@}Jj^;*Os|)9u4yaQzO_jfp%clH>(i@&756nhFTn)7v=-(FzES_gMD6X? z3a1e4wHY#Jsjc;S`H&D;4j@GglylJD3SAIZ;Jo*b!V{1is9FPO z!MXx;74dZeUs(W!UJj}`SbQ|Gh}b}s99iV$@RY;MN4$w6TWJ9nQW&_h!j+GZ6AB(M z{Xkj)<{gPxSloh?L)7yH&@X}=m412im}jw|?*BCqw*<{qy?$49#@uJmIo7&D<}bJ{ zlNP%KYsdycYGP9K6~|4*!ulqA=&m7_6c3~(Fl?}kT`ljYA92lkVR8}^tfrj@iGV{J zvS!NO<+`|KSlAXrc!!;{qrL z#?-<>7JQ|+bGu#U8Ly0mUU#y|lm5rwkS++tGS8`3Q>nKWR_}D*pic-UT+&~9UhdR-%GajVY44iB!q&J>8|^``tom7vzE~;O=MK58AoSl~E0U zmE<2z0Wb2rv~04zvPbGD%@-=Ho9*TY8`Y1~B)5*c!> z7TB`TccIOLZt0zY7%_+x!Q5WYcj7||P4nTR?N-vxB3OqC9NLR?ltgC`*-6{dUqxib znv`$_=iomsSM~t_qfYEEH}tXHq2+=<`kU66bUnemcsO{M76(KFM=rhy8OAMETryAZAQ_9ZPG9ecH(v0m`AwXMd@4{uj_RqTFe^al52 ztu>60uiy9}mRTy3AuB&(l4ipyvg4l{Dek_tk8dY!RbN#t*=jQ;ZG*kAdfF#v+qZb` zLzY*9y**;>x8^6Jy>+IulZ#3Tx&m3F4XFxOq@4ExpS5{pN`y@PpMI!f!6L`N%)dNI zEoJW6ubfh_(Om^y^cPgs4A9(Qd2F~omseE4LM@O!Qpj*e9m6s^NuACrcw&pY<_P|R z7ZoBzo~!v9qCjMia4uqyYnsb>ud7Oz-aDAmt|L?(jS?Y7#^Y@i=1Ai9_Ws^)U*Y8M3Brrk0O^l?0+QX~! zF+tb^8(9B{)`(9a?0d_HE-eL|2lX}6&0CH0U$sqxY{tHSUM#a&Mz7xu=N|2;a~->< zYxX~Ft9RyirpN8w_A<$oDTopTw0Hua*>#+pK@4pp5l@!?&ZBleFqjoqMGLw4&Z zkzm6Ke(+eup5hizI^WuLoq17c+yr!nkGw_V*28z+CFLTQB}QI5!uWor(2k~_8*hua zJ9(dI{$=4emxv9LZ3-#uT#sZ*h6nZYG|1$RAQAk=l-$pcqn zo@nzu)lW&5TTsV&)54|MvSFD$`J*>jHM(qSWYyr4x-91C^6r1};;9?yFz-0Hq?}~x zzWa~HQG2$dUqSOKreq`3RQ{yq_Xl6r2~Fy>m@V689$hP5=~ZgZy$`3|V-rer8|J;b zmNQM5=x^jCqhZZXx*GLkz?Psc12K(lRn2!bZl7}KEqFSmLg?^To-HBCPBZ3>WhgZ6 zi<;;3L#f+0MHJSpvh|$2MKCdx$C94CtA-h*P_?vFZ+g20k4h=^fiq64``z@S=~8`+ zon%QOYEdRI?T1qHF*J2T)WCJleixfL@4pyad89_UmbGI&@Y%6`S!NYWw%%)m zCHv%-C1cmOj%gGY>PVS#cV9cG(XuC6v{KIFRwce_8cTz7EPToF_bCz`QT5N%uiP#X zY$>M0`97y=evkQyJfo!}r%_LOxA9?>+hIm`Kj1v!8PMiXyyA`>?)PCDhD zhvV+~9C7EDZ)c&*h?x9LOiKGz@4Yidd@P|O^7v*{jU96}N}XVSYQM`g2pT<2HY%c> zyB=D)zZs=Z^pAWawIBQ895`{}LN{G(Qgg`*?s2k}uKD$!_K6Sbm;<4yJ4-pp>gn;q zbFsfzaeVkMOQOU7ZIm*tetW3@&}zF&>FkM#3u?|win3Jgc!Z|B%_b+fdW}LUt7A52 z!@}c)|3&{E`aS5)pMvG90quWV5YXG})T=Emb?sx)#29r&DOZM8>?eWm;N3yvx%2W)DK}hgAs< z){$c0H!@|pcWI~XN)}fWqETvwqLr*{X3;oOE@jPSWVUEEHSO4bjhG)4GoO^RF|FIX zjQHwFj-s|0jA55fDd+e*Db~0mjVyEN_LaF4ri7`(!TjZmtc_himf<8Rfif-EVmWc} zW|vbv$$s~v_4EE_c0I2qOs(^Q$5qRAt4K39{o zPq&)H4&{T2nrY;tx}@_U#e6HR|3ynd^8>!FO=sVf-G{9L)@Rl4Yg?%74{!s)|H?#d z%*CA|N<~^>uhaKms_xYo1u$62)P=y!t~I{nxPV_g@JqI{&|h)sF>Np|DVJnrYheB1 zUnGaSVQ6`?Np~sUtlbQ)zEm31%P}dApR^u?iK$yELCes<3xank+banXJ4vd{cFER8 zy^Tit-`_%aMQ3@5NuGYL$L0Dzw!vP?D-&Osqe_iNDkeBGv{~9^J}gW~<#)>K>sqGx zp_$~1cL%;kdohuCrkoRs60+Ey-@o+f5$T{vLKWFFF0$DSQv}Bnl`7LOTQZffdMd;& zaA#|O{Z1BlCt<={Zb8XXO&syVYfqzUOO2JdWU-tzwTnxQc+}J$(`~Pxok!IgMJ?sg zFqdbb$oiIgI(0%nvfo!wO5#j1Z&-itZPTcq#(i`X`xeS|!Ss*`bM?Q_u1ll!F{V%> z=>|>KKMDM2J4yxA66hLqxpID37rW5c56gGyYPPIXJCQxdrjquStX^MkWi_>}%lUk; z0F|y%`|A(+aGt4%M-JLypzU9&#ko61P_C5X&ApXc8W6v7X;xn}E+y6d_(~1wYco`^ z3cP97b|p5$DzGL5$5^%2bmEwrru4V4B3PT2OK5~PA%<>p2`~~JZ}J;$xsi<=J&ADO z>`>{MnkuggeoBzg&rz9)hqO+WMvBRgT(q(T`DtslXO)m|(dZ0&!sj==PI4OTUlDiD zFxf^WCNi}Le$sc(glBB#`-chfbBMIbwe4S1?9MxY`kjy_9-k7w{%;EX7G54gx*Ca6 z)c%vxM*d&-=VR_U6X%$Q@&xf}o1po`PPdfZ1>Ym-e_?9+wlFSpnojN(Q{Q&eBnsD~ ztibt4x0(t5SC_=1_dD_O32z06_3RXM)Zm5dp&+*OKQnS~iF$Ruk(Y6ZBiU|Mc)ulh#B*^`U71342;(R6L1~-G549 z-`aEN@C%6m=^{)SsqGUE2#GT-#C(-k0dsM-4zoraF{}|a18f+=51A@$u>w81Ej5uv zgBxA0aOqZr`qfpdhH*78a`H+T)E-}CCB!gKixX^V>a+Vm8`IExwdI~4mC_Yd?bfoj1fV_Gr-R?P~Vz>~D_ zp@h!`r}?`*U49JBLO8+RYSKfYIa4nCf+DY+k)rv3&*zfFbYELhm|Ix=x{`^MU(WJ; zTa6CZ%e^JJ>?9ktd@pSdu$|_UIy7EaONYRw%S2*|z5u~6Dr0sXS!MIYRHThZeHNgC z41>w{=c@A9wnA-yWCSHt*kO7(se! z+nfz!4dDV|+rT(~TJ!fhwyeee%-tWymJ-P}%mQLS#`hj!ok$ID5t+4Nr);|$@Z1^U z&%OO#zf1C;rHIEM%l}}p$~xfRiv1bK>ob}EXFL=SyArN=vSF~1(6Av#^^)YqczuQK zcc3#W$0{kVuKnmUZqW*x&~uQ$|2J%1gr}#$HasBV3r<>wkDxyfH5Ymna$v9t!qBWn zbm>6qTxtIbqEx^HpKR1_al&6223~m_JgDo4su?Z4exv`!J7)$Seap|<(XPeJ(OYl5 zOs_`F=fclvIj8a7>g3pRY4GY8FjBLkFQ^fQ3f!m>1{LKq=R(3pe}kut zGo7d|6^~2gK)5*twFB1WBXpg=Am-7`V9G2|6`n2|M@Pj=AlShU9dT^tDQDqAg76Ju z$mO*Lu-HI{Ht$If6Q;tf!d!z6GpWw=j9ue@48oC%N%cFIqQ z&M%}bT;XLsjvVmRVtzV}K!E%lk!%fw{h2dpr{v0WE3cKYi2L;e)$Oq&I(F?VP z-Z?~!exWWjh=?9YT4l5aybOUCuSEmB)czT08Fsql z%E-6?F^xzghrOx?Ag7*tF0bp!R?79A%c?*VFwj#6E;8EhYh>;P`*W8J{MdPrSleQu z4rQ(xkAvZe<{}3qczOMc+ED+tlMtMe(LcjP^;>UNHpN19uyucB1JHUGz22XXAhvfT ztM6Uvf{P$NaUA2W|&XR$43XqR&uc;-_xEhBK!>_dulZbEp+-`Ftm+dHs$H&<7l1 zN1O3tE5&^#^Dj6ZAZMuhVt#U3$~qcZE>DE0&)Y#6^OU|Dxu$`Gd4P9~wrp-3P7|J|0 zR+95HBgD2xcD?ezw{3N-@@w^_wAD;&C7Hs3iKG}GHZi}E|B@Enh92a0#e1qgcGc!DI;4SHb z=c%J(Z_IJ%=0QHA`glMNsNIpak(MKLo}8OBs4DT6mP zlpb)6R=NiXAW`%7fmEFB@;O`shL1lCtVqJ?}BsEHk~z3=SA*^?q?2 z>2nGaCY?zVfe#N1XrCT)g(9q%l#i|jD+Fnx<1E?h zBabDGVk~adA{Y?EcjzF*XJMzl>^38Z7^A}vmj2Z^ftSiddbcA@2B{~|63<;HxMRg{ z;0g3VtEK2`+SCJTLp(3|x~2{rq$JS+|IxP*ae#0Q?FVpms>Q4NaxTb^PBPj1JJUew zU0fsL!NQ-5Z9yXUi5qB=Xf|s;=>{f&j?s;RzxL9!$!a_QeAC7IVKqdfW`TP;qiQI{ zWhQo{`_w)3pg|2+;g6R$^g#{Jtgcf6Iqkh}$6p_oi|I;C25Elq0gf*7nhG))x*)^J zcS^n5Y?I!slp4;rJAAXKX)_fkPN*8d|w6f6-f&U5K)zr?beP(BXFx z)uj!Y=^jH6gF_6(mNScc_6B*OiMbMo4qvD*fxRvaHezt>(GZu<>MILc!+nHj00=5q zd>l60E1qYK-NX6gyta3JuS#dO*Of!cd}eROZ)sV>*lb?4dQSUOiN9{zZ9U>!N)YRE zdGTqQ3>St6mARuQBu;6&PV3l#Owr%hVdqJY(=W+Q~Sw>@?aQOS_VwdIY_~a5~L9opb?VS9#^^^YO4fdr67GuEreFN>N|JXRmm z>$i4}YI#O=_hII;<$UN>qi!|WAr}#Q{q#23R*SoVMugYa&UlgM@|JXdWfSLZbxEBU zpMgz{_}8QP;`t(Gefjb`_3|3dP@vl3Zp*ZNEGOA>8WTJF@(FJ~iZMiaqUf>@`A!6W z`m>j-=RPZ4Se=P~?gQj|w8xV_rPi5zJ}g}x3nP!e___$UwsOb+@h5L|O_QkgD_T&~ z|JOrehEb!03_M;Octck9k2&I2f8eQ37jHkhQYkMW*Ig|wu_+JsuVas{%5`VG*hjtN zv2BzGwHo|nnmLjpeS*VxZ?a{+^KiPmLCrbK-ri#d~~3 z{S;#tVeU@5W2B)J`%5L8oONfs8BR4k`##zKDL$m>k17N>R?X{*jF;2`pV=Zm3bj?3^~ zwqIa!V_r9BKNVqvH`rwR;dr%Rj;YlYX6TQL`gBS5ZUf~ZwY8%^wBa(Qubeoc2imeO zwPJht?oQ%PQ`mFzZbKZyj(Gq1#hK*15Lv%hbX&*AmBP3B>IOO$H?gN#S?^t574=SU z?BlvXJ|*5wbioU@hk3W`;FE}dF&R1i?U%Yd>-g?1#v^ex?JjdLnBstu9r~~g?K=qZ zjDp`MY`J~zGG9^cTsf@@NK-=XBh&Z_RE|@#lX~N4UII(U)ZFYfuu24CS3Eq%;p(); zf1gc(!OceS8luFta0(JCa(u+#FY>?Jd29SRn}-%A`-n)%St}6yi;wBZ;1O#!oUo7c zZu}C37V9x7@Aqm{sTk zTR@bZ_yTz_BA-G5iC6&zawOl&hmSTEs~2S5L|0Qv*sr@g#siw%$d1K=1?=fvL3|{= zIiHbF*Rw)3@ZG81w&$(ytNfZ)k8SB1(?4iKjYYQ3epGS0A9FJ5`4)X~0=T#75dDcg z$h{?#@9XaBE|)!VU)Vvqk|V{79Rl$K$lj>Z^A?*(*bR?AV3EIuFouu;Yu{8TvzGjz zE(adZpj%bsf~YR7fg=m@_taGl72iuQ!lfD^8R#PB+-R?zbm#3i@Wl8wPraS(GdVgF zNb8bD?RR$_uGBPjYyuHV>^3|mhJZsg?q1VE=2CXH`gAjIuWL|pmyZH%cQ~-}nyV%3 zomn$&vYQvarEdjAGAVk!;?@DzeuVqbzIiCupRVCW8{*R!?#*Kzotu;Lo-ZbL=8V+d zaf)W9{F)Hc=?6vvYdwc3?A7J|HsS2=m8@xlPZ^Jz5=lOSCgl#{q zs2NC=pjn#3vqkmD9pi{}#KIWZsxuaB<7fj7=q0r{K!+7&AZ{ReAQc_gv@@2lm^GCI zc)gv-q{Q69cp^HZ`QBhXT{(y(uZxFN{a+fF4yZS#du>dD80cjm>W%OAtv>J$J&1>` zcI~&i&G2=5?_Jqb{Vk=YYYKD!U_!PrvVX6LzaiLpAC#fI!14JS8e#zM`lU6yI%2); zM!eZs{*JA-M))$f51f2U4hBxtr{kJMCrH`5{QP(Z}2=v}kD9T#`O zDo&FP?LLAuSCWC?^MKs*`POi|llHigEdECtLvLiWFAN@L-0hrYqi%(E3u{a?s-_(% zx!tD6j1iTy*X=^($Pdp2Bd>$@^Spl|AZxmVi066X4@@~qT|NI{ZXlMc|6b(lFbw7TZ|S%!$JQe?4!DLUzsON)Z1^3Joks@0n|w)S@KUj zJ%oG@^fUN)pzywW@6f07!j~i@YUxX4re`_5_dza-enf)BT}LeBSL)%l#b)n`Sg{k< z4j@rHX!Nz?A2P6O?O)WEPwb6HwcSK%9DL*O6+0v?NT6}CsgRCfH(rQ|4VDF{UV{$s z4Uu#My>JUd>Ihg#X^j~lTIu+%@0)=flEdQph$D-UCj34J5WrXVGJD%NM!}?%Phk?Zg%Vk*T>^& z;InHhldz#h-o6qSOwKek-^ zZl)nFO&TV6mdI=y83~Vg(5Vn{T^_q>I*I{wx=>B~H-&R;*D#v2(d^YHT0dMG&aO5q zpW-miBYo#*#jys}HDKI37_2F92l;ooBv1{3pPkta_>-nc*eje3JpOUN(q5#097Drx zwlfL6x`%bWK6-MFR4g#Zlgwx3x;L+3KdQsy&xgQ&{eN0wnbSZA-cj4yY#(&H;l;nD zkyYH`Oj`72Jd4FuZ`Zo}R}@{+zqT%4BY}ZK^;NCiH71kEvOfdcqna{rm+@LL2pfUr z(0iL2RPt-JTo*28MH4J>9nt~jnt#$2v@>r=BNiweHo|F~?Zw6Vp^6nQBVRQ9A zPd~KSEUSI3yUg;)t^0~H-d;aB^a*NJ=$Sk^pi))g1*;4>ZB3ScrF)7S)biU*d!sFz zT5bd4e54#se$p-SKdh@YTeI|&LEdAq<5oz~g4V3tzzfX#Y|i5SnNo`+^hTl{aHo-L zixefmB~K3oB}?))Jbdt8M`D97x3}mwH18b=l;V06NAOE!rf!a9u zf#%`9s8-CTf@xx-22xCkjYv}#W#GuMkfRE2*tw)Sqz8<%$H8TkR8z|OPf3vPqzE0n z!fr}BCJKM179-~}gxhXzb!QWi>bRs)uA&+%by4co+b$tC8oWe8Dg_%yNSQYkLdZy5 z%C#k-Og}HU5yr@ki0VdEiG)?rDai`Kpa0Q8j+33&c}z^k_xkVXC^MDLhj4z<-#rzi zSf9B<(N2BKIEtmYPp@v~#u*o>8-RO8)Wft^3gPdajn>?klv4b$6A_Iy6d!+#)H!|( z!Nr@HL)oTTTKnyM=idH>w=ONsVhp?D+oRv@Ok*l&YDKtcbtcqIGPAO++a-T6bHz&0 zY9^=sGgJkb`JR8%j3d?LLWMGOQ}8aeIrqn*8F8+cru+B~XT-apmhofz=CO5*zA};U zXCf_?G*ViD@6D-73bj+RcpSYkJhm-ulbzw#-Dz~I31@uVC7;yVspjP=h3W_KXEXc$ z^Eb?CB^2CJ@B#Pd@*Q zVW&((1=J`qw_5VCwb`PY!5Za>XE^4<)YjB)(`#i|<8G8-CPQJ@%AXpUh$qe!J|^e| z6U$#W<5DtFl0eDM87+SI{k#qCgm}9isgxUb`+F0o(rSsBcHIfdl;_Z@>BnEY2t&7$ zM);@lthuv^=U<9CkZE_Wpu<18_Fy(#x3iA7aT_*`9!o7|@d-KHeVb{jB=M~~R?bcC zx5_NfTD%hFDg3|xKizGxZ%Hw0#a%#sRWH~;n zr0_FjbMxFr@7@)59k3rlp4k~9og;8@Ty=-YJ zzx|csfFql?NvcApKOavS^IKSc<*8(kWLRxNe&bF=Ywj-m&z>S>VgUPmTsGd4UJE9( z5IpYWq%FSOcfPhQHe=AJY#W6NX|^1y=BJ5W!!#P}^ecNKJC04aU$3j+LSFXnf-R{^kOFAbEWSJEDG8IGz85P(sR@n6DE1cGW6##$*v^~??CbY#zY^S ztmRodexJ*^i%5KqzPuzsg!Y8KkKOF;&RQD5h0C58#m7K59{tu&#$2!YIYD`JXTKj# zLP_-FPd-gL8M(!9sTlZFdKN^3UV91YXzde@ufBJen*H!fQJ1BR0MxQdmPd#LCOe}y z!!c1{=}P??v+#Zsb7=*bdXgnezqwiXMtY1P%vqo|gfPo|6$yvg_!hiu7!LKv6W_S~ z5QIbYCPGL=p|*tS7|jzE$KNE3(z~#f#HE@N{-w8Rjfsii-&|ah@VC8zUxb#%Bx2XPgB}A+;H*_O6Z!XWXv5ds=_B5rLN;X9d$dZCYww5 zXk{jgF6SB)rvBCvnK7$xvSzpwjf+UL@B zJT5qlCQ4jJ^f}-;Iwnd!E&U0$HZZwG^CT>VD(Bx+H5R;0>XuT}vdhxc6}%L$mMZ(h z07pQ$za$z-(o%4y4bx~uNJ{vcSCf>we^WkNbyUIo_GivdkXrax$dg}@X^nHqCm*({ z(@083hEj1&eWZ1F5>H5W)Y3}5?F4CDOr-yk4*_dqf3s39-IUC0HHH00Dik}BW{uPn z@?$JSOLm%7=t21*XDAlgmOmZ9c@tCCVpWT4U|&`_0(1Zk3g|DqD`=RoC9wX!L=g9fMn`F@=~O?Dc4I)KIH_d1bicb}CJO|xQ*USpN?ijiu{eH09!O}j z&cQ?tB59qFcI?4_gU0j8^%jRXNV)gevk8N*5fCN?_2y%_N+gRWMQ9AUu&>DJhx)PZQOP*xZ|G5x?y zQ}C=nLLzoR>0N;Vjr!F;hWn+}UB6L6)q%l>l_X z*D_%y1DbTDQ362&xtEPM9gMQS3}yha zrEIAP68H@kj4Qxm6gCU*2#}j+u$zI_ti+wDyg{xWV{Zpxvodo65C`1NjL;s~G%Fx1 z207?*HkfcAECnN*nbVUuh7T`-tN#C=8egI^4i=TndlcLi%mZ>(V z=}AFIq>T05%NHJ4ej0^0`#`f0S2=(xEqJjy7rZK$#{e1u8HoA=7b<3t?trKB67Yhj zXvlQuc1U(GLMe0=p%y5a9L1ssVU%EL4ZEa<-V~4zaq|HsYVfhv=nOudOvDxK0A@m4 z=K}MsEiN44!~X)v?J|6{dW>oa3#6`O&in_iC#1-4?Y|jO*<~ztwwV>kpS`M(y@pJS zsf*HK*KOm88yx1tnDvlL0my7L-nymTz)?e&G(4vB|sZLUw!75)OFYLK-?E$G>=8<>mxjBY#OsoZIg zV71TbH9vW66-W{^bUr|9SK_QEk#e<6#no15(ea1IRBI5m5*3Y&9E9u91zu&qipAU( zQ$YR(aV_NFI0|4h9(nk>9oy>jd6Y$d(l z-^F5zm>UMOkRU~9&)j^)00ckhBPo)eaR+O;!dabGyx|x*z2{c zca_cMUanLHfBX(0z|ed%ovax5RKVZ{tYK;gsXQ_RqXfyQ?pi<(6w)BfC3YGfIp{EM zVBSFo7q9@bQ|{Q%*MXvOFz#>wp)SxvdaQ-A}~*(n?o)Kg_IhTP%}Txb&eJ zoeme9XpD?OWIPMH0}-m%k_bRU@idN5I0a#&s@lW>9(!1zqF;7yEE^X!F6Myf6rpQm z-ypFCyA-vq7wRCKLo*gq)Y-)-3@shdvPTzP14}B`@d}<9ry7L;pmmg_Y-sFYXO9+T z2R_6q@+HakRYSIZ{`rqqVB4o=f;}*LJ>bNAi=(=)ZuY36K*L@QDi+)>pi;rx8}S(H zVV#ibgU>&jiX6-?uMj#z)Gq&yED+Xh%W17+nyp7hVbrT}C_f#>5>#g0dR4!eJu^y|I(7$(sxW%1F( zy`;#5Ij$D}Xq-V6Gf)8}dbACr?ivo|6(IxaD|#6ve%o^%M6RIS{Pi#%11vpas5{V| zt@O3GpCCOIe%pW^OkP7y2U>a*;)4my>=kjqPvyMiNS=ar8*@1be4{Kv9@-U}C?Jjm zDS*)O1ZOksd0-hDTq))sEq(J&MFB)%#q&7Qm{a&v8ShZmtnysU_ge zRGBPPZ(HuQ*!Nkwqe~WZ#AL`KPKgwJ2wpd01-!qryO=z*9i0)OmAMe?k*Xo?kVl8Vh>+p3s>g!Lm7kc^K$laX<;;+hoYmM_RDKyC_#-*+t?xb*8%ImOhCvRxCT!6pts{uU`* zxqQP;ka(2EI&6adr_6cWKk>!Slyrwv%uc_F=>#^~A49{CPEZP)u_1>#5FFX1Z^{rF zM`KCJ7TR!tLKM3wOd*;f15{Ly2#)v>6=+dH*+OGV$Qr>nY&1qFsKfyaT?(d@nqj{K z?p{s){<%TF;N%!+-6jhz$o-#>uq=1_Xe(@UHg2&?_8xJCx(!c9cDkdh2V?PIw*FKM zr63#&IuluJ1C&>Ma&H^<>9w6Lpm=IZ}M6>75b4P_5;?>Jd{ zpg=;2i8!z&1yFk6FOWNtD0__>>a22Ac@tu@Ux8>>PtCV2FjwpD(^E6LXKr z3^=4P05QT|;!`E?j5!(bl7euvSd{95MG?y18*eVyGQoojkWmP3@S-^d01Xc@ev>9k z|JrSU&Av#c1ZP2S)7z;uQa@Z+t5E47SY$FNiR*wzm>%NxhR@u3}S0e^l7DsPkx?D*cBgnR-I7F&;0utM;>dehV!mOhFW4 z@XQL39sJKw=?Upmc%}+G(Jue>D>m$iQR0LXB?VIs*;ee@LiHr1y_2DuS&(Y_JHV;- z{SU6Fu|raC6&7f1;!T3sL|Lza__L?f>8;?|MeWbU=!uo3o@jlCpG8b@<>^k4%L zL_L7S5?jOqEXGE;>40%lNkHgB9JrG^G!rc(nYw!TK%T2sBT;S6j5IbNVN7g{V*Of?$l zlo?wY?J$YNYjoKFR{Vip?h^4eL&`-~HG+_YP@9b`9B6KSS}q0hewSo;59AmFMb?no zA{W905H=}uXM^7#F4LJEHr^=EXq(&DX`oXR{`P$!*)R3vHV3oVS`2xu4A;`phV!`h zdw5XLObZ?je}V%;aQD19|dtfP2yAx^x4p(evf!aXh}Qy9XjO zYPy%%lKqn$>20F}7|TK2Jp%41!XmhfCp7L*g^uVxgB{km=0@QxB#3k&fEM6chQ{!O z8&=(c+YopL`3$zr)CD3?FL{Qo7$k$-z9?Zfmc6*UxrP`E+%B>3pFALDvY%bNH#S>H_S`h#{f~jq{7KVxwONvpL>i04mFz zL&yjo`=WSvk;MbE5yWn=fEI>M?1bSRg`hMqXoyHgf*%|@isYi}@G(Niw4goE&j_S}rFy@h>Y{~|3}AqvAtZcD8(+}i9D`*PEA}fUpdm7h zr4ZZb>_+7oIY4j(!Y}#Hu+8X#7e!yCz#Bo<9=+_XCOTByRP@Tgg1SHvfft5C3@{mqK^5 zcpIYKc>h1?Wb}~RwDV3L8v}P-=I!qPZrBc+*=On)nfmIbhsoX}&GyPqJ2G@#G0y0X zgBI?`fn;=ZIw1Vv<5wu4wXAW9p7r50{sp2_b$sb$R+uo#dH;B3F!E!IqMxFP_6BgpEl zS!O?SQJUZTL`=~&1Fap5fy{?p6|x>Y*AXgpg4LRTMNui3Y=q|^qx}NY z(jHIFu`^q#aEVLTyr#)!LKZ2v1)j_J?rrJRSe>vL^F2N{5jKi6c&>p-7G?moh@O24 zCeY!|e4Jn#!962)#pDat1d_Jk@b3&{VTCxjL*yG>Ac*dQ%7-`$m?{M*v&4Kr+!%U- zHNLr#w~GZa4%{xRRdhmQ22CJvMo-hgPUu4$ggAg_6U^$^=;GYG1PI%+H zdjsDE-~Pwtag(jO)m{~-hK{kD?CQTiDP$aZ%VPcw!FsOyy*`_-diws}leN}C z;ZQLbSg(Nf{Jqn~LJA-=AWRgx^^~zg3wAVK)P@A*>*`j#M9M3{3991EKkP*{}XYErX|Uvw^?^a((Qx z&B4MV=!8cmf`wfmo=}U<>OC&0RzF@*j_~K18!rRNj{EBD<{r-iwIc$X4b)QArbpZ$ z&>Vxi>LJsqm|w1EruQGY8)hMpK7zlqIMZUU8lIpMhd2gAu!0=iXrqSREb65C_Yv+r zMcNA13UcJ2fE|*%jR6?Q#+^6jS%B|?g$`DrPeBP!8%X8C(7`m2UHTAN2HOpMXhF<| ze=C}sUzqj+@L7}OlfxT#(0Ck!kro<=PTTwXsf}ZE#$w?TpRYiR85+uL*3U~h&au0l zcNl;Q3vv}lY}`;XZ8zr=BPlR*Md{P7xeF3D)Yy{W$PdWMLDmbtsYs*0u~2`4B|PhZ zTmcCQ1zaMsU>gC=E!c@8>2}W@W{YqWg6l4n(CC&zzRF=XgRvI0c8p%p0L4>i>OeR+ zfxe31!Y(!1oYANUpf?t2%@=CUP#pm!ijc%EHomtJ| zvhZ!O%})|3$bW8T)Ems#n<>0Xg7$pfH#Y- zD?k~@NQ>|b2^)o6CCa)Cpf`eAVSMlkMW6|H_wIvI7Ocp4)RY z!t;RRwt#bR5jxvNMiB=g0J0n0S9q2MJ4b*CKwX7^<1Ea$EJpVS5dISv=eB$2PMW0O zZE&JF;#Qa2TCks!=V;4hyDt2H6&VB;zS|#@)s0-)ZhQw?GZ>4646#EawQZ}wJMx<- z_~x>4$7?BF9E9!Qg~kurC0?)c?C3k<%{bkRc4&ffurL%^&-P5nY!%l zC2c*+u{~F78fi!q*SQ%=(H^lO-k;p7Wj!ZFT{ncfZ*R-Rr1t^ssg-#$1F3birxZMyhpauf863cq>zS z^D}NzaB5b!V!4!C{VEoFajIqkJLBcbnEO$htyyZjgi@8#4Zemkp7yb#CR?<|;BSU& z4%^YR`&fU@Oqb#|YIS<+ZZwwsQDOLp(eL4F&@={)7Gi58NBvleV>Ki-Jrc3_9kFNd zxAZ^rfAme2{+_Octs0S@fWJZb$D#QT_Mi7iwD$c^qh2s^4@Rtj7u?pVgL?)pR-4Iy=Sq>WAIN}Z z{P>jBzKyB#%_e$2Ih582G?kl&4@X6VchIU*vR(Yqd-#7=YI1w2w#+h>w1)&oW`zQO zL+B)V3+1EQmN3%P{>d!!?IdL5QOT_>`Il~X6jEcVS55j&51GLClOD9;pScOh0nbm$ zQi0ZB%Ehiho(Yr=axRt*JS;FBlwC9(%w6ajaJJ!es!Z01;x`wgv<|c?1Wz$*H*w-( zLV9uH#O3Ao?8J!+u$UA=;vy1x#fcM_7u%^5B`&KjPY8(%m#AM8CN5mu{7s&?xUBDe0%pA@CN9Zg6GG0Y zo&Mh$(enMBGq%3J6PJgHL!G#Vy|EY~&O>t=To^iK9wHIF)ecy=iQneO!E z7J2XS2piK#p%fSPYYau>84hhS99CKR+$-Oeq~~52f8Hx^yFHSDJv$m%#;Ip}nulA; zR!ODxjXLhv+6mutm&Bh0Dp#6hxwa?t7nGH^DS60SgMx5mS4l%H?j0u5N|8PYxFjzs zQYMd?zva!Obi6e`+{ADMO^0sCWVk-vF6vShQm|^G(C4SGB=43@ZZy>|L5Q*1X$Z;@ zN>jqIJq1VQE>u|(j<>=kZZ!KbBc8cSCZf1CxFt*aM;+Xj&)-MYw^byHQEeWwF3dQRDSY z>INs=SWHRdMsdxN+7b@hS~AUS%QmVtW8pRU=eUXNOk}3 z9{ncrdnZFD{3n?ljfb?eIF;LDA+5bk<`+du{=ma~xlWFcUdu_{P)Z2)lHd)c{Bke( zh@nqVL;ZF`>y1-M(=YiDJ{-O2Vl_IzYyvOJXM-gc)*4BscCBA)V)o0nNdYf&59VBx zRdM!8pZr4oWFxY%{Z>C=oeAbP=wN<}M5%gQnj}KkTS#iYVist>dO;Y{$JzhpYg9+I!SK+4?MpjNKP~~_GDYJ zOh2Wm0sG2+nd>S4_qg~0q00{Z?y9!_|2D5g`9J!c*S7KE%N`$Vx?>jbW$uaKuG|yd z_N>z-_(j59cX@pf5Y+@;vK!F&PT#v>?gF;sd>6aW*WZC0seNTXm%{>buLErd9THIB&-w|2kkS_>SuC!GuuhQVhGIhIkC?#4lc2eEDy{&ST#TxE2q& z_I_KPpAHPcv-Q~j=k4q4ZLjvtVViwnNE`PZ?N673skV#vADpM@(8cz`f>j>qoR%lL zi@%V2?ymn1k2<6JZ5i;PbQW?QIyXKDVGhuvap?o{oOIjfL!QfgbcO{bKi1VoS`}5O zZA3)F!K;jWzKyDaGr|F)eu*_uhW=JMiR1!8=72`l33QwhT^7?#n0{>ccc5n@|GkjJ z^21l9)e>)>UEuCtKwjXl>jAkB6fS3v|Ik29+&J{_Ptya1>#MVlLgLt7gkRhT8?g~(*N#!c4-Chn-v$57!hoKEzdv87hU(wHyUQ84S$4kk^zXsG-fg4vZ7)sB{BAoDnw)hoI5x;8Z;n_wk)F}I&FMjzh6?N;}^9oSeed~GL zrq~)E4onuM3?=fyIGS<-0tPWW2C(QmldeMM$+PHxPbWEdLbAlPG|RAADTE)0t+G)f z={tEBvnzSj9!k(B_xV|yfu>&h>Md%EjJS!Xs6}BWyZ$epo!i@JD85s~uj;i-o!L}f zqv*j_*?tk|-7GxbO%}bQhTD9$t1m^fL=?H?%?CSh{Tu07Vaehflg>ZSiFg)awt0Zn^6ndN*81yzK*Hw)0I&bTAIjF9HO0gT5 z-!Mk_8h%Y%y+e|-;gc$4sF>897OYY5o9CHAVxCI}y3iNDy1}*A?)f9Fjk&pv)J&Pr zuN-zc|C`x=!!z+P>!B1xS?0)amW?TNxYM~oYrhNb=8+q0t~*Y52Y6XNk3LW^S=nh5 z%}(OtWVdC$ac#`H5ip?cqAfR6L_q7ItCGm=HPkDB7+}CxJc$&~93$*n1t`UqE!_uL zG`R+%1T*{>0K+bY2lkY=#4h$$2#m%QK>@NAAs44|%-iGG3uDQ07*+oWbG-?#b1%wo^Q2m{@S*};)#Ru)^7ZMkjsxI@}o$`Er{6g`-aoxHxno_F5nvH9~2s$|#q66pQu0fll~N>&S%bs->ovh;9M zRU~8yT+~M=`0Ua^?U2j97fAz_b)SkWq%13UzjSN~-QmKmbg6!*OHdarT^=x@$wchLjNoH+ zf8y8jp6Sp?B7YY$0a9E-sJu^PfV(paqPcW!1cw4a{Di0aZ9PmQn-QZutX_GY_iP1} zTroNaN}&y*peGi5oIpI+CdLV8q%dD>pH}OiW=vZQHe~_R+BWyEc?h}64qVh#acvE( zzLMObTE=a#fL2(#$|EZ)%oV0$7Awe-o4F%B=Ob_@&U4h%Pu8OFgXb)?@;x@tMZfhJ zE;G2vVBv27^y~BsY9Ek!_``IZfMXt-qD05xs9G%gX)sBlOSG%6@)N=FVc%VGqk)Ml zo<}C2Jb?@8)3ub;Cxg0!h=eTklPITf$-zlZDFH6UpKVbZlL)}N-PbdQZf zbmm}b*|X&>BPcp$@dnZ_4YsnwtaF*FS|Q7$jh2!VQJa*FkDs?Tx*e9DPTo8|~LO&Vnt#1`zGQJ^W)G@%6cWe+x zYf0w!kqx72!R=k**MT`klnPJwZw3$2Xa#1+)``rID2?4dBbgniR=ZZVA4svMgvgJT z1wtz#giO7NzcSY`GtStZrc8*SJPJagilwD4cU6;W%l*06DW zQuMXiRV?p%EkiP!`V|+bnJx`GbmpYK#-ujkMO%=&%?zj7?Gk88edEdvv({~$D6H5h zj~-?-?}Sb&)Ui&S{3^AiTu-joLF}|s;~-=7hO;5T;yC@M=nbsdpu89@>#XaT9NQ7s z{W2ORok~hSFkWbgiShwc?}k!T*~d^*IVD!UCMjC7JM-ZL)Z?_HnO(Ej4XVb9X^)lC zb>!P}N(quZ(+(FNR0VFlgbL9<+q_M-tMIJIwgWA$<7Qn}>XNAZL}aHw!EXHDiI~y| z9>jEyi59=!0O?oHLc~_6Xt`z! zqZ0}NJxXedhQeT?-+`+Yh@%*eOfClNps!}tVR1H|l?21ETJ&FlthN-m0mn&6cV%T! z^Qh5tvyCp;UV0IPt^IM1mTKiy5dog4+HdUw9r~zJJTSPeuM!ENjm5@)3W4Wm>i{4) z6<5uqoY@at`XxF5Z7_$%Cjh_<_9M`+o%0Gby_2QAK5|4+u$2{_cQy%iOi(<(1+;6B zEu4%gNOz7d=hV^@+f2BVm9Df)Bak6+b0DEY?a5RgkgP+;n_02C;6KpJChO; z1KQVlM{32HVQ)3jj21ivl&-q^VK=sk7XX>2+2k$jFz{Tt>RyeIS&QVYqvwaQzNKq->&g29;ahp7Z{tK-{a5Je}YY5 zW95U8v1Wi~&R1tpr2sfo?pp6zUV!8#2W?li67qLDaxBnpiEZs$Z_J<*&313+!h-Im zw3Kif34NQxlPU$y#zUzE)>r>^hv4;S>X3xK7h23pQR$e7s8Yic{~Lm-B0{2*XcOaqf+y> z>h6|E2Gj|lDNE%~nzRMzNAe^(gFZf=&RRit9-9q~G)?92F`}B6gj!tPU-Y1oDu!I5A9h2?bV!K)to|6icQM*d)Dj zpPfxK2K&;{9qF6cx!Ef4YapSV9>6%~8`aHA!FHw`l!w4$pBv1hqAT;MEc@3qXZ7@x z8?j?_uUD$1LHI}NSI&CD-JuzFkHdOZ{SjwZKH*d7{>S>pVz?cYUrYiasue!KZHLrn^`mquMydvZy-zWh9(;(ldWR@CBK8J&A|*$otQ=&_BPG&Z1}NA9wLl`*-xO zIUMP487um|&WC%s-&56qm~>#x18P;AVV0nFN4NSa!Nz!KsO?ul<#eGk^=zLI^z1Eq zCd==VsAc4C=vmm8-7t@a`g%t?dFtX0=Gk|?gG^&o(<-^o@y&ahf~unsC0dL5VExxQ zzC5KfG<2fFzwY@mhRk!x6-kd0*e^j6ohK=M1&5rKXCFR?w{s znWr=|s}K$RiVyv2H1cs%sJLY9ToH%9hjO*jV+B~ zZWXL;g-tDnyrd7s0}_P@goHmZPp#ZI)f#4~`4{1QRoYRX?}PBeFMwMIKbZIap_emIE%QA%)Zra3+11>`-kVaNdqev3 z5oor7f!t-~wkF8^nO~Ag$^-v(m8FX z_*EO5hgyevYdX-AZl{JrsVacpyZ|k&Phk*0CTInePff}eC`qvtos+`|V8mjd9eoSt z3LHhEnJue*36-zhmjS$4`vGztRQGj*pA^Z8V*s=;M6_8CoUQqs4Qgh^nYZDGR5`3` zdaB8HutO)PZpIV%i!JG2gdU}23hD=CTL9NVk&uG9I?6p!>-31aB`|qh6v09;zoMj= zVN(23^Fa%k=A|EG(M*#s+q!~u6}87GzfN~T$n9=RI)!!GZa4_(_AZ(}6HlLOAl3_w z5w?nKooHdr$b6mxSIQ3NB*h^G$2v>V)M$t)M$!)H4dc85(_W3SBw(x2{FA4)(yh_X zAFBK4m~YfmT7XfWo|UmKGLJvbk|!_ABc|D9-$Zwp?4A_0Td2@>Xvf2WBrINL((OZ|W|F5k9pA5Zblr_@^D81b1I znY>BC2$fn7hA`I^{B}^i(qo10F;xGg9ET3nr%Acq&yR((F~m3LbmUw34QPnt&v&m3TyuY@j-MOQFW# za8sz-oVgL)uY6Wru5?YddDEe0?UxlqK&yA+5xcS3PmnN%=DtIc;#4rKJJtfxiI9u(GWGdFV_W%hC*LN8)c~GjbBlPvo+x2t5eI7e$GG`O%StK@ zbe%horJ-=`v+c#bL!7?dPl3mO)1|)n|E0&LWde9n>-ukl?uys~o!!55EZ4*rD*zDy z2o4D(AeGu5hP$7lx5}zfiUHrBjoed+2yuL965yChW^PLn;xki8G_0nUK)msne6x1S zBoXxnBVjB>N&|!Ez<3w6J7YYe85a`-WS3E2W3zSK)w1XoW^`5ZDEeGjS)bMgP5jc$ zmEZoF)Fl^C^gY&;NSR1)E?rB-l+wVJp~5Jl6MvkJ4x-Dq8yG(iPoK7g(!yJfcL3Xw z*wMmD;0j$x5GN|&H+gM}?4qilO7i!|3D~G!;%Ue54GSaMf))mM7yH;ds0bnIx@<1ApOY>XPnjqbjY! zt!dd|$giy9OLzX(&?eRMr~@x{i1nM6uD)~3l~28AvhfW1QE*xpLXW2|SR-a#{z4@0 zh@-{pMflrG%#%tFGMOR9}6VJp?$VQq{ zQ5{);OT!{HaO*muUW2izQw$ZbTb|j(Wdcokuq6zNDgvOo@mQrnamJ#|s96G}0^MCb z`Pv(iNkJGZ(Nc&?#-9rLucn`$`V9R|1>63k2~c7Q%`VSP%hD_H1USH#-GLLaX5xY4 z#Vc_o!oyQ_7_Da3vDx*Yd`_&b`tmr&Mwh)yvdtgsIcEiu{v&M&I+!K2sC%$8S>c99 z(6VqHzR9+SFv3n#Pz2qn`{eJ^Rnk*(_RIwi6eg7b3bF>`;ED~Gx`d4Ooj@M2F10!+ zTLE1t!y)Tt!AUOM<~IRgdX_%dT`<>VxZ2+WG~H^x*n8Jfa&4B+{maZp(Rn6FjW3&yqfR$YUzQi$PO$%2z zwkH3rd^aoi0U64@>*#W)Ys2R&@5&cJo#s$wP7E#W2RJ-G4zY>HR_WHtZWe{N8s>;Z zBo*b;2HBq=r5Su^p_~ow@{TE_G~Xq#E#FvNvd=y6UINoOc?F_@g=wJdbO3HT8f$i< z)s-bCOvpXZFLP>D#sTNuA)(XAWw==_1DI35-`I8Lar=+7L(0H&r-dC%$ZbJ_gi>#> zE#uTiji(x0v81?*SIFLS9{p;@=GpMzskN?r{v{S&hykcrx$xL_?O8~6y|qY%i>;N* zdVY1)we~2aCY5#$8%iKoaL|=ei%T^#)xoQ+pH~A;kP}X^(Fdxy?9f#5Cb=CirA}o` z$@w``AGQn$-QFr)%#G_wyL1}`r@Gd1Ms;-c?-Y1*LA-`9|6CPaZa~n$l`1dX#Hhp)r_emWL{r4r!&iaIHl1E zOxYC_u&&|bXIHaN@cED;%NM!dw_#XR*yv4)U6CSYw_<~^mS>NTX)t%WInd2G=M=hf zIT(>_l-xu_6eQyf38rXoDkA_5Sm|6P7wdN5_A&wynG!G`0x#{Dc9~+pKZSHHa>9f$ z?9HNI5fKGmQMH;QK0l(MNH(Vvg9`Up*Iyr$3CNX4y2O)LQ%EEgUxuwiIg`8r#I_K& zW`62YcHJ`BwvUXij+7Zt{K%icMfhdkX8W)_UJPh z;OiR=mex#lx-_(mt+YiDYb-e}3}JTUMkAl!u|`GV0YzJ0NR4xfV31{$>9ksH*O>JR zpsS>c-2%E(ot$yYU^{k6`K6s0lu`T%X*X>`vkyOA7AF)Ro)y(_J~+~rR~xcn<0hL` zcEFGLc?ZgjT~xw600X@ZW3-i1u(__Kqcl|PqPf7YGIn%Lft5itp1oHA=t!E2fsrw*UREL7zH+_W&^bF;rMn#Y)ld^9JF4l{QHsdh-4*@R9mgMZ|* zD@e4%qcPB}GbW-5Bz#8=C~{3Od$v>e9!R+$yCQE3jupW-$A%Kj?ebA`8GZ(UU|K~$ zN!1H&DD5Cjf^W=(G;L0tOaSmF5AK)xm)zD_Zd%6%Wpq2$A~w0LBXms}phgCQ4m1N_ z!J{4*tK-wAv+c`B=LC}sQ81{iijV5ue6IC!&u;d7r1mmKpf@Cn1ik>t2k z55Xnk%Zgg)d-x5eO#7ip;h6QBO3O&A-10;d{R*g_I+V<2kX;7;C<9sx9rgvZEyz`>{k#3*T--1kv^z>zt0o67_kjKM~jPbitFU zhq+e8B%1zdq!HTnMcmbb{Eh_*??C2)R5BqV@*{z8cXd)=AiW%_9a`?*DLCnz-lv#h z-cHupg)dGK{`8%Z;ZH2k&*mrPs5v$^SNq(=Qo4UC^zpVHRhH-6qcGO5?!nA>y}TVh zPhWGBur#1mD>^l{2%6!s0RnuxIa)%h2+N^C*1Rr-tdPFyMy~ z>t{m665PYP83KJTzkUE`zquL0&6@h@)(=>7>v0P1`}rT-IFMPbVI12;;uNWUDc}kw zta4NA(@BRFpk3Z4MBcov1}zIrgooa181=NS59e(B>ogo^d6D%U?W3OvCp6sL^!;+y2K8brj@Rd zl)q*a0t`5pgh2m};vBR-LW~fHby#G=XneM*4+FF7ZvrUh1(85;Y`XlOGAezSUmlM> zgO>F!J_3=?g^u>^%35j3W{|Hz!cuoNo{sm})1aRGvdjavZ3~1L$Z^$p*-ok}HWP#& zw{J|NEFYrbKW;JUKC0yiCVEaZox&w(&PFsEWx60Ow-%TiYn>qCbaAuUE@zb6?rSMW zOD(|veo9P^^iT_BJHwT#j(FT$oBOAxl2;>ZY8e!cF~^4sDFHN?SB`1`oAbFSP-_*> zhAz*w0JP?SFVW6JA-E7P41bjZeq;pVXcO^sIE$RpC-#-cBxm08Uftk#+u;TmiDtx# zsgr_p!E{hKh4gAmA?nEdWpg;2B=b|OXFd2vJUi*+B3hG7@Kuho_r^bq!oBO0rg4!TI2Zmk6rGYNjvGT z+HD{!2i;P&bk-Rzv5J23##ze=D(_C61$ED;clV5Q2_Y?#HutQfboNM<_68G-%=>vs zLSlk!^hE6_Vr91b+=HB$Xnz|HgyE-i3@J_53TWUlE951#<0}F92 z4Y;LZis&ac`fh?FyC8f!R+w)U{qcOqFcFk4mA7iBQBN+n<@rj(n-ST#)Vd@<-~kzd zMm&?^o1Z%*H*V9gxnaWsx;cvhE?}g9UxbkPC9(8tElc{}`NPeY92V60J5tBx=9!ha zdV8$vMjQ_1n?x2+wa}IEj4L(F3YOr_X5I6f=;N4efjXGDC!Tc${xNIU3_NL zxxWz)-EQi%g-VP4EXe!h{^=*2U*t2rVZ49ecRSBC^pA17E=QDko_z~^b0u|BK%Hu> zx!B0Mzvp_7vk`)ZL)nVipm!fyZ5N@)V44OiLrvV+oa+U$pQ8g1{dko&`UGCejYKO3 zV-vGvtflYv$$+w-e>*8kBglpGZKPL9snXrW2a6)&s|%wTWOl#bk~O?>mICxBS^F zVix|0$};O}&Rxm7?}pC%>6+|?9T^)44Ch?CCA)dwva_GNi|>K_4d$w~qhfc;F4=eV zJ7xCq7jhkRUGlB|43AQ_8Q}_CN%dLAMTcjdkxH7OHcI4VWKk7c<^F*M%ZY-gT;WJ5 z3Uk;v7gkPlY|#eX9QUYYTU?INc~=$WOO0|x2V7H6wi=O}C~i0!-St2W4-NP*a1DK` ztu*-2jfO%05K;S-RhdgPR+j_&kY06u`>aN%!47+}-_UZPZfBNBIM`=f*{t-EkrGMb zX3mZ?f{~+xF#@!?b_n<}<%y0?Ep}i}(Aw$#8Wo;4NH%P~y{Sva7?9j+h9cgu7Km4b z^3x=>YByG?nt?hd%3ByLN zxDbj>W0!>UfF`b8OZ83MkmlhA`SUVZ2~BB&J`FdMj_$03)Yr#jy20q?w~TZ;%bari4@oZOBux zIWs4n^2J-c$DMG80qU}nZLgtVDfP}X}^y%)0G<7;`j;wS|DO?e3$$1Aj zB{oPbqT==O1|1xa^UpF3JtsE@dM)Knm!WVputOr7#$1`>&#}2!NR{qxr{59aH|+U@ zQoa#Q>}X$%Hm|Spuy;=c@@Dn`&z0vY6e#1bHHzt4T2pyrN)d5qBDCkFEvx!ceKJH% zK8>I}-g^N(0eKUQIvGyq$O>{+(0DW~L1J7L)8@04zY$zrceXxRTo^RghExuGKOx)^}iF z3>HMVkW9C;_Hn0$5wg(JAqVDK(h9%yJmB8Hz5 zRr^aREBtE=mqJS(Tvu67T)(*k1pslJsC5y3P15E$9*e2Qu}$ge=hO3e5UxpTfsg;KiSWe8~p=Q zT!`=a(6gK5zw}s@xLQWb{-6=*ML|1F%pGvJKwQv*F!)@Mv>8`(Dg}#@NVd|(u;U~` z9z-x=>wpQ(6mYyuY4}$|;#U+cfk1=fDvZER5;5AtXRS5F;W0-#f;8dg;~T^pVlhAG zLLjpT%W*-&gnP(awRvVaLB`IQrXbZP1P2y=vPx{y z*Q>q~{jYzO{z|<2uk}y=4JA@F{civC>-taI2S32~I{-(l^{2IH4LpeMs5X!w-~m56 zY!048-`x+32_!M>+BY2uPqMAX`R z6XaRs|6=0Y0Ifw!1Sv(Yfmz)TquQDaq90y=M%VFrY|GT0tri%-X@>u(3Zo00dlmph zDpHK)>;V945gJq+2Gi+ryquOd{OEq3rp+ApoAbuYD7M z>#^^<H_<7CFtAtApZKV+qL)Ed;X)D?)YBbkO%Qp1YbbH2dJQBMT!Zz=H>}siskTWpZ(Y$ z`C<`?$@kNeE9kcF)S-w48mdpGrg!`u_Q6H^o_JR7GN z@DL}4Dpa6?AF#w1_#=-bG>ZI%1ytZ+F!4@Lx?mc~y%m4*D?ft-aq>!n;(VRS22rHB z|3W?!E}q+k1;O1x|R^ ztAxbDDevq`$k2Nt_#VBK2sg2GwWzDYYrMkM?;YEJnee6`)R--z-=?VLVi=K1tbul7ZYyWdk_^@zWKk>zkitA zUsC_Y4gdfBg#NpYwz>YlUdF4gzh)gBp|A14`KW$+-=Aikwe0uoQl%IB!G~yUrkTF~HxBOU#d@&FdDbt#c>hc`)4%(D(SKR`yHj@)_gX8`Bg0}$ ze;0E-af1KX-S4Jp@J#RSpOS6umo7Jd@)X^IW4H9LJ9Vp`-uvrBwA1^v^SS>j&!>O< z{oSvJoO<{EaCi7kUrU!l`+{VM|3@?;4%Zp`P$H)%V-v+hQ#U1ihBFH^qm?H%RiZZ~zGZ`%Zb zzjwZ^>fa^XJD1xbZ;a{UgTmbaeEYuw$#!e%%X`V1*S=Qk9)+^E)ecFr)tCf&8mcn7xMb7KG^3~`mdGPg%8vzUy1kI&h&WPH??av-tg>_ z`8SC*_mGd%|}p8+e=J03WNETdg3OQGV6L{ zdRYNd87jeHh(|@C+EK`RyhF^8wAweI$jKoQ+!DlZo-Luj}$xjv3A*PEq9 zxq=FBBZoaNZ#bar>Llc&{!JgQ!_l{BJNLSKSWJmBJg5@(P=o%bsh(>l zDYzF%#A|KX0Y3ZVPJ?wwJzy0i>&@W9znctW!=aatyNx&k>N#=PdUEy-bD2(^5z|11 zD(|_;j&}5T6_!XM-)kG_rmvRa5@NZlUBfq&GsIO74_xyNNJfrFA$?CG!E0}ArP*SK zly&7jP&T$u=68k8xDIXC`yRO1P{1Pv-&Z~>)#r^K)aEif^ zzbzF0ZR=snYiLp1piIg;zZ0Uba5^bTVbcxK8JlFwhO4AvQLuNF3{X+V!TN1aRY_>7 zccduLR>qUI@3PTA9{qk?e>GJX2uPGqrP`P9YMfjMz#7kyM5lTzR{ z7Ik%4*QZoCH#o+1CgSaGQ70mV$~lcc2i%O4o$_yjyMw!*N1z0o7o9LBq)M~RU%XA> z*f7*(*?Hg!Zp;w}coej$mF*N0kdHo8ZEQ!@ySGE{8`hjyf(YLrkT#9n#RTXLh5EhK zr2O2KGKCKtyP_NiqE%`xz`cAo`@gpsfe0Mw9T)hM$M@mM?%8MUkdi!ZI~(<$C(oiF z0R+&#Jurt-#e8tel97ycO;I$Bx@g;$n@ws_rI1!s_|DcuLDQl#@1fV=VpSI1pWe+9 zwUGN%BGTUvo=J8$VjB=%EcFbgK|Gd$Tf>L)k37jM%ma>pHFQc8#irD4R4`A)KQjQ= zhf1W>HJ?p>q?0Qus1VT?%wxH zV&w(z<1WMV6R+vL$gPOuH7REu;&}c}?;}`4XKXFa{yclFk9DtS6S6746?J zywytff)1`-1qAmNfy%K~Oy-7lq~b``%@ChbkB+8j@mp)`1bt}f+~PZJE%S0jVbi&m z<0w&T&Bn7!Y>r5KWK2TLAHaa!1kGe(`~bwQ)kEa=gf01Dt`&AfL~wHWxFWU@cNvBC zfVsOaam`N;KWV!yWWbY)XeLy6T=TAN6Q)%vcTP|`d16AsjqrV{ZWzR}b_N=Ww^cq) z4J_`L3gPTFQ$XRLl`R*UDM1(+?6Fxqc3I6@IWoebwcP2qu#Pt3d|zgqsY3)Vl)RW- zU?p2i5wxJ`72Ng0m$#LL*SOrIVoj^7l|mvh454fR0%u04LVY0U$vvet`4miQw;+C* zgjy;0;eUHdD5dsMY>K@1HEb8O#uEai$#aOLfo8C;l^}B7OflLEL_8S<2vqmc2o52k zo5@ZZ>26Gg@~3It$+roruy(l1tFQKeQ#!Z+h$6(Q21T`iG$4Sv=QW9rmjp$v2Poqd zSxsJ0=jsS*PRO&UkvE27j+2AyfmQa8K^_dPkXKhmv^AC1p{F)qs&OIgek3lq%~|H$ zG@B*|S~f*)aZeYt$ieFC-4)xaD%COJ4EKuFR6A7#KuJ5y=6y-rv_X`YN`4-c@(o#P zpsmY6Y2&s-AQm*{X`E(ifblLB_JCe8+a<{B0`l{)PyDiyg%tAq8q&4Qz^y^_&(tE)v%W*_k+73 zdloN&H)r(}p%5Ur6?RD7jKc(JHeAhFNzW=*!+h~8bfBh5wlJvHRzJBHXvh)kH&zk{N+*y<2 zwn>R5swj7(WOix8IqHJe@ma%!Li~0eBWWaFgiATgo*u2WECu_;s$j`dT$L=}73j6D z(+#0w3$GQlHzW+k!E2K;bf(Q+>lIS1(n~2(u9*(Gt8`^`;q(>rB}TZ^8>^0BWHxM8 z3jk_E7P2So(0J(V#N}yXX{2%7i+D!G-@pecSz9*n&njv!f!P56c+2zIQG>~y?3ax& z={MBPe|Y)B4RBk+{=_~H%$T>`K1!6d{`sG3^bmVX%FVyi&#L$|e-07fq5Am#0McE! zd!B-QrHoACH8H|)JRpLppHp9i{)AqCmp%Vy3n24)UZJ$&GHj7J>}TW=z#dq>Oi(%GIiR6YhwZyRj%Jj z$;{K8%n#*}Lp0Kg=+r~*QP&pgw!_&7cxxG25YM?J19AhyW~4B{=EsS$*x}D~l#KpV z3ODzwezvECO&@ccM!p?S1WE_Nb}n{$7Jkv+SZc*~c`ADPaa=}DA~%(=YlI!b<~6Wt zNjD*&VePjjD<3o(zwG&;%`J-nRC) zXLa>8VsRV|E}2b`r;!^GFJ&|W4z>7~@NU7-oaHng3oTt0$sztq#wRzwzK@HD^OK-B zfx>r;&*&7dN1#OAR8q$s>ZvrKoAy{XAeo!Fh!5=th2ZDV!7ibb#YN(0Gtz8~3lt6xe<%QaJnxS1lG2i7>iOU{Ol3G;6KClc#$V~r9^^u?$%Ipf+uvYk zHVto)9Gn3bS~WAz8i1q`DVo7Ze<=}Hn?=GlsFM^opc$#$xYMMi)>S0p?uqte8tmf( z9)m9+(p=kxP0do^)9ky<-49?} zN^2DzFN@7U0t2R$f3*>Cf+Qs!#vxH*YcfVb@bYYDo&u43`fTLqK1z3qFFUhokroC9 z{*sU?`8s$MoJa~)=kGyN^Qq&~AAynHh-P^IJI9-B`AihqIn{wW# z_y9ntMSArS6b*;2FnRxI%DCXJ+VzIspp1@!CI$)++z)y6*li=&F){Y%hRC1moCcEj z%$E*UvvK9iQes}5zI!Z~4{Xfbay)tc)AjV{+l5)%i zCFr+DenpOw8TD-3gbQ~zGFba@Oon0Fa(7?>@YfIPD%V_RqIY-DmpE?_3kBJ75|~GW zV;+Y3b0bU}%|lg1$~sWN{%YJ5WO*u&sPV+{C=-2U8K7Ltco3in=sA-QI++W`gGjDSj`67oPLwImM3yD`>C_DYTObohu*;x_ zG&7E&&|pBt=vHN(f(vIw!o}#uy)nOT4i`+jx1pO6dplLJdI8Sxx`l*dXHQVV=(O*} zf(%Rm>`(%-`8m_R9G>-vkEo4s9GeWYl(71!$(0oJXKCd);|ueZ2iF-o_x$6KFv#}M z%2;ra;l85;^9aV_V>F*=M;@nV2%up_)-tl)=;1t_%YmA z>D(MNs45UoCeQ7!cNj@K;$8K|@hsu?j-4k=Q3=J@lR!+Y!Sm@R8y#57s&fSEW`>?E z)}_I73tE9rLY>tNCxoF6XRJh}Jzvb=Fs1m)hSu1NSVz%tqBzfP<`JXiM=zJuLLhEX z^CK>Yqs58aKa(dUORVBb0=E|Zhu)*TXCp^gl^ zIAy;^f~?LZAIQbVv;zS23QfirR+~^NrA@%Kl>zYM`CFtG>f{Jx$H;>euI!JFis3SN z4xD+kq?|-Mv298S9&u8suCwesV<{wyO40(Vgw0*imH-$Qdj{0`gp4(m(1tqC ziXm@W&;g+?x>R*@nq9lyTWqBe0FFBiaEMRaO}g+Z%;^w@tL~EeXDp?LC%L@OW?=2hn$;%2+(;?1!-ANf>uw9e20g)7|oti^HH<&=a7#BVpU9U z9B08s>KTk`(-%D;C<>|C3lD2N|zQBBrCs5ZM&YX;5%#{FypD z*bIwVi!?}Z70mj0T$K>L+k)gq3o5^+ounmUJO2?k?5&1U^)T!2Si7-+rFpv`BvGX_ zcmXyc_xG6u2~DQ|+EmSd#`zpW-yk?0C-enqkD6lIS^OFMWe0Ye?t%w{_c-Uz=Z(KV z{&&rrf&GuGivJ^ojV3}v`(#}k?l|C-L#vv1{-Q5u(`@=Rm>BB)Jx+&8Iukv*Gj;+F z945vv04#l$Yh#hkr_W1g#jjJN7(f~zl6;LAPRkwMJhKR1b8>@?jx`G<#NWV?Ma|#0 z@8f8J0i=f>0=Ye}b>mgICH;VUBV&g;a$;3GG6fZiAW<=2hMNb)SWiTcRwlfE)s11? zC>@el<$^iF0cv-ksz=pXfeeXD6E|S9^0=I zY9^V?;@_1SZmfJ^PT=BW?bIN8mbeEn?GBa$!8Q=D zNaq0rL`P1gd#1J_?fYTYdpbOmj*=yZ#gpJoU@R%O2C$~4m)9bpbF17Bh2)srU!*P# zP)0{dx4CeH_gHcS82)&Cd;Sc4Mq?AR9|)t|PS8``hBV&I$xX8-EMheJ%T4*MTMR&( z=OGX#i1>^jH$$FyS#IipO}H3#NKxxYzoCv3pt>1YdqdgJKxVnv?ACM zDk*X?yrP4!=@C%Pdce_hjlaXJWt^x+pYIeE)Y60RFTlwVc^Isnh&KL%C? zO=Z>nvD8!n{_{0@Q%3=a3Y#80uEStd^vJqfP(_aA z!V@qsz+)07T`$$hr`d0V!Z~+pMA4RET?Ub#yc?5Uh_(aS{B@b~#Frm95@~tFG}yYy z>J+$sR)C#x&Qb)&Bi@S^cq|@>*j=45HvQd8G5CA`vZLk+yS!O0Iv9wIJx2zrrTfJf zdA0uX)bE(2+i>5jH8slEK%)yIX?TFh-`Ufb9!u7 zzn>5nt-CRSehy9bM@Hi&4~OF-{vyF}8A+rwn>(5;fvwCZ!eY)JP&}(AmBkOT*s=5M z3|#b(f>`y0I6sq`a`en26yaZM{~g#}Wry&b!FHq*I0STLkTy-nSDU;5-zDT0DomO$ z_q#<&keiK9e$tc{a1Nku*~gi#j_bp-OZAvJnq1EUaS!%ly=Dt{Ei>chb5WD`IS>U zre^p6EA|*1A5I5JPfYHxT%8=ehoR@@uId3umEO@3v);<3H9I5KwR9`W>(Na1+@J$t z25WUUHG}?|fFsK~)i>eUuR5F6)C$C|jwa0+nT@hWPMP2Bk|A3?EgT!QaVX`YC=aXU zbhn!Eyg)k62O^%rea)k<0pH}7ktZLr;6TPJBlzd{N|(mHowUXZp^TsZCU+>V$uQS; z?uL3l5637YLS^1llp}+Mghg{!qxWzAzz(5&^5F9fesyu*83>Hf3cG2?`!BeaNb?Ki zlZcI(BFP2#c+89Jhkiv18OBdabF`BP<2U+a?m&OoIcn$kGd4C3;e3TByr){Vnz8^2a8t+PmQLZEM zES!yP!7v?_77i}N>~rFlT>hFe1G6FSi<;U4K}&|biND$PX77z|YVuP`3{!#F(?&#* zYL>1&@VU5iqWWaQ`eQB7v}XJIZFer#sqAdbKCA(pq$cuEB%NRxY$O&*a=%;5!u)`D zV!@#5cJv8+8DPGKJFh6VR$NXO2<$+*xsx&-oGBUX?k{-S$u@9|y1(#&6a~PWd>9qz zFgW;&KU7JEo5+uamG9K3ecYkTb(qLoE~X9CDZ4Tz%7s46uK5~|kM6)ON}$x{nS3L% zkDkH*rLzw_o>KW?Da^@)q2KHJO+4d#zVe|)YhM+!a4txjrnW?d_J>L3?sH^D$`Kd7 zrqJW&!N~STS8S61=^h(~Z(vD*j-EADf}388M+$nRLGoZqu8Ug*tY5ty0;i8>v|7^% z(1VgR;1bm8ZP4|nC~qVw!U5(zf3z5m|Nak=M5nJJ_#Xu`?B-o;~Mlnq9;{_=`B#T`}8wmtm7>fyG!6y|jdNIRt+9Z84z)*5J> zl)ldSq6PglOwL;apJLq;=rxsLpmBi4JHE6fZp39$?dt!Id0|mxEj4DAfA|uHoSgYL z7_{ZnK|K>B$p*F8jI?p70slN-`aLqbC9_$((1-yjNAJJ_DXwkCbXYa!c{K1ZO0qTm zs!Yy3;0(Wp${Q=uZ?gRm|5BUD#&x zrEJ*lYEfEui%vGm`^m0oW1o>}1fayvP-*$3E?Rir)KFLyIuhuBRHtp&aZTFX;>tXJ z5(x9Af+)f82qEx!fk>oV0-;J}IB|?xJ#cni4Fn!`n-Ls8*{zGAzet9}_^{Ym@D=9- z=vsi$Y0up}5=ClJx)^6SdAuREa`{-V6-SI-h0k}T!U}~kj00iaMlTbin`EL4Yns4P zKhT$}$=~u8FQLk!4k)XjR}aE+2l$b4+XF!n>W` zKnsx3d^76c1=isbAfs4gzzI&*l^2p81Q%~eFUkI*Ns=?2BaP3Y}2q6FXK2ELC!5U4JtY_90;@ z=zX{$d4R7XH4iAuD#w!!4Lylcz^0hwMLaNsZ^H?{4Auikb!TcR7coOe9cq0YS{Q)j zM+LEZpx`KRkClSOa++*5ugh+*%jlasi*4~uMs>cnOdmy|3mCu)ZZ&8F@aG6yz= zak>H1xJgz zy-l6um&8!y79i)^CCl->-1V~L7B^v=&V3>e52la55z(QLlv;2NwjHh0y~Kq}fBAb@ z6E$b53IEHJ;N!&iwjj#LzcJql|9rQkaA^o2P(?OCG}BBo+wn*!l2V{NRPC;j_089) z+$)Dbun_<16$}4G_gsRTWJ!bS&o^xESp>sQc|jTK?&Lg6uY4cxoyhO1LPD#vp9L%q zPkK43W6jdsC%@nl<-BJPqnrwZ&G93y2^MGlV59h9q)$Gc%d+l6KbQ>HNxB)x1>k=O z15k(^dCdfhJtBgx|6pg|DukgE{*&cY8;=73O38Sp5%I8`nNJO+Y0<}~-LMFEu!Esw zS!`k~MBatxuP^%Dk?k{_fp9;gYf7K6%q3CJ_BENi zC>MEtjCm6og*)0<)&*uewXB{#gny4-@#ApR36rXr?=07 z=Zne3@bkA&(=*`G*2;JfkuM^Be8Ri4p`i?UX9Pxuas;#Hy=!Usz_5i~7^~XBdEhpF z<{v{so5&)M>gW_S2d0%_#*li zSxsq9g#&rjBD|K1U`1|kTiJh7d2+V@iGX1~at?bz#86~-qhg-#XN{+Ke!`* zM)Ly0HWnsPoA|kH(iB@^R&C~tB|6`;%iV%Ql_3%k{!o+L$6cBBcqu3;uOIJ%roY~+ zqNu)jq%B7MO<)ZDW+f3hKh=(g&|STXDLWO+TFU(i=+>df6&_BeSLys}s!Fp$gtx84BpAmkg; z`41lQ96Te&ANYRPQZs>RFW2~ehy9?=Bk3$&4-w*Bd1~w%EaQXEX?p82bE)=BdhZY` zvvR(oH%r){&LFw4V1>Kq3u(C#Feb_rZuLM)U+y?C@ zvpoJw%~<$XFwXEAQkh!L!;Tte$yZ>F7L}AVU>7H&R(uvH3lrLsg4+Gi(_4 z70Q68u5%3NFE^U5A`U&{D%(t4Yy#>lsWorW^I^YZuVx7Cq|u)wKMFDZ@@V=J=IA?q z5apzpqJ<4kguZW4bGJqFR&Np1AM5C4#?w^S%bnj62Tba*G55 zCuRmFQ}xYF4U3wsawp{dL`6%{ja&@JKvHPw+teWcwG19|BhR9Oe1iGUhL{u9<~ani zF|1KiTZ2MFN&YCpkE@q1*E7-K4@O=@!@e14mLQM5J|zVNGWG_v1CoKXSf^(hplRBJ zz5G?AU)VDEug8p_rlz)hs9$qw;NBccCS;rbaTrwLb_~y&lcqPFR*^C^dV7AN?|ikW zbc(>!50m-H%3-C^HlurEgIZv?uc zO-_CRev6K$6#sZ#(#E-bXB>OH=N zQ3FooSwCUX?`O<#DoJp`H(rMwy9BtOf8R((Pv|{%ufga>vmo_nClwI>Vn-qRA>~!V zqv=5Q&;@!>gza?zc=KBc@$hUcu*lOIE*?KuJ1p5^o(GpenT&kv!kK863c}9iFyz^fW&oOU2QTDzc@1N~-~{M-;(N zZJyVAJzllq@XdOO4dy0HSrp75)cON;TMG#^d%&+#Fu!k$NBX_|Nmv8`<7>s+r8Ro0e^8$XTT5sZyNw9xe`O!Ifi>)(vxCpSd!M-rcNyb~zYA?c6@3v_7p4hbj#zvVvYG z>?f3FJ$ZZFfQHMh_G6EvJUbw(;o5nsKtW0gW9Vg|gGn z;xyx2`NV!6FCzhpH+GWph9t%t2cs+XM%Ii5Ep*@a$nLYcp%Bs(-IZ`I3$!Ycn53gTWNWGSu9N2B(Tf{9kBWPDIgj(f$lyc1tXAgPIGP27}%5pi8>qztY5Xsp{#d0AP zE`o1x+48|&E~bQ1RF7*+C4Elm6n zpE}N8*2G>mHCwDVZvYL$whNv8x`M;0qJ8;^ry3?J{kuE7JKLpxg9;8sntffR>P`q~ zKR?I`d)FSJ5Gx5v2O%_=s+F&jE_!WHM5D9aE2*i^!*oC)eFuhHd1S*m*bN7JH6rC=QlF_QL}Z>CtEP+h!WwAunAdM@;>? zN&Qtm1sSKkC8^g|%DhoK@3TpldTl6=f3ga~MQWbxxC#loSvu{v6LH$+n}w5Zj1?74`B+^y$#`wwo$(=S z-{Zjv^8kPl5C8xG00IC&6952C0OI?S_{2!1lBp1BBvdM;qLWIQZ#PnuiTI8&DO42w zj72|{DjOpZ#Y9E0snkO(-(xc~Ge$E2R{#Ki0QY{^zHYnCZfdO%DBL6<$gMsH06|)< zFDUxgKDE@^_B|=-+S?ZcOKbO^V_a+64;|ZD`<~gz+Oy}lg_bonD!Oq>I~`O>o3akZ zA|Q-}#>S+OjM0NZm9lY>LO}q4gztes>x3)-hyVbP08rJ{0DE`c*<{|3lQ1z6L{UC~ z1I9F{m{=JNYVh&GN241H?V5aEt&1~9SVxD&-@8NhLpCiK+ZbW+3@9y7d>yuv>{XX8 zk0K3btd^UN_OjDD)^#aU8+e)PL2bHDb!Im9Mg7&iSUo0&qPjg=TtqHi7b_~QQcNyV z)<~I>BjqlOj*FKu+sq%W&{yY-a|oKOAREgq*MCCzRXgHRZ;*6tBMi)Ca9*V5vFWAF zMutka1=4%E;sVWF<6vXOW8u!a^U5Tx2wR$CFB{Q9MJDOS3|nR#HOl4Gt}NlT=&U(o zPNa)x&xe4EE4U$N-)A+fo$XTca%Zg-Ur5+yC{r^VWaFB44;eAJfmVzgy_*8Z zf>~}9+qMtAt*lU@v}SCxw3?#O^=E6)$P97Oyt$p45RR6gcf6JGvPs9KVQ#yTqt{s1>a+6!;oOVe3F?k}3>1VgTdg!~;T5M} zd_GAv_J0pM*+=2(*;E{u_B{ypY=X>|^SU&zVH(h(Y^QxWr9?uK_$&Cl;DmhO<}w{d zb!$u49M!?sR&Rv!+xqv1^B3Us>C35Xu*5}?g-XP|2+ z&^zmV8NWpC5^T*liO-{EzC&j6C0b>JDLF`w*lL8v*RKKDviN0GdzQ@)!%(Ec$ya9> zJ&E1lC5E9lw8qQl=qfk0_}b}C&p{n6?oQnQY=??_Fdn!_Nv~FiJ>5y5)UcZRxNJ53L(m|vQfnSCtrsw6_;%PjEG{U5qkw)gYg4>a zmXRb3ZMuo*Kk?=`9h8__S_$xVAyW`4UkNgLV5T!1>!eb5#d!6;t7zbW*rwh=&xuGq`#;;-fi%Vo>!>o- z&9mY6bYNq3ney7FTm;R8XmNMO>x^!!ZmJYaQEV}C&yl*M ztc2g=Mquz_SsJm~+8g~hNFc*0yIL5s?%U9Y{#+BJ?X|Z1fwjwA^F%I7gT*r&zRSNO z{P0X9-{RWPm?zL{=ah?2Rok@XH~Kl?_hAsH#g96HUs(k+Xz(62LO6;?T3Q^N{=YdOc#f--BLQ? zh_ivMQU*<4TN!4GJ;{OA6$kkBa5(hMm%gH>YuYJG%ijXS&XB4+g6w7G0!Fa0MSW0f zdsM|GYT6=0d5)Itl1B~_i(d=(MXm@k4HlPQ1K?=U_smBtm*g?BoxRc|EjRE$xgt4v zGzaU6FNS8c;gFCvKlsL%l%^Rw?SQ%of-fc_O#RX30@)c4r}uBuEdY*;lR@G`&RpqrKU-uRTY|jAVgXxoBVhdXiC^Z z)hxYGUG>^9u{?(D)Zbi9h9+u`s2ZYY z`vVVv#CvP?*g%$MvRcor(sg+Uo6;W~U7=^{Ip zRlt-UhF6}|ZcErV^Sy_b4fx8 z%27@BFo1YmXwn>5PQBnu0qg|Ia|SOF_GRI_ieO@yUwU9A!*&XWr|kF$Y3|QoworiJ zLv$_9mU3Iox21bWA6t?rBwlHRnzY}O*87C)fvw}cHcZ~AiAc}iVk-b+sbt`%xV~v$ z(3d}-u}a0shNhnkFXAMoP8Cq0DGmg3zweGbM`$&N+i z!2k?P&3IWO(LyJajOt!!FX#slJv*cK(BaG}J&^Ov87T1KM3mgD@fYExKdvAgok=gK z3%G>hH!ib-D=tlRQ=zxu{l@@*|jug_Huz(v9` zSXn8~X1s75ci0g*fXF0?9Vm`P@Hzk)n!7d%D{_q`D zhgZSkuNM!Tvs6O0CjHGhn*fJmM=5DRdt}j6QannoK&qFie z6_vBR$o_naQooy>2>qQQX#l zt(S-8%x#bD{kI9chSZKgYd>^b(sEWR9J8h>WKZD?v^?(4?v ziZOa+V(gu}HC%N@bY}g#3e_Z$vIIjY7qN!J(J)+8XYSam&a)?NG{%U7Rzu;*!Xc{d z>s4^(3bZCG=8%u6rwz$k!I$iP*KY>{Bd6VDausC4uRCBwe zloiH{Sn}W|`-Txz7=2bVc(Q|grg#WEHkflwOrBf2+JpzOHm~1yZmZNec-|ZxkIvmG zsC*6AowHg8H>Rz=_azmXB1XSe%;%|^CApABrJHL;YT-qsb~nvnjNOP<_CtgP!(|r) zs4F&N$_8oudM%Yz>;1<^%I2$!AP;)V7J>w0Hqv`!@8Y86qbn_0W+yTH8!c?J_sW

      x$wRFiqYIAXc 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%0Dobn3%{FNmH4HWzT&O5msLiJP z)v#d%gdst_x7=+8AG9n+Npg&NSweo$Nwi;rSY19gz3uYY4)1l{f91j)8I^M=V zubQ?>|G+WrY#j_9MlVsTVC~ECu{#-#u~s_Uj+nCV>;eWwXn{{@LciKL9;PqDzV|+d zjxd&JPP=%1&guOG@?J9rBeQ`~K7m>6#y?;Bgr5B;fVo-Xm+&fOnr5=EF0v6#l{GNW zOSubQ?VB10a$z=nZy3+W$!k10)kJio^I236`{@BjBWTA|xavtHy)29c|MM+dF;U1e zj)O^odZWvdVR|7FgdnsWY-rgp@_WxGZbUBcZ$a=}i~q{V2gK3#=9{={!JK&CjoS=d zYd_Z1N2scH+NrdB6TgmYPtnRf($tH%^-`?8=q5X^ekDHyEfb0LRhW})o@?vQr`h+O zq?<+(F$;N%KuOdkar;?>@C$B;#xdSWnR5L0PD)wZ94Ca7VNTMp679oYv2z(#&0hP$ zXX@YkuoIphtfJvkDDzowMo?)3aG{oq4#M~R6BD*gWAPG15?s06C))4a5xQ(Y^d34Z zOLkygH=EwXpZDm!S+V&k{ziL(GAkT@`VEv~yjqhH7-7;drK;i_dF(JW{S!4B7w_Ga z@9#6`;$|n9B_M>_5 z;f4}q#HRNdJ2nOE?l*Hm2eA}K#xCb+@KERo_DYm`klwYfi~$8{b+rM-l7)BRpu9C8 zaT~HO4EKMB?yZ3K>2oE!cfQzWir>u4Bu_stt`R__veXd_->b}KD@`A`piDq;isIO- zw0t{OPzJq~)?ssuA^!b|NS^zp9Tm78w)Tt_RpI5M{Y8^B1onfeCleZcT@N;NGP9D( z#oo_PJb5-Hg!))zQ@99>b?ahGe!a)wqt~xw)+uw@?)BuqjYn_Pmx3$G+r<5(QSF*K z=l<5A)i-jO5hx^y4eG@9xQyB%Bn+w3V+%Jk--kymOfYx%{Vk z_$L*G2t6pojtF+Q7Q0-?4s&Z>;2cH<$dFAVHK3a{mMFOynsnZLpa~xXW?NmO$@%@8 zMQ%;?B}9eDZrU!@kZgK&OkD8-5a+wRpNordC9?a>fwu=`+M^@RxzyrJT3!tD1n{t* zZ*^nj-7`NA@nRvk*SeE__T~g0-{oq8(dkO6!@KK0qN99w6TyxpYC_L;#@#Xw7_0=D z=3hrduQA{E<2mU6Tq-JrEkCFB5WjFkew zyiO%!$8ui3yCHl+K})e6J*%|c_QS`jmO&qi2kcx8Aa1SnoJCEwqVV1d(RqF3o|6iZ z753so72-^lx;D`dQhb|j;hFb@)GVrFCP9d8>wclh*+xo0FKd#JZlO%DBS+*Uoo{e#>gjUTu@Xe@5YKEq*{5^rlh$SgX`K3oKv5Y($1dpEe7E1w|g)-B(=|KW9S~3+xpr82YedeqM?P zyKv8GJZ0Tr1ciUZf@vcGKc1dYuB|=mhK;~4?dWrttDLYCJbyKVH#U+~HhM2B&*-aD z6$jMmthPjyg1Dc*fRF)GcdKXT>qgef!nt5AOZ4{>vW%VBZ9mjn>1Tl6Yw3G9LZLma zw_sV9kUIG_tTy{ChWe;Z+e2|0qs$@L+4h8uj$l4LUQ_5As)$I3E@WRG)FmIuO6<|? z##5#es<)Q+3&er*tMF&Iz*XNQ)9U`rRDhh^E6C1EZBEQ0mnU1pf32K0=M&V^M)~s6 z-9@`6U;Z>zGuN}<8Rq*yw2<)5UX-EHT95blLQaZNROqa7VViUzJvq15tXI#1P>3r< z>#UjRh}#PG(C7QWCr7zv$+hPhRf@!3OhkW^q2M`n*i=q8#%4aH*uYJ)q9TuX6Qdm?m(u&a}_t`{e!>VYjAi5LBF=tXy;s zgV+Lo&Rb{f$eC33=mQ1|Hed5K;cKi;oDUPgvM#2x@AP{d#3XBUG>Yc;Eq|>yJ1%?C zk9&N&IoC+l8b3)1-wLwCr_qlyWu@CKF`V4D+w<&nEg6(Fym1yDnsZYb(MP;;#0Q@! z!~bPBZHeVSt#8L`VuM_Vx|RVTW_<$maVc zNVnmP^>{g;FrKZ(JDRe&>jwaJS9i(L){LpO=y8ho2*A@hY(w zaL$e1Za{jRc&rELKKXDQxJp*Rq7QpqoC^^PtWnIMB4ZXC+PE|39K8`0Jw%_o_K zjrky5%82pdIifs0YQuDy(U3%E$P!h zZK+FehV@(i+ieW%G(f3?@`I*q9W8@Xve zzQe^Loe;TYQ@#OrQ55&+9r&(Z_-8#?sE13L>Hg<=Jl59HEK<#NFr*jXa@{>D&e``|yr+2_AZ zc%v@c6!@(Di^ybDj9QzV)^Y3%8}39HSXhjs=f-}YHQA!FQKjp8IeBCC#EY?Ayr)#t zd%M1?kDS1=>D~()4)-9z=b(CKTd)oBig>d`s2R8|WzdFKaBM43m%mmOL*AeAwg@fJGvx&jUQr+ z8oISg+K}oxI2{WI4u?8dlxO5Qmx~t7I?@)0Fr5>xqBs$dH;o)JL__bWh_y-f5B7P} zhGQ`3)9G1pXGGm;prCqj!)EYKTMH*8PKZ~vMYNl!sY zKg40d^Z=j$U9MJ-&dX6R1`?#hE(i!<;w}QipHe`A1wmvb9hs=%xU+VCdYc~blil{J z!ktgtaM~KUX979VqGP7szE-H}vs`ofpZ!7wJUQ>x*b3HsF@M4Pk97 zpKL8Yf}j-DI9|)5uaGvj_C$oil<&M7Gs8L~WNFA<76=F-i29tt${`UGg9Slw^O_{pP5(M)x|wmU4gIi(rMRl1;~I576ct znm2<$ACh>*xouj;B|bG=OW0sI28#fDeHngMqrucpg3s{W)+$J%=`tkcxxmYAO)uu=$050l7%4$Lh?K*g zu@a%lLXT6)8Y@fvvQT{V{Z)FCCrXGBWaHfwAWl#Yt#l&^kPcYU#`6V`Fjt7bqm_w0 zI5d2%_Fq&%C*joUM*29Vovif#W)5f6ptXfiOylpgb|d;J1nP)nDW0w%=U36q8s60h z^fV+1xSWRu=Uaub(u#6ofj(C*j z=n?Q*kjhi-w;o&;#uS6zxtM2uu0mS}nIU1V&%U4sId@<~v39U=b$|7|r!@BYboF<$;_(IhluU|jGu69dPH)Q;(jztPqT$czj4q3@D z*Li?Krc;)lXlCAc`g}dF&JF^exXh}XHdVqi1{$L4xO#Hty42OX;9{=uG}X9_{>=L# z%-??&%p?v*;)yJKk|2v5#C;um zpQfe2vf!gkaA}x~CPBzEjq6b4Ym=+7(d#rvP)b{IR%ilKceGsh4Y*ptRujJc9ML^y z&2+(6z=YmpDi)kyCYg?r4-Lh3$E{r*GQ3%qCTW9QIq#^#0qn=Udt{z+1a}R1cgEk$ z;;f2~b5G*CV@M8sGr6~!dd=xS;sY1W9^BLQR8TPUy8wt%1exo{FC5|G`Z%2t7MdBq z-Z20d#fL5;kU0s`{105-HS|?>R6I&vTvKX6(X2V@cMk%Jq(r&Z5gK?6=}gJV>!W;C53(E&dU1&O!MG*vjx3{HyH=) zsAR*`w~*FB4!Wo9+x#|b=gk&h#pOtK8%uFet{mpI7R|kqOY7e49GNaphe0`bHgZvj zJS2xmnug1<`KXOi=reI_tI6XSW*6dFw1n9$=^9oBpOYWce4!bwhZo?mE$5<_YsmOe z%~Uj88EmaHB)*JFT&S@koivq)cM)OEQ@Y=G#0=3aHa=9!BRzXiv6ImDWZBc{`OACC z%PcIM4v){F$NC|GAzlMoR7k8_?hs8v-j?*synn%8ujzyn;W~Kz6KC@AVhEM%N=^0Fjb+k8GgoSqU#L!3B<{pwOE$7DpEGj;c6 zSzHvAgv)jWS*H54U>n5PYeZ51NwK))j81s)F!{k8nIw!vCi1i+gt~_7rRPlOw`R!m z$h8wtrm6j0wJKEvqLou-C1P3ww{XVm)VevnZj4PkCy__PKk=VCR^b#$9FLdG&-?G0 zrxwo5SgODLW)_Y?`JMf5gFPxLZK=h> z<)q;B_%JAKSgNe9#5H@%mn^K}2W54-^-WEkb3;cTQ-Feorkz{yj%F-cX<_IxnK2mw z53%$mc){98onpBZZLK99xU*4~jc~*%IDu(0 zVpY{VERCJLZh_1{&qFjw0VZd_rR9c^@pr3On}6*(xsHlV`#*+ljH6gys*=Ugqp`x- zsV(t)ay0Hh!)7jn$Av_%cHA1TU@3JTgxegYrx27E-Sl~ca6-1^v}6YpLo~t z7JBj(yEFQ}cq6Z)3%B8?Oa?jQK(ouQSM=u@9Cx*AJ4;fyIeiTj@$n>7G_VFrJ=F;S z&4M>}<=CkW(Yk`5}9>c+Isj{1D)w_4t9n3)P*{9M#LyF{bPxSu3wFbZLj>2Wd z>p8G!L^G9JQf-##SdVs#6d@}|Jh35l|DvLoQq0gS+YQ=IFkx3;~f!5GR=Fcy;S6Bb;&PR2(X>#$FIhY+#Ex~piCD2JQ62EsB?JY0GuhzzfrJaTA5Q8HSAJS<{ zMR0rDUrn{BB)E9I-K(1}(7Ov@UIOu#5!hfyj7>4`6TT;jk=y% zn_cK84ecmh%7Y!jpnM;occj&9-&nBz)fYQFb2t&2I|jF!H`bFKS~^UVBQ>q+(l~O( zBmOe0R>P~vBSk}}##a-TC;&x3y1x&vw5GJMK7o5^ymzoAT-d zoMs2X`Se2aZ6JFwGqs%uJlAhku6x?k`3}!G(6=&fQ1i^Pt5BSRrPRH%+8qAW4QM`b zXf6L~WfV>wv;|}Si3BBm$w8eO!-}CJ8zxPemXtYZ;_wo8W_b?z!Tvy35>@@N#aIh* zh?&o9nOfNH@q1csK%7*RwoWq&$!7x|Os3wNmNTCH9n~pzQZ>V@lRJ1?l~{NOuTk^C z*a=mpHws7eG)FnoqM_-yUr;m`ugRDhe>o%{+z)hhYnPLX?&pa-tkB zfwx2DdhuQE?s^}5`zdHlmLtXS*l2YI>a)$IWTFg=t!-sR)3={6{@<8c5)7JiifsO& zkt^k&XMjR~o;fb5p zrg(SVbG+r$#T8q_4DTz%4dMA_Ut)(S&TRAjp!*xMJTwV}y0g|&QQdfwH**+H=PNNr zMa)Qd2cv*(kkbB2?a72f-M<1{`}%QR@@DdRUn%)DAvd( zW-fo)Q6!he<4)%d3a8YzF%MScN9sNg<6BO!RYkib=#bGiw3_G z?Gp067KK*2-G&Wtab$CH;HH{6NKH|*5lUL5d#Oo1v&f)|$hZ2Xz= zV25OqKZb3VRRFxP-rApnE=dz~5MjTJT%V}$F>tN@rzWMa6Nu@!RtE5LSIp%zbkq3~ z(3xySdoewwMskUb&Us8m??ze!8mMoj=XhE*D;QT<1ZEzG57i)QzQAUV^A)(zuUOeg zCD(^XmhEbe5~q(QMH6%Xl7nW+T(XQ7$0ObY1$a=b9aO<5)73L@n%AUgamIw2$&W)v zEu+yjiY118br2^m;Jz(sa>vP=hMWa35zptn_UvI(`>DNZ_f`rtZ%m4C4K^qnUgg4W zka3VcNm!aC+nP4zLz*1W{B`qS=h4303l}|{OVeOlI`@~c=gspao$PFeTu!z9i}BN5 z*k5pR-M^}k%ho-R4$PN^ahHAL9= zs}j`CH_610xjTLt5T9CgQ2XgAT?}y+uDctPvbW852GOMg*U(teGJn zAH%96_iI~EiTWtx`MQ!ccG+}R6FkH&PPz5 zv{e}OsusO@l2jy{L#J9Rfuu~`K_-i$#XISt5rQ zubax0ZBqHQf|gzws(Zhl)@ruUQsGAab-S0|&y2%%(eN5GJZ$#iYhp#Y>x?w*X1%^O z4geB)ZxOuOCyBc}72D5F^mFSJ)A^2ZO2hT7nmD=*CwoH=dWXc#0`GDN6%LHF)sBjR zD|}jg|4D!kH2w-iR~4B2zstXY>#49=I%E(;x7&{?l}f4v2s7MBFu-PqALwizNJ439 z^8nsA%0326L}a1jXc#AD`h)7YQui|q38N9gB$jY2Q1YWs5P@_y-c20Dl)E%H2QSN= zqB|UiZiuy47{eF`${$2oZo-uS!R-P=6iN)41lpWeo*y?CO2dTfC9W&z5E2g?0HBrt zUkX!;Fer(a1@2A7YlBf2Q#9uooSqydNmuy8+;af_3@r1+K#o{@O@EGs7qcSM^Hrq) za;W_(y*7gF+LrJ{jvosnYD~H#|6Rs10J}B;6bT7CK&MJ~f(NrHAg@rARZ$`gUn4Si zjy5(ktd;-FVB>f{Ux>XqdEs5-yCkIY^t4~)SwfLi@=w0xvwE~l(u0qt`8cMdPa17s zAIu|V(kEse33jX|_{VUL27sU3MuOW$Gb2^uDuv>Iams@Bw48^Qt7NOKsRwi;f#Wob zy#ufouxWsO3bH8-&Mvwa0p&s|wdWZcEl5Neov}gZPTVS=(ldTF1;Lpz9@D;T1)cv$ z9gmFPE+A!;nmy(bq~N2_QvTg*QC zcTGsX05!03k~5%Ftytpi01mOfyxm*INiJs!Jg7Sg3k0`CrGVIQy|Mi(hwx=kJ4XuS zt8Kp5%7OstRg<1{#@g?xiE7H^s&gK(y8&d;!?9IFH^1%%{byl@x4C4WA$jVBD+112 z(ufsh>tt9?q3|=f;<^NVy_5mWTh7@FNzPfr5i~TM!jF9JnNXT)vEzh7vi10s^>IaE z@Ys!kTed$8AeJ+dw3JKUh!!hL9Z;{X6K@3ES9$H|Y=G_CsMk6xZMbM$NpG&6i~ z9-Nc4voRw-U)_|OX4Mt*-KCos9v6ppiCp=R?<|>IxOBKvV7oSwhClpik}-+hffiC%~PnLI^c2#Ox*cj<g zsjH1HVH?L!NIwO9d9eqE1AP8st)(82O!5UVR4rjcl)@D_hT>XONtWP!(xo~a`QB$` zg4j?QLZ~lf^?_9*1DkEG@}F7yR(%q9T!~fdAw|!iW_H{)T5}!?)wv~sWJ)K6!aa%0 z)Y}glVMkVvd}m%N(W})4h(MU*h`o=(y|@(^^i{MpKR|1N9+Q=P+Lte)0eY0+Z3`!} zFS`RVyzh<5{X?X?`7ElP5X9iVa2Bu<(wN9p0wjuiB&$K|a(&`I34h{3wSb=4iIr*; zc7-(MU{_x-2u-W3fYR)}p6{crZ^S4-P>aPfgi1dE`yAG-R_06l(Ul3e0e9)Q4A<9j z?E}8*c>(?MExMb&Lj7<9aizc`;{qmExLe#3%#}0YP&o9`VotmU3r+Z^qxN7PQT6l+CSDfc3P9d$i@-kds*Q+ zDiI^i69*26B33|if|-ptk15wu!}gN=^9!!uhuEa3bbag`|1UvTQ_!Rbd9%dpoggdQPU7 zr!tDdCd|fd@`bmxCq&dosli*)@h>fC2uGOdF8c+WRkmo;lceejZ(cmL6$lB=f!jHl z$)@Ei@Ku=!=SezTw8$P+Q;)M4$T`Mdosnkb;*5uP>OjwMY}=Mw0dCLnA$c!|6FFc6 z`mls}7S_j1d}@aBj@I(}ftDW>IE;D8W&lru&@Dwep)(Bh2*sxKTRF!iuNz86XMRh8 zeLGq;iK^ua)0&{12dQI{N0>=Nz|9Vs_XdhJT-|W`E9W>2K3kuIT^_;Aao_-+5t_kt z%9*|t?}C4f(sfZI!7B#=xLOI0#sMoVwtyim4h4rbf6d|fb3slvmSRLWZuU7n$)jSN zlXh?_o?v+^V;bY*v!<_;HOb#UFR z^o+9+Jsco}{(qg1oPU21Dhr|Okn;>Sf$zx%lsqcb&~KJy+3=yY5t@g#5qk)tpp&t>oWvM?P6(~MJ@BG$n9S5Z8RV1T7kjCpb+SGz z1Xj5$cyYP)`jO49qut`l_0pI(Abo(EV+UcmHfM@sM1(`A$F zQH}=8-?~iujF>Fgto(^=EzFptd7xE>{5*3PB@}Svx&(5el?LnF5VE=sI1H0Ev7CmQ zY)T?>8P9wsQ2UNdpKt-P?9@5xsz0g39$uU;fDf|}_nI7kMb7~FV$=O<@wH3yF^uh@ z`66{=xB`~VB{{|~tM~JJ)r80zWh?yT`~xHBL2ovFlr`jeSX<~5Ouyk0ZeaE_w+m@> z&X{g&Jmx^QF;4@h1Ih%|4X=rA+Mip9`-L(<4IeJU;IGvO1Cq7cXn0TECbx9UfQv>; z`&?%z%jnhlKe}99S)}j>U#`f())vy+`h|g)sw~4Y<_o|IQJfjWq(P;oF%}1rPk25*hz<4Ozy~3I_e)-(-vB~M z+$~Qh2lkoGIua$P*kMENm6it!isBPdTt@X(T^%>)D1mvO;ZgXhMg{kEb1h(u>&8H( zq#^^o0H(!*%v4_$0uezcp0{NWvZ|tmBOJ;76Qu_T)$=7#tZCLZBA69vAT>CX#j~bf zN!u^<5aekaDc2!HoTjoYTDQL&pT;AnI9*ziESyM^Ia@pX`Uw8&t=^8j*Wx!wu0B~d z7f!^E>^7s>S^}#d*CM{nl{4IerFJY%^02Ttq-_*%V;6!+x4#IiC06};YZ%gKS*M^O z^M6)ag%Ym-t0nA}m5~6WD(`sMEu+$N_ulVd`u%0$XFl0NPdZEr-PP>KTpM;3i}*CZ zt_FkVP6=C`K_b~-3Tr!I!;w&}Cjji6wFPrcxdM1r)DeZ}v3OYBx&08uU?ovS5@jh) zl?SFZv1Cn}T$E6=+13B!2d3DfZN(&~Q;sK!Dtgim88y;>4i$&Z*=IEUm&S-NJ$(wDP$|cs#>S2@n&o7zI7jfRBiV+0)6H`>r+DE zcG|m@ys*0Hzm(J6NQm-kNut-uP8}A^> zP^S*Jf?H8MmKB@Ib6?j!toTO4y5&SBS@YX*(Yz)rw8G)h1Gi;lID3E|tU)f&oiM)Jfp54G~aMWi#j7r-g9D zPhsMO@xD8(8+0Bmh0IJuEv_xq#07o_ z_&#yICnb|$f`&1cs>Ba6$7#k>Sree#;$c3|fYt8i?D$=*SSg$%%{hGa^vu&nUowh( zLCDkvn1woP*L;LWWs{D9y5&92?3+?R>e2%+cOEoo?OV9Qhe-yF#cWm~Q2H}9x+a4# zYFjZLj%O|~o2DaltjUs2^)ip`n?BBk>E1ha#!O~-i#3ZDxddOg!Bnxl&1NpW<*BDj zPR^pY(p%9oI7q!zx1;ICKO;2(syg5bVeaNBmHlmSyLMf}ja0F{L~;QbeTG>R{>fe;I_1 zZ_kb(`Y&^m*Tlwq?b$)|=x&e^z^P!$?@h4JWz%T(qeSjF7ya1v=QYSf1`Yr}qljX+ z|EE&??6BLuv=k-J&AgLsgcdUOp7|n5s-Sb))MJl@lwtRn_o#Li)l7otT!UZnF@QpH zMEf`cYO1~nauE5j(@sOMsZsg?rb>h>K2q@CHAvhdZjR}HP$>1{D{wNWU|CmfAE;~2 zcxbhz;M*0o*%r%S$bNgwx!a&t`Iru$f}}iU37Hg-pUA_QeKWe6-H5$hP1O9oL$v^abwz>{;>L z{K~Nd;+f-Gd8w(9Sjrbxe^6h!t}y=$_&2RTdjDVZ5A@;xx^-S32VT1RGN>|mL|m@L zUJ&HMC>heLp{5zu^W@s)gHy$L67AVML8f~UI%?D77D_p#52PMk0`ss(2dEwr0QD7i z84DRs3A`kOgOIHBi}hwiF_%}pby7V@!RA6G;{bLBd6I(IYU$Jz7`A!2iY+Dfj-Af; z$ys*ICR#-a$Gpr2B)&PC&G;?|-%Lfl$Ey_8(eyHw1JH8*{|p^O z^veH5vi<7?m}CpP?>vH-UQD6B*u7_q|5D{9l8+x2-z@@QnSRDJCDGJnpt=>>3O`|9 z?Mgho%4EurU+CUVtTMtkPmsMA(1gjv_=0hYI}O6&W(r9vMu(=1-O&+0-JLhB9d-0k zm?lirx{gF#JsYtMQE)It9gnm#kfY$3b0o4P z*ql)Fe|MSWMX;O5X6lINfJ^<3oH`0~$IEc^8kr}c^9iG8-*(&pRsI`X$xc^XnIY5g z6zBiH;D1VncFrvjf4A9W3w#xC@Atd&G~Y)$r=A~JEPOxfB)w%hU|~5;WB#yhcIpZs z++*Rht<*}IE4b8S`>X_>K}4YwL%Y=NeX)fQSY}i?MBHIoHB@G~J0Qk9yTWwwo>9c~ z{y*-;0Gz2QzGNU}D464Cg+EZ|E*exX6jZ z@DG#YHUl$Xs4{8th9)eHwx2PZwu#^pyZGn<6OMBUi~AU@U8AxEKl40&B#&fj?`NUE zeR$DrGf4e2&cq>&l5VL<@5jbLA7wCg$7Pt;`0C8dgg#jGlS};~4`bJ$OL2sAQvX(G zI@g06#D#@R^CCA9zP%-R==tK`(c6{3rlxJ||4qfV!Dh-25OI z575C>==yq{Z)IHg{c_U9px+vo&R#b)WArpN(hRKMWn!QCy4r7;UfUSW?*!n(kP8G2 z(_U--AJG%2#P_CU2~eruhY-PUxlTAUW&BUQ_>0r4^)I-)F8>Y9oIg&3)0O?hcstM9 zXC=sd>C37MT*rMH1~r})`bhfl&z7*LKDpQ6tM!f9mb}r=>L23UgbdD zm;;sTbqjtQ!1ui|km47;_#w)C)W|04-4% zBV9woejoox8ce6W)B3H5 zP&a>hH|yrje(p~jJN5OKkuHI;){jCM@}tFY>)&XGoZ(2gYX6SeIp3@MezF*kyLbkp z`CTc3mgOm~j7vQXNBQ}1#NP`T9^nA{iDuvVGu2wg?<}9>Wb5wx>fed()$j6i3!tu? z|Al{(a*x~~%k2{Vf%;RuzTM(_+>%XwX zL;PFWvZ4Gg%h4Ct4K7W;)9B<&Zj!6%*y?uSLKnNR?DQIp_cMP88qxJ!ruXMp=P%oS zMujVTjHfj*dHQ1vhOWE}=*K-3jpQYLfBi1T=!y$&CI59s3;HjF^z1aw88;8Jx^k8R z$%~8gz5ZG_&+X9HK^-M|<8pLQ{BiYT(Fn(SssCkWy5B<>FEe-C(2PaXi}-df`(d7w z>a^c=rm$KuKl6j!^q=x4y>j5C=F{%->7u`N-Ip-i|BX5p?eh0mmVUpX5=m z^fez*ror8~8y9{Vhp{O9jt$_R`Qm>o=A&O5dnWqzI|n8I`;k5np4I^8-DLCmscDiA z=WzQz9&NweGnxA}sGqWZxa}uKMYl2MJNh6fT)K;PS--uK_0u%t#n&-(PhV2&H#i0n z`Cq1eU1Kq>mNy9f%bxD4(2PPuZ~ZN!p}#(^`U?y$)&1Xs@9^ubwE1eAmTuHM!@d30 zWXIqkQ@^<=-kQlP7$OK4yJAb(SDaX(hWzqA8~zWJQYaPv#prkNKNxP_%j9$kjFQ+( zzS%yv=vEgXewd;a-to)8ljy#0p6cnQ7@4*gK>Kpj=xaZlHM{xN@;ho*ogwE4(?Zuy=%~B_J_e>^NWM<09!q9r-@~$E2YhJGC&tYfsUw>o9^3wN5d#Fy3 z-q#D^Z;VSSf5+X26OTsntl#LR+lFHEfA|JX-k?+H{+N)<3)8~=%((nD9s&8Sq$_@l z-*a=0pv;c$-a26WbBkYD&GK0Ocv-6dVkG}IG^yrcnZ_k={hM1RSU>pUN274zH@6q9 zEo*$@>y`Q?Pn~a;n!Kc6?GJs(pgZP&-?|v7tbgiz5dG^?pM2jokK$YSyq~~L1{m~X z8H7@k{o7M&FFH|@4GmgZ6@U2Ht?zuc^sDv&;2OaAQ`6h?@`fXLMl+wr<#$TuGk)m{ zo(-SRc==;~`uo;Z>&KcH{-9d*!sQk}q8FulzuHRT?G`g$2Yj0EZy{afPh*hg>lYTk zB79%>O5*PpGoA-bR_`wqV)B4zF8}!ppXGvj;1d=h|J?WzA2G)Ovftmgi?rh0F7Ft& z+sK>Kh$GSlN7rr@_}fOnB<02E)1M`~|MaKI$-RDnx`EpMT&8Z*jk={Jmsa`DrzEhd{&rqjAV@cj^>FVtn@}%xRhaUg{6Y7X3fx zDZbU zh&O0wyK$e*z>KHCQQi5#pEJHF@XJ3M763po2z|f~Q zBKO8XKi#=hvaKQC*W|CvsJ3INX763vPZaA{abuFa<_BS9>nDt0+e_ZDQsC%{-W;E- z?eWP)&*%RYMn-ZkVu|N6aNhfbPdV-#v4Yp$L>eL77?{iaM=odbo<2K1T*iN*TgIa1 zOK!f*G2s5|_Ctoj*VmEE}&ISH630&YWTYPvo^0^*xNWi?y**;mNho6H;02a21 zPpa*=1H8;ik*~r(%MpW8-b?)%bl~1T^N8y4sn1bs-gdSSoc;a6kJu!*FIoNLI9Y+Q z2BM^TtyBHk>5P79^{U$x-0z4>x*rQ7*=_khI_uBvTT#W|LOirWddJ8{@=;sQ$1 zdDrCaY+=abnip{&?Nt>5h0T4bXuZ$UZKM9>QEyp*;yT*YkI){$XInNZJ=_t(n`K*+ z-%iNSpanr@M)fCL4;GQzG2F?cliOdY70U7$1O$Np%xjrn`;y-Z?g$Z zVEF@=5liK{sag&eUt2ynJ=_h&8NJV~)k?4^oh8F+jN2l(C0HfR0jh;zd!Dwl%i~RU zDNEKCJX>`t0Le$zNM`iCMIr14{Qk5S$ZG$|SfJ5u{^XmK+CLeVzfi;8N(nk31^y@} zZ&%3AYjU&q@EH+rAIp5GX>YatEW}WCo@f8pjqCaL@oq0;pJk6JQpmjvX%1=Ou>vgz zd*;r%Psq4}`v=^h|54+A8GiM_7J^*i`h~u;!4hc;{|&EBSh%v(r{oXfqN#7N&B1Q( z#X6RQcv#8#1>(akyZ`wQ9zuCrhxqh=SBpuUTb^?@(8y8aFES%hj=L7C0uZxFtTXSm zwj3#nQz{+ONmMCkpGOmL+lvwg1aZQ`SUb!YL znBu&RCCHMqZb6m=xqMg}Zh8GI;me+3Rkb+1+;Xjc!pPUrCl$VhD;IOGS{&AQw^I11 z+FY3{)zTqX5B})F+)-QAfcAX3?zatG4sftW%A;n;+BbWN^8uu&ug^;e44Jznu9j*a<6fQ1{au%&99?p4ImjXTn$?g5BL`?w6 zrdOYH^HQf~I!WdPxU4$k`tDql0Xx#6eTOw<$rAcRAKE>*EAvyN2*rj5j)!=FgI85~ z-pXGnI_zM&2L=%#t16?5`&wII^NiwzkZi=#$5Gx+tAxzL8&Ios{KVI(u9HLrUF;KI zd(l1tlWSb2l&%J0_+`5iy10Kv8==cT(2DPtadnr44K9akTU4&>EJ4N%%(6XFO<*Ls z@UivMJNsQteY4G>D0I;KCIx$~@3dh^ktIn^W+%ly#E)-C95_} zh76CC>*g|Oitn}ud^CHrR^?~x=x&Oi;cg6tOt!5SQ0&@L^SZxZ{2T1T5eM{E+9!WL zE#wDJxJ$MGmcY_WppZbhzzsO}mAU7VdDfFR&PW<^7fLEhRl|6pVhCpbZC8**8{Yw})o2II3{l)US_+i0 zpz|!hv&_`er-uiZCuB7L_8;vwRkcV({BqvQ4PxL)_W(W`XX~z#-XN&UaD zx&=1EQch5K7LH*p0M3#O=Fb4$qZ-{PZvHLbA? zyFBDIMS^j_$4$Kc?)}srw&}ftL?g43;{0Cn5@=G2kxdoUnfAdC#0cy46)PV<|dBjL%S%T@P=YvjfWDz6r*wwlndctrUObU*(au zytICw)9~Jp;KR2y+upnQr(wQRD0=olb|UEH!|r3KeDEznyw*wP<_AnivpwH}yGhxa zTHL7HuP2#HSAF^E@_+PbS0FZNzcm(cxp$(`&41IovJ%fZxwkVR*co$e5Idvq-~u>DnES&r7d2%%`G@+laUL2{efJ+E?ZzbD#+2a$(dB z!gMkhrn{gWc>f+;Z*O@>oBr$_ep5Z=Y^Cwg;p!8Na<%WlKOh0c{r!0$v2TH{%#{H5 z>Gqb-Q^$)-x4m4@OJ9LAB}Rsc6H#42d%O${o)s~Qs)x=G;o-kz`yZWMS|4YqwWy6t zlT=-f@(&Y3#O=E&vl;1%pn5PwR}!=IROi7GJ#Mn)ovbqW2O_BCss4yX*FGuIq9$}# zKw~Hjl@Eo;yq7U$S&eY{H!lUiC^Q#~;T`)#m=E)7F`1v2@@t0AO0V8S?+~P%#(eM- z(F+`uy<1HJ-0Zjqn-sT&SQNr7XIYlZ5#OOd-;hR6`!2llu>;@u29Jb%#7LPBe894I zT;Y}|{*KU58U`Y`YpJX11z3dk*h763mSCO}BJp`wN_VGaCx5n(;PuFs0q(^4S_Q`i}l#)^(%3|1*{=XV-yLKv_i`C^x$c z9_5aqv}=Pe5+mn@8!4rMJhMA+a3o99mxWjEABzoq zzTE;9I=7=+FmSiB8$5r00!Y`-1uVXhNe7Xvyv|9-02b$t>30Z~G*}&Y@~#wQ2fQVn zFNZSRMHU12cSO@^;Jn~Q+5#a-bhO^F%hu}LB#XTKw(Uieufhmq5d_28@dK6vlWIc< z!&|*xZat=Ie`qnyu_cpVM&dTW$l6-vv}*zLgrh0_OF>;h2BGK7eO$DHUtn6A$dZv2EaK>DzM-tk{#u z6&H)J!F(RZk0uX7?|4>iUX2@tKfLD$*j1pi=^tg=t4(v+du*DRTwYgiS)D1kY@|io zhV1P3L8o+b3_67+TuD$TfJC;4{#RJp?xaOIn*Ky-VHr+|}jGQw@4bD~~>b zY;w!(0{dS`JAPEO$HyL4>yu=fO=P{=grfIc59IecF5@;dOg_j9OUt6a-l!o_AKdyw ze}T!8CI&vIm!=iTH<=I1y}ij3)2J56m>%>RB&03oT{Bgt9!Z2v7ubU-XfX>byDjULt>PQF=z_77GPlCFi}4uPS0Z&{bfKClX*tP2b5`;yM45 z_MT=xuI{jANO;RG@hUl{OG)<%V-Psm;%`JEBd_SG)2t1v>v-J9&2v- zUp?R2>uCE)mF*@c#^Xr)v#y6&f8(<(-*C@c4U<77T<=$Z`85hvp|@5#j1z5NCC>wg zY}(EBfN{y%3oFZcf{eZOWC6*NmO!{&+tmOZd>XwaWutDp3gC?8Uudkb?HQULwdOi*3Qa;pnYsk^+m-6pibOEN-2*jI^gK3gZa8Y7Rs8rHygk8W zh>2n8>7%27@_9;(X~};;2BzD;*S5WBm36%>m!nwgd)cUy&cYw7-mUd_ko30&-%0l) ze#_S&e4vmc2}`#v_6I&{i*Gj#B03YC7QxI6#Um}YsLnu9a`P9sOT@Vx)#n_e_%JtiwTgSlRr7#LzyHuc<54_%&@g>IODFF<4DKv| zTX@1}#QaNW7B0Qj_<rq+JhzD(ZofA__>_f*^0aP4ODQY~ zCfn!}Vg=n3{bg4TZ3~Gs=fl_3WdxmTe$50!oWq= z)FS%|O%%BO_wY6!#6jUtxoNRw5fm|=756?~Tkx-X#DUE$^W&3(oPGWQvmq3#L)3pd z4+3zy;RDi>K>%h-eTXN8GZ!;xIq#YU20lk@EOQ$yTIGQ?o3NNK3t>nGoVQagVcte3 zdH7cIvpB$Kw_l9Zy(~8<@^mR!3t{sXI`?DCEA#@HzQRodzPK$ov}A<-08cqsre=O? zYPs`nOo@L%NzKkeJAURWovDX|olVcKpf;5xaJ{l6Ksz`H=jvlE?L1vv8V7ONEYkn+ zyl5UloOZhgeifjcF&`F2+*V8jzMjEGzK&}H^IGsjOQ(En(sgIw`lsfE5VUxu(-+0M zKA`YQ)Y~@PTs}*7i)~pq#vOJ8=oR%g4|kWUr4+xR9F=;DjC)P8QN`bF#oh`QCR=f_ zE#Y$&^H1>6X|)!YxCK4eev8uJYs?l`xrH$|L;so&$63T8EdaUBEuEV8P}F;g-!@yeaeI@m?HOHS(()ZH_8}F|yrDl(8R4aQb@luze~@#tMUe0I zTSD*63))BZW?Ze;+{Bh7-0eK)R!~3kDIZ(KT&{~^mQ(b+u*`GMzF&kVQMdV@gZ)cW zRjmU=*4$2z-7U}lggXySIq3P-u0n6KxrG+Ub0a3z7J!W2^|mZku8JERLWNh>f<5DB z`)wIln}w@%a+U7Ha4XZ2)4mDxi{Q(3dqa?B0!?P&f!xe}!=G;paYZEYz7st6*H~oq z@q6uTe&rpQRRlM-w-Z%{`P(bRS$`H4rBfZsCaqg4TT+-AC&l*sa0g zSg!<(4YABO57Z$4F3Ch3-SYWb0%-T$waWxZ&u|#a$Z{@!f+e_HuT_i|S-9S}#M`sn z2^QSr5ezvs%-wl?!8Z}^l&uD0o{z%?WI-OU8{Ch4m~~~eb;Rmuw6W`a!j_)N$UPm= z9WkQROT?vAJKhDteH^05{>g(ePQ$mL1|HSPR^UZ03654gye%G^}o1ebq<-yJJWkpZDXI?uJcY! zm$lz)|K~A{Gk&HcIiLBmTTUnW!~U+G#-D9;1^sUm^yJ?3Px$Z45zn}poBT3`e!+}I z-}aX1+}4e9Z@j~d8wiZpeCH{e6@J+}KfLjE&(YvN+b6!_LhWbWBH$K$yKgV}bsxv` z`@4O--?+%S_FL=zZX@nbt(4=?2L9bj{7X~A{cn0>?&zSV^SF)GxsNkHV!y-OyR5(_ z{NH*(QD4bl=ICvv!k5kb%af=JOm5DL{adx0Fym)9l=!5+_*72JjWr%W{&xTdZ?!qV zv%Y5RUlw$FbYASAJ;s0!ZlU*mHcC9btfweoYwEDFYxzI5uM0G#)iU#m zVuPP|cQ^)5Z(b(spHiduj*nNnUMRt@`?3491bp&`LK!RF)b7=7>%MLu_q_{QzjnyF z?Az&n-%9s+D_Q?|Z-B+~xYc<6AKtz4Nn=|d3D)W(lpLs!5_F+H$km1VN8&rwAF1+C zedIYq@FTlDcvWKkzTrcmUh;g?DE9|{E#e1%GUDI;bHTs+34?$4GX}-(UjVt$G&%n@ zWZ7FCc&24;8TGhdY5xZB7u6(NV`gFhpxB}qe#yil8yq(^3AeEL@7T|`at&Sg%qSo8 zPmV?W@vF`M;Ny{eq3O7vYzbvyCcNeDzzkF4nCkgQqce5`k1t+2)1=J!FHO}-U4V35 zuMBZ++7iOfdC3=_?2g)4uf3BsLAW+Cwf-#n&z&=yK5I^|)*E@i?)yb9r{4T{tEIc~ zaxrdWt0fHMjNj4Jm9hSt7r}E(Q`dF}H(x}|;ap7&;{F$;T{}YqZv)B9$@lr4!S&C- zJD>2SCbweO@!f7B{ZRZh=dRB9eoVi<8UF`e@})OJG~D5&DA#TVA1#$}SR1T$SFQhX zWWW(Mk>7K(OTBZ^Is zLnJ>FsjlWP1KsmdR9{QJ&-_72uanU!F}XA_d)CuYBlYU5Yfp8?rS$(cB!l38-iJf# ztmKVJcJi1{@}@JMgL_ZuZRXs@2f3NaB77(8dtbYS~lOZ;yi;{&4oTeQx9_;(%x{Zl@-hKhH;(|tJq z%P#t@`yN@Sj7tdC|LdzDA?|Mz-{C&V&h_|g!Rc0qd&|lv&n9f+t$g{y{l}*Z$@Ao_M32TbZ?804e+bJwIuS*=i6vLux-S- zo0_^`-uit)->$O!OuzWsja(VZvyne*#>ZEb1}Wc$KA_t>tqpg|38RJo<>CVVZGpf) zPrTW|r(B$vYc()_T!%{axColn5pNFcMw(m!8XvLf$h&Lw>$J`H##X*W_mLJURb2#_-Qw zN4-5T_!FdA!p(_6YtR6&6VnoO4ouY39)8Am{%<4)PyI%7th;KC{%Z%ZOWUHU1OH5# zqul+Oe|m%c-cQTkvi{IN`>ikECUE(GAI75TpVdz+yo}z`F|YfmZ$!;peEl~jRi5e42UvuS8+-j>-G7bIYPXTLLXLuO8%!BZP)C4e_n*RNgsvdUEz} zKLDlGk9bUzPR*V#|1y`s#xlQrH#TKvzhc7h@7Wo9#eb%zruv^2n#CE9ppPGoHyH2u zew%;K^0SYA`y99!@_|IOF^{2E2yU>T5D)+W002?|P!j+EPXKQ83XLO` zN)m#esZ>fDB$Z0-V3SCNBHVqX5fxMlsZ_7pj&iBgp&JxZ+U*FpH|-flfw7sHqnZG) z007@V{eExTq-|H1X*kM%K|F;J7%^jo28XBF(l?kTTiUwkV)PwlXoG2(mUYAc#PK z0DuDkD-tj(hbn#lcfWhR%&d9ME#-KT>GEa(m96wj9aJRw{ z7#7v=f)y-09rQfxGncf>ig~qM`qD>BC367CyQR`Hc=y4ijulaEno56njb;$N!d~`| zt+XpNQVb25(ePlHCQ7DGZ#-wJU(=gLi-_eH_4dp&_htQNqwY(V+Jz4!mpWYXw=jla zpW&o64MT!aGHaV5hI{i04dB2DIXstT5Q(bsakDfjw#Vn4v=yW?^`l{U;NczXXzM)w z+RnN-kU5{#!@9Sbu-G21Km$Qe3*vYVhT_7~V;1PZN?DdHZ0Ykbt<=@TmFU#|E6BF_ z6QXNagk^HP#KRN-eVD$*?S(E@<0^tPS*sAv?5gce-UsHpv*$u{1VcM0Xxn8@m@LY) z6uA$Z>_BS5vxMqdw6PM-z;(p zglZu!fHeeWzY0S-wn8!}mUEylp34MKO4rtHrX~!^8f_)B{QyXZE5L3sJQZh^w3ftI%pSx>h>JREA- zY8I~sCqT8JiV7JWrNN=O_P)~ogn*44ZY9;A#x<({6Zav^$;x{gXS0{ z?%=?7OO_82@>{oAxCh}2Glj#%b+U60IUPCP0BV2W=^O`I)*yaDExZKOVrlJR@BO-Tg1)Ska(K2ObsL|B9WaMDoQ|laI!Le5BTsMWPL6? zpk4%MP?m5GrMo~b;1Fg*hRm`oWRQ!CbfuUq`yCicl?5n6Rvrt1)C(z3xNd!2M@TM# zDuTMm`%Jy_D24fFZYvtp^@OcxLUH$ce0wm&f) zl%i+N7N`OjSLXx3jLlbE5a?uSIoYp_iY%5Lwl9E>GbygwOkHTuo0j6*)EMv$*Ed9T zog2O9otP`iHi{V_{)D)sqbR`!rX~jLuycic(69}&wgiONlS=j7Gu+6GOe~X#1%((h zjLOp*02cTYbb)g`GhiV01gUj%XvoQjLZ3_uAngN#D)cBy=ZVa`-{Hhj`nXm+L;m~% z2T3xrT^^E_84+`|Av0TCDJUC%SC4%78ifkVwoSH@;qG!nn!SmsfEGjFww_pOrh8Ep z(LV^0=+Z$8%G6@p71qY+mh_FEay*(7lbn{cQa64+b|dEse3sR>8HM8@&~RJk5hQr* zf~28v{>K8gO1)bKDTA;;Ewe~)SDtP5*l?BZuwLLo8;AT5dHmD;HvQ)Ls%ms%R+b`L zZz5H%Dicos8?LJ6&aWp4XCDYnfM5%;dWDTml;|7Fo5SA!^n~()`_X6aB*uR<~TXA_E7povlT&75?p3#w%;FKH# z=r~BL^CHN*Z1kFdG43$T^T)SSG{GE-m>cNGB?CD{_MMxl@6>A1ziv&$fJDoIIr0$y z4i7#j6~ib4W&;h%Exhbcup>c+nDw+h{lhA!Y|phX?(rOUJqC(NlGa=LWH@m}czX%QhU;;%rah3x$f6dc zes|@f2j5x>tY6p|Zu{a+YQqok03Fwl0tPQU9_qe8lA%5jW~KVW;V*8at_R{R(ldVG z323}Rd0P5MPWQwV@Pg7WSQ{RFp(j%#=lqtXP|04|kuNdFxMN z*J_O%)-xT#oG>e&5{ zBx~e#z|A+=~#*eWW43wx6&5i)FM2cAyK}hdIA^^aITT{H8~iOr&lz z>KwAQu^(#UYRR8;K2MWpVuan9OKwXu_|MOzFK>#jdJt23k z^c5sso_j?%xx4uIi-c2jyjt$hmCL5qCCBQ*@}B60LDAHL@pdD3-{z&edUkI}y9K>8 zH3w*RnD9*YTAQ~iD@jDGOuxQtKphUhG|7}|W)@X1iKSJ(FG8s!nP=<`I zPf0tcT62q6pD5^2zB^x{SOhH6!rcY|(^4a+oA6W}uko1nEF*hYXU>`KiWve)S4T@z zRVD?kr3G_=o_|?#IwuL3$;2mUP?Gk@`neY{k?JzhX`ceEYg%8RXxnIRWs$rI1WL!h zGrzrqnxih-8<(WpY~o{Rmpx%NL&L$0P$e=SVODkwLR6>9E3OPxuFpt!yt2rv1S1~{ zIu6Gv`LJf=Pry&;_FbF48w?WZh~@WlrmU!vxLL8|nMxci&Evs}l6`_s*5n&jQ6I(r zG*{HPJrd#`p65=IMjHhy$+;*w#ji^Mt81eq0{ojVXcj&BtuQTZ5+}<)eBvWbsJ^M? zkZ}`;f3l+cf{8{88^A0xp;ip-YkbBPGvDLL!%eC{Rtg z+6{I!=<20)Z@Cf&pf|f-AhyZF)#?$n>aG+wcoeG@&B;q(-MCneyK)sf@_}k(o@gi% z_4`paIAwrR_0e&0;pcKNLYH}dPcmq;Rw!(qu3DI0;_De&3qqeqYf77g1}nI5f>g0t-1JEf`H zB&mo>%%t;7%iNMFT3G5E6r_QX?mpMywp8$pc1i zKW?r;W2k5W_^@-Tm*(k}=bGY^o9R$k=pg*x9PK(AQB>?x(t0x}9jFx0@K4|&DRb3pEmk78 z?@Jz_X$CWSb0=d^DuHT)UC+8q;*fKin0T_`?{gAcArIHCg0$VO>9Z53%Z2ae*3wd? z)ZDV%|1z3#YBYN@eVPUZ-KYlvC+B`++4avFjl65GC51Dsl$L@edt-v>;Lq}2D9c`M z?P}Qy`YqNW782B6y5wn%6^=bmPum#6w2j*oPgIp}7hL&mwnGV{NomY` z@h)XKPTEeopZ1NEh#t|n{x75EtOKE;jj7)tA|xH;jeiZhUCbJ4Ech$+Dn`{AA&b4a zSuDG3!{hm4oE39R`A`3tI8Hi+D?FCgsp{&gVu)w5fSxZp@ZZDY}A=h2jJ&1yMzIPqI44x-z*=`)m6q$Oh+-nR&3 zBOCPTh#6J8bYrH5K5c{28Cby<(^_^#b4=~DTRixzyZ9x^l~zGZY!`zeN9>#V-1if> zv<&qJ50OdUyXwg~bB#%#E=K!j`1daxdlG8dIiRfXy+E@G@rvkotnTGrA(^~AAZwwOp+jRGpNn7v4#kil7Z|A zJS_4(O5WZ7Rv&O&liHc*Nr|iD4x_lS;TepPBzwE1F-?ST+FuP!Kr>qyW+nEXq?WWh zlFAM=6t3M$j$g3e~MF2oJ&I^A1g>i+#o9d&170dgV8TzASF?3*^J$okX7;gEA| z*?9)?pY&F+ksgWp4osOP^+*Ba`YA!?5I`ha=l${?%iiv;mnAxZvdbHa*veMcD^YSV zFZ6z1e@sYM#E!C-&aK27A+Lk)Iy!fhX{v$Km85MrzSp|HCKPM%uI_EzGbrRfif{UN zs&=oUl-h}p?-=4NQUQ4Xx0LE>!Oe2gut>8-@X<}NXP~hWHs=#+nU4fIK^7n`Ee%|| zrm-e9Jy~;oYQCeV+dWex;4^l7JCcRvlC|>cZ7ym*IOUkRXXkCA3U=- zP?)gYD~G2US~Hq=O9mCApRX`xzLSob9;l6LW4l_mR}6L@S0x9yDRaA!p4}4p+;a0{ z*LI}uY&kBcU$Q>JGNV5Sz4Z*!9SgwMVgbuTFl?MJ^+|Q-i7M*OB0B4JEJ#V&v0u5Yr|PhKDh<Kz(VW*(c%Yu&g9vF7KT8(7U&Z=1SV3f|I#N5G>-nI|4|tZFjO5X6_w z6eIHJn~>~GsQ~T)e#igqf5Sgbt;gA#@WGcXAKCfXToxUE7pIK_G0Y{4&yzr)1~L(+N|gNj$k8inTbp;eAeqOlOlL%ScO;=`@q;}-Ky znI!$^gxfVHbD<|$nZm+Abc&nTz>q~ieS^NevnG_id~`TQDkL2 z?vsN)6sLtQMVHGIg))+R%|{YH zo;G$Ry6hX7u2B&egl68l^<>+`DZ$qdRcmQ#fHr4cwzAR<|%M2r`H z4lg$wH?K;B9VTk}(oPFaUeD?Un+4(OrT;B!4gmy0TLb!<6pyO9kQFP!w- zR0jN7^)x@`h?=XCdJEuEc$I5aRL}3(ky&jtFs=%ddO++f+JZbkWD8H8q*PdL*t~pSJL_KCVD#7^7N+}6q zqDs)IAI+HEZ)!YX9ycS!()V*Z=t!wHH3Sb5rc_|X{q;j*W0&IOQQVtYITZw?Vcj8> zPM}k`SExoR=$Z+zYhxT{)nofqzG}(#LafDgaG-6;8FhV2AjDJMdblM)JOVBbm!gG)mrrCbGk$%{4Vlq@Z-zz$)d67r=VBX4rkU%2KE-O3sF_-C^!aV*N{*-`C#|R( zj!*rf0su#cPtZdvdaRiTfTEbuT^#?DTM&1&6sj$YlK3E(VrqYBB^iGh4+ z%|33~JmpFjx&<>wTy2f(jz%_L$k7L8tP<)f2s{KIl!(HOwf~TG~Wmp<7o$*Skv-l&qPo&hbFi7FWlWTA{iU;(F z)L(#^f%;n#*YT86MwpATNmP$#;CcvrFn14F9(RF=Z6T3f-C&!E`l1I|2f>dLGvJwL zUI4lh$p%kHkCT3#;so{SuQp-yL<1BYuAMP`E+CR~9)_S}RGPkA)Fm$a*m|7>Q&s?p zf;zU5`SiKSOcT=6Q%@7j8swln)@E#flCuGp?{3Gj8~aj>SShT;kSBH9vojHfNro(8 zwd7s88uovue8tTr!ALZN%o1H5Nk2=vPIzZvM_CEO3+?9g4um)XkuXIOo%eHsFUy^O zG#(l6XVlkK9~@tMQ4gXCYwhw?53~ZPZ^?l?4d6Yr0er>}Fjolr!S4)Sd6JgR+?Bo$ zCl#|=-FrSd$$C$K^;U)weHuFxP902$A<$b$=)+W;e=IDQJOBVdx|swz>7_>Z%bZ+7 zF1_A<7{gL3Ep(_v#mTvyeM^N&AM6K9MABK-I(o^yEgZt$TT1r~2PU3R45LFkJ0&nR zGeup=-XGFr%wN1K`sFwkc4{k$HQeDepBT(^%~*ni=oEA~#u#Wtd+NoV-o9j<*x_9Z z?@FdlPtjmCZ5OvGMmSY-;bO2L=^!?u5SdsItd1C{pUcPNKZ>-4W!af34H&Ch(>8}d zn!H@GP8g|eMp+?`^z%0KK!-1k$)5mOFD)Kq=b=EOuqF`sJ-wT&q|Uz&-*JffIZ>&5 z@b$|$doUsu$C@YuU^C?Pg9&)hxavXCeVC6Wl*Jfnj61)XD1jzSbwNc75cJ~E*^;s= zstGp!=!0FfX$CaIO{+C7=YJrW+vB0o?3fCRB77$4fh3!ALiAm{I>&K%AfUxdJ#ghh z&<$;E;x3SQmtP?L{2+V;t|ZLo`E^ zLeKC*&Lh!pxV-m^8u4HQ770+f$9d4kxvlE^bc4eRzkn$dhIKKJ?=D6T3m*L6Q`Fm_ z=o0<>!TBgB4p(u(YbU`K)vW--!w4DzM4QK)KllSgGA{)cdRD;94Y0CBPEWD)AsqdK z9_FRZR;d{JZ|WVKZ-quZsbc)SkTk)Et>{h6Wm$QoEm-alsH3SSY0QT+m7dclF;N+_L*gEctYp1(n0{tQ>ULLnGGgcz< z4V^QCUY}jdgp1WeqB?{eWsdFWJQ>NrR9kUr6o2JpW-Rg#r|GGY4YK|!`8`#OeMobP zbZTo%(WZm(t{Yneyjn$kk6W$5e#;Sj)H2JUTHk0{O4tqzz@{&+eKD995$n=I4#%8iSrTyq(_l?BUGVjoNvyiDECszrc|_8yxA#j zr+kA}i-Y8z^5=2kHaMNO$2Dlx66b&K26*UQTu4J0&M@QVTcn~|E+h(}Q-cZEB3tNSo|7@>O$>xo z8?}w>N2ZUmvY9GmDP6aAGvkDpjxZaa=?c~6u#z%8xA$XX4Pj$Reg`qzAaSy<^Q;3( zgpr;^q;#|Ov{vGX>kgYee!#Z8)8{i+*)c5pS2mNyS<-BWb^v{@>UHz)IW)}?L@;hF zIxSu*-jLFh5TN zmJA8s-RTnR(RLzRPnEd~yZ&L{fRu^8omq)RslbO*cN{-3GmSVn(c7km9}vuTTp(MT z)`qywo^Cp+NTq~xYvH{)!@3x7C$kuLo6Gf9(HBLAJUT}%^$Yt_~O8}McvQ6 zEoM7X6+ITnL-v?i+Ra-XnTjMhnz_=Ompu@-&~rVw)=0I$m9XG-01dKQkw)(M<-m&N z;IlRw-8B6z{DIJVNDMR`h1H?oebD>*;!lbcF#KtRfo8Km9n@#e+xrLhwE*PWQ>PWetYlTWg= z*c07RFW)9&Wta)qb0_7@3dK$!E@2wm7FeY7(0)boF`+Re$Bz^ zOcmc~7fy;_@oUDT9&OR~U!iEl z9_w0hei(o*gvvpre_^SV&t$}qwpQ~gdn`(xj;#((PJrl1%|#fxI15pGinuDWT>Y&Z z1s&Ch_n5wwPsz{YH^vi=IJzsIeO%H6IcL`-X54rgOug6<*GF-XAv3|3Uj=FJN8=Se zTG@SvyXv82Soa9y_|0rYZ>}kpeD6g#H;m(bdYGYkyi@^~UONVzE(RAIp@a@pj6?5! zzkFizu1Vi0r1t>N$vcD8Hy-2cTe44W7TN|74y)_x`9+Di0b3hfGz%A*20|)xm0x+; ziP|e8BDb4dWH@wly<777*wjs+{jN;cI%=VzBg&Y0-?{VioAQW^dRUy4y=cO?6of3Q zh}A6V0M7X2VLnS3#JA>1;CbFonG)9q4My(fe*7=lTPcpoNrt=YmMk*Nc>T*I9se!c zF26N$gxNg33~P(gn~;o4JUC08eCTxYp=Abo;CPA(Xbhx_ww0TWp}(4JA%@-sUn$LB zuAjUgaVNl%LBq8fjsmQnIOe7?k`|YE-O3{zU!&b*;_b$U?gYy==re`;0ApKe@G)>uk>(b+kp2;`boO7QtJP zuJOg0&?2lPs}{W--k!L#)mwi;S_JNoy(${bl!m8zHlp%5!^nAiy4kAdvVma6iL35s z2Z7a!TLrkHMbP*HV(@yRAF}E;h{O+zKo2Aka?8VGQT{1 zjkBBA5u5XwR>`u{WMi7a)RRe7<4CpHv_F#3ukqokVuZGmxpmKqIZWC;uU!wP4X3$} zBGHAVq}$Hov*=CNdLMikgny$BAfW zozbx)<~3Jct162!bIjpY(~R)M#iljZ~Xjwu!B)7F1I2fpHp>5cXnEmT8~- z9{1j;iE8(*89Ha00N>$*e(3^sJmfwcb#o; zo~3VHC940Ui>t(Uq9pPp(U$EdX~Ny6yu>Cv?Q_fF;ux*|WhG_@>{Q7$WaW1q`v`#s z=RRpg=8xUpM51l8rCmflGFVB~F9+nxy_09x`1av~>Gv;uJg?ki8{N!{3}JneD1$OQ z1ma}3NcPz$8$b!p7i_9g$3Y)uOI*?CnsjlEIxP(uiEK^lL+GQq>VqbnHSd}{hu)V0 z@1rFO8PDD=KyW-+ELxs?rjL~sFQX~>1*S_2y|A6WT6j>m#C9$jF=fHET7Ta%8-@<` zjg_zwwu`=6kAb?wd17i&jbt4NHY2qxoiL&az3wcELK6l=BSu5{%%NF z2%NFg3k;_AAD6ZUqQU?FRc+efUhRR3CF4->hv2!wEB^qATM>9BzVpa}Z|xO$A-_oR zAC$TOJp;l0+bN-Vryy?tBGk|^zUrsY+b{;0Vr+50xLUR_K$M;EO-;@IPsgXxnxs=R zGjaNrVQencW{$hQ90Aa}jfkCa5Z*J~L^)t-^CzS^m8B zv@(p%#gELqQ+eB?@Zo8XM1F;XKMrlePf3FbZ%dsKR>H$O+la#l%cr*4EFa zP`{~C!!ecUp@rr?_Qcj2Q)>yuV5rtzGbg7S_3qWL_O}I46@Qr%6%X*$HANQ@JOWnA zXwBSpU96#{cQYm<--M&&@0q}D@D#qw8#0&4t&P`Rt|ACv-;tB^f8#_nVsObLrU*!;>vo z&~sv^Pu{CJyC{3|iu-?4@le4=@IQDH7}<9mAF5-<>aL8s4)MhZkM_@?^#j=l?GOB% zv91nWMRgsEp}-XV*JNAv-uqHECb^-5pM((aB<1&lC*Yr^*abWW4@}{4gckVlR$*cS z@AwSp0goq4O;1jYs4*QiqT0UXp`Vr&0Wmp1J=H9dF}gM6-xP4D#?-cj>&w3a{FUgQ z9C4Ws?#fSSCgis6)H%rinbhTO6V^UV)o_5()MAVDVlcC^t_ylNdX0NtK%cG;dswu zG@$C{GXTx6ZdTien)7MbfYCqLe3r(=N&s$<1Brmi~FK+)E6Psa3ZrvZOnbyEvM9r!d~v7UY_ zwsOkH)J+GXm3|o+;|p~fne`4xgN)rl+*_kSQ_sfPAHJ64r!th#`F3Y<+B=B!G}f48 z{ImRkdhK|llq@4?Q~Lg4j< zO~CHT&i!jun8t8hEOJkN8fNNE^EGCs{q?}d0fBmmU-u#RQ)9|n^9Q$AGw(Ti7J35A zgkG(`UmR1g9>&)AUt>ltfgx;T1Vs}^PxdArX2qC04VTD>OWF!A7Ei&R3D}q&_wQGH zcI57jDSl6XaI%tye_~ZVpY3JDC8fE4XUL0=ak*IWv2v|m%y&Kbt!}WnWU-;)=bML^ z@>ZkSpTT~&pW6?T_~8RPa{~%pBi~#4v~|CsCq$B!~F8KAI@Gm$AfjsX^*j5uR4GsR}W zc^Bz2G^{elm+vEqsX&wT28w-P+F)kiVSY{Uc5uYLNeC)ARlPE(c+q`z^J|LK@7K|p zj~hFIiJFOacb?0#^4~{VSo2jxddn@Qj z#rDmG>8esAtT-LfTHo4`B6AJpl)9&k?J*wdv`S+(nJ`s%>h}5##&n<$j2rs_l4OT0 z*}oKCZ5YI<`dB~de;XhVPs{rL%hE>4AB8Ebhg{m)*mkj-pH(Fa7ln2WQ0QU!OPH({NrChJdDW$P}PK8?>Qpzc0o#ptA+Af52biHU5>%5vV z{V_Ez)V=t~oU+r?y3Ivt{;|QtE*H={tN_OEooQE{`qk|Eat%XinxyTuK{Z=3zyEj} zPCWJcte>rIL}SM_HN`VO{^cD)I+3g~g)VeBMck{o&(fS;=h8$(7mB#1k{j^LzDA8q;?rd@^9)Ef;ujYW9=gc+VD3_FhJB1@$f) zOCvJ}0A7$(*~{E0^m`vdBkW~{CZON-X+})nX_eOkYLB!MVp?Z~HL{DeE=I;XfB&xi z*vvv$Sj0~0f2)M+OxPD!#`QKI(c0QbQ$N#S!I#BoyFxwF`@Rp{PQB2oN|Py4A>GY4 zIWalw9dQRBRrF;VsMADq^e)5y$@Hea>!LjauAYgu+87)5vrEke?9HWGOubs~W?5>{ zDI+5vgDlUC-U~wC)k<1Ps*Js5MWO9PTo_X_whj8J-q*ofcWPMupNn`8Zf)D@4ETvH z&xh`}1)=q6fPex>!rtde4fxN$zG+YQB#2~I0ueVF#6L@AOL%k6vI=Fm=CtG(X<#jY z&4Q{uqoJLF1g$OA6u=!aQQC62Oq%J%A*T?ERSxNuNI8f8%Gk3Wzci>C^Eg-zu8osY zPqlPx=qeUw@PT~V8Yv+<^PH?wDCuBfLqgCUSTOb}(2M#R?_LlpGh>{E6CK&vsI7B- z` z8Ruj+`NfH4Tt)AHnCjFw8JV0@jH~u?8;{^x+4EcpFK#ST34>YrNO9;8NS@6qjD zcKQhg(>K47W0OpYMfNy{eUCID5+NlVRsqTt-5ghxdgepf&D3gnSthNw@y)nw z*`n(@3eLP`mW5#?%1+!Mb3?inCt?Fd#lJt(<@@jioX%qLm@(;O*42Pc$=)3=a*(_@Rztg!W&nvX_*rUqw!~4JXRrr_OFb%8pnxL4?Ny)#p zX_+RYSKGz0w@PW3-;59^Pyn@Y&2;BV@i*uS5h=U24!v8@JWzX*7Y48VcsHxisupP)*5?rLP znxLlYF`gZXZCj8yKvxcxSc{#S3{KhJq9S(BhOm6HW|CAk^fZb^x6oQ*V@B^Lp~-S& zq+{=ZH&HJB&)liSd?3O||98^?k9 z$y;_iAxH!EFt$y|7+lFX=>vLxu}DIBjx`w0E>I)R2CRm}k+ct7mAI z>=NPy{-kJFy`T7Sp!H{9AkhYODHU?o8Mv*pl31nhdfz8$h_?j3dzbzBQT4|arq9C( z5J}+r{HVI(Vx)nRwp3*04>{@N^_7NgUX+;n=;_dSQzTi_%CRIToK**aVJ(U;&iXV+ z2=)^Lz*G5Lb(yeUWK8dmf^T4x(yOk(6#b5|~UP?txJ_>ZhauelHdVFe$k`~|a~ zkK}hj0uTr${*dd-3&wE;~d1=0Lgvdd5J|7tO9j ztAakDOF|Y0=f7Gc4!A5FEbV4cZBSmKS@ACFq1dQ9`EdqIHCd6Sb>iH#k!D@egKpqwf_s_x(<7384lSXvd1) zr=jcJ40Tk&Y5-N+vk3U$MAiej1`C1!c7$NX4+uP53^dLcj2qYj_rcdY8(((rsYxl{ zI{>+Upr;P{P6&AfuPwD3-z-9%u^#WTSr&cfViL zqb3F5S{P#XM)!{6vBVGkSxzC9TdL@S)#`a2|OQZ5;Vf`Q; z+btRUthFD{7 z`7n*y6-hU1J*Iz$An=HjriFEOi5ri&Q3zhX0dSVQuL0hPoEJ2L=3{^)LZBZa1s(mO z=7c(l0%TOfDt)^J?#ywJ$ZOu>OrRbZu4GatPb)1fYpYxc_eNDg^~(y4JBl>~7xzdx zfg{VSHa{A@%~xPS0f8j?_oHPBQ~+pP@Zd0lyFv)`!sATfGGQv0(dG{%Fz}K4}g1ygZQ5cHxDgAhx-(LMN zby#`-dTuXf&1nPpCQ5+X0N11VU{3tYZZ3xXimHNECmB$Hz4*URb5=@u73?$n8jpZ& z&fOagZLZL(mz!+;*yhQ1sTeN)p+$E_-Ub^HR9I{@6CC1~f$J(XH@+GMl`igUUu0Y`-diw9?g)W@Zazx9&n z0{*=L@VV^t&S(rtX!Xt+&4oqp1tMYYJy(*kf+hH3g(kYkTgYgimxL{G4K-+{aCbxJ zrC~xD0JRwFLBs0|NmhvWqKa|{fE@w=@CC&Xa%U1a z<%(bPonewgapHoTese!`mP^{J^InaQwLV=D5XB2iaqRcCMW$Tc76!Fxmjb2)Zv9tT z8#Ky@pbCxfIue4%iiMr6051NQ{lzA5%lP0$WRLjyHMHA3xV^}-hK~|u*+o`LGvwsI zvl=l)MS5FFgSs=lKM3Eg4Y6zqpz>1+kfuL@S(@>%WRPVs%Zr73kr%uPf3{ejbmTh! z!b{v`1^8<30iJ4VU|52#_>0Uh4?ZQ>T5wq4TJIk9jf6J(baD5y zFAfXhSx6TmsxoR@AE>D3>ud`N9jqXG|E#CeMByMrvxx%!n<1%_I>U-ua#DS#$P{VQEW{bynh zfh$BwCxSAn?c5&&a1$2aZ`ryFe?2=2axig`wt@mRBtGbCXg5KU`7T9jkD@L!u7%Kv z69L<|Tsi!oi}?2kzZe9Z;GO?KjXNPJPttkf6HqG$L>^OaNM?ZpKE>~s1P(ph6m!rg zL>Iy{=NoEI_{l|sLwfGoa-Ogt=U(XydM(CH!=^<2F_eDUJMAX~Z5MT->kmiON4wJp zXH;}3c=u}R-R6WoLzAOBL~*k=)*8uMCB6L)f+G>3k7K}lorI&@SIDptWHELcD>);I zyFQ~?qBYhx?@DObSP`HXNHD83Ol8V?G8aY03m;N&Du%&XuU(=LPM#Ijr21Y;>Z8tC zDJ|!Sa$KUS<-I0qa-3r}GkSVVR?Swr8Kj@}dY)6*^*{L$vh$pY2SNyXvU@l32fI3< z@6Va3h&OjfJOINww4<|S*iI2zvdep=&^;I9$%A!icycK9jN+)RpO;?BZ9}{l?NAGk zf>3?x+G3NcNDgr2Tl+t)g4gfi!Xnsgo&RX74gAZcGr~lxQ}6LBI25e&y0*jCT8DMo zLT#uHBKhn3euu$^6$O(UsP5V0gVf92)aUte+`fTM8ULk*DoMU)@EO&ChPnf5Iz!JI-~07K}2F5igC*VF)}B# zs*^Q1k!UsfQmF71c|rB;U*u{QTozYgw?s>WDc;alzXc!CrR~m@m3?|wf7H)T=WIL( z+=@S<=}f~+qCH+eeAnmao@%21inY)HI#@c&v(TcQEX4q)uZRl5HTMtw1yD5u)wM$p zicJ>`s@)ebHHh$Jd_gJ_6_uqPVsF`{05!G$$^QzC>Iw5%Q!|jh${WF%axD^0#72bJ zjj|E#gKqm^o( zUNo{BQ0t*gheRXZJu%Ye07>@9JR7GNZX$MsMZeo<2Vn5t0++K=8MQZz1l%|--XWkZ zj7zI{I8z*}#_DL=QsU#nyycijzC*LCT1gDj7V2 zbam^u{x=9KdMp)j;HTdUm56?Souw;2ntSu@kEmUGgoC->c~cmIWB0XsPA2VE38xFr zH^3U-T!!vwC4IVC!>0>iZ~yWWW^yMz3ha# zuy!OuE|6TXzwgR!O6Ju8^p6;`)wfvBm7$z5wJbf6=NbA((pR<~M3b*nob* zgU_*RsJgAT#Q@B~?aF026-It)he5Wt$Joq`n&kpT63elax1z|W0Z_=_l z#}_S(^5dqyd;q2)a*^Fu!z%#7H>ryuViVuJ!;S`$T$b3UVuNdFbzgLwtNr_0h4+!H2~L;Mf9Ms zoCI3{e+DwO9H7zwah+shPE8z8ivcQX(|6M}&;_y#ik)V_^kaB54+h}0$k40J0U(RE zqOl+ScNgr04MdQAw658qMf?-9&?Gr5@Dd+p<4Eak#R<%fFUB~1U9)AXp30b=ublc+ z*z-?~*Gxaz=wX_Rd*2pqU8V(fv6p{J#Q@M|*I1nC6aF5tnjYqT!5%MYqVZe#ghzj~ zV}6bxOW*j7lJ@KlPK?W;p9{_M#njgRR%WpsEReS)UG=A!#`cZv{_1pMLzFW1@z30tS&hNn%@byD5{gg;w= z{9CxH!`m;5Hf6^^pjKzA03KS2XLnNh1dPjCRvP+(RhHQP)zXq!$oIgY*Y0omKSy|q z=`-o3|AA+|3i77fM=(VA<|OO4 z)fX0rOYM45$K}aCmXg$5?bwBx>xTh|yM<=TW9O=w(M%puyOx!o2W(Uy|A@)vp{{lK zkK=eqY{o);#Qt^*;H{~-&zX_QnO>{{>Sg`Gw906;oHi|Xr=?Tx{(vKxx|V*V*1oM6 zVSA+&S(z=pwm6;-8y6G&kF%iH1~$}=zVl4Oac*e+&Az5&I67o$VhH={nO78ThsKY; zww2hJyyuGV^ldkSF8@9cFKn>ujPFh7YgX)6#%P{m8XWo=Has5GnsWKYKOW=dZS^AE z9yHowV?T?q!<+O|qqCVmhm8>V=$I%a4Cg*#9i=mYNjw$A+ z#%EWbIY#!ginrl+x;EB*c(8Rt>pTV_*yRO;yWx?2-?3lp-7_>hJ2ia$eP?+7|4h5C z*!266Sla{;&VQQN*3Rg=(K01gigek4u$P{lf7?rtY41;sSaILss-R9G#;m@Fh+s=H zjx2j_hVmr*CA6=XvL2RI@zctr`d$d0!T#v4!wv&m+Xq@!meqLQDH>0WoxfL8DW4x2 zrg;ClnJ6(IJNHa`Yiys|$|Bt3vh+3QtSH%|-})Jy0#QGc!#T%V0?A7hs&_ukE|#z^ z*R<~~uMJ%J-PDzRgQ3|Wf>|c%|As9;O;UQ98>N4;q%4Ff;~P!Ac{*J{p(e3e4ebqV z8vv%EPL{Up{Ke95!FN6jqAh90p7iJA+Rf|NRfY2haqRPK%oyM3Pu?W@@(!_GFnTaR zi7=D<#WlZTCQ0KBRD8p;pGJf1eFkrGt*S8%=b0wf$gWO9XDv28sa`X?pGU`!+D~G4 zi}tb!bp2MQQ(Vs=9#vAygPM2!H~x6Wqqc8zO}sChIcMxPPp=OvTgdmb$24qa?Mpuc z*+EEH%EURw->E{E>UDcnE5%|=HzlUXt7&EK@^^d*dci)zC2*=!^7z(n#G2=6UqHePAS3{ zzZ?pVZtpiN(e?^<)6^fx2N(ZucafLqoj#m7yWs|7Xm0)0189wXwmq8~k$o?}M#|oX zxhcZMo1A?cx|x)R8^l3-`G@vP&zb+>#s{W{XA(PBqfd5i{4dZ@jnwtS+6frUJ--fA zJJi5pj%P~qFR)V4+J5_9m{)UF?_|y!55~1i zz*5&X&Qr+vyx(og?8gIlAAu->hQ`9$ZcnWxSzrC`ao=n&>GUtwPgO#Gix>>r3y&8( z{!K!n3u!D*rYEedKEtaW{VtC}af@g!oFej?qRW{bSJd10Z;;zb=P7^Yp`)7dOR8m9 zJzNv!yHsS6b3=NXVqNf<`{S=%hL*cy3~5i;Z~VO7Zl>O67+KB89r4rOqtqTzv8>ah z#P40Fc=ff?_g|z}pV0x#&W-Juo;nql+u$L5!AtN@x`kt7xW5@@<`N>OLo3zRe#ocN zgPQD5$A+k%8l`FI5!#0MRF7KG;3M*P;69SQBfc8@c+@gi=H{s0u#&B6fF{Ldr>7@| zbe&tu>+Mr$3Z6iCmnb+kV#og1nwDeNnDRe?+88_)nz9a@Nv*^6<5rDMjgCIQ$0_@Q z;9`AXY}PMPQ(N)&j5NNN2dAW8PW1Q`rsAW2GkB+U|7Wia#?)WuSI<|RWBOlX>FjmP zf*(zle})iwYwMhgSDR`7K%2J_Qt|9fyPjBM2Rj^jHb>f?Y)#1tV*Xv5;XYGari)1z zXA-en6@Oau-+J?Wu60b@JT=Ow>2zpJp?F|Uri+=L^7`d3erJ%R&}qBvd=>iN;+m{RckR~TC2B}i&iubm+&=YcHO zh!W&KJLDc{HHXy(sDcUkXx>F{!MI22h=$x*FD1DC!us9bg#JgHT%Gy7OWDF^_EVSC zJepfKHm1;|T56&H4z0RF)IQe*df}FWSP;ZhLP9OM8+%(h(Zr~P*jbF0E(Wg_p^5|b z*NPv)cQ7OLB`iCjqNdfMT71)p83#L)&e-CF&Yj&~4mYi!5Xq3ky}9fVFuVFlb<} zLQ|xNP?3=gp<$Lh7PktA5BQJ$py7R-4{O~%;4fW7k~!@lcqXKc4WRbHupa{{J$O!d zHu7d~|34_C?rkoV2vMOf%V>Y3J~(GU767JUn~w_G8SuvmWH<%K7SQq@6^2;gz+5>( z&oAMo354Z*HU?&0-jzU+8J4HzC+2Th`cHi+BtWtITfh*hoUXu{zb_Y)8rAL(AppeS zM1}z}0xWY{*{6FlnoAFfE@N`(`qh_L&6y&7Th_r>-T`x2HUoCH$VN>;+1|`$equ3- zc);!a4I?~(xuq4c)EkQ$o6RiP^}oF7m-5FPbv9YrsGUBd^u;oaHj|#p=0tXdChsgC zj$33Yp|OsE)K-hN&JP5pn*qL&5tv88&|c(ygTi<2oBwDzcd*@F^mXl`y2L%5$a`>< zAQ*gxg6HrT2SX@Q;D^PhsCOUl*=5j!n?gtKQ%!rrA)gc3>H%smcHfME1BF7kmcmoK z_{$G9n?a@v6#k|fF1&uom;8UwR~_Dy!#%k>zLnZ|THc(U6iaZ#vZ`JbDv!9R<(9U@ z@&Un0)qKYdSX0FkJ>a)ms0x!kcW_eYGnml;<5haoi8zb9X{ONVx^8uWX_i{=T4Zz#5+qhy#6{_*|CC`3nwqqKCa)7Q zUn|c+J!BGBb;#WTT#t$#RL&0-wVX>IohR_7pF$EEr#eC7g~{9FEWp7CzU|SKPvJ;@ zLhww6a0+x^{0!l!Zrp|+SO?#qG)6oRp%JhumZT1fS%;P6;>G~c=mruVwnPy4L*|xc z2rX&=-oZ;$!EPiCHZ{XCG0T33{K)4{i~j=9haLmlRNMmK1e~iQ#m9L1k8{=jY+(Z1nUHeIE@Ot1MXn`hJZF-AfOIOo;n_1)l8 z{j+{nd41F4&BEq;vn?B9a*PgjI8h0gOpBw0yX+I^$9JR6tJHZP{JAXh@8n_sel?jy zB;)~1D2*-;#2~}gy~pD3F#SFd^o_lt(S=@U!EAUVc?mvpI|vv^mjit39Lr% zYod)*iH5=Yl8#C{+HaMDLx<)?kPb#tLH2#0%PB@wiH+@bzyvB{^+iz2G;8Y1B{;1u zx=UH0)1j&)-}yj{zF$kRGbUx{_CZjPm(~jutj?l+NL_r61DdOSr+B6mKcrJW&7s=H z6#BwEIwPJ|bc0$X1cTy~VXRH!*`n!ww(%SJ0L&-0`6hbsT#6X}BqJmAg9P~)b{08; zSuia~{K>$bO4bYohr@OXyoqDc>t+c3DN0&lM>d(poafWk4UGqZ(|(pEI}g>V=)u={c?c~+?#sT6uZA0 z!)4a1)eh<<3~~d$M+Kk0C9|v04A1F&+}hqHc3<;%XE0Mb8yJjbNa((&^)*e7%uIjS zV-5~XkpE^jbcoB~E$OWNm5K>SP)SC++7IMSe|$Dk-`PUX0U`=JUH1Wx+d!d2+A1+q z=b{zDkTCwPQa*H*MhczDe?8rY;~ed1qou=WUW49Yf#|rJ%Z#*vyYF-*ATAbJYux_Y z@fys1tm6AtadwY`Q6h;Bm7u=*{tR~HNd6pEFoF^#5@(-D3D4ywpfdVVt#S_-nW0B} zI-^argj_`x1l@Jfw01kKN$^aXXTUh~b|Qt@D5_NPIZtV@r%(+EypnBCz+e6LzE!;T z@#Cd$_-jMEq>XYGj&O%ZSwxq%tfO>`PlwN@GtER$57u%eJ|w+8q_5wnwB2(6*;Ja8 z6sGUAX*{GI0`?K*VMIw;lL!8ZN(bF#j-P0VmcMrf85^VxBfpOn26#?Au+L-CJqSWE z!D~F~@7V|r2|XjcG=s?kT(9UF&UXyukt(S0vEu$q?>QRYMd zEzV8?v+=^&kmss)%7bbrV6d5RuL`nX0&FkoT<4p3d8)NM6Vs9*xH9|C(ICG(MUBOp zqme;p4k7NfB?YseU7FG`5vgEiX3er?Sn)JsvrP+&Pv|(sNgmqe@JI>zk^tvzw?;$_ z{U*J=or7bs69+ZBKrILCU}hkvEr(Lac3^t9N1a%p9wsnxE~wo+7$7~6WxkPeRkd_{ z4jWQ}DrYSPj<+xWLlBxd9s4WXaKZi&i-Y|ScH{z@nNOTU6Ll)jBI6J-4}XrU=vsA^ z7%>HqBMee-IvL=w=ZZ0)M1TNl4a8BLf3_!gqe@22xqvIY>ArGKE^&5ctT~CXI6d^K ze6T|6eZxFqGn44iJ1hwPSu7VkBdU#2D^m9cBrFe0K^%8jvoYPvR1p-q^m+QibSvU3 z3Ly(ZE!r!Ab}mZd@%Du_DUfh;ipyGV(-ldY2(HMKO3$4q!lOw{vk9g8~zN`|AuXQVyAU`G_Sy}2@HSJ|svB|P$gD0=vS zQmg3;bX?vD;Cnmbf|jck9Ou&adMg?p0?F2ppz-kVctR{#QeFZihFdLq*XJ=;#rTS?!T zVzrFOp`VJZeNURBAaf5S&~HCgFHDu6c`6>I6;#Aw)4M1Q(x9QkB^0Zck)CMK=O5Y4 z6SA-60(=tTB(hlN3Rxz;w8gU%r&>GHpMz*CY0}A^w>ctiwC*5P-bIRPdGg+P`C}GN z8vOZ#zUH)4S;^TuG8WWs;;y6nWo(jl`qkT{Mh|=UVoKGEkG}<|_!)`Vb+Hl~G*wu~ zLGpqsE*Hi7?o%`4{g#R8H*MjJg>`mwhe|z-rtjjT@wn_aK+(1)QDC7Z^MVwfsX(*N zQGOT5PqIrFTAT!)sBlSOPRnt=7{E~3xW`dHVjDOCIzEYHOjpFNYXn%naru4jeSbP-dRC2jM-hr3#{d%9>y}9Vj@k_{c%`78eqKJ*u()9bBIQeX zj(gc){W0J%-*f8<;=8sKD(19JKY(JGQCTZNd=Nl|P>a-LBb*qg=*7tg9O<9Tx~ycs zPQ!eyKFyA}JCe<#c}bxq5fx`d+f*f>ClX2)*YJ=xJIDlz$Xj^pNR9V?}EwVRNNp@URpbYCHu>|r$g=AAQ5D0pa4}D-?~&Kf~NcN#sG zhMHtdv)Ta>qL!hefDeS8semTGjNRv?y{w(cN^PTWOTDS@Gl$~*Toa)b8Do`)$I6w_ zj*_ZhZ#GbYqA8$)4!;51xAS;_1r{_DeeYWQGGNQ1ak01(;N)Qs z-LDn)t{X!AOy$tMOw@s!d`Z4g~$ zh|rXA@=WJ;FG{7L^WT!ki71J`^d1xAIF?R9lZP=`S2H;o>jS5LMiP-kqO10N^ZkjN z&!5TTsj|;Asl3faU)~JHmBNY+9UES7(C#GbX&&F@S$+s7YPZE?_TpORe z1u>nRoqvK9?3dde25d7P44=_!t_5U^zUHdmvs5OVmHEa(I(}fpQzQp_GKk2 zgsh}PX0LRGuwTI*zMIuWk(kI!^9PsR##V4QA4zhOH}eT9)kGv3oo5vopUS+3vg{C= zA}H=ketwG1+Q)yjyTvS`6`otrreTxEehZ=Z23hP z(pybb5!k|>;bic&^6@@|Nnp2me9kivxUdW&mD#Aw?3&o*$`;_*z4#Rip@g7L1=`RD z96n`w=Rsm9($REQF7Ag<0|*(Dl`?@l2T2bZYS(;uJOBaMLv29g3*gsP(9T+vY3c+s zw2TwVoV=4xDILkp^UE)!T+Cadb%)2;CyUJiGpY2DHONxoF2*h1indvHe7-Z+Ph;a| z@?*;rix-dP-(-h@a7;X5Q=i%C_|EVMX zFPK&$jS+HhLDAim_GPBqEj;9`x}|p_W*tB@ca8oOURQ43j$#d~!gnKPIbF@Ug>KmP zw+ADgRH3hpM}DYEDfmJuO>c-?Kb&no&?*3_L3fdRwV9uG+MO1`bBF;`oj0jx>v`YM7UCAhF1 zWcED5q)iRTad~btyqpC%v}2f89!tH7N}kHXOz(B}!dXY&&(RR916JqTh)U0iuHM=s zsBOpQTR%$KPbUnzi^3Hv&5kC@sE^4QU6_U9I(EL#nn=f68eJ>m@)QYVi{keigj2>j z$Q;l8W`=-tm4k+rX~oX+6n8dZ_0)^lhlu$6Uf|43ZQ>S2I%LG*xK(Sq_r@tUx2opF zDIY$ruSk09UBt$JmJUM(6ez)Q;k7?a%@U#>#XqW;?Pe{CBe01zN`YJp73qqJ^t@yw z0cxo4n4sd!-{$hZWeH+cqoU5)@(Sun^U$JkZv7=6VT@OeTcb*QhYZqa{VO19ouhpx ztZ8;IJjuJWgU#B$<09v?LT6XjOpI-v7ct1ORoN6~OlRWB zkt!CNT2hry&zHHe^dTu?tr&>8Z2R4s_nxn4vhzHwSBElw`!VvgNn?GS8PnEfW;Q$R zw43Q_A(80flf~{3x~_n6>A}WfO`DhOxqA8wi`2BF2KV9t2v(0BWIdbti74I*>)*!v z>ZxkdUXG!_=uqI8>a@qEmcmh7*}J_K%{IMpVbxh}(NfEM40Bv zQ=5>Hca+}zF`~c%43nn2OjSi%L&|bp0_W2cOc&(ED(#Z)ZxLxKAPbY`(hp7|q*b$4 zSw;EFY?rzW$P8f_IP0y)!w#R$GZtZi~^E0@Ut`PXiL1V8>d^&&^g7^qgR^ zvt%xU`|pxXv(jQd&L&cMI`-_{vln_?Y}1uFu0nq*An?~>2h1nG zAYY)IRu{@3bE$PwGv-m`CWKZdm1jyPB%%bCIeAEc*xisFpOPl@tvGS^^kLkSlx{g& zhbWb_N0?&?II0t45u|r|Q!^-0)hTi@@-@~#EGJ@~l8>5Co^M$?16ugo;uU_%Qs`jq zLAMfq6Nmn+Zy&xD|Ds=CQCvp?)ZB(fCXiy6mEnMq*Sd%1fsDlzgRYdf=}uMvYCnU( zBgB+Rh~2rG(C@y=H^>J4frZigr+H3_(Sv5;1{ixls}2vM)^h^gs4JPd(3LnqQ3D`& zDt@G=Yev+_&m@h*2f4R@paKD878c(V0fbcStAq)Mtr7Zqj7H5!0fAqb7ghJrcm3i? zi>Lx0h1{Xl^L-2YSompB(3BorRS(RY_XTH7;LhD4_Xg@h&s&K5VF4|Gi2%kQZ6LqI zc?sp=68Y620NS|Bq3TO?@n9<9pG`xW)dNPN#`84dI4sgXM|}!N4PIMC8Nd3mb0!kv z?D}*M#qJ^ggopjNggK-5G**61*pddQ}SsiYtC^7Jy^BV&Evp)6vsuc@ka+^`U`l@ zlr%ht2bAjh^8xK9!GwJT{hlKn)#nn;FaebUKE?9+>+O{5w7C?t6Ryy zvu}QU`mH1?Z)~O=L(M-l2`6uwuD{IstkD>J(|8n=mGoYn*!T(Iqd~1oX_exW2}Y4* zw*`Y9MzWf_ARK9Zmb}qb6Iiwu@laoN7fh%&rqC4CY&9y<*Y}(pB`+RDWoL?%sCc~bBNxR} z*%p1i?$#_Xb!H-UsN$gLMT*NbWPEBTf33O@vVsX75*5!W zW+(tVuEyLnQNMv4FU!3 z#8BYG7wMd7P#dRa@!Gf`Ox^H}1wwy|1##uR(O0#j*Gaszv-^dR&{$Dd9HJe>&s-7H z#`B#iQ8ZTWhDXQfnj>r0R9v@#qom$7>Oa?-Aq4O^>_w`wES43D406$fdI)gx8KkX_ zv&v;ur%0S-njz$Py3B9HkE**t*J`WbomR{hvuNKV_${rQ&b;{eqLZRb-Ai1M+(YOc zvzDSGl497wM5EX9c|id+f`aCuS!FP0JAjFh03W~(OqA5Ui5CXu(jNSO)&5!W8%?U8 zuz01AQP{{`h+n|%8z-2+HcvSH#J&2KbFH(4vI`6&_8>i1D1(I<}Pi+Vov4}aZ7m&p-d_lxa zD%h1uzhXf1WDfr)@%hJRWif=-Z}$j#V@`8L-{!l@vF0`ECl8bAAhD~KF1f;O#F8#7 zuXqqV5uI6mDsbc>0LW(0!1f1xBQ&FA9*cJrOvp)?-yuS<<*}>lTiXCniNQ7_{KZGFFz^h1~-*6O9dsbQb1%4GiQh1ozL^i!}b9%e7MYx z+_RNG<|6V?y|%5l`Orljrevu|10(BJQcm&1R^ELG$uW~m-p(#W0Z<8)H!!*>+w0pG zy-VStCcXhy2xOg!;bOBse9e6V7fup8V*vJMgW}`+lpjsj(`X?AgYr(i)<$IILKZ-a zwYe<#q7S)_HvH<|`GYLOCA}-NL#PH(SZ?Y;juOH^e;~=BjLnKjsa-xANk#&oM^O24%J<8(T{ z^$}HV{yV$aADD#om#h&tH}&4$-MtEAX?ylFPj?r|_Cj;Rs=sk4Hm;(c8XjN{u*FsV z=39=rL)tVrZ~FCRiyrV<^f>C%-*!>e88d0y?-fm@vcKy{KcgICo;sWQFQC#>_s8P$ zegrbu8kcB!Jvi_g>GMrG;q1n=9yTMo{4czE`e(%d_0@1iu@Te1(;nss>EBC_Jcv`k z%N*)k&(U z^4mE-l|811H#2EwsAxdeq`ubx`dFJ%IZ)^yb68hHuF?l1=YRB|Xtv?Gkcgl3s>kVf ztk1^N7uXuJcbtBYNl?5WVRjG1GWL^m*Wxx8{7#*0LzZCia=GQ_7s)b0t~k~o!9cJU zxYfeK*2u=vt`(l015~?LCGJe>S#$+Uc1-^r67cxq6G^;kgP{4W2w+IO(Ncg74x>A9o1M++{qKAsGrXIzvZBZL!L+uk4Gme2y;tn&hrI8D%n#q# z@Pl$1IU&7&zSp;4zE6pvhWGsWn)yoqwqBU3N7RqWwz9_5D}rOPDE%~X5ARtLN!MJu%1sCf4HB~d#qDUj%=YR_M5FXpAMa&FBv#{|G}=7 zR7_%fZot1}(CJU@_)r1gQcpqZC;QA|UDv$x> zdtG_SYk;r&9N{XD>3%-#I(0!a_BH2ix!I@x|AG5s++Q9I`O0#MvM{XmQn-fauiw9J zmiR9kU%vQaezso4F*K=UJ4R5}ms1L3{l1-=hA{%Cj11m!xkfL&GoCUt;{7OCu=DWV z{>W_R(##+61e{Np`!!4)*Ep2ZGvj+tJn;O| zBa;RJ5C@-F9nA=wwEaf)s=S7LBWV2Yiq@l?F$kv#LH5SjxyWt){7bv+=Q7!g<{x+U zq>#kZ#5&<|Z&;5VU@~W7v)v-eUhC>bT4NT*tUL3ks(j)U=*MBu?0|J9FPisN?1U3o z6%(cU{`aUUv0eZ+eqoI7^k6~YKzY%`(mVW}{CKg(+$9HVQ+W>LR=;1(NR{6-OBXdd zx2oN<$e%?N&Cxpy_01o8Mp?v`lJ~Mqggw~khtV0=YW%XXf5XO}(2neRk5>?wiOZhi zH`jpt)Dq3&?Og$s%O;qmy?)~xOP7V3zx_RvO*$j2FVIgPG*0fth6VwD1v$IWmnG=o zf66<>GB$bkuc3z4*H-*q;O^jrzm0#7a}XCpPM4aCK9?8%YIFw)BiorBmQ??;##&gv zALAB!+vUe6$JMz$;&b(}4r+GAUA;JMklNF$n;lR0ITYN3WV-;z@LcZXv7@+6sasc+MbLI9%@XoW8YS<`lXoB>dk3Z(dn_d zT#XIPU4M1J?ex8yVR~O=viuC8QWfk(#z^00Q7P7)S)7av*!ycHjD6<&tttMKWAq4( z=MqffA$=b$VVS-swA?}0fv9B=1k!$)cX&zr_CkZ>Y!*9qTC+?scwQ{5wgmo#m?ARuzK8@2wfi8dA zOS~9xL%hP8IvPF4e|&_IbW`9R2jUVW4x$K*BvRm zm(!~6^xy0kw&txLiO?UFT_W@!A;{em42jF|3jJb)tZ32m)U#w0!vB94dS%wSDId&O zZvSJWG{ytj8e zc-sGL=V`CSJne@(z~6_-TNmaZ9GLy&y0Bl|-L%|aqmMoBQM7=W1Ctg5yKl3DTRiU< zs1{vyv%kia->ejpr`g@Q_1B8Qcy&1cuQbK%%+0{RFUEHLI@VLeklSyA80g(YM?89{ zt>)O3O@B5pQ`|Y*yNL%VzMQMXGhV#?C`|8At?hpffMg}THb!`QaBTf^wML&RKv(}j zxT&4~cuUmpzhLX*@^h(~+0XKeOO>%|&sAjA=Ka&VnHg3z*&nhO#^!&0hAT z%j`twu(Z{FfM(lvD%+x_q&x<3G+oZr!~F|WA%z>#(RZ(o z4X3`}aB2r56wB&P({)O4b@0hKk5<mcM zC|JQ&Q0T9RiZr+JPhTkpe0K|CKAXq6Tz}HtN5t`s0MhN!P2oK=CMSfoNPd+1_h`!- z`wg~-OW;sZ`SLp&OM!B8u@hwhbYE-)ZfQ6w`1!C4b^xBNQ*9nz%Yo%X!^y_uL2cI) z@YiY3)lcYLN>;YXWH+5e>n$e0xbwy|Yazr3=@}4Eb6j<~OZfXm{UD2lhj7iy&YQBF z>`X8Btj}fKDay%&$=S)fX(l8WwH3|dKo@6IvsGT7X(^i_I7VXz4W-LtliDE@Zjz$r zrI=3i^BLwwX+o&5d8u7o6T9#r5lNdR!_>3COtu1a2)03cStQ^*Q&1gT@BI` z0vvN}A_Tc|G4jb@c}!I%qariVW0DQ}IKm>AG$l7m=*f-fG=PXPo13WuFn2gEriT`~L3o?XtOyxH z-X;l=5O&F0=3LK~to4rfE-mTCIJoM)J_*dwQreYBc!s-zcwTpHZrrF&Cq1q$Pl?3= zf4Bqap+BYdN2rUj1h9#!YCj*ULlsHgt-+#H9To@A(aGLjh*u7GBEV&<%1)rzyz`Cq zJTD8WTm=C5FJA^!qJ2c2wAuT&(g)FIv zM8>Po(WRDTn}m;|8G6Ew^->pK@>O$@{*vfm%?^8Hwt3kGWl9_O~L+AScq%#!$UHDai;{;kGMZ6W{f;CN?QuGO4x`&KgYRvHQ~Ab07hV6w}%*B~P_p38;4h{U>O zUxJ{~Tlo^ve!bmF56pSCuG{w-T*7v$wH|iEj^J;vdjt;vf4qQ`Y5Tz{mFR(U5c+a5 zE%*NPcQg~6L$e{!D_aj%Mtghu-WQ_j*1nOCvGksuQbLc- z7_Cx=34F#Ym*@c7=>a~s`8_2Iamq5iU)X$-Z!R4#WB{8y`t(>PMSa`wp6n}hPs&4{ zKU}sV?oCE+k*Go6E$qyamA+tx3dd)y!WW+SoqG#{2ZlXrNrG$Pu*<;;r*AHS6!g%L zgPsppb-(ouwCJei1TIWyGPN5Zh=XW7NW!Kie)(Q|UV;P)oHicFgc@myz~hU!XF=)w z4~_(P{}%jrEa$?7G7qpA`}BO!sP~t?h1*CVASYTo8^Dmny>S9XF#JcP<^)Ix=0W1P z-ojkjPRj+Qk-;zvcp5Hx0YDz}O^b!H{v5B_X!* zlxSHzq+mi|dCQEla~>X`VfDWBDU8queVigAc0-ToHVOn1@3byF5FGDWFfXI? zq!JH+k+$OVEHsAi9=M9khOcav?k^wirqVp9>SI{Qfk284SX6CMAout{p0`8_UWg*C zFSs9Y@Fs6TEL{FVqW9oJ>V~i#1U>iL;FqH;Ps;@-nZ)=Bn-Cs@gWWg^E!wnX)ZY0m zmJqCJ8pgQn(C}aJor5MBc9ISETZPdYJ|W)u2gW!B7G~!C*3TL9(?{HEa0fx|&cA$Z z)HDCVvVl>MA?Q>!ko-w`!O^8gho}Ym#PNjljqyoiOH>mFr`Cwz-yX&L3OpZ9W2)}* zd^R$+{F*#ke8%ucMF~CCsk8yxq0l!Y^{9aZxgtX24Vt<8HO0V|wATj20d*I$G~nfz`72m(SiGzoqM2xR!(8x?rC4EQ`NqVph%fjp-#P-+CTz^G+?cTKAT8d5?TfFeCN|7 zQC(V#Z=*@B={RFuitSg2fRlv$G-&0{aW885JdwNWg@SldB^oqZDHct0Ic*^LUCh4# zn#U#}-kRjMMleoqJ-$Gg$jt6`+yGe+;hjBo^;+mHU|mw%5?P94)LUe< zG_OPv!?$%K|DMB>9x>wwQ(N<}rw!?00B&7Y4RNiwVUwL`rIsSnMXd*glcNS;>VMn-L|c}Y+TisST`#}rxzK(VNICpq#= z)?C_|pqJM#Y*7iMv%Kv};YqbM1=*jt8A?Qmavvo@DxyjAjy_c+G2O((=RlMT`s!DU zC9ejm^!tr;|9$NA=uM~4#c*4f5D5Sm6M{P$|7UK7Ql;&m?Zc>?qZm5jF z^*m^Von*@2D#LoO%iS@;@@&PFf(!(uCy92_#2wcK10QZz<`RE@T;l51R}!COd`k=4 z6ZqWF7I@Dl(FSbbyxO`KfGDqO4>IPYU~zFY2frI-13c*O>;QlT5Dn21d_m$ZH~5bj`vG5Q3uqD7c44fO0kP5Z;&ayU2QB zowm~*(LqE;+sv7u9q2NlQ4z6VQ#XM8T?*cn@-wjGWsD` znpMpgL*^E9xGxhQ9ruAJX`rX@aEA==JloF}R|DPhK)snEH-{QH{~IUZ@N+^`El%)p z%OHH_AreDh_}yg?-uQ|J!FT8U0%MI#xkh9{`)sOu(X>}xxoH@0%RH*{S+s% z4)XFI_Z0p4{v}w64Pj+H7&OK|GY$;`WoTYJ*pidOmtb&3&UaS9#xY?0Tz)|L_=^7z zqSXI#Vf5(N_)9-@0cYSn`_-nDc)OGoo5=NIR+#XGi`51sLy9Bh0Jh2{U}N6!;s(f? z;Mer>XFQHwp3mUUz~c&nP49Y^unlqbb|assD2jxa6d*TccxoP#jt0Valb(TRxMUZ2 zpF6aHmfD#7Gs}KZuB~))_z%T0PXg^^GD*5Llk#J(mHppH;&?)qk{#((e~^xFy;ZAR z{(yDt*?Iq$<017DglT_1hT&5ePm)#rtRcOwtJLnw;nnq1XJ2%VAKo=xDaj#Ip(t#p>@^`@VVLeg8md@M-rEQ(IOmbANR*=8Hy zSHmYmPQoyhcd>^?-;{V?xtC3Bb|UA9=i4v5PD$P3lVoMW+0OQ+@e*T>5q&qOlaz0! z>oBk+$Fqz?54&Rc^NM25>K2yaD6s0hens)EZ-Y@#6z0viK_~g1@-IYP|Fk%Y7tX#k z!jpQRUwk=bUhB`*N7nBo>jhXFgVy1#|JL{z?iG+}qBWHXq$^q_dL~oq?|Zc>NkjNt zz~1D4iF*Fa53@6=zSpb@+E%^?)I=DN{?i$Fmr&G&2@icr{58`*V8m^PYF6z;1Eadl zj|?=s(g1YGj-P4o$BvQl6Jlwwa+8_lTLkZ7lvyo=1~+o-kbLUMebFers3h#M=h2nV zAzijIdt=@O6?t0)mrN0*s}9JVUnHjIb<>p&rR33EosBft#&DYHb#x@l_o|NSk2$_4 z_1~kHX5@nB^;#~iq*6#n^jBWgr~@mO8Dnfqf!w{-StV1&R5@&wHTv$}hU(jry0WC2 zE?8HW=Oqd&m^(q~JGt=HA?;>C*{76Le06ftVXpbuW<{WGeLtsep-j@j&k9iQEmkqp z`|O`i6;IV(S0gCx$I@y7$-|zo_I(ept2S+jCVAJ*E$Q2dOT;%sMLqp{iU)DvT+3UwblN~|+ zWZQG`21dVz!{?4UoxYhH{utQy-FDHAGW3^;urFNJ^=Ailwltbj;lmsqF{Oa#C`UnD z^8dn+%6m+e`Nbsp!(N|PnQ6HmvKA6~R&e&B6Ei>-OO+X)o{qbe739Q{eW$z*E2Pmekm+tJ!=rb?H8>HQEfUs17l7Q^=Rzh1L*H`<6}#~CliB(krQCm!w6Fa(+XpO_WNI^jkkZ(l1kLk^{;zj` z{|u8*H-_8}=B@N~uT>?S-QPiPQ!(84+w8#{E%g67%h10IRz`c?>tvt!NWSv#fk9|4 zZglaz|NYDJ6~k<=AdIx)q&LYI8HTRcQ2;|8bi6qj3rT&#`;Qx8tU#H$6D|^#@n3NZ_6UwzE#q|Bi9V z@Vy=}NnE?(2TMudZ20)dd;-KJtfseqN5x-yzk4ppYH;0i{B=fH-ZC;$JFNZPV_Lss zuA%%FV3xT^nW5|7s%|J>o*I#Vn5X5K35#xT6q>@!kdwF5xE_x(r_1|B&gv%LAV`>V|In4E9 z{e*Wg<@xq5KD{zaU^VMZduql2LO{L09c{ed9ucEE@#J$f7HkLeuGCdrfWOM zX+U;k>aXK5&6i^T*N>%3pr^B_`NC?8yLzW%y0ufj|3_@Alz7MPzOVPizCRz&D0#KV z)ObhQ;H5ju@D$qYg+hmaYyA#S)dLH*uRA=)W}SHm{ko>Em-7?9RFIl|ZKUlLLFVsd zgfgb|JDT77rh1&n6@xQ9)~|2H~)j4qggaFg@oe{5;7^4IwV(kdZZn2+lAz`FRHUD1>Eqt7^!yTOdwzf8yifw?WqqWGc^LpvJtUuVHJ*ns5 zgJcZ}zYk9!|K7)I68FnN$jjGJB2am!=FR`GVHP{BLgYy;ZNFo_xi6~E{K*Dj-q#~+ zA^jb;S8kklEHHNLg$Jk>e@NfPCGlgWb)&wTyZy9{^;nIDSIK%;kL{9eOf>ddEAopO zGdt(VV)Gyj?L6RYsJ(K#-b(eGroQi;Vd;Bm89tv_oX*YrSAWG|eCZvj>9f}iu)V`M zlSrq@zOY1nG+f&O{vMk4G@ef%OjOya7gq6-UyIp%pro|R%~bA#<#X(>O(xKPHJ?1lO`K;qOK*Hm5+THu5;fSKgF={nb)ZBB|(tS&#y5rHDva5 z5hHU^-$%HyFVv+&3(s$2ZC|~|yHNM{stv2`NCrsnRo&dnwWYD+)j|1ey*gd{xKcM< z!54%7=T1$2?2ED7?*?Z8U5~tCgqDJ6FFQ7~{9QkJ5^efYC42m5OZmy2KAxhn8k%D1 zzkd@=M|p#8F6wU%PvG??kNAv+T*qpn>KB_#dkbTACw&IdC9P=vQ$X}QIv@B>R_mcn zwwbE9`Nm)JQy8azzJ@u>W{bXB=5bm#VHr51{;CcL4v)B6-8SA&AI=b(4KcrSNcCy+ zqgfc&qkr`NH-W5Gnm{`}Gez+M{FAI?{pH0|Q?ieEGxGa=9NVU5%3p`eWl{d2eQK8D zm@LAtIUm9l?WepmTq5{XF$3#wQW@cV!KnlAH*>_cz0eT&F7|WDERb|Eo#($1)=76j=N4m)_#F{hCW2 zymX=GLc&=A$ocu46;1Jfjv%XAA^DyD&z=#*cO10U8rtxyF;CfDe}kRJrzb~0AO3HR z|8g#Bdi2ZN*8=ki^V=>vHT*UItTZPteK4GM9My39tv$->Llo| z@Yb|i1FhGo3FCSJ0n9$o6i~qk%n!H}W*bCe9 z)zn`;kX24usegt5hKe%<^VS4a!SFxkD$0Cjb#bk*^k+~->Sy33iyNE5ekJd_)A1SV zuR~6*0_r<{b@!dmdaoDu8V7S!;vS2e`hJ^Nfzt75;Nj_~kQm(a%$z z^l(vo`%=UH@bS`L_SILvoOX94O|Q8+{;xkrNL|EijknVOU2+H{ucG}8``~o0W0h2{ z{ipwuVA)F<;!z<7Edq`ZE4^k-EJopO`L8U=J0e8;K?1#;B56d&^O z#qY^K<2-v*%Tuj2xw4{*drW@<2p}i)JhFB})LUMY!EjO!+n#4^AG8#1G6&Xw4xB@@ z7bPNb10X+FQ$-*dbhtv98I2;(YQr#__R5njo(i~!pcjOp1Mt|gM|1Z!o`i8}2I<~2 zqw+_{Owvq)(KQnWwCPr!&z=KZPwWJcEk#jSvYq(__$wex`Wn`!M}kQmC(k)6nYv+$ zWzfB_<+P6FJlx2^&WyA?Uso4gsxmpCqS6QR#3J}4>2I0MWY}#j4j$Nsf+P+4l}>NV z4?og!i6=tUN%N{GEPt!&KH)Ig(E65gBlq?0rrWfZc$#W2`8dZ$+~ zmfc-AA~Q7^tSP3Z{I^p2ysmK8g(i#g_yI>?TY%VzX#OE;xxP}J?V{EkH>9Tg21v@w?+b+h;1QhN_XhLRp6 z`GN9<385d}qV7(S`Yn0G`b%+Y&+kbb<|W@dtiI%?{+0YGglfd1nM&#*?BUGXvRB>nt6104aOBv_Z=A+z3 z6-cBrk-Vz9qd3$-s5{K72pXFa=RfXL>))d;6)wC~O3H&W$V+!TF)?^sH4EG4eLj_d zD9WVsJqwG89+x}fhRL@`G_C~o}e#n%AL!KjO==yhx7A!^Ldj= z`IOS+4KoUzLNU|U%S5aix|5%dX-{ zARR;$=*buL=e)JbLRH#uQgP(F1E)j(Dolt~Tix-9pFOD|(rxZp`Aqoe2E>zoR^0Sc>TNj?T&~6wRaNm}bgOoUkl0f_`ajRTqX0ryS>Qql}p|+;i+k-F@R|9L0 zqgz~CgIjJ}I$DWM6uPBci75)x$;WVD8B& zg~uUcw?0Jq*uxA&)*1?w;}A6`m?%D%lqp4*TA@Ypui77W$Sq>TwO3ihr;<&?#2GPI zxs=BlHAG#Jqfo^%GHrV3!WOqKt1Dl@qcmG|rl~D1PWmQ`FD$PKx~K%R*a|Q#>yZcb!R_IaYr;%@hAIdQK8lZN9L+TH{HA%`Cj z$9)vTgAQ36-gxN9K#vE=qTWw+l}MM7Atf=V6AT1^vF=r-+#x}(sL%GfZG1H-Lb8sOE*9oB2RV{O2HU1rC5=^`Re&O|nV4p21Ug7zoC{Gc5t1C{{tx{;6}W?FqY!S|F?stx(nBcZ_J(s%*4Wrgj{;d$5<3}*fCPE{ zuGN+^x+c@H6zn|Inv#+vV3h5uWcykiMe#qFB{2qBv>r8zMcZssSnfhD?m#On!2mN$ z34>~Fqt$MTyHCvMNBoF;OCjTm1y@w^E6G0{X%kHcBmazHx5| zCKn?ZzDwT`h8ENq7fUc((OYL5UUplz$rNoLw$EblS=h~(k>n9G@M3uhx-lS)`)0iJbtsJs zXg(97bJ9|!He4rQju$X#V0>+PfLr8ae`(=^bUVf?5xXUVnJ8QxR6mwcbdNir=Tvya zOu$W`X%t>yrxzuWNnj;qCrfWPuh>T9s^!hMcri}@EJy}c*V1(2P*i8Ci|?vYN|Dmp zrec}in?YXUVX>prbjlHHyYu)Bcwj`W92+1`MG2&NSDYskg5^ZSxb78BI zjiPxUO}f%!Y?8%ntx2zJWtHl}lrPcF47YLK<3U+~qXV}kNyN~JT4!z$^7XPDe5(r& zdNP*fzj4QtRP(uBpmQveu$2H%cr)4UN%-J26wxx6pK0^xR_ugi+KBSITU3^YtO1>K zXfx)ffdC)np-kes#C!u8c^Lqo<=i78B$0J1YSq>GPRfFG=f796&fKN`reRhg92LK50AtV1i*}<_S;)t`Hl+MA%g+{xu;Lu z`$F=pM8}$kNS2^N*}kkoUsZHnD2lo>QwI*-V_D=tjTnsShWP(4a+0x{ic)K#md%&!PJ;Hs8f!V54-Uc`i8e2DF2>dT|7yn)&ev z9QZ9aliya2WJ=|7xw-TYLSSRqisO_diV96`nw&%rwB?bDNbuO4wt$8fV0(d6i$Lm; z@$MfejZLyneU($byBJ$9WJw_TfK_aE{eU!F%1-H_O9Rqym*Qft%?rF5(>ph>O9gK{qNfE8g<2ZC{zD!HN>R# z)Rlh&omZREc?c2^x9U4LUf2 zR8yKZ%lm@HM9_)>E&|l;1QOuFU z-McC(ZS(vt#bc~teC)SppP%m-9|5uc`?*x0x~n5gy?466iRbClzpv?2OTBk2W+=jT znnYLonV7q$G^;gN%7?HV=|{MICiSqAlj5F`P5lh(lb5uLe5N7 z1`>9yQNm#s>uxqnQxjbzQB@`|83S9$5j!+6AT;&vz=2{Bh;20$PaxA24UC5B zeC>-wXNm@-7rfGH$1vbO$@1SlI9IsFE@UqUU!H#zRQ%r6d+X)WQg@%u5{GkvqN zohFCcJqYQwMg3*1xR;CQm4FIXL2xEQafQM0>d@{z&@mj>C3Sm7@*uIa8_an;Je8dq z=jL)X)8?4U8*)aP4-n23GHc-8I3+1^?sz&(wmBzHHl4rkF>JuFn++?u-~nDm(4eZ` z&Yfj=*1X3iZH>17yS-Jpjm2>67Q1td64WhJ`DsR5A?!#eH$}~(&=c7im$4rC&<4dq zeH2yJ8;>>09Q6JN$fme>4?xZ_MTm@MOt8Cw?BHu+qMBS`SEpi$q7Gg&2;Y z-IR03#TRIzE5YUKzggSbm&XmMMJ#9wFb9J#fu|AFw8`?f(;`MKD2sx#W;fHa(-NLacKh&S0K zFwYDZWm_F3D5c08>R$v6t>qV7P#Yuc;W9;4_pM9;u>vPpVW{0nCHFr!bn|0xKw>r4C+!Zu5mQ#5*;OPQV#wk9m%n0na~ogB?MNT zrMZ%_qgDb-1AX9G*6V3-D!Wnqr@m*jKIW|Il?WGmkJ{jNqS^=D`*>pqG1bGmvt4DB zpl4M?6rhZesC5F^l}%6fHIN>@*PsLZ-1pep%N7N$wc7@8J2%RfPS zS`RY^1A_@>02ds;o19$Vt(MAzL9Hkrl!e5jXFW41#_-Bpl4`cxZiRT`bd!#9nx4ze>k*GT7EdMa83V4I)GtR7E@iK4DR=AE zPu&r5yaq6cEcc^#!_t})Q?>mcMf`l8n1G{xCVv5p-@?$ zkG4G2$Z~hCH%lS=ii2QE>s%=vTo z@jJ_qFRemFu;Q9DMI}oK>6aaNTe&196RgonH7Xy4?2xpnF}!57di!<)YyI6iwEu^f z1XK{l{5t)}yV2ny>IrP7L-!pz4`8JfSA2hok_T!WP7f;AvQ8|(?mXAUSSQy2S5#*D zj5MCYT=|RK;$ajG?xDSBQGGBGXmbaRdpHB;j1KFY1bW6e*Rr5ULfjXa6@b@VKf<%% zcNJqLUHLV_gkTa7Oz+{gvqr4=Ryl*Mm@!-BX)AFh6=Q5((5o)@SyHjh`UW%o_>Cl1 zc0w%#pfux~JDST1N?v9T?T4gUUcnoOl|xUE6WG_|-R4NWvLdPxLp8LqJFR7KizdxL zr>4qMby_zw6qe*|(b(F-*H~;5)s9&de|Pb<-vAN0ytM`4p<{sMJ_6t zcb0Y$y}z6p8}k4GY!Gq%m5F5g9q+=804TagUUMMh8V=~=D+!#WD{d_I07iR$j~ll1 zpRR~$t&<3qHfnevBM@<&Je2rQmxgK;Jp{@V@pel(fi|&Q_iQ|`d239>(jGt)Yh5ud zcNB*!FLHIlHTEEfL1bB8G(67@vB#*gEIQhXvxhZkx*sZ5!RjpyGe)VhUxpTM!$&nW zkV9o!L`!Q9CSBj>vPnp#-mw9&)-qUIhItS9_p4)O0!bi8Z7kh%GF8SbXA-(_*zVsT zKEvWzOXV{9sb$d;&(0C3A}P^%gY32Pw9HMzR~f{=WZ#M*FKb&h#ymg%j(q~wO|hZ# z-Vvvx`;{%(uF=)OUp!oNm%YE(Zc^*dBXK&>B%l$tYeUXe+Xn3ND;z2J%bi0u0H9T% zQ--pZ!@ylzpv`2TiWOS|X7r3E0I1s5?7IZG?}V9MV@3;oOg1j2va zqS@~GTHELJA`ftTq$H`07kY=7)IRgW*X$40&2MsfivoEbhu2PnQp}gXujMYdgD&I` zuX~KjbA5LENUG(-qvZq?Rh#gdp8&n-MU`9baHWWW5$pPm2Hx!Ku8RU zx(nS+tn;W)6mrqVQqryC8~|KYi?7~gGyv-PiwnV1Z^e9vf$(g7@Gpn~ zQr!@oU$MrkM6oQvMaC@J9?Whm=({T z8>F5<@Acgy)6i*xdp}MKR75!p={xx}@5@*;;HxlRgGXb@@|)!V(aU+|3QCg26!8=p zuaTN5h{xUh3$@1cKCfu4X&m{goviI&wAcNyj+oh8wI&^1&5rhu(s``8LuR2OOw%$Q zJpBW};qCs@nH%2uW=tHCWbs8RAKGudQc>0EZ7SpQPR(WKtC7z;?lh~jmL-9Kr(;ia zDKj_Z_+G(+IMf5I|OvJ$eNViUjsyBIU+3-vZh9DPKlkQ`~Ds#G4! z#Ea$`UszMiYzXPIi6mMn5*9i7k!LeDe96%t+gR0mw)cgzlSvz^!dv*4-U}=!7m0iX z8IXu*W&^OVHazd^0d;&5vInq{%=wM_OXl2z>+;v}a4}7|q-gVpcRoJ$y~$O2Bc1nY zhL?YIxfZ6|=v>|ZWT5|ydiIAntx=^cxvaXd?`Kq4oo$%0Fd&$+HbiYAFwD1^5?bEY zu~>7S%f2K26q!h$>j3480XZE~?$_b_TAo;gzYPxd7P<%Yq;7KaqRXheH3t%#xAe0X z|1!qMjvgK~aQqfRexk@`d*OQ@kdQn94yycqhgb!fBouR9sFOXa{8x{^Bbhjp&nI67 zWam{kIJQJ4CIjO{Q4J|{#~^xK(zf-RMXyB`fz}R=M}V2%AL)+LzI%1Iyy_TD41&pg zr4gKLJ`}eo+1E&`{zvD5LB1EOTfb|lS)#6nYyNSEAHl+2PEYK1Q~h!LTuR2sppFaY zeG{g)cy|i{%Dgx4;V9>NCgnq}))>eZXxImN9vLY!#qj~Q(*DGLQq3rZW$N|hjTCSW zBXM_9%b=25k+Qe)EL!I6g*!2ht)($3DQ4@%3xnY=WSM`I2QEt~1V+v$ZoXCA#N>4g z1xL|!SS{u4gxxY;_GJ5%HfXUe#y}x*-N~B%+^37TIei9MJeUH{k6-z>l>j4WQNAst zK?X^zx?83?+~xQll0zX|R}}cjsoztWt3%xA7KBeog>fJPJhBcpx1e0N+y*58m(hjP z%lU4{3kGY1_9*hBBy~qVUH<=GsbAN6mX>*9O3qnyK2iEc)tI4hlhkMC-LnOBb9{Fb zuo<#IayIoiF0Qj|UV8~rl2*5Pm5K;BPGbbm-Q=cQ3FXv2)AqG80u)!LNu(~YiMV|B*gVohVwwsgzbmd5$Y6(w$5{ zzEc2uY;KX}p0nvUP%pe)E}aSN#wqrR>m00)$Olqu5ktF9XVLRF`=clKdBIB^zn zxWN{|`b{#t}SpX++= z{I{`n4H(7#`%&UI>cFq5P!FT#*d+SE=4<0)s60CE?B2vpcYCgHwTKkFozArG<#rss zggkLBQ6?o%CWC|7qU&H>Uua_DJK#+qzHeI|dbgd|d3y0N8XR+i%M;-ToO}=@l`klV za{LKhO3Sseah?J7Zcx?K(sc{y-Wji)tF|y_%8>Nyc3atP!wBK4&6pSMvd-hm+lg{z0sl zwjxe3!`GMM>lkUDrVrurd#;-Yhp~^eVzofxjws>^XDd%1az@4`X9s1vj7S1N_V0A+ zIyCO)d-sY1eKSLey-`*swzH>IYk;0npBSD!X2pbrK|=9WI$O+w78zvphI(g+ip0k) zOL}Ov4s#!gmS&Mjg>DK&S7w|8tQI$p#_k4uQuuZq-J~6{jW+)*s8E{-&bsmjUDOFp z+NTn4&qr#Mph}A)4R%z8wLR7$dGc=n5e zj5*qGSnN%<( zNsUOgE9Pk%34%!IEMS5s1kr>~bF@_vuF@Dbcc}Nff*CnV`l}h+7F!vbc-FgF`B%Da zGI>jn(o>uD9+pH+Jm?wdBB!Kvw9-uJJV`}gaU8~jRl`Y2p-2@3fk4t?tk>eoHlu17 z6?(9c_@bcfPW1B}E4;hh=K6d;cm<{Tkteiz(t`r`RDoJ0V;NtMsIwuIAf7)mmfBlX zZTdHZ2xN4T6zZ^qx$%4P_1Wkm=jBR^ zc_5A3QpYSDV6xlFR9Ku@)yT0U$If&p{EZxu$TT#arKT!1TjgXc3qZvZRdL@kal6a$ zes#}>7Xne%SXEpE9fG64z_5;Vgs$#5BlC)jtV5o}5D@R~z&k$#fCz@F0=WuiP|@#+ z=}J2gA`Ac>b0tSWKJ??vwAlGBbRH$j`s>xS(pn#Da%Wz)hhDaMp<-8;Qqr8vI+G^% zn8>d8=_5I#ob73c_sT~S*K|`dZYY|bJLy$6y_-`edPu%zLtIdIU#!{MWESRn8jmR) zgdDiT+~wqsutW!lKTk`cD=!sFDs3v(6?r>5?lx@iihhPVx-{^kPUZPWCs^0b9G9^M zdFNrui^AT)v*g=?E8^;w@a}|-FJZQyY8_$i*OL7O1PauPn$02sxgMGz{d+iI%K|xa zmab@{WYRX7$jj(It|U-mgiKs$?3uw0HKb&JBN=F_!9muXWNW+PfTU8jbQEVotE*Bp_2sXmUFVT?NZKo0BEy?6c92eyE@ljq zSB*(Ecf#9ba;=;wkgQh5+Y*jdkA9wqCEuJR+hZGJ56{JJ^VIvE)jI(_&l(_sH)$^~ zle1JWvX1f9*6}Ovr3Vn$xIuy|^6hP%XjGb8dH)I&3W?oaj4~TOpqpdxURLx>mW)qC zwZNl|wCABILl$AKr^E7j=1Ksmyz%RywtVyqLfL3TVxtXhWE()Oe+l` zUB*0pW+p+xPDA(TjoKKAtvK3vA`|tNeO z8(x+(lb~yCVYxXrvRfI@foNCWX<^Y5M|=`bbhtok&d9CW&!RYmUfjxc4;HM(7@Oml z1Rg*^SBqu1LI-qZ4|{A!q(N{Pkw5IFq%xnmLB|dw69qG+7hitg#Ms<#kgOa&=X`{x z1OhI&jlP5iO|0Kyo==wcpoB3MA~BMUN6s5jH6u+90eGfJ$szG(xUadsP8bV4h$*i% zMbh6hpI>B^dS%!axOr(c8T=|(y-oW632PlMWV>@>*3CJ+v1mtFJ3;nB{H>U>9R^l8 zd2#)v-{Wx!>j+%a->0AX__?Jj#$o>VmUC;v9!aV<>68R&@n`c|4g z>#sBLz`!N}XN;RrA{h$tQMVHRN_z?|mW*rXlryTHTyWmbRS~Ogx~&v|y59(sRCySY z6;_UCCXb7g0yw07uQq$Q8(z?_bNQQ4!<85jbclzj+MVv!w)S>aZi=Nr+*X}@Oq=wx zZZ9mBp?@)h!)8k$jSW+oZ>5nm)f}!YpmrhdxOV@gIH01)BqxpdK#O>zy>P-=%G;BY z27`m2$v_A@le4w<^A@C9qy^>)SJKip+GK2ZC)8@Uwh6F0yZr;*{i(%!7>@GNE|*Ik zd)Vp)X)+njyU8oM@1?mP@UxqBwQR(9(E(bzPtqCnHYO|DVf1m8rr(tD zGwGvII>mZHmvYoV5UqD0H7-&oKxjqM5pz-8h?#x3<_7oNQiE*xHd2nX#q-_9GMp2j zM>j_G`n;5BrU`OA`GT8i;&2*?YdZsSzeBWwAJor8$Om57mEdvntK4`HpeAYzD(!rM zN`~x=@PDRZ^?wL>W7-sKl=u}`jG}zQ16TEs=ZcE%s{CO zpjNh(37lm{sehpXE;mitFOdR3;lN5ql}Utw2R=*pZciu;jQa%?bLS}qyKzNt+R7qG zwP!!IJNF!{EuixePw5wDa@F?oH zoj{C)o+61pcO^(SSk;fATp`1iDrVeiR-_z*vVsK6xIJz! z0iKVsClf2s(kcF*-Jq*FT=E!jDRa@dAh~MSKVydbM@YOs#B{agUhQp~AwIHG>qZYZ zG|wRSh0Ha%Z;z`0EMR77_=W%-Xx@K7tCDLTeti_mKMf7GL@}&i`@M4vi;sMDlfzwr z$ao!@5K5tV+I_&O+Yb-_MtJT+03J|?9q6;&u=j*#9VfYtphBYkV@jEe< z4EK@?p>XbxVYj`9k2otc0a0f$9T7j_ipn#0;YYpM$$sD~O7z~macSZs?ry6Y5PG8i z7&DkG5>jNc2cy#R0iY%$vvi*I?{#nk@z?)et}$03BaF#ZwG{7ixJ)y)MwgfL0Sv^{ zx&syut{HCYs)697+CVE>d!w4mb&N;j^-ymKMkVbVA2etjXJE`QzW@~`t2m@8pc)v8 zrnVWz?y7#B58!3{k^eA=w2V!VmlyPgTqGG&-Pno?aR!6xW+elwQd*tEDgZS=_Dr11 z$U;>1TQ;v-_G|A`gL6oQ zI@+!`-?*q(ny1 ztMmRX8q4k^F!r2#>Qa_->uuGUNuZHt)T;Zp2e|j-t2j^(a0#yYY%~nZCA&#AqvYqg z^8fBBMCO7)V4ho?zulHDKxjKW?n8a5%*by)~s}59F{KlS* zxVL(vFtQ@z4=>sICYH512AYy=Zkx@jYI?M$k*?G;Z;CA1?9MIfcH{m%b0_1gGU`bP zc+J)cuMiqdM5VQQ!B9`T)#H3mrl-q`CR17aoJI*BwBFkO^DQw@~SE@MI=Y`ZTMea-yQfV!a z3p{SK%`D=6)fUZVcS+Um@*!mURlIz;?VQ=eVF|Tt78{q!He=ORLPoz~>1=S>`MMNr&Zc(#4Aj=E zfl>WRNgM5QBXCb2Fwj4BKh%!xDtfGCb9%jZ)r8%*H|Gk-JV4(TB zFX7Fxx~Y#TIrQrLmYgwGN{@VRNuI-<=xE;{BlL7HaYTIiVGSDi0Oot?Xx9pdGTFLu zHtUI^(k*2yD+x{4)j$ZLJ6a@kPo8{hloq`&y{$Lk(q_k)^|Uo@4GDYJ!`9b)CIfaI zOP99RSzN+;uN&B`RzlNhhqG9yC_dmJf#%uai4>6L7>%3Omu}{(c$_QVUM?GO(>zc! z==1X0NRjRd=_uv`ixnFqcXVL5XP;ba1G&lM%;XKObKbI_CtSg zBk7E9>fFjJ(H+?v%!>^^3aRFh^&I>>a5wUyxARAxq5xr83vDe4_i zSUky1Mx1kocnqRMoX=yJ&~a0_5t}@Q9#qILW>%Gi;C8RsUWw|HS6#M3I~`~Hx^9_gL*rarbf*~W)!hS)KxT$_gN=MVfdm)G zj3E8Jc4rD&lCYFAUw7iC#ws_Q)O|=}{)IlC^~%Yo@X&fI9)Bir{elzPgbP!|q&T85 zJ#oGnw3FPaYlgPBVZ2!9^lV;2#WHQKpj&V)oTuzXx-%t1tWWk|6_A>q*qrj{rLAUY zW3ZAs8Te5LD9vYS#^w;M;$#x)BwSCPptmA|rq3MWoU^rtM2RbHAKW0dx7NUSo4MHycPed?J%SpM1Y6P>N-!5^>JU z58$B>^cZ56A6B2Op>9t$$k%234dP54bCtCsJ-#E_lwV&;?h}^djizFgp#Wd5c|n*g zxy2_MChg|DTmjA`KU++#N(QrxCKyqs9N1w_LiLb%zt!B;#SxY`Zsxg-6PDw9A0EU;WwPsxg`q}K>ZDpIZ$n{wd^kw{lh+pl%1;@sQmQCF4zne`4w#4&t6c`*SihWqYj=D*mh*{>c@uX0V zLTWDdWM%MMOFv_rVYZRj$q;#zSk4HG{~%jtPrp$^^8`};g55ntY`a71Bv3= zh23!&o^*SQEUW54gVI~U>Zi?~X(cCMz4F@$GTIFe{Pwa!1{_P9C$fh)XJ=+YD6`qd z$hct8FOfKkO=P#T%zILb@$oL``ISs*i@;jj*3JGl}(YmAO1*IUI+#c3u}VY#Tj*TFi) z2QwRL-05a^>E>N?(u#{5ux;qL86C)97IQ&AIq!*Sf##nus3@mrF(R&(bR9`-jMB|x zMCxjyi54^scZp_abxNQ+smkH4d>~S|MF}dIM9OGGAh$YzBF4q6jdQs*QtrBa^mV|> zvXEs3p5Ns39@=QS5rj)jfqtYG=hIf$)uKxp!X8Gp*a%PEc7yiIk7<GP}@t>=@yIyGv43y`>E_3xFWKCe^apb zhMZjXZ8XQAr{LJ3o^8}c0_7-hU}h?DaB6m)=I&FSS~HjGk{Pq;D^B$6_ygNTs-NuQ z8KA~uG%Z*-?~9xc#mltu65X(0S!|~6+GDIg77jJ6}+ zfZW_5_nn7*UD?0bZZcx*R!AP+NQZ5IKo`fHp;sB%ynELBQYE0DpqG4dSm{M#4s&sf z1=S7qf5%&hcpv4=qPAd-+}1#&o{R;7rX;)VN_GoJ&{5^PEt4z>&wIO9K9MhChdtrs z$WO{h=RCfe^b%lO`YU}V*3KrtgNGy0O?Zspls(mn-qU_}tYG7JDz?vLuT2^m;ElN3 zMl~dZ9OgVhHX{G#RYh*^M9e(5fI|>1a91+uNCSR3f9ax~3k)Y-;f zpoX}X(!^;&+Q%HZJO{!v4&|f`Kcz{&vY@wgsn^@V6uVQ+Yj?JkgC1pPuB)RA0D+U_ z?FZU#jXjTmU2bs8A+)*iwrIw&hHz=Q(RDr`dw}b+jW~*A&-7kMP$nB*`pr3FhA%$1 zb#Lkn;q&u`*aK@DN$P|g^^nuvB923IJoI}))p8= zm8l(VQWVp|jghi~ z{)r$}D!ZLKR8dY8y4yjklqz&^Q!}gtV>2>mH2?qr0N;Oozpv}TwX(*>#<{!Cb-DZ6 z+Iva&L1#T@qxQA-V*|Kt?|VdnQmyxovzE2?IUK}T`}+(4Sy}tm7=)zAT6z&U$OE*b zg%yMDjG*NTcb~}YG!ui(2PCJu2z^eg%NIf}2>?U@07d|)Xo>*48}`1qWUUrZ2!#*= zVl0@U9z+3%B;pUFJU`n1c%}T4rb5c*QBf~v0OlcIhHW|#yS$1^C)!)(9YDg<_QN4o zfm+U!`0e~HJN6|`h+Ud%p06Z2C`?q{J*t9y{}puBlAGt$FO{MjsUu}L=km?_v|0TY z6{|@<#Ew|%95p>`-Yvs8VPXd+Ll#zS1Xz43MvbZOj@@BY}rCwYuiDSn|jDl8b z*bnho$=Kcmb3s$l1Qb$@&|R3C9!AU~`?a8WO2Le~Ia`$Nx%c*rg_Kqh-_oVXYaljn zEo~QT8mQ*GaOC@XWLgSe#3 zlV8jBOn>Vt7!fHm_Rxv-ZWuTlM3zaa|Y6K&3rq4th7yL0yG70@ruXL*M{>`UWLf)C;FWdCZak@Nk`;(R>j*nm^i?>IUz6 z@AYgY{*BA%XdX&+(YiO^e8&t2mFSM0?-4NOYzkv#CP(fAWQ-;&;i3yB(_`{6rwyal zF2(Fm_4TOZxo$=THYGO_O*&qz%Dr7#T1D)0wEQ@& zvSx|wP=1>n9@7o;R5)6RsEdA$?D@3NmbtpIw3?U3nPS0s^{9j1?XeX_E8x*(OTePF zWI*Q29MQ>KswAO7UXWen@`$ zk)w@ZhVmZq%mN{**06wMK7E0NhR$kXVM+Y=b{&oSsxpuTJ@QQp-8QXd1j7!FK0v1u z!va3*rbdEdaa4m9H$P>Ux*uf`;BGe$heJ;tMF7dd^~(;%o!d+hfEwNaKSQd9p$Xi8 zkgXRsaRoP?o(g3}^c`{UoPYtR*c0Vvg&pE7`KXA{Ctz{GiePC)by-y#Y%X z5rrfjK#65spNDXce3=g_b2}|FM3XV-T1-KN&h3((t6|$3ILK{Yx z=dIrHk%_0k=mf8xUdrHiiVt)p2eLi}k7BLD3QF-#oB+!83pzbu-U97w8>4&>r8Ve! zmR(w0SjZi)4JbBuAW`q@xpv@-6VS}tF--iX2C(LREyWFQeW6ve+7QEueGkVe%H78| z&4PT(5WP`o7x@?RWQ~*%b6yq8oblOLPl~9&W0I^hbG~v{|yT ztuih{I6mf{YH!iNjCsqE<(R~r$006r^K_(^ll6llu|~AXK&~$~(b8IKF8tc9UUAJ+ zW2X&Jc0Dw?%^Fc*qh|u$O!xDZg#FfFMQl0=uu-tP#=V6fUZ!DYi1OUCvssizd)e)O zgUo{Q-7(iHGTiIjWR`$9mI@A_;VSCuMbz~lV;xiG6l$`{J`=5$Gy~q886w_XX>li} zBS&Y25s=w&q4BqRZDb};sGE>XKAiIyX?b)+d9e6QI?h_^uw)o)R2cw2K)}D=kg6+u z7V$!xwN|DF0{$etE}xj}62&Cmy^~TGVtVWvB___nK}*JSW6bX@91uQSjWqh2h7BRB zar4n12*q^MSlu6@52z24)E7n)5MF`XORprs+q3eJ?olP$W7qxbTd0m`ElZcXKTkry zMh&*A18%bH^`j&w;EaNr%198>2va#Q(ou=*;n@+HNpAu8)+Oe^=SC?5gQt zd_}?BMS?O{+zQ?h{yE!J1tbaz>K5=k_)rN*Akq#^VclL>hJa|}9cBv0ug9$h^&{I& z@mO1%Niq_GoqKZ$N;lpb3lEZs9bCu_ceFI06*I=OS})hQ_P?oAsvH!!LsUfeI4%R% z7`qH7orbCv_4(k9WN1nRCQ0AG?Tr@u3qcsqH5{f7qwhtzsZ3Nt=YH&Qn8S>@vOKeP0NPZ z!dR07?^46BngOsExs5gP-S{njym~oFsBlfnAjVlwK$e-M%G;w!fsIkUoM5u*Ik;3E zD-4z|K~5!S^qq7nyljgMG`GoJE=@dSdBh{~nw=m<=jPFBM}eh@A9(@B#DB<7=nwO2 zlrA0p=!=pRUu5(mm3`@My2k>W&<4Va6rK4XCjfGWS75^d}tPDP)P2^WDM1XKfD zZXy*>4~s>J+dG=%64S@2E%NT|mWXq1zRg(U^`h-d0tl_c z;1(7hZGqUMLx}$#yQ6bkJSToZ2_m8*ay22g{nvDeBi&>Tfx>L=+e^G$wybh?LQCl= zC;bZ>(2L+)G9ln0Xm({>ib}9p_3QRXP(B(Wfd>}>)P5FiZZ`6(gMhz8Kn-?+%wuFy zbh|>g!&R$whZed?EF8-m)YZs71c$$T5DK`1%;`z!?lpQCYmyM~$-1=jBV1%&cyuO3 z{8PJ;RgO$J$Ee4pFV~I&BbzW`;C2J2kl=c4T#S&&yT6kQw%^g_h7D}3V_?#W(E z+L~~a9m1M)bzQ71JsE5M>MRs@rUc&_2N|^3c zLSF>)`3PySK{v1VG)Tagy*d3!bdpKJ94(?|5o#*sO^ONmp&U zqY{IywWk1XJNVsu?Y%@w5(LFaq5__VNs#+Zcq0%$m+BsIiJU#1F}^o)e%RSoT+Tf{ z+#0-&4K&F+{40j^WDM-n@XPSac!!fE9z|aU0*U_}a3YR?Ym9JF@y#t879E-nu}eP8 z88taas+wYGJuuyIbYfJwQ9S13hFU=CBkHGY-GUM69$u*Sg`iPbK3_pO(?faQM=P!Qtx6O&we)iB5Zcz@`q%+Dt^#wtIJ~kQWQ&xSaLi zYxgUTcRlHhAxenoTw&+8Y7{*e{5de|ENWYF4W<|6&MhG4l+VCvIcL#g&NZcxstjZq zIu<6yrbx$hh8^?;n})(yvL`YrQ=?^^mZQ3M&Nmt; zL0q7*OdGg~w$q8h>E3h#*%Qy_g{oG{e)8Eh#)d{bf)WmiQXhetb)zeLO&Pd{fTs$jA5Uf8<6i&Qj0xcf8$iH#koH{fD!*e82bqTDSKv z;G4f<8jPi-7khJQ!Bs77JBMLg)5P-BpHtpGo+YNAb=x_5!l#Tb7bxDuL5NG`gSMEq z9dJF*XN;7S-AMDC5}A1!ef;NCqe?4Kz^ItD-Z4^RthS3rF_Ii-5ggmdDeV6JNvXiT z)mb4#4j7RBjLg4?aL;l_GSmxOOTyjdSt9ys)MG@!ZcF8+WZ$psGV|7{RBW@&r4N}4 zyveE0TcKBYePsyOi}z4knR}>bJaE!YmEpEt4}zjatx@l4c1UWw|RCdM-X_ zEGf@@m3)P>T7;g>58ZC>9FKhsVe2}x%v9XXuX>bmL%Xu6tvOmR*k~>Bdox#Q@AwLbJ1@RaR8O2y)URFwUKg0PPM9(%uwJ0^zq*mq!U%wV~*eb@8gS zEVcf+toO~mI_DXu*Y}^?7Y`AO@r%g*0$%pt3|Eh~zq%N4BtHhgWmW~a#I{Z%x{DR5 z3sfo145wzK7EWJ+wG|zpoB-m@ClODiQ82=gSNZ(Mq#o*>$EbRdawAL!U7g<9AEjg>Hd?$jj*aoJvDxThpCK~Aom5j#E8WTq-jDTj%I5?0{u z`>c#NW9a&3Pat`dFdfO*JPkp1*g}3DU7xlvkaLj*{y`Ze)HFSTev&z4>I=+L(<~9! zl`{sZ^p>qBhJd4=S%h=VAU8LNPaRH)k)qm99&sfBKdj|{2eHguyyro*QRXWRz%x`# zLR6)ykyT&zs4&8MqGCt(J9;JUF?29kiY(3FNxJmJ_US~pJgPAP2@ozt9Fn5cI!>Vp zaH-_b=f!=c`tE9u;DgyA zY-X3u6+akjGA4dHrcfh)I|JjpN1nZ^YRWCv5y$&lMtnIr%|h20i-u(- ziBdpA_dyR~1+|a#sy%;P2vGgW@IJ)}W(MXnjkxOOX$ngfe@?k@ssVg4PdcHuOmTWa z4UyItdT|6Af|}V~rUHhW84REZ)^}-JwaxO7R7BP~K;9alIMkXNeQZj{8E6~;D_Ufv zcy>TKD2EwM7Bd_-3Kt=ElE2W&qGct`jzuRQZoYAiNjT}`fpew;Xfo8>P@fc11K-HL z4L+!#zPY04>wx)l_YM&#^7MW2YZ1{g$H;bVP>TriGD7;H`n$R~GZB!|l-oqT!i#DW z5WP-3-Z+1pvnil2ker~51TYVu4I{23P0^ryba2FYf z&>g&c4W8ASK1z>9%Yr#2#t2CF(MoGFq@Gh&t*!Gq6wp#>ACZXtSnFv%9>Jcpx5dD#Mg#TFo{pPQeHfW{ypOQY*Wt2)(amf$KKnbN;Cm1 zEj)ZVT)}y1DN1_)Rb|VMgg6^!BmUcr0mb!Bvu5Qh*teS#Xu)Kt~oyA`{E0ShVBn{kX)j!m0TveMDKjzs8-b+Ce=63~Of4@Utg z*bP0{*-&))C<-Ti(|wb$TTjQU8WB}7O$H-F{OvKq@hi;K|-d*ZoQKO@WyMa8@84Brw$@L zVzFz$1r!lFltVT(Dc~NIR0HPSQG;oyqSes)ABC4tyHlm09@<;!x)+V@0w~pa6OE-Q zls}^ii^x{W;Ji%H>75NVQ#94eqjsSqCP8QXV;~aV4<%%2h0+J4aF{-KO+ZmvGf@-@ z1~$nt;n*q-a8)75XsSJm;>dJqgoE!!If`+0&XNBE&ybcIncZc8Sd~C;Cs)6D+;`@l zw{EAr{F?!AVZD=i<&!WbapVg%LnzJiVaA@0Ta1;>5s(@>1Z49nmnOqbY=+*Z83wg&|(mXB;8Ws=1+0W09vwtC){1V0^oxc>9ugA zQv8fME}KoO_ksOOeJnSvFp6#V=IizLF~l6cW^%H+W??I5nw#3dnA~ca1Vv_LvW%p8 z*t(%bopUs|%L}$^TBFSe!L`^%yNMTZEmc#(rq5nv3j^LyFraIR{YCZiWuX%Jg zH>c4}PLt0c+r37vv%cx~F$K_EWzSP2{JB}64|I9bGtkiTQXQ@lW-^DInk&l(whff& zh}$L4AZ2nENLij0WKM(Q)Gch~lm9I^Xb@+Y|#?+Ph zywl!n_jWH78HZBx<@w_*Df7ZtN*Z5C;W#$_e7v91uYXp5>@2_=!3(crOp9TBmr<7; ztdx43z0VbR@jnkE_X3;r)r}Ym?LC!xW-W>In0~OC^zQkp1&e{|^mfn%j6cdl!Q6lQ zzFEa?zIy!MmBD!R`B*%${rUe=)&xF!Ph?2>2eyqY2J%?ycle*)`jep)!Mh!mcw>z) zs3b6r7_s8;H6sr~5Ww5jfBAPVdW78@UaEjW_3t-poJEKTfv4aWa28G3i14cPJ0f_b$tx1!7TgoV($z}^=j#GWAAzJr(Ftm0Pf zf_i%yLu<|5l6}A?XYFTntj1-X1SGp^Sai7Wtr8D!oIG_6D`2o@QM0>XlilzB^>*$K z&WEPP*As7?3SybR8PVAedBVIniD(Z?!n0%StZdeXVtlRdr*3w>^eap0ekP*La?JkA z7*dm?#_W2xM*+%f!Nz0v28rFO^3}WdjlELBBva#>>>m7kl^&cjDP%bElafR!XA>am zV+ugF*YI;n@h{kQOww!eS;7I-2nMP5H369ylrq4$rb&4d&-N(~BPH;i3YHOh)nuvR z?<4}dq<8uCK+q@X_3NU82_V;uk4@F$bPB36N zZyQTg>Qh`3l@wNZjmm`F>Vv6Djb5}am?0d-m>aTQQMYWS3dKqnT#*>(GHCwR9q z$r&ZI=w{=#GGAqVg39f6$EbNY{iAi1sTi{rLpRmOjLNZx9omo)_ShWS#9VvS8rsQd zu!&7#pS}6|N|0wVE9umT4bq!E@)N)u5p!&XnzMTTgUg zpFD67n*7MK8^VILNo~oh+aE3Aqb6PfQ}u*m`T~?2i2(15+qV&WvbiPKe}D_6*ees^ zpn)X3bp2h}3T&-E>z=!A*TrV&jXXbMI@lAkS7J5W)LLyNJp zBTXPAt@rYnN@J@S!~OAORcLBi<833=fF=BJN{|~oc8)1Z+sLC)K6?rYpxz_;H49YE z{H@ZkOQKRhhuL}+Q=>Bmp{?e_6=yAU6`Gl$!;3V?XKgwYW;k|hCJ85`EL3*3``mel zavZ^;l^KLFBgGqV9B?m4ByK%F;cmySpdUEjcQp9XmKk&X>`dYnpKB&&P>oZ~Sav-j zyq-F-p;@wt4orAAB)FF4_;)%G#?(cC5$vIj zU})F0V0r5Qy%M4W)~EF}Zz)H;Ym( z=QeD=^UvR-c~e{LeIDz|)j)V?k57dW&`&nzuh6mpa`kGK^qd-CrWc5| zO+D_VSL!)4^t0*+?eVv{pZ;bv4w}qWn)E!L|NAm39}Uu2S|kj@?d%*KYU!tgK&}vL zOq`m7Y};a9BXI#;V6fM9ook0)^3a%baDMZ6yVxayhYEdB;2MXFMgc=P7@ei3=xpsw znHoCj9F=<~T@1go&j@%q)|`R7;2yT`vt^m^M{$qn9>}2TMZxgJz__+R+dmu%^}Bhf zO7UMlwSLi$cHCAl?J>JYdSNdzo|#*gs&sD!T@M&ypybSSheGQN;cSu4NEOY<179Ar zTH-eyORv=_oJfZF^T_JP;yr;QJ2WsMaOeQ(O~BW4r=ZWqf!W9riV|;(R6k6twH9OOqyG_0#$6BMoXZK60p_*TL1F5CzYls`)`z3+ z#~swC+_>$yKpT9tjT^5{Gf}sx4kJ#|Z3OAeT8bvwfOAx7{VgqRpSqlPfEi*LJ=Qzu zL0q-&P5&i*!*W^~l;5S$0rjWjjSpgPD+m79rsZMG^kaH69CB%zO|Fo|)(xw^Iyb00 zUq(QPefa4p>WlwqPcE~?AQ+NtkCw%QNYHgg4RI>EL_WtPDlKp>(=%eg2pF>IHc1*K z`srsbKxpwrP{&qMSzq^UJey`dhnR3M3X+|=Y7l@(h*h`RiwcI<_3=&{COMgV4k23; zlSu}XG`_5hVwU7|v&Rz1-;q9mfRQ1l%Rxq5Fb*s|fN6Po^yJuW%k{>SmxPrRZRbk} zN2;5piHN$Tp-U6l;f?cJ!E$!$cG(*N^bi7Zy~KlOs!}G!pX&*F?%J!eupFTRLvp8x zKPZ1*`uhZYP;c`x3F(BPW#C~+HWYdh9?#39G?sVPMVCgBD(gDbtL3A zq-ZB9@Vd(n&7YIcr&6V8vif$!)n}bb#Cy7PGJ*x+!HyBZiICFZbS+Ue54~I%OPL(vPM)w4vEEYhBGzrjC zrOeb#lbR*B8V(6k^Xc~UaM!No6(Av-uJe#av7H(;Uuc`E30iAnVHS?CrFKGB3K(jF z8?yC%w)LfQNv(@sq*DI%4a!6;xDG0$bi(aLSsibk1qR4Hw^#~^Sun7KuCj}R`yZ6G zhB{LS*Lvk}?O8dOa1E~df^y+Qmx5RJb#x7>TGaor1BAATlLgiUD0T`8JDj=cndD16 zJiQqD;C2={;3K^`>jx0N3+ZIsKNqRAdm7kKZwf>(vf=V+@R7bYXFIqi2e21JUWvl- z)LIb~$=#TzTB)p0K1#SK8paKjjHky{7CESNiQSRm*z z_e;XYC`gYgdMMq{?DHMU<-7Q)ujpm~pMwP4Y0*)&b-Qp!0K6#hwUt53ox+7a4VJi+8XxYFGKY9ZKGn;c)(MkS8b=AFH7+U+ z1?ZL(B^>@cXaW0z-9zLyMor;{NP;Ek$8DtSS}6JX(*WWNpgAlofoG4|MIR#}B2U={ z0R4&zmmcyLqOSh_D!4xg01d*5%zh&W02#rG-ih6!I0uQC9tZ=)!$<(rV}^r*Zikt+ zvy2Z9*ZoH`H@yniZV!GbZ^V?sXXQMy0hY(a{&RS-&Ig(FsIC{0#bGp6Whfb5qj|V{ zVR=Z!2jeB7dK4CgZy%cpQyPee1bz{k|1AZjlpm4A5WYV~h{pFk);k|T!wV5iCWl?4 zYf9ALJ$!i(rUF6vMoA=QcBWENw?j%QIRn(FY3gq=B}`m2b{&r~)$sqet^P^NPLMNNV0jY(1Kr)&rZK^+F zaQR^U&OG{f=S_$w5KSsA_@-78o4R#hD?^iYfYLzXN`a260Cb+AHPq)S`VgwknFFA9 z6wr3VRnJT{2BMA`Y{R8$UZbNNmMkHBCnG7K(DRqXlPI45yZNl^pS*I>!=}u>A9ErA zJaP@uCrS7Tfp00I%64(Pp*0HN zCtCP$k#yQoqj49h04m zflC)TVo*ck+jxbZ4Ngk}Np2X=@&vnu3lw11AsQzVM(!!L`uT>td^iH;8vCIDJ=jcf zG(#$6CaY9@by5wtb*CLE$*NB(K=ME*Ogsz1_U}qWLFk&GDPc(92TDrK3)zR@-=wPK zRJO_c#PR1~rFKa&p7|5>6u1G+OcsUMjX;Pd4CyL6fHUhu_Fb>w5VfFdLNXUk8AF=@ zFa_$O9~Egcv|erD3_W8EgwNcfg=30NCUXUI2itg6wN+EgqhXJ8rTYRV%g2QpX}z_^ zGEGwQ;g;`TM2Svlb*p$OxaK#;ci&-ZhZw?V7~> zS8>N1$vL?-XBn{2!H*!JL%w8X*eqq+Ht%@+;i)?L%`PiHPk=smSRMTzEMmY4%2a?y=t{gr3=$iZSAI}7355wfc{|WMX~;o%!VPRn z)edRO^I#Jo=-!Mn@oJ?5IbbC|vpo++3*pB*Rsv6@o}`+xpfpU30EZp|#U%+Gg*d8# zQ#cBA<%E_A%nKlu>qr^n^xSSGwmn0y|B07LhF_dE{<3K6btlc&g6hm?XUfO9d}DwA zZ|if>=C#>!hg>KBI(VfXXcGLKyABbpzD#d636K&f=vYy6bkmCZ11#$k0Ka=0+`Xb2 zolxZw4LNya)!+4~=vlq2o$uSi0-SbPrVPzdPl?@{PHlIN+q<C( zZ%!<%V4i7$Bt}ZmZAlo2veW}0lU0Z3M;>tg>HGRn<*Km=QRGa@PMO~(jwS$3GO}Nh!msKJaq909At%!-!jy9SYFRyW^5{t*AS@;ift{I;jK90X^2SL27|L+pczv z&p+)Tj%1d4kMeoCZ0s7Rcl{hdo7K;?eTdR0AbZuO6?bwGFb_?ivARyvc@?*Ka4_>(_+#k%jH=2ljt11@Xu=+dv+I_k zV;#*Y_kmeNV%ZZ4@Y&@cNk=>r=jU1Fu;yCmzIel09ZAe++}vA24owjt+EUc;oooI* z;BJN*IwBeGxOcwO=D`t!SL%;{4ZubsxW=WYI>4YY(Mt)dC+NolCWiQZr*K&jC=R@3NOAvWgO$a)wh8PXF+i@agMWI$x&Aa%u)b@hzYCb{eh*s=7r zrBP`)lPsh%WB60Y!Ctlf)>UbHm58DGan@&IvVFa(GgaV%Fikv;a-_x$%BE^iyTg`< zXSWQL&iUta0kPF1?5JJW0!X1Va7vqc25 zq>TSHzz=>lGC-b;9W5+&l5ZBB`4L4Ab=MfgR3p zk1XqX4L|0ibQ90lwCRXRt#UXuWf_CW!`yv_jOIUMX+6udT5t83as+8s=H_I}OTk>K zsYOU_-5teBgZWdD2h*B2#NcSTVMt-h!ru7(vdEA(=p$aJdFJ!xgLs*kS$kvT(6al> z)q*k-mO2^bR!N}OtvtK#4Kt&nxwjK;q13!LwMk|-w>C9vc=tvTZ3;&1d(PP)I%NPW zd0=oP?}XfHMV=a@Wr&4u`0Bn@MCOt zG*c?xZqLodx9e1!>x_lI*BNSG+t6U}GUsWD;g!iPVV?*SwQZjm1ks8QSt{hyO?HNe zAS^OE;${pZov0eg#kSL{6^gc_0PEF=;1ZrEqG$5x%`ilm5x+~(a7EFJraQ>V@TT{$ zqlmm&3Z5On>n0$G5saeZlUmQZpANzgp5ib^ z+o?D@j91)z!hcm&)GGL3&I~C;O4M^2xZM{=`LHz2YziaV#)LJZ81cJey5%jhIY|mE zliDWIz~mycmja?oDwxtguEQr8UXgxkmjv)>oN7YRs>{uV8~SdEvD0STT;P zcVo1oax|@-ZTy}A5ko%2T*`2lOT0_wxB&GZVzdR_0tHYu;&=#v(<-<@n_j6qsYYhBC3>IXeGBL zG)IL5SAD!i2$#>m)HH3O-KNS&b3F906_-Y82hvbDhFZrDBuf?WnSpz0>&xC%_cS#T zUm^2M&@LppD69(2mIoH;wdFTaP7dJQ6Aa!}sMWqR=x2zUhG4K|oW*6q!X6;ahyZx- zS=D#SaIw@ovjChNh!HFNteCW!bEX4$D57>yn)Xf>SYLn@{M2I_U4RGFe zHH+uim2s56nTK|e+_nK>HE{3WKx(jJQEL9vn%g!ZNORSwXHE!@yZ#QYoys+V?)j%c z%7UB4$Fr=m+cw4YCnOyBO{jAdz3wMRf zywM2O8@EiDbYvGj5XTNk%b;%tw^0XDkd_IRDdK4IjNtgp0S9Mp3)gxttBCz_aO0h4-gTN?da9j_bY#U8(|S88FZ7`p zk1P~g(qUpU5M_twqGAu-ku4ycWLmAfHVxu=bVSIuJ##}4qcF@w!}J}9F)J25BzQ*F zlGcsN6}b0VJ?FNRhA~Y~L!4r7;^Vp4aZA_dcubDDyC%Xb-m`k(^8*i=g+tZM8@b!9 zY~*FvW_Q47%=z0%?){9&R&EYW()@jJh#5wIg;<xxeqg*f( z**AKj7$tPW$^iC#eK%J~Ms7E8mH^LYOckkVytpNyuTs}>kQOC+!(v0y0HdJ)H1&{1p&xf8wz>ZyDR6Fix zgZJa2?t{iUteRGC7Ym`~E%o!6cDpTPUvg>( z6r7v+9T2(F6KhEh8{Cr}9G%iXB(Me(Z{y5P+%&hQ3!CHETAmJj7YdV4TPIodP{zQ8TwpWN=1ok1&|;Br97~Bc4V}m)%6ECpqv5WrKX=ZZrsr{{ zOg}vNtZacAX5-~Jr*jP`{65Vy^~#bl$B^eeaYLm*o?FV-f$(;ZD7h)Q`sY_FEIAMg z?6v`nG?3_=Db^S zEHXSd()MMiU3M|$fH*>+E^e?quvc_q%tN?tsBY!ey!7>m+=Swg;Tt{gv`wrvJ_^T^ z?}%+;9aeKy zDMLkcr|fkIK1wEL=d$wfobEX^LYIzeseedFO_WTDwBaa_MA!{RnToU2DBc!%F+x+| z5>ag7?^?I8n_5In_rJOzSP1Z@uT6g;s6 zSOg&QIK&L}D>)==58k-B9^|1e{?a2rgVpn{oY@X}F+RSi#E|>fyLB+H80Q<@j4kg+)T5MYk#)njvAh4icr~` z5o^h}iR$;^YT5lb(iuUbUGxv`lKVT?qCu1`mkWy_)Uwv|uUEyTNq~XCyubQ*?ov){rJmK(ewJ`y`68 zxAfT62XBhzybZfjQyW_2?}isNfPS!*yozn1tTe*P{5hIQiW1RI|JL**46>LWJdBm#!aa6slw!K!qax2mEph(_K{+v{R)Ax)ftBlS7}! zifgZ8#Hwb^Wq`GFrBa&gl2CdXoS0`!NG=lsHrMMI$XV|X3{Z7oxswSy`cYL13%n>( zT>5dgasLGs9j}@Ut$$&_Q*Q+tDSAN&Dz)CPE)W>#jLrlogNIK7CsBUOUz?dXNQ-T+h7Dzy0P!4x;MG9JWh&#WlYY4sUd8FJ!l^t-o zB6_g;*1-P5RIWlJL`E!WMQ_6YPrBnUQ35@o)6?E%3s1Dn55kY>k?5j?oLtaoH|{E9 zaVR}NfnRKErsEFvjE$KJ(rG6Q*Qn!!C9Y}=S;lrwEascS=)1NNoKkI!-t zlLhM-X@Xu((!2Lg*IZ@Yce?_C2}IQaNly>tEf6gcks>qdTb9dlu@`KO*XC_ywpmb! z?*vXS(JCG$2}hS6hDe+GE;d{j8m$?UK7%zZtQJ@tjN;KL@P!TbDWaST;EytRBq`ktzUb+IMV#cm5y61>5ZNA~G)=vA?YNkRf7+=IS&x2Sq} zX&h8Xht7NxjccpddkxRjJr1~lSkE{-=fr-UD+CQ{IyytlN$x+)4-R$ye7%U zy}8@?>MnAHXH!!<;O6{jqeBz!^~j_n77k-3!0_>OoK`OKd378z;Y1vN1j@`3Sf z;$x=FBsB{!m9bRXJ;g=NmgtdMW@+6{L)38)JTbp@0$xS9yDHl!wbd_10cT@X9FG*fcA=!XSEUa$ByBM=H5+QufE*q9brCv zQ%PHib~EzsN)%rzn4y$qbX*|_0kZfuD|>o(M>)d04NF{`?r70~5Lnrp&SV%w~9U~sv#mio4DehRZ@1iL+3Pv(~neD zku)liS}vwEjtl@fK*qlrDHxkwqZD*Dbuz7tGuZe!%o3_$9$np9Ioy9GY$FAV1|t2m zc(n*lOF!tL!Us&+&A6>M)tu1*q|Z+(iHl8ILQt_PMwd>k1D!mm*yyqR z8279C8fBOI1my+l7Q<)c$Fq(zTE$ekH9Oo)=-6w^c2dF*-iF$+bu_J7!q>YG#@Bz(zD;|FtCIyH^O}frHfsCb#_&eE)+e2u%z6 z-$$YgEwmmttZ(hEC<}AA<@O)O4MRl&xM$jxS|_8AC#_sioAahqaEg0$GYWVBC&C%8 z-Ls6wg>m3VSh))b(z3)X5gINyJBzfetlcIMM`dq7;%Qr@@|CI1ZMw*`YK+3aYnHHb zVc|F>0sHNOQm5)jZ`6JracHpMSqrUKd?HM4D16GLZ0&5Wg+(ZmJB?G40_7=*gWI9S zftrIzfW>GRW;(EdYaqP@n@o}VMzxr?xQ}5b1DK3;i$gsdPNXvRZagAp_AmPFB;b(q1cUeN&9En*|Sc?2m;!@2H6Q<;1} zvaA8S*^Fp&ykEpQonU|3Yt;63d*Rl)xUf<`1+2uGJCATM5ujF|NMG=>10a!-_7SD0 zaRoUyz%|mDz$1O*#wHts0an;(q>gF`ra>{#J*mPhaoYXb} zUoePN6`{qY4=h47><6m{$Cd*45oOBkutG)77FB>BgeACKrPZyF>AVuL3UlQ`5-q_J zoh?_f{2QL0QD^+PQuNehj_o04=UvgmdOBKp5^HtF7$?Oz&_XgPC_BNP!c@Af+E!_pkER7k)V)H*Fnvp|dIf8a4*F~Xfqm{&x zW^!871JEn2a+iRirNvc)dWvxB%8P*)5AU#$4O~w>ScH5hLZH9s_j=`LBt6RnmR?Q8 zN*zcV;K*Aj@`(#LEK05C{YStM5NAMUUCUZth%FeIk$Is;bZK3gah#D11G!GTFJ@+~ zr$P<9*NerT>#!OzEwQeAFS=m9yaoc#KgLf7CI;qR8KQqC#_~O5G*;~+vxOG_{&u@V zvnCTEZ?5NHYP7t#%mKjfiv)4H?~&)Lq%%2WGBB<^7jS1*OV{Y;$scyLFL&vx-PyD> zznUAfui{t3&;Z|C4V8PyAdA&nyt&@4$$DKS!3f&}?5t;vO~ze8!1jGu%g6@5R~q(n zSLcU$tF4J2W2*IL^VJ4s)YaJS*CySLId0TtXb$%$ObLPo|gc0j;( z*mJqq3U?)(WAYz0ofW+Qc}sHtD&FGhN>seM!WPe0^x|pC-hA%iTYgxnxqz+S49%Ro zV;hOA?EUjvtMg%c!K;Ltv0~G^1A8C$fu`>v+|FuQOI!s>u!MbVRei3W&fyTpdeGTaxlK`OugvPtlO&h z5?5pVy0#hDH=RJ)Fa&p>y&Tro#m_5dhBdz)fq}co5Y*dDSF~aJ@jcee&9xEVaV%>R z{o^+BDE|AI|3!PdL*-h0l+d~cwqQ@iu|T@^zD=+=>z&*3+D1k`OvJeX-UoacuAgaP zEl;!Da2o7|_L}h5er6PBV3^pekux;75WCK6>nGeS0k4AJ_C(X6FiP$j)qAgWPp`d< z%Xt3%rr>TEyw{oKd`luF?q}G;^>#0lv&mZNvF(^4qi1zt=8ZlFwBQafYOgtz0AH1U z^uVl(aR2egqT$C(f1>f+w$#4NG{oH3T5;2;_G%6bB^#!)7_GFfF?D)MyEFc&38q!q zE_=TI$^bnNQ>0h=GucTWJ|$dFb#_Frromq)mxQzv`bP}^@ZOHlaTe|aV@r>p_?dU8 z$A~%Bj$CUscGlu|9DNNw2DZA?K3Qofe{5(w{?8|8ZqDqGJp+4}8NJpuE32JYw(!c! z9QTWwWHuG;IsaBLBgI(vE4|Z624}Tbg*ZS}!hPS~f*l9^wwDYn)C_N3c~GxjZH%om zncpnpCmoK$)&t`bAMl3^stm8Z)%M1Mvt_AzmR$BN#4y<)1Kh#KG3F-LY{Wh;evU0~ z>P|(MOo(hREj`)x%L`k3Q_-Fs_0`wZUc@-c)=SfN0y}tada=VvVS3NVw{rr<9iCApCnA(Wo4*S!63p2071j!pPV~d7$OZw=Tx%Q^q z=h;YjiGHYm*6HkH7(PBCeQZ-|hyJ$BH9n0!;MMMb#<6DL#}yi0UMgr;?c-ek71vnS zj#Y5Iga1!mG8KlX@;dsqu^JS|SQ)>p{c39LXDra+ z_#2*`>Fb;u`5759`ys4fyW0fl)}qJrdujl~BQng~AwLOKm?ha|?26Zgp|<#J*vNSE zFUyNE+b}P0;YH+Ex?sKt0Z_j#dj9Bz+p_#&b^@D|#I|W$lE|cN}g3xc9Vo zkGT8|YVw}yU(Z-wZ5gX!;aRiwU&|&H_t>mZ$l8T3>mk?8*Bf?}dg`iNd%nkUFn+YZ z9Y>?R4v53@G5{IkF|&5u%KQk-(__kyxG?PG{FVy$(M<1bY;pc#T7{NJ_9g}ZBb^AX z+N{-9&GBoFh|}Ob+w4y6#P0>)KBE~fE-l95;?G{y?d;d#WnMe-OULwkLl;)t>0D3i zYRdF$=IP11_G^92GS@!x!E-^!dOx!7?QNLDeKxnC^itMb=)3U?>OAZ&uRo! z`|6_wCMMRn`-~o6eQqRuwO#kr_*=$LxNAFm+|PZ}WbmJ+EtSTu!w;)xwcJ&{XFtH) z2<+-3U$^UCGA8ZD=1XgupPN(nF*zEBr|D0=QMiA#aK?m}(_ULEX6wq#*o*MH>Zwsu zUn|pdxeM<#lSSaTpJpyuChnScsIQ~E$>NyxE~aPMV$G|uWW_?`_Xz;=lD^#x!fw5L z+oe$!ZVEhrSHdJH>;7h+-o7xk zyyx_OM2=qhyJnA{*=qAr1D}b8eq!0p$IEtE)f&2O^?$_6D{}u3+;R|K>$}D589&1X z`Cse8Bx~CINk$5~-WLLc@$dQZ?dzqi*>?H0br$vnYw*4ouj_hz+m2bKx#YJ_=}Wj9 zJKHDUzAt+VZ)9hB%xPx+V|F>uAD@UZ%=xhLtY6RbS7YGst!uA!@n)ZDZ^`|=jP3Pu zAL5_zf1^V?*R!)$=KqE49P=$|uWs>c-nBHDeC||_8=zt1VqYfd!eIP=_BykDv{2-H z`Ly@*gZE#z?r}fe&u9=u3D0d3S^v-=pelhS#nXma0&(o%R{6zWq)$jqRHu%`yH&u6 zJ5=xJn7v!G#-qFOa=Vc4E`W8;No;48_!vDLCD(Umd=uUeysE0r&C#iUL;1cf zvOj%>bOw%Yv>^N-!a&0{)FPqWf^BYV%-~_hkL}i9*1A1u$x~F>Fv9yV-7@0vn*iA` z*BE-b-v z`2WMkoR@HIJCj4}0Xl9Jv|gbUN6eMsTs*R~&~;XQFd7fMRq{XA!TR+Yk@nPJ*t2VR z#-q(`y(>YiNVoHxE&oJKgk^a{yyLYxko#x{8c%^1pjR5h`Q0@da)aKV<{PM-$W+jJ z6Ajxo@aGX+c#AhLyL6l7Wts^eKO|OwtMnc^?CA69n&jWOG3i`A$Ol43EA#d)uHuUe z@Nz9HE!L185SOkUeZ=q6`|Gk~(F-~?-Yb%5sl{OzgYiaNc_krBUuRnQ1N;!M80qhl zKqi?BaOl>$H^;+h72lstG%z9bh7u$pt~P%Z$lJmw{8suQd0d)5(o zV0-5_{!(oYX%c_{+K1(&mqMX%_i{MqyKkrsKIAIqABv7T^Vyq92%}C<`%2-4!Xtpq zjZag?)_$ekz#~obsvxG10*~?$;Ql!&ov_j{h_kQ05n_Yq%db~JiV~MARS(_^D*ov3 zB|NsmyBGEW2*q)iM5dZvCr+)qOIx<`33DEX(Dy1n{FOWi5xhE1h1t55ch2m-91?`O zqetP~S5*nVj=NO$+Eayr(MaXab=Jj6xb9TRy83*q@OUxg0D?}>^%VnE9#UowdbL5h&2(B663BUy(@3S zvhzlFbl$NIl%^{3SMg}01R$b26+Z8*JWdUFucV*z9pXr;Rl?QpLNRdbtIAt;dGa#FQpUy~)Ln`n+$WNUHXYz8cTf4)lh^}X)D{r+?(ZN19P`zP5A6%iufS?NlN2tNlXAF4Y~o-eix*f!}^ zI=ei_{s&lReJgEyfV>@bw~*(Kih1$U zq$XJ}J%FN7EiB@&KDtuMmCMZPgYrf*Ri~UH>0VLuPb7TNlxXOurjKAiBF^igOj5SCUFMDSI<3X6;x3? z&x%l~Lx1nMjx>7lI#mJ!)L^{F3*<`+4=agp z-$)!!FN$FfkBM4c00U8sVXF>Vukt{%#Ml36!xsh) z)v52R1b?_UkFkQ8GD-k;+zX_o=_1sHK-JPLkFPfae%;t!UEm+wCgRJzA~jaZL4LfJ zPm`Tx)VoSI{<$RJ8|@W?9l0)F7B^I4z0yl1P9l9-zxceR@nE&kdER$0=moH=o#O{3 zF~M`LzX==?2k8e%N!mvlO&J@XJpEDbSby=k&K1s1h5aB}Nq9k68uG%xn&jPI9zUON zb_r{*^|h#%_-O%KQFYUsfLt6EI%Cd}amrg=IkcG^F0R}L-i7Zi8?@0nXEAMsTs(#i zXJ>EQhxpu;wa&A-%;-OPar8Lwy_#$b13g}33*|bH39}ExFv>SYVA%&K80(|CE>_(_ zaBjnL)E2bm932JmO-B`k{Ol_UtOf&TFtriOOH+1infe2i-QJyri9E}sfXDw6O{gt) zGxZDL`M)8Qe5uOEb}4`WQyFJ>R)5ED68cgTsN?l_Bl^U!<5qJxZ(0cx#f>ML$$}R~ zjxES=d4~f#ZsoN*Py}mj=ZCe~3!|2Gxd^6|8In^AB2*ByQMsstoOM?{dj&}VD2z-!%@g{lU4;S%K;&I z@R<}i)lJn;^@QY>{(UcdBTNJFs!IYz{A6S=X4tZNq>uHC7p(`KzRIu1%xk=ubL!)w z)JAQbW_n92?b+lew?^6=4!UYkR_rpX#1bA>#xBh7Nv4Ti1tjlxH92U8=YO(Dmn+2H zZ1mzTfUDvd5y-BH945XTfc$tXh|;!2y9Sd2D7oMFnuT?#W-ZKCBsRz@V?+dg>XvuE|)vdSXCevk#YrRv$32(7vVd1di;1BU*~IAV##> zZ(zp8tn#~N77=)nym@1#saYTMD`@XN;5~MJv2U#JjftpR%m-%L_$A@PUUPf`z^e6q z_1_0(b>gXFMQ29$ zN|nG4e3M@4qdp~XTa=#h9rB=j!$9^xuY$h5R5`%^Tu$>1EY z_Sd?^>VV>lS5ABXDA{-KjgkP>-7AMK$H1PyTQI)T;-lm@B0}hrH`l*DMFo{P>WhPZ zgdFr&N#F4D+!V6D@_3+&X!1}Wy})mtfYgO(sRH#5+Bok)KXeL4jm#dFM|cMo!?3*; z6%1NoF`WM=eT&xR=n3z7(gZ;;`T{+!1V4m#5K3C*v6qI+qZM>R{WLD} z`!c;Cnk9Q-OBXHQvQ{WbQYI}xl|R^Uq{@K+z@=W6(AtNVa|ZOV{1RA8_;Vt6M--030${#``e3vo)*(`U(5Ld1uJyQ;#0Jsu>&2_C@psK4PsCm( zwIL!axenhCEHGY>mRmVptF_dAiJr!4udo>W@(IF1mbysV6IrVyDDH(#QwEp;-TTr{ zz1KfXoAWb5EkG0KJ{z!2Ix?WHG;}3fTpG7gGn-W#pu0u#cIe9g!wPYoa9R>i%~b~GLK4XP{#sL77N2_|Mi3F#=R#<% zK$3ty8at>4*OD4+Eg~7@CPW>HJ393T+a&P+Z;3r2Do;qhgsD6&o`iH5LP2kp27J=6 zaY)sSf3_qT9;~fxc?G!DgcRLkFwROX4+w&3SS4{)hg9A~FwY7t2|$y4@V-x095n>& zU7x5W$*-AsB}>BtZUz=Kt%#z)^2?SMs$3q!67|cbO)T1nKlTcEe?*vlrJV+gG+Rch zqpCu~caD@HYlN@w>Y|jK>iERAZl6cTqM;MA*I~QJEJ;s7z&LVUD6mLkCRagMN)8Qp zd&kpN?Q!88t@)W~mw)W+)$zm%~*< zTN~#Cr!&?5^vb9QtaZUq?%;F16@`;fg8uVFas@4g6h z5t6V=<1G!p)j40omu8>WX7$m)z@Vt1NwaBw><{Dsx|pu?0_wB=4Gzn^-_0pD5{<8x zg#QzwGER(*pLpkJ|HbWIEuTl{T^;)F(EjkO2}?05#Uc%@N&zG_H77-r>R zy<$md*DsWPBN74&R*mDgr8o#;uz1+QVvb8DEC#I#Bdi?K$ROB*h29n{hORmh+m(Yh zE4CN_P4cjn;0Dx1s~jrgu*u6)MHd5D9<&O-jbsvnc0qVhD^)!K1S{4!^!Clg)(TBfK@NYT8=^zD z0Fw~1?~jf{zD}<8`b>o)rs@OtbpQSwQU|>#M3rTn!dh%FmR%00c+BZvUBq@2$9lL* z{FHLlLUc{u-a(b5s;rZj?rdQcaw@;PTyF$K}Z5ltA3EQpZrO7QW-4=8R|AkK%#=O5tPPcvvJ@BVj$kZCT> z8|6dPoC)@xXv`N~owpry_6`;za+QS!MX~J8yW}`oG2Dj7X*V(*hmD0^%M&wZCQ-46 zZVwjH$J=1Z(af6`Un#+DvQjX(m{XA6cI4TXGN_PPNjP%0SriF;9nlqj!YvAU%LARN z;C`0UrApM)WAUtTV%9Hud*CBRWMruFYgeO7 zRezY;0GWBm&oAmz@yJrV+XFt%U$#xqz&)WTW-iQ|X@p9OeV!5r6AXmpq;z6)qj|U} zCp;{J%K@Tau67?Tu}^@oV9JvQ{TO3+zBZKYChjK5BxnHicS zzjtJAYZgy3%&N8G?B1q1wImmMbatDy*JmVn;)yN=DJ(7_4c^I5X?$OtL;p{clTKmN zPviztVymKXv4DUAnB+>1t>d}!+x1pzI{*_Xm}ApCqz&T%^gDcdcGUtoe@95*!=0RH zv{3gJAe50QfX1#+15?nxM{jlgI?Q7WyFyf%%cZafFj>v62$K$x79b~c`OZ=~YiS6a zD(p6nuD%Tt_*rXS=L8Wvv*_dFgki4Jbwdv|AqOrjO|2bhS>;K*k({Bmi)cr5|$CiHn-fSyM zFv44-o$@BNo3AbojDfe%@-9yYZ|c(H>J6u0Fp>8jt->WN;y8jfb&akQh68+-GBkM} zVe(za-fuvYt~T@rDAaD|D)&ve5{;R=s;jx@+cn$ z|9)Xl=gHvA30s{MFr&7SSr$>xN=b`JAY}CUi_zkPZ|4^LOMCz-U_|;Fp3@{WC zaa#O{@GI{%TQ(q2k@)>kAAm@a{#=3-m}`TF%EP)dGYU|pNa5VfrR4DJ^01L5=za3c>bRDD*ZYD$VIUg;45T%StyHa{V0CC7;eKme}#H@op*+^?> zC6z`2AVOHs-^6n}94E5Fm;>K>_`JT$#A)#G`3_4fLLRHUS49RaK(Hj`a2H1_N)N2X z>UMYO(<`yq+=1pQ3Pm$OHfH<&U{#~6Fg$qXVqQU>jU5%(Syub;5m_a)>Bk4En5guS zUpQl)yc{V@Cg+OKc-Wus@0;92>Hh3PQs{eq=;Y!;Kb|zrz8{ zGz(`rS}Rc{@pWJRlV~!CLIx^UKwOKj8v$M>+S^q!zpRQuYthP!>qc`1<*Cs_=+m#Q zkH1Bzed_clWKh!BOHX>W1zZzGnU5JtkY;7zw&BsEcKMf(9?Co+4#D0Y{~Odn%dN0V z7q~610D3gF{7787Lgny+?8e=cieqHG2fZU}ULj>l!GsZA576|czFNF-R0J6HbxB$-C zABkx1R-bU4<&2Ym+{p6iD_r_9P37jEOJN-C$#FTr)O zEBFobGZW5uix-Z7JB2H>La+yKEcknH1(9|y;=Z6#>-GS|KYG9qM8n{iZFZ1*MsK57 zO>?)J-Hjo4qiX?G)cjua2;JpyR(RC)OWb-J55QUoU8u1E@AyY;;J>%1rdvQ~fUV1* ze*fW(g-2rw*YFQ~kYVA?YCn(;!8Aw5ojQf|K>iCnufIb4DYRgSU}0eGq-Q1zrwfdk z%N1rN)^_HvkH^!08m2uQ9Od?ebuurnE%)}X5@rT}6@$PmlzcI$QITJ?9flF*t_)c7 zWq9>VgBcAezV+t3`*c}9jIX?t@utDyejCED1#F2&Q=4t-Zp_iXPt7Ho>xS9aFX_p{ zq~;N=psXv6#q}+dcBX>>OACZrV6SJv{JB3ujhR`y7+xQYJiHWg*w1=&`XRiXakYke zxPZGAM6uM2Yin7M$F44DyMAf+Lq^++*6+`xd0I7^5eEzT$iH4OY;=0n39KVU;P;8)x&1smco6?s4e~9&=GFBxPpjwGkptcK2o8Vw zM)=}+a3%bXobkE+&&i|=?L2!n7Qk5nF#13l4Fp8ivH5|7uS zJiAsk{WWi#n=P>r3evXK&Kq8vCl5^)f7vL_=SL=wz1c7S{y2Tao{E=S#@D4iGX=2& z=5K{j->zkCU!Iz0_u|l}Y)IT;rksAWq3;jH0H*TVnN7P^h%S%y)U3>y-uI2I-L@i5 zmI;94H%#2#>^IgNY^ve{&EWjvrOc{lt4`^)GppRbOwm-wub=sS(0a5faJG70jGxw6 zXk^XtgVfL}rtqx(<3Z_l`<@pJrY+2j9X4KE^5f{7@*f@N9}SJ!V4wWs zPg9_ernau9e*$F2KZYP!6v5wJx2eCb23ME&8=ihwR-%``W1Ji4@4<=${6kZ-zwTd= z8QcJHp+WpdzxyJhT7S{wB`WWVRqLu*%%`F+D~w8e0HU+G67{@;R{avq(7c@6Of zd#*#`eR;ajtnlNtxh9|UE28ild*CkiLVidYC+yd1d|ndZu5)fn>^J@I+KTa6y~EkE zANOgYM)N#2ZT~%R$u#akYlX)nsDjo0vWdGGf1RRyU7z+>6waFe&I63f>x1depXr(S z&jM)=2E8B0X8!^}u=&r_tc57f>g;15@OCm-2fJ+ zFKR@`?LTKq*kFhhVco&JHlvScCQR&}nZVfWbv4JBiShQ7A7a)$GVgOtdNLPwH9tf| z2oJprkRdcT8zE29wFAf7r&mhNP0aq=`%9*2xGmX{(j%pH3n%T zr>;MhaMj2=gzadrznvGyxu5HQohn(xzRuDjz+by?a3v1^{40PE`Gz*@4hyUo4^V7N z2(9lWr_A?l%$|vxT&Cj4mCSW_?H-ZLbnt!zU)y=&LHnk^?Z#dg3r(=RiYD%?O5xza zp6$=pA6K3~a~l}Y`YH?b!(}9X@*9nOo*`02D9h{enKOU)XNr&gGb3}zbx}@z#QKej4=_mgs)|`pCBD(;s?AlRl^XYaTVfRzKUo#J-nj(m8R={QN(gOP^X|?f*={#ct{gx&u9fX@ogURLjC4Q;QX_svtMhCN?OFP$+tdvw*X{}DN_ z`40n-{g9*L_;+|K-J73(qjC~+eWBCSfBxtArQVNmyGPSx;#)b^)z1}w@aHO@-8TNp zdZYG}gMTKH`!qH>ccCGPwNGDf25z+mCO&4U;7tNYpqg-b7%e2%BB$nKwjV(%{@Ks| zacj|9!#S&03rcvf{7&F=PtDu+EaA?psvWp7oA%i6Wc}aeiQC`Za)n)MK63nWC*AY= zv+`tl!sx7}*^{Ar+;_fLPVqcBkN-8Bn3(?W#_qYs$a~+HJ;4uQ$&by?_4}hZ{yYU& zw>M|>{E>-+p$xJi_d$k(f8&VgrE`d1qmA%ppa5m)>hZbCf_Vi8)<6F)0+q{7VSPWC zKYCZ~@!7wvF`AzN?Edi$aBAdB{I@yx>E#-}ZFKToLO!efHd0Hjq0jZ|eY*@o*P{34 z;~T@dZ(Uh>m)rJR$?w|tTu;U8UHhIA%v$ZQ8GGv2GAFP=^Z(Ts%VP);WFA?&;PHj# z?Y#DW%^r+mZJO(Po!dE;PZM`K1;||Q-#cLMgh3 zCm$CO>9X4JMCpE%^Vz%iFJ;dqxAIi0?mGRFxOOGpe@TCQ`7PDaV)qN)OehW)5&gi5 z;aCdtPrN1#N*H>s2&WYHY}cXU=4!R?TS07V;@&&vJ2^dqK!R^_worFTe@ika zDVv6m=t1lU#k4E;4M7tCtY_sG0}oQtH(d;{Ts1x`N%6?g5rUOtMGExYO93Z9XC6^E z7*D#(%?oX?*OyCes!Pz0ij0H$4{Lzv%uysRDUk<_eCfEk1+MDUF}y$7l0@eJuH>*CsK0`a(Tza50-{>-Q`632R;dRSd`mTG0mc& z1qY}Ol`LAY0>7c!yuj8ttlMItPi_1oCK;);>q3j*_j&&#VA}KfX=W74RFw5w&{say zo7!1YLY_zpO_f%q1SDZPY(QVop-Jz7$7J|QnokeXm?h5Swbl$Db!s((8@aZw@z3eZyb?7M*3>q| z{Md>+Uj`~5(ZyaJEa88r=CI&Joj)UA$F-l(vGYO__8nELBFLVla@6fyN)fo>H$GvD=4 zPwixPVMQbFa$mlq2M9W&grq)%-lm$r+zT4TX~YEXOyzhb1=VChHa(W{L^CkwC}T{R zp<`NHLB&Gvh@lOqrdt);~EU_j)r*RHBudz))Mk zw=1=8hqM<+u9xBALr<#*Zg4=zUU3qRT(&wbr!J{M8{nZ9IQ-^)3n0M3TX~+;;J7Au zFw@0rH?65gkSr>`7Q8KGD~FP8Lt+|$O_!QPhk!Op)5sGR#(7nAD4PKxA-3Y>-B?9~m3svIc<%VC@MnBt9`D zGHzdtg_Y3{+BM|cNJ#cHaRRa#SA!4u`tKK|+4gD%tzLgrED%5p zgxOQIOA_p;ZGi)6&GZ&6wlD65T3TnahmkB*0$1gUu0mTNJD7PemO|mGuG$A=CriVx zzBug>yUY9&UO&0SZ` zb`-ojR1qN zG@>70$yky4JDoY(ea0M&W zYk?Ku`PH`ckbj^b{2bniTU~Cn%gfO}tl+c#Fc|&zkmN&ZaE2}xMJaJ^NJWS6brb-h zZ!qRvA%DQ)75*qLk(lq_A1nS7239vThHzPM<@zC$*zS5u=(mD~<2NiG{slN>BLakN zp*Gr)$L_e3*i8T|fTR@Y=2c>di1y@$i3AQDT@6KF43|i{u4lv^@x90c;51iQQ{rr9ZBK$ps0f= zUl)NA!xCJeyFcIiWNw=QR>)OheR|K4ZGqSpUx89wymM?G!aPLA@*{mgBvtjL;dQm{ zO*@!XEN9CI3Gv8h8aos1UKe9fT%G0ngJ!Jo^Jby4PMDApZ zV=NCGoF%B1$Xyy3J3l~;c`w_hC6xnFPCFR^M9^q=r8s{ON09gY{%mmpJf%Vl z%T^WYE`3;1SVd{erlGSEm1$h)U9fuTiHC*1mrk)DkQ-hb#!~v)V2BtEt|_9eAa)73 zbTGagE74M=vekEvb%+u2wKORJshWl2l;HSsEYC|5mNnNv)!+&ua=euQ46LwF!4m7E z-5cd8b0Wy6`rR(Y>B4$dLBckl(u4+^c$q-*(AU`d)3trk7)QE zn|^&P4ons+W(OEww!e$(-0{yttucM^iAw)sZ1&2(REP;rilMmXX7@hbQ61(4`8l^K zb0M_N5#k*zQAF!2hAbJ-2g%VmDrzAQ_S9n%3)ki;f2Ky6m1&~2QfrU;4I;bMXnjnY zaMq=(NY0gjjx`!1Mx+1$lF=rwGA4~m_ z4*}V=9q#D2vtV3JHaL=?=0s#$&)~4aWNpCqttOP5m4-adevloR-#s{glpHTPdhwQ= zq()Ab@OZA0{lsHjwNg>@K1cEyq_Sw0iH`Ov^)NszD}1|(t)6Wdpb)+mVb9N_1r@`a z9M$|^YfcYRfMH{iOzGK+ReW`qC!VR@v?|Mm$7#uC8o9Pj%!~4OXEUA5&I*)_99|r& zy0v5C`qxC+5j(a?ItMpV#@ta5T&VBZdu&iaI!`tB>XWJdRhNq_)CWNmf8|a&jx00M9$k~kTT~_Y6AYx_*9p)4dF2??gj29t1 z06HhM=T*p8E8?v>6b{H%k+KmfAw_L*Ck5v!wZJL5Ky3T%w1pRW?d-lRUfdXxR_Q|T zu%yZSRjJFQFz95p*GOn4AZivL;5-(8rj@B@slp=%Q3du<&J~c=hRJ3;Ym*{?{-(Ou z#s=&c8yd%9BAP5BU2JX2UMEQsqkLui!^QUe44T!=-q+p8VpT=piYOfgqiX#7+Crwp zqU;M6B`QedFI!XXDqSg76-1q)pk9`~gIAKA)9sE~two8~_8?{B3LM0$honFmj8LX% z5{~RGsc@)2a1BUAbjGymGCh*uwj(9VcOT5i@ z9QPDJno3@oYIDsv1+E%UW-buAJYHEDp$XjqC`}tCr^JhqyB$tX8i9ruR6}X26p6G-m^~{_y_#`tt z3Xv)eSWGvh5a1DfAgCFkeczMaQ_tqgr|vljSw0*Ca81|(2%ycErfzG2(aB=mkeUjB zDHz+3PmLGG@u}8xs6`t=&LOVH01jpJ$bP-HJ(8`SrbNh(h>q5DWJ-sU(NAow-}O^3 z2JEfexBlqWv%-bi+BfkYIkkkQw-7=nMjZ>HZMr8kXE(lW=_=Hn`E4C0iGq@jBm-m9nhygYYILXyi6Y<-vK7l zWPL?M%zvC&4@2f|>{#bS@9asw75Fuj#X)-RSfek>j>JDLT>N5ntGZNu&u{WRYESPd z#Vvo!Q?>FU-hTieN8f+XMceKqYk{UceId`cJlEO4iL`=#jifmez2~}v)!fK&VM0Gf zq~n%QzcPT6H^Z+pM}6|Gms=TULLXFrF^hNCCWrq=Gi())o1b0|-jgv{AoI77%=YhC zc5cqHt1fr>e;eB$^+tXzo`92C_i8`a#wcdt{A`e!dtibHXHcrYqs^koHCL zp55)l{af<`uiDF-@4ggA5Uh(B^0j_-mcJ`q-E&`NX8A(ebkV$j+lAl7&cuJ0s-E~`;KBI9 zlRz>9{%!fc`tf9b)HB}vZ*H5Gsi%$UezLC)rtfL=wzE2o4%&t9wq=Ez=!bCa_GW6w zJixj<{GBiPSv;BfD!;bELrf2n8Mp;swm-I5*IIW&#)*%h54ZA=f1c-YaL+1iFpCW{ ze?IE5KovUX2Sc0i6Mp08)OtdeY4<{(`!bOpi7)<`;y`bH9dmDozIn%&nUJe{ov!o1 zZvmY{ewYVBIxziv=o4{HuT8 zZYR)E?=proeiEU>(G|XLjl|cP@8%c38xw&uKC32Q=;xh1;fyVoBiG}TOT?Xc`spt@8Y& z1(t;Nm_K(d0kr%9TQq3|uZ4DaS-zxHHY#-MnQyZDD!azR?4fOrvv0&pPZO_NB=YF7 zZ6eMgYInGqx9Rz-T2TD11O$f@&E#2=!`(vzj0U+Aa@#UW!G3Ll!s`f5m)p(xZ=QrRFQ*lp*TtLq=8RO=?RNOUe5c`R3j`c|vE|jP9o&l3;mSGMt0at(=S@)XFm*K7wV7-S9L#Lo*4PnY2 zBt|tjFAg-1g~3IHqk~-(#@_5#h%em$ay^upO1YSKIfZA?@kza^7i}i>6TFaJwN4K15`fXFAn6iR4TXVR_gE%e6fUDhB6|M zH>sAbG+~bX>{%gSIPkQHSaQCJ8%a^Wo@RoFORho%QR?d5zP93CVj2+rO~=6-&>iZt zF^b1s-hQKZgYID}?Y__*+gBtc>76kPDX!sQ+9{R%@OUSHZbRYNX)Zju(B!0Op~NB>}mC26Jk6S51l(x`HM6DxQ1N ze{XOku^sVAiI0XvF_krfwRk39mhHdY2^#+wDcqj|?t2;F|0dEwD9vE4LKLD5#b8;$ zHklJR&`41laq^e!TwwSY{;Dqw*?~edNks{*UHh*J@PW0AJda{P-uT4gu^y{X2iR={1|ukzMzrSQEn@!m z2YQyLwXTx&g<_6qb=5huPXTkf2I%n3dJqPY`A|;dhqZRvnk8YDO!V_1q&1+5-{)NU z8t~7sEB*449;0)CClt~&$ck1$ryt-VkEx6eXXo~sIJljNgeI>t2Smr9A>Gv#5)Fpn zgl1utHfImtZU$)sYP}Mthb+b|9NB}i!M8hMQ!2Csn_HMDw^f8Ao)p6DJDOqr3MXo~ z@o+!ejaaSse<1kpR&f@Dy0jqU8GypTA-4_#ufTzWRshI>ULVlcw2uc~uh)(>DIizV za`FHC0@3K$Q{iBW63D}|9p*Bb_^?K`VatW8^P+!kryn&qTflCoweKxm((hAEx39V;EuSI(_8PbFLZ@r#yqI{mx>ZM>(knWuD>t9 z{mvsF*(eYil4&+w@WfWFAI>?_-ktqh&$N3DtbJXj3;D3Gt$hcZ;=JN+Ki!1J={r1I zSKZrCs2*_3y2*k%*eT`HlX1I&reu!E_xUy9`&tsszQS5h0Ox*p;J)=+Y7sQAcAE<} z%I0@Enp3glZ{o!$SKd}kba2dhrbaO^BcfNUx9tU7VwXW-Y(F@B!oq)jFa;n zzsr)p4?p|!`-j)oexbFEs{Y!)g4a;KUBVNmij!)~`1x7DMC^6)fDVfaeZ#a1cUwE> zXMI24YXgTYp?d!Diteb}(CR zP|9iarG10Edwa!^9N7|VEQ~f<(k>-`)DCK3hIB0$!IH4yMkYaLgHr#*;6?Y7$aiCi0 z6(bkPvP&Zzc0T_saMQ1{jOTTtybIe0OtRKCO)AuDur_99YHQtrHBp}JeFq`9Gr&nL z1Kv-!^IJ)%(F!pt<-dX@QUcn)mo{C!Ud_rE>Gc~cU%X*skLKyyW5b|+&L$4<=4Ey9 zJjh)_&T&_1+fmF`0Um=C;Lv#+5*E?#(h@yi4~qrY{z^C}^cg>e5Q-iyyHcYtq@gIo zvg6OVRyzS>neMeZ+4x-v6HeQ*@y!f-gFd(ySGl9iH=yCvU}V`7sfh8sQ7PLbmXCq5 zQXLDfO1HHyP9M}KGN335QSmc)a7Rr}L4W}~3?+O8CX657moYJ3;F0LqIew(OtRN(- zhVN|TZG+orrI;f8t|}SM>h5R!yI0P`;&nkF5Lgc&HPU9nbOd+`cdW z`HQEI)N-Z447+sQnkkNYmNGm#n#aJJvRbHo9F5O*QYC`_b$kq43^PmqL<&jMm!V}* zhn3v4S(2>%M&97AfxV9W@y_bYq9Ul;K_iCnlIOPkRsgk<4t_Rtd;w#O)c@@mMxd`izG2#F>v;Ci zXlP_N&)8d)527Y`c9hFFVuQx39j-kw9^$5$k;6XF!aYZLbFWwx-M^N<$|mh1-KeGrkIlHIBaZjx^FSa>+~fY?|Wqg4lBg6)BEgJe@ivwdHdy z@Bu>E8`%VpDC2Z*n9Q}(FS8JDI;}W|HDj1~EDR@?id^uv$#Q?1b|}}x!Jo44s#Kzh zjQ&|`O$^kXm*RAvQJcOJua<-D^P+{}-()`hk?)TOia_cL^Zh~AK!;6tnX1OxVS4NthVo2c-^n-2V z12}~*>*V>vi)IUI4OWw%I7MwgNd*IMp)9SS#dx$V{cR(y8pNVC>MaS$6(hH7Wjljg z63#tCW}5Z%etMK>)SsB}D_59_TiTQnX0-DG4H5L&Hhckv7o9nv1CuCVI>-%`Jg=(B zYyJ7$5_^OrZf*YVA0|rS@EdDDZ^S|u2L@&W*<-5$zztil66>Jjb}iT7D9eosT!SV4 zJ%4!e2U{X8YAtBKzl+y^a?E%I0d|FE zDLH{OjBq`(dbEMk>6IIa)0g0nSF3P~*Tdxs1Vw9>nKK7wdMu6HYFNn|UeA0JHc&SV z3H`;1MMm;cCUD%BzI(Rfj`e&Fud4F}4%Tt@G}}H7*q^4WZQJ+G|GY=ke@^m;Z^Atwi&{6Dmlk}-~ zrJnAt(vWy>-QInoM|!SJ@G_|=u6B-*xuMwf7szVn8%5fCY6C>P0Q4xjXTvn4%kCZ* zoQ#SxBy6;$)U?ohuwOA&x0x`$TdetQp`(a5JyU1zPVv=EQ|9&jD--r@=aQ#ze+etX zT`|?94y>fU-!l+piT7-ycQvZ9Y|AX>_c={Li0Sq$4tl+?e-)9EfoO4k?bGGp-g?H& zM;2mVLV&%Go@m#!Qed__=|k&Tt|}R+OJYR>mF~S^QFSht-rkew9kuVMx^_obPr1P#}Wc}Rm03>Gd6#z8te7P-i^s09UM+Ndfn#bt}y zdro9A+r&peRP~ZlH-LDg?DD-1V(tZrCXV1RGT-v)FB}9%ya*B;j<7uMt)$S^k+y7IXXfAibm;yC7aX6 zK+PlK=ia~!kk=P>a?+@Q;jWx5^gK04x#K~C1uQ_l-I+8ckV1&}o<`CBff6ONbVi~! z`FTC{vtpg4BO!Zt#-G?-wrcv z!?VH#--6^F59-?3(E4ERwQXRSYemP=*$R$0lx6O_;&UiP0I$~49)f-Df$j!*L@xLUsHq4N>?J4OwCXK+DK{r0>GNXJV8Z8n3be!BSc?qN5 z#56j5my6f@9hhh&cfc&1#NM3qrow;*TL|Ya3bRz&*XVU=LAn;}#>)_Y3@!L_jqr?F zCT?igREE!8lk!Q2f%wi)v5E-CTDmxqx_Y z4AFp-pRu0{RF1R;wSWBB==}(T5P5U)qXDLpyEHmA14Z=kX_;PbMftw{eiDh8DJ$L? z@hI>b3%#mc`<|4nGrEB##VFUDOyKOT(eBu&t5e_xE!=lVBb?uMhnLc4q4r;m|YH#T%j@%FXU?nvt8j@_CeZ+_-ak)!fBa3h#z`XBJy!_}1rhzQM=K)|zzUTgrWK{tWafW_X2KBCWw`q6^KobVtB($a}0r3%TpF z@UbUZQzrzJWEF*!Xmuq>9kamkp!;SpQ#%WZxS-})&hfTOym!!gOoL~w3}gl}M~(<5 z2`EY_;o~fD@hx9YoD_^*OiZf>g^gWqjf!+MwmDl#x?1Y91^K0^Hzi|7>(f$dxN{m( zB8#3;KwwQqNKUO7)I~>KQ~$hJ<;650GDF#ofH-Wk*lj=TQqL{LACOyVDSrCm1pH3e z+2>GB%}l}dU$8(#$HI|C_Cciw4i)(6unY!9yg!uvVs)MT{_zOOb|E}K)3E793ldAH z9~i~LU;b_WkN-TTOZ*Qp-+)MT;xDA-$SL{fjI>d}A1I^_id@%_rE3v-==cnTkHr|vfK8vbEd!)7 z3kiLAwR$3YOyu5Z=$Uh+G%L!<$^5G^JvtsNYTk-=zghWi?Bx5+V}L3#$#76?_@Pju zxF3KPm|5Q*Ll@VJZ7WzqyaV@9>6Bx;O5!PcO;T5~u=Waiam)90t;Zmo@O>=W5H;p) zliq`3b}y&!p-so)i%{dX`jGFmUu2bzbK%rY_)Y&jQ>lk3@T+gJq~S8D)7iqzXV@QL zsCMPS5Z^-xp#>VxT8_pN2)CZpAYE)t*VZB)^C~NlR3|p1 z|G!yZ&CmeIc`rFSAtKeBTLs-CJ-CzyoZ{b{RFF9G;uV9oxEHH!1%DykTq8PHkZ@L# z<1CHhq|WT=*{-$rYuy6u2*lv{T?VFuLcx%Z4F(8kh&&V%%lwKpr5t6-2hkjmUFNIF ze0*-N&Spb&N{cJaHn)E;^~mry-lQb|Cy*5FAOvFKp}y&p_Ite&+2`0BKHJ;4*HI`^ zh~XyFCa_}wfP|y{fAjNy)$KWPe#1`^O0&gDjo{O58CVz|F17nvi8p`~W#QHDeKw7} z4+8HJ$+bkWTp}?~sUaa|jJP$p0N#HsQD;~8?x#wB@BxBIFtr8hm2w z6Tf%PDXojZBT}fD6vc=z75i2V?b#~p$_rTBg7nCeG8v*4CSy~_jV4Jf_Oyi-?&ua8 zVGitWMl3l5=twxemv!-R6hP76?4MOfKQ37Tg|OUvpV$r)be(f;5P>^}pwM$x;=`HC z7DN`%@g08Wot`dr9BAdZqL=iL?on3Y`7>T=@V?rus363w>gb|5EIcAD3YoRf0P=iU z7#}+UbA4%ZvyVM_X+14A*E*m;`}bHv>VGyiTiOtWN=9eAPWsYbq*(Q%$!VwN!h5Sg znC?uTQ3|RL=An$iaVM3L>U}gt^+Djb6t!DZw1*btYIZm+2YuJKU8c$sHB8mSgwpIT z7p66(+HqCyM_<%TanRSPml4EvFD*3?d0JQmlV|?6TQ&xfP5Yxu>3y1RM97dkqKg$q z4N)XY6h$n6HH007$gR;4VipxC5UmOXuYS8laRy8`(3j#$?bN_IDe<(pdOBuldA3A^ za5|#->{?x0r~r4bO_jbq#w{0v_eek&eH<}DnIo0(eK*?B1vMftlKQq32`KN$^ru-I zczud`4NefQ{)uou5lKQnS0fV#x5xEjF?Rr^vFBq&sDRkH`abzfc#1W72>`D8s*yT;UtRC$? z+joI#{zB^F9u;e!(#%r<4@XT1fOG^4j%q<)Xjti_RS)dw^rQ2fOXS~3se436C4tZ~ zxI;u}9Oxs8a`woH`=B8m8j0oweZe~=(=Hkj%l zNx4j90EKc>;_#h!CND<`Jw}d~ZD}b$d>3(4jqUC+ug&jLh>xyT{;5GTmHsSjhO+Mv zpgt0TMn@WZNEB;>WC?Q(-CMtg$97o*W|j)d&Z`TI0tPPrtXh~o5(3zb)o{o-+15d+ z*W}oQXB#UVv;`=gXWsi#)EZHgRaLwGx_{Pg+F@xMoXFQt!^!xNX$wVx2H{o5oXlxHhaPdjYxuvk{vyq-Oi9I2A^-v zZf0^bwo0Ym=q#jGHpM7Y0A^ajQaT5+HP=BHk1;cNv==Gn_yr>^z|s7cT6oPZl$?CV*F4_>%(X2Mo0I}X9HZVQ&@&R(f z;;=Ic(lF>IvVI27Qoy|u$1vJFps(BK4x{;E;f7&wD<(7KwMleZFD6OI#6gbC;A@>> zVGq``9a|2yj5@ICvs?6i;08wux9!wG6>wvyCiIidk?7KXepn~yVMAd6p5G~7+qDMF zliDX(tW4$h{(Y)f9g2Oe_|Z1-1WUE{3TANXa;+O~*IP&^(dcTkWV#9Ddj%8c2N{bz z2q;p^DjKs=h>=GJ6%q__d>q1H|4R7mx8GmwD8PR(XWOC_wR5uM z;GfXVorcB_34t@S1-5b-17&g14JGj8BqrGN#0Fd{?qE4MF}>ca-lp>qiCMFD=U|M( zmF*Ly1U{~|9hw1j1{`*Xn@KW7xS6#d!0t@NC_AxFlX6ES9@RMNpp>8g*OWLVC~6D^ zK#}?XJ+BV`W>r6`w)Mlwy*hKGfgA5A9tTjtIrPt4aN?yAEPVa?JsB=?)!nU{ ziE&si;~&01?|^DfU@DS%A6)(QPv^~I2&a(G9Pnjvzl~d&*)mtE@V-Iw8u@t-+p@3H zisSgtX9g>TC-Se%rE)}ODE4-GpP#Um0~%EO)d z#F=R!fY>gqSt(O(`^%{A31oLbSUXyIovfW1@D?688jM<~TNPJJ|q}rm-33QLj$G0NY0!^y;e3hYhedMA%cra<^#e=Bp`^RvEpv! zk5~C>RsaX!U*2&reMG(V?m@LWmNrVB@9>aGx=O?Q10~mH1!7-#U^E?%D&G$Vaa2ZS zGnafNU;p}f5fYAy@=}1SRwdO6yK*FIr2=6LMTFL&QayV&1}Uu*WvFlmN(Cpq&-w%q z$gawQ2$Ar)SXNZ5NJ^GE_#@d{+}&D%#UK|`*4lnq8aE_XUn!UYgQZHc)AK=-jhAM0z3kY?)_SrY;y-jkO;GXazH< zbDLVL&a}~W29{HQ#do57&q)Lbl|@y#g5DM^E_;o9pry}#H9QQQmmatJ9E z*juMrO4gl=Ffek7J2MYfla(`ZfeRfVAi!)bb2zAQiH1mMI9Q`7sjv;4mH>&)k&EKP zkUC$Oqy?=W@0aJR$+=yhNwz^)!Og-9?kTrNARF2RM8cigL4Ttvx=U6S4#9h9Tv0hi z90#Br%sET+GU{=|d4!s^SH3Dz0I@^loozs3J8`#97$Q)Qkyq7#csUI8cBiuAnIs%(Dg1+aZ+#Q>Me zEu|bnA-25;jSnx>R)0<}fLPg5c|1UJN*1^*^~HA&^8Kv{83K>>$8<9AlFiFrwKm+j z2I??CCwC9ac7uRf^>qczjg>VAW~5)vXP=s}7u7XdH)6qYA~FG9tX`75jb_5=wErNI`)tDh&kgW2Pi!k3jgT^_9L6;O6}qrmct;!D+a47^=m zA>+Rn%PM*$I^+8wQb5v%d4g%&u#HLPK}#QwJm{MAp$AHniG9l7!H|MZ?)rBu=hEOE zPy&q~@h};19^W-}*UulA8oug5Sak43ukW4^@{K7=@Rmk?!`AOg-^Kg6K=GA*dI>QF z7&;f8q!E{b3QQ2-Agf7OlV2V@4U=0oc7|EZ!axG7i^f?u!@7SD1;KU^O= z&nj$S37ub+z>cve=+tQyssQj;G2p*vhWwtTi)vkfi-OVyuOzg`+S1_f3DV7Na5=@r z>Xj;vtuC-w_TqLo!!m%qv^T)>^9oCg65%~M3jkPfato(R6Q=b%mmmW4-^zSOzIU+% zy9)K^L%Vpxk=Xv7UJk4PN?6Rh=s9@>?`4vFm!R>4RfBWnPn=k9YXLy=FZswnO%}Ft7vR(*EVtE2uk3k6$9bf>}hZubC!z7DFtpBkxGx zEQMnUUlJk;c{DOJ!gjK?mAJM1x@pRVY$1Yoyo1?c?}4Jahyws#0D6rQJ5!X%zX!Q( zE5Yv#A`UPv;do}n?TcZiVjm2VAwk-bj<_&-z5_y&@m9-1l}f9Xsxbi1VJn6Znj}nL z=Sq80z}m4lhli{PNEm|cKvB1M#=VysETIzt$~mAz3+Ep>uah+1Z{uT_)cK+j7hROhBdd1Kcdnt;@5t zvHpbcE;Mfdm{V!}7(la~a(QG%QM%W$6!{S}xL-!@Lq~uYZZ&r8BhwbP&3e_-?cMmF zwQ53$!so?)NspN)JFE0N_6O(*xp;e@KT4Z5G@S@9#Q%yW1@B%MYTo*R-K!4rT`!iz zXKS;})-Yg4TvyD>F39w=b6t(F$RE5Ks|A<`HURU7Day^+nQ^nbJ?FZ2^?Al<6=$>Q z!FE@J;i4-JX5ifPw=234=jPV}KbKjQ3%+l;V4rF*dFk7@@ihw zkKTWc1Y;U?HpUTtn+5L2o>|GcU#=h0uUhb7Kmqt|B)^SSXLy?1GPAW!8g_oNlM9^@ zWyjwzE&8l}UjE$Qkk|^LLD^6C5P!3`oKfxitZl#;+?{>`d zOI=)d-s6b`+4%@O!pws$2=Xu=y%Vc*k2q7wGO*5msLWtKP)+~YnQJVe{FfTAh$4fs ze(n6-c+&c9!R=xE15d5-0RQvg68078nETY=_4D@t&~dJ^sX~Eb(pwYERU$&uVw+0_DvC%vZUg&$sXsm8%O} zovtz)v@g4Nruw&?E}ll{(%<`?!Ogf#*;Rjy`^c#OVYFcS5Vm$fxBuKYNa_@}!Vm;-`r7<&#e%_Rn{vA+tGu?{tEhjj`2f42yg_dGkmX$V#P(KXoB zG@j)ddfV~4jgf$h`V6m~Vi3Y&l>y83kL(Oh8Ce(_LMz;--#7}e3oKogJatwqu@%?? zS(>!P+}F>%LF)qSrmoSWi!;tKyk6gb!t7+#0I#xX?eq1s$XH*^?*i~`?J5Un$6xIT zzvdB2Q zL+-)4TwbtTYke%ZzSRO`&Dyov9fn`~*{{#R^@jCnul1{F_0}B1p4dzN z%G-mpze7<8v6EIASb^efd;KxKCZ`&$dA7QWxsJ}6ePy<5_72a*f{r15AK@Y9!L-j4 z#|B=95o=3%YyBDvHr$Qhek{+#@aulTW$=m1o9p)CZx$@vz-JN& z`_+??Ve@Z@a~aG1%f|X`Z}y)R*Kd2Xo58bspODp?Gp;eSZ~MN+Naql;>c3x4s;&;L z564C8c2KY0#k&cY{m`)C#LoeRDO(md?MfTpI|$&L+kU7C2#$3gLB8vj9=9d2WZ+KzvwET;TXcIv>U~L-59x_ zMlV070DikBlDPf~-q^=if4*~BX56~l^1p4&xIa~I{DrK){FsXb{}BY~dD6$OUB+N& za*wUh(npI^#q&;b-G48FOcKQjEi(@a)*erUgn#^3tz&id+TmfmZNE4L=lt<2 z)Y9@k*sS$0BMgKz!0D=GNAnl`A36KDK=;sz zp#@?KJ`gr3EH3@E`$uECsCt1|nru*(pl3j6qLnOGq|Vx1NTm?1%Tig4vPQ7>3k#bq z_iVZ3gudGg`VQa3I1E~{Dr~>1a_AL_v2q`9PozNkDuRDa-j^R)V|96I$O9uOwS#T6 z89iDS#}koyVQp<6tT+ACY;lt4M7#6te*6ls%@ZtKa6^!Pr49?EczQW&Z{z)<Z9%CAFx(f%E&y{Uto#8i&HTvv#$xw=Jco}*i!h-*ZDQZ`LrDz1i-v_8)+Zt1dyB!W5{P`9 zxZYO+bNVSTDCL0dax!s(DFDyJ;x%6Ooz*G#AwVwVRZ@dx#VMOv!t4VDx$r_lKrNa1 z;p4lJR;V4;;)}PNh?c9;_IoRD06ccBzST?}*b>E24}di1}t z<#yL%@4|=W_zNI>Y9H5pJ806zu{eL&&4-ly0>4UII)gmKo+=Yp2ify? zTUWnE3nF&N?d(FHR3RpR<@FNM4&tf1w>P3Ta>N8A0AK<1us>R}t`%;{@G2ve-){(r z4?%3>0}$TS*ToNY5t%zUWz=eCi6g?`&QfLFLs)F(ATzesJH3tQ-%D6**`d1#Ce}oV zW^V(?fK);MC)bGnWFK2YSm5F3^qMv%2i zZx|LQBI*KFO1~Vy$UbLnK*rU2cfwfAwSlv==vZs7vxv&60Z@MMlr0ns_p1nkx-88` z-RxcU>3#*BU1B|d0th6>ze451*$f3{-Z|}SllTKqfS*KO%vwc!Id-xNLPg`O1wHQ_ z`u5*hSu8C~Y@GbW&X4#G?|UZM^M_fa2T^6-dF+T;Sp}jU4;{u_G5E5>c{UYOH_z5< zdU+T22SBW#%A2LE2UY^SJ`yWX%i4#^&J_~t3}(n$VP`q7!J6+mOuUDTH%U(soG?OV zTueRbIl-su8co1c_)bvua+aYU1nBrj)&oZP-8jS$>E70->VtFzBPF|o z*3&W%ScN*ZRr39Mrp6J_zGYqsuJGh|~7D(B6)K`#k;@qIuf7YriUqm9q+m7&0RA zIL@y_LT&H&l|cAo(>Fev!|lKhfc?jb7*XYlnr6<^7c?|Zt@1myz&ELGaFnLtVY?$Z z;2G`GXOY;VfqGh2P}XRLPL_`A4Z?kMOomvSuny&_s%2IUge2A?Xpv+@)0cB&@O#;$ z3orMu8PIJYntP<=;epqJ=kMtn#A(QgN7z|@3b)d4Wp}FVZ*O@T;|*k1|9>PZMGy|y ztlwfQ|H&-1Se>$V)}X2em%p(WdRAdbY7@d<5)ljOi!Nd@`xpDMvdJBlD?Xoc@PvrJ z9A$`dAY$%;KG3{rfhIu)4#n|RuK_=;+hK**L7DLxmg0BD|IOJb#a_H%Aoi%cpbQnu z0@g%tcPjt(ir5I(Oq87wTO9?k%0&BIxc^8*>m3+^U@LyH_Y{K8lJ73-p?j#WSwbw* zvgJgFc3&|T{4+ofWwLI%!4&pW;=8mJAz?Sz<&I|-fM82drBqC>OCuI zHdrl^T{o~rOAgnTA+L#154eKm=0#57)qmB(2V7Tvle<0lIOP-^m;zAL$>Y}^*7e_S z(Y;Qhe^cJwAU@o!Ib;M~3JtyUY( z?hR92nbR|^ylLQDj9XiDAZH6^Nn2jJ=VV%MFvH^7+M~|+(;{=z3~j1=27HsL!&bzS z-P`H>()p%ofGe&)B_(+rrr+3g|dshsgv*ukv{)5i~mKd305qJOtW&oBR6D z&4_4@*T`)P<-ykI(K;~_HiPuqF|&LZ=3I^WlOEuhZ4z&yyYax zUEM6GsrO8(uHAcBoFkaYi!1>UI@_V#rts|qbccG-q2(+VA_by z12QR`hbH6C*YDD}k?U{Gw6Tp`TN^^of6lSwdls5K-^?EhL#x=rV703V^a zW`l;ck<8_^cvCvvp{@t4pH|p91Dl=>5N7G}dqA{Kbk%F4;Hnh|{~~3L;NjQzTkJMX z?OJb=ac}2oV_-KL16I^ZRTfL&dWP3!CxQZ~wGd=Z!0-umZ*LzGAsYaG5)0~HcJQS={s2miLaM>LMU)i)LWYx+7 z;em*T4qHUaMc}L5Ixkc}ztsjxlVr>!hVE|futSdvy-BB?58Twv(BaU-65R9j%ZRa( z%@*CcM8|z3EpDtF8lQ)>z##PRH}oA@`_4rxHU@3{zpd6Q<)#}hY1K>jyH(xOVC1Zk zQh0N*Zn~rK`?N#cY`~(TD6#YRdX4dvh#xsDfm()kq~T z7%NdFIvJXdAB6*)E=>R%BA{9;!2nd92ga1S;^g@XS(=JAdox8&G+SubmMJ=MWI3DC z%J$C=;YCy?;>o~x^Qfg4FXHdwq5R+=DlpBprmOl=&6mP2r=DI7!x4bsag}}FcWCjTf&v}42e>jio-3- zH-IuLbB#PMuc5I3xWG}sTE`K-4~K3Q=co~%X1wzpLG;Dwp5#v$4i@4Cv& z0?(DZ#TJg8#SH?;V+1vmii92PmMkVqVji&4E(8*SO`lO{cuB&vTTHq3+*{$1$;)5v z_jZ&4n8=UV(P42cZD*?&xTCZScY&dCs;v+>xj67P1Rnteg5h3=sbTcig4xB;Zs)dZ zbou7p;qjsF(PVDG@fZRR@s6g;Gb2vbq;r%ZaLn%y?*@7h{XvKS&7YlMY6U}=^5`jVgf|Sh z&f;{R^4tgMhPjpCo&@SQxKtVlR6wd|V$EazSh2sn^j)E3`YN zxGo?wuulM&ui%kqqPMDTQTQrFtDlcxg4KbT$QaSg z925Wm103)7wtH^x_S?42zd~5Po05hoOKmeVHny1~mqhAqw!_C*+wS`Y5Tk5+o{TiM zcF%9nW83#Ih;7@RmRQDiojD1%>*dWrn6d0;GKhl9RxE=0mK0UOEpcPO+xPh$Mq?q6Nt2=QzNVx z-WoGVXUjaTIo`W6t~lzIqxhbJ(Vre%HBbrHn7@p~a~&1}8AoAq)0vZPkDQ?IGqp@h5cFf@rIi42mXRfQyoj`5 z#A$LDGw*N`3$nJE%Lxs65(gGt6lyMPDl!(?=LA_*k~Mn6K{wkZ5n>UZq`qY8 z8sZB1uTn%zIhi-dP(}+V`*(sZMdw1WiVy~ieq@v1wH__JDXqXW^B@*EVsmWRYsuVn zyEcV!4=?w+)}=?eS_{k4r&MQ)7+>*-|oY-E~8u55R{J7(l2sbTPPQgmy;Pc^Jl~Ib_gl}fN z<)1*Kk(Q4D=RgTRvy`l@XyWXi09`s|lrM*QK!A7r_U5Ecoo$-E+ZC>;%Sfc8vzn5b z%-9a)R9`Cy+cf&-g-1hgpWoG-=$y2nSr>c+G@ug^OM*7S-wbc*+uOq;GVQk3QI`6_XF7*tRU{KwOpGD%d94kZl((y8Dd%34(N*Zl7^3_(Dq@m%>B2-1=)TKcCJ-v z``^Q&PPv)yj<%M!a^y>jg@D(wE91u!5w#U=Dbl;FO52vMr8rZsp^PyJ%v;k8v573q ze9SJCoV^&4H8yI1!h)4O^&i^8eX#&{@3yx)8q z3w8~RS}1Wq@e6$6BrLmW;g|{h_6Bz#)pPeR-kx6-)hwsSS50krxpK~W!-{ua()QJR z$z!>2+d9X28N0J~I;oj}(dt77YrzQ4o%sB(m~yG#zKnC*D{Tc;0^{(fM5Ke|Lp=$h z#Ix*3%QtYVhCPEz;Er4IEuX9gRz(+$W(wQV+8Elk2`3pYPJCiyoYT-U| z&sye3I-`QgpL1UW$?Nr$@zj{Y=0$`WPGZ`1w}W_?F1k@R#tO@G-^l8y{ zUcdh6+4tL!>hq#~<|{D2iMyBzAl}UhT~M-bkVCSJ8|P{6YYp$qa>Hn|AA4J|WZv*m zoMkgOOEC=$1qGrt<9)4+LPlje-)*mPw%Rwd=@ut(6yxQnv@DUh%$y`vH`7W`bI=_% zu+5iN3R8Ncbm>c(zT-sDABsUBnw;_b7$-!iUuL}%VG|(bf$l>cCk~he+DWq~x>GSp zWwo`wrMeK$?p2r2`kO4+HS+Ct57;jDbNlB8d`D*iii`J;j?33y%+XICRim7(Udw4! zoKUUHmYHP@H9aw?OVru=&xww`{Z+1Wv8UuJ;&v?0li8BcU>p}mqnY9i>`wZOS;cS(8Q^gna6AB z(6-iQZawh~ONsIx!GUFE%>)Oy+p=D)I)A>lxdpO?1j?Ej<RIbaJZBIq zTy4%K&y&iT=UjK(twB#=%YI#Yrf&zWsjrD`_J*7uxv=}K&~Gj`?4%kO@P$qf<}}|p z7klG=DRU)v!YzUnV8G8=9dyUpu=+wnLFhGyt|>Mq+m7YYjyMG05xfwn#CJ z{N377w#wR7Lvz^`7Isj}%!|3pC6lSVf#Peom*=mnxm~PS=HRU5q7WNerK585P%h=X zP8eV)=+@V5feFX!!`IdtaBw?#-Mr`owydZp3S$Hf~%jrd&v^hL*!MqZM46pKP&0 z&QZvL?YwN@7>aB+CawrqMtep>dw3;=1iw+qaZ}o2TCKH4HcE{P-autxux_bRjw8|M zJn1&eR~YKd%%%n61$)!WR>iV(-wMfO*~h4|XKC1R-cst~8moK?S#1$Ik!@6}^_dA) zi%HGVu}a=B$y({=WZ7~~+!Y>Hj&kd9Z#UkrL2c+R;0$n=`SkxM%$^S6=nPSeu3bE$ zj-4wy5ri^hV}hEJw*}RHpLOp>vS_kC%HmD&E+Ee=4l%;{y846HBsu5Vie&4G`HUqC z_7W>rWV9f9nWe$6>#k_?j5ciw%(@Hn#N6(uMulQ}ILT`zm!dinFmv#8Ztaj!fbi!$ zakHJr270Nle}wK-TXHu_*oSANGvSgpAnwhMkeJCvCb5O{QgFxZaCvX+f*_|< z=pq}5q_USIMOx}aB~Z~;^KJz0C!$(zaJr&KvyIvBo=!*;jhQjGm2a#IbN<%NHeWl= zWpUe50O4MDTQNp_aFSuH`RJi8v}tM#m%N1Pv{vHY+Cy-djzXGSjBT{m{+fj1Ueam< z3|-Tq5>_sUM^~@T;MpjgfJ~R7VWmjuJ)f4{xDeB>70V7&8&{VpO%=<}jyYXE^Rs1@ zFwiLw*|+I$nuP57C-}P-p5>tN3B(~Ne8no+3r_ajT*xi{YW(>wcpNx*w0N$n8r9f*^FIx!D%)*vw3c#$p22=yXwhO;QY?S@M@W?ZJKSW+;Hc&jP~rx>jm%C(?C|jD z7#2(+&nKNOJ!2={vG)Q)fO2?y0)rw;z2Vl9vBjVdMo6A+0*4Y^j7K8KonOe!37j+^ zQ}yl#XB&<8z8YaYt2k;V5v6#bBrz<_YPy7j>BY zdG!|SM@@eEU2pVbY*QS?YvzOFM46HJoYHq8yLpuVUG!R%adZ@T-4E&(?$t7lL!`hx;zR$%~()<*gK*nj{ykQ-sj*UERe2&@T(B5ug zTT>AMy}X*D8NIVsyvMk4Vz@^6iqv;PNhndLU|r7O78Dr3%9t-B&mgQM^G0zy znDmi2FOtg^?RNLxOh%V4j-RYg!D4I9r(dXVsR*i69BbU8HlYWr26yz}4YSRc_ICi#`2-Ajif=5oa zKLO#sY6jYvHk+9eNswy6LnTH$SM1{2Q`WCdzl&wDj}aoLzBMNaH=Arq%4J@-bed}( zDI<1zEQ$YM%1rGCP@2kPteg4}WviB~{Z?folf}>75wP1_6-dqn4S(}VsZ8iCXRE>|Fc@DcvvBGRVef--JA)vN#w17o5h(}(FI)vDG* z^WDJ!pQ*gA0+=!7Q!x^UMqVviCrxlug*6KQkYGX4CO~MI&VsF{!tL19rpa2evmBWM zJVCq9j)7KJZ`g?LXj_sQ6u} z77py@6BzZ@V@>|UvU`6Vy(zj`y%|%=6r;Q@FQIJ4rPJ7c+r$BuZhc=cg+M;o=Ib?& zku@^8E-Y<+!viy8%&a2+=CrmV8^E9@`U@E_??a{f|12%M0%%%<|+}9OE z3PQ7g6`s2cSnYFHdeNGd$hMzgSA0Oqub26AP@*lwd2jKp_cGZXGRWH0$zbQtf$dou z#p$nnICIJan>E@DW$)$;Tl-nv7=@`vXvtkk-l~0o0?fA5N>n(Zy{vVA$;*K|g z;{6h|j&T(W-^kCDR~6ql%(yAOf-Lg24gDY-ye9rfWi~joD93b{JhV4RV<~f9bZMs- zxTTR?#K&0~3q=>PFr&SvvQn;=vZ5?0!l>`o>!~)IM=vY}S;1LM6_f%XYf#Knuyk6V2sO&0*WDthsv}JiM|fWy%cXMBk21(ldJWV{EN?4RtiY4J4%M z))6xz2q>OFI5tN{MJ>X*sS!G9Gd9MXPvp>-QMua|po+RLn>!2-CJQb9D99L2dh^(L zx1@E)5S)4f)&4m@6YF)7W%w$*47t`zKzdH$41p3YXH?a+gd51<-Z=B4?)%X*Rqn7`@s($mbgCz9S48l7j*N1O+aUb+m< z&_hQ8fLi<#kmUNy^xS+I1??ibFF^7ytfKH)wu^G;)gLP$yV1=6ifFFJRLl}6LbR)D z&YI|eB`=LDTR@rNzE@QN&)ny0`4?cFl`9A5%>%qv3K1pt%1EJ!nWjvkbnf*{XvIQc>NqFZbZUkao(OL4DeL$*p(vDWu%r6y+Qtl0F? zZAqzq=n{~@+|@-3oW$9k3l&#G3S@^BTnrjCS01#QpoO?!ixpd4nkQiC)&bjinm5w= z+O&hGLd15L`hQ{5t((3cL6kP9g9utOZ2;6Mz;rdynzKWxB{!vU6T9OM!XLg$gEW<^ zKB20-Ox`sI^NjPSg*M*D@`ITn#Mb5R7>&lNmkBDDhIy4qsqU1ThAtz6`XiVgnD4JMRza}|1=%QTuG!bXbiwvGCunIbzcUVCZ2BgsmZ zF6iXRZDSdX34m4Yg+E=I9Td?{=8hEA*(YaB(m&|!bEfeZU2{^=z(Pc@HYhE!K;6%o zl!vViI_FipRZxAiW;i%uDw!J2xN>un(Qy{!X*4Bzt6fCWB8S%3HcyAxFl8Fhj9wF_ zR8gR@kv5x$9(p17%-@3le{XNSyZ7aPd)hr*;Py^LtjkGa-cL@FF4ebED{!W7_?f77hcg-G3g$H~TX=4ik0QHHMfF>>d!@@W z;;b&4H;C*4<2GTOCFHkYgZWg;ANVB9Y9wN=d*h!@h03dol}smH=JIk6zx7PQU6zk2ioVN8XVxMtM*a8tx@s*j zGueap_ZG~Qo127P>=z%wV_YjIR+4abo4k|JW{ZaaeLQ~XT6!%!6s|gwtut?WDxQ#J z-D}CIgn1Cn!Z%yS${VZ#-Ko(xzO#<1Kk>2Rhg4HcF9{Gm&o%Q^NUg%&?khwwf&i)g z)JiuQV-RoW+T##lTe_M##5#!T6^AYjfguLg$S<+Hq&10Nk)O+$;6uO<{#5*uhOqPd zq~$kMPac1@Nh4DFE1H3AZr{<7I@gC@tpUWQ-u>;@ZnVR?T6oU;p~PCAL{11<6iCbL zcq*F8ZR!CFvb3Pas$!k}@(G@1SzH0>*sd{Z!lf-1;pMptPGYMsNS3H7%-f^LDOSp1 zxzwD=2Qmp&ec6lsiGd0}k%B#(*OaavTM8?f`|4G#%2Y1by`H8Mcgm;hyiwTf%dffg z869~wd(r4oF)dw#%?y6y^%sY#Jd!mvh1~ACnJYbCG%^N=xF5vx5yL8L(1}`<{77j* zlU*N>+LkM@&0G{qYQACdc=|K$x@@`-ylDEk{N|b|U+NQyU)aI%Zy#`-$qojP0nh?4 z`BZu^m|JLhX-}s~N%E0cic2S3*UWQ(hwlTlYWB_e)+wIN`$K%Z6GPx-93HHRAhkIz zCr8VW*47_KBO(HYz>`d!B~mKGn(ulE$pbt!6 zTc*K;Y2X~UH>VM~&BYb=bZrVMS!XtS;ANN6Z%AV(`WDeoOwXv9NrBIiW)5st?N2-p=EJ2_t~xGRv-8_4DAw65k0~w zuTP*>OZ-)T*e5p0t>T9%yl2{Rx;Ood%Se?m^%0p7;^e??B*p@ual`?uw79| zYCLLux;-Vn@e*;(FUDMcDn5Mzf<2$yWNT68V$&(x%h5u*(lM4v=BQ1V!+N0r6X>SEaL))$ufPgpYJvA@ zJDN$p{rwia$^nD2;en~s=GRI2#+sKjdW?1(A2|-@#rB-|oQc~LCT#c{6{>HryJ|gU z(Nr{&V`5F%y&88KbY#s>yp<>PDL!j#&TAcsf6};M`4N;AHE5R}^ug;Ly-MlNK{x$> zGlk6_b`d8AVs%E^aFNOOoG#nv$*`V)_t0uUKZ>F}Gk zV>wDka8q$pDa$(Cl#vWLc!is+TrUdb6=YpUq&(5PMP+^k)*%}j$W=Pdvkp~;h-BYP zTzr;ZABKpbN@lg;mYKR#()qlVaD@56M;Xg*^)Sz}dB;?wJgWvU^%Rwpp^BUTofjxl z>3lFD!3cFUhfvl~BLbftCa#YpNHQNw`=)ZcnFx80ew(F2Wf2gHAcF>$P(lFA{4GUw z$Jxw1g(mWk8#n@|>Om`jy^|d%MdlCiho?6v=ehlE8<9F*-&~~eLAGC&_-}Zrp5D6Vl2~P-qA&qkF)A1#dT~9+gx>P5_lHfur z;|kC2tKJ5Ort1ravZR&<3pF4CQqv#~ji65GmQd_4UAhCMRwcEt=QjtaQS|R@AddkF ze4JXN5U2p`feaLQP_QZKkpthTL8^d|;D^UTc%=v@JT9C~qm$S)4MjX8lz7_J@HA?O zo|6Ic4%nwo5iwAR;bNq;^@rzzP6LKL#T!EhzBjUSWA9CVn3uG*E7KZPY23Q}mL1(w z4$lnE8*G!YV&KTpK&w$_$mAyUdYJm#QM7UFRjt6HIOjlg zqMmlRs(R?^zkv4J(SZ1B)6mBI)+PY-haz&?k1+Xkryy|0Z#4e{?||ij8hLtL9|i?a zsCL`uiwblM1v8)^BK$N)f4-C0ngK^4_XP*+0ci03lV)qfw`yL)9Hip z0e;n2qkLd#1kid(19Z?@?k9xb;tDk zJby0m78j**R)qy#(wk>Dr$7+le^>V=HNADw%0tAbW*T%GB*W4BdHrd7$#Gc66#Qc_mQSIctc!GdLNM$v zIElrlrjwik?-=@=UtmT2$)H#cfjn%)m6|63a@5L%MJXf$&`@R?2w-)`Dy+zg0}UTfT}rAScjm6)NOyV3<6=X+9d@ zn0aseM|1}bCJafNr*8}$&@tUWxrWFR?XVbt@-bKtRh6J5zFajhv0P`TB zQKyL;7DVMRjgW_i$sY9-7@_J^!a{Ex6nUuN%`#o%bdST|s2fuTLOfWA{L^3zkwm3l zkg4S!;fHn@e0R#rkXO_-u=A4#g_EQ74+MR16pfl-|7m!Vp#|Xh()^@)&hP8-99!7`GIyoWW5@2!~*msm~7(lL{FXj+rsvAl3tdag*r9^X&%1 zQCJ9paPq+h12mmqGL3HmgN=VsOnHy~Bay$CQ-u3V-KUHk8pbbE-1`YMs5*Zj@!%9( zp97fqlhm-U$KgF47)0i&KOrF0&3kTx0uENa`{nreyraNB|Mc*X$B=;s5BR=3F!30FCR?I5=CuN4P(#!rxl)#YTh56&sH2&q)@3+(1zj*&b|J<|Ti#-gz3IKK0CC;9qc-6$GR_hLkm> zFx9CigUnDQqGXU?!-cq~${Zj=tzI}O=3aqGb}m3WHD$0Gs!tS#No)up*mSspW4|s(a^NT6k|8D)JQy5k;CK8LCkVOujr++mxeUVpr-=2}8+D%Pb zmbln!eD_vtPE_txkvL9CHB;Y*$s6TAe-$ah69yjiCF7Pd6nCZbl>K4L!AMou_?~$O z+RsQDj{qOo02(Sz)I;9T_D8$XdFV8QA(T-%Q6DUew!1O5^WyY;!)&O<3v2dA+mM?3 z_;pI*P}?a&n+mWO@0GTD>%rL0VspJ89<=((O(ZApyhd$Havs>6x_^jxaHHO><%~@Z z?|y%(9^{?IKSTwe;QGhtz5`|X(?ReAZ#dNM1?B~f{0JWi5@Dvv}W@u;lP^$H;Ol@^!qnO`OQ><1A9*Gl{CF(hQI5UvdjJ z3f=%@a?JY>&R>{snLFy`tS{D#27;qf`l^>SLa8XH+hcton)+vOlMb}>SqSMQ z5EL>p$l5GC0EHP86kn)1%Ikh}MtdH4z%%{%3IU2)dkl)?G>SI|e_!vug*JpKbdE-q zD%?^-a4c_QC*98zN7nVH7JdwRF&JG#>F7Tz49n;2p#w_^FUjX4giiTUO}x=DM|jDT zXeq2D9b{FEyka48^(5=7PEz$jNvr7)1j?UplK|4p z`o%*XQ%}6}&g_N1YHL(F96X5bosnhQ=MHmx2mg;2$~DduE>Cg04t~H!lXnNWopaV0 z6|FYHgfawQ9t&2Bwq5qy+O(dQ}g11qbIKS+HV2rhVv@B#V=%f=9c z2MJG{=4qG(wHN}h8jN^E0OhG0LsU=$ARZuGHA*PKa#XNVOaAhmo>_wkVSJbYF;Roq zFUj-11{BzypEoFp%DjM3_)hYAKq)0d)2M_CneOQ}Os{NOoM@c&N5UgXnl*p69n z!PqG&12s|iOJL0AJb?G<%nZRqy+hbR1IG;rb}2#v-)*mX@c^N)7$n^~1B9m@4V|OO zOByC_sLT3GhpK0gJo^kG2!ijZw7MC9~~&?gAbHx`d@7^-vdh&-T>@XN5cgM z`Ovhl071+5l+@lID7*?>swVm3J>V0%q(OY=J%Rsj$E>8b#GUqeIw}1qpMKfoTo0iz z0mKA(pxkmk8`Xisknw^8v0d{r9P3}V4^G8Vw1F)=R$u9b41DRZ@ey%Y{etrl&;Mga zGz$m5{)Y=^B$;}PhwpX}mnES^kA*77J6{?nl8RYMN@cF=?aglS7aRvm4fsOcK&^( z_2^7fjk1`-qYIB%B36%ZFY$sYt;y@qAUb~?^5#pxuG2>P68B0KvMJw>qU|dl&XphG zY2HK3D@+8GBEIk!3bFijWuxOfQ{+6D{_7gZqwSQJ+fNdzyr;iE<{X_uYY~5lJ_=Qr ztDurh_mXDDOeNOhc{Ud=YIVgwR9alfGdkiQ}tniyc>^i52#FW9-$C_ z@F#%)IR+#PV)d9(=9wc$nOzWNWy=5{W9ygGQ=UU&-|bzVn3=gU%iz*`2H^fPKKeQ@ z8y)5`HTo@g-rui(#s;80a&~i`bpYGL!Y16OhOuLe>$E+CYKTyHX1B@!lh;KNxDU;} z8Fq*2$dQZ1!534rr{nf{viSn!FfaNv+?(Z5p ze<;RX4AZJU*U}JDvzNo`n5>=EttYoC;0&Vp`AO8Q*T{dKAKgnCLXeHmHEZ$H2@)F$ z^ZUvbL$FPu{|9(KE>soS^o4D2jm#oiyRff6rf&ohDosq*h|qh~-WVBu_pW!$uV(Cc zX3qN9fSs7W?^8iDQ|v`ZeN1wz969e`yBVq-<8k}b^GpRJs9PC#$ zcdazJ0yX>JSigGY&K}1H2J>&~CrrXEjI=U-Uc?Y2$u9!p%B6nt2Hkoja}J=sslR0N;OYf)IukR!I%Js@KcybRQufUXJun|K$yBQqpY;Fx zbWus$-(H=RbaS0HPn3{lo}5c6@ZK@XefgKVHWXL+ON*8mXNE>ibGy@ai4&7ozNagxb{ zIASepD?ThRx2S0>SS(AhGM@u+JrFOH;TTU}ePVxiGgE@8#mk={znsZuKV;L(q01{(Y{1>+5VqVy zleTr1Jf%wgG$V7Szn@KcnAqUCzQLIV2H2kelujntSe8Q8>yO!Ot$?J{2E?6Oi3?lO zGAr{xGjQ5>8KWmN=aT!bjJI7i_ry$^K0nk>hN>Auih;41>-d~kQ~oj+TgXBY{|24c z*EBhL_jt!o3W3_H%I#Fj; zTHR!4{~@b!ziV4)b)u{iqz$UPs<^<9xrO$AyZI@Kuzk${k-#w-_es4|``6cT^anKr zqWv=CBC*&-^{8DlHB}MXCCHls_m$y&TqSF1Q0!9^|JQ?S5V>C6pY2#R&WJ_T@ONzW zkD+buhs;!eI*6GOHVfX~?eFc+hlqn;b`BSH@(n7=s~-RD(<2NjyYcUc#i*klwwl>x z`}mKVpiSD)DQ@dsVP9fkXPT;Umz$bb9v3@k@823RKLic;r0)t!#B!*K_z-mwAEPqy zb#*SE9CV2hr>NEiwhwi5$xdt7iKtEZQfim|fm3s@)YFait{BL74HF=vntLAO>C1&<&-kadEd3z#l@rP#TzhsqB5%}1?$;O9z z#Ty^!Cv1G7@3!$6U-jI+a?j$c>Xe9E?)h2kx35B=`w{E(L)ij=_)*|sx`%0h27^SQ zzlSybH&J#pA4LBcPuFkjJoJ$^KG1vH_(Lyn;}1PsjQG&!rWA+%_r}MZ#dcINK0_a8 z<2ufM=hJ4x__*;WU#IaE|M?f7jQt$+0Dms>js9?*hcoB>b=eG>&*!yjJ~@*T^Zojt zGafa09pS3+{bkw%MqJ`D>JmRu>G+pgmrspN#1W@a9}0W??VY6_)GnGVum9H_XXO4@ zDV|>j?U?3Y_Tv49A@2zN_5O}iHT|%h#(8W(`(vk2H6Wtk|2r7M=u_3-`$^A!fyp7v*5Kk(6AcLSKyW4F(%Z_W=1M+vn};ue@!SR=gSE`IWZoP`g6)-9iBXKz1} zr6;Y<@}h=y(*9xnI`Pl90VkU(MGq7aM1%VO_*PhcmKfI=LOt#5$n@Ke7eBDwJde&n zf7>C)@?GNB6*Msm_}@tynVB4u{+2`d{z0?3^P%w`5?u@RTwIOn8P4e4&3)8^bLO=# zhV!kAw**X^(?AHn9ClO*g19}dBZOkwm1>U!1QnLAkDguSug-=|BbUoP=;y$8FSn77wU{9d=$`>-~Pq|N!Eexwq5(!cI2C8n>5_;`IY zzmfU>%XeB&|`d$Gtd$S41XWtJ;1N|V#f;xd`gA9-t5XWUv(}`&hkF{sS7c} zFL$b}J>ATYb?3*I z5ZX?o=y*Sn3BagS`2pI02OEMw&0C7ENKBVv1^0)e1~i?zqHKb2gf0~- z$2csYFHg4|z}|Bkwx)od%BsrD`bC`(%tPKezmL;Y4rMdg6(TmHV|Pg}g9-TBK0ba@ zflvNo*OnoI|Fx}$b6QUe0QjoE5_C5y>g(dWSK&65@;H$i#q*Lz)rOqxhV7FDdtP+j3<+bd_xgweY8A{^bA%L_l?`$eo1f4z>#0G zZEH6Vr0pF8hq|wEOggM)0=MtOBh!Q^^04Iz5pjm{XW@3rYTVW$+qR^?T3(KS*g}FZ zeKAdpAl^{zDcH)*yvB|miObu+v#f#wHgf)&fc2_(_~7(t{Ds(0HylNsZWhEcjz{jX zEMvEJy)E5(%36Yz)3Q8crhm*3uO&5cu*-8QBhu@4mv?W>9^K(%8H(gBrkfc~<+3Uj z1mO4?`4;JSFSVZ`;D3H~@7-3TgrhJIxv9vL8ab|$e7oO}W>}N(H^e>z#;E|)mh)O1 znm#V-`xiNU2H$HpB#xf~8l+`~f8|@sSyG5&FXOraOXpXTZN>Wm-TUm^@vJXf&kE z3W>pVKf7wcrt6;~XGd!Qp3HOOn3PdbssEsHT9K4LPlllSWhX5AMa!G(&Kq(mrq2x% zX7gJqg-{a#bX$CJ#O3m_buf1g`*He?>>AR)1b zbZpZGtOeld#AaP{$NI-t&MB=H(vC_+;ci3qIv+_amdZJ&PJpG@rYaWcFQ=FU$73=A zv#I|!{)Q~8|AycqP@(P>U_KbMX$}uH1kSVc{EGK>wC?iJ0O9KFz}@oI_X)jCA+G@n z$MOR>xwM=#1F@8d7fg& z?M2kf3^q9!(*PHxQX;;n$GS5!i^3AqS^;7d*CFD5I- z_$!L+yww3Xj!nNQs_*Xn(-1AT-MOYSw#%<19o$mz)73}AWyH^Jwy6vCa0?(H@b;PnUa{na@5@FHc&q_ zGw;w8=*Ii8&B%N5Nh5LoJ7YHn(tw>$I6eJCC82(GxqUhoY)6mO%#__n24oD>E`Q1+ zGTqv!x}%s`&UFd-$JXm^tgY1dg^P3E>QQB}_CL}jrsEL&!&mmBZPME}Hs6}Ocn+*W zhnmN*2g%Ygq4h8W-%ly?`U7K!%L{$Z*)kBN|GZ@H zG;~jSq1%Vtw*l~@6%AC&R>M#C4zxS2k_c055_X|@3Z(G=#7(gcdvW9;xBy1@9vcbp zpkcB~@u_z|99|o{$W-_wr=WroB!ogzeYm8 z)cq0d)9wLsT;VNfoG39hkgOuxN48wQ%FarWm8$4tH zHYf1n^k9RO>ktgc@afcpp=MAwJn_JkX+z`dd=8W`5R}RR>{P-J8axi%H8?%TA)|19`Bb3b3vzB9ppT7cZB5zk1|EV|pRdqEk}$yizwCc}X?aNV<^jS% zbSw&~V0zeny*nKL2P_)u=XgW|WsJSi3P@0kKeTw$m+tt~`9bg}9fhCdgN4HT!CH$) z07P!t`q}4vFjDM4;iOza!|4k}hda6#EMQ0}Qh?Q4D5t>qoB!hW6+xts34pjvhYouLK!CALqGw-qzIE@pedPv@}UH%{)tid zdn@7ayS8-O|4@6wLRsc%eoPjCJVkqST7iLs+eFVa{EGZ=I0XPq7IGN_o+=<*n1@?@t8w}(@4ma@P z(3e9k1ZsX3*5SSM6EDrfm)ZDXvC(j`3R(o55^Isr%Ap1S(w3I*`?J47N=Q339mE*XnI@iDh&D!JKGoBG<;X%QFDix`eCYQ^Z z&u9#Yd{1{O0qlgJ5PZ=>zDnL7#_QL#KCJE z-IKxur|CZ|l*fdLUZD3P=#RlY3I0rBQl0WK@SMM%W5}L(Nbr6YT_b`BPX!y*L1fE# z0Mo#P$WQGb9_{m0AYhQsMy>b9(N9gRbLgd012Wy}Q=%{Upww#j+xtDRcB~Cfw}uXa zMvEUD?(*qF{4{Y%{Vpw>jf8bGWf!BXR>RQx>&-sP|K8v!U1`q8Y`{9VuqsW8nEQ>7 z*cFe#OIDqxrF>C{;C}c*4w2AnwVyb!80yi>4wMd#h@wTyjn{34ASu8IIZZmN8+QPt zhk35ZLFuFxqbV3hEEC*65K!;+o~kGNiU+H{t)o93xo%+muS^<@EZR_9J@2?ptu0F)WGvx(Dgb|tO%D*(Qrs=W5b0x0AiHg z{v-{u7lQY%pcC=0#Iuy`t9E9iF+h%zo=wf?60NA>^aq>9Y=Dj-DTO(cgCHeiU!316 z;fj#YZ#x17dp04DHMU7skvHG#t>~1eRsF6WB%A1iEn(a?25KT|u87%MgUvIZ;Y>xC z?rX-hov_K@4zEBRwjpCS-KGB14L`WAc>R##^6)S>1ih@HDGnzia={#1Y zWx0O?QGP}#+ui9C_I5x<%Ffy5l+_5N7!mQ1G&wqSa!0m3bGrL^vAxxu>?)8|`L%>n^gZqG`fV zq7|EX=t!;&*(OPqHp#o$IjMM>4k@EW1{IWANm*uLx1vNm9qo-7u(Dpp61UqbK(`~y;zr6b(V5m8xclk{{tO9!!c2^wHVtna6h zkWLX9q6lzKFDU~qV}i;)J)D%;j#gP6eifLO`EUWNw9#Y%qTn2hCO(M-S@vId`61`Y zue|Gk^ZTKl$`&;12%XeOgFK~vp&%Sl9~^{Ca6c;Y9v%QHjiH!>$yWn9B-`(3LVYFi zG*cSF*&+q=BbSq*+XnvVhQ{aRi(l&x$2Quywq5a>I)%Joj*`!|_qMh8S&^dfk@Me8 zh9LoDTmM!RR))FJi2loz?{H>Rp-vC_$A#tVk9BAZ9-Lhj_>q@A zks;E$20UU+Ni;BB%QOxQv~`Ao8pK3k3C!3JeC4IXS=hUloFKD9N!Jp7QvJOow6P$lvM`@iy%;`}yf z_Hs3IzVthOL`RZaWgGc=b$;hB0mwuFZr3wd%SQFE=evw9#eAoj7M15z#1WPmKKj#CaZ0ZmAQn%c}}DD^&DT z?sZf?pTbls7_46X2M3EIn`CJ~$5ij6IZo9Z9bii=mG>t<1l zvuFi0PmY760poJ~`(kI@RI|Pv(9~mUFcLwttE0PSVB$F~yOZD?#qu~)(yHvE3@0Y@ zOVL|c(@zG&r$$B40YROGoH-)CcPI)>AgxefQG@lY`HSo^K+fFHM9M=I11~IHpmz?e z1tg<4Pk@n`0;lgEt%*$^=R2!Xo&U!oyDY{k8jR2Yl1rp3D>r)wBP9Kp-hA>ks*0fQR6JZ=_L~%`!Nd z#Qz}2<}av*mtD^KSI|br7C}P{sF_=ZleWzGU#ID)(KnFud`3}a;$w|WphN}QUlXV- zN^O&t0ce7M8YmlS6O0v^C~SfsfBjA_bCf3;$J%Xf%Bp(!>XR|7sO( zUleT=-XuwUgp;S_tUx9?(xz@xw5VL#8VRIil#yK9;_}}&%gh!~WZ^UUcgj^R)uB^G zd|cjD9u2x#G}~dG!$1Z#x~0KQp33*^@=>hF)7<{uM%|Vh2i}=VH$7dHmVe}s;xz2c zj4{lH4(1wsalU9FV>{7cNSMdMn~l3B<-*Hpy>!!&A53uI9EQ zNMK4A-tFi-@cPPEPWBda9SutNCdU$qKWRb(xP=Bs8d-b&P-@}QlV|UHunxouRk8jH zGUefA6qm2=FcsrTDlT(?8de%O%3Xk4A;u61x4&Y*O_c%OWmd%=aFg{@k&mZLcl2C(!hmZ1?Lk=lTYFS~Xw~9is<#DgO3RNj=VFpl zcrhitm}PO!rz(aZA6infQKo{pJ(r-bVs1*nzR+K{TW=c#Rg}G;=Jk4iGWvXO$BL&v z!6o5|*(X3zv1mcXk22OHT-fo%t~9%brWQ-w-{HC?>i#L$t24uvQN;o$-qhRj&#OA~ zy^APmzT~SiaM=xMccClPL@-Z^tf~uj7QV)j2Ut$BE^;9P(I_d3HvvJ`cP%&&8SvDs zwuD$BPGNYqBEM?z=726byxoJ@)(pNQS4}<~$iwK`Dv$(SIs0YBGa0dD>qYc%8_OsF zclw3&es@i*rhvSGRa|OvVCX7IIQ^Otc>DdiN`x{AgUtS_2-x&Z6GF*nc$ z?XlAr!*-juTdp*a%6Vm7c`{Kt{xK6xgwj+08Z2kmQkz)$^H(@l1LW@3rWNufScr+m zTZ%2v9CAF}dn;&(jw_oy^6HbybE8&fkapz?99@7D4*U+jC0e*OEC02ckjU)1=J;E< zEzfCQii?UMJ|UG7VNc~qcV>74wvkICPj8$piRLzLd?&nslPG2B1ll>o&R(hP_oG+( z(p-NMuH<&~W|K_YEI>z-nX%kkET9g2b6h!^>l+!hm4gY1z-_n}*VkUoB4SobtJ9p@ z$db8jGIE_-x^)7L+swC(x^=h%(pz$Gvs^S#>?Oh%md%w*43I(mqyqBuC@}+ux*8Cy z57a_fbo#XSv6$J7jy@V1gjaHhl%3AcT4L}k;l3%Jvkn#G2)E_?1g!*B)eK?;juj=z zT0JrMm-eNdp>Zu+r5;HPU4JHVtIckWOSTH_U_T7^hpVR#%JC*VGjt0KuEpy?7Edol zD}quzg>(2bI$AyF|JUVztz}~Ai|fUb=8hDZn_o-BPE(~l>nRg*9MT&w9ae2} z=r4j-4EMY30S|PAH^1*{Q#qNwlJlj7xz1QLT9^)7AG>Tj$spCtcw|Q)=o9Ahd1tW3 zn^5MglIHndL7?5_>)oS5(4KDH950mp3@siinp^*#K&e&e7N`>Q-HbV91cmDoK_!=X ze^?+&l`Z%diR?dR=}Ft#dK!b+%=^Z)yArd8M$-kMS-5%}@cx7Y?PoOoDIGm^JMK3AVVM^N4U{Z`4$em`%@!Q^d?|fqyEfR?%!iXG=C-7Wi zs?l*o1Bkqd(Y@hu;Pc+?m!;hCTFd@2zJ6OHy)Jc6v7p12)2nt_xv_ln1?|e_YyZ7h zKe?@KT6%@aX~0e$(T}X(9hmZBLbK0?EI~zoyUVh2;U$@2@?;QrXL~VhN{)0R0oXkj zzt($-!mnha$$8i!r4ZY>>4LyC!R`*CgmMa=UTx#z0%B^x>HM z5Xtyn!CE~W_0{x3?^;i}ql5vG68U5ghxzDoPdF*$EhDy6iS1OYETFfPL)6D*R?{S! z@s`G%*OIqn{=RROIn>`y!s}`dwI?hu$C8!D75%6_vNjxGF|3KxTls!YfQzG+br7N& zk?T;P8)4m}(E-}PUfB=aHJCm(iVlO_jmzDAcnT-I_0b<>tZGC}v++uWC7juP+C4xS zxp4Cq;;8J(E!G1SncOkynOxS*dz7g8SkVVpqbC=HP-0CR84PKZbnzRMO8;gpxaG#z zN+=)4=+IRVuV0$EHZ1n8LVbmnnTCWPyfIJT-0b7akjekd23vd3nj|g1=Z0emZq_ky zS0K=raj1g;UM6fRiGB;J$61xT6ib`OWo>1IxRNzv0B>`&T#qQ@S*=e3_GH-vQ{^`G z<o*N-$Dh95$|sVQgz|onUgi^34H1#O6Mthdr(iNz4&Zj`xA|3bMdV|-1R z>(3O%gQFb>WU_B7lA4nR29cotX0Um&l5KT~6hq0t;s%yzs9Kumu{Ppo4Cgto!IsxH zWe!k$wh&=i@_7zv{+GW*V$X`WPSnRrPArSfR=J6W0ndb z>xc$1p*e0MXj0rF-PD9om7_5**XGaz?=%hhcTfkQ$!T;@E3-Sa?FUkkm~(cVTx=DR zJ#_tX701pa6mJ^?H>(Ih5OxZ5mu?H>175DOp5MmNaO#GxVfB|{T8WOMPr?f&&X5!V zQ+P5%sqS*MR6Qx zo9EDf&Wp2cIc2ay)+}fz4QpL_66KSQGEhuA!IjW6M(cK8LgzT(mJUd$0(c>1;t&O5 z3POdUOlFWvH5Z31sTsMwRa;hbe6`~Z!h2@EM3YMwS-aP0n}|zV6K<0y^l=lEOc2wM zt9$AzfjkQ!Nvq%A<`EXKT5{4rh-jlrY9x1 z8QyQ&^^C99^C#ts6vozKAPTOpi?A>tz$NHgmxnygbt^K)^83Xo!E zxLhP@%6r}|Ge&m+vO1?<;EX7kNKcrBS_Tf*~oQpMTz%JeET@EdG3 z$&Id)O9^3s(B~v+OomXP(wgV(_ry55s_%=6Q*K+gIg^Q$Q6T5p_%ScBU=3Kjo&hu6 zp^v*)EMr@?g>u)fG*Trlz_9>feqsejvx%$ayxuOc&3UVRb*(>9#2DJamD&W8gQhdE zlyrCnM@n>852lVo>;!Hp_>|`LfH>%8LE9FftWyBTML&en!hPh@3)?y9?ar$e?p`}IilPFRnXR()O!!qqO`CO8%oeJ`zAb5cM3NGINM%Ia6n&PDMv;Y(U zxvFAUyA-YLiz|4c^dSX*v|3(*kGU_$OhtW$$szB=#4Y;QlqMmYsgz`0+tCH=sxw4v zt~8KWG!0^tUha6PaekssKXR+li|V_p;Tc-jWZ4g)V zqo^zPwi(zm=S)#Z7*ztE4fhR05KTn?!R^f%D}$P|>cAn~6SDRr1RAN>$#;NG^qE=Z ziQGzb>>1&=ibQg#NDaWIKB)~(d~80J~5J=afkmB5xiU#)_IPF z=62l#q%lIDz?lkV_zqq9eE|jr9ex4iD$>pMK=0ep-u5n;MPRZXpmRK{c~`T7#_m}b zs?CvYj_JI2t3t4p?z1@D-CNC=|MdfcK2Pg7$)m>FSZJ{KjFcGtKs{)>F$_D8tMx^R zq{LB>xt>-R0v($sv0;*#4A!NV3h3RY!Pmj&ol?bf(^n2nQi|4;SoDK*HtkEs?RE)L zC<~~x@!a115~{snywl)~fE`23J07R^b4cSt1}Mnv@!tscVTOy#->ZGRyZ@T^o=*-< z8BGp~2X8ai{yh&sn(I}a zjd1EvCqr2Ne*Q23{K^4QV=jI2@vvr4;TNvgz5g84Ec)ThKNwzqZmP9PHMYjyu9J0U zy;IoW#Ptvz$y;N83=Y3GljSu_EO%p{*KssAG4W$v1+P<78Y$C*A7S3tnxFmnQFDhM z{d#LusLq75M9MjZJ+gs7K@~jw^Kmy~&|LH1OATJHpZTQo+_8Hi3k?jFm|q4b%ZtBk z)4O#mm@U=o!V{{$U36b_=iOD`|7t#rdlkC|go?i~%&&J|t`~1?6!jnPuQwrBe-;y> zZ)@0@?DN`olY<;j^e0h5eJ&!;U|{KcElgS8gvIyQ<+g*M>pv4KbxW~9jHjiYhh&^> zR#bByr2X!jJ@I7A$gjn^o%61@X=?9O_uW3FP~s6XE>;8nJM)=Ihqvwi)Y8={>W|y~ zJu~lqz4lw|^ey4(?|z%S_pSR4XVK~-Z;i-Yx8AyXd{E2IzTN2a0*g9DfPIC{r;V-k zz~)q>=Ty@CIsm`6{ZMq^$Np7JnV|!iWCrJtXG<&`+gjaHQafEoClPP>@i)8@U(HLz zBJ(2tnP>RPKbNaBF7aWW!|l4vi1`u!%s2Q_Z27(eImx*|flZ@Gtx-~4;7{Ba*-BGxMwUXSs~KQ5m+*PI;4(6YzQ z{2)UA=*~B4*4|emj{G%T6v6;PiEHJLJ3VD9W zNArGZM0-0n?PKGP>xqb){ULp^MI{>4?}@(W@MkaF_4ytw5J`Xy^GOHo?Phru^!_FX zlhFJ5^gMh9Xy%zAdyNt8cZaME*x3Jv2yu71sTrTqG4`a!S6BQOm=Qy$I5qi7Q_DNo z|1=Lm)$@)uvix^un&A{6t=3;#b1iNc25= zFmLzcbd&|j^Dl4G$@^>KOKki3^U(_Xb%~}1b>H40KOD$h(MKm!(9GWc$(Zxw<1@b+ zUH)efuiq*4Qtl4wf6a%yBE;t_VVlpf&Y?8!)K5{eWxBsOT{LpOG4we98k@C$GXr>mK_ zUvo{Du@7zRpbVH-{JA00?gZ?tI9??*p}aQKSJzqfS@X)I7VRgwSBja2ELZcb!kx<_~I z*H1Ia%keUJ{Pk=~+Lc|fGjksnDRC>-F1Ti9-kt|jihpcuU1P-~m@&I2L8XJ4uqO?Z zK^0lWyb_;)y_qbjXDv*`V+$DO3z1Q8!&XoR5HA=1-H|Cqxjju~=>804yHZC|$XvC? zEkGZN&NCPp&{cuY{dQoQ&%_Vf^OFG~(|H&_&-^y^=s5uWuQvNbKjEeGFLHGU{kklv zBqK5JBQUw1=dlI*5Br&Mo|-k`uePB)L|1PURt*!_5e=Ql% zegikAR z;_f++!96giI5B{&%F#~o+KYmcb<+*byq61dzpOFbtg&-7r=bGE% zaI4U)HQy%l#SVRM3RNnDp5heOGhZ|`tTEp|88~-ShYg1NF}YDb&-zRbxO{wHRyzr= zZdSkNpVXIwYLrY4#~A~8YX327_sHEjtVu?ML7pD)l#efs$o$ zkAB9>g;Kzr&xI3vQ0XeWqSxvA$$htPP#(kuKv@9JMn4g zbZo4m@cDkwWO8@VDZn4w1!^ z4#!>M_S~7*j%*snLi^CUpy{J-((|CltWr1tSEiGqfxX761QX29Sixj@-cKny8l3G^ zn(Lze84!EO6qsWuwVzv>{xsSRk?+5kx8>OwD}6j?(sSE;?q<%E&FpWgcu@UW?!-OI zxn~hUYqL#TYB?DQvN7<*no>uQ3OJK0Wtx&$4K2r3+ma^;^ko9ezy41uNSy;>TEt^* zoK|Dn1DV5{skQnSQ=KZ)muvqq^a_bd7|$rB>Vi zR6?oO%uQ+xgltbgK4dnGz0yzsGQKf-$V5d7ug#r2W-dd;p{m1tBj02-jVa>RQ!_7p zKTE=o^WK;8Sx|}kL~J&rnPofY<~C$AI5P3@o}bNWeq%Z}mcxPA@k+H)=V z2-DJ%h2h{%lCsAH31Tj+8B@ron$j@N{{a()Fp3L}m|^U%(@A@N=aTD0jE{Ymryq=R z5juLr5Nk@T5L)(o%USiBi6e=7o!<0ZWv5k8CZWlvMM4mnXOAGX2*C36ReA9{&74Pq zVHtGeC+v8f7?#ba#G~@iZpCWGV#CHP2G5cg6`ZdyVp)KFzs)+7kUMD*NKA)4p8JR!`BOa#>_ zv6B5rh+&NlbJl|_z{Ev_a}(^iIvn1NC|^ZMq6-YMf#2t9N-IXV3C29m>d9T=B~}v+ zG7$^fmQ^%A6WhY26y&s|0~79bS!Nt5zE!%>C!Bi00J{~_FV0WUMizAvk#6?JN|7Rc z4Xu@(za#2eN^Gu`l^-C}N>@&ygo>qkph>*4G|xBM34|GC$^qeIq*E-{S$g}_g&@{J z_{Q_BeIaDg660uuh_rA{x)P4mA)mTce8owQZ{-e-jfK~M7C0Gj15_=Ch7i}6q5=z| z;XI-Z0`-d;aPPe5d`*nu7ggT~H=;{(1&`>+zs{&21EUdC+XBsS&DORV$)U8zN7=2m z3m(=(6CPPa5_GHXMhKjHClC6+Vj~00<;bTju0(6nK&rEjZc=t*qD zl+%<^!ng~=r^=|NuMBZOM9^iruB01dNO@b9QVL-s(C&oWKI7T!o&vjBdtz582B<)* zC}qxJRVL;oW`Qog_o$UwiijKHqA-?3D5B8YKT)&FVilgfBg1Trz*w4|M3y!(Hg-=~ z6SLB6fFb^Z<(z!ZN}Dhr`lKFhWip6My=5+lf|PcvJ`y2Xs>>1rXll&1)F~p{_oae7 z8-3O=63sS3iz0lb?9B=ZN$SzHcP52$)yNZ_{XlhiT;!|?w=vQ_%eHZ(5k*aWYnvP#nxAXS?bE){iiLS%iT#TGQ1^D4*EQ(8H$ z`W((!%flgTVwB^Q0S4CQ!!9>qIohen+~OkR3Rjb*5YU*t9xBpWFc`*Cv({+WIFmEA znKC2QAsoJ$4j;gN;xXC9!tbzA=S-OPMn*=U7`!=21&B@!RR~k~#)V_}5u}!2;Uw>E zTD~PlCeLzt(XJ_AEOsQ|h|6cK@XEsCUObPw*u&5$Zu{aDCm=y z136g^l9T9hZG&qGqOEPf#P8YFlMQ_~N@sja zT~>w}stFU7xLDnK7B`m57vbl@-9Y0;$I~l<9o5iby^S z&3c%m_1UN}D_16hhkI4L2rZvM;4)nKl0`ldDIYdvkC@9*Z3#hpi9J}&fNRNQlhhMP zUug#yN8+6DW! z1FR4Jb|sm-yH3cr9g86%YktNlk^xAEw#O>H1diFGOHBNmvNn2$c%I%azCwE2o@I3Z zoDwqFx^b`XZ$a<2&akJBhcLf#9fe}j$9iz<>lyWJ$z9s$25k-P#>Wlj#xdDiKI zRV;YL4-OPJAtd!FNcPq=n{_=#l_kP*O^<9(aYMIZg%B*8Q@u9xn}XxhooErnmTb8O z)h_tS(_utYxacSXjOYlNPO3$d8y2CQT^g=z)K&Bcm{#Vf_RV__pK)6#d`N(9W-6xJ z=EaWPQ4Bb*>=-68IAOAkbew&D1rEvM+2# zkEfURlD<>pvfY!?dY6V~fO@;-Yfsm&lcuBxGIp;Bwz))Ag{>FcWoElgF(Dx{x9gaO z-1KzL|J_*HCr6t zj8buA(~2A2_2-ia-FeNVWDbwnly4>{6gl@6?QQ!hf2{lAbGMQUoERvJyNk%BSLRnt zoG;o>a^a4-0e;ttQgn#Wrru!3dC)zkhG{QARUQlJa*M5?Bo0OPfKOv>u~?&(vKe)moioAUR^>-FwVY`^HR_DO$Tt0$p?!14 z7(oJ8%%>Q%A)Tr)?CXP&43m{*4V3z_e0VmZU!wtGj;zXVy5xJXcD8Pu=3jXiFKc(e z&{`hY3v97x>W=FVWz6Pn`Mbz9A#Rc5R5c@#?=KE7cp~GY$|V?!Kx!oZOpXMjtVW906rpw8cK^Pw! z10EA**xxPFteKRZbz`72Dw4sZ*CNrJD8fgW;7%dp-5bnzoTEmzT*_VYocx*)8Vl%_ zmfH*mP|Hbb%nWMqWD#b-E1XbhM>`g~smB^avyEL7$oCVPx@K1BH*$GE9r45ezMULi z&d?c;r0fA2x!$Qs@m0&s={>8Avxv*a;%t+lxChhHfZRs*r+&@|vZ*kwdy9Dnt?<^Bna=D1iY^-`!*lc!qOdC2T!$PPFF&M zGkfmRM*GZg)!0 zT&cMcazyhblPxa$iWY!d{0qzk4nLaCQh8-gOit#uV#X3-b&0wOPdHt^ddkg%vIE7h;6yf`R(UQ#Dl1GxZ1I>o{CMxK&`$Lwu z@Z=B@!HVJ-l`~Q9^xS~XLe;b-MjJT622n!nf{X#S#SzrR>(saoc!Rbj5=nBTVE52= zNY-O0mZ@bu%*5#3OVIdbEqH4a)T3ie4T}-VAl0bHIJUq!gy2((3o6s>9AloAx9+;C0G#- z>G?s*Gwx`z3=N2<>87zV=5AN#aU7ltIFd@rz=jJ`-+7*$5i2-qrom4eQIu`W+T^sc zH+YU-YD*KjO4Hw_<)iK=$42nz7%o+Du6AkH&20qjzcTbDEE#Ar#kA4dt;3}jp-&YE4uSBgUxNwZ2R z^r0PFw2&+v(&X+mK|XoQ(YEQQ85%gOW@}>JyU!>GgspWlAj=Y;2d^KhUCN+xZ$@^B zxo^D|o*+P{+b*Ea+N^bKQ0Eyxm_}N^vE0}tEYm@%e&yB_eNuuMFi;RPygGwq==Po2 z5nWl#DL!A60w4B^_l8+=0V~mxFe^9=A#;c4Q)6RpuqVl+QM7=n8l`GrBi&L=D>n-q z3L=I&C&lGP#%$Xya1A_9o6LVUlo+3LeUm9Gi=m4;NP)Dh`)Ml#6ysj`fK6bYf|UQB`Bc^&j$Y^3Yj#O?}c3M>uh@9FqR&CugWN z0?n_2;LWmTdk1@mAU=BmO=%V~L>p)88N(Q0NwE2>os{W{W-U@S>&yk|z^jd0Z`X6K zQ(5x#1(x!nwGz4B8RcX4kUYJ50xk`5Ux$^lYqbygukhhJwxB?Ak^UlxNr<-+iZnbK zp%MQ=E{W9~dX3tFX{zK#J7c38W1P&1ic101RiTk20lESh@*cdlyFjuagBB}Onpsw^ zvI8EY`2i_LOVAX|Oe0#B%T#<5Y-B&f(~~PnW8bS^$~I!Y-`^u*lMg2W3?xvV{=KtU z^(koaBDDlH@kJ+(M0+#piS8z8jWBR*W?OWs>AT^wh#R|o?X+WY!ZKc^)wfvScFFo4FqL2IDG z5VFm0<57DBSMyyWi$NQ4RHHuhLvm5_+vwEU(k&ut-;8ZBN-A^lNOc13vzk459gsamp7Xb%UC9^vt)($yW9^X+keg>KaZ| z&q)?9zk6+js1Wz6gDp+VVwii8>?EinbnX6|NNd_%&+v&jj-H7~vy>Q0H1Q;J_BDIv z;hxt%(urfQws%+fTbV5T*9CYi%>k6#!eGHeV-R zHniu;it5l#CC3%g4+;V$Q)FT!B+CVlGJl1zZdHRDuZs{lVen@P6I(_ZdY;9q)|`Rx zA%e6)GqEx&EJdud>??2jPIyoIY~rqYp0v^3NcOGIPPXc3V}a`1I#t5kX{%}Z%yQ0; zXq;PNp?pazKK7Cc+BHHi&ec-sYK^?;I%tY~Z6pgMgl7$QTr5kgla`hg0dtOn7 z>5RS570T$TnX*VG4CmpQIiB$aW3zf6uLkuh_tr+>uj)M<0)?=wU^UJ(mdyuW3#4r{ zilBcs0U+oJ>zn~*5RzijWaMBmjrr3hNSZx|Q{HZ^(O)m}oXk@UglVNvuJ=8Wj*c}I z>5@)kD3_DICeJCz$pMC4MB&Kt>G&IwptFh?X})4#`aztmN|OCbIFmDPV1v8t4CsZL zcj2l9FCE!)4D(?@jwe`!$rdWZXxWqCn|mTxdct$?nOaO(1YINNxLuQP(LtKD=(ATI z#q;EW?K#ho1^uYUYoW_xjk?c!wdxLGZ0XHRlddVEMOd@xy+d?XGy z-5<%67gS9);JuV~rUucC-oi$QV|ho}_hODL$#R5gkD3L~N|346Eoske;Y2EM3woc# z09d<8nvzP;|2_oTIdhW>Z^BVD=P2BWZ??#XJ>8ZLq{S9&cD8IKKhh>wn<2${w}UvR zNzcP447wlXa%$|hWtoy?#M~!9MenZ(t6h0zz(uS%L;&dgq*zh3EdYU^*waBIdPynUd9`8;;o4WN;YPg}Kks|B+*aNb+@2IVSB#DTYgvZQeR=4b=e#`^bRch1173QtLbacuHLzN=4QLDh`zKKtXeGE1gJAvsH-b?ib4;O{iqM3n0eaK9!#7g za|~x@1OwoTpQ~W6WkroT!@MO7!v1e$Fn{XABFunQ+i3M|ZpxmiA0kXuVYd76zy#5Q z*3zMw1YA#V5MAB!AT7aRKUgu2HHjS7-Y9G>{7Mv2=P8ng9m&>A*>QRv5cwnn!3HL0 zc-qscY_#&D%n1cKj0OG-W~zuoIG_SXtj>c*vjgf|TvD;G;MyM>*sPbCX3fmBPv_*) zCq$t!BFzgmXq%QMJI9-g`xrKUtw1@V&~z&nJc=%xd9!(ufd}JuE zx_}>%%cG#0Z=*BFnivvhgfqhMq_Fn+3ddH*dTd&NcsB~JI#VWDu9A4RsYz5m4dFh;=N@~Dm9ezttPMy3n$*cO;}1=6lm?a!JL!{Nf{mE`!!bn z)CP3n8PbmX!8to_VlfZyuvgHwVYtbEkO}L_?cRJ@nD3C0fo6sP6LL|2IhVjUCv(u9 z6q!n)k2Aw%oZSf?&a9e}xY!6crrfOC<#KDGOt6^`WwdEQSx5%Yn$iwPn0BI*tzi9eZbcCMyF)2FJ9T zO|?#}63>v5px6SktH`Ork<~alG+bbffDt z{AR}jy=Hq4hD?|fUbAa8R9y{K(xLo;SXUfY<{f1MmG6|#!Ii{-%Xb5`MA2R{+rA;0 z7_M;GWEzcftG1;(R>0Y1|ESg8$1c)*58ZF>uT#t8{c-WnqKDnUWHP@{!<8f!vQ*hiyf>^2bsZt6siG zmXxF^hSYmJve&QkEPx%E&DL&9f2*6$`2F*eYt*FzYEY?egsTelo9} zgg0@(WVbPz+-hvb=(U3kFcy{lC|joBcTMve)HI2{3mmZ1?6s>20#&7<)995P#;R`| zF$lH+RQdp-@c)}U{H+~d;vdq6<|L&eC-lTEaDIu2+U}}>@R2=F>K-XIh&di zV+{@MJb9s0iCO_G|$;0(Ra38 z#n^Iv=kp1-H-T6;;fg|7YVAF?xOLOqz*@HZ(3$B=9r8sRS&P;Bt`UQXG1$K{KubV# z6c2QIq1jHyOZ7TS;zRV2SnZ+?Z#J_*7<*$yb`#)$9qNDvvCEorAN8Qt5V;(gA^?3t zQBkv~2*d=RpDL0fPQ2cup5L6<5Xzvy`B99P3&7cLH{uDNA*#*7&m&?| zDuR47r*^T=FPh;?pxSrN((JpIBQA&+gW*`)C?ZrA1=bg5YZ6C7Bfc)#e>)Z`a?B0s zD50Li+RG4@Pv0Zms&us5WtZgXo>mSz_OV|XA34$XUw6hAG!U`G=0x}2h9^m=D6OX# z^Xp7vlAP-z+x`QA+{$x3Vu)SJ)*s*&}&9m+z%)dj(su`6tF z(oibu#MK2izp^Z!QpeG_^Az92^s_Ps4Mwwu6vc{W4HtlFf!;FPc66cG=ZgRwb$gL3 zh$m;2hi+>)OZ2XT{a|?@WFRQ4?+9m=%#6}nQWl(6SkB3;8BAd~ zB!!`3H~9e^u?$NM7|u(7hC%5SWU@{!bjSuB55Q&NSp^J=&wT0#F`dYplP(%xQO0Y1 zQ>3dw+=$G%tMZ(-LWs0KDNdY|KNdt@ihh=LJlC<4^WE;jbhGpnr5P8{c+yuu-|N&m z%3&~X;RXA7RIKeInPaV%B1=2ha|{fn? za9)Q6aX;;HwcN?<*oNeS@xn5EAY7U$A>u5qM^=X=WI-`@Z?27?Juq`_O?U6j89LC{ z=S8qvTjxwmkSd)$>m2=N5qo#D7e{i*9+_!A1TR~ZUlUwNo^DYvr0DA7 zQn(8Ag7Wo3A^AMxH4klTgD}pWi_MeFlPW7(CcG0mGZwgo8sNMD5NTa9j%sVj)}0rS z$-PWvY<4>%d^5s$i*W(@Jv$L;-I*X{#ysTYgXL$8cBshU|yHmb-a-v?b*q-0o zwvuh#jJDpMiTsFo#b?=Mh*G)X6u4|wR=WOLwr}Bn_<_yuYkq(8k?97Y9}WKi6TUaqn@27|XdoR_ zq^DczO1pPD2#WuF>Zfvk#|!3-4LZ^%oOGJ)%%@K}>~>J?kUIMWooL4`b=B*1tyBOD zmfBJ+zMV<|N4gUG3!gi?-sem2dQ_#wuCgG+!hx#_us?41taH=<6m8Jh9zU?N;O4=X zTJ@v=nu<*?)~Nv(i{dCKa*K>9RiY5#EzXSLsTi|y;+yI`C&$YRB2x}Q&W%q<&`R;K z#YD%_fMn9p^Is{}SA@z+O4O_M-2tjYr1O-(oI^d50p6s{0k);m4JfA^ZZZ{uG24#` zX2Tjl_f>>(L$<9cGJ7*c#FSNc)13%s6;PyH#K@(OThvaJ{t2C>cI}>u*2{8* zG-=NhFnDYy=P#?tkSz`_KD`5+4v|pP?c5B;@c_RI{<+^@7IQIe|Ze#EVzr zupzs9do$gg2frypP{AWd<$0e{L>6s{3$=%hMbOe3awj7b25)7jy62x_^O%2AkEI5J$yxfhjthYa3ilOEAWN$xNG4|tzv&dY4v z3EV}>-B?A-+POySZG@?p_+8rV`MYP76anDO{OCA&Lxu4}{7WJp9P_0$s`%G!k_CH) zD0UWGv}YtKF6CcXg!SFA8ym898)6@0%DC>k<4{eH1QkP8BD%?K;;(Z5x-CakfM5`T z$|k{>QolBgM?4`-Jxz)yYiV_wH^w(;_i)_eeL;>5>DFnKFHLr3VRu}F)VXmShKpwd;FIWBj-|0d~dcw-29qlUE0Azj1Er8?|iX!*+94BzaHL(`Hu z(Zp%T;YvmPzZ@>E>4SBn`m*WdB}BaZoJ#L?3lPfnRp;IR+8737lN?R*@#0c_e_YG3 zRxbaWZ>}5gQm;M#(}JitcINkZxKs>1$Ciw5b)%AxQQ}ybysfSt-hfre%)|rbgwccV zimwlep7L#bPR}jZkimF|u$-A}^-fL}k9NJ6#fBSK+)#_`+)|e7^~IDe5L#3tjU4Wq zU7h`dWAayJ0F$e_JKXZNsMGYnGpCs6I!o+u*|JT1Ip2lOpRv41VW;`?3bh(iH0$o$ zt9OV7kuLJFnp1;AZ#mYWlod#tBg~)&YiEcWo~ngy>cEbdCyjUtssfSm@hZ+`YH8=x-N?3 zqMM6VOy(Hd8t!U#-8tUo?Rv%>0qrxSIjp`Aw)dy{#VC>=AD=;w`Wbm{;ka%ZV0A)N z@So7z&3{#9{?|arE*D){R#j#{zQfOD?45r!wD)f>$9WFDD0;ZPCLTPN^Jh&!>D;95 z$?mC{C@Zdw7)8eXEIRr@-C&UZ*2vYFj{UZEo(n8%0){A$N_UHjS)2PTJ-+bXR(H+yUVi6&v2o{d7_rin5q%M?oYb zU~=fjZ{B4R!FbcAfAGH znpXGx>f6fE^}9#2^m8Thd~5XqG;06s>+qyC>j#2swksKJejvxaqb-b1Dt49(GwZXw zDqW@hjhNNUjF{W%-Koi!co|3lj-g-*S;gOCw2=o-{mgRoQvx!41XEU5wX$#+7mr4r zRsc>wvA-%x2sfu*e@%2ycBg7YSZQ))Tiod#BI545I&Z5l)!nCrvDB0@RxX5cHZH+> zYAuGf_SZZi(r;3f+Qyolt9K?>iOK$WNF~lo_4(PvAKTPBv2wra`Dh_#W=B6a%_;V4 z?a{tPtrM^i9j*BM2!(NsMXq+s zs6B#!5Z)#ZQoQv!%iSE%5a6zF^rtW}lW%fHMx#1Ji1>1%%iJ)?N~6w%WjxBu?{Wj2 zy#pL6ZQ9?P#>6cqwF5g1j%mELE`6V&TmVwFei+7n;#A(weEtAj%B%eRAT6X=lo#Hq zZ4T{jArT`Yw3W~xTG0vY+WF_o2J=1IxdS@3V%tVaCXjkl=1KK77-t$_HH%lO@!E-4Vb)c6L6u9fkQuePZ=vVe^oeuRgYVT5CdY04$@Jy7I@1@$nlZu zS~&5e=0gks%%P0=5WGPufWR}ZmIA{kZ7fug{aTlg?~ah;^Ou*6vvlQ5(0OB8a{ zS?UQAG||6KzPC@;lh!!M6Fj$K>nC-|P^3kGOxTCR|9=Gym-0D&E(SSqn<}cDhhfu78SaS?QrmMs!i@saaEPx6jK@d0jrNlUuhk0!( zDsx90Kiv?>Cf4kQ^$gpVj?R%7U2k{Icaq=o-EMX4H=>9S-%QUBZbT#*)lO;CByliX zCmdclu4T}kh*U6^?pLmiqnN$i&TpAi0|=*(dexa3;)6xnMueCTk6L*PTTuySv2`;T{^=2CRIc}| z$b0jF`Jx9ahE+uLoWA0yC=ov!7&Um=YTeiovs)2HvlM$Op03b9Xovo1boVNaq}KO8 z)rFu^X^C5^gg}}_tdyg{YzkgTxE{&^UOu?WlU4%i(poU2^^n!^HOCn5PQ;rqsR4PA z*X{vK%w3ZSz&PCOgDAYs=4ElyF>MP^6l&7B`NZMwq<*FZ~MVf_=S zjm=>7Fy!^==Vep=f5Ei_DLi~kLf~Nef0a(!buRAKi_9m_N}#Bb0Qgp63?`_d zu0bC9@wM_t{hAmN+XzKMVRuOg{MQIeljuo z#F}NT3eH|XkU@CdE^!;MZRD27lj208WgJ>jE@g#pi}lBOxcb=Y?AkR{5uyA9{jsJq zTYhBL@K^KqrSlgWl;W(E{BH5MopKFfMyNz0VeCZ+qUjW!&pcRLrVHkZMmCHFxYO}o z0k8I>xYI{FhdptCi%i#jFNPKB)QrpAX;AcFfr*s|TFitZUs8S8tRsy@4>q8 zU)1ZnjJsBM=KpBoW9Dd6p?8{yQ)gNooF1WEj5m9vTeaIqm%e{8>_c|t^)S1(Gi58f z?R4>5yqOHIFOEQT=%$(M*aq2q%nZ;ColNWeW_4pX@(^vamLE9Lz|%sJpG&Zu48D39#p)|Aa}_XPEhjY? zhEq;u!M>A518K>?MNSL+Qy87dB!idr6f{(s3u#N|H8VtmLvFRq2$j*=#?~&IJm3Ar zit2o$?U;c?xK7ygI+`E-mj-jhZOidni9a*vs_V0SVGN5 z`MKy^8`&%V&f|4*F;c`^bh=+i3C_1`UXwk&;|%5RUhsTxBKxdF{h>;WcpWJj(oB6a zxmqn0U1rlV4w)BumVN=G^nL@eRjmiow-Z~h9#U6ZcJ&pfT{&hi=^0O|r4HoSsCs?FW_r)We z=x-(*B9V?YrYH8;6a5~DVRK0>6qit$4yw7Zu2Q1>yER6ZB1c0VCpwx#RHfYR-34&i zI4C3M%)2O}6Kp)o7@_I8|O_!tJDO&t#^$mDy6DrS8q^@^buF`?VV${p?Dr(@3Lq z=!&Ugo}IaZGkGi=x_oN4NPKxsNoVur7CNvX>ygQuo#&a2@?OfgE_-en6kAGTS$)`6 zw2O+UiJ+n*cg?lLk<8uiOKEs5rhCw>E_3_WAPGl&5^;eLX<|>Gv4Z7dJCZFmU$1Ef zz?Y6k8!N+QKYCGLetW!Bk zTo%??Ke=b^DqR8-OV@4*%9!QHf&#HbmD&c*T4t1Ray$>))P>zz(PKeHBg1hBXQyW7 z9lBH9yY)IMlf-hagLXs|TDkk~#rN+`*3)fZ2`VynKuwYpxj2M?_=5gy<(n7H6K+^! zW5!J0@r^Dtb1fL`ZVtZn!h*-=pSNombn^#fF5%S$7PmC90bc%^*``mtleb;Dt+@Ge zG*&D!Gu+4Gy{Vs;5GNN9d zlk>%Pm}#&ZE2gat_po@XS$6R*wD)v7nz1Ov&Rd&hosFpcu3q_zmXck$S9a#S(LJUF z{{~LrOj^xq@|sX1#4c~O=IWI!pXJ`S=e+CsYSWgokz0BRH7QFr3{M(pj( z(6xsX@oNwap22>Xqma^Vz?)vBqYW-tF6@PQRtGN`jRk+0W2#5WvFgm)@mg)143QkA zYeFU&BQXs0rm1_D&}mM%hB!S`6h6rma!uR z@@sM$Za&){F~9<-s;_o9cN;*AUf0BASDzx+kV3v}PVQDxs)zVyd3;ICbLdsn;*XqD z2plD+w0szp`evJzN!vjaI6dpSxEd*v;D`aenJo{qc^e*#Nuz6hVCh@K$Svl0sm={8 zC3HY95Y6@}k>*;)(n|u44#^mo#;Lc-*5GMFvP;|VS`V^?$)x8DsUM}Bcr}#0 z)5)w9>ZFONz}Hc2JWm$YMp7&&d%B8f;mo-bp^Rg{PmoCGU`-OJST?%9*3v z6;kbeI=4=eocl?ab!J%Y~FjgxIQxX`EL zS4400SHL-*AJ;N&6Dfx_K7WauIMRc&Z92z^CO%-@;K6=p}DDb`sgi zP%9`ArUn+PA-4wPVlfq~nT{I@Yp|MjbyXS$t@36z>94o7W-RA9m)pb=gay6$PE{8IuGN#YgjJ6miE#QOdETrd_!^)dal3q`iTp4Xzw z7p*7XYRUBZO8HZsYu>^yx_}>pL(_e0GAV3uWt$k52|!lltQn3K`WUaOoyNTo-<&pT z+x`-X?PzA?ai1}$OR@OnxfUF~hN9V%={h0)7B>;T^(!~Q9b_H5aAY94EnMYVf*MmQ z2WirdmM@yNw{jcGEJv4uNVcr-O<1=ZlAk_FAt6$6Rs}`Xm1cKITKefP&!9$Q|J|61 zWa>j)$}dq4JoGx|^N>feWn<)Wix|@^Th-EN`1|>8-2MtV#)>EXdAQ- zOlY=W!K5A{2eLKA^jco#P2x&%X6R<#4uFkIhp>P;fYx4Q$dmmcK`e|#u~8ysB=WUj z4YC*G+UUiS@c_k|i;w7n9KizT1#nIL9Q4$s>#Cy7OfU$bc5z2DS19JMGQ$o9^r@}` zk;L@S_snMa*6TY9pil3lWI-KwieRdkzT~y_#3h5q{IZg^u5~a-bWk(%U^k;2%6ljy z^FzO+KVaAg7Xd>{(HY;Ok%~rYzcylAbRll-MR?Z41$n_dDs-Df>l6QCIG(v(+dD7b z#Ij{_!_g2?q}+0EOY?9_(sNhrJ*b$=LQUAm;7zmV9EB23s3Zo)kR4|ORx>OM9Ri9T zehb*3M5V|hL+q(Z0>K=O4nC`837vcbrHvQ8%YZEv(duG&bx~d7QiShG$Zu%;FRr{z z=UZy#TP$o{obTScZ6mfnE$tZ;x&x_rA4%D4S6P#knLn-kxSTnJm)62kvtAt$|98LYJ$WBekdJ>wYm z+g3-&zFyW&+Fo+K;vNy(*tE%5sc+xSn~vgsbgtRoX|pE&&!#lEZbIMiDwmD=ymmB8O4dh+Zg0HbJUjAUT>r+&%136=% z&81fXkGDqqw2ejOx{!D4PSfm(PKwpWjwIC8swNFFq znKp0^tRo==gIHRUOD~4Fm9v%;(9|;kWrKdewsdIx*Pe(%O4as?3!Iohk$NS(|k;gn+Bbxka-u?*^HiVz=&oRgA|`{kxHn$pa)iV}REPBjDh?=kl*Ag|e0%H{8Y)9x3p+xh1Jh7sBM({u zCF$yrFd0@yDGHAlWaM_nLwT_n&S3cv2m87vF6zK8y1|R<&_UI6CJz+D;Y5L^$V(QFK2$ffTbttQ1A0t83Zw zUmcP(GJ7lr<`kRzLLm>Fk99G-uzEr% zc4UR;flp3m3QE`=UO*!!SHYTcPO>yZZkRaR?HP%)tg+pFmq?8TirSIlGDXgIp3&)h zMd6o?fu4DaXuwMxAd?Pmx-xLS*3+C=rXrW0f6roNuK*!JY~;%t^cGG%^M`s~l4W1& z=BtF`3kQPMR#F7)GxN37C)j}a0%&{&>{ldm0iU-lahhcd{uxtP1X~D-;Oh5==v&QN zzH@GuH&cqA-4UFo!3Y1?|2wokT!}zB2l(UWd=4MYzzPGe&xs+yB_1m%Ct%G6r7b;t z-DO-K*SpOv=-;DlNgMO4(@Jmj;!7pq@O{$v21Z)uW&`-a8u7%xRRCJhGx4J<7(r!YI52(;_+9ewhLcD;C#Nd|&{Roy()VgD)H66jZQJPq00$UU9Ft zBgW0v>?uykeBHS@uTy03|_ z`oJAuo?6$frvZ0~jePo%rU{Wmm?B)IY9;j-ssu$%MrWH)rt&Jb`)b$L_e)%rz+cQg^yuqEuvHO!ArLW zjXSr#e5~mnL*y;$T*rCtQdRf>;tdG(4{3eJ&u)I%blv|jIww5@87Q)?6k6GARL!r# zGyx#S|30Pj%3Yn(hmdM!Xm!X2Ac|7{bkapsT=;ViWK2TmAeyRl-lHcygkh6S6|k;G zYwl46A})2k@Gs}zNG!Qps>cDJ{{-^av{X60e)|_kjN_wW(T0F^P!f+bihL|t2R7rH zO7A{qI9^?t(TmTBS1EA{?B0%E*uv#W8=N6ZtRXww0}x0T?fS3Fow?QvNywe6%hdni z?lW}%$&10g!a9+QJ!+?hk)C#?k1SVP zt$#Eb)>JM|QF5VaBViZ&fMeDJtmdkZZ}$pm@NH+TERjI8o0s$>t1O z^=C81157-Wir==*FvLyY=W`VCt{#NkS-Mn`xwks0m3s#RG3u-8o$fTRjdqN5nn6Ls zI_g}a$dv{LD3F3xm{TS5MlzlN&cV)sMPf7;yu4BwyE(I7pO|x+*fK#m+5l|Q_L6pE)*5JJZu~feTWu9zzDL> zFVW`6C-0|fDtU?uvDL1dhYr|^WSN|73B%EPi2@V+5!&oGf#0&*#Vb|RF`|q!u+T~I?J|i^Zgi7b&Xj>E&?<8}qi)!NXnue) zKZTQOx?>Z84#*nE4m1S zCwfqMm-k*3yfv!%6DoFZEgV{$y6NVWzzpX0mXj~BJ8|obO38Rzf<_}uH*vi_;i7Bl zUiBa~jJ+c)x#rioP;8YK)p!Pl4)ZZr%v(LWhqaE@VVJr~Ku)~azV^3l{_-3NZ*d17 zhq@cPCVSne@N&A|WaT0^XXpiFk5dSIdI(FDSk$p)#m2|HK zZV9z3(pzsM41q0zJ1MYL8Az~6z}(WO;?a}apw3xG z4DmKl5#TBOuEu*`@am?Fv-9-bZtRJvN6?n&1Nz8_qtR1>;jI)}7@@&oM%coIJf0e_ z7EaY+a`+>F4lsdTw%6|n5YEdvm?H|_&K81rRI^e@VTCHyJPF{=L`TOLScfsJ)R_M+ z^1%LW{i8eT83+A^g`Yr*z0((Ac)_0+0z4HmE`k?$NfZXyE%Lq#66$G0U4D{_t7-}_ zjLKh>hZh)rTd)VKZd%9*|KBTR;@f)!CDapFnEH@VS%af@Mk z1XKu57mZU3m2sTU;hn)~JJnTPJrM*CKAEa30t%b@a)t*1k_TsYgk1<=3jVVzcNRFo zTfcnPQUyZpvefKlSJIZWcTZS?VkR-46n3q9;MRkTf+F=l+X}8J6iBQVRBaFBE(|)X z=f!p$JT5?hXuY_(0AcFbOPm7mQ5|2?2mM*_NP(ZdWs^_;vVTGFRr}HZ7k8^Z6qIGa zB_u*3K=0Y!Q$q03mrr|zIY&Mvz=1CC5xV8F^-8!rqoNKx5mY#dIs`xcXeXOrzJG{S z;B_x_8J9Sq(1izXJ4N@wtUX*k1((^?M)rhYHbZ;c|oH z2MdoIG?1A0h3ATA=iUPe761&xui63%6kt{nEX+Tkp+E$g5b%Jh7m_?|3oSgL7+tjY z;!=U@yk$V4Z4Glszt!wz5B=cjE_R8xp3kL>_ObU7_g|r)eFgj;1m|_7w50?e;8t}k zJb8a`{U&yQ?%C1UVdJ^)x>tu7xC@;&f)jX_F7 zVEOj?z8zoBITfme{dy;{leGZCg9mr^`6A{;f-VF%Qi$vMi3ew&kkorL=9wt9fC_$; z&uFSk|LuE{8sr`PA(z4m0P@p8+Gt^<{Q}{Fu!a^aOnS#X-rZ{1@~iJ}=@+pO9D&h# z9*429)GfaP7yK4kSU|Waq9wukFVy+ZU!)+FgPp076iD=P^~~{>9OUWLC8P zGFhd5BS84>_1MZkbXqAu4)#dU>xlf69(7l}>wO$@QHNxO;y`!p;p9Fr%l17jgdE%X zj_eoynyKD2Cc)0#5}dWJACKOuVYd^%ZX;Gq(8V8AA3G2rQ!4iPVVi&?^fJB5u==NS zSMKrIy}JkWfrfl&IonPjkzpm@8PRlS``4aNQ%SY=(O1*Z-68f7`l+3_-{t%4nVM!U zy{fwXsWFEN`Zw3OeOlYE{8@-iU8+{h^yMpka_xs#ZM_b>rDQf)t5YrG5svlE-h%Jq zdweuX-PJ-00$rycfUCo4gqcdE27I8Y{p~KY1B`g{*G&Gao5WnIlexznQ zwI>c1+cVHX(X9qI-hNh{%Tgy+pq$y=?{!mAU&#M-_{8{oOAo(wrVl2^vKfzayZ2hI zWb+5E?G~w;@I$*xJ*wsBvi$wph;{AcJC96TAvMsz)Yqz)qZsklu?tHz*_XAOe&2tU z@;ROS3=^Ln+3x^qk-gXJ!%dZ*@v7%D*bm)2f9CMywR@Myt-4Rzj#CY44D9*Q1JuV! zmZVm}P44b)|9uNPXvrVFF!+Wq_%n5DG`al#em~Ccu|Wb^_pTo_)n`Eaed}Ah&(kJI z?iUolPi*Q z=~2k7i^My`DAx`wDW zR$36rt{a%ySl=F3A3-%l@MJr(w`0>&Wy=0tOSezeqZY&JFWI_P>?ll{*A6pQD+ium$`|^^41+`jfDv^wGWZHl5&Oe2TtK z?E|nu??pFP53NF{Ae)fV?X5hKMV6i16Z|zt{9U!UsxstQb#3jHseOVksj&wr0$(Th z36uH-us%Ls57SE)LXP(!TM4VKRo_oZJ#H`LM^AlD!rXrkFgeYi@|Y_;_E(k9o(G~^ z<<&?RX@~0vYaQ7xw)m*)0T%x9fJmOLlM^~!?Bo;iJpH&n75B4m^;5 zbFD@^L?3bXk=M=nq17E1{ulM}^L}#5_XfYJrTTrln%o9GCRknKA6q=ZE`u@Be)sseC(9g;Y!0hkaZSXMa)?VtUVIef|4BOFH`c9?9x7Rcddo zNYx+phy2C7Qax*3rzP>LqUoiyHlv=ac96_-YW|le*uvDMxvA-@^(KDnB8p zZ^}LPmh*v)eO`n`_aURzQo^r_wyY!xBbpQlw<)e zeda&d9@z$Y|FJpipUkk91^@8q4Uza2fMCErR*21A^j5^HQpoT2#c@**fvof}U&iH% z)P}cT08^R5x@LXS(G; zwyXB~AUxO|s=rYB$e8C4CVBrc?>plU_x!n6$XmW%8MPN-yzM~m>d`t@zU^1aihAI0 zWzW(}F7M{v8w;^-x740dJF4&Yo%&XC?)~K7&z<2RyAfDP_4~T~o|mU5f4ADRmor{{ z@-+~mArI_@_lcVORHEnRGYFl_Puks9%Mdiekc54&?0kZKF29JGc(%;TR8PHm!u~PQ zY^e&~R7c;b^i7}g&W?R&NBhK@tljLHaX&}bZXUw^Vl#~oI0g4FMB?^R>(O{SwfA(# zE&b7cy{?YGQvG>>wHaL9-*l_xC1rlhg7?-Hm2&U;J7>u8Y6m{F%Kge2wmuQN^@Q(= z^xWmX21UEmdM`oOZHvvscv8DA@B`P-p@7`yYgyaO4cjR_J=@=k1zJV zP=7N2V|(CkSM?{b{l0C~GN1AHRs8CH?ARv?pKG6T;r|Kt8(L8Jf#0q^xG4O%>aU{G zW%QH~*0+4WhAe=5@$z{XlzIiTU)s4xzBj(NVqR8SWp4Gp4)Ykj<>NK*)={27(|7-d z0mcXH_0XQzE3t;_K54VrZ$3l$2eDHA6T`!v(6Q5@`^P4D-%dBME88p8oC@USBV+)5 zJgI*58QPgc>Osi@c0{bRzCV@JrF*ak{64%D-%IX%_5F0jeAv2PcHTL|hqZHkLSflL z5M%G%&t(X9iC3>x%<+qJdnoq(=xC5=Uw>#|RQ*6nP<*O~SAw73*U$ELleJFQhm+8u zeX70yOdojh_u5{MhJv~9AIsi+zy=|gKozB)+ffhtCsV;b|M{+A<&fsMLhJ$0(yH%% z%Qe)^?Yi(I{&d>l=luEJUfF&UgrHy7Qt$TPs$K+CZ$1;c#Z;tus)yae%0Xew`{ZAh ze0zQxVUor7JZF7O>H2{WrdL27BqKj9&y_KJr<@WbRzOPyb zXRiDxJor1+K6Ah0yMzks`nzBMY4bcQ?NIPNQ1Sbd6+|Dnx6j+gZgBQse@rHw zE6Y&j_V35TfB-w>{mYjlrS&KH^k8oNdHA#si8k53&i1)(a>jTF7SpNz`U@%H-S?;t!VeA}O$ z3x$T6Qn4zJx;E_OhxMjQ4@bEH_Sx(TnMfbS&fTN-2jQO`=2p*%eu^D0d`zXT{NI1l8Xf(sL+*#Si@n?=qBc7cX+5OEw5^e{NB0bLT|ETIo|pUi1zAvWCot>^U*E(7YU0~3*d^WfXb#ab zzNnn?UKeuU!xA-*{4ZjS?f8cLqnFd;8}>n|d3(<;lhh}HKmCv4|3$(S{rqK$RWN)@ z=J?>=x$VnlKfJv}zHNtnnu)C2KX*1SS)6|E^ZI1|yZZy}v}$k~{{QG5SGLOu+t>d5 z9sjI8gn6bvPvnt&D&K$KQH9^{3CU;dEuXdbDS1JkhZel9e3yuyv%n>2uBHA2lC4cvbfEwtiyE@3ZwDwDyA^kuTCenWnydx$KzRS3gbHP(!{; z_!^%-a<_>nycgIIy!}&e@k0N&2lstGFxy`L;BSBK^_fB60sd;tO-5CF&@AZe=Lxid zfz0+FkAZ5hrpgfJ2ROS_K3wkF4*3yv&@=W5_WtEYksJM=J1ExeVcWa?34EM{57i6% zJV7I%eHnl6S3WSr^N$_$+{-WabKWNK{hq-vOVk1^`THDA6)AK{_n^Kj>gDban<(q| zCsOb=o_O!@>9S{2W|PHa-1PbE{^&!o!oIJ1ARnat$TrdSYJc;Vh*e;HPTfxY0$^yCL8)D1*(`Fuj>o1M3{eORW{e#L$`^|rVFFtnQ z^VbL4B$oG{bYc19>iU7VSqc+R^u6xQ+kCvCvH3YsGyuOMD&G&w=Bs=Zuz~sN|9a$9 zh5WoecvJH2Z{D71`Su@w96;3j&7Oi6+TZPsXsV+?nJSp&|NUNL(mw$qc~80k_IzK; zyTJRB|C2QI`lK5veTUDQk7<9+g5v@F%Zr@K&+@iSD(}-?Iei@Op#wkm={G9ha__@)Rd(6Zgp_@{NAAe}skixzTW9}S<^LzJ z$>jKc1|!O?5|rsnJ3he1Iep;VOEVA{!apQzY>01t)(v*Q%jdWDHfz@VPX{Sb-i17{ zKX!bH{Dc6$)29mjf^z{C;U6=WZs12?nv=a;8;|M>W$zDoF~K{DdAdLR|5J;v&l#V+ z-nkz3Qz{rfwb{@11bRMr&A31}{C-m(_(|D*G+*HY8jiRz>I>}n?GQCJdkXBupo>=a z3#zU5o~KI@h?6j(yYOFE8*9LXA~*Uyc;p#P0mvWaFK95o&;tZk(B~wT?>!Zq-?>+Z z1@zmq{>Shk-fBF-zoi8#@h3DR_=rZsZ)Sn}1$jV1|8#)i^`7x>lpIid>>e2 z?XzE$kw*9&ZS=>Bs1vE_`Zga%eoZ_uOK*F{rX%|0J+B?v(oMiV(R1%ye9UFZ`#E&9@BwWtd5~K;`<4HN z$$IV&$>;JAn=yjR2Z8o8_x*h;uk{j3W8)9Q@x6UtcupODP#zef+^?_MM?DoR+I2Uw z4(|ij0*&0s_PeC>%Rk_hbX%_+c1o3sx|8orbqIeQ@{hWf@Mwnwfl~XUf8$B)z4kjH;Py=dANIp9`qJNhxL1%nb?k&E6x^QZ zX}#x0;a~JqVjUscgmV)`cwYNogvV&i)S{o#Gra6it_`YgH-&oA%Y~Z@rR!mEU;bdC z(F67*wjAIzNho6sPuir#~(q<3tX6k=7^ZP6Q_~^ybA55cg6i!=4-J$+mvp)&G(rWuA z8xR776}u2Z8BN}bpHZm`$mpR9kWw$6>Aw;+NT)Ei{rT+`k1xji@2+2~@%``G7Ca|DHcSf@Y(XK}W+-!Q!xcEV>ftPdiDXZP)aAeQV! zFVS16IR3%sm6N(aDo$nj6v9?};cb-fK4)vk2lrjC@vR%N`$_QoAZ@?CqBR?HvH!RD zrt~qdx4F7#`2Qitwu!ZB|HlG-$F{7qTX7D{^c@EDma#Kf0x&JL&;{TGVAUyUPedL` z{dy%AT_0#T-5%+$!!)C>6{EKOBUUsl06^K*vc+-={BJqZg-BPZ^nl-E6hmwK#O4V* zXgBqn|0h-e{H0&005^^lqe56pAuOJLPECKM6(cR0=nG6;Q!2h9gr( zGXMYv0Q&&4wpsVPW9C`?N|)rYrZpP-jr-n^t!dwnAkwwkT}{H<+PggiS*?9~fgIav zzZ*~UwDxW$ute*$%$y_`v8!d3AsK);YKUd4)B~)rmb(lbMj5rX>i2nD47*7Cn@pN+O`#ee+ z%bc~DwIKJT&01SgQ=%3`4NtUVxw6LE#trCQa^~d*6a1mj-@Vhed?lggCP=2pwXm-qXChLB`;5mUURWbpA6s1)i2l?_Qkihvbm=O3~CEy zI*9%8#)W4kvONu2*{>{ccz70tEnjnS|%ukRW`R1ZTL96+h*{Z^$Ogp>F~+K5v0ap=tcR?v-$>VsgoR z=Mn$FoD}n65SeVUB0j@f(^C7vLkd=Ti?>+DKN=S&K;fJJn{x^V`qvy#oNt1XEPE=x^=8sCEl$E$v6gexOl8+1@ z=doSDe2We6E3z|)7rszdcf&ha8rVj#vDXpFL@?35jUmt|;~h`N z7h%X90+)zziV!($@Dz!3-u#r5hh_njf$7RUPjm!Kly(+g{qZzsj$2Vr4I~vZA*-cP z7C;csr$}=+*bM82xOMIrH2a&uPc?Qs{YbNgZ8P`aW%cW{Bls+} zd2Eypt?f$SS^+fLvRY=`4FHO7rB8lPG~wgNr(6&EF2XHcV>io)mGSAhB3W9pX&QAW zYchWZ_7)Ar0YJ73-iUEov?(u7R?T9f-uW%Tl!JlXdt6F>_s$0sz7Ns1f{N}7o_dDQ zX{_G4Y9Axqoh)o7qrF#uhBrf!z)(ER`Mr{ILFHw6vX#FDFTk2ZygbCe{3)P6oM!49 zHs1>QoZdN0?>cdLU;@Jeo7f*-MI0V#V$E+*~O;adbzVs*zilz=wq4s=?5ZzSchg33a|{B@$93SN&F>%HACc3rOYA(PBRWMC`LrXrxdiKn;RHU2j_2h-oc*c z4b=QZJ)Wqs1^CvCdVx?}4WoU7MBu&Ye9BRzMQuK9yR#u?xEc_jk`yo58U=hpi};du zk&3~^fU#sVEt(TcGg5=UhKLJER~9;OPjs)&bJnlhakgL;^Dlpg90m_>e6hVcs-+|k zXO2VFYuOzxQdjLXW8~!`Zj!4~68?z=G`E*Q?F+a~Z%gK&Ft}1w>s)&Hxb2F>jvnvH zY#HgqO-VAy?*(k`H0+M_x0pYcoLDC zu)grqT|;|sA1#%55LhIvQ@;v3GGm{m4k+@zknvkKl=CDn%QT~&apqn>gFJwq!OK@N z-|lAzMp*BE3@e;=Z&E&YX8411H}?m|SCU11r&_x`yJoP~AKHnZ9#DB$np9Hyw(;_B zQjiUXewRL*ORhDG2fG$p2X!uTW>QKZF{qgF>f#iZXob*>F4O?dUj)oR>FrZbK5KWK z@_AEKNC3sc;ex}=ILRr7XjId_0YCYNU)ZkkjwL0{FoQuj`OCGpq;xS=DNF96j>hLns9?H5mkN-O>8x2^#woH9+T z)~aBll;C+72ozv=v8APYOx(3ACQ^>N`<}}Q{a<-VGeR;IS)HniN;rgBz|{{kC;6y* zoqCcBcu9q3K0D}mT-?}tz!a>}=O=;ew_PM616oL4fQQeb07F2$zg7?{Y}gvgrj?~9 zX}gt8fZL?R<6G+35C`Mo+wK60Ddh@Sdpc4sz(hW$xT^@5~-cGvhZgdrDxR+}FXm*my@3O{sx5BZsrH z`dGn37B1ot{~jag6Zn$D{E`le_@wALN4Uy z&krL;r$fE{`aj{4zjCx(II-gxXK1m*$1*Hrkbn7p)|)lJCH$`57mHXAUf2ItF;8i8 zg!>dFGiq=XiVaM|m|;hn} z`;Gv#R%oRY1qrK{IQU5Ekxo}gkW17_>GD&G%HnV#stfJr)b|l}7mC#o33+3FZ1^lWW-@T+=f$ni$E4 z=twXa7d+>YD&M5={%Hjt&P&;kf2f94Z|btN`_BWR2yE16zLAGRRtKSp;mPI? z(VDvX8u!qc;+z*Pbu@nEO#&IShLS!PiX^d>M`aF7J1nxIp-Xm1LkZi0 z>M6pr#LSOvT%n#%r%Ee*UZ|2*sC2eUaG5mqK#hAHjDVi+tYeLso{+O5{XX&rJpt^T z9Z$poE`rEfZEx7Z=LQkbuiuD;mDU!$D9<2tQ3`?5MJ5&W!-E(Mc__9KSBA?DaGXY+EnZANYDAfu3AR@fl?gfti$DejaKHhRiprkxbh5}- zHtA!wr>+5|K7T|c$^uO+1c9JS3T7#fM0hWWNH>QDRA?>*Tt=c;F`p1Q0HWX3iq*>8 z^M+2@ zc_iGu6<-HF*Xv_wzNde51}I-tU&;7-8Rk^vUKZw#C<#zY z>VKH9Drt5H^hX=sV%W53EkpM*)8_0@K>c3`fc3&$finWKZ@@k?zr7^TgjzH`d)?R! za1NNRMgxNdwIj9t(EUO24!?`JiVa}_^PqkwRwtoyBzR zhdJElP8w|ksToYiQ3eOjaZ+xVJb+nM4n(o40xlSOlW}Jw?LY^s#-bY%SmhLFj>B59 z%gRztPDnGTn;33~%?&`v09Rf>@F+A5&WOPaE9m_*T0z?o?C0t3#O9i6K`r$e{e&gE z(k^b`+>%#PaDYZQNM2}pU9gN%>bUDBgkgYL*N47Np@b0@Ir)EABYo(P8z!`a4 zu!7S)FRN=hFP!KzRuGL12g`Su3EwQAbpXP0eB1<=Y>~1@N1r{#-UXBrP)@7UKElQ1 zC+_c^M{$b0$y5S@LW|+!#$r>41Z1HkI*>&&TU`%=%b|#J*OYjx?>MaAvp0KSIoOY$ zgJ@s!S1=^H^Qjgtz5W9Xp?SET_Gf!p7{1~nbtZq5=OXoX*)cKs{5`7&bZg`6^TbmhE{$H3x})q%tY`ppo`w45?H|DMyN zV|(tPOrPJ>*6@)le%+$qwF)?qe1ab6Q1AN`>A_bOs2l|g3rITEI#hDOpi7i-U}Nop z>7uKaL!B(}Vs;l@8mKFM+n>aOnN}J7ohaCwAWb}!kvbxcdv!p`k}ma0=6hX|^YfYs&LB<9LgHkN%Bh5%Hi# zk#>a0PY0b|w|u*h(c!-QPHNWi!k?yC9xH60>8xGf^xGn02&k_2$f^2WG+BpGD_Tfv z5qbEXCDGp~P_HneePRItT_%B*3p}S^4D^$xv3A+%E;++@_(a#8?*eqOCj4iSUFUCC zvG^(&xc}ZS9EX={*1#S2Ao+J6@%Phw+$)^`V*3rv#y~@6$dsBy_I(jt^~Vjr(JZ(4 zh{Vfy*ddp=b2ukd*P+O()H@=9P!T3mER_7al|;d~Npp$_X@^m03(3dDxTv~Eqc4Z` zW?1>{G9dfRN^vV77WjYjR=PbX^&#vpb&%p*Ng&nyms`nrFlDU(yv$`JfGfaZbzQWJ z+hsR1FkE6-U>MWM>7v*1n@nj-#=xFT9aiPYkS(s-?ilnLjM&-9O9s$eD1bO~sU*6^ zt*5`bsYrrD*fy4Z%dLysUH~Ar6fO_oaE=tFdAP!mo~==SH?z7Re?$>wdMkOs!x%FD zL<|63{;oWN%vcCyQB2qPq`2{a4Ylkeh?~4AcspZq?jrGF-6PAI4;{aLNArXIhok@Q zrl@uEvw}eOSIkgckCzUD-_bu3lErN@M+OfcPFxOtU4jC5M*iTZ2;pAuBvZtNQcHG-ee*?= z$>D-E{L=K7X^KGNHx~>henF!oChh>^U)p8MRuC!*qkPl;T;_2f;O7QRrzItb-=3(* z0Y!hvX=__zVogm)ZeyJa_P*`BEizh1nCv0)$o&`i9};4V@jdvApl9zNELPxe2Je;~ zvXcumv)l0jh{^2_;P6HEe&D$-Om-hv!@)#+d%2%N+RS5j$ME?nMQZH!A5y`C`z0sk z8S^&;Z1LcKf$X`x<)=tS^M8#}i23Ds)TqzcH;Dhhjf>^~k<7mC_gPu;x_`gMHkHmF zuIaKr|H8ui@Jr`wFTRrf!zU4UEPtT35dR;({5fHC>%Tvga_95a?sMT^9%lXn&29L= zUgWR;pInD^Kz~EllJkMISNWLW{FW0$hxvoJAK6)cJ+iNraQTnNwEXXZf>gynpmA(x z|LnfH_(i`q;Abb$--2#F7Z35Z@xAjr?$}O5#MAy;;r6D*wxHsNoOY0B&bLT3r@_Ka z*`u9_9H|?^9>6pud8=wF;Y2PI5gx(&A_nk*fj1RjzxnY!_`O&Zc8Qkx0{;j5Xb%3) z`DKTK8XD-38%L(_&V#}?f36y6RRfe`{}ecd+@Pu90iNRVJde>NsZ?oxl~vtTCz|GL zYS#})vrYLBb@Hl9;mz_xN0VuWN)78)+ve=nCh?X;mQI*`!C1t9;`!XY{|N!Me)`;) z+khTLA6|Ls69`vau`DZV1l-iPnEdr*T_EZPR8R^YoAjX$9uAo~LXn4mA_)5Ksbg zbjpt}fVd(UzpE|Db6<lpi$z%0a$M3&f>;}SNkgFyzrOBypVN5Mx=pwtNYkB6&1bWs z+qexcoEBc8+!lBI?ne=HArS^FUSF>}ORj2%Ksg3MI3J8wUTZFmFuw zF z-{pWh&(#aC-NibNLgda1dC&jbS1wDCKD+oVZ8Ym(HNX03x8hFzW4pzMBl0%b?T*Tx zzaPL_&8z)6tXnsAVKLzncPa)(xaa60oLKX3e4!_63mD5z*NXyOlJ-z-R^3P%9qLbf ze2?GWnc^qYXZJwvvd0#l`Muy1?hB_s6S-65k<;n^J&*O8jf6u#o4NoY`+(}dQ-KW7 zfoh7kKLA+fMA{qJbPzPz2{4VaM^Frqg6+Y4&1U$PVR(x;#iFp|*jW}=>}~1qX~(`# zFJwFK6);(Dz960SFCg#uKAPrEfF~z19Mq7KS>D>IJ@7P9_y3XEYh+$6yOOVjhu>d)z(DQy9cpvC z9wnUyH_Q_u4NgWc4~+X4N`6^MftniMZxTrko-D#qgSgn4U*efo2M%yjNG&&3^jlqA z$n64L{r+04eOBQmhz!>2=)UqOTLYe#yD~6c*(MF!cGSthZ3AREnr9cpP;|y*u5Xl) zZ9HH%?h*#Cd4zYSj>@t$9=F`C9ujw!nAkqdz>CQ!5@=C8MBW0}LO#k_tvh1IXw_%E}Amx{$b zsUeJ)4MX_8EMw(YPrWt=stjs}ovQ^5`&KkpLdH(CO3&v&t^@y=pg5#g zXDnZWm9N{9m?!5Rha6Qypr;}{5Ogf)FW#T{l@%A;4dv8USOMrN&jTCvGDUL1RR#7F zR%FBq2|>XbC}e=~2=lrhlS^B>kqocQn>P>56WJ)M6~fhX#*6o+W6B)0Qq~ zf;E`Jh9c&qjvO77x)zj|EA3!2@lZ)$DSW_sCOFL_dL(3_m2B0_Fe4#w`Ow?vbqU@Y zSj`(Ju$UX$Vly>0ki{f2Y$N8Ie`Xd^_c2<_bvZb>^*TDR_9^1Ia@F&{??I?@w#H$P zl!|<8%S%dGO{?6NMN?gVM^cYCF_ulR^H&eu)H=NWK2c#^E({W0o%`R67R9*G*4aWik)ZsKMhIWIgv5xr$ zjt4E3DFzJP6?H>}ubl3P5=HXNgdupcIYQ}0GJC?C(A(VHZ0RAquVO`=y0?P9Lc!*P zH>hK#B#R&^eh0|`I}iT?qi_1j-<|6C4*u0S`M1Raj>ebyotD0w36R#^Yk|hZ&tCji zy~Kg8c>hsRu}OEEE$UPf01q#$j*)#kPaf>jTF2}t#omX;c?>V|p|^qYKKlv!{*aQG za6E53Noi*yJ5ai1ft!(#?lCuEG+>bq4frI|3vl6B2{N(a>4>gRx7*}4dxL!a5$O$~ zr4g*Zh663n6BbTnhO)zl#DbjJ@em6KGF%ck&(UK9VTcJ5xYqr;o5Lv?^@`nu&?y<( z#HlUW`QnLvJTWt2C&EP{PS_w73Y_!Nq9+hti1I_$Mb)2~#GiX)q;=bf`RDK}7))yY z)iQABt$Ra|$)n#Uw8!*?xc}*3q3IVc$Rwd@#eydWTofy@e#L~jaJ9GjMk~S=VAAHz zrmI3nA?JD?nHL0hUt7|wQMYrQ zoy|Wk_MnGq$p^Q$C0mf)8?H&aI@wS0>LpSk#G~i`qce8;cFsd%AJx$LZ4RyjPcI@I zO`17S@-|WJVHr1UWvLB2SB!f;$zrmyHojaN63}jpVI1!!KRyg)>AM7a zScp}iSyNBI5xL6ye#kk;tk@+0>f=sKC5Et7-UiG6mHe7dPyvRr6&pGG@8`)%9Izqc z{_cmPdCG$Oaft1(Y3GSgx)wLrf$OQAO*CTAvk`;=TDPKQCu|1--_DF80&kr>2JD<* zvq`O+YRs&petqC{OBzXMZtE3&$cA$mDo)SQ6e0hp}X@`LP`Z@$N>JBOvj)))RX0qz+3jKXu(`!cxYdBqk|Gk zcI?;lGD2TxzE0fMQck*8L|#2u8Yqe|61GLsDr=W^Ah;AZ;kUh175IUp2@pvHR>rrA z&BNW0VJl3j2uX|;KKi9LTZ^Cg>FNXuB!o))#!!4Ep%0bVVhskn3IAF>JmQf48tJe` zp=M7eAwIv&bT>+X-8;emiku!A=c{oTSZtAs@7bYr{nPh*CRKbeKY8|h47EXY_5aUp zv}u8@a}#}c0^^+M`=K#ZSLxF24weJ#G^K-0zuu2-Z{Ett{@Cxwxu5$upO_zxuFA3W zx~3Ug{Hq~2F1>x79Vdfb#}|WFl%T)kU;R{YWom=n;BX5d6{1qD`7OH{;J1Z@PWRv& z^o8Q=519}4j$Q@Se+2I7T;>UC(>*KyOf}u;>LI?MSQtL*uQbQ7vgo$8MBKAR3`Wg8 zQLoyX^Wum3MU{<3&!&J_koViy7LJx7T5if<3RA6JPC38hxfZnr!EfIs$bmd5bCFwC z3zVD8B#dJCJ{{`$M*7rp3iPpbcn-K1AsDMz`Y|4aP1C1N<$nnkQU-`#>nWKa0bz+)$-R%XOWvI}bEwH#s?1thlOSlS)YUIrL-iO*u?COnbe) za$10u#6`?B6IsqJBPz*WW$b{Vw-oH?x-xkK4Q^i^UCrPNSr$6pZw^}Z`(p3aAQ8zC zdI?xdA~a2ZfrSdtZifowGikUwY4giZvpLNCjwMY|GQZWhU1YRq#|ZS-7vv2Z_zyCh zoLR7+@mG<0fpR}5UJKM0he1w1%92bIIC(RsCM836!?8staMHseWQry8)6$oL(wCk; zq^uq5f3O8!$5z!DfI4(}kk6&kW&Giua+>ZTjd2oiJEJF`zHxt{r7rUwy#%bt zhuK1re>R6WI^z!=h5K4leuF1V1>={P?4xm z$rcMzn6NWLi|M&uh3zQ>o1K0}@@yI_GdsMJFmU=VE!gJ^c?Rp&emxF?W;Cn3X+5>S z!x--e0G1mq)zD)Pm(L{f)$4DQ-X-+ z2`?P~sS@spi-%9!c+s_X^+`@n*Xn?DEL13f7&5wh-@zC&*C>s}eIw0_ z;~=(bgA$c+2@pOgE*_s9k^HCBbdCqei5=5M#>3CptVM4p*0QlPMp4cePZjBE^#&>Ns^?S`n{gW=Z`Gm6aP=BS zl&u%F9%2y&GLmM(6+7yeK==+lwaf-wBCv^Ilu#MNV zO$zT-x}F0MdDd zf{Ykl;oSVRzmuwW7^>gUAP`JCE-|X7T97(*uk+G1Yp3N5kHM?g8vglw^r&>LODpsd z*LJ6@XXBl3QENBnTJMkencRqrl>W}c$AW`d|3vb$7|%NuS5UjnZT;0*vqBo3K})e+^u7At+W4H*cUIuO0z;E-H5fk7!AkHGz4e9Y?6m@BAZx11i& zhB?eRrSi)x*u=b!qLfz*rR)>U;s~J4TFo}_lpZRi1Nl~*Cws!LYitds7A@<>+ZCQJ zw#+T@@8pA%m~9tcrU7V|)y`sRUFqiA@(^~(>zT&xoyb%26)*XvNIz*$xN!O-zoj0O z(1T@lB|^iycNQk0LuCB=mcqHk9YN-zA#$6;=8fkfxVQ}>FWGSzK*G?mC`7pT5LbiX zeby5O#;Ue~7}Bd_sB~u?+V2(?-EtW=xL#5ZIg4K#_&11Nz_CU8)9vCMT+t!}2J3#e zFph2;@j%VHE_He4=mx2WN5|6W zF~@31>mDrTw>1Y{YDCf?fVgBu zDa`Ywtn2SZd}LASMK^QIU0T2K#aH(GZSAKMBOeabPS2c9n48?~@lAuj_KwkS-3gyg z=*rjFr#K_ub^*zI`lg!=-@$=I2Z;IibOqi@s6Ta&sS z?|Jac_E+wG_o?MyPZT26aD5mWY5zBiHmJn!c2klYCwjO@Qv0E%+D5SYI>crOT(gaR zGOiAV-e^G>tT;&2oI>#jv+zVOIG2Ay+iIVV`NPz~<5=zz)fqdgM**I=Zs7I>%`!2% z{o;IO93RB9S|g%?rZBh0=0K#tAiz>oL~}`#M(5EJgypX=(_6v zCs+mqB@kgju6El&@$lSDlTp}(WW+l}S+?lCX)DRQ`SK0@!H{atahd^OF@;v^&DPPE zplZiL+bVqYS~Axi=>#O(x$VoMy0odU9BJ5ei+7d#MYbXH(PGkvVj9AFZhjLPvn2;N z$XM|hpm^;hZZM6pAp0&!8ML2N-{Dn)XRH~*07nv{=+^3c{mE0odT<({*gR8o5_v>$EZQX5Ye&N+1rxVypllbQ zY4eIy%4hR+OMhC7OzRQ-ShxkSJ!Xa;2x@QSZyb2)P)f)v^-MYVryr6E492o2JYn)u zcJue`w>OKDCrk6b1%!d<652DP-V`xm#ysp-6!wKdtE-$$K;Mk0*F5#mpjGW8?-+a3 zQVL@e$o&{2--t)vuRFNT-7bFV@c6$#%zc@?Lg;YX3q#Zt%SSV|o3quAff858L6oQR ztuX}KJ;2ySZ_;)XNdscPGPXo_0ja}n8bbetex2n6Q~;brtV(fUgic9&v9a1Rs$KL4 zue7qm{-hjtrEzm+q^kX=1-&hu_Ln+(r!06e4}`^3aN}PTZf&ST@ivKP!K79VDIJq` zsTDM3yJItMTc$fzJ}Q_w93`~Km$YP4+h*n{kV5uWl9*DDBI*%)qmaP#WBrAYefx2b zNT<(#A?~lYpyZ-`v#E8^5X_f)3NSnNvp;Wn+r&cdoK?>D57Id-A*_t*$x}PRapp5h zdM>7yv5DRAYqT2hT_0U9qN%3ywYDG`o@?zVH+#H9v}Gb?C7V0rU@{Fssn0Ci=q~92 z5ikX$yk_pCWCeNUNrO85lk#|s4|9-ae+&SANxA6}Ti(b1+J8?Y)H|y)X3Q}kU&$L5 z0r{YB#emm`^CfDUTUV%od;YwAPsoz^{HEEsFHaS#tX&e~GnNwz z1j?UWdWs#=3JemiKNR|;C%x>$>kG}G_c>IRs^YM{-_38jj8Rce?gl=bv9PUBw}2%- zi#+v~a9`zcs%_3D_OQ2K(Kgj!VsLcwqE-DX1BY!7=ELvr_gAC?aH4IDlNa%7sgpDA zdm0`MgZ3ziYv@0pG;}vQu4qXEj(I5zhulX+0ta&-7Zu2mlQPA`c^I(}zU&OQ9e9rL z5ud!Ex!U23<@&5LHW2?Vj#mN2tll+E$P5;Mh`ztmU^?{B7u9XI{N6z3wG`|H=c}Jn zRf*4DY<YW7^;FM_Buez$9VOGS&ne0^Kf(K%+UpeqLJn;u#!{| z+Lx`zr5`$@#qx~?nb!07mZ?<1X&lL5F}xFDKY){kdW6ne=*1)1UO}InDxcudcx^Ep z(cW?G+v?4NhUSlAdKBmez{Z?3J|bcmDhSJ_tboc;fC85UqAa}Ppw0c;{+77U*3N~w zyb0VeY;7j#pZv~VPLk6B08;3hu}1oXxT0cbZ4>p=|aJEolp?dEcFB18?*6%Oqd&X0kg<3g2=$7su*nVkU{#zG2nP zqd|1M!^lic+DoZO8&q+4q$x++*OS^Y^Pv2>ix!S6IUSsSmO$nKfU&H03jE>a$) zh8E{!6@BsF+8Q1oJo&B{MuJq+ zxmGw4#FH(t(AeJw{ww{dXFvHvh~V_d;HT4ZE}6q?*cOtHGo;{atfJfM*9QW3AK|TZC+7SkR?@%XO>Ptf0KQ(&Fd}EqD%wJDub9w?jz!2|pe%jHULH?G9wF_bHN**PIEEA%6^h zhuVG(#XLnTh!LXJg7pn~8bx-zyp-}#VAACob-E^&5S>!+m_&qKor{p+(xPra1%2QV zwch*^w>mYo%0cZ`I8kIL>IKZ+c=M_4FxUvnli)H5$U!4A==_$oNVa-YbGu->XoYb}r0{{O zUdJBn%5s|$Qu_bMfbg(L>j7s>~la5y-$`aYOxw+%kWgqcNJ7FQVEQ?SWduRk1i#<$_#@%>pH47Scqg zWh>dNjnKQ%BoNkuAhLOhFt@)!_F!|?_hUjFYwQ$Pd4g6ud|8k z{=aLqGX2riMg#qUdxg4y>4Ky`4CR~z`W+thT5>NXtyEz*mLH1~Kn25~6GE#OvcW}$ z_DEDC@&S#gM+R5IM30s+8Qku0xdgu!#4atX^CbcZX@fI3g< zTfx|mD;Db;32q_Wt%Ff97HHCH$?J>zR7>0*j1~5+R8a;c^@z|7_B)%!CCi?ig`Mjl zKGBhl+ZoX5kXRbqw*kSXbQ!jXhkfw*;aggLOyjG_eD>>u}W8cN9b9_kyY; zYA1Hh#VHK~!)+ue&RCYP)X=+Z;($+|nLNyNMnJL4JOCuyQ^O@Z+)EA>j*qXF+mJ-Mi0) zP4XwOGv^w})Yge-A}h=lfBA>Ae!Pv|&ZoN;7KPbEfIO+@NtqbJIncbx-I6DbT?K;N zOe^F2Y+aT=poo;r7kd)YC_vR&GGnPkN()OmP74T6%1zpk%V9Kso*7z5!V+aC&Vg+Y zHv}J(=9RxxTDa7@P8X*F0xQuU-?_@4$?@w3vGWbKNxGJiKcak0v}KPYZ_rV}3&n}W z5X2-MB83>AaMm`CmT|rulAYh2mlYR{gXnt6p@`rl0x$eh(3FlBa8S1;tc8W7&xZu> zWKH9x$ic_FLdY01;!#BRYDMt@)JO^)7;VG3`jV$femM+Su69I&_E9vcbNr`y(2$pe zckgEJWE7U0{sAj-x{(Q-uygVsD$9{eE-~z-dGa1j%Y!g1m1&~A<#~5O1Dj}+I1xNW zCdt`^0eshai>WOU$i}k|*0*qARNifB<&keJN(h|Bmhj0CC9pCSIVuXGhcg+S5iH35 zzdMWT4Fz)0_iqxMiD*VhK5$2SSIO>}9kC$=*BZXc18>v{p|9S)=@5g4*2~e$T{J5#a7pxJpV>j9vvBJbCxBzNWhbr&W+nfEEIAk=G|I@CYgkHZgiKOQUE8Tr#PJ zJ3O%kkRHXxUo=prZ-y66b4QEbs}7skiGQS9ucFzcq5!~ z|4K8!1Uj6&yY@+Tld)Z{Y$r9B;ZO zmtABUvsMDn4d?RjZOjv#$pbyvx~BY`?y{wN17(*~=wG>d0p@O~A=8s4zVc6D&6^4o zN&wCYDFHq18-pAXcIh1}g4U5O0;&W5fj=P48@+T^OM45>Jrd+-67LIazmNn-4*yof zi2ji1(r#tpXFl55^5K5prJ4Quhqm)AUCuH_MMn;G-`s&WId5K8=|i^!4iQ`{!!HWI zh9MZx@DB;Wz86%g#%bR+s6z{ff`}%Y^pj~lJ`*RBiZIft!R~r+x=*ZUSV-DUj1mCW zbshVs#@Sk!is_#}2%G-{oKw2{rL846lIT;@f5suH;h7wPY-zO$&4Mc*GEQZw&z)Ox zp+=W^Tt6n?$-z*+!--B5o7Ey+P()rvIVusvi`J%RM}&sTfxb-FTnwe45B+$1kGM4( zi+FEvKZqG+IRa-U1KE_qR;1SSr%Vv2zENYU+7d-r#J;Q=6*vHZcd3$WOeYK$(*D>q zkzcjGb0u)}HdOox^p|MqV3U4se5yrdhLin4*b6goV>1=8i2nYNrMwDcweyJM`}dWD zIj2kN(I5z@S@CFCG1tnoR@SQbY39cb!C(m~%amq)pSEg!^s-2SLnj)w{2v|vzyqLL z0{a4Zv8jHzxzo_fk`}=pyvt31AM8EdUu1i(zF>&;eE}a*nPZK*(}KsMbr5Qp`pwz< znf&L@D$OHaFDEx_DkU z_gv2JjNI?*uw7c3OIlO7{F|=-IWo%y%ppeo50{TRvF8DhT}K|OX49kQ|_uO zwZdTFU!j{)SioG#Zd$jaYJ4Qq*Nxylj(=>>vCYu!?0e%@dIY+DrQhdL;99qIMYk{U zq0`fojfGgi0`Bekg{zJ$$xC3%BrBF+p|Z$f$Bk!3FC^QsLKg~pH9X3q_J7b1)&aHM(0Ia2Hx$_aTA&@l zl3NaJl8?f#WwhDND&OkKvs<3w!g*+1WgY(Q6hc1^Em4Ash5ca1G_tF9!2E^|FXR8m zu~g!AQ~iAeU%8Z3`WyRh?6aF9@_@l7Dkt@ug>zPaftztbD%@~&zO~!+{$+PM;7x~X zzh)!Q?ggn|DeqdP*Y`F+&T<4z9(P?Pcly4D`WE1n{uAI3m zS$7BmKTyHgzy(e{54KnKEWQ_P*!mBm1oDzuq2=y&${4yKWce;h2!6|~ev1xI zK(`>3ik=4p&6DHgnfWbi{5tzXj!?^Q6@5aM-_P;UJmW9yL@mr4EfFAfmt@bB5b1YM zm}Bs<8jVl=&O*QQ-(8Q|dn4;#)00hwf{*)$E^i5P~O=9>MrU!qg#rblUDa zb@;pjnYDlP=5q5{&1d(BuY|LlGQZ+}#7OzGcJCYedaME57Gn9AgRC#FaQ&V8NBWr*HAm3j~6M_uQbeG!3zGiaXz^_fPWi5 zz#{O5Bj+THpSvD&h2e8iYy^B=%G0$bfJ9uxLpV%vr#Pi!M*1WDMy(#zWwBQSc z@f0R-TtE5zZ&}BUhGys>QVDkALE)4U;58&~-uMTH!gZO{5jLiL&{?Ywv#{~HT>T(j3@G)gn-?V~{-|Ri^GM|}v zkN$qa{@c6Xm9MYlBCjtd3EHO@U~P^&(9->_S7;#Ucn*#kdmDyS`65$!xo```=#^zP zxBVM?YWn|{7L(}O2Mf)eT+;U)Jr994_9T8XhZpGlOCERGD3u@o6(II_oe}sA*hRfJ zpKRx9{a>!R?E8OHE_P;W2a<8eTW(G~OD~U?4Dy$Ea9T>f@+Za(@r!&cv$v+RrY`N~ zmdyY5EIVdDoJYQ$>|66aJMR29%E+cqZ@R4=)P!Mf<BSNd_5W=X)#|m zr(U;2JO=v(ASRf3sC2PEqDZS3@$x-YodG=gx3HzvKR;{XOZbB5pHM&a7Hl;BLAOly z2g>pK_mSc1*>9&a9>B8d9bYB`lX~NW|MO(Q{=E#^0`}-tpN&f!eIy_8Klho!+wQ+T zmhgY~A1!9auY1S*;d_5>Q<43CDO_^(=ZgqX{>TeuivFjqy_)l4XL6M7zv%vVuSmV* z5aL8H!^64&=v6+h%E3*Kjl&PV_6;6+)%*jVv)#HaAJ^F|xg~MOUdHSc9@eT= zi_J`@sJF!>q&yrHT90oD3XcP#MrrL*>;{jXT z+FC8vo|ej0r`QJCoZ`m@MZ&d&&y(gJu}8$0v>O~4G9Rc;IirUh<@H?WezU!_zif!~ zzO&TE5TJ7ZV^U^MZ#e|kyjAtrg!Cs5fR$v|1~xROPpFtxz;@QbKgi1LK%x}>HN+d< zBpk(neXyNdXNVp!U+;88-;oT7l!H&QQn_<1O{jrDer6yLMjn)FJ)b(Q6?Mswmn+?Fr21~_c~buK%ts_EuS zuBgftt?HS(So4yhsj#mbh9qr~KrzC6qFPq-OXyqV(UI1;i|H8roHA4z{?L=*{3R^9 z#QFv_^*Y!M`>&Ic+EV(nU!(p|3SbB3x~9><6zH|DLWMiZi|>C1CT>G|Z|xlVAQzeb z3sLMpGsnEWqLJQwAnn+KB*NB6ZaZi5)}-fO%C(jIb!+N+{%=SfSkFdx;bgXV3e2gIUX`T!brbt0ti z)DU^yIU{m@;<~IduigmiwVb&{C1n+;km2AzaR}BV-%?Q^av0A+WY8d#B!Aigm9smU zZ_H4+?my4fRF87MGH8#U!DXy>z~^iAzA-e~<5O}Y9 zCxz!+Vgn})I;>QgVVL`ZFdqxTD|AeP}M-0!B-AS@)w|qIHAo9B8J86!7h{biU%yCAm@~Jxvz9 zxyoHoayYD9lE|2GzAIZ>9X#)0IUN~1t980E#gCb>?xiO2+6p3Pw>aU}eSzwr`3H|p zrQv?`gP4^r34Vsmmcb0kPkw@|rky$tqsFqaRoxo5Ep=;-zLvg??$|>elpl2j>(f3@ zP`8uwa;)b=utOW;MXS;(bDHOfs!Q#J{i?pX2Ot>B;@qIO@U6i}WlMH|mvzE|8O$8G zdrYk8Yhi(|E{R$A_V4e!oed>BNlx6y8NN=MpemzdX6vd+3p01C$O~-Yg2oG6j z2oh5}-@3RKVq?Lf2ek+l^r1Znu&sZJ>6tOV_*|{8m=_P@rCC}vVNmA1{>9h071nR8 zjq*CBG+H|2o3prw+FyeM)_PwpVZG}N0!jZKO%zf}yl_I)yoIJxa*+Z8%XoqM9{OJ~ zd&oOBLg1Q~&ZB;z>)!_FeN;ctBBbBs{G$p;54iO%(X8@6q-iGbtkJeUlPguzJ3iFf zR4X7nl6|gHVo029vKY5I8KWg!SZD zP`#~<_;!NLpR$mTzl1tSREKKZ$PU5TEm#;z*-7tME!Smf;)GYMr~)L{m^4$XNXy(L z_%)kX>cAr-@{(f+(1*3FDuPcGag$2G-{<{~_E^b#)`tuTpVPK~9YX9T=Ni`uKwBVC zC;8$pvU)*mvPD$EMhDY<>MD9UA`Wm1zhJkGAz|~3cP8G6t+>lg-a5J#u%l&ZZY1?+kR3wVcqq1HT~EF?c&K{73AYSn!=Xi#G}OaRP1nRy zC$wSAr}MaUD`=J?oXx>Y=D@jq1EO)2Dkks5NqugK7utv5wXGSq2o@p(oY$&Ef^9p3 zL@Y5>A6GpKM`^|yLr{(Vfw+s!?&>_{gtfz)SMQ`(qn0#5^fOU2)P3)Q&FljIvX;v; zYNJz9-W7$QD{jS7K${6qLHK_gbuEIu`nRa!?~O$F44vPcI{Eqdoqv6jR=dBxExWY5 zX=Jtbg$pPRaUHEo5`y+_Pu7NI8p*XElf<`6N&)q}*;ymJpog~76^26$JjrzvCY2I{ zW-BadsJ(BiPJGO>`^EX_uVEjxhvwxo9+sr``=uRvij}&c&QI{BL)ggk!={|OjF!ch z72S2H+6J(k053q$zr7#8q=OOUpG~8(i#v-+Kw;dP9(-(EkP|LB0SYvMbjTITU6Yft z;tp8*kOr*%gmHp^;v22+1cR_z7J`_}LzP zKO&{jDc3#yS{AhqnE)q(=KhlOzLb)k@N1rd=Ljl23L^XJ9DRuehhBu3L(fKp;5JYM zk2zF~hjHC<9k-51`(&%z__XIc3IcyK?gy+s-F_v4nL2-$zD~Ys_#{<_}~Nb~H8}prD1W|4PjVf$?eC>>IBCb1|q?(BBmxogyYZA4qGa z^O|-@4(RDYqObPnzbMtn>ueuh+85lmN05u{^RB4Y{s3XG#0h_WLFo5Ll#>TPl7|JG@LH!0Xw`rDB|&T3mYqbY~B(svuQGpIKwDE z6hIJ0o2|RzQ?p+Hf>)pna3Cs%H(4yA(2^;Io$)A}o^OYz@JVRn}PR%9JxK#52EJaFuhhKSJBZ98iyiT43)Sn|(A1GP(~4l*zb`fh53{mlz_Bn88!_!<|9-jli!Yn{*msB` zobaA-MUOB&r|$#&)PIougH+yQKc|wx^zf70oQB!K_#-y^h(5rps^z-$kb)Z=iGKV$ zGsLYeu$wZnps+{wr414hGlRJ&rp=41tvuDMmw5if?yPiA>WnFQG6<>2XZFpI^pWER zw+T1h1g|~gFzRr4JJ_0{BS*LPcae-`@j7=ZCe>vyouRm+hi4^bQj1irxY|IrdJ)>+%I9dBeI|CXwwn|a=`)0RPT;(fz_X~@x? z9(&Z{mHjhtcr#~ye{%*4oC(z~4?f(lnm+fT)}xk@&WQEfM_|*TYmXD3%e5%^N&zgz zh8-EaBPbh!#0@)IFElS$Kb9zNW;OFS#fQMe8I{g32pkL=TyTZ0$I-l`8T$}BjZHLI zP0LaMFr7`vU8sOFpFabfQn+P!v>pS(lLcL)x(!9V5}$UM>B!3UF#Cy3K>pF&dxCf6uafx{wlloZdJhuI>KxmG3zy(1q{5MQCtUq^M4+! z&pqq`a1ODM9w-_J&-nrMDfl^MFHMOTelg35(v0A4g$F}|)VHn=xSi)gQl3BU<%Ffz z-`h%u$e|-r#s=*tAJETXp9U1KK0^#dXvSGcqkoXHVg6l;%7;xPI$*O7U35WEHnB#e zo#w8gAn?%XcqGE^%|?W@@K-5J7WV5yi^EE?wOge2FNI^x4X(@sx_1Vp*HtOEu_ZW( zo)p3|4p<5%9sEqzi)kFMGK%p|Ne(oFeyjT-Zw3|J7ovZ?$KzHOn*#sLm`)5cz0uO! z4{OXm_)UgyHz_idxFW&IY$Be@L4@mjaZP#lcYHjGI7MYv}H#|AFr6ud8eg{m}GwTr~j}iy-!XY$Uu`uQbPM`8pnL44?>|-^E;$hLo7}6g4tE<|YX8-+ZS;N% zHexe?OPs<%Urt}kP~13R5?+r6u$CUGJpo&CEaM~4dn1S1NxLJ^gVMp?O;TjN8Q`i5 z9*HXD6s+qH+nnljg^q0Iuy^$lgmGg&5DIUyt37#GrNNp?P9oT|Qir#~%VyN+3}ZQ* zQ1w|>fo%a9=Op;o@{qsH|Z~pdw_oc!K zw(0Ll86>&(E*KDoOUp2NU4F-tAR}Yyt|Fk8k;x6t5ewvZJfk*B-QrcD}?9T%)RD>fcbO}(ZNnu^nhyA@RSF|(Q1bvd>W#oy_+#C?kQoi&Z-8Y{ZoRyZ?2-qL5~1zQy&+i~s~wJ`7RJ_kTf}VgG2IG54gOeX z1kb1W;!uyv<|P_6Q;gwzyV7p3`9;Ol zInguO7Q<&XwU8Mls)|^4-frD*-vgB_uQyo4{K~6)m^2PPV&v&_llSvT!kL%C%)gZrf)a_6wK7;r!9gR`hyC{6gpS^H zGVd*)B`>kf$V(J!Wg~8LjK!=Y)~WRTL|3CCEq%Q-Z2LfJAXzW{mmAK0wD3+xs9&F9 zd;0~*xM82ZK4*yUDX2kqZNVcIvK?Q}W7ndmtR&;LGs>o4bfwo#y|J9hX+zVzdg+eI zas`NjXI0&MU;{5-VFJtxF zMKfJZSp;rnYbL%faz01zjuwa=aHY^QLh3We;EP3JUL_Sz`G19}bQKM@f-$>2^6Lp@ z)R~G-)0Cou?kXbtsM7Z>`LU#*)wo;%-o!gV;;7keRRo>|dm_I%x1T*a*)iTG=I`H~ z7iw-FM$4&12q{8GZ2$Tl^vxRt?-C-+UPq)I*XaPnDAT?l(O>A#gTs32{H@LR9RIYC`|A+& z!go7gHhxY!o{Qz#(|Q=i|I)_2*f#;m%sH(^^}tK(k1SZy5Jr0{+qH${BymfcNH!xx zv#J4`R`9CI%gr@RngstH=oxZt#rtJNOf7QA#9_r+AeP1w5&;yoq5126)m7F(Zh*dDkm7W4cn!G)l1*Jb>h?iYc`!Mi37TmNv z1z%Z-?&4>pf*)f|zaIOBZc_e~dLu4k;V>Ox^B^_4tCRo#L4TQiNHVPSI8PZ4ov5%1 zE_*y^)IP9aapH;ZU9E44yw~L~4{z(Tr3CtuqBW^+-+ww#GpJX<_>(3%hPEf#-iE6= zNCmFw2&|?kIwma2px@haABUPM``gp9eQfg>yYRdX1lHQFgIYjk&5KXZu=Z!9r=$n4_ML%#x`AiLb_bWid zz8(YtqiE-#bVtc>nB*``6-A!5*od1nVW-jSXVw9y=Ae>TG!&Ga{F|$x6;hf8XPQBbtA<#+gP{&V zE@HmNGQOlgmBSczTlCf*ofkS}fWCIC{4HT!#iUXyG!r4>Gdd(WByA%|EryQ3$;J*_ z?j+A4AQKMG43+T-$M%5?1`z%sGak0_{_G;Xh8Jm>x+@aaWqx>rEgaV$a+oq^UtVllXS|oG%MvpK^QMXD^)m- zHc{}$-zBD9u`!#OCqayhUawzw-23M*bJgyE{+^h`Ox$Sbf!@`lU;bHAuSee>|C%9x zJnI*IAm`s}N)G2S$lE?Y?)87&`#G@#Ce`LvaFL?OtZjM$Og@OMl*m{ez>~-0u#Iq* z@A5$;Ge-q^D|e`sk5xAanny~r``KyEL3;ruj+yx0?_ zJzeM3zn}{;xcZzg3Qg(JywZwP6%Q6lZU^p^D-NcfGzf9D8VR;HxP?PGXT4lv|Lp** z>jM7)Q5B7sI3zo@Mb}A?L)ernSPXa8h4pEW%^cmW zdK}8x4j&3=|NH`f#4P!mw|{Wrqyt)H&FMD>KW${jOkE#Bpf^OM9AUDeC15~LO`q!_ z(V98IrLrvbg>&tWBSC+a^z9jWEnP7D*}>{dz9?2q{n3S! z@_Ni~_0DDlGtoLfs-)_p5Js$Wo^o9Of3zQN5H4DSTZ>E8A;P5*OzwQ*(dI>kF*RhM z^y+uH%^#RN$LV61ToFshq^Nn{bqdkaWs_}^ z_2y=RJHNb5!O-3>)dpQ3ZkrzqZ~H(Xhx|5f;?g5Njvsh2>~s?DI$3L>b#LJK`Qs*8 zFgIW^>Zp?QhTH}s@ZO`C`~ofQ0`wjFkDK?H!%zB-h0j00srcDL<;Hq{=IHz3Y-P|p zN@gjz-E;qt!0K~O>Zg=Gd6l?e3=g_h_gU|#sOmN*KrQU|M7bpf#Mq#yU`!8EiKyxd zhc}Sc@G+1u*_bmW9>&7#PA3U+8S#S)w#Fa_61w^1JRXJkpSB^vpw9N|3?lv88wyGJ z3l0trfN*4>rY-N8CW7vPr=>-Ds5>^(lA)q~I!dcR%?ZrAI18WBqk9va8|k?2C)fB1 zz~iK?3oEm4QMac^EIGhkuZAQmPPa91BiysiXjTHi$!yEu6%e&qG>Q5K9&mbt48{dE zm03v!ChUS-MKaRlmUs`|rrlLZmj1WE16DnOc_5D}u8}g|*P*RKp5qd8K=Jl5wgOb7X4}*F!S0mCf~omyx}<@id{N{~g1xNO5dx)Y6j09vt6VG;%~!Y4jEWDHp|;!h zWIsr^Hhfj-oW(um|J?u$U+K~CA$GrBH4+_&2l#O;5j&3+Hj!uk#=r;U;I}PW5(^LN zw{B$Vg?U5l5cle_YN0h7`L+txwarlw{RdL@I2mYN5|{S6bX-i%Xo|jB$ZnMk3|%04 zz&sA0-=1G@AFUn(KO#MS4~LTQs!)YuJnG+c1mR-ic^^9C$Puk3@cf3F9~QMs$;!+tZO7K+zc=2vO z|7=)ZeI&2#JNPX+?~ns6+TvXEufBKdMmeLrsqLJ`2L;t7+-`L;bv)dg09QcN$gw#D zzw?@D~0kqNVpEBrG*Hf7}Q_xq;kaQc*MK zH)?b%C*LpYHR0UqJMe4cybIwAb=k_(9d2mRR2`^YprXYR?|jd_!xQ3Cxw_XQrWE+z z(V#7r>ZvzsrU!1*;elVPPO}~THo;6Z-(M28G#`-BHfSup?ixkwN? z^@9uJ;Y}N;2O8~Ee7tkth@OI@X`FldK^3Vfc5^eyk(s)_xBfx+9h1Kfm@fOGoye6$ z(VNR%O>N{-rsiOs^3O3%d=%@R%xVJ>c`@F9eN2Jc{&#ZtybNy^o|+oV!CtPP@f`0b zLgS2Q!?b&-@o0N7T2*R~jsvegb}Tl3{pI=m<>4g;{5OkD7v`dNw%w+aySEOlO)mMa z2|JsG$nZy{FX(SkOQ@gz8tq8*{ds10b2-T_7jJZ3w+*tDLn^#T@*sR!N>S>DcW?Ow zytF&3j7Lp7#`>2m28#S_&ooi_>$hO+XV1BDJhF}Q2-8l+QOMXUHf^wn7rh^4d6qGH>D<1mEZku9>;qg#pdSD!#LXC(li(-b~-PSAthkTD42(}h+y&{^+ zHeF_Lua!ddw2GEg3k38F$1sgTGJCrcmvVNO76>zeL79sS;?hrspO7IB$|~cSo=>bl zz;N(3;XlI;uc-y_I4VA z-6A^fl$2YZc#|Stam%Dz)+cE##1~GMnh^myDm@3Jb?9w(yh{f>*;Y&PL?RIY@om=ZcNZ;Nh*4$_z&?GWjMwqI(l4U)mzvPY|HRbm%9 zHPo0Li@wI6;Y&nSf`)McNON)#ex>$F&1oTim1Vp+rgLrE76W-jGoz-^WC_`~nbHrs zMZc3}>FrNDw-NN+l|qv(e%-G#-*3#!j)#9DVR;FUJ1 z41KMo>D~c^EW|F-F?aw}Ijx;tZK|oZ@?XR!4zG%u7l|QkQr%g+q6JqGVC`(u?{=lU z_Ogw>&Ap!@+PcF!Pvq?z^9=1GfZ?D>MX*NO-YV@a{F|+qLvmeeu=w!u%@qc6km=P) z=dcOZug0!)s(lx=m@vxi_690CF;^F21q04{4^q3{M^*9|qcC=))@vIXrCZqDYdmV` zp4y6*>`pB_7`uZna0t75=z3P101moxrc8SD@mp!x^2YGnGis#6J3$2Abrpe7??1J@ zodIAXmDHx2?`@zCphh0zinR+FSLr3UYYyj(J_pwk*cE7uxmG~D*F95 z-ArUi#w^;>NmMNh7K;P@Qnm$iI1Q=tmaO$>F0=(sc|jm?`MHzv6j*wC*^I&oQSX7-i=}FsO5qQ)@NOg80tniHWrPghr&*G9UF?H zUY3aknWr(3HC8nX)My;6r-QZYG+IM6Ys-|T0vf)xIlPivpIh8pqggMB6&<++bYIW1 zvac^*C+VIIObRb01L3!F_X5xN)DNb(x`k_O;$FeRT^J)WhgwJhW=VwbMZmoO_yli9 zQ>;thToaKC2`*j|x&jXZU?{m_eYxHa0S$)t(7S|LYnKy-9Z@+zA}CYVcAH>AS}+vS z1|opu7cx$_&bL&V#r}&5{Wprkp9yt74KY^X%0yEV_LISM4#|l+iP1-}RSfIp)wM%N ziMIVNNc)t>xKjGInTEk->M8~bd>S#7y{N=ec(y{tgBk*YUN@FZe4fL;Q+L;HrZNhg zJ^(E9P*K6{I!!#V#G)1JTRpRQj%vYt^=I?&a7m9}3mZL>uoaxZlsIP?TOZJ;tE-b1%K^T1)cT^RRH^S3Xi22_ zCZhXr!f0lN4yD0D&H$l*>kMX%mFl#>=Fg-f?fasM)xdFwru5{sm z*mat5wiz)gbGmJ=nevWh%@;Vgf>5$H?ar}e8ELSs3)&T83=wsJd);XtrxtIu_SKJB zuZ2=A=8xocqLyeXBf%X{=K87YN8?3dRwROIfD@AW>k2AR;1YCZhC42hg$VOg_Ry$+ zwwlpUVKHZkg|bA08o9Ao4K=(e(;Xu2=9%>v9V8-y;14UT+@uiR$lNb$6%?()&dyzP z17^P5qnj&d(-w_naI)^m8ZeRF<+O&H>qJFGw8 z!^dpU>JtfW5k^LzN>yN+Vat>fHJJI=I zhKBj~gU1M**RccP!Exp;kX@w-d`zI2Bxq@t3t_v(bi}%tuuiA!T81jt_J~>J>eB7# z>1W8*P{oQJaoJ3a>lk{_lb3$py^NZQ&jR!;KyNHtJL&NijqB{TayRd)8G}(-oW0Qv zqh8qydo%N6{n%7r$B&t-mN7qw2?NA}N6>+=-I04fydKzhkAMV6UyxTYa$IAZV9&)B z?$FxMgKj!k29s3|>p>BP!k~rXXJufIqI4*D_*}3uEazc{H`7>y4D;DTKJ6>Wvw04j z0iBHDM4fs~=tRb%vKC}m>Jrt4n1srDY@w0<^ue&>N|ijju?%HJmK)6nBFN&|+I+x7 z2Fi?~W->5+a`y|?~0fLRSTWo)(#puFZUvypKRSpGr*A56~;>fu)Pr@FD2Cw|JKi(~2T*M$xm zJi9Hft{G63{gfS!V|j=O7m+LF2$tiN0qnVIp?(0-iB(00%{vK0L$Q~wSbWym1Q#%^ zlyC}Es60%GJVr`W>{CUXcVhXIK$IxR{;wM(_qxwX{XC&M103-BoeR>jI8Gt7(<3q2 zUyCE4zstvA z=93sFfLIj*{^>dCD2#YIz)F+OcNGoG4vHB|v}M<<_vD-DFb;v=6qGcjm05Nl)2kYZ zL6~4Nw72jJmT@>{Ufv>@0;J3V;)BcBe3vr1vNJ*4WLvRqQn_0ho?f-Mk|%z!1CHOX zBecb%>TLM@H#q!yDge%tOP2Ng1U~ONQ!H(aSRC7qNeu&~iZHk7;qps`M?vZmMul@@ zrLB|Mht@#cvXTr4=5pu$7LfM_at4dH2=)z9k=B;lf(~w`kv?_hWwF?cA0w-t&v+u= z(LGTXbL&i#fni%DzqRf3aYS#OSGP)n_cMXU4vbn=>{}zaZ9NL9xH5eY&!UN3-FLEc zH6}wp@jzK)9F zRPjg>al6J0swNTA*oOAX+C&GRWu0|1*TvNXat3vRMoZ>pS=gX+To$~Ntj+{Z{(9$` zWc0l;v^Go-+!SkRT*FMewn&F37*<+Aed4W`UO5NXw_Ct2q67^}Lxk};!pZXwj~zkL zA0wAp7mBy5(XnuLY(0B@;ZcjlT;f0*w^f}+ExNaJ+VEnG1R623I|xx`$HUv?d6HeJ zu!1pkh5Ej&;ExoJYi7TU(M!}dSvd>j^yYjz*wyq6O@4pavZigXAnH+QY=;c0P%nw{ zH)%ZHD4q~3MWVxaADYC{>(a4FYIN1+S(*qpT|= ziz~X2xE&{LlLaI}DjXsLL~5!88(QYzlpAL{VU!OhwLAd`mw3)O;Cwz2WbQyGV*vh$ zmu;FlhF-1l4juMz2ii_G?Ub$FK|ol=Q^T~(lOmYyL`or)z|7L9;w}#mbYU(_0!=1}%bWDS0+o4k|X$~6) zz)CtE)5HKsR&Ru{5&){4lnt$>4uXQeh#F7}i^C0%Yr&k}4_5>5D^9X&nzw+5O0pSI zxsy>rF95dDnS)IQ7(^oFPMahQC$H|)S_l5CA6h4h}Q*^1!cP$l5VTyB^1PN?@fH5j+ z=#2{D-ikXsYe1d}|eghX#mR+)r zZW1c=QOdbl3CP=Ax>F{9C^^L?88e)~A!)oxO=aLP8d^dUMnuj^_knJhh&BkOPA<1H z2G3joi$~`oSc*pOI%W%v3dcO!)(R#A-OOJj1x|p~KISYlPqsNx-=Nvz!g(Ohf*TDr zNGTm3QA$J&LXbt}N}vfJ%em4|T1j74=;t$&z(q+gc9Q;3g3&cge)zIhG+bIO9>Ds@ zwwwy!gHO5H!|$1ouILRadreL zl8ym+YZ_|8l}OY*GVc|KGW8|gop@TQBknBQmWK59N}Q9>nq1&w-uSPR8-&MrU^RMIOluBGJ#lZ5)m)f+NE!+t zm9)|cQEErP51^M^7#(J$xMXn-u1z{!Lf#A)gMP5LZSQ5TBiUl&e+hbLbZ`|%!}WRNJ#gyI@{^5($j5QSSO&RV zFCxDH7GGdHqsR_fpSWtu9NIE~!HS8sZa`|(AHOu_w!Wql<-oKd_-jM-!FNj?Foxj3t*W<^GmvU9{szhT`rHgx9}Rw^kx>!vVUW zlr0KAsB>DvZWP z4uEHoM@%2?VUL5Oxem*nRn3Uw-NK#`%pfO>>OLPlP3}bT{$hqCQs=DB;+q zBzmt|d>*a#dTiN)mh`1osI2gZhYUZ+migdPo+Vg4g5?U}33{oW3rvDxQsQj4?4AVY z&5VEfHycWtK~ADADZ!whkzJs$oD|d@dK9qYb_6Ec^E(2mG@fjv@S?KG&0S$i%BG1- zK<4`2M8EzIK4w5IYNa!Hc$O)~WW&@&K~o`?;`amKAiq&`z3~3tjlnm+Jje|Tcj=I^ z$SwSR${_6{KMx4FBDMzuJ7$qts0*vLVtY-BHp)QZ~%VXb9dcr zeDYvmEM|K@L5PwWpFJc>``Y`z505rnJAKlwzGA=LsxYxyb zkSpJAfT%&mf6yHF$)6belwHVa=CAnWauMy!|Dc^h4$a?ZuorUVLVjb7QTG79Crw&Qkp3P6Gzt`FyHysNlN;T^OUO^Tj9vJUc1FwRkFYqo*Xh*I-+@O^E6- zO&)MD*)c6tWSSszrhTz6FrKGNWUr>t1x_ouUx=jz_5h}%xhBhb;>Qtw79CtX_Oja=j9!@QDH~CsF z+ExQ|fA=Yps;@G-tQccetbs>(?RY*p4V;;(SV`D)m{G&tS99=rNn9~vRSTN|RypnF zm4dETt)QCu-Y&PLL#HMj?(=BZL;za9`weZ6kMbH1wg(bFMBeGi+iA1V>_I`3%!s{8 z+4K23DH=t6(yePI2?K@@9^d~xFv~hFl_U`IUCjAt9rnPB5=zk0duP2`v|B;)6I*#` ztyhUo{w=}ihQ<_Q{?Qj^ zrYAh6lBP4cp<&M#+poqiSrU(?*o?&zw_oc`bzA2{%9f-St{4i$40M_*z*KqgP#5Uf z#~0mhqR1ox zXy71v@AkX;!z~RL@G1>E^$xrrrbd8(8>J%~{%nJl9K4%RIi!n zZlKFG%Ac8LC1R$IWKHe%*9@od`>wT|J7H{lG~-eA1oaC=cn6HeVaWM=+C z@ki5&x*Onl+58%?h4QUFDEGScY&>C@o5rm_Ger~&U95^+BWHtVgrqMXDfm5zC0XYw zi`C#G>Gnf&IQ6B6{^%|p5l6B3m=&$y+B=mr?oAi2{~hz2)61Luw!v{LTi_H81I6k$7+kP=M2zTU2BdoR#9>na961R@OCbfxfrSa^@bZDieul&^nJS z5V})Yh#r(+4*Y@7inK)9b(Pnc169N3cGfMAhuVzp>X!74RCBfCeu2+$4B}iay!7)Q z+8x6c11-=kRKuuwabuPCa{%Sf?LDJH-?}9-y8;14&YDf?@m%(7o!K>ybM%jV94O5{5L5CVWx6AuT z^gYP3+pjFyMud+`>oF_XX|jIOSq8S6fBD&6<#ARgnmYJt(?6xsNS&~k>VQAok67&a zTTeJ09_7=IP+UB&vfWS<$Y}%S4j8gD{D(hh2;L`dXXlS*mYog-eP_|4tlR;~g6jaS zW(F5Ht1qDIiWom#t^NyBHNY_rRD6R6A(w-Ra_Cr&XZS2~$77ET80AcL47A;x7_Rsh zB5GOwK;~jNujTox`7m+FsZOAg%qt&meP8236T;#JGJM284+ozW3WNd9kcu=gY*{?! z6lhSDF^}dS9Oq7|!29XSnAHr!<5?~lDCFyTsEN#t|JVeusL;53I}}hyGBn=)Nz^Su z&`H5bQ$~epv5yL^Ob9tug=f?O+VDJcank(3UU^p`#GSiZImcs&;)GuD=9u*Jit_87 zbjys7UAYa0YhVzHFN!S4!K5?qptjAac|IH+jBaoaw|c=^_^*~uGb-OXsR5w#q{@D- z9uqDngMO<{+>CJxl=+Qt@LoPR-*4kj%GslhQo*$n74LN^4W#(qe6 zHfkxDsm0J}o+l42y1#k(#09xqL-2i{;kurPo9KA-M=CGrarB2KdxOG_MKvM3%ouMC zb@~y(O(ms+^)sW^)CRUX%oZ9t<6tc2%mmDq-JXIm;|t5GTVaA*fLP#u9j6;}-R!xc zwO9qgVwQ6sgwKNx;qya!gB+WdBdOb?o?_F}#S1stXW@NQv^!bSNP)_wKGP-p zZZ%slO|%D04a|4FZ@r;qMB2)n^K620XZA=bf;I9#CUcs_G|OD3q@M!R;2rXZp*FpB zDtnf`!%gJ zA990gp786@I3zYGKf}}J)3MP~@$HFe9;uXF^0?QM@}ud5>K?vvt==>{FgCrz|2-(a zH3O(W{J`l?)y@-7qvOB8tiID_8PvSyL7$7pD=!?9!@{I6b5j9!Rl+Oer4}DkZZi!t zy)b9Jc*6K;p`7s&_UZXiqgp#Er{A|%QU*D&b{M<;v1*Jm1u;M62va9M?q3-ep3BNY z&ofOk1&u!!X?FOc-x%I8jpt|3y_GZVUmtmK(B@+J(f1st2h-iD3m;mP32WvnnEN3Z zVhI&%@1~3XL1CaWZP3@Wxjd*fHsTa(A7$}k?l!gK12^f{=i94+<+P8cp#RC8OD=$4 z*`x-h45pUTvByLO_^c}j#4rBnrH6fIuM_({lnKhoA(PYj{%{=7<`Q)imSs{Xnk)S_ zuHLZX#KZ#Hbzl<}C`j6_tlp{4C6!WldHZVIoHeia;1=Tg7)R6s9Oj*5i9k{8G*jo$ zpWZ36neGn6vu~gZG6V0+r0^?uNDMLhDJ=>OY0YJU{mFLFhZ-ETsj&?r+~|f!TE`vJ z4c)fum8yEoT($Og?2-@)tgHooiEd6U{`Fo}zWb_WN*8=HW*XG$!-lBfy8(@ID~f!f z+umb;gp^yaAcKg2+}1ct*ls_h$M9DWi#Mu6jm$BvcH2pc2Ra*QdvC5Bkedre zrHrYW+v>cYj1#u$s@a;9P^{w%bL;Ecm9-mUzBg}#veY+qj&R(1Ea{!qgbN>wacSfI zDx<7kDB@sk2V-(i5F+~dwR_ABJ24ttD`4+tvC5?tXe~1ujd(GYhg8|q3t{)ncdjF% z!sFg@VVNnCju|>;f8kw$}m#$Tr(@H4B$Bt`sGW)3@nZb9iEy>S9?a3KZnOkWcbguAm2qt0(KE=1X@ z2L1f6k?o zZCT~Sxb^2WvH5!JnDdrLPFN6zHZfbIUSn+Rz?*jo*v3qC23=8n8~!yT2PD|eF7LiZ z)gHU=&7E{+f{VCrwQohLdnVwK7Xy<`j_=l^1B_qv&^2M((4`uuv?kO;nvSEF)jB%0 zHdR&?G&ZdUx5eRbuXiU;Fm-N=iCr zN~<85jX^!B59P*lZj1PtPV-*rKyZ&3v6NZI zqsUf(bZ|Tnt6bSn#E1t~`$K)o4PecPPbGaQLu+WUU5RbmHIOSAQ&Z&xy`IY0cD|i< zT7oD}oj^Y*!*T4Bh`jDz7hQ;ZS{0k0r8j@Cw@0jwtVO!V5QXapH^f(+Aeu1ajUnPO zbG6mkE%Mz=FH6JIgY%w3g=JgKTb1zQlN;t;0@#l97RH(IEgC^}$K0`5CzF{m5o&Zm zks0%Zi^VL}$m^e`CoD!}I&;doWU{^F%Gb=pA8^0bI87AR1qJNHlBfD5~vo zQ!i*P5w)OvTRhQP2(;R$q=G7NJH0q3zfzPio*SIAZ42T@{vQ<_T|M+c_DZCs=1%ZZvdY_Ga6T421UrPbkX?-6-})?GRhH!gpDT_UU|j%GI)uL#-{@9Pyz ziK&FN0l0>vU9dB#uoKl-7pI(#=C?^78A-`;<#vdatSts{x!{DU^)(iZ|8K~uoAcU( z#emA79lW_r4WgULcH3q7^1JNJBiZryqL2`K(UQxcWqn1>K=iiy0y*mpwDVoNXP0=j zU9@pBaO87i7dp}=Jyx!uf`5LKT>1+a_B*4|NM&n;i@t}c!e_~vkfVPwFx4<} z5{BWxbl}CSw`})_qK&mJm2Pxp`YUTh#K$!6fGJo|(fDSgJKy{~523x8V=&lTFZSyl z8ARFUMCB4bgc-RD*iaknHCGXNU@6setz0~~Q|TXtcg1?tdwS-HU4!e0qEgP{vq>TI zZ7gUQ>|t04+`^;0rSylI&PsSswRZ z9Ygc7XydDmh3pz1tfx>nlPAiFH?N$i-LDi>c?h0Ucf}GB-!0YJIA_^ZViM=K2+i#bI*BLLgYt&~p{n*NtjrYFF1$Eh~>~$v4?^m7M!oYS%tWw-L3p zMrj<6jrH(XxQyjHij=#Gpsk-zA?q}|JLANf(AphQZ^$TguwU5swL5M zX)3`d$c6_rUsFF4x`74i1CNGLh$5*#ji6b=y~}KPaf58g z^ghidcWevM$P}D8rgj}>u57p%CRvnP^=YKv8u;fH<=T?zw*XQJ>T}4)dKej+Go#!*T zzx;!b{I3B2-ZjRPElsE`LG^IbI0?@bl(E^B={cvs`!HD-I_pyL!JTBwn5XAME;{p_ zyD57vn3mK5VO5=A*r+Csa4Z0byePur2VcfbKu07Bixg0`{x$7}^td%Cq!j6pA_5X3 zNX(J8WU~8~wjn3if-xX{J0`{zNUg@404?5N^!elbK(0Az!il$lGc0_qn>xj7O|HwO z23W_H>>J?_k9-3>I&Pxo-UsJCXkJIP$L@a(%~omG)CYWX9(}p4QN|A^&IDD`_Ip99 zgmaTI3(msP=Rslw#ec00hdj2QMF5JtY|T#93PFt-iX4wYVrD}>EgNnc94=5lBnKFK z?LzFaAwg4NfJi=aZD4prgPDTPdUbmK9=xFFsI-?@-x!e+AC%JOG!PJtfzVK@fS9s? z#+c(ZZ0x1sb!}}v)xu_*UcF)DC;)}xunb*zvNoY8Ek{oDC&VA8Tr-i$fCiTzd>NQG zE7me=B?U3YuYdoFCQ2cRiTdkd0#@A(-vwg6^z+sE5nZv&|0Q2O?M75SBHo za?`qH^b7gRNLrM>$!H`n#C|+@uD54ECU&SS8~ev}{#oF&;1_Nsi2h9z|IK~gx7H)H zrGa8N7$7@?6Venc_NbwvEOgjKR%@Y*1X&UzB1|Q8R)@#jwUEXUUn#?Kpi4QkVU@9j zpqDvnFPGZAiMK*q*Q2L!H&^f+R`Vum78rvS8WBRgwZvqdW4ZV)J<$R*T@s?^x)qbo zdvXtE9iqZ*Md~hB&ce)P%Tt%=kP3dk`(IQViKaa8S!&maf^jC6OyUIv4*`BsHX^MS z=UsxDM2Rzm2Kr zT|A(gID6@4E)bJNnRhUQdt$}t??uyh*5+n7=hO6cj;1iRW{qsxj8k1o_`IqEE!pV+ z*AJriM8GxZ;kYrE&@j|*7CHEj4{g(p2$r%X2ut^XB&h0jSr7H%UCM?JAY6=&mJZS~YDj zyXlk`i*cbAC(GA4Y|Z*WZ-g;f)$TSMQ?XbVV(nRwsRvq3w><+L(cnmsgGLH#PxjLa z6us^uhKjS=Lj9q)2GE+@X%OTrQYFCI3058}r`KUyT=5(0Q5RworwY_quU-3ay?yR= z?Onh1(!zX+1yL{sHfL;SQKEQOzhgUCAY)UAiLH55!-K7rvr?n8pMv)1u1+$N91;oXwVP=Ery z*F`OwEt%$V`BtF`Zb`xnf`K2rr{gjsySKtUA@F8yRcG}qj1cTxk7?gAPzM%+CNlsW z5D)+W002<{P$K{UO#p3cT5DFVl1xcz8j`}0YfTVRgw(YqQBkTEN)&GYx!veO1=T~* z^xijkmul+@ji=XDph{Sx5Z%qlfKdPd9{}CEY+=T+3Hm2It8y|_*rYbq*Q?rx6? z1#@d#fMOc+;wG_LNvzx~gvKPE0FeLy8Y!xxBCtC*z4v$SRdrXm2kbu--EM0f9XgkH0HG5PC&-I9@Kh(}YMb{LKQ#J28U~gj-$& zaEq3FD+j@)8o$1wxs}1j1QS5TiZ+CT#7h4AMGq&YQjlECeapklX`+=CNmUXdp+^&a z14tV(h7l8rG}0=U-2?p)tQt0Z5>uCDMpKmDG=!mxkmRcr?W~RtkCg)~a1kRoIo_aa zkFgh5-aL7we|}3hA7)X67epZC(lR{uX2{S|e88 z>=>5?GQpgynRgbyb%7|>W9Rpk^;vePTKw`SQP&q2V+`$`wYY^G%ABhCqW|rTTnO#L zxQk%9oEUZy$w(I%(Kq|ol9dzofNhDvio@g4l-o1jQwh7e(|a>gu*AnEtQFvGMiRe8m{F#`SO3Bu;)=1zUIaWXFxe;O1g!VULTnXzeYmVVDD^Wfh%if83 z=g6{xPdguAv{7gn)~E>JgGD%$;wqtiYry0OV8n$WjYP$8jHg#uyI9G|fXbH3f;D~{ zA2mwNn?6C=JLQ9(90Z5~**fO(#`TYuGPyQkB32#f4#ZJgQ-f-7Vbd3F_01C3S)6~q zEeYIsHR666ZgIZA=cFx{Y~WM&I3UOuZ*h$qYnf(qY2Z7^9$rJ=0RiCxz0E7V*Jn;H ztM~BL{1T6AasorXiR zbeP_Rrjl;b4-NKqDSzO6^xOf%kV@V@SZU~p^F}MLN&|tuW9Dqe^a%O%g;Ky*W;zh) zL&tGr(;9`;VvTDw#hr;izLCLQrcQyM1Psn>x&BI?QU)P6WMsf%V`_{iE;Is74)#VJ z6TsmTvu-o9?cV!93bdbh7+bmsg!9kDvapyaF-2=Evc)vH!6ODZa;en( zH;&WvRP=b|BiLBVzdz*%bfGUuVe1m{cypMHg%$3{)!f$s12y>ae~-6P+>&v?g|;ei|9pAlbkGtT#sm}zVH{M~J-d_?U67BxVkHIa?U;CfG+2^6{f0aHY z$};Q-f!CwtddWH9gcr%4uh#jjF)zMWPXc*dTL%@ABx@z~<|Mej@qiI?3qyUNLAUdc z7t}cOIPW~~;mynvlJh9Qy=UJx>g-o!x}VG56LpjZ)-_@2dqyV>x)?6tBC~}yvNOMd zX&8QW|0|>5_lz+EMo<`(!pPpn3Zwr56pil^L;M*MIzZXSF?KW|ynR)-@vB(Xv(Nu9 zf|EzdC;oo3iA@Wkh)w1E-vhDErXlwM34(>6Bh=qN#M>79?vQ`P-S!VFI{A-mUF82^ z*q+_}BY%2BpY?uYjs7D@GCz;onudNH&*(7Xz6MqB@gsP7cX{k1pT!FxT#?z=`vCXh ze;56Ceh&BW%o%^h4o4%poAJHC;(>1y{bky*|3-gJjSUCta{iA@-YfG*?W|6oiSe1A z#~-fkd*Si#wmi7~NkYp-Cu;{|+|KF{{)SapGqQthMf`&4g` z9<+?%ynE{rfX1Fq0XkbyVB8en`xfSl4XWVvFnRDX{|fDqfH$bvxi#~TRT+DXe6{{# zql;Mj{#)Hg0^fD-fse0KzOu{5|9cCRqsxEnPf3n-ea>j|?G$(8iRh~E(@)+BS^hP@ z_MY|Ckvez#$KiGTJ|Z9J--!Qee4#%(z6|e27t6WEr}&M0zXk6}d$)br{r0~Sd7iP1 zV2n+E;|u&&1%w2*@qVCZ_gDSheN+c&{{1 z^QZU~@8SJ<`7U1J2pNF4`w}jK?%U`GT3&h4@(L=HqyBf zeg)^ut-=PH`MaOTZxSzfPsYcAN4&Dokx%@ipKA}qqn+Bv9=}At$M4IJ^k@BSKNfH& zpccd|&j{G~Aiw1I{X%o8$+yqNpr!gl>lgIK1vHI*`Cc>t{tCTw{oo7 zz7^~2@y{o$e<~j|^Mt2#_pJP&?ga1i@~LCqJ3sGw3G=2u@k99w%jZ9oe!M00_S;^P z3rnYcm*aWJEBO27xPICXd}iN<;IWq8?_2bzybl^bExzxq@JaM)h&Hx;!S96LeAGM_ z_9I=A#qWBG*bMMv2(sb*Nc)2?=?DA~$FH^zeD0840{J(-m`~x=%pO?$Qy))e`St94 zV-(7N`lUb@8u@KL$j9>~K7L|di~sUZ|KELh{JZzbs_QWL(KD9LG5Vsf{zUJ5`ThS_ z!3XXuyYHMoSNp-=QU2hw^udZY8fa(gk^A%BWgkc2e!PE1;f8YPW3D|n`TrldZ+ee= zPu-}$4_G~EA9#rN2mjjde#Ad$S!!1M=PzmBK=4odKD-|W9pX+m(tjbJ)JHd0u%Y`q zZ}#NHkl*pU;4}D@KUR5YQU3g+=3al$*B#dDrTta(yhqaKr|J%V-~5n&$gGhPe&F~5 z53=d;hCZI>7T90#UygA~>AjLZe8^ASCxG7h1E1LZ=%@Wf{wn9-Lhk0jZIQ?S{yv-i z*X8pMzP@pU(|mU?J%Id~?ECo4h%eGNubJOMyWVK(Y5;mm`|m$*$=5&j%jWPtSNrGG z8Qy*UAYaed@h17}w$Ia#{gu8N+tYZDYcEd=_JMocJI?3NobKkYWWEc(Ky(4Q%%w9_ zf13XV=`XtQ_GiD{JD=b7@8|YheZsp8A&-B1Rsd0S6Sl5^6Js8mrvbuu*?9MfC1CGCI4MhBa&)5A)4`sZ4{Zb)BK z2NS(*fLBds9y80qeJH>m#=z z;oi+{poERJ1oSr}F;BW+k-sRU#nma#kPa#78Vc4)?3hwTMPYXokPS#A2oUw>v0 zGz+pvn$*-mbIK>|DnBxdxGjF9G0?f|hv~#8d z)}p#{k#J}YCw2swIE7@4RQ5m^_w8#6XmS}~;FX3AFy~s_0v#xDO8sH!PR9E$4kfNs zK}|P)P2kAKXJUgFs@A;aYz`PxE#zmV)b}%6hdouruyVtIHn^$0H+*-$m1NX4lUL6L zNmNekvW5r_9T+?$j;Wlzf{z%>o$!@kE#(W{K0l^RD4T3#AAo5LdUJffuyY(PH!*cU zk(Ui^q3>$cOS|WBap5_VxfTw-Z?1ezny!H(D|0TYWp2JHV#G`pQOi{ZH~#BFdDkvI zWcw!3mRcsqw?=6L*!{aNbjw&or?J z4T0&+c=UAAP1+7Fo*TL2IqdrQoIH;CWzKCWsETHUp4^!AmUCd^s<}l_J?j;|Ne$<$ z#r3QPQx=emTICbEbkcgLLHA?5;!s+}X;{3X=1#W>r?LBXEw~2zZ&JE1$g(o$?3?l1 zYF-sA6!;1?=5BMgPS*lxUv;@Cg{xmGjPLpczI^ZZ=Lo^gtdV$ zm^v7EtOHRl>l~g@k%~8(o$-SMU8%Td>e`q+8zvR51~--}65Rv_ERFtJeh3NxWeq9~ zgKRGFZg&Dl24kIDw65M9blPar@egQ}!C*{a>d+pznWkt|hSd1#aR4@?mF z5GnZ}N!JB-2uj)7;+hqAG=Q>a`#w6<_N507=~<2P+%ST$B)aJ%n=e_aXN_4S-Pe%| zG-`GkMjN*T+D---8VA@8{B7RGr?d3buy)&1FhHlgJo4D?7S6X0>s(-UXRy&`@2xi` zoE_!cen97gnyKRHqCgC}QDIYH8((SC@@It=d~GkFbmsEkrE7hHTrr$n4IL=h+!TNb z#0_2P!Odf#g3UqIGx>KbRJZ~=1U}r_*u-_*<0VyG)=vb<84jqqDZZDf2n^#Pv>&Ia zCy0oL8s78}FfJsx4|}wSo}N{=0Kc^>fKWVJc?yGh`+I7u40tUom0$OK@L@qKYh~f@ z7VE_uzRx+hM(9e0E8$c>5gt10i`5MTB^MFZ)z|{dNj&iI_>{uRPjuBr-VWs38OL zAoyA~_QdZd`bh;is7ABs96dUZ=C5?gYkGZ@M+&rVIMa3r>GfMCRyO1I_FeI~sj477r+GR7JrwX$C8#w{IAq=QkWq~} zu@m!5Lh2PFR>OWssKOjmFE(1r+mj~5H%zT%DrFdlzW381(C)t479Vf5Jzt2}_Ozvb z=t*9z5*)Kl<-_;^8>}~N;Z#z@{j_P9$oLzNuODGD{y+;av5ir6<107Af-}9p2UQ+qK=|<9uuJ`SyU#?K zfWNXZmA%3|d3ZGNxnKL3$gp-;MpjrXdn{5#BH?j)CoR|1cHV8%k6u;3s2powN_mza zZp03$P>rvj9$lK9_}hfeUCgMVR_mk62d8J>_Xie&sG1%`ru^=}UFzLXXP4~vy-yz1 z_1~U>{;B9dRj3$3_4CAa{;4*nmP53XAAWg8v+Mts>Cm~c>Y$l?n&v{Oyx7&ge~Dvb z8*W9h)vXTzc0KUR6C#sBB_Q2B*h_V95-!QdqAV(McZ0CTv%(BgXj29y4v&P&Cik`K z2;LR2r$MB?2mIq)5GznC$4fYU%M%X+_NCvhduG|>NVKnXR)Pgs+bQtKiFZ|r9VwglYkz#uOHt2Hp2QBHP`wV3p-Up&{F+_ zMvR;vpj4{g4}nmb`27eCn!jj&_sPEWDDJ+ct`bzqyBTulv))`C*ccBl_uGu~kY9%) zs4fIOEB9p1!v4BO+V@-m)lJVCu8t3H0s1nwSR9p4IaD5&eEZ(n91Z_Ihm@o4k2L}P zXEE7$9(cGPkNw;@;D_%vQ4(La(_wq&e9=Oth%4h6QC7qigT6CcS9cg2OIEy z+(zqn@ZFB*4DCzfyIrNj0sQ$?t_N4_^L{T>s^5D9E%@oMNU+`WeE!<==f{(}KL6QV zw_R4S=~Akbdb(`xDL?niVRxhIs^77L$<1vZ|0^o>=*Lvws+f;~+1P?SKB+E4(aLOx z&FoFE-BbOZY!M&qRs9uh=Bspge<%xF-X%~1g(|+wk|&?_?Vs28zvc0^$;W7S;&_Pu z(YmV6Pdkk5g*VVU7u#%!h6Qo`SsSH78Ls@xI{3|D`2YF)T8SUGoV1f zu#r{7KLGr?o*4oCeVeJvs@YGEiQ~{p<9tofsHQz#HfRT3?Dy}uOQPbjj4FO_p^-wV z(hybB441^x#^BV_iOGuu_GkCXrTR1*+C3i*+s=^>3966*7=4I8Wr9#D!0LACxITK% z|HE0P?St{Vrw60`_h{i?F!p?5zE?k~dKAde)!2+%BQsfd_{G~%fI7Z&>)M`#YJ&?d zc%&Vd5ADnsag=?a-Ctl=6k!Q#?|0L~Q>lC3p|IK*TRRqls0KZfh6(Itt!(&7xKPr% zSGW}$)$22Ru7}sSpMFQ-o@VX{y?+R7$X`f%p{nem??a8Ea|e6YeY4^@uh!4usHZU@ zP0WnUm-S|7uWhprJ)5;}Kvu1%OpK}Bk>CEU9QWq6`uo8kDjh5Tt&m)DWzwiYC zfb)Lm7{slB!Btkaqixx>wg&c@C!PH1_s0&e2~c-k0-lZs@G}Mz2-qGdmK^sO!L&Ft zG$EMr5K7;Wq>2;& zb5j}&EVpXDjIdJe24%P&xpVtuz~Oeom9q{XQ?ans&s%7Jx2{9XMp~h|_;mEb8-8Ed zyDQ3f8`o!4yDQTS3F)#((EcDLW(2NgkVPEe%Q=lzRUb~(_{{rzhX)~|OC5e(tuC#x zM=Y^w5Oz9elaxKVTyM*Vr_{9eau6DxI2grWY{zVB!j)IGSMO@Ppqsux!sfQwQ5}JY ztm|yLW<8=Z_E=QyLUkd%dVk+|{xzONV7bHCyNNzQZwD9cZFST4Q%&{c0a>=6zV@eF z!iOFyt_UzP!zEJY1_@Q#inh(RpVTPZyN^P8{hN-GfjKPZz9;UJa`2S4CY0p|QcMdbegxs?r~< z`W_ETx6F(P+8Yo%`g69?F|pyac8;o06^UwlZy02(X*|&SH zaZ!Z!u4nOx_VLDNzjaX>r+Pa6Pd=9T@XyfCD*NogHA(&m!ZP7_Ghs*V#I4VL@_Efl z*Ou|h%|6`kht1>JssEl)vE*HT57;#jbou+SSo9=5KZDN@sy*^pP0r#4PirN)i>lcd zCHvotZ_5MYFIYh`$y}yl+d2gR17)Grpb}GfJZ%^Ox+u?k9Dwr|By4clWM%7TSs6dJ zdX&j1-N${15!Tfy$*R3`TrzsDs|+5Qti|t>0$ZuF_LK*Y;Rgd-kgf{*R_TG-cjaYt zf=I#fk61yJURIs3|4y!1z}wc!DHBZCVRi3jX;E{{@Csh`>{8-7e!GdpE;wepumX^^ zfyb-*3RVi|d>jjFD!^8y+L`+94AwIbSkXlhx?d5*se=?N*VR;!9q=z=ajxAJFgX>o z^j`1Myn}&OupdnxJr%O72&=bZTW?HOI7}WETXApQI@I6gMyx1TSof6+^E_19_iiA% zvBPIMW3BGGtRq3ghgApe(P_VO^#8 zJ#q_!=id29Q;I3TRTrKx4QL<*`*GUR$m9or{{MEmlv%}e0=P`9lA*(&j;gabv zPngV&a#4Mac@H+aYN=2ZF2=_ zm#8w~1cA?UY1&eaX4gEcDK+lIouX*Gp8oj!%8XSg3{e?K^V$5Y_x6b!VjUR&V3O0i+U7DdA1n zDtqkpv`fkCV9xl%4$-1&N6x?6{TOijT0V?qx%k}w@6~VFf6%hjx_3j4z01V^UJk`r z`u*Q*YZBt;7aB{o>AoN;TvW+DR5?6aAb4}twmOe);Kk1UPGr!+mCWZc4Li^(tO$jt z%vsjg=r^F1LCZU60}I90{DBVJwl*{0-}d-f8+KfoqUnIFdA?WTy;zggoDW(d1U*-2 z{#odR&2U*2V*Sn4*pDWidj~y#%_IBAFTv=A( zRbZ>SLD)j)i1oHwR=me4Gq3Qp3TC?J8|Tzr4r{4Yz;1ZI|2tV-8N0yua1?(rtJR9) zhO&HNe=37d0IpbvuX;s~t6X69d{*rV%3oKYT7#jk-OJNy%fLJKVYPf@iXIuZo+O*99p2X+kn#?HXYLARF&$f3GV4dz3B6oh4cpwvbC(3BDQ|Vm`~`l`_mw!9 zZrr$-L@Iu6saHfCW8MarX>YU_=QSvp05-XqYB+%#O}N#rt!RkM{4L4kySX6GQnyOS zS#X89uy;gV7pEAtDR<-^#8LATQ=G{Zvz(nXa|VcV0X%>cDMN^DZ1EpS_O|#~9Of1> zMZvh$0g#1KPtNm>L)YahYXVo)8uv>@h6_1f`q2mpOA0leiNO{#@lA=YO(AEVsHMf3 zW-WZNBOy?TA+KFpa;2NM+75-cQ&+ef#IG77oU|()o7U@)mALGBn&xu$!IO%|dM0y% zOo*q>XNG!i^pXXfRZN;Cn^MGbdBp>fa9MKADf}nSZK|c;(nQKZgzU?cSa~lHXs#Qt zR8UD0vS1_`J0(Y<$UqE{EJQ?cVSu*Zv&BIZVX;o_KY%q6ZVvrEkI@EtBG|00$ubl849=zS>Ap4xWI?u;!( z70g>S+4|EMUQ%>vcwS@*@#)c2-1PApJMN$kYkJqUC%1}6re{IFNi4`QlmST9&OG#H zXaoc3(2-pfWdoU}XE@HE%Z}KO&gfua8Pvw5TvNTRXuQE69KZ71(ghSPVki}pOf%4@ zPu{HSsUT@j4qM7WoKg4qvbW%JwxFB%gsQdNTrm08e`C!ol>~SV%%+Yia4*P*YJeO-0KOUvtk!sPL{) zZnw9SgenGwd(%cA5RF#le9{QFH9p=8lv7E2>9(bdanVpmTWu9NA?~~CjTQ?ENsajj z=wkEE-KX|wZkcJK3$&@TGu(bu5RJW2F1w)P(knKXQ+9c={Mw#(+G43|)V4FCd(@nK zC;x|N%Qi(qUYh5_5sr4w<%UhWL!E|r+M}k<=xxskTdIKy&Ku0RH2Rc{xb$fDLKOGY ze$~CD44dEH14&`T)yYua7S%b_LAAcUPhV)RnmTQ4fzWi&y0Y_Hj^S{RZ4!JB$sWrF z7_O^rm0~u+pa#+w#kyBp&&e+vKW;&zb<4?f<3+Fe2tBm@Tp0#vyp3k#9Qo?wK0ZsF z_11w!bYhuSE$^@y$FOm0dybVG%d&C1ZMT-J!ik`+d6>u)SC`uA)@${~oiN}t+%)qk zu48FLIFx07XfMEP8r)%MrUG2Pf61;9onlor`I7Sbw%NUjb#vP;I;>eih$2qsO znP@l?RqlDmTEW0jA<(&<1!9LtMh175D4Nl#C>#r#gtc73be*ntEDA}yT9X29MU-1M z=eEhN0n3r49q0$$D>QM78o`66Pt_-7ODBXIVYbEeKtWF}^X*`-@o+29`^X0qBT~>O zxmPAkjC|;p3KR}4%&g6&?tO!UK?%Pyl_gCDw_q8mw`Qw~yOVBdqqqPs=o-(_xb9UN zPW~moy>^Y^FWnlM_8W~@u@38a|1qprA?Tb#w2Py8)*Wv(@U7vvVlr za@<`e>_%;{cmN(=-PlMrMM<*Pu+=N_0xH(m*HSsL*9q{<^^~UZ9<; z(V2Oq)Y_i^yyYsEl=oLC_<%r`}pos58z(46QY8!Xq z&PYagb7|}ND^1cbnu6nlI8zM)RM8pXHtF5=9k^$KPX#(z7UHL&cC%$l1bBXC4rJa$ zVJ|X+)@|#EI?2s#(ar;|JELj7Psey$e=t0<(A%F+vc8B}3)8`)-p?r2nayw3l66kq zk|HWKcLSuCJ{R_r=*s14n;lhNfhVb4a;~rENl5X|1~x8IHZ1Q)IOAk#VX)H?!bm0q zj(oYEPb?O5fQRm*H#7|-DUP;WlK$!LY^?L=vR~Cb zPZxHDrg(I073SATnw+Hndy;R}*64;Crf5(!lq**o2gfd~7vR+!EHlr=$w}$mb(sCQ z8Z{WnV2Y9MPzNjSZb3>p4^_jE$dBOe@;BMMIMuqEmbjlt$k)oquiecA;HxzasdUbm z$cb6-wb>nfkB)Man|Z~L^Dnq>#k@P-kQF^D!jWj%ai86|Z6-6@W$n5p%mlyQ!bL?& zvU8j+tMrB}b%vt#dWTH{xRWj1>0@M&v$4-zW*eC`0|xVU1^!aLs+^@hv=eQo%B@;=Z`+Q8?z+M*Q8@W+dX3g? z_xf>3L6+CMZs#wc5DQ&w{*;Jn7L1+Yk-ne*Hu|8IMGB^`*5TXvGLDR47F6J=9*q&x zeMuCNWOn_Mbst6#fxp zL+_gA}9QY)!o(DAYD$EHE4S7{kj)@;&Hka4I+|hnL#k|6y=f z?9uRI@aG50?rv`OW!Fa~GPA-`WW#V#mlA1tl6)*x>SnrSH1d3A;J$ZxEh(UNoLwqQ ziqubFsjftLG`Vs?4SHHbGKj)xtrxQ;obveqB$VW$CLFk!kKtRix(BAXa<^|)k55_A@5gpt3b_)j;($@W{@>jDa39kj>-s8mFo;Zz2A>DhRIq` zvt5Wi5>2CE^o(+a6az&IqaN32D9(w=UCqT8ZjKmUh*JZwFnZ%)x<`Q?UtF$(tYgi8 zHvg97jXnBj*vHZkOGS>B5{ZEFo}N?w#01F1qV2>Ew>12%reNI6g_lcHPhVq7>|2^d zsdida@aDJ~>u~GZ6E6$^8gY@d4n1cm?ZnKOPHFF!gr4=E<$pK9)xaobE8db0OfaTT|BV<5=Yeb=!0R3ZKwVT2g&1SS>oV(OcW& zywMlMYzmzYfVL0#X3R+0l3xRyYNq?&8G4$%I&Z+sZ!C*E-)Nh_c-)Nr(~B#0^m*G-ed;Q`zSu^)@7pqO(dH2xd!Q+7 zdsjz7IxS4w5Z2CUUmyg`a1Zv^nZjqZF>gt#^Tk15r8q^BL_|9ng zh1UwU!KK!DyoR)GaYNQNZydoz+h*mk@dI~up8RA0Di76`rNaehzKEC z-R6zps|sJ7!{I8;v@wlZYmM1%+JVt+ziP}2sImxKXu;t|uk5nGmUuYc{@oOqeZ=Q9 zKRjN(v|T`LhFX8>=l@jtvU}P{pLyynSvVt4u*kxz9_9N;r1#^~z57sSw5D90eDQk3 z<0)1eQ|O`G`<)HA7G*2p!kO|d9ykL}0n|KABa?lkXgwu?$6hN7Hr*1zwH6 ziv=l)+^af*Nbjgj`!b3Hw=w&SuM|bJT$8(&p(gVYIdhIg3`p? z`2xF)ZN?QYtWtbuQO%-rs<2TUz_)=QhkMky{zjL37G_OQ4qCVZD<1~OE}}nrk4r|K z1y|7w4_~B@C2BOixWJS9)ZZv)5Lum|FpR-bf-x)L!zug~S!p$> zf&H{f)U;UyOtjt$*=lm1)r?pMXDK^uP(Wl)$bHnUf>8?iHZf|Ju+TbQgteycpmd8) z)86~y+O^Pqo2o|!I}a6f?&k9vH3Gx2@HlwNzveqo8^Drz0gMTS?gW8rc!{H}ynij5_(Ie#84q)V-I8<6=QS`K zdR@@H`7YeIjNy1F#BAR9-vtCFFEhWuP!Z%`(F#NxPcvY^(f8FGb;sdM&P1@-px{5B z;aDJl>7E4s?s^bv$`vp09KUaAkX@SUio!>oGiTcjW%<;`{uuAcj!B-M^v^y|xk$&{ z{8rH)My_mh9Cj|o@h!f1>-xZf-p!Ty0`S(3bl^T#pLT56shgNP|P52 z!t9TOcvf|H*X%7G{$eodAIXIqq%iA>`7VWvo&97l$rJRjG`#mI9<2%VJj8^!d05Pn zk4Oe#+YNG-MUl3yx*9OTK^EXj51qY3-=#dutdC*M*a^H|Ql$9oR0mw24eSITzcf8r zv~hfdnigie`_9n(-fiQEy+FK87?OD9i;n*cfCrEc!w7t)5IVTg$6-W>;)9Y0SKTBI zX_QwN0k)Ao!&JD?>QQWwh|upbTUis2T}yDb-=)hMJ#icT|s(uWMZn^ijm~FKPgUjM9e-DH2bCbkQb*ct(+Hi99~E8ySuZaH&s@%t z^0u&zaBcuB%Dj$-&LFwa%AbaUrI3X!1Q!IxI@(@?x5vEI`4F!76Se;|^5Oa5r4>)! zG;usdHVrnjSTD+j*F4MGb~Q`R>3%@GW?nu5s@9 zjiXBYX6;_QeYb}`gSzEy+2;5!b{{??uUT1LniQIJcfd)uO#n=L=$``}yHEcG%fC$z z%~7@`Whe>gK*BGxMP;OO4m;14?m z7g1-&cY=xo!il8p1IA_62dZ8Ev*1?nXzHf!vZws|cPBSI-pfD>Puc!56$S}5Y~VB6 z8WC>5VZDWl(yu?`x0}T(<2Wl~!UgqUb%3g26my~Dy0z1C=VF~k@CnaB7F77B>mjMs z`mvL8vQaN%Jsdv)6j)9nF73&HjIWYE4PVrfoF%V2cZ@!es&c zWVkba_l$iZp7K9taM;{f$ykx$V>ITw<&2}cdZPRKV__obF}+Zt**Aro%@s3GpMlrs&(gmgte}K zYS&_FuA{Mh_*x^pbWHy8(JqWmhOcN#90$!yAzPW6pQ!EyLm#}MpXwm~p` zhe{@E9_Yi8mr74UOt79KK`Uk1(}z?APN2MbQKLrAS z?OK9A^(N_Jy0A0`c^qtRrV%$xV@IsPzMcorjY3Jz0+$1pQg17cd_NXO%bLBva*yr4 z6J)wL{fiKmTg$zoQH<>Y0#wnR#uz2P!h}qRR8-b5uk1o^&mLQf*P;L{Fjh{#Oxjfw z(23$EIh6|N4OE7qF>XV%AA1Rwc!izaS5SpYd6#lJv!bOrTwtJ%wMrPZk^)FQShF6UG(FtGB6PUE$6Pg~=FZ)Io0!SxjZ3I>Cl-=Ui=ixt}24;R?VfP1%8Ck6zlZGt_b zxGjwg)|GP&>JnJ|@=!$Wsh>uvJGwMGUyA~RP#0{F-z^kevJr_Yom0lq+jj-Ek#GY0 z{FyEr7sS6!TBb*bjB)fcG`z?;DZpNx8j2A%h%BQc(zMu8$XWOd=?!$Ww^Yzv_-bq5 z%G^V>met|aaGLA<+O@L>6{q@Xs+Z_wq&~Y2<7O6Y%sWT9<#FUUFief^wZWD;wl~96 zrV~LUR}reDX&R*uVSt<9v6(yXEf@1NoZBijyQP;(Z4O?CYI;;v%2hV) z&ysyhX(|*Exoi%=r|(8q?wDCQT?x>wYVK$(jwrvIA0Z2vHW|g|6Cx6|DN{Srn42!J zL8_{^mv&IpK#QF*)P>wYWLKkI?xM6?)7>m%`VFg-O{LCO@$>pl>X+3}?8oHQ^acg= z<_%(CaJmCj{Q#T1Gamn_($kFb6cyY=PuDbZGTb!d$`35zur|tUD%4p{eyL!)0x4OYm;!o)SIAzz(KA19P9!VsYwZTD4ZjzAEED3k zy~~k#h9^ujNuQ*Pysa#_Zz@LrIWx>#Elp_^NGG0B=Bz4m)S!DUNEpkjHP$mWe>354 z_2L*&=PZhBSi46pvpW)rPQuq%y4<-bhc}!RW{z^%>e5+z9Ha1~{LgX>{DL5J36(eQE?Z$o;neJ~T3^20=x<+q|XaW^SjLn#|@Z~i2 zmZ{Ahj+88afQzPfw2;QBL2B8bVYklBFdGr2G~q1R!P`Bm46d~a03J>D zZE+o)@0J9i#?^vQ$7_N^=)K>EO!g(Ai0 z*l{M+%^RJbgLx1YqBv-YGeU0cwuUX!m3Ld5)OK4=lP7p7HnXJ-Kk1+5*_aS^zNvq8 zhFM!qrpiNld;h-%D+k4BRP<88W8>-UGFSL{F@l{EX3Q(OIZ%hiN1NErmM);=cwGY2 z#;=|jQ_7!Qkn&Kf!dcOpQ|ugJ$saVF=AYQ4%r)q78eV;a-*d+fm_ObQ_}HCnz^LoS$ZpKHX9w+W&v}#IQV=iu3$BxEV5v1 zhod%{zbX25orH2Vy0ojh*q&b{Mb{>e2mcRBx^V@&H||uBpl2Rsi^ zP}=Zl6g>R8MmBWNZd7{2UVHF~St|9}v*PA1x7yEV7k-sOM@Vg$x#+sQXM|HjKjeW+ zDbnRb1PKYMhPRZb#^9RGGUw`2mi1E6T7HfUP;DRvdYvQ8NY=rz zE7?rWMcAe>_TW>`4JB{hLOCeRx|HQcis+>LNE1q%D6gK5(>SYD7N!(1^Ny2=wxfXD z)TFXL$owSSFm3i}9r*W5&n$025D8-oKhjMD)Xsx>VELB*BdAwe#Evha_0~!)xghbx zeE{MdNF_ZTMumU=@In0Z{E^NDL2Nhh|)Vbs^aCsqwxJu-4H4h8qI z7_zB;ak!4f>KjirGm&@petJCXs+g?wZ**y*Q=42KThaJ8hZ$Dgsl9p{6cUg4i+oI< zO+$xhY8NhCwJ2k125VZ-?Sw`H&wi5&RIsXQX(4^_a@e5V&{piV(`o+xYGh1SCDcE; zRLJvDQ+kSJXYfM%_?9_^+{v^WLMd3k%0{Jr&hfTY7|*eXvI9%>K}RZZCnH|=S1ShR zu{TAcWah?=t!Z>1)AU~LJN^h=ox1={K(fEdH6DIpF7`?)zpSy7w|Of`1*Das+M!>; z;b3!9pK>jY^`@Z~s#Ud$Gw{3HSoA)D<8#ZCtBnC zk!uOY$98%m|5+2$qVa%_oc@y?Fo%7u?*5QrP|PVt)LPW~IG)Ds$>w+KqvE0g+w>?9 zh)G3aub+NEqUfuQ+EHKNA#oS30j%iq0+sV-h|hJS0?WQb9j7FdSxjNLX)| zF7HiLG{9tg^5ZYK@Q3>uO z;gPT$-W-a#^@*{pl4%*Lv<^|azu34cM{+emF^aNw+9yIyY5AASrE4`_#IWMadr+n&#>H-Oix z{Jd!pIqoTmDYLT>!TQqOs9%iO3|!k8ma?~%2{}|;@I!0*Z#;i}8W2iDWet>f@dyLmbIJLSpu}V>Y zvw|Gn2DGR?_J^|-qIex4Rj-}RoDhgRVF2!Wi1=Ubj1t%P(_taA}AjvqeQ1rH&X4|+!s>xF>p zSj2&9mGUo@xX7wPVoQ7Miguymk1sk8ZV^03=0d}WqaiW#fAqL!*{KuPEbHPXDGH5g3}fb?HB+mRj~gYo==zTZjZZ( zeji?=@SM6(1qq#%=1-o#+Q3Co-g%)O-ujXMw~PF~9}pClHv-B~Re!m>4}4&-H#UO) zv!=kQ5@uHs4}94_J%7Mo6(hK3%;({JV$QDm9q~tNfzz<6Vbyh=!HIHgHLm{Db%NKA z9+ktk{Fbhi+RQM*pKb2MzyILB#BVp#Y~&8uE0CB;M-$cK^TOsOt@_yW>{1ai7-Rb> zd;QN|bOfabDuMsxEsARKA#VH4J8t~A>zf+rK{cGuXKH(Wk#3*%?&KYJ-GgGic#nxp z&P=YB=e5q~UE3G_MAgltBL~se_cifX#D;ao^M$Ni+5x+zWSV7~fse97wf@8lPKE8I&H+jB6SP*^)E~rj zd5N4D@ya}4)u)K%&HU-7`D=>Z5XM;E=FG-o_wW$R`0HQu1EP|#YKYF&Y{rIB7kI1e z&b1f{FVxYeg;TeE$DM+2Kla_@Tu#RM%s9l?DYt~2vEtXtAXQz|13xUFg;Xg$kUBxWUPrvPuR#UIYWMiv5kQ3T zZD|0TI%_SB@%yFP*(aMEW90i4psTwJam();;!TYj(320(X0{He_j(5r(MB~4+`~t4 z1F3HG2`5)?5`ik!`Cn&P9fs4A`1vwQFQ=RD|A%60n(2QH++OGS6?Je&kczs5tbux5 z_jZSYd@k{i_T6hig!{wYL1%Z@2JXj`1BKl}uF|N5ef@g%@v6h`hmSaT_xo-u+N?kD z6YtvllmoO|>~}-?!Co2Os}YaAE4YE9RBi`srx(U6ZX4rYMQ(rch}#zj@x|4=e%yn@ zoe%WS@1JvPdi8<^{-&Oqzy9_!=LGAKo$cPUJN={YdG7;fO>zAr?|}Z_fzcig{*Uim zL#TRCVNWU_Y(aYRiJNQ}_~GHL>tf&e9Q(Th0;-Y^gL*^^)Q2C2s`?RuYgNQ2A+|%| zc&VHOyN45k_M~=umDp8)dyuoN>OTcy{rIP%il06}zjw=T_fE^h_kYO(DRRf&_O-G1 z(>nNfr42vs^H>^1yGVGdnu>_M7-L$FSo)2~1wTEZ4w^tu|b4&i}7_Ss@6Ja%^)kS()`9_WL=!@!1hF|^fN|45J?3$Ee9VD`6f zjS&tx{CL{m`3i)`597)z;Fyi=Da?N`-qc1o_HR5pW|V4U6b8pROeMoi@r8}Wa2wkC zN}4v2yFIDQs~uDIb}4;;QvQEk9KLuKj`U{@GYZ;$d87Dv(D1r_EtyKDuLO==zNmV_ zK%sUI))Edb92y(Z(vtEO)~cRsSg{rDepWdoA{)nD;`gITe;Xj-H$Fm(&PQ&ilc;q7VOLxkTpdPSk9f1aW z*`EW3e8F8$sz69&=he0)nEQTOX%CdN2mDtcwnBRDk;B{T&@Pt~bnzEZV!Bx~ zs$R?Rllb)f`{&-NQoh*By2(+*`>lj}k4}(4r1)a*#&GFPd$v}a)h1R~uKWA&3I9?O z-f9MEsw)Rh_Ajs~l~3Y6s&xs?gOAh^K56f%wLen$31hg$^R15XuyRe`cI^$vMfqGl zxxRfPsS1Y4)WG^3uT}aRU>RC$u_sOUU)8MMHczeyyU7>O@nw0Riq)0ElYR4R->vGC zzvrxacHMm6WEA zm^p5>qZOC!|EKLQmsM~v>T4!LLdNXtgUkXL9)PX?mac zToiVb`EB`Yom4@EL@Pk+i?FJ@?SioTOCLdo-Cgv;b^iJ0?h2_vJ)rY8PXj-w!0jwP ztp;+a)|A(ce{u5ex5Lkx;eT52%Hf9se22mp#rpTVJ%#@rI3Iy}Ea zQz1a_7NK6>`{jvW_LluUR@#}5cnhYdfa+A!%*w7VT(HHZk#z@*SYF8DMp-+I7(hn0b1xkp1_idmmc!R zTdiDiM=qs5(xt9*{M6I0X)vBXYZB+6K1QXXzP&Wg zGo~F|?}z1nWpXukecAc-&i_1|tBapbHMshtHc(?0?iz{tp^bE^J*xxfhf}-e*Qm-q zjwPHyMAKIiRqwP5C+or1rapeMeKzxyae>e5J=|1Hf8!FX`}~9M|8$;JLw*!XJGD#N zJ^4tsfxN)jXVVsL8VTBi)K%wtz*1!UG+ohsSyW4)7}E&)?@_z+v`aga0Sd+yld1z6 zW09a#0YGnp>e{CTZ9I|cbONIzs8soCo*jJK)zkM56+~MzC6&^uCHohX{Vi0_u;8t? z`==Id+*d5sW0ML6HS_yWE#8)Nuc`~5Mzn1o_3t_?d_!$W-KQo&+l?Al&&6QgI}g!% zQU~~uxC|=SR1P-Jpp8QHAtBYQG-I{7REoexyQ2B(myTYZQq%ijT-f~-_sc4O zv&pivFC;ax_e_4DO@&w2!**)J4Hj#hCP2-K`ggU)X4Apc%G1m0%=ma60|;A%+J>st z9YL0wd7$?_tBhXxkR%M1Y+qXVqs^*<+9@>~yll2YEGYr@{ z&0dh8GN%kf&Rf!T%@Ia}sL1Lws4QXfG<5*!U~=S^NEL%BCOjjdvzNNYrz(EAcdAi$zJLId&eK0Mm-YO1K@7@{> z>f=-2{m5>cb3rw9(2}~1mFj-hDe#&b1wB`-D+Cl(Zfv#+%e8S^<$hIDcOqayHI5c4 z_JwQR3tV8fy7^mZm|dk7p_;5ImAV2rDETd<494x-U~asBUa)}k-X0LP4H<;^HFFbA z`=Z;#)B84RaAoA^P!g_PR1d$ROo(rv=Xq4erUEik#7if^wBf9YvrW-ZvB}EGtvzBIt~MFNTgc1<&29Iy7dz>NirV>?PnpFpt;#Nm?w)YT2+A$E;9O;8vnboGVu=bWxJzWVN-O_7Gn{>ko|lQe zLwIa^cRD}(F+FrkE@QfST1i56h0g4Kq`6$`(=rbwY z5$y(`JcqAvmZ{c;*`%FHXH}#Em~yvzGfwD)kijkC-(oS&6k&xG zL4HZsp9u7wmG##GyfZ5pz6_3{Z`ICcZ01@Fn%cH)DY|niy?&$BDYko{7Bau(-k2nB zv7`I6Q6rAAKrl=$3Yslt7i=SP*``{;1VqE?f-(e*ShEg@pJ#*2fg2BVO&|5|N{>dO zsqBW}TOIcIOCd|5O99MTr7GI^Vop30Q9X8iRF#vs9$iCa$=A)#Eus{Li$qrxPKjdz z(YklPR5=ni?{16Zm%)gUG4jXnAZqO-nipw>ZYjgvux5gZIDdteriXM%cOu!PAIK55 zCD2(qgIY*80bt!r7Fkn`wQRhG0pw5_dDA8I6TP|K<8eD13G^hUH;Vi`s0z1D<|pPA ziEU%)9 zvZ0UAKB1JWz5dqAEOLiBig`7^Fm<{L6Fr;<1L8W5MsIJC+EU_aHiNQnX-Sj$igozg zp^FnISfQ{@`q)!djR`VrXywJJBsx%DTl+VWefb~eow@d9VRH;j;*j)=>!ddT*!5RJ!KgSMYS=99FZTX=UJ1DOhJTzy)jz3NY^| zkG-Mni5lUoMxj@ggcC7P*8@AVljk!nmg+sZrZX;=a7}n>$8l4Z?6=(kDltH@J=~He zUL^d*K=T1eF*dQ48FyPaNqlS=TWVw@S|YScI!Ik;hV$1xJhT(ko4CSpw2Z?+x)Ir) zT2bMg7y$;}D4D;3V zbFDF=jyFKRBegVO@+^Lg6dBJGaAh_GEBp&FiuU!f@ni#MNS-6#Sbq!4MhE_%q3$01 zN(Q#WY!;SOuI{MwYwA4+td%X6&5N#Z^#H)$s7Q59AFPu=XQR!xfMqjG$tdyqo{i!Z zuqOYOXTRD^FI6L?z|yt>wT()9#&pwFPV?h^dP>Lb?7sXLn)I<%w@e)mPrEzBax!TK z_wSwdaO{KL*j+A7#3bSw3N7AdjY?~oW-$XMG1sgqU7n>BD3*KYl=&;Rk1_Gc?fdSwe#t8zDXji3~GV1Lh^*73ao~$cwC(MYCxx(b{&N_k-56<=nX#`+m$>F)ZT4~{cHyD z6(4+VOAp*{hc*NYnOm5rf2RXJM^rm&*gKjEdKQun0uPaSk3IB~9t(x z%BX1p4beYb=a+ObW4V0JI0oU1mwcV%$eS)=wplqD{UWyEjmxKx*2HU#vszKin=*3j zI#FJkNfR+jqt~gnD$1*&(1mI$4jH$S(^gdHvPztcf$8WMAzjjAi-_CLNT5m=FMgKJ zX5snLtakEl5*E!C3bQ=eB+eWnct@sLwTpznYJ`YoH@f7*OP|p)=3LqR7^ns|jYO%bA31QcXED@@K#Up+E{%d4QVNV4 zB!swsT}y5XtVSG#e@xIikB=@#9c>ip`IS~2`WzMW4XCLK;)0`OFaj4ggMb?Rg3|4I z52mq9y-%}oso^UYH{*`AHANL7uPuD@PR?kfyDwG~2k|xme{!y@T^gA)O)fAbHT|3; z)@`MNyYlFx-+Hn(RQ$%UJ-vC54lGw!NMZr8hsDOEI}ytzH{PS!9Y)iXT{Z=AoGB@OH3;$o<2pQ}{`N-nqk#oy#jK$KI2UcB1kp;Bol5u9jYdOK%h4xnK7p^5( z1Ixe%$T`F?jft67&w3gW_TMcB*ewYp9n!J7a`epSUE~kajIokoDLeH;-J~!^m3Ohw zW7br?*S@8=P0tK_by*L`_?tw8ydi-H1a0Ihjtc3+9ZtA#rgXhJwZ1SdCC zfZx?BLF-V!v8AxPDd3kEZ#a+v7ZrJgklDQnPy%bP3!kepj2+)0q}ZIuK{&TRXr*li zi5T+2RQva+z}Pa!z2R)O)sIbe{n#!^!4l%EhZ^WZg4h{LE zJ{mnn+fKX?dyQDNHNP#WanRWEmP2J@R$GN36(_1Yo`=&{% z<5I(6sqt0|-5mW9#@z@ulFbw)5A5PK3*wcaX}j0FPnr6XSqyZInLMU#`l@Iev2RYL z8?-}C;eyw4o=mHv>r9vi_+rOgNw=tj4Qox4t&RKyML*BGp@SI6irDtA08$t$#J;Al zYf>OFLrCqS(#OXXIw#si$ATx-rZs6$5dL4`$Pldf`!H0n8gd^k(;3cl`RS*AH6M;N z#EMo#!dm7aQJ1SWRB`jS19`tp0nnk(^hfWh>6H*?IzHdC5#emN-N3yL%A1q+sa=a9 zaa(BP+voT41-yCZ91Rt&(A@05#;*rKJT!U_&4{>O)*8szrlT75#}qBkh!P~+@nw74 z6`8nf)8j{NDRbpH@ni}4mg)O1t;{^Wu4T*9iR&y5AJT@Un4UoE0A;TWZ6^S)B&paBvvCj4sk*YWj?X|WfHnUrx zaw(jQ1`*h`);4o3vYhXe*U&7Hlvd@z$TM_#KGbRniqo20CxJ^DSYX176-YA)zv6gV z;B>+D#Lxb>Q6wV?_zQ*Jf~CHYX#XQbrI4zEImn}fn}33CFvMwt;LQ}kGVODGr0HD- z4cF$S=<(<+-Pjee9jrv(f>@0opd{j}rkS8Q(h3L;FOhOy zztz^lk+9K<@(kXUm0?>dfY*m&nRmq)B>YjsSQXrvx0=G_VRV)Mp8}JvT($xVm*m%S zSazifMAGm^SU`EZW|J*opI~p0tgvc!zF}c|f$+eShxJPe#qPqt3i=nb@3}@mDtAe0zn!VO#kbz@}lWD^@gD=YubW@KrFV#b(wD^zo%6h7hUV zRj|RZGgh*#3Tqq3Q3kGO z%4g+xJxxNy9>{xtc0}oHbTHSxWV2Jok?{c5q= zP@w_7(KO=k>Ro(5H$`Sh7=p`6KQ^z=EQAY*(TwKHzB*~@ShadF@DD0A8TUqYgduO=9`rjb>8@HK`<-L!_Jq7X_be zNtyyL%(bAH(A%v?ztac-0QI(Kwy|DssqUdrx-V93MUTXWgR#w~kt(|=q)PTE+Ncj3 zk_8R*ES2{S5zROV2$A044p0k5|At<2`7@jR*ra=5ly}iE{g4y)=Dg{$X}Q$?dQ(2h z0(xZER=A-q_k%Mk4h%Ef;qvB9T$b}M2b$R6TMqjDbSKf+VB6x@XQdpplqpO16d~%j zNzFAo(IUPt^DmEG&_*M&8T0yI@YPcn4qE+UuIa7bQiApN7s*4bC#lcK?Lm)9Q zxoBI?GPZ!%GzD^_V(DbAhns?*g1N*(lu*n&YgDTGVE^sQLDFLdm?;I^KV(i?AliIQ zHq3UV%myyQ>X1ygDHw+fFu=3@=}30!U))XhwQP2C&r2Jfe%fbJ*~eUNSxYIWoN8&|7bo*@#wb2{6>HQ7tJ3rz@ zxvCp=2M3ragTmu+Kf+bC;5o$We8*zlD4F)PFfz@|$MNJmut8h*8J4Y2wRIgT=4dZA z>?K#uQtUe%q8vqWN3J*XzO`xEvwr8mq1o2O+-uV#cEz6G7c;@cG4Q`$@<7d)wx zemE~@lPk+?@=l+c0LjebZ#(9}WlHp|mq*qpH;$^T%}c@iWqpU8`@`+rx{fNhqqFd{ zNYdxaIQlqZ$#>L9ZdQOIGj^$O$GUE~t$xd8aXBww8{J*2t!wLGrGg z93ICpNA0ARmL(Qmn>JSNR`*_)$Z8$+#=<3r#MuxzI+|w_mNSx;1PjR{I`Jk*e&AB=LWXD>+Wl71ts=YmL zJv4}5!6lKT)*qpz<`DP|o9sfRZaCj=%b>gIBbRxd#0RxYP)AQ~X3p$UM=IS}=U8DD zFAT*9pi#UeI3roj_3KrWA7jmu9flSNoZ;q5y12RAgRIG@V69j^ds-HNDgDg|9~)M_ z5PySqU?vc%;18{1O-QqD?x9L}p*N|OtNhj#S~f))`2}ROkQ8Wgjm7X>`dFyfvuRf~ z&ApK*$9bpAvR_VeXBODld13xs*j`=Jd8RjD*^zjL+ur_X)~f`Qc<;9`a{E#nG?68p zBqVjM$zH07>@P^y_W4<5oQl?-aYI`&hsD(CZVuVUA23UVg_=uNN%`E_otCm6O!-)| zO}96VvsZW*mp8+YPKOC%T8|qHY`24J*0?0V_t!CYUPIcGoHTQ1+L3a1!ad*=`63JR zpEe{AR(vy$%an|+xg7}p9M5^5L64A$ZCu0Kxv*Sh6>sF#fb}B6bkIpKW&9jxbBaHH z5|{aN&y4%T8K|MS&$CoMdncxab;`mssugV63Nsx1^0hV<#W=;qo=29=*-R$Lp$+@e8kGH+u)%x*+7_YUZH&*H+QwYVLJDtN7P(aiY@N9v8#|W zvdLatc4LrZOy*0j~0-i8OTCr~8RkgD*n_IWie4a*lB-DvEyk4j18` zX23u)M3!BKFKe=7K&~&2SP$z`l_$xp-`VS4QbTZ>UQLT@h2%4#|F1bcvlDS_shN*! z9Lif80w?@jIPMG!2iCLpaf?~HM%jLa!sTtd6QS9jAD^D`GTpHSvqPWX!%%e18PcKd zIPb>untoX>1^W7`_q4F}?s=(RmiUWD1+9C%xh7`lw%3tN1sZ~B9&8he*AHr6B9%sF zgWF+fsmJ2@VHZG%af^ZS(;yt7Sio)LZ&$WbVZ3cf{A3>GO~;btyHhU6n%3nxS%Ma6 z&57C<9Ds0#Dw{`!b8O{!v+1oT3T9Rq{Fsg%$|O@yYxPBI5ND2Sw%B4rSt+ISQEXVktpgHc2-`?@ft4|-pENqaXhlT+Ktt1eh8<@A6|f=Rmme! zi!JSchFHYDLDs-U+vRTD;*zVLkKqKPy}Q-QY#o7Skmggfm7+PT5eMg=8!=LZufAzw z)V5JgGc&B2S4|(cnE3NovYcr}K4!zL<>R9Z?KWg^t|?b7mCozI3S5*!ZQON}IDwL9 z^39EL(7S0_m-K+Qdz{S{;i>&4u@6La-9;d2vByBE@t$Z(@OSLeEYkygBCPe5j~;CJ zxH;NoPnEoGJmxjQ$+IY8VUlMhmr%2W{F_9_1p5KUMTb$`!O}3p+TQfVMCp!zKTJ+a zPF|!XX01Q-+@bDvZC!iT?s$7I;yaL7aucSE;oaj~M<%xn?DjTK`lgSq&C|8p-PkVw z{e(ZM>f4~X()o^R8>ss+=dvGJ?-p1ua-*zQGs$O?>t>4u}?e^{#XGA+0RcF3JhPft&vwvXH=kEpLaygw8<1LDiH z#i(&6bttkZ+;jXsqd4hGrWwC>f$in*0!<7#fn{zhw@J>$No4}CH{=eShp(=R8(+*j zI!$%I&cmFCon+SE-u!q|z;Uz@kztwVkN57?e5mWNw}H5z@?lJLZL?P^li%#Q%F@Fiwlyuhop1Uoh0^rTWJ7OE%zmy5x=AYpR5H8gW~)${ zBi;XomWPJRhU8?7JHx-XnX(g=7#n2`=F`HR>eb=i39RW;P!w?x$a*Xsx6f!c8AU~9 zs@&xx-zhxx&ICL21`s0lnpks--Dk()m=xFETODmCy=GT3L!Bha^2-4;$Tl~v=Ljnd z)*Of*oEH~-MJv)+BQ9+iv&&2WExUavR!&YEdcIN27aFk4CpBcaf!(%s-tM-sCBe^h z;*)5w>DW-dBSEbfC*$MgC7Jt7NdHaNNRL&?g|CSI-opuXote1Ye@d#~-q2jT@$var z-k>U%sgCa0TThJl0DYZvoYJ!>?sW2&Qft}hXeIZJ4mt_NSNtVD?(rQ+8C9m>b-O?y zZk*`F?0SGo^fA6}08QN;g50Dm!aE-4c=Oxnc8z<{KBe2^K;dq^MJPwcLuD=RQv>^a z8$9#X$%gLParQQyy)_>CMd$ZnejfJbVc%?tDA8Q7a#`aEvmi^Iip@~Uw7_MWVT3Ep z1d`}g$`ssjH(x@>{eOK-@Nfniqiv?!xTTL_ieX5#2;fYoLL=sy{=4$vHn5c;wR|t${Aw^pYa)If9NHVo0_ zDTZc8TstS%&S}Oj3aw#4AIJ7Bq?h3@iZ0Fq|X~wla~0xKxy#6jd|e|_vEI*6jRGDa>7+g_9HuGx*Fff!zys~&Xb42o`Mf=XCuVO+caqSA&&M)YFQ|`g*&#o4MZZEs)pM{D`>r+!fayd z&tc%^t;le5up#&Sjpes->!+NyFZ6Bm#_USnsQl172MJ(%zP63CRw^_L?49CF(PUSX zSvHD=jJ+AMrnLD=@jGH zm5ZfYrq*%AC?a))BcYfk*7x!1deTe&94AkOwyVc_z2>+gMkQwaIwA|0!@9V=K)Y%4 zc$_#dPZ~p?pghUZk#WX6`3v1aLwlSiE~m#tz;fQ5R)fB)6&l=5=i{U#uugdN*&}_b z9IG{qYqgZ@Po%kPioh_?%dO59WZa6=wi{`~^O~STC*)?=Y z2d6x|;IaI&7AaYd!p&AMj28{qPNwayyO~NcR}$&l?kR#!ZPU)!~rR&aH>b6q;?xdV5un@rBx z50qJFVs8Z~Ld9NXjGEKLIZ4k-4~q*HbUM$^K(84}OWB-Z2GND{h1Z-b zLJ9d9PG@~oJ7-(BKW((N2+biQ>+Wc9uJxIr4)$ov6#8p!t`F+|0*l$fBAdomRBY$= znw!(62W4F?9S_+_k9~pKqSF_6SbVViw?RJQc&?|&;U?J3cqtG8>Q&l)J}%CUEK(Z0 zRpPu3C1UP_E|6r?#q;7pSa)R_T=eB!1UPf#|5DaLo=b{UqtLbJo!Mgc8Q-q|P7i7y zvq_jm#{ZC@e4WyeU%7kTl^se5lfOBm7Ww}1K>ChfY!oip@6r8V1!Vo;{wClT+Xqkv z-mzpO)E4pO3;f=vtjUsMyB?oo3zgfEKLbj-(46u}nde04F33V1f8_>@M86>FK!EV7 zo0OR4*q>R+a{B8$27Z#|Q_fG!N3CT$t$B=9N#H%xgbgkqx+Ub%DT4hS>@pMk{~YDx z=q@N*YusD_Z+U?sxed(ldzQTBvxEGT&Tt8yY21kLFs`%gI{h;FyOcFTZ=Q5M1ObPU ztF(yv;9P@uG31{_si~sM$2Q%RE~#xzxxr-)f-(XUf7M`?m#ovcyKOa+e*>lOWUDD1 zyu-Weo3R?pS!VP`Vx7-|&oW=Z;`}`*l{XfJc*bsACu7P-ApC#*lXc)rN1g(g18Q`~ z+J~xe=cKTnA+QL;8o?)hm864pf}1gtd4PExND>jSn2v(6IMT|fkIUmoNTJGg{joY6 ztRcG+U1bJ?L3&lZP_Nu8IRe(l(7d2u=XP@)mL6*dQ41#ZhWR4cr^@oKVG3p=*Q!JY zkc?}b#Xnd&No|guT+(&^Ead5&_zI`h2NaP}*4W7)aZg*qylfIxDUk zdJGTx4S!?RCi(vPQx+}@;L43<&{6XxHm_WgL21STLDx9&^6U0Lhcj23u|664wz-R*k&-xRO~Mq8^r=GClh9v*wLhI6`S_UdQqqY3e}n-oeKnDAj-^U7g;U|IjBLA zR_j+h(E76ZXs`syh{xnhlCi9v2BYq@4{P;#BeE7~P`jqnTA;OcFp?(u&d%HX5&2Ru z4jk9@{cYW(Ot5l+M>!4(QaL!!{EIlAncylET>!uQ^$Rer?hnt`V>zVm!8H1w%^VHD z%v!N{#y6JwQ|aJ~6!)=n0(%1pX$mWwl&yJIBW2z=n}&oY_DBm2dzvX2fGjRroCpNN zkr^m095h4379e}&_(^gcwsY<)mo<*DA^;m&iBJJyPjGh2S5^QB8bp+$b=wni3$9Xg z=D`$`t$|tX%#~ozh&m=TYZkNwkuI7FZ=5Fq`g=?a^shxVFT#mLW*{LF5;%+}O4Jxv zT&JqHvEjzSi3^qVc5ZygGGsRhaqTUbu0cJ9ok4622_`e)*|{M)kovRUReSIoUXW}D zZaZ&%df0e8J)dMoEL;!q*#4pZC?jxTy7fdfs%gg{9g>;BO?M&04@Odu6F_UDRB`8yPd1AEo+lN?Vy}VH5s)dSi zsCABTjr|!yopAvpdZsnaQf|Un_uCk8_YrF*p*PRG8(30E#h>W3;iO9S*N0Aq8tzp# zY+TE4XK@sQYu6)cF61_0Nyn@1Jt53|^(Z)L;irek*av$hA<}9+x!fg)K$sqFDjD}| z#w*SVrM@gOxw?wqxXV84UHa4fK9O~t6%KJIp3aCxkHj3b%)1C{6i%M)$UyNsv^M4| zBpDm^Mw7m=lpQ3@5! zMuf?DtbOj`onzqBIum0AUBgp!=-1Kh>4Sva?ob#Q<7nttY;u7>ILW*BKnXT-65Cid$`a;y=n`)SftlP5@NE{WoJ0DnJ`-(nB7rJJNP%Ue2u-kJ=G|d0hWOUP zmuP;L<`ZsKTTro$saBJ7a@hNqvirxd4Ij6|ZN%7?DRznMvzBuE!n@N}_GK`uE3bAS zsmy#VgW$ur$3w(i$)u>AlO>(*Z&v8R=1q>t8J~w+lO?V5-)xYlQ;!PY7Mxx)kXILk*fqTF@oT%9ke(nkyEr9tj^L5zS2I(vVgErEcwxd{k1cj zfJOm1xH!qN8f$3kBp#4HIFq14d!x=n-%>NwcEq|GBji~w_w(iRKs zQHrZ`Q>qV$rDp0Cj~vi9mw$<+B2RhN3@G{ieM$w8osgyy#9FL8Kg~3fy9O?Dq8cc?E(eo5R^PiOc8b2H{%z! zFMMC5*AE8M;E*#=n=gO{vZu&cr%C}wvZYA%!U&8 z9E+C0^Fn2l1g#JgB9BH0kR13sQ<$v?BB?=hgZ|Z|qm8lMkXWmU?Pw(Ll0uNimmV<< zt|$~4Y4Eddi9+usl`YtR06bE!ql8n+G z!r>IGt6q~fY=5pk4XS>mpikW?3un|y7ZRgi!Uq&ydHnGh!tm>yr z1&J3Eo4o>d*-cBcJ>jfflr}8=z$DTFsz=y#_yhf)uDv=I6$iD+l~^b*F4)P-YwyKt zaluY=Epn|5Z<512`fy<5DA-!Aq|@TtCa~6a(<_wtSyXoH+0AS)%J9=fcmmFZ)O`r5 zI?%-1v|ImNjY7FgpkD-+9kY1RFP_qj6i>td1f z9AL?`9FQBC=Cf*mz{0p#T41Tq{#){!-J!cUh`Hiyi~Z9r9rfTaC0kkY#ds4JGzQJh=Zpd|yJ^ASLn% z6$U46T0T=6sn@iUph$XKb1cUCk5+-`zR@W%;|XPi;c=bqtZ}g%ICPN3mdGH?S|A#d zqAAh_g854%PghjxSYd;+NvW}pw^+fXb5W6v^`s*RG1NMZ;bY{%GUza8o!;cjr#&S^ z$*{Ebbapl{xe2HXgzNvvYpJWEd4W?Su{$(S3nT7rWW;`HX@qddec=6U|r;C z$evBK+WV|K*3C0Pm4V87Mago4b`FHb@3=WVEK|>%2djKzi<~d)pD~!T%rI|zN1a@6 zB?(czED^}ba$E`K1bmw?8E8&}{>RT_5qmt6JK4naor~SZNaHLhvgMVrWUgq>ppU~U zpam1^05d?$zX}nVc9mFm=fD&aW@B}^#hS#E^cEyc-O<$74%SM|U`4!d*wZlj&QM%ON_kKO9)dZrB7K z*4lT923X2e-(F-)C{^o8?Xw$$!F6)kmJJ_X@(GlZ9d=!bty)9&%$dZ*69rM2X0U_+ z<1FYc4>%)rjKM4t7wtYXN_%4Sv>2~=dwn`do)h_+3}UW5I2rl)aR^ix$Pe*M?gBB6 z&z}TSBvePEP72yy(ncJ`Ea|L_!ZjG_DSLo^IU>{S*uzkp_ZtH28=n_DLV%JE-9`M4 zDEbv!l$r36v83~m;f|eU)6kboXC)mbSbZEMo7G`wvb@`oEl;L94Q~cJgC>`31RAuI z){^GJG_=Zl4}NtujJ)a^W)bA*CUUkTW_}01By5-Or%V@GJObX9O#$u?Y%BvIzIksAn z<4}8+}a z^0ekYJQ2%NVqyE_BP@pK0;U{=>N?Xn{G+P?r2Spgz~6Eiicy^r7F3te3_OwT*n{7K zN3=KsbPo+z3fJ7r7>U&cl|$9t2ZKQsJUNB_cUZNtCBrl=_(u>EfeDevyLzR&QZRG` z?hKNfa2pC%S?p>MNwkUm25GwxgsiY_L{zr>)cS)#=~R6-Ua8xAb*`qIIRnI8zBK>N zrx=Ka^;k(}#OiB>9vuePD3;>lg2`c`1fN!m5(TzOTQ{vy3ZEfXQz#`l)0I@#$QJ|Y zmG^cw8-3|`@QRGiUAE_09o^Z(&KPpF`rZc(PnwLse2T6=pkcT|1^7~JH6i_3Mm<()9CvZlSz=xy`Url=;bo_ZC&!S0`CP9vixYiwNoN~?3zOFhwJDd zlzU=3E#O6pF5EU@$*9BBAI@AL+&s6L@slb^9MTRk?daly$Veh!h!B#EEw!em@4*in zzXN9w0=Zas6wF5zxi0ypq>7JRiuVXVOyhVRC}H!nYw=}#G9$?-liq%BT6iLeEn4OM z0~To+wTt~q{{VX_AqoP#1&548xzvG&xlW!9?mD!>MlByh>DkC2Bvybs)AHePUzXg? zlWqFX;%dI;fV~?(KxzupCZ*spk{aWZ2D$E+Qh@8$S#lHH-T*>IK1@33wg?EH1|N|* z)j3P$H`#T7^d}+ei0qTSH+9}BTBLu4HJZSvUa+JQwc4(S5XK1yK{)@jto?P)2^{{xz0^kbQUkM{JR z{`2*C5$`lk6iYVL4XyREwDIS(@ zPeq8uxo~GT##S0!I@;vTIR}l#-o*F;q*mdg(I-U$U1gn+U+o(t#HD43xg0|v(=6MT zXz{wU?6I$o;jk^t$wj3)7>LtQC)qTWVqFn(&BKysUr(I=_q1*2t2IDL3!$wpjJ;%7 zOp!!Ng0zW*fpv5b)KjXivL#-uaCi1Wz-p(RI_tQ5LYJEky#_vs5DAKsUdnRr!AXc{ z60&9j3%gXEQB$`^qTcLgXQ)H!*&E&_RUSu3$Tc%qk;85jBt=oAuaCQlL*%+L^}xUE zA38gs(PGnC*j@sp4Gkl}T?{7F@m;|XitrcHy^3}PLK4=@L!A`|cY_Xuir=pUz9b%o zj*dJ3bt4MCfXME!cI&`D&sb=KozpW|$!Plpej#t97Ab}5xjB(`th>J)Z>hFcpG8~e zR}mAl4C?|y)8`$Y5-vJ(`OwGAVHt`yMoH4p`G_ubc>g=!-?7UhNGpa6509BASdZ9G z;&qSiE;CNH2E};$gxJ1arY~A~DJdNy zv5(%MUfqaoyn>lPDE3YNJY=UzW-Ssk68@jSz*Zu8IbPFP^U;dCaW|d-Dw0GY>0mwg z&_`Ng94U-2aFSxB;*z0q#>S^ISU`*|&=E_#MbrheiimwyxP8nmvco{aypWj)U1BP@ zjf!F<9%9qxvzMPu4xWiyS(4k^{<@J2fE^67;QNA(>1=DsV)B8Ju>nLEc+2h0h3Y+5j!tIft0o+yXGN`WPW^+0=&bAU?vp=CcT$e4qdRQzVg$y5y}#)8)sVya=*}R* zoa?#sf|B0l?n#8tsG|dYJ#Ij2+9{szI*xsC85w(ZH4(kEO_naDhEqK+f`txwAx?-} zfc~IeZv19*nwEJlF)KwsS$A||0t<4R#qD2;SDcp1xA2#P#mDa}Xf;ZrH4l3xP;--O zuwq9CG9gQL*`p)Z3L88ySCo;TeLRv31~67K&1xhN^_FXPB5yL6?C2!!L1t|1Ebau9 ztQg`|8dxGkZYoXn4?dVsc$Xs}UB!%LoJhpoavngl|Ek6XtyAuMlkKxUVrPbAlbPk{y%N9x{U zr<`1sthA@1%h}qveG9-O4xY|AJ90L0{=ip-*N#t;#DS5I4;(%+9M<8a_~{En1n-D} zQaWMM@{EbKWGx*J;8jLaI*{u7ga?3(dN(Dt=ss8vc_nGm2d17Vc12Sv`fe~UTe&)! zDfuB+GUqI>+M!+)2m|B8rZR~bq#!Y{{k07GVW3c_#UESvsav3h4rUqoI~BQHtjbUG z#AJ60~3wPo${FkI@p8G5C0Bv-i-`lHyez27*QwK`{+B@mK=kM=*6b z0dkWQ5Qk!kl}JU1Vi%i^lAE$Vu!K=7Y)Pj>*`&&zE-`XuNlR3#d1A2jS> zJ0xTncLa%%k9NffsUV7`eRMp*sv{y8$p-imX_vE0$<5inQxb1WPUA~tG8VQW1#Y+U za4Gnz!F`h2sIXMo)D#oqQSy;j1~%dPEfL=Yy#^@a5)+l7CoP@{Kdl6~j8Ju&&3Trh zO=6W+qO@1An%W(%Nb%W#XZHkDN-ZY&b4R|@$qc3LVs-~pCtjXs>2f9t6_;u7^MXQ* z&Y6j8=e+kGCozkE%J^GyO*iF}5rgpP0uG(c+M`iC7MYnH78BkRngh2pS!Cq|`JgY& zV@Y6TTGObt-=!!=mXap2I}eh*?E!`$((x)TVi<{a18jQ^WjU|lTca(lwuE$cvUGib z5p#^ck^$*S_$KHJnj3W`iXbFrf?clLDSPpepdpHFJ|qSGwIwGOQHjA9^6{z*=g-)p z;u-;DSHK;hUC}XWP$a17PqEZu;@{^OomP*Cpj|7@7#Px?*P=X~R_hy*CSXQR7*I!H zCOH`N$We9#BJhobJ%;!c)`etOGhGk=WEI8W$FK=(Q-@-YBs@SMJLt@Dtj~txl96_N zrXCpg)Ct`6NJ>QFS$2yw&rJN{Uz+>8$c`p`IcG~*Ll`0h6t2@!9^U9Lj}8I0jH)c~ z>xp99FY$pECKjP!?vWToJ(=S$%4DXZu-cjyy0FPR!TJv+^^hJ%cmc26C$8UG@78puuKhto#vlOB320H?s)b7 z67>{|Gj%ZF9%hmq)`^nQOjk@b;-wpe7r`chF^BFfgOIO{>)~PwnA@M7)LRA=R-aF(%<%(qK51bJJO{dxt|J z+J2nj<=XDn%Z^*Q1Lut_jj@o5nAx69qNMENk~l{XT;v@Kd6Di)yO8^5?=H6wmPKPJ zyjvc}7I!!it(}X!CQjJk3e7?lgkE%x*48@OqVds^J~GJ$XxG-#6O9zlEyN^mC93i< zKNq7R%)CjY@?opTm+$*o&U=jY>TV^-YD^^d3Nm1pbF}`+G-Ug3N>Kj%ZYfYhu>Z2n z$ic+W-Qq_ws8g3}WFE?Q2>}tUm7Tl&J#!frYyn0LFamZqfWP&F8qw;#F!t&$zk$un zjJecKK;^sT@mTL~JdZ=WYtHG9XRkAXnZwnRLhe#5B;~Y~W}T*FkipFxVC?g;i!LE+ zqI}J-WOW>ZnOw7K6(q$+a(f-}ad+$!nz^rws#cJF-lVf;pWTINo>sI;E2Uc=pX6~7 zDEBi0%!ENfvXRIx&q9*R2v>G$^@4qs^+$C$lbH6yX-t&X5-8F34Z8ytd`ZsYP$9!i zd24$Jt|69lK`-^oqA3)iIzqxcGo~@V$R!SkPL^6VBFvf?1^G>9rG-%l%Vspl%RnLa zCs96;EYL-g;_jBk0Ktd^OrM!LRRSm}fU`&(w;+3wC&}Er&qazD(J9?!C?y!EXK z(OG`sa#8c2YSNtd+$>~ASM_-lx(l=dSn4UU>jRXI)a*OMQTSx5Q)p6OLz(vw5|4*jS}lDv?5aR5b)%o*HK8Y3Yx0P zy|Z?$Hqi)iGdYCxSzbwRv7Vw-vQrJFa;Tm3N#9bzm8elA-ygX5vT-RWxI*Uk8%cIm zIq&NJ{1jU&{m%XrFa>H1Ue`e+};3ZNbC=1!RINj8KU^o^i)?Y&p(9mO(BUyQP%)M>aXD=&euYr6W z5zE!%h=B0}mk+BrEc@yi=0yn3qqG2`CzRYP4|kF|g_K`{g{(n(P#z{#Q+eJqT4{N0 zXf@ok=}ZsTFwaMt)obLEu+WrU!1T~LoXNa+cO;tTkxGmZfB72 z3ezQffOj#+0+>uLt0JfmkFM0|o4tzv0Ko+8oR({ZE#G+59e8BI&inRpmK6!{WpSPE zimXdwO}XU$(=^Gcq+vr*6zHj2$g)_!6$&Mf4wP($&YHk0XAssbvC$lSW17=7U~?+Q zy@7O9}b;4IeNQR`&$(X;OgRA*S`K23;E!`BXOZ5HUx=~1lC%ZA zD-g0^Xz4?iJQyUwdcf>Z7X&2aM5Pd^?1=KUJOoxIL26hGzK5qVp>QO2054(AvH{~h1wRJ?Il;Z|GPB-Yx&QIaMTlJM{I5fh_?*9Iw( zUEG~wM%Ubq49M;XT^zHhi}cl4GQPQXY7|gpBep2?^%Ji(&*08ZpB`roE{H1Wcqn|m z3XE10P#jGQ!EcTsyuhXt9t4mr<4nBK4$EkxsPYpkggu8^X98^Ef^FDk51pXV!zQ_oY zE2@1!dPRa5Dv3geWIS!&yXyj4fq!$#zMI1S~gz zal{H`6FLq*VW9L_z>|?I^b6M^9I9Bjs`F zryiT-EGAf2bfFG*Bq_ax(A&}t!K_0)L>wO4ltSckqEGGzO@(6;`O7WTM{1jV-R;T z3Vb{{`5Hjta~e0%(sJ)I_`^}5vB>g0(`$%WzHM?5MG!c}9rk4S{F=U+9nyI*gU~pp z_nJ@lo07P1Ze^eLB2sKeJV|%HNCL;TkWF8^J>_6T4o=igh4Ak%!w+c_6LLVW?J7or zwM?NRy@qT$>=EzeJ5PuvkEq8P(j=-r1+zgr7>E!l@cEU)fU}RCWW%~fR%ls% z5B5gXWhWh^em9{eep}7tBC{>0b$n(KkHT1c~`1_L=D15GCp0DHLJ zL{ADlauB@q?Mm*Rs){eQXz9~pD%dLYD%9nzitMnm0*hFkF1|req(Z8X$~L;iFXvPi zn%m;{KG5G_R9KP-yn5HZf}`VHk>Fn#K>T;MjoPt_?yeTYGp+B6eh;9Eb(ZL02&E*z zpH)TECD0SfEC@|h8TiT6%g84(6o3h#~kO7tx(5u9nvDb5ixw0}bpl~j>0_et;*(iA2ObXe%;xkZIrS4cP z0)aUNan136GHt3Mt_KCO2eC00J6jlcpoE1s_0&HMBBfpDke=g)|K=KjN>5gfK#63* zVWb7p7p12xRvPuXM zF4<(YQdULAvVs02Vr!1&Ia4!WT3g5m8g^$MO2{6R4Nf>wrmW3QqTeH{Me zR=gxDB70k9CkPca{x&lmR?7M({|Q4@X4WNxB`O}aAtAyCJE`u;+Qopy8|HM-^9)Ju zZ*~7G)cE*C+~xM`*ix0jlyxvVG<)d8)?gBAo}wHK$dZfn6R4$J0;p>)eBOFa=16c6 zM{Mn#+FbERVjYu^g;jPkYrB6u9`Lc)kDb(2qdcnW3)Y-%Q1s#HVaFBElG8^Ltg?e) zz@M}Yy&nqC{r#+cH0*S>d-R_XkgJfiZgbv=YSYGAzB~7-V_8j;Eggl+$ z`GKe_mfUwIbEaC^0vFh=-H6KY;pYz6n|}(G%^%K1zPbz{bXxcfLVRAxKPNCKt5-b5 znuQ$h9T#RDUj<$Tx{PJJ$dhXj5C&@ee<6N^6~`nZaY-GeQJvV*KF5<=5tc;~144$= z8Cd@5Wn`wDFG-08MSM;~O>DoJp+xGUtsdHny{D%TV`-HN64m;Uq{ong-eveiIZ0~~ zAu@#$k60ZUVQg5{$s6EH1e75OJ&geDB;(O9Pg0JF3kDK9Vn>n?OZI1Fj+O990Uayt z9OiRHFK6=mQA_Fbt@B!c9hXYLBOuKUe{$I=q z7H{i-YH9mUaR{U1aS9(Eg%YaV@4!^Vrq$K6&X+;5M%Rb>aQhBlo$tIjIpti*F1q6- zZ`Gb-MNA1hMx>$@fQXVi>er>B1&)+6Vb{ucn^u`!U@4G|c1v5bM-s75A0w94ix9i4 zqR4G&onZwZhz|6c63D?|WVlD^tc50052F|=$S_mGUx7ZDWsxqyI1%h=wrY^Tgf}ir z!cwO-2W^!T6L{X3R+5}+(AyVnmnpD)`>I=>6*^AA!{up(h@`g{L7WdJRjCRN@jS3WcoCi#WYU5NQW;j zJRJf`LM(->y6uh*F*DErPYZlDa;@S}bTKZRVrJiRf#1INoWEx9fz_W$XWGF)0&OfEHpeQQgBq9)+dX^CE>Ib$+WL;Wck2&Yd^iN(WyJ}qrD z(NzfcvWS=2UYjyepU(-pXTIVdtRdmjrv^X83xJ)(n(+u*>`Z1r(B;A;;#+s3u zN`T-lhO=qPT$R6gqX|M~w^Vov0^~1q$m$%EDk}VS8KGey3(LXb62eA>9!TUcpS8kH zzm1(?lfxisd%7lM{Hw_bjYjAwm-3l-EX2765V*XZy-15N>A7Im32ruy9 zb{A(3ClA$vm0Yva;+a?i&X_#w%=r;|qCs_Kcss6iVr8NEYg7Ieo|yS;g~u`eBS*S! zN+1`W1ag?W*7@fHm*O3oMBe@{!SqjA>ppojPdZr>dt|%dC~%sb?Hwi8Sv2`h5@>xr z8qk!bi$zm-B4f+)eC^Fae`ajcPxmqW?E*{HY!^DhIq9r%qe0HIRzForarTbX(MK=P zB76pHWy?a9v{2|-6bw@J7xY^0{Q$b^-!rSAFAr!Bdg>4fnQo);Mv_G_z8@AR#UA@M zssQ%9m)e9ZZY?gh=+ej`FAhDm>wM#phjYZii|T)R(aVr<>y8322NgUqUoz4lxQLV# zcy-DTx*mMSAwjOWxf}>Iqfs$PuUV4ggCHcK<(AG2UnK%A7KeOtGx_A;jbrPO%0NzM zV_OW8#K4gcc4u0Cios)!q2;?~PM`yOZKEx}*>X4z*%=`PiEL$efp;NSv!!z3F;``; zPn~FNYP5?h!V3q~5~P!Q9SohFTy`ibgk{FH3agO_3#&8b@2}}7h%X_6heA_H0p98= zh3>dmlj%>RfY6d5m5CBQKBgeP$$_mVf;~s;GfE=j*z8Lb6D*7cUeNnZi+`XL94xiflcFXe);%bL4ni!IJ zyV?<3l`FA4h$e^?iH#Bs5hLSrGuq_!&RBWxz792~Az&?_r6{t&Ea1F226RSnVts{vkxgSLLpqs`*m~*qoL2h+DFdEwSirbl z&sX$y>P+Lx@B1k_N}MZO)izA!pIvHTovroO23Le#N69H>y6f z^H}k{kuJG1G4&2zN@67{l4H;l9Gt_Tt!&s zUK(NQF7tWeaAZweJqbVipZaY+94F+!Pl7QpJ zqd}fuTv`u_st}-|Ei=68Mmh3v{Q$5`&QPA&^SF;M$3esvA*p5`*Lq?ao;fJ{N<^k- zC6%k4N$ya!Y`Tb#Yl{;xpm_(RmwLoGV#=qLn`~!%z1#}d|Fx2SL46Q=&M{xTo7{9t zraqA%n&-S036>b#HKydaZ?d8YuE`Z5&QApJqS)Aj$js-4@7Ij1)f(XoXB!>68UY7* z-B4>Cy})BGVJKx!LXmn|tFm6>gs_mNQq}YJ=sXM4lsEoLRzL_$Z5*|4M=Y`#l%*Zc z4U!ygSfe!A%;4ngwwGRuFJvh_j|^J8R+m__-A*n`i|KlkJQc3KNyxYXtaC0)5(YWSf>a&Xl3D*L zVJ!m8GIPCr^lUj3!|WSd(Ca&e*)UAW&qc9ya?)6C7QUyc8!CAX1{cT1(?_^`bYzp* zd`iWZRZQTX2IJPau&{HFG99&Y-Hr$esER{UG1C80oBs3%4o{x4Eyk{=T`9t1TFzu)80$R0BjKCT%?{^>=AtHe;IHAXriBm;~OT7>SKc+yQX(M4?GdQlGl9imI3rC}QlC*(3|{VEVSH zxzrMSyc2%gkDdKsO^6$1{Rl=TJ`ilAb=+j1HT33|@r-yoPJYIdC>M{vBC4xZ7kCEtz-AEI{Tm zb!xeONli@+XIQNe3uNkhbufHN-h# zWfuY^&W|1u9q2IJHJ8yodQ$xuH#Qj18T#TMs2#+&PcnsfH_5=PWwMy35am^l+#30K z#fP5c!)qy8B_U#76N46`IMQE|woBNNqs5HFi&i58X7y%p@)iZEour|#Jb@PlRTpapP|^huv1oV@gc81!_FW)iKJj%)0xGn(&cNMQG%^q07{nDNrXw# z{HU2>_sCoZ9a1p3zvD~^B)$zIoR3lhIMpQU4;BUiIL~Y&F@iPznMB|-Ch2m~En{VQ zr)WZ*n$m3JJn4Sgk1_RflLb^oof*2et4%wfFQltC^+t)cQAi$2#-s2ITZ@K>=_5{X zK4b`!rpC5mqmaUc6RF8}E~v5|I1)lxI{pkR^nf#xW;QM|0dnH(4#T3Zp#uY6J%NG< z9)%fGuM|k3II?gyS@tGXsad((_X$fm@IvubriFxo5_!BhT+Aqhn1r>)eQ+41&Ws>% zjFSQ6CIKiB3}NpvCe$J4jN|d0QQ0G81g2)3EI!(dZpiJp5*j6tZ5fX%Hm02&>n6n$ zR;%_lE_ux%sjF|MMeG$2p+Mhe+1zZ^%jtD_xyW@9OQ@4kjRu?S-;A&Df14xtq-|`F z8D^vVyW1QddN8*Ha$;ARNk#pc%d+aDkud%E&PIUzNgZ<}z&?X)X}2H&W?y5mupGvg z^6V;h)oPD%!p`~K*(4%i8T%QI^EMl0IHZ-?F=DekoT?<6hFT%bWlR1vX&?uwP`Qhu z*p`WyGKvl79`zZ~Cblm4Xu8Zqmn(H!&;Qx75KDyEmr`SevCZ(q`0Uxk!6-s@yfJWc z)BeKQBzs_sbBDU&b~d>7_?;<)tTiKP4xqV*3HgKoyI|vVLbWT@vnb1e9zNgpHl2?C-v>t20D6mVM zY&l1fk#&W@XGk$odl$SCqAlZrlxY`niHLrGWz>*{w=IL1*pNz!(HZ05v2-buo!W*)XA|=pv62}Q>>`Boc#b;=Q85f_+^V3#N4IhL@Ybg(P;-@!{Dp z%W=zA4Tk2*VtMD=Pa z_5rQI7GOZ*i<%5EciEc>gtB<7r{76N$(e{c`H4!TY9JcC#{nWl`_ z5wbuP2c^_N>zkW;7Nf-FoJxNT)q`P^=`&f7d3y8y`RIgX8%J6m5GI}{iG~P0kp6T; zvXW!Kmc4R}d;`?5K|8wag31_aJ&pdSz3`bV{c}*Ru3If~&DO5|kw;&7T_#?2>{*rKAfi4=vYZw(ex{+N&WODYnpR;N zE#p6u-@MZvVrV>BNdAhb#RH1)lLO{g#Nw3tb(|&s-xWPD{c!x%Ady~+=@dNb0M&Nz zBX+jXatDLRfv>_Y_gJL~x(O>=w2mUM^-t=tghBIFC}KiO>T_&y+*2G@>oi(w=_h`? z_x%UZSa=Mby*#ixOp!d1HAO+)C9MJ53MF6FSi}kfkV^sMHVX}!P$YP~0;ohmEpFWc zlJ-|PD19}4keFkoHT!bq@m>QIH=a7^x47YB7@&)wX7yB{>>A2Sg+@_5D=GTJvK7c&wiB4sPVC4-C~VG^htDLyq}72|E@PsEJ9O(C z61vvdH|C*7w{m3gx*p?{Y z&<;glElaLl>$4Iz6W|AH#-o{6O*YH|ZCoA+Yu$(fFp_bErsV3I=cc$n>&m8&!BWl|Pp!MM|`n&BWiSJpEr>l5FX?mB-Aw zz+~+GER+P69!|?nO&sRj!=Ot@M62q`DScOGoELv~t$rZMa88mr19o2VYhlTl5|u&H z;lD{M#Q~s>l5E> z%KD{f*Ert&JvHAgppT6V$)8k>pu-}MvEQB*n|y?d*$~O+ioRu2;rl|N4YwN{$y6IP zCa5&`+@C|5Q0BdOAXC>qHk=hAb74IuBR0lP`F;>A*djpN^dnO%RPbeC7#Agv(v(^f z{vs^3V37wQu{z{l-<4F<>OV&~0hQ3T`lV~p{)3cPpmF9G{H&Sa)%zVccIV|?6c=H{ zb?Z9~j>egjwGbV0El>Jqw%thB04he$Nw(Q#4+UTqzMI%9un)K{3%6BMGrFq>$ji0w z6=RTHx7M#uR5w%+ND>AXazx5Dyw+Rl9q1!w6rlQ%Lx+Xj!fl|+v=VQlAn_4aL-y8k^spHc`f)~Ir5L%e8r6sgVCgtb~VrDNa#o zuaiow$t6LuDF6y4^2-mewn=4J$Xii_2u0X%AH>Ea5wyOY3?zu_wEg7eKK)R$y{>g+ zq(k(53~}p`^e-p&+sV$vfP^*@m<5$+v*vWi0r;b&;U?dM z6d~Tg<=Mo9FI)*5ggFiyNGzl2y$z-Ix!tENeLmluPL#{Bxfa5C!jPU%NqUZIHP9sK+F%NNZvLc$*9;$ z1(U!IAJ1i}+{|=T2(R^mm^f>an;z57vWS#DI^`C4p$_A5Bcsi&S!!Po2cVp$689^49W3AqS*QuFwExd<&$+Sf7=#)M zR!&Qj^FpN9*MTjRe4Mi6NgDbEulKOwQ6J3{{D_mP$Q$W$%OjIWOno^RPFiqW1>a^P zf_xAc`s>ETA}*fj#UZ|}LHQc*Db<`6aqM_N6BYPQr-_uqFHt^`UAbH7#ibFWG4j>+xp$jahds zcNKUS>xQq4K&F0B!x+4HFC=SuNCNv2^=hLuj{oy}?xegTx(0=|7D8+`)Rg%eiV{-M zgOJ-+j`OeRZ~}PV?}30NJruP{B5?Gdx(E;%yTMT#T{(V=X^dHB9RU8+ zwVaTltR$q6=v?D`gy~v)Oay1R#IfcmpMtIpS<&o8!2UVD%xVL(i4NUi62`89qRk{+ z@Z$l6vC%zJqGatza=mnc@d!4UXC|p&hYj)VPcpUd%h)qRrW95E6#Ra@l;?+J<@6r8?-@$7*=?sbE9m7gNi7!}g%6*F3j9fmzeDRn8F$?h#hY#xz8lSY|v3AsWn!N^Zm^ zlkcb;BKPZ>5@a^wkR=K-Z912Fw|6hnGwQGI;}44#S3{dAwM>tqk(Q1Si9L=H`uKZv zrQS+v9LjmMdVXlp-;KKfD|aDOwIP6)~ROju8m+r9GCstcD5G zxccxmW++Oj-3)jDf9++ts65<5jrz!)60 zd3h6k8*8E-tpgp6b0yiGPQX8Tut5N{FQr=_VE@zDr$VhPm|XDgW_D(OMZ&I!yPVv+ z=QVZJcT%5>K3rj4wyOp_JrK5gYgr0x_atSjt;+54NNhy8V0>g9Cii_QbAK!)QZPtM zC(wdeSRXR|yn~6F;FS?&aZ(3cd{sgm!c8g8UtQ`>ViwpMp!b|oz}-Hfs3PIU5BC>v z=OpdNtg{!{>prZ}O#o|PTypKH2yQWv0wX0ExSm?s1pZWgv8>&nSs^SGibs#Zs>3rB zB{?Ak0-&o*LU0!0Y>G;|DLd~%nGa)8*phhOkgi3NNz9r_tptC09ejvLhSsmw6O)ozhsE z>puP~XV>ohDuyoN1tN5jS4>5DbL?&tg7Bp&*$QJqa*`${-xW!VEuQJ1leq;-@ zq$79%PEmS6o>fuuz2u{M$;B$a8mX`nob<}w_U&m&+3DgqX zQx3)=h<<1pwQ^zQGVn~CndJ-#A?G2g-5y1g&W%Z?B)gy#cSL=?I`^bJNX$xGXgaga z+tXnB+rmX@l5~$1igZo&(%y^&{Yx;+M6roj$E;6VgdIes=oULNWjt~O8oQJ*?D2G# zxmW|72^MSN;jBLaViFBYj|x(4ViEm}LcW^DLZCe@6XeU48Tf|%<2q9+d5#>COIJ%J zf)qcI6IyV`T%w-#@S*=%UA$$SjdF$mUH9K>5_LD&-Rug3DW_i6tx|tvV1bp%TM$kU z-V$O9qJj&haA!H0!A7@iC7w#3r@q;Nj5jC(8K7O^L>(5AyKtef6jr4r2x`x(M`en- z+p9Yg)B=edtMD3uau3ObR*$@lrokt%u>TjwffYZz5{D&1K{9UUF=?Ms`D&8He|k|E z5G@Mxfb>C*u)pZ8oZgh9v=beQv0$BTkzGboA`N2Ecawk1LY)M@9)Fm-YfY5&ZbA+G zkgV9wn*59_+=8C{>*VPMcVo@r*^|j27CcvU9P|0TKeHdeGTckZxI2t|(RvbnLbwJt z&~nEKX{d@wpTIkC*yqg|w0Ii|pO#)jKh}yNFBFazb10b$Vg7dCe(S~5y@yQ=ZgaQ# z&L8?r^8v4CS>wibs&mugaPL%#asf#0W!4Rt$CZw6YUD#=^n@bj`u{d${TC=QD$9?2 zm&gK-y>#RO+^lEssx)M3*f+Ukq&M?~B}89jR38x8T4fmX4S4=Vt?(u3caCA4Sr#D) z?cdy0jA<0|b48}m$9IrhGaVB}?jk}l)Q^yELg^Srfp|zmVo+n8c|uV-KCdjTK^=5> zR5avL(HJ(ZzBZja|B|wcIGjl`)(~4pnfG2oL5^M4*xrJq=$t`12UuA-Q*Zt_3&OI< zBX{LJ>k82^S}WWy^-3PeA++deWBY`Yxd@J;+!+T^Ic-&0op zGEJ++zuTX>+9J-f4Gf~?tlc{svBdo8Hcal)F^2YoeFKnLE4j-~gk}vW#8Q0AMZv~n zXEz^s5aNz~C247FLWdPlPR80hskT;%i~;*ufyitp@SXU0d7qme>NK|YjV*c=dC+-f z#8GD>5hbk@d*e5*zwa95GI(2(qJaNQoTQ>{w@BHmaHN3gB;a1%6BE}`PMlJ~E)UzT zh_SxiMK7LkmbQ@sZZJ0JNPpyVMw?kJjA^v?R;6Sk+gC)C(ew9~eK-E05PpwBmZ6H#U>wiXt-)G1gi>@uNJ zbAQ-3AvBMKRC8GMUMUqqBsrvOOJGboieX>jNS=-+CoLZ;g$I5kyjFIkCn-Qr zXA?w@G9k3+F%cSBLK5)G#3avT;A&42PU|blPhlfW|Cw!W2o5zlR%J4EJs4y9R1JQyLFTLwKM?Mc}ULMF3bpJ}-%RVYrU zsZ5sp4G|9;0xeM)(Vd@MF4sL=2B~Efd~~;=v4nw4Q6CXSo+BdIrZ`XJRow}-Wh5dx zY68eA8>BF(1-I#^wXt{I8aw+cAK=Q9AAepo8&D$^G$a9g%}J0pVNzBZJqacxM6KnW z_S!m22oj66Qes5APm~7HvxPif*f4a zB=MN>#>hcOXD<*%vr-64LiE_B)vEp>#2~;_1aW3aNxb5ozdmXZ?R9p@6@jR$&-cVV>hFgobk)g!g$U8yiF1x;FsmdS%`#a>@sx!dd@mmI(%> zvGJ(vs-elij=xAF5(@Nedq{r}ZHm#6M3>2l_yoFVoF1z{`J+|IVa5d2qiXmNk`Fkv zlir_RKG=p@hv(@zUM)!Q;VbONSZd&Iprgq?OA5`wf!ZXfj3nZpye@blJ_S9s9|k;f zm15Ti>l1;pA%ssTn2*G=v7pHyMtuiihIG=GbFA@23wazg%b1z5|r69FM<6w#8CcZl&3F_c6 zfi{y+I!o?K(9SR>rqd|V;b4gP(%D8~3Rg(10`jQhTcFI<-`sY|*6cArZViyn9xO$l zlRXrZj__+S?IaQOdy*>3$YMmuyhLM>!rzY*NhLMa@rg|gU$A)4vl>ZYtu zOp_#I{^)Ean4y=o?8?8Exz#L5A5;fH^P&Y1`lMH(k)78G`OWli`hm;;LuM@I6x)hU z(^;uVD!8&t7hBk~dlT!O!-)kBV&Suu%Sk5l51~k1M(VUX(HP5yE+7Z}b2XsmyE;vX z)>_?YKPdR8W?Z_I053q$ztExhT#CQuBsCf$E@CCzO`>RBgdqZ`B&aJSge9EJzGm0w z6O?~N+ziX04C~PICL&%3Y5YvfuQ@7PGFDf`9>pBU97Pzgzzh&z1poj+08k?U09^p9 zR@GWsYnhs?H6fV{scn)?t<(?_hETP+jwjklG`8)3t5AQNgfCPM#c*`}Z3vo?n&{)^^%R+6XeSaZp`~TI*+O-eQ%pt66pB)2cnyFp73~`7^d$G_-6G?lB3SyJ~ zZNUTt{^#!iLI40r0Dz##z`GmU_s{IZD@-bhlo?a9{_uX-k?PtF{>Lp>&W_Zw!WwC_$-+#7GXJmUfkN3~wgOwNWvH zF_SX=`4cPa837Crgib77+2Pt z@8_(waJc+afT6__{L5eepHI&UJgwZ#6l6^HLY8d2PCni5!GI4}nz(#va4LXh5{oLr??8cNj^t>}znhH&6O5qu?xQaJEL zAF*X*Ee(#mg{b}!>Sl`gVCJx-iH2EXj5ck)kth}d!I{W|0sjhcAtjzZ;4p!X=Y*{> zA|o0x&TWiNpb&YX-_KcfUqhowYdRMYuii#ct6Nb??nygP=+&uA7P_6mz@)`n6~XUX zo3N`PlHhxc)y>@|V03MN#2h4ZDx)R@&W_KM)^$YJ!!sEA5^{q)Bj?SabBSEl>Bppk z5vydZhyAQ@4`M7#|LPMz8Ns_KtX@`088m9kC_dTJah-r1*UIaEWb|R~v=0{FsVrG%mjt3-2GY)q#cCjxdEh*T!7@%h95}X5$9y6%LkPtAdt+n(LeCKdE*IkZ zG@+>^EGLPpqC|u})Xre7LnMmnI6Cce*wMwREQT#Lep)`j{EaLrLUQ<~AD%}s|rNjw1i9abuqzVuX`dt z`ln)mNPsuOJ~|?nY5jXBgKhnRk})4uy-6PU(DmP3Xz)E>@9|;F(Qp3hdOumYLfHrn zAJlS1Cmrt5DhVvgDq{i#p|!Q5e|I*l$gwy?K{$Zb$@C0hAI}E`Px782axuynizNNB zW`Y9XBJ|klWi%A=FmF>NXP6Z~g*+J_cno+*tUw;OYx<%@^(d|gTeKvsN@fkI(-=Ki z&YR*AhG0xjW~U9-^qv|^_VIhNR8r%(M(VpCfwrYN=mdDcmX+&9tV|Q4rgI37WcyMU ze#4W?9Vu_N0h&2Xr+BRDBS?zXn+AdhyMh8X6#q7;40c%<`k_hD^Y~X@cm}r0`-Kx2f*0alF?XV zi8gFplEC`BhIiS=zdpOGYzOvj04e{u!u$| zvaRYE@=`2%IpHXcL}@^o@S^{kGR>j08Vd8598vKRMGDU#P))-&C189NeFw9xLTQm- zQ^!LQKKi%8e{c=#3$IPL?6}#v`18J|dc0U6wCeJr=hhh}fPiup^8(N+_3f%)e}lsB z%3Bt9Z?eCRs$`mbmN94{=KG@Yhltpff~>2LrMb8!k#`HC3IYj==~jb(6Nofhpe3Cm z9~eHxy^UP=!mL*~Y1&#uQGV;Jz<9l7;!gx);e|J1KU~-M{IlT ze#V3|nD<2nKv#3EJV5uPczEk@4`WSZ|61#m9fC-5!_(vv^BlAS&99)!=xH+*mB&^B zvasSF5Ki>Ye*F)grR8$`I`WWVux^dCOY##XqvaE(^PG#Y24K91W25`(_rir<(aS!o z%Y8z70?mWBx5C5r`p@@6Da~5XoLDWc_@XKE`VqPaO*H?r79$~VE3eZ|+Z~$1a_yvy z#S(C3FBzi0h-y^N)gp+9XW9#H&w{BsNJCTuqz=$HGv25ZsI0)@hl$TEu`o9slC^=7 zq!21YfjE!AO{N_H$RKvx`odU6?^RX{ngpj=UVkJa}pnque z4tonwbDwfa^W6ef9~O#0M&%K)HF>QhM$kU)fU0HTJBV$BsT9*~0VMbEk#(;vXwR#C zz9z6`VnmY9Z`HB39fe^8rzMLRN31EQ2b#p9091z2vJS3|6;WMjwcLWI@{bf41(8_r znFnJb6AIoH8XC$vmpQg{IcTRRL+#hmp#EG4%FY)hBrmTp0UP6YPA2EgK8D+S)S|+kQO(7KKAzDsIbTV)->EZC2#d>MLv_FZ4vTeo6 zLmF|MYJr@({3-i;PADs<$@^5-m-D#m(1QWXk*dCJpaBd^#Kq8cSCm9x5*P^4i($gF z0*h#Goe)-@BuZUdF*y#P>il$pU|0EBOUme&JA9Y6kcgWE7NX!nwNOa^3f!BTUCdf2WixT13VqfxyunG~7Jqgi}5HO7@#3m;mp^O{ddE*JZ*XSKCfyRzH#@d zr#8R+aF=uG>Ye%2=ex4J)(7^JIAPmzQS za|t~W&bj-cC-eg^(7J#H5qo+I3y?vEeg8R6Y3KP)!!Vqarqk^Y z5>YBtYgZBz{hIS9%GDp4r)l2n)g)lc1GbglC3p%4n@IcEJHBWrB7l!C6~P3sG8DR) zb==**RJGq@J1cfJX{n5QnXwqlBc%D^=ls^41c0mRPUuC1Yu~RXzMi{zj2bBAr6#5| zw0hU)59fCFn^<0O=17}fvI6iyAXa=vsCXs^s?>F#z-f|$6;BGho!I*7p&l|@R6-(7 zK^z)|D&=Uv`vWN%2|XM$y@xZON-PX?f&O!|xYDskx4T_VzhXXhvTd+iF3?I{ugu4YcUY&9hah4p2lPWH5}&HaepHWgch)gdndAyT!7qFFp@_b4A2Nwn4Wfqpk|T}aBRSI zr%@)+V%E5%M+5XShsjSN`y*7uK8Ye>E0f4?Z=gVv8Bl{-Yt2EmeHVYPuV}KjeOGy+ z7n~MqVtA-%>-MnOgV;Cv4?t+g zwASmZw<0IJThJ#LKrT=#c)S;wSCDbKVu%y_sH^5WyD-2hNoWiE)bgm4YT6&oGpb|} z%jpLK$`0(12U1~ROat|V?oyofA2h=pr1=bVM_K3rKGw?BogGqA zN3~!f3DnuxL)_q0f2>oFW9}1Ay2v<}vt5v-_V$cVhGn^a5#?+*n6Bzg1a&fS^s`IR z3f7hj;hn?}iU;j>M1V2#OOjG@q~h3<1Sd}P-dclDIa+)ep#YO6m8ucRpNLHvDLlVdWutpTmgx_#e@94c5A#{ zP-(?^h(&qTFBu22*2_#>o*xVs;MSCM7VI8)1p6K$FJBaR-U7Dp8l$xiiuWCg^rwe| zr*>8V_@|?M;Y29h_M#BV2*Wq{tw3T(;j(4F98kLVF;}HFITu}i`uLq5aow%$Ta23W ztg72D=~m}8=Rfi0WQzL@c@$0qE8APoN%(eTBpCryM-i;Tst}BYo)nI0(XzQQY~V?q zw4QoaS`J<0a5^hMcpMW-a_8BKs`!?B+ulaK)uYbQDDtQ)uG#ENvzr5&3xnYHK z#GeYoV8?UD#4};1?A06M!t4GGt0rfPQopvY_KL0Lz!KK2=vJkd4x|#`pLuTt_%QV7 zqM}R&q2e;e^xZQ@mYsga#)}n7>JdCaXaZPE743oeg{U>WP)LyBz12NN^zP62qoI?+ z*kl{(_of!fxv~!|LDaQID)%X!`TReg%ClCSun#@^v5|?Irs!TJeXD^)t^*TiRMQfP zSSG&g=F&6f4|84D_8^Hdg`fM@{5YHJ&CFI+&mlnbIbYCdUFkS*$(L zRfriv1%iyd{;&dm`_yHr)8ZE~cuQ++UZGI*ol$jHT&(tNH>c(bpUd{T4r|wBgKEBk znewlH;V?mQJKnXe{^CB{n-FRjJ1{CPuaHIZLV@3s8Wmv+{?YkLNjVhdVNdE}Ak`L1 z_qV@y<&cI~9%0>r`{;hpr}Is0Oo3z5zk^J~-3|uH8Jnu0>@@KwO45%0E<9=4!{?k3 zCj$+-H5rBf)bU(Uy`KHdQn{+_57RV0{&^;$FEjt89K+B?Z1y6~%e4dovd^ayADhEVh;@JK7F^px*yh(lhRQ}dircebLs#CxE zqzsI3KSC9TE&lkc=uooEmaWbz_X0H9Eq)Zq&+3?;gAoKIzt@tTULFA+-Zw%`zA`NbHrRl z20pETz=gIlZoGH+&PiXk^dzD%{S!GLR7yT#NhrX>Z6c2bI zwW09)$l>ed?{Ia<;!GH#`S$y^kTOlXMk;tp(}fkP_}D*Y?j@VO7w8~^r4oqLF%LTU zq8r95ND#xpwCR-XVIG#M_N%A@;q3)#69aFT8eyT<{HfrSsXnH{^2zjCE|@iCT0+L{ zhd>U~k<`8ahlNkiu`%3mQ`HFeW8Tv4tc-mU$*4!wC<{vr`*$v&3%3Yy@RaEb?;p&6 zZP}>_^pH81{i5{I1{?qi1a(O?k9HUH^FG>E+2=0g*AZ;_su}CWn1xe0L=^$9odI;@4 zJ7euj`=(9p-$-l$Kng`j9Fhe3A8ni@kz0uxyv+wI%rLANG<%$ip(9`rwdKmh78yT8 zuox=uOUlUR-$60V<7FSL->dr~uDGPIW`6MLiEdZ=7k*ZbNbG)oqJ`8b7?+R+DJb=r zgQe@)V{n((*Hj{k=-6rb?MSDev_cE?hE+!=L)65~i8yoQakt60g=-S95+ov|D2}s% zQ8ZWw*)`)`N@d&;*!am~m81gB6rNCMb_5!`UksDz{Nto77Kk@fLIz0@G|ve?M~t2; z#~6p8W{0Gpx1{uXQYk1>1I`}O|L|pmE`V#Puke0K8|f(v$Mo^}-|URS;sUC*jewKJ z&e#BaGQOHp_Cx>P7^l3#vryKZBmWe0B6r+2!lwJI!^J@~7&CIA-7l9Zky$8V*r#)) zQ^FEZU+E%R-91t<$)6_zL7?Wo393HG{;qUbg_&{rvoI0Tx4HWA$?=XKLHA&n8O(tp zb?&?BX-|~|o#>)P9}}Bc^eWPn}6*J zLt^a9wq(z!I78zepQ`Pjb=p7{aJyr$tU*(+UM+4?En1<45g_9wx zB=exwCk7+P5vLGYm|$-L4bw%XGOil)7Rx)QL&W24cVucoeZG^`nXOjj$hY5Nw3!qK zI0pW929`*fZCGql!^dxyMh6dmH2NOJJJqc`Rx%7|K$bWLqR^s@v=`P2-)mUM9VT#n zsnacK80<#9|U`C2$dWSre&gvalX9S zk|Nzr^z~0n5^31XYeEf5A*iWSBa5hCqkFlRKhjSFi#TR~g5a$3% zc{r7=pv%Pyf$(-#AOJofrgA`;unuEd!Ag^1w5tAwa>Hczc-wM8PB=lzO40hYp9fGu&eE~*DyyKb?+7wJ` zq0yA$t9HZsWG0Va1*5LFa@17!vcUrrpafN6w)h4D3#tPGv0?_Td1em%4=9 z7Q|NHMEZv}L`6zRyeIBD!G^JwXHCLIjG`SY@y^#On}5=C1$?A|pJw2PpuAn(r-=}Q zk`N6wwzTvt0KwikdCGY~gkgi+^}9qq7!F=*P}@vV)X?jvW)5Qxj$(0XSfeN|BN~+B zgjjb946(|BS?Y5<`R%;MS|^BNHKLMIMPFfil3mn+HP=INWDHni)0BT*=0bXD!J-{# z2?}PKfDCEdNlDOEXrCh0^GEZ6ToRNao&muaf=V(J6S2Z%vwRZhvh$|)$q$a)Z5zI4 zW2}j*IJs=v7e{h-bdTX_&L_i8e^+%32lB-XQP>r~L$-Bj;r}EGoU^K0(2&Dvfay?F zR1C?(NiMOjqSDA+IEjOpd&6_vT>7>KDb67;wc$!JVdK)Go&g-Lx^Ij;Kg6m7ZcQTa zZzqLqO#}d;#y)cGF8L{7+uhAH0|HJcpVX?pI8tOM=|BW>xIF}GtPFyY49~&1C;ZfK z^xX`zO30)OOF49 z>Oe@&8e!%BRT>EHrEL~|uu@?hUP_!f^HYPw@CCif)dZ)?vMr||d^UDpK4sqw7&Rry z$vy5*5GHWeVD5e5U?$rMN1<>z+U1C1vROLL8d78UMXDyuOTrzgB50>EPq$ftae|dG zB?Z8OVVcfUoQqXxV39I-$1K7easJdPK1qTclbq41&-u}9s~ifR^VGE^F>!@LJqa+E zs^=>1@`{>^g<;^=a=_0_$P-e9WVcZGsbXp6{gyM`eV&=t(NLw+>-P|6B8ZOXygG{?4|F%#5 zaAt~l8T7MUSKeY{o*rqEHT{B{goLk`=I{PB_f=7~4m4+Ck}*Otu*Zrh^)=R0x!HX= z#?)BI02OCvwQ2LhU)WrL_e4OwTNeiO#HNQvC#0=v7N82p4VPyg5DsRa6`&A|`$y)- z4y>9lXf#SF{r)PEJJp2paEJpbz&X{JVABUF&=&AEOHR6u9S-qv+@w51JPaHx)CD!x z*(yysT5_D?-(?1OaBrWsdR3`{ZMO05w(3Sl)YX^2Jw!lNuDCLIO=h#T`U_N140w6) z4tU!sPNjE1gMcD~13=vDt*S{Fgg$Q+$W1`hxD;rL&%6;*GE9AV7RU78z&^+WD$p31 z{4b;uyY4k()egk*l&@$y#Q%k#YxMX1L+|0I{&p2hOz5$G&I(%Y4xC>4{;k}SnQB#W zdf#CVBx@`##ZQ5#9>=B%;CRX(br6Y>8g&qou+6Xd>9Me+2eqd%Fh(SWXG{S0zHois zHep5$7W!I0DaVH)Bt|SfR;o+{Ef#IXSpgHO{GsdzVk?C`S`4L?3N@r3L2$q*RP)I{$@fC#x&%fCMISv9S|9atBQx5Oyc*w%0&I&r35ep?GC|L(bLNfU4Eb%AFSWN4u z1d$n3dW5?S-W-D19ol~c@R6@KFWX-uSbHM02(dios#W^y#`d!fpR*~zdu-Oz&hhIq z$+&P`8JT$hL`u!bPUHfdbh<}fK9O*D z?eOw^5@t>@6g<5hHZ`IXdPam5T_gzk*_D+H_Ez+ay(PJ$2ESG+zGAVbQ&X-<8)u-5 zylTf%iH5fvG(^2X#+LZ*w<;i!B1mROvO1jG4#F&)lF%)?SY`U)sq4P!$p@EFe^ivw zdv!Q$VJC|AC^Ila_+(Fe;e^FW;nhf&yHAOLcVa;{o%1aM%SiZ33(wFPAKO;kf?ECXnH_I+xwfo15uB z1DrYzKaU#?0y+nWg284zfDNJ3}88RXGBBp>UYiEDEws z-Oo87O1Bu_d3b>d!GaDfovQVM?b0TYQ7HBi8^dC2Djz3G4jPG(ETET!YRFnXkm%qv zvQ#pqKwhZuzJ+D#C5PM|c29x=>17A5GbqE4BIkiC;{s1zeS%uAyP?Mz6L0$3#==GyoLdWI;uW&+q!l(_zd#FZmn{F8}} z-SGN~amB$jKOVhX_9SE;ktp~$cxAXy(IhRC&-D24ROHT5B#f6>P!IlSQqvLM+zJ&WTDEXNIEm z#L6}MCVM-T576S>7ZF}n>|J@V&5iIhM%ab2N9)#d6b}rfU@KHIh^XS9Ak73 zA^asCM5J8`&5EN+;L?_x$?fh*;uVnu>5x+xCkBS3#e}G1kzq6nvTzXpX(MpP!44}C zIFux8lIQyh!~{b$>)szVjWv2U=)Py$cy3k+?k95FEPj2RfWTmzEhW2QZ?GM z0iVALT>CMpA`>Lfz;%<6N?~g?fO(c^LMw4kQah(fCVbH)KOis#0NPQ=i zhs$C@vRQ*#Q{cbw&~Rf!>p*!^cSnr}5~Iw9hdv=KVR8> zX~JlMf|vt2$lOu_-cU30Jaonsh2ToiH_if;!`4(}cI7CZ6*II+QPrf|i5wEU}*V?dEnuiDN}!VqE)%X*JISj-Va zQOh&p$q-611MU|=D^Od4hXpcu{?!?czp_A%DEFYCcu_daQCAfsV+p(dF);>@z%*-r zk{bscgm^!XJen+ulL0iYZ_e*Ynf*0B1Li1^D~ONP3NFPt=~6CAGbhAI9WtlN;V0zc z$`bAVP`@)|hrhhY4v|h>0;R^J@W4ej009BjZ|_Di!&E=xA-L}>%ZC@4=6SlUQ_O71 z3n>IF4s8yQVBmqzVB)DW!cDZ3ZEuCt_`_m(5It}HOMXreO{5`VfcK`R)-+3f(72*Ep5_AaoH|dETWT>d-i@A%mPT+y(OKX|BM&gBCt9 z(B(VqavP3v$j3sb`S3Sy;dml)lk)O{f!(zCsmAaOpSYdHA1IFkg-59TU{rpO=V3Zq z)(;38Y53tmcLE&^XI3a%j`^eJiNX*WrP>KI7;#`(hanY+mgSH-lJFDu^GTLoEkrXs zoz<(rIlgO=G)&4IV?QFtv4)#!0;G;GcFp(woc159&~A_3ETm|14WZmgkps{ z-ii3zjF$iuPDQ{*QF1x2*zcrHTi;(8=|>tklIpAxI>%dyi_nne9=_A6FzO1SGAWG- zcF9(-Jm^|YHsuCgpy9^G99ccHricbONCYx3AwQ!9PMnkvJAQ5OOBDR5n!jLw>zRk3 zqbDx;#pnv#R$6>OMYR=@AGa>usck=qzXx$3c|9{ee0G5?LSSq!^FOF|5|wy3q}Px@ zpa{y|0_PN5t@)#%k?FIK7kBsKK4_4Tuu5hrs)V$(l#z?VpCMIP!ZVFi6b}dzK=HqV zzzEf(f1hgbJ2?R}+Q{|fDVW~n&#{*&;i~TDfN#R#495&a+qSID(E+9a_Ug{v8+d*% z+bqW_h__zx!6##vK!o5dAfb~8)BYK!2|u603V;@*i`IK6@;WOikcGK${V$<~Z>umU z0GxRYmE0yn!KTZtJD*twNTE_6=^mhpL|z$z3I?W572*mn6M`1#LH-u-Gld@1hLPod zL=FLwGIt(Amn3`;UvZL`5z8T)r76*itb$6Waw(3WjV9coNtC4p)np8dSoE_PhGHDC z@Y2tWj%TF>*0wW9mU&()#2?udAt?EZERCBF*CnOOLNo@!m%!o3|MMJ(HTT}_mapmO zg|H6_ptC&MOO%#>HwkJ($q!qtiBM9AQL}|~FUJX6xaGhH8mS&?kwG{nC&iJ4WWTlQ zdGSiG0_ULXIZ*o-f+~9C=;I5V;UEjZXpx`;z0Hk*jv)m}86F(#Xu7Jn3yDEf6;+ie z44SqVUN7);pn?%6i83)7;o8I#NdV;rX6wHAYEqqhFkN900aq_u&EKA# z=}q9uMT|7DtSMC*L$@rXj@K2MSP0@iMGwyq#^u#8f*|u8Z(ATJ<83^h@BWBx^PNow zh92f8(2HkigUBFo=rcIXxib)_z?I<%W6(+I91b2U{z`ToGll)uye9tH{C< ze!w%H|B0d1woftOe)S%r&8-F{f0+O^O7PD`H*8RRBF0$8V~yaSLd1z&AJYiW?JKW` zu}6DE4ODz8p~Ay=0}r{Y3IsG1e>RR_c{f6f;`|^_7}4MmSm%1rQmRvw11X)T7D%#( zFiEvI;cDyAm!DCy8~63a-l(zR=>c-)EKa=0po#QGJhyfW+8YgPhp2v`pfFiq{6>+t z;I7|~hYCZwY>y1*O?%BZdu~v@0$|eCEGmGT*hsa$%x&JS4l^I;r(DUKRfBTO%VAuT z!m+mWG%S97N+r2gSWF^_HKC(yL)F_@D$X?;pfIgyk^T)5oQO%bb>=dZHZing`PKOB zWTexKz~q(%e$%1>9@o>M5p>9^?%lxq!!AY%<%AzgXZQWg%=}by8M&XO7znKCWI%hSx_Ywt`BskfTl~GD2VMj-&l2c{v_P%iO4M85<->_eG)&feH zz?{?Hy)3U#cZrvMN(peWsl)2qR4*jW4(KIC^^DW5!H=~O%YD3bmwIbi z9+Q21`$NR-KV`s__>b_S4#QBXtjfkcF~`l>r9TzhZ?pq^eBZ&I5tLOp99??;i5B({ zCU-$osE5Hwo8R=#3cDy!re^H5IVAClrU(QSwO1wK&2%4?|?Cc30{N#s`r!mN8mpO^t~? zUbSv&N*##)n(<gfqhjMXKYo$3`zLo}D$6e-vKT9U{>Jwi)77 zrz|7wnZ)l`#;ibCf1}K0f-Yj4C?bAmFn5Is=cavN+jHhEUU1=UFl?1HT8G(C;&?F) z*u;+a7pp*Pxbiis26LB-^E9M=qC(7XQhv${7?qc-!%-1hsU(r!;5+DsQ# z;c?FRC#XOP;<%|q#oqhbt5xWtM#v?fXUAj>$e}-$5a^Le=!${8If*3L2)aU%UCn4vQ?JqR{MBt{-+KNQI=vL~s$JX}21xLh)Iq!Az0m@86$2>TL*Z>8r&$ zNQoK8M;!GQ#`#2rg&Yt$flzvbfijtjitFdg)0^bN;~ocj>`hL1s5A}arxuEvlq$-@ z=OPshWV-S5@t%)JJg>Y)mw}2D(s?POrvqr{Ef;~PI1b<68P48_B81Q?4v0Ps^0PRl z2BGJMg6L7S>TxLJp7eBqNJo%WYS*?Sk`8A_PYf%CPjebWLE(_p`?!pPpNcYZi+pob zU1-OlSVknoctBM8`!bX$%mrdSj~o6}dOw07eH>;b0;(esti~LsTLA6Vktwn>VTo)j z@)n3bLFm0s}4vCp4 zudPmJ$9{b`=cVLuK~VVWK4|zjF>V&Lq)pFa*s*TVA>|XQ?MXQ*E*7Dk5Kp zLpYOGS%#u5IVfp^HNvMY4w)ivRC>Q=16(3?wsm-)#cv*^nP1IM)v5$-fP&E1+TExLU@+Eno=No!8gPq!1AB}W; z9ZC?~FN5*bCE7MrT3(z!0i-xBJ;FKWaCnCi-+q!`m8#>|Nj?2=EJjgL-BttgWEa{wO@|d34&bn< z$T1e{A*v4Tdx^0#%%py?NsHtUW2ZCdE;!sLD|#$v80!Q7=}`Eb>ah2T-fz*iXBM{b z&Tm%oBDscHSS&9LQ!a-omSgNAxE_!WK5A%x6C7QT;Kn+T?U?k3c1%XDADkggaIw^@ zdY6VTHlP{oC)w01>;ZLyQ#S(xEo9?(l2BM0gF!*A!wtr4FyG`{C2yoAm@fHXx*vy* zlL%L0EL0?43pWK@ciwjmXO{On1Kz#KWQm^`2pVEPKMC=nllaNp#w0e~UjHd-fpw5@oMI)g z7(#hF!_@fL)g2N;*LFk(i)I`tD?lM_5j~CN%3~iZev|tPDM*8U%`D;MpN|q;{-K3n zjVy4E!_@IDYk#0e(^0PsRo5G?j}1jzdOEuyHj}CshcT@WF&aVw*l-#OY;?;rQJ(O>!Np|+kWl!_G zD{Km@=~sjI%PCa$Et*^9BmSgwZxz-5+!viinm#|>twD_cC6CGkY|}Jhz~W~GUe>zk zRF{>C0S;|z1?15Rp76115;z>!pK}XNUhDIxf`F#vXl)*yT6^psxorZY^glO=04PnE zHH5H9A7lHWyXk@S3`7r$z1Q^aRre~}*_i)(leaj?p9;)6U#+J13ml7d|N zxcdtxi}>#B8Uspf5g;s0yqTWB1;szPs-J48<~DKa=hY?7fUz?IkJ8>at7hTS8_mI| zQ8n`)Ne!qL5Rqsp0NVk`H5lc7XfH{+MuacVV@A|l=}3!4Cka>vXRAUC0{9HIFGiuz z$A+?<4I;%FjsqJR*g`!hfG?6zN;j+5k!bjNo9DmKy1Brj6~cd#u1XihNIAI-MU~Zt zL|ryb@nis~=af`H)q`souXNLiQWjs^ECfj*wE9@3g5D`-$*5c|qj7oV?SlrrJZ*=g z6&X_&K~Nl7bH=d}3GxB(cucF_y*0q2<)0psMFr{Y1Y)|7Yd&=}f*V=XXj?>bVg?{m zt!xw*d9GVX`~TD>VZ@Ss4K0sli`G+L3YaauIU|Qlayp>JNd7)WgXKZhZl)J86XR3rMshtzJkWF6yx9xa=m7Q?6-|!a=Dd;Tj4E1#%fa4u&&pOeEu16*^Y z3tK$41;8H|jv!hsLu(wLHL&8oA=|iQbBo!>G+XjZ^ks04-9U!W*!0f2Oo0Yxla^<9 zLZDP9Ygpmw?dEhsP}{^|xUn8fbIg5gtQED*3__XuQQD)m754GZ_=IYiFRDj{hL6Q2 zXWy=b3)%3ksj~eFuuxUg(O(27Y*O+8OXhZ`U8l|@#fLML=tCZC$BI8A+NSn0oo&hh zYiXAm+(0h3@1uzoCj*wiVelak1&qwC;sG_|db8k~b@OG@ML-l`5G-l&i~{mbMtel% z{FCil-wqvzl|n8Yk)9{u{a{;_Eg?7fE~>0JtlG4&bU5PnLq&C)*5gFWP?hgCSlVys zbnfo!mjM2%cAyVN8wrL-l=ba}UsqCj%Zz&NB48Z2{e9~SCqz%+;krylMfm&25_$qK z7IRb@V>kZ2CnGAt?FD21RR$IDis>d(>zi$vbvUax8~ZqtFc#VGPw?E@@`0dv z#tLWLDWO=#GNDA&g_#N13Y7bvi92r)yh|W8_Mz0(NO_oS5k3Yb_4vEr`bL;Pq(rr? zm|{>X90aj?KiOQQoA)!Rs3`hrXXDp&Fn_d0weFNktFK{gtX6He^!tKT{^O1o6iq<; z{iz0ZEhjB#ooV1u%UeyX{5>UjSwjv58_2R;vLJx!@P(nLyRE`kgVHQBf z-&w)!(SAvRChicx%HDIQ$X0AH-j`ydOQMCI2cBMWR2qfFM2fAT`!NzH^->`~htp9L z#Kx+DfDcck+-n-)yBdFKY=bC%u68k4Dk!m};|3Nih*`_9{f&M(sV@c*UNcD$AEFAn5B%{eEEU;E(7_=Qwg?)Us=jjKKf{Y2lJzAKem5t z=0v>q@dEzW#d7uzeu=(T)f(O*1Im z1~C$IpQK$2{Kbt?bS)@@cv?SFn4fT5+oVy{Z0GFTp3T;biKX2}Xz^9B2GYS=26Q4Za!5pj!R$d1hhv7_t zI06kliD*z(=D1FaVee3RfuwSo%(qeSRLWJ{haglPR+plCnGi_^&6Z@)-1{I49UZnAEI&5Pyo;Zk;X6)o%}js*0c za$x~@#1#4N^zZ)ADGLaoY9BCdK10=6Pi)Tt;kYRGA2ojbgZKc zPJ{67*OW#b`}82dHJLq!FU_ zK;uv)j2F)$mFi7od3P{J%KDEq5(2Nf&zJ;Hq{3M;62~7P@nJ zqP}1>C9L>F3>hpIh5S@Qg%9jJW05m_P?$fboaC|7Z zdtCGi%~{)i8h)EQ^k-i5MIb~|W|oxjs2Lrv-bh6aq~$72%XYLQXqT~vpYIhWc+?Xr zW=eG|d_!A(Tm?k{Do?HRv;>kJ6pf1#Tgv(~Wmt*!eu)kj>2wuTO6pB6+QjtG>-AL?PDiWbI5k2q8`T#M}X>^|si8vfNt zg2~Y8O!v*k@utLS8jf94A!=@2ao>UG^+g7dz z8)=b;ep^=@4lnCOh_jD}J2el3YNbR>D7QWr(l2%P!o*$E{Ec=`G+z470r)V{Z#F5g1YyErV$BVEr$f4v!RTv25FrvpOJX>}s+2~9Den=`I ziaov@fD1*I*OQSy(Xl!|pjfa!kXWk_HNed?7EL(En=^+g$3o)JfCxs1cocu}1zEl0 zx*SKWYAjPfMXwS!H=B9joxs53Kjm}LwA|kT=zoXc_o1HaG!dMKvP3d~3DA4vjE*M8 z%hq4y!~j*}Ojn6$YNsD8bqlK(a5A$X={8~x=aQR14+y-8Nk&+TLl^AG1evu`5 zY1$1k)L@{!#+>iAf?>2r#&{KR|3bn;-tpaxC;`oQ_Ovic6hh1p(OH)}h`1oX#mhfI zwKq;y+$p*&PZftbN09x<$+SOEq%m>|^FNe9gr5yfPTHEe^8a*oRFU^8gyLJS)sqqM z*gR?K2|gZ$6cx^Ul4dBM2~hAsbl|L&vU@M}c4&+z2*KyIR>*>xu0`F7WBZripR)Ln z8~?-m(i&G{Q0zXi;yZ9Ru~$X#1w{F#222@+dp%_8?^p<3QR}CcJI{^;3OTyoSO<8P zqBePI2yQ`lJirWz2!DAja}8kx$A1{9fI6O93}op+V5o!yxs-oPbe};EU~ZPK-cNyC zf)580pRhjQ<5p?63lX?X?&6PuR_Z!3IYwSg`mvrm(2B1u^9sSB@h2iS2fPMbq%E<{ z&URDX6O)b(Oe!~XRNte+h7gT*JPlDER*pdWng7F4#1MJvu{^^rbE~nxV{)6!Nz|hp zgw!wyV&ZX=(mHT;d=m#)-NaImz%b5hjRV5Lp3nGlGE4j`{9|IlH@1QC3>L@bWejHo5?Pk=rUEic<>4jHEJw@h z9&Bh=obBc3D0Uh=Pw*isS%x8h+!?!qMsb47JW(3Ws0SJ;`jDY1a$%!Li83|f`ylbi zE7?$G+qP+mZ)QVg?Pk%_7DAdqY)$eqLxFE7GReR@YH--V%o|j|RHM72|7rmoyhyOb zKGeZH_#yO^po-M5LaVpP3<8=Q5F`5vec-_22dPwCroThG970bQkm{-}JtKqcYt~Jf zq3oidq@Ztzfz>vq+U?n`{z+#Du6uyLZ}1a-6cl$d_Go<*JlBvD9SdY~^wSK%0cs8D z_7MvxF=FB<961|Pyoe9j#F*Z3s;mHen$=X)< zmMoCg_QmHC-F;A;VPD2D`1UrbCart$|acn=h4L zN|S{u#r6d{t4{=5BVli+I$*o@*UqTbZ^nyWF){Vlpta4pK(j6BIQK$3ToNV`G~F!r zDLcTz0BJ5iiBA%hpAiZ(oWfDFd$YmYM8HY{DPhiyZqd036!jKnO2F$Q@UzlkJ5I5& z$!;DGIzyI$PIU$^Ihez507*c$zbEdN9Wtb&Y?if?Pc9mNL7eU+n0cl7cWtXNhS zUI)@e+tH%S4YUbw=*Z!+R@096>=GEQA|t!VD0r|Q4G1$-$XH@7&%SV8ds&$R6$BD8(?O$!-#=Bbj2f6< zJW!ZQ`QWLtiRpV8P(#$H-7wGf{%5BTx1AUmK#gfbbl-&Nm5knf4Ds!urlT8 zb?I*lT!!cgj;@7asT5R^cUD3as~%X;p>eY%(3qUwD>G;0N|E0IrncMbqm(~*a;(#UgLz8rwEN+xDRyhddU>%%M{jL*2tnXs3D z!}zrAL^vL5ZNR^ZTH|eBmJ@`kQSjol{}ATh2LmGJ-39(2v9A;-JgSQ&lNl2rfhUf% z%x)PV=*{6)_Vvg7w?xT~}D=9#$;`_*{zIC>L2Z1_mu$Y;K z6eys+^mHAP)ld8Ga_LR{1 zz_{?RErQL2A-VT#rSf)q=u6$q%q3lEGu}We950l7I1(~}O03JnL+NqnS2xZ<14gTp zQ(O4ZDT9G7D@kLa#|bd`<5t0&I0xE64eFIdzs1{W57K_3!D)hZpeGCvFPzS{&$Nq9 zFnOXC62EVeLreoiE3>YRNK4&S(P7FqPIwULTi#GpdF=bmSL2Xyg?Z_D2zCS;Q`b`Z zE2u*cPM^gouw^a>kn=zYcV_ph3`u6JKkc5&1l8frLL+MzG_3}A9ZpL-EBf?y>1l0V z-y#(lw%%x{%ejLl@pCzL*NKt&CX;TpsCz-Zz&-LAp$ zSwP=5k#>Uo+=~0>^q|Y`A8YdTY4s4Q>1M&SY9P64E!^8GEcvvSf@dTUk~6oU*Y!dN zFX2)W5!WhpbP5~UhUd;X-LqRChQZ4rhkTZg8FMR`wJT{S>dfv86JZy72kKTr0a1{X zFxPe2j`f&AjVyDk-bts2@jU{WvqW3KM7EM~0LrH+`XD?s)+x1y`P&6_9}2oEqA2r4 zq3&h*E)#zPClDIII7Fp45Zwtxq)ItemBzkiDx$Lb7H~0-vP-FYVinCD01@WpoR5l2*0lZVkelB3hN;PTY^HcshU5ww~E~XX~D=dbaD?t!K8L*?MQ|o~?Sez26|eC}?Kx)APUO`*J{2)=zM?jC%DG z6W_L8#s?KRynQaI39gqb^nJ%t)=$?}rn?D_&(f145a!pPO9DRI&I+GD;n{6hJWztc zBdzfsuSxMLrqY7fQ+eqH_s<4OXxdM3DjFpJV-;6ge1y23yYxHoy%m-~WIL#RrW4ru ziar`Up0jCRI{#$VGsp!(29G7EgnYA27gt^hjRixF+AY-LyXPUtvbQkODI0tGpTQ>W z&PQ|D{Z`FAer>B4CF$1>Q{8q}8}3b<(4g2xll(61kyGpKvZJNI(Q|)Xwo{ekqn+9f z(?u`6(h_NQnXA2c)+?uX=-D=Qo_Tu9;^-jS&iphH=8>EnAdf*K)!&Oa~nX>c6-k z?`owT2-gngpSkrkn6tPbd1bq{{mkV)H0N*xD6qu5_2sC&PdErY91u*jK*jdrytn&4 z0@gv~`{lM1ayU&?4B8`1ft9YQbs!+qebF42I$Nh?3 zWv*dX&RIv`k2}M?%0`(toOd(HI&TAPLmlox7j6a;vo_!SRYnG`;(ExZX^OtSn8BXE zS!TSIwCng&HaCDy+UU@dkVSv%9cBw+w}=NfSG#%#FnY{m$ru$rsp*Xj-B zb5=<1{xWBvUMWj{)pVZFX$K9awi`@>jn(N`Z9~SG=6?WexIE;IF93oqFM|!xvyIg^ zzKm$+y>a|?7oVmTA+}HoH%~hd+hK1xkU0`ho4pj@DybIp?nOI%ua2k7&By833@Cc@ zxuS?Q?Da!d&Ffj&33G-#*aaciN~_2NLCdzTtLj*XUc+1D#d3c^;R_s(E$}?%!ehky z!$ZmgE|K%@Bjw=u$YbK)@46e}CI425!j2KoNwi#F8ds$aQh`EYL)(f2z<|Ci%k@pHFpAMrCGmHhRQqeVFX0(kioBOX2H zm$2yMl%Ib0LFDwWa;J{@e9SWY9KU~g`8k+BAU2IV`X5_Omh$Ek>?XMj`FZbTW8CNi zl7G z@WfE5P(C9#BeqZD{K(x6LnH0HF+7i>lzGXsk6APJN#7;Bt=WTF)ZD*b^0iP`6 zCG!kvefOHF`TGb-%EzpnO zqgNGq{@$&nPyN?wQoNT@&c7B~mw0V~pJ5%e;`#IB@2KEho*!>q3V!WJTaGrR4)L(^ z-AYz+ORd3d4yAcL&ng)Pr}n%x+PEJiy?sabc~9#h#nW!v%AX2D5(gttSNgnfT_}V> z7q6VBKXS2d!z0-bx9BMRsgB94T>80VyFOsnPu@z9=4IAy!6U$bw|dhrnc%~%vY3ZX z|3z2Fzk~E#$h1%6CCBr7ovhq5JPgCN(?4JGy5m$CTeeg3^YuqS(rW$pCU;cEH5IOL zWRDM3mT7SR&aBToJGAtQhWg+?;11E6j;H?wc22#Ty2nEPoY&uJbP6?iyv+j}r$Day zX8j=S+$t3oa}0i$N1cw@0lH#W3aVnp7pVShIwAZDI78SKD;7H@?*@d7s{@8Qew($I z*TL)pA>y$>q@QCMQ+LO*0D2>=ftWmYZ>V_*z(d%u0|kJs)j{HIblB}cDP~v+Z>lM+ z-@(`+jc-uN8PQ0lf|int%8p+9^&=#B*wEb#c_}Mc`eni8LO~HMti{I_)n)iPW@K!L z%e=59+FbVWy)00bFe|o6S3vEUdCBFx@U;3Pk$ZE%0DFk6A9js;0K@U=`13vvXMl5W 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 z�rtkr60HbFrvREwNj6bVF=ij8rC9Vt4SF+Sl*{v;r*nwGMqWjONq+em+_ysQS|$ zIxNU?M(W^;VP>+-g;#d8ZC6*WSh49akL(vSlJHhPZRH}LejLt(*}OOqY4km#V3ldb zK6&V%tQKosbNVH6lAlVv7GuFEE8e3&ru)jN|aG-Q)so|7# zd}TX5>dZc=C`P#2#2o)`fx}mia#P+#>M_RcOZ;uPy{FlSRaPn=PEBk~{129o|G1S? zQ~Jand}T^kq5pixZ4<84V>C`WBpqIwsCqkz8avb6NfKsQ-KAQSXPab8yZ2T5nH)0O z1isoGGnvlXh$1O7ROgA__lm#WN!%?=bMS&co2-n6OV@!>yP_4Ui zi>YY4HOMd;343fqhT;|aRVVigu-=9_sIj39? zvn$?aNNW*s0#VvZk1Zc9-il(K75?A}G+y-X-QiVQwZ;34@Z0RK>K_Mw2~4|DT5`je zwwM{;md8h8p=n>Ldqe^%a%Kw6=h6J=V! zmK@_V=gkpdbr;Q%?bdYX*{CIkcUh338t_AcI2;MPlPk!BWYb45;c1IuB0BN$Z#m-j zGSkdc=iGD!v?Umm@Gle?GBpHv^6;5=1o_fH)y45-CL^OLi-fP@UPsoOV@23NV3wLA z?bKfJ`~J)25Y+Gbo+d)-VR%L+YURa7#U}4K*{(m$5i`Hc+KeLQ!^5o22Ue;6UC{q#{p#o7R#U3`3Y_Mg$q^XDq7Zro6fs;;?lBdWi)@P=S#(aRhC=Sp5e&z7z#PwHiNI~Q7!#prIwBSkZt;eJGmJ7M=zruMdD?6!7l0ovKnrD(d<2lKh(~dmVOeF z!AnEJ9^`6iq@!ZIDSTClYNp|TUY+6m?PNEj1$rgPNo1>}lld!Ur-1ei_;oVVSF0fV zH6q;{&kNA(`Wxaz4{%0h$6VPeD*-pQ>162!&Qpq6JYj7` zy_&lk`7`U%ui(LqB$UpX`sWamT#R%vgsw#vv+zGL?l^PW;!Cn&7zz_9y**(Snx9jZ|IL;TMQJE$qPIy#bcJ@?0tR)$g)7;W zXI&bWgHwAjEzwa!e*I(8?4p4r$=>j0CoiwHYbQARhC#>2Dd4z$*@?6XE0fulGHF{~ zj+x4Va`_QMZ4H#meeiH4^G~a+F>|-;d;xktJrQB{2D>~JbJG-BIZw>{UDp5Z&X>B| z_9F2hZffrLeRX|s`L0APmJ~!ATz_bB+zr-_zb*SmhE}cMJFm*mEh#Sa`VZqY5EC{G zdCS5x;5|?+Hcb%XM8PLIXD7W*BE2}{`3p1*>rnsqYC+t5nrn@GRmU&xcv$~fMrw|W zy0GAh<=cz0)~B>=--Ih~NyJkAlr6CbyJ}4C?h5T{Ud%^2w)|G}l;pXTDQd&dD#Par zd|Ct5Rtj*fImUay9jrBr@`Qm*j8$W!l>qLb0RI(VJ#2wZn}zf^s;5a`2>C>Xi)}_& zpQw#y6}2rNjb@{JyUiq|cHV^RwK)|)nCdxF9W_h+9E33QJ851dTGOwRJro80?T3G? z)hhiZZmcS6P%nPtYgMH-`_?NH)o@7a(6?R5EDa{r1_w>rUhEQUwbD~!73@u#(leb- za?#VV?P`>swkSgIOq=CF<+jFn!nYKz7%{V4bop;qL|!9%{;nUq|rtP;nZ_FZ5v zO2xG?L07_7zp=(vxztp&$-+1<9eB~^HLTi_OzQfVc<6yjPeTEfE>wr5VZ{nJn1S`s zR%Licvn5o$V-kA2>ZUD)R0iv@t|8UMMbGJ+0s6dlKFy1wz`bOw2fg4%YyWO~zmFsH zPli~iqeNS(v*X=BP#Xii$)?LPv?`!a18ZMJ@8hHQ0`otuQd9@+ohMK2uuMwQQ%=4T zJUU9jOucb1&4{J}j90;@_eu;H)_=6vEZD{l);ZKxLX1;xomIZme-N54c}CTW^={$$ zBC$~+*!W>|9EtVT5ow-cE$9_lKh!x$(*R$OH@}>z#XR>IJ$enl^IIiPW$u+orM#4p+%qTK;e_ z4)XkRXDVVAVv6VitEX5|JOkXU=stl}8q$h>c0@eIs@IpFytlo|*zZRLytu-e5Wmh8 zH}JAofQ4poO&>!#>rL#)r{ME${S?BRWsc}gO3gF>k>u^9Q()7I6Zci|YBg6a>9$7_ za5cuUV%nl?PhX?=$+nXPZzoWJrK zu8k}f@~ek6a-M4lSeF7t8aK1G&l`<5-imM`MfkN1-Jeo1Y}<`k3A8|x)Vir$<4ks# zYE@PI+ufBU9vS-Y6-8j$EzIj{Fv1p|oh{2q$Gu?{tC^0P&v%pnW;H-P^Qt%EW++9qI z>6d@SvP9V|#ff{``Uz1-MUEQ&05i>N*Z_~u zb5JOin1+<`u!yo6i6lsmu$qe{X=smLVAq6`{P-KBuH+k=ie~DH2eOFf>r1y~0v+}; zWj~rV{^gIf6WirZq246MaMLGAALJ$DRA)4Mrm1^>G{)-iW|<0=TTA4biZ)tcD_BRw zZ1k$2)fngh8d?xam&8n(ioU?Ow`7b685*~-TELNy-lsJwwZmdXS*-iJ6GSuYuM8Q; zV44gN&V0(vW{O3nXAow3l{Jf^tR|wn-T*ZQcJEN@C!Bj<;W+6lnyTG!!Xo-iZ>)YC8{?+ zrRFm!*rJa^zx=78tPPO35g~8H)ai*H6<~h#F`5Zav1=|=fJg6!1UY+Mv=nX)$!E6| z>y=39A6;O4*P~;L>97=kE)ExiVM>;H#4>RrX(P17tjOTe_;ohAjh~V{cKIz8mvx@g z3NXhH2&__rs++?b4?HZJ{?#+BIQN~ijIHM3{V6&~f_;jHJb@{F1ngzhI_{?m4f?=J zd76gr=c}P+y$&SUOY0h~Oj~|bq0CgPIbQ};V_(lZ2}dFou~2WO$^`UgXpwA1mc^Nu zCA3Q7+ZdPT(@?FA3WlWZKFy(=EEZ#GDe_w&v@fkEU|;%6y2IxDX#{kf7c%hIFd-WmqeA$P3%zk@THO=dowNB(X5szD zEuxwBOg+?`1#gSHEQ{URClq*Eu%m@DKgNc7-XS@AoT~gp;JX z!YPV*=NZwAJMh9x$&yN1IG-sSN~ab%(BP*`aT1)pta83fr1OubM5j2%$M2%?){ZmH z#=+<6g6G2v*t;x4%4#+RUmx0&cK;p8Z7;aZIaC)`E%US5@yAN}V;VZsHEdhmL*us3 zdKyMo_)(|#t~6O;jm~YRi#C{dEN8@v(XG7TTW61LN%=bTHB*zh?;Y4x^b*+Bv!n_= zle4tZOMYdWwxAOb)|XO>gxM#@>dyD?nC7QZpZn^+mr!8SZm3&R;MHzn+tmFDNwDay zu@_~tmGo`bW@ZYxhQNUS&C|QF-RYu5*n}ZgZDCdiN%W{Fn^QwH6CL~0`^DG!U)iOK zgPhgAnyx)c!9rESP0~id?tCLX}%G05>l;?f525Y$rdZWe6pf}0~JmKg*;0Xg>0iH16m7jF{ z`7PKK#olkuS|aR_Bi!+UB#CFqtzPe?A-&U%vyG>ibDbwEq^t_yz0$YW-oU&3T%Ve` zbs4=MhyLKfo2OFSj5Qrn>1j5*-?4cjO0Xue{}H{X=BciFmazpZ;vVs+*-A+fZj2;g ztMow3n;^xrX^Yt|8}?_C*w4SNSaSacc--0($)+nP_X6@;Oml(XLOZ#uG92COUUkCw z__kXkoU7LV`jr;r5mudRZGGBk7K(j6i8_4rrthN}TZv{f->y7qB*A6~g+hK+_lnVj zP(m^gLJ75(03~3CwHkUzHZvrm2y~DoEQ@IcIH=z=(C2(3Xg!5ow7Ww3SQ^kxjNQ>< zGZDoP0L)BS>tHHokDUyg@bm*5z%$JXIKZ_LC@sWwcWqG1HT{rWUZr>$^5qX%RtM`P z#UDXr9ab^SwU*hr_kuS3-pRas`r2sUZ`)L6ee_+qTibEs&jUXRpfz?myBW|-s|TUz z)bnaqhF3J`imQd0;>HhQ=+(GeM=&(s7h81lr%+hT^p8dE1b_5EzuFZ3=IYw%2z3xL%Z9ZbicCT$4>9kpHqtxdfaIFar zluos6U*bR?Yg;kN-FOi&br@%JxX(+G8fv9y=sTN2xcH$m=cyUi@$=S>@1p8+>U93tZ{66TMqjz<`tj8oYFWTNe7qHCKs{nC; z*H(15x=6m(qf$#TqVT|5C@$09fw*)j6t9uSXV~$lF}~`Z0<#ZO{g%`r$3T~zYL^&3 z5*>AAwW+1hr)A5k1qy|7-kpP|P_<+)MEt#Ix=zj{ggDMw0C8ZhjnPc;DnFX${8K@_ z-W?0o>%$t>*Y1NU2kew8m~sfws9iP{DmAs)G!?Bg3w)J9E5@!~B%n`sZt9a`j=$Cw zZJ=sLui}?}oZWkb*O&oXbLxSqV@oWrkY(_#6Ae*-93>oKw$qIoNT6y3b5!;OO+|~r zga+$~u&MY5wv&Ia7%YAZ23M?k*)PAlrhYiySJ+!Em*h5hr@E^O#pJzR?e^~RSA$l+ zw~g;M%gyvG-pVZPd>uhPPDv7jBatu9ZhIglHiayG7BgDW5V4PyMP{NR`)t3kL+ zl;8cN(@4o;uYSJI>LNzmrFob=r{fMKG3TGz`xyW?!g~O2JpSMzBo!g=$MmQZQkey> z9M0k+KNhYE!0=r~tJ)j{>&~F9v(-#LrSvm1FY{w>3WiU}vP!viQcRn@1(gGO+XN_W zns?ivayaW>G1f!kgDM9eiFU&T!0G->4GU=RxTvqDD@=IO*8ri?v#ITdmXp2t?H1mz z=I~;8al6HV%=e5-txuK@kuaU--6=>mj8I5VyaPR4bJl zMkQr}*^U&wb+D7E!(b<)R`(sn{gA2J0J%VJChAgvsSbED$W7Y*RmmQ-tuGPyERiRz z?3@x@omcc9L%O-I80cnv&xSrG+SaEW=w>jt@hN0#7t+mBQFo91X#z&B=wdYT|$kb*~(~-#+Fhz6%PCxh2b1#7pprCGz%2czNZPTs< z!py(>L>bYMKCf7p^<1a;EWOFMT`eA_%=oL!c%5}xs53{Apae~4pP?laCnvkY@}KGK ze;4!lp-JrXyo@T1l^5&&Gnajy7n<1q&-4HJ>*7UKawD|>$8!M_o=!Ip6h{yL?Cs7(5f&YL?^>{rxY`(U(UWnespnokSt@BG5cFtLcG1Zz%f@n9c5citj9Pe#T_ z#>jY{af^PJmYOGQ==a~^!!MTT=UZW{_x?#muRWYM{yO1?epsnRryf&P&2Vv0s&?>} zFaqhPE+E8^q^Tq7M}v}6CC#Exy2k4;#9D04EbP;#IWj}zvb4en81GsISG+e)FIA{) zWOPLWK^!%Fq+VVjE*UdeSuJf#0q+@DScT^$_#tUD5VPyDveJr26mr5E8U)(8#!``1YDHrsP%osT0$=m;8PD2Bl?o;HPs)Wl0P;qsrPOT2pUq3YvcSv9YaVx|& zZ;DvHx6kV(T>kBQ52HxM_dT1}g0(y0Ec$)Rg|`h1R@BytMy6slW^u_{eRhUM+B)O~ zMmEYa^oe$AveDnmUcwn47nh`@4N#WqTa+gg5!?K0I8(0L3(4kIjjb0FY*M0+6k};9 zx^7)T!s__=UKUG9spvG4r1%WOXK@n~rIUo&iG-6#V~o-lGla7frf=1n{sfwe1{W}2HjJ$qr5oBc(C7EQ2K-V}mDSmw!n z(&d}s2ci=PV-xWAn!!Iaf?BN#UuB+AP-d^!O z|7`C0YI87_3Ds8F)RqxztIuE%M3Jt?ue1Ex<~Nr-7+t)7saF|o9ra06)G4f<>yBP! zeOy%hX>%~bK+mNzk=_7T+n7jiY?}Q%k>0|pxGa&{7DmYEE}R^C++UQn;LXYTydXG& zllf&04JquFZIkO$PUd#9?Q(Y~76wx>TagI$uU*MwN_1L?gE0F*8rd*g?5Xh6n{0ly z|BkMD-EZ}{Z8#RTm zdU|8q1 z^V;Y!lLu>_mG9#S$)qSE^r~=iJUG(7l52x|B}RDYCbia#9(F9DHAWBLPOD(b!B#4P7dUxjGV9v$jL8X zjKgt+FEypNjf`G)uYsuS(KIhLpInhBE9>cfG$lmr?E+C*u0=8H0<%IzN~eDx=Jr}`cOHo?PYyS;`A$dj8ymm*+v}ya z<#0x*Y-<~nFZ41zXOOBaE4S)&_i}KPY1^hXl43DZC$iB{WFO`fBxgC znIJ|xoZ(GH@s-=)KUX#f}9r{6!y@2dPS4E-b1)E`2Gfb@@`oKQ`Mb zYyL}3?UxcRpJo3ojHz&VzK4EJ+AHljm=M&-_e)SzP$Q9Uit9NOa6f*ev=C;0^eux` zEwA(uFnbhdgo_mX#qSFJG>z*EhY)-O|}R!p+_b7uI@^eB+*2qQ+n5 z;&R6tmJPv=~u(O>NwrL^|F4Ht$P} zB^6s*E-u|OTjd(1`Fp|@rDe*eVJ#CY->W$`|DnHWrnG%}L@iWaKE+E!R8)EO5Gw@h z)S@ce>!vSV>c%hpDI?$gWA*n@qrt$~`+L*OvL>}8xl?!FSUf_f4xBAqU(aY$UL`p> zKv`2eJ)`!s;3?l4M&HdnlHb7K-o4&L47RnCKGD#mheUnjejrTX#;u3}6(aK!scA8) zBK@tS!u+zA3Oj?5SmJSO>I$(!adUvOs=B*ZEvja)t?tr#;_9t)o!UtmdA`Fz%n?X| zNd3v6M0*@fTjn2UWt_mfAr7g4W}WXbot8Nq=X%JAdbjE~zs6iCj(R*u@iL$95}dQ7 z{1=gvrDn#J#?xc-4~?*g=S9GO1a<0pdc3AMtoVkY+(p>z(g&3FEbL=JY@eY~XqcVj z*xMzgPUNwl7kZMkU;55*kE*!D+EzX0WvP7uiL0~{{LqW<(Bc-2A9k0qLS%T@X1ui3 zoClqbSTCK#rmufK;ep{kS8DX(3}58hksBH1wH7eg*hR-B&8n$oqKh(u`M9{AM!LJ`$t`{j7dL+M6AKva&()1j|DT%)QnXv77zDu;=ITE1oe&&W#hzB;X&a_d;*nv zRdv!rGP|39@YPty7lb=r{i9BZfiDw z>wZ<%m{Z7x6T`;%XlMwF7((oYdVX9oot7jzUE5nhp zoLRL!Ri*3$J5^O_4=+d)bocZaXA?@>V~Rr zG~tGzaV(DT;bYAl%(x(wywDgE#u&Qgfl*K{6YB0xT`4QQS~EaNEU#!&y;Rpcjc0P* zJ-1z4Zzbwv#s^mPG!Pr~fGxvXv&ZtmUYMZ=7DZ&CNKoL#GSLzoYf6&`IiBvJSR|Jd#q&0vXFu#G+n=fEKa|=uzY?N@%LU< z1)g~CPB*4pxVbrhuUw=BrQBAqsPBnQU(CuPHxN4dHFa?o`{H=52Z8&&2oxo5etwQD z1Dh{W z_IJdjz$Y8Jw#)=tW&2VSCUCBm?qr)i96I+7V)MaiQkN0E~ccm{6$hrQ%@=zy~KmLOQnvN@=JQXlCXPA9}XkwRR!`T)nR z!%b8G9mgQ?){1?by4ll!XBl_HPkTS24r1HX#cTEP(OU_`QIMJC6@@AWcZVC381w`jO=2J%eZ0<&hvWSvHM5MsPl=#v>!X#t`>SOk(nhh^Z;SeN~nk>M_+>+U>7{ z6L$8JVi7k|VIy8x4KJax!J!^T1aU~;W{_BMySO?z*a|yi|%}Sdj z1|3}omn0gDE~!yg*4UObD|^G;AC0?lBOLF*B4}>aX2zME-aEp{k{yW9^6*H=bH#gL z8hC}vUv+u)2v>BeF~-yulI_c3mzTp!(+!FuZ?73(qoO1Ea7F|Uh9nbnE?$NW%hZP# zDGgUwQTNilvQ=Hn45n?yRFdxK5waQL^|2Iwa&nf=(F8dW?_FHR))u?cTbAu^WO~JR zN((l9dmF?jw!WqhFnDeA+2udRQUX4&bH+ls<}&88``R4cHXO${-X`5!aJ;ketTo%G zwK?(`D*OJ1Bl6p)t|14tswZEZZuw*zEdKgDd@PkKJJz_k_+!{Xa$)Q>{B3b#w29+} zbgMS=v)XL%YW|I@e!=(;|!muw$Px2c;SoAh>+QX0*DO)jb+L)RcVD>XTa z8&+z7zonb>)&u{d4*sP=hO5CX-#*BE7@YA=YSO0;F8X@>>)1G)pVpZ99F<%ihO~|92Z99Fuv3z7Cin*E@eHdj{O(u z#6K0{vdwZtv!kxPoHpv(Cu@10=o92$ijW=(4 z29q+xe_TWvrvLEt_+`nSYV1lA65<|?&@}0Q(ZGQK1fxUKgnvA z2DH=V%p9O|*z>ct@S&j<-Ncbl`x&5{f1ChbD?RyK^-t<&wW_tAlhmqL%O{Rllvm3R zM*<4|>!BJS16=Zv8b3pfaz111?U+Q?rR7hR-R zy|My17`;|^OQq*SgIp4`;F3|Qi75DWS#<>MbACd!86$%B1$dkQcX%__f!9cNLb07JlIQY56}?SD!%-CrN$T(m9>@-=h(`};sc8g-09 z%6RN`Unb@w#hEgpGJnP#?fRA?L^HB z$#?Wpy)Go{;|SRol8sEC-?@-r9wIP%Q|vLwr6V%2^-hT^E!Y`IrDCx_r8^`iqnKI2`?Z*^=s?EVAk=_=4Pav=mkp)$45lP$mMa&b`)28XoQQ)pz8Zd z3DAZA%6vdXmQ#}deEDlbv*4lm#P6|3YX7py6XE=4UQdp_HXoz*NxUJgDg`(W%@~GJ zkzJ+N(vgu(q`!-~35%1_Go^sZ+_e93p_#blz|nDzb~`kTU5ZAuj~eMri5)o&db5*j zLRgbh)F^I|QbUvnnntnJfBZ;QMX@%$*=y~`A)Uk-&AM8YRBmD;)N?d;UCEE6sHlaV zU00N`6dh`(9HJn+%h;O&WCNYJ+QTco)+F#7(&8z((FSRo58_`&TpoMA{@ z1Yqx@pY(|~_GQJ?L$sApMF47UYF(Aa_3PJl43Ca(2wIoU!j_kThmx^e#AAu^)I_=B zJw0`-iDmkIQ@jXbU%%HFVt=BRM+**bYS%Y~vvjj;sv+>ku)f}GmWUCeSKB1*)|N9>cpKI>% zu@OM4Kz>kjGpJOATTr!>H3h2=tH~6)7S&r%?MIKMeNgoukvj5Y}3(*0Vh zips!X;OS+Bw!coY=s0EnN6J>N-h|bqUrKuN>ntZ{)^nOICimDJEmwE zO`;w{tBK8mR`c{ft0`v-;$a)HEKQRP=H|}Ki5OuE1ip!Ea9%8Tc}X$5ql>6nTt`_XpP?D44028?YZ>Bg*#y|O3r)=jL3L*N z6wURbFapm7s5DV1^G{kM zzfsC)BMa(E|CS~^JxU*`Fi9;F>gWJCLR2}VR4*^g{d4oC?R^S@*x~Yd!;Hg2aiHA|wEYG&HHl)YP^x4g5%4qUG1u|M0QT&Ond;5yS}5 zaTgMdoY69hiryh;oT3C!|LH&ZM8Gd0r?jvb419?MjIgy0)Ri&hSejZuj-^$7%w-Jt z;`HaR3n&^y7+NRip%bN}?uLJolbQXC?CjR;gVx-n)Nn`VjUPyr_~BtU`~2*uP|a45 zlTtrcnEhKJK-xZc!bhY2I7rN8OmU)p{r9=c)8U~n%%0Xy1Qoj-PcmX8=RYgt%l+oQ zr$(tX_;CD@`r5O)iO*#t^Zz=$IW#6MlIB0FKOa;2{Po5BZ-ozh*`X8Lir{+RorV;1 z2W6bP3kOG>au2SbIZg3l(ERLYI=^!eRN#B8C>A$9|G8sI_;=`sv8QytFWx>4op^w* z`}cW<=?OoZjAQOWQQFRNkcaDQ#m^Yx{O^trSHKzdq4hU>q(1vRY>`pi?B^RE9)N1k zq>YhQTdCZL+*`8V=gxzGw$`+@~}^aZ^gdXCh~;IOkX8 z#NgOifTNYR?mNYAQj$JEJ9fhVkS6eBkCG^J$dlPn;J%(Kg6@&$!7b{{@N@73nTbwF zZ+`ZvZkDT%67d;d9P9CE`61seH5s60sjZu-&?BYbBl&V{-KT?1zD`OMx~iy8-3|E$ zDGC2pe-T;p?bh+eF?k;;C!gkP3VqPo>SJHb_c$grKmH69k@abhkq0ZOZv}gNH(*@x z^Vj=eN4dX02mAgCJhx*iRTI=ydK%b1$baD31U{W`0Obv?z4G5l4?VobZ?Tj%Kotsv z5FVIa;N!pQvY8NUuHZSE5nL{vWC0b*2@e5R6v+?#o2Y2JvqqK#jwImUaPcOssYw#x zsjs!(^f-4e9?GgK5oTqDwe)a=&+CDCFe4&?zYk2(C)tsk=%w_&!hR}CS<^R2djjRo z)7su7obf%tovyw|vxtoo9#-tef>9mBT5T#^@T}($&lcot;k|qTViSFR=XOR!j3)qM z3r@ClrI&9)h`qT95F1XY;3yCYBH!(ZKLJ(^Ks>WM1fq_7=6U|p3pLAsv zDE2B}Jg60G5|Rcf>Y^9ePKr{}Vg`#}f-hZi=a-lQ7rea2mBWVH z{FxnRvgz6i-q?r&jXfC%sq21+4=~!|F~A6c@222z(8p40xh7u zTRpZJD{bH5X`B(=E1gWA**gJyH@o#i!xLxNJ_LDh!=Pq1wj16{`mFXL8gwo`#@Y;) zlnxA0sh1JcSEDaiHz0`Y4?dlYxCK3+@2>%Gj5vJJ}*rRp+qgTBzinbc?~JY#SP?9% z+?04!CiLYC@Pf<2ItI>_*Vg^I#M#t-mWGoFs6Q=t6|qFoM0Ks_`Sgi8cZ&krM0iG*KCo~YA#x(V}* zg>Uya9X&QC8T>|vhj$$HHl6`w+fdQ3u+QI%__{8y*d3nX9gtG=dj35s>Rpioes$&Hye zh%c=l1dnf$ORev<)Blk{@v$8tGt`w~Nia!L93(;dp<;>Ha~+!A>Z*+Y7*PNAYVB<3SpV-<2okKOcnj04(d!k^P-(Bmz+V z!#W{U(ZdGfu(6bXGv>XFpKD)3E0qPPELRE6o$vwZ7&-}9@r5uzN7{mV5R-+P!KFsi zd&)v(({EB&gi5V-2dRkVdiv_o70q~kF0PIqQ{XZWNNHIhQ(V2dxCl>!U0MA@QfLtV z{zWZX!lv^OmMknx@mAEjx)0hFHje@&(K6o)e46zy3`zR9uYR=hmd>CDCGQ=w&WijF z`82zNqOcAmh{W{WUEtHe_S&FGBn^N_v^ZmN0YqZ<5p^*vH3R&z0i~+kFFL?Ll|F-m zH>st5j7^x21ug!#F}4i&Q7ok77KttJTu^_=v7$#RxGx?162Afe8}NvF%yqQn4DfNr&^a^Lh7F`-e5BNU05-pBP?1BJ;(YhC%%rtGJ(+1f70QWtSw zEehtwfVY(hpKqUdq(PI7k?MqMjvi9-`8!fCedGqE906ZDe%ojpck6c4-gqk8_ZvE z@Q4A*ipudQwWz8t*KN+OYye(@7#oCs-!03Z8BWXv$16s6o& zXxQO-TH!D>Tt}{=UTRdT*+*fK?`UjdY%FK&uTKJ%v@*~}lGny$mL^%tv*YlNDjQ&( z;~NQ=g6VV&Urj;CHvQ)Is*&wq%mr8U*7}Q9RKxiMZZA}aZL&I?p`MZ-92?&QSLXJ& z-dM(%zHdKbxAVVK*lw(dhxD&rWLLcGgx7`|lUH0G=Qb&oFgj#A^Sl#~{B{YZ-6G7kou z1hp0}V=|E)XoK6Ojco~2u`Sq_QA`>xc?@R^n^3Ma z{ttAl@gVnnW3>>b^HA4qA&N1kvP$1|kfH`y@dWkv`a)}8<)4U0!xTj2E)uY{D{GNB zL*hCggP8^BXejx@_ul{Wm+?92ba@?1jJD5zlfETgl z%4YGus#h?TaYs=AxXT*)z+ILw&w|aK{OsO@0q^kQnlWa5udU4XJEM(I+4}d|GepG3 z25_3ogF$z;vg*YpHBh}qjIssuupokKHMCrVt;~DM5L;V}Hel!>9I9Tc#-NFm@tQ%Z z+Jd_MMoiBFq#QOm$dh$3#bpCW>zM%XT=rwM|-QInPkNXlSUWIlJ zb60aMQr|#ZhribVqb!q1hplYeVssf=)EaTI*j*G6=DIMgYB%ru3}Z}vMyTw~41~us zwtG}%M64m?kQt|uxLP_PeCr(yc7>T=_iMV!SAzw0@f;bBu<%syHV)_Jz7}a{bnhM? zy_HRCC)6|U!Ov-Wk)WRO@Z<&6(vq#>%gMNknQf{9LyMrf3xn0hUwtCYFn2jtN`>0m zAUI8-9ZZ>7aoo z;AKUw3&_aIDrun!h;_X{9ASMuZ)kRQ%tKsKLr6#=%+Y}b;#zxC>I=12ke;*c? zn`d{{(6lu=iNV4uE-{J57Iu_TUpSWcc%Z1HpomiSWkK50OP5|&6c8^l)y}z&xVr9; zZPU0pA-WIlf{Dcn0o#pInM+=%MdLVd{N$gg250Cr@?EbveN_ARz%#-O>&uEhj(W9jq=>4oeH{MEXazlSJa^H&Bv zNJzET)B)8h9c^mKot6o8A9JFh?qgO3)P3y62$yeuf%@WK!jzi|j_N$2?qgPWxuFy>HP>_ z9?_s4Q&HK}GDun7!?eeg@Us?72sJhEfF9gc1gI?L=OJ}EpAB_}on0Vx>grNJZ(~&67c6yX4oQuzP-`HiekpkLA_b$*j zquayXy4Mt0r7V05aun%0%xB6c$i=S7U?Cq0rvApDE{alC0{T$jRqZCi!k6n+>C`q z)BG9>Wm#Iv>c*xo6cq#JH>RCY(FQwJ|6B^b1HfD4|VsY`$Rg#QMC1eY=xH+V9OsSPYA3Z3wW$B%{B1G*&8>mimwBQR?hA1rtsg>j|sWGwWx|b z&@riPf;uK(7Aih8ltqk~d0e=tGH^LPJ2>L<R?AD`K9y!bfyjV=FR-j}{3 z{pOB=w%XM@*ZB3%Uld@sm{b+e#;BZ^mFA6LnbIa&mQr74^-E_ouj-~;DEo5x;hJdc5%5Q!qvr#C>U;W5qN%v&wL<7=j%sa zV65sD{avuVeNP#9d2*?bUzYA4LY@5MeO1o7=2Z}}9Xe~k=&R2iW*k=2?V_O65Vci(C zhp)RJ7VG}XM{BiZwRZaN_fN4?`2$nSbZ&*z;0xT8Th|m`XALN9Sa2i7?YIxdggpW? zB;tb}J0PSUUgi*^RlDNnr=WmDp($=6Rm5?)wqZN+|BtONkB2IJ-)=8T%9dn_5{6_g zq-Ys3NroAQ?7N||?sI)-cGHLPYjG%Gi?ZWM85r`Q6X=`*}aV_x*g{e>$Br z=bZ7(dCv3P_jO;__2}p{wxnLs)om_9ystOgxid)Qy$xxv?CB)9I8mfMI#y#&AdWNb4A;?%O<)ecWt5CP zaM3@6%6?Iqz0l}L1fdz$1Gia1vBRaOG{7>4B}KDm@B69d<#&}lE=jHuFvn|s8$|rI z@BN6s_H}nEGt>}r!w={?5uwiG69{#lkIYh0d?C-gC`Y^u956U9&wv;T&C@-n3a}5u zuH@`IGQ=$fDT$Zmv=^%%nrpq1G29cZarF_Sv`2hCjqG7rn@`n!D`mbnzaXRxoBV|5 zOt>oU@FnJ8bww&wd>PPl_T^=p2s(9nwq%H|GgpY_?Gh0K$mEp?G!gyp$tza(!+&%B z?7b4YRi74j=Kg^mz16vpkd4)sa|)lP4n;+_A2|0%?`ZJT5dki)s23RAVVeh$&C@ov zndOY4S6MEpyw3C258$eKjB6Rj(bBqd8I7RVB?b0rhY$Q-YievZ{#Ub*rN5#) z);-sLW$gPu#jB@k4@%%)&a}T6YnoNOQs3ULIL3iK`!c6^#i|$f-lDy4^NLsYjKJQ_ z*_uP^1?QO~M2c3J_d-&oN=2FY^YY|G?zSmwEj9#$QKk=KSMXE8t+o>r7 zPgaePoRyXP8nRtX2Jh3r>>R*X;2le(pm)qacm$8vF^3$Hs9R&Et*M6Fry7}r$s4ia zlDpfob}rmG{Pdr%vEsv-$@W`)+v2twf^EF7-pAZlCl!cbii@}7X_&WS$@ST}jWv7x z{yYJfoT%=cziBneE9LGs$zNy#doS%^uL14dhP?#`*gN7r$?svN)Gb%^bqyOX0)JIssmxR0 ze4SNB8S-T(G`GuLZP=Ta@1l?8sK=1sM;tGfRXC54fn4`A%o5avg=-GLjQk!`MQ2|u zp1MrBl3wSS**;VNxYKZyDYU+?>;QK2NbVYwIrVR*P|Dv~}tc1R9tZ?8;F z=;%aJ(FhZju!Ca8DrkTUzYMiIK+ec)jvgUoilbA~8^kng9KeVY+7NrW{-yo-p+2l zXM~~hH#6grMAgk}5`aqGa7Ebim0rt_!dbm0{D2i&457-%$QY`O^v9vfND2*AMuMB~ z#0a>&8yt#Z(@yY2I3d(6M+iEeOH838z%rSh7(Q72d-m`5f4-Bg4qFDk!Z)K0QkPCO z>`srBQoMjgHAmtbuVyFhM#t>zmR8h~R!!5=lnJc|kzEs$fZu9oC5*x>m-zBTHBm3i zFYKU!5isuI&NFs*O2HO0>4j6yu9ABMN z;(M^N*8}gfP_M-IG>YXV$E(i^z1ygeqoI};e}pl0v$|e+LNDrc3+MgJA_ECVg4H`f zdoyGL_o`-Q1yw%+loVC)ipvx*M?C)?+K=&!IU#aJTn_la%PUn=Y{ZrKheip+_D>Jt z>2)ks144?03ccCY8-gpTUYV$>Maxlrl##kz#><{|q+{-)26nFQr-!umYkD>tcznYqTA2YM6Yxsc?RCD#CYUV#Wr{>@vcJqr9F%3o= z^X4I*G1h|{`zMR_6uBM#(zGR?#y~O_B|YzfR#5PKlqBG2@wtRh1u) zF*ovza;Ly{&@;v|3^QTQ>m4VaD0tTq{olwl;pf86jSX(wR)zT__>MC!o#I&nJNoZ=ZX$vcw^f5~)dUW$2>XI^z! zw>;;0(qvdZT+w{Kds1!=uBbQbmM6i{)H(Bnuy?_(lfpZ^PRt*Du3>Y#pqpV)$~=KV zQo1`qV$dvyHQA~`f#I=Yx5hO`_>81jpmBLL*`4={84K%#XHLSQCi9s90xwA@pp17$ z$Y6z}!2hD5n_*ZSu1bKbeq(=Lo-$H*y{rZ|Jo)GZm$V@_h7hIJCSA~8Eca=4g z>5j4P>NJ*pFn5(J+i9yQEHT$r{?wZ_uFRp&QskmNux(eg%k<;&F!^-RF30cSzmyPt zspB1&>~j6~Fq))XL0cBm8wwYk)4TIg2YyV3pC{JV_Oxuia)wWrEtBk`a%O6`)=t?& z%2^rR`a7A@s;6(QAz*zexH|qPwJ|jaljS*4WW~r{TEFMUHw9#)p_@1!#=F_ zTwCuqHa}>$CTsIyre|{hjnKpQiu1Uh7;o6A-z@pZ&%Gz# zpT71o)dIC7%I0kkm)($`2`Q_W%g!WpCexQB*3-q+2j6H9-`H7Ed{OmR_Xc;TcJU|G z58W5JH*Re>|GYVOv0)32?lM?)u1Y`Ea6HrB?zP{ZgV#!uxnRp-Q!)&9b-em!jZfE& z{BDmzOvw)gM(fQkSr7vtbPgwt5 zox67#pWENy__P@Apo9KWqxiJkdkv=D{r3#EzwU1^7|Qmw+X{Q0xYgiy&eu0y`B&v= z`-=@F$E0`Ne0v@3)*OZ2k@*^K5A@#~=!82Nd@H%1QLM#!@y=WLrZBtii=$<@xed7$ z{o?SFJk5=lix=!R0)FcC3!PZAGY;*`@%=3dzeBOnhTVYoT;5Z^;tj4@qdB`y@8Z1r zg`N*PAF>&FFv%X;X*X+V%VVMcy|_ntr|*EFJCkgL^0#=p920ztZO_G>ht&;Sm|Qh= z>w2E;R6S|v!X%r&Q%?qM7nQs0>HR{c(>)g%h-GWv%eyyw?;CD^_(y2HwQT;SouO;% zg-;p(%uPJ=K8Bs2h&ke!--Nd3IOYmCH#OZnC1}lVZr2Q^Mf3&`=Ww9Tv;dQ%!htx4 zzyMv&d*FL~K62DV)yu%iL7g#6s}ZSNnwpS~KwTK=2ryzuN1#x~&0Y7T`uZ$BHhBcH zIosPPn{x#8LsK8=kSy-3QZZ9Q`#5x_zDNxDlByCoYM-@wci6xirph_@Hskab=yh&Pi}kG+zkNx40h0%#tNpuekCG&jO=LPQ3zm5!Z}!4mqd26CAY4 zSIUA}><;iXpDt3dm1U4UDPCMBDo<(3UIYS{U&AY872dnU{~x_9I_)r{2O z7=Nyt$J!mve0SgX}SU0LtgS2SM|ab{XOQ((8HUv z@AYIZ_ZyG4+T9C1o3|!A`r6Le4=0|Rx@Z3QIZCFWtmaN0O?)aEO~S9hTQbUFJ9kk$ zw?}uUY{$gR>egn+&itlcwSU$N8$ugY?^em1<#QzsoGX&d<@4nYko# z(q^-e<*V54TML1bN61Lgps)_Z-R=#Q99v1Tqzbz$sY^Bxi)9rVXwdJi} znD3NGLJt|c%UTNCUsJcduD=dveUEz6e9bY9R`_iB%dxwyl6O}WN6|L#a%G3xaK^b) z8o#Rw;5XiJhz))%|6?;kVtpiqbHS7OT(7_o zeWF`|-@cY4#PA6Im;9o>n_)_(Ktry_cVY8+!_tiYJy-T%OJRTN`R|$?zp#Nw370shrTsV$YmQ9hs(|AZd`1C-7`0O(7Wg2XrbAxefOd_2fRQ)z?y*2PZ^d{c z{QOw)2UtORgG*AkI4`HI10OH!QmTl-xI1fFP;f3#QO41TR)~G>rUIPTou0FX`b<5_ zd+xnAiTZo3>^quesz}*cXnt_xEMMfZOUe@~#2&3?autuo0)hk;ymZ;~=g%r*iDGlY zzyg??gT>C-hgutlMYpP=e!Sh%+?I4-?O*%s=FLAx{BC>+@qj07B^evAv>~T%?U|ydAU=rzTgVa(`PC-*2uqRQA z5+ZSW8X;ZNuO)Qx-Jn9s>h1x2Ji`bu@wBXJFCL!PMZl!uDEY~#=Qdhy_r2xi!u`!7 zHDl%lT2n_)9Jqd#xO!1iS(u&p=Z~fbm3`w+lIKcggZBY%pUwsG`(wksTd`{qo09)< z*47f&$Q0`%jwGTt=Th;`CmOB88bVcS~9+w7d3@-H6^+ z-*;E|-ARt|E}`#$CPP+*V*KG~g#MEsAl$^x9x28wi$mA1yu(6v^G=4pK0RY-WDmsn zJ3udim}{(efVoDwbLa1&Y+;R*;O9dR0YlKXwn5pAn>%7bc)0pQb~FBiDb&zpZk$1m z!iuGihci;RSRySLabz;e(8$-2zLb`Y6gk-^KdR&xWH|z+@ub{t?BdLH}ZU#3fuW;IN`+nN9V^R*{ZeCAnXjqu(l_z!U zsXAhNLA#^i&&>w7ImXE~CZ{=Dw+ApU(cWIreiWEk>{U#eU4HmQ>rI^*CG{(cj!UIROe9O6$m@Q7m@)W+q{kQ7e z!tTn6p_DBirwhtUV{9OwnnF6NsWHf@bzWs6@iQ;AJCO@a~f*lPyO(;fy6@J@}5A=GZX0kxp^YBHd9 zzyIvHkkTjh@VS<)sTq^H#`@|L(BG^Q<>W|apr8`8@1;le4{a0X=<5G*gK}FP^fy^= z-$C7+_D%-%xuFpiKm~T}r~}mQnH}pLPEqpdu4|oirYAU=y8ohfK4&Ecj%B^RTzKqQ zQAt_#G1iKG*_gZZV?R!ZVz14OKamqVi`5bS>gZAaxFUV|$mU%9ilzsh{bza730>pP z?-jh)`EGh0sJUDB2eQJwkJHj=IY`}xvcgx{kQMUg7b8wiStZ%-i02`J=JMY|KiPhk zgBC}x^S8#YGTHH~;a)v*o5VLCP^MW~TVtkcGJF(en%l?!WR5y5L2gZBid)@9uMSJPq+=qZr+p zNw%Zv6M+u#<)Nw$Y!7kg0XwowKi^aFgDPq$PZyW71jJ#V1UoS^4q=Zk;t}?k`+C%$ zbhX0LJEO-0VUK41yLl2)o+%*g@v??qPVemu7ZfYT_4Dx5JsH{m3s1{NHN&^>P|dKZ zE$kpcrxPMZi#v37d3g_isG5m{=tMegSEkUMNC?sDZ$bPG4RKU2l#puJ{knpTtIZ$ zjSNEn%dzo6@$UVg$8~wN)l$5_f~s1WHPm>h!KWpr2*kxj7}GH=_8(PpZW&e|IQsqp zwfl6N@Tl0FJB@o{Lll0h5HBWkw_7w$jF@{MhbKyq^k2X!oq{qP!GgiM?FxIzK@^s zQaCllBNFE*$poAtS$U=)eEh1XdqqQTgO^?7ee&I#10O}jK72TAnj>5pk=K>+{Xu3I z8)B{#2uZ-XArc=3)R^fQJYqi>W@LJl=b+D(g7gAmsJ$Wux7;i!?V|#|>XE)?`>dNYLv^9vhEiHR%XARlu*!ttU!TxwP z*K~$+;&Qv$&z-xhE=WH$KzcyeNijfu&`=lkLA7xop`4UmT+d^cF)U>8AZRAr#peSq zYG2z+&Q{AU*q&1$mZow)rOV%=i;X@4HBiFH$Ra0|m>P_pUP$Pb5gnta@~8%S;nG1f zEQTFsEiZpGYf%_ke4pxVX;Bjj^25lwO>jgK$u_((TZ4tX& z{lxiZOqSbu%R-|!3F8_W26;}U&+SOPB3Zu6;r|{SC6wPJ{JVMdU-|#}-<}E`odrju z=zUwg)=M5oZk^e@wQ+xb=7fdVy}{*}Wm1Z-?}kKZuJk!yX@#rcL%^?L0zL#AL9e#> z-oAUdWWIwmaC8OFs$@(lI6npNmipoJaORu%EI{80`o!^zk`|6pN4_U*`Mz3tZS=E5 zx&hPy*zrgAM8?JtKWyA38S2?lF?&^M*>Rv3Eh=#WW_U%lKjp~WG3*)WlWI4@_g_Ct zhiC`Yv*j@a4|evciKIsAf9u(VsR1R50e8qVP^z&zx4aa;@hWuG!74vJqG7t`9PRTd@FvXAv;%-yql-=1I&EC zx3+wT?&clbyLxju)@wjXw_-KMEOBCeP&5yas)>&c3Ue`LgA+}U&YurtrXER1b&1=} z^DMf5goh_SnG8|ds~kq0n_E>E@ZCvMOW8U7UxAMKes-u!>&*xA9oibDrD#r000o~8 z32zz3c+2h4ZUy-Vl=NcxL{_;Y4XNpu1yFlYW}TUdo95=uEnH^dVSl$swsXLLL!0nC)<2A(doP_)-YVWz&Asx=_bTt6(|-m;()sN(Q-6}!Ts8&< zHiGgawd)s9O=kLB3i%I1@>2i#-%2)4?3Mg^oi2f#|Jc6xTr@Ub-VBnon5>I2ykC%a zK;zGxG>3ZKcmAW<`P0isj~18xVLWUD*y*&5(h2_40&+23gpLjvPY6%0pt$NP7O_i3 zjxs$qbmXube9z0ycl&kB?@50THm$4#q(V=8iMR$?eu!%T8WPGa4?ye{{6j!PlEiMt z&J#hEf*B+3I3!>|bq%wcsBSmn8g%#Y-xki^Me6FBnGMQkBg`hDs+#{pq*8Gm zM=F&cbx+Ru1X{YDOJ-i=*p>RMnS2Z!ArSJO{K}ukh8!VqPEHUVifSWA2;sVCK^m#2 zk@E^vh$$LZvE#^jWfdyTpx360fC{FYV`4&BgFp;aWQ2$kw0X_9Z+nDHV{VjyHZQxR z6r#htvlDw%^9%MdKI)`ALVE2$Z=?$KTta$nU;{JgT7kw#&cSOpcq;@jxl&VtS@e%V zbco{M7fC1%Myhi%8C2(@*Rq}ti)Lo!*=+lIQ}%Gz32gVXo!M{n$$<6j6s*;^W0I9n z&W-Pat%KO>*OK=#(>YDpB71rwO1jv3sYoSeYK9b-=6X9q^$nj=nGloDl_B+Td(^S` z=a+HESYuomuiu8Z!FAn^^6&Sjhjg9y<>;-e_-MA@gn}JEpT>G0^}+|V-Mq1hj4ZrI zQ#CEAr(10Jv$MatI6}20%1ZT70p*!^@U>y~{ZMToGD=(d948Xz-vN&zM+Ou#uk(Vc zu`n}Zu7AeYH=vn$oFC21f+C=7u$J85Sy-Bp{M-MAkHUATbiH%qsp!%TYWe=@=#b3zqVpsos5i%CVgDy1o(5%zjPr+Pgex03~Ht0 zZI?^?=Fk{8{{W4FWpB_J*qrmYE~jJ}s{9ZkQtln*qTTZryNZDdD5)R|^D}6>Y8LHt z*W>zZzKl07f_YE8)BVg;6Atn4k%rm)UnUWeUB5n-JOt+TFk)4VFqi|YBD55-DlCDa z9CXOlczAC{S|$y-Sj6>Xc~UY^9U#9J)d6~EX<{Us?WzSSKGiN=3yU5}Y}&;iPt<4= zs>RHA({c-4j{;X&5UQO+`?|Yl3nldNZnnylEK)x{IZHc6YIJWF&AtqK^tDyGtfHcW z7nVbO>Cjn%QG77)%Z@xHVHiCIj72XfE0N`XV4>{@w=}bJX`} z2`&7^-Fwo~+yAKqzRKv>2EHA%&pT8DvWu!2*=`U0#9eo|z3&)VTno!o5DIms!|aTw z&TbwX4}Q*~@2-(c*cj*fyFivDd3dLR2>dOpNbuAt5`yE-1-n0oSOJ=Bd( zt*JoWND5F=R5#)VUIAkY7fbmr(H1*0rzq_-@tU41Qz-6+A(r9f#pB=&(0$E;oxPVD z138wSKCoMSZ^)0ojjB&6Dwz)RjXN=ZI$Y$B)e)$!W@g3fU*)3Z;ieChJH{Y&wf%kI z`n0VsA6=NAlV2pAn^I%z5I|uh+s5ROG30B&v3ku}9oUff>dV%|n{%Fu9w7ox_&RMI z)M+BvROAwqn#S*lY3P}mFhTgPng1hrBG2Mb%$~y7ty%{jG&uD>-OxLm=7|IyUGp78 z9W~QX&^>?(mBGj#^??xfx~QDAGKj#aam&D2f0?#}#$u2*(eQXCC!!IJ4$WLDeAR(c z!QJ?|d8kBRKU#rChmUp4L0X%4Y5of4qeQpi@J@p#f*}`um}EDE_L}_3Q}++4sEFc< z@v9`~RqWv^VgFU7IZE{Vwv}`5=A%qt%mOBn%N!5|<33KE_s)H5gLdDe@oz?X1P*8u zSJy-KlYUgH=0Y~t@te-^v+Ot*-gEe)t;oa#;suU>MLc^8hlah`IZiIBk8y&-I&q+~gnT_*{pNP!enrF!RFu+hY!u3==bY~oA5 zj}xg&OOPqk*Z+XegKq7Q)GH*->7{=1Ju@+=KCdm97KqRm{LvUvHS&lz?+xV{FK_9G zxa=cd2lyywj8%ww%=^{E$Lkb;qXbSrqUt2N@0Xp;;388zMaI~wf-X-u>p`eY@#i6^ zV15a$O3_YXX+A6$56s4xB$dG2*HJ0;yYlP&gAc=KuePof-TW7qnIxcnvq0})7@lAY zY$(L?KzzSsI-@+e6cI4hI@1IvWx_N>ZpfL***PMudD@v+A}K1`(c#ybE!L^S|2BC_ zfYcS)+l%;qQ5Gnou(U#Ruweq4gOk%k8H^(zomjXLKD*vz$*BZ++{uziw()ULJP^{s z9R(un+lUu@=Pu#}+kRxaeszQcW+#N)n7AP1CMceU(RlyyuxR%Ca?=9Qe1+vbDg`M& zFS~UOCVD{5=yMN^g!k{6F%fh&w}&0nyR~~aMGobRa&jT;SZX1#QcEcV;-*1LBP;mI`(qbG-0{W^N9*!}14c#N-}SM(3r zjgvOP5ORU941E5UjwO*o`=x|M$?1Ys{ny5YyhnZAF^D2JZ< zOR@9NI~1A;&3F?z*An9gvrc*H6+)I&SshPKK^cw%<}gN4clT{<*Jm zF@-(|Zf__KTn>ajxIRLP1T7@Qf!eh{{u9;CAa>R4B0>q5lut-^)wq)`&6%rgeSJLN zBH<=t{tHI+O(sXiA0Z){+K3TOG;sw+IN1dl;R2vp-l{8VwFzJLnCIlU@i(XwxQ^Ns z6=)Gb_1dUEk#t%xlSAIK(Qf)^)@Jpnr*K|CWBcP@6w*!*O`ebfqBVE%dc+oDUnZQUTL;JC0Jas zzA4*RWXbAV@_-BYsi2Uh-6#cr5z(?TP{`&(&iyO-o0LfxFsUJ~(vHzZ+P6D5szX8h zX2}FGqOBu}5nZtiWrx9ZH6E#zSz=sh7<;uKM+~N*;N#(J(VTanR?Zi1-*dI#N#XTx zcneE}+*lFOTd1Rf<^b%C(0zJ$RrO^S}tFL&&~a=*%E898<=zj&I9o4c%1fWpmIdjccw zA;)ehCwEH1HBxwR$}!4$aE3R5H=4G0CPzV075MrWwd!Dehxaw%$rEvksxZn!q!b|! z5mixUr~dc>{4w_F+>(d7q%7JAh!V4#Zi(o21MfSlyF7VGgw~3`6!_vlj*~5j?fAb; z%YFRD-}c%5|CpBl_pzOauvZ;-%AwH_3aVfYa91mM)w?ETKrjn zgBol1F3cslh-XH*`+uZ&o|!70A#U4+zHgsZK+x)*9sEarSMqJ%*ORn<&-e6YGX>kY z)kRy}YBdtwn&rcm0^&<7RuFq29K|*>uR=ED34QKF=5V#}m}Ycy3P}P6lGB?;#%w~P zrB}vwA3@_?<9!W+dD9;f~*t?1RI|f$7yf}wP zRf!SnWuuQKZ-epke(2>;UH#2*Ch$D?u^q8(cgr7Kz+OWf@?Cq-II>S1yL#8sw>FO0 z*7DD_Xbuz>y2Zs;Ms-PmU4Ge8f{$rKh%J&no{-!FFX<>yTL>n545NU-d zLM&_H_;+49xxL%KVx>G+8Pj{Nf9N0X$1>wx5=EaXfKCn+j*QT1Qh@As>NZ?|DJ0$2& zw`z44n!+D;>-K?TmM-Zl#Qqjo$GU~A`GxI{A{l`n5GSds8Yvn7#34=+*@>68vepYU z8YiU~D?;|MKpJPTwK*1MptYqQzKgVh?qV z9COUH-SQyCoV_l(DplreLty$1Q-;uenvpmfHZge#VTmX&5Qq<~&2RML;z|n^6p=YD z4)3{)++{4`IKBp$ahKScp6I*C0uA|okSxcE&TH0@`nv)YA_V{+V57AP^8*XqKVpwc zPHrYSfa`q~PK%4HE=a$5NJU;UG*s;ztfp&Kvy$~)d$>^L8&zZk`KyeKM0}vG>U!`L z%gG@ZMY(F$%k11?R8(1ud+Cp1cS3W6lM})Sh|OqjXl?;LLW<7yEWF2~5vJ=m#(#t| zX==?0QqB>K>WJrrZ5r9B-@XBQ+Wmb<*_iDXV}w62{G;Q&npy7z#9(lDZX&Fz8iNPM zB5k66PeEaOtBPFe3$sAYR~?`CsAOdR`5Rc5mBR(OK*3w2B7DCsThu{|EljwCn@f;Q zs6VDLvaA2=A}2dB0iqnDj*c!u6ZK4)LQVcz-_SGpTfFDtM#jc?i=}Tx?r7ZWzULKI z%xmQfpbJx9dr{H1U#y_OG%@qlafe8@zCK`yi?k*K?oD7Q4w5#oqK`{UJ9w??ocwY~ zE(#y6Wc&W(LSNwh=6R&i)JXdFFN9d)q+6{CH_)9_E zNYUQSvRiy^o3Kvg9EWO|AxEfsGo!n^1^7$3xrZd-Xtzc?`LjjG#$YVT=>uns9N|HU zMC|+1+?fQzLP^J{HsM1h!icMYTc>9rLfxzDwLbi_052~vZ3Xx^lOky} zAD_(f=4l`EjxDRrp(AeD>u3Hp1oZwk0wp)zc(W8f^qUfIXcqw0mawUJUX7i z@nzQ7RtD3~r}FU;Ty3$e)v2=18bL)?tqjTC&*T#pqna4rsYu1LG6-(8wi*>ZW{`Z; z+R9MfD(EcFf92(PANPdhC*oC3U+?Wz|H_nJ_-<0;qdnIw7y4E%Oa&+Y=!?E!y|DJ` zrPtAtiRlRGqrH_w=DxYW{4iT+G{~{f=6i z1}CyhPet=o{sn?6XxFyA>nTHK4+vdIYsE%Le}piTz{f}l70Zv5P=e}|zu!+7FKrDQ zZ#-uZr*^LRCYzu0H7~1JulzFK_AkZt?ut^j_X{QSZ-amD&itAHR}v9l%U*nNDmUJ- zRE9!xB&dV$PeTLp{b|%fJOhD~$Xn}_7IL{up>a<E(&MJR)APy=T-xqgXxAQRMOcXA6 z;Kl;O0F*LaC<~r%bQWXwxty*WmaXwb+GZ#fbk_RKjM9ng5F-R56nobCN)iUM`Ri7r`yJz7+q203x@xx$# z{em$gS7it(v~Xd3?uHMRqWPHTU(S!OPx{XL>V3AZ*U)menmGB)+Ct;GdSa}6)6dx0 z=S?r4%4=vnunH_l@!#PU*%9oJs-=D9Dni4tlK!Ct-J?8Ap?U`V^nEg30n~IEnK1U^ z$c}KQtz+9ZV&QJg4lm%}&$e(+pA5KXKpfmN^O?K`OFA5PB2Q^Z2FIRMV|?1`{4DKc zV|@Hc`6g+hlhU{ed9^e+_oOI!LZdJj&Rr(wY1oRiom4aHZjHAfx3#K0iG^@pP7wNv@Pw~lQRO|+0X<1aC-fxmwS~H1%hH#Gv&xi_Z{+Me@{L?% zM81*DpN}0Y{m_4%?e2l&!L++o;^XgxkC$|HeIFXy2l}Zr^d$Wsq9++Zy&Pt2#tyE3 z7Aib-F3IZr2Z1{vC=zCg$NP?U5raceZwyUFy-^^C8h1(65{!siJ>;k%%V2TzCmq38MKb>8#-zOy$`kF z8`d@1ei*d@)VBNa8W0r${{b`s;`Y7lQ40%*v9hS6iqZ9uQHLrJ@E^z+!x2e83~dBv zFwtDMFr+Dnc&@tjVrybs{e7cUs8A-&~6d_nfhu=u52VbFP^D6rE)4wPt~h5qaO>`isjy~V%USTsw>DXWvsy09eN7DLd-Jcg!uyp*AuN!*Cf~G?xY+md zLf`(ipqoD6RFh~?{{{ws3#3|Nju9QN{Tq?>}-;B^0;%WpWpM=)`==*9C<=MBL7*O{K1^l zZ+7V$wMp&Wt51?{^)u;~b>`0WXlmo$d&dCn_ndNeK0YN2`}eVK%K6ffTc6+Uudx67Y!f&4 zR5fas<3Ou>lD5sMMTa|ZUD^!#Jubb6b}XX(+5?u*j+F}3&byKF3Yzb_SQ~rK!QK9Z zp}YAGwK^Z?lxybZzQ))N`wxd<-$X>tnTHhJzk`X{8t!(Z7Os|XjF&%1SoLi`9t^EH zJ}T$T-5b>0&b?P5T>6`zQ^Bc2RRpIAd5Oq)>w`Omh|oIaX4ubv6K{F&puriqk8pPKPK_bTo5ocuJ(Z8&H1{f{vbHIJ4d@Q*f;G@TaC(eiY_eyS|_$laeSY${@H^NxxSv?+eN6KLTKHOX+W*?d2*3oe?jqo{QAc) zIvnvb=8K5-#~i&6svX?@`+$3^U7ek9*`t#C+RY=dHm?>pee`Hk$a3(4rjk|w7dW%A za2-yGCzEY#z~{%o-mS>C8hBx-c4l@pcHBMnY`Y35uRA`g1Z1R+XdOG2nX7MhjJ0rp zM!S7`aaYUC?VFr0h2L%CMvMfEj9{100GfBdeM9qZk{cT7+&$1p_h>xS0Q)nlJ~e$U zIFS0U5SS{bnRB|>S1JI<)@f^hctThA(|UEdsl_EM^Ka}AL0|%oLNqNx8}m5)7~FCG z)FJdO1#ydL`#IfE%b%-UGR z%@;4q`d(b<%T`N@E{&Ji{fXK9D#N4SnZqu_s_CzSC`kJr(!ZNK>vdT*(!MtX@>x;M zGQ!Q?AW9RjQ*{N$!0R{ejZ+kqal0#J^Z)c5fbVtnj+vA-E;{R7xc8r>y`;K)VsB_$ z&g?{hrgM8d>z<(kAA}S*ts1Rtsy3)w&AK8gi%Ki%2`i@%GuGV@YSoaaPyX;x0hi zl=V24wb1Er^V8=RJNr)cS*?(lY_8)u)mdy*|aWn)%0i!^pq(#=*NaUPHLl8qWHaC@=JrN&469`1g-Tq!|K+ z%_f{L3tzO>U}#uxmFLfof$O4HAhP$kXr&<}GbOzc@Ig#1hVW8ah?RFW*15V7o%^*B zvVe|zaPEiSC<~B!DK8YV4Chu#sL3%ub+NKu6L<2onhfoGb)nuaUb9beYqrGk6=V;`D+s~yYJFQTHpA8AN4F|_Z+%PKTH312 z`SwEi&Ja;&aBv?sa_QHx2kYMlgr~kdEAj!{M*H4<#0m)AV%qs@ubf|zh<7{hEJOFu zFyI%2Bsm&Lq6jw4(+=7Qzo@N6_(ffwqVM#dZ{3w!t$&3V=oPc3?xxJa=IpD{Q>m{Q z>mieD{>;mpl->_-3$TrFoZcN{6j77;VaXh^g+RZ}lwSf5y4ZgIE*T;aYC)w%AdYq* zF54J;Dzl+6H8z~t%p$=uRY-=td)Q6`cnz1&OpMnCf-) zw`FIh$ojhE(=3t0i7!C?pPGr(|GAAAnzi-7V)KkO7I+)NNt!R&-^g%d1iJ(}I({Rc z$K%(C#1IvPtf^i@PL#5$%qE*^((aM^v=l##meL20bG9X5hG?#V8wv2=H}a{7s3Az@7uc(&_M^hc4*Qf&`NScoL_g3(Z>W;axAu| z4ZKgS9Aq;TvWvvL+Y|p4xc*QtO`M5tX(~GBttzr4wLJSNarQLtN>580!We~oYmCaZ z4AprU-d4TJYQLK-n+=! z`(5H`)t2!M%f2G%^WKH3H|g|)!FbKxmJ0Iv7UQe(qIUr4oS57v!GX`+u0(UTl_TKD zw)buBXiZq}%Cb~xZw1Hs_D`r1`Q!rN6y6tCr5D+?BDun&b^sFeB8i23*d{WQOtG;k z@1TjQ0E=4`eE1;hPEpyvq~-fy=ctyp-&23cVi}kYf^XhoSkr*)LIi~UevoUF$OvF9 z2DJgWbU6`(wTwVToSitDiLjQiaD=r)q$8{aYw080)YK`N^@<>juojG118^Di%eapg z-eDQAhNydRNHwtF32y&7ekr&HayrDt)7DA`E*?P_xOfyj2P&{by#fT!$!8U&|F&$V zO3Ql}TF>SVj+?em%r+YpHF(FplaDVF^=>!Xa&;C_?;D()Y)&dt@Gd&yoiZpI+WrIm zwp8zYYlV!WR$moEG3|Dv+4RKe-1fp*IIF=scT%CPaAvlBaO<>@DvJF zXX)N=AD=Hp|Ie8H_I>_Nh-lAy&R6yeZvXFS8GpgDexh}s4k;(DMhS0oNp70aRs}Iw z)3}#_pAZwLV!LMXsn5G2<6&H8-?NH8%v#q033|nAb+eIT!IExq(}KD0g?B8kAigbW z_MG>o^?NML-W~+u!J#&z*&l<0Ld`y?MSH!I-4!yS|AiTA7z%2`XT(IhVO!L!tas64 zZ*T!IEbN|b8{BfV(^D_~-`B_ z-sE>@?NOv)G+UhbwE`y7e&4`b=d|HBbQ%S!T{T)c|7lWc zD(}K49^)f5$6JhN4M!sU&#*1S5N36AZS4Yn^u>ohKw($bRGjWug%wWiP;K0j%K8`! z5yP*wtutL^>njAiR;0-(tz;KFJmF0F);h7!Rk~5;&u5QuriCJAj9!H z{<W<;cv)s==G8G#Z1vHo*E@24k2!8LfT z;ls$e9^ph<1cVbASRtIq!3*I;hvWb!x~~H`Q8)?p3Ht{KCj#esz==>z^Y^o-fUb>< zfpdL|CS~MW9WV&5%dJA??msTnVmc2{cRvE$kIY=)egL}0*zE2OYkBPVFyKtc zEZ@hC5NnJK>YGRnfjAyio%anW%76A8A;6)@BUtRg=(^M>scBxoGf>4UomK|xyp(q^ zVvxccmvf6C2`vzo`biice^3&sogIy;vN5r!j#6NIFihVNtw&{S#xIEQjMI;7gzG6+ zfIFJt84fExzz8To3Zm10<>tf4nvjTABY7#pC9K=gDJhcGQG?VFXza#htIQ(>&OhKF z<>l{LQ#p|mqBOY8L5W?3aBu}?JIgAE8VC8jP1)8s6&kZb(Yo`g=O0!(iCvkHsDDBeH%C-ISHx!jyd=kd3}oYRYlV* zaH~VLh_p=PU-~i=p`yprR08s9w4e_+1~cyetaVv-2cV*Y#rtF~t0NAdjtP^Qa<0NAF6=j5{Q)~W%dY^RiFDobs98+`>ayz z8U`FrP=EnXY<#x@D67~3^|vUY1L}`dr$6!~6!0#1x#npXSAq>=7O89L5)DJABQH-2 z5@ICj8z49LI4_>hl>8Q0GpV2x`6nW0a4ljd5&0()Es=ksYt-p^PGt_lyrTim{gyKD z#J&w8JO$_Ji5PyKM!f~u zITMq}y=qb>G&1j}O$;01=g-E)NJ8Zoaqqqpu zK_JlS$hnFhg`BHMdZ_p58zSeb+m4~C*s`eF)TruZG_ON7ADpW&7<+qgt|HstfHjT8 z3JWFua)gT%E4p6wJpkTlKddA}1Qr{3-szOp0@JdL1;e8D_mWuC4u9^hkaR}2%O=xg zM@N?+grUcO#AJ`aifp3U?-aqkyr4%^Gr~Gk zR1V>9`>sYVJ?4Hezjp_N(@<9Ou#{NI?Go`B?_&`yW9Gj(f89PN-f}-RFtDZj`+$T7 z;Z|DMvuV~l1RJu5Mln)-e5^*U*~Q?SE1F${d~*v9u{0E?j7WitSyvch@TlJaOdxWF z-gchp!6v^{JIVl$dWZj#IbURQ-{+0ht5)9GCGRIa(ie+l(Cn!BOB!Ev66L~bK9mlD zSgDF6);KQ6GA+*Z-Kt1F5tq{Uw8AQUEz-``eKoFNv-oi5qjJOa3rjI zbnzn6t4M7i{ocl333WD$r^A_9zt=&(*PJvt5m3K3YwJr^y*3|UG7}2*d?gk7EQiZW z6QD|&nXo?-uP8Wj;Q9?MW?0?fnIA$&V)+r z3_&@IiYm%kuF0n0u0G>{C^<5!9{VcMi;IURHB$h?!;#y_2&%Aw#p(U7q+P%T=+aC` zFH_*g6i14I3nCjhj2wq`e~R)@#*$xvG8Qz7nq%9daj7=6I-aN(XtYa8N247$^ zJD!S)*49GSl~csvH;olY-<1~qOytn1k1CnkmRJT^9TO~3kdD})eJ@}oMLiQs0kTSd z-IYvjGxMD(+IU;jgRp{@WgR0hvJsN(_MlEjWLQ{*VDLH=vAdpIG*j&DVLeE)6A{)? z6m4#X*;ceg=c8(Vig=~qwvfu6>ki*Jn5h4a?Ee$#hkZk1UxsQ;&G@=4-NE6g(*Sq< z6R-W<_=xms@Yctw9SpmvC0W4qgkV6ol$Et|aHR`&PaW#!=;@Ku0Uswt3eM4iWDjdJ z+{a6{e2fuNyWfTCjE8 zLD8{rg}V414|=yi2XgxDEYYwsev!o&M!ihtI~wQ1*nICEQdr)%Kz@C{*P%YXm9!`4 zrp*`Y^RzRDgzUfSz~F0`fwezp`4eHin@_WiyhYL87bc~ZiUhnRUhdF0+?@FKHnmI9 z{bN%sjB~Uz-)5$|e8?ZR^5pgKrM|CcMKb9LqZk*+(MCs(UyEWJFSnwh-em-0#YlsYeC< zB{(DXAh;h*REh#4U@uOcwW=X(tEa6ly7BZkdTX*nf)qNXrOl+ht9x&unOoY zWTwe??xO{Br%xx?_o6&(elgu^|^V=KliBQr>s?;+7_~zBJ*+L)>%UIMkUOz z>voV`?x{f8rX&!?$1O?3ni|U)M@LQ}oVbN5o`}|W(7Sh#a`PIR%d`w&E<>3nRzbw; zP?^ z5s#pF#6roh#bCTVduMTWo}Sy-f-{ZcL)p-r6{%g>hS1&iPlyG!egn{5U%Z!UP9L57 z?3nW&52VlWun{^6?%cRb#BlI1Ep}B@yr%Vtst9Wqu|r(x;DzGK0686ex!Nt9mobVU zCMF?*piTPVAJej5Wj3T%`cz!)TJ8xfm0qifHr;I*4s06RBkgJBTzg>Uia($UN`A#i z;q=L=!jXM^x~3>(Z!_S>imk0ZZOhEhR*Z<*nr+dl5w%BDt468WQarckdA_gT@Azsp^lLK}f(F)Ho6|5d+?q^jakuO(8^~q=5Fv-nl``*gmWBY3BfJtxr zh4~{u)kr|#S^uygEFUnF_3YG&nZ?xOQ@G6)f!8mUx~@|s#;ij-(|HDHsKVzse7Rc$R(oSdEU zbtkXS-##`~>V%%zWNs;7lfmwQO$r478IR2DqB9$Hp7OTTD3sys15SO3XoUO0D9OHie;qes@wZ>IInd*!wU2ER2dhi1$80ifI~qtKy?_v>Oi+slZod* z)vT$$0dRKD+)$PF7rYz}Oxc7+_FX6~i;mHVD~Gica$Pw>&*l$?g{}M(6~p{iO%*Hq zz5S8x?*?yFc`0tR1}i~x_|-IZjO|*?yVHacc9wM#1zo= zzB1g)+J?BF;7KC7G107f2b%H`Q~Ei+~&O1gSo#4$L-T$2YW}}fii87S5NX*Ek?AR z_}!!l-=+lI)wrZ+Zmk%vN2fca#1z{XaA?Mg4br^|V&u?$WgsjdVzlt)9LKqH(bxD2 znF|k|It*{=J`#B|bWPdI;0m+u>jmmUM7zTAlULvRpN!dbwip|?bq%*zIX8Q^Nz5r2 z>8r)Fy!s$G!Vt6MlWIwgDe+m1Q6rKqbq*X`CUT0eY6rGki2G$GN-(z$Unj0wfpEZ# zbM{99VYU5G9X*4{bcsTvf5n*~nAu=SW}-Oz*s|j_hB>2Hv)huAijPzZGnoWg->nK# z6WEB(j!dGE@ijbOB77&fd8*ySC;X^G!dVm6_qTbma7VNj6~r_! zARV2!xo=u)PxL!gzxjvzZb;#VJrkCNv2GGfRA+oNSx1AVx|3cSN6nfa`nI<@FRGc= ze;e-%J>*qZVM6d}taoH43V;_pmziz}-}ul#jbt} zEO;yV8JR53U3z`=K1!}6v`tfI%HG|+;r(=<%k$RcQEqu~)_(7_=kR&j`%mM^X-GH= zL-PzZyT>NX;`?(uy`-*8oUqYWT82F(|GFgc--`(giyHCPGTDDzulA+J;?$}fx8uRM zYG6`&!utHv zG_KAP6VEW0$YKU%So5q7Eq8e~@o@M=Bb(I4qCTL7b5(rGEX469X4TMsm<5jvG{aIs zUVnkst&mwuozJaNMxY?bLOfGXr4XtuEW+{VY$`qNGE>S)*rk;&pN>wN6Xl&v9~F-n zNFQgD=N&1YnN9nLf?CKtS4LkjciA;tf|JR%5)iFS;W7z!Jz-R(b}yT#PSpTCl~EkaR>yxDyjLI*)5S+sah86Of1Xom{mR%3>7t%m-gpuD zPn=!n*11q^IGcz>)BqNe*pmb9g)((4)Lo4Ug))bW^=5MMU$E_GM+h-swR>4X-PzLg z5L`EPB$fWF7iM1lpEjv|NEY2kKfvwF5I^vLqjjSRKr3rj_A-_Yx7BubKi3bWJL%Oz z>vpdc?t924STiTBd=V2%&6r4qnaink4x3veDz*w>=GM-Ozs)Ut*UsHf<_(x<5@cc6 z`aP1W-W5c!TL$ zfK@G4kHDc!)Ze~~@UEaIAjsb<9>8JOGZ5w%-A!DAx`$-R7YqpMEAj6LLyJ zQW-%#Bhsq$5XDqHV26G4fv&}kTlB*rDi6gpGcw?sN-EHoh#UiNfc-`K*MNitnCqqbH|EH|HQ2m`P+;d6$qs8n+sUw;Pf&&+M> z*tB@MgHRVuwZgh;%SF1v(E6AxHB5bVWfYwL@#FGgcvooN`Gat^%Rw1X_@l5$D1fbr zFaTTOo%2W1FKcglk&HH0k2j{72sL66hvHMu#jQTU>ofBNveA)u9f)oxt|29-9X0o%HY- zr0p&8=-lNiAZc853#Dh_=W%Be1SgQD0j|MmPSc9?(t0+PS+l4ii@toMr*YT(Y8Q%S zW~lj?HWJ_S)h*Ssu&2;%F(w+DkC8IR^0^S-jbVE8U53xA-N(n{N0Ekf3~GH;X-4%? zmrlPfc!3McD=JN+g&8s4PT0b|HAP2!SEcd&CDj81*hJbqe{=JIaKs<9M7I7pGMhw^ zF&!PdHVpdTZTNsVdrTKrG=A*ijlu%pP6}_89XRFaDK3mPmPhd458wOd4Hu$El8s9wqm851Izz)Q1L1Jfd zTjt<$7bDx7K|u@-`~8XeI}Cl9fB6a@P3suV;%kwZu7C<*pPmGrMd{8SS|75Xda9Zc z`IT9L*%@!%K2|p6pK#=ipEr7#AH)uLIQhH*ELceGHQ?cJLn{CVL53S6sl93eSwDF@H@kx(91In8q@4!eoE*9Btg-vkqTX@lC<&l^U3 z?Gt`oP+EoZ3I)8|p0JJwx_!uqf}&hE0FVW=EEgYbP?Qezdx{8Kvgu49!s2aQ~1lmX^7&A}0CDAm~fFSP5b4kC=FE<2fSC z8i-c(*J;Cw*$maG9`*8@p8dr--{RO*cHHf+qbFQ5rd@ltCf=h+NK+B+$v3MMspKkm zthT!>#@*fC4ecO$eQ?61)#tg+w4!B_%LGp1<9`0%md5xRVv_ho&iGeM&%{I@^ndq7 z`1r^B?;Gt0`^Mc>(TWJp-if3tQvE=dOREQPl~#0;3#t3REN2@;XkQp9qgRH3C`XI8)f%PJWNZa;>C$3HKq5Pl*2I=7Y1B)`Q|9;&flztS$y|zfa_Av)@q&T zvZ>Ag@4eJS3l74_s)Eoaao2uE(u|CX)Q; z86gkv&*Z0y3QI>D=aYXm%}V&ZZQWdY8nDoJJRN-P!0RA%X8v;v`842uOIQr(Oe^F) zyw30GlPgz0yL24j(swY;%B|!%BPVCtv()1e-u-KGhXwNN2B1FBLft-8Qd4mKjk}&R zP8*&t0fjNWwVZst$$u38Sl(uOuES?Z&Lh0O2YCPchSvhw=lZk+{j=*$p8rAbb|2}F zc)lX*PS3RXQ01C*3D@O4XZGdvQkLF(O!H|yV{IZ=O@GtheD3S}id=P_+T&yMErMMdxbqaKKWn2@qa$sZygVt z2a)DM?>&~vNPuhJ++VS+&}7^`ahn%g95#Ux4Pz_jacyoruKJkA?UAA zQl$7UP0fmjHF}zs^o9QI0=8Y;jR_6>Z1mTIrpAq?Xy{?&*IiPLxChN|qQ$r8TiIc~ z%Kdy^av3%3<1a>{FHMnScMfɹJKEerz8xP1_4G_6i@WopFqM5g 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 z==

      5?~p$V7maPIiS0De{A>0j``joI3R8Ch#R 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 %wD#1&o>ofXB@b7wbJF)|xfpK_v z;jh=~a?i#|`YN{BB1J)k_MHqGKPFufUeZj6xCvDnt!u|#4Zv3RVyLLz&SV$|rf|D; zZy->56rU&J?fAc;t}#kt2d%5YIIfi#i%IWRfmv6~U(8LEgJXFaA7=V#aBQd>(~F|6 zIR5(+akJt4mwA}?9TSM$dJ8)+_4emi`!lov+wSzsg7Nj1levzVnduzprFiZUzcKhA zobm4IHo^N|s%Kl=7`YXpnWA65LywP`2z1T%P+`|RVqWoNC^&kXQX0hD0=PS;kxI;0 zMXzM#@zf{}k5aE+<;;#)8tbzqS-{oYBM>L_`&tQUgL=~ot8(bwXD;d;DGAv3q8uq) ze$XCYc>$W(g}^1u%Ym<6MUz5|F7@$9Sw>AJ3^xDhYicr}pMe+6z1Zk~AM#-NYaACd zMq^&q@^RpIrnsZ@7j*SW&SlUzWF1?M7uU*M( zNvdb=T=b47=$pC$x070J2@5I)I6MknJStW`Qr4DTmDR#haZy_74^*VZywS57>%x_u z;Q4I56KnuFwTYcb$W={uSi>F8ftjInBHP9AcN>fO% zz|y0e7d~V+xJs4?TJ|%D2z+5gva8E!Gs}rCLrH-(V<@`;4^3Hrlf8``I5x5UtsNRs zih_*q7Ndc5K}{vF$%m*c?TqFOa`4iY<{hk_2@%_o;lFRr6L+`SdtWT8diDVT=1AdL zZ*sU25Yv>E`D+{^g5N5J^9FaLDYY5NOf+kMILv^+4m>WR5cUVD4I-(($nQ~w z`;brEuKJZ(!~GM^L|}(nRsBBSmi;Wq{uPE!n)z(>+q&H~-+G7{Xm)yxBt-ag7*Kkw zIC0G!xtx-SR;bT(c(7$zw}3sI$*$FYbggQ)*IVw7UROUzrC|g;LJ!c(BAAfsR)->h zY5jH`F9dvEOv7OSFvA9=kNVih;66l1Pz$u$1pgd7K`qvwJmQ{I|0kP4@oMnmHsA!v zGX3=X@H;T!n>xah&FeRj$@eedO4$e3PEI$vIscjEiDp(wIGw)qv!*NV=x3N9t@smt z6rYhxqBpiVA@YaJl(>o;-4gqr=a7wYv=uRcL8tO;!q=hAn?)KsrN@nH%UIxbEMNHrS?Xzzg=ArzOF^PX*d>uXDu@#1%$5p@4_{*mgf5Ojf*1{ADFl#8aXjq5OPC0pMW%^j|N; zG~gT#YG!{N-PVsyHju5gYm)t)w^Ba*!uypF$~HRJctrCaGzh9!2I&;ilXW@Fec#ZG zu-wMQ73i8}*_}%jQj^=8>!VZfl?9N*--Yfa=L2t}1g=dB>7dDY{ zi8z1R4N)Ac8160Xu!`p8z8m%6(?<5V^>+t&PW|UT4N_zM84A0&>g<^&o>u?)t;5dX zj$Yi>-NIkizRS6nZ!+`-gmxFxH@bR|08d&C&)mlCuX(eK0eRYc9lEP800#WB{eu55 z%iywheqindm-3IX*F?Dle~F|K@OHQZ_PM0}ZwywpO<2w^-wSY=ixU%uG)(vfYNC`O#@mA5qj#qj-3R zyq`fvLvV~cI{d$Y4?rLhSw91w_=6uW{F9n>E%AEW;%bil`Rk7;lJ_D0&wQuD{Dp5& zcdyCb1BznArVoz@py7T|@F<6${8Ni?$N2jzpNRTF*$Z!Va%O=(*H_s`UXNg)@U5M` z{Fvu4--uY*zCb}Ekbi?P^=DT-z2z?u&(@NkALn~d{u}bN_@F+Ti_N&c{A*yI2J!qe zj_B}z7a64EJiuT__}eT2J8F z2JOkfV#wp01AH*5~_xyxaiwzVKWyZD0t_`5+u_y`M}c zoH`$i=%?VpqSG)2egLBnFf?&BWXOM!5?qnI3x9yvZ^E=0SH#T=VG+Ium-J5X9)Zf| zU52xU`{%8ThSS5X-u7-mZKX7b87_U?lTH;C(hv`TKX?E^{%m3rNaYz!E@-?a0oNCX z82lkD@kl=HB}qTxCk;E~UMv=$L)v*NZ$bb?K)SzAsc!SjQ=pzizcq2ZY?n4u$%(Mu zmw>598JWx>-^O@biboYm&juS5%1but(ycFt^YPjL%{X%h<4T8-190ycuGwPV`Zh?( zVs_I zRSqN*F~R73qea2)bxYfLjPmssA_vdK>acUfw;x;Z6OK9f?%+9`<6z)wMWOgAaM_yQ zhAikW{$7>#4X~SjT~dby4y7pumSyTE1geJPV_r%lz}&a(&s^zbQBB(p#Y96N_2| z75ED`TbVM6bA!Rm%nnZMXrS^~X^cUEa%sLurteCn_S5#(>H`oQe&J8CwIEFr8XeS*_`4V-W_WPspqzr zGC$mW6Ld*;Ntiz~?-m<@@Ll9yq64zi1KI+sr_nX_8a!*?(d8twpK$G56F`m8 z8Z&v+ZMy9CP!S{SGUuFUB)d$9_X017^~z3Z_zOOS z?CA4=Tdfusd!V!m;u}C}#q)VrL8j2)?@{)9ZnttX+Se;k2lOvpLIT|f@<0O$7oa+6 z^wg!lLGR7m1D93{og?o7sS9^d3FQRuK4>6nY+^IT<>`4XzScKY$?Uy<;8;OgWqw>vJWx53PJxGMAIFCRXe|QkfW)$TxsgcJ z+bhaGZvKmoT=rEO^ZRZE8t4W}cQ)(3!!_Qu58E$U>E4n^wa73VZ=WeLa2tuYuDcgj zJ-5R#-pvO{v(QU1NT*Bs3*>$eE6EG-p8NU4IGcx+Xxz=~Id9mWcP)owO2P4O9&GCI z@|(uSzkUZ3gYT=%@b6nj*ZO!3jGv%U#vl7E$iLgquCMzY%V*D?*J!ygulM6-y8S?Z za)0bq0)I0lyGk(%{&zNbUuEMf{0_roI~~7&#QGhtFTM>d4~@UMS9kD@efb@;fUouU zH~>;Je*Q!_O@3c{>b3j0qdcWJ-uTC7{QD(S`hrO71c4_*Dx`d&TjU^ygR2 zZZA!fd-{-T;AQ-F$1*=Nd+d40xW_LSG?E{j`*~!~8^U0ceJ=-t)4~2fFJaANo_?|X z+f3aZJ@5Owqh$X7&SlM&hyJ|#A!8f;{GSmz(Cz(i<70z77vb~%qDm}%cYP3xdFp0U zdZ@u`w|?<%Pd%z<9lxU%w#&s3Y4Sa)cSYsO;Cah|6=Uqt6OKP@;*UNx14e@)ij@}_ z%pb+G_2+h_@HsddENt_EDjM-vZc%vijC<#!FZC(x)SrD3vDbdSB-WkuZ!D{LFwUM_ zRT_P%AAWIuvcdNDw3Av^*VspOY((*8{exV4^n5$K82%z{1+u=T-S6N&A5+26;9!_N z^eWA;R1<1ThFaX^YKi}wrO~Ts#L;R-}=d4ntW}nKRx1=yUk)i zSIHwpU&Ao_V%V{2d-_HmHpR5|xrkCmfOaA@__$7+G#DJPpZ}X`WgY)uEc(@7`ia{e z=HBv?Xao25jXY8XpW5RA1q()$M-P*~F^t33SKe_?Bgi9_`Z4eO$ibF`eRvmtAkV)+ zA`yeQ;(5-$bGVD{Km%4Fa`O3V+IfX+oh4R zJ^Q`7HLj8R*bv$Kw?_mk$PV=*xTV9pi}cmsMCp)dC8uy;ffRH*b9=b{`vJ(u zh~J7?5d~P34SE-Ghg>(gw&UOLDDR91(Z33aTZ{kQ(wh6Z-st5EhN$iq735!t=D0!6 z?y8_h@gHl{`y~(lzlzuHnwWFtv`!1tL}?eo4uWM|XMXk*iM6QZEq+ z&=`e5)qYE}=}3;z-A8yG=AE);&>eQ=ND`;Hdl5)ihS_~}WE{{5Z&!4_E_DR;Oo2qV zGSy*wnIp2@A%A#$$@!*`c=xW}oZO(q6jfUR4wQA8#0ruFU( zv*9P?kg6MW8*9_q*Bk)nHR)VMa*F?q;ph$u`}N#j%$) zABr(@i*A-}#x9Ge<;)h^?HVx*&K7ylU9!2hLEF7OaV>ONoa|_4khsArR;sj#@mi>k z6K-VpLKmPn4=}uh8*Ejw97CM#u6C_`_0d+@XLOC-1!T*{`mJ8QL+Y=);Ei{2g?V`M z>lRp!$GQ^(JEWV^)9W0Uo>FW@E|EJ%T{nF}W80Y41p96*AMV@Qjo4ncbDIT{8 zYL=Lf%Nx*jiZ8YEfEN-$SmU`&N;XAY?`)S zj-%$va)~HU#}nMc`Em7Y$};c^46!QyW(;A(sXc+zHhT4ArYn~u-i9#!$N`D;%8y^B zwpDVAb?WQ!dAe7}gnA|d45X#jV7d(K-oxJKN(`cq*?V{0;a=0-Jr0vq&kCRux;*j^cD5O>+;hH&<&b%{?3M2Sxnl^Jklcj_%H^%xC&~D>?GTG!B}! zT_>h0sM6Ms0g?9nD!(YScme`U-MOgwU+j*=@=K4XMSzg%2+Yi#7wqH)F~ z>a>cuEk*`Qx~&Jv7QSRr$8wwKNr~sN*q+C$pUGuG`yw$AID+`@MRxxoybfrwXzyoBsNa4V3*r_6j7_o`ar-L zDPOzO9~+kI&zm$$Zuf>ZX$MKYceYnxo(Z*B`Z=t9puwnk^fTVVIj zx^J|}+b3y$joBV-@ptIA&VcEQeP%Z2maC)h0~mJ5;BexdPg*$CaM(-gqb$&*yW3(L zWM;x15xV?h$>{FZHN$Zqv948pw+xe-SJ26{Zm#2MG8ujb7l}0Z z)15RyIaH0d^PvL|R97!n6J^8{e03k8Q&TK1`Of5?i-2){cInJ7VY1haTC-M7C!~@;UPZh}7#<3?I@k(YB{$=fgYB>W%y9vhSVZZ2})s|H21vw&4)oS=lcg zz8Xs{w_*myTrFvIaT0l8Nathp@mb)V=~MTYol3+~+Ahdj*T-|>fPjifC7-GwRuiK_ z&*JxcXdQi(eG${yMZ|}b^)qqJc!+4I%+J(#5*xdYsH{=e7NwpFX?5<#tTF=A?OV)J z6N=l>escT0)lsudZBb7(%cFtt4{UK1!M2F2pAOc+;5k~g^e_~nB|WkZj5-sLM6`~7 z$V_c0d-MJ_8!bQY0yDrbj5!$I&>20sHygu#b!$`Xk!tQ`wYvh{cBwd-Mkv3~?-~hh zQhp<{I0H)@Tm~%SZwt~%XTYPtCq3(LwpH#IZXTK(j{}pw;q37y2fkt<6jbVBR6Y`I za&~N+a_T~opIzu|#O>Ut(8}+>n*8QHmr^^ev45o$He*3^gxs#sjU+{+z+O^hdPNVx z$o^AuvRY}ZclN z4+QoiUToh7j%^gZGCDH{p42IyU-mJ_U>M4=V%-Gc;MJM4);Vr60a3eMnD!;3InL?W zibgT2e$z)1>sDfzvC5N>?s?Ihy=%Fh~|zd*GVwN6Z*$_f zAQ-*Jo~8}cE3^>xX}B>t#Pno?ap;?u-fOLoBp#e&s}q)5QDkYdOfX96X1hPfs%P63 zME9aea=iBHUB{aXHBlozhuw+F8yaK9RK~$eRO4bnP1Z*Ie0=;X{NWT^KM*0@>n76P zKT{A$r|X{H^y%M3axIMdzS8G>zDC-}GE{g~B&V|45evD+EgAANOjxw_as44^&$#n; z#(O%PIrT32o^>Mxou|!sbI^FF6x10RoV0$t`h*yy<`^Iki+r!tN5 zIJosOEU5lDQvJdZUm}N9BHZZh<=~`~&@d8S-1D#PfDD7SDG$1baeG{~A{OYKJ9sXh zkDA|I%EA%nNIfG|yFPcXiJ8+=J>Gr&lp-%~eJzJQt3RuR$Ltyqheu-280t|tbT#BD zUNwwiiGU^8yFotu)RiZMbf%xf68FjU(cN|7b4niRxmPsw?A|Mp>iORK{(PjrPt%6) zcbH!I6=C43f9-In60JJaloIKSn~LZjI+f+W{l91obmGjL9iGhL_n_oz2Vf(;=sDab zPc+OeIFb`iBl__@>%Fn`E4)2mM1bp-72MSvFFNY!C^Yn0YS%peW-2lLSX)p||6+vgzB(d9Y%eEzU;_S1aLJ3q<(5$&YbOT*V5-$VR&m6JZ6c(EU%u_Af5mWT7rXB;xRnJ&%a8WPae*q zEG{yDyQ##$1Xg2UzQ3YBqHFDlF^K3nY1QG z@h%^OCUjq50cp8i-OELe1F(UqKlAVgA4xzuqZkyIJ19tYQ|(wDjoP63X?^r{V+wAf z#N~F5Z^6@=BGkyN*exRQH>$PktR?Z_!~Q8$2|imGcZ#OOF#&{)R>W4GtfL7^F@0G% zK>>STWLD9x7+f8272}F||8)S7=CtQckUd-BEB6?P`VgcDy^KOsbEh5^mVSFp6x+sC zrbK=V=b$L@2i|<%9Tc8G>CwH4NO_o;vDxp<$}s}W5frg3!LU^y5e=(dU#<{hF>FC1 z52)9J;uVR1tU8FkfasEI`>bbW&TW$Wl{E+HgTO=~8L>!|>&Pj6sZdG%V)(IEo-Rx& zvy-jp!>a%Dn0fiD^novWXFWNq$T3_OSB80<6wp=Ifu8+9{Xx$WU#y*rd>AvXt`_6S zDBR~)fJ9FwVU$x(IcEhC6h^p1&Iq)fcV@>Ro~Q<$#;?7b#dY zpts)H7a{!{v|3=cpaj$M`aT9Na9G;abH@62oC2|gC}LQy zP68<|jOE5FN1#T)^{GUOrwKzjdbkogUBwt>M@-2b_sDb1Hm1vt=$Z7H^Li7Q=xmkV)LyzS$J~&aepQacY`+Q^`Kr`3$WbN_t_x@} zIY!WWp)-|qyR$`_g`6dzTt@ar|IFrfY%4C{H;0jffH z`ca7=iWZ#akxCCI0%9F zm0NTP)G)G%n|L~8GcZUDKK531I)o$L$c46QnOqe)TVP~!M(_{&<%(Z<>Gh~W<&s;g z9V^_ZJ1ww{*e%}cm`(9mkin3y#1_27SGph}_)!_uo)kj*ONQ1j7jH}F- zB8|L%rC|+0adnn`vN?r=QzRhb)S9fN-1sJ-V=qk-1Jy&atf#k}MDDTdw#Erc2hJ@k z1krHkUg5l0OhAFgUvF^5sGv1Isr_(?k}B{F$mXOq;3*j-#liYdgG0G;VVHjam_Ht| zKknwV!zoZW@Y(`-EDqUC&Uo|-(I$IbigEmS4G6}uS}r!lu-GqPpKq005WpvCl@d2${)Io|zvti=GMn6SxF zguPj-Ru;#Kp8!)$R?E)-hJ$-;#T%iNQzpZ3NAw8t9=?HQGetJz)d^F&vr>^Lcvdc4 z#CCFPUn~G$74Lz{5j^2|bJ2WbJc{~@oD@kLAPpo7xRe-(8*6bvCGnSP7$B*jCvjda zz3HbVv~C50tO~~6aGZi8z#<8CV<(rKQU3^d07aq61UbOV7SKjm5k5Omx}G3&`jRts zoa0W)moo&%%$MD(W*kAwc=ag`o3Ug0OpJP`grFm^VbH}v%?uhc<_KZPf!&p-JZC72 z$UGqXCvStumgP@0d`A@hX4d(_s2{`AV!k zM=W%R8{&W- z)<}{r_*NRXLUy&iIpXZQq^G-_P*k~|7FJ{{-ALk=hE|wd#K00JObhig#Qq9hFMr67 zFbAeWUd$LOXnhEFMxaBuf!Lv{xeDMJS0pnFQ|>-tP>-kQj<{&%F^L_>07bzBBSC}C zZAz*2H0sqiRVBta%cic7EiN}iJReHVHIzr(HRmOm;g`nV-(4+VMPT1b!Wo_x6m5%M3^U9d;kj3Os9F0VsLg)^2ZYG&H#f~U5Mhk!TxEs4wj~d%Qz8 z?5GivqkVQV4Q;!Xsj@=|pEuqlF`r05lr3cD9{;fB8=RhE9tFr7pt9MnsYgckb2nxF z1P}YsjTCSNd|%%6yvek)PDg(RP9wZoVC{UjE6JB?v|v=!35C@$nyh zz&C1r)U~h?lFg6C6wm`HOH&?6d~~g=fJD@E(qbF9a7}G6D1b^jgeKON;&tak6#=os z1gf0w$Bm=j%Fi{`u<#@fOfP^&>^3u(zo`jb{l+O98j}w`Cr2u(#?K1YJ$GG!{b`wH zMSYbfpz6DAcn(xr$qGd1^4nFS0JfG2w(EqtWIx#LFirGVnO?gGf-}W661lx{t+I}I zEOfcSs4;}rVZ-8r6x_DjwznPBfr6b}l~ln_j}!}(1g{>Yg1Sh!q zp7K*2RmP2rHZR$zm2J}*^cn-Z=QKmjm=QgaNG@^31V9QtFlPkIF@VuX89rN}yd!fS zMgCCWT|PU;fNkoMt4{26QHK?2Jt{UaIB^-HwrN~d`{B`8NzDv-0p|q+`HMPxag*@U zbDmD%UZLS%VN&0p_D&Dq_yzqL<8?d_0NW(RVIeEaQ|aYl@rO^#A2gvAz?YRBpvb8D zJgk@27g_v2NyPVjLE)bP&|Sa(6E~rPj~cdi|0ECD$HzIa4zGXpE-nip>)96KH6R#e zz`~#5;b;AiUs=^Wo@!ecG?>f53hZvw(PzYGR%{w0?`;{RkRKY3@`ZdS$kP`UogZPk6p_xLUV7kv5-KR*uv^4tjVnn zEXVb8#A;h|TTxl(4eTgHgNoIn9aH`$zC>l$G4`csnq+u_Sl(LBEUU7*;(F8~_w8X` zTV*v(l`S4HaQ_240{U?W|^`B3^bNQQ| zR>vDJMf$IXRsLtwMpJ9|k*Sp{0H&+dFLh}B+H+M(0bHHxM!Mp5X4hyaN9UK-J~D!9 z(y7!+H942Y^lF71zjP@MJT zA$0GDbC7jua7y+%>Idlw&0~%WT~Dp1OIC-@5Oj)*5rJznwzO{CEOS}w2Sts|#))cT zSV5>(`x5~sODPeS*ZXn|?k%pEuy#Y3LX92IfpeV#AMIoQ$u2y;#sP?n9Dr+x8k)Q) z#N(881C}4-N1sGVl4wMd}AS0T>h!-2tkY7?x6+zLu&}kwU~^{(`Uy9b4=m=d$gA# z$Ym=>>B^|qn8YO6@Twp&;tIEJzUP0jy!fxa;_aiCXR*`58%~753OvpNY_e7>N%#@m zyvXd=yE)Bk(%(falM~bmcHke1_-@_-KoE8>d+dnFvjbJ6Wa~k#Kv)E?7ixkc5-7{a z2bYMJGjV2X?t>UnvF7J@+sYEV5uav`icPbJ=WB+l#(?>-xjoTH@ml0S{+TC;o3sK4 z68N7D!2_YL)4tgz0xhQRIV7P!N-A62#$+pgrQ+zOXQ^Cl@dg@dC=-uy1q*U2&tw@s zR*zW&UOpxsB;@~Ec%^Q~jZ?1T7V@{~;rBNt$STvtdjwv}EhG%b9an7|KXMjZK9z90 zhN*6zo|3jBcnsJX<$+KkxQ!OEM8Hxdn0xB|`Qr0(DpTM}G23->|~!vw!@q zt&7}KSsqtOYwrDfB7gdy=~HHJL7xz(cpkvosyfqUWHIp1ToJhlv{tjevY0)aju+yb$^YS>@XjMtEt4-F{YZyT z^^R+#blp5_vG8%C86&lRwKKy##eitn#FWa)_6k1?!b%^1|wrvjFD zBEJzlZTLY~L7EQ^NkcL}C|K8Ijt5ay(_6t=GHyRIs(twKcJP!e=k!r+c=wF_^AlYa zG>iFU2d()12P?>bD3gL#T5Q2qHC>ih#)rl<;)U7964%E~QB0>+g2WEU8df7ygEq7l zTuIT30ISHC!>sa7$`oLJR-=pxB#s3k>npi?=}PcHXfTckBBV zbpaj*{7|$@?u84b8ddDZa;Ge_WP-?2wT2PR)LB}M76BqY`?OYM#b=4~kwbG=JvHHy z*scq#4qY=ij75$zf9bW9N?a8}RZ_H=rUn-Xie$Bj!ekvD%b|$%D%Go}kljd|34JQI zu_ciE$UZ|g2L+y&I)Iqq71XkumN%;`YkYn9lxAND^^AP%3Qy3pY1#H4JhL3MIXA=YItqAe*sVvPHJH(g84t8G%pG;i_&LC8un@I+jn4d>GAEZ9g&B5B*ETiK?`OVZg z#(1T&C8Ce_ujUXwyyL%zqb&T>AJq>l{?90bt+cNWVQdoF`!k6M$i7DV)Xh`>IB*+x z8|Rxo?I2BzAKEhdLB+^bFg6CA3qp>phZbJaCIc?$7*=ik+FI3Rt+X-Dqa3bdRa{#^ z+-Cn>%qFTZWE;hF;;4FILOEh?f-Nx+b|FXKqZO=wSWn`|w*97PfaJ$3vo-2I;Sgh? zxW;SiAX&j%JhIMF__qZ?TIw9THmVeH>vf^<|6D=d@-ZHCb|QKr3&d|=O3##H;E>4q zc9oaBs|tl{JW=7ynqvBf&T_*Sk7l+yOLiZ3y#|woe!$GLRXrQ*l+W+l*9}j3PYu4* zIpVdC6Om%TlcnO>vW1(LYFkrcSGL3qrt{aPm2ohW=%$`hPc1 zD~d$;L!bJ)B##Lm-`$5!rfMUhT(EQc$vq|Kx-utQV#Zz_rh>97^fd{qBz-n69L+Yz z6#GddXJW2*Q>e8_G{eWr7q@TbO0_Jf5I{-T_n?XV-Uy;kdaRY#e?9;GPdIjlPt!;I zS!omchtOBfhVJ(gBlzLMJ`sMPe@Fw>&kN$RYZ(69V@3b^*IAGGx|hDW`Wdfm>Avpz zm-we>i;x)ouf*Yx-un9KY2Et$7aya!7bcs>W6k-oy0bn2_xcxKkz&pu{BeJ(#N+vQ zZ;Ve0R*1qxokS2rr>p}%BT-itRWYtxTpCbvRe})>QXtb<(!dERbK38{H;XaSjs)@U zTg}*9Nt-qaYo5GA`ni9Ad2G|4o5hi)a#Gi^0l2Z3jhooN%@xMe^TS}MrFIfsSz@7f z`Ym0JIzPh4Ds*vw%nM4+W^&#Y<0BR`4#0EeMPu0 zXk?PtE>sMQ3zNUTfHz(%AH8TQ@6k0$^8R8oh!vg$y z{*hn!jM0AyD@yUg{ZdxTmP8f-EIIqh+Ps#@M*x|}<2)<~F7VQvTOG92S;>tYAW6C~ zGMdw|NH4VuBoz|pWC&c%p;ijTRH?@+^F+r-@$#;k(AU&PHcUQCCua({4DMdX2T`{OJJu*d zwuyH&K>S(o!v5M&ztE2MU!44ambFc$UVDA@drh=&Gn`EdBn4(BJu6Qr}S{Or*-ehCh>mE~?OKx!#f!8bx?Cj(L3 z&lFM#7cr+52(lf{R_5%QZMf+rS54>kS}@^U*$(yUydHp1#MKa}Hq*3_A}5v8cDH&IkE;Oj=Y z=|nXw!HQK}H+2Qfm-B8%0Zh`M=J6%;pV^`D^DR*5vmu&t+0nuk?NOG`6^YuXk}@(M z3;u$F-Tfw~P$is9_4bw&e-vs)+2BWPv}-i?9wHELdwLl@EmGgCM48_CkrY9dB{4i_ z(vF_H3Ka;h$i{wWb(i)dAa)v-ZP$&Jz?LKC(Ygt>o9<0O+ja2Uj?5oNpsfqJ270wl zKub!}h*o^>dQ8~x$FpST4J>Sd2>5SRS%$GqOgeNB*qz}oesEp;}1PE!V8 zTJFdT?uUS^RHa_o2e>spyd2LRiUao?-S#6abjtfbRT-XCmL}Dyf^6`oEg5_*ikw^V z)+;axIlSe{hrV2LSMsgV@=<)Um*R*%&P+vYKxI{$&4>69A{;GI%VQp{ep8-tL<-(uJ#V?o*BlJZV|#puVs zyVD94U554?A(d9Az+U8z?GCe%$U6c$c3TG26}SgO#!pI3f^#d1XQa;E?%;p7f@fv* zP~(7Z@q=tO{#jEEPh39|+oyQ3A{B=VvA<@cF09}52Qiw1O`OH<*K9}rf4}qT!WF$B z?7c&I2dk5*S&|q}|DLlE=uzGyHUb&!`x)Ih_gwoiAmN{9V z_KXLm_5l0g=N1@SKvq&n$0d#d(2z7KKe&jh^C+uX*vsXDXJu0&RP2i}W$&pF5Wsc2 zZ{c#=ckQ&zedq2av|bM6XB=*+qv9VIh@tDTPO0K*Qk7)<6tf`XvRsAsCGl9&Ge4bON2aq_Mhyf2rf4$t@D+`I z{qH`D!d$Wouq%(x?q(dg($mc9C16q%F@2{r)Z~>vsx1*Q7*K#~)JW^4%ys`W7M};; z{`F#k3Sir3atBJ_HRdnXk6V-vNmAsoSNg=Bz+KBT?mBa-LJ`G0OS&B%H-vY@+Ssv2 z;#idN);wLe-m_+M(;mseeKkKT&dlfz=7FH>J0_Ea$*?CWr9Ler-IK)zNChV8YMW%f z#9h=$?;;jXOuRcwaZ6=`>)!H@`nZPwCt9u{`kGg?!cPRpgsCa}Fea)h5xbxS`(O9* zZam}qK#7kh>Ss`e@VI=<=M?|tcWM|f!2WG9kG|{`luN#QXwF)03Jx*x9bftAI!fIc zh{-U}lQM3Y5ORo*(6Y^;$$AGzZvFGN~80WMK2CP}ylnXD|c|NjG2_8OPSK}9(Zmg)- z1ogp&@%JbDPH|tc=VY%Uk~Q)_z$QJ7E*2CNW?|m8&_~>-ITjle9L3W{fz)*Ld7KYW1 zH2aD%q%^8WJK+y5la0dakqVIQW3~DW<4Q(=woQpaYWPJ=$xQ*&izl#fzj!%h)8b|t z`zLQ^kUY~x>;$bC*(dU0S1CdbhZmK1hQ&MwOIRlU=>jR4i(8&FuhW~~b5 zuDOILBBtzKb?h^b}J-ub7eJv==)MX0Y9Kz}x zmlXA?PAw&E-!wppBZitIdM|}@4v`l_;u$NqP;R^?D+J9CI>UFxWXkw;;Ou=IKz0 zjziC?1SQForsFAX?kmu{NW`4b08t*THWjI7T8$D}%IZA2YMB*yJSU_~ie#!nR#Lty zm)|^wU}QscPthQ2iH6BE)MU#pD=koa3Hm~Vw$IkGS6Iz9$ib))m=-2Nd0jJGeYS== zFIXOM$7oi+#xPs*(X|7JZDY7%Q~C4ndg!o5%XA+$2RkTa+=5K^)SR>TagKB~ zDl1=nI3hF))Jt;j3S@1xNkcWLiR(c{n@^^j=yf*&~RU+*rYzF*_42SR`0v~G5H=(KHV@MGObh9wWP<+ zsJB(5bea)74P4xUadfa6lfj&=D?A8p{OM9yh+C!OQdh*%9UhzEyd5VM(y^cn{{)t| zj25Ms*iiU(zM(BEPL458t!3kwWnFH*JZunmOzHKPAgEdX6(rQDmi9X1bk0+s=)SgBbvOfVEe*s z;bLnAw<$R*?2}U6-GhwFVuRr>T@xc!rI0t-a7?vQ!=Ypu?v}YY&?z|#EOmP)YslB4k<^k zA|x~UBn4*#c|w=!g)>+|RrOY~VnaK`D6JI@f?ORsssOpF4H?i36M<7`WsosMXw7)C zRWatv2tvQu7zMWrEf=Vn{@D}=*AiFVg1V2g$}2^&?&d9=H7~Q3x;9#Y2lB*8cU6=R z=L`Rk3IMyttjipaR`h^sTZ|eFAz+Y2F{I1EyCsiA_q}UdwZVe($vbiDUg_@Ch-O?` z@*H%+Hh^NcDOYrm2Iy|4U{uB9UkaYUSFRIh$@WziG{~6$S+o5gSxE*!DFqi~NOo;p zYo)$DlV;YphUBT7(Zzp>Mph()wui4uEQ^GI(jksG&g(q;Tp&wFErLkwJ?H2v;(YK< znM>V@W3tg!B(Fn;iwiJ^H4Rdh>s+wMG*cMpqjX%*)hkE2^LK;L*BFiIPU=_1!p(d_ zmP6)0?Gl;`-P`I>P)a_xoaz(<$Qi}|50AvN6{LBU0Na}xx02N#AIDN znnI42$Sw!-6_dtG7m6de5@ec`ZjkBw8{)yY+ntSsXzR3INM z&7Q**ZrNCQjptVhuC$k6I(dl;hjl4$+`P zm12dD3w^B72&?y4>+;~9&9-GbvD6Be6*Zw5jy+OMB+-2a+^Jc_S>KYW?At6`!&btMXzI8KL<_CF zFYKL_I_q8$R=7n)-Jz9Z2vkzWO+%UpTySmGQ2c=6yNe0iyyRQTFKH`GD?qD-Ey!CY ztr;!B>pWUwTh;SR@T*26U$gSJTv)WX2wRt1UHLNcU&{Kw&S35+Oj$Wwo2}0IkY=&& zufeH$iY!|+HnJ0g zpBfklW{5G@uz(tM1J(>{^kH&wmtpY=9ID?2&+Vh31{x657vjEGrRR!)$*ia=ro|0b zVK+c;U;l~!-3Tn4{SsTFxU8A$#8%WT1gn`UNX6k5+byr^7jHe~7;%84HV_zC>&=V> zkB1w-J>8EC1mjcZIjiA4qg~x816m8kkZa*0n{tX_DuTgJjmysLa&&j%ns;D65l zoc=ldbIk8~4oINeTYV{5$g&#;F!eKj`f(Y2b7Y^e-tuoPfM8S2 zLak+??)g*UVlG$Qo}%U|m#<5*rkt zgT{n3+H;kNe2&XlIi1en`;~F+{dOi|{R)Gz%fd{sKLbI?yAjyI655|wx+Tn)CZD~O zL4A0bX4|xfd_#^6sQwLL(A3Z) zw%0o1hm!7t6C&ODheKiGFu>T5*`_X8#w8C<19udws${-|==($OrgoF4)07M@q$2xq)#=QM->-|t^8oA7P&EKoo5+_V)&%V8@#lb{b!z{^ zgVf$a@@HVdvoTos2Vyl*?=s!MfT=hcF6e*&f+y+)i@6(heEHSTs*!H}&Dm0nRZq}f z3FjVUN59EsOVhiK8nHRa*W4TJ_K(m90n=wuE=iw(cxLc{K|8l227j_dz0D2hPn~g0 z`vfkkWu`ReA$Lp?a z{*}-A|3^;Q0$v5EyK8a-wnGmhMR&{dV6cSjNE-7Hk_MHi7Rg-N6aiN}IR9Rt5` zvkd2IGbn{YUv^!Y@;!BxPNPH$j9$L#H#YnN3|5{syj+v?p5m=hmRkh!J!~Be$ej0(!9PI zpzrRobQTSOS+m);uoEd7KCALuxa~#LRm&DKbADV{8#)WA4J#n8y0t6XIN!y*79@`o>|(SyQDjT$EHJcbyX`V%UrujOVQy}&pJ58JTkBzrS}7!*whDm_ zawl;{m5k#|jn)sKa~Sxo|+`B?eoOJ`PI;GuF0bh9jseJ+O<#E2Fwpj|k6 zv=i;`9hnnG+mm&@8?*|1_bR>O0J-=03R+5PY!Bz)ngYxd;6ZQG`e03gf25QGU%F=v zp3&aGTOorR#G=^c*i`b}fU+r`=zIF+t&9I1ly$8cXvb_Sria&ay4%X*qF0A!nbc681cvVD>m=@VuQ#YKOQw1 zf)5Dm7AnLC%LcC82o@BUJvVy4FJ+Y?ZOn3MivaQf+=|^P}<2XdsvO}py{^fnT2B@TXu z^IQJGyr;8BOU8ro49LZn?ZT~E?wBc z)0Tdd)H@pbIwx=?aX(2P>*@CIJb_zI&X4XEefRhwD7vlBLm-DW3h~AKNZdRBR4HAH z=HGA@#24r2?^12z`!n$vPkR0J`M6ii(WO+>o*kmsYdNhU&g12`7QGvC5-2|#+*2W! zsM$XoK4{J1u=lZ?i#Rk*=P(iwIa>2V7$>+s-3XFbG` zX!5x-2<_>cEu8w_PE{(G3pmBob5~zmV@j#W!Em5)wEPwxWto5IRS31h`gq9!i%-`aH z{9sb}tU=#9U(fkr#PGlH>u!|QX#8y47vH#*7%9v9zw9hvlC`C5^qkM1Q}jRR`SGt^ z^u-&}7d#v{{o5tGXxZGq{wH)?(_3{5dZI@W6An^=}&KTKl}Rd;?W)dJn^SY#dw4Le%EY_?kz8T;ih5jR+BgW zEb90m^|;?e)0bM1Xnh4Wfp7FXE=Tcz@lOc+dVpgQNj!ND&&0>Frw38|NnHJfNj0y_ zW^3*}@kjM_@7Ii4V=acQ6&+eba+a8P@y*x6(bMGog!++4T5B0l0dskY5Gp zIR6==3*z8@#TT2il==l;dzQTVMn}tj#>?@GRSL8GN5)|Fr9TTEF(AmN)**ho9~Rim zFPs;NK?3p1mwwshFw89;KWOU4&lpERV8nLj^B;!6?fhI`NbYfc3-NqWxJum)GCy1T z4@u?{aRlSnT)@G-1`_%k!ylYvrw#FINZ#5f4G`q@S2v{k0q*1db@qPqz$Fg5Rp)@{sNln-4vYw=OpZW6Jgq)g5jR zDv?w^?cH0M<qP2nP2XxK21u<>s(@~)kC7p4H~ zg7P?wimb8mPda)bTm{ysE$|Vo0eQN|Sawew;ThjT=mTf6Zv0`xp2b)*2>ZcV+xo%T*5|QkL7^P+ z@rBRb!xp*T?HRZ!(O>o_W7XwhPg_P8=tJO>uC4E3?@@pN^bfpLZ(Mt9-)>)+_9_?^ zti1UsS44ieAE-z6`^?>Vvf*VD8SnBx)q1_Pke7QuThg^X_X^V_Z~9?B#$ri-yzZo5 z?_XCX&cT0s_c#}K#>12U^1NRs6Ky<$A9VWI{{wo@lDCWY4ek%M5wAyu+g@HY#Z%(P z9$nebrdF}HFQk*yhkvlyQ`;KvbHQuR>g^C@k=9nwLC zzJ1l{I4Qdr*=$WDggujk*A`PbMDg(VZAK)Nyar%hKPtH4Q?4r;6r(qsFQ1bC$oclEiN603<$&!j?KE%i4~g| zM|D`v&Jm|(EL(MqUT&M7Wuqw2r?I2fQcohF2}RioNVwv5a@hM+N$jwWF-Wv6We1Ou z>QE-k9a7`vM+Y{9ou_-!R^Yj4$}#QX`qFja19*A29$U6Z$L{KAfDy%r{m z6NMQ{Jqba$GzXraWgbXdh-8|>U}*y4Q#TsWyC+lGDO~K?5j#wjT_syKK#H4`OuqO@ zn0P*#E|*PAH=$fC(Vlpc(BV zEnt<_M+%Y&x{q-TM1XYBCN&MNrw07Z=;ZaIMflA|OnB{nlMlEN=AaIAutcuAc&tu| zUMkExljfXRpVxPD6LC5)J+(SdgQv5x!3Ybw)OJ63hj0fTGAp08yUoA?1IRFU*|^X> z`-3`zn<_f37w_mYQV@F~A+g(5(C#XAoJzrZqUjcCvh=iqK$@z0DN1OGcI)QLik8{6 z=CX0gQtc0O4~+GpF5|RQYr$gZFNQ{(Ehqyg7PKSP+V&Q?Q^{dnZ}0V%60UvfW~-Z(*3GRsR2fnc(KwV zu8pPkWG(%Dna|Y;7Lx`3%*=qev+sQi>8De$r1Ol7%@TLUwd*$-yZ|r zpO2QeREb;%tOy~qb0@rICwWzY;-x`vLZsk-xovH`M9dqTM;qfZjfl-E&BrvI!clJ^ zFv2j}mHH#rAoi2(==}vnK%KZf>x9i}JX6 z0cNo>_B+&=x=30TDE78U=*QQly3EUFH7VF282R3bjpfOg@D6|4J-pyNYp!z=4`sNi6-pVy)UF$1R=MrnyWnng z0H(~S^OmGL_ID#gtb^g$+l|}A&_ai1nP-)qVsh}?a%Q)Dw9T%o>!`4<+qDtZS~XWe zUn5F&wbn*#%zH%NtUOMlzukR!Ud+RS|7lx8RbhCp8`PL9*XeW>vb(p3MlFi=2(_8( zu(s|HoDhpys!k1YvyT4cnp#PAAH0{WlUXTuGL&?G&EBRkh+8YAM2eha0fm8QM%kO( z=l8R7nSFK~LVhG_U3U*M*E{t&)Mef-5n#L8oWCxqV>mG2Odta^KbIL<0nNL`TT3ap zNrQW3lCb@KK%kVMg-~%uzycT-l;Yx?Jf(aexkb`qQfh}z3284Vb2Nq~iQbfVi7v?I z7@dLPac_U2+Il$eaauZ7J9Pl zD~P?C2dC|<=et91<CL-{}@ac(LU9?_}PRw@irG3iVjdo%WcICUQg`$QnLFy)j zQcVBR{55W-&??=qYl{rSMpCV+nsL$>0fb{-fs`Al6>LqadOOJJx&`*$i|DF*>de@+ zW#c7VzCVJ;0v2+xjl+rVIIC{wVW35Y|J#>=EcAHvju|tu3;Zbjwu>%HhF*W?gv;7e zZ!9CD&Lbu$D!0cQjGgN_q+ToEohX_dx#{G$)57qj=u_>kI#2!dZ;99LL!0#JfhH`+ zRm9EBys<9ZZLi^un>Mu=7A?R1u5|^?OxcUv#1aDamTX%8uA=1@{SXAUUiTE26?%rD zqATN~KYZ05K?SC?XiNGF=AD6nTLU^=Oj!TpO-mC8yA9orbTC~+-F3wOC=4~4)T8zm zn1;G!G`Z@132iLsA`?!>(+sM?$f$8O19eRcw#8P^`D!Z4K#FWIqCrY>8GYV6r7_Hb z^faX=0#)Po+cgQpT%ZaX`FaSYV)14L>M61jt)z3Z&v4YQ@Ejgm>u3ep!LP5?gV;i8 z3g@$vMbZpcQsT;lCQCO#bKH3hX6jr+Yk=e@0k)ql}XD@*`F>(Kiy6`;G*bS2QOVQw~2t~K zZA8z7`7p4pdoMd+j`oNDyjATeF*i4Bn0aoVV}Q7h?qK2cPJre#iGQG7bk_8e3omAa zbID*79SL8tlAwqseU6=AdmTW&_TT`_f^5PIi>j>NpakcYplG-FS|NKS_ZAx=&0kX+ z`TI39ijf)Nka#ZRaEAoS(h0v$31hkM)XmTBwOK z-fL26hYXpZ!QSm2hoNF1S>Js*BRcJzLD z)F>uPGIzIg$+v!I);hqRX!+6)xn&&G3VIa$Gx#FGk|>mtl;POaAlrmcE?dTokixD$ zIxiE~nPAP6)MD@CU1Sr&*;Cd&JW!!)dwIhpO_>a^Wg%%rCN$Cav4%9J$LX1T6B!F@ z2awhovvYON5B2*09Og}ZTodyg16o>hIG4btSLVpHEP9?zX240i()|#Oc)`mJ`#Jlw zcf5HtUhCwoY6KYx4LJ=z{A7!lpXQnZJqq1ax&|n>; zW1{j+T>hgd-6ZzQ#XFIRu=_O_@Sc2|Sn#2ph~l^HoM<~$qVg_S&L+8wX~~X<*#uOh zA*_tvLhmPGOxev7!zJXbJ)$Xm2Xkb>mgDa>J|Q$c*&b1?vrA}j%Tq58s|rM*)c~+h zq{{m5kgG>Au}m8_?t}tJvAUhB+_GE3YXAQE7EGU%1oDN&4!dqS{dFRMDZ!v+MT%w!zlBPX_Fj}RKV-_#V;ql_F{ZckgK={$}l zccW$qg*F@f#<}qn@^-oxp$y7#U1M7{>9P?x;VZ&mrGFM*>)5snri5t)GB>;zVuFpj%G~vaC7-@%4{FBFA-f)zDa{wI%pW( zx*=;qm&IUq$@l1%B-0vogy}c&embzuH1Sx9Z_-mim&v^g3MSEgC)xcf(3t|{Xnot(B$K8qazEy;r<#$LR}!BYp^G8^ z!yKY0lONyozPcUV2}%8oZ#ST=AH8U0bAfC>4_3wa^54u-Yd^y`EP|BlH6PY`)5W3k{^+I> zq5VfzjHG=R{Ci=vktuvp&4xCx{AoHS105=@qXKLFJm*z ztnsio8I>p=P|E*Be+7Ad_@9&m7`j`K4Ymoeczrq*Jx%~duTZe!DBA;x2 zGp@A#`4{ppp*_I^{&z~vB7XBpsz3QHAyy3f=!c)Jh5moUzdkqlHT(GIuUEA5{hdK@ z{GeBi7Nu zDTDb;`O8$!lsr>^m_eOSpK&querhy4(fh6;FHi>bGJ@WRh|sx)-1ryI5{lR{r|G4=5Vk{s`30Vv{n8I*BEaeO2uMT2 zLD?p*)NAob9zaJ@`AyXAG*=DZ(FeNNIe+qTUvrqyT->jJ>x1?Ob0hRJD?hZdKg7_{ z`|rW@|IZb#&aVuK+9#%u{|gw1+&$(p3hjsmTi#t4<@&t`Ujac377x&wG#8ld!ygl) zR>pteOQ-Eas|aTEAAVlHmM3%nXG+KK;i7#TZ31^(D|Qs`NI8M?z5f51Kdk;gNvjB+ zzJCFst8*2wSh*@7ME#{Kb}c_-4Cg9TW787)*1pZ!hx^zFh))p22R&rtCRp9*56h$3 zSqc9{FYU?qa=MI|V{`D?i9cs0Ljz#)G)V`aE9EM&(I3Tz=aKOJDM4p(0rhAk>uR}v z2~oz2lb~4ja~6j1KgaZu1v2@+dTasNPWr2V>;v>l6S5YUttIs{!i*L2>BpA8Jmg!g z^9FF=d=@Den*JJ!cfpABPJWI;^+XYIW{3ndMMVX{+x((qevh2+U-+=2uIAKvn_W*V zljK8|2YzVjaVb;W_y7M>jA3#jU#A3BUss9=NF4MsNVJi8D{3NQ~g8n@GYWqilkJ7yp(!e`{L#R&a`-{RfLA4fbK+^H@o=U*(L0z$|+% z2L3zYu^X`o)K+n^BqPk6`aw-0J9|B&K?pl;=9KhFy zW46uZ?R-_1Zxj&Q|CUBIF)h{nlxyoy6Y?8I>m)Ovr~`DnY` z&WkOPqvRd8rI;1~*tSBd($ia^q?W#des}#tWL(M8jgqk=ahPbd0pf4$P|YyV32DXq zX&xj|`TbemA+ffezd;l%|Cl}daiEM=+8@f!dMsBM`JD+Q5f7VWZcEo=4!ilbI|yuq zE>ZW!TL|MMr6zY@E?4t>Xe=9jVkFo1Oze-H<7U*LXW5~vRSlkkZE-9p!A!3suvD}Ers z8(-BU$IN$F;6i9rkP)uu2ers{*2v%hw`=;M_$wqGfZ6W z7ZXqeoFh4p3xDxE96g8@Vs>xHS3li7;)!#lD9hY4GY20{)g7_VatWj!Fms$V&T>sU zPvN^A2vJ`IFMoblG)f(o61k|ia|dh!cKmXz!0_|kcfnb_YLK9Lj#}=Z>JDd)vbB4_ z*b&_cX+Yk@1CA^F3tkDY^{@LvUX~TCZ}} z@sH84eS_}B;IRfLDOkUdi>4P+U~8l^rer2Ar?>Y!!+|2-0@2uEmWSC9&3%Pc0SAB& z`yN+3(JDMC`f&3k8o-N%ZoK|sC*}&y1+}azP`t98lWkd9{Ma``dv)w`F2$9{krA>k}*qy^%A8j z%4+)MLsy1kbBI$e5$GjT!$f;jfB4=Z)RqO2jKHsF@UracK;7g2@P!mdjzpO0kkUng z&UUyo&2@9m8H#@NtcZ^D6)a3i_iJ?N4?qumOSs#`)0+jZXJ&@Xb3^qa51@eup%=*= zcy&tmo934P3HZAY?Kfa1qlR*mlgOt7B*=-s2<9R-q( zn|vT>Q0N*9klrD0LtmX>VPrOyF4#&tWtA5*sP2oEJ+3!|f)pfs7X5|3%jJKKBh57_ z=YpErF`m#&kuu(s1@m6JC?qH-jhT6(8p|dnk*yOJX9Oe+GHbT*sN&s~UYL89PCPhW z6aCb+k;0{(*C?jx>hq%Px0uBSxxlRwo)t!!XUuZf<@3AIk-b%J!%}}TO0AaDCmCMh z3!pe|a&)~c`8VE7Zf-b@+ve=?h!i#S`g2;K%rA(_Lf7H*=w2_$fX;cJ>L|jz9hfW~ zpzWzJ7Vwj+_*8cOVqzEWSdbcz*AeU>tUyE1R-`5_yKZvtQr*UhlblhmdlkFH!oerz z9@BEoCF^j;>kIv88b@2d0>-5iGXu#_32mH8OzZ9b_3k`W5p zq5Ue*?V;zNJ8-IySv}y*slG05UG2QEi+x@BjOhcILQg8k)CZsAh+;j{y}->e>yu|B zDT}u;O=roA6hIwZZwt1Wo6=s9K9w;OYNiY4U&3GOob{%6cVUC_(-Sxod)}X;9{Ad0b#_tuN9V1nH{val(u z*##1I+CjbvjFP4UtgQ^iL-W#G09wo8Go! zA>Tbi&Tl8&NP~Bbuag5g$#$~ z!V)T~6AQu0;?^tgh^iMdAExEz9+)fwIEYyZ`j6iQ#vH#50jyv{BLy>)L+tQbs$tUO z+MpW(e|+bD6|iNM74y{{T>_PNL2DSnHWUl$T?fB*%i=-mx{3G9o^IG24S;k%e$}B( z&pIPz62Kp7je(vM zkuz7zH+14Ads8;sal0Ucp$L0#A`*Gv5wmCdW5m*XXSf5bom|Fv)gjSA z-OFvP$PsKg;v9WtVbRj@QNEHWWoId}%`yjVC`Gj>>kI>Jg=#_R*x^;%gS7;|y!Sc;b3FzzpTyj&FfCR?uxC0uf3`{69&3VF3)OC@UNg8)wE}+)n!~MF={~lD_vBB=(TQSI;H)%8yX8pg=#@;{Rdrpr z7dm;6{KyZa%-3JVP8-H#TFC~_bENN}m~0Juc691l9WM4bsDtU5c@n6h$z+$g7aA$B z?`a~;sd^VSw66HM?B%|;(FntKn}?In9(XLB4|jaUSS(}NqwH-?;oo&=OsB|L20x4( zO&{agWR1Fcm#ZyA)ti>mPs}N0YJrHa>vqFrbmK(DEIcoH%ur9ZskL)C5P4(FmIQU! zw^Jktnq|(#-#iy;f^f8<#nZP&pt*B)NfSKp9F!fZ95X%h29E9MU+Jm~g@1vn;JEX2O4bQUhbG98e zuyUPog4^8DF?l{e)q%_d+Pnkz@2z%vAuNL`4Q&~-^(m-0$*gwjte@Hj=iYltYP=6a zy#sC;NRHG1xO{dr;<;FFtPNuqC!(QyJhZ@DqV7F6BHJ$NpdAwMz(A@fRV4TVc#Jzl zDfT3JeiikBPjvK!X1g-*wMUb;ngPaq7=()nsCBoqAfRa{!W+p`11?bCG@^&TNuIJU zsFt%?6?aT9I9vt9H!IB@@|0gRCQ^y$AcptOkgDlaA~^Z3vzHUd<$J$b#_!sdj&MVIll0^j`!7MGFv#wJu9= zFh>Bnv*B;SZuC|x844#JCo;6X=GyL8QRCv`p$bse!gcj2IMh$vfpQmxG8l&T3JA$9 zWrGY_PaoS@H)myhNJQ!lEB}tw+}7UH|E-c^=x5+|ZBX#cX(Q)@ySKb;d4xX?A4|S0 zU#m4riK69sd%qh^L(no9Mj@Ww*TM|2;-y_Zy%5S?JyOpUKcCNUcWT7j zy>J*fO7r$b{yGCT{?!rbPC{*$?A=iukRWO928(K&S{12QCDr^Q6*H6R;{z=I z)bj)&Xf24CcI$_(=#dC2{09@ul@eh*#B^AFOL10tu8sRyF^eY!ld7`;Cb-*u{7!D+ zR`r&0lh@q3!@*@Rw9RZ#SRt8(Gt9U0>oYMi63Lmv^y&oaXPmBEkL)N}b=A`l*~1VSxXERrTpR@`1{X8|{(lx8g(G z*4tAZfabd9cNMbf1ASu|HMM&TdeD6{Rhs3qu5Xl7VYYr$4GuxL( zbuF9GvooGJ-~(A&wQ)mF`)@Pl5R3zv(I)f}`8A+*Rt_m5C>Okd^C3yUFUXB-rawsr?(f2>0V3I1= zA!VsD+5N%@`Mh6sClynYJ;0i)+WkvA*ukMZ2u*BVxvSqXLOo6&8?=GdT~)8av4jk+ zD7)PKfnmKi%ws%YA0k-Hd=L$~)e?B8zx$>=%$+1RmvyHH_Q>gn`@~QIv+WkFscW$c z9;JbH$Bn5kVCAbhk0EuG=CO8cr~A>}uIx$bXgeEvvXCp@m7suRxgcM8zaoOJyN#`0 zIq>c+<&;-fpJk6uW1@7R53xoijHgn7;zMA$D#gRET;|!{GNb3bTSqFgMo$_$^ zE_{M$##@fWU3+_IxriR;$EnddZFgHluX+Abt$K|u?u+Qx*UQiwg;CFsHVvb0o9!eA znbyofd+Fo*BKG|E!lkq)XUTH!BA&DD!SA;zL1!S!?mt$;vpc!morOjYiMEGlXT6w@W^Mu6jtI&59A*im%r?C*6NYb zN1Mk$3Xj^w5oY8%Us1GSpWpFS#{>AmA81H=cw*A;+Ac{KNhE+@KVzbmG}Gt8R`rQg zOr_|i9P_@Hu7c%7lbocP>g-tv0X|;0n+Jb)vH*4-vA45HptzzUpRt|m7MrV_u#Cvl zr3K32#9ujBaS;T`r>@P^d>{223XkmYL{!*qdl{-1BIY2g$+4&#G>0`U$|jM9Q?uP^ zu#J5#lv|H!?p}`W@6R=;Lj}ZSWYscLJ%`k$wuDAH8>1V}R@PAxUn#yM2f5R;4D|Ka zsL&mKyW{fvBBx2tTR(sRNufSGN)7P{)lsZZM^OrO`!-u?-FW(RE4LGMjzRwsUL2;{ zD|QG;1gedE1Keugdq$5M{t9D$L!B$HxVh;#Z&r9-l}7T+=q07|zieENk8_2Wo{u&K z8dW*yyHtVwo(fCRnLaqpZu*6WbOS7xCuxJRW${c$6p{oP?b3K3l}Ag{oV+F*k1RNU zFf8EJLmZiB8pQ_XGx8krXXnHu3BEC>rJqz+SS?HQe!7`G%?)#7UCz#+HPj4_%?u`q zc*LvnZ4Q1%W;zJuHcgpSvgi3B z4rjlsMFsXdJLCAgCP3@aqBHqm?*xmKh1@9wv&-(r3luybu-OgOntuNZP*!f+h{jLH zmgUK^S5_Ad|Ef7_zVtz$M5As*5!y4@O}wCZ}gkC}QF+7s&Ev z5uutDGAs(2Z2>U5CZeMKi?$`Qd?`6B*=&oO=n6#xw|D?T?Hgy*h~$d;mje^eWF(12 zjBoNgos?NQ4`)SvEp9T3FTjrvC#SDx!b*M|y3d-#@jojkTFvZd8j`HAn7kFqFWRb$ z>6oLCG=642%{>LXjbb+QRr;-O?X_qs5d)ixO0IdugrbOm#<99M-vnzf{V`eXN;x2I zsk1qVy2MjTf#Hs`l3o+l+3~u8qcaRn${~r23BELILcKLsLRNl}KDNzS=FH(QgaCLZEPf#jo*2jAE!`sJtglu%`J+$!l5zsY>?8Z*tWdkX?=g*yx14f}})3d5QDG`cWMtSa{X!@L~q>nui(7cjA`JV-ge~S$uyIo8GngA{NHiqUw>X zj`|||h-K$73~b2Y*fiVRN2`~+61y^Oc!r6iPQNL`qFK2S%W+OTQky>u&qy$qbXCt3 z9KWvdg4ml#*CR9?%mZx{}~vEGD34>^y7V;#^M^X<{A0=kVJB}Bx&$?6Zz<;FC_H@{r0>vJKJ5IElg;6c(^;c;_Os^G$=yOcY|JcY-rYq265(v=H zLg}SObbrNb5r*B(y@(y(oDl(1ad|Eh%<6s5EWU)Io#Qo*_%~fq@9Bo9uZXfhaML__ z6}{)6Gp%RQX25Z7|4pk<_IM0Rs|US;|3qXN0!+auyreXKj>NJe*-5Wtp%1@P<8eDJ@+h~cO8Z3nEhw-|Ep-@7o69GNN_z;A(c`s z8>gIztA-1!=e$_%-hBjq8|LD(QqCy9yK-sIQC+CQZlXpVu{-M`P)MU>%WX>|%`V}G z^bvJ=<%_`^4jj1xfCTX3(n1Ty_-IT+57Ed2ebE0n`M@h%xv^^-s*BrI246hj6K}1i zyE0r%{(F@*HC^n|t^fEgOS(1wU6NC51QC+h;u=5h;35p4Y-u}UElUaAtJVdO?z5Pe&m_o^dcScCq~7+TQA>{||JKnD zVN|(D`r{(FJ_0Ki=ESH5YkrtXX5Y^1l^naW3Z#)og|q-BYDdDIyZcD|9S!&SvrMpO z>!9X|@C*=g?hGBpztK76uzTQ-&R+Jxdz7U)J0K_G-0}C9ArJsiz+VC-H6Jrrb-#vP zGo$syz2`_pIAD#<4S#>xk2u7!D$zZJKZNkEf|xBZ#lAAFjaWTkot?XDJl;)J7L>P} zjhT=e+hH(PXjERVj={m*ysmy5nzNYIOFsf@Todc;WLXVRY}`k2i`wsy#6MUNtIPj} zONY%@TaR|e5$^o^B&|UFo7>)cPZ4xF@A|i;JQr1t=I2*rx=794TRia$tsEuSuqEms zZ0O{PM4LK!hg>;7m}Hpg%ekO{x-|r@2DJa}?Y}71SMx@dJdO8x)=qX&Bvtzt5VbqX zf^3;0_6-X5!N%J=kzBwtCj19zYq;K2H(pEdY>q~VLBi(@?N)paNT$7AND^B$50+B* ztQNGOrg>Q;6K3W{Wd&$c_tBm~T(u-#0{UEH??j~mjRgBpYB=crc%xO*2Drq|#Ahf( zJ2b2>*9hdlTaD3huZ$0^bR7D-KBV@ZB&Q_7Ghs8FbMP9sE^rVmInyHx%u}tE2oYPQ z`76hp>395~BCfn0-H{7e+j(U9i&$wD#IB;%<((GKoc$kI|A6B=Isz_K%mTiMX8)z{ zy9*xSvBW@JUO(ONrCOR;%LQJ0w5cw$6hkfMjc+PpdC zh7{j$bjQ!V2w>U~j3B1<)%~~NHx}8Mo5Cm-aRCh%+V=n+l_B!QAd(H?1G8&r%K{_z zhz6s+L`ZPoXRU9Gkxk=y%y&svyyn(RHn+Dam$(73+NZnPHIUs(i9OuPQ1dkA56vis z4|V-cSc{4>tkWzg)Kvw!55yWZHn>F9o=c{L1=2Gill}ob9Fv|sfL2EDcc_A#S-!B%(3Xv&E2Z^JVOj8SyJ%^nqmk%c9+FYn_OrJFZQ(B}!Mf-g$9bjr9 zb~&XczA1gpZ=dcimH?2z8Dx^jHlqrQ9&b$qodzZQIdiuvv7g|fJthB_>XnNY9})8W zImRUatbSJu{#=A)8;nfi&)JDDSbwy8;|5Hx-IKTh^2$FmZw9)KHTvrQ1G~FZL&p}k zFr+ndu-4t(i|(s`sm>9O-XZP619ou2PhOsD2l}#yM57{vy7PuZ@>J_;5q4f0d*Zdl zcM0kKK+n+bW2%w@fP08h?Ov(`%d|gznoRxHz`uK~8asNYTD|Qq31$AHzln{8&k@YU zj=MHqyFx|ymc2^%_ka<5Y;Yjvm*TnJ5#$ErU~uGgLQCZBK^l8kaG}etE?{;KoHisT zUETB~-k{NM`HTd`C8A-glj-Hk< zYU_Z<)kf`QIm(;8`ma$&q>8Zc-7VDrEHj($zzv`uj2K1YxPbh-UbZ{G$zNs9!s>I; zihSK6S<5cNBkP>;UoLFuTA)0+d|^J$m9vbOQxoplJm@_de`iBODwjV-sikW0-^LPP z+MU6eKU|~qk~kdnIIbJrh`!o3HFw8fkE37AC}9 zmfpL6)spAoB9vlo>i3ejEK|qE@AmNqeNF4Um|$+?t&^qzkBXeI;W; z=3i{z%rC~!^>aCNa_+uFov)rtpS?xul~eazfJz%`z1fb^A?1QU5*jlKkdNi6+}Mht z%VG^7QR4)0P)#AEp$mZBuo-Aw!TA7=y|BbyEqz^|Sc|8Fgo6e;^ac2Tkg&zDbAazI zKm~)UyVJAM&p@FCjJ$>dWqi+mN=%a%mv9=sk#}z zpq=$lxk2DsDs+43G)kU)ZA{R%fBsOcG!z{0EjeK06gQU~P)LshWoN`w`PJyQ`GLj4b0U(2ggXZ!8o5jaow_X;?ls8JV z(hQIPwP2V@?CfQMR0EJZpwZ$dpz@HB^~qn4eHohx)=fNWAD?I?`XNpjo=U63Huk&C7W7kcpmM0oo#Gz zR*-E*{CdG;D+!o(1JP%M+GVZjy9-CgLU;8xr5gn-+LdRNu56|@OJ{%d+~&WLa00n6RJfyIUje(B(Ug_Y&vgnSv}B7dBR!b~0* z2=a9_9pn&aTwt2Otc2kLebAMDzo3b29)`%Ak@KHn>XiED2V4FUg)2Q$eU^)C| zvBx+ygWS=^!BrfoT=KZfZ0H=W!8bPWv6gc^I(HspNkCS9(Hmf5`LQ*F3qN!rT8|9{ z^wH@q4*Y-2K6)+M^vFTc$7Uo>1nmcL&2pNOBnV0%#sDOVc_$Ph0VeRY zFpyCSK>MQC^koWndK5pz zOMO)CeeKr;$4tjhHNI~jeYGsl#9MD812Tj*0Pg$djhzI_Kh+y#E7I$v*->!R13!dU zVy-{`LYdvfReI;_YLH9o%YX%}$BKYI&rj^NiqbRyLGW!Z*%z(S^IWoN;RR}N*-OB6 zYhadDN3Y&Zpr<7kU0irYix9Q!?qv{MoiD|!vdew}{SqYbn-7-z5c2qvTCZ4fuXA#C z4;cMivv#oVt{uw`Sx~ow<)OfZr2k-%HyXx?SF9s%$G^tq7I=@Da_Qfv@k(;lk#mWp@cSY^g6*m%)-PNqF z9%XdhhrKSahCEfLz!BYk>E~^@Y3DiZP3u02)`YhAyT_;D>*lW4o5A-gr|jPryN(AgDXb>{4G!7M|J^QujMAeMSUkW*L&Qxw=BjXWV6B z(K>8CUb_-`8rU9W(9XM`1Z6|Ue3g51m7 z=%nRcv>(gUV*#1B!D)Fjj>WHWQW;OIH7%2!`+&Z<^V~&=@D`V;i2`&TPqRf@4aGD!Md=ff)3C=4Yq$#f&P7kS@vH=zGyR*wMvW? z6UVyuo*6;nxlK==14w~~ruhn{ID2U7*@c~d?VUE4QYP`zY1KraKDPRAto#__l#OKr zlg$&8Gtnya{R&Y#UC~mSd0|t!I_$C(Qnp$@5hg@9#G2o!5ou=Lb4xVJ7ox-)k=P@7 zrmQEX%s?z><)Q=uaeq=|<@i*qbkgPCs+PI>jC#z9&qZEnzl;oTnNwANSwL;Bw(PW_?J zej$V1kw+;S@Xck1P^@-R(pnAgvb3Em<5enDE`cUl#M%~3O@7GzE1*t}DBYTtV{UVN*CJeNPWDNcZi0J?YYW4lsQS#Ihs^g^hod@!R7sZ}cbaZhORpWN>U^4RPjob~N!szS{rU zR&#A_RV)^vAAc)E2b=1dteOIN>D|_>%T5q#kYm!UatNAMyq50FhD)!%WUJ9{t}{93 zTU(J*201ryoVGC@2ZtfKN5SDmYoT-GyOq6Bs*b*{_q}YV@5~3oIwW^LJ7p1pS1(gK zb!uij<~6N*=(LWGq2u`L*xQTochfO_wOy2c64$7oyD!V0dvxpl71;SE@q-UM~3ZjD^%DI5{Q85J{D2~v- zVCNpEIVA{j-Ws<4w#lduQV@dC%d{JCCzR zHFi1?6U$pw&4eC3i=OG!LFjC7#%}-8l220a(y4@J`)DjlQgO#?(AnQsbcN+tImw#l zZYRxwnF{;8EL(3ct}9W#9_75~z6uj+(RDq6*_#*^Gv{04^BjtKCkcuFT#l}xGD(dm zM3dE8^Y3QpQbs)v@;#9pMxrhI%%;S0oj+NW9BK9RFbyatXIvTvBGeJ8s%*5S21p#i zbQ>(Fod|8h05d?$zvs@_Q?Xt-IJE)KUZjWj;yt(rDVYtPdva9~W$js~gf3k=w;|j$ zD;X>4&QKEeo4A5EUD31|)RhlP$l292b;OxdF$S8p+(q)&p}<7} z^Lg5$TOm*Yh)0cAD$IqNZ|?Vs2d3H<1;?t+iwj)0(Agqc3C*O|AdJ%^LSXRz0ax$4c8GWRyt4imbfOD!+s zrhx}>H9g}4F|A<1^SI-E>?a8sq4nyTnz>q^`aTttqn$)b;?L9QrdeA#GRsV;t_Bum zdU$3R-B>YZd198iBp2ANo`KhX0WEiXRkM?UpNY;Gri?38;4P!5sV0-^)U#o5v#K;% zW(2s||Hc#P-Tqe7mO{CdrYD`*M#CZn2M$(A73HOV_U-8PDsK4ly&d6d8O; zL{Z^A8t$ei1y5X=MUGLwkzz(Rm&$QHIePbY+yl=UCo`TcF(+=<{hJ864MZ>P7!e+o ze*=Q-2rbgyy6Ji%w!pM_a=~R~w3;Bh<`~?WvXA+IEhGql^qQh?%8u z-j>ac0r%}DxMnPgM@Bqz+wcp7I}E^OVyN~8qBB>hL*WOWD=Ngr~aD;R)ysa zb!QfPIm3bgZ54?h_O+&4SK%u|Q~Cwh9A|tQyy+N-M{YeKrftb88uk<+46f$k(ZQn` zxt3INYav!XiU?38o4zAEKv7z;oo<3FwOX#`VBK6icQOaSdOXj-tUUX>T;E;kQNekk zZ#LBHazzJD=cjafYbXjulq80HG0K}w7_~aFuDV-Z=&`qRxg0|6%5NMyC4Jhtfa=%> z&Gt_DSsn8Oe`ovxO>Il$u*>o7@N=AU%+$#DVN6NLa{5&A&72w=T4WlUDppjDd=&0| z=?C%hVF-onX6kq5<-X!->&q?$9YJ(_IX8p2Rgjk3kgD&BT1X%>mwE;Xv<+@o2=*-X zR#kuGt+-=s+yfnU^p$nBlP>NJn?kaVSZAXrJDf|>&>}|ER@?E{Xxg8v95GabreZ;e zF}gcEMXqqnaP^XN)epW^4a<$ceTQdk0*wpm^fsJKijkjr4t%QXY2?&Zkld|G&a+&Y zqUVxgg6zr+=FHt>7jBUsJ`i0IIev+Ac9-7^SS*Q-U0zS*v&|I^_h-t-% z6!!;;1$7%~orLw;#!kz>b&r-=PfG;&S`}>v4M+re*&zTOMopoKSX+t3%jwwTlHr(| z0dyBL2V1@j7@Pv-ZAKeuqr^2iC85l)m}!@zfJ7Q+vW-aElW1*2!&EuC0ds&x%E9 z_dxz|cTq7AxtU9fPT03h%wUXl$K#`tl$rMKMLe3pWwpfDZcRwPA$)hqFgtxBfL50z zP;~n#VUY_{N=@MQ#cUd~;n62-oSFR`5jrH2Pn?O@q7+g_LkiAs>pH8MO>L)P3wky> z4&5%>1kNg>Xxm^YRO1dmkrRgFu;7Y zkU|R8_Vw`P!V#fplA?ND`}n{)k*sg8=7|eI8!Vv1knJS|AF6^RukV~nF{RH}$EKR1 zLiB;(?eGs1%Mor+x@Kg)kb%op{))F1AjCXW|4*fz9B~aUDn~PW+1e;#vrXkP1AQFu zB6Ex`5a7XedNXkLcvLt;0R=d)TNcrh%#*?&;*Qa>>risaclH?N8g!Jcy1D zjm!b$6kx^0IKW6c9UWNm zx69Y{bW9jsu)4KaN&%mw5CDr;;-u=~P|5DN(LERSnLQ_k1sH+6HCJ#z^DkU9Iv(;u zohIEX@x#ZhXKvxj>#sp?-d*!8ge_RLv?yqT392jj?Z*M`Y{WBv7<1fU8$7%Wf(N8h%Ce{~ zyNI$NOLBW1`jORL#uiLB7zV%=+HgSOV7t50O&A-M&KCgfxwBc!Wonva?wceJa$6We zXJNIwAlZ=FFy+@txXHsN0C?5n@qK;QNk!zndu$C~VcRIXn}r6ocd)w$sq3CI8Dsv+ zJ;v=TZjy_v~mdNQ>s!Oia0j&da#N(1v;md>JAPnw%6QJ zlDS=ep3emFHad)le=dY@ZY=BGm~qG^sZ2_4JzOvYrkkxNbj>146pfy@kaE&WAZWlv z+o6VN1r{TCL0?}2n1rkpVkXOLo;f6uTDJ-~QY%CNs$|YigQ422U=r1Ra6)PHmgY8* zq1098vK_M)w^eQ`>BYe2wG+w%ABs^881UmHWZF3SSSkvDwJ@9wu7W)=zJVRkROFbP$hv ztZp)Oekoa|E;gA?o4_I6PfEe~!icsUw~sDQAG*NFqT~fxX-Ze~LuEXcq2rQ+$eGMm zNZX{_T8-!SqY2#JEu?JWoS5?*v_9`MlZG;X-;A!h2TYI!a;DXjw#_;tGGCDcv5czQ zHs`1oAdBHJZ7g{Q)UHp{j>1AV{zcrRp4hF8v%xz7<*RRr#kof^YL70_v|gHw;e_g4 z)f5&nU0gp3Z=W1P>OjxQnA#lT2v;Ih6Z$1 zL~Grbt*T$alrg-l-Uv#uxy{Kx&6#)nGOn4mHlSAx1ra9gwZQb#(Cq{SSt#j@KYblQ zqs&(+bh=QR>AiI@g+{yl)}Ra>TjugYk5NM3YUtTjQS1{fkB3eZYTQ!Wj9r&Zmrrvs zy9g=|jgi^cC=W@!)np?HieB@a5j4s-wQ#mJ(Le#hHau1T2 z9g`;4)9jyi;od!r}(PfMW{cQ$3|Hd}AG6 zWd7@-c-w|hi6w@|x=(b0)(JR@OnF$Sdr$4iR&^WQk=-D5#PP_#{-^Eq=XQ<8++0yV zh1v6YN*VK%&i(G2=rs7e^rqkGq=m(i3I_uM69xaXXK1)zVol#?^A%$m z`s%S7?u=%LJ{E;;oxuF2y$)u43v<4>gJody^gz_uvW(Jfv{da&AAzCm*Vur(@~pqq z4zm$ScP7(92}kFw}x)f4F5 z_^ha3qSkaGZjm29Ihf%cyV6peif>(uj)jz|8+g~gskUV#Zu=MbUb^0cd%wL@X@Z7l z=G_ z-16Lv^@mR$9-JY0ajbUjlor;xFFvB#EWfQr{9@Igu9+mLv-D#L?o~5EHP+DVWJT?#w#-Blh3emN7l1kR%i$R+YyHC?TR$$5xAPTlYVQS21UR;wyShV*=IZ5 z{trrg9F!?183pa>tLvZ_ZFBUu5TwpyDTOamRi`w}y zQvh@8DQ)Ws> z0O~R}ykv8HFP%hb;H}lS7|rNHX{nQR{4?umL{UnnGE3>6G>0!JZF|n)mVkuPa?_#g zFYE>qmTZD#s$sxmA(v_|v7Y3Ni(fywDH(&S zYfw1bhf|#Gs}S*e(3Im=#EE17FI z0l=yA+om9GK#EFJi50o zwO9qUd6CQIifY2rUuc9T(1fcxZ4laz5DVI7eHS>5 zLM?4sX52{$W3a#i?Q@zRq3^?w+n*?65(&6glvzWhcnmTj6#8bPVXSy>&Co<-gx1X+ z5%bcgv<5PX_gsplqFya2-Kg-Vn>M|@->76!px2i&LXp1b1xl2u9tF!YaffK12(~*e zp$G^^P>wjcO)iy%%O`xbt&ve9+;@X%bBY7KL($!YF}|D$h!)5*xQqa$4^z?BSODIi z+>9Q0_e*5ARi0&;=5DhIo*{)oS`%iCqEJ`V)7>J&LaWMPhd+iir6+7Rg@;QHb*{q& zn~%X&{I=x~)5-GbYGWljH%ZKJ11hHsqTy-aiNsd478%HvG)KfAPYSSyD=o<{%q#)D zid|A&n%i!a=Ihwu0b5tfkJ)-Mm6skKQznY$-m{d7Em2dO$kA#BZGDY_39LL&viq7u zE&l*6$m1noB7poYV`x3x#{295s1OhU0000206-G}08RiHZv-PFv857eN>nNpj8!UB zsy3-q2!xC~629Py3ZI2kze+#8kwFxGKk%(hrH1ilY-VQ4XaL|20Q&)Z-|n`n+dH>% znMnXNn=c6bQ(Fg56Zy5i2J7wn6(DWxo^!0U?R$xmwzglF(bn$$Hq_R;=h0Y8_k&nW zwXCs0hPc-2U~mz!bu$J6WkfAAmI5V23k)a(g;*~S+{9YQ4F(GvLjVu}05k(oMpgwm z=iB$6neJvrwkRn|i~1>o-U&j41flGLCp4WW>Yk2xLgs6>Ha?$R3)R-~IXh21m7N8y z5qPE^YXHf`2HK4>#QI`Cx503equC;pNF_YAWq?+=$4DzSx|1YEvZ+3SFKm$jjAnC3|lK?kjp z=*1-5T$pxCiAdR1+~kyOCH|E#O$@MPuh$wNzpzKAQGQLX~B6ez=NkkAq-!Ob&@X=?uJTLXyP zolBL0wO!p7STpJ184WE?GMb{Vs~|vWs@pewJS8YExn8SVoDg&@utczwK1bC+WE1eI zVsu+MEL4|}O^jVEC)27E_p!kRyAZzMarBuX|qw zt8|D&hbT@nRh1;0oUQ<_IBlqBmUXZZzt#7$Tupa$ST!sJ4~XX)5kt)wh>Yf|B32;xp=x$hiYX$7 zreQ!v>CnS9#bJHzR)5=08nh2^G}7{!4zs%&E3Od>_m`SITSQH$QAp)w33*_(# zV@Xq@Logl)9WqmIm#&K!Gl;8z^}dB-ERneU}xWR(;8kzAeQ-XANQb?Nvm3HoWkR#@+QeLKhAG?bLm z?RFzBl7AsZ9pvSV7N%5QS4fve7Y{E$tz=_OKerk;&z2U+^=&lfe@INcH72JSHJ0QP z(p`0>iit=5tA95@S+R>psj*ev=i0m~DxbVyS1q(O6?@M!t`A?2nRD#YYkT>Fj$}@Y z-^|(i=GZCGC>c&3ssq;@WH67j@weyS@39bhk$ZW=l;DdZxg02#wRbg^et=eqM=Bsn ze%w(I>8D7=6TLeCn-#(W7kL>Oswo;J#24bca~cYQbLIy8=Rd$gKoZF_J z>bM-F@z`75W=P{5_of5gUjrhOQ`tb;?H^f<9BxkFX(YQa=N^AV@?U&$3rVXI)IaT= z&?yT6prEVHWws{8nmsv_KvQ4I&z%~izL^MSoD?H`LUV;!cSLl}`hE-SooFh+iQQe6 z3?l>>m|AMiualhDi78H0FYGyf_?1Mk1bAsZLw07vSzu6T;)Lii7xi zlufy0L=q#L_hj>pUc^!C+@|Ib5#TXiu#60vu84|i2qAP7i;`~)GKZ3qO*D}5k|Y{I zh=5sviHLf^<8*}#TL^r~F;7h^vYX>~_1;)^LFC`L%qXt)L6}oFa%8b;L0^@|;%3nS zI8~sB>EKLcot1(4%8{B^P3B1q=L#WQG7i`}GV{iL+u_$77Jpau5#H2=N=Mk2Pp+2QYIa)_37=AE^kFcI(tw~LosabhUMu*^6*#l;aTIukOg3` zwHr$Np8|cmyV(qd26&mejWn<}BU=e51GKS+|2js7i{uj*j_s-6y$pU>m_{1C!Ig$gljb;gXd7XpzIxlREo zd+_M#JWS4+^I@393e#YS6grgp43U(YKjFPs`+EMd3KUHph=K_-kKX*3j=~VYZKc3x z5phY;^gO%HlAhNzyY>SHEY4&nC5;#pC~s+A5$)RJnZ2R7;$7YXUhb{V4CTzoeR|97 z%F0h;A&%IQT6K4?Ubi|!5%|D`-)Wumh0D((W~Korb<}nlw{0XaTF4@Gd@ypCtB1;_ zEVnpfTExH}8{O2ZOEXV1qxmLshN0cBXwzcKc=W?^tS2IFijNd(!F(+z@Us1I1L8{E zV^VY4Y9Rcp=Ibpw>hrD%IO<{38Hg7m3?IdwCKJ0!nU6y3UFGooM{E7ZEY}RsE&@&p z^ZShb6AIml_}?zDKfWtR;j66`KmB4XJS3j~sSGt~svu4|11y*H8s>H|*QYoq&cIlX zJfbTt#TGGi^BX6nR}otfC%TYz$z95X#)4Vt^u|LcJ4xt)MwMe zWm}#4CH^#3<~1cA!-T>fL8ZI9MI(2urEi>FCpbew$v$V!a1ndaUfTXqmDcW(I7Bp@t1< z*jT8|czn)z?utle1KYqQZa94ym%LW(J=d{o2&1*h9J5kIWca@Nz9AXhTf0^#sK6}X z8SdmsM(=Z!?NVO2gLas372sWcy4scAJ{{GTIi0(_^;W~1T*;{i6t z&*L$%kn{b@FKt=RzBFkJpf;t`yejR&Ke{8`WP}fxIU2>(2r$rvnMzEA##NF8cq!`5 zP=nN7a<4V!Dy?OA^&u=L%SW!>8~}fQH9>R~H74ur%v3Nwk;B}iqq(*`ImAX<=j=iN z9$(9NfjQpBdg~j>73j?1{u}l$cS(TN&%fUwEt-M5C8FSI8BAwF1tq=y8<~v2lG&_| z5A@k(#F@Jeei*bcwSXQJ)$Pi5Q-I1Z>pxQ#q==1nn1Ehk(z-cx4YkHyV@bm|Zl1~p zA{@(zpO=h^-+9^Df<&)~Pdq(wStG@#kY9H%J3l;HYdH>h>ye-(1; zw<|k>%x{}dc;q(4OPAundTh~Tb2VXYSs;dHkr2$CD~;seQxsQ~@#o`w2(Ou;Y+RSX zUwCt5_t&!f)DaZ=>(d^F{nE!ubb=X+d{HC$S8+|)80qy4^K|R6&MANhx)pG?U!>qntTuP+cUNvn`yVFx++jnU@9;Mzj@ZyYNi%*CuQ{R~- z`ny9wrAfs>Z|7>klo2}MusNPEfUO|n9eb=H@`r72c)yhkQI++fXI}CTA-_We_9x8| zPooztllBO1*Iu#ks3S{XI4)FR?=LEui+j5W7H_LaVfBKaEDR zxPihNpprSBz>87%i>UJ85~WsV{vQSLIoI(FUy0sPjVv?Va!Hy&`u7$t8d;whW+%t*A#kNHu*M^4|a z%MZoNh#8xO6C5qMFV>2=$fi05q+#+(lB_b;w@lntl)Gz%KIStNCjI`=Z7d+_)u0XuQ zv+wiDx*##0G%{gs%7+M)nSX=_{mOQ$!A~IK1{Qusr8WM&wP|O|C)KI$zNQ16jX>LA zU00Yim@>0*_uwGpMe&2~igNpbdcz%H#rGP!4T}Acp7!3zyK@&*l3?})8}D@F_rkpc$e#t2-+X|Qf86Riz3zTdK$%rl zukNn*{1(HSIvIolu}snOxNYR69xp*?H|sy{AdCQ#HDsmUlVkEyiVq8_)8$W>4DYHG zx5vOqCZWBBVcQgxRg->N3RxSD$Z$Hx$P@Ecbo=#{^z_P!o9m5Ny8RPhZLo>1h|Z5l z`+6#DrFw|h-+qq(YMZE#GYf9LcE&nJ^ou&0jsru^8`^8}XFYU;9ExW5NrDy6qqy~& z=fQGt@XCm|1oujHQ8_S38VM*G6sTQ)e>JSVm` zwgw*V*t)Qqr(JY_x%<{;=e;(e1|C93@;77iilZhKg=HHgt1q&8?gD+&aU0})y5{@I z%41!wUA`IB6jelO&w;W*y{?hy#gLq;aN?@Yg{l9J__hjulBH zKhX~Qs$-?*3U+8{ZrO5~dL<5It@KKuzJpYsoS(;4;p6^+!4EmsI}&TBHm1<&$@zfA zaS6@0M)rnN(xXeu zC6g!>apPxL;D&Y~ziz<4+R1knNt{f;e$@cWUtx5T57&8sRlmdCLuu^gtEt;D_xkvA zfEFnFQ;za&I;#c}FPqj3jiUCP&F(~-J3!W=@%PiHC6OfMnebL@&5gi4&K**zhV#Gn zY?@#LEnNvlFpCPBEl`DS)u`A`)QOED51+KZQHJVm5vTV@3?Z>*sEWG20CJs=+YYk- zdBWZGhj9bp?~GSVJ@64mj=B3p(i6VW-xQUKhaOu0E%U649r4GtHoYR$-H)Lnk%aHo zdz&z6LWLjsm5*1tf>Q0KhL(m8&a4S!2<#N6czizFhWR9heVyy4Au@6(+(lPk8U59M zXq>Fy9UkgBq`lz_MOF2TkbV8_s(k*|>-2T2S55^eVDxTeNWA=A3r$VT2dn;GJm0rd zKrMeC32q0zJ?qWDJ(|-|{k#tDzDK^C<<%#w2CaW@u6?i{_&eFRQlTTUCR8(_;ZsU{ zmdC^2D3+URW@ZjU>)I9NtxYOaTvapbbkgfc8jb9Zm=b8OWZH^HIIHscB`$V8-DT=);gK-L*^o-vIdcSI)k7EE-92 z%L+J-JP}8DZ^yK)2Xb)t&l0;@&wbJjXNJ1ZoQK#?I)?0&y&FLz2jsM%of(iT3|O&4 z@QKk`bGCEK56i+*1z^-)XR=Dm8qjN#xhu6VCkk$;`oSdna06P)f9F9isq#f1$l*bCLkZ{nBt)~a}j4OAGEwb zF|}WJ*vi8e9((4h0*mjCxHEMp8{W|%KEKy<>2Y^qt|e8J&x4o_yi@bbxFsMCUZFnh z%E&H%dGiGHueF#)HwVZ=mbxKOEtu6VIt-R2bQYOhPR8by3bIBI^@Jbf-hCqFwHp+v zv;{YziK5o`9JeQ_T8|9!xh0gSg_Wzrx(sw2+>3=%_YYSD8J_r{J7&)*&o>LAK}bJ~ zRyxvvJO{(>*uTS=Ire|tXLM7tGKgM%n_o}Jb7p$wrt3tpwhG-z*5j$UcSH6r2skY} zJNiD^gCt!&YhMq*4_WAO@%s-2Lf4b|ZeTF}E=cwE{wBC9;}vDfbZxx5(oZ*c*w%5m zjQmse8@bmb&F`Nkdi?r5Dd)4=HE)Y#tI=DjPlA2HnqVr#P$H@!L)PB<`?jgSJx}}< z4eEEgsz3O;*V*y59PLIQ<_<^3i`9VjRAp#aqs_7Ob$Qq&r5o9Sr!9v=%%|8k@d`OZ ztq-|Kcm$@-&o_u18lp2r3APCU`_Xym6 z>KGa9>YhTnw6wD90_FX*Z>iYy`rQcnxZ(GE1kEii-nJZ%zm9IO z8Bwy5*rJ#Bx3@r#T?288Sd7P+{BD77ozrP-y$Wddq)f8{@njjYFj$1SRy}MPv$w^E z!BM~=1M1Q!!I>B(Ki3SxRZHi;F$CvqR@ zU8fsh%znWJSv0N>$o`G(QZk6*Q=N%5_r+bK9e4GQR^}i|x_xfT#{3uxAVFf*yMSv= zR^q?Zh`+}ukyCP?4U_=)(o--l3@JXPY*{tK0-_@<0N3nH(-axrhvffIr<@qcKNB<0 zJY^_}@f85pz{Gu_csGF7(Redyz~PGChoDBPs)tdMgmSOb>-=t!g11=h98uu&XDhdW zh!CK?3j@^r|AEPAKJNkx*_OXICchVi<7XnnmVS)3BDQ$8>M(j<0Wp?`kPxUN#v^|G zypJM#%dfcd!<*I?LDrAIm#&>ZqL~ZfA^*jRPPMMe>V^mN z^;(nEOQN`Z>%*TPuu6o$w5$5_1NwsILxd0V+sAw^(^oXl%SAt5@QH~`{{GNvh{Jvs zEI*BQVyq7zWQoiDCo?mP`SdB0(xwII8_kmVrOF>k|DpBjLqLOZH^!feLp&J4hzy_= zlnv}Bbv37b7yS_QxW|l~$7lnaw_;l)88MQ}E0%)>(1&fj-E;Xj%1FPrRqrfApfh$m zbU)d*gq1@?F#iWOvJvak~fdq9_jOPch0%?vRJ-&py5a8rD&Ni0D zLKi|8(t5%2*(D-T2EFyxbw=h~PiuQlcW-GjOyUan4NwY4xidI$aU00YlVZlx?J|b^ zRNrDfkz7Sc@ZV!Uq#WGDSMg`H&C#HLo77J0Tie>qNT&aOWnVo6%qB1NcUyxhwSMbU zU1Ir}-1JregPJb^xzaCg9p0m=TyXP;9HPVw*m}O39lEZ~zM7#!zvN>!?j!3Sa?S5} z4ZLOAO3et4&x5wg^+U1*%CSA9%ci_A=6EUZLf!?T{PL+N7<{Yj5%kWF{1}ij`ElVN ze{dznnQ!l8#I=I&;6P}_9^c$uDu}SR9vOuppw{iya)0ml);~z}SXBtQMmwd z2||S2N9js5`eAmqy(>?f(}s@LW9DMH&)d>wbSV{kbi7bd}kq#-Wue^ z?`K)(3BI(TGVtIDb$9@gL<2js^xZ8viy+w<>uj3-AAXi2boRY~-R#_!Eh+blp{wKsQ+9nKU-C(BOX~_Xn;%bei;|AD>>9%q z?dE9yv$&}9P##O&H0azDEn_VAMuD=vM~`bW)}>jqOo712y-XAwR1-E@eQY0$en!<( zo?#Pfb=KRbvBHPDqbxC$AN!q`>&eGITqm)UVFQrxS(3n3nomC^BvDqHZG> zt~XlfOy$IQp&s01!Z4oS17!nOv+?JyEz$;R?>V`KM+akLb2iitYfe#PsRZIZ1|40G z)~3uiDs~K+tr@$hHg9UlRsUiSb&rze?z}-$DrT~Lf$@Eqg2H?&dmWEObNvSAx6}Q{ z$CS#nzULjCn;9!#Y8V?92VECqpLZN=tWWOkhI(SN01Wmv&6T&bndcmiB5~y{9l`!8 z=qzij6noD`LUb7X49((b$b!5ydJ>s(l!*&5Nn;zx-PEYV?ok&-lnFLSK@J$~S2+@J zEkPDc_UR|)U#@?#jos4)pF;!|E%o zVb&31+DeMWs82XrNqb3s4d8YTi&E0ZUGbd1RbfsVk!Czmw54u~WxN+-ICQM4*F={B zL3v_oL&R~rzC(W{0j?Q``!9G#5}?6$ZXrlXR?{~&+f9`oA&&XZZ8^*QG7a?|M0{og_uhjZ<|ua!@0NuZfH)OF z8c0su%n6hEHR3C67?+KLd%w#cTyxV#h z@*NiJ+mPm3rm@349gA42JFI>as2WF$sv+B&ZX(n>FV(?HR(3k%X1A11N$uho$6i#; ztQ6(Ojp^Wbw@OrAC6dfTO3qgUNT6dlB>}q)B;20#)k7i|C2riHB;sA}NeC??D0WzuV+@LK(?yNRVO4~^Evu-4a2 zRZ(Ii|M)sq%UR^|W2oUqI?5CGCWscA5V5bPX4glXc7db*8^Hc3Eq*b@^ee$ zvoQUd+D#V`7qpDh^NW4I*pje|3NE7VFM7&1{q3$DfSsI&O4Hp_T`r1~rRVYw@oEKD z$l>~`CGHm~Xu$W@lr|JvP;F7mB0k0XA#shGwg{d~`*Ep~wsB=>r#j?&WYia7^+>Aj z%B%OG)H4;O)T1SfV0-Cz19AME`*!|Qee6Pm#Q$L1&THL6K=_!_lJ9KQxWp7B&w2%q zz$G3R!}CyWDA6G-+;?UC^FuZ87qdtiIR-rLR;1Lt7^I(OijTUKj(#>Jdv=!5M*!f-nKxo(a+x%$8eWtK%$ehg)R-(i!| zM#iEOb|I2*99J3JgVP?VJiXox4TVlr$xF;!L+DZiMBSUPHYnRi?^daQmBT_S(_c^D z&5=%|namNmfbDAw5qc(4tezcA(T_yg{_FxExcP6DV?fZ{BJaRO>)c5u#Qq}u9C3ai z#MliO7vr@2_iT`yqLe7o3nqDi-B6<4tX%#e-5};(Gtj&m|G3P??{sc*kPb97ALfo1 z>_O7A`{|envU|{N%ES{w0^q6((tLsz$Z|bG06^ryrGCT|RFw{g{J5m@f&cgAN4~#7 zZ@3bF^AtkL#dF6W%l}TguwjW{ zfImp-u?eyRR&?W!EdYo=Sd#a?A@D*EJ>S|V*7t@aBLEv=(gI`)#K zk5>C~hV-euUM1Nhg{O(~lM;H@@?y8lNxDT^lEz}P zI4>4=pY|BclQp@T*_(Nwa$Fu@`($05yaG|_77&c|U;X6)j}d2%UEBFrjHhPVhv1uU z0Y%gg=DjsR>a!lfqIC7*5;(2DOBAhuK>}!}?zu<$+gG2EZ>zdE4TR=z-y4sqUB^VoD7(WlX72EhZ|LyC)vl|{6YOn78WvFZOo%C%> zAia4lXRccESfjoR*m;`2{AUEOx#F)^u$h#;{B*@b2(I6kKzc`~aR|WW*?&{oM2z5i z7krrdl;G6C$a|sVQ=bTTk!c3RV2f(`qc_IwxC5A_N^>JOo$zKN9kd z^fci#HFE#ZnA!SVs^yvPYsGsQMi^eU(wW>kd+cbJEXg zNxElShLh%#Q`I$n#^NIW`sk)=&)3u#&8kZauj6{rcw9SEVB(KUgm}RXQ9n-krnZ;s zcT35I`jX4vv=hXFKWp(bj{7qJ03&yEY$nId%d2d5+P!;~`XKKPG5M32jI^8jF+zR< z)ot`kaP6^Io?K)0Y@32U=fr6?g{d9i@uqLx-s`-Xp_kYF7z})EVP%^6x=L%q!ld%9 z)!-n?&&|wBI+?H0{8YKOwfj|gSxkk89}rr^%q?S})@2!=@E|F;{eQM#Pe-*eH1WKD z`ND8pJSH+mhC4qg&EK#u(R}+rUkNV#hYuBMO8e3T7PdmcCtD240K8#lR|ezaOa5+& zn-TqxyB4p4bMXe|btdLo4JD7ocTRXD@7vt{?LF-GK`;9^{BY6!kg$mhL)ngQA6~px z|Knj9CV$2%=^TXXxpn0DpI@trqr-W5@jIi~o0q)?<{wQtlzWMkoBYjFSs))kxK~|a z&A&_osI?B#Uo!itFY!f&RNB5%;NLa`&u4B+c*fj*eoG^^?KDF6H?`UxEs8aQ^LGJ^ z>zQeN@#*~Uheme$35Smf(Z1$OBd&OJ13KY}_?wnHPgTt3#bz%8XP(%ZnM(gZ;^%W0 z8*b@tZR-uz(f{0_Gi!`2&8L4ywrwN#H=9aiUGEv;b(zi51+ubYUR&+;4GzH!40m49 ze=*+63YqP<>zaR#5s{H|eT~L8xL&Iget0Bgzt&8*xSh;#rFMWPbqBvOrsJ1 zj#cyyjWh;zY3LqZ=ZtJlO~gLH9&jf6dzD)}|D1ubU3L$QiLM5UXA7(R{PD?@f0=>r zlC+jW;8g@wwzo*Ul^2_8A#!8e2T*tZkZ6(mQZHv26X@hj$p*RZ{^KPvneO-Y1`snY#t zADU6K%`!t|F=%C$^k9qi^XYFk=eTx{!+y40UMjW2I$7wG4)SQ#s%sUvS#s;R8^ql|R8hle{s{P&|6sx97%#4gr znre7$4XqaK!?DsV`k^LjMi`fU+Ec9W-N?=K*Ud@xItsyDRpR34ZVccA5~7o8qxt{HIY$wheCAPswq{ zkT5TXn2s}h(hOKt_U}K8XD-?5!DcQI{)#ofwV4~QvoEpv47C<7;OktLZOQgLeR?R) zuWAgWY4cv_XSN~PG9IS18T+wMuUPfk#+zT}aC&Ayth>fRk6P6lnS3V1p^o##eW3<= zeM|G{KTh9%XT)fv{j;;bD&Gos+q(#BSI=;;scX8FV)b88-4B}#Maj&tp>%N-4)Cri zz^aym?&v>gpggM(I68(-PqlI0$Y6ibxw4Jy@UpFOxZsUjA9KgY77!>?(}8kt{X2)v zcin?tJkl%_+w(J0Dk4)>?hk9{@;7`I|GBiS(g=y zy0gtX6bSF^Z)V$HNiU3CA>MP-j)v{?yyN=PNx!zaWJl*`#n(QHQEy4Vq?Xd12n}q# zjZ@Gq3!lh>W^0l6Um6Ko3n|>6r47`-_I+>Nf4hjfcuxao7^nA_Fw(!fZT%<17v^9n zKZ4{g7+v|rZ}}Z}VSe?V>|r>ys9f{)BKp%5ui-B69(IS>ljFIFUPVTa_KR?AF?~~U z623roPw0-J{Pjf@d*cF8<;E zoHDlP?OeFQu6N}AAooz%Y~6jIk=ObF>OMM8@dsur221)ji2M%B%bqs_Z%k}kKQ`AjYhC=|KXIEbKJY&(O)fsV5SMR4&`|gc z{km85SxZsw;#gx)^y9tp2CsJ|YdWzS^s8?1ZkJb=JgG}}8Qgao*4sLZRBLg(FF3VZ z`#k0pPhEh>lfSvh08Y56jo;1H4;qKtPyY*svFa{9cD3ZmWw?i2?ZCU*L zP=U=cBR)g2;O;uw?eS&ojO!kk-+A-t`6HHb_tCB$f$ z6@fld@BIx%fJHzOp*HJ^osN_K*o?gem{GFzpdssA{ahLZ{!R~G61;>1vU;&)vJ2=Q z%EkOIre8#SnXI&4D!i2E**&4eRW=#MH`_`6j5Q|X?mBh{>$oyctkh}gthDoM`r-1# z0?1VJig9F#dzZ^EpBp4S)Z;L;xC8~q`IDDWVGsr^#K_4oVoscGv{^e4V?F59K+)9dM*g9*R0}RS;#k(5(CLVCr!yk?6-6op?&smS>t-WqWM#;4i5E&PUgP_ z@(bq^&jQ`q%bP%h`q2iIWWcHYq7AQt0M_*VuvS~>BHj@_gf^(ZFV(GdlTEL1BQ;*B zExa<}PPPS7GVUpd{_vE#VIUqJOyCMf9Up$uHEPdPXjY)^usGPnlCA zG25=C@l!1hy$k51Y{{fu!u&T7gpn>;`4hQ0XuY=Dc-DWD^gFR zl~PdfS!gOr#)RSG0;T8*gej5+aN)5oin%|zOkAwhr@v*+u~KiGR`OR5S5Vo|2u#jC zEP@8)MNROgB!YlUY9oCz07*c$ze(5wS1?bm;sIbv7KF!>e9vRn5YZf;NIf(P ze`60ESiv#UQ(pZaodmsPbaP4d$jJWDfyckSYT(yoj6Ai9+b>ulDE-p774v)!XYU4v zR55+5_VMzbbVliq^QC|}d0E=BFV?$ZX8g(DH&6G}T-e*_qFDp;&K)lRPJk|G8Gj#6 zoq^#Wbruq7uIkV#(V7c%>8y(H(iyWK*{X3ptNanw2Yu}1>IIAGN}@@9eVsp7OFb?M za*v>|M;nXf$o0`#H(&a`JJsfRE)dp`T=r=Abo%%#&>6gbx4O(h8|`3nNf&>whAtX3 zrE_!8zQXXdRR4>@uAlgg8(5M=wC6rV?2H&~BwVz?62^rtB0}z*xRj}n1#JnYcf|P1 zvnJ^BPdd*uy%-Asl=e|N$+$#Zw&xr??Y*4~W8ZRj)AsKadNm&!eV)~5Id8qJ2le2c z@F^|<*ESld=b;xXgb#-<2=HK+>9ym=;k?i#JR^<8yYq{Jm$CEqOV3xc=yy0bvx}^r z_7E2Jl0@&8=L$6vB1ZH7d9+D=oqyiPIvQ^WcRR&s{%AT6`J?VRU4Rd)zOQb)&R;Hn zF^8+_z#m;2=f75`Q#BgS2VDiA@6Y9bE)Z+!8#}ds9;x+SH$G3DDexD>{??aL55Il_ z&L7bNysR;qRd@fKK@>q*)OkS{wRj*4{ZSVv;K9jd810FR z3CD-<+Ajn9%WXW~FZAD(gg>H}gZW>G0le;e)t0|l!*^&WxV2f(@I_A5KUg3xI8F8(%H-(RM8ntO`^>m6m0~&?) z?{Ui49^=XJ0eYGjAWw2h_yF`$i8j{i6zon5S;bV3!)@Ji&RmuFy`_(HyIoN1Q6Iy7NU(eMm)WEpl2~ozO6IWj$f;TywNPl< zoJ-+@9q)^{)axydls}QZXAvr#yT^g@m0aAXzJMgJ|kJ-G?b z=dxBO52ncjR5a{TtJ98go+hE((*m;?GsC4IRJQ!!wYs@rEyLJ1$D_s$WR>V#&YHkG z?V)1cc9;R-`~Oa?{6XeWRAMpMN~F8u@^WJt?N+1#rkZiF4*NR(9;7i@xf#I@={xG> zsH@4Jl2W;q1)2{WZ~iG>O9<+X0QgVfuS1QjkYO5lAie-=Pwy^CX@q9-X&8S1Uk&tY z8O_Y6h0!DZ{z&IHI49qb$;Ivlr&{~afoTQOYe zHv*c4Gkj|=-UWQ@oT;+-{-MWseHbElNqzq0O>C0-`i;_v`U+rm2kU^l_zdoD>$2 zeJ3AaWVdlkiRVp4EfBr41h&8eukVTJ?CE@9R&L5!+LqQ({&>mqifMotHwxAjJq!gQ zoMWFY_4Kr&gwqT^8mMkvT0dL97pnZWjUZo|!ybDybdaAc=J zI!G&>)3PNzl{L1+Y*sQvo$Y`*l@`B6>_+Qwg?N*(f(dn@OEoc#SssA9K?+3c9WuBlRDTlF! zy*`6TzO@;D?$OA?d&sx*~?BF=O^krVASA#4! zwMCJ;Al8s?6zA4n-t~~URxPIG88gti3%zS7p~H(0eGX?K+S5L@_Pth{t*)qZ6K3Qp zD|b1GzB}T{2p_W7#?jBEQNicEHuFYUt&&{9(;c6RdAo#@Q?`*w6jaXs%^DDnye~|NbR^n>nAC<2kdbcjafP#MiszMY$y$L0RK^d z!YVNX6zFM=&F%9`iI}-C{aKU8iyB{&LOa~@tdlvmcdr_~GFk)yO;I&n(>G3uj8y{| zfEk-A4Lmuz6VT0>T*ji$0+sm1^6O>?%?P4MAN>doIukD%(gkpLs};{}oBT zNYvH!?>$3_VloW_v<_}LtA;li2(juPPn(8E?B=!;_Rn&9y2dhS=7wMj&$2w`x5M-H zHyMwc_tV>SKAen}Zh@X|CW))bB)mRQV_+U#4`}dwT7Z*72<_}CmV|K=j@Dw^)VE*W z49}T`{WQhXe8ECR6kde1^kdr=b$ zoGP$JsefZH6FC*0?~-c-vwXB;&CJkmhUpZLa_B3Dl5dX59?1!<%8(xO#E@rWo!3JR z=Ak9M)Yv%v*;q3NfdE*R-Cz|+j>LI#kpWrs&=MirwYjOR-RR;oXLRiRWsemnz3s^R zPaB6da?Mp$dMMQirS?!6xVtV8M9)CLRbYBwmO!CKNJnBrlK;m!!|tqX#ryD|xUuf- zoiZ0IZNMzw^ z^Y|{vda0Z?`CfHXeNQt)mRKblTfnF%=+iC8g$>+|!6x6ipTrww!xlF~P0%IPK1$ED zZLOl;M5i?N8auE zi9T@?GDD2uob2w+nY)6+BcgCQxOC)vDdQ8@+nnA)C+mq;m)q9j&Fq$Pd_?l*&BH^zG@9-?s}Zx?XE@W2yfXcDQ?_9hvDwL?`fJ=2xGRl_nr$=9LBy2c zs&T-y*SC9gr@H}|w85`+>3by&%QdYVX|5txs=<f6mq^&BcQOIx zBGtyBO*^-l6SU&u%#3->n{mviV!PHc5>r3#fLuF-XJ>4`s5s-QEftlHktU*d ziVl~Q!U~cv$y6DTOnoYEJ^OQ1Mnz&Y37JYVRX{AKysh~44B!yWsG_$Znu;)RWGIZf zIt_k;RkKVbdp4}TPxvlGAZv$;CBKy$v1R}_H1klcwZ z+o#%U&xArnSf}CPGHahs^==8gnJV~ys5l!Rp1ip;6cx5hQkSW0*>lhe>L(VTi>VVC z6z>O&cec(-IVH!jv#~}CC*J)oV?7H{Q1|+rI(^A>$7C=$PDXc5WByUAL!bHqOF*gf z;s?bEJRPwaBn*HNeJKj0j5D$zX@?;->^j&pK$m&Mxx2MT<|V1JLdPy!#*?ii1z zg)5>~AY$!QQ={WUO1vQ`J4KDfMKnf@VTc0>G3jx$9Pn<^29beY6VpR5e4_vVF|nm8I5ha9Sm zx(q`c&@Fx159*gr#Y8 zGYKzb?gL**ly_fp*2)VWGj}<8okMwwoJf_GsMg|W*qMz^YjN%^UHVpP+)&y4oaQOW zh2WG|C37Tb#EinR%NiX?iiEJ)v?pL$cLd#BvCxM@AUGVi=f};Uo}UPXQ$jkQhrQ?i zomQtIDKi-{tQfppK6{&{QinPkn}=r{wZYknIS`1T+oyuJ5o7HA`ak6>{f(; z6X!DDe&DdI)B3E~kog(!o=12H0F zCO3(0GDs-ws>*nfT@{_!oFpoQz#7hU+3XwgSN=txuP%E;7TrRk~0Z zH697*!5Et8h)@gb{4YNEHA7Yg45(I?>j-&nw*#({Sbs1xs@ANgIKbA0g@vj~CtWojgTHQ#RO<@bp+l*}4b{76}`mCItVWZTmO^MncXNZ_3 z%*m+F2)JT^LXHCiw(Qs)ysx?VQ$jsJ^>H4)7- zv=vLjK&Lt*UK_Z&L=4U#la+|#O%q*~^iB&mLQlQny(sBoFi4IfOus?>*BS)&735K0 zxo;eRaoF?h7KM2L%NOJFD6=Zc&){MlKluM=65stls*oZeBMb zgGhictmYT*sN1Bhc4_ia)14<+fd_3BdtHmr#4%me?XM4qM^?RBi?yjN%*@!9TnIE$ zXQ;KyD!5x5aAj}oMSpl8jlP(WatKe^Jb;}n?l!HUs**75vh(_*`c1q7X440=cCeb1 zwH=KrTJ)Q%(z(cTq39-0NT-v2xITNN{OuTeIVB_)wvQtNm?PD7e+54sJI~3^eA-oS&{or*5)GbgLnMJ=e9RJxUSi)jc$t> zT(~!ek7kGEDn@p!fri#+u9+3BD~Ce23SO zfos6`P&73*u>84IeioFX_W#|*xYv`JLpB{qBLOYxUY)6%vX7RLT0w1hP?1eS;9@A} z5)mfotksxv*Upy<+v_UDt|sa_QI^tFQVg z^fnj6p|c@6K2(8{PS`>rKWFTCKGcLL0|tr#;S!$#%WTicb>ZiNf5T$7LuTChv1Cey z&)=*XI_!ng$>8VMlolg+zS*#`Gc;jV+5_c(XBD{qb!0Oy($IjHK>k7HulcYk{Qa~F zU;M|;-S$wtx4iRO(+}0{^*lT(uAx1=Vc#k;QB_hhhU0R`2C!@3LO2pcbdVelv2F-& z?`;`}r3??)9@y=TsOD@)M_gAK>2OVG-q+pcl^3szE9;ZhUhS>A-MYVCnUNon^eoQf zXAz3P6mCOFmu#g!8^a>wW2r7h!_f7`5MvC0!NVqn+%W7G*xuNtZZh_xn~=ShW*(dI zgkU(`e{orR!u#Buk3nKMWHnY=tc|a0HFAug(ArR{Yl*@iNJlty5H!S@ z4~TU&>KnnUM(PMpVzMg`N|1~U@%pe8vZxnW#(P?ekuv~|3HbK08Mh@a+3lMFt$R3- zy8)zx6zB}y+EPqGh#ALFboXfaV;QzKBnFu{GSWenAGu#6PicL;*fXdm3(22qketbP z(w(Y~iI)Wm!B}XSDtWy|N{yG+A~}&kMKOcqYb>y!>Su3P%2y3zu(B9zr9}Ce^Es45 z{Y2l$%94;?&M+Z4+sRjnZlKQlH%;j#8A8a2UcH4nArVgdnK1b?Ml4g-zCLuG-I6mG z8j-EONv?ytL{oh8!E>jtgI_4Ow&ITeJM@w)Ig?5Wo8zmR^HUoQ2t94MYM2g=DAa*h zph7I&r}$}87h$EOcnx!>1pt7xV91?g*T&X6)^GaW9P#93i?8z-n!+A&Tb;$s!6904rSs6gaf5)%JSQr+V> zk(8j!LiJEG$BU{*+2}X5`ERr15ttrds6}<g9Pw( z2T=hp4-w5i+i(0eV9jcf=mh)En-EiyaP8tNc$aQN>GFkeJC1sRRU2)Sc9Urli7-b7 z$-tEfqU$cnRm79`>{oUsLB|8=3BoR1S5KXg8zX+)w3sD>S%R<&4SjBt7e15ia%FP6HY$oTk~!KLl}<~HkKChw}5r5Nk4-ICpS^*Kh@AW z?oqJ>c)0X+_9w-tuf=)1DT=DCWHGZC-vy7Nw;t$E_BmUD8onj8uA*2)Yq%l@neMhx zXn;3G=C&f`sIE?V_fjIu!+M%F_36w{07j|1Y{q*0Ld&SH@Q;(Y!!J`~3o&1k;%0g0 zt^NCdNF>dx8J2ZGH)S!FGF}_C#QIO)&gJP?sSGy}RCj&Oqpo*hiLwc32m+Wmw1FwO z0Pa5ABhi@bY|IvIL09s3xTdln9KRT_+LeFpy@djHn1_~n`}EHF*78`1-hi9Ue!{7$ zeZy}t+$Ea5$1S(cf%_z^=QX64$9Mj=y4vHYtjR^DJY4M$O1MHN)dzBCD&5O-{oKvz z{Bh)J$5(#NQ6Q^QQ-aD}KOKV3b)4Cd^i57uo13n*^12iTiEw5ynX_AGC#w`tJVmijQxBms3sni4%If6lMwk*O}(_jD^v?K|i(_ zZ{^ADm(d)2Xw47BU6RDDtdX#3{#z6`*vS~|VY&E#^VbXh7hY8$)^#Yv?XQQ*{8;~3 z$n&X-G-XR*g+#j-Qx+b&SivuGpBd)}tn|&A167YZ;Bwq=eEJp)d;%3{B34^-%r#BF zJIuuGF677Pt$e;Fd6;aPMa5SP*C1<}$i5iE)Ank+zze@pFk;9__V0&zfe8?W zWK?@0hOFVl6=R6OP}S8{c4%fC3~GX*1(_kdHEfD(y0K>m=uBTveZL*V8Zb$*rvxy< zXNooH(XAw|ZLOHf>a>0ju206QMY+1GNO}e%>$=GcYRq z*Df<>q(5u912R2l|E>!og44*CNaUQi`cS6sz?aLHyZI%)RtR&(W8!p(35UyBjGB(I|lMui;S zm&nS@da-tsdI4dF{=P!4>03Z7B0Ivy79ypwRuYThZP30(dQ$6gGh<0$6vqsxJ%zH5O8a?{x=A|P%;Ufje-ejn41bI;IWDwcK4PQnV(ACU2KFb<^+~xw8a?0-dK4zH_E4$CTZZDp=8s zYSXi4QDC>RSvd&dQ9)5S%N#*Uh8xDhL5+W=<6$e3)sp((=;_wLJNTW15BK+v9?QmJ zS6Zy0bA}xXkvLffzDeLZ)(rW2=llU=M2;`GJrTr_aJk*Aa@^2j9+qFa8dMoo)J!(m zl31vkozhnQh;h?~<}B#ob;77k^5N`Lh~w}y_!-RlZcFTmtg3WRAh8-OnK5$#2U?ISppC6GLf^j^o)W0w~G=;kkW{V$C@*m0_J6mF%>>ChN?fZlN~8yQVo(*#0D~( z#8UXPVy3NoPppn9!TgxX0F9I46$l79kwy9B*h!3Cm7{Lm2~8$D=<||m0i!C%7>fcd zJlXz0(XvNwyjQ^Uu+%gdW zg>k-+3JK9sJMvoyIkL-EkU}`Sb(lREv<_zoM}YaFq-rr#Icm4tUzJN(#kbh z`u`r)ARRN`vNqL#$IVFc;?-D%6hhx2@ZJna3E1yum1L_mXX6yBs^37_zq0_yS6WX` zS4~RGbol%@#4eYIv~tRWxT4|^O!w;kv3Csc9gWR&3Yq^Um1N+Zucz}W^l|(kI+LA3 z?fD@c5?IOHzwY0m{df7N;ClDdjKcvmxvQYxDIakvmn;uKSBJ)rEWx!VWs&NajYWhj zf#@TmhQkF^ZinWLn~cBP?>0<*+!37A4ZIHfzpLC2Ys)3DJGe#i#WJuz{8(u2+IsMQ z$v7;MCz7@``wd91S4`#_wPEw$P^)kYv8e0W#Vsrn#o7;To_K#Ue>`uGoj=rhNTdv%m(D}}z=Zj~#Mh7+Dtjhn&WFmqTI+;*3G z{sxP8)EK}zFD7w#rA!hB%D6z`QF*hBXLlr~xw9&1a1?u%D=IVv&AnTbPJX*DfEX&m z8)F_$26e-Sl3Qwj@{EUP2igFnxWJejf22XBUqYtT)H^g9BH3Y?06v}{-w&jjc zxf$CK&8ucTDW$QgxuHQ2r`Yd(#ZXf*v@cY$5Xa=7q@44xN9tHM zbDK(Z$RIJQg~l1i;bI_LHl&HDUG>+jsCB2#!>F!5;2KxGp;&&5d6uc9eG;`mHqJ7V zq#>yZ#Z#?F&1GJtC@DELP_A!+bh%eq(m|^c7x=AASX-8THEC1JauFlutEiO#h%D87 zQ}Z8S2?yWdW?G0g&qte2=R>bPPf^2!&w!1KDBCx@!=NA3Za0uovQDGJpeYbhXPzlt z7b6bh+fY;YG#1=g#ppv$_3CB_o*Ks%w^*@&sR*i@R9@np&Si8J7x@ypvxd_*d+arr zv7_n78TjHldYO2M7DOf6ZceE^O$7^wh>2ZTuiOfOmfl8IhcGEC-n56E-o>jcl-b{O ze-iN+mT?H14A&-^?ewJ4fwexCsbJPDQJyoZy*#rHXPpeb6KAqR$6LXn*9y7iTl(tx zWUa*d{5iX!wEiah(9>k=tlUa)YA{C@cGwj2A3Z+`^KO?J*<^KgIYOF8em61?cMTRT z%X(B5!ppv%H+ReDibQtiyetM=*S6XPxsADux>JtcljTZv3;3;O>A{#Qf6#J{Ccg%B zA#j&nnw-TA!Rv+ zGbBBP8NWU`{ctro_PCBw7P!1!t5+G(eAq!H(fmHiTNZ$ zeS&gE3|_vRa0(1-ZJ+TTNp*ZTe#0)bR-F9N>Z3}wpM2|7KN-Q;^Bq`ms&fv7R8RAo zhNTY9{Wf_`Q488ZQqkm5G;Q3e|ce z1fR-f`7H}P-Dxr|bW(xonHoMv!rwUTS#6!Bkmh~+UM>gWw@ZFz)I4bBk~xqGR?p@k zB9m-zxLLN%wa;dI4z0$>ra_a2`3%t4fyp?uQJe}!$ibSdD(TJ;*7I=9Iq*)70s5XS z=}A<2mDwOUD#2j>zCnuh2fyiIj~_*DQ@vsD@5gBzUkWA@mQ84&k74%V2a2nWmkKr3 z-bscDn$O>vI>Cb|S$)2taC5dx(`lQ0u;WAx*wL|F`lK-^WKiyQjFAq!*lXPlPP8K1 z4AKGStvuas5|>5!8WD_heI31xZdc^pYH47#%rfRUO*+Zpcmb*nS~x@kn2r zTv{FU0^J_mikBV07!#oJ?c>|EC^gITi~Dk=cb26 zxp+9KlKHGtxHiPVf*j z*^#rH`E5y0$$cbp160qGqR*ANHNvRwogbYLagn1-;4eqF2z9jC$-Jw{mG!y$zU3yx zt0f4Z9A(mXcOz%xhR|x^Ox^WQC&yXy`>-|4|zx^5@C zf6pstX2-?8diD&?y!6~82%c;6ZHr;nHx(>+;n#%v`zz)SX?It`v4o_--)=FHZ|D++ zU|#Ib<+ml)5@q8N+s3jTY zjcO1d9hpol_+tsa@-1^J{X`Nq>q%fi^8kl?!-Kych&^j-sNGVS!ZWa8*dtwbW@Z28 zbq87L6q%$h_wJ)p$GvS&IaJ+^tvbV=tRPO*6o`J`SY4WgUm%x!RFqM;O3VdXj3!6`s~Q zf997Au){i#p`Y3B>6R2@tMjt}X4tTAjJU(VP%+W*(j8`VT4Bg7r{*ht8yAd8G=^)e zIqlHHl?(^bCGW(aQXJL@N*1U`4&}@CTEo0$+d4l-0uPtdn`X#LaN+w63<@->7%Y~J zi}%{Q%or^!1Mc5URzu)*PX=DMb)uL#QAqcly?iE`AD&1YjNPT`aS7{f2d$hx@=&%bwcp zDQL=EHsaxWmMz*D0~6$<7;fHbmR3s1haI%4aQ`F8yaT(0FjjZTe?jN5cy^CLPI^-nc-&!mUKH44DBD!4~Zv*)~mFEqCOcT%GeHaSYPFV;`2CJ-km2C%Wz)Kp-ZZwopj*u7v*% zLq1}JS=+Wj?R*rVP`}s4Pq)(>hg~H@aRj*`b=C-V+*K4|Y`U3Bb^_mH7UE9bC#ZE^ zR~+Ceqbfk}=99P(E8PQ51-?53uE;mm3zb%7!*OeTOB~%eDF_smh=v;uG3iak%v%Za z~3*<67UdQg>Kpk!KCavLPKEsCO^Q{Nnt(j|8D9M98<1en>S@L7 zyHWrQ;H;fKfRiqUdzo`*T!BK`6)@5voeQ615GC zT`D@{X~y*{Iutt=q&I&-^?6*Of!kj=-!n5kQ1tXMj_b{iZ>jLg%J_2*463jcg{uVT zY*_H#zIW|KPvo(Ed}jJ@I{niZCt5mM>Unv>m%HWRS6ZKWTc;D)u6z5`(<{>|8u&h4 z1|;{p0R4NT?e575X!kP39(2H+7b6?ih}vqFd4L|O4*gyQabafi5Xw#70{u+Cx`*%C zU2tj;pjC_r21{3lU`e&e6NOKqWg$6Z+yWfdIf{J(J~(jfY+zy`D4ltDO_dgHC;|w? z9$e&2!TZ9!Yg7_Nt?YZ@7&qtC8oIr%<|;CY0=oqSMRTV_%RD?&XR*p z<_KxoQ8&a4cZTbu^y4c8W>hcv>D_U1{WWVKWt8g>Q`9Pe#V(}+0z?E8R*G_FT?IRC znGc5SP_2T?L|C|fY-vK4uxNU({h2uN`YFME(*gwg0PHdxb!Ew5JCw(bR6&E01M?Md zvzAN0AA4av@`U*sx>pMq(vZNgJdC##GE9i6&4j~_=66u@MHIkKq=M>GcR#$+Ll&rH zP{nWGU zN*F;0KJsMtgeWwfJqWhiE-26>&kt+lqp=F8!Eh;}2bmFv0?nw)!>`ohq}`e)p)e%i zuhu+88@GT+!&sv%6^F86Zj5q*&Er`rw)g$@6^r(iORQZP00%dE-bC!>h6oEETnDGn+$7esmUNqBd ze3sDR$tr)5S^X)To8NEe2}Jtu-=FD8*2I@wdN91* zTNeC^0!sx5w5IkaR%z2PFhH2P9bKo*)~Zph;1)!{ls~w?A>9y*mt4DU)leRO>QU~^ z_VQlR`Zim6CS7&zIfo)xsJqQnq970lL^jC8@85A4)JY88wMbLbq9Eo39E{D(JQ9R_ zv5|Dh^xXZ{Ak}bDs(~Ad-`NzLeyC&@vR-Q2b4a9Iz#4u<_%$7nF8`GYnT;1#aaIHh;{_ z&yO=j?1GTwh!r0|mKt4fV#@r}sVa}c`>E#Fq25Y32dtzI&qAP#8zCpG3C0HRgU*rr zI$&c9Tu}-9&S<4~G4^h0nwdh_!mCRdFG6uxYrw;ALM@X!b$G!j)Xf1S^uLkWA~kDL{R*Q zHq4jSVoF+i@`I|&;wZkqa~857t}^DzTfUel@inpc{p=U!35u&n{Qy(ei7aQiwRA{u z&&6)JhjN|8dv7qu5DSuS2@0`Ho|UU6`FlWLi=^E05a;M(cA}YO1(r5ML9L+S6A|QY zY($IuR>K$fi3hh&N|$-HYry#?qD=~J%!W~pWnIl;LTcthu#D=zN`{svR>!bEeepET z8k5Y?NTNb`GSc2k*kx_!N()bOW6HYh*MQ?k6vcBMw7WlS#5IOig{Ik5#9re?pJ_eZlqAj_ady&%Y;PF{^F1Qf$`3X z)~CN#EAm>&{a3<4j`OpE_KazSG+EBSVTSWJiBX;Lrs0e+R(fN9C;#_hd+K%UMbEso z#PsI5*$uJ}=&uNPe>F`t7?^w>h#4+C5 z4ULigDc|@C%|4=^ayiTYKSLS7&uj+0J&$~9VEiIK|32q$7vUM_YMi-#t>djv@5Zvl z^PLQj&;G_mZ;$$~rfy%f-!_g-LA~VpFhFfB)^7iWw$Bmx!yhoDyF0?zYmYR0GyOL1fnS^ORG(!OW8USr;5t3h!xY66&=?h<&(nRq;+KuyH$a-=9 zp}lvFy^9+eJN);{;Qxvb{~877G_`)ixH0)(Te+S8Sn>XEG<(K*A1C92^MCD)|6v;# zv>8o*)8K8Dj8T1!#~z0Hzh)Jh!RO5x&0< zUHF49FN*lyvN$l|17BPiqdzWuU7X-AOXIxcoa-)`_L|W$8{1Rx_Fpqtwrw|v2WWI^ zrMkDv*nfaUUyvF%oErlE{@67(|2bWJ!L-MD13&m}%F7V{0?aSXQ z{UNGs?;B{IkN2U!E`rT>2T5KAWbC152>NX*nYmx^!rRW*hUVwL``m_3-?d@L_mSA@ zLrvSH#sIf}!Q2;&(iY8s9CJ@{f&M##dxPNj!~T@Djeq6_j$eXtspYAe^`8MyEf}$x zijlwfX18EldVBXXnf2uF@*6a*`EdxPMIbK!{Ot5qCdAp7#*=69*aiI9kkZVx!&{Lj z;GHJ?8Taz{5aWYjdTd4pSEgMhZMVzyVbmskfrf89rBU);J)1VNXSgiC>}IGf218B{ z{Btskx(M>Q&*K5`8;heQocGHRYvE4qKyLA2kGPo?<@aP7(M$MXGhtrIq7zd7Uq!U| zW4;&}Oc;w{&Hsa`zZr{)H1P$XeDI@Gg?mtc8X;k!dH(Wvo@c*t69<*&f}iJ`ua?9( zWyEI751WM+uJsjZmHsb@_|2s$zUWT?3wY=&%;OkL9 z&DbTQKH=o_?$QVUUlj0VcX8khCwk^)7o&!k=zdIQZ6lenuc7em0N@s~0?TS@`N?Aj zYD;2%*%x6d;$>d%GX4VA|KxQR_cZ#;Oqwfo-;16pT0V{Ey$xr?BO(&vc(o3bhhsOY3-~JAuZQ^2(VB>4imq!{M12Jn25q@qj;i3BI=A zJ_q0ZEEHFKAqc05c(W_%;Ya<@E}A6X?b6uwOC6veZ1=)YWrbj1zx@TG+ua9Dp|}DZ zI|sDInVP(Ry3S1n=-d%qwyLHE8DTybxA2zr z(8u*L3e@7|jO?8}?v{}Du)g(Y3~6S*SzOrK7a}+uhPl+-({&T)a+ZX zO~5GW(jl6swu~k#?dz<8nt#mkW;ewd&0iyDXTkNDM$dKO4UbbRDx3J6jjnrsLC+}t z(|(qnF%141^fXzM{`8=KQ;44DBRPr)HNMo*xOw`Itu*oM!l#ag&_1tGXcf4g>FOCI?*j>DU`|<1_X#VkX{&tQ4KBfxelaLm4qWy1AkaMH;bYmG_ z!Wo8-;xwRD0xGpvO1kMRmqQ{ny$SUbs}Xv!WO1d?Pf8|HoRQ^3sC0iMLo2IN4;*o+ z97jxgC9)}XKaXXTux}MjJ5ZnHR(G#dZ?WK#)8oE%?Fl#~ZI9J>qmWR$1u<*!JB5yj|T(CHDIZ*#9iaIcP$R4`!@D z_%hf7^FCN9kFkB=2CAH+d$eRz^h=(RW>Q=VawkT&!JB1eixiS}&y|~-(@^OYkWeyS zO$%ogzf}w0tc*=J=bd7aI21e%Gb|XfF68Y@VkUu2mPLT`JYSx$2K}(jLI+o)8U0HA zqAJ19B7YP-A3;|pIlEU^m$IO&Q{bDBAmM@tadb)82QhX@b^7fhOrYyL47e>8tMsWE zj3x^mF_;38T8$;re4C^Z^BC#d5*-9TlC7p(`V>smhW2{`Jfdv)zuxD&dMG?PBVI|3 z)uxqjqNN)ORS~%}Emcl%-b$!XsIVjy*HK%YMIl8I-gS4a7E^@%pE`^SL9=u7uKgkM zzOUL6_aWH&m(~vz6tz*ugfZ<5tvnkY%s-B&O2Mv~yyv9N4(`PdQ5E9g#s1VwTaQ0E zeK_BY1t`9=O^ow3hFgGE0^M3SwRgQ2E$XlHVEttN-O&d~UL&9Ca6) z`~dgF5>ZLuh`{DTu$i%^>*{K?wd;nq1zB0{&g}JRIW4IYpdeAiXo~%0cz>IJx~#<@ zyJ!}5mtiU@=u`#IsP6X6C#T#a;xel*cvf$q3Z?F*FsZDpu#-)vri8BpH-Bl}tUuUv zI1e(6*$uJ!D$Gik&U32cj9@~AoU-z^U9@RO4JS^Htka*3nb*s(@CsLUzr{}yHJ^jb zk!Q*5(L!|58yI;)lRaj|NI3#Q&QKxHuf%XS-kVR{*shc{@;~3@uhdL8>v2y-%d!-5 zgrKbQjd|se5HpN)@!6tx>lKxrn${RIySEUAcn4y+HHt4Iexs6pk07Xbp}XE-2ZuSO zr!o@bMMPyXTEY2~nui6*wcHG?qupFV(>XXOf-Mnu-_9v#JtcrSM zT1+@2dDYw$X8H_%SVwlwgVJkubEg{#>`vfokH9hPU1n@f#c<<$R7b_=O%kTiQiLr9 z^|lecDuSLYtg;cei`|+4ZQW))Uii&9|B!y`$z*U+oX#OP;e?R%q-Q_od`SuGwzA+uqjbM5NF&HExaL4^8sD55O!& zn7idSBnIs+@ljPRQ+AVqc5&X~i7a`&G}Z)W9{+`5W2aNwm!Y-Dut0H@*gw_cbxLMx z;4lPk%S6a~k_-Y)sCk>tWU!_tv4s>OIE<^)gGH2GzA6Y zoFv6g0)H~e1@Y~#qm=Fn)Cbq^>?0=~R2+H46Qfy_UIw*1>yR^-FEWtNDZy^AR2Yy` zeARTsVe4UnqPih;JfMroP#760)ea_tbr$>YYo>N(SgzzdUQw?+KKHGnA<|duRBAYG z#7^3ZPHt>B)mG%|otrwv6mR~_TdB?sfR$ay6JfSCBQ972uwXfoHi&CiTc&8(8$6K0 zb=GEiSeUnEb+r@@ZpG^NGlmgm7>u9cf9EhFI;xqkcA>-@l6llODhTwfx%<^I9PX)7 zGu-i%=OW9+$T#-VS(_2}1%4hj-o66Wt*=**WfDc0QEZ(;1u;1JgoxQwVfyVb?nB8~ znM~*@e;wD|Rk%61u4pR*dXI9E6AO2>*>r?Y?y_!s)+vStfJJXOx7R((qX~5;;A#rB zA>$aFXWWCYnGXp|c-3(-BIIZ&Wm`tY8PMwOTAJ(J*W!|IQ)Vv3E3=#$S4_?Ic4*I+ z0myL{QsZJ46fj2wnirB2Tx{p7boG;Ic51vAY)ZYPANn&iS7xR)BW(;0tOouN|OU@ zy`AxB#)*u!mns5xE$k>@G1dlY($Gro2#1d<>H5zT#iLDn_2`(MlP1^~Tg-|%+ zI7DU2uw9r!qq1dUjigI|%Kh+3Pn)|t%~eE2c`D$?b|YyI154D1RzcRy0GHhRixIKS zz*vXZO%JndeNhj|OW|i;IMw^L>l*}p^08sJ`~DP9O1HWSRUvxCSw5hLYf%4p-Ttm2 zB1u;0+;Bn$G}Ahqp)j%Fv8UiScvA9+(*3c%j+?$hz9Z}ykqD2JjC0@oK^<}aMalt) zBFRD7=?GW%GjR9gI$a^I3cx!lsi^q(P6KCFyD6pt#lmgaCEij>dO)C(#(oQ0O;t{u zLz^4@5Ff35*RlgQ=?srd{kD=N#T(Ty6V?8`DBbP`6BEe?SwTj0`Hc}_z6|kLp7~cb z1ODQV_Q@cIFjCq-R=tdq3bX6c4q=n-WRnknD``18(eLfC+3$Mfs` z^A6@#aON9g(g>?m*ZQ3(y$DSFec$4TACVWW0adm3KUvBkJthmJDz4X=A;5FY6U(rj z_eOwnTDzz<2+qTv)@Kv%?MtgeYu9OCa9~4iaQ_nLoR38wHZ;r$)B6%q=n^A zfTdIovDjaYk*;Da$F_iYfWO%HPKEY(mBgvu$Znr?x2T?)a&7ZmrkXP$eiF( z)%oJb=T-NUSKo^n&rrE1Az`%>F$|bKZJXN>S4E=+hoit09A7Z;?KN;-KhXG5)-C9u ze+!k##unD_xW3p$Iv&?<4D*I{o+VCVc6v0Q%TIoh^4h$Rp&p z_m~klc2%*ae7z`=m_l$vgt29b2vhw>3YyKcB6$0sN`TjQ(>4xITt?>-yzAwIvE5!B zX1JGHO(zfKp`n*X25rwn^VbMP`=f-wx2>c}vj@YA1QdmX5g zDx7*JDL~K50{^g*2%y(rMm=`zsuJwR$BhU8Pa&kSU@GURYc_k1@hoC}dbi9Seh(zn zjdHdUAnMRd!^=P`jdhYd77&|((%1tV1u^mB?fO#+JS__Z^YztJjfjy0*w3`&l1kP` zN+9N{a)G=`(xaEBl!g${-c}&mV$NGiC9Gr^x%xgHZzW1tugRtEXr4tcq~AB&I~+m? zyC}z)c&s8F^%GU?HWStI6Ne(FUCL3S9(-Y6;_83FC;MrwhCvrrp{0qo-7jl$gxh%{ z@}^vNL$@`PSv}HoZz%d2oh64^-bntWk%s%hYUmX%7?%ABw5R>VKyLyC^T2ECenZB} zq7Bwrl0gFK*)g(IrYvDtPeYa(c$E+xIrFp}+x9! zT<}>LrbN1HhU5*yB)#WTaLI;Z(1hC&_;ncA#_x+`FEP?0gpJLwT0uw^qMt~yggkfw zJAD&6f9qvM6eP&g)hhS7AyY4li$cJ0SmLhfiQ=NdoAxx{8E-PZ)a-Ft)kZFHny#=n zd3SFT^m@4_oROWlUz#nqt(N6|k`?l#Og*;B-VK|K5iAflGj{3v=$H*zLD@?%$kNPcU*BlerJNNoLG8P(@2|oVZ;npA7AENDiEe_BblECdwJuI+*Qg zXJCyGv>|J{CMt+|opv6gN}fa3gWNJ?Vrmz@y0HxW(-7V&+j+xmo}iW-^Dl^GAbLGc zIw*gpId9?8+cOau`0d!{lWN=XRFOlOQK6B~t6jp1C#eK|xI zWK4W|{+G_joJ2|=>4pMGpC4|-x5e7MJzr{dYG*el1*uRrfQ>H_e~X`-yj6pxkQogjBJco`9VvFnH1 zy@)x~{G#LKm}MN%Cbd&lL$jFcnjM8k)CvqA@}qbLyJrF&F0L+_&nF+@#nyO-TO;1G z2(Zkp6d@ix3|^IllI~g)(J0-)yu7TN%~k-R{?`I$|6Q`YKTolK1OM{$DCvRAQJv>7 zc%TQr!?5fAG4L8U^t=501)Ef9#n|bx_x_dO7tc)t01A>Zw4&bbk=0@Q%aI26z zQIy{m^vn25`#cW~i^duz-U5*(hP|ctx+vIJzuv3g1I$re`H~54v38&gZXZuaB3PU+ z?PnK40=0Nu_g*pA*ITVnr7qsXfK@pqIXG5(lvB)b^hFZZPl#Yis_O}o(X5h~j3=zM zZ^e`WLSY%v8yw_{L$H&q!#05EfzJlR#Q7inv5Mzc?(I%@7`l)=L8} zlEXJ&6Q513!v}KN4EY8i!l%3vQjoiG0nx=ydsdKG8#w%(VJx!Oy?Rmvr%2fLnd;XA zFKqWvMXt%OI)!Ad;SQeKa|~iL@mP>DWM}~hT<^=|be$jcNVF{OSfB04ZyP#Q@tIko ziWW1T5tz}?@VrwM;>cU4D{8+xVaQkRR9zti2S(h>S@R&jU%{V&WN9c; zh~~VX4TN|!FfK0*I{A|ZT$@8ErXsP&7cb^4Cl~kFrxu7^0fA_Zf6;GI<#jK4CiW+= z3$1IgcfkPd*?xt+_Zeg1PA!t!%LYEPvxh6k2TBVItg=_dGqhI94Z5X#4uHBruow4>zbV#Q2K>ut+Br>Qj8h(p%H6EM%V#GrdK*D z`Om2AA_EqIXMPx81(0l3{fLm?%X67J+(NVz!oe$LEVC?KO%{{8KPp5I^V0uf)AFpG z!ludslO*LW1otRXALZxhtX_-9uobwa)BC@=!w9P=IHo;c;~(kG3DMnd-mM-1FPW2= zkO#Eo%cF8jOY*a_ffqJXPi0iWmPUp>y>3#61F48C&G_gYhyN}{YssLd+kDSCjuS)e z-1X`2&t32}I)L=LE^P3UEKceJ!4l*A-2d5<<%8#X8Q390CW4UF+=N4~j)tVe2tTj{ zEi-#S8ITH~vJ>`eLTTvgS7`EX1Rj4XH~Sa0M|f<6miWq;IW8(zIYfcMRN~JwJbXVFU7FeZt!B}!GWgK*zJVuKigl18Q|s&Mha7MYGxQ# zFqDLZw92OX%oYhUnzcXC1wduqx-GeC8zDz5HzS|H2khhr`}-!@$9)GZ4_%jzcuX8> z7da&E2MIZdEkrGDdbLXuM&M56w^;egtpcP75@gN@?^n|>$Y)Y!@7OtbTyGdM#Rof- zC!GvMiU^cRSnkH5Si&iZSE4q%rczy&c7}j9ohbeYK>(f5GCFub<)rcGPP*_}`1kJCn^x$r2iuVpj(kE@f; zx@+nTdohcO>jjAB4wUC&tD789p??yS!u_9+^_N0zZd@RXtgW^J4_iRn`kjo&Ag*X0 zI{~2f4u>HFU3q~xma*&=AHBC*R);5cvHk~ z*M3qaf4gl(ysdG(!38E#RBxxru*1s6EaJr-12-VI#axDeTN;US~R~43xRDp>oYCk4C0NH-KV=&R!;n|wLhL>uJ5Q9{uYm! z-4fb#)sg*I5Oy+cg)c80GHtxvOt{(Z?XCAySC9u8g#thNiezJc+F1-~g1HUAo8(sV z{>N@*B6fOWzv1_hsNCQqVy~Eb#O(>b0@C=+u`Yln1#7II%3n5O-&qVa*4=PT6JU-Sa|eqoIK;iaw)tso7MREWg~Aw3l{8ZNzYmDH-;WkFRxqZvDKwvd zA^!_>;MyveoU`MI!hE7|{HR{#$DbQK{-zv5u37=CUzhT=H+RcrLgc9UxNU^gX%}~L z9IZa{O`b({HU`I-*wg;=#o4B!F7C1c+5tQA5GpTnEx0SR?TEl}NmHb$x&#DkoeQO) z$>LzQv=nbb&4{5Z&i0}RHk08`g^rvp9$Uq1?v8NaUJfrlkWL|NEUc>1F<<_Eou(5y z9scJW;x3Sm9S6`Hyy^kf7`e^qjW`g?(U^~+GkGEo=Eu*4H_F62Defjt#brq@4GGLJ zi$F0S3jeHcLj!^mv67KFa}HRQy?ZfDIdcUhZFF#mb8r`%6r)#>6Nfn5RhFOpm2qL@ z)jZs}VDMx3wz&S}>4Tw=33<4n^#|$yXXc5I!w01fLn^umN#$>F9sJ?h z_jaAW;-bWY3+&>{7lM#_rLI9iB64#$T<(H5MzPC3_V)?@$Fl+d0rWKY;#@f_=2E`m zOA`t{J8JG6XufrB>!k%g6i4b_Z}iDSWz(ZT{D;`T(MOync3xK;YLq@d36nJwXGw?} zE7m3&es8IG=+}T@SM-lO25r|SPS}C`+_*^Vzi|TU&m9+Nuun-U7hXEoHWzP5XEtDf0$*+3Co;~sPfU1$(W0X5QQhpV zNyRyscP4RUX})V)iORb+<5NUKg+9J92}EoI4O#~FOmjkkVwm=)`3A}7PjaLf#&~r< z1$fa+h&24MA||qmu+E~>InaBn+|K@-;!j1nY+!U@0AxG-n#Dnq!F z>=^XwmY`QjkO2w!?r#_v;d3EPcrYpxiN_lbc8S_E6}$)R4>y!lr^GK_UIYz|wR@0y z4!CmmD~T7>kUx@K4Ix(F)5&w~;HR?0!zuyxeX^V{G7XNG^uB@J&vU7p)qaFQ zpC=)ZG#c)D@@lrG{)FsunF>k1WK)y=Y4z^&Q<>A*e<{Z4k{<+@*~lKj&np&T5*%o1 zhQcEjJR1W*OdU63_zHKlw}^xgNA89MqH+o{R5yT(4s9h? zKvR!!L~!1O-Ae_zT}CQMAq%FE0EA3DpgK6^p@A{Zw~;z zZw2-(-p@SQ3EcD%&e+~fIB;!CDIPL__RQBkMVtLAV0Ew9btCa`@6DL_Nw z!}A9{HQUT1uplzu@pMch0MoT0m zg%Q$i4po@mz>5iajuwg{uuG*2I6hvpn|0&YHN;;A@Jq^$^0)z%v?5mpiX%_NVqnq} zOw`lixeP;+L6Pgv;fLNFT+EJwryf;)SZsP82FmFoZve%Q<_ubTs_30m#IdgLXl^br z#2HWw@g~q2^CjSKku#k{6k&#dJ;Uo%?gGP>{H6@4;$&5ZjY>LHd~^G_?jPor0(uIG z`HD!2{qB(G8sf3io46%w4?4sC`u&CrLBWG2-Jwa~=(h&5Uz9;03>XvN)Ivm@L0~5} z5$0=;rYVWw0;vSOx;P=C4wX@%+i}(1oPFOG?uUL+(&atHl>g&a+2voq&)5b5ehqmH z_tl#D|?PXd@P#v&U1YD#-j7o67)g0r4Y*aYF(M;{*N&LooXyU?0A7j;B; zBY? z$Fm&<(o_1hC)PmIi-spG7q{vEW?a?Zf8%vXYDecylg*IVjS_wlp8^7jz@tkl!Gjld zP6Exff}tlYF;54X36ehDs#ok>4XB{fPSK~qji0O13_`d7pAWL|NK)9*M8e~Un6PIF ztkUR@RJ?cYSOuwQ+`6hxexFDSdM2MK2_c8uq)Cb$;S=%xc?0H^h80C2y%*NmO=$va zv3!l}-R37lxt-+yO@gCJ1p%cE3s(gdN#~som^+M2Hvzzh`psPdb9A~h#AXLv*8H_t!j zk#ySZ$-`Xh^xCMWaNBP7?Pl`UEWY@Pvao83p1uSY$CHh(49JwUV3O*mH@TA~*6OcN2>3%;elJ0GH&cgo~pP9-e z8r3Fqo~Cq*ODCq?msS81G)c*ZJq@2Plu)r*Id#X>vi#+K7c-lrL1FWEaAnm&T#@@r zzOk#n{vh=Ad|@ZDTGWi+$W_L~=l)LBo(~7|t9tr=2%#H^iFDFxX10TzaijIhtn+_8 z>t16`*9Y>-N*K`QKH(2`g?~p@QvT;qXn{W`EJ?@4;EL0SW|9kTP6fxj%BH8;-;|L* z-JMS=5D+f3Y)Rfr2eu)b%A_BgD=r^-3q(ZHNaC%e!xoNX;ysKXVA+)5PVRIks|u9Y zNL!$iv=f}A^wgO^XU@kxCypLA%Sbm(a&U5di&I3si4w*^KYx%+#Nz%Wwu5|Mm?qVk zNdFv}X%A3y(6!CBSmz&bmi||HB{nepfDuny=)Vuj|M%hlaiF@*edU^DU+; zpYVM*=_cT#>6v)9hrdQd`BRm?fs>e*rv1rll+pNfS6VK@`q%nSUoXV2{mHW>&_5tm z;bt;uE`$QN3KLYFqaOeqZ1Bqh0gp1I|C1{{Q#AT$y{+8e)l+`lyq8H$4m*uS~dfBDLq!Eg=?Khy&o-wWXtb{&c2}59ZRq*XLxVY~(;rP&&}k zJP{EB7rR1cFxAi_d3tTri2Cewl~XeKu<omd$9|=;hSy}pZ{Cg$g`_9@Z;TY+mVpM(eE?a_4wq(CNa1PC@=U#I zPiX|5GRXFPuRk5-W<3wCJ%*Ziy|B)zCJ0TW3Ete-YxeEt4R zmsKqI&214?dbmC7Kif2~?v(#|TAXs0{lerThbd0E<9{OW5hoZD*qUf9aput2L8iD3sn{16YG-@V&356*6T$r z@S_=A#T|(4#P^*;k^!f|hbCsUn>f~^4FY9;bSUDj*Zy`>`7(dry}Y{+cZ?)dtAhG} z2rBr(XVGCJ191!fGQzwo>OOA7MEuZ|IQY;1ugXFA*OAAbx{{<|n+JtnV}U%ZiMagC zhC^B>TLdHj7y_LnXGUZE&#{i>oR;S$j2y~}d{DJo%f2&p)$%}@&Az%2DytKuPBt$CWKL>Y1{QNaGRS(D! zJ&(A9;Rx;9+WrszmmgAYfxYvo6QoM2KjqLqG&a1yXDNk0l@KNAE2xa!AI~b8#u7Vn zl1MqPQp->>OgTM*^%UFiwx1uC2Thx-T12B7pfXkNk6QZhZ*1hqiL<}=_aZt%o;*^V z&^tEwu#D5c)nQi6%ty{VV&d6J*NU_UCsNxXojvtdSGI}l7}iICvlACwRaX*7CATX6 z8+jO|^(vi9BO*t3@?4cnAyPVU$u)xuL@aeYuA8?QTbQ@fTj?!dZ26}+@nXmWu zl3yVo$PaKu`ip)9niZy=jFM-?LiCXLV&A90-^3}h?oRV_U>=c_Q6OIT4?+W~Ic2Qq zEsWNZn3izv9E8(QLN|MdvY|SC3)AvawlB9c!GaKV17}EZW8Uh*!174VAMYZaCmj~1)DiWCG@4DZ{Vt`@BtP#8-q>xLpLMCScGBxHzW>`jRqcZ>_ZS)bE$bbyA}wm8@ocvB}?PPN<4{gupjO$2r~i~eQ7 zl{xtux?(6^YJUY2na0e08gJYqQVE`uGmg1#Ge(yA0G9w=kDyIT;$R2;bG3VaZdn>r|+od07!PC)jtUmCJP}upSpxdN!V2q&7 zt||~%nuz_ev@peSvV?PSizss~mmj}L{hcT^^hrG&Y?dJM9?ZDG4;kK7%DhKE^_NUT>w7JiVjg9q2peQwMDH-<$U zlE17|ZdtSZkb#$FyXG**+;cetSR%~+I)F{V;hLHJm7*Oao3{TvPPQiA&G*b z-98&DyRQbzU~>&$7Agp(6VRB)LMAtmjg*l~d^t}ZR%zmAR7jDfUhwXiqJqr50iGS6 zAAbf0E4z*lT8PJsg^P;cQe;WrOlFQ%Qa_8hO?UxhE3K-+2_U0LSCgRyh6`_t{h%d< zRXWhVlbclv1Qb`)+aL-yvkaL`DuCeKe)T!vSs+hV$MFT!^_t_rVA)r$N95;tq&F!5 ztwycv#4z4+dL=mNjXf1}N+>=pYX=9K0uon0*u+Qz%Z2Ahx~EA-yXQrJOQ#Wp-v1*Y zPi$&v;qV7HCA^i?PH2M*-pq5Bma+;xcW=zlQre)5wu_VSxCph#dT2&t_MYuuIlUPTDocj8LpMWKZS&x7yH@M@+$8^kLrk z>TEYSjl=raj1@;jX054K1Ra54U*{6V1H8XOz4V~@uXqh^c+8;(UWqMfz-O|=_elKZ z&~%Se?Y60Hd1xPv58I`tVu^zjzaLgZ@@!DW_me}gDe8{%*PWz$TBJ!u_VEo4oTXE8 zY~N+~e9Rgj*Gy6Oj)$V{VT2uTz5ch#;WJhlna*T3N*$ z-8!l8KU2kgK%;>Fcf?hrg%-F~<@%Yu)w7bv;J3(nXAJrBYai*JQF_L&!e}EXmQ19I zl}ML+oir0Yj=WL&)%2?gu!4?9^%hg*VnJDrqOUIjrKZU(KJlKA5Ou_H*YZ8!uj4RV(cXOnS80QEplZ z?dJRx%O06~GgIzBYkcy@Nmo?fxmL1uk1c;?!vSbF`!N0;hdVhn$zU0_jOr8(J?NXc zC4y{oYDF(Cn&|&khSkEpsO5LdE8dF`Ztk~k@dJbw=n|TD?*|Ss>J!&#hMX#Y34a9L zLBjLu>1~IHpv%(G-c+M1Y6=3NHU!Pbom0GkE!C)JDANxNU*0-b8751 z6(<{%@@H25tu6py=Gh4BLDct);^-P+!kOu!`SJdXt7=FU=AUT1MGcx{gYVjrKBM@x-qDRRQ-iZo25@0i`%!w^bfOIkkDGzk6LvVr7C-AJ<1gz%94&{ScZ7@N% z_+`B}d%9U(CYs69^{aKLAE?ZeRGVPHu%!CK+S;OLZ1Z8r+r{}=y?_2eUZJo5RJ%S! zDa6;cKl67v^B~z1Fec9D@@}2)h`c34KW$IgIQVOn z6^k*9P|n$1{#zv3a@d{!{lS5g8<3w)&usKC8QWM~%IDT*EZhr?f zD9|S+>4@(Jn14MbR|mMAqa&7e_kF|d>0Vkdr+cC@v)oWGzE{?{EEy?742bNrn)u|S z3P`nk@<&-#G`CL6dI@36!)VB!pgFWo+=caLeg&PyiL0?<^)B(8xED)bj8t)5ng<8v z663qYXt(lHb=*jf2}Aap3uWfso8aL{(7caRg6|*+kiui>Yw8%LB;DK5FnGsTaq~#ci+&} z>MX3yysvGzmR4sh^AaJip z4zRD^g5WllZ7cgHwB(_-W6JCDI`(oi{gK8eT3PFZ4`a1%#KR3KK0@M5mE+*nlF06Y z(cH$<+Gog^JC=l@EQZCxQ+vE)Gysk1Y5VpjbTuZHVm)qkCm&$Td@PFq61jCdyBHAm zi@kv~ZDElup(%QZH~YwWGUtx1!1WMUKascF9fRie-ZnH}irB_FU_Jt4fk6KEbk_hQ zQYX?{;{b%i&Yv>U7m&`()DcTdj$O@g#}IyZydfezkL8M|1IRmopa;Jz4jjj`N3+88 z8mCn_efY7`rDDkOmmrBKFE20Wb$b^L&k9(8L579xV0jorUA~Ooyd9;E66C~0 zrbS=WX}VDUwxj#-U9&#MAXs+$hRev8AsH!rCwGUHZ5zZSVHq$>|4V7+t_ko2Bu95ouh6^}p%qxwJ@{XSYKu z@}s?FU5-l49`O+}2{T%aSyH0idKP98Yq{KZzx?@-KA8J!AS&bhj_{ijWlCR2Oi zSne*n_3sE!BY@bW)+0%-N2R?NcIa+OHfPxB`4}f74D+USPux^v#=ch6yM6)T_ziMa zoOPpc$ss>QcDfKt?5lX(kgA?+> z^8QWo<`13YH&917$$P+qMF0322DxG=(|@1Pr~}~*VlE+3)HXpLyP(=+3tz3 zebHEQP3nYxJ8Ho!dekMj?v1-#SlBEcGel*Wp>`VIRMho;Uh+r{C0uiYo#-r}UlE17ET&$2`!S{9dYha9YU7(vM_ER3_ zZ^JHLB!Zk;@8T+ehf^0E@+Glzo4Y*0!mpaSYn*dPFF=-fDfhv5Z8mz-;j`2j5?A68 zKM^jejXwFuPmwwf&I6aKyYP1MN?f_`3W+-Ib}}?7e`5V|Y_MdSd&qTin!D3o4U&Wv z82~JSb$esTFX(}S-MqT7$j4^+(vo9YG|A0c1Ncvd>$oR+Tr*tT{=p&EDXI_g8@W z0pV3$Ly|`04|uFCQg?J%uQ6SRq>&NXj^9Larw};3EE?qx3w^!s zeadgj;lW|ylE(ttgl66h5LKcI`1b7NQkgf-#TpsS?0EP)tvnYFgj{xFoW;|o!b4L= zX@SxmVxf&!aLCvNq5<({0Y|gUjPavzM_Ghw-&P0etyZg}73ehS%Q+vW3WCwqQ4(&g zD}(IDv34v0-r4y!S&Vq&LL%HQFf1ZG8QjQ<83bJ<9zavR+EJDt(CLSlY}h5eL1<#i z2a_%P-H;qrvp^*YWgMn1xS0jYCS3|J;GympE)uUsN!4_&v<(3b37ruA0Ou4~0SRR9 z4hL|i&RNM~Ybd*j4&O3@78+=7UCTr`Q!q)KMDW^43r-TPz~Bm)4hEG7CDaO1(ONW5 z5&uuMAlF$*5P>-VKJ8Jj{zr}$fQD}T0W1Al{?=Yumo)tN;%ww_p?*xpEbhDl<;hpnB3%P*bU2$1)3Ndmv}2jT8=!g_pui^mw>B?)ZZ*4!n|C}t-)gY ziX~awR!$RBwnO|>xJPrWcPve{@U}|yboO%PJl$d{o9{#gtiBUITB_3m=O)F5oM{Q< zDmn9E4Ru}C#+4P(;@N~Z=hlFNvT73{LhZ{kxlvcN9aly#kr!YT*QlUbo5cCVK zFoK5)EC=;FARfgl?#Jm2n)A|xhS!Df`+<;GS>VD1Y3D{5Hq6Pu4m|%;#GYKGb1@g1 zh*z0Zy%st{ACwI4c? zkI;SJ{;?HRPzU%8-tmOlNZGw}D@Mmt0!4jM2*)Z!sG@C-+A1wx|0Io`K*PpTe5Uq* z?gLt2sm}cB@^V_2ta!Bdn;&^*$C&2Ht7h;y9U-M^kz!D43QGIkN_$0dkT+*rVpY+K zGZ?fpSr*hKX)xKMr(zbgKV2kjhpT77t^^roC(_{b5xl83)XhHOFgiN|f0aQKS$V(s z(C6JC zjKc8Tc<~9J?xBOtxCnW$jcuucK;qt~IuGCU906||w})1h@{ugcp=A-+eOfT68!BUQ z^V>4@^LwH+(4C}m2%Ay@pn@u}+g5G=f3Vwg$(E8jo+1fPrDj|NL6Echeo3YZ@bnFU zRDNnx1aB9Mc>>=OP4Zk&M)}@DCw1#9(~!?ThG+LE!tV(D#xH=gBT9O=#6eA!4yln_%$x&Gyg>=x*QKdDC0-&eozwS1()`By=i?T5kHqmTEk zE4Y%wRJ9eB8sYk0)DPI+K$_R|t{ihjrf~+l!L4vP8{qKfu)1b?J9xOEOLbLWOJTyV zd{6O8YLG4%{qvljO08zen?a~lpg40&^>jW-WlJfc3zCii@T!JbFG{*?Rad3i^w4Rj z%t^x(ei8h$|c{sOg|1tBD2)$Py0b z8V)~IOCCrCPR1`et-4kYyLpOeBaN_%nQ-3D$nT|@uO3zt)~x*CLFwelm-7?KP=zG0 zLicqR8!}B=!J4AZ4L1bVC}NVKSb;laPvGqJqTujk{=Iyfm)PyK9#O8=#H>R-9&)v= zy5;CDYf9b~fv1{|bC*~5mD~z{yM0A9^b!jNWAr(}8*+IPX=n90A<*+IEtuxU>*Wp` zc-lc?*Xs1FSZECGG2^jRDDe=PY#C>HB#X+VNM$mDx?wW$?1^y{AY`X5aqvvy!c$3f z+`bN43Ez#OK^T>4k3?)^_(77GavW$o{219Nb0U?1C`SQ2$&wBgj0Z-r_+#wzo&EB7 zl$Z;9h?6=K6whaN=IPXbpk z%CRU}O1-uzJIB~foZ~c0yQW%Ubd?doM3+s0jLMISqe&Qo z6}K2J9}sq|I6|`Z0_ZS!9kv>U3I>|FvarUu)k{$mi#6UOkAUnYs+Sa?@=cV}Tv%7lj=pp2~+?s?A$$;oUN4;w+CggHld7h~wb5skd75 zY!kT{3hXGs=Ddj4brWHcnWD~l&+IUh>{mu3@Nwh~rs(?}E_Ux6z-@kK#7~J5D7(jW z`((#AD7;s@-3GbOOm=01pMWj;tS@Pv8t{1GW_rQcAcptT*$C=NIZrt`(~U@V2EYCi z5lxk$vPO2I*=WEEj*rH{+@!T&h5R8!yhV$y++*0FLz`jFlzF3VRN`~5O)g;mHLZ|N zhq*Dz=d+kwqG_$V9Fq6|iP=l{|54C`}7K#g~xhaEC7AL6t;+Qsrhv zV4|1QT~vdH+gm!(@)|HuR#=K1SR=PBKopVFnuAl?)nRdUYzl(xAbMFd@8~=EmDD9P zW>yt*B^A3?9a9IPXO)ka%apiK%S|zFJM3$qc@!P3G8xF4*hhxZ%)p9LEu`MH6VX`L zWg(i}7TAxnG~*=X6YM_Fn(FTCHWybwBILfG*XZv^K{(iwvvidy;~3rjW@a8oS$&qL zH^in&jXh2$vosFBS&?LkO^L>8T=2BnCJwQ4j-7SqECG@mtt3OZOKXp7v7klql_wQ! ziP&}KEaHPOb@*s$Jy!qMJNQ`w-vz}ob<8lt+0GadCH7?dV=5WDOcMD(ppG`87h2-z zcs$%ar}XXHvVXL-=@ zRW|#$#Wgz}IESj{3A`y0cvZH>+Re5a0?#JLBnNt?uV}V2XJyaT&odxtR>!lyo747o zChF~J=Wxe+jo8+0BjuuYwCU=5hCJ@gL&?u@+Bs6vJGfQdOi1@LZa9LILHAi>*(Ijtnr5UCUG%V#@KOQ!?`Q_QK3K!N6k)UilkxK zfzWti20h+whJVuZskRPF=|U2TT-`Zj!aZ;QHz5P1p3U^xF@Nt4?9=Qsek;XBywkHX zjWy?S#c&w==B2($fuqV-QV|fM=^nHZgmg4a^-_#mB)&YBkMi86)|!RJN+|2ZS0R*|IxJ6Af9UWW3aMOiQ&N3K&gvE^WjXcUE(sQ_iF zAVjOuSD17#WpXnWign;`=hMmWlO$P1=dmRE=L)|F<6f{|6N~5A$8MD@%0^mc9$Z3A zMAm@wFWP>kIy0_AY+ln-829GtiR4W@+=7dH4s~L(C`MJ0>_qE*{e}RS_@)ea zSJKphUx5(js?}@A+Eec-9MO*M`yQW`u41C=Nvq!j_1PuzQV|zx_81I{LI78AJTV|Z zQ=95)hqrz0&fNSi5;?33k2lT@$GRdyr^CgRW{)uD;}7Kx^6&U3 zm*!N-?KrQYLN2b!R^AvaH}3&$Y^CU;g$O#`vE4O-%4fAgR=QbeM>G#sVcU(py$JCo z4gewqUET)!Gz;cj9dfII29)KDvVj&D91anHfF|GdeL#ITOyfaqJFo^pWKUOrc#Y7i zqFCr0R_0Vm$l|B>zsCXzIH{9#6yS%%3oSI%kWO@%r2;=a6+w;#is=&2XCpu3&T(#@C&!~YEsI~!*{l${$&#WlsfGdE$yW*` zC!WleW~Q2KB5X7NPPU7iK^yCPi-nk0A;;EWeP<*mfB0h5>D#X%`bUjrHE3uumf(+0 zh}o-&26m#xZ=9m_+Cf$>q58~&w*p%xPpv2}KDKaIw<<-L?3NgEUZzr)3xKM!vp0T!v<>P)p+xMg@xOg!(^}j%x7gg!>M2xA7G@ z;5hzu^&rPFUn0HwFhzQX)YB?GqBDl7c$zTJ)sx8XC&5f;Rb`G%&PJ}(-%Es!LR}Q* ziq$O6O7(P0igc>@+Kjj(%?%1PTnZ$G_jUCrU2!_nuAC0@yD5}QKzG7E0(eO(p}ffA zfR9s5tpJ-Gg23P(6;nuXSlt3~wbe4gnP?z0LeUqRGh+E`2T+n|!4|U|0I98h&;V1s zOSstG;iT%ojn9VyAQNMx;pG7WApe7De@Hio0ud{RnV|j(6b7gd5dY!y{K6Z=FZ3f0 zN~-*T<=ikjbz7Yp;%Wjl*sY$FPDD^$V9gOeNv%YBOC`j@Uu8XZjHu~{A0MjW#5 zV6Ml?o{+qA556^Sg>eQ>Qk`;^d|Lo1SVOF#zB{txd$NY8hyyJ#%^e&~ z5Xy3qGT9e>Ne~J3?alOEE5&=!sQg?|=lW`JT5FWDbUD68|7Xw-q!>~K1Kvb)S3^Ql zNq*tf?-Kp2s}U#CDwkRMw0=TS@6G8i9lgE}OfunTlWnD^_jj6h@fq3IR;R7vcjy1)WM#&dJnb&T>@GP2 zxT$S?H5LEW`5jKm^82K4i3xyh0jXxV`#8QQe%CwLZZavRDCyv-tle+Hh3LuZew|Ne z1xOdqfVnICt!uVkd;7c4zW*&nI5*MQS&0Wj!FD)l1eAU0e^F-#bS9F9QnM_(j&|6T zf1*K_SxoKfKd{gLEz$>fp}rj!wsz4T;Oo8}Ypc3jW10xg!adbn$^T@1zaWM=G3P<9 z5<$$qcEvB~^#~7GPmNn-qg|tIrp1MNAwlH8Odk-U1y}+`*&T8(WxzUA`o-$~lmCn2 z3L8i-zCg@KcUNkeUGN_e2M&VE2W@!T?g84#E|1qD;08Q!7`@d6MRP6X3u9WNdZn!a z+6K#T+R7Ks`oD20$60F zho!ftUf_z*wc=zWaebgP94;guoBHhrw7GJBXdz1-oJq7ll}i`Bw`ZMC#6qvSf;`g) zEFd?$a5w1-I>NG*quatMtfX#x2QGPN!|wD9|A0;-bPJ3L%=+71Yx7NZ)Lw}bz9cO7swarKCt^mLSnu=JIj@y z7gRX@LMb>&;fgfU{_b{}wVaT}2G@psoP<~qOu|&$`KT9Hop7cP@QOP|F9t+HV5xt` zdtxk%FA51b^IG@8SVBGQY&zirJdkh1iP4-k?`9`;h~xr$M8yFr0BDD}{G$;o_j!8g zxnGbOD;V0??3pLMoWTFrd1J|L*5+g|yD(LC*b zia0!}AD9g@lrDM!2@9ngz;Wq}`Zb73-vz1e^f_rd^+ii0m&^FuQOAN_{mzwdH*4Gr zfKgY?R+Z?3_K^!%nGt!vO|L6XxW5RWm})-1`+CE1wtD!oe_+8-G-i4hGO&f12ObQt zlrUqE0I~x8-y2Sl7|miTq*Ku6e>NXQrOV-gqxyp1Rn1k{>3-U*mmvm49?;$XCP?yX z_~hScyN4$(D$XOkXIBXWTZiOUX=<%ad(DQl<(0dxxaWUCcpc#(5$V}S-MY$ z2v(sbD+MHiB_N;jv((eWI=k?M$i1}tLBpqXvnL8YyK^%V3u)cc7q;0Mm# z26N`@25hc+#?v$R8^0iEX;wTDK?}p>wS$8U8>W9g1J&;GUnKAq-u~Ar(5Ga$F;b{P zR0?y05gQp6{JhPQuH~im4gt&g#new=Vr(g}SbUg27&CRNl7na$&^COJ2`LKMTh;)TWA0mF@m4y3@O9*>bSJ8PuPf`@a~WbR+VYp18o11o#(oL4O1~9l(WJ z?`TBFbFYl5j-(DRdT2BpOn?ozQp`zSfrhyfb9&qgP#u(1UNiL2WLK$@5E(cJ516nT zZVAJty)R=&D|n%>q8maNg_*%2>p6h%t|UvQKY+Ziv;T%IE;MhKs*z9y9H<_+_YMRO zo=f;T9y+GMj8)S`QvVcw;jx!57lhb4IryOVP?y339&Z(S324c12_9JM>Ox9CRE{P@inXOK$oT;cPV%q#vA6Ogz=4Ans>=o7gnI~$FASDdndAY}!+AnPN9@-z zAg%1;$Pjrjix%~$723U~=$aGjXGL<<>bf)_-$SPufuT@ag_7lz$nBm8|5ky9K4Q8Dt!! z(lb38oP9hUP9ZK$w9pKHdxyMRn#LoYcL`zpxP9JVZ$b{Vn%Lt01c|)xm|NXXDNz-l z!q;z#BmTcVFYTf8uWiPr_y0c=KPpav!aO1WMk(%w6yM*}wf&f8#t&y^x*u`4#a8bZ zeIsW`iHi3L(Uyz*FqC(Fn(zdgj?(KLVY0TbS4Mnq-%RX@PAI}No^sh`>ct!os7o+DIP&^+d)p^e|rWQJ($zo(|ez7Igz1WApV7_N^!u|m4 z`>@@Q*_Y{`83Ao`%Y}4d|Eoo2;*QMJpV@Ke@7>{Z{8Og&|Ji{TH8J~P63cJ&hGx2- z7{{*&>RKwRDD9ZPr+%e1ekZRQw z;Hv8kubSPf>K544`qTIW)?qH!%@n7Z{>Ji@Z|%>&hvRta;H{fWod4+DdBYar(G<|5 z`&}9Zt>zG>(fr`5%nP|+-xsH~{{N{qudasY<_7VP@QNZ9rP#QAW6yWK#EXc3@I`!u z>s5mM98`aA1Q@W?ZfYM4!qJ2n$hgH97C-mrI-w&I@V18Og^dA6E5L@F*DRK z0AruK@ZzQhYd&cX`Mi{HW~+0F=K^l8#aF)J_wpLf_P3nACSpzL1NV#TV&Ww(^u@(} z!r%Plz!aklMD4_vlKcGcj@qx-#WkWeg#z-*k5lJNWI&BA0qIJ|_?8 z&q`i$*s@(JZ0_9CL&%}Um>G9v(@>*&ON?2q9^{_CnEf?-@D|7wQm>1Y!{v|k%rxa4YQ{BzUK4ka7&AZX@i)p z+<(J!ikAvC-V?k8d7bLAo40joM$kV!yxM=;1|)hc)L$4rKkzon5-!wI-P_%#lVIXC z0_^E}IOz_phSOR86KWDG3x`U_`1KN4)JC1^scvW`#eR4 zrptvrM8Z?sGt<;xFppbE!5!J3VoD{!Kj9hwSKr^J!xpD?$guxO_KQ8w0^-G=ml+KA zy+q#-K%fcK3O~9xTx1Bk5)835F{wNACj0E!?5zL*3=l9M00062KobA}P5?sqB=OK7 zrJ__q8mTH3Qc+2zL9lO1ND#d53SSHgPoQMd!iFpv|Y}%*t&L~$C700d#UVd+PW6v8=EikZTz1hr4$IVpD1k|znBA>|f40RTBsAY*t1d?^Px@pG?&ZHTx zSs2!s7qxC_>ODCrfI#^Wliw6i6cZei=WTg=asptK9WdoS+>J=ZBmU3j&~{2oEyL|VL@BImFF~6TI?w9YvHNy-kceArz z;Z@c(xJzq;g)Y0O*WB3oxbX7QT0J;63Nts-V}GSPA6Vl=6t1Ov$YzTE+{XSdHx}o* zC*4RmE%fuZPx9f-=3m_zn>5_1{wmU1>*9PLchXA=&F@hk?-`EzM(HvD1t^al&B@J) zy^)UyBjFm{JM-mc3`VzW{N9H?6X}A2i~sJ07nL-xGO|kf!@YwtUN7HE{{nw@Op@#0 z%U84RWUGa~#&u`@({$&yIr%xsm#_Q}%iH{qt1^%Hidlbo0;C3$pI@rd;XcFF=LN62 z+bVasFMh)i3wiq*Pb=VlKByL9GZ^2oTVQw87uxZ5p-+c==HzJ~X$ga2Ior}Z#b@lL zbNABx?pYTb_!Y-X*HD+sFW2jGEPZx?KROV`(|xZ(m)Uv^!yBwj1HyeX3A4`+2##C7 zpLX7W4ZSM*^qJ03wf$@I=RbmS72|Ej*J6n6@prF1 zuy6#o`Wg+J5z^GY548!UJkN5X=HJ`cFM~+JH@KGW>KGQ*Q@rWq59PV`Z_Ef&dejLk zDBKpmBweF6_FI7WK`pNIv@mkHR`1vkEi8J_9#J*zQ2)DJ<)xn9e$@Zjb+Ci`(%j&a zFD^XB-rmBSR(E^W>Rx;OFOz@sV)kDbWFYJO{c4RTE->$9-^G6nPU|O3{hO<+ulFne z>2JOgT>9}~-?Kk&{yhBixK=QA+ckScdyr}9U>A=48 zSpj8`!RxNqqwA6MN!i$){p@e?EZx;J;P}nH@2j4(aDUIJK>jliSS8lmKEP>1rc+2E%%xsZ?BZFA$GW_koS0??- zfgyhIa;Y+#APYzl`Q~G*FfM@HLvm~iS_Y@R|NG$vRuFL&2GH5yA2b;UAKR93w+BN! zb4R(=P&sM<#Yu_H#+~M4OlO3Kz%3@vrw;eQeaJhs4~5u!pCQW!&hi)fJt?=at{J)I z?+izmp5^(`9co*(-;5T$OG97mxzngOEQIzdUF)>}EbT``t7k>kaL;$-@OxUnzu>0sO|8R zcW$%2oU6T$_eb}hb2aXg`z(6T!PO$WA^_X$#yGY6Zz@)P2~{$ws&fOVI@{xZ`$3)x z*%e(0bebO-7IGTo{F_w;t~gcQr^2m_fKZVFo=5k znUeO!V zMn861xxoY6v~%VU!kbbtnzZ=Dj@w~%H_u+VT4fC$K~+o*j2n|(#zh~TOVlG*^IzEM z;u*i(^^LC`z0~0HaW^h~SIEPsW!%7~?5L*xR}sMhjQ4eEYrn4|%gcq%VDZ>qg{$D6 z5@|g*w{Z6fe8+*Wa7FO7%``rsRb2N9C+Qy-VWS$i;*J~9zhDI~X?a&L+yIu@F5DG& zNn3e>Onz~vs%Ql(j(p(~^?Tah5;e@Dci?SwA(_1zE{&B+DByF;7eJ;&jXf{%@+PW! zl(A+hq{F=nNoQZUQ2j$`H;5MdcumGi!T)mb+P=n})2sW|8Y_Ot+*QOJd*v+*PuUE4 z$f5hlu}8hbF8T3uyTy*zh1?Yz$fwQpyB$y%{>sY%sH=N*1w6Eh42w?%Ux}&F8t=!& zgg zW5|^hg-H99Z7t(7+R>d#vK;>fa3;OB)XZX;6An|~=TmXZWcXa3F;-nkSktF}(2HRM zUDltqu3n{*g4sGdY`PG;DCES1u{k1&d9I*5bv$t)fufuG!Mbxo`_t4=H(411#~onh z6bLEU5vZtMt`qb^eP+P9-mo7v0}2RIoI^f2*AQ=@wz;_Nlaumt+{W3!d3&*4eHYHk4O;>6&P?)Y4PL7Tg84kk%wi6Gl zlUE4{{uwV|B?9qtVuPxJB?q?8@R{(F|MW4>9xW)?`}(KQ^>Ns?DUjbOJ8QH6YSZ!IQ7d7n|XpDuOFa9Yx`ZW{Axg!0>l zW0D$-u1j0HJBSZ;;wD=14Xhp%dNvnR1C$T|(u(mAtFcKW6{AJ46GX4(*vUZ~M-bRy zrJEDdvz9oIiuBzkQ}bQ6C?@PfqMUT=Q=>*gks>CvRT9`AEC=k()eU16FQs!QL^q9!Wz;CYED^dX#i-l|%Z&Qz_^k}r zPBlv*xWaB4#~`a4vAYyqhCqDcc|x0MlrK(pp@KLDJpC7JwTCHQb->uqwy&BM!XsWZ zZ-b<)vjR%@6BFoE)Q6AluV$P0p7ODY+x*^R`m^{ZZ4=Iwi;hvW(VOGa-GJ8T4t3Mc zlMGhvy^zqWob*P`Vb?d7M0?7xu27!Wz-B(Qik>WRJ}_N4P<1l5HFHT&x%!P=1+y+v z@XmzVzp0mLCN0^7PYr~5J8D_}=E^OHx|%Z`9>9gkP#NZieK1tLOkfEq&C~Q z_YPX%5eLhkS+3^WBdxu6LUj>=Y#X+kEF9H~8)n2h!mV$Y>|VL?xtmJ7UL0jzw$S_X z56}6Fw+6$RQ|T=4UaHZ&RI>Yd5C2do>m-XlaDygDz$}%%a@NX#(CxTM(D-bo{#oS2 zy7OBedOa+Yyz6=(X$vOx-PMVesPaCF=UpZTxW;v&`Dp!mNZz5C$k6TFq9y1~Yq?k3 zF1}2hC@vz*O?tf5P7%ZR<*T_EL#OT&`m(GPx63QAV(>TF91j(W8hD_rDf<>aQl(fT z`_AP>atrwK9hgZT4n}RoX$B7eoo;TE#BN+~uUNHDZ{x!DV9&&H2@>Ru@ zhD-*KCX1BK+U7g$k#0hWDHy{?{R3Av8?iMLNwcfe(n+Y~$@lM*{M5>xj>BbbFc)b*vUd?;AIOzhY7+cLP5>`?m_{<}j_Gk?E`pb?$4p@Z}pf~e^sWM3Wgp)fJ zdf$6vd-1112s`8PJVzOxZ^4cWYRv_4~Q$I-cAa`OD{B?X?FSJ?`KgrVxtgy|H2E z3v+mznD8RTvUybWmPw&F3&=u%Yhvsje#F-J> z$)I*3y>LbVbJ;FS>H4|riGAUXgY7;<2M)aLoOz2gLb7BI{p4suiPwGNl!yHK@q$75 zu0yxzaeW7gqRnf;dpu%A@;g|>CPc-8vU)2_=_;P$>PKgdzdR0ss)d|Mlgh3qh4Y?;> zeJ*Kzn0s1OT3mgTA&Rs-$krw2-3B(I*fr;eXuF1oaE>x`yOR54>@V&XB*;+>+HBRD z5B&o|cq}$``0Wb~-%N8N5dzv3!)Q{dgVsUdJk#5iYLb_lmWDLE(guH!oDhtAX{-P;#b9`S)n} z+~lFbocdOtHI2pN4~p)orczrmlNVIOi=MDsiX?Y6`r{N;?n3OVEd$_%Cd`GU!+NuW zl!ZfawURU>iP#l{h0uYKt#Y7JF0`Qw2{*{PtBKL%qR%k9h3z*)@wpATc&GRmtbOZq zX>xvC0ZNKlyO79%wUo%|%IIJVge@GGup$2z^3VTX$SW9^KeWnW2*Z~Y3=!BkVt|pa zQ;g;n{j6gIBdw^Py_QcxJ5oHrX&Sle9!5)s#B)MYxZ)bypVfyu2rDtnb zpPw~RRBTSN3}#D9uI;f2yiq9`bDS%>Rd$omQ_S^7piT6aX(2Ace7@4bz_~aQh}=cG z8nz8&gas%8ZhcO`3ST9TVZPgdN7-kMuFviF*Op zjncmhkIxWa)JBSTIpA~^G+3&S>sO4N4JGA_f7P~N)XnxlZF`g1ZkYJZJ&I_izAz@4 zZH4|n9cfXr=7AJLO*;XDZ6Y|rLy9<=?yY?rfoAzeE{YDo>WKs{@3?4s=3}Lji z4$c+QwVQ)sfu92!<~YI0micyxvfONg|MqtbBQHp6`j&sT6}4#v_#&|H>F}U)5%>U0 zrotf2cLSvEql3M>BR#gU z&tvea*r9oVwS7 zJ!0r}srZX(VW%5NyjuhDl926)6L1sai;B=5I8+&_?PBFjc{8|7y|NB*>XYst>A#I;d2vL; zNzkoO1x;#|s6%#uKM<&lifkYjGb}zK)oVe2-~Y=bH|i_VQFxb4BIZYz733vo;x-be zwA132_hvg&2cVbQbWIsEpo!3RutpzIjWO(#f)df`WJ!_wBcV$e&0z%l#8@WCA#GSR zjDx6CHgUDJ&wPCOT@RyERcG}v)IoX02!IluiwFvPP|VY9F5yOUtgRUWFEV#1oXc!! z=_h(4-Nt}Uz|4-+;Jlw98DkwPT03chCel|Sbw)rp&}oe4_?fZ}c|3jkNW}ddddnGP zWWtDUCipS4Nj*SNS-=S`8{QpfhquDkU@2{wiI13on=*1UGGA;`LdxJ_Hm!v=!TLQg z6mz-GLECBwqYGoIv!C(#XDxK9oJ83J@Y;+!j;d8}KTa%)xhuD@H?-O}tr zts_u6o!Od#nJ6(<%2%36G#8MDu!=;O{hS-%NM2$bG8z_k%jAUi>>_w`DXwfS?oKly z5(0q;?HBk>whsSxy=&^g90==1CyNnvX>W&*A>Gxi53jB`>rGA0<2A!ls1z%c>e!q0 zgaPTK&3EXyRJAHCsn!$`5~3^~4t}Ij1HnORJW4O$KSMy%Bjna3vMBUddb5{D0a>j0 z9u<3F-vcUNElI7SL`0e$ICa&AP|E4>n~R%wMrX?rnu+f7+nt4*-ib~pFIPFv=9-S^ zdU;%Xv;$bSONI=S=Dz*HfZFlooV5v#zE+}TYu(YSz-IgFnnm#UF=k?YQ9Vc;Q^IV8 zYayMCLIoDdG%-lVu<%V=TZK$>mV8|IR5DqCFyML7g2EiL4_%;0A2*~SM>XDB%{%}# zMyt2AmYr;fno@cqx{Cj2MK0(kjW5J7N~#@&B)X|=R~;h+^e`3H&0`kZor_Ezhtz-$R_UuoLP%>c zx1u@Kq~MK;%`?%eEv~&dCna@3tLJWyLEW2cZ3N752d5$6lR6Sup%s#bnI5zuu?IHi znozi=qdYLZJK7(AK?9Tnc}VOLf7L zFUe&?a0twg{I-pLE<6D$sF%FRYhcn$C)t-C-_M&eY^VCEDh6KCZ8&o6ar$QFGeZ*A zdl{tR?NEARME>{-%mtL6q#13?Q&yhXF_=SbirKd^^?0)nQE1ArM; zU}#kkL)l|-*A-dnLq`EW4=s6xF$6l8Yrf;-MhVZ5CQLpOKO`A0xZD%h(khB6LApQ< zzDkNUin0rLUBkgt?5@S!hjhblBv4DPuB2S<<^ko5%&WS9cnh06&{8udKZN$}x?iIa;qd`4Hkx=7J2SJaOqD!l@*f9`scW zra1~+V$apI*h$9TOP5?-o+pf6eBnX$C*;RiY>uOY#DMg*wzQlXBZv^1*c_|FUzRxa z#68iV8I$2y~28n7fP$yi%bqzL5 zi7kj1suF&_Y`oPEva8WDBXTm-up4xNQ}x%^T^%v7b*Nc8dDhHH%z}X2U1(h1<-9k- z3!lv^VniyyJ9czJitn4z(LQYETE={qBw#Fc&tiZij!g!V%8|9|?Q=4V_R5g;&d*~`&ecY*jgVT)*=TwceSt8%R zeBWIfp$Lh3PMB1?q1?smdA==LoKNaXVTTpxVV_lq;TJMN0ENWZVGd zRGfcQ%yhZ{W_oJ5L8l)!tx@F}YC&G(P!S8}92}kAXSAMT*YVkpA}Esw*KiMtV94ke zD#n;T5{vyLC6z~3z@{Acsvj$Z6gLdTq3YuaSpYu-$*L5;W)^*yYS@$KZoS)i8pn|( zY6sAk6I?L%o(Jw;-cY8&8zpYC7T_>9oC=JH$Fs%N>rCn%`s8S6rUgzjy8@m@p1}`- zbue{Mz^#Bgtv1Q-S|Le42_Ietjd4JOexnwb!NZ9C+$_G0!9;N->D4Ak1!rnL|@nHn>(s(aa9*^&L!z1x_oK$0S;F)>b1 zlCMzmmZzFyMtz^>I!w4#M?<~85s)(1s&p?CbmFAD!J*AtCLirJj0oeMWLjOFo!!Z~ zv4HbebH%6BYwH_ydOR>$$K-bFp@yT?foH~;+zPVTPt1q{-|>3K2CNMLBcO$R^==S;0|sJb31 zuoyC$io=|*>5^GS-mHTiCJq?hvLq<$I--#GTk1ZIi9Ga3gdH4Vx#j@~BZ0lO|B1)n zxsNL#@TCyoX2{4cOD?;_ckI|%0aZ!qTNy3RTf29WSYk@j_UM3E+Ovv%Hk?lK6gPff zMV&cP<;chs1?hd6JLXUKEAUlbpcDny%2ujGwZ?Q!YRlfOxbweb8Q(>T%@VDhTBUf< zdt5qkzIzo13@r)4piz$mTS(kL$MZP$%A|^R)z|`u6tjV*R->?$G8Lb36Vg3bz??Kt zVJ@roS{zP;1c^@jsYZ3A`Km+uv;ou+X{)pAA|tR6YTl0b?D|Kw&?64 zOBB#C6naXE9s?E0_&L&bA0<)0Dy>q9K|pDN>Z5JWYL#M${Q!#RNjS_W+J<9ipzrkS z9q!z0@Qh*)pRX(6gZRDhy?0rdZYjY?iI8}VNwzHRQuZpP5YD<(OJy!WSqvzp(N$-% zFqQfAx8EdLx@>MRwX4=Vl{0sy&(_(GJCJYUxyvxAsrne%CAqU_lDvX-&}NV`PS}?% zcV#jSP{>uB4=mm$Rm24eWj1p@DQu~f-5eObJ8%ihVDwhX-_Q1ishmXkBCKVu3S$7{ zLj!aDt^}s=0&yzp~mqb@jdi)_^f(S{+gLGf-HbxumP4=8qb0=kN>eP zdmiz<_Y+czI44z)T-_y~x1wDY=T?C;Z`IZKs}`rjA{6C_`!#8bs1%$hZ!Hudua0AW z;mc?q-82bcRVpO7rabv);>`N2vcZQrAkaLaPAh&eJ{&!r7+efVyfJr?zWMU0?jzgPe~w9F{nCJzx_h; z+3-#^*j{=srORR%qt%xDu=T0S)&V0Ye??;l8j3*v9Oe55lT8(urNB}9-=+w2Kn8}qP zPx6(Iw)b_y71O-P5X)&1(gR=-QMDKZ!Y-=MXK$vGqg*5wpf>LTgij%5gq>Ovy6W7H zfX@Q`tY5j~8I49cvO*N4w8&}+y&<_%Masr%O_t#S;`7iuyjentH61zNcJcSI(yd97 zPdWl50zoC|igso{FL(pQ_fFM+a`o|`Z>DAKIZ5^QNeoICRHZe-hJAZ81)O~*H z{_YIEEU6QR6nY4Ln|Q)yGMK3|=r`?bjBk3C?w^-l{9VJ5%LXqKKnu$_C$f%8>Y7fPqB}0n@Q`Leb1ec}_rjLoOB{I&6 z55oZW|AyZ)&3K=v7OC&m^mrzHOzTW*q1dSHVNy7wh<*L_RvLRL_lPyr9Lhdc!PQ@G zOjSxXJ01CK#0CArzd{vfYt)|AFy!m{8Hm-&)OAkB zomb$(wgSO(jr`YH(JXtNC@^YZ6?;+n9@?3p$>-+h)oVFroW@7USajDahp%?^Y|mRtsfKemr9Yi;X_vzf6JVw!|0 zsI((*q5t0HmRDEIH?1|lu9@y~suJvNBg0_BH!D>al(cLgT!5XpQNX? zaIKLsMK?^P3#KT(dy$`oCDT$)HhJVMvQzA6N&LDV$&*{8EG>y2(l*>Ej{{&-+|2PA z#C7fMPMxpNNLjRIqxa_-Hus2vAxir@Y%D}J*ib5?33)Am3Fl|Va?M739fkyG%8M_h z_O4(px$Ol+hJifc^K7A}eN)6{WAZZP!)&7O9(_}8 z#aouPgaMiq0~8D(9(R#37H#UQ?8^85;MMVeuESA4^cx{kIf@(IV5z19`_>`>xEF!R zTts49vt;s>kl|S}o1+(97@A@Fnp+@qt$o6T?|ff}Sqm0l`5Hvx`H*~FQW+eOzR@ez z)8HZhCxK$%)5w|A;bNPUQJKzs_Y8wW@A}OjPp0lY&5zX2y6F5<@T~i^FY4bu?jh^MfL?yE z>(3o}#z{-M`GD7W{QUPH*ypCo(#^A8$^NN!atZx>lVY1SvyQwb-O`JZ&+I>&{+o9( z`E&IC73bWFzMr>WL=Kjx|Jsb^H^$ceSLulQ{PeMy+xaFbO7(v#gsuC!5Bg4$CEffN z)}ws>D%-EtuSW$G`O|M)B+j2_=#~GJf1C9fAHDvc0_SvB?Wg*1I$y=OD>%O%@_*CW zQTkZzXnl$Y(}}ta`&J<%|9#W_IKP7WqWzB^SH!-LhO*Yn4Q)C)@YLZmsrslt#l@YQ zuajSWLT8BUKDTfMnR|w6Jog?ShVssCS`c9!eX>RbpUlOXi(!9L-zRz#bIRrT90o%9 zWm5$I3%RP?hvPSkH5{Hl)=YUcBXwTKy*0sJn|k-i7tYC@hx~&yzS6j|{Q7!;65sXG z({p)uvgbRQ8(+>9zmD(FJIwX0usWAbw9x7N2O)WhY< z#i=(RJNIu~4^KSn_iBA!Qk}Wr{cr0-Q4@Pw_D`<=Jm)80H_Rfse!h5H-&NXch&wlA z*YC4yq5cp(eNJ_{{?hH#-=JE4z48Zd7WIo|u}^*UnODw}(d!pSo;0!&o^R)s+x4UN z(SMMmhf>^5GL7dl6)BoK#Kcfh}cNJ|OjC|JP$0eWPz)uz1ipA895P`wv}C zBQZVt2N3*;yz?@+TL0ekB=Te_3Bq06UfoAOz|H6WaJ^R|+UKo33Jk(0zi}(Kf~+99 zI-ByPcN?MOiS?_D=u|xA?E$3pp1?6eq9V|+fSjp8ZNre|uu93QHCs_er(*#Tl6Lqq z_}2(cmG|Ty;8szOG{6XrTF=D{(-6#n%ga0!rC$T1j!O-H!J+J_PBzHq&i=_}@Xh-y zhUjec487I!Sb#MtTyu%Q@u`hks|d0^WK`Ns4upa7U3N&I(I(0km4um+Y|7?2d?2pd zv^m`6;eP9B^mfqFGBtzu@E1j zmqaV2IG6(*;0!(;0p>8M3gpsq+d{G6vByyy#VtlSKCfox?F4M*)ueYY=6i)197;%v zB2vR(lB!sn6kWxlCK%ni7r^(AC!d@T-Ei~639Y5X;Twh&#K#&JB0`d6&{PfFRRdEC z6KMKNKg>$E;;O@bl;=9aaHam+gszWNFWg(@B#Nv)?+&3H+&g^N`aOE+g%(rXSe3GU z5XNXxsZODKEV+c?S*|NVi%)un02NZWL52jRFqvdoIW~V~wmMp|H7t~6zPsRj#+>+e z_!c!WgML9sC`}kq>Q71K>aizPOlA*OAh=dcU@^%fIaZAZGj((Vt#i7pK9fJ#8Cuz& zvD(D=bVaXm8e1`1i9)Qd_^NSQ_@uBRaKEY~VC}F^*?-3h<|yp3Sm3c!Qy>Y;nh2nk zL%Yh8NMxU|J<{!dEdZ;&72xQe3u_51)!75ZuEhrS4_#D@=`s0gzYtgsK98hQLYl+hE9S)hUDQzw4f0x}{4!oYHT_N09S|#_7TLFV7cnh%tx@ z^ptpK*-5}tN-2y2Dnh>48mZzn12gVhJkS90KP!>7C3GVwJ6!T^#qGUNWN19jZNm@2 z+C$@1av*q~Lyf7U*TS@8&oYhtbl2L)XMw_L4T8rTxpFaxC9T+W<*2<9d*etNb?VY0 zGwy|}G63EsQ)f}#A zy(A_+rWO!q=9hiZXd5t0VN5D0veYcEl`1lWg-7#L49Li1>0`lA=^-o%(}!KrSM~rf z@rTzygbC>FjJc`LonH_B^_z$Mc1oMYvv zy1bN>uCAtWOWGkH>@^!!onOxin(`>nPx4Qt&7q?Ao~%k-2Lr@rK0qRhx~aoWhGN7; z?XhSz!#L~t<;x>f~DRtP$!z1UmxZNU(x8G zsc)GJK)K1w$75mmHaDx%!0fZ(M+X9UhA~|8#s~6EdId)?i<0BXZFKAPR!MxfLIl}< zMy^t#U>20o^ISUhT=7^wQ}w1>eu>~78$6cysb<9Xj_(s zS66~LqGxeXhDhmC9vxadmJ+Ui;BhWx{ zK%t)LT~7?RA>~!nk1gUKYsI$i4WKFOj1F(Dz9l>v*4U}$JNidxX<1s{!wX2O&ruM8T??qp z11@bL8eL!P7CQ_IeB4U-e0Q?bVqauQbGlGD?&Ct6EnZ=pT8C4TwPWl<2UCzrB4MsP zuG6S8F_A+%Rd!^i7!$(XASt5I8w?#jT3ejbY9sGOOb2h@#|tv;#iuFZ+PrX!?S3`W z2LFgq&U44Q+S_@7{+IY_9)OLLRJ7a(-av$IPEz_@{2#eEpET7YLs``C^x_j&wY0Zq zAsQ%Kx`gHp$BA)RL@0ixy+5zUd%WXMG&DctNYtxlpEl_`tN&HCGeti;(btK1Vu?2T zfsDK`{gh}KtgUGBy6Guc*BlmInFEt0737ha4txlnfs-LWtgu_2#@dUW?^Xs7ozrE! z%x`3w?#>wDyftBo1;5#&xVFa$nr#M5!U^`t#pCG=TKl|ct! z4RT!Di!0`^N^kL*fd*jO_sF?aFq3>FEXa75bxKzWmxObeOo^zlf)MG&FeOR;+tEIP zrX>wtOHVU{Bt%p7>V%kdblP^tOO^0d^E`dnR$zi4)fSy?C`_kHheKY&VRh93U!G!X zO|xqZaVo@q^C1u2vRl0t5>Ba0Qz~Jc!MuB2(2GkX4Xtjrgho*J^tejc{oHzUX)O9< z?lUS82S&x(!4zWNNsV+Pe(0-5&Rm`rCE5p~rBxV{ka2*wq@K zP*(XDIf+&h47=d64hv7DkW1Yx88I9z*h<*9c;$?W@%NN+zS~Qe$lCo~$b6k$Q)dVp zqR_j==ed@R5dM0;(_Ow$ml%dZo?1VQm%AC~bn)*Lc0#b{nL~SI%5`%rI2x#Q{O2aW z36ZB?$|0>F&of4OY907LzhQ-i(t8>8nSsYB8wU zS}@vSOp)MuS8B z>>T=h&M)vaH7_HLJ$X}(G@+bKK#ee3N7|}0ZKFx&k6|_H{Fy-B?0- zHEmuwa(LdMZL>2v8)px~sdy%n?3g8iB$NsOpQz2czcti6p&xHhI9Irm5)8BaWoi62 ze|#>QY3;t_tcYFj#$+h9u`z*&Sch>g7$IobAy{yFhNENWM1}?o7FcYrz^r_lK=cz% zoQuoRf)?}mkQ^+wmt2E4&yZu9*%~9+BJIssvMwiH)T`>h4%COQuPGhLBWQ}qwCakW zO9x^&;thPg(kuiTYxtdbKI4W&fUTn`DXrGewM?`ZZ}H4ryeb`FJl5x%BRee1;uJy3 zC#Gf|S~sVPEw2h}%1U~vU;>mx6RpFfmdlW7Q_b`)+(6Pg!c6Kk?!=6r{unH?!|~gN2_-q0(%-7hgZ7R z*{CD9bZ(d>(mW#_jQB>@mb25rP0>#XsXi=EmJ{=#@=w%K(Kw3u_L(S$tcmw(wo;8a z(jJCZg(PD~#G`3ylZUDt*A?O>+;bJC8b_l(*GnW_4Mrn&sy`jNDUqb6X8Vg3sp+n} zxldP5(@|7ZQKCyXk;_fD<(i8u_xYdX*eoO#Iutv@;1Z9mujynuBpwYLGG17UW~I;0 z;lv;xQjM@}oR~1I8iC2BpcIVDubOGulnf^e8I^*ZBTS~Dm5_%e-X4e^`L`{<9-o2B zPqStjbC!C{rCUCN0alJc*zL~ z&Vi%Uip}_}iEh(RuvD+zXxucTo290L!_kf9LurMVukYiGHK>+!o1CWz#d58on;wcI zEiJ7`50ow@$B{Wg(s#w9DO>~OvT3h{P$P-yPQbGlokLK^z;=dVGwl#6E;kkyfs;eZ zfaBZJ3s=)UyRk!(wJj0pT3IxRMa9Z}qu!fKz^K}s0UG0oxIXy91J#`WD{L$v{RNl? zCl!jfu1W;s>HhP#R++qTT60(TI(eYLE~db-c7cZURj#u426oA~7#U1nVUY?YB}^1t z3{);34V{O9rq={5d9qzCGTCrpOi-ebBFnIgyO;!w_I`pX8YTij9`{2=IcJTHp9)m3 z%Pgy4p+t-UHb(@Ke0{MX!MDvAem5drY z7UL7$!k+!2>6Ko&6H3+BrOT8|@#qvVhBz9TH^@NASLKL9l1XQ(Y8FUgmz6!b6YwuYmb#)}1 z{3;fjj%PRR%?B+Q+45^5&S?hI$)*X8QKojYxGTPGA?6$fs`edjdp-kF%`<8FYHPBx z!ObV+P&Qc5NpCD%M`bMl=^|bxheGg44YN~&;TzF?(^%bXGf!x%46@^vV;HqNJk?g5 zC%G^X{|2l3i}nZsEjAd9;2UKj0s-6;D?Fces>bh4mN_;(}Xj zh{!1b8lU%H1+S1{r)S0O@3#hX^~N5y3|4dmx{cC@4Z9gvjaWK3mX^`SU}bX5MA|r? zN#Caqj8@W07EB$@dyT%1ux1KskolEYe?o^ziM7_#Wdrn6FLN-_Z=G4Kh`f3cFX_22 z(jJFZE9|P{?lBQ$6`Rto*j>HtZhU=GQzzfR2Sm}fW_noG4VkYoLhxbm6@v67xezr} z9X4xFX3sjF`}uZXW{Cm2(C2P3Ht=FND{X{$xk0Up&_LvlE>FGOhh6Y#fKDG{Pt9Ld zi!jGXQF}6bme-K*lUWOTrDPZbI{w^m==FxUhAV6A_Pj<|_mQ!jCpRdw(c!w})p7TG zP+Yf)av0{wPQwMJxD1<7awC5*U!_&^%0W{U)&y)~1Nf5ps-7yuV3^*T>nUq7aGy4e zGZo&xJzeQBb|dZ9nsUm#nkg<4nJU7h_;!Xl6-ZC0r)}{g;oBF0lMLP}=F-z}SLyP( zXEU3h4l^s7H&B&n;f&9Y?{lp3gx-R#zeE{Kpr#SX0MX2EA9k^ceo$gk*|sSZ8D$Q_ z-m3}FMSGz45Zt3C6|>6V=?=A}R(+V@ zWm(`|G3<33NP4uZfPr*F#&zq^^@|Z7`1cv9QfAA!aWxdNxxANi#qS#KV1%IKK8E7U zr<4U)brZ4}*mfV!4)h}S<~86z*PSYb9W4M4FP#}hoJQ?t2{heKNS`e(WlZe_EU@q%5Z553_Ew!H5U5Voj%S3n?R^-|%U@ry9^J;+L$2)mrT*Hb0K(nHeg-BEnQq8B;ww&_tw>O+d|O5S{Q*w^8e zkE%6j;9Um!DVBk#gUMkMPYTyB4^LA(o8e8eXB-(0ny=|$vJs4@~|tk#ldRw%0U zRt`j3`=~@yZn%v0{q#}>JcoazhjwLl3%Ng^3t@P#XE{YRr3QYq3wNS)j>XG0JbUu-X< zTPrIHE*jt9^6K(jR)InawfqZ!ERnU&%+ zB8;(dj{RAix=%e&>3}%s+tNw$~%3o#2;hJ(@MgdzLgCEbI_FZ)dl2e zoRn2dVc{sze+;KhSx2~K1uX!7z!E~Avt95#03YDth2^^&jN|6zA>ndPV|YRiXrig* z9NqENN(}(#Gk=K&y*$(;opW;H`!m|#M}!FZ5H_{O1M(oHxtA3ZA7ANKJVN8Wo;WJ= z!IhHNHVAhx&D?mMAdyQg+CJGo8{QLq2EO$J;lKE&%w1jQQ@@`>7TDB`ZQdN=dP+t* zcHe60{PH%Vla|!Qq!hTJmV;uvn6BV{uqOH9;#4e_iiEUzxkcr7Rt%KEwo?G?UN*Nx z?DL$~TMF3UY$7le&P$`zKynNA`ySLcO>+N5Oimf}?0(u*46dBs2n*@?*=0c|W&>gr z(%KfY^>a(=EBE!rSh5s1Hx#8ec93VQ6L^>NQb6 zboBVY*l!2^cg9IMsEZw{i+r6vK&E`(Dr|NLHwOtmgDE|o9UI|V;BR23mf}<{|lafT@(0Bzfs}Cgd^W!5Lr>)1lPE8i8 z6D#d_q{k50v_`lFJ}lvmyi10$gRMpBHAY*(i~uLt$;MwXI|5os(qe>C+coc_Ifr#& z#)EjRTGcg&SzXop6|5yFV~(&G=mM#hxCpntlViVviWn{cVe zus2<@wK)f!dTlGnV*GVeto_9z4H6%;m_?&J1t6>SB;8FtW5l=|!};%ZZn_lf{Pm0( zLHDHPGA5rf5{*flu4YLF!D&F5=q;IFV3`RtuX07z_mx zvJnn@@q2n_kEVZW-@BO32B^}Er5iFyyhdUecXRHrR22Tx7U z!DGd6QHXuJ-6N;Rkkz+tNrn^h(08n}?1fy}Dplv;BWERneZsXO-5j+jDeRMB*-Hn8 z2cq7a7H=`eIzyS%qXp)NVT7(lI9Ot5k8{IJW6_BdTR+aW`nnR{f?lrS&;h$|qqL)7 z-;J=ut@heLerEif2HOQw44ybSLZz0sP3+|cB?yu%JN&!rxXB9~Pc z0>O#JN>~)>;9B67$JYw&>n$L<9K%TWAkeq6QlXOiAF7R>qRhp{?9A^>8w1Yv{P;t9&GXxw8sY4AAs3(?O`$p4w zWZsUJ%xA@dj7rj*3ymo3#s*KIwa`9`;>2}2u?1X>QTM!%-YS;lFOj0(7;W%1jF#gq zmGKfQ&$CKLxq}tCj6bBHYq93I1o(5)+YOxw7BI*TZBB>JGPoln^|?rTlYOOyNs)qM zhIL2=T@kx*kyn@x)7brm9#uQCm&7hMVWPWuw@hvda#=1A9|F}ftj-Z_cf}W`P6k?w zU0z9ct~FSHyXqVasy-qT1F`2Pw6Cu{)Pt;2dnYHsy<2e_A81&$)TehgL$*70qhYYc zJ|S34S+3=10x?vZ*j`>U-RO+GndYaM-Ijh`*0{0QDiC@l@b;_J( z9fj!ELc1eir`M|ydG2-^_QnomyCBvtZ8$8EVmnNQJ|FY7C7Bkmd6PD=H}uYW-0O<5o=vjt{`7-N4&iL4eq43hVjwkF}Rhs55lyD#Bmvbgv&J3!vGT=mHj$j@$es`cp)foZYaF@fPHS%AVYyXM7; zoMwQ38{^OTq3t~hcLf2oR-?C#2e3}(;8(OI=TSZOtyckY%se(@gU3*#g5KyjFu;c) z$E#U_mF(qL8Frw0;}D5-oR~=_=sh^El&p+ARn=GU-f8kP$5CBkGzF`tD=-=R;Ijuv zHxLo3qJA`P;Uq7v@r5Ggy`2}SBoXc!8VK}L_heU0e^aHtfzYdo2b4!Fx@4{2Wh_Ln zG!w7Oz`Dq7sFcgL;Fyj=Csf0Y7Dzx!#`Q&8x)Si6`-XY7O!5^*Ee-ibVX|O#{x1W@ zyV{IYatV9ZI`H&V>;<*wSr`3Pn@J-oKxFxX5}7A)3lnE zHp-!*q=|9-){#Upn@K-(Y<8dApu*0Y%77ezU$^y60|ZB?-H3!J{L zmUW+ljLRCt90cN&9q{A0U6EHw8p8X>pzs-7BZPp`;5#ST8RS!k5o2^|7#n-*OdTa5 z6{g&W^)j4x@^Ov*>E(rrG7GI5qj=nM^f^Ulu~Hb$>9CMFBxM<}JkJw6`)nK1Y}T8l z%{gJyCVVP~SR$*a#aRoz&Y-~a6|+6BXzA?hGCB=?>{<}C@fW@6-SZIJ_E34zmXF4G z_OqaMYfbc39Xv~Ya21yU9HG%!I$+f?HGw)DL>y(Nzy+c0rpatnkTfb2PKFQ^q)K!` zGu&h=6c9Ad1J3Y|vZyF82PWMf@P*_LTKB1Z4BP>lK%exFqNM zX!-/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π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

      r|K!nN&itrY4TW+o?PF_rBdz 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 z z>gzPhjlgZpl(>l!0*Sydf&c(R15hFd08nT4d`<*^H+!m8-eAIR+t%Hknvx|ON+=Tw za0Hl9)^^n}d$-q(LxRt zvzf=Jl^6Mzhh)Xc`!=3Gryj{>CVyUwBge(V!sNl<#Fg=sm7nb6&T(gd^5VP4Dcw=? zJgb}-6E)&$g@J~E1qL`g|8c&jIYyo|`bX$}h2q5UV5RtL{rvm~PVo2fZ%6-=`!7Cl z=&113&$V#En+O7=KQf>ERe`$FbzQ5lth3@c z_edxhQnm0bXqZW8f(1kp;6T+?MR*7|c-YuXTnk@r9)%}=jm3kB`}Ik ziAH0+a{xU%RA>BX#5;!re$Pi<*Mw@9hlGTO&`9u3CMre3Gz8DfH@$Dq9XKTpe((p zDTKP7s=|}uzT*60U|-+y<@NY0F#DxO{&h}MSN9|G9ImC6u$gF-upCsUujvA$%9{-h z44SI{ZHXrt{Qlc&J0be~a`g{tC{p}rzUZp@QQ2OqA?p_kcC;MDJs7B2#pX&mO9$Usyexo zh{8;15MEo6qJKS#no%35H{$b40}q>#H}L9&Qld79%C-nLRH)$RG}{BsQ3MD?DM#hR z(3X4YOHrehD2fn8XqpP6%yoob{O_uDWSdsbo%R?usCa@R!}CzoBVcNxl9t9rj1@*u z6!&B6siUI9*yF}p=+5bpCu~tvxDpt$fgT^rs9)kM z@!9H>i>1d`%du2O5-h5F!$(0YQ_)qYDQgU0o3L)7T&h1ROQsZL66v5dhBcr#7h@ri zQt_#cu9|(MS{$`q%tkL%;=(FZQ}LKb4D~pvK(?m3M*kJ?oK?Aq2pu;`vXAzOP!0N; z$Eps@6w#5AZua%XWn0P=l9?a8u-dj0*fva=nhm#{NrIpatM?TLnn0kkCR=MDRfWvg>p z|MDRxkUP{jO?sKA4p)V8I8X)^oeCG^p<+(lzWJDVKqH)*zB5bmP{9fmT@F|l7et+W zr=x3DU-nb1&8VrfJuA#&oeD;F*=aFfGAFn$Dr+QPn^ta7G6@<+^;FZvRM=Lg6v|tw zzM58tJ2iT*(JaH&Nju3WSsD-w_RM3C&<4!zd2I7@!;Ex;SkzGY)4ISmelnbnlrmu-3RwsZ`3-wg6R7-TK zBjvuYM1&)tyqF^E?1G*mnoL3s`MvucE?3#Me5Pq zFBUzynxiPrErsmXao=is@RXNlD#`;6IZT;GYf_`EjELpc?bU`jRNnffvtBq9Qcvk( zz+x+6Pvpe5!1Q z!QZSoLGhnAW%}Ub4QOV5WbU7jw(?_PIt{v;XO(nuN}>)$ZY)_V2`0alc9_&f-}k>B zy~@K~gES&Uy<%HYlgQmgshPI*?24iv(wa1v?74pGEzJ+PI%}sWH>gb#MeI3ru?E{0 zRG~gw%R;G;OUnMQwq&`wzZOAwrgXKMFAH%#0yHHYZW_?j=~O^k31+CF=4y0aqqkPq z_NlA$oSv&Nai_KVf%v1)e;yrkWZvHXOvxVczH@1Smb<|Onu$d#pmd0LAO=S1qFkzz zXwJ|lHj9PAfA%i=C;x;c#GJpL=Ie_W+(!0bKa`-3Is{Z-uuJ^*@WS80JWNPYqELZq z%Gg*AXFTe`IdM%cNuJ8`Q7HsH(!ey)6_XwmU6XRE2x9`DsXfhMfgm0Jhxj^p%lVnQ z-Ss@bnq4JL7x4z%cBej;k8js6D>Z*|K1Vtm=`PJl_Kk&qF`^7K=GY(|Q>x#V=RfY= zmo(US7~n;ccOS8yP$nJ^2Kp9<{`T+LUSy4Q3EWkQMyF6TtP$c=E?p`zZA2Y0k%X+j z*@vaHE??oW|Bt~edmxfGmWu#;k5Ftb&^F}v%kz|Gb>n(u>9eaPWyUxd}zhuEG zm+Ly0N(pQEHI$_rB??x+DdqP&M4H5!kTQ8`_v zBSpRc@ym>~HeJAZqcx$5pp}~o7+PY%#T}x)ptCXjANG;;(Mm(7E;qNlk9JULr#5tY zhA?l9(f%s>q3l|UHEQn8yKi*xFk^dON)@|a#sXBGG1OmqEhGfV!DCyab4o;MXlj-} zYhP>1Hs{0&-`D)jl`0Dv|xvE*q;g|(kQJUch5n@jFUG+elfJ{M#k}tPCtvR~DvvS}y*2i7z6_YcaNewrW7h*Q2)n+io7jHmQg$ll%2Wkt{pveZuMyeY2lDK%}vfO}h>pM*29L4tYuRj;w+G+_xEf&zgC!_SeF4^ z8g1dg5TqTC;}Rg~`mx=Lc`hD&C0HHY6+4hSTA`r%EH9caa16VS?TvksyGh0X1y0~!&HM41&=sHX%1 z`4gUsZ`Dv;p>TPF+`XY}gBs=ym}d4A^27PWzkAw&@m^iKKEA%f^d?^QP{_VZey2+V z@*2_D_5R~qkl*J#?ciWiSBC_su`=J%X_63=T|`UDLQ-^U#YoW5GeYMw@!s_tT3#5k zrE&?a>-0dsT)MC>Fg=5G5*94?wk=7QNea?_T>p3+(Ni7gP_gVPGC}cNC0a_k59y3w z_-*GY#?4KY_b+H7sO<}P_F%SUmcYwhp1X;`1NirEPmBVkXF+GEH4qq)dV@Q(i zA!aJYkZ2M*`U~aSyx257gLD#GH*J5lE^e;`5HR-#kO{Tzugg#MQM^TRYZX{-pRmxi zZr)fWD8cXIWQtZUTRaVHN)QnIH~)IE%Ro;6X5p@E_kt3Iyd7Adf? zF?7G(pshioMrrNh_?^-d(Atu~XIoo>^!`At$#zRxk1FMZXt)nM_~QdXF=Mb^4)|^M z?m?41^`syRj}dst_j|@BMI78;l{g&FG2n+-_}#nH{tKklo{&A=d46~>*bnSOvcaxY zyLHGsK)jy4o4SncSz)Ij%T=+qhlM_Yak_Vb?{Fb?7v1E&S``jEnA;z0OB zZB0~b>$`vru9)5TJj!xeoGNN^B^~9!>A`-WtSlXe?($>u0(-n_z1n)-kou+R*Km8v zlXudBjNq2k?SW(M0X<&m-FKd@TAj5kjYFQTatRTC>jyo$TUB=cmM0i)3UCNt_=ez8 zU+ZI0TB(_BC3eyJ3cjVMnPm?dtiND?zqiIM0lKYsRQD@;*EA!$0P?(zMpT#Bg~%*1 zxZKnXTn{dT7j`zuUUaP-+n<$)Qm6EKP&*`21)cC+#S+@~r1dM@e5o7k$~C+_rFosu zI+QcM*U^e&S+L6mjj#KHpKOEc4ZUQyA-$)p2ed}qO+ejO9JXHf3qEfx^>q#kCAYHYfe|)=8FK?%Z%RR0**cbX2 z*wo>8_}~>2C0%^D0D5>U+!S&R>Xzg#qs>jswnB4Oudv`OOm;3S#JHq8xn z+l%(2t%_r((ywvc&xqd0J_V#oIzYtkvXd8*&ENWF$Qb-cY}SeG`PLfi0Xb$~2lBWz zUixkIcj`AbXocDdB5HDqNeimlYkK;CB)K$!?ZssyFU~PviAIu4I`Bd_Z3{v+@vr;A zC*PapcuT*>pL)PvUi))91*Vnrvk$6CTW{?buP`vrsdfTdS${Wa%cHG30qKX9?bMcu z9F-c<_GC9cQk6s!^SDQ)5Vc7DUbs8gXX-d?IeG_ju<&Blr^$Hl!|x3ZbK9go9#EjF z?Tbi0rw*YIsQO!=`R(0ZXwvR?jRJ0Mh^6|0NoGoGS7dUaJyo}Z;(Zu&iq`t%=Nt+T zS&$2=H`gG_++iEX+ev1LPHL%apA`y>q0Z|@rhR+9q#D~U&Rp;wAjYhvaj*nfG5&1$ zyxyA%d_ohqYV|5x0|SJ)t@a-|*uvd0lDD^)E-R5iT!ef@uvD-uD1Fu5BpbIzie6lM zmCZmw3Dg_a5yVQu!V4;2|2Hw!TDj~!E0e)XO1GAJX*5K`T6Jr`xd01p_0T=+t&Tz{Xm5E6Xka)ipmsGfg z;8@qL^fa97Z?k=n!8P3;t77#tNem)x^EefCl4l7TZ!b%Go7ILdqQrK%q|K{s5^!*9EF1ao&}iFj}8M6mW;$f(eSm>#<{H>Yl;yF+k_=4*Lf($Wn9gwsQ==PAaw}pQuqOpG53$Z7%{d?QSiKix|a+!vzf)oOe@mU5{ zTXDGGI(x{mvO7^F!fr&V>AJ{noT9ObZ|HK8NS8|N%w2YYbgz#AFS>V5T|w=aTjzP9 zeVZTOxTZiKVYuAhGM@b=-2pat^G-FmH*|dA?Q($`_gfFs;V!r2Q(f9Sz{zf}Q@AXB zsax*lu}q%`sdPD8pKayC-J`$t042ME-tlg|2?VE}L1MSSWN+(aJ6Z+zzDx(h?LLB@WO$cr zKRtuQZjQ-!$>0L4cHc_s-@R^hX-=N8(sGpMskykxZje*NN`%YOZ3zab+}k`bZ~;80Bw=qtP!QN00#)6pfEyt<9w{k6IvyuthGsR+YmI?+ z4SSF&QiPIP@}B_JW| z(=>RS@q<-~_|f=rJ0(`@G%T4>-1VL1#D8E^?B!xAgJ z$~mC*oaLO3hNF_wfG0bL@;*N_c7Mp+%$o4-DP zs$EC6IQE+U`3~eLSM>W*%)gbjc!$7_I+c)zAxtNl^qmATw#Flr8o&MTbB)8xo4(cH zX|^#QIy$rS$J4mwZ?@Cj&>h}9kVkhdWm;Dn>om4&N09sIzl*jhP) zh@;G6bELgdR6!jQJ0hpTC=m=DXHhg5 z&d~7XQJorxUJw|=d+7GmAb^}oa}t3ZMg$F`O``lXhCEK^4{M^^k*;rn=CC6S0)dW8 zxz>GQEdf9g)SYf!F2LPu|C!q`4tE^P7Je>;|L+|20~n0Q2`)0wvx!*1p-LnGm@>pNY9qQFvu6irahWoJm2B5g=4pkcO0i88Q6ZmX30uwk&G#>Szz$c04NMf48kz& ztyKRb9$Y_oG9DTDl=<3MkDZ{1!GX?EFjQ!-wARnC0?=`mO@(x#^OWek3HCq)uy1HiWMYo_h$&!vgG> z%UgG*ew!QCjc0$43~Pt-xt;u)j9sbo8H%KeJ1 zJ`YZb5M>!I%-2{v2b@N&Ch5MCwrZ(ExCT5Juyah!Pu`pu@sq*p7X<&<{N+J`Z(@ z&A3`1sdGan)Z#GZG3ympj4Tb(7Rxir&S!-=$U_z6a;pPED04Yw7SIPg%u6(_bGp&0 zCNA|YbyMOFARv?@EKyR+wO-GSbTYycfQ*lvav%G_j{lH&(eX$xLtG;To_L7iQAkEl z!zdJ3otQW_23Ov!T!(nrg!*VG$|$>Y)tI1!NP8Ky*xWm;*R+SlqVJ&AM4cE&iNq=^ z1y0W_T|q}ZO}BTA-ZwZ*+8Ln26SZN+L_lVhkVqYMKre8D8YRt0R?f|KZ74zifWyNDQkUz}9<$vUD%2n`q7rnY`Dlu(6dL*Oyj{U3M^=vA>I}fq&=JGe2L- zWhI3+$|-@mRh_;}Hharwo>{A~%VxN?gsowXWn9QKR#+6V0I0(hj=IVzB<-2FR`k7Q zJFAsaJiMIzj_hH?Y5@9D;Mfd}R3fmG7{sO6B?*{Fuh9QUE+6r4xV6a+wpA~kLBaVk zsyK>g@9f8^s_$d#5fHDXV2Cqb;yqrX4AN1Hkv4gQ3_QN~o8J|T1(;p~fVEpiQjP~b zN;5oRI%@@8+A*oT@Xc`XjrTTO|6iK!BKrD9@Q+Ra(F!_Bz9 zHGZ-c%@?@wRxWYdV2&vP79IvEQe&OMap?+Z6cy1Gb!~Q3%>Cp?u)AzBR~91Z#!2eiOQs-TWhktK4Z zhF+z)3J4^YB7%98V8~)gxNhN1K687GX;`I~)UU%a&B%R$%eB;ajKx9k7Xl&_gejmj zRQ(gsC28l6d28$1fsC8&F{omJP}m0q3Suy?c;?dviUnIxB30Txa6=z*y_ZIWj&|6%jWaeTj-*N;l(H!-C)Ol1T|wYa06vdDWG7UhF;(h4m&NB zg28<~-aKCW<{XA#ltvlm6@XL;m=znxjN&b|f+OrVe`%oLK&$X|gl|yJrY<5al1>V! z#$eA=!zt%V5X=fDymOr4Bir3{J2&fz*drLWdap!<3;}=&Xde1bp-CV3cUX-d=djDh zZOI?E-S}?`yPaTo3%@+k@C+KF^4=yb09k4ka~_PUL!Y8h!00;fhF0b+f5HO|#m-_a zR8kC7Xrva9gPaN>g_e#}Z}Y<4HncWDOR_MM1q=>zC?Yu^7654k6`^T_tqg!jlr3{> zl{}x(bGwM@0sMXQ%jZ|^?GRm_5gpw;K5slni(e^( zM!Te-kUOn~gjxeQm^ud+%KDNf>YYQ=ZVFd5pb#DJ^gLDZufzSLyTWLsQ39tuIa_mX z&`PPC$U&18yg+Hf(;ZLGaTRtPT$MtJb5br53Q-Gmg;LD9&=`oNi4Q~5BNv7%8Sg#W zat$-{xT+tUZ|Wq_K)+d%+`?n@2pS?Z(l`KwF-swif*}@Tv{pT$7aJ^PpWpT?J9y%b ztvG~YoHcu)B$74iLMXJrX}8xRd2tH*V!HS3wNg^h50qO2g8IxGua%eMN4yXvgHejK z_+EDpzWtXiphea1*!P1%=PZKiIH6&qm>dzXD2)>w`nZ&TKR+k$4FtvQZt9?uDkDOd z)JT!=I!G=S5@_zgH~Kz?v2ZW2Z=eZE!>y??_jDuD}J!&1kIw%vlLwO2@H+ZGqNdkp@}las zF_tdAL*+cHP2t*8h?GMq4C1K;0f(SOLmkgscceZ`;H!8&4KzaV(ij0TKt%Ra4uHL6 zOwH0r2(VJtL9XWhhr)V+1XCL7l#X0#fz=73Fdhb=mJ=hwbxSp#o(UwO z2~G}lr*b)%z3^!QB*=OouzTDCU9y$EhMiXTq9{O=ps`ZIv|u zX-PQ56oXA}y$GUGi@6*zxi+`Q1NXEM0ybw(Zu5JuR>wGV(9+JF zW{Blt8`1{ZDeRB_edd``-o4}4pp3I`vhxb~ZqKwguh5nJ7VL=rW6Cp|VfoHXW|Pi& z@R`}_gr(^1pB{5JE0of2&uqJgU2Cnt6>zAWn~NQ;a8&{?XP%kCOwz&6bIiMULTI-D z`wryD{bo^Euznjq{gdqouMRZ&bksBFDicCyIy2rd{Orn@=?6dofcXRoUcBRbKU_ZCuQ5kTx`eb*1@o%iA^cNfn*KQrqqSL$2* zHUC>b45rRtqBGl#nkH2R zg8BNw*7Z()l5Y6wV_WOh#|r74jq3w;Ea2e&8$)Efq3gUb+(PbhN$)pzdb*U zzk&B@eP*eK*_X7r`adom8_i;K&anH(;7R>X9WeDCG<`JvkEj>M>4^IucSjA|3Y@y9 zVNRUOcGtID0R_*^oVo7$%GpZD|Bv|o^os6*W4n-UxHLGR96mcTlh{!qEzfnKaKD}( zyc&2{N?tntFQQ2L3+|mu2F|DcA5HCk-I*uua{YFvF7J;cdTq;7oGGV$USAv)9Q`i} zpeM>7kWd$3zr5y|&UCu_`rl?%$2U6E-hm90^+#k1R|n=leR;Yw!_cb0wXoJ7eg$f! zHt{Z15d1U4kDyt&^#AkpKsvhF5pgB-*288vu=u0q(l=+0@RvQuy#;;m%l$d5rD_L0 z+R99?6ZGQ5X#bIx4mjD)f24Nu%4eU+_9oAJ6@6;Jrg@P1NExsEX-!I;cu;xyEuIK` z;&1pq78woJ!gssMHckIq?1)|G1Gh|Ubf*=6!uSD4^26w3Gp)1y-7vE zKT@DA5Jb+rzAd9l-WF#H+p%Zja_6G`z$J2N@-mrzdcS712io~r!iWCK+^)pshjaJd zIf+i=uC@OMl#L#+`(4y*NP%I0tswT)UH*St_uBY*ghXw)?7yaah48%r4{rjk_Zy(< zVs>&k^1a>WbMNwT-Le0gjARa2d=B%>wIeKlJ7ZM*Zg%f?f4aL{$C<+c?(#2YwLXE| z!R%I);&)1eP7Y<;=zxOhe2|&{_2v1yw3m3*o(kh*L0Q+k<`}diNQYzpnFlZx)=hO))z#ye|Gprg*{z7dWB6HGXiM|6T-FipEp9%?- z&lAu5I$?I`?A|zBJK?4M#QEd-!uf69V|K}=wi;aZfGb4ei=l=JFcBLlLr*GLchv1X z*6~YIj{n-RE?)pZ5D)_Z2LM7t126z!e^mV{TEOy~cC7#XNo`2u4GE6f90YHWz;kVd zUB5HY$UwMB?>zbUKuAmi5z%1U6ab(DY-fFt7ryXq#JisT?H320!q+_eq%9{Ih=J>b zZo6D=XR!}zb>IIk|7~>!V-lYP;`Z8_`HLdCa&zZICShf}c3x}3m8Hwhonv@uX_W5> zpb`K883D7A05E1SGRL@6YcGg&ZO0$EBooCciyukccfhN5V|H2DUEC_Go3UZrtYeC< zwy~Y*oP)EJK)T%P{~z%Dul~uzejdh8a_7Eo`GXU`eB^6>AM$zVyIiA>`EY-c;wxTx z&W)&7>^x?UH&@7!@Z)hYobGiAE(aBYwr z>XTl{;#1H0r!zq)2Zve&N$2TuNv}-BDNreC;M=}@4;~)_i;r7_$Hz;w44e&H7k&#D zr5ssYL8rHtk0G>$2Q3<#Gtg{TPzDRN<_5sg@Va{~;N=1JmuWys2Tq34;e2f2(lV@o z>ah+H&4?q$#7n}j;Kp!paqzY{i`9yWY+8@e>PeJlM#ip5YsWDTwpHk=C3HpwCe8;p zg@=uc$?Xd^;d0`nL1>%UMrI?FOG69_VQUxag|R+HAue`lN?PDjKu08P2J$N|t$GEh zP7WKCDqrF*z4^$_Xp^O&L}_)>r)qhxqup+I(=a9al7b$kj3&HTFMf~QCBM~HmS7UZ z+hwm6FqsnX-qj-`%siBqmALU5XTFRBUs@tNNSAW$l%(HwIhJ#C-M%tJ;^kjdqQ^BA z_})tZmD9|Vzu;IZ^{>IM>w`HIazwMfy00=YmGF4*_p}fI>x2znLe5=`!hPJok^4?uh-9AVNQ<4?=?b{ZK_TQUiG#5Q|mgb zk9y;bdkk@4a_k+Jcqv89e6u&sO#$t*qCMEJbc!$TZn ze)>C41jGNXOk#ar4#uiS9ocl6Y)>g2(Zr1lQjJ`sh`F_)i>R4CbG$-a~Qa(z<$QGGD~(W%`LFa0oDVOpV>bxQ7u&)2~0JIds~=3mQWz40a&)1-~rlI&aJorpZ zuMN0EV--*6tGE4me6Jm^+t99?boa$jSEGD+vnTmao6SO7r$x1lMW)a;@AS$|)TxEc zd3bJ7gLN52B3OiyMC_c_98*M3GIF^xfq!2Bu$8ZM)^-q-R@px3dMviv?Yh7*I(7|mdK}2DVDYr&1q}PdoXmZy`=a)aL zFQv~NdyBEVR>OqLn{F`!v8L@Pa@#A&?_yDzDTQqsA7EU9uuEV5#|oD8zn!SwX94*zZSX~mX>(~PC+%iCHG_5Cop32pOA ze;?zZt@N$dXgx;F1=}{Lr}fUUjm683y1Zm4bVFkV(Fbc}llQ@7&XjnISAF*$4r0n^ z6!|CACbA;6G5*i>lS91?+haY5r4zPsYB0KL?+{OZmvWhF{H?c!3q`M52uW7mIxn#x^cxP5~?+u%i!sr#LCsZb4;;vRwtHtx-uXmsW8o(VR6x=tOBEw4LUq4|75=wEK?z3ibS1^jv2>Yd1I#P@#S zT_kemdGU__iH#HCcQrd@47U2v@qKo)qQhE-SQDh4?{hPwEZc|6FXBGWE0FWZm-y{(?tj>GQE2rsE~@OFyPU(OU9MpFzf$Z_Ka#(L;!ODS zp4=E-FWQePpZjD&0cmIi%woCl*rxrphU=}x8f3kkSH#1k?+n*rnp+w%w-$&)Y%Q|e z?bsZ(UNv=9mKD(#p3Js5EEdjp8b zZ=bI4ns+z)5Rp@IZ-E0{Ek%Bs81K3zJpm6HLlmcGtsmamGTC~!nQ&e>$9Uo9v`ZVW z*e4t%CU@70_l5WtTa~J*l&>(eH@y!Fy9Vw={8KpMG^N%3!`JG6yR>z`8iGY8%{syo z>HTrkm-=zxeK^F%z)B=^u+m!>Uzi)xnysXBWJ7gL1A?6x4Gn}1|3N`4U@f|*i}q(U zQbqAGiK&1jK$R*$4WlGjK4mNI%0qPVn)Mdi29Z{)jq6eMJp9ZY14IIZ3y1_%ssd~?4P7)1)j7M>i|@CqxmdWjvwK3d zmtiOxhn2v=B&GtA0adC1TaN56*Zn0>2-|j{yOZ?|yGyiEH)LcxiK1IPqwfdE1XQX5 z6F+30U>Hy6;PP#PVcXqvXVUv6B(sU4m>7MufFwYbDnNjM-poOCHsdXsjFfuefrSh& zLArB+&A5$I(nkjf1XQX5Vlea+Qk}5~G{`XJ+G(QXlCfs#cdMqvk|b3E00EAwgi|-g znM6FY>5MG&tkKbx8xj;1$4OJ+K@#c!fPh9-rE`c8jWv;5$pgh%Y{CRn5G*r{^Hq3w zeKde9K-DThQKNX8j;V^Dz2-QKS^^rBm}ooKUp2>>B&Gp^0oAGi!R7Pkoq6M=$S*x+ zype5CLQFARU;r?xvtodz7nnR1cUmm6q?tCeU?^unlXAcagXbutdb!f`C(h&xV&m~~ zSa{eqMc9%m!}q8qa}>Z`YV05os)=1MPJ(WlBh!FGYaGcBYB>;;n}a2zRvbyWi>bI! znAXuw0?SJAni<2GPOZsB_}r#l0@Ivb=X*LN<+)T!e|r-No=mcIf@sO?JOOe=zzFjJ z*t61zo%y)VIjFM;Og{5rN{0?&W^yWZP_P{14vjV*W)3Q(>B4tO&1Si)jC_O;Hdn+Z zK`$N}9yW6ygZdf-7w^&xV+J)Bi~4iLHY5Z$OXiG3PR+tG1TihX8oPT;rPypXYeg>% zX@*|6gHyu8;NlbD@KaB*_R+uz*{!^7Tnua+zH9y;3mS=yu8rDpjx>xC*`{vv0TG3D zbIbOhj5uqxx>tCr;EJXem3KMcb!V;RIdw%)lAi@g%O3MW!CgDrRZ2 zQHnjI4uCsKPJvQ*^|ne_)!ATcdS;Hc?U3xgRqZc-G$+mP$O|XJraK1fOo}FS#>g^A z5-ul6!o$PCqrjw%+tAirRjk@XQkTD;Zz{M;Hg~~E@S~3`2lxwTaGF?yxn)w3E0a8} z!77!1R+PV!#K=S|QGfiKpNsz?@+kj(qXpXq!S(X_`)hHZM8dA$5d@8Ebh$8%Y(GD8 zf+3#!&K&Gh@_Cpe=8Uj)l}ya2j+-%;M5@3Tga(;ay*Kx*Fgh^n|FMx@Vdj2$9AztA zUua1rhLn{;+Q!VEP zE=I&$OV%ZrMJkjGd)i16R}BDB8Q%+DDP{U5wTfPbpN(t$s=-_d-AzJF#u1r;}_~dlc z?WyNq(@x$D-&;PXuGHPv(H2_HQ#O5gJ64**Z?LH#G{E>41(>_iP90}jmR={RBWn^h z@IbO582i7R76(mKwHGqXRHf%lPM8=-G~?tZ+Wi(Jp=8AQn)+wrg^h`N6fL04N!S`t5~@`K03tl>*VO(oLm%NPCQ3Ei!j?VJS`#eu zzjIoZnm{0-QYC3dTzYBo6OT(Sy}A=_EI@&<{Lt~#d^w%36@CPXgsPN)ywrOUPR3)3 zH5G`;P_#(2uU@QsPZh|=e0~l6uLW7Odf&QYHQhHVXzw#~5mrR)QV{7-~$;(Xp*1l}>?pLN!W2RHQFlCXyrfd89%{ z>@^t&doJf}N}`{-yviy;AfZnsY;C^q=hu|J`(VLw+$>m_v=p?5$LAhyG$cjf+1JXr z;)0xDS&cIxDOqNVF{FSeGa~7$BkeDi{69H*zK)(g2~`rRR03l5at`ofbOGY;or^*PXm0{SpwIcO{j=k|b{G!Ll4*k|X^sssgn5bUK&Z=|GQZO$a6I(M!lD9^V5APs40q*j#UqJk=#D2rl2RP_QU+9A=|4AAg7+no ze2xg2iK!ZFK9?P|*CVOt%xxstA=}$)0(fMpGS{_Eb%^ z;+(1UKS^dq9CN6%B@qEmLz{>1H*LYBbeQwt)P$Y15(2h>Sq@>6nT=rYGnMD>`*CO9 za4KrKgWN|QBAQpF49P?lrKu-=UR$EWb8;pZ%#3Le&+hA7k!0UVmYUqbKjWP%BY$C@ z3It@#!N_WK#+VHBJ?L5I5|~OQ9>rI7S)hOm?;YbZ=s#-p>w)dTCo&`$%notYd9wSP z%EPAL69Y>nxffD$1f@bAvgCVrld88fe>U&r=e|2pW8{IQ85JIpE|LKAVq#^+5Y1|y zSXe8+f6QDi-=Q$xlu8=djJBtuQ5gDNv^r~`QNc)elR#55)uh;x#F(T^nu=rK(E#D_ z-L*HTrJ0{ZymT9~MH4UsoH?G>IYx2UaQ7AmQW(^1J+;{E$)%QiOq2#4OR`Us7M58t z%&sPZKW9Ww?QC3XM#Drm(R)4E7*At^(a~5~Axe|sp`|%M4v<@FwG(oPVVRyt7|E{9 zX-%di5~LmSOA&SFCUebmib~)jlaUdZ2xDKx0QUeUh>IacF*TV9%F;#UxnRdK=?gW0 z$srkG&`pd}43`gM=)$i_I15lA$vbZ|0mML0!5Y42#$0+vBpa4=&JJugNs2EtfcN-1 zlAkv-m{C3YIV1>UP(~;eiy}G-F$lAm4W*B+f{y;xG7sX+IwnSqrh&Y3wAQtou%XV}RYiG5UT3S?)Tp5yVsmxm56zCaNEJu;Xj z2|=PW-MHxxhe=d=Jt@nLXHul&Kg0GqgSwV|$zB zaWAy^urwZnikKGey~bk?#H3=fsEKOLrz%R@4Evk@#DWhJ{-*Knk2%t(Ra_xATkKr? z?_5ZbSLo?Z>rH`2+c_M|_MJ`}iY4Q0qxtEgT>=q5nWx2~uQ{3UQL$Glo&HSAKMGWy zGBolxFg`hJ^1yKEkKE7|kddsT zp#MVBf|=Ns^Rd!0LgW~A44z8p^PXxxnnbq%$U-XAsx=-L%|;eB9|p{~?ID^tqhJyu ztp^s)SPB!{l^kHh{HXwd5D)_Z2LLlf11A7rURC`nCeV1dH>>5_JgI`zYy?2YKQQLR z5OBY(f~Uc$p8eZT>N;p~7uUV*O? ztN~=qIK~-Ao)nPK_5b|@VE=C>0JY%K#s?Irfw+oGdm1Sa18`(dON)(>GA=G2DKQOT zK{g1QagJaZ003qNfJO?yOTk)Uks3W(uh`vSO@nQ1+N$|TuO!nZwW%dpsDacNumWc; z7d0#9_F|Nma?Nl%QK{PTs5|C8ibdSl2ZKJqzhPyNeF^2;&s z`EnU}GBz0bbhvmqK9ksl_d@TRJA9=}3#KnH5^7DT)rDsq4{+e&D>B^|{ z_I$f^{2_1N^y2DW?e7EZ%+B@bSvt^vyd1ASqf6PDv|yNWC++>yZcd+X`OkAcI2dLj z&LFg-2CN7e4AmkIk}@~+B-aPt4;zb<<$*y?;8q}UdrRycO3-zd->x!sD5Fy$o3G>I z&Ez#h|CU7^PoN4En3Dc&m%^w5s7*4E_~sMYy-)(bkpx4nk-l_L5ELzxIWPKPCVaN| zoH=!yV{#H8gA1lXT(rRuWi7~Cy&=($I*B}ASh!f3H5fS)D*(2Lwv<==`fsDOaA6*y zGPW}c4Us)3Ht^9p?Z$8L7=QfTEEc!vCEd79Hx0D}sG82&;e&VMpuKM!4^!{ApGmCy zH{8hRS`cuDDZQ1g`(MAERefv3Z6rFvQl({|1KqB#URYo}h( zwT<#})1928SVH(OcQHDyQbrZFlW;5P>%R6U-pgH@(WmiXtS2TH@{$4b z5)_r2MKrq_OV9KE=a$||hOgv>P-Mijdw5l&!p==K6X3dsr-;Jd&y+TMKgARaI-iY}>P{c22ru>u@?%M{g5j zhn35ZiJoUeQ_K%4ye95|!>IM>5hhqKtt;7RSgwJ9?*ePP5t|ltr@V2SefyO6YqTR0 zBJqAqnMWb`s|6A(qk3VwvG6tT{Zj(aAAc>Ksj`J|qM$*Ep>QH!fu z;(e=8>aNnQk=DIl>#u*3ZFPo{EyzV{##yExb-Uw7XR_ZCF#QtDPuTagJ3Dq6!q>Gq!t8Q?yj>y+USlocwIOJ}f3q9yaF|@kGn@$I0`cH~MY_ zom82gV|sqM%X6=7{*%#5+ljiZzV=x6%5H>9>UIX@M%~tclWc4G$I9NqC&ELe!qVIF zrO|H}1@lGN_si=dSH%=c9O(C*g#Bn`?iKrD%wMPfl~j$m11pZ^#f8 zTLuAnN{0R&+4L=tx;pwc7u(v@bzQy(_WtCFia0mqgo<1}UX*Lj)zEs}V}Y5szg@|c z=!UII?!hZZ17QuBxZj&oV;92wie$>Ug z3Q8Z`_~cViZOF(K6>s$(FZICzM;rr3CN@urK`Y~Xq$!11;MOMQ<`&x_PA*t0hV)YL z!Be+#6;a(9YC9H`dTZYzFmLc9`mG+^!Nu^xsUXB5Ay-tq-HmTYcuRF&QkR!q`u2?h zsXKQYaA3(paO)d;17Qt`xuW6?-L1p!PVl;oG7c4JjlF&PRB7qu0upd5A9FNuLsG7I zDk9wjcgXc}1HHO~ds@o5zh6LHz?KbWjiMF#a-e8KL$0WJwIiaFeSPQIC+hdqj zLTcezqi`trk^ffa`EgMZCZW$w&E;$q^Sj;L|hJ46%Hukx~eb2K?I*}0RHx< zubt@YD%d;9?@J&Zux?d0P z6kK#Xoh&DI{(jAE@4vbZvW`yb4PMx)JFJ|s4tcpE;thbMMcP3iW!Ami6TEdhyfHiL zk6jmmbgN-|sUso|4Y{Y{-LgvvtH-XOqYTMY{lp+G)CYz!@@?LY4_369&Vh(SL$0ZK ze?*lL#0547aC_S%Je_e3_z(RuY1mP;$Ii1NNRAb4Z^&>J_Dna3M8Q})?P`ESckA*` zAUM^Bj;iNH`U5MZ{`D zhPZBjpn~8|82!5?^QYb2ey?#<7E(vIq;Dklia0mqkBX)F_;CDQ4nOg$rxk9A;-?KA zo024ER972&6lsTSTru&6+E$&Scifi6%uhQ&aC2y1Gq~?abu84R; zEvR?vNj(jCR}alLF4ueEj;g?M}~>#OqS5cZHcE8dQXahcvBzl)#=@<#`|*d1_A zYS_C^j*q9{Z1}$^aHsq%BL{v{F<{P%2);jv)C{qIh^Oyw$K02>@dnqY z%;My=-oKACS^q5Y?{^Ow5B*{Un*aO#A}{X>pwhe!h4lnjs>kQ&>9xXr;hrrC9kq0@25+h4cao3O5pepEhnee&{fO#J2r<#FVdQ{nz_aDw)e_DB7N`yqjI zdtV1~IO2-8w*ZZ#_)JHD7RBxL#^d8sKrC*P`yd(;z_;t*-858-XUS-{Mcw^EL^#1{RzfhT*Pgr$@{t)%Fn6FIk^1*djBoXBI zN}5X$0tKF+8j^@KV_ksF0jb=jo;-g2td)^oH}OQY8(-?ph)m|DTVo>iT5P^wBAZw3BD?6DrJ+d3)1$~o(rbbC1-f0QZ zGO+R#8NPGu&qKY^=2*^JLh%3!mP;n9x;(sqp=TIE%jW!gPU0Nszvl)WS0J;Y@?fZ}v`I!GUIE6?}>_zgPrN$b|rxpULX;T6ZjKHB4VQdK! z_bm3uwN)`1ljdk00@ZxsE0pj}F0%_%UJa zD*@TglrUy|jtLHLP1H*7=e-ZeJ=A0DTmEfs&({PpP~t!WgdEJZ4qT#>I|d3ySS)A3 zGEgpeDVV-cOAYy9eMkaSl35c7)Y=0O^Q^IFBl^9!dvwre)eb4CQHDVyF{?KOol!wX zG@RlSYGj=+*X%R$@_7c2?~&L;5PjAewQnc2UR$L#hOQy=xFaKr2tp9mVjRYTxKuH$ zbd=7lHC>BJ{TSc}vij`GxpeOQorm=(TuLcNAPnB@xg`;>@(98uh;kZI`6SG*jF!v6 z3?UFxXzpaypQco>)Ki0DtV}ZYpETJzj`9f8wW&v}o>?@eNv=^Cso6Q`$5xZ){V`fM zxnFp1hRX5)ioB_NQD{`mj13=4;bw2Ck0{2TGf!gL=GeFP^ycAt_9#X|gOIb%jiPDE z^Z=~F;1-Z5XZV$|(VKVaI^B+Pkn@DC)eNSg*$@O}l%*QYOo6vJu^G<2V%*$-I|@e7 z&@eOud#Fj*o*1c=Cvnl649xUb>^yGXtk>GqY1!`Y^UV;1$`Bk#zy#P>K%{z)rOb%6 z_F6xhvN2$+e`6%z{#ZtC507gn0+|AykG4;j57^z;TJ$F#HA9*CtdvOG96tE&_l>Jr zPV3{}{mauVI4UZ9;#}$x8bYDxNlP`@LAE)MweN1LA){NJtzUVL)_HYmhG(zCF7bM6#~^-eI4VCr|+p zVQkhB6lzmjrB>5t@8Bz`o#Nr%5RfsTVVVvkB-VN3hs+19Z_giwlLzQNVkk~?F{N82 z%K(TGz|}M8(h$By-Wwt-b9`jM10Zpr;*>^O111U1sBsO(e2e)oi5wK^xs{ecHnA8@ zWR|57$azqQf>ZlV7Q;xA`=93|4igeaLKda8SOWNp?IDM7KV29e3bOq~Yr_e`4q~bH zfyHKAjhvDO-HS6$;oBsOMk0o-83%LfQ`i8SK!F;=GERcDvk~E&`-Z9Ykyk?n&&YtD zR63%g_tLD9-bjlHH+(j&`9yguc9N$wm?=R;8YwVDKw40ZT;TZTwPM-2JM(2$1-^P) zGU911AbDI$gapHhf0M=VF;`S0uB9jlm6FR2PSUu!=|b|R#^7JT6c zFnucZ`}~(WHZ1#J|9kEm>~g5bc>MR=JTK6`L){lTZ`i?L)JBb*I0A9SEGg##dhg@c z$GmQ-*LVerl4~%N)dXvlNJ*v)MZG$w?itG1kCr1y{0pNbS_Zz}$hjF*QRD;Pxwz!z z%i)Pf-aEXuaZFSQqbv%1I1BX5qK1iv&~|BQMfiphTVPfeE>LvTVi1f$nSv{++_Q<} zvVZj4)eexcmT4_=u>gmq^!ugAj#eU>jr-Hwt=!Ubh}3AEmMtlWAkNI_nI&M5muDs) zeOicH!N)Q}1c0!&N$(2*Tz5o7qAZMDB<)T~48up@WhDX>Pz1Bo&=$~;dnR$50xp3& zgV#XKC}9EyAY5}w0j((5l|K6-;$yhGw?&ePA0BodhK>t|5DF6d&Mw zZtWt0+)%D`SqsF_WTccKieiHWOYK~2&D!n-XmzgbE@s4bIo_Rz_rc@5hnxNvY4249 zYNc3UFw15uqXUt+WeF zW*LtMdcPWY`u17qvWhxT>dCza17)KvUUHa()YauzWnl1lN=gTCm0HSY_a@+=l~?~h zK~Z(renKmuoKi#md+gWLLF4oKPOY)Ho$%vv`!#nfR$2sRvy8?A@N2y~TWK1Y%rY4d z!LM;1z)Y6Wcwm0bj|ygrj0OX;buR8nc|~?z$}~b0*0-dQwzodfmz$*r|O0q!l4cSeAoGlvB~_gjB5kJ2+9^| zoI+4)B#2HCN;66)9-aq0mWnXW2rLYf&k8C=*Ih($Jz;<=2sw2&9Y43T=u6MqF$ekV zIF!v#wEtEf7wDg<{8H0+DsB8XNF|^|YG_+n8$I*H5RTS+oMfW3bQ;0ZZ}H5V!@}CJ z7OxNB$10YWU@-~T=!{695Fr(C{U97gyu}b>Bg&7!ULpR7!2=4fwvI|Gt?cnjz~jVo zJ->~8#&xkVH+CXi8}hctSVOVLbN#aGIB%~POgbOnfNJA&<^AA0?f#)vVXn(~JTO0d z;pti&{U^c=_{~bTSe7=1ixKkn3alDhK$lU4M1<2k>}cJOa&UKYZ{=N?>Gf5>N`JH4 z&aF5B(ER)D;~Wpa(FuVuD(}3~^af3l6%eJR;vt3_p>@7h;jQMw0?z-lfyt*M^~W@Q zQWm%N6f;TR{aQ1>Xr0a=h{HVx|Kfe$BkGkO%aMVx6Jx#}d4-qrfAMXg4NSfs$5&ZZ zS00JS&sblwQeqAq$}<&u28bgorDDGtjX}P{;*;=mRZ2nKyy1wBnGaP4FyOl zunZ7!f~K7b<5NC{?YPM_&~TJR5bLVm5h8QskQX_1i2P z;g~EYorH&?V%`1|CcAo0GmK$zYxppl;Z`1vBXXtXG)+bcD2(^VP(JqF0#{1 zD_W3-3WWFozzqP62moN8A>}3)6kw_Of|GrhhoLmHWk`QyOKpYV0B2x~y==R7<%8Wh zV+p|U=MpHoN%TmOko-H+VZUGJ^sShA1vY*IeM7&<$B*;IA64_!oj>_UQy9x9x^?S% zv)(jUZ#uP|Kk?BI{`}{j4Cq(o&iK!nKYruq-{a$-Q~bIgZRU%}e0R}DTXo=6IxSyk zUJuM@s`@eXZ1tB9Ore$P)0z3XxtW;gQ{J3in}h0})#i6f`ABIb@Cd3k4yduv350fF zZ-tD)wD|c$n@(@QAEWt7*T>9EqbrWsA&eSjBmzijHaA0| zD~&X5>Pz0iJi5f@2A~aJ&ao@$%vNapOU-*vIbNFVi1sTQW9Rj9)+_@Juj^>k2?6p$ zrP2=S1#E3BYW>s2#PjE3C(KWs%0T>M=4EB#>1E?`;^(n}NRsi^L!g@JID{!!#-tNv z2^0{<$|y=5pC^KSWaMFAp|)3Ve^7&gegk@}s5Qnx`^*ZHKpNy$fkoqhNLIn>@{~FY z0#m(YF5daZ!xc+O#!m{yYYcNjqw$s+gejpTgBFmBHKt~m#L6q`cimGOO*=o6<{-Uw zXu3XW&01bi=+^;ekVqMdBwxHd}kMfCsl zJv(!2D>=F4?zMEw&0p=Ena|Rq@^xWYIF=kotg8)bIEt7PNy0#Zv5_tERVQ-tW~i}v z+1{K!cAeQ#@;rV?D9FWy@bl?!=xXTdTrSm|0yxtl>eY;d4a_K+H!wC?4=c6EPFj~x ztR6lDJ6M4DGJ6-c5q5aL12D3(sN7e7GMnHTFbBI=H zi1Ey}1$yejN<5(u5&67d*+yeWHqFAM3CKbL%O}+m8eV5iHP#9R0;#|a%INVWb*gbB z0v@?nhmSteiz({cc`>KReb4!;x-=udnJxp`nwKsTWlhc|sYV?G)27t5i+nfQ?T=>d z*qN1Ok@RBbeWe((-ei=&Ae+Jmr7UdJ@sT;@ErEv2x<#Ni!s?ok{A;LdD} zTh^OWaCv1Q8ap%q;_E@jz`wR|7Y}Ud-X|!}^v&ys0eM<_EOe*`0v};rMir>%#CDOaNx&yB*81|_4x! z)%xh{*c=oxl2x~-x=NKer9gFN2%j)kE{)d_LqTR<>sKU^P)f?qY> z2dZxh(hAvY2d{`tIkGnI*y0^mP*{PhrY6~{YcJeZsVFgu2?vZtv}Ze}%HP%*fbTEP zAC*nf)>wdmQ=RjvNvYK;%UWE?-}Zo#t#rcm$8X+XpBO}2(N7u$N)GrmAw6wuz0x|; zs;@jkeYivB@9W|~jGQZ^o1NQ_+(~jv(-(?dG9cCq9Ct9>0@Am0$$&^KP~5@03uJ8Z zf}j9{Sr@p`dXjo^=3oGWSr@oXbxT^rnt=ljW?kS(>q`d2nSlWgW?kTH>q`Pent=ii zW?kS>>r3XunSlWgW?kTP>r3iHnt=iiW?kSw`%99KjeZ2PL49Nr4)0HK~ zPNFwr60JM-1RjBC*(c>saLh`r;Xc)*C3>Xfi~UZ*T{zWqVtW8 zdA;<|)qZ#SQ&e6tmXVB7Z(n=2L$nEfTd?16YX!9G5l!Jqx`=Gi;XZRSCY^Jmmn8h* ziwcWtX9bI9=QrA=-0i7|EG(|DC@gy(L^m%H6Fq$#4f&iJ+GrFdzQEVEPY%MBrU6Z@ z20T$s{JN`ft^CW0Xg@but}7_oY&i!!PJjT^i!}Tx8$l?PwSClc%IY25i8H@OJBBam zt3_GJsW>Q1R$5zIZ)Dup@E2yV2N+RreTB5v%ibB8lOpl_`0_uzaJH!7&HzMXo5ST7 zUY-0*J1Ezj7?D4}O%P&g_n-YbMUA*KpVTy0RqF^oa~I3Pd~l*US>O3%7hAB~1t5I3 z$T5HNon<9&Rf~iQS-$3^;Gu@JKa^g&{A`OiLPHFBt8!gN0DaJC_S;r8Zu{@9#$=at zyJL~-a!zqeDEdnp_Qzkt;|sJ7`5 z^)lDmP*>HO9*b2YI4?w{yN#PKK5>SHD?nKI)NwCrB``rXlpzf|*O%~!kh4s}~Eti$Qy*CKn9{Z=6G+=rFPMn$8y z*SV>FUYg)IwSU=6;^*@7$1~3B>&&WL3JUDlERXEN= z?+aScdLpdMFr*Oi)(kx^S~ey=M~^PWQt;h@pV1i|VPxRo4O{x~va#WfDfwZUxEVPN zU4$sg$)=0^R=X8S-pV$GqAcGe%&x)jI!@`dH;DyT=D8a)a0)5*V%0$4ykhIBCaxFH z=zMn7r8f+{X8N<||Is;vc+lIl726%1qPKK*skFr(fLyULcTHrd+mwnDvG}Pl5+gjjVrXb&CRl@}>^(iE^1|-OI$CLxNa(tK9n5sL3Pe#L-1B z2w;pAthY{5v{TOJVWIVEx<{yywMjg{@`{@JVliTQiEVdb0^Q-2(^d8Fsw)T!-7#YF za#829aVT=KIUaeS(_oK`YJ@h*aTfSQzI^ui%pH(qPE?Z?4u$lW@R?THUd!1k>Br1vHj zk*KD1tD*OjoY-C%IF!1arWosVMSW0ctVURZ>II-5n@ z;V1nIl8xZmMrAj7)5jNtYU0|=Fb{mP1~<5wKg^B)$%%i@Wq#WU+mTlne0GtyutHjy zwsKu92E9+lxbU9&{+Jlb{IlTQFdUkc)~TleuCZ03HC&^JCvX_?alhtbV;OM1SOiVt z>hkfNd|uw>)lOEEKERzj*;Zlw)x^(p(77uuv?oT(9?*u)Nf`n*az_u(V*Pw65rjy|>Jd)3)9UwvWSgC^<> zZ*Q{~$tD`XT&Fq0XP~xn_iy zt!lo9?MT(cx}90$J-(APK8>(}85a0h@;RVUl=7lpAPCBQ>h0!HS%}sT&@leCd)4(O zgQEvywdV!wJ?a^IemVzVI!&xSyW?_toWQF%wM zb234LUJ@*wm9jbUyu%MT#5y1d5A5m#ch!fE)foiB4~M9l z^RxS8<2~*PdF=^XlDO8r-8~zHZ(F4)a8W6^wW?!-EpX)zyQu_rkAB}uVJr6qdm0b} z&gf z1*_%RiI;bgcyp_464eAyPM)mA`A{Q14#PO6cLROxUuu$C+6oW0Gwaaqi2WMxN-h!& zL8hub)*RW{xp}vC{&ueYR_Fdz&+;SB5dM7J?fjkd&J;HdJja+o0v&0%(Uh~2ExKEx zJ4;jq zybW&qmH^N2kKI$+r_R$SZQePvYr4J|V2YYtB8`+qiW~|( zvsy*+PC7JqlgQ=Jyz%BFtENb~w4)kU#;3uczVw?c!(?s}G7X1Pt2Kg36sY| zY9aCfCgYx{iNGNg0}-yZ^k;|3xmplJ5rzt=RYOa5$YYt*0TE&&%uHDVwVVKJNJ}3e zx+1g{h*vKaHX*F%$cHH@F*&0kDNM_(ID=5EsVWsrXy{q8gi`DCc&z zCyOYDy>Ug=zHkXeDtHmAJU`ktAuGsu1iK)|kBhZjhc91Bd}FAM^v>(VclvSSVL9EE8i3M6|@STPkU?;hqWzA((1_b=Of zQVlNuX4^MAGNr_l0cvZARt{#<;cqbd1}1-WUPZ4j~whWrd(kUQ$vmQIRlaakmB*-Zv*XO{?q#RH?CRbBJ#OBtz zmG)A?F;E#f)LG!ifWnj-akZE9wD&38oSTqQRA>y&1A#(eO0$?JxEXkhPE=EDTYo%5 zyu;db>VjRN$pjIJ*SVvaUEk6qjrJpGiNgM8>cixW1gXncO^9_g44!icuQj%E6Q| z^d8I|Lom))dLj)&0KptPU}O%2CkZ+>y{#JZ>Blf42_-8NdZr zYnA3L?2aA6D40h{ZX}#-uuX;dM%J;n1f$g*Whuw9vHmVs9)mxYOxH&AG)V`5gom&U z2rcCm0|gly88RV0@o~0jO%yr(%KDijSaUhbtO^;C6)~fQ=`RsP0c#}Yv|Flt4u(oo zj8a>HD9TU-z*@&j2rvc;O|k|+m6BMxZa4t&Ys@Q65lC$Xq9{Yt8UURHVkt(Dz2=b0 zVx^UFr3hMy3$yiWibZNF5KtMJ;W~w&4C)M=Y6O)~M3TUiJs{yHF3#4iDHN%wKp17x z1T2sO1tVI=6e(rbss>rdarJY!aa)%}Jrv=nKuvn2wUoJkxBs^4itgDBvhBiW#$9;H zxC^I@yWz{rcDOh>eSSM=9zC5$iGZ;m4#nDC%0F*g^ZUS7xSd#KkpA z0tFN~t3U=09SBH=r@*c$nWxe}mt4;huZckCNF>%NWTw;%v;uP|S0l>m%(Mhl%g-ro z{RO`y69Wzv+Q~WC2r!h!)WDgc$1DrnDcX?w|6_u9eXcp^(cARg)P<;9^izqN$DdTC z=}5-$%IFzVq2pfdfxs|QY9D)oSZ84Mxv67*DAg(>QF&IjN zc*&4H5ZfLkt%gz|GBOMgM7D?4>Y=2FgbXtSk?rAhy-Guf7_fs7$sa!Ejl_|Rp%9Ag z!w(dWhb{C(3XXg-+PZ;YJ4)}nvgY^nJ~9*3R|jIkLku9S7(zpnw{bu+h*Z_02nS?9W>6 ztarDb-e`l&pYDUTzG6-xREC(v0892-l-e;VV^4kfDjM^0000} zLjxcHP+wHdDiZ=K&--tw^)zMzq-RJ5K5qoTk8OqQy>OA3ggipuG( z0K@{S3ICu0zVO++o82cr;ec@7eeM&M@C5>aV&-LO_q#iKrMd)1uiE#Y5fJy)jl~5Y zkch>+xMIQv#z-$(Os1?E=^~AN%uHmVXcSB6lz^$e5Wp}10LTzrjR63_pQ4#3_kb7c zzwEu)uC@S=&d2MdNlK8=G##xAm$kBv7cVm4BSGF=XAw6>wr8n3NtdMk?~a*19=Jbn z<9MjzZg2bgb5|TYV{M06i=!W|?U48j7<&s&NI!5xSbBgn$O`REaBjFy1H3dC@| z%mwz{#qP}u_lAAk-Ta^Dz>ELP#xyT0c=PeWJMggl_{Yi3!`pM|=%0)_;F7wNKVoW5 zr~QyG9&7TpIOc4v$KMuk5-_(7L zW8dZRPlAW~7?+fd6Oj#}S`2(2m;s6hvT-!g;~!Si2OJ$P7>!n zA!6m8Qhh5Zm2A|V#*5H_I`C?|4-yX4e z=(XA%6|PA<-!ECt_k5nUX{Uup&HD8MqFrwl2N1Y3pqNO&gZ2b@HQ1BuF60Lf195eM zaf5UIgH317#Y-2d3Qu;iSmNp^8Qu(76z2Bk(x(28m2(lxH42!O|4V) zzfuSNb1a)gPN+KIq5=&@Ev11K=oO4D9et45C)>YHRt4zAR-{0g{NVr z99e-K+3&07B)u9;-Rh}UL3aP8@LMmjKoIK9QE3qkY{3K_*{TRb{o`>9g7z`d^p8*yO6$H=g`lEN>9%B+k$MOg;{iQ@BJr! zIQ3t!=J>*^)&83cYXYaPWrVlFnjU)l^z-SGPo7sBuMCg7dn^3QtKA{WRBb}#~`s5vxSaoPU=OX0wQ~3V(0Q7LVu|Ymwao6PHueZoPR+5T;E zx4V8&_pz^t! z15}$7%b!(@)nP>opB5x0F4Jlbj3*BFt%)1Zj}zx~65q&uVB8ZIE~yV@oRa()c6y!k zT1Enn%CdHO?Vy+GRQow-Q|)SeQuSDOf1I^mEIb8Od*iQW6bi(Z9*ezHcOCMVUpKo( zAv1jADZVJi%8#d?4|S86ac(>V7t?{IgUq$F-XQRPkD{^$ppLwMMM5_Urs+D*i*DP| zbg1sHLyXOzqm7hpR^-J_G$qE6-9O`ig|?`>nDTti6zbpbb@zH$%|DUH@8L%u+L!Nm zQred4elXSSO1L=VE;0qS(Iw|8T*CB;U)YIeiSp3A%Ctq1jq4BEgZ`+DGnmN2D1$iSTrB-K&e4$Q$AN;fW;s!+H zz2ETGporVtHuddlk((~}z6IT*bXVpR7x}X|QqOtjZF9FKh~}jA?~P^pHw>(7Kk~|* z-5F`}{G-)tl6{EoY8)Qb`|oJp*<9h;?7ps|o_BUfcy>BpnH?-kc$r>vkX7r)b3Xvb zPGjR`|L-4Qe@VILB)8=&o_VETe9N%#W6^pZoF^tYW+l&q??Vzp^zm&A#5ZrF=?-?Y zBjrBh$I{j#uqDow+0f!1#fMHg;^7k6)K;$pzbnt4>Lv0IX$1Qd>IhyyaB1t96# z6j=L>58kb>ir?{wzO3fT_l0Nd0z69{r)7n0r;;dbIS7Tl^0GwdA|nt99Vc6DL~BUE zFU}H%y$`6HGEuD~EfD!mt46|0>t_$T6^W>J_z?UZvU}8TurAOu%{Hys40V2?|IY@3 z!-35Yz4Yupa4h8J7u}dFZ#{NuYiijUHFmH@Auo#{3UYGd%;_0fsnA)k7M?QD z%5RSMUx-s#k`fH28l5-UR8H&tT@WQTQvg1gm`8GA%{ zui~z64z03k?u;^#=A18y=BO-?B}*cyA+^a_K<BDUi-Prux*b zjw-GbsvgqR$TEktxj&BA^Y-;zTIzK9K_N?MpU;e+h2SW&^K@9#`bEJCQ#Az49y4^^ zzT9Az;p671d%slwOD;A9bW%`I!35i;*VnlYAx7Vb*fg>yDfot;8ZHyg)aL^1$7t30 zgZpL?tn>Nyw!JYzpl-E@F(`D#c5R=MSq`vmoYyxubY55w_jP^ny$ewGj7ve+w%ynQ za<<82V~Gty>qo)LR7)AU1|J!c8LOKAO$hI#g#D6Z@=28yT3Ui>b zv#6sIU>%i>KcFdL2BGq+pjBF%4ej<7+##v?C8 zCUf*wDOm~V&9kUGN?(J#@&`}xBEKiAIot0i)B}q-m!O}w=9j(+z3K>mSpHVidn20$ zG6~8$T8QN%^G2BDXDU)cMQBd>*_vsebMHsKGjXJU5FTNEV+T2OCs1Bxt`=HDvs0LT zN|yE_c?EN7jpjOrXI*qxTFxHQ`VB%!3!-C-oEyC6nca=k^UfrKg~J-HH{~7V2s=9n z-ADHpE(iOpAC$~s9us-U?+w23YE%h~T&)lBKhmOpBUTk6dUxNtPEWoZj z&J@c=(ag?Ln(uEeZkKnrR}(j!R?i!6fpJ;+wFmVw*$=z#VfUzPW5f4O)=m6|Y-dw` zE;YT>@B@!7z_{Ao++f_V>P;p(qaPv{$w)`MI^2>&+IG0cqx|7k2x>1hRnQE5kf(oGMku)#v` zvO>`1DH+Ss=j@M-_u*EvO>L*0i%nMW`xQ%B`FA(CzG~?uRfP|&u9%9ZW=x1a z1suaFQLT_1fau>X47m99m~t6RbBvdb=Fcqc+x>2>Yl#5X*LfRu+RHZ1ueK!1ReDs9 z=Met=-@Z3%)t~GYD#1J&Fs)e|M6i`m5(_0_L1>Q;RIJPG(7q8v(V@a`utBWv)686x z3jx!arA(H>ZcDUiNp^~|Jj>X+PVdla;jpzn)P*NJ%y7zB^S!HJcAjhvn8_@pwe5u^ z5jC~WamYwuJ!V>1nA;9YIbDx>)G#SeLIzA>mUdI2CtJ&AYAE)nbvx4NkVO93Fio87 zQJ)&5D7nBeJy;s`wQFz67ntuVId(x^^R$Hax7J&KDM*;K>6P+ZM&93hUJcq7)~o6h zYeb%LtN=h!o$v@0a$;l#8<_~w)%lX%X> z(yEb}wPVi`iCQ3*h4Q!ul2|l~F`AyNqOxphF3wy2JuA5o~mY<`UJ8Z=Q!x` zMDPl$ipAhuiz#w?hA8JdoXV{i9R`}~EK+V}ieePNlY;2ik|ef;dwhs?rLDOiapAe@ zRaA?_N-mlu0Ox|jFeC9^k;yC7GY;08KOQ6j8cjY716x3oyoMAZ8Dz=;8vB*880*C) z$#DSuxc52m8lZ5df)B1uVw76$I17tG5s=m&lC_w^6D(Nt48$-1LC&Y_C?pqAi!4@~ zG5;fV2s&wpUX4IhVIofncc5}hu=`?!2?KOxR0nq7x)wWuI6RFOCu1%ElWR%GO4qj? z1Yt_?OxIaIk_NoXetL{m((1c2-BwNfjz$9T&Pog*PZVKS>TCVjl6M|q~RjP)s`pyv_Ri8baa zKu#$(^#4bzuFIQ*Ig>%r6P61Vhe2bK2Ry>)3^S2$Jz2P&`^;rw#FOIr0yr(XsKr2n z!lpdvLpVA}vpmh9U>^ihIh+e2^{`8o+~O#c$I3aP*{+7>Jc}yAlnfA+Scz|iC=fIh zfil5U^r<^K^53!eOG@yw9!d~#BonN|MXC=Oe^dG!tEs4GVu!I&ONn1=2&4!~avaBG zY}C(Py@l@uL5pyQ4zmIno47uKvJ3=~)+4#`)RaO&i`!L}pHdN&ozgXhC0v0KXd2U> zS}If|LUVLCfITTzk-#vFMY?>BY;h^}&zJlbxbVN&J zg$L5Y4_>?4lWZY0cyZ9P$fUVNGinM0quvX#yh~);>ph&3-Ryt&H+?#{wT_iYITt_z z7Clp1Ea)H#gn`pP5jt8^Whb>@j0P;NkSJPbMZ^VJ=faMXtOX_y&Yo4h!U^qF*4@HR zVW;uD1WAl&4%CA&vuTUv5{RZaibNh=vh$JmlJ;6>z)^-iOGk8l&47O36~{Uw%koI& zta43?HIq{T8(XcmLoMj0+zrKFIm8Ha7%-y4Xg-pPXRT0xp$5M81-}M1KXIB8z!}(b z26f;Z0U6_H;>i>mB97?2M3v_0f)l59o(3>MC9sGqt@K)eoUC(uk0}?qcOe>m6ejAy zKDVN_#zMW7q6RQFInfmQic)?KG7+#6MJmN1U~&M;Bnp9^^k}k|$%vlV;_RWKd4+$! zo-i}9ivkl-nN37-InUojL?bdR0cKjls8$|eun#Vu6OfRul#$-CJBFmW1sCz=DUd)= zXi!KjRy^$C5@R!XT!uZ?A*rG&rT`mtt>Ocp`LG}MH_BAK|9PI&5KSDd7(3SS5OQ^o ziGwP!I%gzIG7mg?7BJ@=1A+9zQV2FHVxj1S7swPm8ckx9PITl_B zS2R+26wmJWqj#RK#R@t;$_z@_=Y9+tTzDq4Jg-LkT%e~!^NB?Q;{__fP>2{7@*VOh z2)!OFlN7YB?({UC9y+!}FepMyN;J`+1r@XoB(g%6(s$eJHQ5g;r{loI76*ml7ZF8t z?4|(_7vu#vl2=zZm-*YD-WqfArrceruDjXgPEU2+$?D3Jp_RKwRb@A-+*zu)JE_X- z=8W5>s_srzS-M^exG}@;`#<5_*4=8qbh>k_M0?7`Qs}i10`s*ll@&6B7N%f-(wFxe z*Nrux%*-`ZIjm!C>|O*#ayt=`>lSpg;!Y-><>;vc-r-lk7d_wiX{3Gjbu`nZ!vc8c zssXc(W%`gjSA;Kth6;+@dQqW>)*l}1R-M%P1qMM(Cg@&$`PsEbQ}9$(b=tx?cqR1s z;n|C(PD-a*OS)%k2oQ`2A{Yr_xY!1buaZZ!aun;}siWdj5y%`cuo;#sO>~%G3xV*7 z#1><=XW6m3Bh zvU5nVBFn4G#DfvU9$dtKD`}8sObewQ$(!y9ts=MZp#@gptuZ z37I1M4yFR>$Yc%#X^@J>VwE5Qk-=q+X-*1()QgVM6&=Y<{Zf%g9Ea2>G6%&bSV;y` z4#hA8JaFu6MH+m_3ZNag2rBU<={uyUkz@{nQ&GiSD^QNaA=>*mvr#hx=Vf0dM0fG6 zniSPihaokJ%q`PG@j}k2I7I?8tY*-KAp<2^){>;$YU!%v4nt}dnQ|y_5SmJg5Y~#n zB{5d0La)Ipd`psR;FO%|&Jv>>Ql-dLERyvS48;(tu5v844kMBY7)XZPX;LFd9f#B? zGVCoHOoRrf7+wnB{vTD8B%~mb99!Yi)ksAnaU4>y$So3UOrstLm0&!_g-^?v2MQ}B z8C~wFGvp3KY89C?Wv4{3{d_fJ#mElkKuHks7DRRNB^z~8GsqkX(o7ZJW5uR%QQ+Fp zdO*{3PWB|4BaoWeBX+qCX=7^WPF8}UV`|DEm;zIp+z;8g3wPBW($q*YhZ-p(VUrXJ5;$P<yNf1hsg#@lo zDt5~X{N^s404lI(5WjWm-vE)31EQe-J179623QAuASZkgU&6CKcK!ncK7?m{?7jw~ z5=kMskW5xqW&bQ0VPE&>$n@V^0!jb@X{h*{1~>o}xuVmKGhM&{J8YV1QX{y)raBCC zu?wYm*0dF;0YGkF^?%rP4zIas$wjCgX-y(mmEL!Qhi=FMcc3bA# zwdHEB+TK|ttqcx-77!B&j6ewY34#88=fk(h$e;Kp5BiDNSiH6W?9r3xcMSY>_x>|W z7ek$^>F}fXG+9OT%I^G^eO&H?j++%c@R9G+XNUDWGt;5w=yGQ9@~blOP*t<(%!htI zH_g*L_yNUuB4Q8>h#WG5p(N#F1C!Rtw9y}~sj5#Cee|=&CB(@4^WuGe<$Ug|FT@Y` z{||S|g`&vbjafPE+}SlgdYMAxrbci{dQG8Cgct(_CsGeH#EQJoE7)+)ORdI{i;I(G z==st-?{wh$;x(fG1O0H>TPq*JWHQhvAq3}%KuXNL;n2xEuT7tGBZkS zy8h4jq37x~x4+e#fInA7`mT>)FP-+A^1mBZ1*%5UfDl(YYjoO_)iLA-KyEbJKpV|UZtcwsIYgh&n*R-_>jiI(^gwkpvRLpR?0Ay9mHCpm_LS*K9(ba;!AF6 z3qE*iFcm=?>!M%-okCY}>gA5W-Rkzi$**)O2al#myNjvDxx_Pb+KZX#Lel=X2CtBr;LEvMQxRScV+Vi24FdTjs)0?JiubQG85E~P69UK3!c0dHuh)znz<-ti6uGp8n6 zuM5RFx=vk9C*|)Ace)%T6kjUn;HAg1ZLlphf{v^e)z{T5w$f34wK(La>Acu1nJA(Jx4L0PXTf-4FU`ypg_!?HaNA4)c~J}@zu{v-Pcl`FSq&; zAVz^|s=_Mv^jc(uq-yzQZ!@lUwQfGWpL|4SQO=43u-a)VenA8aN&~tyu7@l_Y$RKRu&UP&;%H(N^Pw_eUu{_z9 zji?X8);jwX;i~VhV7Hw%ZdNDQ?(rkQx7sd-;)W4b!44HHO_?&WJC8h9S=MHFRogd3 zP&pfUIeKwbv}jQq3xMj1bJM|;u`T9#*O;=3BJvd#rxAG1OzsKm!%3jb`mKIVI}omr z7)3<08`7ON{`R`l2xMcMHhcF4a41x&=zCy*zUH*I%cbVNu`BYW|E&GF72dtQIo1sA z#q0G7Do;fvE1TOtN&@Z1aFNrs?jo;d!Q`u2JD?U1wK%Iy536X}N0(lVUAhYJ-&$O~ zau~Zh^fo?9cVRDlcVs`YRw^m^EsZDx5^SlvWHfdWH&zUBo=Qy>L7p|=`A0^t>#N6$ zx|?NMOqwj8BB2-DoO6en`P=-_+}@|3r=DA9%35dodDcyxOCR3Qo!;j^Qg`jKv9Grg z$(OOd-VQ_Y2x_K%!$Q1QL!!0`uhJ+!^;FZYh#QY8D@k|2rD+2Dnhu0-?RLPR?l5|A zU(n8)F=Jsskz?auM%>B|6`%t3BAa}wg4ZlTeVQnJpTFAU0&?*%CBZE&Eie3lFT5W5 zF(#>s!ILkd2Yb?g_G@yA%rv{UfV2>`j%5Au?*#idTfiHtGncrW{7k7c1?+%?z+s4p zP`;Y^bReU?ZaB|*3=R}#R4DwvZYFGB3AWw*%7Qlp)V?ffw{#=@OWV>Zjd?-7X&#0J>)oIZo}r zx(G}Fd_KZ0xSyJl0Jdnt#86~nYhT8z*9ZCu+u9c>qT`h0bWmw?9p3%zsDFxG`o8(E zmd(@v>US!KVewbR6E|qq5oOwC01agKjI9RmOsNML{UQme4fyakD!^A%9aKgKlfqkU z=u|ttFV6)JR~`@>x{_WxhpgGuz$=aK06aR-9#h{#+o|u|%ilQnYFZEXk?O~CF|;x2 zt%YW=-{=3%N6veZc0a4U-2qfD-3f3HGyqgvuly)?P_5~veqX|9uWfuMhOhCu_XH{K za(krlHvMgF4*|#yr38!Huj(3~jpe>6=Q9BQFDO2*5YYxdEici1UmK!RJ?RgsDyBgpbrzoEP zsWK`Ne0KGo;_&Fgd{3X{sUFFL1V*=M+1E~Nt;ty4_3wJjO8W%^>;rX|u4xG1DbDuG zHQz?_w}6y$;J{4A0Tygw+=}gb*o)@rXl0wFVDAt2shZmZTO4C)+ePEfv6r=dz+~uH zV%iD7^ynGdU})%xQ$T)CXiOm5C~;aQP68P`Auxfm)uD7F?GU>lTIjF_UM=hzAqWGc zEm|k+#>xhdcoQSgFGZdz>E zE994i1_bhr!j$fuH4;q10|I$QVaxJ3t7Mpj2n6zt!ky(2))7eL355yE8>~oR;U194 z6Au%^4|L4$8@w|Eo#pyQ^OMPWes!GpL!VaIO}He_H*%QTHS+6BD<` zSC5PFX!bqQ5PdZZauwv6U51Q68%6@A|Kb7N(N0kBXpQ^&$xfbL0Wbdkv+mDiLcWS0 z>o{v?&gO@XcmpJ&frCBW_zzAnu5thCo#E~iPABn&3;1>gebupqp%|w_Sm7<)KXbQo zF&ueau1akA*qJgV;=dxVFW z?Lci+Ln9*5nqhUA9C1Gubsp)vQCjYFhoMedOk>TPl!|e;! zmIuv;HaDV-hY&}&@5aMKeH}5zLx>~)WDS+8dR(*M%V*Ck`*+OwW&ZgA(LTX@_pRkH z8lTk^Zpjb3q86`53UP-Cm%;;V(?8Ce#ZqQ2>Z5R|%jMtFH}fy)6CTn|%ZMC{+E%|( zZoqJYL(OHGIe`Cl_t2WKL{G|Ga3n1?_Z1-fHEol9wRDs4pw9a1>i$lzOilni(w?Qg z)vb+qvRS-sy@)pb=Ui{wg~uP1tCPvAfQeZ*c*-pX4|1c0G6#>&kuNBI|Mnjmg?0Qb zAFwM9z;4fr6n+Ww%p@$7Z_eb%bd!nwkuJ+WKF6Olo?U5jBFdz5=uFrh{$*^+W(A?y z@_ipc>3W9j^# zn>n8HtV80sg_6-LWRKhvGU)kg=#Hi-1-y&A~@{bEb;9!reZPF~A zZV5<40|R?CZDuUY>2QEYG&Zmr);H;-PJskHqPKwz8g$b@<{CKIBiw0}XxTx7dzgm3 z`+tPF^j?hShbw8!KW?X2d#~D^GmgBT-MR9t5Sn-ehFfQ$fN6k$2n>T7iyGL<oM-lw$;Ul0AfpRRd3Z$ckAEQczz?vm(IauO*Rdqhp*bAzcu>XrM1jV;hk= ztOxeRUrGm)%EXl12>_IEPf@}x1PV}BrWYs3mwe>5ZfqqIOA8U57%owq zIZ>Ny&!`@n6MW`&e7olJhEiT%P+zoMVJYx&XHfu#1UjRD7VRy}>ztoVjPymbGkNls z{|+=%9;D^Opaud2?G7>CTP+%7ELbwD#?r1u3O*W#A27R8OpYyDVhLoTC7gJu5im?x zEOVgT9kClZdOW=7tU<}~Rt5k-Xr0lts*y$}q5CQYz|k);NuPQnWlR^X<|?$Nnu@5lZ%`{KUQ8w@ z^v00_2&uNREYe^!L@DU4VIc+s zp(bhVSeE#2^Mm*?GFM(|SfME*VJNY{tPLRRM-)~uB=B3Qkfh$flpBau=}3IPUd3wOY*jye4bsk^~O zNDN;{`4V3F{91Qct;>+%OaXwy6Gg|n#SxA}y)+}i4k!Th686#mT+TP^|3t@vs2~U+ zFZ5-q?zz$;F(6KsCM(XL-luN=c@GKok~I05p2+V2m*=%ukM-fBz7Y zO2jgPPc6m*fCBetvlgu+A@>FA4*Z2vg?RO)kpPFiSWp;2ScoB#$PG+jCa<|6WnDS z&^jD7Fo2YfBM2TdoJG>hTp*0RM^9rLXt@x5^N0kM7(gWe8*Gq@BD6qzN-`D5d9p%R zjGdLs=@iftB$Hr{I}GJaT2PU|P8O_4v=)TSHFGfJVp>tzCV_@<0S0oz3N!*P+Z+UR zKQs5jv+tbZdMm?``{>L=KHPC6iXMfuH7_^YFCpq+S>cV_<*u>|rNu}k+TMmF7f+R( zavMCoHuHSaey6Xc9#sGG-8Af;sp;DFV9(m?hj6_{?cW-D1O!{jS`0lG(jtOr9r9Yt z*NYL6z4RO4)~lmM|Hls`du3jR3Zu2rSjQIhh=&WwhICG~7zp(tU0c;EZ|em%6Mml@ z+x`o^NqFvIfNeN#|Exw9KZ~*d(v@9v9rEp)<|-l_f*{ZmhkHzGxTRQbFc54gVzEc{ zFwdSjg!?90oLCZ0&tRbs(-(g@Q%K4)F%*EM%6W#Re#l(qJ(WlR_lU=;@7)HtWs(|; z4CI=J;f%-=x#9A}zvR?25NTv@pR7|Nv0g|GmJp|zfZjUMuEZQ#03+C-4-T$<7}O<4Ul9AqP2FP4IIHFGa19a*irt^?!l#IBn;gxdE$D@d{T z?g9t23Z|A%&mcfO^*m(|0qU*g%cZi^h-H>ZN8(Y-R;4xK!OF>}8b?2=7{LGl83Ci2 z0|0k3-frD??RA}GYunYeT(@b6*w%OsK$@x`LdJI6U6QkNWm~sDKNAi%nL%2Cpo0-5 zA?c7dNO}?y|2|jCZ5{bm8&`kVt#8QP-n&}f?%L|Ct?V`>uAaiaalex)A#JwTch{B; zJKXDhm5rOUkDI$i5L1CuNTwH#WQ5CL2r^h{agvWMTR(s5@fH$9p)bh?&Ky8UJLKSZ$c88&>;Ls;U$BI1V&pJzTpds<$oo%?y0yxi0QCj;4HcRV{Jlm@I)- z!nMd4H760X+ms#PGv&^TtRn3!mS}6WEA(e{L`Rh9hPNSLY0Q}j4!qG~5PAgF01i|F zLTIrWv#VD1o3$N_>dvmx!_v2LLZd!Xf5v~gNAkj)^`4|9)Bu)q-cu<-MziEaLj$|y z15*t87?kX+ELHAOKpo(f-dVv3aXLxIWf*=`e+VKJbUOB2p|rQj4>c_tb~(bK77z6y zVtg&ewDDKKz4vW`WzE5FqTv(@gi$Kh2*R}4<>qLWq?Nv>7ahCMT|1`5JJV&?Yh6-d zgs^cHjm*srNx2A*H}s4iFEia3Ba;N;A_eosq-?2ESs;`SPzO8i5!qoa9+x1{`>&3$ zWzb%P$AeX*n=&C#;5non1u-h9f>z4&qZUc*&_!=hhw>(yn2` z+pF76v~SjzEA8&1#S*{1eJ{E0kGURs@GU|koX(oSi3LbcGYSnnOK~ze(zs6K6?79n zK4JOoIeMo*EQ!K-1wY7eWRo9b4^uiePCzMo8_b*{E4q_0i&~pcN3) z27%3>fcY%K^)ur(om*03dMU)ZsY-N$k0`OSrlAlE2EBxsH3&Z+KZYV4L}DeC(FA9W zDG<)b$AN+4uw%8s{HKvC@Ct}&gFx0(>+tail@KR@3_BPCcI!_fL{Kg@+KxZXT)j_- zOoIeMl^SC=vx&ielcX7UEno9NuB^XG1LCYlr>Lv>3Xy5hK#28^URZy$6HatmHyAz6 zG$1^rvRMLOlZX0_GZU05!1l+)Lm z;XkGl;JCHcx(RSDFis^VX{6BB3X-T`wc}D=t9Q7pw#Lo!4%g88t66Y=VEmg_9NFV_ zuPY}6QS@0Rr2_Egi9VW5okwFWu3w#6xObE&B=c1>nLri`EL@U)nJVfj0T%> zp5B+$Pj^SP^74r8p;SCf#NjhR1^ry7>0p`>a=|kY@kzRV%GPnyMrTIttrzMGY)zVr zRENz@tUMuTRSI)~On0#VZNYAxt!Lg|vd+W0uCa%*xxJ|wGYsd8=2N-&hJ?aOO|gde z8hsFP-`8PtS!-EkZx0p^U*W5^+OxOKyAT(dzI$}vauEi0rAPj3P^o;2c)ma{dhq3w z2q1rwd&A|w#(sBcIC8i(SHNy%l-@(@@h}!|w4#wX#~YT`-s~|)H-zOVJSI>fd)%Ha zf7v8oKoPuV5%J8R0hk1)WECEJRMYITTyCp8JLK~5cJyq7EQ9nSVICfUS-11X&XSsF ztmT9=DNPNTvDRf#+r#NO26sk?GRQB&-a)Uet+UXvh*C?U{bnPg54?ck(Z?DblUmwj z=_pMN#%$I4y|2h^IBQpTxK7cmabF^hhB?S0Gk5g#Q3fJpRyI05*?`Gx1!7TUb59!xb6(yGNblRdl}$9tEJNPw5tTU#^cE6w+-1IM(stgXY1_?COmfCPjup}=XrE-LzNXu`N@ zFKa6#(z)9t#{2NunQrV2t!r*HP7CD*-b^WUKY5j>p2>-8P^A7TfN7wW>f$30!f@hO z3M;(A74BJeD~x4`%f4*#-6s2Y>ULLLqc5fTqBQuR3Qh>44VPbH6qbVFMce3ZCE_l_ ztGu&fI9jm?i|cKU(PlO*zX&|$o|<49`T-y#P^8m+jFsL~gN&FMu?JP#`R$;}g%R^g z1BCIY=5vLU&|rCK&;@W1W7LTRa$}h7%3(9k<1XRgw}##5u zaKXp3xii{G;yg7dmJvXWyjiyJNEvH$Hkg5QK{$qqtS)txhr54sgS7ftI?MgaiKb=! zUtQg^=vVgYyZZ}kMw}YA03CH6LVQ#A-Bnk`L*;*-Qi`|FZRqYztDcCvOK`xZ&W;0I zsfvx8;Lz-B!d9kgYZVZcQE4EfiXmI;3rp=9>&7luhI0DmPI)5y8T4;{ZS@po+t`IR z2dLfDmC7X;^D&^Ud`i1(Aa<35y2yI8kb#U>Og?MV^(Pu79%UuCjRG+hk(g-CKP^uHS$l-=&l$+~yCA zZ>~rNjPnwJ92-0(^r|Jdg92X?A6v(hy9*AAyhj6jN54aee$6ip%a|UiS?~phEJYW# zk-5@!JHjZR#)`782RBO}3dRWbDAjMDsbb;Gd4VCb5!hO@FIs#Lop*4z#^1%S)iO-o zoVcs(op$v06Ayi?^4W|b)Ip9E&6%&F%mc?K|-r-SZ{#*^7g+c`?izEjvhW@d3y`7qAzqgC0hFCdW;&$w0ccJ}!Mn6F^NUaN1wb-pXVJC{S zQl(*^w4$un?Q#_d<7Swoo99I>Kf8NwW$i63T^DtpexoU(TJv63;pn3zmnJaD$~L;- zV@2BZ&Y$h_^*AaOsEtyAtMg@1S^>Dxl79?Q`Z+_eiN}TYGpme2r54ttjW_ayJQpgY zN<-vC7Q??GEAbjrLeg4_m{V=?fu*%fmd9(I_z8!i1#GAu;06 z)PoeJi>TrpW{ts*XIZLS0C5{#p&eYl`luh1HP6L9Tr=Y=#y~fn49%a70-H7#v-iFg z>h3Crr>K<^U*6q2iO2U3#zagE+lFlNO9lQ|_tR27I2*k3dEU<1ovt%F@BL3)%7-i7 zk2)}s*C*nDz-vz??BSJAT7+prMorVIbPBxjkeSLy+)s+DHr92OPGnh3kBC5-sjmZ8 z1mhrex=5xay@sWt^wO0}j|Wiv3|rJaP&L-wbjN>S8Yc#Psa|QDvFf z!y{-*HkSAof%{H7^Z5Ub1XZ+jb*`#E-(9iH2I|9@)%L>*=$Rbz2ifzqSVG}>i7~vB3h;+AXhwismVT(Ehd!S<&t6P*p zxhUy>yz&AjWnxAkYD$5uS#mMnV}zUujXVft&~~w(I)wp$lLi5vC6Aepurr6U^sB z`g|BK@c)`$9rN@6PSJKtu%C~CGoT*LMJWu;N_k(Q(|_To1{}^%G=(}(wOC>h0wY4X z5)RkupFAh{q#o9eq>FMgF)Y9a$e_+(jbKY?ra}Qc8UrI}y|MkgW5P`2{}oqgqWly8 zG!oCO+Bz9@Xaa(T)|r8XIXD@Wh;cFUC!eesx5Cy72*}I)5pfh#VL=B}VZ0tegpvrR zC%~kv+LdqPo=o&eMmFR@%HG;rdGWk=D%x)@`arT^{n zm>gGcUoF_7C!3N(t-&)PLWIvX40{}-Np17mSPm5!?1*Zj+pJYrTG`LkNPC*|0Yqb= z5;L*kGRi_)SsD>D5CgZy=(%m;T3F;oO$8DGHFFa|#DpvWj5sZ12oBi*3yOs_d1|N- z{9S3nvmEItS`eIPaY=OMh>)0aDm1JOKd%Av$VuwJtOQBzTzt=n;E`ZvB1?tnuC$M| z{qB|n3|4C^B8+JvvU~k|kTwubD>mgo|9NdFgi~OUQPyf9ayxN2MBW}srV*bVyZFXE z%Icl6wi;fa`wfGbEiB->U}qE%Y9xRdi0~ICw-mzwP+2v1LUCpWj?dRyQ0R)G^iaY0 zQhXbQF^J^g8|gmw?Ype}IPyFASiqC;xI$|>Lp4DhHC=d|g-Nm04i5SBa3dZ|Xc7oon?EUSZJbcC+PFABgaw5cpz-yq8 zK)^O$fGk?#G4uL|6rKJB;-RAO-I$Rfzqz7FN-J z`vKOC(%#CtVm#IGbz%P*UY2 zRWU*@j6g;MKl-=yvg+gVrR8w-Y9fFqQhStSQO$DPoG9K~3`TlQz>}g|MzaW>_K-$zU0P zfN8dNTV(_qDj6zdng1x5%JU0DIKEIRL68bLPJ0}LF(Sv5WF-bc_0cO|IlQxb*|Dtd ziTHSEp|L^aVbm`;oO-df2qHafWCt z!b+4wF^dC$(4_HxBJ5zj7DzjyGX#bR$2efmX$)nh$teIr>548AP~<}V5n}eBEGd`} z5&SoVjFa#lh78AYHSL5_r-YspFftmGcaR35ngbx%v#>t&`;wtF*oibU z8!mwiC_KoQF!D)2gCP(bQRN-33~#(aI6#Dyt26+6g$W?2ml!35pfW#(q`(@j z;g|t0c>~f2!#%HTqK3M01VM`%j?QT|1IeRdE$tNrj6I^To-imiJ3_I)qSfM=Falsr zvrs?rI%-1x?Bq~znV~|j1^{WC7BkGZFubvpd%)~uDoCDAyMVGDRv;LKBtnd+wUkpQ zLCOXNo?{ILJ~2}-2_~Ci^tkDMoiD~ikq|P91yYHP)N?iVGpFGY;sy7=2sFenpx0UC z8IXyEP+5`1W2tq{?!nR_prbo4ae{>m%mE`o&f3y@hG)|cUn^YTv?O5((;SEhPHKgL zFc@Ua!u>&LX<4p?d#|fI>%6OuMy-wu2+<48qh%I9gt=YI81hO08dE*Ym1Fu1syY&N z92xff2_9X0~z|7TeT=+2$7*@oAH1ANf1#YtCS z^A>mMHVGR^Y`nzr>KsZ>%+|jv$)}@5zoFj={LN zdBP`KCa%bhXPfQHz7#Z~1Ktjvv?OSNJK9^-X z&ubLcs>na6bnC4XlwL1Ix9_xnY_Q*x$s4B~T*> zy=b0Z@7hdb!;x*v@|0*_9QL3L{0gfKfdFqi!}J8Q@=Me+nd})hx(<=&Ar${AHp5MS zmH3ucs?N{8su;#btb_CH=Ox7G0}s1{otxrUX?iZjyzRdprRH18zHi>ab#^?*?a!=y zswdv&GvjT)WxZ#+v_}-rw>QPk8`4xPXs_hy-S=0W&m$}~_ok0LM>gh5i0LglrWg!L z&Aol39`*af$)9SfuC~cn#wP!NHq7_ETk#SG%^N{s{^(0UGkL>zCU6K!nSGMJKQ!14 zT)wa+TCuMfSiAN+`GJ!ykA1yRpRQ#Sy>ptlChK8OT-g8J_1bOi&Fx{=Rl6zYxehzX zwYn$o+XFi{Hoy*MiufWvUO(G=Y+f9^Gm^SudjPFPB)@68|2>4=yqiR2cu(r)MM4|C zI0HP1xpW1-u=%JU^Gm-;IY;y#+rP%Q#he&X6NpwACM zw!$X7dB?-I9rC~I>h)CoH<@_xe^TimXUzS}=?d&yU(%qA(mEBL8kD*}*TQ-;#P67*&1_H4y^G||t?y<0xW&oIqiwJBlSvZb!-WleouFKHv8_U~so-hO98a6}BcKc5jUY#!@!zP}na zLvgo1u2WGWa2#{8=lDMQydeKdva~0*cU2CB`RnZ`@m@e}4f5}}jGR=bFP7}f%L0X; zFYa? zbtl1QCsErsUqp0%)-NTW_k}DTTZK2-XMFd+pO{DHV~NyUywyyXpKw)5n)I>_w}@8d zoNP=kj=Rt`!bveSJkfrLh_=0E@3f@wiNG<}ZMz)q#>9Mc%EFB}$(J!wtQWCtfaiRjmX*malbzkS#^ zx8>E)p>y=hz2CbZQ9VFEr}u=6KHo^m$-+UkV6`oq;k_CcP}9thrj?&`$Q5^TE6S|r z-&F3|#yg{QhE3c4IXL6%{|j*u4Wz+e=@ThEg@8fjf{^3L23=^7i25xleA%A))A7(- z6ICQBtZ2@2ho1`)Y40*n89xmC`nw>$!;Y}$R(yyr?Hu=u{@+hi>+1PA$V5lJ5~YR5 z!ddv1;DM1gxw6l7rIV&(&lq_P!~XdUl$NUO%-I5Ru%2(*yK_Cm$MzQ%Okb2CYtX@& zP1KOl-D4foj4D4A%YcwA+%!L%cwhSmj#0=GK&x)V6y@vIeQ-SQxLYx5vGxNGGR1-; z@V@d26m!b{npjk2GwT@d2tWO=f62*MtrXf_rbAOIK`!-Vn#X4Rk>Ai#bF zir;|N#m+JZ|9okyQSJo*ulZ#(?BAb27>*`kG{-P%mAti+Ey=h$@k18@W#y!@)nQ+R zeVaXPXS27#Zpc8ZUeO8{!((zZhUJ6Hz}N*IGi?1)?`eh4sxkJ9#ZSqH0jr1EOLEmj-#m!g{Us1_-zH4_>UD*r4{RE1k zF%mYDKo(gg@T#Xd#-Msf>EM7ix>$YXR=f4OEt2j2`IrAde{5W5V1MQsUR)^A=|8fH zd{Sr^q_#`sQF&+Es=<$1*7pEe@XIQn5>{Ps|E=wS_LwW2jLT0jz1059wyDeKdCSub zR8IPu`nsgdraGET@DM3J*`pH?M#2cm&OYta*eEWoH3uURmKa)A{cBb^X(|nrA~Ijl zno~+hkw#AS;o!6en~2QOy7L-pAqR9P{fR7EQya(RkUM@x5O-jZ_}+ z{*y`-A1DAVg}zZ1zDPBgz6qU(2h{B}dYKw(%v4imAVkIzLJ@<7eWtS8BkSv*7zOD^ zP9ZS}OzJbS4t~uyzdcXW|F}~=%`<}$v;I68bGneS{paCknz1*MDtxoiYDKVbdBVfN zzlyAO-ZdLh>l?qzcb}>WPGFZ&Dg%AEuwD6$pqaw+4btUiWhm{t@Y!$bOfx<6D z@p=EEq_L6YGU{WhhWLpzXKpYo#_DWNUpHwY_^l=~3X{^P=Z=7gnBz!VyWsrf*Q6W{ zyzd%?Ir%D#%F{B{__{y2XO$#ZqcW=HA(o(=e6`gEn1~wtG%j3)@rrz3{OWz{tpNIM zkv@WQ{})2bx6LRduXLy?^dhuTr-#d~b7SbQLDe`yq)egK*)6OflpZuYjn!K_x>Es4bU=JOv#{>tGe9-s({`?cjGnG?{oe%oNC z&pwi-Oc_6>CEgtEO$(PJs|;cMnnFHnDdt)t4rlekqrR=Y;XTHqG-N-*nf)BQ)_~3{ za(^;v&;E0pnZ9J{ zsmQy`e37Wj-52A6Onl>8$!A|8S3gbapi@w7QTF`yLWrvTY9kWYdte4 zwQy+epkDjWZ*}&ZN5X)#)bv_3`l~qK6|4P{h0i+(eWvS@Q=PD@C*yVe#}H0Lj9-mf zGT(4!`#agWF8LJ$Tf-2(aFQa0rw(^XJnvAEW<$1z_gQa(zL+Jnyg^{(7pdn)<<*&E)CYr=pS zp7aD^ob=sgqsE#{IBpj@(l-@Wsy#Z19W=>5>N^TX}-+#X4K z-Y@pI&Y?hm`V$i0j+H#*hqqPx5$Qi!GMjS7QxEU)gXxWEE1=uRq5%h&5qLUN(82(Y z5FiBrRb2p3LI5-)00000V?T@)R*}gruNYIT)>ir3k!-RNWZNu@Te2e~Pl0~F?Au?< zvj3vU0&oC2>4Ku5AmHF2ARwR`I_QCEgTU#49iSMX0RS19E298__5=8mY5nj3<47pt z0h`h^W20tE)dtl2JTX}MdOA6Y~&Pz)X z`pe|gGfD_6QC`f*jie13gs3EkA<0Pw95GFjU?>0prf95W2;ls$P#^E_7P``b3E2W| zPRXoO2%T?Xxg;nusidaVj!3f=rgf5oh^@1m7ycXVLPHUzgeqmI zTn|?eAXCvssl8Y-F|97VBb`6roVa5D_=9>x-};u86L`{UL1lQIV`N8kTXmZ+}vWy>U3w%eVFm zGwCGuyNHB2Qpy_48YP2C-nXYk5=ZQ?YJoK3BWqD%KHEA}`Bmb9{-QLYvy|Jn^8GUK zY=NDJqyM^rcDa9ubEWR9x3@2n+dwFke>1iz{X)dSQTH?plK7Z+L-t%&ksUca@wX{2 z0Y~&A*uh?l@$&)}>qWN0Xi3dklqmi=!#YfHiVo_B=s%l7%0H%`g<7FR(A0}J4)4w_ zvu=q*yqfHp(;cJeHywv_I3O!@4Ll8|L_FzKvT->4(TVBB>CuaGeLW8r{EPjR_G^{N zGu7y;PGu`UK7tPHKUZ;2^D#XH=$IuXc5yNZSXfaWgE>VGkftW|c^l<>W-ajff^&iS z*?GFw@#>RW>3x^?>GT=T8nRF$`fNJI!8xVKf*f}^g?R$@nbMj}2bZ)YuI*@K7fB)_ zMCAP8|L<-=$DS?w?yVMDZ2>{x9ji_LPT#6GS=;=ve+gR#hL?}}MQA7P8<@ax(svTs zQI<2f(P1yc`gaG&Bh!jGt8>@qRt!~5;*$w~E^j}~5<8knWRc9lC8rz{y&>?P4ij9Gp3kV{Vdd=SKDg97vYn2U!{W`)zQzi;F$!&mOF& z-c^xs@3OIP`Xsx5$kN(@9dG6y6k!cD>z>JzLdlTPm!Z>4Z!-RHkWxcrbzqHei! zgz*pwr_ZmF;GYaPcE*r@-6p=t$mL;L*8j)?{ED3vhv{W@b2RB)w%Nf(YfsV zGOpYV_qoUY#^y4L7C}?Yt^bSUR{DzUWWzj{f!Sa#--ueSdvm0b06qPYqd{Ii{3kNW zF%i8JDdi`kFAruS$jjWE9bVTReLg9@W@bW$j*sPEa3*~DKI=+AU>d$Ls#BDtcZ9r? zZtHwZfK%xgM&fsNC3oS?+T`6_TwSkg1OY@8owvZ_ zeI)hr!v(&+_d)UwiT9giT!$}@Y-AB-*ig1fNzOjr4*mQNi?A37wjnkClQVvHHF>-2 zOU;b!qem_Zm!ILzn7ti$5_w0W2eB@B>*XU0N4V0FotrhXG~^OxmWUlZHUBE!GGp%`9eZ(&< za@Z;YnhxfBy-#spU%v}i`Ie>3kW*6b@c!=Hx!t+&Q+AQ{^#0xSF1E*3GDh)$8MyM| z%gA<<+w3>FAPHYzZQh-{PWFjB7P1`F0~${h z{-qr`Fu&ye-HMKQhx=r4ff`)FqGTk8h)%AnEk6{u#oPodx4W zbXq@hUm#>q;u*WU*nBUUD*k+YDMFNzV9y6jZtdxQImtEAOgdRI9R;(~{|{vX9cPs2 z7IMaf)S(5qX+q7|g`ZA_Hz%|8ryk+To}9LUM{a(#NVS^07Xm;1-w52I5e}n>V;rL# z?i@tU7~ug=zl1IA=ZN@UCJ4k2o=kathRzL1+1A6xCvs!xCy6*O9OBCJJ?Tx)u{*nhXuh&%cuXF*py>V)d&41{&LSgRqmMa z`kw^bXPz7OoaazSk@Ba@1Tj43IhS7LPlxP@!`Z<-{#Qo5TQs%E)9db*` zG-)zfk&k03F4T@KaB_v{9fp|(y*GY$MSk2OoIf|kPaw9u-ucTH$^#}BE!Tz9Amxz9obWJKCJaT3e7l|OgT8TtGHEz)y!r< zzKYOK9ZAqqbZQ^Ts@}pD2iONZy@)bq!0BBSQAsQ;kQZbX$Ltw3Xr& zZlJxzyaRE;yOGKgeucdC4r%ocrFk;9%?@f72rs7|93$O5j-}UTTHT7I5t-U@d1O1j z2b9VZb}taBTy0W5Oi?6a5e|rsdoBO5Xo;OuR8EAHFq7vKB5942?1sj%{@1R_Zej>j z26NRZYs<}vRRnI;Ug)qx2t1Of47~+2GohEgeg-EFnT4xxBu&Y+Z?#N8V(9RJtgws4S8#ZXt2t>8>Foix!1ck!s6XG#V4)@h9wW*8z>0-HE{Pr;5vLe zv9%jutxI3GSNS{Agvplgc3WvsvI$UrOR&5+IQRyWGf(0oUqz8rZj*VEObo+_Nwm_; zTjmjnUhuB40=ui#IEYw@m{Z6aSMkhiz$1o+%)jBJfwo|6%;Tr5SjE!bdIhmzi+zFc zT*hy(%+u)uHxsr4?1=j{r539Ve0#bY0L{h)Z%3OGk(n z#04m9&o{t!J|PDkEOHn4Fv-x4>N{-q+TQ9!OiYFSZ`I03c13WVm-0=wvfAGaQsx$r zJ6a^)@SCT?N50ON=Y|nO7u2~plyPqGTJDIOdf4s=F=REfClrm)WsdDt562{u=;1$6 zzl46_bt2=kaX`q$$r>PUZ{d+qaYMl96QMne!cZwD3WazIZMPe&$xJihMb>jgZ^|HE zL0AG?n>*%eam-f(D5Pp(8-d6xi;+54Wj<$l7GOBCZrSV-*FsxCpYqL`tao;Vbq}#* z=4TmixuBn+eT#Fau3N+EC_ZcfrvUt^crf<<4n#Dcl$jBP*#eKwMa93Fa(TDU(lRhW z^g^Ryk(2yAD-{a1TO3PBi;?KA#mNse0X377#UMfMj8B1{WU=Te;sd1$#TRKh+~xzB zE%e3w>oYB3)Z3>qnTjV$K5F96CxoIyQbkw=a{g3o^w#`e4#vVMT>lgF`WcJABt4+E zStqrYUpI^vT6IBx)K(rXk5a(>DQ!mu*@@I>9sB=5(YgscU`<@>SM&_o#8W7-M&a-=xU&x6de?Nu!Tu`tPuBmZ1&NkNdrgB*m$ zy>SL*OBpgU4dCeNs7yP&ekf)D%Sr4Y?x}`RT5bq!AYn_QlN8XIt0lru=7ipKJK@4S zV45Pe0d?TN;b+ozG_p+&hZT3xvwe0Bjn!g_wx4)mDGp;Y;Q1(CuIyVsN(+@28Qhp| zMbqWx7{~ZK(S)Q-v4qo$a;!4HO@YT{4}kEAUZh;cLs*-O=LAvDR>Yk|>wq05KuLs> z6GO5RR1nI#dM|Vnj6x+ltU39Dbtbr9CKcO=sR(ZQ|JYa^b+;0SUgc*&mbm;~-LLa4 z21$bRX;<3zRj^n28;4A+Qeh7j+={{M z0!L%m1gp}Ny{~9@dT={iV2JQ)O2)B$MQ85_z+r0ECsPfCv(K+VXc#Z_a~#_wtnn8V z3}j{vFa_ZG31e4u>V@ylZ{s}YS11p)Srbh01mCeKJ8tB;YQwVlS=zDHUAQP#Y8ILn zh{>FN-KxqqL(TptkIM$6pMG8mXOdZ#*7|4xvvhpEdcWbBokGO}j(yA&4Dgp_O2?2D zeC+*gWoLE^?+~3eXNp5w5*E_=YsHW!-miQX-cTOW?2D!#Se;xQ*5s9Y=w1khC@OXX zxZzZ5Zp(78MdN&-mT0-kHXP}0@NLTAMgLjT4{ikdBE2A@h-!$u!7^nb0&A%N%L^=n z`#ZZ9)k%6WV<4PN=|WT$t{0LgxX=)AR7K%lM2>9Q`E&|+F#q;NJmcBnxT`O81q}VJ z!1qP`R!skx2Ec}ylWk@H7w9u=Pa+{vG|%#J{D1DP!B!UJ;;$`_Kkyk|D$NLn8D{oy zVlsz#i0Xwqc|$U7YxD6cc}I8_Ub5~p!O)+jBHCWtG{V`nzY~DWPz6unv z%h`c+{z=>5tEC_{FbmuuAwdAFej@D?`n`NQVL<`F*1Zn|_g1U_EpX+U7_7nnx`Lv> z#l`kCfxw2rwt9Clh-KoVHMBsmR{gxL5&=y67BWTF3FS=YEI#FD z^BnX+V_!7|V0sgQ_6$MRS#AGu4R~YO?=A#$fCW6}O+en;MK1akU#$+1&pUdM9gZ^a zV7z*2uZ%J(?{25!=Vgpi;W?D4RXq&~M19XZOT*&ugw}T8AEcZ3u6v;dE%^w`ct7r1 z+df#vrrF}|PSXvPR198G`X`DE*vue;Q-Ww>K+XS7mcaTbpGkLenzqMa7kD{kZjx)* z0R;i>tbu2+f!?<-8WaE29`i=#7P$##?Sa;52H)0pqho?v)kC0IG#)iABvPFugRzsl z6z<>!Jgnkm&&Hv6;p@39?Eu1%w{|On%V_`4HozH!#+MLN+%8R{XmspT^i3PQ>ZbO;FM7RiVof1T&v3$qZs&YhcNTH{2)VXUlyQ~Y2LG6eIdi@`Zg z%LLi|MXHMoG6Yuo>ktG}a=kpU_~h#6p(wUFZJlTC7+?mt+=9g=^%SU3e9!Io) zmtn(%^NwFhOv!}RL6g8!5dH(M(XEbJ;%M-cl* z#HLuk3h%=vE13iS3RYVs4GiLEYnYtC1*nwK^o|>84c}HQpiu7I6sZ_7W>7;=aHuPr ze)`EsZ-p%m>O|a-sp&nG)!O|ZYQPG@Po_=%YCv8=7s%ZlXVfyr+2XTswQ#kg_6cg2 z79=6@`l!Tyh@jX+* z##)jgNkZI|9K@l;Tde1?h!$Yni>FZ)ykz6SD5-OuNz`d8&w5sZkrX6^-hyZulOn-* z3u)yg;?=ZXl(4OMKpVYEcsM1|HCaAgQ*$SVR|yiYe;G<3IlbX{^>$U0>eV}6O2~V? zWr%^`15WrFV!Y9|H~aZcZ-7vcz3pC0-cnW+TG9>KGdVhdq~NM2?mQoQ*Xjev2QFxw)%dC7Qnua^;C zUb74l(0$EDJ~&@kWEr}=OT1&&3{Th0Lx7kX@kkwVNdFw6@ITGmUO81;$ubNNHD+2yTG-b`bmM07dP@V z;V5yn%piY*=S(1&;7pKNqi_;yhCePNt4gZ^2Zu85lQ zE&CUE_LBCH7F zKuStINS4XzJc5ns#^i?C<&z@QAm2C{#>L}|G`DIC9rG7dAUBMRU$=)u;4vN|1u^r%KqHWnR2 z^sYweJJtypz1C>MZNqYM`+XEf8}61jMA7UWPed}FPc4=xba^XPqUfMv8+IY002qVV zg2UP5Bc*Y}&vZXVyCB7CFZvc>L%&U((JxYIDs&nhD_tV>2co|=BBGFKi9<}ew~Y;k z)M>hWXY5ebHbT`?3qUhP*I;YSAu33jXc*S%S#I45Hny!4j9O8|yU{tZ!;sc8)NEO_ z0kPF0RdFY_R!^5{i=!d~)>T-6bErQSEV-;3(n}IbWS#9{bMl00+eJaC6+=wgp0N~Y zJa>_*b9hFU1%SsG3h}Pq4mKz-IkrkKo^~o@)#Zievtz++xo~U=-IV4~MTOA81f6^oYD4_&PI#^_NFBA5jH+nG(HjzSAH`G~xPV08Y;Nogb7<`Sj*q7rA3?dEFJu9qOlLJre&w>g-`2}Ug-t)dzLGA)w7T6c3(<$ZC z4dNuh`D1$cyBpqxXKfGSLA`1uEP?lcyOTO}>nzE1o*-Wu?hkL25S=pE{{Q#`^4Mwx z;Pl~*uQK4Z`VU>IYDRVqp!tHZr83;y@dY zE>+9#Aqc9YA2cj$P-vxP*V>0aDgpQ3v!2zs}@aT4B}-q zn0qjo9M;C)MwItWkH^v()y*pV7&S%(0>STvrNmD>g?TUp!a$yC9}?URsomFqQI0I# z8ZtBV0x2OgyAu-7dI;lt5`u8WzY~P@35!0e;cz~c8UT)aNt*g10X~*$ArnRQWpO3G zFha5!NpiRego6-l)+1f*-%n{W_mIn@uYya}z~UnlZQEgyRlj|79O^b{>NZxj8w*mw zR;+9gQz zQwD-|<)j@Mm{s|=!Or+KDs;%vuv4#w_p#fV5cj1#^(z|lX^*M{((zXbz_Bke#F}>` z5GM5oh2oP!&@OYjBku`2_MYlBZ5zIm+&i`pOaiUnj8OB=T&1fI< zAZ_H!)RKk0g{jF$r;`NJk=2CBq=q%!yEa4vkqKSx*hq}{T(uASB}AD5Yv=1mOscd4 zkpz>##vIa>T1^+jn)f_9Xqs>hqn9x6!X2*8|<_mzKEVPpI&e6Qm8liztUK`J+Jp3+Ukh>d#6-lik2Ay61d_ode>I zm0m>idz2PPM}&$+SC!-&eK;<-2A;n!DS`IA?Lx)Hoekz5$t|zQiFll(7t0TGod6XV zc@M9i&k)nlbI`qieOg{BA}_ogj2_ML)iq{+Vl-aZI#UH2CaH<-+4A@&YvE&ElbjMD zO**x5Rc;X?FW-?7QWXo*1lGj|!>1M-W{-#1p`7_lb@SU64OtQR$yW37_dPTOibfT! zTVed09y?FpP=7AmXhu`>oku<7(Hh{J3Jcg1vQUIxkhbPVD=yR=+=4PX$=Dmbi$5v@ z>U?Sf_4ZTFQoBI9d7ZbFFJvzQFBTkwtsi+Gy7v`Ip+&?od$4%_;cA}m^$*%GUO!Hd zDgoCIQY~m6gfz65bb)mBee+vl%{vPhQ#zb9+YWYLYW!70%=2_XAl(g4=;z!JB?hspCSkE&2iyuL2NY|gBKZGG4FJl& zY9Rl*95Cqv`;2lgMHRese>>P#IC6-=cBg7aUv~S4n+$w(M>W{fz&9Ro^=1Yho-N$% ze9x?X-zZkfW||hnt2~ER_%Yzc+Yak6`8oe>wrF8n?g*bmE8HhjpN3FEV^E9sD7&{u{#JG!+jMXOkL~ObJWwQi^ zf`z{q^p;d8?Br5f!DxGjtz%oVeQui~Z4lxx7X8dPyy zj@S=C8W11^0AUaSFaiKDA^<=D0FX{!5n9!nmTT3je*M+Fwp*jMYHe%1ZCqZe*7apy zHK=}2eLhgCsBd|GzbdK%iUI=nfz|I2P!JIW1i%LXKx786Xdu%84kz8Oe`x>xLM1dw zdP+zW{`gra2kHhl5RgPd*(eh*NAqMSf?3PHzr%D)-+i$gRdV$B6OE2$@$hCzx@q7F zZt=M;9(u&VHx4T<0U+_gv%UhC0t9e=hcF=k05d~3GX-!`V4S)Cmt^fbn{phk-86A_ zqFMD;<5iheTZ&GICZR)#Z#?b|TG9Wqky_++)vKx2T`j!9a@~(Xd&;MeNoiJINJ+r`!v0mG{o2H4 z+0nxd+Rgl0cD34Ty(7+4>mjvhE~nUUTRyip)#Zx_!~LxxG4+ZH(}`sZ92(h>kb%gR zS`%tvmiwzvX|BDA6ou+;e59o6Hq#p7s-^oNiY}Gu8pmo4s!aJ_H#ZIYQWSa`LU>(M zw+7Xw{J-T^HusPmFl43sgc_W5aK2n%vo!P%x$1;Y_XK+O zMWMc6+o3P$O8%w|&}wPa3Oc#TVr=%x#uB>q*~;!ruV=@!)MWdx!b?gONOZ*=nr?wr z!oL&uSWJO~NVWL&N*gH^Ijru0MB6jGYFp`qRTePigI(TJkNB5Xh zqs~Y^o+(VFguq(Z(}zX%1Sv7y3w`_rT84l=Um5?0N5GgrM9660j)V5&+ukE=3r7AK zW8+adjxfG8CG8?yurSBozZQ#9Lh^RlHRmPY+q_npLfE;(>^u&W43K_#4F_uejb+4c zJ%wZTl-y#wDq|*c(>zJKkir05dOOOG1!e@!Gp3C&**u>-@-o;2Gc4bhc&$aiWdw}H zCq+WXz@7s!k{3%!v6AGWD#p+JOwphlaAU&45Nz{Bm^qNi{1%{#eBOW<6NS*(=8Z7r z8MwdL1B2GKGD@fa`8fi7!V9%qvUyS6KX8oYxtbz_$kY@jk}JrHaEAu&)*j#i$B8N5 z6|4m+QoKle5a@CX(L9OAJgET}slsw8<|H9DcY!J>YYE!NbC`!B@b6+wL&F}JY~VS+ zbewn>NPBkiO*uf+qMsQ(^?GE- zoauqHk7_D)ec6>-FzJ9af|9g5evkEL0q85Hg)rHXSP9cekY=`%R)*Q~;7gH#a7n4| z5;7}ADIKS7`ot9KiqqnfQot_Y9@>>{S%+uBjggx0b~P>|DS*9Y^K1y8g9t2PrtaOF zWC7U8u1USDy@sFhT#Fk9gUsd64c={CMVPt#^m~$v-=bVo3*~SI@;=t83l<3}%ihB& z#g!x$LC?8q3w78HrF`tE7G@+qs44a&Wg*zMz2}OBqT@$=jC>{mW-Kom_)Az};$)ILj< z2C^13_5J1?U~2i#JfQk>vR4T)Q&z7R&D=_Dx(?yW50*&F_NkIkq8Ctv*>*TF&H-`H z4Yv6z7m~~2s$W+Sg52E~V+qTZf6^9S%O;uSnu^xp5NX|-iVqJ9;8dZv1Ys2-k`I6FKQ&F_;xQ@ zGVCNB*fc8mBD0K}@jyb(cgz_U(@$Zr1Jy{^0n8F2S)wTrQ0x&+Az};%ea4KBJTu8@ zvfM^Ei|agslbBs?pihW`lf`%kXqSzd)^ky7D@7!#Gy(#GUCT(1IjS?;FCd2|yiHqO=4q>8PME0!fw4xQJ0n|HhY6fI=7{P-MR z^hx4CyMj4M)b*caNwKl`9fSnSQ)ZA&$%Dkov3emIBi_nqfcLVa!%e*@)E*UqDsz0) z^J7mlEI?>VRQ7ls8Fh&#;iP&4REgjMr~4a5ho4_Xx>95J#eRKOF89Yo6NULN0#2uW zBJU$NCI5eBX+1M>Kv#o!IZMW51A?f`b7e#c!gLo%yIdraSx62xJFn&y_jY;MN zR^VIL)MEO8x#gI5*Xk-9Kf7bbN3me@W1M1Ck_ON856Gq_b0uwMaAKofYv}D_x?^!+ z$WR|u#L+T64}!4%<6TcS*NX30BlZ7e;=}Z^6Ul+i~pI!QX{~6IWr1etN2=ZOO z8#mr#Ls}u&yY+74&#o!wSDEx`0Gd>v!We_pKY=shLl zMTOzJ%^>sUtIdV@pO&jpUj#jsXKrE2G+;6z#Q#{$Sw`T>%1^h$E>H z<=$N{*9WqcXG0GFlt%f>;|8>MIf_@GxY3ZK-|2Jjn7|(d{EE&uWAe2ZiulH|ldJ=s z1>=ixo1?Y$@5jh3h^_;F^8(l>`IA%%tDl*!y*+NYM4)$#8A@2D@~`j>A`9fyz8;7d zu^6KgvNt1cnhV>V)BU#GC`ND*2eBpNA^eR$+6iQqu`t?X#W8;|UeX=!Xnh#B<7!yI ziH;7pRo;T=kG^Sk{E?7i56LTg(z_t~hPf+V+#4mz?)!CZ5#mm13}du#USlv1vM(aQ3I@hmaNfqtM%jOmp@tC_ms&uTm)Q{>(9nGlFamX)dK*H zAQD+PIkP5g7Ani3RnSi$BHbARpeuqiFn_6>^;x7!Wg^~n@plFQXp0~QOD}a=|5gi? zWq2#biwwNq>Vo{xE2J~q|87a7tXgG!8r*<00Dq_m@*v!#GtB?E=u+mlGP{BRbD_>q z|K~=X0snIBtb@KqBrRG30o7-PQQy@B@qm<4XSV-Ucu^L&rk{yJphx%-+5lkGZCn4kf3rY@TP;LAtFXJmM*h)_o-5C%_obwSFo zCg}_&Kej+p7OgUT3fq7)V0@?uvdG({GtBb1{8ARTGP{DHaG}mn%j8Cjz9vo%KA~G? zoMRW6i=$-`E8SPj6WCYr3asQ#KY)hlJcmOFi1Q|4)$$cI$==X9;zakB;FHHwb4uAQ z6UG^hfX(FjKi!ye>B~hd#a3t}vzAbTs>}L;67Cx@R%MwxPFc!9`i3EmR)RDjEB%X! zqLQGEyB({lEb?FH!nauYyV6ut8FG@vXl){MDrh{m+>ag<-`mnG(~Bi z%>|VhZCX*%Fj0#MJ1JE_Mr55$F$Gm1TlAqz!@w=2EhuUe$OXP~v=x*>aN~zC4U@Qy zu;&E}mg8^*0oYu@p&A);X<^3-Dn75ShT#;7#-0ig1quqq={ru)2wz^^0u6TS1r#-? zK&LB!l_TtVL5Z?#=duB<3QckW)NsrBz*;ApGDj0DqgU2WzgTLi)bZL3R)8QTg|pkrbMYKgyA+wj61fzlYp>VjMvx7ZZ5m-iBOg0IyO zp5i0hiFG+|1r?s41X7#rDe7RLF=o7GL3_CZRLr0gp2+?Q+KwIWNj0S#eIX3F$|t(K}-os2p!Xt)}#S=(Nk0FZOq_ieH0XH->U##@2Y zz-c)k+Ss?O2*h&bcXl1nP=7>F27YI9FB5k7j*ODdkS;{RZ3S8UUgkyFx~R?qRUluH z`mIK33K6`G;U?>X@BmSE6PB+9Vts+zZ&TClGP*f4_1Wo8P zLBkO1dHVwLa6{^@xovk-D2~eI$(+~UP2a}zl^7U7MMlcbBjIlr$1IC$^zFa}7sfi+ z{4GPUS^=Sj(Tt!}9Ucus;7RKbi)tqZEXuR2XrQS zJO|0{DPPf;oyRGoH{wgX1{BB+NH2~noMv{v;h8NmBBKK^%Pg(B(y*VHVW^&mX|W4b zo&}T*d+MDMocj88P5L$&hV{W(xy%#_kSfGFS7c;Bt9cIkC#^iOtSwiRpN$`1b2(S7MUXjtHtYwj{M4_GUPQy)<;m)_CS{ zvi}`u&9gvq@!tWQ;ZluW{yF&fxv8uCu{(3a%iguC=JxF^(@kW`q7H82zf;QX37q6iX2q=sRu_Mo*u#gqOvj+?A-7~k5nQ*0t4(7m&5@>NZ zf>!_*I==Jtwor#Arr`Z^HAKY7Uu)c7h`1#VoWfaG_KAADHR=G*BnA32WEp46CXL~< zv0Y?|+>8l1oWX6(uB&UYfx~* z+E)bTTtAp6kSdeE@P_jPB0{+qjx=Psm(NnU(Qq&3mq}48kSmsKkUe%Y24f}ys^#)Y zr2IEJ0MtUC2@>@B%!Q5t#zexmW-YqqB<2~0)q#I^ZoTR+mmNA1d#w_hCXf0S5`5psa;v?_P4z)AdZJKbO);l`zWA)SIm&pm(5avs-kH<IW&Y`7W;;hw z8T``G`56HFpi~-d^h_o0Y!W`sJ|l$=wF>By)Tn>u1^j9H&t(nde@16izBP5t68YGY z!uX4k8b?@k&M9jeB3YTy$0ztJRQh0qKc(uAq3)cR3?Vg?KE$*b{RjLnransGkL7BQ zum9hO#ods$VEmC%Fmn2b-2&}esf*PQ*X9@di3{qd+hX^}kS?kHJ%GMV4HRnn&)*Q( zIl8I`%r9B5dS4s5#C*~CWC6BgNi17W7i9l6s-MEer$VrFT_dRw#;;3A6%Bvai6~$H z1g3|+(i@}|)tqoD4PJ7w#!-}v^4;a4j!vL5c3sXU)&MPYBCuZ-MeXFhvQjYyl4A5z z#fxFJ(>6$2SC3tuGHgniM;0;An>kwpih`(|E#9^py#ugA*U!YZ`hT+3yN9F&Z7aQH za90raqTDFJuO)2_!{EtQ&}D4~@DS+2HY52EbZHy-dF~NGXyP`bp+9Q3fyk2p z+u#OaRRp%g4F;hg*djL@hrnRU+-)=igei2k0S2~L>c|p-Obzvp9-4K`ViWo7lmujk z)Y@5&#sB+}NTIcBMP%vj1AfX@a%iIq$iTSsw`+i6y&hwWW}YY4DkWL;O+M6mfoLxg zcDkBD@hWYCY+R1~P_$vfmk2vu&0v0=UusiPkU^Kf1s~mT9vgmA6Y3 zIAH)6xH`~g%#*G$=ysB1v&hO)yPyI$OsEoOomVsQM`}Azx13Ejh0QIj$XRF7luVaS z=&jlbvf-^}P?;MJUKz8ds}`P=r)#@V0UL&Fp;;%@jBL|03vJgbK# zp2!}30H`$RLVX~qIM`wwMDlc#s!J0l`)3f6S($6QgNW>g25Jjs^T^tMCdp9?(-S@l zKQ`AVggG=A{Q*sUDlKvIL{^&3wTY|+&1Bm_6Z#l#acBZxA-+H53G`tgxC9%gA0I1u z5=@1P8a#l~u!pLhAj!>?Hw6P>_WzmkW@5PPB%Bkq@Gf)^dZ*w76>FYOSCvW&jtaIc$VbgWJE2{Gl}7AgjX*~zt8#IPh*->!k<+>_iN7O4|xey=(0AUmWKmq_YA^=bT0OU_C4k=G&W<+9w z;=RS~?v-2Zy{om`-1gq8we6g>wYFBa%}}PiPU}zu)gp?BfPjD?Aax)^K_ZGOAn5c_ z9R&eWMF0RJGiXHsa1Vgrd4GOnZs(gxSP;Pf!m)`S00WFbbg&%ChTTGDX}Zd5`d??W zobz{G+t=SWR>{WFr)}*w@q8UtSH1A@C6#t{;Kg^VzMaM5TU)zY!65G7RlJHW10&#o zZfcRTSq` zQG(MtYN^taDuSMWfBNsRX_3X7^!mFcE|Slgr+@KjuaA_t=`UwTjX`g=tX%xe#K+VM zNrl|RcqZluGA6~CJZ133d^%=H-c=!z=I@>IB{Od_LS(9uX{ottJ9O{VLPTU^wCALp zRjbTon|sJF%@)FpsA(uGUFcbH-nckJ0wdu{w7A-xFjl4wlq2UHjZYwsge%c;Xzhfx zGB+B|oFOisr5y=YqOjU_!djUI*xB=!kFtY018qRz2N-gw+})6IuoEFi!~wTdUG$jg zV=#(WMyG;eu5FOQF(CTxZdH9UkBvYEtbX$PIr%9!as%kt4xrCNTv(AHirSW1uY1ur z*htO*Z%{c>iawxi@L&~AA!IG3I3StR51jgHWw=5(VGKoQRSN}Hm-tB$QbbZLb);+r zV`$B1Dum+0Fd%h_1};>sMPq`@@g~=<^p3uwQv)g(XSy6hLD~sg;K|Q0 zWK+%SA?AQ8LV*hLwBWLGV@(i-u70#*IWoz1SIR*}bap_pq1NS9=wRf7*FSBJC6(mp z_KrEIh6l!4M!ckjI}t-atO^rxfESAm-s#%d9A0jH z=wZW-GzTfh_=#$#2wjrNVp_?nI3k_!MXg4hCBoJ+u*dx%vAFgF58Njb6W0w` zK{v@rP_I201WU@VSyhDR%V|RHIbQOgm(H6ozmKLi?QW2Lk}aUZ4Bp|qigTFtMQf_1 zM8~PAou-XpSLiw^65(~XOCT_GpxNM5mte@60_}NftjjMU;^j7ag=-h{qq|}1vIy4; z^Q8|L!-8B8g~Hc|-M+1{ zSUBAtq{yVzTX`2JvE_4^yV$VwuS6L)ggHkC>w>g+gF;aY83GX^+KodiypU_%PBku2 zgqe1+Q7?V;RKLA41ym-G%BS1*Ez;B0Og- zWOvaf^YcPqZ%`oN*2=mu{@xT>ESP?Rt}K!ZC>U-vuGLi?6RBzmMF!*?qezSLg4&`g zM7W`zhvHnmJDXg%c#?FyrD+SRP6oNT{&&Q=eAqp7xTTV7@YqPz0N2*KR$7>DD6B%5 zyH++f*YA!dmo8`|9cQVVJO?gY=R}^OXn{`uT2Om87Y))6&?vUzEMxMNW zQv%Am-eHsW5tV|H9xtG5gVLmrfAX@8;UA~u%Rhp$hN(QUM8*akIl6J(*ud{|2cEL% zVg^YMfH^KbFrUj0CS;SB`PY6BtBiFBJ^1PB;gI$aD979uO0u4;2b~tZJ5M1Kpv`^*oQ$!<|%|B zE<9=)fRu5;&zAoGip*uPA{BZa$HzhjJZfcs?al~6Qu;*QL^IIoDk}U~)0??^lsBOA z=i-cWBWA&{1O6tRdN1{2GAd^$1iEEJ!fYnmvEGvIe7giEyL!^wmix^W4S!uH1AImkdSuMBkMin-@Cj>Xr--f zF$S<+u?R=)1$AoXu7nr6Gw-stq=dwpClF?hh(+4wj!(zVpmF@huSs*}Rc#7~uqU8c zy-$4QXWTw!hCUG+D)PPFf2`@-NpKLXM_-eguttGm@Yl3Kz@HIT45MKVay6J*s+kC zgd`P1Uf~jU)s}@Dy40L|4`53lJJXUS?CzB^+kY?Ez3zGh~LIJNm65ySbynGcSETvoUN2Eh$xLbn zuwS^L1a(<9gu_u0ebDm%go}UDwb<5~Z#F-_FWIIr&>rf$j7WxHA|v%Exxp+FVc(!I-G45DgyX8kb=*n;ozhTeTd)w`t*C}$khO*%+uqBrS)Hcvs=GK4)TUY zT;TdsQtOu?C%S&X8FTOJ7oWjW3x8yw<1~9YZ%i}D!L2)Vx99S}8PdW}2}sLd){rN7 zSI;{SUg2D!-9W~#svXQ)?IX~2s)tm^3*JZA?SmtdOoSa}&2l>`@;)_oJa3{&d)0vLx!}nJJ0V z+hTOo0Hq8Mek1mMv7t?SUAQ#7xD8}4)+3Tq=y*;+S_-@x8l^9W$_&r+9-n^K>Jp{l zjN!w#4(@CFhG7VD`p}{cGnJTqux_jlDLf#s177^vR$2Q|!n?`2EEYD!v0j2H_}znO zH4-n;8I*f-`>Vuz_cT*Ea8D^7etQ_PpZ_emJ1|r+`EU&eVF15J9BR7XwF!ds%RNUZ zD=4mqAI1OJ-@c(}5c7kgLJS{+Ek>U+j30CNSqF6Sjg@G)UCc- zc^zTwYbX`Q!Jr0Lhea42t)y5Mb7+F#lhRWstd8ir2rn1lJ2eAqFI}vgdVU_KlzbD$?o*5%9p!yt|pQs`+lz3T7R+Fx+wEa+# z(4Hn@@gTBEv}Q~IZ2S;tE*Q+(@05yF z3-f7%iLwZ%bF|_ij>H44j25Id6qP}cAg{rxjI>0~2HiXb(~wB!;YG$oLZt^@84{?i zJnA9Li300g6$iB>uY#&tAKb&86EJ^~j)5(Y#7s6IN+FRg$oofjfGJb|EJn}uFZYR3 z81=rHn4KyLZNNj+`n2A}2~Ov+~hi;)g-CLYaCpe6sJ}(Jne7ZMS^&4b@T6iC`U}%yjNDGI| zSWT2J2r~nkaA_D!;^jz`-$_&V(`dogpv#ZiOJ7;0X(LdduVll_BtqIjEDW^-$qj&J zv?WS6jFv%Gdmxc~Lxmn$LfHe~jQNW;A>mM4Mil~CXN-f;Bul7eI3w@=`3zumLZ?8p zj48l^2C52W#O44~hX2`2pYC6K8aT*9(Ro9qIX54q8ceMXjw=}72eU#QC3gXmYBs

    2. Sa<2=MGMtX7xHo$FfF{Lr(AD;^c4srQ{t__(1 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¨H0rDw83`Jrt}6^JYlj9V28@%EH5=Ie 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¬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%0Alx-lwKj_1FX7WFw1UH4d;dG)!rF9 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

      lh#k& z`Z>Q#pYOKzOCLS??x)}8{il9e=r8@(KfgY=Z}jEfyiecsvHdzty_at0k$&p;he!X} z^e*~L`u+6qKa_r#K7Q$)k3#9sHtC~JefsjhJ>T@7wb5Ii`qh{AgRHvOb^hr$?(`SA zzgYC7)Qagdh;10)G6|7u?N!w1pq{%^46C;Qu2Z?33l6eOdq|5IOfF|_&sYy4q7bx| zzpttC+unSXm$Lv|(!@xewZ6wK#WKAc+1G^@+i)lfj0{^U6cF+ZR4}E2g{<$SYvgH( zQ!IVklEs3ZI-V}^Mx;}FV7$}PeOCml zsrT6clt~gVta_kn$BG+Pe=#w*s3%@MDs1_0-tN?6TLoHL#mHdoBG3aNuUgOL>VLg^*ClwQ$2yJSCrl1T18C zEb_>`y4F5&D5*m&{!dG%Q(+`uOZd1*exC19E5f<@A~?4p%mVJ%NMohtJs)BL*(dJU zm(|zo>b_Lh_M}{8lP|F_D@Pj5dPmeKwp`6Z0h4Mlra7p30Uo8wSzTY4+eya06SqLz zz-Y{&fnt+ip|bq8SUGh$_e#1|__w)QJ44L8SJ%KUgGI%aOJo#U7_T;#`{ywtau#V% zyF7Lo8Y;G9?`{|?P0f2Lh`t=K_X5P~@rJoYtbu|4{FSG$j`e;`DtnjiIGBAzgo0R? zs4~TuJE%(WdLOLo%?jjX$6!+8``#Tw#!l#nM))oiUPJzQNfBBK<5GC6;~+PBcNgRZgh^va6IiS%k&1E+IbcXSE<5Cn)m-IK z(Ytr_pV@VySU_?i@lYwiuD&V{BlXNRojkk^bAZtRHkYoNl|yA)*8 z#U^s6qTaWdFtUdLWd`wTolxNATV4+dE(4-fv+|)q9}~-2#*({d(}0E0{p7 zZZ&|}5rnh*f|^XT7?-JE&7&YIC*C57=&snvGbUiH=6Ueekc`aZYHTRk*}$SV(GBa_ zG%hq!hE(|3lFSXbklTo-Od;fE;DCpCq4<(_GM~A4CR%QTCXa84P`YrzSSml9@(KkC z%q7g<4>Jpt{lr!7vCnB~@I6Mt`|J0=3UmHA`}tWDfN#glh2I|K7>pKD*bOXx50|j6 zcjR`w;9k!{XLTa#5R}qaG*Zd1dlTNUejbI!R+Lf1Jn~mm#j-;y2=HA?g0RPI)eTjN zwSc%JD};3Xi~JJk((&|4E4pgfi^cWVelHn z9~f*QH+^GE&64;%NFt8J@R%0&wf#JCy4VRVOvn@ESb;k@Jk?Q9j^Y(a7@JUGF0EZC zw18pQrIV==#zSQmzs^W04g#@`6zm>fnvi@cU@ErcCf*}B>d%K#5kYq#Ke5`h12-9W zAs4S%zHXrqe?bgEHx9~bdf$l;@5CUAd^BJi3=)yr4E9c$cC*qFs-`H5eU6TCS|=gV z!iRk6kn(E8zNSPoNr4eL+*_p-2&??rrKDOsGFe;b~X2iHki9H$l=~?tCcOZj$3Yp5`rbs!sR=`8?3$KFxY>grw_`ia8Y_T)%wc3 z0~axxEj#LnlAnY=iedO8@6!zi_nad*VliSYb}>=S4M?E04^(Vb^SIKNvUVw7=&EQ~sZ4@w8rssSUlHiIF^Wev&16A+2to0UZV3s$&)}Hj#V5 zWXi;dDH$&z#T$yCC9yi<4tr=>$XApm_|>tyrX}FII@yw(LcJ=Fj1b&lIJPRGDrC4p z^9IH?q#aXah(6PFc`|b243BK4A9P| zWuvyq#p5);=?>8OmA*QQYy)`6&RU?ox^*HtIDLWN zz!o7U*=POZjaSiDK;`UOP|`c1(p0=ZHCUmApXDvs{9h&NIfI*ci{sZOEA39JA9iCzuOLl>~e}Q z>VcMaMUzV20%+u(3pmRm)EF9&I;rZEzS$rZjGWSCT&LBd1ZTiV}&M2Swn7dN9izz;MMJ>rc`cg)lT_R0H7~fB0}wzzzVM&3IZI!BBCypsP8+BS*BpPdzb<_(sykrb zWiZ~g&zoL?P&boGRlvfU`=W{uqSsj%0@mJgF<3&xRB>8rj@0b8=;l0IO)jhm5_?}_ z#FSUue6zYk%GhmIq$Znz-9vsv=)RG!Xv6qQ04iMu)4h#b)yrBtZ(q87b3`3P)<`g= z1qZ#J)qIsmr!8p;ESfl$vU?1d(24>R)Y1uS>WX2+OI?bzZ=^Ze^reP|xJeCORQkwqy1}HATGS*}wm{^6s^<=^PuAK$qbvvLDieiA;cnl2sS{QN z+JogYn0pBpO6#qk+V{x2zNuUKspr70Z!M?$)6A(|?LsNF#HEo%PE>Ow>$xB#-*7id z>XW%M?IWx8{ih0T!LQqEVu5OLPAEV}PBcTWym+$qC8!7ANHAR#Kl9%S;IdCe4!}_W zOa8ng{Hl8D>DjR~g%m^J`Er3?KK8x^&xT*X#$B~2Iq9l#S8laSlk5AxFJ;OHH+;dA zNOJP@-3+=kBYHF?qgugGmY`lz`PUoa>6F>v3!gRLJd@`#dd_RosphK^isaqb%#_~~ zG~<9}c`BCZTx)H9V{pcju<-T=8llLLH)DtH>zm@7xfSyEecy8`d@EwD*?_tB?(1?f z>XMa2XFenp&A6~Mvx+MkBdEHf*OvMTdD*RUv3zR{S%2LGiXagI= z;ZxnOqOP@VFwt-UQ#y0OnjD)*?sD_l`p_8(`K_o!rW3T8WpgDJSb&d@QJE#L2#VVc zRYvEt+a8Gugh8oI=VCJqz6)O-)&Di&ucYnS7S3g~VqA7~Ff?cv-2bZpRLwaW9O8_$ zo^ey4%P*^y!TzAC>~}E@(S0L(JiU0nqbaSBvtIs2LA!ZfUHHn5!+^5RT6{f6RTqnT zXH+>g5Snu&^Kx*Sx5~ej!o~O#bI3Al-8s0{w%$Cxs~H8Vsm7(dOb z9NL4*z5%S%W*$s#l5u8byJw((e#}el)a`YxzpJmZ!H@tWWp%NbY6N7G&S79*AjK`>F0H8B#Fca8O|Z=^Lx7;Qz|?f5uIY z978JKXo>dzMLKr>~`hlkexzKXmcF#RO=+<84>{NvG#SRbQWa zqY2Q2II9HQ(68xiGdWhZ8U$zNCC?4o?2s@2sRir3oL)|0;I*aM^;(r)i1aHd#a3U; z(@u4=b%u{Gg-06GmsSr;@v;YILvwUIC+T=a3#8*5XOlctbd1&3LI8gP3P9ftWN$(d znD*wELr3?~vvW9Uk?;t;xnND!?k#1M70-N1IHbqSd@ZmOT%n+1_F5Rd*N^QIHqvM8 zNj@%Eg>L6)@@$55_^zX>yfH{3oV2;A>RPUrAIjLZva?OZM%h}KT>*~&dVbB`17#j` z9BxZuyU}*mhB=Q~s8s3so}mfcYbaC*K}qqVmmcKAC*&7*))3AC!P1X)iKcH~b1Yx^ znXc)~WzPQ_R2@dt6=_I=R%yDJZQ;_{BWZSyR0|}FdSKjXdbkCB3eRMe@Z&_qjcUfq2ec%hp2=7^|S&rJHBIVe$X!T=!r-LPC-kQy7O_1$c!k}jKJ8a_P>`)}Q6Y5PJ-PvL>DLrrc~1PExCtRM0p&9Zk-5WJCHhFIbiV4PF<) ze6dOiO=)T3UUaxh%v5nCoc4DYIIr-4<-t|OS&!A1cIDPa#9|!8)>2O_aduJ6t8%2lc zy~@E~LsvE#Zwbu zsv`P4QLgGU2RTUSl^SkxE|);g=Rzie*tg2d zH#;!q1`^F%2wPVZ4ABX7-AG$s*vmV#yicfuOHze-3X2)&vbb_JQmp<~tb=0dh^7nNo zpAsbeQ4=f^F@B+`?}MQaomM*HHm-&A>m0j_w8hE`N2A)uOuLo82BZHw{5~ot89r|g zz2;74hkv@KmiDyr`x4T9hWBxp&|}K>!rtko2PTQX_wD~0qc^_gz)$jxN+$!1 zi9V<=_;c9L(6wX6*X#-CIOZ;}EIo8aH(`7!kWh%DL3(HGXUpI$?A3(XEb)Z1F1OUjY0!@?Z45Z3q~{JdfciT<6l$m?bI z-*^MGlRtZN4kit?uapZ_N7`KFtR#)p+x<@Y(}4cBdakQx55|?v)!RfM#iq$gWbGab zTgFMXDWE2wwa$ZM4{bFS^G%Z?OUg@1`+bYa3v7o$^%#R=a=m~sF3#e*j}22VSkmlg zn$w2Pskv}Xy&`O4z)aBno~ts};L7-!$Gr^6E$U=Q-(N3F4h-*eWHs@HOQmzkbhWiC zv*?tLsdSCnz8o7c!S#_S7lZZ~6p*ZADJ2k@wM_p(3T zS3%VeOyduCCzaQjz|&afr@HlLellNG3Di{s>__6uGScXj%#XLl?izV=IM3g+*_+TK zm39xeF0WVY(!g(e6?G~rGE~noQpjI>UO1rZ8Ppcrx*Fhv-op=-7DIZmNMgL9lhBJd zJn01JFB;}@HVfLXZ~7u`y*;3ss;oR8ebJlw#7~EjnGaJPOO@KI#^wUzr(fVH!J3Qx zZgvgPds@^DbhIfHUEv6{+1s^kDt3PjE(E8wn!Tjgxja2<*O8wH`ht0kUtCX73ATTQ z4@gr87L-ORY09_nq#_w0K94h|LG!20D&A}l$EgINL(c>irRo@}&0@BywL-Wo=rk;W zQV0Vzwd=6;2##m}ig)(pyygct~OGD$q|^9%EAR?7)90U2#%v z{ksR6T-G9}1y|qSrNt1yG`QFTwARG`=}>j2Vn-LDCoH~AT^+RMxdz(Bw-=Z*qnlOC zELs~@e$*c{y|$5ZsAWsG_O?K@`0D~Kq0cV|#YZ-_(N?NL7iM+-$)qjuLOdm$^#EUm zR!uHiPMKeZ>*_&UDHpep(Vh$KmL!!~?;yqHCq;?HL?Rn#rFtEuI8O?zvX+H8_i+@? z`q(di5J`mPc#PH#%-&^MxH*%yvC<hZJUSPZ+LgkGY`of21+JiVR5N zAqLzmr*GfxFcY^l*}9a0-;n&k_(XKZVHO7{z{B73-{=%=*O^F6@1wGcDMRo%xW*FK z{(ux$M%sVDC@ch8tvg4w_5pNKa@#3UGMdEJ2Y+!k05i8pAI%EYWvdt=z%*%R-Ha@x z?*l%&FrGT08n;Is`~w)SBXxr$q}VNNr522I!-WAz)2*(W++BYfW@SZqTfqm0>i~b4T&^R5~#7{_yU5!7Ou? zCP-7bmn`&;{g|94G#A;Cxl1o$K?N({QBORrE=$!CZQ~Gd(2p5&*!W*f3Q}1v&8% zBmx;xEv>jBLwcPpb2;Y9z-#J?VMj-Al$blaUBM%fVT{aT60L)3N=QM1;Vn05>b4Ae z%IQbqqjQrE-5P|w@nv9NJftY8)&t!5n9AV}NKx`&Vm*S5M0v}WR$$^T1&Q^P#Z<(m9MET$?TwK@0j2w$+Y**o;b&573a^hdj^}wHElULWq6>8v_2kQ zOMaN^Snhnp#+Z4TO+(f7rZKG=WRxLEh?EMz7(2F2U80O~;vK*PvP9@ zgf(@=u(=`FYAN7wRQMaf(`Qw8h;LjTd`Aiq3=zGCSj$6h$wV6GgT;R*Ij&GJ1*Z%- zza7V!cDU~N_Vnj-qPkQ|+tPx@SH|ajbUD1hTO{qqA)-h;G299Wj!J|;W&@s01nCZ^ zas-qPbr&*!09B1)x1qgGLx)v|)3<0o=Ouak*0xWA1E4)JlQ`#U~ydGh9C* zQ1pp%xU*DdJVt?r3Fxh zjt1mQ5v&zdh8|{9xsUSz;D>CyWx0Hhyw;m_=}$g?eTRE=^0XSEN&>+SVp?f8jg zw6`$MtWtEKhN+&hn`BVXE!0@8G1FbJ%#y=4rb;h3h+rm&LAJMneG+EIBw9RTuws}P zrlJbUeFzQMO$0KKmQ1WPOiU>qI0SzfhZXY^>q$u4PvDX7vg^bUM2tmQMQcGjeCJ&u z#Cn<{7Go_5da4*)B8N^Yx%I&AX@Z}Sg9Sns_r18E=-@v+Knb@v+PF2o92Gn7|God0 zzF%wntvh}P)qO|e#1SK?oQP+Pxg11~-)>Hn&p9io+&G~0y&S!6;C}?wEPD`8bAia# zZj>-V!qU072<$^V3FW!B1TX!B8^u~gty$CutDPYq$Ji>iqqYV;?Q3BLpB`*b!C+p+ zDAo?9$ir`jSc@GKY-|M#hV^#Aa3G7s)Pjm>;HXu_5}g>jiaa8m5xI~}y&`Pnz|Km* zI}Ao&d#W!8QKMvp_vU+`qAi;7`tnTk8v{Y+^#94MN#1e-NDe-`>FL2_be zT-8Dq7;yVzi8s59nHhsW_|UsAo7uiIl6L1Ubc1km)X^+ZF$}9>snCD?0qEJ`Ju$L| zFbTL)qRV#8>!7*1GaTEns*?x4-IJG>>q{>Ws0O0MO%B5_Gf_;{OdwRYmx2@Fk}pJp zqZVp1^myJW(fiD~5`l@3J+y{iYnV*o+<$b3geSq@TH38YzYnruh8C=wnOvsF1{LIl zVMel@E5d9`#w=-)TUHtKauf8v{y?}Y0Ctq7hB`EMB2g@ z#7H;KPJ7jifHZssaMxOoEfabn5;bFykU12zDums_QD*gkz;rM}i5xk-akjQDl@Td3 z60T`t&(qyP&yvGnt`WC{Ev|3EwFrTfsEKU%7UnW31}cU$ScbTS9mQY>8460jsXWR> z4kSXK?mEFd#^u9hno}w&6(|HLh)w9v&W}V~8CweH;XZE+ArwM|hbk7O7Lm%A9b+`~ zWLy}AV5;u`VnCh08v2c$@cwhAq}bOx#zbRVQ9oF#KEBzAz@+iU>gSa7)1+tk$v7H& ziF0b^fIU@BprpTc9G>-Rx_aD~xKBy&ojh+`ByZ*hD7MAGYh`R9C$LU3M8S?sy%Tcr zOlXELFz6G<jT!l+IUL28VRFN?a zWh@RmI96ZHEbaB}bvs{if9nHNAu@1Dx# zw_?o^YcOLsvsYS&KxL=e%@PjTxDIPT3W>HvBL)Zw@`rx>76OULx={;-s5o7yx55wU zt-^7z5K`pdberNB#Tb+ui%>!ZR;({(RK30CZS5S#zcDv8U@q_&#r$D11wRz-cHQb6 z*n_OLd(N^zZvHph|Mn&s)^p;cwa2_DPWe0KFPT@xy#?Gmda?ox_%T2sUIm9swEvtU(50KgA}6p*@Z)V+KYnfyT+$glQC2?O6z>$QvOh zv`mf|ZnzPsa4SqTQ!#P#X>7A`45vg+CZgsYm0DLsfFSqlvEMe2|H@BfCwWG?>(ppF zrpy+1yuzj61;4y2hWMIE3DmZaQxSwQ?Y1M_KSCKl%b3;K)$qN24!(K|9vi?r{Sy9ff!y1VDt_g5 zY?(-7pkrvI!P0+?`FYWxa&f-0KAXdvgZ$X7p9@U;-W(QzC?ja%S)NFE6oba>v{LJ_YR&SnqyxDiKIjE)I)*OKmNC zOV9Wo#vOq&{STe^&%U#3uh;dDfI65BW};HdP}RhysP@b(kugAWQm@Uxwf4!eMuZSc z6h*PmMpPK&A?7xQR~^(~?cP40?6TeY2~YQwp87jS|FitL+VMT3&uK$2rfa*M_=S*3 zv%4WL>mObEeYo{t;EUT|cK&)R65vFj0-`u+HEG?=1YwrLBL;TSBBkXF@bKU!6&7+) zg+!w)=``y*MPiuV2%yO=_%k!2(%*DUy}R`4#`ef!NdqGzrmEkpE0QhUAW{4m6eVy^GRck3~dQ6TWxkBHjWnoc4pRLt_+Fkq)5_R zp@=!Kb+>{YhM3xb?QNE}m?+_>gE;-pwTc@V5licyKm*%AHMRS~v(^F!Xcyl!}i_rVqXB|n2P$)A*7DXL72B(rXX1#zGe8RLzj725j0p1l>n2S)$d zAQjV!Zy<)|BWn_!1D=5|vbxrx2bTX8>B&C&5qN};0CEJbhtE2Iv}G}c$J}EmAStdT z*VI*mz?s4T!ikUvs$9tZl!!EVWR{>>+;s!0FtG^Zf~rKCXFcZlw3u+s3`E)CBsY@r zQw&rL@{ASgg?4Z$ev3ai<_$G(d1z2b{yJOu^B9ga9AY_0?((A*A9*D`agQ=^#wlA0 z9{+i}BJmI^u@M?3TlexlB5M}YO%$SWD7^SzVd(f^1_zc(y>=Ao;t&kE21H~h&Xb59 zAPcL$+oyHuV>-(uGmp40?VES67@QASfBRAMIs>Lt#f{#~$s4WcE{Ihp%WyqcY3_JGb5_tZmAOAz}CSAvZ!vVG$`9 zQ7MrZGGu5F2wEPe9XP=cbk_$-p4UI?0Hxt<9~U8gmP0BZe9r zG2Vk|L80{UhP20vb44L>YXY`8uNw_!erw`XhL|ZPpQ7@f@;eJ0l_Cs6)?)*$c*9uZ6eN*^~CfMEaG&V$kL^;i5`JxI~Mvl$0?tN;6Y$m(Ky&@*08s zZ|_Mth^gv#9<2a1n!2npiSO(S`_+mwV}Ckz%sa_I3f^|oeLq$3b7p~ zz%XQ}l34hL2`SradTta~TLLD-5X5V~Q4!f7Ww;c3K{%n}at?7e)ZC42^wuZ2S&E`O zfeaN#%|V_k?N8)%-V!z$o`W0yZde^!CG$R6MapoZA+!N?>)iwS@bcX5Yi6?;w>TJV z+lG?bMLiWGngfUk%qeg(IM`F<1sRzepj~l=1W#X>I5Mu3-tES29PIPym(FdBQD#yI zt>kWrC}>JUPC=7lzJ!4_ zRP93$=P2$WR~eOrV=T|ZCCX|Xi>x8 zhADn7;QO=(=(Hh-gB;An3W4#qqPywST@eF=p}o9!mpeuCUHpLzEJm!|sALWw zei0b)6u8t(d0fq7G{#OZ#tLG2a9|!}OC9I>@ZrhGCAw00;^JipEs9`{c#aN+7U5jv z16Re7mHjN495alBH(femQy)Qp25%YiU!wU7`!>O_!tBI7MVNbp7;#~99Q zMB+_wr?HYVXED{f!KyD7KB&1BQ6bT%x5&oBU%n|D(i3vfXRfNot zplX`dY6IN|PdBGiy}#LZ6OBbZdegvISnSlZrg|R0SmdlV#v*bn7Ln@2AXArp=W~g3 zt+xG~47`442USX9r(zwzqEenmGzTYEM2OIH08@lPcx+up1HC+4KT- zB}fkcVSbD(msBCygDql7X_!ncBw)`)JaYLq&5Lhv6Xug#Z5KC(h%!~OujKVW#CPy) z%i70-6P0CLIc=gMSH6>7s!pvtmFdgLxdNd72h4u5-%Wk=PCL`Df05ElKDxTCpY!HU zp@)|X{lh*}@OF@u7wQ9ZE{!Ug4jX;=7pw*b`JWy|O30CzA5PvlrwB)cCjx{{oub{X zXvjppoq7I!OyUbNtrAcqwA4Z*>C&T(gAnq7_X+b+a|htXCGdxDFbZLQv$~NXQaah& zEuK4m@1Ej2;E@r%5E8w%FOc8H!)5xO%ae-5#N%@?L4pm|GK*qhQ7GE)bF>~3`k3&t zq0RpoAASJn5D)?Y1OPKL1YiIFUu0a=j{#FZ-7|Odhy}JQKG|84wrY~b2>iNxGTYHM zU?cteVEzCgsECM+0KfqVfpScLeT51{MnB`{rO*i(Xrj=|Mc@GAO7)YyE#?;i8Eh&`{#?l`|su-iu*(w zJ;DLTr`$vhmMfIeG9-fvEEzxh?Zs?&`(pg3lb`$7_Nsq9jAb|YfB3J^{^Gw2?_ zc6g_M!|KGt+Ci*Rs8N&%;6JgFLu>w>lk7;)?oC>!)A#zmo_%VcogKhH8|j!vFk@3f z34Rzp*74fzwY#*A*b$M}Lyrx!!r!aa%www5@kTY)h?&P*XC#f_*-<|U_18nO?S9HM z75#xZZ&X*k<+3Ae#L$74>2X>NcEw(gm^!T62N*QHLkZc!0&eAdWl0k5?{Wp^ikrg- z$i|{^WKtY)xq%VKievE|TaI8dHG<7DT$H~n%Y4OlFLA1|)bG&hRTZxVv`<5`$j7W;lsFj-R2t$)(LuS;vT{aU`zCJt|=2 z%VHcNv;$$U#oDI~G?FBafrIhJOkv!B1eR0b3>i6I?HGg|eu-c^aU^7%9}!o@n+)yF z`5*83iEL?ONH@g`vpBgVk0oFplJB(`?Vg?$rbDDy1x|aWoT|>jdd_@MCw3w$IT-cX z9{Ovy)vb2uy|={izBg~y$MNu|{*UiM9b184)xUDo7r*Y~AI}Qgj)z6^MI)yb;*p}H zJc?Nanq`0LX`+R&fWCE52{O#Yw+O_S$Oqxf)3$HxSk)Mmp_f2+6jQu-D>| zM^}|>N1-h_F=nCg+X}*kQDZ?8Kks-RTr{WpY?}E?%^r|@3CA|lmB#VdTG1nqI>V7& zyv9LePnY)*m4W zQU!)f|1X@`5z5@~YADBXaU)aCS<)&V$NQJAv2jx9FijYV&ccAZoTzzbm=!m&TYEBs zoV?#HbX0D_J@Nyngi++k1x_+lAaJ1x8mP8G0ZHc7r8pS)sC=cgJoD1kv52ba+dFTV)%WCO7NCwF7$ z$?s9S_p~~|9fAe(;f-RA4v8a-P{mw4b2I09B(t=v)-aA5C=tdSH05#OZ1;Cu!t%od z@+%3^%)@{nXvW>i7xK|0M#n))$8kID(uM1L|MHkYSBiD>p!riGV7moQ<-3_`_$KqQ$tw1-LI_DW$U2dEit3h})sWmYSZdzvmkRFQhMkHzUZ?ssA z3(wu(1I^?L3~9zyt>1>7bmALoflAO#A!!td!2827LLF)3HG)`)3a^H?&#y%pQK$+n zuo6f}qSaQ;Nb=GPXAjV^hw3*!mux;V{~G5U6G(`sicfD2S7J#S(jw9Dy+T zBo+f+QPZJ76=ui9A*y18Xa9L5QX`u*YNK*&#pyjlCG}PT?*s67x`)vaO6>OLtud$Q zkq8g7k|?wAR0aA8EC%6r+}ZNM&6{-zx^5rHopyT0{JRTg%cOz)6bho>a=7WFE1^1yru&usW&f zK$g}(EAMo$ER#qTGy@0Ui`-2Dq;ySuL{i!rA06LYx=VcQdO1Ueu}6|CGa{1+g+|*% zxWGDJ&^{Ygx=3z&4K2(a2puvqtptUiMiBT9_ho_@T@7&q2TeT zPj@s)odfY%TZLGd8>7jo#|OViP6Df3Ai*dg%ZK|=;o4ZV3zneI8T(^vI<{8MD#yd4 z)lq~-SQ+B@ADo>FNGE#aK~Cu6;H>gdU)(DJXy{}H@D8Sfesk$}OZ{v$NpB!Mmz-$C z+md7>VDt3yyLv^_olZ(Z&9D0uUBjc5n+z=D*$HCXMjl%AN;=!ZlQ%3^s1e9~H6?ywOEwtn0Mkiv+19ldBmLi-*Gftadt3ltu)=|-fn zcIsYwlN-o)%5EW5UZeCNmZHv1o(k+5l$p*CW{73(E^Dm$Ym)&Wu5Z>ED{MgTWc{)3 zu@*N&6(%uOZlyI^Tqv>Qlqe)pdvNSE5K1Fkc<2(3I>YU+YzvNW|K%3a30|DSQ!@!1 zNX2h`saN8?2iq*2rz3_QbgsV;CncjAV!d}Mtm)wKKPb5ylHivbvh;t}Mpd@`Mheqb zTh2I?ukPYtjGLF>yIcb{6xfwS_WR=^h<;{-|CTogk5u@_8!@N8`xn%n_fC!AXP@HP ziy!aW_&w(@_kF)#SsXSXa=CclP6a=CD<*0f3+u7!d|rJWhFV(AMS#@I)W2+RRIBUpq%z_ZxR!JJH2Yy1R zx|53U3DNpdDkjglI1WY7Y)Ah^3Vx#Fd zKvzS(aajItEHM-75i!->CVnbyG0t8T?vRT62O5O?*0+ zh}oq#(=&A@Uijr&NL6F(NG^5u^cz%XkB{ME=2rU@(gsqRz0^ z7Ek7Ghl($&;^RsKwJ{_$re?vij=?iMxCjQPsb|-wkkLSg8%fxvV0Cb?@3pA%1NB`+ zasyOh8H>-Ns6ttM8e3w1V(<1}{~Cl1pS|Y`qigxka;QB$N8BqaK8^s%_#~HlxV+Pe zp)pys+?9-E>{TkkC7jEjc%i}`4&&Wd>WN>s#_$&(rv2!2sa7JpD;r6iob_Q9%GQ!R zS2z(5SYix6RspGmC&1rqQBf%+c8h5yhoqNQ>gM2>pGO7r0EIHKutC?D*E^PA`#kni zYn~L8VF7z6h+e&Vqz{E$<7m1i)xDHU%Jm=Hw>?+ZR^};2;h)^2VQXC=KXAlh%%*gx z?YB`{i!J-BWf&SFH9J?v(4&tW&4@dqizNBnRKwA|_QcGS$vk3-L)H{9@EN*vrKCyQ zvncQ5>!U|)@Fe+2q8)HzzsM#fhwL!>U~AdZoLk}pJ!LiZIR;Jx@u1WqbL_{oA{kH> zqLOIm>$(Kep=ceH*M8rR&`01J3#&VXuQl31Tppa7X|PdYQ^Yb4S7x;RCwO2JQa6sH zRgkG5$%69_=yGu1KFadPhv$dIl?7Y)jaXoDB{ib-9knkkiFgc$#NE=ZDXT#Tvd4!V zYNI|~Ocs==dZBjn7-GzgyxbhK(579}#2ES@<`yWZLj z;fiLY-8fROHdhb_LLC`8+C?7B!7AvO59%uRYP0c8q@#@ly50Zz&J=D%Xx7(0NH}`7-SbaGz`~8R`b9Q(z>PbxfufXtt0>R7aC1?HEY1^5sh`N(5TvA}!ah~if>Cc3buhMQ`5;2|PXJtklx`+0)8W?Z%Qp>^#G+rYBvy0* z;cU6CnOQfIWvc`O-$|3fIH6m7EX@sc;8))+yx&T3nv+1eS(O(z^X<#@zFj#tb)q;> z6E|6lS1H=28a?#*2>;6XCGj~f=GC1OTKFvglH-$P0%uE7&Q~hws#g54BwVTY-WuGD zr-;3_Ps(*fHHx*{sP$tHVcWAYTf62VMH`4RJLpOW2xfehQ22vaf5mrc>aol{gg@$` zjq|;VC?BXbKzIziQ%$$}8cvy>nAXbjqO_@G=6$YQm8NnOO zM2)A`BTaD(R9iOm>d0^4+z<_~Ft~T<+=J^;F?;>xQnT<+Nj+q!mX;ZC zA_4=b^81FW^y4GeKo#>eL(e5B0VB z)k8rj+y9lh^02zSQTZUqJ6 z$u8Kla=cmMs9y*89hr*1ksS*?qDQO-%Yf@p#BdVlhIfGA$&#|L)8dcJ#RttC1ac7D z#T6n{-Eo=ykZ{*mQ1>Nh!l#gi*UYqM+gMys4Ght`X1jBS?pVOLf_Fn2*TxI?aywBv z>TfBE!O8cpa#~nZmD!H3-#WVWjvdX^Xn*QGKj*tO9`pfwkAm&q#c#wOuo{7IAZ-m(> zVC?<9@71o{A1lh&JvN}4A2k<|ANWEifELCV=Za2Z4q30U>dKJ1{W=%JpYxrA?gSt7 zxog>FwsI~5^Ro0}wnO`VL(>Bg6XLnMxf0n?xbSBJ<_^;Ed7Z(G4@m67@)EU`X1Qp1 zyLNs(_m;6!u>4lE&LAHB%}uU6*}6K`>VL;63@sa&Ej9bP@!V*$ybVdn6-rg03r-yz zUCq!()tlH^aE8yqQI^I{yK?ritZVgDodvY>_Pz%Wh7;#+kY`(Xg($uJo&tf(8uQ90 zeR2k@*B#Fsmq)l?{rdYLLo59qzl9BXVHTFsWEX7I19PEgH&WdBeC%yx=X-Xr`xh=O zc#NMZ;yvrXmbw&PI27j~E@AS;>B^_TEM9E~Lx)W*-gW0D-g0JhiSKNlJ>GoTk-6fK z%Y3v}rVR(4d4JEAub$%#&qBV`-7yZ;5ykjtq13ms+h2}^d27yHH;4IW{W|VkpHPJt zPQ~Y!2yu}6fsfhqdWKF^kWGI`vztR%-{##FPnL3;wKa?)0Fws3S9)-AD0>g zki80DPdl?)OQd3F&7Q*O4BtsDSg0vrpd|}@t`oY|Lg#UuL3pV))i-WALM+^`*XVGQ zHXRmb@wc9+qvm?=4iOh{WgFtc65aV7Y+@oNIqc_~U0Zq$k8Myg6hF+|)1z#JokP8; zORx#{h=#KIpqZ3mxQ@)nSA`G7DKjoBZH-ip;pC51WGg;*X84Tk@>&WHZ(|vXh@9nw zgm)K#ErN={*0W*9an$2d$IJX%9PN4u8Z5TXkk~FGC@PSa->xH?=HCdn)0}gL&K_Ovke8={PZ_}=f>ELFL;HmWoQ+5m0#UIaV+sx#j94na1%;N zZxtBErhz-wUF|!J`d1crRT|Z?S*J;Pn|5uOB^FSFsH;|?S0xrL-?5iwYH)PzqmYS{ z;lR4_FUDbX>gvzcAFlcQNOn`zCDRQYjrsfpc9R_}h%{9< z8EW=Dil&XM8(iO=+_ocS|0BZ{=7);JCU0+ zSwy!AsxZFt=Gv?`9M*0NeM3qr%KU8WZcvMfb2nB+T!VEe^Mtl)I{{Y1y}=DLmr?Kr zW;m*P_R^F4zqpqlAZFlGVd_VqO7;h7+`v_s%|GFAn(gCrt(j{&v~*<)y%Hl(GBn0} zur($bL4&ocrCFn`<=I^17HqfDZ*F3S@o~4t%@IV%@p?%c^XTg(UpahymFw?XW+d4}o7P=}b)jX^lyZyW1fLuj zJu|UZ!pc>V%Kph^^l4T@r8U50x-{mk6DRe@)|-t3Ks?F(E@xThPuV`dMhlP2$7O@> z-yg$=K;E}=JzS8}ubPqu3&9Bme#s=`p8IfOkbJXqWRM*L`7Gf~i0iO7Lrd3~t%+hD z@@qMJ3fcf5VMwLU0}H7iAIw_L)GI?YSi}jI0$x)mE(R065g5|K_JRXI0bCOD$m4bn zJn$my{cWAuiSl{F{x?3OoxOjt(Onyy5)EDlKgSpk0NqgkH&+LIsK`kN~m%K z(Sa2!@1=lK>toT9Ufb4GJ+IZOF4!DwFM#%MMHOB z-r93Am64g$km@Bs8w_y}x0QgP*F*=KoG^%zg#79g%}p>+2{HmirNQ|G*jw)jF$?~J za}$FTo77X)_$VsMsX<@)fLi6I+Y&geUtp&BGwC(eWUnr?fVE&}K1{g=oR3AXZBU)# zg}Gi*7?mmS2G~I;VoP#g04E9IBOaOi9ePX16?MNXGNv;GE)5a^8TT|a4Q?ml=mGUi z1y7c=Nuf~^T%R0^@TemN2y*!3`AQvnM9wjj2?X~jiXBQ>F*X?>2<21>Lxizt6)d!c zWhpWY;MCP3H@KVVO$Y4hknr?+iYBF}L7}*=gQF5C7DncvRw1s|=lY8}?$E_u(r{JX z%`oJ3TFW4c*|w;;2V!3_k6r?Do#h6tKm6jpELIx3UbO#-zJH0tx@6Cz=9r&KqDU1+ra-=Y{Qz3Zr` z%P^rk$&fhjn@R;54!M>Bs>3YMtPbklCBM$CgD`D3_BEaO`4yZY__vv(oI!i;%z2`sg3eLVpCH{HCtZ6k+c)ol-^X) zD6t@}M4rzbm=IvAMQ8<^Xvg7G0Vho9OZ6IYfEG4Kao!49r~nHjK-z!<$@%HKoO>yS zh%&U610#}yMDh1VqU`cDcoXr8Q+ld;IbFbjr|u611YMQF1>K%Uz=Ju zQ$LcqAJ{10SU@yWXHRE2l%A^B$Qb`6&_NjYbMAf;ycQ`77Hv7_{u$AnG*qqy$WpA# zamFq0k2!!Xl|*BNPQ*Dqsh)a{HZ=$p?MCgr$-qX4@2Yer5^~eanwub^a3nEYs+qac z8;F|1{joM!`B?+X=JZtcu;3Ui#)u{ijqPx#;T-pscSPJYPfv#2d(RFj3k(IR#&MAN zi=}l5=ga+wr>E*Q1CE7+LP{VJK&JqbW0W>x^YhUTeS5oN;yhBJiv)U09dbGfT+9+K zzXtpLc>x=Rt;`7~QPwXnfa;)eip`Q?I(8C#L0FB#DNLo?0ky4`Pela*SU@?d(HbnP zaU;xCOwkG#nb`#~ndNidS}6VY;t$+(Qa`rJXZ;GIyl4 z8)eE5DTWzpavygM)z*`g6Sqc-3iGj}z^M+?w3fVF4oHpgI!UnzObLjGEb)mlP_2Z( z2)RgmU_{rEoZ#`fGQg1_Qho9RzHS*}lvc(hjRRP!E3_9Hi!E$XKB=6Z4#|0uMDK+6 zdj*z|av};g^w~3CcOvC)xDfZI$~`3p+Mpa0QSvL{A`Iya$_csUU&1K4|Ic{6Rd#Aa zGH|7V2`>R!ieCTcsc>;fk|A8Z;qXXd8S)7ivI`bXmrL`VD-GHrLYB;p$FmqYAGct@ zS_Tk8%Oe`}lRa0u0ueK7BL1|~fRTZ~HC{My`G(6^Eq-bDH-UYa957lXQJN)*3AuTn z*l_?iTv2dM-N7T`3^y=|&HD?jj$<%zQzm2<<`8a32m~1$g_YMM?%8f*#0=KkEaDgi zV8ofELM{DEq<@Z!aJCWg1tF=Uly)El3|W9vQ!fHRKbuaLKmaFo3ja~<`hl=n)=7Z3 zTro*VtzW^C00SY`v3yXW1Ab4SRv{8cW%wBKZ%LA^T){W%P1}v4Iqb|95fDHnQ2!{_ zUrFh%v0%AH%_4O~1Z{Nw*mlG#0Ci#P{kO&lE3B=^vNiT0;5u7MR6Ikel zu0q9(1trXCDKc=0a>OR$!JMIx!~j7sPy_^83<$jK6z<`mN%t;>$N9!2u;oIj9wG@B zZZt}o%_f*RtYd{jnHwlTncYGJAE$>QQ+ac)B?1Vsj2c4lXN}SW?ipo_+=UavG!mqECvEAorTWY#=vPN=eW@WNIkMc zMGrB(kqHxh2KVMIiE8|CJ?3&B1|CG9?w<#9<%4=_MU83=*_JD0cIYc2@fxlsa?-`2Q1VidB3z^taU z+IQfak1Yxjo;BCwQ<(nRTWK|43GW6dPV_tJc9K{_D{&F_$|WPxQi!e6Ju1%74n=VP z=I|)E8lKmy+%x^c;(Y6rf&smcKrlmTS~&ijc0j4;6TO*(OP=G$2~6Q znFw<2hGDn$rNCS(6VQc8T4|VkzcQJ%qx6)DQUUk^cNjzyQv0T|t57NHFjl{jA2isgcc4l-cfBfD0@f!4Lp3ZzAi0Lr#jP zJ5Vz`ICB-qx!_n(mC+l6$&ilSo56V$_eJ92OFYC4HaZ)LLIUd)igAy#V@)q8KgS^z zZu5=qI?sd{!GuO4EtCOjK#Rl7$T<6@V0g!OiS#q4wHa;7%|U>?9#{ag+E;}qw=-^v zhcgUifiP1BG=znM6uAmjH|YuDFmRthkMI+cNt85tvWT{~fcx?)xg%MCd=~3QAHxnT z*ivL8ySC0^pcAh!{i<$;1ZSwR;2&uiZveCK)hZobY9x{e^38b25|1Inn0q9Dw-&-&bZJFjGGOfnteVh_R`oCKJu*~rRDEO)aQ&wq4n@9r*#Dd%c9 zJe0YJL$!0o^^~LH`@9z63FNw@4vEJ|%rXVXALAGU!h5E(#1mr(<_f7dDpcK1-sDNBhDTB2oVYFNi)$0enhO7DuB{Wx0?7jQ3*>*+esp3&la%b^^e| zdHI;dI*DBG0uE4^xdDgF_Tm=4I<4iTtzgpe#l~^#oX5T=r%D|2;>~^K+yYVeYy4I< zQTAwE%SuS>h)Aa8ixpuzBpymD8C~bbzzGr|x;EJD;V_=(;-~()&_Niw5eI_OAc-w# zhZ5!NI;R|q>=EJns}@#T4UkytaQ}=`w5DqehSKNV6Q&r%Mi7lr`3?fBfk#Izk;$^1 zP+ai2Tbg|FMX-Vp$a9$o0Sr{gV4S}$8kiPdPI6qXgz?@hk%L&lL?X7e=HeOrHl9~b zAs-8`@SXXM+*YYoIS59gr4yfog(s4*a&UMU`MCkYX+jd%C?X+cR$e8l42$OYd?{Y@ zpGy$dDS(Gs;2;JH3^qUs4V3sW(3&~#%enZT7DbBTQfMq8EnF|btOa_)IxVc% zQVFdnfzPK6C@1`_XE1Uq%pdQ$V1x|bz>{_Dw5G$9&|#1iD9psf+%wI?F9BW<6)I4{ zA)-b6Bgr7hP^zDy#)Xek9t}g8KnUc7N=u`=kC_oj;3$`dViDU29StzfQSNk;vxW;S zeNtd<#@nX68F`Cy{IiJhNLm=dy1D=`6DMwc#bH` z%ua7Lm6L|XVz9JV+EpM0GSno3?I;?{v+I>*i3wrF^GA#C3KEEvQp;w_bbttd+_xkF zfC@RU<6U0+2=U@#4~A=TEsG~_Vr295vh>xFreR(u}!)_ zS@J>)188L6H%W57ov2(_k6%3)m#!|H?4hzqxim&`PI3#jOrq*#<_sjd-Y8}z1%qMb z)lk;CtoWfU(?01u93l^5r`+ryp*137$}~N-Tk7$s1uf=PgXFN{9M=3wIHF|K1q2OC z)ynIQOlFG(AlHrfcmBNnVJkvk$$iKWkmg&92F`eG36&U=aZVZdgh0ky4WdY|QgV{D zO(guQ3MF+It9Rbgf9rsdsQs9GGl3Ub@u*d6Cb;MzT<8F#T!pR7I3yRI;4l;a*IN65 zNKSxN?N%@abE|U-A5lojG6azTyjz+Kofr^RT0`^rG^;gKW5ZX7hcGjUl-|w>MGzR4 zybsRt&(s%E3Oy76G3H$BSL3XhVp@3_B3f>sDojC`tc}@7({y&W;__3NMIf+g6v}%r z=c_^*1W4L>1N6sMgQ18RigzjhJ5Z_Z8-=aRoF=Dta5T68)*@@m&^eWr2PkwE)F_<7 z!WVE9?1a>w4bY>3vBck_YhoB&4r_lUGDSN7lg5dJOnVvj5-rC9`3_M-f&!&yQ=tSt zPbYA@1i%YvmgNq7Q~}03FyU~dva-R9)-n_$mWuqo^$C{lMF>usZhb?){;T#urIWJV z>H!*9sJ1b0TqsN=ZubXrxe8jD?M$J3SA~>*E%a)P0gyZl3`i`B+$x;HNkan)c9IbA zmXXO?qG$(@4;WzsShNb32&nH76m=7{9$X8tLL95*;^BekGsB(K0CZIpX6-RVntDK+ z87yKof-4*N3X@Twc|MrskZ!D(6k-X~Ao0vv;uPcR>i>A{TG}{6=d}uH->-#+I9&np zNtC^*`uI#sH#(62uV1iW;sPQNLEoS{pfdXugy6isAW+wZ$RlQG7P+a)bh{;2k);P>rs|i zE#_&rz(5IMTH(ZUMVaAg9^NiKaf-;xW7}~bp?d~k>lSV-;-Nsp@!+$xpfD5=L94T!N z6MgYtez)y`gUM~|7()2k>v=qw!u8x3WB4N3+1|%|Mz*p&yDd{Ba((Vfkc5=@3?Kji zjR4IM0aO`O0=UmuX#z8tnZo9Ym(8-gCfg_3k}cidV>g%>|Ih#biv8#xpZe}+zkUDq zcQ@L*_3Iz|eb4^9w{Jf8-ShQ;-q!aS%YVN1`}e;+ee#f%JMPoWCn4Bsl!HLHr^-+W zia>qR;ZMH%ARDB8KYxG3zqGq=8u#nopZ^EqfAD{q`@_E1^4|}5@xSRUhixm(-u>)2j;W4FKe`_I7t-@mqRyT4@j{$14H|NZy1A0HX&a}k*&FS1}G zK2wB9684$;Q6ahsjU;NeKo6jdAO^ z-H+4D_Ux18g!OY6;V;2PaZuw7?_iQ&h5&Mmlw)%|NxG2^ih>3L>Og!C@YN1rg_8Ov zq*#9(@j5a186k{mK}&;gTz(oT$(A`NSTM2V7`WK`qL16ZIWizEk?Cu!1LW8|a(re4 z&i+yihMV!aVv%6kMaM&Az8O{iD9|j}nuZuj8IfQeb4kO`#bWn;*>BkTV@FYrm7#L7 zJ+)Hxz8?um{mR%_xw)PnaZQW0`X7G%YtQVhvU+Isphl6<7Op~8&~f10knqc3T!5aI zUoH398#N(eE2475$qA1!1S8MJBM+91p2FUk{=b}m_LDb|{?gWO#{FG2z)awuP8UCPVreN|F%Ss&j7^$Z5 zw6VB&m+qeawcqa9X69^`BH0=lESt2UOhT)Y=Ni*a0}wscQJ8Xbo5^N`VqT7f@Ww*~ zbjawB@fAeA{FsYK?V7*H+GB2(tZ{RYOUSUo7BN2$8MAxTP{2Pv#Pb2sFF+{Q|-jZeACT9__X_Z?~a**X8Pep|Drc zz8!MMnp~?OLEz21yW&VBDhZFk4gi?TULd73xgvFAal5RO>RARSWAwn4C03&E4UR8zhVUW6$h?*k&obtFe-}It zhToTya5REukUHS3UQa7pDG3nqOTu)#Xjc~eGf7yFlO>1RXtdF2j+Vn%4Goh_hGU10 z@@qV9^h0n+W%7}aHMT!8@raPAes3lfM3_~JQ8pa(t$a~YD7_5%eZ+}PiWU3~q;CJo z&@=sq-V%<=ZNq5?Ck&zGCXJ|Cgnnl+dPY#dw754W+&R(fwoy7YofygjkmQ^B1gnDu zB!y3E(*z@wT!Z$D0!^}^k;G#l`S0izgg_E*&L&jM$B<|SVk5}Y3T)*7%1$+Y0DTsM z)oLMr!;g8Fj^F~-`6;XuRHekUU*1| z_rD`wm|Y`lN~H*mIc)t%wnn8*p0H;0V1*0xQ8ih!IdZV6z9;5jL2(%wP?CJgThGXJ z;x{;o8W*p}Ry<_4^TRO~%eApB7OKe5tP*;0y`xOzN!P7QaavBNIA%_Jj(m^%Xrd!L zzdk`&w^1su?jThcD^kR7WW7KzzMc28D(=dRva(#I!2m<93RCr*olH_E!Gu`3V+wD|A`}$mcRIs^k>GYX;F!ux-wu-CK#*1D{MDB@}AB$bM;DioH%F=jIfVx(q zPP5mQ>RX2`G#-0Q$U1iEO1kBxM_OaoD7yd2lE8^rJ}Br}E$WxFa>ESB(9OkKP{$|%Qx~Dr8BruANJ@}OBn}!c zyDUq|0fm1MG|?lruUEB&UjUmZntj)mVCJb?93>4(vX=`n8qT zH1+HJmh5?b`D}s6h%_zo9xHFn^gix_6TBbc`ehXS3|G=tN zP)~5`k!q`eC2jFH7l1M}S&dKWnhxWcl#eT(S-@SJl1(huWoj-xf;>Rg_|)Dp@DP{^ zvyNqGOuiy5#jk1&~A1Cyu&w5TVhE3kBf^T0FcAKhaP# zc*P_EhB6bqn4u*&!_x~KR)rOa6ahM8bE1D8{vM~2>57&>HYD1Ymz;cc(jV#1Yb4*~ z1dysxObfbCWgD`y*T3AN8fwQXE*7llSvDR$wPW#ay_8*Z^_Ra(?#E4o8$(+++A{5E z8T`QRB2!e-m(GscI9vGuXCyi`eJh0c@MR5;ZSg>hfb<-H{jXnI(y-O=QXcud$ed*2 zgBNg(E!pzJ7wD&cVR~2BYN0BoxXgT5Y{C{gy46D$K8XJ;l^CJQId(#T#+zb=EYAnn zP?|#8!NYHG9Xe(z$FRd$2cHn9O0ZLnT+==e229U|t;go52#KT7%nE6h!lxmD-p4zd z{7+eY`b#0Z7IHxd8wq*qqM5Ep3HrvjM@Os0LbQD-X!?gUN^oAD8hDf>u0p*dp&qKS zDJ{`MrgPX~|*D@&BqNS$kfCyZ%f^@Qm!MW;sXikZ=?aliS|oninFmLEpcZ>wJtOL6nP@(D$&l(5I-qY@^FO)&9N z){KfB%s-M84t8-(f_KXwBpHt(!iH(~zTVx;rWgKSW0!Db9b%P3o~T#Vdg}!7b&|NS zM=w4cc*`OeqclekhT~nHk-I6M#Y_rlNJl5XO(4FSy%Yo1QB_qNq_lqLs6&@%ukfx( zHTVMQvj>+KRLNpfrmxt4?bYU3@2%KOxwW@*na-@~@ni>7eU)s$`>M5^53^bhdb7Z^ z?;YnWl`jmh7_jBT96n;HW!xc2)0V~fy$rYuGb0JSs_>dA&y)ic)H!3uO6|MCp_e@b zH7NKSw(dRAI8<{W7jINb=&|u>%jh>~7e9d*072#J85ol)!!Ey@HgXhWt-gCIZU|df z(?z$uHF9r?_B26of^B2oE3N)$;#y-a+ov^tx7fh^Kk9?L_5-$OoRMsKTC_Ew(SDXx z@Ie@G+N~j37)nE73t`ADa#i5y??NLge2^qWy8%`-d^>t?)y6(KWb zHYN*$#)-4dMWD>?6R0sntMRmKt>&u(#DqUzIDxqWqrPg}TY5xgx{^= z4*QmgibNhedT-S@KT4}^&ZPCa5S^bwgUVk?PO}GM9p>f%P-W;_wHs-Bksdt~%96EO zt$q5y;|EY&z599ESSv$YzuqO_r%G1SqOMLYW3Ng=o`x}hRZ3PV%UeD+JLf~#s-s8& zlV?;=TP$3VA|X+4?k6@aT13ORleJAr==AQki6W}y*R=ib(Ih65m zhJ&rLLG<{sNnUe4@uV~kv9#7Ubj2EBqhKe5TgTf3v9-dX3 zQ!9`%?08j35s)T$PUCf zH`{pI)+AeLyn;$i*ZPGu#BQUh*v$cB#Z!fh;_R|`F&lT9Cy$E6PkHHCW6N%#XNMGG z)(dN{hqzNjevNqtMc}9wTMk)_DNWCQfm(!4svgPKb0Qe1=FlTCNYF@Hg7wDs1N~;b zkh!y9%O&KbT~^s? z*@0%=KFh*{iklv;+!o#TT-o7Ol_W?`Sa2t?2ESJ+Eu~R=1TP46UiQ={?!q`UgYzr_L%<1$pH#Ah!?SJM~^&*d4i`GRR|73qjFI?Zn30vW)HMwnH$q#C9TEnnbstWPn>hBr>iJt9YGHsGA$e{jg<~4uDm2aYlAVgbYO*s-*f3^ zR2sR{{q7@~p8dDJU8%nc`=NI5qT9IfV$81bjhR=#f_tX!0g*|wgDXgZNsVpa65M8N zr^%6~Wr`Ai+okR>mV$B?O9IR(#elOw)~=21eU-7PWTdx9${gtrtF0S1$oX(Mu@ zuEux6ebs1LC)+X2x z7j{LdQv4uU$DCuVQqdaBW)UkZwz8f0hb1RppJ%d?A@bzXHC1XcPKMx<`%P7Oxi;3b zmX1*w)(*nDMrurDo%tBuA01!?6Yfgp=;@MhH)&ubE%#WsQP;)$>$m78>L!<3s%I6=h}hzzCRD^;DW{V9eiy%Z9}1$7=XY)1bCuQ^wDo&t3>AuC}dV2Q7?PJ`r5z3r%OX z1eIMpLVPIt;_>Q#Uyz0uKtSwUOl*hXPX+x{)Snl%Da@;fAosj5p^`t0rkI%5fW&Td)<|C{5 z7Ds~lyD=K+II|67QFXKGo>Ud+BSuDMj;I_&xT@6@Ke~ept;|GkTsJWnB3897 z+*r^8g^Bc4t4q5t8bZ$*?JA8svX9HN&U~ucw<_HBVm0Q^N@OLrmbV4q?0!O8dR2W} zuj}@6b_Iub6Q`=h<IqYAz)443c@*P55fTvrgEB zK5z*$i3lx3M5@+tDxSFi&(>>8O3nux4O$V+#d57j`D(ha)CWOfJ48F!#x2aBy|=t3 z=$-k52H#w?B0ScC?N*ZSL%x}O*c;BHvd8o-car&TqSYxPu+lc?G8SoUN;#_QB}aqc z+UPt@-fR26@?TzOCL<%{s^ zU=XCO`7}sS>k!{?>&zI|RPAgXaJ~+3o2~k}VNtip_r4VjuG5biO<~p^um+3#4Y?aN%H&QZ!Hn^% zGRyo@Rh&&qYKgQNgp5R-M+A{)&=sYkJXsULb_`r+wZnUD}-UxZIg_<5}!jrq^jP{nDbW7 z<5l5Xyp$%Pc&x(m9-cWXlu<}ib4VIDZqmn+z7|&0Gst;%HQowTyg$ioIJ~;67%o|Z z%Mp%wZ9)$+J=W+rka_{e946QaB1oyan+W&;yJqGV$==Y|*j_2(*3#>UrDJaANi`-W zfuz+>(|VvgXqpb6+Sb_6n+ocv`*fHG{>ee#Uz*t3w&(^AAm{^HR>BYFq80fYpUMnn zR?pU}|GU0box;hdaQ9z2A+uM~n89p0pL7ahtTAli9NjSI;WTgDvq|)fk*hKv`@?3| z5odYNy2eqNW@4;gFIn9qX6c34B}t;=A9MahY(cL zzpvW$B@BR6A?MLYr=uuvb?{%_YLp=ub@fz42$Ff%>Yts5^}`q|@2Ax8l;Zb{IjQDo zhQW{+609O=ylP$mQn8vn^l;AJ%aAh&rK}U&T+k!E2a8=0T@3ge^uy>bR`PA1?GZA3bI*!vs76z|A;&VVcr|L>K6j!y1&eH$ zni0}4&PI@M|M7TJQbQyTc)bTBG%}p^tL+G>DY=~iu!W2-K_<=0N00-E>1u)yQah#f zNXC`m$TDmOhe5F6zJoymnKWkPnKYItP6tWhbJq}}l$upJ2K;3m`C3+|9*lOkoa6aag>F)Pxl6EZi0m zp+{2@YQq@6Dvbs2p$5{#8@1&^5VROckqulM(os)5E-B5+#Kh2x(hLY!;LD9nQk-WE z(P_+63d#){Yu}InCW2%=--*p>8Xoq#H>;V(NQ@|f8Jifyau8&=?$21v!c3$SDO2vm zd=^o~AlMOYH)Ru5A63R)D;1D8lSPW_8TA->r-yR~l8zd+bVA}+T#j=y9i(><6KBG| z1&$b$rVOK}2#R^&jsW^5n$l|bG43Zd0?XNbC#L@n>^m%erMIG>eSN?yvIn=Rvj#3>}5R=EOg%RLvj&F9EgO;&*dC3K6-Q8)(% zkKi4$v@mzZDBFvYpd?%*4P3YzCuT5+0&a&!XQAS3ii&fBRk_g4+l+hR69ONeoEkr+ z2JEy&X#KFl612fCO>=NP;^WtM416sk=d}>i3_3hHif~F9f|9;Skgr)WqwJ258v~+A zlC@FH1wqEvlnWgM>jiVh@yJNiAkPPj-sv8_Ejm8Zqn>dh0^y)vF!+W5Ej*+E^P0W{ zw`+)q1AvI)pyI+g_Jaur_#8%HnS$2RMBZexEk|y2ZESu92{i&u4-#dU$0YT-B%4G)!<$sZC_ti9BCCbWVp!S=Xh?e-!h=<`9C4I+^S z3}+@iFFDLD*yAQa~Wt5W4(!@>V{tNxrTO*(OX_ERrF`807vY+Iac#d_rVPvX|Y zu!uEeXa|0%5EE&dq^Y*njA0pYNPAAVp&$*x!_Vaoi9>Mqbc{9HW(G%X33|GXSD0(- zvdP$R@@_P@d+~|Q{u17$3aTx@li`#4SgCyFbTced1iTcfY(4Tm($15s>ARlVAW0j*4&zX=1p@chrLU4v?Jat5(>JAlwO= z$$sJt?Fi<(ZI^g6jRsK);Nlz8hFcD6r3;D*oE$+xXGvbh$R>8Aj=BhHQbk5S#3=;J zk@UKP=;1`gEN^)t;#x6~r;7^B*+E|XpnZ`j1cpcdwDUa39*QUYsk32u3oBwWINGD@ zC=FberzM7@91A9g@pM?jtdvMZe)@C@I4x2q!b}w%RCuqKPYqto+sav@(MLMNDhwFq zfM}JPfrfCd4W<0HVanmB^7i+e?qcY7akrB?abUu03<1dT+{KmVJDqrS6t}RpvBT<>#PJt5au}@pT(Y~0r4wWRX(^Wf?x)7k`BAP9&>WV zpX8|F?*Vu1lq`!cE=iq+D|iViKvw7e18*j$|>jQ31}?4Exj1z5HMd zGK3o%)g^=+{c;M6^?%YANu(WpYu56;gBk^%&OApVQF2;pJjaR-y3~F$>V;nhrNm$X zbinBJmwH$&)DESo;vt3U3=Hy`KGE!8s7i(u*H{vW8Ntj!1e}Cpcq4c%;Syq%Ch1)H zgH=tev;prAM&5u^M|1gSU>X|b*~!tA*(E6+6I7idYxe|I15*|>UcUzCboHNdw996@?j@8Tj5Eq2c_CkPxA=P1fT z$4~@X14>|zaLv(5FNX{21#>KdhH6@-(+L+A+!!S@qtI1O(MxZ~;d-uLDyeBGVw~zc zvw{T?8n6pzz6q_w#h!6wYKpO)`DDEFWq|;~KJ}YH=~6Hp7n)+p*~Uo>krC`tn!Tr8 zwwE*Ttda4Iqg$W-*0k2w;NdVxZmBFbS_$d4517yl(rbu0V;1?`HQCPw;2;3jiY^=@ zY<`6SX5@l4%D+k0cMH|Vf-r*1z>KppL__7ErKR*|%ULHaiQN6TS{=n(Xtaa~z&uxh zjCxflmOHGNmSEqzf92G~CP}HDcp&4#66H1#;a<ZF1tc5f>0BKGLV+v#* z4!|s$Aw;Q=jv4Ym7(IR#W1)6wPjOy4L(D@Xt(230Y#bd8zB7wVhv-z8da!iO+OQ2T)`66txn)cE@&iZWk>LkKN=*%hL!{cZv7dSRl7-}7odDSZh0#7r|CzT?6 zB~##X{P=QYHdJ(zw)ZpNpN_jkY0(zTy?G%=M9=Zu%V*ewwTgppX!$5`r9&?#2)<+* zW{hlpxy8l{ifB%~c2TV~#3qqYf`4{QWyV{|*2lGyzuVP9?MlG#O{Z*ejWE(DYV;+$ zA4PT3##*Quw3o^sC@BU54l!p~6Za7HnO*x*kCti%HHJ_u{xct#*!U!DjUasf>mL{B z*$w|f&71-g*&AR((upuNK9)N$ZSl$wi*n9e26$Px(Qh@aDn=DrnS)guQe%o)b~ zWK_?p0R$?P^8#d4QhI+w@thHRf7=h8yscJ-c7MPv7OJ5MV*zdLp%PQVadt3nRre*4 zzI~Qs@bgaR=`r{@7Y`#hDxl|dEbobHyyn=Cz)>4Al10BhV0L;p#6Zpn_^W}tJHb4B z4ggl$$U*4bE}IwR`T@KK6H>?tR)Q$iT$b8LHdRYs2Jb%^K6l`UlpkP9QHcH9MZH_SGj4~K|hGK9R6G68C zy;Ra~C7pVK#rn_&L?_010}2L3I>9OpA|MEP@Gz2$NM5nckL@-%b3JMwT)^XcR@Z*i zce?d_)BJ(%JrMjr+AyM?oHPT{``!Y8fvP~daqzwQ6U=^{wG>|0Gd3}eVZ z{8avQ+MoECK87_@iEpygj?F&>iAJ$2n39899&K%(Fp9BULNI+t*o~|w*o?= z0@60kBkvzR3hV)Vdb>`}eRH>}lb3lV1sf#vj3>d^Yq_#br)=5{@V)o@e>JeJ_x0NK z==YVsJkY)9I-OR28sEJ#GhGPsyg$wK@XC4f{_o1QeSk`kSctNV)&(OpHi5foeMOWG@5~&}0ho9Zg74_2*d#B0) zp-7xDYSS*Qh9;V$w=|EG7%Q?QSJq*>cAZMZeNm=^M-e0%NTZqY5-Toh2Q2-=<5KDA z52pa&ri^=fF}<4{JYiM@_Qv89rlf&MHE1{7%TlMWtAc|5*$dx76lb;P6&Kp#xbw?x;R+P1I;(uMvLbhdL1;!jpxQ_%Nol1|dS$GyW zcLReRq~V)lX~qhqt%WIe4*tHfl;d8Hlt|W_p#!FeC`x$@?=?#5Xkaeyb)VgON@u_J z*}pqc{@Uxy;CJ)%p@-9e|PL1JClER374WOsX=L+qfChT1p(p={7d9^l4?ht zr9%??IKbcxDpxu{2s#=6%O`?9Ueh=B*@GnPweDaqd$MBd?_T>@PGi(kX;KY)XMhMC zq)-gpfsJ)qPy(O3`|WXx@nCWq_o($4gx%8pSKA>sq1!R49iQV2$fi$q>&zCIw^OLi z8(aft7s`p$j-At&;{&16d}xpcIWX69$(oxUb%r=`2w&-(Poo-ouO~qH}N2uoKpZchK`Mzr@45S;A3~tARR^oPnP!_ z7?wpd1sI5QhUTye zo}SXAef(f{v(9{20)fgRr}FD_V2C93ZR6981NrssO(D<1$^*8Q0l~)|XYHoGg(K_H zC_Q|YKle*>VnOMJud&$kF^JzI*SN(PPBpM64_k52jw%^SLL@>9R|yicIke()?1Tkl zk>HEmGW=sprU>{GG$5y$cof@=hqzzq%% z?{CIOd^G_p%HO>u$C!zOa9{z{12hT(+IN(5ijx#2;5$CV9*)&oOH!gr9JSBXL75{i z4Xd&5B0oZ~avkRs(qbk>@#9s5rs7^rOm|CqiiU(y*Wo zLajldjJmw&f_m~0O$<>72oqdZtk4E|HHNikL&t#Q{=|}jXQB#a34jLBck?X}Qy6YE zwB(LYU%E zc8D2EkAJ$T*f`ZYi8amunS8-d1XePqJRpD2a1G&BnxV2(${%UwfJa zoGkxW6eH@P6#3%DKtx&q<%TidXoIAFM6gb8Q-FxKLMFE8139Q%rV1xm{o5m`HE;IUFivD8E zNukfzc%}`ZE?QbBOWcC$2-Xy(Jn-qYQzM#4M63)E2vJXlj3}x4yI*)1P~{O%UsCwA zQHx_?!NEwP-gF9)C&De43`WmBX#AfSqLPB|GzQ+!un|#wOpN*pfl)q>8G0=fe7NvJ zgZ1JpKXJE;ZS~v7`;}2Po2xw*@^{319rAs>Z+Ojwny$e7FVYHQBh&W6lBVqJe2wg( zIPRzKFkx#Erq16QsPi(!rp>{$CIWt1>#;|2EN{&Dof2Jgunp+@>9dlY0U<*oN0LMq zqZL@ZH^sacr}@!Opa66b5CZ^Z05U@aFaQ8wWj@thftQ#*7m`bNPuI;Fk6Tt;NI_vq z+x#P56_D--%mEmEB!B;+)pGzuBv(WL01RN0pin!SNez%d*0K&c5CNZ|*t!l536Qmr zF)jxJq*>aGRhc9Ji`9K+O{V*oq@vtyckHTU>vndnMT&hrSB{a2ojumLs&0D^ha_#? zv*AE&+wN=x$-ld>#Pfpy1^@trhyX^)0MN+p1iK-}!5nWN2(^~2wQX%xt+xY>GdmPX zrX)8rlbPd8@cs8v|0;Rt;(2n=Y@2s^;R8Qc!}q~F)F)p1Kn-o~4f{SfLnA-OL-@yB zSq?5 z`R0{q(HuFce%hS@zUvoi_!x08G)c~4h|+_xqZvq^=cE(}tq=UlgIMY0 z#m%3d>8lAZH!nNIGcu-Jd?%MUd_!pfo9 z_b8#*;;X}+B$cmGsRoCL?qYmG5%tU1_y~;L)uu88t<5^>L#^nEbc{BWTR>g5&;&u$ z=2m$V9h1+YOQOZDqxFS@Hnt?yw7@LQh>l*QM_cLwV`l*=^g&84(8U#;Ip zwyyeXHQ}5QO2bjCstX(Q~72Fgc15K<+OwHPKkPpmBK%7RF!njF$CMn8m_a@MTb z*LCu40Plqnfuybtan-7@k5#0&1F)vT`h~M2jkBuUu;O*tN9$Ry(*#ulN;|5@o<-aR zQ%EE<09`f2I!(KgP^CZCMA)HKG@7b3se1KQkkD&j!j)5|V7WgQAaXOJv(Rgq8L&FD zbMx^-;VPsh?;H`X8hHg9BzVG)!q0gkb%8M52e!#;@&G1{PYFBTZU%Mqut5OLE+q%G zRBRo@M#TBSb=$;54`Q|GKo20C5`!WkO3jeR8%UIK88#xTvT0ZJzp#=`N>FuQ{Z(}M z;+fW>&Ak%RAZmGvt3nmB1R%3a#MqI@U_*@>ViJ!K7WJCFYB5&St3Wtik6pj0XI?rM z+7fMANTBKgP)K!SP}SK(b|^qeSH;g5xV+^^MIWn7JQui{Nk(6a5GRD=X7=y)Br*BW z-QFEtt1Z`4HLTDe7QdCMcxdhqOAG~au*Ox|hyFd&J%aW?+pQdFZz&(5p)gZYktQ@4 z<}THlrEn3>`_fQos&a4uTc)lJ^y-FeVIb>HJ67$>bBM9Tbi#D&F0{NcvLQ+NOgMJq z*HJ*JHRcn4kT&Us%q;AyZM10D^@aQ^gM-hgC9L`ET+N>aR&H6RiXGiP1p>obA`o7E{Kj}-~@|~C{8NW@;22$ zJaCo9VIG%0>s>UKLxsSxZ)*HKecZI+zF`kJokspE^LZmu2D8*AwTPVotEF*cgFJ(t&99lWU=_H;3X4Mp&O9eK=%5r5(lNJ%D5 z2bGz9MZ;Mm^sGmljrYwv3uAk3mRD|Li+;9mR*5|~isTw)d22hRSMl94B&$yAn)f!M z>~%%iqQ&DM8v1zTQ+KSjna`_q0d#G%S1m>nc2c=(UEVn4VKbKz?Cn^ortLKQEC_pL zw`5K3ap3}}*cJ6iUm4vR+EWpxBWaD{Hnr)+s={`751APrTFfUOufcz1-}hT0nmq58 zLcl1w?H0RhHS9JY*Rfd*`$W%YF`947c!DD!I(cjzi(a9p&6A)8A}x~9)#U?l+=XC) zSCbv(&H{N;oi=nmnHydbbak&$>=pT+xlc2uhrPjxi+;p7wNUW^66UV4u-auu${yR| zEwgZ&yAQ?=!;$8pajumF$|J|oP+wWb+IuPXU!jxrl{xd$P|@FlIb~R6>ypBlfw8F4 zbg+Tj$QgAvP7p;AJD{TFmX^EwS`iT`$FvhzqCKFGi)p zvr`PWNWt z2;|`J<$N>ij_08V<;i!Q)RiNkh3(IBD>`OsQ7Oq++~BJHXr#;`pGUlW@@m-Wf8jMM zRHUr)rcI;8(xVDqmSf*9b4e6JldwQ$<%~nR0X{{j;;}?Kfo_Z^EEUmYOInz5PQe0f z^tYgp?z(Blk7(4i8=R5VW6`@DKL-oH1J$q>#M~t%W?2oEsaHEWk^*3EI_aKU4x);yN=s;1Cpzr- zn$=8>y!85s!MM(f1$vjuXxEdZ7|#H)cjg8JI8F=1cgW1!f@hgV;%e}`E8aaZKw>Wm z@?~nTO=CgU0&MPu|5Rk=BlbCoTC|;(OYQ@qw%lmAy?i$ z17Zt$He@x|%6+}cDBM^HnziS<$Ur(+jFnAU&-vcbot5P>zI-+!@}q8%g~d}#Zvq9s zF=XH%?{2oYk51^Ke89V55;8G9;<(T0gdUr-67j(4wR~G!c38YMSxmHvCZN1$tw}v% z7N|%@ptv(oS|?j5yFE?R$gFN@xuMLiNI@eba05q1VEl9ajALp*GDXZSUZ|z5@-jK* zJ_~S8yX6oNA3P(SEMsaGT{tXMbx?ODVoj%s43U6eOe#6nCpU^{(}ZB!rp$K8%ZEK4 zHtAkWS8oS&WtlQeB}yf?=qm)QVa>#?)svnF&7N;k+zB&&+-Dlh?^hx+E7H2O2gJPu zlOVmC0Pd`J>VdB>NJifXbajn9BW^{ofN7qdau2Lr+xOop)g zPp_cDO^%Q>d8HB8^R6)gn<61jf7YDbp%2wnLEL0j_w|ss10zUFoP&##xWa3^r>-=Y zhC6M&M8#Dy+*30w_#Z>{s_0}h$?bxkz)J7kDlzXYRhoyXNPDTCj1m)&DVF+n*<`q# z;-S2IXR1K_c>f)Qd;arV5Yy9cr`x=SY*WQSM=UE?wYSgNyfPzJhR(bjM-7SnEsQ0> z647o=H7`e%($fhh4DH+lr$b92?mHoY7M7q{)izDI!EhVI`s15$sjKP5LZzsL(ⅆ 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

      lkM5w$?5Oz1OAX| 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�lTwzmyU~# zHXM(+5IZ40!6wHHmvO53|F~(5?q#a=-9_iK^SAgqRi+IzT!W-UQ_QK2uQ6p@jS-x7 zT!Y}p&b6?#s^$C)NF{aJ_mXL}(L36xp@Ll{^1ac{=7?52bPOLVJY1ER9OpG-+(8j# zUX4MXW2@Ja_A&9V004ZOtVaYaExj^jRgi)hcqL{VSaStrP~)6fqAhf}YN&-%>#$U! z$_2I%gPg=ryBWJ~LG>9ydN~MW86u`cXsw<(0WGE-22;zgq#w3$1L?ZFG*rU*X1nwT zx&^WjMw>31qdZ%R%k=Hh=($>csIpE_X;`{^{>WBx$v*;X07)>#NkHp_rbJySgpO;d zl;c*}=5b0h0kwpRr!&$p4zX)wDr>pdSdo*|Q05?^Q7os##J<{>IcLF2q@aLh{5O2( zm6Z+WGv9#L1jF%CVxwP1p~q#Ak*zS}$sita1XdFx*M`8c070>oDdf!=>4hvS7S7y( z5M`W-LWAMOYs<@Xf0dyepXK;%#ry-+2HJ%Uk5CX}@f`NGu@_;)dE-l7bIT!)0c8k! zkf+#Zm6hkQKw%^6fNZQumNKxBC@iDUPP~b5sQ3n=9}#E^FBTR7-MkPGxc4s@z& z6_kXFkf>lx!HEJ(w4-Q@VAyX3+!EQ4Z!}~M70!K!QO1V|vo!~O=r?|ID$)qnRwIxAN(zNYY~l{2P7}mDlX7A}2ZF{g$z1_l2|B{hDP4NTBGP6gMiaP( zNTHxy=q>D8$D(~fGBYE1oN0_V@5^C87NR~`v@s0I9=kz?nVWP;>m3XO^K|8eW2l4z z9nv^VqJ$){LC5ocE;6|`*v7xi1ymu*kz2LV`OCS>fGa>l_gN##)(aGMJ7(q{rHDZx zQ_bbTwAFE;9Kx*uvdR7f=o%Mn_NIV1&-F15jF)KVK>FYNcSF$T^Hr6@d+Dp`>TI@_A8H zW)?<8INv5$hq?>sLUbjwx3P-NqMLy#z}z+LB@mP4|7~PCY?R!4nKxqMKt#5Y4psrx zwAQxmi8`_=W&lx$sxx5NZ%F=;2+FQ*OQEyx#!RWnnM-hdLqOYjxZJo!G<%s zJ5IHhaq&TvJ{h+$Yl_m50K~vnB=L6XLV-LJSzyzE)e@TZ4FfU}K9`SA5Hni|!~-0bQUtIDCW%N$TF^5qg)C4xI_20m zoTNCPCfY!|gk1kpd9u!C))Mf~&ICC>ABrR^I&-YTA`DEL|{(69d1i4und2*B{w4bVJ zvBt#k zQmc0HijZciqZNZjXqO8B%xj?Jc}tB?@2Gt@1ZX(UXvU!NK`-wHKjno-VB*dj;j{{q_g|gwahJ1yAb^(`&|91k^^rJUYmonV5 zFl=l~5z6hn$b8gs{Y9l-w0Ic~9EHKqrD+qYaakPe{{DCTD$r0_})30$`nX z6Y67=RuQG*^=+-PN+QMhxxzT_Mq+3%&W3#df2CA&|ii_H-4I=l*-VJM*PH@Cx} zgsLA57kd_q)J6~x0ssI2BSi!@003WQderO#Nl+^|-#uhE2xV2tRi<;GM+HN2BMM~jk7$8f@NfU;{gs305K5bDhkYHjAQH&)xOd~U&t33M& z&UkD_HQ_};11X=0riuS7{E`k_~RJ(!z#zXE~p3dwQIn@ckuWZ zCLVL=y@5Ubh36c6%?;@PZ_;n?n0Koi?(M$gcBC=%dg?w)tf2mVD@R*4MLMrgZacX3 zGG8!*k=1VI*l0Rg-wr^|$HvLU{>4KBJNCKS4X;(-#NmflgZRt%=^ui8s^9L8RU0e} zX-9J9uxq92>4VITR(=OIVfTB1>>S1z!zo-v#tsnEQjYIEOzfok{ zGS?Zgi-XLM`B%I+YXdP1W09UPnS(h3;#}>O%u2<sV7@c(;lPff&fkOb8)@Iy}xhV ztY##=j#@*Rssu1&ez2xU%xp%<7++V8ih#o_w4y=H#ZP?&62fDUg*@Hpji%+Bckll_ z)q!n2kQpqJOhwTl4Q3c~@5Yz}I-ijN zTvka=o$=tpbl2h6@Z#lk)J^br%KNJy^+TO1KKt-Gx34mEs<2{o$-rNsp~wDxQ`=p5 zlR&-$-@cA??pbuG3ASzf-Ay&t#cX=ucHk4x{zf(nwKee4qxD(p3e3nvE~UPGRz z@paUAT{#QS*Y?ogTlu_CPhLJJdgyu^y`65{d#mwZKYY6u*1h`6vzdFB>zDUXfHpYz z7(Jx95!!dwK7Pa%qLikvY!$4o>caDiil1Je27F;a*$+F)@E~vjA^$ zuRNCy@AsZIYil=eq#BWVcF1*4v-PCx%dSr=gEoHgZ={9lj^`Xlc2gdl(p60CIb)H3 zp|d`x4btQ=w1!xbXG6^XFq4C{w>zZK<`fcdSq1q_dDhd z<;VK)#D0E(-zqc4^tdHHIz}<1>KR|3OA2)fPUOObFlR>f@n7-+=f!n_E%dzwU#?Rlj&btyuGR#tyQ- zfv%R6FWhfTd!ZtUXImkB5CMU2R*)wMOCjoC!VW!=;7DsA3(1RCAMvPd$cRAC9IcX} zwNr$*l87YSl0zN+r*l0CEz{5>}25 z5nbMWv0)H|1v^`dTBkgB5ki`BUCPjyje{=ZqmiHnty#=yn*3cux#*M589D!85T zjg`#HUVNhlv)lg*cGYq{N1du(T3F?kaNm2V%2LD1N9we^jl;eiKI+n6x-Un&ILiYr0>HfMO`&Twxa1rR_;YqZYEJndrGIlG1hEHWN~2 ziJtOd@e`=ooHs*DvkE7<0$CeWu36GMJ@q!tzID~4-MM}E_x6e&(Zb z@68V@W&6Uzk-YF7w|83GUmm%a%pBqJI$8h7A234h^VQhWtqK>lsHkXeV(zNq?#-8P z?vDQQkN=+3o0XH5pN(78f9N(uw4PKAet+9L`iekL*E;IBDK~hta>NUe95}mEIZERK z!aQDR2qglma)-4rU*AD^#1*6kyo@Mim0j2Mg)eWI1>xi?b*{RQW^lT^{}I@+rZ_t5 z*u;VK{?3hq6Ix0o%1TE#HFH~X8&;i>U4cUxuN=3u z4Tt^)u-YcywsYdn@QVL|Z-ZK-M-c?tfg96f&C*66E33*zplq2x;hb+KeN&H@BFS{* zUDl!z4BqZD|EU_*JDaUPjAKe?5f&Hv9%w1GI=aGCAM4?j;5CBN9=Ymz%(P9G)gsBX zBFS{jUDhEJ+;VTSukc8IY>t)8`S|Gv@QPQpJ8PK~WY;Up5KPCWHR9H4MGhg@aeL3n zKwymEB;k%%LYc4Z&aODhaIu-mT5zt-iaM$~Xt}gsDjc+9l53l?4$sp4K=&}o$tB^%FIM5EY1TR_UlM|w@ew=S>OhK_Q(4>TRCLaH=aR%2TZH&1(tRN%d zt~+c)F_intX-EUkii*7aW1Ae=IRF8PV_#O~^cCTH-S~KiSWmRzw1~{!hj2(ZTF%-o z=&}u&&(J2E&c;zNxE@!w7_Q>8wc_jqVb5d$i*ec$haD=|>yWw!Gr^M(Z1iI{-)2Ezj36W7bT6uzyHM*Zm!T3kTrB1? zDHeuAZ2|i*=u&7t1v?-js3sF+UNkh!Y}rUII3LSMC|R;vndp!UIIGY_wMZ@!9`mk= zS_$VJifOO~Nol|mA{b;>-b1zSGa9kg0U2`jSwTj^V0R6OV<`5O(~t?A1{Gx{?6Jd@ z1@^~{X?N+J@~G~S`EVSu)8(s$rk!N=IfO>S(Q?&xM3-*Je1E=X+Gc?;e1ylnvSB&F=S+CQzSW&1eb*-s$)z0B6iq~!tFjA zjh;?fo@xOX=?!1pIl)H4GG@B0LMC?RsEI&io_w#E9u5!0v#Xubes{Fss|wx&2u5-G zLygv;SSmOp%Sf2Op|n?aLf3Hqs1^Sgd8S#_3dOtnem)qHo%WWdSgRikt3UTvW_(!) z#FPLu?r3w!fhBbFYk@hg%W7nzLM`2_+!vZ(^v6t)ZilUG^un1xpQ!E-F4DCO!jY;A z*{O#QkeU;{Kw6{hiBP`Unl8Hzj7F7MJ0nUNSct9qB-V3iNjfwOmxVG&0v8a!%NKkZZ=T1 zjRu9Oyf<3F#9azW2rX8gpoADHY5Hz}WW?3L1QTiI`vOY@LaDFpg|5u}S17#9&WRkF z3CtD&kzOgT68+dJ@XMkwibkx&N?+QTGxf&8H7fX>1M?@(PhgSa|xj!F<+I< zNrFOW^HtXLzup*fh<7L6D#I{OAjRuiiks-N=8Rc|E{a8SXxzrTHyU3iC515q zk&=odmD6c1(->qNLVJVbcclaiDdyf8W04Fczj4eCXv7MrE;Brir=_uHblCug5{ylU zq&xx3EY!CB)0`YaBgJevWscEh%^BGYY>K&TBLBkF5SYBiAj(#fU_F!*VCvD}X)|_1 zOT%dPF((&DBG^{`5na%n%;}0ok8t2JGlZ@<&Ke;T8N|>|ES*?cp_5xjN$y508H7NJ z$IT^6(PhmUybd+RLkt}SlX+&;h5*EBv}H-ebVAy=wGd*4_nc_lo;}P71yT_1Ryz@0 z@SM!*i$@F>oq1g`1Em0S9J5*}Oy7VwP(T>1DcV%n!cAzmbjxUgtmz}V;W=VfoQrqy zFCOLu9$S}uAhgg4aklbS$AKCdwKUN|#(-|!9xTiXGg3>ps~3nac+O^a#UoQdFqx>f zSdN2?KrzxHZ~4Wsf{#+F9}EqxwjDN ze8O1xn3H&*VnmQzp5n|11yZ=}R^Sm`@SM!)ibs-g^NhwoIYc;a89(5dB$X^>66I5X ziV)UC!GH$gkz%@;H9&M(b4IVjO)(HdM#B^4a_04z&Y=hqkpnQyr`l-&gn3UEyB$Qn zm=gE*Ek zvbv1utMJ7x4$ryloDM#>;>?O7xTuUM%jG)Kh+;rWoVOyzW|&|QhF~d|NMggB?7FF% zb_D|&U6(SeD26}H^!p-Q5bXY;`DU~MF)HAg;R%dbu!JDS1p;ij%n*e(x~pd0J%mPj z>25@8hM`Y0=!a`a+4bzb>{IBtD1{s$9YsT?un*YP zNL!HCur04kE|h6TfBCohHMTvW0d<0?|8XeT-YI`Boiizk#}H}-PI97Soz&pyvxK2VP7V#AqxfSit4!Hx;ri>9p>AT1GPA zp?ouPl~1YjeCKE6J))R#oEVgZJ4Kai4dtlBA!6T0laN&NE9uQr5lk8e45yh zLrHm@pQakZCth=vqXuZaf&vsp zS!ZX|fCYeXDEDdNu8W}13XU@SH3t;jLuqCdOrLW!c;lz^@}pEtoLChT8LjdJW+{?# zb-IAG;vgRz-FD7TXsBjnmF~(?V;K1~py3;vi6B};OX2}^2=DQZMX+33J5<0xLcD|{ zD%QK@o#f9j%SbC+l;TD%@@YFm4?PeaNmL=Q5yJG?67iiNQ~b#(99tkEO0B7>LfhfU zT?R3bs5_KZMlbYfHA4(FB`5R~TjmyhsJ&cJJx~e&R9=z>FlRI8+iWL>GfXlPO4gJU zMlSMcFT?OW4a;>jnEvhO0Duq>0ssI2BQym@003WQoz(OJOHht*^FDFTp{?vzOCpJx zXKg^>-qYQ3TQgg_RIDeN-+#dL0DvkIv!Vci1~}dKZ6AGfBf}xv{&sUOz4#TqljL#8 zXS9klDK1!p-W`5QclNBkQ^{HHeU<0#4!N0%XO%MN#2U&qGB0%v^MiS?e6Tgxe5gLi zPW~kS06+==W@G@Y!3wS>cfVb@@i_F0z56GTh$lEe*9L`l23aRSo`3{WWc*!lj|=!&-aN4<-BQ+FL`PhDbAAL;ei`t#9B z>d&7sr62j``MHVz=F9Wv54}G_=%IrA`e)x9&&B!9zdV~ix1FO-51(yKsVn-?@m2S@ zyv@Jz&I5;Tf8_orbpI|jkG!Ft)Th+a{nBfbJoGi}MKAQ;(*xgC2kw{d^;2xW-nV&I z!!3t~XixdnyIl%LFI^kw{%xMF^MCbE^&j!{!ccFkA)nbyTwSq2(HLp+x^1O@Tc4Sy zZ-sWJS6=oT(?6|`O+4O}==1My9+$glcXxe&pHY3U7-#PdZ~ClK(v8(;zVhQ&-($P# z_s#iUT<_sWqYKCGQ%^MWC-L$5t`2$`;eKxUJ@!s){TeSFW?OG<-)Z@^zgE{K;p6l> zad-4UReo2mYeN>JrG8zk`@MPeza6(+>i}-2 zqn)(u(psl||Ly*_Y0Hs&enGyD@;`@*^WXhTb2o*}LNnd==aI@8DY8g!(bj}H5lNe~ z2Xh}k?<_w{=$ZHPm^?SgzLUk0(@xJlPoDD1U_w7~;ZklGzIoV};>dv)_fvf`2V0IuT__%U)^fftP48iZ%)TvYhUDu12(=YURp z_y@tSowk+qcFM`!SoK4E+$tO z6v4gE^TvM(=-AfYAYV?~O8P71y<1)PqPIO=-Nh}ha4?HUw?3X|n{_W;t~!yBcQ}ZZ z!%J8i4IerOFeNP7E`yc94Uz^rf{3lmv&$B95^t!@)khQUrp_)TQW=zFLku%U4VdhW3 zbYs}oIQCH_J)FaX^*@5o8>sT+2qopa8y6!}b0&1RDFD z9$$?;TN7OWB}q_wAhAm?mQ^@t4AKU>Dp#~Y5e=CIms{p$-ZYyg%TRf2oR6&y4k&## zI^$~)s1Q@b7liDZ+^@pldC3fR;^ru0qTEY$F1Ko$<^R~5A2Uu$*%SVcr~QvL!WSV1 zddC#sU{o-Ih|IR|fMtXAJ9irB2`9^E#<3&F&D$wO*vH3)%F#rABrVin5e@kT<#bKc3sK6~A8~hv3acP~fr7%~u$5r@{9x+<`+c_I`bL+$ zV3$tJZj=>K+$1gDUoi6&Xm}Hg%o~y??6PSaN#CYi zw-wJiJvDV{{!?JUq76!{pZ?JtQiX~Z??cCKoJ($OQ zgwn8})m|t923#MjocB`elm_J~;~?3>1C|Ze@7!phC7dpw8^@6#tk~aoNwcjZ2>zf(!WG;)C!A9Yr)re@zEL}!yjYlVRW6RbPU&6>AQ3}8S)fuOUnw0Mb zW}Z~bPMN4HP-RbYC03Zi+~_SomwTM$v<#*`3A5VWV7@g*x#N*9?lAx!mP#oYIZYysDzs$~OlM^VN`i>Xz2aux7rU=XfPR;wS+WC_(~ic$wx>Dbffj-+jf5wS%L?YA zc(!+OP|O^yjgZKrMDWU2E+t|t>B3Z8&Rm(;Qr^n$<0|K$mz)u{HOCBq(5$l)etIX{ zC~ChisV)bkr77ZD8LoVVVQr!_h^2Ex1ExVQ=Fzk{^U5)c#r|I>jDdP?CB$KaCxL)b zUha{IS(u{=>&w*Usv^r&CTSUg(jcO9yQK(H4(Ik+cCT^(B)j@Y1)(YI@53(wPY3uP z;YD`9;_y)vaWPmb4hN=6B%>^11_q=C>Vk-;yduguls!V?Yq2F}R^MbcCGe&We&A7l z2QnN7Hp{1U=OqaUW&ASND3z3M+Lo@P9G_P^D`nOVrq|%G@36aM zPAB4%n05E4@W-Mb>#x@bgN2lW_{z3YE%pNPK&uQ|1_h)B>Vk-tnRmYMoOzbQt zert2FG2@JUwsOY#aRS!n+Fq2{E57fcd)@zWrUwU^X6Sz2N0#661LO^$@0@7LEO`89 zqki-oYu~JnX#k`(>qJAAKKh(%sF>;KaUn5F8?<;PZ@@@m=HJODT_mI0-z z1AcNsdxg>hD{IPey4ny5A+8kP%xW_bh<*=U>du$1l&jY3d`RW*p^;L1B3 zLsD#$7Z$_dC`Dw(!RC_+HZgjDt! zekUn;AUG?nK$OBji4f7QT*cfb%dc=T!*7&xK>)dmwu6n}978xYSrk%;F-SYT^AaFC z&bRV0I9@V?aJV}PnTZCz!pF=u_Z_d0i*XCQp-aI4((b7WLtq^O9TZRqu`Y(02aw&5 z@<2G5xm7zv176|DTq8#hIg)HJHn{*mNI=d83{Y7tx4L_6+ z8u|(=Gosw=x?yfN+nfot+w{n+hz_riC#AcW)tW4;Px7jb=F=AHw|6b357iP^l5 zm?ArEOB^+v!S;a!Qm8FfVW6OGLhbYpD1lI%S&?+-B^3x*^C)yD8eh9+9$DnR!p~d_ zYf-Pex>gDYkc4n0M{!Eo(GRKcMSG=kJXMoCkT`>_K(OPgnurGFg64Kvf`v29Zyp^k z*pYsQZ@`5V2)&gV3L?tOj2tMawm|B$MD`6`NSUl2C4+EcJAN0(k}XXCD^asnFRyTt z9UjnQ#)j-vA}}L+1ke;}B~lq7c1r@}(5Jfk6-O@R0$4~5l!X(Se3Y%i85uf`$mzxy zwXBs;W+4O(tX^}4kXeu7p3W&wedNu!Oy?B_O2UaezE9a*w^&xKIVaw%HA{i81coWo zD#mnbHHaZSS9~v=oiq_}OD2^$ZrUPy< z& zvJ?`=Es_EmP*5!=#z8E@5xHE*yiqDR=W7?BW*Poxt)regN9_lf8kuK&)0{ z0R_e|-8-y&*|i|@z`$Q5t53Hoz|Ko7kd|1aqE-rd=c>5C*N3d%{v(CTf+%JQv)=IT^utw;Z^LV{nRorVlq5tuCh!$kDkFr;iS`2vSkgP$t>#c>?&`$ z*lfd$`GoZtL86-PC=4s#C)C(M_E=bvlu9)j#!3bIJnaI;NS2gAIWaucsy4q;%>4;mKgMo=JX6e={nIjhjZj{R`Yd!AA%C4g98f_glsUhXO2=FXHkK@ ztn8Def`cBDhXAM$5CZ@P05e2HBme*pWk1zx0hN|o&^KXsySI08WFS(71V}P~QMBD5 zsc&}ycgXWb8RTGH6~EW`@4(260no?*)EEG-1141tvKt<|No`tEC#6mBgQ{D+NlyxZ zmU!eTB$Cp~7F-TP5+HTf<_+EoODMK$6ApBMd?+f*7loui+ zm5@>uM0F5?3M!%^{6R`LrBbytHYJc1gOY?vTf!hBd?kT|y+f1A>WI1%^qG zIwi&=Of|q?R)9e5?&+QsH1O1liZ6}NIpdZ=rDKQkd$4xP+TDkPMliB>dHQs(>whRd zS7i8Yb`8Mb$S`{f?c?t(|8ST0ZZU-}?h{RI5AIA>LUH#Z1PR-Z_iZhzY~bp3Yc9{^ zu2?FhMnr6CPv31FYs>qDVOU_TOO+~J8fwa{Dw#eV?O9c&SyyY&VY*tau(7Rui&j++ zn&{7^N05M+^wKSL(^9^90`M*I`)xZF-Do`TkK}z(hX2tDf$41?wb}NL_Q$FVObZJG z8B^Ktp@=jJcKp}fogL;HW&90yk^1n#iI`y#KOtV0n2zZfA?AUzmZpbmZL5pEnIKqs|vt<5iR#?z(N# z?d~E|HSz-7NB<^{y@%<=a@D;O-V3f)in=*4}MzTk|63JMU!iA{34^c-@Pz*vSBh=fH8*OynTY%6S?YDF~b z_%qWSOb`>M#rrU<*rRzN(rx@Ra4W2+?Fr6EyTSwmm~e$687#|Kv4uL~P-$SRmFmoA z`enthd-F)y@{VK08E-J6OozT8PHqjOsrE3uCx)&)!WrSI1)`^83nGYF)U2p zq^zo$aUzHb%nc*;tby#1I~}`bcS&iOq5SC6iw0Nnd3tHQ84d5jqDFX#-~oAHTg%0W z?^^Q8p7s#8L}NP|(p&e@E$&WR>qQb*+#hy_N+IzQ{QeG!%&Tx{^;}-+MYTbMd>g;p z%j0N8a|z0HZT8jWc=Ie{$S2U_=$m@=lwE8*YdRo&A7O>-p$62(cY?e3TtP}EKrG0X47|O__xNr`8XCCu5!eMdBUDm^DIvlXSVXc?z=TPIa&quw zCx_I$+S$;|bK!NRnT96Ej@q(s3yjjIJt%W;G(Tq~>hU9i8nLJQ8@KnjNE4OSHAQQa zWP!fMqLVPqe7N+vLjv{CvIxM6GB5@EjF(AmqvMQmJd8wjT$XW7${`K8rCaoj{eNPQ zO}Ic7-<6Ju&^EtBk*iAseTYFB1F~tTb9RX=l3^^2nlUbU!woeBX}D42F=x0MZAex} zhuIKxFrdu5>1#T?%Fx&yI#cs&Pc%cwIx>((fNICbG&0qZ(^qw-$wJwgtRiQWBMoT` zLt;y{ll!O!Q3~`} zVTtQz%f<`&aB8#a_>JqiFri5}q_a0Xt)HdSh+nO=DL)N0B+$43ua13Z)LI5Ae76M= zt{4?HO*M=IhM#1RNWcDThoM31v+Kw+`%OwA4ZW#@t!&6L{9bD%ClmJA*bz}731F2q zjUa}loK{J20ECf{fYqW4oeN9$8nVr-WM(Ehm{KO+a?S>0->pOBCnfFkFM?S8MIJ1| zsY0MBl0~opLPDknqaY;Fh;Y%QcrKfg*Jz-?wVITu8r<%2`)mJ^ie0`c!OgVy`N$%D zr%40pkp?A_sDUCYCpsiqS-H&WjZDDVvJHw$N8>ftdMW605_puvg+YE_Ptg6&=rIT?ezs9Bi7QyV-yJRtmS;|Sm7xsV$^Wr0U|;ge@I>bj-vA2Wb;6?O z1m_1r=vEE61WcIJ+~hEm#g-{#6w6)Jzca~zwj>L4L--dROd>Pqbi0lJ0wj3}w!l9M zHMtB_1YAa}iZeyXFr5jFg-i=h0>YK#ThXHTkD!t?sY;g(P54HE=Nh{@?H7b`;l7mo zlIzvS_r@mFuS=1iDY-5WNk*L=v@2Xkc3EFinrdhbH|&@D7udkYG=zeQiLOx= zWd%lyaABLR43SGLN5i_h%^oPTK{t_cWN!XEA)1tp8qKNf_IYba$cf)+L+{Ou;s z2I$YAq9Zf))2l{W^_f6xeNZCgLf%#xh?8V(d?416~ z?Qrx81RPtF0!l8;Y9jpDBGNax2=BEIu?E$vWnpo-crRVM|5>TYrWqlanj0?L8!)2t$5x~tq z(H*O1e1mCYisBBXt8bz_sH1kuoFTBx(9;y(Vfc zXr#*mi;*};Fs8yIRL}xbv~*FdNY(t&)ZmjxTiH#dY}C**Yis&CE}$Q4uB5teC7Q*_ z$z)Y%ObiCFLX30-1{ArwTvQdMRCFd;t%&0Ka2$P{ZKl>u$`uXGMK_&2<>tAXR{M8z z`A+ws+|+Nwq;xb2QaXkaGWNB@fCqRz| zAnUuU>a2b&_B4u^gdh>9Kq1&*7pka$6DUlIvdaMjNLA4lbe6V6Gwf<3eFJi;SFf(} z)1w&rjvs%x6GczlY1Jy}uVBuZ@-`&9ti3*cd93D-H84dQ-|Y1|^~$>L`WTO=UCU{@ z+CS|Iw8Ogpxeh@e;+a!z!2&q84=$EZu5EEOc`jT7-ac9elJsg54-o5udp$2ll7~`# zmJSv?=IlkoSD>$@3G1=4Nh^zC-#}3WcImr?{Mr2@Y8LWjrsri-w9Xvi^|+X^k?)?v zv=4~_y5o@-(>>abvYlndyhwc(g?M#tukfp>R|MhA&hEpn>sMhoXz3;#9zK7`V1AN#edHtR{vVEo>!eSfqo4nrJrDu?y3S`s~KSL_XC?T zE*8x!7a4K(5-~p}FcyY9V~E%rSvl`p#eIS;7Nh-G#~8Quzg>PcCHg#I%&8=~f;85t z90>qNoGTj1gi8#}jOf}lt8n0X=WZNo<6zR6-RA<1HYfG=@D3;Urg#Qj5$H>JBluvk z1i-*aRRn@jqeK-iGfWFBDv%A*S^mX$aCZvT@#bv0#b{E?XiiQKc!~NkY)s6Ib7k;6 zXPoDe@LO2|>^h5qAjD+Mu*zkmQLa-|kc3PVT5#!=yrovf4Tu0+L9%;~;lrtKe zV~%I{li?aiWtw4c$|+32u2j(&;29RVLS=#^M8b{(p(qU4|Bd4E)7zR08(j;kTUxhB zyUlZsTFx<*Y7OR*d21+7>BVX34Sf}=0}tDz`A#o~co)7pSSg3w&{XHfLX}2!_PzSA zRaHYxVT-uVn@z=UdtG99ZQs4NtgG!I=I`XjH(uJ?_&T4bu!7#Jdy=R@@4=yzp$W2k zha4#PM1)zH%%^!Mig095=?w7R*$){U-a8l|LI7E!DH=>pC{Rwfi+WarloF^&i42`8 zZjTlZO>pY+et9a}a1Pqx3xy>#CTtgM~Y)%4jlc6F!= zsZAS&HClZN8W4#|bih?v)*;sQ?*|+^?4x@mEZ4DoFKA+kxpk`oQbUxfb%K5DEIPE| z?%lx1e;;bYZb~Y=`2HC6v=Pvf9w{{Y0;oUF4l;~6;7mV%XhAiGzi#r)t^HNitbP{W zxq9(1L~~8s?rijqTWIcj_|DRyx@l=dV}E~XQBhTz6@$kak;WaXB6REaixI89zRuGA z&=Nfk7RIIat1yc;_{&Sj+P@E@lz7sxpGUkbwH;0L_V~_M;O4HkoP{*Fp~Fj`ch7BG z3$M5J#b3K$L-t2ad>bC!xxf5D|C1NAoO~aJ(9_M{?#o(~u2IpG>zvQ;{M#TO=`z^8 zT!^QWKaljiD_x3?j08u}k;-)`88&`n4ZA|%ywq~`#*aeUAW`NC3gUate$c` zTuJvMR{ypqaIxq&w}BefrsgdiDbZ&-{=+g@f}Eox9XdS2!DQH$y7A_uj2poR9+J3g zQzWhybz2bMDdHX>b$EwDzc*Qp6?O3zBJH6g>M}YsRpJxAT zB1WHuSL(iCoQzxff3#*$AXYvw$LhB#Cc`8XW;DHd7Zti6(*8_sL-|mDlXmy+*>KFD z_a9i%?+==qpCbG;CG#`pH}{43PH?0pK>TLcJq}M33F%mK zg_tA*n6L}0njwH#VRdE5hzNHBaGDk?*HsbrS*QC?mCNGCLh;xOz`?D*kCI|%Klc+p zDDU%FC~IAGP~PyKk&E?lhvi2hBE3zXVil*!^OW-ZwGzkZT{&lC*mIKCZxFbp`O=s# z_IEkRqloPK=nM(+bhDIjE*}R-ID_dqA)RY{<7(qk*p;r%IX^dD59BXw)2`nTm2f?7 zdO0wpAx_fC!LkK8<5-12nyR_OsB zS9GMNv#YF&_E^`GZ{^ik7Y)^9@EqOV&Xt6__=FHE5hoWnJ(H5wtzQO)O!Ym`zNxv_+W>pY{}h&j$W5U;NIacy{w)RXEp zP0#BaqxH^L!{85of&4?F{X&kY{(G(Scp37&GI}2(DLpsSaE=W@lB)bbG8lL3eeiB* zm<&TG8uqrnSTVSpch}!D^bXt-X{qFSp4kf_89r`)S^c`g0ncdhqD1aO3GJiNV^LZC zBY9oNa(l(o3C!)597QTjMClkqE_8)N%3{XIh-IorA!l5li%`YYMHy~k82w=q4A)ax zQ`K3Pq1hY+BjwTu@K5W5Xgz$swV2^Y+f`PdS~B(f*#&avzh=9nn|ZYLRr;UxBk%)2 zg~^7-s~Y2QYHpemyjT(jj)MUuOni#pN5_04%+A<@jvuJr7yLVZDzkgMp}BbnW<9^u z?Q2zGahCj4SSYsncvTh}opuMlI9tOedMPPach23n4RDXKv86)ronW#vx8^7D=zfat zg2Ow)tEnS%yV>VPU*%$rE!UU9TNWGWo@W0`m71CO^LP;3gHFrttd4tr2V;6|+_$dw zsqytIKZCeB{9X*pv93?EL2Li|=MO#?9?ot_o{9!mIk-zR#vu_R&X|Vnw1Wf?bQv|*Z1p9a1|~2cReS(<6Cl1`dO*7O2ntK;uCh( zDY#%G0xM7elomMeA!UT3&XX)*FFi3{Td1n}#8z%ST$040?4H5OMaZxO1r~KRMX?BV zMv{Orq)e1`@FdyO<-e^UR;yA&vWZDk@ARu2pgeEC>h`#Obzz2F*VLCu_xEu#JYTX_ z%JS?a0d>Yi)-H>r6IiH0MIe~Mg|G@PR+-2vbrU<{^*RP+?&2Lh7g*o_p1ry0SfLp> zZs}q#hKw&gSU}#bV)H&XD9)hjQB&q>KKU3S zN<*Ha1ZpZ&fl-l=P#ob>HUcE;0Gg`fYmdSIoXF0V&Q5D2<^1DUqcG)9J^$B(|MVX> zD9l_SR9N#?W{!h3C`ubb2IW9%r6!*~Q%g}2ewgDCt=+}&Jh@#~-XF^91G?tSx)~2x zwuFwxGlF)gFwSG&nJ!WVrKohdvc4zPdsO}BAthpe=zJuChD)P^7Z-~A9ne}O9Ce=*_vX{-5a4iu_MJt?bp~}9mc!% zK((uQ_m{#-!!}mp68^fsN>E}mI++*CUn>zCyol-!Mhbm?&A8cN)+ecESJt?y zv?}oVP<^U9pFyPi9(a(m2P?jWtD{SRecxkIqc*Ud=0xDHlJwnq6*#1NK36u10DfYe z?w!xQUc&m!u9%yE`7+JP9C-FYqXK;{>o@#)-yr|9NqGFQ&VG@t9pCOil1B_ zjjynQHz01JO4irEogX8)12`*V@9I(aT3288*=$LWM}J?in&(cBc9=oC%)!}`@lo1@4G@Wl~5J?syZG1yEH5CZ@N z05U`bHUI!$WIomV0!j=m(;irx?`@+vq&WrwPDnDgVlqYoZj#5_q*-vbuQU%@9o~Yn@v-)cG}L`-PRR#Z6u2XxMQ(S2D5aGS_HKm z0q}#nkRsr0f$$jt3UdIJ@U(iirXxCUK@#}B>5LPN@=!swf~%oYslskpF$9`?)R* z(zR`^y>!!MM67bUtcUH~1=ki~v)v;Oi<`dYfRuh;PCjBc@GJ46Y&uyb&WwE(PM&?j z&xcLbe-7R%*j&Xc8x~0^&V7CDPthBVb=HvMx<|ON~Ai0M-*RX<>O|1{8Ns%kv9$CW!_GLzpbgt zLqd|`fE9riH2@w#-KFopaPNPy(+=BI1cQAL)l_DlKF1>E%_Nw*4o$as5U3!k^ z-Z>ghEvojiuIke4{UrW&{+~i|myMV`^RPtiuV1mdtlMgEHb^;q;XwhgLsi}%cz1Q> z%sx%l?f|C`e_g(Y|5i7r(p7I{-(KCa=C9VWx0|!+GsgB_VChc#Vw>y}7LI)S2EWQ2 zhtGC+f!-Ck?m7Z06YTzQ=vchHuYX;Y*ZcA};=OuZ>YuNltuy`4KmFZ$fpy>6vN~Y4 zVYPTsR@WnwYZF)j@_l_oeqpb?v`wXp4`mrB-qr30mzV+lX7J@4q_aF>$E=w=#rFPq zMIcuZ1ziFIsgAXK%!LnTT~z9cy*bLnQ)cXm{Ib1b$6nnJf0Y%yeN<1txz&eb-gY)! z8`Gw^wzk=czwg@-@V>MEHd|@6j`GCvwyjI=;Hc&P%sw;tk6|g_!kEaj0iJ|iN|{$X z$m}z-&BPC){9j|AR)R6x>-XE?x9X}}_vL+OHB)JcxJvs@C9wCWsEMZ8u!Bk+vtBf_ z-V<+o^p6>M)R|XhWyOrYESiWn`*C}eyAc-cjm?L$B5AAn#1HQOf9$gPtdl{rHq>wE zkBQHA73=zv_1qKyeZG7z$T{5{N8Q+L@BW<}9#{QMwPxp5+4gqW4*hw|E{S9FXRN;g zXE;_}|MqrsvqZAD)Q|By`tB`d+s=G~4MwHwx+?Q=pC{LAz-PB}j_Je7zmVSKbHoq-8tAM0$j7%e$L~<{s?rrl zAg!PCw||F+Gs2idSgt8l*06mab{l)`&I#q;(ZKug6Wh$cSDa+YT>ydvwzbM zE|#skso9zfb7q^A$G180kSjoI?AULq7yHC>et=iw`D-+L9^H>zHV-~l1;0J#+<*FQ z_ebcm-Hpt8SCW|jc3B;Ccm>AzyZgVprXvZFpD?N9G5p`k>&F?f5aF+K*pvU08n*I% z`(NQF?1%UVi(b%TNi+VdG57J7;3iP+-z&e=JARP$R;r2b`kgO};Qj=>0QpoB@#Pfw zRCS_=Q@y)b&%cl4BPoO8>@ljk{E7|#-8L*mG=V()+V^vR)^BXU@%VhK->!PnQ0(h> z?>U2_4%zy`7Q4zDEA;BSX6wpU=iF45J6<|_?yl9C&;1G#YFIl}Rqv6zs3RH;lg=l-{v$jog{tE_37TQ7r9-=KAWgl9 zjkD>nLon~eh+rYbi<&!lNzLo#58Pfy_iH;Kf zIa;~Dj4+L6L3{s=C-|dm6vy|X47Z4;2#P`qL$`}cF8E>IpEHtl+AnVW=pQq1Ha7Ty zml@KAKkCtmymURBt@{dx9l!Jvw99|uzxdz1op<$E`>vjRarF#_muuJFL+Ngp0B*?@ zvA<)k!J0JzsNKsbZo_tnyf!mBOVa$gQvtD$&hzc^1CLApjkmy8zLvixRwgxGD#lbu zji0ls+A!!l?H{sT6hv0~J|-M7ekS2rYECV2K+~GbIJbGdXD`oRYjy3;RLh2)lqL%XLsaA3g*584kjv6|kkx;Zgn#1#;Qb zo*}!>=YJ`RTx&O++Y zF9btFFcbqMoP2640}qz#E{DUP*GVkL{RpYS+MYW7uUWnvV`s8zC#DnF#;*}6?H*X0&nHv+=4;TN;n(6Y#|Raoj7s(^L{E!^F+C~203 zU+36X#_=CIvAgb1Hu5(!@>KuGN2)v^l;q~!e4Zi93}TcTyXiL+bxIZ2x?@IlZMHJ@a^d#lf(L11Sf7Bhh{Ti930yEa!DY&$lQdSy z3~5s9bsbSvD)`GJaG*(cPa#Mu{k`)>d988B1#~qqWeE>}Ur2LG%^W*_+}=0k^sgg_#| z==Fj>(Th#Dq2z*6h3EqApX2P^yxG8-AV68+PSkovO*s5307S_ws&U7oPmxT}W-gH9 z)Tuq~#^SrTI*k6UW-iBjR+u$nmh?rb9mX`E14Dh!IP87E5G{J;#UpXj%%rr#Vb+>S zYtXaKIPH>^T{F(8+JGTH;M_)hSuVJ5(y3PVF`>;B&?pC-7QbhF`3PM(o0&*5JT+&< z=ea!{kE6Ab={f>YV;7Vt=coBd0nWa;Z&Bn9IvYFVC_KFlWj(%v`5+EB_eR`4sg5b| zV+@ceqNVhD1>8%>tZ_L`v3euYzR9mI<5igsJ15`9uyWr+0nhD6x@tj_RL(F7Pb)^4mp^3&>2l z9rm6hbkg@l{Iyp-!n2?fcVhRN558v6q61Jq~B*9K)5~~G6p4mmsvRv&3`zU zh1|se95^^P=FX8+OCxXw9}+>7P26lS$mdbNg@{|qs-J9O`M5rno2-dW86D-<^9UGb z=FfA6|4I|SV4JsXsyFAWJC=#Hxu)`Mdy{J`cpm%6o7*FH>lo*dM0BMWc`!4KlBMZ% zfUy_3@*MByP~?%($%&9uKac)KX4iWRt z-x3!ouoUQ1X^Z=X0{)vs4DE$w)>R!%m?I5?$6Sj z`(TJ31@iK}xM%^lBEl)?%E*|>)x#!DP%0D82@EO~?l(Pl;h}{Cxmegyu3pe?JD>|@ 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�FeYxvG&eZXwE45;-9hhes1v>VvE%> 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 ?sN_UCXb?~` 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 uIbD`sRSTH1t8XUwYgO0uO_6o3ZN!g;b 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�*&ILz(ffLHYB%eu(> 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

    TdPTI8Pj0KRHigqj*QuBLfCfSfHtdR*k>5eZyq zLTgwp?Rvg(waB2>Efl)h$;vpoXTDRi(nXl6BB#^_Y~YNOc;324z+z1YW_`PEs!D8K$;#kC^AT+?D#6D<~st3^v(EyBbxB5zaH$5%wi zIg8i4My!j#A5AmcI1^51`96=GdSFx>Edq!WMFt12v=Lg1UrmW?MLf8s#B?rN#K!H2 z=WrXDI~+&m<&?PbT6RvpCb0#(t(MiL000-+e2>k=8cdT6YT);oLDvE3BBB8@V8Q@? zOgu>s?aKlJZD1k-WMByZ+JT7xuz`dw^1!~HmN1jMuX&AxBZFUS#cT}c4I18)nQFw@ zpa%#i$cTw2_<;chJut5)D71lzAhZJ$gdh)0EhsED#I+O$i>y#tt6rGlbGWPZ>?TAO z%SIlgh5T%W4jSH*$Z8<$&cjCsh=>lvvn}r z+^uH20x~8e8J+r9hzx6)$OZ!VH6r?S2uMmhS^&d4L?A6jOsFPwq6S~Oy|FB_5wZ3i z>5CkH*ICy6I=>>Ae=vDC z5%G{5Mg0>{lOyN%e`oN5h{lbXmNNHSIj2se;dl9(5sDu8>6H~n>D0UHtuEzmF@7z! z-;}TS)E$KUdp>scnAs5li;eel?@Qt@Nv$hIhjt$HnFhPjU3p7x?L*33gKGcnKp|DM z@7tT*dHBrMh>+KaCXI+;PgUrC0&t1>+HI=uPt9LbQ)<_MCp@`F&`ZFW8bCzoSz8(3 zT%+me>uvVQ_w?`k_!KbBVdU2gp1H`goh`2L>-zQHV-k6{rJ>a9&$HL}Osx;q#`u(HY35dmtG!5fK}=*0x~ z>Qzszk`F>ys&e|}JotX=@+U-?jgqLCjEJ=rTUkGQ=ON!``WFhsV|J>gf;WGWHST9FAy=v8EdUxdC8hg18Gqo$pIEaf#oa7A0abzD{2?rxgdh;X98 z;XUrH?l#V+7wHuVm-+ft3qL4slu(_Ced1P=m#^~gIE(B3nGJ|X*NEX=>lJ98a_`4-h^YODLB4_wc;{VrJqJe4XEsEDtYMdCd7(CO;-eqdks{HN$+kzxxxhkr1hWpA(^BhgC(Sv!7LI(~bm!#J3 zBU-OblO?V>Z|Qln0DsFp&4$E6T}Gx=mClu0I=<#wsLK2*5y8NhL)0gb{D2i=TJzw1 zY~SrgKSpeDG|*r~x39x$-*ZQzc#G!`P$3Y0pkg&_I2B_=#Cg_~eH){xc+iZ{0Q%S{ z4@MCYkKz~!=Ab;fU!L-{e z7=|8;_!8mBw$m7GF(N^h87bTwuVpjVZzmM7eh+v6cE^D$z=n^asVk_X_tCkf&1OWC zYec`RC3N4;=ZMU2E{9eUf<9C8ii=xlT+X7Qtk@$0 zw}0(L8+kYxL`1!LHWNl6m?#NjDo()OB6L?BOh7L5D+DbeDo!G)Ga{vK;pGCv9%h+r6J2epg@J*VqUiesWE-91 z6IviadYV~boDkoZ>%0F=yR;y0a^tToSss6{`XQ?Q#-?XzymQI@1k?-}Z+dGYD1w{yqsdR3n{ zC*`V_H{)UoZ7-(6lz9k#fB<1cFp`0Z^2wDnv|Uux{oA7m&Q1Ra^12xyQ4MLsBe7sM zY4AB}uOM&vBcW^-a)-(DZYMdU6n-pG-P2XO$Sw#((E;1)VMs0XKtH)B&e^WMy3JL` z(m{1k!v04y-%IVWt`V#KannxvUmw*LbN4iqLetIKU(v!c@O(MLHNo8!*(K91WifP- zDyo8@x@IyhTf);H=lv(ukL)pASf&}?d|!Ecyms;$-Su&gxN1o-P0nvZ)C}ZWXbJvl;8l?ge8AO*K=Iu1i?bb zt7OH2iHWRSOb|>k`wxZ*fr*o$!-NlAsl-DV5fAVY^2+RB-zHFZrCcqtE+olOUKwIc zo00ZK2F(LsuCTd`7IRT*d zK!5q1goY;TXGemMhGu&LBjVz-M7)M+HjRUloUAs8lTnt3BO>#Fs0HMimx;&!V7`xc z4_w$^=6iSt%=ZHhFyFvc3E*6b!Q~U-Bm)T@+JRz$Y+%7aF)<2>B~=E>mWe36CLC&7 zuLt+I0cez4V@*5|A_fZu(n&w3tS7dj+tORbO6!;R;VoetT@=7fC66v`K+r}+B1i`& z0F8kO0g4k7juu+wB3?}BG|Vb-`J%)ULd$}Qt!0{MS|%d;nQ&2POg!qfGMPm^5drO$ zJ}~BjB8qTe0U|#z{UwCR4on^Jfe8ThFtNZpOfUcrCK_`kfRs!)fDD*;pdCy=fDKGU z%uK#k33qc?g>8O20&O?pb6y8RM#P1{gMKk=YV;%q6^J!GSxXo|Wa&*!h0*MyRO4y) z^$q{I5DAU9gt01Hn?S#k=Pt~P3>7mNE2N+uk*n1HB) zK3fyfEi%~sd7L~FVU|#q6qot!B8)jAe=$~*1PdQ|z z^f8Etk>apajtPi|=4F$t(xO#4Ege9o0s)B~7|OitaBpGT%-4Sz+n5<3XeqRF^fM#a zf5RybOFW1Oi{i&nV?s?9&9AHrsgu6QVX7lydeDpm*;85dN~*kEFJUKwV3>@E6OEPw zn>1sPTfuz4($i&?aB#6%0< zU|<{pj8w1N7I~jV?{q=V7!jX8x@Q9u$X2oJHZzKmhJVwtqbsuJzb1d2XWQ{e!ta}q zIrC(Kp?WE-W};zkY?V7=8Tl8rYjP#z)%G|qoTtBUzDM{|FFu=Q`Md8cH1~xlX;+GQ z#{DYFz%FK^;=wi}(#Xs`xnT29D%lf?4adJT>TkL~cHTSdQ~$or%+DuLtHp`0g__wI zfVPc@Z+Ri{%n8xH<-FPteCrlhZ7b1sc9ja8qxnm`+Lsx1xA|O{VkKe*0 z!3V_~H?tqpo9}g)AN;ZZ znT1uQ$@$IJgcBM@&&+de$w#np($eU1?YDXXPr2KZLxi(|@eqd*J4xJ;hJro_gdDl^ zYuPyDD#MFrc3bfm0H&7Nh=6~MXd0nK@%Oi)4!^2;=(+q+J|R|(z8WGT>o+@(e#9qa z+l9aMpv>%<)H3}2&N_R3oi(SSrlM5fe)JLjVzxwpT4awcE0I4daAN(xCky?~x6Sb8 zjEGg6bRZ@s*7>j*?80eT7MsK}?TEbYGtut`6AoJqII$$_Epn3E8Id^3cE05Nh=6(W zkNs$71mxyn^XF6abv|o>BLQN<`)OH=rP)-4bPXq>P`iN%xde3rM}zUteWs1P$c=Bg zuE2m=nh7BEA_5>I6S|TER5Z)98pYW75lgrk|COVj^3N_{m=Ibfnjl6d&8C;54G9bD zIpQT28yNyS1-PMo%X|t=&HE-$iYy+ct*e6iBFFpfgw%m25kr>LSIBMd3u)tOuTglmW zbp}9^pzf?Qr-213Ksm}Ok3oZ#RoA_y4ds=4y-`?oZPpuB6urm+9;AS{f_ZIBCJ9ot z001)uG&2Bj4QFlpw!41U+wHb?v};?kUVF9e*^;|-VoA2HzT}VI!qY&oP17)dzz_jw zmjL|#UqZeJf8j^LtedgXOIM>$qpHrM(^OQ}FAJ-oQ_=KuB#T;z5Jgf6DF`N!X%tt5 z24))&Kt+y)rF-D7UqzUMrCYK>N0*RR>S*}TAS*J(Rn;e5#XK!L$a89FZd#L$7hM0hi%a3pGvJB5v^nSjT;O&xzL zd02o*q(@7H$?QtyQ+L!EY69pradqZ^k;|6nzqNN-RrAq#q-aqzLre`|6e3mI>p>Ec zP$MpkTP4$OVOvoBre^166m&U%okO*#Tz3qn7(#Hi-r%MB6KEV5=WeYc;A&&AREsm0kn8oe|lx+^Nm{b{;uv ziJf(a`SZ`$QICDEX4Bt79X0xh;rpgn+Tu-u*Oi2ZSp#l}2$8A?Uc+L@yG2<@GeT5z z2|AgX1JiB#99Yrdm#6<~??)7KgZe~s+R_Vw9;ursE6;UooL z)_wMM>t5elM&?3v*eNzeHTs?G=8IC}u5rGiI;ze37WMUHN%jZaqMJ{>?|O4|YA3)( zfT-h|iCDUIwkxhSVMPQM8rWn5C?f8?C&6{0?iJVR4bMg$_r1C4#pv)I*Xaz;jXF+z za66W4VcJwir5=4KQBkmfVVkh70)UtSwt-4dJL-eyp08H4>9EJT#(X38@9SQLh?`lN z6-+kaHi)_w5?tdeiOQE1K-Y)^O8dRD6yS`P{szfX{ZNzG)KV_JV>r>}19xmc6;s2zX9mXyrT za%DyE+`F&C!jahXy1u-tZF7x2iVFFA5Oz;bCvhB}P3->-V*)L9T~%XE+aE2uWmg$% zR<~-zRJY%;wm@MKSp*=y`Z}{dEd}nE(RF@z=R>rXZn%LVHD7!k9gPY;sWZ8sU3c8~ zQw?EV!Ko=tTdZ_Lev1G$?zy=Go~BJ0Jw2Pun)C%o?WZ=nu~xE6rCU`ryQXv*nobC+ ze6e<%FeXemWgX>S&sbQKPn~YhVAs04O*%_k-&>yK33#JqPD0rFnd~XKD9dKGzAHQ9 zd?kol#koipAiFRmw(8`PF~m+nbo|=Db+^NX5X0MA;?ncvGSt0&8AR4w^vIbH?5O&3 zEM0>k;mw8mpB?F)SkSevEgw7jpPoH*1LmFAFCFe*`UGZU{L8&SfDC0i5Mu>sfIAXe zD}iLPw6Mf5{&X)2$vs|ls;1*HDH65aLgGYsbdYH(jjmznt@J+cSEJ%XS?RGf$_8D^ zNz;=S5k(v9BPL9UH!HB%4TCzC)ypT4UI=8(&;{vpGZSc49ZZCihJpl2XS(gTS9iKc z#P1qi$#?^*xwVXll78|4Tg`5rtFk8AMdlSq7cR&mwUGt!>k4x4z&1Vfb96a#nfYA1 z1jX3DMoH7Cxt~>GX+h&*rUAuANTy&+Zc$JxL(qs#8MXo8b$epN$~u(cQO(%l>A&H` z68~to=y#g}k}S5}te?CNqPD?r6)Bm++3A>x)4sQB#%b6Yl~(S-z-{bGA<49?#M)Q8 zmu{X_I@^~hP8qYIO(w;_?vpi8_g51bA9Mog9ld{u1*x6k$%ijyf7`2l59JwtIsR1e z-6_<eH*Ub4PR5hAC(oFFHBxM}e)k6L&1a8*LrYsgRgXE2KoGGrd$xi{I#UR8*4S z^^{(fR)#AiM3r@?3OHwT(5}c=Ud&qFlBNUUmlq~U!J=qInqpZHzD|Fs^WdhIYAIfp zsGE+rl;hzoNAy3Fh7t*By}RU9@Cocz#Jzb{e_izVad#!?Q?oR4Bz)zJkq;2_Zn5jY z!VdMcrg20o;O|YvbVRyvR zO@S>eTjFrA#z%1LAEIPU8~q|U)~xpzXj8Sz_A})R(8JQyQqr(Mxv>5|oSHz+8Pk}_ zDnmL&Qfqm+5rvYu5aho#jY^fJ%~?xM8Rm z7;lJVd#QNaR*9dZH&qt{w56Cuf+vp_2Z&4S=?!4~u8f)_l?|sZj01qbb&VEV1v5}p zz^VP)-zw89Ow=DZr)5+3Ux@jvtXvmTz)^n1s!(L}qv|Z$cqZhcAv7XjWrk5yMZX(t ze8H1|vO66EX@MM_FNJ4jNF*b?ih;ZQ!y{~{fXQQ5iS*+Ad?e%{P6_9m2oIpdte?~` zEmwEq4I&j-87y|0c8N1`QziI0*#9boj;In*QzUq%D}wH(JF>w-)ctBu#Ut(6N#$*J zWbJ7|*QJT#*)fw5nWUVVh?9nxSbIBmDdX6c|JkHj7mbCw`+5%NID}I6i-w|#u)}Sm zv#7Q83UcK#S0dKs1oE_G#tXjwb)gwo)!%eVkk6a0EOMmr#%28RM!d$;m#cQIS7p1snY z3C9lkiMP_vV}qN2y0FUZV&w{v1WxvX{d(-wcaw~*S+-t=GV|lU;a4}qj`-N3b=jAO ze6n|D@1*?x|D7xZJZvcgKGR*9yV)z$`M9>#(+hg6K>Jr^*I9Veu~gLhWl-5!d)#OP zT4mFlJ1DpjqPB2}0!~=7u7Dx{MWfy-@(!t*xa+a*Y-_lGgKgZ*6LRQdKM1u^jaH4j*3 zY92n#8X;znUWk)y3vF4=3#s#;-xAg~tNo1)uQiFqk+Te{NQlU=Mo4=1E$;RogVA~` z{oVC=c4;5)OuIHOok`6Lq**Swy*|7^I@x)-nYs9B*6Pj+^Qn2EKGiRvr#cJEsm}ED z96Gp(ly4eq5E~t4R1Y_0)}42*Ys^{k6^ef?Wd+rN9><N6qu`2xom}qMWT(06h!W$z-Wy!KgrmrL zx>G)!_8ZNaS2k-;i2m1acC$ewW6}6sK<| zyrrtXF0o}lmhf%Z6TXbv4Cb2~mYaFbu@W;*l_R?Kueg;C2g%WOA!HusXTiz}|EEBo zYhB`*bHbz}x-~w$YJCDi)Bz`|wpKT#MwKJx3}0LTeCb^1@kV8b*cWB$sc7Ox%-Q zLP*_^SsH)DoQ%atl}HEl5?{_&eVvu?2mEznj7SvTYcvVuB-4skoLm&u zbvhjK580*CJe-}gpd30>2m2N%_6~^8YF=*kiu4-p>0^Fh%Jl4&O^;|at)e%Cr^own zDOws{%k)=G$2i}XwWZs$(jK?8hfiwud}R2FSbASsb^2xT>3+!9ot&AWqeCFYpu<7@ zh%Z5GR)0O@_Y}lM=vvSG{jMT@MrVE1eC!Hna%I?Iv(SNc``xJR(ufvogZ!6nQAKUk z(rVY0b$C~0;rI~*B@k#jA7fXh9Zge^tps`<%48S3RHospWO{pi3NZwZeR_D*6?Wbk zz1F2NlUY^MsVbQssB-FYG8@rrw%2cN10y;%8g{9!Z0esMa^geV4(vY^U-@%9qQ{w= z?EjemcYv(nQ(^@G}j>%EJbsnov&Lj1ycqHZbd-gl2>j;K* zDMOVnUP60zpQh8~3jGum>Nyx(*dI!FAARhsti8_6AxxV)H$yiy*E1{#n9t$70k~b7 z@+SiymM!A-ZzoNyV091Mp@Z+KZd9J09sXv|LNHn8-LcG0f{&srdf{WNWH|*WA8wy= zp{VMt(LZFn5JY7DxzJL8CQ{P=+UUr?GX+MQ~w{@7nm!0XMrl;#r6Vh4Kxv6xi z>^Z!(1RCq56m$A8O#I93d-J1fBakZBdR1NJnq_wV+(u0(r5k!n3`Jx9-Ax-f|6i7? z?yJjLs-521YezLby=s>9q;J>+P<@?t8|zx9R`MLy({9+ZI+<4Q^$+IaP|FkHH=goJ z)BOEa%umz$#b0`=DoWlQSXpdoAMj=3rKsMrH^}3ynqH;NOihIJZTczcEZy{2Xmr?e zKSvy0G^#YU34BoKXmXQt`9es)?hwG!h!HwS(0gYqs^%Ix8HyNFodMx=($s6^fc6zt?T1V&Y42POsxsGp}CdsAMBxC@d86!n)Czz>Y|#z zT);r|N8>omFrG~n8$}{(n!Y$8x~OBk$T(ow2Z8R|recoVvrQ@bnV-_ROxsnPWV|r! zb7cLK@qu6Bw_R1E+~O8USN8qRY10wE@A$R=^xeeM0#HFk$twK-B1hN#o@pITD=cIM zeJb*gx@aBP=M<5DPwNk}lwv}>H+!Ft=WLg|`40egex2>Omz>_8viezn@3>0q1$UNP ze>V5s?rot}Zdjjk1oWC|D|VhRV;?De^xM8hj>QA`n(cLCQY#F81!vi_B)loJVD%l= zMw8V~ScmlW<3>vaz)48w-$0iEU5;uLk6BZMLZ+A1X=Qcl={baXswF8ZSgBX>wNUG1 z;4yT{^2mGlXQr3IT@EoDWpZRXw=zenCV^vGFOwx2D(`miES2iU?iAB33`s2S&o-sU z+TuX?_}@-oPxKtU+shRU*eS~23V~VdRXW=4X5fLd7dfp1J2LB$gXv?ipckvA=*-4L z+j8zAsh7GR>hU%8REG0uU^r#@${4_*hTHY~{I!_Hume{=MlkOSu%qRcYxPId(?0w+ znp*2s#5{t0^|y~7|ERqxvoDLVE5PYgIQ>O)iB+j7^lDcq#Xs0n9w^}WI2E^FHKy27Lv&08O{e=G@jeOHxRMhRS9S;y z<0i5#Y$;QPdmLS*+lex1j~KK8Rvi4j`Mqm~X)aKSN=4pu8J9g^g2a#}O{Z~-#aw;o z~6EPktcYIVHy zSQhae8_a;#q@Dbfnr%BPpUj;1?@K{cLsH+P^zpO!AG?Y(7tFfmW-`HkrzJZkIT6%DsAgxV=X!t8WCgi8YMHPN=zkT# zR|XbMKj70fWMk}Et$@9-FuT3dT2w1Qt!#xS}6G50z)5g9%ANF*06g};UINfW%Fw zyd2-Q9y4V`dX>!Aw75;Lop1}$z1o6y><9f+e!%2N0k;LsBjL9DU}k}d(!%ID!GnnNDIB>HzUI9x;yaQL!t(mh&rPW9gBvM$W83tpN=- zqf?;mDr`raO-Zy%u{GZp4E6uAd-M2%NU-(2+);jf5Gp;kzD8OlnQzD5JBXe9jlVic z_|6XIj+I}h?_vB7jt-0~pDDy!#$?Lx!^@4YjoiSIkH;a#vG667KV7t{V#v(kaJE){ z>}q+OZ#}cc>JX;2+|5#dB6dnjSIX$7S@p~gd|`GNVI_fYn%>}>sAtJ+X0OLyiipHh zs_}b#Ac{P(j#Syb`8pCDtSID+AO!AE`gsr@?HtOmK=@khN|>j!Jf=xQ)ORc_--bS@+NO4$9$W0I4;So7%L|HBfl zKl&C?>@7RfEAfR-%XEgxdi4v+Q4W~=Imf3|*-#Rb!!GQcfMy%D=i>ggh$)@3WBR5P z{b}RIui%}ZpS!!GUe(Q`Tl~JdMb%OjsIl$qX>q()EE+N>*D+{+o^rDd4r4h=)dyDQ)gJYNeE;Uu5q?@TWP>^+hFAC=MV`TOQ^1%`ap6rWS0LiDT zPv&n$N{EPA=O?Ws`HLJqw0l1jw_)KCbM1y{NvP@m}};`$XIVG5o(Q#cKuY1 zAkwH|sjYW-m})~S$ypbDGH2=O{ci^DMF^m zs8e`+{+cmhz&L}f=l5au2+X{wN1*vSpgcN5T=_FIc$|r3$Si%Wh7c_X}4|lmv-!FzM!R}$R4%^^_)?$c6?(iKS^pg!*N$lXs`Z~t& z(|upBg>A;SVka6_-S}$k32)2G-9)?lx!3MeL%V$DW82$P&pqKVi_I~ZXus_y(kM?r z>I*-$&7Yga?Y(H(Z<#ZPJw=Pd^+O-@fWv2Ij=!Uv7EZwenz0DmH&8X`u!mS+)-Gd3 zLHl8_dm*`D3sbeC;6DDi&A`hE9$+;jW!AZ_ZZSLBs z6B%bwSnz~tX3_}nYTFgITbXKoa!!y7!3CESvN9;G?ZW0@v}u<_U{gY~2oM;s5oNT! zxjD!I-~gwL&|oZo`?TbcjX(Ow0CGT$zl*JnIV5Z|n##2;aR$gB5?nZl!3au`3oDXF z!6jvFSH^~(79QHJM!C;fHSY=KD731TsDxFB#0pjo>6jKqQQ81a;9GV@63$VDLqir- zaMf~?hG`;^GzuH6GN1xfSgl~SUq*!V)@nS+xuQ@`$eRpyh(I{1FqMeCZE^iW1l_-y zuIM!@Yp?jJjdI~4$<4?F?TVXi?snF9H9h%dw92wSsZG`>FkgsAgwn~M1h`U&CWkOL zDQy;*E^Sjc5*f{0TVxywlvx>@guQ0LKgzzTPXlHLL?r|xJMXtoH<6|6n>Pt!2%t?6 zF0vw`O2Re*qo`TD8qTn23aH;Lsv}R^U&`7DB0pu%A?3;zB7}v9rohH6fP|IFI7hhr zPO2WHD}<7uZRxN3Yf?oqQT*SctH3CQ z_;3=|)`_Q>$e5f6PBfg5n?QD)y3->o4RCbA6%+g5BruQ?!JuW~Elm?i&N4X)P8v?i zOq%yH9<@fev`E8fg++q*x=+C1aS#}Zpn%YD)c-DwTi<&*(TM~v-#ohv0wVz z&g4(@e!L+&B?tx9p=MBU)VZof68m~1@lAxR95@j>MYSi5U{xG#J2ll9SD5iz7g!V` zi(=chRaTP&0EY2JRR>kF1FxsH9gU|lwu*XgZacR%K?ds_?QibPH$tNY2q-F|LOW%z z9tx$h>342kh*34l586enkVw#lAPF!m5gRpQY@|umYf_g~UGzxFD!1z{C~~x7O|Kp) zb5zrk9EejD#~WfDhLG1(nF|0BY6OP%hzikJqiizgS5veN{BU4z{naZ)_~yen0jfiH zSfgI}Pn23*+pHOKUgZaesipRDZ;>jHrXkP9Wk3q=pFZ`G-+xc zYgWF6)jF&LWp0#EubhN%)AKR;INCv>UuSqV^zOKuZ{lGFj@&xc_LI6PvHN23K1|4t zTc5)_va~C|5nWoVkO^G|W%p%%Vj>W~AwfJP={z;t*L#C^SzP}eIE z%k_#y^1ak$GF%zYaLntnd6~qTPAH*FS1Pgh;(Kd9pd)U`;5PE;+95HhT=LQmWVJRsZ30y0d3MVr8yXS}QMNP*H_U9#~mZwRj2`ziV( zqnt)u^Ca72e(+In9d1T!QYwagYnUfJY`!!J0Q# zvyL}ond*2l8@OR;5=JHK@v`g(oww5SsPcZipPq*BKi#9tk`CK&RMsR7Nz>tOEbnID z>Ah8uuRzH(jTxAe28>FuNctCT;2EejPDQ3PPmym8rLcYDVdt}d^T5WivC7)b*1pzr z=#Q^JBM6Cl>%5I%4NIBAu`Gk+%GVGHWDv$+lyO(8sUz)n(=JQADXaCmd52wht6SBS3DDzQvqyV8|{XGCO( z@K^iPL{2y-JP9_W!}jJQ*s5spyO^a5ST-aIge20IMHrN6l6dN5`mEMGZZtH+r=m=K;u7-(VR={jcfj2;}UW7)Z=6T#UH{m8z#;Uj}7+0oJO%-Y_(@HfP>S8k4 z6%r{#l$)-_JX?PlkO0k>7kq`FKz0g3O@RWYD~Vd0IgEUWfR77eI7V5)RMQJpNjvY- z_yHi=*!UIHa!f`wz`4_D>CCAJJ%S3@g$6ku$Al~VvK>&96d_bvX&&&+ZGoBJlgJMo zyaT363gkd@BQmj(aEvLkNvy&q1qDVecs8t(MX0UsK;)?jUI`OG8Vb2PW#)&ddR?JP zHCHONOjigcWUC@g#~V(kW~k6c7TP2Nu2!zYt6HX0u3UgDx{)qb7crLeBrW(ovMPv> zrV~>uE$jHQN>C`z%X(2tIX?s<+d74{r9Z|aZ99yNDov-UQqz@HE$IqWsF|)&DRa=r ze`@9BrFLxCLPA=NooQAp5m~0@0GE5uce7&}N`y&BR>)Opn=|tg1P&{XVSo&%hFX&m#7kVORx+>%$w`X_D91PNa;P7KK@|NC;#FXh z$k-{C{bSY@(Ut5ZZgm;!aU<_c$2_vhbjKr}O}K)lsL|85I;n1zsPIs7u0ihJ3i`+YeF@_oGldu3_C(nE5hWuPWxnPp_QVDg*3?kVa66y_#vCy*^u(lUKy z9j7136qR=OscdDxR1&?PFZ_(a`?;!{N3Q%}a0Tiz+tnebgxGoPp7@4xb{UlF>8%XK zn4Kcxk@iuaYq&?-*ARR5S`&wEgS_bmUr(Fw5K{ztv2T9{L|uIx@!rcc@ccdW28<@3 z_oG@5MF@>Rk(_bLCYQnEMmR*2v8d^M z4rgwj1It0rjb(y1c1*#-hUTN&T&#G4Y`L9h=Xs)yA4dV-ZegCPpL%YVS}7~~YR~@T zhTShm3PpOILa~h`IzX|?=ZNvT-#evj8=XgP9IhF9nu1z4f=`qZ>3)b0Q{XlnVTiQ|;D@;R)<3Yodd z`MYV(O;6Fx%PGke8KRJa=IhTzGYy$g18L1W>XCF(7z9AQ;vupG@KC3d*;gd)WB`M@ zB7bk%g_)1M;?~^Qb8ZGau5pk9&CvUiNAHy1BN+S^62GGa{Y+kBr&nEr-y12ZQ-mKB z7$!~OxHXhrm0MPPTxw}75s)#kjJ!wszmcSnv(d}gMN%y_ojlT{Cfq9nT|8W=q-A2n+i&)z*;JL3 z5j$m3iwZDwWeUr7g$PY=nF1mNuH}9u2!o0#Bk*`Z z5wL%A_}Nn}5dEB3cLbxYBHGuQ4qkG;2%SRIHzgbrROrEAC(u%B=VPRL50^;$WCXki z51}3)b1)qB3f1>HC!64uFt6#$%}`KFxI^XIGYrMG{MPzL5p9BS5_~b^T=%vaT-^kB zK_fVv06qzZQQohnnE*+M*chdqpp0}fCEyBgh;U=wIr*q<=m~`Glw1XrG^Q&`THKY+ zKS&yPg*hJx1S^s0rVr=-Sm%uJV6eRf@PRu}S1UnSrZ19~zc@c`LGJo~SQp84X#f?U zNE%Q^>Dju85#)N?b%}O{wR9T1og%;YM9tcVlSY@G5I84F1f#4~L=mE7FHEQhVgnsFf+RSD76V$MOe@=~woL-aw)mSaDyp)Rq;k8lS|Ztb7tn(vqg;z+;<_eeyaPQ=Eh+bwUNeoe1+%iE6q+gk`!CjUl^H zIf zG?ryd6)#F4snNjaM%7g850tV4(hcWlnp*OFUs)<8-f{Z+>p$&x{Z-q#{^Xg>fbbA< zlhMRRQ4&*SVE|$n8=J_qU%`nswp_inOHCxdaA9TU2Am63KXG)1E0&`HGypEbrnal3 zvZrlV;z^MN42nd`d)j;^l76@!Oelv*#|6$C%&t!$(z2!y>fVhu zN+PN?dg@#;_Z%V5xeT3Ubs*{c7>KWlS|BBo`#A~GdovZgCO&n4A_W!=@I?UnseDlyQf56tyQzuz?vDFl;DL}aHr z)uARbT~*Vt%+i?}6SnVR!);oIhAqR>R>}&(ur#VEER==d)IaMgtQr~b#yMIA~{5%Y$ zLjUIvqm6zlg5ajENTV*M!;V_;XT(A@U=Kin5v&+hMM)X7ks8sqMO73QrZ!;#gjEqx zl23p|%|wxJe}vq~YJ3c|>~sE92vWCdg3E&*GkqMK48DS>@!p_Auim>tlgNS&4R@ZR zLyD?m5+Fr?jvD51T_vbkQ3V@W+E}$^;Y6EZ0#SC#C!Ql+z?4ciJ(Nrj<}F(~4A*>58a@>~f=PL89MKJPT%^VGi74MXRKy!>?L?GSDlo zT1Y=kuI9_=@?dGKs?#mXWaHTDylwOglW1+ff43#!5yTI6bFECfR{16*^M37qJ{rFw z02%@1$kd5xv(lebCp7B$CZLZ}lo)FKR1E-FM%8%4|u; zTC=a=d-Qqq-+=~QvUV(H*qtJ#kkuBfhxvLbR<@44e|wXaFQCGrh9u2WHd0ZdD2FU} z_-LNAg$L~@#H-p*ow2VBGTzP{(*IWi{P`eH0FEo`qvJ~66fY^!Za>-+c-Rkg?KDyg zi3)`Xb^6M#RI-}W6#{W~C6^Kl0FSG9UOOIm8Azb}u4S`Dx3l{9Kr(yp(<161t)~d5 zO}ahAgj1wYu$ZMqfEjz? zFs(nuPBZ1GFQ-saO?0IY)S0eC zLYl4|ZZ@u=nWq4>O)EiIrh2j>iK58|BuSz&%ZXY*3L{NATNELw>BXag5CZ@O z07FAZBme+!biL|Yz@_CIXibv${dRY|<3Lo0Bp{hEGun~z^W7K9(15VQ%qmIusr>t3 zbcg_EWT1==06h*{-wyQjj5Q|(oe`@Rb5$(BzfZWTR-W(RYI_?VW47$sMh0YnPG}i! zT_E+W&km3V>#R@Hg!GpwhfW6rR;+xLW*c-vIh9AoSflDycrrl)D=B)q0X>+L$Z7)? zOF&=%0EnipWD4Nl!M*C&T2=R2@2=`?x7Dq-ZEj|5wYIyM-H-(4+~8#}P;d@BFWx0g zc@iLm5X{^%o=E`y_t5DnM^;Rpmct$u2q#Hl|*x? z`>LsQr~^eVhg38-WGb{bIxqKFa3esfM4gq=Xd|UhKU$&;)h|TB9@&`YI~S5<|L7W_ z{FW46*`vOvsY<$vibH>OLFPkIxl&K+>hsEyJTsO^FPiF}mq?=$kV~Oj9+D@exss|J zE2Vl$6ryh?wT|wqTSK~P){QNvTWV1T`k!o8o{rk4F4!X38QzJs>UdYJEt~OI&hvAr z8M@gCD$~aNnepSCHI|#Ym$XrO+te(1<8p1eDQJXhl`udE zFOrMnxa>llR9$f4$BRIDJ)QO2ORSJy>WkJ(8+Ab^4-8Kh$oMt&B>1nWss^fID46I1 zmlnO^EPPN1ThQ(5qJy%a&Z}qvJSui555+F`Nw2IX1)Kgba9xV~#nC0tLsdtUQWd8_ z=aoYdo#j)xdt&=$R9{GYgPwVNj}^;DSl8Y%*Z^*;PsQo%StocT)hLQ`E*8gtOmhjb zK%hnmVo4+#M)vSYHIQQ7inKz1)ZTie3S$lVZ3`?> z7?vo8Ny$FqG*C(wl=Mh6Pp<^GsjN^@`9+oC@rM&_1h>LG8C58r>hI-^d5Mp)3LUqN z%^E*?6}G2WqkF0&`Knh^dwMmqr_xNPEVW5)wIvsgPiWKQuk3}mdO`y+;@7*{faN#h z&)v^$KXI!p1h0ulGIrq1gQt?@M&wno zT4`?zUR7$~lK5VGwwU^$u3MQ{)HXO!@$v&t_4aWuo|FX$OsW`CI9;`B?5>CSi|ATm z9@xk;&fP%=D-~B}{{AlVH!<)=bu>Xhy;RX_W${o;?za4BpgX%dPN}oL5~)r41g6ep zEvT0WkDu0(UW7cv`lom=WTI8hQ`}XSk^SnLjIwqGd}!;h*U9v&Dt)T4|Nk4KSU1!6 z-kkNIAaISnTpOKE5thG#)LvCpsDlIW(x`^PV|e6rEzMbiaH+_b^oRZJH7-TYo1NI2 zSQkvO^RR^$9{#k|IxY1P1fH*f39=*q#5=H9nH z%-gdq5g}D9mnW)YUsKy+z)Oo^=42l;Zz`Dx6`AtNxzMWq!1ju^)Z1w&P@k$(`SVFNWq zRnsLhHt8X{lFuLXJ0DX1*X_mQVKANQI=7<2w)zdsczMkoDAotQt*G$P%vtLj(P+5F zMy2x;DNxX3_)!UN1xU%4inb~%TGkn^1!a6%>4o-h*e!qO1?(y;YY0xf*vg07JW(Rj zIv2}v58oz0YG8?UNh+U!rrIJ!KDL`ZZ)iVdFzJeGW2i>*;jl&U&=-xynSm^O+;l0z zR<&5g`cXq?0jjE^2sUCbBGIr7sMTyOx!M;elh7goQiB^JNFh=zc9O+n7qF<@1tprw zlCcYbZ{3NNKa&YvU6FE~=@hii{SpG^E)21P$3CXic?`6IMAVu+Nxg%{IEL zkOS;mMo`xRWL-3n4Hbg%e%nlu_hfvq z=pz^yPqi60dFXEK2GPnE(zV-7qeP`}BR$R}%=Io{t=t7UXnpgfZKI9Cm^6YAT|+rY z$|tOfw$_C;i_av*Kt<%7WdusO_!k#N zSzO6RXrzk>KG5mhBw=F%Jw(;P>#j(NXbe%}?8(Il|KNGpH}cGp};= zT@y8c|H+`{aGDwisJr_y_$M|*`K4``jC-AQ?sQaaxMGQRJ40Up{o_1}^UA(kE#~K6 z?au}0T7c4LDjP9#>Q4ewp!1B?7N@QWh&9qcbWjAqOaw0uv=uofk>fHd(b+YKuRCs? zUW;jvO@Te`gNiXNtgtkhn@>0UqyUB}1!rP-lmH}SsG3@5*nU&=1v5VBXV^y+EzNtq z`GjO$ zmhC4b>HZ-#IX1Mp>38ri_sY8BW6(|i&niAH-Jc4oBAv;{G_U_(bc!n9>}!O)11Qf% z1<|!=;;iNfvVnJEg>E0E!;ZSZ=6W5zae}ZBd3`4W=!W%f-aFF$A_opDpR2udFO&bI=D< zi&zR#Ad>4!1mTc#u9r=TEn|y;aW5KFLKVUu=BuH4638UZ{{JnJhE+0zv5T6QO^GpM zjI41!3Hp*-xH1u|>*%Q{5mfN{YtYZK&pb|Q58In65!pJw^w9b zl2TM}SGg9$!=+*XAi38XrPm-zwJ|hcuW!xvU3$MKK_L&6rekgSWQFb&)>{Dl1hGc1 ztCVnQWgAImX^N<#{6AC61;CqvUInvr%hEN}P!?I6EmFEz7rr=t_F`R3z)jzAGy$#D zVlRG+uTwtsB^bKc!4(YVV4;PXx-s6E#x7t zNZBiUNIVk>)Z9SlC;JxJ2Czuku2+*pTVW&ga`n_=E45iT$`INAEiS=&IGgV$9CyOL+#@5u2N164_e0wKegl-~sz~C)N zMNO439zAsIbI&YH*rZmQi`&C`p{WFxYP@MM#(6Nsw_ny5Yvn*j>&w>Eucb!>F2+_j z6gBaY>yTG*YIgR7)BhxLzIjx8ji^kp@;Q0L^uGF4oK~Mr?&KWwr!9DX=GA$Bo^KrY zXrxQb#e&MO;YxEMfoiV;m2hLN`h(^$H89_5-A-@+FB(aNrnls<4+OSqek&uo0Gt@B z6es2FD35^CDm<0(+lT^@9LFU^ak#fDj9&}A!g7@7Siirp$(3<-8h#A3YYQtHR?kJO zSnVV()Ba(bn2Mf`IH%~+%J*2(8eyY*O`4SCz@+=2-Iy~7E(9E-4iSxCSQ*+7bv=gk z{;^qM<(sTAC%LU)Oy$Ywu*Y9z+zO@w;_M_ym)f$aEW;4!)5zcSBf;3&8>=%Mn^V%O z($b2IdwjDP?`o*0#%Ki8yp%XJ%H--I0G@K!i@ZLP0t*15XG>}eH7;Kz15K9ZuIbyh zW;`!QBcIk6AmVXynp2vb6&|lrSsEdPE{dwcc$QpJBs?utOdp3dOfAff5!d@pm%ZeP zV_{-?s_{P&fq!FFllEDgo_g1>FA91$zm`rh~A4gJ_3_lQFIU6}{4XhJ?##gkkE2-U>M{0Ic6kG zE}O;5rMuHl2D_l2j^Atf5b%K$Neg7r59qjscdHMHSBF*>tCxOX;1`RtNFI(ZCX4=z zD;%tAUOL9>*y8yr#->+iSfZZd(7KeQC^l?OFvBcZF`GNFT#kC0)#&2wI*}Y3!9s&8 z(cY5NV9G4*I+ z<9=U%EH6uX7d85o?A_O8_D7xZvLAe}VdG<14PM%_|BL=cz4jVzN(*SP*{6=5mkoZ` zm0m+as)qMaxxD*l(WAe3={rVnQN2t|@pWa^D!) zg$%X){73ILEQWe!f|zevF>h&M?LBlI37v7Cnn3&Y{(o-sH}MfK*RX9LM zBae^lKk9^PdRuP%=H;BxfM)Qv=gpuGY!yAnP$RI2-S}pwt+Z!DFrA@yZQ>_GPR*5^ zb>8f5f|hiuR0s@U_mo8`3>K?Hm-Z+Y_?Pe6ng}bt z<=rC{UnKaTw`Q2J`YO=Em1Lu8>!sGUavZ^o%xGdk{ zm8<@7f}j1nh#jK6r( z(*zR)wsxCuc2fYD5|hA|ZpACb)o^%?&|?QT%f&U|-% zVgMe@;oD=(bt@UUd7f{^Z;F27)kB`cC)huh~BKabkFmnCVq9SkvzC zGO@)NAa)W$a~LD0kevjGoYsgfBp!j7+c}>MiAP}aw!tTzMb4aMXHnP*tYbHyaeErU zAuk$iiF-&71O8xvjIyV|AlSp>J82+@>?5$1@hBYm&IopbxCo0&Ye$LdRq>vgDd`4* zx-4;YQb669xH>7IZcSV>)aD2yu$A%CokPhg(?&V0z1ZWj;HE?$hc(J`aJB`GtV7nZ z=IgiuN!SM@%x)h&`AyGya$O!QPV zLY`F|OF0X^QxNrIE>po@u7TL z@t=R|!!MRym5Vn_rUR*%4+cFazc0w=^IFlXIGi3za@>{&Na z!a|G!gUddkxQI1iQMySI%#4mXi?&VeH34V_j?5)agelG&;=$|QSdu#7_)5&CD`gIo z$w|BTZnoW>etxM3sPiov&*;kvzOYYwz5SwpSA4NmaphVSJs*SRUBZ`~DVGrJ5rhS^ zX!1v$$PanT9omDM&RUNxcoW|aK7mT?OBa;?Te++5rS{@KFdhF9 zK@D4e=>QmytL1L(m>y(y%6;AT&&q~5xE_IH-;^+V%{MjJBNiCMh<^5idIUYsh@c;$ z5sS7sXS)EeLXlY)1_#2!5$BmQibem6gjJ5mo( z-}QasCvvZ}@0^*%>~jYCbO_Yk-G!JEAz(w?;YCWEc>=T8h}wt(i0$!|Xq*=@ni84p z!fa5Ci_QyRUPOeu(EJk|or%DC!KDfd&u6hNK%K;Tk$E8`6RU%VdT5WB*aJ0AMT*5d z)J}y;XLl&df?Z&vitIwpS+NUvR`Ol!V(GgSiAq#bR5{hl`I1r$41@_Lf8o?4MACW9 zC`Fec0rhyKRs;YVY2woym=*8cXl&0s-&tAo(_gwQ-%+2dBahetFLq&1%fJ|zimX1C zh?kjWB7b_IqjJK?O<}p0!YxR$N}rA@I?4I@8qb>%&6_DerAfs)w z{$=3avH`;NmR8ZV$qs*~l2N^SdKr6G4M1Y57@M}%r`?^VwSUJ*i$Kou6DyaXV}>|d z_4j{S?X)ToNCqGV^q>P}-FUR{8=9p#TzsS`qVrsvN%dtDP~6IYo&lcb#G!2l`A6ES zP7FF@#;ZxI%cW0I(<9peFL~4#hZc_d(i!_*wKc^j8;4{nHT_pqqNr%g-@0J75n8Dj zM+SEMT-mvOaJ~=qCDY$sWKM2fow_!q`=LIXteKwCZ_UrwktZT^=(AHKlQLys(3j9% zGjE!&56;Fv-LpF|xm3a^-N)t4vmIMTcu)v8mtIJQ+!^#Qjo@m3Y!3g{S!~JKy1UZt zXr<>^u7fwvvN^pZni>+`|on_SdJ`A*4d)c6y$|IUw$6Ks_v*UsGqPK?~ zGTy55>|3uCge`&!FHS`%VTdfJoS$A*m08pl(cM?)XWZ~FZF=3sS>PRS*gDNiqt}@q zIobBLD#4xA^7ishcGz5NFIMxB$$q{a|GV&zh(yYLQv8dO=j$hj#p`VT3$_0IRI#qh z@$okPzCP3nw}9gd=WB*LczefK@U${oFu~DCkEINc?%RhFzN*P}sSB$&%ywI_567<@ zMM%R3>;GTzA)|EU{b!b=(r@+hEzOr*TBfV2yjHD_^pw>teK2c_Y&m+;wt>|o&3FH{ zgo6FGA3Ri)3!1Vhp5Rt@0kjMV@0r<$+oh%~%l)hX`*DbYYL{1OTOs%yF;iF-43!dy zutd$m?llE19cenSQghDGuc@=XmQro%cklI3uJM9H9M@+0_n&92PNoDJhZrEw1mi?q z&yizfRZUS4B@0lg8YrqjiM{({%@@lkt$rylS<<^i<3X2;a?nJg7PW6cAJ;s&W@?7A8x0kH-behY2Zy9LW!=#b$a%0ZGyl5Ds{(uAs4>`%GKZn;>E{dZKfw*e;r3a5@UmJp&+aAShg!e(jP2S)x1E9+{c_5G9Rkzh zH!9W6xU$#UVf=N6p#u!KFK`uCx=N|?kMftz8iH$+NT50fYUSX1Gqs`~4==!y!LTgB zjjd8-xK&5|5>oqt;UyYXB~ExaMS4bPW{-)1-3q4`Z(2941BOdzgu|8X)}UEj2Dz-H zHiF|yGzwOL`y)k~mPJ{Usngy_6txeYE6KoGnLcu9E6@1`FrV@(qy^;mGW4Z10_sWM zg7L*cBBKMUaB$tGsYudtMyvv5c+m9h8IPx_Sb6D-i@)ZQ?GPChjpn?`5b%ES`&|oE zb-R*%Z*PKy^}w!fShPt)tu#6YXJ=f7X*;8X!tA8 zyYH5HcMEUDHVN(o#jt3k=ha|rIu5i{RIMy?#Um_+MX6#w)uLM5pEfAD;t?31q7@|P z9t(Fy+ndAGh(>7HwQDXhJ@jNGlBp#ca?Ngy@cV8rT`9i*Cg-}k zGJ;#-p(q+fHU-Gq;|r0m$1(BU$&SuKT?mOi(e==ae^?|m0zFSXN96ozXPoqPN}p4h zJ{yc5qQ%Ugn6Ic%O<%is0XN{g#T0BnjT zhUMx-khMqpK^5lqLJ9lwT@|h3UiUI>ETR-3-}y2GrKV_KoH-!gzRM3Io?J-_spoyQ z8(bcdiJ)(p1B)Tp2-fleS;21VZRpP?CxCyvYlg%t-h;mjaH91o?;!KjFpT2S2#{g4 z2_ix3q!P>_83+xf))W!l@8Yieu!xo01EArqzY!d(d^jkL;J*~!=C?-8Hryw9;;eT@>tM%i13^IAq92JPY`Eq;e-Z zO-ZyQj6@@mjRIIq@>F5nlD=dZ8b(kuiKKK@W|O==pujMTyVgqgxZH4R^9(IVe9T>T z{XX5Pr?%ECFKqFXY=lOiXluc9&IKihfoKFAl{8z_(Kji?^lUY}H z?kN9&ib9l8G+Xt%L)_{s!XynvBQ@7zRoQejWl`4j2&(7}xscx#k15x36#&f~E*|k( zyGmal;@l3=5j5o*0qxA{>_66wOw%sQ-L+`Yp6OC=z6y~} zn@>;6LMYqNXpfCn9({4Rp8E@bJhPiuT>_0?$CXVb<7IXaznJoQaD?sx9N8$os6A#r>zqztC`LS5Rur;%Np;8VWh1Uk>0JtRbGb+Lx=ab6rLdoaLn{Gwm!Rk*DPtoT3r0m6MY4 zLSR01ePbmD-&jzv^@Og$byL5HM{yV$!F?>_#|zpcJp4r$p#EYDk!rDHpn2YQAt)>J z7y&#fcKKQ;DFiQ(jbT}bd8iP6#bJq7s9+w7MxM@w;9Y3w;RhBMoY`V(f}|D0u2lm_ zl8x|=kGqXOK@=5n( zLl5&V>NHTrE(5{rf>d7%4|=w5+G~1#+xEiG`|H5(%0E0(YCUj=x+Xm*{9Lh~wol7u zP@g%M^0LaHPq7gdB@b>bEIj5TmoVV&G~s%kOX_J^8c36fIO0a=$&I8;T5`IEB*DSD z|M9+sFG%XLm%00t%wRy7N7K@+R~U^D3D^D8{+|nN9MCAV!Y~P*oNXX(M2Oku82b&oF`XHP&=mW!i`wV&Y%JfR)CY_PvPT;{S;gX3p?4d1@tZpj5*10#?Sy1yCr^W@1Dfm z3c3YRB+5BO1Xp&Nt?LX@ypN`e!)aPVOA_ z7+2&i=TArXa;hS46vJeN;%vR9f|VX2&Nr}j}FJaT^h-a0AOk{Eu~d>$6-T4BQ}BzJ&S^| z3o}L0k}+Ob-(VCRY&<>GifgbB0~beC0b^rK<&t{{iqpS6nqt{ZZ#_2B3_|23 zHl7edlya4NUq8PV&t;A*&ahFE1+fu+r~xb}b~Lm-^;IJ9G*x-2&px{5f#PgazC>z_ z>vUqm`EB)lHe)N`=_UcY0|tfjjuTEWs%k8%Zj5;r}P(idx~Twd<7)3r>LVluMYza#0Y%E`=Vo0BX&(MqxGf41#^HL=|Lk0&vYAZ^ z$d+?lQdf@TJEu60y)EWCK-=?@<)DCtjfGR#g+P<8viUfKJG|--+eC_T-}brR5X9G% z-*l>+-czE=Ipg|Xi~9V$$tA`2!g)~R@_8g0fyg90d;aT&o2=3cuR`NJaJ(zU!>cyU z?6M~XcqDaGvIq@a-pDt*3>`=C%E&D}bvJEqhDXy$hX8)M7nWE8_?oAlhdDrHaUjjX zAtV}4{}1N1R4UFBnpYMajm}LpTc$XBz+uiC;SOL-MulV@Alczr%xAqjB^%G6vFVd9r(LIghJ9#G}4#W=WlVFUyJQB zc7;2>ONhPwU8JRtdv`|RhV}@+NN5Drm3M7n(-4`bz}pqevt9KE+=iyTZVTW$cWYJc z`>&jPtnSFFV4CZ8ERskxf__nt6UYBj9vs^|rtKcOnj z)i%tB*{tY>lGuf}pmGiK+Zul!e_-d>UNw;Rp1ZkjVxVTNu{GycIY0Y5Gc-fa__tS) zB%Ys6u2k83@pS&x2pY4>fppY^F+b2!9> zHuGgOG@7r5_I`r2d73y-cHwCxc0m ztb+GuR`=RBniS;jFXmQG4Ljd=khY^?L#$@zY@Phx@MzL!D3{=j4C%gyhBb8(l#Kvp z5<6zioa1j-AbhNgYwBuKZbODwgV3q^zd^+xa&iE6W47gy^sn`@kQ7Fu5p9F@R=mB9 zMRgH!wyy?17kX2k;Kc6E(8oda3q5;+a?_3zUd}~6RGS*yHe^dIj6@^ctXp6-dzq1l8wMlkK<79LjMQk7|9TG8X^N)tm*)yu}^CY zkcYf`*)@gwUvi}ubtCTdGKAEU4j^yV?oPIB*wq9ik3=JpjTl%x87-7wlz>_^}I!R^(mFOGq9`F{SElB_jZ}ssK5;5ur145q&&|NCcz^3a!@{7GsZ$_h-M^R1Z1=k^}~9Y&k+c zCTB*F{p`^r3?m*DTnLT1*wD5vI8w#w9Mhwgx26#%gfhwMuO$I`fSjjfxsj@-IAk6OH#2+1hNaKHHF4b-lY{SaA1OhX>g*7 zMtQGHX}|-Pz9_iB9-Wg$*l4Uqs&zhmr;l%O5HR3T^5is105EpSh?UcjgukPl^3RGkA$ zt|(%@>dVVZvJn>lzUp()(I`g(lkM>mWnO5cJx-#+3#T=O$4}nQ&56P;Kx)}SbW-es ze&}Ni6EB@I6u^l_NW0{(48I_Yap2B7Ik}-~-@9bS4a7*~5c7`|f=Cw%%#)CL{3(Mx|V9YT1uhP07aKoGt@jJ47b;XxCoeI{rbIX_Jbo$eTmKt z{OKVG%X-mLq$EcDZxm`vVR|N@rT&W%0}4=Tq5^FoUi9yX1Qg0M^*0VK_C{cAirt$v zb;7ThipF7Ls3^*+kximne|15-3Wn;oq>YD93ev9<7s2-Wm)h@a1eb=l)z2Mvt?cHz z+iIzD9oIKWoc05V!G560hPD!kf@t5~zRLP{3O{n~J?T)i5nji;VbbwvZSRJ`ugmY; zh(e<`HleC0i0FZtES4#SdU+D9+bN}Ne$YgzFC-^AuXm3BBjHBy&zp{SbNuVtPcduz zgNkec%*srLy&Y0Js6`-^DY}X*ZYH6Kw~3~wJtpV{hE?;vJ23t#}(NTqIkGQ zhMY@wRNo6K!$oNk60D+tqGA`Vq@i9^<0vh=u&)+6|IR(6I2?1J~Ghjvq0EqzgpKtBY+MlgDH35<%FB#wfANasm1_|w*%awwLo!il zbhR-NmB_m6n0$q@|=)01SX;bCUB(q#Bt*>N@+o*$(n4Z>X)*K1*5 zi6E03P;Y325C8y10E}h;!2ZtNd+*)nz22SP`F3}A+jed3n$~tT?UH4+OI@3{bs|WB zlz=SQh*%615s9ir0-_Ni1AYJ@AuuTA4;KU<=+}tyGk^rg{Iz>*?QWXt2X0oa?3V1Z zvpWCH*Y2j<0${e^RM|~#ZhtK|X1j6yW3>Iz4>tGA+xHUUUlsjspxxHkHHChPnj{1d z{eX4%)^JI^R}4t4S#51Bf^J%4uy1!*g6pUQJfY&ND}DD?tMaSe40m`M;)D#ZuK2Ks z{ZhtDs1YI^pKY&Y@da5^|31bEorYa-Mi`tH&=4hv( z##j0?3)x?6)(8z!OXy{`n>H4!`)xm1xwa}p&` z3$XJ?m4o-K&pV(v*%Fs)(qXJGUO0)P#uhv#7hwU}MzUnT5YDrcL@19b84Y*Ocvkmv zR_0Ny(x)TI`X+nFq!;f;$H`I7A-jYp?216{A?yplv9YNXYgvAx*Zv=4UGp3+=MowT z0f=z{f8Va%ktdY zV=F`DQLG08GFBh+i)LgIw&5Lfg@XQO2vcYu6WI{gH0N=_dkt)V^&{B!!=!fD1J+P> zF6WI4{@ZcicjCe1SJvbC^jOoQ+pO4Ec5F4($A7I?`}TgD`@KKp7Ht9MU3fBsajP40 ziClk!{St9pTzzGpTU=#w;v$CEMKz*Cm5-K~nMZZLCqipy+GX6WdtaDUS-@V%%`dVb zk^&|{601_75%=v_Xey)s1?^MixPujMk7qGcQ@ewh z9r#9^V%sb3vex;JmCyyACXC5jE+o|}Lci}7vE?FWdwP+-W&g5S+^uX_Q~z6M zssLaVec3a(*_?X7`h(35ii?5{ZSUHBMF#Wtvgm75@5gmmJ5#8W7EVZ zm7nCFm8XyJ-gaqiW7m@%rQ} zzU7450v)t>J#tC4FUOno{ZpIxdg}9K}QWmTx^VkD3XK%OiN0X zrnwR@^Uyry?NvRt(vFX>iMlvKOUNcYs-VlEy{vi|W(KzOUU}FCDIVGL4&JeAZ&eJy zR>U-Ell7Uoh6QnatV~LMwBzVua!a#gPR4G4LSGqVv`^#GmY+v=Swd*(1M&BEICua; z(?ejPuTx}($ihR&f!P;5+i^YX`YwlZZhbP;7BUWGv8)j@gK(j-v^mk{uMJ*23t zgL^A4Pv;U z#)7sio|eL=MD^c}^=<0prRs8&OQ?|`Gv)0(Gav7V9%tQLuIa1Q4?Sw9ZO;yM(Df`k zD{}C4@;Qi{D^g~ax|fxqoPw6@_BwrrX~qezKPcmjWD(?a4}pwDoM9#82De!K-^?hqO3^zCn*TQ!&=goN&{ zdJAl>fMo@f2&V6mtPo;)nMw)cEA+4egv766-)hIiM)=*3mA^i$kYMfAYJC5(FWL>d zPd{!-+|SfHKoesoOJTO*sl=#bE@o)K`epV2^>uQet>W0*DsJ|w9b3}A_xcaG&u`@+ zh&@7Zje@u0Whwb5Xby#NF`$z07`a#JS9cMLl_}cBi zHTF7R_Sa?OvG=}C6F~`8d|)+qvC%hgU%0)`V3V+QQ32ZnO`T+d; zU+m@+<5ke1xYjbc0>gvq(>JM}k*@&H`Dpy_``(l535Ahmkm%avhw~4XMfTsiQF%3p z5*ka+a$3tF?58Tj?0EzQ-Z=w%eCiq)3O`s}LglAh$^Kggv|gbC_`tPq^*BdMcgd@4 z_Ua{{RoU9IYt$q8kdf(@+W$hkr2XrBATm+S9#Mf5s$#kl+}vE9U)=zPP^4k{&dk(^g-x0}|VajOIE!l2r-_&Nd|12avW*X9fTi=KVd+;xrESK4)a zxlgKI&E^t1(AWN&$JS@B@?rZ*9nDecUa30IC;4FFH+ z@^dzahgKA!cxG2c^-i4sjc!>LFXMHoTE0c~^*oOt0O3l=b^4*IXvaa%iZ!k^3wrtD zZ0qh$cGFq>p(9={14zhvzXq`>FviWXwkq1nQ3a~898HU3zbXn2VxHT zzDp3o9wH-^?CNCAB|nd5lmaEjUqaec`+wzTpPbN>DaYp1Pyaor*lv;O^b2&bunSz;?Lv!^L{L!V_bsdr6zWud>q8 z0K}&P?_e-H*QwFN-ifAZN74CvZ`&qcO7t}&RvT8nLCyW2SrfLSdVj1-&b!tS$nWk$l-;C z4?9CkRt*#c-7rS!XEb@-{ux0ZFp-+ZE1r>{HRiQXp$c4E)pt80NjYKZ_Yf((lHHxc zJ+`kmPMb>obn2Gg(-7pQv$K?y73v-7(|$_1TdH_S)95s=gt9u_df^gwohH0yrS7jf z(Ro#;XOFU6`_^L2_gE~vu;Qvyr&kPG)~U`Dr`#`9;A-~^IW~TX7s@+JQ7{Tlc3#@1 zchhT#&ZcMS2wez@@Hk1+WX81RBcUm-PlBQwFG8Id;jW*Y=`)imMT%&MXwU*r6y?nN=fv8U2 z>@Dd2F?HPzL+NZ88dvcWx1(*_>g%8CwKZiQ2uqiHNu%1%!nOyl_+9VMqCI1UacRtE zm%$Ysef|88oMOe-$Nqc{EPSD7t&4-1od4QxzrgY<6HP85$*ldmOYbft_cIxOT{hzi zMgM=rjP^cm>d&m<`eRC{CF{um6a`A?Yx(FX&Qqh>ucUH2iH<%!+^JiCM_m$7&B9(s z!V*#Hl*g{Hu$bU+wDH6Vyu{|0o0w?ntO3pp7a_P?k0#?K{wb;ey=}G08l8Fga@NT=^TghisLB=n;3NK{sld*`B}PuNd8VeH3#%hG59 z8%5=fw7nqM-tp3ITH<=&ARi-rPXDdpL^fE)wsOLf&6j}F*2;71i;4K?QON1WgDe*FNHp!+s2Tn*_FI@w-wnxYa>00-Fl_vpPc~L#PYM&k;X!!Y*$+U zb#z;@H}5lzU5$do)fv61@crr%)a-P8B~W$eMaP~B;C7(s+)G}YG*PA}5!*z^p4cm$ zmGk@`*|1k_`C3+z`_^L&U?8rBKWcA8ECHMDI{Jnsw)6ix$<=~Ka_JeChc4=tNdp9f z>iI>_j>DKHclq2D_;#I3zVD5}u3=r~jR7cEU4>oxTKD|Uu^&d!y#&qQQS>h@{@#_< zp}MX>o3q@?|6z^i2Imbi1Tnw3C?yKXs`pUG#!Br|PZ{zZ={YXT=x`9po|8`9` z4ML-dhmwGpgACjOur?JpiZQj!$) z1P#+csKqB%lTCDLL*)pfO+)M8J}jAt9b=kB(h{b4MaN!<&2xc+f7mhyO8%-EW$8pf zbR~z1wJu_P7Blykr^SWq&VW*hn}5qvnnnkl4eQ1vPP>8dK(vZ}7S!=@eH z860j2sHIft-8~pT`D?7f{{t`8KT;j4{1tUel`7gkc*b2SE_LRag2%@PckJ36l7@}`y zy+(Z4e;?X{i)72u;51FY;)uywZj#9S*)IBY> z4jorJX>C6P`;q10)ov?mT|YnhleGL+r`J3vRk*%rUQ(6r@@O&DO^kOy%8UsC^=_gt zyxQ%!N(0xSvjG`Z#;^XDukfGdc!*kcAVpVQg+fj^P+D9_Wy59nY=4^U4pv2+J9l;Y zmkjsGANX1NPlyr{hRcVG_IB425h^I`C=cl^yn26AkK-CnTh}K)rP4pVlQQv2;psmN zHhkS|+Eg7!7j$#SUBq{Q_dES*5BUM3IlE4@+yNKyxo6HL)&1v^?|!3yODFM@Jb`iz zIpAYW;K)ustJ#B*U?cP{GgbXS#bB;4+~HKA}fWW?ygD*w~LJgGHDkHcL;4Jiwb-bSVHBG5vXOf*}zG6WKb)xiJ6?=aIzPVs|aq^A?o@u0$j@{m}?PEnPZ)vq`O zUPjwf+W0iCr7nNn&!JuBI}Q(=n-)ih?*_`)-1X9LlV1ac{E zfIJURhI4?P=zmd(ZXgH>RZlhSUCKvV=q2Tio~+ZaQMtsPd#~u~Rj}mH`x>DxWxuC3 zkSx+@T>2ui95U+8wW?tG_<{43RoB`tC9$dI0Lu(1tipZ}5A*Fi$z=l*<>3P4=B70v!R3&Lt{R`;6^8NeP{uHYyv9p{1ob zmV<(g>%408>7D4^`_<~p@0vWYa@Bhqja}PbTapQlpJqnip3rZb<9KLND|`6%&SPi= zj}82pa72{_Rlj(;ySMdgu{Ydf+HR1uhsRk$jn$nWVwW&vxXMTe@+G&Koza)}X;sIERQIB_+26s` z9v&#Qfb@C1I`E~t2{ONbhme{uI=`G%^VuyyL67uV(?nd(?%3U#@huZ&I$D+{mT?7V zfXX@F?kFf6ReE15wp6d>$Lmj<&gx4EajYyMqWn|eA(wY`T9S=3WeMUD$068h_(hVX48~R8;Q~hPS$NH%8u7ohY$034eD#EjM zD-EyA$BaU(q&ddb7`uQWS>~2Q{`RrQuC0Br2uQn!>q;r{^mY+04~?Ee1`9nzMhHDr zy*p~7-|JTwe7|LBWX_x=$Z12>s*|fG#`5TVOlw@|P(6fHd$@$ohO!hvm_z&3s+}N4 z^$-*+oZ&&j+kgZ)m`7ZDu$;K&Y-eCVRH5DwK&$aG&NfD*w*9QmiAc2Djk6%s#Ta9znU`sQ=*kAV+jTpkwZ789Qn-Us))N1 zU)fV9SSABQU;?W-7WF^?g4#h@VXiHyln85`a2fm|F3I_!mC!2FbBF^990E|n4u#@C z5{{)Db1nRTaCo;i7Q?SJ3s;wtqhwh^*127(=1P`ln!#Rs*+GwV*9XpT{`~pP1)F)2vi|U6*(LVRdgH@CXv)9 zoAH)`36;T7ya}MJDOK2pD)^!-wd)d-jz-v3tO8&ZnrtJET*W6IB=!a}AmP=7iZTVk z?qCF~gB6P9q+80Z{#_GU4;`#cxilHRac3}zHR~aTZ;5!os-V=6$ z+ZDAP%6`uNU{*roFjt6#r-wECFL#1tLYI!UB~XvV* zZ#V2xG}Z!2>Fs#AR{ED{R2n~S;?w+;GbFN&Cf^tc*eOO?dqG8M1ppA{OfCJ}l4aEU z?fdh=fUmE*HeO-rPpsJX!U*QlN@RkcodGg{YjRuxAKq2I)8g6OTl09Y@9=smYc@RT zsq&@Wf2H*rf0)EL?4l+x%LtnaNFh2_&d~Kkc?;J#@1C}h3zlww$<@xHUk$snK2PGO z`wO_S)~t!$mQFv`*kRJHljYDD<>Z(xmjF_4c-h{<-Y!&q0IWFbxHP_49V7-v@Dzqw z1iYWL5`9F0LpdoS04V*9!!FPl67Ya>dnoiR39w-fMkpkQ;upyw?$Y32qs4zFqJc z^%5Iqf0osU-*9V;<2S-KF$P$b)gf`sji@Eyo5XGmftmjjPW$cr#fin&-2yFZx7{Ts zcXA+ly2~0(L;@0`H@lxPZ;%H3S#cPRgaFB|lG9g1RNq-%7yEzY`;FUYoc){qe=Ij} zc(Ay+eNVO~{v79HqirD=T|z=^L{hFWh29Nw?go)L1G_kALKur8VG7bjob0k~_-1oz z+)(RwVtWQsaWxE`4Z584F0T6cBED;5M&KWme4~PB!~Jc6Fd6{yfbpJ8e_aSvlu=Q| zQY?fB#kmps=1@ns?3pz>(A%QFREae`06>S1vNeYAs8RlnKDWwZz_4rh!;l!d0F=lI zWLH%LDzU(3Avk#XuA9``RQ`3&vw~j!J=e>)uIMhusxTz0t2z&;Q(X*?D;Tb>nE^xP z^dT?eKi~TblpdjF)mZfeED<2p7?KU|dQd#mTl0qtgCtZ!xDV9$HEn5JmKr zNUS&nkmyi6+}cq5pk^R~11L@8typ%f0~g^C2c}mS%95sP!qU60_-zNQy|li+$hmW- z1N8uQ6wDhICt?&s!8RcTT*DpE%$#>a|H$pJPw#)RicG?ijpOsP*!2Ux`<%tB3EMS{ z%D`-c%#Eg8LOtDRWhL@w8a@qFTVI1vS3*Kk$03MxJYoJ$I%&?r{b{sk?`9t3i zaJfH$+`h_SrGazEeYX)Rsj`~-W8ztxW-(GT8O7ZALSb4zr^u zg$y*K^fCaZG%9{5Kp{1-=9_Cn?X{*PH0^H6R=#RGqyVa!n=4%}gjQBIZ@;u{Wq292 zpIk_mIehBvczbG}QQADzdlcwjL7z%EWU~xtp)fhwzXZXoWuPg6mDC`7*s5&UvvbND zL{{218ZqV-@M9WAZ6jl>i*g5mAX8hk&eoV=A*v26;3!8yq_u@B`3aR1)X*@BZP>z@{O8mIYjLSZQ8A5ZD2nLy&x7L^s%Frx=kTILNQCSQvdlW)iAXH)I z2MtyXqiM3}2F8(5vay7@4AWB{cBDFcSeY`&=06)usv0qa%8|J!(MG@--%Q|&_!2hc zmUirH%Hx`El-44%kAg^Rtv$H369FEPZAu~h{&e9j2NGiJa!m~7S_<<=?Y4AEI< z%eL{6u#ohv&J~$rW4Jr*6yD-;8Y=G+gs=n&w>7>SZirU`?`41=V)RsX)j5OpmYTBC zNYq>zvjhN=L>WstR3m=t9F4#f)I)g`6bwo^@rd_rt&FX2qfv`!AQqNd?C<4L-GP!` z`r8TlH2Rb!()r6FZmsGaPRr6vYu&w19c;m`GN9-T)8b^BpR_f> zLsZL-Pfhk1fuLN9$}1d!mqwskg}hb6O@*0|#6<#Ti=k%AWDbKd_smo;o`RjVC;U3a zY$N`dX%0P)mbc%twtT(OT5xHbh(ujq?c4z8z}iwh*o4fKauWH|wj2)vQY2&lSj+9( zp}$Fn&yBTG-$T4!(ifY53f0mQ6N3^J-yGx5^N3QcZPQ%~|N5*IMU8e{-$a!9D>uzT zt_fO)zz|BO=LO#ea6MS1)gc2~z02%M``#4%$BOd@2Py1n``Tl9ZG-h|wO!$NEFpab za@sHBwXAq7W+cG*W*Jnf)+L6dDJFJcli5N)VVl)c5p(!9b07S9o9eA`Yn!9aRLx7s z&cDU~UEO(zn_{>+RjHRywJe7Y@HZW^IYgFq2Vy${uC5VVMYd4JRWf82Vd2Gw0Nids zaqx>3Xyx@t!u3(xAy#nrV2;yIot`6%dDs}AuVkE$w4$MKhAiQq2@HG>xoKl~35|Gl zXE~QQos1&2B}zi1RbBY*>a^+A&`=yQTEv1?T^&cE9^EwBkW4?LYq3}#S9 zawq~^rv{G*Kw(2;N|+%MeaXWVgj1zgAgOW4PRid{BlD7cROO5%POUPB5Xn)%PY&#; z0H)~ELpyL&y5woqFg08*P>c?VW^3@)8o+lP)NEbbMCaMm=dGA*Lk8Q9H8p!@Y*YE3 z#`UJ!2FoLNQBH#w|i08Sx+z_D$!(4JlgA{UIW`I*4{E&k- zD#B^!(@WA|zEb)lvYm}D&M01n9q_^~=mAk2g2j^> zgpueSj5wYv6zZ|>z+nkXf=AB|eg`8Cc^}g1(qWH*&Y@;=()}|IoSRD)iwS5%GJZ?0S!;`rU=fUM6L72zX%gg<{}M*t86Is=ygT1d27)5(-rtv8*l$JJ^d z2hmJ+-NiLrX!x9+W->IKEQx3`G%Oslj5RgPu5FMS4c9(lr0_5SfQ)4@C;%n|z;A>I z002e+jAj79-N0?{_q}<)cjsMa?RM?9)~$8zTf2;{w%5Du)y_+?D`{FFfY_sR1iRt5I_P2F~2BkMg_pH;#UX|5kCP1LlAAP-+R@7Zkq{w78W~>T77QY z9h2UIk3ZbFF<8W9?cclG?1j5K^$YrC5iDRa3u`noaMC1+4X>=yh*ljoEc(M@wMDg! zn3Jq&wcWjCB$u#mz5BkF=nr0|*77-FE*nVN#&+&p2mWHlZ)a`0@y14rUpL_w@v)D) z#EL_XII-N5S=x8+N|OcugLisaHh4ak7As!P1O8tPU#rHhgyor*uIVBqo3dt8iFGon zttM&KOVW~;eN1;{lJ9G)vtQe-aaE2x!~0VCf&baJ`D|;y-*oVGHh1UU9@mV4Z(6om zaYIpXoY?W}ei&&t5Y7mF)! z{*8$=-`#$sdxsh#d`*4H`)l{VIvk_R7F#QtN?WpJ*%EPSAx&|~;K@)M<9JIUwq0%C zZTk^WUYxV?P=8KD5SO4Ki10R3~YyhtKIP+&cVg_n5X9Uk5kULB6sVF-}6tB4j1jow%0C7Dhp z;`wl0%d$49O3us1$b0pj`(E@9LTrVqFa(+N5t>Oxs-l|Uc%qf9*;Jgx!;(#Hd#YH* zlZ90^S@oOIM#zik6{4DH@=nyEv`+Hm&rY^NaXG073v|6r=Zwls2&8dj2*(c%^g2_q zigq#~nX)V?t1=P_1bokzCl6!Aq=v67R@oZE;^|dX^g@*o+C*bovZyCz{AJYF3G`T! zF6h#3s~HGJ=V3e}=D;+WKpx|;Qj<$iM75KWQC;V`r>CN6FvEY3)!zxj)COi^n9|pE zTNWH6Go#`x->vVa?}a_d9U`6meUth8`c7!AGFu^-oqrkEb)J=vD?LpqYAVc=H79c> zQ+pn5GkeLLy0UMx%D1PC_7_=%be|8M?Us8ln+;`h8?}O&k}J$pRF0+64*>)NP(gt{ z?P`&8cXNPk51%7rp24Rr`6X8th_7ZTObV($0C(zj`liR-qDB(*KG=owcIsG%m>Gw__H|ujR%wpedu2 z8o;6q*4gdWbn8c$%KHccgg_$L14DA~6Q^5v^2X!`Epyi*D${VviKH5WyBM)jOLypg zCG39Nd>D(`>w9S;qawF3jtK<{0xx)jm2oT%GO89(lNjt z%uP&-oK=OkMASC~l^*RK3$1of-J4U}XEpS@<6xq|Jy&U6-b@rj7fn4KOydtIqBQos zIh!}k{XD~6hD`iCN_ufPk>@PsrrO&^{JS4u-OH4xmfj0LO3S4G@qC&;+$pEdn$OH> zMpxino1__qE27_PYIJl7Roni2dGyLVw|`CBSFMG|bBJ3JuCv$KJonn@Iq}cg+zo@$ zu4upI;YKqDFe{m$PFyXGMjgLd<5!;@#>V|-B86B*z7W8L^wuToP;b3E>5*;bOaIDY z6dc+CEJ^(FKU!bCw)ZZV(#HWtH#BNJIMbmD`-_zDYafvhs&um;JHIpy_DTDyvNpCXpx`Y1)6> zPC`3+Q^8jw8LN0q@%hWz4i=h7jnnN>hGV|}_DXLp1LfC!7p_=Qz4{r`Rn>aGD<|No z$Tg0#!>RM?xvVytELY0_BU&io#keXXg;%71N7iEMA81%a>Ez_OVH2dm@8}n`vq(J) zP8wM%#Fl!Nq`XaOQkse$BM(&sKTyHTAQYt`?L;e!NH0{!v7_(Y7;Sp>NHjP9lWJ?J z8UjgL%{kN#F`}|{RPpIh(fdUILRCBuXzeb!LVST#&@<1ipFei8Y#aSre`#ZLl51-X zL;a=SrSxSUc$qAnm((uJ)I>D)C&2n-CAgcLx-H;YXfB=4qRYdh@in!5H1}Khx@yh( z+P-V6CGCoPw#~B2XSePyMLuP1&VE3W1Q)6>K(fC zo&WWv&irybr4TZmvnf^E+jp{DewCPY2AyXEVFWTgHRvDpn(7^g#g?j*bwcTPOS}Aq zACAnHBIcLa+f@3g%l3mjQ_;@o5v`DNY22B9J;f0m?G7$~YOQ()ZLLm)NKbb(!G;N5hHAzPfrYbDi_X7kHz_RqdT06A<%;~b2Q67&|Lx7b zi>3RHwgye>`J9GRIcsn6H;amW#!hEk71Ou9H!{9nBdt>rHtB+){db4bpY$jGuk=2w zfBCGGoOHkt^Y;GN_w9X_ibJHp{mbMdZBfVcajGlgGaWEQ$WHOxvRF&? zEqzj+)1yNy-vs7|`YW1a{8uDFMpq=ODWla^y-k}*D%eP!)T~bOYxQg1i+QE>-!+H8 zShCa87YN7C(DJKu|Bd5a!YYGy<|OqL-8Uu;b5i{Qf8|o7zAN>jtA-PJHZx^E#@{(H z3sax=eQejCl6$^{MC1F^f69}zw;X)xA#Ca#9D-`%O%4LbA`^Z7^2L-%vN@8Gy=Col z-O3Sa8(TD2hIlgiJ3iHxQvOi-7`8gZhv3ccHmkt+$7UbXY1~ex!522QlivRDx3!T-sQ1^NJ4}C7 z(&?%=1cHk`5ln$Wpy8mN_6WqYxNiJ>J~mg^GdV8B*RwPBX1GkmzYy*cDC*V}CSRRc zT8|sOZb)Q_)!Tl!7o+1}p8nl_^;hV%^~#w{pJthlrv*tnwXxW(_(%m(EeQ}%h|pi} zuB(gK;zpAF%OZ_r6;@VT$?OlSo}>7S_Kuc1(1%cQ{6e=%q}QwI8QEB;@^*{n)|>>a z=MTP}nVsZKz4MFq;7zaLInhJw6Xyh^NI6(w{tVV<;_FpQwRLCIyaJzX|u!O)81>(#ksN>d|4eCNcOz!D68Lh3#<9$TO%F+R9fks-YE5sbWYMHxxHWGL-? zagQ?i>#rLU*$3s=>uXx)d`yKeJB(k&YUtKRG&9`|b=R6WAs9o2v|{IDn;sz*mLBhn z^LkTp^U(wqkc$3JeRaiKyt%`&CSLw-e%>s-&a?9wj*!Niq{a0F~HJKE*NoA zR@d%~DX!irI4N&KX&s0cC4>8$m%Iu(qS=#HT8#6uadjjd9~UIqt+djs?IU1Xy1F{d zDCR@v;+!ZZKIm!-Hb4|28nBHu@j@{@qVrQIF5~r--DC|SAt(@qdLqZe8>a9a9%V!X z$m)qpQgzo^^!dVGhn>uR#!23H)UCD) zD?TZe4B$jWnYUv|rC24FJ2GYaSBd{lSfpr{$IvN`JSp)oUMY^F$4$svFMRYyzZEs_#G4rot%sJ zrWA1=KspjMcs)_E7}~1~%G>`!>v2S{s#x?)2h0^q9w|dSSo|ERobOMu-;r3t(x)}< z$l z70so2QDTmN9_LM?_S;uivkXh(OfGDtA$~0Upj3i}i_TBp)Rd+~(x0%;$kJo%z4B30 zPbii}$6+5ke}oka@ltDAEs&V%j1yq?PCTn>E(4bZ~Hq`$~{h#8eQ41R7Vxfe%elWy+ zsebFK#rmlgR$DBVL;pPUAe;t6bae0zVX+tzEF82~3x+HDq_nm#s95t{0*S5xz@r*; zff>~0_Kv7IjAg7_V+ikzDKlR=Se^x`EetD-q`?V_Cs`nmmZZKYfxF*DKc4SkLnZ_$ z|Kls8+%oz}-^E+;C$Aq}>@t%^#IC*rQS5k@=lWQDh@;5wdG?=T=c8pffQo|8h}t6! zIF4vwa@LB4Zc6m&s4#am#Q#90DLkln4I0HVXhUmY7K{VIv!)-r${{HhLvG~*VT!`g zQHgO%PVhQC!!ta0PEt*HD3&}4&UCR*sX!m+lwSDZA{gHUqwsRVip9SG6g)zbm9b$2y)s}lf?mdCd&`*vg}GvEL=F>t$$<1AjFm2-CSJjx3VrRP|2BKrglX5K1=Kkh-`_x1Tj+>VfPjKYDbSi5V7TFH-+`cIwOAg}uD zRRxBW2$2mCkFUHcEtc>og*}1`oEt(B^?`lu+rH<1(dx9{+N}I-)u3xU%?}Y;hLP{E@$eB(op-sC$BN(DJ2ZP-1?qI{JOr(L3R1D)rR9d_j#DpnP))!(pK)h zzo!3J51o`k-h>E7z?d%ekBfuoHlYafYxu zq#9L-LG2VJ90W7ipalDOU5^-hB9dxA0cQ|IrW!Idfk8o^0}}~93lt@dFt+P)SZ%rO z0~J8h0LeSmbVxjlal}5sw6%lYdEPFvRvgHpw;qlyk>jK+tuI9A$&#c2$8ik^VF!8V z9GNeqz4XV|oNU6Q)K_Z*c6-Y^vbqP4&eM{R(2#2>ssYzTTo(Qeqz9~fK(UO^6I$AL zm5P@9o?Ng8<)Y#YFr`m5tBs&8R9uw9kzl>=Ky{(d0dmxzU|r}la9z;2nO)!qK)Ke> zKq|y%1ER7%42*L92Brml3{Z;s8K|ZE86Xw&GhoZ@3)J8uj)$OF7-|W>fFvr^75q`= zHRxV$qa5SNO^)s0%U>klD3>&6uR;|BtZ<*wg|8^rw{_zZ;AMAJF>=)v^}uQ)NFryT zIro%0GI(Wcm?dn!IHa+Z?pU!K;{WEhw;mjpS5IpS8Tqh2dyNlzd_rNdoqzK5xWBDj z_ukHQxi}okgPDh5H8>$h+q#42~r`J2BzVCKn>$G zs6M0`HIu^Y02#H~Q{DfcW+xp{q zs%;Vd8d~K{h&Dt46*jzSRQ4{7ZR_Z)p2liHtWHgvpeZi{zdJ+8{Qrhs@bfTQADR5O zHU06gw*Cj2lxQI+Dt!i|`lRs}{+?h;qBQqy}rG5R3$1K zo-Z`OJ|~aq&9vFlTrw-8@r<%7Y1)vt&{7+fWu?|ubyZdpy9V%LAjFV*d6v@lS~&!x zsV_D#Plb>!uogbg&$pF`@F*>5rH5w3WwO#yt6nD$t+bOc;$nJq2~jMPjHAGaDzpA|2d3&;Z?sw73&Xly23)~^F%Q0*cJC9g2>G3F zZr1=*k!hFJw^`CiD9)qeLmQWODxxBrt5Esdx31UO=T{Ymy?1wIiC~?nDxM**rnjhq z;Hukx2L-Ys3kRhFYqx_+;=-tF)I@M+kl4T0y>si5CEehX}(PB!L+ zQQeBw4C|3BHAb;zk`3-AXn^#XhVQg2^}>U$8zg2;J;GGXrn3t#0^B$U=3ZekG9-G9 zoXtLWL#!^#-FbK4ANkUc`R~qg*6kE_@CyyWk3giXce;xKW_?1Y_r zNNY70_QUO7hOIdQkoHQqS5fWMs95c#cNa)BXHY)|<{of>cG%jz_VHlwPMK`fL76mV zuyo2Hx=?7~h2jvgXP^n|fMk=?!g^%`#9UyDbo)eTkmZnaz|^B+_5BudCZb;mfKu~k ziz#Q(|9x7+FzerFPe=U?Or%rQBObJ|P95rVE<{vd=MbbI0oA}JF;=)Ng&|4+ zNARB(NfvzIPqK>v_#_O?!c;io05wdq7Wtn^S+IU4WXWHf5_Qe-GSmgUV0!_tgI+0J z8cYXCj}=j4@--%r%sVfnG{6Ri$bL=IQt09m=^E-N2&$&8%8*Rkv8cI9(MWF?bLIY8 z>hwPY#^;4L7Uvy5ji3P~;|nV;@F*Hv14KN*ENRyVqVZ|y1}BNd@KCKw2ip5AJD@Jjpo|ls!C#`|0G44gG~NYuqZ)UYtJK z{p=zxurN`T-9<5B-z13zp>5HT1afgh%s5~9J)G(&%}>p1G>r+tM6d&twa4Q=P)+T) zyRJA0@}4q{sR1exXuvc3G~x@_<&2=Fd*T|<17#IZBr4+u5SAPozqRXh0I%2jp9u$i z{ju(+$BuL21GovPrG3*D6R%1i1cUxQ_*j6{mXkczJ6rM=Hr+)ux#{#he7kpU*E67X zFV_tfbTtT_OjPR-mu$OsQSyo!-~oH-YIFxGPtu|G#sEyg2Q2s3`Xm=MKLZW*fkGyz zsfwckmy^++<9Z$0)k%{|=PGK-D>CWywl8rMadIjoymxkGPI1D%gpg61nW-w@Lojb2 z`j#&6JUTVB1XIW_I`#!$cu%PCh6mA1T>PT0GV3NGtkbHlX{0l8DtHvk>$mLx#pU|S zz|(5X2&$7~o|bsusYcHLYNQ6NP|&!VI~uJq@0g%m?Ra2v()~Mzz3`9a$H9+rL1~?W znvI6~0zqIC42j1Nm@GIN5T;OM{S1*|F;JSZfGquZW=<9vjSDAygYFsm0~b$128wHs zC746VUS-*n$)Xzq?V2l|_FdU4Hjp$kluMK4-FooHKr^hbLm-Hp!-9?rrPfC1leBR@ zB(1;EgTYW)jx^#p9X#%(YxF!xh82^vPSAl;Ot7RYh6W|*2E@RG7#Cd|pv{8$fvM&A z1C+;5b@9|d^dA6YK%Bn-xewG}Wid9m2s;`A{K_?a22@7RfQ;q?qMkpDGW!g})Mhk7 z1beH2Z8(}#W7%R^+0SLnJ@>+?>dTRG!pD#TAF2$W0oJ6x>GBW%-v8dN2j~#R$JYj8 z-|i`WT!8ZX9<;L}-RJJ5C<{T|^u649KOFz)&kqpY1O2=>3^ZLaMB>4e6o{#=tz!t{ z!6=3M8Kf!LlWCO^af;M?H>3^3L{>FsNx}rVYMg)b;Qm_b{9OZUW@7~DWp%%AfA8bJ z_;SCgRRYtq{pRUVPN00?JS`JC6I75hB?J2aSP&2c00RIsLsd2a0AFMs)c61bq#_Pn zlX>rY??~cyW!+ZE4_h(=GZ7@b2bAO_JKKhE8@ICk`yeo?uI z?YHFk+tmr0_!7VHi{C6cfCeO%SS}|_X1FeG3KMgtH-^W!_P5#?b6juL#^UPY*P6wv z_^KWoSuUOpWXL%d-|;ZTjmVt}CL7XT0e0Gb(qD>wu0cfZ~5 zes_1?y=~KW*KOD9rL?;>*SfLS*==`JyAhy(AR8pGL{Jn7Re-e0qOnz|5MToVl}Py{ z2+AVj{I-F{zx*KhMBoQ?J-5A+_pL6iuK3>bo^AE^HY{^DIQd(Bo4x(Ey?6V2Gj+d? z>GyBj&-iW)H%?+Q5$fiG$v-7_B;<`Qm@V4VFyxRjqEPwc~2{Vhh z-|zlR;Njq=i@HOZx@~KFy@`Jhn|$u3Hkxnw-nW|!U~%B&kJ*9`o;;3BC_m0&b=|XF zT0}LUn^oU`7AD$HeB1ZNEp6l2xCHZ|tnY2n{C?N&W)5V z@4GQ>g(&X8<8Ix)yt{5Fo?UxO=6kPcySBqd%S9UjXE=f|VdL$OjkpZ%!%VuarTOjO zQ)63a8u-6F zcee%*-Fr`2iQ*c##wNiXV#>$U4HVb+Tnqo+mHbIyUWnXzTZEJ}w^E6` zpMft@;Jit9$n=r74c_%&9-v5ef^mEw3m|Z%yk#@y8gS-G;Pvp|J9uqFuBxE?Z4~a2kve- zwh!kO>)?EHtTlfhPrFVR=}ZttXE$?sLr5hdEYZ@l1(0F?krVRJ)9?ce`-?{jbCC+x+{sNTq*fiqSvM2;N&x?ZJol)hPY+4vXZm|W^nmnpXM$W`GbObmxqYn zpFBMogyn=-4z*LOuk-)j|WNRo{j^YvxRcLw*)*JXNz9Ts{G3=t9Ca)TRCRpO)a+g3K!< zQZgTkEmVl<9-rBG-=xBVa78t3ioY#U$K)H?LRcCJl^Ic12?Tv}5Fq$mJ~P_EQ$|JS zz_k#GLjv>HNVBQ3wQbxvY}Xy$Z&G+%WYgu?IfHT z*7V#ZYgQ$oYDuHUL7@m912K%Z z>`gm)r#DSwd8e~Eg3>KPp4HW%4QwwY)DtRs!rmA1JP!L*x7jLraKcmJv3_HSolwtP zXmcJyG)Xv7L$`#REu*Rw8mh?7RCdOIK{Peivus{c zw5o0}SU?9I0C*J&-O1g+Y|fkxUBcFL*I8*UerG&Tz=7x(tT#02f|I)twBqPykDe8V zlLoU2f34<>PtM~WTf%e~pr7j1!=*I2zaHw&0>^%PmcHkGklXBc}U> zYL2P2bPUd`MQR{Aj!z=Huj%}r%u4$?I+DD!g9lK~T$#0%ytP!@VQHFWt_!}=-mX8V z>u+YhB{KYHzp=La?&nRp_-#eYjzZ-a)lSH9rSrd)6Srfab+=ind$A=IXh%TMv}bb} z25$?l&tugvm_hYEuy?Q;-x7aY4FfMmfl{u7J6Us8_3^W5`aT7e|w)Sm3+n$}d z*R+j7LN?VUH2+kqUBGVJwanY@=J;c~iKm&K(2ctME4)R z7T}~yw5irRr(PIN1BRlEt}Sf(mOHEMJjP$fOzgaCdePVs=)Z`uh@w6H`R=`GKmNR* z8&BI@#sR&=KHziKW6S3{Hq+IBu|B5`j^=4iH`9ewt#%|7*1s^_f6m6a!|3x} za~eS=q}R%O;96i$*lx6y5u);&7$Guh;@nwLzv4%&ICr<^unrElg&LAMELgm{eUnAf z`15Xt_|x|GHcOkv4c21X?lp-nNtyoVja;%l|L=Wl^AW#PzT|a6V4mOW4=nC4{c|^s z)mO}$0pTLiX^nl20%%oGIF|5r^v5PoOX1JOwjIZsFQdg@uN7BPeN3B=!dJFa)jfz`W}U#a ziX|1#t-CHTf)9P>Q>-8QSDv$3k7H-Fy7s}V`>ic+hqAMC(j!1yDBzp~ajJw=qvnu% zL78R!&w{91qJ;(~zU`)PLt)u~Y4r)ST*JN#oOr^>w2xq`j?l?!U$EakhHvPJBujmw z$s#f>L|dJTcc~FA3}svOh6ISNI$A&`CWwsn;SW&7Ah=}~srh8S@O+)yX8t)%Uvs7S z_9M?P>;1euHl~h*vPJn`{;dlQAl4s8cFsnHnq1cE!~WH$Bf_Q>kDK3;S>L|77yH^{ zGP7aI`$;E$l{}+Dg&fsQ$dl$L>lE~x7P?PTS~ELY*S|G)M{j|yAkp{RvTr-~q(f9~ zp_k@=t;W`R9&lpQ;Ex^L>S%XA@n2z{>H44aelMrE^ws@J_x8dNR%f<2js_5OgJnvg z|ZI+@s<4_|3*4LC#w^o{_ zwu#k|j0+V{e2R@^DvCp$;l&A?Ft4d~4tFc=t&LtL%75z4EfF=Cx>&qnWj;Lw^77a^ z#fzHSai`Y}aVYNKfW8i*sPEwPx*^5#rUq4O=b+b(DI7LOb7|733Lfqn_prXdJ7=~%=eQer zwj%uYwDSiiLB;gob!n&I;S==#iAe_=hsU+uIMp{%u@U_28@n}`Z|D8Cq#x!xJ+Wo= zRL*?!+mA+z&~G6kTr;N+ARnvTIs@ZrOUL6efGBh*v_bEgnL^cibF(wEGp=U z{htbc6^GW(90{FJi3)9Mzlp6^kwxE2v7ZMlpQ`0qHqZ$k#YAqZRqRpJZCudA>RmQ|?Y{LUDt z++R$q2paOa*zzF13N4(*jr)}uM*e%_wbLlv56uXl@VlgT5G5LWpahI z{3?XL{-L%N2-gV%??j`W5MKH__1_tWTJDuz74EHrCXZ|VNTpeDp4KX= z%Sz|Nzo@MxM^i$v@ytYch~AQ+Q(Cw}0dC(bb#r9Qf0XA1}j{|9F;k?NM4*t%XTh5t!I;(7(Wwg`T zO~uego1C9gwSI5Cjfd~rkElboSp8UOQ#g-P*%j)EbXCji7`)xLDns^2)%C!nh^ydx zixz}H2jTU5gM;W0dq7cZ-uGogy`UaE+>`2cU1!rDkma+OS6e}IDtb)i1MyEjEY4-J zVDr=0F$Ldmyz7y|?QhwbdE)CT<_=IQ4Gr`-KyV1)0I$+)-0X(wa+Rf3b+|^CV$quq z6iZL-*Ib<=_qOjcP@fTgEs1@Rv*w{R9L5I)Gs^#aYYJ}}!vftBH5ua;B1YZ{Qe}vm zj>*QAkcdB>=R^!JF=B`tR1iZ95zkDV!BVy7!I>CSLL`bpB=o3BM#az^ELG2$9<%ZN z`5$TnWN^g)fn*4da6PelO4@5}SqnM74a?peWe8}hg{W-2Owtq?F;WTspd$t)F7RNY5C0#r@P2uIkG-W5q_n*t#oOA$a#C4+)j6${}T{{p}diHEB+lMI?+9xBP zcgF)j8=N>Lbl#rM&GU0Fi8(QM8w9cqpa&%$mTDnDkT;>>lChYSk$Z9UKMdMI_{~>>Gk{_9 z@eKK%HxK}U1&4fAem5o?ZN!bSh4GRpp(@dECi`qh$X2O`CC3s%K4y}A>1g; zE6cEdM8hotdXusSj$)irP|#?w>|_Ul^IpT;BFN(joxPVsVF)XGOr;l~>iQf&z`ww5 zJm*}V)pJPei2nSs&ML~t3H zEHvzU4i$O?W<}Wm)klT3Mm7Rg|NlIfgGTFw-9%$s2wWi)&Ppa1aPPal7LNSYa_`3e zgWB!vT$(>ZN&fbWq{F}Jd+szP>Xdc!Ex9A^+AM8SwlW?fah@6BI5?qs^zGVgt#+o1 z(p>*H?;HGacfX@W$hp7zyC<%r!1Mk-mD{H}rO9XWjd$4n#-bA~L`%-cPcIJ+)yi=> zpL$-@Hq)o%uM6#8;TkzVT?MF|W1(`BYDyXq8C%GmvsMWhu?bj*{!8s}D32;LL!DXQ}+>xJK^M@y0 zcnAXM0NaF&jT47++{nHl90^P=?9yjYk>o~ubB+6mV^Vi;biqiq5I#e67JD&Z%DPYfSOJ&GuELW;0Qy1R6Mq zA%pYwb$DA7-e>MW&r0#orf2zE9?qpB)$B zb;~-5jWn>t;0@DbwCx-oJg&xTsV!K+S`7MH2pFP$QHxs~lBv|q;e<+WbC{Jh}kZLL;|V_jU`kP zBDSh~uqq|1FZFMmC98azv2ed9CAH(=Ey>f5)2wJ`Oy5MV_5q8GPmVpFM_#tD_*rZFp}rbSVh z?Y^jYtu(c$)HRKODpK=Ls46wwtM^%I8#8(`T3hd_$vDu-QEzJ}^?aM>tCgB~L=h#! zdLu*xA#C%vl?z-m#u2Rm;v*tF=|&lkP+^|v%)rJ0u!(V^`O7pmPB(B0*H8zfMu~4* z+`m6r#q%W2aVM=1n4D?h06`7GeIB z0U$%?@=n1mhALl$##ynr@>_^s74+=?Kl3C$C0I#0Dr_yeoSRs!e6g}BHK2qGgSZSQ z+piloyyy%j3T)VUV_f$P!mro}icCDfeXz0PI%vScV-w$$ZUE&Wof3%z)k9+Zas7jn z!iu8-P*e-xGjV5dYen(Y1evNeK|ef`k=r}T%>-qt)lsqOvv4pI@T!&!;HZRjfKVlb z1yCgjgsMt`{z&!s_D3PDC54k_C@bHgY?zt~qB*5^1SSIWij-|V&OC%b$wh4(0R0)kNR0)wERm_b_IAn(9KS$i)e)PWl$C;qv zj$z_*3lX~>H1&uM6RvXzD5_es98vH{3{L%!`tv55%M26-bQa3rsqu+1_*l-hki<^C z&*Sj3vHr;ZaV<3C${P{Lq+*EoMLYP{UOfDa!&;~xs;ghYbLDQY@8H)#cK)f{>+d%% z<(2YtzcjKx6Yc)C_aEm%20PVh5AFT-hqtsnKR|H@zk@Om^v^3pW!-C6r~5L>wR1vm zp~O17Jo&u_a;vB_{J}f^xc&w7P2e*AVF}HYl_6|9Z=X_Bnip}*g^;OiAxw}I1|27I zDXh;Kq8%NMU}O56*pL{jx64Gp;Ktypgpnas2`U5C6Rd_IGfz6dpc4CIW|GFA<(f|e zqJ@rGx)KqDFm?9fszl6)0EuG**&?MjEF)PUKwukytr$Xa+!?0iI}kQz+azU&58JO+ zs!F}+qzH~>$%f|+^^iT?os!O`<0_#gjeW<~Eu1w*t93X{DTU($R9=a?b?jUjk<~&3 z5$l9rzN5^j1>u`+p=7_>z18twUk6(pThMV^h(x3c(W-r~qPfH1V{La-OQHW|qqo4FM5guOb`Nwe~f`n`=P^#3;0-;LO zET^i;Q8g zO)#+ftPdM81LB#v;QTQ5*3W%2erS&!Zh=S0wX&L)b2UwfYE#pH*&Dj=Zg@C0&CedW zr!l3KQ2G?mY5m0dvx$o%n$&!eD6pt*qu!M47dhNao~ zGXwDbu+=i4Vja0Hgl5-sO(*dGLrD244}`+Gs>)6n6FBsnknG5g2D&hG_hY5$xYrNt zUoBgOrPh`#GA%TXyab~#MB&D4q^_;jbx*tunc5pR&s_Mtp{#4Z$f8FWZo0N@nHgBj zo^jxs#zKYh)U*GcFrB?uu2^>fKoAfF00aOsbVnrs0AFRVmaU*w!Wl{%VBP=F-73j= z(Rc&mqLT3iAMQ2s=*9CY&ies(GXMQXPY3`;hN@@)00sd5Ze*QH_vh$Nx8{v2EsMoZ z6-yG_npMr_-^?ZEG3HS?>D7#GXq4o68zkNLH9%63?%swEppd#N9}XcMR8l$R3^PK2 zl~&HXC&9|f>23oxtEeuyd4p=|#*8F2tF~rpmPktg0F40I5CK5G0k-wu`}M6`zwUN- z+h%gP<>r>=Zp~)Qn76-XTmVJ0{A7S3NMIX7PC+(=L?SalhCoCRCq1aa0vX~U#0&@= z;U3`Q5qS`5ijHL^I;s|wC4+XLtgoy>uqClBJ`R;fv+L9}tkm-%x;?(^JT?6VCA~#I zQ94Cg%cnUf|3JmWYSb$9>O&RNfV=w)@83we>pT>GEXDV(ufck%lDf+LNC~yYceat3EGQt( zbq7Fd-fZr#D&SIHVN~eBshia=RH`6!jpdKd)%Vc)^We>)XZfj7Fym=}Tfua#A@qws z{=$n_qqKOD-pZayxtsfG!3+X|96U(r*M!?hflrPjNh#G)7wad8qTU{@rnEZFH!6y? z4imSq6(Qf2P5r^ENn2HSuoaCy@_cB2ixm2s-K& z_G_bPt(Ty6$Sf;Q_*8O3DnNSYFvvuqnZV-DUHvx7B*G}c(n+(^0((5wev%5OP}o}} zF(IRm4CM?GZyqvy8GIb=N9vCodqxcYo~>K=)J-i~y3&36Ga<(wM+J&|{y^hkMJ6iW zqM68{gkTeq>XmPbfD;i1BDYW-{r>#W)auS5s^4!#Gi=6Q(F?!rJ%R9~Xenl^p2F3k zIwFLqK?D>IVpM*LLg*r^+(&K6G-gvZo&e1vx?hD z6mlh@;-w-~q7g!m5f+OiAtaR`wF#f7B~0?lNo0i2CSqIV5#U6kmQzr8X-WR6n+fVq zKjvR?F~J|eRp}dN&{?R`PIB?_#ziJ+ViSQo6pF}uU@%?q^#D7 z+mW+{|HYA>zWie(62u2@t$ve~JUPqJ0T&}w_GVSLcpyD1#U3fqfD_@rCF8}gThPS< zkVYo_$QNk@h!zkw93eq9Vp{Ixdcxknr}fy5{Ql5&a@-*UkuV%1fmOdL|v z;_>x74$__{J>@&G`9_#3#zcgY14TKd8jt5BI=lD8BvB4>)1sn~2(_z}Gz3ji7%{=z zL7}R}nCQ^+Axh{dQfH>kIz^Q!EB)D~Y@(tF3(lAr8Lkx*nzTYqVk^R@g9FNORrfzloi?+$r;QgbI%$O+Q;P?1QZK($qaJ9KfFr$GaXbBDd% ze);k`D-3Tx>^uoSFZJqSVA2`@H+AfOIqJ9>D6sk%39#F55ThI+y1%J;m7Y|?P1(8|Gk()}E=K8}Xtd*^r&Wl_QsVbHaKkyc_K0lmc` zDy}d%Mqinf$j4a|p{R*Emd{TZ<`;>*j*}v}u*`0y!j%w*_|Q82*`$XnCa`Ci>?vNA z_9N(ph^j>06PB5_N-ggulMH{dJi~PmmEu+uVeL_`gkngG5obNC}ZU_UfV`o!=5^ z22X7RaBEp}&J^^Z(6Z3l`_H}tL+D%cKL|KDrHqPh$fd>95)n+^9gf#27EN++Gbsq^ zkGE>5tw(31_|J&cx2jrnLE@6ZGc>S4cn2XvdQx39iIouSm;zs@sd1Y;Ug4y+cX1LD z#-&1o5v)21N)+LEDPMl}pQ)AGW;KcCNk}T5-D(j1csN0N{adGNVm>|a6Lr+vJc5Wh zav5292B`l`L@)M+Ox^)HUrzPpp`)(bFOZzVP7%PgD*;(vTB;UfPR*QC`aa6CR|8u=BR{rWMfxG&C0m_e*piH+aHilo$%S1|DmpvkZsA^gMMCC z($Sf`q~kWSFhpP_#zIp}w&BciEU{*&N>ph?aOBG}<5Om%Pe(=J&61V*@ufU+OhlSS zLi8Sq7;0O=gX%r!OspESeZjBsSWk$oV!nA!9@ISywlqsX3iiJsQWT;mMqK=^tDgdp zjSJ5Vn84@E_d~W#d?ckd1(k5&JG&~D@A{nKVJfe6MQGfg%uuW zI{g8wepZMOhhujmZ~X;|f;e7p1LS^kGN1zyo~J7cCp`S^aBk#}rl@Tcuqlc_7EBc& z3cgL{S!*eeNVRZAAlo6_evzL*e`}1+NXWu(6ztWF`_Loslbo0{iVa91!>NQz_Tpra zU$>=gVB*NO!t+g&Q>PKYJd&|XgZYv?qp{GP0PMqNVrL0IFO#KPwtI5Br6?~(+v6oB z!T@9W1Yo_m#JY%;ZB=4lFlnqx`^F6#{?Nbt5LG0bVzmJpG&q_z;U+g3zXQ{4?aajb z)I8xEEr|JnbMXjd8~8ABPHtv+#MN8>R98}aLHgE5+7HsNbqbd$DZZ4Z#vrQ8EF^Mb zEB}~NmZnTaa`|&Yy5GmETUGytr*I&|{dBR1B_{OoT$C@L9TjCtAe9KHsP5-m^O=H= zsxp~)UQ$313I!Mgdx0*3;Kk?_L%(qBRcE#!-UI{cYpy>Vvqj^gGKD*;&ZNs!>0B) z>{OF%+SVjj;y&eZZ7Q+OPu&0`E#m_scTDUcyzhoz$>mAT5vcZ*DM>t$n4T$6PAm7r zjUm0FDm|XRV&w4a?xWGoYN?VYbtG zMlKIl;Ox?cW`|ZFFXi7Pt}?ZIE=qTNyXAOp#)(~7a4}i5XnTw~3EkA+P>s3h%4=YA z5*I`A$RG6YDa@)vr0btWGB+CpiO|e>D=_DHTGO?NG8pU1?9L2&c7Mw9bj75?(WQR# z*t*cRdb7rX^5F5n5)y1e+3lvBFu=LPqDivJws-T4%|N@gk>=xj_J|Uj+6>n`FVWt5 zVf7{w%k*Xw=7jw7rp3#=AeXrjjtDs;DUQ`aGCaH32rVykf zNj|0;Mj}Ztvi&Z4vM_zxBQw%+2zqd~na%W3)(S3IZgB~1Yo%?+n_MC}XsBEy4T{s$ z%2GrQILAa#AxavQX1sdj@+N0gKR({!61#~dPI|}tZgGidYxd@scsB(^QJ%OSZgGj+ zL=skg;#kl$)(=TXYwsy8qTfy2Bocg<<5_NT2{*;WDWtgD!aHdrA&scyv?NpUl<8!= z0D+|j$1lyO-s!#Vx6_k>ezbvvVkKK8acU z&Aeg0`NfWLrwfd-8DB$H+b0bOjX9e!Jnl^5fw<+95W0Sp;rYaN=NNA`vs#|*((S!Q`9OaMyOrwnC4rf2*e9w%8uQ} zD+M#*8qC>)sM(Pa?>Mvve>|u1Djg?lOJ!~ z_=m>ycR(7)M8{@uFu7PS^Bs?2-ih_HnRh&2eDh_O7ymk+G|U>D2=Lu_{4{wuES8sP zLx8_EcYZ2SV|jQYIG0z;&)2;9TPKBk|KoL2qKjj&neu$pFt`NtmrM4F^9Z|F*v0nd z`}4({*6BPM#$rF+*B)WNA>(pB;~*W{oV&R+y(n2L}c2z?yW;2<^mctQq8qnXBZz&=; zB4r|IGa2R!yTHZt`>&u7&GL{iV+7P~=VMdj>|x;)yQ4Y%6T3_MZFzrN{uP|ps z*39Q`%RUGlY84)rZ{PA7tE(X;+R_r}k%5x)#TBZ^sZf@uy-Bw25<^OltH%F-KwQ1{ z`t*qyIi82gZRZ*{N>>M*y_n+_ZBX2Fy*$T()FNj>8=t_nNi8z}qZY(JF zXU&>$F6Jli%cubZKgA)}x^$X3NrYH)%)UDzYVA%BI+oCHK+WT|E0vgGf|vIE=acT< zSD@{^S^G^=ILJ2lj>J5qgvgO)z_Dam+ELJ>GH0i;4FpE$N*1~-H12-VY{dZVTl?>?X>QtL znSRD}+S0E!KG>M{B_hzStnU?8rJJ4<^oUO$N`B-BcdRtNulqu|*h{>RcnrIBSEyJ| z1~ejxOPhTPSuCoDDJ$w^|9&r?;TzI}@amRTe8QDKyzjr8txp&P;5MhF4Vv9&Dlw`u zIAGP~=6?nODW+fMd%-DDrZ*ivoJE+YaON z?;-W0lp4DD&{7;EI+dEu3G{q=1Cd?w~fNpGmV!C4FUUZs`t(7%Eb z00;0K0G9EDp9-00FZiIajn{4>IJVU*M^)~_`I++w`inhn)yRoF_QB{!HCZRr&LL}L zQcTA`a*gk73XXO@2uL&$0xT&PL#jJxV1tF^5X9?)@g~2ILU;mg z;$4_!0!XtI<{9IZJAM)*hc9UBC1Y8OR?DSRJnO%+jJ)!#wSj$0#@xlt!oU;PD>E#c zxxxoTdulY&vg|m7qCLpvNn<3r-cSgJu2mOSvjgNHpTru|c%@&_o1NH+#|*7oD%mN7 zg>pUJO)SjB#*)kbQB>VP9)%>tB*&%s}VkW%(pO;gMSb;ln7Jx zOdJ#qvRg4>n0u*c_!A|2(PncVftj)`ot{4&cOf)0izY%vI|WBLYYKjrh38?~^91;( zaHT*jN&I`HY9e0JrRzy*r=YOYAJlEFZ0L}@t*cwB;Z$WHRZ7zdM1zm5T-^Mm2f-toGblkD*efzG+K#2Glk`&g#*I*qt3qO+cbC)kPyvr$Quh0bSKEzyaVqMm}M&{ z?(}qFcBN{6u29TZj7-O&X=fA79|a#;$)f>8-}2Q~-`l3Z{p`L@ksNJaF5R>;7iCI;7er;Z~|-d$05~xv5(808|x{ z#4D1z?z*%d3!0?+0NaH%ad!)ns2?#KhwzB+R5o`$UM|nA|tH=PL_!3d5*cHAUw{E zaw07-%a{fvNh3)!_1aJFjmkkx;gcbUqm>B9>rH%gP$Ni6ga9QBvhqxIT{u)vrK2!r zy*~6g+toYS7cZ+OfWnFdK=n##oSP+_ep9p+MRRa%Kr{RT%&8^Tj{%#!Z>AnET@dFh z5yXjYg{+)RD@f12p2`@N2sEXgki%r@5~T<|5hU#H(kFuv7;-krx!DQ9c@e@;F`6Wm zg_3R~dZM7GC#l%DgEx12Y_c8&+%!&MBFPRSJi&44Vm#GZEAZz?N6&#Q95hD21Em#p zc2xPt>K2f326@b3Av?!gYk62JH6C(ubSgALiIH!7t1yEBo$qk2pUR4IWb_*qT{nWuIE+alTi8l7s^>Ot`(o zZtBkf0|f-#WeEVw3INs>6ttHCAX#BRcLD>`wP>nwRsh!v4jB&cSiZ2@Dy_<;lu2pP zP!0qm5zQ}dYL3I!cCfYrf{Md++ei>`SZ!Oga-_l=6lI3#nefM9K}lMO&?_)FU4>?* zYv6<@t^9)FK}%YqHws59(=los^7Lh>*#HTyM99^e>O>W!VY8KLOMS zL@sZp$?0bb$vY%=c~VFs^6oOllMxifH(^<4T3EASlwDSh;>!wA*jd4BdpwFRD`W9x zg|N(J1(xzwK+9Y!B#STQ_H0j378zJE$Ax7ahpp{lZ3kwTZxCeaN(;6-G`oB@3a(cy z*zMr#@;N8wSlm~Yb%@+N3uGcRox;J>wFZX$$Rn8`?~@$~4x44$=FQjvphA{#S6K!Z zZS2R{7Ef}9IpGG^%|O-5GQDWBt@X;r6|pSYi>NCxu8d{LUPD>jN11zKja|c|nc;?J znUe>*yqSltY);_wg`-Vn9>^TwXt$*)p4#9p~4SW*79=TI4Q9Z;lktQvf+5?S^&ek zR!C^u3OSa8Epa}8&nEkB9QyzqCfGwTJQ0}GIY51y2Zj}n+$%U=Jk53fREYFiYks@w zp=gues5#EqDJJ~pY_tR{^i{uS=_TO8(;g;Lenb2J{1OnyGtgBrMI2ou$VrA@zEC z9e*cyV~?KtVW6H52C9kK``~9Wq`NlKN;R=PHg_p1&*U4{6lXxn?!k3-^1Pjmedq7{Co@(Jw7@Jnad zrOx+x2lM}Sbj2GEG6~k>@Xz0DV|}^CTLY3G_a9)CTR%bLqDXqT4gAsk8mft>?yS5v z+7W&I!k5m;C9tt?{-x7{QiE7(-FkKzos!UOyng+jjz@Rs(Kz0Xc*RpdRjbSSKcrjE z7%Z|h8fU|MfFb(k?r{f=CR4x_v3RrYPn zSR5?MAK2-Za1HSr-FNa|i{F>Ad3VFOfA7FbpbQt&{vA-0^LGl2$E>6y#4k*YqK>9aD5_PloP$cmM1O2Li_r z{4`2L*9jYD`D|DFbQ`C){hw;~Wus4(w`}eqeco@d?g(fVNB&DejG}kYkcCBfKSBQq z>7f2Jz{Q>G{{Ez&9evTy0yhr+Kg}Vl;sKB@%>Nm8DEFW+hW5%C)`*r9Ll8`iYpybyezU!z(dPJK09?I4L;+Jjlc67so$njo(bUf1+ zzJg`LIpWdg!<-d<5(g88JWvvM6;>?^dRiqXK#g#0pbIx$O9tMge+r+i);bmGV(~^0YCSgk!w_C`1Ma3c*j0YC4y8ePoxB$ zi!diG4c^d8(W;QIj#nc055m#t@(5nD55xRa6AlGOX?P~19BQhl2!ok{jy*~S>CCax zOAdUKio(AW{X^}1rYX+LJ(DN7Y{lE^k1c8YoWAgS7(XiqvBfj&*}J5n;p(3IE!yp^ zJ7`rO)_Ffs99C+#JUnZ)HZY2!>BUR=6slAW)!=ur#Lb#Q%Sli)pTrHH%I_eC3^?qx zf1vkd8BBzFs1=_Wmn){;a|$1o2twf@#%erjaOo+h@vCdTstp!Wv(NE`4@!jj@ZH)v z^J&o12=ESI+^igK%Kv5y(|a7C2se3z=sYC_8*0z97!A1C2*+QJ6_RY`&F*I zY1xD2p}}xUCvUbSj-K@M0I#tf8T)X65fIcjNVr~BRSLxuwc3qna*jhBUt`YFe@*VM z(RM`_y9Q(~R~4dPiTv?jr-}Y;g#}l%{|x{|D9=|S41x7Yk8;yangi!{Oi%P_>!~xI z#PL1t;;#ak2nX(!*b@}% z@M)v{mg{8viiZ7{fo}GAaF@U3!D;6<@Uhj9*sxMzGQbE(?v-cy)*r%Y+*|!L3QrKlL;Ad{|As>H zMJDnT3JSo>SIms z_8E^l>Vi#wKlR2YD7PF+f%lXD)Br0i{w_BBzsJ{QbJASuq-WKl4 zdlY){ciWVL-yxqKe!0NkPcoPYl5nD()twSx#?TA8nS&5L@hi2rU-DB^DeByrclUM( zj;eo-w~WF897$Iqnu4wtCbs3r-f1S@IgUF8_p0$6@Ql6l1P9o4THKq9$3b!@yE9sv zPkP{TV9x6>Ca`qC1d#AbPET|1$3MJ`6|V>mQ>I=4ey5Q`wpX3&-G1Iu=7&xWF8Q!& z97#&o15AK0UWpYBEm-30XsA1AuWAuBq;t8;UkfLIKwTOCAz(Gr%je|w{CXqP9KJjU%JSGx)0p`G-Ful*yGH2PU}{V|LfXANjp6t z;W?8NpmJBV)N>SZ`;3$2GGcr5&{Yfj&o-LiP3MT(a zzv>lp6G_Di#rHqj`j!t8mqlb=z})z8p!*R89%n>& z4zElX8&LmH|B%1<+wK8hKC1?D5e|1T7?`a9n;Hls%L-x6Ss^!g<%fv{aFQNh|7Q}* zj{R5$=QCJN!$dUQR$y`)&^V6&c<~RqFRz60&J~|G$q9ck^1D932#zJ0Fz6Zh>N_|P z$a3o(YEf~R8mIt5oV7c6QWf<`KM?7Nxc}@oCjoq)o^9&>DY)J_B$>Y|9vz0$*(yNm z5D)_Z1OP)rR3`ucZ*;5bzkq2|$XXoheb3$9ZP#YC907zAz>+tOBuTz6h4dj|0VtQ_ zopt~I7#$)2nGrCf0su6C^`9L7Yx+F?H|=hw<7S1Y!c*|LPpT!g@xXN%=I%!v%7Oqh zFtS_8XQty=);1T$b);6Gr^z@fD&H!=W2`~tm5*k6uyU#l4zPh$Sh2;y6Jtn$76u-Fkf5yCIYvZjt4~6BCB5VY7W*)*bKIXES}j;k~@tX75d_dW_x2eb%lk*T}hp z&3A-^>WMG9gp~111ft5ow(DkZM?#ky~5JYyT9=A%9ySx*%V#;0Qw&64a2jv0rvB_effRq7GbM%R)HtfoaH^6-gd=$N>}+TkS5HFdAdH zhnd5id_h9N@qTaIDU3w(?WglE?j3bUwsC6`pc4I zboBZ`X5*3efbZQ-Y1`cro8GXq2#G3uW?&KASA6eCdC|LNw5M3Q`;N|Thu6NZyLRqh z*q$rPI_`@KiJfVi=Uyn$rtZ?!>r_;A-SI|EvZ7a`E9`o8UCs4A)U;F8zh7W7a#wh? zKP}$9?R%K1`NQR|FddLHMDsh`Wf))v5RPHw77TMaI~pO6u#p=lA9#hvN_o14<&70~ z-*xQ3bI~u&WM`WgY0;klKivoB?a^zz?bz>%?P}A0vv-P><1+G?D4F)vQ#Q0iC+yF3 zKfZr>+Vt0B#a#bXyT#sZF6yz-v9NgBJ~TG^;?2IBXcwsnE`zyl7cWOa4Te zFKvc_FRcU7raqf^=CM(EMevU?B!d?vU}n~e;nXxXNj7 zT6+5G7yc^_&`%Y@p#=F)rnSvxhQPzOOan-F1Jmt1E7XJrM8T~*I3NaPHFT(x!@LH# znc**JJxEmeCjX-Bnl@b0=??0ITf_Iz|KV0i&#o~XaR`Mf^*-5Luz_+^8Mpa<9!wr( zn2enm#59r?a@Kww8}f;<2)p*5OB?&G|352vHmrME?!VR$w1>W6m?|)-8-d)rWYSMYWAU+88vanadk{Do{0uv{i@gr@sa?-n1r7g@59H(@Ph=0GLd}rbmeqFqKyDJHp!VT1jmWo zT_OH10Ulj{e_I*<)re2>Syx#}TTf3_PglTMt#8*`V?DDigy*j>_riqwkWe(iOxyhRyOTT?`al|;|IMU8**RB}wRlQV7{3_wSXLm7Y zlU0PDULgR@z-1D3+sGn|m`BVDK1*pyJ8~2a@U0=&uU#?VNnxz6R@Qavt(s|8?cR!K zB{fW&E6nYEe|=kc%Z4N9v7aqz{W5l)i%B#3XvUg31Z;xMuz9j&B^SDho~(ec&Rnm{ zG2l~SQ%|IB>(=RMX}g_b{7H5nW+J{WU^KK>h_WMR)_}=ocr%daJj;ega?|BPGRcOI z3b=pmivg2r)}v5WxNoOA-te`o@4v0_?yKf(t}1I}__Axr`ii*Nz+HD=h>d7??DjD>o<0`0X8zV;xUx ztqKYIn4^5>#?Tm;KHHHkF)#v-ET(s2>N$FHIIeuyDBb0d$$(seH&F@0$>=*=XlLB6 zfBiaSO+3jr2tI^9(ZJMXiv|7rEcLLN8e7h6TV}1C&Q3R9vL!geCoruUgLj1 zNnO27$Zs+>7w1C#*{CjVzpa+Y!D#r8H;C7qS=U@S}8c$A4YL07Rag2)p&6$%3&B#u4n@gAZ(ftGGnseZo?f1TudRz$=_WS$Zu8+b~2T! zp;1!G(Fm+O1Hg{CCx5`=aU(N;Wf!Cva2FY+w_bzrj8&?gRizC>YIp4$EJF;sZYL!V zJkQ&P!$U-BkZsU3r7(mZ)k^zsX)0-|@;@G`1`F=&@1qnDVgat*g885J#GQhLwn`Tp zEH)C%k=f|7@v$wxlWz)Y)2w73Vud3Cd8abQf@13S4wV<=P4eda%s#)+s&XvS;#Ya$3!-M-~!tMAk8EfJuT-V%b3-9 z=PD(9SbCLJ^F~K|68$Wb39;S>=da7zfVAGSWRfygit?HbaoDnTA!{(^NWQ!V1m+AF zl0A39@DBp)P=EQwrvVxAEj4o8xXU(t+KG&n3{srD?u&o3bGUKPnV^A@q^vjWb#}O> z(V*Q$z$EF!X|Nej z8csJb#P2&8qXjme*9xz6t$53JR-k3OOUtnNCH5Vaw9&g(Z>3=T68aya$|*)IE5Q}| z>8?Xt|6;NaM) z=N-+7h`U$Ae!_#(LdgY zUlunN8z!&#t-B#KNtis{y^hd3wM#(srYr-l|J81`VQ?a=hBXy8?wowEK9P~%I3J&d z5xE}LS!ks@rs;$EBuXnO%lx-Lee}NS7*+pO+;GtwFioX&HT_cY1t$4_mQ|b>GV1`( zlOQWH4Ucw+6sYr#8>cVGb&^f5%r{Y1j3F$oed-{7dS^i>lZkn{?OuWdbE=CS5kqRL zkJ)LH7!e?>MmW&n1IBNpl!GV+e!TSlJk!eJF(kQ$CiGilF|nxW3QX|*ZdQtBp@e|J zsLaV^vp_08=rNZfo1NZe7^UWxnGFFH_~K*C~>{eBx<# z2jNbDq3K}rQhA?epY?)6n(NNIGvOyg$0W5$9JpFAnwNv*g*6Vznj9A$P+5XPKl({2 zUH)jBs6o1ub!ahBmzNsB9rHt*c!JsRFt<1t%`%UgiZZd|eVM#-!j^C&7Fgox z5JH_mL(>z{ZP`XN9L%S-f{waG{9W#Hylh9}3duG3z_0x_0=#IUbKc!NU11VmxldKW zdia{|jB8c`&PL&j7o!;|kg68JrXKgO=E!e0&U`-4fc^7INR&BK;A2szjJ07o)oAH| zjcGoP%o9%umk7$`L)Y;iA2f=58BP#dG|J4tw7QkztuLURMW*ItzDj;cn@93aoR0Z0 zj>Skf1?RvWw|71qDY~2sA**WEaCy}A6w4L&;TxI$UN4Yqu{qc^2X968(wzCri_RD9 zi-%e@?d<2hgM05}{9*7eGKO@g-st-orY-DseCz|`tZ1F?pgdK#uhkLWn)!wE1r8oD z2yCOy-u#R%9p!jD#5r74-;h2yPs(Gi(4my3RY+^pi#5x_%fe;Xb&1aA+$Zqcu+2n- zbSL-FJ0+Hht@*@aq3L(4iy810kxzP~3x1w)nz2R}jDZVXz#u-xM}=eHNlA*yYF(3- zEZg-A9{59f#z&+rsL%|Y=wqqwYp2SmjL)dWknFC%9))9IV>0|;%mODrO%qFJVdI_0 z@aKecwz(nGgxkzWJ+y|*$(&b?O80D*{o6$-PNDQof3?sl5%}+m6NY@uz&0mD; z0Vyu6&5Ir+b;Q~3gyTK-=ck{6mO?S`RKC+8yQYbbfxN=W$^4l?8*=$DB8I=t2BX*c zYqM_arg$2SEourY_f)uw(|`wRbnkroU;7WfGMm26XMf1g{Pf7q_O3s-wJq!bO(`lI zGa1n3SKtODb>RqtdxfVqLJln>$8sK3=3x%x?JlW$r=LVgN2M7bCHPnA<8Ij<%6IS;yR+cZ|r`xK2m=o@lxmtzuNricsgE;swyC-dCt zpLH9_xeP3XD;4gTA3Ed~ygYI*oA_JFxyCkaq1?6{n_tE_&q!r0U*AK8ZuJsno|IB0 zJ+9KTIGo85+1+n0_w3n>O!dLNGw+jDRHzv}_w}#fXN)g21M8*}aGA9%EF+Y=y)Q~7 zd00tr7utbJJBP9yI?W6hjDZV%z?PE6^QXmXG*20<34cPX5YLV=s)5^1+g`Rzz9uWl z==vU7GX^dw5D$OyXHmnx=9bCbdw;WYwBH`m^+)-JGpS|nCgaMXyvC4!bk@TBSRf>6 zl+K+QX0cX!tZVn}NIP^!nebX~adVKf`@7_ny>gk{MZb%l=IO%$R468W3iaftZyrR% zK-sfN?8bYDm^HU&AJ)m-Cj|4n5D^Q9LEI@ClAEuwq_+&`>+^UCy4!QSM9}ayN1l@} zqW}9%``>VmoQwaM&AHH>QK6srw6JRmfne>nV&KzsF)v0v>)fCAxoNyBSHJvHfq$by zEFHJ_b=A*ngYlt+(NX$J@NH@Y9Tlt7|KdRL$ik)aulf0Pqp%X*mgdi&_c80MzifC? z@JoToyjvI;K7)j0H1V&$+KQ)MR{D?#l3E9Y3{2a{3V-T@#bESV6(4C9^l2{~85a4L zBd}S@J^PgE`UjAKpfG~w;@HpV?zl$9-@T7Dz&6>6oU`mQfcbGpUZ3*O8=NkeEKi{h zK9Yc=47Fd&2%l|hC5Nu)CFf854d$K*fNjkA=fYX8bZZA4yNqYkuY7Cs-n7FfOGkAz z8g^zQ*Hnp%^qxZswm31@~&H7?>0knKu zJ=rnBNgIAup5!EaFHF5X$TC=xS$;@PdFC=i;5f+F~GfC!>A81m&1U=o#pp@+1Q-p^7Y> z1Y`JcXdeZ(1IGhyxF&Rh6dN81wDH>vZ>-z6b6m%^vvg+5nST5Kwy|mfH0+<3msOT< z6H}ni=U=#PTwHu*Ml!J@D4u4_22#E=L^RIxaC<-+Sv&QsC9GD)<5)$_v@emREn^#@ zTDmu>WZ1>%eZHYZak&H2<2WUBqxG*qSCN25BKf+k)dIbWPI@~z9mDJOmr2U%2@Nwa zK#&d4ReVI8m{h7cqx#_)fQa34%MSyf$BnLSh7dj6vvA%b93Og#@5QU7)UA8ePYuoX zpw;lL<3#If#$R99yt0$Gb{P1aeqJMMd&3>%;K-IS(n!~7xiG4D5$3FwD)Mj5?-DVx z(vePFbmw+9w-<3BF8Gl3c;9a-I>cjBX`Om{*2>T{7yqR~p{((i&y{aBnm6&jfiQ@P z3MWg9K5q#8x^vmt^_Jg|N_Yy83HqH?!Cah^oP$tD006FZ*s#Z5v`<)u(!?A>SVN9i z#;X{q{)v#N=H?^5XjL~?#|l^-J6f3zjFWhPBQh{jRwM%2y*>)bki2-weltXuLseX1 zjrln?Ihr0zBN;fa&GWz^avKYY^Ny@H`-W7-d$XACB3E6*E8rZ*c?&`&m4P_H2APf_G%DYs$|+>nB&Tw1R*FV$TFxwy2_<3UgKP)p<>~ z`9n@&#JU`q8M7J#T31YPIA$k z7xN^XqZ`93x4aNBU?$u~EuS))7Wogz!Ibr z%6;5ZVek;1#OX#k=xL7B}`QyQ=)(~ z?45siji$aX^TJp^8gr&_aRx+$b`oUV^54E%lC${LA;lI`dNk}zuE*b>U7eu3lVLdn zasn?MgsxsH&*kozkXi!ZifknlP6!xRv1RBCQac1P9Y-Pv9p3eOsv5mYZcPSgNCc&m z;}rpHx$GYho}9a8R@~qrL|n}i+qiVZUeI`# zDwqj`oPil&mqLQpFNvG1@Le>*w!Q}Cn24RRFr1e@On2?N&!lB|$^;ph2FS@2XMNQv z2rjLmw4MS$4QcG;uq{|N9VpUi(=kkhnU~|WEgo0mo4!e1;;Per>FPZ?JXJo}wP`aI z_+tj{fAyHKtNv=sT!@7}WN~jL8<{=AHILI_S^-oUbdo+uCf7vv&{Tz zE!+?27rvbfuvnT`TwqL9d7|;wVB?`-aw8 zEP%{9SRo~~-^7MFv<(Vj4M|y-tKtpMgwbbW!U#|msYa;4HNtj8mKC&48QGg4Kt_=9 zC$P6Iqzgm{_%UtaVd=oAt%9le*lVjG6IeV01H(Io32M)hwrfvX`f7X1=T{i(yXan1 zXuV#`ReVB81l32%fwj(AaH*<$E26_*J&z8GQS%%3<7%XF9y?I)iP67 zYSsGr_R#;9pBUsn(MLsHoN*yKnC3zPgAAvP0eOK#-2tk{7i1wD?}DL_S?@^>V!Y?{ zU4{A_&`M716^7Bxa^;vU13){WXd)WyD?y-a1LPieW;u}coa9s^=`*e}D=@&Drz_qN z)Oq3_1QQ*Q)h@E2pX(W6oP@{9hHEu94~`In0VJTtgZU5A-qb4f7QZ>Eo&G~t_u+<56v z($h66b#+>mTI!9;uV$Ugvb;PN&w_RZjtByb!?xSRJBYVK+cQ$Ojv&r3mN*IGn*4ui zmLjI!jT^UuAXU)QMAc^0S&o?UttReS#4Jty=5D%<`2Dz03Z#PKhKwx8Z;V$Mq!TL1 zaS5`RStD^6DPgVxQ4g(FRbaDRcM>c~aiLWx!O4TTJ!Qn^F;B^YrDH8ANREw7aEFDG z4Oik)F1E0ju_j7~CSiF7eN2yu7H=6f{Td3qbj{m^jm6M4ZyQDf6^2DTul~v2vp@!> zi+Mb0#x2$Zn89`8fYUaIpF9u=S5+d~P_EM`M#!N6^TdRhhpg8kNtA%Rf@62Uh@>~j z%q_bEB|J4$;!W0&`rfEBEW=FX8>d&#xk#Avp0dCl*ifia|^=_ z+kz1$BapX|0YU`<-*QJIXk96!!rdhtJW(7)jJUlF|K%ib3i%uY8#iQNmf|5|)6lmL z6L3ZzJQu=}wo)+hjg5FzwZjF>K26Xe4T;9ZKsE?aK!kP~OWMPjK`6+C;eu@&ve;-v zj~a%Gr@17=QxUTQ$p~nD(h<=5B_x#fC2Y<09_SB7T%PWUhKRrf1Fc^Q##u`xr`#6C zGk_x{ksNdj91UTkorf4YLvANzC1c=tI44=re`D0lYlmtPCCh~Cxqk(oR6V#3u z`PF)~FP+}bLJM49L)xrK1>vq|_o06xTUb!O~-3b#kk|6cfikt+S{dC4qk$Ggi zXr&VZ8n+1<7C;VL>{MJw?BwcgsIk-xY3gZfbTzG-uxDwIRQ1xHL3esrNh<-C&3^95 zaibk!c5_R*dM+OqT#4C^=n6(o@|`KLh_P_&oMVw&(zG!}===L|o| zGzj3(sr^M4w3CQNfoWr$2m!U7(G*&87{4;)#$paBv6yja0W6@3&-}EVu(^e|`uXc(`XvIXX}54NWVmp7w>2>X94k=9xtHE-qja7-vynZKqGhErRQ-Z8=$A zYD?w%2lO~i9z)K!On9bKX$4!I>+1qcZJc* zZ{w)}tfbVXzWtL1;a9l`6TAsaZ+6KRVVdgM#dlhg)1&=n_nAkWO z%KD&Cye)224@~+U9KEJCRo0?%-KtJ)(q8U{+z=_0oPpV3mxP1XFAYG^F|zs+V#@WU zq|5CxN`CLNPpqYT%mW#i63FS8bbV4GuHY5@xh^M8VSwiiMgr?lWJTtE+r|ix9fQ2M zq@%h9S+f(0OHo%_)*m7M%9ZT#C0&P2LC=>JD2uB7Nz>qN_zk`Wq3+RbSJ?6f!dKE6 zP}{`7hK7RFk>e4@jg@>nt4qVvuZuavIwzz()Yj?MSfjShKlqL#$@62MmbKB#G)put zU;-FtaF9-^Qc_9qX?;@{Wfe#M9@hxN=6!8ax1$oZfm zeW^ibCzW?{S}1H2gS>2mLqNEP&czF)JA^bWwGm;$f7#|l_BpQ~h&yMC`M|2Hq5s!S z(ebYS-jwa%BI|5e9`|w|%eu(Y7d{;comGM0nzv&+`{v#Wr+deHNU@FFdvOGsT;NK= zB88={WLox;7W(_t&uXi7w9(&xAH*-!^oqW>X7mdK$ID%92WG81HJPm|?R24JL1Qys zVZ$v1k)WOmFG>Gz1eV0~SFXo)BmU;`EO@uJ;l{5*>vcjuorH6Jul3(^ z;=S|E3;b*)cHtFp23W}9oK9t;u+VPsoiPA}1Lctp9}ERfgU&pFB3J4$^9m#m*_53|;ZXFZVNDl!Cqc3Jli30Dgz!j{6Sm~szq#&YIAO!0JZ z1!Qd6YzM@n!owA|ohGSTZ`7$k-M#OMtw3p>NFO9zx%jeQcpXz-Q2Zw}M?UIo%Ey{Y zsSjC!)Q7pgp@u~b_~*ug^gxSSQttv~r4Eub(c3WfC^QF!nac1@DpZUaKaxGvCH2~^pd0gwd_^GLR? zWFlQGm@yq9iXjwfFk;~Xj$}{~^(ZQJN`l)i<0-=Ypy>dsH@L+DE4wI8@Pf(0@eXhp zbp;*Q;s`2$qCQZuMM?D9`SH#nN^r-)aD)~-j;`A}8JRGF2#NOgi4Msd_tVCt9-&Z` zs?s^z?Cj8?YJ4KVv~A!7MhIrhz-i7reK~iAi8}%jjoVXH8me-2Zt=d*iEy5Qm}-{_ zfYvV=;H+OdKv}+o-@Uzg^sSd}nMMCguryd04op3i-;~f#EGBRC6oRDclzR91K4|BkH}-_l(IU2Q!PYAQv2yCxo0SN2^myQB#K zPvmXfkxUW^YsvwUU>b~Z5`gt3C7|?6yAa6)7=J;iUphX)Qm9Fq2xj`y_~Q7?0~6m9 z1&`@3okfd{*ez+;onNV57)h9fld-^4Fyi6=1m&29$Qg(&eTl zI4}&yryo{H@!b(s7aeI?BLz549cE%HtZdMg*)U`qFwc1B^@^lX54>HY@Q?dYt-AyM z^mmI8nJ)D7{T}LNbN~2X>mfa{PjtOc4M`w02{6BbxqhaoQy4K8QzA6}`zM!0&o)rg zO?sd_lMplmR@IPRGBF*6+)Nwyyq)n15*Z5p(FSz-Kd6f}I+KES5LY}v0P~JPx`(!L zb_;C^&1t~y5&s}`YUv!hfVIH8Z%xSvUx9S)xW22YrmPK{ ziwW!-6Gk=`0wm62fEVHp1%Yk6_~{SUm8B0z!P&~y@>x^hRtkiOeEh7VZQuQjjiLTU52|>Sz93}CxU*i z<9xxlVFd)``~4ZBD=_wZI>0NIq$k^xui3*A%%$J|9sSFeO4c0>D=-q*dsyqstLVLS zT4u)jy9g1KU_zQ!o4PVyO7ojmgcYs8iaP$p(z1$Z${PTK3QSqkYfEXy%AsL{3QVWz zGWNC0BjA6BGGd=>7r%Yyuvtuo;Gi}%{gT+r|KP~%=QlM z%2_)3%o%hO4AgXI<{PE~3xqJ0?>D~f831T8X_VEL5&Dyz73>L>UH`ccYwG7$iu&Q) zzYS1y1}5NtU|4OZqB?2RB+RtFld3NbDy_t<>r1XmQZecJMpa)jCSG4U%~{gvdhj^d z2wV%;Xb5ZuFt0jtZO}pCBHdFYyv5T}9F&Mp)m#0~$3-wrrpC2+;{uuHymkCVK2 z7?3cY;KY8OQq{!g*@#bAVr-^xe+7wSuP?sU%M!!(U>g2s=LL2ms?$bm<(%41EOpDs zfLRa_0{{d7LqkU;003`vtLn9YCFU}SP2l(ac6W_Ocrq3U1Hw!XD#wtn?!H#Y0}>fL zyClDF9^^xNu^En!Yo;8R*59>8MsodkNq+qb};4*C(fYY zlHSw6M{nL*0PAEuy#NVeE8TgTLQ=4Dxf_gROy#Q^H=vEms=Zmmx5~w>8PEn*Qsu}I zYKA7!BJlHAATR&`G($%-25`Snue)7$|FXC4$+~rKO|m9iY{{D4+t@B!AhhF3fX4%4 zk3hfxOv3{M#{doR!E0t?fF#opfe-{BLV*4E))6DRl|q_gDFRjWRg2cuR@JB#R*t5T8A z>F?)gr|Hw&xlRtub|Q9uiiicx&RP|;3N@?11PHfiaXIE(*RC!dg#D9tP*wZ0t3ZTk zx@Z_D#a1=-GjI}NG(z`HceQjvR0)4uwLliIkkPT~nk_4pOp)3D{l}!F(ay5DmPqq* zBbPA6lp;_jr>2qu^kAp`71ei@sRTaBXqHF1TN){MuCAuBIzQP*16-3QX)T*_pZI#cb zs?3!Bhwubmx}NO6H&^C3ZS)o`k#^+7TDOz)6Lc((G_;o~s)TZqZfZ1}rTa6xyhJs} zte?-!ujptmoS%w&vrO0St)rZOKIbNv7lsiQZnwENU<0^qf$7>BW#hj2UT@GiMcA@) zbak@u4%rGd0)SmKv@}I5gG>7_c+aT~8bO&ZJ=Y!%v`5?qjj&4> z9hVvou->B^Gy>;a96FCY4M?H6hZ}we{Bqn%;4H(9V&&d;uz00RITDsaQc=0UfoYXe zOivS*)VCv^;~#nQ@$rNqDJcDVP%;atlE2Ez!DKitAHNZRb_ z&mCiiLZwy7@b6BZ?n}9wWUh0xxGqN-K3>ekrU^m<4>z@mf%vee!FQ)kLS&!ex~Fe} zGa>F-j;ccY*9lHlqY$;q3^XGs|8O13%lq`xx{=hFj9CFa7@(3K^)?XJ4{Kmhga*23 zXmKDV2RCR0;?)4U_DK_g-g5~Z;bIlLRJ01PkysZso3a65t$y*0|a zEG(^&F;2yTaXzbRYu{eXe3+^y}4SY|*s{b@ZFNzhYND*r-T>T)ry^iPeW?U6c*tz5J)G(zl+ z1DEH1R7>2n&v3@%G}K*&oUFOtzY*S6Qw)ArjP&o!Qq-^m}CwQCn;t zb_I1ZS6Oshf9INycU&?xyJ{+y1|}KGG7te zNS2F6Xo`fLP@=%p6R;vW%wq>jy4sD{54KW);;#Oc8)llwRSNZV3tFKadxpQSeQ)63 z3I=pC`g~p5^Brb&&%mIYr>V(T^kIjmD7B1U{6@Vnndq71;R`*>Qvirm0xSBF z92@jAgQ4GMzpFucE*cc{#9oj}l)Gw@h@V%Ws=WgeIFJjo0*JgR=OGmB#k!XFq!CkV z3yf_z(L_@b!GEKMH?Q>4gkfe$YlN3m`?g6x;qUKMtG@>$pzW81mJQB=*a-2zuEgw& z8XBC6%3;)CPz{mtY`&#PEm1mU7TX^n`S9=CLxvKM__~oeWIei53En#FFRs|Zjqs2X zA`5PxS`EB+vi?6|@YBbyKZV)?8Z_a3NLu?rnC&@>kNF>25h1gqOBV(+HP z^sJNxE>%bv*=&R!u0+6$iV_;-(V3bqrKz~8#1$5b(1~9Pp4!}v`CBL8WkaYDbk)T+ z54w4TO4VEoIU0&OIhFPJ>$bBM`u!u*p6%bZyim>gP1XF|2HYcn=|!VV0@W5rfLgOm zK~zx{3r~@7*t^q`6?f4hQx6ODus8N+2SyIv;_ftpPFy&C&R&NBa+oItSg9DS$sw_# zC^l;K^DdCy&HD%LGJ)SVxXWSX+da2=xPN@t(56e=!u`W zS7*%*5wc#qP)+WC;1fl)3Rhcb0hQH#oTl~}@o2#O49 zHAT})Nn1uh1ysSl%Dq1DSLls-(Fn$IM(+{hKy@;1#igf>T^Hh)Ea_h{RvWQm~f`LJ+7bhnb3^oCwLGfh!N>-@K54SSNmCL+Lca zYK;tXE*9fu@cicwwZZaO@v1F087$V7zi4-~2lz@ZFD1Ma=T8C_JdM(mSOPZcVABf} zzK_W`v@xxkx~w^_p#pvs)B+4WVT#qhAAA3eQsKxupw=@KYPPk3_RsA^Nc==Zp3}&I z_CE6^AMzTOY)D_+gG@cCixoschhK?TR1<-7+Udn zG-D@O5x{Gtic>KQaI=V>RWoMk6(N7BV5_o#D`02svAjQ~H zq=Le$V=cfFjaYmS#cQ&d_IdRIUp$MCLl#Cm9;iGT*+l~9#WK*Zjlhi(A`8Ny6;-4O zKc^wX8Z}pG7Un%1l>CF!@MeMiH6cQdygPtdwNNbzNd#EOTtL#28z+?Nkln2 zDbc6lIl$BZc$;Y+C&R$n$Rc=3w?+WoTlfGKG8NSpG!snZQ(Hoa8$`{5*8?%bn#N#H z(%;+Bw+bFGoV_|e&c?qL6o51W=3P;q9IH?SJ62|V3#l)eM{-&u2vHZ|hYoKLiAUEQ z05;Q3Q?JC?Af7)=imZU#2ocHH9FbW_{NXCi-4#hc>X8x=HM&|%DJ5K5OS-dghEn*! z`N%i<<5jSj*)IES+_23IG|u2EvK`q^-TLCFW`laA;n<9IZ5?OrEF#%zsHNQu||5X1X$l9$2fm11P6s|#{rpzdp>f&_yIlA zB#^{Ouke}jGAzKN0OBhGD4CH020SS%#qR4DIw*)A-P{Aa%j@sN+b0|OvXdGio+MdF z^pi*-G*cw~WRGzUtdigWUKR3Lfvj;XjCYZbReDTC1$|J4$se10Uz?~~WUJ49_32x~ zvR25#qo|9>abP==3f;?V|6^lS%9aX@_@r4#1m=8e_W2#5mUueUVkD2P*(yEEB4k5U zy9yIu3nFhl_!M$v5;s^k0A9B4-TF2|1* zvXD*_z(KB6%3y&YHT}p@qY|q}`ZlY({$$`~Li2|=SP{p-zMyiAJkqcAm-!x3Wa3b= z+&7W+yYi@nu&IC9yY`Ung2( z4P&E+C=6p#{?)Qh8eU_(SiPpd47!gLPEvo|RUv4e6op#-_sxmLU?0P2-hL20x!HjpFNw*cG~%4`T)8AJ6Ss}R;l}FqXg!h_ z>l)-k!pmH)9ilY6lI$OQ_rs?=-enE3kXs`p_;9eucz2{iP?nPXP(e|(2gw)J(!2{u zHC>isZjSdG*k;1_m9>J+0BA)cyhcHB%CKXhCRI}wt4QYaZD(9s`N~$WVjRP4!9GA+urk-&WKw{eUkvx7sge$c2 zx`vm28j>fv`5vkLDJM-_PEboy_tK7amsqG~ggSpH1=d*;vLP*KZGCv{gO(Z5ghR2+>E z)$|q8pIONIbNbqDG6~l3u+$ZeG3Ii?(6KAZlOynCnwPk0iQ@7@F+ec`M%@%QHQS9b zu(ZOK=5DB4>~`%o@PBB1eGZynqoEJu>DT;;Zss|goJD+`3m*~Tm;8fcH9|0_OGhWn zUEy3OoM){)X|fu@&ntpsqMG9+wY`bfBo<-pl8t8Fn54unpX|Iu6Yg+<1O*_}gs}fl za<+F`C8wR?SGS#aVE_b(uV{`%t_P`fuej&|m*lvbc;QIBB@rs>I#+xzaHZFno=($K zxcS^i(9f*t?zvx*cW!&EJ*9(u3QQGmD>_bkbk#-Uwe*sec$i=VxbGgeY*6BGPg(zAHO_M1(iH{m2v0iE0o>dOg(|!Fbl;!Ws>zpi>*6%hw!}#2XoP98mZ;s@VsbUu+})p; zBaNL}4I>x_SW5_{z!FkkCC*46m@sniSqL~8#6Nq3$b=!@&Ch(x{Lg$TvyS5JU-kw} zOWPEaHcK@&n09__hWJK-YXqKf@a-cK;agQ!!DT;kj>k}9yi{|aQ4$T-oZK+xm`8Yr_WV4@R)iig2xOP*TBL(anC`~KIf-R4YO^mKAGK$>6u$hYu zWPi?Xg-MqpEgEAhCCWciC?w@Ewk1FDkyE&`8c8wX>~8g-EyJ3e-Lam1@vl6+UL>e_ ztJ~%5w&ZxT4s&rFgn@y$Z^NLL&yHnDP07 zbev(>Z9|BQKRm(}US!Z;=g<iI4UIKZnkjdD z2^RqN2_1YAU~yb7gK$fOCftZekQ`!Xjzng^{I0;3&4_XaVPVE*qQ?r=nu30UaplH1 zP6`Yp6;x8uu*+D}I4SXuXHXeM4uD!ryM|7_L>rVC4`}mL;G?hJakwvz2*i@p6@E?5 z-!1Y%4?I)^J94s{w&);oM!|r`$kemN7J*I*%_Gs=xnY0Fn-v`=)R@J{vCVhM*AN+Z z4I3l&QLrRn;t1&#vr1)D(syBxF6x_hzg4()j!b3_f%Bi9?iA$gg0hXx!rKgKv&F-p zQ3QCqM8bSqU=4Poo$@WB2Y+Y;jjuX~ggnVnDld4dkl9D$(x_|Y&&jSwLV!no-2xu` z*~UP)qo$W5a~LkWXNwGKZWLbL=*V%l!6NNObmU=?$*(m#8=H%_Il)rhCZ41%oBZ?@48C_eZ9GgxBbZEV+tf2LaJoGE95 zF%0Ey+l!hT1-l-#RGdZ6plnJ@iex8i`^lr|6L;4J9AY>UJbJ%-BpCUTm2$E(b~umB z6r5ZfNO7!iqhUXpI5=iT{|Qy4n8JN7aB~3XG)p^7CZ{FW`JXke+Cm1yW9%Sg7B;*v zI7K5KeggnsGQW^DT+G=0{6kf^Y;sGsd8gY!>==`0+jkf!05@U7aSc7Xkh3pgPa^IkxUM_^V9)5|;TlMmrIhMMSp14OjAPYJJuNHFbx$oE9-sHl`1RXvCx*>^bux^xAxQz-bOb8&?*pXE%DDkw7 z2>Fw*@Qa~c_2UhY4-K%mp7`Tx3O$!Cwvdbf^u$*IkH_r3~6 z^=j%QZ5bsbe5&&8+O>Z1E{C39j96RS&FKl$OB|JKpIUPtv6IHF$dFJ#Aj}O67zx1D zBDd|y;kY!&Qb_2!&hJ@$p|Mu)5wid1IeHwm6!IgA>tQ_i-2~Oq*nfFt?R-5+}NI4s+CXgo;S+Jc4S$eZ(9X#Ns(v+}!5t!YA;buGpZST*X3L zeYTvY%|?h<2sdY6Mnil|nv=e8w_iKV`Dewz)otCbSUb|`iB>F}kCnGaApKM8pk(>! zm0h1{_RZ#7o`5$rKs#&ha`=i_O*Z9L$7J7rAnQ3~|s%26sLThSkUg~78wdcYb z+%NQI8UOqljKl;!-G`{zAE@ax^-Akq`CnZ}29B>^56u9TP@Y zq_@C?<*QRw*H=yCG20sVV^Iv2u&0JvpdZ=Mw{tzO`-!$6+hlw?E9tG6-C4Fl3ZfQ4 z{xDA8p*#_-#wtDhtElhShn{hSpSs_1ziQ?De2_sJpH_7EbIDY zCNJ3eb!w?_Bwt^_@b4DI7BL9H=y}W=8r`0c__mr_qZ47)4N>2<_4nwak;WNuFyHU)y?c}e zxHO9UpY_RrU{)+|x1uptRrt2uj`|4RI=;Z+E2hoymiCV?kte(Oi|$r~hah)#nF#RH z3#YWrZ_b(;-_FxQnzi2QtLbXi?IJ60>$#2JrotkOnD(Z-EolZj=oLu%nUspC(ivf1 zz1+LTq-P7@L8~iLeI>g}+r=KQup8R04g{@bsF=n92GKL~I9S(Jeni5n8tBK03_)NhzC5@SkPFCd?2;vM&H5on)k^pJNouPrUFmhZ2C|6^p#q8E59!KBP(@c`4{hJ`XXx3 z0b0HPSzg9!$Fg+>iFK0GAjOR`=Oy**X|o;Q*_Vg3b1VySBdT0kZS_3ME!;N1Y!i*G zlJWIdw?bcR;;MF4Y+LCI9%HU!6^_bZ^sVX&)egNXjZwZ` z;#+>>#uf(KgVY`YEeKIU(Mbd)N{r{d5C*aq>35IOdU3p9$11PqC|*mK5l!}N_EW2(M9C935=E&rcqfXJi0@0Vx{J`OKFr z(2dX?6U@y`{NL&swuI`kE@NKx?Ey4`Bkwls>ay_vCT6<*XKVUYaA5mr_XePVmypCg@2~e{pzv@ZLEs+aV64r1YsllI? zmTHnMhl<_)@iRBQS-$w5kAS2A2D^<%%U$v2K+We2t_DlW=!p4WQS8k(#%mk8ZfPm( zslC+b#dIolZy$A?LZxeFodsGE6cxC`7-y2n>`%2vt>(vGxE9+b@Pa5*??`urVMPgS zga$heKKuVo8Kg9+wqG462CMXwd$}#U%e|%HMfD)vYMiA;V7ZErt8_E;bN*demv20( zg7tH9tBy3l(TUwY)!k>%qrp?4iL3!?6t~yb7JO=n{(WWXqX0MX6)KH&vTnTAVb#^W zRBN~3v=fcvbzsjtqyOD-D+1I^G@`I5(POmloB8++4mQCNaBaEma9>174l^`Mpjd($ zW=hH$A%ESJJu5aOchBqXVP%}=lUuVLxEw6dmK^rN)JPVIM%mr#6#4c&yV73zH4qHo zrT;Z!c$yG$>E!pqciPbw<$#v}IJ=GY)mhqBfVJMtec*;>%`FHu)GYdqpv)GP7x2Q| zT;u~sV?doO5Je;9T&JyYQN-BQbrgZAv(0t@(t)uT8*`)sXCz<;=#=9^zb>VlZ*c!b!F}2{nTBPHs;>10D=OJA_xEHqOQQ02|@R4~+(BiLuzS0QN6gh^mcgn)o5Q(MF3h*Jmnf z|9Uccr=GW~sqW{$nO49-NR)=H5l+|IcB&gje=q4_S^u6QmTKGD)|a*jeiOlvM&Up6 z-IOR^@CA(s3+vX1$5$mQ?T~p&vOQ=Frl~w01=Occ2j9}t(vtqnUKhY4FxOkqY$>wq z{aMMQG){Bb2)#aOs$}81PO>(_%Qo%kxNHQDozxu5LKjWt6nW+&!yg#!`SGad#WTu@->ZM3qG=zo)CWPOZ=#y!&47 zmzv+3xR=tHuQ(6C)AN1B&-0VbCr|9162^b!hzFVxlxw2+^YQqb+@JP^L;EWi-;I*Q z_ugLR)eH=FV6ZrojR{W71dcRt;kYf_cf_uZ@B{I&CTTAued3d!1_6r1S5F55 zILXAUA%P(#8lU`M^Os*-2zQB=9W+F_iD1ipiVY7Sf{(2ek073CVc?{?~V9c^fYufk@;{XmdKBYH{VZ2r_R z-NC&EZ9Cv_VHvipdQf{9`s_y7o&B?_ z;^4nfpR84#;7sl0Noa)fsy|K@pfGWKr+A1$c>o^Q>dztY{A>i2ZOZc^3z=*B>4{jU z=<{4u(}a^XbtN4;7dJmPIcr9&J(=@~20t$6V;?C=CTpZ|2Aj^3H9sQrK?YwHw#-~E z)jz;m_7)077QjVMY&rip@C^UEwp;RzYq`Od`(|#mq-?HSn%%Q;oSi{`<`>I?s=Uq=Xq+^TnaU*4fj6U z8I1>>lcS`iq7sFry=a;fSwwQh-JrAur=1BKp9njT$>gjes^*S2&}%Zy#wMY1YW(o2 zcb26_aE^*d{w{~QQ^Qfvn_#wITwWWX8mY49Xud3opK=a+6nViX>q@)t5S@RY>)KhK z1h5fG+=gm5YbCfBEiEu(_JN3vV6Cz0>+W2YYNyR`eP)NK==`R(RVaaI1WTJ1lQt16 zLH;r{@rZ7(GyH3wdbF)%&+rZ5>$9_#R&;;uPch$*$VR009BbkwON|g*6KqX4bBwyL zw)jjB_o(YmxepPq8qZPsJxRqLa&qkTYAwwp@m8_wCqu?9YntPHKbr0%ZpLfg zKl-~QDF64#Zckjyc!n_oQ8a=OTP!U4;&jXl3|l$0LJgEU3uD#Kg3&F#$*T30t!31W zA|=?u11mS0C}(%peNr}`RxltMdSws62_wkh3F(+_VwT@WIkFRB4jUV4R<@sico3jU zWI1zf3F!w7+S-N)s%`|XE(B@MLPRea!xjSNZ6x|{gy}9xg#kocWJC$GpivJ?L_Q0t z&EXXPXt$Rz5ppA1D}byPwPxdNgx5U_&bT77@U%n0pjc(zl!=1S$?eP}2eX(4a9~ka zxnxY&1ojQNUhO^1Exb|KX#iqPHP$#^o}22t20LY-oc4_}bgz{{Apz)yB?H5sOqQ~B zQrTB1gGs;}fpUQfxGXeai#rJzDzil@D09^$0L<7FZIJ*J-E>&%$bO z*J**i47@mbyaXsJw6UV7y ztRjX0dblb)rmp*=C>xDYv9n=+dGOBwfDSeQ_RJMso8vOrNq7QljB+yq+}TU-}f zG_H#uW?zYkwO39Cm0189VL>J+Q_`1926XxYVVK#X5ni9rG&|T;UP36&0?`N~FCEXA zf}RBj8}x7eW}LmVegL#1K>cA+LOBbT8QyZ3VQfgz9fie92RLw8{DxBrW{!USg=7k# zM^hZjU8Jo%>LH_1^kB?20$AM!;XlWqrbp^W9r~!m5YsUQHK7Kj?>qa@qp4nGtwA3i zz4UU{^_N;pJuZm27Q)xPf{x)06smpD$IZ2oc7@k}f2b zlDMB~-TOcvu#OWTeg8K7+8T8&Ql~#n*iHq}2=Y~jZ|plSA4iNCm9`5IepNBLVrbt1-f;^nKnD1BrP7>+zs+c}9no+%YBc%roEAMAfa2@s@{y=Q=hG-=YI3}nK{zX zZ~;sX8zKWx!h_NqVbD;*(gx01d?UuF+|OhdC>vs?+-&6n0wPF@~=UCM4Z7_*K)tK+XV_Gx|(1#)o+4YvcXD80PczP3Vr8NkH z`m`r?onYawy9jy0u-Xsl=IV;{9cR-)%UD#_DEpG*v3->i;jyW!?G4$3DPC}B8I0%2NL=rjMn(s}s{el%}|CpV0pPRmZqDuz*yzJ8y2iSSJVF|aEVWYY}NVm+9N2TMJ&wu@pu*T zm)-F936^~yN3w}>t@c8W0`__~t>W;NtO^FIMGGbZ!p9wwc;Lz} zMG?YD+7gPCGsQ9Fyp~9_P5JrxjeoY8wt;qpsG(@}>YCs5OS2xX8;8UZl6A2jXR-i( zD9B~d^D*)D(F*dDCEI-euz|TLzFYfS-6zGxf8g4sLteh$n+n4y4@D#PW#JEdjHSYv zw_?ffk$-x!C|+Lb{U%k%AzT2}H6tvnMY6yJExR!+ZHcdCj^w%<|Dg4u!44a~$_saH z<>5TDEq*k6xHvP0MG>6VqFH#W#o!vUEK=D&^=_Aj#duu-^YtabwLxj*4pw$Y+mtsCUODBw_r2+er z;q`Sdb|V>nE$e15mEyWouZ_^Cje*E!!KCgz=Ev;N9MiCrKLlY$;DITpM~x^`Q}ub# zpc>)0DoLhelj=QAHUjG0(6`D0DeTftO~Ehy|83s$To8apfKH3=5)JeIuOmQuhUTT*>ums$a@Yu48jgwiSFgf6 z=v@WUuwAv$IMi}tRF;#}>kpX}!vnxZ0Jg>2E@T*1qi3ZrTIAsC|LxE2E-XfSab~&& zfNcbr-tcHQNO>N^&?btO-Ync zbs{l&%L1e{j?!Bkn9{q49`m#3G_Cd;BXc~6k#`63O~mZ!kI1P9_LdOZBuy;cctY5^IUMgk*UId_U{lN-TmU-6ce7OkWTwlMXW(s4;|Wg|SKM92a*pScK8+=C6Rxfhq2 zBZNefXaZ25$Wu1iR@12vjfp7>i%}wEfh|zxjFE-d0^pb>vKAiuL>K1z9&(nbfq-6$ zMuTnCf+Crs5oAe`g@Bu!4q;h$urO#%O!GoC0=Yv{YiMAJMg>P_ zk;$E==ZT>j;rl5yhe#%91c;OsSwp1(w}ynj$Om>v^E76PQL$c-(92r!W*wvaR=vH+SVvIWOkvpMRd4k!&|Bl$ey z?U~dO7Ez*PftyZO{0X_oVl{^bKWv0cfx}PPmaxI$BU9@O&v`Q8mY_yO7E#WHs6&w_ z-0{yfNywt+DmC}7M=gqpv(X49QByh}a%s3`2gYr|fRB3svj0)jq8BsNL5A**w)|Rm z2`$S#HN0jCG$SbCZX^$KIVEL-7TMPBIB%pFAsTB&SkcLF6Wm4Uk4aV#iE(4w=VvAX zr!aX%Bl>5R!sp>EmMzr34}OTTn&?Hx_TByLUzJysPCCkKxCU^x>h-HalgfBWwsh98 z&))3gP5eKr{yzVrcBtuHu7P$0$De3T`~0k)o@nhKyuhGsA`hL|2>yCKkv|U1lZ6%Y zgb*5o4e!6hJPnb%gSzK}G30SLsXO9fi0 zk|^g&l3AiMR?|*bo@+%l+UJsd`D2;+Nn_ucRq*kW{|@^MP=S(b-AVn+*BP(WUeGOR zr;qD`D00%Hxs-DnawKsz`ak9FFK<|;R#y*)e7o#RzLLWw5#Tby@=7$oJn^%^e%{@?`**k9`Y!1u%gB-oNf>P#<5_N`f6TUkMOcW2fIb)_5r_f! zA_as5e?UMZGa)81o)GW`d;}7XaNuJJ5Fg~*G2B+l_-$-=T==Xl(qXn@TXVnc+#5DF z7M54LwsuF@1-9wyH~M7|48R~4)?j7fs#F!{d$~*^nmf$3;Dmu|i)~Aold(xP+S{^< z%J6KryS|j@KiUKlc?T0)WgS(OwBI!48zQmyMX+r#+s10;&un$Qe99+GVel6aM#UPR zplfa0wXyBj3RqZdUjJDtb2*SFR2Rcre`Z6zt`BkLdgCtugw zxyCv6Pt4NfCQZa)79w^Uu=4`86EtD@ze+5ZN>_|ChhYNSZfk4V`iJAvrT^)~t-PKBMNo(xNtsJ5ME-Z77oioeyX zBVLOBF(_VRmO-U=`#U#bjCb3$WnkQ+MO42{dfz0Hz8{}W7@fBBNq8#Pfz;Qk2eF`& zVv9|T8*3R$(WMknh>Dq&q^QV?UEmYgO>krY`<-wTx$7{oAmSHzkM z07J_C6=t3s?swnWes9YxCVqE>ns9kT5!A4KS^98J{b9e_XV}?%S=Y+jdIv`+MYrSqM~l$QP%%i9NX&HnSJ&GqwaGo!ck3xbD!-ah*Pt7&@(6iRz*67gH#ZH?Wm)U4;|w{alXX3?Pn0m!H> zv&5|1rUM~#AP~efjWzjNR=)>B?VH+7Tb-tFYbN#4_jH*={etllTvjS+y$Zkwn8?r8w(<&{b7|S(_c$4m> zG=k>d;Z?Kosy&&t^p?(g-bxcKc-7~`PuuEiZ}qg)6ldh`nXFw=*Qh>A$8Gg8`cvL` zDxf8Iz-jU3utUmGlroQk$3ScojBme@O3zxE?T)rRZnL1}ROzRy*&~edrK1alb{v&Z170k2F=3 zR&D7K^J7wV!J<07u5QZR05wnxrp4+8oY?dq>lE>u9xA9%a zi^(_d8(NcbdpC9H)graqLO_oyI+& zhUx?c=#$I|>kQW7B7J3y0ohH>0(b}qn&Fmf*n8|w9kR3R*E~CWL~k#g;iPg~I?H*v zF1X;br}>xW2Phv)r_kc)=NZf3F{hTN0$P3tRNj82odrGwlP1ouo$cQto6=PHE+@AA&0sgh$yR|5Ug@TAk1E;vJrg)tc<=a zYteVX8uB~h*77@}((*fG(DFMK;r-5LYk{K1=H{~tSTU4fR+wg5m?vRj7lC1oT;@Yg>8&xuGZX)o6$5H*>;t{K z^($Jitynd!RH(F0vXrklPrkf_b4u>gg^csVeq~YCW3}u18fG2ZuU1}a;+SU4iLOCe z<65=Enc_}i0-7(F-$B>j`gMPVZ5GV(j6L*ko^qlDTvX|f;NKBltysOhyendih8 z4Buh(dzQ$(hGM0{@f{K$DuVDZ_fK7po9=#2`L~wlv1Jva`E^O+f@bYjmOOV0qRTnE zg%xxi)ofsSYh|AIEHz?YtYv;`T)l#r-NuOQeB-LCEM_ytbY8soi+f*Ln=mhxIHg=7 zLbn=2Fn_Xe6r}?nhAjz~a-uS_23mn}*D#+d^=^Od>uH&X0$0{JlxERtMx7vAEdZ-K zLR0f+P#%AJqoRn^d?fL zB1%io^b|t0Z+A5}IL(B`H z4|mE`)S>c4vrci|mK1XEnEX?fJ3ZAK#fa$hT7c{B?-}^OV=IjBgr%b$ao+uB^c;SW zi$d_U*IbuE@ZG2^^?NOFG?v8U7_@BTu)>YQ5^Wrou-sa1GT;;uj;G)1&tt|S@XhmL zdxJCufj=2mL8!%L?NnJS+OYNq&6Aas-a6|7%b zm&PT6xWX2U!vNhTS-;v6It9pQ$sb(5u40m08UVRT^U|2b5hz^;T<<;s*8;qkLi>s6 z3XhohKnfnV{SQme<3ZJ+ha8-c-yNpeY=tSdGI@@y=lqDc6juxYP7Sb+ds-wz^g2(O?qo%a*hcL+QY_Vt{sr4jbhj2Aic!eTM2 z?t(45FFJG>lnNV6|5C(u&#ZK+f*8Wk8U$ZA&#S<`We`WdF)QeS{U;Ckz5W;D3wnoN z&AE)?@97i~Y8$!1`(#tE*uxAqic8-G3T+#QrBRS_w{BQ=WJ|fKG~q_doAbDX-M`ho zXm<1Ci{tl&t;Wn2fcAEp8%G50C0iHr6==?rcKpCMbi|H2DX<#mtJKY+?$5K{|8DOt zp)C0ywDKzV3Hd9~TZ&IMwu0`7zSs~|Lvqasm2=NvuCKbgy%lx_q>UnyQF+6QiT4`+Ode5i^Q|{lIrT#<2+W zV2r}xind3qovhOZLWdcJC5$2x#Mi=cqiBHlzpc;B&!g<_-$n`0@pl@ry$!#L3?hM&hFIqV0r6a z4BZm1B`(6~^aH89llX?wOY`I=RD}4e-g$J$Y{RdTY_}l3l&5>?6}Sr=qq~F#-oYbr zPaFpNouQ6@$-Q@X@8z(YBsGL}hO8L9Q13 zfUmM$fcEf*x+SBq#2LY*6LyEZF%L`mW*&WS&S^DHh-MyOmy)$-VqnAd~Gw z-WN>ffwon?OWRpq}jH%#?-mVpseao0{VUeFTlwL-}Cw_04o&nMN z-*2WO`c;<0W|t9KTE1mi##HbiYMb)S8lx|QF5PR2T2|g7$&)NSI?x?%n3qyXa~L&7 zhzWuzYK#tG@4%@>hH!6DR2j=a!i<98)Pt766SmS!58WJ^C4GhU^Ivu?J+yeXV;z=I zu`3@2jZB6NGw4ZBPD-*r8|_&z4{Os2c^dF-Y7RM z6$UQjP>37Z5Nb8Sy;;U+iE^T~I~2^yn&x|G90E5u65h^l1Tv0+QydAiWU>UvSP7Oe zX!#wAaDB%JPFL;~T)b|>o)Nn1YP>w1Q$WgBOXk7bDsW**eBIqTpso|r#EuPAN#)M_K{cwj{*HH zuF=E?F3+|9%YBzTi6m zaJKzAKw(%5zolI7Mq1Yypi01aXE(66xH@$8=Z zthC=({b!%G(0ycB!%IiB_9&LYGl@|hXGeLMs@j6{YUz-4YHKBTE|cb+QkMRpm|BFU zkZ*X$gi}j3y`IYD-2{^>#WJo-CTw`$&2=K3b+r;T0s8dQ>f?W>3WQ3aU%_1Pb!KA! z8P!#ZOm%K0KqZRH$eOBUhC+s!LRw|~HLVNxt(A4c!8?;?QcJID;evcWU! z{&tq&Arh$-Z2itpTL=4d3)BQLGOOSJyi=(On(tG5D^e^i=)NoUj}^-fYFmM zb;~YEEA94RS;P>f1C64VSoAx$uM>n;+*#-pKqX%$;1P3&nsv?9Q$W7%rVEWIH8y^>|-*%-PXVlrCaj zR-!A0BhCubE-owpG78MK{;Uaqx{DD3%?V?1&$w4OLtRx+ai)m~9f|KOSBZzQin6|R zDsZX*N7e5~&x@N#Tt;tc8Xw78mD_r^=M|aoMu{=!jfkini~1|m-sWAflmXYBPk+|z zp!Pf7XIr;$j(7q%Aq9^tHV8Tt2kmmCJk~Z_yROkcM@i)C_-8CnOIpu|kZFD{=jnHo z*pswPsNv-~=c+;(!*mLwv=IJ&$8592qv+s=B~5~skx;@t7~JYu>|7gD)bIS{Yo`g1 zRa0H2rD{w&;P>>km^;>r^{%(R6PJkJ5rR`^IH!MDqLWqW)?BSjUY`g>jGN}4t_r}j z0?i_kKYFm7RUv4(uGiAguR1++WmfW1 z?&a1qRhewO&+2E-DPb};1YMR&b+Ov80VXgY8Cn}<^rL8D=0Nolt6Zc?$BKyGse!Kw zk-h_hj(4mj(BBD-Mb%3qN{+sa_9pAih$ynqoaG3>=w%A(O1SPU19!a>Sz1#Mq0T4- zl^s%A_?_~ua0WISsB#qr^)&|41_`DkfTk6JsGYLNQk|>3EtllrDZs1BkH2F~U1gB^ zPQVE0JIjdr9mv*#q0x7Q5$Jc(;AfZ}eIW)w-*cIcz7!Lo?>(nKTEc1-Abpf;^>g6{6oI zE57>iyST}tWF=O5xrE*e@LsMF<^Wpb!qtlSH9pF&j7+W@4@{B%nW}>pw9y22Lv9oG z`{d~TUum4`u!W0&XfloG$Lwq+WC-pWpF14u)pRwsVoHKATESWRCB(TUi?W~M z0jE=pBpzK+L1a)m0a{wF7OR&%(9lCV&K+UAEmY|647qe2uKAhus#=f4h?i{u91T@f z)cG1(5_H?PDGmMnVo*Rfs# zm;BNjXG{rJv6FV+mAYLOx1U+Pn~HS`shAZ)1S+>9;|L~gRo%td<8Hx|eIo4`vS;Z9 z_dXX{UX^yfFU*_CI13kE29|*EQ}H#xJ;$#3;m-{)Kc!p1VPnLQ5!Q_v?+em*mlH@A z08iYD;-0Z(fI5|TRAK>Zgbs+~vaD@lxg2O1FfNp<%4dHKy7BO>qm~&~5kt-Jlg^2n z?;;og7_|``lrtnzJm+dKkd+S29a5E+yQmTq-O`s2&MY{UVNm5LJE>m-?p|x>^sW!+ zHX&sXDnh4>3524;DkgS+x8fCBi-9~kmVZ>{WD7T%jW!cxR=k3&s$!&2EKx9fg5QAe zH62e|lhC;1nKjHHo5GB2;06NqaeIFy-{kod3`3>$UJD3TD)_;+P$ZTGMC0s4YlbDO z+RM7&Ur*OzASxXZoIArU{a#I1e&P;IUqn&Fvi&~a>5WDeaQKX-5hFm;EM-f|V^Q#T z2)p$)!`>XtI1+sEm4+j;bXZOYuL@738%|mt@&=L+OewvR?#7~&QXo|CWcMLeIxU;X z=Q)*~0s?LSv3Pn5wGD;`#f~8>egNEAD>rIUGmU80&FdHiz2PJSN zlt@*#LGjC~R^zxdkIt{;B06}`cp%-SWPL$?DFx+C;abubBBv4)eJX#Xse19XtEsy? zzm|P{O;5JJmb2`b@QvEDna|kyEv}N)vHUgcC_QP_uv&XZI(gAj zUNruX>VWg&xCi5EM)|@S2da%+E=&L*DUl_C!tlkDva*Fg?@`Zg1T^l5eBv~ooTtU zpOxO{NeM`x(mUeR=n?2GuW2SJ`=IC^YcUMoh=vco{{Q$zwC6-txF{P&#tz%3N7zDS z)fUbPf3g0c?q|B`N(L4ZbaTi{u~>N)E3NEq{NhlLi=G9_rXhLh5Oq-h&Y{CSke1?@ ze{B6rKTgz7)5%$uPWP2r5HB!Vz(X0`n_zSe15m6nDko&eb(kmY>mz4w|4jD{<6>+r z-joh{(pn^j-BgMyb>DCBn!jsHOH(`xyceKOdh$DgzIeOK*y2gc=a@f_Qwov*t!i_F zxwdQt((HpW063=Q^q=cP}SKGu!0A?7A|o7%G+&LRmMFL zcvBj&<8eUI$;NE0^A;b#MV@Eayb>xm{K&vjNKr8{)L1s7zDA zV|=&ys9l8{LQv;5yT$!fI>#IteXI2a!Fbg?-Te@aW^~PNvkZvKs%uyMrIq|(WxQwi z_nF}sJmjOx(=407WvF!472SBqJxEy*@S^SnJmh%b?vkypAdN@=(`8|#MGg@Q`a9{N z@BFZV@CgqDLLqwu4-+y=ySEBUaEMC$?>je0j6VLU2}5pQzlIre6^p)a&!?0EeQ;BJ zLrz#BYwx6V)Y6brUsw@R@Xg33G)K1^xJJ5{Xn#dS0X&J+O zpHj%l>RN&aR9b##4W)y3Y&keex^IZ;#<~f*^QUmSDm9IRez_vW-@}5# z9nM?(KwH~0-I2H7;6UQ5w>1rhkZIFr+q~R}F*Q!^XfP8LJ6MoW>G&rHzWyQcBm75o z)$OtX>(f1wVRXXsxW)6HA{i_(`D=T474n?HT%!MkbtysVBj#V0W3erfNG=^RJLQ$< zOwLcz`}uj{_nX;lcJC(K&!!&PA@(lT*K7o&rp{mtm08tpM9OJB`KbBqv;7p*Qz!8v zX%ld_QRX7ASPL1r<7u?W&zy%8Zy|`H(hyH`y^q1XDCPb4auxUF_jV)|6a2ZNb+NRSMwLxGpqQ2k+=d`Pp9Jks-IPqigb#Zv({tVJ)7;9$TNHPxt>Q>l5=cIHs0?3 zC5G){vbgNHNyxOc*|_sI@DeGdW9UL|YsmPCr_fU;(`XZ0l~Q?Yvh$JbPdIk#=3Qte)q+}Wh{>))E4H>mIR)op}WhUX!HsUJLZ8(a$ii=4t5eJ}G# zP0ocCmsp4syI%1OVWEm>P#L~z7+oQ|LMOj{N4{qJ$JVPD|^Pu9Yu&8t& zXIYz*U;AhD`KL+4rhq1M=?xft*B{!Swkl)Z|97Qb8@84AeTDh=EA6nhT`cx&iobtW z_hGrqnJnLmyR1i1@J?eE+}#?db|L#J`Dy=cM!zk!Ao!8~4gV34=kY-5vw8{6QZ0Am zIE{aIMw>RiJ^IhHo&>InDTGl_=_k$hFy7h4Jk&O_FEKxPKRv{jG1?gz_wfV1;#wnS zdRVfr@Pb!W-Rh^$!+bK=k1j1vDWxMVo$y>gcT*KXSK^t*lBjg6j|=g7$Q`z;wuj4p z@$R5i+cJTkIUO{HEeMBBG?5 zPWVmV#kA1pK%BzgJ zi<{`GVGj+nTvp<1k7J3QrAg;E{HNaYxhK?xoU~4S%joS^5i}31i#oU690~z)F-=fa z$V2tld3EX?b|0*o@&lWlaA7Wl($ROnE=+6B0i|s|Q)7DC+ZVrqr?k1xofhAl_M3fv zF4a+U+=M_LiV6BB&5ez&N)oB2zc_7+fgM30wled=G3ZvWzX7Hghq?c$?^+@q zA}lWHgAO}Fau@sH-{cD0;frw#{7o!Dr_*~`QFFzdrA2e-J1&_}ER+bKSwLUS=f82FaQ#n>(DLBkdQMQ(#5gju` z^iD;b`oIzXJ31uav87XevpwaHip5VH#|>Xu$~4;j=^v+E!yoqZf2#N5!ybC5=y?^y z+`73@BFHGr!gqk+wciV`tlgCMb!HxU?=VWf{ufRby zmA8PTjZDxtA$$MXyBayAWD_N<0C=Q4rmt$D`&e>Y29RuTP@8td``jed3AjWFRmA05fA&GXwzl z0PXtz|J(L^|7+9NZR^sOEo5CbobPi1hXkcu(n8|$0R#v_2p8ah z7$jVPK$l>EC%T08jjI~AVwtxM_S!kg=D!5!i}zNiDLDVo23lnr|s9YHc9(yB`K*oEsvV|_-T8xRfVcw()z7z4!R_y;n0jG4Cn&Oz==%ysIbn+xJhP1 zAfP+Hc1cb4s@c0bZoW!Wd#>BMqP?>2s@Yd7Y>Bxui=Wv~%et7Z{ms!m@wWLiTVge~ z7eCZ+WpWg`%9JeClY+L{lEAmAX|1{R=3Vtw1#R$J_#Zv~G2@L=_FurOG7j*<7ne@e zrgZC_`a4IeCvRSle;#!doQ|4ZZ&Rdyey_%-6*;%}4wcj*>C&<9zXUEk*KP_JNBHkG zmPWf*HgBMBKPsDc>$&AuPGYMZl}7DF`Y$Oe@fEg=^;3O26^~}iDK1044XwH%|yDCG@;y%p{+izgbT&~UK zdxF1DEqGI};swvyKG4tcr_;h-3jEoDI3M zzgA6?w(Hv3`C5AWp3r}p2X5xS{ufR<;Qd#?)lZmS1k%_n&8^!J3^@FkgcSe{%ge+q zBZl?aW#jVXUA~CpNHGI{OWKCM#W5axguvw5)SCfGj_^xwk`*`Nm^#AVSt`{k$y`fV zB?XJad%nWURF-PZPRuwnd`*S7Mzx%0>92Fvh5&g$hQG0_x30k?Ov{Ggv$WRILCGwp zo8ZX}U&we-WxdY6!!=ww3|xwj^Wvwn0n5y@3qid$rrKqY>O0_E2lH85U#i-@2 z)H+@AcS_XGVa2DsV@q_4KjRD3_ZIrgoG=iGY{1nC16#fW_Rb3i(cw6^Y#E7~2V)QH>Rw%W5*tic4$6J)$*U6$E(R<)XuAXF{N9mJlszJ_hqK6}c+A?~g* zP9*iTzx7{c?^~n4Vrf4evVOj&;#;XiT>Mqc^@!vhggM9j6H5Ur?^I>kSKnKe;VPyE zNxCfh!Y@vxCss0vjt4!55ZkK4%@H3Jfy$naWeSy_Mnf(3=}ZbaPUO1UrBv zS_l7b@mFc4HKY1EYD#{cSEn^g*L>c7JWKfGg0`gtoU!547CgB){~rECc4HAf*wV4$ z5%vq7xrY4?)WUzKR3DRRl>ak6WIKA6*VZClfO(<#~NaOuG>ZMCy4eJrV=B0+^}gVHZ0W0r1u+^ zNMsF5IkI7iM7FSm;eOPwaKGxcxL@#$AbW1<7X&)#nT&pC#+`(v6}Bx~*N53|^H=8V z7C_a_7CNgc;gqgcPQPZ6z|ZV^^G(rhQ&Niab35)|y02SHwp?NbsbIn-OS;vlK11H( zuF4PoI*6XKlZsgIlSt#M8I1#g(K@O+YCTFUwxPOV;ktX&)1#$Pbf zrwX@XmV*|Tw($RaMx2Jn2uBuzSUQ)Y3DF|hl-VLh7iyc?YV#xJ;Z7)og48Dzh`zz$mOcS;+Opg3l&mZRjNUdpvh124?D8~6C(b20vT zh6zk~mfRXs%o3&Rkg>E$+acp>u2~v~&LWyuXnu=aU;-Pz5|Zua6@1z|X>asSSdwDt za)#fzqli0Z$LJInjb}-mdtm4Hux5EiG$Eh{Rp2I}x+b29%5)juvSy4w#kp zFr+rEvipA|A<8QPJ~7@mjHSHL8Xu4N1iyQYs`#ZdQHdaG0z-`lP}-m(-M#Nv-=n#2 zF<7~MAzbK|w&6`txC3k+RW=`TQM|(@6c_GVpsqSsLR7wE*N)Q!&ST897w^|r?g~g> zwq*%Swk}1kiMg=&=U!Zv-BQ{h$=w1qJc0iOK$HBj>V^C4izFP9*B#jn*D$`$mUi8FnZ1~Xm@htGS-zHm(eS; zR}%O#(NJ9_{O5k*rBhRhBZ>kqWIHaq000-s2~VmkeW)%a^s*Hl!=WucVpe^~TPnCYFWH=R>cPRcX{qW2}j#voq{j-Jrk? z4}eSt`?}hkkvIQiBo52}CYAEe&~JN5;|NtOIpxYK8K&f`l`upN(y#8=oYH+OWw~(= zyr-wfI&wkISMx7C=d#7K*o?UZu}-higM@b-yy1_&{5lhr4=m+3y@sVncMkW{yuy9Yd!v2zwVN8M<$rcRB~+*?H;ED)Yf%so%*wGg3>D*)r7iAb3aVX z!WLONe#*Wxeu?wag~7A=&6ecb{5+d^w2^_e_1kh;M}Q`z-?IGBMs%*OGWm115H5P@ zyId5wARVgm202X^?2yf-#0Uq-f+HHoj@c*LRw84+N0hG}1$iD1AERtK`*J_ z$BX=cS=ba!=Tr*Z#o3G_WpMK+-Z}*(EVIfylNQS&>Njee+HGr3^$Pl$vzh1S>$BYX zSeX5ll0C&)V@;R8w?O;WvRmg`B!Ucv=XdU`dvu$qS;}%DXCylj}udTIaE6=oVLCtyOj)lV> z>w>keZFtA;wxTwE4}bNYsk!t$H=}h2X)M=1s@57v*|3?6=TM;S5xmt6U{*W06fCjC@Ium2 zlg1wY-$s*k3!M5byX5e|&)YX)!JhTevL2VWJ-fSLjV0h?Nc*sFh2TdAK1thf^VN8R zR+b^)lX)KY(hC!H`>#Fqc-mnAElRz1bgaI!E3WmOxe-OkYEOV=U--AB@FjM0-%*r@ z7-CWBs#cex_@i!Az40vVscP-L*fV&*RU=x*ZST{?d-+RolPY%tRnchplGpQ3Xet`5 zZ@TF9VdY0CjY`VG2F^-`t)y~b5r{@Oiaj!BRi;4+JEmQM^VUe$Lq(`d=DN zK7t|*9-o2G-1@w}orU2XLrznrZrznf^x$@uqg;@R;T1VTNbSj%>?X z%h?Hsa}I*Y3u|E(&UaiUOgvB2EM=Nxnu(32s@hi4LEqb*waRI~&uq$fOcUg+S#`ez zFIfT}d#9g>&*qR)N8Uy0feRfXA}=_?I(I_+mx7mNn=L%fp01J0NPYx)6ST5Z_YAK$ zZ)fQ#NaiK!v8J}$J5a}Mseay5sgl;?Ef;RZJOqaBXS2z|E{UAG zp!kW;tUtVK?*&pw`|4hI_v>W+An-g#1>&dA4bQZ!AG;h8D=$K=s~kpPc4QnIaKG-i znG_R*Q%lsQ14}Yb03cL4=5by`z+ykJ@B`cMus#}%+03tolRPs(R|s@GB3EQ#+|m>E=YH zCoqmm$v})**KPk0940ek`O{?y$ZzX&w-J4BJvCi@%Ut&2pq)rh)>W!=mjvxp*8D4A zD;E~tZutIW2hE0@_#I}gpSIPUuWImON=HDB>N0fSzi46s_y6RDwWQ2j_*H!HtKQ{J z=BWc;7xOy+ZOfn9-*>@F4JX68;f$}H&lHKI!7zvA5SYIO#z?zGdh$YTJ-o=I42pK? zth!l7IFo{b}*RaJ=XYoaUq8K>P8H5!V(+$Xh2zW$YPnYVmUbm z{I$=k!u4C9*RI|Bs3((&kHw@EU(_r~XlPop)>v{iJtt%KqAx3c1r@G(v_3YqNmBsRCAQ% zrddu7C-Fti;E1fCiax+Z(~f*+rL~!cBu1T^#kyXE*~Qnfpt5&!m6aXw|MZd{?Lm*j z0ipY$bm0$9<8UJKKXfik)rlN#2z?KI3+I!fW2t#+;+f3mu=#*T;?>xgSU8iHAv<8b zXM>em`?H!C;S^YOECpz2DzMX7q=(fD^}<**EG3X_pY$OeFL@tprqqV-ZBYar6s%EG z1uY+A{Q-K)2Jh5v8X4ci!p4;gx9J@U9{2yZJ#o5bwy)dO?_Vt%*)0#GZUzRtVQSEA zVqLGQR?Vwwm~wXw>Et~-?w8$zTC2I$8eM0*;#p}LOg`PW#><#dgBQj%+&_x_>-w2# zw@j7rS$oJP!Iz7A_?vTU#Qp56VYe%EZ(sBH$>)%n`dcHI%qV5S8B4p>Yd03Ui7y99 zjw+(}DR@&f8>2@q-Th|L)(9|slJu;M)Eu3$#m2c$^LPuKad_;nj=NQP!}ix_J|>>| zzNS0gJD@ehGk15-rKflq={Q?sA@P5>i$2wrtf|7)7EPa5c;y~vz*jIy=m59WoK|_- zAKZRHa+TN9gHe}&pf>Few!jzcf1ADzuV4cc#mb>Wpp8i?CR)TrIHgEvYiB_f8fXM?dS*+ASu6pLyI<-*zekRPA zZI6xQkA~~kYBU>jFtL^ndn8xB;0eb@VrvLI1EACYbVo)06eE)7o$5QEB=1^t7yj9f1W*ne>rTX2=jGMD`-yNfg1@Ufv7PxMDr2QM1 zJSz`WgHc0o)a|-{=-o}Zs2mEF(n=V*$7^#OSwwYA!<}Q%w-9iEYumf zh(-*a@7ZIPA^l}V?&v?KS6_c6_s+Nc`KUPf`~PE(d8`baVqxSej9^gdtL`O%W9UBT zK-hz&<56VqPKGk{>2A9?;cpkf-9sBgd++k-f{iL2>LeQAx|-x~`;zfBw>+BO##+5L zS!su9OS}7@XVhJkMeN&GWng6)R62xST36oL#zybM*s?!&=Q*Ipw{(SOmX6SMA^gu2 zE_EY#EMAcBj!7PsDpApQ!gop)|Mw3NYXk(!2%gEjt+4{g>kwu2-%5S!10Pf@I;h^Q zO+|RqWo>~OR5}$qeLtt0#;jo?{WkQ*YpUyd&{pKnO`zWbVR+V7kr1H4ZY50 z=lxr6+I_-$bVhf#{y^aDze9FH=%0MSV7_XS_lvu3>#g=S@ydieeJuem`#v30&Yc2e zDxKghyW3Cp8-9yvv23Bz7}ImT8^L8>JY;BZJC-37w|2Q3@)|fyz5wZcl-VGoOUL7S zV%ZtK1Nured+ci`q;^$LB}Ac zrrgTGB;3o>UCnvk5A>q1>vLKEkZXj&Q0d9)_G{lYe?(dm#wS3x%-UW>m;20~8cIg) zeM}xk1V>`_i1<+H+3jbXGlFurhqRMRwrtO1j6j2@5hogWXwTZ@J37(uAo|JmkNlHa zTuJ8|f=Z4Vm-_ypuF`3*pp>M+AKa^eRgm2GV*k?AFMkf0#*jK-`6LfAv*y5HB0Q3a(-XHtfJ7QE5`!nVuROEQpI z9xY2~y=6Ut*)4yF#HK0N#Q84AcCv8M(KBxUPxk0Id#<^#XDEgaig&p#VHJ$lEkUbt zaRKUDBCWJA5`u7zYiJWJb$kmMO3=5vaP`fUOI!7>Y7{L}SQh@wU=Sr)$o;r_2^G-b zGVZi1S>ZiF!(-?>o3{bI{qwT}DGQYjDGTY}1+F|6tP^L2gp0@XlaxA_vRjTRSo|w9 zExpVm&WdGe1W!WvZ>Jl7GHs&ky5ZA+s;xCLn+TO5VO%63$tgMil>Yag2PB2Zk@6Pl z(gCT?!Mf->gcZ?u46-y^RO%UHjo@?ONe(w+w@4YKtBN?BTi|&A;si6z4LQy9w*UT4 zhfG1j2+t+!eSgV~S37h&(V+oADy$h-@xg7D>bS{dr z9n)U_0c6+Z)};CHAo+OnJVZjePI{J;W%-(`wWDOM+Ne`qWmYcKN|fmrqH#gBkB z!=M6=DxHy=9m^E;z{k#s`b2^Qxh~Ms=7`5!$9~2i-+;#=f4EZ_Q>8d^eg|V6KkAsC zJi&|+Ji-GX10|WC)WG9ki(V5XEsxdYkR_3b#(OA4zOLcaRH04(dB5IF zURf%LUG)NVl9C=NbqvOV4S1KKJwJ4(XURvdeyI{+`JYb6AoJ2OFrwvL8{(0OfEx4>LsF`y71fbCi1}~mQG@39n0nUxuBolIGcaRz$d4mX!RA$ zR3T>Rz*RdS)$NVeNvzQ>jDjmBu;A0G)t=sx}0}3BbQqY?8jk-onCV+r% zyA<{P+-iRf3Yc{_F9!VzBB4&y+^;%9j#+Nu{Vi=sHs6iDWiXlDbjGf^SvRll4-st! z<^~l30`0P0Mzr;o^k5gUW?TX=n9){Y0s^}g?H$1pXm^h2Hk)xncIMKXB12(Rc5NaWipo^ zES0NTPw`QivVuydH;IUf-)Tkswj!4!1FX=c(s5GnE??88-Dll9NMM}1Q%^GKVR^S{wOZDDGL3hDP#DgRDHyQ z>K%Qpp&UZPL^D$L!hP0IyZ_nqL5VMlilwM@mL=#rqn2^`9G?3MRcXqHg8ie!msYT~ zrTPzg`zm)9%i=1XLXqMsrwyl4u-KgGmRUEKeHIN|z+u_Q(uQT-{e>+^0KHy5Z*r4X z3AW(%T%B&C9CF;bAijH}Dx!4Q|P$_&9?n<~JOGI$+kw*Som?s_I6D~53CE}ivkmdlGCl8v$7 z8-=;)WT|-n-|rqCYV4&Wh_P#<@QmVZO6BG(7#cXPm(jIxZQ59dR#g+2FJOp|&L7ZZ zUZSs9yQ8#2mi;8BTP_4=WGdP%w1Z+ZYiKdNcP+9)`lDUR->uUjR8)yihX9sKf~`)u zum7RpbTT!V$+~{SoI{pZR64mrN8gsM>V~k&tT9@#79r4KGpd^vW=qXrfU<&?R&;cX zQK&nWyZQFj00YkNV^Hq|)}z@15{ePF%Q_5Bh-#6`?Pd88y3(g*8$75{2%QLXQR&VI zoBG6&>O1X3oA0ANV#WxbJKV78-=Ny-)&x)qSfi0`rKNP2v<+Nlu3+jaaN;lxz`9&F zy-NJHt>_9rXx}DiRhzh?z-DW!q}mKKV61@=3y=|8P=vR39)+y=p%PXhY{Peq(={1E zH!`?QrcqdTu3<_y*~o@lY(*|*Yw*CT#7I>(yv+vWJ;JN-mS7=t@WvTNrVnR=_bbT; z$OOWS8N%5@VSpltqY@!>HZfB0_Gh0xQ7HKBPp?)6MQ9LCYGOxjwhCT9!+ZT2r*;cE zTC%S3^acrYPWfS$SRl~vTe;B13jCg{a0Euv!5)m=bj(V)0(gC=;v6M2Obb#t;yMA? zmM}!bgd3J+Y8PVLa8*38g+9wFnyRecE8}lumUwfTFVh52Ju;u1RoicgfWS%zS%sji zjEy`3lo6i+n@q{w(EuVbAdpm$AB7rton|AA;j=h7bB-N zS($;%KYWf=uN^JOJ9fbX5kfEMUI4Sw2|(qBT%D5ux;VJ5hNuqH$BW~UKGh$quMl~v zHcZt;76G<#gjg@jCh=UF5lydx3kn7JR(+j3Lb#rdq|cf? zI1x#)W>s}Tn9?|oEid@QgK zTCQ2<2!WB!8)7MXF!-uBSDuj2;jKWAY$b-nSY)oM-372E+z`NMFY!ye$cV7Sg-XK` zjBK!k3Vntx8rgqmgjwyv5R(f@sKACA1I(y}1ZyTQ z0$_#L(fj6Vmn9@8@+DwKE8Hd~&gdPL8i8#1@1?k=y~{*XBLoBhjYfnFGgB75W3uut zP+W%z;ATgsM4pA2k6>R06*N#sCjHn%b~u8@NLcd-hK&RftBtbi{XxuhHI`4$c&>EH z{itc2-Nu9zK{e3ZW21`DhO0RHwwv#YPemm&cZ#Q{)_5{_j`=z|$%4^M(70XMNQTN5 zFf$vlzyN}|15A?Gp>*W}A`_rp)H)!HX0O^--eID*%g-i8X5N2X z8Ps!^)PE-?$~rBbvH}5?b?Pd?%K#*_j06fQ^FN>nC$&Qb#U7k-k>p282m-!`tol#qA#9DI0VZY7pUGS-Eqkc-y136KRIYnf|g<+9&3 zUw^^Eu0Q|)5D)_Z1^_ZcMK%BcZ)HA}dV!P1)Ik3Uxt})3Qq~39DD$=hWRej0cekON zV0u4Vwh0S=#B_G{D+P`?lK?q0@SmusUX3;ssO(wgr6;9b6v z+rXhNmdWr932W3Az0F6cv^L(PL!h+Y@~|_(gQ`}hzYR$$Ez2HBYgAgDcapM|tTL@e z$5txWZgW1Orfwy<$=?733IK*?plHefw%6Uu%aZ-wlWf^CmL-#2-FDu%wqzAY+qlGG z$EKK%5|hvvJb@q(#1|4E?*;z*d@#eOqo~oN)6ppCHvg-u($MMXp#%T5KQyNY;dA}Q z-w4PBY0s{l_^wA;6suDHmNxjcZ7ppjhGj>m@S{gB*Hc$lr@ztHtLgY2TC%&Y{!&Y0 zr(b*1Bkh2W9S?%j9suFeXM!VNRHZ8fa+XUxcEi2#&->KTr#b0_ zx7^dWbiNr`r1G-*DwJS22`ol&MZY)TmnhG9M4QeV%il>Yt|eP?YN@^4!2w%KWN?95 zk9mWX447u)3udlDHYRb%50}Q0QoEw&I{4euqSoEMe>xk1{WxlTEB&hRx_YvmtLzXp z=~XK%uUxgOWg}|)2Yz)=5HAk@OZehC|9TxB#W&QZ*Hzcl*w$Y?_m@ig%>1pw-(7$o z3Z66hEoqmp!a-_1HNlz_ zmS644<9SB`&YMP5_xI|$K65=Zo5`vhOv@BEB`!*)Z{afUX&&POWXOrWyfhZB^Ib1F zCE1$z>JY;V*q5ZPm}olJzDlmL72_haNa=$a=iB(d8oF7E_=c{KT_<7QJ1*UHIv1GV z9@ia1T~cUzDI^H!z3d@o`-Eis+Jf{AocPY7rsnfqGdrR$B`zwaZs9GOXbwDc8T{mN zT{2DgNiQ)ahWkK4%gYp2@H|?zIo~Dbz@adGRn=@DKBZ|bNlyD zmR&2HC}&r?*Aor=Z%*#%sAGj~P8G^`MMvgG`5;HzE!>_Qm#RlU%+&xgae=-u$Uawi z!wkNIP=8sAOxfp!@W6+Q?5rQ89(Lw8TRZ$#su8uc(RHw(LzcVBx20+IuAh?L$MaDm z)YRR^extUwQ^UuneFu7x}diA)tW5|`}#Xwjo->rG)Il@~&OQHEV#o$aEc<9xNJl$VOS37^j>#ja- z{;J{-y4}jkf3@5V+HU$%BcbC?c6;TH{NNuKC0L!xydR^SvyKxbdp6p_QAJ_&xyE*XB}l*2UnG2D4pJHxZ3m~W8Rxj zwr4Au;y>rjx*Z&$D1oR0phzIzX?mym8wAu|1X50g?`W5fH=O(5r{P^Q2RIh*70Nx2 zt6@3d;okLr^k&rE)c1dCsSOt8W{Q7HXP$+COU^ zL#)Iq#6{W0Dh`?9rJn2^R<5<-slzI^W4#$k+S@`V%kYPZ-Vc=;$01WfRKSG*7I%S# zMi;y@Ojb#dG1GpkxHblGIN)|IARanuT6&BsXUvGv9g4|A8Ng}-`59`A_spb?*bldrXQO;-)NN2=~X)Q0>7!Qcx!#fCB|Cp z`EAhmmbkycfs2nT#ykO%wQvdqYT?02?D%Hn_xK(pbPrTZ7)v*Bg=ZaG!m5tU;nhb% zSZ(n~Y~x{v#}0S7ntJTlkM(OmR#v~;^}eud{YK&O7sFrt?Kvg|o{C48pG(c6X-S|j zxNy-=6EnC_F;H3Cp>VY$!bOjQLcee+qn|6_C_L>L6kc{Dh1DJf$Tkypd<<3ykL@cP zmPbd8(4cko*%a-}YE-P6TlKZo>5qD!OTM+JqpQ<*pG%FT&7jT3Q`7g-`2za68hp5o zs|r8s_f&kj9lzH$we9<~-C7^EO9%B^f>g7z(}r})Km3(q+q94^9lSryV+)M5z~vXE z);_b2RadKFM*orFfmx`(O0&EJn)dRz14Qb{%FYweeC^}G;;59T(QKVaQACKD<0F1I`5u2{Xh5x>1%Y3~#?oqQVyQMo#_ z)hsnVY#d&u4)%1Yns%v5e|VDrAdrG5g%F;PH9;-5&;x|#!f3vA?o8cFFH%-M~48k$J?Ap`AT~1M2 zantAVj$N-_z3)?!CgMTfGnw_cxlpf+snC?2`A{ccB|o6S`HYIyWNh45*= zlpi9U0dGzJg8bHR!yDL2@ZT!;;kU>9E7Rlg|C2r5l;?Y{zd?dWe3R2V@_JvG4L4ou z>}6$&uif|AOOCrxih=E z+v%p4!nY}RJS7Sd+RBr=)Qa1`^RUioV0nm{wNt*YMNZfG1KSV*v?Z6 z!Y}D;g?w{(mR}BhO&>^3)>~pDO^uqRrmI)=MMtZ|MJS1 zFvuK0Qivr(2L#t~y7(M`x+O=b|NUyyydF*m?}WYT{JHxOYgxS7d(ww2w$wajPbaqZ z$0Ob^;|2Ave>?I?muvi2AL%cMec}wcd3ZYdqtWC`oK20a`d^4!#c)_}9dX2eYx4Ub z?}Gb3g z)59flE>7!J*O&HJr!+tA?-VcUoC`=F$CeJTU}CP0Dd2(m^zqm>&GO;;d%c36xMZ&H z`5+bGPrTQQsulX}!eMb4k1c=w(QseH;NonPm_Cbyef}c)PAJ@3=tp4 zBF@hqiHew!yn6Nfb$5UHy9|@DD&G2T;P-{TBB%KbJ}tJPy55ZV;tFVHxCyS`?~LxT z#1-*I{^&B-r-+O4w=FlSG99)0z?{#t>zd`pQ$Eph(rjblr^_5oXt zRcxgFlSB~JApdFWB9k@#&%{4X(b?P4RvnslYNiH#t8SvIrKt0b4Q+!)rm4rI`NFTR z^tv0g8Gr@dvOTw`EJ`Q+Gjv+@*1W5V+(Cao_W79=sSCAJ{14)rt5C6pfp}~A(yw;@ zmP0sl(H%7|(4N!N)osn&ZBeaio?2F#(a-49B&p4r+EIl3-xOZ7JYpSYn{OYr7d~%EbZ&qDzxD-M=`nMH5mORnbXjBz+;xb=Z z(;ODAf5%5Y(dnmNhI(;h;>KsmntJ|RkUdVt=V_Zh+IFdPR5P=?|M>X2q2(=cbBpvQ z-RAW>>L{VN=zksswh7hjtv#VrwWWXi4tZRb*nO|Q{-&iA_>L`__nY`$N{MFTN=QA6 zoJA7e@5+Mn`T28{-a@vG^{!6!HH%eK^lgb;oEvD+JSn^N$>)9cOcd{ksL*EWz3ek9 zd38Oy4FanaZPVA_bM8U$9l;&9nvJx!f!>llX{#DF4J~r%<;aY;tvcJ}lHj7y&5N^BCU5awH5j(U+)P{dH(hC@ z{B*9~sgs4<{7K*oUQxP}?EBG@aOY>3QuuXdQ#inQFHK${6INS#^ zfT~|AlV)yb?_cDzWTNy*dBN2u3*`c8mbh}s7C^GIpqZA(?OpIr>3>SD8C;tPQ0W!s z+ot-1TC7ozzTZmRQG?T@>{ZOo(RD@lKl*&s_!Gj{2EQkgFO|SF%O>osSEhoeAHyIH zZ;G)$xL98v`?k)o%MpkP8JVH}dEcPR_v#G6#*_1a~Gj!D2%2wj&6x zcswE7Q`qoPBjUd0CU0Sz3j3gM3ZEwS<#tyX+fe`~bN;zW6Ms2LlgUWg^jV3 zvs(68s0}^VcZ0_oY_Ji2HF1}ndNR=F)6@8Ht6MC{#LURa`0m!hir8Q4#RFF z%k|*EolaBXCe3o{Z8_9j=ubTc=FPH;%Ffs`dBy0KaovaD=~3)99?QM5WbNRuGtSM3 z+Uu6s$KNx$HKW7*`tQz_$ea?_5z|eV;}|*PG?UAKtpcAMXA#+ez8hT|ug%M@<2md( zjn8zW*>{IDqB^1ffiY;$I9KQUNzKvJIOuk&!lrz`aiW#bEphex92RYuYV)=JdHkN$ zGrjFcmlT6G?1L7_n$+*F^I*J&cDdIb@vxvT`(XpcKJvEim z(=moWeqM_>l5_F1u4`=C_&7C?>%`5wjz3NWDC7?mN4%|hQHaDShfA^wixfMX)D~nv ze&!EcWyBF5sf8uvPCbs7J}vFZ{C36XPhjuWD&2G0%tHpfbj7w5 zfgUy*yT0r!GoiVZOO|W@qxJm&uISdAawNw&EJ=q{z5g+1ATsyHp+)u4bTm5J6p!@j zQ>@309IH9IViE^ococYam9VXprOhzAr!7AK<0*~ztCzdI5|QL-cXnLuUd$3SO#AZe z#3lB(GSIHE+Zfm(MVu-CD4YR0D0&cjF^E|{!!n>35Goh+=e=FYbCz?(hJ2rgcHRm) z^{@S3I*+->SS=0h|EKveJ~&_Glj6Ra5Ez@dc;myBmO>jO zwmywKv*BWEKU?zTa?Vl*zv_)suAr}av`syaD_`WDtLipQkFHbXKFa!TUwcC>($>oZ zSiTgQK6uYI9k@KXw=oa%_bzp!A^X1N?%@Q!cfJaGd2ocz-W2!=BuOLm`lTgTSTDPV z@hnb3cW#c+q&C!3Rx|B>-g>89_|drYNOJ)H;J(D;5Iom$*+m&=0ayR4!&B7#Q$1?y$GO=>vUZUy z+-45?NlF9%{o zdStUxYrr6nWyDLv=%!j=?P(Y3Py{pnng*`S(7U~c-?k^`;wtJAPuyWQo?Qm|h zeS2JHOiNvM2sI*~_$;jCbPxRrod6F>H#EmJD@|nb*(E$@po{u5ez#xf?$pd|($4RR z9tc1-Tk=4r`Sa&$LLD3!IBPflWFD&;|ExJrQ2))th0a$((GnRDp~wC}E-6u`6tJik z^aPI8FO}{clmcHHmR&b~A4Vd@I1fLrSzu^ZBdkSQN>?1ZLkr~;jqwptWOI#>@)YwJnaiJOHyDW*f)_yTeUWyLfE3(776PTH-EZ z-xy^cr-fcL>W8zFj~PF)T5FscdB}l&K@;~4-j~`DU!KQzzixc)vE<;M;e*hkoypp; z^(%khP|9rYznqC*u8@geZ1m3P!@qwUUrt1;G01%b+r#@LErsWsDcm7LuW{- z#~&m&k5j8)m)#i?dZ%i$Ma=hnXxZ0JfBCT`a%lJiew*aqzmY#4*uayqm>A-LZ#V#8)V|7Ga0Kbrk`I~oTm1-#!)%akdk>2SKw%|2y(kKZsKaVxQv*VyX-2Z zE+`?(^8daHyJcc$v`c*@<{=a&g!v3L9184$*XJ8bXe}xoKU1co+t50 zuRVr&y4$5v>|PDBb<&wF(UzC{Eaw>i&V62=N&H7AjF=n>6NlVsKDA%$**tq<^Io?Z zrE~>OXW5WF?<}$o<9F5-DtdR;-GFD0ZzKJKPK>;}jNO@h^Jph}z#j}-6rO#7=>&6NFgNU3 za$=)vKgv8Iq>+;i@J7L{iM6W91CdEIA2#^A9%E zVkTkJM|xdtj4i<39&WmmE7eGcDnEFu+q)6O2Zy0T$NhbkDZ*g$?MpwJn)VqTCq>NV zqp7E+qNf+={7(-y(4XmNe`71R2h#HCX9bpNC&127Lt;G60HR4-^2g$yr5^Gm^AR+N zV6N9+b-E)T?xThr-ve>yyY>rYmJV}sX4;(xE`9HTUH(jl7oe|Uc5qI9yRHXL`qyS= z2@_`k;4?Vt|NSZk!hO6X;AGnG0Uw?eBrZbk-RlFV{psyI2p@&hl!Jz1-09SH_&h=i z^E`2Y6v8*ZQUG8}_b6{kcGif0#9?O6!gzoaK^aJC@GRyK(kMYY;)oqW;@8q=nT-a* zY#asVZzutkUwc3SK|&A!xnlOf?gQ?eoBX$=`04G&2(dW~6Bjdm)c7cZ<0>ZOLC_1A zL2C=wgj5(V2-qvl8;1p28_e#WZxoEt$GecuCoZ!ZA>l1tL{gj0{FOb1a5BuA8DShk zybh26g+O}0{geji6cw}@P@V*f6q6e5&I}rE-fTC8+<2t07R2k|fP`?&IZE+!ei77n zCVJJCxE(ueIPv|@`ew%HU+SpTJ3P0*0^tUIZLq-FZg3 zW(~bf73oZ6Gy`y-&Hcuh31x;Kr&r-W6aAxHCQ2>1PFh>IP^4OLrIEJvS>&-!QIx?T zn-zez#95)SwIt*lKvOm$vqFp`ya=2gP(g8ya9}!8sCh@qHP}8yjXXQ7ZVOC#SPLi^ z?s#ShP<$mggbC6KRHh8MQm67Gus=`#J4rS7z_r-{mR4lqT8@g&NKSqFxQ-5c-e=ml zl2~i|<_i+#f&G*paP+N#@Vx#EpFkAiGWc5u2rXP7-f$tIwkrXtg+LHmxP^eWaCv?- zFN8Y+*~BHVws4I>wI?I4+y&E-(LF=boydiFA1Vh`CF3b~xMIu+$4wa_+P0tH4|}%M z@e$?QrTP~Yfw|TX+P1bv=#M-X9qrLHfmjPOijmli{J z(=6@?&P?XZgpG+DvX*%vy>Q3V_FSiqqOuvE7t+NWJ7AFxzY& zM!4madDAj`C|P!4n`I(~sS1a4MP;8y0MHx1+lhpg+sL|6DT52V;C+`qYp^T9_RdS z;jn;SlBgDlUAft}KrD6aFfl7jim#pNOGUUh+6GgTe3m@kr$=4LfR})ogYzLg8Z2voMwSQEFjh31|yoqqEUiIVBw= zjmTP2?L}EK8w3%~fYXtOr%~Kv4Ah2#1CJ{V@U=hoHXgo8?|U{pN>~d(dCz!3rI7-a zYHltGA|YIRLP2754;#iPJ)+sqq7R2`nOkDWHM4+REpiSFXn+TCYAETcjD$E)i-78W zu*we1RcD}C8y3(;S>n!dnb0#SK@8W-^o5EP_SF|-i&P63YlB+CSUK9Fzg^sH!eEAr z8H_blOHpPWxO}E?hZMnl2zVt(V*5@C;xhtB2?InX`7UDZ(d1E6{ud+G0^$Z;6t8;_ zI^zZ4JSkjp$j2pdpzR<`IXi8!a#aLf%m^XC#;CVt5c@h9;lwO)cYv{?fZGC*0h0IE z9cM-p%c~H&nAbgVo!vN7B5)xlwc$!-ichr)1*KvA2KF*7&)Lp zJ)yB7j7U3ZdA8k;c|f2O7vPD+P%eP3fQmdN(2&Osq~~$=qb`E47C`*btdadwc;YJ8 zXF>Z5mx)x-{n72{`bYx!3Iz=11^ofKrQD|-K>0xq!=sn;+WXTc59lM~cixTve_>3J z-g9XL`2N(p=MzGHy0H@lKryOhB&SUJzyor_pltRh3O)IM{3AYmG($$YKhWd@g$fjm zO3s(OAq)r?ZpixV2m+rYmp#ffLo!r>1QvS+f5~+#bc~O2oLnNUEnFi~El7I`WVlKr z`z~YC7_1P6>$!eQ|D7S4zZiPP-SUkIZ(Qj5OljxgN=IsKXV)QM?nB+P>4}(=e}f?* zW>Xyuu6Ll>fHR6qj=9NcSE-)a&gOrv9G7woM$$O!yYHv~UkjgrIen*b&MG&B%X~N~ zZlz8QF0%*nKvsSpOJ4Z<2uC->{2`mrGyv?S5r5y18lqU&seg}^d`g; zX>15!=K44}U}%k9QV6rEj|>0+DjJ{KMQ2cMiL)WtNL)npP2A85i1WCf=>`lfT*8Yw zF5=^5R1g?ixPg&{D~zsOAP_SlJUCn=iW%rul0$5l2y@xJ7uG}6LU@gCXfV)4cnM-Y z@I>J0?;>AdlHwrL5!mKxPt)#Mi9siS)fSm8^n=rI3A{NVn21mc7eyDi01a}=c>>_d zM-VgC=km}#)DK80^P5hdMWCPmkt)|9%w7h`#Xjf_BQ1do7{MVk zTrJR-5OoVm^nJZW5dQC8d*19u6`8n<^+m+h!m9}X|M?&J&KSh(3V{QN^c}Eq3JmZG zrZI~BiQ8SEC+=+mfZLz?Cej^ZxCS;k5E!^|9CQ%FfC>@>XG`b}Cia*+$vLPyOaSw? z7a7949dpTr4)_WEZQb3uGFkkosJj5HQMV&Ia)Nmw6F9szx zIV+8&Aqip9p5(kk03VOC+nx2g^TsDX`S`(GPVQr%y&lJ0+_zZr=I$PF;Nc4=uAmcy zFfCjPNn5xKSz5RqqP1{B1a9H6*)lP0f+U7wpm8OvEnJ{cEy_a8FF@u(9B&G!$!qtl#FGblm)yOuh0*sYJH z$d|Y$jyYWlooA)v#@32h^tN;vf()s$A|&)Mq!FF?g8K%1iU4YtM%A9~h$|GzpwOt9 z3C=bUCNd-E{pz45%U^#ou+Jo8Ah;oCLFfvVe?hr=hyq|4G0rwe8suf_8w6AWQAuC| zh7OT39J-Z&f04t2<;0-SJdg;2$ulgWfuxryiD#7X(mLEf1l_|ZZ6F#5PP~A0u!k4| z+LQHwrFD#2>?aGcMyiDw@JA9s#0T_{{2i1MPBzvfRF;vS0_RP zS9PZ&DG8l@)CrmhOv)d^pssZ$BM2kG zOodLo4nAN=EA!GwrALTVUyz*fU?2IIach>zkiw8K8{84ldLW_zW*0=~URoA?FsNh- zLD#Kj+&U$h;JBS+&?e^}1_kV9!l|SII{WB_y7+20KmkvwZQWkRe@|jDt|=M9h%hU{ zI7+K@g1o;%*vXuV3Bd90628dSO=kSCBpc&tBST}HkTBCA056%xDTjicHWG`{rEd_N zS>2VKMOgkb4mc8racLmTcRSKFFcAViLgNQ3ppwQZIu0}fl2H!gPuCKYA&;Tt>sMeB()F3D2*n%cL$0>MnZX5i z13@UBjvzB|J95qJbSL(Qz+9!J^KuKprSo zPuJ|55yA*C6No`TLy{*LpeO|(j%EnLK{}GEVUrKlleN2M$S}mrh8G?h9IpuHrEndS z(jn$LV8vuna=tq}P_3S>;h6~#uM+YLNTXLy(glPqj6mMPScuvf3zAyK0@4;(K#0Q# zi9(oZX9WVvP33K5*omOh$WSx8+RZcV68!DPj{Py zo1m0f9t=9V$ur^@VP-`j1;Z1d4OeKQIB|ev6oNX(<6k(VD)r=Tj2Utau`?qZ0LyVg zz@daVi0?i;aPdeq-kqZSfON2x8NoFsGmgX)LSnCa^uRr_fkKAZLv6?HVvr$rq1rJC zfwgd91d`C0rrJeNqCE zv}Ea8vql6)P8kwNfks!3>QD?zZqNa|6oC-E&?kZ!y8`9w$(l7X2XL#)!AY67(nc}sd(7{%n;9E`~ZL{0~(nC zAhaqw!gG}7hR|goVM-EL?$Y|ex2bL0ZG3>4hNy{+qR=;{MyE7SeSHak&q?3kdwcOx z#Z~b;;=S|uwjcoQ!|%QKy!T4lwew!Ug^O34NpR&^xXnU|{~nbOFTE(Z*BSToOPgm3 z57`x!DseCTOR3)g%M^}9>b&mq(7Qr;C1s&Jg=gk>^q*^R;s1Am6Lm|8iQT;TcTMd5 z_M@NOyu8>t7R{Hw6fZ@T8bULLX4ZBeH4vvJJP4JKg`wuPtf}pMcrP2g)_3^Nn-`@Y zpGomj{FDFT!<+cb@09SdR%uA_h6)rH5L;RLG8|I_4PyfnX1|y`IU(p~;2R&yziVB= ze}Bs8%-+(j_-OQZV*kG1cNKW9y}k48-Fay}U3J$o@rJ8!F?~2b*fBVbLp$)`yfKMn zxq>>arz;D{yzEQ+%Hj}%Nh@a7Ka{*T$HnmCYi|>x90-fu2qK|o&yLJmh4I2WU02-%N`C5G7Xt+Ks^=!W4p{wF`UqIL$BwJCdv!JD79x zO9sP-JPsBGIl3EVzwBRv6CP3&5j!K4M?x+*$;df8v!gJP$RS~2X&c8RgyWD|oR=T< zCfvd_7n~=Pb}8gEaeS)U#T?{ev1@z~K)I2A)?p4+QQJG@pCcC8{zPGv<~d}5 zokSs}tuE zo`r*%f^jTf84i6*2ysc5{^88}D3Fk=TU;1Rg1$&KxC;jo2qIY{GC+Z>b71s-^{2*D zpJFHgtW3MtP@w$>RR{}NG7)2VrRct*BCM)_>rzi>4MT2ehFV3dWPDkjk;WEe}AAm~um60l_H=&%!~A!Xz;!GDQf88O536st6j!oV(Td zK(Ve=kc4O9phaOxn~Dt6%sGIyfbuQ@L$*#(&H4oQqkiMoS*3ufmuTfB4UBKzw^u2!k%aUfbA^Ky zhZcw=gu;o$Nj<@UKP(!rnG?vpE~KFBJu8SS-CbgX@3C$LNW)41=)L zh{`L?TF|7+_}n*TLs>JP^jwwIq_GQV-$50_!j?>oc=?Jq6%110G;&vR5B70Ke7(`fNOKl& ze?cAE!YTt1Ef*O`s&=+D2!K%AR`{XoiP?fL|8?#yYvEZqD1lhhl93p^B6`V0|H!@& zq1s zB#^U@$dZ0sd*Sq)KCTBi3%NjTT#Q_c6+8zAB@zq7EXa^~nY#%bQszB&Vsf@G3d@$1 ze8sWj56H#gphaR!n-W5_L;-3Yz>u5N`=ixe^`AEjqXW?tIRW}OD3Ms!W+Fp`>mpzH z%jT6eUhP+-hy{CEe%J9RF`mzZ5{ZRv7BZxuCUXW>lOfg754!@O@PJENgyEQy3Bq%5 zP$IFxxfxWL7ra4)Muya)`Xyd~b3Jx1;XOnuXXJi^LWzZp6&W%E6XNPo8&lf!#UC5x*gZ0>G`Wi*^U>i=5|9Y})<1txkpFtVL!p4fkIFgvs z@4zJ{C`<=)8ypdcdh?|oQJIvY(@^{|sl_rSV+o;HB4$hKo1>PdTq|#)RHD183q1&+ zRL|`}3E9G^ki@c2Wc7O04}@Q$Bc}M*WhhfRdYz+-5>W<;CEQ z*{*n$Nl0F+j0Nd&{PWgO!nbg0G(3w%Mu~9ub5~FN`AhzodifZ!mZ{dP!t6{?1hH_v zVl@Fo1}T9fV{@;+lFt}QAG#V`*Re(nVd2?0C^B0XwTzfoh^>)g|HssRna2{2aZ@XP z81iMWm)-_NzzYW~7D(AwWCh8<06J^$e;Kg;(<^O)`<;tQ9~>x@@GKm&SRrRDk^Oh( zDXdw3{Rwc9azXOi>h8Of60kQx5yrwXi!vmiB?nQlGQr}YPx@O9;G|Z&AmAEWHNtan zP@=J<%}`i}M6aRXr%%U$-N7_5cvauN78A)alP;D=xVoGc4p}s`wIm@xOc1W%z`ON+ z=9oM9z$x~%Ubj6SOz?ahlxQq%v*aOpSK`=!sQaCiOu$bYWSH`&0 z<29)r@YmyVX_1qy2|Y@iFk%ec*mq*h+l#;aV()*C7HO8*c#62k9(QfR4E@Rv#^ocM z)HGFhm#?00L4Qf!1iCefvkh>o1I9>~ndXGc0j0TohKCCt%mo?eg~%ROz8oFANAHdq zICdQP3YE5rIt`jYSEuyA#32+dzJr$nrs$-tGe*QD`Z|llUUn6$FYLVN@EFL(9(L`) z-1d;EHjv6U_Vp>{sDA9a{D+eAi%RM}9Mndq`B@K2wL>7cAv922Tu@oGC|5VqV_lsL z^$OC7qs(#R_5W7z0a4+p_1S)H;`Y7x>jpS_aFPKfo}^sh)A%zyS)oZE&e zQYfRAIMuLuk7MAZk!@T@#Rl~m^P1T%Q1348;f3`1(%B3Z#m&U&d<8bEs6R1%VdsU6 zw)%a{CGZ;`FDpWTf33)5qR%b1$bkV>b{Qy(^Dy72&yj(v#hMu%sbx`poW=edSCCAH zPI$M>$If0rnXaOhZubZv6V(6lfPNcLB-Sg{PxWg5s+E!to$+qHjyyj!EhINDfzxvu9oNqu0w8o>SIU)WF(Us#*s4EAm#{}8RCpn!-yi6i*n92o7v ziRNla&FYQtl)2tu!vB5TKZq}|6uft}UczE`h%F+cT_5fscTU@PQ%N6GP9677!}n7; z98FF&?wn5Xo4fc7p4j{Itv|Ryc(eH~kUk@ZCQQN?) z+Az_59}dIg5)#lkUe5o*Pm%QidL4y`Av*?~R@DiC>e+z&jH(I~C$@d}ulifxcZByZ ztOr>LpmKM6$c<1l``Z8ZhgMguC`N6|8Q?N5i;%=%KWrUBdH7o=8nWOq5+og7c>c3G zK}gyV#daJ7o7@Ch@aA)U)sQ^OpVpmKd-zsZ{NS0ru)JsWf<~OEDB6)=0ecep=R^GP)%d(#C=O_`06x z?5~c^zItIl^Sq(E1y;|Fmeq|=*tyORW~{=Gaf_=>iSIi;_Q1m$f6iR)m(T`RT?lw6~_1^)DR%VBn&dQJPkbj-lCL@RPb>uwbwi zAu>*S{%@Hvc7(SAV3O`HJojNA%Jo`Oo1?gsc0O@LJWJRKM%YR|Q&$Y;=Gl4S5_h$~ z5m1SHVZ9s#7kal+!n@IPe|#AH7PryYW4b>5q+x&t?5aQ3`U0bL$6=f)dr`j5Xxak= z0C$CkUhYzAFPofL+&PWhO-+=hZ*4JDsgbz6W<(gZ|;2C0+Y8 z2N()&SFqBC`=^-jDP6|oJn1V59l&H;6Ym}Q3cb8{CN``XTUPvYubZf7b%MFoy0>lp z@6$Wlx;=cVe;l3KnZVW-Y(7dRrXVA}ptr}&`2#3=bzU8RoJoc9!gR4#Bbe~8dAtn}8@dazIbGLB@>grCeYU}o+g$9k}+X3z%<|)OZs$ce&ErP9en3;K=b4l!1oBUC8iOLK7c`W_ zFSY*S=5Sxt9+}$PKWXmxeDc-j`@om*-@dmgb8&A!ywnXYxVP{wyvDCYXs$4~%LnN{ z=k#@$HQTNe5C8vNf6UF;3>*yN!MSdJ*?jDCR{&+iLG9UkGf%|w)_f|EKD-;j+%fER z*Q=@eQ?mFxp|n|5Sc?2FT$Qfr)XO7iW>}8g`J?U5rZeALFSwzK`opf3vhaJH_Lc@- zNRqMs{5I>`|GRg6FDU(itY#lA#6V?ENuqYJjST2d3fAif1EMq5$@d=(LhhH?n!V zG0TFF8%J8zv0~qybT~Ub>$5gnd1DLykDYzlx8GcN)ON^Fk*lNPw2etRNPTtv|N?_9IbYt4?1t!3ew9?8C@wHR^N-_#bGl<=IKH&=>EE3jueen}(987}c?e(^b?I z7E66AM-6KLGo^(9g>DF!g|~RMnR#1GW@uCj>SK;Z6!#yPPibOuSc){l1G3uW+v443 z+phjYUW&6FkM>`sv+E6n)EIBT)*=N=cq*5+sG*PEWrr;e<#stzkzFDA*3`1TK=$l* zl;$rL1?-mAOAV7DtH2D^nFU1x34R`wkNJqx`RhdB|0VX8lmpZu2=!fZCkO^LVfG#F z=4RLS0IO?-p%QT%pJ*g<$mXP05FPgjOK}; z-X;>sfk06pBgyQSTxQsQ9>xOJjo{;_?JS`LX>L`izH^q+{p?+u8w5rdhQSzkVzGnu zpDN1YczkXI4gNh#b`=A?eyw*_N^!NCSsmu|*x`i8Q?w$jXAJ?`A+1yDnF^7hB_QpA zJcuLR24Z*107wcICR!sBTBbCJMI?qhEE!m>gB9Zi?bn?mVU+?KVjxOOgcWLNiBT><108tUAMPnwo_%-sfKMZtjBzt!6B`ws`Tb6qJ-%E!O=?LXZ0ckf95x04#Fek)d&E8o3%Z>4{TX&Vy~0&a!g zSs9c_F5_M&n9N9lrsU7l@%I{S6@kCCxNia<`h}+JKL;NVcpLekQ5&)Ny(OMgsSuFT zuB`IFy5Myy&QdpKTS;}TKMq^2|k>PwqQLVH(iGgt^JO=w6dO?b#AO%Rb$n)vSid-DcY z!Mo_-z<7WDz@=!k`h%k;G*_53dy4H%2+Aq<7$bD)&eD@O004#^4?tDW(oGpYLtIJ& zqs|)qduYW2wBL8z_r{#P?AQL-z(-Pvef#g9S_=&^O`S!>Yt$krqDT#7kcb4tIW)tt zq`=nmrFdcOIRRk~i3HyLY4ElTe4L$*9p4pNQ{^8?hg%dNoS;~!u|ct(V=b3FAZ}5K zP=aD_#_oQF4)t9Nu(0yb>|*+Li%ka_6dE*VGg4s}>Oul;}^1tjS4WmqFk-F-Br%;uOv?4Eq@qo&StQn zXvxt4%M}t9-I%VLu*BR?{+%97N>g~BsjN8_B2L*&m`*B92tT9vky5iKDsfc@sJF@dZM5g*)Avqe>H= zb7d2$MWR#c6klU{2jAx(=vOm!zQ`$V(uMc!UA=gDmmRYME|;?5fz{*7zS$>cmD7ZE z6nV0{c>4MBRsQE!kdD=?o~GF{?Ami{UCcl z4qYM7*IBXpfVO;Amj1UZ>A-<+-}qS`X#W<6n^(ri2J-Ne&Gh%jvL)yr^KbaRTW*a3 z=Y`=}cJu73F@M_*z{$*G1e&1_0?|yr_|BL88_rl-%;jq6r_1CTa=I50@{7RB{xB2c^ z%C6A;%FKMUBwjGA zR0*Rp27<8-bGTv24`MH*>8CNoqfJ{g87R_aS6Y0+kzZ*U9dzl?Vj)S}kcM+KrxTXW zOCHjv=7r`*cZz-qPimz!AxxooY?Z>HAXI26Mk^=8O27o3Y59~&9#3QU`T9Ose)N;~ z(I4u^8_KT8_y%xF6Y2O=^s8v#R5BE98`N_g{)7Yb(ucI@+$2D{E44cUj%mUic!UPL z)cdcUoC=RWb;RGXeHMjjyz8929p>IqTjr4MP)xtM@-SL$~V440bC zX2S@i35t<&6W*brr63K(5njagOaX-$gLjC>icl#HJH4}O=K9n<1mC9VcX@c~NH#;a zm-Sj$YdIR6OZJrAf(wW-t7t|i;Nc*;$NwN2< z6MaauuPBy|g_N|W zcJxD155gp`yM8)=oYI8kkR}ZJ*I*0UV+wLh6Xet;9I2N`$SX}k4r#)2OcNUAQd=k1 zwY@}Qg0%$Y0EinoVRA?o(qtG>QWN9qiMMLang~r~h+H>nA&E3Ch6dN2>V!e}16|Ne zVF-#hWLRBuYGEk0G#A>bnW6C3U6|f*6qT9+-%ilT^{+y3$trhe)kg#x4M6fkd2VTPqC z6iL+DuGTk|ks&4KRIM$<8I;pIqG5^zfE-t=(zZZ!Af8)8VqF)7$fi*;EUp_>sdO~x zl7Ws4joXGboR~Sq@ZHx|B)zdu%@on^YcrCIo63-%!!(PqpcMH~`Do$W*j~xMt`pd-m-CM*PJQHaNTv47;+jGLyg-yn*BTa6nHVPoNdSr zxtUW5&F7`1YdQa(Al()I9Ykl9CjUAa>M$M3r$A2FEhzyd2rU2D@@LXMVEFvDYn!t)_AWW z(uFY*5(QvsYUJ^s5_gUFL|QXN_5Ca-v^($r?g`nsorwi9JgyscY(yn>Q8LXsTKY<- zDr{5fMJBJLKt_;G<{ae?S&agnIfN-dcdVg#2~ z=;|?ySUqAvuS4EsGBpZof9vhs=fx2II>puW?vp^G4N}B3PNxlmb0tTuMrgTKVw9mn z#h$_11CHQci$cVOiw_oPv&zxE8;UeF!%-ci0Z=BwmS?nxaML%nA0xr=+8q?5q*Aq> zFOiD1VS^eNdlA(cV{(i}BsStu!a;KWT(+t|dV*_xRrf%UHq@5>=qiG(MgC|s(t2fs zo=vP?D`O>r+-14K8H+N*$(+KZ9(FTQ(ydxrE;A}~w+T`q4=0R89b8>_27}JTyb5y& zgYv_!eZ~nJl)I=Hb$7c+HZa<7Wg?maxsr3d=IClerPaV0pGng4+na3QsgM@drk8YY zLIhg7{WzOBpr*!3pcEoKaT%=_m~4qg7&3NwX@*@|56eoYQ^onkw7Y#-n@R}`98;7F zi4GgMw{mS%tPin1N{6z^Z?(0SknmJ}6uaGZn{gq|5L2qxk_dT_Ddl%bE{1BFLvNqA z$suh|Jx2i{I{T0^TgxA&4*L{Ee-x@vdqO~ZX@Q{9ghBNQ1!AQ*2q{fMkZD3;L2dQ~ z16$9d5FsJVKaHxKNxdNpwi*Do$7|-Ox3PB@H+EVyNt49Vq%lpVB><2R5CQ-I05daG zKmY)5WL%U81Cqg~G4DUp?Zq}_ZseB9l4DCi8XLm)zLf0CQ7cPA8t)SL_W;2e0GgS& zGbjK_1?&E||J!}8ejoF|*QY0|gm1#15ir~a$iNqaE)no2fQ_uBshYx*G-5UN1WC6f z){MbWLPV-qam0~`V31frV;UnLC?p!m6jCG|q`-_2F}x#qM*zbH05UT`L}dW!4mb1L zqnUCeyKIBdmZ{xyxik=I)2y2_?tc=vl8}JlFPgq_BOjuT!if6+zMh(W5G~w?=WgPB z@#j8=gZYOK|Kr7*_x7!u><7>BgTHY2bz7e?@%J#f_;pu&-jC1u-BvswdGjYbzPvDe zhJ4rKju6LXlplATC-T|2Y#(1H?4A@nJ13tW%NZ{|*^VT*%Ws_UEvLTlch934`x7VU z=EzItNfL%!I4)$Hv_}%Hod;vzCka@Hf8CHtZjCo=^YF3peKB#~%3?F7CwS z{=RUEW?Z?rEK^^Pzkc)C`uVun8E)P!v3cdMpimsgvdSlZ@KskQj{I}xf(zR#&lZmN zSib(x7r5~|ev!LccL_OG&9)o~50X5hCOXLg(tAC0RJ=>DC`U_9=X) zbMnK59UYwO_Rqi{rt}9KxPjm2-@$Wk-3|P6=L6FdFZBz(usLdIj$>KUrx!EA!ruAZ zl9O`d#8Urx$A_VX=Q@^SZtC}oB!~`UStO*wbnIxn=~9nkp;vno3$FZeD}@5lmfT_S z(L|c$v`}dY#?2+YoKkR^7VaEeaO;LMmUGkN$KfiXZxZBK76<9DpgNi#LnKjySeHZL zbR{=~@WjGB`pU8kkhd?cC411ygtp+H>>A~YPU|#&2#;g0R0HILV zrnhk+nP;V%>gS$6;Xm!O{D(sA zSlx;5_sg$urcHmeKl~T!!eK|YTr`^Ar7qf_f+KPR>CMf}J651kKMwNqD z?0uzz9CXVJ(Y-v8-}xAes2T_vJI3}Z_c->FCOd(lvC_Dg^m&<6p1XTJ5BxT3kxS1* zYJ5Fg^c`XgXd$ex3$pL#PDr}9Qu&Npxphdc8z*!q(tCMo$OPW}lj1(HErTJYK#*?A zqH6hznG-RLmE+8HI`P zmj!$F)E?X&eJoU3xN(??pZbO44f=5OKi*V#dyw|$OiSVN!@O)8fBTx7<=0bul?rXR zCSzI3**^LcN1Knky78}g;~3q?-M#o~2fTfAkGb<)+VLmEKE8PWl6+*UpI$QO?|1nt z&*>z$pt4043Km`apTK!;{?%nA2sHl1nfT&4{Kpyb;m$mV>ag_e`DWuAf7~?0?+ev5 zJ!8J>{qNdayJ)m63*A|&{jfZRv07GHCJLy^R)c4&CybE8fbmUanrLlD2Bu{4E0;!PRteSg1mynqj`DRfk)(Cg zGdFYW-clTf!d{cS6NRQtYENr+lPL^Z;lt^XX9-ceqYHLnDs40-RO^k=gsD+$f@43) zqpFVsmGmQKm*UjOc_L9QQhun_tDBy_nZfWJ#(OB+M!Zvn#7}C^@eGq<7`4KN(<9Fl z8g@r47=*{L(S*pE(Fv1Eq6rO5F&!!J*5uWTe!e;*r0G<7C6^@}+tV{Qb0FSeJ)=F? zZSua*w2k&IvHN5O#9Ce(nhmEfxy!p{)pnmQASLr>+48bk>z!xN<=V1LEwLPHBpy4# z{%1GLY^XkdjVb~6wOamiVudrCp1zrY_sZ)-*>0p9yLxInGPAGyPh{ntQ}^%W zprKTQiBi#dw4irX#1pN@6&>`QcZ2qN;SPiD-e{1 z5s>6tr)O5NkFV>bFet(zpWhs``%_i#oq_ME$`eDX2WX|=@)ZNLQY1{3s=uQPd`eZd z(JNK;Mw(P<(YE0GYFUX=HUdR$?1_rG@+i)7=$M5*f@L!emH z#S^VA323Fo@2&-CrMlXqmFjwEP4KkLZjMC}QGO_J&BrwM5Lm|QH(UNy5A;84?mMUN z-^+nRsksyP;gOA99$WO0jSmw){tQbPdg|}cJ^e4IAFe(zdt>O($31pMi-W1{-=etE zl4rXRw>{#a@*pym#@n1PWpH5C&)zwH|NR|f1H{nZ!~f_a8@oK(|LoBlUne4mb2i?0 zMDh2=>W;|yp{Gxd%DMY@gkqFB%c8c2f-xtMx$wVIerX(LlMXOAc0Nd1R@_1OZgy-S=-DS9tAcP>yxD z^=tp(!c0R4;3Z9a#vI-odIzU3xx{-z#n(>i|Ij=fFP#SaPt2Yedi3#+9noT7YMuX@ zBVTR3xzAK%lyfo=60jy_gT&rP5+ zPG53~7lwYXoz(N7c_>~w4d0)bJu&p?;~qPr#lh6<{i!|V8jy?rkyB-5m3-{!`lbckvxxcy%c6j^VkW@Mapi{wHa`YMgE|CQH0Dlz;7`J_60a@U>|g z{0yZvZ>>q57A_4L%D-zi*?1nY{DfP1rlUg$oUhUS{8MxIQ}^8t{OS(=;|s42-Py4p zS9ta4Xq##3`M4&_--W|;L$~36I0h)Mov7>Q`to0C!2PwQo_7p_&*kv*SVR945>{Fh zzoefqTcr(ds5wKRp^5Sl8+r+M@El;`5f}P7>uvq#)^6VGf9@VVw}3tZ}j>Wv2?HSb+a;C}w({Z`Kxvut_?bt23Q*i^a>{(5D2zN@7^t9xo zj@f6M&(+-aZPOFEMYwTc>*0YNhMK6dV{uP!PJez9%z~_w*@yq zY(PA6r@kLsmF6yqlS|o%bg^yU_X!S_*zg*>CF!O}qTX!p0h$79U{*GyJ5FVgW@+|r z78jH8^^L!|Ag_&?DT$`DK?A))@5r4MNSJcc>9a#fS3Xhq0NpKFfI{wV`;v*k|IY%w zO}B`9pu*5$iih|iw`Hlr78czMsHt(=?F*5SUObKO=<$1UBNOS&|J%}AG{fL5ev&6= zU#G?+X`5`sXs1NLKlVd@<(SVgd(9+UG)R}Wo*pPuC^Q&in>GO!!hBL8#bYG43x@tH z=~K#r*rpM3ixcVZ*86~`;2Ba>0eU&}`6)@({g$=A?LC1Y3aw*qC&go!;uU}`TT~del>{b1>?Vls|;cd~^h%XEF;O7T| z^<(w!&@)lB@5hE43$34c9kLrQhGa&Fg?{~o=wh#~f2%Q{*ys55l(Fpl$%y{PSnd5U ze)!{1FZJ`KvL4cz;T+_epZ|{j0RLCY+kG+1e82U;kMZzNJHCkl-CyMX=C~RW+1A&H zmT!HNsO~BNfcESa3<3y8|JCojn%`39wY-80KtJ|kbe)I!cysnO3KklvScFFz+Nr~= z2~%ky$5{{(IpVNbLgnQl=9tly+E-YiYWW;5e|i(HJ1H_3AoqDdbDn^ z%A^elqGHJpg~VvzdhWG+fjwYEt6+T%D+=0S!L((VS_cZU$Za{e$pDK$biYaED2?of z2&GVIaM`vJn2??1C*Zn=tlU#z4y*CRF;5!nOZs5Q8+K4|HB9|HQ?VvItE(HE2d=;Ult?f)<( zEb1T1?SVrMj_YfpG#Y>~qz$d7nNKm66ei9$)}hb+RJ4Es>ThVMD#kICAKy9nEdGWX zO(SgN~YyBw4*we#X_W?q_MRx^6PsheFzDcmAM^NgJ_s zP|D0;v;mEm3>l&DcD|l^f|7{FzgEwx<|FcB;^(+JE%xme9YMC9M2X}P2P)Di!kiL` zvBKr@a%uKtFF$A1W1NTsP$+iNcLHFLNgHu?V9E$#v;moy5E-GcWx&rgfk`xEU@KG9 zC})L-_-Q89h&_|2sKG7fXX&Lh#gSUdG(udaV}noSefZglMX4O)NgO1mFHX}WC2hys z!6^`h(guWHQDle0sk6^UaM(#%-3k<&%XqX>=yxV7i-oC0FohOE5Vbo+BqgG6=2WSw7ze-v^I+`&-X$u> zhC$i^)=P|xU;;?Sk9+b`RLh4QE7lVBrwrw&ygAm-+Y@k68!)L+BDAja01}G0w;{x z$}OMR7fkX{3zBT})FQ5uQwg79QRD^7TE2tvdAx?5VOAyR+GD(e+u&B&{Tr>KA zb%5TEf{$syKKh!mNGvdbYb27f3P*ezVBb2;NYbWO+Se42>4h|@kW^fP2sd$MAr(+0 zyo_|fcgks{#B=L zfYm6J(@^tk3Q+Zenp9OPv`L3E4z(Ftatc;5NwvvC5tN}a6_PZ9GpmY-P{YDiV&L%7 zqjrYEcayy{07#L*M~S4nmYSu510)S;GLoTExI=Vr*S7W1RgH5wHQ43UG0&y0MT;P} zAyWgPh9d^K%ETpUh%DL=HS!+INm#pv4fWL*OF6>93d>CzPTZLF0s|XHFLN#B>jnlm zj07^8AzFMxlg8X{Mf)T`{RT{f>KevSU1Ot3f`BXt8jCkt>lN~AG=X#Hw~XiIpI{yN z1pTProoSd;y_g5@ZuI|UP9_b#?j~_3NCaSG!br*IQ`C@l1QAJIBrx%0kokp1^9`jM z!oP|RID`8QvIbN^jG-#XT9Z62^B6>mLdx&Kd7M2FFe-+|EaNTJL4u##Z_!9;wbd!0Jt3kQ}cyWTr z4uzrS&n7`h9As`QC0G&yXr-O*EJTVXMX=NHOEAqMhANT65(v~Dj5uXe5#&5)uhDwt zO{aq#KO~rz8S|eZ>-ebk>chGx0l)zgql5V4P1Cm&{)vH#23Q{p86oE(GhR6vTQ<{5 zLd6Ih6@e2kGvzkeRI=`=A<3CJ^-J*o`Bq~Mrh^`@W_2B}VR41Q1~`un)seiKEK)2u z0I6faxa3XK)fuwLsLqbX9m#U5lFC^Q;!KH{1Tw89V+~@P;x!DD9d}{;V1W7NStZA- zdR&S6Gp@z-!2t5nvs#K*_gm3E2T;KPpWw|CMRjje_BN4j6yl4RAqUIyw)he z*~p?453#@Z^~|UGaS4n6!2t5jvs#W<(zszj0mh?))#R^cjT8kWpqwlio_y7;I^!0( z)me@hj6+&RLz1GsWRTr47%R%+jkYYuuhF0wq~iwz$v394I+{u2wn0xUmDA~ClTJ|5 z23mpv%E!$rGhUIaon?zrBG>Pcwf&AM-8)tzBv~;h%2Fps{McK;80E}+jypm7Fu;6s zteWH1G_I0#(b##RkEW18EdyJM*lT2{e}-V=56SU5$(XXqR@y0^UuniEG=~{RvPk5K zh-6e-IVY3o`PX=jtefgF?mxVm)p@*{#&x2OjC)D_Fu;6ttfJ!8@s`m)DNw-xpWw|CMRjjcv=MWomU~b>nvq^DdmWA8pmTLm)QS$uko+lo#|K8I*(VgxQ^7(7Ehok zIv80#YF10}e{Iw{3~)XcR$cLGT%9b7jOsaLFy-Qs&JY+|tK`KdSv}5S8u?%U1^<_C zP*!O^k)qXnuH#TFV==)1^U<>kidTw7tOXdLd@QWWQ)$*lR$M z7D@z^d7(-`Pz1z@8BtjYAY`?iFgv5TjbxN@F)^&puTb)Z8~9%QzRN_pNq(VkqBM!( zk{m+c++6(aQPZDtiQ8+it=|KkDH27MRRK$OrIF>2H87EfRlJs2V%CM;Wu`D@JA zV2Jt5fGZFX0ssR5Gc*KH0AOEbUDUz>X0S9y-SfBKnRF|dZF%OFB}>RwV3MA~$?hBl zl8_p+OA_zDVEO=n4AB|Q0DuA%{R#G0kzO|c-18v%R}v+B6Mn+C?sF?J0s{tMi&-_m zGT1){9q_c zubqoMR6a@l|Nnk+eK+CXmwrC=@PehhoBode$O#2@%e9hi1n>YUDnWx~uuy6A4k9+gg zzdV9BTlb4MA#dM#$xqMxZW*~FkveX$o`7ovLW+Pb7bYw#hw520=cx-HdFW!^ zul&EZnlq1F*Os%}$u-P>BjxhQg`W=1YwPCV#MAHHzzOifr+#k(-@A704&LYE?o;zW zZNIBOzWE0?+P`-1JR189_UdJkBN0ZgdM_0(hfiVE47BV-ds>9hLv7pc@G4gARfMEpszNcBG-u5Q2pq z5_!O*iP4;+j=~z#Fa(28h%wxP(9-5{WEh04LO9LWY8K#W@rdGyjzhiC9`piT_KU4g zM#orHWR!G~TO%er)C|GXMi3Gqb|ep^jRAtCwFD~Su^m_O#!u0 zVeDzaz&h>3gk5**nk5_w(mK37`y=L(uBJEty?@2sr2LP_u~Ego1hj4Jj&ZG2BM?B} zp`Mf!M`YP%P0q$j4g3GpmN!Y7MirsP6HG*UcZ3cYc9Gwy3&S7oq81S4io9c`XmPnW zf8U>KS$gyJNfW3g0ola=smWu-1lh!}SD~t_prP8AQL@|vsYMT2gBI@_nGg-}i!ID^!vZCo&JYcc@m8TeEQwONYx4DQD+1j|x~yftJdk8Z6hY znyf)ex1-~B*M5Ya@P7(HN|){1>u_~>Cgw+y=~19+Uh0go8|)TR9fUp*gOP79pxc3LVy(W z5ITmeI#j~w&4a7l1XD#Y@`rFcbg4az|MsLl>L&g(<WW)$iz3N4<=}8G$fQ9wJ<8PVF#kXz*o?W^7@xL-bQOs-@}~F$izLW z)E#FX!ASbjH5POo_QG!Tzr(tzPfa53x>V;rhi~w;oTSLaHIw((2eqBmdHV8-Jh=9c z>ZrP=e&HA8|MT-Zzp&4&$T$1wQ_<>iJnI3PUvuw-&Li-;e0;E%FiFR}SMu@9Yw~&W z=S2Oh(7)!+S)URIEbG+V{O~WYnS))tEv(l(z4_l5{K0enxwAwQ)W2usLt+2Rcs%vo z(EoQnEv7%;^6Hdtw^f6t=)QPRy5^tC^YZ>df6hMByH2F;Gr#i8hJ1ssdE~EtgLUxp ztNL>DkH2o1@<+4q?FaQG_g`ag<^Jezc~H70pUcmq<&oHU8C}h3v#4ZUpWl@Grg^Kg zf#T2z+b~6eM0W`RjrQFy9`XlM1g8GZL)8-hYW9YHv#uY|xSy}^YR$9m?jL^PG?fVv zxvmD^Qd79E?`G@6=R(1)I4K+)jV`48-FSBXqJOMwzn^&A4V>?`&%`J9*@^x_7k=kV z{OkP>ZYZJuWSMo%|C5Z===?1#^1Ju9moOmzC3n|9e`YHnZ{7;*q5G<@A}&pZmv#GB z;gBAEH*Q@UI=yF}$urj!by>dnix*?o`L}f6SzU?Wnj1-LtJRnkFaf$;H+@_#`IvNG**`2%q>w6D5~eW1^YL zN~}%gUSipop}1#Fbu6N2MM~W1zed)vAbq8&Uwt&GE~R^szEd4VP0f#wwY@v&qTY2) z;*$jGEb;ixd-ShK@wb{rpW|!@DEL_O8khG$KtQeu?YC0?u_lu&i8aO#6=RY*{WO+3 zn=|`J?xd2Tw_wn=qm~{{-+Q*&Wgm`!d9LC@WL?(yk8I2mj_?1VLk|QqXNV)h+dpxi zmw10!M_mEk(*SQ>{_kPTmiYc>uK6VnEZ1gr67Ono8VoIoEvLD3YB=E=OMPzE$QB5C4Z& zY6emqAzZ3BzV}}V+=K5K^4Cp6(Q&1Ph&!=)`>Wc$-xASpYXW?Zb0I|FjZLdxyxutX zn0|JJ{Jn9;GH%7hvBWx-L3F{&b$2npR<3ZR)w;RX1dBm-?m+gtt8VYHwEv6lBED;q zjE?y%QrwNrFJ7p7`_m-v5dRsXN#LH z0%fG;?Uex&Qv(bc{-D3+D6mlbP+F(c``*W{jJel{#Ea;-(8AxH50LeE_Tq{9w{KhT zF8uI0--hqQ;afHC_TG=W&u_=~56*MfHrd7{8(GE@=~x-fb^*n^V=u7jwS{)==Aj3$ zWZe@6eekcQ?7{n{|*3QqqexAlHi%^M=ERD0a5B%}<3#H%w zKOA2|NzbR`OAM}zObldcm>3<>Ky=qGB2%`q*bgTI)^ndGP0TZ+Wqc5g{`;=rv&Wq6 z^&}nZ$88oy_ibx@MHsxs$6h5({Pq)T$K4P<_?v5djS#!Wzux9m`EUv`dhUtAmT|;L zma%g>{O#^7Vg6>E*!3tHwii2)lDe3@;b1k~b@Pv1+gn>W{PhWI$Hf*#_f>0rJqx_X zuU;ih{PqoN$Mq0C_?v5dg%P{Pr{3mO_;3{>^xTQjmT|;Lma%g>2s}{&2lmKicyF${Q zF0sinmRQF!drpY~lU`53D9cN2HjmDy%az91wnBz6{Wik?v8#LS_GVXlO-Olmy!Pkv zfqs*%^9wUNS?uH>%15PN`iMZ8fbGyTDFaBIzG~a|7b@rPdS!uLEinrNN%LXe;eB zQYM+z{>se*W|iXy`U!|$pCb=l1op;m8v6naxBPwP)~Kn>$dr$!31N|Ut86qdhR+{* zN4ayBWQ%^;?4BitE*XT93lWbwTHM{0EK-8O@t3YLc5;_hCI8ZQ2J}{m5o)s>POLr# zdxGd2v-k{rlHN76gxYz_$_DeYp!rNz*U!wHBt2w@b=eQ|y*N&jc4Mj}ASBA8<3dfH zCr>`MtE_g&msP=7gcsvWaWO5W8%%@?I0j`q_V5lBF&Vl1UNxX$$Xiu*7?+F46451+ zS){4S#lMro+MvfD#{RqmU-Cj zljai-<2d9cDjQ16=n8W^jkO*%kZOlf1gF|ks|khV^`ZmOzvLl3(M`Z7Hl)+hU*{4!b}?2+)xYJIa^r!8^F&n!Oj0kvmc z`uU)_SYge4$u)^F=?9`v|Eo?N=%W9mimzaMU``oy=@AKfNp!*UaT_JnDoH2}BbG?I^XH9l2iHXvk z`4mEZ@9zGA`cPxTdX1Bgh0!xl&N}UiZl<%V_^#hOWf%L(Bj+JJ@%n3^{_dRCj>{Xb z_c$oBzrHEkjGtw!}i5v2zv9eC*l2o$3JjZAQ>|oSd2nU*q}s zX*$!dnEZT(G9py=ze2}HG{Zn=xTbU0MB))a5y?aZ6H%aZyrf#}fKrsSQ)q)ssuUD~ zE`cM$?`J)p|N3Z4y?~2xZ9uLG+xho>{5^FKZ z!~_#lKyV5`mSd#yIZE|Zz?i>*R*V*&JrjPI^ByvKT2C2C1boO7;(r+1w(Ypj+QLwmXd)Mmf&b%5QT_K^*1yN^5 zWZEG@`>S3)>AqYM%>jy9fq_v3>XcJv5y)_3)ZU%r*j07<+%?_TnDUH>(5MD6GPOqq;2om1E%1_c{%`eXr8CK;bUj+m zCFjU&Wef}|V@osOE;_ zi2`x$yBv}PG}vfjXO)lgB?x#1E7%xGWXCWvLP=-^yfDdoR5n(P7!M_$WU_K?_0Zs? zfOMmr-~u6ZfrSQ74LTB6_)B(mB6^9rcaa~GL9HRwB)yz46APCFB{AV+S_gi?Hi?c@ z6Ccpn%-l%+g+B;QJnE{z2!gd^U~8y7(sMXyLP(L5PC7?lNM+pR=|U=EBX-LFU!|v5 ziKgkgxC%S2)t;6VpwY<8(}75onqyl7dYwyc>Al({oSu_%AR={5h3Nej0IIBs_~-;j z)=a-J|IPi!)Y$+crXs<|h~(==S#18M=a87oi3?|E3*;z(vF4VApw04pOB5bDXyBp9 z7$7)kV`y%f6>_iuOk4-|X!;v?4xhN&JIW`Gqr)plZ~NcAoA@Q|FOuBVlmCD|x@H1Q zQ_O=Py+X<>Bq6qLiJhKMtRwrX=+7&G zmUm*wPru-M_icU{^us!eKWdKaP?~F2t!30ZnPbT1hH>KnaJ8OMx}jnmGJ4Kk4)a#~ z=qDY_oiv=lAW_K6q(N32Ih7$OZBMWrdyWIi@jBJoe`-lzXV*^sv7ETcj1w>iAnEp& zfU&?;5T;BF6k7>YF{etb3tQ{99eRQy&zi$}y`8$`;A>dmipjt=3O_B%(4IVk>s=pf}No~ZY@$%qR^lMA0nHmwgmW{nh^y> z8vFR_{iD(37P~PE{D#3)cq^!ccpS8@B&~fZM-$KaXGAhBqoz+u9+Zhv10+hg6hSxx zD+`Q?lm@bb`e-TA=&4gly^;%*7)+?N6U^HfzH^WkQEoIE6=k-m$@{&k_bVPzim!NL zP$$NCJ$)Q{#yrI4jiaMM$ z533dB2E-hbuOk+wBfWLt$kZnA>UVz`O%Mrxh8E!DJYEhGt!+z-1pk6P-&xD{=uzg? zB98k%`JS5eQ1;L|9utFtuE8LCgkQ)Ug%C+!z+uLJ@PRu^fzPDUlFz{{JG%*!P5CNB zCyMVZ7$d3kamdUD)1-uBwPoSknT}J?{#hqk0;g_g;RZDTb4f3O4k6+)Opq8TdFba4 zRLb2Etq-yK6lDjwO0J7qX9C7>0xGKbAERgRA|wJGS+Nl_QZUpPf<@d}yLit2!y`QL zrwpXOQ&Wr5PMGshO9fz3?o6gi$gE0AoWz1}AiXk*N*NM!9$2`{lVaS@$j8u;u1R;b zKpm`Em`NQI6+*Fq2)&?b9V1huP+FK-s5f9@ey_6CI`{NwYHDAHhv-l?X_p>?B=`oS zp$33c35@fM;t+)qNOD-)mUQK%)q;7(go+&< z@Sk@`Y)+-6ctbGWX#m`vWaAd1t=*6 zv?k>&1bLX1a_?u9(G&lYS{GH3icNMsO;4amASLoN!J4KWUNZl*Mh>t5t%G?%N>x>$ z1o?^-dg@eFq2L-7;*`iRsRc;qYO)3*fisr|Dv{hu2wNYIPOpUJfsS>}xT`@hu_lLG zBI1t-kU7bIb}3SSbVZm)c4Lob@nH+lbdPB*T()A~gagU@ADLa)4Gn zv(@v2;-QEsk&_YDVHr2?sBsdJ%1xRinTV6jX$_8gkT=MR#uOA2wGJXbyaz#lIC}4U z-qFv?NtU2fhn!93?#vUDhIU+OxgKY z#!TUOacNxd(v)+AbX@d1)rrk9*m(%!0ZAh{lww{Gqd*YK2pqQeW6DV2ma@^k+tE#6 z3ecprP-@rAVz@wKdc(uq%Q0S2SfQ#;hmLr@te<9)Y=zb&4QFsf0MLSiGl~O=At58` z%LxX9*pjMFpN@dODW+`sHI?8S2$+M83jq)kz{eJ?IZX&9g$#BXT2l|85q(ok+45>C zr8sboamoTcnu0updWQ|ch*AilPp?Z7wC@zD_|)Ymb}~ZXgbsjG4uzaKOn=;4Yzl)4 zDW_OeuMF?1VSDXr{v7Z`*zw)}IPXfT~VKe@C zu7b9)J<&_F5dsgOkOf*$CtigiAbY�D;zExHlzMY%HEQOB^3%0f7xckTOA(GphI8 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

    5Ls%rQsTvoJOXB=8USWf2-1vWutzLXZ%2u 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ǢZes7H>-nVrHv=E$b#lNQ@v%IN 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